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
Adams V SchemmerAustraliaAnna Fali RENEWAL
Adams V WaycottCanadaStephen Shaw NEGOTIATION
Ivar G BologniaRussiaIvan Magalhaes QUALIFIED
Deepesh M GauchoItalyAnna Fali NEGOTIATION
Arvin L MarrierCanadaOnyama Limba NEW
David C MarrierBrazilAsiya Javayant NEW
Murillo P InouyeArgentinaElwin Sharvill NEW
David X OstroskyBrazilAsiya Javayant UNQUALIFIED
Jennifer P FollerBrazilBernardo Dominic NEGOTIATION
Alejandro A RulapaughUnited KingdomOnyama Limba NEGOTIATION
Nicolas J PaprockiBrazilXuxue Feng RENEWAL
Ricardo X BriddickArgentinaIoni Bowcher RENEWAL
Mujtaba O VocelkaIndiaXuxue Feng QUALIFIED
Faith V IturbideBrazilIvan Magalhaes NEGOTIATION
Mujtaba H KuskoJapanOnyama Limba PROPOSAL
Jones X MaletRussiaXuxue Feng NEW
Clifford D OldroydGermanyElwin Sharvill RENEWAL
Adams D MaletItalyXuxue Feng PROPOSAL
Nicolas H MacleadArgentinaIvan Magalhaes PROPOSAL
Francesco I BologniaArgentinaAsiya Javayant NEW
Stacey Y AmigonAustraliaAsiya Javayant PROPOSAL
Clifford X CaudyBrazilBernardo Dominic PROPOSAL
Aditya J SaylorsIndiaOnyama Limba PROPOSAL
Sinclair C DilliardSpainElwin Sharvill QUALIFIED
Emily L BowleyArgentinaElwin Sharvill QUALIFIED
Maisha I InouyeRussiaIvan Magalhaes RENEWAL
Misaki A GarufiFranceBernardo Dominic PROPOSAL
Stacey J SchemmerItalyOnyama Limba PROPOSAL
James D SlusarskiBrazilAsiya Javayant UNQUALIFIED
Mayumi Q MaletGermanyOnyama Limba QUALIFIED
Isabel H RutaBrazilElwin Sharvill RENEWAL
James P DoeUnited KingdomAmy Elsner RENEWAL
Mayumi J FerenczCanadaAsiya Javayant NEGOTIATION
Munro G CampainFranceIoni Bowcher NEW
Octavia A FollerAustraliaElwin Sharvill NEW
Leja J StockhamCanadaAsiya Javayant NEGOTIATION
Wickens W MorascaGermanyStephen Shaw NEW
Emily I CampainFranceXuxue Feng NEGOTIATION
Juan D MorascaJapanOnyama Limba UNQUALIFIED
Deepesh K CampainCanadaIvan Magalhaes NEW
Deepesh R PoquetteFranceOnyama Limba NEGOTIATION
Johnson C FollerIndiaAmy Elsner QUALIFIED
Costa Y BriddickJapanAmy Elsner QUALIFIED
Munro P RutaJapanElwin Sharvill NEW
Ivar O MorascaFranceElwin Sharvill PROPOSAL
Ivar A VenereIndiaAnna Fali RENEWAL
Maria O RimJapanOnyama Limba NEGOTIATION
Sinclair A SaylorsArgentinaElwin Sharvill PROPOSAL
Cody V StockhamFranceOnyama Limba UNQUALIFIED
Murillo T DoeArgentinaStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Darci L BowleySpainElwin Sharvill NEW
Wickens U GlickBrazilAnna Fali NEW
Kaitlin M WieserUnited KingdomBernardo Dominic UNQUALIFIED
Deepesh O PoquetteFranceAsiya Javayant PROPOSAL
Alejandro W GauchoSpainIvan Magalhaes NEW
Salvatore C VocelkaArgentinaAnna Fali UNQUALIFIED
Leja W GillianIndiaElwin Sharvill QUALIFIED
Greenwood W GarufiSpainElwin Sharvill NEGOTIATION
David S MorascaAustraliaElwin Sharvill UNQUALIFIED
Smith C AmigonUnited KingdomAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna J RoysterJapan2024-06-21Buckley Miller Wright RENEWAL71Stephen Shaw
1001Aruna X SergiArgentina2024-06-02Chemel, James L Cpa QUALIFIED32Stephen Shaw
1002Chavez Q DoeBrazil2024-06-15King, Christopher A Esq NEGOTIATION67Xuxue Feng
1003Jefferson V ButtJapan2024-05-24Benton, John B Jr PROPOSAL28Ivan Magalhaes
1004Octavia G InouyeCanada2024-06-21Morlong Associates RENEWAL19Elwin Sharvill
1005Morrow E StensethArgentina2024-06-07Feltz Printing Service NEGOTIATION89Elwin Sharvill
1006Tony A NickaFrance2024-05-24Benton, John B Jr QUALIFIED37Amy Elsner
1007Murillo X AlbaresAustralia2024-06-15Chemel, James L Cpa QUALIFIED58Elwin Sharvill
1008James U DarakjyCanada2024-05-26Morlong Associates QUALIFIED58Anna Fali
1009Silvio S StockhamSpain2024-06-18Benton, John B Jr NEGOTIATION34Ioni Bowcher
1010Chavez Y SlusarskiJapan2024-06-19Rousseaux, Michael Esq PROPOSAL5Ioni Bowcher
1011Isabel K OldroydAustralia2024-06-14King, Christopher A Esq UNQUALIFIED46Stephen Shaw
1012Francesco H MaletBrazil2024-05-23Morlong Associates NEW10Ivan Magalhaes
1013Maisha B SaylorsFrance2024-06-15Dorl, James J Esq RENEWAL49Anna Fali
1014Arvin W MaletUnited Kingdom2024-06-21Chemel, James L Cpa PROPOSAL87Asiya Javayant
1015Johnson Q WieserArgentina2024-06-19Feiner Bros UNQUALIFIED71Amy Elsner
1016Jones M InouyeAustralia2024-06-02Morlong Associates PROPOSAL59Bernardo Dominic
1017Jeanfrancois S PoquetteCanada2024-05-25Dorl, James J Esq QUALIFIED47Ivan Magalhaes
1018Silvio Z DarakjySpain2024-06-07Feiner Bros PROPOSAL43Stephen Shaw
1019Kadeem S StockhamJapan2024-06-07Commercial Press PROPOSAL28Xuxue Feng
1020Aika A VocelkaFrance2024-05-23Printing Dimensions UNQUALIFIED2Onyama Limba
1021Kaitlin Z NestleAustralia2024-06-07Rangoni Of Florence UNQUALIFIED47Xuxue Feng
1022Octavia B ShinkoItaly2024-06-11Commercial Press UNQUALIFIED73Amy Elsner
1023Maisha F MarrierRussia2024-06-21Truhlar And Truhlar Attys RENEWAL63Asiya Javayant
1024Francesco K PerinRussia2024-06-03King, Christopher A Esq NEGOTIATION75Amy Elsner
1025Alejandro T KolmetzFrance2024-05-28Commercial Press QUALIFIED21Anna Fali
1026Arvin U GauchoIndia2024-05-28Dorl, James J Esq RENEWAL14Bernardo Dominic
1027Jefferson S SchemmerSpain2024-06-02Morlong Associates PROPOSAL67Elwin Sharvill
1028Ashley D PaprockiAustralia2024-05-25Chanay, Jeffrey A Esq NEW44Stephen Shaw
1029Sinclair F BriddickSpain2024-06-09Chanay, Jeffrey A Esq NEGOTIATION40Bernardo Dominic
1030Deepesh X StockhamAustralia2024-06-19Rousseaux, Michael Esq PROPOSAL94Ioni Bowcher
1031Jeanfrancois Z RulapaughSpain2024-06-16Chanay, Jeffrey A Esq NEW35Onyama Limba
1032Greenwood V FerenczFrance2024-05-23Chanay, Jeffrey A Esq PROPOSAL29Xuxue Feng
1033Deepesh O GlickCanada2024-06-09Truhlar And Truhlar Attys PROPOSAL22Amy Elsner
1034Tony W FollerBrazil2024-06-08Truhlar And Truhlar Attys PROPOSAL50Ivan Magalhaes
1035Aditya T WhobreyRussia2024-06-03Dorl, James J Esq NEW66Ioni Bowcher
1036Izzy L SlusarskiFrance2024-06-06Buckley Miller Wright PROPOSAL44Asiya Javayant
1037Jones Z IturbideUnited Kingdom2024-05-30Rangoni Of Florence NEGOTIATION89Xuxue Feng
1038Maisha H FerenczGermany2024-06-03Chapman, Ross E Esq NEW74Anna Fali
1039Isabel P AmigonArgentina2024-05-26Truhlar And Truhlar Attys PROPOSAL81Asiya Javayant
1040Murillo T KolmetzItaly2024-05-28Dorl, James J Esq RENEWAL58Asiya Javayant
1041Misaki H MarrierAustralia2024-05-25Morlong Associates RENEWAL3Elwin Sharvill
1042Deepesh F AmigonIndia2024-06-08Chemel, James L Cpa PROPOSAL50Amy Elsner
1043Aruna A VenereBrazil2024-06-04Dorl, James J Esq UNQUALIFIED95Bernardo Dominic
1044Munro O RoysterArgentina2024-05-28Benton, John B Jr QUALIFIED21Onyama Limba
1045Ivar B AlbaresItaly2024-06-01Rangoni Of Florence NEGOTIATION81Ioni Bowcher
1046Aika P TollnerSpain2024-06-10Truhlar And Truhlar Attys RENEWAL25Asiya Javayant
1047Ashley T GarufiJapan2024-06-17Chanay, Jeffrey A Esq RENEWAL5Bernardo Dominic
1048Juan N VenereGermany2024-06-03Printing Dimensions QUALIFIED29Stephen Shaw
1049Francesco N KuskoUnited Kingdom2024-06-08Truhlar And Truhlar Attys NEW82Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Smith F FollerFranceBernardo Dominic PROPOSAL
Francesco X RulapaughIndiaAmy Elsner NEW
Maria V AlbaresGermanyBernardo Dominic UNQUALIFIED
Costa S SlusarskiJapanAsiya Javayant NEW
Stacey J ChuiUnited KingdomBernardo Dominic RENEWAL
Mujtaba U GauchoFranceBernardo Dominic RENEWAL
Alejandro I StockhamGermanyAnna Fali PROPOSAL
Aruna P IturbideSpainAsiya Javayant PROPOSAL
Juan L RutaIndiaElwin Sharvill NEW
Kadeem F SergiUnited KingdomOnyama Limba NEW
Leja U VocelkaCanadaStephen Shaw NEGOTIATION
Francesco D KuskoJapanIoni Bowcher UNQUALIFIED
Ricardo D NickaCanadaIvan Magalhaes NEGOTIATION
Ricardo C MaletRussiaAsiya Javayant RENEWAL
Alejandro W MacleadJapanBernardo Dominic NEW
Isabel M ChuiIndiaXuxue Feng QUALIFIED
Faith L ButtSpainBernardo Dominic RENEWAL
Jefferson C WieserAustraliaAsiya Javayant PROPOSAL
Octavia H GauchoItalyOnyama Limba UNQUALIFIED
Stacey T BologniaSpainBernardo Dominic PROPOSAL
Tony B BowleyCanadaAnna Fali QUALIFIED
Faith N WhobreyIndiaXuxue Feng NEW
Sinclair C RutaRussiaAsiya Javayant NEW
Sinclair L MarrierAustraliaAnna Fali NEW
Faith E RutaJapanAnna Fali UNQUALIFIED
Deepesh V FollerBrazilAsiya Javayant RENEWAL
Sinclair S AmigonAustraliaAnna Fali PROPOSAL
Antonio L DilliardAustraliaIvan Magalhaes QUALIFIED
Darci I IturbideArgentinaOnyama Limba UNQUALIFIED
Mayumi A OstroskyIndiaIoni Bowcher RENEWAL
Julie N MaletItalyBernardo Dominic RENEWAL
Maisha X GillianBrazilAsiya Javayant NEW
Munro H KuskoBrazilXuxue Feng PROPOSAL
Maria E WhobreyCanadaXuxue Feng UNQUALIFIED
Emily F AlbaresArgentinaElwin Sharvill PROPOSAL
Jeanfrancois N SlusarskiGermanyBernardo Dominic NEGOTIATION
Johnson Z OstroskyRussiaOnyama Limba NEW
Rodrigues L MaletFranceAsiya Javayant UNQUALIFIED
Leon L VocelkaSpainIoni Bowcher UNQUALIFIED
Deepesh U CaudyUnited KingdomElwin Sharvill QUALIFIED
Mujtaba O RulapaughCanadaElwin Sharvill QUALIFIED
Salvatore W FerenczAustraliaStephen Shaw RENEWAL
Nicolas U StensethIndiaStephen Shaw UNQUALIFIED
Tony Z AmigonGermanyAnna Fali RENEWAL
Murillo M RutaUnited KingdomIvan Magalhaes UNQUALIFIED
Sinclair E AlbaresGermanyOnyama Limba UNQUALIFIED
Silvio K ButtFranceIoni Bowcher RENEWAL
Ashley E BriddickSpainOnyama Limba UNQUALIFIED
Mayumi G MorascaJapanElwin Sharvill NEGOTIATION
Aika C RulapaughJapanAnna Fali NEGOTIATION
Frozen Columns
Name
Julie U Waycott
Jefferson V Campain
Octavia K Glick
Nicolas G Butt
Ashley S Caldarera
Smith A Slusarski
Francesco O Glick
Aruna P Chui
Munro K Flosi
Julie U Rim
Nicolas F Slusarski
Claire I Nicka
Francesco X Dilliard
Nicolas M Albares
Sinclair R Ostrosky
Izzy K Albares
Smith Q Figeroa
Greenwood M Flosi
Jefferson N Malet
Faith S Nestle
Chavez G Rulapaugh
Faith S Briddick
Kaitlin R Amigon
Johnson T Amigon
Clifford F Kusko
Morrow C Darakjy
Antonio B Inouye
Arvin B Slusarski
Stacey N Briddick
Maisha R Wieser
Ivar O Gaucho
Jefferson V Morasca
David E Ruta
Kaitlin W Gaucho
Aika U Tollner
Wickens S Bowley
Mujtaba F Ruta
Antonio G Albares
Aditya O Schemmer
Faith E Vocelka
Mujtaba Y Whobrey
Misaki K Perin
Claire A Paprocki
Morrow T Stenseth
Leon B Glick
Faith D Perin
Salvatore R Nestle
Antonio L Garufi
Faith R Nestle
Antonio M Foller
IdCountryDate
1000Brazil2024-05-29
1001India2024-06-01
1002Russia2024-06-13
1003Italy2024-06-18
1004Russia2024-06-01
1005United Kingdom2024-06-02
1006Germany2024-06-10
1007India2024-06-15
1008Spain2024-06-06
1009Spain2024-06-03
1010Italy2024-05-30
1011United Kingdom2024-06-02
1012Canada2024-06-02
1013Germany2024-06-09
1014Brazil2024-06-08
1015Canada2024-05-28
1016Canada2024-05-24
1017Japan2024-06-13
1018Russia2024-06-08
1019India2024-06-02
1020France2024-06-08
1021Spain2024-06-13
1022Argentina2024-06-06
1023Canada2024-06-15
1024Brazil2024-05-27
1025Canada2024-06-20
1026Japan2024-06-13
1027Argentina2024-05-29
1028Canada2024-05-30
1029Japan2024-05-27
1030Germany2024-05-30
1031Germany2024-06-18
1032Australia2024-06-02
1033Russia2024-06-09
1034United Kingdom2024-06-15
1035India2024-06-11
1036Spain2024-06-16
1037Japan2024-06-01
1038Germany2024-06-10
1039Japan2024-06-12
1040United Kingdom2024-06-18
1041Russia2024-06-09
1042Germany2024-06-05
1043India2024-06-01
1044Japan2024-05-30
1045Italy2024-06-18
1046Italy2024-05-24
1047Brazil2024-06-03
1048Germany2024-06-06
1049Germany2024-06-09

