Locale

Change the locale of the datepicker, schedule and client side validation messages.

Language
English
English
English
French
German
German
German
Italian
Korean
Spanish
Catalan
Dutch
Portuguese
Portuguese
Arabic
Arabic
Bulgarian
Czech
Greek
Persian
Finnish
Danish
Hindi
Indonesian
Croatian
Japanese
Hungarian
Hebrew
Georgian
Central Kurdish
Khmer
Kyrgyz
Kazakh
Lithuanian
Latvian
Malay
Norwegian
Polish
Romanian
Russian
Slovak
Slovenian
Serbian
Serbian
Swedish
Thai
Turkish
Ukrainian
Vietnamese
Chinese
Chinese

Input Style

Themes

PrimeOne
Saga Saga
Vela Vela
Arya Arya
Bootstrap
bootstrap4-blue-light Bootstrap Blue
bootstrap4-purple-light Bootstrap Purple
bootstrap4-blue-dark Bootstrap Blue
bootstrap4-purple-dark Bootstrap Purple
Material Design
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple
Material Design Compact
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple

DataTable Scroll

Both vertical and horizontal scrolling of the data is supported with optional frozen rows-columns and on-demand loading features.

Vertical
NameCountryRepresentativeStatus
Claire B AlbaresJapanStephen Shaw UNQUALIFIED
Rodrigues P PoquetteCanadaIvan Magalhaes NEW
Jones W OstroskyIndiaAnna Fali NEW
Cody X PoquetteArgentinaAmy Elsner NEGOTIATION
Stacey H RulapaughArgentinaIoni Bowcher NEW
Antonio N AmigonJapanAsiya Javayant PROPOSAL
Johnson W PerinAustraliaAsiya Javayant NEW
Smith Z SchemmerCanadaOnyama Limba NEW
Sinclair M CaldareraJapanAnna Fali QUALIFIED
Ivar Q MarrierFranceAnna Fali RENEWAL
Mujtaba D MacleadJapanAnna Fali UNQUALIFIED
Johnson E NestleArgentinaElwin Sharvill RENEWAL
Ivar Z ChuiJapanBernardo Dominic PROPOSAL
James J GarufiArgentinaIoni Bowcher QUALIFIED
Deepesh S CaudyAustraliaOnyama Limba NEGOTIATION
Octavia N MacleadIndiaAmy Elsner NEGOTIATION
Munro O PaprockiUnited KingdomIvan Magalhaes RENEWAL
Antonio I OldroydCanadaAnna Fali RENEWAL
Rodrigues E SaylorsJapanStephen Shaw NEW
Ricardo H RoysterArgentinaBernardo Dominic PROPOSAL
Jones Y MorascaArgentinaIoni Bowcher QUALIFIED
Costa A StensethGermanyIoni Bowcher NEGOTIATION
Octavia Z OstroskyArgentinaIvan Magalhaes UNQUALIFIED
Murillo H GarufiItalyXuxue Feng PROPOSAL
Aruna D RimSpainIoni Bowcher NEGOTIATION
Ricardo O InouyeUnited KingdomAmy Elsner PROPOSAL
Maisha Z CaldareraFranceIoni Bowcher NEW
Leja P AmigonJapanElwin Sharvill NEW
Izzy K NickaGermanyIoni Bowcher NEW
Tony P GlickBrazilStephen Shaw NEW
Misaki V MaletBrazilXuxue Feng PROPOSAL
Murillo Z ChuiSpainOnyama Limba PROPOSAL
Deepesh O OstroskyIndiaOnyama Limba QUALIFIED
Leon Y VocelkaArgentinaAnna Fali PROPOSAL
Jeanfrancois D KuskoUnited KingdomAnna Fali NEGOTIATION
Jennifer C MorascaCanadaBernardo Dominic QUALIFIED
Clifford C OldroydRussiaStephen Shaw NEGOTIATION
Aruna B MarrierBrazilAmy Elsner UNQUALIFIED
Darci H BriddickUnited KingdomXuxue Feng NEW
Tony B BologniaItalyAmy Elsner QUALIFIED
Aditya W KuskoBrazilXuxue Feng NEW
Jeanfrancois J ButtCanadaBernardo Dominic NEGOTIATION
Kaitlin Z CampainCanadaStephen Shaw NEGOTIATION
Emily S BologniaUnited KingdomStephen Shaw UNQUALIFIED
Adams F GlickRussiaXuxue Feng NEW
David E SergiItalyIvan Magalhaes UNQUALIFIED
Francesco M RimUnited KingdomElwin Sharvill RENEWAL
Johnson Y BriddickAustraliaElwin Sharvill NEW
Mujtaba K TollnerAustraliaXuxue Feng PROPOSAL
Greenwood D WieserArgentinaBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Rodrigues J CaldareraBrazilAsiya Javayant NEGOTIATION
Izzy P CaldareraGermanyAsiya Javayant UNQUALIFIED
Aika H MacleadRussiaAsiya Javayant NEW
Deepesh K SchemmerUnited KingdomAnna Fali NEW
Aika R GauchoJapanXuxue Feng QUALIFIED
Morrow D AmigonAustraliaAnna Fali RENEWAL
Morrow E GarufiBrazilAmy Elsner QUALIFIED
Misaki T SaylorsSpainXuxue Feng NEGOTIATION
James K IturbideSpainAnna Fali UNQUALIFIED
Kadeem L StockhamItalyBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley F StockhamUnited Kingdom2025-04-24Chanay, Jeffrey A Esq PROPOSAL38Xuxue Feng
1001Jennifer C MarrierJapan2025-04-24Chapman, Ross E Esq NEGOTIATION39Xuxue Feng
1002Jefferson R MacleadUnited Kingdom2025-04-29Rousseaux, Michael Esq NEGOTIATION16Xuxue Feng
1003Leja D CaudyRussia2025-04-14King, Christopher A Esq RENEWAL10Elwin Sharvill
1004Antonio S ShinkoCanada2025-04-03Feiner Bros UNQUALIFIED95Asiya Javayant
1005Kadeem C FerenczBrazil2025-04-22King, Christopher A Esq QUALIFIED85Xuxue Feng
1006Rodrigues Z MacleadFrance2025-04-12Commercial Press QUALIFIED63Anna Fali
1007Johnson C ShinkoIndia2025-04-02Feltz Printing Service QUALIFIED62Asiya Javayant
1008Ivar N KolmetzItaly2025-04-10Morlong Associates UNQUALIFIED49Xuxue Feng
1009Kaitlin I IturbideArgentina2025-04-16Commercial Press QUALIFIED60Stephen Shaw
1010Leon R SlusarskiAustralia2025-04-27Buckley Miller Wright NEGOTIATION78Bernardo Dominic
1011Alejandro U MaletCanada2025-04-28Benton, John B Jr QUALIFIED83Bernardo Dominic
1012Maria I MaletFrance2025-04-16Feiner Bros NEW87Amy Elsner
1013Alejandro Y IturbideUnited Kingdom2025-04-01Truhlar And Truhlar Attys PROPOSAL57Ivan Magalhaes
1014Mayumi M RoysterJapan2025-04-09Buckley Miller Wright UNQUALIFIED45Onyama Limba
1015Faith U GauchoUnited Kingdom2025-04-29Chanay, Jeffrey A Esq PROPOSAL27Asiya Javayant
1016Claire B WhobreyFrance2025-04-06Benton, John B Jr QUALIFIED81Xuxue Feng
1017David B PaprockiRussia2025-04-26King, Christopher A Esq UNQUALIFIED22Asiya Javayant
1018Ivar J RulapaughGermany2025-04-27Commercial Press NEW50Ioni Bowcher
1019Greenwood Z RulapaughJapan2025-04-12Printing Dimensions UNQUALIFIED48Bernardo Dominic
1020Jeanfrancois C SaylorsUnited Kingdom2025-04-02Commercial Press PROPOSAL96Stephen Shaw
1021Adams I TollnerIndia2025-04-22Morlong Associates UNQUALIFIED93Asiya Javayant
1022Arvin F ButtGermany2025-04-26Truhlar And Truhlar Attys RENEWAL91Xuxue Feng
1023Aditya Z KolmetzItaly2025-04-16Truhlar And Truhlar Attys NEW46Asiya Javayant
1024Munro Q GarufiAustralia2025-04-20Benton, John B Jr NEGOTIATION35Ioni Bowcher
1025Octavia J StockhamJapan2025-04-22Buckley Miller Wright UNQUALIFIED78Bernardo Dominic
1026Clifford M WhobreyIndia2025-04-18Buckley Miller Wright QUALIFIED26Xuxue Feng
1027Leon N AmigonGermany2025-04-08Chapman, Ross E Esq UNQUALIFIED39Amy Elsner
1028Munro A PoquetteBrazil2025-04-01Chemel, James L Cpa QUALIFIED80Ivan Magalhaes
1029Costa V FlosiIndia2025-04-25Buckley Miller Wright PROPOSAL16Asiya Javayant
1030Munro I DoeGermany2025-04-15Chanay, Jeffrey A Esq QUALIFIED16Ioni Bowcher
1031Francesco I CaldareraCanada2025-04-30Chapman, Ross E Esq UNQUALIFIED23Elwin Sharvill
1032Sinclair T MaletArgentina2025-04-30Dorl, James J Esq PROPOSAL42Ivan Magalhaes
1033Tony G FigeroaGermany2025-04-27Rangoni Of Florence NEGOTIATION41Amy Elsner
1034Jennifer C ShinkoBrazil2025-04-07King, Christopher A Esq QUALIFIED85Anna Fali
1035Ricardo C SlusarskiBrazil2025-04-09Rousseaux, Michael Esq UNQUALIFIED71Onyama Limba
1036Deepesh F ShinkoGermany2025-04-26Feiner Bros NEGOTIATION56Onyama Limba
1037Octavia X SergiArgentina2025-04-05Rangoni Of Florence PROPOSAL47Ioni Bowcher
1038Arvin L BriddickRussia2025-04-18Feiner Bros QUALIFIED44Asiya Javayant
1039Jones Y NickaIndia2025-04-05Commercial Press QUALIFIED29Ivan Magalhaes
1040Munro W StockhamJapan2025-04-09Printing Dimensions UNQUALIFIED71Amy Elsner
1041Isabel V ChuiRussia2025-04-29Morlong Associates NEW46Xuxue Feng
1042Costa P PerinJapan2025-04-04Buckley Miller Wright UNQUALIFIED36Onyama Limba
1043Octavia L GauchoUnited Kingdom2025-04-29Chapman, Ross E Esq NEW37Amy Elsner
1044Aika W RimAustralia2025-04-05Feiner Bros NEGOTIATION37Stephen Shaw
1045Claire N PoquetteSpain2025-04-11Rousseaux, Michael Esq RENEWAL82Xuxue Feng
1046Octavia K OldroydRussia2025-04-30Rousseaux, Michael Esq PROPOSAL57Anna Fali
1047Octavia C StensethRussia2025-04-25Chanay, Jeffrey A Esq RENEWAL71Stephen Shaw
1048Nicolas N MarrierItaly2025-04-25King, Christopher A Esq QUALIFIED17Xuxue Feng
1049Jeanfrancois E WhobreyRussia2025-04-27Buckley Miller Wright NEGOTIATION6Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Misaki U RutaItalyAnna Fali RENEWAL
Kadeem P GauchoItalyElwin Sharvill UNQUALIFIED
Maisha L KolmetzIndiaElwin Sharvill NEGOTIATION
Cody N WhobreyIndiaBernardo Dominic QUALIFIED
Ricardo L FollerJapanAmy Elsner QUALIFIED
Wickens E RoysterArgentinaAnna Fali NEW
Greenwood S GauchoRussiaElwin Sharvill NEW
Deepesh X CaldareraArgentinaAsiya Javayant QUALIFIED
Leja Q MacleadGermanyIoni Bowcher NEGOTIATION
Rodrigues S KuskoArgentinaIvan Magalhaes NEGOTIATION
Claire Z BologniaUnited KingdomOnyama Limba UNQUALIFIED
Alejandro A ShinkoRussiaXuxue Feng QUALIFIED
Emily J KolmetzSpainAsiya Javayant NEW
Juan Q GarufiArgentinaBernardo Dominic PROPOSAL
Aditya G FigeroaBrazilElwin Sharvill NEW
Ashley V TollnerBrazilStephen Shaw UNQUALIFIED
Antonio H NickaArgentinaXuxue Feng RENEWAL
Ricardo V FigeroaCanadaElwin Sharvill PROPOSAL
Murillo A GillianCanadaStephen Shaw PROPOSAL
Sinclair U ButtGermanyStephen Shaw PROPOSAL
Jefferson V DilliardRussiaBernardo Dominic PROPOSAL
Deepesh Q StensethCanadaAsiya Javayant NEGOTIATION
Julie I OstroskyUnited KingdomAnna Fali NEGOTIATION
Mujtaba S RutaUnited KingdomStephen Shaw UNQUALIFIED
Costa I MacleadIndiaAnna Fali QUALIFIED
Nicolas J MarrierGermanyElwin Sharvill UNQUALIFIED
Chavez C MorascaCanadaXuxue Feng PROPOSAL
Ricardo S FlosiRussiaAnna Fali RENEWAL
Clifford Y DoeFranceAsiya Javayant UNQUALIFIED
Jeanfrancois D GillianUnited KingdomXuxue Feng NEGOTIATION
Ashley J MacleadRussiaXuxue Feng UNQUALIFIED
Tony A DoeFranceXuxue Feng PROPOSAL
Jones Y SchemmerAustraliaAnna Fali NEGOTIATION
Stacey Q GlickArgentinaStephen Shaw NEW
Jones M DoeRussiaStephen Shaw RENEWAL
Isabel M RulapaughCanadaIoni Bowcher NEW
Tony B GarufiFranceElwin Sharvill PROPOSAL
Darci T ChuiSpainAsiya Javayant UNQUALIFIED
Tony N DarakjyBrazilBernardo Dominic QUALIFIED
Jones Y RoysterGermanyBernardo Dominic PROPOSAL
Jefferson S GauchoGermanyIoni Bowcher NEGOTIATION
Morrow P RutaArgentinaElwin Sharvill RENEWAL
Clifford L InouyeIndiaIoni Bowcher NEGOTIATION
Jennifer K FlosiFranceIoni Bowcher RENEWAL
Aditya X FollerArgentinaAnna Fali RENEWAL
Smith S BriddickJapanIoni Bowcher UNQUALIFIED
Greenwood Z OldroydSpainStephen Shaw PROPOSAL
Maria B GarufiGermanyAmy Elsner PROPOSAL
David N DoeCanadaBernardo Dominic UNQUALIFIED
Silvio C AlbaresSpainStephen Shaw NEGOTIATION
Frozen Columns
Name
Wickens Z Kolmetz
Clifford F Caldarera
Emily O Paprocki
Wickens Z Slusarski
Munro H Royster
Izzy X Paprocki
Johnson K Vocelka
Mayumi I Venere
Ricardo L Kolmetz
Alejandro T Campain
Leja J Whobrey
Darci R Stenseth
Aika R Gaucho
Mujtaba S Royster
Emily D Ruta
David F Doe
Jeanfrancois J Glick
Clifford J Oldroyd
Chavez P Caldarera
James V Albares
Izzy P Wieser
Antonio R Shinko
Mayumi G Ruta
Salvatore R Slusarski
Rodrigues N Oldroyd
Deepesh D Saylors
Kadeem O Saylors
Izzy T Ruta
Faith B Flosi
Rodrigues O Ruta
Isabel Y Iturbide
Sinclair L Bolognia
Aruna F Nestle
Johnson Z Stockham
Munro I Ostrosky
Kadeem C Tollner
Tony N Gaucho
Francesco D Campain
Greenwood S Caldarera
Adams I Shinko
Deepesh L Wieser
Aika I Schemmer
Sinclair J Rulapaugh
Jennifer W Venere
Maisha V Royster
Morrow S Rim
Costa Z Saylors
Stacey Z Sergi
Izzy B Sergi
Juan W Malet
IdCountryDate
1000Brazil2025-04-07
1001Germany2025-04-11
1002United Kingdom2025-04-08
1003Argentina2025-04-18
1004France2025-04-29
1005France2025-04-10
1006Italy2025-04-28
1007Australia2025-04-05
1008Spain2025-04-15
1009Argentina2025-04-28
1010Canada2025-04-17
1011France2025-04-10
1012Japan2025-04-17
1013Spain2025-04-14
1014Canada2025-04-03
1015Argentina2025-04-05
1016Brazil2025-04-08
1017Australia2025-04-18
1018Italy2025-04-05
1019France2025-04-26
1020Spain2025-04-08
1021India2025-04-20
1022Australia2025-04-01
1023Russia2025-04-04
1024Australia2025-04-17
1025Russia2025-04-25
1026United Kingdom2025-04-19
1027Canada2025-04-26
1028Brazil2025-04-03
1029Canada2025-04-23
1030Australia2025-04-27
1031India2025-04-28
1032Russia2025-04-20
1033Russia2025-04-09
1034Australia2025-04-14
1035India2025-04-11
1036Germany2025-04-13
1037India2025-04-08
1038Canada2025-04-29
1039Germany2025-04-12
1040Brazil2025-04-08
1041Japan2025-04-14
1042Spain2025-04-09
1043Russia2025-04-02
1044Germany2025-04-11
1045United Kingdom2025-04-06
1046Australia2025-04-11
1047Australia2025-04-17
1048Italy2025-04-19
1049France2025-04-13

