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
Stacey F SchemmerSpainAnna Fali PROPOSAL
Kadeem F OstroskyItalyStephen Shaw UNQUALIFIED
James A ShinkoArgentinaXuxue Feng QUALIFIED
Sinclair X MaletAustraliaStephen Shaw UNQUALIFIED
Ricardo B DoeAustraliaIoni Bowcher NEW
Munro N GarufiGermanyStephen Shaw UNQUALIFIED
Ricardo P MaletUnited KingdomBernardo Dominic PROPOSAL
Aika I NickaGermanyStephen Shaw PROPOSAL
Nicolas T FigeroaAustraliaStephen Shaw NEGOTIATION
Antonio M RoysterItalyAmy Elsner NEW
Jeanfrancois R SchemmerArgentinaAnna Fali QUALIFIED
Adams H AlbaresCanadaElwin Sharvill PROPOSAL
Costa D GarufiFranceIoni Bowcher PROPOSAL
Mayumi F GauchoSpainStephen Shaw NEW
Juan B CaldareraIndiaIvan Magalhaes UNQUALIFIED
Mujtaba T FlosiSpainIoni Bowcher NEW
Emily Z TollnerGermanyAnna Fali NEW
Octavia I MaletAustraliaIvan Magalhaes PROPOSAL
Darci T KuskoIndiaAnna Fali PROPOSAL
Silvio N StockhamAustraliaXuxue Feng UNQUALIFIED
Jefferson M VocelkaFranceStephen Shaw NEGOTIATION
Adams R FollerArgentinaElwin Sharvill RENEWAL
Darci E DoeRussiaElwin Sharvill QUALIFIED
Aditya V GlickRussiaAnna Fali NEGOTIATION
Izzy N TollnerBrazilStephen Shaw NEGOTIATION
Leja V GlickUnited KingdomIvan Magalhaes QUALIFIED
Jefferson L WaycottBrazilIoni Bowcher NEGOTIATION
Salvatore L FigeroaArgentinaIoni Bowcher RENEWAL
Jeanfrancois B StockhamSpainAmy Elsner UNQUALIFIED
Claire R SlusarskiFranceOnyama Limba PROPOSAL
Clifford V SlusarskiRussiaAnna Fali UNQUALIFIED
Maisha F ChuiCanadaAsiya Javayant NEW
Chavez U BowleyAustraliaIvan Magalhaes RENEWAL
Aruna O SchemmerBrazilOnyama Limba PROPOSAL
Francesco I CaldareraAustraliaStephen Shaw NEW
Antonio Z RoysterSpainAsiya Javayant PROPOSAL
Octavia F MorascaSpainOnyama Limba QUALIFIED
Jeanfrancois R RutaItalyAmy Elsner NEW
Jones Q InouyeItalyOnyama Limba NEW
Nicolas L StensethIndiaAsiya Javayant NEW
Rodrigues P WieserBrazilIvan Magalhaes NEW
Clifford Z MaletBrazilAnna Fali QUALIFIED
Nicolas T DilliardJapanAmy Elsner NEW
Sinclair Z FollerSpainBernardo Dominic UNQUALIFIED
Kadeem G RulapaughIndiaElwin Sharvill UNQUALIFIED
Aika I AmigonBrazilAsiya Javayant PROPOSAL
Deepesh U RoysterArgentinaOnyama Limba PROPOSAL
Munro X FollerIndiaBernardo Dominic NEW
Izzy R RimCanadaXuxue Feng RENEWAL
Leja E MacleadItalyXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Alejandro O FerenczArgentinaElwin Sharvill RENEWAL
Octavia C RimCanadaAmy Elsner RENEWAL
Kadeem N MaletJapanAmy Elsner NEW
Morrow U GillianSpainAnna Fali QUALIFIED
Faith N SaylorsBrazilOnyama Limba PROPOSAL
Clifford H GarufiSpainBernardo Dominic PROPOSAL
Arvin L DilliardCanadaIoni Bowcher NEGOTIATION
Jennifer M KuskoGermanyXuxue Feng UNQUALIFIED
Aika I NickaItalyElwin Sharvill NEGOTIATION
Ricardo M NestleIndiaAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia S SergiFrance2025-05-26Rousseaux, Michael Esq NEW30Ivan Magalhaes
1001Stacey D MacleadSpain2025-05-30Rousseaux, Michael Esq QUALIFIED55Xuxue Feng
1002Smith N RulapaughJapan2025-06-10Printing Dimensions PROPOSAL51Stephen Shaw
1003Izzy S MacleadFrance2025-05-26Benton, John B Jr QUALIFIED82Ivan Magalhaes
1004Leja S FerenczIndia2025-05-20Benton, John B Jr NEW47Amy Elsner
1005Chavez N VocelkaFrance2025-05-26Chemel, James L Cpa UNQUALIFIED83Amy Elsner
1006Juan D ButtJapan2025-05-18King, Christopher A Esq UNQUALIFIED18Onyama Limba
1007Isabel T PerinUnited Kingdom2025-06-07Dorl, James J Esq RENEWAL97Onyama Limba
1008Darci K OstroskyGermany2025-05-27Benton, John B Jr PROPOSAL36Onyama Limba
1009Kaitlin D OstroskyIndia2025-05-30Feltz Printing Service PROPOSAL83Elwin Sharvill
1010Izzy Y RutaArgentina2025-05-26Rousseaux, Michael Esq UNQUALIFIED61Xuxue Feng
1011Maria C AlbaresJapan2025-06-08Rousseaux, Michael Esq QUALIFIED11Onyama Limba
1012Aditya L MaletCanada2025-05-31King, Christopher A Esq RENEWAL74Amy Elsner
1013Faith F VocelkaJapan2025-06-08Commercial Press UNQUALIFIED83Elwin Sharvill
1014Jennifer U PaprockiIndia2025-06-05Feiner Bros NEGOTIATION49Elwin Sharvill
1015Aditya Y WhobreyUnited Kingdom2025-05-27Dorl, James J Esq UNQUALIFIED69Bernardo Dominic
1016Jeanfrancois X FlosiItaly2025-06-06Commercial Press RENEWAL19Xuxue Feng
1017Aditya T SlusarskiJapan2025-06-06Buckley Miller Wright NEW67Bernardo Dominic
1018Murillo B ButtArgentina2025-05-22Rousseaux, Michael Esq NEGOTIATION56Xuxue Feng
1019Arvin E NickaIndia2025-06-06Rousseaux, Michael Esq QUALIFIED25Bernardo Dominic
1020Johnson Z InouyeAustralia2025-05-18Chanay, Jeffrey A Esq RENEWAL57Elwin Sharvill
1021Murillo J ChuiSpain2025-06-14Printing Dimensions RENEWAL73Elwin Sharvill
1022Emily O MaletArgentina2025-06-08Rousseaux, Michael Esq PROPOSAL99Amy Elsner
1023Emily H GlickJapan2025-06-08Benton, John B Jr UNQUALIFIED88Onyama Limba
1024Izzy F RimCanada2025-06-11Printing Dimensions RENEWAL17Bernardo Dominic
1025Arvin H MarrierFrance2025-05-30Morlong Associates QUALIFIED26Amy Elsner
1026Jefferson B BriddickAustralia2025-05-20Chemel, James L Cpa NEW80Ioni Bowcher
1027Isabel T SlusarskiRussia2025-06-07Commercial Press NEGOTIATION69Elwin Sharvill
1028Morrow F VenereCanada2025-06-15Morlong Associates RENEWAL54Onyama Limba
1029Johnson Y PoquetteBrazil2025-06-01Feiner Bros RENEWAL5Amy Elsner
1030Kaitlin W BriddickAustralia2025-05-21Morlong Associates RENEWAL66Elwin Sharvill
1031Leon O CaudyIndia2025-05-26Morlong Associates NEGOTIATION94Anna Fali
1032Smith C MarrierBrazil2025-05-29King, Christopher A Esq PROPOSAL46Bernardo Dominic
1033Jones V SaylorsItaly2025-06-11Feltz Printing Service NEW62Ioni Bowcher
1034Mayumi F BowleyFrance2025-05-31Dorl, James J Esq PROPOSAL48Bernardo Dominic
1035Costa Y SaylorsRussia2025-05-28Feltz Printing Service QUALIFIED81Asiya Javayant
1036Leja H VenereSpain2025-05-26Printing Dimensions PROPOSAL22Onyama Limba
1037Octavia F CampainArgentina2025-06-09King, Christopher A Esq PROPOSAL51Ivan Magalhaes
1038Clifford A RoysterIndia2025-05-28King, Christopher A Esq PROPOSAL14Xuxue Feng
1039Adams A RutaJapan2025-05-19Feltz Printing Service UNQUALIFIED70Ioni Bowcher
1040Julie D NestleAustralia2025-05-28Truhlar And Truhlar Attys PROPOSAL25Ioni Bowcher
1041Francesco J BowleyAustralia2025-05-31Rangoni Of Florence QUALIFIED14Stephen Shaw
1042Claire P RimUnited Kingdom2025-05-23Rangoni Of Florence NEW37Xuxue Feng
1043Maria Y MacleadSpain2025-05-26Feltz Printing Service NEGOTIATION47Ioni Bowcher
1044Faith P DilliardIndia2025-06-13Morlong Associates NEGOTIATION69Ivan Magalhaes
1045Stacey I RulapaughItaly2025-05-29Rangoni Of Florence UNQUALIFIED90Ioni Bowcher
1046Antonio C FerenczIndia2025-06-06Buckley Miller Wright NEW66Onyama Limba
1047Cody P InouyeFrance2025-05-19Printing Dimensions QUALIFIED98Bernardo Dominic
1048Claire J DarakjyIndia2025-05-19Feltz Printing Service QUALIFIED23Elwin Sharvill
1049Jones J MaletAustralia2025-05-30Morlong Associates RENEWAL3Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Jones G OldroydCanadaAmy Elsner NEW
Leon F BowleyGermanyOnyama Limba PROPOSAL
Emily R StockhamGermanyElwin Sharvill PROPOSAL
Ivar R PaprockiRussiaIvan Magalhaes NEW
Jefferson E InouyeRussiaAsiya Javayant UNQUALIFIED
Stacey R RulapaughBrazilOnyama Limba RENEWAL
Munro C BriddickSpainOnyama Limba PROPOSAL
Murillo N DoeJapanAmy Elsner PROPOSAL
Jeanfrancois V MarrierRussiaXuxue Feng QUALIFIED
Adams W GillianAustraliaOnyama Limba NEW
Francesco O IturbideItalyIvan Magalhaes NEGOTIATION
Johnson R SlusarskiGermanyAmy Elsner UNQUALIFIED
Jennifer T ShinkoJapanOnyama Limba QUALIFIED
Rodrigues Z SlusarskiJapanElwin Sharvill NEW
Aditya N PerinUnited KingdomXuxue Feng QUALIFIED
Ivar T RutaAustraliaXuxue Feng NEGOTIATION
Chavez K TollnerRussiaOnyama Limba NEW
Francesco S RulapaughGermanyAnna Fali NEGOTIATION
Deepesh U PoquetteSpainBernardo Dominic PROPOSAL
Francesco F BriddickRussiaBernardo Dominic RENEWAL
Jennifer A FollerBrazilElwin Sharvill NEGOTIATION
Jennifer T RoysterBrazilStephen Shaw RENEWAL
Isabel Z ButtJapanAnna Fali RENEWAL
Mujtaba O WieserGermanyIvan Magalhaes NEGOTIATION
Silvio V MorascaSpainIvan Magalhaes NEGOTIATION
Kadeem V NickaArgentinaElwin Sharvill NEW
Misaki O GauchoItalyAmy Elsner NEW
Costa D WaycottSpainAmy Elsner QUALIFIED
Kadeem T BriddickJapanAnna Fali NEW
Munro T DilliardArgentinaIoni Bowcher NEW
Aruna F NestleSpainOnyama Limba QUALIFIED
Julie Y AmigonFranceBernardo Dominic UNQUALIFIED
Julie V KolmetzUnited KingdomAmy Elsner NEW
Wickens Y PoquetteIndiaOnyama Limba PROPOSAL
Munro N FigeroaGermanyElwin Sharvill NEW
Nicolas B VocelkaFranceIoni Bowcher RENEWAL
Jefferson Y StensethArgentinaIoni Bowcher NEW
Cody F VocelkaCanadaIoni Bowcher PROPOSAL
Ashley T KuskoCanadaIoni Bowcher UNQUALIFIED
Izzy B PerinBrazilIvan Magalhaes NEW
David Z DilliardBrazilAsiya Javayant QUALIFIED
Antonio L BologniaFranceStephen Shaw NEW
Maisha N FlosiRussiaElwin Sharvill PROPOSAL
Stacey B StensethBrazilBernardo Dominic PROPOSAL
Silvio F BowleySpainIoni Bowcher PROPOSAL
Mujtaba Q RulapaughSpainStephen Shaw PROPOSAL
James R MacleadAustraliaAsiya Javayant NEW
James O PoquetteAustraliaStephen Shaw NEW
Leon Y CampainAustraliaAnna Fali RENEWAL
Faith M BriddickArgentinaBernardo Dominic PROPOSAL
Frozen Columns
Name
Izzy M Albares
Maisha O Kolmetz
Jefferson U Malet
Maisha R Nicka
Greenwood X Gillian
Octavia D Foller
Maria W Ferencz
Johnson A Sergi
Maisha Z Bowley
Ashley N Venere
Francesco U Caudy
Izzy V Albares
Johnson P Kolmetz
Jones W Caldarera
Aruna P Waycott
Rodrigues B Campain
Murillo C Darakjy
Silvio Z Figeroa
Adams Y Stenseth
Jefferson B Glick
Tony S Stenseth
Stacey I Waycott
Nicolas L Stockham
Aruna G Venere
Jeanfrancois Y Paprocki
Tony M Rim
Faith S Morasca
Stacey Y Morasca
Murillo R Malet
Darci L Malet
Isabel F Iturbide
Cody K Caudy
Chavez U Waycott
Kadeem C Stockham
Cody V Kolmetz
Deepesh I Poquette
Clifford T Sergi
Octavia K Dilliard
Deepesh U Tollner
Arvin F Kolmetz
Aika G Tollner
Jefferson Q Gillian
Silvio M Briddick
Jennifer H Whobrey
Jones M Nestle
Maria T Gaucho
Arvin N Paprocki
Munro G Marrier
Juan W Darakjy
Alejandro K Perin
IdCountryDate
1000Canada2025-06-10
1001Spain2025-05-19
1002Spain2025-05-20
1003Spain2025-06-14
1004Germany2025-05-30
1005United Kingdom2025-06-08
1006India2025-06-07
1007United Kingdom2025-06-13
1008Japan2025-06-07
1009Argentina2025-06-05
1010Spain2025-06-12
1011Canada2025-06-04
1012Canada2025-06-15
1013Argentina2025-05-17
1014Argentina2025-06-14
1015France2025-06-07
1016France2025-06-01
1017France2025-06-13
1018Brazil2025-05-24
1019Germany2025-06-06
1020Russia2025-06-08
1021United Kingdom2025-05-26
1022Brazil2025-05-24
1023United Kingdom2025-05-30
1024France2025-05-20
1025India2025-05-19
1026Japan2025-06-04
1027Russia2025-06-01
1028Canada2025-05-23
1029Argentina2025-05-18
1030Russia2025-06-15
1031France2025-05-22
1032Italy2025-05-20
1033Spain2025-06-11
1034Germany2025-05-28
1035Russia2025-05-29
1036France2025-06-13
1037Canada2025-05-20
1038Italy2025-06-15
1039Russia2025-05-25
1040Russia2025-05-25
1041Brazil2025-06-05
1042Japan2025-06-10
1043France2025-06-11
1044Canada2025-06-12
1045Australia2025-05-27
1046France2025-06-10
1047India2025-05-20
1048India2025-06-14
1049Argentina2025-05-31

