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
Julie W RulapaughItalyBernardo Dominic QUALIFIED
Silvio C SlusarskiSpainAmy Elsner UNQUALIFIED
Sinclair A BriddickFranceIoni Bowcher NEW
Claire L SlusarskiFranceBernardo Dominic UNQUALIFIED
Johnson J BowleyArgentinaXuxue Feng QUALIFIED
Jones G ChuiCanadaXuxue Feng NEW
Jones Z DoeUnited KingdomIvan Magalhaes RENEWAL
Leja M IturbideAustraliaBernardo Dominic QUALIFIED
Nicolas S NestleUnited KingdomAmy Elsner QUALIFIED
Octavia W OstroskyBrazilAnna Fali QUALIFIED
Aditya E SergiArgentinaIoni Bowcher NEGOTIATION
Mayumi B PerinArgentinaAsiya Javayant NEGOTIATION
David I SergiAustraliaIvan Magalhaes NEGOTIATION
Smith E InouyeRussiaIvan Magalhaes PROPOSAL
Jennifer O MacleadRussiaElwin Sharvill QUALIFIED
Ricardo I WieserCanadaBernardo Dominic UNQUALIFIED
Chavez N PerinIndiaStephen Shaw UNQUALIFIED
Jones H AlbaresRussiaIoni Bowcher RENEWAL
Emily N NestleItalyAnna Fali QUALIFIED
Antonio J InouyeUnited KingdomAsiya Javayant PROPOSAL
Ivar B CampainItalyAnna Fali RENEWAL
Ivar D ButtAustraliaBernardo Dominic PROPOSAL
Stacey T DarakjyItalyIvan Magalhaes RENEWAL
Wickens C GarufiFranceBernardo Dominic UNQUALIFIED
Isabel T ButtRussiaBernardo Dominic NEGOTIATION
Salvatore L BologniaUnited KingdomElwin Sharvill QUALIFIED
Jennifer I MaletIndiaAmy Elsner QUALIFIED
Mayumi A SaylorsUnited KingdomAmy Elsner QUALIFIED
Maisha G FlosiCanadaOnyama Limba UNQUALIFIED
Clifford Q FollerRussiaOnyama Limba NEW
Cody O RutaSpainAmy Elsner QUALIFIED
Aruna S MarrierSpainAsiya Javayant RENEWAL
Maisha X GillianFranceBernardo Dominic QUALIFIED
Mayumi U BologniaFranceIvan Magalhaes NEGOTIATION
Darci M WaycottFranceStephen Shaw RENEWAL
Ashley H AmigonUnited KingdomElwin Sharvill NEW
Faith S AmigonIndiaOnyama Limba UNQUALIFIED
Johnson N DoeCanadaElwin Sharvill NEW
James B MacleadUnited KingdomElwin Sharvill NEW
Leja O PaprockiIndiaIoni Bowcher NEGOTIATION
Nicolas D OldroydCanadaBernardo Dominic NEGOTIATION
Maisha P NestleRussiaIvan Magalhaes NEW
Nicolas T StockhamFranceElwin Sharvill NEGOTIATION
Mujtaba U FlosiSpainIvan Magalhaes UNQUALIFIED
Leja I MorascaCanadaBernardo Dominic NEW
Ricardo K FigeroaIndiaXuxue Feng NEW
Aika R KuskoGermanyAmy Elsner UNQUALIFIED
Mayumi B MaletBrazilIoni Bowcher NEGOTIATION
Aika G GlickItalyIvan Magalhaes UNQUALIFIED
Octavia P GauchoJapanIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Deepesh D BriddickCanadaBernardo Dominic PROPOSAL
James D KuskoItalyIoni Bowcher NEW
James S ShinkoSpainAsiya Javayant PROPOSAL
Wickens J MorascaItalyAsiya Javayant UNQUALIFIED
Silvio J OstroskyGermanyAnna Fali PROPOSAL
Misaki L BriddickItalyStephen Shaw NEW
Darci E DilliardFranceOnyama Limba RENEWAL
Greenwood L AlbaresBrazilBernardo Dominic NEW
Adams O PoquetteJapanXuxue Feng QUALIFIED
Faith P FollerBrazilAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar F VocelkaCanada2026-07-05Chapman, Ross E Esq NEW29Onyama Limba
1001James V MaletCanada2026-07-23Dorl, James J Esq RENEWAL31Bernardo Dominic
1002Darci H PoquetteArgentina2026-07-18Rangoni Of Florence PROPOSAL23Xuxue Feng
1003Silvio T MorascaCanada2026-07-25King, Christopher A Esq NEGOTIATION48Bernardo Dominic
1004Munro H BologniaSpain2026-07-28Chemel, James L Cpa QUALIFIED80Amy Elsner
1005Mujtaba S TollnerSpain2026-07-29Chanay, Jeffrey A Esq QUALIFIED94Bernardo Dominic
1006Wickens L RutaFrance2026-07-28Dorl, James J Esq NEW57Elwin Sharvill
1007David P NestleItaly2026-07-23Rangoni Of Florence QUALIFIED96Xuxue Feng
1008Jeanfrancois P StockhamJapan2026-07-13Truhlar And Truhlar Attys NEW51Asiya Javayant
1009Isabel H SlusarskiRussia2026-07-04Chanay, Jeffrey A Esq PROPOSAL29Elwin Sharvill
1010Aika K StensethArgentina2026-07-15Feiner Bros NEGOTIATION71Elwin Sharvill
1011Munro G DoeGermany2026-07-16King, Christopher A Esq QUALIFIED53Onyama Limba
1012Jones R PerinRussia2026-07-20Truhlar And Truhlar Attys QUALIFIED53Ivan Magalhaes
1013Octavia S StockhamRussia2026-07-16Truhlar And Truhlar Attys NEW30Bernardo Dominic
1014Tony P FerenczIndia2026-07-21Chanay, Jeffrey A Esq QUALIFIED26Asiya Javayant
1015Cody V DoeSpain2026-07-09Chanay, Jeffrey A Esq NEGOTIATION94Elwin Sharvill
1016David Y WaycottArgentina2026-07-27King, Christopher A Esq NEW24Stephen Shaw
1017Izzy F KuskoArgentina2026-07-26Rousseaux, Michael Esq RENEWAL6Xuxue Feng
1018Jennifer Y GarufiGermany2026-07-10Chemel, James L Cpa NEGOTIATION24Elwin Sharvill
1019Jennifer E PaprockiArgentina2026-07-30Commercial Press UNQUALIFIED71Ioni Bowcher
1020Costa V WieserArgentina2026-07-15Morlong Associates PROPOSAL16Stephen Shaw
1021Chavez S DarakjyUnited Kingdom2026-07-15Rangoni Of Florence NEW4Ioni Bowcher
1022Ivar H RulapaughArgentina2026-07-17Dorl, James J Esq PROPOSAL15Bernardo Dominic
1023Munro G ChuiBrazil2026-07-06Dorl, James J Esq QUALIFIED86Ivan Magalhaes
1024Aika O DilliardRussia2026-07-24Chanay, Jeffrey A Esq UNQUALIFIED7Ioni Bowcher
1025Arvin Y MacleadRussia2026-07-19Buckley Miller Wright UNQUALIFIED67Xuxue Feng
1026Salvatore E FerenczRussia2026-07-06Benton, John B Jr QUALIFIED29Amy Elsner
1027Izzy E VenereArgentina2026-07-28Rousseaux, Michael Esq RENEWAL74Stephen Shaw
1028Francesco B IturbideSpain2026-07-29Morlong Associates UNQUALIFIED87Amy Elsner
1029Julie U GauchoBrazil2026-07-16Buckley Miller Wright PROPOSAL44Elwin Sharvill
1030Francesco A CampainCanada2026-07-11Chanay, Jeffrey A Esq NEGOTIATION96Stephen Shaw
1031Faith S MaletArgentina2026-07-08King, Christopher A Esq UNQUALIFIED88Elwin Sharvill
1032Izzy M IturbideCanada2026-07-12Chanay, Jeffrey A Esq NEGOTIATION40Bernardo Dominic
1033Silvio K DarakjyArgentina2026-07-17Morlong Associates QUALIFIED55Ioni Bowcher
1034Clifford F StensethIndia2026-07-28Truhlar And Truhlar Attys UNQUALIFIED78Xuxue Feng
1035Greenwood W RutaAustralia2026-07-29Chanay, Jeffrey A Esq QUALIFIED90Ivan Magalhaes
1036Morrow V NestleIndia2026-07-08Dorl, James J Esq QUALIFIED96Ivan Magalhaes
1037Juan Q VocelkaAustralia2026-07-09Dorl, James J Esq QUALIFIED44Amy Elsner
1038Darci B RoysterItaly2026-07-31Truhlar And Truhlar Attys NEGOTIATION45Amy Elsner
1039Ivar K OldroydItaly2026-07-02Chemel, James L Cpa NEGOTIATION41Ioni Bowcher
1040Mujtaba E GarufiUnited Kingdom2026-07-28Rousseaux, Michael Esq NEW67Ivan Magalhaes
1041Leon X NickaJapan2026-07-03Chemel, James L Cpa NEGOTIATION36Elwin Sharvill
1042Adams P WieserCanada2026-07-29Commercial Press UNQUALIFIED26Ioni Bowcher
1043Adams G RulapaughCanada2026-07-11Buckley Miller Wright RENEWAL66Stephen Shaw
1044Faith D OldroydArgentina2026-07-24Benton, John B Jr NEW64Ioni Bowcher
1045Jefferson M VenereAustralia2026-07-31Printing Dimensions NEGOTIATION92Bernardo Dominic
1046Silvio Z StockhamIndia2026-07-09Rangoni Of Florence NEGOTIATION78Amy Elsner
1047Costa D SergiItaly2026-07-09Truhlar And Truhlar Attys RENEWAL15Onyama Limba
1048Octavia O KuskoItaly2026-07-23Rangoni Of Florence RENEWAL10Stephen Shaw
1049Ricardo F MacleadItaly2026-07-24Rousseaux, Michael Esq UNQUALIFIED38Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin W WieserRussiaIoni Bowcher NEW
Costa A StensethCanadaAmy Elsner QUALIFIED
James G OstroskySpainElwin Sharvill PROPOSAL
Aruna Z GarufiFranceAmy Elsner NEW
Maria Y KuskoJapanAnna Fali QUALIFIED
Munro G VocelkaGermanyXuxue Feng NEW
Salvatore G AlbaresJapanIvan Magalhaes UNQUALIFIED
Jefferson U VocelkaJapanXuxue Feng RENEWAL
Stacey T PoquetteJapanOnyama Limba QUALIFIED
Rodrigues K SchemmerArgentinaAmy Elsner UNQUALIFIED
Maria R CampainFranceElwin Sharvill NEW
Aika G ShinkoRussiaXuxue Feng UNQUALIFIED
Nicolas L PoquetteSpainIoni Bowcher PROPOSAL
Jones L BriddickJapanIvan Magalhaes UNQUALIFIED
Morrow Y GauchoArgentinaIvan Magalhaes NEW
Morrow J DoeItalyAmy Elsner NEW
Munro Y KolmetzFranceStephen Shaw UNQUALIFIED
Tony H WhobreyRussiaBernardo Dominic RENEWAL
Nicolas B SchemmerArgentinaIvan Magalhaes RENEWAL
Alejandro U BologniaGermanyXuxue Feng NEW
Sinclair S VenereIndiaStephen Shaw UNQUALIFIED
Salvatore B VenereGermanyAsiya Javayant UNQUALIFIED
Darci H DarakjyGermanyIvan Magalhaes NEGOTIATION
Munro Z MaletIndiaAnna Fali NEW
Isabel T MaletArgentinaOnyama Limba QUALIFIED
Costa L AlbaresIndiaIoni Bowcher NEW
Salvatore K AmigonGermanyOnyama Limba UNQUALIFIED
Silvio B RoysterCanadaIoni Bowcher UNQUALIFIED
Mayumi J BowleyIndiaBernardo Dominic RENEWAL
Johnson S FlosiJapanStephen Shaw UNQUALIFIED
Kadeem E DilliardIndiaOnyama Limba NEW
Mayumi F OstroskyGermanyAnna Fali RENEWAL
Maria W DoeJapanElwin Sharvill QUALIFIED
Cody K OldroydBrazilStephen Shaw PROPOSAL
Johnson J RutaArgentinaAsiya Javayant NEGOTIATION
Ricardo S AmigonRussiaElwin Sharvill NEGOTIATION
Alejandro V RutaArgentinaIoni Bowcher UNQUALIFIED
Claire M StensethIndiaStephen Shaw UNQUALIFIED
Aika T RimRussiaAmy Elsner PROPOSAL
Izzy O GarufiUnited KingdomIoni Bowcher RENEWAL
James S BologniaJapanStephen Shaw NEW
Arvin F SergiAustraliaBernardo Dominic UNQUALIFIED
Chavez Y AlbaresSpainXuxue Feng UNQUALIFIED
Alejandro W PoquetteIndiaElwin Sharvill RENEWAL
Darci T GarufiJapanAnna Fali NEW
Clifford I FerenczGermanyIoni Bowcher QUALIFIED
Isabel L MarrierFranceStephen Shaw PROPOSAL
Maria W StensethBrazilAmy Elsner NEGOTIATION
Salvatore C GillianCanadaAnna Fali RENEWAL
Emily K VenereArgentinaOnyama Limba PROPOSAL
Frozen Columns
Name
Misaki X Oldroyd
Nicolas T Royster
Francesco P Bolognia
Sinclair O Ruta
Aika E Vocelka
Mayumi E Ferencz
Cody Z Campain
Antonio N Caldarera
Ashley A Oldroyd
Adams W Whobrey
Juan K Nicka
Costa U Wieser
Johnson Q Nestle
Aditya Q Chui
Jeanfrancois E Stenseth
Aika K Sergi
Alejandro Q Iturbide
Octavia B Marrier
Stacey J Garufi
Ricardo U Waycott
Misaki V Caldarera
Jeanfrancois T Albares
Jones M Iturbide
Jefferson E Doe
Salvatore P Caudy
Leja P Figeroa
Octavia Y Caudy
Smith G Sergi
Aruna L Morasca
Darci G Poquette
Mujtaba Z Morasca
Julie O Flosi
Nicolas I Gillian
Octavia O Malet
Greenwood K Foller
Arvin F Briddick
Mayumi U Schemmer
Claire D Caudy
Juan M Marrier
Leja D Perin
Jeanfrancois Y Gillian
Smith W Gillian
Leon J Malet
Emily R Rim
Misaki I Chui
Arvin V Rim
Faith A Stockham
Julie Z Figeroa
Morrow Q Amigon
Kadeem J Kolmetz
IdCountryDate
1000Russia2026-07-20
1001France2026-07-11
1002Argentina2026-07-18
1003Canada2026-07-05
1004United Kingdom2026-07-19
1005Germany2026-07-30
1006Germany2026-07-22
1007Spain2026-07-07
1008India2026-07-02
1009India2026-07-02
1010India2026-07-19
1011Argentina2026-07-06
1012Spain2026-07-23
1013Germany2026-07-22
1014Canada2026-07-26
1015Australia2026-07-03
1016France2026-07-15
1017Australia2026-07-26
1018France2026-07-20
1019Australia2026-07-18
1020Spain2026-07-17
1021Spain2026-07-12
1022Japan2026-07-10
1023France2026-07-19
1024Canada2026-07-14
1025Japan2026-07-19
1026Spain2026-07-26
1027Germany2026-07-21
1028Argentina2026-07-08
1029France2026-07-22
1030Russia2026-07-07
1031Russia2026-07-11
1032Canada2026-07-04
1033Canada2026-07-02
1034India2026-07-31
1035Japan2026-07-02
1036Germany2026-07-03
1037India2026-07-12
1038United Kingdom2026-07-17
1039Russia2026-07-21
1040Spain2026-07-30
1041Japan2026-07-09
1042United Kingdom2026-07-26
1043Spain2026-07-08
1044Germany2026-07-27
1045France2026-07-14
1046Canada2026-07-17
1047Argentina2026-07-02
1048United Kingdom2026-07-21
1049Germany2026-07-10

