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
Isabel Q DoeCanadaStephen Shaw RENEWAL
Maria L TollnerJapanOnyama Limba RENEWAL
Cody Y MaletGermanyIoni Bowcher QUALIFIED
Jennifer L CaudySpainIvan Magalhaes QUALIFIED
Ricardo E InouyeItalyXuxue Feng PROPOSAL
Francesco G PerinCanadaOnyama Limba RENEWAL
Claire Y IturbideBrazilAnna Fali PROPOSAL
Chavez L RoysterCanadaIoni Bowcher PROPOSAL
Jeanfrancois A FerenczGermanyBernardo Dominic NEW
Adams V KolmetzUnited KingdomIoni Bowcher UNQUALIFIED
Kaitlin A WieserSpainAmy Elsner RENEWAL
Chavez L RoysterGermanyAsiya Javayant UNQUALIFIED
Leon O IturbideGermanyElwin Sharvill PROPOSAL
Ashley Y GillianBrazilXuxue Feng QUALIFIED
James P GillianBrazilBernardo Dominic UNQUALIFIED
Darci S MaletIndiaXuxue Feng PROPOSAL
Leja X WaycottCanadaBernardo Dominic PROPOSAL
Francesco B MacleadSpainIoni Bowcher UNQUALIFIED
Kaitlin F PerinFranceBernardo Dominic RENEWAL
Faith J KuskoRussiaIvan Magalhaes QUALIFIED
Johnson V BologniaBrazilStephen Shaw NEW
Faith W PerinJapanStephen Shaw QUALIFIED
Leon W SergiCanadaAsiya Javayant UNQUALIFIED
Izzy W GillianCanadaAmy Elsner NEGOTIATION
Jeanfrancois I CampainItalyElwin Sharvill RENEWAL
Adams C WhobreyCanadaIoni Bowcher UNQUALIFIED
David Q GauchoIndiaIoni Bowcher NEGOTIATION
Misaki A FerenczGermanyXuxue Feng NEW
Francesco W SlusarskiJapanOnyama Limba NEW
Maria D OldroydItalyAsiya Javayant NEGOTIATION
Cody E SaylorsArgentinaXuxue Feng NEW
Costa Q WhobreyItalyBernardo Dominic RENEWAL
Aditya M InouyeRussiaAnna Fali PROPOSAL
David Y KolmetzIndiaStephen Shaw UNQUALIFIED
Antonio T FlosiCanadaXuxue Feng NEGOTIATION
Adams C WhobreyCanadaIoni Bowcher RENEWAL
Johnson Y IturbideGermanyElwin Sharvill QUALIFIED
Silvio T MaletJapanXuxue Feng PROPOSAL
Faith S BriddickRussiaAmy Elsner NEGOTIATION
Octavia M DarakjyArgentinaIvan Magalhaes NEW
Silvio S GarufiBrazilOnyama Limba NEW
Antonio A DoeGermanyAsiya Javayant NEW
Greenwood A StensethSpainAsiya Javayant NEW
Faith T OldroydCanadaElwin Sharvill RENEWAL
Maria K BowleyItalyXuxue Feng PROPOSAL
Greenwood F SergiJapanAsiya Javayant NEW
Greenwood G WaycottBrazilOnyama Limba RENEWAL
Claire P MorascaIndiaBernardo Dominic NEW
Aruna S StockhamItalyOnyama Limba NEGOTIATION
Rodrigues Y GauchoBrazilElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Ricardo S FerenczJapanOnyama Limba QUALIFIED
Faith E WaycottRussiaStephen Shaw RENEWAL
James S WaycottArgentinaAsiya Javayant NEW
Julie R GillianSpainOnyama Limba UNQUALIFIED
Ivar H SergiJapanElwin Sharvill QUALIFIED
Morrow Z PaprockiBrazilAmy Elsner UNQUALIFIED
David V BowleyUnited KingdomElwin Sharvill PROPOSAL
Sinclair O OstroskyBrazilXuxue Feng PROPOSAL
Aruna C MarrierBrazilAmy Elsner PROPOSAL
Kadeem D GlickFranceXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James B GillianAustralia2024-06-13Benton, John B Jr RENEWAL88Xuxue Feng
1001Leja A AlbaresCanada2024-05-23King, Christopher A Esq NEW50Elwin Sharvill
1002Cody B TollnerBrazil2024-06-17Dorl, James J Esq UNQUALIFIED55Elwin Sharvill
1003Jeanfrancois H MaletJapan2024-06-09Chemel, James L Cpa PROPOSAL13Bernardo Dominic
1004Ivar T RoysterGermany2024-06-11Chapman, Ross E Esq PROPOSAL60Amy Elsner
1005Leon Y FollerRussia2024-05-25Commercial Press UNQUALIFIED24Elwin Sharvill
1006Aruna T RutaGermany2024-06-12Buckley Miller Wright NEGOTIATION48Anna Fali
1007Smith H DilliardSpain2024-05-28Feltz Printing Service NEGOTIATION25Anna Fali
1008Faith C SaylorsJapan2024-05-27Rousseaux, Michael Esq UNQUALIFIED71Elwin Sharvill
1009Ricardo T MaletCanada2024-05-27Dorl, James J Esq QUALIFIED1Asiya Javayant
1010Johnson B NestleGermany2024-05-30Chanay, Jeffrey A Esq NEGOTIATION53Onyama Limba
1011Rodrigues L GillianJapan2024-06-13Truhlar And Truhlar Attys RENEWAL46Xuxue Feng
1012Claire C NickaAustralia2024-05-22Buckley Miller Wright NEGOTIATION62Amy Elsner
1013Emily K CampainGermany2024-06-03Dorl, James J Esq NEGOTIATION7Elwin Sharvill
1014Misaki Z InouyeSpain2024-06-09Feltz Printing Service UNQUALIFIED24Xuxue Feng
1015Faith R NestleJapan2024-05-22Rangoni Of Florence NEGOTIATION43Amy Elsner
1016Kaitlin K BologniaJapan2024-05-25Commercial Press NEGOTIATION61Elwin Sharvill
1017Maria X BologniaCanada2024-06-09Chapman, Ross E Esq RENEWAL27Bernardo Dominic
1018Kaitlin R CampainCanada2024-06-15King, Christopher A Esq PROPOSAL5Anna Fali
1019Ivar K StensethGermany2024-05-28Rousseaux, Michael Esq NEGOTIATION74Stephen Shaw
1020Ivar W BriddickAustralia2024-06-06Morlong Associates QUALIFIED74Stephen Shaw
1021Emily I OstroskyArgentina2024-06-07Rousseaux, Michael Esq NEW14Elwin Sharvill
1022Tony P KolmetzCanada2024-06-06Benton, John B Jr RENEWAL66Onyama Limba
1023Arvin S AlbaresGermany2024-06-14Commercial Press QUALIFIED6Xuxue Feng
1024Murillo G FollerRussia2024-06-15Benton, John B Jr UNQUALIFIED8Ioni Bowcher
1025Octavia W DarakjyCanada2024-06-02Feltz Printing Service NEW28Bernardo Dominic
1026Tony O FlosiRussia2024-05-22Printing Dimensions NEW46Onyama Limba
1027Misaki G AmigonArgentina2024-05-23Buckley Miller Wright PROPOSAL98Amy Elsner
1028Greenwood O ButtArgentina2024-05-21Chemel, James L Cpa UNQUALIFIED16Ivan Magalhaes
1029Aruna U SergiCanada2024-06-02Dorl, James J Esq RENEWAL61Ioni Bowcher
1030Silvio I CampainBrazil2024-05-20King, Christopher A Esq NEGOTIATION93Amy Elsner
1031Mayumi G PoquetteFrance2024-06-05Dorl, James J Esq RENEWAL90Ivan Magalhaes
1032Ricardo Z SaylorsGermany2024-06-08Benton, John B Jr QUALIFIED52Elwin Sharvill
1033Silvio O CaudySpain2024-06-12Chanay, Jeffrey A Esq PROPOSAL86Bernardo Dominic
1034Darci U GlickFrance2024-05-24Morlong Associates QUALIFIED32Xuxue Feng
1035Chavez L ButtGermany2024-05-27Printing Dimensions NEW11Bernardo Dominic
1036Aika U RutaSpain2024-06-15Dorl, James J Esq PROPOSAL21Bernardo Dominic
1037Francesco A SchemmerFrance2024-05-31Rangoni Of Florence NEGOTIATION57Stephen Shaw
1038Rodrigues V ButtSpain2024-05-20Truhlar And Truhlar Attys NEW59Ivan Magalhaes
1039Francesco V DoeJapan2024-06-07Chanay, Jeffrey A Esq RENEWAL15Ioni Bowcher
1040Isabel S BriddickJapan2024-06-08King, Christopher A Esq NEGOTIATION4Anna Fali
1041Jennifer W PoquetteIndia2024-06-10Feltz Printing Service UNQUALIFIED51Elwin Sharvill
1042Sinclair T ButtIndia2024-06-14Feiner Bros NEW18Stephen Shaw
1043Morrow K SergiSpain2024-05-21Chemel, James L Cpa NEGOTIATION11Ivan Magalhaes
1044Salvatore G DilliardFrance2024-05-30Benton, John B Jr PROPOSAL21Amy Elsner
1045Isabel T RoysterJapan2024-05-22Buckley Miller Wright UNQUALIFIED4Asiya Javayant
1046Antonio L MorascaBrazil2024-05-27Morlong Associates RENEWAL45Ioni Bowcher
1047Adams Y RimUnited Kingdom2024-06-06Chemel, James L Cpa NEW87Bernardo Dominic
1048Cody Q FerenczRussia2024-06-07Buckley Miller Wright QUALIFIED62Amy Elsner
1049Nicolas X RoysterFrance2024-06-01Feltz Printing Service NEW59Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Faith T SergiJapanIoni Bowcher PROPOSAL
Darci H OldroydUnited KingdomAnna Fali NEW
Isabel V RutaCanadaIoni Bowcher NEW
Isabel N DarakjyGermanyAsiya Javayant QUALIFIED
Greenwood R FlosiJapanElwin Sharvill NEGOTIATION
Cody N AmigonBrazilElwin Sharvill QUALIFIED
Juan I RutaCanadaIoni Bowcher QUALIFIED
Deepesh U DilliardBrazilOnyama Limba RENEWAL
Antonio K RimItalyStephen Shaw RENEWAL
Murillo M AlbaresUnited KingdomOnyama Limba PROPOSAL
Claire M RutaItalyIvan Magalhaes QUALIFIED
Darci Y IturbideItalyStephen Shaw NEGOTIATION
Murillo B CaudyFranceAnna Fali UNQUALIFIED
Darci N StockhamRussiaIoni Bowcher QUALIFIED
Mayumi V CampainItalyIoni Bowcher UNQUALIFIED
Mayumi W FlosiItalyAmy Elsner UNQUALIFIED
Aika A MacleadIndiaAmy Elsner PROPOSAL
Maria R ChuiUnited KingdomIoni Bowcher NEW
Kadeem Z RimJapanAsiya Javayant NEW
Maisha Y BologniaArgentinaAsiya Javayant RENEWAL
Aditya D MorascaUnited KingdomElwin Sharvill QUALIFIED
Salvatore K KolmetzFranceStephen Shaw NEW
Mayumi E FerenczGermanyIoni Bowcher PROPOSAL
Leon I NestleIndiaOnyama Limba UNQUALIFIED
Antonio S RoysterFranceIoni Bowcher NEW
Mayumi L CaudyFranceElwin Sharvill QUALIFIED
Murillo M MaletCanadaBernardo Dominic UNQUALIFIED
Adams K NestleItalyAsiya Javayant QUALIFIED
Ashley V NickaIndiaStephen Shaw NEGOTIATION
Julie B MacleadIndiaStephen Shaw PROPOSAL
Cody G ButtUnited KingdomStephen Shaw QUALIFIED
Cody Z CaudyFranceAsiya Javayant RENEWAL
Adams I AmigonIndiaAmy Elsner NEGOTIATION
Darci W DilliardSpainOnyama Limba UNQUALIFIED
Rodrigues H AlbaresItalyStephen Shaw NEW
Cody M CaudyAustraliaAnna Fali UNQUALIFIED
Greenwood L PoquetteFranceElwin Sharvill QUALIFIED
Francesco L PerinSpainAsiya Javayant NEW
Sinclair V SergiGermanyXuxue Feng PROPOSAL
Isabel O GillianArgentinaIoni Bowcher UNQUALIFIED
Kaitlin C WaycottRussiaIoni Bowcher NEGOTIATION
Leon O VocelkaArgentinaAmy Elsner UNQUALIFIED
Antonio W SchemmerItalyAsiya Javayant RENEWAL
Stacey B ChuiSpainIvan Magalhaes QUALIFIED
Ricardo M GauchoArgentinaOnyama Limba NEGOTIATION
Emily M TollnerGermanyElwin Sharvill PROPOSAL
Darci U DilliardFranceBernardo Dominic RENEWAL
Salvatore N MacleadBrazilBernardo Dominic NEGOTIATION
Claire I NestleAustraliaOnyama Limba UNQUALIFIED
Rodrigues K RoysterUnited KingdomAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Adams T Venere
Juan T Flosi
Stacey I Inouye
Maria L Saylors
Murillo S Waycott
Leja B Poquette
Izzy O Maclead
Rodrigues A Tollner
David O Figeroa
Stacey S Maclead
Aruna G Gillian
Aika X Flosi
Murillo R Gaucho
Greenwood N Nestle
Maria J Stockham
Sinclair S Darakjy
Izzy D Venere
Maisha W Nestle
Darci K Schemmer
Ricardo Y Iturbide
Munro M Bowley
Stacey K Morasca
Clifford V Stockham
Antonio U Maclead
Izzy N Amigon
Murillo E Schemmer
Kadeem B Albares
Francesco G Sergi
Leon W Ferencz
Misaki F Foller
Aditya O Bowley
Munro G Dilliard
Arvin M Stenseth
Johnson Q Figeroa
Munro F Kusko
Mujtaba U Gaucho
Salvatore I Schemmer
Salvatore N Malet
Emily C Bolognia
Maria F Venere
Murillo K Wieser
Ricardo G Venere
Emily M Sergi
Johnson G Ferencz
Leon H Glick
Ashley W Vocelka
Silvio H Caldarera
Ivar M Glick
Julie B Ostrosky
Maisha O Iturbide
IdCountryDate
1000Germany2024-06-07
1001Australia2024-06-08
1002Japan2024-05-24
1003Spain2024-06-12
1004Australia2024-06-10
1005United Kingdom2024-05-31
1006Spain2024-06-01
1007Brazil2024-05-29
1008Germany2024-06-10
1009Canada2024-05-22
1010Spain2024-06-13
1011Spain2024-06-03
1012France2024-05-22
1013Germany2024-06-05
1014France2024-05-22
1015India2024-06-02
1016Japan2024-05-24
1017Canada2024-06-10
1018Australia2024-05-22
1019Canada2024-06-15
1020Italy2024-05-29
1021Germany2024-06-03
1022Germany2024-06-02
1023Japan2024-06-02
1024India2024-06-18
1025Argentina2024-06-17
1026Italy2024-05-28
1027Italy2024-06-05
1028Brazil2024-06-17
1029Argentina2024-05-23
1030Germany2024-06-01
1031Australia2024-05-31
1032Spain2024-06-16
1033Russia2024-06-08
1034Argentina2024-05-20
1035Italy2024-06-17
1036Canada2024-06-07
1037Italy2024-06-07
1038Spain2024-05-25
1039Russia2024-05-24
1040United Kingdom2024-06-13
1041Australia2024-05-26
1042Russia2024-06-11
1043Canada2024-05-21
1044Australia2024-05-25
1045Canada2024-05-28
1046Italy2024-05-28
1047United Kingdom2024-06-18
1048Italy2024-05-28
1049Brazil2024-06-16

