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
Aditya M MaletBrazilBernardo Dominic RENEWAL
Maisha G FigeroaItalyIvan Magalhaes QUALIFIED
Juan Z OstroskyAustraliaXuxue Feng NEW
Jefferson F FerenczBrazilXuxue Feng NEW
Rodrigues T KuskoAustraliaIvan Magalhaes NEW
Jeanfrancois O InouyeArgentinaStephen Shaw UNQUALIFIED
Salvatore U ShinkoSpainElwin Sharvill RENEWAL
Jennifer Z GarufiItalyElwin Sharvill RENEWAL
Kaitlin S BriddickArgentinaBernardo Dominic RENEWAL
Mujtaba I FlosiFranceAsiya Javayant QUALIFIED
Silvio M OldroydRussiaBernardo Dominic PROPOSAL
Maria U PaprockiArgentinaIvan Magalhaes NEGOTIATION
Aruna N ShinkoJapanIoni Bowcher UNQUALIFIED
Alejandro F BowleyFranceAmy Elsner PROPOSAL
James E NickaArgentinaStephen Shaw NEW
Munro B WieserAustraliaElwin Sharvill QUALIFIED
Leon W MaletFranceAmy Elsner UNQUALIFIED
Isabel M TollnerUnited KingdomXuxue Feng QUALIFIED
Isabel X MaletFranceXuxue Feng PROPOSAL
Chavez H OldroydSpainOnyama Limba NEW
Ivar K GarufiRussiaAmy Elsner PROPOSAL
Kadeem O VocelkaJapanOnyama Limba NEW
Costa W SlusarskiCanadaXuxue Feng NEW
Aditya O FerenczCanadaAmy Elsner QUALIFIED
Adams S BriddickIndiaBernardo Dominic NEGOTIATION
Faith V SaylorsArgentinaBernardo Dominic QUALIFIED
Misaki Q SergiUnited KingdomIoni Bowcher UNQUALIFIED
Antonio A GauchoFranceElwin Sharvill QUALIFIED
Costa D TollnerFranceIvan Magalhaes QUALIFIED
Johnson B WaycottGermanyAsiya Javayant PROPOSAL
Juan H FerenczAustraliaOnyama Limba NEGOTIATION
Morrow D InouyeRussiaStephen Shaw PROPOSAL
Leon E CampainGermanyElwin Sharvill UNQUALIFIED
Chavez M CampainItalyIoni Bowcher RENEWAL
Chavez Z PerinBrazilXuxue Feng NEGOTIATION
Leja S StensethGermanyOnyama Limba NEGOTIATION
Maisha S WaycottJapanStephen Shaw UNQUALIFIED
Mujtaba Z ShinkoAustraliaIoni Bowcher PROPOSAL
Wickens K FigeroaItalyXuxue Feng PROPOSAL
Mayumi H GarufiIndiaStephen Shaw RENEWAL
Darci S MaletIndiaOnyama Limba NEGOTIATION
Munro N CaudyArgentinaOnyama Limba PROPOSAL
Munro A WhobreySpainStephen Shaw QUALIFIED
Nicolas E MorascaUnited KingdomOnyama Limba UNQUALIFIED
Julie K FigeroaCanadaOnyama Limba NEGOTIATION
Misaki O AlbaresAustraliaIoni Bowcher NEW
Nicolas Q CaldareraUnited KingdomStephen Shaw RENEWAL
Greenwood P OldroydBrazilStephen Shaw NEW
Arvin X StensethBrazilAnna Fali PROPOSAL
Morrow M CaudyRussiaAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Rodrigues C WieserBrazilElwin Sharvill NEGOTIATION
Octavia T DoeJapanAsiya Javayant UNQUALIFIED
Alejandro A ButtSpainXuxue Feng RENEWAL
Nicolas W PaprockiIndiaAnna Fali NEGOTIATION
Leon O PaprockiArgentinaIoni Bowcher RENEWAL
Claire H RoysterBrazilElwin Sharvill RENEWAL
David K MorascaCanadaIvan Magalhaes PROPOSAL
Morrow L PerinJapanAsiya Javayant NEGOTIATION
Nicolas Y AmigonItalyIvan Magalhaes QUALIFIED
Emily D SergiSpainIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones L FigeroaSpain2026-08-07Chapman, Ross E Esq NEGOTIATION30Onyama Limba
1001Francesco G PerinJapan2026-08-13Rangoni Of Florence NEW26Bernardo Dominic
1002Silvio F WaycottUnited Kingdom2026-07-31Benton, John B Jr PROPOSAL74Asiya Javayant
1003Ricardo M RimGermany2026-07-23Rousseaux, Michael Esq UNQUALIFIED27Anna Fali
1004Emily M ShinkoBrazil2026-08-09Truhlar And Truhlar Attys NEW13Xuxue Feng
1005Munro Q VenereJapan2026-08-21King, Christopher A Esq QUALIFIED7Xuxue Feng
1006Leja P MacleadGermany2026-08-20Chemel, James L Cpa NEGOTIATION48Stephen Shaw
1007Adams W AlbaresArgentina2026-08-02Chapman, Ross E Esq PROPOSAL93Ivan Magalhaes
1008Maisha S WhobreyIndia2026-08-11Morlong Associates QUALIFIED75Elwin Sharvill
1009Leja C GillianGermany2026-08-02Rousseaux, Michael Esq NEW46Amy Elsner
1010Aditya F SergiBrazil2026-08-10Chanay, Jeffrey A Esq QUALIFIED45Ioni Bowcher
1011Aditya A BriddickJapan2026-08-16Rousseaux, Michael Esq QUALIFIED2Anna Fali
1012Mayumi K RutaBrazil2026-08-09Benton, John B Jr UNQUALIFIED7Ivan Magalhaes
1013Claire B TollnerFrance2026-08-13Morlong Associates NEGOTIATION6Bernardo Dominic
1014Aruna H MorascaArgentina2026-08-11Printing Dimensions QUALIFIED69Xuxue Feng
1015Ashley W RulapaughArgentina2026-08-15Feiner Bros NEW15Ivan Magalhaes
1016Ivar N InouyeArgentina2026-08-15King, Christopher A Esq RENEWAL35Stephen Shaw
1017David L FerenczArgentina2026-08-03Chemel, James L Cpa QUALIFIED69Ioni Bowcher
1018Sinclair Y FigeroaUnited Kingdom2026-08-19Dorl, James J Esq QUALIFIED46Ioni Bowcher
1019Jones U RulapaughSpain2026-08-07Chemel, James L Cpa NEW83Asiya Javayant
1020David S DoeAustralia2026-07-25King, Christopher A Esq NEW79Bernardo Dominic
1021Octavia G KuskoAustralia2026-08-11Benton, John B Jr QUALIFIED67Anna Fali
1022Sinclair O GlickRussia2026-08-17Benton, John B Jr PROPOSAL0Bernardo Dominic
1023Emily W KuskoArgentina2026-08-01Printing Dimensions QUALIFIED73Ivan Magalhaes
1024Kaitlin L NickaAustralia2026-07-26Feiner Bros UNQUALIFIED93Stephen Shaw
1025Clifford S OstroskyFrance2026-08-01Chanay, Jeffrey A Esq NEGOTIATION41Bernardo Dominic
1026Arvin A PerinIndia2026-08-19Morlong Associates NEW59Onyama Limba
1027David Z ShinkoFrance2026-08-14Rousseaux, Michael Esq QUALIFIED76Stephen Shaw
1028Jefferson P NickaRussia2026-07-30Chanay, Jeffrey A Esq NEGOTIATION38Xuxue Feng
1029David C RutaUnited Kingdom2026-08-10Buckley Miller Wright NEGOTIATION38Ioni Bowcher
1030Aika P CampainBrazil2026-07-24King, Christopher A Esq NEW93Bernardo Dominic
1031Aika E InouyeIndia2026-08-21Dorl, James J Esq QUALIFIED17Bernardo Dominic
1032Chavez C NickaBrazil2026-08-12Commercial Press UNQUALIFIED18Ioni Bowcher
1033James U BowleyFrance2026-07-26Printing Dimensions RENEWAL55Ivan Magalhaes
1034Francesco W OstroskyGermany2026-08-04Chanay, Jeffrey A Esq RENEWAL47Bernardo Dominic
1035Wickens V MarrierCanada2026-07-24Chapman, Ross E Esq UNQUALIFIED81Anna Fali
1036Aruna P WhobreySpain2026-08-02Commercial Press RENEWAL46Stephen Shaw
1037Arvin I KolmetzRussia2026-07-24Commercial Press UNQUALIFIED21Ioni Bowcher
1038Wickens R MaletAustralia2026-07-25Dorl, James J Esq PROPOSAL92Asiya Javayant
1039Murillo D KuskoIndia2026-07-23Commercial Press PROPOSAL65Anna Fali
1040Ivar A RutaSpain2026-08-17Feltz Printing Service NEGOTIATION49Stephen Shaw
1041Maisha N AlbaresBrazil2026-08-10Dorl, James J Esq RENEWAL67Asiya Javayant
1042Aika W GauchoItaly2026-08-14Chapman, Ross E Esq UNQUALIFIED58Amy Elsner
1043Aika E PaprockiIndia2026-08-16Feltz Printing Service UNQUALIFIED30Anna Fali
1044Nicolas E CampainIndia2026-08-06Rangoni Of Florence QUALIFIED51Onyama Limba
1045Leja U OstroskyRussia2026-07-28Morlong Associates UNQUALIFIED3Elwin Sharvill
1046Jones R OstroskyArgentina2026-08-13Dorl, James J Esq UNQUALIFIED84Onyama Limba
1047Izzy X InouyeGermany2026-08-15Morlong Associates UNQUALIFIED88Asiya Javayant
1048Arvin F OstroskyAustralia2026-07-26Benton, John B Jr QUALIFIED32Onyama Limba
1049Darci L MarrierArgentina2026-08-14Rangoni Of Florence UNQUALIFIED69Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Cody T RoysterAustraliaStephen Shaw NEW
Izzy Q RimIndiaElwin Sharvill QUALIFIED
Izzy F VocelkaItalyAmy Elsner UNQUALIFIED
Costa Y SchemmerCanadaIvan Magalhaes NEGOTIATION
Sinclair F FollerJapanStephen Shaw NEW
Rodrigues O AlbaresBrazilAmy Elsner NEW
Maria G MacleadJapanAmy Elsner RENEWAL
Munro S FigeroaSpainAmy Elsner NEW
Julie N CaldareraUnited KingdomOnyama Limba NEGOTIATION
Greenwood Y RimSpainAmy Elsner NEW
Arvin M SergiGermanyXuxue Feng QUALIFIED
Francesco Z BologniaGermanyStephen Shaw NEGOTIATION
Sinclair L GarufiArgentinaAmy Elsner UNQUALIFIED
Ricardo Y BriddickIndiaElwin Sharvill RENEWAL
Rodrigues C WhobreyItalyIvan Magalhaes NEGOTIATION
Alejandro L PaprockiRussiaElwin Sharvill NEGOTIATION
Wickens Z FigeroaCanadaElwin Sharvill QUALIFIED
Jones K TollnerJapanElwin Sharvill RENEWAL
Wickens P PoquetteAustraliaAmy Elsner QUALIFIED
David W FlosiSpainBernardo Dominic UNQUALIFIED
Stacey D FerenczArgentinaStephen Shaw NEGOTIATION
Munro Q RutaIndiaBernardo Dominic QUALIFIED
Arvin W BologniaUnited KingdomIoni Bowcher PROPOSAL
Misaki M GarufiCanadaOnyama Limba NEW
David Z ShinkoRussiaStephen Shaw QUALIFIED
Kadeem Z WhobreyItalyAnna Fali RENEWAL
Julie O GarufiJapanBernardo Dominic UNQUALIFIED
Sinclair R RulapaughUnited KingdomXuxue Feng NEW
Octavia C StockhamCanadaIoni Bowcher NEGOTIATION
Tony L RutaBrazilBernardo Dominic RENEWAL
Clifford E FerenczSpainStephen Shaw QUALIFIED
Morrow U PoquetteSpainIoni Bowcher UNQUALIFIED
Jeanfrancois V AlbaresIndiaAnna Fali PROPOSAL
Johnson S NestleFranceElwin Sharvill NEW
Jefferson G OldroydGermanyOnyama Limba UNQUALIFIED
Costa F RoysterGermanyBernardo Dominic QUALIFIED
Greenwood S CaldareraIndiaStephen Shaw RENEWAL
Faith A CaudyBrazilOnyama Limba PROPOSAL
Sinclair J SlusarskiCanadaIoni Bowcher NEGOTIATION
Morrow Q DoeCanadaBernardo Dominic QUALIFIED
Salvatore H MorascaRussiaStephen Shaw NEW
Greenwood J DarakjyJapanAnna Fali UNQUALIFIED
Aika F GarufiFranceAnna Fali PROPOSAL
Jeanfrancois L StockhamJapanIvan Magalhaes UNQUALIFIED
Johnson Z ShinkoUnited KingdomIvan Magalhaes QUALIFIED
Morrow I DarakjyArgentinaBernardo Dominic NEW
Francesco D SlusarskiArgentinaIvan Magalhaes QUALIFIED
Murillo O DoeUnited KingdomElwin Sharvill UNQUALIFIED
Antonio W BowleySpainOnyama Limba PROPOSAL
Jeanfrancois D PaprockiCanadaXuxue Feng QUALIFIED
Frozen Columns
Name
Aika Z Garufi
Kaitlin T Rulapaugh
Juan H Ruta
Ivar L Stockham
Antonio U Perin
Adams H Royster
Aruna U Kolmetz
Aditya Y Doe
Jefferson T Venere
Costa G Doe
Jones M Caldarera
Ivar W Oldroyd
David F Kusko
James T Shinko
Costa C Marrier
Darci I Doe
Jefferson V Kolmetz
Nicolas D Oldroyd
Johnson W Ostrosky
Mayumi O Malet
Clifford Z Saylors
Morrow O Slusarski
Juan E Sergi
Ricardo L Maclead
Tony I Gillian
Mujtaba B Paprocki
Jones J Flosi
Sinclair O Marrier
Cody Z Saylors
Chavez K Gaucho
Faith W Rim
Emily P Shinko
Leon U Paprocki
Jeanfrancois O Glick
Clifford F Bowley
Leja E Poquette
Chavez A Caldarera
Tony W Iturbide
Salvatore O Maclead
David N Flosi
Ricardo Y Marrier
Smith O Flosi
Clifford B Wieser
Jones K Briddick
Silvio X Wieser
Clifford Q Chui
Morrow J Ruta
Johnson R Perin
Ashley E Glick
Smith Y Perin
IdCountryDate
1000India2026-08-02
1001Germany2026-08-15
1002Australia2026-08-12
1003Italy2026-08-20
1004Brazil2026-07-26
1005Australia2026-07-25
1006Russia2026-08-14
1007Spain2026-08-18
1008Italy2026-08-09
1009Canada2026-08-20
1010Canada2026-07-30
1011Japan2026-08-14
1012Italy2026-08-11
1013Japan2026-07-24
1014India2026-07-27
1015Japan2026-08-01
1016Spain2026-07-29
1017Italy2026-07-30
1018Japan2026-07-23
1019Germany2026-08-05
1020Australia2026-07-30
1021United Kingdom2026-08-12
1022Spain2026-07-31
1023India2026-08-16
1024Argentina2026-07-23
1025Russia2026-08-14
1026Japan2026-08-15
1027United Kingdom2026-08-01
1028Russia2026-07-23
1029Italy2026-08-08
1030India2026-08-05
1031India2026-08-07
1032Argentina2026-07-30
1033Brazil2026-08-11
1034Russia2026-08-09
1035Australia2026-08-07
1036Brazil2026-07-25
1037Australia2026-08-17
1038Spain2026-08-07
1039Argentina2026-08-21
1040Japan2026-07-23
1041Australia2026-08-05
1042Russia2026-08-01
1043Australia2026-07-25
1044France2026-08-16
1045Australia2026-08-13
1046United Kingdom2026-07-28
1047Spain2026-08-05
1048Italy2026-08-16
1049Brazil2026-08-09

