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
Morrow J MaletJapanBernardo Dominic QUALIFIED
Rodrigues M PaprockiUnited KingdomStephen Shaw QUALIFIED
Juan X ShinkoCanadaBernardo Dominic NEGOTIATION
Antonio W NickaArgentinaAmy Elsner NEW
Silvio F DoeAustraliaElwin Sharvill PROPOSAL
Nicolas N WieserJapanXuxue Feng QUALIFIED
James Q RutaGermanyElwin Sharvill NEGOTIATION
David X ButtJapanStephen Shaw RENEWAL
Aruna Z FigeroaIndiaOnyama Limba NEGOTIATION
Smith Q NestleRussiaOnyama Limba PROPOSAL
Jennifer D ShinkoArgentinaStephen Shaw RENEWAL
Cody B StensethRussiaElwin Sharvill NEW
Kaitlin T GauchoJapanAmy Elsner NEGOTIATION
Aika B PaprockiFranceOnyama Limba RENEWAL
Chavez R VocelkaGermanyOnyama Limba PROPOSAL
Aruna E WaycottCanadaBernardo Dominic NEW
Smith L BologniaFranceAmy Elsner UNQUALIFIED
Aditya Y OldroydJapanOnyama Limba UNQUALIFIED
Mujtaba D DarakjyJapanIoni Bowcher QUALIFIED
Sinclair P OstroskyGermanyIoni Bowcher UNQUALIFIED
Greenwood E BowleyGermanyAmy Elsner UNQUALIFIED
Darci Z PaprockiItalyElwin Sharvill NEW
Arvin L ButtCanadaOnyama Limba PROPOSAL
Leon X ChuiGermanyOnyama Limba QUALIFIED
Faith C GarufiItalyXuxue Feng RENEWAL
Faith Z DilliardUnited KingdomAsiya Javayant RENEWAL
Kaitlin B PaprockiBrazilAmy Elsner UNQUALIFIED
Cody T NestleRussiaXuxue Feng RENEWAL
Francesco Z RutaGermanyAsiya Javayant PROPOSAL
Rodrigues L NickaCanadaStephen Shaw NEGOTIATION
Jennifer D ButtRussiaXuxue Feng NEGOTIATION
Sinclair U KuskoItalyIoni Bowcher QUALIFIED
James J OstroskyIndiaIvan Magalhaes UNQUALIFIED
Maisha G AmigonIndiaAsiya Javayant UNQUALIFIED
Deepesh P PerinCanadaAsiya Javayant NEGOTIATION
Leon C RoysterBrazilStephen Shaw RENEWAL
Greenwood K CaldareraJapanAmy Elsner UNQUALIFIED
Sinclair X DoeGermanyIvan Magalhaes UNQUALIFIED
Misaki L SchemmerGermanyIvan Magalhaes QUALIFIED
Cody Z BologniaRussiaAmy Elsner NEGOTIATION
Antonio F FerenczCanadaElwin Sharvill UNQUALIFIED
Salvatore V OldroydUnited KingdomStephen Shaw QUALIFIED
Salvatore B KolmetzCanadaIvan Magalhaes NEGOTIATION
Jeanfrancois U StensethUnited KingdomStephen Shaw NEGOTIATION
Johnson X PerinGermanyOnyama Limba NEW
Claire R MorascaIndiaXuxue Feng QUALIFIED
Johnson A SergiSpainIvan Magalhaes QUALIFIED
Deepesh F IturbideBrazilElwin Sharvill NEGOTIATION
Alejandro C InouyeJapanAnna Fali PROPOSAL
Leon V DoeUnited KingdomIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
David T OstroskyItalyBernardo Dominic PROPOSAL
Clifford O OstroskyRussiaElwin Sharvill QUALIFIED
Aruna C ChuiGermanyAnna Fali UNQUALIFIED
Mayumi T BologniaIndiaIoni Bowcher PROPOSAL
Mayumi U TollnerJapanAsiya Javayant RENEWAL
Jones S NestleArgentinaIoni Bowcher PROPOSAL
Tony Z SchemmerArgentinaIvan Magalhaes NEGOTIATION
Cody H CampainJapanIvan Magalhaes NEGOTIATION
Maisha U MaletJapanBernardo Dominic NEGOTIATION
Arvin J NickaCanadaOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony Y CampainCanada2024-05-29Morlong Associates NEW97Ivan Magalhaes
1001Wickens Q TollnerFrance2024-06-21Rousseaux, Michael Esq NEW76Elwin Sharvill
1002Kaitlin W MaletRussia2024-06-14Chanay, Jeffrey A Esq RENEWAL95Anna Fali
1003Claire R OldroydBrazil2024-06-21Feiner Bros QUALIFIED99Asiya Javayant
1004Aditya F GarufiIndia2024-06-01Chemel, James L Cpa PROPOSAL43Xuxue Feng
1005Faith K BologniaUnited Kingdom2024-05-25King, Christopher A Esq PROPOSAL76Ivan Magalhaes
1006Rodrigues Q GarufiCanada2024-05-25Chapman, Ross E Esq NEGOTIATION0Ioni Bowcher
1007Jones L CaldareraAustralia2024-05-31Feiner Bros RENEWAL38Onyama Limba
1008Nicolas P GillianItaly2024-06-06Dorl, James J Esq NEW48Asiya Javayant
1009Ricardo O StockhamCanada2024-06-21Commercial Press NEGOTIATION85Anna Fali
1010Rodrigues O OldroydIndia2024-05-23King, Christopher A Esq NEW23Anna Fali
1011Emily F VenereAustralia2024-05-29Feltz Printing Service NEW73Ivan Magalhaes
1012Leon Q NickaBrazil2024-06-08Rousseaux, Michael Esq QUALIFIED51Xuxue Feng
1013Sinclair K IturbideRussia2024-05-26Printing Dimensions NEGOTIATION99Bernardo Dominic
1014Izzy L WhobreyFrance2024-06-07Feiner Bros UNQUALIFIED31Onyama Limba
1015Julie K ChuiSpain2024-06-18Buckley Miller Wright QUALIFIED91Xuxue Feng
1016Rodrigues E WhobreyRussia2024-06-08King, Christopher A Esq PROPOSAL14Ioni Bowcher
1017Ashley Q PoquetteUnited Kingdom2024-05-28Rangoni Of Florence NEGOTIATION16Onyama Limba
1018Izzy I FollerJapan2024-05-23Morlong Associates PROPOSAL76Ioni Bowcher
1019Aika M TollnerUnited Kingdom2024-06-12Dorl, James J Esq NEW54Amy Elsner
1020Arvin X MacleadUnited Kingdom2024-05-30Feltz Printing Service QUALIFIED55Asiya Javayant
1021David J BriddickIndia2024-05-29Commercial Press PROPOSAL59Elwin Sharvill
1022Leon F SergiRussia2024-05-26Rousseaux, Michael Esq RENEWAL21Anna Fali
1023Ashley A WaycottUnited Kingdom2024-05-25Dorl, James J Esq PROPOSAL81Onyama Limba
1024Smith G CaldareraRussia2024-05-31Buckley Miller Wright QUALIFIED18Onyama Limba
1025Kaitlin E SergiGermany2024-06-20Feltz Printing Service QUALIFIED3Bernardo Dominic
1026Stacey Y NickaArgentina2024-06-03King, Christopher A Esq PROPOSAL24Amy Elsner
1027Nicolas J CaldareraItaly2024-06-11Chemel, James L Cpa UNQUALIFIED58Bernardo Dominic
1028Wickens Q DilliardJapan2024-06-12Rangoni Of Florence NEGOTIATION56Stephen Shaw
1029Emily M StockhamCanada2024-06-07Printing Dimensions NEW67Onyama Limba
1030Smith W TollnerGermany2024-06-18Truhlar And Truhlar Attys PROPOSAL97Ivan Magalhaes
1031Murillo N PoquetteArgentina2024-06-14Printing Dimensions PROPOSAL64Ivan Magalhaes
1032David P ShinkoCanada2024-05-24Morlong Associates NEGOTIATION37Xuxue Feng
1033Alejandro Q DarakjyIndia2024-06-06Feltz Printing Service PROPOSAL19Onyama Limba
1034Ivar R AlbaresGermany2024-06-19Truhlar And Truhlar Attys PROPOSAL64Onyama Limba
1035Octavia I MarrierRussia2024-06-10Feiner Bros PROPOSAL46Stephen Shaw
1036James F KolmetzFrance2024-06-09Chanay, Jeffrey A Esq NEGOTIATION92Amy Elsner
1037Juan B MarrierArgentina2024-05-27Commercial Press UNQUALIFIED9Ioni Bowcher
1038Antonio C NickaArgentina2024-06-12Dorl, James J Esq UNQUALIFIED41Asiya Javayant
1039Chavez K WhobreyRussia2024-05-23Commercial Press PROPOSAL22Amy Elsner
1040Jennifer B FlosiIndia2024-06-17Feiner Bros PROPOSAL37Asiya Javayant
1041Clifford Q FerenczArgentina2024-05-29Dorl, James J Esq NEW31Elwin Sharvill
1042Deepesh O VenereArgentina2024-06-15Buckley Miller Wright RENEWAL92Anna Fali
1043Izzy R SergiBrazil2024-06-19Chanay, Jeffrey A Esq UNQUALIFIED31Ivan Magalhaes
1044Deepesh L AmigonCanada2024-05-26Buckley Miller Wright NEW56Ioni Bowcher
1045Kaitlin N OldroydFrance2024-05-25Buckley Miller Wright NEW54Xuxue Feng
1046Smith C BologniaSpain2024-06-06Commercial Press NEGOTIATION66Stephen Shaw
1047Jennifer R TollnerUnited Kingdom2024-06-06Printing Dimensions NEGOTIATION30Bernardo Dominic
1048Juan S StockhamFrance2024-05-25Commercial Press NEW20Asiya Javayant
1049Kaitlin H DilliardJapan2024-06-15Benton, John B Jr PROPOSAL57Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Jennifer B RimUnited KingdomStephen Shaw NEW
Kadeem S DilliardCanadaAnna Fali NEGOTIATION
Maria X NickaUnited KingdomAnna Fali PROPOSAL
Kadeem Y SchemmerSpainAnna Fali UNQUALIFIED
Antonio A PoquetteArgentinaElwin Sharvill NEW
James G MarrierCanadaStephen Shaw NEW
Rodrigues T RutaSpainOnyama Limba PROPOSAL
Arvin R SaylorsSpainXuxue Feng NEGOTIATION
Murillo G ChuiBrazilAmy Elsner QUALIFIED
Aditya O MorascaSpainOnyama Limba QUALIFIED
Aika L StensethFranceXuxue Feng UNQUALIFIED
Clifford H PerinFranceStephen Shaw NEW
Juan H WhobreySpainOnyama Limba QUALIFIED
Kaitlin M SlusarskiRussiaStephen Shaw UNQUALIFIED
Deepesh Q VocelkaUnited KingdomAmy Elsner QUALIFIED
Salvatore E ChuiUnited KingdomIoni Bowcher UNQUALIFIED
Chavez H AlbaresFranceAmy Elsner QUALIFIED
Maria T AlbaresRussiaIvan Magalhaes NEW
Francesco H AlbaresArgentinaBernardo Dominic PROPOSAL
Salvatore O FerenczRussiaBernardo Dominic RENEWAL
Leja T DarakjyBrazilAnna Fali PROPOSAL
Mujtaba B FollerArgentinaIoni Bowcher NEW
Leon I PaprockiJapanXuxue Feng RENEWAL
Kaitlin Q RimJapanAsiya Javayant RENEWAL
Emily H SchemmerGermanyAsiya Javayant PROPOSAL
Ricardo Z ChuiItalyAsiya Javayant RENEWAL
Faith A PoquetteItalyIvan Magalhaes QUALIFIED
Darci G FigeroaIndiaElwin Sharvill RENEWAL
Smith W AmigonSpainStephen Shaw UNQUALIFIED
James Y StensethArgentinaBernardo Dominic QUALIFIED
Juan R SlusarskiItalyXuxue Feng PROPOSAL
Arvin N ChuiSpainIoni Bowcher RENEWAL
Isabel F CaudyAustraliaIoni Bowcher UNQUALIFIED
Juan O RimRussiaStephen Shaw PROPOSAL
Arvin V AmigonJapanIvan Magalhaes UNQUALIFIED
Darci L PoquetteSpainAsiya Javayant UNQUALIFIED
Mujtaba K DilliardItalyAmy Elsner NEW
Aika T PoquetteUnited KingdomOnyama Limba QUALIFIED
Maisha W GillianAustraliaAnna Fali UNQUALIFIED
Misaki D IturbideSpainIvan Magalhaes UNQUALIFIED
Maria G AmigonUnited KingdomAnna Fali NEW
Darci A SergiCanadaOnyama Limba QUALIFIED
Julie D InouyeItalyBernardo Dominic NEGOTIATION
Adams R MacleadUnited KingdomBernardo Dominic NEGOTIATION
Nicolas K KuskoArgentinaStephen Shaw UNQUALIFIED
Claire P FlosiJapanXuxue Feng QUALIFIED
Mayumi P NickaUnited KingdomAnna Fali RENEWAL
David C GillianGermanyXuxue Feng RENEWAL
Maria I VenereFranceAnna Fali UNQUALIFIED
Kadeem W PaprockiIndiaElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Wickens Z Venere
Jefferson Y Saylors
Johnson R Dilliard
Kaitlin F Waycott
Octavia N Rulapaugh
Arvin B Waycott
Silvio I Maclead
Misaki C Saylors
Aditya S Kusko
Aditya U Ruta
Johnson J Chui
Darci Y Butt
David Z Malet
Ivar C Tollner
Jennifer T Vocelka
Mayumi N Maclead
Arvin L Vocelka
Tony P Ferencz
Mayumi B Garufi
Salvatore W Venere
Antonio O Caudy
Leon H Rulapaugh
Maisha O Schemmer
Mayumi X Caldarera
Francesco U Malet
Jefferson D Ostrosky
Tony G Royster
Emily I Foller
Emily A Rim
Greenwood J Schemmer
Izzy U Marrier
Kadeem I Bowley
Maisha J Campain
Deepesh T Foller
David B Iturbide
Ricardo Q Sergi
Silvio X Garufi
Salvatore P Saylors
Murillo P Glick
Kaitlin P Rim
Jones B Kusko
Sinclair Y Vocelka
Salvatore E Ostrosky
Aruna Q Ruta
Maria A Morasca
Salvatore R Maclead
Smith C Royster
Ashley N Darakjy
Tony B Doe
Jennifer I Bolognia
IdCountryDate
1000United Kingdom2024-06-04
1001Argentina2024-06-11
1002United Kingdom2024-06-08
1003United Kingdom2024-06-08
1004Australia2024-06-15
1005Germany2024-06-02
1006Argentina2024-06-14
1007Argentina2024-06-11
1008United Kingdom2024-05-28
1009Spain2024-06-04
1010Germany2024-05-31
1011France2024-05-26
1012Spain2024-06-14
1013United Kingdom2024-05-29
1014Canada2024-06-13
1015Germany2024-06-09
1016Germany2024-06-12
1017Japan2024-06-12
1018Australia2024-05-24
1019Spain2024-06-11
1020Italy2024-06-04
1021United Kingdom2024-06-21
1022Japan2024-05-31
1023United Kingdom2024-06-16
1024Argentina2024-06-01
1025Canada2024-06-02
1026Germany2024-05-23
1027United Kingdom2024-05-31
1028Italy2024-06-03
1029India2024-05-23
1030Italy2024-06-19
1031United Kingdom2024-05-24
1032Canada2024-06-04
1033France2024-05-31
1034Russia2024-06-10
1035France2024-06-04
1036France2024-06-06
1037Spain2024-05-24
1038Australia2024-05-23
1039Italy2024-06-09
1040Japan2024-05-27
1041France2024-06-19
1042Spain2024-06-06
1043Australia2024-06-05
1044Australia2024-06-14
1045Germany2024-06-14
1046Australia2024-06-08
1047United Kingdom2024-06-15
1048France2024-06-21
1049United Kingdom2024-06-04

