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
Morrow W ShinkoIndiaAmy Elsner NEGOTIATION
Emily Z FlosiFranceIoni Bowcher RENEWAL
Aruna S NestleIndiaStephen Shaw PROPOSAL
Jeanfrancois Q SlusarskiRussiaAnna Fali UNQUALIFIED
David Z RimBrazilAmy Elsner NEGOTIATION
Jeanfrancois Y BriddickGermanyBernardo Dominic PROPOSAL
James P WhobreyIndiaXuxue Feng RENEWAL
Smith J BowleyUnited KingdomElwin Sharvill UNQUALIFIED
Kadeem O TollnerUnited KingdomAnna Fali NEW
Maisha F RoysterUnited KingdomElwin Sharvill RENEWAL
Maisha V VocelkaGermanyStephen Shaw NEGOTIATION
Sinclair B GlickArgentinaAmy Elsner PROPOSAL
Ivar A FigeroaBrazilElwin Sharvill UNQUALIFIED
Jennifer A MaletIndiaOnyama Limba PROPOSAL
Juan X KuskoUnited KingdomXuxue Feng UNQUALIFIED
Clifford M FlosiJapanIoni Bowcher PROPOSAL
Stacey S MacleadSpainAmy Elsner UNQUALIFIED
Aruna F MacleadItalyOnyama Limba QUALIFIED
Cody S PerinGermanyIoni Bowcher RENEWAL
Leja S KolmetzBrazilAmy Elsner PROPOSAL
Cody A AmigonIndiaBernardo Dominic NEW
Nicolas D PoquetteFranceStephen Shaw NEW
Maria O GauchoRussiaAsiya Javayant UNQUALIFIED
Darci T NestleFranceAnna Fali RENEWAL
Adams U NestleItalyStephen Shaw QUALIFIED
Nicolas C WieserSpainStephen Shaw NEGOTIATION
Alejandro X WhobreyGermanyElwin Sharvill RENEWAL
Smith G ChuiAustraliaIoni Bowcher PROPOSAL
Tony W CampainJapanBernardo Dominic QUALIFIED
Julie Q KolmetzArgentinaAmy Elsner UNQUALIFIED
Emily V MacleadUnited KingdomIoni Bowcher PROPOSAL
Aika F RimArgentinaAsiya Javayant NEGOTIATION
Sinclair X MacleadCanadaAmy Elsner PROPOSAL
Mujtaba O GillianSpainBernardo Dominic NEGOTIATION
Chavez U GauchoJapanXuxue Feng RENEWAL
Murillo S TollnerSpainIvan Magalhaes NEGOTIATION
Leon X MarrierFranceElwin Sharvill NEGOTIATION
James F SaylorsItalyElwin Sharvill UNQUALIFIED
Jones T NestleIndiaAnna Fali QUALIFIED
Morrow U ChuiBrazilIvan Magalhaes RENEWAL
Claire T FollerAustraliaAmy Elsner NEGOTIATION
Jones P ChuiSpainStephen Shaw PROPOSAL
Alejandro U NestleItalyXuxue Feng UNQUALIFIED
Juan O PoquetteSpainElwin Sharvill UNQUALIFIED
David V BriddickJapanStephen Shaw RENEWAL
Deepesh U DilliardCanadaAnna Fali UNQUALIFIED
Jennifer C RulapaughGermanyOnyama Limba NEGOTIATION
Stacey M SchemmerIndiaOnyama Limba UNQUALIFIED
Morrow K DilliardBrazilStephen Shaw PROPOSAL
Octavia R DarakjyAustraliaAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Ricardo W RimUnited KingdomAnna Fali RENEWAL
Julie F PerinCanadaStephen Shaw QUALIFIED
Clifford K MorascaArgentinaStephen Shaw NEW
Chavez S OldroydJapanAsiya Javayant UNQUALIFIED
Rodrigues Y CampainIndiaElwin Sharvill RENEWAL
Ivar G KuskoAustraliaStephen Shaw NEW
Faith P RulapaughItalyElwin Sharvill RENEWAL
Izzy K ShinkoJapanIoni Bowcher NEGOTIATION
Misaki W RutaSpainStephen Shaw UNQUALIFIED
Leon S RutaRussiaIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood W DoeGermany2025-04-24Morlong Associates NEW77Bernardo Dominic
1001Jennifer M GillianBrazil2025-04-15Rousseaux, Michael Esq RENEWAL49Stephen Shaw
1002Deepesh P CaudyFrance2025-04-26Chemel, James L Cpa NEW66Xuxue Feng
1003Arvin C MaletCanada2025-04-11Chapman, Ross E Esq RENEWAL76Ivan Magalhaes
1004Leon Z InouyeSpain2025-04-28Chapman, Ross E Esq UNQUALIFIED19Bernardo Dominic
1005Ivar O OstroskyUnited Kingdom2025-05-04Feltz Printing Service NEGOTIATION47Onyama Limba
1006Isabel Z OstroskyArgentina2025-05-05Morlong Associates NEW28Elwin Sharvill
1007Mayumi P StensethJapan2025-04-10King, Christopher A Esq UNQUALIFIED71Bernardo Dominic
1008Sinclair O StensethSpain2025-05-06Benton, John B Jr QUALIFIED33Xuxue Feng
1009Maisha Q InouyeGermany2025-04-24Truhlar And Truhlar Attys QUALIFIED30Asiya Javayant
1010Sinclair Q SergiGermany2025-04-18Chemel, James L Cpa RENEWAL86Ioni Bowcher
1011Leja E OstroskyFrance2025-05-08Commercial Press QUALIFIED95Ioni Bowcher
1012Sinclair G NestleSpain2025-04-29Feltz Printing Service NEGOTIATION44Amy Elsner
1013Misaki F CaudyFrance2025-04-27Chanay, Jeffrey A Esq UNQUALIFIED48Asiya Javayant
1014Clifford U VocelkaJapan2025-04-26Benton, John B Jr QUALIFIED13Ioni Bowcher
1015Silvio J NestleCanada2025-04-23Rangoni Of Florence NEW89Stephen Shaw
1016Aika L DilliardArgentina2025-05-02Benton, John B Jr PROPOSAL75Anna Fali
1017Kaitlin Y AmigonUnited Kingdom2025-05-06Printing Dimensions NEGOTIATION35Elwin Sharvill
1018Misaki B BologniaRussia2025-04-18Chemel, James L Cpa UNQUALIFIED16Stephen Shaw
1019Ashley A OstroskySpain2025-05-05Feiner Bros NEW87Anna Fali
1020Jeanfrancois N VocelkaCanada2025-04-16Rangoni Of Florence NEGOTIATION38Elwin Sharvill
1021Ivar Y DarakjyJapan2025-04-12Rousseaux, Michael Esq NEW54Anna Fali
1022James P TollnerJapan2025-04-11Feltz Printing Service NEGOTIATION35Onyama Limba
1023Sinclair W BologniaAustralia2025-04-27Feiner Bros RENEWAL16Stephen Shaw
1024Murillo R SaylorsSpain2025-04-25Morlong Associates NEW65Anna Fali
1025Julie W WieserBrazil2025-04-16Printing Dimensions QUALIFIED0Xuxue Feng
1026Johnson I RutaGermany2025-04-18King, Christopher A Esq QUALIFIED65Elwin Sharvill
1027Arvin J GarufiJapan2025-05-02Chanay, Jeffrey A Esq NEW33Bernardo Dominic
1028Jones T WieserSpain2025-04-14Chanay, Jeffrey A Esq QUALIFIED89Bernardo Dominic
1029Deepesh X MaletUnited Kingdom2025-04-16Rousseaux, Michael Esq QUALIFIED77Amy Elsner
1030Leja C BologniaItaly2025-04-14Buckley Miller Wright NEW36Ioni Bowcher
1031Wickens C ButtItaly2025-05-03Feltz Printing Service NEGOTIATION41Xuxue Feng
1032Darci V VenereBrazil2025-04-23Dorl, James J Esq QUALIFIED35Bernardo Dominic
1033Chavez V WieserSpain2025-05-03Benton, John B Jr NEGOTIATION29Xuxue Feng
1034Greenwood K MaletCanada2025-04-24Chanay, Jeffrey A Esq PROPOSAL94Bernardo Dominic
1035Alejandro W KolmetzJapan2025-04-11Commercial Press QUALIFIED96Onyama Limba
1036Cody M AmigonItaly2025-04-24Printing Dimensions UNQUALIFIED9Bernardo Dominic
1037Francesco I InouyeAustralia2025-04-20Truhlar And Truhlar Attys NEGOTIATION24Elwin Sharvill
1038Silvio O VenereArgentina2025-04-13King, Christopher A Esq NEGOTIATION24Asiya Javayant
1039Nicolas Y FigeroaArgentina2025-05-05Benton, John B Jr NEW39Ivan Magalhaes
1040Claire V SlusarskiArgentina2025-04-29Commercial Press NEGOTIATION61Elwin Sharvill
1041Aditya J CaudyAustralia2025-04-25Dorl, James J Esq QUALIFIED97Bernardo Dominic
1042Aditya S SaylorsFrance2025-04-22Chanay, Jeffrey A Esq NEGOTIATION67Asiya Javayant
1043Cody U FlosiJapan2025-04-17Benton, John B Jr RENEWAL22Onyama Limba
1044Clifford B MaletIndia2025-04-11Dorl, James J Esq PROPOSAL72Amy Elsner
1045Kaitlin P MorascaBrazil2025-05-08Feiner Bros NEW47Stephen Shaw
1046Wickens W WieserRussia2025-04-27Rousseaux, Michael Esq QUALIFIED42Bernardo Dominic
1047Smith J FollerItaly2025-04-25Rangoni Of Florence PROPOSAL44Asiya Javayant
1048Silvio X RutaIndia2025-04-19Chemel, James L Cpa PROPOSAL50Bernardo Dominic
1049Ricardo I NestleSpain2025-04-30Chapman, Ross E Esq PROPOSAL15Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Aruna A MaletItalyOnyama Limba RENEWAL
Jefferson S DilliardItalyXuxue Feng UNQUALIFIED
Izzy Y PoquetteSpainBernardo Dominic NEW
Isabel W IturbideRussiaBernardo Dominic UNQUALIFIED
Wickens C ShinkoSpainAmy Elsner UNQUALIFIED
Adams B RulapaughUnited KingdomAnna Fali RENEWAL
Francesco Z SaylorsJapanAmy Elsner NEW
Stacey O DilliardJapanIvan Magalhaes PROPOSAL
Leon A RulapaughUnited KingdomAmy Elsner PROPOSAL
Jeanfrancois S AmigonSpainBernardo Dominic QUALIFIED
Tony U MaletJapanXuxue Feng NEGOTIATION
Wickens I VenereJapanStephen Shaw UNQUALIFIED
Emily M RoysterCanadaElwin Sharvill NEW
Leja L TollnerUnited KingdomXuxue Feng RENEWAL
Murillo I GauchoIndiaIvan Magalhaes PROPOSAL
Tony D NestleRussiaXuxue Feng PROPOSAL
Antonio L GauchoItalyIoni Bowcher PROPOSAL
Leja F StockhamUnited KingdomIvan Magalhaes UNQUALIFIED
Octavia A SchemmerArgentinaAnna Fali UNQUALIFIED
Izzy Y BriddickRussiaBernardo Dominic RENEWAL
David J RimCanadaBernardo Dominic PROPOSAL
Smith E MarrierJapanAmy Elsner RENEWAL
Arvin Z VocelkaFranceIoni Bowcher UNQUALIFIED
Aditya E TollnerAustraliaIvan Magalhaes NEW
Octavia H FollerJapanIvan Magalhaes PROPOSAL
Munro G VenereAustraliaIvan Magalhaes RENEWAL
Murillo B IturbideIndiaOnyama Limba RENEWAL
Leon H ButtUnited KingdomBernardo Dominic NEW
Chavez S CampainRussiaIoni Bowcher NEGOTIATION
Smith T KuskoItalyXuxue Feng NEGOTIATION
Jeanfrancois X FigeroaFranceAsiya Javayant PROPOSAL
Adams Y WhobreyBrazilElwin Sharvill NEW
Chavez J SaylorsSpainAmy Elsner RENEWAL
Jones Y SaylorsCanadaBernardo Dominic NEGOTIATION
Mayumi S TollnerSpainAsiya Javayant NEW
David K IturbideJapanIoni Bowcher PROPOSAL
Leja L PoquetteJapanBernardo Dominic NEGOTIATION
Munro X RulapaughRussiaIvan Magalhaes PROPOSAL
Faith H GarufiGermanyStephen Shaw PROPOSAL
Jefferson H IturbideUnited KingdomOnyama Limba RENEWAL
Munro N GauchoBrazilElwin Sharvill NEGOTIATION
Aika F VocelkaIndiaBernardo Dominic NEGOTIATION
Deepesh V BowleyIndiaXuxue Feng QUALIFIED
Aruna W CaudyAustraliaAmy Elsner PROPOSAL
Mujtaba H WhobreyFranceBernardo Dominic UNQUALIFIED
Maisha X KolmetzUnited KingdomAmy Elsner PROPOSAL
Tony L AlbaresGermanyElwin Sharvill UNQUALIFIED
Rodrigues X AlbaresCanadaAsiya Javayant NEGOTIATION
Emily X ShinkoJapanAsiya Javayant NEGOTIATION
Tony F ChuiGermanyXuxue Feng NEGOTIATION
Frozen Columns
Name
Francesco P Ferencz
Kaitlin P Whobrey
Ricardo B Foller
Costa A Oldroyd
Cody I Maclead
Emily V Perin
Adams G Wieser
Cody X Saylors
Costa X Malet
Aruna T Paprocki
Cody M Ostrosky
James G Ferencz
Chavez I Sergi
Octavia I Tollner
Isabel C Ostrosky
Murillo X Rim
Isabel F Darakjy
Tony K Ostrosky
Faith X Tollner
Murillo F Malet
Clifford U Butt
Arvin Y Doe
Faith W Malet
Jeanfrancois P Ostrosky
Ashley P Butt
Aika R Foller
Francesco R Sergi
Jones R Shinko
Maria O Maclead
Stacey B Ferencz
James D Rim
Kaitlin U Iturbide
Jennifer H Royster
Aditya A Figeroa
Deepesh O Paprocki
Juan X Sergi
Izzy L Ostrosky
Maisha N Darakjy
Costa M Figeroa
Morrow H Malet
Johnson Q Foller
Morrow E Sergi
Jefferson J Dilliard
Nicolas K Rulapaugh
Deepesh F Briddick
Maisha W Bowley
Munro B Butt
Jennifer X Flosi
Ivar S Schemmer
Morrow R Malet
IdCountryDate
1000Germany2025-05-08
1001Germany2025-04-24
1002Argentina2025-04-09
1003Spain2025-04-14
1004Japan2025-04-27
1005Australia2025-05-05
1006Russia2025-05-05
1007Japan2025-04-16
1008France2025-04-15
1009Italy2025-04-09
1010Italy2025-05-04
1011Australia2025-04-28
1012Japan2025-04-20
1013Spain2025-04-24
1014Japan2025-05-02
1015Canada2025-04-28
1016United Kingdom2025-04-19
1017Russia2025-05-08
1018Australia2025-04-18
1019Spain2025-04-10
1020India2025-05-05
1021France2025-04-18
1022Russia2025-04-13
1023Canada2025-04-27
1024Japan2025-04-11
1025Argentina2025-04-13
1026Argentina2025-04-27
1027Germany2025-05-05
1028Japan2025-04-17
1029Australia2025-05-02
1030Brazil2025-04-16
1031France2025-04-19
1032France2025-04-18
1033Brazil2025-04-13
1034United Kingdom2025-05-06
1035Germany2025-05-04
1036Canada2025-04-24
1037Russia2025-04-27
1038Russia2025-04-21
1039India2025-04-19
1040Spain2025-05-07
1041India2025-04-09
1042Germany2025-04-26
1043France2025-04-28
1044India2025-04-13
1045Canada2025-04-20
1046Canada2025-05-05
1047Brazil2025-05-04
1048Australia2025-04-11
1049United Kingdom2025-04-23

