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
Emily U RimIndiaElwin Sharvill PROPOSAL
Chavez V MacleadBrazilAnna Fali PROPOSAL
Morrow U InouyeRussiaIvan Magalhaes NEGOTIATION
Clifford O RutaRussiaAmy Elsner NEGOTIATION
Alejandro K KolmetzArgentinaOnyama Limba NEGOTIATION
Leon G WieserCanadaAnna Fali PROPOSAL
James U MaletGermanyBernardo Dominic NEGOTIATION
Leja D WaycottCanadaBernardo Dominic UNQUALIFIED
Emily B RutaJapanIvan Magalhaes RENEWAL
Adams M InouyeAustraliaBernardo Dominic RENEWAL
Johnson M SchemmerUnited KingdomIoni Bowcher NEGOTIATION
Izzy M OldroydAustraliaIoni Bowcher RENEWAL
Jefferson A SaylorsIndiaXuxue Feng PROPOSAL
Kaitlin A ButtArgentinaOnyama Limba NEW
Costa U WaycottRussiaXuxue Feng NEGOTIATION
Wickens B GarufiAustraliaBernardo Dominic UNQUALIFIED
David E KolmetzIndiaAsiya Javayant NEGOTIATION
Ashley J RulapaughFranceXuxue Feng QUALIFIED
Wickens N MaletItalyXuxue Feng RENEWAL
Aruna Z KolmetzUnited KingdomXuxue Feng NEW
Jones I RutaUnited KingdomOnyama Limba NEGOTIATION
Aika I RutaRussiaStephen Shaw QUALIFIED
Greenwood Z GarufiBrazilAnna Fali UNQUALIFIED
Silvio T ChuiGermanyAmy Elsner PROPOSAL
Mujtaba I ChuiIndiaAmy Elsner NEW
Salvatore X RimItalyAnna Fali NEGOTIATION
Juan G MaletSpainAsiya Javayant UNQUALIFIED
Tony Q ChuiFranceStephen Shaw PROPOSAL
Emily S RoysterIndiaAnna Fali UNQUALIFIED
Leja D ChuiAustraliaIvan Magalhaes QUALIFIED
Darci O PerinFranceElwin Sharvill NEGOTIATION
Leon E GlickArgentinaAnna Fali RENEWAL
Greenwood X CaudySpainXuxue Feng RENEWAL
Leon Y MaletJapanXuxue Feng NEW
Greenwood L RimUnited KingdomIoni Bowcher RENEWAL
Jones F ShinkoItalyAnna Fali RENEWAL
Arvin L MaletRussiaBernardo Dominic NEW
Adams K DarakjyAustraliaOnyama Limba RENEWAL
Arvin P AmigonGermanyAnna Fali NEW
Chavez O VocelkaItalyStephen Shaw QUALIFIED
Aruna K SlusarskiJapanIoni Bowcher NEGOTIATION
Ricardo T FigeroaAustraliaBernardo Dominic NEW
Rodrigues H KuskoItalyXuxue Feng UNQUALIFIED
Leja P TollnerSpainBernardo Dominic RENEWAL
Greenwood Z BriddickFranceAnna Fali NEW
Ricardo X KolmetzFranceAnna Fali QUALIFIED
Cody P SchemmerItalyAnna Fali UNQUALIFIED
Claire F WhobreyRussiaXuxue Feng UNQUALIFIED
Julie W TollnerItalyOnyama Limba NEGOTIATION
Greenwood E KolmetzArgentinaElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Misaki N WaycottBrazilElwin Sharvill NEW
Jeanfrancois K CaudyUnited KingdomIvan Magalhaes NEW
Mujtaba N StensethGermanyXuxue Feng RENEWAL
Maisha N WieserItalyIoni Bowcher PROPOSAL
David F AmigonArgentinaIoni Bowcher PROPOSAL
David F AmigonCanadaAmy Elsner NEGOTIATION
Francesco L WhobreyFranceStephen Shaw NEW
Costa Q BowleyBrazilAnna Fali UNQUALIFIED
Jennifer X ChuiFranceAsiya Javayant NEW
Munro H ChuiBrazilAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson P MaletGermany2026-06-30Chapman, Ross E Esq PROPOSAL76Onyama Limba
1001Darci H DoeGermany2026-07-18Buckley Miller Wright PROPOSAL61Bernardo Dominic
1002Maria A NickaItaly2026-07-12Rousseaux, Michael Esq PROPOSAL49Stephen Shaw
1003Smith I RutaSpain2026-07-17Chanay, Jeffrey A Esq RENEWAL50Asiya Javayant
1004Arvin N CaldareraCanada2026-07-05Feiner Bros NEW29Asiya Javayant
1005Darci M IturbideSpain2026-07-12Rousseaux, Michael Esq RENEWAL21Bernardo Dominic
1006Arvin G RoysterAustralia2026-07-04Rangoni Of Florence NEW57Elwin Sharvill
1007Mujtaba R RimFrance2026-06-29King, Christopher A Esq UNQUALIFIED73Ivan Magalhaes
1008Maria Z DarakjyGermany2026-07-01Morlong Associates NEGOTIATION32Amy Elsner
1009Francesco H KolmetzItaly2026-07-17Buckley Miller Wright NEW17Anna Fali
1010Maria J IturbideRussia2026-06-24King, Christopher A Esq NEW66Anna Fali
1011Greenwood G BologniaBrazil2026-07-16Benton, John B Jr NEGOTIATION81Ioni Bowcher
1012Ricardo Z VocelkaRussia2026-07-02Rangoni Of Florence NEGOTIATION99Ioni Bowcher
1013Juan Z ChuiRussia2026-07-15Feltz Printing Service UNQUALIFIED46Elwin Sharvill
1014Munro G SchemmerUnited Kingdom2026-07-08Chapman, Ross E Esq RENEWAL52Ioni Bowcher
1015Izzy F VenereIndia2026-07-03Printing Dimensions UNQUALIFIED2Asiya Javayant
1016Kadeem M RulapaughBrazil2026-07-09Commercial Press PROPOSAL41Onyama Limba
1017Juan A MaletSpain2026-07-14Printing Dimensions RENEWAL73Ioni Bowcher
1018Emily I TollnerFrance2026-07-11Chapman, Ross E Esq UNQUALIFIED55Anna Fali
1019Maria K PoquetteAustralia2026-06-21King, Christopher A Esq NEGOTIATION17Ioni Bowcher
1020Leon I GillianIndia2026-07-07Feltz Printing Service NEGOTIATION31Amy Elsner
1021Alejandro G RulapaughUnited Kingdom2026-06-21Chapman, Ross E Esq NEGOTIATION71Elwin Sharvill
1022Misaki O NestleCanada2026-07-18Chanay, Jeffrey A Esq NEW17Anna Fali
1023Aika Y ButtGermany2026-06-28Benton, John B Jr UNQUALIFIED34Amy Elsner
1024Mayumi F GarufiFrance2026-07-17Commercial Press RENEWAL68Xuxue Feng
1025Aika V WaycottUnited Kingdom2026-06-29Dorl, James J Esq RENEWAL94Stephen Shaw
1026Kadeem D FlosiCanada2026-06-26Chapman, Ross E Esq NEW40Bernardo Dominic
1027Silvio L KuskoArgentina2026-06-30Truhlar And Truhlar Attys UNQUALIFIED97Stephen Shaw
1028Chavez Q AlbaresArgentina2026-07-09Commercial Press NEW43Asiya Javayant
1029Wickens D ChuiUnited Kingdom2026-07-11Printing Dimensions PROPOSAL50Bernardo Dominic
1030Salvatore M PoquetteCanada2026-07-17Feiner Bros PROPOSAL69Anna Fali
1031Salvatore F VocelkaIndia2026-07-20Benton, John B Jr UNQUALIFIED72Stephen Shaw
1032Ricardo Y FollerFrance2026-07-15Morlong Associates UNQUALIFIED10Anna Fali
1033Morrow R ChuiFrance2026-07-13Feiner Bros QUALIFIED68Stephen Shaw
1034Darci F RimIndia2026-06-29Chanay, Jeffrey A Esq RENEWAL83Anna Fali
1035David H VocelkaArgentina2026-07-18Chemel, James L Cpa UNQUALIFIED14Onyama Limba
1036Kaitlin N DarakjySpain2026-07-13Printing Dimensions RENEWAL85Ioni Bowcher
1037Greenwood A BriddickRussia2026-07-08Feltz Printing Service UNQUALIFIED82Elwin Sharvill
1038Munro J ButtGermany2026-07-04Chapman, Ross E Esq RENEWAL90Onyama Limba
1039Izzy H WaycottUnited Kingdom2026-07-08Commercial Press PROPOSAL98Stephen Shaw
1040Jennifer D SlusarskiCanada2026-06-28Morlong Associates NEW43Stephen Shaw
1041Antonio D ShinkoBrazil2026-06-25Dorl, James J Esq QUALIFIED3Amy Elsner
1042Tony G MaletAustralia2026-06-29Chanay, Jeffrey A Esq PROPOSAL47Asiya Javayant
1043Johnson R GillianSpain2026-07-11Truhlar And Truhlar Attys UNQUALIFIED18Elwin Sharvill
1044Sinclair Z SlusarskiAustralia2026-07-07Truhlar And Truhlar Attys QUALIFIED33Ioni Bowcher
1045Ashley K CampainFrance2026-06-22Chemel, James L Cpa UNQUALIFIED20Amy Elsner
1046Murillo X CampainArgentina2026-06-30Rousseaux, Michael Esq UNQUALIFIED31Asiya Javayant
1047Johnson S DilliardBrazil2026-06-22Benton, John B Jr NEW68Asiya Javayant
1048Adams O TollnerBrazil2026-06-27Chanay, Jeffrey A Esq RENEWAL36Xuxue Feng
1049Antonio O VocelkaAustralia2026-06-30King, Christopher A Esq RENEWAL17Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Kadeem V RimIndiaIvan Magalhaes NEGOTIATION
Jones C StensethBrazilStephen Shaw UNQUALIFIED
Juan M VenereRussiaOnyama Limba NEGOTIATION
Morrow S OldroydArgentinaAsiya Javayant UNQUALIFIED
David C BriddickRussiaAmy Elsner NEGOTIATION
Jones K InouyeGermanyAmy Elsner QUALIFIED
Munro L GillianSpainAnna Fali QUALIFIED
Jefferson Y NestleAustraliaAnna Fali QUALIFIED
Ricardo R FlosiSpainIvan Magalhaes QUALIFIED
Aruna X MaletIndiaBernardo Dominic PROPOSAL
Jones K WieserArgentinaIvan Magalhaes UNQUALIFIED
Francesco W AmigonCanadaElwin Sharvill RENEWAL
Misaki L NickaSpainXuxue Feng RENEWAL
Clifford Z RulapaughSpainElwin Sharvill QUALIFIED
Antonio J RutaBrazilElwin Sharvill UNQUALIFIED
Stacey C ShinkoJapanBernardo Dominic RENEWAL
Alejandro T KuskoArgentinaBernardo Dominic NEGOTIATION
Isabel I CaudyIndiaElwin Sharvill NEW
Aditya Y MarrierRussiaAnna Fali NEGOTIATION
Ricardo J DilliardRussiaElwin Sharvill QUALIFIED
Johnson B KuskoArgentinaAnna Fali NEGOTIATION
Tony G SlusarskiIndiaStephen Shaw NEGOTIATION
Mujtaba H GillianAustraliaOnyama Limba NEW
Stacey P NickaCanadaAsiya Javayant RENEWAL
Smith V WieserJapanBernardo Dominic UNQUALIFIED
Salvatore L NickaIndiaAnna Fali QUALIFIED
Stacey Z SlusarskiUnited KingdomAmy Elsner RENEWAL
Jeanfrancois J RutaSpainElwin Sharvill PROPOSAL
Juan U SchemmerBrazilStephen Shaw NEGOTIATION
Rodrigues Q KolmetzRussiaIvan Magalhaes NEW
Costa F MaletFranceStephen Shaw NEW
Kadeem D IturbideAustraliaOnyama Limba NEW
Aruna P FollerBrazilAmy Elsner NEGOTIATION
Faith R PerinRussiaAsiya Javayant QUALIFIED
Morrow J DilliardRussiaStephen Shaw PROPOSAL
Maisha F OldroydAustraliaIvan Magalhaes NEGOTIATION
Costa B OstroskyItalyAnna Fali RENEWAL
Alejandro C KolmetzIndiaOnyama Limba NEGOTIATION
Ivar S BowleyAustraliaElwin Sharvill RENEWAL
Misaki O FollerJapanIvan Magalhaes NEW
Deepesh I OstroskyRussiaBernardo Dominic NEGOTIATION
Julie Y CaldareraRussiaIvan Magalhaes RENEWAL
Kaitlin D StockhamUnited KingdomIoni Bowcher RENEWAL
Mujtaba H MaletJapanAnna Fali NEW
David U PerinJapanStephen Shaw UNQUALIFIED
Salvatore X CaldareraFranceAsiya Javayant QUALIFIED
Murillo M BriddickIndiaStephen Shaw RENEWAL
Francesco N MaletIndiaIoni Bowcher RENEWAL
Tony R SchemmerAustraliaAmy Elsner UNQUALIFIED
Francesco L NestleItalyIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Morrow H Sergi
Greenwood N Sergi
Stacey D Schemmer
Misaki K Malet
Francesco I Oldroyd
Ricardo O Garufi
Maisha J Stockham
Stacey B Vocelka
Jennifer O Albares
Juan V Vocelka
Kadeem C Gillian
Julie O Albares
Stacey P Malet
Claire N Briddick
Jones H Ostrosky
Kaitlin T Nestle
Octavia L Rim
Greenwood R Gillian
Ricardo L Venere
Claire Q Morasca
Munro S Doe
David N Stockham
Ashley I Sergi
Mayumi Y Figeroa
Mayumi Z Kolmetz
Emily N Tollner
Antonio Y Rulapaugh
Rodrigues Q Rim
Jefferson F Saylors
Cody L Bowley
Aika I Royster
Deepesh V Nestle
Francesco W Flosi
Nicolas U Amigon
Munro I Albares
Greenwood G Rulapaugh
Aditya C Nestle
Jeanfrancois E Figeroa
Aditya Q Caudy
Salvatore U Shinko
Clifford Y Wieser
Octavia P Stenseth
Nicolas R Stenseth
Stacey C Campain
Sinclair X Chui
Antonio L Royster
Jennifer K Paprocki
Morrow S Paprocki
Ashley H Rim
Mujtaba N Caudy
IdCountryDate
1000Canada2026-07-15
1001Argentina2026-06-30
1002Spain2026-07-16
1003Brazil2026-07-10
1004Italy2026-07-03
1005Brazil2026-06-21
1006United Kingdom2026-07-12
1007Australia2026-07-06
1008India2026-07-20
1009Germany2026-07-19
1010Australia2026-07-10
1011Germany2026-07-10
1012Brazil2026-07-14
1013Argentina2026-07-03
1014United Kingdom2026-07-08
1015Italy2026-06-23
1016Canada2026-06-25
1017Japan2026-07-17
1018France2026-06-25
1019Canada2026-07-11
1020Germany2026-07-08
1021Canada2026-07-08
1022United Kingdom2026-07-05
1023United Kingdom2026-07-07
1024Russia2026-06-24
1025Russia2026-07-16
1026Germany2026-07-06
1027Japan2026-06-28
1028Russia2026-07-12
1029Germany2026-06-27
1030Germany2026-07-20
1031Argentina2026-06-25
1032Australia2026-07-09
1033Germany2026-07-11
1034Brazil2026-07-12
1035Canada2026-06-22
1036France2026-07-18
1037Germany2026-07-18
1038United Kingdom2026-07-11
1039Spain2026-07-09
1040Italy2026-06-26
1041United Kingdom2026-07-14
1042Spain2026-07-10
1043Canada2026-06-29
1044France2026-06-27
1045Spain2026-07-16
1046Germany2026-06-27
1047United Kingdom2026-07-14
1048Japan2026-07-08
1049Japan2026-07-10

