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
Leja F FlosiUnited KingdomAmy Elsner UNQUALIFIED
Murillo J PaprockiAustraliaIoni Bowcher NEGOTIATION
Morrow N AlbaresRussiaAmy Elsner RENEWAL
Mujtaba L AlbaresCanadaStephen Shaw QUALIFIED
Chavez Q MorascaCanadaBernardo Dominic NEW
Adams O WaycottRussiaIoni Bowcher QUALIFIED
Greenwood T SergiUnited KingdomAmy Elsner NEW
Costa Y GillianSpainIoni Bowcher UNQUALIFIED
Faith H DoeGermanyIoni Bowcher PROPOSAL
Murillo T MaletJapanElwin Sharvill RENEWAL
Aruna K MaletCanadaElwin Sharvill PROPOSAL
Leja P GillianUnited KingdomIvan Magalhaes NEW
Leon M MaletUnited KingdomAmy Elsner PROPOSAL
Wickens D StockhamRussiaOnyama Limba QUALIFIED
Alejandro I PaprockiBrazilOnyama Limba QUALIFIED
Leon D KuskoJapanAmy Elsner NEW
Kaitlin D SlusarskiJapanAmy Elsner RENEWAL
Mayumi U RoysterJapanBernardo Dominic RENEWAL
Ivar Q InouyeGermanyStephen Shaw UNQUALIFIED
Octavia S NickaJapanStephen Shaw UNQUALIFIED
Mujtaba W CampainCanadaBernardo Dominic NEGOTIATION
Francesco K CampainCanadaXuxue Feng NEW
Johnson S VenereAustraliaStephen Shaw PROPOSAL
Morrow X VenereBrazilIoni Bowcher QUALIFIED
Leon Z FerenczJapanIvan Magalhaes NEGOTIATION
Adams T NickaUnited KingdomXuxue Feng RENEWAL
Aika U GarufiRussiaAnna Fali RENEWAL
Adams U DarakjyUnited KingdomBernardo Dominic QUALIFIED
Rodrigues T ButtFranceAmy Elsner NEW
Maria L CaldareraBrazilIvan Magalhaes NEGOTIATION
Greenwood S AmigonGermanyAmy Elsner NEGOTIATION
Alejandro L NestleBrazilIvan Magalhaes NEW
Morrow C GauchoIndiaXuxue Feng QUALIFIED
Chavez B VenereCanadaElwin Sharvill NEW
Alejandro D DoeAustraliaAnna Fali QUALIFIED
Julie T SaylorsGermanyIvan Magalhaes RENEWAL
Rodrigues E KuskoSpainAnna Fali RENEWAL
Izzy E SchemmerFranceOnyama Limba RENEWAL
Misaki V PaprockiArgentinaAmy Elsner RENEWAL
Munro U SaylorsCanadaOnyama Limba NEW
Antonio M DarakjyRussiaStephen Shaw NEW
Ivar H ChuiBrazilOnyama Limba QUALIFIED
Greenwood T NickaAustraliaIoni Bowcher PROPOSAL
Chavez E BologniaBrazilAmy Elsner NEW
Jeanfrancois H RimAustraliaOnyama Limba PROPOSAL
Claire M WaycottJapanOnyama Limba RENEWAL
Aika R NickaIndiaAnna Fali UNQUALIFIED
Juan P SergiGermanyAmy Elsner PROPOSAL
Juan V TollnerItalyXuxue Feng QUALIFIED
Chavez A WhobreySpainStephen Shaw RENEWAL
Horizontal
NameCountryRepresentativeStatus
Silvio J RimIndiaAmy Elsner PROPOSAL
Sinclair D DarakjySpainElwin Sharvill RENEWAL
Kaitlin I BriddickItalyAmy Elsner QUALIFIED
Claire O RoysterJapanOnyama Limba RENEWAL
Silvio B PoquetteJapanIoni Bowcher NEGOTIATION
Costa G StockhamFranceOnyama Limba UNQUALIFIED
Izzy T SchemmerUnited KingdomIvan Magalhaes RENEWAL
Clifford M DoeAustraliaOnyama Limba UNQUALIFIED
Leja W ChuiFranceAsiya Javayant RENEWAL
Misaki T RimCanadaStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie F CampainFrance2025-04-16Chanay, Jeffrey A Esq NEW44Onyama Limba
1001Munro C FigeroaJapan2025-04-09Buckley Miller Wright PROPOSAL38Anna Fali
1002Emily C BowleyUnited Kingdom2025-04-01Truhlar And Truhlar Attys QUALIFIED23Elwin Sharvill
1003Ricardo R OldroydRussia2025-04-16Chanay, Jeffrey A Esq RENEWAL19Bernardo Dominic
1004Kadeem K TollnerCanada2025-04-24Truhlar And Truhlar Attys RENEWAL25Xuxue Feng
1005Antonio B MarrierCanada2025-04-15Rousseaux, Michael Esq RENEWAL98Stephen Shaw
1006Nicolas K CaudyUnited Kingdom2025-04-19Truhlar And Truhlar Attys PROPOSAL46Onyama Limba
1007Kaitlin Y DarakjyGermany2025-04-07Chemel, James L Cpa QUALIFIED18Elwin Sharvill
1008Rodrigues I BologniaRussia2025-04-24Feltz Printing Service RENEWAL93Ioni Bowcher
1009Jefferson A RoysterUnited Kingdom2025-04-09Rangoni Of Florence NEW93Ivan Magalhaes
1010Ricardo M StensethFrance2025-04-08Commercial Press RENEWAL68Onyama Limba
1011Francesco L SaylorsJapan2025-04-13Rangoni Of Florence NEW88Ivan Magalhaes
1012Chavez D StensethArgentina2025-04-22Benton, John B Jr NEW97Ioni Bowcher
1013Izzy C TollnerFrance2025-04-08Truhlar And Truhlar Attys NEGOTIATION63Asiya Javayant
1014Octavia F RulapaughFrance2025-04-04Buckley Miller Wright NEW20Elwin Sharvill
1015Morrow B WhobreyArgentina2025-04-14Rousseaux, Michael Esq QUALIFIED85Amy Elsner
1016Jennifer S DoeIndia2025-04-19Chapman, Ross E Esq RENEWAL38Bernardo Dominic
1017Jones H MacleadUnited Kingdom2025-04-23Chapman, Ross E Esq UNQUALIFIED67Xuxue Feng
1018Rodrigues P FerenczSpain2025-04-25King, Christopher A Esq PROPOSAL94Onyama Limba
1019Cody E ButtItaly2025-04-23Commercial Press NEGOTIATION28Anna Fali
1020Izzy E FerenczCanada2025-04-19King, Christopher A Esq RENEWAL11Ivan Magalhaes
1021Claire W DarakjyBrazil2025-04-01Rangoni Of Florence QUALIFIED57Ivan Magalhaes
1022Kaitlin P KolmetzBrazil2025-04-08Buckley Miller Wright UNQUALIFIED73Ioni Bowcher
1023Kaitlin J MaletItaly2025-04-04Feltz Printing Service QUALIFIED38Ivan Magalhaes
1024Nicolas M CaldareraJapan2025-04-30King, Christopher A Esq NEGOTIATION45Stephen Shaw
1025Jones A AmigonIndia2025-04-04Buckley Miller Wright RENEWAL64Bernardo Dominic
1026Isabel V PaprockiUnited Kingdom2025-04-15Chemel, James L Cpa RENEWAL72Onyama Limba
1027Mayumi U PaprockiGermany2025-04-04Dorl, James J Esq PROPOSAL19Xuxue Feng
1028Chavez Q FollerItaly2025-04-19Rangoni Of Florence QUALIFIED62Elwin Sharvill
1029Aditya H BriddickItaly2025-04-12Feiner Bros RENEWAL58Xuxue Feng
1030Kadeem B GauchoUnited Kingdom2025-04-14Printing Dimensions PROPOSAL32Ivan Magalhaes
1031Jones D SergiSpain2025-04-04Dorl, James J Esq NEW0Amy Elsner
1032Jones N RoysterJapan2025-04-19Morlong Associates UNQUALIFIED75Elwin Sharvill
1033Nicolas G SchemmerRussia2025-04-06Feltz Printing Service QUALIFIED88Anna Fali
1034Cody J BologniaRussia2025-04-11King, Christopher A Esq UNQUALIFIED27Onyama Limba
1035Faith F CaldareraIndia2025-04-07Feiner Bros QUALIFIED22Ioni Bowcher
1036Aditya E InouyeSpain2025-04-07Morlong Associates QUALIFIED89Bernardo Dominic
1037Salvatore Q FlosiJapan2025-04-06Dorl, James J Esq NEGOTIATION21Stephen Shaw
1038Smith Z MaletIndia2025-04-09Chanay, Jeffrey A Esq NEW92Xuxue Feng
1039James Y ChuiArgentina2025-04-28Morlong Associates RENEWAL61Anna Fali
1040Rodrigues M KolmetzSpain2025-04-18Feiner Bros NEW26Elwin Sharvill
1041Murillo V WieserUnited Kingdom2025-04-18Truhlar And Truhlar Attys RENEWAL75Elwin Sharvill
1042Claire A RutaSpain2025-04-10Morlong Associates RENEWAL72Elwin Sharvill
1043Maria U BriddickCanada2025-04-15Rousseaux, Michael Esq RENEWAL65Xuxue Feng
1044Murillo B SlusarskiJapan2025-04-28Commercial Press PROPOSAL23Bernardo Dominic
1045Antonio M TollnerCanada2025-04-30Dorl, James J Esq PROPOSAL19Amy Elsner
1046Jeanfrancois G FerenczSpain2025-04-10Rangoni Of Florence QUALIFIED26Ivan Magalhaes
1047Silvio K FlosiUnited Kingdom2025-04-27Truhlar And Truhlar Attys RENEWAL13Amy Elsner
1048Jones J RoysterUnited Kingdom2025-04-30Rangoni Of Florence RENEWAL79Asiya Javayant
1049Mayumi F GillianIndia2025-04-26Morlong Associates NEW74Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Stacey C IturbideCanadaBernardo Dominic QUALIFIED
Aruna P GlickGermanyIoni Bowcher NEW
Mujtaba L FigeroaAustraliaOnyama Limba PROPOSAL
Julie L DoeIndiaXuxue Feng NEW
Costa V VenereAustraliaOnyama Limba QUALIFIED
Smith U NickaAustraliaAnna Fali NEW
Chavez P CaudySpainXuxue Feng RENEWAL
Wickens N GillianCanadaIoni Bowcher UNQUALIFIED
Aika R WhobreyUnited KingdomElwin Sharvill NEGOTIATION
Juan V InouyeUnited KingdomIoni Bowcher PROPOSAL
Ivar J PerinArgentinaBernardo Dominic PROPOSAL
Salvatore D GauchoFranceOnyama Limba PROPOSAL
Antonio L AmigonGermanyAnna Fali RENEWAL
Aika D SaylorsJapanAsiya Javayant PROPOSAL
Smith D KolmetzBrazilIoni Bowcher NEGOTIATION
Aditya C MacleadUnited KingdomAmy Elsner QUALIFIED
Maria M PoquetteIndiaXuxue Feng UNQUALIFIED
Johnson D CaldareraUnited KingdomElwin Sharvill QUALIFIED
Ricardo J StensethJapanOnyama Limba UNQUALIFIED
James G MaletUnited KingdomOnyama Limba UNQUALIFIED
Smith C KuskoArgentinaElwin Sharvill UNQUALIFIED
Salvatore F BowleyFranceIvan Magalhaes PROPOSAL
Smith N WaycottItalyStephen Shaw UNQUALIFIED
James L PerinJapanElwin Sharvill NEW
Misaki H SaylorsArgentinaIvan Magalhaes RENEWAL
Emily P GlickGermanyIvan Magalhaes UNQUALIFIED
Silvio O BowleyJapanElwin Sharvill RENEWAL
Rodrigues U SlusarskiBrazilIvan Magalhaes NEGOTIATION
Francesco R DarakjyAustraliaElwin Sharvill PROPOSAL
Izzy F MaletCanadaElwin Sharvill NEGOTIATION
Arvin T IturbideArgentinaStephen Shaw NEGOTIATION
Ashley C TollnerJapanXuxue Feng QUALIFIED
Sinclair E AlbaresJapanXuxue Feng QUALIFIED
Stacey H OstroskyIndiaXuxue Feng NEW
Juan X ShinkoGermanyElwin Sharvill NEW
Alejandro Q FollerJapanStephen Shaw QUALIFIED
Maria Q NestleFranceXuxue Feng UNQUALIFIED
Aika Q PaprockiUnited KingdomAnna Fali RENEWAL
Arvin Y FerenczFranceAmy Elsner UNQUALIFIED
Adams Z OstroskyIndiaIvan Magalhaes RENEWAL
James R BriddickItalyOnyama Limba PROPOSAL
Mujtaba S KolmetzFranceOnyama Limba RENEWAL
Deepesh O RulapaughCanadaIvan Magalhaes RENEWAL
Julie X InouyeIndiaIvan Magalhaes NEW
Ashley Q CampainGermanyIvan Magalhaes NEW
Maisha W ChuiUnited KingdomBernardo Dominic NEW
Maisha H BologniaRussiaIoni Bowcher NEW
Jefferson S KolmetzGermanyElwin Sharvill RENEWAL
Kadeem H FigeroaUnited KingdomAmy Elsner QUALIFIED
Octavia Z FerenczAustraliaStephen Shaw RENEWAL
Frozen Columns
Name
Mujtaba C Campain
Izzy A Iturbide
Munro Z Albares
Leja M Stockham
Francesco N Ostrosky
Johnson Q Ruta
Rodrigues I Foller
Leon O Paprocki
Claire S Rulapaugh
Octavia Z Chui
Aika B Caudy
Jefferson V Wieser
Mayumi L Kusko
Arvin D Tollner
Munro O Marrier
Darci J Kolmetz
Mayumi E Shinko
Greenwood I Caudy
Deepesh N Marrier
Antonio A Inouye
Jefferson W Foller
Claire C Malet
Adams F Figeroa
Ivar Z Poquette
Isabel P Paprocki
Aditya D Amigon
Stacey B Briddick
Ashley W Amigon
Chavez L Ruta
Stacey D Marrier
Maria K Paprocki
Faith T Wieser
Leon D Kusko
Jennifer R Darakjy
Salvatore G Darakjy
Julie N Sergi
Johnson Z Gaucho
Izzy W Gaucho
Kadeem M Butt
Jeanfrancois F Poquette
Maria C Stenseth
Maisha O Campain
Francesco C Inouye
Leon M Maclead
Wickens E Schemmer
Wickens B Caudy
Murillo D Ferencz
Jones G Slusarski
Maria B Tollner
Francesco V Malet
IdCountryDate
1000Japan2025-04-21
1001Argentina2025-04-18
1002Italy2025-04-06
1003India2025-04-04
1004Japan2025-04-25
1005Germany2025-04-21
1006Italy2025-04-06
1007Japan2025-04-28
1008Argentina2025-04-04
1009Brazil2025-04-27
1010United Kingdom2025-04-19
1011Canada2025-04-14
1012Argentina2025-04-16
1013Germany2025-04-02
1014United Kingdom2025-04-02
1015Brazil2025-04-06
1016Canada2025-04-03
1017Italy2025-04-09
1018Italy2025-04-08
1019Brazil2025-04-24
1020Canada2025-04-14
1021Italy2025-04-11
1022Italy2025-04-01
1023Argentina2025-04-11
1024Russia2025-04-19
1025India2025-04-09
1026Russia2025-04-14
1027Argentina2025-04-04
1028Spain2025-04-14
1029Russia2025-04-11
1030Italy2025-04-21
1031Argentina2025-04-30
1032Australia2025-04-16
1033Argentina2025-04-11
1034Spain2025-04-05
1035Italy2025-04-30
1036Spain2025-04-06
1037Germany2025-04-16
1038Argentina2025-04-26
1039Spain2025-04-21
1040India2025-04-14
1041Japan2025-04-21
1042India2025-04-13
1043India2025-04-08
1044Japan2025-04-10
1045Germany2025-04-13
1046Japan2025-04-21
1047United Kingdom2025-04-18
1048Russia2025-04-28
1049Spain2025-04-27

