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
Octavia N ShinkoArgentinaAmy Elsner UNQUALIFIED
Juan K RutaGermanyIoni Bowcher RENEWAL
James P OldroydFranceIoni Bowcher UNQUALIFIED
Rodrigues S KolmetzArgentinaAnna Fali PROPOSAL
Antonio X SaylorsAustraliaIoni Bowcher RENEWAL
Deepesh M KuskoArgentinaElwin Sharvill QUALIFIED
Julie P DarakjyUnited KingdomIoni Bowcher RENEWAL
Leja S CaudySpainStephen Shaw PROPOSAL
Darci G ShinkoBrazilElwin Sharvill NEGOTIATION
Sinclair L OldroydCanadaXuxue Feng PROPOSAL
Faith T GillianGermanyStephen Shaw RENEWAL
Jennifer S KolmetzCanadaXuxue Feng UNQUALIFIED
Cody X GauchoItalyAnna Fali PROPOSAL
Jefferson I FerenczRussiaOnyama Limba PROPOSAL
Juan E RimUnited KingdomAnna Fali NEW
Ivar O WaycottSpainBernardo Dominic UNQUALIFIED
Isabel U MorascaAustraliaXuxue Feng NEW
Ashley D ChuiItalyIoni Bowcher UNQUALIFIED
Izzy A CaldareraRussiaXuxue Feng PROPOSAL
Aruna H AlbaresSpainAmy Elsner NEGOTIATION
Deepesh N FerenczGermanyElwin Sharvill UNQUALIFIED
Jones X FerenczGermanyAmy Elsner NEGOTIATION
Jones Z WieserBrazilIoni Bowcher UNQUALIFIED
Misaki R RoysterArgentinaOnyama Limba RENEWAL
Nicolas F RimBrazilAnna Fali NEGOTIATION
Ivar J SaylorsArgentinaBernardo Dominic QUALIFIED
Leja E ShinkoCanadaAmy Elsner NEW
Faith C RoysterRussiaOnyama Limba RENEWAL
Aditya L RulapaughGermanyXuxue Feng PROPOSAL
Juan M FollerJapanIvan Magalhaes UNQUALIFIED
Rodrigues Z ButtRussiaAnna Fali NEGOTIATION
Johnson O PerinIndiaAsiya Javayant PROPOSAL
Stacey O AlbaresAustraliaOnyama Limba RENEWAL
Octavia E GarufiAustraliaAsiya Javayant PROPOSAL
Deepesh V SaylorsBrazilXuxue Feng QUALIFIED
Maria I TollnerArgentinaBernardo Dominic UNQUALIFIED
Stacey K FlosiCanadaOnyama Limba UNQUALIFIED
David Y BowleyBrazilElwin Sharvill UNQUALIFIED
Darci Z RulapaughGermanyXuxue Feng RENEWAL
Octavia T TollnerArgentinaOnyama Limba NEW
Munro B MarrierSpainXuxue Feng UNQUALIFIED
Arvin Q OldroydRussiaOnyama Limba RENEWAL
Costa T IturbideIndiaBernardo Dominic QUALIFIED
Julie H CaldareraIndiaElwin Sharvill NEGOTIATION
Leja K WieserGermanyElwin Sharvill QUALIFIED
Jones M ShinkoAustraliaAsiya Javayant NEGOTIATION
Juan V NestleFranceAnna Fali PROPOSAL
Jeanfrancois G CaudyFranceAmy Elsner UNQUALIFIED
Jefferson M SchemmerCanadaXuxue Feng UNQUALIFIED
Ivar V OstroskyUnited KingdomElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Alejandro M ShinkoFranceIoni Bowcher NEGOTIATION
Nicolas R RimArgentinaXuxue Feng QUALIFIED
Munro A SaylorsBrazilElwin Sharvill UNQUALIFIED
Aruna A StockhamJapanOnyama Limba NEGOTIATION
Aditya V MarrierFranceAsiya Javayant RENEWAL
Aruna H BologniaIndiaAmy Elsner UNQUALIFIED
Faith F ShinkoUnited KingdomStephen Shaw RENEWAL
James N RulapaughSpainStephen Shaw NEGOTIATION
Greenwood A StockhamBrazilIvan Magalhaes PROPOSAL
Francesco W KuskoGermanyStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya C StensethIndia2025-04-24Morlong Associates QUALIFIED40Ioni Bowcher
1001Tony B WieserAustralia2025-04-14Buckley Miller Wright NEGOTIATION78Ivan Magalhaes
1002Silvio M MaletJapan2025-04-28Chapman, Ross E Esq UNQUALIFIED15Amy Elsner
1003Ricardo E GlickArgentina2025-04-04Chemel, James L Cpa RENEWAL86Ioni Bowcher
1004Leja A DarakjyUnited Kingdom2025-04-18Printing Dimensions NEW1Elwin Sharvill
1005James Q SchemmerItaly2025-04-28Chanay, Jeffrey A Esq UNQUALIFIED30Anna Fali
1006Juan Z ButtCanada2025-04-22Benton, John B Jr RENEWAL24Stephen Shaw
1007Chavez V MacleadArgentina2025-04-12Truhlar And Truhlar Attys PROPOSAL43Bernardo Dominic
1008James B FlosiItaly2025-04-05Benton, John B Jr RENEWAL71Onyama Limba
1009Jones W AmigonRussia2025-04-07Printing Dimensions NEGOTIATION9Ivan Magalhaes
1010Deepesh T ButtGermany2025-04-05Rangoni Of Florence UNQUALIFIED31Xuxue Feng
1011Alejandro K BriddickUnited Kingdom2025-04-14Morlong Associates UNQUALIFIED79Anna Fali
1012Juan P WieserGermany2025-04-06Feltz Printing Service NEW97Ioni Bowcher
1013Rodrigues D FigeroaFrance2025-04-14Printing Dimensions NEGOTIATION15Amy Elsner
1014Mayumi G DarakjyFrance2025-04-06Rousseaux, Michael Esq QUALIFIED50Elwin Sharvill
1015Johnson B GillianSpain2025-04-05Printing Dimensions QUALIFIED2Xuxue Feng
1016Mujtaba T FlosiArgentina2025-04-19Rousseaux, Michael Esq QUALIFIED98Xuxue Feng
1017Chavez J PerinJapan2025-04-02Chemel, James L Cpa PROPOSAL49Onyama Limba
1018Ashley Y OldroydAustralia2025-04-14Chemel, James L Cpa NEW78Amy Elsner
1019Mujtaba D PerinGermany2025-04-23Chemel, James L Cpa QUALIFIED38Onyama Limba
1020Chavez K ButtItaly2025-04-30Rangoni Of Florence UNQUALIFIED87Elwin Sharvill
1021Jennifer Q KuskoItaly2025-04-05King, Christopher A Esq NEGOTIATION14Xuxue Feng
1022Silvio E AlbaresAustralia2025-04-19Rousseaux, Michael Esq NEGOTIATION23Asiya Javayant
1023Emily R BriddickItaly2025-04-17Benton, John B Jr UNQUALIFIED12Amy Elsner
1024Maria Z GarufiSpain2025-04-29Morlong Associates UNQUALIFIED42Bernardo Dominic
1025Ricardo U MacleadAustralia2025-04-03Benton, John B Jr QUALIFIED14Xuxue Feng
1026Aika P WieserArgentina2025-04-03Printing Dimensions RENEWAL61Bernardo Dominic
1027Munro Q NestleJapan2025-04-27Chanay, Jeffrey A Esq PROPOSAL31Onyama Limba
1028Jefferson K AlbaresSpain2025-04-26Chanay, Jeffrey A Esq NEGOTIATION37Amy Elsner
1029Mayumi L FigeroaItaly2025-04-03Printing Dimensions UNQUALIFIED86Onyama Limba
1030Smith W MaletSpain2025-04-07Buckley Miller Wright RENEWAL27Bernardo Dominic
1031Aika R DarakjyAustralia2025-04-05Dorl, James J Esq PROPOSAL79Xuxue Feng
1032Mujtaba M KolmetzArgentina2025-04-05Chemel, James L Cpa QUALIFIED87Xuxue Feng
1033Cody B WieserGermany2025-04-16Commercial Press PROPOSAL83Bernardo Dominic
1034Isabel D DoeArgentina2025-04-04Truhlar And Truhlar Attys QUALIFIED21Stephen Shaw
1035Antonio Y OldroydBrazil2025-04-15Truhlar And Truhlar Attys PROPOSAL11Ivan Magalhaes
1036Octavia U SaylorsFrance2025-04-16Rangoni Of Florence NEW42Elwin Sharvill
1037Juan T DarakjyAustralia2025-04-17Printing Dimensions QUALIFIED21Xuxue Feng
1038Leja P CaldareraSpain2025-04-18Chapman, Ross E Esq NEW17Elwin Sharvill
1039Claire T InouyeCanada2025-04-25Chapman, Ross E Esq PROPOSAL89Ivan Magalhaes
1040Misaki Z WhobreyUnited Kingdom2025-04-09Feltz Printing Service RENEWAL98Ioni Bowcher
1041Morrow G MorascaCanada2025-04-15Chapman, Ross E Esq RENEWAL46Ioni Bowcher
1042Francesco M DoeGermany2025-04-17King, Christopher A Esq RENEWAL79Stephen Shaw
1043Silvio Q CampainUnited Kingdom2025-04-26Chapman, Ross E Esq UNQUALIFIED13Onyama Limba
1044Rodrigues N MorascaIndia2025-04-28Truhlar And Truhlar Attys NEW64Amy Elsner
1045Isabel V SaylorsCanada2025-04-05Chapman, Ross E Esq NEGOTIATION91Stephen Shaw
1046Morrow O OldroydSpain2025-04-23Morlong Associates UNQUALIFIED13Onyama Limba
1047Ashley Z RimJapan2025-04-17Chapman, Ross E Esq RENEWAL14Asiya Javayant
1048Morrow Q OstroskyAustralia2025-04-08Feiner Bros UNQUALIFIED58Xuxue Feng
1049Aruna A NickaItaly2025-04-05Dorl, James J Esq UNQUALIFIED24Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Arvin I OldroydIndiaAmy Elsner NEW
Leon I WaycottJapanIoni Bowcher RENEWAL
Octavia H BriddickGermanyOnyama Limba QUALIFIED
Kadeem W ChuiBrazilAnna Fali RENEWAL
Misaki S ButtItalyAmy Elsner QUALIFIED
Kadeem S WieserGermanyElwin Sharvill RENEWAL
Rodrigues O GlickUnited KingdomIoni Bowcher NEGOTIATION
Clifford X CaldareraArgentinaIvan Magalhaes RENEWAL
Alejandro V NestleIndiaAmy Elsner RENEWAL
Claire L OstroskyCanadaBernardo Dominic NEW
Octavia K FollerFranceAsiya Javayant QUALIFIED
Jones W VenereSpainAnna Fali RENEWAL
Murillo U WaycottAustraliaBernardo Dominic NEW
Isabel V AlbaresBrazilElwin Sharvill QUALIFIED
Juan Y SergiSpainElwin Sharvill NEW
Leja V PerinSpainAmy Elsner UNQUALIFIED
Tony C SchemmerRussiaOnyama Limba NEGOTIATION
Aruna O FollerUnited KingdomAsiya Javayant NEW
Aditya P MacleadIndiaIoni Bowcher NEGOTIATION
Maria N CampainCanadaBernardo Dominic PROPOSAL
Aruna E AlbaresSpainAmy Elsner NEGOTIATION
Munro J AmigonUnited KingdomIvan Magalhaes NEW
Munro Q RulapaughCanadaIvan Magalhaes NEGOTIATION
Maria G MarrierAustraliaAnna Fali RENEWAL
Morrow K TollnerArgentinaAmy Elsner UNQUALIFIED
Aruna O RutaIndiaAsiya Javayant PROPOSAL
Kadeem Q VenereSpainIvan Magalhaes PROPOSAL
Arvin A GlickFranceAnna Fali PROPOSAL
Isabel O TollnerFranceAnna Fali PROPOSAL
Tony N MaletFranceIoni Bowcher NEW
Cody L OldroydUnited KingdomAnna Fali UNQUALIFIED
Sinclair V DilliardJapanAsiya Javayant RENEWAL
Aruna R ShinkoItalyStephen Shaw RENEWAL
Morrow I PoquetteFranceAmy Elsner NEGOTIATION
Aika L WhobreySpainStephen Shaw RENEWAL
Clifford F MarrierUnited KingdomIoni Bowcher NEW
Munro R OstroskyGermanyAmy Elsner NEGOTIATION
Julie L PoquetteIndiaXuxue Feng RENEWAL
Stacey O DilliardSpainStephen Shaw QUALIFIED
Costa N ButtGermanyAmy Elsner NEGOTIATION
Ivar O MaletAustraliaAmy Elsner NEW
Julie U PaprockiGermanyAnna Fali RENEWAL
Aika B DarakjyCanadaAnna Fali RENEWAL
Isabel N FollerItalyIoni Bowcher RENEWAL
Salvatore P GlickArgentinaAmy Elsner NEGOTIATION
Costa V SlusarskiArgentinaXuxue Feng NEW
Antonio X FerenczJapanIoni Bowcher QUALIFIED
Nicolas I ShinkoFranceOnyama Limba PROPOSAL
Murillo Y WaycottAustraliaIoni Bowcher PROPOSAL
Greenwood M KolmetzRussiaOnyama Limba UNQUALIFIED
Frozen Columns
Name
Leon Z Amigon
Jones Y Ostrosky
Ashley Y Malet
Ivar X Caldarera
Jeanfrancois V Glick
Chavez K Tollner
Leon M Gaucho
Kadeem Y Nicka
David E Glick
Arvin C Ruta
Deepesh T Glick
Jones L Maclead
David T Doe
Faith T Nestle
Alejandro I Shinko
Munro M Tollner
Murillo X Doe
Misaki M Royster
Wickens G Sergi
Isabel Q Inouye
Clifford E Caudy
Darci L Nestle
Maisha Z Inouye
Maisha P Poquette
Sinclair X Slusarski
Silvio H Nicka
Ivar Y Stenseth
Claire V Paprocki
Juan G Schemmer
Tony E Darakjy
Leon E Rim
Izzy G Schemmer
David Y Stockham
Aika D Briddick
Salvatore V Schemmer
Ricardo V Schemmer
James G Saylors
Arvin W Perin
Cody T Foller
Jeanfrancois J Maclead
Emily M Doe
Leja B Malet
Rodrigues V Nicka
Maisha O Rulapaugh
Jennifer N Caldarera
Mayumi R Waycott
Aruna G Ostrosky
Jones S Iturbide
Costa E Glick
Cody U Caldarera
IdCountryDate
1000Russia2025-04-07
1001France2025-04-07
1002India2025-04-13
1003Australia2025-04-19
1004Argentina2025-04-27
1005United Kingdom2025-04-02
1006France2025-04-08
1007Spain2025-04-02
1008Canada2025-04-02
1009France2025-04-25
1010Spain2025-04-24
1011Brazil2025-04-20
1012Russia2025-04-13
1013Brazil2025-04-30
1014Canada2025-04-15
1015Argentina2025-04-04
1016Canada2025-04-15
1017Brazil2025-04-05
1018Italy2025-04-11
1019Japan2025-04-20
1020Italy2025-04-26
1021Argentina2025-04-01
1022Germany2025-04-10
1023Japan2025-04-14
1024Brazil2025-04-23
1025Russia2025-04-10
1026India2025-04-21
1027Argentina2025-04-08
1028Brazil2025-04-15
1029United Kingdom2025-04-04
1030Germany2025-04-07
1031Spain2025-04-09
1032Russia2025-04-17
1033Germany2025-04-07
1034Japan2025-04-13
1035Italy2025-04-15
1036Argentina2025-04-09
1037United Kingdom2025-04-15
1038Spain2025-04-18
1039Russia2025-04-18
1040Russia2025-04-03
1041Russia2025-04-24
1042Australia2025-04-07
1043France2025-04-02
1044United Kingdom2025-04-17
1045Italy2025-04-07
1046Brazil2025-04-08
1047Canada2025-04-06
1048United Kingdom2025-04-26
1049Germany2025-04-26

