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 R BowleyItalyElwin Sharvill UNQUALIFIED
Faith D WhobreyAustraliaAsiya Javayant NEW
Silvio W ChuiUnited KingdomXuxue Feng NEW
Salvatore F WhobreyIndiaAnna Fali UNQUALIFIED
Salvatore P StensethFranceOnyama Limba NEW
Chavez P SlusarskiBrazilIvan Magalhaes NEGOTIATION
Greenwood R PoquetteSpainAnna Fali NEGOTIATION
Emily W ShinkoCanadaAsiya Javayant QUALIFIED
Ashley J GarufiUnited KingdomAsiya Javayant QUALIFIED
Kadeem W GauchoItalyXuxue Feng NEGOTIATION
Rodrigues U RoysterGermanyAmy Elsner NEGOTIATION
Adams C GillianRussiaXuxue Feng QUALIFIED
Leja Z FerenczSpainXuxue Feng QUALIFIED
Ashley X VenereBrazilElwin Sharvill PROPOSAL
Francesco M MarrierSpainElwin Sharvill UNQUALIFIED
Jones C PerinGermanyAmy Elsner UNQUALIFIED
Misaki K DilliardArgentinaAnna Fali QUALIFIED
Leja P RimJapanXuxue Feng UNQUALIFIED
Munro K MorascaJapanStephen Shaw RENEWAL
Arvin T NestleJapanElwin Sharvill NEW
Kaitlin D RimSpainBernardo Dominic NEW
Octavia W CampainGermanyBernardo Dominic NEW
Kadeem B FollerItalyOnyama Limba NEW
Silvio R MacleadGermanyAnna Fali NEW
Jennifer C ButtRussiaOnyama Limba NEGOTIATION
Aruna D RulapaughJapanBernardo Dominic PROPOSAL
Maria C MarrierSpainAsiya Javayant RENEWAL
Deepesh V DilliardRussiaBernardo Dominic QUALIFIED
Stacey I VocelkaGermanyXuxue Feng UNQUALIFIED
Chavez W MaletRussiaOnyama Limba QUALIFIED
Chavez X NestleCanadaAsiya Javayant QUALIFIED
Ricardo Z MacleadRussiaIvan Magalhaes NEGOTIATION
Ricardo R CaudyUnited KingdomIvan Magalhaes PROPOSAL
Chavez K NickaFranceAmy Elsner RENEWAL
Munro I MacleadItalyAnna Fali UNQUALIFIED
Julie W SchemmerJapanAsiya Javayant NEGOTIATION
Stacey N MarrierSpainAnna Fali QUALIFIED
Kaitlin U DoeBrazilBernardo Dominic UNQUALIFIED
Smith M RulapaughRussiaElwin Sharvill QUALIFIED
Claire O GauchoRussiaStephen Shaw RENEWAL
Izzy V DoeJapanElwin Sharvill UNQUALIFIED
Jeanfrancois G TollnerJapanElwin Sharvill PROPOSAL
Murillo S PoquetteJapanIvan Magalhaes RENEWAL
Tony E OstroskyGermanyElwin Sharvill NEGOTIATION
Wickens B GarufiFranceOnyama Limba RENEWAL
Sinclair J VenereIndiaBernardo Dominic QUALIFIED
Ricardo Y NestleGermanyAnna Fali QUALIFIED
Salvatore R SaylorsFranceAnna Fali UNQUALIFIED
Morrow N BriddickFranceBernardo Dominic QUALIFIED
Mujtaba S FigeroaItalyAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Mujtaba K RimCanadaOnyama Limba QUALIFIED
Jefferson D ButtAustraliaBernardo Dominic UNQUALIFIED
Wickens B StockhamItalyAsiya Javayant PROPOSAL
Jeanfrancois A TollnerItalyBernardo Dominic PROPOSAL
Johnson P OldroydBrazilStephen Shaw QUALIFIED
James U DoeSpainIoni Bowcher QUALIFIED
Maria Y FlosiFranceStephen Shaw QUALIFIED
Chavez G SlusarskiArgentinaAsiya Javayant PROPOSAL
Johnson X BriddickAustraliaElwin Sharvill RENEWAL
Murillo B DilliardAustraliaXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon G TollnerGermany2024-05-07Chemel, James L Cpa QUALIFIED80Elwin Sharvill
1001Darci X SaylorsCanada2024-05-17Morlong Associates UNQUALIFIED41Bernardo Dominic
1002Cody C BriddickRussia2024-05-07Morlong Associates UNQUALIFIED37Amy Elsner
1003Leon O DarakjyJapan2024-05-10Chanay, Jeffrey A Esq QUALIFIED76Bernardo Dominic
1004Mujtaba W IturbideArgentina2024-05-15Commercial Press QUALIFIED25Elwin Sharvill
1005Murillo V PoquetteArgentina2024-05-15Truhlar And Truhlar Attys PROPOSAL1Onyama Limba
1006Munro F StockhamCanada2024-05-11Chapman, Ross E Esq QUALIFIED28Amy Elsner
1007Jeanfrancois I FerenczIndia2024-05-11Buckley Miller Wright NEGOTIATION26Stephen Shaw
1008Kadeem U GauchoCanada2024-05-23Benton, John B Jr RENEWAL86Asiya Javayant
1009Deepesh K CaudyBrazil2024-05-24Feiner Bros UNQUALIFIED55Bernardo Dominic
1010Maisha B SlusarskiRussia2024-05-25Buckley Miller Wright NEW40Onyama Limba
1011Sinclair C StockhamAustralia2024-05-21Chemel, James L Cpa NEGOTIATION94Elwin Sharvill
1012Leon Z BriddickGermany2024-05-10Feiner Bros RENEWAL93Asiya Javayant
1013Izzy D VenereUnited Kingdom2024-05-21Dorl, James J Esq UNQUALIFIED28Stephen Shaw
1014Sinclair C TollnerGermany2024-05-09Feltz Printing Service NEGOTIATION15Elwin Sharvill
1015Johnson U GarufiRussia2024-05-12Chanay, Jeffrey A Esq NEGOTIATION75Amy Elsner
1016Emily D PaprockiRussia2024-05-14Chanay, Jeffrey A Esq QUALIFIED54Onyama Limba
1017Darci R VenereSpain2024-05-23Morlong Associates NEGOTIATION19Elwin Sharvill
1018Emily U PaprockiArgentina2024-05-12Dorl, James J Esq PROPOSAL84Ivan Magalhaes
1019Adams N TollnerUnited Kingdom2024-05-03Chemel, James L Cpa NEGOTIATION63Anna Fali
1020Izzy H KuskoBrazil2024-05-21Benton, John B Jr RENEWAL1Ioni Bowcher
1021Emily D WieserItaly2024-05-22Chapman, Ross E Esq UNQUALIFIED91Stephen Shaw
1022Ricardo S VocelkaArgentina2024-05-16Morlong Associates NEGOTIATION42Amy Elsner
1023Julie D FlosiUnited Kingdom2024-05-22King, Christopher A Esq NEGOTIATION61Elwin Sharvill
1024Ashley H RimJapan2024-05-22Rangoni Of Florence NEGOTIATION77Asiya Javayant
1025Alejandro M RimCanada2024-04-27Feiner Bros UNQUALIFIED38Ivan Magalhaes
1026Johnson G BriddickGermany2024-05-20Benton, John B Jr UNQUALIFIED3Anna Fali
1027Isabel A SchemmerSpain2024-05-18Rousseaux, Michael Esq RENEWAL9Stephen Shaw
1028Leon B RutaArgentina2024-05-01Truhlar And Truhlar Attys PROPOSAL53Amy Elsner
1029Adams I WieserCanada2024-05-17Rangoni Of Florence NEW38Elwin Sharvill
1030Jefferson I InouyeBrazil2024-05-03Chanay, Jeffrey A Esq NEGOTIATION87Stephen Shaw
1031Alejandro I SchemmerAustralia2024-05-06Buckley Miller Wright PROPOSAL23Stephen Shaw
1032Jeanfrancois K OldroydFrance2024-05-10Buckley Miller Wright QUALIFIED37Amy Elsner
1033Francesco D GarufiBrazil2024-05-08King, Christopher A Esq RENEWAL24Bernardo Dominic
1034Claire Q CaldareraIndia2024-05-05Chemel, James L Cpa NEGOTIATION17Anna Fali
1035Alejandro H SchemmerAustralia2024-04-29Morlong Associates RENEWAL53Anna Fali
1036Aditya Y WaycottRussia2024-04-27Chemel, James L Cpa QUALIFIED55Bernardo Dominic
1037Johnson J BriddickJapan2024-05-17Printing Dimensions QUALIFIED10Anna Fali
1038Leja K StockhamBrazil2024-05-01Chemel, James L Cpa RENEWAL79Anna Fali
1039Jones Y PerinCanada2024-04-28Rousseaux, Michael Esq RENEWAL50Elwin Sharvill
1040Jefferson L PerinFrance2024-05-13Benton, John B Jr PROPOSAL11Stephen Shaw
1041Aruna V CaudyItaly2024-05-17Rangoni Of Florence NEW92Elwin Sharvill
1042Darci F CampainRussia2024-05-09Feltz Printing Service NEW60Elwin Sharvill
1043Adams P OstroskyRussia2024-04-30Dorl, James J Esq RENEWAL41Anna Fali
1044Leon T ChuiIndia2024-05-06Chemel, James L Cpa UNQUALIFIED33Xuxue Feng
1045Maisha W KolmetzUnited Kingdom2024-05-20Feltz Printing Service NEW10Anna Fali
1046Julie M CampainAustralia2024-05-14Chemel, James L Cpa QUALIFIED60Xuxue Feng
1047Claire M FollerIndia2024-05-20Benton, John B Jr RENEWAL15Stephen Shaw
1048Arvin X MaletRussia2024-05-08Buckley Miller Wright QUALIFIED34Onyama Limba
1049Clifford Q MaletBrazil2024-05-09Buckley Miller Wright UNQUALIFIED18Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Francesco N FollerJapanStephen Shaw RENEWAL
Maisha P MaletIndiaIvan Magalhaes RENEWAL
Claire R DilliardRussiaIvan Magalhaes RENEWAL
Tony O FlosiItalyXuxue Feng RENEWAL
Juan W GlickSpainBernardo Dominic NEW
Salvatore J MarrierUnited KingdomXuxue Feng QUALIFIED
Sinclair M KuskoUnited KingdomStephen Shaw UNQUALIFIED
Antonio P FerenczIndiaIoni Bowcher RENEWAL
Claire M PoquetteSpainOnyama Limba PROPOSAL
Maria F MaletUnited KingdomIoni Bowcher RENEWAL
Faith E DilliardSpainIoni Bowcher UNQUALIFIED
Francesco P GarufiCanadaElwin Sharvill UNQUALIFIED
Jefferson V IturbideFranceBernardo Dominic PROPOSAL
Cody X CaudyUnited KingdomElwin Sharvill NEGOTIATION
Sinclair P ChuiIndiaAsiya Javayant NEGOTIATION
Alejandro G VenereCanadaAsiya Javayant QUALIFIED
Maria K TollnerCanadaAsiya Javayant QUALIFIED
Aruna K ShinkoCanadaXuxue Feng NEGOTIATION
Faith Y SaylorsRussiaOnyama Limba NEW
Murillo Q SlusarskiArgentinaOnyama Limba NEW
Alejandro Y PaprockiBrazilIvan Magalhaes UNQUALIFIED
Francesco Z MaletArgentinaBernardo Dominic PROPOSAL
Deepesh O OstroskyCanadaOnyama Limba UNQUALIFIED
Deepesh B VocelkaArgentinaBernardo Dominic RENEWAL
Morrow R WaycottFranceIoni Bowcher RENEWAL
Munro Z AmigonIndiaIoni Bowcher UNQUALIFIED
Misaki H FollerJapanIoni Bowcher RENEWAL
Wickens O CaudyUnited KingdomIvan Magalhaes UNQUALIFIED
James I FollerAustraliaAmy Elsner PROPOSAL
Antonio P StockhamBrazilIvan Magalhaes UNQUALIFIED
Faith T SergiIndiaAmy Elsner NEGOTIATION
Cody G IturbideJapanOnyama Limba PROPOSAL
Leon J RoysterGermanyStephen Shaw QUALIFIED
Chavez W GillianSpainBernardo Dominic NEGOTIATION
Murillo H WieserIndiaBernardo Dominic QUALIFIED
Aditya P RoysterArgentinaStephen Shaw PROPOSAL
Alejandro S InouyeSpainIvan Magalhaes NEGOTIATION
Ashley C GauchoGermanyOnyama Limba PROPOSAL
Munro E DilliardIndiaIoni Bowcher NEGOTIATION
Wickens B IturbideIndiaStephen Shaw NEGOTIATION
Francesco L VenereArgentinaElwin Sharvill UNQUALIFIED
Alejandro P FerenczRussiaXuxue Feng QUALIFIED
Chavez Q BologniaBrazilStephen Shaw PROPOSAL
Alejandro W MaletFranceAsiya Javayant QUALIFIED
Sinclair H GarufiJapanIvan Magalhaes UNQUALIFIED
Maria N MorascaRussiaElwin Sharvill UNQUALIFIED
Aruna A StockhamItalyBernardo Dominic NEGOTIATION
Kadeem R RutaCanadaBernardo Dominic NEGOTIATION
Nicolas X PerinCanadaElwin Sharvill QUALIFIED
Adams U AlbaresFranceAsiya Javayant NEW
Frozen Columns
Name
Tony L Briddick
Murillo H Kusko
Cody D Stockham
Kadeem E Foller
Claire M Kusko
Jeanfrancois N Wieser
Aika S Wieser
Munro N Doe
Maria I Caudy
Kaitlin G Ostrosky
Salvatore L Butt
Isabel O Kusko
Francesco P Garufi
Jennifer C Chui
Silvio P Kolmetz
Ricardo T Iturbide
Leon K Ostrosky
Morrow R Caudy
Izzy H Nicka
James G Ruta
Nicolas U Nicka
Sinclair F Caudy
Francesco Z Saylors
Francesco I Dilliard
Antonio O Figeroa
Isabel T Gaucho
Chavez G Shinko
Rodrigues U Malet
Adams X Darakjy
Mujtaba T Kolmetz
Izzy V Rulapaugh
Leon A Stenseth
Munro C Whobrey
Ricardo C Perin
Emily K Rim
Munro I Venere
Ivar J Tollner
James D Kolmetz
Ivar S Glick
Morrow E Saylors
Jennifer N Iturbide
Jeanfrancois A Schemmer
Murillo D Venere
Morrow T Glick
James A Chui
Francesco X Stenseth
Tony F Figeroa
Rodrigues W Darakjy
Johnson A Maclead
Smith K Foller
IdCountryDate
1000Brazil2024-05-21
1001Germany2024-05-22
1002United Kingdom2024-05-07
1003India2024-05-06
1004France2024-05-07
1005Germany2024-05-17
1006United Kingdom2024-05-25
1007Japan2024-05-07
1008Japan2024-05-04
1009Canada2024-05-17
1010Russia2024-05-22
1011United Kingdom2024-05-12
1012Argentina2024-04-30
1013Japan2024-05-19
1014Italy2024-05-13
1015United Kingdom2024-05-20
1016Australia2024-04-30
1017Italy2024-04-27
1018India2024-05-01
1019Spain2024-05-09
1020Italy2024-05-19
1021Germany2024-05-01
1022Japan2024-05-23
1023Italy2024-05-19
1024Canada2024-05-18
1025Spain2024-05-06
1026Germany2024-05-20
1027Canada2024-05-02
1028Italy2024-05-21
1029Italy2024-05-24
1030France2024-04-30
1031Canada2024-05-21
1032Brazil2024-04-30
1033Brazil2024-05-15
1034Japan2024-05-25
1035Spain2024-05-13
1036France2024-05-23
1037Russia2024-05-01
1038United Kingdom2024-05-03
1039Russia2024-05-22
1040Canada2024-05-17
1041Russia2024-05-03
1042Brazil2024-05-22
1043Canada2024-05-01
1044Canada2024-05-22
1045India2024-05-03
1046France2024-05-02
1047Germany2024-05-01
1048Spain2024-05-21
1049Australia2024-05-09

