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
Darci I FlosiFranceAnna Fali NEGOTIATION
Tony B WhobreyAustraliaBernardo Dominic NEW
Alejandro Y StensethArgentinaAmy Elsner NEGOTIATION
Mujtaba A FlosiJapanAmy Elsner NEGOTIATION
Salvatore H OstroskyItalyAnna Fali NEGOTIATION
Stacey T CaldareraUnited KingdomAsiya Javayant UNQUALIFIED
Deepesh Z GillianJapanAsiya Javayant UNQUALIFIED
David G DoeAustraliaBernardo Dominic QUALIFIED
Mujtaba S GillianSpainAmy Elsner NEGOTIATION
Clifford H MaletIndiaOnyama Limba NEW
Julie J RutaItalyBernardo Dominic NEW
Mujtaba V OstroskySpainElwin Sharvill RENEWAL
Misaki I OstroskyGermanyElwin Sharvill QUALIFIED
Francesco V RoysterCanadaAnna Fali NEGOTIATION
Izzy L SergiIndiaStephen Shaw UNQUALIFIED
Jeanfrancois O ShinkoItalyElwin Sharvill QUALIFIED
Salvatore J CaudyFranceAsiya Javayant QUALIFIED
David E OstroskyUnited KingdomAsiya Javayant UNQUALIFIED
Ashley B IturbideSpainXuxue Feng PROPOSAL
Octavia M SchemmerJapanAmy Elsner NEGOTIATION
Sinclair B GarufiArgentinaStephen Shaw NEW
Leon I SaylorsArgentinaStephen Shaw QUALIFIED
Morrow E NickaAustraliaOnyama Limba PROPOSAL
Antonio Y CaudyItalyElwin Sharvill PROPOSAL
Aditya G SergiAustraliaXuxue Feng NEW
Mujtaba H AmigonFranceStephen Shaw RENEWAL
Morrow D RulapaughAustraliaIvan Magalhaes UNQUALIFIED
Adams B StensethJapanOnyama Limba UNQUALIFIED
Leon H MorascaFranceXuxue Feng UNQUALIFIED
Francesco N GauchoSpainStephen Shaw NEW
Greenwood J ButtRussiaStephen Shaw QUALIFIED
Jennifer X SaylorsSpainIvan Magalhaes UNQUALIFIED
Leja E SchemmerArgentinaIvan Magalhaes RENEWAL
Costa F KuskoGermanyStephen Shaw RENEWAL
Claire Y MacleadItalyXuxue Feng UNQUALIFIED
Maria Q FerenczArgentinaStephen Shaw RENEWAL
Smith X SergiAustraliaAmy Elsner QUALIFIED
Jeanfrancois H DarakjyFranceBernardo Dominic UNQUALIFIED
Adams W BowleySpainIoni Bowcher NEGOTIATION
Morrow R KuskoFranceElwin Sharvill UNQUALIFIED
Sinclair A DoeSpainOnyama Limba QUALIFIED
Sinclair H WhobreyUnited KingdomIoni Bowcher NEGOTIATION
Aruna O StockhamSpainBernardo Dominic RENEWAL
Kadeem H GauchoCanadaXuxue Feng UNQUALIFIED
Alejandro D MaletAustraliaElwin Sharvill NEW
Johnson J DarakjyCanadaIoni Bowcher UNQUALIFIED
Francesco R SaylorsUnited KingdomBernardo Dominic QUALIFIED
Jones B DarakjyCanadaIoni Bowcher UNQUALIFIED
Wickens H TollnerAustraliaStephen Shaw PROPOSAL
Francesco U DoeAustraliaBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
David N ChuiItalyXuxue Feng NEW
Alejandro E FlosiFranceAmy Elsner QUALIFIED
Misaki Z RoysterIndiaIoni Bowcher PROPOSAL
Costa T MarrierItalyAsiya Javayant QUALIFIED
Nicolas J SaylorsIndiaBernardo Dominic NEW
Faith V SergiItalyStephen Shaw NEGOTIATION
Claire U BowleyCanadaAnna Fali NEGOTIATION
Smith B KuskoJapanXuxue Feng NEGOTIATION
Jones I ChuiBrazilAnna Fali PROPOSAL
Aruna Z FollerFranceAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez E AmigonIndia2024-06-07Dorl, James J Esq NEGOTIATION74Amy Elsner
1001Claire L AmigonCanada2024-06-07Chemel, James L Cpa UNQUALIFIED40Anna Fali
1002Isabel O BowleyJapan2024-05-31Morlong Associates UNQUALIFIED93Elwin Sharvill
1003Ivar W DarakjyFrance2024-06-17Printing Dimensions PROPOSAL23Stephen Shaw
1004Munro V WhobreyUnited Kingdom2024-06-01Benton, John B Jr RENEWAL70Ivan Magalhaes
1005Misaki E IturbideRussia2024-05-31Buckley Miller Wright QUALIFIED58Onyama Limba
1006Costa V GauchoFrance2024-06-08Rousseaux, Michael Esq UNQUALIFIED78Ivan Magalhaes
1007Isabel Z ShinkoGermany2024-06-04Feltz Printing Service RENEWAL99Xuxue Feng
1008Sinclair W BologniaCanada2024-05-20Buckley Miller Wright RENEWAL46Onyama Limba
1009Johnson W GarufiBrazil2024-06-08Feiner Bros PROPOSAL94Onyama Limba
1010Juan N FigeroaJapan2024-05-20Commercial Press NEGOTIATION74Bernardo Dominic
1011Tony I PaprockiUnited Kingdom2024-06-15Dorl, James J Esq PROPOSAL20Bernardo Dominic
1012Murillo N OstroskyCanada2024-06-14Chanay, Jeffrey A Esq RENEWAL80Xuxue Feng
1013Johnson G WieserRussia2024-06-17Commercial Press RENEWAL58Asiya Javayant
1014Kadeem T InouyeGermany2024-05-20Buckley Miller Wright NEGOTIATION93Ivan Magalhaes
1015James D WhobreyCanada2024-05-22Rangoni Of Florence NEW32Stephen Shaw
1016Jeanfrancois H StensethIndia2024-06-16Buckley Miller Wright RENEWAL3Ioni Bowcher
1017Maria F VenereBrazil2024-05-22Chanay, Jeffrey A Esq QUALIFIED75Anna Fali
1018Izzy Y ShinkoSpain2024-05-20Morlong Associates NEGOTIATION3Elwin Sharvill
1019David L AlbaresCanada2024-06-02King, Christopher A Esq UNQUALIFIED36Elwin Sharvill
1020Aika A BriddickAustralia2024-05-20Feiner Bros NEW21Amy Elsner
1021Deepesh Y VenereFrance2024-05-24Feiner Bros PROPOSAL39Elwin Sharvill
1022Arvin G MaletJapan2024-06-10Morlong Associates PROPOSAL80Anna Fali
1023Greenwood M DoeAustralia2024-06-11Chapman, Ross E Esq QUALIFIED27Stephen Shaw
1024James C VocelkaFrance2024-05-22Chanay, Jeffrey A Esq UNQUALIFIED50Stephen Shaw
1025Ivar I MaletIndia2024-05-30Chanay, Jeffrey A Esq RENEWAL17Ivan Magalhaes
1026Jennifer Y FigeroaGermany2024-05-29Rangoni Of Florence RENEWAL11Bernardo Dominic
1027Maisha M KolmetzUnited Kingdom2024-06-14Morlong Associates QUALIFIED5Xuxue Feng
1028Octavia G ChuiFrance2024-06-08Chanay, Jeffrey A Esq QUALIFIED11Bernardo Dominic
1029Smith Q GlickFrance2024-06-04Rangoni Of Florence UNQUALIFIED36Amy Elsner
1030Tony S FollerRussia2024-06-11Feltz Printing Service NEW93Amy Elsner
1031Mayumi E GlickItaly2024-06-08Truhlar And Truhlar Attys UNQUALIFIED2Ivan Magalhaes
1032Aditya H InouyeIndia2024-05-30Rangoni Of Florence UNQUALIFIED29Asiya Javayant
1033Kaitlin P ChuiJapan2024-05-23Truhlar And Truhlar Attys NEW27Onyama Limba
1034Arvin T WhobreyBrazil2024-05-24Dorl, James J Esq NEGOTIATION94Ivan Magalhaes
1035Aditya G VenereUnited Kingdom2024-06-09Buckley Miller Wright PROPOSAL26Amy Elsner
1036David B WieserAustralia2024-06-16Truhlar And Truhlar Attys UNQUALIFIED88Onyama Limba
1037Ashley Y MaletUnited Kingdom2024-05-28Truhlar And Truhlar Attys NEGOTIATION48Asiya Javayant
1038Leon W FollerJapan2024-05-29Rangoni Of Florence QUALIFIED84Amy Elsner
1039Claire F MorascaJapan2024-05-30Morlong Associates NEW50Elwin Sharvill
1040David V NestleRussia2024-06-16Morlong Associates NEW36Stephen Shaw
1041Murillo Q OstroskySpain2024-06-16Chapman, Ross E Esq NEW54Xuxue Feng
1042Jefferson U VenereIndia2024-06-03King, Christopher A Esq QUALIFIED32Stephen Shaw
1043Aditya X NestleFrance2024-06-07Printing Dimensions PROPOSAL74Amy Elsner
1044Aika C CampainFrance2024-05-27Truhlar And Truhlar Attys PROPOSAL31Xuxue Feng
1045Antonio F DoeSpain2024-06-16Commercial Press PROPOSAL21Bernardo Dominic
1046Juan X CaldareraItaly2024-05-30Buckley Miller Wright QUALIFIED97Ioni Bowcher
1047Antonio N CaldareraSpain2024-05-28Printing Dimensions NEGOTIATION22Bernardo Dominic
1048Mayumi R RoysterBrazil2024-05-31Buckley Miller Wright UNQUALIFIED14Ivan Magalhaes
1049Clifford C MaletIndia2024-06-07Printing Dimensions NEW41Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Silvio Y SergiGermanyIoni Bowcher QUALIFIED
Sinclair Y SlusarskiJapanOnyama Limba QUALIFIED
Aditya Q MaletFranceStephen Shaw RENEWAL
Aruna U RoysterGermanyXuxue Feng PROPOSAL
David B TollnerCanadaBernardo Dominic PROPOSAL
Ivar S KuskoCanadaXuxue Feng UNQUALIFIED
Munro S KuskoRussiaAmy Elsner PROPOSAL
Isabel B AlbaresAustraliaOnyama Limba NEGOTIATION
Rodrigues K RutaArgentinaElwin Sharvill PROPOSAL
Emily M ChuiRussiaElwin Sharvill QUALIFIED
Stacey K NickaItalyIvan Magalhaes RENEWAL
Tony W AmigonAustraliaAsiya Javayant PROPOSAL
Emily J OldroydArgentinaAsiya Javayant NEGOTIATION
Silvio L DilliardAustraliaIvan Magalhaes UNQUALIFIED
Alejandro R NestleRussiaAnna Fali RENEWAL
David T OstroskyIndiaElwin Sharvill PROPOSAL
Nicolas A SaylorsCanadaIoni Bowcher UNQUALIFIED
Silvio U CampainFranceIoni Bowcher QUALIFIED
Aruna Y StockhamIndiaAsiya Javayant QUALIFIED
Julie X GauchoGermanyXuxue Feng RENEWAL
Alejandro U InouyeGermanyBernardo Dominic UNQUALIFIED
Silvio X MacleadArgentinaElwin Sharvill QUALIFIED
Cody V GillianSpainElwin Sharvill PROPOSAL
Murillo Q PaprockiItalyIvan Magalhaes NEGOTIATION
Juan Q MaletBrazilAmy Elsner NEGOTIATION
Darci D KuskoRussiaElwin Sharvill NEW
Jennifer X OldroydUnited KingdomXuxue Feng NEGOTIATION
Faith C WaycottFranceOnyama Limba PROPOSAL
Nicolas H OldroydSpainAsiya Javayant UNQUALIFIED
Aika C RulapaughSpainStephen Shaw RENEWAL
Cody H StockhamItalyXuxue Feng PROPOSAL
Chavez L ButtSpainAnna Fali RENEWAL
Jennifer N RimSpainAmy Elsner PROPOSAL
Jennifer M DarakjyArgentinaElwin Sharvill RENEWAL
Jennifer H NickaAustraliaIvan Magalhaes NEW
Aruna A MorascaGermanyElwin Sharvill UNQUALIFIED
Costa U CaudyFranceIoni Bowcher QUALIFIED
Smith R WieserFranceElwin Sharvill RENEWAL
Munro U ChuiGermanyIvan Magalhaes NEGOTIATION
Cody D WieserIndiaXuxue Feng QUALIFIED
Salvatore P GarufiArgentinaXuxue Feng RENEWAL
Chavez X PaprockiIndiaAsiya Javayant PROPOSAL
Darci Q WieserIndiaIoni Bowcher NEW
Maisha D GarufiJapanElwin Sharvill UNQUALIFIED
Stacey Y DoeGermanyOnyama Limba NEW
Murillo U CaudyJapanIvan Magalhaes QUALIFIED
Nicolas R BologniaIndiaBernardo Dominic PROPOSAL
Morrow I StensethCanadaAmy Elsner NEW
Costa N SchemmerArgentinaIoni Bowcher QUALIFIED
Greenwood G ChuiBrazilOnyama Limba NEGOTIATION
Frozen Columns
Name
Tony M Amigon
Mayumi J Figeroa
Rodrigues Q Darakjy
Maisha R Foller
Johnson R Shinko
Faith H Albares
Emily A Tollner
Jefferson Z Slusarski
Jennifer C Wieser
Darci T Malet
Antonio J Whobrey
Clifford W Gaucho
Jefferson E Tollner
Darci R Flosi
Kaitlin W Royster
Misaki I Tollner
Chavez S Whobrey
Kaitlin J Doe
Antonio X Tollner
Isabel I Chui
Jeanfrancois I Slusarski
Aditya Q Bowley
Munro H Waycott
Rodrigues D Ostrosky
Jennifer A Dilliard
Ivar B Slusarski
Isabel H Gaucho
Mujtaba Y Venere
Jefferson L Wieser
Mayumi F Oldroyd
Salvatore Y Rulapaugh
Johnson J Albares
Ricardo P Kolmetz
Julie X Amigon
Salvatore J Caudy
Aruna S Poquette
Ricardo F Briddick
Leon L Darakjy
Arvin V Waycott
Alejandro T Paprocki
Nicolas D Iturbide
Octavia Y Glick
Morrow I Schemmer
Antonio V Stenseth
Maisha Z Oldroyd
Ashley H Tollner
Aditya Z Wieser
Maria X Royster
Emily X Bowley
Octavia U Perin
IdCountryDate
1000Japan2024-05-29
1001Italy2024-05-21
1002United Kingdom2024-05-25
1003Spain2024-05-26
1004Italy2024-06-12
1005Australia2024-06-11
1006United Kingdom2024-06-10
1007Spain2024-06-04
1008Japan2024-06-07
1009Germany2024-06-13
1010India2024-05-22
1011India2024-06-11
1012Argentina2024-05-21
1013United Kingdom2024-06-05
1014Germany2024-05-29
1015France2024-05-30
1016Canada2024-06-10
1017Italy2024-06-09
1018United Kingdom2024-06-11
1019Germany2024-05-25
1020Germany2024-05-21
1021Spain2024-05-26
1022Germany2024-06-06
1023Italy2024-05-22
1024Australia2024-06-18
1025Brazil2024-06-17
1026Brazil2024-05-30
1027Italy2024-05-28
1028Canada2024-06-15
1029United Kingdom2024-06-02
1030Argentina2024-06-05
1031Brazil2024-06-09
1032India2024-05-27
1033India2024-05-25
1034Argentina2024-06-09
1035Russia2024-06-05
1036Argentina2024-05-25
1037France2024-05-29
1038Italy2024-06-18
1039United Kingdom2024-05-26
1040Japan2024-06-07
1041Russia2024-05-23
1042Japan2024-06-08
1043Italy2024-05-31
1044Spain2024-06-04
1045Argentina2024-05-29
1046Brazil2024-06-14
1047Spain2024-06-16
1048Brazil2024-05-27
1049Russia2024-06-07

