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
Sinclair I PoquetteUnited KingdomOnyama Limba PROPOSAL
Mayumi P FollerArgentinaAnna Fali NEGOTIATION
Mujtaba F TollnerItalyBernardo Dominic PROPOSAL
Antonio M SergiSpainXuxue Feng RENEWAL
Cody S FlosiCanadaAmy Elsner UNQUALIFIED
Izzy U NickaUnited KingdomAnna Fali NEGOTIATION
Jeanfrancois S MarrierGermanyXuxue Feng RENEWAL
Chavez A MorascaUnited KingdomOnyama Limba UNQUALIFIED
Deepesh W WhobreyCanadaElwin Sharvill NEGOTIATION
Octavia S AlbaresJapanIoni Bowcher QUALIFIED
Clifford P CaldareraItalyIoni Bowcher QUALIFIED
Clifford T TollnerArgentinaElwin Sharvill NEGOTIATION
Arvin H WaycottCanadaAmy Elsner UNQUALIFIED
Isabel Z SergiRussiaIvan Magalhaes PROPOSAL
Aruna A CampainSpainXuxue Feng PROPOSAL
Rodrigues W ButtFranceBernardo Dominic PROPOSAL
Jennifer O MarrierItalyAnna Fali PROPOSAL
Murillo Q BologniaBrazilXuxue Feng RENEWAL
Tony X RoysterCanadaOnyama Limba NEGOTIATION
Nicolas C CampainArgentinaStephen Shaw UNQUALIFIED
Misaki L PaprockiFranceAnna Fali PROPOSAL
Johnson L OstroskyJapanIoni Bowcher NEW
Johnson A GauchoIndiaElwin Sharvill NEGOTIATION
Claire G FollerIndiaElwin Sharvill NEGOTIATION
Faith C PaprockiCanadaIoni Bowcher UNQUALIFIED
Silvio V SlusarskiItalyIvan Magalhaes RENEWAL
Darci T KolmetzArgentinaAmy Elsner NEGOTIATION
Ricardo P SaylorsAustraliaIoni Bowcher RENEWAL
Rodrigues N OstroskyBrazilXuxue Feng RENEWAL
Jennifer R DoeCanadaXuxue Feng NEW
Isabel Y GauchoUnited KingdomIoni Bowcher NEGOTIATION
Faith V RulapaughIndiaStephen Shaw QUALIFIED
Octavia C SergiIndiaElwin Sharvill QUALIFIED
Chavez A RimBrazilXuxue Feng NEW
Johnson S PaprockiUnited KingdomIvan Magalhaes UNQUALIFIED
Clifford S RulapaughBrazilXuxue Feng PROPOSAL
Aditya U RimJapanAsiya Javayant NEGOTIATION
Izzy D SergiIndiaStephen Shaw QUALIFIED
Clifford L CaudyIndiaAmy Elsner NEGOTIATION
Darci I MaletIndiaAsiya Javayant UNQUALIFIED
Aditya P KuskoIndiaIoni Bowcher NEW
Claire G MaletSpainAnna Fali QUALIFIED
Misaki D OstroskyArgentinaXuxue Feng QUALIFIED
Faith I DoeBrazilStephen Shaw RENEWAL
Murillo J RulapaughJapanAsiya Javayant NEGOTIATION
Maisha L GillianArgentinaAmy Elsner RENEWAL
Aditya T SlusarskiSpainXuxue Feng RENEWAL
Murillo F DilliardSpainIoni Bowcher NEW
Leja X VenereJapanAmy Elsner RENEWAL
Munro C MorascaFranceAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Ashley O SergiAustraliaBernardo Dominic PROPOSAL
Claire J KolmetzUnited KingdomAsiya Javayant UNQUALIFIED
Leon E FlosiAustraliaBernardo Dominic UNQUALIFIED
Antonio L GarufiRussiaAnna Fali NEW
Leja L FerenczSpainAmy Elsner QUALIFIED
Maisha M MaletCanadaBernardo Dominic QUALIFIED
Jeanfrancois D NestleArgentinaAmy Elsner UNQUALIFIED
Maisha W RulapaughBrazilOnyama Limba RENEWAL
Isabel W InouyeJapanXuxue Feng RENEWAL
Isabel Y KolmetzCanadaIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki C KuskoRussia2024-06-10Feiner Bros NEGOTIATION82Anna Fali
1001Murillo H BriddickIndia2024-05-20Morlong Associates NEGOTIATION38Bernardo Dominic
1002Stacey H DilliardArgentina2024-05-18Truhlar And Truhlar Attys RENEWAL17Asiya Javayant
1003David J RutaUnited Kingdom2024-06-11Chemel, James L Cpa NEW25Elwin Sharvill
1004Tony N RimBrazil2024-05-25King, Christopher A Esq QUALIFIED94Elwin Sharvill
1005Leja D ButtGermany2024-05-28Chanay, Jeffrey A Esq RENEWAL74Anna Fali
1006Costa A IturbideRussia2024-06-09Rousseaux, Michael Esq NEW59Ioni Bowcher
1007Maisha L MorascaSpain2024-06-13Rangoni Of Florence NEGOTIATION12Ioni Bowcher
1008Wickens J PaprockiBrazil2024-06-04Chanay, Jeffrey A Esq RENEWAL13Ivan Magalhaes
1009Leon B FigeroaJapan2024-06-13Benton, John B Jr NEW44Bernardo Dominic
1010Deepesh X PaprockiGermany2024-06-03Commercial Press UNQUALIFIED72Xuxue Feng
1011Greenwood Z ButtItaly2024-05-28Buckley Miller Wright NEGOTIATION31Anna Fali
1012Clifford Z RutaFrance2024-05-29Chapman, Ross E Esq NEGOTIATION65Amy Elsner
1013Maisha I WaycottIndia2024-05-29Benton, John B Jr QUALIFIED41Ioni Bowcher
1014Alejandro H SergiFrance2024-06-03Dorl, James J Esq NEGOTIATION92Amy Elsner
1015Clifford V SaylorsCanada2024-06-07Dorl, James J Esq PROPOSAL83Stephen Shaw
1016Antonio O GarufiArgentina2024-05-21Chanay, Jeffrey A Esq RENEWAL75Onyama Limba
1017Ivar V NickaGermany2024-06-06Morlong Associates UNQUALIFIED65Amy Elsner
1018Mayumi D RimUnited Kingdom2024-05-22Commercial Press UNQUALIFIED28Ivan Magalhaes
1019Silvio F SergiGermany2024-06-09Dorl, James J Esq QUALIFIED24Xuxue Feng
1020Tony S WaycottUnited Kingdom2024-06-09Chanay, Jeffrey A Esq UNQUALIFIED35Xuxue Feng
1021Kadeem C KuskoAustralia2024-06-08Rousseaux, Michael Esq PROPOSAL0Onyama Limba
1022Jefferson Q FlosiJapan2024-05-26Chapman, Ross E Esq NEGOTIATION49Bernardo Dominic
1023Kadeem Q DilliardSpain2024-06-01Commercial Press RENEWAL43Stephen Shaw
1024Jefferson F IturbideRussia2024-05-22Dorl, James J Esq QUALIFIED45Anna Fali
1025Jones Y GauchoItaly2024-05-25Chapman, Ross E Esq NEW69Xuxue Feng
1026Costa Q SlusarskiSpain2024-05-28Feiner Bros UNQUALIFIED15Asiya Javayant
1027Morrow V OstroskyArgentina2024-06-03Printing Dimensions RENEWAL18Xuxue Feng
1028Octavia I IturbideAustralia2024-05-25Feltz Printing Service RENEWAL91Onyama Limba
1029Mujtaba L DoeRussia2024-06-12Buckley Miller Wright PROPOSAL2Asiya Javayant
1030Francesco O MaletFrance2024-05-17Dorl, James J Esq NEW76Asiya Javayant
1031Jefferson H AmigonUnited Kingdom2024-06-04Chemel, James L Cpa NEW9Ivan Magalhaes
1032Morrow K MarrierFrance2024-06-13Feltz Printing Service NEGOTIATION21Onyama Limba
1033Sinclair K FollerJapan2024-06-09Dorl, James J Esq RENEWAL66Onyama Limba
1034Antonio N FerenczIndia2024-05-15Dorl, James J Esq NEGOTIATION30Bernardo Dominic
1035Deepesh G SergiIndia2024-06-10Truhlar And Truhlar Attys UNQUALIFIED7Anna Fali
1036Jeanfrancois D BowleyFrance2024-06-10Feiner Bros NEGOTIATION85Asiya Javayant
1037Deepesh R VocelkaAustralia2024-05-17Feiner Bros QUALIFIED69Bernardo Dominic
1038Munro B NestleArgentina2024-05-24Chanay, Jeffrey A Esq UNQUALIFIED16Anna Fali
1039Juan T GarufiIndia2024-05-26Rangoni Of Florence NEGOTIATION84Anna Fali
1040Greenwood G NestleFrance2024-05-20Chapman, Ross E Esq UNQUALIFIED78Asiya Javayant
1041Smith U GillianItaly2024-05-23Commercial Press NEW97Stephen Shaw
1042Aruna X DilliardSpain2024-05-24Printing Dimensions NEW56Anna Fali
1043Arvin A TollnerBrazil2024-05-15Chemel, James L Cpa RENEWAL63Bernardo Dominic
1044David O BriddickJapan2024-05-22Morlong Associates NEW37Onyama Limba
1045David N FigeroaItaly2024-06-02King, Christopher A Esq NEW87Ioni Bowcher
1046Murillo Z NestleUnited Kingdom2024-06-13Rangoni Of Florence NEGOTIATION2Anna Fali
1047Maisha O OldroydRussia2024-05-23Chemel, James L Cpa UNQUALIFIED21Stephen Shaw
1048Rodrigues R GauchoSpain2024-05-26Morlong Associates QUALIFIED44Ivan Magalhaes
1049Aika L MarrierGermany2024-06-09Printing Dimensions RENEWAL30Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Aika I CaldareraFranceIoni Bowcher RENEWAL
Maria J GillianAustraliaBernardo Dominic NEW
Tony X CaudyJapanOnyama Limba NEGOTIATION
Silvio V PerinSpainAnna Fali QUALIFIED
Darci Y GillianGermanyOnyama Limba PROPOSAL
Jones Q MarrierBrazilElwin Sharvill UNQUALIFIED
Ivar A RoysterJapanAmy Elsner RENEWAL
Misaki L RulapaughIndiaBernardo Dominic NEGOTIATION
Julie M WaycottGermanyXuxue Feng QUALIFIED
Cody O GillianArgentinaBernardo Dominic QUALIFIED
Munro F BowleyItalyIvan Magalhaes UNQUALIFIED
Chavez C GillianJapanIoni Bowcher QUALIFIED
Chavez M CaldareraFranceXuxue Feng UNQUALIFIED
Octavia Q ButtBrazilAmy Elsner NEW
Adams G AmigonJapanStephen Shaw RENEWAL
Costa N AlbaresRussiaAnna Fali NEGOTIATION
James D WhobreyGermanyAnna Fali QUALIFIED
Mujtaba E CaldareraIndiaBernardo Dominic RENEWAL
Darci C CaudyArgentinaAnna Fali NEGOTIATION
David J KuskoCanadaIvan Magalhaes UNQUALIFIED
Antonio U ChuiArgentinaAsiya Javayant QUALIFIED
Mayumi B SergiCanadaOnyama Limba RENEWAL
Salvatore I BologniaJapanIoni Bowcher NEW
Murillo K GlickSpainStephen Shaw UNQUALIFIED
Emily L AmigonGermanyIvan Magalhaes UNQUALIFIED
Mujtaba E ShinkoBrazilAsiya Javayant PROPOSAL
Salvatore L NickaSpainIvan Magalhaes UNQUALIFIED
Morrow A ChuiUnited KingdomIoni Bowcher RENEWAL
Juan H StockhamUnited KingdomAsiya Javayant QUALIFIED
Costa J RoysterSpainElwin Sharvill NEW
Silvio X GauchoIndiaAmy Elsner QUALIFIED
Costa A NestleIndiaStephen Shaw QUALIFIED
Octavia D GarufiJapanElwin Sharvill NEGOTIATION
Jennifer N SergiItalyAsiya Javayant RENEWAL
Morrow X FlosiCanadaXuxue Feng NEW
Morrow Y FigeroaFranceBernardo Dominic RENEWAL
Misaki O MaletFranceStephen Shaw NEW
Munro X SchemmerUnited KingdomAmy Elsner PROPOSAL
Juan V DoeRussiaAmy Elsner QUALIFIED
Aika K RulapaughRussiaBernardo Dominic PROPOSAL
Darci V NestleFranceAsiya Javayant PROPOSAL
Deepesh O GarufiGermanyStephen Shaw QUALIFIED
Jennifer A VocelkaFranceBernardo Dominic NEGOTIATION
Adams E PerinRussiaXuxue Feng UNQUALIFIED
Arvin V BriddickUnited KingdomBernardo Dominic QUALIFIED
Clifford R IturbideUnited KingdomBernardo Dominic NEW
Darci O DoeBrazilIoni Bowcher NEGOTIATION
Mayumi A InouyeBrazilAsiya Javayant RENEWAL
Munro L PoquetteGermanyIvan Magalhaes NEGOTIATION
Maria J SchemmerSpainIvan Magalhaes PROPOSAL
Frozen Columns
Name
Rodrigues Z Bolognia
Alejandro F Marrier
Cody X Rulapaugh
Rodrigues J Garufi
Tony O Poquette
Nicolas T Whobrey
Chavez Q Gillian
Aruna L Perin
Rodrigues G Ruta
Sinclair Q Maclead
Juan I Foller
Aika P Morasca
Deepesh U Garufi
Jones N Schemmer
Silvio R Poquette
Johnson E Malet
David C Paprocki
Munro H Butt
Aditya H Slusarski
Aika A Shinko
Isabel F Foller
Adams S Caldarera
Rodrigues R Glick
Jennifer J Marrier
Jeanfrancois O Gillian
Kaitlin Z Bowley
Aditya C Waycott
Aditya U Iturbide
Sinclair T Glick
Johnson O Iturbide
Johnson L Waycott
Isabel T Sergi
Greenwood M Albares
Maisha B Venere
Cody X Stockham
Faith Z Waycott
Misaki C Rim
Mayumi K Maclead
Aditya W Saylors
Maisha R Paprocki
Leon Z Nicka
Francesco H Amigon
Isabel Y Campain
Tony J Chui
Julie T Tollner
Adams S Figeroa
David L Darakjy
Ivar U Glick
Aika C Nicka
Morrow W Figeroa
IdCountryDate
1000Italy2024-06-01
1001Canada2024-06-04
1002Canada2024-05-21
1003Russia2024-05-21
1004Germany2024-05-18
1005France2024-06-10
1006Russia2024-06-09
1007India2024-05-30
1008Italy2024-05-27
1009Italy2024-05-23
1010Italy2024-06-02
1011France2024-05-19
1012India2024-06-03
1013Canada2024-06-12
1014Germany2024-05-18
1015Italy2024-05-15
1016Japan2024-05-23
1017India2024-05-23
1018Canada2024-05-22
1019Australia2024-06-08
1020United Kingdom2024-05-18
1021Canada2024-05-31
1022Argentina2024-05-31
1023United Kingdom2024-05-30
1024Brazil2024-05-31
1025Spain2024-05-25
1026Spain2024-06-12
1027Germany2024-06-12
1028France2024-05-15
1029Spain2024-06-13
1030Italy2024-05-16
1031Spain2024-06-10
1032India2024-05-28
1033Canada2024-06-08
1034Japan2024-06-06
1035France2024-06-05
1036Japan2024-06-03
1037Russia2024-05-25
1038France2024-06-01
1039Russia2024-05-19
1040Australia2024-05-28
1041Brazil2024-06-05
1042Canada2024-06-09
1043Canada2024-06-03
1044Canada2024-06-10
1045Australia2024-05-27
1046Australia2024-06-12
1047Russia2024-06-01
1048France2024-06-13
1049Spain2024-06-06