On-Demand Data

NameIdCountryDate
Francesco F Schemmer1000Argentina2024-05-14
Antonio L Campain1001India2024-05-04
Greenwood G Inouye1002United Kingdom2024-05-12
Kaitlin R Nestle1003Canada2024-04-26
Faith Y Sergi1004Italy2024-05-17
Claire Q Chui1005Australia2024-05-05
Antonio K Wieser1006Argentina2024-05-06
Juan Y Ruta1007France2024-05-03
Alejandro L Kolmetz1008Spain2024-04-27
Aditya N Vocelka1009Brazil2024-05-02
Maisha U Stockham1010Spain2024-05-18
Emily S Kusko1011Canada2024-05-08
Rodrigues X Schemmer1012United Kingdom2024-05-23
Jennifer Q Albares1013Spain2024-05-04
Arvin Y Bolognia1014India2024-05-23
Jennifer A Kusko1015Japan2024-05-19
Wickens K Schemmer1016Australia2024-04-30
Juan H Rulapaugh1017Germany2024-05-20
Jennifer Q Kolmetz1018Russia2024-05-25
Aditya I Wieser1019Canada2024-05-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith Y OstroskySpainStephen Shaw UNQUALIFIED
Aika B BriddickCanadaAsiya Javayant RENEWAL
Jeanfrancois F SchemmerUnited KingdomStephen Shaw QUALIFIED
Aruna B ShinkoBrazilXuxue Feng NEGOTIATION
Aruna S VenereArgentinaAsiya Javayant NEGOTIATION
Tony N GlickAustraliaXuxue Feng NEW
Aika M VocelkaUnited KingdomElwin Sharvill QUALIFIED
Maria W RimIndiaAsiya Javayant PROPOSAL
Jefferson J ShinkoFranceIvan Magalhaes NEW
Sinclair B TollnerAustraliaAnna Fali NEGOTIATION
Juan F NickaFranceStephen Shaw PROPOSAL
Morrow K PerinArgentinaElwin Sharvill NEW
Costa X MaletCanadaXuxue Feng RENEWAL
Nicolas D AmigonIndiaAmy Elsner PROPOSAL
Jones J RutaRussiaBernardo Dominic RENEWAL
Mujtaba P FollerIndiaIvan Magalhaes UNQUALIFIED
Isabel K WhobreySpainOnyama Limba QUALIFIED
Francesco P WieserIndiaStephen Shaw NEGOTIATION
Nicolas X BriddickIndiaAsiya Javayant UNQUALIFIED
Emily F FlosiGermanyAsiya Javayant RENEWAL
Ashley L SaylorsFranceAnna Fali NEW
Alejandro E CaldareraIndiaIoni Bowcher PROPOSAL
Isabel X GlickJapanBernardo Dominic NEW
Stacey A SergiIndiaAsiya Javayant UNQUALIFIED
Stacey I IturbideIndiaIvan Magalhaes RENEWAL
Ivar L DarakjyGermanyXuxue Feng RENEWAL
Faith Y StensethSpainXuxue Feng QUALIFIED
Greenwood T TollnerCanadaIvan Magalhaes QUALIFIED
Antonio O PerinUnited KingdomXuxue Feng RENEWAL
Emily L MarrierRussiaAnna Fali QUALIFIED
Greenwood B SergiItalyElwin Sharvill QUALIFIED
Alejandro L RoysterJapanIoni Bowcher QUALIFIED
Jennifer D PaprockiSpainElwin Sharvill RENEWAL
Deepesh N RulapaughArgentinaAmy Elsner RENEWAL
Rodrigues S DilliardSpainAsiya Javayant NEGOTIATION
Julie H DoeUnited KingdomIvan Magalhaes UNQUALIFIED
Antonio N SlusarskiIndiaIvan Magalhaes PROPOSAL
Aruna N NestleGermanyOnyama Limba NEW
Greenwood U MacleadIndiaXuxue Feng UNQUALIFIED
Mujtaba K GarufiGermanyXuxue Feng 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>