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
Costa Z DarakjyItalyStephen Shaw NEW
Isabel R RutaAustraliaAnna Fali RENEWAL
Johnson S SaylorsAustraliaAsiya Javayant UNQUALIFIED
Wickens T InouyeSpainBernardo Dominic PROPOSAL
Isabel W KolmetzUnited KingdomOnyama Limba PROPOSAL
Faith F NickaGermanyOnyama Limba RENEWAL
Costa X CaudyCanadaOnyama Limba QUALIFIED
Jones S RimAustraliaXuxue Feng NEGOTIATION
Darci M GillianJapanAsiya Javayant NEW
Morrow J NickaBrazilElwin Sharvill NEW
Ricardo Z CaudyUnited KingdomAsiya Javayant QUALIFIED
Maisha Z OldroydItalyBernardo Dominic PROPOSAL
Johnson C PaprockiIndiaAmy Elsner PROPOSAL
Leja O WieserUnited KingdomElwin Sharvill NEW
Nicolas Z CampainGermanyAsiya Javayant RENEWAL
Ivar L PerinFranceOnyama Limba QUALIFIED
Octavia R CampainBrazilIoni Bowcher UNQUALIFIED
Cody M VenereJapanStephen Shaw UNQUALIFIED
Costa G FerenczIndiaIvan Magalhaes PROPOSAL
Salvatore R DilliardRussiaElwin Sharvill QUALIFIED
Jones T GarufiBrazilXuxue Feng NEGOTIATION
Darci G TollnerJapanOnyama Limba UNQUALIFIED
Claire Z IturbideIndiaIoni Bowcher NEGOTIATION
Leon B WieserJapanElwin Sharvill NEW
Rodrigues Z VocelkaCanadaAsiya Javayant UNQUALIFIED
Johnson Q KuskoUnited KingdomElwin Sharvill UNQUALIFIED
Maria S GauchoAustraliaStephen Shaw NEGOTIATION
Francesco F FollerBrazilStephen Shaw RENEWAL
Mujtaba M PerinSpainStephen Shaw PROPOSAL
Ashley V GauchoSpainIvan Magalhaes QUALIFIED
Aditya C ButtSpainStephen Shaw NEGOTIATION
Izzy V DarakjyFranceStephen Shaw QUALIFIED
Mayumi S RutaBrazilAmy Elsner QUALIFIED
Smith I ButtJapanIoni Bowcher NEGOTIATION
Ivar P SaylorsUnited KingdomElwin Sharvill NEW
Maisha Z DilliardIndiaStephen Shaw QUALIFIED
Alejandro B PerinSpainXuxue Feng UNQUALIFIED
Izzy Y PerinIndiaStephen Shaw NEW
Maria P WaycottRussiaStephen Shaw RENEWAL
Francesco J GlickCanadaStephen Shaw PROPOSAL
Jones Q FollerSpainBernardo Dominic NEGOTIATION
Ashley S DoeAustraliaAnna Fali QUALIFIED
Nicolas V ButtBrazilStephen Shaw NEGOTIATION
Clifford N WhobreyItalyIvan Magalhaes NEW
Adams G PerinItalyXuxue Feng NEW
Isabel D CaudyGermanyIvan Magalhaes NEGOTIATION
Octavia J SergiCanadaAnna Fali PROPOSAL
Greenwood C SchemmerUnited KingdomIvan Magalhaes NEW
Darci R ChuiArgentinaIvan Magalhaes UNQUALIFIED
Jefferson E OldroydArgentinaStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Antonio L GarufiArgentinaXuxue Feng PROPOSAL
Sinclair K NickaUnited KingdomXuxue Feng NEGOTIATION
Jones I VenereUnited KingdomOnyama Limba UNQUALIFIED
Izzy E ShinkoIndiaAsiya Javayant NEW
Murillo U RimGermanyIoni Bowcher QUALIFIED
Tony G SlusarskiArgentinaIvan Magalhaes QUALIFIED
Julie O StensethArgentinaAsiya Javayant NEGOTIATION
Mayumi E RutaIndiaBernardo Dominic NEGOTIATION
Sinclair Z StensethJapanBernardo Dominic RENEWAL
Morrow Z SchemmerArgentinaXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar N FerenczGermany2024-06-03Chemel, James L Cpa RENEWAL42Ioni Bowcher
1001Clifford K GarufiBrazil2024-06-07Rousseaux, Michael Esq UNQUALIFIED98Elwin Sharvill
1002Faith O RoysterRussia2024-05-31Morlong Associates PROPOSAL2Onyama Limba
1003Ashley K RoysterCanada2024-06-05Dorl, James J Esq QUALIFIED1Stephen Shaw
1004Ivar N ChuiItaly2024-05-28Benton, John B Jr NEGOTIATION22Stephen Shaw
1005Kadeem J SlusarskiUnited Kingdom2024-05-23Dorl, James J Esq UNQUALIFIED21Onyama Limba
1006Julie P PerinAustralia2024-06-08Feiner Bros RENEWAL38Anna Fali
1007Deepesh R VenereGermany2024-05-31Buckley Miller Wright NEGOTIATION32Onyama Limba
1008Silvio G RoysterSpain2024-05-25King, Christopher A Esq UNQUALIFIED93Elwin Sharvill
1009Alejandro E SchemmerGermany2024-06-04Chanay, Jeffrey A Esq NEW75Amy Elsner
1010Juan S MorascaAustralia2024-06-13Buckley Miller Wright UNQUALIFIED35Elwin Sharvill
1011Greenwood T StockhamIndia2024-05-28Feltz Printing Service PROPOSAL75Asiya Javayant
1012Aika B GarufiBrazil2024-06-09Feiner Bros NEGOTIATION22Onyama Limba
1013Costa S CampainItaly2024-06-07Buckley Miller Wright NEW28Onyama Limba
1014Stacey X KolmetzGermany2024-06-08Feltz Printing Service UNQUALIFIED87Asiya Javayant
1015Greenwood R PoquetteCanada2024-06-07Morlong Associates QUALIFIED69Elwin Sharvill
1016Jefferson Y KuskoFrance2024-06-05Commercial Press PROPOSAL69Amy Elsner
1017Munro O IturbideSpain2024-06-08King, Christopher A Esq NEGOTIATION76Ivan Magalhaes
1018Jones K BowleyJapan2024-06-01Morlong Associates RENEWAL84Asiya Javayant
1019Francesco E FlosiJapan2024-06-05Rangoni Of Florence NEGOTIATION58Anna Fali
1020Isabel D BowleyUnited Kingdom2024-06-18Feltz Printing Service PROPOSAL33Asiya Javayant
1021Leja I PaprockiSpain2024-06-09Chemel, James L Cpa NEW30Stephen Shaw
1022Jeanfrancois U VenereFrance2024-06-21Chanay, Jeffrey A Esq UNQUALIFIED36Onyama Limba
1023Tony F GauchoBrazil2024-05-28Truhlar And Truhlar Attys RENEWAL2Onyama Limba
1024Salvatore G SergiJapan2024-06-18Rousseaux, Michael Esq QUALIFIED69Xuxue Feng
1025Alejandro N WaycottFrance2024-06-10Chapman, Ross E Esq RENEWAL64Bernardo Dominic
1026Alejandro D WieserJapan2024-06-06Feltz Printing Service UNQUALIFIED4Asiya Javayant
1027Faith O KolmetzCanada2024-05-27Morlong Associates PROPOSAL23Elwin Sharvill
1028Jennifer Z BriddickJapan2024-05-23Buckley Miller Wright PROPOSAL41Elwin Sharvill
1029Aditya J WhobreyCanada2024-06-15Feiner Bros RENEWAL13Elwin Sharvill
1030Stacey D DarakjyGermany2024-06-15Chemel, James L Cpa RENEWAL94Stephen Shaw
1031Ricardo N StensethGermany2024-06-12Dorl, James J Esq PROPOSAL78Amy Elsner
1032Mayumi V CaldareraBrazil2024-06-15Benton, John B Jr RENEWAL19Amy Elsner
1033Kadeem A KolmetzGermany2024-05-31Truhlar And Truhlar Attys PROPOSAL38Onyama Limba
1034Adams G RulapaughArgentina2024-06-12Chemel, James L Cpa UNQUALIFIED25Amy Elsner
1035Julie I GillianCanada2024-05-31King, Christopher A Esq PROPOSAL88Anna Fali
1036Costa D BowleyUnited Kingdom2024-06-07Printing Dimensions NEGOTIATION72Elwin Sharvill
1037Nicolas P NickaSpain2024-06-13King, Christopher A Esq RENEWAL23Onyama Limba
1038Kaitlin M PoquetteItaly2024-06-07Morlong Associates RENEWAL69Amy Elsner
1039Greenwood O GillianFrance2024-06-18Buckley Miller Wright NEGOTIATION65Stephen Shaw
1040Julie M PoquetteItaly2024-06-11Buckley Miller Wright UNQUALIFIED63Ioni Bowcher
1041Tony P ButtItaly2024-06-19Dorl, James J Esq QUALIFIED47Asiya Javayant
1042Jones O OldroydItaly2024-06-01Commercial Press QUALIFIED52Ioni Bowcher
1043Francesco U GillianGermany2024-05-30Rangoni Of Florence UNQUALIFIED25Xuxue Feng
1044Darci B CampainJapan2024-06-05Printing Dimensions NEGOTIATION37Elwin Sharvill
1045Wickens P BowleyGermany2024-06-10Rousseaux, Michael Esq NEGOTIATION22Ioni Bowcher
1046Darci U WaycottJapan2024-05-24Chemel, James L Cpa QUALIFIED53Elwin Sharvill
1047Leja N RimArgentina2024-06-15Truhlar And Truhlar Attys QUALIFIED71Ioni Bowcher
1048Silvio G RulapaughRussia2024-06-03Chapman, Ross E Esq PROPOSAL18Xuxue Feng
1049Cody D BowleyBrazil2024-06-21Truhlar And Truhlar Attys UNQUALIFIED2Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Stacey R OstroskyIndiaXuxue Feng RENEWAL
Izzy X GarufiItalyAmy Elsner UNQUALIFIED
Adams G SaylorsAustraliaOnyama Limba QUALIFIED
Jeanfrancois U RoysterAustraliaStephen Shaw UNQUALIFIED
Ivar U DarakjyUnited KingdomAmy Elsner NEGOTIATION
Rodrigues E PoquetteRussiaBernardo Dominic UNQUALIFIED
James E FlosiArgentinaAsiya Javayant RENEWAL
Silvio O AmigonJapanElwin Sharvill QUALIFIED
Sinclair L GarufiRussiaElwin Sharvill PROPOSAL
Murillo A MacleadBrazilAnna Fali NEGOTIATION
Adams Z StensethJapanXuxue Feng PROPOSAL
Chavez C FigeroaGermanyBernardo Dominic PROPOSAL
Jones Q GillianBrazilXuxue Feng NEW
Juan N MaletCanadaElwin Sharvill NEGOTIATION
Faith O RulapaughCanadaBernardo Dominic RENEWAL
Cody E FlosiAustraliaIoni Bowcher NEGOTIATION
Isabel P FerenczSpainAmy Elsner RENEWAL
Aruna Z AmigonGermanyXuxue Feng UNQUALIFIED
Salvatore M VenereCanadaIvan Magalhaes RENEWAL
Octavia W StensethArgentinaIvan Magalhaes NEGOTIATION
Silvio J RutaGermanyAnna Fali UNQUALIFIED
Emily E MarrierIndiaIoni Bowcher PROPOSAL
Mayumi J VocelkaFranceAnna Fali QUALIFIED
Wickens X DoeJapanIoni Bowcher RENEWAL
Sinclair A PerinFranceAmy Elsner PROPOSAL
Claire Z SergiBrazilXuxue Feng PROPOSAL
Ivar U StockhamUnited KingdomIvan Magalhaes NEGOTIATION
Darci R FigeroaRussiaAnna Fali PROPOSAL
Sinclair W OldroydItalyElwin Sharvill PROPOSAL
Costa J KuskoRussiaStephen Shaw RENEWAL
Greenwood S RoysterCanadaBernardo Dominic UNQUALIFIED
Octavia E VocelkaIndiaAnna Fali NEW
Maria S BologniaFranceAnna Fali RENEWAL
Claire X BologniaCanadaXuxue Feng NEW
Arvin O RulapaughRussiaAnna Fali NEW
Maisha Y SergiArgentinaOnyama Limba NEGOTIATION
Chavez R WaycottSpainElwin Sharvill QUALIFIED
Arvin L StensethUnited KingdomIoni Bowcher PROPOSAL
Ivar R NickaGermanyIoni Bowcher PROPOSAL
Jefferson X VocelkaSpainAmy Elsner UNQUALIFIED
Cody S KuskoItalyAmy Elsner RENEWAL
Jeanfrancois K MaletSpainBernardo Dominic PROPOSAL
Adams G RulapaughSpainElwin Sharvill NEGOTIATION
Greenwood J CaudyFranceAsiya Javayant NEGOTIATION
Ricardo P GarufiUnited KingdomAnna Fali NEW
Jeanfrancois A MorascaUnited KingdomOnyama Limba RENEWAL
Claire Q GauchoJapanBernardo Dominic RENEWAL
Francesco I DarakjyCanadaAsiya Javayant NEW
Ashley A ShinkoRussiaIoni Bowcher RENEWAL
Salvatore P DilliardAustraliaAnna Fali RENEWAL
Frozen Columns
Name
Aika Q Stockham
Claire D Chui
Misaki E Vocelka
Johnson G Rulapaugh
Ivar D Caldarera
Mayumi D Darakjy
Salvatore E Ferencz
Jeanfrancois Y Flosi
Nicolas V Butt
Jeanfrancois N Rim
Mujtaba B Kusko
Francesco U Schemmer
Smith J Perin
Costa V Foller
Antonio V Rulapaugh
Ivar H Shinko
Isabel E Vocelka
Alejandro C Paprocki
Arvin Z Stenseth
Mujtaba O Iturbide
Isabel K Inouye
Juan R Caudy
Faith V Ostrosky
Nicolas J Wieser
Izzy E Amigon
Costa M Ostrosky
Misaki O Malet
Ricardo T Nicka
James P Garufi
Stacey T Garufi
Salvatore J Poquette
Alejandro B Schemmer
Wickens A Campain
Rodrigues A Ostrosky
Antonio T Caldarera
Greenwood T Perin
Claire U Oldroyd
Leja K Butt
Faith J Bowley
Jeanfrancois U Whobrey
Antonio K Rim
Arvin F Marrier
Salvatore C Marrier
Nicolas X Poquette
Munro F Caudy
David V Ostrosky
Clifford N Ostrosky
Nicolas G Caldarera
Tony P Sergi
Antonio Y Gaucho
IdCountryDate
1000Argentina2024-05-29
1001Australia2024-06-18
1002Italy2024-06-18
1003France2024-06-12
1004Brazil2024-06-14
1005Brazil2024-06-11
1006France2024-05-26
1007Italy2024-06-11
1008United Kingdom2024-05-31
1009India2024-06-17
1010Brazil2024-06-05
1011Argentina2024-05-26
1012Australia2024-05-26
1013Italy2024-05-23
1014Germany2024-06-17
1015Argentina2024-06-16
1016India2024-05-30
1017Spain2024-06-09
1018India2024-06-02
1019Italy2024-05-29
1020Canada2024-06-12
1021Canada2024-06-12
1022United Kingdom2024-05-23
1023Italy2024-06-11
1024Italy2024-06-19
1025Brazil2024-06-19
1026United Kingdom2024-06-03
1027Argentina2024-06-20
1028Germany2024-06-10
1029Argentina2024-06-07
1030Canada2024-06-10
1031Germany2024-06-02
1032Russia2024-06-19
1033Russia2024-05-28
1034Brazil2024-06-04
1035Brazil2024-06-05
1036Spain2024-05-25
1037Japan2024-06-02
1038Spain2024-05-23
1039Brazil2024-05-27
1040Russia2024-06-19
1041Argentina2024-05-29
1042Japan2024-06-03
1043Russia2024-05-29
1044Argentina2024-06-16
1045India2024-05-25
1046Italy2024-06-11
1047Spain2024-05-25
1048Japan2024-05-29
1049United Kingdom2024-05-30

