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
Maisha F BologniaUnited KingdomAsiya Javayant RENEWAL
Sinclair H FollerBrazilOnyama Limba UNQUALIFIED
Octavia J StensethRussiaIvan Magalhaes NEW
Izzy K WieserGermanyAsiya Javayant RENEWAL
Kaitlin R KuskoAustraliaOnyama Limba RENEWAL
Johnson G NestleArgentinaAsiya Javayant NEGOTIATION
Jennifer I DoeAustraliaElwin Sharvill QUALIFIED
Tony G OstroskyJapanAmy Elsner PROPOSAL
Maisha Q StockhamItalyAmy Elsner UNQUALIFIED
Izzy Q ChuiIndiaBernardo Dominic QUALIFIED
Leon Z DarakjyIndiaAsiya Javayant QUALIFIED
Aruna C DarakjyUnited KingdomIoni Bowcher NEW
Mayumi O GlickCanadaOnyama Limba NEW
Aditya D ButtCanadaAsiya Javayant QUALIFIED
Claire J VocelkaItalyAmy Elsner UNQUALIFIED
Izzy U FerenczFranceOnyama Limba UNQUALIFIED
Salvatore Q MaletBrazilIvan Magalhaes PROPOSAL
Leon E BowleyBrazilAnna Fali NEGOTIATION
Julie E VocelkaCanadaElwin Sharvill NEW
Arvin M AmigonGermanyIoni Bowcher PROPOSAL
Faith X RoysterCanadaAsiya Javayant NEW
Maisha F KolmetzIndiaAsiya Javayant RENEWAL
Isabel G GillianItalyIoni Bowcher PROPOSAL
Kadeem L MaletArgentinaAmy Elsner QUALIFIED
Rodrigues R InouyeBrazilAsiya Javayant NEGOTIATION
Aika N KolmetzFranceStephen Shaw NEGOTIATION
Faith B CampainCanadaXuxue Feng QUALIFIED
Francesco A GarufiJapanOnyama Limba PROPOSAL
Emily A FigeroaAustraliaAnna Fali PROPOSAL
Jennifer Z FollerItalyAmy Elsner RENEWAL
Leon T IturbideSpainIvan Magalhaes PROPOSAL
Kadeem J VenereIndiaAnna Fali UNQUALIFIED
Francesco Q AlbaresFranceXuxue Feng PROPOSAL
Salvatore C NestleBrazilIvan Magalhaes RENEWAL
Maria M KuskoItalyAnna Fali NEGOTIATION
Costa C MarrierBrazilIvan Magalhaes NEW
Claire Q CaldareraUnited KingdomAnna Fali RENEWAL
Tony X GlickUnited KingdomAnna Fali PROPOSAL
Aditya I MaletArgentinaAmy Elsner RENEWAL
Murillo I NestleIndiaStephen Shaw PROPOSAL
Silvio V AlbaresArgentinaIoni Bowcher UNQUALIFIED
Misaki O GarufiSpainXuxue Feng UNQUALIFIED
Smith D DoeIndiaXuxue Feng NEW
Kaitlin R TollnerFranceStephen Shaw RENEWAL
Murillo T BologniaItalyOnyama Limba NEW
Faith B TollnerGermanyXuxue Feng PROPOSAL
Juan X MacleadBrazilAsiya Javayant NEGOTIATION
Isabel J OldroydFranceAmy Elsner RENEWAL
Jefferson G SlusarskiFranceStephen Shaw NEGOTIATION
Aruna T OstroskyCanadaXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mujtaba Z CampainRussiaXuxue Feng NEW
Ivar F DarakjyIndiaIoni Bowcher QUALIFIED
Jefferson B NickaGermanyAnna Fali RENEWAL
Greenwood V WieserArgentinaAsiya Javayant RENEWAL
Mayumi Q OstroskyItalyStephen Shaw QUALIFIED
Darci S ChuiSpainAnna Fali QUALIFIED
Clifford E ShinkoCanadaXuxue Feng PROPOSAL
Jennifer V CampainAustraliaBernardo Dominic PROPOSAL
Chavez Q CampainJapanAnna Fali UNQUALIFIED
Leja F AmigonIndiaIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones C GauchoItaly2024-05-07Chemel, James L Cpa NEW17Bernardo Dominic
1001Kaitlin X BowleyRussia2024-05-27Printing Dimensions RENEWAL3Xuxue Feng
1002Murillo G SlusarskiGermany2024-05-20Chemel, James L Cpa NEW73Ioni Bowcher
1003James L GlickItaly2024-05-04Buckley Miller Wright RENEWAL92Ivan Magalhaes
1004Jeanfrancois N BologniaCanada2024-05-24Feiner Bros RENEWAL2Bernardo Dominic
1005Murillo H OldroydJapan2024-04-28Truhlar And Truhlar Attys UNQUALIFIED80Elwin Sharvill
1006Cody X DoeGermany2024-05-25Feltz Printing Service PROPOSAL58Asiya Javayant
1007Izzy A CampainRussia2024-05-27Chapman, Ross E Esq QUALIFIED72Elwin Sharvill
1008Alejandro C IturbideSpain2024-05-20Morlong Associates QUALIFIED74Xuxue Feng
1009Jefferson H BologniaRussia2024-05-21Feiner Bros NEW37Ivan Magalhaes
1010Adams G StockhamGermany2024-05-04Dorl, James J Esq NEGOTIATION13Stephen Shaw
1011Rodrigues F BowleyAustralia2024-05-12Chapman, Ross E Esq PROPOSAL28Ioni Bowcher
1012Chavez C RulapaughBrazil2024-05-16King, Christopher A Esq RENEWAL60Amy Elsner
1013Misaki Z PaprockiAustralia2024-05-09Feiner Bros UNQUALIFIED77Amy Elsner
1014Faith V NestleItaly2024-05-16Chanay, Jeffrey A Esq NEGOTIATION54Xuxue Feng
1015Arvin V StockhamBrazil2024-05-17Chanay, Jeffrey A Esq RENEWAL87Amy Elsner
1016Octavia P KolmetzRussia2024-04-30Chemel, James L Cpa UNQUALIFIED82Stephen Shaw
1017James X IturbideBrazil2024-05-02King, Christopher A Esq RENEWAL48Xuxue Feng
1018Greenwood T IturbideJapan2024-05-10Buckley Miller Wright RENEWAL83Xuxue Feng
1019Ricardo J MaletFrance2024-05-11Rousseaux, Michael Esq NEGOTIATION36Anna Fali
1020Leon B SergiBrazil2024-05-25Dorl, James J Esq UNQUALIFIED32Amy Elsner
1021Munro U PerinArgentina2024-05-14Printing Dimensions NEW68Bernardo Dominic
1022Izzy S MorascaGermany2024-05-10Buckley Miller Wright QUALIFIED66Xuxue Feng
1023Aika T DoeIndia2024-05-08King, Christopher A Esq NEW35Bernardo Dominic
1024Costa Z MorascaIndia2024-05-15Morlong Associates UNQUALIFIED77Xuxue Feng
1025Misaki R IturbideUnited Kingdom2024-05-18Benton, John B Jr RENEWAL28Ivan Magalhaes
1026Isabel D RulapaughUnited Kingdom2024-05-20Truhlar And Truhlar Attys NEW31Amy Elsner
1027Maria I DilliardJapan2024-05-08Feltz Printing Service RENEWAL97Anna Fali
1028Leon B OstroskyBrazil2024-05-05Buckley Miller Wright QUALIFIED9Amy Elsner
1029Jeanfrancois G RutaAustralia2024-05-01Printing Dimensions NEW62Ivan Magalhaes
1030Claire F BowleyRussia2024-05-22Feiner Bros UNQUALIFIED44Stephen Shaw
1031Aruna X StensethRussia2024-04-28Chapman, Ross E Esq RENEWAL28Onyama Limba
1032James N NickaJapan2024-05-06Chapman, Ross E Esq NEGOTIATION69Ivan Magalhaes
1033Jennifer V VenereIndia2024-05-14Benton, John B Jr UNQUALIFIED23Bernardo Dominic
1034Arvin U ButtCanada2024-05-15Morlong Associates RENEWAL5Onyama Limba
1035Juan J GarufiBrazil2024-05-27Chanay, Jeffrey A Esq QUALIFIED70Asiya Javayant
1036Jones U StockhamIndia2024-05-14Chapman, Ross E Esq RENEWAL28Onyama Limba
1037Clifford F FlosiRussia2024-05-20Morlong Associates RENEWAL20Stephen Shaw
1038Nicolas J FigeroaJapan2024-05-16Rangoni Of Florence NEGOTIATION69Ioni Bowcher
1039Wickens D SchemmerIndia2024-05-15Commercial Press NEGOTIATION89Stephen Shaw
1040Mayumi M FerenczFrance2024-05-14Chanay, Jeffrey A Esq RENEWAL19Elwin Sharvill
1041Alejandro J VenereJapan2024-05-19Dorl, James J Esq QUALIFIED16Ivan Magalhaes
1042Stacey A WieserAustralia2024-05-14Feiner Bros NEW46Asiya Javayant
1043Kadeem J NickaRussia2024-05-26Buckley Miller Wright RENEWAL80Xuxue Feng
1044James S RutaGermany2024-05-17Rangoni Of Florence NEW52Asiya Javayant
1045Aditya W FollerItaly2024-04-29Rousseaux, Michael Esq RENEWAL44Elwin Sharvill
1046Aruna D VenereFrance2024-05-19Buckley Miller Wright NEW55Amy Elsner
1047Kadeem X PerinBrazil2024-05-09Commercial Press QUALIFIED9Onyama Limba
1048Salvatore F SchemmerSpain2024-05-26Chapman, Ross E Esq NEGOTIATION33Xuxue Feng
1049Adams U CampainBrazil2024-05-11Feltz Printing Service UNQUALIFIED85Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Aditya P GlickGermanyBernardo Dominic RENEWAL
Stacey M IturbideGermanyXuxue Feng NEGOTIATION
Francesco H BriddickRussiaStephen Shaw NEGOTIATION
Julie M IturbideSpainIvan Magalhaes QUALIFIED
Aditya H AlbaresItalyAsiya Javayant QUALIFIED
Costa G ShinkoArgentinaXuxue Feng NEGOTIATION
Chavez T MarrierJapanBernardo Dominic QUALIFIED
Maisha R ChuiBrazilIoni Bowcher NEW
Kadeem H PaprockiBrazilElwin Sharvill QUALIFIED
Izzy U SergiJapanElwin Sharvill QUALIFIED
Mujtaba S VenereRussiaBernardo Dominic QUALIFIED
Rodrigues O SaylorsRussiaStephen Shaw QUALIFIED
Alejandro M CampainGermanyOnyama Limba PROPOSAL
James Y RoysterRussiaAmy Elsner NEW
Arvin Z SergiRussiaAmy Elsner QUALIFIED
Aditya X StockhamFranceIvan Magalhaes PROPOSAL
Darci B CaudyIndiaAnna Fali NEGOTIATION
Alejandro O WhobreyRussiaXuxue Feng UNQUALIFIED
Alejandro T FlosiBrazilAnna Fali QUALIFIED
Johnson T DoeArgentinaIoni Bowcher UNQUALIFIED
Jennifer B IturbideBrazilIvan Magalhaes PROPOSAL
Jennifer L SergiSpainBernardo Dominic NEGOTIATION
Aditya R NickaRussiaStephen Shaw RENEWAL
Rodrigues D GlickAustraliaStephen Shaw PROPOSAL
Rodrigues H BologniaIndiaOnyama Limba PROPOSAL
Juan T PoquetteGermanyElwin Sharvill RENEWAL
Misaki H MaletGermanyIvan Magalhaes NEW
Maria G KolmetzArgentinaAsiya Javayant PROPOSAL
Izzy X OstroskyGermanyXuxue Feng PROPOSAL
Aruna K DilliardFranceOnyama Limba PROPOSAL
Mujtaba Q WhobreyBrazilStephen Shaw RENEWAL
Chavez N ButtBrazilAnna Fali NEGOTIATION
Maisha E BriddickRussiaElwin Sharvill RENEWAL
Greenwood I TollnerItalyElwin Sharvill UNQUALIFIED
Murillo H InouyeSpainIvan Magalhaes PROPOSAL
Izzy L IturbideSpainElwin Sharvill UNQUALIFIED
Nicolas Q VocelkaRussiaAnna Fali QUALIFIED
Isabel H VocelkaItalyIoni Bowcher RENEWAL
Alejandro E IturbideGermanyStephen Shaw RENEWAL
James N StockhamItalyOnyama Limba QUALIFIED
Aika K RoysterArgentinaAmy Elsner PROPOSAL
Stacey H CaldareraBrazilXuxue Feng NEGOTIATION
Adams Y TollnerCanadaStephen Shaw NEGOTIATION
Francesco V ChuiAustraliaStephen Shaw UNQUALIFIED
Aditya J MacleadCanadaStephen Shaw NEW
Kaitlin A OldroydArgentinaAsiya Javayant UNQUALIFIED
Ivar Q KolmetzRussiaStephen Shaw NEGOTIATION
Jones R KuskoIndiaAmy Elsner PROPOSAL
Aruna O CampainUnited KingdomAmy Elsner NEGOTIATION
Adams P MarrierItalyIvan Magalhaes QUALIFIED
Frozen Columns
Name
Francesco S Butt
Claire V Oldroyd
Izzy E Stenseth
Julie Q Marrier
Chavez P Ruta
Claire I Stenseth
Arvin W Inouye
David N Gaucho
Arvin D Doe
Maisha A Campain
Isabel Z Maclead
Juan I Gillian
Jeanfrancois N Sergi
Ricardo M Butt
Clifford X Chui
Aditya B Whobrey
Adams F Garufi
Jennifer Q Nestle
Francesco K Oldroyd
Jeanfrancois H Butt
Antonio O Perin
Costa H Ostrosky
Silvio N Albares
Ivar M Ferencz
Maria F Rulapaugh
Tony Y Royster
Izzy G Tollner
Johnson C Kolmetz
Salvatore U Marrier
Juan U Caudy
Tony P Vocelka
Aditya I Chui
Murillo U Gillian
Chavez M Kusko
Murillo C Malet
Claire Q Schemmer
Octavia F Perin
Stacey Y Caudy
Stacey Q Garufi
Greenwood B Gillian
Costa I Slusarski
Salvatore Z Dilliard
Aika K Marrier
Wickens W Schemmer
Misaki K Sergi
Leja X Albares
Sinclair K Iturbide
Ashley A Darakjy
David E Garufi
Jennifer S Oldroyd
IdCountryDate
1000Spain2024-05-15
1001Australia2024-05-25
1002Canada2024-05-16
1003France2024-04-30
1004Germany2024-04-29
1005India2024-05-24
1006Brazil2024-05-17
1007Canada2024-05-09
1008Japan2024-05-27
1009Germany2024-05-26
1010France2024-05-20
1011Argentina2024-05-14
1012Spain2024-04-29
1013Argentina2024-05-26
1014Canada2024-05-09
1015Argentina2024-05-19
1016Argentina2024-05-14
1017Japan2024-05-08
1018Spain2024-05-06
1019Canada2024-05-11
1020France2024-05-25
1021Canada2024-05-22
1022Russia2024-05-07
1023Italy2024-05-24
1024Japan2024-05-02
1025Canada2024-05-27
1026Germany2024-05-11
1027Canada2024-05-25
1028Russia2024-05-23
1029Russia2024-05-21
1030India2024-05-13
1031Canada2024-05-15
1032France2024-05-09
1033Italy2024-05-17
1034Argentina2024-05-16
1035Australia2024-05-07
1036Australia2024-05-13
1037India2024-04-30
1038India2024-05-25
1039Russia2024-05-20
1040Russia2024-05-27
1041Japan2024-05-02
1042Japan2024-04-30
1043Germany2024-05-07
1044India2024-05-24
1045Japan2024-05-15
1046France2024-05-23
1047France2024-05-15
1048Japan2024-05-22
1049France2024-05-23

