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
Jeanfrancois D MorascaCanadaStephen Shaw RENEWAL
Emily M NickaGermanyAsiya Javayant NEGOTIATION
Munro C VocelkaGermanyAmy Elsner PROPOSAL
Faith V WhobreyItalyAmy Elsner RENEWAL
Cody E BriddickIndiaBernardo Dominic QUALIFIED
Nicolas A MaletUnited KingdomBernardo Dominic UNQUALIFIED
Adams N PerinIndiaAnna Fali NEGOTIATION
Ricardo F SergiRussiaIoni Bowcher RENEWAL
Antonio P FigeroaFranceAmy Elsner NEGOTIATION
Sinclair Z VocelkaItalyAmy Elsner NEGOTIATION
Leja Y MaletCanadaOnyama Limba NEGOTIATION
Cody H SaylorsIndiaBernardo Dominic NEW
Munro W DilliardUnited KingdomAnna Fali RENEWAL
Munro D CaudyAustraliaAsiya Javayant PROPOSAL
Aditya X CampainArgentinaAnna Fali UNQUALIFIED
Jennifer Y OldroydGermanyAsiya Javayant QUALIFIED
Leon L MaletArgentinaAsiya Javayant PROPOSAL
Kaitlin K GlickBrazilAsiya Javayant NEGOTIATION
Mujtaba F NestleRussiaBernardo Dominic QUALIFIED
Claire D AlbaresArgentinaBernardo Dominic RENEWAL
Jones R AmigonBrazilAmy Elsner NEGOTIATION
Wickens W CaldareraJapanAmy Elsner RENEWAL
Deepesh N WieserUnited KingdomIvan Magalhaes PROPOSAL
Francesco S GillianUnited KingdomElwin Sharvill NEW
Kaitlin N MorascaCanadaIvan Magalhaes RENEWAL
Cody K StockhamIndiaAsiya Javayant NEW
James D VocelkaFranceBernardo Dominic NEW
Smith Q MacleadUnited KingdomAsiya Javayant NEGOTIATION
Deepesh D ShinkoArgentinaOnyama Limba UNQUALIFIED
Silvio D GlickSpainElwin Sharvill PROPOSAL
Munro K RimAustraliaAsiya Javayant NEW
Clifford V WhobreyRussiaOnyama Limba NEW
Johnson W AlbaresArgentinaBernardo Dominic PROPOSAL
Izzy G ButtJapanOnyama Limba UNQUALIFIED
Octavia E VenereCanadaIvan Magalhaes QUALIFIED
Morrow A MaletIndiaOnyama Limba PROPOSAL
Clifford H StensethAustraliaElwin Sharvill NEW
Faith C PerinArgentinaAnna Fali PROPOSAL
Leja D BowleyItalyBernardo Dominic PROPOSAL
Aika R TollnerIndiaAnna Fali NEW
Francesco R FerenczItalyBernardo Dominic PROPOSAL
Clifford L BologniaJapanIvan Magalhaes NEGOTIATION
Antonio J DoeBrazilIvan Magalhaes RENEWAL
Costa A DarakjyGermanyOnyama Limba RENEWAL
Kaitlin U WhobreyArgentinaElwin Sharvill PROPOSAL
Nicolas B NestleRussiaAmy Elsner UNQUALIFIED
Rodrigues N ShinkoGermanyStephen Shaw RENEWAL
Antonio N DilliardIndiaIoni Bowcher UNQUALIFIED
Wickens U AlbaresUnited KingdomAnna Fali UNQUALIFIED
Adams Q NestleItalyIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Jones D MaletArgentinaOnyama Limba UNQUALIFIED
Rodrigues O FerenczRussiaIvan Magalhaes PROPOSAL
Misaki T GarufiAustraliaAmy Elsner PROPOSAL
Aruna B OstroskyItalyElwin Sharvill NEW
Isabel B PoquetteCanadaIoni Bowcher UNQUALIFIED
Salvatore B SchemmerIndiaAsiya Javayant NEW
Emily S RimFranceElwin Sharvill UNQUALIFIED
Salvatore G OldroydJapanStephen Shaw NEGOTIATION
Alejandro W SergiIndiaXuxue Feng QUALIFIED
Wickens Y IturbideGermanyStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily X IturbideCanada2024-04-27Printing Dimensions UNQUALIFIED16Elwin Sharvill
1001Munro L SaylorsBrazil2024-05-03Feiner Bros NEW19Amy Elsner
1002Salvatore I WaycottBrazil2024-05-08Chanay, Jeffrey A Esq NEW58Stephen Shaw
1003Darci O TollnerGermany2024-05-20Buckley Miller Wright QUALIFIED27Bernardo Dominic
1004Alejandro Q PoquetteArgentina2024-05-18Dorl, James J Esq NEW65Anna Fali
1005Ashley E CaudyUnited Kingdom2024-05-23King, Christopher A Esq NEGOTIATION97Stephen Shaw
1006Mayumi G WieserRussia2024-05-21Truhlar And Truhlar Attys QUALIFIED91Anna Fali
1007Munro X FerenczFrance2024-05-21Benton, John B Jr QUALIFIED53Ioni Bowcher
1008Aika C NickaRussia2024-05-23Chanay, Jeffrey A Esq QUALIFIED13Anna Fali
1009Nicolas Y GlickRussia2024-04-27Rangoni Of Florence PROPOSAL89Anna Fali
1010Cody Y BologniaFrance2024-05-05Commercial Press NEW87Asiya Javayant
1011Arvin G RoysterGermany2024-05-14Morlong Associates RENEWAL29Anna Fali
1012Kadeem T VenereGermany2024-05-01Printing Dimensions RENEWAL58Ioni Bowcher
1013Faith X StensethRussia2024-05-06Truhlar And Truhlar Attys PROPOSAL97Stephen Shaw
1014Munro K SaylorsRussia2024-05-11Chemel, James L Cpa NEGOTIATION80Xuxue Feng
1015Ricardo L WaycottSpain2024-05-07Rousseaux, Michael Esq RENEWAL73Xuxue Feng
1016Emily W FerenczCanada2024-04-28Chapman, Ross E Esq PROPOSAL56Amy Elsner
1017Munro P KolmetzItaly2024-05-22Printing Dimensions NEW17Ivan Magalhaes
1018Tony Q WieserBrazil2024-04-26Dorl, James J Esq UNQUALIFIED50Ioni Bowcher
1019Jeanfrancois P VenereAustralia2024-05-12Buckley Miller Wright QUALIFIED50Ivan Magalhaes
1020Cody D BologniaSpain2024-05-11Feltz Printing Service PROPOSAL26Bernardo Dominic
1021Leon J SchemmerGermany2024-05-23Buckley Miller Wright PROPOSAL80Elwin Sharvill
1022Adams Q InouyeAustralia2024-04-27Chapman, Ross E Esq RENEWAL38Ioni Bowcher
1023Johnson O DilliardJapan2024-05-21Benton, John B Jr RENEWAL2Ivan Magalhaes
1024Aruna E ButtRussia2024-05-14Chemel, James L Cpa PROPOSAL28Asiya Javayant
1025Tony N DilliardJapan2024-05-13Commercial Press NEW7Ioni Bowcher
1026Julie U FlosiSpain2024-05-03Buckley Miller Wright QUALIFIED41Ivan Magalhaes
1027Rodrigues W GillianIndia2024-05-12Truhlar And Truhlar Attys UNQUALIFIED78Onyama Limba
1028Chavez U InouyeJapan2024-05-24Dorl, James J Esq NEW9Amy Elsner
1029Maria S ChuiIndia2024-04-28Printing Dimensions QUALIFIED8Anna Fali
1030Jefferson S WhobreyRussia2024-05-16Printing Dimensions RENEWAL45Ioni Bowcher
1031Julie G NestleBrazil2024-05-23King, Christopher A Esq NEW94Amy Elsner
1032Kaitlin F GlickItaly2024-05-23Dorl, James J Esq NEW23Elwin Sharvill
1033Greenwood Q GauchoArgentina2024-04-27Chemel, James L Cpa RENEWAL56Amy Elsner
1034Leja N DoeSpain2024-05-11Truhlar And Truhlar Attys RENEWAL31Amy Elsner
1035Morrow I GlickUnited Kingdom2024-04-30Rangoni Of Florence NEW89Amy Elsner
1036Kaitlin C SaylorsGermany2024-05-21Dorl, James J Esq NEGOTIATION24Bernardo Dominic
1037Stacey X GlickFrance2024-05-14Rangoni Of Florence QUALIFIED33Amy Elsner
1038Octavia L NestleUnited Kingdom2024-05-18Feiner Bros UNQUALIFIED94Onyama Limba
1039Salvatore S NickaUnited Kingdom2024-05-06Truhlar And Truhlar Attys UNQUALIFIED89Asiya Javayant
1040Jeanfrancois U GillianGermany2024-05-18Truhlar And Truhlar Attys PROPOSAL73Stephen Shaw
1041Tony V WieserCanada2024-05-21Printing Dimensions NEGOTIATION60Stephen Shaw
1042Salvatore X ChuiArgentina2024-05-06Dorl, James J Esq NEW56Anna Fali
1043Rodrigues C ButtIndia2024-05-13Commercial Press PROPOSAL0Asiya Javayant
1044Morrow A MarrierCanada2024-05-20Rangoni Of Florence NEGOTIATION7Ivan Magalhaes
1045Jefferson E StensethFrance2024-04-28Rousseaux, Michael Esq RENEWAL55Onyama Limba
1046Aika W ChuiFrance2024-05-14Buckley Miller Wright NEGOTIATION51Anna Fali
1047Maisha B MorascaRussia2024-05-08Benton, John B Jr NEGOTIATION41Ivan Magalhaes
1048Adams J PerinJapan2024-05-10King, Christopher A Esq NEGOTIATION66Amy Elsner
1049Faith G SchemmerGermany2024-05-13Buckley Miller Wright NEGOTIATION49Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
James L OstroskyUnited KingdomIoni Bowcher QUALIFIED
Kadeem C VocelkaItalyAmy Elsner PROPOSAL
Izzy L CampainJapanBernardo Dominic NEW
Leon I NickaFranceIoni Bowcher UNQUALIFIED
Munro U MarrierRussiaAmy Elsner NEW
Octavia E CampainUnited KingdomAmy Elsner NEGOTIATION
James A VenereUnited KingdomAmy Elsner RENEWAL
Greenwood P GillianIndiaAmy Elsner NEGOTIATION
Costa X BologniaSpainIoni Bowcher PROPOSAL
Wickens I MaletIndiaIvan Magalhaes PROPOSAL
Aruna M StensethCanadaStephen Shaw UNQUALIFIED
Jefferson I MacleadBrazilOnyama Limba NEGOTIATION
Octavia E KuskoFranceElwin Sharvill QUALIFIED
Kaitlin Y DilliardCanadaAnna Fali QUALIFIED
Jennifer M MarrierGermanyBernardo Dominic RENEWAL
Silvio U IturbideJapanXuxue Feng QUALIFIED
Misaki Z MaletFranceIoni Bowcher RENEWAL
Isabel M RimUnited KingdomAsiya Javayant NEW
Aruna X PerinCanadaXuxue Feng UNQUALIFIED
David C FerenczAustraliaElwin Sharvill PROPOSAL
Jefferson U PerinJapanAnna Fali UNQUALIFIED
Isabel W SergiBrazilBernardo Dominic UNQUALIFIED
Nicolas T CampainItalyBernardo Dominic NEGOTIATION
Clifford I MaletCanadaOnyama Limba NEW
James H GillianUnited KingdomOnyama Limba QUALIFIED
Claire K PoquetteArgentinaAnna Fali NEW
Munro P MacleadIndiaXuxue Feng RENEWAL
Rodrigues E NestleAustraliaAmy Elsner NEGOTIATION
Ricardo C CaudyFranceIvan Magalhaes NEW
Silvio B FollerCanadaIvan Magalhaes NEW
Deepesh V RimAustraliaBernardo Dominic RENEWAL
Jennifer U PoquetteJapanElwin Sharvill UNQUALIFIED
Arvin V KuskoIndiaOnyama Limba QUALIFIED
Clifford M FollerRussiaElwin Sharvill RENEWAL
Adams K IturbideRussiaElwin Sharvill UNQUALIFIED
Mujtaba N AlbaresCanadaIoni Bowcher PROPOSAL
Izzy E SchemmerFranceBernardo Dominic NEGOTIATION
Leon G TollnerAustraliaIoni Bowcher NEW
Kaitlin H DilliardGermanyStephen Shaw RENEWAL
Darci G CampainFranceOnyama Limba QUALIFIED
Rodrigues R OstroskyItalyAnna Fali RENEWAL
Antonio C TollnerCanadaAmy Elsner NEW
Chavez P GauchoJapanOnyama Limba UNQUALIFIED
David B GillianRussiaStephen Shaw NEW
Clifford K KolmetzCanadaOnyama Limba RENEWAL
Aika D RutaJapanXuxue Feng UNQUALIFIED
Francesco A CampainBrazilXuxue Feng PROPOSAL
Antonio W CampainItalyStephen Shaw NEGOTIATION
Murillo I PoquetteGermanyAsiya Javayant NEGOTIATION
Deepesh M NickaItalyOnyama Limba UNQUALIFIED
Frozen Columns
Name
Kadeem T Saylors
Aditya L Dilliard
Cody J Malet
David W Sergi
Nicolas F Vocelka
Jefferson O Doe
Francesco H Nestle
Munro K Slusarski
Greenwood Z Royster
Greenwood G Vocelka
Morrow M Perin
Jennifer Q Ostrosky
Greenwood V Butt
Antonio N Stockham
Mujtaba X Whobrey
Smith V Glick
Murillo B Caudy
Wickens F Vocelka
Deepesh E Dilliard
Murillo J Figeroa
Isabel C Stockham
Adams Y Garufi
Morrow X Chui
Darci R Ferencz
Arvin M Garufi
Aruna Q Briddick
Morrow U Marrier
Kaitlin G Butt
Aditya D Oldroyd
Jefferson R Poquette
Sinclair X Rulapaugh
Mayumi L Kolmetz
Juan H Maclead
Isabel I Campain
Leon D Ostrosky
Deepesh O Marrier
Julie K Flosi
Ashley V Bowley
Morrow D Maclead
David F Briddick
Alejandro H Waycott
Aruna D Marrier
Darci I Waycott
Juan K Whobrey
Izzy Z Ferencz
Julie S Darakjy
Darci T Vocelka
Kadeem Y Malet
Johnson V Rulapaugh
Ricardo V Caudy
IdCountryDate
1000Japan2024-05-20
1001Russia2024-05-05
1002Argentina2024-04-29
1003United Kingdom2024-05-05
1004Spain2024-05-13
1005Italy2024-05-18
1006Canada2024-04-30
1007Japan2024-05-10
1008India2024-05-24
1009Russia2024-05-06
1010Russia2024-05-05
1011Canada2024-05-20
1012India2024-05-14
1013Argentina2024-05-20
1014Brazil2024-05-20
1015India2024-05-12
1016Spain2024-05-23
1017Italy2024-05-07
1018Russia2024-05-16
1019Russia2024-05-08
1020Italy2024-05-03
1021Japan2024-04-26
1022Brazil2024-05-16
1023Brazil2024-05-10
1024Brazil2024-04-27
1025United Kingdom2024-05-13
1026Italy2024-05-08
1027Russia2024-05-09
1028Germany2024-05-19
1029Brazil2024-05-11
1030Spain2024-05-17
1031Italy2024-05-24
1032Argentina2024-04-26
1033France2024-04-28
1034India2024-05-11
1035Germany2024-04-30
1036United Kingdom2024-05-07
1037India2024-05-24
1038Russia2024-04-27
1039Australia2024-05-06
1040Japan2024-04-29
1041Australia2024-05-02
1042Italy2024-04-27
1043Canada2024-05-11
1044Italy2024-05-09
1045Spain2024-05-04
1046Japan2024-05-19
1047Brazil2024-05-22
1048United Kingdom2024-05-19
1049Australia2024-05-14

