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
Greenwood C SchemmerIndiaOnyama Limba QUALIFIED
Tony D OstroskyItalyAsiya Javayant NEGOTIATION
Aditya E IturbideBrazilIoni Bowcher PROPOSAL
Juan Q ChuiAustraliaIoni Bowcher RENEWAL
Clifford Z NickaJapanXuxue Feng PROPOSAL
Wickens Q AlbaresUnited KingdomIoni Bowcher PROPOSAL
Munro Q StensethIndiaBernardo Dominic RENEWAL
Smith R CampainFranceElwin Sharvill QUALIFIED
Izzy O ChuiGermanyAsiya Javayant PROPOSAL
Cody H FerenczRussiaIvan Magalhaes NEW
Ricardo Y MarrierSpainIoni Bowcher RENEWAL
Chavez A SlusarskiJapanElwin Sharvill UNQUALIFIED
Aika J SaylorsBrazilBernardo Dominic PROPOSAL
Alejandro B TollnerArgentinaBernardo Dominic QUALIFIED
Johnson I KuskoRussiaOnyama Limba QUALIFIED
Alejandro P DoeGermanyOnyama Limba RENEWAL
Darci L MaletAustraliaAnna Fali UNQUALIFIED
Ricardo H SaylorsArgentinaXuxue Feng QUALIFIED
Darci B WaycottIndiaAsiya Javayant QUALIFIED
Nicolas R RutaIndiaOnyama Limba NEW
Cody Z BologniaUnited KingdomAsiya Javayant NEW
Clifford W WieserItalyBernardo Dominic PROPOSAL
Johnson L CaldareraCanadaIvan Magalhaes UNQUALIFIED
Julie W IturbideBrazilElwin Sharvill PROPOSAL
Maria O MaletRussiaAsiya Javayant NEW
Mujtaba T MarrierAustraliaElwin Sharvill UNQUALIFIED
Jefferson G NickaIndiaOnyama Limba UNQUALIFIED
Octavia R CaudyFranceXuxue Feng QUALIFIED
Deepesh N BowleyItalyOnyama Limba NEGOTIATION
Jefferson S CampainArgentinaElwin Sharvill NEGOTIATION
Mayumi M SlusarskiGermanyAnna Fali NEGOTIATION
Greenwood Y TollnerIndiaStephen Shaw RENEWAL
Ivar N TollnerCanadaXuxue Feng RENEWAL
Isabel E OldroydAustraliaStephen Shaw UNQUALIFIED
Jefferson J AlbaresFranceAsiya Javayant QUALIFIED
Stacey L GarufiSpainIoni Bowcher NEGOTIATION
Mujtaba U RimIndiaXuxue Feng QUALIFIED
Morrow M WieserIndiaOnyama Limba NEW
Smith H PaprockiJapanStephen Shaw NEW
Costa L VenereRussiaElwin Sharvill RENEWAL
Morrow E FigeroaArgentinaAmy Elsner QUALIFIED
Jennifer F BowleyIndiaAnna Fali NEW
Cody E GlickRussiaAnna Fali UNQUALIFIED
Aditya D SaylorsSpainBernardo Dominic NEGOTIATION
Faith F TollnerUnited KingdomIvan Magalhaes PROPOSAL
Antonio P PerinUnited KingdomOnyama Limba NEGOTIATION
Jones E DilliardItalyAnna Fali QUALIFIED
Silvio N ChuiCanadaXuxue Feng RENEWAL
Rodrigues H RimUnited KingdomXuxue Feng UNQUALIFIED
Isabel K MaletIndiaAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois Y TollnerArgentinaIvan Magalhaes RENEWAL
Aruna U ChuiBrazilStephen Shaw RENEWAL
Costa G OldroydSpainElwin Sharvill NEW
Jennifer Y SergiGermanyElwin Sharvill RENEWAL
Deepesh G GlickJapanElwin Sharvill RENEWAL
Jennifer Z WhobreyFranceXuxue Feng QUALIFIED
Antonio L NestleItalyAsiya Javayant NEGOTIATION
Isabel D KuskoIndiaAmy Elsner UNQUALIFIED
Antonio U SlusarskiItalyBernardo Dominic UNQUALIFIED
Aika C OldroydFranceStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika C ChuiIndia2024-06-17Printing Dimensions NEW78Anna Fali
1001Silvio P PerinArgentina2024-06-15Chemel, James L Cpa UNQUALIFIED97Onyama Limba
1002Aika G GlickUnited Kingdom2024-06-11Truhlar And Truhlar Attys NEW51Bernardo Dominic
1003Leja V FigeroaAustralia2024-06-17Chapman, Ross E Esq UNQUALIFIED32Amy Elsner
1004Emily P GillianSpain2024-06-17Feltz Printing Service RENEWAL45Onyama Limba
1005Clifford N NickaItaly2024-06-02Chapman, Ross E Esq UNQUALIFIED9Ioni Bowcher
1006Faith V WaycottBrazil2024-05-31Benton, John B Jr NEW3Onyama Limba
1007Murillo Z MarrierJapan2024-06-08Feltz Printing Service QUALIFIED74Ivan Magalhaes
1008Tony Q FerenczFrance2024-05-31Feiner Bros NEW96Ivan Magalhaes
1009Smith T OstroskyAustralia2024-06-05Dorl, James J Esq UNQUALIFIED98Onyama Limba
1010Darci E FollerBrazil2024-05-20Rangoni Of Florence NEW21Anna Fali
1011Murillo C InouyeIndia2024-06-12Chemel, James L Cpa UNQUALIFIED67Amy Elsner
1012Francesco H CaldareraJapan2024-06-06Chapman, Ross E Esq RENEWAL66Amy Elsner
1013Greenwood C RoysterItaly2024-05-25Buckley Miller Wright NEW92Asiya Javayant
1014Isabel L SlusarskiItaly2024-06-11Rousseaux, Michael Esq QUALIFIED32Amy Elsner
1015Costa D DoeFrance2024-05-24Rousseaux, Michael Esq NEW52Elwin Sharvill
1016Emily Z SaylorsCanada2024-05-29Commercial Press RENEWAL40Asiya Javayant
1017David T OldroydAustralia2024-06-05Rangoni Of Florence RENEWAL69Bernardo Dominic
1018Cody W WaycottRussia2024-05-31Chapman, Ross E Esq QUALIFIED72Anna Fali
1019Julie A ButtSpain2024-05-27Truhlar And Truhlar Attys UNQUALIFIED99Ioni Bowcher
1020Ivar Z CaldareraGermany2024-05-30Dorl, James J Esq NEW18Onyama Limba
1021Leja G RoysterItaly2024-06-10Chapman, Ross E Esq UNQUALIFIED98Asiya Javayant
1022Jefferson M SlusarskiFrance2024-06-09Morlong Associates QUALIFIED75Bernardo Dominic
1023Aika T OstroskyArgentina2024-06-04Buckley Miller Wright NEW67Asiya Javayant
1024Aika U AlbaresFrance2024-05-28Chanay, Jeffrey A Esq NEGOTIATION0Xuxue Feng
1025Jones R MaletAustralia2024-06-12Chanay, Jeffrey A Esq RENEWAL22Xuxue Feng
1026Tony B BowleyItaly2024-06-04Printing Dimensions NEGOTIATION95Amy Elsner
1027Aditya L ButtAustralia2024-05-22Morlong Associates PROPOSAL9Onyama Limba
1028Kaitlin C KolmetzAustralia2024-05-27Feiner Bros UNQUALIFIED78Anna Fali
1029Nicolas O OstroskySpain2024-06-04Feltz Printing Service QUALIFIED67Bernardo Dominic
1030Octavia Q FerenczIndia2024-05-25Chapman, Ross E Esq UNQUALIFIED20Anna Fali
1031Octavia J RoysterAustralia2024-06-15Dorl, James J Esq PROPOSAL19Ivan Magalhaes
1032Antonio C MarrierBrazil2024-06-10Commercial Press QUALIFIED4Amy Elsner
1033Claire T KolmetzUnited Kingdom2024-06-13Benton, John B Jr PROPOSAL31Anna Fali
1034Jeanfrancois D ChuiArgentina2024-06-13Commercial Press QUALIFIED20Onyama Limba
1035Maria Z MaletGermany2024-06-11Chemel, James L Cpa UNQUALIFIED39Stephen Shaw
1036James Z KuskoAustralia2024-05-26King, Christopher A Esq NEW56Elwin Sharvill
1037James T CaldareraUnited Kingdom2024-06-11Chanay, Jeffrey A Esq QUALIFIED38Stephen Shaw
1038Jefferson F GlickIndia2024-05-27Feiner Bros UNQUALIFIED30Stephen Shaw
1039Aruna G FlosiArgentina2024-05-31King, Christopher A Esq UNQUALIFIED13Amy Elsner
1040Chavez F TollnerCanada2024-06-11Buckley Miller Wright UNQUALIFIED53Asiya Javayant
1041David J OldroydSpain2024-05-23Truhlar And Truhlar Attys UNQUALIFIED39Stephen Shaw
1042Juan N InouyeIndia2024-05-29Printing Dimensions NEW80Amy Elsner
1043Murillo V GarufiAustralia2024-06-18Buckley Miller Wright RENEWAL7Elwin Sharvill
1044Tony G AlbaresSpain2024-06-13Benton, John B Jr RENEWAL70Bernardo Dominic
1045Claire F DarakjyJapan2024-06-16Chapman, Ross E Esq NEGOTIATION77Xuxue Feng
1046Tony Z RutaBrazil2024-06-04Chemel, James L Cpa PROPOSAL12Anna Fali
1047Clifford E MacleadArgentina2024-06-09Truhlar And Truhlar Attys UNQUALIFIED46Stephen Shaw
1048Aika L CaldareraFrance2024-06-11King, Christopher A Esq RENEWAL52Anna Fali
1049Aika K KolmetzRussia2024-05-23King, Christopher A Esq NEW76Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Julie X RoysterUnited KingdomAsiya Javayant NEW
Tony K WhobreyRussiaAsiya Javayant NEGOTIATION
Wickens D ShinkoUnited KingdomOnyama Limba RENEWAL
Johnson S RulapaughBrazilStephen Shaw RENEWAL
Francesco Z ShinkoGermanyStephen Shaw UNQUALIFIED
Faith U AmigonItalyAmy Elsner UNQUALIFIED
Maria H MaletCanadaStephen Shaw RENEWAL
Juan Q NestleItalyXuxue Feng NEW
Sinclair F AlbaresSpainAsiya Javayant RENEWAL
Munro V DilliardAustraliaIoni Bowcher QUALIFIED
Costa C TollnerItalyIvan Magalhaes PROPOSAL
Adams W RoysterIndiaXuxue Feng UNQUALIFIED
Arvin B SlusarskiItalyIvan Magalhaes QUALIFIED
Mujtaba T InouyeGermanyAmy Elsner PROPOSAL
Ashley H NestleCanadaAmy Elsner NEW
Kadeem X GauchoBrazilAmy Elsner QUALIFIED
Jeanfrancois Y GarufiGermanyXuxue Feng NEGOTIATION
Wickens P GillianRussiaIoni Bowcher NEW
Jefferson T VocelkaGermanyIoni Bowcher UNQUALIFIED
Ivar A ChuiItalyAsiya Javayant NEGOTIATION
Aditya D FollerJapanXuxue Feng PROPOSAL
Antonio G GarufiSpainXuxue Feng UNQUALIFIED
Silvio Y DilliardItalyAmy Elsner QUALIFIED
Cody G CaudyBrazilAsiya Javayant NEGOTIATION
Aditya Z KuskoItalyIvan Magalhaes NEW
Emily V FollerFranceAnna Fali PROPOSAL
Morrow G MaletRussiaOnyama Limba QUALIFIED
Leja Q KuskoUnited KingdomIvan Magalhaes NEW
Leja N KuskoFranceBernardo Dominic NEGOTIATION
Tony J VocelkaGermanyElwin Sharvill PROPOSAL
Mayumi C FlosiJapanBernardo Dominic NEW
Antonio E SaylorsRussiaOnyama Limba RENEWAL
Johnson R CampainGermanyIoni Bowcher PROPOSAL
David C PerinCanadaIvan Magalhaes UNQUALIFIED
Octavia J RutaItalyAmy Elsner UNQUALIFIED
David W ShinkoAustraliaStephen Shaw RENEWAL
Murillo H BriddickAustraliaStephen Shaw QUALIFIED
Jennifer O BologniaBrazilIoni Bowcher NEGOTIATION
Leon E GarufiSpainAsiya Javayant NEGOTIATION
Jefferson S DoeBrazilIoni Bowcher UNQUALIFIED
Ricardo O RulapaughGermanyIvan Magalhaes NEGOTIATION
Antonio W VocelkaAustraliaOnyama Limba UNQUALIFIED
Jones K NestleRussiaIoni Bowcher NEW
Jefferson E StockhamCanadaAsiya Javayant PROPOSAL
Claire R FerenczSpainAnna Fali RENEWAL
Julie O CaldareraCanadaAsiya Javayant QUALIFIED
Ivar E PerinCanadaAnna Fali QUALIFIED
Costa I SergiAustraliaOnyama Limba RENEWAL
James G MacleadAustraliaElwin Sharvill RENEWAL
Maria E DoeJapanAnna Fali NEGOTIATION
Frozen Columns
Name
Adams K Albares
Antonio X Schemmer
Maisha Y Nicka
Julie S Butt
Stacey O Oldroyd
Ricardo W Oldroyd
Misaki X Campain
Jennifer H Morasca
Deepesh J Butt
Juan L Briddick
Jones L Garufi
Leon T Kolmetz
Leja J Wieser
Alejandro Y Gaucho
Jones D Gaucho
Smith A Marrier
Claire F Slusarski
Salvatore K Rim
Morrow S Foller
Nicolas I Maclead
Leja E Bolognia
Julie Q Waycott
Leon O Glick
Cody D Dilliard
Emily Q Marrier
Jones I Schemmer
Wickens C Slusarski
Maisha M Caudy
Jones S Tollner
Faith D Iturbide
Nicolas U Vocelka
Jennifer N Malet
James T Darakjy
Maisha U Rim
Munro R Caudy
Leja Q Shinko
Rodrigues W Ferencz
Ashley Z Darakjy
Izzy D Kolmetz
Cody A Iturbide
Leon N Royster
Isabel C Malet
Maisha J Malet
Faith G Maclead
Wickens T Rim
Mayumi Y Iturbide
Greenwood V Rim
Emily Q Caudy
Murillo O Nestle
Murillo L Oldroyd
IdCountryDate
1000Argentina2024-06-03
1001Canada2024-06-11
1002Canada2024-05-25
1003India2024-06-13
1004Brazil2024-06-16
1005Spain2024-05-30
1006Spain2024-05-24
1007Australia2024-05-28
1008Brazil2024-06-05
1009Canada2024-06-13
1010India2024-06-07
1011France2024-06-05
1012Spain2024-06-16
1013Russia2024-06-12
1014Canada2024-05-21
1015Brazil2024-05-24
1016Argentina2024-05-31
1017United Kingdom2024-05-24
1018Japan2024-06-01
1019Australia2024-05-29
1020Italy2024-05-31
1021Australia2024-06-01
1022Spain2024-06-04
1023Argentina2024-06-05
1024Brazil2024-05-21
1025Australia2024-05-30
1026Japan2024-05-25
1027Spain2024-05-20
1028Germany2024-05-30
1029Australia2024-05-21
1030Spain2024-06-18
1031Brazil2024-06-13
1032Germany2024-05-29
1033Australia2024-05-23
1034India2024-06-04
1035Russia2024-05-29
1036United Kingdom2024-06-17
1037Australia2024-06-09
1038Russia2024-06-10
1039Germany2024-06-03
1040Japan2024-06-08
1041France2024-05-21
1042United Kingdom2024-06-14
1043United Kingdom2024-06-11
1044Russia2024-06-11
1045India2024-05-28
1046Brazil2024-06-15
1047Japan2024-05-22
1048Italy2024-05-20
1049United Kingdom2024-06-04

