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
Johnson G VocelkaIndiaBernardo Dominic UNQUALIFIED
Greenwood I FigeroaItalyIoni Bowcher QUALIFIED
Jennifer S FerenczRussiaIoni Bowcher NEGOTIATION
Jeanfrancois S MorascaUnited KingdomStephen Shaw UNQUALIFIED
Alejandro K ButtUnited KingdomAnna Fali QUALIFIED
Clifford J RulapaughFranceOnyama Limba QUALIFIED
Johnson F WaycottAustraliaStephen Shaw PROPOSAL
Juan O IturbideJapanAnna Fali PROPOSAL
Aditya D WaycottJapanStephen Shaw NEGOTIATION
Ivar Q PaprockiItalyIoni Bowcher NEW
Aruna L SlusarskiSpainAmy Elsner NEGOTIATION
Maria N KolmetzGermanyAnna Fali NEW
Aditya O VocelkaBrazilIoni Bowcher RENEWAL
Emily K PaprockiBrazilElwin Sharvill UNQUALIFIED
Aditya X RulapaughArgentinaStephen Shaw RENEWAL
Sinclair P WhobreyBrazilElwin Sharvill NEGOTIATION
Costa O AmigonCanadaAmy Elsner RENEWAL
Juan A IturbideArgentinaAnna Fali RENEWAL
Misaki S WieserFranceElwin Sharvill RENEWAL
Emily L CaudyFranceAmy Elsner QUALIFIED
Rodrigues P FigeroaCanadaIoni Bowcher RENEWAL
Octavia F TollnerIndiaStephen Shaw NEGOTIATION
Smith W MorascaSpainAnna Fali RENEWAL
Chavez P StockhamArgentinaAsiya Javayant NEW
Deepesh F RutaItalyXuxue Feng QUALIFIED
Munro N VocelkaGermanyOnyama Limba PROPOSAL
Alejandro Q RulapaughSpainAsiya Javayant NEW
Cody X InouyeItalyAsiya Javayant NEGOTIATION
Jeanfrancois R SchemmerRussiaElwin Sharvill PROPOSAL
Claire W MacleadFranceIvan Magalhaes UNQUALIFIED
Jones E CampainItalyIoni Bowcher NEW
Ricardo H ChuiBrazilXuxue Feng PROPOSAL
Wickens X ChuiRussiaIoni Bowcher NEW
Munro O FollerBrazilBernardo Dominic RENEWAL
Johnson P KuskoFranceOnyama Limba RENEWAL
David P PoquetteRussiaXuxue Feng RENEWAL
David K MaletRussiaStephen Shaw NEW
Clifford P FerenczArgentinaAmy Elsner RENEWAL
Ashley U VenereUnited KingdomIoni Bowcher RENEWAL
Wickens Q KolmetzUnited KingdomAsiya Javayant NEGOTIATION
Smith B NickaRussiaAmy Elsner UNQUALIFIED
Juan I IturbideAustraliaAnna Fali NEGOTIATION
Salvatore N SchemmerJapanAnna Fali PROPOSAL
Kaitlin A ShinkoItalyXuxue Feng RENEWAL
Aika V MaletRussiaIoni Bowcher QUALIFIED
Faith H FlosiGermanyStephen Shaw NEGOTIATION
Alejandro I DarakjyIndiaIoni Bowcher NEGOTIATION
Aruna Z DarakjySpainOnyama Limba QUALIFIED
Aditya T OstroskyCanadaAmy Elsner UNQUALIFIED
Salvatore I AmigonIndiaElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Juan T ChuiCanadaAnna Fali PROPOSAL
Antonio B NestleBrazilIoni Bowcher PROPOSAL
Jefferson K FlosiAustraliaStephen Shaw UNQUALIFIED
Jennifer O GarufiItalyAmy Elsner RENEWAL
Tony X InouyeBrazilAmy Elsner PROPOSAL
Julie U CaudyUnited KingdomIoni Bowcher PROPOSAL
Rodrigues I WieserUnited KingdomBernardo Dominic UNQUALIFIED
Costa U WaycottUnited KingdomStephen Shaw NEGOTIATION
Chavez W BologniaAustraliaAnna Fali NEGOTIATION
Arvin R SaylorsGermanyAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley W PoquetteFrance2024-06-13Chanay, Jeffrey A Esq NEGOTIATION68Stephen Shaw
1001Aika Z NestleArgentina2024-06-05Chapman, Ross E Esq QUALIFIED45Ivan Magalhaes
1002Claire V SlusarskiRussia2024-06-10Benton, John B Jr NEW86Bernardo Dominic
1003Jefferson F ShinkoIndia2024-06-08Dorl, James J Esq NEW82Elwin Sharvill
1004Salvatore W MarrierArgentina2024-05-23Truhlar And Truhlar Attys NEW72Onyama Limba
1005Deepesh A MorascaItaly2024-05-19Rousseaux, Michael Esq RENEWAL98Stephen Shaw
1006Misaki H CaudyAustralia2024-05-26Chapman, Ross E Esq NEGOTIATION57Ivan Magalhaes
1007Stacey F StensethArgentina2024-06-06King, Christopher A Esq QUALIFIED71Elwin Sharvill
1008Izzy K PoquetteFrance2024-05-29King, Christopher A Esq UNQUALIFIED28Ioni Bowcher
1009Ricardo K CampainArgentina2024-06-09Morlong Associates NEW72Onyama Limba
1010Rodrigues E GlickArgentina2024-06-15Benton, John B Jr NEGOTIATION43Stephen Shaw
1011Kadeem N ChuiArgentina2024-05-19Rangoni Of Florence UNQUALIFIED23Xuxue Feng
1012Nicolas Y MacleadJapan2024-05-21Rousseaux, Michael Esq UNQUALIFIED65Stephen Shaw
1013Kaitlin F WaycottGermany2024-05-22Benton, John B Jr PROPOSAL15Onyama Limba
1014Smith J KolmetzRussia2024-06-12Morlong Associates PROPOSAL99Elwin Sharvill
1015Maisha L SlusarskiSpain2024-05-24Truhlar And Truhlar Attys PROPOSAL83Amy Elsner
1016Silvio Q GlickUnited Kingdom2024-05-28Feltz Printing Service UNQUALIFIED50Amy Elsner
1017David K FollerGermany2024-05-28Feltz Printing Service NEW76Anna Fali
1018Jones C CaudySpain2024-06-06Buckley Miller Wright NEGOTIATION80Asiya Javayant
1019Leon Q SlusarskiArgentina2024-05-23Dorl, James J Esq RENEWAL68Ioni Bowcher
1020Salvatore K GlickGermany2024-06-15Morlong Associates NEGOTIATION45Bernardo Dominic
1021Aika H DoeSpain2024-06-08King, Christopher A Esq NEGOTIATION42Onyama Limba
1022Murillo B FlosiRussia2024-05-21Rousseaux, Michael Esq RENEWAL79Bernardo Dominic
1023Jennifer U SaylorsFrance2024-06-15Chanay, Jeffrey A Esq UNQUALIFIED72Bernardo Dominic
1024Aika G ShinkoFrance2024-06-04Buckley Miller Wright QUALIFIED24Onyama Limba
1025Leon G ChuiSpain2024-05-28Commercial Press NEGOTIATION88Anna Fali
1026Morrow M RoysterGermany2024-05-24Chanay, Jeffrey A Esq NEGOTIATION10Elwin Sharvill
1027Jones X SaylorsBrazil2024-06-10Rousseaux, Michael Esq QUALIFIED27Asiya Javayant
1028Francesco Q ButtArgentina2024-06-05Feiner Bros NEW69Onyama Limba
1029Claire C DoeGermany2024-06-09Morlong Associates NEW22Ioni Bowcher
1030Adams H RoysterGermany2024-05-22Chanay, Jeffrey A Esq UNQUALIFIED61Stephen Shaw
1031Wickens I GlickGermany2024-06-12Rangoni Of Florence QUALIFIED13Ivan Magalhaes
1032Sinclair A BowleyIndia2024-06-16Buckley Miller Wright RENEWAL81Ioni Bowcher
1033Aika I NestleAustralia2024-05-30Rangoni Of Florence NEW51Amy Elsner
1034Francesco C BowleyItaly2024-05-20Rousseaux, Michael Esq UNQUALIFIED95Anna Fali
1035Aruna O BriddickUnited Kingdom2024-05-30Chemel, James L Cpa NEGOTIATION76Onyama Limba
1036Mayumi X GlickIndia2024-06-01Benton, John B Jr RENEWAL74Ivan Magalhaes
1037Johnson T OldroydRussia2024-06-08Printing Dimensions QUALIFIED54Xuxue Feng
1038Wickens X KuskoCanada2024-06-01Benton, John B Jr QUALIFIED65Xuxue Feng
1039Octavia H MarrierGermany2024-06-03Feiner Bros PROPOSAL87Anna Fali
1040Smith H GauchoBrazil2024-05-30Chapman, Ross E Esq QUALIFIED71Anna Fali
1041Morrow D VocelkaSpain2024-05-31Dorl, James J Esq PROPOSAL41Asiya Javayant
1042Faith D GauchoSpain2024-05-25Dorl, James J Esq QUALIFIED1Anna Fali
1043Salvatore A RimUnited Kingdom2024-06-15Chapman, Ross E Esq NEGOTIATION17Bernardo Dominic
1044Cody A ShinkoBrazil2024-05-18Chanay, Jeffrey A Esq NEGOTIATION14Asiya Javayant
1045Jennifer C MarrierJapan2024-06-11Feltz Printing Service NEW38Ivan Magalhaes
1046Leja F GarufiCanada2024-05-23Printing Dimensions UNQUALIFIED82Bernardo Dominic
1047Munro R SchemmerItaly2024-06-01Rousseaux, Michael Esq QUALIFIED97Stephen Shaw
1048Juan Y OldroydBrazil2024-05-26Commercial Press UNQUALIFIED15Ioni Bowcher
1049Johnson Z FerenczArgentina2024-06-04Buckley Miller Wright NEW28Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Silvio A DarakjyItalyStephen Shaw NEGOTIATION
Faith C DoeFranceAmy Elsner RENEWAL
Morrow T CaldareraCanadaOnyama Limba NEW
Morrow V CaldareraBrazilIoni Bowcher NEW
Nicolas L ChuiJapanAmy Elsner QUALIFIED
Mujtaba J OstroskyIndiaBernardo Dominic PROPOSAL
Alejandro K GillianUnited KingdomAnna Fali PROPOSAL
Izzy C VenereUnited KingdomIoni Bowcher RENEWAL
Jeanfrancois F DoeCanadaAmy Elsner UNQUALIFIED
Clifford Z MarrierRussiaXuxue Feng UNQUALIFIED
Salvatore F AlbaresIndiaIoni Bowcher NEGOTIATION
Mujtaba A SergiAustraliaAmy Elsner NEW
Ivar S MorascaRussiaAnna Fali NEW
Jefferson G RoysterAustraliaAnna Fali NEW
Ricardo J BriddickJapanElwin Sharvill NEW
Leon I FerenczAustraliaXuxue Feng PROPOSAL
Misaki G FlosiItalyIvan Magalhaes RENEWAL
Isabel K SergiRussiaIoni Bowcher UNQUALIFIED
Darci J RimFranceOnyama Limba NEGOTIATION
Juan G GauchoUnited KingdomOnyama Limba UNQUALIFIED
Darci H RoysterJapanOnyama Limba NEGOTIATION
Arvin N DarakjyJapanAmy Elsner NEW
Silvio I FlosiAustraliaOnyama Limba UNQUALIFIED
Julie P OstroskyCanadaElwin Sharvill UNQUALIFIED
Mujtaba L GillianSpainIoni Bowcher NEGOTIATION
Octavia V StensethBrazilBernardo Dominic QUALIFIED
Clifford C SaylorsBrazilAnna Fali RENEWAL
Octavia M VenereAustraliaStephen Shaw NEW
Leja R TollnerFranceIoni Bowcher NEGOTIATION
Murillo C OldroydAustraliaElwin Sharvill UNQUALIFIED
Adams A WieserJapanBernardo Dominic RENEWAL
Wickens R MacleadItalyBernardo Dominic NEW
Julie J DarakjyJapanStephen Shaw NEW
Munro J VenereItalyAsiya Javayant RENEWAL
Isabel O MaletCanadaAmy Elsner NEW
Rodrigues E VenereRussiaIoni Bowcher RENEWAL
Mayumi Z VenereSpainIvan Magalhaes NEGOTIATION
Greenwood Z FigeroaSpainXuxue Feng RENEWAL
Maisha Z AmigonRussiaBernardo Dominic NEGOTIATION
Arvin F FlosiRussiaOnyama Limba NEW
Sinclair Y WhobreyIndiaOnyama Limba NEGOTIATION
Sinclair E GarufiArgentinaStephen Shaw PROPOSAL
James J BriddickCanadaOnyama Limba NEGOTIATION
Greenwood G WaycottSpainElwin Sharvill NEGOTIATION
Aruna A VenereRussiaIvan Magalhaes RENEWAL
Tony C WieserFranceElwin Sharvill UNQUALIFIED
Salvatore O BriddickItalyIoni Bowcher UNQUALIFIED
Ivar G FlosiFranceAsiya Javayant UNQUALIFIED
Johnson X DilliardRussiaAmy Elsner PROPOSAL
Jones Z MaletAustraliaOnyama Limba UNQUALIFIED
Frozen Columns
Name
Mujtaba D Inouye
Smith F Sergi
Ricardo B Tollner
Alejandro L Waycott
Ricardo B Dilliard
Jennifer L Wieser
Kadeem J Chui
Ashley Z Briddick
Arvin M Kolmetz
Rodrigues E Iturbide
Mujtaba C Rulapaugh
Nicolas F Whobrey
Kadeem Z Slusarski
Jennifer D Malet
Salvatore N Flosi
Silvio V Whobrey
Silvio R Paprocki
Emily E Perin
Aruna R Chui
Maisha C Garufi
Costa S Garufi
David Y Tollner
Morrow M Kusko
Ashley B Stockham
Munro C Malet
Emily Z Iturbide
Cody S Malet
Jeanfrancois O Slusarski
Aika P Schemmer
Octavia B Schemmer
Emily U Whobrey
Maria U Saylors
Costa H Foller
Julie K Bowley
Greenwood W Ruta
Mayumi U Chui
Aika I Caldarera
Izzy C Kusko
Sinclair Z Albares
Maisha P Paprocki
Kadeem Y Slusarski
Costa R Tollner
Silvio U Tollner
Ashley J Poquette
Salvatore I Iturbide
Munro U Stockham
Sinclair S Whobrey
Izzy R Wieser
Faith H Nicka
Octavia M Caldarera
IdCountryDate
1000India2024-06-05
1001Japan2024-06-12
1002United Kingdom2024-05-20
1003Germany2024-06-03
1004France2024-06-03
1005United Kingdom2024-06-15
1006India2024-05-21
1007Russia2024-05-24
1008Canada2024-05-18
1009Brazil2024-05-20
1010Russia2024-06-11
1011Japan2024-05-27
1012Canada2024-05-19
1013India2024-05-22
1014United Kingdom2024-05-19
1015Germany2024-06-07
1016Australia2024-05-21
1017Australia2024-05-24
1018Brazil2024-06-03
1019India2024-05-30
1020Japan2024-05-24
1021Brazil2024-06-13
1022Russia2024-06-14
1023Brazil2024-06-04
1024India2024-05-31
1025Argentina2024-05-30
1026Italy2024-05-31
1027Canada2024-06-03
1028Brazil2024-05-31
1029Italy2024-06-10
1030Australia2024-06-07
1031Japan2024-05-25
1032Australia2024-06-03
1033Germany2024-06-16
1034Germany2024-06-12
1035India2024-06-11
1036Japan2024-06-15
1037Brazil2024-06-14
1038Brazil2024-06-02
1039Germany2024-05-24
1040Germany2024-05-27
1041Argentina2024-05-24
1042France2024-05-29
1043Italy2024-05-25
1044Russia2024-06-12
1045Australia2024-06-09
1046India2024-05-27
1047France2024-05-29
1048France2024-06-03
1049Japan2024-06-01

