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
Tony L MorascaArgentinaXuxue Feng NEW
Ricardo Y DilliardArgentinaAsiya Javayant NEW
Chavez Q AmigonJapanAsiya Javayant PROPOSAL
Silvio H GarufiFranceAmy Elsner NEGOTIATION
Izzy J IturbideAustraliaAmy Elsner RENEWAL
Leja M BriddickAustraliaElwin Sharvill NEW
Francesco W NestleBrazilIoni Bowcher RENEWAL
Jeanfrancois E PoquetteSpainStephen Shaw NEW
Morrow Q PoquetteBrazilAnna Fali UNQUALIFIED
Isabel N SlusarskiAustraliaOnyama Limba NEGOTIATION
Alejandro J DoeFranceAsiya Javayant UNQUALIFIED
Murillo B VenereRussiaIvan Magalhaes NEW
Murillo A ShinkoSpainAnna Fali PROPOSAL
Cody J KolmetzBrazilElwin Sharvill PROPOSAL
James Q FollerUnited KingdomAnna Fali RENEWAL
Arvin N ShinkoFranceAmy Elsner UNQUALIFIED
Kaitlin J NickaCanadaXuxue Feng UNQUALIFIED
Jennifer S KuskoIndiaOnyama Limba QUALIFIED
Silvio X RimAustraliaElwin Sharvill PROPOSAL
Deepesh A ShinkoBrazilXuxue Feng NEGOTIATION
Aruna B BriddickAustraliaIoni Bowcher NEGOTIATION
Maria F BowleySpainIoni Bowcher NEW
Julie W GarufiFranceElwin Sharvill PROPOSAL
Aika Z PaprockiJapanAsiya Javayant UNQUALIFIED
Mayumi F TollnerCanadaStephen Shaw RENEWAL
Jones Q MaletBrazilOnyama Limba NEW
Aditya O DilliardBrazilElwin Sharvill RENEWAL
Maria U VocelkaBrazilStephen Shaw RENEWAL
Stacey F FigeroaUnited KingdomOnyama Limba UNQUALIFIED
Claire N OstroskySpainXuxue Feng RENEWAL
Misaki K SlusarskiJapanElwin Sharvill NEGOTIATION
Ashley D SlusarskiUnited KingdomStephen Shaw NEW
Ivar X DilliardIndiaXuxue Feng RENEWAL
Isabel K OldroydItalyElwin Sharvill RENEWAL
Izzy W FlosiIndiaXuxue Feng NEGOTIATION
Cody Y NestleSpainAmy Elsner UNQUALIFIED
Rodrigues Q GarufiUnited KingdomElwin Sharvill QUALIFIED
Isabel U FigeroaJapanAnna Fali UNQUALIFIED
Jennifer Y StensethIndiaAmy Elsner NEW
Rodrigues N IturbideSpainBernardo Dominic NEW
Costa F WieserItalyXuxue Feng NEW
Francesco O RimItalyElwin Sharvill QUALIFIED
Sinclair Z CaldareraJapanAnna Fali RENEWAL
Jones X MarrierItalyXuxue Feng NEGOTIATION
Arvin U WaycottSpainStephen Shaw QUALIFIED
Stacey L KolmetzItalyIoni Bowcher NEW
Leon H PoquetteCanadaElwin Sharvill QUALIFIED
Greenwood K RimBrazilOnyama Limba UNQUALIFIED
Kaitlin O FerenczIndiaIoni Bowcher NEGOTIATION
Alejandro O PoquetteGermanyBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Chavez F VenereIndiaBernardo Dominic RENEWAL
Francesco G CampainJapanElwin Sharvill UNQUALIFIED
Ricardo D RulapaughJapanAsiya Javayant UNQUALIFIED
Deepesh Z DoeAustraliaXuxue Feng RENEWAL
Morrow U StockhamGermanyElwin Sharvill UNQUALIFIED
Ricardo U DoeUnited KingdomXuxue Feng PROPOSAL
Arvin O KolmetzGermanyAsiya Javayant NEGOTIATION
Silvio C DoeJapanStephen Shaw QUALIFIED
Salvatore L ChuiBrazilElwin Sharvill QUALIFIED
Ivar Q DoeArgentinaBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey N MaletArgentina2026-06-27Feiner Bros QUALIFIED74Amy Elsner
1001Costa C BologniaCanada2026-06-26Benton, John B Jr QUALIFIED5Xuxue Feng
1002Jeanfrancois V SchemmerIndia2026-07-12Chanay, Jeffrey A Esq NEGOTIATION93Stephen Shaw
1003Chavez A WhobreyIndia2026-07-05Chapman, Ross E Esq QUALIFIED6Ioni Bowcher
1004Nicolas X KuskoSpain2026-07-01Benton, John B Jr NEGOTIATION91Anna Fali
1005Aika X DilliardArgentina2026-06-19Chapman, Ross E Esq NEW21Elwin Sharvill
1006Darci I StockhamCanada2026-06-30Truhlar And Truhlar Attys RENEWAL95Ivan Magalhaes
1007Tony S KuskoRussia2026-07-07Benton, John B Jr NEGOTIATION97Stephen Shaw
1008Darci B ShinkoUnited Kingdom2026-07-13Chemel, James L Cpa NEW47Elwin Sharvill
1009Munro I SchemmerGermany2026-07-10Printing Dimensions RENEWAL72Elwin Sharvill
1010Rodrigues O InouyeSpain2026-07-01Commercial Press UNQUALIFIED84Ioni Bowcher
1011Isabel N RulapaughUnited Kingdom2026-07-16Chemel, James L Cpa QUALIFIED61Xuxue Feng
1012Maria H PoquetteUnited Kingdom2026-06-18Dorl, James J Esq NEW57Elwin Sharvill
1013Darci W TollnerCanada2026-07-04Truhlar And Truhlar Attys NEW81Ioni Bowcher
1014Maria X FigeroaUnited Kingdom2026-06-18Rousseaux, Michael Esq NEW3Anna Fali
1015Costa C RoysterCanada2026-06-18Truhlar And Truhlar Attys NEGOTIATION33Ivan Magalhaes
1016Claire R MarrierArgentina2026-07-12Feltz Printing Service QUALIFIED2Ivan Magalhaes
1017Cody T FerenczItaly2026-06-22Morlong Associates NEGOTIATION5Asiya Javayant
1018Antonio V VocelkaItaly2026-06-18Chanay, Jeffrey A Esq UNQUALIFIED55Ioni Bowcher
1019Stacey Q WhobreyItaly2026-07-08Dorl, James J Esq UNQUALIFIED14Asiya Javayant
1020Leja R MorascaAustralia2026-07-14Dorl, James J Esq NEW48Amy Elsner
1021Maria S BriddickCanada2026-07-16Dorl, James J Esq UNQUALIFIED54Anna Fali
1022Cody B SaylorsArgentina2026-07-12Feiner Bros NEW47Bernardo Dominic
1023Jones N WaycottFrance2026-06-25Buckley Miller Wright PROPOSAL45Bernardo Dominic
1024Octavia N MaletItaly2026-06-20Truhlar And Truhlar Attys NEW8Stephen Shaw
1025Octavia V ChuiJapan2026-06-25Morlong Associates PROPOSAL37Ioni Bowcher
1026Darci E FigeroaRussia2026-06-26Truhlar And Truhlar Attys QUALIFIED63Bernardo Dominic
1027Mujtaba R ShinkoRussia2026-07-15Chemel, James L Cpa NEW18Anna Fali
1028Jeanfrancois O ChuiUnited Kingdom2026-07-12Chanay, Jeffrey A Esq UNQUALIFIED26Amy Elsner
1029Faith O BriddickAustralia2026-07-07Chemel, James L Cpa RENEWAL63Onyama Limba
1030Wickens X MacleadIndia2026-06-18Feiner Bros NEW70Asiya Javayant
1031Deepesh T WhobreyCanada2026-06-23Rousseaux, Michael Esq UNQUALIFIED28Ioni Bowcher
1032Darci S MaletJapan2026-06-28Dorl, James J Esq RENEWAL10Anna Fali
1033Johnson I StensethItaly2026-06-19Buckley Miller Wright RENEWAL16Ivan Magalhaes
1034Salvatore V FerenczGermany2026-07-16Rousseaux, Michael Esq QUALIFIED33Xuxue Feng
1035Smith G SaylorsAustralia2026-07-12Truhlar And Truhlar Attys UNQUALIFIED54Anna Fali
1036Cody V SergiFrance2026-07-13Dorl, James J Esq UNQUALIFIED39Ivan Magalhaes
1037Murillo U SergiGermany2026-07-03Rangoni Of Florence UNQUALIFIED4Onyama Limba
1038Emily J DarakjyAustralia2026-06-21Dorl, James J Esq UNQUALIFIED87Bernardo Dominic
1039Nicolas O CaudyItaly2026-07-08Rangoni Of Florence NEW53Anna Fali
1040Kaitlin T OldroydIndia2026-07-08Rangoni Of Florence PROPOSAL55Bernardo Dominic
1041Silvio V RoysterIndia2026-07-04Benton, John B Jr NEW85Ioni Bowcher
1042Ricardo F KuskoIndia2026-06-19Feltz Printing Service UNQUALIFIED63Amy Elsner
1043Costa T ChuiGermany2026-07-09King, Christopher A Esq PROPOSAL49Xuxue Feng
1044Nicolas J CaldareraAustralia2026-07-15Truhlar And Truhlar Attys NEW94Elwin Sharvill
1045Emily N GarufiArgentina2026-06-18Printing Dimensions UNQUALIFIED33Ivan Magalhaes
1046Leon E GarufiJapan2026-07-02Chanay, Jeffrey A Esq RENEWAL48Ioni Bowcher
1047Deepesh O BriddickSpain2026-06-23King, Christopher A Esq UNQUALIFIED50Asiya Javayant
1048Mujtaba F OldroydAustralia2026-06-22Dorl, James J Esq NEGOTIATION61Stephen Shaw
1049Johnson C FerenczBrazil2026-07-13Benton, John B Jr RENEWAL34Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Antonio V GarufiItalyElwin Sharvill NEW
Isabel P ButtArgentinaOnyama Limba RENEWAL
Ricardo F AlbaresAustraliaBernardo Dominic RENEWAL
Jeanfrancois V NestleJapanAnna Fali UNQUALIFIED
Rodrigues A FerenczAustraliaAmy Elsner UNQUALIFIED
Ivar R SaylorsCanadaStephen Shaw NEW
Faith P RoysterArgentinaElwin Sharvill NEW
Chavez C SchemmerAustraliaAnna Fali PROPOSAL
Mujtaba A StensethItalyAmy Elsner PROPOSAL
Leon K KolmetzAustraliaStephen Shaw UNQUALIFIED
Leja G CaldareraRussiaXuxue Feng NEW
Costa W DoeFranceStephen Shaw UNQUALIFIED
Kaitlin C BriddickIndiaStephen Shaw UNQUALIFIED
Jones P CampainGermanyElwin Sharvill NEW
Clifford N ButtFranceAsiya Javayant NEW
Murillo C ChuiItalyIoni Bowcher QUALIFIED
Leon E FigeroaGermanyIoni Bowcher QUALIFIED
Cody G WieserArgentinaStephen Shaw PROPOSAL
Costa I MaletJapanIvan Magalhaes QUALIFIED
Greenwood W VenereGermanyAnna Fali NEGOTIATION
Wickens G ShinkoUnited KingdomStephen Shaw PROPOSAL
Aditya K SaylorsUnited KingdomAnna Fali QUALIFIED
Jennifer Z NestleFranceOnyama Limba UNQUALIFIED
Clifford L SchemmerUnited KingdomElwin Sharvill QUALIFIED
Juan D FollerUnited KingdomStephen Shaw NEGOTIATION
Faith T RoysterArgentinaAmy Elsner NEGOTIATION
Jefferson G MaletAustraliaAmy Elsner PROPOSAL
Jones W SchemmerGermanyXuxue Feng UNQUALIFIED
Octavia X FerenczSpainBernardo Dominic PROPOSAL
Faith B FlosiArgentinaAmy Elsner NEW
Jefferson Z NickaIndiaOnyama Limba UNQUALIFIED
Morrow S GauchoAustraliaStephen Shaw NEGOTIATION
Antonio U KolmetzFranceBernardo Dominic NEW
Salvatore W BriddickIndiaAmy Elsner UNQUALIFIED
Emily M MorascaAustraliaAsiya Javayant QUALIFIED
Maisha L ShinkoArgentinaStephen Shaw RENEWAL
Maria B StensethItalyIoni Bowcher NEW
Ricardo L FlosiAustraliaBernardo Dominic UNQUALIFIED
Munro M NickaCanadaAnna Fali NEGOTIATION
Juan S CaldareraJapanXuxue Feng PROPOSAL
Maria A DilliardGermanyStephen Shaw PROPOSAL
Maria W DilliardSpainOnyama Limba NEW
Jones X GillianCanadaAnna Fali QUALIFIED
Maria G FlosiFranceBernardo Dominic NEW
Maria O OstroskyArgentinaIvan Magalhaes UNQUALIFIED
Morrow G MaletBrazilAmy Elsner NEW
Ashley W OstroskyIndiaAnna Fali NEW
Jones J OldroydItalyAmy Elsner NEGOTIATION
Adams E ChuiGermanyStephen Shaw NEGOTIATION
Aika F RutaSpainStephen Shaw RENEWAL
Frozen Columns
Name
Cody S Ferencz
Aditya N Rim
Jeanfrancois V Marrier
Jeanfrancois G Stenseth
Wickens Z Gillian
Octavia P Slusarski
Nicolas U Morasca
Isabel Z Stenseth
Leja X Foller
Wickens R Nicka
Francesco R Ruta
Antonio A Amigon
Kadeem C Stockham
Julie T Campain
Mujtaba Y Caldarera
Silvio W Whobrey
David R Tollner
Silvio B Tollner
Chavez H Chui
Maisha K Briddick
Costa K Kolmetz
Leon M Inouye
Juan X Caudy
Stacey M Malet
Ashley V Nicka
Deepesh R Albares
Ivar D Chui
Wickens F Kolmetz
Mayumi Y Malet
Maisha C Campain
Mujtaba P Stenseth
Costa Q Amigon
Maria W Royster
Stacey R Malet
Clifford D Vocelka
Chavez V Darakjy
Kaitlin J Slusarski
Juan N Albares
Costa O Slusarski
Francesco S Chui
Munro G Malet
Aditya N Poquette
Costa A Maclead
James A Foller
David D Waycott
Salvatore G Gaucho
Maisha P Rulapaugh
Izzy M Kolmetz
Stacey S Campain
Isabel U Gillian
IdCountryDate
1000Spain2026-07-03
1001India2026-07-02
1002Italy2026-07-01
1003Italy2026-06-21
1004Brazil2026-06-23
1005Russia2026-07-03
1006Australia2026-07-12
1007Spain2026-06-29
1008Italy2026-07-10
1009Australia2026-07-15
1010Germany2026-06-28
1011Brazil2026-07-09
1012Argentina2026-07-14
1013Brazil2026-06-28
1014Canada2026-07-17
1015Russia2026-07-16
1016Canada2026-06-28
1017Canada2026-06-20
1018Brazil2026-06-29
1019France2026-06-21
1020Germany2026-07-12
1021Germany2026-07-06
1022Spain2026-07-04
1023Australia2026-07-02
1024Spain2026-06-21
1025Spain2026-07-03
1026United Kingdom2026-06-22
1027Canada2026-06-24
1028Spain2026-07-05
1029Argentina2026-07-07
1030Brazil2026-07-06
1031Argentina2026-06-19
1032Canada2026-07-11
1033Germany2026-07-05
1034Brazil2026-07-11
1035Argentina2026-06-27
1036Japan2026-07-09
1037Argentina2026-07-13
1038Argentina2026-06-24
1039Italy2026-06-30
1040Germany2026-07-13
1041Argentina2026-06-30
1042Russia2026-06-21
1043Japan2026-07-16
1044Argentina2026-06-19
1045Australia2026-07-07
1046Brazil2026-07-11
1047Brazil2026-07-02
1048France2026-07-14
1049Germany2026-07-12

