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
Costa R MarrierFranceStephen Shaw UNQUALIFIED
Ashley L CaldareraJapanAnna Fali RENEWAL
Nicolas X TollnerRussiaOnyama Limba NEGOTIATION
Morrow H TollnerUnited KingdomBernardo Dominic NEGOTIATION
Ashley W VocelkaGermanyElwin Sharvill UNQUALIFIED
Murillo R StensethAustraliaAsiya Javayant NEGOTIATION
Aruna A KuskoItalyAsiya Javayant NEW
Tony Y SergiBrazilIvan Magalhaes NEW
Silvio N SchemmerItalyStephen Shaw NEW
Juan E ChuiRussiaBernardo Dominic RENEWAL
Claire D TollnerCanadaBernardo Dominic QUALIFIED
Chavez C BriddickCanadaIoni Bowcher NEW
Leja B InouyeIndiaStephen Shaw UNQUALIFIED
Antonio S MarrierSpainXuxue Feng RENEWAL
James K BriddickArgentinaElwin Sharvill NEW
Ivar D BriddickArgentinaIoni Bowcher NEW
Darci G FlosiCanadaElwin Sharvill RENEWAL
Munro J TollnerJapanIvan Magalhaes NEGOTIATION
Chavez H CaldareraBrazilAnna Fali PROPOSAL
Morrow Z SlusarskiUnited KingdomIoni Bowcher UNQUALIFIED
Isabel D FlosiRussiaBernardo Dominic NEGOTIATION
Ivar V MaletGermanyStephen Shaw QUALIFIED
Sinclair L ChuiArgentinaStephen Shaw NEW
Ashley L DarakjySpainIvan Magalhaes NEGOTIATION
Darci E PerinGermanyStephen Shaw NEW
Octavia S GlickRussiaElwin Sharvill QUALIFIED
Jefferson T IturbideUnited KingdomOnyama Limba PROPOSAL
Maisha U NestleArgentinaXuxue Feng RENEWAL
Darci Z FollerCanadaStephen Shaw NEW
Izzy I WieserIndiaXuxue Feng RENEWAL
David K AlbaresUnited KingdomXuxue Feng QUALIFIED
Morrow F NestleGermanyIvan Magalhaes NEGOTIATION
Ricardo L RoysterIndiaOnyama Limba NEW
Arvin W CaldareraIndiaIoni Bowcher NEGOTIATION
Mayumi N DarakjyBrazilBernardo Dominic QUALIFIED
Leon Y FlosiBrazilIoni Bowcher QUALIFIED
Juan F DarakjyAustraliaIoni Bowcher NEGOTIATION
Aditya C IturbideGermanyAmy Elsner PROPOSAL
Sinclair Y FigeroaIndiaIvan Magalhaes PROPOSAL
Aruna L FlosiRussiaOnyama Limba PROPOSAL
Aditya M RimGermanyElwin Sharvill NEGOTIATION
Mujtaba K RutaRussiaElwin Sharvill QUALIFIED
Claire U VocelkaRussiaAnna Fali NEW
Leja G CaldareraJapanOnyama Limba UNQUALIFIED
Maria U SaylorsIndiaIvan Magalhaes UNQUALIFIED
Aika L PerinRussiaElwin Sharvill RENEWAL
Kadeem U PerinArgentinaXuxue Feng NEW
Tony W GarufiSpainIoni Bowcher RENEWAL
Mujtaba M ButtGermanyAnna Fali RENEWAL
Julie M PaprockiArgentinaBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Stacey T ShinkoAustraliaIvan Magalhaes NEW
Jennifer P FerenczSpainXuxue Feng QUALIFIED
Jeanfrancois L TollnerItalyAmy Elsner PROPOSAL
Arvin R DilliardCanadaAmy Elsner PROPOSAL
Smith D ChuiSpainAsiya Javayant NEGOTIATION
David Y BologniaFranceIvan Magalhaes NEGOTIATION
Johnson X FollerGermanyOnyama Limba RENEWAL
Ashley N TollnerItalyBernardo Dominic NEGOTIATION
Stacey J PaprockiFranceAmy Elsner QUALIFIED
Darci N FerenczJapanXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan H AmigonBrazil2024-06-10Rangoni Of Florence NEGOTIATION67Bernardo Dominic
1001Jefferson E MacleadSpain2024-06-13Truhlar And Truhlar Attys NEGOTIATION66Onyama Limba
1002Munro D DoeIndia2024-06-20Morlong Associates QUALIFIED86Elwin Sharvill
1003Francesco Y MarrierSpain2024-05-25Chapman, Ross E Esq QUALIFIED89Xuxue Feng
1004Faith V RimArgentina2024-06-02Chanay, Jeffrey A Esq RENEWAL88Asiya Javayant
1005Deepesh O VenereBrazil2024-06-08Morlong Associates PROPOSAL12Ioni Bowcher
1006Ashley R FlosiUnited Kingdom2024-06-20Chemel, James L Cpa QUALIFIED83Amy Elsner
1007Smith Q OstroskyArgentina2024-06-08Printing Dimensions NEGOTIATION85Ioni Bowcher
1008Silvio I BriddickRussia2024-05-26Printing Dimensions NEGOTIATION97Anna Fali
1009Morrow Z MorascaFrance2024-05-31Feiner Bros PROPOSAL64Xuxue Feng
1010Izzy V ButtSpain2024-06-09Dorl, James J Esq QUALIFIED86Onyama Limba
1011Aika S BriddickUnited Kingdom2024-06-10Morlong Associates RENEWAL28Ivan Magalhaes
1012Mayumi R SchemmerArgentina2024-06-11Chapman, Ross E Esq PROPOSAL80Onyama Limba
1013Greenwood J ButtRussia2024-06-15Commercial Press NEW96Stephen Shaw
1014Ashley E GlickSpain2024-06-10Morlong Associates RENEWAL86Ivan Magalhaes
1015Nicolas S VenereBrazil2024-06-22Dorl, James J Esq NEW40Elwin Sharvill
1016Izzy B StockhamGermany2024-05-27Rangoni Of Florence PROPOSAL38Onyama Limba
1017Morrow I FerenczJapan2024-05-29Chemel, James L Cpa NEGOTIATION90Bernardo Dominic
1018Jennifer U CaudyFrance2024-06-23Commercial Press NEW76Anna Fali
1019Julie H PaprockiBrazil2024-06-03Buckley Miller Wright RENEWAL75Onyama Limba
1020Leon R StensethIndia2024-06-16Benton, John B Jr RENEWAL31Onyama Limba
1021Isabel V ShinkoSpain2024-05-29Chapman, Ross E Esq UNQUALIFIED92Elwin Sharvill
1022Jefferson Z RimCanada2024-06-23Chemel, James L Cpa QUALIFIED11Amy Elsner
1023Jefferson P SlusarskiAustralia2024-06-13Commercial Press NEW87Ivan Magalhaes
1024Aditya O GauchoSpain2024-06-14Truhlar And Truhlar Attys QUALIFIED35Amy Elsner
1025Munro G KuskoBrazil2024-06-01Feltz Printing Service UNQUALIFIED43Asiya Javayant
1026Misaki X MarrierGermany2024-06-13Chapman, Ross E Esq PROPOSAL69Bernardo Dominic
1027Morrow D ChuiJapan2024-06-02Morlong Associates QUALIFIED21Anna Fali
1028Clifford R AlbaresBrazil2024-06-19Commercial Press UNQUALIFIED45Onyama Limba
1029Isabel G PaprockiFrance2024-06-06Chanay, Jeffrey A Esq NEGOTIATION84Xuxue Feng
1030Tony A CaudyItaly2024-06-20Benton, John B Jr RENEWAL55Onyama Limba
1031Smith S TollnerSpain2024-06-09Printing Dimensions PROPOSAL98Xuxue Feng
1032Maisha S NestleGermany2024-06-02Rousseaux, Michael Esq QUALIFIED87Bernardo Dominic
1033Nicolas U KolmetzIndia2024-05-30King, Christopher A Esq PROPOSAL83Elwin Sharvill
1034Jeanfrancois C InouyeSpain2024-06-20Feiner Bros NEW11Ivan Magalhaes
1035Wickens T NickaUnited Kingdom2024-06-01Rangoni Of Florence PROPOSAL69Ivan Magalhaes
1036Nicolas K KolmetzSpain2024-06-21Dorl, James J Esq RENEWAL42Bernardo Dominic
1037Aruna S TollnerJapan2024-06-22Chapman, Ross E Esq UNQUALIFIED47Ioni Bowcher
1038Ricardo X PoquetteFrance2024-06-15Commercial Press NEW44Asiya Javayant
1039Jeanfrancois M WhobreyFrance2024-06-08Chanay, Jeffrey A Esq UNQUALIFIED60Anna Fali
1040Smith L AlbaresFrance2024-06-23Truhlar And Truhlar Attys RENEWAL92Xuxue Feng
1041Maria C WaycottGermany2024-05-26Rousseaux, Michael Esq NEGOTIATION6Ivan Magalhaes
1042Salvatore M RimCanada2024-06-07Rousseaux, Michael Esq QUALIFIED68Ioni Bowcher
1043Costa M CampainRussia2024-06-03Morlong Associates NEW73Elwin Sharvill
1044Adams D AmigonItaly2024-05-27Chanay, Jeffrey A Esq NEW1Ioni Bowcher
1045Adams F MarrierCanada2024-06-23King, Christopher A Esq NEGOTIATION75Bernardo Dominic
1046Adams W PaprockiSpain2024-06-08Rousseaux, Michael Esq NEW30Asiya Javayant
1047Salvatore M AmigonSpain2024-06-18Morlong Associates UNQUALIFIED55Onyama Limba
1048Morrow X PaprockiCanada2024-06-15Dorl, James J Esq RENEWAL89Asiya Javayant
1049Nicolas V ShinkoItaly2024-06-10Rousseaux, Michael Esq QUALIFIED59Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Juan N TollnerCanadaAmy Elsner NEGOTIATION
Munro V MacleadBrazilXuxue Feng UNQUALIFIED
Kaitlin I DarakjyIndiaBernardo Dominic PROPOSAL
Costa O BologniaArgentinaAnna Fali RENEWAL
Jefferson J AmigonRussiaOnyama Limba UNQUALIFIED
Aditya K IturbideJapanIoni Bowcher QUALIFIED
Jennifer Q PoquetteCanadaBernardo Dominic QUALIFIED
Cody X SergiFranceBernardo Dominic QUALIFIED
Jefferson N RutaIndiaAnna Fali NEW
Aruna H CampainArgentinaIvan Magalhaes QUALIFIED
Claire Q VocelkaArgentinaOnyama Limba NEW
Deepesh D MaletGermanyXuxue Feng NEGOTIATION
Octavia H NickaCanadaIoni Bowcher PROPOSAL
David D DoeUnited KingdomIoni Bowcher QUALIFIED
Misaki E AlbaresCanadaAsiya Javayant RENEWAL
Kadeem I RutaRussiaIvan Magalhaes UNQUALIFIED
Isabel X IturbideBrazilAnna Fali UNQUALIFIED
Stacey M ButtUnited KingdomAsiya Javayant RENEWAL
Tony Y IturbideBrazilAmy Elsner PROPOSAL
Morrow R MacleadUnited KingdomAnna Fali NEW
Francesco G AlbaresJapanOnyama Limba PROPOSAL
Nicolas H MaletItalyXuxue Feng QUALIFIED
Clifford W OldroydBrazilStephen Shaw RENEWAL
Octavia G BowleyJapanIoni Bowcher PROPOSAL
Aditya F GarufiArgentinaOnyama Limba RENEWAL
Darci E PerinFranceIvan Magalhaes NEW
Johnson Y PaprockiItalyAmy Elsner QUALIFIED
Jennifer H IturbideRussiaXuxue Feng PROPOSAL
Cody F SaylorsBrazilIoni Bowcher NEGOTIATION
Mayumi E CampainFranceAsiya Javayant NEW
Smith S NestleArgentinaElwin Sharvill NEW
Ivar W AlbaresRussiaBernardo Dominic NEGOTIATION
Rodrigues E RutaRussiaOnyama Limba NEGOTIATION
Morrow U DarakjyGermanyOnyama Limba PROPOSAL
Alejandro T CampainBrazilXuxue Feng PROPOSAL
Morrow I BriddickSpainOnyama Limba NEGOTIATION
Aditya Z MaletIndiaAmy Elsner RENEWAL
Salvatore G FigeroaRussiaAnna Fali PROPOSAL
Murillo C MarrierJapanIvan Magalhaes QUALIFIED
Ivar T PerinFranceAnna Fali NEW
Jennifer T MorascaGermanyOnyama Limba NEGOTIATION
Ricardo R NickaBrazilIvan Magalhaes UNQUALIFIED
Clifford A SaylorsArgentinaIvan Magalhaes PROPOSAL
Wickens I PoquetteGermanyXuxue Feng QUALIFIED
Costa C BriddickCanadaBernardo Dominic PROPOSAL
James X GlickSpainOnyama Limba NEW
Emily X KuskoFranceAsiya Javayant UNQUALIFIED
Nicolas I OldroydRussiaIoni Bowcher QUALIFIED
Mayumi D InouyeBrazilOnyama Limba RENEWAL
Aruna I NickaAustraliaAnna Fali PROPOSAL
Frozen Columns
Name
Ricardo P Doe
Salvatore A Tollner
Leon Y Stockham
Tony N Dilliard
Ricardo U Butt
Salvatore K Tollner
Cody T Campain
Chavez X Stenseth
Arvin E Schemmer
Misaki K Rim
Claire J Chui
Claire F Wieser
Darci M Darakjy
Francesco G Gaucho
Greenwood S Dilliard
Silvio W Sergi
Johnson D Venere
Adams Y Bolognia
Isabel I Inouye
Francesco F Marrier
Smith Y Butt
James G Marrier
Salvatore D Shinko
Darci T Poquette
Johnson O Tollner
Arvin S Bowley
Juan B Flosi
Ashley V Maclead
Deepesh U Ferencz
Murillo Q Shinko
Jones I Chui
David Q Darakjy
Jeanfrancois N Stenseth
Misaki S Poquette
Antonio F Stenseth
Ivar B Albares
Sinclair K Bowley
Jefferson I Inouye
Maisha U Stockham
Aika S Darakjy
Maisha M Campain
Aruna S Nicka
Tony V Rulapaugh
Morrow M Saylors
Munro W Shinko
Ivar C Albares
Murillo S Malet
Murillo V Kusko
Isabel M Shinko
Julie J Malet
IdCountryDate
1000Canada2024-05-28
1001Argentina2024-06-17
1002Japan2024-06-03
1003United Kingdom2024-06-06
1004Russia2024-06-06
1005India2024-06-18
1006Argentina2024-06-22
1007Brazil2024-06-15
1008Spain2024-05-25
1009Argentina2024-06-07
1010Germany2024-06-16
1011Spain2024-06-18
1012Canada2024-06-06
1013France2024-06-06
1014Germany2024-06-05
1015Australia2024-06-06
1016Spain2024-06-20
1017France2024-06-04
1018United Kingdom2024-06-19
1019Germany2024-06-18
1020Germany2024-06-05
1021Argentina2024-06-22
1022India2024-05-27
1023Russia2024-06-01
1024Australia2024-06-22
1025United Kingdom2024-06-06
1026Spain2024-05-31
1027Japan2024-06-07
1028Brazil2024-05-29
1029Japan2024-06-09
1030Germany2024-06-12
1031India2024-05-25
1032Canada2024-06-10
1033France2024-05-28
1034France2024-06-19
1035Spain2024-06-15
1036India2024-05-30
1037Canada2024-06-22
1038Australia2024-06-04
1039Italy2024-06-09
1040Australia2024-06-06
1041Spain2024-06-13
1042Germany2024-06-12
1043Australia2024-06-15
1044Argentina2024-05-28
1045Spain2024-06-06
1046Spain2024-06-18
1047Spain2024-05-26
1048France2024-05-27
1049Japan2024-06-01