On-Demand Data

NameIdCountryDate
Munro Q Marrier1000Germany2024-06-10
Stacey E Gaucho1001Canada2024-06-03
Johnson H Gillian1002India2024-05-21
Munro E Chui1003Russia2024-06-01
Leon X Gillian1004Brazil2024-06-09
Murillo D Ferencz1005Italy2024-06-03
Salvatore T Doe1006Canada2024-05-20
Cody K Ruta1007Brazil2024-05-19
Nicolas C Gaucho1008Spain2024-06-09
Misaki I Ostrosky1009Brazil2024-05-30
Cody Y Nestle1010Australia2024-06-09
Ricardo Y Whobrey1011United Kingdom2024-05-28
Costa O Royster1012United Kingdom2024-06-07
Munro O Malet1013Argentina2024-05-27
Isabel P Perin1014France2024-05-21
Octavia D Slusarski1015Russia2024-05-28
Clifford F Slusarski1016India2024-05-20
Munro Y Albares1017Italy2024-05-23
Ashley W Shinko1018Spain2024-06-10
Smith A Shinko1019Australia2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues E MorascaCanadaStephen Shaw NEGOTIATION
Jefferson P KolmetzUnited KingdomOnyama Limba RENEWAL
Aditya I SaylorsCanadaAmy Elsner QUALIFIED
Salvatore Y NickaIndiaStephen Shaw PROPOSAL
Alejandro W GauchoJapanAsiya Javayant QUALIFIED
Cody Y GauchoJapanBernardo Dominic NEGOTIATION
Stacey W CaudyFranceOnyama Limba QUALIFIED
Clifford F SaylorsRussiaAmy Elsner NEGOTIATION
Maria V FigeroaAustraliaBernardo Dominic NEW
Aika U KolmetzIndiaIoni Bowcher RENEWAL
Misaki L MorascaRussiaElwin Sharvill NEW
Jeanfrancois G DilliardItalyAsiya Javayant NEGOTIATION
Kadeem G GauchoItalyStephen Shaw NEW
Francesco A SergiGermanyAsiya Javayant QUALIFIED
Cody C MacleadUnited KingdomBernardo Dominic PROPOSAL
James Z MaletGermanyBernardo Dominic NEW
Isabel F CampainFranceXuxue Feng PROPOSAL
Sinclair U WhobreyAustraliaOnyama Limba NEW
Izzy X SlusarskiRussiaXuxue Feng PROPOSAL
Costa U OstroskyCanadaAmy Elsner NEGOTIATION
Deepesh U MorascaItalyAsiya Javayant RENEWAL
Darci R BologniaIndiaAnna Fali PROPOSAL
Juan M VenereIndiaBernardo Dominic NEGOTIATION
Adams X RoysterIndiaIoni Bowcher RENEWAL
Mayumi T WieserUnited KingdomIvan Magalhaes NEGOTIATION
Salvatore G InouyeCanadaIoni Bowcher QUALIFIED
Mayumi L ShinkoAustraliaAsiya Javayant UNQUALIFIED
Leja N IturbideJapanIvan Magalhaes UNQUALIFIED
Jennifer Y CampainBrazilOnyama Limba UNQUALIFIED
Faith G OldroydRussiaBernardo Dominic RENEWAL
Costa E SlusarskiRussiaAmy Elsner QUALIFIED
Morrow V IturbideCanadaAmy Elsner QUALIFIED
Leon X TollnerSpainIvan Magalhaes PROPOSAL
Rodrigues P ShinkoUnited KingdomAsiya Javayant NEW
Ivar A FlosiUnited KingdomStephen Shaw QUALIFIED
Jones J CaldareraSpainIoni Bowcher PROPOSAL
Octavia V ButtSpainOnyama Limba RENEWAL
Maria Q FollerBrazilAsiya Javayant NEGOTIATION
Johnson U MaletCanadaIvan Magalhaes RENEWAL
Ashley G KuskoFranceAsiya Javayant NEGOTIATION

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