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
Jennifer J MaletItalyAsiya Javayant UNQUALIFIED
Morrow E KolmetzGermanyXuxue Feng RENEWAL
Maisha E NickaCanadaStephen Shaw QUALIFIED
Emily Y SlusarskiSpainAnna Fali PROPOSAL
Antonio T OldroydRussiaIoni Bowcher NEGOTIATION
Ivar L StensethCanadaXuxue Feng NEW
Aika F GauchoRussiaIoni Bowcher RENEWAL
Kaitlin N GlickCanadaAsiya Javayant PROPOSAL
Francesco G DoeIndiaAsiya Javayant PROPOSAL
Darci I PerinJapanAsiya Javayant QUALIFIED
Octavia E TollnerItalyAsiya Javayant PROPOSAL
Chavez N VenereCanadaIoni Bowcher RENEWAL
Chavez U CampainCanadaXuxue Feng QUALIFIED
Munro Y AlbaresCanadaXuxue Feng RENEWAL
Arvin E GauchoCanadaElwin Sharvill NEW
Sinclair M ShinkoJapanStephen Shaw NEW
Leja C StensethItalyAnna Fali RENEWAL
Munro Q NestleRussiaStephen Shaw PROPOSAL
Smith U FollerCanadaXuxue Feng QUALIFIED
James R OstroskySpainBernardo Dominic NEGOTIATION
Isabel V FerenczItalyAsiya Javayant NEGOTIATION
Jefferson J GauchoArgentinaIoni Bowcher PROPOSAL
Mujtaba E MarrierArgentinaStephen Shaw NEW
Adams G CaudyRussiaStephen Shaw NEW
Johnson C SchemmerUnited KingdomIoni Bowcher NEGOTIATION
Johnson Q WhobreyRussiaAsiya Javayant RENEWAL
Cody C MorascaItalyBernardo Dominic QUALIFIED
Ashley T DarakjyGermanyIvan Magalhaes NEW
Tony J MaletCanadaOnyama Limba PROPOSAL
Clifford F VocelkaCanadaXuxue Feng UNQUALIFIED
Darci H WhobreyBrazilAsiya Javayant QUALIFIED
Arvin X OldroydArgentinaElwin Sharvill RENEWAL
Leja Q RutaFranceIoni Bowcher UNQUALIFIED
Jeanfrancois Q MarrierGermanyXuxue Feng NEW
Jones L PoquetteFranceElwin Sharvill QUALIFIED
Tony F CaldareraBrazilOnyama Limba RENEWAL
Mayumi E StensethItalyStephen Shaw UNQUALIFIED
Silvio J MorascaSpainElwin Sharvill NEGOTIATION
Maria Y WhobreyAustraliaIoni Bowcher RENEWAL
Rodrigues L RimAustraliaBernardo Dominic RENEWAL
Maisha B GauchoJapanXuxue Feng RENEWAL
Deepesh V NestleCanadaElwin Sharvill NEW
Aika C SlusarskiJapanBernardo Dominic NEW
Faith R BowleyGermanyXuxue Feng NEGOTIATION
Jones P MaletRussiaIvan Magalhaes RENEWAL
Jeanfrancois W PaprockiAustraliaAsiya Javayant RENEWAL
Julie R KolmetzSpainAmy Elsner NEGOTIATION
Francesco K CampainRussiaBernardo Dominic UNQUALIFIED
David P GlickSpainAmy Elsner RENEWAL
Nicolas W MorascaGermanyAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Murillo P MacleadBrazilStephen Shaw NEGOTIATION
Wickens J OldroydItalyIoni Bowcher NEW
Jennifer P StensethUnited KingdomStephen Shaw NEGOTIATION
Darci F DilliardCanadaAnna Fali QUALIFIED
Maria K PaprockiJapanBernardo Dominic NEW
Antonio J DarakjySpainAmy Elsner RENEWAL
Munro O RulapaughBrazilAsiya Javayant NEW
Faith D GauchoSpainOnyama Limba NEW
Darci Z DarakjyGermanyIoni Bowcher PROPOSAL
Ivar Q CaldareraIndiaAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy T PerinRussia2025-04-05Buckley Miller Wright NEGOTIATION20Xuxue Feng
1001Jeanfrancois J KolmetzUnited Kingdom2025-04-04Truhlar And Truhlar Attys NEGOTIATION79Asiya Javayant
1002Aika Q WaycottItaly2025-04-05Feiner Bros RENEWAL56Elwin Sharvill
1003Ricardo A ChuiAustralia2025-04-07Printing Dimensions NEGOTIATION0Asiya Javayant
1004Munro G StockhamItaly2025-04-06Feltz Printing Service RENEWAL46Elwin Sharvill
1005Leon N MacleadAustralia2025-04-23Chapman, Ross E Esq RENEWAL75Amy Elsner
1006Jeanfrancois P KuskoSpain2025-04-05Dorl, James J Esq QUALIFIED72Anna Fali
1007Wickens C MaletJapan2025-04-25King, Christopher A Esq NEGOTIATION89Ivan Magalhaes
1008Wickens Z AmigonAustralia2025-04-19Feiner Bros PROPOSAL58Ioni Bowcher
1009Ivar G DarakjyRussia2025-04-03Printing Dimensions QUALIFIED20Anna Fali
1010Rodrigues Y GauchoItaly2025-04-23Chemel, James L Cpa RENEWAL94Asiya Javayant
1011Maisha H FollerAustralia2025-04-23Morlong Associates NEW89Onyama Limba
1012Ricardo R GillianArgentina2025-04-24Dorl, James J Esq QUALIFIED57Ioni Bowcher
1013Izzy D WaycottItaly2025-04-11Printing Dimensions UNQUALIFIED59Bernardo Dominic
1014Izzy S SergiFrance2025-04-06Chanay, Jeffrey A Esq UNQUALIFIED41Onyama Limba
1015Antonio V SaylorsAustralia2025-04-15Feiner Bros NEGOTIATION82Asiya Javayant
1016Chavez T MorascaBrazil2025-04-16Chapman, Ross E Esq NEGOTIATION54Amy Elsner
1017Maisha Z IturbideUnited Kingdom2025-04-14Commercial Press NEW73Anna Fali
1018Faith F MarrierJapan2025-04-01Rousseaux, Michael Esq QUALIFIED10Ivan Magalhaes
1019Kaitlin T VocelkaGermany2025-04-04Feltz Printing Service UNQUALIFIED81Elwin Sharvill
1020Jefferson X TollnerGermany2025-04-29Chemel, James L Cpa UNQUALIFIED79Elwin Sharvill
1021Munro C RulapaughFrance2025-04-19Feltz Printing Service UNQUALIFIED37Anna Fali
1022Chavez I SaylorsUnited Kingdom2025-04-19Truhlar And Truhlar Attys NEW19Amy Elsner
1023Aruna R DoeSpain2025-04-09Morlong Associates NEGOTIATION25Onyama Limba
1024Aruna D MaletArgentina2025-04-05Chapman, Ross E Esq NEW98Anna Fali
1025Jefferson B SaylorsBrazil2025-04-30Chapman, Ross E Esq PROPOSAL80Onyama Limba
1026Jennifer I ButtGermany2025-04-26Buckley Miller Wright UNQUALIFIED2Anna Fali
1027Leon I ChuiSpain2025-04-23Chanay, Jeffrey A Esq UNQUALIFIED22Ioni Bowcher
1028Wickens X GarufiFrance2025-04-02Rousseaux, Michael Esq UNQUALIFIED42Ivan Magalhaes
1029Nicolas B SergiBrazil2025-04-20Printing Dimensions UNQUALIFIED67Xuxue Feng
1030Misaki W BriddickGermany2025-04-08Chapman, Ross E Esq NEGOTIATION18Stephen Shaw
1031David U GlickGermany2025-04-17Chanay, Jeffrey A Esq NEGOTIATION18Onyama Limba
1032Cody U VenereItaly2025-04-02Chemel, James L Cpa NEGOTIATION19Amy Elsner
1033Jefferson O GauchoIndia2025-04-06Benton, John B Jr NEW55Bernardo Dominic
1034Kadeem W FerenczFrance2025-04-01Chapman, Ross E Esq NEGOTIATION67Bernardo Dominic
1035Misaki F VenereIndia2025-04-10Dorl, James J Esq NEGOTIATION79Anna Fali
1036Rodrigues B CaldareraArgentina2025-04-03King, Christopher A Esq NEW30Onyama Limba
1037Alejandro H OstroskyCanada2025-04-12Chemel, James L Cpa UNQUALIFIED95Bernardo Dominic
1038Ricardo I VocelkaIndia2025-04-04Feiner Bros QUALIFIED76Bernardo Dominic
1039Silvio R RulapaughAustralia2025-04-19Chanay, Jeffrey A Esq QUALIFIED55Anna Fali
1040Stacey E WhobreyCanada2025-04-02Feiner Bros NEW58Asiya Javayant
1041Wickens T FollerBrazil2025-04-11Chanay, Jeffrey A Esq PROPOSAL65Amy Elsner
1042Stacey U VenereBrazil2025-04-14Rousseaux, Michael Esq NEGOTIATION11Ioni Bowcher
1043Nicolas E SaylorsCanada2025-04-16Printing Dimensions UNQUALIFIED53Asiya Javayant
1044Francesco Z ButtBrazil2025-04-14Morlong Associates PROPOSAL68Bernardo Dominic
1045Costa T VenereAustralia2025-04-07Feltz Printing Service NEGOTIATION92Elwin Sharvill
1046Jefferson L ButtFrance2025-04-04Buckley Miller Wright UNQUALIFIED55Anna Fali
1047Morrow Q RulapaughAustralia2025-04-17Commercial Press QUALIFIED83Onyama Limba
1048Arvin G CampainJapan2025-04-23Truhlar And Truhlar Attys PROPOSAL67Bernardo Dominic
1049Leon R FigeroaItaly2025-04-20Chanay, Jeffrey A Esq UNQUALIFIED54Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Darci C StensethCanadaAsiya Javayant QUALIFIED
Silvio D StensethUnited KingdomIvan Magalhaes PROPOSAL
Mayumi M SchemmerAustraliaAsiya Javayant PROPOSAL
Juan J BologniaRussiaXuxue Feng RENEWAL
Aditya W MacleadUnited KingdomXuxue Feng PROPOSAL
Kadeem S AmigonCanadaOnyama Limba NEW
Alejandro L WieserIndiaIoni Bowcher QUALIFIED
Maisha H TollnerJapanAsiya Javayant NEW
Salvatore U MorascaAustraliaOnyama Limba NEW
Darci U StensethItalyAsiya Javayant RENEWAL
Mayumi N BologniaItalyIvan Magalhaes NEGOTIATION
Juan M NickaFranceIvan Magalhaes UNQUALIFIED
Isabel M InouyeIndiaOnyama Limba UNQUALIFIED
Mujtaba C RutaUnited KingdomStephen Shaw NEGOTIATION
Darci D SlusarskiUnited KingdomElwin Sharvill NEW
Rodrigues R MarrierSpainAmy Elsner RENEWAL
Antonio Z PaprockiAustraliaStephen Shaw QUALIFIED
Darci U OstroskyAustraliaIoni Bowcher QUALIFIED
Jefferson A DoeGermanyAmy Elsner PROPOSAL
Sinclair G FigeroaCanadaIvan Magalhaes PROPOSAL
Misaki Q MaletGermanyAnna Fali PROPOSAL
Claire F FerenczGermanyAmy Elsner QUALIFIED
Tony T SlusarskiUnited KingdomAsiya Javayant PROPOSAL
Tony E VocelkaAustraliaIvan Magalhaes PROPOSAL
Isabel A StensethIndiaAnna Fali RENEWAL
Stacey J BologniaJapanAsiya Javayant QUALIFIED
Morrow T NestleRussiaIoni Bowcher NEGOTIATION
Arvin O MorascaRussiaXuxue Feng PROPOSAL
Darci Y GillianSpainElwin Sharvill QUALIFIED
Jennifer A GarufiUnited KingdomStephen Shaw RENEWAL
Jeanfrancois Q DoeGermanyIvan Magalhaes PROPOSAL
Mujtaba U BologniaCanadaAsiya Javayant NEGOTIATION
Aika H FlosiJapanElwin Sharvill QUALIFIED
Tony M MaletJapanAsiya Javayant NEGOTIATION
Ashley P RimSpainIoni Bowcher UNQUALIFIED
Ricardo G PoquetteSpainOnyama Limba PROPOSAL
Clifford Z BowleyBrazilStephen Shaw QUALIFIED
Leon J SergiIndiaAsiya Javayant PROPOSAL
Silvio N CaudyUnited KingdomIvan Magalhaes QUALIFIED
Isabel J PoquetteSpainAnna Fali NEGOTIATION
Faith I PerinCanadaIoni Bowcher QUALIFIED
Chavez D InouyeFranceStephen Shaw RENEWAL
Mayumi T NickaArgentinaIoni Bowcher RENEWAL
Kaitlin V SaylorsUnited KingdomXuxue Feng RENEWAL
Leja G FerenczRussiaOnyama Limba UNQUALIFIED
Clifford Z OldroydJapanIoni Bowcher QUALIFIED
Silvio C SergiItalyIoni Bowcher QUALIFIED
Misaki Z OldroydCanadaStephen Shaw NEW
Leja P GarufiJapanIvan Magalhaes NEW
Stacey Q OstroskyArgentinaAsiya Javayant QUALIFIED
Frozen Columns
Name
David Q Tollner
Jones H Iturbide
Aruna P Perin
James P Bowley
Ashley R Maclead
Johnson S Whobrey
Alejandro E Rulapaugh
Maisha B Wieser
David V Iturbide
Misaki B Rim
Clifford A Butt
Mujtaba C Paprocki
Leon W Schemmer
Arvin H Flosi
Silvio J Ruta
Nicolas C Shinko
Emily D Marrier
Tony Q Tollner
Wickens Q Campain
Jones O Figeroa
Mujtaba D Briddick
Kaitlin B Caudy
Leja K Rulapaugh
Silvio Q Tollner
Smith U Oldroyd
James D Albares
Maisha Y Marrier
Julie A Butt
Francesco L Amigon
Aika E Rim
Octavia Y Nicka
Mayumi K Wieser
Aditya Z Rulapaugh
Aika B Caudy
Darci N Morasca
Chavez O Sergi
Morrow U Gillian
Faith S Inouye
Emily E Dilliard
Ivar Q Maclead
Emily G Figeroa
Arvin P Perin
Aditya P Ferencz
Morrow D Royster
Costa P Royster
Costa J Caldarera
Francesco C Bowley
Faith N Butt
James U Sergi
Emily S Glick
IdCountryDate
1000Japan2025-04-01
1001France2025-04-28
1002Argentina2025-04-12
1003France2025-04-14
1004Germany2025-04-22
1005France2025-04-17
1006Canada2025-04-01
1007Italy2025-04-14
1008Japan2025-04-15
1009Japan2025-04-04
1010Brazil2025-04-15
1011France2025-04-07
1012Russia2025-04-08
1013Spain2025-04-17
1014Argentina2025-04-23
1015United Kingdom2025-04-23
1016Spain2025-04-03
1017Italy2025-04-07
1018Germany2025-04-25
1019Russia2025-04-17
1020Spain2025-04-17
1021Russia2025-04-29
1022Japan2025-04-28
1023Japan2025-04-11
1024Japan2025-04-06
1025Argentina2025-04-14
1026India2025-04-01
1027Japan2025-04-20
1028Germany2025-04-18
1029India2025-04-10
1030France2025-04-24
1031Germany2025-04-01
1032Germany2025-04-02
1033France2025-04-26
1034Argentina2025-04-29
1035Germany2025-04-23
1036Italy2025-04-19
1037Australia2025-04-05
1038Russia2025-04-11
1039Brazil2025-04-12
1040Brazil2025-04-13
1041France2025-04-15
1042France2025-04-01
1043Brazil2025-04-03
1044France2025-04-20
1045India2025-04-05
1046Brazil2025-04-06
1047Germany2025-04-24
1048Canada2025-04-26
1049India2025-04-17