On-Demand Data

NameIdCountryDate
Silvio Q Shinko1000Russia2025-04-23
Sinclair N Campain1001France2025-04-14
Leja A Chui1002United Kingdom2025-04-22
Munro P Inouye1003Spain2025-04-19
Ivar Z Rulapaugh1004Canada2025-04-17
Leon U Bowley1005Brazil2025-04-17
Rodrigues R Campain1006Argentina2025-04-12
Kaitlin V Iturbide1007Japan2025-04-01
Aruna E Wieser1008Brazil2025-04-15
Isabel J Malet1009Argentina2025-04-08
Johnson U Figeroa1010France2025-04-04
Jones V Ostrosky1011France2025-04-09
Johnson U Caudy1012Argentina2025-04-11
Darci D Iturbide1013Argentina2025-04-06
Murillo Y Doe1014Italy2025-04-13
Leon C Nicka1015India2025-04-08
Kaitlin D Marrier1016Italy2025-04-08
Arvin N Foller1017Spain2025-04-10
Johnson A Venere1018Argentina2025-04-18
Leon W Bolognia1019France2025-04-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria L DoeUnited KingdomIvan Magalhaes NEW
Alejandro W BowleyRussiaXuxue Feng NEGOTIATION
Aruna J CaldareraJapanXuxue Feng UNQUALIFIED
Maisha M PoquetteItalyOnyama Limba NEW
Morrow W RutaAustraliaBernardo Dominic RENEWAL
Antonio Q WaycottCanadaAmy Elsner UNQUALIFIED
Adams W FlosiFranceIvan Magalhaes PROPOSAL
Aika Q RulapaughSpainAnna Fali RENEWAL
Jones C PaprockiCanadaAmy Elsner NEW
Isabel M VocelkaArgentinaAsiya Javayant QUALIFIED
Stacey R CaldareraGermanyAmy Elsner PROPOSAL
Misaki G OstroskyItalyAmy Elsner UNQUALIFIED
Izzy K StockhamGermanyStephen Shaw NEGOTIATION
Antonio D RutaArgentinaXuxue Feng PROPOSAL
Smith A PerinBrazilXuxue Feng NEW
James R FlosiJapanAmy Elsner RENEWAL
Cody S SchemmerArgentinaAnna Fali PROPOSAL
Cody H SchemmerItalyIoni Bowcher UNQUALIFIED
Mujtaba U ButtSpainOnyama Limba NEGOTIATION
Tony T StensethArgentinaIvan Magalhaes NEW
Leon M MarrierSpainAnna Fali QUALIFIED
Izzy V StensethRussiaAnna Fali NEW
Julie T OldroydRussiaIoni Bowcher NEW
James B TollnerFranceBernardo Dominic PROPOSAL
Kadeem T RimFranceAnna Fali NEGOTIATION
James Y WieserRussiaIoni Bowcher UNQUALIFIED
Stacey G NickaGermanyXuxue Feng RENEWAL
Kadeem W WieserBrazilXuxue Feng RENEWAL
Octavia Z GlickAustraliaAmy Elsner NEW
Misaki U IturbideFranceAsiya Javayant UNQUALIFIED
Stacey H FerenczSpainAsiya Javayant NEW
Wickens K RoysterAustraliaIoni Bowcher PROPOSAL
David V CaudyAustraliaAmy Elsner NEGOTIATION
Arvin V SaylorsUnited KingdomBernardo Dominic QUALIFIED
Antonio R FlosiRussiaElwin Sharvill NEGOTIATION
Murillo G RimSpainStephen Shaw QUALIFIED
Morrow O SchemmerBrazilAnna Fali UNQUALIFIED
Greenwood H AmigonUnited KingdomStephen Shaw RENEWAL
Leon U SaylorsJapanAmy Elsner UNQUALIFIED
Greenwood X KolmetzFranceAnna Fali NEW

