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
Faith J MorascaItalyElwin Sharvill RENEWAL
Chavez H MarrierFranceAnna Fali NEGOTIATION
Izzy K NickaIndiaStephen Shaw QUALIFIED
Clifford D MarrierRussiaElwin Sharvill PROPOSAL
Silvio X PoquetteAustraliaBernardo Dominic UNQUALIFIED
Aika T BologniaRussiaAnna Fali PROPOSAL
Salvatore T OstroskyBrazilIoni Bowcher PROPOSAL
Jefferson R CampainGermanyIoni Bowcher RENEWAL
James E AmigonGermanyStephen Shaw NEGOTIATION
Nicolas S StockhamFranceIoni Bowcher UNQUALIFIED
Izzy T DilliardSpainElwin Sharvill RENEWAL
Wickens F MarrierCanadaAnna Fali UNQUALIFIED
Misaki W GillianGermanyIoni Bowcher UNQUALIFIED
Francesco Y VenereRussiaAsiya Javayant UNQUALIFIED
Izzy Z VocelkaArgentinaElwin Sharvill PROPOSAL
Faith G WhobreyJapanXuxue Feng PROPOSAL
Tony H GlickUnited KingdomXuxue Feng PROPOSAL
Sinclair M PoquetteUnited KingdomElwin Sharvill NEGOTIATION
David K VenereCanadaIvan Magalhaes UNQUALIFIED
Mayumi S WaycottJapanElwin Sharvill NEGOTIATION
Ricardo Y GillianFranceIvan Magalhaes PROPOSAL
Emily C WaycottBrazilOnyama Limba QUALIFIED
Darci Q SaylorsIndiaIoni Bowcher QUALIFIED
Clifford M BowleyBrazilIoni Bowcher NEW
Emily A GauchoArgentinaAnna Fali PROPOSAL
Stacey Y PaprockiIndiaStephen Shaw NEGOTIATION
Izzy P TollnerIndiaAsiya Javayant NEGOTIATION
Jefferson F RulapaughBrazilAmy Elsner PROPOSAL
Isabel M GauchoSpainAsiya Javayant PROPOSAL
Claire E GlickBrazilElwin Sharvill NEW
Leon Z BowleyIndiaStephen Shaw PROPOSAL
Mujtaba Q VenereItalyAnna Fali PROPOSAL
Ashley R KolmetzCanadaOnyama Limba UNQUALIFIED
Octavia H BriddickItalyElwin Sharvill QUALIFIED
Murillo X OldroydArgentinaBernardo Dominic UNQUALIFIED
Alejandro T MorascaFranceAnna Fali NEW
Jennifer F FerenczRussiaIoni Bowcher NEW
Arvin T VenereArgentinaAmy Elsner UNQUALIFIED
Salvatore Q FollerFranceIvan Magalhaes NEW
Stacey K BowleyItalyBernardo Dominic RENEWAL
Darci I FigeroaBrazilAmy Elsner UNQUALIFIED
Costa W IturbideSpainStephen Shaw UNQUALIFIED
Jefferson S MacleadItalyAmy Elsner NEGOTIATION
Jones C PerinFranceAnna Fali NEW
Mayumi I TollnerIndiaStephen Shaw NEGOTIATION
Kadeem Q AlbaresArgentinaBernardo Dominic PROPOSAL
Aditya A RulapaughSpainOnyama Limba NEGOTIATION
Rodrigues D GlickAustraliaIvan Magalhaes UNQUALIFIED
Julie V StensethUnited KingdomIvan Magalhaes RENEWAL
Isabel N AlbaresFranceOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kaitlin U TollnerCanadaIvan Magalhaes PROPOSAL
Costa Y FollerAustraliaBernardo Dominic PROPOSAL
Rodrigues O NickaIndiaAnna Fali UNQUALIFIED
Maisha Q WieserBrazilXuxue Feng NEW
Nicolas L MaletAustraliaBernardo Dominic NEGOTIATION
David A GauchoAustraliaOnyama Limba UNQUALIFIED
Julie R KolmetzSpainBernardo Dominic PROPOSAL
Rodrigues I NestleIndiaStephen Shaw NEGOTIATION
James Z RoysterBrazilAnna Fali PROPOSAL
Munro I TollnerAustraliaOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio B BriddickIndia2025-04-13King, Christopher A Esq PROPOSAL38Asiya Javayant
1001Johnson M BologniaFrance2025-04-13Commercial Press QUALIFIED18Ivan Magalhaes
1002Nicolas P AmigonItaly2025-04-14King, Christopher A Esq PROPOSAL11Stephen Shaw
1003Emily R FlosiAustralia2025-04-07Morlong Associates UNQUALIFIED56Ioni Bowcher
1004Octavia Q FollerJapan2025-04-17Morlong Associates PROPOSAL2Ivan Magalhaes
1005Salvatore K WieserBrazil2025-04-18Benton, John B Jr PROPOSAL45Onyama Limba
1006Misaki Y BriddickFrance2025-04-15Chemel, James L Cpa QUALIFIED33Xuxue Feng
1007Jones P RulapaughGermany2025-04-19Chemel, James L Cpa PROPOSAL71Ioni Bowcher
1008Adams I OstroskyUnited Kingdom2025-04-18Feiner Bros QUALIFIED80Xuxue Feng
1009Clifford U VenereBrazil2025-04-18Truhlar And Truhlar Attys PROPOSAL62Bernardo Dominic
1010Octavia J GillianSpain2025-04-26Chemel, James L Cpa RENEWAL66Ioni Bowcher
1011Antonio B KolmetzCanada2025-04-30Benton, John B Jr UNQUALIFIED74Xuxue Feng
1012Octavia N FerenczUnited Kingdom2025-04-14Chanay, Jeffrey A Esq NEGOTIATION99Ioni Bowcher
1013Kadeem U RimSpain2025-04-23Commercial Press NEW30Xuxue Feng
1014Kadeem X SchemmerGermany2025-04-20Commercial Press NEGOTIATION27Bernardo Dominic
1015Isabel V GillianBrazil2025-04-17Chanay, Jeffrey A Esq RENEWAL35Ioni Bowcher
1016Munro J VocelkaAustralia2025-04-13Rangoni Of Florence RENEWAL82Xuxue Feng
1017Chavez G NickaGermany2025-04-25Commercial Press PROPOSAL42Amy Elsner
1018Juan T DarakjyIndia2025-04-28Rangoni Of Florence QUALIFIED29Bernardo Dominic
1019Kaitlin E GillianArgentina2025-04-04Morlong Associates QUALIFIED17Elwin Sharvill
1020Rodrigues N GlickFrance2025-04-24Rousseaux, Michael Esq UNQUALIFIED51Onyama Limba
1021Antonio C RutaFrance2025-04-11Rousseaux, Michael Esq NEW68Elwin Sharvill
1022Aruna R FerenczRussia2025-04-09Feltz Printing Service RENEWAL57Asiya Javayant
1023Aruna O PoquetteBrazil2025-04-25Truhlar And Truhlar Attys NEW29Amy Elsner
1024Juan J PaprockiIndia2025-04-08Chanay, Jeffrey A Esq NEW21Bernardo Dominic
1025Antonio D TollnerItaly2025-04-26Benton, John B Jr NEGOTIATION74Xuxue Feng
1026Aditya Z RimCanada2025-04-22Chemel, James L Cpa PROPOSAL23Amy Elsner
1027Cody Q AmigonArgentina2025-04-18King, Christopher A Esq QUALIFIED31Ioni Bowcher
1028Stacey U DoeAustralia2025-04-19Morlong Associates PROPOSAL48Xuxue Feng
1029Tony K SchemmerSpain2025-04-10Chemel, James L Cpa QUALIFIED67Bernardo Dominic
1030Isabel R KolmetzCanada2025-04-24Feltz Printing Service RENEWAL40Ioni Bowcher
1031Isabel T NestleJapan2025-04-09Chanay, Jeffrey A Esq UNQUALIFIED88Elwin Sharvill
1032Deepesh V CampainFrance2025-04-12Chemel, James L Cpa QUALIFIED92Ivan Magalhaes
1033Antonio N MaletUnited Kingdom2025-04-10Truhlar And Truhlar Attys RENEWAL33Bernardo Dominic
1034Isabel B ShinkoIndia2025-04-02Rangoni Of Florence NEGOTIATION28Bernardo Dominic
1035Stacey G IturbideGermany2025-04-19Feltz Printing Service NEW20Onyama Limba
1036Arvin Y NestleIndia2025-04-11Chanay, Jeffrey A Esq PROPOSAL67Anna Fali
1037Julie R DoeGermany2025-04-24King, Christopher A Esq NEGOTIATION24Xuxue Feng
1038Jennifer L NestleCanada2025-04-13Buckley Miller Wright PROPOSAL25Bernardo Dominic
1039Wickens L VocelkaFrance2025-04-26Chapman, Ross E Esq PROPOSAL67Xuxue Feng
1040Jefferson J VocelkaGermany2025-04-29Chapman, Ross E Esq RENEWAL69Ioni Bowcher
1041Darci W ShinkoJapan2025-04-19Buckley Miller Wright PROPOSAL90Amy Elsner
1042Izzy H BowleyItaly2025-04-02Buckley Miller Wright QUALIFIED86Elwin Sharvill
1043Claire D GillianIndia2025-04-18Benton, John B Jr PROPOSAL24Stephen Shaw
1044Deepesh R RimAustralia2025-04-09Rangoni Of Florence QUALIFIED2Ivan Magalhaes
1045Maria N BriddickSpain2025-04-15King, Christopher A Esq NEGOTIATION19Amy Elsner
1046Chavez P DilliardBrazil2025-04-07Benton, John B Jr NEGOTIATION62Ivan Magalhaes
1047Jefferson H OldroydGermany2025-04-12Chapman, Ross E Esq NEW32Ioni Bowcher
1048Mujtaba G ChuiSpain2025-04-19Dorl, James J Esq NEW29Onyama Limba
1049Munro C BriddickSpain2025-04-05Feltz Printing Service QUALIFIED84Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Emily V FlosiJapanStephen Shaw UNQUALIFIED
Chavez U SchemmerBrazilOnyama Limba RENEWAL
Juan Z SchemmerSpainElwin Sharvill NEGOTIATION
Maisha L GarufiUnited KingdomOnyama Limba NEGOTIATION
Jeanfrancois E PerinFranceAmy Elsner UNQUALIFIED
Aika X OldroydItalyAnna Fali PROPOSAL
Munro K AmigonJapanAsiya Javayant NEGOTIATION
Isabel V PoquetteArgentinaAsiya Javayant QUALIFIED
Octavia J WieserItalyIoni Bowcher PROPOSAL
Jefferson J GarufiItalyIvan Magalhaes UNQUALIFIED
Emily P CampainArgentinaIoni Bowcher RENEWAL
Jeanfrancois G GillianArgentinaIoni Bowcher UNQUALIFIED
Maria X MaletFranceElwin Sharvill NEGOTIATION
David K SchemmerJapanBernardo Dominic UNQUALIFIED
Kadeem B PerinJapanElwin Sharvill NEW
Alejandro I RoysterBrazilAnna Fali UNQUALIFIED
Nicolas V IturbideArgentinaAnna Fali UNQUALIFIED
Arvin I AmigonItalyStephen Shaw RENEWAL
Salvatore R KolmetzRussiaIoni Bowcher RENEWAL
Silvio S NickaAustraliaAmy Elsner PROPOSAL
Deepesh B ShinkoCanadaAnna Fali PROPOSAL
Ashley V FollerFranceBernardo Dominic RENEWAL
Isabel P DoeFranceAmy Elsner RENEWAL
Claire Q StensethAustraliaAsiya Javayant NEGOTIATION
Kadeem Z RulapaughFranceBernardo Dominic NEGOTIATION
Costa X PoquetteUnited KingdomXuxue Feng RENEWAL
Deepesh M KuskoGermanyAmy Elsner UNQUALIFIED
Ivar T CampainCanadaXuxue Feng PROPOSAL
Alejandro T SchemmerCanadaAnna Fali NEGOTIATION
Jefferson C MacleadAustraliaStephen Shaw RENEWAL
Johnson D ChuiCanadaElwin Sharvill UNQUALIFIED
Alejandro V RimIndiaIvan Magalhaes UNQUALIFIED
Kaitlin G GarufiJapanElwin Sharvill PROPOSAL
Murillo I PoquetteBrazilIvan Magalhaes NEW
Emily M SaylorsItalyOnyama Limba PROPOSAL
Munro X AlbaresJapanOnyama Limba NEW
Wickens Y StockhamCanadaAmy Elsner QUALIFIED
Cody M VenereCanadaXuxue Feng RENEWAL
Rodrigues U FerenczIndiaElwin Sharvill NEGOTIATION
Deepesh X StensethCanadaStephen Shaw NEGOTIATION
Johnson M FigeroaIndiaAmy Elsner UNQUALIFIED
Jeanfrancois G WieserItalyIoni Bowcher NEGOTIATION
Claire M SlusarskiFranceAmy Elsner RENEWAL
Misaki B MaletBrazilAnna Fali RENEWAL
Mayumi M WieserCanadaBernardo Dominic RENEWAL
Cody H SchemmerSpainAsiya Javayant NEW
Maisha Q PaprockiUnited KingdomIvan Magalhaes PROPOSAL
Misaki X OstroskyAustraliaIvan Magalhaes UNQUALIFIED
James U MarrierCanadaStephen Shaw NEW
Salvatore K SchemmerBrazilAmy Elsner NEGOTIATION
Frozen Columns
Name
Greenwood H Foller
Julie J Albares
Misaki H Ruta
Ricardo G Waycott
Deepesh B Vocelka
Nicolas A Bowley
Nicolas J Malet
Aruna O Foller
Mujtaba V Wieser
Jennifer U Schemmer
Claire E Tollner
Antonio N Stenseth
Morrow M Saylors
Antonio B Oldroyd
Darci P Glick
Kadeem I Morasca
Ivar O Ferencz
Munro D Chui
Ivar A Paprocki
Izzy R Waycott
Claire X Bolognia
Aika F Flosi
Smith K Nestle
Ashley C Gillian
Octavia Q Caldarera
Jeanfrancois A Nicka
Nicolas B Kolmetz
Silvio P Flosi
Salvatore F Figeroa
Leja R Nicka
Jones F Doe
Rodrigues R Butt
Silvio Y Malet
Murillo U Bowley
Kadeem E Ostrosky
Juan D Rim
Adams M Chui
David I Foller
Octavia N Kusko
Faith W Gaucho
Isabel R Caldarera
Maisha D Glick
Costa Q Tollner
Costa G Stockham
Izzy G Bolognia
Francesco P Morasca
Tony D Darakjy
Tony Q Inouye
Isabel F Venere
Ricardo D Flosi
IdCountryDate
1000Australia2025-04-07
1001Italy2025-04-16
1002Japan2025-04-16
1003Australia2025-04-13
1004Brazil2025-04-26
1005France2025-04-08
1006Canada2025-04-21
1007Japan2025-04-16
1008Australia2025-04-12
1009Italy2025-04-24
1010Australia2025-04-27
1011Canada2025-04-21
1012Canada2025-04-08
1013Russia2025-04-22
1014United Kingdom2025-04-20
1015United Kingdom2025-04-15
1016Brazil2025-04-15
1017Russia2025-04-20
1018Russia2025-04-24
1019Canada2025-04-09
1020Russia2025-04-04
1021Russia2025-04-06
1022Brazil2025-04-29
1023Japan2025-04-03
1024India2025-04-12
1025France2025-04-08
1026Australia2025-04-13
1027Spain2025-04-09
1028Spain2025-04-27
1029Italy2025-04-28
1030Russia2025-04-23
1031Canada2025-04-15
1032Japan2025-04-30
1033India2025-04-21
1034Australia2025-04-06
1035Brazil2025-04-07
1036Japan2025-04-07
1037Spain2025-04-19
1038Brazil2025-04-04
1039Spain2025-04-10
1040Australia2025-04-06
1041Canada2025-04-16
1042Australia2025-04-20
1043Spain2025-04-06
1044Italy2025-04-01
1045Japan2025-04-17
1046Brazil2025-04-07
1047Spain2025-04-03
1048India2025-04-14
1049Canada2025-04-04

