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
Octavia X MaletRussiaElwin Sharvill QUALIFIED
Mujtaba X BriddickGermanyXuxue Feng QUALIFIED
Maisha V VocelkaIndiaAnna Fali PROPOSAL
Kadeem N VenereJapanAmy Elsner UNQUALIFIED
Octavia A ChuiGermanyAmy Elsner QUALIFIED
Maria N VenereGermanyStephen Shaw NEW
Smith E WaycottUnited KingdomXuxue Feng QUALIFIED
Juan K InouyeJapanOnyama Limba NEW
Julie T AlbaresAustraliaStephen Shaw NEW
Jeanfrancois J CaudyIndiaAnna Fali QUALIFIED
Alejandro R GlickItalyIoni Bowcher PROPOSAL
Darci V VocelkaAustraliaIoni Bowcher NEGOTIATION
Jennifer Z CampainBrazilBernardo Dominic UNQUALIFIED
Claire M RulapaughAustraliaXuxue Feng UNQUALIFIED
Aruna A DilliardItalyAnna Fali QUALIFIED
Leja L CampainArgentinaAsiya Javayant QUALIFIED
Claire Z RutaSpainAnna Fali UNQUALIFIED
Izzy B OldroydAustraliaAsiya Javayant PROPOSAL
Francesco V AlbaresJapanAsiya Javayant QUALIFIED
Claire B BriddickUnited KingdomXuxue Feng UNQUALIFIED
Jones K NickaGermanyAnna Fali QUALIFIED
Claire M PerinBrazilAsiya Javayant PROPOSAL
Arvin P StockhamArgentinaAsiya Javayant QUALIFIED
Nicolas E TollnerRussiaIoni Bowcher NEGOTIATION
Juan D TollnerBrazilAsiya Javayant NEGOTIATION
Morrow J DarakjyIndiaAsiya Javayant NEW
Adams Q StockhamGermanyAmy Elsner UNQUALIFIED
Mujtaba B SaylorsIndiaAsiya Javayant NEW
Antonio Q DoeFranceAmy Elsner NEW
Jefferson O StockhamAustraliaElwin Sharvill RENEWAL
Jeanfrancois C FerenczRussiaAsiya Javayant RENEWAL
Julie B BologniaGermanyAmy Elsner NEW
Maisha Q NickaArgentinaIoni Bowcher UNQUALIFIED
Mayumi T RoysterArgentinaAmy Elsner RENEWAL
David R MorascaGermanyAnna Fali QUALIFIED
Murillo W CaldareraItalyIoni Bowcher PROPOSAL
Ricardo E SergiFranceAsiya Javayant NEGOTIATION
Sinclair O ButtGermanyOnyama Limba NEW
Maria D VenereCanadaStephen Shaw NEGOTIATION
Izzy S ChuiIndiaOnyama Limba NEW
Tony A ShinkoAustraliaAsiya Javayant NEW
Arvin K MacleadSpainOnyama Limba NEGOTIATION
Emily G FollerRussiaBernardo Dominic UNQUALIFIED
Murillo G PerinIndiaAsiya Javayant NEW
Octavia C PerinJapanAsiya Javayant RENEWAL
Munro H StockhamRussiaAnna Fali NEGOTIATION
Emily A NickaArgentinaAnna Fali QUALIFIED
Misaki P MorascaGermanyAnna Fali UNQUALIFIED
Izzy E KolmetzAustraliaElwin Sharvill QUALIFIED
Murillo L ShinkoUnited KingdomAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Alejandro G MaletIndiaIoni Bowcher NEW
Octavia J DoeSpainIoni Bowcher UNQUALIFIED
Maisha L CaudyBrazilIvan Magalhaes QUALIFIED
Ricardo B DarakjyAustraliaOnyama Limba NEW
Silvio T IturbideBrazilBernardo Dominic PROPOSAL
Jennifer N PaprockiGermanyIvan Magalhaes NEGOTIATION
James W ChuiArgentinaBernardo Dominic RENEWAL
Ricardo O InouyeFranceOnyama Limba RENEWAL
Alejandro Y MarrierArgentinaIoni Bowcher NEGOTIATION
Alejandro V WieserBrazilAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon V SchemmerJapan2024-05-23Truhlar And Truhlar Attys RENEWAL77Onyama Limba
1001Emily R WieserRussia2024-05-24Buckley Miller Wright UNQUALIFIED43Ioni Bowcher
1002Chavez F MaletGermany2024-05-29Morlong Associates PROPOSAL22Xuxue Feng
1003Jeanfrancois L WaycottFrance2024-06-03Chemel, James L Cpa UNQUALIFIED57Asiya Javayant
1004Kaitlin G IturbideUnited Kingdom2024-05-24Feiner Bros NEGOTIATION94Elwin Sharvill
1005James N DarakjySpain2024-06-20Chapman, Ross E Esq NEW12Ivan Magalhaes
1006Francesco O BowleyGermany2024-06-09Feiner Bros QUALIFIED67Anna Fali
1007Deepesh W GauchoBrazil2024-06-10Rangoni Of Florence NEW32Xuxue Feng
1008Chavez F FlosiGermany2024-06-06Truhlar And Truhlar Attys NEGOTIATION84Ioni Bowcher
1009Emily G NestleSpain2024-05-28Rousseaux, Michael Esq QUALIFIED50Xuxue Feng
1010Murillo R GarufiGermany2024-06-18Feiner Bros NEW15Anna Fali
1011Alejandro B WaycottItaly2024-06-15Rousseaux, Michael Esq PROPOSAL65Stephen Shaw
1012Ricardo C BologniaIndia2024-06-18Feltz Printing Service NEW7Bernardo Dominic
1013Ashley Q SlusarskiAustralia2024-06-10Commercial Press RENEWAL58Asiya Javayant
1014Jeanfrancois E GauchoItaly2024-06-14Commercial Press NEW10Amy Elsner
1015Arvin I DilliardItaly2024-05-27King, Christopher A Esq NEGOTIATION27Onyama Limba
1016Mayumi F FlosiAustralia2024-06-11Dorl, James J Esq NEGOTIATION75Elwin Sharvill
1017Nicolas G MarrierItaly2024-06-20Chanay, Jeffrey A Esq QUALIFIED60Anna Fali
1018Stacey M WaycottJapan2024-06-05Benton, John B Jr QUALIFIED65Stephen Shaw
1019Wickens G IturbideAustralia2024-06-11Morlong Associates RENEWAL6Ivan Magalhaes
1020Cody G CaudyBrazil2024-05-25Rousseaux, Michael Esq RENEWAL18Bernardo Dominic
1021Izzy X PoquetteSpain2024-06-17Buckley Miller Wright RENEWAL26Ioni Bowcher
1022Aika Z WhobreyAustralia2024-06-14Feiner Bros QUALIFIED76Onyama Limba
1023Octavia C PoquetteRussia2024-06-15Benton, John B Jr NEGOTIATION15Stephen Shaw
1024David X KuskoFrance2024-06-15Truhlar And Truhlar Attys NEGOTIATION46Ioni Bowcher
1025Johnson M KuskoGermany2024-06-06Printing Dimensions UNQUALIFIED4Xuxue Feng
1026Sinclair N PoquetteAustralia2024-06-01Buckley Miller Wright QUALIFIED21Elwin Sharvill
1027Stacey Z WhobreyIndia2024-06-14Chapman, Ross E Esq NEW23Asiya Javayant
1028Clifford I PaprockiRussia2024-06-15Morlong Associates UNQUALIFIED9Ivan Magalhaes
1029Morrow K TollnerItaly2024-06-06Rangoni Of Florence RENEWAL16Ivan Magalhaes
1030Emily Y VocelkaCanada2024-06-05Truhlar And Truhlar Attys QUALIFIED48Xuxue Feng
1031Maisha L BriddickJapan2024-06-18Truhlar And Truhlar Attys QUALIFIED83Stephen Shaw
1032Maria N StensethCanada2024-06-21Printing Dimensions PROPOSAL55Onyama Limba
1033Stacey A WaycottBrazil2024-06-19Chapman, Ross E Esq QUALIFIED54Bernardo Dominic
1034Alejandro X PerinSpain2024-06-17Rousseaux, Michael Esq RENEWAL74Ioni Bowcher
1035Alejandro V SergiBrazil2024-06-01King, Christopher A Esq QUALIFIED28Bernardo Dominic
1036Kadeem Y FollerAustralia2024-06-16Feiner Bros NEW4Amy Elsner
1037Rodrigues Z GarufiSpain2024-06-09King, Christopher A Esq PROPOSAL32Ivan Magalhaes
1038Darci I GlickFrance2024-06-05Chanay, Jeffrey A Esq NEW35Asiya Javayant
1039Juan Y BowleyArgentina2024-06-10Chanay, Jeffrey A Esq UNQUALIFIED44Stephen Shaw
1040Isabel V SlusarskiSpain2024-06-13Chapman, Ross E Esq RENEWAL40Stephen Shaw
1041Aditya S RulapaughIndia2024-06-06Rousseaux, Michael Esq NEW99Onyama Limba
1042Jeanfrancois U KolmetzSpain2024-05-29Buckley Miller Wright UNQUALIFIED0Xuxue Feng
1043Juan N RutaArgentina2024-06-16Benton, John B Jr PROPOSAL72Elwin Sharvill
1044Darci Q AmigonItaly2024-06-07Dorl, James J Esq UNQUALIFIED75Elwin Sharvill
1045Ricardo J MaletUnited Kingdom2024-06-12Chemel, James L Cpa UNQUALIFIED37Bernardo Dominic
1046Claire J CampainCanada2024-06-03Rangoni Of Florence PROPOSAL95Bernardo Dominic
1047Stacey L TollnerAustralia2024-06-17Commercial Press UNQUALIFIED91Xuxue Feng
1048Costa H GillianArgentina2024-06-16Commercial Press NEGOTIATION13Anna Fali
1049Ivar Z DoeJapan2024-05-29Buckley Miller Wright NEW59Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Antonio Y GarufiSpainAmy Elsner QUALIFIED
Francesco Z DilliardBrazilStephen Shaw NEGOTIATION
Silvio J VocelkaBrazilIoni Bowcher PROPOSAL
Antonio H OstroskyGermanyBernardo Dominic UNQUALIFIED
Francesco Q GarufiAustraliaAnna Fali RENEWAL
Ashley P PaprockiBrazilBernardo Dominic NEGOTIATION
Stacey Q GlickItalyAsiya Javayant UNQUALIFIED
Aruna F OldroydItalyIoni Bowcher RENEWAL
Clifford F TollnerBrazilAmy Elsner RENEWAL
Ashley L SchemmerFranceAsiya Javayant NEW
Stacey M WieserGermanyOnyama Limba QUALIFIED
Jones W SchemmerRussiaAnna Fali RENEWAL
Stacey L ButtCanadaAnna Fali NEW
Chavez P KolmetzBrazilAsiya Javayant PROPOSAL
Kaitlin N MacleadAustraliaStephen Shaw RENEWAL
James Z DilliardIndiaXuxue Feng NEGOTIATION
David U RimItalyOnyama Limba UNQUALIFIED
Cody Z MorascaItalyElwin Sharvill PROPOSAL
Silvio S MacleadSpainAsiya Javayant UNQUALIFIED
Maria A MaletBrazilOnyama Limba PROPOSAL
Salvatore D SaylorsUnited KingdomXuxue Feng NEGOTIATION
Claire C GarufiArgentinaAsiya Javayant RENEWAL
Julie E CampainItalyAmy Elsner NEGOTIATION
Sinclair J BowleyBrazilBernardo Dominic RENEWAL
Octavia G BologniaRussiaAsiya Javayant UNQUALIFIED
Isabel J RoysterRussiaElwin Sharvill QUALIFIED
Leja R DilliardArgentinaElwin Sharvill UNQUALIFIED
Morrow F BriddickIndiaElwin Sharvill UNQUALIFIED
James B BowleyJapanAsiya Javayant QUALIFIED
Leja I MaletJapanAmy Elsner NEGOTIATION
Claire F CaudyArgentinaOnyama Limba PROPOSAL
Maria U MorascaArgentinaAmy Elsner NEGOTIATION
Arvin W MacleadCanadaOnyama Limba UNQUALIFIED
Isabel L DilliardItalyIoni Bowcher NEW
Nicolas S MorascaItalyStephen Shaw PROPOSAL
Sinclair A MarrierArgentinaAnna Fali PROPOSAL
Stacey N PoquetteCanadaIvan Magalhaes NEGOTIATION
Leja K RimIndiaAnna Fali QUALIFIED
Mayumi Q StensethArgentinaStephen Shaw RENEWAL
Ricardo D KolmetzItalyBernardo Dominic NEW
Leon G GauchoIndiaElwin Sharvill UNQUALIFIED
Izzy W CampainUnited KingdomIvan Magalhaes QUALIFIED
Octavia A VenereIndiaBernardo Dominic PROPOSAL
Leon J FlosiJapanAnna Fali QUALIFIED
Octavia G FerenczArgentinaElwin Sharvill PROPOSAL
Munro D IturbideBrazilIoni Bowcher NEGOTIATION
Kaitlin Z PoquetteArgentinaElwin Sharvill RENEWAL
Aditya I DilliardFranceBernardo Dominic NEW
Aruna Q FlosiCanadaBernardo Dominic NEGOTIATION
Octavia G AmigonArgentinaOnyama Limba NEGOTIATION
Frozen Columns
Name
Juan C Royster
Rodrigues D Doe
Adams J Slusarski
Wickens X Sergi
Munro I Maclead
Maisha S Doe
Cody X Kolmetz
Stacey N Whobrey
Jeanfrancois L Waycott
Stacey G Poquette
Chavez N Sergi
Jefferson C Rulapaugh
Mujtaba I Ruta
Antonio Q Kusko
Deepesh N Royster
Ivar E Vocelka
Antonio H Chui
James X Stenseth
Maisha X Darakjy
Aruna L Poquette
Kadeem A Dilliard
Deepesh K Albares
Isabel V Ostrosky
Leja U Sergi
Munro G Figeroa
Juan B Bolognia
James O Inouye
Costa R Briddick
Faith H Iturbide
Mayumi A Malet
Maria J Nestle
Costa Y Ruta
Clifford B Maclead
Kaitlin U Oldroyd
Aika A Rim
Izzy H Vocelka
Clifford Y Tollner
Octavia S Caldarera
Adams G Caldarera
Tony F Schemmer
Isabel K Perin
Maria O Malet
Stacey W Schemmer
Jones V Bolognia
Munro I Marrier
Kaitlin I Saylors
Jones Q Campain
Stacey P Stockham
Rodrigues T Stockham
Leja H Dilliard
IdCountryDate
1000United Kingdom2024-05-30
1001Russia2024-06-07
1002Spain2024-06-15
1003India2024-06-06
1004United Kingdom2024-06-21
1005Germany2024-06-15
1006Russia2024-05-31
1007Australia2024-06-18
1008Japan2024-06-01
1009Germany2024-05-29
1010Brazil2024-06-03
1011Spain2024-05-23
1012Spain2024-06-20
1013Germany2024-05-26
1014France2024-05-30
1015United Kingdom2024-06-08
1016Germany2024-06-17
1017Italy2024-05-26
1018Japan2024-06-08
1019Canada2024-06-06
1020India2024-06-12
1021Australia2024-06-06
1022Japan2024-05-28
1023Spain2024-05-24
1024Russia2024-06-04
1025Japan2024-05-27
1026Japan2024-05-24
1027Spain2024-05-23
1028Argentina2024-06-09
1029Spain2024-06-17
1030Brazil2024-05-27
1031Spain2024-06-14
1032India2024-06-08
1033France2024-06-06
1034United Kingdom2024-05-25
1035Germany2024-06-04
1036Germany2024-05-28
1037Spain2024-05-24
1038Canada2024-05-27
1039Australia2024-06-13
1040Spain2024-05-25
1041Russia2024-05-28
1042Spain2024-06-16
1043Argentina2024-06-15
1044India2024-06-09
1045Argentina2024-06-06
1046Canada2024-06-16
1047Canada2024-05-28
1048France2024-06-19
1049India2024-06-06

