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
Maria V MaletFranceAsiya Javayant UNQUALIFIED
Claire Y MaletArgentinaIvan Magalhaes NEGOTIATION
Francesco W PerinRussiaIvan Magalhaes NEW
Deepesh S MarrierBrazilBernardo Dominic UNQUALIFIED
Jeanfrancois X SergiArgentinaXuxue Feng PROPOSAL
Ivar D AlbaresUnited KingdomIvan Magalhaes NEW
Deepesh M VenereUnited KingdomIoni Bowcher UNQUALIFIED
James Y ShinkoFranceStephen Shaw NEGOTIATION
James M PoquetteSpainIoni Bowcher NEGOTIATION
Morrow A GauchoRussiaElwin Sharvill PROPOSAL
Jeanfrancois G ShinkoArgentinaOnyama Limba NEW
Stacey X StensethFranceBernardo Dominic NEW
Leja D RoysterJapanStephen Shaw UNQUALIFIED
Emily G FlosiAustraliaBernardo Dominic PROPOSAL
Murillo Z DilliardGermanyAnna Fali UNQUALIFIED
Ricardo G TollnerSpainBernardo Dominic UNQUALIFIED
Aruna U RoysterUnited KingdomBernardo Dominic PROPOSAL
Maisha J VocelkaArgentinaXuxue Feng NEGOTIATION
Mujtaba K SlusarskiSpainOnyama Limba UNQUALIFIED
Stacey T StockhamRussiaOnyama Limba NEW
Leon K FigeroaSpainXuxue Feng NEW
Costa U BriddickArgentinaOnyama Limba NEW
Julie K StockhamBrazilAnna Fali PROPOSAL
Francesco P DarakjySpainElwin Sharvill UNQUALIFIED
Costa T ChuiCanadaIvan Magalhaes PROPOSAL
Ricardo Y OstroskyFranceIoni Bowcher NEW
Aika A PaprockiArgentinaOnyama Limba UNQUALIFIED
Maisha Z MacleadCanadaXuxue Feng QUALIFIED
Antonio V WaycottJapanAsiya Javayant RENEWAL
Tony R MorascaIndiaIvan Magalhaes PROPOSAL
Isabel O WaycottItalyAmy Elsner UNQUALIFIED
Rodrigues M RoysterUnited KingdomIoni Bowcher RENEWAL
Aika O GillianAustraliaElwin Sharvill PROPOSAL
Chavez C BologniaArgentinaBernardo Dominic NEW
Arvin D GauchoSpainStephen Shaw NEW
Greenwood F AlbaresItalyIvan Magalhaes PROPOSAL
Clifford P StensethUnited KingdomIoni Bowcher PROPOSAL
Isabel Z ButtGermanyIoni Bowcher RENEWAL
Misaki N ShinkoUnited KingdomAsiya Javayant NEW
Emily U MarrierRussiaBernardo Dominic UNQUALIFIED
Silvio I MacleadItalyIoni Bowcher QUALIFIED
Stacey G InouyeGermanyOnyama Limba NEW
Izzy E MarrierIndiaIvan Magalhaes RENEWAL
Antonio Y InouyeUnited KingdomBernardo Dominic PROPOSAL
Tony Q WhobreyJapanAmy Elsner UNQUALIFIED
Cody W VocelkaIndiaIoni Bowcher NEW
Silvio D MarrierFranceAsiya Javayant RENEWAL
Morrow E ButtUnited KingdomAmy Elsner NEGOTIATION
Silvio M CaldareraGermanyBernardo Dominic NEW
Nicolas X VocelkaFranceAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Wickens J DoeArgentinaBernardo Dominic NEGOTIATION
Silvio N DarakjyCanadaAsiya Javayant PROPOSAL
Cody T CaldareraArgentinaAsiya Javayant PROPOSAL
Silvio S DarakjyBrazilAnna Fali NEW
Clifford Y RimItalyAsiya Javayant QUALIFIED
Aruna J SlusarskiIndiaIvan Magalhaes NEGOTIATION
Alejandro F BriddickBrazilAsiya Javayant RENEWAL
Silvio B WaycottGermanyIoni Bowcher UNQUALIFIED
Octavia C RutaItalyIoni Bowcher NEGOTIATION
Tony K PaprockiBrazilAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem N KuskoCanada2024-06-01Morlong Associates PROPOSAL79Elwin Sharvill
1001Antonio D StockhamAustralia2024-06-12Feltz Printing Service PROPOSAL92Stephen Shaw
1002Greenwood L PoquetteSpain2024-05-27Rangoni Of Florence NEGOTIATION22Amy Elsner
1003Izzy W MarrierIndia2024-06-19Chapman, Ross E Esq RENEWAL24Stephen Shaw
1004Kaitlin G DoeAustralia2024-05-30Chanay, Jeffrey A Esq UNQUALIFIED6Bernardo Dominic
1005Arvin M PoquetteCanada2024-06-01Buckley Miller Wright NEGOTIATION45Ivan Magalhaes
1006Aditya K FerenczIndia2024-06-01Truhlar And Truhlar Attys RENEWAL91Amy Elsner
1007Wickens A WaycottItaly2024-06-15Chapman, Ross E Esq RENEWAL47Bernardo Dominic
1008Sinclair F VocelkaAustralia2024-06-23Chanay, Jeffrey A Esq NEGOTIATION10Xuxue Feng
1009Aika W OldroydIndia2024-06-09Chapman, Ross E Esq NEGOTIATION80Onyama Limba
1010Antonio Z RutaIndia2024-06-23King, Christopher A Esq UNQUALIFIED35Amy Elsner
1011Aika O NickaCanada2024-06-23Feltz Printing Service NEGOTIATION5Ioni Bowcher
1012Clifford G DoeSpain2024-06-21Commercial Press PROPOSAL88Ioni Bowcher
1013Nicolas E DarakjyGermany2024-06-15Morlong Associates NEW32Amy Elsner
1014Rodrigues O IturbideArgentina2024-06-24Chanay, Jeffrey A Esq PROPOSAL54Asiya Javayant
1015Sinclair E CaldareraRussia2024-06-15Printing Dimensions NEW60Anna Fali
1016Jefferson L AlbaresSpain2024-06-13Chemel, James L Cpa RENEWAL70Elwin Sharvill
1017Morrow C KuskoFrance2024-05-26King, Christopher A Esq NEW36Stephen Shaw
1018Deepesh O SchemmerCanada2024-06-21Chapman, Ross E Esq QUALIFIED23Asiya Javayant
1019Kadeem W SaylorsSpain2024-06-21King, Christopher A Esq NEW78Onyama Limba
1020Darci R GarufiAustralia2024-06-10King, Christopher A Esq PROPOSAL39Xuxue Feng
1021Greenwood R NickaBrazil2024-05-29Dorl, James J Esq NEGOTIATION93Stephen Shaw
1022Rodrigues K DoeArgentina2024-06-23Printing Dimensions PROPOSAL86Elwin Sharvill
1023Jennifer V FollerFrance2024-06-04Printing Dimensions QUALIFIED55Asiya Javayant
1024Johnson N NestleFrance2024-06-23Chemel, James L Cpa NEW4Stephen Shaw
1025Ashley D CaldareraCanada2024-06-16Feltz Printing Service PROPOSAL7Elwin Sharvill
1026Deepesh M ChuiUnited Kingdom2024-06-15King, Christopher A Esq NEW63Elwin Sharvill
1027Octavia O OldroydGermany2024-06-01Rousseaux, Michael Esq PROPOSAL79Bernardo Dominic
1028Isabel F AlbaresRussia2024-06-05Buckley Miller Wright QUALIFIED16Ioni Bowcher
1029Cody Q WhobreyJapan2024-05-26Dorl, James J Esq NEW74Bernardo Dominic
1030Emily X SlusarskiIndia2024-06-07Morlong Associates NEW33Amy Elsner
1031Smith T InouyeUnited Kingdom2024-06-02Truhlar And Truhlar Attys QUALIFIED8Anna Fali
1032Clifford B MaletJapan2024-05-31Buckley Miller Wright QUALIFIED99Elwin Sharvill
1033Mujtaba U WieserSpain2024-06-15Benton, John B Jr UNQUALIFIED18Ioni Bowcher
1034Julie O FigeroaFrance2024-05-27Chemel, James L Cpa NEGOTIATION62Onyama Limba
1035Jefferson D BriddickSpain2024-06-11Rangoni Of Florence NEW1Xuxue Feng
1036Silvio R MaletJapan2024-06-22Chemel, James L Cpa NEW5Ivan Magalhaes
1037Jennifer C NestleAustralia2024-06-16Dorl, James J Esq RENEWAL84Ivan Magalhaes
1038Tony W DoeItaly2024-06-19Truhlar And Truhlar Attys NEGOTIATION26Ioni Bowcher
1039Octavia Z FerenczItaly2024-06-05Feiner Bros UNQUALIFIED83Ivan Magalhaes
1040Aika B WieserBrazil2024-05-31Printing Dimensions NEGOTIATION83Asiya Javayant
1041Wickens R GauchoBrazil2024-05-28Buckley Miller Wright NEW78Xuxue Feng
1042Cody K VocelkaAustralia2024-06-14Rousseaux, Michael Esq QUALIFIED80Stephen Shaw
1043James A IturbideCanada2024-05-28Rangoni Of Florence UNQUALIFIED7Onyama Limba
1044Jefferson I FlosiBrazil2024-06-11Commercial Press NEW88Bernardo Dominic
1045Johnson B FerenczRussia2024-06-14Feltz Printing Service NEGOTIATION2Elwin Sharvill
1046Darci A PerinBrazil2024-06-23Rangoni Of Florence NEW11Onyama Limba
1047Ivar J StockhamSpain2024-06-07Rangoni Of Florence UNQUALIFIED61Ivan Magalhaes
1048Johnson O GlickIndia2024-06-03Morlong Associates NEGOTIATION32Ivan Magalhaes
1049Ivar H MacleadGermany2024-06-04Dorl, James J Esq NEW25Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Cody L GillianBrazilStephen Shaw QUALIFIED
Darci P SaylorsArgentinaIvan Magalhaes NEW
Morrow X DoeSpainBernardo Dominic UNQUALIFIED
Jefferson G VenereRussiaAmy Elsner UNQUALIFIED
Kadeem Q AlbaresJapanAnna Fali NEW
Jefferson B MacleadFranceElwin Sharvill NEGOTIATION
Octavia B GauchoSpainOnyama Limba NEW
Cody S FigeroaFranceOnyama Limba UNQUALIFIED
Leja Y MaletUnited KingdomIvan Magalhaes NEW
Faith K WhobreyItalyXuxue Feng RENEWAL
Cody Y FerenczAustraliaIvan Magalhaes PROPOSAL
Sinclair Y KolmetzFranceBernardo Dominic NEGOTIATION
Johnson F GlickRussiaAnna Fali NEGOTIATION
Jeanfrancois J VocelkaFranceIvan Magalhaes NEGOTIATION
Arvin T OldroydArgentinaOnyama Limba UNQUALIFIED
Deepesh X GillianAustraliaAnna Fali UNQUALIFIED
Jennifer H SergiUnited KingdomIvan Magalhaes UNQUALIFIED
Nicolas G TollnerArgentinaXuxue Feng UNQUALIFIED
David G MaletFranceElwin Sharvill QUALIFIED
Clifford V AmigonIndiaAsiya Javayant RENEWAL
Ricardo X SchemmerItalyBernardo Dominic QUALIFIED
Smith A MaletJapanIoni Bowcher RENEWAL
Murillo S DoeArgentinaOnyama Limba NEGOTIATION
Smith L FigeroaBrazilXuxue Feng PROPOSAL
Emily P InouyeAustraliaIvan Magalhaes RENEWAL
Claire J SchemmerArgentinaIvan Magalhaes UNQUALIFIED
Faith V MaletCanadaXuxue Feng PROPOSAL
Izzy R PerinIndiaOnyama Limba UNQUALIFIED
Cody G GillianRussiaElwin Sharvill NEW
Stacey J SaylorsBrazilOnyama Limba NEGOTIATION
Francesco G GauchoAustraliaXuxue Feng PROPOSAL
Aika P FlosiArgentinaElwin Sharvill NEGOTIATION
Chavez B DarakjyCanadaBernardo Dominic UNQUALIFIED
Jennifer E CampainUnited KingdomAsiya Javayant QUALIFIED
Aruna J WaycottSpainStephen Shaw UNQUALIFIED
Izzy J RimFranceElwin Sharvill RENEWAL
Claire T VocelkaFranceElwin Sharvill RENEWAL
Clifford J TollnerCanadaAmy Elsner NEW
Costa W DoeGermanyXuxue Feng PROPOSAL
Wickens S ChuiJapanXuxue Feng UNQUALIFIED
Costa S RulapaughRussiaIoni Bowcher NEGOTIATION
Mujtaba B MaletUnited KingdomAmy Elsner RENEWAL
Jeanfrancois Z MaletItalyBernardo Dominic PROPOSAL
Darci V NestleBrazilOnyama Limba NEW
Johnson W DarakjyRussiaAnna Fali UNQUALIFIED
Nicolas M MorascaJapanAnna Fali RENEWAL
Leja M WhobreyIndiaAsiya Javayant NEW
Maria X TollnerJapanOnyama Limba PROPOSAL
Jennifer J RulapaughSpainAnna Fali PROPOSAL
Deepesh R BologniaBrazilIoni Bowcher NEW
Frozen Columns
Name
Jeanfrancois E Wieser
James O Amigon
Tony H Maclead
Jefferson F Ferencz
Antonio P Perin
Salvatore C Inouye
Darci D Bowley
Jefferson H Saylors
Octavia W Saylors
Jones J Malet
Johnson B Butt
Mujtaba I Campain
Ashley H Flosi
Kaitlin F Campain
Maria O Rulapaugh
Clifford D Marrier
Wickens A Malet
Clifford K Caudy
Rodrigues W Kusko
Julie R Sergi
Izzy E Waycott
Stacey Z Glick
Izzy K Doe
Wickens Q Stockham
Jeanfrancois F Nicka
Deepesh D Shinko
Misaki E Dilliard
Smith G Flosi
Faith I Oldroyd
Stacey D Ostrosky
Morrow U Schemmer
Nicolas R Dilliard
Darci C Chui
Misaki F Wieser
Leja R Royster
David C Butt
Munro S Vocelka
Isabel Y Briddick
Darci J Wieser
Mujtaba K Amigon
Faith Y Gillian
Nicolas E Ostrosky
Nicolas W Butt
Johnson W Figeroa
Murillo Q Sergi
Aika L Butt
Morrow P Malet
Leon W Marrier
Ivar Q Doe
Maisha M Ostrosky
IdCountryDate
1000Canada2024-05-28
1001Brazil2024-05-28
1002France2024-06-14
1003Australia2024-06-20
1004Australia2024-05-26
1005United Kingdom2024-06-12
1006Canada2024-06-06
1007Australia2024-05-30
1008Japan2024-05-29
1009Australia2024-06-19
1010Spain2024-06-24
1011Russia2024-06-01
1012Russia2024-06-15
1013Russia2024-05-27
1014Argentina2024-06-19
1015France2024-06-07
1016Japan2024-06-19
1017Argentina2024-06-23
1018India2024-06-23
1019Japan2024-06-19
1020France2024-05-26
1021Japan2024-06-14
1022Italy2024-06-23
1023United Kingdom2024-06-21
1024Japan2024-06-05
1025Argentina2024-06-20
1026Australia2024-06-02
1027India2024-05-30
1028Argentina2024-06-09
1029Canada2024-05-26
1030France2024-06-17
1031Japan2024-06-10
1032Canada2024-06-13
1033Australia2024-06-24
1034Argentina2024-06-01
1035India2024-05-30
1036India2024-06-24
1037Russia2024-06-07
1038United Kingdom2024-06-20
1039Russia2024-06-17
1040Brazil2024-06-11
1041India2024-06-22
1042Spain2024-06-05
1043Germany2024-06-08
1044Brazil2024-06-02
1045Germany2024-06-11
1046United Kingdom2024-06-10
1047United Kingdom2024-06-07
1048France2024-06-19
1049Germany2024-06-05

