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
Leja H ChuiSpainAmy Elsner PROPOSAL
Johnson Y OldroydAustraliaAmy Elsner QUALIFIED
Munro F KuskoArgentinaIoni Bowcher NEGOTIATION
Jefferson C InouyeSpainOnyama Limba RENEWAL
Kaitlin W CampainFranceStephen Shaw UNQUALIFIED
Rodrigues H PaprockiCanadaAmy Elsner RENEWAL
Ricardo D GillianSpainElwin Sharvill NEGOTIATION
Francesco G OldroydItalyOnyama Limba NEGOTIATION
Alejandro P WaycottArgentinaElwin Sharvill RENEWAL
Wickens O MorascaUnited KingdomAsiya Javayant RENEWAL
Emily X CaudyJapanElwin Sharvill QUALIFIED
David F WieserIndiaIvan Magalhaes NEW
Chavez K StensethFranceAnna Fali NEW
Aika V GlickAustraliaAsiya Javayant NEW
Johnson T PerinItalyStephen Shaw RENEWAL
Misaki I BowleyUnited KingdomIvan Magalhaes PROPOSAL
Aruna O OldroydAustraliaAmy Elsner NEW
Ivar X OldroydRussiaBernardo Dominic NEW
Morrow F ChuiCanadaOnyama Limba UNQUALIFIED
Rodrigues H PerinJapanBernardo Dominic QUALIFIED
Darci X FerenczIndiaAnna Fali PROPOSAL
Cody T NickaFranceIoni Bowcher NEW
Faith S InouyeJapanAmy Elsner NEGOTIATION
Smith C FlosiItalyIvan Magalhaes NEW
Darci B TollnerItalyElwin Sharvill NEW
Chavez O IturbideArgentinaAsiya Javayant UNQUALIFIED
Morrow C FerenczIndiaAmy Elsner NEW
Octavia T DilliardItalyXuxue Feng UNQUALIFIED
Stacey L DarakjyUnited KingdomAmy Elsner RENEWAL
Costa Y ChuiCanadaStephen Shaw QUALIFIED
Murillo L GlickIndiaIvan Magalhaes NEW
Silvio P GillianJapanOnyama Limba UNQUALIFIED
Francesco O SchemmerGermanyIvan Magalhaes PROPOSAL
Julie N MacleadAustraliaIoni Bowcher NEGOTIATION
Arvin Q AmigonSpainStephen Shaw NEGOTIATION
Misaki T KolmetzIndiaAnna Fali NEW
Leja J OstroskyArgentinaIoni Bowcher NEGOTIATION
Mujtaba P MaletBrazilBernardo Dominic QUALIFIED
Jefferson G NickaFranceAsiya Javayant NEW
Stacey B MarrierGermanyAnna Fali UNQUALIFIED
Arvin Q KuskoRussiaOnyama Limba NEGOTIATION
Emily H CaudyRussiaAnna Fali PROPOSAL
Stacey O OstroskyCanadaAnna Fali NEW
Aruna Z MorascaItalyIvan Magalhaes NEGOTIATION
Misaki L SergiFranceIvan Magalhaes QUALIFIED
Aruna V MarrierSpainAsiya Javayant PROPOSAL
Faith L DarakjyIndiaIoni Bowcher UNQUALIFIED
Salvatore K SaylorsFranceIvan Magalhaes PROPOSAL
Emily M MarrierGermanyAnna Fali RENEWAL
Nicolas Z PerinCanadaAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Alejandro R SaylorsAustraliaAsiya Javayant NEW
Octavia F GarufiAustraliaIoni Bowcher QUALIFIED
Clifford F FigeroaBrazilAmy Elsner NEGOTIATION
Murillo B VocelkaFranceOnyama Limba QUALIFIED
Arvin M FlosiCanadaIoni Bowcher NEW
Maria B FollerCanadaAmy Elsner RENEWAL
Antonio Y RulapaughArgentinaXuxue Feng NEW
Wickens P SergiRussiaAnna Fali NEGOTIATION
Smith C BologniaSpainAsiya Javayant NEW
Ricardo T KuskoRussiaAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams D FollerJapan2024-06-15Chanay, Jeffrey A Esq NEW80Onyama Limba
1001Leon N KolmetzFrance2024-06-02Chapman, Ross E Esq PROPOSAL29Onyama Limba
1002Jennifer G MorascaBrazil2024-06-06Chemel, James L Cpa NEW57Xuxue Feng
1003Darci J NestleJapan2024-06-11Rangoni Of Florence NEW7Elwin Sharvill
1004Izzy W DilliardIndia2024-05-26Truhlar And Truhlar Attys PROPOSAL94Ioni Bowcher
1005Aditya G PerinBrazil2024-06-05Feltz Printing Service QUALIFIED48Ioni Bowcher
1006Faith I MaletArgentina2024-06-21Dorl, James J Esq UNQUALIFIED98Ioni Bowcher
1007Jefferson N DilliardBrazil2024-06-02Feiner Bros NEGOTIATION77Onyama Limba
1008Tony N VocelkaFrance2024-06-20Rangoni Of Florence RENEWAL66Stephen Shaw
1009Chavez U SergiItaly2024-06-21King, Christopher A Esq NEGOTIATION1Xuxue Feng
1010Antonio H FollerArgentina2024-06-04Dorl, James J Esq PROPOSAL48Stephen Shaw
1011Claire S SaylorsIndia2024-06-10Chanay, Jeffrey A Esq QUALIFIED67Asiya Javayant
1012Deepesh J MorascaGermany2024-06-14Morlong Associates QUALIFIED88Asiya Javayant
1013Izzy Z GillianAustralia2024-06-17Rangoni Of Florence UNQUALIFIED66Ivan Magalhaes
1014Mayumi H GlickAustralia2024-06-05Chanay, Jeffrey A Esq QUALIFIED84Bernardo Dominic
1015David R CampainItaly2024-06-04Commercial Press PROPOSAL92Xuxue Feng
1016Murillo I MorascaFrance2024-06-14Dorl, James J Esq RENEWAL2Onyama Limba
1017Tony U SergiUnited Kingdom2024-06-07Benton, John B Jr QUALIFIED80Amy Elsner
1018Aditya I BriddickUnited Kingdom2024-06-07King, Christopher A Esq NEW25Elwin Sharvill
1019Mujtaba B AmigonArgentina2024-05-24Commercial Press RENEWAL82Asiya Javayant
1020Deepesh K KuskoCanada2024-05-28Benton, John B Jr NEGOTIATION42Elwin Sharvill
1021Sinclair P BriddickAustralia2024-06-15Morlong Associates NEGOTIATION29Elwin Sharvill
1022Johnson C WaycottCanada2024-06-18Feltz Printing Service UNQUALIFIED72Xuxue Feng
1023Faith G CampainRussia2024-05-28Chanay, Jeffrey A Esq UNQUALIFIED5Ivan Magalhaes
1024Ricardo X KolmetzGermany2024-05-24Rangoni Of Florence UNQUALIFIED53Ioni Bowcher
1025Morrow K BowleyGermany2024-06-07Chapman, Ross E Esq PROPOSAL37Stephen Shaw
1026Tony Y DarakjySpain2024-06-21Buckley Miller Wright NEW62Onyama Limba
1027Costa O InouyeUnited Kingdom2024-06-21Truhlar And Truhlar Attys RENEWAL74Ioni Bowcher
1028David A FlosiGermany2024-06-20Chanay, Jeffrey A Esq NEW91Bernardo Dominic
1029Arvin T FlosiCanada2024-06-21Printing Dimensions QUALIFIED83Amy Elsner
1030Sinclair X FollerUnited Kingdom2024-06-21Dorl, James J Esq NEW94Ivan Magalhaes
1031Izzy I DarakjyUnited Kingdom2024-06-09Morlong Associates QUALIFIED80Amy Elsner
1032Munro O WaycottSpain2024-06-10King, Christopher A Esq PROPOSAL63Asiya Javayant
1033Juan U NickaGermany2024-05-25Dorl, James J Esq NEW71Bernardo Dominic
1034Aruna V GillianIndia2024-06-16Feltz Printing Service QUALIFIED95Xuxue Feng
1035Stacey E CaudyArgentina2024-06-19Dorl, James J Esq NEGOTIATION76Ioni Bowcher
1036Chavez R SchemmerAustralia2024-06-07Chanay, Jeffrey A Esq UNQUALIFIED49Amy Elsner
1037Darci L SergiUnited Kingdom2024-05-26Morlong Associates RENEWAL60Bernardo Dominic
1038Juan M PerinFrance2024-06-20Benton, John B Jr UNQUALIFIED61Stephen Shaw
1039Rodrigues N PerinIndia2024-05-26Chanay, Jeffrey A Esq QUALIFIED89Onyama Limba
1040Johnson F InouyeFrance2024-06-17Dorl, James J Esq NEW28Bernardo Dominic
1041Emily H StensethRussia2024-05-24Printing Dimensions NEGOTIATION71Anna Fali
1042Jennifer Q RutaFrance2024-06-16Feltz Printing Service UNQUALIFIED45Stephen Shaw
1043Salvatore B AmigonIndia2024-05-29Truhlar And Truhlar Attys QUALIFIED90Asiya Javayant
1044Deepesh A MorascaRussia2024-05-30Commercial Press NEW43Onyama Limba
1045Kaitlin M DilliardRussia2024-05-29King, Christopher A Esq NEW1Amy Elsner
1046Jennifer H FlosiAustralia2024-06-13Benton, John B Jr UNQUALIFIED57Bernardo Dominic
1047Salvatore W ButtUnited Kingdom2024-06-09Feltz Printing Service QUALIFIED69Amy Elsner
1048Wickens X BowleyArgentina2024-06-13Feltz Printing Service NEGOTIATION18Onyama Limba
1049Ashley O DoeAustralia2024-06-10Chanay, Jeffrey A Esq UNQUALIFIED73Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Ricardo U SchemmerArgentinaXuxue Feng NEW
Stacey P ButtCanadaIoni Bowcher RENEWAL
Kaitlin M NickaSpainStephen Shaw UNQUALIFIED
Arvin L KuskoCanadaBernardo Dominic QUALIFIED
Faith G CaudyFranceStephen Shaw NEW
Emily E FigeroaFranceElwin Sharvill PROPOSAL
Ashley G WhobreySpainAnna Fali UNQUALIFIED
Izzy I FerenczJapanElwin Sharvill PROPOSAL
Stacey P InouyeSpainIvan Magalhaes PROPOSAL
Greenwood O AmigonJapanAnna Fali NEW
Izzy Z IturbideItalyXuxue Feng NEGOTIATION
Jefferson E ButtSpainBernardo Dominic UNQUALIFIED
Costa I MaletAustraliaElwin Sharvill QUALIFIED
Stacey C MaletBrazilElwin Sharvill NEW
Tony Y GarufiFranceAnna Fali QUALIFIED
Francesco A RimSpainIoni Bowcher NEGOTIATION
Claire D OstroskyFranceOnyama Limba NEW
Antonio U FlosiGermanyOnyama Limba UNQUALIFIED
Maisha X KolmetzSpainAmy Elsner RENEWAL
Kadeem U MaletGermanyIoni Bowcher RENEWAL
Sinclair H DilliardItalyBernardo Dominic RENEWAL
Julie D RulapaughFranceStephen Shaw QUALIFIED
Maisha M MaletArgentinaBernardo Dominic RENEWAL
Jones Y KolmetzSpainElwin Sharvill UNQUALIFIED
Leon J FerenczCanadaStephen Shaw NEW
Morrow H ShinkoArgentinaElwin Sharvill UNQUALIFIED
Ricardo J WaycottAustraliaIoni Bowcher UNQUALIFIED
Maisha D RoysterAustraliaElwin Sharvill NEGOTIATION
Nicolas V SaylorsGermanyAsiya Javayant PROPOSAL
James G InouyeArgentinaElwin Sharvill NEGOTIATION
Ricardo R WaycottUnited KingdomOnyama Limba NEW
Rodrigues I VenereItalyElwin Sharvill UNQUALIFIED
Adams Y OldroydIndiaStephen Shaw QUALIFIED
Aditya V SergiIndiaOnyama Limba NEW
Ashley O DoeBrazilAsiya Javayant UNQUALIFIED
Darci Q DilliardBrazilXuxue Feng QUALIFIED
Mayumi M BowleyFranceOnyama Limba QUALIFIED
Kadeem S MarrierItalyAnna Fali PROPOSAL
Arvin L RimSpainAsiya Javayant UNQUALIFIED
Jennifer I PaprockiArgentinaBernardo Dominic UNQUALIFIED
Aika H GillianSpainIoni Bowcher UNQUALIFIED
Faith W IturbideFranceXuxue Feng UNQUALIFIED
Johnson I NestleCanadaAsiya Javayant NEGOTIATION
Munro U PerinArgentinaAsiya Javayant QUALIFIED
Sinclair O SchemmerFranceBernardo Dominic NEW
Francesco E FollerRussiaAmy Elsner NEGOTIATION
Antonio O WhobreyFranceBernardo Dominic PROPOSAL
Isabel F BowleyFranceXuxue Feng UNQUALIFIED
Antonio P GauchoItalyOnyama Limba UNQUALIFIED
Nicolas C DarakjyBrazilAsiya Javayant NEW
Frozen Columns
Name
Darci P Shinko
Mayumi J Schemmer
Adams S Stenseth
Aditya V Shinko
Izzy J Marrier
Antonio W Kusko
Nicolas T Morasca
Deepesh P Royster
Murillo J Oldroyd
Clifford C Vocelka
Deepesh X Butt
Arvin E Shinko
Greenwood A Sergi
Mayumi F Ferencz
Julie D Paprocki
Antonio G Caudy
Juan L Glick
Munro C Nicka
Aika E Doe
Kaitlin M Briddick
Emily N Nicka
Francesco G Malet
Aditya S Inouye
Greenwood W Tollner
Ashley O Venere
David A Royster
Leja M Bowley
Maria W Sergi
Greenwood K Kolmetz
Ricardo Z Bowley
Clifford A Ferencz
Francesco I Kusko
Greenwood C Butt
Nicolas L Chui
Leon D Campain
Chavez I Malet
Leja U Caudy
Ricardo X Gaucho
Sinclair Q Stockham
Jennifer O Rulapaugh
Mayumi O Ruta
Julie K Stenseth
Darci G Shinko
Nicolas J Royster
Morrow A Gaucho
Jeanfrancois T Stenseth
Antonio H Garufi
Claire Z Morasca
Juan Q Flosi
Emily B Saylors
IdCountryDate
1000Spain2024-06-10
1001Argentina2024-05-28
1002Italy2024-06-12
1003Japan2024-06-01
1004France2024-06-08
1005Brazil2024-06-06
1006United Kingdom2024-06-14
1007Japan2024-05-27
1008Brazil2024-06-16
1009Canada2024-06-16
1010France2024-06-12
1011India2024-06-19
1012Italy2024-05-24
1013India2024-06-18
1014Canada2024-06-14
1015Italy2024-06-09
1016Canada2024-06-14
1017France2024-06-09
1018France2024-06-12
1019Germany2024-05-25
1020Italy2024-06-07
1021Australia2024-06-19
1022Germany2024-06-13
1023France2024-06-20
1024Germany2024-05-31
1025Brazil2024-06-11
1026Japan2024-06-15
1027Japan2024-06-16
1028Germany2024-06-10
1029Spain2024-06-07
1030Australia2024-06-14
1031Canada2024-06-04
1032Russia2024-06-03
1033France2024-06-01
1034Spain2024-05-23
1035India2024-06-10
1036United Kingdom2024-06-10
1037France2024-06-01
1038Italy2024-06-08
1039Russia2024-05-31
1040Italy2024-06-09
1041Spain2024-05-30
1042Italy2024-06-08
1043Brazil2024-05-24
1044Japan2024-06-15
1045Spain2024-05-30
1046Spain2024-06-15
1047India2024-05-27
1048Brazil2024-05-24
1049Brazil2024-06-21

