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
Chavez Q CaldareraGermanyXuxue Feng NEGOTIATION
James A MacleadIndiaAmy Elsner NEW
Juan B MaletRussiaXuxue Feng RENEWAL
Mayumi U MacleadUnited KingdomAsiya Javayant NEW
David K AlbaresRussiaElwin Sharvill QUALIFIED
Jones Y ShinkoRussiaIvan Magalhaes NEW
Kaitlin D DilliardIndiaAmy Elsner PROPOSAL
Mayumi H AmigonCanadaIoni Bowcher QUALIFIED
Costa O MacleadFranceBernardo Dominic QUALIFIED
Izzy O MacleadJapanOnyama Limba RENEWAL
Rodrigues S FerenczCanadaStephen Shaw NEW
Murillo E FerenczIndiaAmy Elsner UNQUALIFIED
Faith D AmigonItalyAmy Elsner NEW
Cody D VocelkaArgentinaIoni Bowcher NEGOTIATION
Aditya G BowleyFranceElwin Sharvill QUALIFIED
Wickens O MorascaUnited KingdomBernardo Dominic QUALIFIED
Julie B NickaFranceElwin Sharvill NEGOTIATION
Chavez J CaudyCanadaBernardo Dominic QUALIFIED
Sinclair B AmigonAustraliaXuxue Feng PROPOSAL
Misaki E PerinBrazilAsiya Javayant QUALIFIED
Kadeem Q RoysterFranceXuxue Feng QUALIFIED
Silvio H FollerArgentinaAnna Fali QUALIFIED
Leja Q CaudyJapanOnyama Limba UNQUALIFIED
Arvin Z SergiGermanyAsiya Javayant QUALIFIED
Jeanfrancois I FigeroaBrazilAnna Fali PROPOSAL
Izzy N AlbaresSpainOnyama Limba RENEWAL
Kaitlin V InouyeSpainAsiya Javayant NEW
Arvin Y GauchoItalyAnna Fali PROPOSAL
Wickens W ShinkoSpainOnyama Limba RENEWAL
Juan V MorascaGermanyBernardo Dominic PROPOSAL
Juan K FollerJapanElwin Sharvill NEGOTIATION
Izzy E GlickArgentinaXuxue Feng PROPOSAL
Ricardo A VocelkaIndiaAsiya Javayant RENEWAL
Jeanfrancois R InouyeIndiaOnyama Limba RENEWAL
Silvio D ChuiJapanXuxue Feng NEW
Deepesh C SergiRussiaOnyama Limba UNQUALIFIED
Tony H ShinkoIndiaAnna Fali UNQUALIFIED
Morrow M TollnerItalyIoni Bowcher PROPOSAL
David W DoeGermanyIvan Magalhaes NEGOTIATION
Aika G FerenczRussiaBernardo Dominic QUALIFIED
Jeanfrancois L GillianIndiaAnna Fali PROPOSAL
Arvin F OstroskyJapanIoni Bowcher NEW
James K MaletGermanyIoni Bowcher QUALIFIED
Ashley G WhobreyCanadaStephen Shaw UNQUALIFIED
Jefferson M InouyeUnited KingdomOnyama Limba RENEWAL
Mujtaba Y DilliardFranceOnyama Limba QUALIFIED
Claire D BowleyGermanyAnna Fali NEGOTIATION
Claire R StensethBrazilAsiya Javayant NEW
Costa Z ButtFranceIoni Bowcher PROPOSAL
Costa S WhobreyGermanyBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Wickens Y CaldareraIndiaAmy Elsner RENEWAL
Kadeem J RoysterBrazilXuxue Feng UNQUALIFIED
Leja F KuskoItalyAsiya Javayant UNQUALIFIED
Tony G FollerRussiaStephen Shaw RENEWAL
David R KolmetzAustraliaIvan Magalhaes NEW
Rodrigues I PaprockiSpainIvan Magalhaes NEGOTIATION
Johnson Q CaudySpainAsiya Javayant QUALIFIED
Murillo I RoysterGermanyStephen Shaw NEGOTIATION
Leon P RimBrazilAnna Fali NEGOTIATION
Aruna M VocelkaIndiaAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi U FlosiSpain2024-08-26Chanay, Jeffrey A Esq QUALIFIED56Asiya Javayant
1001Sinclair B VocelkaAustralia2024-09-03Feiner Bros NEGOTIATION31Elwin Sharvill
1002Kadeem R BowleyItaly2024-08-29Feltz Printing Service QUALIFIED14Amy Elsner
1003Wickens B TollnerArgentina2024-08-30Truhlar And Truhlar Attys RENEWAL0Ivan Magalhaes
1004Murillo J PoquetteFrance2024-09-09Buckley Miller Wright RENEWAL59Elwin Sharvill
1005David O WaycottItaly2024-08-31Morlong Associates RENEWAL14Asiya Javayant
1006Johnson Q SlusarskiCanada2024-09-03Truhlar And Truhlar Attys RENEWAL31Bernardo Dominic
1007David G ChuiSpain2024-09-11Commercial Press UNQUALIFIED84Xuxue Feng
1008Mujtaba M VocelkaCanada2024-09-21Commercial Press RENEWAL54Asiya Javayant
1009Arvin X MarrierFrance2024-09-10Feiner Bros QUALIFIED41Ioni Bowcher
1010Antonio K OldroydBrazil2024-09-02Chapman, Ross E Esq QUALIFIED32Bernardo Dominic
1011Octavia X FerenczFrance2024-09-13Truhlar And Truhlar Attys QUALIFIED37Elwin Sharvill
1012Kaitlin E DarakjySpain2024-09-21King, Christopher A Esq NEW85Stephen Shaw
1013David I GillianBrazil2024-09-08Rangoni Of Florence QUALIFIED67Stephen Shaw
1014Maisha E AlbaresAustralia2024-08-31Chemel, James L Cpa RENEWAL97Bernardo Dominic
1015Murillo W KuskoAustralia2024-09-10Truhlar And Truhlar Attys NEW5Stephen Shaw
1016Adams Y InouyeIndia2024-08-28Truhlar And Truhlar Attys QUALIFIED65Amy Elsner
1017Sinclair F ButtIndia2024-09-03Printing Dimensions RENEWAL35Xuxue Feng
1018Aditya U VocelkaArgentina2024-09-22Chanay, Jeffrey A Esq NEGOTIATION55Onyama Limba
1019Claire M SergiItaly2024-09-11Feltz Printing Service NEGOTIATION48Elwin Sharvill
1020Smith V MaletAustralia2024-09-16Chapman, Ross E Esq QUALIFIED56Anna Fali
1021Smith W MorascaGermany2024-09-04Chemel, James L Cpa PROPOSAL21Asiya Javayant
1022Silvio I MaletArgentina2024-09-20Chanay, Jeffrey A Esq NEW76Asiya Javayant
1023Antonio R OldroydUnited Kingdom2024-09-22Benton, John B Jr NEGOTIATION87Onyama Limba
1024Murillo J RulapaughArgentina2024-09-16Morlong Associates NEW66Elwin Sharvill
1025Adams K DarakjySpain2024-09-14Morlong Associates PROPOSAL7Ioni Bowcher
1026Wickens Q FollerItaly2024-09-15Commercial Press QUALIFIED75Ioni Bowcher
1027Kaitlin P FerenczCanada2024-09-10Commercial Press QUALIFIED91Ioni Bowcher
1028Octavia T FlosiItaly2024-08-28Benton, John B Jr RENEWAL7Elwin Sharvill
1029Jeanfrancois S WaycottIndia2024-09-24Dorl, James J Esq NEW84Stephen Shaw
1030Wickens L FlosiJapan2024-09-09Chapman, Ross E Esq NEGOTIATION21Elwin Sharvill
1031Jones B FerenczUnited Kingdom2024-09-01Chanay, Jeffrey A Esq RENEWAL33Bernardo Dominic
1032Wickens X RimJapan2024-09-11Benton, John B Jr QUALIFIED61Elwin Sharvill
1033Salvatore H MaletSpain2024-09-10Feiner Bros NEGOTIATION77Bernardo Dominic
1034Darci Q WieserFrance2024-08-29Chanay, Jeffrey A Esq NEW55Ioni Bowcher
1035Aruna Y RutaIndia2024-09-13Rousseaux, Michael Esq NEGOTIATION60Elwin Sharvill
1036Octavia K VocelkaFrance2024-09-09Dorl, James J Esq PROPOSAL89Amy Elsner
1037Ashley E CaldareraGermany2024-09-16Chapman, Ross E Esq QUALIFIED40Amy Elsner
1038Johnson X RulapaughBrazil2024-09-14Buckley Miller Wright RENEWAL56Stephen Shaw
1039Jeanfrancois O RoysterGermany2024-09-09Chemel, James L Cpa NEGOTIATION75Xuxue Feng
1040Cody F PoquetteGermany2024-09-22Rousseaux, Michael Esq NEGOTIATION78Bernardo Dominic
1041Chavez N IturbideRussia2024-09-09Rangoni Of Florence QUALIFIED26Ivan Magalhaes
1042Ivar W GillianAustralia2024-09-01Morlong Associates UNQUALIFIED6Elwin Sharvill
1043Maria K RoysterSpain2024-09-15Buckley Miller Wright RENEWAL61Bernardo Dominic
1044Arvin T MorascaJapan2024-09-24Rousseaux, Michael Esq NEGOTIATION81Bernardo Dominic
1045Aditya Q PoquetteSpain2024-09-21Rousseaux, Michael Esq PROPOSAL6Anna Fali
1046Deepesh B BriddickItaly2024-09-17Morlong Associates PROPOSAL40Ivan Magalhaes
1047Clifford U PoquetteUnited Kingdom2024-09-21Rousseaux, Michael Esq QUALIFIED55Elwin Sharvill
1048Mujtaba M GillianRussia2024-09-03Chemel, James L Cpa NEGOTIATION57Ioni Bowcher
1049Nicolas S RutaFrance2024-09-02Chemel, James L Cpa NEW23Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Aika O WieserFranceAnna Fali PROPOSAL
Silvio W FigeroaGermanyAsiya Javayant NEW
Tony R KolmetzItalyElwin Sharvill NEGOTIATION
Aika V VocelkaCanadaIoni Bowcher NEGOTIATION
Cody G GillianRussiaAmy Elsner PROPOSAL
Aika L SaylorsCanadaStephen Shaw UNQUALIFIED
Johnson B StensethAustraliaXuxue Feng NEW
Nicolas L RutaJapanIvan Magalhaes NEW
Murillo O ButtJapanAsiya Javayant UNQUALIFIED
Munro B AlbaresArgentinaAsiya Javayant NEW
Kaitlin R GauchoCanadaBernardo Dominic RENEWAL
Arvin H SchemmerUnited KingdomBernardo Dominic NEW
Claire K WaycottFranceBernardo Dominic PROPOSAL
Ashley C KuskoCanadaAnna Fali PROPOSAL
Kaitlin N MaletUnited KingdomAmy Elsner NEGOTIATION
Octavia O StensethGermanyIvan Magalhaes UNQUALIFIED
Arvin Z MarrierArgentinaAmy Elsner NEGOTIATION
Leja N PoquetteUnited KingdomIvan Magalhaes NEGOTIATION
Isabel X StensethRussiaIvan Magalhaes NEGOTIATION
Leja E SaylorsIndiaIoni Bowcher NEGOTIATION
Rodrigues J WaycottAustraliaIoni Bowcher NEW
Chavez B SaylorsUnited KingdomAmy Elsner UNQUALIFIED
Adams U AmigonIndiaStephen Shaw NEGOTIATION
Izzy O FigeroaItalyElwin Sharvill QUALIFIED
Cody Q OstroskyRussiaOnyama Limba QUALIFIED
Julie F SchemmerArgentinaAnna Fali UNQUALIFIED
Juan A MorascaItalyBernardo Dominic NEGOTIATION
Juan Z FlosiCanadaIvan Magalhaes QUALIFIED
Morrow S SchemmerCanadaBernardo Dominic NEGOTIATION
Tony B GarufiGermanyXuxue Feng PROPOSAL
Ivar T ButtFranceAnna Fali PROPOSAL
Jefferson K SchemmerBrazilBernardo Dominic PROPOSAL
Juan D InouyeAustraliaAmy Elsner NEW
Munro L RoysterCanadaIoni Bowcher RENEWAL
Maria K GlickRussiaStephen Shaw QUALIFIED
Aruna H WhobreyAustraliaStephen Shaw RENEWAL
Juan G KuskoCanadaBernardo Dominic NEGOTIATION
Kadeem K MaletAustraliaAsiya Javayant PROPOSAL
Ashley E IturbideBrazilAmy Elsner QUALIFIED
Claire I AlbaresUnited KingdomStephen Shaw UNQUALIFIED
Salvatore C KolmetzRussiaElwin Sharvill QUALIFIED
Aditya W SaylorsGermanyBernardo Dominic NEGOTIATION
Maisha M FerenczUnited KingdomBernardo Dominic NEW
David D KuskoItalyIvan Magalhaes RENEWAL
Octavia T KolmetzCanadaXuxue Feng UNQUALIFIED
Arvin N FollerJapanAnna Fali RENEWAL
Nicolas M RulapaughIndiaAnna Fali UNQUALIFIED
Ivar J FerenczSpainIvan Magalhaes UNQUALIFIED
Wickens X IturbideGermanyElwin Sharvill RENEWAL
Darci T PoquetteJapanStephen Shaw NEW
Frozen Columns
Name
Misaki V Poquette
Aika P Schemmer
Smith R Ferencz
Silvio X Malet
Tony T Oldroyd
Aika H Morasca
Maisha W Royster
Johnson R Flosi
Juan B Dilliard
Nicolas D Albares
Greenwood D Rim
Mujtaba V Schemmer
Jennifer D Bolognia
Wickens F Foller
Smith J Wieser
Costa Q Rulapaugh
Mujtaba Y Figeroa
Maisha V Oldroyd
Silvio J Marrier
Silvio T Paprocki
Wickens R Sergi
Leja S Royster
Antonio J Doe
Rodrigues H Saylors
Tony R Vocelka
Nicolas L Glick
Morrow C Amigon
Cody X Inouye
Mayumi T Venere
Ashley Q Saylors
Maisha R Oldroyd
Rodrigues P Ferencz
Jefferson Q Ruta
Smith U Albares
Stacey G Poquette
Nicolas G Whobrey
Claire Z Kusko
Mayumi A Oldroyd
Kaitlin H Caudy
Ashley E Caudy
Chavez A Foller
Murillo X Venere
Faith J Venere
Francesco K Nicka
Tony W Saylors
Stacey A Kusko
Murillo T Kusko
Adams K Albares
Alejandro E Perin
Emily C Whobrey
IdCountryDate
1000Germany2024-09-19
1001Australia2024-09-18
1002United Kingdom2024-08-29
1003Australia2024-09-18
1004United Kingdom2024-09-22
1005Germany2024-09-12
1006France2024-08-26
1007India2024-08-26
1008Canada2024-09-20
1009Brazil2024-08-27
1010Italy2024-09-19
1011Australia2024-09-16
1012Germany2024-09-18
1013Canada2024-09-04
1014Argentina2024-09-22
1015Italy2024-09-19
1016Brazil2024-08-26
1017Italy2024-09-05
1018Spain2024-09-09
1019Spain2024-09-14
1020Spain2024-08-31
1021Canada2024-09-10
1022Russia2024-09-18
1023India2024-09-09
1024Germany2024-09-14
1025Brazil2024-09-18
1026Germany2024-09-14
1027India2024-09-12
1028Spain2024-09-03
1029Australia2024-09-15
1030France2024-09-19
1031France2024-08-27
1032Germany2024-09-09
1033Japan2024-09-14
1034France2024-08-26
1035Japan2024-09-15
1036India2024-09-10
1037Argentina2024-08-26
1038Russia2024-09-05
1039United Kingdom2024-09-13
1040United Kingdom2024-09-15
1041Germany2024-09-23
1042Russia2024-09-15
1043United Kingdom2024-09-15
1044India2024-08-28
1045India2024-09-23
1046Canada2024-09-04
1047Argentina2024-09-18
1048Italy2024-09-13
1049India2024-09-08

