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
Kaitlin E RulapaughCanadaIoni Bowcher NEGOTIATION
Deepesh A IturbideIndiaXuxue Feng QUALIFIED
Ashley N BriddickSpainBernardo Dominic UNQUALIFIED
Jeanfrancois T FigeroaItalyIvan Magalhaes NEW
Jefferson Q GlickUnited KingdomAmy Elsner UNQUALIFIED
Jefferson P FollerRussiaOnyama Limba NEGOTIATION
Mujtaba T ShinkoRussiaIoni Bowcher NEGOTIATION
Costa M VenereUnited KingdomBernardo Dominic NEGOTIATION
Claire O StensethCanadaOnyama Limba UNQUALIFIED
Costa B NestleBrazilAsiya Javayant UNQUALIFIED
Ivar V IturbideSpainBernardo Dominic RENEWAL
Maisha J ShinkoUnited KingdomAmy Elsner PROPOSAL
Jeanfrancois C ChuiCanadaIvan Magalhaes QUALIFIED
Tony Q TollnerAustraliaElwin Sharvill NEGOTIATION
Murillo E ShinkoCanadaAnna Fali UNQUALIFIED
Cody O FigeroaFranceBernardo Dominic NEGOTIATION
Morrow N GauchoSpainAnna Fali NEGOTIATION
Claire U WhobreyItalyStephen Shaw NEGOTIATION
Wickens F CaldareraArgentinaAsiya Javayant RENEWAL
Kaitlin P NickaCanadaIoni Bowcher QUALIFIED
Juan K GauchoAustraliaIvan Magalhaes UNQUALIFIED
Stacey R GauchoFranceAmy Elsner UNQUALIFIED
Izzy Y NickaCanadaStephen Shaw NEGOTIATION
Antonio T BowleyUnited KingdomBernardo Dominic QUALIFIED
Aika D DilliardAustraliaBernardo Dominic QUALIFIED
Greenwood U PaprockiBrazilStephen Shaw NEW
Alejandro A PerinIndiaAmy Elsner RENEWAL
Mayumi T GillianBrazilXuxue Feng NEGOTIATION
Morrow Q AlbaresRussiaBernardo Dominic PROPOSAL
Johnson L OstroskyBrazilAnna Fali RENEWAL
Aika J AlbaresCanadaElwin Sharvill UNQUALIFIED
Wickens Q WaycottGermanyIvan Magalhaes QUALIFIED
Mujtaba K PaprockiJapanElwin Sharvill NEGOTIATION
Faith L AlbaresItalyIvan Magalhaes RENEWAL
Murillo K RoysterUnited KingdomAsiya Javayant PROPOSAL
David N InouyeBrazilElwin Sharvill RENEWAL
Costa Z AlbaresFranceAnna Fali NEW
Smith L ShinkoGermanyXuxue Feng UNQUALIFIED
Maisha A IturbideArgentinaIoni Bowcher NEW
Francesco I PaprockiIndiaAsiya Javayant PROPOSAL
Murillo G WhobreyItalyElwin Sharvill NEGOTIATION
Mujtaba S KolmetzFranceBernardo Dominic UNQUALIFIED
Ricardo R StockhamItalyAsiya Javayant QUALIFIED
Aruna U SergiAustraliaAsiya Javayant NEW
Wickens P GauchoUnited KingdomAnna Fali UNQUALIFIED
Francesco K VocelkaUnited KingdomBernardo Dominic NEGOTIATION
Cody V BowleyBrazilIvan Magalhaes QUALIFIED
Juan O CampainGermanyAsiya Javayant RENEWAL
Adams G GillianAustraliaXuxue Feng NEW
Kaitlin V GarufiArgentinaStephen Shaw RENEWAL
Horizontal
NameCountryRepresentativeStatus
Ashley O BriddickGermanyElwin Sharvill RENEWAL
Clifford J MaletRussiaXuxue Feng UNQUALIFIED
Alejandro I VocelkaCanadaIoni Bowcher QUALIFIED
Stacey W MaletRussiaStephen Shaw QUALIFIED
Isabel E KolmetzSpainStephen Shaw RENEWAL
Munro V RulapaughJapanIoni Bowcher PROPOSAL
Costa P DilliardFranceElwin Sharvill UNQUALIFIED
Kadeem X KolmetzItalyAsiya Javayant UNQUALIFIED
Cody K VocelkaGermanyBernardo Dominic RENEWAL
Nicolas Z RutaSpainOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James M PerinRussia2024-09-19Rousseaux, Michael Esq RENEWAL50Anna Fali
1001Aika F PoquetteAustralia2024-08-26Feiner Bros RENEWAL66Onyama Limba
1002Tony R KolmetzSpain2024-09-15Commercial Press NEW65Anna Fali
1003Greenwood X StensethArgentina2024-09-17Chanay, Jeffrey A Esq NEGOTIATION35Stephen Shaw
1004Maria W CampainFrance2024-09-08Dorl, James J Esq RENEWAL31Onyama Limba
1005Chavez L WaycottUnited Kingdom2024-09-04Chemel, James L Cpa RENEWAL75Xuxue Feng
1006Maisha Z RimRussia2024-08-30Rousseaux, Michael Esq NEW24Amy Elsner
1007Aditya T RimJapan2024-08-27Rousseaux, Michael Esq PROPOSAL12Stephen Shaw
1008Ivar Z AlbaresAustralia2024-09-01Chanay, Jeffrey A Esq RENEWAL26Xuxue Feng
1009Ricardo Z BowleyIndia2024-09-12Printing Dimensions RENEWAL13Amy Elsner
1010Salvatore M ChuiSpain2024-08-31Commercial Press QUALIFIED34Bernardo Dominic
1011Ivar Z FigeroaRussia2024-08-28Buckley Miller Wright NEGOTIATION74Amy Elsner
1012Arvin J FlosiBrazil2024-09-06Feltz Printing Service NEGOTIATION75Elwin Sharvill
1013Kadeem G MaletIndia2024-08-28Chapman, Ross E Esq QUALIFIED64Asiya Javayant
1014Izzy B PoquetteAustralia2024-09-14Benton, John B Jr RENEWAL55Elwin Sharvill
1015Isabel B ShinkoBrazil2024-08-30Chemel, James L Cpa RENEWAL71Amy Elsner
1016Jennifer Z NickaItaly2024-09-13Chemel, James L Cpa RENEWAL64Stephen Shaw
1017Arvin C GarufiSpain2024-09-02Feltz Printing Service NEGOTIATION83Bernardo Dominic
1018Leja T ButtBrazil2024-08-21Rousseaux, Michael Esq PROPOSAL44Anna Fali
1019Isabel B PerinFrance2024-09-12Feltz Printing Service RENEWAL80Bernardo Dominic
1020Juan P RimFrance2024-08-24Chanay, Jeffrey A Esq UNQUALIFIED3Asiya Javayant
1021Chavez D StensethSpain2024-09-04Rangoni Of Florence QUALIFIED3Anna Fali
1022Munro C PaprockiCanada2024-09-13Dorl, James J Esq RENEWAL47Anna Fali
1023Misaki A CaudyAustralia2024-09-02Rangoni Of Florence PROPOSAL52Bernardo Dominic
1024Cody S AmigonSpain2024-09-12Buckley Miller Wright QUALIFIED32Onyama Limba
1025Arvin A TollnerBrazil2024-09-04Feltz Printing Service NEGOTIATION15Asiya Javayant
1026Ashley P BologniaGermany2024-08-31Buckley Miller Wright NEW82Stephen Shaw
1027Morrow H StockhamItaly2024-09-10Chemel, James L Cpa PROPOSAL70Stephen Shaw
1028Smith V CaldareraIndia2024-09-17Chemel, James L Cpa QUALIFIED13Onyama Limba
1029Morrow O CampainBrazil2024-09-04Dorl, James J Esq UNQUALIFIED53Ivan Magalhaes
1030Darci E FollerUnited Kingdom2024-08-26Benton, John B Jr NEW96Anna Fali
1031Misaki H MaletRussia2024-09-06Dorl, James J Esq RENEWAL74Anna Fali
1032Arvin V GlickFrance2024-09-19Chanay, Jeffrey A Esq QUALIFIED80Onyama Limba
1033Tony L CampainAustralia2024-09-06Rangoni Of Florence PROPOSAL20Anna Fali
1034Claire O WieserItaly2024-08-27King, Christopher A Esq QUALIFIED99Elwin Sharvill
1035Emily T WaycottIndia2024-09-04Rousseaux, Michael Esq NEW23Stephen Shaw
1036Nicolas Q NickaGermany2024-08-30Chemel, James L Cpa NEGOTIATION67Anna Fali
1037Sinclair C SlusarskiCanada2024-09-06Rousseaux, Michael Esq QUALIFIED53Amy Elsner
1038Salvatore P MarrierGermany2024-09-05Chemel, James L Cpa PROPOSAL27Asiya Javayant
1039Ashley V GillianJapan2024-09-13Morlong Associates NEGOTIATION29Elwin Sharvill
1040Octavia I NestleItaly2024-08-31Chanay, Jeffrey A Esq NEW2Stephen Shaw
1041Claire K GlickUnited Kingdom2024-08-28Feltz Printing Service UNQUALIFIED23Onyama Limba
1042Rodrigues O PoquetteArgentina2024-08-31Commercial Press PROPOSAL82Stephen Shaw
1043Isabel U BriddickArgentina2024-09-14Feiner Bros QUALIFIED47Ivan Magalhaes
1044Julie E CampainRussia2024-08-31Printing Dimensions UNQUALIFIED89Elwin Sharvill
1045Mujtaba N FlosiArgentina2024-09-15Feiner Bros UNQUALIFIED42Elwin Sharvill
1046Stacey B BowleyCanada2024-08-28Rousseaux, Michael Esq NEW0Amy Elsner
1047Jennifer Y ShinkoAustralia2024-09-07King, Christopher A Esq RENEWAL27Bernardo Dominic
1048Cody Y MaletJapan2024-09-14Chemel, James L Cpa QUALIFIED88Anna Fali
1049Clifford Q SlusarskiRussia2024-09-04Rousseaux, Michael Esq QUALIFIED52Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jennifer A CaudyGermanyIoni Bowcher QUALIFIED
Cody J FigeroaJapanOnyama Limba NEW
Morrow O DoeRussiaAsiya Javayant NEW
Stacey H PoquetteAustraliaStephen Shaw NEW
Faith F CampainArgentinaOnyama Limba NEGOTIATION
Aditya V PaprockiBrazilIoni Bowcher PROPOSAL
Julie X InouyeCanadaIvan Magalhaes UNQUALIFIED
Antonio C CaldareraFranceIvan Magalhaes PROPOSAL
Maisha M GillianAustraliaBernardo Dominic NEW
Cody Q ChuiUnited KingdomOnyama Limba UNQUALIFIED
David A GillianIndiaIoni Bowcher QUALIFIED
Juan D CaudyUnited KingdomAmy Elsner PROPOSAL
Maisha A MorascaRussiaIvan Magalhaes PROPOSAL
Aruna E CaudyIndiaOnyama Limba NEW
Tony S NickaAustraliaAmy Elsner PROPOSAL
Clifford Y RulapaughAustraliaOnyama Limba QUALIFIED
Silvio X ButtFranceBernardo Dominic UNQUALIFIED
Cody B FollerIndiaAmy Elsner QUALIFIED
Smith P RutaJapanIoni Bowcher UNQUALIFIED
Greenwood W GarufiFranceAmy Elsner UNQUALIFIED
Faith Y KuskoAustraliaOnyama Limba UNQUALIFIED
Jefferson X OldroydSpainIvan Magalhaes PROPOSAL
Aruna B SlusarskiItalyIoni Bowcher RENEWAL
Francesco K FlosiJapanXuxue Feng RENEWAL
Alejandro E PoquetteJapanIvan Magalhaes PROPOSAL
Aika N OstroskySpainOnyama Limba NEW
Jones F RulapaughBrazilStephen Shaw RENEWAL
Julie Z RulapaughUnited KingdomStephen Shaw NEW
Izzy E WieserUnited KingdomElwin Sharvill QUALIFIED
Costa E GlickArgentinaOnyama Limba UNQUALIFIED
Silvio O OstroskyIndiaBernardo Dominic NEGOTIATION
Ricardo I ShinkoArgentinaBernardo Dominic PROPOSAL
Isabel J MaletItalyIoni Bowcher PROPOSAL
Arvin M SaylorsBrazilIoni Bowcher NEW
Morrow M SaylorsArgentinaElwin Sharvill PROPOSAL
Adams R DoeBrazilBernardo Dominic QUALIFIED
Claire S StensethUnited KingdomOnyama Limba NEW
Morrow K NestleBrazilAmy Elsner QUALIFIED
Greenwood D KuskoCanadaAmy Elsner NEW
Leon X PoquetteGermanyXuxue Feng QUALIFIED
Maisha K SlusarskiUnited KingdomAnna Fali RENEWAL
Jones Z WhobreyIndiaOnyama Limba UNQUALIFIED
Kadeem A MaletArgentinaStephen Shaw NEW
Silvio O BologniaFranceStephen Shaw QUALIFIED
James Z BologniaIndiaBernardo Dominic PROPOSAL
Sinclair Y NestleAustraliaIvan Magalhaes RENEWAL
Julie A AmigonIndiaIoni Bowcher PROPOSAL
Izzy N OldroydFranceBernardo Dominic PROPOSAL
Sinclair K WhobreyJapanOnyama Limba RENEWAL
Maria S RoysterUnited KingdomOnyama Limba NEGOTIATION
Frozen Columns
Name
Tony S Garufi
Sinclair F Briddick
Deepesh H Darakjy
Costa Z Bowley
Darci V Gillian
Izzy V Garufi
Izzy T Schemmer
Nicolas B Ruta
Leon D Poquette
Munro U Nestle
Nicolas A Inouye
Ricardo I Bolognia
Stacey P Caldarera
Munro E Nicka
Jennifer G Caudy
Clifford K Waycott
Maria A Caldarera
Cody S Shinko
Adams S Garufi
Maisha F Malet
Arvin G Marrier
Ivar P Foller
Silvio O Briddick
Maisha R Iturbide
Sinclair F Albares
James I Rulapaugh
Ivar O Caudy
Mayumi B Stockham
Silvio Q Rim
Stacey N Rim
Jones E Stockham
Stacey H Bowley
Kadeem K Nicka
Misaki U Darakjy
Aruna U Bolognia
Leon S Amigon
Alejandro E Kusko
James O Caldarera
Julie A Royster
Silvio Q Poquette
Greenwood L Gaucho
Adams F Malet
Greenwood Z Caldarera
Deepesh T Whobrey
Aruna S Foller
Smith L Shinko
Murillo G Shinko
Darci R Garufi
Maisha E Glick
James E Inouye
IdCountryDate
1000Germany2024-08-31
1001Australia2024-09-06
1002Japan2024-09-14
1003Italy2024-09-05
1004Australia2024-09-03
1005Italy2024-08-25
1006Germany2024-08-22
1007India2024-09-14
1008Brazil2024-09-08
1009Australia2024-08-23
1010Italy2024-09-10
1011Italy2024-09-12
1012Japan2024-08-25
1013Australia2024-09-08
1014Spain2024-09-09
1015Brazil2024-08-25
1016Spain2024-08-21
1017Argentina2024-09-02
1018United Kingdom2024-09-09
1019Canada2024-09-06
1020Spain2024-08-25
1021France2024-09-17
1022Australia2024-08-24
1023India2024-09-08
1024Germany2024-09-09
1025Canada2024-09-03
1026Brazil2024-09-08
1027Japan2024-09-05
1028Italy2024-09-08
1029Russia2024-09-14
1030United Kingdom2024-09-05
1031Brazil2024-09-05
1032United Kingdom2024-08-30
1033India2024-09-11
1034Italy2024-09-13
1035Russia2024-08-31
1036Japan2024-09-17
1037Canada2024-09-14
1038India2024-09-13
1039France2024-09-15
1040Spain2024-09-11
1041United Kingdom2024-09-17
1042Russia2024-09-14
1043Brazil2024-09-16
1044Russia2024-09-02
1045Australia2024-09-13
1046Canada2024-08-24
1047Canada2024-08-31
1048France2024-08-31
1049Italy2024-08-29