On-Demand Data

NameIdCountryDate
Murillo B Poquette1000Italy2024-06-11
Jeanfrancois S Malet1001Brazil2024-05-27
Rodrigues S Malet1002Brazil2024-05-29
Leja R Campain1003Australia2024-05-25
Isabel V Gaucho1004Brazil2024-06-09
Claire X Briddick1005Russia2024-06-14
Arvin D Nestle1006Japan2024-06-10
Francesco G Briddick1007Brazil2024-06-05
Emily E Wieser1008Argentina2024-06-09
Wickens F Garufi1009Japan2024-06-04
Juan K Nicka1010France2024-05-30
Leja M Caudy1011Japan2024-06-13
Aika L Chui1012Brazil2024-06-07
Mayumi I Malet1013Russia2024-06-08
Stacey Y Ostrosky1014Australia2024-05-26
Kadeem F Kolmetz1015Germany2024-06-10
Antonio N Caldarera1016Brazil2024-06-04
Claire H Amigon1017India2024-06-07
Emily C Oldroyd1018Brazil2024-06-11
James V Rulapaugh1019France2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody X BologniaRussiaAnna Fali NEW
Cody J MorascaCanadaIoni Bowcher UNQUALIFIED
Jones N PoquetteGermanyIvan Magalhaes UNQUALIFIED
Ashley I IturbideRussiaIoni Bowcher QUALIFIED
Mujtaba S FigeroaAustraliaXuxue Feng NEGOTIATION
Aditya V WhobreyGermanyIvan Magalhaes RENEWAL
Aika Z OldroydFranceElwin Sharvill NEW
Alejandro X MaletBrazilAnna Fali UNQUALIFIED
Salvatore W MarrierRussiaOnyama Limba NEGOTIATION
Aruna V MorascaCanadaIvan Magalhaes NEW
Stacey T SchemmerAustraliaXuxue Feng NEGOTIATION
Nicolas T RimGermanyBernardo Dominic NEW
Stacey Q MarrierCanadaAmy Elsner QUALIFIED
Murillo R NestleItalyXuxue Feng QUALIFIED
Francesco U ButtGermanyIvan Magalhaes QUALIFIED
Jones C MaletBrazilXuxue Feng PROPOSAL
Aruna F SergiRussiaAnna Fali PROPOSAL
Ashley L VenereUnited KingdomBernardo Dominic QUALIFIED
Maria H SchemmerIndiaAnna Fali RENEWAL
Chavez O VenereIndiaElwin Sharvill QUALIFIED
Arvin P AlbaresRussiaIvan Magalhaes NEW
Izzy T PerinRussiaElwin Sharvill QUALIFIED
Aditya M KolmetzArgentinaAnna Fali PROPOSAL
Nicolas L MarrierArgentinaElwin Sharvill RENEWAL
Francesco N StensethSpainOnyama Limba NEGOTIATION
Octavia Z DoeSpainIvan Magalhaes RENEWAL
James U ChuiArgentinaAnna Fali QUALIFIED
Munro D SaylorsJapanOnyama Limba NEGOTIATION
Ricardo A GlickItalyAnna Fali UNQUALIFIED
Darci M BriddickItalyAsiya Javayant NEW
Sinclair N WieserAustraliaXuxue Feng UNQUALIFIED
Adams R RoysterCanadaIoni Bowcher QUALIFIED
Salvatore A IturbideCanadaAmy Elsner NEW
Ivar P CampainUnited KingdomXuxue Feng NEW
Nicolas F WieserSpainElwin Sharvill PROPOSAL
Misaki D FollerJapanBernardo Dominic PROPOSAL
Stacey V IturbideArgentinaXuxue Feng PROPOSAL
Juan U FerenczUnited KingdomIvan Magalhaes QUALIFIED
Claire F FigeroaItalyAsiya Javayant PROPOSAL
Emily S GarufiItalyXuxue Feng 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>