On-Demand Data

NameIdCountryDate
Maisha J Maclead1000France2026-08-17
Kadeem D Bolognia1001Canada2026-08-09
Maria R Amigon1002United Kingdom2026-08-13
Emily Y Tollner1003Italy2026-07-24
Izzy O Royster1004Canada2026-08-19
Smith W Stenseth1005Germany2026-08-10
Leon D Rulapaugh1006Italy2026-07-23
Ashley B Nestle1007Germany2026-07-25
Munro O Ostrosky1008Brazil2026-08-06
Silvio O Tollner1009Italy2026-07-25
Murillo T Bowley1010Brazil2026-08-07
Jefferson P Oldroyd1011Spain2026-08-10
Nicolas S Glick1012France2026-08-02
James E Slusarski1013Italy2026-08-05
Leja K Amigon1014Argentina2026-08-19
Wickens F Stockham1015Russia2026-07-25
Tony P Stockham1016Argentina2026-07-24
Costa O Caldarera1017Germany2026-08-05
Greenwood U Nestle1018Japan2026-08-01
Emily U Briddick1019United Kingdom2026-07-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley J DilliardIndiaOnyama Limba NEGOTIATION
Jones J BowleyGermanyElwin Sharvill PROPOSAL
Darci G NestleJapanAsiya Javayant RENEWAL
Leon M FollerJapanIoni Bowcher NEGOTIATION
Misaki W MorascaCanadaOnyama Limba PROPOSAL
Morrow S StensethFranceAmy Elsner UNQUALIFIED
Darci R MorascaItalyAnna Fali UNQUALIFIED
Isabel Q BowleyRussiaIoni Bowcher UNQUALIFIED
Aruna T NickaUnited KingdomElwin Sharvill PROPOSAL
Misaki E IturbideJapanAmy Elsner UNQUALIFIED
Darci X GlickJapanXuxue Feng UNQUALIFIED
Mujtaba L DarakjyBrazilStephen Shaw PROPOSAL
Julie V SaylorsBrazilOnyama Limba NEW
Julie C GarufiJapanAnna Fali PROPOSAL
Murillo J MacleadFranceXuxue Feng NEGOTIATION
Emily P BriddickUnited KingdomAnna Fali PROPOSAL
Cody J InouyeRussiaOnyama Limba UNQUALIFIED
Julie N ShinkoGermanyAsiya Javayant QUALIFIED
Aika B ChuiArgentinaElwin Sharvill NEW
Kaitlin D GillianRussiaXuxue Feng NEGOTIATION
Izzy N PerinAustraliaXuxue Feng NEGOTIATION
Faith A MaletSpainIvan Magalhaes NEW
Leon A MaletSpainAnna Fali RENEWAL
David A IturbideRussiaAnna Fali RENEWAL
Munro U TollnerArgentinaIoni Bowcher QUALIFIED
Ricardo H IturbideGermanyStephen Shaw PROPOSAL
Jeanfrancois J FerenczFranceElwin Sharvill UNQUALIFIED
Jennifer D KolmetzGermanyOnyama Limba UNQUALIFIED
Tony W KuskoRussiaXuxue Feng QUALIFIED
Alejandro B InouyeUnited KingdomElwin Sharvill QUALIFIED
Leon K CaldareraIndiaXuxue Feng UNQUALIFIED
Francesco M NickaArgentinaXuxue Feng NEGOTIATION
Aruna T OldroydCanadaElwin Sharvill QUALIFIED
Isabel T BriddickItalyXuxue Feng RENEWAL
Octavia H SaylorsGermanyIvan Magalhaes PROPOSAL
Ricardo S RimGermanyXuxue Feng NEW
Emily Q ChuiUnited KingdomAnna Fali UNQUALIFIED
Jefferson H SaylorsJapanOnyama Limba NEW
Cody X StockhamArgentinaIoni Bowcher NEGOTIATION
Izzy N MarrierJapanOnyama Limba 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>