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 MaletArgentinaStephen Shaw NEGOTIATION
Faith E VenereCanadaAnna Fali NEGOTIATION
Chavez O MaletBrazilAmy Elsner NEGOTIATION
Wickens H KolmetzAustraliaAmy Elsner PROPOSAL
Jeanfrancois H IturbideItalyBernardo Dominic QUALIFIED
Wickens L DoeCanadaAsiya Javayant PROPOSAL
Salvatore S SlusarskiAustraliaOnyama Limba RENEWAL
Arvin K GauchoUnited KingdomBernardo Dominic NEW
James I ButtBrazilAnna Fali UNQUALIFIED
Nicolas Q MaletFranceAnna Fali PROPOSAL
Mayumi I AlbaresAustraliaStephen Shaw RENEWAL
Izzy U MacleadItalyBernardo Dominic UNQUALIFIED
Greenwood G PoquetteGermanyIvan Magalhaes QUALIFIED
Rodrigues L RoysterItalyAmy Elsner PROPOSAL
Greenwood T PerinGermanyAnna Fali RENEWAL
Kadeem J SlusarskiJapanAmy Elsner UNQUALIFIED
Jones G PerinGermanyAmy Elsner PROPOSAL
Costa I PerinFranceStephen Shaw PROPOSAL
Adams B RimFranceStephen Shaw PROPOSAL
Misaki G FerenczFranceElwin Sharvill NEW
Sinclair J MaletIndiaXuxue Feng NEW
Jeanfrancois Q RutaGermanyIvan Magalhaes PROPOSAL
Chavez J IturbideSpainStephen Shaw RENEWAL
Julie N GarufiCanadaStephen Shaw QUALIFIED
Aruna Q SaylorsSpainIoni Bowcher NEGOTIATION
Sinclair G SergiJapanBernardo Dominic NEGOTIATION
Octavia C WieserCanadaElwin Sharvill PROPOSAL
Nicolas S CaudyJapanAnna Fali PROPOSAL
Smith D WieserFranceAnna Fali NEGOTIATION
Leon K IturbideItalyAmy Elsner RENEWAL
Jones I StockhamJapanIvan Magalhaes NEGOTIATION
Maria Y StensethCanadaXuxue Feng NEGOTIATION
Aditya O VenereSpainAnna Fali RENEWAL
Murillo V PaprockiAustraliaStephen Shaw RENEWAL
Rodrigues P PerinIndiaAmy Elsner NEW
Jennifer W TollnerRussiaAsiya Javayant QUALIFIED
Antonio X WaycottGermanyOnyama Limba NEW
Alejandro L CampainIndiaXuxue Feng PROPOSAL
Mujtaba Q StensethRussiaElwin Sharvill NEGOTIATION
Mayumi V WaycottJapanAsiya Javayant QUALIFIED
James S OldroydBrazilBernardo Dominic PROPOSAL
Morrow W DilliardSpainIvan Magalhaes RENEWAL
James N DarakjyIndiaBernardo Dominic RENEWAL
Jones I PerinBrazilIvan Magalhaes RENEWAL
Antonio G TollnerUnited KingdomElwin Sharvill QUALIFIED
Aika Z FollerArgentinaAnna Fali PROPOSAL
Tony M StockhamIndiaAsiya Javayant RENEWAL
Arvin E TollnerBrazilIoni Bowcher NEW
Costa N DarakjyFranceAsiya Javayant PROPOSAL
Jones D StockhamItalyIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Darci L MaletJapanStephen Shaw QUALIFIED
Francesco A AmigonGermanyAnna Fali NEW
Francesco W SaylorsGermanyBernardo Dominic NEGOTIATION
Smith B OldroydGermanyXuxue Feng PROPOSAL
Darci J ChuiArgentinaAsiya Javayant UNQUALIFIED
Isabel M GarufiGermanyOnyama Limba RENEWAL
Claire L RoysterArgentinaStephen Shaw UNQUALIFIED
Aditya Z KolmetzCanadaAmy Elsner NEGOTIATION
James Q StockhamItalyXuxue Feng NEGOTIATION
Salvatore B CaudyBrazilBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire N KolmetzCanada2024-05-16Printing Dimensions UNQUALIFIED22Amy Elsner
1001Rodrigues C OstroskyGermany2024-06-06Chemel, James L Cpa NEGOTIATION89Stephen Shaw
1002Kadeem U FerenczCanada2024-06-05King, Christopher A Esq UNQUALIFIED62Onyama Limba
1003Kadeem N SergiBrazil2024-05-21Truhlar And Truhlar Attys NEW0Amy Elsner
1004Jones I MarrierCanada2024-05-29Feiner Bros PROPOSAL42Onyama Limba
1005Kadeem P GillianGermany2024-06-06Chanay, Jeffrey A Esq RENEWAL91Elwin Sharvill
1006Octavia R IturbideJapan2024-05-20Printing Dimensions NEGOTIATION39Ioni Bowcher
1007Maisha O KuskoAustralia2024-06-02Chanay, Jeffrey A Esq NEGOTIATION45Stephen Shaw
1008Claire K GillianArgentina2024-06-14King, Christopher A Esq NEGOTIATION63Asiya Javayant
1009Francesco J ShinkoRussia2024-05-24Rangoni Of Florence PROPOSAL47Elwin Sharvill
1010Rodrigues N GarufiJapan2024-06-03Truhlar And Truhlar Attys NEW35Anna Fali
1011Claire S NestleFrance2024-05-30Feltz Printing Service QUALIFIED66Ivan Magalhaes
1012Stacey N AlbaresAustralia2024-06-07Morlong Associates NEW24Asiya Javayant
1013Costa T VenereGermany2024-05-26Feiner Bros PROPOSAL69Ivan Magalhaes
1014Murillo J OldroydGermany2024-06-04Truhlar And Truhlar Attys RENEWAL12Onyama Limba
1015Alejandro S WaycottJapan2024-06-06Chanay, Jeffrey A Esq PROPOSAL26Ioni Bowcher
1016Octavia N WieserBrazil2024-05-24Chapman, Ross E Esq RENEWAL20Stephen Shaw
1017Darci Y AlbaresArgentina2024-06-14Buckley Miller Wright RENEWAL72Bernardo Dominic
1018James T NestleCanada2024-06-01Chemel, James L Cpa QUALIFIED60Bernardo Dominic
1019Chavez Y SergiAustralia2024-05-31Rousseaux, Michael Esq QUALIFIED18Ivan Magalhaes
1020Stacey N MarrierSpain2024-06-11Truhlar And Truhlar Attys RENEWAL48Anna Fali
1021Munro L ShinkoArgentina2024-05-26Chapman, Ross E Esq UNQUALIFIED40Ioni Bowcher
1022Juan F WaycottItaly2024-06-13Chapman, Ross E Esq QUALIFIED64Xuxue Feng
1023Alejandro M FerenczBrazil2024-06-06Chemel, James L Cpa PROPOSAL53Amy Elsner
1024Deepesh D RoysterFrance2024-05-20Commercial Press NEW97Ioni Bowcher
1025Aika G KuskoCanada2024-06-08Buckley Miller Wright QUALIFIED95Stephen Shaw
1026Tony E BriddickAustralia2024-05-22Chapman, Ross E Esq QUALIFIED85Elwin Sharvill
1027Alejandro S NestleUnited Kingdom2024-05-26Morlong Associates RENEWAL35Stephen Shaw
1028Costa Z MaletCanada2024-05-30Chanay, Jeffrey A Esq NEGOTIATION37Ioni Bowcher
1029Mujtaba J ButtFrance2024-06-04Buckley Miller Wright PROPOSAL72Amy Elsner
1030Smith D MacleadFrance2024-05-29Chapman, Ross E Esq UNQUALIFIED89Amy Elsner
1031Clifford Y BriddickBrazil2024-06-06Truhlar And Truhlar Attys UNQUALIFIED88Bernardo Dominic
1032Leon J ButtRussia2024-06-10King, Christopher A Esq NEW16Ioni Bowcher
1033Smith Q MaletIndia2024-06-12Chemel, James L Cpa QUALIFIED58Ivan Magalhaes
1034Darci T PaprockiSpain2024-05-29Chanay, Jeffrey A Esq QUALIFIED57Asiya Javayant
1035Isabel T SchemmerSpain2024-06-07Feiner Bros NEW87Elwin Sharvill
1036David X PoquetteRussia2024-06-02Chapman, Ross E Esq NEW18Xuxue Feng
1037Mujtaba W FerenczIndia2024-06-08Truhlar And Truhlar Attys NEW6Xuxue Feng
1038Maisha I DoeCanada2024-05-23Feltz Printing Service PROPOSAL19Asiya Javayant
1039Leja V MaletCanada2024-05-20Truhlar And Truhlar Attys QUALIFIED81Amy Elsner
1040Smith E SchemmerJapan2024-06-08Printing Dimensions QUALIFIED18Asiya Javayant
1041Aika F AlbaresItaly2024-05-19Rangoni Of Florence RENEWAL28Elwin Sharvill
1042Sinclair G NickaRussia2024-05-21Benton, John B Jr NEGOTIATION70Onyama Limba
1043Sinclair D OldroydFrance2024-05-16Rousseaux, Michael Esq QUALIFIED67Xuxue Feng
1044Aditya F NickaBrazil2024-05-19Morlong Associates PROPOSAL72Ioni Bowcher
1045Cody Q InouyeCanada2024-05-31Chanay, Jeffrey A Esq PROPOSAL54Amy Elsner
1046Cody E GarufiIndia2024-05-23Chemel, James L Cpa NEW76Elwin Sharvill
1047Juan U TollnerFrance2024-05-26Chapman, Ross E Esq NEGOTIATION83Ivan Magalhaes
1048Jones X GauchoIndia2024-05-19Feiner Bros UNQUALIFIED96Ivan Magalhaes
1049Emily X PoquetteJapan2024-05-20Buckley Miller Wright PROPOSAL96Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Juan D PaprockiUnited KingdomBernardo Dominic PROPOSAL
Aditya N StockhamBrazilIvan Magalhaes NEW
Misaki J DilliardIndiaBernardo Dominic UNQUALIFIED
Rodrigues U ButtArgentinaIoni Bowcher UNQUALIFIED
Isabel O PaprockiUnited KingdomXuxue Feng NEGOTIATION
Alejandro Z StensethIndiaIvan Magalhaes UNQUALIFIED
Ivar Z DilliardCanadaAmy Elsner QUALIFIED
Stacey W GillianCanadaIoni Bowcher QUALIFIED
Jeanfrancois S FigeroaAustraliaStephen Shaw PROPOSAL
Adams Y SlusarskiArgentinaStephen Shaw RENEWAL
Salvatore A StensethArgentinaAmy Elsner PROPOSAL
Juan F IturbideCanadaAmy Elsner NEW
Octavia F RutaGermanyIvan Magalhaes UNQUALIFIED
Misaki C FigeroaSpainIoni Bowcher RENEWAL
Kadeem Z BowleyItalyBernardo Dominic QUALIFIED
Francesco A SaylorsIndiaAmy Elsner RENEWAL
Munro R SergiFranceAsiya Javayant QUALIFIED
Francesco E GarufiRussiaAnna Fali RENEWAL
Stacey H ChuiJapanAmy Elsner NEW
Francesco K MaletUnited KingdomAmy Elsner NEW
David T FlosiJapanBernardo Dominic PROPOSAL
Leja Q FigeroaSpainElwin Sharvill UNQUALIFIED
Maria X FigeroaItalyElwin Sharvill UNQUALIFIED
Salvatore V KolmetzUnited KingdomStephen Shaw PROPOSAL
Smith X RoysterFranceStephen Shaw NEGOTIATION
Smith F RimCanadaAsiya Javayant NEW
Julie L PoquetteFranceAsiya Javayant RENEWAL
Leja T RoysterAustraliaIoni Bowcher RENEWAL
David V RimJapanIvan Magalhaes NEGOTIATION
Ashley U StockhamAustraliaIoni Bowcher UNQUALIFIED
Aruna G FollerFranceOnyama Limba NEW
Darci K MorascaCanadaAsiya Javayant QUALIFIED
Stacey X WieserSpainAsiya Javayant NEGOTIATION
Maria L StensethBrazilIvan Magalhaes NEW
Aika M RoysterCanadaIoni Bowcher PROPOSAL
Isabel D SergiGermanyElwin Sharvill NEGOTIATION
Octavia J GillianJapanElwin Sharvill QUALIFIED
Jefferson G RoysterCanadaAmy Elsner RENEWAL
Francesco R IturbideItalyElwin Sharvill UNQUALIFIED
Faith N GillianFranceOnyama Limba UNQUALIFIED
Jefferson S MacleadArgentinaIvan Magalhaes RENEWAL
James M CampainGermanyAmy Elsner QUALIFIED
Juan P StockhamItalyAnna Fali UNQUALIFIED
Maisha J AmigonUnited KingdomAmy Elsner RENEWAL
Johnson U SlusarskiFranceAnna Fali NEW
Aditya F MaletBrazilIoni Bowcher NEW
Mayumi B WhobreyCanadaOnyama Limba NEGOTIATION
Isabel A SchemmerItalyAsiya Javayant RENEWAL
Jones O NestleCanadaElwin Sharvill PROPOSAL
Rodrigues S NickaSpainStephen Shaw UNQUALIFIED
Frozen Columns
Name
Deepesh Y Iturbide
Tony P Iturbide
Jennifer D Vocelka
Jefferson B Maclead
Emily V Tollner
Claire O Foller
Arvin M Morasca
Murillo L Bowley
Smith K Slusarski
Antonio Y Kusko
Jefferson V Nicka
Kadeem J Stockham
Jennifer C Poquette
Ashley X Saylors
Jefferson I Darakjy
David F Whobrey
Adams W Perin
Jefferson Q Stenseth
Maria G Oldroyd
Isabel D Morasca
Juan M Maclead
Ivar O Caudy
Jones V Ostrosky
Costa F Malet
Octavia B Rulapaugh
Kaitlin O Morasca
Faith D Nestle
Faith M Foller
Jones W Ruta
Kadeem W Inouye
Jones M Perin
Aditya Q Rulapaugh
Stacey R Shinko
Jefferson L Wieser
Jefferson N Foller
Leja B Paprocki
Munro B Stockham
Murillo R Marrier
Mayumi L Gillian
Murillo V Stenseth
Deepesh M Flosi
Aika F Inouye
Kadeem N Bolognia
Misaki C Ruta
Octavia X Tollner
Mujtaba M Bowley
Aika U Nestle
James B Wieser
Munro R Marrier
Costa H Garufi
IdCountryDate
1000Argentina2024-06-08
1001Germany2024-06-11
1002United Kingdom2024-05-28
1003France2024-06-01
1004Japan2024-05-16
1005Russia2024-06-03
1006Russia2024-05-31
1007Australia2024-06-08
1008Brazil2024-05-16
1009Russia2024-05-23
1010Italy2024-05-17
1011France2024-05-27
1012Canada2024-06-11
1013Canada2024-05-23
1014Japan2024-05-25
1015India2024-06-01
1016Russia2024-06-08
1017United Kingdom2024-06-12
1018Canada2024-06-14
1019France2024-06-06
1020Australia2024-05-17
1021Russia2024-05-18
1022Italy2024-06-08
1023Russia2024-05-27
1024Australia2024-06-06
1025Australia2024-05-31
1026Germany2024-06-06
1027Russia2024-06-03
1028Japan2024-05-29
1029Australia2024-06-11
1030Australia2024-06-08
1031Spain2024-05-18
1032India2024-05-22
1033France2024-05-29
1034France2024-05-31
1035Germany2024-06-07
1036Canada2024-06-08
1037Japan2024-05-27
1038Australia2024-06-01
1039United Kingdom2024-06-09
1040United Kingdom2024-06-04
1041Argentina2024-05-30
1042India2024-06-07
1043Japan2024-06-03
1044United Kingdom2024-05-17
1045Australia2024-06-13
1046France2024-06-06
1047Russia2024-06-07
1048Germany2024-06-06
1049Canada2024-05-30

