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 L VocelkaJapanIvan Magalhaes NEW
Leja A MaletItalyElwin Sharvill NEW
Kaitlin D MacleadCanadaStephen Shaw NEGOTIATION
Murillo I DoeCanadaBernardo Dominic PROPOSAL
Antonio E StensethCanadaIoni Bowcher RENEWAL
Francesco B DilliardGermanyStephen Shaw QUALIFIED
Juan W FlosiRussiaAnna Fali PROPOSAL
David C NestleBrazilOnyama Limba PROPOSAL
Ivar J SlusarskiArgentinaXuxue Feng NEGOTIATION
Claire U VenereArgentinaAnna Fali QUALIFIED
Salvatore I OstroskyRussiaAmy Elsner UNQUALIFIED
Misaki K PoquetteSpainIoni Bowcher QUALIFIED
Izzy K InouyeGermanyStephen Shaw QUALIFIED
Antonio U FlosiCanadaAmy Elsner NEW
Jones P FerenczSpainIvan Magalhaes RENEWAL
Jennifer B ShinkoJapanStephen Shaw QUALIFIED
Johnson P ButtBrazilStephen Shaw UNQUALIFIED
David H TollnerSpainIoni Bowcher RENEWAL
Smith F NickaJapanElwin Sharvill UNQUALIFIED
Wickens D FigeroaArgentinaAsiya Javayant PROPOSAL
Sinclair O SlusarskiUnited KingdomStephen Shaw NEW
Leon S BologniaBrazilIvan Magalhaes PROPOSAL
Ricardo P SchemmerRussiaIvan Magalhaes RENEWAL
Leja R WaycottSpainBernardo Dominic RENEWAL
Izzy L CampainItalyStephen Shaw RENEWAL
Emily S PoquetteItalyAmy Elsner NEGOTIATION
Faith Y BologniaArgentinaStephen Shaw NEW
Mujtaba X SergiGermanyAsiya Javayant PROPOSAL
Mujtaba E RulapaughIndiaAnna Fali UNQUALIFIED
Munro Z DilliardIndiaIvan Magalhaes NEGOTIATION
James U GarufiGermanyAmy Elsner RENEWAL
Jeanfrancois D PerinBrazilIvan Magalhaes RENEWAL
Izzy S OldroydAustraliaIvan Magalhaes PROPOSAL
Wickens I KuskoFranceIoni Bowcher NEGOTIATION
Juan R CampainSpainElwin Sharvill QUALIFIED
Leja I FlosiItalyXuxue Feng UNQUALIFIED
Maisha A StensethAustraliaElwin Sharvill NEW
Octavia M BologniaIndiaBernardo Dominic PROPOSAL
Aditya O PerinFranceIoni Bowcher RENEWAL
Izzy I KuskoGermanyBernardo Dominic NEW
Maisha Z VenereAustraliaElwin Sharvill QUALIFIED
Darci E VenereAustraliaAsiya Javayant UNQUALIFIED
Sinclair J PoquetteCanadaIvan Magalhaes NEW
Adams O BriddickJapanAnna Fali NEGOTIATION
Octavia P ChuiRussiaXuxue Feng PROPOSAL
David T KuskoGermanyStephen Shaw RENEWAL
Rodrigues E DilliardUnited KingdomOnyama Limba NEGOTIATION
Stacey J OldroydRussiaAmy Elsner PROPOSAL
Deepesh X SlusarskiFranceAsiya Javayant UNQUALIFIED
Izzy J RimIndiaXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Johnson Y AlbaresAustraliaAmy Elsner NEW
Salvatore O NestleIndiaIoni Bowcher RENEWAL
Wickens B RoysterArgentinaBernardo Dominic NEGOTIATION
Emily I KuskoJapanBernardo Dominic UNQUALIFIED
Leon D RoysterItalyAsiya Javayant PROPOSAL
Greenwood I NestleIndiaBernardo Dominic PROPOSAL
Arvin O InouyeArgentinaAsiya Javayant PROPOSAL
Antonio Z AlbaresBrazilAsiya Javayant QUALIFIED
Francesco H OstroskyItalyIoni Bowcher QUALIFIED
Murillo T NestleFranceAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa C StockhamGermany2024-05-24King, Christopher A Esq NEGOTIATION49Stephen Shaw
1001Claire Z GauchoArgentina2024-04-30Chapman, Ross E Esq QUALIFIED87Onyama Limba
1002Juan Y RulapaughArgentina2024-04-25Printing Dimensions NEW47Asiya Javayant
1003Morrow F MacleadRussia2024-04-27Commercial Press UNQUALIFIED96Ivan Magalhaes
1004Smith E MaletGermany2024-04-30Rangoni Of Florence NEGOTIATION9Stephen Shaw
1005Sinclair Z OldroydArgentina2024-05-16King, Christopher A Esq QUALIFIED31Onyama Limba
1006Francesco Q RulapaughJapan2024-05-05Chanay, Jeffrey A Esq NEGOTIATION98Amy Elsner
1007Ricardo G WieserAustralia2024-05-19Rousseaux, Michael Esq NEW56Anna Fali
1008Sinclair O CampainRussia2024-05-01Rangoni Of Florence QUALIFIED69Elwin Sharvill
1009Costa T StensethBrazil2024-05-05Buckley Miller Wright PROPOSAL55Amy Elsner
1010Salvatore M CaldareraItaly2024-05-20Dorl, James J Esq UNQUALIFIED74Ioni Bowcher
1011Kadeem A NickaCanada2024-05-07Feiner Bros NEGOTIATION46Anna Fali
1012Juan Q OldroydIndia2024-05-19Truhlar And Truhlar Attys NEGOTIATION55Elwin Sharvill
1013Jones Q CampainItaly2024-05-09Truhlar And Truhlar Attys QUALIFIED4Asiya Javayant
1014Jefferson N MarrierIndia2024-05-05Benton, John B Jr PROPOSAL80Ivan Magalhaes
1015Jeanfrancois L KolmetzGermany2024-05-04Dorl, James J Esq UNQUALIFIED53Anna Fali
1016Aruna A PoquetteCanada2024-05-07Dorl, James J Esq QUALIFIED70Bernardo Dominic
1017Maria E MacleadArgentina2024-05-19Feiner Bros QUALIFIED96Amy Elsner
1018Wickens O WaycottArgentina2024-05-13Commercial Press PROPOSAL6Ioni Bowcher
1019Smith Q GauchoBrazil2024-05-16Feltz Printing Service QUALIFIED1Amy Elsner
1020Julie F SchemmerJapan2024-05-14King, Christopher A Esq NEGOTIATION23Bernardo Dominic
1021David S IturbideFrance2024-05-07Truhlar And Truhlar Attys QUALIFIED95Bernardo Dominic
1022Murillo S WaycottAustralia2024-04-28Rousseaux, Michael Esq NEGOTIATION58Amy Elsner
1023Francesco G BowleyItaly2024-05-21Benton, John B Jr RENEWAL82Xuxue Feng
1024Juan H PoquetteJapan2024-05-22Rousseaux, Michael Esq NEW36Anna Fali
1025Maisha W NickaAustralia2024-05-18Chemel, James L Cpa RENEWAL52Onyama Limba
1026Silvio U GarufiArgentina2024-04-25Benton, John B Jr NEGOTIATION1Bernardo Dominic
1027Misaki U MorascaItaly2024-04-25King, Christopher A Esq PROPOSAL89Bernardo Dominic
1028Adams A MarrierRussia2024-05-19Commercial Press RENEWAL35Stephen Shaw
1029Juan H DilliardJapan2024-05-24Rousseaux, Michael Esq NEGOTIATION9Stephen Shaw
1030Silvio K CaldareraGermany2024-05-20Commercial Press UNQUALIFIED7Onyama Limba
1031Jefferson S IturbideFrance2024-05-02Chapman, Ross E Esq NEW89Bernardo Dominic
1032Munro E KolmetzGermany2024-05-11Chapman, Ross E Esq NEW47Anna Fali
1033Clifford Z PoquetteArgentina2024-05-04Dorl, James J Esq QUALIFIED54Anna Fali
1034Johnson L GlickFrance2024-05-23Commercial Press QUALIFIED47Xuxue Feng
1035Aruna L WhobreyBrazil2024-05-15King, Christopher A Esq NEW88Amy Elsner
1036Jones E IturbideArgentina2024-05-23Buckley Miller Wright UNQUALIFIED18Ivan Magalhaes
1037Johnson P KuskoArgentina2024-05-15Morlong Associates UNQUALIFIED24Anna Fali
1038James Z NestleRussia2024-05-08Commercial Press NEW96Bernardo Dominic
1039Greenwood H MacleadRussia2024-05-14Printing Dimensions RENEWAL11Bernardo Dominic
1040Faith A StockhamItaly2024-05-15Chapman, Ross E Esq NEGOTIATION22Asiya Javayant
1041Faith I MarrierAustralia2024-04-25Chapman, Ross E Esq NEGOTIATION69Anna Fali
1042Munro P SergiSpain2024-05-19Feiner Bros NEW20Onyama Limba
1043Murillo T RimIndia2024-04-25King, Christopher A Esq NEGOTIATION32Ioni Bowcher
1044Salvatore X PaprockiArgentina2024-05-14Truhlar And Truhlar Attys PROPOSAL64Xuxue Feng
1045Cody J DoeBrazil2024-05-07Chemel, James L Cpa RENEWAL22Ivan Magalhaes
1046Jeanfrancois J SaylorsFrance2024-05-04Benton, John B Jr QUALIFIED15Ivan Magalhaes
1047Alejandro D RulapaughCanada2024-05-15Truhlar And Truhlar Attys RENEWAL83Stephen Shaw
1048Aditya W StockhamSpain2024-05-04Commercial Press NEGOTIATION9Stephen Shaw
1049Jefferson K OldroydBrazil2024-05-07Chapman, Ross E Esq RENEWAL37Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois L FigeroaItalyAsiya Javayant NEGOTIATION
Chavez V BowleyJapanAsiya Javayant NEW
David L InouyeUnited KingdomBernardo Dominic NEW
Rodrigues A StensethGermanyOnyama Limba NEW
Faith N ShinkoCanadaAsiya Javayant NEW
Johnson I PerinFranceAnna Fali UNQUALIFIED
Kaitlin V IturbideSpainOnyama Limba UNQUALIFIED
Maisha B GarufiBrazilStephen Shaw QUALIFIED
Aditya F OstroskyArgentinaIvan Magalhaes PROPOSAL
Aika N BriddickArgentinaBernardo Dominic NEW
Kaitlin G CaldareraArgentinaAsiya Javayant NEW
Jeanfrancois U MaletIndiaIvan Magalhaes UNQUALIFIED
Arvin D FerenczItalyIvan Magalhaes NEW
Jones T BologniaCanadaIvan Magalhaes NEW
Leon G GauchoRussiaOnyama Limba NEW
Julie M MaletCanadaAnna Fali NEGOTIATION
Nicolas F AlbaresGermanyStephen Shaw NEW
David H SergiIndiaOnyama Limba UNQUALIFIED
Aditya D BriddickAustraliaAnna Fali NEW
Aika V ShinkoArgentinaStephen Shaw NEGOTIATION
Maisha X DoeUnited KingdomAsiya Javayant RENEWAL
Leja M RulapaughFranceAsiya Javayant NEW
Nicolas U DilliardSpainXuxue Feng NEGOTIATION
Octavia C DarakjyIndiaXuxue Feng RENEWAL
Morrow W SergiBrazilAmy Elsner QUALIFIED
Jefferson Q KuskoRussiaIvan Magalhaes PROPOSAL
Juan Q RulapaughGermanyIvan Magalhaes RENEWAL
Jeanfrancois B RulapaughUnited KingdomIoni Bowcher QUALIFIED
Chavez B GauchoArgentinaIvan Magalhaes PROPOSAL
Leja V StensethBrazilAnna Fali NEGOTIATION
Maria S BologniaFranceStephen Shaw UNQUALIFIED
Aruna D OldroydBrazilAmy Elsner NEGOTIATION
Kadeem C ChuiAustraliaAmy Elsner RENEWAL
Jeanfrancois W VocelkaCanadaIvan Magalhaes RENEWAL
Alejandro R ShinkoFranceIoni Bowcher RENEWAL
Cody W GillianSpainStephen Shaw NEGOTIATION
Tony Z OldroydIndiaAnna Fali NEGOTIATION
Isabel Y PoquetteRussiaBernardo Dominic NEGOTIATION
Julie A WaycottUnited KingdomAsiya Javayant QUALIFIED
Octavia V FollerRussiaStephen Shaw UNQUALIFIED
Chavez P CaldareraCanadaAnna Fali NEW
Sinclair G StensethJapanOnyama Limba RENEWAL
Tony H PerinAustraliaIoni Bowcher RENEWAL
Murillo S AlbaresGermanyOnyama Limba NEGOTIATION
Chavez F BowleyCanadaStephen Shaw QUALIFIED
Kadeem H GauchoGermanyXuxue Feng NEW
Costa J BologniaJapanAsiya Javayant PROPOSAL
Ricardo Z WhobreyGermanyAmy Elsner UNQUALIFIED
Maisha R StensethRussiaStephen Shaw RENEWAL
Emily H FerenczItalyAsiya Javayant NEGOTIATION
Frozen Columns
Name
Sinclair R Figeroa
Salvatore R Malet
Nicolas A Ostrosky
Costa U Figeroa
David K Paprocki
Ricardo X Dilliard
David N Iturbide
Salvatore H Caudy
Nicolas W Royster
Aditya G Flosi
Silvio V Slusarski
Juan M Kusko
Wickens U Bolognia
Isabel W Amigon
Arvin G Figeroa
Antonio P Paprocki
Kadeem Z Ruta
Ivar N Doe
Kadeem U Gaucho
Octavia O Iturbide
Antonio A Foller
Darci O Figeroa
Chavez C Morasca
Aika N Flosi
Tony K Rim
Sinclair Q Whobrey
Leja H Flosi
Silvio K Gaucho
Salvatore F Caudy
Stacey I Dilliard
Salvatore C Ruta
Salvatore O Gaucho
Greenwood W Morasca
Murillo S Glick
Juan O Stenseth
Darci K Ruta
Izzy X Schemmer
Izzy P Kusko
Misaki I Wieser
Rodrigues H Paprocki
Costa U Kusko
Deepesh P Whobrey
Faith Y Caudy
Julie F Kusko
Cody Z Kolmetz
Emily K Caudy
Smith P Dilliard
Antonio F Malet
Mujtaba O Poquette
Antonio S Malet
IdCountryDate
1000Argentina2024-05-06
1001United Kingdom2024-04-27
1002France2024-04-29
1003Russia2024-05-15
1004France2024-05-05
1005Russia2024-05-17
1006Spain2024-05-19
1007Australia2024-05-24
1008Brazil2024-05-22
1009Australia2024-05-17
1010Russia2024-05-14
1011France2024-04-29
1012Spain2024-05-18
1013Canada2024-05-08
1014Spain2024-05-03
1015Italy2024-05-19
1016Australia2024-04-25
1017Spain2024-05-13
1018India2024-04-30
1019Spain2024-05-02
1020Canada2024-05-13
1021Argentina2024-05-07
1022Australia2024-05-07
1023Germany2024-05-14
1024Australia2024-05-17
1025Italy2024-04-30
1026Brazil2024-05-22
1027Japan2024-05-10
1028India2024-05-19
1029Russia2024-05-01
1030France2024-05-14
1031Canada2024-05-08
1032Brazil2024-05-15
1033Italy2024-04-29
1034India2024-05-08
1035Russia2024-05-03
1036Canada2024-05-17
1037India2024-05-08
1038Australia2024-05-11
1039Spain2024-05-01
1040United Kingdom2024-05-12
1041Japan2024-05-01
1042Spain2024-05-19
1043Canada2024-05-12
1044Brazil2024-05-02
1045India2024-05-20
1046Spain2024-05-01
1047Japan2024-04-26
1048Russia2024-05-07
1049Australia2024-05-06