On-Demand Data

NameIdCountryDate
Mujtaba V Ostrosky1000Germany2025-05-05
Murillo J Garufi1001Japan2025-05-03
Francesco Z Briddick1002Australia2025-05-08
Chavez B Waycott1003Russia2025-05-05
Rodrigues S Schemmer1004Canada2025-05-03
Kaitlin U Caudy1005United Kingdom2025-04-26
Jones F Oldroyd1006Germany2025-04-22
Costa C Albares1007India2025-04-12
Maria W Garufi1008Brazil2025-04-25
James E Flosi1009Germany2025-04-20
Misaki I Campain1010United Kingdom2025-04-18
Ricardo O Malet1011Argentina2025-04-13
Costa V Whobrey1012Italy2025-05-06
Cody N Malet1013Canada2025-05-05
David Y Royster1014Russia2025-05-03
Aditya E Rulapaugh1015Italy2025-04-24
Chavez O Campain1016Argentina2025-04-12
Silvio H Whobrey1017United Kingdom2025-04-29
Kaitlin Z Ferencz1018Germany2025-05-01
Greenwood A Schemmer1019Russia2025-04-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro G MaletSpainIvan Magalhaes PROPOSAL
Stacey N ChuiFranceIvan Magalhaes NEGOTIATION
Jeanfrancois A FerenczFranceIoni Bowcher UNQUALIFIED
Costa G SchemmerAustraliaStephen Shaw QUALIFIED
Kadeem L OldroydJapanIvan Magalhaes NEGOTIATION
Claire M DarakjyJapanIoni Bowcher QUALIFIED
Stacey Q WaycottArgentinaBernardo Dominic PROPOSAL
Munro Z MaletAustraliaBernardo Dominic RENEWAL
Darci T CampainUnited KingdomXuxue Feng NEGOTIATION
Costa E BologniaAustraliaAnna Fali UNQUALIFIED
Leja O KuskoIndiaElwin Sharvill NEW
Chavez T PaprockiArgentinaXuxue Feng NEGOTIATION
Jennifer G ButtAustraliaStephen Shaw RENEWAL
Maisha I PaprockiUnited KingdomBernardo Dominic NEW
Adams B MarrierJapanElwin Sharvill UNQUALIFIED
Wickens X StockhamItalyElwin Sharvill QUALIFIED
Jennifer I SergiIndiaOnyama Limba NEGOTIATION
Jefferson Z BologniaArgentinaIoni Bowcher NEGOTIATION
David W MorascaArgentinaAnna Fali NEW
Salvatore U SaylorsUnited KingdomBernardo Dominic NEW
Kadeem Y ButtIndiaStephen Shaw UNQUALIFIED
Alejandro E DilliardBrazilIoni Bowcher PROPOSAL
Juan U WieserAustraliaAsiya Javayant RENEWAL
Alejandro T PoquetteIndiaAsiya Javayant PROPOSAL
Adams L FollerUnited KingdomIoni Bowcher NEW
Leon L RutaAustraliaStephen Shaw NEGOTIATION
Mujtaba O PerinSpainIvan Magalhaes QUALIFIED
Maisha B DilliardJapanAmy Elsner RENEWAL
Jones D GarufiFranceIvan Magalhaes PROPOSAL
Sinclair Y MaletJapanStephen Shaw PROPOSAL
Mayumi H KolmetzJapanAnna Fali RENEWAL
Antonio X WieserGermanyXuxue Feng QUALIFIED
Wickens L GarufiArgentinaAsiya Javayant RENEWAL
Jefferson I GauchoCanadaIvan Magalhaes NEGOTIATION
Jeanfrancois F BriddickArgentinaXuxue Feng PROPOSAL
Aditya S MacleadAustraliaIoni Bowcher NEGOTIATION
Izzy Q ChuiAustraliaElwin Sharvill NEW
Misaki L ShinkoArgentinaBernardo Dominic RENEWAL
Julie Z MaletItalyElwin Sharvill NEGOTIATION
Alejandro V PaprockiRussiaAmy Elsner NEGOTIATION

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