On-Demand Data

NameIdCountryDate
Jennifer H Ruta1000France2024-06-09
Juan W Briddick1001India2024-05-29
Salvatore B Saylors1002France2024-05-26
Faith Q Ferencz1003Russia2024-06-07
Leon D Garufi1004Italy2024-06-14
Cody S Perin1005Italy2024-05-26
Ashley H Tollner1006Canada2024-06-09
Kaitlin L Nestle1007Italy2024-05-26
Silvio U Malet1008France2024-06-06
Leon U Rim1009Argentina2024-06-03
Emily G Rim1010Japan2024-06-07
Rodrigues T Butt1011Germany2024-06-18
Maria D Kolmetz1012Italy2024-06-02
Jefferson K Bowley1013Russia2024-06-01
Jefferson O Amigon1014Canada2024-06-08
Izzy P Rulapaugh1015Russia2024-06-10
Aruna P Slusarski1016United Kingdom2024-06-20
Morrow C Shinko1017Argentina2024-06-23
Murillo M Campain1018Russia2024-06-14
Claire T Marrier1019France2024-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy R FollerItalyIvan Magalhaes NEW
Wickens R SchemmerBrazilIoni Bowcher PROPOSAL
Johnson N OstroskyAustraliaIoni Bowcher PROPOSAL
Jefferson F BologniaCanadaStephen Shaw PROPOSAL
Julie A BowleyAustraliaBernardo Dominic PROPOSAL
David T NickaCanadaIoni Bowcher NEW
Francesco J OstroskyCanadaIvan Magalhaes RENEWAL
Chavez I KolmetzBrazilXuxue Feng RENEWAL
Francesco E GarufiBrazilIoni Bowcher NEW
Nicolas V MarrierJapanStephen Shaw NEGOTIATION
Francesco H RulapaughIndiaXuxue Feng RENEWAL
Silvio V IturbideAustraliaAnna Fali QUALIFIED
Johnson Y GarufiArgentinaElwin Sharvill NEW
Deepesh G RimIndiaAsiya Javayant NEGOTIATION
Rodrigues T DilliardSpainIoni Bowcher PROPOSAL
Stacey M NestleRussiaAsiya Javayant NEGOTIATION
Chavez E MarrierCanadaIoni Bowcher RENEWAL
Kaitlin Z DilliardGermanyAnna Fali UNQUALIFIED
Arvin V OldroydCanadaIvan Magalhaes RENEWAL
Smith B MaletSpainBernardo Dominic NEGOTIATION
Stacey P ShinkoBrazilXuxue Feng NEW
Deepesh S CampainRussiaAsiya Javayant NEW
Leja O OldroydSpainElwin Sharvill PROPOSAL
Emily T OstroskyArgentinaXuxue Feng RENEWAL
Adams G StensethUnited KingdomStephen Shaw PROPOSAL
Mujtaba X StockhamIndiaBernardo Dominic UNQUALIFIED
James Y AmigonGermanyElwin Sharvill UNQUALIFIED
Tony Q MacleadGermanyAnna Fali UNQUALIFIED
Aditya T GauchoAustraliaAnna Fali PROPOSAL
Faith K CaudySpainBernardo Dominic PROPOSAL
Sinclair V WhobreyArgentinaBernardo Dominic NEGOTIATION
Maria J StockhamBrazilStephen Shaw UNQUALIFIED
Morrow X StockhamJapanAmy Elsner PROPOSAL
Leja C ShinkoAustraliaAmy Elsner PROPOSAL
Cody P BriddickItalyAnna Fali QUALIFIED
Mayumi U DarakjyFranceAmy Elsner UNQUALIFIED
Smith W VocelkaItalyIvan Magalhaes PROPOSAL
Stacey R SchemmerSpainXuxue Feng RENEWAL
Leja J SaylorsJapanXuxue Feng NEGOTIATION
Aruna J BologniaGermanyStephen Shaw 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>