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 V OldroydUnited KingdomOnyama Limba RENEWAL
Faith D GauchoArgentinaIvan Magalhaes QUALIFIED
Antonio K TollnerSpainAnna Fali UNQUALIFIED
Kadeem A MorascaUnited KingdomElwin Sharvill NEGOTIATION
Munro L GlickSpainBernardo Dominic NEGOTIATION
Kadeem O BriddickArgentinaAsiya Javayant NEW
Murillo Q SaylorsJapanStephen Shaw RENEWAL
Jeanfrancois K MorascaRussiaBernardo Dominic PROPOSAL
Claire S ButtSpainOnyama Limba PROPOSAL
Izzy W TollnerSpainOnyama Limba NEW
Darci V GarufiUnited KingdomStephen Shaw UNQUALIFIED
Alejandro B SergiCanadaAnna Fali PROPOSAL
Leon G BriddickFranceIoni Bowcher NEW
Smith Q BologniaIndiaAmy Elsner PROPOSAL
Wickens J VenereUnited KingdomIoni Bowcher RENEWAL
Maria R GarufiRussiaAmy Elsner NEGOTIATION
Greenwood I SaylorsCanadaBernardo Dominic UNQUALIFIED
Leja W DoeJapanIvan Magalhaes QUALIFIED
David G VenereAustraliaBernardo Dominic NEGOTIATION
Faith U PoquetteCanadaOnyama Limba RENEWAL
Murillo D GillianCanadaIvan Magalhaes RENEWAL
Jefferson S SlusarskiFranceBernardo Dominic NEW
Sinclair M RoysterUnited KingdomElwin Sharvill QUALIFIED
Aruna C SergiUnited KingdomAmy Elsner QUALIFIED
Faith G AlbaresFranceElwin Sharvill UNQUALIFIED
Faith B PoquetteGermanyIoni Bowcher NEW
Ashley B DarakjyAustraliaElwin Sharvill RENEWAL
Leon E MorascaArgentinaOnyama Limba QUALIFIED
Stacey E CaldareraSpainAmy Elsner QUALIFIED
Smith Q SaylorsCanadaElwin Sharvill UNQUALIFIED
David E MarrierItalyIoni Bowcher RENEWAL
Jones S FigeroaRussiaOnyama Limba NEW
Francesco Q DilliardSpainElwin Sharvill PROPOSAL
Jeanfrancois U MarrierRussiaIvan Magalhaes PROPOSAL
Morrow X PaprockiSpainAsiya Javayant NEW
Wickens Z OldroydAustraliaElwin Sharvill PROPOSAL
Aruna H KuskoRussiaAmy Elsner PROPOSAL
Darci Q FollerAustraliaAmy Elsner RENEWAL
Darci Y MaletAustraliaIvan Magalhaes RENEWAL
Kaitlin B SchemmerBrazilOnyama Limba NEGOTIATION
Clifford V SchemmerItalyOnyama Limba UNQUALIFIED
Johnson Q KolmetzAustraliaIoni Bowcher RENEWAL
Jennifer W PerinArgentinaAsiya Javayant RENEWAL
Smith I BowleyGermanyAsiya Javayant NEW
Julie X RulapaughCanadaElwin Sharvill RENEWAL
Ricardo O FigeroaArgentinaOnyama Limba UNQUALIFIED
Jennifer T ShinkoUnited KingdomIoni Bowcher UNQUALIFIED
Isabel Q SchemmerAustraliaIoni Bowcher NEGOTIATION
Murillo C FlosiCanadaAnna Fali QUALIFIED
Leja Q RulapaughAustraliaXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Izzy Z RimUnited KingdomOnyama Limba PROPOSAL
Stacey X CaldareraAustraliaAnna Fali UNQUALIFIED
Mayumi V NestleAustraliaIoni Bowcher PROPOSAL
Johnson F SlusarskiArgentinaOnyama Limba NEGOTIATION
Munro C MacleadAustraliaOnyama Limba QUALIFIED
Mayumi Z KuskoGermanyAsiya Javayant UNQUALIFIED
Aruna Q ButtIndiaIvan Magalhaes UNQUALIFIED
Adams W KolmetzCanadaAmy Elsner NEW
Nicolas M TollnerGermanyAsiya Javayant NEGOTIATION
Leja B DilliardItalyStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika B TollnerJapan2024-06-02Feltz Printing Service UNQUALIFIED98Ivan Magalhaes
1001Kaitlin S BowleyFrance2024-06-13Chemel, James L Cpa NEGOTIATION8Anna Fali
1002Murillo T SchemmerRussia2024-06-14Feiner Bros NEGOTIATION58Anna Fali
1003Ricardo Q SaylorsGermany2024-06-20Benton, John B Jr QUALIFIED77Onyama Limba
1004Ricardo O RulapaughGermany2024-06-20Feiner Bros UNQUALIFIED75Asiya Javayant
1005Izzy M AlbaresUnited Kingdom2024-06-07Printing Dimensions UNQUALIFIED29Ioni Bowcher
1006Ricardo P AmigonAustralia2024-06-14Benton, John B Jr NEGOTIATION88Ioni Bowcher
1007Smith K GillianUnited Kingdom2024-06-03Rangoni Of Florence UNQUALIFIED58Asiya Javayant
1008Ashley K CampainSpain2024-06-13Chemel, James L Cpa NEGOTIATION33Onyama Limba
1009Izzy O MacleadItaly2024-06-16Feiner Bros NEGOTIATION73Ivan Magalhaes
1010Cody Q FerenczFrance2024-06-22King, Christopher A Esq UNQUALIFIED56Amy Elsner
1011James N CaldareraIndia2024-06-12Rousseaux, Michael Esq QUALIFIED96Ioni Bowcher
1012Kaitlin U MacleadUnited Kingdom2024-05-27Morlong Associates UNQUALIFIED81Bernardo Dominic
1013Ashley Y MarrierFrance2024-06-17Rousseaux, Michael Esq QUALIFIED13Bernardo Dominic
1014Costa N RulapaughBrazil2024-05-31Buckley Miller Wright RENEWAL19Amy Elsner
1015Mayumi T CaudyAustralia2024-06-01King, Christopher A Esq NEGOTIATION27Elwin Sharvill
1016Claire J RimAustralia2024-06-16Benton, John B Jr PROPOSAL75Xuxue Feng
1017Deepesh T SergiArgentina2024-05-29Rousseaux, Michael Esq UNQUALIFIED52Anna Fali
1018Faith A InouyeJapan2024-06-06Benton, John B Jr QUALIFIED97Asiya Javayant
1019Julie U NestleUnited Kingdom2024-05-28King, Christopher A Esq QUALIFIED73Asiya Javayant
1020Salvatore N PaprockiBrazil2024-06-15Morlong Associates UNQUALIFIED49Ioni Bowcher
1021Ashley Y DoeIndia2024-06-21Chanay, Jeffrey A Esq PROPOSAL54Ioni Bowcher
1022Kaitlin V PoquetteItaly2024-06-04King, Christopher A Esq RENEWAL18Ivan Magalhaes
1023Aruna X SchemmerUnited Kingdom2024-05-29Dorl, James J Esq UNQUALIFIED42Xuxue Feng
1024Jones S MorascaRussia2024-06-09Commercial Press NEW47Bernardo Dominic
1025Costa Y NickaItaly2024-06-01Chemel, James L Cpa NEW6Asiya Javayant
1026Clifford J MarrierIndia2024-05-27Buckley Miller Wright NEGOTIATION18Amy Elsner
1027Jennifer L FollerGermany2024-06-13Rousseaux, Michael Esq UNQUALIFIED56Xuxue Feng
1028Kaitlin F DarakjyArgentina2024-06-07Chapman, Ross E Esq NEW16Ivan Magalhaes
1029Leon J RutaItaly2024-06-09Morlong Associates UNQUALIFIED34Anna Fali
1030Jefferson T VenereUnited Kingdom2024-06-17Feiner Bros QUALIFIED75Bernardo Dominic
1031Leon Y DilliardCanada2024-06-03Feiner Bros QUALIFIED67Amy Elsner
1032Costa W FollerSpain2024-06-08Dorl, James J Esq PROPOSAL41Ioni Bowcher
1033Morrow Y ButtFrance2024-06-21King, Christopher A Esq NEGOTIATION29Asiya Javayant
1034Sinclair E CaldareraBrazil2024-06-11Chemel, James L Cpa NEGOTIATION20Anna Fali
1035Wickens L IturbideBrazil2024-06-08Chemel, James L Cpa RENEWAL0Elwin Sharvill
1036Nicolas F TollnerRussia2024-05-29Printing Dimensions RENEWAL98Anna Fali
1037Leja D VenereGermany2024-06-06Buckley Miller Wright NEW10Ioni Bowcher
1038Faith T CaudyBrazil2024-06-13Chemel, James L Cpa UNQUALIFIED64Bernardo Dominic
1039Alejandro Q WieserArgentina2024-06-06Dorl, James J Esq NEW18Asiya Javayant
1040Misaki K MacleadItaly2024-06-22King, Christopher A Esq QUALIFIED5Xuxue Feng
1041Aika D WhobreyArgentina2024-06-20Rousseaux, Michael Esq QUALIFIED34Xuxue Feng
1042Alejandro J GillianFrance2024-06-14Rousseaux, Michael Esq NEW49Amy Elsner
1043Mayumi C GauchoItaly2024-06-12Chemel, James L Cpa NEGOTIATION14Onyama Limba
1044Jennifer N SaylorsUnited Kingdom2024-06-14Rangoni Of Florence QUALIFIED50Asiya Javayant
1045Kadeem E PoquetteAustralia2024-06-05Chemel, James L Cpa NEW93Elwin Sharvill
1046Ivar P MorascaCanada2024-06-23Printing Dimensions NEGOTIATION2Bernardo Dominic
1047Juan T MacleadUnited Kingdom2024-06-20Feiner Bros PROPOSAL80Asiya Javayant
1048Ashley U TollnerBrazil2024-06-09Commercial Press RENEWAL4Anna Fali
1049David Z RoysterAustralia2024-05-31Commercial Press UNQUALIFIED18Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Deepesh J MacleadJapanXuxue Feng UNQUALIFIED
Ashley M PoquetteArgentinaBernardo Dominic QUALIFIED
Aditya E StensethJapanStephen Shaw QUALIFIED
Ivar H WieserIndiaIvan Magalhaes RENEWAL
Stacey B ButtFranceElwin Sharvill NEW
Stacey C OstroskySpainAnna Fali PROPOSAL
Aruna D VenereRussiaElwin Sharvill UNQUALIFIED
Aditya G TollnerUnited KingdomXuxue Feng QUALIFIED
Mujtaba Z OstroskyIndiaBernardo Dominic NEW
Alejandro Z BriddickJapanStephen Shaw PROPOSAL
Jeanfrancois B InouyeArgentinaAmy Elsner QUALIFIED
Ashley M FerenczArgentinaBernardo Dominic NEW
Julie Y BowleyAustraliaIvan Magalhaes NEW
Chavez W IturbideFranceAsiya Javayant PROPOSAL
Jeanfrancois D AlbaresBrazilIvan Magalhaes PROPOSAL
Wickens P ShinkoArgentinaXuxue Feng NEGOTIATION
Kadeem N CampainRussiaAsiya Javayant RENEWAL
Alejandro C FerenczFranceAsiya Javayant NEW
Kaitlin S FerenczSpainIoni Bowcher QUALIFIED
Silvio K FlosiJapanStephen Shaw RENEWAL
Maisha E IturbideBrazilIoni Bowcher RENEWAL
Aditya A FigeroaUnited KingdomStephen Shaw PROPOSAL
Greenwood C ButtSpainAsiya Javayant NEGOTIATION
Aditya H VocelkaUnited KingdomIvan Magalhaes RENEWAL
Misaki M ShinkoGermanyOnyama Limba NEW
Jennifer W MacleadGermanyIoni Bowcher PROPOSAL
Maisha X GarufiBrazilAnna Fali PROPOSAL
Francesco S OstroskyFranceXuxue Feng PROPOSAL
Sinclair L SchemmerBrazilAmy Elsner NEW
Jefferson U SaylorsItalyStephen Shaw QUALIFIED
Stacey L RimAustraliaAmy Elsner QUALIFIED
Arvin T RulapaughFranceXuxue Feng RENEWAL
Jeanfrancois T InouyeRussiaOnyama Limba NEW
Aika X OstroskyUnited KingdomAnna Fali QUALIFIED
Jefferson R DilliardGermanyAsiya Javayant RENEWAL
Murillo T SchemmerFranceAmy Elsner NEGOTIATION
Stacey H SlusarskiIndiaStephen Shaw PROPOSAL
Julie M AlbaresAustraliaStephen Shaw NEGOTIATION
Ashley X DoeIndiaElwin Sharvill NEGOTIATION
Morrow B RulapaughIndiaAnna Fali NEW
Aruna S GauchoJapanIoni Bowcher UNQUALIFIED
Emily J ButtBrazilAmy Elsner PROPOSAL
Leon B DoeFranceAmy Elsner NEW
Salvatore W GarufiItalyStephen Shaw RENEWAL
Sinclair T BowleyCanadaAmy Elsner NEGOTIATION
Jeanfrancois A OstroskyCanadaOnyama Limba NEW
Ivar O MaletFranceAsiya Javayant NEW
Julie F MarrierAustraliaBernardo Dominic NEGOTIATION
James Q FigeroaCanadaBernardo Dominic PROPOSAL
Costa T BowleyItalyElwin Sharvill QUALIFIED
Frozen Columns
Name
Rodrigues X Caldarera
Mayumi I Slusarski
Octavia E Darakjy
Salvatore N Doe
Alejandro J Nestle
Deepesh N Iturbide
Murillo C Glick
Claire O Caudy
Johnson H Perin
Octavia Q Bolognia
Sinclair B Rulapaugh
Misaki P Flosi
Aditya D Rim
Izzy M Perin
Wickens S Figeroa
Johnson L Nicka
James W Marrier
Kadeem S Morasca
Francesco N Tollner
Rodrigues U Darakjy
Aika M Wieser
Leon K Briddick
Ivar B Inouye
Claire J Ferencz
Deepesh I Kolmetz
Kaitlin Y Ruta
David E Kusko
Morrow C Malet
Emily V Maclead
Aditya C Caudy
Ricardo T Doe
Munro Z Venere
Salvatore H Wieser
Greenwood H Nestle
Jones W Tollner
Emily R Waycott
Cody V Venere
Octavia U Chui
Johnson Y Kolmetz
Jeanfrancois M Vocelka
Maisha E Wieser
Isabel E Malet
Aditya Z Sergi
Alejandro R Kusko
Darci Y Waycott
Wickens I Whobrey
Julie S Stockham
Wickens H Morasca
Juan E Darakjy
Maisha R Chui
IdCountryDate
1000India2024-06-20
1001India2024-06-08
1002Australia2024-06-20
1003Canada2024-06-08
1004France2024-06-01
1005Germany2024-06-23
1006India2024-06-10
1007India2024-06-19
1008Argentina2024-06-07
1009Canada2024-06-02
1010Russia2024-06-02
1011Germany2024-06-12
1012Russia2024-06-20
1013Italy2024-06-22
1014Brazil2024-06-17
1015India2024-05-27
1016India2024-06-11
1017Italy2024-06-06
1018India2024-06-23
1019Italy2024-06-11
1020Spain2024-06-23
1021Australia2024-06-13
1022Germany2024-06-05
1023India2024-06-01
1024Argentina2024-06-04
1025India2024-06-16
1026Australia2024-06-02
1027United Kingdom2024-05-26
1028Italy2024-06-22
1029India2024-06-01
1030Germany2024-06-20
1031Canada2024-06-05
1032Russia2024-06-02
1033Australia2024-05-31
1034Spain2024-05-26
1035United Kingdom2024-05-26
1036India2024-06-02
1037Spain2024-06-01
1038Brazil2024-05-31
1039Germany2024-05-27
1040Italy2024-06-08
1041India2024-06-24
1042Russia2024-05-26
1043India2024-05-28
1044Australia2024-06-15
1045France2024-06-18
1046Argentina2024-06-04
1047Russia2024-06-10
1048France2024-06-23
1049Germany2024-05-26

