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
Costa T SlusarskiGermanyAsiya Javayant NEGOTIATION
Morrow Q MaletGermanyIoni Bowcher RENEWAL
Leon U PoquetteItalyAmy Elsner NEW
Wickens K SchemmerRussiaBernardo Dominic PROPOSAL
Juan W WhobreyCanadaXuxue Feng UNQUALIFIED
Julie P TollnerJapanAmy Elsner QUALIFIED
Mujtaba S PerinIndiaStephen Shaw RENEWAL
Tony G DilliardItalyXuxue Feng RENEWAL
David C DoeJapanAmy Elsner PROPOSAL
Salvatore E FollerUnited KingdomAmy Elsner RENEWAL
Leja B GauchoFranceBernardo Dominic NEGOTIATION
Johnson R OstroskySpainElwin Sharvill UNQUALIFIED
Maisha H IturbideGermanyStephen Shaw RENEWAL
Leja R CampainSpainBernardo Dominic PROPOSAL
Cody Q NickaBrazilElwin Sharvill UNQUALIFIED
Deepesh F MaletItalyOnyama Limba UNQUALIFIED
Mayumi I ChuiCanadaAmy Elsner RENEWAL
Sinclair W RimAustraliaIoni Bowcher UNQUALIFIED
Leon Y ButtCanadaAmy Elsner QUALIFIED
Maisha P NestleAustraliaAmy Elsner QUALIFIED
Ricardo L WaycottFranceAnna Fali RENEWAL
Jefferson W DoeUnited KingdomStephen Shaw NEW
Francesco U RulapaughItalyAsiya Javayant RENEWAL
Izzy R CaudyUnited KingdomAsiya Javayant UNQUALIFIED
Francesco D VenereBrazilStephen Shaw UNQUALIFIED
Munro B GillianJapanAmy Elsner UNQUALIFIED
Aika O RoysterBrazilAsiya Javayant NEGOTIATION
James G RulapaughJapanIoni Bowcher UNQUALIFIED
Antonio V RulapaughBrazilElwin Sharvill UNQUALIFIED
Stacey T ShinkoRussiaOnyama Limba NEGOTIATION
Stacey E GillianBrazilAsiya Javayant UNQUALIFIED
Munro Q OldroydGermanyAnna Fali QUALIFIED
Deepesh Q SlusarskiUnited KingdomStephen Shaw UNQUALIFIED
Jennifer L NickaRussiaStephen Shaw NEW
Tony K WaycottCanadaXuxue Feng RENEWAL
Izzy A OldroydAustraliaIvan Magalhaes NEGOTIATION
Kaitlin M InouyeRussiaOnyama Limba UNQUALIFIED
Costa K SaylorsAustraliaIoni Bowcher NEW
Emily F OldroydGermanyStephen Shaw QUALIFIED
Faith E OldroydRussiaXuxue Feng UNQUALIFIED
Cody U MorascaUnited KingdomElwin Sharvill NEGOTIATION
Ivar K SergiRussiaBernardo Dominic NEGOTIATION
Ashley V VocelkaAustraliaAmy Elsner PROPOSAL
Ashley L StockhamItalyAmy Elsner NEW
Arvin I IturbideItalyElwin Sharvill QUALIFIED
Leon M FollerIndiaIvan Magalhaes NEW
Ricardo O CaldareraItalyAnna Fali UNQUALIFIED
Chavez D MaletFranceXuxue Feng RENEWAL
Salvatore Y FigeroaSpainIvan Magalhaes NEW
Isabel W PoquetteFranceIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Aruna G BologniaItalyXuxue Feng QUALIFIED
Munro V StockhamItalyXuxue Feng PROPOSAL
Antonio J BriddickFranceAmy Elsner QUALIFIED
Antonio K AlbaresIndiaBernardo Dominic NEW
Isabel A StockhamJapanIoni Bowcher NEW
Maria Z FigeroaCanadaXuxue Feng UNQUALIFIED
Francesco Y FerenczCanadaAnna Fali QUALIFIED
Aditya S FerenczAustraliaBernardo Dominic RENEWAL
Jennifer P DoeIndiaAnna Fali UNQUALIFIED
Morrow A StensethArgentinaAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore H IturbideItaly2024-09-23Feltz Printing Service RENEWAL10Asiya Javayant
1001Leon W BriddickFrance2024-09-18Chemel, James L Cpa UNQUALIFIED57Asiya Javayant
1002Clifford R KolmetzAustralia2024-09-19Commercial Press RENEWAL80Amy Elsner
1003Smith L ChuiCanada2024-08-27Morlong Associates NEGOTIATION73Bernardo Dominic
1004Rodrigues U OstroskyFrance2024-09-10Truhlar And Truhlar Attys QUALIFIED49Elwin Sharvill
1005Juan A GillianUnited Kingdom2024-09-20Feltz Printing Service NEGOTIATION75Onyama Limba
1006Johnson W PaprockiBrazil2024-09-21Morlong Associates NEW68Elwin Sharvill
1007Rodrigues I GauchoGermany2024-09-23Benton, John B Jr UNQUALIFIED67Anna Fali
1008Antonio F AlbaresSpain2024-09-12Commercial Press RENEWAL92Bernardo Dominic
1009Misaki V DoeItaly2024-09-19Chemel, James L Cpa PROPOSAL35Xuxue Feng
1010Francesco U NickaIndia2024-09-06Chanay, Jeffrey A Esq RENEWAL38Stephen Shaw
1011Faith E DilliardBrazil2024-09-11Printing Dimensions QUALIFIED54Anna Fali
1012Kaitlin D FollerJapan2024-09-23Chanay, Jeffrey A Esq NEW87Onyama Limba
1013Clifford R WhobreyBrazil2024-09-16Benton, John B Jr QUALIFIED29Bernardo Dominic
1014Jefferson D BowleyGermany2024-09-12Printing Dimensions NEW68Onyama Limba
1015Aruna H GillianBrazil2024-09-10Chemel, James L Cpa QUALIFIED97Bernardo Dominic
1016Costa G CaudyBrazil2024-09-16Chanay, Jeffrey A Esq PROPOSAL7Elwin Sharvill
1017Tony J BowleyItaly2024-09-03Truhlar And Truhlar Attys PROPOSAL24Asiya Javayant
1018Francesco A CampainAustralia2024-09-19Chapman, Ross E Esq PROPOSAL98Elwin Sharvill
1019Izzy X MarrierItaly2024-09-17Rousseaux, Michael Esq PROPOSAL49Bernardo Dominic
1020Ashley O BriddickJapan2024-09-02Truhlar And Truhlar Attys NEGOTIATION56Amy Elsner
1021Leja C MarrierArgentina2024-09-17Truhlar And Truhlar Attys QUALIFIED71Asiya Javayant
1022Jeanfrancois P AmigonIndia2024-09-20Feiner Bros UNQUALIFIED41Amy Elsner
1023Izzy D SlusarskiSpain2024-09-16Buckley Miller Wright QUALIFIED49Anna Fali
1024James C GlickCanada2024-09-14Truhlar And Truhlar Attys QUALIFIED77Elwin Sharvill
1025Leja I ShinkoUnited Kingdom2024-08-27Chemel, James L Cpa QUALIFIED17Amy Elsner
1026Salvatore B CaudyJapan2024-09-08Truhlar And Truhlar Attys UNQUALIFIED87Anna Fali
1027Maisha A SaylorsAustralia2024-09-05Dorl, James J Esq RENEWAL98Bernardo Dominic
1028Kaitlin J RutaIndia2024-08-25Chanay, Jeffrey A Esq RENEWAL16Asiya Javayant
1029Aika G OldroydRussia2024-08-30Feiner Bros RENEWAL7Onyama Limba
1030Jones W BowleyIndia2024-09-22Commercial Press NEW99Elwin Sharvill
1031Tony D CaudyFrance2024-08-27Buckley Miller Wright QUALIFIED83Amy Elsner
1032Aika B DarakjyJapan2024-09-19Feiner Bros NEW3Onyama Limba
1033Nicolas X GauchoJapan2024-08-30Feiner Bros RENEWAL29Bernardo Dominic
1034Faith K WaycottSpain2024-09-23Chemel, James L Cpa UNQUALIFIED63Bernardo Dominic
1035Rodrigues F BowleyGermany2024-09-21Printing Dimensions NEGOTIATION51Ioni Bowcher
1036Izzy I GauchoSpain2024-08-30Dorl, James J Esq PROPOSAL38Onyama Limba
1037Claire A SchemmerArgentina2024-09-22Benton, John B Jr QUALIFIED74Amy Elsner
1038Ashley O WaycottSpain2024-08-28Rousseaux, Michael Esq NEGOTIATION67Bernardo Dominic
1039Wickens G DoeItaly2024-09-12King, Christopher A Esq RENEWAL13Xuxue Feng
1040Kadeem T DilliardCanada2024-08-27King, Christopher A Esq NEGOTIATION31Bernardo Dominic
1041Faith G RimRussia2024-09-06Rangoni Of Florence QUALIFIED20Ivan Magalhaes
1042Smith F PaprockiFrance2024-08-27Morlong Associates PROPOSAL80Onyama Limba
1043Morrow X GlickFrance2024-09-23Printing Dimensions QUALIFIED81Elwin Sharvill
1044Ricardo Y VocelkaCanada2024-08-31Chemel, James L Cpa QUALIFIED53Xuxue Feng
1045David R OldroydRussia2024-09-04Chapman, Ross E Esq RENEWAL87Elwin Sharvill
1046Jones B OldroydFrance2024-09-16Rangoni Of Florence NEW9Asiya Javayant
1047Murillo V StockhamArgentina2024-09-12Rangoni Of Florence NEW7Amy Elsner
1048Faith Y AlbaresArgentina2024-08-27Truhlar And Truhlar Attys PROPOSAL2Anna Fali
1049Mayumi E GauchoIndia2024-08-28Buckley Miller Wright UNQUALIFIED45Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Silvio D GauchoRussiaOnyama Limba NEW
Johnson E SchemmerItalyAmy Elsner NEW
Smith F CampainGermanyAmy Elsner QUALIFIED
Aika P WhobreyItalyAmy Elsner QUALIFIED
Emily V StensethItalyIoni Bowcher NEGOTIATION
Sinclair W KuskoIndiaStephen Shaw NEGOTIATION
Jefferson H AmigonBrazilAsiya Javayant UNQUALIFIED
Alejandro C CaldareraIndiaAnna Fali PROPOSAL
Clifford R FerenczCanadaAnna Fali UNQUALIFIED
Smith K DoeAustraliaElwin Sharvill UNQUALIFIED
Aditya R NickaBrazilElwin Sharvill NEW
Isabel J ShinkoBrazilIvan Magalhaes NEGOTIATION
Clifford S GauchoArgentinaAmy Elsner PROPOSAL
Salvatore R SlusarskiIndiaXuxue Feng PROPOSAL
Arvin M RoysterJapanStephen Shaw PROPOSAL
Murillo W RutaSpainIoni Bowcher QUALIFIED
Adams H WhobreyCanadaElwin Sharvill RENEWAL
Clifford N FigeroaBrazilAnna Fali UNQUALIFIED
Claire B StockhamArgentinaIvan Magalhaes RENEWAL
Misaki Q MorascaFranceElwin Sharvill NEGOTIATION
Tony L MorascaArgentinaXuxue Feng RENEWAL
Octavia G AmigonCanadaElwin Sharvill RENEWAL
Aruna G CaudyFranceXuxue Feng NEW
Sinclair K StockhamCanadaIvan Magalhaes RENEWAL
Leon U BologniaAustraliaIoni Bowcher RENEWAL
Sinclair B AmigonBrazilElwin Sharvill NEGOTIATION
Leon M KuskoItalyStephen Shaw NEW
Salvatore P SaylorsAustraliaIoni Bowcher UNQUALIFIED
Isabel J RutaRussiaIvan Magalhaes RENEWAL
Johnson Y GauchoJapanIvan Magalhaes RENEWAL
Mayumi D OldroydJapanAsiya Javayant PROPOSAL
Mujtaba G GillianJapanIvan Magalhaes PROPOSAL
Ivar F NestleUnited KingdomBernardo Dominic PROPOSAL
Cody C SlusarskiGermanyBernardo Dominic UNQUALIFIED
Chavez X PerinBrazilOnyama Limba PROPOSAL
Darci X StensethUnited KingdomStephen Shaw QUALIFIED
Greenwood K BowleyBrazilAmy Elsner NEW
Ricardo Z StockhamArgentinaAsiya Javayant NEGOTIATION
Julie T MaletFranceOnyama Limba NEGOTIATION
James X NestleIndiaElwin Sharvill RENEWAL
Jones Z PerinRussiaStephen Shaw PROPOSAL
Isabel T GarufiFranceIoni Bowcher NEGOTIATION
Clifford S SaylorsItalyXuxue Feng RENEWAL
Aditya T PaprockiGermanyAmy Elsner QUALIFIED
Stacey X PerinArgentinaXuxue Feng PROPOSAL
Aruna F MaletRussiaAmy Elsner NEW
Ashley P ButtUnited KingdomBernardo Dominic RENEWAL
David X DoeArgentinaXuxue Feng QUALIFIED
Darci E BologniaAustraliaAnna Fali PROPOSAL
Aditya N BriddickCanadaElwin Sharvill PROPOSAL
Frozen Columns
Name
Emily D Shinko
Jennifer U Slusarski
Mayumi S Gaucho
Octavia M Briddick
Julie H Poquette
Jennifer N Figeroa
Smith Z Figeroa
Misaki X Gillian
Chavez G Doe
Izzy H Ruta
Aruna P Kolmetz
Arvin A Campain
Silvio R Paprocki
Leja B Rulapaugh
Sinclair M Amigon
Wickens C Waycott
Aruna Y Waycott
Octavia Y Nestle
David X Nestle
Jennifer R Paprocki
Leja P Stenseth
Kaitlin G Morasca
Isabel D Figeroa
Ashley A Malet
Ricardo U Ferencz
Mujtaba C Gaucho
Maria W Caudy
Mayumi R Rim
Clifford X Tollner
Misaki C Maclead
Kadeem G Butt
Costa I Inouye
Juan E Perin
Costa F Inouye
Antonio L Bolognia
Julie V Marrier
Arvin D Nestle
Alejandro Q Ostrosky
Ivar K Perin
Silvio V Briddick
Ashley V Ferencz
James I Tollner
Ricardo B Darakjy
Jones W Venere
Aruna M Caudy
Misaki Z Inouye
Faith B Figeroa
Faith I Tollner
Faith J Nicka
Alejandro A Campain
IdCountryDate
1000Russia2024-09-20
1001Australia2024-09-05
1002Australia2024-09-01
1003Japan2024-09-14
1004Italy2024-09-05
1005France2024-09-21
1006Germany2024-09-01
1007Germany2024-08-28
1008France2024-08-29
1009Australia2024-09-18
1010Canada2024-09-13
1011Russia2024-09-14
1012Russia2024-09-02
1013Canada2024-09-02
1014United Kingdom2024-09-08
1015Australia2024-09-23
1016Italy2024-09-12
1017Italy2024-09-06
1018Brazil2024-08-28
1019France2024-08-30
1020Canada2024-09-10
1021France2024-09-07
1022France2024-09-23
1023United Kingdom2024-09-16
1024Brazil2024-09-09
1025Russia2024-09-20
1026Canada2024-09-03
1027Russia2024-09-14
1028Brazil2024-09-21
1029Spain2024-09-01
1030Brazil2024-09-02
1031Australia2024-09-07
1032Italy2024-09-07
1033Brazil2024-09-02
1034France2024-09-17
1035Italy2024-09-02
1036United Kingdom2024-08-28
1037Brazil2024-09-18
1038Spain2024-09-21
1039Italy2024-08-30
1040Italy2024-09-10
1041Germany2024-08-31
1042Argentina2024-09-19
1043Germany2024-09-09
1044Canada2024-09-12
1045Russia2024-09-18
1046Japan2024-08-28
1047India2024-09-03
1048France2024-09-20
1049Argentina2024-09-21

