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
Rodrigues R TollnerBrazilAsiya Javayant PROPOSAL
Rodrigues Z TollnerGermanyAmy Elsner QUALIFIED
David V MaletUnited KingdomStephen Shaw NEW
Maisha D StockhamGermanyAsiya Javayant UNQUALIFIED
Kaitlin O KolmetzUnited KingdomAmy Elsner PROPOSAL
Johnson Q RoysterJapanXuxue Feng NEGOTIATION
Mujtaba V FlosiIndiaElwin Sharvill UNQUALIFIED
Kadeem P SchemmerSpainAnna Fali NEGOTIATION
Silvio Y OldroydIndiaStephen Shaw RENEWAL
Rodrigues R ButtAustraliaAnna Fali PROPOSAL
Johnson I WaycottCanadaAmy Elsner QUALIFIED
Deepesh X NickaBrazilXuxue Feng NEW
Claire C StockhamRussiaAnna Fali RENEWAL
Misaki Z RutaGermanyIvan Magalhaes QUALIFIED
Misaki R CaldareraAustraliaIoni Bowcher RENEWAL
Octavia F WieserArgentinaBernardo Dominic PROPOSAL
Francesco B OldroydAustraliaAnna Fali UNQUALIFIED
Francesco X SaylorsUnited KingdomIoni Bowcher NEW
David V KuskoSpainIvan Magalhaes QUALIFIED
Ashley I BriddickItalyAnna Fali NEGOTIATION
Aika T SlusarskiAustraliaIvan Magalhaes NEW
Emily M VenereGermanyOnyama Limba NEGOTIATION
James F FerenczItalyOnyama Limba UNQUALIFIED
Adams S BologniaArgentinaAmy Elsner NEW
Leon J CampainCanadaElwin Sharvill PROPOSAL
Leja W CampainArgentinaBernardo Dominic NEGOTIATION
Rodrigues K StensethJapanAsiya Javayant QUALIFIED
Sinclair Z BologniaCanadaIvan Magalhaes QUALIFIED
Alejandro H RoysterBrazilIvan Magalhaes PROPOSAL
Rodrigues T NickaRussiaBernardo Dominic RENEWAL
Nicolas T StensethSpainStephen Shaw QUALIFIED
Kadeem L GillianSpainIoni Bowcher RENEWAL
James K MaletBrazilStephen Shaw RENEWAL
Smith G CaldareraAustraliaXuxue Feng QUALIFIED
Alejandro M KuskoArgentinaStephen Shaw UNQUALIFIED
Greenwood S GarufiRussiaXuxue Feng UNQUALIFIED
Jones M GauchoArgentinaAmy Elsner RENEWAL
Leja N WhobreyCanadaXuxue Feng RENEWAL
Emily W CaudyArgentinaElwin Sharvill UNQUALIFIED
Cody H FollerJapanElwin Sharvill PROPOSAL
Aika E GillianFranceAsiya Javayant QUALIFIED
Clifford A FollerBrazilStephen Shaw NEW
Emily S PaprockiIndiaAmy Elsner RENEWAL
James U CampainJapanElwin Sharvill NEGOTIATION
Francesco D PaprockiFranceIvan Magalhaes PROPOSAL
Tony N WaycottFranceAmy Elsner RENEWAL
Faith G InouyeRussiaAnna Fali QUALIFIED
Izzy D OstroskyCanadaXuxue Feng NEW
Deepesh S WieserCanadaAnna Fali QUALIFIED
Octavia P VocelkaJapanAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Juan V ChuiAustraliaIvan Magalhaes PROPOSAL
Rodrigues B ShinkoUnited KingdomOnyama Limba QUALIFIED
Rodrigues J InouyeItalyAmy Elsner PROPOSAL
Juan N VocelkaSpainAsiya Javayant NEGOTIATION
Smith V MaletGermanyElwin Sharvill PROPOSAL
Ashley I FerenczItalyElwin Sharvill RENEWAL
Darci D OldroydItalyStephen Shaw NEGOTIATION
Kadeem A DoeIndiaBernardo Dominic PROPOSAL
James B MaletIndiaAnna Fali UNQUALIFIED
Chavez D RulapaughUnited KingdomOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams G DarakjyBrazil2024-05-03Chanay, Jeffrey A Esq PROPOSAL43Bernardo Dominic
1001Isabel X SaylorsRussia2024-05-13King, Christopher A Esq NEGOTIATION55Ioni Bowcher
1002Greenwood J GillianItaly2024-05-01Rangoni Of Florence NEW1Asiya Javayant
1003Octavia X DoeAustralia2024-05-20Buckley Miller Wright NEW55Ivan Magalhaes
1004Maria R CampainBrazil2024-05-01Printing Dimensions PROPOSAL94Onyama Limba
1005Leon I SchemmerRussia2024-05-06Feltz Printing Service NEW21Stephen Shaw
1006Ashley I MacleadBrazil2024-05-15Dorl, James J Esq NEW21Ivan Magalhaes
1007Ashley Q BowleyRussia2024-05-08Dorl, James J Esq RENEWAL90Asiya Javayant
1008Chavez C VocelkaRussia2024-05-08Rangoni Of Florence QUALIFIED53Amy Elsner
1009Salvatore S StockhamAustralia2024-05-02Chapman, Ross E Esq UNQUALIFIED54Xuxue Feng
1010Antonio Y ChuiBrazil2024-05-25Rousseaux, Michael Esq UNQUALIFIED21Amy Elsner
1011Octavia P MacleadRussia2024-05-17Chanay, Jeffrey A Esq QUALIFIED48Ivan Magalhaes
1012Darci N FerenczFrance2024-04-30Chapman, Ross E Esq QUALIFIED66Asiya Javayant
1013David N KolmetzGermany2024-05-18Rousseaux, Michael Esq NEGOTIATION36Amy Elsner
1014Jefferson A FigeroaJapan2024-05-10Commercial Press UNQUALIFIED81Onyama Limba
1015Cody W MaletGermany2024-05-17Dorl, James J Esq NEGOTIATION13Ivan Magalhaes
1016Maisha K RutaAustralia2024-05-21Buckley Miller Wright RENEWAL77Ioni Bowcher
1017Adams V BowleyRussia2024-05-08Printing Dimensions NEW89Xuxue Feng
1018Silvio N StensethArgentina2024-05-01Chapman, Ross E Esq UNQUALIFIED58Stephen Shaw
1019Cody N WieserRussia2024-05-23Commercial Press PROPOSAL20Asiya Javayant
1020Alejandro L RutaIndia2024-05-26Printing Dimensions RENEWAL57Elwin Sharvill
1021Faith S IturbideIndia2024-05-14Feltz Printing Service NEGOTIATION53Onyama Limba
1022Smith Z SaylorsIndia2024-05-18Printing Dimensions RENEWAL47Asiya Javayant
1023Maisha T GarufiArgentina2024-05-05Commercial Press PROPOSAL12Anna Fali
1024Maria Q WaycottFrance2024-05-17Chapman, Ross E Esq UNQUALIFIED59Asiya Javayant
1025Claire G NestleBrazil2024-05-26Truhlar And Truhlar Attys NEGOTIATION3Stephen Shaw
1026Claire H ButtBrazil2024-05-26Buckley Miller Wright QUALIFIED78Asiya Javayant
1027Ashley H FollerCanada2024-05-19King, Christopher A Esq PROPOSAL69Ivan Magalhaes
1028Juan U PoquetteArgentina2024-05-26Commercial Press QUALIFIED8Elwin Sharvill
1029Julie O TollnerCanada2024-05-26Printing Dimensions PROPOSAL67Bernardo Dominic
1030Kadeem Y BriddickJapan2024-05-16Buckley Miller Wright QUALIFIED31Anna Fali
1031Juan L SchemmerBrazil2024-05-16Chanay, Jeffrey A Esq QUALIFIED88Xuxue Feng
1032Francesco Q AmigonCanada2024-05-25Benton, John B Jr NEW45Anna Fali
1033Maisha Q NestleFrance2024-05-24Benton, John B Jr NEW47Xuxue Feng
1034Aditya S GarufiGermany2024-05-22Benton, John B Jr PROPOSAL64Asiya Javayant
1035Clifford L SaylorsBrazil2024-05-11Dorl, James J Esq RENEWAL23Elwin Sharvill
1036Jefferson C OstroskyArgentina2024-05-01Buckley Miller Wright QUALIFIED0Ivan Magalhaes
1037Ashley P WieserItaly2024-05-13Chanay, Jeffrey A Esq NEGOTIATION49Ivan Magalhaes
1038Costa P AmigonItaly2024-05-05Rangoni Of Florence UNQUALIFIED74Ivan Magalhaes
1039Johnson L MacleadBrazil2024-04-29Chemel, James L Cpa RENEWAL60Ivan Magalhaes
1040Deepesh B PaprockiAustralia2024-04-29Feltz Printing Service QUALIFIED88Xuxue Feng
1041Maisha B SchemmerIndia2024-05-27Dorl, James J Esq RENEWAL0Anna Fali
1042Deepesh C RutaAustralia2024-05-01Commercial Press QUALIFIED80Amy Elsner
1043Arvin K IturbideAustralia2024-05-08Benton, John B Jr NEGOTIATION76Onyama Limba
1044Chavez M StensethUnited Kingdom2024-05-02Chanay, Jeffrey A Esq NEGOTIATION5Bernardo Dominic
1045David G NestleArgentina2024-05-12Truhlar And Truhlar Attys NEGOTIATION87Ioni Bowcher
1046Octavia L SchemmerArgentina2024-05-27Buckley Miller Wright PROPOSAL82Onyama Limba
1047Costa A MorascaIndia2024-05-01King, Christopher A Esq PROPOSAL25Stephen Shaw
1048Smith O ChuiGermany2024-05-15Rangoni Of Florence RENEWAL3Anna Fali
1049Emily N FlosiGermany2024-05-21Rousseaux, Michael Esq RENEWAL69Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Johnson F MaletIndiaElwin Sharvill RENEWAL
Silvio E SlusarskiBrazilElwin Sharvill RENEWAL
Aika H SergiCanadaAmy Elsner QUALIFIED
Mujtaba O MaletUnited KingdomIvan Magalhaes UNQUALIFIED
Jennifer F BriddickArgentinaIoni Bowcher UNQUALIFIED
Kadeem J WhobreyGermanyStephen Shaw QUALIFIED
Julie C MaletUnited KingdomXuxue Feng NEW
David M VocelkaAustraliaAsiya Javayant NEW
Jennifer M KuskoCanadaIoni Bowcher QUALIFIED
Cody Q KolmetzArgentinaAnna Fali UNQUALIFIED
Murillo C BriddickUnited KingdomOnyama Limba PROPOSAL
Greenwood U CampainItalyIoni Bowcher QUALIFIED
Clifford T WhobreyItalyStephen Shaw PROPOSAL
Tony D AlbaresRussiaAnna Fali QUALIFIED
Johnson U FlosiItalyXuxue Feng NEW
Deepesh M CaudyUnited KingdomIvan Magalhaes NEGOTIATION
Darci U FlosiItalyBernardo Dominic RENEWAL
Alejandro L CaudyUnited KingdomIvan Magalhaes QUALIFIED
Maria O GarufiUnited KingdomAmy Elsner NEW
Tony J AmigonArgentinaIvan Magalhaes NEW
Maria M NestleSpainXuxue Feng RENEWAL
Adams S MaletJapanStephen Shaw UNQUALIFIED
Clifford K SlusarskiFranceAnna Fali QUALIFIED
Nicolas X CaudyItalyBernardo Dominic NEGOTIATION
Aditya J MaletGermanyElwin Sharvill NEW
Smith L PerinUnited KingdomBernardo Dominic NEGOTIATION
Jones H StockhamItalyStephen Shaw NEGOTIATION
David K MorascaArgentinaXuxue Feng RENEWAL
Ivar A ButtItalyElwin Sharvill QUALIFIED
Ashley P OstroskyRussiaXuxue Feng UNQUALIFIED
Smith F DilliardRussiaXuxue Feng UNQUALIFIED
Clifford F InouyeItalyIvan Magalhaes NEGOTIATION
Julie H BowleyCanadaAsiya Javayant QUALIFIED
Kaitlin B RutaBrazilElwin Sharvill PROPOSAL
Jennifer K FerenczAustraliaIvan Magalhaes UNQUALIFIED
Chavez Y RulapaughItalyIvan Magalhaes QUALIFIED
Johnson R MacleadCanadaElwin Sharvill PROPOSAL
Antonio H FollerArgentinaStephen Shaw QUALIFIED
Tony X FerenczJapanAmy Elsner PROPOSAL
Rodrigues C GillianGermanyOnyama Limba RENEWAL
Darci T WhobreyIndiaBernardo Dominic NEW
Munro M InouyeAustraliaAnna Fali NEW
Mujtaba D GauchoCanadaStephen Shaw QUALIFIED
Silvio G AlbaresSpainAnna Fali NEGOTIATION
Alejandro S SlusarskiRussiaElwin Sharvill PROPOSAL
Leja Q ButtSpainAmy Elsner NEGOTIATION
Jefferson Z SchemmerRussiaStephen Shaw NEGOTIATION
Aika N DoeGermanyIvan Magalhaes QUALIFIED
James O WhobreySpainBernardo Dominic PROPOSAL
Ricardo R SergiSpainIoni Bowcher QUALIFIED
Frozen Columns
Name
Ivar V Briddick
Jefferson A Wieser
Murillo K Inouye
Isabel F Nicka
Kadeem N Ruta
Ricardo K Paprocki
Salvatore N Marrier
Misaki J Malet
Mujtaba W Ostrosky
Johnson K Iturbide
Smith X Rulapaugh
Deepesh T Gillian
Faith O Caldarera
Izzy V Maclead
Greenwood T Ostrosky
Mujtaba O Caldarera
Julie H Dilliard
Misaki I Dilliard
Jeanfrancois A Gaucho
Mayumi R Chui
Stacey L Wieser
Rodrigues Z Malet
Mayumi P Slusarski
Tony U Tollner
Juan U Iturbide
Tony E Venere
Rodrigues Z Poquette
Salvatore P Dilliard
Antonio J Royster
Costa T Iturbide
Jefferson Z Ruta
Alejandro Y Perin
Salvatore D Malet
Adams K Malet
Silvio H Campain
Costa J Gaucho
Alejandro F Campain
Mayumi I Darakjy
Smith Y Marrier
Smith P Kolmetz
Kaitlin Q Glick
Nicolas B Chui
Octavia L Royster
Arvin O Sergi
Aditya J Glick
Salvatore A Darakjy
Izzy O Nicka
Murillo C Stockham
Jeanfrancois C Inouye
Stacey F Maclead
IdCountryDate
1000Argentina2024-05-11
1001Germany2024-05-17
1002India2024-05-26
1003Japan2024-05-22
1004India2024-05-27
1005France2024-05-09
1006Spain2024-05-11
1007Canada2024-05-07
1008Italy2024-05-03
1009Australia2024-05-09
1010Argentina2024-05-19
1011Italy2024-05-15
1012Australia2024-05-27
1013United Kingdom2024-05-09
1014India2024-04-29
1015Japan2024-05-03
1016Germany2024-05-27
1017Spain2024-05-11
1018United Kingdom2024-05-10
1019India2024-05-23
1020Australia2024-05-24
1021India2024-05-10
1022Canada2024-05-08
1023United Kingdom2024-05-15
1024Italy2024-05-24
1025Japan2024-05-21
1026United Kingdom2024-05-01
1027Italy2024-05-10
1028France2024-05-13
1029Germany2024-04-29
1030Spain2024-05-19
1031Germany2024-05-16
1032Russia2024-05-04
1033Germany2024-04-29
1034France2024-05-12
1035Russia2024-05-18
1036Australia2024-05-17
1037France2024-05-27
1038Canada2024-05-11
1039Japan2024-05-26
1040Brazil2024-05-21
1041Australia2024-05-03
1042Brazil2024-04-30
1043Spain2024-05-21
1044Canada2024-05-22
1045Brazil2024-05-16
1046Russia2024-04-30
1047Japan2024-05-23
1048Italy2024-05-14
1049Canada2024-05-07

