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 M OstroskyArgentinaXuxue Feng UNQUALIFIED
Jefferson M CampainRussiaXuxue Feng NEW
Maria M IturbideBrazilIoni Bowcher NEW
Jennifer N GauchoIndiaElwin Sharvill QUALIFIED
Ricardo F InouyeBrazilIvan Magalhaes PROPOSAL
Julie Z DoeRussiaBernardo Dominic NEW
Johnson B FigeroaArgentinaXuxue Feng UNQUALIFIED
Sinclair C MarrierRussiaOnyama Limba QUALIFIED
Murillo G IturbideIndiaOnyama Limba PROPOSAL
Antonio G VocelkaBrazilElwin Sharvill PROPOSAL
Alejandro Z CaldareraIndiaAnna Fali NEGOTIATION
Smith F BologniaAustraliaAsiya Javayant NEW
James I GlickJapanIoni Bowcher RENEWAL
Tony J FollerIndiaOnyama Limba PROPOSAL
Octavia Y RimJapanOnyama Limba UNQUALIFIED
Francesco H PerinIndiaIoni Bowcher NEW
Johnson J PoquetteJapanBernardo Dominic NEW
Aika P FollerRussiaAmy Elsner PROPOSAL
Sinclair T CaldareraSpainAnna Fali PROPOSAL
David N MaletCanadaIvan Magalhaes RENEWAL
Ricardo W RoysterBrazilOnyama Limba QUALIFIED
Julie T TollnerArgentinaOnyama Limba RENEWAL
Costa J WhobreyUnited KingdomBernardo Dominic QUALIFIED
Antonio M InouyeItalyAsiya Javayant UNQUALIFIED
Aditya C PaprockiFranceIvan Magalhaes NEW
Alejandro U GauchoSpainAmy Elsner RENEWAL
Sinclair F MaletIndiaAmy Elsner NEGOTIATION
Antonio R BriddickBrazilIoni Bowcher UNQUALIFIED
Darci U GauchoBrazilStephen Shaw NEGOTIATION
Juan F DoeUnited KingdomIoni Bowcher QUALIFIED
Francesco I RimGermanyAmy Elsner NEW
Murillo O GarufiJapanBernardo Dominic UNQUALIFIED
Claire R DilliardJapanAnna Fali PROPOSAL
Emily X PoquetteGermanyIvan Magalhaes UNQUALIFIED
David Z RulapaughFranceStephen Shaw NEGOTIATION
Julie P SaylorsFranceIoni Bowcher UNQUALIFIED
David M WhobreySpainOnyama Limba NEW
Clifford G FigeroaSpainAnna Fali RENEWAL
Jefferson E OstroskyJapanElwin Sharvill PROPOSAL
Alejandro N BowleyItalyElwin Sharvill NEW
Izzy L FerenczUnited KingdomXuxue Feng RENEWAL
Kadeem I GarufiRussiaAmy Elsner NEW
Cody M StockhamSpainIoni Bowcher QUALIFIED
Stacey K GlickBrazilIvan Magalhaes RENEWAL
Deepesh M KuskoSpainXuxue Feng NEW
Wickens N MarrierArgentinaXuxue Feng RENEWAL
Emily L RoysterAustraliaBernardo Dominic UNQUALIFIED
Greenwood Q SaylorsUnited KingdomElwin Sharvill RENEWAL
Adams H RimIndiaOnyama Limba QUALIFIED
Jeanfrancois T FlosiFranceIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Nicolas G InouyeAustraliaXuxue Feng NEGOTIATION
Leja U TollnerBrazilElwin Sharvill RENEWAL
Antonio H RulapaughItalyBernardo Dominic NEGOTIATION
Arvin C FerenczFranceAnna Fali NEGOTIATION
Cody K CampainGermanyStephen Shaw NEGOTIATION
Darci T DilliardGermanyIoni Bowcher QUALIFIED
Munro P MacleadUnited KingdomStephen Shaw NEW
Arvin C GlickAustraliaElwin Sharvill NEW
Mujtaba P DilliardBrazilStephen Shaw NEGOTIATION
Faith Q DarakjyIndiaElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo D DarakjyJapan2024-05-30Chapman, Ross E Esq UNQUALIFIED36Bernardo Dominic
1001Ivar T SaylorsIndia2024-06-15Feltz Printing Service NEW69Ioni Bowcher
1002Claire F ButtFrance2024-06-03Dorl, James J Esq NEGOTIATION87Ioni Bowcher
1003Jennifer U PoquetteBrazil2024-06-06Printing Dimensions QUALIFIED15Amy Elsner
1004Mayumi M WieserFrance2024-05-21Buckley Miller Wright NEGOTIATION26Anna Fali
1005Mayumi X CaudyArgentina2024-06-15Feiner Bros RENEWAL9Anna Fali
1006Maria L MorascaBrazil2024-06-05Feiner Bros RENEWAL1Ivan Magalhaes
1007Kaitlin V VocelkaAustralia2024-06-10Printing Dimensions QUALIFIED15Amy Elsner
1008Stacey T DoeArgentina2024-06-04King, Christopher A Esq NEGOTIATION86Ioni Bowcher
1009Maria K GillianFrance2024-06-15Dorl, James J Esq NEW63Onyama Limba
1010Costa X OstroskyGermany2024-06-11Rangoni Of Florence RENEWAL81Bernardo Dominic
1011Ricardo T InouyeRussia2024-06-06Chemel, James L Cpa PROPOSAL38Elwin Sharvill
1012Julie G PaprockiAustralia2024-06-01Dorl, James J Esq NEGOTIATION36Ioni Bowcher
1013Aditya V AlbaresCanada2024-05-28Buckley Miller Wright NEGOTIATION1Onyama Limba
1014Misaki W DarakjyBrazil2024-06-10Rangoni Of Florence RENEWAL69Onyama Limba
1015Claire V GauchoCanada2024-06-11Rousseaux, Michael Esq UNQUALIFIED57Elwin Sharvill
1016Julie D MaletSpain2024-06-07Truhlar And Truhlar Attys NEW17Bernardo Dominic
1017Jefferson S SergiIndia2024-06-01Dorl, James J Esq NEW87Stephen Shaw
1018Emily M WieserIndia2024-06-08Commercial Press UNQUALIFIED73Xuxue Feng
1019Mujtaba E PerinBrazil2024-05-24Chanay, Jeffrey A Esq NEGOTIATION34Onyama Limba
1020Salvatore G GlickFrance2024-05-21Benton, John B Jr NEGOTIATION26Elwin Sharvill
1021Leja P FigeroaAustralia2024-05-26Rousseaux, Michael Esq QUALIFIED59Xuxue Feng
1022Chavez C OstroskyBrazil2024-06-09Buckley Miller Wright RENEWAL39Ioni Bowcher
1023Faith S MorascaBrazil2024-06-10Chapman, Ross E Esq PROPOSAL20Elwin Sharvill
1024Julie L AlbaresIndia2024-05-22Rangoni Of Florence UNQUALIFIED98Onyama Limba
1025Cody V RimCanada2024-06-03King, Christopher A Esq PROPOSAL86Amy Elsner
1026Smith H CaudyUnited Kingdom2024-06-04Chapman, Ross E Esq PROPOSAL9Amy Elsner
1027Leon I PaprockiCanada2024-05-27Chapman, Ross E Esq PROPOSAL45Xuxue Feng
1028Nicolas B MaletCanada2024-06-14Rangoni Of Florence QUALIFIED6Onyama Limba
1029Mujtaba G OstroskySpain2024-06-10Chemel, James L Cpa RENEWAL71Stephen Shaw
1030Darci Y DoeJapan2024-06-09Printing Dimensions RENEWAL10Asiya Javayant
1031Aditya B GillianCanada2024-06-06Truhlar And Truhlar Attys PROPOSAL19Anna Fali
1032Octavia G FlosiFrance2024-05-24Printing Dimensions PROPOSAL53Ivan Magalhaes
1033Jones S GillianAustralia2024-05-30Feiner Bros QUALIFIED71Xuxue Feng
1034Ashley Y MaletUnited Kingdom2024-06-03Rousseaux, Michael Esq QUALIFIED2Amy Elsner
1035Arvin N FerenczBrazil2024-05-22Printing Dimensions NEW79Elwin Sharvill
1036Darci E NickaArgentina2024-06-01Feiner Bros RENEWAL1Xuxue Feng
1037Maria G WieserBrazil2024-05-27Buckley Miller Wright UNQUALIFIED43Onyama Limba
1038Salvatore E MarrierItaly2024-05-22Truhlar And Truhlar Attys PROPOSAL6Elwin Sharvill
1039Misaki T VocelkaRussia2024-06-17King, Christopher A Esq QUALIFIED71Bernardo Dominic
1040Ivar P BowleyUnited Kingdom2024-06-17Chapman, Ross E Esq RENEWAL23Anna Fali
1041Aika G AlbaresArgentina2024-06-17Benton, John B Jr UNQUALIFIED3Onyama Limba
1042Leon P RutaArgentina2024-05-20Truhlar And Truhlar Attys NEGOTIATION80Elwin Sharvill
1043Alejandro H CaudyBrazil2024-05-31Truhlar And Truhlar Attys PROPOSAL66Bernardo Dominic
1044Nicolas T WaycottGermany2024-05-25Commercial Press NEGOTIATION43Bernardo Dominic
1045Kaitlin V RutaBrazil2024-06-03Commercial Press QUALIFIED83Elwin Sharvill
1046David D CampainRussia2024-05-20Printing Dimensions RENEWAL98Ivan Magalhaes
1047Jeanfrancois F WaycottFrance2024-06-16Chanay, Jeffrey A Esq NEGOTIATION94Ioni Bowcher
1048Jefferson X FigeroaFrance2024-05-28Dorl, James J Esq UNQUALIFIED46Stephen Shaw
1049Arvin K RulapaughArgentina2024-06-09Printing Dimensions RENEWAL13Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Kadeem R TollnerAustraliaIoni Bowcher RENEWAL
Leon V SaylorsJapanXuxue Feng QUALIFIED
Alejandro J VenereItalyOnyama Limba PROPOSAL
Cody G AlbaresArgentinaIvan Magalhaes QUALIFIED
Tony G FollerSpainAmy Elsner QUALIFIED
Kadeem W StensethAustraliaElwin Sharvill UNQUALIFIED
Isabel O TollnerBrazilAsiya Javayant QUALIFIED
Misaki F TollnerSpainStephen Shaw QUALIFIED
Smith M AlbaresGermanyBernardo Dominic QUALIFIED
Isabel Q VenereJapanIvan Magalhaes UNQUALIFIED
Jefferson X TollnerUnited KingdomAmy Elsner PROPOSAL
Aika V PaprockiArgentinaElwin Sharvill NEGOTIATION
Sinclair Z PerinRussiaIvan Magalhaes NEGOTIATION
James E WaycottSpainIoni Bowcher NEW
Mayumi Z FollerUnited KingdomBernardo Dominic QUALIFIED
Misaki Z StensethItalyAmy Elsner QUALIFIED
Claire Z DilliardItalyAmy Elsner PROPOSAL
Darci C ShinkoRussiaAnna Fali UNQUALIFIED
Misaki D FerenczArgentinaOnyama Limba NEW
Johnson M CaudyAustraliaBernardo Dominic QUALIFIED
Morrow J ButtItalyXuxue Feng NEGOTIATION
Leja G RulapaughGermanyAnna Fali UNQUALIFIED
Mujtaba L ShinkoRussiaIvan Magalhaes NEW
Sinclair B MarrierArgentinaAsiya Javayant QUALIFIED
Francesco H PaprockiUnited KingdomOnyama Limba NEW
Adams V DoeRussiaIoni Bowcher PROPOSAL
Salvatore H TollnerItalyAmy Elsner UNQUALIFIED
Kaitlin S StensethBrazilIvan Magalhaes QUALIFIED
Octavia M PerinBrazilBernardo Dominic NEW
Sinclair N FollerItalyOnyama Limba RENEWAL
Mayumi A SchemmerArgentinaXuxue Feng NEW
Aruna K PerinItalyOnyama Limba RENEWAL
Claire Y AmigonIndiaAmy Elsner NEGOTIATION
Jeanfrancois R OstroskyBrazilIvan Magalhaes RENEWAL
Nicolas N NickaIndiaOnyama Limba NEW
Ivar A WaycottRussiaAnna Fali QUALIFIED
Sinclair U KolmetzJapanAmy Elsner NEW
Ashley T SchemmerIndiaAmy Elsner NEGOTIATION
Maisha C MorascaItalyAmy Elsner PROPOSAL
Isabel W RoysterIndiaBernardo Dominic QUALIFIED
Salvatore A RoysterJapanElwin Sharvill RENEWAL
James Z IturbideRussiaAnna Fali PROPOSAL
Misaki R NickaFranceIoni Bowcher NEGOTIATION
Adams C RulapaughGermanyAmy Elsner QUALIFIED
Maria W CaldareraUnited KingdomXuxue Feng UNQUALIFIED
Faith D OldroydRussiaAmy Elsner NEGOTIATION
Cody A GlickArgentinaIoni Bowcher NEW
Tony P MaletSpainOnyama Limba QUALIFIED
Nicolas B RoysterArgentinaIvan Magalhaes UNQUALIFIED
Johnson P NickaIndiaOnyama Limba NEW
Frozen Columns
Name
Mayumi Y Stenseth
Chavez U Maclead
Salvatore U Venere
Nicolas U Figeroa
Silvio T Garufi
Mujtaba I Nicka
Ashley V Rim
Aika F Gillian
Johnson N Malet
Smith K Butt
Wickens B Oldroyd
Emily S Rim
Aruna B Caudy
Rodrigues B Wieser
Aika T Chui
Clifford L Iturbide
Julie W Shinko
Darci A Foller
Stacey C Morasca
Salvatore Z Perin
Julie E Morasca
Munro P Ostrosky
Aruna Z Kolmetz
Juan F Tollner
Jennifer Z Ruta
Francesco W Whobrey
Jefferson T Garufi
Salvatore J Oldroyd
Tony R Figeroa
Jennifer F Marrier
Clifford G Darakjy
Francesco P Gillian
Emily F Kolmetz
Tony X Sergi
Aika G Ruta
Mujtaba G Inouye
Silvio J Venere
Faith I Amigon
Ivar A Nestle
Munro K Caldarera
Mayumi X Whobrey
Jones T Amigon
Kadeem V Ostrosky
Rodrigues U Darakjy
Kadeem I Kusko
Murillo R Morasca
Greenwood W Dilliard
Salvatore R Poquette
Stacey Y Glick
Jones M Chui
IdCountryDate
1000Russia2024-06-08
1001Canada2024-05-26
1002Argentina2024-06-12
1003India2024-06-01
1004United Kingdom2024-06-12
1005Canada2024-05-25
1006United Kingdom2024-06-10
1007Italy2024-06-01
1008Spain2024-05-20
1009Germany2024-05-23
1010France2024-05-26
1011Argentina2024-06-04
1012Germany2024-05-19
1013United Kingdom2024-06-07
1014Brazil2024-06-17
1015Spain2024-05-20
1016Spain2024-06-15
1017United Kingdom2024-05-27
1018India2024-06-07
1019Brazil2024-06-01
1020Germany2024-06-06
1021Argentina2024-06-04
1022Russia2024-06-02
1023United Kingdom2024-06-12
1024Japan2024-05-24
1025France2024-05-30
1026Italy2024-06-04
1027Russia2024-06-05
1028Germany2024-06-17
1029United Kingdom2024-05-25
1030Canada2024-06-10
1031Germany2024-06-05
1032Canada2024-06-17
1033Australia2024-05-20
1034Spain2024-05-27
1035France2024-05-28
1036Argentina2024-06-17
1037Spain2024-06-01
1038Italy2024-06-10
1039Canada2024-06-14
1040United Kingdom2024-05-29
1041Brazil2024-05-24
1042Italy2024-06-06
1043Australia2024-06-05
1044Argentina2024-05-25
1045Japan2024-05-27
1046Canada2024-06-05
1047Australia2024-06-16
1048France2024-06-17
1049Italy2024-05-23

