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
Mayumi M DarakjyCanadaElwin Sharvill PROPOSAL
Ivar K VocelkaArgentinaAsiya Javayant NEW
Ashley A PerinBrazilElwin Sharvill NEW
Stacey H VocelkaFranceIvan Magalhaes NEGOTIATION
Leja E MarrierAustraliaAnna Fali RENEWAL
Salvatore Y ButtIndiaAnna Fali NEW
Munro V OldroydGermanyElwin Sharvill RENEWAL
Ashley E MaletUnited KingdomStephen Shaw NEW
Stacey L RulapaughBrazilOnyama Limba RENEWAL
Octavia B OstroskySpainAmy Elsner NEGOTIATION
Mayumi W MarrierCanadaBernardo Dominic QUALIFIED
Faith E SchemmerCanadaXuxue Feng NEGOTIATION
David R FerenczUnited KingdomStephen Shaw NEW
Emily V ButtBrazilOnyama Limba UNQUALIFIED
Mayumi M PaprockiItalyStephen Shaw NEGOTIATION
Clifford N AlbaresUnited KingdomBernardo Dominic UNQUALIFIED
Murillo W PoquetteFranceAnna Fali QUALIFIED
Stacey Q IturbideItalyAmy Elsner NEGOTIATION
Greenwood O ButtSpainElwin Sharvill QUALIFIED
Claire Y CaldareraUnited KingdomBernardo Dominic QUALIFIED
Arvin V BologniaSpainXuxue Feng UNQUALIFIED
Ivar S KuskoJapanAmy Elsner NEGOTIATION
Leja F MarrierGermanyXuxue Feng PROPOSAL
Jefferson I FlosiBrazilElwin Sharvill RENEWAL
Morrow Y KuskoJapanIvan Magalhaes PROPOSAL
Chavez I ButtBrazilIoni Bowcher QUALIFIED
Nicolas I FigeroaFranceStephen Shaw UNQUALIFIED
Arvin J ButtBrazilAmy Elsner UNQUALIFIED
Ricardo M StensethIndiaOnyama Limba QUALIFIED
Salvatore P BowleyArgentinaAnna Fali QUALIFIED
James D OldroydCanadaStephen Shaw NEW
Greenwood P RoysterArgentinaElwin Sharvill NEGOTIATION
Clifford S SaylorsJapanElwin Sharvill UNQUALIFIED
Munro W OldroydArgentinaAmy Elsner UNQUALIFIED
Faith R MarrierRussiaIoni Bowcher UNQUALIFIED
Clifford M CaldareraRussiaAsiya Javayant UNQUALIFIED
Johnson L PerinCanadaBernardo Dominic RENEWAL
Johnson N VocelkaArgentinaIvan Magalhaes UNQUALIFIED
Izzy P MaletRussiaXuxue Feng UNQUALIFIED
Morrow A KuskoAustraliaIoni Bowcher QUALIFIED
Maria X RoysterBrazilXuxue Feng PROPOSAL
Arvin U AmigonFranceBernardo Dominic PROPOSAL
Rodrigues Q CaldareraRussiaStephen Shaw QUALIFIED
Kaitlin N BowleyFranceIoni Bowcher UNQUALIFIED
Francesco V RulapaughUnited KingdomAmy Elsner NEW
Jennifer Q MacleadFranceXuxue Feng NEW
Clifford Q DarakjyIndiaAmy Elsner NEGOTIATION
Salvatore T CaldareraUnited KingdomAnna Fali PROPOSAL
Aditya O NestleAustraliaStephen Shaw RENEWAL
Darci Y StensethAustraliaElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Ricardo I WaycottGermanyIvan Magalhaes QUALIFIED
Francesco P OstroskyFranceStephen Shaw RENEWAL
Kadeem H VenereBrazilIoni Bowcher UNQUALIFIED
Arvin E BriddickIndiaBernardo Dominic UNQUALIFIED
Jeanfrancois P ShinkoGermanyOnyama Limba NEW
Ivar S RutaIndiaIoni Bowcher NEW
Misaki E PoquetteAustraliaXuxue Feng PROPOSAL
Costa D AlbaresIndiaStephen Shaw QUALIFIED
James U VenereIndiaStephen Shaw UNQUALIFIED
Claire M NestleArgentinaIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki F RimSpain2024-06-16King, Christopher A Esq UNQUALIFIED4Xuxue Feng
1001Leon P GarufiFrance2024-05-27Feiner Bros PROPOSAL0Onyama Limba
1002Emily D SaylorsItaly2024-06-10Commercial Press PROPOSAL11Elwin Sharvill
1003Stacey W BriddickCanada2024-06-19Commercial Press QUALIFIED34Anna Fali
1004Maria T InouyeGermany2024-05-24Chanay, Jeffrey A Esq NEW43Ioni Bowcher
1005Maria Y BriddickGermany2024-05-26Dorl, James J Esq RENEWAL39Onyama Limba
1006James L GauchoItaly2024-06-03Chapman, Ross E Esq NEW77Onyama Limba
1007Maria H CaldareraUnited Kingdom2024-06-10Chapman, Ross E Esq PROPOSAL13Ioni Bowcher
1008Leja N MacleadItaly2024-06-10Chemel, James L Cpa NEW52Elwin Sharvill
1009Ricardo X KuskoItaly2024-06-14Chanay, Jeffrey A Esq QUALIFIED22Amy Elsner
1010James V KuskoSpain2024-05-26King, Christopher A Esq UNQUALIFIED35Anna Fali
1011Ivar M FerenczArgentina2024-06-04Chapman, Ross E Esq QUALIFIED77Ivan Magalhaes
1012Munro D FollerFrance2024-06-11Commercial Press QUALIFIED82Stephen Shaw
1013Maisha J PerinCanada2024-05-29Feltz Printing Service PROPOSAL6Stephen Shaw
1014Morrow D GlickArgentina2024-06-20Feiner Bros NEW22Asiya Javayant
1015Ivar C MaletIndia2024-06-01Feltz Printing Service RENEWAL62Bernardo Dominic
1016Jennifer D DarakjyJapan2024-06-05Printing Dimensions PROPOSAL72Amy Elsner
1017Octavia D FerenczGermany2024-06-01Feltz Printing Service UNQUALIFIED74Onyama Limba
1018Darci X BowleyIndia2024-06-07Feltz Printing Service NEGOTIATION82Stephen Shaw
1019Johnson A DarakjyArgentina2024-06-03Chapman, Ross E Esq QUALIFIED32Ioni Bowcher
1020Darci V CampainIndia2024-06-10Printing Dimensions RENEWAL41Xuxue Feng
1021Munro P PaprockiSpain2024-06-04Rousseaux, Michael Esq UNQUALIFIED24Amy Elsner
1022Juan T RutaAustralia2024-06-11King, Christopher A Esq NEGOTIATION2Ivan Magalhaes
1023Emily S DilliardRussia2024-06-03Chapman, Ross E Esq QUALIFIED42Amy Elsner
1024Sinclair P VocelkaSpain2024-05-24Morlong Associates NEGOTIATION37Onyama Limba
1025Mujtaba S GlickAustralia2024-06-16Benton, John B Jr PROPOSAL51Asiya Javayant
1026Misaki B SlusarskiAustralia2024-06-06Feltz Printing Service PROPOSAL37Elwin Sharvill
1027Isabel N PoquetteSpain2024-06-14Feiner Bros NEGOTIATION78Ioni Bowcher
1028Darci W DoeCanada2024-06-11Chemel, James L Cpa PROPOSAL41Amy Elsner
1029Faith B DarakjyAustralia2024-06-12Rangoni Of Florence PROPOSAL69Amy Elsner
1030Deepesh C OstroskySpain2024-06-18Dorl, James J Esq QUALIFIED99Ivan Magalhaes
1031Claire P OstroskyBrazil2024-05-26Morlong Associates NEGOTIATION93Asiya Javayant
1032Kaitlin N FigeroaAustralia2024-06-05Feiner Bros PROPOSAL59Amy Elsner
1033Ricardo I CaldareraBrazil2024-05-27Chemel, James L Cpa QUALIFIED90Stephen Shaw
1034Arvin L WieserAustralia2024-06-05Feltz Printing Service NEGOTIATION17Asiya Javayant
1035Maria O KuskoItaly2024-06-03Chanay, Jeffrey A Esq RENEWAL29Elwin Sharvill
1036Aika G KuskoBrazil2024-05-24King, Christopher A Esq NEGOTIATION22Amy Elsner
1037Misaki S MacleadIndia2024-05-23King, Christopher A Esq QUALIFIED3Onyama Limba
1038Kaitlin O WaycottBrazil2024-06-01Rousseaux, Michael Esq QUALIFIED87Amy Elsner
1039Izzy Y MaletRussia2024-06-21Rangoni Of Florence QUALIFIED70Ioni Bowcher
1040Claire M DoeCanada2024-06-08Benton, John B Jr QUALIFIED97Anna Fali
1041Francesco K RutaGermany2024-06-20Chanay, Jeffrey A Esq NEGOTIATION52Ioni Bowcher
1042Julie Y RulapaughIndia2024-05-25Feiner Bros RENEWAL84Stephen Shaw
1043Ashley S MarrierJapan2024-06-18Chemel, James L Cpa UNQUALIFIED63Onyama Limba
1044Juan G WaycottSpain2024-06-09Chapman, Ross E Esq NEW84Amy Elsner
1045Ricardo E SergiIndia2024-06-18Chemel, James L Cpa PROPOSAL0Ivan Magalhaes
1046Leja J OldroydSpain2024-06-10Chemel, James L Cpa RENEWAL53Bernardo Dominic
1047Jones J PaprockiArgentina2024-06-06Buckley Miller Wright NEGOTIATION50Bernardo Dominic
1048David Z NestleJapan2024-06-20Chapman, Ross E Esq PROPOSAL29Stephen Shaw
1049Greenwood P GlickAustralia2024-05-30Chapman, Ross E Esq PROPOSAL6Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
David G MaletIndiaStephen Shaw UNQUALIFIED
Jefferson G SchemmerIndiaElwin Sharvill PROPOSAL
Jones E ChuiGermanyBernardo Dominic PROPOSAL
Julie A ButtIndiaAmy Elsner NEGOTIATION
Francesco X InouyeBrazilAnna Fali UNQUALIFIED
Cody J GlickRussiaOnyama Limba UNQUALIFIED
Kadeem Z WaycottArgentinaXuxue Feng NEGOTIATION
Tony U GlickFranceAnna Fali UNQUALIFIED
Alejandro A CaldareraRussiaIoni Bowcher RENEWAL
David Y KolmetzGermanyStephen Shaw PROPOSAL
Antonio M OldroydAustraliaAmy Elsner NEGOTIATION
Emily A TollnerCanadaAmy Elsner RENEWAL
Adams S AmigonAustraliaOnyama Limba QUALIFIED
Chavez F KuskoArgentinaAsiya Javayant RENEWAL
Mayumi M BriddickCanadaIoni Bowcher UNQUALIFIED
Mayumi B RimSpainIvan Magalhaes UNQUALIFIED
Jennifer J ButtAustraliaOnyama Limba NEW
Izzy E RimRussiaBernardo Dominic PROPOSAL
Stacey J SchemmerArgentinaAsiya Javayant NEGOTIATION
Murillo Q OldroydFranceStephen Shaw NEGOTIATION
Faith G AlbaresUnited KingdomIvan Magalhaes PROPOSAL
Silvio N DoeItalyAsiya Javayant NEW
Jeanfrancois M GlickGermanyStephen Shaw QUALIFIED
Julie Z AmigonIndiaAnna Fali QUALIFIED
Aditya U CampainSpainStephen Shaw PROPOSAL
Deepesh N DilliardJapanAsiya Javayant NEGOTIATION
Jeanfrancois Z WaycottFranceAmy Elsner QUALIFIED
Kaitlin R SaylorsItalyOnyama Limba RENEWAL
Claire R ChuiCanadaAmy Elsner QUALIFIED
Antonio P OstroskyRussiaOnyama Limba QUALIFIED
Salvatore A SchemmerCanadaBernardo Dominic NEW
Izzy N KolmetzGermanyXuxue Feng NEGOTIATION
Munro Z MaletCanadaXuxue Feng NEGOTIATION
Maisha U InouyeRussiaElwin Sharvill QUALIFIED
Kadeem P OstroskyGermanyElwin Sharvill UNQUALIFIED
Leon U ChuiItalyOnyama Limba RENEWAL
Aruna R FerenczGermanyStephen Shaw RENEWAL
Tony K RutaBrazilIvan Magalhaes PROPOSAL
Claire Q CampainItalyElwin Sharvill NEGOTIATION
Salvatore W NickaRussiaAmy Elsner RENEWAL
Costa L PoquetteItalyIvan Magalhaes RENEWAL
Francesco O StockhamArgentinaXuxue Feng NEGOTIATION
Darci H StockhamAustraliaXuxue Feng UNQUALIFIED
Izzy V PaprockiAustraliaElwin Sharvill NEW
Izzy H SlusarskiGermanyBernardo Dominic NEW
Morrow O FollerItalyElwin Sharvill PROPOSAL
Leon W WaycottSpainElwin Sharvill PROPOSAL
Alejandro I NickaIndiaElwin Sharvill UNQUALIFIED
Mayumi P ChuiCanadaIvan Magalhaes PROPOSAL
Chavez Z MaletUnited KingdomAsiya Javayant QUALIFIED
Frozen Columns
Name
David O Waycott
Clifford J Flosi
Mujtaba A Caudy
Aruna M Dilliard
Clifford X Venere
Clifford O Inouye
Jeanfrancois K Stenseth
Isabel Q Caldarera
Cody A Ferencz
Kaitlin M Venere
Stacey M Rim
Jones Z Marrier
Francesco H Royster
Maisha F Marrier
Cody S Vocelka
Costa A Gillian
Sinclair G Bowley
Jennifer B Ferencz
Ashley O Rulapaugh
Silvio B Wieser
Francesco G Caudy
Adams D Nicka
Jeanfrancois Q Rulapaugh
Morrow Q Vocelka
Jennifer G Darakjy
Aika P Oldroyd
Greenwood X Stockham
Silvio S Gillian
Alejandro T Doe
Isabel L Royster
Misaki N Nicka
Kaitlin T Foller
Chavez W Royster
Faith D Briddick
David X Stockham
Isabel N Albares
Morrow C Perin
Claire W Oldroyd
Wickens C Caudy
Ashley Q Albares
Emily E Paprocki
Faith I Royster
Izzy K Kusko
Ashley U Stockham
Kadeem T Flosi
Misaki V Malet
Nicolas V Slusarski
Greenwood O Albares
Aika J Iturbide
Murillo O Foller
IdCountryDate
1000Brazil2024-06-16
1001Brazil2024-05-24
1002Russia2024-06-15
1003Brazil2024-05-26
1004Canada2024-06-04
1005Argentina2024-06-20
1006Spain2024-05-25
1007Spain2024-05-25
1008Russia2024-06-06
1009Argentina2024-05-24
1010Spain2024-06-20
1011Canada2024-06-03
1012Russia2024-05-28
1013Japan2024-06-14
1014Spain2024-06-12
1015Canada2024-06-12
1016Canada2024-06-08
1017Argentina2024-05-31
1018United Kingdom2024-05-31
1019Japan2024-06-21
1020Japan2024-06-20
1021Japan2024-06-06
1022Italy2024-06-16
1023Germany2024-06-05
1024Brazil2024-05-27
1025Russia2024-06-21
1026Japan2024-06-05
1027United Kingdom2024-06-07
1028Germany2024-06-18
1029Argentina2024-06-20
1030Australia2024-05-28
1031Australia2024-05-27
1032United Kingdom2024-06-21
1033Germany2024-05-31
1034France2024-05-23
1035Germany2024-06-11
1036Spain2024-06-11
1037Australia2024-06-05
1038Argentina2024-06-17
1039India2024-06-12
1040Spain2024-06-15
1041Argentina2024-06-11
1042Germany2024-05-24
1043Italy2024-05-23
1044Russia2024-06-09
1045France2024-06-15
1046Japan2024-05-25
1047United Kingdom2024-05-28
1048Japan2024-05-25
1049Spain2024-06-14

