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
Francesco U RimCanadaAmy Elsner PROPOSAL
Clifford M InouyeArgentinaXuxue Feng NEGOTIATION
Deepesh K StensethRussiaXuxue Feng UNQUALIFIED
Sinclair N KolmetzAustraliaIvan Magalhaes UNQUALIFIED
Maria Z MarrierBrazilXuxue Feng RENEWAL
Clifford C GlickBrazilAsiya Javayant RENEWAL
Darci T MorascaUnited KingdomAsiya Javayant PROPOSAL
Leja D WaycottGermanyBernardo Dominic PROPOSAL
Silvio F InouyeUnited KingdomIoni Bowcher PROPOSAL
Tony K OldroydItalyAmy Elsner QUALIFIED
Darci O WhobreyUnited KingdomStephen Shaw NEGOTIATION
Salvatore B GillianAustraliaOnyama Limba NEW
Murillo S KolmetzCanadaAmy Elsner PROPOSAL
Alejandro Z CaudyRussiaIoni Bowcher QUALIFIED
Aika R ChuiCanadaElwin Sharvill NEW
Salvatore S FigeroaAustraliaBernardo Dominic NEW
Nicolas R WaycottRussiaIvan Magalhaes NEGOTIATION
Antonio B NestleCanadaStephen Shaw NEGOTIATION
Misaki X RulapaughArgentinaStephen Shaw RENEWAL
Ricardo K OstroskyGermanyStephen Shaw RENEWAL
Emily V FollerArgentinaOnyama Limba NEW
Kadeem G RutaBrazilOnyama Limba QUALIFIED
Emily F SchemmerAustraliaAsiya Javayant QUALIFIED
Antonio K TollnerSpainIoni Bowcher RENEWAL
Leja X GillianBrazilAnna Fali NEW
Tony E FollerArgentinaElwin Sharvill NEGOTIATION
Leon N RulapaughFranceBernardo Dominic NEW
David X PerinIndiaElwin Sharvill QUALIFIED
Chavez D OldroydAustraliaStephen Shaw PROPOSAL
Emily A CampainFranceAsiya Javayant NEGOTIATION
Arvin L GlickBrazilXuxue Feng RENEWAL
Deepesh S OstroskyFranceXuxue Feng RENEWAL
Jefferson N CampainJapanAnna Fali UNQUALIFIED
Salvatore U BriddickUnited KingdomXuxue Feng QUALIFIED
James P WieserJapanXuxue Feng NEW
Faith P SlusarskiGermanyAnna Fali RENEWAL
Ashley X PoquetteRussiaXuxue Feng NEW
Salvatore T MarrierRussiaBernardo Dominic PROPOSAL
Aruna H CampainJapanIvan Magalhaes QUALIFIED
Maisha S MarrierSpainBernardo Dominic UNQUALIFIED
Deepesh R MacleadJapanElwin Sharvill RENEWAL
Tony L GlickArgentinaElwin Sharvill NEW
Costa C WieserGermanyElwin Sharvill QUALIFIED
Johnson R WieserAustraliaElwin Sharvill PROPOSAL
Adams F StockhamUnited KingdomAsiya Javayant QUALIFIED
Morrow B RoysterGermanyOnyama Limba NEW
Alejandro C PaprockiGermanyAmy Elsner UNQUALIFIED
James N NestleGermanyOnyama Limba QUALIFIED
Aika T RoysterCanadaAnna Fali PROPOSAL
Maria Y SlusarskiArgentinaAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Francesco A GarufiAustraliaAsiya Javayant UNQUALIFIED
Mujtaba M FollerItalyAnna Fali RENEWAL
Munro Y ShinkoAustraliaAsiya Javayant NEW
Stacey Q CaudyRussiaOnyama Limba PROPOSAL
Aika P GarufiItalyIoni Bowcher PROPOSAL
Aika B PerinItalyIoni Bowcher UNQUALIFIED
Jones R MorascaCanadaIoni Bowcher NEW
Isabel C SchemmerGermanyIoni Bowcher RENEWAL
Cody O IturbideAustraliaOnyama Limba NEGOTIATION
Chavez S AmigonFranceStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson I AmigonRussia2026-07-31King, Christopher A Esq UNQUALIFIED84Anna Fali
1001Kaitlin H StensethItaly2026-07-28Rousseaux, Michael Esq RENEWAL85Ioni Bowcher
1002Wickens A ChuiAustralia2026-07-12Chapman, Ross E Esq RENEWAL29Onyama Limba
1003Izzy I CaldareraItaly2026-07-19Chemel, James L Cpa RENEWAL49Xuxue Feng
1004Juan M PerinIndia2026-07-24Truhlar And Truhlar Attys NEW78Amy Elsner
1005Munro G MaletBrazil2026-08-02Chapman, Ross E Esq RENEWAL39Amy Elsner
1006Jefferson R ShinkoJapan2026-07-26Dorl, James J Esq NEGOTIATION48Ivan Magalhaes
1007Maisha Q KuskoFrance2026-07-15Chemel, James L Cpa NEW29Elwin Sharvill
1008Aruna F MaletIndia2026-08-01Printing Dimensions QUALIFIED51Ioni Bowcher
1009Leja I MaletAustralia2026-07-17Morlong Associates NEW41Ioni Bowcher
1010Ricardo L GarufiFrance2026-07-23Truhlar And Truhlar Attys NEGOTIATION43Anna Fali
1011Izzy M WieserCanada2026-07-16Commercial Press QUALIFIED18Anna Fali
1012Nicolas K GillianGermany2026-08-01Commercial Press NEW8Xuxue Feng
1013Julie M KuskoAustralia2026-07-26Chanay, Jeffrey A Esq UNQUALIFIED90Asiya Javayant
1014Claire V GarufiFrance2026-07-22Buckley Miller Wright PROPOSAL60Ivan Magalhaes
1015Alejandro Y PaprockiFrance2026-07-23Chanay, Jeffrey A Esq QUALIFIED45Stephen Shaw
1016Arvin S StockhamAustralia2026-07-21King, Christopher A Esq PROPOSAL18Elwin Sharvill
1017Ashley X StockhamRussia2026-08-06Rangoni Of Florence PROPOSAL29Amy Elsner
1018Alejandro N RoysterJapan2026-08-06Chapman, Ross E Esq NEGOTIATION18Ioni Bowcher
1019David U MaletItaly2026-07-16Commercial Press NEW41Xuxue Feng
1020Munro G InouyeArgentina2026-07-27King, Christopher A Esq UNQUALIFIED67Ivan Magalhaes
1021Adams U DilliardCanada2026-08-05Morlong Associates QUALIFIED18Xuxue Feng
1022Tony J FigeroaGermany2026-07-24Dorl, James J Esq UNQUALIFIED76Onyama Limba
1023Wickens D FerenczGermany2026-07-19Chanay, Jeffrey A Esq PROPOSAL90Amy Elsner
1024Claire R MacleadRussia2026-08-04Dorl, James J Esq PROPOSAL74Bernardo Dominic
1025Mujtaba O FerenczAustralia2026-08-01Feltz Printing Service QUALIFIED76Asiya Javayant
1026Mujtaba G SlusarskiFrance2026-07-30Printing Dimensions PROPOSAL92Amy Elsner
1027Jennifer N MaletBrazil2026-07-27Chanay, Jeffrey A Esq RENEWAL18Xuxue Feng
1028Faith K OldroydFrance2026-07-31Feiner Bros RENEWAL86Xuxue Feng
1029Salvatore R SaylorsArgentina2026-07-11Morlong Associates NEGOTIATION8Onyama Limba
1030Morrow E MacleadCanada2026-07-24Dorl, James J Esq NEW6Amy Elsner
1031Tony O OldroydItaly2026-07-17Printing Dimensions RENEWAL99Amy Elsner
1032Adams Y CampainBrazil2026-08-02Printing Dimensions UNQUALIFIED99Anna Fali
1033Greenwood B DilliardFrance2026-08-03Morlong Associates RENEWAL7Amy Elsner
1034Sinclair Z PaprockiSpain2026-07-12Chapman, Ross E Esq QUALIFIED44Bernardo Dominic
1035Arvin H VocelkaRussia2026-07-23Morlong Associates RENEWAL49Ivan Magalhaes
1036Julie U FigeroaIndia2026-07-27Rousseaux, Michael Esq PROPOSAL79Asiya Javayant
1037Claire T GlickBrazil2026-07-26Feiner Bros RENEWAL98Ivan Magalhaes
1038David F ButtRussia2026-07-27Chapman, Ross E Esq UNQUALIFIED26Amy Elsner
1039Ricardo G OstroskyUnited Kingdom2026-07-25Truhlar And Truhlar Attys UNQUALIFIED57Ioni Bowcher
1040Jennifer L GillianFrance2026-08-02Benton, John B Jr NEW71Bernardo Dominic
1041Misaki S FollerJapan2026-07-24Rangoni Of Florence NEGOTIATION1Asiya Javayant
1042Aruna F NestleIndia2026-07-26Chapman, Ross E Esq NEGOTIATION7Ivan Magalhaes
1043Rodrigues Z CampainUnited Kingdom2026-07-26King, Christopher A Esq QUALIFIED75Onyama Limba
1044Mayumi Z MacleadItaly2026-07-11Commercial Press NEGOTIATION38Bernardo Dominic
1045Julie Z CaudyJapan2026-07-23Rousseaux, Michael Esq RENEWAL40Stephen Shaw
1046Jennifer J BowleyRussia2026-08-04Chemel, James L Cpa PROPOSAL75Amy Elsner
1047Juan B SchemmerIndia2026-08-03King, Christopher A Esq UNQUALIFIED9Elwin Sharvill
1048Jefferson Y ButtArgentina2026-07-29Feiner Bros QUALIFIED55Ivan Magalhaes
1049Johnson M DilliardIndia2026-08-03Dorl, James J Esq QUALIFIED26Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba F SergiIndiaXuxue Feng NEW
Emily S FlosiAustraliaAsiya Javayant NEGOTIATION
Adams G InouyeGermanyAnna Fali UNQUALIFIED
Chavez D GlickGermanyIvan Magalhaes UNQUALIFIED
Alejandro Q TollnerFranceIoni Bowcher QUALIFIED
Sinclair X NestleUnited KingdomStephen Shaw UNQUALIFIED
Wickens D CaudyUnited KingdomXuxue Feng RENEWAL
Greenwood V FlosiSpainIoni Bowcher UNQUALIFIED
Octavia D SchemmerFranceElwin Sharvill NEW
Adams S WaycottAustraliaAnna Fali NEW
Juan F WieserItalyIoni Bowcher RENEWAL
Kadeem S KolmetzFranceAnna Fali UNQUALIFIED
Faith D InouyeCanadaOnyama Limba NEGOTIATION
Kadeem Y KuskoJapanOnyama Limba UNQUALIFIED
Sinclair C CaldareraIndiaElwin Sharvill QUALIFIED
Alejandro M TollnerCanadaElwin Sharvill PROPOSAL
Claire T WaycottSpainIoni Bowcher PROPOSAL
Octavia D DoeSpainIoni Bowcher NEGOTIATION
Nicolas C StockhamFranceElwin Sharvill RENEWAL
Ricardo N KuskoJapanAmy Elsner NEGOTIATION
Silvio K GarufiGermanyIvan Magalhaes NEGOTIATION
Arvin W SchemmerAustraliaStephen Shaw PROPOSAL
Maisha U CaldareraSpainIoni Bowcher NEGOTIATION
Tony D VenereFranceAnna Fali NEW
Claire G RimItalyAnna Fali RENEWAL
Sinclair T MarrierIndiaAsiya Javayant RENEWAL
Mujtaba S ChuiBrazilStephen Shaw PROPOSAL
Aditya C CampainUnited KingdomIvan Magalhaes RENEWAL
Francesco O PaprockiRussiaAmy Elsner NEW
Aruna Q BowleySpainIvan Magalhaes NEW
Francesco W CaudyUnited KingdomAmy Elsner RENEWAL
Jones J StockhamCanadaAmy Elsner RENEWAL
Murillo S ShinkoItalyElwin Sharvill PROPOSAL
Misaki K TollnerItalyOnyama Limba QUALIFIED
Maisha M WaycottCanadaAsiya Javayant UNQUALIFIED
Smith M MarrierAustraliaXuxue Feng RENEWAL
James D BriddickJapanAnna Fali RENEWAL
Julie F MarrierBrazilAmy Elsner QUALIFIED
Adams W RoysterAustraliaAmy Elsner RENEWAL
Greenwood R BriddickSpainBernardo Dominic QUALIFIED
Izzy B FerenczFranceOnyama Limba RENEWAL
Sinclair U MaletAustraliaStephen Shaw UNQUALIFIED
Francesco A SchemmerJapanIoni Bowcher PROPOSAL
Adams P ChuiSpainStephen Shaw NEW
Aditya C BriddickJapanOnyama Limba QUALIFIED
Juan G KuskoSpainBernardo Dominic NEW
David U DarakjyFranceIoni Bowcher NEW
Jones Y SaylorsFranceIoni Bowcher NEGOTIATION
Kadeem K InouyeGermanyAnna Fali NEW
Stacey Y ButtArgentinaOnyama Limba NEGOTIATION
Frozen Columns
Name
Francesco W Sergi
Chavez L Whobrey
Aruna J Butt
Tony L Marrier
Izzy C Amigon
Silvio R Foller
Isabel L Glick
Emily X Malet
Deepesh B Kolmetz
Jennifer T Perin
Johnson I Tollner
Isabel Z Vocelka
Claire B Poquette
Costa A Ferencz
Jeanfrancois F Venere
Darci S Butt
Morrow Q Tollner
Alejandro O Vocelka
Tony X Sergi
Wickens U Flosi
Greenwood T Malet
Kadeem L Malet
Munro A Malet
Aruna E Amigon
Emily T Chui
Adams Z Figeroa
James A Whobrey
Misaki T Saylors
Ricardo C Ruta
Maisha I Malet
Tony N Gillian
Julie T Dilliard
Wickens E Saylors
Smith T Darakjy
Salvatore Q Campain
Greenwood N Campain
Faith X Poquette
Greenwood W Schemmer
Ashley P Bowley
Faith W Whobrey
Jones B Garufi
Cody P Caudy
Isabel E Ostrosky
Aditya O Maclead
Jennifer P Oldroyd
Misaki G Maclead
Mujtaba Y Poquette
Clifford F Tollner
Kaitlin W Schemmer
Murillo C Sergi
IdCountryDate
1000France2026-07-29
1001Spain2026-08-06
1002Russia2026-07-14
1003India2026-08-09
1004Germany2026-08-04
1005Australia2026-08-05
1006United Kingdom2026-07-29
1007Australia2026-08-09
1008Canada2026-08-08
1009Italy2026-07-11
1010Italy2026-08-05
1011Japan2026-07-28
1012Argentina2026-07-18
1013Italy2026-07-14
1014Italy2026-07-21
1015Italy2026-07-16
1016Spain2026-07-28
1017Canada2026-07-22
1018Russia2026-08-09
1019Russia2026-08-02
1020Argentina2026-07-29
1021Australia2026-07-23
1022Russia2026-07-20
1023Argentina2026-07-16
1024Spain2026-07-20
1025United Kingdom2026-07-18
1026Japan2026-07-17
1027Japan2026-08-06
1028Italy2026-07-22
1029France2026-08-08
1030Germany2026-07-15
1031France2026-07-22
1032United Kingdom2026-08-02
1033France2026-07-16
1034Australia2026-07-13
1035Canada2026-07-26
1036Argentina2026-08-06
1037Spain2026-07-29
1038Japan2026-07-30
1039Germany2026-07-22
1040Spain2026-07-29
1041United Kingdom2026-07-31
1042Canada2026-07-13
1043Spain2026-07-17
1044Japan2026-07-12
1045France2026-07-12
1046Germany2026-07-22
1047United Kingdom2026-07-26
1048Canada2026-07-20
1049Brazil2026-07-15

