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
Deepesh A GarufiFranceIvan Magalhaes UNQUALIFIED
Aditya H ShinkoSpainBernardo Dominic RENEWAL
Darci P WaycottCanadaAsiya Javayant PROPOSAL
Claire A SlusarskiUnited KingdomStephen Shaw PROPOSAL
Costa P PaprockiJapanXuxue Feng RENEWAL
Adams J PoquetteCanadaBernardo Dominic NEGOTIATION
Claire I FigeroaIndiaAnna Fali QUALIFIED
Maisha W RimIndiaStephen Shaw QUALIFIED
Ivar D VocelkaArgentinaAmy Elsner UNQUALIFIED
Kaitlin W MarrierAustraliaAsiya Javayant QUALIFIED
Rodrigues R CaldareraJapanIvan Magalhaes UNQUALIFIED
Deepesh K MarrierSpainStephen Shaw RENEWAL
Kadeem Q FlosiGermanyAsiya Javayant RENEWAL
Wickens I MacleadJapanBernardo Dominic NEGOTIATION
Ricardo D CaudyFranceOnyama Limba PROPOSAL
Greenwood Q BowleyGermanyIoni Bowcher PROPOSAL
Maria I MaletBrazilAsiya Javayant UNQUALIFIED
Greenwood U SergiGermanyBernardo Dominic NEW
Octavia M FlosiArgentinaIvan Magalhaes NEW
Mayumi E PerinSpainOnyama Limba UNQUALIFIED
Murillo X VocelkaFranceAmy Elsner UNQUALIFIED
Clifford H GauchoGermanyElwin Sharvill RENEWAL
Greenwood L NickaAustraliaStephen Shaw NEGOTIATION
Aika L GillianSpainAmy Elsner NEW
Rodrigues R RutaItalyXuxue Feng RENEWAL
Mayumi M PerinIndiaBernardo Dominic QUALIFIED
Jefferson U SlusarskiGermanyIoni Bowcher QUALIFIED
Alejandro J GarufiBrazilIvan Magalhaes NEGOTIATION
Leja A OldroydCanadaXuxue Feng RENEWAL
Rodrigues B BriddickIndiaIvan Magalhaes UNQUALIFIED
Johnson J AmigonFranceElwin Sharvill RENEWAL
Morrow F VocelkaUnited KingdomOnyama Limba NEW
Ivar Q InouyeSpainElwin Sharvill RENEWAL
Jeanfrancois I FerenczUnited KingdomAsiya Javayant NEW
Ivar H GillianSpainElwin Sharvill QUALIFIED
Julie L GarufiSpainElwin Sharvill QUALIFIED
David P PerinJapanIoni Bowcher PROPOSAL
Nicolas K ButtBrazilXuxue Feng PROPOSAL
Jefferson P MorascaAustraliaOnyama Limba PROPOSAL
Isabel A GlickBrazilElwin Sharvill NEGOTIATION
Rodrigues Y InouyeSpainIvan Magalhaes UNQUALIFIED
Misaki Y SaylorsBrazilXuxue Feng UNQUALIFIED
Kaitlin A GillianFranceAmy Elsner QUALIFIED
Alejandro R RutaFranceAmy Elsner NEW
Mujtaba B ChuiGermanyAsiya Javayant NEGOTIATION
Aruna R RulapaughIndiaXuxue Feng NEGOTIATION
Arvin I RimIndiaStephen Shaw NEW
Jennifer X MarrierItalyIoni Bowcher QUALIFIED
Silvio H NickaItalyStephen Shaw UNQUALIFIED
Morrow S RoysterBrazilOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Chavez L ShinkoCanadaOnyama Limba UNQUALIFIED
Aika T ChuiUnited KingdomStephen Shaw QUALIFIED
Alejandro J PerinJapanOnyama Limba QUALIFIED
Octavia P KolmetzCanadaElwin Sharvill NEGOTIATION
Antonio U DilliardSpainBernardo Dominic QUALIFIED
Salvatore Q BowleyRussiaIoni Bowcher NEW
James C SergiGermanyOnyama Limba NEW
Wickens G CaudyBrazilAmy Elsner NEGOTIATION
Misaki A SlusarskiSpainOnyama Limba RENEWAL
Leon H MacleadArgentinaBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha E IturbideIndia2025-04-12King, Christopher A Esq NEW34Ioni Bowcher
1001Mujtaba C ChuiFrance2025-04-28Feiner Bros NEW38Bernardo Dominic
1002Claire P RulapaughCanada2025-04-23Dorl, James J Esq NEGOTIATION36Asiya Javayant
1003Antonio U FollerJapan2025-04-21Chanay, Jeffrey A Esq UNQUALIFIED55Ioni Bowcher
1004James B KolmetzRussia2025-04-14Rangoni Of Florence UNQUALIFIED83Elwin Sharvill
1005David T PaprockiRussia2025-04-02Commercial Press UNQUALIFIED75Asiya Javayant
1006Ricardo I GillianSpain2025-04-07Feiner Bros UNQUALIFIED67Anna Fali
1007Greenwood G BowleyItaly2025-04-09Rousseaux, Michael Esq PROPOSAL52Stephen Shaw
1008Juan G MacleadItaly2025-04-29Commercial Press RENEWAL37Anna Fali
1009Arvin B FerenczArgentina2025-04-19Chemel, James L Cpa QUALIFIED36Xuxue Feng
1010Deepesh C FollerItaly2025-04-07Chemel, James L Cpa PROPOSAL32Asiya Javayant
1011Izzy I PoquetteArgentina2025-04-18King, Christopher A Esq UNQUALIFIED87Onyama Limba
1012Kaitlin P FlosiSpain2025-04-01Printing Dimensions PROPOSAL89Anna Fali
1013Alejandro Q DarakjyCanada2025-04-19Chanay, Jeffrey A Esq RENEWAL49Onyama Limba
1014Morrow J SergiFrance2025-04-25Benton, John B Jr RENEWAL24Ioni Bowcher
1015Adams L MorascaFrance2025-04-02Feltz Printing Service NEGOTIATION15Xuxue Feng
1016Silvio M VocelkaItaly2025-04-23Feiner Bros UNQUALIFIED83Amy Elsner
1017Cody T CaudyIndia2025-04-14Rousseaux, Michael Esq QUALIFIED92Elwin Sharvill
1018David F FerenczRussia2025-04-26King, Christopher A Esq PROPOSAL76Anna Fali
1019Stacey B WieserGermany2025-04-10Feltz Printing Service NEGOTIATION81Onyama Limba
1020Mujtaba U RulapaughSpain2025-04-23Chapman, Ross E Esq NEGOTIATION9Xuxue Feng
1021Sinclair U CampainGermany2025-04-28Printing Dimensions PROPOSAL6Onyama Limba
1022Juan D AmigonBrazil2025-04-27Feltz Printing Service NEGOTIATION64Onyama Limba
1023Clifford R FerenczArgentina2025-04-06Chemel, James L Cpa NEGOTIATION10Bernardo Dominic
1024Adams Q ShinkoFrance2025-04-20Dorl, James J Esq RENEWAL14Ivan Magalhaes
1025Ashley F FlosiUnited Kingdom2025-04-06Chanay, Jeffrey A Esq NEGOTIATION73Xuxue Feng
1026Chavez P WieserGermany2025-04-27Benton, John B Jr NEGOTIATION62Elwin Sharvill
1027Greenwood Q FollerArgentina2025-04-01Morlong Associates NEW95Elwin Sharvill
1028Aika R AlbaresBrazil2025-04-25Rangoni Of Florence RENEWAL88Asiya Javayant
1029Octavia J RoysterRussia2025-04-14Chemel, James L Cpa RENEWAL81Onyama Limba
1030Munro G IturbideUnited Kingdom2025-04-04Buckley Miller Wright RENEWAL0Asiya Javayant
1031Clifford C StockhamGermany2025-04-24Commercial Press QUALIFIED39Stephen Shaw
1032Stacey F WieserIndia2025-04-14Buckley Miller Wright RENEWAL5Elwin Sharvill
1033Emily J MarrierGermany2025-04-28Rousseaux, Michael Esq QUALIFIED71Xuxue Feng
1034Mayumi J CampainSpain2025-04-17Rangoni Of Florence UNQUALIFIED32Amy Elsner
1035Izzy Z MaletGermany2025-04-03Feiner Bros PROPOSAL90Ivan Magalhaes
1036Murillo A FlosiCanada2025-04-12Buckley Miller Wright NEW42Xuxue Feng
1037Darci S MorascaSpain2025-04-08Chemel, James L Cpa NEGOTIATION98Anna Fali
1038Misaki W GillianRussia2025-04-21Feltz Printing Service NEGOTIATION99Bernardo Dominic
1039Morrow K DarakjyArgentina2025-04-24Chapman, Ross E Esq QUALIFIED26Elwin Sharvill
1040Jefferson N GillianUnited Kingdom2025-04-25Benton, John B Jr NEGOTIATION41Ivan Magalhaes
1041David Z CaldareraFrance2025-04-24Truhlar And Truhlar Attys QUALIFIED51Anna Fali
1042Nicolas W RutaArgentina2025-04-25Chapman, Ross E Esq PROPOSAL98Asiya Javayant
1043Morrow P NestleIndia2025-04-24Dorl, James J Esq NEGOTIATION91Bernardo Dominic
1044Munro A GauchoJapan2025-04-10Printing Dimensions RENEWAL11Anna Fali
1045Tony L WhobreyItaly2025-04-20Rangoni Of Florence NEW1Elwin Sharvill
1046Murillo M PoquetteAustralia2025-04-06Truhlar And Truhlar Attys QUALIFIED92Xuxue Feng
1047Aruna G GillianAustralia2025-04-16Feiner Bros UNQUALIFIED25Xuxue Feng
1048Mayumi H MaletSpain2025-04-21Chapman, Ross E Esq NEGOTIATION74Amy Elsner
1049Claire X MarrierRussia2025-04-11Feiner Bros RENEWAL71Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Alejandro S DilliardArgentinaBernardo Dominic RENEWAL
Silvio V InouyeCanadaOnyama Limba NEW
Kaitlin J GillianUnited KingdomBernardo Dominic UNQUALIFIED
Izzy Z CaudyCanadaAmy Elsner RENEWAL
Emily P CaudyAustraliaStephen Shaw QUALIFIED
Ivar N GauchoJapanAsiya Javayant NEGOTIATION
Jennifer C RimRussiaBernardo Dominic QUALIFIED
Costa X RutaJapanIvan Magalhaes QUALIFIED
Ashley Q RimCanadaElwin Sharvill QUALIFIED
Aika O StockhamBrazilElwin Sharvill PROPOSAL
Maria Q BriddickRussiaIoni Bowcher UNQUALIFIED
Julie J RutaJapanIvan Magalhaes NEW
Aruna U InouyeGermanyAsiya Javayant NEW
Misaki F BriddickItalyIvan Magalhaes PROPOSAL
Jones P ChuiFranceStephen Shaw RENEWAL
Costa B InouyeJapanIoni Bowcher QUALIFIED
Chavez M ButtAustraliaAmy Elsner RENEWAL
Munro O BologniaGermanyIvan Magalhaes NEGOTIATION
Jefferson A AmigonJapanIvan Magalhaes NEGOTIATION
Tony Z CampainRussiaOnyama Limba UNQUALIFIED
Darci H CaudyRussiaIvan Magalhaes RENEWAL
Aruna J RutaCanadaIvan Magalhaes RENEWAL
Izzy S VocelkaIndiaStephen Shaw NEW
David F KolmetzItalyOnyama Limba RENEWAL
Jennifer T InouyeArgentinaElwin Sharvill RENEWAL
Isabel Y VocelkaJapanOnyama Limba NEGOTIATION
Cody A RimCanadaOnyama Limba RENEWAL
Aditya R MaletArgentinaIoni Bowcher UNQUALIFIED
Rodrigues B WhobreyBrazilXuxue Feng QUALIFIED
Tony C ChuiCanadaIoni Bowcher PROPOSAL
Clifford V TollnerSpainAmy Elsner PROPOSAL
Wickens N MaletAustraliaIvan Magalhaes NEW
Octavia C RoysterSpainBernardo Dominic UNQUALIFIED
Adams U StockhamBrazilBernardo Dominic QUALIFIED
Francesco I OldroydGermanyElwin Sharvill UNQUALIFIED
Faith F SlusarskiUnited KingdomAmy Elsner UNQUALIFIED
Tony C AmigonFranceIvan Magalhaes QUALIFIED
Kaitlin R CaudyArgentinaOnyama Limba PROPOSAL
Kaitlin Y VocelkaArgentinaAmy Elsner NEW
Leja G SlusarskiBrazilIvan Magalhaes UNQUALIFIED
Leon B KuskoBrazilAsiya Javayant PROPOSAL
Ivar Q StockhamArgentinaIoni Bowcher PROPOSAL
Darci F KuskoUnited KingdomXuxue Feng QUALIFIED
Silvio Z RulapaughFranceXuxue Feng RENEWAL
Costa C RimSpainOnyama Limba UNQUALIFIED
Costa N VocelkaItalyStephen Shaw PROPOSAL
David T NickaCanadaIoni Bowcher PROPOSAL
Rodrigues I BologniaGermanyAnna Fali NEGOTIATION
Johnson I VenereAustraliaIoni Bowcher NEGOTIATION
Jeanfrancois P DilliardUnited KingdomAsiya Javayant PROPOSAL
Frozen Columns
Name
Morrow J Inouye
Izzy P Perin
Faith J Rulapaugh
Smith Y Morasca
Chavez P Maclead
Darci M Inouye
Darci H Maclead
Sinclair T Flosi
Emily K Darakjy
Cody Q Malet
Jennifer A Waycott
Julie D Stenseth
Emily S Garufi
Deepesh U Caudy
Munro S Stockham
Misaki S Waycott
Smith H Darakjy
Aditya D Kusko
Munro G Oldroyd
Antonio Q Saylors
Rodrigues R Whobrey
Salvatore S Briddick
Cody M Nestle
Aditya C Doe
Jennifer E Saylors
Isabel S Sergi
Jennifer H Nestle
Arvin P Garufi
Izzy Z Butt
Deepesh S Whobrey
Ivar E Stockham
Alejandro T Foller
Sinclair P Figeroa
Deepesh P Rim
Cody M Gillian
Cody M Paprocki
Smith F Garufi
Arvin T Paprocki
Juan B Caldarera
Misaki H Bowley
Sinclair U Butt
Jennifer D Whobrey
Costa L Butt
Morrow E Inouye
Izzy D Inouye
Ashley S Nestle
Tony K Briddick
Greenwood F Ostrosky
Aditya N Marrier
Murillo Q Maclead
IdCountryDate
1000France2025-04-18
1001Brazil2025-04-20
1002Russia2025-04-14
1003Italy2025-04-20
1004Argentina2025-04-18
1005Germany2025-04-17
1006France2025-04-07
1007Spain2025-04-23
1008Italy2025-04-07
1009Italy2025-04-01
1010India2025-04-08
1011Japan2025-04-06
1012France2025-04-02
1013Italy2025-04-26
1014Brazil2025-04-16
1015Brazil2025-04-16
1016Russia2025-04-06
1017United Kingdom2025-04-18
1018United Kingdom2025-04-23
1019Spain2025-04-03
1020France2025-04-04
1021Italy2025-04-05
1022Russia2025-04-23
1023Brazil2025-04-16
1024Russia2025-04-13
1025France2025-04-17
1026Italy2025-04-27
1027Canada2025-04-25
1028Germany2025-04-16
1029Russia2025-04-29
1030United Kingdom2025-04-11
1031Brazil2025-04-18
1032United Kingdom2025-04-30
1033Brazil2025-04-18
1034Germany2025-04-29
1035Germany2025-04-29
1036Argentina2025-04-15
1037Brazil2025-04-21
1038Germany2025-04-10
1039France2025-04-24
1040Brazil2025-04-14
1041Russia2025-04-08
1042Russia2025-04-07
1043Spain2025-04-11
1044Brazil2025-04-27
1045Canada2025-04-10
1046Japan2025-04-11
1047Canada2025-04-25
1048Germany2025-04-25
1049Argentina2025-04-02

