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
Munro Z GlickSpainBernardo Dominic UNQUALIFIED
Julie B CaudyArgentinaAmy Elsner RENEWAL
Chavez W CampainBrazilBernardo Dominic RENEWAL
Sinclair P FlosiRussiaAnna Fali UNQUALIFIED
Ivar U OldroydItalyXuxue Feng NEGOTIATION
Jennifer R MorascaSpainAnna Fali NEW
Smith L PaprockiItalyXuxue Feng UNQUALIFIED
Emily H OstroskyGermanyStephen Shaw UNQUALIFIED
Smith J WaycottBrazilXuxue Feng NEW
Sinclair O GarufiArgentinaAsiya Javayant PROPOSAL
Munro O CampainRussiaOnyama Limba NEW
Greenwood G RutaCanadaAsiya Javayant NEGOTIATION
Maisha D GarufiJapanIvan Magalhaes PROPOSAL
Chavez F MacleadRussiaStephen Shaw PROPOSAL
Kaitlin X AlbaresJapanXuxue Feng QUALIFIED
Darci F MorascaBrazilElwin Sharvill UNQUALIFIED
Sinclair H PerinUnited KingdomIoni Bowcher RENEWAL
Leon S RulapaughUnited KingdomIoni Bowcher NEGOTIATION
Juan R GillianSpainAnna Fali UNQUALIFIED
Francesco X BowleyFranceBernardo Dominic RENEWAL
Ashley G FerenczGermanyAnna Fali NEGOTIATION
Mujtaba E VenereFranceOnyama Limba UNQUALIFIED
Misaki Z PaprockiFranceElwin Sharvill UNQUALIFIED
James U KolmetzIndiaAsiya Javayant UNQUALIFIED
Jeanfrancois S VocelkaGermanyIvan Magalhaes NEGOTIATION
Nicolas B InouyeItalyBernardo Dominic PROPOSAL
Kaitlin L KuskoJapanBernardo Dominic NEGOTIATION
Mayumi F GillianArgentinaAsiya Javayant NEW
Octavia Y PerinRussiaElwin Sharvill RENEWAL
Alejandro T PoquetteIndiaIoni Bowcher PROPOSAL
Jennifer T SlusarskiUnited KingdomXuxue Feng PROPOSAL
Isabel Y DilliardGermanyIvan Magalhaes PROPOSAL
Munro V FollerArgentinaIoni Bowcher NEW
Arvin O GlickArgentinaXuxue Feng NEGOTIATION
Aruna V MarrierArgentinaIvan Magalhaes RENEWAL
Aruna U VocelkaItalyBernardo Dominic UNQUALIFIED
Sinclair B BologniaAustraliaOnyama Limba RENEWAL
Jennifer W GauchoUnited KingdomAsiya Javayant QUALIFIED
Jones W GlickItalyElwin Sharvill PROPOSAL
Emily D InouyeArgentinaXuxue Feng PROPOSAL
Claire B WhobreyAustraliaXuxue Feng PROPOSAL
Jeanfrancois L GauchoCanadaAmy Elsner QUALIFIED
Sinclair O AlbaresJapanIvan Magalhaes PROPOSAL
Murillo R PerinAustraliaAmy Elsner PROPOSAL
Rodrigues T VocelkaCanadaBernardo Dominic PROPOSAL
Darci R RoysterBrazilAsiya Javayant QUALIFIED
Maisha Y DilliardCanadaXuxue Feng PROPOSAL
Leja T DilliardItalyElwin Sharvill RENEWAL
Ricardo U CaldareraGermanyIoni Bowcher UNQUALIFIED
Smith E SergiItalyOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aruna C AmigonBrazilOnyama Limba QUALIFIED
Johnson F ButtRussiaElwin Sharvill RENEWAL
Sinclair K PaprockiIndiaAmy Elsner UNQUALIFIED
Deepesh G NickaFranceAmy Elsner NEGOTIATION
Nicolas M TollnerJapanXuxue Feng NEW
Costa H SlusarskiIndiaOnyama Limba PROPOSAL
Clifford Z OldroydUnited KingdomAnna Fali RENEWAL
Kaitlin U StensethCanadaAsiya Javayant RENEWAL
Isabel P DarakjySpainIoni Bowcher RENEWAL
Munro I MaletRussiaAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki H SlusarskiCanada2024-05-18Chapman, Ross E Esq QUALIFIED84Onyama Limba
1001Maria M GlickRussia2024-05-06Feiner Bros QUALIFIED16Ivan Magalhaes
1002Jefferson N MaletFrance2024-05-11Feltz Printing Service NEW87Asiya Javayant
1003Jefferson T RimBrazil2024-05-07Chanay, Jeffrey A Esq NEW93Anna Fali
1004Ivar J IturbideRussia2024-05-01Chanay, Jeffrey A Esq PROPOSAL10Asiya Javayant
1005Munro N CaldareraIndia2024-05-17Dorl, James J Esq QUALIFIED41Xuxue Feng
1006Emily I DarakjyUnited Kingdom2024-05-01Commercial Press NEGOTIATION73Anna Fali
1007Misaki L BriddickGermany2024-05-05Commercial Press NEGOTIATION73Ioni Bowcher
1008Jennifer Q RulapaughFrance2024-05-18Rousseaux, Michael Esq NEGOTIATION62Elwin Sharvill
1009Costa R DarakjyJapan2024-05-13Chanay, Jeffrey A Esq PROPOSAL80Anna Fali
1010Ricardo I NestleCanada2024-05-01Dorl, James J Esq QUALIFIED6Bernardo Dominic
1011Alejandro Q PoquetteFrance2024-05-14Chapman, Ross E Esq PROPOSAL1Asiya Javayant
1012Jeanfrancois L CaudyAustralia2024-05-26Feiner Bros PROPOSAL84Stephen Shaw
1013Misaki N RimSpain2024-05-17Chanay, Jeffrey A Esq UNQUALIFIED49Asiya Javayant
1014Wickens C RulapaughIndia2024-05-09Rousseaux, Michael Esq UNQUALIFIED24Ivan Magalhaes
1015Maria B IturbideRussia2024-05-06Printing Dimensions NEGOTIATION23Amy Elsner
1016Maisha M CampainArgentina2024-05-22Dorl, James J Esq PROPOSAL1Onyama Limba
1017Arvin B ShinkoBrazil2024-05-21Printing Dimensions NEW11Stephen Shaw
1018Rodrigues L GarufiGermany2024-05-02Printing Dimensions QUALIFIED55Elwin Sharvill
1019Kaitlin X AlbaresUnited Kingdom2024-05-02Feiner Bros QUALIFIED38Ivan Magalhaes
1020Isabel A MacleadUnited Kingdom2024-05-12Chapman, Ross E Esq NEGOTIATION49Ioni Bowcher
1021Leon D PoquetteRussia2024-05-14Feiner Bros QUALIFIED1Anna Fali
1022Morrow E AmigonAustralia2024-05-20Morlong Associates UNQUALIFIED43Bernardo Dominic
1023Kaitlin O OstroskyFrance2024-05-20Chanay, Jeffrey A Esq PROPOSAL20Elwin Sharvill
1024Isabel C DarakjyBrazil2024-05-24Feiner Bros RENEWAL30Asiya Javayant
1025Chavez Q RimUnited Kingdom2024-05-10Printing Dimensions QUALIFIED35Ioni Bowcher
1026Greenwood J MorascaFrance2024-05-07Buckley Miller Wright QUALIFIED2Stephen Shaw
1027Adams D DarakjyJapan2024-05-22Morlong Associates NEW70Stephen Shaw
1028Mujtaba X SlusarskiIndia2024-05-02Benton, John B Jr QUALIFIED98Amy Elsner
1029Rodrigues R RoysterSpain2024-05-22Dorl, James J Esq RENEWAL1Amy Elsner
1030Ricardo W BowleyBrazil2024-05-27Morlong Associates NEW61Bernardo Dominic
1031Wickens X RutaFrance2024-05-03Chemel, James L Cpa PROPOSAL93Ioni Bowcher
1032Faith L CampainJapan2024-05-17Dorl, James J Esq QUALIFIED90Xuxue Feng
1033Maisha S AmigonArgentina2024-05-16Commercial Press NEGOTIATION54Stephen Shaw
1034Adams E FlosiRussia2024-05-15Chemel, James L Cpa NEW69Anna Fali
1035Isabel L GauchoUnited Kingdom2024-04-28Buckley Miller Wright NEW26Onyama Limba
1036Claire N TollnerItaly2024-05-11Chemel, James L Cpa QUALIFIED16Anna Fali
1037Sinclair J RutaRussia2024-05-23Chapman, Ross E Esq UNQUALIFIED91Bernardo Dominic
1038Costa Z ShinkoItaly2024-05-09Buckley Miller Wright RENEWAL83Xuxue Feng
1039Cody X BowleyBrazil2024-04-28Chanay, Jeffrey A Esq UNQUALIFIED28Onyama Limba
1040Mujtaba L DarakjyGermany2024-05-06Rousseaux, Michael Esq QUALIFIED71Onyama Limba
1041Chavez X GauchoCanada2024-05-17Benton, John B Jr RENEWAL18Xuxue Feng
1042Cody R PaprockiFrance2024-05-16Printing Dimensions QUALIFIED37Elwin Sharvill
1043Ivar Q SchemmerFrance2024-05-13Chanay, Jeffrey A Esq NEW13Ivan Magalhaes
1044Nicolas F SchemmerCanada2024-05-17Chemel, James L Cpa PROPOSAL34Stephen Shaw
1045Emily A OstroskyGermany2024-05-20Printing Dimensions QUALIFIED28Ivan Magalhaes
1046Leon X KolmetzCanada2024-05-02Morlong Associates NEGOTIATION36Asiya Javayant
1047Julie T MacleadArgentina2024-05-15Rangoni Of Florence RENEWAL62Ivan Magalhaes
1048Julie V NickaItaly2024-05-27Benton, John B Jr NEW67Ivan Magalhaes
1049Aruna E StensethRussia2024-05-04Benton, John B Jr NEGOTIATION31Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Deepesh F VenereRussiaBernardo Dominic NEW
Faith Q RulapaughFranceAnna Fali UNQUALIFIED
Nicolas H MarrierItalyIvan Magalhaes PROPOSAL
Chavez N WieserCanadaAsiya Javayant NEGOTIATION
Leja E BriddickUnited KingdomAnna Fali QUALIFIED
Smith I MaletCanadaBernardo Dominic NEGOTIATION
Munro D StockhamItalyIoni Bowcher PROPOSAL
Octavia O CaldareraBrazilAmy Elsner PROPOSAL
Costa J AmigonRussiaStephen Shaw NEW
Antonio L CaldareraUnited KingdomStephen Shaw NEGOTIATION
Mujtaba R CaldareraIndiaAmy Elsner NEGOTIATION
Morrow F InouyeSpainIvan Magalhaes UNQUALIFIED
Mujtaba S AlbaresFranceOnyama Limba QUALIFIED
Aika X FollerGermanyOnyama Limba NEGOTIATION
Isabel T SaylorsIndiaOnyama Limba NEGOTIATION
Aditya P ButtIndiaIvan Magalhaes QUALIFIED
Arvin Z OldroydIndiaAmy Elsner RENEWAL
Antonio V MacleadGermanyXuxue Feng PROPOSAL
Maria C SergiArgentinaStephen Shaw NEW
Kadeem T StockhamItalyOnyama Limba NEGOTIATION
Maisha B PoquetteFranceAsiya Javayant NEGOTIATION
Salvatore W WieserIndiaAsiya Javayant QUALIFIED
Francesco J VenereAustraliaAsiya Javayant RENEWAL
Cody D FlosiSpainBernardo Dominic NEGOTIATION
Kadeem H RimUnited KingdomIoni Bowcher QUALIFIED
Costa R DoeGermanyStephen Shaw NEW
Jefferson X MarrierBrazilOnyama Limba NEW
Aika K AmigonSpainIoni Bowcher UNQUALIFIED
Sinclair L KuskoJapanOnyama Limba PROPOSAL
James H GarufiItalyXuxue Feng UNQUALIFIED
Leon X PerinCanadaAmy Elsner RENEWAL
Jeanfrancois X WaycottJapanAnna Fali PROPOSAL
Claire H InouyeFranceAmy Elsner NEW
Mujtaba L MarrierRussiaXuxue Feng NEW
Clifford E IturbideBrazilXuxue Feng UNQUALIFIED
James E TollnerSpainAsiya Javayant UNQUALIFIED
Misaki K OldroydFranceOnyama Limba PROPOSAL
Octavia Z OstroskyJapanAmy Elsner QUALIFIED
Faith Z BowleyCanadaOnyama Limba NEGOTIATION
Tony A MacleadRussiaBernardo Dominic QUALIFIED
Aditya S FollerSpainBernardo Dominic UNQUALIFIED
Leon Q WhobreySpainAsiya Javayant RENEWAL
Julie F PaprockiSpainAnna Fali UNQUALIFIED
Octavia X TollnerGermanyStephen Shaw NEW
Ivar B SchemmerArgentinaAnna Fali UNQUALIFIED
Faith T GauchoAustraliaStephen Shaw PROPOSAL
Emily T GillianGermanyStephen Shaw RENEWAL
Tony B RulapaughAustraliaStephen Shaw NEGOTIATION
Greenwood Z MaletCanadaElwin Sharvill RENEWAL
David O SaylorsItalyBernardo Dominic NEW
Frozen Columns
Name
Julie N Iturbide
Misaki K Glick
Darci W Stockham
Smith G Stockham
Antonio K Albares
Kaitlin S Stenseth
Alejandro F Gaucho
Jones N Dilliard
Aika E Rulapaugh
Leon C Campain
Arvin P Darakjy
Aditya A Dilliard
Octavia U Morasca
Isabel F Campain
Jefferson W Maclead
Smith L Caldarera
Claire W Maclead
Silvio D Waycott
Francesco V Royster
Murillo Q Nicka
Octavia D Venere
Misaki N Gaucho
Johnson K Malet
Francesco I Stenseth
Jeanfrancois E Venere
Nicolas X Tollner
Kadeem K Inouye
Murillo A Foller
Sinclair K Iturbide
Adams P Gaucho
Maisha T Marrier
Salvatore T Rulapaugh
Deepesh L Tollner
Isabel O Venere
Aruna M Saylors
Kadeem S Briddick
Misaki I Inouye
Rodrigues V Caudy
Rodrigues C Inouye
Claire L Whobrey
Greenwood G Malet
Francesco E Poquette
Francesco V Glick
Maisha W Schemmer
Arvin H Saylors
Octavia R Butt
Leja G Foller
Aditya X Sergi
Nicolas K Stenseth
Smith W Rim
IdCountryDate
1000Germany2024-05-15
1001Brazil2024-05-08
1002United Kingdom2024-05-22
1003Italy2024-04-28
1004United Kingdom2024-05-11
1005Argentina2024-05-10
1006Spain2024-05-17
1007Russia2024-05-22
1008Russia2024-05-19
1009United Kingdom2024-05-22
1010Germany2024-05-19
1011Japan2024-04-29
1012Spain2024-05-23
1013United Kingdom2024-05-21
1014Australia2024-05-19
1015Japan2024-05-17
1016Argentina2024-05-15
1017Spain2024-05-08
1018Brazil2024-05-13
1019Russia2024-05-24
1020Canada2024-05-27
1021France2024-05-19
1022India2024-05-17
1023Germany2024-05-04
1024United Kingdom2024-05-16
1025Italy2024-05-25
1026France2024-05-03
1027Japan2024-05-22
1028Brazil2024-05-27
1029United Kingdom2024-05-07
1030Brazil2024-05-07
1031France2024-05-22
1032Japan2024-05-15
1033Germany2024-05-05
1034Japan2024-05-25
1035Japan2024-04-30
1036Canada2024-05-22
1037Japan2024-05-11
1038Italy2024-05-12
1039United Kingdom2024-05-04
1040Italy2024-05-11
1041Canada2024-05-23
1042Japan2024-05-03
1043Canada2024-04-28
1044Canada2024-05-09
1045Brazil2024-04-30
1046Italy2024-05-12
1047Japan2024-05-13
1048Brazil2024-05-08
1049Germany2024-05-16

