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
Cody E RutaFranceAsiya Javayant NEGOTIATION
Arvin O ShinkoBrazilIoni Bowcher UNQUALIFIED
Juan X MacleadAustraliaAmy Elsner UNQUALIFIED
Kadeem T RutaIndiaIoni Bowcher NEGOTIATION
Leon B VocelkaItalyXuxue Feng NEW
David P MaletGermanyAnna Fali QUALIFIED
Maria J PerinCanadaAnna Fali PROPOSAL
Maisha Z KuskoIndiaStephen Shaw NEW
Maisha Q GillianGermanyAsiya Javayant RENEWAL
Izzy B MarrierCanadaXuxue Feng PROPOSAL
James D PaprockiCanadaXuxue Feng RENEWAL
Izzy E MaletAustraliaXuxue Feng UNQUALIFIED
Arvin N OldroydBrazilXuxue Feng NEGOTIATION
Jones N BologniaGermanyElwin Sharvill QUALIFIED
Francesco D IturbideRussiaIoni Bowcher NEGOTIATION
Smith I MarrierUnited KingdomAsiya Javayant UNQUALIFIED
David L FigeroaGermanyOnyama Limba UNQUALIFIED
Rodrigues B NickaGermanyAsiya Javayant RENEWAL
Adams G PerinBrazilStephen Shaw RENEWAL
Sinclair R PoquetteAustraliaIvan Magalhaes PROPOSAL
Kaitlin L MaletArgentinaElwin Sharvill NEW
Clifford T MacleadFranceBernardo Dominic UNQUALIFIED
Leon H SergiUnited KingdomAmy Elsner PROPOSAL
Tony S KuskoArgentinaBernardo Dominic NEW
Murillo J OstroskyAustraliaAnna Fali PROPOSAL
Chavez B MaletJapanIvan Magalhaes QUALIFIED
Alejandro S VenereArgentinaAmy Elsner UNQUALIFIED
Munro P CaldareraRussiaStephen Shaw UNQUALIFIED
Stacey U BologniaCanadaAnna Fali QUALIFIED
Nicolas L IturbideIndiaXuxue Feng UNQUALIFIED
Ashley C NickaArgentinaIvan Magalhaes PROPOSAL
Emily S RulapaughGermanyAmy Elsner NEGOTIATION
Alejandro Q InouyeBrazilElwin Sharvill QUALIFIED
James L GillianRussiaAsiya Javayant QUALIFIED
Ashley I DoeJapanOnyama Limba RENEWAL
Deepesh S GauchoCanadaXuxue Feng NEGOTIATION
Aditya Z MaletRussiaBernardo Dominic PROPOSAL
Clifford D CaldareraBrazilIvan Magalhaes UNQUALIFIED
Clifford I SchemmerJapanBernardo Dominic NEGOTIATION
Munro T MarrierJapanAmy Elsner QUALIFIED
Deepesh W CaudyGermanyAnna Fali QUALIFIED
Costa R AlbaresJapanAsiya Javayant RENEWAL
Costa L GauchoGermanyAnna Fali NEW
Aditya S DilliardJapanXuxue Feng RENEWAL
Adams H RoysterIndiaOnyama Limba QUALIFIED
Tony O ShinkoArgentinaBernardo Dominic UNQUALIFIED
Murillo O WhobreyItalyElwin Sharvill NEW
Leja Z TollnerSpainElwin Sharvill QUALIFIED
Stacey D BowleyGermanyIoni Bowcher NEW
Aditya N RulapaughFranceStephen Shaw RENEWAL
Horizontal
NameCountryRepresentativeStatus
Deepesh J SlusarskiItalyAnna Fali NEGOTIATION
Maisha G StockhamJapanIoni Bowcher RENEWAL
Julie W FigeroaCanadaXuxue Feng UNQUALIFIED
Munro F MaletGermanyIoni Bowcher UNQUALIFIED
Julie I KuskoFranceAmy Elsner QUALIFIED
Smith M OstroskyGermanyIoni Bowcher NEGOTIATION
Maria F WhobreyItalyBernardo Dominic RENEWAL
Tony N KuskoBrazilAnna Fali RENEWAL
Smith F MorascaBrazilElwin Sharvill NEW
Emily A SchemmerCanadaElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford B PoquetteArgentina2024-06-04Printing Dimensions NEW55Onyama Limba
1001Clifford I SlusarskiArgentina2024-05-28Chapman, Ross E Esq NEGOTIATION92Elwin Sharvill
1002Isabel D AlbaresJapan2024-05-30Feiner Bros RENEWAL87Xuxue Feng
1003Jennifer R PaprockiJapan2024-05-28Chemel, James L Cpa PROPOSAL86Ioni Bowcher
1004Aditya L VenereGermany2024-06-05Buckley Miller Wright NEW96Anna Fali
1005Sinclair S SaylorsUnited Kingdom2024-06-05Morlong Associates QUALIFIED21Ioni Bowcher
1006Sinclair Y FerenczJapan2024-06-13Benton, John B Jr NEGOTIATION55Ivan Magalhaes
1007Adams X SergiFrance2024-06-22Chanay, Jeffrey A Esq RENEWAL30Xuxue Feng
1008Leja S AmigonUnited Kingdom2024-06-07Dorl, James J Esq RENEWAL94Bernardo Dominic
1009Kadeem G RoysterGermany2024-05-29Chemel, James L Cpa NEW14Ivan Magalhaes
1010Cody O GillianRussia2024-06-03Chanay, Jeffrey A Esq RENEWAL68Ivan Magalhaes
1011Jeanfrancois T GillianCanada2024-05-31Printing Dimensions UNQUALIFIED23Stephen Shaw
1012Kadeem J SaylorsIndia2024-06-03Feltz Printing Service QUALIFIED26Anna Fali
1013Leja Y MarrierUnited Kingdom2024-06-07Benton, John B Jr NEGOTIATION16Asiya Javayant
1014Costa F WieserIndia2024-06-21Rangoni Of Florence RENEWAL75Asiya Javayant
1015Stacey B GauchoJapan2024-06-23Buckley Miller Wright NEW32Xuxue Feng
1016Leon Q VocelkaRussia2024-06-23Rousseaux, Michael Esq UNQUALIFIED97Elwin Sharvill
1017Juan K NestleAustralia2024-06-11Chapman, Ross E Esq NEW33Ioni Bowcher
1018Arvin H RoysterSpain2024-06-23Morlong Associates UNQUALIFIED66Elwin Sharvill
1019Antonio Q RutaAustralia2024-06-14Buckley Miller Wright RENEWAL76Ioni Bowcher
1020Adams X GillianFrance2024-06-13Feiner Bros UNQUALIFIED96Xuxue Feng
1021Arvin H SlusarskiJapan2024-06-18Printing Dimensions NEW32Xuxue Feng
1022Morrow G DilliardFrance2024-05-30Chanay, Jeffrey A Esq QUALIFIED39Ivan Magalhaes
1023Murillo M TollnerArgentina2024-06-23Chemel, James L Cpa NEGOTIATION0Onyama Limba
1024Greenwood B PerinAustralia2024-06-14Chapman, Ross E Esq NEGOTIATION62Amy Elsner
1025Salvatore V BologniaItaly2024-06-17Printing Dimensions QUALIFIED21Elwin Sharvill
1026Sinclair I FerenczFrance2024-05-25Feltz Printing Service PROPOSAL28Asiya Javayant
1027Stacey Y SergiBrazil2024-05-31Feltz Printing Service RENEWAL85Elwin Sharvill
1028Silvio G WhobreyItaly2024-06-06Commercial Press PROPOSAL73Onyama Limba
1029Smith P NickaUnited Kingdom2024-06-20Chanay, Jeffrey A Esq QUALIFIED96Anna Fali
1030Cody I RimGermany2024-06-16Chapman, Ross E Esq NEW42Ivan Magalhaes
1031Ivar G AlbaresGermany2024-06-16King, Christopher A Esq NEGOTIATION68Asiya Javayant
1032Smith A FerenczIndia2024-05-30Printing Dimensions QUALIFIED4Amy Elsner
1033Octavia G FerenczFrance2024-06-13Rousseaux, Michael Esq NEGOTIATION62Elwin Sharvill
1034Rodrigues S RimIndia2024-06-12Rangoni Of Florence RENEWAL70Bernardo Dominic
1035Jefferson M WhobreyUnited Kingdom2024-06-10Benton, John B Jr UNQUALIFIED34Onyama Limba
1036Nicolas R TollnerArgentina2024-06-11Morlong Associates RENEWAL67Asiya Javayant
1037James A IturbideIndia2024-06-05Chemel, James L Cpa NEGOTIATION2Bernardo Dominic
1038Isabel X ChuiArgentina2024-06-09Dorl, James J Esq UNQUALIFIED71Onyama Limba
1039Claire M KuskoFrance2024-06-15Rousseaux, Michael Esq QUALIFIED79Xuxue Feng
1040Silvio Y WieserJapan2024-06-02Dorl, James J Esq PROPOSAL76Onyama Limba
1041Maria J InouyeCanada2024-06-07Chanay, Jeffrey A Esq NEGOTIATION44Amy Elsner
1042Faith D OldroydRussia2024-05-30Chemel, James L Cpa RENEWAL93Ivan Magalhaes
1043Emily U RulapaughArgentina2024-06-03Truhlar And Truhlar Attys RENEWAL41Stephen Shaw
1044Sinclair Z BriddickArgentina2024-06-08Rousseaux, Michael Esq QUALIFIED87Ioni Bowcher
1045Clifford N OstroskyFrance2024-06-04Morlong Associates UNQUALIFIED24Ivan Magalhaes
1046Smith W GauchoUnited Kingdom2024-06-08Chemel, James L Cpa NEGOTIATION98Amy Elsner
1047Octavia M IturbideGermany2024-06-23Feltz Printing Service PROPOSAL79Amy Elsner
1048David A TollnerJapan2024-06-19King, Christopher A Esq NEW17Onyama Limba
1049Jones Z VocelkaJapan2024-06-03Rangoni Of Florence RENEWAL59Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Aditya O BriddickSpainXuxue Feng QUALIFIED
Mujtaba Z TollnerUnited KingdomOnyama Limba UNQUALIFIED
Jeanfrancois D VocelkaCanadaIvan Magalhaes PROPOSAL
Claire L MorascaBrazilOnyama Limba RENEWAL
Emily E PaprockiUnited KingdomIoni Bowcher UNQUALIFIED
Emily H CaudyArgentinaAmy Elsner NEGOTIATION
Silvio R CaudyArgentinaAsiya Javayant PROPOSAL
Mujtaba P StockhamArgentinaStephen Shaw NEW
Greenwood L DarakjyAustraliaAmy Elsner UNQUALIFIED
Adams L FerenczBrazilStephen Shaw NEGOTIATION
Leon L PoquetteGermanyXuxue Feng NEW
Sinclair H ChuiRussiaAsiya Javayant NEGOTIATION
Clifford B InouyeIndiaAnna Fali UNQUALIFIED
Ricardo R MaletSpainAnna Fali NEGOTIATION
Morrow R TollnerBrazilStephen Shaw QUALIFIED
Octavia F NickaSpainAmy Elsner QUALIFIED
Juan Y KuskoAustraliaIoni Bowcher PROPOSAL
Rodrigues Y PerinArgentinaAsiya Javayant UNQUALIFIED
Mujtaba F RutaRussiaXuxue Feng PROPOSAL
Chavez R FerenczJapanAnna Fali UNQUALIFIED
Silvio V KuskoJapanOnyama Limba QUALIFIED
Chavez D KuskoAustraliaElwin Sharvill RENEWAL
Arvin W WhobreyRussiaIoni Bowcher UNQUALIFIED
Julie Z InouyeCanadaElwin Sharvill RENEWAL
Cody I MaletRussiaIvan Magalhaes QUALIFIED
Aruna H ShinkoRussiaOnyama Limba PROPOSAL
Aditya G PerinFranceAnna Fali RENEWAL
Clifford B WieserUnited KingdomOnyama Limba QUALIFIED
Kadeem I DilliardFranceAsiya Javayant NEGOTIATION
Stacey V StensethBrazilElwin Sharvill NEW
Sinclair C ButtGermanyIoni Bowcher NEGOTIATION
Isabel J VocelkaSpainAsiya Javayant PROPOSAL
Kaitlin M MorascaIndiaIvan Magalhaes NEW
Francesco U BriddickCanadaIoni Bowcher NEW
Juan T RoysterGermanyAnna Fali NEGOTIATION
Jeanfrancois V FerenczArgentinaOnyama Limba RENEWAL
Silvio Z AlbaresItalyStephen Shaw QUALIFIED
Aruna E SergiUnited KingdomXuxue Feng NEW
Kadeem A SergiBrazilOnyama Limba RENEWAL
Stacey V AlbaresFranceBernardo Dominic NEW
Chavez W OldroydArgentinaIoni Bowcher RENEWAL
Nicolas G OldroydArgentinaAmy Elsner NEW
Chavez H RutaFranceElwin Sharvill RENEWAL
Chavez H AmigonGermanyAsiya Javayant QUALIFIED
Ashley S SchemmerAustraliaBernardo Dominic PROPOSAL
Leja D IturbideGermanyIoni Bowcher QUALIFIED
Costa W WaycottFranceOnyama Limba NEW
Chavez B GarufiGermanyIvan Magalhaes NEW
Francesco M RimGermanyElwin Sharvill NEW
Octavia F OstroskyAustraliaAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Deepesh G Butt
Arvin I Caldarera
Aruna C Nicka
Greenwood J Glick
Ricardo W Poquette
Ricardo K Slusarski
Alejandro A Bowley
Aika U Dilliard
Salvatore X Kusko
Misaki B Ferencz
Greenwood I Sergi
Faith D Bowley
Misaki Q Waycott
Aditya L Kusko
Kaitlin R Wieser
Aditya H Whobrey
Deepesh X Poquette
Silvio W Gillian
Alejandro S Campain
Sinclair P Stockham
Jefferson Z Wieser
Mujtaba L Ferencz
Jennifer U Iturbide
Faith B Chui
Arvin Y Garufi
Octavia T Foller
Faith D Ruta
Emily P Rulapaugh
Cody N Briddick
Francesco H Stenseth
Clifford Z Iturbide
Chavez E Kolmetz
Leon V Stockham
Smith H Nicka
Claire J Morasca
Mujtaba Z Gaucho
Isabel L Slusarski
Jefferson R Briddick
Nicolas T Kolmetz
James G Garufi
Chavez L Maclead
Smith V Caudy
Ashley X Vocelka
Ricardo T Wieser
Mayumi D Rim
Arvin B Iturbide
Arvin Z Rulapaugh
Jefferson A Saylors
Mujtaba N Iturbide
Aruna X Malet
IdCountryDate
1000Canada2024-06-05
1001Italy2024-06-05
1002France2024-06-03
1003Spain2024-06-15
1004Argentina2024-05-28
1005Russia2024-06-21
1006Australia2024-06-22
1007Russia2024-06-03
1008Brazil2024-06-05
1009Japan2024-06-08
1010Spain2024-05-25
1011United Kingdom2024-06-23
1012France2024-06-13
1013Argentina2024-06-05
1014Brazil2024-06-17
1015Australia2024-06-22
1016Spain2024-06-07
1017Russia2024-06-21
1018India2024-05-27
1019Canada2024-06-02
1020Spain2024-06-16
1021Russia2024-06-17
1022Japan2024-06-17
1023Japan2024-06-21
1024Germany2024-05-31
1025Brazil2024-06-07
1026United Kingdom2024-06-12
1027Australia2024-06-18
1028Brazil2024-06-21
1029Spain2024-06-12
1030Italy2024-06-07
1031United Kingdom2024-06-14
1032Spain2024-06-05
1033India2024-06-20
1034Argentina2024-05-27
1035France2024-06-07
1036Brazil2024-06-12
1037Japan2024-06-10
1038Canada2024-06-21
1039Argentina2024-06-08
1040Spain2024-06-22
1041India2024-06-15
1042Canada2024-06-07
1043Brazil2024-06-22
1044Australia2024-06-17
1045Italy2024-06-02
1046Italy2024-06-11
1047Japan2024-06-22
1048Spain2024-06-03
1049Japan2024-06-10