On-Demand Data

NameIdCountryDate
Cody R Foller1000Germany2026-07-05
Octavia Q Darakjy1001India2026-07-06
Juan X Bowley1002Argentina2026-07-19
Wickens P Gillian1003Germany2026-06-24
Chavez C Gaucho1004Australia2026-06-24
Emily O Stockham1005Germany2026-07-18
Emily B Albares1006Australia2026-07-11
Jennifer H Venere1007Canada2026-07-11
Misaki S Gaucho1008Australia2026-06-23
Emily K Ferencz1009France2026-07-08
Claire S Butt1010Canada2026-06-22
Jefferson A Kusko1011United Kingdom2026-07-01
Greenwood P Doe1012Brazil2026-07-20
Ricardo E Malet1013Germany2026-07-11
Misaki E Bolognia1014Canada2026-07-03
Greenwood T Morasca1015Germany2026-07-19
Rodrigues C Morasca1016France2026-06-24
Kadeem Q Amigon1017India2026-06-27
Murillo Z Foller1018Australia2026-06-27
Claire N Vocelka1019United Kingdom2026-07-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez O FollerFranceXuxue Feng NEW
Ivar O InouyeUnited KingdomAsiya Javayant NEGOTIATION
Salvatore M BriddickItalyBernardo Dominic NEW
Deepesh O WaycottSpainAsiya Javayant UNQUALIFIED
Maisha O ChuiGermanyAnna Fali PROPOSAL
Darci P MaletBrazilAnna Fali UNQUALIFIED
Aditya I FerenczSpainIoni Bowcher RENEWAL
Kadeem J WieserAustraliaElwin Sharvill NEW
Isabel L WieserAustraliaElwin Sharvill UNQUALIFIED
Rodrigues E CampainGermanyAsiya Javayant PROPOSAL
Izzy C PoquetteArgentinaStephen Shaw RENEWAL
Adams C NickaGermanyStephen Shaw UNQUALIFIED
Misaki I SlusarskiUnited KingdomOnyama Limba NEGOTIATION
Jennifer K MaletFranceIvan Magalhaes QUALIFIED
Rodrigues N RutaGermanyXuxue Feng UNQUALIFIED
Maria D PoquetteSpainAmy Elsner NEGOTIATION
Jeanfrancois V InouyeAustraliaAsiya Javayant NEGOTIATION
Leon J ButtItalyAsiya Javayant UNQUALIFIED
Kadeem Q AmigonAustraliaAmy Elsner QUALIFIED
Misaki V RoysterRussiaAnna Fali NEGOTIATION
Kadeem I PaprockiGermanyBernardo Dominic NEGOTIATION
Munro V ButtUnited KingdomElwin Sharvill NEGOTIATION
Faith Z PerinCanadaAmy Elsner NEGOTIATION
Faith Q GarufiJapanStephen Shaw NEGOTIATION
Rodrigues W BriddickRussiaIoni Bowcher NEW
Darci B MorascaFranceAsiya Javayant NEGOTIATION
David N FigeroaItalyAsiya Javayant QUALIFIED
Octavia L GarufiSpainIoni Bowcher NEW
Misaki H DoeUnited KingdomIoni Bowcher UNQUALIFIED
Ivar C ShinkoAustraliaXuxue Feng QUALIFIED
Isabel Z StensethFranceStephen Shaw RENEWAL
Ivar H AmigonBrazilAnna Fali NEW
Izzy X PoquetteSpainStephen Shaw PROPOSAL
Juan U FollerCanadaXuxue Feng NEGOTIATION
Deepesh X VenereAustraliaElwin Sharvill PROPOSAL
Julie W WieserAustraliaElwin Sharvill RENEWAL
Aruna J InouyeArgentinaElwin Sharvill QUALIFIED
Clifford C MaletGermanyOnyama Limba UNQUALIFIED
Tony U CampainGermanyIoni Bowcher UNQUALIFIED
Juan N MacleadItalyXuxue Feng NEGOTIATION

<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>