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
Johnson O WaycottJapanIvan Magalhaes PROPOSAL
Ricardo Q SergiFranceElwin Sharvill UNQUALIFIED
Salvatore Z RimIndiaStephen Shaw QUALIFIED
Antonio B GarufiFranceAnna Fali RENEWAL
Darci T SergiItalyStephen Shaw UNQUALIFIED
Chavez R MaletCanadaIoni Bowcher PROPOSAL
Claire O FerenczItalyAmy Elsner RENEWAL
Emily H PaprockiFranceAmy Elsner UNQUALIFIED
Ivar N InouyeArgentinaBernardo Dominic QUALIFIED
Izzy V MacleadIndiaIoni Bowcher NEW
Adams P SaylorsAustraliaBernardo Dominic NEGOTIATION
Antonio N GarufiArgentinaAsiya Javayant PROPOSAL
Leja V RimSpainStephen Shaw QUALIFIED
Silvio D GauchoJapanOnyama Limba QUALIFIED
Arvin B AlbaresAustraliaElwin Sharvill UNQUALIFIED
Aditya D FerenczArgentinaIoni Bowcher NEW
Ashley B FollerRussiaOnyama Limba PROPOSAL
Ivar F AlbaresItalyBernardo Dominic PROPOSAL
Jefferson L ChuiUnited KingdomElwin Sharvill RENEWAL
Jeanfrancois M SergiBrazilElwin Sharvill RENEWAL
Smith Q FerenczRussiaIoni Bowcher RENEWAL
Morrow A GlickRussiaElwin Sharvill RENEWAL
Johnson B MaletArgentinaStephen Shaw NEGOTIATION
Aruna R SlusarskiIndiaXuxue Feng UNQUALIFIED
Arvin A OldroydRussiaIvan Magalhaes QUALIFIED
Nicolas Y RoysterItalyIoni Bowcher RENEWAL
Silvio S SergiUnited KingdomStephen Shaw PROPOSAL
Nicolas C WhobreyUnited KingdomIoni Bowcher RENEWAL
Wickens T DarakjyRussiaIvan Magalhaes UNQUALIFIED
Mujtaba E TollnerAustraliaStephen Shaw RENEWAL
Cody D OldroydCanadaAmy Elsner RENEWAL
Greenwood S FlosiAustraliaOnyama Limba PROPOSAL
Aika B PerinBrazilAsiya Javayant RENEWAL
Leja G ShinkoRussiaXuxue Feng QUALIFIED
Salvatore U RimUnited KingdomAnna Fali NEW
Isabel R NickaCanadaAsiya Javayant QUALIFIED
Isabel X InouyeRussiaAsiya Javayant NEGOTIATION
Wickens F SaylorsFranceElwin Sharvill NEGOTIATION
Leon M DilliardFranceIvan Magalhaes PROPOSAL
Kaitlin J PerinGermanyAsiya Javayant NEW
Munro L TollnerBrazilBernardo Dominic PROPOSAL
Adams C SchemmerBrazilElwin Sharvill RENEWAL
Jones Q DilliardBrazilIoni Bowcher QUALIFIED
Costa J BowleyIndiaOnyama Limba QUALIFIED
Juan M OldroydUnited KingdomAnna Fali PROPOSAL
James I InouyeBrazilBernardo Dominic UNQUALIFIED
Greenwood Y CaudyArgentinaBernardo Dominic NEGOTIATION
Aika W WhobreyArgentinaIvan Magalhaes NEGOTIATION
Ricardo Y RimIndiaOnyama Limba NEGOTIATION
Faith W DilliardJapanOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Johnson U BologniaRussiaElwin Sharvill NEW
Salvatore S OstroskyBrazilAsiya Javayant UNQUALIFIED
Claire Y KuskoFranceXuxue Feng QUALIFIED
Antonio M StockhamAustraliaXuxue Feng UNQUALIFIED
Deepesh R NestleArgentinaAsiya Javayant RENEWAL
Wickens K RulapaughFranceOnyama Limba NEGOTIATION
Octavia G WaycottItalyIvan Magalhaes UNQUALIFIED
Mujtaba L KuskoJapanAsiya Javayant RENEWAL
Kadeem J WieserArgentinaAsiya Javayant PROPOSAL
Morrow B OldroydAustraliaAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo J MaletRussia2025-04-07Rousseaux, Michael Esq PROPOSAL4Asiya Javayant
1001Greenwood K KolmetzBrazil2025-04-02Rangoni Of Florence NEW87Amy Elsner
1002Greenwood J PoquetteUnited Kingdom2025-04-14Chemel, James L Cpa RENEWAL87Asiya Javayant
1003Munro U GauchoSpain2025-04-06Morlong Associates UNQUALIFIED34Amy Elsner
1004Jones O TollnerItaly2025-04-22Chemel, James L Cpa UNQUALIFIED98Xuxue Feng
1005Chavez T MaletRussia2025-04-12Rousseaux, Michael Esq NEGOTIATION56Amy Elsner
1006Murillo T DarakjyBrazil2025-04-09King, Christopher A Esq UNQUALIFIED80Anna Fali
1007Deepesh Q VenereRussia2025-04-18Benton, John B Jr NEW72Onyama Limba
1008Leon I ButtBrazil2025-04-12Printing Dimensions NEGOTIATION2Bernardo Dominic
1009Ivar C RulapaughSpain2025-04-23Commercial Press UNQUALIFIED63Elwin Sharvill
1010James V FerenczAustralia2025-04-23Benton, John B Jr NEW33Amy Elsner
1011Ivar A GillianJapan2025-04-30Buckley Miller Wright NEGOTIATION92Ioni Bowcher
1012Cody S WaycottCanada2025-04-07Commercial Press UNQUALIFIED77Elwin Sharvill
1013Aika N WaycottArgentina2025-04-24Benton, John B Jr NEGOTIATION0Xuxue Feng
1014Greenwood B GarufiGermany2025-04-13Chanay, Jeffrey A Esq PROPOSAL78Xuxue Feng
1015Isabel B IturbideAustralia2025-04-10Rangoni Of Florence UNQUALIFIED37Anna Fali
1016Stacey N WieserAustralia2025-04-22Rangoni Of Florence NEGOTIATION43Ivan Magalhaes
1017Darci H BowleySpain2025-04-03Printing Dimensions NEW94Ivan Magalhaes
1018Julie C InouyeGermany2025-04-23Commercial Press UNQUALIFIED39Xuxue Feng
1019Leja D WieserBrazil2025-04-05Chanay, Jeffrey A Esq UNQUALIFIED57Bernardo Dominic
1020Costa H BowleyArgentina2025-04-16Rangoni Of Florence PROPOSAL57Amy Elsner
1021Adams O IturbideCanada2025-04-17Chanay, Jeffrey A Esq NEGOTIATION16Asiya Javayant
1022Maria Y BowleyArgentina2025-04-22Benton, John B Jr NEGOTIATION89Asiya Javayant
1023Cody J KuskoUnited Kingdom2025-04-04Dorl, James J Esq NEW90Anna Fali
1024Mayumi T MarrierFrance2025-04-07Feiner Bros PROPOSAL35Amy Elsner
1025Jefferson A CaudyAustralia2025-04-13Chemel, James L Cpa UNQUALIFIED54Ivan Magalhaes
1026Stacey V MacleadFrance2025-04-12Feiner Bros PROPOSAL79Ivan Magalhaes
1027James E RoysterSpain2025-04-06Feltz Printing Service NEGOTIATION86Ivan Magalhaes
1028Deepesh T WieserItaly2025-04-05Rousseaux, Michael Esq PROPOSAL51Ivan Magalhaes
1029Cody J WieserCanada2025-04-23Feiner Bros NEW22Onyama Limba
1030Isabel T DilliardGermany2025-04-06Chanay, Jeffrey A Esq PROPOSAL37Anna Fali
1031Ricardo W ChuiUnited Kingdom2025-04-10Rangoni Of Florence RENEWAL54Amy Elsner
1032Chavez A SaylorsJapan2025-04-14Buckley Miller Wright RENEWAL44Ioni Bowcher
1033Jennifer O StensethCanada2025-04-12King, Christopher A Esq UNQUALIFIED95Xuxue Feng
1034Izzy H RimRussia2025-04-24Buckley Miller Wright QUALIFIED1Xuxue Feng
1035Maria K RoysterJapan2025-04-29Benton, John B Jr PROPOSAL85Elwin Sharvill
1036Morrow M FerenczItaly2025-04-23Feiner Bros PROPOSAL20Ioni Bowcher
1037Octavia G RoysterJapan2025-04-30King, Christopher A Esq NEGOTIATION51Asiya Javayant
1038Silvio Z WieserArgentina2025-04-14Morlong Associates NEGOTIATION67Xuxue Feng
1039Juan V GlickFrance2025-04-04Chanay, Jeffrey A Esq PROPOSAL98Amy Elsner
1040Nicolas U RutaBrazil2025-04-09Feiner Bros RENEWAL7Stephen Shaw
1041Maisha L BowleySpain2025-04-23Benton, John B Jr UNQUALIFIED64Elwin Sharvill
1042Silvio D RutaArgentina2025-04-17Benton, John B Jr NEGOTIATION86Ioni Bowcher
1043Maria Q AmigonIndia2025-04-08Buckley Miller Wright NEGOTIATION97Asiya Javayant
1044Murillo R StensethItaly2025-04-26Chapman, Ross E Esq NEW42Amy Elsner
1045Antonio W DarakjySpain2025-04-11Rangoni Of Florence NEGOTIATION66Ivan Magalhaes
1046Leon V NestleRussia2025-04-10Commercial Press NEGOTIATION34Stephen Shaw
1047Ricardo O RimIndia2025-04-05Chemel, James L Cpa QUALIFIED85Ivan Magalhaes
1048Maisha B RimItaly2025-04-13Chanay, Jeffrey A Esq NEW52Asiya Javayant
1049Izzy X GlickGermany2025-04-16Morlong Associates UNQUALIFIED27Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Johnson T TollnerSpainStephen Shaw RENEWAL
Chavez R PoquetteJapanStephen Shaw NEW
Mujtaba E ButtIndiaAsiya Javayant UNQUALIFIED
Cody G InouyeGermanyAsiya Javayant UNQUALIFIED
Silvio Z TollnerCanadaAnna Fali UNQUALIFIED
Juan K CaudySpainBernardo Dominic UNQUALIFIED
Alejandro M GlickBrazilElwin Sharvill NEGOTIATION
Clifford F RutaIndiaIoni Bowcher RENEWAL
Murillo Q SaylorsItalyXuxue Feng NEW
David A ChuiIndiaAsiya Javayant NEW
Jones Z IturbideRussiaStephen Shaw RENEWAL
Murillo C FlosiBrazilXuxue Feng QUALIFIED
Johnson X ChuiAustraliaStephen Shaw NEW
Munro R NestleJapanIvan Magalhaes PROPOSAL
Aruna O FigeroaItalyElwin Sharvill UNQUALIFIED
Sinclair V NickaUnited KingdomElwin Sharvill QUALIFIED
Stacey Y GauchoCanadaIoni Bowcher UNQUALIFIED
Faith K OstroskyArgentinaIvan Magalhaes RENEWAL
Antonio P AlbaresCanadaIvan Magalhaes NEGOTIATION
Arvin T CaldareraIndiaXuxue Feng QUALIFIED
Octavia D RulapaughFranceIvan Magalhaes NEGOTIATION
Mayumi D RimBrazilOnyama Limba NEGOTIATION
Johnson I BologniaUnited KingdomAsiya Javayant UNQUALIFIED
Johnson V PoquetteAustraliaIoni Bowcher PROPOSAL
Sinclair Q WaycottCanadaXuxue Feng QUALIFIED
Cody S BowleyIndiaAnna Fali PROPOSAL
Jennifer B InouyeUnited KingdomIvan Magalhaes NEGOTIATION
James V GauchoUnited KingdomXuxue Feng PROPOSAL
Adams P CaldareraFranceIoni Bowcher QUALIFIED
Cody S OstroskySpainOnyama Limba RENEWAL
Adams Y StockhamUnited KingdomAmy Elsner PROPOSAL
Francesco D GauchoBrazilAnna Fali NEGOTIATION
Costa E ChuiRussiaXuxue Feng QUALIFIED
Juan Q IturbideArgentinaStephen Shaw RENEWAL
Wickens Y CampainGermanyIoni Bowcher NEW
Emily K WieserIndiaIoni Bowcher NEW
Jones V GauchoArgentinaXuxue Feng RENEWAL
Faith V KolmetzBrazilAnna Fali QUALIFIED
Misaki B MorascaUnited KingdomAnna Fali NEGOTIATION
Misaki T BowleyFranceOnyama Limba UNQUALIFIED
Francesco H GlickSpainAmy Elsner QUALIFIED
Morrow A NestleRussiaXuxue Feng NEGOTIATION
Leja K WieserJapanStephen Shaw NEGOTIATION
Salvatore X ChuiArgentinaBernardo Dominic NEGOTIATION
Alejandro W MorascaAustraliaOnyama Limba RENEWAL
Emily D VenereArgentinaBernardo Dominic UNQUALIFIED
Ivar D OldroydArgentinaAmy Elsner QUALIFIED
Murillo V MaletItalyStephen Shaw RENEWAL
Greenwood A CaudySpainIoni Bowcher NEGOTIATION
Salvatore I SchemmerIndiaIvan Magalhaes RENEWAL
Frozen Columns
Name
Jones C Nicka
Mujtaba T Malet
Morrow I Malet
Octavia P Oldroyd
Wickens R Foller
Misaki O Oldroyd
Arvin T Malet
Jeanfrancois Y Venere
James Y Butt
Nicolas T Darakjy
Leja F Malet
Ricardo I Malet
James H Ruta
Julie N Kolmetz
Maria Y Slusarski
Morrow T Waycott
Darci W Bowley
Jennifer I Nestle
Misaki I Royster
Mayumi D Stockham
Tony P Inouye
Sinclair B Slusarski
Costa V Kolmetz
James Z Albares
Salvatore P Kolmetz
Ashley E Briddick
Mujtaba D Morasca
Sinclair T Campain
Jefferson L Slusarski
Octavia K Stenseth
Emily M Vocelka
Stacey P Venere
Adams Q Wieser
Kadeem T Marrier
Faith A Chui
Arvin A Venere
David F Rulapaugh
Smith U Figeroa
Wickens B Schemmer
Arvin W Schemmer
Wickens D Wieser
Kadeem Q Rulapaugh
Izzy H Figeroa
Claire J Kolmetz
Jefferson Q Iturbide
James I Flosi
Octavia C Venere
Jefferson O Maclead
Morrow L Nestle
Leja D Gaucho
IdCountryDate
1000Japan2025-04-18
1001Russia2025-04-20
1002Spain2025-04-02
1003India2025-04-11
1004Canada2025-04-29
1005Canada2025-04-23
1006Canada2025-04-11
1007Australia2025-04-15
1008India2025-04-12
1009Italy2025-04-08
1010Australia2025-04-02
1011Canada2025-04-07
1012Canada2025-04-25
1013Japan2025-04-20
1014Brazil2025-04-20
1015Brazil2025-04-30
1016Spain2025-04-20
1017Argentina2025-04-02
1018Russia2025-04-24
1019Italy2025-04-18
1020Italy2025-04-02
1021India2025-04-09
1022Brazil2025-04-11
1023Brazil2025-04-30
1024Canada2025-04-05
1025India2025-04-20
1026Russia2025-04-19
1027Canada2025-04-01
1028Australia2025-04-21
1029Spain2025-04-09
1030Russia2025-04-17
1031India2025-04-30
1032Italy2025-04-08
1033Germany2025-04-05
1034Germany2025-04-11
1035United Kingdom2025-04-20
1036Russia2025-04-06
1037Australia2025-04-15
1038Argentina2025-04-11
1039Canada2025-04-07
1040Russia2025-04-09
1041India2025-04-13
1042France2025-04-16
1043Italy2025-04-19
1044Germany2025-04-14
1045United Kingdom2025-04-21
1046India2025-04-27
1047Russia2025-04-14
1048Italy2025-04-22
1049Russia2025-04-23

