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
Faith I SchemmerFranceAsiya Javayant RENEWAL
Ivar M SlusarskiCanadaElwin Sharvill RENEWAL
Jeanfrancois V BriddickBrazilAnna Fali UNQUALIFIED
Wickens Z ShinkoGermanyIoni Bowcher QUALIFIED
Kaitlin S NickaAustraliaAsiya Javayant NEW
Stacey R PerinJapanXuxue Feng UNQUALIFIED
Rodrigues X BowleyGermanyElwin Sharvill QUALIFIED
Cody Y StockhamRussiaIoni Bowcher NEW
Kaitlin U PoquetteBrazilAmy Elsner NEW
Arvin H KolmetzItalyAsiya Javayant NEW
Jennifer O RutaItalyOnyama Limba QUALIFIED
Darci G MarrierItalyBernardo Dominic UNQUALIFIED
Cody C FigeroaFranceAsiya Javayant QUALIFIED
Francesco Q KuskoArgentinaIoni Bowcher PROPOSAL
Stacey W BriddickAustraliaAnna Fali QUALIFIED
Adams E TollnerItalyIvan Magalhaes NEGOTIATION
Johnson J SaylorsUnited KingdomIoni Bowcher RENEWAL
Clifford J CampainBrazilOnyama Limba NEW
Mujtaba L GillianFranceElwin Sharvill RENEWAL
Misaki V InouyeRussiaAmy Elsner NEGOTIATION
Maisha Q DilliardAustraliaBernardo Dominic UNQUALIFIED
Ricardo U KuskoJapanStephen Shaw NEGOTIATION
Juan H SergiSpainElwin Sharvill NEGOTIATION
Mayumi Z ButtSpainStephen Shaw NEGOTIATION
Leja T KuskoJapanAmy Elsner PROPOSAL
Clifford L BriddickIndiaBernardo Dominic NEW
Mayumi B PerinFranceAmy Elsner PROPOSAL
Leon S ChuiIndiaElwin Sharvill UNQUALIFIED
Tony Y BowleyBrazilAsiya Javayant UNQUALIFIED
Jennifer E FigeroaJapanAnna Fali RENEWAL
Sinclair C AlbaresJapanElwin Sharvill RENEWAL
Silvio K TollnerJapanAmy Elsner NEGOTIATION
Stacey Y SchemmerSpainStephen Shaw NEW
Ricardo F AlbaresFranceOnyama Limba QUALIFIED
Mayumi Q SlusarskiSpainAsiya Javayant RENEWAL
Jeanfrancois R IturbideBrazilElwin Sharvill NEGOTIATION
Adams N PaprockiFranceIoni Bowcher QUALIFIED
Antonio V SchemmerJapanIoni Bowcher QUALIFIED
Johnson G DoeItalyAnna Fali UNQUALIFIED
Darci W SlusarskiUnited KingdomIoni Bowcher QUALIFIED
Mayumi L FigeroaBrazilIoni Bowcher QUALIFIED
Rodrigues W RutaBrazilAsiya Javayant NEW
Julie Y WaycottItalyAsiya Javayant QUALIFIED
Aruna R PoquetteCanadaXuxue Feng RENEWAL
Rodrigues W OstroskyJapanOnyama Limba UNQUALIFIED
Kadeem C FigeroaSpainAsiya Javayant NEGOTIATION
Adams X BologniaSpainElwin Sharvill RENEWAL
Maisha Y NestleAustraliaIoni Bowcher UNQUALIFIED
Chavez A NestleArgentinaXuxue Feng UNQUALIFIED
Nicolas C DilliardAustraliaOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
James B StockhamJapanIoni Bowcher NEGOTIATION
Maisha E MaletBrazilOnyama Limba UNQUALIFIED
Francesco U CampainGermanyXuxue Feng NEGOTIATION
Salvatore W GarufiRussiaAmy Elsner UNQUALIFIED
Deepesh J SlusarskiFranceBernardo Dominic NEW
Kadeem I PerinJapanElwin Sharvill NEGOTIATION
Nicolas V InouyeSpainBernardo Dominic NEGOTIATION
Mujtaba K CaldareraArgentinaElwin Sharvill NEGOTIATION
Julie Q CampainAustraliaBernardo Dominic QUALIFIED
Aditya U FollerBrazilAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues K WhobreyRussia2024-06-12Commercial Press PROPOSAL36Anna Fali
1001Aika I InouyeArgentina2024-05-27Morlong Associates NEW93Stephen Shaw
1002Sinclair Z BowleyItaly2024-05-30Dorl, James J Esq QUALIFIED32Ioni Bowcher
1003Rodrigues N ChuiJapan2024-05-28Buckley Miller Wright QUALIFIED48Onyama Limba
1004Tony H KuskoJapan2024-06-12Chanay, Jeffrey A Esq RENEWAL3Onyama Limba
1005Misaki T KuskoBrazil2024-05-27Chemel, James L Cpa NEW75Bernardo Dominic
1006Clifford Q OstroskySpain2024-06-21Feiner Bros PROPOSAL33Amy Elsner
1007Darci J ChuiAustralia2024-06-01King, Christopher A Esq PROPOSAL24Anna Fali
1008Ivar Z CampainItaly2024-06-07Truhlar And Truhlar Attys NEW94Stephen Shaw
1009Nicolas D FollerGermany2024-06-11Truhlar And Truhlar Attys UNQUALIFIED48Asiya Javayant
1010Ashley Y CaldareraCanada2024-05-27Rangoni Of Florence UNQUALIFIED32Ioni Bowcher
1011Ashley T InouyeJapan2024-06-06Dorl, James J Esq UNQUALIFIED45Ioni Bowcher
1012Jennifer J MaletRussia2024-06-02Rangoni Of Florence NEW29Elwin Sharvill
1013Adams Z BowleyJapan2024-06-04Chapman, Ross E Esq PROPOSAL62Anna Fali
1014Jeanfrancois X IturbideAustralia2024-05-26Chanay, Jeffrey A Esq NEGOTIATION18Xuxue Feng
1015Julie A MorascaArgentina2024-05-31Chanay, Jeffrey A Esq NEW86Stephen Shaw
1016Rodrigues I MacleadCanada2024-05-26Chanay, Jeffrey A Esq QUALIFIED59Bernardo Dominic
1017Emily J AmigonAustralia2024-06-08Chemel, James L Cpa RENEWAL19Onyama Limba
1018Ivar Y FlosiArgentina2024-05-25Feiner Bros QUALIFIED14Ioni Bowcher
1019Ricardo F IturbideFrance2024-06-06Truhlar And Truhlar Attys NEGOTIATION2Ioni Bowcher
1020Mayumi J PerinFrance2024-06-17Truhlar And Truhlar Attys PROPOSAL39Amy Elsner
1021Costa B NestleSpain2024-05-28King, Christopher A Esq NEGOTIATION21Ivan Magalhaes
1022Smith F SaylorsFrance2024-05-29Rangoni Of Florence RENEWAL13Anna Fali
1023Francesco M MaletGermany2024-05-24Rousseaux, Michael Esq UNQUALIFIED41Amy Elsner
1024Mayumi V SchemmerItaly2024-06-16Rangoni Of Florence NEGOTIATION42Xuxue Feng
1025Munro R NickaJapan2024-05-26Rousseaux, Michael Esq NEW95Anna Fali
1026James O NestleIndia2024-05-29King, Christopher A Esq PROPOSAL74Elwin Sharvill
1027Claire F DilliardAustralia2024-05-25Rousseaux, Michael Esq PROPOSAL70Xuxue Feng
1028Tony A WhobreyCanada2024-06-07Commercial Press NEW67Amy Elsner
1029Murillo N CampainItaly2024-06-15Chemel, James L Cpa NEW77Xuxue Feng
1030Faith M VocelkaRussia2024-06-12Rangoni Of Florence NEW74Ivan Magalhaes
1031Jeanfrancois C GlickUnited Kingdom2024-06-18Feltz Printing Service NEW64Stephen Shaw
1032David Z StensethBrazil2024-06-16King, Christopher A Esq PROPOSAL79Stephen Shaw
1033Arvin Y KuskoItaly2024-05-29Morlong Associates QUALIFIED86Amy Elsner
1034Izzy W ChuiBrazil2024-05-29Feiner Bros UNQUALIFIED76Bernardo Dominic
1035Tony F MarrierBrazil2024-06-06Benton, John B Jr UNQUALIFIED10Xuxue Feng
1036Rodrigues E RimGermany2024-06-10Morlong Associates RENEWAL26Ioni Bowcher
1037Izzy T WhobreyFrance2024-06-12Buckley Miller Wright RENEWAL97Bernardo Dominic
1038Murillo B VenereRussia2024-06-19Commercial Press RENEWAL83Xuxue Feng
1039Sinclair Z OldroydArgentina2024-05-24Feltz Printing Service PROPOSAL2Amy Elsner
1040Costa N TollnerJapan2024-05-30Rousseaux, Michael Esq NEW84Stephen Shaw
1041Octavia T FollerCanada2024-05-26Commercial Press NEW69Ioni Bowcher
1042Rodrigues Y WhobreyGermany2024-06-13Rousseaux, Michael Esq UNQUALIFIED92Xuxue Feng
1043Greenwood S FollerRussia2024-06-14Feltz Printing Service NEW65Ioni Bowcher
1044Antonio S PoquetteBrazil2024-06-17Chemel, James L Cpa NEGOTIATION50Elwin Sharvill
1045Octavia A DoeCanada2024-06-08Benton, John B Jr NEW37Onyama Limba
1046Sinclair I WhobreyUnited Kingdom2024-06-05Rangoni Of Florence UNQUALIFIED59Asiya Javayant
1047Ricardo F BologniaGermany2024-05-25Chapman, Ross E Esq NEGOTIATION81Stephen Shaw
1048Leon G NickaGermany2024-06-20Benton, John B Jr NEGOTIATION44Stephen Shaw
1049Jones Y TollnerJapan2024-06-09Chemel, James L Cpa PROPOSAL79Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Adams S BologniaArgentinaBernardo Dominic NEW
Leja B OldroydUnited KingdomIvan Magalhaes PROPOSAL
Jeanfrancois K VocelkaCanadaIvan Magalhaes UNQUALIFIED
Octavia I BriddickIndiaStephen Shaw PROPOSAL
Emily J ButtJapanAmy Elsner NEGOTIATION
Mujtaba K KolmetzItalyBernardo Dominic UNQUALIFIED
Jeanfrancois M TollnerBrazilOnyama Limba NEGOTIATION
Kaitlin N ButtSpainAsiya Javayant UNQUALIFIED
Cody G ButtIndiaAsiya Javayant NEGOTIATION
Emily C FerenczCanadaAsiya Javayant UNQUALIFIED
Tony J ChuiAustraliaAsiya Javayant NEGOTIATION
Kadeem W FlosiUnited KingdomXuxue Feng PROPOSAL
Isabel U MaletCanadaOnyama Limba PROPOSAL
Adams T DarakjyJapanXuxue Feng UNQUALIFIED
Jefferson L FigeroaFranceAsiya Javayant NEW
Costa S MaletCanadaIvan Magalhaes UNQUALIFIED
Darci A MaletArgentinaIvan Magalhaes PROPOSAL
David Q RimIndiaStephen Shaw QUALIFIED
Misaki W KuskoArgentinaBernardo Dominic NEW
Emily Y FlosiCanadaIoni Bowcher NEGOTIATION
Izzy X WhobreyRussiaAsiya Javayant NEGOTIATION
Munro C StockhamItalyStephen Shaw PROPOSAL
Adams S OstroskyGermanyAnna Fali QUALIFIED
Emily N VocelkaArgentinaAnna Fali NEGOTIATION
Faith G KolmetzRussiaElwin Sharvill PROPOSAL
Octavia P MaletIndiaAnna Fali NEGOTIATION
Maria O WhobreyGermanyAnna Fali UNQUALIFIED
Aditya U RimSpainOnyama Limba RENEWAL
Emily O KuskoIndiaBernardo Dominic QUALIFIED
Mayumi G KolmetzBrazilBernardo Dominic PROPOSAL
Darci A PerinJapanAnna Fali NEGOTIATION
Julie V GauchoSpainOnyama Limba UNQUALIFIED
Octavia I RutaUnited KingdomIoni Bowcher RENEWAL
Cody E VocelkaUnited KingdomElwin Sharvill NEGOTIATION
Aditya K RulapaughItalyAnna Fali NEGOTIATION
Emily C RutaArgentinaElwin Sharvill UNQUALIFIED
Deepesh Z MaletIndiaXuxue Feng UNQUALIFIED
Emily A VocelkaFranceIvan Magalhaes QUALIFIED
Jennifer M ShinkoCanadaIoni Bowcher PROPOSAL
Mayumi V RulapaughSpainAmy Elsner UNQUALIFIED
Jefferson X BologniaCanadaIoni Bowcher RENEWAL
Mujtaba W VenereAustraliaIvan Magalhaes RENEWAL
Emily T BowleyArgentinaAmy Elsner NEGOTIATION
Ricardo W AlbaresUnited KingdomElwin Sharvill UNQUALIFIED
Munro T SchemmerIndiaAnna Fali UNQUALIFIED
Morrow I MaletItalyElwin Sharvill RENEWAL
Juan V TollnerRussiaElwin Sharvill NEW
Isabel G CaldareraAustraliaAmy Elsner NEW
Greenwood P MarrierGermanyAsiya Javayant UNQUALIFIED
Adams G MorascaCanadaStephen Shaw NEGOTIATION
Frozen Columns
Name
Ricardo B Slusarski
Jones K Glick
Francesco S Oldroyd
Adams W Briddick
Aditya K Kusko
Aika L Schemmer
Rodrigues K Caldarera
Tony G Doe
Leja U Morasca
Jeanfrancois Z Campain
Adams N Whobrey
Isabel L Gaucho
Darci M Garufi
Cody O Waycott
Antonio M Saylors
Stacey X Waycott
Misaki Q Marrier
Greenwood U Oldroyd
Jennifer A Chui
Wickens H Briddick
Maria X Nestle
Aika D Rim
Kadeem Z Venere
Silvio G Perin
Darci K Maclead
Murillo E Kolmetz
Greenwood X Maclead
Rodrigues F Butt
Darci D Slusarski
Julie V Ostrosky
Murillo M Glick
Faith D Poquette
David S Slusarski
Stacey D Tollner
Wickens I Morasca
Tony V Perin
Deepesh Y Kolmetz
Francesco J Butt
Munro K Inouye
Smith E Sergi
Nicolas Q Malet
Aditya V Royster
Alejandro K Foller
Wickens R Ferencz
Leja P Iturbide
Maisha K Nestle
Juan C Stockham
Munro N Whobrey
Greenwood D Saylors
Maria M Royster
IdCountryDate
1000Germany2024-06-19
1001Italy2024-06-20
1002France2024-06-14
1003Russia2024-06-15
1004Canada2024-06-03
1005Russia2024-06-01
1006Germany2024-06-10
1007France2024-06-13
1008Argentina2024-06-08
1009Australia2024-06-13
1010Australia2024-06-11
1011Brazil2024-05-24
1012Argentina2024-05-23
1013India2024-06-20
1014Russia2024-06-04
1015India2024-05-23
1016Argentina2024-05-26
1017Italy2024-06-15
1018Russia2024-06-04
1019Argentina2024-05-25
1020Japan2024-06-15
1021Brazil2024-06-17
1022Japan2024-06-10
1023India2024-06-03
1024Italy2024-06-02
1025France2024-06-17
1026Russia2024-06-21
1027Argentina2024-06-15
1028Australia2024-06-20
1029Spain2024-06-05
1030Russia2024-05-27
1031Japan2024-05-26
1032Brazil2024-05-27
1033Canada2024-06-04
1034Australia2024-06-19
1035Argentina2024-05-26
1036Canada2024-05-31
1037Italy2024-06-06
1038Italy2024-05-29
1039France2024-06-08
1040India2024-06-17
1041Italy2024-05-25
1042Spain2024-06-08
1043Germany2024-06-12
1044France2024-06-08
1045India2024-06-17
1046France2024-06-15
1047Germany2024-05-26
1048Japan2024-06-01
1049United Kingdom2024-06-19

