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
Jennifer D RoysterIndiaIoni Bowcher NEW
Misaki I SlusarskiCanadaAsiya Javayant NEW
Aditya K MorascaItalyBernardo Dominic UNQUALIFIED
Aruna E ChuiAustraliaIoni Bowcher RENEWAL
Salvatore Q CampainAustraliaIvan Magalhaes UNQUALIFIED
Kaitlin T ButtGermanyIoni Bowcher QUALIFIED
Julie B RoysterUnited KingdomElwin Sharvill NEW
Nicolas D RimAustraliaIoni Bowcher NEW
Emily N KolmetzAustraliaOnyama Limba UNQUALIFIED
Leon T MorascaIndiaXuxue Feng UNQUALIFIED
Jefferson C WhobreyCanadaAnna Fali RENEWAL
Costa W TollnerRussiaStephen Shaw UNQUALIFIED
Chavez B RoysterUnited KingdomAmy Elsner NEW
Aditya P MacleadJapanAnna Fali PROPOSAL
Emily V PerinBrazilXuxue Feng NEW
Juan G VenereFranceAnna Fali UNQUALIFIED
Adams C DarakjyCanadaAsiya Javayant NEW
Faith N StensethSpainStephen Shaw PROPOSAL
Aika H WhobreyGermanyElwin Sharvill UNQUALIFIED
Greenwood A MaletCanadaXuxue Feng QUALIFIED
Adams U RutaRussiaOnyama Limba PROPOSAL
Arvin A FollerBrazilBernardo Dominic NEGOTIATION
Antonio C WhobreyBrazilStephen Shaw UNQUALIFIED
Claire B RutaBrazilAsiya Javayant RENEWAL
Leja W InouyeUnited KingdomIoni Bowcher UNQUALIFIED
Maisha S NestleUnited KingdomAsiya Javayant NEW
Francesco Y SaylorsArgentinaElwin Sharvill NEW
Murillo Q CampainArgentinaXuxue Feng QUALIFIED
Rodrigues F MaletItalyXuxue Feng NEGOTIATION
Clifford M GauchoUnited KingdomElwin Sharvill NEW
Adams D InouyeGermanyOnyama Limba NEW
Nicolas D SlusarskiCanadaXuxue Feng NEGOTIATION
Salvatore P AmigonArgentinaElwin Sharvill NEW
Munro C DarakjyIndiaIoni Bowcher UNQUALIFIED
David R GlickIndiaElwin Sharvill RENEWAL
Clifford Y FigeroaFranceBernardo Dominic NEGOTIATION
Munro B RoysterArgentinaElwin Sharvill UNQUALIFIED
Ricardo I PerinJapanIvan Magalhaes RENEWAL
Jones Q RulapaughFranceOnyama Limba NEGOTIATION
Smith M MorascaBrazilStephen Shaw RENEWAL
Francesco O RimGermanyElwin Sharvill NEGOTIATION
David A CaudyJapanStephen Shaw PROPOSAL
Chavez O BowleyUnited KingdomIvan Magalhaes NEW
Morrow H GlickSpainXuxue Feng QUALIFIED
Ricardo S KolmetzAustraliaAmy Elsner RENEWAL
Ivar O MorascaGermanyAnna Fali RENEWAL
Jennifer Y GarufiCanadaAsiya Javayant UNQUALIFIED
James R StockhamItalyIoni Bowcher UNQUALIFIED
Arvin A SergiItalyElwin Sharvill NEGOTIATION
Maria W MarrierUnited KingdomXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aruna N KolmetzIndiaIvan Magalhaes UNQUALIFIED
Maria R AmigonAustraliaIvan Magalhaes NEGOTIATION
Sinclair O FerenczUnited KingdomBernardo Dominic NEW
Maria R BowleyUnited KingdomElwin Sharvill NEW
Jeanfrancois W GillianArgentinaAmy Elsner QUALIFIED
Nicolas L FollerGermanyElwin Sharvill PROPOSAL
James Y MorascaItalyAsiya Javayant QUALIFIED
Jennifer M CaudyAustraliaXuxue Feng NEGOTIATION
Jefferson L GauchoRussiaOnyama Limba NEGOTIATION
Alejandro K IturbideJapanElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya J CaldareraUnited Kingdom2025-04-15Buckley Miller Wright NEW5Xuxue Feng
1001Ivar K IturbideJapan2025-05-04Benton, John B Jr NEGOTIATION16Elwin Sharvill
1002Arvin Y BriddickCanada2025-04-20Morlong Associates PROPOSAL56Xuxue Feng
1003Wickens M BriddickSpain2025-04-16Chapman, Ross E Esq NEGOTIATION50Xuxue Feng
1004Jones R BologniaFrance2025-05-04Chemel, James L Cpa PROPOSAL77Ivan Magalhaes
1005Jones J StockhamUnited Kingdom2025-04-30Chanay, Jeffrey A Esq UNQUALIFIED43Bernardo Dominic
1006Salvatore T FollerArgentina2025-05-01Truhlar And Truhlar Attys NEW29Bernardo Dominic
1007Jennifer I AlbaresGermany2025-04-13Truhlar And Truhlar Attys RENEWAL57Asiya Javayant
1008Antonio Z DoeFrance2025-05-01Truhlar And Truhlar Attys RENEWAL58Onyama Limba
1009Jones H ButtGermany2025-04-11Feiner Bros PROPOSAL2Stephen Shaw
1010Chavez Q CaudyFrance2025-04-11Truhlar And Truhlar Attys RENEWAL25Asiya Javayant
1011Greenwood C PoquetteFrance2025-04-09Feiner Bros UNQUALIFIED19Amy Elsner
1012Aruna H DilliardCanada2025-04-10Commercial Press NEW1Asiya Javayant
1013Antonio M OstroskyBrazil2025-04-13Truhlar And Truhlar Attys PROPOSAL92Ivan Magalhaes
1014Antonio O WhobreyIndia2025-04-27Dorl, James J Esq PROPOSAL61Ioni Bowcher
1015Jones D BologniaItaly2025-05-06Commercial Press PROPOSAL35Amy Elsner
1016Costa J AlbaresIndia2025-04-28Rousseaux, Michael Esq QUALIFIED92Xuxue Feng
1017Morrow B BriddickItaly2025-04-21Printing Dimensions NEW38Ioni Bowcher
1018Smith X StensethRussia2025-04-26Chemel, James L Cpa PROPOSAL35Elwin Sharvill
1019Clifford C SaylorsGermany2025-04-14Commercial Press NEW34Ioni Bowcher
1020Sinclair B GlickJapan2025-04-22Dorl, James J Esq RENEWAL28Bernardo Dominic
1021Tony R RutaGermany2025-05-02Truhlar And Truhlar Attys NEGOTIATION53Xuxue Feng
1022Jeanfrancois D AmigonRussia2025-04-22Printing Dimensions UNQUALIFIED48Asiya Javayant
1023Leon Z OstroskyJapan2025-04-25Morlong Associates NEGOTIATION90Elwin Sharvill
1024Aika G TollnerSpain2025-04-13Commercial Press NEW64Asiya Javayant
1025Maisha F SergiIndia2025-04-10Printing Dimensions PROPOSAL52Onyama Limba
1026James R FollerSpain2025-04-18Chapman, Ross E Esq QUALIFIED65Elwin Sharvill
1027Adams D AmigonBrazil2025-04-26Truhlar And Truhlar Attys QUALIFIED9Bernardo Dominic
1028Aika V ButtRussia2025-04-12Rangoni Of Florence NEGOTIATION6Ivan Magalhaes
1029Tony R BriddickJapan2025-04-26King, Christopher A Esq QUALIFIED96Ioni Bowcher
1030James B DoeIndia2025-05-02Commercial Press RENEWAL21Elwin Sharvill
1031Adams X CampainBrazil2025-04-29Rangoni Of Florence UNQUALIFIED79Onyama Limba
1032Ivar D StensethGermany2025-04-09Morlong Associates UNQUALIFIED80Bernardo Dominic
1033Munro R MaletSpain2025-04-14Chemel, James L Cpa UNQUALIFIED86Onyama Limba
1034Clifford W GillianRussia2025-05-07Chanay, Jeffrey A Esq UNQUALIFIED68Bernardo Dominic
1035Silvio Q StensethJapan2025-04-16Chemel, James L Cpa NEW10Xuxue Feng
1036Rodrigues R SchemmerGermany2025-04-22Rangoni Of Florence PROPOSAL6Onyama Limba
1037Jeanfrancois O RoysterCanada2025-04-18Benton, John B Jr NEW5Amy Elsner
1038Greenwood N BowleyJapan2025-04-27Chanay, Jeffrey A Esq RENEWAL41Stephen Shaw
1039Jeanfrancois V OstroskyJapan2025-04-20Feiner Bros PROPOSAL62Ivan Magalhaes
1040Tony N BologniaAustralia2025-04-21Commercial Press RENEWAL83Asiya Javayant
1041Emily E MaletCanada2025-05-08Commercial Press NEW33Stephen Shaw
1042Kadeem V BologniaUnited Kingdom2025-04-20Feltz Printing Service NEW80Ivan Magalhaes
1043Jeanfrancois Z SaylorsArgentina2025-04-25Rangoni Of Florence RENEWAL26Elwin Sharvill
1044Izzy I GarufiUnited Kingdom2025-04-27Rousseaux, Michael Esq PROPOSAL32Anna Fali
1045Kaitlin H FigeroaArgentina2025-04-22Chapman, Ross E Esq RENEWAL63Ioni Bowcher
1046Aika F WhobreyCanada2025-05-06Printing Dimensions QUALIFIED76Amy Elsner
1047Kaitlin R GillianGermany2025-04-22King, Christopher A Esq NEGOTIATION36Elwin Sharvill
1048Maria R VocelkaGermany2025-04-28Morlong Associates PROPOSAL74Ioni Bowcher
1049Silvio E OldroydIndia2025-05-04King, Christopher A Esq NEW6Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Munro F DilliardGermanyAnna Fali QUALIFIED
Smith I KolmetzGermanyAnna Fali NEGOTIATION
Aruna T WhobreyFranceIoni Bowcher NEGOTIATION
Kadeem S MacleadIndiaStephen Shaw NEW
Ricardo X RutaArgentinaBernardo Dominic NEW
Chavez M SchemmerJapanAsiya Javayant QUALIFIED
Julie B AlbaresItalyAsiya Javayant NEGOTIATION
Isabel B BologniaRussiaBernardo Dominic RENEWAL
David U AlbaresJapanElwin Sharvill PROPOSAL
Ashley L CampainCanadaXuxue Feng UNQUALIFIED
Munro S FollerAustraliaAnna Fali QUALIFIED
Wickens U PaprockiSpainElwin Sharvill UNQUALIFIED
Mujtaba V CaudyJapanStephen Shaw NEGOTIATION
Smith S ButtGermanyXuxue Feng PROPOSAL
Greenwood W RimFranceAsiya Javayant NEW
Kadeem M WaycottSpainOnyama Limba NEW
Ivar U GarufiItalyStephen Shaw RENEWAL
Cody S DarakjySpainIoni Bowcher RENEWAL
Morrow C GlickCanadaElwin Sharvill QUALIFIED
Kaitlin W RutaArgentinaAsiya Javayant QUALIFIED
Mayumi L BriddickJapanElwin Sharvill NEGOTIATION
Izzy L MaletGermanyAmy Elsner QUALIFIED
Salvatore P DoeCanadaElwin Sharvill RENEWAL
Mayumi M AmigonBrazilStephen Shaw NEW
Julie Y NickaFranceAsiya Javayant UNQUALIFIED
Aruna A CampainBrazilBernardo Dominic RENEWAL
Salvatore F AlbaresGermanyAsiya Javayant NEW
Faith E BowleyArgentinaAsiya Javayant NEW
Darci R NestleGermanyAnna Fali PROPOSAL
Maisha O ChuiArgentinaIoni Bowcher NEW
Ricardo T MorascaArgentinaAmy Elsner NEGOTIATION
Misaki V FlosiBrazilAmy Elsner RENEWAL
Isabel M DarakjyItalyAnna Fali NEW
Deepesh Q KuskoUnited KingdomElwin Sharvill QUALIFIED
Stacey S BriddickSpainStephen Shaw PROPOSAL
Ashley L CaldareraJapanAnna Fali RENEWAL
Murillo Q SlusarskiArgentinaOnyama Limba UNQUALIFIED
Izzy B VocelkaSpainIoni Bowcher NEW
Ricardo A GlickItalyAsiya Javayant NEW
Wickens Q KolmetzCanadaElwin Sharvill QUALIFIED
David F RimGermanyAsiya Javayant PROPOSAL
Johnson L FollerFranceStephen Shaw NEW
Mayumi I DarakjyJapanStephen Shaw NEGOTIATION
Isabel P MorascaFranceBernardo Dominic PROPOSAL
Arvin C VenereBrazilBernardo Dominic NEGOTIATION
James N VenereSpainStephen Shaw RENEWAL
Octavia R BriddickBrazilAnna Fali QUALIFIED
Wickens G GauchoUnited KingdomIoni Bowcher PROPOSAL
Jeanfrancois E GlickGermanyElwin Sharvill RENEWAL
Chavez H TollnerGermanyAmy Elsner NEGOTIATION
Frozen Columns
Name
Aika D Kusko
Jones G Malet
Munro K Gillian
Izzy F Albares
Jefferson Q Bowley
Stacey J Nestle
Mujtaba I Dilliard
Aruna P Nestle
Jefferson H Ruta
Jeanfrancois H Ruta
Ashley P Shinko
Alejandro Y Slusarski
Jefferson Y Marrier
Murillo F Schemmer
Stacey R Sergi
Greenwood N Darakjy
Chavez E Stenseth
Sinclair U Chui
David M Campain
Emily T Venere
Kaitlin S Rulapaugh
James U Iturbide
Aika Y Kusko
Aika H Iturbide
Deepesh O Perin
Johnson R Foller
Kaitlin G Gaucho
Ashley S Caudy
Jones I Malet
Costa P Iturbide
Aditya M Slusarski
Salvatore G Doe
Ricardo C Saylors
Kadeem T Caldarera
Rodrigues A Glick
Kadeem S Saylors
Juan G Whobrey
Salvatore W Tollner
Emily R Bolognia
Aditya L Whobrey
Chavez M Campain
Darci X Briddick
Faith W Wieser
Johnson W Bolognia
Antonio P Royster
Costa P Gaucho
David E Iturbide
Cody J Venere
Rodrigues S Amigon
Adams Z Foller
IdCountryDate
1000Brazil2025-04-26
1001Italy2025-04-29
1002Japan2025-04-16
1003Argentina2025-05-04
1004Australia2025-04-23
1005Argentina2025-05-04
1006Japan2025-05-04
1007Australia2025-04-14
1008United Kingdom2025-04-10
1009Argentina2025-04-09
1010Australia2025-04-22
1011Argentina2025-05-03
1012United Kingdom2025-05-05
1013Russia2025-04-19
1014Brazil2025-04-21
1015Germany2025-04-30
1016United Kingdom2025-05-05
1017India2025-04-21
1018Argentina2025-04-28
1019France2025-04-19
1020Spain2025-04-15
1021Japan2025-04-21
1022Argentina2025-04-23
1023Canada2025-04-13
1024Argentina2025-04-24
1025Canada2025-04-28
1026India2025-04-24
1027Italy2025-04-25
1028Spain2025-04-12
1029Italy2025-05-06
1030France2025-04-14
1031Spain2025-04-19
1032Argentina2025-04-18
1033Japan2025-05-01
1034United Kingdom2025-04-19
1035Brazil2025-04-11
1036Canada2025-05-07
1037United Kingdom2025-04-21
1038Brazil2025-04-14
1039Japan2025-04-14
1040United Kingdom2025-05-07
1041Germany2025-04-22
1042Brazil2025-04-10
1043Canada2025-05-03
1044Germany2025-04-13
1045India2025-04-20
1046Argentina2025-04-29
1047Canada2025-05-07
1048Australia2025-04-11
1049Brazil2025-04-12