On-Demand Data

NameIdCountryDate
Munro M Vocelka1000Russia2025-04-05
Maria Y Gillian1001Japan2025-04-22
Salvatore J Malet1002Spain2025-04-01
Adams E Ostrosky1003Russia2025-04-22
Kadeem D Poquette1004Australia2025-04-29
Clifford K Waycott1005Italy2025-04-04
Munro P Iturbide1006India2025-04-29
Costa C Amigon1007Japan2025-04-12
Kaitlin B Wieser1008Argentina2025-04-26
Juan V Foller1009Spain2025-04-09
Aika V Butt1010Argentina2025-04-09
David K Royster1011Australia2025-04-27
Octavia K Caldarera1012Argentina2025-04-05
Aditya F Kusko1013Canada2025-04-04
Maria K Doe1014Brazil2025-04-05
Octavia T Darakjy1015Spain2025-04-25
Ivar M Malet1016India2025-04-11
Kadeem D Bowley1017Russia2025-04-24
Deepesh W Garufi1018Brazil2025-04-29
Izzy W Vocelka1019Japan2025-04-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez M VocelkaSpainOnyama Limba NEW
Emily N MaletGermanyElwin Sharvill PROPOSAL
Murillo W WhobreyGermanyIoni Bowcher RENEWAL
Aruna Z VocelkaGermanyAnna Fali NEGOTIATION
Claire R FollerAustraliaElwin Sharvill QUALIFIED
Smith G NickaSpainStephen Shaw PROPOSAL
Claire I DoeIndiaAnna Fali QUALIFIED
Johnson O WieserCanadaIoni Bowcher PROPOSAL
Johnson R CampainCanadaAmy Elsner NEGOTIATION
Kaitlin V ButtArgentinaIoni Bowcher RENEWAL
Aika F IturbideArgentinaBernardo Dominic PROPOSAL
Juan A AmigonIndiaAmy Elsner NEW
James L PoquetteAustraliaAmy Elsner UNQUALIFIED
Izzy Z MarrierArgentinaIvan Magalhaes QUALIFIED
Arvin W KuskoItalyXuxue Feng RENEWAL
Jefferson L GlickUnited KingdomAnna Fali QUALIFIED
Claire J FlosiItalyAnna Fali UNQUALIFIED
Kadeem H FollerRussiaStephen Shaw PROPOSAL
Nicolas N MarrierGermanyAsiya Javayant NEGOTIATION
Rodrigues L WieserSpainIvan Magalhaes NEGOTIATION
Francesco O RutaFranceBernardo Dominic RENEWAL
Costa Y RimRussiaXuxue Feng NEGOTIATION
Murillo R BowleyBrazilAsiya Javayant QUALIFIED
Emily H MaletSpainAsiya Javayant NEW
Leja O BriddickIndiaIoni Bowcher QUALIFIED
Silvio V WieserFranceIoni Bowcher PROPOSAL
Alejandro G SaylorsBrazilAsiya Javayant UNQUALIFIED
Maisha E GillianSpainBernardo Dominic NEGOTIATION
Ivar X StensethGermanyAmy Elsner UNQUALIFIED
Darci L FlosiAustraliaBernardo Dominic QUALIFIED
Sinclair A DoeBrazilBernardo Dominic NEW
Morrow Z FigeroaIndiaAnna Fali NEGOTIATION
Francesco I RulapaughCanadaBernardo Dominic RENEWAL
Silvio Y MarrierArgentinaAsiya Javayant NEGOTIATION
Mayumi F BriddickItalyXuxue Feng NEW
Aika C SaylorsBrazilIoni Bowcher NEGOTIATION
Munro H CampainUnited KingdomOnyama Limba UNQUALIFIED
Mujtaba X PaprockiIndiaAsiya Javayant RENEWAL
Tony Z DarakjySpainBernardo Dominic RENEWAL
Smith B OstroskyBrazilIvan Magalhaes 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>