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
Costa E MacleadAustraliaIoni Bowcher NEGOTIATION
Claire S SergiAustraliaElwin Sharvill NEW
Jones P IturbideFranceXuxue Feng RENEWAL
Jefferson H CaldareraJapanAmy Elsner QUALIFIED
Adams C PaprockiBrazilXuxue Feng NEGOTIATION
Maisha Y GlickArgentinaXuxue Feng UNQUALIFIED
Jones Z AmigonFranceAnna Fali PROPOSAL
Nicolas R PaprockiGermanyOnyama Limba NEW
Adams G NestleSpainStephen Shaw PROPOSAL
Stacey M NestleUnited KingdomStephen Shaw UNQUALIFIED
Mayumi V SlusarskiIndiaAnna Fali NEW
Adams B StockhamFranceElwin Sharvill RENEWAL
Francesco X MaletRussiaBernardo Dominic NEGOTIATION
Nicolas F ChuiUnited KingdomAmy Elsner UNQUALIFIED
Tony Z VocelkaFranceXuxue Feng RENEWAL
Silvio R MacleadRussiaBernardo Dominic UNQUALIFIED
Aika R NickaUnited KingdomAsiya Javayant NEGOTIATION
Jefferson Q MaletSpainAmy Elsner PROPOSAL
Leja B DarakjyUnited KingdomBernardo Dominic UNQUALIFIED
Octavia E ShinkoCanadaIvan Magalhaes NEGOTIATION
Ashley S DarakjyJapanElwin Sharvill RENEWAL
Leja Q MaletAustraliaOnyama Limba UNQUALIFIED
Ivar T MarrierSpainXuxue Feng NEGOTIATION
Maria K ChuiCanadaAmy Elsner UNQUALIFIED
Jefferson H RulapaughAustraliaAnna Fali RENEWAL
Salvatore U CaudyJapanXuxue Feng NEW
Mujtaba Y MorascaCanadaIvan Magalhaes NEGOTIATION
Deepesh Y FollerFranceAnna Fali NEGOTIATION
Emily L VenereRussiaOnyama Limba UNQUALIFIED
Jones L KolmetzItalyBernardo Dominic UNQUALIFIED
Silvio P WieserFranceIvan Magalhaes NEGOTIATION
Ivar G SergiItalyIvan Magalhaes PROPOSAL
Ashley U BologniaIndiaAsiya Javayant QUALIFIED
Antonio S GarufiArgentinaStephen Shaw UNQUALIFIED
Chavez J FerenczArgentinaBernardo Dominic PROPOSAL
Ricardo T MarrierGermanyAsiya Javayant PROPOSAL
Jeanfrancois M IturbideBrazilAsiya Javayant UNQUALIFIED
Juan H MacleadFranceIoni Bowcher QUALIFIED
Izzy Y MaletFranceOnyama Limba QUALIFIED
Ricardo T DilliardJapanIoni Bowcher PROPOSAL
Jennifer U CaudyAustraliaAsiya Javayant QUALIFIED
Emily Y OstroskyItalyIvan Magalhaes QUALIFIED
Ivar I RoysterCanadaIoni Bowcher QUALIFIED
Costa C RutaItalyElwin Sharvill NEW
Clifford J NestleBrazilAsiya Javayant NEW
Kaitlin T WaycottGermanyBernardo Dominic UNQUALIFIED
Morrow R WhobreyGermanyOnyama Limba RENEWAL
Ivar S RutaArgentinaAsiya Javayant RENEWAL
Faith Z CaudyRussiaOnyama Limba NEW
Arvin U WhobreyUnited KingdomAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Claire U SaylorsArgentinaOnyama Limba RENEWAL
Silvio U CaudyItalyXuxue Feng UNQUALIFIED
Mayumi H AlbaresBrazilAmy Elsner UNQUALIFIED
Ivar I ShinkoUnited KingdomAmy Elsner PROPOSAL
Izzy Z ShinkoArgentinaIvan Magalhaes PROPOSAL
Greenwood V GarufiAustraliaBernardo Dominic UNQUALIFIED
Stacey C ShinkoRussiaAsiya Javayant NEW
Rodrigues W CaldareraIndiaElwin Sharvill NEGOTIATION
Misaki M WaycottArgentinaAsiya Javayant NEW
Aika L PoquetteUnited KingdomAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley G VenereRussia2024-06-24Chanay, Jeffrey A Esq QUALIFIED82Amy Elsner
1001Isabel R DilliardFrance2024-06-15Feltz Printing Service NEW50Xuxue Feng
1002Claire R GillianBrazil2024-06-14Rousseaux, Michael Esq NEW18Amy Elsner
1003Deepesh K MaletSpain2024-06-17Rangoni Of Florence NEGOTIATION9Anna Fali
1004Sinclair O CaldareraFrance2024-06-08Feltz Printing Service RENEWAL44Amy Elsner
1005Aika C FerenczUnited Kingdom2024-06-03Rousseaux, Michael Esq UNQUALIFIED72Elwin Sharvill
1006Stacey E FlosiItaly2024-06-17Feiner Bros NEGOTIATION12Stephen Shaw
1007Francesco Q MacleadBrazil2024-06-17Printing Dimensions NEW93Ivan Magalhaes
1008Alejandro A DarakjySpain2024-06-13Morlong Associates QUALIFIED22Onyama Limba
1009Aika T DarakjySpain2024-06-02Truhlar And Truhlar Attys NEW47Bernardo Dominic
1010Nicolas L SchemmerUnited Kingdom2024-05-31Chemel, James L Cpa NEW28Ivan Magalhaes
1011Leja S RoysterItaly2024-05-26Chanay, Jeffrey A Esq NEGOTIATION44Bernardo Dominic
1012Kadeem G DilliardUnited Kingdom2024-06-08King, Christopher A Esq RENEWAL11Amy Elsner
1013Silvio S SchemmerUnited Kingdom2024-05-27Commercial Press QUALIFIED20Ioni Bowcher
1014Salvatore H DoeItaly2024-05-31Morlong Associates RENEWAL45Stephen Shaw
1015Cody A TollnerJapan2024-06-05Chanay, Jeffrey A Esq PROPOSAL76Onyama Limba
1016Faith W ChuiGermany2024-06-01King, Christopher A Esq NEW49Anna Fali
1017Misaki W GlickSpain2024-05-27Commercial Press UNQUALIFIED12Anna Fali
1018Kaitlin X ChuiRussia2024-05-31Dorl, James J Esq UNQUALIFIED10Anna Fali
1019Jennifer U RoysterBrazil2024-05-29Printing Dimensions UNQUALIFIED50Asiya Javayant
1020Francesco T DarakjyItaly2024-06-18King, Christopher A Esq QUALIFIED98Xuxue Feng
1021Morrow A GarufiSpain2024-06-10Truhlar And Truhlar Attys PROPOSAL39Amy Elsner
1022Clifford K StockhamBrazil2024-06-23Printing Dimensions NEGOTIATION11Ivan Magalhaes
1023Morrow V GarufiCanada2024-06-05Rousseaux, Michael Esq NEW16Asiya Javayant
1024James P BriddickGermany2024-05-29Buckley Miller Wright QUALIFIED45Stephen Shaw
1025Claire S AmigonGermany2024-06-21Buckley Miller Wright QUALIFIED92Anna Fali
1026Octavia X VenereIndia2024-06-11Truhlar And Truhlar Attys UNQUALIFIED96Stephen Shaw
1027Munro J BologniaBrazil2024-06-01Benton, John B Jr NEW41Asiya Javayant
1028Adams B CampainIndia2024-06-16Benton, John B Jr QUALIFIED55Asiya Javayant
1029Morrow I StensethJapan2024-06-17Rousseaux, Michael Esq NEGOTIATION25Ivan Magalhaes
1030Leja H OstroskyBrazil2024-06-17Dorl, James J Esq RENEWAL66Amy Elsner
1031Stacey X RutaRussia2024-06-11Commercial Press NEGOTIATION13Anna Fali
1032Ivar S MorascaUnited Kingdom2024-05-27Chemel, James L Cpa PROPOSAL27Ivan Magalhaes
1033Kadeem P StensethFrance2024-05-29Rousseaux, Michael Esq NEGOTIATION86Stephen Shaw
1034Maisha Z OstroskyCanada2024-06-06Truhlar And Truhlar Attys RENEWAL52Stephen Shaw
1035Wickens M WaycottCanada2024-06-22Chanay, Jeffrey A Esq QUALIFIED18Ivan Magalhaes
1036Francesco L RoysterItaly2024-06-05Morlong Associates PROPOSAL95Bernardo Dominic
1037Munro W StensethAustralia2024-06-01Chemel, James L Cpa NEGOTIATION19Anna Fali
1038Maisha T CaudyBrazil2024-06-22Morlong Associates UNQUALIFIED80Bernardo Dominic
1039Isabel E FollerCanada2024-06-04Truhlar And Truhlar Attys NEGOTIATION10Amy Elsner
1040Stacey D RutaJapan2024-06-13Truhlar And Truhlar Attys NEGOTIATION22Bernardo Dominic
1041Arvin U CaldareraItaly2024-06-08Rousseaux, Michael Esq UNQUALIFIED28Xuxue Feng
1042Ashley I RulapaughCanada2024-05-31Rousseaux, Michael Esq QUALIFIED82Asiya Javayant
1043Chavez L AlbaresArgentina2024-06-05Benton, John B Jr PROPOSAL62Asiya Javayant
1044Wickens Z StensethItaly2024-06-21Commercial Press NEGOTIATION68Bernardo Dominic
1045David T VocelkaIndia2024-06-06Feiner Bros NEW11Stephen Shaw
1046Emily K IturbideFrance2024-06-05Chemel, James L Cpa NEGOTIATION85Stephen Shaw
1047Faith U AmigonArgentina2024-06-01Rangoni Of Florence QUALIFIED10Bernardo Dominic
1048Morrow D PaprockiFrance2024-06-05Feiner Bros NEGOTIATION50Ivan Magalhaes
1049Jones K GillianGermany2024-06-17Printing Dimensions PROPOSAL71Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Adams L StensethSpainBernardo Dominic NEW
Emily Z MaletRussiaAnna Fali NEGOTIATION
Maisha U SaylorsCanadaAnna Fali RENEWAL
Silvio Y MaletBrazilElwin Sharvill NEW
Costa F IturbideArgentinaElwin Sharvill QUALIFIED
Wickens B DoeAustraliaAsiya Javayant NEGOTIATION
Salvatore A StockhamFranceAsiya Javayant RENEWAL
Mujtaba P GlickIndiaElwin Sharvill PROPOSAL
Aditya Z VocelkaJapanIvan Magalhaes UNQUALIFIED
Aika H InouyeAustraliaBernardo Dominic RENEWAL
Munro F NestleUnited KingdomElwin Sharvill RENEWAL
Kaitlin M FollerArgentinaOnyama Limba UNQUALIFIED
Jones D BologniaAustraliaIoni Bowcher NEW
Aruna O RulapaughJapanIoni Bowcher NEGOTIATION
Claire G NickaArgentinaOnyama Limba RENEWAL
Johnson Q PaprockiIndiaElwin Sharvill NEGOTIATION
Isabel K VenereArgentinaStephen Shaw RENEWAL
Johnson H PerinSpainBernardo Dominic NEGOTIATION
Silvio S GarufiFranceIoni Bowcher PROPOSAL
Costa B AlbaresRussiaStephen Shaw QUALIFIED
Claire R ButtGermanyStephen Shaw UNQUALIFIED
Jennifer E ShinkoBrazilIoni Bowcher QUALIFIED
Aditya Y InouyeItalyOnyama Limba RENEWAL
Antonio U FollerIndiaAsiya Javayant UNQUALIFIED
Jefferson M MaletArgentinaStephen Shaw UNQUALIFIED
Julie O GillianJapanIvan Magalhaes QUALIFIED
Emily G KolmetzCanadaXuxue Feng RENEWAL
Jeanfrancois V FlosiRussiaStephen Shaw NEGOTIATION
Ashley W MaletJapanOnyama Limba RENEWAL
Juan U SaylorsJapanAsiya Javayant NEGOTIATION
Salvatore R ChuiFranceElwin Sharvill PROPOSAL
Smith H FigeroaAustraliaStephen Shaw NEW
Leja I MorascaAustraliaIoni Bowcher UNQUALIFIED
Wickens I MacleadCanadaElwin Sharvill RENEWAL
Chavez N WhobreySpainIvan Magalhaes UNQUALIFIED
Sinclair C FollerJapanIvan Magalhaes PROPOSAL
Smith Y MorascaArgentinaXuxue Feng UNQUALIFIED
Arvin P ChuiArgentinaOnyama Limba NEGOTIATION
Mayumi L ChuiBrazilStephen Shaw QUALIFIED
Salvatore R MacleadUnited KingdomAnna Fali RENEWAL
Maria P GlickGermanyOnyama Limba UNQUALIFIED
Jennifer H BriddickRussiaAmy Elsner NEGOTIATION
Rodrigues A MarrierCanadaAsiya Javayant RENEWAL
Maria E RulapaughAustraliaXuxue Feng UNQUALIFIED
Jeanfrancois F FollerArgentinaIoni Bowcher RENEWAL
Rodrigues O VenereRussiaOnyama Limba NEGOTIATION
Antonio Y FigeroaRussiaAsiya Javayant NEGOTIATION
Jones A DarakjyCanadaOnyama Limba NEW
Claire H FollerCanadaIoni Bowcher QUALIFIED
Ashley V DilliardRussiaIoni Bowcher PROPOSAL
Frozen Columns
Name
David Q Nestle
Ivar Y Ostrosky
Francesco B Gillian
Costa G Rim
Jefferson N Nestle
Sinclair W Shinko
Mayumi A Dilliard
Rodrigues C Albares
Ricardo F Foller
Smith E Morasca
Kadeem S Gillian
Ashley N Gaucho
Izzy W Nestle
Faith U Darakjy
Maisha G Butt
Deepesh Y Poquette
Maisha B Figeroa
Leon I Campain
Jones V Flosi
Aruna W Tollner
Greenwood S Figeroa
Claire E Inouye
Aruna A Maclead
Adams Q Campain
Octavia D Whobrey
Jones M Paprocki
Izzy P Ruta
Murillo V Campain
Jeanfrancois O Flosi
Arvin K Darakjy
Aika O Doe
Costa C Figeroa
Jennifer G Glick
Julie D Campain
Greenwood L Slusarski
David I Rulapaugh
Jones L Ostrosky
Costa V Malet
Munro O Stenseth
Izzy I Doe
Mujtaba D Ruta
Leja L Garufi
James H Garufi
Aika M Perin
Cody Q Whobrey
Smith E Malet
Alejandro T Schemmer
Smith S Shinko
Maria U Vocelka
Johnson M Ferencz
IdCountryDate
1000Germany2024-05-26
1001Argentina2024-06-13
1002France2024-06-16
1003France2024-06-17
1004Spain2024-06-01
1005Argentina2024-06-04
1006Russia2024-05-30
1007Germany2024-06-09
1008Australia2024-06-04
1009Italy2024-06-11
1010Argentina2024-06-18
1011Spain2024-06-22
1012Italy2024-06-22
1013Spain2024-06-01
1014Russia2024-06-20
1015Canada2024-05-27
1016Canada2024-06-07
1017France2024-06-15
1018Spain2024-06-12
1019Russia2024-06-09
1020Brazil2024-06-24
1021Australia2024-05-31
1022United Kingdom2024-05-31
1023France2024-05-27
1024Argentina2024-06-12
1025Russia2024-06-05
1026Spain2024-06-16
1027Japan2024-06-23
1028Spain2024-06-19
1029Argentina2024-06-01
1030Brazil2024-06-16
1031Brazil2024-06-21
1032United Kingdom2024-06-03
1033Australia2024-06-11
1034Russia2024-06-12
1035United Kingdom2024-06-14
1036Brazil2024-05-27
1037Germany2024-05-30
1038United Kingdom2024-06-18
1039Australia2024-06-04
1040France2024-06-06
1041India2024-06-03
1042Spain2024-06-17
1043India2024-06-14
1044India2024-06-12
1045Canada2024-06-16
1046United Kingdom2024-06-04
1047Canada2024-06-13
1048Canada2024-06-14
1049Canada2024-06-06