On-Demand Data

NameIdCountryDate
Murillo S Foller1000Argentina2024-09-01
Deepesh I Kolmetz1001Spain2024-09-14
Jones H Dilliard1002India2024-08-31
David X Slusarski1003Brazil2024-08-26
Darci X Nicka1004Canada2024-08-26
Alejandro V Nestle1005Italy2024-09-21
Jeanfrancois E Shinko1006Spain2024-09-07
Costa Y Darakjy1007Brazil2024-09-02
Aditya A Wieser1008Canada2024-09-04
Rodrigues X Royster1009United Kingdom2024-09-18
Francesco W Albares1010Italy2024-09-06
Aruna A Royster1011Canada2024-09-18
Salvatore H Bowley1012Germany2024-08-27
Leja N Malet1013France2024-08-25
Cody X Albares1014Argentina2024-09-17
Chavez E Morasca1015India2024-09-21
Ricardo D Caudy1016Argentina2024-09-07
Cody B Morasca1017India2024-09-19
Stacey X Perin1018United Kingdom2024-09-23
Adams Z Morasca1019Argentina2024-08-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey N FigeroaFranceAsiya Javayant UNQUALIFIED
Arvin V MorascaFranceStephen Shaw NEGOTIATION
Kaitlin W PaprockiJapanXuxue Feng NEGOTIATION
Mujtaba Y StockhamAustraliaXuxue Feng PROPOSAL
Claire U SchemmerCanadaIoni Bowcher UNQUALIFIED
Jefferson Z GarufiUnited KingdomIvan Magalhaes PROPOSAL
Kadeem R SlusarskiJapanIoni Bowcher RENEWAL
Octavia T VocelkaUnited KingdomStephen Shaw NEGOTIATION
Isabel Q StockhamCanadaXuxue Feng NEW
Tony O CaldareraSpainAnna Fali UNQUALIFIED
Juan R PaprockiIndiaAmy Elsner UNQUALIFIED
Greenwood J DoeItalyElwin Sharvill QUALIFIED
Tony Q OstroskySpainAsiya Javayant NEGOTIATION
Leon D MarrierJapanIvan Magalhaes NEGOTIATION
Francesco F GarufiSpainIvan Magalhaes RENEWAL
Leon C BowleyCanadaAnna Fali NEGOTIATION
Salvatore K GillianBrazilAmy Elsner UNQUALIFIED
Adams M ShinkoSpainOnyama Limba QUALIFIED
James B WhobreyIndiaOnyama Limba NEW
Leja E PaprockiSpainBernardo Dominic UNQUALIFIED
Aika Y SchemmerAustraliaOnyama Limba PROPOSAL
Emily L VocelkaJapanIoni Bowcher RENEWAL
Jones Y DilliardJapanIoni Bowcher NEGOTIATION
Izzy T SlusarskiGermanyXuxue Feng QUALIFIED
Silvio K FerenczRussiaIoni Bowcher PROPOSAL
Smith Y OldroydSpainIoni Bowcher NEGOTIATION
Morrow N SergiAustraliaElwin Sharvill NEGOTIATION
James I ButtJapanBernardo Dominic NEGOTIATION
Costa K RutaJapanXuxue Feng NEW
Maria C ShinkoFranceIvan Magalhaes NEGOTIATION
Jeanfrancois P FlosiUnited KingdomAnna Fali UNQUALIFIED
Julie E StockhamJapanIvan Magalhaes PROPOSAL
Morrow H PaprockiRussiaIoni Bowcher QUALIFIED
Claire E MaletGermanyIoni Bowcher PROPOSAL
Leja P MacleadSpainBernardo Dominic NEGOTIATION
Greenwood Z NestleGermanyIoni Bowcher NEGOTIATION
Arvin X MaletGermanyIoni Bowcher UNQUALIFIED
Izzy Z SlusarskiRussiaIvan Magalhaes PROPOSAL
Jeanfrancois T RoysterUnited KingdomAnna Fali UNQUALIFIED
Murillo V GlickItalyAmy Elsner 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>