On-Demand Data

NameIdCountryDate
Misaki K Nicka1000Japan2024-06-09
Emily L Gaucho1001Brazil2024-05-22
Mujtaba N Ruta1002United Kingdom2024-06-14
Ricardo F Bowley1003Brazil2024-05-28
Deepesh A Slusarski1004France2024-05-28
Misaki R Rim1005Germany2024-06-16
Rodrigues C Vocelka1006Germany2024-06-11
Johnson W Gaucho1007United Kingdom2024-06-11
Rodrigues X Slusarski1008India2024-05-31
Kaitlin A Amigon1009Germany2024-05-24
Aditya M Morasca1010Germany2024-06-18
Octavia F Bolognia1011Russia2024-05-26
Morrow R Malet1012Australia2024-06-04
Emily Z Waycott1013India2024-05-27
Darci K Nestle1014Argentina2024-06-18
James C Royster1015Russia2024-05-22
Tony I Maclead1016Spain2024-06-02
Faith N Perin1017Russia2024-05-20
Kaitlin P Amigon1018Italy2024-06-13
Sinclair L Stockham1019India2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha X ChuiFranceAmy Elsner NEGOTIATION
Morrow Z GauchoBrazilAnna Fali NEW
Ashley L KolmetzJapanAnna Fali UNQUALIFIED
Jefferson Q CampainAustraliaIoni Bowcher NEGOTIATION
Clifford M WhobreyCanadaXuxue Feng QUALIFIED
Wickens I CaldareraCanadaStephen Shaw NEGOTIATION
Juan E MorascaJapanIvan Magalhaes RENEWAL
Sinclair Z AlbaresAustraliaAmy Elsner RENEWAL
Claire S CaldareraAustraliaXuxue Feng NEW
Munro P RutaAustraliaOnyama Limba UNQUALIFIED
Faith N CaldareraIndiaAnna Fali RENEWAL
Isabel C KuskoAustraliaAmy Elsner PROPOSAL
Jones S OldroydRussiaAnna Fali NEW
Mayumi Y OldroydJapanXuxue Feng NEGOTIATION
Aruna L PoquetteSpainOnyama Limba NEW
Johnson P WhobreyJapanIoni Bowcher RENEWAL
Ricardo T SaylorsJapanAnna Fali PROPOSAL
Munro L GarufiFranceIoni Bowcher NEW
Aruna Q CaldareraFranceStephen Shaw NEGOTIATION
Antonio S PerinItalyXuxue Feng UNQUALIFIED
Adams M CaldareraItalyIoni Bowcher NEGOTIATION
Clifford G InouyeAustraliaStephen Shaw NEGOTIATION
James E NickaSpainElwin Sharvill PROPOSAL
James U ButtBrazilStephen Shaw NEW
Leja K MaletCanadaAnna Fali UNQUALIFIED
Antonio H GlickUnited KingdomAsiya Javayant RENEWAL
James E CaldareraBrazilAsiya Javayant UNQUALIFIED
Darci N GillianJapanIvan Magalhaes PROPOSAL
Leon M VocelkaFranceElwin Sharvill PROPOSAL
Francesco F GarufiJapanIvan Magalhaes RENEWAL
Ivar J PoquetteFranceAmy Elsner PROPOSAL
Juan W ShinkoJapanStephen Shaw UNQUALIFIED
Costa I FollerItalyBernardo Dominic NEGOTIATION
Misaki I VocelkaRussiaAnna Fali NEW
Aruna R BowleyGermanyIvan Magalhaes NEW
Morrow K ButtFranceOnyama Limba NEGOTIATION
Adams W InouyeSpainAmy Elsner NEGOTIATION
Tony X KolmetzSpainOnyama Limba NEGOTIATION
Juan H RutaArgentinaOnyama Limba NEW
Kadeem U MorascaGermanyOnyama Limba 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>