On-Demand Data

NameIdCountryDate
Aika W Nestle1000Australia2024-06-13
Jeanfrancois H Dilliard1001United Kingdom2024-06-04
Emily D Maclead1002Argentina2024-06-06
Maria B Paprocki1003Russia2024-06-10
Alejandro Z Ostrosky1004France2024-05-23
Sinclair J Gaucho1005Brazil2024-06-02
Nicolas E Oldroyd1006Japan2024-05-28
Octavia N Saylors1007United Kingdom2024-06-06
Wickens J Campain1008Argentina2024-05-23
Wickens A Garufi1009United Kingdom2024-06-12
Stacey E Kusko1010France2024-06-04
Jefferson X Doe1011United Kingdom2024-06-14
Julie F Dilliard1012India2024-05-24
Johnson V Tollner1013Canada2024-06-07
Arvin A Shinko1014India2024-06-04
Greenwood R Amigon1015Germany2024-06-14
Rodrigues P Royster1016Italy2024-05-28
Aditya K Glick1017Canada2024-05-29
Deepesh K Whobrey1018Russia2024-05-20
Jennifer Q Dilliard1019Spain2024-05-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi S PoquetteGermanyAsiya Javayant UNQUALIFIED
Mayumi B FigeroaFranceAmy Elsner PROPOSAL
Leon G StockhamCanadaOnyama Limba QUALIFIED
Stacey L BologniaItalyAmy Elsner RENEWAL
Juan H DoeArgentinaAsiya Javayant NEGOTIATION
Aika T WieserUnited KingdomIoni Bowcher RENEWAL
Alejandro V RoysterArgentinaIvan Magalhaes RENEWAL
Leja O RutaFranceXuxue Feng QUALIFIED
Johnson P NickaRussiaBernardo Dominic UNQUALIFIED
Aditya C InouyeFranceIvan Magalhaes RENEWAL
Aika J StockhamBrazilElwin Sharvill PROPOSAL
Faith X OldroydArgentinaAmy Elsner QUALIFIED
Murillo E FlosiSpainXuxue Feng QUALIFIED
Costa W VenereAustraliaAnna Fali NEGOTIATION
Tony R KuskoBrazilIvan Magalhaes UNQUALIFIED
Arvin P WaycottAustraliaIvan Magalhaes UNQUALIFIED
Jennifer W WaycottSpainBernardo Dominic NEW
Darci Q NickaGermanyAmy Elsner UNQUALIFIED
Adams F FlosiItalyStephen Shaw UNQUALIFIED
Mujtaba G PoquetteSpainIvan Magalhaes UNQUALIFIED
Morrow G PaprockiSpainElwin Sharvill NEW
Tony X GarufiAustraliaAnna Fali RENEWAL
Salvatore X DoeUnited KingdomAmy Elsner RENEWAL
Kaitlin M BowleyArgentinaStephen Shaw QUALIFIED
Izzy Z MacleadArgentinaAsiya Javayant UNQUALIFIED
Alejandro U OldroydSpainIvan Magalhaes NEGOTIATION
Aditya L DoeFranceXuxue Feng RENEWAL
Antonio U GlickGermanyStephen Shaw PROPOSAL
Nicolas T FigeroaUnited KingdomAmy Elsner PROPOSAL
Julie J InouyeFranceOnyama Limba NEGOTIATION
Aditya C GillianArgentinaOnyama Limba QUALIFIED
Aika F NestleSpainElwin Sharvill RENEWAL
Darci L OldroydFranceXuxue Feng NEW
Julie D MaletUnited KingdomStephen Shaw NEW
Leon A VocelkaRussiaOnyama Limba UNQUALIFIED
Adams N DarakjyJapanAmy Elsner RENEWAL
Nicolas J StensethArgentinaIoni Bowcher RENEWAL
David B ButtCanadaIvan Magalhaes UNQUALIFIED
Izzy E RimBrazilOnyama Limba NEGOTIATION
Claire K DarakjyJapanIoni Bowcher 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>