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
Jeanfrancois E IturbideIndiaAsiya Javayant RENEWAL
Juan B SergiRussiaStephen Shaw UNQUALIFIED
Jennifer C OstroskySpainXuxue Feng QUALIFIED
Mujtaba V ShinkoGermanyAsiya Javayant UNQUALIFIED
Francesco C SaylorsIndiaIoni Bowcher NEW
Jefferson P DilliardBrazilAnna Fali QUALIFIED
Rodrigues P InouyeIndiaIvan Magalhaes PROPOSAL
Jones O NestleUnited KingdomIoni Bowcher NEGOTIATION
Mayumi Y PerinCanadaAsiya Javayant NEW
Antonio I DoeGermanyXuxue Feng NEGOTIATION
Cody W GlickSpainIoni Bowcher NEGOTIATION
Salvatore G FerenczGermanyBernardo Dominic RENEWAL
Ashley F OstroskyBrazilIvan Magalhaes UNQUALIFIED
Clifford Z FerenczArgentinaAnna Fali NEW
Smith Y MarrierItalyAsiya Javayant NEGOTIATION
Maria B RimFranceIvan Magalhaes QUALIFIED
Jennifer M AmigonArgentinaAnna Fali NEW
Misaki M IturbideArgentinaStephen Shaw QUALIFIED
Emily U WaycottSpainIvan Magalhaes PROPOSAL
Ricardo O GillianAustraliaElwin Sharvill RENEWAL
Maria Z KolmetzIndiaAmy Elsner NEW
Misaki D InouyeRussiaStephen Shaw PROPOSAL
Mayumi B GillianAustraliaIoni Bowcher UNQUALIFIED
Darci Y PaprockiIndiaIoni Bowcher NEW
Leja I DarakjySpainElwin Sharvill NEGOTIATION
Izzy M AlbaresBrazilElwin Sharvill UNQUALIFIED
Izzy K PerinIndiaAnna Fali NEW
Izzy X StockhamItalyAsiya Javayant PROPOSAL
Johnson P MaletBrazilBernardo Dominic QUALIFIED
Adams K TollnerSpainAnna Fali NEGOTIATION
Costa J GlickJapanElwin Sharvill NEW
Ricardo L FlosiIndiaElwin Sharvill QUALIFIED
Mayumi S DarakjyUnited KingdomStephen Shaw UNQUALIFIED
Leja E MorascaRussiaIvan Magalhaes UNQUALIFIED
Costa B StockhamFranceBernardo Dominic NEW
Maria O AmigonItalyIvan Magalhaes QUALIFIED
Tony L DilliardFranceStephen Shaw QUALIFIED
Munro Z PerinAustraliaAsiya Javayant PROPOSAL
Murillo P PoquetteAustraliaIvan Magalhaes PROPOSAL
Faith X RutaJapanAnna Fali NEW
Ivar F NickaBrazilElwin Sharvill UNQUALIFIED
Munro D TollnerFranceIvan Magalhaes RENEWAL
Tony O PerinUnited KingdomIvan Magalhaes NEGOTIATION
Greenwood F TollnerUnited KingdomElwin Sharvill PROPOSAL
Murillo W WieserSpainStephen Shaw QUALIFIED
Francesco O RulapaughArgentinaAsiya Javayant RENEWAL
Ashley X KuskoArgentinaAsiya Javayant PROPOSAL
Darci Z NestleItalyElwin Sharvill UNQUALIFIED
Ashley N BologniaFranceIvan Magalhaes RENEWAL
Mayumi O DoeBrazilAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Arvin U GauchoGermanyAsiya Javayant UNQUALIFIED
Emily P GarufiArgentinaAsiya Javayant UNQUALIFIED
Murillo C GauchoSpainOnyama Limba NEW
Julie L DarakjyJapanAsiya Javayant UNQUALIFIED
Faith O InouyeGermanyIvan Magalhaes NEW
Julie Q KolmetzBrazilAnna Fali QUALIFIED
Emily P FerenczSpainIvan Magalhaes NEGOTIATION
Aruna P WhobreyBrazilIvan Magalhaes NEGOTIATION
Adams V SlusarskiArgentinaStephen Shaw NEW
Chavez V ButtAustraliaBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar Y VocelkaArgentina2025-06-07Truhlar And Truhlar Attys NEGOTIATION36Ivan Magalhaes
1001Ricardo Y SchemmerUnited Kingdom2025-05-24Morlong Associates NEW10Bernardo Dominic
1002Kadeem L DarakjyCanada2025-06-07King, Christopher A Esq PROPOSAL46Elwin Sharvill
1003Darci P IturbideAustralia2025-05-28Chapman, Ross E Esq NEW36Xuxue Feng
1004Misaki J AlbaresSpain2025-06-10Feltz Printing Service PROPOSAL25Asiya Javayant
1005Izzy F FigeroaGermany2025-05-24Morlong Associates NEW59Stephen Shaw
1006Maria E PoquetteCanada2025-06-01Buckley Miller Wright RENEWAL62Asiya Javayant
1007Ricardo K GillianIndia2025-06-07Morlong Associates RENEWAL85Elwin Sharvill
1008Mayumi X KuskoArgentina2025-05-20Dorl, James J Esq PROPOSAL55Onyama Limba
1009Juan U WaycottCanada2025-05-21King, Christopher A Esq RENEWAL91Elwin Sharvill
1010Jeanfrancois O MaletIndia2025-06-15Truhlar And Truhlar Attys NEGOTIATION7Ioni Bowcher
1011Isabel E StockhamSpain2025-06-15Feiner Bros NEW11Ivan Magalhaes
1012Octavia X StockhamItaly2025-06-05Truhlar And Truhlar Attys NEGOTIATION78Xuxue Feng
1013Aditya L BologniaAustralia2025-06-13Chemel, James L Cpa QUALIFIED40Ioni Bowcher
1014James P MarrierGermany2025-06-13Chapman, Ross E Esq NEW81Elwin Sharvill
1015Leon K StockhamIndia2025-06-09Morlong Associates PROPOSAL51Stephen Shaw
1016Salvatore F StensethIndia2025-06-09Chapman, Ross E Esq RENEWAL42Asiya Javayant
1017Deepesh U DoeArgentina2025-06-05Feiner Bros QUALIFIED98Elwin Sharvill
1018Kaitlin M ShinkoUnited Kingdom2025-06-02Benton, John B Jr NEW34Ioni Bowcher
1019Greenwood C OldroydBrazil2025-06-03Benton, John B Jr QUALIFIED32Bernardo Dominic
1020Darci J InouyeJapan2025-06-02Feiner Bros RENEWAL15Stephen Shaw
1021Antonio B RimCanada2025-06-09Feltz Printing Service PROPOSAL36Amy Elsner
1022Johnson M RutaCanada2025-06-05Feltz Printing Service QUALIFIED72Elwin Sharvill
1023Stacey O KuskoRussia2025-06-15Rangoni Of Florence QUALIFIED14Ivan Magalhaes
1024Leon H MaletArgentina2025-06-10Commercial Press UNQUALIFIED79Anna Fali
1025Nicolas J DarakjyIndia2025-05-21Truhlar And Truhlar Attys RENEWAL75Stephen Shaw
1026Jennifer E VenereJapan2025-06-15Chanay, Jeffrey A Esq PROPOSAL74Stephen Shaw
1027Sinclair D OstroskyJapan2025-06-15Printing Dimensions NEW68Stephen Shaw
1028James V SlusarskiJapan2025-05-28Chemel, James L Cpa UNQUALIFIED72Anna Fali
1029Juan R DoeFrance2025-05-30Chanay, Jeffrey A Esq RENEWAL13Bernardo Dominic
1030Juan L SaylorsAustralia2025-05-28Printing Dimensions PROPOSAL78Ioni Bowcher
1031Maria J GillianIndia2025-05-20Chanay, Jeffrey A Esq RENEWAL7Bernardo Dominic
1032Rodrigues Z DilliardGermany2025-06-14Rangoni Of Florence RENEWAL54Bernardo Dominic
1033Ashley H VocelkaCanada2025-06-07Printing Dimensions NEGOTIATION45Elwin Sharvill
1034Nicolas X FigeroaJapan2025-06-16Rangoni Of Florence PROPOSAL58Asiya Javayant
1035Francesco H TollnerFrance2025-05-27Rousseaux, Michael Esq RENEWAL84Stephen Shaw
1036Jennifer J WieserSpain2025-06-04Rousseaux, Michael Esq UNQUALIFIED37Amy Elsner
1037Faith C MorascaIndia2025-06-15Chanay, Jeffrey A Esq RENEWAL61Stephen Shaw
1038Juan U WhobreyItaly2025-06-02King, Christopher A Esq RENEWAL42Xuxue Feng
1039Stacey T OldroydGermany2025-06-14Morlong Associates QUALIFIED70Bernardo Dominic
1040David G StensethCanada2025-05-20Benton, John B Jr UNQUALIFIED47Amy Elsner
1041Aruna F BowleyAustralia2025-05-18Rangoni Of Florence PROPOSAL32Xuxue Feng
1042Jeanfrancois X DarakjySpain2025-05-24Dorl, James J Esq NEW44Amy Elsner
1043Jeanfrancois W SergiAustralia2025-06-01Chemel, James L Cpa PROPOSAL52Anna Fali
1044Mujtaba C MarrierAustralia2025-05-25Morlong Associates PROPOSAL42Bernardo Dominic
1045Aruna V BowleyIndia2025-05-24Chanay, Jeffrey A Esq PROPOSAL44Amy Elsner
1046James S MarrierGermany2025-06-05Printing Dimensions RENEWAL7Ioni Bowcher
1047Octavia S ButtItaly2025-06-03Commercial Press RENEWAL4Bernardo Dominic
1048Kadeem B GauchoAustralia2025-06-06Commercial Press QUALIFIED54Amy Elsner
1049Maisha L RulapaughCanada2025-06-10Dorl, James J Esq PROPOSAL66Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Chavez M BriddickArgentinaAsiya Javayant NEW
Munro V ChuiRussiaAmy Elsner QUALIFIED
Emily L PoquetteJapanIoni Bowcher RENEWAL
Jefferson A KolmetzBrazilIoni Bowcher QUALIFIED
Jones L KuskoCanadaElwin Sharvill UNQUALIFIED
Maria M InouyeBrazilXuxue Feng RENEWAL
Munro U VocelkaArgentinaStephen Shaw UNQUALIFIED
Ivar C StensethJapanXuxue Feng UNQUALIFIED
Jennifer Z FlosiGermanyAmy Elsner NEGOTIATION
Ashley D DoeAustraliaBernardo Dominic RENEWAL
Deepesh C IturbideCanadaAmy Elsner UNQUALIFIED
Ashley V GillianRussiaStephen Shaw NEW
Ivar Y MaletCanadaIoni Bowcher NEGOTIATION
Faith F CampainArgentinaElwin Sharvill PROPOSAL
Morrow P ButtRussiaOnyama Limba UNQUALIFIED
Antonio M MorascaAustraliaOnyama Limba PROPOSAL
Greenwood X RimFranceAmy Elsner RENEWAL
Kaitlin Q GauchoArgentinaStephen Shaw NEGOTIATION
Ivar Q KolmetzCanadaStephen Shaw RENEWAL
Maisha I FerenczIndiaAnna Fali RENEWAL
James S PoquetteBrazilIoni Bowcher UNQUALIFIED
Silvio D NickaArgentinaAmy Elsner RENEWAL
Murillo X WieserArgentinaStephen Shaw PROPOSAL
Jefferson I FollerIndiaStephen Shaw QUALIFIED
Johnson U GillianRussiaXuxue Feng RENEWAL
Munro T PoquetteAustraliaAsiya Javayant RENEWAL
Ivar J OldroydCanadaAmy Elsner UNQUALIFIED
Ricardo G AmigonSpainIoni Bowcher NEW
Stacey N AlbaresBrazilXuxue Feng RENEWAL
Misaki Y MacleadRussiaElwin Sharvill UNQUALIFIED
Morrow H ChuiArgentinaOnyama Limba UNQUALIFIED
Adams X SergiGermanyAnna Fali RENEWAL
Maisha S RimArgentinaAmy Elsner NEGOTIATION
Nicolas U DilliardFranceBernardo Dominic PROPOSAL
Claire X WhobreyIndiaAsiya Javayant NEGOTIATION
Aruna M RutaRussiaElwin Sharvill UNQUALIFIED
Darci P ButtFranceStephen Shaw QUALIFIED
Isabel U FigeroaIndiaIoni Bowcher QUALIFIED
Claire L WieserAustraliaBernardo Dominic UNQUALIFIED
Isabel N ShinkoUnited KingdomXuxue Feng PROPOSAL
Aruna X MaletIndiaAmy Elsner RENEWAL
Kaitlin K SlusarskiSpainXuxue Feng RENEWAL
Isabel L FerenczIndiaXuxue Feng PROPOSAL
Ricardo J GillianItalyOnyama Limba NEGOTIATION
Leja K SergiItalyIoni Bowcher NEW
Adams M KolmetzIndiaIvan Magalhaes NEW
Leja K OstroskySpainXuxue Feng NEW
Silvio U CaldareraUnited KingdomAsiya Javayant RENEWAL
Aruna O BowleySpainAnna Fali NEW
Claire W StockhamIndiaAmy Elsner NEW
Frozen Columns
Name
Deepesh P Saylors
David B Slusarski
Maria O Schemmer
Ashley N Malet
Claire K Wieser
Aruna Q Iturbide
Mujtaba J Malet
Munro H Schemmer
Tony W Shinko
Sinclair B Stockham
Stacey X Darakjy
Rodrigues I Inouye
Misaki E Foller
Salvatore Q Saylors
Greenwood A Malet
Kadeem G Rim
David A Royster
Arvin Y Maclead
Antonio E Poquette
Claire F Butt
Ivar U Rulapaugh
Aditya G Venere
Cody D Garufi
Stacey S Albares
Francesco E Caudy
Morrow C Stockham
Aditya J Gaucho
Arvin R Nicka
Claire R Paprocki
Izzy S Rulapaugh
Aditya U Marrier
Izzy C Gillian
Maisha S Wieser
Antonio J Chui
Darci E Perin
Arvin Y Briddick
Deepesh U Albares
Aruna O Sergi
Ivar E Ostrosky
Faith U Ostrosky
Kadeem D Rim
Claire P Nestle
Misaki F Darakjy
Francesco J Marrier
Kadeem R Figeroa
Smith H Royster
Munro H Caudy
Ricardo S Ostrosky
Emily C Ostrosky
Mujtaba F Perin
IdCountryDate
1000Italy2025-06-08
1001France2025-05-26
1002India2025-06-12
1003Australia2025-06-11
1004United Kingdom2025-05-24
1005India2025-05-18
1006Australia2025-05-29
1007India2025-06-06
1008Argentina2025-06-03
1009Argentina2025-06-06
1010Argentina2025-05-31
1011India2025-06-11
1012Canada2025-05-22
1013Argentina2025-06-01
1014Brazil2025-05-22
1015India2025-06-02
1016Brazil2025-06-16
1017Canada2025-05-20
1018France2025-06-02
1019United Kingdom2025-06-03
1020Italy2025-06-04
1021Spain2025-06-15
1022India2025-06-04
1023India2025-06-09
1024Australia2025-06-06
1025Italy2025-05-28
1026Japan2025-06-04
1027Japan2025-06-03
1028Russia2025-06-08
1029Brazil2025-06-12
1030France2025-06-16
1031Germany2025-05-30
1032Russia2025-05-19
1033Canada2025-06-06
1034Germany2025-05-28
1035Australia2025-05-22
1036Argentina2025-05-21
1037Spain2025-05-30
1038Argentina2025-05-27
1039Russia2025-06-11
1040Brazil2025-06-11
1041Russia2025-06-06
1042Italy2025-06-02
1043Spain2025-05-27
1044Canada2025-06-03
1045Japan2025-05-31
1046India2025-05-30
1047India2025-05-30
1048United Kingdom2025-06-01
1049Australia2025-06-04

