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
Julie T AlbaresItalyBernardo Dominic PROPOSAL
Faith Y ChuiItalyIvan Magalhaes NEW
Greenwood R CampainUnited KingdomBernardo Dominic UNQUALIFIED
Kadeem I SergiAustraliaIvan Magalhaes RENEWAL
Leon V IturbideBrazilIvan Magalhaes QUALIFIED
Greenwood T RutaFranceStephen Shaw UNQUALIFIED
Greenwood A CaudyJapanOnyama Limba UNQUALIFIED
Emily H BriddickUnited KingdomAnna Fali UNQUALIFIED
Deepesh I MaletGermanyIvan Magalhaes NEGOTIATION
Juan S OldroydBrazilAsiya Javayant QUALIFIED
Murillo X KolmetzSpainAsiya Javayant QUALIFIED
Munro H MarrierSpainIvan Magalhaes NEGOTIATION
Silvio J StockhamBrazilAsiya Javayant RENEWAL
Salvatore Z DilliardUnited KingdomStephen Shaw UNQUALIFIED
Faith O FlosiItalyElwin Sharvill UNQUALIFIED
Ricardo X ShinkoCanadaAsiya Javayant PROPOSAL
Aruna O GarufiItalyElwin Sharvill RENEWAL
Jefferson B DoeArgentinaAmy Elsner QUALIFIED
Munro E OldroydAustraliaAsiya Javayant RENEWAL
Kaitlin P CaldareraCanadaAsiya Javayant QUALIFIED
Maisha G BowleyGermanyStephen Shaw NEW
Salvatore G FollerSpainBernardo Dominic RENEWAL
Julie C ShinkoFranceIoni Bowcher NEW
Darci G VenereJapanIoni Bowcher QUALIFIED
Johnson L VocelkaSpainElwin Sharvill RENEWAL
Aditya E PoquetteItalyOnyama Limba NEW
Izzy V RulapaughSpainElwin Sharvill PROPOSAL
Emily W SlusarskiBrazilAmy Elsner NEW
Maisha D GauchoRussiaBernardo Dominic NEW
Kaitlin Z WieserAustraliaXuxue Feng UNQUALIFIED
Aditya C NickaAustraliaAnna Fali NEW
Munro U WhobreyAustraliaIoni Bowcher UNQUALIFIED
Tony M StockhamBrazilStephen Shaw NEW
Clifford U RulapaughAustraliaElwin Sharvill QUALIFIED
Jefferson Y TollnerRussiaIoni Bowcher NEGOTIATION
Clifford Z BriddickItalyOnyama Limba UNQUALIFIED
Kadeem Y WieserBrazilIoni Bowcher UNQUALIFIED
Faith L PaprockiArgentinaElwin Sharvill UNQUALIFIED
Nicolas S GarufiCanadaElwin Sharvill RENEWAL
Mayumi B ChuiItalyXuxue Feng RENEWAL
Kaitlin D SaylorsArgentinaXuxue Feng RENEWAL
Wickens S RutaUnited KingdomBernardo Dominic NEGOTIATION
Morrow B AmigonBrazilElwin Sharvill QUALIFIED
Leon G ChuiArgentinaXuxue Feng NEW
Jennifer S GauchoJapanStephen Shaw NEW
Faith F CaudyBrazilOnyama Limba NEGOTIATION
Juan M RoysterCanadaIoni Bowcher RENEWAL
Aika A BowleyCanadaElwin Sharvill RENEWAL
Smith F BriddickAustraliaBernardo Dominic RENEWAL
Ashley C SaylorsAustraliaStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Clifford I RutaItalyStephen Shaw PROPOSAL
Ricardo A RutaIndiaIvan Magalhaes PROPOSAL
Munro Q ButtIndiaStephen Shaw NEGOTIATION
Faith E ChuiSpainIvan Magalhaes PROPOSAL
Juan O PerinItalyOnyama Limba NEW
Chavez O KolmetzArgentinaIoni Bowcher PROPOSAL
Leon V WhobreySpainAnna Fali QUALIFIED
Ricardo H RoysterArgentinaIoni Bowcher QUALIFIED
Izzy M OldroydUnited KingdomIvan Magalhaes QUALIFIED
Claire K FerenczJapanOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro D FlosiItaly2024-05-31Rousseaux, Michael Esq NEW75Elwin Sharvill
1001Rodrigues H SlusarskiSpain2024-06-05Chanay, Jeffrey A Esq NEW16Elwin Sharvill
1002Rodrigues E StockhamAustralia2024-05-28Commercial Press PROPOSAL47Bernardo Dominic
1003Aditya Y OldroydItaly2024-05-29Truhlar And Truhlar Attys NEGOTIATION79Anna Fali
1004Wickens I BowleyFrance2024-05-20Printing Dimensions UNQUALIFIED67Asiya Javayant
1005Mujtaba V AmigonCanada2024-05-25Chemel, James L Cpa PROPOSAL83Ioni Bowcher
1006Jennifer T RutaItaly2024-05-22Chapman, Ross E Esq NEW18Xuxue Feng
1007Wickens W SlusarskiItaly2024-05-23Feltz Printing Service NEW96Ivan Magalhaes
1008Munro I BriddickBrazil2024-06-04Feiner Bros NEW44Amy Elsner
1009Octavia C StensethItaly2024-06-12Morlong Associates QUALIFIED91Amy Elsner
1010Jennifer F DoeJapan2024-06-08Feltz Printing Service UNQUALIFIED21Xuxue Feng
1011Maria Q SchemmerUnited Kingdom2024-05-24Morlong Associates NEW69Onyama Limba
1012Mayumi C ShinkoGermany2024-05-30Chanay, Jeffrey A Esq PROPOSAL72Bernardo Dominic
1013Maria P CaldareraSpain2024-05-22Feiner Bros PROPOSAL23Onyama Limba
1014Nicolas T StensethGermany2024-06-15Feiner Bros RENEWAL71Anna Fali
1015Leja E WieserGermany2024-05-29Commercial Press UNQUALIFIED7Elwin Sharvill
1016Costa I BriddickCanada2024-06-10Benton, John B Jr NEW22Stephen Shaw
1017Maria Y MaletBrazil2024-05-25Rangoni Of Florence RENEWAL97Amy Elsner
1018Costa L GarufiArgentina2024-05-30Buckley Miller Wright UNQUALIFIED8Elwin Sharvill
1019Costa F StensethUnited Kingdom2024-06-04King, Christopher A Esq NEGOTIATION20Bernardo Dominic
1020Jones Y OldroydAustralia2024-06-07King, Christopher A Esq RENEWAL23Stephen Shaw
1021Antonio E DarakjyRussia2024-05-31Chapman, Ross E Esq PROPOSAL2Onyama Limba
1022Francesco N DarakjyItaly2024-06-03Rousseaux, Michael Esq NEW79Xuxue Feng
1023Octavia E FigeroaSpain2024-05-23Chemel, James L Cpa QUALIFIED17Ivan Magalhaes
1024Morrow J InouyeGermany2024-05-21King, Christopher A Esq QUALIFIED52Xuxue Feng
1025Adams I ButtJapan2024-05-20Buckley Miller Wright RENEWAL61Bernardo Dominic
1026Kadeem Q ShinkoFrance2024-05-29Printing Dimensions NEGOTIATION35Ioni Bowcher
1027Chavez W StensethUnited Kingdom2024-06-04Benton, John B Jr RENEWAL93Amy Elsner
1028Izzy Y NestleGermany2024-06-01Benton, John B Jr NEGOTIATION59Anna Fali
1029Tony W WieserFrance2024-05-21Feiner Bros RENEWAL95Asiya Javayant
1030Francesco U VenereFrance2024-06-06Dorl, James J Esq QUALIFIED95Anna Fali
1031Greenwood R VenereJapan2024-06-03Rangoni Of Florence NEW18Asiya Javayant
1032Antonio F MacleadUnited Kingdom2024-05-25Benton, John B Jr NEGOTIATION76Onyama Limba
1033Leja A PerinUnited Kingdom2024-05-23King, Christopher A Esq NEW73Amy Elsner
1034Alejandro H MarrierJapan2024-05-29Truhlar And Truhlar Attys RENEWAL96Onyama Limba
1035Munro W MaletSpain2024-06-04Dorl, James J Esq UNQUALIFIED63Bernardo Dominic
1036Juan Z OstroskyAustralia2024-06-17Printing Dimensions QUALIFIED8Stephen Shaw
1037Murillo G NickaIndia2024-06-18Chanay, Jeffrey A Esq RENEWAL72Stephen Shaw
1038Jefferson F SchemmerArgentina2024-05-21Commercial Press RENEWAL17Elwin Sharvill
1039Murillo G KolmetzGermany2024-06-03Truhlar And Truhlar Attys NEGOTIATION47Ioni Bowcher
1040Jones C MaletCanada2024-06-17King, Christopher A Esq NEW18Amy Elsner
1041Munro Y OldroydCanada2024-05-28Buckley Miller Wright PROPOSAL64Ivan Magalhaes
1042Costa Y TollnerUnited Kingdom2024-06-03Rousseaux, Michael Esq RENEWAL12Elwin Sharvill
1043Misaki D BologniaBrazil2024-06-02Chapman, Ross E Esq NEW45Onyama Limba
1044Murillo K ShinkoRussia2024-06-03Truhlar And Truhlar Attys RENEWAL70Bernardo Dominic
1045Misaki R SlusarskiArgentina2024-06-12Commercial Press RENEWAL32Bernardo Dominic
1046Izzy E GarufiUnited Kingdom2024-05-20Chapman, Ross E Esq RENEWAL28Elwin Sharvill
1047Wickens Y MarrierIndia2024-06-18Benton, John B Jr PROPOSAL90Elwin Sharvill
1048Clifford J InouyeIndia2024-06-15Chanay, Jeffrey A Esq QUALIFIED50Anna Fali
1049Emily U GillianGermany2024-06-16King, Christopher A Esq UNQUALIFIED63Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Tony V FigeroaArgentinaElwin Sharvill QUALIFIED
Stacey E GauchoRussiaAsiya Javayant QUALIFIED
Johnson T StockhamItalyAsiya Javayant PROPOSAL
Jones B GillianIndiaElwin Sharvill UNQUALIFIED
Faith A CampainRussiaStephen Shaw QUALIFIED
Ashley T TollnerItalyOnyama Limba NEW
Maisha N MaletJapanAmy Elsner NEGOTIATION
Leon L GarufiBrazilAsiya Javayant UNQUALIFIED
Isabel F SlusarskiIndiaElwin Sharvill PROPOSAL
Aditya Q CaudyJapanOnyama Limba UNQUALIFIED
Smith I DarakjyJapanIvan Magalhaes NEW
Aditya R FerenczFranceOnyama Limba PROPOSAL
Misaki Q KuskoBrazilAsiya Javayant RENEWAL
Kadeem B WhobreyIndiaOnyama Limba NEW
Mayumi F FollerRussiaIoni Bowcher UNQUALIFIED
Kadeem U AlbaresFranceIvan Magalhaes NEW
Aruna E OstroskyCanadaAsiya Javayant NEW
Antonio M SchemmerRussiaBernardo Dominic RENEWAL
Nicolas U PerinGermanyBernardo Dominic RENEWAL
Murillo J RutaBrazilAnna Fali UNQUALIFIED
Leon L GlickSpainIvan Magalhaes NEW
Stacey M SaylorsAustraliaBernardo Dominic RENEWAL
Deepesh Q AlbaresRussiaStephen Shaw RENEWAL
Faith Y FollerSpainElwin Sharvill QUALIFIED
Ricardo G BriddickFranceBernardo Dominic RENEWAL
Mujtaba I CaudyFranceStephen Shaw QUALIFIED
David S FigeroaFranceIoni Bowcher PROPOSAL
Aika E RoysterGermanyIvan Magalhaes RENEWAL
Alejandro K WieserUnited KingdomXuxue Feng NEGOTIATION
Faith Q CaldareraAustraliaAsiya Javayant RENEWAL
Kadeem D KolmetzAustraliaBernardo Dominic QUALIFIED
Greenwood F MaletItalyStephen Shaw PROPOSAL
Antonio P ButtRussiaAnna Fali QUALIFIED
Greenwood T WieserCanadaAmy Elsner NEW
Darci J KuskoRussiaBernardo Dominic UNQUALIFIED
Misaki Z DilliardUnited KingdomIoni Bowcher RENEWAL
Ashley A SlusarskiIndiaElwin Sharvill NEW
Aditya W KolmetzGermanyAmy Elsner QUALIFIED
Darci I MaletRussiaIvan Magalhaes PROPOSAL
Cody E SlusarskiRussiaAmy Elsner RENEWAL
Claire A WaycottUnited KingdomElwin Sharvill RENEWAL
Clifford L VenereIndiaAmy Elsner NEW
David W FlosiJapanAmy Elsner RENEWAL
Rodrigues U PaprockiRussiaAmy Elsner RENEWAL
Jennifer M DoeFranceAsiya Javayant NEGOTIATION
Salvatore G FlosiJapanStephen Shaw RENEWAL
Maisha N ShinkoBrazilBernardo Dominic PROPOSAL
Jefferson U GillianFranceOnyama Limba NEW
Antonio J SaylorsCanadaXuxue Feng UNQUALIFIED
Jeanfrancois W DilliardRussiaXuxue Feng RENEWAL
Frozen Columns
Name
Julie M Foller
Jeanfrancois N Amigon
Leon B Maclead
Ivar W Vocelka
Emily O Albares
Misaki P Sergi
Costa W Rim
Costa F Gillian
Jennifer T Foller
David D Vocelka
Kaitlin Y Bolognia
Francesco R Caldarera
Francesco X Marrier
Ricardo O Bowley
David L Doe
Darci Z Briddick
Kadeem L Flosi
Ashley Y Royster
Juan X Maclead
Greenwood W Kolmetz
Clifford Z Briddick
Jeanfrancois H Foller
Aruna K Albares
Claire G Albares
Jeanfrancois J Nicka
Stacey K Garufi
Leon X Garufi
Smith D Stenseth
Julie V Rulapaugh
Deepesh J Waycott
Aruna Y Oldroyd
Johnson W Darakjy
Aditya P Chui
Deepesh T Schemmer
Nicolas Z Garufi
Tony U Albares
Emily S Stenseth
Jennifer L Dilliard
Kadeem N Maclead
Francesco D Flosi
Morrow N Malet
Deepesh Q Stenseth
Rodrigues P Vocelka
Arvin A Butt
Claire X Caldarera
Aruna C Kolmetz
Octavia X Briddick
Claire C Stockham
Rodrigues W Tollner
Johnson X Saylors
IdCountryDate
1000India2024-05-30
1001Argentina2024-06-10
1002Spain2024-06-10
1003Japan2024-06-16
1004Germany2024-06-02
1005India2024-06-06
1006Russia2024-06-08
1007Brazil2024-05-30
1008Canada2024-05-27
1009Spain2024-05-27
1010Spain2024-05-22
1011India2024-06-11
1012Italy2024-05-31
1013United Kingdom2024-05-29
1014Brazil2024-05-21
1015India2024-06-15
1016France2024-06-10
1017Australia2024-05-24
1018Japan2024-06-15
1019India2024-06-10
1020Canada2024-05-21
1021United Kingdom2024-06-09
1022France2024-06-10
1023Italy2024-05-27
1024Canada2024-05-24
1025Australia2024-06-04
1026United Kingdom2024-06-14
1027Canada2024-05-26
1028Argentina2024-05-27
1029Argentina2024-05-22
1030United Kingdom2024-05-23
1031Canada2024-06-18
1032United Kingdom2024-06-01
1033Canada2024-06-05
1034Canada2024-06-08
1035Australia2024-06-12
1036United Kingdom2024-05-31
1037Germany2024-05-28
1038France2024-06-02
1039Argentina2024-05-26
1040India2024-06-12
1041France2024-05-24
1042Brazil2024-06-08
1043Spain2024-05-26
1044Japan2024-05-31
1045Spain2024-06-02
1046Canada2024-06-09
1047Canada2024-05-31
1048Italy2024-06-14
1049Canada2024-06-09

