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
Aditya B DoeArgentinaIoni Bowcher NEW
Adams E OstroskyIndiaAnna Fali RENEWAL
Antonio N PaprockiUnited KingdomAsiya Javayant NEW
Leja O PaprockiArgentinaIvan Magalhaes UNQUALIFIED
Deepesh Z RulapaughBrazilStephen Shaw NEGOTIATION
Aruna V NestleItalyIoni Bowcher NEGOTIATION
Aditya K KolmetzArgentinaBernardo Dominic RENEWAL
Julie L VenereBrazilAnna Fali NEGOTIATION
Deepesh K WieserUnited KingdomStephen Shaw PROPOSAL
Octavia U StensethUnited KingdomIvan Magalhaes RENEWAL
Leon V OldroydAustraliaStephen Shaw PROPOSAL
Antonio X DarakjyJapanBernardo Dominic PROPOSAL
Clifford S DarakjyArgentinaOnyama Limba NEGOTIATION
Octavia D ChuiUnited KingdomAmy Elsner UNQUALIFIED
Rodrigues W GillianItalyIvan Magalhaes NEW
Jefferson Y WieserAustraliaAmy Elsner QUALIFIED
Munro Z SlusarskiSpainOnyama Limba RENEWAL
Arvin P MorascaCanadaElwin Sharvill RENEWAL
Julie B FigeroaUnited KingdomIoni Bowcher RENEWAL
Salvatore V PoquetteJapanXuxue Feng RENEWAL
Aruna I BriddickFranceStephen Shaw PROPOSAL
Maria N AmigonBrazilAmy Elsner NEW
James C InouyeIndiaXuxue Feng PROPOSAL
Leon N FerenczCanadaAnna Fali RENEWAL
Mujtaba O VocelkaItalyIvan Magalhaes QUALIFIED
Leon S VenereJapanAmy Elsner NEGOTIATION
Nicolas H AlbaresAustraliaElwin Sharvill QUALIFIED
Alejandro V OldroydBrazilOnyama Limba QUALIFIED
Kaitlin T IturbideSpainAsiya Javayant UNQUALIFIED
Tony Y ShinkoAustraliaAnna Fali QUALIFIED
Johnson E ChuiCanadaStephen Shaw PROPOSAL
Morrow Q ButtItalyElwin Sharvill NEW
Murillo C AmigonFranceAsiya Javayant NEW
David H PoquetteGermanyAnna Fali QUALIFIED
Clifford C VenereArgentinaXuxue Feng NEW
Ricardo A CaldareraArgentinaElwin Sharvill NEW
Wickens Z RimUnited KingdomStephen Shaw QUALIFIED
Leon B AlbaresGermanyIoni Bowcher NEW
Francesco E DarakjyArgentinaIoni Bowcher NEW
Stacey D BowleyJapanAmy Elsner RENEWAL
Munro E MaletSpainAmy Elsner RENEWAL
Kaitlin C ShinkoUnited KingdomAmy Elsner RENEWAL
Claire U FollerIndiaBernardo Dominic UNQUALIFIED
Munro Y GauchoArgentinaAnna Fali PROPOSAL
Ivar I NickaJapanIoni Bowcher RENEWAL
Jefferson U GlickCanadaAsiya Javayant NEW
Leon Y RoysterItalyBernardo Dominic QUALIFIED
Claire I PerinGermanyAmy Elsner NEGOTIATION
Aditya F FlosiSpainXuxue Feng RENEWAL
Aruna U BowleyArgentinaIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jones Q WaycottJapanBernardo Dominic QUALIFIED
Greenwood J PerinIndiaElwin Sharvill PROPOSAL
Aditya H PerinAustraliaBernardo Dominic PROPOSAL
Ricardo Q CampainItalyXuxue Feng RENEWAL
Aika V GillianFranceBernardo Dominic QUALIFIED
Ashley B BowleyRussiaXuxue Feng UNQUALIFIED
Ashley H MaletCanadaAmy Elsner UNQUALIFIED
Cody L DarakjyUnited KingdomAsiya Javayant PROPOSAL
David A RutaUnited KingdomXuxue Feng UNQUALIFIED
Jefferson E WaycottUnited KingdomIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja E FerenczGermany2024-09-13Chapman, Ross E Esq UNQUALIFIED48Amy Elsner
1001Jeanfrancois P MaletBrazil2024-09-25Feiner Bros UNQUALIFIED27Bernardo Dominic
1002David N BowleySpain2024-09-20Dorl, James J Esq NEW90Onyama Limba
1003Jefferson Y IturbideRussia2024-09-01Rousseaux, Michael Esq RENEWAL53Asiya Javayant
1004Kadeem Q RimBrazil2024-09-03Chanay, Jeffrey A Esq QUALIFIED91Amy Elsner
1005Octavia X OldroydIndia2024-09-21Commercial Press NEW98Asiya Javayant
1006Kaitlin L OldroydAustralia2024-09-10Dorl, James J Esq NEW89Onyama Limba
1007Mujtaba Z MaletIndia2024-09-23Benton, John B Jr NEGOTIATION88Asiya Javayant
1008Jennifer C CaudyUnited Kingdom2024-09-09King, Christopher A Esq NEGOTIATION92Anna Fali
1009Juan S SchemmerItaly2024-09-01Feiner Bros PROPOSAL73Xuxue Feng
1010Costa V PerinUnited Kingdom2024-09-08Commercial Press UNQUALIFIED54Bernardo Dominic
1011Clifford Z CampainBrazil2024-09-22Rangoni Of Florence RENEWAL0Onyama Limba
1012Cody R GarufiFrance2024-09-14Truhlar And Truhlar Attys NEW40Anna Fali
1013Wickens C MacleadJapan2024-09-25Chapman, Ross E Esq RENEWAL43Anna Fali
1014Juan B AlbaresGermany2024-09-04Feltz Printing Service PROPOSAL10Anna Fali
1015Stacey V GlickFrance2024-09-21Feiner Bros RENEWAL58Xuxue Feng
1016Emily E FigeroaCanada2024-09-09Rousseaux, Michael Esq RENEWAL66Asiya Javayant
1017Alejandro T IturbideFrance2024-09-02Morlong Associates UNQUALIFIED12Onyama Limba
1018Kadeem Q RutaUnited Kingdom2024-09-05Truhlar And Truhlar Attys QUALIFIED24Ioni Bowcher
1019Claire R SergiIndia2024-08-27King, Christopher A Esq PROPOSAL51Bernardo Dominic
1020Emily T NickaFrance2024-08-27Feltz Printing Service QUALIFIED16Ioni Bowcher
1021Leon Y IturbideCanada2024-08-29King, Christopher A Esq NEGOTIATION20Xuxue Feng
1022Arvin H AmigonIndia2024-09-05Chanay, Jeffrey A Esq QUALIFIED61Ivan Magalhaes
1023Juan U RimSpain2024-09-23Chapman, Ross E Esq QUALIFIED44Anna Fali
1024Aika F AmigonBrazil2024-09-08Buckley Miller Wright PROPOSAL42Elwin Sharvill
1025Smith E FerenczGermany2024-09-01Chemel, James L Cpa PROPOSAL34Asiya Javayant
1026Stacey O FigeroaAustralia2024-09-22King, Christopher A Esq PROPOSAL99Anna Fali
1027Maisha P VenereRussia2024-09-04Morlong Associates RENEWAL65Amy Elsner
1028Adams L FerenczIndia2024-09-16Chemel, James L Cpa NEW34Asiya Javayant
1029Stacey E BowleyRussia2024-09-04Morlong Associates RENEWAL77Stephen Shaw
1030Juan G RutaFrance2024-09-04Buckley Miller Wright PROPOSAL85Xuxue Feng
1031Deepesh Y StockhamJapan2024-09-07Chapman, Ross E Esq QUALIFIED19Asiya Javayant
1032Maisha O RoysterCanada2024-08-28Feltz Printing Service QUALIFIED13Onyama Limba
1033Misaki A OldroydFrance2024-09-16Truhlar And Truhlar Attys QUALIFIED99Anna Fali
1034Francesco X OstroskyUnited Kingdom2024-09-18Feiner Bros UNQUALIFIED14Stephen Shaw
1035Aruna U OstroskyRussia2024-09-01Chemel, James L Cpa NEGOTIATION59Elwin Sharvill
1036Chavez M StockhamCanada2024-09-16Rousseaux, Michael Esq NEGOTIATION64Bernardo Dominic
1037Cody B ChuiItaly2024-09-24Truhlar And Truhlar Attys PROPOSAL24Bernardo Dominic
1038Sinclair H VocelkaArgentina2024-09-06Truhlar And Truhlar Attys PROPOSAL19Ioni Bowcher
1039Juan X GlickIndia2024-09-13Feiner Bros QUALIFIED56Amy Elsner
1040Greenwood D GarufiCanada2024-08-27Rangoni Of Florence NEW31Stephen Shaw
1041Jennifer R DoeUnited Kingdom2024-09-14Commercial Press PROPOSAL40Stephen Shaw
1042Francesco N SchemmerAustralia2024-09-12Chemel, James L Cpa RENEWAL77Bernardo Dominic
1043Darci X VenereJapan2024-09-15Benton, John B Jr QUALIFIED88Ivan Magalhaes
1044Clifford B CampainAustralia2024-09-11Rousseaux, Michael Esq QUALIFIED35Ivan Magalhaes
1045Tony V WieserRussia2024-09-08Truhlar And Truhlar Attys PROPOSAL14Stephen Shaw
1046Octavia X RoysterBrazil2024-09-05Feltz Printing Service NEW34Elwin Sharvill
1047Octavia I KolmetzBrazil2024-09-09Buckley Miller Wright QUALIFIED72Asiya Javayant
1048Leja D NestleBrazil2024-09-12Chemel, James L Cpa UNQUALIFIED54Asiya Javayant
1049Rodrigues B MarrierFrance2024-09-04Chemel, James L Cpa NEW70Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Faith D GillianGermanyIvan Magalhaes NEGOTIATION
Adams Y SlusarskiAustraliaAmy Elsner PROPOSAL
Murillo T AmigonGermanyIvan Magalhaes NEGOTIATION
David E BologniaJapanAsiya Javayant UNQUALIFIED
Jeanfrancois E NestleCanadaElwin Sharvill QUALIFIED
Kaitlin C ChuiItalyBernardo Dominic NEGOTIATION
Leja W IturbideItalyElwin Sharvill UNQUALIFIED
Mayumi K AlbaresJapanStephen Shaw QUALIFIED
Aika N FollerUnited KingdomXuxue Feng RENEWAL
Isabel F OstroskySpainElwin Sharvill RENEWAL
Murillo V DarakjyBrazilXuxue Feng RENEWAL
Clifford W WieserGermanyAnna Fali NEGOTIATION
Mayumi X MacleadFranceAnna Fali PROPOSAL
Clifford C BriddickBrazilAsiya Javayant NEGOTIATION
Deepesh I OldroydAustraliaIvan Magalhaes UNQUALIFIED
Leon V NestleRussiaElwin Sharvill NEGOTIATION
Munro K StensethArgentinaElwin Sharvill NEGOTIATION
Alejandro E TollnerRussiaAnna Fali QUALIFIED
Mayumi A SchemmerSpainAnna Fali UNQUALIFIED
Chavez X RimArgentinaAsiya Javayant QUALIFIED
Morrow L NestleArgentinaIoni Bowcher UNQUALIFIED
Kadeem Q MaletBrazilAsiya Javayant RENEWAL
Francesco T InouyeBrazilStephen Shaw PROPOSAL
Darci J AlbaresAustraliaAmy Elsner PROPOSAL
Mayumi R WieserBrazilAnna Fali PROPOSAL
Maisha Y VocelkaBrazilAsiya Javayant RENEWAL
Costa L StockhamAustraliaAsiya Javayant QUALIFIED
David L PoquetteFranceIvan Magalhaes UNQUALIFIED
Claire Y KuskoCanadaIoni Bowcher QUALIFIED
Jones N KuskoUnited KingdomXuxue Feng NEGOTIATION
David R SergiBrazilAsiya Javayant QUALIFIED
Jones A RimRussiaAmy Elsner QUALIFIED
Rodrigues K DilliardFranceAmy Elsner RENEWAL
Juan T GlickItalyOnyama Limba PROPOSAL
Greenwood J PerinItalyAnna Fali RENEWAL
Tony T OldroydJapanIvan Magalhaes NEW
Clifford K SlusarskiArgentinaIvan Magalhaes UNQUALIFIED
Leon F MorascaUnited KingdomAnna Fali QUALIFIED
Sinclair K KolmetzArgentinaAmy Elsner NEGOTIATION
Ricardo Q VocelkaUnited KingdomElwin Sharvill NEW
James G StensethGermanyAmy Elsner PROPOSAL
Jeanfrancois F NickaSpainAnna Fali RENEWAL
Isabel M InouyeUnited KingdomIoni Bowcher NEGOTIATION
Mayumi G DoeItalyOnyama Limba QUALIFIED
Misaki Y TollnerJapanIvan Magalhaes PROPOSAL
Arvin C FerenczBrazilAsiya Javayant NEGOTIATION
Greenwood Q WhobreySpainAmy Elsner RENEWAL
Mayumi I AmigonUnited KingdomElwin Sharvill QUALIFIED
Murillo W ButtAustraliaXuxue Feng RENEWAL
James D FlosiSpainOnyama Limba NEGOTIATION
Frozen Columns
Name
Jennifer M Wieser
Mayumi N Garufi
Faith C Briddick
Julie F Albares
Salvatore O Inouye
Octavia B Chui
Ricardo H Malet
Sinclair Z Ostrosky
Kadeem P Morasca
Mayumi X Tollner
Jennifer D Ferencz
Maria S Morasca
Leja L Schemmer
Deepesh V Kusko
Tony Q Morasca
Ashley X Nestle
Smith F Tollner
Faith N Shinko
Mujtaba L Garufi
Isabel I Ferencz
Jeanfrancois Q Dilliard
Arvin E Albares
Chavez U Ruta
Smith Y Albares
Antonio O Oldroyd
Adams T Sergi
Ricardo X Rim
Adams B Marrier
David K Slusarski
Jones L Poquette
Kadeem H Chui
Misaki T Doe
Kadeem B Stenseth
Claire U Garufi
Arvin B Doe
Deepesh F Albares
Kaitlin X Tollner
Francesco V Whobrey
Faith F Saylors
Mayumi P Glick
Munro C Shinko
Alejandro U Saylors
David L Nicka
Mayumi E Garufi
Clifford J Glick
Leon Z Glick
Chavez Q Inouye
Octavia H Whobrey
Clifford P Vocelka
Rodrigues G Maclead
IdCountryDate
1000France2024-09-10
1001Australia2024-09-16
1002Canada2024-09-21
1003Spain2024-09-07
1004Canada2024-08-30
1005United Kingdom2024-09-13
1006Russia2024-09-05
1007United Kingdom2024-09-02
1008Canada2024-09-24
1009Japan2024-09-09
1010Italy2024-09-17
1011Germany2024-08-31
1012Spain2024-09-03
1013Italy2024-09-24
1014Japan2024-09-01
1015Australia2024-09-25
1016Spain2024-09-25
1017Italy2024-09-14
1018Argentina2024-09-25
1019Australia2024-09-07
1020United Kingdom2024-09-13
1021Germany2024-08-27
1022Germany2024-09-17
1023Japan2024-09-11
1024Japan2024-08-29
1025Argentina2024-09-14
1026Japan2024-08-31
1027Russia2024-09-19
1028Russia2024-09-23
1029Italy2024-09-25
1030India2024-09-25
1031Germany2024-09-18
1032Russia2024-09-12
1033Japan2024-09-10
1034Germany2024-09-12
1035Australia2024-09-12
1036Italy2024-08-31
1037Spain2024-08-27
1038United Kingdom2024-09-09
1039Russia2024-08-29
1040Japan2024-09-16
1041Brazil2024-09-21
1042United Kingdom2024-09-19
1043India2024-08-30
1044Canada2024-08-28
1045Canada2024-09-04
1046Italy2024-09-15
1047United Kingdom2024-09-07
1048Argentina2024-08-28
1049Canada2024-08-27