On-Demand Data

NameIdCountryDate
Wickens A Morasca1000Brazil2025-05-24
Silvio Q Schemmer1001France2025-06-09
Tony U Caudy1002Spain2025-06-11
Johnson H Iturbide1003Brazil2025-06-04
Alejandro I Kusko1004Germany2025-06-01
Leon Y Marrier1005Brazil2025-06-03
Izzy K Whobrey1006Germany2025-05-23
Jones U Perin1007India2025-05-27
Munro C Amigon1008Canada2025-06-15
Maisha O Figeroa1009Spain2025-06-06
Murillo K Rim1010Spain2025-06-05
Aruna R Nestle1011Australia2025-05-26
Maisha S Gillian1012Australia2025-05-24
Misaki J Vocelka1013Australia2025-05-26
Maria R Slusarski1014Germany2025-05-22
Munro W Inouye1015Brazil2025-06-04
Costa H Ruta1016Brazil2025-05-19
Francesco I Albares1017India2025-06-12
Cody U Gillian1018Argentina2025-06-12
Isabel J Bowley1019United Kingdom2025-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones G NickaCanadaAmy Elsner UNQUALIFIED
Silvio T GillianItalyElwin Sharvill PROPOSAL
Juan U CaldareraUnited KingdomOnyama Limba QUALIFIED
Emily L CaldareraArgentinaBernardo Dominic UNQUALIFIED
Mujtaba S InouyeSpainAnna Fali NEW
Mujtaba V MaletUnited KingdomStephen Shaw NEW
Smith W BologniaAustraliaAsiya Javayant RENEWAL
Tony J MarrierBrazilIoni Bowcher NEW
Arvin U OldroydJapanBernardo Dominic NEGOTIATION
Salvatore S FigeroaBrazilAsiya Javayant RENEWAL
Sinclair X GarufiUnited KingdomElwin Sharvill NEGOTIATION
Mayumi N SaylorsArgentinaStephen Shaw PROPOSAL
Munro Y ButtAustraliaXuxue Feng PROPOSAL
David L VocelkaSpainStephen Shaw NEGOTIATION
Aditya Q WieserRussiaStephen Shaw PROPOSAL
Costa M RutaIndiaAmy Elsner RENEWAL
Wickens S FigeroaRussiaAmy Elsner NEW
Mujtaba Z BriddickBrazilAsiya Javayant UNQUALIFIED
Aditya T StockhamJapanAmy Elsner UNQUALIFIED
Claire Z PoquetteJapanBernardo Dominic RENEWAL
Murillo H PerinBrazilXuxue Feng PROPOSAL
Morrow N AmigonBrazilXuxue Feng UNQUALIFIED
Silvio O FlosiFranceElwin Sharvill UNQUALIFIED
Aika K FollerAustraliaAnna Fali RENEWAL
Wickens F OstroskyIndiaElwin Sharvill NEGOTIATION
Morrow C GauchoCanadaAmy Elsner UNQUALIFIED
Misaki Y DilliardIndiaAnna Fali NEW
Izzy T GarufiIndiaAsiya Javayant QUALIFIED
Greenwood U SergiBrazilAmy Elsner QUALIFIED
Stacey Y SergiSpainOnyama Limba RENEWAL
Chavez W DarakjySpainAnna Fali NEW
Morrow F BologniaFranceAnna Fali QUALIFIED
Ricardo Q NickaJapanAmy Elsner RENEWAL
Leon E RimArgentinaBernardo Dominic NEW
Jeanfrancois M GillianJapanXuxue Feng RENEWAL
Jefferson D OldroydAustraliaAsiya Javayant NEGOTIATION
Arvin V KuskoRussiaIvan Magalhaes PROPOSAL
Arvin N BologniaAustraliaStephen Shaw QUALIFIED
Maria H VenereIndiaXuxue Feng QUALIFIED
Murillo B BowleyUnited KingdomStephen 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>