On-Demand Data

NameIdCountryDate
Leja U Slusarski1000France2025-04-29
Mayumi G Tollner1001Spain2025-04-08
Leja Y Darakjy1002United Kingdom2025-04-18
Tony K Wieser1003Spain2025-04-09
Julie G Royster1004Italy2025-04-11
Stacey J Nestle1005India2025-04-17
Jeanfrancois Y Inouye1006Spain2025-04-04
Greenwood X Ostrosky1007Argentina2025-04-09
Wickens F Marrier1008Brazil2025-04-01
Jones G Amigon1009United Kingdom2025-04-03
Morrow Y Stockham1010France2025-04-29
Maisha O Waycott1011Spain2025-04-11
Isabel F Schemmer1012Germany2025-04-26
David Z Bolognia1013Japan2025-04-14
Kadeem P Maclead1014France2025-04-22
Leon M Kusko1015Spain2025-04-10
Aruna A Venere1016Brazil2025-04-11
Ricardo P Wieser1017Germany2025-04-16
Nicolas O Iturbide1018Japan2025-04-30
Greenwood X Rulapaugh1019Japan2025-04-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow M RimCanadaAnna Fali PROPOSAL
Cody G KolmetzSpainXuxue Feng QUALIFIED
Antonio D SchemmerFranceIvan Magalhaes UNQUALIFIED
Jeanfrancois A GauchoIndiaBernardo Dominic NEGOTIATION
Murillo G IturbideUnited KingdomAmy Elsner UNQUALIFIED
Ricardo S GlickAustraliaStephen Shaw UNQUALIFIED
Aruna C SaylorsCanadaBernardo Dominic RENEWAL
James L GlickArgentinaElwin Sharvill UNQUALIFIED
Juan G RutaItalyAnna Fali UNQUALIFIED
Smith J GarufiFranceAnna Fali NEW
Julie O FlosiCanadaOnyama Limba PROPOSAL
Adams A FlosiJapanStephen Shaw QUALIFIED
Kadeem B NestleUnited KingdomOnyama Limba NEGOTIATION
Arvin W ShinkoCanadaXuxue Feng QUALIFIED
Juan R AmigonCanadaBernardo Dominic QUALIFIED
Jeanfrancois N PaprockiGermanyAmy Elsner QUALIFIED
Kadeem F NestleAustraliaAsiya Javayant PROPOSAL
Salvatore V FigeroaCanadaIvan Magalhaes UNQUALIFIED
Murillo E FollerAustraliaAsiya Javayant NEGOTIATION
Clifford B GlickCanadaElwin Sharvill RENEWAL
Jeanfrancois E MaletIndiaIoni Bowcher RENEWAL
Tony Q GillianBrazilBernardo Dominic NEGOTIATION
Mujtaba L FlosiUnited KingdomBernardo Dominic NEGOTIATION
Sinclair R MaletGermanyElwin Sharvill QUALIFIED
Emily I GillianSpainElwin Sharvill RENEWAL
Adams R IturbideArgentinaAsiya Javayant NEW
Darci S StockhamIndiaXuxue Feng QUALIFIED
Leja U MacleadUnited KingdomOnyama Limba RENEWAL
Greenwood E FigeroaAustraliaBernardo Dominic UNQUALIFIED
Juan K AmigonAustraliaXuxue Feng QUALIFIED
Ricardo B NickaGermanyIvan Magalhaes RENEWAL
Juan B RimBrazilIvan Magalhaes RENEWAL
Wickens T VocelkaBrazilAnna Fali PROPOSAL
Cody F PoquetteCanadaAnna Fali NEW
Mujtaba E GarufiSpainStephen Shaw QUALIFIED
Jefferson S MacleadBrazilIvan Magalhaes NEGOTIATION
Maria O GillianRussiaElwin Sharvill RENEWAL
Greenwood R RutaItalyElwin Sharvill PROPOSAL
Nicolas E GlickArgentinaXuxue Feng PROPOSAL
Johnson D IturbideRussiaOnyama Limba NEW

<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>