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
Clifford B FigeroaFranceAsiya Javayant PROPOSAL
Stacey O GlickBrazilIoni Bowcher UNQUALIFIED
Claire L MaletFranceStephen Shaw PROPOSAL
Smith L MorascaUnited KingdomIvan Magalhaes UNQUALIFIED
Munro U PaprockiCanadaAmy Elsner QUALIFIED
Izzy Q MaletJapanOnyama Limba NEGOTIATION
Kadeem C FollerGermanyStephen Shaw RENEWAL
Adams W MacleadSpainXuxue Feng QUALIFIED
Octavia G GauchoBrazilAnna Fali NEW
Aditya A IturbideGermanyBernardo Dominic PROPOSAL
Costa T OstroskyUnited KingdomIoni Bowcher QUALIFIED
Faith Q BologniaBrazilOnyama Limba PROPOSAL
Jennifer C AlbaresArgentinaOnyama Limba UNQUALIFIED
Arvin T AlbaresCanadaXuxue Feng UNQUALIFIED
Jones Z VocelkaCanadaAmy Elsner RENEWAL
Faith Z SaylorsRussiaAmy Elsner UNQUALIFIED
David C MaletFranceElwin Sharvill QUALIFIED
Morrow N MorascaItalyOnyama Limba NEGOTIATION
Tony B SchemmerArgentinaStephen Shaw UNQUALIFIED
Octavia E KolmetzCanadaBernardo Dominic NEGOTIATION
Antonio W DarakjyAustraliaAsiya Javayant NEGOTIATION
Stacey A WhobreyArgentinaAmy Elsner RENEWAL
Aika V GauchoGermanyElwin Sharvill PROPOSAL
Darci T SlusarskiAustraliaXuxue Feng NEGOTIATION
Leon G VenereBrazilAsiya Javayant QUALIFIED
James E FigeroaItalyAsiya Javayant PROPOSAL
Claire E KolmetzJapanElwin Sharvill PROPOSAL
Jones C FollerCanadaBernardo Dominic RENEWAL
Aika N StensethGermanyAmy Elsner NEGOTIATION
David G AlbaresIndiaStephen Shaw RENEWAL
Maisha V IturbideCanadaXuxue Feng NEW
Munro G AlbaresUnited KingdomStephen Shaw PROPOSAL
Munro E ChuiGermanyXuxue Feng RENEWAL
David S PoquetteFranceElwin Sharvill PROPOSAL
Stacey M DilliardUnited KingdomAnna Fali NEW
Julie X StockhamAustraliaElwin Sharvill RENEWAL
Sinclair P WaycottAustraliaBernardo Dominic UNQUALIFIED
Sinclair T DilliardArgentinaAmy Elsner NEGOTIATION
Mujtaba B SergiSpainAmy Elsner UNQUALIFIED
Isabel N PaprockiArgentinaOnyama Limba PROPOSAL
Darci L KolmetzItalyBernardo Dominic RENEWAL
Adams L MarrierArgentinaXuxue Feng QUALIFIED
Greenwood Y RulapaughItalyOnyama Limba NEW
Johnson N RulapaughAustraliaXuxue Feng RENEWAL
Francesco E PoquetteUnited KingdomXuxue Feng PROPOSAL
Ricardo J AmigonCanadaXuxue Feng PROPOSAL
Greenwood B ButtGermanyAsiya Javayant QUALIFIED
Mujtaba O NickaJapanBernardo Dominic NEGOTIATION
Morrow V DarakjyUnited KingdomBernardo Dominic UNQUALIFIED
Adams P PerinSpainElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Aika U GillianItalyAsiya Javayant QUALIFIED
Wickens O BologniaItalyBernardo Dominic UNQUALIFIED
Antonio T RoysterUnited KingdomAsiya Javayant RENEWAL
Maria U StockhamRussiaElwin Sharvill NEW
Julie Q RulapaughUnited KingdomOnyama Limba NEW
Adams C FigeroaRussiaXuxue Feng UNQUALIFIED
Smith B ChuiCanadaIvan Magalhaes QUALIFIED
Ashley R SergiAustraliaIvan Magalhaes NEW
Leja Y ButtSpainOnyama Limba RENEWAL
Mayumi R StensethJapanAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily G FigeroaCanada2026-06-11Rangoni Of Florence QUALIFIED49Onyama Limba
1001Morrow J PoquetteAustralia2026-06-10Buckley Miller Wright RENEWAL38Elwin Sharvill
1002Chavez F CampainJapan2026-06-18King, Christopher A Esq RENEWAL3Elwin Sharvill
1003Jefferson L WaycottBrazil2026-07-09Chemel, James L Cpa RENEWAL30Elwin Sharvill
1004Jennifer W MaletIndia2026-07-06Truhlar And Truhlar Attys QUALIFIED67Xuxue Feng
1005Misaki O PoquetteFrance2026-06-16Chapman, Ross E Esq RENEWAL11Anna Fali
1006Julie D SergiItaly2026-06-30Chemel, James L Cpa QUALIFIED45Onyama Limba
1007Kaitlin Y PaprockiItaly2026-07-07Rangoni Of Florence NEW25Asiya Javayant
1008Tony D GlickUnited Kingdom2026-06-18Benton, John B Jr PROPOSAL52Xuxue Feng
1009Antonio B GauchoGermany2026-07-09Chemel, James L Cpa UNQUALIFIED9Amy Elsner
1010Antonio D MacleadSpain2026-06-24Chanay, Jeffrey A Esq NEW29Asiya Javayant
1011Faith H DoeBrazil2026-07-05Chemel, James L Cpa UNQUALIFIED7Ivan Magalhaes
1012Jeanfrancois K AlbaresUnited Kingdom2026-06-17Feiner Bros RENEWAL57Xuxue Feng
1013Ricardo J FlosiAustralia2026-06-13Rousseaux, Michael Esq UNQUALIFIED70Asiya Javayant
1014Johnson O FigeroaFrance2026-06-14Commercial Press NEW89Stephen Shaw
1015Ivar I RulapaughArgentina2026-06-26King, Christopher A Esq PROPOSAL32Ioni Bowcher
1016Deepesh Y WaycottAustralia2026-07-03Chapman, Ross E Esq NEGOTIATION65Ioni Bowcher
1017Francesco L PaprockiIndia2026-06-19Morlong Associates NEGOTIATION33Asiya Javayant
1018Emily Y CaldareraSpain2026-06-21Printing Dimensions NEGOTIATION69Stephen Shaw
1019Maria T IturbideItaly2026-06-22Chanay, Jeffrey A Esq QUALIFIED44Stephen Shaw
1020Claire S OstroskyArgentina2026-07-09Feltz Printing Service PROPOSAL61Stephen Shaw
1021Jones H PoquetteRussia2026-07-08Commercial Press QUALIFIED1Ioni Bowcher
1022Izzy I MorascaBrazil2026-06-28Rangoni Of Florence PROPOSAL58Stephen Shaw
1023Leja A FollerItaly2026-07-04Chemel, James L Cpa RENEWAL94Anna Fali
1024Nicolas I WaycottJapan2026-06-14Rangoni Of Florence RENEWAL48Onyama Limba
1025Aditya P WaycottRussia2026-07-09Chemel, James L Cpa PROPOSAL3Amy Elsner
1026Chavez Q RulapaughSpain2026-06-11Commercial Press PROPOSAL35Amy Elsner
1027Aruna X ButtFrance2026-07-01Rangoni Of Florence NEW94Anna Fali
1028Misaki P FigeroaCanada2026-07-08Chemel, James L Cpa NEGOTIATION22Elwin Sharvill
1029Mujtaba R RulapaughBrazil2026-07-09Truhlar And Truhlar Attys NEGOTIATION36Xuxue Feng
1030Jefferson O RimJapan2026-06-26Printing Dimensions UNQUALIFIED90Elwin Sharvill
1031Stacey E FigeroaCanada2026-06-28King, Christopher A Esq NEW61Ivan Magalhaes
1032Isabel P NickaBrazil2026-07-04Commercial Press RENEWAL70Ivan Magalhaes
1033Maria U SaylorsIndia2026-06-22Buckley Miller Wright NEW49Xuxue Feng
1034Greenwood X CaldareraGermany2026-06-10Morlong Associates NEGOTIATION74Onyama Limba
1035Jeanfrancois E FlosiGermany2026-06-23Commercial Press NEW81Stephen Shaw
1036Mayumi V GillianSpain2026-06-30Truhlar And Truhlar Attys PROPOSAL72Bernardo Dominic
1037Mayumi P StensethJapan2026-07-07Printing Dimensions NEW91Amy Elsner
1038Leja Z StensethItaly2026-07-02Rangoni Of Florence UNQUALIFIED22Bernardo Dominic
1039Johnson K WhobreyFrance2026-07-03Truhlar And Truhlar Attys UNQUALIFIED56Ioni Bowcher
1040Aika Q GauchoUnited Kingdom2026-06-24King, Christopher A Esq QUALIFIED82Elwin Sharvill
1041David V MarrierFrance2026-06-18Buckley Miller Wright NEW42Ioni Bowcher
1042Johnson U BologniaFrance2026-06-11Feltz Printing Service QUALIFIED91Amy Elsner
1043Deepesh F ButtItaly2026-06-25Rangoni Of Florence QUALIFIED21Elwin Sharvill
1044Aika I MacleadItaly2026-06-21Rousseaux, Michael Esq RENEWAL70Ivan Magalhaes
1045Kadeem N DarakjyAustralia2026-06-26Truhlar And Truhlar Attys PROPOSAL90Xuxue Feng
1046Ivar A DilliardFrance2026-06-30King, Christopher A Esq NEGOTIATION4Ivan Magalhaes
1047Antonio E AmigonFrance2026-06-20Dorl, James J Esq NEGOTIATION63Onyama Limba
1048Faith V CaudyIndia2026-06-15Chemel, James L Cpa NEGOTIATION68Elwin Sharvill
1049Smith S NickaUnited Kingdom2026-06-18Truhlar And Truhlar Attys UNQUALIFIED60Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Claire O GillianFranceBernardo Dominic PROPOSAL
Mayumi K KolmetzJapanBernardo Dominic NEW
Antonio G SaylorsBrazilStephen Shaw RENEWAL
Ricardo V VenereJapanXuxue Feng PROPOSAL
Ricardo M FerenczBrazilAmy Elsner NEGOTIATION
Jennifer J OstroskyAustraliaXuxue Feng UNQUALIFIED
Nicolas Q RulapaughCanadaElwin Sharvill PROPOSAL
Juan A BriddickCanadaStephen Shaw RENEWAL
Mujtaba B AlbaresIndiaIoni Bowcher NEW
Jefferson P OstroskyBrazilXuxue Feng PROPOSAL
Murillo S ButtCanadaStephen Shaw NEGOTIATION
Aruna O GlickArgentinaOnyama Limba QUALIFIED
Leon O FigeroaArgentinaElwin Sharvill NEGOTIATION
Stacey B DarakjyBrazilElwin Sharvill PROPOSAL
Antonio Y RimItalyAsiya Javayant PROPOSAL
Aruna B StockhamAustraliaStephen Shaw NEGOTIATION
Silvio K KuskoArgentinaAmy Elsner NEW
Cody T SaylorsUnited KingdomIvan Magalhaes NEGOTIATION
Rodrigues X MacleadIndiaAsiya Javayant PROPOSAL
Francesco V AlbaresAustraliaAsiya Javayant PROPOSAL
Francesco S OldroydGermanyStephen Shaw PROPOSAL
Leon R VocelkaBrazilElwin Sharvill NEW
Ashley B WhobreyJapanAnna Fali NEW
Jennifer E FlosiCanadaOnyama Limba RENEWAL
Ricardo S OldroydAustraliaStephen Shaw RENEWAL
Antonio Q InouyeGermanyElwin Sharvill UNQUALIFIED
Julie Y RutaItalyIvan Magalhaes NEGOTIATION
Kaitlin H BriddickAustraliaAsiya Javayant RENEWAL
Octavia H FerenczUnited KingdomOnyama Limba RENEWAL
Leja A MaletIndiaAmy Elsner NEW
Arvin A OldroydFranceAmy Elsner RENEWAL
Claire X WaycottGermanyIoni Bowcher NEGOTIATION
Jennifer T VenereUnited KingdomAsiya Javayant PROPOSAL
Maisha U ButtItalyElwin Sharvill NEW
Mayumi B PerinIndiaIvan Magalhaes QUALIFIED
Leon H RimItalyAmy Elsner RENEWAL
Juan P VenereJapanAmy Elsner PROPOSAL
Julie G AmigonIndiaAnna Fali QUALIFIED
Jennifer D MaletJapanAnna Fali NEGOTIATION
Arvin O DarakjyRussiaBernardo Dominic NEW
Stacey V DarakjyArgentinaAmy Elsner PROPOSAL
Claire C VenereIndiaIoni Bowcher NEW
David P CaudyAustraliaOnyama Limba PROPOSAL
Antonio X PaprockiArgentinaAnna Fali PROPOSAL
Maria X ShinkoAustraliaStephen Shaw UNQUALIFIED
Wickens I WieserJapanIvan Magalhaes UNQUALIFIED
Ricardo R AlbaresFranceXuxue Feng NEW
Octavia E KuskoUnited KingdomIvan Magalhaes RENEWAL
Emily G AlbaresArgentinaAnna Fali NEW
Antonio Z SergiCanadaAmy Elsner NEGOTIATION
Frozen Columns
Name
Arvin K Shinko
Sinclair L Saylors
Tony J Doe
Stacey Q Gillian
Arvin T Nestle
Greenwood C Nicka
Maria X Campain
Leja B Caldarera
Deepesh P Royster
Juan D Schemmer
Jefferson C Slusarski
Emily Z Figeroa
Francesco G Perin
Smith C Tollner
Adams Y Caudy
Cody Q Gillian
Smith Y Paprocki
Clifford B Foller
Clifford G Maclead
Silvio A Sergi
Morrow D Royster
Maria O Ostrosky
Aika D Campain
Faith S Caudy
Sinclair K Rulapaugh
Murillo R Sergi
Kaitlin K Doe
Silvio U Chui
Sinclair J Sergi
Ricardo T Campain
Morrow Q Oldroyd
Clifford C Stockham
Tony M Royster
Aika R Waycott
Aika D Paprocki
Isabel F Poquette
Leja O Dilliard
Francesco F Sergi
Tony K Waycott
James W Malet
Mayumi I Foller
Rodrigues S Whobrey
Greenwood L Albares
Arvin V Ostrosky
Alejandro D Malet
Salvatore V Maclead
Leon M Rulapaugh
Arvin U Gillian
Claire S Rulapaugh
Clifford F Caudy
IdCountryDate
1000India2026-06-18
1001Argentina2026-06-12
1002Italy2026-06-25
1003Spain2026-07-04
1004Japan2026-06-17
1005Brazil2026-07-02
1006India2026-06-27
1007Spain2026-07-06
1008Argentina2026-07-01
1009Germany2026-06-16
1010Brazil2026-07-02
1011Germany2026-07-03
1012India2026-07-04
1013Australia2026-07-02
1014Spain2026-07-07
1015Argentina2026-07-08
1016India2026-06-25
1017Argentina2026-06-17
1018United Kingdom2026-06-28
1019United Kingdom2026-06-30
1020Russia2026-06-20
1021Russia2026-07-08
1022Australia2026-06-28
1023United Kingdom2026-06-14
1024Australia2026-07-01
1025India2026-06-20
1026Spain2026-06-10
1027Germany2026-06-24
1028India2026-06-25
1029Germany2026-06-29
1030Australia2026-07-06
1031France2026-06-12
1032Italy2026-06-11
1033Canada2026-06-15
1034Japan2026-06-30
1035Canada2026-06-17
1036Brazil2026-06-18
1037Japan2026-07-08
1038Canada2026-06-27
1039Germany2026-06-26
1040Japan2026-06-16
1041Argentina2026-06-15
1042Spain2026-07-04
1043United Kingdom2026-06-21
1044United Kingdom2026-06-21
1045Italy2026-06-28
1046Argentina2026-06-25
1047Russia2026-06-25
1048Canada2026-07-07
1049Russia2026-06-29