On-Demand Data

NameIdCountryDate
Octavia J Stenseth1000Argentina2024-06-05
Munro W Garufi1001Canada2024-06-09
Antonio H Kusko1002Brazil2024-05-22
Rodrigues N Figeroa1003Brazil2024-05-24
Jeanfrancois M Rim1004France2024-05-25
Maria H Chui1005Australia2024-05-26
Leja P Albares1006Japan2024-06-05
Jefferson X Poquette1007Japan2024-05-30
Morrow J Vocelka1008Australia2024-06-09
Aditya P Oldroyd1009Spain2024-05-29
Chavez F Figeroa1010Canada2024-05-21
Adams T Caudy1011Spain2024-06-15
Jefferson C Doe1012Brazil2024-06-05
Francesco T Vocelka1013Germany2024-05-22
Costa E Bolognia1014United Kingdom2024-06-03
Kadeem K Briddick1015India2024-05-24
Octavia T Sergi1016Argentina2024-05-22
Emily N Caudy1017India2024-05-27
Nicolas N Shinko1018Brazil2024-06-09
Johnson T Ostrosky1019France2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire B SaylorsUnited KingdomOnyama Limba NEW
Murillo G KuskoUnited KingdomBernardo Dominic PROPOSAL
Costa S ChuiUnited KingdomStephen Shaw RENEWAL
Adams H RimUnited KingdomIvan Magalhaes NEGOTIATION
Nicolas H PaprockiRussiaAnna Fali PROPOSAL
Murillo O RulapaughIndiaIvan Magalhaes PROPOSAL
Ivar I MarrierFranceBernardo Dominic PROPOSAL
Maisha S FigeroaCanadaAnna Fali RENEWAL
Isabel T DilliardSpainXuxue Feng PROPOSAL
Misaki O OstroskyJapanIvan Magalhaes UNQUALIFIED
Ashley J StockhamAustraliaAmy Elsner NEGOTIATION
Stacey Y SchemmerJapanAnna Fali PROPOSAL
Isabel C FollerItalyAsiya Javayant NEW
James D PoquetteBrazilStephen Shaw PROPOSAL
Claire N WaycottRussiaIoni Bowcher RENEWAL
Greenwood T RulapaughFranceBernardo Dominic RENEWAL
Johnson C VocelkaFranceStephen Shaw UNQUALIFIED
Aika I TollnerGermanyBernardo Dominic NEW
Morrow U KolmetzGermanyIvan Magalhaes RENEWAL
Isabel E FigeroaBrazilOnyama Limba PROPOSAL
Morrow X GillianSpainOnyama Limba NEW
Aditya G SlusarskiUnited KingdomAnna Fali QUALIFIED
Octavia R OldroydBrazilAsiya Javayant QUALIFIED
Jennifer B CaudyUnited KingdomAnna Fali UNQUALIFIED
Octavia S StockhamRussiaOnyama Limba UNQUALIFIED
Nicolas R GauchoAustraliaIoni Bowcher NEGOTIATION
Kadeem Q KolmetzUnited KingdomAmy Elsner NEW
Ashley Q CampainAustraliaOnyama Limba PROPOSAL
Greenwood A MaletCanadaIvan Magalhaes UNQUALIFIED
Maisha O FlosiJapanBernardo Dominic PROPOSAL
Salvatore J NickaBrazilAnna Fali RENEWAL
Francesco S CaldareraSpainIvan Magalhaes NEW
Claire M PaprockiCanadaIoni Bowcher PROPOSAL
Sinclair N RoysterBrazilAmy Elsner UNQUALIFIED
Maisha E PerinJapanBernardo Dominic RENEWAL
Leja L StockhamArgentinaAnna Fali NEGOTIATION
Aruna J PoquetteGermanyBernardo Dominic PROPOSAL
Leja V FollerBrazilAmy Elsner UNQUALIFIED
Mujtaba X IturbideIndiaBernardo Dominic NEW
Aditya M VocelkaIndiaIvan Magalhaes 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>