On-Demand Data

NameIdCountryDate
Aruna R Ruta1000France2025-04-14
Wickens Q Whobrey1001Argentina2025-04-01
Misaki I Slusarski1002India2025-04-19
Alejandro D Briddick1003Spain2025-04-10
Tony G Marrier1004Spain2025-04-08
Alejandro N Foller1005Germany2025-04-17
Jennifer I Doe1006Italy2025-04-02
Jeanfrancois N Chui1007France2025-04-26
Maria R Darakjy1008United Kingdom2025-04-07
Juan Q Marrier1009India2025-04-20
Emily I Sergi1010Japan2025-04-10
Stacey P Bowley1011Brazil2025-04-29
Cody W Kolmetz1012Brazil2025-04-27
Salvatore Q Foller1013Japan2025-04-04
Octavia P Inouye1014India2025-04-14
Ashley B Malet1015United Kingdom2025-04-19
Antonio G Bowley1016Japan2025-04-24
Emily D Perin1017Spain2025-04-25
Darci M Kusko1018France2025-04-13
Murillo E Caudy1019Japan2025-04-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David Q FigeroaSpainXuxue Feng UNQUALIFIED
Munro O OstroskySpainAmy Elsner UNQUALIFIED
Aika E FlosiRussiaXuxue Feng QUALIFIED
David T CampainRussiaAmy Elsner PROPOSAL
Kadeem Y OldroydIndiaAsiya Javayant RENEWAL
Francesco Z StockhamCanadaElwin Sharvill PROPOSAL
Mayumi J OstroskyGermanyBernardo Dominic PROPOSAL
Salvatore X WhobreyFranceAnna Fali PROPOSAL
Aruna R OldroydCanadaElwin Sharvill PROPOSAL
Leja G RulapaughItalyIvan Magalhaes NEGOTIATION
Maria K GlickRussiaAsiya Javayant RENEWAL
Costa N CaldareraJapanAnna Fali QUALIFIED
Munro M OstroskyCanadaIoni Bowcher NEW
Jefferson P StockhamGermanyAmy Elsner RENEWAL
Faith Y StensethJapanOnyama Limba UNQUALIFIED
Arvin Z VenereSpainStephen Shaw QUALIFIED
Juan V BologniaFranceStephen Shaw NEW
Clifford O DarakjyCanadaXuxue Feng RENEWAL
Morrow Z InouyeFranceAsiya Javayant UNQUALIFIED
Silvio S WaycottIndiaAmy Elsner NEW
Misaki X RoysterIndiaXuxue Feng QUALIFIED
Costa M GauchoUnited KingdomAmy Elsner RENEWAL
Stacey K CaudyItalyAnna Fali NEGOTIATION
Misaki H MorascaJapanBernardo Dominic PROPOSAL
Izzy A WhobreyAustraliaOnyama Limba QUALIFIED
Smith V WaycottRussiaOnyama Limba UNQUALIFIED
Murillo E DilliardCanadaBernardo Dominic NEGOTIATION
Alejandro P NestleAustraliaAsiya Javayant QUALIFIED
Silvio I PaprockiArgentinaIvan Magalhaes QUALIFIED
Kaitlin V VenereUnited KingdomXuxue Feng RENEWAL
Clifford D BriddickGermanyIoni Bowcher NEW
Tony A KuskoUnited KingdomElwin Sharvill NEGOTIATION
Leon D WieserArgentinaElwin Sharvill UNQUALIFIED
Leja K WaycottFranceElwin Sharvill NEW
Maisha Q DarakjyAustraliaAmy Elsner UNQUALIFIED
Aditya C AlbaresIndiaOnyama Limba UNQUALIFIED
Adams L OstroskyArgentinaAsiya Javayant NEGOTIATION
Mayumi W AlbaresRussiaAnna Fali UNQUALIFIED
Octavia O WhobreySpainAmy Elsner UNQUALIFIED
Mayumi R NestleCanadaOnyama 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>