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
Juan N MorascaCanadaStephen Shaw QUALIFIED
Octavia E PoquetteSpainAnna Fali NEGOTIATION
Wickens Z RulapaughIndiaAmy Elsner PROPOSAL
Costa U CampainAustraliaAsiya Javayant NEGOTIATION
Mujtaba O FlosiFranceAsiya Javayant RENEWAL
Chavez U DilliardGermanyBernardo Dominic UNQUALIFIED
Ricardo Z BowleyArgentinaIoni Bowcher RENEWAL
Nicolas Z GauchoJapanAsiya Javayant RENEWAL
Silvio J WhobreyJapanBernardo Dominic UNQUALIFIED
Clifford S StockhamJapanBernardo Dominic PROPOSAL
Greenwood D SlusarskiIndiaOnyama Limba NEGOTIATION
Aditya L WhobreyArgentinaOnyama Limba UNQUALIFIED
Johnson A CaldareraGermanyAsiya Javayant RENEWAL
Emily P TollnerRussiaAnna Fali NEW
Misaki A DilliardJapanStephen Shaw RENEWAL
Sinclair Z MacleadAustraliaStephen Shaw NEGOTIATION
Murillo N CampainSpainAmy Elsner QUALIFIED
Chavez L DoeAustraliaAsiya Javayant UNQUALIFIED
Francesco Y KuskoArgentinaStephen Shaw UNQUALIFIED
Maria R StockhamUnited KingdomIoni Bowcher RENEWAL
Cody S GauchoCanadaBernardo Dominic RENEWAL
Clifford T CampainCanadaAmy Elsner QUALIFIED
Maisha Z RimSpainOnyama Limba NEW
Ashley M AlbaresFranceIvan Magalhaes NEW
Costa O OldroydGermanyOnyama Limba RENEWAL
Johnson B DilliardBrazilOnyama Limba PROPOSAL
Mujtaba A RulapaughUnited KingdomElwin Sharvill PROPOSAL
Adams W RulapaughJapanIoni Bowcher NEW
Maisha R MarrierIndiaOnyama Limba UNQUALIFIED
Leja V MaletIndiaAmy Elsner PROPOSAL
Francesco H KuskoArgentinaAmy Elsner RENEWAL
Stacey D CampainCanadaAnna Fali NEW
Mujtaba Q MacleadSpainElwin Sharvill PROPOSAL
Greenwood B MarrierCanadaBernardo Dominic NEGOTIATION
Kaitlin O RoysterItalyAnna Fali PROPOSAL
Tony B KolmetzJapanXuxue Feng PROPOSAL
Costa N DarakjyAustraliaIoni Bowcher NEW
Kaitlin G FigeroaFranceOnyama Limba NEW
Antonio D SlusarskiFranceIvan Magalhaes RENEWAL
Ashley R FlosiFranceElwin Sharvill NEGOTIATION
Wickens U MacleadIndiaOnyama Limba NEW
Stacey W VenereAustraliaIoni Bowcher RENEWAL
Sinclair Z PoquetteCanadaStephen Shaw PROPOSAL
Misaki N DarakjySpainAmy Elsner NEGOTIATION
Leon L VenereRussiaXuxue Feng NEGOTIATION
Octavia D RutaArgentinaIoni Bowcher RENEWAL
Nicolas R NickaGermanyAmy Elsner UNQUALIFIED
David L StockhamItalyAnna Fali UNQUALIFIED
Wickens C MorascaAustraliaAmy Elsner NEGOTIATION
Darci T PoquetteItalyOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Aika O CaudySpainOnyama Limba UNQUALIFIED
Tony Z CaudyRussiaIoni Bowcher PROPOSAL
Munro F CampainCanadaElwin Sharvill RENEWAL
Isabel Y VocelkaSpainAsiya Javayant QUALIFIED
Leja O ChuiIndiaIvan Magalhaes PROPOSAL
Emily H ShinkoItalyAsiya Javayant UNQUALIFIED
Greenwood U PerinArgentinaIvan Magalhaes QUALIFIED
Arvin M ChuiGermanyAsiya Javayant UNQUALIFIED
Ivar T DoeBrazilOnyama Limba RENEWAL
Maria B AmigonGermanyIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja Q PaprockiSpain2025-04-11Morlong Associates QUALIFIED39Ivan Magalhaes
1001Arvin N SergiCanada2025-04-17Rangoni Of Florence PROPOSAL81Ioni Bowcher
1002Salvatore Y ButtSpain2025-04-10Rousseaux, Michael Esq RENEWAL29Ioni Bowcher
1003Murillo I AlbaresBrazil2025-04-07Feltz Printing Service NEW48Ivan Magalhaes
1004Alejandro M WaycottItaly2025-04-26Truhlar And Truhlar Attys QUALIFIED77Bernardo Dominic
1005Nicolas Q MaletJapan2025-04-01King, Christopher A Esq RENEWAL53Asiya Javayant
1006Juan O WhobreyJapan2025-04-11Benton, John B Jr RENEWAL5Ivan Magalhaes
1007Antonio V FollerItaly2025-04-08Feiner Bros NEGOTIATION99Elwin Sharvill
1008David F SaylorsRussia2025-04-26Chapman, Ross E Esq UNQUALIFIED32Anna Fali
1009Murillo O BriddickJapan2025-04-22Rangoni Of Florence RENEWAL53Ivan Magalhaes
1010Izzy U WhobreyArgentina2025-04-13Printing Dimensions PROPOSAL6Amy Elsner
1011Costa M StensethItaly2025-04-06Benton, John B Jr NEW16Elwin Sharvill
1012James U BologniaFrance2025-04-06Rangoni Of Florence QUALIFIED80Bernardo Dominic
1013Tony I CaldareraRussia2025-04-12Chanay, Jeffrey A Esq UNQUALIFIED99Ivan Magalhaes
1014Jeanfrancois L PerinIndia2025-04-12Printing Dimensions QUALIFIED57Bernardo Dominic
1015Arvin T StensethCanada2025-04-18Feltz Printing Service UNQUALIFIED97Onyama Limba
1016Leja W KolmetzUnited Kingdom2025-04-29Rangoni Of Florence PROPOSAL5Bernardo Dominic
1017Isabel V BriddickJapan2025-04-05Benton, John B Jr QUALIFIED75Amy Elsner
1018Tony Y BowleyArgentina2025-04-17Buckley Miller Wright UNQUALIFIED25Ivan Magalhaes
1019Claire T ShinkoGermany2025-04-19Rangoni Of Florence NEW82Anna Fali
1020Sinclair J BowleyArgentina2025-04-22Feiner Bros NEGOTIATION5Onyama Limba
1021Aruna C DilliardFrance2025-04-03Commercial Press NEW50Ioni Bowcher
1022Greenwood M AmigonArgentina2025-04-27Rousseaux, Michael Esq UNQUALIFIED75Amy Elsner
1023James U RimAustralia2025-04-22Morlong Associates NEW54Elwin Sharvill
1024Ivar Q PaprockiItaly2025-04-24Benton, John B Jr NEW37Onyama Limba
1025Misaki P OldroydItaly2025-04-30Morlong Associates NEW63Bernardo Dominic
1026Mujtaba O SlusarskiRussia2025-04-24Commercial Press NEGOTIATION79Onyama Limba
1027Johnson N BologniaItaly2025-04-03Dorl, James J Esq RENEWAL63Asiya Javayant
1028Julie N SergiIndia2025-04-25Truhlar And Truhlar Attys NEW75Xuxue Feng
1029Kaitlin B ButtSpain2025-04-22Truhlar And Truhlar Attys NEGOTIATION54Stephen Shaw
1030Greenwood X DarakjySpain2025-04-29Printing Dimensions NEGOTIATION89Anna Fali
1031Rodrigues M WieserSpain2025-04-23Truhlar And Truhlar Attys NEW72Xuxue Feng
1032Ivar S PerinRussia2025-04-09Rangoni Of Florence RENEWAL54Ioni Bowcher
1033Cody M KuskoArgentina2025-04-27Dorl, James J Esq PROPOSAL34Amy Elsner
1034Munro J BriddickSpain2025-04-01Chapman, Ross E Esq RENEWAL94Asiya Javayant
1035Emily V MaletAustralia2025-04-16Morlong Associates NEGOTIATION94Bernardo Dominic
1036Darci N ChuiUnited Kingdom2025-04-08Rangoni Of Florence NEW63Xuxue Feng
1037Leja J FollerJapan2025-04-01Truhlar And Truhlar Attys NEGOTIATION1Amy Elsner
1038Aika M MacleadBrazil2025-04-08Feiner Bros RENEWAL83Onyama Limba
1039David E BologniaAustralia2025-04-11King, Christopher A Esq PROPOSAL78Ivan Magalhaes
1040Silvio L BriddickIndia2025-04-07Rangoni Of Florence NEGOTIATION90Ivan Magalhaes
1041Octavia D GauchoFrance2025-04-19King, Christopher A Esq QUALIFIED33Xuxue Feng
1042Silvio V StensethFrance2025-04-29Rangoni Of Florence NEGOTIATION27Anna Fali
1043Cody Y KuskoIndia2025-04-26Printing Dimensions NEGOTIATION30Anna Fali
1044Silvio J WhobreyBrazil2025-04-06Dorl, James J Esq NEGOTIATION6Onyama Limba
1045Faith S FlosiArgentina2025-04-26Benton, John B Jr QUALIFIED4Anna Fali
1046Cody Y VocelkaCanada2025-04-05Truhlar And Truhlar Attys NEW25Bernardo Dominic
1047Aditya Q BriddickGermany2025-04-11Chapman, Ross E Esq QUALIFIED41Elwin Sharvill
1048Stacey X BriddickCanada2025-04-21Dorl, James J Esq UNQUALIFIED89Onyama Limba
1049Arvin C VenereFrance2025-04-01Rangoni Of Florence RENEWAL12Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
David K SlusarskiArgentinaOnyama Limba RENEWAL
Salvatore R GillianFranceAsiya Javayant RENEWAL
Misaki F FigeroaIndiaStephen Shaw NEGOTIATION
Munro I RulapaughArgentinaAmy Elsner PROPOSAL
Maria K SlusarskiItalyAmy Elsner QUALIFIED
Silvio F CampainCanadaElwin Sharvill UNQUALIFIED
Mujtaba T AlbaresItalyIvan Magalhaes UNQUALIFIED
Murillo H MaletArgentinaXuxue Feng PROPOSAL
Maria O RimBrazilOnyama Limba RENEWAL
Deepesh H SergiAustraliaBernardo Dominic RENEWAL
Jeanfrancois F DoeGermanyIoni Bowcher UNQUALIFIED
Greenwood H PoquetteCanadaAmy Elsner NEW
Aditya X FigeroaFranceStephen Shaw RENEWAL
Costa W PerinSpainAsiya Javayant NEGOTIATION
Octavia P GlickArgentinaIoni Bowcher UNQUALIFIED
Ricardo D KuskoItalyAmy Elsner RENEWAL
Faith T StockhamJapanElwin Sharvill UNQUALIFIED
Claire C FollerGermanyAmy Elsner RENEWAL
Greenwood D RutaFranceOnyama Limba NEGOTIATION
Aika E FerenczIndiaAsiya Javayant QUALIFIED
Cody H NestleCanadaElwin Sharvill NEGOTIATION
Clifford V RimCanadaIoni Bowcher PROPOSAL
Isabel J BowleyArgentinaOnyama Limba RENEWAL
Wickens A GlickBrazilXuxue Feng PROPOSAL
Chavez P SchemmerUnited KingdomOnyama Limba RENEWAL
Aika O ShinkoGermanyBernardo Dominic UNQUALIFIED
Ashley B GarufiAustraliaOnyama Limba UNQUALIFIED
Octavia M ChuiFranceAsiya Javayant NEW
Octavia E DoeSpainXuxue Feng PROPOSAL
Rodrigues V FollerIndiaBernardo Dominic UNQUALIFIED
Aruna Z InouyeCanadaIvan Magalhaes PROPOSAL
Tony Q DarakjyFranceXuxue Feng QUALIFIED
Ricardo W IturbideBrazilAmy Elsner NEGOTIATION
Jennifer Y FlosiCanadaXuxue Feng NEW
Rodrigues C PerinJapanIoni Bowcher QUALIFIED
Adams O GlickGermanyIvan Magalhaes NEW
Morrow R GlickRussiaAnna Fali UNQUALIFIED
Silvio M PoquetteAustraliaElwin Sharvill QUALIFIED
Julie O MacleadArgentinaBernardo Dominic RENEWAL
Deepesh J RimBrazilIvan Magalhaes NEW
Maria L MarrierSpainAmy Elsner NEW
Cody F PaprockiAustraliaIoni Bowcher QUALIFIED
Isabel G PerinBrazilIvan Magalhaes QUALIFIED
Kaitlin F WieserCanadaBernardo Dominic PROPOSAL
Jeanfrancois B NestleCanadaBernardo Dominic QUALIFIED
Octavia V StockhamAustraliaOnyama Limba UNQUALIFIED
Munro J OstroskyJapanOnyama Limba NEGOTIATION
Octavia O FollerRussiaBernardo Dominic NEW
Maria E FerenczRussiaOnyama Limba NEW
Johnson R BologniaUnited KingdomElwin Sharvill QUALIFIED
Frozen Columns
Name
Alejandro A Ostrosky
Sinclair E Figeroa
Ricardo J Kolmetz
Izzy A Garufi
Smith A Schemmer
Arvin H Chui
Faith X Butt
Julie V Gaucho
Smith V Garufi
Aruna W Gillian
Wickens L Whobrey
Silvio G Shinko
Leja W Campain
Ricardo B Doe
Munro P Morasca
Maisha S Oldroyd
Deepesh G Caudy
Mayumi Z Iturbide
Tony Y Stenseth
Francesco R Whobrey
Isabel F Darakjy
Darci P Nestle
Stacey P Foller
Jennifer Z Iturbide
Aika G Chui
Chavez O Glick
Nicolas R Bolognia
Claire K Poquette
Jones F Figeroa
Mujtaba I Gillian
Stacey I Campain
Claire R Shinko
Rodrigues M Royster
Darci F Bolognia
Mujtaba S Rim
Wickens U Shinko
Jones I Ostrosky
Deepesh F Royster
Mujtaba T Foller
Julie S Wieser
Antonio B Morasca
Smith M Perin
Costa F Malet
Adams E Flosi
Jefferson S Kusko
Jeanfrancois W Saylors
Arvin P Kusko
Stacey R Shinko
Morrow M Rulapaugh
Adams S Sergi
IdCountryDate
1000Russia2025-04-24
1001Australia2025-04-14
1002Russia2025-04-15
1003Argentina2025-04-28
1004Spain2025-04-01
1005Australia2025-04-03
1006Canada2025-04-19
1007Canada2025-04-25
1008Italy2025-04-27
1009Spain2025-04-15
1010Japan2025-04-19
1011Canada2025-04-02
1012Russia2025-04-12
1013Japan2025-04-09
1014Japan2025-04-16
1015Italy2025-04-17
1016United Kingdom2025-04-25
1017Spain2025-04-25
1018Japan2025-04-24
1019Germany2025-04-16
1020Spain2025-04-20
1021Brazil2025-04-18
1022Russia2025-04-06
1023Italy2025-04-06
1024Brazil2025-04-06
1025Spain2025-04-02
1026Spain2025-04-17
1027Spain2025-04-22
1028Italy2025-04-05
1029Argentina2025-04-18
1030France2025-04-18
1031Spain2025-04-15
1032Canada2025-04-22
1033Japan2025-04-18
1034France2025-04-06
1035Canada2025-04-30
1036Australia2025-04-14
1037Germany2025-04-15
1038India2025-04-15
1039Italy2025-04-23
1040Russia2025-04-27
1041Australia2025-04-05
1042Canada2025-04-20
1043Russia2025-04-25
1044Russia2025-04-18
1045Argentina2025-04-16
1046Germany2025-04-15
1047United Kingdom2025-04-10
1048Japan2025-04-04
1049United Kingdom2025-04-19

