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 T DoeFranceStephen Shaw QUALIFIED
Claire F StockhamJapanBernardo Dominic QUALIFIED
Leon E DoeGermanyIvan Magalhaes RENEWAL
Julie D ShinkoBrazilIvan Magalhaes NEGOTIATION
Morrow B WhobreyItalyAnna Fali UNQUALIFIED
Alejandro M CaldareraRussiaStephen Shaw RENEWAL
Aika I PoquetteAustraliaStephen Shaw NEW
Antonio A MorascaBrazilElwin Sharvill QUALIFIED
Smith X CampainItalyXuxue Feng PROPOSAL
Jeanfrancois C KolmetzGermanyOnyama Limba PROPOSAL
Costa V AmigonCanadaStephen Shaw UNQUALIFIED
Smith C CampainItalyElwin Sharvill QUALIFIED
Antonio C OstroskySpainOnyama Limba UNQUALIFIED
Julie L MorascaUnited KingdomIoni Bowcher NEW
Murillo M GillianBrazilAnna Fali QUALIFIED
Nicolas L NickaItalyOnyama Limba NEW
Kaitlin Y ButtJapanBernardo Dominic PROPOSAL
James K InouyeFranceAsiya Javayant PROPOSAL
Kadeem B MaletAustraliaStephen Shaw NEW
Deepesh J BowleyJapanAmy Elsner PROPOSAL
Aditya J CampainArgentinaStephen Shaw QUALIFIED
Aditya F KolmetzItalyIvan Magalhaes UNQUALIFIED
James O KolmetzFranceAmy Elsner UNQUALIFIED
Francesco O RimArgentinaIvan Magalhaes QUALIFIED
Jefferson H StockhamRussiaAmy Elsner PROPOSAL
Wickens Y SlusarskiCanadaAnna Fali UNQUALIFIED
Morrow S InouyeArgentinaOnyama Limba NEW
Izzy Y OstroskyGermanyXuxue Feng PROPOSAL
Ivar F CaudySpainIvan Magalhaes UNQUALIFIED
Maisha N GillianCanadaAmy Elsner RENEWAL
Nicolas O RoysterIndiaStephen Shaw RENEWAL
Adams D BriddickIndiaAnna Fali QUALIFIED
David X SlusarskiFranceAsiya Javayant PROPOSAL
Aditya Q SlusarskiIndiaXuxue Feng PROPOSAL
Leon Q DoeCanadaAsiya Javayant UNQUALIFIED
Salvatore N TollnerAustraliaStephen Shaw QUALIFIED
Kaitlin I GarufiArgentinaAnna Fali NEGOTIATION
Leon V KuskoGermanyAmy Elsner NEW
Morrow K ButtCanadaAmy Elsner PROPOSAL
Aditya H SergiUnited KingdomOnyama Limba RENEWAL
Mujtaba E GillianJapanIvan Magalhaes RENEWAL
Jennifer T SchemmerGermanyStephen Shaw UNQUALIFIED
Johnson F DilliardCanadaAsiya Javayant RENEWAL
Mayumi Q RulapaughIndiaStephen Shaw QUALIFIED
Antonio J ChuiFranceIvan Magalhaes NEW
Wickens F RoysterJapanAnna Fali RENEWAL
Octavia I OstroskyUnited KingdomElwin Sharvill UNQUALIFIED
Claire J GlickGermanyXuxue Feng RENEWAL
Aruna C OstroskySpainAsiya Javayant QUALIFIED
Kadeem H WhobreyIndiaBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ivar X GlickRussiaXuxue Feng PROPOSAL
Murillo W AmigonIndiaElwin Sharvill NEW
Maria G FigeroaItalyBernardo Dominic UNQUALIFIED
Smith R ButtGermanyAsiya Javayant UNQUALIFIED
Rodrigues G VocelkaIndiaAmy Elsner NEGOTIATION
Costa L OstroskyArgentinaStephen Shaw NEW
Salvatore D CampainItalyElwin Sharvill PROPOSAL
Isabel E SaylorsAustraliaAmy Elsner UNQUALIFIED
James L RimUnited KingdomAnna Fali PROPOSAL
Alejandro J CaudyJapanIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy U RimGermany2024-06-21Benton, John B Jr PROPOSAL32Ivan Magalhaes
1001Maisha W DoeCanada2024-05-30Chanay, Jeffrey A Esq QUALIFIED6Xuxue Feng
1002Jefferson V IturbideRussia2024-06-10Morlong Associates NEW44Bernardo Dominic
1003Ashley F ButtRussia2024-06-15King, Christopher A Esq RENEWAL27Onyama Limba
1004Ashley L SlusarskiBrazil2024-06-03Buckley Miller Wright RENEWAL9Onyama Limba
1005Francesco R ChuiFrance2024-06-19Chemel, James L Cpa UNQUALIFIED90Amy Elsner
1006Francesco L KolmetzGermany2024-06-01Morlong Associates NEW18Amy Elsner
1007Rodrigues P SlusarskiGermany2024-06-02Feiner Bros RENEWAL79Xuxue Feng
1008Clifford J ButtArgentina2024-06-13King, Christopher A Esq PROPOSAL11Elwin Sharvill
1009Izzy E NestleAustralia2024-06-18Feiner Bros UNQUALIFIED34Anna Fali
1010Nicolas W AmigonCanada2024-05-31Truhlar And Truhlar Attys PROPOSAL37Asiya Javayant
1011Munro D NestleArgentina2024-06-13Truhlar And Truhlar Attys QUALIFIED43Anna Fali
1012Leja P SlusarskiUnited Kingdom2024-06-08Benton, John B Jr UNQUALIFIED33Stephen Shaw
1013Maisha I ChuiArgentina2024-06-16Rangoni Of Florence NEGOTIATION6Ioni Bowcher
1014David L ButtItaly2024-05-25Feiner Bros PROPOSAL99Elwin Sharvill
1015Isabel B ButtCanada2024-05-30Chemel, James L Cpa RENEWAL30Anna Fali
1016Cody E IturbideFrance2024-06-03Morlong Associates NEW75Onyama Limba
1017Murillo I WieserArgentina2024-05-30Feltz Printing Service NEW22Asiya Javayant
1018Emily F NestleFrance2024-06-10Chemel, James L Cpa RENEWAL90Asiya Javayant
1019Greenwood Z TollnerFrance2024-05-27Buckley Miller Wright UNQUALIFIED14Stephen Shaw
1020Izzy H SaylorsAustralia2024-06-04Commercial Press QUALIFIED44Stephen Shaw
1021Greenwood Z InouyeArgentina2024-05-29Benton, John B Jr NEGOTIATION58Anna Fali
1022Antonio K TollnerIndia2024-06-04Benton, John B Jr PROPOSAL49Ioni Bowcher
1023Leon Z DoeJapan2024-06-10King, Christopher A Esq PROPOSAL54Anna Fali
1024Juan M InouyeUnited Kingdom2024-06-17King, Christopher A Esq NEW55Bernardo Dominic
1025Mayumi G PoquetteBrazil2024-06-18Rousseaux, Michael Esq QUALIFIED79Elwin Sharvill
1026Nicolas H CaldareraCanada2024-06-09Chanay, Jeffrey A Esq NEW35Onyama Limba
1027Munro T GlickGermany2024-05-30Chemel, James L Cpa UNQUALIFIED68Xuxue Feng
1028Aika J PoquetteJapan2024-05-28Printing Dimensions NEGOTIATION78Stephen Shaw
1029Octavia G GillianCanada2024-05-27Feltz Printing Service QUALIFIED60Elwin Sharvill
1030Johnson C SlusarskiAustralia2024-06-17Chemel, James L Cpa NEGOTIATION3Anna Fali
1031Izzy Y IturbideAustralia2024-06-08Benton, John B Jr RENEWAL99Anna Fali
1032Claire M GauchoArgentina2024-06-06Rangoni Of Florence UNQUALIFIED95Xuxue Feng
1033Maisha A FigeroaRussia2024-06-04King, Christopher A Esq PROPOSAL1Asiya Javayant
1034Jones A KolmetzGermany2024-06-15Rangoni Of Florence RENEWAL39Stephen Shaw
1035Jeanfrancois H IturbideItaly2024-06-21Feltz Printing Service QUALIFIED9Asiya Javayant
1036Misaki N StensethItaly2024-06-03Dorl, James J Esq UNQUALIFIED79Stephen Shaw
1037Aruna X BowleyBrazil2024-06-03Morlong Associates UNQUALIFIED4Amy Elsner
1038Emily C VenereJapan2024-06-02King, Christopher A Esq PROPOSAL51Ioni Bowcher
1039Nicolas W BologniaBrazil2024-05-23Benton, John B Jr NEGOTIATION9Anna Fali
1040Antonio F FerenczUnited Kingdom2024-05-30Feiner Bros NEW1Bernardo Dominic
1041Greenwood F NickaCanada2024-06-17Rangoni Of Florence PROPOSAL43Ioni Bowcher
1042Smith A AmigonUnited Kingdom2024-05-23Chanay, Jeffrey A Esq QUALIFIED78Elwin Sharvill
1043Maria W NestleJapan2024-06-05Chemel, James L Cpa NEGOTIATION14Anna Fali
1044Jefferson P GarufiJapan2024-06-13Printing Dimensions NEGOTIATION68Amy Elsner
1045Misaki L CaldareraSpain2024-06-15Buckley Miller Wright QUALIFIED66Xuxue Feng
1046Francesco S WieserSpain2024-06-08Rangoni Of Florence NEGOTIATION32Ioni Bowcher
1047Darci I SchemmerFrance2024-05-26Rangoni Of Florence NEW52Bernardo Dominic
1048Aruna X RoysterGermany2024-05-28Feltz Printing Service NEGOTIATION30Anna Fali
1049Wickens Y VocelkaIndia2024-06-02Feiner Bros UNQUALIFIED78Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Emily N StockhamCanadaXuxue Feng NEW
Jennifer N MaletArgentinaOnyama Limba NEGOTIATION
Arvin I WieserAustraliaIoni Bowcher PROPOSAL
Munro D FerenczFranceOnyama Limba QUALIFIED
Jones E RutaBrazilOnyama Limba NEGOTIATION
Murillo B SchemmerItalyElwin Sharvill NEGOTIATION
Isabel X ShinkoAustraliaStephen Shaw RENEWAL
Rodrigues T FlosiBrazilAmy Elsner UNQUALIFIED
Cody P OstroskyGermanyIvan Magalhaes PROPOSAL
Arvin O SaylorsJapanIvan Magalhaes NEGOTIATION
Rodrigues H RulapaughArgentinaAmy Elsner UNQUALIFIED
James H GillianArgentinaAsiya Javayant RENEWAL
Ricardo L ButtIndiaElwin Sharvill QUALIFIED
Julie U PerinCanadaIvan Magalhaes QUALIFIED
Jones Q GlickBrazilIvan Magalhaes UNQUALIFIED
Rodrigues D DilliardIndiaIvan Magalhaes RENEWAL
Juan B OldroydUnited KingdomBernardo Dominic UNQUALIFIED
Mujtaba U StockhamRussiaAsiya Javayant NEGOTIATION
Murillo K OstroskyCanadaStephen Shaw NEGOTIATION
Kaitlin W BriddickFranceIvan Magalhaes UNQUALIFIED
Antonio G AmigonIndiaIvan Magalhaes QUALIFIED
Munro O MaletGermanyIvan Magalhaes NEGOTIATION
Octavia F GlickFranceIoni Bowcher NEW
Izzy P FlosiRussiaAsiya Javayant NEGOTIATION
Tony J DoeFranceBernardo Dominic UNQUALIFIED
Munro A MarrierAustraliaXuxue Feng RENEWAL
Leon A FigeroaAustraliaBernardo Dominic QUALIFIED
Chavez O PerinSpainAmy Elsner NEW
Octavia M FlosiJapanElwin Sharvill RENEWAL
Maisha T SergiArgentinaIoni Bowcher UNQUALIFIED
Chavez I TollnerArgentinaIoni Bowcher QUALIFIED
Francesco W MaletItalyIvan Magalhaes NEW
Johnson W TollnerAustraliaAsiya Javayant NEW
Claire E IturbideGermanyOnyama Limba NEGOTIATION
Tony R NickaAustraliaIvan Magalhaes UNQUALIFIED
Ricardo M RimItalyOnyama Limba NEGOTIATION
Nicolas V MaletAustraliaAnna Fali QUALIFIED
Ricardo E SaylorsSpainAnna Fali NEGOTIATION
Costa T GlickIndiaAnna Fali NEGOTIATION
Mayumi R MaletAustraliaElwin Sharvill NEGOTIATION
Claire T OstroskyJapanAmy Elsner NEW
Faith B ButtItalyAnna Fali NEW
Antonio T AmigonUnited KingdomAmy Elsner PROPOSAL
Morrow J AlbaresIndiaStephen Shaw PROPOSAL
Kadeem N MarrierBrazilElwin Sharvill PROPOSAL
Sinclair Y MorascaUnited KingdomIoni Bowcher NEGOTIATION
Clifford M CampainUnited KingdomAsiya Javayant RENEWAL
Ashley V GauchoItalyAnna Fali PROPOSAL
Smith G VocelkaIndiaAmy Elsner PROPOSAL
David M ShinkoSpainBernardo Dominic NEW
Frozen Columns
Name
Wickens H Wieser
Aika U Rim
Jefferson C Bolognia
Mujtaba N Amigon
Maisha I Maclead
Darci B Royster
Octavia F Perin
Izzy Z Stenseth
Tony M Nicka
Misaki M Glick
Mayumi L Garufi
Mujtaba E Ferencz
Izzy G Shinko
Leon N Gillian
Izzy L Malet
Costa R Figeroa
Greenwood V Malet
Arvin Y Briddick
Clifford O Gillian
Aditya B Rulapaugh
Jones Y Maclead
Antonio A Butt
Silvio X Stenseth
Isabel I Sergi
Kadeem S Vocelka
Jennifer C Gillian
Antonio G Iturbide
Morrow V Ferencz
Isabel D Kusko
Tony M Rim
Morrow C Flosi
Salvatore H Maclead
Jones T Ostrosky
Francesco X Bolognia
Claire F Briddick
Aruna U Tollner
Silvio P Saylors
Faith Q Malet
Nicolas J Doe
Jeanfrancois W Ferencz
Nicolas T Vocelka
Nicolas F Ferencz
Stacey I Bolognia
Wickens Z Schemmer
Ricardo X Bowley
James P Saylors
Salvatore V Slusarski
Murillo S Ostrosky
Darci A Caudy
Julie C Iturbide
IdCountryDate
1000Argentina2024-06-21
1001Australia2024-06-09
1002Brazil2024-05-29
1003Brazil2024-06-21
1004Germany2024-06-19
1005Australia2024-06-11
1006India2024-06-16
1007Italy2024-06-17
1008France2024-05-26
1009Spain2024-05-31
1010Argentina2024-06-16
1011Argentina2024-06-19
1012Japan2024-06-12
1013France2024-05-24
1014Russia2024-06-03
1015Russia2024-05-29
1016France2024-06-08
1017Japan2024-06-05
1018Japan2024-06-04
1019United Kingdom2024-05-25
1020United Kingdom2024-06-04
1021Japan2024-05-29
1022Russia2024-06-17
1023Italy2024-06-21
1024Brazil2024-06-11
1025Russia2024-06-07
1026Germany2024-05-25
1027Australia2024-06-17
1028Russia2024-05-24
1029United Kingdom2024-06-16
1030Japan2024-05-29
1031Spain2024-06-04
1032France2024-06-03
1033India2024-05-27
1034Russia2024-06-10
1035Germany2024-05-24
1036Argentina2024-06-13
1037Argentina2024-06-15
1038Japan2024-06-05
1039Argentina2024-06-15
1040Russia2024-05-30
1041Brazil2024-05-25
1042Canada2024-06-20
1043India2024-06-12
1044Japan2024-06-05
1045Australia2024-06-05
1046United Kingdom2024-05-27
1047Italy2024-06-04
1048Canada2024-06-07
1049Australia2024-05-27

