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
Munro Y ButtItalyIvan Magalhaes NEW
Claire V InouyeBrazilIoni Bowcher NEGOTIATION
Jefferson W VocelkaIndiaXuxue Feng NEW
Emily P ShinkoSpainStephen Shaw QUALIFIED
Juan B ChuiGermanyXuxue Feng QUALIFIED
Jefferson W GillianJapanAnna Fali UNQUALIFIED
Jennifer S OstroskyAustraliaAsiya Javayant NEW
Francesco T MarrierAustraliaStephen Shaw QUALIFIED
Ricardo W DilliardJapanAsiya Javayant NEW
Clifford S MaletSpainXuxue Feng UNQUALIFIED
Jefferson E StockhamIndiaIoni Bowcher NEGOTIATION
Cody O IturbideFranceOnyama Limba NEGOTIATION
Emily A WaycottUnited KingdomXuxue Feng NEW
Misaki K AmigonJapanIvan Magalhaes PROPOSAL
Emily V RimSpainIoni Bowcher QUALIFIED
Murillo E RoysterGermanyXuxue Feng NEGOTIATION
Nicolas W PerinFranceBernardo Dominic PROPOSAL
Mayumi S RimAustraliaXuxue Feng QUALIFIED
Murillo I ButtArgentinaStephen Shaw QUALIFIED
Ashley B BowleyAustraliaStephen Shaw RENEWAL
Cody U MarrierJapanAnna Fali NEW
Wickens W SlusarskiFranceIvan Magalhaes QUALIFIED
Emily J MarrierGermanyElwin Sharvill NEW
Darci Q KolmetzItalyAsiya Javayant NEW
Chavez K GlickBrazilAmy Elsner NEW
Clifford O BologniaItalyBernardo Dominic PROPOSAL
Claire E MacleadFranceAnna Fali NEGOTIATION
Nicolas M FollerBrazilIvan Magalhaes NEW
Sinclair V IturbideJapanOnyama Limba NEGOTIATION
Izzy I CaudyIndiaAnna Fali QUALIFIED
Julie J AmigonJapanOnyama Limba NEGOTIATION
Isabel Q OstroskyGermanyBernardo Dominic PROPOSAL
Alejandro I WaycottSpainIvan Magalhaes PROPOSAL
Maria R FollerItalyStephen Shaw QUALIFIED
Chavez E BriddickBrazilAsiya Javayant QUALIFIED
Aruna N ButtSpainStephen Shaw NEGOTIATION
Smith J NickaArgentinaOnyama Limba NEGOTIATION
Chavez G DilliardUnited KingdomAsiya Javayant UNQUALIFIED
Leja F DilliardFranceIvan Magalhaes PROPOSAL
James N SlusarskiFranceXuxue Feng RENEWAL
Kaitlin R BowleyUnited KingdomElwin Sharvill NEGOTIATION
Greenwood C PoquetteBrazilXuxue Feng RENEWAL
Silvio M OstroskyItalyIvan Magalhaes QUALIFIED
Juan B FerenczCanadaAmy Elsner QUALIFIED
Kaitlin L WhobreyItalyBernardo Dominic NEGOTIATION
Faith W FollerSpainAnna Fali PROPOSAL
Darci I StockhamBrazilStephen Shaw UNQUALIFIED
Alejandro E SlusarskiFranceOnyama Limba PROPOSAL
Izzy J VenereAustraliaAnna Fali PROPOSAL
Salvatore Y DilliardFranceAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Kaitlin F PaprockiJapanElwin Sharvill RENEWAL
Maisha N NickaArgentinaBernardo Dominic UNQUALIFIED
Emily S DarakjyBrazilAnna Fali RENEWAL
Arvin O BowleyGermanyIvan Magalhaes PROPOSAL
Johnson D OstroskySpainIoni Bowcher NEGOTIATION
Julie N OldroydAustraliaBernardo Dominic NEW
Isabel C GarufiGermanyAmy Elsner NEGOTIATION
Ashley Z RulapaughRussiaElwin Sharvill PROPOSAL
Leon B FigeroaFranceAmy Elsner UNQUALIFIED
Misaki Q OldroydFranceElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha B AlbaresGermany2025-04-05Dorl, James J Esq NEW85Asiya Javayant
1001Ashley X GlickAustralia2025-04-16Rangoni Of Florence QUALIFIED61Anna Fali
1002Wickens C KuskoJapan2025-04-08Feiner Bros UNQUALIFIED94Onyama Limba
1003Ricardo A GarufiSpain2025-04-19Printing Dimensions UNQUALIFIED80Bernardo Dominic
1004Mujtaba C BowleyGermany2025-04-12Chanay, Jeffrey A Esq RENEWAL36Xuxue Feng
1005James J BowleyCanada2025-04-06Morlong Associates RENEWAL38Ivan Magalhaes
1006Darci J FigeroaSpain2025-04-24Rousseaux, Michael Esq NEW76Anna Fali
1007Greenwood T OstroskyGermany2025-04-19Printing Dimensions NEGOTIATION27Bernardo Dominic
1008Ricardo A ShinkoJapan2025-04-30Truhlar And Truhlar Attys NEW96Elwin Sharvill
1009Munro E ShinkoJapan2025-04-30Buckley Miller Wright UNQUALIFIED24Ioni Bowcher
1010Ricardo O GarufiRussia2025-04-30Commercial Press RENEWAL8Bernardo Dominic
1011Johnson R SergiAustralia2025-04-19Feiner Bros NEGOTIATION81Stephen Shaw
1012Leon S PaprockiRussia2025-04-25Buckley Miller Wright PROPOSAL43Ivan Magalhaes
1013Isabel M FollerFrance2025-04-17Chapman, Ross E Esq RENEWAL67Bernardo Dominic
1014Francesco K MacleadJapan2025-04-06Printing Dimensions QUALIFIED36Ivan Magalhaes
1015Darci M StensethItaly2025-04-21King, Christopher A Esq PROPOSAL70Onyama Limba
1016Salvatore U BologniaJapan2025-04-20Dorl, James J Esq QUALIFIED43Anna Fali
1017Octavia P CampainGermany2025-04-28Chanay, Jeffrey A Esq QUALIFIED69Bernardo Dominic
1018Darci R DarakjyGermany2025-04-19Morlong Associates PROPOSAL35Anna Fali
1019Darci Y PoquetteBrazil2025-04-19Rangoni Of Florence QUALIFIED83Anna Fali
1020Leja Q DarakjyAustralia2025-04-11Chanay, Jeffrey A Esq NEW81Elwin Sharvill
1021Aruna Q CaudyCanada2025-04-27Feltz Printing Service QUALIFIED42Asiya Javayant
1022Kadeem I CaudyAustralia2025-04-03Feiner Bros QUALIFIED4Asiya Javayant
1023Stacey U StensethRussia2025-04-26Benton, John B Jr NEW80Onyama Limba
1024Cody D StockhamItaly2025-04-15Benton, John B Jr QUALIFIED85Asiya Javayant
1025Chavez P GarufiAustralia2025-04-26Buckley Miller Wright RENEWAL34Bernardo Dominic
1026Deepesh W PaprockiRussia2025-04-07King, Christopher A Esq QUALIFIED10Ioni Bowcher
1027Aditya P VocelkaSpain2025-04-19Morlong Associates NEW60Xuxue Feng
1028Wickens G WhobreyFrance2025-04-22Feiner Bros QUALIFIED99Bernardo Dominic
1029Faith R BologniaUnited Kingdom2025-04-23Commercial Press QUALIFIED32Onyama Limba
1030Faith O FlosiUnited Kingdom2025-04-21Rousseaux, Michael Esq UNQUALIFIED11Ioni Bowcher
1031Ivar U BologniaIndia2025-04-15Morlong Associates QUALIFIED89Bernardo Dominic
1032Mujtaba O RulapaughJapan2025-04-09Truhlar And Truhlar Attys QUALIFIED94Anna Fali
1033Costa P DilliardSpain2025-04-04Benton, John B Jr QUALIFIED90Stephen Shaw
1034Aruna Y NestleJapan2025-04-25Feltz Printing Service PROPOSAL67Asiya Javayant
1035Deepesh H CampainArgentina2025-04-16Dorl, James J Esq UNQUALIFIED38Xuxue Feng
1036Ashley F KolmetzFrance2025-04-15Chemel, James L Cpa UNQUALIFIED95Asiya Javayant
1037Alejandro Q InouyeIndia2025-04-06Printing Dimensions QUALIFIED87Anna Fali
1038Wickens R PoquetteIndia2025-04-04Commercial Press NEW60Xuxue Feng
1039Leja M SchemmerJapan2025-04-07Printing Dimensions PROPOSAL80Anna Fali
1040Silvio D PoquetteItaly2025-04-28Truhlar And Truhlar Attys NEW31Ioni Bowcher
1041Deepesh D MorascaSpain2025-04-19Chapman, Ross E Esq NEW10Amy Elsner
1042Costa C DarakjyUnited Kingdom2025-04-07Dorl, James J Esq NEW56Asiya Javayant
1043Antonio F CaudyBrazil2025-04-21Feiner Bros NEW32Bernardo Dominic
1044Greenwood Y GlickAustralia2025-04-19Chemel, James L Cpa PROPOSAL62Elwin Sharvill
1045James F FigeroaAustralia2025-04-06Commercial Press QUALIFIED83Onyama Limba
1046Tony W CaldareraSpain2025-04-12Chanay, Jeffrey A Esq UNQUALIFIED56Elwin Sharvill
1047Izzy C MarrierRussia2025-04-01Truhlar And Truhlar Attys NEW67Ivan Magalhaes
1048Jennifer H WieserArgentina2025-04-10Feltz Printing Service RENEWAL59Xuxue Feng
1049Juan Q PoquetteFrance2025-04-15Chemel, James L Cpa PROPOSAL62Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Leja V RoysterAustraliaAsiya Javayant PROPOSAL
Isabel W CaldareraIndiaAsiya Javayant QUALIFIED
Smith Z RoysterRussiaBernardo Dominic NEW
Jefferson H KolmetzIndiaIvan Magalhaes NEW
Juan X PaprockiCanadaAsiya Javayant QUALIFIED
Aika A KolmetzUnited KingdomIoni Bowcher PROPOSAL
Aika W CampainFranceStephen Shaw QUALIFIED
Jones N BriddickBrazilStephen Shaw NEW
Cody S CaldareraBrazilIoni Bowcher RENEWAL
James A ChuiCanadaIvan Magalhaes QUALIFIED
Morrow N OldroydCanadaAsiya Javayant PROPOSAL
Leon L IturbideUnited KingdomIvan Magalhaes RENEWAL
Greenwood U WieserAustraliaIoni Bowcher QUALIFIED
Aika Y WhobreyArgentinaStephen Shaw NEW
Jones P CaudyIndiaIvan Magalhaes RENEWAL
Jefferson P BriddickFranceAsiya Javayant QUALIFIED
Jefferson C RutaJapanIoni Bowcher RENEWAL
Adams J AlbaresIndiaXuxue Feng UNQUALIFIED
Misaki Q SchemmerJapanIvan Magalhaes NEW
Stacey S MarrierArgentinaAmy Elsner QUALIFIED
Rodrigues J ButtRussiaStephen Shaw PROPOSAL
Jones A BriddickAustraliaElwin Sharvill RENEWAL
Smith Y StensethFranceAnna Fali NEGOTIATION
Juan L WieserSpainXuxue Feng QUALIFIED
Julie P AmigonSpainStephen Shaw PROPOSAL
Alejandro E FigeroaCanadaIoni Bowcher NEW
Sinclair R GauchoItalyElwin Sharvill QUALIFIED
Izzy Z GauchoIndiaXuxue Feng QUALIFIED
Aika A SchemmerItalyXuxue Feng NEGOTIATION
Misaki J FerenczJapanIoni Bowcher QUALIFIED
Cody K DoeFranceAmy Elsner UNQUALIFIED
Ricardo A BriddickItalyIvan Magalhaes RENEWAL
Isabel L FigeroaSpainIvan Magalhaes PROPOSAL
Morrow D GauchoBrazilAsiya Javayant UNQUALIFIED
Jeanfrancois T RimArgentinaBernardo Dominic NEW
Jones F FollerItalyElwin Sharvill RENEWAL
Octavia D StensethArgentinaIoni Bowcher NEW
Kaitlin Z WaycottItalyAsiya Javayant RENEWAL
Octavia J OldroydAustraliaStephen Shaw NEW
Ivar X InouyeBrazilBernardo Dominic PROPOSAL
Cody Z FigeroaJapanAsiya Javayant PROPOSAL
Wickens Z DoeCanadaStephen Shaw RENEWAL
Jennifer S GillianCanadaElwin Sharvill NEGOTIATION
Smith V FerenczItalyAmy Elsner UNQUALIFIED
Adams J NestleRussiaAnna Fali UNQUALIFIED
Darci H GarufiSpainStephen Shaw NEW
Emily E DoeFranceIvan Magalhaes UNQUALIFIED
Murillo M RimGermanyElwin Sharvill RENEWAL
Deepesh Y SlusarskiUnited KingdomStephen Shaw RENEWAL
Izzy I FlosiCanadaAsiya Javayant PROPOSAL
Frozen Columns
Name
Aika K Kusko
Salvatore S Albares
Misaki E Doe
Alejandro X Marrier
Alejandro T Ferencz
Claire T Saylors
Aditya D Waycott
Faith F Schemmer
Leon R Ostrosky
James I Inouye
Ashley N Chui
Smith R Kusko
Arvin D Malet
Smith Q Saylors
Mujtaba S Stenseth
Francesco P Schemmer
Greenwood F Maclead
Greenwood W Caldarera
Mayumi Y Briddick
Smith I Chui
Sinclair E Ruta
Costa N Butt
Ashley D Ruta
Antonio H Bowley
Ivar Q Ferencz
Jeanfrancois U Vocelka
Misaki E Nestle
Jennifer A Nestle
Leon D Chui
Clifford H Wieser
Greenwood A Wieser
Deepesh W Caudy
Julie P Schemmer
Leja S Figeroa
Chavez S Schemmer
Jennifer P Sergi
Sinclair J Kolmetz
Aruna E Amigon
Cody X Stockham
Arvin O Stenseth
Silvio H Nicka
Wickens A Campain
David Z Kusko
Jennifer H Ruta
Adams S Caldarera
Smith S Rulapaugh
Wickens Z Wieser
Faith P Kolmetz
Silvio C Sergi
Greenwood Y Garufi
IdCountryDate
1000Russia2025-04-30
1001Germany2025-04-26
1002Brazil2025-04-05
1003Canada2025-04-17
1004Russia2025-04-01
1005Germany2025-04-06
1006Canada2025-04-04
1007Italy2025-04-02
1008Brazil2025-04-11
1009Canada2025-04-07
1010Canada2025-04-08
1011Germany2025-04-18
1012France2025-04-09
1013India2025-04-20
1014Russia2025-04-15
1015United Kingdom2025-04-24
1016Spain2025-04-13
1017France2025-04-04
1018Argentina2025-04-24
1019Italy2025-04-28
1020Russia2025-04-17
1021United Kingdom2025-04-10
1022United Kingdom2025-04-29
1023Australia2025-04-16
1024Argentina2025-04-07
1025Italy2025-04-18
1026United Kingdom2025-04-23
1027Japan2025-04-24
1028France2025-04-24
1029Australia2025-04-08
1030Brazil2025-04-03
1031Argentina2025-04-16
1032Italy2025-04-11
1033Japan2025-04-14
1034Australia2025-04-28
1035Japan2025-04-09
1036Japan2025-04-11
1037Argentina2025-04-10
1038Japan2025-04-05
1039Argentina2025-04-24
1040France2025-04-30
1041Canada2025-04-05
1042United Kingdom2025-04-18
1043United Kingdom2025-04-11
1044India2025-04-08
1045Spain2025-04-19
1046Italy2025-04-20
1047France2025-04-26
1048Italy2025-04-26
1049France2025-04-02