On-Demand Data

NameIdCountryDate
Sinclair K Kolmetz1000India2024-05-31
Antonio P Wieser1001Japan2024-05-23
Sinclair U Poquette1002Spain2024-06-08
Sinclair T Albares1003India2024-06-21
Morrow Y Maclead1004United Kingdom2024-06-07
Izzy U Caldarera1005Russia2024-05-28
Kaitlin V Waycott1006Russia2024-05-30
Greenwood L Paprocki1007France2024-05-27
Morrow W Malet1008Japan2024-06-06
Misaki K Ruta1009Spain2024-06-09
Ricardo S Caldarera1010Argentina2024-06-19
Julie Y Iturbide1011Russia2024-06-12
Cody L Caldarera1012Canada2024-06-11
Octavia D Stockham1013Germany2024-06-01
Octavia T Schemmer1014Russia2024-06-15
Sinclair V Briddick1015Spain2024-06-04
Stacey G Albares1016India2024-05-27
Maria C Oldroyd1017France2024-06-13
Isabel Y Gaucho1018Italy2024-06-10
Aika W Maclead1019United Kingdom2024-05-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy V ChuiGermanyIoni Bowcher NEGOTIATION
Antonio S IturbideBrazilIoni Bowcher RENEWAL
Murillo N WhobreyIndiaIoni Bowcher UNQUALIFIED
Tony Z TollnerCanadaStephen Shaw QUALIFIED
Munro R PoquetteGermanyAnna Fali NEW
Munro O GlickBrazilElwin Sharvill NEW
Maria H GillianBrazilOnyama Limba QUALIFIED
Jones W NickaSpainBernardo Dominic QUALIFIED
Antonio D GillianJapanAnna Fali UNQUALIFIED
Maria K WaycottAustraliaAsiya Javayant RENEWAL
Leon R RulapaughIndiaIoni Bowcher RENEWAL
Claire B ButtBrazilIvan Magalhaes UNQUALIFIED
James H WaycottSpainStephen Shaw QUALIFIED
Nicolas U ChuiItalyAsiya Javayant NEW
Smith F CaldareraItalyStephen Shaw NEW
Jeanfrancois X CaldareraItalyAnna Fali NEGOTIATION
David A OstroskyAustraliaAnna Fali QUALIFIED
Aika F CaudyGermanyXuxue Feng PROPOSAL
Faith H GauchoSpainAnna Fali NEW
Misaki M KuskoIndiaAsiya Javayant NEW
Misaki K FigeroaUnited KingdomElwin Sharvill NEW
Maria N CampainFranceIvan Magalhaes QUALIFIED
Smith E WaycottUnited KingdomIvan Magalhaes UNQUALIFIED
Mujtaba J MarrierGermanyAmy Elsner UNQUALIFIED
Leon D AmigonIndiaIvan Magalhaes UNQUALIFIED
Maisha R RimItalyIvan Magalhaes NEGOTIATION
James N CaudyFranceOnyama Limba RENEWAL
Izzy N FigeroaBrazilStephen Shaw UNQUALIFIED
Maisha O SlusarskiItalyIvan Magalhaes RENEWAL
Maria W CaudyIndiaIvan Magalhaes NEGOTIATION
Mayumi Q CampainItalyElwin Sharvill RENEWAL
Francesco C AmigonJapanAmy Elsner RENEWAL
Francesco Q ButtSpainOnyama Limba UNQUALIFIED
Aditya N AmigonBrazilAmy Elsner PROPOSAL
Julie W FollerSpainIoni Bowcher NEW
Maisha C AmigonIndiaAmy Elsner RENEWAL
Julie K CaldareraIndiaOnyama Limba QUALIFIED
Cody X BowleyIndiaStephen Shaw NEGOTIATION
Silvio B MacleadIndiaXuxue Feng QUALIFIED
Wickens J PoquetteJapanElwin Sharvill RENEWAL

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