On-Demand Data

NameIdCountryDate
Antonio E Wieser1000India2024-09-07
Greenwood S Vocelka1001Russia2024-08-29
Faith I Amigon1002Brazil2024-08-26
Morrow D Royster1003Canada2024-09-08
David O Dilliard1004Australia2024-08-26
Kaitlin K Butt1005Germany2024-09-18
James R Gillian1006Russia2024-09-09
Aruna C Rim1007Germany2024-09-23
Arvin G Wieser1008France2024-08-28
Rodrigues S Maclead1009Argentina2024-09-14
Rodrigues D Foller1010Italy2024-09-07
Johnson R Schemmer1011United Kingdom2024-09-17
James L Butt1012India2024-09-21
Mujtaba L Ruta1013Russia2024-09-23
Aika L Vocelka1014United Kingdom2024-09-08
Adams F Schemmer1015Brazil2024-09-01
Francesco Q Flosi1016Australia2024-09-12
Deepesh B Figeroa1017India2024-09-21
Smith U Briddick1018France2024-08-28
Mayumi S Iturbide1019United Kingdom2024-09-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily V FigeroaJapanOnyama Limba PROPOSAL
Costa M DarakjyUnited KingdomBernardo Dominic QUALIFIED
Aruna G InouyeItalyAmy Elsner RENEWAL
Izzy D OldroydGermanyAnna Fali RENEWAL
Nicolas P BriddickArgentinaAmy Elsner PROPOSAL
Adams Z WaycottIndiaStephen Shaw QUALIFIED
James G VenereBrazilAnna Fali NEGOTIATION
Sinclair N SchemmerBrazilBernardo Dominic RENEWAL
Jeanfrancois V SaylorsUnited KingdomBernardo Dominic QUALIFIED
James U BowleyBrazilXuxue Feng PROPOSAL
Darci P FollerAustraliaOnyama Limba NEW
Maisha L RoysterUnited KingdomBernardo Dominic UNQUALIFIED
Leon K SlusarskiAustraliaStephen Shaw UNQUALIFIED
Tony V RutaUnited KingdomAmy Elsner PROPOSAL
Wickens J SergiFranceXuxue Feng UNQUALIFIED
Arvin Y FerenczArgentinaXuxue Feng NEW
Wickens Y VenereSpainStephen Shaw NEW
Juan H WhobreyFranceIvan Magalhaes NEW
Ivar A PerinAustraliaAsiya Javayant QUALIFIED
Maria G SergiCanadaAsiya Javayant NEW
Ricardo Y BriddickSpainIvan Magalhaes QUALIFIED
Costa P MaletAustraliaBernardo Dominic NEGOTIATION
Emily P KolmetzRussiaBernardo Dominic PROPOSAL
Alejandro X VenereGermanyAnna Fali NEW
Antonio F FerenczCanadaAmy Elsner NEW
Jeanfrancois Q MarrierGermanyAsiya Javayant UNQUALIFIED
Ivar Y GauchoArgentinaAmy Elsner NEW
Arvin N RoysterRussiaAsiya Javayant QUALIFIED
Aditya I TollnerRussiaAmy Elsner NEW
Aika E MorascaRussiaAnna Fali QUALIFIED
Izzy C BriddickArgentinaIoni Bowcher NEW
Jefferson P CaudyGermanyAsiya Javayant NEW
Wickens E SaylorsUnited KingdomIoni Bowcher RENEWAL
Wickens P NestleFranceAmy Elsner PROPOSAL
Murillo D ChuiItalyAsiya Javayant PROPOSAL
Misaki D CaudySpainXuxue Feng RENEWAL
Octavia C AlbaresUnited KingdomAsiya Javayant QUALIFIED
Juan I SergiSpainAsiya Javayant QUALIFIED
Cody G BologniaBrazilIvan Magalhaes NEGOTIATION
Jefferson K VocelkaFranceIvan Magalhaes NEW

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