On-Demand Data

NameIdCountryDate
Murillo B Doe1000India2024-05-31
Wickens E Whobrey1001Japan2024-06-19
Jeanfrancois Z Waycott1002Italy2024-06-03
Chavez R Briddick1003Brazil2024-06-20
Jennifer A Malet1004Canada2024-06-06
Leja W Butt1005Japan2024-06-13
Aruna F Oldroyd1006Spain2024-06-05
Murillo V Whobrey1007France2024-05-28
Faith H Figeroa1008India2024-06-03
Sinclair Q Figeroa1009Australia2024-06-03
Claire G Foller1010Russia2024-05-31
David X Venere1011Brazil2024-06-12
Emily U Bolognia1012Argentina2024-06-20
Adams Q Nestle1013Russia2024-05-23
Jones X Bowley1014Australia2024-06-02
Clifford D Stenseth1015United Kingdom2024-05-26
Mayumi W Nestle1016Germany2024-06-18
Mayumi T Chui1017Japan2024-05-24
Chavez P Iturbide1018India2024-06-10
Maisha U Marrier1019Russia2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna M WhobreyJapanBernardo Dominic NEGOTIATION
Aika N GarufiArgentinaElwin Sharvill QUALIFIED
Smith S KuskoItalyAsiya Javayant UNQUALIFIED
Smith B FigeroaGermanyStephen Shaw NEW
Costa P BologniaItalyAmy Elsner QUALIFIED
Claire P KuskoUnited KingdomStephen Shaw QUALIFIED
Isabel P ShinkoSpainBernardo Dominic PROPOSAL
Munro E StensethRussiaAmy Elsner NEW
Jennifer V StensethGermanyAsiya Javayant RENEWAL
Deepesh D SergiGermanyElwin Sharvill QUALIFIED
Julie V BriddickSpainAsiya Javayant QUALIFIED
Chavez V NickaBrazilStephen Shaw PROPOSAL
Emily L OldroydArgentinaIoni Bowcher QUALIFIED
Greenwood S NestleAustraliaIoni Bowcher QUALIFIED
Francesco G NestleBrazilOnyama Limba QUALIFIED
Alejandro B NickaGermanyAnna Fali UNQUALIFIED
Aruna O SergiRussiaIoni Bowcher UNQUALIFIED
Julie R RimJapanOnyama Limba QUALIFIED
Silvio T SlusarskiSpainXuxue Feng QUALIFIED
Izzy M WieserSpainStephen Shaw UNQUALIFIED
Maisha C PerinCanadaXuxue Feng PROPOSAL
Mayumi M GlickIndiaIvan Magalhaes RENEWAL
Aruna I GlickCanadaAnna Fali NEW
Izzy L ChuiUnited KingdomIoni Bowcher UNQUALIFIED
Deepesh K FerenczRussiaIoni Bowcher QUALIFIED
Ivar W GauchoFranceXuxue Feng NEGOTIATION
Rodrigues W MaletSpainElwin Sharvill RENEWAL
David A MacleadGermanyXuxue Feng QUALIFIED
Murillo K VenereArgentinaStephen Shaw NEGOTIATION
Aruna E FigeroaCanadaXuxue Feng RENEWAL
Kaitlin C DoeAustraliaIvan Magalhaes PROPOSAL
Francesco H AlbaresUnited KingdomAnna Fali QUALIFIED
Mayumi U SlusarskiSpainIoni Bowcher UNQUALIFIED
Izzy F MacleadRussiaAnna Fali QUALIFIED
Leja S StockhamSpainStephen Shaw NEW
Cody G RulapaughFranceElwin Sharvill RENEWAL
Smith L GarufiGermanyElwin Sharvill NEGOTIATION
Leja A MorascaFranceIoni Bowcher NEGOTIATION
Alejandro I RimIndiaIvan Magalhaes RENEWAL
Tony T MaletFranceAnna Fali 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>