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
Antonio V RulapaughUnited KingdomBernardo Dominic NEGOTIATION
Chavez Y RutaFranceElwin Sharvill NEGOTIATION
Jeanfrancois V GarufiItalyAmy Elsner NEGOTIATION
Claire J PaprockiItalyElwin Sharvill PROPOSAL
Claire C MaletItalyAsiya Javayant NEW
Isabel Y PaprockiCanadaXuxue Feng RENEWAL
Izzy W AlbaresGermanyOnyama Limba RENEWAL
Faith L FerenczFranceBernardo Dominic PROPOSAL
Jones Z MaletAustraliaOnyama Limba NEW
Emily Y WhobreyCanadaElwin Sharvill NEW
Adams G FerenczRussiaXuxue Feng NEW
Mayumi P GarufiIndiaIvan Magalhaes NEGOTIATION
Kaitlin W MacleadAustraliaIoni Bowcher PROPOSAL
Francesco Q MaletAustraliaIvan Magalhaes NEW
Nicolas T MacleadBrazilXuxue Feng NEGOTIATION
Mayumi V TollnerIndiaIoni Bowcher PROPOSAL
Munro E TollnerGermanyIvan Magalhaes UNQUALIFIED
Darci G RutaGermanyAmy Elsner UNQUALIFIED
Sinclair M BologniaIndiaBernardo Dominic UNQUALIFIED
Misaki D VenereArgentinaElwin Sharvill NEW
Maisha Z PoquetteJapanAsiya Javayant RENEWAL
Aditya N WaycottBrazilBernardo Dominic QUALIFIED
Izzy R IturbideAustraliaXuxue Feng QUALIFIED
Jones K SchemmerItalyAnna Fali RENEWAL
Antonio W CampainGermanyIvan Magalhaes RENEWAL
Jones C RulapaughJapanXuxue Feng NEGOTIATION
Morrow S MaletAustraliaAmy Elsner QUALIFIED
Maria A ChuiCanadaXuxue Feng PROPOSAL
Mayumi A MaletSpainAsiya Javayant NEGOTIATION
Clifford R BologniaGermanyAmy Elsner QUALIFIED
Salvatore L MaletGermanyIvan Magalhaes RENEWAL
Jennifer S FollerFranceElwin Sharvill UNQUALIFIED
Leja L CampainUnited KingdomXuxue Feng NEW
Nicolas G NestleCanadaIoni Bowcher UNQUALIFIED
Munro U CaudySpainBernardo Dominic QUALIFIED
Maria W GarufiGermanyIoni Bowcher PROPOSAL
Alejandro J OldroydItalyAmy Elsner RENEWAL
Arvin W KolmetzJapanAnna Fali QUALIFIED
Ivar Z MacleadItalyElwin Sharvill QUALIFIED
Faith L FerenczArgentinaIvan Magalhaes NEGOTIATION
Murillo K BologniaRussiaAnna Fali PROPOSAL
Tony Z KolmetzUnited KingdomElwin Sharvill QUALIFIED
Costa C DoeUnited KingdomOnyama Limba PROPOSAL
Morrow E RimFranceElwin Sharvill QUALIFIED
Cody L TollnerJapanIoni Bowcher UNQUALIFIED
Cody T ChuiCanadaAmy Elsner NEGOTIATION
Maisha T FollerCanadaAnna Fali RENEWAL
Claire A BologniaArgentinaAnna Fali UNQUALIFIED
Faith P NestleIndiaStephen Shaw NEW
Greenwood N RulapaughJapanIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mayumi Q PoquetteItalyAmy Elsner RENEWAL
Jeanfrancois B AlbaresItalyBernardo Dominic NEW
Misaki R SchemmerBrazilStephen Shaw RENEWAL
Cody N SlusarskiCanadaAsiya Javayant RENEWAL
Aika E ButtItalyStephen Shaw NEGOTIATION
Leja C MacleadCanadaAsiya Javayant QUALIFIED
Octavia B FollerBrazilAmy Elsner PROPOSAL
Tony Z FollerUnited KingdomBernardo Dominic UNQUALIFIED
Alejandro I RimGermanyStephen Shaw NEGOTIATION
Jones W OstroskyIndiaElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily H BologniaRussia2024-06-10Rangoni Of Florence PROPOSAL89Stephen Shaw
1001Deepesh I ButtJapan2024-06-10Commercial Press RENEWAL12Bernardo Dominic
1002Deepesh A BriddickSpain2024-06-18Feltz Printing Service QUALIFIED22Anna Fali
1003Isabel P RulapaughGermany2024-06-08Commercial Press PROPOSAL73Ioni Bowcher
1004Murillo B AlbaresGermany2024-06-04Truhlar And Truhlar Attys PROPOSAL53Onyama Limba
1005Munro K FerenczItaly2024-06-03Buckley Miller Wright PROPOSAL93Xuxue Feng
1006Alejandro L CaudyCanada2024-06-21Rangoni Of Florence NEGOTIATION34Amy Elsner
1007Emily B InouyeRussia2024-05-25Morlong Associates NEGOTIATION97Ioni Bowcher
1008Octavia K CaudyArgentina2024-05-24Printing Dimensions NEW56Asiya Javayant
1009Aruna E SergiFrance2024-06-16King, Christopher A Esq PROPOSAL81Ivan Magalhaes
1010Jennifer G CampainRussia2024-06-13Chapman, Ross E Esq NEGOTIATION30Elwin Sharvill
1011Juan N SergiCanada2024-06-08Printing Dimensions RENEWAL38Amy Elsner
1012Costa E WieserRussia2024-05-31Commercial Press UNQUALIFIED11Asiya Javayant
1013Rodrigues Y KuskoBrazil2024-06-09Buckley Miller Wright UNQUALIFIED10Anna Fali
1014Octavia Z RutaIndia2024-06-22Feltz Printing Service NEW67Amy Elsner
1015Izzy L InouyeArgentina2024-06-11King, Christopher A Esq NEGOTIATION65Xuxue Feng
1016Maisha Z VenereAustralia2024-06-12Rousseaux, Michael Esq NEW53Bernardo Dominic
1017Aruna N SergiCanada2024-05-30Commercial Press PROPOSAL17Amy Elsner
1018Aruna L OldroydAustralia2024-06-04Commercial Press UNQUALIFIED90Stephen Shaw
1019Claire X MaletArgentina2024-06-13Rangoni Of Florence QUALIFIED69Xuxue Feng
1020Chavez K FigeroaItaly2024-06-01Rousseaux, Michael Esq UNQUALIFIED98Xuxue Feng
1021Mayumi B RoysterAustralia2024-05-26King, Christopher A Esq NEW71Elwin Sharvill
1022Johnson S SaylorsCanada2024-06-14Truhlar And Truhlar Attys UNQUALIFIED43Amy Elsner
1023Izzy P VocelkaBrazil2024-06-02Printing Dimensions NEGOTIATION93Onyama Limba
1024Deepesh P InouyeSpain2024-05-30Commercial Press NEW32Xuxue Feng
1025Octavia I FigeroaGermany2024-06-07Feltz Printing Service QUALIFIED82Anna Fali
1026Francesco C FigeroaFrance2024-06-04Feiner Bros UNQUALIFIED69Onyama Limba
1027Juan E MarrierJapan2024-06-15Buckley Miller Wright RENEWAL44Anna Fali
1028Aika P KolmetzRussia2024-06-07Chemel, James L Cpa NEW66Stephen Shaw
1029Wickens X RutaIndia2024-06-21Printing Dimensions RENEWAL78Anna Fali
1030Mayumi O NestleRussia2024-06-13Morlong Associates NEW94Ioni Bowcher
1031Jeanfrancois R CaudyJapan2024-06-19Commercial Press UNQUALIFIED85Ioni Bowcher
1032Aruna P GillianSpain2024-06-16Feiner Bros PROPOSAL34Bernardo Dominic
1033Deepesh T StockhamAustralia2024-06-08Chanay, Jeffrey A Esq UNQUALIFIED80Xuxue Feng
1034Ricardo R BologniaArgentina2024-06-19Printing Dimensions QUALIFIED28Anna Fali
1035Jeanfrancois R FollerJapan2024-05-24Benton, John B Jr NEGOTIATION2Stephen Shaw
1036Faith S IturbideRussia2024-05-31Chemel, James L Cpa NEW79Amy Elsner
1037Tony O BriddickBrazil2024-06-15Feltz Printing Service QUALIFIED45Onyama Limba
1038Darci F DilliardJapan2024-06-04Chapman, Ross E Esq UNQUALIFIED15Xuxue Feng
1039Maisha X GlickRussia2024-05-29Feiner Bros UNQUALIFIED4Stephen Shaw
1040Maria U SchemmerItaly2024-06-11Chapman, Ross E Esq UNQUALIFIED58Bernardo Dominic
1041Clifford X SlusarskiItaly2024-05-26Chanay, Jeffrey A Esq NEW34Bernardo Dominic
1042James J MarrierUnited Kingdom2024-05-26Feltz Printing Service QUALIFIED63Ioni Bowcher
1043Silvio E SlusarskiGermany2024-06-11Commercial Press PROPOSAL15Ivan Magalhaes
1044Octavia I BowleyAustralia2024-06-17Chanay, Jeffrey A Esq RENEWAL11Ivan Magalhaes
1045Mayumi G AlbaresGermany2024-06-20Chapman, Ross E Esq PROPOSAL80Stephen Shaw
1046Sinclair R GauchoJapan2024-06-18Chanay, Jeffrey A Esq PROPOSAL46Ivan Magalhaes
1047Rodrigues B FigeroaGermany2024-06-19Benton, John B Jr UNQUALIFIED49Asiya Javayant
1048Izzy H BologniaRussia2024-06-17Feiner Bros NEGOTIATION11Amy Elsner
1049Isabel Q MorascaFrance2024-05-27Chemel, James L Cpa RENEWAL35Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin N TollnerArgentinaAmy Elsner UNQUALIFIED
Wickens U FlosiAustraliaBernardo Dominic NEGOTIATION
Costa E DarakjyArgentinaAnna Fali UNQUALIFIED
David R PaprockiAustraliaIvan Magalhaes RENEWAL
Arvin K OldroydIndiaIvan Magalhaes PROPOSAL
Murillo J NickaIndiaElwin Sharvill RENEWAL
Jennifer K DilliardFranceXuxue Feng NEW
Murillo I BologniaItalyAmy Elsner NEW
Julie F GauchoUnited KingdomXuxue Feng NEGOTIATION
Emily E AmigonJapanElwin Sharvill PROPOSAL
Cody C MaletArgentinaAmy Elsner NEW
Alejandro K WieserAustraliaStephen Shaw NEW
Izzy B NestleUnited KingdomXuxue Feng NEGOTIATION
Jones Q NestleRussiaBernardo Dominic RENEWAL
Clifford C MorascaIndiaAnna Fali NEW
Chavez D ChuiAustraliaXuxue Feng PROPOSAL
Ashley O FlosiCanadaOnyama Limba NEW
Aruna B MorascaAustraliaIvan Magalhaes RENEWAL
Maisha I NickaItalyXuxue Feng UNQUALIFIED
Aika R BriddickGermanyElwin Sharvill PROPOSAL
Clifford W ButtIndiaIvan Magalhaes QUALIFIED
Mujtaba F SaylorsFranceXuxue Feng RENEWAL
Leon K BowleyIndiaXuxue Feng NEGOTIATION
Leja V SlusarskiCanadaXuxue Feng NEGOTIATION
Kaitlin J TollnerRussiaOnyama Limba NEGOTIATION
Stacey M MacleadBrazilElwin Sharvill UNQUALIFIED
Morrow I MorascaAustraliaBernardo Dominic NEGOTIATION
Smith C ButtCanadaAnna Fali PROPOSAL
Alejandro H MaletAustraliaStephen Shaw UNQUALIFIED
Greenwood L CaudyRussiaIvan Magalhaes QUALIFIED
Izzy M FlosiJapanAnna Fali QUALIFIED
Maria T RulapaughFranceAsiya Javayant NEGOTIATION
Smith N MaletFranceIoni Bowcher QUALIFIED
James S DilliardArgentinaAsiya Javayant UNQUALIFIED
Leon N IturbideUnited KingdomAmy Elsner RENEWAL
Morrow I SlusarskiItalyOnyama Limba NEGOTIATION
Aruna N BowleyArgentinaAsiya Javayant NEW
Jennifer M MarrierBrazilAnna Fali QUALIFIED
Greenwood E NickaArgentinaIoni Bowcher UNQUALIFIED
Mujtaba B ChuiCanadaXuxue Feng QUALIFIED
Wickens C PaprockiItalyIvan Magalhaes UNQUALIFIED
Ivar B SaylorsArgentinaBernardo Dominic RENEWAL
Aruna O DarakjyArgentinaStephen Shaw RENEWAL
Murillo C AlbaresBrazilIvan Magalhaes NEW
Smith T FigeroaGermanyAsiya Javayant PROPOSAL
Kadeem J BriddickCanadaXuxue Feng UNQUALIFIED
Adams G AlbaresUnited KingdomBernardo Dominic NEGOTIATION
Ricardo S NickaCanadaOnyama Limba PROPOSAL
Jones C PoquetteBrazilBernardo Dominic QUALIFIED
Kadeem D SchemmerFranceOnyama Limba NEW
Frozen Columns
Name
David M Paprocki
Arvin W Chui
Clifford G Tollner
Salvatore L Poquette
Costa A Stockham
Smith X Maclead
Emily W Paprocki
Antonio A Gaucho
Chavez X Caudy
Leon Z Shinko
Salvatore N Campain
Jefferson X Ferencz
Greenwood B Malet
Jefferson X Stockham
David Y Kolmetz
Octavia Q Saylors
Jones W Poquette
Claire F Whobrey
Wickens K Caudy
Kaitlin N Slusarski
Salvatore I Malet
Maisha V Inouye
Leon R Caudy
Morrow K Foller
Jones K Paprocki
Nicolas X Amigon
Emily P Malet
Alejandro R Poquette
Jones O Saylors
Jones O Shinko
Ricardo V Nicka
Alejandro A Schemmer
Maria V Maclead
Chavez P Marrier
Isabel O Rulapaugh
Deepesh F Ostrosky
Octavia A Malet
Murillo Q Inouye
Ashley O Malet
Mayumi U Garufi
Kaitlin Q Ostrosky
Julie G Shinko
Smith X Darakjy
Misaki G Doe
Kadeem G Slusarski
Adams B Chui
Francesco G Venere
Emily R Royster
Munro J Dilliard
Murillo N Stenseth
IdCountryDate
1000Japan2024-06-12
1001Canada2024-06-07
1002France2024-06-22
1003Canada2024-06-12
1004Russia2024-06-18
1005Brazil2024-06-20
1006Australia2024-06-06
1007India2024-05-26
1008France2024-06-18
1009Australia2024-05-30
1010Canada2024-06-09
1011Russia2024-05-28
1012Germany2024-06-14
1013United Kingdom2024-06-10
1014India2024-06-12
1015Germany2024-06-14
1016Italy2024-06-13
1017Canada2024-05-29
1018Italy2024-06-08
1019Germany2024-06-03
1020Germany2024-06-02
1021Argentina2024-05-30
1022India2024-06-15
1023France2024-06-08
1024Argentina2024-06-10
1025United Kingdom2024-05-27
1026United Kingdom2024-06-06
1027Canada2024-06-03
1028Spain2024-05-24
1029Italy2024-05-27
1030Italy2024-05-27
1031Germany2024-05-30
1032Spain2024-05-30
1033Russia2024-06-17
1034Australia2024-06-09
1035Germany2024-06-09
1036Italy2024-06-19
1037India2024-06-14
1038France2024-06-01
1039Australia2024-06-05
1040Canada2024-06-11
1041Germany2024-06-09
1042Germany2024-06-14
1043United Kingdom2024-06-13
1044Argentina2024-06-05
1045France2024-06-04
1046Germany2024-06-03
1047Brazil2024-06-01
1048Brazil2024-06-11
1049Russia2024-05-29

