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
Cody F CampainGermanyElwin Sharvill PROPOSAL
Wickens G CaldareraGermanyStephen Shaw PROPOSAL
Morrow P FlosiAustraliaIoni Bowcher QUALIFIED
Aika L ButtFranceIoni Bowcher UNQUALIFIED
Izzy Y FlosiUnited KingdomXuxue Feng QUALIFIED
Tony M WhobreyAustraliaXuxue Feng NEW
Wickens A GauchoArgentinaBernardo Dominic RENEWAL
Isabel O FigeroaJapanIoni Bowcher RENEWAL
Chavez M MaletGermanyStephen Shaw RENEWAL
Murillo N DarakjySpainIvan Magalhaes PROPOSAL
Murillo C BriddickSpainAnna Fali UNQUALIFIED
Izzy W MorascaJapanAsiya Javayant QUALIFIED
Nicolas O MarrierIndiaBernardo Dominic RENEWAL
Greenwood A MarrierGermanyAsiya Javayant PROPOSAL
Misaki O DoeItalyIoni Bowcher UNQUALIFIED
Nicolas R NestleItalyStephen Shaw RENEWAL
Costa K MorascaGermanyElwin Sharvill RENEWAL
Misaki N WaycottGermanyAsiya Javayant UNQUALIFIED
Tony I OldroydJapanStephen Shaw NEGOTIATION
Kadeem S KolmetzSpainAmy Elsner UNQUALIFIED
Aika C BriddickArgentinaAsiya Javayant NEW
Kadeem J IturbideArgentinaAmy Elsner NEW
Silvio G OldroydFranceOnyama Limba QUALIFIED
James O BriddickFranceAnna Fali PROPOSAL
Nicolas Z ButtItalyAsiya Javayant QUALIFIED
Sinclair H PaprockiAustraliaAsiya Javayant UNQUALIFIED
Maisha L DarakjyIndiaXuxue Feng UNQUALIFIED
Kadeem S WhobreyIndiaBernardo Dominic PROPOSAL
Maria Q KuskoIndiaAnna Fali NEW
Costa C BologniaAustraliaStephen Shaw UNQUALIFIED
Jefferson W RimIndiaIoni Bowcher NEGOTIATION
Murillo F StockhamUnited KingdomAnna Fali NEW
Rodrigues V BologniaGermanyAmy Elsner NEGOTIATION
Silvio V RulapaughCanadaBernardo Dominic UNQUALIFIED
Ricardo V MacleadFranceAnna Fali UNQUALIFIED
Ashley W AlbaresBrazilIoni Bowcher RENEWAL
Murillo S CaudyAustraliaAnna Fali UNQUALIFIED
Greenwood M SergiJapanStephen Shaw UNQUALIFIED
Claire V RoysterJapanXuxue Feng QUALIFIED
Smith V MaletRussiaAnna Fali UNQUALIFIED
Aika Q BologniaSpainAmy Elsner PROPOSAL
Arvin H ShinkoSpainIoni Bowcher QUALIFIED
Stacey Z KuskoArgentinaXuxue Feng UNQUALIFIED
Morrow K RutaIndiaIoni Bowcher NEGOTIATION
Arvin K GauchoCanadaXuxue Feng QUALIFIED
Octavia L MaletBrazilIoni Bowcher QUALIFIED
Darci Z GauchoAustraliaAmy Elsner RENEWAL
Sinclair A NestleUnited KingdomIoni Bowcher PROPOSAL
Kadeem B MacleadGermanyAmy Elsner PROPOSAL
Mayumi A SchemmerUnited KingdomIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Sinclair Y AmigonSpainAnna Fali NEGOTIATION
Emily E CaldareraAustraliaIoni Bowcher UNQUALIFIED
Misaki V RutaIndiaIoni Bowcher RENEWAL
Jefferson P ButtRussiaAsiya Javayant PROPOSAL
Kadeem H AmigonRussiaStephen Shaw UNQUALIFIED
Ashley F WieserFranceBernardo Dominic NEW
Faith H MaletAustraliaIoni Bowcher PROPOSAL
Adams S FigeroaBrazilStephen Shaw PROPOSAL
Antonio G RimFranceBernardo Dominic NEW
Faith F SergiSpainIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco W BologniaBrazil2024-05-25Dorl, James J Esq NEW59Onyama Limba
1001Alejandro A ButtRussia2024-05-24Chemel, James L Cpa QUALIFIED41Anna Fali
1002Leon R KuskoSpain2024-06-16Dorl, James J Esq QUALIFIED88Onyama Limba
1003Emily Z StensethBrazil2024-06-05Truhlar And Truhlar Attys NEW3Asiya Javayant
1004Salvatore W OldroydIndia2024-05-31Printing Dimensions RENEWAL49Onyama Limba
1005Jefferson G StockhamArgentina2024-06-14Dorl, James J Esq UNQUALIFIED68Elwin Sharvill
1006Ricardo U NestleJapan2024-06-03Morlong Associates NEW61Elwin Sharvill
1007Cody I KuskoUnited Kingdom2024-06-19Rangoni Of Florence UNQUALIFIED59Asiya Javayant
1008Julie R WhobreyGermany2024-06-03Rousseaux, Michael Esq UNQUALIFIED14Ivan Magalhaes
1009Misaki J FigeroaIndia2024-05-27Morlong Associates NEW40Elwin Sharvill
1010Ashley O FigeroaUnited Kingdom2024-05-23Morlong Associates QUALIFIED98Amy Elsner
1011Rodrigues Q InouyeAustralia2024-05-26Morlong Associates NEGOTIATION36Elwin Sharvill
1012Faith J NickaAustralia2024-06-03Rousseaux, Michael Esq QUALIFIED43Anna Fali
1013Leon G ChuiFrance2024-05-24Feiner Bros QUALIFIED60Amy Elsner
1014Isabel Q CaldareraCanada2024-05-31Rousseaux, Michael Esq RENEWAL61Ioni Bowcher
1015Nicolas U GlickArgentina2024-06-14Feltz Printing Service PROPOSAL12Onyama Limba
1016Kaitlin T MaletArgentina2024-06-02King, Christopher A Esq UNQUALIFIED20Asiya Javayant
1017Mujtaba C TollnerBrazil2024-06-04King, Christopher A Esq NEGOTIATION14Amy Elsner
1018Tony T MacleadItaly2024-06-20Printing Dimensions QUALIFIED3Elwin Sharvill
1019Tony O ShinkoCanada2024-06-19Dorl, James J Esq QUALIFIED59Xuxue Feng
1020Jeanfrancois V KolmetzAustralia2024-06-20Feltz Printing Service NEW9Ioni Bowcher
1021Jones U BologniaItaly2024-06-18Chapman, Ross E Esq QUALIFIED45Onyama Limba
1022Juan R CaudyJapan2024-06-02Feiner Bros UNQUALIFIED9Anna Fali
1023Faith E RimSpain2024-06-21Morlong Associates RENEWAL85Bernardo Dominic
1024Jefferson B InouyeGermany2024-05-24Morlong Associates RENEWAL73Onyama Limba
1025Aruna L OstroskyItaly2024-05-29Printing Dimensions UNQUALIFIED28Xuxue Feng
1026Greenwood B WhobreyGermany2024-06-17Truhlar And Truhlar Attys NEW70Elwin Sharvill
1027Misaki O WaycottIndia2024-05-26Buckley Miller Wright NEW44Elwin Sharvill
1028Faith D FlosiJapan2024-06-18Chanay, Jeffrey A Esq RENEWAL18Anna Fali
1029Antonio W MaletUnited Kingdom2024-06-08Chapman, Ross E Esq RENEWAL86Stephen Shaw
1030Alejandro O BriddickUnited Kingdom2024-06-17Rangoni Of Florence NEGOTIATION1Ioni Bowcher
1031Stacey Q CaldareraSpain2024-06-03King, Christopher A Esq QUALIFIED70Stephen Shaw
1032Adams G RutaIndia2024-06-03Chemel, James L Cpa PROPOSAL15Bernardo Dominic
1033Maria C AmigonGermany2024-05-29Rangoni Of Florence NEGOTIATION20Asiya Javayant
1034Alejandro C KolmetzSpain2024-06-15Rangoni Of Florence UNQUALIFIED98Ivan Magalhaes
1035Darci I AlbaresRussia2024-06-06Morlong Associates NEW1Asiya Javayant
1036Maisha K ShinkoItaly2024-06-11Buckley Miller Wright NEW40Stephen Shaw
1037Adams A GauchoRussia2024-06-01Chanay, Jeffrey A Esq PROPOSAL52Bernardo Dominic
1038Deepesh A BriddickGermany2024-06-10Chapman, Ross E Esq NEW23Onyama Limba
1039Kaitlin A DoeItaly2024-06-03Rangoni Of Florence NEGOTIATION44Xuxue Feng
1040Chavez F GarufiRussia2024-06-13Feiner Bros NEGOTIATION52Ivan Magalhaes
1041Maisha Y NickaArgentina2024-06-13Rousseaux, Michael Esq QUALIFIED37Amy Elsner
1042Claire C CampainSpain2024-06-12Feltz Printing Service PROPOSAL71Anna Fali
1043Maisha N FlosiSpain2024-06-17Feltz Printing Service PROPOSAL34Ioni Bowcher
1044Clifford A WieserArgentina2024-05-25Dorl, James J Esq QUALIFIED37Ioni Bowcher
1045Darci D NestleJapan2024-05-24Chanay, Jeffrey A Esq PROPOSAL91Amy Elsner
1046Silvio A PerinIndia2024-05-26Morlong Associates QUALIFIED71Elwin Sharvill
1047Silvio K MaletCanada2024-06-02Feiner Bros RENEWAL4Elwin Sharvill
1048Johnson C GillianArgentina2024-05-29King, Christopher A Esq NEW63Onyama Limba
1049Isabel T FlosiIndia2024-06-14Feltz Printing Service PROPOSAL69Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Smith T StensethBrazilAmy Elsner QUALIFIED
David O VocelkaGermanyOnyama Limba RENEWAL
Deepesh I WaycottItalyXuxue Feng QUALIFIED
Octavia D SlusarskiSpainAmy Elsner QUALIFIED
Johnson T NestleRussiaElwin Sharvill NEW
Francesco N FollerAustraliaStephen Shaw QUALIFIED
James O MaletArgentinaAmy Elsner RENEWAL
Stacey X OldroydUnited KingdomOnyama Limba RENEWAL
Nicolas W IturbideFranceStephen Shaw QUALIFIED
Wickens V CaudyJapanElwin Sharvill NEW
Jefferson Q MarrierJapanIvan Magalhaes PROPOSAL
Smith U FerenczFranceIoni Bowcher RENEWAL
Silvio N AmigonRussiaXuxue Feng UNQUALIFIED
Jones S SaylorsIndiaAmy Elsner NEW
Ricardo Y NestleSpainAmy Elsner UNQUALIFIED
Ricardo Y MaletRussiaOnyama Limba NEGOTIATION
Salvatore Y SchemmerIndiaAmy Elsner PROPOSAL
Arvin D InouyeRussiaBernardo Dominic RENEWAL
Octavia X NestleGermanyAnna Fali UNQUALIFIED
Cody T CaudyGermanyElwin Sharvill PROPOSAL
Ivar K WieserJapanAnna Fali UNQUALIFIED
Jeanfrancois U GarufiAustraliaAsiya Javayant QUALIFIED
Mayumi Z FollerCanadaStephen Shaw UNQUALIFIED
Octavia Q MarrierItalyAsiya Javayant UNQUALIFIED
Jeanfrancois P NickaItalyOnyama Limba UNQUALIFIED
Nicolas R OstroskyAustraliaOnyama Limba NEW
Misaki A SchemmerAustraliaStephen Shaw NEGOTIATION
Wickens H MorascaAustraliaStephen Shaw QUALIFIED
Wickens D CaldareraAustraliaAsiya Javayant NEGOTIATION
Adams F KolmetzBrazilBernardo Dominic QUALIFIED
Maria F RulapaughJapanBernardo Dominic NEGOTIATION
Morrow C CaudyAustraliaAmy Elsner NEGOTIATION
Aruna H BologniaFranceOnyama Limba UNQUALIFIED
Aika W FigeroaRussiaAmy Elsner RENEWAL
Juan L ButtArgentinaElwin Sharvill PROPOSAL
Salvatore H DarakjyIndiaAsiya Javayant QUALIFIED
Stacey I AmigonCanadaAsiya Javayant RENEWAL
Morrow C FigeroaAustraliaStephen Shaw NEGOTIATION
Mujtaba V SlusarskiUnited KingdomIvan Magalhaes NEGOTIATION
Aruna N RulapaughGermanyIvan Magalhaes RENEWAL
Octavia U NickaBrazilBernardo Dominic QUALIFIED
Silvio W ButtItalyBernardo Dominic PROPOSAL
Costa R RulapaughFranceIvan Magalhaes RENEWAL
Silvio K StockhamItalyAnna Fali UNQUALIFIED
Maisha I GillianIndiaBernardo Dominic PROPOSAL
Leja Q GarufiGermanyOnyama Limba QUALIFIED
Morrow I FigeroaJapanOnyama Limba QUALIFIED
Sinclair H AmigonFranceIoni Bowcher NEW
Juan N SlusarskiArgentinaStephen Shaw UNQUALIFIED
Jones B WaycottUnited KingdomAmy Elsner RENEWAL
Frozen Columns
Name
Ashley M Schemmer
Munro W Sergi
Chavez M Rulapaugh
Ricardo D Bolognia
Jefferson A Maclead
Claire Z Albares
Julie A Vocelka
James G Perin
Aruna T Kolmetz
Misaki I Venere
Antonio T Nicka
Ivar A Caldarera
Adams W Malet
Antonio A Malet
James A Whobrey
Leja A Chui
Kadeem Y Schemmer
Murillo C Vocelka
Ivar D Marrier
Aruna L Tollner
Jefferson N Tollner
Aika Y Sergi
Aruna S Sergi
Aruna Y Saylors
Claire Q Vocelka
Morrow Z Perin
Emily R Gaucho
Stacey U Garufi
Ivar J Dilliard
Rodrigues L Glick
Darci U Gaucho
Antonio Z Garufi
Jones Y Marrier
James M Malet
Rodrigues O Poquette
Chavez G Foller
Wickens T Sergi
Octavia B Bowley
Rodrigues O Saylors
Silvio U Rulapaugh
Aruna V Poquette
Rodrigues C Caudy
Murillo F Malet
Ricardo N Venere
Salvatore F Morasca
Darci J Sergi
Julie I Perin
Misaki G Gaucho
Sinclair Z Oldroyd
Antonio U Bowley
IdCountryDate
1000Russia2024-06-17
1001Spain2024-05-26
1002Japan2024-06-16
1003India2024-05-28
1004Brazil2024-06-18
1005Brazil2024-05-28
1006Australia2024-05-25
1007France2024-06-01
1008Argentina2024-05-28
1009Spain2024-06-08
1010Germany2024-05-28
1011Argentina2024-06-13
1012Russia2024-05-28
1013France2024-06-08
1014Russia2024-06-08
1015Japan2024-06-17
1016France2024-06-11
1017Australia2024-05-24
1018Canada2024-06-20
1019Australia2024-06-21
1020Japan2024-06-05
1021Italy2024-06-08
1022Argentina2024-05-31
1023India2024-06-08
1024France2024-06-14
1025India2024-06-13
1026India2024-05-24
1027India2024-06-06
1028Australia2024-06-18
1029Australia2024-05-27
1030Russia2024-05-23
1031France2024-06-18
1032India2024-06-07
1033United Kingdom2024-05-28
1034Russia2024-06-19
1035Italy2024-06-09
1036Japan2024-06-18
1037Canada2024-06-06
1038Australia2024-06-14
1039Germany2024-06-05
1040India2024-06-10
1041Italy2024-06-12
1042Spain2024-06-20
1043Russia2024-06-14
1044Spain2024-06-16
1045Argentina2024-06-21
1046Spain2024-05-25
1047Russia2024-06-10
1048United Kingdom2024-05-26
1049Germany2024-06-20