On-Demand Data

NameIdCountryDate
Maisha J Gillian1000Australia2024-05-19
Faith M Garufi1001Brazil2024-05-03
Antonio O Bowley1002United Kingdom2024-05-04
Jones I Stenseth1003Japan2024-05-01
Leon K Caudy1004Russia2024-05-14
Salvatore J Morasca1005United Kingdom2024-05-11
Kadeem J Butt1006India2024-05-22
Claire W Campain1007Brazil2024-05-07
Wickens L Saylors1008Australia2024-05-26
Adams I Venere1009Canada2024-05-05
Stacey C Amigon1010Spain2024-05-04
Aditya F Perin1011Italy2024-05-23
Sinclair P Kusko1012France2024-05-21
Octavia X Glick1013Spain2024-05-08
Jefferson I Caldarera1014United Kingdom2024-05-09
Cody I Tollner1015Japan2024-05-12
Misaki Y Venere1016Brazil2024-04-29
Mayumi G Rulapaugh1017France2024-05-18
Ashley A Marrier1018Italy2024-05-19
David H Albares1019Argentina2024-05-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony Q CampainSpainElwin Sharvill RENEWAL
Morrow T VenereAustraliaStephen Shaw NEW
Rodrigues D CaldareraItalyElwin Sharvill NEGOTIATION
Mayumi A WieserFranceElwin Sharvill UNQUALIFIED
Leja Q DoeCanadaAsiya Javayant PROPOSAL
Ricardo E RulapaughArgentinaStephen Shaw QUALIFIED
Misaki L SchemmerSpainAnna Fali RENEWAL
Morrow T InouyeRussiaOnyama Limba PROPOSAL
Darci X AmigonRussiaStephen Shaw QUALIFIED
Sinclair K DilliardArgentinaIvan Magalhaes QUALIFIED
Kadeem I PaprockiGermanyXuxue Feng RENEWAL
Clifford H OstroskyItalyAnna Fali RENEWAL
Ivar I FigeroaSpainAnna Fali PROPOSAL
Tony B KuskoJapanElwin Sharvill UNQUALIFIED
Ashley G FollerGermanyStephen Shaw QUALIFIED
Costa G WaycottGermanyAmy Elsner PROPOSAL
Rodrigues M NickaCanadaXuxue Feng RENEWAL
Faith P IturbideCanadaXuxue Feng PROPOSAL
Ashley C DoeBrazilStephen Shaw QUALIFIED
Claire S SchemmerUnited KingdomElwin Sharvill NEW
Izzy X DoeAustraliaOnyama Limba NEGOTIATION
Johnson L WhobreyAustraliaAsiya Javayant NEGOTIATION
Mayumi S KolmetzUnited KingdomXuxue Feng PROPOSAL
Munro R NickaItalyIvan Magalhaes RENEWAL
Clifford D WieserAustraliaStephen Shaw PROPOSAL
Ashley O SergiIndiaBernardo Dominic PROPOSAL
Jones W VocelkaUnited KingdomAmy Elsner QUALIFIED
Mujtaba N DilliardRussiaXuxue Feng UNQUALIFIED
Jefferson O MaletArgentinaIvan Magalhaes NEGOTIATION
Jennifer T FigeroaIndiaOnyama Limba UNQUALIFIED
Chavez J OstroskyIndiaAnna Fali PROPOSAL
Salvatore X FigeroaSpainBernardo Dominic NEGOTIATION
Aruna P InouyeSpainIvan Magalhaes QUALIFIED
Darci V OstroskyBrazilOnyama Limba PROPOSAL
Juan H MaletIndiaXuxue Feng RENEWAL
Johnson O IturbideJapanBernardo Dominic NEGOTIATION
Adams Y FerenczFranceBernardo Dominic UNQUALIFIED
Aditya N WhobreyFranceBernardo Dominic NEGOTIATION
Smith B GlickArgentinaIoni Bowcher PROPOSAL
Stacey P MaletBrazilIoni Bowcher 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>