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
Misaki D MaletSpainElwin Sharvill PROPOSAL
Leon Z DarakjyArgentinaStephen Shaw PROPOSAL
Emily G TollnerUnited KingdomBernardo Dominic NEW
Julie G RulapaughArgentinaIoni Bowcher NEGOTIATION
Rodrigues I InouyeJapanBernardo Dominic UNQUALIFIED
Maisha C FollerAustraliaAnna Fali RENEWAL
Antonio A RulapaughIndiaAsiya Javayant QUALIFIED
Julie D BowleyIndiaIoni Bowcher QUALIFIED
Emily E CaldareraFranceIvan Magalhaes NEW
Costa D FlosiItalyAmy Elsner QUALIFIED
Deepesh V DarakjyAustraliaAmy Elsner RENEWAL
Johnson C CaldareraGermanyBernardo Dominic UNQUALIFIED
Maria E AlbaresCanadaStephen Shaw PROPOSAL
Jeanfrancois M DilliardIndiaXuxue Feng RENEWAL
Cody P DarakjyArgentinaIvan Magalhaes PROPOSAL
Ashley S PoquetteBrazilXuxue Feng PROPOSAL
Claire R StockhamUnited KingdomOnyama Limba NEGOTIATION
Arvin R WieserCanadaAmy Elsner NEGOTIATION
Maria V RulapaughItalyElwin Sharvill UNQUALIFIED
Costa J WieserUnited KingdomAmy Elsner PROPOSAL
Emily R GarufiAustraliaIvan Magalhaes QUALIFIED
Silvio W GillianRussiaOnyama Limba UNQUALIFIED
Darci G BologniaArgentinaStephen Shaw NEW
Claire O RimSpainElwin Sharvill RENEWAL
Rodrigues I GauchoIndiaStephen Shaw NEW
Sinclair B PoquetteGermanyIvan Magalhaes PROPOSAL
Kaitlin W DoeIndiaOnyama Limba UNQUALIFIED
Ricardo S SaylorsFranceAsiya Javayant NEW
Jeanfrancois O InouyeGermanyAnna Fali QUALIFIED
Octavia Z PaprockiIndiaIvan Magalhaes UNQUALIFIED
Nicolas H GauchoUnited KingdomXuxue Feng NEGOTIATION
Aruna S ShinkoItalyStephen Shaw RENEWAL
Jeanfrancois Y DoeArgentinaXuxue Feng QUALIFIED
Isabel U CampainItalyElwin Sharvill PROPOSAL
Adams Z SaylorsRussiaIoni Bowcher RENEWAL
Misaki Y DilliardArgentinaAnna Fali UNQUALIFIED
Deepesh S VenereFranceBernardo Dominic NEGOTIATION
Mujtaba R VenereSpainOnyama Limba RENEWAL
Darci A ShinkoArgentinaXuxue Feng UNQUALIFIED
Deepesh E MaletCanadaAsiya Javayant QUALIFIED
Octavia G MaletCanadaOnyama Limba UNQUALIFIED
Ivar Y FigeroaUnited KingdomOnyama Limba NEGOTIATION
Maria U NestleAustraliaAmy Elsner NEW
Julie F NickaRussiaOnyama Limba QUALIFIED
Kaitlin T TollnerAustraliaStephen Shaw NEW
Aika V OldroydRussiaAsiya Javayant NEGOTIATION
Smith K VenereCanadaXuxue Feng NEGOTIATION
Kaitlin C MaletGermanyElwin Sharvill NEW
Tony D RimRussiaIvan Magalhaes NEGOTIATION
Ivar X BowleyItalyStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Ricardo M BriddickArgentinaAnna Fali NEGOTIATION
Leja Y MacleadRussiaStephen Shaw RENEWAL
Murillo N WaycottCanadaAmy Elsner NEGOTIATION
Adams T SlusarskiBrazilAsiya Javayant RENEWAL
Leja S FigeroaSpainOnyama Limba NEW
Sinclair U VenereArgentinaIvan Magalhaes NEGOTIATION
Kaitlin A NestleCanadaAsiya Javayant NEW
Francesco Y BriddickRussiaElwin Sharvill NEW
Kadeem V MaletUnited KingdomElwin Sharvill QUALIFIED
Clifford C CampainArgentinaAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily Q StockhamBrazil2026-07-14Feltz Printing Service NEW41Ioni Bowcher
1001Munro C MacleadCanada2026-07-05Chemel, James L Cpa QUALIFIED24Bernardo Dominic
1002Misaki C VenereCanada2026-07-13Chanay, Jeffrey A Esq QUALIFIED0Anna Fali
1003Silvio D DarakjyBrazil2026-06-23Rousseaux, Michael Esq PROPOSAL27Amy Elsner
1004Claire A AlbaresAustralia2026-07-15King, Christopher A Esq PROPOSAL43Ivan Magalhaes
1005Kadeem B FlosiAustralia2026-06-23Rousseaux, Michael Esq RENEWAL2Onyama Limba
1006Greenwood D MacleadItaly2026-07-18Chanay, Jeffrey A Esq NEW0Ivan Magalhaes
1007Izzy K SlusarskiAustralia2026-06-27Dorl, James J Esq NEW67Asiya Javayant
1008Aruna M PerinUnited Kingdom2026-07-18Feltz Printing Service QUALIFIED4Ioni Bowcher
1009Arvin I DoeJapan2026-07-16Feiner Bros RENEWAL23Elwin Sharvill
1010Adams I NickaCanada2026-06-25Chapman, Ross E Esq PROPOSAL38Ioni Bowcher
1011Jefferson I MaletIndia2026-07-16Rousseaux, Michael Esq UNQUALIFIED83Ioni Bowcher
1012Maria B RulapaughFrance2026-07-06Feiner Bros NEGOTIATION48Onyama Limba
1013Johnson N GlickIndia2026-07-21Chemel, James L Cpa PROPOSAL23Asiya Javayant
1014Ricardo K AmigonUnited Kingdom2026-07-06Benton, John B Jr UNQUALIFIED95Bernardo Dominic
1015Jefferson D CaudyJapan2026-07-13Feltz Printing Service QUALIFIED0Asiya Javayant
1016Octavia W FigeroaUnited Kingdom2026-07-04Chapman, Ross E Esq UNQUALIFIED96Ivan Magalhaes
1017Cody O OldroydFrance2026-07-04Morlong Associates QUALIFIED32Xuxue Feng
1018Morrow P FigeroaItaly2026-07-11King, Christopher A Esq NEGOTIATION34Xuxue Feng
1019Rodrigues N TollnerUnited Kingdom2026-07-11Rousseaux, Michael Esq NEW12Anna Fali
1020Emily Z FlosiFrance2026-06-29Chanay, Jeffrey A Esq PROPOSAL93Ioni Bowcher
1021Mujtaba K GauchoItaly2026-07-18Feltz Printing Service NEGOTIATION25Anna Fali
1022Jeanfrancois U MacleadIndia2026-06-29Benton, John B Jr NEGOTIATION0Elwin Sharvill
1023James I DoeArgentina2026-06-27Printing Dimensions NEW32Amy Elsner
1024Arvin X ChuiItaly2026-06-29King, Christopher A Esq RENEWAL44Anna Fali
1025Adams X VocelkaSpain2026-07-17King, Christopher A Esq RENEWAL43Asiya Javayant
1026Aditya N RimAustralia2026-07-11Dorl, James J Esq QUALIFIED8Elwin Sharvill
1027Misaki B SchemmerUnited Kingdom2026-06-25Dorl, James J Esq RENEWAL50Ioni Bowcher
1028Juan G VocelkaUnited Kingdom2026-07-01Morlong Associates RENEWAL20Onyama Limba
1029Maria U SlusarskiAustralia2026-07-15Morlong Associates RENEWAL38Amy Elsner
1030Jefferson D MaletUnited Kingdom2026-07-17Dorl, James J Esq RENEWAL59Amy Elsner
1031Octavia V CaldareraBrazil2026-07-15Feiner Bros NEW11Stephen Shaw
1032Tony D OldroydAustralia2026-07-01King, Christopher A Esq QUALIFIED54Asiya Javayant
1033Maisha O CampainCanada2026-07-21Chapman, Ross E Esq UNQUALIFIED5Bernardo Dominic
1034Jefferson C GauchoRussia2026-07-01Truhlar And Truhlar Attys NEW55Bernardo Dominic
1035Jeanfrancois J SlusarskiBrazil2026-07-22Rousseaux, Michael Esq UNQUALIFIED46Amy Elsner
1036Tony D MorascaJapan2026-07-05Dorl, James J Esq QUALIFIED19Ivan Magalhaes
1037Jones D WaycottFrance2026-06-30Chanay, Jeffrey A Esq NEW96Ioni Bowcher
1038Maisha C PaprockiJapan2026-07-14Buckley Miller Wright NEW59Elwin Sharvill
1039Ricardo E VenereUnited Kingdom2026-07-15Buckley Miller Wright UNQUALIFIED97Onyama Limba
1040Aika Y MaletCanada2026-06-29Feiner Bros PROPOSAL2Asiya Javayant
1041Rodrigues H OldroydBrazil2026-07-05Rousseaux, Michael Esq QUALIFIED40Xuxue Feng
1042Silvio H WaycottItaly2026-06-25Feiner Bros QUALIFIED57Asiya Javayant
1043Ricardo G WhobreyItaly2026-07-09Commercial Press NEGOTIATION50Anna Fali
1044Clifford W ButtGermany2026-06-23Chemel, James L Cpa PROPOSAL17Bernardo Dominic
1045Wickens M BowleyCanada2026-07-21Benton, John B Jr QUALIFIED88Stephen Shaw
1046Maria X ShinkoRussia2026-07-05Truhlar And Truhlar Attys PROPOSAL67Xuxue Feng
1047Sinclair L ShinkoUnited Kingdom2026-07-22Chanay, Jeffrey A Esq QUALIFIED70Amy Elsner
1048Clifford R NestleJapan2026-07-21Buckley Miller Wright QUALIFIED18Amy Elsner
1049Francesco A VenereIndia2026-06-24Benton, John B Jr NEGOTIATION7Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Alejandro X SergiAustraliaIvan Magalhaes RENEWAL
Mayumi Y SergiIndiaXuxue Feng PROPOSAL
Maria S CaldareraSpainAnna Fali QUALIFIED
Julie A MaletCanadaElwin Sharvill NEW
Jefferson B WieserRussiaIoni Bowcher UNQUALIFIED
Faith G NickaJapanIvan Magalhaes QUALIFIED
Aruna K WhobreyCanadaStephen Shaw NEGOTIATION
Aika P StensethArgentinaOnyama Limba QUALIFIED
Leja N PoquetteJapanAsiya Javayant RENEWAL
Leon Y KolmetzRussiaElwin Sharvill RENEWAL
Emily J GillianIndiaAmy Elsner QUALIFIED
Mujtaba B BologniaRussiaIvan Magalhaes PROPOSAL
Octavia P SergiRussiaIoni Bowcher PROPOSAL
Maisha D StensethBrazilAmy Elsner QUALIFIED
Ricardo H WhobreyGermanyStephen Shaw NEW
Izzy E MaletIndiaAsiya Javayant QUALIFIED
Aika F MorascaBrazilStephen Shaw PROPOSAL
Darci K ChuiUnited KingdomStephen Shaw RENEWAL
Rodrigues N FigeroaBrazilIvan Magalhaes RENEWAL
Rodrigues T BowleyBrazilOnyama Limba NEGOTIATION
Maria J FigeroaBrazilAsiya Javayant RENEWAL
David Q DarakjyItalyElwin Sharvill RENEWAL
James C VocelkaGermanyElwin Sharvill NEGOTIATION
Octavia N DoeFranceAnna Fali UNQUALIFIED
Aditya L PoquetteCanadaAmy Elsner NEGOTIATION
Smith S GlickItalyOnyama Limba PROPOSAL
Isabel E AmigonBrazilOnyama Limba RENEWAL
Aruna A NickaAustraliaAmy Elsner NEW
Kadeem L VocelkaAustraliaBernardo Dominic NEW
Jefferson I RutaAustraliaIoni Bowcher RENEWAL
Aditya C MarrierFranceOnyama Limba QUALIFIED
Aditya G RulapaughJapanAsiya Javayant NEW
David X SergiJapanStephen Shaw UNQUALIFIED
Aruna I NestleCanadaOnyama Limba UNQUALIFIED
Ricardo Y RutaGermanyIvan Magalhaes QUALIFIED
Greenwood F SaylorsFranceOnyama Limba NEGOTIATION
Chavez Y BowleyBrazilStephen Shaw NEGOTIATION
Kaitlin N TollnerSpainAnna Fali UNQUALIFIED
Julie V MorascaUnited KingdomIvan Magalhaes RENEWAL
Aruna U RoysterUnited KingdomAsiya Javayant NEGOTIATION
Julie G WhobreyUnited KingdomAsiya Javayant QUALIFIED
Misaki V CaudyJapanIoni Bowcher RENEWAL
Ricardo W GauchoCanadaAsiya Javayant RENEWAL
Mayumi O NestleSpainStephen Shaw QUALIFIED
Misaki L FigeroaUnited KingdomIvan Magalhaes RENEWAL
Stacey C NickaCanadaBernardo Dominic NEGOTIATION
Claire D RoysterIndiaOnyama Limba NEGOTIATION
Jefferson A ButtCanadaStephen Shaw PROPOSAL
Clifford C DoeAustraliaOnyama Limba NEW
Clifford Q FerenczArgentinaElwin Sharvill QUALIFIED
Frozen Columns
Name
Arvin W Sergi
Jennifer I Stockham
Tony C Venere
Leon B Sergi
Stacey D Saylors
Morrow L Saylors
Greenwood J Campain
Chavez Q Ferencz
Leja W Perin
Aruna B Garufi
Ivar Y Campain
Emily K Gaucho
James V Marrier
Murillo T Bolognia
Salvatore V Saylors
Adams C Kolmetz
Deepesh L Gillian
Kaitlin C Maclead
Greenwood D Venere
Aika T Campain
Mujtaba M Whobrey
Ivar M Ferencz
Clifford U Gaucho
Juan Y Glick
Kadeem F Morasca
Izzy D Gaucho
Wickens Y Caldarera
Costa X Poquette
Octavia L Venere
Cody E Chui
Kaitlin K Paprocki
Nicolas C Malet
Emily X Chui
Aditya J Ostrosky
Alejandro F Ferencz
Chavez F Glick
Jefferson G Rim
Kaitlin J Darakjy
Salvatore N Wieser
Claire P Caudy
David G Ostrosky
Jeanfrancois T Stenseth
Adams X Albares
Jones G Perin
Murillo M Albares
Jeanfrancois B Nestle
Clifford J Royster
Deepesh W Nestle
Izzy P Campain
Aditya X Slusarski
IdCountryDate
1000France2026-07-05
1001India2026-06-29
1002Australia2026-07-03
1003United Kingdom2026-07-12
1004India2026-06-29
1005France2026-07-19
1006Russia2026-06-23
1007India2026-06-25
1008Australia2026-07-14
1009Canada2026-07-01
1010Italy2026-06-26
1011Germany2026-07-11
1012Spain2026-07-22
1013Germany2026-07-01
1014Argentina2026-07-13
1015France2026-06-29
1016United Kingdom2026-07-07
1017Argentina2026-07-20
1018Germany2026-07-20
1019Russia2026-07-18
1020Italy2026-07-13
1021Germany2026-07-17
1022Russia2026-07-13
1023Russia2026-07-09
1024United Kingdom2026-07-05
1025Australia2026-07-14
1026France2026-07-07
1027Canada2026-07-04
1028Spain2026-07-18
1029United Kingdom2026-07-21
1030Australia2026-07-21
1031Australia2026-06-29
1032Spain2026-07-17
1033Brazil2026-06-29
1034France2026-07-10
1035Russia2026-07-17
1036Brazil2026-07-20
1037Germany2026-07-09
1038Italy2026-07-18
1039Argentina2026-07-16
1040Japan2026-07-20
1041Argentina2026-07-01
1042Germany2026-07-20
1043Spain2026-06-23
1044France2026-07-13
1045Australia2026-07-05
1046India2026-07-21
1047Canada2026-06-30
1048Russia2026-07-08
1049Russia2026-06-26