On-Demand Data

NameIdCountryDate
Clifford S Waycott1000Japan2024-08-30
Murillo P Royster1001Germany2024-09-05
Kadeem G Ferencz1002Australia2024-08-28
Wickens Y Bolognia1003India2024-08-25
Aruna G Slusarski1004Spain2024-09-15
Kadeem U Saylors1005Germany2024-09-02
Morrow C Stockham1006Russia2024-09-17
Claire B Morasca1007Australia2024-08-26
Aditya D Caldarera1008France2024-09-17
Claire I Stenseth1009Italy2024-08-25
Arvin K Ruta1010Argentina2024-09-06
Claire Q Ostrosky1011Canada2024-08-26
Emily L Gaucho1012Canada2024-09-19
Nicolas F Dilliard1013Australia2024-09-04
Chavez N Bowley1014Brazil2024-09-01
Greenwood Z Foller1015Germany2024-09-06
Wickens B Royster1016Russia2024-09-18
Clifford Z Ruta1017France2024-08-27
Emily Q Darakjy1018Germany2024-08-24
Alejandro E Rim1019Germany2024-08-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya W CaldareraFranceOnyama Limba PROPOSAL
Greenwood Q GauchoArgentinaAmy Elsner RENEWAL
Salvatore O SchemmerAustraliaIoni Bowcher QUALIFIED
Smith E KuskoArgentinaAmy Elsner PROPOSAL
Julie C SergiJapanStephen Shaw NEGOTIATION
Nicolas R AmigonUnited KingdomAsiya Javayant QUALIFIED
Salvatore Y WaycottAustraliaAmy Elsner PROPOSAL
Leon V KuskoArgentinaAmy Elsner PROPOSAL
Ivar Z PaprockiSpainElwin Sharvill RENEWAL
Wickens R BriddickGermanyOnyama Limba PROPOSAL
Mujtaba T RimIndiaIvan Magalhaes QUALIFIED
Morrow Q ButtCanadaAmy Elsner PROPOSAL
Jefferson B DarakjyArgentinaBernardo Dominic UNQUALIFIED
Octavia C GlickItalyIoni Bowcher NEGOTIATION
Stacey I FollerRussiaStephen Shaw NEW
Faith B NickaSpainBernardo Dominic QUALIFIED
Isabel L RulapaughCanadaAmy Elsner PROPOSAL
Alejandro S SergiUnited KingdomIoni Bowcher UNQUALIFIED
Kadeem P MacleadAustraliaAmy Elsner NEGOTIATION
Ricardo C BologniaArgentinaAnna Fali RENEWAL
Leja G AlbaresArgentinaAsiya Javayant RENEWAL
Kaitlin R NickaGermanyXuxue Feng UNQUALIFIED
Kaitlin R SchemmerArgentinaElwin Sharvill NEGOTIATION
Juan Y AlbaresSpainStephen Shaw QUALIFIED
Maria T SaylorsUnited KingdomIvan Magalhaes QUALIFIED
Maria U WhobreyRussiaElwin Sharvill RENEWAL
Cody S TollnerBrazilAnna Fali NEW
Julie O CaldareraFranceXuxue Feng NEW
Ricardo V SlusarskiGermanyIoni Bowcher NEW
Aika Y MacleadIndiaBernardo Dominic QUALIFIED
Izzy M AlbaresBrazilIvan Magalhaes UNQUALIFIED
Aika E StensethBrazilElwin Sharvill NEW
Mujtaba D OstroskyGermanyBernardo Dominic NEW
Leon B InouyeUnited KingdomBernardo Dominic NEW
Chavez X TollnerUnited KingdomOnyama Limba PROPOSAL
Salvatore F MaletItalyAnna Fali NEW
Leja F KuskoRussiaBernardo Dominic UNQUALIFIED
Kadeem D BologniaArgentinaIoni Bowcher PROPOSAL
James J VocelkaSpainAnna Fali QUALIFIED
Kaitlin S SlusarskiSpainAsiya Javayant 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>