On-Demand Data

NameIdCountryDate
Isabel B Tollner1000Argentina2024-05-27
Ashley V Sergi1001Brazil2024-05-22
Octavia Z Perin1002Japan2024-05-17
Darci M Waycott1003Russia2024-05-14
Costa F Kusko1004Argentina2024-04-28
Julie J Rulapaugh1005India2024-05-14
Claire A Inouye1006Australia2024-05-02
Aruna I Stenseth1007Argentina2024-05-15
Misaki J Nestle1008Australia2024-04-29
Kaitlin I Nestle1009India2024-05-11
Antonio H Poquette1010Canada2024-05-11
Kadeem G Whobrey1011Argentina2024-05-26
Octavia A Iturbide1012Spain2024-04-28
Adams U Ruta1013India2024-05-08
Aditya E Figeroa1014Russia2024-04-30
Chavez A Dilliard1015Australia2024-05-10
Munro A Kolmetz1016Canada2024-05-26
Deepesh O Briddick1017Canada2024-05-27
Jefferson Z Nestle1018Germany2024-05-04
Maria M Malet1019Spain2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh V AmigonJapanIoni Bowcher RENEWAL
Costa F AmigonJapanOnyama Limba RENEWAL
Claire C KolmetzFranceAsiya Javayant QUALIFIED
Kaitlin X VocelkaItalyIoni Bowcher RENEWAL
Claire O GauchoJapanXuxue Feng QUALIFIED
Octavia O ChuiSpainXuxue Feng PROPOSAL
Jeanfrancois P SergiGermanyIvan Magalhaes UNQUALIFIED
Juan R NestleIndiaBernardo Dominic NEW
Isabel W DilliardSpainBernardo Dominic PROPOSAL
Antonio D MaletGermanyAmy Elsner PROPOSAL
Kaitlin F WhobreyJapanElwin Sharvill QUALIFIED
Francesco F ShinkoGermanyBernardo Dominic NEW
Rodrigues B CampainGermanyAsiya Javayant NEGOTIATION
Maria E CampainJapanStephen Shaw PROPOSAL
Tony H ButtUnited KingdomStephen Shaw PROPOSAL
Maria P MacleadJapanOnyama Limba QUALIFIED
Ivar A WhobreyGermanyIvan Magalhaes NEGOTIATION
Morrow W PaprockiArgentinaOnyama Limba UNQUALIFIED
Izzy X FollerJapanIoni Bowcher RENEWAL
Mujtaba E OstroskyBrazilStephen Shaw RENEWAL
Tony I KuskoJapanAnna Fali NEGOTIATION
James G NickaFranceIoni Bowcher NEW
Isabel X GillianSpainIoni Bowcher PROPOSAL
Arvin J VocelkaBrazilIvan Magalhaes PROPOSAL
Aditya W NickaJapanBernardo Dominic NEW
Ricardo Z VenereFranceOnyama Limba UNQUALIFIED
Deepesh Q IturbideFranceAmy Elsner PROPOSAL
Mayumi Q StockhamGermanyIvan Magalhaes NEGOTIATION
Costa S CampainGermanyXuxue Feng NEW
Clifford C ShinkoBrazilXuxue Feng UNQUALIFIED
Kaitlin I NickaUnited KingdomXuxue Feng QUALIFIED
Isabel I PoquetteRussiaIvan Magalhaes UNQUALIFIED
Jeanfrancois F MacleadUnited KingdomIoni Bowcher NEGOTIATION
Adams G NestleCanadaBernardo Dominic UNQUALIFIED
Murillo I SaylorsGermanyBernardo Dominic RENEWAL
Faith Q TollnerAustraliaAmy Elsner NEGOTIATION
James T MorascaRussiaAnna Fali NEGOTIATION
Chavez O BowleyGermanyAmy Elsner NEW
Mayumi O VocelkaCanadaAsiya Javayant NEW
Faith C CaudyRussiaIoni Bowcher 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>