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
Jones R MacleadFranceXuxue Feng NEGOTIATION
Leja P RoysterFranceAnna Fali NEW
Claire Y IturbideArgentinaXuxue Feng NEW
Jefferson A FerenczIndiaOnyama Limba UNQUALIFIED
Alejandro C PaprockiGermanyAnna Fali NEGOTIATION
Francesco B BologniaRussiaAmy Elsner RENEWAL
Mujtaba I GlickGermanyAnna Fali RENEWAL
Salvatore A GarufiArgentinaOnyama Limba UNQUALIFIED
Smith Z ShinkoGermanyIvan Magalhaes QUALIFIED
Rodrigues E PaprockiItalyAmy Elsner PROPOSAL
James A SchemmerRussiaAmy Elsner UNQUALIFIED
Costa N MaletItalyElwin Sharvill NEGOTIATION
Rodrigues S GlickUnited KingdomIoni Bowcher QUALIFIED
James T RoysterIndiaOnyama Limba NEW
James G WieserAustraliaIoni Bowcher NEW
Aika K BowleyGermanyElwin Sharvill NEGOTIATION
Deepesh X OstroskyItalyStephen Shaw NEGOTIATION
Octavia T SergiBrazilXuxue Feng NEGOTIATION
Mayumi F PerinSpainBernardo Dominic QUALIFIED
Kaitlin F BriddickArgentinaAmy Elsner NEW
Costa M NestleRussiaBernardo Dominic QUALIFIED
Arvin P AlbaresBrazilAsiya Javayant UNQUALIFIED
Arvin D RoysterBrazilIoni Bowcher UNQUALIFIED
Leja G BriddickJapanXuxue Feng NEW
Nicolas W NestleItalyBernardo Dominic NEGOTIATION
Darci Z PaprockiCanadaStephen Shaw NEW
Arvin L CaldareraItalyAnna Fali NEGOTIATION
Claire F OldroydSpainAmy Elsner NEGOTIATION
Alejandro I MaletFranceBernardo Dominic UNQUALIFIED
Alejandro K BowleyAustraliaStephen Shaw QUALIFIED
Antonio D ShinkoSpainAnna Fali NEGOTIATION
Isabel E AlbaresArgentinaIvan Magalhaes PROPOSAL
Jeanfrancois Q FlosiSpainElwin Sharvill QUALIFIED
Jeanfrancois E BriddickFranceOnyama Limba NEGOTIATION
Misaki M AlbaresFranceElwin Sharvill QUALIFIED
Costa T KuskoJapanIvan Magalhaes NEGOTIATION
Jones F BologniaJapanOnyama Limba QUALIFIED
Kadeem U MaletSpainAnna Fali NEW
Aika X SchemmerFranceIvan Magalhaes PROPOSAL
Faith A RoysterArgentinaOnyama Limba UNQUALIFIED
Octavia L FerenczFranceBernardo Dominic QUALIFIED
Ivar T WhobreyCanadaBernardo Dominic UNQUALIFIED
Jennifer B DoeRussiaAnna Fali NEGOTIATION
Jefferson X GarufiGermanyXuxue Feng NEW
Aditya A GillianGermanyElwin Sharvill UNQUALIFIED
Antonio U FlosiFranceIoni Bowcher UNQUALIFIED
Jefferson O GillianJapanAnna Fali PROPOSAL
Salvatore A MaletGermanyAmy Elsner UNQUALIFIED
Octavia Y GlickRussiaAsiya Javayant NEGOTIATION
Greenwood N FigeroaUnited KingdomAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Tony K MacleadAustraliaOnyama Limba PROPOSAL
Munro K MacleadGermanyAnna Fali UNQUALIFIED
Stacey S SergiGermanyIoni Bowcher UNQUALIFIED
Rodrigues G GlickGermanyXuxue Feng NEW
Clifford R WhobreyAustraliaStephen Shaw NEW
Maisha E WieserSpainIoni Bowcher UNQUALIFIED
Leja V FigeroaArgentinaBernardo Dominic PROPOSAL
Murillo J RulapaughBrazilIoni Bowcher RENEWAL
Deepesh E BologniaFranceStephen Shaw PROPOSAL
David P GarufiJapanXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo N NestleGermany2026-08-25Rangoni Of Florence NEGOTIATION18Ioni Bowcher
1001Mujtaba E StockhamAustralia2026-08-24Rousseaux, Michael Esq UNQUALIFIED87Ivan Magalhaes
1002Salvatore U AmigonGermany2026-08-23Feltz Printing Service QUALIFIED91Ioni Bowcher
1003Smith G OldroydArgentina2026-08-17Feltz Printing Service NEGOTIATION28Ioni Bowcher
1004Izzy D NestleAustralia2026-08-02Chanay, Jeffrey A Esq PROPOSAL13Xuxue Feng
1005Aika E WhobreyFrance2026-08-09Printing Dimensions UNQUALIFIED60Bernardo Dominic
1006Rodrigues K VenereRussia2026-08-11Rangoni Of Florence PROPOSAL75Amy Elsner
1007Ashley R WaycottCanada2026-08-15Chemel, James L Cpa PROPOSAL74Anna Fali
1008James X OldroydFrance2026-08-06Printing Dimensions NEW23Amy Elsner
1009Munro R MarrierSpain2026-07-31King, Christopher A Esq NEGOTIATION57Ioni Bowcher
1010Kaitlin T ChuiArgentina2026-08-13Dorl, James J Esq QUALIFIED36Amy Elsner
1011Antonio T FlosiAustralia2026-08-01King, Christopher A Esq NEW32Onyama Limba
1012Leon H FerenczItaly2026-08-03Dorl, James J Esq PROPOSAL25Stephen Shaw
1013Stacey O ChuiRussia2026-08-13Commercial Press QUALIFIED24Amy Elsner
1014Antonio W IturbideArgentina2026-08-04Dorl, James J Esq NEW67Xuxue Feng
1015Arvin O FollerIndia2026-08-18Feiner Bros UNQUALIFIED8Xuxue Feng
1016Aruna O MaletFrance2026-08-12Feltz Printing Service NEGOTIATION28Asiya Javayant
1017Claire J SlusarskiFrance2026-08-24Feltz Printing Service NEGOTIATION25Ivan Magalhaes
1018Jennifer C GarufiFrance2026-08-18Benton, John B Jr RENEWAL8Amy Elsner
1019Maria Y RoysterCanada2026-08-20Commercial Press PROPOSAL33Amy Elsner
1020James J FlosiAustralia2026-07-31King, Christopher A Esq RENEWAL74Onyama Limba
1021Arvin I CaldareraArgentina2026-08-12Commercial Press QUALIFIED82Ioni Bowcher
1022Leon Z OldroydJapan2026-08-20King, Christopher A Esq PROPOSAL12Bernardo Dominic
1023Izzy K GauchoCanada2026-07-28King, Christopher A Esq NEW44Amy Elsner
1024Juan Y WieserSpain2026-08-07Commercial Press RENEWAL68Bernardo Dominic
1025Greenwood F BologniaItaly2026-08-11Printing Dimensions NEW22Bernardo Dominic
1026Silvio O MarrierJapan2026-08-15Rangoni Of Florence PROPOSAL18Amy Elsner
1027Morrow E WieserGermany2026-08-12Rangoni Of Florence RENEWAL28Ioni Bowcher
1028Ricardo D GauchoJapan2026-08-21Feltz Printing Service NEW2Ioni Bowcher
1029Stacey U IturbideGermany2026-08-16Chapman, Ross E Esq PROPOSAL58Asiya Javayant
1030Maisha O WhobreyArgentina2026-08-03Truhlar And Truhlar Attys NEGOTIATION37Ivan Magalhaes
1031Morrow S ShinkoArgentina2026-08-05Chapman, Ross E Esq UNQUALIFIED28Bernardo Dominic
1032Deepesh M DilliardArgentina2026-08-15Rangoni Of Florence UNQUALIFIED71Amy Elsner
1033James H CampainSpain2026-08-16Dorl, James J Esq NEGOTIATION92Ivan Magalhaes
1034Cody S TollnerBrazil2026-08-13Feiner Bros NEGOTIATION48Stephen Shaw
1035Antonio S PerinCanada2026-08-20Printing Dimensions UNQUALIFIED33Amy Elsner
1036Leon Y DilliardGermany2026-08-16Rousseaux, Michael Esq QUALIFIED74Anna Fali
1037Salvatore A InouyeFrance2026-08-23Chanay, Jeffrey A Esq RENEWAL60Bernardo Dominic
1038Isabel B SaylorsGermany2026-08-19Rousseaux, Michael Esq QUALIFIED14Anna Fali
1039Smith P CaudyUnited Kingdom2026-08-24Buckley Miller Wright PROPOSAL25Ioni Bowcher
1040Julie W SchemmerGermany2026-08-12Chemel, James L Cpa QUALIFIED13Asiya Javayant
1041Murillo H WhobreySpain2026-08-03Morlong Associates NEGOTIATION27Asiya Javayant
1042Ashley P InouyeItaly2026-08-14King, Christopher A Esq NEGOTIATION11Onyama Limba
1043Cody C WieserItaly2026-08-18Rangoni Of Florence RENEWAL29Amy Elsner
1044Emily B DilliardFrance2026-08-18Chanay, Jeffrey A Esq NEW29Anna Fali
1045Jeanfrancois G DarakjyCanada2026-08-05Chapman, Ross E Esq NEGOTIATION65Bernardo Dominic
1046Greenwood Q CampainRussia2026-08-26Truhlar And Truhlar Attys NEW55Anna Fali
1047Faith C FollerBrazil2026-08-12Chanay, Jeffrey A Esq PROPOSAL10Xuxue Feng
1048Maria B SchemmerCanada2026-08-05Benton, John B Jr NEGOTIATION98Ivan Magalhaes
1049Faith F KolmetzUnited Kingdom2026-08-18Benton, John B Jr QUALIFIED89Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Faith R AmigonUnited KingdomIoni Bowcher PROPOSAL
Emily W SaylorsArgentinaStephen Shaw QUALIFIED
Leon A SlusarskiRussiaStephen Shaw NEW
Alejandro B OldroydItalyAnna Fali UNQUALIFIED
Julie A AmigonArgentinaIoni Bowcher NEW
Julie W FerenczCanadaOnyama Limba NEW
Johnson I DoeFranceIvan Magalhaes UNQUALIFIED
Leon N ShinkoJapanAmy Elsner QUALIFIED
Stacey D OstroskyArgentinaXuxue Feng RENEWAL
Salvatore B BologniaItalyStephen Shaw QUALIFIED
Kadeem K SlusarskiCanadaAnna Fali PROPOSAL
Jeanfrancois A TollnerJapanIoni Bowcher NEW
Nicolas A DilliardAustraliaAnna Fali QUALIFIED
Jeanfrancois P MacleadSpainElwin Sharvill NEGOTIATION
Munro S WieserArgentinaIoni Bowcher NEW
Faith L PoquetteSpainAnna Fali PROPOSAL
Clifford Q SlusarskiCanadaXuxue Feng UNQUALIFIED
Aruna B KolmetzAustraliaXuxue Feng QUALIFIED
Aika K TollnerGermanyIoni Bowcher PROPOSAL
Juan V DoeAustraliaIoni Bowcher NEW
Maria V CaudyCanadaElwin Sharvill NEW
Ivar Z BologniaBrazilXuxue Feng NEGOTIATION
Isabel C MaletItalyStephen Shaw PROPOSAL
Kadeem B AmigonItalyAnna Fali NEGOTIATION
Adams U KolmetzGermanyAmy Elsner NEGOTIATION
Jefferson H RimCanadaBernardo Dominic PROPOSAL
Murillo T DoeRussiaBernardo Dominic UNQUALIFIED
Murillo C MaletFranceXuxue Feng QUALIFIED
Morrow S GlickAustraliaIoni Bowcher NEGOTIATION
Mayumi G FerenczBrazilAsiya Javayant QUALIFIED
Maisha B NestleAustraliaAnna Fali QUALIFIED
Alejandro F CampainArgentinaXuxue Feng NEGOTIATION
Wickens D InouyeBrazilIvan Magalhaes NEGOTIATION
Stacey M GlickBrazilAsiya Javayant RENEWAL
Murillo J GarufiArgentinaIoni Bowcher UNQUALIFIED
Mayumi U KuskoArgentinaStephen Shaw QUALIFIED
David N SaylorsArgentinaIoni Bowcher RENEWAL
Arvin P RulapaughFranceOnyama Limba QUALIFIED
Emily N PerinJapanIvan Magalhaes QUALIFIED
Izzy T ButtArgentinaAnna Fali PROPOSAL
Izzy J MarrierUnited KingdomAsiya Javayant UNQUALIFIED
Aditya J WhobreyBrazilElwin Sharvill RENEWAL
Jones B InouyeGermanyAmy Elsner NEGOTIATION
Emily T FerenczJapanIvan Magalhaes NEGOTIATION
Munro L TollnerUnited KingdomAnna Fali PROPOSAL
David H FollerAustraliaBernardo Dominic PROPOSAL
Munro G SchemmerRussiaOnyama Limba QUALIFIED
Nicolas V RoysterUnited KingdomOnyama Limba NEW
Morrow U VenereAustraliaIoni Bowcher NEGOTIATION
Clifford K SchemmerBrazilAmy Elsner NEW
Frozen Columns
Name
Adams J Kolmetz
Ashley D Kolmetz
Isabel T Ostrosky
Costa H Malet
Deepesh I Gillian
Aruna T Gaucho
Jones V Schemmer
Greenwood N Albares
James V Venere
Claire N Stockham
Ivar P Marrier
Claire A Doe
Darci O Bowley
Ivar R Bolognia
Mayumi T Rim
Aruna P Malet
Costa V Oldroyd
Adams N Schemmer
Misaki X Inouye
Stacey D Dilliard
Kaitlin X Tollner
Julie J Gaucho
Ashley Z Maclead
Jeanfrancois H Campain
Clifford E Morasca
Sinclair L Caldarera
Rodrigues U Morasca
Aruna B Perin
Ashley Z Royster
Mayumi G Sergi
Nicolas J Iturbide
Octavia N Gillian
Emily P Ruta
Emily T Waycott
Leja J Maclead
Mujtaba G Wieser
Darci F Whobrey
Salvatore N Caldarera
Aditya T Vocelka
James I Malet
Antonio F Ruta
Leon W Chui
Claire Q Foller
Octavia S Oldroyd
Darci M Stockham
Kadeem O Poquette
Faith V Paprocki
David Z Albares
Aika I Perin
Sinclair V Rulapaugh
IdCountryDate
1000Japan2026-08-13
1001Brazil2026-08-03
1002Russia2026-08-16
1003Germany2026-08-02
1004Brazil2026-08-09
1005Canada2026-08-10
1006Germany2026-08-12
1007Spain2026-08-19
1008Germany2026-08-26
1009Japan2026-07-30
1010United Kingdom2026-08-06
1011India2026-08-25
1012Argentina2026-08-25
1013Argentina2026-08-09
1014Italy2026-08-07
1015Japan2026-08-09
1016Brazil2026-08-13
1017France2026-08-02
1018Australia2026-08-18
1019United Kingdom2026-08-17
1020France2026-08-02
1021Russia2026-07-28
1022Germany2026-08-05
1023Argentina2026-08-24
1024Australia2026-08-11
1025Russia2026-08-17
1026Spain2026-07-30
1027Argentina2026-07-29
1028Spain2026-08-13
1029Argentina2026-08-17
1030Germany2026-08-13
1031Argentina2026-08-10
1032Italy2026-08-22
1033Russia2026-08-15
1034Germany2026-07-31
1035India2026-08-20
1036Italy2026-08-20
1037India2026-08-01
1038Germany2026-08-25
1039France2026-07-29
1040Brazil2026-07-29
1041Germany2026-08-23
1042France2026-07-28
1043Spain2026-08-01
1044France2026-08-02
1045Brazil2026-08-25
1046Germany2026-07-31
1047United Kingdom2026-08-08
1048Russia2026-08-06
1049Germany2026-08-03