On-Demand Data

NameIdCountryDate
Cody G Briddick1000Brazil2024-08-30
Morrow M Malet1001United Kingdom2024-09-24
Izzy F Kolmetz1002Russia2024-09-08
Rodrigues T Kolmetz1003Brazil2024-09-03
Jeanfrancois C Figeroa1004Brazil2024-09-07
David I Royster1005Japan2024-09-04
Leja Q Venere1006Canada2024-08-29
Tony K Paprocki1007Spain2024-09-02
Leja S Inouye1008Japan2024-09-15
Isabel D Albares1009France2024-09-18
Octavia V Ferencz1010Russia2024-09-24
Antonio A Bolognia1011Australia2024-09-19
Morrow Q Rim1012Canada2024-09-22
Kadeem W Waycott1013Russia2024-09-03
Sinclair M Sergi1014Japan2024-09-19
Aika V Vocelka1015Japan2024-09-16
Cody V Morasca1016Italy2024-09-11
Antonio L Rim1017France2024-09-25
Murillo R Glick1018Australia2024-09-12
Jeanfrancois H Bowley1019Japan2024-09-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja O RulapaughIndiaIoni Bowcher NEGOTIATION
Claire J CaldareraFranceBernardo Dominic NEW
Tony H ChuiRussiaElwin Sharvill NEGOTIATION
Morrow C DoeItalyXuxue Feng NEW
Francesco N MarrierIndiaAnna Fali NEGOTIATION
Wickens N WhobreyIndiaIvan Magalhaes RENEWAL
Maria A FigeroaBrazilOnyama Limba NEGOTIATION
Sinclair K FlosiAustraliaOnyama Limba PROPOSAL
Sinclair F BriddickJapanIoni Bowcher NEW
Aruna F NestleArgentinaBernardo Dominic NEW
Munro D RimItalyBernardo Dominic RENEWAL
Julie P RimGermanyXuxue Feng UNQUALIFIED
Maria W MaletArgentinaAnna Fali QUALIFIED
Leja J WhobreyFranceXuxue Feng RENEWAL
Johnson D SchemmerJapanOnyama Limba PROPOSAL
Alejandro O ButtCanadaAnna Fali RENEWAL
Jones S PerinUnited KingdomBernardo Dominic QUALIFIED
Mujtaba E BriddickArgentinaStephen Shaw RENEWAL
Antonio W KuskoIndiaOnyama Limba NEGOTIATION
Alejandro I CaudyCanadaOnyama Limba NEGOTIATION
Jones T VenereRussiaXuxue Feng NEGOTIATION
Morrow I KolmetzCanadaStephen Shaw PROPOSAL
Costa T ButtItalyAsiya Javayant NEW
Adams F RutaUnited KingdomBernardo Dominic RENEWAL
Arvin O CaldareraJapanOnyama Limba UNQUALIFIED
Mujtaba Q DoeItalyOnyama Limba NEGOTIATION
Jefferson M SergiSpainIvan Magalhaes UNQUALIFIED
Francesco L DoeJapanOnyama Limba NEGOTIATION
Faith A FigeroaGermanyAmy Elsner RENEWAL
Mujtaba Q FollerAustraliaElwin Sharvill RENEWAL
Tony C StensethIndiaAnna Fali PROPOSAL
Jones M PerinIndiaAsiya Javayant QUALIFIED
Faith D WieserIndiaAnna Fali NEGOTIATION
Mujtaba P GillianArgentinaIvan Magalhaes QUALIFIED
Isabel Q NickaBrazilStephen Shaw PROPOSAL
Darci X WhobreyJapanStephen Shaw QUALIFIED
Aruna Y RoysterJapanElwin Sharvill NEGOTIATION
Adams K DoeIndiaStephen Shaw PROPOSAL
Nicolas Y MacleadItalyAnna Fali NEW
Mayumi Z IturbideRussiaStephen Shaw UNQUALIFIED

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