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
Francesco Z PaprockiCanadaElwin Sharvill NEW
Costa Y MacleadSpainAnna Fali NEGOTIATION
Ashley E ChuiUnited KingdomAmy Elsner PROPOSAL
Francesco M RutaCanadaAnna Fali NEGOTIATION
Greenwood Y WhobreyItalyElwin Sharvill NEGOTIATION
Alejandro P RoysterBrazilStephen Shaw NEW
Murillo S CampainJapanOnyama Limba QUALIFIED
Antonio M PoquetteSpainAnna Fali NEW
Ivar E KolmetzJapanAnna Fali NEW
Julie O ChuiRussiaAsiya Javayant PROPOSAL
Mujtaba L MorascaBrazilIvan Magalhaes UNQUALIFIED
Aditya D InouyeJapanIoni Bowcher PROPOSAL
Clifford A BowleyGermanyXuxue Feng NEW
Juan D GarufiGermanyElwin Sharvill NEW
Jones P AmigonCanadaOnyama Limba NEGOTIATION
Tony W WaycottArgentinaBernardo Dominic NEGOTIATION
Misaki V GauchoCanadaStephen Shaw QUALIFIED
Francesco I AlbaresUnited KingdomAnna Fali NEGOTIATION
Mujtaba F WaycottRussiaAmy Elsner UNQUALIFIED
Cody E MaletRussiaStephen Shaw PROPOSAL
Aditya X WieserUnited KingdomXuxue Feng RENEWAL
Deepesh M WaycottFranceBernardo Dominic NEW
Jennifer P MacleadIndiaElwin Sharvill NEW
Maria U WieserArgentinaOnyama Limba NEW
Aruna E SchemmerUnited KingdomXuxue Feng QUALIFIED
Aruna R KuskoArgentinaElwin Sharvill NEW
Aika V OstroskyBrazilStephen Shaw NEGOTIATION
Ivar J ButtIndiaXuxue Feng NEW
Murillo R CaudyBrazilIoni Bowcher QUALIFIED
Leja B WhobreyGermanyElwin Sharvill NEW
Alejandro J MaletGermanyElwin Sharvill RENEWAL
Arvin P MarrierCanadaOnyama Limba NEGOTIATION
Cody J FollerCanadaXuxue Feng PROPOSAL
Morrow R RutaArgentinaElwin Sharvill NEW
Aika V WhobreyJapanAsiya Javayant RENEWAL
Munro E NestleBrazilXuxue Feng NEW
Sinclair J OldroydRussiaOnyama Limba PROPOSAL
Misaki X NickaGermanyXuxue Feng NEGOTIATION
Izzy R ShinkoRussiaElwin Sharvill NEGOTIATION
Silvio E CaudyJapanAmy Elsner NEW
Ashley N OldroydGermanyAmy Elsner RENEWAL
Adams G WieserIndiaStephen Shaw NEGOTIATION
Antonio C CampainUnited KingdomAnna Fali NEGOTIATION
Salvatore X SergiGermanyXuxue Feng QUALIFIED
James A GlickArgentinaXuxue Feng UNQUALIFIED
David I FollerGermanyBernardo Dominic NEGOTIATION
Antonio H RutaArgentinaIoni Bowcher PROPOSAL
Mujtaba B BriddickFranceOnyama Limba NEW
Kaitlin R TollnerIndiaBernardo Dominic PROPOSAL
Aruna K DarakjyUnited KingdomAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jones J SergiBrazilElwin Sharvill QUALIFIED
Nicolas R BriddickAustraliaOnyama Limba QUALIFIED
Claire A CaldareraItalyXuxue Feng NEGOTIATION
Stacey F StensethUnited KingdomOnyama Limba QUALIFIED
Jennifer F OldroydAustraliaAnna Fali PROPOSAL
Mayumi W OstroskyUnited KingdomAmy Elsner NEGOTIATION
Sinclair E RutaCanadaIoni Bowcher PROPOSAL
Murillo E CaldareraGermanyAsiya Javayant NEW
Murillo Y WieserUnited KingdomAmy Elsner PROPOSAL
Leon Q ButtUnited KingdomXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David F PerinAustralia2025-05-24Buckley Miller Wright NEGOTIATION25Amy Elsner
1001Mujtaba E WhobreyJapan2025-05-23Rousseaux, Michael Esq PROPOSAL95Ivan Magalhaes
1002Alejandro T MacleadJapan2025-05-29Feiner Bros NEW26Ioni Bowcher
1003Salvatore Q StockhamRussia2025-05-22Feltz Printing Service RENEWAL22Stephen Shaw
1004Munro Y RimIndia2025-06-13Rangoni Of Florence QUALIFIED83Stephen Shaw
1005Ashley B CampainGermany2025-05-31Feltz Printing Service UNQUALIFIED7Ioni Bowcher
1006Juan L BowleyItaly2025-06-01Rangoni Of Florence RENEWAL22Ioni Bowcher
1007Misaki H ChuiGermany2025-06-08Dorl, James J Esq QUALIFIED47Stephen Shaw
1008Maisha A OldroydBrazil2025-06-10Chemel, James L Cpa NEW43Anna Fali
1009Octavia G GarufiGermany2025-05-27Buckley Miller Wright QUALIFIED72Elwin Sharvill
1010Aika T IturbideItaly2025-06-08Dorl, James J Esq NEW77Xuxue Feng
1011Antonio R RutaUnited Kingdom2025-05-20Dorl, James J Esq RENEWAL72Elwin Sharvill
1012Murillo M MaletUnited Kingdom2025-06-09Rangoni Of Florence QUALIFIED93Amy Elsner
1013Jefferson V KolmetzAustralia2025-06-14Feltz Printing Service QUALIFIED52Onyama Limba
1014Leja R CaldareraArgentina2025-06-15Benton, John B Jr NEW1Amy Elsner
1015Leon U RutaSpain2025-05-29Benton, John B Jr RENEWAL95Xuxue Feng
1016James W PerinBrazil2025-05-27Buckley Miller Wright QUALIFIED32Stephen Shaw
1017Antonio V SchemmerSpain2025-05-25Benton, John B Jr UNQUALIFIED78Xuxue Feng
1018Aika C DarakjyFrance2025-05-21Morlong Associates PROPOSAL59Ivan Magalhaes
1019Jennifer I CaudyBrazil2025-05-26Rangoni Of Florence UNQUALIFIED1Anna Fali
1020James Z NestleItaly2025-06-12Rousseaux, Michael Esq PROPOSAL73Anna Fali
1021Smith Z PaprockiItaly2025-05-20Dorl, James J Esq QUALIFIED52Elwin Sharvill
1022Leja T SlusarskiGermany2025-06-12Truhlar And Truhlar Attys UNQUALIFIED10Ivan Magalhaes
1023Smith R ButtArgentina2025-06-12Dorl, James J Esq UNQUALIFIED26Amy Elsner
1024James Q ShinkoBrazil2025-06-03Chapman, Ross E Esq RENEWAL77Ioni Bowcher
1025Stacey W SergiIndia2025-06-07Chanay, Jeffrey A Esq RENEWAL68Ioni Bowcher
1026Jeanfrancois E DilliardJapan2025-06-06Chanay, Jeffrey A Esq PROPOSAL47Stephen Shaw
1027Silvio P WhobreyItaly2025-05-27Rangoni Of Florence QUALIFIED72Stephen Shaw
1028Mayumi W InouyeJapan2025-05-28King, Christopher A Esq NEW9Elwin Sharvill
1029Stacey D CaudyBrazil2025-06-12Feiner Bros PROPOSAL96Stephen Shaw
1030Greenwood C FerenczIndia2025-06-12Buckley Miller Wright RENEWAL74Bernardo Dominic
1031Claire G GlickAustralia2025-06-04Dorl, James J Esq NEGOTIATION56Asiya Javayant
1032Morrow U BowleyJapan2025-05-20Chanay, Jeffrey A Esq UNQUALIFIED69Anna Fali
1033Mujtaba O RimGermany2025-06-14Buckley Miller Wright RENEWAL61Ioni Bowcher
1034Misaki S FerenczRussia2025-05-23Chapman, Ross E Esq QUALIFIED28Xuxue Feng
1035Ricardo E KolmetzCanada2025-06-02Chanay, Jeffrey A Esq RENEWAL58Asiya Javayant
1036Julie D WaycottRussia2025-06-16Chemel, James L Cpa PROPOSAL28Xuxue Feng
1037Jefferson W NickaArgentina2025-06-16Printing Dimensions PROPOSAL43Anna Fali
1038Aruna A DilliardItaly2025-06-12King, Christopher A Esq NEGOTIATION5Stephen Shaw
1039Aruna L FigeroaIndia2025-05-25Dorl, James J Esq UNQUALIFIED59Asiya Javayant
1040Misaki M BowleyArgentina2025-06-17Chanay, Jeffrey A Esq UNQUALIFIED16Asiya Javayant
1041Jones T DarakjySpain2025-05-23King, Christopher A Esq PROPOSAL25Onyama Limba
1042Ivar I FollerArgentina2025-05-31Truhlar And Truhlar Attys PROPOSAL16Amy Elsner
1043Morrow U MorascaUnited Kingdom2025-06-10Commercial Press NEW95Elwin Sharvill
1044Rodrigues T CaldareraIndia2025-05-29Truhlar And Truhlar Attys NEGOTIATION37Ivan Magalhaes
1045Clifford O TollnerArgentina2025-06-03Rangoni Of Florence NEGOTIATION21Ioni Bowcher
1046Aditya V AlbaresCanada2025-06-14Chapman, Ross E Esq UNQUALIFIED61Stephen Shaw
1047Jefferson I BowleyAustralia2025-06-14Buckley Miller Wright NEGOTIATION34Ivan Magalhaes
1048Alejandro Z MaletFrance2025-06-14Morlong Associates PROPOSAL57Anna Fali
1049Emily H PoquetteSpain2025-06-09King, Christopher A Esq QUALIFIED86Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Jones N VocelkaGermanyOnyama Limba RENEWAL
Emily M MarrierAustraliaElwin Sharvill NEGOTIATION
Izzy L RulapaughIndiaStephen Shaw NEGOTIATION
Cody Q TollnerCanadaIvan Magalhaes QUALIFIED
Francesco M SergiBrazilIoni Bowcher QUALIFIED
Alejandro H FigeroaAustraliaStephen Shaw NEW
Leon U GillianItalyAmy Elsner NEW
Kaitlin J GillianGermanyOnyama Limba RENEWAL
Stacey W WaycottUnited KingdomAmy Elsner NEGOTIATION
Jefferson Y FlosiSpainXuxue Feng NEW
Misaki K DarakjyIndiaAsiya Javayant NEW
Silvio F WieserIndiaIvan Magalhaes PROPOSAL
Maisha H StockhamAustraliaXuxue Feng UNQUALIFIED
Silvio F InouyeCanadaIoni Bowcher QUALIFIED
Leja G SlusarskiAustraliaStephen Shaw UNQUALIFIED
Munro F BologniaItalyOnyama Limba UNQUALIFIED
Murillo H OldroydArgentinaAsiya Javayant QUALIFIED
Izzy H CampainGermanyStephen Shaw NEW
Kadeem U IturbideArgentinaIoni Bowcher UNQUALIFIED
Izzy S GarufiSpainOnyama Limba NEW
Wickens X GarufiFranceStephen Shaw QUALIFIED
Jones D GlickGermanyElwin Sharvill RENEWAL
Salvatore W NickaCanadaStephen Shaw NEW
Wickens U WhobreyUnited KingdomAsiya Javayant RENEWAL
Misaki Y DarakjyCanadaElwin Sharvill NEW
Aruna L IturbideJapanOnyama Limba RENEWAL
Octavia G NickaAustraliaAnna Fali UNQUALIFIED
Antonio G IturbideArgentinaOnyama Limba NEGOTIATION
Francesco F PoquetteArgentinaBernardo Dominic QUALIFIED
Sinclair G NestleItalyIvan Magalhaes PROPOSAL
Antonio J StockhamBrazilIoni Bowcher QUALIFIED
Johnson Q WieserGermanyStephen Shaw UNQUALIFIED
Smith K WieserSpainIvan Magalhaes RENEWAL
Ivar V RutaGermanyStephen Shaw RENEWAL
Claire I VenereArgentinaStephen Shaw RENEWAL
Isabel W CaldareraFranceAnna Fali PROPOSAL
Johnson T DilliardCanadaAmy Elsner NEGOTIATION
Darci Z KolmetzArgentinaStephen Shaw PROPOSAL
Rodrigues Z WaycottItalyAsiya Javayant PROPOSAL
Alejandro I MorascaIndiaAmy Elsner NEGOTIATION
Izzy E VocelkaBrazilAsiya Javayant NEW
Kaitlin A GillianJapanXuxue Feng QUALIFIED
Rodrigues W VenereAustraliaOnyama Limba NEGOTIATION
Cody B WhobreyFranceBernardo Dominic RENEWAL
Jefferson O NestleAustraliaAnna Fali UNQUALIFIED
Stacey D BriddickIndiaStephen Shaw NEW
Faith J GlickBrazilStephen Shaw QUALIFIED
Francesco P IturbideSpainAnna Fali RENEWAL
Octavia R IturbideItalyBernardo Dominic UNQUALIFIED
Faith C ButtRussiaAmy Elsner RENEWAL
Frozen Columns
Name
Johnson J Bowley
Octavia W Malet
Murillo T Slusarski
Leja B Saylors
Ivar Z Saylors
David S Doe
Leja B Waycott
Johnson T Dilliard
Ivar I Oldroyd
Smith F Slusarski
Misaki Q Oldroyd
Aruna D Saylors
Misaki K Albares
Leon R Oldroyd
David H Kolmetz
Alejandro E Ferencz
Greenwood B Bowley
Darci A Doe
Francesco N Inouye
Faith U Malet
Emily A Doe
Adams O Ostrosky
Silvio V Poquette
Munro R Darakjy
Isabel L Darakjy
Julie I Figeroa
Smith K Sergi
Costa L Caldarera
Salvatore G Kusko
Arvin N Amigon
Mujtaba X Ferencz
Wickens E Venere
Julie A Caldarera
Francesco E Glick
Darci A Slusarski
Murillo H Bolognia
Aika L Albares
Kaitlin I Butt
Octavia R Caudy
Sinclair D Foller
Izzy H Inouye
Johnson V Bowley
Mayumi Y Shinko
Greenwood W Sergi
Mayumi N Shinko
Kadeem L Kusko
Juan L Iturbide
Tony O Whobrey
Adams M Oldroyd
Maisha J Gaucho
IdCountryDate
1000Brazil2025-05-29
1001Germany2025-05-25
1002Russia2025-06-05
1003Russia2025-06-01
1004Canada2025-05-23
1005Italy2025-06-16
1006Australia2025-05-25
1007France2025-05-28
1008Canada2025-05-19
1009Germany2025-06-14
1010Argentina2025-05-28
1011Australia2025-06-11
1012Canada2025-06-14
1013Brazil2025-05-23
1014India2025-05-20
1015Argentina2025-06-05
1016Argentina2025-06-15
1017Russia2025-05-29
1018Argentina2025-06-09
1019Canada2025-05-22
1020Spain2025-06-15
1021United Kingdom2025-05-29
1022Spain2025-05-26
1023France2025-05-26
1024Italy2025-06-01
1025Argentina2025-05-27
1026France2025-06-07
1027Germany2025-05-19
1028United Kingdom2025-06-09
1029Spain2025-06-13
1030Australia2025-05-20
1031Canada2025-05-29
1032Japan2025-06-10
1033Spain2025-06-14
1034Italy2025-05-29
1035Canada2025-05-21
1036Australia2025-06-08
1037Russia2025-06-06
1038United Kingdom2025-06-07
1039Brazil2025-06-14
1040Spain2025-05-24
1041Brazil2025-05-29
1042Argentina2025-06-01
1043Japan2025-06-15
1044Argentina2025-06-14
1045Argentina2025-05-29
1046Japan2025-06-08
1047Spain2025-05-19
1048Germany2025-06-15
1049India2025-06-07

