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
Greenwood L VocelkaAustraliaIoni Bowcher PROPOSAL
Murillo F PaprockiGermanyXuxue Feng NEGOTIATION
Kadeem W SchemmerUnited KingdomBernardo Dominic UNQUALIFIED
Leon A MarrierRussiaAnna Fali RENEWAL
Jones H OstroskyBrazilIvan Magalhaes UNQUALIFIED
Chavez F GauchoArgentinaBernardo Dominic PROPOSAL
Jennifer F KuskoJapanAnna Fali PROPOSAL
Chavez D GarufiFranceAmy Elsner RENEWAL
Julie B WieserSpainOnyama Limba NEW
Cody I PerinRussiaOnyama Limba UNQUALIFIED
Morrow A BriddickArgentinaAmy Elsner QUALIFIED
James L WieserItalyAmy Elsner QUALIFIED
Smith I KolmetzUnited KingdomIvan Magalhaes NEW
Sinclair P PaprockiSpainElwin Sharvill RENEWAL
Adams Q MaletUnited KingdomOnyama Limba NEGOTIATION
Greenwood R SlusarskiItalyOnyama Limba QUALIFIED
Greenwood B MaletFranceBernardo Dominic NEGOTIATION
James W CampainIndiaIvan Magalhaes UNQUALIFIED
Kaitlin Q PerinRussiaAmy Elsner QUALIFIED
Sinclair D NestleAustraliaElwin Sharvill RENEWAL
Alejandro D TollnerArgentinaAsiya Javayant NEGOTIATION
Kaitlin Q GlickArgentinaOnyama Limba NEW
Octavia Y StensethBrazilXuxue Feng UNQUALIFIED
Salvatore V RutaSpainIvan Magalhaes RENEWAL
Ivar N SchemmerFranceElwin Sharvill NEGOTIATION
Kaitlin Z MarrierAustraliaOnyama Limba NEW
Silvio X CampainUnited KingdomBernardo Dominic UNQUALIFIED
Kaitlin X WhobreyBrazilAmy Elsner UNQUALIFIED
Ashley R DoeUnited KingdomAnna Fali NEGOTIATION
Jeanfrancois U NestleSpainIvan Magalhaes RENEWAL
Sinclair P SaylorsSpainAnna Fali UNQUALIFIED
Silvio Z DilliardItalyIoni Bowcher PROPOSAL
Arvin W DoeItalyIvan Magalhaes NEGOTIATION
Claire C MorascaItalyAnna Fali UNQUALIFIED
Tony S DarakjyBrazilOnyama Limba PROPOSAL
Ivar F WhobreyGermanyXuxue Feng RENEWAL
Murillo F WhobreyRussiaAnna Fali NEGOTIATION
Costa I PaprockiFranceIoni Bowcher RENEWAL
Smith H WhobreyIndiaElwin Sharvill UNQUALIFIED
Izzy F GillianIndiaOnyama Limba QUALIFIED
Claire Z GlickArgentinaBernardo Dominic QUALIFIED
Jones M OstroskyRussiaOnyama Limba NEW
Izzy M GillianJapanOnyama Limba PROPOSAL
Julie U GarufiFranceOnyama Limba PROPOSAL
Kadeem L BowleyCanadaBernardo Dominic NEW
Silvio F FigeroaCanadaIvan Magalhaes RENEWAL
Emily V PaprockiAustraliaStephen Shaw NEGOTIATION
Faith Q DilliardRussiaOnyama Limba PROPOSAL
Wickens C SchemmerJapanStephen Shaw NEGOTIATION
Ivar W PerinUnited KingdomIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Ricardo V StensethSpainAmy Elsner PROPOSAL
Chavez W ShinkoRussiaElwin Sharvill UNQUALIFIED
Octavia U InouyeSpainIoni Bowcher NEW
Aika W ChuiAustraliaAsiya Javayant NEGOTIATION
Aditya F RulapaughArgentinaElwin Sharvill PROPOSAL
Tony S PaprockiJapanOnyama Limba PROPOSAL
Mayumi N SlusarskiItalyElwin Sharvill PROPOSAL
Aditya W RulapaughGermanyIoni Bowcher NEW
Smith U KuskoSpainAsiya Javayant UNQUALIFIED
Isabel Q FigeroaArgentinaXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues X GarufiGermany2026-07-13Feiner Bros NEGOTIATION19Xuxue Feng
1001Silvio A OstroskyIndia2026-06-20Benton, John B Jr PROPOSAL54Ioni Bowcher
1002Mayumi V GauchoCanada2026-07-13Commercial Press UNQUALIFIED97Amy Elsner
1003Salvatore G KuskoItaly2026-07-14Chemel, James L Cpa QUALIFIED43Stephen Shaw
1004Salvatore H StensethIndia2026-06-23Dorl, James J Esq PROPOSAL6Stephen Shaw
1005Deepesh U OstroskyCanada2026-07-11Chanay, Jeffrey A Esq PROPOSAL90Ivan Magalhaes
1006Chavez V GauchoJapan2026-07-02Chapman, Ross E Esq UNQUALIFIED94Ioni Bowcher
1007Ashley I FollerArgentina2026-06-29Morlong Associates RENEWAL0Stephen Shaw
1008Murillo M CaudyRussia2026-06-18King, Christopher A Esq NEGOTIATION32Anna Fali
1009Silvio F VenereRussia2026-07-09Printing Dimensions QUALIFIED27Amy Elsner
1010Misaki O OstroskyBrazil2026-07-13Buckley Miller Wright PROPOSAL96Bernardo Dominic
1011James T RoysterUnited Kingdom2026-06-23Morlong Associates UNQUALIFIED43Bernardo Dominic
1012Octavia W NestleCanada2026-07-05Chemel, James L Cpa PROPOSAL74Anna Fali
1013Deepesh S BriddickAustralia2026-07-05Chapman, Ross E Esq NEGOTIATION0Asiya Javayant
1014Wickens N CaudyCanada2026-07-03Printing Dimensions PROPOSAL88Ioni Bowcher
1015Misaki F PoquetteJapan2026-07-13Chanay, Jeffrey A Esq NEW54Elwin Sharvill
1016Leon Q ButtGermany2026-06-25Feiner Bros RENEWAL45Bernardo Dominic
1017Jeanfrancois W OstroskyFrance2026-06-26Feiner Bros UNQUALIFIED36Anna Fali
1018Mujtaba O PaprockiGermany2026-07-12Printing Dimensions NEW82Bernardo Dominic
1019Mujtaba P NickaAustralia2026-06-23Rangoni Of Florence NEW33Anna Fali
1020Nicolas B RoysterItaly2026-07-04Rousseaux, Michael Esq PROPOSAL35Bernardo Dominic
1021Ricardo M CaldareraAustralia2026-07-15King, Christopher A Esq QUALIFIED71Onyama Limba
1022Aruna F PerinIndia2026-07-13Printing Dimensions UNQUALIFIED42Xuxue Feng
1023Smith O StockhamArgentina2026-07-12Chanay, Jeffrey A Esq PROPOSAL86Anna Fali
1024Maisha F VenereRussia2026-07-14Commercial Press UNQUALIFIED7Ioni Bowcher
1025Darci G RoysterItaly2026-07-09Feltz Printing Service QUALIFIED47Amy Elsner
1026Rodrigues V AmigonItaly2026-06-17Dorl, James J Esq NEW31Elwin Sharvill
1027Ivar Y ShinkoUnited Kingdom2026-06-18Chanay, Jeffrey A Esq PROPOSAL16Elwin Sharvill
1028Aruna Z KolmetzFrance2026-07-07Rangoni Of Florence PROPOSAL98Amy Elsner
1029Mujtaba P RoysterItaly2026-07-11Benton, John B Jr NEW1Anna Fali
1030Murillo U SlusarskiGermany2026-07-09Commercial Press NEGOTIATION57Xuxue Feng
1031Kadeem G MaletIndia2026-06-16Rangoni Of Florence QUALIFIED4Bernardo Dominic
1032Jones N MaletBrazil2026-06-29Truhlar And Truhlar Attys PROPOSAL68Amy Elsner
1033Munro B SchemmerSpain2026-06-21Truhlar And Truhlar Attys RENEWAL14Xuxue Feng
1034Munro A FollerAustralia2026-07-07Morlong Associates QUALIFIED77Stephen Shaw
1035Alejandro M ButtGermany2026-06-27Feiner Bros QUALIFIED61Anna Fali
1036Izzy N DoeUnited Kingdom2026-06-17Dorl, James J Esq QUALIFIED26Amy Elsner
1037Ashley W StensethArgentina2026-07-08Chemel, James L Cpa RENEWAL15Asiya Javayant
1038Octavia A AmigonCanada2026-06-21Chemel, James L Cpa PROPOSAL99Ivan Magalhaes
1039Morrow D CaudyItaly2026-06-24Morlong Associates QUALIFIED43Onyama Limba
1040Murillo M MaletUnited Kingdom2026-06-23Feiner Bros RENEWAL80Ioni Bowcher
1041Kadeem C OstroskyArgentina2026-07-08Buckley Miller Wright RENEWAL3Ivan Magalhaes
1042Murillo O FigeroaGermany2026-07-11King, Christopher A Esq QUALIFIED53Ivan Magalhaes
1043Jefferson F FigeroaUnited Kingdom2026-07-05Chemel, James L Cpa NEGOTIATION76Anna Fali
1044Emily I GarufiItaly2026-06-28Truhlar And Truhlar Attys PROPOSAL5Onyama Limba
1045Mayumi R KuskoRussia2026-06-24Morlong Associates NEW94Ioni Bowcher
1046Julie L TollnerUnited Kingdom2026-07-03Chanay, Jeffrey A Esq NEW28Ioni Bowcher
1047Faith I VocelkaItaly2026-06-21Benton, John B Jr UNQUALIFIED25Anna Fali
1048Wickens K GlickFrance2026-07-07Commercial Press UNQUALIFIED42Onyama Limba
1049Ricardo Q GarufiAustralia2026-07-11Rousseaux, Michael Esq NEGOTIATION19Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Claire H DoeJapanOnyama Limba NEW
Costa V NestleGermanyElwin Sharvill NEGOTIATION
Munro D GarufiCanadaStephen Shaw UNQUALIFIED
Arvin V VocelkaJapanElwin Sharvill QUALIFIED
Stacey B PoquetteSpainIvan Magalhaes QUALIFIED
Juan S GauchoUnited KingdomAnna Fali UNQUALIFIED
Jefferson F AlbaresUnited KingdomIoni Bowcher UNQUALIFIED
Izzy Q CaudySpainElwin Sharvill RENEWAL
Faith B VocelkaAustraliaIoni Bowcher NEGOTIATION
Chavez S AmigonIndiaAsiya Javayant UNQUALIFIED
Mujtaba A AlbaresUnited KingdomXuxue Feng QUALIFIED
Leon U ShinkoSpainAnna Fali NEW
Munro G NestleGermanyElwin Sharvill RENEWAL
Darci V FerenczJapanAsiya Javayant QUALIFIED
Juan D MarrierAustraliaIoni Bowcher UNQUALIFIED
Aditya R GarufiJapanOnyama Limba NEW
Mujtaba Y SchemmerRussiaStephen Shaw NEW
Deepesh L StockhamUnited KingdomAmy Elsner QUALIFIED
Leon Y AlbaresCanadaBernardo Dominic NEGOTIATION
David X FerenczJapanAsiya Javayant RENEWAL
Salvatore Y CampainAustraliaAnna Fali NEGOTIATION
Faith K AlbaresBrazilBernardo Dominic QUALIFIED
Jeanfrancois H StensethFranceOnyama Limba RENEWAL
Maria N NickaRussiaStephen Shaw UNQUALIFIED
Morrow A VenereAustraliaAmy Elsner PROPOSAL
Adams O FerenczAustraliaAmy Elsner NEW
Morrow S PoquetteIndiaAsiya Javayant QUALIFIED
Silvio B AlbaresSpainOnyama Limba NEW
Francesco I PaprockiBrazilElwin Sharvill NEGOTIATION
Chavez D RoysterIndiaAnna Fali PROPOSAL
Leja V VocelkaFranceOnyama Limba QUALIFIED
Julie T OstroskyAustraliaAmy Elsner PROPOSAL
Jones T VenereAustraliaIvan Magalhaes PROPOSAL
Deepesh U ChuiSpainIoni Bowcher PROPOSAL
Nicolas J BriddickJapanOnyama Limba NEGOTIATION
Nicolas K NickaGermanyAsiya Javayant RENEWAL
Maria C GlickArgentinaStephen Shaw RENEWAL
Maisha F WhobreyUnited KingdomBernardo Dominic NEGOTIATION
Deepesh W DoeSpainBernardo Dominic RENEWAL
Salvatore Z WieserItalyXuxue Feng QUALIFIED
Leon R AmigonUnited KingdomIvan Magalhaes PROPOSAL
Kadeem U BowleyGermanyOnyama Limba NEW
Murillo F KolmetzIndiaAsiya Javayant QUALIFIED
Silvio G CaudyRussiaIoni Bowcher NEGOTIATION
Jennifer D ChuiSpainAsiya Javayant QUALIFIED
Antonio T BriddickItalyIoni Bowcher NEGOTIATION
Jones U StockhamSpainAsiya Javayant RENEWAL
Jennifer U WhobreyArgentinaStephen Shaw QUALIFIED
Aika N PerinSpainIvan Magalhaes PROPOSAL
Octavia C IturbideSpainIoni Bowcher NEW
Frozen Columns
Name
Izzy T Bolognia
David A Tollner
Rodrigues G Maclead
Faith Q Malet
Claire C Gillian
Munro O Ferencz
Smith X Maclead
Ashley M Schemmer
Mayumi U Rim
Kaitlin K Kusko
Jones L Malet
Chavez K Slusarski
Izzy B Glick
Juan S Venere
Maisha L Maclead
Jennifer C Bowley
Leon S Saylors
Darci V Poquette
Juan D Kolmetz
Tony I Nicka
Sinclair E Vocelka
Claire Z Dilliard
Costa X Amigon
Arvin N Paprocki
Mayumi N Amigon
Mayumi D Paprocki
Octavia D Darakjy
Ricardo C Ferencz
Aruna X Ferencz
Smith S Slusarski
Juan A Albares
Sinclair O Waycott
Silvio R Garufi
Cody N Malet
Ricardo B Tollner
Claire T Albares
Leja K Ruta
Murillo I Gillian
Isabel O Chui
Mujtaba A Figeroa
Smith C Paprocki
Jennifer E Slusarski
Tony A Butt
Maria K Poquette
Silvio G Oldroyd
Wickens H Garufi
Jennifer Z Kolmetz
Ashley T Venere
Emily K Darakjy
Salvatore S Whobrey
IdCountryDate
1000United Kingdom2026-06-30
1001United Kingdom2026-06-25
1002Russia2026-07-11
1003Germany2026-06-24
1004Argentina2026-06-27
1005Japan2026-06-21
1006India2026-06-23
1007Japan2026-07-03
1008Australia2026-06-29
1009Germany2026-06-24
1010Australia2026-07-07
1011Spain2026-07-03
1012Brazil2026-07-12
1013Australia2026-06-19
1014France2026-07-14
1015Brazil2026-07-09
1016Spain2026-06-17
1017Japan2026-07-05
1018Canada2026-07-10
1019France2026-06-24
1020United Kingdom2026-06-24
1021Japan2026-06-26
1022United Kingdom2026-07-04
1023Germany2026-07-08
1024Brazil2026-07-06
1025Spain2026-07-13
1026France2026-07-14
1027Canada2026-07-03
1028Russia2026-07-10
1029Spain2026-07-11
1030Brazil2026-07-12
1031Russia2026-07-01
1032Canada2026-07-14
1033Canada2026-06-17
1034India2026-07-05
1035Argentina2026-06-21
1036Canada2026-06-17
1037Canada2026-07-06
1038Spain2026-07-11
1039Brazil2026-07-04
1040Germany2026-07-06
1041India2026-07-05
1042India2026-07-08
1043United Kingdom2026-06-29
1044France2026-07-04
1045Russia2026-07-06
1046France2026-07-12
1047Japan2026-07-06
1048Japan2026-07-14
1049Brazil2026-06-25