On-Demand Data

NameIdCountryDate
Jennifer W Whobrey1000France2025-04-13
David C Glick1001Brazil2025-04-24
Deepesh U Figeroa1002Spain2025-04-18
Maisha C Ruta1003Argentina2025-04-13
Leon Y Bolognia1004United Kingdom2025-04-03
Isabel H Stockham1005United Kingdom2025-04-20
Clifford V Doe1006Italy2025-04-30
Maisha Y Bolognia1007Germany2025-04-03
Murillo W Paprocki1008Japan2025-04-22
Costa P Gillian1009United Kingdom2025-04-24
Francesco D Gaucho1010United Kingdom2025-04-21
Emily E Campain1011Canada2025-04-09
Munro Q Sergi1012Argentina2025-04-27
Maisha Z Vocelka1013Canada2025-04-29
Adams I Rulapaugh1014Brazil2025-04-10
Johnson E Saylors1015India2025-04-05
Kaitlin S Schemmer1016Australia2025-04-14
Aruna Q Paprocki1017France2025-04-17
Leon L Rulapaugh1018Japan2025-04-24
Jennifer Z Slusarski1019Spain2025-04-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas B CaldareraCanadaOnyama Limba NEGOTIATION
Cody F OstroskyBrazilStephen Shaw NEW
Claire H GillianRussiaIoni Bowcher UNQUALIFIED
Mujtaba U ButtGermanyBernardo Dominic QUALIFIED
Kadeem J BriddickCanadaAnna Fali QUALIFIED
Mujtaba K FlosiAustraliaAmy Elsner UNQUALIFIED
Isabel S ShinkoFranceStephen Shaw NEW
Jeanfrancois E GlickIndiaElwin Sharvill RENEWAL
Darci T StockhamFranceIvan Magalhaes QUALIFIED
Tony W WaycottAustraliaIoni Bowcher RENEWAL
Jefferson Z PaprockiSpainIoni Bowcher PROPOSAL
Jones Z FerenczItalyElwin Sharvill UNQUALIFIED
Aruna M IturbideSpainXuxue Feng NEW
Francesco L CampainItalyBernardo Dominic UNQUALIFIED
Octavia Q SlusarskiUnited KingdomIvan Magalhaes NEW
Emily N GauchoGermanyOnyama Limba PROPOSAL
Sinclair C OstroskyGermanyElwin Sharvill UNQUALIFIED
Clifford Y KolmetzFranceIoni Bowcher QUALIFIED
Sinclair H BologniaItalyAnna Fali NEW
Emily K MaletRussiaXuxue Feng RENEWAL
Cody K BologniaRussiaStephen Shaw QUALIFIED
Aditya S AmigonAustraliaAmy Elsner RENEWAL
Deepesh N KolmetzRussiaStephen Shaw RENEWAL
Adams V PaprockiCanadaOnyama Limba NEGOTIATION
Wickens A FollerAustraliaElwin Sharvill PROPOSAL
James A VocelkaSpainBernardo Dominic NEGOTIATION
Julie H DilliardItalyXuxue Feng UNQUALIFIED
Antonio G KuskoItalyIoni Bowcher NEW
Nicolas K WaycottGermanyElwin Sharvill UNQUALIFIED
Claire U InouyeRussiaIoni Bowcher PROPOSAL
James D StockhamRussiaStephen Shaw RENEWAL
Mayumi H WhobreyFranceBernardo Dominic PROPOSAL
Ashley S KolmetzGermanyAsiya Javayant UNQUALIFIED
Clifford K FollerIndiaStephen Shaw QUALIFIED
Stacey Q WhobreyCanadaBernardo Dominic QUALIFIED
Francesco V ChuiAustraliaOnyama Limba RENEWAL
Salvatore L DilliardCanadaAmy Elsner RENEWAL
Rodrigues A AmigonUnited KingdomBernardo Dominic UNQUALIFIED
Morrow H NestleRussiaIvan Magalhaes PROPOSAL
Maria H NestleUnited KingdomIoni Bowcher 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>