On-Demand Data

NameIdCountryDate
Morrow O Schemmer1000Canada2025-04-02
James O Gillian1001United Kingdom2025-04-07
Juan E Poquette1002Italy2025-04-15
Octavia I Kusko1003Italy2025-04-02
Johnson O Garufi1004Germany2025-04-06
Tony F Ostrosky1005India2025-04-24
Julie W Vocelka1006France2025-04-17
Leja B Saylors1007Argentina2025-04-14
Alejandro F Poquette1008Italy2025-04-12
Jefferson P Royster1009Germany2025-04-13
Munro O Kusko1010United Kingdom2025-04-23
Francesco W Nicka1011Germany2025-04-13
Aditya Y Kusko1012Russia2025-04-09
Francesco G Kolmetz1013Italy2025-04-23
Jeanfrancois X Glick1014Russia2025-04-24
Costa O Malet1015Canada2025-04-16
Misaki E Tollner1016Japan2025-04-07
Aruna W Malet1017Italy2025-04-15
Leja J Morasca1018India2025-04-16
Aika I Ostrosky1019Italy2025-04-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio M WieserItalyElwin Sharvill NEGOTIATION
Smith G RoysterJapanOnyama Limba NEW
Mujtaba S OstroskyIndiaAmy Elsner QUALIFIED
Antonio O WieserGermanyIoni Bowcher RENEWAL
Wickens I DoeCanadaElwin Sharvill QUALIFIED
Silvio Q InouyeItalyAmy Elsner UNQUALIFIED
Jefferson C DilliardIndiaAnna Fali UNQUALIFIED
Faith K SergiArgentinaXuxue Feng UNQUALIFIED
Nicolas L CampainCanadaElwin Sharvill PROPOSAL
Mayumi M BowleyGermanyIvan Magalhaes RENEWAL
Juan G IturbideBrazilXuxue Feng NEGOTIATION
Greenwood P MaletGermanyXuxue Feng UNQUALIFIED
Jennifer K RutaGermanyStephen Shaw UNQUALIFIED
Aditya L StensethBrazilStephen Shaw PROPOSAL
Chavez C ChuiIndiaBernardo Dominic RENEWAL
Emily U CaudyIndiaAmy Elsner UNQUALIFIED
Ricardo A CaudyFranceIvan Magalhaes QUALIFIED
Wickens A PoquetteBrazilAnna Fali RENEWAL
Kadeem A OstroskyRussiaElwin Sharvill NEW
Wickens C BriddickItalyOnyama Limba RENEWAL
Ashley T OstroskyAustraliaBernardo Dominic PROPOSAL
Munro N BriddickArgentinaIvan Magalhaes UNQUALIFIED
Kadeem C RoysterAustraliaIvan Magalhaes NEW
Tony U WaycottAustraliaElwin Sharvill NEGOTIATION
Juan C RulapaughUnited KingdomXuxue Feng RENEWAL
Adams N RimIndiaXuxue Feng UNQUALIFIED
Arvin P DilliardFranceBernardo Dominic UNQUALIFIED
Izzy O SlusarskiIndiaAnna Fali QUALIFIED
Stacey Z GlickGermanyIvan Magalhaes PROPOSAL
Rodrigues D RutaItalyBernardo Dominic QUALIFIED
Arvin G PaprockiItalyBernardo Dominic UNQUALIFIED
Ashley Q RutaArgentinaStephen Shaw UNQUALIFIED
Faith R FigeroaRussiaIoni Bowcher NEW
Johnson A MaletArgentinaStephen Shaw QUALIFIED
Tony R CaldareraJapanOnyama Limba PROPOSAL
Wickens J GarufiGermanyAmy Elsner NEGOTIATION
Alejandro U VenereFranceBernardo Dominic PROPOSAL
Claire C DarakjyArgentinaAsiya Javayant UNQUALIFIED
Cody Q GarufiBrazilAnna Fali NEGOTIATION
Leon U DilliardAustraliaStephen Shaw 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>