On-Demand Data

NameIdCountryDate
Juan J Bolognia1000Japan2024-06-03
Jennifer G Dilliard1001Spain2024-06-17
Silvio D Bowley1002Germany2024-06-03
Smith M Perin1003Italy2024-05-24
Stacey Z Flosi1004France2024-06-15
Juan Z Briddick1005Canada2024-05-31
Smith Z Paprocki1006Spain2024-05-19
Chavez E Albares1007Japan2024-05-22
Arvin R Marrier1008France2024-06-16
David C Shinko1009Australia2024-06-09
Kaitlin A Campain1010India2024-06-07
Aruna F Poquette1011France2024-05-29
Kadeem U Rim1012Spain2024-06-04
Morrow S Maclead1013Japan2024-05-29
Aruna F Kolmetz1014Spain2024-06-06
Costa V Nicka1015United Kingdom2024-05-25
Munro E Sergi1016France2024-06-03
Aditya K Inouye1017Japan2024-06-06
Ivar T Bowley1018United Kingdom2024-05-29
Adams L Chui1019Japan2024-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo L NestleGermanyAsiya Javayant NEGOTIATION
Alejandro I RimIndiaBernardo Dominic NEGOTIATION
Leon G CampainIndiaElwin Sharvill RENEWAL
Stacey S SergiAustraliaAsiya Javayant QUALIFIED
Aika P ButtAustraliaXuxue Feng QUALIFIED
Leon O FollerItalyBernardo Dominic NEGOTIATION
Stacey F GauchoGermanyAmy Elsner PROPOSAL
Misaki M AlbaresGermanyStephen Shaw PROPOSAL
Isabel V RimUnited KingdomElwin Sharvill NEGOTIATION
Faith D IturbideArgentinaAmy Elsner QUALIFIED
Tony J RoysterCanadaAsiya Javayant UNQUALIFIED
Cody F PoquetteRussiaIvan Magalhaes PROPOSAL
Maisha E RimItalyOnyama Limba NEGOTIATION
Stacey L RulapaughArgentinaOnyama Limba RENEWAL
Adams A FerenczBrazilElwin Sharvill NEW
Silvio N RimBrazilAmy Elsner PROPOSAL
Alejandro X PaprockiJapanXuxue Feng NEGOTIATION
David V MaletIndiaOnyama Limba NEW
Johnson O SchemmerArgentinaIvan Magalhaes RENEWAL
David C PoquetteUnited KingdomXuxue Feng NEW
Stacey X TollnerBrazilXuxue Feng UNQUALIFIED
Greenwood S GlickJapanAsiya Javayant QUALIFIED
Nicolas X StensethIndiaOnyama Limba NEGOTIATION
Kadeem D DilliardBrazilStephen Shaw NEW
Stacey D GillianSpainAmy Elsner NEGOTIATION
Johnson O MarrierUnited KingdomAmy Elsner NEGOTIATION
Octavia Z DilliardFranceXuxue Feng PROPOSAL
Aditya T WaycottIndiaStephen Shaw PROPOSAL
Stacey G SchemmerArgentinaOnyama Limba NEW
Morrow P DilliardIndiaAsiya Javayant PROPOSAL
Aruna Q PoquetteRussiaAsiya Javayant NEW
Adams J InouyeRussiaOnyama Limba NEGOTIATION
Claire G BriddickGermanyAnna Fali RENEWAL
James C FlosiItalyBernardo Dominic RENEWAL
Faith O PerinBrazilIvan Magalhaes NEGOTIATION
Mayumi Q OldroydBrazilIoni Bowcher NEW
Sinclair U WieserRussiaStephen Shaw NEW
Jones Z BologniaGermanyIoni Bowcher PROPOSAL
Costa T StockhamRussiaOnyama Limba NEGOTIATION
Julie V MorascaIndiaIoni Bowcher 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>