On-Demand Data

NameIdCountryDate
Julie R Gillian1000Argentina2024-06-19
Maisha X Dilliard1001Spain2024-06-22
Faith F Perin1002Germany2024-06-21
Arvin L Iturbide1003Russia2024-06-02
Mujtaba I Dilliard1004Spain2024-05-28
Izzy C Sergi1005Italy2024-06-20
Isabel T Marrier1006Germany2024-06-03
Greenwood N Briddick1007Brazil2024-05-27
Ashley B Ferencz1008Brazil2024-06-14
Stacey Z Albares1009Australia2024-05-28
Jeanfrancois K Malet1010United Kingdom2024-06-24
Jefferson W Figeroa1011Italy2024-06-07
Murillo S Foller1012Brazil2024-06-06
Smith X Iturbide1013Germany2024-06-21
Emily C Campain1014Italy2024-06-06
Munro S Ferencz1015United Kingdom2024-06-11
Chavez Z Whobrey1016Canada2024-06-21
Sinclair V Gaucho1017Spain2024-06-08
David B Stockham1018Germany2024-05-31
Julie C Venere1019Russia2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia S OldroydIndiaAnna Fali UNQUALIFIED
Munro A BriddickBrazilXuxue Feng QUALIFIED
Salvatore H StockhamIndiaXuxue Feng UNQUALIFIED
Mayumi N InouyeArgentinaAmy Elsner QUALIFIED
Octavia W MacleadFranceAnna Fali NEGOTIATION
Antonio O NickaGermanyAnna Fali RENEWAL
Francesco E VenereSpainIvan Magalhaes NEW
James A RimUnited KingdomXuxue Feng UNQUALIFIED
Misaki R WhobreyAustraliaIvan Magalhaes RENEWAL
Alejandro Z KolmetzBrazilIoni Bowcher UNQUALIFIED
Aditya S GarufiJapanIoni Bowcher QUALIFIED
Darci V PaprockiIndiaIvan Magalhaes NEW
Ivar E FerenczJapanStephen Shaw RENEWAL
Silvio M KolmetzIndiaElwin Sharvill QUALIFIED
Izzy V FollerCanadaAmy Elsner PROPOSAL
Murillo K BowleyItalyStephen Shaw UNQUALIFIED
Greenwood B PoquetteUnited KingdomAsiya Javayant RENEWAL
Wickens H DoeAustraliaIoni Bowcher NEW
Salvatore D FigeroaAustraliaAmy Elsner QUALIFIED
Salvatore X NestleUnited KingdomIoni Bowcher UNQUALIFIED
Izzy G GarufiBrazilAsiya Javayant UNQUALIFIED
Aditya J BologniaJapanOnyama Limba PROPOSAL
Claire L KuskoRussiaAsiya Javayant NEGOTIATION
Sinclair P SaylorsGermanyBernardo Dominic RENEWAL
Alejandro I SergiUnited KingdomStephen Shaw QUALIFIED
Morrow A ShinkoArgentinaStephen Shaw QUALIFIED
Kadeem H MaletIndiaIvan Magalhaes NEW
Antonio W BologniaSpainXuxue Feng UNQUALIFIED
Misaki C ChuiBrazilAsiya Javayant UNQUALIFIED
Darci F MaletItalyStephen Shaw NEW
Sinclair V FigeroaItalyAnna Fali NEGOTIATION
Smith O NestleIndiaXuxue Feng QUALIFIED
Ashley K RutaJapanAnna Fali NEW
Aditya E StockhamRussiaIoni Bowcher NEW
Morrow V KuskoBrazilStephen Shaw NEW
Chavez J MaletIndiaIvan Magalhaes NEW
Nicolas V MaletJapanIvan Magalhaes QUALIFIED
Ashley M CaudyCanadaElwin Sharvill QUALIFIED
Maisha L GarufiJapanXuxue Feng PROPOSAL
Emily J GauchoArgentinaIoni Bowcher 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>