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
Jefferson G AlbaresUnited KingdomAsiya Javayant NEGOTIATION
Aika O MaletCanadaIoni Bowcher QUALIFIED
David L MarrierGermanyAmy Elsner NEW
Morrow E IturbideIndiaAmy Elsner QUALIFIED
Mayumi E WhobreyBrazilXuxue Feng PROPOSAL
Costa F CaudyGermanyIvan Magalhaes RENEWAL
Ricardo Q KolmetzUnited KingdomIvan Magalhaes QUALIFIED
Mujtaba X IturbideGermanyBernardo Dominic UNQUALIFIED
Munro H PoquetteSpainAsiya Javayant NEGOTIATION
Nicolas A SaylorsBrazilXuxue Feng QUALIFIED
Sinclair B BriddickAustraliaIvan Magalhaes NEGOTIATION
Ricardo V GauchoRussiaElwin Sharvill NEGOTIATION
Maisha Y DilliardItalyStephen Shaw RENEWAL
Faith Z ShinkoGermanyStephen Shaw UNQUALIFIED
Darci F WhobreyArgentinaElwin Sharvill PROPOSAL
Smith H SlusarskiArgentinaIoni Bowcher NEW
Isabel N MacleadItalyBernardo Dominic UNQUALIFIED
Ashley B InouyeUnited KingdomAmy Elsner PROPOSAL
Leja C IturbideFranceXuxue Feng NEGOTIATION
Mayumi R MorascaJapanIoni Bowcher NEW
Jones I FerenczArgentinaOnyama Limba RENEWAL
Morrow I NickaCanadaElwin Sharvill QUALIFIED
Sinclair H PoquetteIndiaOnyama Limba RENEWAL
Cody D KolmetzIndiaStephen Shaw PROPOSAL
Jones X SlusarskiFranceBernardo Dominic NEGOTIATION
Emily E NickaAustraliaOnyama Limba NEGOTIATION
Ashley G MarrierSpainStephen Shaw PROPOSAL
Greenwood D VenereBrazilStephen Shaw PROPOSAL
Emily W SchemmerFranceAnna Fali NEW
Mujtaba Z GarufiAustraliaIvan Magalhaes NEGOTIATION
Rodrigues D OldroydIndiaAmy Elsner PROPOSAL
James L StockhamJapanAmy Elsner PROPOSAL
Silvio B MaletBrazilAnna Fali UNQUALIFIED
Arvin I TollnerArgentinaAmy Elsner UNQUALIFIED
Clifford H TollnerRussiaIvan Magalhaes PROPOSAL
Isabel J RulapaughIndiaOnyama Limba RENEWAL
Juan F WhobreyRussiaAnna Fali RENEWAL
Jeanfrancois R StensethFranceBernardo Dominic PROPOSAL
Ricardo B BologniaFranceOnyama Limba QUALIFIED
Stacey F OldroydArgentinaAnna Fali PROPOSAL
Jeanfrancois L WaycottUnited KingdomAsiya Javayant NEW
Chavez G VocelkaItalyElwin Sharvill NEW
Darci L RimBrazilOnyama Limba NEW
Adams I BowleySpainIvan Magalhaes QUALIFIED
Emily Y MacleadSpainAmy Elsner NEW
Jennifer I PerinItalyElwin Sharvill QUALIFIED
Kaitlin X BowleyAustraliaIoni Bowcher PROPOSAL
Francesco G CaldareraItalyXuxue Feng RENEWAL
Silvio W MacleadAustraliaAnna Fali QUALIFIED
Nicolas L SaylorsFranceIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maria Y StockhamRussiaAmy Elsner NEW
Deepesh J BriddickArgentinaStephen Shaw NEGOTIATION
Maria V DilliardUnited KingdomIvan Magalhaes RENEWAL
Misaki E DoeUnited KingdomAnna Fali NEGOTIATION
Ivar I SlusarskiArgentinaBernardo Dominic RENEWAL
Ivar D RutaBrazilStephen Shaw QUALIFIED
Maisha V FigeroaJapanElwin Sharvill QUALIFIED
Aika D WieserFranceStephen Shaw QUALIFIED
Leon K StensethRussiaBernardo Dominic PROPOSAL
Clifford Z WieserCanadaIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio J ShinkoAustralia2024-06-16Chemel, James L Cpa UNQUALIFIED49Onyama Limba
1001Silvio T KolmetzFrance2024-05-28Rousseaux, Michael Esq RENEWAL73Anna Fali
1002Kadeem O KuskoAustralia2024-05-20Truhlar And Truhlar Attys UNQUALIFIED85Onyama Limba
1003Adams N WieserArgentina2024-05-22Buckley Miller Wright QUALIFIED78Anna Fali
1004Adams B PerinJapan2024-05-19Rangoni Of Florence RENEWAL51Amy Elsner
1005Kaitlin H FigeroaBrazil2024-05-29Feltz Printing Service PROPOSAL63Bernardo Dominic
1006Kaitlin M FerenczSpain2024-05-26Buckley Miller Wright NEGOTIATION41Bernardo Dominic
1007Greenwood B MarrierFrance2024-06-11Dorl, James J Esq UNQUALIFIED97Anna Fali
1008Misaki Y FollerCanada2024-05-22Buckley Miller Wright UNQUALIFIED49Elwin Sharvill
1009Murillo X InouyeRussia2024-05-24Feiner Bros NEW58Ioni Bowcher
1010Cody P RoysterUnited Kingdom2024-05-24Rousseaux, Michael Esq PROPOSAL77Elwin Sharvill
1011Greenwood Z CaldareraFrance2024-05-24Printing Dimensions NEGOTIATION59Anna Fali
1012Mujtaba W TollnerIndia2024-05-29Truhlar And Truhlar Attys NEW48Xuxue Feng
1013Isabel H DoeIndia2024-06-13Benton, John B Jr PROPOSAL15Ioni Bowcher
1014Greenwood G BowleyCanada2024-06-14Morlong Associates UNQUALIFIED16Onyama Limba
1015David Y AmigonItaly2024-05-24Feiner Bros RENEWAL74Asiya Javayant
1016Rodrigues G OstroskySpain2024-05-22Feiner Bros NEW76Asiya Javayant
1017Jones M VenereItaly2024-05-19Chemel, James L Cpa QUALIFIED93Bernardo Dominic
1018Alejandro G KolmetzArgentina2024-05-29Truhlar And Truhlar Attys NEGOTIATION4Stephen Shaw
1019Wickens Z CaldareraCanada2024-06-01Feltz Printing Service RENEWAL2Ivan Magalhaes
1020Ricardo C SlusarskiGermany2024-06-16Dorl, James J Esq NEW84Bernardo Dominic
1021Izzy J RoysterUnited Kingdom2024-06-02Chanay, Jeffrey A Esq NEGOTIATION72Amy Elsner
1022Claire O MaletUnited Kingdom2024-05-24Chemel, James L Cpa QUALIFIED65Amy Elsner
1023Julie L NickaJapan2024-06-11King, Christopher A Esq RENEWAL32Anna Fali
1024Darci H NickaJapan2024-06-15Chemel, James L Cpa RENEWAL1Onyama Limba
1025Cody K DarakjyAustralia2024-05-27Commercial Press PROPOSAL29Anna Fali
1026Stacey Q OldroydRussia2024-06-16Rousseaux, Michael Esq QUALIFIED45Anna Fali
1027Smith K GarufiBrazil2024-06-02Chanay, Jeffrey A Esq QUALIFIED8Xuxue Feng
1028Maria X NickaBrazil2024-05-31Rousseaux, Michael Esq UNQUALIFIED30Elwin Sharvill
1029Isabel I MaletItaly2024-06-08Chapman, Ross E Esq QUALIFIED7Ioni Bowcher
1030Maria H GlickBrazil2024-06-09Chanay, Jeffrey A Esq PROPOSAL24Ioni Bowcher
1031Ashley C StockhamFrance2024-05-26Feltz Printing Service NEW91Asiya Javayant
1032Silvio T VenereAustralia2024-06-11Chanay, Jeffrey A Esq PROPOSAL82Onyama Limba
1033Isabel I TollnerAustralia2024-06-03Commercial Press UNQUALIFIED52Anna Fali
1034Izzy V MaletCanada2024-06-02Morlong Associates NEGOTIATION21Xuxue Feng
1035Arvin X GillianUnited Kingdom2024-05-29Feiner Bros NEW99Onyama Limba
1036Maisha T VocelkaSpain2024-05-30Feiner Bros UNQUALIFIED22Amy Elsner
1037Mayumi N GauchoGermany2024-06-10Commercial Press NEGOTIATION92Anna Fali
1038Clifford Z DarakjyBrazil2024-05-31Chapman, Ross E Esq NEGOTIATION5Anna Fali
1039Jefferson K BologniaFrance2024-06-09Dorl, James J Esq PROPOSAL73Xuxue Feng
1040Salvatore O InouyeBrazil2024-06-01Chemel, James L Cpa NEGOTIATION2Asiya Javayant
1041Francesco H RulapaughCanada2024-05-20Commercial Press QUALIFIED66Ioni Bowcher
1042Mujtaba C KuskoArgentina2024-05-30Morlong Associates UNQUALIFIED82Stephen Shaw
1043Aruna H OldroydBrazil2024-06-04Rangoni Of Florence QUALIFIED29Elwin Sharvill
1044Leja Y PaprockiCanada2024-05-24Morlong Associates PROPOSAL96Xuxue Feng
1045Isabel M StensethJapan2024-05-25Dorl, James J Esq NEGOTIATION54Onyama Limba
1046Clifford W FlosiUnited Kingdom2024-05-30Benton, John B Jr NEW10Bernardo Dominic
1047Jennifer E CaudyUnited Kingdom2024-06-13Chanay, Jeffrey A Esq NEGOTIATION96Asiya Javayant
1048Morrow V CampainUnited Kingdom2024-06-16Commercial Press RENEWAL98Amy Elsner
1049Kaitlin B IturbideCanada2024-06-15Commercial Press NEGOTIATION16Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Francesco N SaylorsUnited KingdomBernardo Dominic QUALIFIED
Cody M PoquetteRussiaBernardo Dominic UNQUALIFIED
Silvio Z FerenczFranceAmy Elsner QUALIFIED
Arvin B GarufiItalyAmy Elsner NEGOTIATION
Aditya M BowleyArgentinaIoni Bowcher UNQUALIFIED
Greenwood P MacleadCanadaIvan Magalhaes RENEWAL
Murillo L AmigonCanadaIvan Magalhaes UNQUALIFIED
Ivar T CaudyBrazilBernardo Dominic RENEWAL
Juan N PerinCanadaIvan Magalhaes QUALIFIED
Cody O FerenczFranceAsiya Javayant NEGOTIATION
Juan L CampainAustraliaElwin Sharvill QUALIFIED
Morrow R ShinkoJapanIoni Bowcher RENEWAL
Murillo V GillianItalyIoni Bowcher PROPOSAL
Darci P SaylorsBrazilAmy Elsner RENEWAL
Salvatore P AmigonCanadaStephen Shaw NEW
Deepesh T ShinkoItalyAnna Fali UNQUALIFIED
Salvatore K StensethIndiaIvan Magalhaes QUALIFIED
James M PerinFranceAnna Fali NEGOTIATION
Faith I SchemmerCanadaIoni Bowcher PROPOSAL
Johnson U WhobreyRussiaAnna Fali QUALIFIED
Morrow H SlusarskiBrazilElwin Sharvill UNQUALIFIED
Jeanfrancois B SergiItalyOnyama Limba NEW
Maria Q RimFranceAsiya Javayant UNQUALIFIED
Francesco T SchemmerSpainAmy Elsner QUALIFIED
Ricardo C OstroskyCanadaIoni Bowcher RENEWAL
Leon B GlickRussiaElwin Sharvill QUALIFIED
Stacey B GarufiGermanyElwin Sharvill NEW
Izzy N StockhamBrazilIoni Bowcher UNQUALIFIED
Octavia M ShinkoFranceAnna Fali UNQUALIFIED
Juan J ChuiAustraliaIvan Magalhaes NEGOTIATION
Maria B ButtFranceStephen Shaw UNQUALIFIED
Juan P InouyeUnited KingdomOnyama Limba QUALIFIED
Jones V PerinArgentinaIoni Bowcher UNQUALIFIED
Tony W OstroskyCanadaElwin Sharvill RENEWAL
Octavia Y BriddickIndiaStephen Shaw NEW
Jones H GarufiJapanBernardo Dominic NEGOTIATION
Jones W KolmetzSpainStephen Shaw PROPOSAL
Chavez N FigeroaItalyIoni Bowcher RENEWAL
Ashley W ButtIndiaStephen Shaw NEGOTIATION
Arvin H RimBrazilIoni Bowcher QUALIFIED
Jefferson B BowleyArgentinaXuxue Feng PROPOSAL
Johnson G StockhamSpainAsiya Javayant RENEWAL
Francesco A VenereAustraliaOnyama Limba UNQUALIFIED
Aditya K BriddickBrazilStephen Shaw QUALIFIED
Ashley G KolmetzFranceStephen Shaw QUALIFIED
Morrow B MaletJapanBernardo Dominic UNQUALIFIED
Morrow K GillianUnited KingdomAmy Elsner QUALIFIED
Munro I InouyeGermanyOnyama Limba UNQUALIFIED
Alejandro Q TollnerBrazilBernardo Dominic QUALIFIED
Kaitlin P NestleRussiaIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Adams B Ruta
Aruna U Stenseth
Johnson H Bowley
David Q Venere
Rodrigues N Stenseth
Kadeem U Chui
Emily F Marrier
Mujtaba U Bolognia
Sinclair B Poquette
Morrow A Slusarski
Ashley H Nicka
Jefferson Q Morasca
Sinclair R Poquette
Munro E Amigon
Morrow M Nicka
Octavia S Paprocki
David O Dilliard
Francesco I Venere
Kadeem N Iturbide
Johnson D Garufi
Ricardo V Morasca
Silvio X Caldarera
Tony U Perin
Tony I Paprocki
Faith F Caldarera
Costa Z Dilliard
Jones X Kolmetz
Juan V Saylors
Wickens E Foller
Julie N Slusarski
Munro C Stenseth
Leon I Rulapaugh
Ivar Z Bowley
Antonio U Sergi
Wickens C Albares
Aditya Q Amigon
Deepesh S Schemmer
Stacey D Dilliard
Salvatore M Rim
Kadeem N Marrier
Jeanfrancois X Venere
Costa W Shinko
Tony B Royster
Mujtaba T Rulapaugh
Julie Q Gillian
Juan P Chui
Jones C Venere
Antonio P Stockham
Smith O Waycott
Octavia C Venere
IdCountryDate
1000Brazil2024-06-05
1001Russia2024-05-21
1002United Kingdom2024-06-13
1003Canada2024-06-10
1004France2024-06-14
1005France2024-06-03
1006Brazil2024-06-04
1007France2024-06-03
1008Spain2024-06-02
1009Russia2024-05-28
1010Brazil2024-05-31
1011Argentina2024-05-24
1012India2024-06-02
1013Australia2024-06-10
1014Germany2024-06-02
1015India2024-06-05
1016France2024-06-05
1017Japan2024-06-16
1018Australia2024-06-03
1019Japan2024-06-15
1020India2024-05-25
1021Australia2024-06-13
1022Japan2024-05-24
1023Italy2024-06-14
1024India2024-05-22
1025Germany2024-06-07
1026India2024-05-20
1027Russia2024-05-30
1028United Kingdom2024-06-11
1029United Kingdom2024-06-08
1030Argentina2024-06-01
1031Germany2024-05-19
1032Brazil2024-06-14
1033Brazil2024-06-15
1034France2024-06-15
1035Germany2024-06-16
1036Brazil2024-05-25
1037Japan2024-05-21
1038Canada2024-06-16
1039Brazil2024-06-15
1040Japan2024-05-22
1041Australia2024-06-08
1042Brazil2024-06-12
1043Australia2024-06-14
1044Russia2024-05-25
1045France2024-06-05
1046Brazil2024-05-26
1047Spain2024-05-30
1048Spain2024-06-10
1049Germany2024-05-29

