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
Ashley R CampainGermanyAnna Fali PROPOSAL
Nicolas U SchemmerBrazilStephen Shaw NEGOTIATION
Aditya F GarufiIndiaAnna Fali QUALIFIED
Octavia D VocelkaAustraliaAnna Fali NEGOTIATION
Claire E BriddickUnited KingdomElwin Sharvill QUALIFIED
Faith A InouyeSpainXuxue Feng RENEWAL
Murillo Q OstroskyRussiaAsiya Javayant PROPOSAL
Maria D CaldareraSpainAmy Elsner RENEWAL
Maria W MarrierUnited KingdomAsiya Javayant RENEWAL
Faith F WieserSpainIoni Bowcher UNQUALIFIED
Aika X CaudyItalyAnna Fali RENEWAL
Adams X GlickBrazilAmy Elsner NEGOTIATION
Jeanfrancois Q VenereItalyOnyama Limba RENEWAL
Jennifer H NestleAustraliaAnna Fali NEW
Mayumi O GillianCanadaOnyama Limba NEW
Tony O PaprockiArgentinaAmy Elsner NEGOTIATION
Maria B NickaGermanyOnyama Limba QUALIFIED
James S MaletArgentinaXuxue Feng RENEWAL
Chavez P NickaFranceAsiya Javayant PROPOSAL
Izzy M WieserArgentinaElwin Sharvill NEGOTIATION
Morrow T TollnerUnited KingdomAsiya Javayant PROPOSAL
Juan D RoysterGermanyElwin Sharvill RENEWAL
Stacey O MarrierIndiaOnyama Limba NEGOTIATION
Chavez P CaldareraItalyStephen Shaw NEW
Aruna A NestleCanadaXuxue Feng QUALIFIED
Johnson U StensethFranceAnna Fali RENEWAL
Kaitlin M GillianFranceAsiya Javayant PROPOSAL
Maria Z WaycottSpainElwin Sharvill PROPOSAL
Salvatore F RimArgentinaStephen Shaw QUALIFIED
Ivar G NickaCanadaElwin Sharvill NEW
Deepesh L SaylorsItalyIvan Magalhaes NEW
Claire T TollnerItalyElwin Sharvill UNQUALIFIED
Leon Q WaycottBrazilAsiya Javayant NEW
Salvatore B PaprockiCanadaAmy Elsner PROPOSAL
Adams G MaletItalyIoni Bowcher QUALIFIED
Clifford Q OldroydJapanBernardo Dominic PROPOSAL
Mujtaba U ButtUnited KingdomAnna Fali NEW
Ivar Z IturbideRussiaAnna Fali PROPOSAL
Emily B VocelkaArgentinaAsiya Javayant NEW
Julie W DoeSpainIoni Bowcher UNQUALIFIED
Claire T SlusarskiRussiaAmy Elsner PROPOSAL
Jeanfrancois J ButtJapanStephen Shaw NEW
Costa Z GillianJapanAsiya Javayant RENEWAL
Aruna B RimAustraliaAsiya Javayant NEW
Misaki J SaylorsRussiaAnna Fali RENEWAL
Stacey E StensethAustraliaAmy Elsner RENEWAL
Leja U AlbaresRussiaAmy Elsner UNQUALIFIED
Maisha I SaylorsAustraliaElwin Sharvill PROPOSAL
Ricardo D BowleyGermanyStephen Shaw UNQUALIFIED
Morrow Y VenereFranceOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Arvin C RimUnited KingdomIvan Magalhaes UNQUALIFIED
Clifford B ChuiUnited KingdomIvan Magalhaes PROPOSAL
Silvio T PoquetteIndiaStephen Shaw RENEWAL
Tony W DarakjyItalyAsiya Javayant QUALIFIED
James K OldroydJapanStephen Shaw QUALIFIED
Isabel C MacleadCanadaBernardo Dominic NEW
Jefferson D WieserUnited KingdomElwin Sharvill UNQUALIFIED
Deepesh T GarufiAustraliaAmy Elsner NEGOTIATION
Cody C DoeBrazilAmy Elsner NEGOTIATION
Isabel V GarufiArgentinaIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie L RimJapan2024-05-16Chemel, James L Cpa PROPOSAL53Onyama Limba
1001Claire J MacleadArgentina2024-05-11King, Christopher A Esq NEGOTIATION90Xuxue Feng
1002Aditya S CaldareraJapan2024-05-14Chapman, Ross E Esq UNQUALIFIED47Stephen Shaw
1003Deepesh S ShinkoGermany2024-05-28Buckley Miller Wright UNQUALIFIED7Ioni Bowcher
1004Misaki D MacleadUnited Kingdom2024-05-20Rousseaux, Michael Esq RENEWAL87Elwin Sharvill
1005Leon M VenereSpain2024-05-21Morlong Associates NEGOTIATION57Ioni Bowcher
1006Aditya J VenereFrance2024-05-24Buckley Miller Wright NEGOTIATION13Asiya Javayant
1007Ricardo K StensethArgentina2024-05-27Buckley Miller Wright NEGOTIATION72Onyama Limba
1008Aika O FlosiJapan2024-05-26Feltz Printing Service QUALIFIED50Ivan Magalhaes
1009Octavia N RimUnited Kingdom2024-05-19Rangoni Of Florence PROPOSAL77Anna Fali
1010Antonio I IturbideAustralia2024-05-31Feiner Bros NEW55Xuxue Feng
1011David Z SaylorsBrazil2024-05-30Commercial Press QUALIFIED40Xuxue Feng
1012Morrow O DarakjySpain2024-05-17Chemel, James L Cpa RENEWAL45Stephen Shaw
1013Cody N BriddickGermany2024-05-14Commercial Press PROPOSAL72Amy Elsner
1014Jeanfrancois T DoeArgentina2024-05-05Chapman, Ross E Esq PROPOSAL94Onyama Limba
1015Sinclair X GarufiAustralia2024-05-22Benton, John B Jr QUALIFIED25Anna Fali
1016Clifford I InouyeAustralia2024-05-11Buckley Miller Wright PROPOSAL82Amy Elsner
1017Arvin G AmigonRussia2024-05-18King, Christopher A Esq NEW13Bernardo Dominic
1018Arvin L DoeJapan2024-05-09Feltz Printing Service NEGOTIATION11Elwin Sharvill
1019Salvatore O StensethAustralia2024-05-08Morlong Associates PROPOSAL28Anna Fali
1020Octavia M OstroskyCanada2024-05-08Chanay, Jeffrey A Esq QUALIFIED71Anna Fali
1021Kadeem H ShinkoGermany2024-05-29Benton, John B Jr NEW91Bernardo Dominic
1022Izzy T DarakjyGermany2024-05-28Chapman, Ross E Esq NEW2Stephen Shaw
1023Ivar J KuskoRussia2024-05-15Rousseaux, Michael Esq UNQUALIFIED1Elwin Sharvill
1024Stacey G WieserAustralia2024-05-12Benton, John B Jr NEW49Ivan Magalhaes
1025Munro E StensethUnited Kingdom2024-05-09King, Christopher A Esq UNQUALIFIED40Amy Elsner
1026Morrow U DarakjyJapan2024-05-08Chanay, Jeffrey A Esq NEW4Stephen Shaw
1027Murillo L InouyeUnited Kingdom2024-05-30Chanay, Jeffrey A Esq NEW29Bernardo Dominic
1028Smith J KuskoItaly2024-05-15King, Christopher A Esq NEW74Ioni Bowcher
1029Antonio U FollerArgentina2024-06-01Chemel, James L Cpa UNQUALIFIED84Xuxue Feng
1030Aditya Y AlbaresIndia2024-05-13Rangoni Of Florence NEGOTIATION15Ivan Magalhaes
1031Octavia O WaycottRussia2024-05-21Buckley Miller Wright QUALIFIED35Xuxue Feng
1032Octavia E CaldareraAustralia2024-05-15King, Christopher A Esq NEGOTIATION66Anna Fali
1033Kadeem R PoquetteGermany2024-05-22Dorl, James J Esq PROPOSAL9Xuxue Feng
1034Emily B VocelkaArgentina2024-06-02Feltz Printing Service QUALIFIED98Ioni Bowcher
1035Mujtaba H VenereJapan2024-05-09Benton, John B Jr NEW7Xuxue Feng
1036Ashley A RoysterAustralia2024-05-29King, Christopher A Esq NEW64Bernardo Dominic
1037Aika D CampainBrazil2024-05-10Truhlar And Truhlar Attys QUALIFIED91Stephen Shaw
1038Jefferson N NickaUnited Kingdom2024-05-04Chapman, Ross E Esq PROPOSAL4Stephen Shaw
1039Costa L MarrierArgentina2024-05-31Rangoni Of Florence RENEWAL15Xuxue Feng
1040Clifford Q NestleCanada2024-05-13Rangoni Of Florence NEW48Amy Elsner
1041Johnson R FerenczArgentina2024-05-15Chapman, Ross E Esq QUALIFIED6Onyama Limba
1042Salvatore I MacleadFrance2024-05-17Commercial Press NEGOTIATION77Xuxue Feng
1043Jeanfrancois T StockhamArgentina2024-05-28Chapman, Ross E Esq UNQUALIFIED91Ivan Magalhaes
1044Rodrigues K InouyeAustralia2024-05-13Benton, John B Jr NEW67Bernardo Dominic
1045Faith Z GlickAustralia2024-05-20Chemel, James L Cpa QUALIFIED43Amy Elsner
1046Alejandro C SchemmerArgentina2024-05-22Benton, John B Jr QUALIFIED65Ioni Bowcher
1047Isabel B RulapaughJapan2024-05-26Morlong Associates PROPOSAL29Xuxue Feng
1048Deepesh T BologniaCanada2024-05-20Commercial Press NEW42Elwin Sharvill
1049Jefferson E GarufiItaly2024-05-28Rousseaux, Michael Esq PROPOSAL44Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Sinclair A OldroydGermanyOnyama Limba QUALIFIED
Octavia Q MorascaCanadaOnyama Limba PROPOSAL
Smith E NickaBrazilStephen Shaw NEW
Faith G GauchoRussiaAsiya Javayant NEGOTIATION
Salvatore E TollnerBrazilOnyama Limba QUALIFIED
Leon I StensethGermanyAsiya Javayant PROPOSAL
Greenwood C VenereRussiaIvan Magalhaes NEW
Emily T GillianItalyBernardo Dominic PROPOSAL
Maisha H RutaAustraliaXuxue Feng UNQUALIFIED
Stacey G AlbaresGermanyBernardo Dominic QUALIFIED
Jefferson B MacleadAustraliaXuxue Feng UNQUALIFIED
Kadeem Z BologniaCanadaIvan Magalhaes RENEWAL
Maisha J AmigonBrazilElwin Sharvill PROPOSAL
Leja A OldroydJapanOnyama Limba NEW
Wickens L MorascaIndiaAnna Fali UNQUALIFIED
Aditya V NickaJapanStephen Shaw NEGOTIATION
Morrow Y CaldareraFranceIoni Bowcher UNQUALIFIED
Isabel A CaldareraAustraliaStephen Shaw RENEWAL
Aika K GauchoItalyBernardo Dominic NEGOTIATION
Alejandro A VenereIndiaElwin Sharvill QUALIFIED
Ivar E AmigonUnited KingdomXuxue Feng QUALIFIED
Kaitlin Y MacleadCanadaAmy Elsner NEW
Emily G ShinkoIndiaAnna Fali QUALIFIED
Kaitlin E NickaJapanAmy Elsner QUALIFIED
Sinclair C RoysterGermanyStephen Shaw RENEWAL
Maisha Z StockhamIndiaBernardo Dominic NEGOTIATION
Kaitlin P MaletJapanStephen Shaw PROPOSAL
Francesco E IturbideIndiaAnna Fali UNQUALIFIED
Smith Y CaudyRussiaAmy Elsner RENEWAL
Francesco D CaudySpainIoni Bowcher UNQUALIFIED
Antonio H BologniaUnited KingdomIvan Magalhaes NEGOTIATION
Antonio Y KolmetzBrazilIvan Magalhaes NEGOTIATION
Faith P TollnerCanadaElwin Sharvill NEW
Cody B NestleRussiaBernardo Dominic UNQUALIFIED
Sinclair W SchemmerGermanyXuxue Feng QUALIFIED
Adams A StockhamItalyIvan Magalhaes NEW
Mayumi R WaycottJapanBernardo Dominic PROPOSAL
Ricardo F PerinItalyIvan Magalhaes UNQUALIFIED
Jeanfrancois R RulapaughAustraliaIvan Magalhaes QUALIFIED
David T IturbideCanadaAmy Elsner UNQUALIFIED
James C KolmetzSpainAsiya Javayant NEGOTIATION
Deepesh B SaylorsCanadaStephen Shaw QUALIFIED
Darci K CaudyRussiaIoni Bowcher NEW
Arvin S KuskoUnited KingdomAnna Fali UNQUALIFIED
James Q TollnerRussiaIvan Magalhaes NEW
Alejandro D MacleadItalyElwin Sharvill NEW
Kadeem L AmigonRussiaBernardo Dominic UNQUALIFIED
Deepesh X GarufiCanadaXuxue Feng RENEWAL
James Z RulapaughCanadaIvan Magalhaes QUALIFIED
Cody A ShinkoIndiaStephen Shaw UNQUALIFIED
Frozen Columns
Name
Aruna G Rim
Adams Q Ruta
Smith Y Bowley
Adams Y Iturbide
Alejandro S Bowley
Murillo X Rulapaugh
David K Bowley
Clifford Z Paprocki
Isabel J Doe
Misaki O Tollner
Adams N Vocelka
Leja Y Garufi
Antonio B Malet
Mujtaba X Bowley
Nicolas W Morasca
Leon U Ruta
Sinclair L Malet
David R Briddick
Isabel R Garufi
Mayumi F Saylors
Tony Z Marrier
Leon P Amigon
Maria D Malet
Munro H Rulapaugh
Clifford G Caudy
Izzy X Sergi
Murillo U Venere
Mujtaba M Ruta
Adams O Perin
Faith G Gillian
James A Ruta
Francesco T Darakjy
Leja X Wieser
Aditya Z Paprocki
Leon U Flosi
Tony M Saylors
Wickens W Foller
Kadeem F Waycott
Misaki R Whobrey
Julie I Butt
Izzy O Ostrosky
Aika S Caldarera
Jennifer O Poquette
Mayumi B Ruta
Kadeem W Flosi
Alejandro C Ruta
Faith O Iturbide
Jeanfrancois J Caldarera
Jeanfrancois L Caudy
David Q Glick
IdCountryDate
1000Brazil2024-05-27
1001India2024-05-16
1002Australia2024-05-31
1003United Kingdom2024-05-27
1004Spain2024-05-23
1005Spain2024-05-05
1006Russia2024-05-25
1007Brazil2024-05-28
1008Germany2024-05-18
1009Italy2024-06-01
1010Italy2024-05-08
1011Brazil2024-05-22
1012Australia2024-05-18
1013Germany2024-05-27
1014Germany2024-05-11
1015India2024-05-26
1016Brazil2024-05-27
1017Australia2024-05-09
1018Brazil2024-05-19
1019Italy2024-05-13
1020Spain2024-05-22
1021Brazil2024-05-04
1022Spain2024-05-27
1023Brazil2024-05-31
1024India2024-05-12
1025India2024-05-22
1026Canada2024-05-26
1027Germany2024-05-25
1028Australia2024-06-01
1029India2024-05-26
1030Spain2024-05-09
1031Russia2024-06-01
1032Italy2024-05-13
1033Italy2024-05-23
1034Germany2024-05-19
1035Canada2024-05-09
1036Russia2024-05-20
1037Japan2024-05-27
1038Spain2024-05-22
1039India2024-05-14
1040Spain2024-05-21
1041Japan2024-05-29
1042Italy2024-05-16
1043Argentina2024-05-31
1044Australia2024-05-08
1045India2024-05-30
1046United Kingdom2024-05-05
1047Brazil2024-05-21
1048Japan2024-05-27
1049India2024-05-16

