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
Aika D GlickArgentinaIvan Magalhaes UNQUALIFIED
Faith U MacleadArgentinaAsiya Javayant NEW
Alejandro I IturbideRussiaIvan Magalhaes NEGOTIATION
Smith Y MacleadIndiaBernardo Dominic RENEWAL
Johnson E CaldareraArgentinaElwin Sharvill PROPOSAL
Izzy L GillianItalyAmy Elsner RENEWAL
Aika W DoeItalyXuxue Feng NEGOTIATION
Izzy U FigeroaItalyAmy Elsner NEW
Morrow X StensethBrazilStephen Shaw NEW
Kadeem I PaprockiFranceXuxue Feng RENEWAL
David B ChuiJapanAnna Fali NEW
Misaki C ButtIndiaAsiya Javayant NEW
Antonio X PoquetteJapanOnyama Limba NEW
Costa O VenereJapanBernardo Dominic QUALIFIED
Francesco R SlusarskiItalyAmy Elsner PROPOSAL
Kadeem D StockhamItalyIvan Magalhaes QUALIFIED
Deepesh G StockhamBrazilElwin Sharvill RENEWAL
Emily U PoquetteRussiaAmy Elsner RENEWAL
Aruna R StockhamIndiaAsiya Javayant PROPOSAL
Arvin W PaprockiSpainOnyama Limba PROPOSAL
Kadeem O AlbaresIndiaBernardo Dominic PROPOSAL
Ivar I SergiBrazilBernardo Dominic NEW
Smith M KolmetzArgentinaIoni Bowcher RENEWAL
Rodrigues G SergiSpainAnna Fali QUALIFIED
Misaki Z FigeroaItalyStephen Shaw RENEWAL
Alejandro V DilliardBrazilOnyama Limba NEW
Salvatore I TollnerCanadaBernardo Dominic NEW
Alejandro O MarrierArgentinaAmy Elsner QUALIFIED
Arvin U InouyeCanadaAsiya Javayant RENEWAL
Mujtaba O StensethJapanXuxue Feng PROPOSAL
Ivar Q VenereAustraliaAmy Elsner RENEWAL
Nicolas Q CaldareraJapanIoni Bowcher NEGOTIATION
Johnson E CaudyBrazilBernardo Dominic UNQUALIFIED
Claire Q KolmetzCanadaIvan Magalhaes UNQUALIFIED
Leja L GarufiArgentinaIoni Bowcher PROPOSAL
Aruna T MacleadBrazilXuxue Feng NEW
Maisha R DoeCanadaXuxue Feng QUALIFIED
Juan I ShinkoFranceBernardo Dominic NEW
James P DoeIndiaIvan Magalhaes UNQUALIFIED
Silvio S DarakjyUnited KingdomOnyama Limba PROPOSAL
Maria S RutaGermanyXuxue Feng UNQUALIFIED
Ashley I TollnerItalyAnna Fali NEGOTIATION
Ricardo D ChuiIndiaElwin Sharvill UNQUALIFIED
Ashley K ChuiFranceOnyama Limba NEW
Isabel S NestleGermanyXuxue Feng PROPOSAL
Nicolas Y ShinkoItalyAmy Elsner RENEWAL
Antonio D SergiJapanBernardo Dominic PROPOSAL
Greenwood K CaldareraIndiaAsiya Javayant NEGOTIATION
Darci X AlbaresAustraliaIvan Magalhaes UNQUALIFIED
Octavia S SlusarskiItalyAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois D MaletCanadaElwin Sharvill PROPOSAL
Alejandro O InouyeIndiaBernardo Dominic RENEWAL
Munro E TollnerAustraliaAmy Elsner PROPOSAL
Octavia G InouyeItalyStephen Shaw NEGOTIATION
Greenwood Z AmigonCanadaXuxue Feng PROPOSAL
Maisha W VenereAustraliaBernardo Dominic NEW
Chavez Y AlbaresUnited KingdomIvan Magalhaes UNQUALIFIED
Leja G NestleItalyAsiya Javayant PROPOSAL
Murillo K AmigonRussiaStephen Shaw PROPOSAL
Juan X RulapaughArgentinaIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel S PoquetteRussia2026-06-03Buckley Miller Wright QUALIFIED95Onyama Limba
1001Clifford H TollnerGermany2026-06-30King, Christopher A Esq PROPOSAL30Bernardo Dominic
1002Izzy U StockhamSpain2026-06-04Commercial Press UNQUALIFIED8Ioni Bowcher
1003Chavez U FerenczBrazil2026-06-10Benton, John B Jr UNQUALIFIED59Anna Fali
1004Salvatore E WhobreyBrazil2026-07-01Benton, John B Jr QUALIFIED38Anna Fali
1005Smith E MorascaAustralia2026-06-20King, Christopher A Esq NEGOTIATION40Xuxue Feng
1006Leja Z IturbideJapan2026-06-07Morlong Associates NEW80Asiya Javayant
1007Greenwood E ButtArgentina2026-06-15Chanay, Jeffrey A Esq NEGOTIATION47Ivan Magalhaes
1008Greenwood X SchemmerAustralia2026-06-21Printing Dimensions QUALIFIED91Anna Fali
1009Aditya R WieserRussia2026-06-04Commercial Press PROPOSAL65Asiya Javayant
1010Faith M RulapaughSpain2026-06-28Chapman, Ross E Esq QUALIFIED35Xuxue Feng
1011Munro E RoysterRussia2026-06-26Morlong Associates NEW18Bernardo Dominic
1012Claire I MaletGermany2026-06-14King, Christopher A Esq NEW58Amy Elsner
1013Morrow Q DilliardUnited Kingdom2026-06-27King, Christopher A Esq PROPOSAL2Xuxue Feng
1014Arvin P ButtCanada2026-06-17Feltz Printing Service QUALIFIED64Ivan Magalhaes
1015Izzy U VenereArgentina2026-06-26King, Christopher A Esq PROPOSAL96Amy Elsner
1016Costa Q FlosiArgentina2026-06-15Benton, John B Jr PROPOSAL87Onyama Limba
1017Jeanfrancois C MarrierArgentina2026-06-11Feiner Bros QUALIFIED48Anna Fali
1018Octavia B SchemmerFrance2026-06-16Feltz Printing Service NEW28Ivan Magalhaes
1019Morrow V KolmetzArgentina2026-06-04Morlong Associates PROPOSAL87Ioni Bowcher
1020Tony Z CaudyJapan2026-06-24Morlong Associates QUALIFIED17Amy Elsner
1021Deepesh Q DoeSpain2026-06-23King, Christopher A Esq NEW97Amy Elsner
1022Claire F StensethSpain2026-06-20Feltz Printing Service NEGOTIATION45Onyama Limba
1023Aditya D NestleRussia2026-06-17Chemel, James L Cpa UNQUALIFIED59Anna Fali
1024Arvin K IturbideArgentina2026-07-01Chapman, Ross E Esq QUALIFIED11Elwin Sharvill
1025Alejandro N DarakjyCanada2026-06-13Truhlar And Truhlar Attys NEW69Anna Fali
1026Izzy L RoysterArgentina2026-06-16Feltz Printing Service PROPOSAL38Anna Fali
1027Jones V AlbaresBrazil2026-06-17Rousseaux, Michael Esq NEGOTIATION87Ivan Magalhaes
1028Darci V TollnerRussia2026-07-01Rangoni Of Florence NEGOTIATION87Ivan Magalhaes
1029Octavia M AmigonIndia2026-06-05Feltz Printing Service NEW2Onyama Limba
1030Julie F GillianAustralia2026-06-15Benton, John B Jr NEW48Ioni Bowcher
1031Antonio N GillianJapan2026-06-22Feltz Printing Service QUALIFIED77Amy Elsner
1032Mujtaba N GauchoRussia2026-06-03Truhlar And Truhlar Attys NEW33Anna Fali
1033Leja O PoquetteSpain2026-06-05Chapman, Ross E Esq PROPOSAL25Stephen Shaw
1034Alejandro C FigeroaUnited Kingdom2026-06-14Feltz Printing Service NEW58Amy Elsner
1035Greenwood G FigeroaCanada2026-07-01Truhlar And Truhlar Attys NEW46Asiya Javayant
1036Francesco A PoquetteJapan2026-06-08Printing Dimensions RENEWAL73Ivan Magalhaes
1037Isabel W FollerFrance2026-06-12Rousseaux, Michael Esq PROPOSAL73Elwin Sharvill
1038Adams O RoysterBrazil2026-06-10Dorl, James J Esq UNQUALIFIED46Ivan Magalhaes
1039Kaitlin F StensethArgentina2026-07-02Commercial Press RENEWAL85Onyama Limba
1040Maisha P RimUnited Kingdom2026-06-20Dorl, James J Esq QUALIFIED50Onyama Limba
1041Sinclair B SergiIndia2026-06-03Commercial Press NEGOTIATION69Stephen Shaw
1042Jones F OldroydAustralia2026-06-10King, Christopher A Esq PROPOSAL72Amy Elsner
1043Salvatore D BriddickIndia2026-06-22Rousseaux, Michael Esq NEGOTIATION44Onyama Limba
1044Clifford D PaprockiAustralia2026-06-16Commercial Press PROPOSAL16Ivan Magalhaes
1045Mujtaba Z GlickAustralia2026-06-24Chapman, Ross E Esq NEGOTIATION18Onyama Limba
1046Emily C PaprockiIndia2026-07-01Feltz Printing Service NEW31Amy Elsner
1047Antonio P SergiFrance2026-06-19Commercial Press PROPOSAL25Anna Fali
1048Tony B MorascaBrazil2026-06-13Truhlar And Truhlar Attys NEGOTIATION64Amy Elsner
1049Arvin A ButtCanada2026-06-25Morlong Associates UNQUALIFIED29Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Stacey Q CaudyBrazilBernardo Dominic UNQUALIFIED
Ashley P MaletSpainBernardo Dominic RENEWAL
Antonio Z VenereRussiaIoni Bowcher NEW
Morrow H MacleadRussiaBernardo Dominic NEW
Stacey V GauchoBrazilXuxue Feng UNQUALIFIED
Chavez B StockhamJapanAnna Fali NEGOTIATION
Francesco L FerenczUnited KingdomElwin Sharvill QUALIFIED
Jeanfrancois H FigeroaJapanXuxue Feng NEW
Jennifer Y RulapaughFranceIvan Magalhaes NEGOTIATION
Chavez N PaprockiRussiaIvan Magalhaes UNQUALIFIED
Darci Q MaletGermanyBernardo Dominic NEW
Nicolas P MorascaArgentinaIvan Magalhaes UNQUALIFIED
Greenwood D RimFranceIoni Bowcher UNQUALIFIED
Mayumi H WhobreyArgentinaAmy Elsner PROPOSAL
Octavia Q MarrierSpainBernardo Dominic RENEWAL
Costa O MaletSpainAmy Elsner PROPOSAL
Chavez T FollerArgentinaAnna Fali NEW
Faith T SergiIndiaIoni Bowcher NEW
James Z StensethGermanyXuxue Feng PROPOSAL
Murillo E CaldareraIndiaOnyama Limba PROPOSAL
Nicolas L MacleadUnited KingdomElwin Sharvill NEGOTIATION
Deepesh O RoysterSpainOnyama Limba PROPOSAL
Izzy X AlbaresIndiaAsiya Javayant PROPOSAL
Darci S BowleyUnited KingdomIoni Bowcher RENEWAL
Francesco Y OldroydGermanyAmy Elsner QUALIFIED
Wickens H VenereBrazilOnyama Limba NEW
Juan U StockhamGermanyStephen Shaw PROPOSAL
Deepesh X CaudyRussiaAmy Elsner PROPOSAL
Maria Y WieserGermanyAsiya Javayant QUALIFIED
Clifford M OstroskyFranceAmy Elsner PROPOSAL
David U BowleyRussiaIvan Magalhaes NEGOTIATION
Faith J ShinkoItalyOnyama Limba NEGOTIATION
Jefferson W OstroskyGermanyBernardo Dominic QUALIFIED
Greenwood X MaletAustraliaIoni Bowcher PROPOSAL
Claire U MorascaArgentinaAsiya Javayant UNQUALIFIED
Silvio F OldroydCanadaIvan Magalhaes RENEWAL
Ivar L StockhamSpainAnna Fali NEW
Octavia T CampainArgentinaXuxue Feng RENEWAL
Johnson N GauchoIndiaIvan Magalhaes NEGOTIATION
Emily A WieserSpainAmy Elsner NEW
Tony D KolmetzItalyBernardo Dominic NEGOTIATION
Kadeem G MarrierBrazilOnyama Limba NEGOTIATION
Jefferson N CaldareraItalyStephen Shaw RENEWAL
Rodrigues D DilliardArgentinaStephen Shaw NEW
Ashley B GarufiRussiaAnna Fali RENEWAL
Alejandro R OldroydIndiaAsiya Javayant RENEWAL
Francesco K PaprockiFranceStephen Shaw NEGOTIATION
Julie O OstroskyAustraliaAmy Elsner NEW
Leja H AmigonFranceElwin Sharvill RENEWAL
Costa B DoeSpainOnyama Limba PROPOSAL
Frozen Columns
Name
Deepesh I Chui
Juan M Figeroa
Ricardo R Kolmetz
Tony A Tollner
Aditya M Shinko
Clifford B Darakjy
Murillo G Ruta
Isabel A Malet
Faith A Ferencz
Stacey Z Foller
Aditya Y Albares
Leon E Nestle
Aruna Q Glick
Mujtaba S Perin
Arvin A Shinko
Kaitlin G Shinko
Alejandro A Ostrosky
Aditya E Tollner
Ricardo Y Amigon
Arvin C Paprocki
Aruna J Stenseth
Aruna Q Stenseth
Salvatore E Morasca
Salvatore Z Flosi
Jennifer N Whobrey
Cody C Caldarera
Tony C Whobrey
Aika V Caldarera
Misaki Z Waycott
Clifford X Waycott
Salvatore L Darakjy
Aruna H Flosi
Tony H Morasca
Mayumi N Caudy
Emily C Malet
Maisha F Poquette
Francesco U Ostrosky
Jennifer K Dilliard
David J Nestle
Jones M Venere
Antonio A Waycott
Cody T Shinko
Kaitlin F Gaucho
Juan D Marrier
Izzy Y Ostrosky
Ivar U Bolognia
Stacey U Shinko
Maria A Flosi
Cody R Iturbide
Aruna R Malet
IdCountryDate
1000Argentina2026-07-01
1001Japan2026-07-02
1002Spain2026-06-22
1003Australia2026-06-21
1004Brazil2026-06-25
1005United Kingdom2026-06-24
1006Italy2026-06-27
1007Germany2026-06-05
1008Argentina2026-06-19
1009Spain2026-06-11
1010Italy2026-06-07
1011Australia2026-07-01
1012France2026-06-08
1013France2026-06-27
1014Australia2026-06-16
1015Australia2026-06-13
1016Germany2026-06-21
1017Spain2026-06-03
1018Spain2026-06-08
1019United Kingdom2026-06-07
1020United Kingdom2026-06-29
1021Argentina2026-07-01
1022Canada2026-07-02
1023United Kingdom2026-06-18
1024Italy2026-07-02
1025India2026-06-18
1026India2026-06-08
1027Australia2026-06-20
1028Germany2026-06-24
1029Russia2026-06-12
1030Australia2026-06-18
1031Australia2026-06-29
1032France2026-06-20
1033Japan2026-06-08
1034Japan2026-06-20
1035Canada2026-06-17
1036Argentina2026-06-09
1037Canada2026-06-03
1038Canada2026-07-01
1039France2026-06-04
1040Japan2026-06-11
1041Germany2026-07-01
1042Canada2026-06-11
1043United Kingdom2026-06-27
1044Japan2026-06-09
1045Australia2026-06-15
1046Canada2026-06-29
1047Germany2026-06-18
1048Argentina2026-06-14
1049Argentina2026-06-26

