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
Salvatore C WieserBrazilXuxue Feng NEW
Izzy K CampainIndiaIvan Magalhaes RENEWAL
Costa P KolmetzBrazilIoni Bowcher PROPOSAL
Francesco Z RulapaughBrazilAnna Fali QUALIFIED
Juan A KolmetzCanadaIvan Magalhaes UNQUALIFIED
Stacey O NestleIndiaAsiya Javayant NEW
Jennifer M BowleyGermanyAmy Elsner NEGOTIATION
Aika S GarufiCanadaIvan Magalhaes RENEWAL
Aika M RimAustraliaXuxue Feng NEGOTIATION
Misaki C OstroskyCanadaAsiya Javayant PROPOSAL
Claire N MaletIndiaIvan Magalhaes NEGOTIATION
David P VenereFranceElwin Sharvill NEW
Salvatore F PaprockiFranceIvan Magalhaes UNQUALIFIED
Cody V BowleyCanadaIoni Bowcher NEGOTIATION
Ashley B MorascaBrazilBernardo Dominic NEW
Morrow C CaldareraItalyAnna Fali UNQUALIFIED
Kadeem A CampainIndiaElwin Sharvill NEW
Johnson Z FollerGermanyIoni Bowcher NEW
Maisha B RoysterGermanyAnna Fali UNQUALIFIED
Octavia C NestleRussiaAnna Fali UNQUALIFIED
James D WieserIndiaAmy Elsner UNQUALIFIED
Munro I WaycottGermanyStephen Shaw NEGOTIATION
Silvio C GarufiItalyElwin Sharvill PROPOSAL
Murillo K KolmetzItalyStephen Shaw UNQUALIFIED
Kadeem C DoeAustraliaAsiya Javayant RENEWAL
Greenwood Z SlusarskiSpainAnna Fali NEGOTIATION
Smith A BriddickRussiaAnna Fali QUALIFIED
Faith I GillianJapanBernardo Dominic QUALIFIED
Clifford G RimSpainIvan Magalhaes PROPOSAL
Jennifer L FigeroaItalyAmy Elsner NEGOTIATION
Deepesh N OldroydJapanXuxue Feng NEW
Wickens R GarufiIndiaBernardo Dominic UNQUALIFIED
Deepesh T OstroskyAustraliaIvan Magalhaes NEGOTIATION
Aika K NickaGermanyIvan Magalhaes NEGOTIATION
Jennifer Z BriddickRussiaElwin Sharvill PROPOSAL
Isabel F RimArgentinaIvan Magalhaes NEW
Adams D BriddickIndiaXuxue Feng UNQUALIFIED
Antonio V StockhamFranceAsiya Javayant RENEWAL
Aruna S VenereAustraliaAnna Fali UNQUALIFIED
Claire X MaletIndiaAsiya Javayant NEW
Maria I InouyeRussiaAsiya Javayant NEW
Adams J FollerSpainIoni Bowcher UNQUALIFIED
Kadeem Y OstroskyArgentinaBernardo Dominic NEW
Tony F GauchoArgentinaAnna Fali NEGOTIATION
Arvin W KuskoAustraliaBernardo Dominic UNQUALIFIED
Nicolas I DoeIndiaAnna Fali NEW
Chavez V RimAustraliaIvan Magalhaes PROPOSAL
Mujtaba A FerenczCanadaStephen Shaw UNQUALIFIED
Maisha Y TollnerGermanyXuxue Feng RENEWAL
Mayumi L StensethFranceIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Misaki Q VocelkaRussiaStephen Shaw NEGOTIATION
James V BowleyIndiaAnna Fali QUALIFIED
Salvatore A GlickAustraliaStephen Shaw UNQUALIFIED
Greenwood X InouyeUnited KingdomAnna Fali QUALIFIED
Costa K WaycottFranceIoni Bowcher RENEWAL
Jones K OldroydBrazilBernardo Dominic NEGOTIATION
Francesco I InouyeItalyIvan Magalhaes PROPOSAL
Nicolas P GarufiJapanAmy Elsner QUALIFIED
Kadeem D PoquetteFranceIoni Bowcher PROPOSAL
Mayumi G MorascaJapanBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues L ButtRussia2026-06-29Feiner Bros QUALIFIED77Asiya Javayant
1001Maria L CampainFrance2026-06-27Buckley Miller Wright NEW21Amy Elsner
1002Francesco S IturbideItaly2026-07-05Rousseaux, Michael Esq NEW19Ivan Magalhaes
1003Smith L PoquetteGermany2026-07-07Rangoni Of Florence NEW86Elwin Sharvill
1004Deepesh L PaprockiUnited Kingdom2026-07-02Feiner Bros NEW47Anna Fali
1005Izzy C FollerGermany2026-07-11Truhlar And Truhlar Attys RENEWAL77Ioni Bowcher
1006Alejandro L AlbaresFrance2026-07-05Commercial Press QUALIFIED40Amy Elsner
1007Morrow A NestleIndia2026-07-02Dorl, James J Esq UNQUALIFIED1Stephen Shaw
1008Wickens U MorascaIndia2026-06-29Commercial Press RENEWAL26Elwin Sharvill
1009Munro X ButtCanada2026-07-17Printing Dimensions NEW71Ioni Bowcher
1010Deepesh M FerenczCanada2026-07-20King, Christopher A Esq RENEWAL12Ioni Bowcher
1011Deepesh O PaprockiAustralia2026-06-30Feltz Printing Service UNQUALIFIED94Asiya Javayant
1012Misaki W AlbaresCanada2026-07-11Dorl, James J Esq RENEWAL90Elwin Sharvill
1013Nicolas F BologniaIndia2026-07-08Chemel, James L Cpa QUALIFIED71Amy Elsner
1014Deepesh X GarufiCanada2026-07-06Truhlar And Truhlar Attys QUALIFIED71Anna Fali
1015James Z GarufiCanada2026-07-23Benton, John B Jr NEW54Asiya Javayant
1016Nicolas T RulapaughArgentina2026-07-12King, Christopher A Esq UNQUALIFIED24Elwin Sharvill
1017Misaki V BowleyArgentina2026-07-01Printing Dimensions PROPOSAL15Stephen Shaw
1018Leja K CaudyJapan2026-07-11Feiner Bros NEW57Elwin Sharvill
1019Kadeem Y OstroskyJapan2026-07-21Chemel, James L Cpa UNQUALIFIED78Ioni Bowcher
1020Arvin B KolmetzIndia2026-07-01Printing Dimensions RENEWAL19Asiya Javayant
1021Aruna G BowleyItaly2026-07-11Rangoni Of Florence NEGOTIATION73Ivan Magalhaes
1022Wickens M BologniaRussia2026-07-07Morlong Associates QUALIFIED53Bernardo Dominic
1023Misaki U KuskoRussia2026-07-18Morlong Associates QUALIFIED64Onyama Limba
1024Clifford Y PaprockiGermany2026-07-09Chemel, James L Cpa NEW82Amy Elsner
1025Rodrigues R RulapaughSpain2026-07-10Chanay, Jeffrey A Esq NEGOTIATION42Ivan Magalhaes
1026Stacey S RimUnited Kingdom2026-06-27Morlong Associates PROPOSAL52Asiya Javayant
1027Kaitlin R FigeroaSpain2026-07-17Morlong Associates QUALIFIED26Amy Elsner
1028Leja I PaprockiBrazil2026-07-18Morlong Associates NEGOTIATION28Anna Fali
1029James O CaudyBrazil2026-06-25Chemel, James L Cpa NEGOTIATION19Ioni Bowcher
1030Leja W AmigonJapan2026-07-18Dorl, James J Esq PROPOSAL55Amy Elsner
1031Sinclair G CaldareraSpain2026-07-19Buckley Miller Wright RENEWAL53Onyama Limba
1032Julie F FerenczBrazil2026-07-16Rangoni Of Florence PROPOSAL11Stephen Shaw
1033Aditya Y CaldareraRussia2026-06-25Rousseaux, Michael Esq RENEWAL24Stephen Shaw
1034Chavez V RutaArgentina2026-06-24Feiner Bros RENEWAL92Asiya Javayant
1035Juan T GarufiJapan2026-07-17Commercial Press UNQUALIFIED78Amy Elsner
1036Leja F InouyeItaly2026-07-06Morlong Associates QUALIFIED4Stephen Shaw
1037Johnson K TollnerUnited Kingdom2026-07-11Buckley Miller Wright UNQUALIFIED47Elwin Sharvill
1038Costa W NestleUnited Kingdom2026-07-18Chapman, Ross E Esq QUALIFIED91Anna Fali
1039Nicolas N MorascaGermany2026-07-01Rangoni Of Florence RENEWAL4Ioni Bowcher
1040Misaki C StensethUnited Kingdom2026-07-05Feiner Bros RENEWAL49Xuxue Feng
1041David W MaletBrazil2026-07-07Chapman, Ross E Esq PROPOSAL83Elwin Sharvill
1042Aika C GillianFrance2026-07-12Morlong Associates PROPOSAL73Ioni Bowcher
1043Nicolas U ButtAustralia2026-06-25Feiner Bros UNQUALIFIED5Onyama Limba
1044Munro R GillianRussia2026-07-22Rousseaux, Michael Esq UNQUALIFIED42Stephen Shaw
1045Smith L TollnerGermany2026-07-09Printing Dimensions NEW54Bernardo Dominic
1046Kaitlin C OstroskyIndia2026-07-08Chemel, James L Cpa UNQUALIFIED32Asiya Javayant
1047Kadeem P FollerAustralia2026-07-23Chapman, Ross E Esq PROPOSAL87Ioni Bowcher
1048Aditya A GarufiItaly2026-07-12Truhlar And Truhlar Attys NEGOTIATION61Stephen Shaw
1049Murillo P DoeFrance2026-06-26Feiner Bros NEW76Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Aika W StensethArgentinaIvan Magalhaes PROPOSAL
Mujtaba F OstroskyRussiaElwin Sharvill UNQUALIFIED
Isabel G BologniaJapanIoni Bowcher NEW
Kadeem J FigeroaUnited KingdomOnyama Limba QUALIFIED
Julie R RoysterCanadaElwin Sharvill NEW
James X FlosiGermanyStephen Shaw RENEWAL
Julie Y VenereSpainXuxue Feng UNQUALIFIED
Deepesh W FollerUnited KingdomElwin Sharvill NEW
Nicolas H MorascaIndiaAnna Fali QUALIFIED
Clifford F VenereBrazilXuxue Feng RENEWAL
Clifford D NickaIndiaElwin Sharvill QUALIFIED
Leja A GlickCanadaStephen Shaw PROPOSAL
Cody O StockhamCanadaIoni Bowcher NEGOTIATION
Deepesh D VocelkaSpainAmy Elsner PROPOSAL
Aditya J KolmetzRussiaBernardo Dominic PROPOSAL
Greenwood L FigeroaAustraliaBernardo Dominic UNQUALIFIED
Sinclair G TollnerRussiaIoni Bowcher NEW
Maria N IturbideCanadaStephen Shaw RENEWAL
Maria Y GauchoIndiaBernardo Dominic NEGOTIATION
Stacey M StensethBrazilAnna Fali UNQUALIFIED
Jones B FollerAustraliaAsiya Javayant RENEWAL
Adams Z CaudyFranceStephen Shaw NEGOTIATION
Jefferson A FerenczUnited KingdomAsiya Javayant NEW
Aruna V OldroydRussiaElwin Sharvill PROPOSAL
Maria C CampainFranceIvan Magalhaes NEGOTIATION
James B StockhamCanadaOnyama Limba PROPOSAL
Maria O GarufiJapanIvan Magalhaes UNQUALIFIED
Maria Q DarakjySpainIvan Magalhaes NEW
Alejandro N StockhamArgentinaOnyama Limba NEW
Claire S GauchoRussiaOnyama Limba UNQUALIFIED
David H MaletFranceAsiya Javayant NEGOTIATION
Clifford Z WaycottFranceIvan Magalhaes PROPOSAL
Munro M WhobreyArgentinaAnna Fali UNQUALIFIED
Faith H OldroydSpainElwin Sharvill UNQUALIFIED
Morrow I BriddickAustraliaBernardo Dominic NEW
Ivar P VocelkaUnited KingdomAnna Fali PROPOSAL
Maisha P CampainUnited KingdomIvan Magalhaes NEGOTIATION
Jones E WaycottArgentinaOnyama Limba NEGOTIATION
Ashley X SchemmerUnited KingdomIvan Magalhaes RENEWAL
Antonio A FlosiIndiaBernardo Dominic RENEWAL
Izzy O CampainGermanyXuxue Feng UNQUALIFIED
Cody S KolmetzArgentinaAsiya Javayant UNQUALIFIED
Cody B FerenczFranceIvan Magalhaes RENEWAL
Wickens G VenereFranceStephen Shaw UNQUALIFIED
Jeanfrancois C GillianIndiaAnna Fali PROPOSAL
Octavia L CaudyIndiaAmy Elsner UNQUALIFIED
Jefferson B NestleGermanyIoni Bowcher NEGOTIATION
Rodrigues U VocelkaUnited KingdomAmy Elsner PROPOSAL
Leon S StensethGermanyOnyama Limba UNQUALIFIED
Isabel Y RoysterItalyIvan Magalhaes PROPOSAL
Frozen Columns
Name
Octavia G Inouye
Antonio E Albares
Aruna I Chui
Aditya Q Maclead
Smith G Rulapaugh
Ricardo S Foller
Johnson B Glick
Cody J Saylors
Mujtaba R Whobrey
Juan R Schemmer
Maria H Whobrey
Mujtaba S Garufi
Munro K Dilliard
Jones P Ruta
Maria P Maclead
James H Inouye
Julie X Stockham
Maisha V Figeroa
Aika Y Malet
Munro P Morasca
David K Garufi
Aika A Maclead
Nicolas K Maclead
Deepesh H Poquette
Sinclair C Kolmetz
Aruna W Malet
Clifford P Rulapaugh
Stacey S Kusko
Jefferson B Malet
Jefferson N Doe
Maria Z Rim
Claire F Campain
Ivar E Inouye
Mayumi V Doe
Kaitlin T Gaucho
Leja Y Nicka
Aika O Bowley
Kaitlin A Saylors
Nicolas C Royster
Emily V Vocelka
Costa V Poquette
Sinclair I Wieser
Jeanfrancois V Ruta
Johnson W Flosi
Ivar X Darakjy
Aika Y Caldarera
Octavia M Kolmetz
Morrow Q Slusarski
Alejandro J Stenseth
Julie B Malet
IdCountryDate
1000India2026-07-08
1001France2026-07-21
1002United Kingdom2026-07-23
1003Spain2026-07-05
1004Spain2026-07-17
1005Canada2026-07-18
1006Germany2026-06-28
1007Australia2026-07-02
1008Italy2026-07-18
1009Japan2026-07-19
1010Australia2026-07-22
1011Argentina2026-06-28
1012Italy2026-07-15
1013Spain2026-07-08
1014United Kingdom2026-07-01
1015France2026-07-23
1016Canada2026-06-25
1017Argentina2026-07-14
1018United Kingdom2026-07-21
1019Spain2026-07-02
1020Germany2026-06-27
1021Canada2026-07-13
1022Italy2026-06-26
1023India2026-07-06
1024Japan2026-07-16
1025France2026-06-26
1026Italy2026-07-09
1027France2026-07-02
1028Russia2026-07-15
1029India2026-07-11
1030Canada2026-07-11
1031India2026-07-21
1032Japan2026-07-22
1033United Kingdom2026-07-18
1034Canada2026-06-26
1035France2026-07-23
1036Argentina2026-06-27
1037Brazil2026-07-05
1038Canada2026-07-21
1039Germany2026-07-06
1040Brazil2026-07-16
1041France2026-07-05
1042Canada2026-06-30
1043Japan2026-07-23
1044Argentina2026-06-25
1045Argentina2026-06-27
1046India2026-07-01
1047Germany2026-06-30
1048Australia2026-07-16
1049Russia2026-07-09