On-Demand Data

NameIdCountryDate
Chavez F Ruta1000Japan2024-06-16
Nicolas Y Doe1001Canada2024-06-21
Kaitlin M Bowley1002India2024-05-24
Tony Y Royster1003Australia2024-06-02
Sinclair P Garufi1004Australia2024-06-21
Aditya E Figeroa1005United Kingdom2024-06-08
Aditya C Butt1006Italy2024-06-20
Stacey B Poquette1007Australia2024-06-15
Maria N Nicka1008India2024-06-21
Adams G Bolognia1009Spain2024-06-08
Murillo G Butt1010Canada2024-06-13
Mujtaba G Maclead1011Russia2024-06-03
Sinclair Q Flosi1012Australia2024-06-06
Morrow I Butt1013Argentina2024-05-29
Isabel H Slusarski1014Brazil2024-06-09
Greenwood C Schemmer1015Australia2024-05-27
Ivar T Morasca1016Italy2024-06-03
Jefferson V Iturbide1017Italy2024-06-19
Maisha M Bowley1018Australia2024-06-19
Claire O Maclead1019Canada2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony D MaletIndiaIvan Magalhaes QUALIFIED
Adams P ChuiItalyAmy Elsner PROPOSAL
Aruna H GillianItalyAmy Elsner RENEWAL
Salvatore S KolmetzFranceOnyama Limba NEGOTIATION
Kaitlin V OstroskyIndiaBernardo Dominic PROPOSAL
Jeanfrancois A NestleFranceBernardo Dominic NEGOTIATION
Cody A VocelkaItalyAnna Fali RENEWAL
Costa O CaldareraAustraliaAmy Elsner UNQUALIFIED
Chavez N StockhamRussiaElwin Sharvill RENEWAL
Ricardo W ButtArgentinaAnna Fali NEGOTIATION
Jones X CaldareraArgentinaAsiya Javayant NEGOTIATION
Ashley R FerenczSpainBernardo Dominic UNQUALIFIED
Misaki H CaudyRussiaAmy Elsner UNQUALIFIED
Cody A FigeroaFranceXuxue Feng PROPOSAL
Greenwood C SchemmerAustraliaAnna Fali QUALIFIED
Izzy S DoeAustraliaElwin Sharvill NEW
Claire G GarufiItalyAnna Fali QUALIFIED
Claire Z ChuiBrazilStephen Shaw UNQUALIFIED
Morrow U WaycottItalyIvan Magalhaes PROPOSAL
Aika H MacleadRussiaStephen Shaw RENEWAL
Jeanfrancois E DoeBrazilOnyama Limba NEW
Mujtaba X CaudyUnited KingdomXuxue Feng QUALIFIED
Octavia M BowleyUnited KingdomAmy Elsner NEGOTIATION
Cody P MarrierRussiaElwin Sharvill NEW
Costa C WieserItalyIvan Magalhaes NEW
Claire E BologniaJapanOnyama Limba RENEWAL
Aruna P PoquetteJapanAnna Fali RENEWAL
Maria F GillianAustraliaIoni Bowcher RENEWAL
Deepesh C MarrierItalyIvan Magalhaes QUALIFIED
Francesco F ChuiSpainAsiya Javayant RENEWAL
Stacey G ShinkoUnited KingdomElwin Sharvill UNQUALIFIED
Clifford Y InouyeIndiaAmy Elsner NEW
Cody L PoquetteArgentinaIvan Magalhaes QUALIFIED
Leon G WieserUnited KingdomOnyama Limba UNQUALIFIED
Juan W ChuiSpainStephen Shaw NEGOTIATION
Murillo S WaycottFranceOnyama Limba NEGOTIATION
Tony Q ChuiRussiaBernardo Dominic NEGOTIATION
Chavez X KuskoBrazilOnyama Limba NEGOTIATION
Francesco J WaycottGermanyStephen Shaw NEW
Misaki K NestleCanadaAsiya Javayant 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>