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
Leon Q SchemmerUnited KingdomOnyama Limba PROPOSAL
Aika J SchemmerAustraliaStephen Shaw NEGOTIATION
Jennifer A FigeroaBrazilElwin Sharvill UNQUALIFIED
Octavia O DarakjyIndiaAnna Fali UNQUALIFIED
Morrow S BologniaSpainBernardo Dominic UNQUALIFIED
Isabel O FerenczFranceAsiya Javayant QUALIFIED
Ricardo A BriddickArgentinaIoni Bowcher RENEWAL
Jefferson G FlosiBrazilXuxue Feng UNQUALIFIED
Salvatore J MaletGermanyXuxue Feng UNQUALIFIED
David C OldroydBrazilAsiya Javayant QUALIFIED
Greenwood I RoysterCanadaStephen Shaw QUALIFIED
Emily E InouyeGermanyAmy Elsner NEW
Octavia E VenereJapanBernardo Dominic QUALIFIED
Emily N IturbideJapanStephen Shaw NEW
Aruna P IturbideUnited KingdomStephen Shaw RENEWAL
Aruna I FerenczJapanIoni Bowcher RENEWAL
Leon A MaletBrazilElwin Sharvill UNQUALIFIED
Clifford V MaletAustraliaBernardo Dominic NEW
Jefferson H GauchoSpainAsiya Javayant QUALIFIED
Maisha L AmigonArgentinaAmy Elsner UNQUALIFIED
Julie D SchemmerJapanAmy Elsner RENEWAL
Mayumi Y SergiUnited KingdomAmy Elsner NEGOTIATION
Greenwood G SlusarskiItalyXuxue Feng NEGOTIATION
Faith E ShinkoJapanStephen Shaw NEW
Stacey T MaletUnited KingdomXuxue Feng NEW
Aika P BowleyBrazilBernardo Dominic PROPOSAL
James U GlickRussiaStephen Shaw QUALIFIED
Faith E BowleyIndiaAmy Elsner QUALIFIED
Octavia O FerenczBrazilAnna Fali NEW
Mujtaba B WieserGermanyElwin Sharvill QUALIFIED
Izzy N CaldareraSpainIoni Bowcher NEGOTIATION
Costa W GillianIndiaOnyama Limba NEW
Deepesh A ButtRussiaElwin Sharvill NEW
Ashley D RimAustraliaXuxue Feng NEGOTIATION
Maria J WieserSpainElwin Sharvill NEW
Adams P AlbaresRussiaAmy Elsner NEGOTIATION
Wickens X WaycottSpainAsiya Javayant RENEWAL
Nicolas C InouyeSpainIvan Magalhaes UNQUALIFIED
Johnson A GillianFranceIvan Magalhaes QUALIFIED
Darci P RutaAustraliaStephen Shaw QUALIFIED
Misaki R NickaIndiaBernardo Dominic RENEWAL
Munro T ShinkoArgentinaIvan Magalhaes NEGOTIATION
Alejandro D RutaJapanOnyama Limba UNQUALIFIED
Johnson N WieserSpainAsiya Javayant RENEWAL
Costa B FigeroaIndiaAnna Fali RENEWAL
Julie D BologniaRussiaAmy Elsner QUALIFIED
Ricardo E BriddickAustraliaIoni Bowcher NEGOTIATION
Aika O OstroskyRussiaElwin Sharvill PROPOSAL
Rodrigues W KuskoBrazilAnna Fali QUALIFIED
Tony M KuskoSpainIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Wickens A WieserGermanyIoni Bowcher PROPOSAL
Ricardo J StensethBrazilXuxue Feng NEGOTIATION
Sinclair Z MarrierArgentinaStephen Shaw UNQUALIFIED
Cody H SlusarskiRussiaAmy Elsner RENEWAL
Greenwood K FerenczBrazilOnyama Limba UNQUALIFIED
Tony H WaycottFranceAsiya Javayant UNQUALIFIED
Salvatore K RimAustraliaStephen Shaw PROPOSAL
Isabel V MaletFranceIvan Magalhaes UNQUALIFIED
Deepesh Z RoysterFranceElwin Sharvill QUALIFIED
Ashley I NestleSpainElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika M KolmetzIndia2024-06-02Rangoni Of Florence NEGOTIATION56Amy Elsner
1001Adams T GarufiUnited Kingdom2024-06-16Chapman, Ross E Esq NEW20Ioni Bowcher
1002Kadeem O StockhamSpain2024-06-04Printing Dimensions NEW24Onyama Limba
1003Aditya M WaycottBrazil2024-06-09Benton, John B Jr NEW11Xuxue Feng
1004James R CaldareraAustralia2024-06-18Truhlar And Truhlar Attys QUALIFIED97Asiya Javayant
1005Arvin Q WaycottIndia2024-06-06Rousseaux, Michael Esq UNQUALIFIED56Ioni Bowcher
1006Antonio G BriddickIndia2024-06-04Rangoni Of Florence UNQUALIFIED76Anna Fali
1007Nicolas R ChuiBrazil2024-06-20Commercial Press UNQUALIFIED37Elwin Sharvill
1008Clifford S VenereRussia2024-06-19Buckley Miller Wright QUALIFIED76Xuxue Feng
1009Alejandro N ButtUnited Kingdom2024-06-15Morlong Associates NEW43Xuxue Feng
1010Kaitlin D SchemmerGermany2024-06-04King, Christopher A Esq RENEWAL27Anna Fali
1011Morrow G VenereAustralia2024-06-18Rousseaux, Michael Esq QUALIFIED8Stephen Shaw
1012Jefferson F CaldareraAustralia2024-06-08Rousseaux, Michael Esq NEGOTIATION99Ioni Bowcher
1013Emily V CaldareraJapan2024-06-07Chemel, James L Cpa QUALIFIED13Elwin Sharvill
1014Misaki Y DarakjyFrance2024-06-02Rousseaux, Michael Esq NEW32Ioni Bowcher
1015Isabel H OldroydJapan2024-06-14Buckley Miller Wright PROPOSAL98Anna Fali
1016Kadeem I BriddickGermany2024-06-02Buckley Miller Wright NEGOTIATION56Xuxue Feng
1017Stacey A FlosiItaly2024-05-26Rangoni Of Florence RENEWAL29Xuxue Feng
1018Emily O SlusarskiFrance2024-06-10Dorl, James J Esq RENEWAL70Bernardo Dominic
1019Izzy M RutaAustralia2024-06-13Feltz Printing Service RENEWAL95Amy Elsner
1020Arvin A RutaItaly2024-06-03Commercial Press QUALIFIED29Stephen Shaw
1021Kaitlin R DarakjyRussia2024-06-10Chanay, Jeffrey A Esq UNQUALIFIED12Ioni Bowcher
1022Ricardo E CaldareraFrance2024-06-01Feiner Bros NEGOTIATION46Amy Elsner
1023Stacey T InouyeCanada2024-05-26Chanay, Jeffrey A Esq NEGOTIATION46Onyama Limba
1024Francesco Y InouyeArgentina2024-06-12Feiner Bros RENEWAL72Amy Elsner
1025Silvio Q CaudyBrazil2024-06-01Feiner Bros NEW53Anna Fali
1026Tony D RutaAustralia2024-06-11King, Christopher A Esq QUALIFIED82Anna Fali
1027Salvatore P DilliardRussia2024-06-20Rangoni Of Florence NEGOTIATION81Ivan Magalhaes
1028Murillo O GarufiUnited Kingdom2024-06-18Rousseaux, Michael Esq UNQUALIFIED87Xuxue Feng
1029Alejandro T FigeroaSpain2024-05-26King, Christopher A Esq UNQUALIFIED67Ioni Bowcher
1030Munro A TollnerIndia2024-06-04King, Christopher A Esq QUALIFIED48Anna Fali
1031Greenwood O SlusarskiItaly2024-05-30Truhlar And Truhlar Attys QUALIFIED9Amy Elsner
1032Antonio J IturbideSpain2024-06-04Rousseaux, Michael Esq NEGOTIATION56Anna Fali
1033Julie I FlosiIndia2024-06-21Printing Dimensions QUALIFIED38Elwin Sharvill
1034Isabel Z VenereSpain2024-05-26Morlong Associates RENEWAL68Bernardo Dominic
1035Smith N KuskoAustralia2024-06-08Feiner Bros PROPOSAL16Amy Elsner
1036Francesco Q DoeCanada2024-06-12Rousseaux, Michael Esq PROPOSAL10Elwin Sharvill
1037Mujtaba G IturbideRussia2024-05-31Truhlar And Truhlar Attys RENEWAL69Onyama Limba
1038Johnson V WaycottRussia2024-06-05Rangoni Of Florence RENEWAL91Xuxue Feng
1039Chavez L SchemmerSpain2024-06-06Feltz Printing Service NEW97Amy Elsner
1040Wickens N RutaItaly2024-06-01Feltz Printing Service RENEWAL19Anna Fali
1041Salvatore L DarakjyJapan2024-06-20Chapman, Ross E Esq QUALIFIED21Onyama Limba
1042Claire S NickaJapan2024-06-20Printing Dimensions NEGOTIATION3Ivan Magalhaes
1043Deepesh B VocelkaGermany2024-06-21Chanay, Jeffrey A Esq NEW94Anna Fali
1044Mujtaba N VenereCanada2024-06-07Buckley Miller Wright PROPOSAL7Onyama Limba
1045Francesco R CaldareraGermany2024-06-06Chapman, Ross E Esq QUALIFIED74Onyama Limba
1046Claire W CampainAustralia2024-06-14Rousseaux, Michael Esq NEW79Ioni Bowcher
1047Murillo R FlosiAustralia2024-06-11Dorl, James J Esq NEGOTIATION32Ivan Magalhaes
1048Leja D WieserAustralia2024-05-31Rousseaux, Michael Esq UNQUALIFIED2Amy Elsner
1049Maria D GauchoJapan2024-05-30Printing Dimensions UNQUALIFIED42Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Francesco X VocelkaJapanStephen Shaw UNQUALIFIED
Ivar H PaprockiJapanXuxue Feng PROPOSAL
Misaki F PerinItalyIoni Bowcher NEGOTIATION
Sinclair D IturbideArgentinaStephen Shaw NEGOTIATION
Morrow K BriddickFranceBernardo Dominic RENEWAL
Murillo Z CaudyBrazilBernardo Dominic UNQUALIFIED
Leja X GillianBrazilOnyama Limba RENEWAL
Nicolas A WaycottGermanyAsiya Javayant NEW
Jeanfrancois R FlosiFranceAsiya Javayant RENEWAL
Juan L BriddickCanadaStephen Shaw NEGOTIATION
Darci J ShinkoFranceOnyama Limba QUALIFIED
Adams W IturbideUnited KingdomXuxue Feng QUALIFIED
Ricardo S MaletIndiaIoni Bowcher PROPOSAL
Mujtaba R BriddickArgentinaAsiya Javayant PROPOSAL
Claire J GillianSpainAnna Fali NEGOTIATION
Greenwood W VocelkaGermanyAsiya Javayant RENEWAL
Silvio R PerinRussiaAmy Elsner QUALIFIED
Misaki L GillianFranceAmy Elsner UNQUALIFIED
Mayumi C GillianAustraliaAnna Fali NEGOTIATION
Jennifer A FlosiGermanyIoni Bowcher PROPOSAL
Clifford T SergiItalyAsiya Javayant UNQUALIFIED
Adams Q KolmetzFranceStephen Shaw RENEWAL
Nicolas E OldroydJapanAmy Elsner NEW
Ivar P CampainRussiaElwin Sharvill UNQUALIFIED
Maisha Y RulapaughGermanyBernardo Dominic PROPOSAL
Johnson G SchemmerSpainStephen Shaw PROPOSAL
Morrow C FlosiArgentinaAmy Elsner RENEWAL
Murillo R ShinkoIndiaBernardo Dominic PROPOSAL
Mujtaba E VenereBrazilAnna Fali QUALIFIED
Alejandro L MaletGermanyXuxue Feng NEW
Johnson Y RoysterAustraliaOnyama Limba PROPOSAL
Greenwood L WaycottRussiaIvan Magalhaes QUALIFIED
Costa M SchemmerItalyXuxue Feng NEW
Ashley J SaylorsAustraliaIoni Bowcher NEGOTIATION
Maisha Z MorascaItalyIvan Magalhaes UNQUALIFIED
Aika G RimSpainXuxue Feng RENEWAL
Leja Q MorascaBrazilAmy Elsner PROPOSAL
Faith U FerenczAustraliaAmy Elsner UNQUALIFIED
Alejandro H MaletItalyElwin Sharvill PROPOSAL
Johnson B FlosiCanadaAmy Elsner NEGOTIATION
Deepesh S OstroskyFranceIoni Bowcher NEGOTIATION
Faith W TollnerIndiaElwin Sharvill PROPOSAL
Wickens V DarakjyGermanyAnna Fali NEW
Isabel N DoeBrazilAmy Elsner NEGOTIATION
Ricardo B StockhamArgentinaAnna Fali PROPOSAL
Ivar B FollerItalyIvan Magalhaes NEW
Rodrigues H KolmetzItalyIoni Bowcher NEW
Jeanfrancois G NickaAustraliaAnna Fali RENEWAL
Morrow W CaldareraIndiaAmy Elsner NEGOTIATION
Chavez G CaldareraArgentinaAsiya Javayant QUALIFIED
Frozen Columns
Name
Costa Z Tollner
Leja M Ostrosky
Chavez T Tollner
Ricardo Z Poquette
Julie H Kusko
Jennifer E Amigon
Arvin R Tollner
Maisha U Dilliard
Faith I Morasca
Faith I Oldroyd
Darci V Figeroa
Deepesh O Kolmetz
Leon G Venere
Jennifer C Stockham
Aruna E Iturbide
Mujtaba K Iturbide
Salvatore M Malet
Ashley Q Rim
Arvin S Slusarski
Sinclair V Dilliard
Nicolas N Figeroa
Munro A Ostrosky
Costa N Briddick
Francesco L Waycott
Morrow Y Stockham
Johnson Y Rulapaugh
Rodrigues B Rim
Leon A Tollner
Julie W Whobrey
Ashley P Briddick
Faith B Iturbide
Nicolas W Rulapaugh
Emily F Caudy
Julie B Kolmetz
Aika B Malet
Morrow K Vocelka
Nicolas J Marrier
Salvatore G Flosi
Sinclair P Caldarera
Francesco U Venere
Jefferson A Wieser
Maria P Vocelka
Leon T Stockham
Sinclair C Nestle
Jones D Poquette
Mayumi N Kolmetz
Emily L Flosi
Leon N Ostrosky
Mujtaba D Stenseth
Juan T Oldroyd
IdCountryDate
1000Germany2024-06-22
1001India2024-06-08
1002Canada2024-06-05
1003Brazil2024-06-14
1004United Kingdom2024-06-12
1005Russia2024-05-31
1006Argentina2024-06-06
1007France2024-06-01
1008Australia2024-06-12
1009Japan2024-06-24
1010India2024-06-09
1011Russia2024-05-28
1012Argentina2024-06-07
1013Spain2024-05-30
1014India2024-05-26
1015Argentina2024-05-29
1016France2024-06-08
1017Italy2024-06-03
1018France2024-06-22
1019France2024-06-09
1020Germany2024-06-05
1021France2024-06-09
1022Canada2024-06-11
1023Brazil2024-06-12
1024Spain2024-05-26
1025Canada2024-06-20
1026Australia2024-06-05
1027Australia2024-06-08
1028France2024-06-19
1029Italy2024-06-10
1030Argentina2024-06-04
1031Italy2024-06-17
1032Spain2024-06-22
1033Italy2024-06-10
1034Canada2024-06-06
1035Russia2024-05-27
1036France2024-06-06
1037United Kingdom2024-06-02
1038Spain2024-06-24
1039Canada2024-06-02
1040United Kingdom2024-06-19
1041Japan2024-06-24
1042Japan2024-05-27
1043Germany2024-05-26
1044United Kingdom2024-05-27
1045Argentina2024-06-15
1046Brazil2024-06-12
1047France2024-06-10
1048France2024-06-10
1049Australia2024-06-15