On-Demand Data

NameIdCountryDate
Jeanfrancois Z Malet1000Australia2024-06-04
Antonio U Campain1001Japan2024-06-04
Leja X Butt1002United Kingdom2024-06-03
Mayumi G Amigon1003France2024-06-12
Maisha Q Amigon1004Australia2024-05-29
Deepesh D Nicka1005Germany2024-06-02
Clifford V Flosi1006Argentina2024-05-31
Maisha N Waycott1007India2024-06-11
James J Albares1008Spain2024-06-03
Leon T Shinko1009Canada2024-05-27
Ivar F Malet1010Brazil2024-06-08
Maisha L Caudy1011Canada2024-06-11
Tony E Tollner1012Canada2024-05-26
Maria V Shinko1013Brazil2024-05-24
Alejandro K Darakjy1014Argentina2024-06-03
Emily V Glick1015Germany2024-06-04
Francesco A Poquette1016Japan2024-06-10
Munro F Venere1017United Kingdom2024-05-25
Darci M Wieser1018Argentina2024-06-08
Silvio H Garufi1019Australia2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow X AlbaresJapanAsiya Javayant PROPOSAL
Isabel I FerenczRussiaElwin Sharvill NEW
Costa H NickaSpainOnyama Limba PROPOSAL
Aruna U DoeAustraliaOnyama Limba UNQUALIFIED
Arvin T IturbideRussiaIvan Magalhaes UNQUALIFIED
Deepesh R BriddickFranceAnna Fali NEW
Rodrigues N MacleadUnited KingdomAnna Fali PROPOSAL
Salvatore L FlosiSpainOnyama Limba NEW
Octavia N SchemmerGermanyStephen Shaw RENEWAL
Jennifer P PaprockiGermanyElwin Sharvill NEW
Aika V GarufiSpainElwin Sharvill QUALIFIED
Aika M CaldareraCanadaBernardo Dominic UNQUALIFIED
Leja Q BologniaItalyIvan Magalhaes NEGOTIATION
Salvatore I MorascaIndiaElwin Sharvill QUALIFIED
Jeanfrancois U SergiCanadaXuxue Feng UNQUALIFIED
Ivar X AmigonFranceStephen Shaw QUALIFIED
Jones U IturbideSpainXuxue Feng RENEWAL
Rodrigues Y KuskoSpainElwin Sharvill NEW
James K KolmetzArgentinaOnyama Limba NEW
James Z PaprockiFranceOnyama Limba NEW
Cody F FlosiSpainIoni Bowcher RENEWAL
Stacey Z WaycottIndiaAnna Fali UNQUALIFIED
Munro A FigeroaFranceBernardo Dominic PROPOSAL
Antonio W GillianUnited KingdomBernardo Dominic RENEWAL
James E WaycottFranceOnyama Limba QUALIFIED
Kadeem Q RoysterJapanAnna Fali NEW
Tony L VenereUnited KingdomOnyama Limba PROPOSAL
Nicolas C BologniaArgentinaAsiya Javayant PROPOSAL
Francesco M TollnerRussiaStephen Shaw RENEWAL
Chavez G SlusarskiItalyOnyama Limba QUALIFIED
Nicolas Z RulapaughSpainIoni Bowcher RENEWAL
Maria X AlbaresIndiaBernardo Dominic PROPOSAL
Johnson K GarufiFranceIoni Bowcher UNQUALIFIED
Adams Q MacleadBrazilElwin Sharvill UNQUALIFIED
Isabel K BowleyFranceStephen Shaw UNQUALIFIED
Ricardo X CampainArgentinaStephen Shaw RENEWAL
Isabel X ShinkoIndiaStephen Shaw PROPOSAL
Isabel W StensethCanadaXuxue Feng UNQUALIFIED
Maisha Q BowleyBrazilXuxue Feng RENEWAL
Ricardo T BologniaAustraliaStephen Shaw 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>