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 U WieserRussiaIoni Bowcher PROPOSAL
Arvin Q BologniaArgentinaStephen Shaw NEW
Darci F InouyeGermanyAsiya Javayant NEW
Faith H AmigonUnited KingdomIoni Bowcher PROPOSAL
Misaki F RulapaughAustraliaOnyama Limba PROPOSAL
Aika I MarrierItalyIoni Bowcher NEGOTIATION
Darci X MaletFranceBernardo Dominic NEGOTIATION
David E RimGermanyOnyama Limba PROPOSAL
Misaki I MaletCanadaIoni Bowcher UNQUALIFIED
Emily P VocelkaArgentinaOnyama Limba NEGOTIATION
Jefferson Z RulapaughRussiaAmy Elsner NEGOTIATION
Adams V MarrierIndiaStephen Shaw RENEWAL
Izzy L MorascaJapanOnyama Limba NEGOTIATION
Aruna E SchemmerBrazilStephen Shaw UNQUALIFIED
Maisha S RoysterSpainIoni Bowcher RENEWAL
Deepesh H DoeFranceElwin Sharvill QUALIFIED
Aruna O RoysterItalyBernardo Dominic NEGOTIATION
Julie W RulapaughRussiaIoni Bowcher PROPOSAL
Octavia V MaletGermanyElwin Sharvill NEW
Chavez C GarufiBrazilAsiya Javayant NEGOTIATION
Ricardo F GillianUnited KingdomAsiya Javayant QUALIFIED
Silvio J PaprockiJapanStephen Shaw UNQUALIFIED
Alejandro Y OstroskyUnited KingdomAnna Fali QUALIFIED
Octavia H DarakjyArgentinaIvan Magalhaes NEW
Clifford V IturbideJapanElwin Sharvill QUALIFIED
Aditya S VocelkaSpainStephen Shaw QUALIFIED
Ivar A FollerSpainOnyama Limba NEGOTIATION
Ricardo W RutaCanadaAnna Fali NEW
Francesco P FigeroaIndiaIoni Bowcher PROPOSAL
Arvin T GillianJapanOnyama Limba UNQUALIFIED
Mayumi D WhobreyCanadaIoni Bowcher UNQUALIFIED
Maria D WhobreyIndiaIvan Magalhaes PROPOSAL
Johnson X KuskoUnited KingdomElwin Sharvill NEGOTIATION
Sinclair Z VocelkaFranceOnyama Limba QUALIFIED
Octavia T SlusarskiAustraliaXuxue Feng NEW
Cody H GarufiFranceStephen Shaw NEW
Clifford W OldroydJapanAsiya Javayant PROPOSAL
Mujtaba X FlosiJapanIoni Bowcher NEGOTIATION
Francesco C KuskoSpainAmy Elsner UNQUALIFIED
Darci Z AlbaresIndiaAsiya Javayant QUALIFIED
Munro A ShinkoJapanAmy Elsner NEW
Isabel R WaycottGermanyAnna Fali PROPOSAL
Wickens K ButtSpainOnyama Limba PROPOSAL
Salvatore D CaudyUnited KingdomXuxue Feng QUALIFIED
Leon R MacleadGermanyXuxue Feng NEGOTIATION
Mujtaba F GarufiJapanOnyama Limba NEW
Adams M VenereGermanyXuxue Feng UNQUALIFIED
Francesco I KolmetzFranceAsiya Javayant NEGOTIATION
Greenwood P VocelkaGermanyElwin Sharvill PROPOSAL
Izzy V MacleadSpainOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Murillo I RimFranceIoni Bowcher PROPOSAL
Antonio M InouyeAustraliaIvan Magalhaes RENEWAL
Ashley J ButtItalyXuxue Feng QUALIFIED
Deepesh C StensethFranceIvan Magalhaes QUALIFIED
Silvio I BologniaRussiaAnna Fali QUALIFIED
Murillo C RulapaughRussiaAnna Fali QUALIFIED
Mujtaba B RutaArgentinaAsiya Javayant PROPOSAL
Wickens J WieserItalyStephen Shaw NEGOTIATION
Jefferson G WaycottUnited KingdomIoni Bowcher NEGOTIATION
Cody V RutaItalyElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood F TollnerIndia2026-07-20Dorl, James J Esq RENEWAL79Onyama Limba
1001Chavez R OldroydAustralia2026-07-15Printing Dimensions NEW20Ivan Magalhaes
1002Ricardo E ButtRussia2026-07-13Commercial Press PROPOSAL65Amy Elsner
1003Izzy E NickaAustralia2026-07-01King, Christopher A Esq NEGOTIATION41Ivan Magalhaes
1004Leja H BowleyItaly2026-07-26Rangoni Of Florence UNQUALIFIED55Onyama Limba
1005Leon A SaylorsFrance2026-07-17Printing Dimensions QUALIFIED37Amy Elsner
1006Aditya B ButtCanada2026-07-06Truhlar And Truhlar Attys NEW49Ivan Magalhaes
1007Misaki B GauchoRussia2026-07-25Truhlar And Truhlar Attys PROPOSAL4Stephen Shaw
1008Stacey Z CaldareraArgentina2026-07-02Chanay, Jeffrey A Esq QUALIFIED43Elwin Sharvill
1009Morrow G NestleJapan2026-07-05Morlong Associates NEW44Anna Fali
1010Antonio P GillianBrazil2026-07-17Dorl, James J Esq UNQUALIFIED45Bernardo Dominic
1011Arvin B BriddickUnited Kingdom2026-07-20King, Christopher A Esq UNQUALIFIED54Onyama Limba
1012Ashley T FigeroaSpain2026-07-04Feltz Printing Service RENEWAL43Elwin Sharvill
1013Darci P TollnerBrazil2026-07-14Chanay, Jeffrey A Esq QUALIFIED93Ivan Magalhaes
1014Nicolas U ButtCanada2026-07-07Buckley Miller Wright QUALIFIED67Bernardo Dominic
1015Jones Y ButtAustralia2026-07-17Rangoni Of Florence NEW84Stephen Shaw
1016Jefferson B VenereGermany2026-07-28Chemel, James L Cpa PROPOSAL36Xuxue Feng
1017Mayumi C GillianItaly2026-07-10Morlong Associates QUALIFIED36Xuxue Feng
1018Costa S FigeroaAustralia2026-07-02Printing Dimensions PROPOSAL50Amy Elsner
1019Greenwood M ButtGermany2026-07-29Rangoni Of Florence NEW1Xuxue Feng
1020Misaki Z OstroskyFrance2026-07-11Feiner Bros NEW35Elwin Sharvill
1021Adams W KolmetzArgentina2026-07-14Truhlar And Truhlar Attys NEW12Asiya Javayant
1022Jennifer R RulapaughBrazil2026-07-14Morlong Associates QUALIFIED92Elwin Sharvill
1023Jones Z SaylorsGermany2026-07-09King, Christopher A Esq UNQUALIFIED35Onyama Limba
1024Isabel X FerenczIndia2026-07-25Printing Dimensions NEW83Ivan Magalhaes
1025Kadeem L PerinItaly2026-07-24Benton, John B Jr NEW79Bernardo Dominic
1026Wickens B MorascaRussia2026-07-12King, Christopher A Esq UNQUALIFIED69Asiya Javayant
1027James W VenereRussia2026-07-04King, Christopher A Esq PROPOSAL35Asiya Javayant
1028Alejandro X OldroydBrazil2026-07-24Benton, John B Jr RENEWAL98Xuxue Feng
1029Nicolas R GarufiIndia2026-07-19Benton, John B Jr PROPOSAL98Bernardo Dominic
1030Smith T AlbaresArgentina2026-07-21Benton, John B Jr UNQUALIFIED76Bernardo Dominic
1031Cody X TollnerItaly2026-07-08Rangoni Of Florence QUALIFIED97Onyama Limba
1032Isabel U TollnerSpain2026-07-11Benton, John B Jr NEW6Asiya Javayant
1033Leja Q MaletBrazil2026-07-03Feiner Bros PROPOSAL23Asiya Javayant
1034Jefferson Z RimRussia2026-07-17Chapman, Ross E Esq NEGOTIATION48Asiya Javayant
1035Smith C RulapaughFrance2026-07-30Feiner Bros PROPOSAL28Stephen Shaw
1036Claire J PerinSpain2026-07-06Rangoni Of Florence NEW36Onyama Limba
1037Costa N BowleyIndia2026-07-08Morlong Associates RENEWAL62Amy Elsner
1038Mayumi J FigeroaBrazil2026-07-21Rangoni Of Florence UNQUALIFIED28Xuxue Feng
1039Jefferson E SchemmerArgentina2026-07-03King, Christopher A Esq PROPOSAL65Stephen Shaw
1040Jefferson X MorascaGermany2026-07-21Benton, John B Jr NEW70Xuxue Feng
1041Isabel B SergiAustralia2026-07-07Chemel, James L Cpa NEW71Ivan Magalhaes
1042Julie Y CaldareraSpain2026-07-06Buckley Miller Wright UNQUALIFIED58Ivan Magalhaes
1043Jeanfrancois G RimArgentina2026-07-12Chemel, James L Cpa RENEWAL80Asiya Javayant
1044Jones C OldroydRussia2026-07-10Feltz Printing Service RENEWAL75Elwin Sharvill
1045David C GlickUnited Kingdom2026-07-16Buckley Miller Wright NEW95Stephen Shaw
1046Aditya E MorascaJapan2026-07-17Commercial Press NEW5Anna Fali
1047Jeanfrancois S BriddickBrazil2026-07-20Chapman, Ross E Esq RENEWAL16Stephen Shaw
1048Mayumi K SaylorsItaly2026-07-18Feltz Printing Service NEGOTIATION28Asiya Javayant
1049Izzy N CaudyIndia2026-07-30Buckley Miller Wright NEGOTIATION36Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Maisha P StockhamItalyStephen Shaw NEGOTIATION
Aruna P SergiGermanyIvan Magalhaes PROPOSAL
Isabel V KolmetzUnited KingdomAmy Elsner RENEWAL
Faith E InouyeSpainIoni Bowcher RENEWAL
Adams F WhobreyBrazilOnyama Limba UNQUALIFIED
Isabel K FerenczIndiaElwin Sharvill RENEWAL
Nicolas Y FigeroaCanadaIvan Magalhaes RENEWAL
Jeanfrancois D GauchoJapanAmy Elsner UNQUALIFIED
Darci C AmigonFranceAnna Fali UNQUALIFIED
Adams V IturbideIndiaAsiya Javayant PROPOSAL
Juan Y FollerSpainAmy Elsner NEGOTIATION
Rodrigues Z MarrierGermanyAsiya Javayant NEW
Ricardo C CaudyCanadaOnyama Limba UNQUALIFIED
Izzy B GarufiSpainStephen Shaw QUALIFIED
James A RulapaughJapanAmy Elsner UNQUALIFIED
Kaitlin V MorascaItalyAnna Fali QUALIFIED
Cody U MacleadItalyStephen Shaw RENEWAL
Murillo N FigeroaRussiaOnyama Limba QUALIFIED
Aruna U StockhamIndiaStephen Shaw RENEWAL
Jefferson Y RulapaughArgentinaAsiya Javayant NEGOTIATION
Deepesh I RutaIndiaAnna Fali UNQUALIFIED
Alejandro Z PerinSpainIvan Magalhaes UNQUALIFIED
Leja D MaletJapanIoni Bowcher NEW
Cody H RulapaughItalyXuxue Feng UNQUALIFIED
Chavez K FerenczRussiaElwin Sharvill UNQUALIFIED
Octavia J ButtBrazilAsiya Javayant PROPOSAL
Mayumi X PerinIndiaAmy Elsner QUALIFIED
Munro L GillianGermanyOnyama Limba UNQUALIFIED
Kadeem A IturbideIndiaAnna Fali PROPOSAL
Aruna M WhobreySpainIvan Magalhaes RENEWAL
Aruna U ShinkoArgentinaOnyama Limba UNQUALIFIED
Jones D OstroskySpainAnna Fali PROPOSAL
Rodrigues P VenereCanadaAsiya Javayant QUALIFIED
Antonio D OstroskyAustraliaOnyama Limba QUALIFIED
David E SergiFranceBernardo Dominic UNQUALIFIED
Kaitlin T MarrierFranceBernardo Dominic UNQUALIFIED
Juan M MacleadFranceAnna Fali PROPOSAL
Adams Q DilliardRussiaIoni Bowcher NEW
Murillo G RulapaughRussiaAmy Elsner RENEWAL
Claire H CampainCanadaOnyama Limba PROPOSAL
Aruna X WhobreyCanadaIoni Bowcher NEW
Aruna V MaletItalyBernardo Dominic NEGOTIATION
Jefferson K TollnerFranceIvan Magalhaes UNQUALIFIED
Tony A SergiRussiaAmy Elsner UNQUALIFIED
Ivar P GauchoArgentinaAmy Elsner QUALIFIED
Salvatore B KolmetzUnited KingdomIvan Magalhaes RENEWAL
Aruna T GillianGermanyAmy Elsner UNQUALIFIED
Morrow C GlickBrazilElwin Sharvill PROPOSAL
Munro V KolmetzFranceAmy Elsner NEW
Arvin Y TollnerUnited KingdomAmy Elsner QUALIFIED
Frozen Columns
Name
Arvin S Chui
Maria C Ferencz
Ricardo W Doe
Julie H Butt
Mayumi R Ferencz
Leja O Doe
Costa R Amigon
Greenwood V Ferencz
Wickens T Slusarski
Greenwood L Figeroa
Deepesh T Doe
Silvio J Maclead
Antonio G Saylors
Mayumi O Darakjy
Adams A Gaucho
Cody B Oldroyd
Leja O Poquette
Tony L Waycott
Chavez O Doe
Tony O Figeroa
Mujtaba T Paprocki
Arvin M Morasca
Isabel E Darakjy
Sinclair Y Dilliard
Maisha H Iturbide
Tony N Bowley
Mujtaba U Oldroyd
Izzy Y Whobrey
Mujtaba Y Garufi
David Z Iturbide
Chavez D Ruta
Costa D Perin
Juan N Nicka
Ivar W Malet
Cody R Bolognia
Julie V Malet
Julie S Chui
Clifford E Flosi
Kadeem K Sergi
Mayumi A Ruta
Murillo D Shinko
Deepesh K Saylors
Aditya J Flosi
Smith Q Bolognia
Juan J Amigon
Tony B Foller
Stacey J Briddick
Leja N Inouye
Jennifer N Tollner
Aditya T Marrier
IdCountryDate
1000Spain2026-07-23
1001Spain2026-07-26
1002Italy2026-07-30
1003Australia2026-07-21
1004Australia2026-07-01
1005Brazil2026-07-24
1006Argentina2026-07-12
1007Argentina2026-07-25
1008Australia2026-07-23
1009India2026-07-04
1010Germany2026-07-23
1011Brazil2026-07-30
1012Spain2026-07-03
1013Germany2026-07-24
1014Japan2026-07-20
1015Germany2026-07-27
1016Japan2026-07-19
1017Argentina2026-07-18
1018Japan2026-07-22
1019Argentina2026-07-04
1020Italy2026-07-27
1021Germany2026-07-22
1022France2026-07-17
1023Russia2026-07-25
1024Spain2026-07-26
1025Canada2026-07-06
1026Germany2026-07-28
1027Canada2026-07-16
1028Australia2026-07-01
1029Spain2026-07-20
1030Australia2026-07-10
1031Japan2026-07-21
1032Spain2026-07-06
1033Argentina2026-07-08
1034Russia2026-07-16
1035Italy2026-07-24
1036India2026-07-09
1037Brazil2026-07-30
1038India2026-07-13
1039Australia2026-07-17
1040India2026-07-16
1041Brazil2026-07-13
1042Germany2026-07-25
1043Australia2026-07-06
1044Japan2026-07-04
1045France2026-07-14
1046Japan2026-07-11
1047Argentina2026-07-03
1048Australia2026-07-06
1049Spain2026-07-26

