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
Mayumi L BowleyBrazilAnna Fali NEGOTIATION
Juan J NestleGermanyAsiya Javayant NEGOTIATION
Juan N RulapaughFranceAnna Fali NEGOTIATION
Antonio D DarakjyGermanyOnyama Limba UNQUALIFIED
Costa C AlbaresArgentinaAsiya Javayant NEW
Mayumi B MacleadGermanyBernardo Dominic RENEWAL
Izzy L GillianItalyStephen Shaw NEW
Jones W ButtJapanElwin Sharvill RENEWAL
Jennifer K FerenczBrazilAmy Elsner RENEWAL
Tony Q MorascaBrazilOnyama Limba QUALIFIED
Aditya J InouyeGermanyAnna Fali QUALIFIED
Tony L OldroydCanadaStephen Shaw UNQUALIFIED
Jeanfrancois D MaletRussiaXuxue Feng NEW
Salvatore C PaprockiRussiaBernardo Dominic PROPOSAL
Alejandro A CaldareraJapanOnyama Limba NEW
Sinclair P RimArgentinaBernardo Dominic QUALIFIED
Antonio W MacleadFranceStephen Shaw QUALIFIED
Aruna H PoquetteBrazilIoni Bowcher NEGOTIATION
Ivar R VocelkaBrazilAnna Fali UNQUALIFIED
Smith Q FigeroaAustraliaOnyama Limba PROPOSAL
Tony M RimRussiaIvan Magalhaes QUALIFIED
Rodrigues F OldroydCanadaBernardo Dominic UNQUALIFIED
Cody G SergiBrazilAsiya Javayant PROPOSAL
Jones S PerinArgentinaAnna Fali NEW
Tony V NickaItalyIoni Bowcher PROPOSAL
Munro O RoysterCanadaOnyama Limba NEGOTIATION
Kadeem H DarakjyItalyXuxue Feng UNQUALIFIED
Aditya Z SaylorsSpainElwin Sharvill QUALIFIED
Greenwood I DilliardItalyXuxue Feng UNQUALIFIED
Morrow C WhobreyBrazilIoni Bowcher QUALIFIED
Munro A GillianIndiaAsiya Javayant PROPOSAL
Maria V TollnerCanadaXuxue Feng QUALIFIED
Arvin Q PoquetteRussiaIoni Bowcher QUALIFIED
Juan D BowleyGermanyElwin Sharvill NEW
Deepesh P GarufiRussiaElwin Sharvill RENEWAL
Arvin I GarufiItalyBernardo Dominic NEGOTIATION
Faith I WhobreyAustraliaIvan Magalhaes UNQUALIFIED
Munro R StockhamRussiaAsiya Javayant QUALIFIED
Tony C RoysterGermanyElwin Sharvill PROPOSAL
Kadeem R GarufiCanadaAnna Fali QUALIFIED
Wickens R SergiBrazilXuxue Feng PROPOSAL
Octavia A RulapaughSpainElwin Sharvill NEW
Salvatore X ChuiFranceOnyama Limba RENEWAL
Octavia Z ShinkoGermanyStephen Shaw PROPOSAL
Deepesh E SlusarskiItalyOnyama Limba UNQUALIFIED
Antonio V IturbideJapanAsiya Javayant UNQUALIFIED
Salvatore U GauchoCanadaStephen Shaw NEGOTIATION
Jefferson G MaletSpainAnna Fali RENEWAL
Murillo G WaycottSpainXuxue Feng RENEWAL
Leon X ChuiGermanyIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Ivar E DilliardBrazilXuxue Feng QUALIFIED
Ivar E SergiArgentinaAsiya Javayant PROPOSAL
Ashley O MacleadArgentinaAnna Fali PROPOSAL
Izzy K GauchoIndiaOnyama Limba UNQUALIFIED
Nicolas T DilliardCanadaAsiya Javayant UNQUALIFIED
Costa U RutaArgentinaXuxue Feng NEGOTIATION
Greenwood D RulapaughRussiaXuxue Feng QUALIFIED
Ricardo B SaylorsGermanyBernardo Dominic NEW
Murillo J WieserAustraliaOnyama Limba RENEWAL
Greenwood Y CampainItalyElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba L RoysterRussia2024-06-07Chemel, James L Cpa NEGOTIATION18Ivan Magalhaes
1001Mayumi I SaylorsSpain2024-05-25Buckley Miller Wright PROPOSAL31Asiya Javayant
1002Arvin A AlbaresFrance2024-05-26Rousseaux, Michael Esq RENEWAL21Xuxue Feng
1003Jones H PaprockiJapan2024-05-18Dorl, James J Esq NEGOTIATION43Asiya Javayant
1004Mujtaba Y CampainItaly2024-05-18Feltz Printing Service UNQUALIFIED28Bernardo Dominic
1005Ricardo Y KolmetzUnited Kingdom2024-05-26Rangoni Of Florence NEW40Stephen Shaw
1006Rodrigues O NestleItaly2024-05-31Truhlar And Truhlar Attys PROPOSAL89Stephen Shaw
1007Leja P CaldareraGermany2024-06-06Chemel, James L Cpa RENEWAL4Ivan Magalhaes
1008Jeanfrancois Z DilliardGermany2024-05-18Feiner Bros RENEWAL75Xuxue Feng
1009Chavez G PerinItaly2024-06-07Truhlar And Truhlar Attys NEGOTIATION43Amy Elsner
1010Darci A RutaJapan2024-05-26Buckley Miller Wright QUALIFIED72Onyama Limba
1011Morrow W TollnerFrance2024-05-20Morlong Associates NEGOTIATION47Amy Elsner
1012Juan U StensethItaly2024-06-14Rousseaux, Michael Esq NEGOTIATION20Onyama Limba
1013Ricardo X OstroskyRussia2024-05-25Commercial Press NEGOTIATION68Bernardo Dominic
1014Silvio G DilliardItaly2024-06-08Dorl, James J Esq RENEWAL90Amy Elsner
1015Antonio R MacleadItaly2024-06-14Benton, John B Jr PROPOSAL22Anna Fali
1016Morrow S TollnerIndia2024-06-04Buckley Miller Wright PROPOSAL83Bernardo Dominic
1017James B FigeroaGermany2024-06-07Rangoni Of Florence PROPOSAL67Anna Fali
1018Faith U VenereBrazil2024-05-22Printing Dimensions QUALIFIED22Stephen Shaw
1019Murillo R FerenczCanada2024-05-20Commercial Press UNQUALIFIED9Amy Elsner
1020Aditya Z FigeroaRussia2024-05-16Chapman, Ross E Esq UNQUALIFIED10Ivan Magalhaes
1021Clifford X MarrierGermany2024-06-06Rangoni Of Florence RENEWAL66Xuxue Feng
1022Faith V CaldareraUnited Kingdom2024-05-25King, Christopher A Esq RENEWAL70Amy Elsner
1023Ricardo J PoquetteCanada2024-06-05Morlong Associates QUALIFIED54Onyama Limba
1024Mujtaba K SaylorsItaly2024-06-14Chemel, James L Cpa RENEWAL45Asiya Javayant
1025Arvin N OstroskyRussia2024-05-18Morlong Associates UNQUALIFIED74Onyama Limba
1026Munro P BowleyFrance2024-06-06Chemel, James L Cpa PROPOSAL34Amy Elsner
1027Greenwood L StensethBrazil2024-06-05King, Christopher A Esq RENEWAL18Asiya Javayant
1028Alejandro P MorascaSpain2024-06-05Morlong Associates NEW9Elwin Sharvill
1029Leon V StockhamSpain2024-06-09Rousseaux, Michael Esq UNQUALIFIED21Amy Elsner
1030Leja B RulapaughAustralia2024-05-16Truhlar And Truhlar Attys NEGOTIATION42Onyama Limba
1031Wickens R CampainIndia2024-06-11Morlong Associates QUALIFIED49Onyama Limba
1032Ricardo M SaylorsSpain2024-05-24Feltz Printing Service UNQUALIFIED0Elwin Sharvill
1033Adams X VenereIndia2024-06-01Benton, John B Jr RENEWAL11Asiya Javayant
1034Costa Z MaletBrazil2024-05-24Benton, John B Jr UNQUALIFIED75Amy Elsner
1035Arvin T FollerBrazil2024-05-16Chanay, Jeffrey A Esq QUALIFIED29Bernardo Dominic
1036Kaitlin E RoysterFrance2024-05-19Dorl, James J Esq NEW40Ivan Magalhaes
1037Emily C OldroydJapan2024-06-08King, Christopher A Esq NEW7Ivan Magalhaes
1038Darci B IturbideFrance2024-05-17King, Christopher A Esq PROPOSAL2Asiya Javayant
1039Rodrigues J FollerIndia2024-05-24Commercial Press NEGOTIATION32Stephen Shaw
1040Jefferson U BriddickAustralia2024-05-27Feiner Bros PROPOSAL83Ioni Bowcher
1041Ricardo R GarufiCanada2024-05-28Truhlar And Truhlar Attys NEGOTIATION32Ioni Bowcher
1042Aditya Q OldroydSpain2024-05-19Feiner Bros RENEWAL65Xuxue Feng
1043Misaki P NestleGermany2024-05-19Chanay, Jeffrey A Esq NEGOTIATION1Amy Elsner
1044Munro Y GlickAustralia2024-06-03Morlong Associates UNQUALIFIED85Bernardo Dominic
1045Clifford G ShinkoUnited Kingdom2024-06-07Buckley Miller Wright RENEWAL31Asiya Javayant
1046Ricardo S ShinkoRussia2024-05-28Commercial Press QUALIFIED3Elwin Sharvill
1047Faith S FigeroaBrazil2024-06-06Rousseaux, Michael Esq RENEWAL30Ivan Magalhaes
1048Maisha C MaletBrazil2024-05-16Morlong Associates QUALIFIED76Elwin Sharvill
1049Smith G FollerGermany2024-05-31King, Christopher A Esq NEW83Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Antonio Z FollerIndiaAnna Fali NEGOTIATION
Jeanfrancois V RoysterBrazilElwin Sharvill UNQUALIFIED
Tony M CaldareraFranceOnyama Limba RENEWAL
Arvin K AmigonJapanIvan Magalhaes QUALIFIED
Maisha Z TollnerSpainIvan Magalhaes QUALIFIED
Misaki G GlickFranceIoni Bowcher PROPOSAL
Tony Q BowleyUnited KingdomBernardo Dominic NEW
Alejandro G PerinUnited KingdomXuxue Feng UNQUALIFIED
Murillo K BologniaItalyAmy Elsner PROPOSAL
Stacey Z BologniaRussiaIoni Bowcher RENEWAL
Antonio I CaudyFranceElwin Sharvill NEW
Isabel C PoquetteArgentinaStephen Shaw QUALIFIED
Emily Q GauchoSpainAsiya Javayant NEGOTIATION
Isabel B StensethSpainAnna Fali NEW
Tony C NestleAustraliaXuxue Feng RENEWAL
Antonio R StockhamBrazilAmy Elsner NEGOTIATION
Alejandro U BriddickBrazilIoni Bowcher QUALIFIED
James O AmigonFranceIvan Magalhaes NEW
Claire G GlickArgentinaStephen Shaw QUALIFIED
Jeanfrancois C MaletCanadaIoni Bowcher RENEWAL
Maisha M MorascaBrazilOnyama Limba PROPOSAL
Mayumi B CampainFranceIvan Magalhaes NEW
Isabel H RoysterArgentinaIvan Magalhaes PROPOSAL
Costa V ShinkoJapanAnna Fali QUALIFIED
Arvin C ShinkoArgentinaStephen Shaw QUALIFIED
Mujtaba E NickaUnited KingdomBernardo Dominic UNQUALIFIED
Tony M AmigonFranceAnna Fali NEGOTIATION
Stacey V FigeroaJapanOnyama Limba UNQUALIFIED
Faith F SergiItalyAnna Fali NEW
Aika L FigeroaBrazilIoni Bowcher RENEWAL
Francesco Q KuskoSpainStephen Shaw NEW
Darci G SaylorsItalyAsiya Javayant NEGOTIATION
Nicolas U VenereAustraliaBernardo Dominic QUALIFIED
Sinclair L CaudySpainXuxue Feng PROPOSAL
Aditya B AmigonIndiaElwin Sharvill PROPOSAL
Mayumi L InouyeBrazilBernardo Dominic QUALIFIED
Munro R FlosiItalyAnna Fali NEGOTIATION
Jeanfrancois E GillianAustraliaElwin Sharvill NEW
Adams M ChuiBrazilIvan Magalhaes RENEWAL
Juan C GauchoArgentinaIvan Magalhaes NEGOTIATION
Kaitlin E TollnerBrazilBernardo Dominic UNQUALIFIED
Ivar Y GarufiRussiaAnna Fali PROPOSAL
Jennifer Z FollerBrazilAmy Elsner PROPOSAL
Emily Z ChuiUnited KingdomAmy Elsner QUALIFIED
Wickens P WieserArgentinaBernardo Dominic RENEWAL
Julie Z PerinFranceAnna Fali RENEWAL
Ivar F StensethRussiaIvan Magalhaes RENEWAL
Jefferson C MorascaJapanAmy Elsner PROPOSAL
James U WieserRussiaAnna Fali UNQUALIFIED
Mayumi N CampainJapanOnyama Limba NEW
Frozen Columns
Name
Silvio U Briddick
Sinclair M Waycott
Ashley F Doe
Maria N Bolognia
Ashley H Tollner
Stacey U Bolognia
Mayumi P Dilliard
Isabel Q Albares
Morrow X Tollner
Mujtaba Y Flosi
Maisha J Glick
Aditya X Waycott
Kadeem A Ostrosky
Jefferson G Rulapaugh
Isabel D Schemmer
Ashley Z Perin
Mayumi S Morasca
Kaitlin G Caldarera
Octavia X Oldroyd
Chavez H Ferencz
Leon A Campain
Rodrigues K Inouye
Nicolas G Perin
Antonio N Ostrosky
Julie M Briddick
Smith X Tollner
Greenwood F Garufi
Francesco K Ruta
Antonio U Butt
Isabel D Glick
Misaki C Nicka
Darci M Ferencz
Arvin G Darakjy
Adams A Chui
Mayumi I Gillian
Smith E Garufi
James H Malet
Smith V Venere
Kaitlin J Inouye
Maisha L Kolmetz
Emily I Royster
Mayumi S Vocelka
Stacey Q Saylors
Jones G Flosi
Deepesh V Waycott
Claire N Gaucho
Jennifer S Iturbide
Chavez O Stockham
Rodrigues B Doe
Izzy J Perin
IdCountryDate
1000Spain2024-05-20
1001India2024-05-16
1002Italy2024-06-12
1003Argentina2024-05-16
1004Brazil2024-05-20
1005India2024-06-07
1006Canada2024-06-07
1007Brazil2024-05-24
1008Germany2024-05-26
1009Australia2024-05-27
1010Russia2024-06-02
1011Russia2024-06-03
1012Germany2024-06-05
1013United Kingdom2024-05-16
1014Russia2024-06-10
1015Brazil2024-06-04
1016Argentina2024-06-13
1017Australia2024-05-17
1018Germany2024-06-11
1019Canada2024-06-03
1020India2024-05-22
1021France2024-05-20
1022France2024-05-20
1023India2024-05-20
1024Canada2024-06-06
1025France2024-05-29
1026Italy2024-05-16
1027Spain2024-05-22
1028Brazil2024-05-18
1029Brazil2024-06-07
1030Italy2024-06-07
1031Italy2024-06-14
1032Canada2024-06-10
1033United Kingdom2024-06-09
1034Australia2024-06-11
1035France2024-05-21
1036India2024-06-14
1037Italy2024-06-03
1038Canada2024-05-30
1039Japan2024-05-22
1040India2024-06-14
1041Australia2024-06-14
1042Spain2024-06-05
1043Brazil2024-05-19
1044Italy2024-06-03
1045Australia2024-05-27
1046Spain2024-06-08
1047Canada2024-05-22
1048Germany2024-05-18
1049Germany2024-06-01