On-Demand Data

NameIdCountryDate
Claire Z Paprocki1000Canada2025-04-01
Johnson N Kolmetz1001Japan2025-04-03
Julie A Gaucho1002Japan2025-04-22
Octavia K Garufi1003India2025-04-21
Deepesh X Darakjy1004Russia2025-04-01
Kadeem K Stenseth1005Brazil2025-04-01
Jeanfrancois C Sergi1006Argentina2025-04-19
Jennifer X Stenseth1007Argentina2025-04-15
Smith B Vocelka1008Germany2025-04-22
Deepesh W Paprocki1009India2025-04-06
Nicolas V Maclead1010India2025-04-09
David B Iturbide1011Canada2025-04-10
Emily V Chui1012Argentina2025-04-03
Greenwood S Nicka1013Argentina2025-04-05
Leja X Foller1014Spain2025-04-05
Deepesh J Caudy1015Russia2025-04-17
Arvin U Darakjy1016Japan2025-04-25
Costa Q Ostrosky1017Russia2025-04-15
Ricardo K Oldroyd1018India2025-04-25
Nicolas M Caldarera1019Spain2025-04-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo C RutaIndiaElwin Sharvill NEGOTIATION
Alejandro M WaycottGermanyAmy Elsner PROPOSAL
Maisha L SlusarskiBrazilBernardo Dominic UNQUALIFIED
Mayumi B RoysterIndiaElwin Sharvill NEGOTIATION
Darci U OldroydSpainOnyama Limba RENEWAL
Nicolas G FigeroaCanadaXuxue Feng PROPOSAL
Jones Z KuskoArgentinaAsiya Javayant NEW
Munro W RutaArgentinaElwin Sharvill QUALIFIED
Deepesh K StockhamItalyOnyama Limba NEW
Sinclair B PerinUnited KingdomOnyama Limba PROPOSAL
Faith W FerenczItalyStephen Shaw NEW
James I GarufiRussiaIvan Magalhaes PROPOSAL
Arvin W StockhamBrazilIoni Bowcher PROPOSAL
Julie R AlbaresGermanyXuxue Feng UNQUALIFIED
Ivar X AmigonFranceAsiya Javayant PROPOSAL
Leon J FlosiRussiaAsiya Javayant RENEWAL
Morrow D MorascaSpainStephen Shaw PROPOSAL
Julie K DarakjyRussiaXuxue Feng QUALIFIED
Johnson S StockhamRussiaAsiya Javayant PROPOSAL
Jones G MacleadGermanyIoni Bowcher PROPOSAL
Octavia R RulapaughItalyIoni Bowcher PROPOSAL
Claire N PaprockiGermanyStephen Shaw NEGOTIATION
Jennifer Y RulapaughJapanAsiya Javayant NEGOTIATION
Claire H SchemmerRussiaAsiya Javayant UNQUALIFIED
Faith N BologniaGermanyIoni Bowcher NEGOTIATION
Izzy W PerinIndiaBernardo Dominic NEGOTIATION
Arvin R GauchoBrazilOnyama Limba QUALIFIED
Misaki L IturbideCanadaAnna Fali NEW
Isabel G WhobreyUnited KingdomIoni Bowcher QUALIFIED
Antonio M SaylorsFranceOnyama Limba PROPOSAL
Deepesh L AlbaresUnited KingdomXuxue Feng UNQUALIFIED
Wickens T RutaBrazilBernardo Dominic QUALIFIED
Jennifer C TollnerBrazilOnyama Limba NEGOTIATION
Chavez X RoysterIndiaOnyama Limba RENEWAL
Murillo Q VocelkaJapanBernardo Dominic QUALIFIED
Emily P DarakjyRussiaAsiya Javayant QUALIFIED
James G BriddickFranceXuxue Feng NEGOTIATION
Ricardo M AlbaresFranceIoni Bowcher UNQUALIFIED
Salvatore F MaletIndiaXuxue Feng NEGOTIATION
Morrow R KuskoUnited KingdomAsiya Javayant 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>