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
Leon B AmigonIndiaStephen Shaw PROPOSAL
Munro P SlusarskiBrazilBernardo Dominic RENEWAL
Chavez M GillianSpainStephen Shaw UNQUALIFIED
Juan R StensethGermanyAsiya Javayant RENEWAL
Adams N OstroskyGermanyAsiya Javayant QUALIFIED
Johnson B InouyeCanadaBernardo Dominic QUALIFIED
Jones S SlusarskiUnited KingdomAmy Elsner PROPOSAL
Mujtaba K ButtItalyIvan Magalhaes NEW
Jeanfrancois L WhobreyCanadaElwin Sharvill PROPOSAL
Wickens H IturbideArgentinaElwin Sharvill UNQUALIFIED
Aruna Z GauchoBrazilStephen Shaw QUALIFIED
Arvin B ChuiArgentinaIvan Magalhaes UNQUALIFIED
Nicolas I GlickAustraliaAsiya Javayant PROPOSAL
Adams I StockhamSpainIvan Magalhaes UNQUALIFIED
Kadeem E FerenczFranceOnyama Limba UNQUALIFIED
David T BowleyBrazilIvan Magalhaes RENEWAL
Claire O PoquetteRussiaBernardo Dominic UNQUALIFIED
Kaitlin U PaprockiRussiaAmy Elsner NEW
Maria B MorascaRussiaElwin Sharvill UNQUALIFIED
Maisha W FigeroaCanadaElwin Sharvill NEGOTIATION
Octavia E FlosiArgentinaIvan Magalhaes RENEWAL
David Q RoysterGermanyIoni Bowcher NEGOTIATION
Chavez K VocelkaBrazilStephen Shaw RENEWAL
Sinclair J StensethArgentinaBernardo Dominic NEW
Arvin W MacleadSpainAnna Fali NEW
Ashley L MaletBrazilOnyama Limba NEGOTIATION
Ricardo H CaldareraItalyAmy Elsner PROPOSAL
Stacey G DarakjyBrazilXuxue Feng NEW
Isabel N WaycottItalyAnna Fali UNQUALIFIED
Morrow Z RulapaughItalyAnna Fali NEGOTIATION
Aditya K WieserRussiaElwin Sharvill QUALIFIED
Chavez G DarakjyRussiaAnna Fali QUALIFIED
Faith U SlusarskiSpainAsiya Javayant UNQUALIFIED
Claire W DilliardBrazilBernardo Dominic RENEWAL
Munro X GillianCanadaXuxue Feng QUALIFIED
Izzy Z CaudyRussiaXuxue Feng QUALIFIED
Wickens N NickaItalyIvan Magalhaes NEGOTIATION
Wickens H RoysterFranceAnna Fali QUALIFIED
Chavez X FerenczCanadaIvan Magalhaes PROPOSAL
Kadeem L BologniaFranceAmy Elsner UNQUALIFIED
Misaki Q DilliardIndiaXuxue Feng NEW
Deepesh Z KuskoIndiaIoni Bowcher UNQUALIFIED
Smith I NestleAustraliaOnyama Limba UNQUALIFIED
Ashley Q GarufiIndiaStephen Shaw PROPOSAL
Nicolas R RoysterIndiaOnyama Limba QUALIFIED
Jones I FerenczGermanyOnyama Limba QUALIFIED
David F CaudyRussiaIoni Bowcher NEGOTIATION
Ivar K KolmetzArgentinaAmy Elsner RENEWAL
Juan K StockhamRussiaIvan Magalhaes RENEWAL
Aruna C WaycottCanadaAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kaitlin C CampainCanadaAsiya Javayant QUALIFIED
Morrow R ShinkoJapanOnyama Limba PROPOSAL
Faith V PerinSpainIoni Bowcher UNQUALIFIED
Octavia L SlusarskiArgentinaStephen Shaw PROPOSAL
Izzy F GarufiIndiaAmy Elsner NEW
Aika T RulapaughSpainOnyama Limba PROPOSAL
Ashley M SergiItalyAnna Fali PROPOSAL
Morrow Z FigeroaItalyIvan Magalhaes UNQUALIFIED
Nicolas F StockhamBrazilIoni Bowcher PROPOSAL
Adams Z DilliardJapanXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha Z PoquetteItaly2024-06-17Chapman, Ross E Esq UNQUALIFIED31Ioni Bowcher
1001Aruna L PerinAustralia2024-06-08Rousseaux, Michael Esq NEW81Anna Fali
1002Juan B CaudyJapan2024-05-26Commercial Press UNQUALIFIED27Bernardo Dominic
1003Juan A DilliardArgentina2024-06-06Rousseaux, Michael Esq RENEWAL3Elwin Sharvill
1004Jennifer Q FerenczItaly2024-06-15Rousseaux, Michael Esq QUALIFIED19Xuxue Feng
1005Munro U CaudyFrance2024-06-16Commercial Press PROPOSAL31Ioni Bowcher
1006Morrow H SaylorsGermany2024-06-04Feltz Printing Service QUALIFIED19Ivan Magalhaes
1007Misaki B VenereIndia2024-06-06Rousseaux, Michael Esq NEGOTIATION91Bernardo Dominic
1008Isabel K AmigonIndia2024-06-01Rousseaux, Michael Esq PROPOSAL80Ioni Bowcher
1009Maria C MacleadSpain2024-06-20Feltz Printing Service UNQUALIFIED86Elwin Sharvill
1010Ricardo Q MaletArgentina2024-06-13Morlong Associates NEGOTIATION88Anna Fali
1011Mujtaba G WaycottUnited Kingdom2024-06-07Truhlar And Truhlar Attys UNQUALIFIED78Bernardo Dominic
1012Greenwood H CampainUnited Kingdom2024-06-24Feiner Bros NEGOTIATION95Bernardo Dominic
1013Maria Z WhobreyBrazil2024-05-27Rangoni Of Florence NEW37Asiya Javayant
1014Misaki B GauchoJapan2024-06-23Feltz Printing Service PROPOSAL22Anna Fali
1015Maria P CampainBrazil2024-06-15Rousseaux, Michael Esq NEW99Ioni Bowcher
1016Misaki N DoeAustralia2024-06-07Chapman, Ross E Esq NEW87Onyama Limba
1017Johnson Z ChuiGermany2024-05-28Feltz Printing Service NEW64Asiya Javayant
1018Aruna R RutaItaly2024-06-18Dorl, James J Esq QUALIFIED8Stephen Shaw
1019Adams C FerenczArgentina2024-06-14Buckley Miller Wright PROPOSAL25Bernardo Dominic
1020Isabel L RimSpain2024-06-05Rousseaux, Michael Esq UNQUALIFIED12Elwin Sharvill
1021Aruna W GauchoRussia2024-06-01Chanay, Jeffrey A Esq NEW67Elwin Sharvill
1022Leon A KuskoJapan2024-06-16Printing Dimensions NEGOTIATION93Amy Elsner
1023Mayumi K RulapaughBrazil2024-05-30Chapman, Ross E Esq UNQUALIFIED61Bernardo Dominic
1024Greenwood I ButtUnited Kingdom2024-06-12Printing Dimensions NEW57Ioni Bowcher
1025Murillo G AmigonFrance2024-06-11Rangoni Of Florence UNQUALIFIED25Ioni Bowcher
1026Juan H KolmetzAustralia2024-06-22Commercial Press PROPOSAL52Bernardo Dominic
1027Adams Z ChuiItaly2024-06-21Dorl, James J Esq RENEWAL73Ioni Bowcher
1028Chavez B ChuiJapan2024-06-17Chanay, Jeffrey A Esq NEGOTIATION4Bernardo Dominic
1029Maisha J MorascaAustralia2024-06-15Printing Dimensions NEGOTIATION44Ivan Magalhaes
1030Juan T MaletArgentina2024-06-10Feiner Bros NEW13Amy Elsner
1031Salvatore W OstroskyAustralia2024-06-23Rousseaux, Michael Esq QUALIFIED56Stephen Shaw
1032Aditya W PoquetteArgentina2024-06-05Printing Dimensions RENEWAL13Anna Fali
1033Octavia V VenereFrance2024-05-29Morlong Associates RENEWAL42Stephen Shaw
1034Darci V KuskoSpain2024-06-17Chapman, Ross E Esq RENEWAL55Onyama Limba
1035Chavez K AmigonAustralia2024-05-31Commercial Press NEW31Onyama Limba
1036Jones A CaudyGermany2024-06-11Benton, John B Jr RENEWAL48Amy Elsner
1037Arvin F StensethBrazil2024-06-14King, Christopher A Esq UNQUALIFIED47Elwin Sharvill
1038Kadeem X OldroydArgentina2024-06-19Morlong Associates UNQUALIFIED16Ioni Bowcher
1039Francesco G DilliardSpain2024-05-31King, Christopher A Esq NEGOTIATION66Onyama Limba
1040Kaitlin G PaprockiArgentina2024-06-01Dorl, James J Esq RENEWAL38Onyama Limba
1041Ashley E CaudyUnited Kingdom2024-06-22Chapman, Ross E Esq NEGOTIATION9Anna Fali
1042Alejandro U MarrierIndia2024-06-03Feltz Printing Service QUALIFIED23Bernardo Dominic
1043Ivar Z GarufiFrance2024-06-17Rangoni Of Florence NEW92Elwin Sharvill
1044Arvin Y BriddickUnited Kingdom2024-06-21Rousseaux, Michael Esq PROPOSAL18Anna Fali
1045Sinclair L MaletAustralia2024-06-01Rousseaux, Michael Esq NEW46Anna Fali
1046Silvio W DilliardSpain2024-06-19Truhlar And Truhlar Attys QUALIFIED7Ivan Magalhaes
1047Izzy Y SchemmerFrance2024-06-04Benton, John B Jr UNQUALIFIED26Anna Fali
1048Aditya H GauchoBrazil2024-06-11Feltz Printing Service PROPOSAL68Stephen Shaw
1049Aika C StensethIndia2024-05-31Chemel, James L Cpa NEW94Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
James C MaletRussiaIvan Magalhaes QUALIFIED
Francesco S OldroydUnited KingdomAnna Fali QUALIFIED
David Q GlickArgentinaBernardo Dominic NEW
Adams C RimSpainIoni Bowcher RENEWAL
Rodrigues W KuskoFranceAsiya Javayant QUALIFIED
Murillo H RutaCanadaXuxue Feng QUALIFIED
Kadeem A ShinkoAustraliaElwin Sharvill NEGOTIATION
Aika H MarrierIndiaOnyama Limba NEW
Stacey N CampainUnited KingdomOnyama Limba QUALIFIED
Greenwood B MaletJapanIoni Bowcher RENEWAL
Aika L SergiArgentinaBernardo Dominic UNQUALIFIED
Antonio N PaprockiRussiaOnyama Limba NEW
Munro M RimArgentinaAnna Fali NEW
Maria O CaudyArgentinaStephen Shaw QUALIFIED
Nicolas G AmigonIndiaXuxue Feng QUALIFIED
Johnson P TollnerSpainIvan Magalhaes UNQUALIFIED
Murillo X NickaItalyAnna Fali PROPOSAL
Mujtaba N MorascaBrazilAsiya Javayant PROPOSAL
Arvin Z GarufiArgentinaBernardo Dominic RENEWAL
Aditya P MorascaCanadaAsiya Javayant UNQUALIFIED
Misaki L KolmetzJapanXuxue Feng NEW
Darci Z BowleyArgentinaElwin Sharvill QUALIFIED
Munro A PerinCanadaIoni Bowcher QUALIFIED
Costa W OldroydFranceXuxue Feng PROPOSAL
Izzy I NickaIndiaElwin Sharvill QUALIFIED
Adams D KolmetzIndiaOnyama Limba NEW
Stacey A RimBrazilXuxue Feng QUALIFIED
Greenwood L KuskoArgentinaOnyama Limba RENEWAL
Johnson D RoysterIndiaIvan Magalhaes PROPOSAL
Adams P KuskoUnited KingdomIvan Magalhaes QUALIFIED
Juan H BriddickUnited KingdomElwin Sharvill NEGOTIATION
Jefferson T AlbaresJapanIoni Bowcher QUALIFIED
Kadeem N FollerJapanAsiya Javayant RENEWAL
Leon X GlickGermanyOnyama Limba QUALIFIED
Ricardo T CaldareraAustraliaAnna Fali NEGOTIATION
Kadeem Y MarrierCanadaAnna Fali QUALIFIED
Antonio Z WhobreyIndiaXuxue Feng UNQUALIFIED
Aika Q WhobreyUnited KingdomAsiya Javayant PROPOSAL
Darci X AlbaresJapanXuxue Feng NEGOTIATION
Alejandro F PerinAustraliaBernardo Dominic NEW
Francesco J AmigonArgentinaXuxue Feng QUALIFIED
Tony E RutaItalyAmy Elsner NEGOTIATION
David I MacleadAustraliaStephen Shaw RENEWAL
Maisha D DarakjyAustraliaXuxue Feng QUALIFIED
Izzy B StensethUnited KingdomElwin Sharvill UNQUALIFIED
Ivar V KolmetzSpainElwin Sharvill PROPOSAL
Leja R BowleyCanadaElwin Sharvill QUALIFIED
Aruna A CaldareraUnited KingdomIoni Bowcher RENEWAL
Juan H StensethSpainBernardo Dominic PROPOSAL
Jones E InouyeJapanAmy Elsner RENEWAL
Frozen Columns
Name
Stacey E Amigon
Francesco Q Venere
Misaki G Butt
Chavez X Morasca
Nicolas N Dilliard
Kaitlin D Rulapaugh
Maisha C Nicka
Isabel T Doe
Jefferson U Garufi
Maisha Y Malet
Chavez D Tollner
Jones J Glick
Aika O Wieser
Jennifer B Gaucho
Greenwood J Royster
James W Inouye
Octavia E Malet
Cody Y Glick
Maria P Dilliard
Julie M Royster
Stacey O Kolmetz
Antonio L Shinko
Deepesh O Poquette
Aditya U Vocelka
Rodrigues R Vocelka
Mujtaba W Ruta
Greenwood T Amigon
Aika F Rim
Jeanfrancois X Chui
David K Maclead
Munro T Figeroa
Wickens X Butt
Kadeem L Glick
Maria S Poquette
Alejandro Z Chui
Clifford F Perin
Chavez R Waycott
Adams M Chui
Claire N Gillian
Aika X Dilliard
Ricardo S Gillian
Smith Q Bowley
Silvio Q Ruta
Aruna A Morasca
Aditya O Caudy
Kaitlin K Gaucho
Kaitlin H Malet
Rodrigues S Albares
Salvatore B Iturbide
Greenwood I Dilliard
IdCountryDate
1000Spain2024-06-04
1001Canada2024-06-12
1002Argentina2024-06-14
1003Japan2024-05-27
1004Japan2024-06-13
1005United Kingdom2024-06-19
1006India2024-05-29
1007Spain2024-06-22
1008Italy2024-06-07
1009Brazil2024-06-14
1010Brazil2024-06-24
1011Italy2024-05-30
1012India2024-06-03
1013Brazil2024-06-24
1014United Kingdom2024-05-26
1015Argentina2024-05-30
1016France2024-06-05
1017Argentina2024-06-24
1018Russia2024-06-24
1019Italy2024-06-01
1020India2024-06-03
1021Italy2024-06-23
1022Italy2024-06-15
1023Australia2024-05-30
1024Spain2024-06-11
1025Australia2024-06-18
1026Italy2024-06-17
1027Russia2024-06-06
1028Germany2024-05-31
1029Australia2024-05-27
1030France2024-05-29
1031Brazil2024-06-18
1032Australia2024-06-17
1033Brazil2024-06-14
1034Argentina2024-06-12
1035India2024-06-08
1036Argentina2024-06-01
1037Italy2024-06-02
1038Japan2024-06-19
1039India2024-06-22
1040Canada2024-06-24
1041Russia2024-06-11
1042United Kingdom2024-06-14
1043United Kingdom2024-06-10
1044Germany2024-06-19
1045Spain2024-06-01
1046India2024-06-11
1047Spain2024-06-20
1048Spain2024-06-07
1049France2024-06-23