On-Demand Data

NameIdCountryDate
Morrow J Darakjy1000Canada2024-06-13
Octavia L Paprocki1001France2024-05-22
Juan K Malet1002Australia2024-05-19
Silvio M Maclead1003Japan2024-06-07
Tony B Bowley1004France2024-05-23
Morrow F Paprocki1005France2024-06-09
Rodrigues K Flosi1006Japan2024-05-26
David L Butt1007France2024-06-10
Maria M Caudy1008Argentina2024-05-26
Wickens H Rim1009Italy2024-06-06
Clifford M Bolognia1010Italy2024-06-02
Jeanfrancois U Kusko1011Argentina2024-05-18
Francesco O Sergi1012Brazil2024-06-09
Arvin R Albares1013Canada2024-05-31
Mujtaba W Saylors1014Germany2024-05-19
Alejandro M Vocelka1015Italy2024-06-08
Greenwood G Gillian1016Australia2024-05-26
Aditya I Nicka1017France2024-05-25
Ricardo A Briddick1018Spain2024-05-26
Arvin I Whobrey1019Germany2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin S MarrierUnited KingdomIvan Magalhaes NEGOTIATION
Rodrigues X DilliardCanadaAmy Elsner NEW
Mayumi L WieserUnited KingdomOnyama Limba UNQUALIFIED
Misaki B OstroskyCanadaAmy Elsner QUALIFIED
Sinclair M RimIndiaAsiya Javayant NEW
Octavia Q PoquetteUnited KingdomAnna Fali NEW
Jefferson C IturbideRussiaXuxue Feng UNQUALIFIED
Jones Z PerinJapanIvan Magalhaes NEGOTIATION
Faith L NickaSpainElwin Sharvill UNQUALIFIED
Ricardo S ChuiArgentinaAmy Elsner QUALIFIED
Ivar S InouyeFranceXuxue Feng QUALIFIED
Emily C MaletIndiaAsiya Javayant QUALIFIED
Leon S PerinCanadaOnyama Limba PROPOSAL
Claire V PerinUnited KingdomIoni Bowcher RENEWAL
Tony Z MaletFranceIvan Magalhaes NEGOTIATION
Rodrigues W AlbaresFranceElwin Sharvill NEGOTIATION
Antonio D MorascaRussiaAnna Fali PROPOSAL
Chavez B CaudyAustraliaBernardo Dominic QUALIFIED
Chavez O ShinkoCanadaOnyama Limba RENEWAL
Francesco E GlickRussiaIoni Bowcher NEW
Smith U FollerIndiaElwin Sharvill QUALIFIED
Emily E DarakjyBrazilIoni Bowcher NEGOTIATION
Jefferson A FigeroaItalyAnna Fali RENEWAL
Stacey U CaudyItalyStephen Shaw RENEWAL
Julie C NestleIndiaAnna Fali NEW
Ashley W VenereFranceAsiya Javayant PROPOSAL
Murillo O MarrierRussiaStephen Shaw PROPOSAL
Wickens Q SchemmerRussiaBernardo Dominic UNQUALIFIED
Jeanfrancois I VenereArgentinaAnna Fali QUALIFIED
Mujtaba B MorascaUnited KingdomIoni Bowcher QUALIFIED
Jefferson T CampainIndiaIoni Bowcher PROPOSAL
Wickens I MarrierJapanElwin Sharvill QUALIFIED
Adams F SergiFranceElwin Sharvill PROPOSAL
Claire O BowleyJapanIoni Bowcher QUALIFIED
Ricardo Y KolmetzUnited KingdomAsiya Javayant UNQUALIFIED
Kadeem V IturbideIndiaIoni Bowcher QUALIFIED
Costa S ButtSpainOnyama Limba NEW
Mayumi X GauchoUnited KingdomElwin Sharvill UNQUALIFIED
Murillo T RulapaughAustraliaElwin Sharvill NEGOTIATION
Ivar P GarufiSpainXuxue Feng NEGOTIATION

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