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
Jefferson U MarrierAustraliaAmy Elsner QUALIFIED
Wickens G MorascaBrazilIvan Magalhaes RENEWAL
Antonio N FigeroaUnited KingdomAmy Elsner NEGOTIATION
Greenwood C SaylorsGermanyOnyama Limba RENEWAL
Mujtaba A InouyeIndiaAnna Fali NEW
Jefferson E CaudyJapanBernardo Dominic RENEWAL
Claire S GillianUnited KingdomOnyama Limba NEGOTIATION
Morrow K FollerRussiaAmy Elsner UNQUALIFIED
Isabel H ShinkoIndiaAsiya Javayant UNQUALIFIED
Clifford K CampainJapanAmy Elsner NEW
Arvin Z KolmetzJapanStephen Shaw RENEWAL
Smith G DilliardSpainAnna Fali UNQUALIFIED
Isabel A VocelkaAustraliaAsiya Javayant RENEWAL
Wickens G TollnerItalyOnyama Limba NEW
Arvin P VenereIndiaBernardo Dominic PROPOSAL
Misaki K IturbideSpainElwin Sharvill PROPOSAL
Darci J AlbaresRussiaOnyama Limba QUALIFIED
Tony Q FigeroaAustraliaIoni Bowcher NEW
Aruna G SchemmerSpainOnyama Limba QUALIFIED
Stacey H VenereCanadaElwin Sharvill PROPOSAL
Deepesh Z RulapaughIndiaXuxue Feng UNQUALIFIED
Jennifer W KuskoCanadaIoni Bowcher NEGOTIATION
Tony Q PaprockiUnited KingdomBernardo Dominic UNQUALIFIED
Morrow T FigeroaArgentinaIvan Magalhaes QUALIFIED
Johnson H OldroydJapanStephen Shaw NEGOTIATION
Misaki U FollerItalyAsiya Javayant RENEWAL
Costa B ChuiIndiaBernardo Dominic QUALIFIED
Silvio J MorascaSpainStephen Shaw QUALIFIED
Mujtaba M ShinkoFranceAsiya Javayant NEW
Chavez J MaletArgentinaElwin Sharvill PROPOSAL
Leja A OldroydGermanyStephen Shaw NEGOTIATION
Rodrigues G DarakjySpainAnna Fali QUALIFIED
Francesco J KuskoArgentinaAmy Elsner NEW
Darci Q WhobreyIndiaAsiya Javayant NEGOTIATION
Jeanfrancois Q PerinUnited KingdomXuxue Feng UNQUALIFIED
Salvatore Y CaudyCanadaIvan Magalhaes QUALIFIED
Maria W CampainItalyStephen Shaw UNQUALIFIED
Adams P CampainCanadaAmy Elsner PROPOSAL
Jones T KolmetzArgentinaIvan Magalhaes NEGOTIATION
Jefferson Q ButtUnited KingdomOnyama Limba UNQUALIFIED
Mayumi C DilliardGermanyAmy Elsner UNQUALIFIED
Deepesh N BriddickSpainElwin Sharvill NEW
Maria C DarakjyGermanyIoni Bowcher NEW
Mujtaba P WaycottArgentinaAnna Fali UNQUALIFIED
Smith D DoeJapanStephen Shaw PROPOSAL
Juan P WaycottGermanyAsiya Javayant NEGOTIATION
Costa M SergiJapanAsiya Javayant PROPOSAL
Wickens W ChuiIndiaIoni Bowcher NEW
Jones D ChuiJapanIvan Magalhaes QUALIFIED
Munro S VocelkaCanadaIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Aika V FollerAustraliaIvan Magalhaes QUALIFIED
Salvatore I SergiUnited KingdomStephen Shaw PROPOSAL
Clifford J ShinkoAustraliaIvan Magalhaes QUALIFIED
Tony X RutaIndiaBernardo Dominic PROPOSAL
Cody R MorascaArgentinaAnna Fali UNQUALIFIED
Kaitlin N MorascaItalyIvan Magalhaes QUALIFIED
Mayumi R FerenczArgentinaStephen Shaw RENEWAL
Jennifer F TollnerJapanElwin Sharvill QUALIFIED
Chavez L AlbaresItalyStephen Shaw NEGOTIATION
Aruna E RoysterArgentinaAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood B RimBrazil2024-09-18Rangoni Of Florence NEGOTIATION54Elwin Sharvill
1001Murillo Z WaycottBrazil2024-09-22Chapman, Ross E Esq UNQUALIFIED30Onyama Limba
1002Morrow C BowleyFrance2024-08-25Feltz Printing Service QUALIFIED58Amy Elsner
1003Clifford F MaletBrazil2024-08-29Chanay, Jeffrey A Esq RENEWAL50Ioni Bowcher
1004Alejandro S CaudyArgentina2024-08-26Chanay, Jeffrey A Esq NEW67Ivan Magalhaes
1005Juan O FerenczSpain2024-09-16Chapman, Ross E Esq RENEWAL80Onyama Limba
1006Ricardo B StockhamRussia2024-09-01Chemel, James L Cpa NEGOTIATION88Onyama Limba
1007Kaitlin Z RimArgentina2024-09-05Rousseaux, Michael Esq NEW29Asiya Javayant
1008Kaitlin Z WhobreyFrance2024-09-06Commercial Press QUALIFIED43Asiya Javayant
1009Nicolas V AlbaresBrazil2024-08-24Rousseaux, Michael Esq NEW18Ioni Bowcher
1010Salvatore A NickaJapan2024-09-13Rousseaux, Michael Esq RENEWAL46Xuxue Feng
1011Kaitlin X WaycottGermany2024-09-02Dorl, James J Esq NEGOTIATION2Anna Fali
1012Octavia R DarakjyCanada2024-09-21Truhlar And Truhlar Attys UNQUALIFIED45Asiya Javayant
1013Jennifer N CaudyUnited Kingdom2024-09-22Feltz Printing Service NEW75Asiya Javayant
1014Cody F SergiGermany2024-08-29Chemel, James L Cpa QUALIFIED63Bernardo Dominic
1015Aruna P DilliardIndia2024-08-29Morlong Associates QUALIFIED81Stephen Shaw
1016Francesco I BologniaItaly2024-09-07Buckley Miller Wright QUALIFIED13Ivan Magalhaes
1017Emily O StensethArgentina2024-09-03Morlong Associates PROPOSAL19Stephen Shaw
1018Stacey Z WieserSpain2024-08-31Chemel, James L Cpa NEW93Bernardo Dominic
1019Jennifer Y OstroskyJapan2024-08-31Printing Dimensions NEW25Elwin Sharvill
1020Kadeem M SlusarskiAustralia2024-09-05Rousseaux, Michael Esq RENEWAL53Ivan Magalhaes
1021Silvio P FollerRussia2024-09-05Buckley Miller Wright RENEWAL88Stephen Shaw
1022Nicolas A FlosiItaly2024-09-14Commercial Press QUALIFIED93Ioni Bowcher
1023Claire U OldroydArgentina2024-08-26Rousseaux, Michael Esq NEGOTIATION74Ioni Bowcher
1024Ricardo P BologniaItaly2024-09-21Chemel, James L Cpa RENEWAL94Ioni Bowcher
1025Ashley N PerinCanada2024-08-31Chapman, Ross E Esq UNQUALIFIED13Ivan Magalhaes
1026Greenwood Z MaletAustralia2024-09-11Chemel, James L Cpa UNQUALIFIED42Stephen Shaw
1027Misaki I GauchoAustralia2024-09-12Benton, John B Jr RENEWAL64Xuxue Feng
1028Smith W PaprockiSpain2024-08-30Printing Dimensions PROPOSAL82Ivan Magalhaes
1029Mayumi U PaprockiRussia2024-08-25Commercial Press UNQUALIFIED53Amy Elsner
1030Octavia V MorascaUnited Kingdom2024-08-30Commercial Press UNQUALIFIED51Asiya Javayant
1031Isabel P ShinkoUnited Kingdom2024-09-07Dorl, James J Esq QUALIFIED67Ivan Magalhaes
1032Salvatore E DoeItaly2024-09-10Dorl, James J Esq UNQUALIFIED74Ivan Magalhaes
1033Smith I GauchoRussia2024-09-14Dorl, James J Esq UNQUALIFIED46Elwin Sharvill
1034James V BriddickUnited Kingdom2024-09-03Feltz Printing Service PROPOSAL68Xuxue Feng
1035Izzy L OstroskyAustralia2024-09-05King, Christopher A Esq NEGOTIATION54Ivan Magalhaes
1036Emily I TollnerJapan2024-09-07King, Christopher A Esq NEW70Asiya Javayant
1037Ivar U MacleadArgentina2024-08-24Buckley Miller Wright PROPOSAL43Ivan Magalhaes
1038Mujtaba A MarrierItaly2024-09-17Truhlar And Truhlar Attys NEW62Ioni Bowcher
1039Darci R VenereItaly2024-08-30Morlong Associates PROPOSAL60Stephen Shaw
1040Aditya R GauchoRussia2024-09-18Chemel, James L Cpa UNQUALIFIED29Ioni Bowcher
1041Cody D SlusarskiIndia2024-09-20Buckley Miller Wright QUALIFIED74Xuxue Feng
1042Sinclair W OstroskyItaly2024-09-13Benton, John B Jr PROPOSAL45Bernardo Dominic
1043Salvatore R AlbaresFrance2024-08-26Benton, John B Jr QUALIFIED24Ioni Bowcher
1044Leja I ButtSpain2024-09-10Benton, John B Jr QUALIFIED18Elwin Sharvill
1045Rodrigues P GauchoBrazil2024-09-05Chapman, Ross E Esq PROPOSAL2Xuxue Feng
1046Greenwood X WhobreyUnited Kingdom2024-09-08Truhlar And Truhlar Attys QUALIFIED42Stephen Shaw
1047Francesco L MaletCanada2024-08-28Dorl, James J Esq RENEWAL89Anna Fali
1048Jennifer V StensethArgentina2024-09-03King, Christopher A Esq RENEWAL69Stephen Shaw
1049Sinclair S PoquetteRussia2024-09-09Benton, John B Jr UNQUALIFIED99Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Maisha P MorascaAustraliaAsiya Javayant QUALIFIED
Jefferson Q DoeItalyAmy Elsner QUALIFIED
Octavia B CampainCanadaIoni Bowcher PROPOSAL
Francesco L WieserBrazilStephen Shaw NEGOTIATION
Alejandro E AlbaresItalyAsiya Javayant UNQUALIFIED
Deepesh X KuskoArgentinaAsiya Javayant RENEWAL
Emily V FollerAustraliaOnyama Limba PROPOSAL
Ashley J DoeSpainAsiya Javayant NEW
James G WhobreyItalyXuxue Feng NEW
Juan G AmigonJapanElwin Sharvill NEW
Jeanfrancois Q GauchoJapanAmy Elsner NEW
Munro N VocelkaCanadaStephen Shaw NEGOTIATION
Ricardo E KuskoGermanyAmy Elsner RENEWAL
Darci I MorascaRussiaStephen Shaw PROPOSAL
Morrow H SchemmerAustraliaIoni Bowcher UNQUALIFIED
Kaitlin F RimJapanBernardo Dominic UNQUALIFIED
Jones D KolmetzSpainAsiya Javayant RENEWAL
Aruna T CaldareraIndiaIoni Bowcher NEGOTIATION
David Y NestleArgentinaIoni Bowcher UNQUALIFIED
Mujtaba U WieserGermanyStephen Shaw UNQUALIFIED
Ricardo H MaletItalyXuxue Feng RENEWAL
David J GillianAustraliaOnyama Limba NEGOTIATION
Tony Z DarakjyBrazilAsiya Javayant RENEWAL
Julie V MorascaFranceXuxue Feng NEW
Alejandro D BriddickAustraliaElwin Sharvill NEW
Mujtaba Z KolmetzBrazilXuxue Feng QUALIFIED
Misaki N AmigonRussiaAsiya Javayant NEGOTIATION
Jennifer Z OldroydRussiaAsiya Javayant QUALIFIED
Juan B WaycottIndiaOnyama Limba NEW
Cody K DarakjyBrazilAsiya Javayant NEGOTIATION
Claire H SaylorsItalyBernardo Dominic PROPOSAL
Nicolas M BologniaBrazilElwin Sharvill RENEWAL
Darci H RoysterArgentinaAmy Elsner NEW
Arvin H RulapaughRussiaXuxue Feng NEW
Julie A AmigonGermanyAmy Elsner RENEWAL
James H TollnerAustraliaIoni Bowcher QUALIFIED
Smith C ChuiCanadaOnyama Limba UNQUALIFIED
Wickens W FollerIndiaAnna Fali PROPOSAL
Isabel C AlbaresCanadaAmy Elsner NEW
Mujtaba M BowleyRussiaIoni Bowcher NEW
Leon F CampainCanadaStephen Shaw RENEWAL
Murillo Y WaycottJapanStephen Shaw RENEWAL
Alejandro D KolmetzGermanyAmy Elsner NEGOTIATION
Jennifer O BriddickJapanBernardo Dominic UNQUALIFIED
Cody R CaudyUnited KingdomStephen Shaw NEW
Izzy Q MaletAustraliaBernardo Dominic NEW
Morrow S DilliardArgentinaOnyama Limba UNQUALIFIED
Clifford A GarufiBrazilIvan Magalhaes NEW
Aditya B FigeroaAustraliaElwin Sharvill QUALIFIED
Chavez L IturbideIndiaOnyama Limba RENEWAL
Frozen Columns
Name
Kadeem Y Amigon
Juan L Flosi
Silvio Q Waycott
Johnson B Albares
Juan H Gillian
Murillo T Kusko
Jeanfrancois P Waycott
Kadeem Q Poquette
Clifford B Caudy
David P Waycott
Emily X Briddick
Ivar D Briddick
Darci B Wieser
Rodrigues M Saylors
Wickens U Tollner
Rodrigues M Caldarera
Smith F Tollner
Johnson X Darakjy
Sinclair Z Bowley
James U Perin
Smith I Kolmetz
Francesco D Inouye
Julie E Royster
Emily Y Stenseth
Mujtaba L Vocelka
Cody J Kusko
Leja W Venere
Jeanfrancois Q Wieser
Aditya X Malet
Emily I Nestle
Arvin G Gaucho
David N Bowley
Salvatore J Glick
Silvio N Iturbide
Maisha L Morasca
Maisha E Paprocki
Emily Z Malet
Francesco G Butt
Alejandro R Oldroyd
Julie Z Figeroa
Aditya J Schemmer
Cody C Vocelka
Claire Q Rim
Aruna Y Amigon
Smith V Ruta
Maisha K Ostrosky
Deepesh V Amigon
Costa F Poquette
Chavez Z Inouye
Clifford H Oldroyd
IdCountryDate
1000Argentina2024-09-01
1001Argentina2024-08-28
1002Spain2024-08-28
1003Italy2024-09-07
1004United Kingdom2024-08-26
1005Australia2024-09-08
1006France2024-09-21
1007Japan2024-08-24
1008Germany2024-09-16
1009Spain2024-09-20
1010France2024-09-19
1011Russia2024-09-11
1012India2024-09-20
1013France2024-08-30
1014Argentina2024-09-17
1015Spain2024-09-11
1016Canada2024-08-30
1017Italy2024-09-08
1018Brazil2024-09-08
1019Russia2024-08-24
1020Spain2024-09-05
1021Japan2024-09-16
1022India2024-09-21
1023United Kingdom2024-09-21
1024Germany2024-09-20
1025India2024-09-19
1026Australia2024-09-07
1027Canada2024-08-31
1028Russia2024-09-17
1029Argentina2024-09-13
1030Spain2024-09-06
1031Australia2024-09-18
1032Spain2024-09-05
1033Argentina2024-09-22
1034Germany2024-09-06
1035Russia2024-09-03
1036Italy2024-08-31
1037United Kingdom2024-09-08
1038Italy2024-09-19
1039Germany2024-08-24
1040Brazil2024-09-22
1041Argentina2024-09-10
1042United Kingdom2024-09-16
1043France2024-09-15
1044Canada2024-09-13
1045India2024-08-29
1046Japan2024-09-03
1047Italy2024-09-03
1048Argentina2024-09-14
1049Canada2024-09-10