On-Demand Data

NameIdCountryDate
Murillo K Kusko1000Argentina2024-05-28
Ashley Q Bolognia1001Japan2024-06-20
Julie S Ruta1002Brazil2024-06-17
Salvatore E Albares1003Argentina2024-06-18
Munro K Kusko1004France2024-06-21
Octavia Y Amigon1005Australia2024-05-29
Juan K Vocelka1006France2024-06-12
Claire K Wieser1007Russia2024-05-31
Costa I Gillian1008Argentina2024-06-18
Misaki F Figeroa1009Japan2024-05-27
Darci W Slusarski1010Argentina2024-06-18
Wickens N Malet1011Canada2024-05-30
Ivar W Figeroa1012United Kingdom2024-05-23
James S Tollner1013Australia2024-06-04
Ricardo X Gaucho1014Italy2024-05-24
Octavia Q Chui1015Australia2024-06-03
Chavez P Caudy1016Russia2024-05-23
Stacey C Venere1017France2024-06-20
Clifford K Inouye1018Russia2024-05-28
Wickens A Maclead1019Spain2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco S GillianRussiaXuxue Feng PROPOSAL
Morrow M FigeroaFranceAmy Elsner PROPOSAL
Juan E CampainGermanyAnna Fali NEW
Greenwood F BowleyUnited KingdomOnyama Limba RENEWAL
Sinclair Q RimUnited KingdomOnyama Limba QUALIFIED
Jeanfrancois W BriddickCanadaAnna Fali PROPOSAL
Julie G SlusarskiArgentinaAmy Elsner QUALIFIED
Emily E MarrierFranceAnna Fali RENEWAL
Maisha Z InouyeSpainAnna Fali RENEWAL
Mujtaba O InouyeGermanyAmy Elsner QUALIFIED
Leon X FlosiSpainAnna Fali NEW
Silvio H AlbaresItalyAmy Elsner RENEWAL
Maria U CaudyCanadaAmy Elsner UNQUALIFIED
Greenwood P DilliardItalyAnna Fali RENEWAL
Francesco I GlickFranceAsiya Javayant QUALIFIED
Isabel O BologniaBrazilAsiya Javayant NEW
Salvatore Q GauchoCanadaAnna Fali UNQUALIFIED
Mujtaba Z DoeAustraliaIvan Magalhaes NEGOTIATION
Silvio S RulapaughGermanyAsiya Javayant RENEWAL
Jones E VocelkaBrazilBernardo Dominic NEGOTIATION
Ashley W MaletFranceIvan Magalhaes UNQUALIFIED
Jones Z AlbaresArgentinaStephen Shaw NEW
Murillo F SlusarskiGermanyIoni Bowcher QUALIFIED
Jones O AmigonAustraliaStephen Shaw QUALIFIED
Salvatore Y RutaUnited KingdomAnna Fali UNQUALIFIED
Mayumi H GillianIndiaAsiya Javayant NEW
Smith E GarufiIndiaAsiya Javayant QUALIFIED
Izzy X BriddickRussiaOnyama Limba NEW
Aika H RulapaughIndiaElwin Sharvill NEGOTIATION
Jeanfrancois Y KolmetzCanadaAnna Fali UNQUALIFIED
Cody Z BriddickAustraliaAmy Elsner QUALIFIED
Julie V AmigonFranceAsiya Javayant PROPOSAL
Tony M MaletBrazilStephen Shaw NEGOTIATION
Francesco Q RimItalyStephen Shaw NEGOTIATION
Murillo R WaycottSpainBernardo Dominic RENEWAL
Jefferson T PaprockiArgentinaAnna Fali QUALIFIED
Juan U GlickUnited KingdomStephen Shaw UNQUALIFIED
Leja M WhobreyFranceBernardo Dominic UNQUALIFIED
Aika L BriddickJapanIoni Bowcher QUALIFIED
Francesco M VocelkaIndiaElwin Sharvill 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>