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
Izzy F ButtIndiaIoni Bowcher UNQUALIFIED
Leja T GauchoArgentinaAsiya Javayant NEW
Alejandro C StockhamItalyAnna Fali UNQUALIFIED
Mayumi L SergiCanadaAsiya Javayant NEW
Chavez F InouyeCanadaAmy Elsner NEW
Sinclair U AlbaresBrazilBernardo Dominic NEW
Murillo A MaletArgentinaElwin Sharvill NEW
Greenwood I NestleSpainOnyama Limba RENEWAL
Nicolas H RulapaughJapanIvan Magalhaes QUALIFIED
Tony R OstroskyIndiaOnyama Limba PROPOSAL
Munro O StensethItalyOnyama Limba QUALIFIED
Aruna E VocelkaAustraliaIoni Bowcher PROPOSAL
Julie S RoysterCanadaXuxue Feng NEW
Wickens Z GauchoRussiaXuxue Feng NEGOTIATION
Greenwood W KuskoCanadaAmy Elsner QUALIFIED
Faith M ShinkoAustraliaIoni Bowcher QUALIFIED
Chavez D BriddickSpainIoni Bowcher NEGOTIATION
Maria K VenereAustraliaIoni Bowcher QUALIFIED
Alejandro U StensethCanadaIvan Magalhaes NEGOTIATION
Ricardo W BologniaFranceAsiya Javayant QUALIFIED
Misaki J MorascaSpainAmy Elsner UNQUALIFIED
Stacey Y CaudySpainOnyama Limba NEGOTIATION
Salvatore C TollnerJapanAsiya Javayant PROPOSAL
Juan R IturbideFranceBernardo Dominic NEGOTIATION
Mayumi Y BowleyArgentinaOnyama Limba UNQUALIFIED
Chavez D DarakjyFranceAnna Fali NEGOTIATION
Smith Z OldroydFranceAmy Elsner NEGOTIATION
Jones S WhobreyIndiaAnna Fali NEGOTIATION
Julie D SchemmerIndiaAnna Fali RENEWAL
Tony V MacleadUnited KingdomStephen Shaw PROPOSAL
Aika I RimSpainIoni Bowcher NEGOTIATION
Maria C AmigonArgentinaBernardo Dominic UNQUALIFIED
Silvio P SaylorsUnited KingdomStephen Shaw QUALIFIED
Octavia I WhobreyGermanyAsiya Javayant QUALIFIED
James Z ShinkoIndiaAnna Fali NEGOTIATION
Rodrigues P NickaUnited KingdomBernardo Dominic NEW
Ricardo S PoquetteBrazilIvan Magalhaes PROPOSAL
Arvin Z IturbideJapanOnyama Limba NEW
Kaitlin R GauchoArgentinaElwin Sharvill PROPOSAL
Tony Z FollerUnited KingdomXuxue Feng PROPOSAL
Salvatore N FerenczFranceElwin Sharvill QUALIFIED
Aditya H CaldareraIndiaStephen Shaw RENEWAL
Murillo A SlusarskiJapanOnyama Limba RENEWAL
David X InouyeIndiaBernardo Dominic NEW
Leja Q FollerArgentinaElwin Sharvill NEGOTIATION
Jefferson M GlickIndiaAmy Elsner QUALIFIED
Izzy P GillianIndiaAnna Fali NEW
Emily R CaldareraJapanXuxue Feng RENEWAL
Mujtaba I WhobreyArgentinaIoni Bowcher NEGOTIATION
Claire E CaudySpainStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Deepesh D PerinGermanyStephen Shaw UNQUALIFIED
Juan K PerinSpainAnna Fali UNQUALIFIED
Alejandro H SergiJapanAsiya Javayant UNQUALIFIED
Leon Q CampainGermanyAsiya Javayant NEGOTIATION
Isabel B PaprockiUnited KingdomAmy Elsner NEW
Julie T MaletAustraliaElwin Sharvill UNQUALIFIED
Faith K RulapaughItalyOnyama Limba NEGOTIATION
Emily K OldroydRussiaBernardo Dominic RENEWAL
Greenwood V TollnerSpainAnna Fali PROPOSAL
Chavez G ShinkoUnited KingdomXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith P FigeroaGermany2026-07-02Rousseaux, Michael Esq UNQUALIFIED42Anna Fali
1001Tony W ChuiItaly2026-07-04Morlong Associates RENEWAL49Asiya Javayant
1002Octavia Z SergiAustralia2026-07-08Rangoni Of Florence RENEWAL71Xuxue Feng
1003Salvatore P VenereGermany2026-06-25Printing Dimensions UNQUALIFIED44Anna Fali
1004Leja N DarakjyUnited Kingdom2026-06-24Buckley Miller Wright PROPOSAL33Ivan Magalhaes
1005Munro E MaletIndia2026-06-27Truhlar And Truhlar Attys NEGOTIATION30Xuxue Feng
1006Darci G InouyeSpain2026-07-13Benton, John B Jr RENEWAL99Ioni Bowcher
1007Deepesh P MarrierUnited Kingdom2026-07-13Feltz Printing Service UNQUALIFIED72Stephen Shaw
1008Arvin T SchemmerSpain2026-07-14King, Christopher A Esq PROPOSAL22Asiya Javayant
1009Aruna N BriddickFrance2026-07-20Printing Dimensions NEW77Amy Elsner
1010Faith F RoysterBrazil2026-07-14Chapman, Ross E Esq NEW90Anna Fali
1011David J MaletItaly2026-07-20Chemel, James L Cpa NEGOTIATION67Asiya Javayant
1012Aruna E SergiBrazil2026-07-07Rousseaux, Michael Esq UNQUALIFIED42Anna Fali
1013Julie N StockhamItaly2026-06-26Benton, John B Jr NEW81Ivan Magalhaes
1014Cody F FigeroaJapan2026-06-24Feiner Bros NEW85Stephen Shaw
1015Deepesh Y DilliardAustralia2026-06-21Rangoni Of Florence RENEWAL12Asiya Javayant
1016Deepesh C SlusarskiBrazil2026-07-08Morlong Associates PROPOSAL59Asiya Javayant
1017Leja Y GillianFrance2026-06-26Morlong Associates NEW72Xuxue Feng
1018Munro K RutaRussia2026-07-05Commercial Press PROPOSAL45Ivan Magalhaes
1019Arvin N BologniaAustralia2026-07-15Truhlar And Truhlar Attys PROPOSAL52Asiya Javayant
1020Smith R AmigonIndia2026-06-21Commercial Press NEGOTIATION90Elwin Sharvill
1021David Q CampainFrance2026-06-22Morlong Associates QUALIFIED6Stephen Shaw
1022Emily N OstroskySpain2026-06-24Commercial Press UNQUALIFIED76Bernardo Dominic
1023Ricardo D NestleRussia2026-06-24Feltz Printing Service PROPOSAL44Asiya Javayant
1024Mayumi G MorascaCanada2026-07-07Feiner Bros RENEWAL45Ioni Bowcher
1025Francesco N BriddickBrazil2026-07-05Buckley Miller Wright NEW45Anna Fali
1026Sinclair S SaylorsAustralia2026-07-13Rangoni Of Florence NEGOTIATION85Ioni Bowcher
1027Aditya H RoysterCanada2026-06-30Dorl, James J Esq NEGOTIATION69Ivan Magalhaes
1028Johnson R RutaRussia2026-07-12Benton, John B Jr NEW54Amy Elsner
1029Ivar T ShinkoArgentina2026-07-07Rangoni Of Florence QUALIFIED26Xuxue Feng
1030Silvio X ChuiCanada2026-07-04Dorl, James J Esq NEGOTIATION57Elwin Sharvill
1031Ricardo R PoquetteArgentina2026-07-17Rousseaux, Michael Esq QUALIFIED62Amy Elsner
1032Misaki Q CaudyAustralia2026-07-08Truhlar And Truhlar Attys NEGOTIATION59Bernardo Dominic
1033Costa Z SlusarskiUnited Kingdom2026-06-26Buckley Miller Wright RENEWAL33Xuxue Feng
1034Silvio M MaletSpain2026-07-13Commercial Press NEW97Stephen Shaw
1035Rodrigues L WhobreyCanada2026-07-20Truhlar And Truhlar Attys PROPOSAL70Elwin Sharvill
1036Francesco O OstroskySpain2026-06-22Chapman, Ross E Esq NEGOTIATION98Elwin Sharvill
1037Arvin L GarufiUnited Kingdom2026-07-08Printing Dimensions PROPOSAL48Onyama Limba
1038Antonio M BriddickSpain2026-07-13Buckley Miller Wright NEGOTIATION18Bernardo Dominic
1039Adams V ShinkoArgentina2026-07-05Rangoni Of Florence QUALIFIED44Xuxue Feng
1040Costa K FigeroaIndia2026-06-30Benton, John B Jr QUALIFIED73Ioni Bowcher
1041Kadeem U NestleArgentina2026-07-18Dorl, James J Esq RENEWAL93Xuxue Feng
1042Stacey D MaletIndia2026-07-01Feltz Printing Service NEGOTIATION19Ioni Bowcher
1043Aika C CaldareraAustralia2026-07-12Dorl, James J Esq NEGOTIATION53Onyama Limba
1044Clifford V VocelkaArgentina2026-07-06Chapman, Ross E Esq NEW59Ioni Bowcher
1045Kadeem N RimIndia2026-07-11Rousseaux, Michael Esq NEW33Xuxue Feng
1046Maisha H GillianFrance2026-07-05King, Christopher A Esq PROPOSAL45Asiya Javayant
1047Clifford O AlbaresArgentina2026-06-25Truhlar And Truhlar Attys UNQUALIFIED32Ivan Magalhaes
1048Maria A RutaSpain2026-07-15Chanay, Jeffrey A Esq RENEWAL7Asiya Javayant
1049Darci F RimBrazil2026-06-27Chemel, James L Cpa PROPOSAL9Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Jennifer E PerinFranceAmy Elsner UNQUALIFIED
Misaki N RutaAustraliaAsiya Javayant NEGOTIATION
Kadeem X InouyeFranceIoni Bowcher NEGOTIATION
Misaki I OstroskyAustraliaAnna Fali NEGOTIATION
Mujtaba G SlusarskiRussiaIvan Magalhaes PROPOSAL
David E DilliardArgentinaIvan Magalhaes RENEWAL
Chavez I GlickUnited KingdomIoni Bowcher RENEWAL
Aditya O MaletJapanBernardo Dominic NEW
Stacey K MorascaBrazilXuxue Feng UNQUALIFIED
Izzy J OldroydJapanStephen Shaw PROPOSAL
Ashley E OldroydFranceStephen Shaw NEGOTIATION
David Z InouyeCanadaAsiya Javayant NEGOTIATION
Misaki E AlbaresUnited KingdomAmy Elsner NEW
James B MacleadSpainElwin Sharvill NEW
Claire T BowleyIndiaIvan Magalhaes RENEWAL
Rodrigues T TollnerSpainIvan Magalhaes RENEWAL
Emily I CaldareraItalyElwin Sharvill QUALIFIED
Clifford P WhobreyJapanElwin Sharvill RENEWAL
Juan A MaletAustraliaElwin Sharvill QUALIFIED
Munro Q PaprockiBrazilAsiya Javayant QUALIFIED
Emily X CaldareraCanadaIvan Magalhaes RENEWAL
Alejandro T WaycottRussiaStephen Shaw NEW
Leja C GillianBrazilXuxue Feng PROPOSAL
Francesco A FigeroaCanadaAsiya Javayant UNQUALIFIED
Ivar N KolmetzArgentinaAnna Fali RENEWAL
Emily U NestleAustraliaElwin Sharvill NEW
Greenwood R FollerJapanStephen Shaw PROPOSAL
Chavez G VenereUnited KingdomXuxue Feng QUALIFIED
Aditya I StensethSpainAsiya Javayant QUALIFIED
Jennifer N WhobreyRussiaOnyama Limba NEGOTIATION
Silvio F RutaFranceAsiya Javayant RENEWAL
Arvin P FigeroaAustraliaIvan Magalhaes RENEWAL
Smith Q BologniaAustraliaIoni Bowcher RENEWAL
Aditya Y StockhamJapanOnyama Limba PROPOSAL
Leja K GillianCanadaOnyama Limba NEGOTIATION
Wickens Y CaudyFranceBernardo Dominic QUALIFIED
Aruna M IturbideSpainIoni Bowcher PROPOSAL
Izzy E GillianItalyAmy Elsner UNQUALIFIED
Morrow J StensethRussiaIoni Bowcher NEW
Leja U CampainUnited KingdomXuxue Feng NEGOTIATION
Isabel X InouyeRussiaElwin Sharvill QUALIFIED
Stacey J GauchoIndiaIvan Magalhaes NEGOTIATION
Francesco B SlusarskiSpainXuxue Feng QUALIFIED
Claire K MorascaIndiaAnna Fali UNQUALIFIED
Isabel N GarufiRussiaAsiya Javayant RENEWAL
Silvio I IturbideFranceAsiya Javayant NEGOTIATION
Jeanfrancois A SchemmerSpainBernardo Dominic RENEWAL
Izzy Z ChuiSpainXuxue Feng QUALIFIED
Mayumi I AlbaresUnited KingdomOnyama Limba QUALIFIED
Kaitlin Q SergiUnited KingdomStephen Shaw RENEWAL
Frozen Columns
Name
Greenwood O Poquette
Kadeem U Marrier
Murillo K Briddick
Rodrigues W Shinko
Deepesh T Waycott
Aruna G Darakjy
Leon Y Amigon
Mujtaba V Kusko
Adams V Ostrosky
Smith G Foller
Isabel Y Dilliard
Ivar K Kusko
Silvio A Ferencz
Smith H Foller
David D Iturbide
Isabel B Royster
Francesco J Perin
Faith R Sergi
Aruna L Chui
Chavez X Malet
Wickens W Perin
Jeanfrancois N Ferencz
James D Paprocki
Julie O Oldroyd
Stacey F Venere
Aika R Stenseth
Faith F Inouye
Darci A Morasca
Julie C Gaucho
Julie M Bolognia
Adams K Garufi
Jennifer U Chui
Francesco C Morasca
Clifford O Malet
Aruna C Caudy
Maria Z Shinko
Morrow O Dilliard
Claire A Gillian
Stacey S Kusko
Aika L Paprocki
Johnson W Nestle
Isabel A Doe
Rodrigues J Darakjy
Cody Y Caudy
Antonio T Flosi
Julie B Campain
Maria J Flosi
Jones G Caldarera
Jefferson K Glick
Julie E Whobrey
IdCountryDate
1000United Kingdom2026-07-07
1001India2026-07-07
1002Italy2026-07-15
1003France2026-07-16
1004Italy2026-06-26
1005Canada2026-07-14
1006India2026-07-11
1007Russia2026-07-02
1008Germany2026-07-03
1009Germany2026-07-02
1010Russia2026-07-09
1011Japan2026-07-03
1012Germany2026-07-01
1013Canada2026-06-22
1014Brazil2026-07-07
1015Italy2026-07-05
1016India2026-07-19
1017Australia2026-07-19
1018Argentina2026-07-12
1019Russia2026-07-10
1020Italy2026-07-14
1021Argentina2026-07-03
1022Russia2026-07-19
1023Germany2026-07-05
1024Germany2026-06-28
1025Germany2026-07-12
1026Italy2026-07-15
1027Japan2026-07-01
1028Brazil2026-07-15
1029India2026-07-16
1030India2026-07-05
1031Canada2026-07-11
1032Canada2026-06-27
1033Germany2026-07-12
1034India2026-07-17
1035India2026-07-10
1036Australia2026-06-30
1037Germany2026-07-13
1038Germany2026-07-02
1039Italy2026-06-22
1040Japan2026-07-12
1041Italy2026-07-04
1042Germany2026-07-09
1043Spain2026-06-27
1044Japan2026-07-15
1045Germany2026-06-27
1046Russia2026-06-23
1047Japan2026-07-14
1048Germany2026-07-09
1049Canada2026-07-06

