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
Francesco H GauchoItalyIoni Bowcher NEGOTIATION
Deepesh J PerinArgentinaAsiya Javayant NEW
Morrow U PaprockiJapanStephen Shaw NEGOTIATION
Silvio C WaycottJapanElwin Sharvill RENEWAL
Alejandro G OldroydGermanyBernardo Dominic RENEWAL
Darci Z KolmetzIndiaIvan Magalhaes UNQUALIFIED
Johnson H DoeArgentinaAsiya Javayant UNQUALIFIED
Nicolas J KuskoBrazilAsiya Javayant NEW
Darci D SchemmerAustraliaElwin Sharvill RENEWAL
Darci L AmigonBrazilAnna Fali NEGOTIATION
Alejandro Y BowleyArgentinaIvan Magalhaes NEGOTIATION
Cody J InouyeJapanAnna Fali PROPOSAL
Leon N RoysterSpainBernardo Dominic UNQUALIFIED
David O RimCanadaIoni Bowcher QUALIFIED
Jones V FlosiCanadaIoni Bowcher PROPOSAL
Nicolas D MarrierSpainAsiya Javayant NEGOTIATION
Cody F GarufiAustraliaElwin Sharvill NEGOTIATION
Juan I BriddickJapanBernardo Dominic NEGOTIATION
Jeanfrancois O FigeroaIndiaAmy Elsner RENEWAL
Octavia D TollnerArgentinaXuxue Feng UNQUALIFIED
Jefferson U RoysterFranceIvan Magalhaes RENEWAL
Darci T PerinUnited KingdomXuxue Feng NEGOTIATION
Emily D AmigonIndiaBernardo Dominic QUALIFIED
Maria O PerinRussiaAmy Elsner QUALIFIED
Morrow Q SchemmerAustraliaOnyama Limba PROPOSAL
Sinclair I SaylorsJapanAsiya Javayant RENEWAL
Jones V KuskoArgentinaIvan Magalhaes RENEWAL
Clifford C PerinRussiaAnna Fali RENEWAL
Kaitlin U WaycottFranceElwin Sharvill UNQUALIFIED
Isabel S FerenczJapanXuxue Feng NEGOTIATION
Silvio L RoysterRussiaIoni Bowcher NEW
Juan E GarufiSpainStephen Shaw PROPOSAL
James K VenereCanadaAsiya Javayant RENEWAL
Munro F StensethAustraliaAnna Fali NEGOTIATION
Kadeem S SaylorsUnited KingdomStephen Shaw NEW
Wickens J ShinkoGermanyOnyama Limba UNQUALIFIED
Maria X FlosiFranceOnyama Limba PROPOSAL
Maisha W GillianCanadaBernardo Dominic UNQUALIFIED
Costa G VenereArgentinaAsiya Javayant QUALIFIED
Alejandro G MaletAustraliaAmy Elsner QUALIFIED
Julie E StensethItalyAsiya Javayant PROPOSAL
Silvio D VocelkaSpainElwin Sharvill RENEWAL
Francesco A TollnerFranceIoni Bowcher RENEWAL
Faith Z SchemmerRussiaIoni Bowcher PROPOSAL
Aika Y BologniaAustraliaOnyama Limba NEGOTIATION
Leja M GauchoSpainAnna Fali PROPOSAL
Mayumi W NickaGermanyXuxue Feng UNQUALIFIED
Alejandro S RutaArgentinaIoni Bowcher UNQUALIFIED
Darci S AmigonRussiaElwin Sharvill QUALIFIED
Tony Z DarakjyArgentinaElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Mayumi O TollnerSpainStephen Shaw NEW
Emily Y WhobreyJapanIvan Magalhaes NEW
Ivar A GlickIndiaElwin Sharvill NEGOTIATION
Smith A KolmetzSpainAsiya Javayant UNQUALIFIED
Faith E TollnerItalyBernardo Dominic UNQUALIFIED
Stacey A FigeroaGermanyAmy Elsner NEW
Leja R RimUnited KingdomIvan Magalhaes RENEWAL
Maisha S CaldareraIndiaAmy Elsner PROPOSAL
Claire M RimArgentinaOnyama Limba NEW
Ashley A RulapaughRussiaAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja W BowleyItaly2024-06-03Truhlar And Truhlar Attys RENEWAL56Ioni Bowcher
1001Francesco G StockhamGermany2024-06-18King, Christopher A Esq PROPOSAL45Elwin Sharvill
1002Deepesh P PaprockiJapan2024-05-26Chanay, Jeffrey A Esq NEGOTIATION87Ioni Bowcher
1003Rodrigues H RulapaughJapan2024-06-13Morlong Associates PROPOSAL78Ivan Magalhaes
1004Julie D NickaUnited Kingdom2024-06-11Chanay, Jeffrey A Esq NEW63Anna Fali
1005Munro E BowleyItaly2024-06-07Dorl, James J Esq QUALIFIED18Onyama Limba
1006Ricardo Q TollnerRussia2024-06-17Feltz Printing Service PROPOSAL22Xuxue Feng
1007Murillo J FlosiGermany2024-05-29Feltz Printing Service UNQUALIFIED1Amy Elsner
1008Aika L DarakjyGermany2024-06-04King, Christopher A Esq NEW18Xuxue Feng
1009Munro F InouyeFrance2024-06-05Feltz Printing Service QUALIFIED41Xuxue Feng
1010Sinclair P CaudyFrance2024-06-04Chapman, Ross E Esq NEGOTIATION64Amy Elsner
1011Jeanfrancois F CaldareraJapan2024-06-03Chemel, James L Cpa NEGOTIATION93Amy Elsner
1012Murillo H FerenczRussia2024-05-30Chanay, Jeffrey A Esq UNQUALIFIED68Stephen Shaw
1013Ricardo O RoysterFrance2024-05-27Chemel, James L Cpa QUALIFIED38Ivan Magalhaes
1014Murillo I RoysterUnited Kingdom2024-06-19Printing Dimensions NEGOTIATION92Stephen Shaw
1015Jennifer U ButtUnited Kingdom2024-06-04Chanay, Jeffrey A Esq NEGOTIATION58Stephen Shaw
1016Costa X ButtCanada2024-06-07Rangoni Of Florence NEW94Ioni Bowcher
1017Nicolas Y ButtFrance2024-06-08Rousseaux, Michael Esq NEGOTIATION60Onyama Limba
1018Jennifer S NestleArgentina2024-05-28Dorl, James J Esq NEW20Ioni Bowcher
1019James N ShinkoCanada2024-06-02Morlong Associates NEGOTIATION31Bernardo Dominic
1020Salvatore J FigeroaJapan2024-06-12Rangoni Of Florence PROPOSAL28Ioni Bowcher
1021Jones I KuskoBrazil2024-06-12Rousseaux, Michael Esq NEGOTIATION15Amy Elsner
1022Leon H CampainCanada2024-06-21Morlong Associates UNQUALIFIED90Stephen Shaw
1023Faith K ShinkoJapan2024-06-12Benton, John B Jr QUALIFIED97Bernardo Dominic
1024Tony M DoeFrance2024-06-04Commercial Press QUALIFIED20Asiya Javayant
1025Jones W MaletFrance2024-06-01Dorl, James J Esq UNQUALIFIED4Ioni Bowcher
1026Smith Q RoysterItaly2024-06-17Commercial Press RENEWAL37Amy Elsner
1027Emily K ShinkoIndia2024-06-20Chanay, Jeffrey A Esq RENEWAL96Ioni Bowcher
1028Francesco A GarufiFrance2024-05-30Truhlar And Truhlar Attys RENEWAL95Anna Fali
1029Jones M MacleadIndia2024-06-10Morlong Associates NEW15Stephen Shaw
1030Nicolas U GlickRussia2024-05-27Buckley Miller Wright NEGOTIATION58Anna Fali
1031Silvio U PoquetteArgentina2024-06-12King, Christopher A Esq NEW52Onyama Limba
1032Deepesh I MarrierAustralia2024-06-04Truhlar And Truhlar Attys UNQUALIFIED58Amy Elsner
1033Maisha M OldroydArgentina2024-06-03Truhlar And Truhlar Attys QUALIFIED16Ioni Bowcher
1034Aditya I CaldareraItaly2024-05-26Dorl, James J Esq PROPOSAL21Anna Fali
1035Kaitlin Y WhobreyJapan2024-06-02Benton, John B Jr NEGOTIATION25Amy Elsner
1036Costa P StockhamCanada2024-06-14Dorl, James J Esq QUALIFIED32Amy Elsner
1037Jennifer Y MaletSpain2024-06-21Printing Dimensions QUALIFIED88Onyama Limba
1038Leon I GauchoArgentina2024-06-01Chemel, James L Cpa RENEWAL30Onyama Limba
1039Aika T BriddickCanada2024-05-25Feiner Bros PROPOSAL65Asiya Javayant
1040Izzy F OldroydCanada2024-06-10Truhlar And Truhlar Attys NEW74Anna Fali
1041Jones W PaprockiRussia2024-06-14Feltz Printing Service RENEWAL7Onyama Limba
1042Jennifer D RimCanada2024-06-19King, Christopher A Esq UNQUALIFIED9Amy Elsner
1043Leja Y MaletJapan2024-05-24Dorl, James J Esq NEW27Xuxue Feng
1044Julie V MaletCanada2024-05-27Buckley Miller Wright QUALIFIED9Anna Fali
1045Julie Z DarakjyJapan2024-06-06Commercial Press QUALIFIED67Amy Elsner
1046Cody A GarufiCanada2024-06-01Buckley Miller Wright UNQUALIFIED79Ivan Magalhaes
1047Ricardo Y GlickAustralia2024-06-18Printing Dimensions PROPOSAL52Onyama Limba
1048Adams Z WhobreyCanada2024-06-13Rousseaux, Michael Esq RENEWAL93Xuxue Feng
1049Leja L FigeroaSpain2024-06-10Printing Dimensions QUALIFIED90Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Jones H WhobreyRussiaElwin Sharvill NEW
Kaitlin A RutaAustraliaStephen Shaw QUALIFIED
Clifford E FigeroaAustraliaAmy Elsner RENEWAL
Johnson I AmigonAustraliaIvan Magalhaes RENEWAL
Ivar L KuskoItalyAsiya Javayant RENEWAL
Faith G GarufiCanadaStephen Shaw UNQUALIFIED
Izzy P ChuiSpainIvan Magalhaes QUALIFIED
Deepesh Z DarakjyBrazilOnyama Limba QUALIFIED
Emily V BowleyCanadaAmy Elsner PROPOSAL
Stacey W DilliardFranceAnna Fali UNQUALIFIED
Faith Q SaylorsBrazilBernardo Dominic PROPOSAL
Arvin I GauchoBrazilStephen Shaw RENEWAL
Francesco S RutaCanadaBernardo Dominic NEGOTIATION
Ashley O PaprockiJapanAnna Fali NEW
Alejandro O MaletBrazilAsiya Javayant NEGOTIATION
Munro G WhobreyCanadaBernardo Dominic QUALIFIED
Mujtaba U MarrierCanadaAnna Fali RENEWAL
Francesco N WieserArgentinaAnna Fali PROPOSAL
Julie K WhobreyCanadaStephen Shaw NEGOTIATION
Antonio C VocelkaItalyElwin Sharvill NEW
Tony P CaldareraArgentinaAnna Fali NEW
Jennifer A AmigonItalyAmy Elsner NEGOTIATION
Emily M GarufiIndiaIvan Magalhaes UNQUALIFIED
Julie B RoysterAustraliaOnyama Limba NEGOTIATION
James B WieserUnited KingdomIoni Bowcher PROPOSAL
Smith J RutaCanadaElwin Sharvill NEW
Emily V MarrierAustraliaIvan Magalhaes QUALIFIED
Aditya Z AmigonGermanyBernardo Dominic RENEWAL
Juan H BologniaIndiaOnyama Limba QUALIFIED
Aika V CaldareraIndiaAnna Fali NEW
Ashley C CaldareraAustraliaBernardo Dominic NEW
Munro Q RulapaughUnited KingdomIoni Bowcher QUALIFIED
Arvin O IturbideCanadaAmy Elsner QUALIFIED
Octavia L AlbaresUnited KingdomOnyama Limba QUALIFIED
Julie M SergiJapanIoni Bowcher UNQUALIFIED
Chavez E GillianAustraliaXuxue Feng UNQUALIFIED
Jones N VenereSpainStephen Shaw QUALIFIED
Ricardo E NickaBrazilBernardo Dominic PROPOSAL
Jennifer M KuskoItalyElwin Sharvill NEW
Mayumi C AlbaresArgentinaElwin Sharvill UNQUALIFIED
Chavez B MarrierUnited KingdomStephen Shaw NEGOTIATION
Maisha Y AlbaresUnited KingdomOnyama Limba PROPOSAL
Mayumi E BowleyCanadaIoni Bowcher NEW
Sinclair V DarakjyJapanAnna Fali RENEWAL
Ivar P RulapaughAustraliaAsiya Javayant UNQUALIFIED
Emily R FerenczAustraliaOnyama Limba PROPOSAL
Clifford V PoquetteCanadaStephen Shaw PROPOSAL
Mujtaba W GauchoAustraliaAmy Elsner NEW
Isabel S WhobreyBrazilIoni Bowcher PROPOSAL
Claire Y OstroskyJapanIvan Magalhaes QUALIFIED
Frozen Columns
Name
Jeanfrancois J Whobrey
James J Darakjy
Octavia D Schemmer
Darci N Iturbide
Costa C Paprocki
Alejandro L Tollner
Maisha F Amigon
Maisha N Albares
Stacey N Ruta
Stacey K Stockham
Francesco O Royster
Jones W Flosi
Jeanfrancois M Saylors
Nicolas Q Saylors
Murillo P Vocelka
Misaki A Foller
Wickens T Foller
Ivar D Slusarski
Tony E Bolognia
Leon F Rim
Arvin A Saylors
David D Glick
Smith Z Sergi
Smith O Dilliard
Claire X Ruta
Mujtaba H Venere
Tony Q Ferencz
Silvio S Ostrosky
Adams X Waycott
Leon J Bowley
Claire M Campain
Greenwood I Iturbide
Ricardo W Whobrey
Octavia W Vocelka
Sinclair G Maclead
Johnson K Rulapaugh
Wickens D Stockham
Ricardo Q Briddick
Silvio O Briddick
Munro L Ferencz
Rodrigues H Stockham
Nicolas E Nicka
Salvatore S Sergi
Darci J Amigon
Misaki S Sergi
Silvio L Butt
Jeanfrancois E Caldarera
Deepesh F Perin
Deepesh C Slusarski
Misaki I Gillian
IdCountryDate
1000France2024-06-05
1001Russia2024-06-10
1002Italy2024-06-11
1003Germany2024-05-28
1004Argentina2024-06-19
1005Japan2024-05-29
1006Russia2024-06-06
1007Japan2024-06-20
1008United Kingdom2024-06-16
1009Italy2024-06-08
1010United Kingdom2024-06-06
1011Germany2024-06-21
1012Germany2024-06-03
1013Argentina2024-05-27
1014Italy2024-06-11
1015Brazil2024-06-10
1016United Kingdom2024-06-16
1017Japan2024-06-03
1018Brazil2024-06-15
1019India2024-05-28
1020Argentina2024-05-27
1021France2024-06-02
1022United Kingdom2024-06-13
1023Spain2024-06-21
1024Spain2024-05-25
1025Brazil2024-06-02
1026Argentina2024-05-25
1027Italy2024-06-05
1028France2024-06-12
1029India2024-05-31
1030Italy2024-06-04
1031Japan2024-06-15
1032Russia2024-06-09
1033Australia2024-05-31
1034Spain2024-06-05
1035Spain2024-06-21
1036Japan2024-06-04
1037Spain2024-06-03
1038Italy2024-06-08
1039Brazil2024-05-26
1040United Kingdom2024-06-14
1041Germany2024-06-08
1042Argentina2024-06-21
1043Spain2024-06-07
1044Japan2024-05-27
1045France2024-06-11
1046Germany2024-05-30
1047Canada2024-06-09
1048Japan2024-06-16
1049Argentina2024-06-02

