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
Maria V BriddickIndiaXuxue Feng QUALIFIED
Mayumi C TollnerJapanElwin Sharvill UNQUALIFIED
Arvin Z TollnerUnited KingdomIvan Magalhaes UNQUALIFIED
James T DilliardCanadaAnna Fali NEW
Morrow J MaletAustraliaIvan Magalhaes NEW
Greenwood I VenereSpainXuxue Feng UNQUALIFIED
Francesco W ShinkoRussiaAsiya Javayant QUALIFIED
Ricardo E TollnerSpainAsiya Javayant NEGOTIATION
Maisha T OldroydIndiaStephen Shaw NEGOTIATION
Emily P IturbideCanadaOnyama Limba PROPOSAL
Francesco S FlosiCanadaAsiya Javayant RENEWAL
Johnson H NickaUnited KingdomElwin Sharvill UNQUALIFIED
Silvio F MacleadJapanBernardo Dominic NEW
Sinclair M KolmetzItalyIoni Bowcher UNQUALIFIED
Smith B BologniaBrazilOnyama Limba NEGOTIATION
Mayumi R IturbideGermanyStephen Shaw RENEWAL
Ricardo A VenereCanadaAmy Elsner UNQUALIFIED
Stacey X TollnerCanadaBernardo Dominic QUALIFIED
Kadeem E IturbideJapanElwin Sharvill NEGOTIATION
Arvin J VenereItalyOnyama Limba RENEWAL
Octavia A StockhamSpainIvan Magalhaes QUALIFIED
Deepesh X MorascaUnited KingdomStephen Shaw NEW
Jones P GillianFranceElwin Sharvill PROPOSAL
Maisha F CaldareraAustraliaElwin Sharvill NEW
Antonio Q DoeSpainAsiya Javayant NEW
Aditya U RulapaughGermanyAnna Fali NEGOTIATION
Rodrigues R StockhamUnited KingdomAnna Fali NEGOTIATION
Alejandro K GarufiRussiaIoni Bowcher QUALIFIED
Mayumi L MaletArgentinaBernardo Dominic NEGOTIATION
Aruna Z VenereAustraliaElwin Sharvill RENEWAL
Leja T RulapaughBrazilElwin Sharvill RENEWAL
Silvio A DarakjyIndiaIoni Bowcher RENEWAL
Jones G MaletSpainAnna Fali NEW
Arvin W DilliardArgentinaOnyama Limba NEW
Stacey U MaletUnited KingdomAnna Fali NEGOTIATION
Octavia W FigeroaRussiaStephen Shaw NEW
Costa Z VocelkaGermanyXuxue Feng QUALIFIED
Jones B KuskoFranceElwin Sharvill PROPOSAL
Maisha A ShinkoSpainXuxue Feng NEGOTIATION
Kadeem O RulapaughBrazilBernardo Dominic QUALIFIED
Ivar M StensethCanadaOnyama Limba NEGOTIATION
Chavez C WaycottIndiaIvan Magalhaes RENEWAL
Jennifer U FlosiAustraliaBernardo Dominic RENEWAL
Alejandro A NestleFranceIoni Bowcher RENEWAL
James Y NestleIndiaElwin Sharvill NEGOTIATION
Tony S StockhamUnited KingdomXuxue Feng RENEWAL
Murillo N PerinSpainIvan Magalhaes NEW
Alejandro I SchemmerIndiaIvan Magalhaes PROPOSAL
Mujtaba F WieserIndiaIvan Magalhaes NEW
Sinclair S IturbideArgentinaAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Greenwood F PaprockiSpainAnna Fali UNQUALIFIED
Aika P CampainAustraliaIoni Bowcher PROPOSAL
David C MaletBrazilStephen Shaw PROPOSAL
Mayumi H VocelkaRussiaIvan Magalhaes RENEWAL
Aika O PaprockiCanadaElwin Sharvill RENEWAL
Misaki W SaylorsGermanyElwin Sharvill RENEWAL
Mayumi Z SaylorsRussiaStephen Shaw QUALIFIED
Mayumi C GillianUnited KingdomAsiya Javayant RENEWAL
Johnson Y MaletCanadaStephen Shaw QUALIFIED
Alejandro Z DarakjyItalyOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood Q PerinGermany2026-07-08Benton, John B Jr UNQUALIFIED4Amy Elsner
1001Sinclair U BologniaAustralia2026-07-07Chemel, James L Cpa PROPOSAL57Ivan Magalhaes
1002Morrow I CaldareraUnited Kingdom2026-07-04Morlong Associates UNQUALIFIED61Stephen Shaw
1003Ashley G CampainAustralia2026-06-25Commercial Press QUALIFIED43Ivan Magalhaes
1004Adams R InouyeSpain2026-06-21Commercial Press QUALIFIED42Asiya Javayant
1005Sinclair O KuskoSpain2026-06-30Commercial Press PROPOSAL83Ioni Bowcher
1006Darci E GauchoArgentina2026-06-26Benton, John B Jr NEW1Amy Elsner
1007Faith U ChuiUnited Kingdom2026-06-12Buckley Miller Wright QUALIFIED18Ioni Bowcher
1008Julie C ShinkoFrance2026-06-26Commercial Press NEGOTIATION95Anna Fali
1009Jeanfrancois S SergiSpain2026-06-26King, Christopher A Esq PROPOSAL71Bernardo Dominic
1010Maria R BologniaIndia2026-06-24Commercial Press QUALIFIED43Amy Elsner
1011Nicolas N ShinkoRussia2026-07-01Chemel, James L Cpa RENEWAL27Anna Fali
1012Leon U SchemmerCanada2026-06-20Feltz Printing Service PROPOSAL7Asiya Javayant
1013Jennifer S ChuiArgentina2026-06-29Commercial Press NEW18Stephen Shaw
1014Leon P SchemmerGermany2026-06-30Benton, John B Jr RENEWAL53Xuxue Feng
1015Francesco O DilliardUnited Kingdom2026-06-27Rangoni Of Florence NEGOTIATION17Onyama Limba
1016Isabel U SaylorsAustralia2026-07-05Printing Dimensions UNQUALIFIED63Onyama Limba
1017Alejandro V ChuiRussia2026-06-21Chapman, Ross E Esq PROPOSAL93Asiya Javayant
1018Munro H SchemmerCanada2026-06-26Chemel, James L Cpa PROPOSAL4Elwin Sharvill
1019Ashley E InouyeBrazil2026-06-30Chapman, Ross E Esq PROPOSAL2Bernardo Dominic
1020Leon E ShinkoCanada2026-07-03Benton, John B Jr NEGOTIATION98Ivan Magalhaes
1021Munro Z MarrierIndia2026-06-21Printing Dimensions UNQUALIFIED36Asiya Javayant
1022Leon H WieserGermany2026-06-20Chemel, James L Cpa UNQUALIFIED95Ivan Magalhaes
1023Emily Q NickaIndia2026-06-10Chemel, James L Cpa RENEWAL56Asiya Javayant
1024Sinclair M VocelkaIndia2026-06-20Morlong Associates QUALIFIED22Anna Fali
1025Munro O PoquetteFrance2026-06-23Benton, John B Jr PROPOSAL7Asiya Javayant
1026Darci F SlusarskiItaly2026-06-22Buckley Miller Wright PROPOSAL57Stephen Shaw
1027Ricardo C FollerJapan2026-06-25Truhlar And Truhlar Attys NEGOTIATION19Amy Elsner
1028Chavez S BologniaAustralia2026-06-26Rousseaux, Michael Esq UNQUALIFIED78Amy Elsner
1029Cody E ButtAustralia2026-07-05Chemel, James L Cpa NEGOTIATION12Bernardo Dominic
1030Silvio J FigeroaJapan2026-06-15Feltz Printing Service PROPOSAL52Onyama Limba
1031Morrow I CaudyAustralia2026-06-18King, Christopher A Esq RENEWAL14Anna Fali
1032Stacey T WhobreyCanada2026-06-23Rousseaux, Michael Esq QUALIFIED54Ioni Bowcher
1033Rodrigues D VocelkaIndia2026-06-18Rangoni Of Florence UNQUALIFIED76Asiya Javayant
1034Arvin B MacleadCanada2026-06-22Buckley Miller Wright UNQUALIFIED21Anna Fali
1035Ashley W FollerItaly2026-06-15Chemel, James L Cpa RENEWAL52Amy Elsner
1036Johnson A BowleyRussia2026-06-17Chapman, Ross E Esq QUALIFIED47Anna Fali
1037Jefferson H WhobreyRussia2026-06-11Morlong Associates UNQUALIFIED63Elwin Sharvill
1038James I DoeRussia2026-06-19Feiner Bros QUALIFIED8Ivan Magalhaes
1039Isabel K FlosiJapan2026-07-08Commercial Press NEW86Bernardo Dominic
1040Emily C AmigonSpain2026-07-06Rangoni Of Florence NEGOTIATION4Xuxue Feng
1041Juan R PoquetteSpain2026-07-03Truhlar And Truhlar Attys UNQUALIFIED10Anna Fali
1042Ashley Y ShinkoIndia2026-06-17Morlong Associates NEGOTIATION76Stephen Shaw
1043Cody J BowleyBrazil2026-06-18Chemel, James L Cpa NEW17Onyama Limba
1044Claire V AmigonAustralia2026-06-30King, Christopher A Esq NEGOTIATION14Xuxue Feng
1045Leja N FerenczSpain2026-06-25Feiner Bros NEW35Onyama Limba
1046Kaitlin I BowleyRussia2026-07-03Printing Dimensions NEW1Anna Fali
1047Jones G ButtRussia2026-06-16Chemel, James L Cpa NEGOTIATION29Xuxue Feng
1048Aika K AmigonAustralia2026-06-19King, Christopher A Esq QUALIFIED46Xuxue Feng
1049Clifford D BologniaIndia2026-06-11Commercial Press NEGOTIATION93Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Leon D GlickCanadaAmy Elsner QUALIFIED
James L DoeFranceAmy Elsner RENEWAL
Sinclair Z ShinkoCanadaElwin Sharvill RENEWAL
Claire Y CampainIndiaXuxue Feng RENEWAL
Smith L StockhamBrazilBernardo Dominic RENEWAL
Julie W MacleadGermanyAsiya Javayant PROPOSAL
Jeanfrancois X FollerIndiaAnna Fali UNQUALIFIED
Francesco Y BriddickBrazilIvan Magalhaes NEGOTIATION
Ivar O KuskoJapanIoni Bowcher NEW
Jefferson Y AlbaresJapanBernardo Dominic QUALIFIED
Mujtaba Q ButtItalyIoni Bowcher NEGOTIATION
Morrow B GarufiRussiaIoni Bowcher RENEWAL
Kaitlin E PerinRussiaAnna Fali RENEWAL
Deepesh R FerenczCanadaAsiya Javayant UNQUALIFIED
Wickens S CaldareraUnited KingdomAmy Elsner NEGOTIATION
Morrow K SergiBrazilStephen Shaw RENEWAL
Octavia C AmigonBrazilIoni Bowcher NEW
Darci V SlusarskiAustraliaElwin Sharvill QUALIFIED
Ashley T InouyeAustraliaElwin Sharvill RENEWAL
Emily P KolmetzUnited KingdomAnna Fali RENEWAL
Jennifer J CaudyRussiaBernardo Dominic NEW
Juan A RoysterIndiaIvan Magalhaes RENEWAL
Jeanfrancois M RulapaughCanadaAnna Fali RENEWAL
Tony B SchemmerItalyAnna Fali NEW
Salvatore F TollnerArgentinaAmy Elsner PROPOSAL
Kaitlin B RimFranceElwin Sharvill NEGOTIATION
Isabel I SergiIndiaElwin Sharvill NEW
Wickens Z TollnerGermanyElwin Sharvill NEGOTIATION
Cody J StensethGermanyIvan Magalhaes NEGOTIATION
Izzy X DilliardFranceStephen Shaw NEGOTIATION
Stacey O MaletRussiaAsiya Javayant UNQUALIFIED
Stacey K VocelkaRussiaAmy Elsner PROPOSAL
Arvin R CaudyGermanyXuxue Feng PROPOSAL
Smith M SergiRussiaIvan Magalhaes PROPOSAL
Costa J RulapaughSpainBernardo Dominic UNQUALIFIED
Cody L KolmetzIndiaXuxue Feng PROPOSAL
Costa X OstroskyFranceXuxue Feng QUALIFIED
Cody V StockhamGermanyAmy Elsner NEGOTIATION
Sinclair N NickaItalyStephen Shaw NEW
Tony D DoeAustraliaBernardo Dominic UNQUALIFIED
Jennifer R PerinBrazilIvan Magalhaes PROPOSAL
Izzy Y IturbideUnited KingdomElwin Sharvill NEGOTIATION
Clifford X MarrierIndiaIoni Bowcher NEW
Deepesh N CampainRussiaOnyama Limba NEW
Leon E MaletGermanyElwin Sharvill RENEWAL
Aika R MaletGermanyIoni Bowcher NEGOTIATION
Emily A ButtUnited KingdomIvan Magalhaes NEW
Ashley R WaycottGermanyStephen Shaw QUALIFIED
Rodrigues I NestleUnited KingdomAsiya Javayant QUALIFIED
Salvatore N PoquetteIndiaElwin Sharvill QUALIFIED
Frozen Columns
Name
Ivar R Perin
Greenwood W Figeroa
Ashley Y Stockham
Ricardo R Caldarera
Izzy R Malet
Morrow H Morasca
Antonio A Ostrosky
Francesco G Ruta
Kaitlin E Glick
Faith U Ferencz
Costa C Malet
Stacey U Stockham
Cody H Oldroyd
Munro P Caldarera
Jones G Rim
Smith L Morasca
Silvio B Marrier
James J Darakjy
Murillo K Caldarera
Deepesh U Albares
Jefferson T Malet
Wickens L Wieser
Adams K Amigon
Chavez V Dilliard
Alejandro G Bowley
Juan A Sergi
Leon T Caldarera
Adams K Morasca
Costa P Royster
Arvin L Bolognia
Ashley Y Kusko
Jones J Shinko
Stacey A Poquette
Aditya U Doe
Misaki E Nestle
Octavia C Malet
Emily N Gillian
Aika Y Briddick
Jones R Shinko
Mayumi T Perin
Aditya T Dilliard
Mujtaba U Nestle
Kaitlin B Schemmer
Stacey R Inouye
Morrow V Whobrey
Jeanfrancois S Iturbide
Munro C Schemmer
Munro O Gaucho
Salvatore K Foller
Smith H Nestle
IdCountryDate
1000India2026-06-12
1001India2026-07-01
1002Spain2026-07-08
1003Japan2026-07-08
1004Japan2026-06-16
1005Germany2026-06-11
1006Brazil2026-06-11
1007Canada2026-07-07
1008Germany2026-06-13
1009Japan2026-06-21
1010France2026-06-24
1011France2026-06-30
1012Italy2026-07-03
1013India2026-06-16
1014Spain2026-07-07
1015India2026-07-04
1016Spain2026-06-27
1017United Kingdom2026-06-19
1018Argentina2026-06-22
1019Argentina2026-06-23
1020Brazil2026-06-30
1021India2026-06-20
1022Spain2026-07-05
1023Germany2026-06-10
1024Germany2026-06-28
1025Argentina2026-06-18
1026Japan2026-06-20
1027Brazil2026-06-19
1028Russia2026-07-08
1029United Kingdom2026-06-28
1030Brazil2026-06-19
1031Russia2026-06-23
1032Japan2026-07-01
1033Japan2026-06-23
1034India2026-06-23
1035Argentina2026-06-23
1036India2026-07-01
1037Italy2026-06-15
1038Japan2026-06-23
1039Japan2026-07-05
1040Italy2026-06-16
1041Spain2026-06-17
1042Germany2026-06-27
1043Germany2026-06-15
1044Canada2026-07-04
1045Canada2026-06-10
1046Russia2026-06-18
1047France2026-06-18
1048Argentina2026-06-28
1049Russia2026-07-06