On-Demand Data

NameIdCountryDate
Leja W Stenseth1000Argentina2024-05-25
Murillo O Nicka1001Japan2024-05-05
James E Amigon1002Canada2024-05-23
Smith P Whobrey1003Russia2024-05-23
Morrow F Foller1004India2024-05-16
Darci T Briddick1005Germany2024-05-22
Adams Z Caudy1006France2024-05-18
Ricardo W Kusko1007Italy2024-05-15
Claire D Caudy1008Australia2024-05-14
Mayumi E Glick1009Argentina2024-05-07
Ricardo K Vocelka1010Japan2024-05-15
Kaitlin C Foller1011Canada2024-04-29
Stacey Y Rim1012Russia2024-05-11
Clifford U Marrier1013France2024-05-10
Mujtaba T Rulapaugh1014Russia2024-05-01
Stacey F Campain1015Italy2024-05-02
Emily H Glick1016Argentina2024-05-24
Smith H Maclead1017Japan2024-05-06
David G Nestle1018Italy2024-04-29
Arvin V Dilliard1019Canada2024-04-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar U PerinUnited KingdomOnyama Limba UNQUALIFIED
David T CaldareraUnited KingdomStephen Shaw NEW
Claire E StockhamArgentinaStephen Shaw PROPOSAL
Julie I StockhamIndiaOnyama Limba NEW
Claire E KuskoAustraliaOnyama Limba NEW
Jefferson F ChuiFranceXuxue Feng RENEWAL
Chavez B BologniaGermanyStephen Shaw UNQUALIFIED
Ricardo X SchemmerAustraliaBernardo Dominic UNQUALIFIED
James D BologniaFranceBernardo Dominic UNQUALIFIED
Wickens G VenereCanadaStephen Shaw RENEWAL
Wickens Y BowleySpainIvan Magalhaes QUALIFIED
Leja H OldroydRussiaStephen Shaw PROPOSAL
Faith G TollnerCanadaIvan Magalhaes NEGOTIATION
Murillo H WieserItalyXuxue Feng RENEWAL
Clifford Z RulapaughJapanStephen Shaw QUALIFIED
Chavez Z SlusarskiIndiaXuxue Feng RENEWAL
Leja I AmigonBrazilIvan Magalhaes QUALIFIED
Maria T CampainRussiaBernardo Dominic NEW
Jennifer H VocelkaUnited KingdomAsiya Javayant PROPOSAL
Rodrigues L StensethJapanAnna Fali PROPOSAL
Juan U GillianIndiaIoni Bowcher NEW
James U FollerArgentinaAmy Elsner NEW
Darci S GarufiRussiaAnna Fali RENEWAL
Murillo M SaylorsSpainBernardo Dominic UNQUALIFIED
Salvatore N GillianAustraliaOnyama Limba RENEWAL
Aruna X SergiFranceIoni Bowcher QUALIFIED
Murillo W CampainSpainXuxue Feng UNQUALIFIED
Ricardo J StockhamIndiaXuxue Feng QUALIFIED
Mujtaba U StensethItalyBernardo Dominic NEW
Clifford L WieserUnited KingdomStephen Shaw RENEWAL
Jeanfrancois K ButtIndiaAmy Elsner PROPOSAL
Mujtaba M NickaItalyOnyama Limba NEGOTIATION
Murillo F InouyeFranceIoni Bowcher QUALIFIED
Rodrigues P FollerFranceXuxue Feng PROPOSAL
Claire L MaletItalyXuxue Feng QUALIFIED
Faith M ShinkoFranceElwin Sharvill UNQUALIFIED
Stacey D InouyeFranceAsiya Javayant PROPOSAL
Leja G StockhamItalyOnyama Limba NEW
Salvatore O TollnerAustraliaOnyama Limba NEGOTIATION
Izzy M MorascaAustraliaStephen Shaw RENEWAL

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