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
Isabel O RimItalyElwin Sharvill NEW
Francesco E BowleyArgentinaElwin Sharvill PROPOSAL
James O BriddickUnited KingdomAmy Elsner UNQUALIFIED
Tony Y SchemmerIndiaStephen Shaw NEGOTIATION
Rodrigues S ChuiAustraliaXuxue Feng PROPOSAL
Johnson W KolmetzBrazilIoni Bowcher NEGOTIATION
Adams N MaletArgentinaAnna Fali NEW
Leon J NestleBrazilAnna Fali NEW
Rodrigues W FollerFranceOnyama Limba UNQUALIFIED
Chavez C FlosiAustraliaAnna Fali UNQUALIFIED
Arvin V WieserBrazilBernardo Dominic NEW
Octavia Z CaldareraBrazilElwin Sharvill NEGOTIATION
Jones R ChuiBrazilStephen Shaw UNQUALIFIED
Emily W TollnerFranceOnyama Limba UNQUALIFIED
Leja R CampainCanadaElwin Sharvill QUALIFIED
Mujtaba W SaylorsIndiaOnyama Limba NEGOTIATION
Cody E VenereAustraliaIvan Magalhaes QUALIFIED
Murillo R AlbaresJapanAsiya Javayant QUALIFIED
Jeanfrancois I GarufiRussiaAsiya Javayant PROPOSAL
Antonio M IturbideFranceElwin Sharvill NEW
Octavia Z IturbideBrazilOnyama Limba PROPOSAL
Ivar H PerinGermanyBernardo Dominic RENEWAL
Rodrigues W DarakjyJapanAnna Fali QUALIFIED
Julie E PaprockiAustraliaBernardo Dominic RENEWAL
Silvio D AlbaresAustraliaAnna Fali RENEWAL
Greenwood A NickaSpainXuxue Feng UNQUALIFIED
Kadeem G TollnerAustraliaOnyama Limba PROPOSAL
Francesco D MacleadCanadaIvan Magalhaes NEGOTIATION
Jefferson Y FlosiItalyAnna Fali NEGOTIATION
Faith J RimGermanyIoni Bowcher UNQUALIFIED
Rodrigues V WieserSpainElwin Sharvill PROPOSAL
Aruna G GauchoUnited KingdomStephen Shaw UNQUALIFIED
Sinclair I AmigonFranceIvan Magalhaes NEGOTIATION
Kaitlin I SaylorsJapanStephen Shaw QUALIFIED
Stacey M PerinJapanAmy Elsner UNQUALIFIED
Emily L StockhamCanadaElwin Sharvill NEW
Francesco N VenereArgentinaBernardo Dominic RENEWAL
Kaitlin F GillianGermanyAmy Elsner RENEWAL
Aruna J BriddickUnited KingdomOnyama Limba QUALIFIED
Aruna K FigeroaArgentinaAsiya Javayant NEGOTIATION
Antonio C WhobreyRussiaIvan Magalhaes NEW
Aika U AmigonGermanyAmy Elsner RENEWAL
Aditya K BriddickCanadaXuxue Feng NEGOTIATION
Ivar J SchemmerBrazilAnna Fali QUALIFIED
Mujtaba V PerinFranceXuxue Feng UNQUALIFIED
Aditya B StockhamJapanAsiya Javayant PROPOSAL
Morrow L WhobreyIndiaIvan Magalhaes UNQUALIFIED
Izzy Z FigeroaBrazilBernardo Dominic NEW
Misaki V GlickFranceStephen Shaw RENEWAL
Mujtaba I SergiFranceAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Maisha N GarufiCanadaStephen Shaw PROPOSAL
Murillo H VocelkaAustraliaOnyama Limba NEGOTIATION
Kadeem K WaycottIndiaBernardo Dominic PROPOSAL
Costa A CaudyArgentinaStephen Shaw UNQUALIFIED
Murillo C DarakjyAustraliaAmy Elsner QUALIFIED
Emily E StockhamArgentinaOnyama Limba NEGOTIATION
Alejandro N ShinkoItalyStephen Shaw UNQUALIFIED
Greenwood K SchemmerIndiaAnna Fali NEW
Johnson J CampainBrazilXuxue Feng NEGOTIATION
Mayumi T RoysterFranceXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie M PaprockiCanada2026-07-06Morlong Associates NEGOTIATION84Amy Elsner
1001Deepesh O VenereUnited Kingdom2026-07-02Commercial Press NEW60Stephen Shaw
1002Ashley F ShinkoCanada2026-07-12King, Christopher A Esq PROPOSAL60Onyama Limba
1003Antonio Y MaletFrance2026-07-14Feltz Printing Service NEW16Ioni Bowcher
1004Darci Q PerinItaly2026-07-11Buckley Miller Wright RENEWAL10Stephen Shaw
1005Jennifer K SaylorsBrazil2026-06-16Printing Dimensions QUALIFIED20Amy Elsner
1006Juan Q MacleadSpain2026-06-24Dorl, James J Esq NEW70Anna Fali
1007Nicolas Y MacleadItaly2026-06-27Dorl, James J Esq QUALIFIED98Bernardo Dominic
1008Greenwood Y WieserIndia2026-07-11Truhlar And Truhlar Attys NEGOTIATION79Elwin Sharvill
1009Maria M ShinkoIndia2026-06-23Printing Dimensions NEGOTIATION94Onyama Limba
1010Emily E GarufiItaly2026-07-05Benton, John B Jr QUALIFIED74Anna Fali
1011Greenwood G SaylorsSpain2026-07-14Feltz Printing Service QUALIFIED84Elwin Sharvill
1012Smith B WaycottRussia2026-06-27Chanay, Jeffrey A Esq RENEWAL83Asiya Javayant
1013Kadeem C SergiItaly2026-07-10Buckley Miller Wright RENEWAL11Stephen Shaw
1014Smith Q RulapaughFrance2026-06-30Chapman, Ross E Esq UNQUALIFIED13Xuxue Feng
1015Nicolas A WieserBrazil2026-06-16Printing Dimensions PROPOSAL25Ioni Bowcher
1016Darci L KolmetzIndia2026-06-20Chemel, James L Cpa NEGOTIATION67Asiya Javayant
1017Aditya N PoquetteCanada2026-06-29Buckley Miller Wright NEW31Asiya Javayant
1018Silvio R OldroydFrance2026-07-14Chapman, Ross E Esq NEGOTIATION5Xuxue Feng
1019James D BriddickCanada2026-07-05Feiner Bros NEW26Onyama Limba
1020Kadeem N FerenczBrazil2026-07-10Feiner Bros UNQUALIFIED76Ioni Bowcher
1021Arvin E RimAustralia2026-07-01Rangoni Of Florence PROPOSAL10Asiya Javayant
1022Mujtaba I BowleyCanada2026-06-17Chapman, Ross E Esq PROPOSAL53Bernardo Dominic
1023Stacey Z OldroydArgentina2026-06-23Commercial Press NEW80Onyama Limba
1024Aika Q SaylorsArgentina2026-07-12King, Christopher A Esq NEW7Stephen Shaw
1025Darci T VenereJapan2026-06-19Commercial Press NEW51Bernardo Dominic
1026Nicolas D OldroydSpain2026-06-30Benton, John B Jr RENEWAL10Xuxue Feng
1027Faith K WhobreyRussia2026-06-27Truhlar And Truhlar Attys PROPOSAL91Xuxue Feng
1028Mujtaba T OstroskyCanada2026-06-20Chanay, Jeffrey A Esq PROPOSAL35Ioni Bowcher
1029Silvio D WhobreyUnited Kingdom2026-06-16Buckley Miller Wright NEGOTIATION0Elwin Sharvill
1030Emily M GlickRussia2026-06-18Chanay, Jeffrey A Esq NEW81Amy Elsner
1031Tony X DilliardIndia2026-07-07Morlong Associates NEGOTIATION7Elwin Sharvill
1032Isabel E SergiJapan2026-07-11Feiner Bros UNQUALIFIED7Stephen Shaw
1033Ashley T NestleGermany2026-06-18Feltz Printing Service RENEWAL88Xuxue Feng
1034Munro E AlbaresCanada2026-07-11King, Christopher A Esq QUALIFIED93Ivan Magalhaes
1035Cody D StockhamJapan2026-07-13Rousseaux, Michael Esq UNQUALIFIED43Elwin Sharvill
1036Jeanfrancois U PoquetteCanada2026-06-29Chanay, Jeffrey A Esq NEGOTIATION10Ioni Bowcher
1037Aditya N SchemmerArgentina2026-07-12Chemel, James L Cpa NEW16Elwin Sharvill
1038Jones J OstroskyJapan2026-07-09Rangoni Of Florence UNQUALIFIED1Stephen Shaw
1039Claire O FollerGermany2026-06-30Truhlar And Truhlar Attys NEW48Amy Elsner
1040Jefferson H PaprockiFrance2026-07-05Dorl, James J Esq RENEWAL25Elwin Sharvill
1041James D StensethUnited Kingdom2026-06-24Rangoni Of Florence RENEWAL84Amy Elsner
1042Misaki P DilliardFrance2026-06-28Dorl, James J Esq NEGOTIATION42Asiya Javayant
1043Smith Y MaletGermany2026-07-01Printing Dimensions RENEWAL74Elwin Sharvill
1044David C TollnerGermany2026-06-20Rangoni Of Florence NEW18Bernardo Dominic
1045Greenwood M SlusarskiRussia2026-07-02Chemel, James L Cpa PROPOSAL0Bernardo Dominic
1046Nicolas X ChuiJapan2026-07-15Rangoni Of Florence UNQUALIFIED19Bernardo Dominic
1047Jones T BriddickIndia2026-07-09Chanay, Jeffrey A Esq NEGOTIATION83Onyama Limba
1048Octavia A FigeroaUnited Kingdom2026-06-26Chemel, James L Cpa NEGOTIATION69Bernardo Dominic
1049Jeanfrancois M FigeroaJapan2026-07-11Chapman, Ross E Esq UNQUALIFIED29Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Isabel P KolmetzSpainOnyama Limba RENEWAL
Stacey D OldroydCanadaElwin Sharvill NEW
Mujtaba N RoysterFranceElwin Sharvill RENEWAL
Emily B WhobreyCanadaStephen Shaw NEGOTIATION
Greenwood R AlbaresSpainXuxue Feng NEW
Ivar P RulapaughIndiaIoni Bowcher NEW
Morrow V DarakjyRussiaAnna Fali QUALIFIED
Deepesh Z RoysterUnited KingdomAmy Elsner UNQUALIFIED
Kadeem O DarakjyUnited KingdomStephen Shaw UNQUALIFIED
Tony C SlusarskiJapanAnna Fali NEGOTIATION
Ricardo X CampainGermanyElwin Sharvill RENEWAL
David F AmigonFranceAsiya Javayant QUALIFIED
Arvin S BologniaFranceElwin Sharvill PROPOSAL
Wickens W OstroskyUnited KingdomStephen Shaw PROPOSAL
Arvin F OldroydItalyStephen Shaw RENEWAL
Clifford K GauchoUnited KingdomAsiya Javayant NEW
Greenwood X WieserRussiaStephen Shaw QUALIFIED
Francesco L MacleadFranceBernardo Dominic NEW
Chavez N GlickUnited KingdomAsiya Javayant UNQUALIFIED
Faith M CampainFranceStephen Shaw UNQUALIFIED
Izzy Z WaycottIndiaAnna Fali NEGOTIATION
James H RoysterSpainIoni Bowcher QUALIFIED
Nicolas E BriddickUnited KingdomIvan Magalhaes PROPOSAL
Mayumi M StensethGermanyAnna Fali NEW
Juan L SchemmerCanadaAnna Fali UNQUALIFIED
Juan W SchemmerFranceOnyama Limba RENEWAL
Izzy S MaletGermanyAnna Fali UNQUALIFIED
Ashley P KuskoBrazilOnyama Limba QUALIFIED
Stacey D RulapaughGermanyIvan Magalhaes NEW
Jefferson A SaylorsIndiaIoni Bowcher UNQUALIFIED
Tony E WieserIndiaBernardo Dominic NEGOTIATION
Arvin D SaylorsFranceXuxue Feng NEGOTIATION
Wickens P AlbaresUnited KingdomOnyama Limba NEGOTIATION
Jeanfrancois M VocelkaBrazilIoni Bowcher PROPOSAL
Leon V NestleArgentinaAnna Fali QUALIFIED
Jennifer T VocelkaItalyIoni Bowcher NEGOTIATION
Jennifer Z GarufiArgentinaAnna Fali QUALIFIED
Clifford L IturbideGermanyIvan Magalhaes UNQUALIFIED
Faith I DarakjyFranceXuxue Feng UNQUALIFIED
Jennifer W InouyeArgentinaStephen Shaw RENEWAL
Julie X KuskoBrazilAsiya Javayant QUALIFIED
Ivar N SlusarskiItalyElwin Sharvill UNQUALIFIED
Izzy X SlusarskiArgentinaIvan Magalhaes RENEWAL
Mujtaba R GarufiGermanyIoni Bowcher NEGOTIATION
Greenwood U DarakjyCanadaOnyama Limba NEW
Francesco S MarrierCanadaIoni Bowcher RENEWAL
Misaki M RoysterBrazilElwin Sharvill NEW
James Y ChuiUnited KingdomIoni Bowcher QUALIFIED
Francesco S DarakjyGermanyElwin Sharvill PROPOSAL
James C CaudyJapanBernardo Dominic QUALIFIED
Frozen Columns
Name
Octavia U Rulapaugh
Greenwood S Glick
Arvin I Maclead
Francesco M Malet
Ashley F Stenseth
Darci C Ruta
Murillo I Bowley
Deepesh P Ostrosky
Octavia G Shinko
Francesco G Saylors
Darci O Sergi
Aruna E Schemmer
Maisha R Dilliard
David Z Darakjy
David D Kusko
Smith X Doe
Alejandro N Morasca
Jones I Figeroa
Morrow U Sergi
Nicolas I Vocelka
Aditya N Schemmer
Maisha M Glick
Rodrigues N Nicka
Mujtaba E Royster
Jones J Marrier
James O Albares
Stacey M Doe
Clifford Y Morasca
Aika H Oldroyd
Jones R Caudy
Darci H Albares
Ashley A Bowley
Nicolas V Briddick
Greenwood I Ferencz
Alejandro X Darakjy
Nicolas X Stockham
Munro F Figeroa
Isabel H Ferencz
Misaki L Gillian
Kaitlin J Paprocki
Ivar Y Bolognia
Octavia S Malet
Johnson Z Schemmer
Aruna W Kusko
Costa T Amigon
Clifford Q Morasca
Kaitlin F Morasca
Jefferson Y Darakjy
James K Figeroa
Deepesh O Schemmer
IdCountryDate
1000India2026-06-27
1001Argentina2026-06-27
1002India2026-07-05
1003Italy2026-07-06
1004France2026-06-16
1005Canada2026-06-22
1006United Kingdom2026-07-09
1007France2026-07-02
1008India2026-07-08
1009Russia2026-07-05
1010Australia2026-07-07
1011France2026-06-28
1012Argentina2026-07-15
1013Canada2026-06-23
1014Brazil2026-06-23
1015France2026-07-06
1016Australia2026-06-30
1017United Kingdom2026-06-27
1018France2026-07-11
1019Spain2026-06-23
1020Brazil2026-07-13
1021Australia2026-07-12
1022Spain2026-07-14
1023Canada2026-07-07
1024India2026-06-30
1025Spain2026-07-04
1026United Kingdom2026-07-08
1027Russia2026-07-06
1028Argentina2026-07-10
1029Australia2026-06-22
1030United Kingdom2026-06-16
1031Canada2026-07-04
1032France2026-07-10
1033Japan2026-06-19
1034Argentina2026-06-25
1035France2026-07-04
1036Germany2026-07-07
1037Germany2026-07-02
1038Argentina2026-07-09
1039France2026-07-04
1040India2026-07-10
1041Spain2026-06-29
1042France2026-06-28
1043India2026-07-05
1044Brazil2026-07-02
1045France2026-06-17
1046United Kingdom2026-06-16
1047Russia2026-06-22
1048Argentina2026-06-21
1049Russia2026-06-19

