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
Faith L AlbaresFranceStephen Shaw NEW
Sinclair Q WieserSpainAmy Elsner NEGOTIATION
Ashley O NestleArgentinaAnna Fali QUALIFIED
Mujtaba G DarakjyBrazilIoni Bowcher UNQUALIFIED
Isabel E ShinkoBrazilAnna Fali RENEWAL
Emily Y MorascaBrazilStephen Shaw PROPOSAL
Kaitlin C InouyeIndiaIvan Magalhaes RENEWAL
Morrow H MaletAustraliaAmy Elsner UNQUALIFIED
Misaki P SchemmerAustraliaXuxue Feng NEW
Morrow X PaprockiGermanyElwin Sharvill RENEWAL
Deepesh E ShinkoSpainXuxue Feng RENEWAL
Smith N PoquetteItalyIoni Bowcher QUALIFIED
Ashley O TollnerRussiaBernardo Dominic NEW
Kaitlin Y RoysterSpainIvan Magalhaes QUALIFIED
Maria N DilliardRussiaElwin Sharvill RENEWAL
Izzy Z BriddickUnited KingdomIvan Magalhaes UNQUALIFIED
Sinclair T StensethCanadaStephen Shaw RENEWAL
Deepesh E InouyeUnited KingdomBernardo Dominic UNQUALIFIED
Leja C OstroskyBrazilAnna Fali RENEWAL
Deepesh A TollnerRussiaAmy Elsner NEGOTIATION
Jeanfrancois A BriddickGermanyOnyama Limba NEW
Octavia E FerenczItalyOnyama Limba RENEWAL
Faith X StockhamBrazilAmy Elsner NEGOTIATION
Smith C ShinkoAustraliaBernardo Dominic QUALIFIED
Ricardo G FollerFranceAnna Fali UNQUALIFIED
James M TollnerBrazilAnna Fali PROPOSAL
Aditya J FerenczRussiaIvan Magalhaes NEW
Johnson H ShinkoBrazilElwin Sharvill NEW
Arvin J KuskoItalyXuxue Feng NEW
Johnson N OstroskyIndiaAmy Elsner PROPOSAL
Tony J KolmetzAustraliaAmy Elsner NEW
Emily V GarufiItalyBernardo Dominic RENEWAL
Deepesh M ChuiUnited KingdomElwin Sharvill RENEWAL
Deepesh H BowleyFranceIvan Magalhaes NEGOTIATION
Jeanfrancois I GillianGermanyOnyama Limba PROPOSAL
Kadeem A RulapaughArgentinaBernardo Dominic QUALIFIED
Alejandro K ButtFranceStephen Shaw PROPOSAL
Jefferson Z RulapaughCanadaAsiya Javayant QUALIFIED
Francesco J MacleadCanadaIvan Magalhaes QUALIFIED
Kadeem J KolmetzUnited KingdomIoni Bowcher NEW
Octavia X SlusarskiRussiaElwin Sharvill NEGOTIATION
Mayumi N GauchoGermanyIvan Magalhaes PROPOSAL
Maisha Q BologniaBrazilOnyama Limba PROPOSAL
David Z VocelkaAustraliaIvan Magalhaes UNQUALIFIED
Claire A RulapaughArgentinaIvan Magalhaes UNQUALIFIED
Greenwood P DoeFranceOnyama Limba NEGOTIATION
Jeanfrancois Q KolmetzSpainIoni Bowcher RENEWAL
Smith F DoeUnited KingdomIvan Magalhaes NEGOTIATION
David H RutaFranceIoni Bowcher NEGOTIATION
Cody P FollerIndiaAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mayumi L KuskoJapanStephen Shaw QUALIFIED
Claire T CampainFranceAnna Fali RENEWAL
Kaitlin F KuskoArgentinaIvan Magalhaes RENEWAL
Tony C GauchoBrazilOnyama Limba NEGOTIATION
Jennifer J StockhamArgentinaElwin Sharvill NEW
Nicolas W TollnerSpainOnyama Limba NEGOTIATION
Ashley U MacleadUnited KingdomStephen Shaw QUALIFIED
Jefferson B StensethArgentinaIoni Bowcher NEGOTIATION
Ivar S GarufiUnited KingdomAsiya Javayant QUALIFIED
Ashley R BowleyCanadaXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David A RutaItaly2026-07-20Rangoni Of Florence NEGOTIATION81Ioni Bowcher
1001Stacey H TollnerIndia2026-07-24Buckley Miller Wright RENEWAL80Stephen Shaw
1002Morrow T PoquetteGermany2026-08-10Rangoni Of Florence PROPOSAL82Asiya Javayant
1003Misaki X DoeJapan2026-08-03Feiner Bros QUALIFIED93Anna Fali
1004Arvin S SchemmerBrazil2026-08-12Benton, John B Jr UNQUALIFIED2Onyama Limba
1005Faith U DarakjyCanada2026-07-22Chanay, Jeffrey A Esq PROPOSAL18Stephen Shaw
1006Maria X GlickArgentina2026-07-23Rousseaux, Michael Esq RENEWAL75Elwin Sharvill
1007Francesco S KuskoGermany2026-08-15Morlong Associates NEGOTIATION83Bernardo Dominic
1008Sinclair M BriddickJapan2026-08-10Truhlar And Truhlar Attys NEGOTIATION94Stephen Shaw
1009Isabel F KuskoItaly2026-08-05Morlong Associates PROPOSAL47Asiya Javayant
1010Darci Z StockhamBrazil2026-08-02Chanay, Jeffrey A Esq NEW81Stephen Shaw
1011Greenwood O GauchoUnited Kingdom2026-07-20Rousseaux, Michael Esq PROPOSAL69Bernardo Dominic
1012Kaitlin U VocelkaGermany2026-08-12Buckley Miller Wright RENEWAL21Asiya Javayant
1013Nicolas K MorascaGermany2026-08-14Buckley Miller Wright RENEWAL22Ioni Bowcher
1014Octavia Y RimSpain2026-08-08Chemel, James L Cpa NEGOTIATION14Asiya Javayant
1015Ricardo E PoquetteItaly2026-08-15Buckley Miller Wright NEW2Anna Fali
1016Francesco I PaprockiIndia2026-08-07Morlong Associates NEGOTIATION8Elwin Sharvill
1017Kaitlin R SaylorsIndia2026-07-21Commercial Press PROPOSAL35Stephen Shaw
1018Morrow I DarakjyBrazil2026-08-11Morlong Associates QUALIFIED91Anna Fali
1019Emily A SchemmerFrance2026-07-29Benton, John B Jr NEGOTIATION78Bernardo Dominic
1020James P VenereIndia2026-07-27Chapman, Ross E Esq UNQUALIFIED42Stephen Shaw
1021Johnson B AmigonFrance2026-07-28Feltz Printing Service NEGOTIATION17Bernardo Dominic
1022Chavez H OstroskyBrazil2026-07-17Printing Dimensions PROPOSAL26Stephen Shaw
1023Kaitlin Z GlickFrance2026-07-27Morlong Associates UNQUALIFIED80Amy Elsner
1024Aditya W KuskoAustralia2026-07-24King, Christopher A Esq PROPOSAL46Ioni Bowcher
1025Mayumi A RutaAustralia2026-07-19Feltz Printing Service QUALIFIED66Onyama Limba
1026Claire A WaycottCanada2026-08-05Truhlar And Truhlar Attys NEW9Xuxue Feng
1027Maisha Z PaprockiSpain2026-07-22Commercial Press UNQUALIFIED11Ioni Bowcher
1028Mujtaba K StensethFrance2026-07-18Truhlar And Truhlar Attys RENEWAL20Asiya Javayant
1029Chavez N MarrierRussia2026-07-25Feltz Printing Service NEGOTIATION28Ioni Bowcher
1030Francesco H MaletBrazil2026-08-06Chemel, James L Cpa NEW14Anna Fali
1031Francesco X StockhamArgentina2026-07-25Chemel, James L Cpa UNQUALIFIED50Xuxue Feng
1032Morrow Y KuskoUnited Kingdom2026-07-29Morlong Associates PROPOSAL47Onyama Limba
1033Morrow F FerenczBrazil2026-07-30Feiner Bros RENEWAL49Onyama Limba
1034Julie W MacleadFrance2026-08-02Commercial Press NEW28Elwin Sharvill
1035Wickens T SchemmerJapan2026-08-08Rangoni Of Florence NEGOTIATION91Ivan Magalhaes
1036Misaki P KuskoAustralia2026-08-10Morlong Associates NEW66Ioni Bowcher
1037Claire O StockhamGermany2026-07-17Rangoni Of Florence QUALIFIED15Stephen Shaw
1038Johnson S SchemmerAustralia2026-08-07Dorl, James J Esq UNQUALIFIED65Stephen Shaw
1039Salvatore E ButtItaly2026-08-11Morlong Associates NEGOTIATION72Onyama Limba
1040Isabel R TollnerCanada2026-07-27Feiner Bros RENEWAL1Xuxue Feng
1041Ashley O MarrierBrazil2026-07-24Chemel, James L Cpa NEGOTIATION18Asiya Javayant
1042Mayumi X WhobreyGermany2026-07-22Morlong Associates NEGOTIATION44Bernardo Dominic
1043Ricardo Q NestleBrazil2026-08-03Buckley Miller Wright NEGOTIATION21Elwin Sharvill
1044Rodrigues V RutaJapan2026-07-29Benton, John B Jr NEW78Anna Fali
1045Faith M RulapaughItaly2026-08-10Commercial Press NEGOTIATION81Amy Elsner
1046James P FerenczIndia2026-08-08Rousseaux, Michael Esq RENEWAL26Bernardo Dominic
1047Sinclair G AmigonBrazil2026-08-05Rangoni Of Florence RENEWAL60Anna Fali
1048Greenwood W MacleadArgentina2026-08-09Buckley Miller Wright NEW58Anna Fali
1049David S CaudyUnited Kingdom2026-08-02Chemel, James L Cpa RENEWAL89Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Jones D FerenczRussiaBernardo Dominic UNQUALIFIED
Antonio O VenereAustraliaStephen Shaw NEW
Isabel Y FlosiIndiaElwin Sharvill NEGOTIATION
Sinclair V BowleyJapanOnyama Limba RENEWAL
Mayumi K FerenczArgentinaIoni Bowcher QUALIFIED
Maria R RulapaughUnited KingdomAsiya Javayant NEGOTIATION
Darci L OstroskyArgentinaStephen Shaw UNQUALIFIED
Ashley J AmigonJapanBernardo Dominic NEW
Sinclair V VenereIndiaXuxue Feng UNQUALIFIED
Mujtaba D BologniaGermanyAsiya Javayant NEW
Ricardo M GillianBrazilElwin Sharvill NEGOTIATION
James K GillianBrazilIvan Magalhaes QUALIFIED
Costa V DoeItalyAmy Elsner PROPOSAL
Jennifer Q NestleIndiaIoni Bowcher QUALIFIED
Aditya P RulapaughItalyXuxue Feng PROPOSAL
Silvio C CaudyFranceIvan Magalhaes UNQUALIFIED
Octavia O PoquetteCanadaAmy Elsner QUALIFIED
Aditya J FollerGermanyXuxue Feng NEW
Jeanfrancois I OldroydAustraliaAmy Elsner RENEWAL
Stacey V VocelkaRussiaIvan Magalhaes PROPOSAL
Julie X FerenczGermanyStephen Shaw UNQUALIFIED
Maria C CaudyArgentinaIvan Magalhaes RENEWAL
Rodrigues R FerenczItalyXuxue Feng RENEWAL
Munro X GauchoJapanElwin Sharvill RENEWAL
Juan Q CaudyUnited KingdomIoni Bowcher QUALIFIED
Claire K GarufiFranceStephen Shaw NEGOTIATION
Aruna Y WieserIndiaAnna Fali NEGOTIATION
Munro B FerenczGermanyIvan Magalhaes NEGOTIATION
Ricardo C GillianGermanyAnna Fali NEGOTIATION
Jennifer G StensethSpainElwin Sharvill QUALIFIED
Emily D GauchoJapanStephen Shaw QUALIFIED
Misaki T MarrierArgentinaBernardo Dominic PROPOSAL
Clifford K MacleadRussiaIoni Bowcher NEW
Emily D MacleadJapanOnyama Limba QUALIFIED
Adams R RimCanadaStephen Shaw RENEWAL
Aika I WieserAustraliaIvan Magalhaes PROPOSAL
Mujtaba T DilliardArgentinaOnyama Limba QUALIFIED
Claire W AlbaresItalyIvan Magalhaes NEGOTIATION
Juan T OldroydItalyStephen Shaw NEGOTIATION
James C InouyeCanadaIoni Bowcher QUALIFIED
Salvatore K NickaSpainOnyama Limba PROPOSAL
Cody X OstroskyRussiaXuxue Feng PROPOSAL
Greenwood U GillianRussiaIvan Magalhaes NEGOTIATION
Smith Y PerinCanadaBernardo Dominic QUALIFIED
Claire K BowleyItalyXuxue Feng PROPOSAL
Jones A WaycottUnited KingdomBernardo Dominic PROPOSAL
Faith X MacleadAustraliaIvan Magalhaes RENEWAL
Jefferson F WieserAustraliaXuxue Feng PROPOSAL
Morrow M GauchoCanadaAnna Fali UNQUALIFIED
Alejandro Q SergiFranceOnyama Limba RENEWAL
Frozen Columns
Name
Francesco W Wieser
Arvin W Shinko
Alejandro N Doe
Kadeem Y Ferencz
Mujtaba A Perin
Leon D Gillian
Smith G Waycott
Mayumi T Dilliard
Silvio Q Wieser
Juan O Bowley
Deepesh N Gaucho
Juan Z Campain
Deepesh H Amigon
Morrow N Kolmetz
Kadeem U Wieser
Misaki H Sergi
Nicolas C Flosi
Ashley D Perin
Aditya J Vocelka
Maria W Stockham
Juan B Darakjy
Munro L Iturbide
Maisha Q Ruta
Chavez Z Garufi
Greenwood N Briddick
Chavez U Marrier
Alejandro X Darakjy
Munro G Glick
Stacey S Rulapaugh
Greenwood H Albares
Morrow Y Royster
Smith V Malet
Octavia X Ruta
Rodrigues J Garufi
Faith C Butt
Jeanfrancois P Perin
Julie R Chui
Deepesh N Campain
Cody V Marrier
Leja K Shinko
Smith E Sergi
Sinclair T Tollner
Octavia Y Tollner
Isabel C Stockham
Isabel K Maclead
Kadeem B Figeroa
Rodrigues L Campain
Ashley B Maclead
Kaitlin A Gaucho
James M Morasca
IdCountryDate
1000United Kingdom2026-08-10
1001Japan2026-08-01
1002India2026-07-22
1003Brazil2026-07-20
1004Canada2026-07-25
1005France2026-07-28
1006Japan2026-08-12
1007Argentina2026-08-02
1008France2026-07-17
1009Russia2026-08-07
1010Russia2026-08-05
1011Spain2026-07-24
1012France2026-08-03
1013Germany2026-08-11
1014France2026-08-13
1015Spain2026-08-07
1016Germany2026-08-02
1017Australia2026-07-20
1018Canada2026-07-31
1019Brazil2026-08-10
1020United Kingdom2026-07-22
1021Russia2026-08-13
1022Argentina2026-07-24
1023Russia2026-07-28
1024Russia2026-08-05
1025India2026-08-10
1026Brazil2026-07-17
1027United Kingdom2026-08-11
1028France2026-08-08
1029Spain2026-07-26
1030United Kingdom2026-07-28
1031Japan2026-08-11
1032Argentina2026-07-19
1033Argentina2026-07-28
1034Russia2026-07-17
1035Italy2026-07-24
1036Argentina2026-08-15
1037Brazil2026-07-31
1038Brazil2026-07-22
1039France2026-08-15
1040Argentina2026-07-27
1041Australia2026-08-06
1042Spain2026-07-21
1043Russia2026-07-18
1044India2026-08-13
1045India2026-08-02
1046Australia2026-08-09
1047Italy2026-07-22
1048Argentina2026-07-24
1049France2026-07-23