<style>
    .ui-datatable-frozenlayout-left {
        width: 20%;
    }

    .ui-datatable-frozenlayout-right {
        width: 80%;
    }
</style>


<h:form>
    <div class="card">
        <h5 style="margin-top:0">Vertical</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers1}" scrollable="true" scrollHeight="250">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Horizontal</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers2}" scrollable="true" scrollWidth="600">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Horizontal and Vertical</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers3}" scrollable="true" scrollWidth="50%" scrollHeight="250">
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
            <p:column headerText="Company" footerText="Company">
                <h:outputText value="#{customer.company}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
            <p:column headerText="Activity" footerText="Activity">
                <h:outputText value="#{customer.activity}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Frozen Rows</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers4}" scrollable="true" scrollHeight="250"
                     frozenRows="2">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Frozen Columns</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers5}" scrollable="true" scrollHeight="250"
                     scrollWidth="300" frozenColumns="1">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h3>On-Demand Data</h3>
        <p:dataTable var="customer" value="#{dtScrollView.customers6}" scrollRows="20" scrollable="true" liveScroll="true" scrollHeight="150">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Virtual Scrolling - 20000 Rows</h5>
        <p:dataTable var="customer" value="#{dtScrollView.lazyModel}" scrollRows="20" scrollable="true"
                     virtualScroll="true" scrollHeight="200" rows="40" style="margin-bottom:0">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

</h:form>