On-Demand Data

NameIdCountryDate
Maisha Z Maclead1000Australia2025-04-24
Misaki O Waycott1001Russia2025-04-19
Greenwood V Chui1002Japan2025-04-24
Rodrigues X Bolognia1003United Kingdom2025-04-01
Kaitlin U Nestle1004Brazil2025-04-27
Jones Z Doe1005Australia2025-04-29
Kaitlin T Poquette1006Japan2025-04-29
Leon L Glick1007Germany2025-04-30
Kaitlin U Vocelka1008France2025-04-26
Francesco H Bolognia1009Germany2025-04-11
Morrow F Bolognia1010Canada2025-04-27
Stacey J Slusarski1011Brazil2025-04-16
Octavia Y Nicka1012Germany2025-04-07
Jeanfrancois P Glick1013Argentina2025-04-15
Ricardo E Venere1014Italy2025-04-19
Mayumi W Caudy1015Brazil2025-04-22
Aditya C Poquette1016Argentina2025-04-05
Arvin F Foller1017India2025-04-02
James D Paprocki1018Brazil2025-04-30
Mayumi C Caldarera1019France2025-04-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood O ButtFranceAmy Elsner NEW
Murillo H CaldareraAustraliaIoni Bowcher RENEWAL
Misaki T DarakjyAustraliaAsiya Javayant QUALIFIED
Deepesh N ChuiUnited KingdomXuxue Feng QUALIFIED
James Y KolmetzCanadaStephen Shaw QUALIFIED
Jennifer U InouyeSpainElwin Sharvill RENEWAL
Clifford C VocelkaItalyAnna Fali PROPOSAL
Maria Z DarakjyItalyIoni Bowcher NEW
Claire F ChuiJapanIoni Bowcher RENEWAL
Antonio C NickaArgentinaBernardo Dominic RENEWAL
Leja F PaprockiAustraliaElwin Sharvill NEGOTIATION
Leja C GarufiBrazilBernardo Dominic UNQUALIFIED
Ricardo U RulapaughSpainIoni Bowcher NEW
Kadeem R IturbideCanadaAsiya Javayant PROPOSAL
Octavia Q ButtIndiaAsiya Javayant UNQUALIFIED
Maria Y IturbideJapanOnyama Limba RENEWAL
Emily W CaudyUnited KingdomElwin Sharvill RENEWAL
Izzy C IturbideItalyAmy Elsner RENEWAL
Jones A FerenczUnited KingdomIoni Bowcher NEGOTIATION
Cody G MarrierSpainAsiya Javayant NEW
Faith S TollnerItalyXuxue Feng NEW
Maisha X FigeroaRussiaAmy Elsner RENEWAL
Chavez N KuskoGermanyIvan Magalhaes QUALIFIED
Costa W StockhamBrazilElwin Sharvill RENEWAL
Deepesh R InouyeGermanyXuxue Feng RENEWAL
Antonio E IturbideArgentinaAmy Elsner QUALIFIED
Greenwood U BriddickJapanAnna Fali QUALIFIED
Silvio Y PoquetteAustraliaAsiya Javayant NEGOTIATION
Octavia L SergiJapanXuxue Feng PROPOSAL
Mujtaba P AmigonSpainXuxue Feng NEGOTIATION
David G NestleJapanStephen Shaw PROPOSAL
Maisha L BriddickBrazilBernardo Dominic NEGOTIATION
Maria A MarrierCanadaOnyama Limba UNQUALIFIED
Mujtaba W MarrierBrazilStephen Shaw UNQUALIFIED
Julie O DoeRussiaOnyama Limba NEW
Johnson M MaletRussiaStephen Shaw UNQUALIFIED
Munro Z SaylorsAustraliaBernardo Dominic NEW
Greenwood H RutaFranceBernardo Dominic RENEWAL
Kaitlin O DilliardGermanyAmy Elsner QUALIFIED
Stacey B ButtIndiaStephen Shaw UNQUALIFIED

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