On-Demand Data

NameIdCountryDate
Leon N Campain1000Brazil2026-07-08
Deepesh H Kusko1001France2026-07-10
Rodrigues M Foller1002Russia2026-07-03
Aruna P Ruta1003Russia2026-06-23
Antonio I Kusko1004Australia2026-07-17
Nicolas I Waycott1005Spain2026-07-19
Munro H Marrier1006Germany2026-06-27
Jennifer E Marrier1007Australia2026-07-02
Izzy E Campain1008Brazil2026-07-07
Tony T Stockham1009India2026-07-01
Alejandro E Morasca1010Russia2026-07-06
Aika B Schemmer1011Japan2026-06-24
Jones F Wieser1012Spain2026-06-26
Morrow E Caldarera1013Spain2026-06-26
Emily Y Stenseth1014Argentina2026-07-11
Alejandro V Rulapaugh1015Canada2026-06-26
Ricardo F Briddick1016United Kingdom2026-07-01
David Z Bolognia1017Spain2026-06-24
Wickens M Ostrosky1018Spain2026-07-09
Ivar C Sergi1019Canada2026-07-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer G CaldareraItalyStephen Shaw RENEWAL
Stacey L GlickGermanyIoni Bowcher NEW
Jeanfrancois N MaletIndiaAnna Fali QUALIFIED
Faith T BriddickArgentinaOnyama Limba NEGOTIATION
Francesco O NestleArgentinaElwin Sharvill PROPOSAL
Jeanfrancois N DilliardUnited KingdomAsiya Javayant QUALIFIED
Clifford P GarufiUnited KingdomIoni Bowcher NEGOTIATION
Julie Y RoysterCanadaAnna Fali NEW
Maria W ChuiIndiaStephen Shaw QUALIFIED
Ricardo L OstroskyAustraliaElwin Sharvill NEGOTIATION
Izzy I SergiCanadaIoni Bowcher UNQUALIFIED
Maisha T TollnerItalyIoni Bowcher UNQUALIFIED
Nicolas T GarufiSpainAmy Elsner NEW
Isabel K InouyeFranceXuxue Feng UNQUALIFIED
Ricardo K CaldareraAustraliaIoni Bowcher PROPOSAL
Kadeem F WieserUnited KingdomXuxue Feng NEW
Alejandro O FerenczIndiaXuxue Feng NEGOTIATION
Isabel I PaprockiIndiaAnna Fali QUALIFIED
Costa H ButtItalyAmy Elsner NEW
Murillo Q CaudySpainIvan Magalhaes RENEWAL
Morrow P RimUnited KingdomIoni Bowcher QUALIFIED
Nicolas A FollerBrazilXuxue Feng UNQUALIFIED
Costa M PerinFranceXuxue Feng RENEWAL
Chavez S AmigonFranceAnna Fali QUALIFIED
Wickens W VenereRussiaAnna Fali NEGOTIATION
Sinclair D FlosiSpainStephen Shaw PROPOSAL
Antonio R MarrierRussiaOnyama Limba RENEWAL
Juan R NestleItalyStephen Shaw QUALIFIED
Deepesh Q WhobreyCanadaIvan Magalhaes RENEWAL
Chavez V OldroydFranceBernardo Dominic QUALIFIED
Arvin O KuskoAustraliaAmy Elsner RENEWAL
Johnson P GillianJapanStephen Shaw RENEWAL
Tony Q KuskoJapanAsiya Javayant PROPOSAL
Octavia P NestleArgentinaBernardo Dominic QUALIFIED
Darci Q IturbideSpainXuxue Feng PROPOSAL
Misaki U IturbideRussiaIoni Bowcher NEGOTIATION
Clifford X SlusarskiGermanyAsiya Javayant UNQUALIFIED
Misaki G RimArgentinaIvan Magalhaes QUALIFIED
Greenwood P SlusarskiBrazilIvan Magalhaes RENEWAL
Maisha F SaylorsCanadaOnyama Limba NEGOTIATION

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