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
Juan I PaprockiCanadaElwin Sharvill UNQUALIFIED
Cody T TollnerRussiaAsiya Javayant PROPOSAL
Isabel X AlbaresFranceAmy Elsner NEGOTIATION
Murillo R SchemmerCanadaStephen Shaw UNQUALIFIED
Clifford B PerinSpainAnna Fali QUALIFIED
Aditya N PoquetteArgentinaIvan Magalhaes UNQUALIFIED
Aditya T CaldareraSpainAsiya Javayant PROPOSAL
Sinclair H IturbideIndiaXuxue Feng UNQUALIFIED
Costa U CaudyCanadaElwin Sharvill NEW
Ashley R SchemmerAustraliaIoni Bowcher UNQUALIFIED
Greenwood K VocelkaSpainAmy Elsner QUALIFIED
Aditya G FerenczCanadaAmy Elsner PROPOSAL
Maisha Y SchemmerFranceAsiya Javayant NEW
Wickens E BologniaCanadaElwin Sharvill NEW
Claire Y StensethAustraliaAnna Fali UNQUALIFIED
Emily X MaletArgentinaXuxue Feng NEW
Nicolas P InouyeAustraliaBernardo Dominic RENEWAL
Johnson Z WieserIndiaStephen Shaw PROPOSAL
Chavez N ButtSpainAnna Fali QUALIFIED
Adams P CaldareraFranceIoni Bowcher UNQUALIFIED
Wickens N InouyeUnited KingdomBernardo Dominic NEGOTIATION
Ivar V MaletSpainStephen Shaw UNQUALIFIED
Arvin G ChuiAustraliaBernardo Dominic PROPOSAL
Alejandro B KuskoUnited KingdomOnyama Limba NEGOTIATION
Jones J CampainGermanyAsiya Javayant QUALIFIED
Morrow G MaletItalyStephen Shaw NEW
Maria R ChuiSpainAsiya Javayant NEGOTIATION
Maisha U KolmetzRussiaStephen Shaw NEGOTIATION
James C CaldareraItalyAnna Fali NEGOTIATION
Tony J RulapaughCanadaIvan Magalhaes PROPOSAL
Jeanfrancois A RimGermanyAnna Fali NEW
Darci D WhobreyIndiaOnyama Limba NEGOTIATION
Kadeem E CaudyItalyOnyama Limba NEW
Sinclair A GillianGermanyIvan Magalhaes RENEWAL
Ivar U FigeroaFranceAnna Fali NEW
James F RulapaughCanadaIvan Magalhaes NEW
Morrow I PerinBrazilOnyama Limba NEW
Wickens L VocelkaRussiaAnna Fali NEGOTIATION
Clifford R RimFranceAnna Fali NEGOTIATION
Jefferson M GauchoGermanyStephen Shaw NEGOTIATION
Greenwood H WaycottAustraliaAnna Fali NEGOTIATION
Clifford F SaylorsGermanyAmy Elsner UNQUALIFIED
Murillo O DarakjyCanadaIvan Magalhaes RENEWAL
Emily Y GauchoBrazilBernardo Dominic UNQUALIFIED
Arvin D VenereFranceIvan Magalhaes NEW
Chavez Z NickaSpainAnna Fali NEW
Stacey P CaudyFranceAsiya Javayant UNQUALIFIED
Darci C AmigonIndiaBernardo Dominic RENEWAL
Ricardo V MacleadJapanBernardo Dominic NEGOTIATION
Tony E SergiJapanAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Arvin S CampainUnited KingdomAmy Elsner RENEWAL
Arvin X InouyeUnited KingdomOnyama Limba RENEWAL
Jones V WieserIndiaAnna Fali QUALIFIED
Jeanfrancois O ButtJapanIvan Magalhaes PROPOSAL
Morrow J ButtSpainAsiya Javayant QUALIFIED
Johnson X DilliardArgentinaAsiya Javayant RENEWAL
Julie L WieserUnited KingdomBernardo Dominic UNQUALIFIED
Silvio E RoysterGermanyElwin Sharvill QUALIFIED
David N InouyeIndiaAnna Fali NEGOTIATION
Faith O GillianUnited KingdomStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas V NickaFrance2024-05-24Feltz Printing Service NEGOTIATION11Ioni Bowcher
1001Kaitlin B BologniaIndia2024-06-09Commercial Press NEGOTIATION52Asiya Javayant
1002Smith F SchemmerRussia2024-06-05Chemel, James L Cpa PROPOSAL51Anna Fali
1003Tony E PaprockiItaly2024-06-17Rousseaux, Michael Esq QUALIFIED60Xuxue Feng
1004Deepesh A WaycottBrazil2024-06-12Benton, John B Jr NEGOTIATION21Asiya Javayant
1005Costa J GillianArgentina2024-05-30Feiner Bros PROPOSAL55Onyama Limba
1006Faith B DarakjyAustralia2024-05-25Truhlar And Truhlar Attys QUALIFIED28Xuxue Feng
1007Greenwood C ButtItaly2024-06-06Feiner Bros NEW67Ivan Magalhaes
1008Mayumi J CampainCanada2024-05-23Chemel, James L Cpa UNQUALIFIED92Ioni Bowcher
1009Tony H GauchoAustralia2024-06-19King, Christopher A Esq NEGOTIATION45Asiya Javayant
1010Johnson L NestleArgentina2024-06-12Rangoni Of Florence NEGOTIATION73Onyama Limba
1011Deepesh I ChuiBrazil2024-05-24Morlong Associates RENEWAL58Amy Elsner
1012Jeanfrancois S RoysterAustralia2024-06-12Buckley Miller Wright QUALIFIED16Bernardo Dominic
1013Wickens M VenereJapan2024-06-07Rousseaux, Michael Esq NEGOTIATION25Elwin Sharvill
1014Aruna D VenereBrazil2024-06-16Morlong Associates PROPOSAL97Ivan Magalhaes
1015Kadeem Z PerinBrazil2024-06-14Truhlar And Truhlar Attys NEW76Ioni Bowcher
1016Juan C SaylorsCanada2024-05-31Commercial Press PROPOSAL3Xuxue Feng
1017Ricardo M AlbaresRussia2024-06-17Commercial Press UNQUALIFIED30Asiya Javayant
1018Jennifer S SchemmerBrazil2024-06-17Benton, John B Jr QUALIFIED78Ivan Magalhaes
1019Faith Y DilliardArgentina2024-06-16Buckley Miller Wright UNQUALIFIED76Bernardo Dominic
1020Kadeem A FollerIndia2024-06-09Rangoni Of Florence PROPOSAL89Onyama Limba
1021Claire W DoeArgentina2024-05-24Truhlar And Truhlar Attys QUALIFIED14Ioni Bowcher
1022Juan B WaycottCanada2024-06-13Chemel, James L Cpa UNQUALIFIED50Amy Elsner
1023Sinclair Z NestleAustralia2024-06-07Chapman, Ross E Esq RENEWAL99Ivan Magalhaes
1024Stacey Y GarufiRussia2024-06-04Printing Dimensions UNQUALIFIED0Anna Fali
1025Julie X FlosiUnited Kingdom2024-06-16Commercial Press QUALIFIED50Elwin Sharvill
1026Antonio O PaprockiBrazil2024-05-23Feiner Bros NEGOTIATION90Anna Fali
1027Emily Z OldroydFrance2024-05-31Chanay, Jeffrey A Esq NEGOTIATION46Onyama Limba
1028Julie K AlbaresBrazil2024-06-10Rousseaux, Michael Esq QUALIFIED75Asiya Javayant
1029Aditya X DarakjyAustralia2024-06-20Chapman, Ross E Esq RENEWAL85Xuxue Feng
1030Cody E VocelkaSpain2024-05-25Rousseaux, Michael Esq PROPOSAL56Xuxue Feng
1031Ricardo U RulapaughBrazil2024-06-14Rangoni Of Florence PROPOSAL72Ioni Bowcher
1032Deepesh Z BologniaGermany2024-05-24Chanay, Jeffrey A Esq NEGOTIATION43Bernardo Dominic
1033Emily G IturbideFrance2024-06-16Benton, John B Jr PROPOSAL93Bernardo Dominic
1034Octavia W StockhamSpain2024-06-20Chemel, James L Cpa QUALIFIED9Asiya Javayant
1035Smith N AlbaresCanada2024-05-27Rangoni Of Florence NEGOTIATION53Ivan Magalhaes
1036Deepesh G FerenczIndia2024-05-26Chanay, Jeffrey A Esq RENEWAL5Ivan Magalhaes
1037Aruna H CaldareraGermany2024-06-06Chemel, James L Cpa QUALIFIED86Elwin Sharvill
1038Leja U FigeroaIndia2024-06-02Printing Dimensions NEW14Xuxue Feng
1039Wickens I StockhamRussia2024-06-14Commercial Press UNQUALIFIED87Anna Fali
1040Sinclair Y SlusarskiIndia2024-06-12Feltz Printing Service UNQUALIFIED62Xuxue Feng
1041Jeanfrancois I WhobreyRussia2024-06-10Truhlar And Truhlar Attys NEGOTIATION1Ioni Bowcher
1042Jones X GauchoGermany2024-06-06Feltz Printing Service RENEWAL41Onyama Limba
1043Salvatore V TollnerArgentina2024-05-31Chanay, Jeffrey A Esq NEGOTIATION8Elwin Sharvill
1044Isabel R VenereAustralia2024-06-10Buckley Miller Wright UNQUALIFIED66Amy Elsner
1045Francesco H CaldareraUnited Kingdom2024-05-26Morlong Associates PROPOSAL77Anna Fali
1046Jefferson Z OldroydArgentina2024-06-18Benton, John B Jr UNQUALIFIED31Anna Fali
1047Kadeem I DilliardCanada2024-05-27Morlong Associates UNQUALIFIED62Amy Elsner
1048Stacey L NickaAustralia2024-06-12Morlong Associates NEW46Ioni Bowcher
1049Misaki Z CaldareraArgentina2024-06-05Chemel, James L Cpa NEGOTIATION53Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Jones Y DilliardRussiaOnyama Limba UNQUALIFIED
Octavia S SchemmerCanadaStephen Shaw NEW
Jefferson C NickaJapanStephen Shaw RENEWAL
Costa G BologniaUnited KingdomElwin Sharvill NEW
Clifford L FollerItalyXuxue Feng NEGOTIATION
Tony K WieserJapanBernardo Dominic PROPOSAL
Greenwood W FollerIndiaIoni Bowcher QUALIFIED
Adams F PaprockiGermanyAmy Elsner UNQUALIFIED
Adams B MarrierGermanyBernardo Dominic NEGOTIATION
Kadeem D StockhamSpainIvan Magalhaes NEW
Ricardo F KolmetzBrazilIoni Bowcher RENEWAL
Kadeem M InouyeBrazilOnyama Limba NEW
Greenwood M SaylorsFranceBernardo Dominic QUALIFIED
Aditya D WhobreyCanadaIoni Bowcher PROPOSAL
Juan T MaletItalyAnna Fali PROPOSAL
David N StensethIndiaAnna Fali NEGOTIATION
Alejandro I MaletJapanAmy Elsner NEW
James N BriddickFranceAmy Elsner NEW
Leja L OstroskyAustraliaIoni Bowcher NEGOTIATION
Ashley Q FigeroaFranceAsiya Javayant PROPOSAL
Aika M DarakjyGermanyAmy Elsner UNQUALIFIED
Alejandro N SlusarskiIndiaIvan Magalhaes RENEWAL
Jones I BowleyCanadaIoni Bowcher NEW
Mujtaba N FerenczRussiaIvan Magalhaes UNQUALIFIED
Silvio J SaylorsAustraliaBernardo Dominic RENEWAL
Morrow J KolmetzCanadaElwin Sharvill NEW
Munro B CaudySpainAmy Elsner RENEWAL
Octavia J OldroydAustraliaIvan Magalhaes UNQUALIFIED
Kadeem H AmigonSpainBernardo Dominic NEGOTIATION
Jeanfrancois L ButtBrazilAsiya Javayant NEGOTIATION
Jennifer F GillianAustraliaBernardo Dominic UNQUALIFIED
Murillo H ButtGermanyAmy Elsner NEW
Ashley B BologniaGermanyStephen Shaw NEW
Tony E MorascaJapanXuxue Feng QUALIFIED
Kadeem R InouyeIndiaIvan Magalhaes NEGOTIATION
Arvin D StockhamUnited KingdomElwin Sharvill NEW
Wickens Q RoysterFranceAsiya Javayant UNQUALIFIED
Antonio K WaycottItalyAmy Elsner QUALIFIED
Sinclair I FigeroaSpainAnna Fali QUALIFIED
Murillo S FigeroaBrazilAsiya Javayant UNQUALIFIED
Cody M ShinkoRussiaAmy Elsner PROPOSAL
Octavia Z PoquetteSpainElwin Sharvill NEGOTIATION
Julie Y FerenczSpainAmy Elsner RENEWAL
Misaki U DoeGermanyElwin Sharvill UNQUALIFIED
David I VenereArgentinaIvan Magalhaes QUALIFIED
Ivar Q VocelkaArgentinaStephen Shaw RENEWAL
Greenwood I ChuiArgentinaOnyama Limba UNQUALIFIED
Faith V PaprockiUnited KingdomElwin Sharvill RENEWAL
Chavez L PoquetteAustraliaBernardo Dominic PROPOSAL
Misaki W ButtGermanyIvan Magalhaes QUALIFIED
Frozen Columns
Name
Julie C Figeroa
Rodrigues N Wieser
Isabel C Darakjy
Mayumi B Dilliard
Misaki A Kolmetz
Antonio X Caldarera
Clifford E Rim
Johnson X Poquette
Leon I Ostrosky
Johnson K Darakjy
Ashley T Wieser
Clifford J Darakjy
Misaki X Ruta
Johnson D Waycott
Aruna K Marrier
Cody I Sergi
Octavia H Morasca
Deepesh C Kusko
Octavia U Dilliard
Murillo I Caldarera
Smith G Schemmer
Ricardo Y Figeroa
Arvin B Caudy
Jefferson V Rim
Emily F Kolmetz
David X Kolmetz
James F Ferencz
Cody H Ostrosky
Deepesh A Schemmer
Nicolas R Schemmer
Morrow R Inouye
Leon K Iturbide
Aruna C Garufi
Jeanfrancois C Inouye
Adams M Morasca
Rodrigues Q Foller
Aruna B Glick
Mayumi I Butt
Chavez K Campain
Wickens F Shinko
Kaitlin D Marrier
Wickens V Wieser
Octavia D Foller
Juan Z Doe
Stacey E Darakjy
Chavez L Poquette
Salvatore P Kusko
Adams K Vocelka
Ashley V Bolognia
Claire K Poquette
IdCountryDate
1000Russia2024-06-06
1001United Kingdom2024-06-03
1002Japan2024-05-30
1003Russia2024-06-04
1004France2024-06-06
1005Germany2024-06-14
1006India2024-06-20
1007Brazil2024-06-17
1008Spain2024-06-13
1009Spain2024-06-16
1010Japan2024-06-12
1011Argentina2024-05-26
1012India2024-06-14
1013Australia2024-06-18
1014Spain2024-06-20
1015India2024-06-03
1016France2024-06-18
1017United Kingdom2024-06-13
1018India2024-05-31
1019Canada2024-05-27
1020United Kingdom2024-06-16
1021France2024-05-29
1022Brazil2024-06-17
1023Germany2024-06-16
1024Spain2024-06-20
1025Argentina2024-06-03
1026United Kingdom2024-06-03
1027Russia2024-06-21
1028India2024-06-14
1029France2024-06-14
1030Brazil2024-06-14
1031United Kingdom2024-06-15
1032Russia2024-06-02
1033Germany2024-06-17
1034United Kingdom2024-06-20
1035United Kingdom2024-06-01
1036India2024-05-29
1037France2024-06-01
1038Germany2024-05-30
1039Spain2024-05-23
1040Canada2024-05-27
1041Russia2024-06-06
1042Germany2024-05-24
1043Spain2024-05-24
1044India2024-06-05
1045Germany2024-05-24
1046United Kingdom2024-05-29
1047Canada2024-06-03
1048Spain2024-06-15
1049India2024-06-07