On-Demand Data

NameIdCountryDate
Clifford N Bowley1000France2026-07-26
Arvin S Kusko1001India2026-07-12
Ashley V Chui1002Japan2026-07-01
Wickens C Albares1003Canada2026-07-08
Leon E Venere1004Italy2026-07-09
Emily O Tollner1005France2026-07-08
Chavez A Flosi1006Brazil2026-07-14
Cody A Nicka1007Brazil2026-07-01
Ricardo M Albares1008Australia2026-07-11
Leja N Rulapaugh1009Canada2026-07-22
Kadeem K Waycott1010United Kingdom2026-07-12
David T Morasca1011India2026-07-30
Francesco U Figeroa1012United Kingdom2026-07-06
Darci D Doe1013India2026-07-07
Antonio A Bolognia1014United Kingdom2026-07-16
Aditya K Stockham1015France2026-07-25
Greenwood B Gaucho1016Canada2026-07-10
Octavia T Bolognia1017France2026-07-25
Leon N Gillian1018Spain2026-07-17
Aditya J Waycott1019United Kingdom2026-07-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna M AmigonUnited KingdomIoni Bowcher PROPOSAL
Stacey N DilliardIndiaAnna Fali PROPOSAL
Smith F RoysterArgentinaElwin Sharvill RENEWAL
Octavia B OldroydJapanElwin Sharvill RENEWAL
Kaitlin I OstroskyGermanyOnyama Limba NEGOTIATION
Maria N MaletUnited KingdomAnna Fali RENEWAL
Alejandro B KuskoCanadaAnna Fali RENEWAL
Leja D TollnerCanadaAmy Elsner NEGOTIATION
Ivar M CaldareraRussiaIoni Bowcher UNQUALIFIED
Faith Y OstroskyFranceAmy Elsner PROPOSAL
Wickens U MorascaBrazilIvan Magalhaes QUALIFIED
Salvatore U DoeSpainIvan Magalhaes PROPOSAL
Tony X FigeroaCanadaXuxue Feng NEGOTIATION
Leja P MaletSpainAsiya Javayant QUALIFIED
Leja T NestleJapanXuxue Feng UNQUALIFIED
Izzy W SaylorsIndiaIvan Magalhaes QUALIFIED
Mayumi U RoysterItalyIvan Magalhaes NEW
Smith D FigeroaBrazilXuxue Feng NEGOTIATION
Jones D CaudySpainBernardo Dominic UNQUALIFIED
Jennifer F VenereIndiaStephen Shaw QUALIFIED
Silvio G RulapaughUnited KingdomOnyama Limba PROPOSAL
Munro T DilliardUnited KingdomIvan Magalhaes QUALIFIED
Morrow O InouyeFranceBernardo Dominic PROPOSAL
Mujtaba W StockhamRussiaElwin Sharvill UNQUALIFIED
Claire X OldroydBrazilAmy Elsner PROPOSAL
Cody C BowleyArgentinaAnna Fali NEGOTIATION
Morrow P ButtFranceAnna Fali PROPOSAL
Tony Y KuskoFranceAnna Fali QUALIFIED
Chavez F StockhamSpainBernardo Dominic NEGOTIATION
Chavez L WieserItalyAsiya Javayant PROPOSAL
Leja L FigeroaItalyAnna Fali NEGOTIATION
Ivar E TollnerSpainAmy Elsner RENEWAL
Ricardo U BriddickSpainXuxue Feng PROPOSAL
Kadeem U IturbideAustraliaIoni Bowcher NEGOTIATION
Claire F BowleyBrazilIoni Bowcher RENEWAL
Wickens I AlbaresGermanyIoni Bowcher RENEWAL
Arvin E OldroydIndiaAnna Fali PROPOSAL
Munro R SaylorsGermanyIoni Bowcher NEGOTIATION
Ivar H WaycottUnited KingdomAnna Fali UNQUALIFIED
Wickens Y WaycottUnited KingdomAnna Fali 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>