On-Demand Data

NameIdCountryDate
Alejandro C Rim1000Brazil2026-07-09
Jones F Nestle1001France2026-06-27
Francesco L Ferencz1002Germany2026-06-22
Adams A Whobrey1003France2026-07-01
Salvatore A Darakjy1004France2026-06-23
Rodrigues Q Amigon1005Australia2026-06-27
David Z Wieser1006Argentina2026-07-12
Tony X Poquette1007Japan2026-06-27
Sinclair Y Bowley1008Japan2026-07-09
Darci X Malet1009India2026-07-14
Nicolas R Stockham1010Australia2026-07-03
Mujtaba G Garufi1011Japan2026-06-26
Chavez F Amigon1012Australia2026-06-18
Cody O Flosi1013Australia2026-07-05
Ricardo B Waycott1014France2026-07-15
Aditya V Flosi1015United Kingdom2026-06-29
Johnson G Ferencz1016Canada2026-07-07
Maisha L Doe1017India2026-07-15
Emily C Vocelka1018Australia2026-07-04
Ivar V Flosi1019Australia2026-07-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya B DoeGermanyOnyama Limba QUALIFIED
Adams Q PoquetteBrazilAmy Elsner NEGOTIATION
Mayumi B BowleyRussiaIoni Bowcher QUALIFIED
Aditya L DoeArgentinaAmy Elsner RENEWAL
Tony Z NestleIndiaAsiya Javayant NEW
Claire S OldroydAustraliaOnyama Limba QUALIFIED
Johnson L MorascaBrazilAsiya Javayant QUALIFIED
Maisha K CampainSpainOnyama Limba NEGOTIATION
Julie J GauchoGermanyOnyama Limba QUALIFIED
Arvin N WaycottAustraliaAnna Fali PROPOSAL
Jeanfrancois I PoquetteGermanyAnna Fali PROPOSAL
Aruna B CampainRussiaIvan Magalhaes PROPOSAL
Isabel A WhobreyCanadaBernardo Dominic QUALIFIED
Emily W VenereUnited KingdomIoni Bowcher NEW
Emily W CaldareraArgentinaOnyama Limba NEW
Salvatore M TollnerFranceOnyama Limba NEGOTIATION
Salvatore B ChuiItalyAnna Fali NEW
Jefferson U DoeFranceXuxue Feng NEGOTIATION
Silvio N MaletFranceBernardo Dominic RENEWAL
Salvatore G PaprockiArgentinaAsiya Javayant NEGOTIATION
Clifford D FlosiRussiaXuxue Feng QUALIFIED
Mayumi C KuskoJapanAnna Fali RENEWAL
Nicolas U AlbaresUnited KingdomAsiya Javayant QUALIFIED
Claire M KolmetzRussiaAmy Elsner PROPOSAL
Jefferson E WieserCanadaXuxue Feng QUALIFIED
Mayumi L CaldareraJapanAmy Elsner UNQUALIFIED
Darci N MorascaSpainIoni Bowcher NEW
Jones U GauchoFranceXuxue Feng NEW
Jones Y FerenczCanadaAmy Elsner PROPOSAL
Sinclair Y RoysterRussiaStephen Shaw RENEWAL
Leja B CampainUnited KingdomIoni Bowcher NEGOTIATION
David O SergiUnited KingdomAnna Fali QUALIFIED
Izzy H TollnerSpainIoni Bowcher QUALIFIED
Adams R DoeItalyIvan Magalhaes RENEWAL
Costa D NestleUnited KingdomStephen Shaw QUALIFIED
Ashley T FerenczCanadaStephen Shaw RENEWAL
Costa K MarrierGermanyElwin Sharvill UNQUALIFIED
Izzy E PaprockiCanadaElwin Sharvill NEGOTIATION
Isabel B KolmetzItalyAnna Fali PROPOSAL
Ivar N FigeroaSpainAmy Elsner RENEWAL

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