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 R SergiGermanyXuxue Feng NEGOTIATION
Emily H WaycottBrazilElwin Sharvill RENEWAL
Munro S GillianIndiaIoni Bowcher QUALIFIED
Maisha P BriddickArgentinaBernardo Dominic UNQUALIFIED
Faith H MaletGermanyOnyama Limba RENEWAL
Aditya S InouyeArgentinaStephen Shaw UNQUALIFIED
Smith E WhobreyFranceIoni Bowcher PROPOSAL
Leon Q PerinIndiaAmy Elsner QUALIFIED
Julie T CaldareraFranceIvan Magalhaes NEGOTIATION
Claire S RimItalyStephen Shaw QUALIFIED
Jennifer E DilliardAustraliaIvan Magalhaes UNQUALIFIED
Octavia C IturbideBrazilAnna Fali QUALIFIED
Francesco E NickaItalyOnyama Limba NEW
Izzy C StockhamRussiaBernardo Dominic RENEWAL
Izzy Z KuskoFranceXuxue Feng NEW
Aditya H PoquetteItalyStephen Shaw QUALIFIED
Julie H PoquetteRussiaStephen Shaw QUALIFIED
Stacey D CaldareraUnited KingdomBernardo Dominic NEW
Mujtaba S RimArgentinaXuxue Feng RENEWAL
Octavia Z CaudyGermanyOnyama Limba RENEWAL
Mujtaba V OldroydIndiaStephen Shaw NEW
Aruna D StensethArgentinaElwin Sharvill PROPOSAL
Emily V PaprockiAustraliaStephen Shaw UNQUALIFIED
Clifford L NestleUnited KingdomOnyama Limba UNQUALIFIED
Francesco L FlosiJapanAmy Elsner RENEWAL
David O GauchoFranceStephen Shaw UNQUALIFIED
Ivar W MacleadJapanIvan Magalhaes PROPOSAL
Mujtaba O StensethBrazilAmy Elsner UNQUALIFIED
Mujtaba R IturbideAustraliaAsiya Javayant PROPOSAL
Johnson Z ChuiUnited KingdomIvan Magalhaes UNQUALIFIED
Smith V DilliardFranceBernardo Dominic NEGOTIATION
Mujtaba H OstroskyGermanyAmy Elsner QUALIFIED
Chavez M KolmetzUnited KingdomXuxue Feng PROPOSAL
Leja E FerenczUnited KingdomAsiya Javayant RENEWAL
Ricardo W FollerBrazilIoni Bowcher RENEWAL
James L MaletAustraliaAsiya Javayant QUALIFIED
Jefferson E OstroskyGermanyAmy Elsner NEGOTIATION
Stacey C GarufiIndiaAmy Elsner NEGOTIATION
Murillo B IturbideUnited KingdomOnyama Limba UNQUALIFIED
Tony O RutaIndiaIvan Magalhaes NEW
Emily J FlosiAustraliaElwin Sharvill PROPOSAL
Mayumi C SlusarskiJapanIvan Magalhaes RENEWAL
Adams B CaldareraSpainAmy Elsner QUALIFIED
Aika I InouyeUnited KingdomBernardo Dominic NEGOTIATION
Stacey Z PaprockiRussiaElwin Sharvill UNQUALIFIED
Arvin G MaletUnited KingdomXuxue Feng UNQUALIFIED
Misaki Z PerinCanadaElwin Sharvill QUALIFIED
Darci D AlbaresSpainIoni Bowcher RENEWAL
Jennifer N FlosiGermanyAmy Elsner RENEWAL
Mujtaba X GauchoCanadaOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Sinclair X FerenczFranceElwin Sharvill PROPOSAL
Jefferson O StockhamUnited KingdomXuxue Feng NEGOTIATION
Aruna D MorascaBrazilElwin Sharvill RENEWAL
Octavia C StensethCanadaAmy Elsner RENEWAL
Johnson W MorascaAustraliaIoni Bowcher NEW
Ivar L AlbaresRussiaXuxue Feng RENEWAL
Octavia H RulapaughUnited KingdomIoni Bowcher QUALIFIED
Rodrigues N OldroydJapanXuxue Feng QUALIFIED
Clifford Q MaletUnited KingdomIvan Magalhaes NEGOTIATION
Clifford A MaletBrazilIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio G SergiFrance2026-08-07Chanay, Jeffrey A Esq NEW15Onyama Limba
1001Cody N OstroskyAustralia2026-08-27Buckley Miller Wright RENEWAL28Asiya Javayant
1002Wickens G StensethIndia2026-08-10Buckley Miller Wright RENEWAL32Stephen Shaw
1003Salvatore P RimArgentina2026-07-31Benton, John B Jr PROPOSAL75Ivan Magalhaes
1004Silvio X FigeroaGermany2026-08-16Benton, John B Jr NEW50Stephen Shaw
1005Ivar M WieserRussia2026-08-11Benton, John B Jr QUALIFIED55Asiya Javayant
1006Aditya H StensethCanada2026-08-10Benton, John B Jr UNQUALIFIED8Anna Fali
1007Maisha Y RoysterFrance2026-08-13Buckley Miller Wright PROPOSAL38Ivan Magalhaes
1008Chavez L RoysterIndia2026-08-16Morlong Associates PROPOSAL83Ivan Magalhaes
1009Wickens A OldroydJapan2026-08-09Buckley Miller Wright RENEWAL71Xuxue Feng
1010Murillo R AlbaresRussia2026-08-09Morlong Associates NEW65Amy Elsner
1011Francesco B OstroskyJapan2026-07-29Printing Dimensions UNQUALIFIED10Bernardo Dominic
1012Antonio H RulapaughRussia2026-08-26Dorl, James J Esq NEGOTIATION85Anna Fali
1013Greenwood M OldroydArgentina2026-08-20Feltz Printing Service NEGOTIATION11Bernardo Dominic
1014Claire O MaletUnited Kingdom2026-08-10Truhlar And Truhlar Attys NEGOTIATION34Anna Fali
1015Mujtaba L FollerGermany2026-08-12Feltz Printing Service PROPOSAL46Asiya Javayant
1016Morrow Z DoeCanada2026-08-27Chanay, Jeffrey A Esq UNQUALIFIED45Amy Elsner
1017Ivar Z KuskoBrazil2026-08-22Chapman, Ross E Esq PROPOSAL72Onyama Limba
1018Izzy D SchemmerRussia2026-08-06King, Christopher A Esq QUALIFIED18Xuxue Feng
1019Munro R FigeroaRussia2026-08-22Feiner Bros PROPOSAL16Anna Fali
1020Francesco H WaycottBrazil2026-08-01Feltz Printing Service QUALIFIED58Xuxue Feng
1021Claire V FigeroaSpain2026-08-12Dorl, James J Esq QUALIFIED87Anna Fali
1022Darci A SergiJapan2026-08-22Buckley Miller Wright QUALIFIED88Onyama Limba
1023Ricardo Z DilliardRussia2026-08-16Buckley Miller Wright NEGOTIATION23Anna Fali
1024Mujtaba T OldroydJapan2026-08-13Rousseaux, Michael Esq UNQUALIFIED9Ioni Bowcher
1025Stacey L WaycottAustralia2026-08-20King, Christopher A Esq NEGOTIATION98Onyama Limba
1026Sinclair F SergiItaly2026-08-04Rangoni Of Florence PROPOSAL30Anna Fali
1027Munro D AlbaresUnited Kingdom2026-07-29Feiner Bros QUALIFIED91Amy Elsner
1028Juan R CaldareraAustralia2026-08-11Rousseaux, Michael Esq RENEWAL32Elwin Sharvill
1029Maisha N FlosiAustralia2026-08-17Feiner Bros UNQUALIFIED53Anna Fali
1030James M RutaCanada2026-07-31Dorl, James J Esq UNQUALIFIED28Bernardo Dominic
1031Izzy Y PaprockiIndia2026-08-12Morlong Associates PROPOSAL24Ioni Bowcher
1032James K MacleadRussia2026-08-15Truhlar And Truhlar Attys UNQUALIFIED38Xuxue Feng
1033Jefferson H MaletUnited Kingdom2026-08-22King, Christopher A Esq RENEWAL90Ioni Bowcher
1034Leon E DoeFrance2026-08-05Benton, John B Jr NEW4Onyama Limba
1035Isabel C SaylorsIndia2026-08-19Rangoni Of Florence PROPOSAL84Xuxue Feng
1036Maisha K GillianJapan2026-08-10Morlong Associates UNQUALIFIED1Anna Fali
1037Nicolas P VocelkaAustralia2026-08-18Benton, John B Jr PROPOSAL36Onyama Limba
1038Chavez L FigeroaArgentina2026-08-18Printing Dimensions QUALIFIED19Asiya Javayant
1039Izzy Q InouyeFrance2026-08-02Rangoni Of Florence QUALIFIED57Ioni Bowcher
1040Antonio B StensethGermany2026-07-30Feltz Printing Service NEGOTIATION22Ivan Magalhaes
1041Sinclair C TollnerIndia2026-08-08Chanay, Jeffrey A Esq UNQUALIFIED5Anna Fali
1042Antonio Y RulapaughCanada2026-08-19Chemel, James L Cpa NEW97Anna Fali
1043Emily Y GauchoItaly2026-08-11Chanay, Jeffrey A Esq QUALIFIED46Elwin Sharvill
1044Maria P KolmetzItaly2026-08-14Rousseaux, Michael Esq RENEWAL14Bernardo Dominic
1045Antonio X SaylorsArgentina2026-07-31Chapman, Ross E Esq UNQUALIFIED55Asiya Javayant
1046Juan O BriddickIndia2026-08-18Feltz Printing Service QUALIFIED86Xuxue Feng
1047Deepesh J GauchoIndia2026-08-08Commercial Press RENEWAL61Elwin Sharvill
1048Darci K FigeroaIndia2026-08-23Printing Dimensions NEW50Onyama Limba
1049Mayumi R RulapaughBrazil2026-08-02Chemel, James L Cpa NEW88Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Juan U DarakjyGermanyOnyama Limba UNQUALIFIED
Isabel R WieserItalyBernardo Dominic RENEWAL
Juan D ShinkoSpainElwin Sharvill PROPOSAL
Arvin F TollnerJapanXuxue Feng NEW
Ricardo B BriddickItalyAnna Fali NEGOTIATION
Stacey N WhobreyItalyAnna Fali PROPOSAL
Deepesh Y RoysterFranceXuxue Feng UNQUALIFIED
Jones I MaletBrazilXuxue Feng NEGOTIATION
Jones L WhobreyFranceBernardo Dominic UNQUALIFIED
Smith L IturbideItalyOnyama Limba UNQUALIFIED
Claire G FigeroaJapanStephen Shaw UNQUALIFIED
Julie V SchemmerCanadaAmy Elsner NEW
Deepesh N StockhamIndiaIoni Bowcher UNQUALIFIED
Francesco P OldroydAustraliaAsiya Javayant QUALIFIED
Faith N WaycottBrazilIoni Bowcher NEGOTIATION
Jennifer M DilliardGermanyBernardo Dominic UNQUALIFIED
Salvatore H BowleyIndiaIvan Magalhaes NEGOTIATION
Adams B FollerCanadaXuxue Feng UNQUALIFIED
Costa D GarufiItalyAnna Fali NEW
Leja U CampainGermanyIoni Bowcher NEGOTIATION
Stacey B SchemmerJapanBernardo Dominic QUALIFIED
Costa Q OldroydGermanyIvan Magalhaes UNQUALIFIED
Johnson Q RulapaughIndiaStephen Shaw RENEWAL
Claire P OldroydJapanBernardo Dominic NEGOTIATION
Claire V CaldareraItalyBernardo Dominic NEGOTIATION
Jennifer J MacleadIndiaStephen Shaw NEGOTIATION
Jones Y RimFranceAmy Elsner PROPOSAL
Wickens G BriddickCanadaAmy Elsner NEGOTIATION
Octavia D GillianCanadaAnna Fali NEGOTIATION
Kaitlin J OstroskyArgentinaBernardo Dominic UNQUALIFIED
Leon M PaprockiArgentinaXuxue Feng PROPOSAL
Jefferson Z RulapaughIndiaElwin Sharvill NEGOTIATION
Claire T OstroskyGermanyIoni Bowcher PROPOSAL
Silvio I MacleadCanadaAnna Fali QUALIFIED
Jefferson Z GauchoUnited KingdomAnna Fali NEW
Murillo I MorascaUnited KingdomAsiya Javayant RENEWAL
Maisha G CaudyAustraliaAnna Fali PROPOSAL
Claire G PaprockiBrazilAmy Elsner UNQUALIFIED
Stacey D FigeroaUnited KingdomXuxue Feng RENEWAL
Jeanfrancois H ShinkoCanadaIoni Bowcher QUALIFIED
Leja R RutaItalyIoni Bowcher RENEWAL
Darci N RoysterBrazilElwin Sharvill QUALIFIED
Munro U SaylorsBrazilIvan Magalhaes NEGOTIATION
Jones F CaldareraJapanAnna Fali NEGOTIATION
Julie W DilliardRussiaAsiya Javayant PROPOSAL
Silvio K AmigonJapanElwin Sharvill RENEWAL
Aruna F WieserCanadaAmy Elsner NEGOTIATION
Claire D FerenczArgentinaStephen Shaw NEW
Jefferson B AmigonItalyBernardo Dominic UNQUALIFIED
Emily C PaprockiArgentinaIoni Bowcher PROPOSAL
Frozen Columns
Name
Costa O Perin
Greenwood P Gaucho
Kadeem M Figeroa
Rodrigues B Campain
Mujtaba O Schemmer
Johnson Q Saylors
Maria V Rulapaugh
Sinclair O Caudy
Maisha G Butt
Chavez J Nestle
Tony E Gillian
Mujtaba M Malet
Adams H Waycott
Munro Q Kusko
Claire Z Amigon
Aditya U Kusko
Juan F Whobrey
Chavez Q Stockham
Jefferson L Flosi
Nicolas S Oldroyd
Clifford Y Schemmer
Stacey Q Bolognia
Aruna Y Vocelka
David U Royster
Jefferson A Bolognia
Kadeem F Glick
Wickens Q Waycott
Jones I Oldroyd
Jones I Inouye
Aruna W Saylors
Greenwood Q Whobrey
Octavia V Doe
Rodrigues T Kusko
Maria Q Darakjy
Leon F Doe
Maisha Z Inouye
Aika T Vocelka
Antonio Q Stenseth
Aika U Gaucho
Darci O Schemmer
Jefferson K Bolognia
Murillo L Nicka
Ashley O Caudy
Izzy B Caldarera
Cody N Poquette
Wickens O Campain
Leon Q Caudy
Leja N Schemmer
Kadeem U Ostrosky
Francesco B Doe
IdCountryDate
1000Japan2026-08-21
1001United Kingdom2026-08-22
1002Australia2026-08-25
1003Russia2026-07-29
1004India2026-08-18
1005Canada2026-08-02
1006France2026-08-02
1007United Kingdom2026-08-07
1008Italy2026-08-27
1009Germany2026-08-07
1010Australia2026-08-10
1011Australia2026-08-16
1012Germany2026-08-23
1013Russia2026-08-22
1014Russia2026-08-15
1015Argentina2026-08-06
1016Germany2026-08-26
1017Brazil2026-07-29
1018Canada2026-08-01
1019Brazil2026-08-16
1020Brazil2026-08-26
1021Italy2026-07-29
1022Canada2026-08-14
1023Russia2026-08-18
1024Spain2026-08-27
1025Brazil2026-08-25
1026Spain2026-08-07
1027India2026-08-20
1028Japan2026-08-19
1029Germany2026-08-27
1030Italy2026-08-08
1031Canada2026-08-03
1032Canada2026-08-21
1033United Kingdom2026-08-12
1034Russia2026-08-26
1035France2026-08-12
1036Russia2026-08-17
1037France2026-07-30
1038India2026-08-08
1039Italy2026-08-12
1040United Kingdom2026-08-26
1041Brazil2026-08-01
1042Australia2026-08-23
1043Brazil2026-08-02
1044India2026-08-02
1045Spain2026-08-19
1046Germany2026-08-11
1047Japan2026-08-22
1048Brazil2026-08-06
1049Canada2026-08-11