On-Demand Data

NameIdCountryDate
Greenwood N Campain1000Argentina2024-05-16
Aika Q Amigon1001Japan2024-05-05
James K Butt1002Canada2024-06-01
Aditya H Waycott1003Japan2024-05-10
Morrow E Oldroyd1004Russia2024-05-22
Kaitlin W Waycott1005India2024-05-19
Julie A Amigon1006Germany2024-05-18
Octavia L Rulapaugh1007Italy2024-06-01
Mayumi P Maclead1008Germany2024-05-11
Aika O Doe1009France2024-05-24
Jones X Saylors1010Spain2024-05-13
Jennifer O Poquette1011Russia2024-05-25
Johnson C Albares1012United Kingdom2024-05-16
Clifford X Campain1013France2024-05-17
Izzy Y Paprocki1014Italy2024-05-26
Jeanfrancois Q Inouye1015India2024-05-27
Johnson I Morasca1016Canada2024-05-10
Juan D Waycott1017Russia2024-05-10
Izzy D Glick1018Japan2024-05-27
Antonio L Nestle1019India2024-05-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair G WhobreyRussiaBernardo Dominic PROPOSAL
Faith N AmigonCanadaOnyama Limba NEW
Tony Y GillianUnited KingdomIvan Magalhaes UNQUALIFIED
Darci B DilliardRussiaBernardo Dominic NEGOTIATION
Jeanfrancois K PerinBrazilStephen Shaw NEW
Salvatore T FlosiGermanyAsiya Javayant NEW
Salvatore D BriddickItalyAnna Fali RENEWAL
Mujtaba Z GillianIndiaBernardo Dominic RENEWAL
Maria T TollnerFranceOnyama Limba NEGOTIATION
Jones G VenereGermanyIoni Bowcher PROPOSAL
Jefferson V VocelkaFranceElwin Sharvill RENEWAL
Leon Z OldroydAustraliaIvan Magalhaes RENEWAL
Clifford V MaletAustraliaAnna Fali QUALIFIED
Claire L ChuiUnited KingdomAmy Elsner PROPOSAL
Sinclair Q ShinkoAustraliaStephen Shaw NEW
Ashley Z GillianIndiaBernardo Dominic QUALIFIED
Mujtaba A KolmetzArgentinaBernardo Dominic PROPOSAL
Deepesh C ButtCanadaIvan Magalhaes UNQUALIFIED
Antonio A GlickItalyAmy Elsner UNQUALIFIED
Costa E PaprockiBrazilAmy Elsner NEGOTIATION
Sinclair U KuskoGermanyStephen Shaw UNQUALIFIED
Ivar H MarrierGermanyIvan Magalhaes PROPOSAL
Kaitlin O RoysterFranceElwin Sharvill NEW
Murillo M BowleySpainIoni Bowcher UNQUALIFIED
Octavia Y RoysterBrazilIvan Magalhaes UNQUALIFIED
Jeanfrancois M TollnerIndiaIvan Magalhaes PROPOSAL
Jefferson Y VocelkaFranceBernardo Dominic RENEWAL
Costa R RoysterSpainOnyama Limba PROPOSAL
Arvin F WaycottFranceAnna Fali NEGOTIATION
Kaitlin I VenereCanadaAmy Elsner UNQUALIFIED
Darci B AlbaresJapanBernardo Dominic PROPOSAL
Adams D VocelkaArgentinaIoni Bowcher NEW
Misaki G OstroskyArgentinaAnna Fali QUALIFIED
Cody D WhobreyArgentinaBernardo Dominic QUALIFIED
Smith C FigeroaAustraliaBernardo Dominic NEGOTIATION
Sinclair O GillianFranceOnyama Limba PROPOSAL
Kaitlin J DilliardIndiaStephen Shaw QUALIFIED
Kadeem K DarakjyRussiaStephen Shaw NEGOTIATION
Nicolas X RulapaughBrazilStephen Shaw UNQUALIFIED
Darci O SlusarskiSpainElwin Sharvill UNQUALIFIED

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