On-Demand Data

NameIdCountryDate
Deepesh U Stockham1000India2025-06-11
Jones G Glick1001Australia2025-05-23
David I Perin1002Russia2025-05-27
Jeanfrancois H Nestle1003France2025-05-25
Ricardo A Gaucho1004United Kingdom2025-06-12
Antonio S Venere1005Spain2025-06-11
Ivar U Flosi1006Argentina2025-05-23
Isabel D Doe1007France2025-06-12
David X Doe1008Germany2025-06-10
Clifford U Paprocki1009Spain2025-05-23
James F Rim1010Russia2025-05-27
Chavez L Bowley1011Australia2025-05-30
Kaitlin D Saylors1012Russia2025-06-11
Julie I Albares1013Italy2025-06-10
Morrow R Nicka1014Japan2025-06-11
Ricardo L Garufi1015India2025-05-28
Isabel T Morasca1016Russia2025-06-08
David Z Caldarera1017France2025-05-23
Smith N Ostrosky1018Australia2025-06-02
Francesco V Flosi1019Brazil2025-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem K SlusarskiArgentinaElwin Sharvill UNQUALIFIED
Mayumi V MaletAustraliaStephen Shaw NEGOTIATION
Deepesh W AlbaresItalyXuxue Feng PROPOSAL
James B MaletGermanyAmy Elsner NEGOTIATION
Ivar Y FollerBrazilIvan Magalhaes QUALIFIED
Tony P RulapaughJapanAmy Elsner RENEWAL
Aika F DarakjyBrazilStephen Shaw RENEWAL
Francesco H BriddickJapanIvan Magalhaes NEGOTIATION
Johnson U MarrierAustraliaElwin Sharvill UNQUALIFIED
Aruna C AmigonGermanyStephen Shaw QUALIFIED
Rodrigues X SaylorsFranceOnyama Limba NEGOTIATION
Stacey S GauchoAustraliaElwin Sharvill PROPOSAL
Jones T DoeItalyBernardo Dominic NEGOTIATION
Leja S MorascaUnited KingdomOnyama Limba UNQUALIFIED
Maria S PaprockiCanadaOnyama Limba NEGOTIATION
Ricardo P GauchoGermanyElwin Sharvill NEW
Francesco T SergiGermanyElwin Sharvill NEW
Rodrigues R AlbaresArgentinaAnna Fali QUALIFIED
Stacey H PoquetteBrazilIoni Bowcher RENEWAL
Claire D PerinAustraliaOnyama Limba NEW
Deepesh M FerenczBrazilIvan Magalhaes QUALIFIED
Smith N VenereAustraliaOnyama Limba QUALIFIED
Jefferson T CaudyJapanBernardo Dominic QUALIFIED
Maisha D FlosiItalyAmy Elsner QUALIFIED
Adams L KuskoSpainAmy Elsner NEGOTIATION
Stacey F NickaBrazilIoni Bowcher NEGOTIATION
Isabel I SaylorsRussiaXuxue Feng NEGOTIATION
Johnson G SchemmerCanadaElwin Sharvill RENEWAL
Francesco S KuskoRussiaXuxue Feng UNQUALIFIED
Morrow E OstroskyRussiaElwin Sharvill QUALIFIED
Smith Q GillianSpainStephen Shaw RENEWAL
Arvin R VocelkaAustraliaAnna Fali UNQUALIFIED
Ivar A PoquetteFranceXuxue Feng RENEWAL
Ivar O StockhamFranceAnna Fali RENEWAL
Faith Q PerinIndiaIoni Bowcher RENEWAL
Octavia Z KolmetzIndiaXuxue Feng RENEWAL
James L SergiIndiaElwin Sharvill RENEWAL
Julie U PerinRussiaIoni Bowcher NEW
Tony B OldroydRussiaAmy Elsner QUALIFIED
Ashley K ChuiFranceBernardo Dominic 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>