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
Leon V VocelkaAustraliaStephen Shaw RENEWAL
James T PerinAustraliaBernardo Dominic PROPOSAL
Silvio G ChuiArgentinaBernardo Dominic NEGOTIATION
Francesco I CaudyIndiaAnna Fali NEGOTIATION
Kaitlin R MacleadItalyAsiya Javayant RENEWAL
Ivar E MaletCanadaElwin Sharvill QUALIFIED
Misaki J BologniaSpainElwin Sharvill PROPOSAL
Izzy E AlbaresArgentinaAnna Fali NEW
David L PaprockiUnited KingdomIoni Bowcher RENEWAL
Aruna H RutaCanadaBernardo Dominic NEGOTIATION
Jennifer I GauchoBrazilIvan Magalhaes NEGOTIATION
Rodrigues G ShinkoRussiaAmy Elsner UNQUALIFIED
Stacey U CaldareraFranceStephen Shaw RENEWAL
Ricardo J DoeSpainIvan Magalhaes PROPOSAL
Mayumi B RimCanadaAsiya Javayant PROPOSAL
Leja C OstroskySpainOnyama Limba NEGOTIATION
Octavia Y OldroydUnited KingdomXuxue Feng QUALIFIED
Claire S VenereUnited KingdomBernardo Dominic QUALIFIED
Wickens R CampainIndiaBernardo Dominic RENEWAL
Rodrigues K FigeroaAustraliaBernardo Dominic RENEWAL
Ashley X GillianItalyIvan Magalhaes NEGOTIATION
Maria V PaprockiBrazilAsiya Javayant RENEWAL
Ricardo G FerenczSpainStephen Shaw UNQUALIFIED
Octavia W GlickBrazilAmy Elsner UNQUALIFIED
Aika Y CampainCanadaBernardo Dominic RENEWAL
Ricardo D WieserBrazilStephen Shaw NEGOTIATION
Juan M RutaIndiaIoni Bowcher NEW
Ashley E AlbaresGermanyIoni Bowcher QUALIFIED
Jones X MaletGermanyIvan Magalhaes RENEWAL
Aika T FerenczAustraliaElwin Sharvill NEGOTIATION
Aditya N BowleyCanadaOnyama Limba UNQUALIFIED
Jones E OstroskyUnited KingdomElwin Sharvill UNQUALIFIED
Isabel A InouyeSpainIoni Bowcher PROPOSAL
Wickens L PaprockiIndiaOnyama Limba UNQUALIFIED
Maria Z StensethIndiaXuxue Feng NEW
Adams K DoeBrazilAmy Elsner PROPOSAL
Aika T GarufiAustraliaElwin Sharvill QUALIFIED
Stacey P CampainUnited KingdomElwin Sharvill UNQUALIFIED
Misaki A CampainGermanyStephen Shaw UNQUALIFIED
Aditya E VenereSpainXuxue Feng QUALIFIED
James B MacleadJapanAsiya Javayant NEW
Smith E RulapaughUnited KingdomOnyama Limba NEW
Rodrigues Y InouyeRussiaElwin Sharvill PROPOSAL
Greenwood L RutaArgentinaAmy Elsner NEW
Leon O DilliardRussiaXuxue Feng PROPOSAL
Tony M SchemmerItalyXuxue Feng RENEWAL
Arvin P MorascaBrazilStephen Shaw QUALIFIED
Kaitlin J VenereGermanyElwin Sharvill NEW
Maria C MaletUnited KingdomOnyama Limba PROPOSAL
Costa C SergiGermanyOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Ashley S MaletFranceIoni Bowcher UNQUALIFIED
Alejandro Q MaletItalyOnyama Limba RENEWAL
Francesco T SaylorsCanadaIoni Bowcher NEGOTIATION
Maisha J MacleadFranceXuxue Feng UNQUALIFIED
Francesco J DarakjyFranceOnyama Limba RENEWAL
Sinclair P VocelkaFranceBernardo Dominic PROPOSAL
Stacey Q MorascaFranceBernardo Dominic NEW
Ivar Q DarakjyBrazilOnyama Limba PROPOSAL
Emily V WieserBrazilOnyama Limba PROPOSAL
Antonio M IturbideUnited KingdomElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David J CaudyItaly2024-05-07Feltz Printing Service NEW60Anna Fali
1001Leja F TollnerItaly2024-05-07Printing Dimensions UNQUALIFIED72Amy Elsner
1002Jeanfrancois I GillianArgentina2024-05-11Truhlar And Truhlar Attys QUALIFIED19Anna Fali
1003Arvin Y GlickCanada2024-04-29Truhlar And Truhlar Attys QUALIFIED98Anna Fali
1004Munro G AmigonRussia2024-05-15Chanay, Jeffrey A Esq RENEWAL5Xuxue Feng
1005Greenwood Z PaprockiFrance2024-05-26Printing Dimensions QUALIFIED7Anna Fali
1006Ivar A BologniaBrazil2024-05-07Chapman, Ross E Esq UNQUALIFIED94Anna Fali
1007Greenwood Q NestleGermany2024-05-15Benton, John B Jr NEW60Xuxue Feng
1008Tony H AlbaresRussia2024-05-25Printing Dimensions UNQUALIFIED24Bernardo Dominic
1009Juan B CampainUnited Kingdom2024-05-11Feltz Printing Service UNQUALIFIED34Xuxue Feng
1010Faith T StensethBrazil2024-05-23Printing Dimensions PROPOSAL67Ivan Magalhaes
1011Stacey C KolmetzAustralia2024-05-15Dorl, James J Esq RENEWAL43Ivan Magalhaes
1012Aruna P StensethAustralia2024-05-18Commercial Press RENEWAL57Ioni Bowcher
1013Maisha S FigeroaSpain2024-05-17Chemel, James L Cpa QUALIFIED32Asiya Javayant
1014Izzy L RulapaughSpain2024-05-14Feltz Printing Service UNQUALIFIED52Ioni Bowcher
1015Francesco G VenereAustralia2024-05-19Feltz Printing Service PROPOSAL99Anna Fali
1016Wickens S SlusarskiIndia2024-05-19Buckley Miller Wright QUALIFIED2Xuxue Feng
1017Munro V GlickIndia2024-05-16Morlong Associates NEW94Stephen Shaw
1018Murillo G DarakjyCanada2024-05-22Chemel, James L Cpa PROPOSAL98Bernardo Dominic
1019Silvio C OldroydAustralia2024-05-08King, Christopher A Esq PROPOSAL22Anna Fali
1020Chavez P SaylorsFrance2024-05-01Rangoni Of Florence QUALIFIED41Xuxue Feng
1021Juan Z IturbideFrance2024-05-09Buckley Miller Wright QUALIFIED17Xuxue Feng
1022Rodrigues F BriddickAustralia2024-05-14Feiner Bros NEW61Ioni Bowcher
1023Jennifer K RulapaughJapan2024-05-17Benton, John B Jr PROPOSAL86Amy Elsner
1024Mayumi T FlosiBrazil2024-05-13Benton, John B Jr QUALIFIED15Anna Fali
1025Munro Z SaylorsGermany2024-05-22Buckley Miller Wright UNQUALIFIED92Elwin Sharvill
1026Ashley F AlbaresAustralia2024-05-17Rangoni Of Florence QUALIFIED7Bernardo Dominic
1027Rodrigues O DilliardUnited Kingdom2024-05-15Chapman, Ross E Esq QUALIFIED3Stephen Shaw
1028Munro R RoysterJapan2024-05-07Rousseaux, Michael Esq QUALIFIED85Anna Fali
1029Francesco T WieserSpain2024-05-13Buckley Miller Wright NEW47Asiya Javayant
1030Deepesh Y DilliardBrazil2024-05-01Chanay, Jeffrey A Esq NEW43Ioni Bowcher
1031Octavia E WieserAustralia2024-05-22Benton, John B Jr QUALIFIED46Elwin Sharvill
1032Chavez K RoysterIndia2024-05-23Chemel, James L Cpa RENEWAL76Amy Elsner
1033Aruna Q MorascaSpain2024-05-06Feiner Bros QUALIFIED40Bernardo Dominic
1034Mayumi K BowleyUnited Kingdom2024-05-08Rousseaux, Michael Esq PROPOSAL14Xuxue Feng
1035Deepesh E TollnerSpain2024-05-24Printing Dimensions PROPOSAL68Amy Elsner
1036Maria F BowleyBrazil2024-05-24Feiner Bros QUALIFIED38Xuxue Feng
1037Juan T NestleRussia2024-05-15Rangoni Of Florence NEW44Amy Elsner
1038Izzy U MacleadFrance2024-05-12Truhlar And Truhlar Attys QUALIFIED12Anna Fali
1039Emily Z VocelkaIndia2024-05-25Dorl, James J Esq NEGOTIATION93Stephen Shaw
1040Jones I WieserSpain2024-05-24Rousseaux, Michael Esq QUALIFIED51Ioni Bowcher
1041Greenwood Y MaletUnited Kingdom2024-05-20Chemel, James L Cpa NEGOTIATION58Amy Elsner
1042Salvatore W VenereCanada2024-05-17Dorl, James J Esq UNQUALIFIED54Stephen Shaw
1043Claire S KuskoArgentina2024-05-03Feiner Bros NEGOTIATION37Elwin Sharvill
1044Adams R BowleySpain2024-05-09Rousseaux, Michael Esq RENEWAL82Ivan Magalhaes
1045Aditya K FigeroaItaly2024-05-04Chapman, Ross E Esq NEW3Ioni Bowcher
1046Sinclair B PoquetteIndia2024-05-11Rangoni Of Florence UNQUALIFIED35Xuxue Feng
1047Jeanfrancois Q MorascaItaly2024-05-27Rousseaux, Michael Esq NEGOTIATION64Asiya Javayant
1048Leja Z PoquetteGermany2024-05-12Chemel, James L Cpa QUALIFIED95Stephen Shaw
1049Cody S SchemmerSpain2024-05-07Rangoni Of Florence NEW29Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Leon Y BologniaAustraliaStephen Shaw NEGOTIATION
Nicolas R DarakjyUnited KingdomAnna Fali QUALIFIED
Deepesh J DilliardIndiaElwin Sharvill PROPOSAL
Chavez U MaletAustraliaAnna Fali NEGOTIATION
James Q BriddickSpainAsiya Javayant RENEWAL
Salvatore Z FigeroaAustraliaBernardo Dominic RENEWAL
Izzy R MarrierIndiaIvan Magalhaes UNQUALIFIED
Aruna L CampainFranceAsiya Javayant PROPOSAL
Maisha B SchemmerBrazilIoni Bowcher PROPOSAL
Kaitlin Y BologniaCanadaElwin Sharvill NEGOTIATION
Faith A FerenczIndiaIoni Bowcher QUALIFIED
Jennifer B GillianItalyBernardo Dominic NEGOTIATION
Mayumi Z StensethIndiaBernardo Dominic RENEWAL
Cody R WaycottFranceAmy Elsner QUALIFIED
Alejandro I AmigonJapanAmy Elsner NEGOTIATION
Salvatore U FlosiAustraliaIoni Bowcher UNQUALIFIED
Sinclair U CaudyUnited KingdomAmy Elsner QUALIFIED
Darci U FlosiSpainElwin Sharvill NEGOTIATION
Rodrigues J SchemmerRussiaBernardo Dominic UNQUALIFIED
Misaki R VenereItalyStephen Shaw RENEWAL
Morrow Z KolmetzUnited KingdomStephen Shaw QUALIFIED
Johnson R KolmetzArgentinaElwin Sharvill QUALIFIED
Aditya U GauchoJapanBernardo Dominic QUALIFIED
Ricardo F GillianItalyXuxue Feng QUALIFIED
Ivar K MaletCanadaOnyama Limba NEW
Aruna S MacleadAustraliaIoni Bowcher NEW
James N MacleadAustraliaAmy Elsner QUALIFIED
Salvatore P FlosiUnited KingdomXuxue Feng NEW
Munro G DilliardFranceStephen Shaw UNQUALIFIED
Francesco B MaletFranceElwin Sharvill NEW
David U StockhamAustraliaAnna Fali NEGOTIATION
Adams I MaletBrazilIvan Magalhaes NEW
Antonio S ChuiArgentinaIvan Magalhaes UNQUALIFIED
Leja Z KuskoBrazilAnna Fali PROPOSAL
Sinclair C SergiJapanOnyama Limba UNQUALIFIED
Darci T StensethIndiaElwin Sharvill NEW
Misaki I MaletSpainAsiya Javayant NEGOTIATION
Mujtaba E PaprockiBrazilAmy Elsner NEW
Maisha U NickaBrazilIvan Magalhaes PROPOSAL
Ashley V InouyeUnited KingdomStephen Shaw PROPOSAL
Smith J FlosiJapanElwin Sharvill QUALIFIED
Jeanfrancois B ShinkoUnited KingdomBernardo Dominic UNQUALIFIED
Maria H TollnerGermanyAsiya Javayant QUALIFIED
Deepesh C WieserItalyAmy Elsner NEW
Jefferson G RulapaughRussiaIoni Bowcher PROPOSAL
Sinclair B KolmetzUnited KingdomBernardo Dominic NEW
Antonio L OldroydUnited KingdomAsiya Javayant NEW
Jennifer O FollerJapanBernardo Dominic QUALIFIED
Mujtaba F PoquetteUnited KingdomElwin Sharvill NEW
Darci B OldroydFranceStephen Shaw PROPOSAL
Frozen Columns
Name
Jefferson S Wieser
Jefferson Y Vocelka
Izzy S Foller
Mujtaba P Kusko
Jennifer P Caudy
Leja J Nicka
Chavez A Saylors
Rodrigues S Marrier
Wickens W Malet
Alejandro G Paprocki
Mayumi B Paprocki
Morrow D Poquette
Clifford A Morasca
Isabel U Inouye
Morrow I Vocelka
David D Wieser
Munro R Stenseth
Octavia E Darakjy
Jefferson P Saylors
Isabel F Nicka
Claire H Darakjy
Alejandro W Vocelka
Izzy C Vocelka
Francesco G Malet
Rodrigues G Rim
Alejandro I Flosi
Jefferson E Doe
Murillo H Malet
Johnson S Amigon
Juan J Kolmetz
Francesco G Garufi
Maisha J Oldroyd
Rodrigues C Waycott
Leja G Rim
Murillo Y Darakjy
Tony T Paprocki
Jefferson O Royster
Julie G Gillian
James U Ruta
Chavez P Kusko
Cody M Schemmer
Rodrigues N Royster
Francesco V Saylors
Smith A Tollner
Ashley A Venere
Kaitlin F Iturbide
Stacey R Slusarski
Munro K Ruta
Mayumi Z Bowley
Clifford P Ostrosky
IdCountryDate
1000Japan2024-05-04
1001France2024-05-27
1002Spain2024-05-02
1003Italy2024-05-25
1004Argentina2024-05-10
1005Brazil2024-05-06
1006Russia2024-05-21
1007France2024-05-11
1008Italy2024-05-10
1009Italy2024-05-25
1010Brazil2024-05-19
1011Canada2024-05-17
1012Russia2024-05-07
1013Canada2024-05-11
1014Canada2024-05-24
1015Spain2024-05-13
1016Canada2024-05-11
1017Brazil2024-05-01
1018Canada2024-04-28
1019Brazil2024-05-05
1020Germany2024-05-27
1021Spain2024-04-29
1022Russia2024-05-04
1023Canada2024-05-02
1024Argentina2024-05-09
1025Spain2024-05-19
1026Canada2024-05-10
1027Russia2024-05-05
1028Argentina2024-05-26
1029India2024-05-16
1030Italy2024-05-06
1031Brazil2024-05-16
1032Spain2024-05-17
1033Russia2024-05-16
1034Australia2024-05-17
1035Brazil2024-05-12
1036Russia2024-05-23
1037India2024-05-01
1038United Kingdom2024-05-20
1039Brazil2024-05-15
1040Brazil2024-05-25
1041Spain2024-04-29
1042Brazil2024-05-26
1043Canada2024-05-07
1044Russia2024-05-01
1045Spain2024-05-10
1046Japan2024-05-14
1047Australia2024-05-15
1048Italy2024-05-05
1049India2024-04-28