On-Demand Data

NameIdCountryDate
Octavia Y Kolmetz1000Brazil2026-08-25
Sinclair H Caudy1001France2026-08-23
Maisha A Nicka1002United Kingdom2026-08-07
Morrow A Rulapaugh1003Australia2026-08-13
Munro W Saylors1004United Kingdom2026-08-11
Sinclair O Foller1005Italy2026-08-17
Antonio Z Butt1006United Kingdom2026-08-07
Isabel D Darakjy1007Spain2026-08-18
Aruna B Poquette1008Canada2026-08-25
Jones H Nicka1009Germany2026-08-17
Arvin I Paprocki1010Japan2026-08-14
Faith V Rim1011France2026-08-09
Adams I Schemmer1012Brazil2026-08-22
Mayumi K Chui1013Australia2026-08-19
Wickens K Venere1014Spain2026-08-16
Leon F Dilliard1015Japan2026-08-21
Sinclair L Kusko1016Brazil2026-08-09
Francesco C Glick1017Russia2026-08-05
Arvin B Albares1018Japan2026-08-13
Munro K Darakjy1019Australia2026-08-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro K StockhamAustraliaBernardo Dominic RENEWAL
Misaki Z WhobreyRussiaXuxue Feng NEGOTIATION
Faith R GlickGermanyStephen Shaw NEGOTIATION
Ricardo J MorascaSpainStephen Shaw QUALIFIED
Mayumi H GarufiJapanIvan Magalhaes UNQUALIFIED
Nicolas H GarufiUnited KingdomXuxue Feng UNQUALIFIED
Misaki U KuskoUnited KingdomBernardo Dominic UNQUALIFIED
Aika Q MacleadJapanOnyama Limba NEW
Kadeem B ChuiArgentinaAmy Elsner QUALIFIED
Deepesh L WhobreyJapanStephen Shaw NEGOTIATION
Stacey Y AmigonAustraliaIvan Magalhaes QUALIFIED
James D FlosiBrazilOnyama Limba RENEWAL
Aditya R SchemmerFranceBernardo Dominic NEGOTIATION
Clifford S AlbaresIndiaIvan Magalhaes PROPOSAL
Kadeem E SergiFranceStephen Shaw PROPOSAL
Salvatore V NestleArgentinaXuxue Feng UNQUALIFIED
Emily D GlickSpainIvan Magalhaes UNQUALIFIED
Johnson Z GarufiAustraliaAmy Elsner QUALIFIED
Kadeem H CaldareraCanadaElwin Sharvill QUALIFIED
Misaki I MacleadJapanAnna Fali RENEWAL
Cody J AmigonJapanXuxue Feng NEW
Misaki E ChuiRussiaAmy Elsner NEW
Jefferson N VocelkaBrazilElwin Sharvill RENEWAL
Octavia R KuskoRussiaAmy Elsner RENEWAL
Isabel Q FigeroaSpainStephen Shaw QUALIFIED
Sinclair N VocelkaFranceBernardo Dominic UNQUALIFIED
Stacey U CaudyUnited KingdomStephen Shaw RENEWAL
Emily Q VenereItalyAmy Elsner NEGOTIATION
Munro I BowleyBrazilAnna Fali NEW
Ricardo W KolmetzBrazilStephen Shaw UNQUALIFIED
Clifford O SergiFranceOnyama Limba PROPOSAL
Leja L MacleadBrazilOnyama Limba NEGOTIATION
Aditya K TollnerUnited KingdomXuxue Feng QUALIFIED
Clifford K PoquetteUnited KingdomAnna Fali PROPOSAL
David B MaletCanadaElwin Sharvill NEGOTIATION
Aruna D ButtItalyAmy Elsner NEGOTIATION
Julie U PaprockiCanadaAsiya Javayant QUALIFIED
Tony U CaudySpainElwin Sharvill RENEWAL
Sinclair C AmigonFranceAmy Elsner QUALIFIED
Ricardo V KolmetzItalyXuxue Feng 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>