On-Demand Data

NameIdCountryDate
Aditya H Marrier1000Australia2026-08-09
Antonio D Briddick1001Spain2026-08-19
Antonio F Ruta1002Italy2026-08-24
Tony B Bowley1003Italy2026-07-30
Maria K Flosi1004Italy2026-07-29
Faith A Amigon1005Australia2026-08-22
Sinclair F Gaucho1006Australia2026-08-16
Francesco C Kolmetz1007United Kingdom2026-08-12
Aditya G Sergi1008Germany2026-08-07
Alejandro A Butt1009Canada2026-08-05
Antonio A Rim1010Germany2026-08-13
Cody T Butt1011Russia2026-07-29
Leon G Shinko1012Brazil2026-08-07
Greenwood X Marrier1013Canada2026-08-23
Nicolas F Malet1014United Kingdom2026-08-06
Mayumi N Bowley1015Australia2026-07-31
Ashley U Kusko1016Japan2026-08-07
Deepesh G Bowley1017Australia2026-08-20
Leja H Wieser1018Japan2026-08-06
Leon D Stenseth1019Australia2026-08-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon B WaycottGermanyIoni Bowcher QUALIFIED
Tony F StockhamSpainAmy Elsner QUALIFIED
Silvio G GillianGermanyIvan Magalhaes NEW
Sinclair O DarakjyGermanyAmy Elsner NEGOTIATION
David X GillianJapanAnna Fali UNQUALIFIED
Kaitlin C KuskoArgentinaOnyama Limba RENEWAL
Claire X GarufiRussiaIvan Magalhaes PROPOSAL
Morrow H CaudyJapanAmy Elsner NEGOTIATION
David A TollnerBrazilOnyama Limba NEW
Mayumi C StockhamUnited KingdomIoni Bowcher QUALIFIED
Nicolas S BologniaUnited KingdomXuxue Feng PROPOSAL
Antonio Y DoeCanadaStephen Shaw RENEWAL
Wickens V PoquetteGermanyBernardo Dominic QUALIFIED
Faith I RutaCanadaStephen Shaw PROPOSAL
Clifford O PoquetteFranceAsiya Javayant PROPOSAL
Maisha P NickaArgentinaAsiya Javayant RENEWAL
Faith J GauchoRussiaAmy Elsner QUALIFIED
Clifford P KuskoGermanyOnyama Limba PROPOSAL
Greenwood Q ShinkoGermanyIoni Bowcher UNQUALIFIED
Francesco T DarakjyAustraliaStephen Shaw QUALIFIED
Wickens Y MorascaSpainAsiya Javayant UNQUALIFIED
Ashley I BowleyCanadaXuxue Feng UNQUALIFIED
Ivar T DarakjyArgentinaAmy Elsner RENEWAL
James S MacleadUnited KingdomIvan Magalhaes QUALIFIED
Ricardo C SchemmerSpainAmy Elsner QUALIFIED
Faith S RulapaughUnited KingdomIvan Magalhaes NEW
Mayumi S StensethCanadaBernardo Dominic NEGOTIATION
Claire B VocelkaFranceStephen Shaw NEGOTIATION
Deepesh B PaprockiRussiaStephen Shaw UNQUALIFIED
Aika Q SchemmerIndiaIvan Magalhaes UNQUALIFIED
Leon E ShinkoAustraliaAsiya Javayant QUALIFIED
Sinclair P PaprockiCanadaAnna Fali NEW
Silvio E MorascaGermanyAsiya Javayant UNQUALIFIED
Silvio R WaycottCanadaXuxue Feng UNQUALIFIED
Cody V CaudyRussiaOnyama Limba RENEWAL
Izzy J PaprockiAustraliaAmy Elsner PROPOSAL
Jefferson A GillianBrazilAmy Elsner NEW
Stacey U WieserGermanyIoni Bowcher NEW
Murillo I FlosiFranceStephen Shaw QUALIFIED
Smith F AmigonSpainIoni Bowcher QUALIFIED

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