On-Demand Data

NameIdCountryDate
Greenwood H Marrier1000Italy2026-06-21
Octavia P Inouye1001Brazil2026-06-20
Costa K Gaucho1002Italy2026-06-21
Costa Z Marrier1003Australia2026-06-26
Costa W Shinko1004Spain2026-06-28
Clifford D Venere1005Germany2026-06-10
Wickens R Amigon1006Spain2026-06-27
Ashley N Stockham1007Australia2026-06-28
Sinclair G Chui1008Brazil2026-07-05
Jefferson Y Gaucho1009Brazil2026-06-18
Izzy R Morasca1010Brazil2026-06-15
Greenwood L Wieser1011Australia2026-06-12
Clifford O Caudy1012Japan2026-06-29
Alejandro H Caudy1013Australia2026-07-03
Greenwood U Figeroa1014India2026-07-03
Ricardo S Flosi1015Australia2026-06-20
Deepesh G Stockham1016United Kingdom2026-06-29
Adams F Wieser1017Argentina2026-06-12
Wickens K Garufi1018France2026-06-28
Jefferson U Inouye1019Spain2026-07-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy N ChuiIndiaAmy Elsner NEW
Ricardo U MorascaUnited KingdomXuxue Feng PROPOSAL
Smith A CampainFranceBernardo Dominic UNQUALIFIED
Antonio F MaletRussiaStephen Shaw NEGOTIATION
David I AlbaresCanadaAnna Fali RENEWAL
Sinclair F WieserFranceAmy Elsner NEGOTIATION
Ivar R DilliardCanadaAnna Fali NEGOTIATION
Adams R WieserIndiaAnna Fali RENEWAL
Jennifer G BowleyItalyAmy Elsner RENEWAL
Salvatore E PoquetteUnited KingdomElwin Sharvill UNQUALIFIED
Wickens V RimRussiaBernardo Dominic NEW
Juan Q PerinIndiaIoni Bowcher UNQUALIFIED
Antonio G OldroydSpainIvan Magalhaes NEW
Cody Q PerinIndiaAnna Fali NEGOTIATION
Mujtaba J WieserBrazilAmy Elsner PROPOSAL
Salvatore U NestleJapanIoni Bowcher RENEWAL
Darci O StensethRussiaOnyama Limba PROPOSAL
Murillo S WhobreyGermanyStephen Shaw PROPOSAL
Wickens K PerinAustraliaAsiya Javayant NEGOTIATION
David U MaletCanadaElwin Sharvill UNQUALIFIED
Murillo M DarakjyRussiaAmy Elsner QUALIFIED
David J NickaFranceAsiya Javayant PROPOSAL
Leja C SlusarskiSpainAnna Fali NEGOTIATION
Sinclair J ShinkoFranceStephen Shaw NEGOTIATION
Morrow G DarakjyCanadaIoni Bowcher RENEWAL
Murillo J MarrierGermanyBernardo Dominic PROPOSAL
Emily Q FerenczCanadaOnyama Limba UNQUALIFIED
Aruna H PerinAustraliaAnna Fali PROPOSAL
David A PerinFranceOnyama Limba NEGOTIATION
Silvio R DoeUnited KingdomXuxue Feng PROPOSAL
Adams Y BologniaSpainOnyama Limba QUALIFIED
Salvatore A RoysterJapanIvan Magalhaes UNQUALIFIED
Izzy I StockhamCanadaStephen Shaw NEGOTIATION
Greenwood H OldroydBrazilOnyama Limba NEW
Maisha Z FollerItalyAmy Elsner RENEWAL
Ricardo N WieserItalyBernardo Dominic NEW
Jennifer D PaprockiArgentinaIvan Magalhaes NEGOTIATION
Rodrigues Q StensethSpainXuxue Feng RENEWAL
Aruna E OstroskyArgentinaAsiya Javayant QUALIFIED
Jefferson A MacleadUnited KingdomElwin Sharvill 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>