On-Demand Data

NameIdCountryDate
Francesco K Bowley1000Brazil2024-06-06
Leon H Royster1001Japan2024-05-24
Johnson Q Doe1002France2024-06-04
Mayumi D Nicka1003Australia2024-06-15
James K Bowley1004France2024-06-17
Octavia F Rulapaugh1005United Kingdom2024-06-21
Nicolas X Marrier1006France2024-06-11
Smith S Sergi1007Japan2024-06-06
Nicolas G Tollner1008Russia2024-06-05
Smith R Venere1009Argentina2024-06-01
Mayumi I Flosi1010India2024-06-06
Francesco W Darakjy1011India2024-05-30
Deepesh W Rim1012Italy2024-06-03
Antonio F Royster1013India2024-06-08
Antonio K Kusko1014Italy2024-06-10
Emily G Tollner1015United Kingdom2024-06-07
Mayumi Q Morasca1016Australia2024-06-02
Kaitlin R Stockham1017Spain2024-06-07
Emily T Perin1018Spain2024-05-26
Munro H Campain1019Russia2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer X KuskoSpainAnna Fali RENEWAL
Octavia T FlosiIndiaXuxue Feng PROPOSAL
Morrow S NestleArgentinaStephen Shaw QUALIFIED
Alejandro S MacleadArgentinaAmy Elsner QUALIFIED
Francesco A WhobreySpainIoni Bowcher RENEWAL
Sinclair H IturbideItalyXuxue Feng RENEWAL
Ivar O FerenczFranceIvan Magalhaes PROPOSAL
Jeanfrancois R IturbideUnited KingdomAnna Fali UNQUALIFIED
Murillo H BriddickCanadaElwin Sharvill NEW
Alejandro J WaycottCanadaOnyama Limba PROPOSAL
Aditya X BologniaIndiaAnna Fali PROPOSAL
Clifford Z MarrierFranceAmy Elsner UNQUALIFIED
Isabel X StensethSpainIoni Bowcher RENEWAL
Johnson W StockhamFranceAnna Fali QUALIFIED
Jones A ShinkoUnited KingdomBernardo Dominic QUALIFIED
Kaitlin R DoeCanadaAsiya Javayant NEW
Greenwood V SchemmerGermanyOnyama Limba PROPOSAL
Deepesh F OldroydSpainOnyama Limba NEW
Jefferson H StensethArgentinaIoni Bowcher NEW
Juan R RutaJapanAmy Elsner NEGOTIATION
Octavia Y WaycottCanadaAsiya Javayant RENEWAL
Mayumi H FlosiFranceElwin Sharvill QUALIFIED
Salvatore C RimFranceStephen Shaw UNQUALIFIED
Arvin M RulapaughGermanyOnyama Limba PROPOSAL
Aruna F IturbideUnited KingdomAsiya Javayant NEW
Aika F WhobreySpainIoni Bowcher NEW
Deepesh U NickaGermanyStephen Shaw RENEWAL
Juan Y BologniaBrazilElwin Sharvill NEGOTIATION
Aruna C OldroydCanadaXuxue Feng NEGOTIATION
Darci N WhobreyJapanOnyama Limba UNQUALIFIED
Salvatore O FigeroaAustraliaStephen Shaw PROPOSAL
James X SaylorsFranceElwin Sharvill PROPOSAL
Costa Z BowleyIndiaAsiya Javayant RENEWAL
Aika F StockhamGermanyBernardo Dominic RENEWAL
Munro T KolmetzGermanyXuxue Feng NEGOTIATION
Silvio W ChuiBrazilAmy Elsner PROPOSAL
Mujtaba R ChuiFranceBernardo Dominic NEW
Jennifer L BologniaJapanStephen Shaw RENEWAL
David F PaprockiSpainElwin Sharvill NEW
Sinclair Z SergiItalyAmy Elsner 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>