On-Demand Data

NameIdCountryDate
Jennifer U Paprocki1000Japan2026-06-20
Faith L Venere1001France2026-06-10
Julie N Glick1002United Kingdom2026-07-06
Leon B Bowley1003Germany2026-06-29
Ricardo M Morasca1004Germany2026-07-08
Ricardo W Caudy1005Brazil2026-06-10
David T Glick1006Argentina2026-06-27
Ivar J Chui1007Japan2026-07-08
Wickens F Ostrosky1008Canada2026-06-10
Juan H Slusarski1009France2026-06-10
Aruna P Rulapaugh1010Australia2026-07-04
Leon H Poquette1011France2026-07-02
Antonio X Ostrosky1012India2026-06-23
David G Garufi1013France2026-06-10
Mayumi L Glick1014India2026-06-30
Rodrigues G Rulapaugh1015India2026-06-13
James C Royster1016Brazil2026-06-24
David C Morasca1017Japan2026-06-23
Aruna S Foller1018Japan2026-06-11
Clifford G Morasca1019India2026-07-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson T FlosiItalyOnyama Limba UNQUALIFIED
Adams C MorascaFranceIoni Bowcher RENEWAL
Tony J KolmetzFranceXuxue Feng UNQUALIFIED
Isabel O FlosiIndiaIvan Magalhaes UNQUALIFIED
Jeanfrancois N BriddickGermanyOnyama Limba PROPOSAL
Francesco H FigeroaIndiaXuxue Feng QUALIFIED
Misaki U DarakjyCanadaStephen Shaw UNQUALIFIED
Antonio C DilliardGermanyBernardo Dominic NEGOTIATION
Nicolas Y RulapaughGermanyOnyama Limba UNQUALIFIED
Kadeem D DilliardArgentinaBernardo Dominic NEGOTIATION
Leon P RoysterArgentinaBernardo Dominic NEW
Deepesh N IturbideSpainIvan Magalhaes QUALIFIED
Jones Y IturbideSpainStephen Shaw UNQUALIFIED
Maisha J RutaAustraliaXuxue Feng PROPOSAL
Nicolas X RoysterIndiaAsiya Javayant RENEWAL
Ivar Y CaudyItalyElwin Sharvill QUALIFIED
Claire X SaylorsGermanyStephen Shaw NEW
Tony X FollerJapanStephen Shaw QUALIFIED
James F TollnerAustraliaBernardo Dominic UNQUALIFIED
Emily K RutaUnited KingdomStephen Shaw UNQUALIFIED
Julie L CampainBrazilAnna Fali RENEWAL
James E StensethArgentinaStephen Shaw NEW
Misaki L GauchoJapanAnna Fali QUALIFIED
Francesco G StockhamSpainElwin Sharvill UNQUALIFIED
Darci F SaylorsArgentinaXuxue Feng RENEWAL
Morrow W RutaSpainAnna Fali NEW
Misaki A DarakjyUnited KingdomXuxue Feng RENEWAL
Silvio D StensethAustraliaIoni Bowcher RENEWAL
Ivar P GauchoSpainElwin Sharvill QUALIFIED
Stacey Q CaldareraGermanyAsiya Javayant UNQUALIFIED
Sinclair D ChuiIndiaElwin Sharvill NEGOTIATION
Arvin O RutaGermanyAmy Elsner RENEWAL
Tony A MorascaGermanyElwin Sharvill RENEWAL
Jefferson P MaletIndiaXuxue Feng RENEWAL
Ashley S FerenczUnited KingdomXuxue Feng UNQUALIFIED
Rodrigues Z BologniaGermanyIoni Bowcher PROPOSAL
Morrow O FerenczAustraliaXuxue Feng PROPOSAL
Johnson K FigeroaGermanyAsiya Javayant NEGOTIATION
Alejandro B RulapaughGermanyElwin Sharvill PROPOSAL
Leon T ChuiFranceXuxue Feng 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>