On-Demand Data

NameIdCountryDate
Darci W Dilliard1000Canada2026-07-01
Greenwood G Morasca1001Japan2026-06-27
Octavia T Whobrey1002Germany2026-07-12
Jennifer L Chui1003United Kingdom2026-07-22
Leon K Caldarera1004Russia2026-06-25
Jennifer D Malet1005Canada2026-06-30
Wickens N Sergi1006Canada2026-07-18
Jones A Bolognia1007Japan2026-07-18
Rodrigues P Flosi1008Spain2026-07-04
Kadeem A Dilliard1009France2026-06-25
Arvin U Briddick1010Brazil2026-07-18
Cody X Schemmer1011Brazil2026-06-27
Maisha Y Nestle1012Germany2026-06-25
Izzy X Malet1013Italy2026-06-27
Aruna W Kusko1014Russia2026-07-09
Francesco R Inouye1015Australia2026-07-22
Faith T Campain1016India2026-06-25
Leja L Nicka1017Argentina2026-07-17
Mayumi K Oldroyd1018India2026-07-15
Juan Z Stenseth1019Russia2026-07-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria Y AlbaresAustraliaXuxue Feng RENEWAL
Tony A SergiBrazilStephen Shaw NEW
Jones U MaletJapanStephen Shaw RENEWAL
Francesco P ChuiJapanXuxue Feng RENEWAL
Murillo V SaylorsCanadaStephen Shaw QUALIFIED
Claire V CampainArgentinaElwin Sharvill NEGOTIATION
Munro X InouyeFranceAnna Fali QUALIFIED
Aruna U VenereAustraliaIoni Bowcher RENEWAL
Tony Y GarufiBrazilAsiya Javayant UNQUALIFIED
Wickens I DilliardJapanIvan Magalhaes RENEWAL
Kadeem C RutaJapanAnna Fali RENEWAL
Maisha X MaletUnited KingdomBernardo Dominic NEGOTIATION
Munro S MaletUnited KingdomAmy Elsner QUALIFIED
Kaitlin L MaletSpainAnna Fali RENEWAL
Aruna J BriddickIndiaStephen Shaw NEW
Wickens M FigeroaAustraliaOnyama Limba QUALIFIED
Morrow E DarakjyItalyAmy Elsner QUALIFIED
Maisha Q MacleadUnited KingdomBernardo Dominic PROPOSAL
Maria S TollnerUnited KingdomStephen Shaw UNQUALIFIED
Morrow S GlickSpainStephen Shaw UNQUALIFIED
Silvio C OstroskyItalyXuxue Feng QUALIFIED
Stacey C GlickCanadaIoni Bowcher NEGOTIATION
Mayumi U MaletRussiaStephen Shaw RENEWAL
Darci C NickaUnited KingdomAmy Elsner UNQUALIFIED
Wickens K WhobreyUnited KingdomIoni Bowcher RENEWAL
Juan N MaletAustraliaAsiya Javayant NEW
Wickens A CampainCanadaXuxue Feng PROPOSAL
Maria M MaletRussiaXuxue Feng NEW
Costa U VocelkaGermanyIoni Bowcher PROPOSAL
Jennifer T DilliardBrazilIvan Magalhaes UNQUALIFIED
Faith R PerinUnited KingdomIvan Magalhaes NEGOTIATION
Chavez Y TollnerRussiaOnyama Limba QUALIFIED
Sinclair H MaletArgentinaStephen Shaw PROPOSAL
James U FigeroaBrazilOnyama Limba NEGOTIATION
Deepesh U MaletBrazilIvan Magalhaes NEGOTIATION
Antonio K StockhamBrazilIoni Bowcher RENEWAL
Deepesh D ChuiSpainIvan Magalhaes NEGOTIATION
Jennifer H MorascaSpainAnna Fali NEW
Darci P TollnerGermanyIvan Magalhaes QUALIFIED
Munro A RimSpainStephen Shaw 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>