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
Maria E PoquetteRussiaOnyama Limba NEGOTIATION
Leon T NestleIndiaOnyama Limba RENEWAL
Kaitlin O VocelkaCanadaIoni Bowcher PROPOSAL
Francesco G NickaFranceXuxue Feng UNQUALIFIED
Stacey H CaldareraJapanXuxue Feng RENEWAL
Maisha A RoysterAustraliaOnyama Limba NEW
Mujtaba M MarrierBrazilElwin Sharvill QUALIFIED
Greenwood R WhobreyCanadaIvan Magalhaes PROPOSAL
Morrow Q DarakjyRussiaAmy Elsner QUALIFIED
Mujtaba E RutaUnited KingdomElwin Sharvill QUALIFIED
Morrow T FigeroaGermanyAsiya Javayant NEGOTIATION
Smith X RimAustraliaAmy Elsner PROPOSAL
Mujtaba F OldroydGermanyXuxue Feng UNQUALIFIED
Izzy B GlickFranceOnyama Limba PROPOSAL
Tony P GlickCanadaElwin Sharvill UNQUALIFIED
Jeanfrancois Y GillianSpainXuxue Feng RENEWAL
Chavez I DoeUnited KingdomIvan Magalhaes NEW
Smith Z SaylorsSpainAnna Fali PROPOSAL
Jeanfrancois X SaylorsAustraliaXuxue Feng QUALIFIED
Smith N RutaGermanyAnna Fali NEW
Munro H FerenczBrazilBernardo Dominic NEGOTIATION
Wickens X MacleadRussiaAmy Elsner PROPOSAL
Francesco H RimFranceAnna Fali PROPOSAL
Morrow T AmigonJapanAmy Elsner PROPOSAL
Leja U FollerCanadaXuxue Feng NEW
Nicolas M CaldareraGermanyXuxue Feng PROPOSAL
Emily O MaletJapanAnna Fali NEGOTIATION
Leon K AlbaresRussiaAmy Elsner NEW
Claire F RulapaughGermanyAsiya Javayant PROPOSAL
Ashley L MacleadBrazilIvan Magalhaes RENEWAL
Emily H GlickGermanyAmy Elsner UNQUALIFIED
Misaki B DoeJapanBernardo Dominic NEW
Aika X ButtIndiaIvan Magalhaes NEGOTIATION
David S IturbideArgentinaBernardo Dominic PROPOSAL
Clifford K BologniaFranceXuxue Feng PROPOSAL
Tony W OldroydCanadaIvan Magalhaes RENEWAL
Maria G FerenczJapanIvan Magalhaes RENEWAL
Mayumi C FigeroaRussiaIoni Bowcher UNQUALIFIED
Chavez T MorascaJapanIvan Magalhaes QUALIFIED
Ricardo Q MaletRussiaXuxue Feng RENEWAL
Costa Y AmigonItalyBernardo Dominic NEW
Greenwood R WieserItalyAmy Elsner NEW
Munro A FollerFranceAnna Fali RENEWAL
Mujtaba U VocelkaGermanyAmy Elsner NEW
Claire I GarufiCanadaAsiya Javayant QUALIFIED
Sinclair Q BologniaCanadaBernardo Dominic PROPOSAL
Wickens G NestleJapanStephen Shaw NEGOTIATION
Kadeem Q StockhamArgentinaOnyama Limba PROPOSAL
Sinclair K SchemmerSpainAmy Elsner NEGOTIATION
Kaitlin X MarrierRussiaStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Faith B NestleSpainBernardo Dominic NEW
Salvatore W InouyeCanadaIvan Magalhaes RENEWAL
Morrow T RoysterItalyAmy Elsner NEW
Arvin B WieserSpainIoni Bowcher UNQUALIFIED
Costa J DoeUnited KingdomAnna Fali PROPOSAL
Jones Y SergiArgentinaAsiya Javayant NEGOTIATION
Isabel L SergiSpainElwin Sharvill UNQUALIFIED
Morrow W StockhamJapanAsiya Javayant NEW
Salvatore A PaprockiItalyElwin Sharvill NEGOTIATION
Juan O RutaAustraliaOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire N KolmetzBrazil2026-07-15King, Christopher A Esq QUALIFIED64Ioni Bowcher
1001Mayumi Z RimRussia2026-07-01Chanay, Jeffrey A Esq PROPOSAL49Asiya Javayant
1002Maria R RimUnited Kingdom2026-07-25Chemel, James L Cpa UNQUALIFIED19Asiya Javayant
1003David O MaletSpain2026-07-29Rousseaux, Michael Esq NEW34Stephen Shaw
1004Leja L SergiBrazil2026-07-09Buckley Miller Wright QUALIFIED86Ivan Magalhaes
1005Alejandro Q ChuiSpain2026-07-07Feiner Bros NEGOTIATION33Stephen Shaw
1006Sinclair F MaletArgentina2026-07-23Morlong Associates RENEWAL62Ivan Magalhaes
1007Chavez I MaletCanada2026-07-17Rousseaux, Michael Esq NEGOTIATION50Onyama Limba
1008Tony R MarrierBrazil2026-07-22Truhlar And Truhlar Attys PROPOSAL2Bernardo Dominic
1009Darci N FigeroaItaly2026-07-14Feltz Printing Service NEW2Anna Fali
1010Mujtaba C OstroskyFrance2026-07-12Benton, John B Jr UNQUALIFIED77Elwin Sharvill
1011Murillo R GauchoUnited Kingdom2026-07-01Chanay, Jeffrey A Esq UNQUALIFIED14Anna Fali
1012James H StockhamGermany2026-07-19Chemel, James L Cpa RENEWAL15Elwin Sharvill
1013Leja H DilliardIndia2026-07-21Feiner Bros NEGOTIATION39Elwin Sharvill
1014Cody B InouyeRussia2026-07-29King, Christopher A Esq NEW44Ivan Magalhaes
1015Murillo L MaletAustralia2026-06-30King, Christopher A Esq UNQUALIFIED80Elwin Sharvill
1016Greenwood I PaprockiUnited Kingdom2026-07-09Printing Dimensions RENEWAL34Xuxue Feng
1017Mayumi X TollnerFrance2026-07-23Feiner Bros PROPOSAL22Xuxue Feng
1018Ricardo E NestleBrazil2026-07-20King, Christopher A Esq RENEWAL73Ioni Bowcher
1019Salvatore Q FlosiJapan2026-07-07Commercial Press NEW9Anna Fali
1020Greenwood G SlusarskiFrance2026-07-10Chanay, Jeffrey A Esq NEW83Ivan Magalhaes
1021Misaki K SlusarskiItaly2026-07-09Chapman, Ross E Esq NEGOTIATION74Onyama Limba
1022Mayumi C ShinkoUnited Kingdom2026-07-25Printing Dimensions NEW92Stephen Shaw
1023Aruna F SaylorsCanada2026-07-17Dorl, James J Esq NEGOTIATION78Xuxue Feng
1024Octavia Y SlusarskiFrance2026-07-03Chemel, James L Cpa NEGOTIATION36Anna Fali
1025Leja S GauchoUnited Kingdom2026-07-12Rousseaux, Michael Esq UNQUALIFIED43Ivan Magalhaes
1026Stacey N ButtFrance2026-07-01Feltz Printing Service PROPOSAL62Ivan Magalhaes
1027Tony X WhobreyAustralia2026-07-12Morlong Associates NEW34Amy Elsner
1028Izzy Q NestleCanada2026-07-25Feltz Printing Service RENEWAL43Xuxue Feng
1029Sinclair B DilliardFrance2026-07-20Chanay, Jeffrey A Esq PROPOSAL81Onyama Limba
1030Juan H MacleadBrazil2026-07-10Chemel, James L Cpa QUALIFIED12Ioni Bowcher
1031Emily N DilliardRussia2026-07-13Feiner Bros RENEWAL20Onyama Limba
1032Ashley K CaudyCanada2026-07-10Rousseaux, Michael Esq UNQUALIFIED97Stephen Shaw
1033Juan S DilliardJapan2026-07-22Feltz Printing Service QUALIFIED5Stephen Shaw
1034Misaki Y PaprockiUnited Kingdom2026-07-26Rangoni Of Florence NEW30Amy Elsner
1035Darci S FollerIndia2026-07-16Commercial Press NEGOTIATION6Bernardo Dominic
1036Antonio H GlickFrance2026-07-17Benton, John B Jr NEGOTIATION64Amy Elsner
1037Jeanfrancois B FigeroaFrance2026-07-17Printing Dimensions NEGOTIATION38Elwin Sharvill
1038Johnson J MarrierFrance2026-07-16Rangoni Of Florence QUALIFIED69Xuxue Feng
1039Cody A DoeCanada2026-07-20Benton, John B Jr NEGOTIATION12Onyama Limba
1040Julie S WhobreyArgentina2026-07-10Printing Dimensions NEW23Stephen Shaw
1041Aditya F DilliardAustralia2026-07-01Truhlar And Truhlar Attys QUALIFIED9Stephen Shaw
1042Maria Z OstroskyUnited Kingdom2026-07-01King, Christopher A Esq NEW86Elwin Sharvill
1043Isabel Y RulapaughFrance2026-07-28Chanay, Jeffrey A Esq NEGOTIATION2Xuxue Feng
1044Kaitlin V GauchoUnited Kingdom2026-07-02Feiner Bros QUALIFIED89Stephen Shaw
1045Emily U CampainSpain2026-07-21King, Christopher A Esq RENEWAL92Ivan Magalhaes
1046Aditya F OldroydGermany2026-07-15Chemel, James L Cpa NEGOTIATION7Xuxue Feng
1047Maria T FollerSpain2026-07-23Buckley Miller Wright QUALIFIED0Ivan Magalhaes
1048Cody K StensethUnited Kingdom2026-07-20Chanay, Jeffrey A Esq UNQUALIFIED97Ivan Magalhaes
1049Maria S StensethAustralia2026-06-30Commercial Press NEW69Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Ashley S FollerFranceAmy Elsner RENEWAL
Maisha Z FollerRussiaAmy Elsner NEW
Emily D VenereBrazilElwin Sharvill PROPOSAL
Silvio H ShinkoFranceElwin Sharvill PROPOSAL
Deepesh S CaudyCanadaIoni Bowcher PROPOSAL
Leja G ShinkoGermanyOnyama Limba NEGOTIATION
Smith E CaldareraCanadaAnna Fali NEW
Ricardo K VenereJapanAmy Elsner NEW
Jones Z MarrierJapanIvan Magalhaes PROPOSAL
Nicolas X BowleyUnited KingdomAsiya Javayant PROPOSAL
David S OldroydGermanyAmy Elsner UNQUALIFIED
Juan D NickaArgentinaXuxue Feng NEW
Morrow W RoysterItalyElwin Sharvill UNQUALIFIED
Ashley M AlbaresJapanIoni Bowcher RENEWAL
Munro L MaletAustraliaAnna Fali NEGOTIATION
Kaitlin U BriddickUnited KingdomElwin Sharvill UNQUALIFIED
Aditya F DarakjyArgentinaAnna Fali NEW
Jeanfrancois V MaletRussiaAsiya Javayant NEW
Salvatore W WaycottFranceStephen Shaw NEGOTIATION
Aditya L RulapaughRussiaElwin Sharvill UNQUALIFIED
Rodrigues D FigeroaJapanXuxue Feng NEW
Aditya J PaprockiRussiaOnyama Limba PROPOSAL
Munro J WhobreyFranceXuxue Feng PROPOSAL
Johnson X GlickFranceIvan Magalhaes NEGOTIATION
David E KuskoBrazilElwin Sharvill RENEWAL
Tony G VocelkaGermanyAmy Elsner NEW
Murillo F BologniaArgentinaOnyama Limba NEW
Mayumi X OldroydFranceIvan Magalhaes UNQUALIFIED
Misaki S DarakjyGermanyIoni Bowcher RENEWAL
Ashley H GillianBrazilStephen Shaw NEGOTIATION
Francesco G InouyeCanadaBernardo Dominic PROPOSAL
Jeanfrancois D TollnerRussiaAsiya Javayant UNQUALIFIED
Darci L SergiBrazilAsiya Javayant QUALIFIED
Faith P RoysterFranceOnyama Limba UNQUALIFIED
Francesco X FerenczUnited KingdomAmy Elsner RENEWAL
Juan M CampainGermanyBernardo Dominic NEGOTIATION
Aika U TollnerItalyOnyama Limba PROPOSAL
Ricardo Q CaudyAustraliaAnna Fali QUALIFIED
Faith S CaudyIndiaAsiya Javayant UNQUALIFIED
Wickens X GauchoBrazilIvan Magalhaes RENEWAL
Juan D RimSpainBernardo Dominic PROPOSAL
Costa E SchemmerRussiaXuxue Feng NEGOTIATION
Misaki J RoysterRussiaIvan Magalhaes NEGOTIATION
Stacey E ButtBrazilElwin Sharvill PROPOSAL
Arvin I CaldareraAustraliaAmy Elsner NEW
Aika F OldroydRussiaIvan Magalhaes RENEWAL
Aika A VenereSpainElwin Sharvill PROPOSAL
Deepesh S MaletItalyIvan Magalhaes QUALIFIED
Juan K AmigonBrazilIvan Magalhaes UNQUALIFIED
Maisha B WaycottSpainBernardo Dominic PROPOSAL
Frozen Columns
Name
Aruna L Bowley
Wickens W Figeroa
Kaitlin U Caudy
Aditya K Malet
Antonio D Vocelka
Francesco K Perin
Leja Z Marrier
Stacey L Marrier
Faith L Ostrosky
Sinclair R Doe
Antonio Y Sergi
Costa G Bolognia
Murillo E Bolognia
James N Poquette
Costa V Tollner
Morrow Z Caldarera
Johnson J Whobrey
Isabel F Waycott
Mujtaba N Flosi
Alejandro H Campain
Claire E Shinko
Juan V Inouye
Stacey Z Caudy
David I Oldroyd
Maisha U Iturbide
Greenwood U Caudy
Costa Q Malet
Jones R Venere
Leja F Dilliard
Leon E Paprocki
Adams B Schemmer
Johnson H Kusko
Julie F Oldroyd
Rodrigues Q Nicka
Nicolas Q Doe
Jennifer N Whobrey
Antonio Y Nicka
Ashley A Marrier
Julie B Sergi
Octavia M Foller
Aruna I Wieser
Emily L Stockham
Misaki W Gillian
Arvin J Morasca
Octavia X Ruta
Aditya R Wieser
David V Bowley
Jeanfrancois Q Vocelka
David W Bolognia
Ricardo W Saylors
IdCountryDate
1000France2026-07-02
1001France2026-07-18
1002Russia2026-07-28
1003Russia2026-07-09
1004India2026-07-14
1005Germany2026-07-24
1006Spain2026-07-13
1007Russia2026-07-27
1008France2026-07-09
1009Germany2026-07-01
1010France2026-07-18
1011Brazil2026-06-30
1012Australia2026-07-27
1013Australia2026-07-23
1014Italy2026-07-10
1015Canada2026-07-08
1016France2026-07-23
1017Russia2026-07-25
1018Canada2026-07-09
1019India2026-07-12
1020France2026-07-14
1021France2026-07-05
1022Australia2026-07-11
1023Canada2026-07-16
1024Australia2026-07-01
1025Canada2026-07-11
1026Russia2026-07-09
1027Japan2026-07-02
1028Italy2026-07-11
1029Japan2026-07-13
1030Spain2026-07-05
1031Australia2026-07-18
1032Japan2026-07-02
1033India2026-07-08
1034Russia2026-07-19
1035Japan2026-07-01
1036France2026-07-05
1037Argentina2026-07-14
1038United Kingdom2026-07-05
1039Australia2026-07-04
1040Australia2026-07-17
1041Germany2026-07-04
1042Spain2026-07-15
1043Russia2026-07-20
1044Brazil2026-07-14
1045Spain2026-07-26
1046France2026-07-03
1047Brazil2026-07-24
1048Argentina2026-07-05
1049Spain2026-07-22

