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
Izzy D RimSpainXuxue Feng NEGOTIATION
Adams H DarakjySpainIoni Bowcher PROPOSAL
Leja A RutaCanadaBernardo Dominic RENEWAL
Ashley D SlusarskiIndiaAmy Elsner NEW
Deepesh O RutaBrazilAmy Elsner PROPOSAL
Wickens G OldroydAustraliaElwin Sharvill UNQUALIFIED
Alejandro N GillianRussiaAmy Elsner UNQUALIFIED
Chavez V ShinkoJapanOnyama Limba RENEWAL
Antonio M FlosiFranceStephen Shaw NEW
Silvio G WieserBrazilIvan Magalhaes QUALIFIED
Sinclair I AlbaresIndiaAmy Elsner NEGOTIATION
Rodrigues W MaletCanadaStephen Shaw QUALIFIED
Mujtaba T SergiFranceXuxue Feng RENEWAL
Rodrigues A SlusarskiFranceAnna Fali QUALIFIED
Darci C FerenczCanadaIoni Bowcher NEGOTIATION
Arvin E NickaUnited KingdomBernardo Dominic NEW
Jones E KolmetzJapanStephen Shaw NEGOTIATION
Deepesh M PoquetteGermanyAsiya Javayant NEW
Johnson I PerinBrazilAnna Fali RENEWAL
Chavez Y RoysterGermanyXuxue Feng RENEWAL
Deepesh N MarrierIndiaOnyama Limba UNQUALIFIED
Mujtaba L ChuiUnited KingdomAmy Elsner PROPOSAL
Maria E CaudyFranceBernardo Dominic QUALIFIED
Octavia D WhobreyArgentinaOnyama Limba NEGOTIATION
Leja J RutaItalyAmy Elsner QUALIFIED
Izzy A WieserFranceStephen Shaw UNQUALIFIED
Francesco P RutaArgentinaAsiya Javayant PROPOSAL
Leon H CaldareraGermanyXuxue Feng PROPOSAL
Antonio K StockhamRussiaXuxue Feng QUALIFIED
Julie Z StensethRussiaBernardo Dominic QUALIFIED
Nicolas L KolmetzIndiaIoni Bowcher NEW
Isabel O VocelkaIndiaIoni Bowcher NEGOTIATION
Arvin R NickaBrazilBernardo Dominic PROPOSAL
Emily P InouyeBrazilOnyama Limba RENEWAL
Rodrigues D NickaGermanyXuxue Feng RENEWAL
Mujtaba A BriddickFranceAmy Elsner NEGOTIATION
Jefferson H CampainJapanElwin Sharvill RENEWAL
Leon N SergiJapanStephen Shaw NEGOTIATION
Wickens S SchemmerGermanyStephen Shaw UNQUALIFIED
Kaitlin X WaycottBrazilBernardo Dominic NEW
Emily I BologniaArgentinaAsiya Javayant QUALIFIED
Jones L ChuiSpainElwin Sharvill UNQUALIFIED
Ashley G ButtItalyIvan Magalhaes PROPOSAL
Clifford C TollnerSpainOnyama Limba RENEWAL
Jefferson O RulapaughJapanStephen Shaw UNQUALIFIED
Tony X GarufiJapanXuxue Feng RENEWAL
Rodrigues T WieserJapanAsiya Javayant UNQUALIFIED
James U SaylorsRussiaXuxue Feng NEGOTIATION
Wickens W GlickIndiaAnna Fali NEGOTIATION
Tony H ChuiCanadaAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Octavia E SaylorsGermanyAsiya Javayant RENEWAL
Aditya H WieserGermanyAsiya Javayant PROPOSAL
Izzy K PoquetteBrazilXuxue Feng NEW
Isabel D CaudyFranceIvan Magalhaes PROPOSAL
Salvatore Y BriddickCanadaAmy Elsner UNQUALIFIED
Rodrigues J StensethGermanyIvan Magalhaes NEGOTIATION
Emily Q OldroydFranceOnyama Limba NEGOTIATION
David I ButtCanadaIoni Bowcher QUALIFIED
Stacey F OstroskyJapanStephen Shaw NEGOTIATION
James Y GillianGermanyIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith Z DoeCanada2024-05-17Rousseaux, Michael Esq RENEWAL97Elwin Sharvill
1001Aruna D StockhamSpain2024-05-24Benton, John B Jr RENEWAL93Anna Fali
1002Arvin Q CampainJapan2024-06-13Commercial Press RENEWAL67Asiya Javayant
1003Maisha H NickaFrance2024-06-04Rousseaux, Michael Esq PROPOSAL7Anna Fali
1004Chavez D VenereJapan2024-06-11Dorl, James J Esq UNQUALIFIED74Stephen Shaw
1005Isabel K VenereGermany2024-05-26Chanay, Jeffrey A Esq NEW69Elwin Sharvill
1006Murillo R GlickItaly2024-05-29Chemel, James L Cpa UNQUALIFIED28Ivan Magalhaes
1007Nicolas Y GillianFrance2024-05-24Benton, John B Jr RENEWAL54Xuxue Feng
1008Francesco Y OstroskyAustralia2024-05-31Printing Dimensions QUALIFIED62Xuxue Feng
1009Stacey H AmigonRussia2024-06-13Feltz Printing Service RENEWAL92Ioni Bowcher
1010Arvin I GillianGermany2024-06-09Buckley Miller Wright NEW2Ivan Magalhaes
1011Morrow K MaletAustralia2024-06-10Buckley Miller Wright QUALIFIED15Ivan Magalhaes
1012Adams G SlusarskiBrazil2024-05-19Feiner Bros PROPOSAL2Bernardo Dominic
1013Deepesh G VenereAustralia2024-05-17Morlong Associates NEW47Onyama Limba
1014Silvio Z CaudyIndia2024-06-11Feltz Printing Service PROPOSAL64Anna Fali
1015Sinclair S VenereBrazil2024-06-15Rangoni Of Florence RENEWAL92Xuxue Feng
1016Claire T VocelkaBrazil2024-06-01Rousseaux, Michael Esq QUALIFIED37Anna Fali
1017Adams B VocelkaArgentina2024-05-31Feltz Printing Service RENEWAL89Asiya Javayant
1018Ivar N BriddickJapan2024-06-15Truhlar And Truhlar Attys RENEWAL12Xuxue Feng
1019Darci W InouyeItaly2024-05-21Commercial Press UNQUALIFIED80Anna Fali
1020Silvio C SergiFrance2024-05-20Commercial Press PROPOSAL43Xuxue Feng
1021Maria N PoquetteGermany2024-05-24Rousseaux, Michael Esq PROPOSAL75Bernardo Dominic
1022Nicolas O ChuiIndia2024-05-23Feiner Bros PROPOSAL50Onyama Limba
1023Murillo X ButtSpain2024-06-02Buckley Miller Wright UNQUALIFIED37Ivan Magalhaes
1024Kaitlin J OstroskyAustralia2024-06-13Morlong Associates NEGOTIATION93Amy Elsner
1025Mujtaba A InouyeSpain2024-06-07Benton, John B Jr NEGOTIATION33Amy Elsner
1026Jones A MaletGermany2024-06-03Truhlar And Truhlar Attys RENEWAL76Ioni Bowcher
1027Silvio C TollnerAustralia2024-05-25Chanay, Jeffrey A Esq QUALIFIED24Anna Fali
1028Leja P RoysterJapan2024-06-01Buckley Miller Wright NEW74Amy Elsner
1029Wickens Z BologniaItaly2024-05-23Commercial Press PROPOSAL68Ivan Magalhaes
1030Maisha M MorascaArgentina2024-05-27Dorl, James J Esq NEGOTIATION29Onyama Limba
1031Aika S StensethRussia2024-06-06Printing Dimensions NEGOTIATION29Asiya Javayant
1032Jones Q MaletBrazil2024-06-06Printing Dimensions PROPOSAL90Amy Elsner
1033Leja G WieserFrance2024-05-21Printing Dimensions QUALIFIED44Onyama Limba
1034Salvatore F ShinkoSpain2024-05-19Printing Dimensions NEGOTIATION34Elwin Sharvill
1035Clifford Z WieserCanada2024-05-31Chapman, Ross E Esq QUALIFIED2Anna Fali
1036Darci I TollnerArgentina2024-06-07Feltz Printing Service RENEWAL89Asiya Javayant
1037Nicolas N DoeUnited Kingdom2024-06-11Dorl, James J Esq NEW23Amy Elsner
1038Aditya W NickaItaly2024-05-27Feiner Bros PROPOSAL36Stephen Shaw
1039Leja G NickaSpain2024-06-07Chanay, Jeffrey A Esq NEGOTIATION13Amy Elsner
1040Murillo F RoysterJapan2024-06-13Buckley Miller Wright UNQUALIFIED3Asiya Javayant
1041Munro M WieserRussia2024-05-25Feiner Bros RENEWAL59Asiya Javayant
1042Misaki Z BowleyUnited Kingdom2024-05-28King, Christopher A Esq PROPOSAL19Onyama Limba
1043Smith Y WaycottGermany2024-06-05Feiner Bros UNQUALIFIED96Anna Fali
1044Ricardo G RulapaughBrazil2024-05-27Dorl, James J Esq UNQUALIFIED23Ioni Bowcher
1045David Z SaylorsRussia2024-06-02Rangoni Of Florence RENEWAL58Anna Fali
1046Julie X OstroskyUnited Kingdom2024-05-22Rousseaux, Michael Esq PROPOSAL42Elwin Sharvill
1047Deepesh H RimCanada2024-06-07Feltz Printing Service QUALIFIED34Bernardo Dominic
1048Nicolas J SlusarskiRussia2024-06-06Buckley Miller Wright PROPOSAL65Bernardo Dominic
1049Clifford S MarrierArgentina2024-06-02Rangoni Of Florence UNQUALIFIED80Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Antonio E CaudyGermanyAnna Fali RENEWAL
Kaitlin R DarakjyIndiaOnyama Limba NEW
Murillo E SaylorsBrazilIoni Bowcher NEW
Antonio U BologniaAustraliaElwin Sharvill NEW
Tony X SergiGermanyAmy Elsner RENEWAL
Ashley P IturbideAustraliaXuxue Feng PROPOSAL
Kaitlin Y IturbideGermanyBernardo Dominic QUALIFIED
Sinclair F AlbaresItalyStephen Shaw RENEWAL
Aruna B BowleyCanadaIvan Magalhaes UNQUALIFIED
Ricardo L MarrierSpainBernardo Dominic QUALIFIED
Adams B MarrierRussiaIoni Bowcher QUALIFIED
Smith G VenereIndiaIoni Bowcher QUALIFIED
Ivar U MaletAustraliaIoni Bowcher QUALIFIED
Aika X KuskoFranceIvan Magalhaes NEGOTIATION
Alejandro C WhobreyArgentinaIvan Magalhaes RENEWAL
Mujtaba M StockhamGermanyXuxue Feng RENEWAL
Claire J KuskoSpainElwin Sharvill UNQUALIFIED
Maisha K OstroskyCanadaOnyama Limba QUALIFIED
Leon T StensethRussiaAnna Fali NEW
James J VocelkaItalyAmy Elsner PROPOSAL
Mujtaba B InouyeIndiaAnna Fali NEGOTIATION
Maisha D GauchoGermanyOnyama Limba PROPOSAL
Clifford K IturbideUnited KingdomStephen Shaw RENEWAL
Alejandro F MaletRussiaIvan Magalhaes NEGOTIATION
Cody P OstroskyGermanyIoni Bowcher UNQUALIFIED
Misaki C NestleBrazilAsiya Javayant RENEWAL
David O DoeRussiaAmy Elsner NEW
David I WhobreyGermanyElwin Sharvill QUALIFIED
Alejandro C CaldareraBrazilXuxue Feng UNQUALIFIED
Tony A InouyeGermanyAmy Elsner UNQUALIFIED
Jennifer H RutaItalyIoni Bowcher UNQUALIFIED
Mujtaba H ShinkoCanadaIoni Bowcher NEW
Darci X SchemmerArgentinaIoni Bowcher QUALIFIED
Isabel H CaudySpainAsiya Javayant PROPOSAL
Ivar Q SergiCanadaAmy Elsner NEGOTIATION
Deepesh B PoquetteSpainAmy Elsner NEW
Aruna H AlbaresArgentinaAsiya Javayant UNQUALIFIED
Kadeem A DoeItalyBernardo Dominic PROPOSAL
Stacey J BriddickUnited KingdomIvan Magalhaes UNQUALIFIED
Arvin Z GlickRussiaOnyama Limba NEW
David M MorascaItalyIvan Magalhaes UNQUALIFIED
Silvio P RoysterIndiaElwin Sharvill UNQUALIFIED
Faith L PaprockiFranceElwin Sharvill NEW
Jones N RutaIndiaOnyama Limba UNQUALIFIED
Aika F VocelkaGermanyElwin Sharvill UNQUALIFIED
Octavia W SchemmerBrazilXuxue Feng QUALIFIED
Francesco O MaletAustraliaIvan Magalhaes NEW
Maisha I GlickCanadaStephen Shaw PROPOSAL
Isabel K MaletArgentinaBernardo Dominic NEGOTIATION
Smith T PerinSpainBernardo Dominic RENEWAL
Frozen Columns
Name
Deepesh Y Albares
Antonio M Gaucho
Deepesh U Nestle
Cody K Wieser
Emily R Royster
Jefferson D Ostrosky
Maisha D Shinko
Cody R Figeroa
Stacey R Caudy
Maria N Sergi
Faith V Perin
Kaitlin Y Perin
Wickens G Inouye
Izzy G Rim
Izzy M Waycott
Darci F Schemmer
Arvin O Gillian
Wickens F Caldarera
Leja S Waycott
James I Figeroa
Maisha N Morasca
Cody X Stockham
Jennifer F Malet
Silvio O Stenseth
Isabel H Gillian
Cody T Rulapaugh
Silvio D Amigon
Sinclair R Kolmetz
Deepesh G Poquette
Faith G Glick
Wickens A Foller
Tony P Schemmer
Mujtaba U Inouye
Darci W Oldroyd
Munro N Poquette
Mujtaba H Nestle
Julie B Kolmetz
Leja P Stenseth
Claire I Rim
Izzy L Bowley
Greenwood G Royster
Darci B Rim
Morrow M Royster
Johnson Q Chui
Kadeem F Foller
Rodrigues P Paprocki
Adams T Kusko
Johnson N Briddick
Juan P Whobrey
Faith K Stockham
IdCountryDate
1000Spain2024-06-10
1001India2024-06-13
1002Canada2024-06-06
1003Argentina2024-06-05
1004Argentina2024-05-23
1005Japan2024-06-14
1006Germany2024-06-08
1007United Kingdom2024-06-11
1008Russia2024-05-28
1009Australia2024-06-07
1010Japan2024-05-30
1011Japan2024-05-26
1012Argentina2024-06-03
1013Argentina2024-05-18
1014Japan2024-05-25
1015Germany2024-05-17
1016Brazil2024-05-21
1017Japan2024-05-29
1018Canada2024-05-20
1019Germany2024-06-07
1020India2024-05-29
1021Russia2024-05-18
1022India2024-06-04
1023Spain2024-05-20
1024Australia2024-06-03
1025India2024-06-03
1026Argentina2024-06-13
1027Japan2024-05-19
1028Germany2024-05-19
1029Brazil2024-06-08
1030Spain2024-05-20
1031Russia2024-05-24
1032Brazil2024-05-30
1033Canada2024-06-10
1034Australia2024-06-04
1035Japan2024-06-03
1036Japan2024-05-22
1037France2024-06-05
1038Canada2024-05-17
1039India2024-05-18
1040Italy2024-06-01
1041France2024-05-26
1042Argentina2024-06-05
1043France2024-05-24
1044Spain2024-06-02
1045Argentina2024-06-07
1046Brazil2024-05-25
1047India2024-06-09
1048Canada2024-05-19
1049India2024-06-11