On-Demand Data

NameIdCountryDate
Emily H Shinko1000Japan2024-06-03
Salvatore C Campain1001Canada2024-06-01
Smith N Bolognia1002Australia2024-05-30
Leon K Maclead1003Australia2024-06-07
Adams M Vocelka1004India2024-06-15
Faith W Garufi1005Japan2024-06-14
Stacey X Chui1006Spain2024-06-02
Izzy X Briddick1007Argentina2024-05-30
Munro Y Malet1008Argentina2024-06-19
Jennifer X Glick1009Brazil2024-06-10
Emily H Glick1010Russia2024-06-12
Johnson C Morasca1011Germany2024-06-23
Isabel P Perin1012Argentina2024-05-30
Leon O Maclead1013Brazil2024-06-22
Faith Z Shinko1014France2024-06-15
Ashley Q Figeroa1015Russia2024-06-22
Deepesh T Ruta1016Canada2024-05-26
Leon X Amigon1017Australia2024-06-19
Cody C Oldroyd1018Germany2024-06-01
Nicolas G Gaucho1019Russia2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore Y CampainRussiaAmy Elsner NEW
Wickens M MarrierUnited KingdomXuxue Feng NEGOTIATION
Francesco P KuskoGermanyIvan Magalhaes UNQUALIFIED
Aruna X WhobreyGermanyXuxue Feng UNQUALIFIED
Mayumi W MacleadArgentinaAmy Elsner QUALIFIED
Rodrigues L CaldareraIndiaAsiya Javayant NEW
Deepesh E GillianBrazilAsiya Javayant NEGOTIATION
David C WaycottItalyIvan Magalhaes PROPOSAL
Ricardo W AmigonArgentinaBernardo Dominic NEW
Francesco Z SchemmerSpainElwin Sharvill NEGOTIATION
Cody Y IturbideIndiaIoni Bowcher PROPOSAL
Octavia U IturbideItalyXuxue Feng UNQUALIFIED
Nicolas P NestleBrazilAsiya Javayant RENEWAL
Aditya C MarrierIndiaOnyama Limba QUALIFIED
Maria C MarrierFranceAnna Fali NEW
Morrow A TollnerJapanXuxue Feng QUALIFIED
Aika E StensethIndiaStephen Shaw RENEWAL
Julie J VenereUnited KingdomAnna Fali NEGOTIATION
Wickens N IturbideGermanyElwin Sharvill RENEWAL
James J MacleadIndiaElwin Sharvill RENEWAL
Salvatore K PoquetteGermanyAsiya Javayant UNQUALIFIED
Stacey O MacleadGermanyStephen Shaw QUALIFIED
Izzy P NickaIndiaElwin Sharvill PROPOSAL
Francesco F FerenczUnited KingdomXuxue Feng RENEWAL
Octavia L WaycottRussiaStephen Shaw NEGOTIATION
Munro O RimItalyStephen Shaw QUALIFIED
Claire Z BowleyCanadaAnna Fali PROPOSAL
Greenwood O CampainArgentinaElwin Sharvill RENEWAL
Costa Y OstroskySpainIoni Bowcher NEW
Maria T KolmetzRussiaXuxue Feng QUALIFIED
Jefferson D InouyeRussiaStephen Shaw QUALIFIED
Leja L MacleadArgentinaAmy Elsner NEGOTIATION
Aditya K WhobreyItalyAsiya Javayant NEGOTIATION
Jennifer X AmigonItalyAmy Elsner RENEWAL
Arvin X WaycottArgentinaAsiya Javayant QUALIFIED
Leon H MacleadUnited KingdomAnna Fali QUALIFIED
Mayumi K PoquetteBrazilBernardo Dominic NEW
David U BologniaSpainBernardo Dominic UNQUALIFIED
Izzy K SergiItalyAsiya Javayant NEGOTIATION
Aruna S KuskoFranceIoni Bowcher 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>