On-Demand Data

NameIdCountryDate
Jefferson B Garufi1000United Kingdom2025-04-10
Deepesh H Tollner1001Italy2025-04-24
Munro N Albares1002Germany2025-04-26
Johnson H Bolognia1003India2025-04-23
Rodrigues I Marrier1004Russia2025-04-24
Izzy E Ferencz1005Canada2025-04-29
Kaitlin F Caldarera1006Russia2025-04-23
Sinclair G Poquette1007Australia2025-05-06
Ashley Q Kusko1008Australia2025-04-28
Mayumi L Caldarera1009Italy2025-04-29
Aruna D Darakjy1010Brazil2025-04-26
Wickens X Stockham1011Canada2025-04-27
Ricardo E Sergi1012Australia2025-05-02
Aditya X Royster1013Australia2025-04-29
Faith T Bowley1014Spain2025-04-21
Morrow B Malet1015Italy2025-05-07
Adams P Amigon1016United Kingdom2025-04-23
Octavia X Garufi1017Argentina2025-04-17
Aditya S Malet1018Brazil2025-04-12
Ricardo S Ferencz1019Germany2025-04-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio C StockhamSpainElwin Sharvill RENEWAL
Kaitlin X SergiRussiaOnyama Limba QUALIFIED
Murillo Y VocelkaFranceAmy Elsner PROPOSAL
Wickens N MacleadFranceIvan Magalhaes QUALIFIED
Isabel B RimBrazilStephen Shaw UNQUALIFIED
Claire C VenereSpainAnna Fali RENEWAL
Murillo U ChuiBrazilElwin Sharvill NEGOTIATION
Wickens J ChuiJapanAmy Elsner PROPOSAL
Salvatore Q GlickGermanyIoni Bowcher UNQUALIFIED
Octavia A MaletCanadaAnna Fali UNQUALIFIED
Stacey N RutaSpainElwin Sharvill NEGOTIATION
Ivar P DarakjyJapanIoni Bowcher PROPOSAL
Ivar Q MorascaGermanyIvan Magalhaes RENEWAL
David I FigeroaRussiaXuxue Feng PROPOSAL
Adams D KolmetzGermanyIoni Bowcher PROPOSAL
Alejandro E MarrierUnited KingdomIoni Bowcher NEW
Faith X ButtUnited KingdomAsiya Javayant QUALIFIED
Arvin Z GillianUnited KingdomStephen Shaw PROPOSAL
Rodrigues I CaldareraItalyAsiya Javayant QUALIFIED
Ivar M GarufiFranceXuxue Feng UNQUALIFIED
Faith E DarakjyItalyAmy Elsner UNQUALIFIED
Adams L DarakjyIndiaIoni Bowcher QUALIFIED
Juan J VocelkaArgentinaIvan Magalhaes NEGOTIATION
Jefferson M WieserItalyOnyama Limba RENEWAL
Misaki S SlusarskiItalyOnyama Limba UNQUALIFIED
Aruna Q OldroydBrazilAnna Fali UNQUALIFIED
Kaitlin C FigeroaItalyOnyama Limba RENEWAL
Misaki P MorascaItalyOnyama Limba NEW
Salvatore N VocelkaArgentinaAsiya Javayant NEW
Nicolas G BowleyArgentinaAmy Elsner NEW
Ricardo E ButtAustraliaOnyama Limba PROPOSAL
Darci D ChuiAustraliaXuxue Feng UNQUALIFIED
Arvin Z IturbideUnited KingdomIoni Bowcher QUALIFIED
James W WieserRussiaIvan Magalhaes RENEWAL
Murillo Y FollerArgentinaBernardo Dominic UNQUALIFIED
Kaitlin K FollerUnited KingdomOnyama Limba NEW
Misaki X BologniaArgentinaElwin Sharvill PROPOSAL
Smith Y PaprockiGermanyBernardo Dominic PROPOSAL
Aika N MaletUnited KingdomIoni Bowcher PROPOSAL
Tony A DarakjyGermanyAnna Fali RENEWAL

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