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
Smith C GlickJapanBernardo Dominic RENEWAL
Claire J VenereBrazilBernardo Dominic PROPOSAL
Stacey A GlickRussiaAsiya Javayant NEW
Wickens U MarrierItalyElwin Sharvill RENEWAL
Silvio U StockhamGermanyBernardo Dominic NEGOTIATION
Ricardo N WieserRussiaAmy Elsner UNQUALIFIED
Mujtaba F KuskoSpainAmy Elsner RENEWAL
Deepesh Z ChuiUnited KingdomElwin Sharvill NEW
Antonio Y AlbaresGermanyXuxue Feng UNQUALIFIED
Munro L RutaCanadaIoni Bowcher NEW
Deepesh L NickaAustraliaOnyama Limba UNQUALIFIED
Ashley H WaycottAustraliaOnyama Limba RENEWAL
Francesco F InouyeFranceXuxue Feng RENEWAL
Aika S InouyeUnited KingdomAsiya Javayant PROPOSAL
Salvatore M RimBrazilAmy Elsner UNQUALIFIED
Jones L PoquetteAustraliaAmy Elsner NEW
Mayumi R WhobreyItalyXuxue Feng QUALIFIED
Cody V MorascaSpainAmy Elsner PROPOSAL
Leja U GillianBrazilIvan Magalhaes RENEWAL
Nicolas H MaletAustraliaIoni Bowcher RENEWAL
Jefferson G DilliardJapanOnyama Limba RENEWAL
Julie F InouyeUnited KingdomElwin Sharvill NEW
Leon K FerenczItalyOnyama Limba RENEWAL
Ashley Z RoysterFranceAsiya Javayant NEGOTIATION
Nicolas P WieserJapanStephen Shaw RENEWAL
Silvio A PerinJapanBernardo Dominic PROPOSAL
Deepesh R MaletGermanyOnyama Limba NEGOTIATION
Deepesh E SchemmerCanadaBernardo Dominic RENEWAL
Deepesh C PerinItalyAnna Fali QUALIFIED
Aditya J BologniaBrazilStephen Shaw QUALIFIED
Rodrigues G VocelkaCanadaStephen Shaw UNQUALIFIED
David Q CampainRussiaOnyama Limba NEW
Wickens F SaylorsArgentinaXuxue Feng NEW
Costa A StockhamCanadaAmy Elsner RENEWAL
Stacey L GillianBrazilAnna Fali RENEWAL
Claire G SchemmerUnited KingdomBernardo Dominic NEW
Johnson F PerinFranceAnna Fali NEGOTIATION
David K StockhamAustraliaIoni Bowcher NEGOTIATION
Mayumi F GillianUnited KingdomAsiya Javayant RENEWAL
Rodrigues O WieserSpainOnyama Limba PROPOSAL
Claire P NestleCanadaStephen Shaw PROPOSAL
Maisha A StensethItalyXuxue Feng UNQUALIFIED
Johnson Y MarrierArgentinaIoni Bowcher PROPOSAL
Salvatore W RimJapanStephen Shaw UNQUALIFIED
Claire V MaletFranceAnna Fali UNQUALIFIED
Jones X DoeFranceAmy Elsner NEGOTIATION
Alejandro D SaylorsCanadaAnna Fali UNQUALIFIED
Leja C SaylorsFranceOnyama Limba NEGOTIATION
Maria O RutaUnited KingdomOnyama Limba UNQUALIFIED
Arvin S MaletFranceElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Wickens N GlickJapanXuxue Feng QUALIFIED
Claire K StockhamFranceOnyama Limba NEW
Octavia A WieserJapanElwin Sharvill UNQUALIFIED
Wickens U WieserSpainIoni Bowcher RENEWAL
Jennifer X DoeBrazilElwin Sharvill RENEWAL
Deepesh I FerenczUnited KingdomIvan Magalhaes RENEWAL
Ricardo D VocelkaUnited KingdomIoni Bowcher NEGOTIATION
Leon U MaletBrazilOnyama Limba NEW
Ricardo N WhobreyArgentinaAnna Fali NEW
Faith X KolmetzArgentinaAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith Q DilliardGermany2025-05-22Benton, John B Jr PROPOSAL66Ioni Bowcher
1001Faith S PerinIndia2025-05-30Morlong Associates NEW5Ivan Magalhaes
1002Rodrigues D FigeroaUnited Kingdom2025-05-24Morlong Associates NEGOTIATION59Anna Fali
1003Jennifer A PoquetteAustralia2025-06-11Morlong Associates NEGOTIATION89Ivan Magalhaes
1004Jones F DarakjyFrance2025-06-12Chanay, Jeffrey A Esq RENEWAL5Anna Fali
1005Maria D SergiIndia2025-06-05Benton, John B Jr QUALIFIED80Elwin Sharvill
1006Faith X MarrierCanada2025-06-04Morlong Associates NEGOTIATION81Amy Elsner
1007Silvio G AlbaresSpain2025-05-22Dorl, James J Esq PROPOSAL71Xuxue Feng
1008Isabel N OldroydRussia2025-06-02Chapman, Ross E Esq QUALIFIED45Elwin Sharvill
1009Morrow W WieserJapan2025-05-23Morlong Associates UNQUALIFIED40Ivan Magalhaes
1010Aika E WhobreyArgentina2025-06-05Dorl, James J Esq RENEWAL23Stephen Shaw
1011Smith L ShinkoAustralia2025-05-27Chemel, James L Cpa PROPOSAL74Ivan Magalhaes
1012Jones V GauchoGermany2025-06-16Truhlar And Truhlar Attys PROPOSAL60Elwin Sharvill
1013Jones I StensethArgentina2025-06-13Chapman, Ross E Esq NEW35Ivan Magalhaes
1014Octavia J MaletBrazil2025-06-13Benton, John B Jr RENEWAL54Stephen Shaw
1015Darci R DarakjyCanada2025-06-11Printing Dimensions QUALIFIED51Amy Elsner
1016Arvin A WhobreyGermany2025-06-15Feltz Printing Service NEW34Stephen Shaw
1017Isabel C ChuiGermany2025-06-01Dorl, James J Esq PROPOSAL14Asiya Javayant
1018Antonio N GarufiCanada2025-06-01Rousseaux, Michael Esq PROPOSAL47Amy Elsner
1019Misaki C OstroskyAustralia2025-05-22Rangoni Of Florence RENEWAL22Xuxue Feng
1020Rodrigues U RulapaughSpain2025-05-24Rangoni Of Florence NEW18Asiya Javayant
1021Murillo X GauchoUnited Kingdom2025-05-24Truhlar And Truhlar Attys NEGOTIATION8Ioni Bowcher
1022Jeanfrancois F MaletItaly2025-06-05Commercial Press QUALIFIED28Elwin Sharvill
1023Stacey Z AmigonGermany2025-05-21Feiner Bros NEGOTIATION18Ioni Bowcher
1024Alejandro N CaudyIndia2025-05-30Rangoni Of Florence UNQUALIFIED19Xuxue Feng
1025Adams O RimGermany2025-06-04Chapman, Ross E Esq NEGOTIATION39Onyama Limba
1026Izzy O RimRussia2025-06-16Morlong Associates NEGOTIATION1Amy Elsner
1027Costa Z StockhamBrazil2025-06-06Chemel, James L Cpa PROPOSAL86Anna Fali
1028Clifford G WaycottGermany2025-06-10Chapman, Ross E Esq QUALIFIED97Bernardo Dominic
1029Chavez Q CaldareraFrance2025-05-24Buckley Miller Wright NEGOTIATION60Bernardo Dominic
1030Salvatore F AlbaresBrazil2025-06-14Truhlar And Truhlar Attys PROPOSAL97Stephen Shaw
1031Isabel D CaldareraBrazil2025-06-10Morlong Associates NEGOTIATION24Elwin Sharvill
1032Antonio Q PerinFrance2025-06-05Morlong Associates PROPOSAL64Onyama Limba
1033Ivar T FlosiJapan2025-06-13Printing Dimensions RENEWAL41Asiya Javayant
1034Aika S AlbaresRussia2025-05-25Chapman, Ross E Esq NEW74Elwin Sharvill
1035Leja L MaletGermany2025-05-18Feiner Bros NEGOTIATION59Onyama Limba
1036James I RutaArgentina2025-06-10Dorl, James J Esq UNQUALIFIED9Onyama Limba
1037Cody B GlickFrance2025-06-03Chapman, Ross E Esq NEW47Anna Fali
1038Antonio J AlbaresArgentina2025-06-11Buckley Miller Wright NEGOTIATION74Onyama Limba
1039Aika G ShinkoItaly2025-06-15Feiner Bros NEGOTIATION45Anna Fali
1040Izzy E DoeArgentina2025-06-07Dorl, James J Esq NEW57Amy Elsner
1041Jennifer P PoquetteAustralia2025-06-14Rousseaux, Michael Esq QUALIFIED42Amy Elsner
1042Jones A FollerGermany2025-05-26Feiner Bros NEW6Onyama Limba
1043Ashley W PerinUnited Kingdom2025-05-22Rousseaux, Michael Esq RENEWAL29Asiya Javayant
1044Maisha W KuskoCanada2025-06-09Buckley Miller Wright NEW58Ioni Bowcher
1045Francesco X FerenczUnited Kingdom2025-06-02Printing Dimensions RENEWAL75Stephen Shaw
1046Jennifer B KolmetzFrance2025-06-03Morlong Associates NEGOTIATION82Xuxue Feng
1047Kaitlin C MaletAustralia2025-05-18Feltz Printing Service NEW47Amy Elsner
1048David T WhobreyUnited Kingdom2025-05-25Feltz Printing Service NEW36Stephen Shaw
1049Cody O MaletArgentina2025-06-03Printing Dimensions QUALIFIED25Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Wickens V AlbaresCanadaOnyama Limba NEGOTIATION
Aditya T AmigonJapanElwin Sharvill RENEWAL
Isabel E CampainBrazilBernardo Dominic NEGOTIATION
Costa Q GlickJapanBernardo Dominic NEGOTIATION
Smith A BowleyCanadaAnna Fali NEGOTIATION
Salvatore Y PaprockiSpainAnna Fali NEGOTIATION
Clifford S MarrierArgentinaBernardo Dominic UNQUALIFIED
Jeanfrancois X SchemmerAustraliaAsiya Javayant UNQUALIFIED
Costa Z PaprockiAustraliaBernardo Dominic NEW
Jennifer L BologniaBrazilAsiya Javayant UNQUALIFIED
Wickens B PaprockiUnited KingdomXuxue Feng PROPOSAL
Francesco F AmigonCanadaOnyama Limba UNQUALIFIED
Faith G SlusarskiArgentinaStephen Shaw UNQUALIFIED
Maisha V AmigonAustraliaAsiya Javayant UNQUALIFIED
James J VocelkaFranceIoni Bowcher NEGOTIATION
Francesco Y SaylorsBrazilXuxue Feng NEGOTIATION
Kaitlin T CaudyFranceXuxue Feng RENEWAL
Morrow I KuskoAustraliaAsiya Javayant PROPOSAL
Johnson O DarakjySpainIvan Magalhaes UNQUALIFIED
Aika M MaletGermanyAmy Elsner NEGOTIATION
Ivar J VenereCanadaAnna Fali UNQUALIFIED
Wickens K FlosiRussiaXuxue Feng PROPOSAL
Chavez W MaletSpainAsiya Javayant UNQUALIFIED
Aditya Z OstroskyRussiaIoni Bowcher QUALIFIED
Chavez C MacleadGermanyOnyama Limba UNQUALIFIED
Aika K SaylorsArgentinaBernardo Dominic NEW
Rodrigues Y TollnerBrazilElwin Sharvill UNQUALIFIED
Nicolas F WieserCanadaIoni Bowcher QUALIFIED
Misaki P MaletJapanAsiya Javayant QUALIFIED
Kadeem O SaylorsCanadaElwin Sharvill PROPOSAL
Deepesh I ButtJapanAnna Fali NEW
Stacey N OldroydSpainAsiya Javayant PROPOSAL
Murillo X CaldareraAustraliaAnna Fali PROPOSAL
Leon T ShinkoIndiaIoni Bowcher UNQUALIFIED
Clifford W CampainIndiaIoni Bowcher RENEWAL
James X AlbaresIndiaStephen Shaw RENEWAL
Ricardo X IturbideItalyBernardo Dominic RENEWAL
Adams H AmigonFranceAsiya Javayant PROPOSAL
Izzy P ShinkoJapanOnyama Limba PROPOSAL
Isabel X WieserBrazilXuxue Feng NEW
Arvin W WieserArgentinaIvan Magalhaes NEGOTIATION
Aditya H RulapaughSpainAmy Elsner NEGOTIATION
Arvin Z PaprockiAustraliaXuxue Feng PROPOSAL
Costa W GillianItalyAmy Elsner PROPOSAL
James O MarrierRussiaIvan Magalhaes PROPOSAL
Wickens Y StockhamItalyAmy Elsner UNQUALIFIED
Sinclair U KolmetzCanadaXuxue Feng QUALIFIED
Wickens L PoquetteArgentinaAmy Elsner UNQUALIFIED
Costa E GarufiBrazilAsiya Javayant PROPOSAL
Costa H ButtGermanyAnna Fali UNQUALIFIED
Frozen Columns
Name
Silvio K Vocelka
Maria C Royster
James K Saylors
Aditya G Nicka
Kaitlin M Dilliard
James O Briddick
Sinclair N Gaucho
Antonio K Maclead
Leon K Gillian
Leon R Ruta
Greenwood T Flosi
Wickens H Flosi
Faith E Albares
Clifford F Stenseth
James B Wieser
Kaitlin E Sergi
Johnson U Malet
Juan L Chui
Salvatore U Whobrey
Clifford P Venere
Claire D Oldroyd
Darci V Albares
Juan M Gillian
Julie X Chui
Antonio E Stenseth
James C Poquette
Morrow U Venere
Aruna Q Marrier
Murillo T Venere
Jones Z Foller
Misaki S Caldarera
Aika K Paprocki
James F Vocelka
Adams X Malet
Ashley A Bowley
James M Maclead
Faith X Dilliard
Cody B Tollner
Francesco D Rulapaugh
Kadeem P Gillian
Chavez Q Rulapaugh
Morrow X Campain
Jennifer P Paprocki
Rodrigues Q Doe
Salvatore V Maclead
Cody D Bowley
Greenwood V Flosi
Juan R Shinko
Kaitlin A Rim
Kadeem F Gaucho
IdCountryDate
1000Australia2025-06-11
1001Japan2025-06-08
1002Japan2025-05-20
1003Germany2025-06-16
1004India2025-05-25
1005Japan2025-06-15
1006Japan2025-06-16
1007France2025-06-10
1008India2025-06-04
1009Spain2025-06-06
1010Argentina2025-05-19
1011India2025-05-21
1012Germany2025-05-29
1013Argentina2025-05-19
1014Canada2025-06-02
1015Australia2025-05-27
1016France2025-06-03
1017Spain2025-06-03
1018India2025-05-24
1019Brazil2025-06-04
1020Spain2025-05-26
1021United Kingdom2025-05-27
1022France2025-05-19
1023France2025-06-16
1024Russia2025-06-07
1025Australia2025-05-20
1026France2025-05-22
1027Argentina2025-06-16
1028Australia2025-05-29
1029India2025-06-05
1030Italy2025-05-29
1031Japan2025-06-08
1032United Kingdom2025-05-27
1033Brazil2025-06-01
1034Spain2025-05-24
1035Japan2025-05-27
1036Argentina2025-05-22
1037India2025-05-30
1038Brazil2025-06-05
1039Spain2025-05-22
1040India2025-05-30
1041United Kingdom2025-05-21
1042Japan2025-05-20
1043Italy2025-06-12
1044Italy2025-06-05
1045Australia2025-06-04
1046United Kingdom2025-06-04
1047Germany2025-06-04
1048Canada2025-06-06
1049France2025-06-15