On-Demand Data

NameIdCountryDate
Maisha S Briddick1000United Kingdom2024-06-06
David R Waycott1001Argentina2024-05-28
Clifford H Inouye1002Spain2024-05-29
Julie M Campain1003Argentina2024-06-16
Faith K Bowley1004Spain2024-05-29
Francesco F Wieser1005Canada2024-05-25
Murillo X Paprocki1006Japan2024-06-11
Jones U Malet1007India2024-06-14
Arvin S Flosi1008Brazil2024-06-10
Faith C Morasca1009India2024-06-12
Faith C Kolmetz1010Russia2024-06-19
Jeanfrancois M Malet1011Australia2024-06-14
Izzy O Iturbide1012Italy2024-06-04
Kaitlin C Dilliard1013Brazil2024-06-12
Ashley G Tollner1014Japan2024-06-17
Cody O Foller1015Australia2024-06-16
Ashley I Kolmetz1016Russia2024-05-30
Jeanfrancois F Ruta1017Germany2024-06-20
Emily Z Nestle1018Germany2024-06-18
David H Albares1019Russia2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith Z PoquetteRussiaAmy Elsner RENEWAL
Morrow I PaprockiCanadaStephen Shaw QUALIFIED
Morrow R MorascaBrazilAsiya Javayant RENEWAL
Tony G GlickIndiaElwin Sharvill NEW
Maria Y StensethRussiaOnyama Limba NEW
Misaki B ShinkoFranceOnyama Limba NEW
Greenwood J CaldareraArgentinaBernardo Dominic PROPOSAL
Jeanfrancois K VocelkaCanadaBernardo Dominic PROPOSAL
Arvin D BowleyJapanAmy Elsner RENEWAL
Jennifer G InouyeIndiaIvan Magalhaes RENEWAL
Ivar I BologniaBrazilAsiya Javayant NEW
Claire G KuskoAustraliaOnyama Limba NEW
Jennifer X RimBrazilIvan Magalhaes NEGOTIATION
Mujtaba E GlickRussiaBernardo Dominic PROPOSAL
Smith D FerenczArgentinaXuxue Feng UNQUALIFIED
Julie K NestleAustraliaStephen Shaw PROPOSAL
Leon E DilliardSpainAsiya Javayant QUALIFIED
Munro B AlbaresUnited KingdomAsiya Javayant PROPOSAL
Jones U GillianItalyBernardo Dominic PROPOSAL
Arvin M IturbideGermanyElwin Sharvill NEGOTIATION
Juan I OstroskyCanadaAsiya Javayant NEW
Misaki W DarakjySpainIvan Magalhaes NEW
Ricardo K WieserCanadaOnyama Limba NEGOTIATION
Julie E BriddickFranceXuxue Feng QUALIFIED
Emily Y GauchoSpainXuxue Feng NEGOTIATION
Morrow X KuskoGermanyElwin Sharvill RENEWAL
Nicolas N AmigonSpainIoni Bowcher RENEWAL
Izzy J RimArgentinaXuxue Feng QUALIFIED
Greenwood J PerinAustraliaIoni Bowcher RENEWAL
Johnson X VenereCanadaAmy Elsner UNQUALIFIED
Juan E SchemmerSpainIvan Magalhaes PROPOSAL
James U GauchoItalyIoni Bowcher PROPOSAL
Kadeem N BriddickSpainStephen Shaw NEGOTIATION
Jones D ShinkoBrazilAmy Elsner UNQUALIFIED
Maria A DoeUnited KingdomXuxue Feng PROPOSAL
Johnson P WieserAustraliaAsiya Javayant NEGOTIATION
Jones G FlosiBrazilAsiya Javayant NEW
Julie R MacleadItalyAnna Fali UNQUALIFIED
Mayumi M KolmetzFranceIoni Bowcher QUALIFIED
Costa U DilliardArgentinaXuxue Feng PROPOSAL

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