On-Demand Data

NameIdCountryDate
David J Malet1000Australia2026-06-18
David C Ruta1001Germany2026-07-09
Tony U Maclead1002Germany2026-07-17
Ricardo T Stockham1003India2026-07-13
Stacey U Nicka1004Russia2026-07-04
Silvio O Perin1005India2026-06-19
Rodrigues O Shinko1006Italy2026-07-11
Kaitlin S Vocelka1007Russia2026-06-19
Leon X Rim1008Spain2026-07-15
Francesco V Dilliard1009Argentina2026-06-19
Cody Z Doe1010Spain2026-07-04
Arvin O Darakjy1011Spain2026-06-25
Jeanfrancois O Garufi1012France2026-07-05
Murillo B Malet1013Italy2026-07-01
Adams Z Saylors1014Brazil2026-07-09
Leja E Rulapaugh1015Japan2026-06-28
David Z Malet1016United Kingdom2026-07-05
David Y Chui1017Italy2026-06-26
Misaki M Gillian1018Brazil2026-07-04
Claire Q Briddick1019India2026-07-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo F ChuiItalyAmy Elsner NEW
Silvio G OldroydItalyIvan Magalhaes PROPOSAL
Antonio Y CampainRussiaBernardo Dominic UNQUALIFIED
Costa X FollerJapanIvan Magalhaes RENEWAL
Ashley O DoeBrazilStephen Shaw PROPOSAL
Maria T AlbaresCanadaIoni Bowcher PROPOSAL
Leja D NestleSpainAnna Fali RENEWAL
David J FigeroaArgentinaAnna Fali NEGOTIATION
Adams P RulapaughBrazilAnna Fali NEW
Jeanfrancois I MaletIndiaIvan Magalhaes PROPOSAL
Francesco U NickaAustraliaIoni Bowcher NEGOTIATION
Johnson Z FerenczSpainElwin Sharvill PROPOSAL
Leja B WaycottCanadaIvan Magalhaes NEW
Misaki B FlosiUnited KingdomAmy Elsner PROPOSAL
Francesco I CampainCanadaBernardo Dominic NEGOTIATION
Mayumi C CampainSpainBernardo Dominic QUALIFIED
Isabel O GillianUnited KingdomElwin Sharvill UNQUALIFIED
Aditya G FollerArgentinaXuxue Feng QUALIFIED
Jennifer U BologniaJapanAmy Elsner NEW
Aditya G StockhamUnited KingdomOnyama Limba QUALIFIED
Mayumi C DilliardAustraliaElwin Sharvill UNQUALIFIED
Arvin X NickaItalyStephen Shaw PROPOSAL
Emily G MaletArgentinaIoni Bowcher RENEWAL
Adams B PaprockiUnited KingdomXuxue Feng NEGOTIATION
Jennifer Q ChuiJapanBernardo Dominic RENEWAL
Julie Y DarakjyFranceIvan Magalhaes RENEWAL
Aika E SlusarskiFranceOnyama Limba UNQUALIFIED
Faith D NestleItalyIoni Bowcher NEW
Sinclair V RulapaughItalyAnna Fali NEGOTIATION
Costa V RoysterSpainStephen Shaw NEGOTIATION
Kaitlin Y FlosiIndiaAsiya Javayant QUALIFIED
Deepesh Z BriddickCanadaBernardo Dominic RENEWAL
Salvatore R CaldareraIndiaIoni Bowcher NEGOTIATION
Izzy N DoeUnited KingdomAsiya Javayant UNQUALIFIED
Juan K GauchoUnited KingdomOnyama Limba NEGOTIATION
Octavia K AmigonJapanBernardo Dominic UNQUALIFIED
Ivar B FlosiIndiaAsiya Javayant QUALIFIED
Octavia P FerenczJapanXuxue Feng PROPOSAL
Isabel Z BowleyAustraliaAmy Elsner PROPOSAL
Salvatore R StockhamRussiaIvan Magalhaes 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>