On-Demand Data

NameIdCountryDate
Smith K Ostrosky1000Australia2025-04-19
Kadeem S Maclead1001Brazil2025-04-01
Murillo R Darakjy1002Italy2025-04-17
Rodrigues I Nestle1003Argentina2025-04-10
Jefferson K Oldroyd1004United Kingdom2025-04-26
Jennifer N Saylors1005India2025-04-06
Deepesh N Amigon1006Germany2025-04-01
Jefferson W Darakjy1007Argentina2025-04-05
Darci Q Flosi1008Brazil2025-04-08
Wickens N Saylors1009Italy2025-04-25
Leon X Whobrey1010Spain2025-04-30
Jennifer S Maclead1011United Kingdom2025-04-18
Jennifer F Stenseth1012Japan2025-04-13
Johnson O Ruta1013Brazil2025-04-20
Sinclair R Malet1014Germany2025-04-19
Salvatore Y Vocelka1015Russia2025-04-17
Munro G Inouye1016Canada2025-04-28
Salvatore D Oldroyd1017Japan2025-04-21
Ashley M Sergi1018France2025-04-01
Wickens W Schemmer1019Brazil2025-04-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem F ShinkoGermanyIvan Magalhaes NEGOTIATION
Salvatore B GillianCanadaBernardo Dominic RENEWAL
Clifford V CaudySpainElwin Sharvill QUALIFIED
Juan N MaletArgentinaOnyama Limba PROPOSAL
Jeanfrancois X GarufiFranceAnna Fali PROPOSAL
Emily N BriddickGermanyBernardo Dominic RENEWAL
Maria U VenereCanadaBernardo Dominic NEGOTIATION
Julie Z InouyeSpainIoni Bowcher NEGOTIATION
Jeanfrancois P FerenczBrazilAsiya Javayant NEW
Morrow T PerinJapanAmy Elsner RENEWAL
Wickens V SlusarskiBrazilAsiya Javayant RENEWAL
Smith D NickaIndiaOnyama Limba NEW
Mujtaba O SaylorsGermanyXuxue Feng NEGOTIATION
Aditya Y ButtRussiaBernardo Dominic QUALIFIED
Munro J PaprockiCanadaAmy Elsner NEGOTIATION
Aruna I PoquetteAustraliaAnna Fali NEW
Juan J CampainIndiaAmy Elsner QUALIFIED
Aruna L GarufiSpainElwin Sharvill PROPOSAL
Morrow J CaudyBrazilAnna Fali RENEWAL
Johnson P GillianGermanyAmy Elsner NEGOTIATION
Greenwood Q GarufiAustraliaAsiya Javayant NEGOTIATION
Francesco C MarrierGermanyIoni Bowcher NEW
Mujtaba K FigeroaUnited KingdomIoni Bowcher NEGOTIATION
Mujtaba W KolmetzAustraliaStephen Shaw UNQUALIFIED
Leja A SaylorsBrazilAsiya Javayant NEW
Alejandro P CaldareraArgentinaAsiya Javayant NEW
Deepesh H RimUnited KingdomAmy Elsner NEGOTIATION
Leja Z RulapaughAustraliaAsiya Javayant QUALIFIED
Salvatore P NickaItalyOnyama Limba NEW
Morrow X InouyeSpainElwin Sharvill QUALIFIED
Darci D WaycottJapanBernardo Dominic NEW
Deepesh I FollerCanadaAsiya Javayant QUALIFIED
Adams H CaudyFranceAnna Fali NEGOTIATION
Kaitlin I OstroskyRussiaXuxue Feng RENEWAL
Stacey R PaprockiGermanyIoni Bowcher UNQUALIFIED
Tony E MarrierIndiaIoni Bowcher RENEWAL
Nicolas G RutaBrazilAmy Elsner PROPOSAL
Francesco T CaudyBrazilOnyama Limba RENEWAL
Aditya R MarrierJapanXuxue Feng RENEWAL
Claire E BowleyFranceAmy Elsner 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>