On-Demand Data

NameIdCountryDate
Munro E Rulapaugh1000Australia2024-06-17
Cody A Shinko1001Japan2024-05-28
Salvatore L Gaucho1002Brazil2024-06-03
Isabel J Bolognia1003Germany2024-05-24
Sinclair H Nicka1004Canada2024-06-16
Claire P Rulapaugh1005Australia2024-05-31
Costa O Sergi1006Canada2024-06-01
Antonio B Garufi1007Spain2024-05-28
Juan Z Tollner1008Germany2024-06-21
Arvin O Rim1009Argentina2024-06-03
James N Gaucho1010Canada2024-05-28
Smith U Dilliard1011Australia2024-06-05
Chavez P Shinko1012Spain2024-06-02
Emily I Stockham1013Brazil2024-06-02
Jennifer O Nestle1014Argentina2024-05-28
Izzy U Ferencz1015United Kingdom2024-06-19
Kaitlin M Foller1016Germany2024-05-28
Ricardo L Paprocki1017Italy2024-06-18
Aika M Bolognia1018Brazil2024-06-15
Jeanfrancois N Chui1019Germany2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore O ButtJapanAnna Fali QUALIFIED
Jefferson V BriddickBrazilStephen Shaw NEW
Jones R FollerCanadaOnyama Limba NEW
Ashley A GauchoBrazilStephen Shaw NEGOTIATION
Deepesh R TollnerUnited KingdomAmy Elsner NEGOTIATION
Clifford C InouyeAustraliaStephen Shaw NEGOTIATION
Mayumi T InouyeRussiaBernardo Dominic PROPOSAL
Maria N CaudySpainAsiya Javayant NEW
Rodrigues B KuskoUnited KingdomIvan Magalhaes NEW
Antonio T WaycottFranceAmy Elsner RENEWAL
Mayumi Y KolmetzBrazilOnyama Limba NEW
Maisha F NickaUnited KingdomAsiya Javayant QUALIFIED
Mujtaba C CampainJapanElwin Sharvill QUALIFIED
Cody Z CampainRussiaXuxue Feng NEGOTIATION
Johnson J StockhamJapanAmy Elsner NEW
Rodrigues C BriddickFranceBernardo Dominic QUALIFIED
Ivar F WhobreyCanadaXuxue Feng RENEWAL
Antonio T GlickSpainElwin Sharvill PROPOSAL
Izzy P SergiIndiaStephen Shaw QUALIFIED
Salvatore P TollnerSpainBernardo Dominic QUALIFIED
Adams B GlickJapanAnna Fali NEGOTIATION
Deepesh I GillianCanadaStephen Shaw UNQUALIFIED
Wickens H StockhamJapanStephen Shaw RENEWAL
Tony F FerenczItalyXuxue Feng NEGOTIATION
Jennifer G RulapaughJapanAsiya Javayant RENEWAL
Morrow G SaylorsUnited KingdomOnyama Limba RENEWAL
Octavia Y SergiAustraliaBernardo Dominic NEW
Aika R InouyeArgentinaBernardo Dominic UNQUALIFIED
Leja E NickaFranceOnyama Limba QUALIFIED
Maria X MaletItalyElwin Sharvill PROPOSAL
Ashley E DoeSpainXuxue Feng NEW
Silvio J BriddickAustraliaAsiya Javayant RENEWAL
Arvin C TollnerSpainOnyama Limba RENEWAL
Cody Y DoeJapanAmy Elsner RENEWAL
Aika H KolmetzRussiaAnna Fali UNQUALIFIED
Sinclair M MacleadSpainAmy Elsner NEW
Jones M PaprockiArgentinaIvan Magalhaes NEGOTIATION
Murillo X InouyeJapanIoni Bowcher NEGOTIATION
Ashley B SergiUnited KingdomIoni Bowcher QUALIFIED
Nicolas R AlbaresSpainBernardo Dominic QUALIFIED

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