On-Demand Data

NameIdCountryDate
Chavez Y Venere1000France2024-05-27
Mujtaba M Paprocki1001France2024-05-23
Claire L Nestle1002Australia2024-05-26
Adams F Marrier1003Italy2024-06-03
Alejandro I Butt1004Japan2024-06-20
David K Dilliard1005Japan2024-05-25
Tony V Nestle1006Australia2024-05-28
Salvatore Z Ostrosky1007Canada2024-06-20
Adams Y Poquette1008Canada2024-05-23
Adams J Briddick1009Italy2024-06-08
Silvio P Darakjy1010Argentina2024-06-16
Adams G Royster1011Spain2024-06-20
Antonio J Inouye1012Italy2024-06-02
Jeanfrancois E Paprocki1013Australia2024-06-10
Jennifer H Campain1014Canada2024-06-08
Faith M Ostrosky1015Japan2024-06-15
Aditya X Iturbide1016India2024-05-31
Costa V Rulapaugh1017Japan2024-05-30
Smith D Whobrey1018Japan2024-06-06
Cody L Gaucho1019United Kingdom2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem R KuskoRussiaAmy Elsner QUALIFIED
Faith C GillianAustraliaAsiya Javayant NEW
Munro K PoquetteFranceIoni Bowcher UNQUALIFIED
Misaki R AlbaresAustraliaIoni Bowcher NEGOTIATION
Arvin D AmigonFranceAnna Fali NEW
Darci W FigeroaGermanyStephen Shaw QUALIFIED
Misaki Z IturbideArgentinaAnna Fali NEGOTIATION
Jeanfrancois U TollnerFranceElwin Sharvill NEW
Tony T DoeSpainStephen Shaw NEW
Aruna H VocelkaRussiaBernardo Dominic UNQUALIFIED
Kaitlin R CaudyAustraliaOnyama Limba PROPOSAL
Darci E CampainIndiaElwin Sharvill PROPOSAL
Arvin J StensethBrazilAsiya Javayant RENEWAL
Faith M SchemmerItalyAnna Fali UNQUALIFIED
Claire Y FigeroaGermanyAnna Fali PROPOSAL
Izzy I RulapaughFranceXuxue Feng NEW
Silvio K GarufiSpainOnyama Limba QUALIFIED
Aditya K GillianIndiaAsiya Javayant RENEWAL
Morrow F SaylorsGermanyAnna Fali RENEWAL
Octavia Q PaprockiCanadaIoni Bowcher UNQUALIFIED
Maisha G DoeItalyElwin Sharvill NEW
Deepesh F MaletUnited KingdomAmy Elsner PROPOSAL
Sinclair F MorascaBrazilElwin Sharvill NEW
Mayumi U MaletItalyXuxue Feng NEGOTIATION
Greenwood K ShinkoIndiaIvan Magalhaes UNQUALIFIED
Rodrigues L ButtCanadaBernardo Dominic NEGOTIATION
Jones Y NestleItalyElwin Sharvill QUALIFIED
Antonio I RutaRussiaXuxue Feng NEGOTIATION
Julie D MacleadSpainIvan Magalhaes NEW
Tony V SlusarskiItalyBernardo Dominic QUALIFIED
Arvin D MarrierCanadaAsiya Javayant QUALIFIED
Alejandro Y RimArgentinaElwin Sharvill RENEWAL
Silvio G OstroskyCanadaAmy Elsner UNQUALIFIED
Aruna X GlickAustraliaBernardo Dominic QUALIFIED
Alejandro V SaylorsItalyIvan Magalhaes NEW
Jennifer D OldroydRussiaAnna Fali UNQUALIFIED
Chavez X VenereBrazilAsiya Javayant RENEWAL
Deepesh P MaletCanadaAnna Fali UNQUALIFIED
Francesco H GillianArgentinaOnyama Limba NEGOTIATION
Alejandro U RutaAustraliaAnna Fali NEGOTIATION

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