On-Demand Data

NameIdCountryDate
Jeanfrancois D Butt1000Canada2024-05-22
Alejandro F Rim1001France2024-05-08
Morrow M Flosi1002Japan2024-05-19
Alejandro D Paprocki1003Japan2024-05-22
Aruna M Saylors1004India2024-05-14
Rodrigues R Glick1005Japan2024-05-21
Francesco N Amigon1006Argentina2024-05-13
Ashley N Whobrey1007United Kingdom2024-05-05
Clifford F Malet1008Germany2024-05-09
David D Doe1009United Kingdom2024-05-20
Morrow Z Rulapaugh1010Japan2024-05-15
Faith M Butt1011India2024-05-15
Greenwood W Rim1012India2024-05-06
Tony O Wieser1013Japan2024-05-18
Silvio S Flosi1014United Kingdom2024-04-25
Murillo Y Venere1015Spain2024-05-02
Ashley E Paprocki1016Spain2024-05-03
Cody B Rim1017Germany2024-05-01
Tony E Ruta1018France2024-05-24
Julie K Foller1019United Kingdom2024-05-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon T PaprockiGermanyIoni Bowcher NEGOTIATION
James O AmigonBrazilBernardo Dominic RENEWAL
Wickens W PoquetteBrazilElwin Sharvill UNQUALIFIED
Emily Y WhobreyRussiaIoni Bowcher RENEWAL
Deepesh B FlosiIndiaElwin Sharvill NEW
Faith E NestleCanadaAnna Fali PROPOSAL
Greenwood J DarakjyArgentinaIoni Bowcher PROPOSAL
Arvin B CampainGermanyStephen Shaw NEGOTIATION
Jeanfrancois M MacleadFranceIoni Bowcher NEW
Isabel T WaycottBrazilAsiya Javayant NEGOTIATION
Alejandro O RutaUnited KingdomXuxue Feng NEW
Greenwood P NickaFranceStephen Shaw NEW
Jones O DoeRussiaAnna Fali QUALIFIED
Jones S GauchoItalyAnna Fali PROPOSAL
Munro S OstroskyItalyAnna Fali NEW
Silvio L VocelkaUnited KingdomIvan Magalhaes QUALIFIED
Adams A MacleadIndiaBernardo Dominic NEGOTIATION
James T SaylorsRussiaElwin Sharvill NEW
Greenwood Y RimGermanyXuxue Feng QUALIFIED
Greenwood P BriddickUnited KingdomIvan Magalhaes QUALIFIED
Johnson R DoeCanadaOnyama Limba UNQUALIFIED
Ivar F ButtRussiaStephen Shaw RENEWAL
Smith U TollnerArgentinaBernardo Dominic RENEWAL
Jones N FollerArgentinaAmy Elsner QUALIFIED
Leja L IturbideFranceBernardo Dominic NEGOTIATION
David C InouyeAustraliaOnyama Limba RENEWAL
Antonio J ChuiRussiaElwin Sharvill NEW
Jefferson G PoquetteSpainIoni Bowcher PROPOSAL
Chavez J PaprockiItalyAnna Fali QUALIFIED
Mayumi N GarufiGermanyOnyama Limba RENEWAL
Aruna M MacleadAustraliaElwin Sharvill PROPOSAL
Claire Q RulapaughCanadaXuxue Feng NEGOTIATION
David C KuskoBrazilBernardo Dominic RENEWAL
Salvatore L CaldareraBrazilXuxue Feng RENEWAL
Munro B SchemmerJapanIvan Magalhaes RENEWAL
Nicolas Z MaletUnited KingdomXuxue Feng RENEWAL
Morrow C MorascaFranceAnna Fali UNQUALIFIED
Greenwood F SaylorsRussiaAmy Elsner QUALIFIED
Deepesh L MacleadFranceIoni Bowcher NEW
Johnson X VenereSpainStephen Shaw 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>