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
Rodrigues Y BologniaCanadaBernardo Dominic NEW
Maisha M MarrierRussiaOnyama Limba NEW
Isabel X TollnerGermanyAsiya Javayant PROPOSAL
Leon S GauchoBrazilAnna Fali QUALIFIED
Maisha E FollerArgentinaBernardo Dominic PROPOSAL
Ashley F MarrierSpainXuxue Feng RENEWAL
Murillo X FerenczUnited KingdomIvan Magalhaes RENEWAL
Kaitlin J SchemmerGermanyAmy Elsner NEGOTIATION
Munro N RimCanadaOnyama Limba RENEWAL
Adams X RulapaughFranceAsiya Javayant NEGOTIATION
Wickens S RoysterFranceBernardo Dominic NEW
Leon K MaletUnited KingdomOnyama Limba QUALIFIED
Alejandro J WaycottCanadaXuxue Feng RENEWAL
Alejandro B PaprockiUnited KingdomStephen Shaw RENEWAL
Alejandro R OldroydUnited KingdomIvan Magalhaes NEW
Arvin R DarakjyAustraliaStephen Shaw QUALIFIED
Tony A GauchoGermanyXuxue Feng NEW
Julie W DoeRussiaAmy Elsner NEW
James P DarakjyIndiaElwin Sharvill NEW
Clifford T FollerArgentinaIvan Magalhaes RENEWAL
Jeanfrancois X MorascaItalyAnna Fali RENEWAL
Ivar T BriddickFranceAsiya Javayant NEW
Tony K VocelkaGermanyXuxue Feng RENEWAL
Morrow E NestleAustraliaAmy Elsner NEGOTIATION
Misaki T OstroskyUnited KingdomAmy Elsner NEGOTIATION
Darci M OstroskyRussiaIvan Magalhaes PROPOSAL
Jefferson P NickaRussiaBernardo Dominic PROPOSAL
Aruna T BowleyJapanOnyama Limba NEGOTIATION
Isabel O WhobreyBrazilElwin Sharvill RENEWAL
Kadeem S DoeJapanXuxue Feng RENEWAL
Ricardo E NickaIndiaIvan Magalhaes RENEWAL
Cody U ButtArgentinaAnna Fali RENEWAL
Arvin T AmigonSpainIoni Bowcher PROPOSAL
David T OstroskyBrazilIvan Magalhaes UNQUALIFIED
Maisha U MacleadBrazilAsiya Javayant PROPOSAL
Maisha L MarrierGermanyAsiya Javayant QUALIFIED
James D ButtIndiaAsiya Javayant RENEWAL
Tony G PoquetteSpainAsiya Javayant UNQUALIFIED
Rodrigues F DarakjyFranceIoni Bowcher PROPOSAL
Tony H PoquetteIndiaIvan Magalhaes QUALIFIED
Antonio S PaprockiCanadaBernardo Dominic NEGOTIATION
Ricardo B MorascaRussiaXuxue Feng QUALIFIED
Kaitlin B OstroskyAustraliaAsiya Javayant NEGOTIATION
Mayumi X MorascaGermanyStephen Shaw NEGOTIATION
Rodrigues Y ButtGermanyElwin Sharvill NEGOTIATION
Clifford N ShinkoGermanyXuxue Feng PROPOSAL
Arvin I AlbaresJapanIvan Magalhaes PROPOSAL
Claire L ChuiBrazilIvan Magalhaes RENEWAL
Deepesh I DoeArgentinaElwin Sharvill UNQUALIFIED
Aditya H GlickRussiaIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
David G NickaUnited KingdomBernardo Dominic NEW
James F BologniaBrazilAnna Fali NEW
Stacey B KolmetzIndiaAsiya Javayant NEGOTIATION
Kadeem V FollerJapanAmy Elsner UNQUALIFIED
Mujtaba J VocelkaBrazilIvan Magalhaes UNQUALIFIED
Ricardo I TollnerCanadaElwin Sharvill UNQUALIFIED
Adams O StockhamBrazilAnna Fali NEGOTIATION
Kadeem J BriddickFranceIvan Magalhaes UNQUALIFIED
Nicolas M MorascaCanadaIoni Bowcher QUALIFIED
Kadeem N VocelkaIndiaElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas M VenereJapan2026-07-13Feiner Bros QUALIFIED7Onyama Limba
1001Aika N ShinkoJapan2026-06-27Printing Dimensions UNQUALIFIED30Anna Fali
1002Ivar M RulapaughRussia2026-07-04Feltz Printing Service PROPOSAL66Ioni Bowcher
1003Claire Y TollnerRussia2026-07-12Rangoni Of Florence QUALIFIED17Stephen Shaw
1004Aditya F FollerArgentina2026-07-15King, Christopher A Esq UNQUALIFIED27Ioni Bowcher
1005Salvatore N GauchoBrazil2026-07-11Truhlar And Truhlar Attys NEW13Ivan Magalhaes
1006Jennifer X CampainBrazil2026-06-23Commercial Press NEW20Ioni Bowcher
1007Aditya W FerenczArgentina2026-07-10Feltz Printing Service RENEWAL61Ioni Bowcher
1008Mujtaba V BriddickIndia2026-07-16Buckley Miller Wright UNQUALIFIED16Xuxue Feng
1009Greenwood A GarufiJapan2026-06-21King, Christopher A Esq PROPOSAL9Asiya Javayant
1010Francesco I SlusarskiJapan2026-06-22Chanay, Jeffrey A Esq UNQUALIFIED10Ivan Magalhaes
1011Mayumi M DoeArgentina2026-06-26Chanay, Jeffrey A Esq NEW11Asiya Javayant
1012Jefferson R BowleyIndia2026-07-02Printing Dimensions RENEWAL30Ioni Bowcher
1013Arvin E SaylorsArgentina2026-06-24King, Christopher A Esq UNQUALIFIED71Bernardo Dominic
1014Leon Y OldroydRussia2026-07-13Printing Dimensions RENEWAL62Onyama Limba
1015Jeanfrancois Q AmigonFrance2026-06-26Feiner Bros NEGOTIATION54Anna Fali
1016Emily R VocelkaGermany2026-06-22Benton, John B Jr UNQUALIFIED4Stephen Shaw
1017Stacey X ChuiUnited Kingdom2026-06-24Morlong Associates RENEWAL37Xuxue Feng
1018Misaki S FlosiRussia2026-06-30Rangoni Of Florence UNQUALIFIED17Ivan Magalhaes
1019Mujtaba L GauchoJapan2026-07-16Chanay, Jeffrey A Esq PROPOSAL19Ioni Bowcher
1020Salvatore Q SergiIndia2026-07-15Rousseaux, Michael Esq RENEWAL14Elwin Sharvill
1021Ivar E CaudyJapan2026-07-19Rangoni Of Florence NEW91Stephen Shaw
1022Morrow P DilliardUnited Kingdom2026-06-27Benton, John B Jr RENEWAL41Stephen Shaw
1023Ivar Z WhobreyJapan2026-07-01King, Christopher A Esq PROPOSAL81Bernardo Dominic
1024Emily U SaylorsUnited Kingdom2026-07-10Printing Dimensions QUALIFIED17Xuxue Feng
1025Smith B WaycottAustralia2026-07-08Commercial Press RENEWAL12Ivan Magalhaes
1026David H MaletIndia2026-06-25Morlong Associates PROPOSAL89Amy Elsner
1027Francesco K IturbideBrazil2026-06-23Dorl, James J Esq NEW36Onyama Limba
1028Cody M BriddickArgentina2026-07-08Benton, John B Jr PROPOSAL6Xuxue Feng
1029Darci Z FlosiGermany2026-07-04Chanay, Jeffrey A Esq NEGOTIATION88Xuxue Feng
1030Munro Q BowleyAustralia2026-07-06Chemel, James L Cpa PROPOSAL60Stephen Shaw
1031Smith V MaletGermany2026-06-22Chemel, James L Cpa NEGOTIATION98Elwin Sharvill
1032Jefferson Z AlbaresJapan2026-06-23Dorl, James J Esq RENEWAL97Bernardo Dominic
1033Maisha J RoysterIndia2026-06-29King, Christopher A Esq RENEWAL99Bernardo Dominic
1034Francesco X SlusarskiGermany2026-06-26Buckley Miller Wright RENEWAL37Stephen Shaw
1035Antonio T TollnerFrance2026-07-15Chapman, Ross E Esq NEGOTIATION96Xuxue Feng
1036Leja Y ChuiRussia2026-06-25Chapman, Ross E Esq PROPOSAL19Ioni Bowcher
1037Isabel V GlickIndia2026-07-19Chapman, Ross E Esq RENEWAL30Xuxue Feng
1038Aditya K IturbideFrance2026-07-01Printing Dimensions UNQUALIFIED29Onyama Limba
1039Deepesh D GauchoJapan2026-07-19Benton, John B Jr UNQUALIFIED35Ioni Bowcher
1040Cody Z StockhamRussia2026-07-04Buckley Miller Wright PROPOSAL89Anna Fali
1041Greenwood H MaletUnited Kingdom2026-07-16Benton, John B Jr NEW20Ioni Bowcher
1042Izzy J PaprockiIndia2026-07-10Dorl, James J Esq NEW81Onyama Limba
1043Clifford F PaprockiUnited Kingdom2026-07-19Printing Dimensions NEGOTIATION18Ivan Magalhaes
1044Mujtaba K BologniaFrance2026-07-05Feltz Printing Service RENEWAL97Asiya Javayant
1045Jefferson S MarrierBrazil2026-07-16Commercial Press PROPOSAL21Elwin Sharvill
1046Deepesh X AlbaresIndia2026-06-30Benton, John B Jr UNQUALIFIED77Ivan Magalhaes
1047Wickens M NickaIndia2026-06-23Chapman, Ross E Esq PROPOSAL96Stephen Shaw
1048Chavez J ChuiJapan2026-07-03Benton, John B Jr QUALIFIED8Bernardo Dominic
1049Francesco K MaletFrance2026-06-28Commercial Press NEW13Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Clifford S MorascaUnited KingdomElwin Sharvill QUALIFIED
Murillo J PerinItalyOnyama Limba PROPOSAL
Antonio N ChuiSpainIoni Bowcher QUALIFIED
Arvin V KuskoIndiaBernardo Dominic PROPOSAL
Adams G WieserSpainElwin Sharvill NEW
Smith F StensethIndiaXuxue Feng RENEWAL
Aruna J MorascaIndiaAsiya Javayant QUALIFIED
Sinclair W CaudySpainElwin Sharvill QUALIFIED
Juan H SaylorsFranceElwin Sharvill RENEWAL
Clifford O MarrierFranceIvan Magalhaes UNQUALIFIED
Munro N ShinkoBrazilElwin Sharvill PROPOSAL
Isabel U GillianGermanyOnyama Limba QUALIFIED
Salvatore F CaldareraCanadaAsiya Javayant NEGOTIATION
Deepesh S BowleySpainAsiya Javayant PROPOSAL
Arvin T RoysterIndiaAmy Elsner UNQUALIFIED
Alejandro A KuskoGermanyXuxue Feng NEW
Silvio L PoquetteItalyAnna Fali QUALIFIED
Darci J NickaBrazilAmy Elsner NEW
Antonio W GlickFranceXuxue Feng RENEWAL
David G WhobreyIndiaElwin Sharvill NEGOTIATION
Emily Y SchemmerGermanyIoni Bowcher NEGOTIATION
Nicolas T WaycottSpainIvan Magalhaes NEGOTIATION
Isabel M WaycottGermanyElwin Sharvill PROPOSAL
Wickens B VenereItalyAsiya Javayant RENEWAL
Ricardo U StockhamCanadaBernardo Dominic QUALIFIED
Morrow F IturbideIndiaAmy Elsner QUALIFIED
Greenwood R OstroskyFranceAmy Elsner PROPOSAL
Tony O FlosiJapanOnyama Limba NEGOTIATION
Murillo L GauchoArgentinaAmy Elsner QUALIFIED
Emily J MaletJapanBernardo Dominic PROPOSAL
Tony I BriddickArgentinaAnna Fali QUALIFIED
Julie P BologniaCanadaAnna Fali NEGOTIATION
Faith P FerenczJapanIvan Magalhaes NEW
Julie K OldroydRussiaAnna Fali QUALIFIED
Mayumi Q MarrierSpainAmy Elsner UNQUALIFIED
Silvio C WaycottRussiaAnna Fali RENEWAL
Nicolas B RulapaughGermanyIvan Magalhaes RENEWAL
Juan M AmigonArgentinaOnyama Limba NEW
Jefferson Y SlusarskiUnited KingdomStephen Shaw UNQUALIFIED
Murillo D SchemmerArgentinaBernardo Dominic RENEWAL
Johnson D MaletGermanyIoni Bowcher NEW
Aruna X BologniaUnited KingdomStephen Shaw PROPOSAL
Costa A GlickJapanIoni Bowcher NEGOTIATION
Nicolas L PoquetteJapanIvan Magalhaes NEGOTIATION
Leon Z MorascaUnited KingdomAnna Fali UNQUALIFIED
Ricardo D DilliardGermanyAsiya Javayant RENEWAL
Mayumi U StockhamUnited KingdomIvan Magalhaes PROPOSAL
Sinclair Q WhobreyArgentinaAmy Elsner NEGOTIATION
Costa G OstroskyItalyBernardo Dominic UNQUALIFIED
Ivar O GauchoJapanStephen Shaw PROPOSAL
Frozen Columns
Name
Deepesh A Garufi
Silvio E Morasca
Ricardo M Nicka
James B Stockham
Maisha G Royster
Wickens D Ferencz
Adams J Gaucho
Faith J Malet
Chavez Z Dilliard
Antonio X Glick
Jennifer Z Bowley
Leon A Wieser
Jones Z Royster
Jennifer U Kolmetz
Arvin A Wieser
Chavez M Albares
Aruna U Oldroyd
Izzy Q Amigon
Leon P Bowley
Rodrigues N Slusarski
Julie C Chui
Aruna U Tollner
Antonio U Ruta
Francesco U Caudy
David C Rulapaugh
Jefferson L Darakjy
Jones J Saylors
James F Flosi
Isabel B Caudy
Munro I Saylors
Cody R Flosi
Jeanfrancois D Tollner
Greenwood M Bowley
Aika P Butt
Kaitlin W Rim
Ivar W Marrier
Leon O Shinko
Wickens S Rulapaugh
Chavez H Stenseth
Ivar L Iturbide
James F Iturbide
Deepesh P Caudy
Tony E Bolognia
Aika B Shinko
Tony U Marrier
Jennifer O Darakjy
Ashley I Malet
Nicolas Z Oldroyd
Tony F Nestle
Ivar T Flosi
IdCountryDate
1000Australia2026-07-02
1001Spain2026-07-07
1002Australia2026-07-13
1003India2026-07-13
1004United Kingdom2026-07-16
1005Spain2026-06-23
1006Japan2026-06-30
1007Russia2026-06-27
1008Italy2026-06-25
1009Germany2026-06-30
1010Germany2026-07-18
1011Spain2026-07-13
1012India2026-07-09
1013Italy2026-06-22
1014Italy2026-06-28
1015Russia2026-07-03
1016United Kingdom2026-06-28
1017Canada2026-07-09
1018Argentina2026-07-20
1019Germany2026-07-06
1020Japan2026-07-01
1021Japan2026-07-18
1022India2026-06-28
1023Canada2026-06-26
1024Japan2026-07-08
1025Australia2026-07-01
1026Australia2026-07-20
1027Argentina2026-06-22
1028Germany2026-07-01
1029India2026-07-02
1030Russia2026-07-04
1031Argentina2026-07-01
1032Canada2026-06-26
1033Germany2026-07-03
1034Japan2026-07-11
1035Canada2026-06-23
1036Argentina2026-07-19
1037Spain2026-06-23
1038France2026-07-19
1039Argentina2026-07-10
1040Japan2026-06-24
1041Germany2026-06-25
1042Canada2026-07-20
1043India2026-07-18
1044United Kingdom2026-07-20
1045Canada2026-06-24
1046Japan2026-07-07
1047Japan2026-06-23
1048Brazil2026-07-09
1049India2026-07-06