On-Demand Data

NameIdCountryDate
Johnson P Marrier1000France2024-06-13
Stacey V Maclead1001United Kingdom2024-06-10
Francesco H Ostrosky1002India2024-05-27
Ivar M Saylors1003Germany2024-06-06
Claire M Caldarera1004France2024-06-18
Emily J Albares1005India2024-06-20
Jefferson L Tollner1006Japan2024-05-28
Chavez H Tollner1007Germany2024-06-20
Sinclair H Maclead1008Italy2024-06-22
Aika H Caudy1009Canada2024-06-17
Darci O Albares1010Japan2024-06-10
Johnson N Inouye1011India2024-06-10
Darci E Nestle1012Russia2024-06-02
Jones U Whobrey1013Japan2024-06-22
Salvatore O Poquette1014Italy2024-06-09
Mujtaba G Wieser1015United Kingdom2024-05-26
Aditya J Briddick1016India2024-06-16
Rodrigues E Royster1017Russia2024-06-07
Jennifer F Rulapaugh1018Germany2024-06-08
Tony X Morasca1019France2024-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan G PaprockiCanadaOnyama Limba NEW
Nicolas O WaycottJapanElwin Sharvill UNQUALIFIED
Morrow W ShinkoAustraliaAnna Fali RENEWAL
Octavia A StensethAustraliaBernardo Dominic QUALIFIED
Maria D MaletJapanStephen Shaw NEW
David H SaylorsJapanOnyama Limba NEGOTIATION
Misaki R PaprockiCanadaIvan Magalhaes PROPOSAL
Morrow V VenereFranceIvan Magalhaes PROPOSAL
Izzy R BologniaSpainIvan Magalhaes RENEWAL
Faith S GauchoItalyStephen Shaw QUALIFIED
Francesco N ChuiBrazilAmy Elsner NEGOTIATION
Salvatore M MarrierRussiaAnna Fali RENEWAL
Adams L OstroskyBrazilStephen Shaw UNQUALIFIED
Morrow P PoquetteBrazilBernardo Dominic NEGOTIATION
Maisha V VenereAustraliaAnna Fali NEGOTIATION
Adams Y PerinIndiaStephen Shaw NEGOTIATION
Jefferson S NickaCanadaAsiya Javayant PROPOSAL
Leja O OstroskyAustraliaXuxue Feng NEW
Francesco R ButtItalyElwin Sharvill NEGOTIATION
Isabel K TollnerBrazilXuxue Feng QUALIFIED
Faith Z CaudyGermanyAnna Fali RENEWAL
Greenwood P BriddickRussiaIoni Bowcher NEGOTIATION
Jones Q KolmetzSpainElwin Sharvill RENEWAL
Leja Q DoeIndiaElwin Sharvill PROPOSAL
Ivar C SergiIndiaAsiya Javayant UNQUALIFIED
Izzy F WieserFranceElwin Sharvill NEW
Aditya S WaycottGermanyBernardo Dominic NEGOTIATION
Sinclair P RulapaughFranceElwin Sharvill NEW
Cody A GarufiUnited KingdomIvan Magalhaes UNQUALIFIED
Aika V OstroskyBrazilBernardo Dominic RENEWAL
Faith F CaudySpainElwin Sharvill QUALIFIED
Tony X PerinRussiaStephen Shaw RENEWAL
Kaitlin R RoysterIndiaXuxue Feng RENEWAL
Emily C ChuiSpainStephen Shaw UNQUALIFIED
Kadeem W WhobreyArgentinaAsiya Javayant NEGOTIATION
Leon G MaletIndiaIoni Bowcher UNQUALIFIED
Silvio B VocelkaSpainBernardo Dominic PROPOSAL
Greenwood A IturbideIndiaAsiya Javayant RENEWAL
Izzy P StensethCanadaIoni Bowcher UNQUALIFIED
Leon K CaudyGermanyIvan Magalhaes 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>