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
Maisha H FerenczFranceStephen Shaw PROPOSAL
Maisha B SchemmerRussiaAmy Elsner PROPOSAL
James U OstroskyFranceElwin Sharvill UNQUALIFIED
Cody P TollnerFranceAmy Elsner PROPOSAL
Arvin U WieserFranceBernardo Dominic NEW
Julie Y NickaIndiaElwin Sharvill RENEWAL
Emily Y WhobreyArgentinaOnyama Limba NEGOTIATION
Stacey Q FollerGermanyAmy Elsner NEW
Aditya E DarakjyJapanElwin Sharvill NEW
Wickens H GillianRussiaOnyama Limba QUALIFIED
Adams E NickaSpainBernardo Dominic UNQUALIFIED
Emily G CaldareraSpainAnna Fali QUALIFIED
Aika U RulapaughUnited KingdomAnna Fali NEGOTIATION
David F GauchoBrazilAmy Elsner UNQUALIFIED
Izzy J SergiSpainStephen Shaw NEW
Cody W DoeItalyAsiya Javayant RENEWAL
Jones R MarrierGermanyStephen Shaw NEGOTIATION
Leja M GillianItalyAnna Fali QUALIFIED
Francesco G StockhamGermanyStephen Shaw UNQUALIFIED
Kaitlin B SlusarskiArgentinaStephen Shaw PROPOSAL
Izzy K VocelkaSpainAnna Fali QUALIFIED
Jennifer F GillianFranceIoni Bowcher PROPOSAL
Rodrigues C GlickCanadaOnyama Limba NEW
Jennifer U GlickJapanBernardo Dominic UNQUALIFIED
Rodrigues H WhobreyIndiaElwin Sharvill NEGOTIATION
Aika Q DilliardCanadaAsiya Javayant PROPOSAL
Wickens Q RulapaughBrazilBernardo Dominic PROPOSAL
Silvio N BologniaIndiaXuxue Feng UNQUALIFIED
Silvio N StensethItalyAnna Fali NEGOTIATION
Wickens X BologniaGermanyAsiya Javayant PROPOSAL
Ashley N WieserIndiaAnna Fali QUALIFIED
Emily O AmigonGermanyIvan Magalhaes UNQUALIFIED
Rodrigues S GillianSpainIvan Magalhaes QUALIFIED
James P MacleadUnited KingdomElwin Sharvill NEGOTIATION
Adams E BowleyItalyStephen Shaw PROPOSAL
Murillo Z SchemmerCanadaElwin Sharvill RENEWAL
Costa H BowleyItalyAnna Fali QUALIFIED
Johnson C MaletGermanyBernardo Dominic NEGOTIATION
Faith R SlusarskiArgentinaAsiya Javayant QUALIFIED
Jennifer F ChuiBrazilStephen Shaw UNQUALIFIED
Murillo V FerenczArgentinaOnyama Limba QUALIFIED
Greenwood K VenereSpainAsiya Javayant NEGOTIATION
Johnson D RimBrazilBernardo Dominic NEW
Ivar Z RutaIndiaAmy Elsner UNQUALIFIED
Mayumi U InouyeRussiaIoni Bowcher PROPOSAL
Julie Y CaudyBrazilIoni Bowcher UNQUALIFIED
Johnson A OldroydIndiaOnyama Limba QUALIFIED
Chavez I KuskoFranceAmy Elsner NEW
Jones K VenereArgentinaIoni Bowcher PROPOSAL
Isabel W WieserArgentinaAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Chavez O GarufiBrazilStephen Shaw RENEWAL
Ashley N StockhamRussiaIoni Bowcher RENEWAL
Octavia W FollerCanadaElwin Sharvill UNQUALIFIED
Isabel R BowleyFranceAnna Fali RENEWAL
Francesco I RoysterCanadaAnna Fali RENEWAL
Misaki J PaprockiBrazilBernardo Dominic NEW
Johnson Y StockhamArgentinaIvan Magalhaes NEW
Tony K InouyeAustraliaXuxue Feng NEGOTIATION
Leja F ButtFranceAnna Fali PROPOSAL
Adams P AmigonGermanyIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro Q CampainCanada2024-05-27Rangoni Of Florence UNQUALIFIED48Asiya Javayant
1001Smith K SaylorsFrance2024-05-29Chapman, Ross E Esq RENEWAL63Anna Fali
1002Jeanfrancois Y FigeroaItaly2024-06-16Commercial Press PROPOSAL68Stephen Shaw
1003Murillo Q PerinFrance2024-06-22Feiner Bros RENEWAL36Amy Elsner
1004Maria X FigeroaBrazil2024-06-13Benton, John B Jr NEW50Asiya Javayant
1005Leja I BowleyBrazil2024-05-27King, Christopher A Esq QUALIFIED10Ivan Magalhaes
1006Aditya L RutaSpain2024-05-29Rangoni Of Florence PROPOSAL16Amy Elsner
1007Misaki U ButtItaly2024-06-20Dorl, James J Esq NEW95Ivan Magalhaes
1008Alejandro E WaycottArgentina2024-05-29Rousseaux, Michael Esq PROPOSAL17Amy Elsner
1009Isabel D CaldareraBrazil2024-05-27King, Christopher A Esq QUALIFIED21Amy Elsner
1010James H VenereCanada2024-06-12Commercial Press PROPOSAL33Ioni Bowcher
1011Adams F RimItaly2024-06-07Printing Dimensions PROPOSAL89Anna Fali
1012Costa J FerenczUnited Kingdom2024-06-21Chanay, Jeffrey A Esq PROPOSAL23Amy Elsner
1013Murillo G GauchoAustralia2024-05-28Printing Dimensions NEW92Bernardo Dominic
1014Ashley M NickaGermany2024-06-12Printing Dimensions NEGOTIATION31Asiya Javayant
1015Leon A DoeJapan2024-06-03Chanay, Jeffrey A Esq RENEWAL39Ioni Bowcher
1016Misaki O RutaFrance2024-06-11Feltz Printing Service RENEWAL59Amy Elsner
1017Nicolas A VocelkaIndia2024-06-19Printing Dimensions NEW3Amy Elsner
1018Mujtaba Z KolmetzAustralia2024-06-03Benton, John B Jr NEW93Xuxue Feng
1019Tony Y NickaGermany2024-06-20Printing Dimensions PROPOSAL22Onyama Limba
1020Adams G StockhamCanada2024-05-29Chanay, Jeffrey A Esq NEW99Onyama Limba
1021Ashley N WieserAustralia2024-06-08Commercial Press NEW27Stephen Shaw
1022Octavia T CampainGermany2024-06-04Buckley Miller Wright RENEWAL25Onyama Limba
1023Faith J DoeAustralia2024-06-11Rousseaux, Michael Esq NEW74Elwin Sharvill
1024Ricardo A RutaSpain2024-06-02Chanay, Jeffrey A Esq RENEWAL21Amy Elsner
1025Ivar F StockhamSpain2024-05-31Buckley Miller Wright RENEWAL17Ivan Magalhaes
1026Wickens M StockhamFrance2024-05-27Dorl, James J Esq PROPOSAL20Ioni Bowcher
1027Mujtaba Z KuskoAustralia2024-06-03Benton, John B Jr PROPOSAL11Anna Fali
1028Kaitlin V VenereJapan2024-05-31Commercial Press QUALIFIED72Anna Fali
1029Maisha T RulapaughGermany2024-06-11Buckley Miller Wright QUALIFIED38Stephen Shaw
1030Nicolas Y AlbaresItaly2024-05-30Morlong Associates NEW26Anna Fali
1031Leja A ChuiItaly2024-06-15Feltz Printing Service NEW77Asiya Javayant
1032Darci H KuskoRussia2024-06-19Dorl, James J Esq PROPOSAL91Elwin Sharvill
1033Smith E FerenczJapan2024-06-14Rangoni Of Florence NEGOTIATION14Ioni Bowcher
1034Julie T GlickGermany2024-05-25Feltz Printing Service NEGOTIATION61Ioni Bowcher
1035Alejandro U NestleFrance2024-06-20Buckley Miller Wright NEW99Stephen Shaw
1036Misaki V WhobreyJapan2024-06-09Commercial Press NEW77Anna Fali
1037Faith Z ChuiBrazil2024-06-13Commercial Press RENEWAL0Stephen Shaw
1038Aruna U KuskoArgentina2024-05-30Morlong Associates PROPOSAL80Onyama Limba
1039Arvin C OstroskyCanada2024-05-25Rousseaux, Michael Esq UNQUALIFIED4Stephen Shaw
1040Deepesh I KolmetzRussia2024-06-15Rangoni Of Florence RENEWAL14Onyama Limba
1041Ricardo E CampainFrance2024-06-21Rousseaux, Michael Esq QUALIFIED97Ioni Bowcher
1042Deepesh G DarakjyIndia2024-05-24Commercial Press NEW57Bernardo Dominic
1043Leja T FigeroaRussia2024-05-31Feltz Printing Service PROPOSAL68Onyama Limba
1044Rodrigues N TollnerBrazil2024-05-31Buckley Miller Wright NEGOTIATION65Anna Fali
1045Aruna Y FerenczFrance2024-06-04Commercial Press PROPOSAL30Ioni Bowcher
1046Kadeem V SchemmerArgentina2024-05-28Printing Dimensions NEW94Amy Elsner
1047Aika X BologniaGermany2024-06-10Truhlar And Truhlar Attys UNQUALIFIED40Xuxue Feng
1048Morrow L BologniaSpain2024-05-26Chanay, Jeffrey A Esq UNQUALIFIED89Amy Elsner
1049Julie I DarakjyItaly2024-06-19Commercial Press NEGOTIATION83Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Maria B FerenczGermanyIoni Bowcher RENEWAL
Adams Q WaycottArgentinaElwin Sharvill RENEWAL
David Y VenereIndiaStephen Shaw UNQUALIFIED
David R OldroydSpainElwin Sharvill NEW
Aruna B SlusarskiBrazilAmy Elsner QUALIFIED
Jones B IturbideCanadaStephen Shaw QUALIFIED
James D FollerArgentinaIoni Bowcher PROPOSAL
Clifford Z DoeBrazilBernardo Dominic UNQUALIFIED
Arvin J PerinItalyXuxue Feng NEGOTIATION
Stacey Q IturbideIndiaAmy Elsner NEGOTIATION
Salvatore Q WhobreyArgentinaStephen Shaw NEGOTIATION
Chavez A StensethIndiaAnna Fali NEGOTIATION
Izzy A StensethGermanyAsiya Javayant NEGOTIATION
Wickens B RoysterItalyBernardo Dominic RENEWAL
Leon J MaletIndiaStephen Shaw UNQUALIFIED
Munro R ChuiUnited KingdomAmy Elsner NEGOTIATION
Stacey M MorascaArgentinaBernardo Dominic PROPOSAL
Munro I FerenczGermanyElwin Sharvill QUALIFIED
Isabel G VenereCanadaOnyama Limba UNQUALIFIED
Mujtaba R RoysterBrazilXuxue Feng NEW
Aika W RulapaughUnited KingdomAsiya Javayant RENEWAL
Jones K PaprockiUnited KingdomElwin Sharvill PROPOSAL
Faith M RutaUnited KingdomElwin Sharvill NEGOTIATION
Francesco P ShinkoIndiaBernardo Dominic PROPOSAL
Stacey E CaldareraIndiaAnna Fali NEW
Jennifer Q KuskoIndiaAnna Fali QUALIFIED
Claire T MaletJapanOnyama Limba NEGOTIATION
Leja D BriddickRussiaStephen Shaw UNQUALIFIED
Aruna X VocelkaAustraliaStephen Shaw QUALIFIED
Alejandro P KolmetzBrazilIvan Magalhaes RENEWAL
David W NickaFranceXuxue Feng QUALIFIED
Salvatore J VenereSpainOnyama Limba PROPOSAL
Arvin M StensethBrazilAsiya Javayant NEGOTIATION
Silvio O StensethSpainXuxue Feng PROPOSAL
Mujtaba B MarrierCanadaElwin Sharvill NEGOTIATION
David C WieserSpainElwin Sharvill QUALIFIED
Salvatore K MarrierGermanyAsiya Javayant NEGOTIATION
Alejandro W RutaRussiaElwin Sharvill PROPOSAL
Jefferson W SaylorsArgentinaElwin Sharvill QUALIFIED
Salvatore F PaprockiRussiaElwin Sharvill NEW
Maisha U OstroskyGermanyIoni Bowcher NEGOTIATION
Izzy V NickaIndiaBernardo Dominic NEGOTIATION
Kaitlin Z AlbaresIndiaOnyama Limba NEW
James R DoeFranceXuxue Feng RENEWAL
Aruna D CaudyJapanXuxue Feng UNQUALIFIED
Julie O OstroskyGermanyStephen Shaw NEW
Jones Y WieserRussiaStephen Shaw RENEWAL
Silvio N ButtSpainAsiya Javayant RENEWAL
James M PaprockiSpainElwin Sharvill NEGOTIATION
Mujtaba B PoquetteBrazilAmy Elsner NEW
Frozen Columns
Name
Ashley M Inouye
Clifford R Rim
Aruna M Garufi
Smith H Morasca
Munro Q Stenseth
Adams G Venere
Francesco X Paprocki
Cody I Bolognia
Faith A Ruta
Aruna Z Nestle
Tony G Morasca
Francesco L Ferencz
Silvio H Ferencz
Misaki I Malet
Emily J Poquette
Kadeem J Paprocki
Silvio P Malet
Sinclair M Ostrosky
Claire G Inouye
Stacey O Gillian
Juan I Venere
Johnson X Perin
Isabel W Flosi
Deepesh N Inouye
Clifford I Caudy
Francesco J Kusko
James K Kolmetz
Francesco N Perin
Ricardo C Rulapaugh
Cody S Bowley
Octavia G Iturbide
Isabel B Whobrey
Morrow O Ostrosky
Darci U Bowley
Claire N Maclead
Morrow W Malet
Chavez F Kusko
Jeanfrancois Q Whobrey
Mujtaba I Ostrosky
Cody V Vocelka
Jones X Rim
Darci V Flosi
Jennifer M Poquette
Chavez X Kusko
Alejandro R Dilliard
Jeanfrancois Z Kusko
Cody W Caldarera
Costa F Butt
Chavez H Butt
Leon C Foller
IdCountryDate
1000Japan2024-06-22
1001Japan2024-06-01
1002Brazil2024-06-03
1003Italy2024-06-07
1004Russia2024-05-26
1005Brazil2024-05-26
1006Russia2024-06-20
1007Argentina2024-06-21
1008India2024-06-11
1009United Kingdom2024-06-03
1010Russia2024-06-09
1011United Kingdom2024-05-30
1012Russia2024-06-07
1013Russia2024-06-02
1014Germany2024-06-12
1015India2024-06-14
1016Australia2024-05-24
1017Canada2024-05-28
1018Brazil2024-06-17
1019Australia2024-06-07
1020Brazil2024-06-19
1021Spain2024-06-14
1022Canada2024-06-12
1023Canada2024-06-07
1024Spain2024-06-10
1025France2024-06-09
1026Spain2024-05-24
1027Germany2024-05-27
1028Italy2024-06-07
1029Italy2024-06-22
1030France2024-06-18
1031Canada2024-06-19
1032Argentina2024-06-09
1033Italy2024-06-12
1034Argentina2024-06-10
1035India2024-05-24
1036Brazil2024-06-12
1037Brazil2024-05-31
1038Brazil2024-06-04
1039Italy2024-06-16
1040Spain2024-05-25
1041Germany2024-06-20
1042Australia2024-06-01
1043Spain2024-05-28
1044Canada2024-05-30
1045United Kingdom2024-06-02
1046Italy2024-06-12
1047Italy2024-06-02
1048Brazil2024-06-10
1049United Kingdom2024-06-03