On-Demand Data

NameIdCountryDate
Cody Q Gillian1000Germany2024-06-07
Darci G Whobrey1001Australia2024-06-20
Claire M Iturbide1002Argentina2024-06-21
Claire U Bowley1003India2024-05-30
Leon H Stockham1004Australia2024-05-31
Izzy J Doe1005United Kingdom2024-05-31
Mayumi Z Stenseth1006France2024-06-04
Maisha A Malet1007France2024-06-08
Jeanfrancois D Figeroa1008Brazil2024-06-18
Kaitlin Y Chui1009Japan2024-06-08
Alejandro R Kusko1010Germany2024-06-20
Morrow D Saylors1011Canada2024-06-04
Ashley D Malet1012Brazil2024-06-16
Maisha Y Glick1013Germany2024-06-07
Leja G Bowley1014Australia2024-06-22
Octavia B Shinko1015Germany2024-06-09
Maisha A Rim1016France2024-06-23
Faith W Albares1017Spain2024-06-10
Salvatore H Glick1018Canada2024-06-20
Aruna K Butt1019Russia2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar W MorascaGermanyAmy Elsner NEGOTIATION
Jones N ShinkoAustraliaXuxue Feng RENEWAL
Leon J RulapaughJapanAnna Fali QUALIFIED
Jennifer F NickaAustraliaIoni Bowcher UNQUALIFIED
Antonio U OstroskyJapanAmy Elsner NEGOTIATION
Emily S CaudyRussiaXuxue Feng NEGOTIATION
Stacey T AmigonJapanXuxue Feng NEW
Ashley A WieserGermanyXuxue Feng PROPOSAL
Darci B RoysterGermanyIoni Bowcher NEW
Jones V DilliardAustraliaBernardo Dominic PROPOSAL
Johnson V InouyeSpainAnna Fali QUALIFIED
Ashley Y OstroskyCanadaBernardo Dominic NEW
Maria V KolmetzJapanAmy Elsner UNQUALIFIED
Smith Z KuskoBrazilElwin Sharvill PROPOSAL
Johnson Q VocelkaSpainElwin Sharvill NEW
Rodrigues W KuskoItalyAsiya Javayant PROPOSAL
Jefferson H FerenczGermanyOnyama Limba NEW
Ashley X KuskoItalyElwin Sharvill RENEWAL
Emily R CampainGermanyXuxue Feng PROPOSAL
Antonio P SchemmerRussiaIoni Bowcher NEW
Jeanfrancois K MaletSpainIvan Magalhaes NEW
Octavia L WieserBrazilIvan Magalhaes RENEWAL
Emily Z OstroskySpainAsiya Javayant RENEWAL
Jennifer K FollerGermanyAmy Elsner NEW
Wickens S SaylorsItalyIvan Magalhaes PROPOSAL
Chavez P GillianFranceAmy Elsner QUALIFIED
Leja B GillianBrazilStephen Shaw QUALIFIED
Julie W MacleadItalyOnyama Limba QUALIFIED
Silvio S OstroskyItalyIoni Bowcher UNQUALIFIED
Leja L OstroskyCanadaAmy Elsner UNQUALIFIED
Rodrigues Y ShinkoIndiaBernardo Dominic NEGOTIATION
Smith R MaletIndiaBernardo Dominic NEGOTIATION
Stacey H WieserJapanOnyama Limba QUALIFIED
Ivar M DoeArgentinaIoni Bowcher NEW
Isabel C TollnerItalyElwin Sharvill NEGOTIATION
Octavia O GillianUnited KingdomXuxue Feng RENEWAL
Jeanfrancois T NestleJapanOnyama Limba QUALIFIED
Costa F KolmetzUnited KingdomStephen Shaw PROPOSAL
Aruna D NestleJapanIoni Bowcher QUALIFIED
Cody O RimSpainAmy Elsner UNQUALIFIED

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