On-Demand Data

NameIdCountryDate
Morrow V Campain1000Germany2024-06-02
Octavia N Nestle1001Brazil2024-05-17
Greenwood Y Kolmetz1002Argentina2024-06-08
Salvatore U Bowley1003France2024-05-23
Jeanfrancois E Caudy1004Germany2024-05-17
Maisha T Sergi1005United Kingdom2024-06-14
Salvatore S Garufi1006Argentina2024-05-17
Greenwood R Waycott1007Italy2024-06-09
Jones R Poquette1008France2024-05-28
Francesco N Iturbide1009India2024-06-14
Stacey X Caldarera1010France2024-05-23
David C Vocelka1011Canada2024-06-02
Alejandro Z Caldarera1012Japan2024-06-10
Claire H Albares1013Brazil2024-06-05
Misaki W Ruta1014India2024-05-30
Salvatore Q Stenseth1015Germany2024-06-03
Murillo R Waycott1016Italy2024-06-12
Jeanfrancois L Venere1017Japan2024-05-28
Deepesh L Marrier1018Russia2024-06-11
Jeanfrancois B Oldroyd1019Spain2024-05-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer Z WieserSpainXuxue Feng RENEWAL
Wickens Z GillianJapanXuxue Feng QUALIFIED
Adams M MacleadUnited KingdomXuxue Feng NEGOTIATION
Deepesh H ShinkoFranceAsiya Javayant UNQUALIFIED
Munro N FigeroaCanadaXuxue Feng NEW
Leja V FerenczGermanyXuxue Feng NEGOTIATION
Johnson F InouyeAustraliaOnyama Limba QUALIFIED
Silvio J WieserIndiaIvan Magalhaes UNQUALIFIED
Morrow I BowleyRussiaStephen Shaw PROPOSAL
Darci B RulapaughJapanStephen Shaw RENEWAL
Sinclair W NickaSpainAsiya Javayant QUALIFIED
Antonio X StensethBrazilElwin Sharvill QUALIFIED
Ricardo H BologniaCanadaIoni Bowcher QUALIFIED
Aruna G StensethCanadaBernardo Dominic NEGOTIATION
Tony C WaycottUnited KingdomBernardo Dominic UNQUALIFIED
Jefferson Z MacleadUnited KingdomAnna Fali UNQUALIFIED
Salvatore L CaudyCanadaIvan Magalhaes UNQUALIFIED
Smith T GarufiUnited KingdomElwin Sharvill QUALIFIED
Sinclair C WhobreyGermanyIvan Magalhaes PROPOSAL
Misaki Z ButtArgentinaElwin Sharvill UNQUALIFIED
Faith K RimArgentinaStephen Shaw NEGOTIATION
Jennifer Y NestleJapanStephen Shaw UNQUALIFIED
Munro Q TollnerArgentinaOnyama Limba NEGOTIATION
Alejandro I NestleRussiaAsiya Javayant UNQUALIFIED
Ivar D SergiJapanIvan Magalhaes NEGOTIATION
Nicolas F OstroskySpainIvan Magalhaes RENEWAL
Isabel Q FollerRussiaAnna Fali NEGOTIATION
Juan X CampainCanadaAmy Elsner NEGOTIATION
Arvin X MaletItalyIvan Magalhaes NEGOTIATION
Ricardo J TollnerArgentinaAmy Elsner NEW
Salvatore W FollerJapanXuxue Feng PROPOSAL
Aruna J OldroydItalyElwin Sharvill PROPOSAL
Aika F KolmetzGermanyAmy Elsner NEW
Maisha X FigeroaIndiaElwin Sharvill PROPOSAL
Claire A FlosiBrazilIvan Magalhaes NEGOTIATION
Greenwood O WaycottRussiaElwin Sharvill NEW
Jefferson U PerinAustraliaAnna Fali NEW
Deepesh J WhobreyItalyElwin Sharvill RENEWAL
Ricardo C MaletAustraliaIoni Bowcher QUALIFIED
Maisha J BowleyGermanyBernardo Dominic PROPOSAL

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