On-Demand Data

NameIdCountryDate
Munro X Caldarera1000Spain2024-05-17
Clifford M Slusarski1001United Kingdom2024-05-10
Isabel A Whobrey1002Japan2024-05-22
Costa T Gaucho1003Argentina2024-05-13
Kadeem S Tollner1004Spain2024-04-27
Adams F Royster1005Canada2024-05-19
Rodrigues K Perin1006Brazil2024-05-05
Faith M Dilliard1007France2024-05-03
Chavez K Bowley1008Argentina2024-05-06
Stacey Z Albares1009Brazil2024-05-13
Jefferson Z Ruta1010Argentina2024-05-20
Misaki W Sergi1011Russia2024-05-12
Maisha J Whobrey1012Spain2024-05-22
Nicolas Y Caldarera1013Italy2024-04-28
James S Flosi1014France2024-04-30
Johnson V Iturbide1015Italy2024-05-06
Ashley M Ruta1016Australia2024-05-07
Mujtaba M Waycott1017Italy2024-05-10
Nicolas J Amigon1018Germany2024-04-29
Maria Z Chui1019United Kingdom2024-05-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha K MacleadJapanAmy Elsner QUALIFIED
Deepesh C DarakjyGermanyStephen Shaw NEGOTIATION
Deepesh E GillianBrazilBernardo Dominic UNQUALIFIED
Chavez W BowleyAustraliaAnna Fali RENEWAL
Morrow A PerinSpainIvan Magalhaes NEW
Jefferson U NickaGermanyStephen Shaw RENEWAL
Leon F SergiBrazilAmy Elsner RENEWAL
Aika R NickaItalyXuxue Feng QUALIFIED
Izzy S VocelkaCanadaBernardo Dominic QUALIFIED
Rodrigues M OldroydArgentinaAmy Elsner UNQUALIFIED
Stacey P BowleyCanadaElwin Sharvill PROPOSAL
Maisha X CaldareraUnited KingdomIvan Magalhaes NEGOTIATION
Jeanfrancois H GlickRussiaOnyama Limba PROPOSAL
Jones Y SchemmerItalyIvan Magalhaes UNQUALIFIED
Adams Q WaycottAustraliaAnna Fali UNQUALIFIED
Chavez F FigeroaCanadaIvan Magalhaes UNQUALIFIED
Faith B WaycottFranceBernardo Dominic UNQUALIFIED
Darci E ButtUnited KingdomBernardo Dominic NEW
Aika L VenereRussiaXuxue Feng NEGOTIATION
Leon A InouyeSpainBernardo Dominic NEW
Izzy N DilliardSpainAsiya Javayant UNQUALIFIED
Ivar Y GarufiUnited KingdomAnna Fali NEGOTIATION
Leon H FerenczItalyIvan Magalhaes PROPOSAL
Kaitlin T NickaSpainIvan Magalhaes QUALIFIED
Nicolas S MorascaBrazilStephen Shaw UNQUALIFIED
Isabel Z RulapaughCanadaXuxue Feng QUALIFIED
Aditya N PerinArgentinaXuxue Feng RENEWAL
Rodrigues K MacleadIndiaXuxue Feng QUALIFIED
Isabel H PoquetteAustraliaAnna Fali QUALIFIED
Francesco M OstroskyFranceElwin Sharvill PROPOSAL
Izzy Q DarakjyItalyBernardo Dominic QUALIFIED
Izzy H CaudyFranceIoni Bowcher NEGOTIATION
Jennifer F AmigonIndiaBernardo Dominic NEGOTIATION
Misaki C DilliardBrazilAmy Elsner RENEWAL
Jennifer V MaletCanadaAnna Fali NEW
Claire L NestleArgentinaAmy Elsner NEW
Murillo D KuskoIndiaStephen Shaw QUALIFIED
Jones X InouyeArgentinaBernardo Dominic QUALIFIED
Silvio T FigeroaUnited KingdomOnyama Limba NEGOTIATION
Juan P CaudyJapanIoni Bowcher NEW

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