On-Demand Data

NameIdCountryDate
Jefferson V Ruta1000United Kingdom2024-06-18
Stacey J Darakjy1001Japan2024-05-26
Kadeem G Butt1002Brazil2024-05-23
Izzy C Saylors1003Australia2024-05-25
Darci T Perin1004Canada2024-06-10
Smith N Nestle1005Australia2024-06-15
Sinclair O Garufi1006United Kingdom2024-06-19
Juan L Venere1007United Kingdom2024-06-16
Rodrigues Q Oldroyd1008United Kingdom2024-05-26
Costa O Vocelka1009Australia2024-06-12
Smith F Bowley1010India2024-06-17
Stacey E Perin1011Argentina2024-05-28
Isabel L Kolmetz1012Argentina2024-05-29
Sinclair M Tollner1013Russia2024-06-03
Adams I Bowley1014France2024-06-11
Munro Y Ostrosky1015Canada2024-06-17
Jefferson B Kusko1016Canada2024-06-16
David S Campain1017Australia2024-06-20
Emily I Bowley1018United Kingdom2024-05-29
Smith D Schemmer1019United Kingdom2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco E GauchoGermanyStephen Shaw RENEWAL
Wickens L StockhamAustraliaElwin Sharvill PROPOSAL
Antonio R WaycottAustraliaOnyama Limba RENEWAL
Maisha D FollerItalyStephen Shaw QUALIFIED
Emily J OldroydJapanAsiya Javayant NEGOTIATION
Maria V BowleyJapanAsiya Javayant RENEWAL
Jennifer X StockhamJapanAsiya Javayant RENEWAL
Alejandro I FigeroaGermanyAsiya Javayant UNQUALIFIED
Tony G AlbaresCanadaBernardo Dominic NEW
James V SlusarskiSpainAmy Elsner RENEWAL
Jefferson O StensethIndiaStephen Shaw NEW
Chavez Q SaylorsItalyOnyama Limba NEW
David V FollerUnited KingdomIvan Magalhaes QUALIFIED
Nicolas F DarakjyAustraliaBernardo Dominic RENEWAL
Jennifer B IturbideUnited KingdomStephen Shaw NEW
Leja I VocelkaJapanIoni Bowcher PROPOSAL
Julie E CampainGermanyXuxue Feng NEW
Emily V TollnerArgentinaXuxue Feng UNQUALIFIED
Jeanfrancois G OstroskyUnited KingdomXuxue Feng QUALIFIED
Jeanfrancois L KuskoCanadaIvan Magalhaes NEGOTIATION
Darci J AlbaresIndiaXuxue Feng NEGOTIATION
Jones Z CaudyUnited KingdomXuxue Feng PROPOSAL
James K OstroskyAustraliaXuxue Feng NEGOTIATION
Octavia H SlusarskiGermanyIoni Bowcher QUALIFIED
Cody J StensethGermanyXuxue Feng UNQUALIFIED
Claire B ChuiJapanIoni Bowcher PROPOSAL
Francesco N PoquetteBrazilAmy Elsner UNQUALIFIED
Maisha P RimSpainAmy Elsner PROPOSAL
Smith Y IturbideCanadaAsiya Javayant PROPOSAL
Tony A SergiGermanyAmy Elsner NEW
Claire A OldroydArgentinaBernardo Dominic RENEWAL
Arvin W MaletJapanIoni Bowcher RENEWAL
Ashley K AmigonUnited KingdomBernardo Dominic UNQUALIFIED
Greenwood A PaprockiBrazilBernardo Dominic UNQUALIFIED
Murillo O BriddickRussiaAsiya Javayant UNQUALIFIED
Misaki J SergiGermanyIoni Bowcher NEGOTIATION
Kadeem J VocelkaItalyAmy Elsner RENEWAL
Ivar V SergiCanadaAnna Fali UNQUALIFIED
David R ShinkoFranceIvan Magalhaes NEW
Aditya J MaletArgentinaOnyama Limba 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>