On-Demand Data

NameIdCountryDate
Chavez F Perin1000India2025-06-06
Mujtaba J Amigon1001Canada2025-06-15
Mayumi S Whobrey1002Argentina2025-05-28
Maria T Malet1003Germany2025-06-16
Aika T Malet1004United Kingdom2025-06-13
Alejandro L Paprocki1005Japan2025-06-05
Darci A Ruta1006Australia2025-06-06
Leon S Waycott1007Brazil2025-05-19
Costa V Albares1008Brazil2025-06-04
Smith P Iturbide1009India2025-05-21
Juan F Malet1010Canada2025-06-02
Aruna L Ostrosky1011France2025-06-13
Jeanfrancois A Chui1012Germany2025-06-13
Alejandro O Iturbide1013Australia2025-05-31
Ashley H Ruta1014Germany2025-05-22
Julie F Stockham1015Italy2025-05-20
Leja N Bolognia1016Spain2025-06-06
Misaki X Nicka1017France2025-06-12
Deepesh D Dilliard1018India2025-05-29
Claire M Paprocki1019Russia2025-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro Q IturbideBrazilOnyama Limba QUALIFIED
Mayumi Z MaletFranceXuxue Feng RENEWAL
David J SlusarskiCanadaAsiya Javayant RENEWAL
Francesco U KolmetzItalyAmy Elsner UNQUALIFIED
Silvio G FollerJapanElwin Sharvill UNQUALIFIED
Munro K StockhamJapanXuxue Feng NEGOTIATION
Juan N StockhamFranceBernardo Dominic RENEWAL
Kaitlin D InouyeRussiaAmy Elsner RENEWAL
Costa K SlusarskiBrazilOnyama Limba NEW
Izzy J IturbideUnited KingdomBernardo Dominic NEGOTIATION
Alejandro F PoquetteCanadaXuxue Feng NEGOTIATION
Wickens T GarufiGermanyIvan Magalhaes PROPOSAL
Alejandro O GauchoSpainOnyama Limba RENEWAL
Misaki R WhobreySpainAsiya Javayant NEW
Arvin R MorascaGermanyIvan Magalhaes UNQUALIFIED
Silvio E KolmetzArgentinaXuxue Feng NEW
Adams I GillianRussiaOnyama Limba NEGOTIATION
Juan M SchemmerFranceAsiya Javayant NEW
Mujtaba D BologniaAustraliaXuxue Feng RENEWAL
Clifford K OldroydIndiaStephen Shaw NEW
Claire G DilliardGermanyIoni Bowcher PROPOSAL
Jefferson R CampainIndiaAsiya Javayant PROPOSAL
Smith T VenereAustraliaIvan Magalhaes NEGOTIATION
Jeanfrancois D VenereArgentinaIoni Bowcher RENEWAL
Smith V IturbideItalyStephen Shaw NEGOTIATION
Rodrigues V CaudyUnited KingdomStephen Shaw QUALIFIED
Jefferson N AlbaresArgentinaAnna Fali PROPOSAL
Jennifer Q SergiIndiaAnna Fali NEW
Aruna A TollnerJapanAsiya Javayant RENEWAL
Munro W GillianItalyIvan Magalhaes RENEWAL
Tony I BologniaCanadaIvan Magalhaes UNQUALIFIED
Octavia B TollnerAustraliaAnna Fali RENEWAL
Sinclair P CaudyArgentinaAsiya Javayant NEW
Nicolas D RulapaughJapanBernardo Dominic PROPOSAL
Kaitlin E BriddickCanadaIoni Bowcher NEW
Antonio H KuskoItalyOnyama Limba QUALIFIED
Maria Y StensethFranceIvan Magalhaes RENEWAL
Clifford M AmigonCanadaOnyama Limba QUALIFIED
Alejandro Q AlbaresIndiaElwin Sharvill NEW
Ashley H GlickRussiaAmy 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>