On-Demand Data

NameIdCountryDate
Johnson S Gaucho1000Italy2024-05-31
Chavez B Chui1001Spain2024-06-07
Mujtaba P Stenseth1002United Kingdom2024-06-09
Juan R Tollner1003Japan2024-06-20
Leon X Rulapaugh1004France2024-06-18
Rodrigues K Bowley1005Russia2024-06-06
Ashley B Amigon1006India2024-06-02
Leon K Whobrey1007Canada2024-05-27
Faith M Caldarera1008Brazil2024-05-27
Clifford D Nestle1009Argentina2024-06-07
Francesco M Nicka1010Argentina2024-06-24
Ricardo E Stockham1011France2024-05-31
Jennifer M Caudy1012Russia2024-06-04
Kaitlin G Kolmetz1013France2024-06-14
Claire S Foller1014Germany2024-06-05
Salvatore O Sergi1015Italy2024-06-15
Antonio D Kusko1016Canada2024-06-22
Stacey A Campain1017Italy2024-05-31
Silvio R Inouye1018United Kingdom2024-05-30
Claire H Figeroa1019Argentina2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa Z ShinkoBrazilIvan Magalhaes NEGOTIATION
Sinclair A ButtFranceOnyama Limba UNQUALIFIED
Jefferson L DoeIndiaAmy Elsner QUALIFIED
Jones P CaudyAustraliaIoni Bowcher UNQUALIFIED
Johnson A MorascaRussiaIoni Bowcher UNQUALIFIED
Chavez K IturbideArgentinaOnyama Limba NEGOTIATION
Octavia V PaprockiRussiaStephen Shaw NEW
Jeanfrancois H TollnerArgentinaOnyama Limba UNQUALIFIED
Greenwood G SergiRussiaAmy Elsner RENEWAL
Clifford W FollerFranceAnna Fali RENEWAL
Aditya Y CampainJapanBernardo Dominic NEGOTIATION
Silvio A WieserJapanAmy Elsner NEGOTIATION
Darci X WaycottArgentinaIoni Bowcher UNQUALIFIED
Smith R DarakjyArgentinaElwin Sharvill NEGOTIATION
Claire K BowleyItalyIoni Bowcher RENEWAL
Johnson P NickaRussiaIvan Magalhaes QUALIFIED
Maisha Z BologniaRussiaIvan Magalhaes PROPOSAL
Tony V ShinkoIndiaStephen Shaw RENEWAL
Kadeem N RulapaughBrazilAnna Fali UNQUALIFIED
Greenwood R AmigonRussiaOnyama Limba NEW
Alejandro N SlusarskiIndiaElwin Sharvill NEGOTIATION
Chavez V GillianFranceAsiya Javayant RENEWAL
Misaki V TollnerCanadaAmy Elsner QUALIFIED
Sinclair L RutaAustraliaElwin Sharvill NEGOTIATION
Leon X SergiRussiaAmy Elsner PROPOSAL
Aika O StockhamSpainAmy Elsner QUALIFIED
Murillo F DilliardUnited KingdomElwin Sharvill RENEWAL
Alejandro Z WieserSpainAnna Fali RENEWAL
Wickens A MarrierFranceAsiya Javayant QUALIFIED
Tony Q MorascaItalyOnyama Limba NEW
Isabel B GauchoAustraliaAsiya Javayant NEW
Ivar L DarakjyArgentinaOnyama Limba QUALIFIED
Aika F IturbideIndiaIoni Bowcher QUALIFIED
Nicolas R RutaJapanOnyama Limba NEW
Munro Z GillianFranceBernardo Dominic NEW
Chavez H SlusarskiGermanyStephen Shaw RENEWAL
Jennifer U MarrierFranceIvan Magalhaes NEW
Cody P GauchoItalyAmy Elsner RENEWAL
Tony S TollnerGermanyXuxue Feng RENEWAL
Arvin M OldroydBrazilIvan Magalhaes 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>