On-Demand Data

NameIdCountryDate
Kaitlin A Campain1000Italy2024-06-11
Clifford R Morasca1001Spain2024-05-28
Chavez E Vocelka1002Australia2024-05-28
Ashley N Albares1003Italy2024-05-30
Munro W Shinko1004Japan2024-05-25
Kadeem B Garufi1005Italy2024-06-04
Julie P Campain1006Japan2024-05-21
Ricardo I Campain1007Japan2024-05-24
Adams S Flosi1008United Kingdom2024-06-11
Emily I Marrier1009France2024-05-21
Greenwood X Caldarera1010Canada2024-06-09
Silvio U Tollner1011Italy2024-06-02
Faith C Albares1012Russia2024-06-05
Ivar U Morasca1013France2024-06-01
Kadeem S Shinko1014India2024-06-05
Maria Y Chui1015Australia2024-06-16
Clifford L Sergi1016Japan2024-05-22
Antonio N Kusko1017Italy2024-05-22
Octavia G Malet1018Argentina2024-06-15
Juan Y Bolognia1019India2024-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem W PaprockiBrazilBernardo Dominic UNQUALIFIED
Maisha L CaudyCanadaAsiya Javayant RENEWAL
Jones S GauchoSpainAnna Fali UNQUALIFIED
Wickens Q MacleadGermanyAnna Fali NEW
Octavia U BologniaArgentinaIvan Magalhaes NEW
Aika Q DoeBrazilOnyama Limba QUALIFIED
Julie Q ButtJapanStephen Shaw PROPOSAL
Francesco F MaletAustraliaOnyama Limba RENEWAL
David R DarakjySpainIvan Magalhaes QUALIFIED
Juan F NestleGermanyIvan Magalhaes RENEWAL
Tony M KolmetzItalyXuxue Feng NEW
Mayumi I DilliardGermanyElwin Sharvill NEW
Ivar X PoquetteAustraliaStephen Shaw UNQUALIFIED
David S SlusarskiAustraliaStephen Shaw QUALIFIED
Isabel G AmigonAustraliaAsiya Javayant PROPOSAL
Nicolas A VenereBrazilBernardo Dominic NEGOTIATION
Julie W FerenczRussiaXuxue Feng UNQUALIFIED
Ricardo N MorascaJapanAmy Elsner NEGOTIATION
Mujtaba Z FlosiUnited KingdomBernardo Dominic PROPOSAL
Stacey F OstroskyIndiaAnna Fali NEGOTIATION
Sinclair R BowleyBrazilBernardo Dominic NEGOTIATION
Isabel K CaudyBrazilOnyama Limba QUALIFIED
Jeanfrancois Z RutaFranceElwin Sharvill UNQUALIFIED
Emily N GarufiIndiaIvan Magalhaes PROPOSAL
Arvin A TollnerUnited KingdomStephen Shaw NEGOTIATION
Jeanfrancois Y RimFranceIvan Magalhaes NEGOTIATION
Juan C TollnerJapanElwin Sharvill QUALIFIED
Aditya M DarakjyUnited KingdomIvan Magalhaes NEW
Murillo I CaldareraItalyXuxue Feng NEGOTIATION
Jeanfrancois L WieserItalyXuxue Feng RENEWAL
Mujtaba F GlickArgentinaBernardo Dominic NEGOTIATION
Morrow G VocelkaFranceOnyama Limba NEW
Mujtaba X CaudySpainOnyama Limba NEGOTIATION
Emily Y SergiArgentinaElwin Sharvill NEW
Munro E FlosiItalyElwin Sharvill RENEWAL
Costa H MorascaBrazilAmy Elsner PROPOSAL
Maria E FerenczSpainOnyama Limba NEGOTIATION
Murillo H MarrierCanadaXuxue Feng UNQUALIFIED
Darci G MarrierGermanyAsiya Javayant NEW
Deepesh L KolmetzRussiaAsiya Javayant 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>