On-Demand Data

NameIdCountryDate
Leja W Glick1000Argentina2026-06-19
James Z Campain1001Russia2026-06-03
Adams G Kolmetz1002Italy2026-06-18
Costa Q Paprocki1003Russia2026-06-29
Maisha N Royster1004Australia2026-06-08
Murillo D Wieser1005Italy2026-06-19
Leon R Malet1006Spain2026-06-21
Tony R Rulapaugh1007France2026-07-01
Morrow B Oldroyd1008Canada2026-06-24
Aika S Royster1009Spain2026-06-30
Julie Y Caudy1010Germany2026-06-07
Maria S Rim1011Italy2026-06-10
Octavia M Bolognia1012France2026-06-11
Munro X Caldarera1013Argentina2026-06-08
Leon A Darakjy1014India2026-06-26
Julie G Campain1015Italy2026-06-21
Munro K Figeroa1016Italy2026-06-05
Ricardo R Butt1017Australia2026-06-14
David E Inouye1018France2026-06-14
Smith B Gillian1019Japan2026-06-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith K ShinkoIndiaAsiya Javayant UNQUALIFIED
Adams N NickaUnited KingdomAnna Fali UNQUALIFIED
Salvatore S ChuiIndiaElwin Sharvill UNQUALIFIED
Greenwood C KolmetzJapanElwin Sharvill NEGOTIATION
Ricardo Z CaudySpainElwin Sharvill RENEWAL
Aruna R PoquetteFranceAsiya Javayant UNQUALIFIED
Stacey Z ButtFranceAnna Fali NEGOTIATION
Jeanfrancois S TollnerJapanElwin Sharvill UNQUALIFIED
Misaki D CampainSpainXuxue Feng QUALIFIED
Clifford O RutaAustraliaElwin Sharvill UNQUALIFIED
Kadeem L WieserFranceIvan Magalhaes NEGOTIATION
Izzy T RulapaughBrazilElwin Sharvill NEW
Jennifer T RutaRussiaAmy Elsner RENEWAL
Aika Q ShinkoGermanyElwin Sharvill PROPOSAL
Kadeem V StockhamUnited KingdomIoni Bowcher UNQUALIFIED
Mayumi I CaldareraIndiaXuxue Feng NEW
Sinclair R GlickIndiaAnna Fali UNQUALIFIED
Morrow G MorascaBrazilAnna Fali UNQUALIFIED
Jeanfrancois J SlusarskiSpainXuxue Feng NEW
Francesco U NestleRussiaOnyama Limba QUALIFIED
Leja W AmigonArgentinaBernardo Dominic UNQUALIFIED
Rodrigues Z DoeIndiaStephen Shaw NEGOTIATION
Claire M FigeroaUnited KingdomElwin Sharvill QUALIFIED
Darci H VenereGermanyElwin Sharvill UNQUALIFIED
Juan Z RulapaughRussiaBernardo Dominic PROPOSAL
Emily U CaldareraFranceElwin Sharvill NEGOTIATION
Arvin E SchemmerSpainBernardo Dominic NEGOTIATION
Jeanfrancois X RulapaughArgentinaStephen Shaw NEW
Aruna O DilliardCanadaXuxue Feng NEW
Jennifer B VenereRussiaXuxue Feng QUALIFIED
Murillo D AmigonUnited KingdomAnna Fali PROPOSAL
Maria H GlickRussiaXuxue Feng RENEWAL
Misaki K GlickCanadaStephen Shaw NEW
Munro I MacleadItalyElwin Sharvill QUALIFIED
Deepesh O FigeroaRussiaAnna Fali PROPOSAL
Kaitlin C MaletJapanIoni Bowcher UNQUALIFIED
Ashley I GillianCanadaXuxue Feng RENEWAL
Aditya X FerenczSpainOnyama Limba NEW
Jones I RutaAustraliaIvan Magalhaes PROPOSAL
Silvio B BologniaFranceOnyama Limba 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>