On-Demand Data

NameIdCountryDate
Faith Z Gaucho1000Spain2024-04-30
Maria V Stenseth1001Brazil2024-05-19
Julie G Dilliard1002Brazil2024-05-05
Chavez L Venere1003Argentina2024-05-23
Nicolas B Caldarera1004Australia2024-05-09
Isabel F Figeroa1005United Kingdom2024-05-26
Aditya S Nestle1006France2024-05-18
Wickens H Caldarera1007Italy2024-05-07
Rodrigues R Whobrey1008Italy2024-05-18
Emily G Royster1009India2024-05-03
Greenwood Y Stockham1010India2024-05-14
Aruna M Ferencz1011Canada2024-05-08
Rodrigues Y Waycott1012Brazil2024-05-05
Emily S Kusko1013France2024-05-19
Stacey C Bowley1014United Kingdom2024-05-13
Aruna F Ostrosky1015India2024-05-16
Leja S Amigon1016United Kingdom2024-05-22
Adams G Malet1017Germany2024-05-27
Francesco K Malet1018Italy2024-05-24
James J Chui1019Japan2024-05-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon A MorascaItalyElwin Sharvill NEGOTIATION
Leon I DoeRussiaAsiya Javayant NEGOTIATION
Costa U GauchoBrazilBernardo Dominic NEGOTIATION
Misaki T KuskoFranceAmy Elsner NEGOTIATION
Izzy N DilliardItalyAsiya Javayant PROPOSAL
Ivar Z OstroskyAustraliaAmy Elsner UNQUALIFIED
Clifford X FerenczJapanIoni Bowcher QUALIFIED
Chavez O ButtItalyOnyama Limba NEW
Alejandro I CaudyAustraliaIvan Magalhaes NEW
Deepesh P CaldareraArgentinaIoni Bowcher RENEWAL
Murillo Y TollnerIndiaOnyama Limba NEW
Smith C GauchoAustraliaOnyama Limba QUALIFIED
Johnson F FollerUnited KingdomOnyama Limba PROPOSAL
Mayumi R BowleyFranceStephen Shaw UNQUALIFIED
Jeanfrancois N RulapaughAustraliaAnna Fali RENEWAL
Misaki C StockhamFranceIoni Bowcher QUALIFIED
Costa E MaletFranceXuxue Feng NEGOTIATION
Tony B KuskoRussiaOnyama Limba NEGOTIATION
Jefferson E PoquetteGermanyIvan Magalhaes NEW
Faith J GlickIndiaIvan Magalhaes NEGOTIATION
Izzy V OstroskyFranceIvan Magalhaes UNQUALIFIED
Rodrigues L GlickItalyStephen Shaw RENEWAL
Silvio W SergiJapanAsiya Javayant NEGOTIATION
Stacey B DilliardSpainAnna Fali NEW
Maria N IturbideIndiaAnna Fali UNQUALIFIED
Jeanfrancois Z BowleyArgentinaAmy Elsner NEW
Misaki A BowleyArgentinaAnna Fali NEW
Rodrigues E CaudyAustraliaAmy Elsner QUALIFIED
Salvatore G NickaUnited KingdomAmy Elsner NEGOTIATION
Kaitlin A CaldareraFranceStephen Shaw NEW
Johnson X ButtUnited KingdomXuxue Feng RENEWAL
Leja W NestleRussiaAnna Fali QUALIFIED
Emily R IturbideItalyAnna Fali RENEWAL
Johnson H PaprockiGermanyAmy Elsner RENEWAL
Juan W ShinkoRussiaIvan Magalhaes PROPOSAL
Octavia H RulapaughBrazilAsiya Javayant UNQUALIFIED
Adams B AlbaresRussiaAsiya Javayant QUALIFIED
Nicolas J StensethFranceXuxue Feng QUALIFIED
Costa Y NickaIndiaIvan Magalhaes QUALIFIED
Aruna G DilliardSpainElwin Sharvill RENEWAL

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