On-Demand Data

NameIdCountryDate
Emily R Chui1000Germany2026-07-03
Francesco W Flosi1001Argentina2026-07-09
Jones J Bowley1002Russia2026-07-19
Jennifer S Schemmer1003Russia2026-07-08
Silvio N Iturbide1004Russia2026-07-23
Rodrigues W Foller1005United Kingdom2026-07-28
Mujtaba Z Figeroa1006Spain2026-07-24
Costa D Nestle1007Argentina2026-07-08
Rodrigues L Marrier1008Canada2026-07-27
Jones B Garufi1009Canada2026-07-08
Francesco B Doe1010Brazil2026-07-22
Kadeem H Maclead1011Argentina2026-07-08
Stacey H Campain1012Russia2026-07-08
Maria L Paprocki1013Russia2026-07-22
Maisha O Kolmetz1014Italy2026-07-17
Aditya J Nestle1015Australia2026-07-03
Antonio P Bolognia1016Germany2026-07-08
Leja V Darakjy1017France2026-07-05
Smith F Doe1018Spain2026-07-15
Kadeem Q Marrier1019France2026-07-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika Z SaylorsSpainAmy Elsner NEGOTIATION
Aditya X AmigonJapanAmy Elsner PROPOSAL
Greenwood S ShinkoFranceStephen Shaw PROPOSAL
Darci P AmigonSpainIvan Magalhaes QUALIFIED
Silvio E KolmetzBrazilAnna Fali RENEWAL
Juan S SergiBrazilIvan Magalhaes QUALIFIED
Isabel S BologniaArgentinaStephen Shaw UNQUALIFIED
Mujtaba W OldroydIndiaAmy Elsner UNQUALIFIED
Jones M StockhamArgentinaAmy Elsner QUALIFIED
Stacey R DilliardBrazilXuxue Feng PROPOSAL
Aditya H CampainAustraliaAnna Fali UNQUALIFIED
Rodrigues N KolmetzGermanyXuxue Feng PROPOSAL
Faith N FlosiArgentinaIoni Bowcher UNQUALIFIED
Francesco U SaylorsUnited KingdomIoni Bowcher PROPOSAL
Leja J FigeroaFranceBernardo Dominic RENEWAL
Emily A VocelkaArgentinaBernardo Dominic UNQUALIFIED
Darci O BowleyIndiaBernardo Dominic QUALIFIED
Faith N PoquetteCanadaIoni Bowcher RENEWAL
Salvatore T SergiAustraliaXuxue Feng NEGOTIATION
Greenwood Y GlickArgentinaElwin Sharvill NEW
Rodrigues L StensethBrazilStephen Shaw UNQUALIFIED
Julie N BowleyIndiaAsiya Javayant QUALIFIED
Salvatore Y BowleyAustraliaElwin Sharvill QUALIFIED
Murillo U BologniaSpainElwin Sharvill NEGOTIATION
Juan O VocelkaAustraliaOnyama Limba QUALIFIED
Jefferson N SaylorsJapanElwin Sharvill QUALIFIED
Darci B CampainAustraliaIvan Magalhaes RENEWAL
Jeanfrancois O MacleadJapanXuxue Feng PROPOSAL
Chavez V FlosiGermanyIvan Magalhaes RENEWAL
Jennifer R ChuiItalyStephen Shaw PROPOSAL
Ivar T MaletJapanXuxue Feng PROPOSAL
Adams T CaudyRussiaStephen Shaw NEGOTIATION
Munro U CaudyUnited KingdomXuxue Feng NEGOTIATION
Jennifer P OstroskySpainAnna Fali PROPOSAL
Francesco T FerenczFranceStephen Shaw NEW
Aika B SaylorsFranceAmy Elsner NEW
Izzy L GauchoRussiaXuxue Feng UNQUALIFIED
Misaki R FerenczFranceXuxue Feng PROPOSAL
Deepesh B GillianCanadaXuxue Feng NEGOTIATION
Leon V SchemmerItalyOnyama Limba 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>