On-Demand Data

NameIdCountryDate
Isabel D Ostrosky1000Argentina2024-05-21
Juan C Flosi1001Argentina2024-05-24
Aika F Slusarski1002Italy2024-06-13
Mujtaba V Garufi1003Germany2024-05-30
Jones Q Figeroa1004Brazil2024-06-03
Silvio Y Doe1005Russia2024-06-05
Arvin Q Paprocki1006Australia2024-06-14
Smith U Malet1007Russia2024-06-16
Jones D Doe1008Japan2024-05-29
Mayumi D Darakjy1009Italy2024-06-04
Ashley R Figeroa1010France2024-06-18
James P Gillian1011Russia2024-06-05
Johnson Y Gillian1012India2024-06-08
Antonio X Nicka1013Canada2024-06-15
Alejandro Q Stockham1014Spain2024-05-24
Aruna Y Malet1015Japan2024-06-04
Wickens Y Caudy1016Italy2024-06-17
Jeanfrancois A Foller1017Spain2024-06-16
Ricardo P Stenseth1018Brazil2024-06-09
Faith T Schemmer1019Russia2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley Z VenereJapanIvan Magalhaes NEGOTIATION
Adams F FigeroaAustraliaBernardo Dominic NEGOTIATION
Chavez E SlusarskiAustraliaAmy Elsner UNQUALIFIED
Emily P FollerRussiaIoni Bowcher QUALIFIED
Faith N VenereJapanAsiya Javayant RENEWAL
Faith R WieserItalyStephen Shaw NEGOTIATION
Izzy M FerenczJapanIoni Bowcher PROPOSAL
Silvio B BowleyGermanyAmy Elsner RENEWAL
Emily J WhobreyAustraliaAnna Fali PROPOSAL
Clifford F KuskoBrazilAsiya Javayant QUALIFIED
Aditya V GarufiFranceXuxue Feng PROPOSAL
Morrow P AlbaresCanadaBernardo Dominic UNQUALIFIED
Smith T RulapaughJapanBernardo Dominic UNQUALIFIED
Faith O DilliardItalyOnyama Limba NEW
Arvin U KolmetzSpainXuxue Feng PROPOSAL
Munro V SlusarskiRussiaAnna Fali NEGOTIATION
Rodrigues F BowleyUnited KingdomAnna Fali UNQUALIFIED
Ashley R WhobreyFranceIoni Bowcher QUALIFIED
Darci M SlusarskiSpainAnna Fali RENEWAL
Jennifer L MacleadJapanAnna Fali NEGOTIATION
Deepesh R MaletArgentinaBernardo Dominic UNQUALIFIED
Mayumi C CampainGermanyStephen Shaw QUALIFIED
Cody N GillianAustraliaAnna Fali QUALIFIED
Claire J WaycottCanadaIoni Bowcher QUALIFIED
Maisha W MaletFranceStephen Shaw NEGOTIATION
Morrow U NestleItalyAsiya Javayant NEGOTIATION
Mujtaba Q DoeIndiaAmy Elsner RENEWAL
Maisha N DarakjyAustraliaBernardo Dominic NEGOTIATION
Claire G GlickIndiaIvan Magalhaes NEGOTIATION
Greenwood L FerenczArgentinaAsiya Javayant RENEWAL
Chavez S RulapaughSpainAnna Fali QUALIFIED
Maisha M RimBrazilStephen Shaw NEGOTIATION
Kaitlin R KuskoIndiaIoni Bowcher RENEWAL
Nicolas S MarrierCanadaXuxue Feng NEGOTIATION
Alejandro X BowleyBrazilIoni Bowcher UNQUALIFIED
Aika O FollerFranceBernardo Dominic NEW
Tony T SaylorsCanadaAnna Fali RENEWAL
Nicolas G ChuiJapanBernardo Dominic QUALIFIED
Misaki Q GlickAustraliaAsiya Javayant NEGOTIATION
Costa S SchemmerAustraliaAmy Elsner 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>