On-Demand Data

NameIdCountryDate
Silvio N Figeroa1000Germany2024-06-12
Ivar Q Garufi1001Canada2024-05-25
Maisha G Flosi1002Japan2024-05-27
Jones B Wieser1003Australia2024-05-30
Ashley N Ruta1004Brazil2024-06-01
Kadeem G Ferencz1005Italy2024-06-18
Costa J Chui1006Japan2024-06-14
Stacey F Campain1007Japan2024-06-22
Antonio V Malet1008Australia2024-06-07
Leja S Malet1009Russia2024-06-10
Kadeem V Sergi1010Germany2024-06-12
Leja S Amigon1011Spain2024-06-18
Mujtaba J Kolmetz1012Spain2024-06-04
Alejandro C Rulapaugh1013Spain2024-05-28
Aruna Z Saylors1014Brazil2024-06-03
Mayumi D Poquette1015United Kingdom2024-06-13
Arvin O Sergi1016India2024-06-11
Cody H Flosi1017Canada2024-05-27
Chavez G Doe1018United Kingdom2024-05-25
Morrow G Flosi1019Japan2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa K SchemmerIndiaXuxue Feng NEGOTIATION
Johnson L DilliardAustraliaBernardo Dominic UNQUALIFIED
Ricardo P KuskoBrazilOnyama Limba UNQUALIFIED
Julie B VocelkaRussiaXuxue Feng NEW
Sinclair J NickaArgentinaOnyama Limba RENEWAL
Jennifer J TollnerRussiaAmy Elsner QUALIFIED
Darci Q WieserJapanIvan Magalhaes NEGOTIATION
Stacey B BowleyUnited KingdomAmy Elsner PROPOSAL
Mujtaba B CaldareraJapanAnna Fali UNQUALIFIED
Arvin R CampainJapanAsiya Javayant RENEWAL
Izzy P GillianIndiaAnna Fali UNQUALIFIED
Jones Z AmigonSpainXuxue Feng NEGOTIATION
Jennifer X WaycottFranceStephen Shaw NEGOTIATION
Mayumi L InouyeUnited KingdomAmy Elsner RENEWAL
Greenwood E SchemmerArgentinaElwin Sharvill NEW
Wickens Q AmigonFranceAnna Fali QUALIFIED
Adams Q OldroydUnited KingdomAmy Elsner QUALIFIED
Morrow M GauchoRussiaAmy Elsner NEGOTIATION
Jefferson U CaldareraIndiaStephen Shaw QUALIFIED
Jennifer K FollerSpainAmy Elsner UNQUALIFIED
Emily W KolmetzGermanyElwin Sharvill NEGOTIATION
Octavia K SaylorsGermanyBernardo Dominic RENEWAL
Maisha E GillianGermanyElwin Sharvill RENEWAL
Alejandro M InouyeIndiaAmy Elsner QUALIFIED
Smith E RoysterIndiaAnna Fali RENEWAL
Jefferson C RoysterBrazilIvan Magalhaes NEGOTIATION
Darci H PoquetteCanadaAnna Fali PROPOSAL
Stacey F GauchoIndiaAnna Fali NEGOTIATION
Nicolas D FlosiSpainAsiya Javayant RENEWAL
Smith Y OstroskyUnited KingdomStephen Shaw PROPOSAL
Francesco H WaycottGermanyAnna Fali NEW
Wickens P DilliardUnited KingdomElwin Sharvill UNQUALIFIED
Jefferson C FollerBrazilOnyama Limba PROPOSAL
Silvio V RutaGermanyBernardo Dominic QUALIFIED
Aditya Q RoysterSpainAsiya Javayant NEW
Cody F DarakjySpainElwin Sharvill NEGOTIATION
Aika I MarrierAustraliaElwin Sharvill QUALIFIED
Francesco U InouyeRussiaAnna Fali QUALIFIED
Stacey F NestleCanadaElwin Sharvill NEW
James H RutaIndiaBernardo Dominic 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>