On-Demand Data

NameIdCountryDate
Juan C Campain1000France2024-09-19
Jeanfrancois Y Malet1001Canada2024-09-03
Maisha G Briddick1002Argentina2024-09-04
Maria H Paprocki1003United Kingdom2024-09-09
Cody E Glick1004Spain2024-09-03
David R Gillian1005Canada2024-09-15
Darci T Gillian1006Japan2024-09-17
Darci U Shinko1007Spain2024-08-31
Ivar V Inouye1008Japan2024-08-27
Leja Z Inouye1009Japan2024-09-11
Kaitlin Z Bowley1010India2024-09-18
Aditya Y Briddick1011Brazil2024-09-13
Sinclair V Stenseth1012India2024-09-12
Juan Y Maclead1013Japan2024-09-14
Aika Z Kusko1014Australia2024-08-27
Isabel L Maclead1015Spain2024-09-02
Ivar U Albares1016Brazil2024-09-07
James T Malet1017Germany2024-09-20
Morrow Y Gaucho1018Japan2024-09-10
Maisha H Flosi1019Germany2024-09-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin R ChuiBrazilIoni Bowcher PROPOSAL
Smith T MaletAustraliaAsiya Javayant NEGOTIATION
Julie J OldroydItalyXuxue Feng NEGOTIATION
Aruna F NestleRussiaAnna Fali QUALIFIED
Jeanfrancois J CaudyIndiaStephen Shaw PROPOSAL
Mayumi Q CampainIndiaElwin Sharvill QUALIFIED
Misaki B ShinkoRussiaAmy Elsner NEGOTIATION
Darci N SergiUnited KingdomAsiya Javayant UNQUALIFIED
Ashley U KolmetzFranceIvan Magalhaes PROPOSAL
Antonio A DilliardCanadaAnna Fali QUALIFIED
Deepesh S MorascaUnited KingdomXuxue Feng UNQUALIFIED
Francesco N MaletSpainStephen Shaw NEW
Cody Y TollnerUnited KingdomAmy Elsner PROPOSAL
David E SchemmerCanadaBernardo Dominic QUALIFIED
Adams C FlosiFranceOnyama Limba RENEWAL
Aika V MorascaJapanIvan Magalhaes RENEWAL
Arvin L PaprockiFranceAnna Fali NEW
Julie N DoeFranceBernardo Dominic QUALIFIED
Jennifer X CaldareraRussiaXuxue Feng QUALIFIED
Rodrigues D GlickJapanBernardo Dominic NEGOTIATION
Francesco Y KolmetzJapanAmy Elsner NEW
Kaitlin G SlusarskiArgentinaXuxue Feng NEW
Costa F WieserGermanyAnna Fali PROPOSAL
Clifford F FerenczSpainAsiya Javayant RENEWAL
Smith T DoeJapanOnyama Limba UNQUALIFIED
Jennifer C MacleadArgentinaAsiya Javayant RENEWAL
Smith Q RulapaughArgentinaAnna Fali RENEWAL
Juan F BologniaAustraliaAnna Fali UNQUALIFIED
Aruna C FlosiFranceXuxue Feng NEGOTIATION
Ashley W GlickRussiaStephen Shaw QUALIFIED
Nicolas G RutaIndiaIoni Bowcher RENEWAL
Ashley J BologniaBrazilAsiya Javayant NEGOTIATION
Aruna W PoquetteCanadaOnyama Limba UNQUALIFIED
Juan I VenereGermanyAmy Elsner RENEWAL
Costa K FlosiAustraliaXuxue Feng UNQUALIFIED
Jennifer B FigeroaAustraliaAmy Elsner PROPOSAL
Tony W WieserIndiaIoni Bowcher NEW
Antonio A ButtItalyAsiya Javayant QUALIFIED
Deepesh Z IturbideSpainIvan Magalhaes UNQUALIFIED
Leon N PaprockiCanadaAnna Fali UNQUALIFIED

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