On-Demand Data

NameIdCountryDate
Faith N Malet1000Japan2024-06-08
Misaki E Foller1001Russia2024-06-12
Cody B Ostrosky1002France2024-06-06
Francesco A Gaucho1003France2024-05-30
Misaki F Ferencz1004India2024-06-21
Kadeem P Caldarera1005Germany2024-06-12
Greenwood L Marrier1006Germany2024-05-29
Morrow V Caldarera1007Japan2024-06-19
Johnson B Marrier1008Japan2024-06-18
Claire V Albares1009Spain2024-06-06
Smith Q Paprocki1010Germany2024-06-03
Francesco B Gillian1011Brazil2024-06-23
Cody S Wieser1012Spain2024-05-26
Murillo L Slusarski1013India2024-05-26
Wickens X Figeroa1014United Kingdom2024-05-31
Stacey D Malet1015United Kingdom2024-06-19
Julie H Caudy1016Brazil2024-06-03
Aika D Chui1017Canada2024-06-09
Greenwood U Poquette1018Canada2024-06-12
Francesco E Darakjy1019Italy2024-06-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow N MarrierIndiaAsiya Javayant PROPOSAL
Kaitlin G SchemmerSpainAmy Elsner NEW
Emily H StockhamFranceStephen Shaw UNQUALIFIED
Aruna K BriddickCanadaOnyama Limba NEGOTIATION
Sinclair P MaletCanadaAmy Elsner UNQUALIFIED
Chavez Z MaletIndiaAsiya Javayant NEW
Maria E BowleyItalyStephen Shaw UNQUALIFIED
Munro S PaprockiBrazilAsiya Javayant UNQUALIFIED
Maisha R OstroskyFranceAmy Elsner NEW
Jefferson Y GlickBrazilAmy Elsner UNQUALIFIED
Deepesh D SaylorsItalyAnna Fali NEW
Jefferson W PaprockiBrazilBernardo Dominic NEW
Greenwood X GlickUnited KingdomElwin Sharvill NEW
Kaitlin X SaylorsRussiaIvan Magalhaes RENEWAL
Silvio J RulapaughJapanBernardo Dominic UNQUALIFIED
Chavez P RimItalyXuxue Feng RENEWAL
Greenwood Z PoquetteArgentinaOnyama Limba UNQUALIFIED
Nicolas A AlbaresJapanAmy Elsner NEGOTIATION
Jefferson D OldroydIndiaElwin Sharvill PROPOSAL
Deepesh Z MaletGermanyAmy Elsner PROPOSAL
Cody P WhobreyRussiaOnyama Limba UNQUALIFIED
David R GlickIndiaBernardo Dominic UNQUALIFIED
Nicolas A FlosiArgentinaXuxue Feng NEW
Johnson L StensethSpainElwin Sharvill QUALIFIED
Leja J PoquetteItalyIvan Magalhaes NEGOTIATION
Jeanfrancois W FollerRussiaOnyama Limba RENEWAL
Cody R GauchoAustraliaAnna Fali RENEWAL
Claire P DoeIndiaAnna Fali RENEWAL
Clifford W RimSpainXuxue Feng NEW
Adams B RulapaughSpainXuxue Feng NEGOTIATION
Chavez K SlusarskiAustraliaIvan Magalhaes NEGOTIATION
Faith S IturbideItalyStephen Shaw NEW
Claire F GarufiRussiaOnyama Limba UNQUALIFIED
Rodrigues N StockhamArgentinaBernardo Dominic QUALIFIED
Chavez S MarrierArgentinaIvan Magalhaes QUALIFIED
Greenwood U RoysterBrazilElwin Sharvill NEGOTIATION
Aika R FlosiFranceAmy Elsner RENEWAL
Antonio A MacleadSpainAnna Fali QUALIFIED
Francesco Q CaldareraFranceXuxue Feng RENEWAL
Izzy L FigeroaAustraliaStephen 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>