On-Demand Data

NameIdCountryDate
Murillo Y Malet1000Australia2026-08-02
Jennifer M Vocelka1001Brazil2026-07-31
Arvin Z Ruta1002France2026-07-15
Stacey T Glick1003India2026-07-27
Isabel J Foller1004France2026-08-07
Jones M Briddick1005Brazil2026-08-04
Jennifer M Campain1006Argentina2026-07-28
Claire E Glick1007Canada2026-07-20
Alejandro M Darakjy1008United Kingdom2026-07-23
David Q Rulapaugh1009Argentina2026-07-12
David Y Campain1010Australia2026-07-20
Silvio J Sergi1011Canada2026-07-26
Arvin A Shinko1012Argentina2026-07-29
Faith E Foller1013Japan2026-07-21
Juan U Saylors1014Australia2026-07-12
David B Rulapaugh1015Germany2026-07-23
Julie E Glick1016United Kingdom2026-07-17
Maisha F Tollner1017India2026-07-14
Johnson Y Maclead1018Canada2026-08-09
Antonio M Bolognia1019United Kingdom2026-07-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford C ShinkoGermanyAsiya Javayant RENEWAL
Arvin X GarufiRussiaOnyama Limba QUALIFIED
Chavez O FigeroaBrazilAmy Elsner QUALIFIED
Kaitlin T FigeroaAustraliaIvan Magalhaes QUALIFIED
Claire T AmigonItalyIvan Magalhaes UNQUALIFIED
David T NestleRussiaXuxue Feng RENEWAL
Jones M ShinkoAustraliaAmy Elsner NEW
Jeanfrancois M PoquetteItalyXuxue Feng UNQUALIFIED
Wickens X RoysterIndiaIvan Magalhaes NEW
Jefferson T VenereIndiaStephen Shaw UNQUALIFIED
Johnson S GlickRussiaXuxue Feng RENEWAL
Kadeem P MarrierCanadaElwin Sharvill NEGOTIATION
Leon H IturbideIndiaAnna Fali RENEWAL
Deepesh I FlosiBrazilAnna Fali PROPOSAL
Jones I BowleyUnited KingdomOnyama Limba NEGOTIATION
Morrow A TollnerRussiaAmy Elsner PROPOSAL
Aditya S StensethSpainAnna Fali NEW
Izzy Y PaprockiIndiaElwin Sharvill PROPOSAL
Mujtaba G KuskoRussiaAnna Fali UNQUALIFIED
Jones T CampainIndiaXuxue Feng NEGOTIATION
Misaki Z FerenczArgentinaAnna Fali NEGOTIATION
Leon B StensethAustraliaAmy Elsner PROPOSAL
Mujtaba P RoysterSpainAnna Fali RENEWAL
Leon Y DarakjyRussiaStephen Shaw UNQUALIFIED
Leon L CaldareraAustraliaElwin Sharvill NEW
Deepesh U KuskoIndiaStephen Shaw UNQUALIFIED
Wickens Q BowleyUnited KingdomAsiya Javayant PROPOSAL
Sinclair E GlickRussiaXuxue Feng UNQUALIFIED
Claire T RoysterUnited KingdomBernardo Dominic RENEWAL
Darci O BriddickUnited KingdomIvan Magalhaes QUALIFIED
Johnson A MaletAustraliaStephen Shaw PROPOSAL
Darci Z RutaRussiaAnna Fali PROPOSAL
Smith B CaldareraSpainIvan Magalhaes UNQUALIFIED
Mujtaba S MacleadArgentinaAmy Elsner PROPOSAL
James A SaylorsRussiaOnyama Limba NEW
Jennifer M StockhamBrazilBernardo Dominic QUALIFIED
Faith C TollnerSpainIvan Magalhaes RENEWAL
Francesco Y PoquetteArgentinaIvan Magalhaes QUALIFIED
Nicolas A PaprockiArgentinaIoni Bowcher PROPOSAL
Tony I MaletIndiaBernardo Dominic RENEWAL

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