On-Demand Data

NameIdCountryDate
Octavia X Schemmer1000Russia2024-06-18
Mujtaba M Perin1001Spain2024-06-15
Leja E Bowley1002Germany2024-06-17
Isabel E Doe1003Australia2024-06-01
Greenwood Z Ostrosky1004United Kingdom2024-05-26
Mayumi B Albares1005Australia2024-06-21
Mujtaba N Marrier1006Japan2024-06-17
Kadeem D Nestle1007Russia2024-05-30
Sinclair E Shinko1008Italy2024-06-06
Julie O Stockham1009Argentina2024-06-21
Ashley L Waycott1010France2024-05-28
Darci O Ruta1011Italy2024-05-30
Kadeem B Malet1012Canada2024-05-27
Antonio Z Butt1013Italy2024-06-11
Isabel O Royster1014Spain2024-06-12
Leon J Whobrey1015India2024-05-31
Deepesh Q Kusko1016Japan2024-06-03
Mujtaba G Nestle1017India2024-06-03
Ricardo S Marrier1018Germany2024-06-17
Emily I Chui1019France2024-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore M KuskoSpainElwin Sharvill QUALIFIED
Cody F RimBrazilAnna Fali QUALIFIED
Maisha H WieserGermanyAsiya Javayant NEGOTIATION
Deepesh E WhobreyBrazilAsiya Javayant PROPOSAL
Salvatore L FollerJapanElwin Sharvill PROPOSAL
Juan U WhobreyJapanStephen Shaw QUALIFIED
Morrow I CaudyArgentinaElwin Sharvill RENEWAL
Mujtaba V CampainItalyElwin Sharvill NEW
Antonio B KuskoItalyIoni Bowcher PROPOSAL
Jennifer K MaletItalyElwin Sharvill RENEWAL
Leja O OldroydSpainElwin Sharvill QUALIFIED
Octavia A RoysterFranceOnyama Limba QUALIFIED
Tony B SlusarskiIndiaIvan Magalhaes NEW
David Y NickaFranceElwin Sharvill PROPOSAL
Munro K NickaJapanAsiya Javayant PROPOSAL
Cody B BologniaFranceAsiya Javayant NEGOTIATION
Rodrigues M PerinAustraliaOnyama Limba QUALIFIED
Costa L MacleadFranceOnyama Limba NEGOTIATION
Antonio C SlusarskiIndiaAnna Fali NEW
Stacey X PaprockiJapanXuxue Feng PROPOSAL
Leja U FlosiJapanOnyama Limba NEW
Silvio M SlusarskiItalyAnna Fali QUALIFIED
Faith Q VenereAustraliaOnyama Limba QUALIFIED
Leja B BologniaIndiaAnna Fali PROPOSAL
Leon B InouyeArgentinaOnyama Limba NEGOTIATION
Jeanfrancois A OldroydUnited KingdomAmy Elsner NEW
Morrow D GillianBrazilIoni Bowcher QUALIFIED
Jennifer A CampainArgentinaOnyama Limba NEW
Aditya Y InouyeRussiaAnna Fali NEW
Julie Q GauchoCanadaIoni Bowcher NEGOTIATION
Isabel O SergiBrazilStephen Shaw UNQUALIFIED
Munro V IturbideRussiaXuxue Feng PROPOSAL
Leja D RulapaughItalyElwin Sharvill QUALIFIED
Chavez S VocelkaGermanyAsiya Javayant UNQUALIFIED
Murillo P VocelkaCanadaAmy Elsner NEGOTIATION
Jeanfrancois C FlosiFranceIvan Magalhaes RENEWAL
Greenwood J BologniaFranceAsiya Javayant NEW
Maria C DoeFranceOnyama Limba UNQUALIFIED
Alejandro E WaycottRussiaXuxue Feng RENEWAL
Murillo X CaldareraRussiaAsiya Javayant 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>