On-Demand Data

NameIdCountryDate
Faith Y Morasca1000Australia2026-07-12
Aika Z Garufi1001India2026-07-02
Aika R Figeroa1002Germany2026-07-13
Arvin F Oldroyd1003Spain2026-06-25
Juan O Sergi1004Japan2026-07-19
Smith X Bolognia1005Germany2026-07-04
Clifford E Vocelka1006Brazil2026-07-19
Greenwood Y Maclead1007Argentina2026-07-12
Costa F Kolmetz1008Brazil2026-06-22
Octavia K Garufi1009Germany2026-06-24
Maria G Whobrey1010Japan2026-07-04
Francesco V Darakjy1011Spain2026-07-15
Johnson D Royster1012Japan2026-07-20
Johnson E Ferencz1013Germany2026-07-17
Aruna C Shinko1014Italy2026-07-05
Darci O Tollner1015Spain2026-07-15
Greenwood G Wieser1016Italy2026-07-15
Aditya Y Foller1017Canada2026-07-13
Jefferson M Vocelka1018Spain2026-07-12
Faith S Bolognia1019United Kingdom2026-07-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson S FlosiItalyIvan Magalhaes NEW
Tony V MaletJapanAmy Elsner QUALIFIED
Chavez R VenereFranceBernardo Dominic NEGOTIATION
Murillo V ChuiArgentinaIvan Magalhaes NEGOTIATION
Mujtaba N FerenczUnited KingdomElwin Sharvill UNQUALIFIED
Murillo P GarufiItalyOnyama Limba PROPOSAL
Mujtaba E ButtSpainAmy Elsner NEW
Jefferson Y BowleyJapanElwin Sharvill PROPOSAL
Ivar T VenereCanadaIvan Magalhaes UNQUALIFIED
Munro G CaudyArgentinaElwin Sharvill NEW
James R AmigonItalyXuxue Feng RENEWAL
Izzy S GlickCanadaOnyama Limba QUALIFIED
Cody Q BriddickCanadaIoni Bowcher QUALIFIED
Juan E RoysterCanadaAsiya Javayant RENEWAL
Juan R MarrierItalyStephen Shaw PROPOSAL
Silvio P PaprockiArgentinaAsiya Javayant UNQUALIFIED
Cody U MacleadSpainXuxue Feng PROPOSAL
Izzy H NickaJapanStephen Shaw QUALIFIED
Alejandro F StensethRussiaElwin Sharvill PROPOSAL
Adams E CaudyUnited KingdomIvan Magalhaes QUALIFIED
Jones Z VenereRussiaBernardo Dominic UNQUALIFIED
Costa C AmigonAustraliaStephen Shaw RENEWAL
Izzy P StockhamUnited KingdomBernardo Dominic RENEWAL
Cody V SergiCanadaAsiya Javayant NEGOTIATION
Octavia S VocelkaRussiaAnna Fali NEW
Izzy C OldroydRussiaAmy Elsner NEGOTIATION
Salvatore T MorascaJapanAnna Fali NEGOTIATION
Ashley C ButtItalyAnna Fali RENEWAL
Faith U KolmetzJapanAsiya Javayant QUALIFIED
Tony E ShinkoBrazilAsiya Javayant NEW
Julie N NestleRussiaOnyama Limba QUALIFIED
Tony J IturbideUnited KingdomIoni Bowcher RENEWAL
Alejandro B WhobreyAustraliaIvan Magalhaes PROPOSAL
Isabel Q ChuiAustraliaAmy Elsner NEW
Salvatore J StensethCanadaElwin Sharvill NEGOTIATION
Sinclair A FollerItalyAmy Elsner PROPOSAL
Morrow E GlickIndiaAmy Elsner PROPOSAL
Arvin W SlusarskiArgentinaOnyama Limba UNQUALIFIED
Chavez Q MarrierAustraliaBernardo Dominic NEGOTIATION
Isabel N PaprockiRussiaIoni Bowcher QUALIFIED

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