On-Demand Data

NameIdCountryDate
Salvatore J Briddick1000Russia2024-06-14
Darci R Rim1001India2024-05-29
Stacey S Sergi1002Japan2024-06-10
Greenwood G Paprocki1003Argentina2024-05-27
Claire C Saylors1004Russia2024-06-12
Alejandro W Oldroyd1005Brazil2024-05-29
Octavia J Stockham1006Japan2024-06-04
Munro G Malet1007Japan2024-05-28
Octavia I Caldarera1008Brazil2024-06-08
Silvio O Bowley1009Australia2024-06-04
Antonio K Venere1010Canada2024-05-25
Faith P Briddick1011Germany2024-06-07
Mujtaba J Rim1012Australia2024-06-04
Juan A Shinko1013Brazil2024-05-26
Deepesh K Kolmetz1014Italy2024-06-07
Maria Z Slusarski1015Argentina2024-06-11
Deepesh V Glick1016Brazil2024-06-06
Sinclair I Slusarski1017Argentina2024-05-24
Ricardo N Glick1018Japan2024-05-29
Chavez E Amigon1019Japan2024-05-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha U SchemmerIndiaAsiya Javayant NEGOTIATION
Wickens L AlbaresItalyAsiya Javayant UNQUALIFIED
Maisha F DilliardSpainAnna Fali PROPOSAL
Jones C RutaJapanOnyama Limba PROPOSAL
Deepesh Y InouyeSpainStephen Shaw UNQUALIFIED
Aditya W StensethRussiaIoni Bowcher NEGOTIATION
Darci S RulapaughArgentinaIvan Magalhaes NEGOTIATION
Claire S BologniaRussiaXuxue Feng UNQUALIFIED
Antonio C InouyeJapanBernardo Dominic QUALIFIED
Johnson Q BowleyFranceAmy Elsner NEW
Mujtaba W MaletItalyStephen Shaw UNQUALIFIED
Nicolas C SaylorsCanadaBernardo Dominic RENEWAL
Nicolas X StockhamJapanAnna Fali QUALIFIED
Cody D GarufiFranceOnyama Limba QUALIFIED
Mayumi N CaldareraUnited KingdomElwin Sharvill RENEWAL
Leon T DarakjySpainXuxue Feng RENEWAL
Chavez X GauchoGermanyBernardo Dominic UNQUALIFIED
Stacey Z VocelkaSpainStephen Shaw NEW
David W ButtAustraliaAmy Elsner UNQUALIFIED
Kaitlin S WaycottSpainAsiya Javayant NEGOTIATION
Kaitlin G SlusarskiJapanXuxue Feng NEGOTIATION
Ricardo F AlbaresIndiaAsiya Javayant NEGOTIATION
Munro F FerenczGermanyIvan Magalhaes NEGOTIATION
Murillo P OstroskyBrazilAsiya Javayant RENEWAL
Smith K PerinIndiaElwin Sharvill NEW
Costa Q FerenczItalyXuxue Feng PROPOSAL
Smith P VenereJapanOnyama Limba RENEWAL
Leon N RulapaughBrazilIoni Bowcher RENEWAL
Mayumi C BriddickUnited KingdomStephen Shaw NEGOTIATION
Smith C MorascaIndiaIoni Bowcher NEW
Juan D VocelkaAustraliaAsiya Javayant QUALIFIED
Mayumi E NickaItalyBernardo Dominic RENEWAL
Clifford G DoeBrazilAnna Fali PROPOSAL
Jennifer I GauchoArgentinaOnyama Limba PROPOSAL
Costa Z SaylorsSpainIoni Bowcher NEW
Alejandro R KolmetzCanadaAmy Elsner NEGOTIATION
Deepesh D StockhamAustraliaStephen Shaw NEGOTIATION
Sinclair L InouyeBrazilBernardo Dominic NEW
Maisha T VenereUnited KingdomOnyama Limba PROPOSAL
Aruna K CaudyJapanAmy Elsner 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>