On-Demand Data

NameIdCountryDate
Darci S Malet1000France2025-06-02
Kadeem S Marrier1001France2025-05-29
Mujtaba P Caldarera1002Germany2025-05-27
Octavia N Ferencz1003Germany2025-05-25
Jones X Rulapaugh1004India2025-05-28
Cody V Ferencz1005Germany2025-05-24
Antonio S Garufi1006India2025-06-03
Morrow M Kolmetz1007Brazil2025-05-25
Nicolas M Shinko1008Japan2025-06-07
Stacey E Sergi1009Germany2025-05-23
Mayumi C Maclead1010Australia2025-06-02
Deepesh Y Caldarera1011United Kingdom2025-06-04
Claire P Iturbide1012Brazil2025-06-13
Arvin N Malet1013Spain2025-05-28
Maria V Perin1014Germany2025-06-09
Ricardo X Briddick1015India2025-06-14
Maria Y Poquette1016France2025-06-14
Aika M Garufi1017Germany2025-06-01
Ashley B Ruta1018Spain2025-05-20
Ashley Y Rim1019Russia2025-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith Q GauchoJapanXuxue Feng PROPOSAL
Isabel L VocelkaUnited KingdomAnna Fali NEW
David H OldroydJapanStephen Shaw NEGOTIATION
Adams S GarufiCanadaAmy Elsner RENEWAL
Emily V BologniaAustraliaElwin Sharvill PROPOSAL
Jennifer Y InouyeIndiaAsiya Javayant NEW
Alejandro W BowleyItalyBernardo Dominic PROPOSAL
Tony D MaletCanadaAnna Fali UNQUALIFIED
Darci O DarakjyIndiaAsiya Javayant RENEWAL
Smith O RimBrazilAmy Elsner PROPOSAL
Salvatore D BologniaBrazilAsiya Javayant NEGOTIATION
Costa C StockhamJapanElwin Sharvill PROPOSAL
Ivar C TollnerGermanyXuxue Feng UNQUALIFIED
Mujtaba W MaletGermanyElwin Sharvill PROPOSAL
Kadeem I FerenczCanadaAmy Elsner NEW
Julie B CaudyFranceElwin Sharvill NEW
Deepesh V IturbideGermanyAnna Fali QUALIFIED
Tony T GarufiIndiaElwin Sharvill RENEWAL
Mayumi T AmigonIndiaBernardo Dominic NEGOTIATION
Izzy L SchemmerFranceStephen Shaw QUALIFIED
Maisha L IturbideJapanStephen Shaw UNQUALIFIED
Greenwood H FerenczUnited KingdomAnna Fali RENEWAL
Munro L WieserAustraliaAmy Elsner RENEWAL
Faith V CampainFranceAsiya Javayant PROPOSAL
Smith S OstroskyFranceStephen Shaw UNQUALIFIED
Chavez I VocelkaArgentinaIoni Bowcher RENEWAL
Johnson G WieserArgentinaElwin Sharvill PROPOSAL
Jennifer Q MaletUnited KingdomAsiya Javayant QUALIFIED
Rodrigues V PaprockiJapanOnyama Limba QUALIFIED
Juan P BowleyAustraliaAnna Fali PROPOSAL
Mayumi F DarakjyUnited KingdomIoni Bowcher UNQUALIFIED
Smith D SlusarskiAustraliaOnyama Limba QUALIFIED
Mujtaba T IturbideGermanyAnna Fali UNQUALIFIED
Misaki N IturbideArgentinaAsiya Javayant RENEWAL
Emily X StockhamArgentinaAnna Fali RENEWAL
Sinclair Z BowleyUnited KingdomAmy Elsner NEGOTIATION
Leon S OstroskyJapanBernardo Dominic NEW
Silvio F VocelkaSpainIoni Bowcher RENEWAL
Deepesh R WieserRussiaIvan Magalhaes QUALIFIED
Murillo L FollerCanadaIvan Magalhaes PROPOSAL

<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>