On-Demand Data

NameIdCountryDate
Francesco E Saylors1000Italy2026-07-08
Rodrigues K Stockham1001Canada2026-06-29
Isabel D Briddick1002India2026-07-13
Sinclair D Wieser1003Brazil2026-07-14
Stacey W Nicka1004Japan2026-06-24
Jones L Kolmetz1005Canada2026-06-21
Cody I Marrier1006United Kingdom2026-07-18
Costa R Royster1007Spain2026-06-22
Morrow O Nestle1008Argentina2026-06-26
Wickens D Garufi1009India2026-06-29
Nicolas L Ostrosky1010Germany2026-07-07
Costa N Dilliard1011Canada2026-07-16
Jefferson C Bolognia1012Italy2026-07-09
Stacey Q Campain1013Italy2026-07-04
Tony T Nestle1014Spain2026-07-17
Francesco Y Inouye1015Australia2026-06-25
Octavia S Nicka1016Germany2026-07-05
Chavez M Saylors1017Brazil2026-07-02
Morrow H Ostrosky1018India2026-07-02
Claire Y Darakjy1019Spain2026-06-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar T MorascaIndiaIvan Magalhaes PROPOSAL
Clifford I KuskoGermanyStephen Shaw PROPOSAL
Izzy V RoysterRussiaStephen Shaw UNQUALIFIED
Smith N OstroskyIndiaStephen Shaw NEW
Jefferson V GauchoUnited KingdomAnna Fali PROPOSAL
Maisha T VocelkaItalyOnyama Limba RENEWAL
Juan Q NickaArgentinaIvan Magalhaes NEGOTIATION
Arvin X MaletIndiaAnna Fali PROPOSAL
Wickens L RimSpainIvan Magalhaes NEGOTIATION
Adams U FigeroaCanadaIoni Bowcher RENEWAL
Maisha V DoeItalyAsiya Javayant PROPOSAL
Francesco J DoeItalyStephen Shaw RENEWAL
Chavez H SchemmerItalyAnna Fali NEW
Chavez S AmigonSpainStephen Shaw RENEWAL
Jeanfrancois L DoeIndiaBernardo Dominic RENEWAL
Maisha E PerinAustraliaXuxue Feng PROPOSAL
Kadeem N SergiSpainBernardo Dominic PROPOSAL
Kaitlin Z ButtFranceAsiya Javayant PROPOSAL
Julie F RimAustraliaAmy Elsner QUALIFIED
Costa K SchemmerAustraliaAmy Elsner RENEWAL
Aika I CaudyItalyIoni Bowcher RENEWAL
Clifford L NestleBrazilXuxue Feng QUALIFIED
Murillo H MaletUnited KingdomStephen Shaw UNQUALIFIED
Wickens F KolmetzFranceStephen Shaw NEW
Darci E ButtCanadaStephen Shaw UNQUALIFIED
Nicolas M NickaItalyElwin Sharvill QUALIFIED
Murillo T GarufiAustraliaAnna Fali NEGOTIATION
Arvin I VenereAustraliaIoni Bowcher RENEWAL
Isabel C DoeRussiaBernardo Dominic UNQUALIFIED
Claire P BowleyBrazilStephen Shaw UNQUALIFIED
Deepesh R AmigonGermanyIoni Bowcher PROPOSAL
Emily G BowleyGermanyBernardo Dominic RENEWAL
Morrow Q ChuiIndiaAnna Fali QUALIFIED
David O KolmetzAustraliaBernardo Dominic RENEWAL
Deepesh X MarrierArgentinaAnna Fali NEW
Izzy G GauchoCanadaStephen Shaw QUALIFIED
Juan F TollnerCanadaIoni Bowcher UNQUALIFIED
Leon C WieserJapanElwin Sharvill RENEWAL
Aika A WieserCanadaBernardo Dominic NEGOTIATION
Maria N BologniaCanadaIoni Bowcher 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>