On-Demand Data

NameIdCountryDate
Ricardo T Waycott1000United Kingdom2026-07-13
Aika N Perin1001Canada2026-07-09
Kadeem N Figeroa1002France2026-07-11
Francesco S Butt1003Australia2026-07-03
Jones T Nestle1004Spain2026-07-15
Jefferson T Campain1005Japan2026-07-03
Ricardo Y Campain1006Argentina2026-07-09
Aika J Campain1007Japan2026-06-23
Tony F Waycott1008Japan2026-07-09
Jeanfrancois O Sergi1009Argentina2026-06-29
Cody L Doe1010Italy2026-07-07
Francesco Z Caudy1011Brazil2026-06-20
Jones K Tollner1012Germany2026-06-22
Salvatore S Royster1013Argentina2026-07-12
Salvatore H Kusko1014Japan2026-07-01
Alejandro Z Caudy1015Spain2026-07-03
Leja K Nicka1016Russia2026-06-29
Julie U Flosi1017Argentina2026-06-25
David J Slusarski1018Germany2026-06-17
Chavez Q Briddick1019Australia2026-07-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James R AlbaresRussiaOnyama Limba NEW
Jeanfrancois R RutaArgentinaStephen Shaw QUALIFIED
Mayumi K InouyeFranceBernardo Dominic RENEWAL
Jefferson D ButtIndiaOnyama Limba RENEWAL
Aruna W IturbideRussiaBernardo Dominic RENEWAL
Costa F RulapaughJapanBernardo Dominic QUALIFIED
Deepesh G TollnerItalyElwin Sharvill UNQUALIFIED
Darci Q DarakjySpainAnna Fali RENEWAL
Alejandro C OstroskyGermanyIoni Bowcher PROPOSAL
Silvio X MaletAustraliaOnyama Limba UNQUALIFIED
Misaki Z CaldareraJapanXuxue Feng QUALIFIED
Nicolas U BowleyUnited KingdomBernardo Dominic QUALIFIED
Juan O RimItalyIoni Bowcher PROPOSAL
Salvatore K DarakjySpainBernardo Dominic UNQUALIFIED
Adams L FollerBrazilAsiya Javayant NEGOTIATION
Nicolas V FlosiAustraliaElwin Sharvill NEW
Ashley V StockhamJapanOnyama Limba UNQUALIFIED
Costa Q MaletCanadaIvan Magalhaes PROPOSAL
Silvio R VocelkaFranceOnyama Limba QUALIFIED
Jeanfrancois M MaletUnited KingdomXuxue Feng NEGOTIATION
Murillo X ShinkoBrazilBernardo Dominic NEW
Greenwood K GlickRussiaOnyama Limba RENEWAL
Kadeem O StensethBrazilBernardo Dominic NEW
Misaki V CaudyItalyAnna Fali NEGOTIATION
Aditya T CaudyFranceAnna Fali NEGOTIATION
Maria U IturbideUnited KingdomXuxue Feng RENEWAL
James P GlickUnited KingdomIoni Bowcher RENEWAL
Maria W CampainItalyAsiya Javayant PROPOSAL
Faith K MarrierArgentinaOnyama Limba NEW
Maisha E MacleadUnited KingdomXuxue Feng QUALIFIED
Munro C WieserCanadaStephen Shaw UNQUALIFIED
Salvatore I BowleyItalyAnna Fali NEW
Alejandro A RimAustraliaAsiya Javayant NEW
Ricardo E VocelkaUnited KingdomIvan Magalhaes NEW
Aika Y MarrierBrazilStephen Shaw UNQUALIFIED
Ivar Q MacleadRussiaIoni Bowcher QUALIFIED
Octavia W CampainArgentinaIoni Bowcher NEGOTIATION
Tony H PerinRussiaXuxue Feng UNQUALIFIED
Nicolas Z CampainGermanyAmy Elsner QUALIFIED
Sinclair T StockhamSpainStephen Shaw UNQUALIFIED

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