On-Demand Data

NameIdCountryDate
Chavez V Paprocki1000Japan2026-07-18
Francesco C Waycott1001Germany2026-08-10
Faith F Garufi1002Germany2026-08-14
Murillo O Bowley1003France2026-07-19
Wickens C Kolmetz1004Russia2026-08-12
Mujtaba Z Stenseth1005Japan2026-08-14
Wickens R Malet1006Japan2026-08-13
Francesco L Slusarski1007Spain2026-07-17
Leon I Chui1008India2026-08-10
Antonio X Gillian1009United Kingdom2026-08-02
Isabel K Poquette1010Russia2026-07-23
Johnson X Whobrey1011Spain2026-08-12
Johnson V Malet1012India2026-07-20
Emily F Nicka1013Germany2026-08-08
Wickens F Rim1014India2026-07-26
Isabel W Venere1015Russia2026-08-15
Rodrigues P Amigon1016France2026-08-03
Tony L Gillian1017Canada2026-08-01
Aika G Poquette1018Australia2026-07-26
Juan I Paprocki1019Spain2026-07-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar D KuskoArgentinaXuxue Feng QUALIFIED
Tony A CaudyItalyIoni Bowcher RENEWAL
Izzy N SaylorsUnited KingdomAsiya Javayant UNQUALIFIED
Emily W WhobreyArgentinaOnyama Limba RENEWAL
Maria K FerenczGermanyStephen Shaw UNQUALIFIED
Aditya X KuskoCanadaAmy Elsner PROPOSAL
James F ShinkoRussiaAsiya Javayant QUALIFIED
Smith L DoeItalyOnyama Limba RENEWAL
Costa L PoquetteCanadaXuxue Feng QUALIFIED
James V GarufiCanadaAsiya Javayant NEW
Mujtaba D ShinkoUnited KingdomAmy Elsner RENEWAL
Ivar I KolmetzJapanAmy Elsner NEW
Kadeem K VocelkaUnited KingdomAnna Fali QUALIFIED
Julie H MacleadBrazilStephen Shaw PROPOSAL
Costa U SergiItalyBernardo Dominic NEGOTIATION
Maisha O NestleJapanIvan Magalhaes QUALIFIED
Deepesh O DarakjyBrazilStephen Shaw UNQUALIFIED
Munro T CampainFranceAsiya Javayant NEW
Morrow J PaprockiGermanyElwin Sharvill NEGOTIATION
Murillo L WhobreyBrazilElwin Sharvill QUALIFIED
Costa E ShinkoJapanElwin Sharvill NEW
Leon I AmigonCanadaXuxue Feng UNQUALIFIED
Adams Q MorascaIndiaBernardo Dominic PROPOSAL
Munro P GillianUnited KingdomAmy Elsner QUALIFIED
Silvio I DilliardSpainOnyama Limba PROPOSAL
Morrow F FollerGermanyXuxue Feng QUALIFIED
Aruna B MacleadUnited KingdomOnyama Limba QUALIFIED
Nicolas P FerenczCanadaIvan Magalhaes PROPOSAL
Isabel T NickaBrazilAsiya Javayant RENEWAL
Aruna M SergiUnited KingdomXuxue Feng UNQUALIFIED
Ricardo Y MaletRussiaElwin Sharvill QUALIFIED
Chavez P OstroskyJapanStephen Shaw PROPOSAL
Darci O FigeroaAustraliaStephen Shaw RENEWAL
Kadeem E GauchoGermanyIoni Bowcher NEGOTIATION
Silvio I MacleadRussiaElwin Sharvill PROPOSAL
Faith H InouyeBrazilOnyama Limba UNQUALIFIED
Costa T WieserCanadaAmy Elsner NEGOTIATION
Julie X AmigonFranceBernardo Dominic NEW
Salvatore D MorascaCanadaAsiya Javayant RENEWAL
Ivar Q CampainArgentinaOnyama Limba NEW

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