On-Demand Data

NameIdCountryDate
Ricardo T Kusko1000Brazil2024-06-15
Alejandro G Caudy1001Australia2024-06-09
Jeanfrancois G Butt1002Argentina2024-06-19
Arvin D Chui1003United Kingdom2024-05-31
Costa D Briddick1004Australia2024-06-18
Cody Z Gaucho1005Germany2024-06-04
Adams W Royster1006Germany2024-06-15
Izzy E Perin1007India2024-05-27
Mayumi L Foller1008Germany2024-06-09
Clifford Z Glick1009Japan2024-05-23
Greenwood H Perin1010Russia2024-06-09
Jeanfrancois C Sergi1011Argentina2024-06-13
Francesco C Rim1012Italy2024-06-10
Jefferson S Darakjy1013Australia2024-06-03
Aditya P Stenseth1014Italy2024-06-04
Cody V Sergi1015France2024-06-16
Tony B Poquette1016Canada2024-06-20
Darci S Whobrey1017India2024-06-12
Aditya M Caldarera1018Argentina2024-06-03
Wickens O Caudy1019Australia2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar L MaletItalyElwin Sharvill NEW
David K DoeCanadaAnna Fali NEW
Smith H BowleyCanadaAmy Elsner UNQUALIFIED
Salvatore W ShinkoCanadaAsiya Javayant UNQUALIFIED
Julie C GarufiCanadaBernardo Dominic NEW
Jennifer S MorascaCanadaXuxue Feng PROPOSAL
Murillo O StensethJapanAsiya Javayant QUALIFIED
Munro X SlusarskiArgentinaElwin Sharvill NEGOTIATION
Stacey A ChuiJapanElwin Sharvill RENEWAL
Chavez R DilliardUnited KingdomIoni Bowcher NEGOTIATION
Cody I GlickItalyXuxue Feng PROPOSAL
Salvatore U SlusarskiUnited KingdomIoni Bowcher PROPOSAL
Nicolas B MacleadUnited KingdomIvan Magalhaes RENEWAL
Arvin C SchemmerCanadaBernardo Dominic NEW
Maisha H FollerFranceAnna Fali PROPOSAL
Izzy R RimUnited KingdomStephen Shaw QUALIFIED
Leon N WaycottRussiaStephen Shaw NEW
Ricardo T IturbideIndiaBernardo Dominic RENEWAL
Aika S PerinArgentinaXuxue Feng QUALIFIED
Juan T OstroskyJapanStephen Shaw PROPOSAL
Munro G RimIndiaElwin Sharvill QUALIFIED
Costa E RulapaughRussiaXuxue Feng UNQUALIFIED
Leja D MaletArgentinaStephen Shaw UNQUALIFIED
Octavia G GlickIndiaIoni Bowcher NEW
Jennifer O MarrierRussiaBernardo Dominic PROPOSAL
Izzy L MacleadItalyElwin Sharvill PROPOSAL
Ashley J OldroydItalyAnna Fali UNQUALIFIED
Wickens S WieserSpainIvan Magalhaes UNQUALIFIED
Mujtaba V GauchoItalyIoni Bowcher NEW
Francesco F PoquetteItalyIoni Bowcher QUALIFIED
Murillo N NestleItalyXuxue Feng NEGOTIATION
James N FollerArgentinaAnna Fali PROPOSAL
Costa N RutaAustraliaOnyama Limba QUALIFIED
Wickens G OstroskyJapanIvan Magalhaes QUALIFIED
Jefferson P IturbideJapanAsiya Javayant UNQUALIFIED
Wickens G NickaRussiaAsiya Javayant NEGOTIATION
Johnson N RimBrazilIoni Bowcher NEGOTIATION
Cody K CaudyRussiaOnyama Limba RENEWAL
Ashley R WhobreyCanadaIoni Bowcher NEGOTIATION
Misaki L VocelkaFranceAnna Fali 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>