On-Demand Data

NameIdCountryDate
Arvin G Oldroyd1000Brazil2026-07-10
Antonio I Iturbide1001Italy2026-07-12
Greenwood F Paprocki1002Canada2026-07-02
Ashley D Glick1003Canada2026-07-16
Emily N Campain1004Argentina2026-07-20
Adams V Whobrey1005Brazil2026-07-21
Jennifer A Chui1006Germany2026-07-17
Murillo O Paprocki1007Brazil2026-07-16
Jennifer F Maclead1008Canada2026-07-02
Smith V Perin1009Spain2026-07-09
Silvio Z Paprocki1010Japan2026-07-26
Jefferson K Rulapaugh1011France2026-07-15
Claire F Ferencz1012France2026-07-16
Faith T Whobrey1013Argentina2026-07-24
Jefferson C Foller1014France2026-06-30
Munro N Caudy1015France2026-07-02
Rodrigues A Flosi1016Germany2026-07-26
Isabel P Butt1017Brazil2026-07-19
Arvin I Poquette1018United Kingdom2026-07-14
Maria N Maclead1019Japan2026-07-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens X BologniaIndiaAnna Fali NEW
Leon E BriddickSpainAmy Elsner NEGOTIATION
Stacey X FlosiCanadaStephen Shaw PROPOSAL
Leja S PaprockiRussiaXuxue Feng RENEWAL
Tony K NickaBrazilIvan Magalhaes QUALIFIED
Munro H BowleySpainXuxue Feng RENEWAL
Rodrigues Y DoeCanadaAmy Elsner PROPOSAL
Mayumi E FlosiJapanStephen Shaw UNQUALIFIED
Cody F SaylorsSpainXuxue Feng NEGOTIATION
Smith J VenereCanadaStephen Shaw NEW
Greenwood W NickaAustraliaXuxue Feng RENEWAL
Johnson C VenereSpainAnna Fali RENEWAL
David V MaletRussiaElwin Sharvill NEW
Munro G WhobreyUnited KingdomIoni Bowcher NEGOTIATION
Julie F BowleyItalyBernardo Dominic NEGOTIATION
Maria T DoeUnited KingdomIoni Bowcher NEGOTIATION
Jeanfrancois S AmigonUnited KingdomBernardo Dominic UNQUALIFIED
Claire M CampainBrazilStephen Shaw NEGOTIATION
Jones X OstroskyIndiaIoni Bowcher PROPOSAL
Maria I KolmetzSpainElwin Sharvill PROPOSAL
Tony C GlickRussiaAnna Fali NEW
Aditya L DilliardJapanElwin Sharvill NEGOTIATION
Isabel B FlosiIndiaAmy Elsner UNQUALIFIED
Alejandro P SergiAustraliaBernardo Dominic PROPOSAL
Octavia I DilliardJapanElwin Sharvill RENEWAL
Jones W IturbideSpainIvan Magalhaes RENEWAL
Greenwood C RulapaughFranceAnna Fali RENEWAL
Murillo B OldroydUnited KingdomStephen Shaw UNQUALIFIED
Chavez N StensethCanadaXuxue Feng PROPOSAL
Deepesh V RutaRussiaXuxue Feng PROPOSAL
Greenwood P StockhamCanadaXuxue Feng QUALIFIED
Octavia O AmigonBrazilAsiya Javayant RENEWAL
Smith Z AmigonJapanXuxue Feng RENEWAL
Kaitlin X GauchoJapanIoni Bowcher RENEWAL
Greenwood K RutaSpainAmy Elsner UNQUALIFIED
Mayumi B RutaRussiaAmy Elsner NEW
Smith Y MacleadAustraliaElwin Sharvill PROPOSAL
Maria Z TollnerUnited KingdomXuxue Feng QUALIFIED
Wickens M FigeroaBrazilIoni Bowcher QUALIFIED
Morrow X CaudyFranceElwin Sharvill PROPOSAL

<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>