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
Emily U BowleyCanadaXuxue Feng QUALIFIED
Deepesh U WhobreyAustraliaBernardo Dominic NEW
Darci I CaudyCanadaIvan Magalhaes PROPOSAL
Stacey G OstroskyUnited KingdomAnna Fali NEGOTIATION
Clifford X FerenczSpainXuxue Feng UNQUALIFIED
Adams O SaylorsJapanAsiya Javayant UNQUALIFIED
James X CaldareraJapanIoni Bowcher QUALIFIED
Claire P RimUnited KingdomBernardo Dominic RENEWAL
Claire U KolmetzIndiaIoni Bowcher NEW
Octavia O PoquetteUnited KingdomXuxue Feng QUALIFIED
Murillo A ButtCanadaXuxue Feng NEW
Mujtaba B BriddickCanadaIoni Bowcher PROPOSAL
Clifford P RutaJapanOnyama Limba RENEWAL
Wickens B VocelkaIndiaXuxue Feng NEGOTIATION
Ricardo K VenereUnited KingdomXuxue Feng RENEWAL
Maisha H MacleadFranceIoni Bowcher NEW
Jones P TollnerIndiaIoni Bowcher QUALIFIED
Jones K PerinGermanyOnyama Limba NEGOTIATION
Nicolas B NestleUnited KingdomStephen Shaw UNQUALIFIED
Rodrigues N WaycottJapanAsiya Javayant PROPOSAL
Jefferson G BologniaJapanElwin Sharvill RENEWAL
Munro H ButtUnited KingdomBernardo Dominic RENEWAL
Aika Z VenereItalyIoni Bowcher QUALIFIED
Aditya M KolmetzRussiaElwin Sharvill RENEWAL
Ashley Q RulapaughAustraliaElwin Sharvill PROPOSAL
Murillo S BriddickSpainBernardo Dominic NEGOTIATION
Nicolas T RutaJapanIvan Magalhaes UNQUALIFIED
Faith D MarrierBrazilOnyama Limba QUALIFIED
Aruna O OstroskyBrazilAsiya Javayant NEW
Cody T FollerAustraliaAmy Elsner UNQUALIFIED
Ivar I TollnerAustraliaStephen Shaw QUALIFIED
Greenwood Y GlickItalyIoni Bowcher NEGOTIATION
Deepesh R FerenczUnited KingdomOnyama Limba NEW
Munro Y GauchoRussiaElwin Sharvill UNQUALIFIED
Mayumi H FollerBrazilBernardo Dominic PROPOSAL
Johnson S VocelkaItalyStephen Shaw UNQUALIFIED
Nicolas C MacleadAustraliaIoni Bowcher UNQUALIFIED
Leon G VenereRussiaBernardo Dominic PROPOSAL
Adams X GillianGermanyElwin Sharvill RENEWAL
Kadeem T GlickGermanyIoni Bowcher NEGOTIATION
Deepesh W DilliardBrazilBernardo Dominic RENEWAL
Isabel P SaylorsBrazilIvan Magalhaes NEW
Murillo Y PaprockiAustraliaAnna Fali PROPOSAL
Ashley W FollerArgentinaIoni Bowcher QUALIFIED
Maria Z VocelkaJapanXuxue Feng NEW
Julie R RutaSpainAnna Fali NEW
Kaitlin D AlbaresJapanAmy Elsner RENEWAL
Misaki X StensethArgentinaStephen Shaw PROPOSAL
Juan I StensethItalyElwin Sharvill RENEWAL
Jones H WieserJapanStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Jones N DarakjyFranceAsiya Javayant PROPOSAL
Octavia V SaylorsRussiaXuxue Feng PROPOSAL
Tony N AlbaresCanadaBernardo Dominic QUALIFIED
Aruna A PerinJapanStephen Shaw NEGOTIATION
Alejandro I SaylorsArgentinaElwin Sharvill NEW
Mayumi M OstroskyFranceAnna Fali NEGOTIATION
Rodrigues N RutaIndiaAnna Fali PROPOSAL
Chavez X OldroydJapanIvan Magalhaes QUALIFIED
Costa K StensethGermanyOnyama Limba NEW
Isabel U NickaBrazilElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio N NickaAustralia2024-06-09King, Christopher A Esq QUALIFIED83Anna Fali
1001Arvin V SergiArgentina2024-06-08Truhlar And Truhlar Attys QUALIFIED97Asiya Javayant
1002Ivar J MaletAustralia2024-05-26Truhlar And Truhlar Attys UNQUALIFIED27Anna Fali
1003Kadeem B StensethIndia2024-05-31Commercial Press RENEWAL38Anna Fali
1004Leon F GauchoArgentina2024-06-07Feiner Bros RENEWAL7Anna Fali
1005Deepesh E RoysterBrazil2024-06-02Chemel, James L Cpa NEGOTIATION82Ivan Magalhaes
1006Julie T ButtAustralia2024-05-27Chapman, Ross E Esq PROPOSAL84Ioni Bowcher
1007Julie D SlusarskiAustralia2024-05-21Feiner Bros NEW23Bernardo Dominic
1008Isabel S SergiItaly2024-05-30Printing Dimensions NEGOTIATION77Anna Fali
1009Octavia I MacleadIndia2024-06-08Truhlar And Truhlar Attys UNQUALIFIED30Stephen Shaw
1010Munro Y PoquetteAustralia2024-06-14Chanay, Jeffrey A Esq RENEWAL54Ioni Bowcher
1011Aika T IturbideUnited Kingdom2024-05-30Dorl, James J Esq NEGOTIATION88Xuxue Feng
1012Mujtaba N ButtAustralia2024-05-26Rangoni Of Florence QUALIFIED93Anna Fali
1013Stacey P OstroskyUnited Kingdom2024-05-28Chanay, Jeffrey A Esq NEGOTIATION66Onyama Limba
1014Morrow M MorascaJapan2024-06-14Rangoni Of Florence RENEWAL17Onyama Limba
1015Munro N RimSpain2024-06-12Benton, John B Jr RENEWAL5Anna Fali
1016Johnson Z ButtItaly2024-06-15Benton, John B Jr PROPOSAL75Onyama Limba
1017Ricardo M BologniaItaly2024-05-22Chanay, Jeffrey A Esq PROPOSAL83Ivan Magalhaes
1018Aditya Y BologniaFrance2024-06-07Feltz Printing Service PROPOSAL25Asiya Javayant
1019Leja L NickaAustralia2024-05-22Benton, John B Jr UNQUALIFIED33Stephen Shaw
1020Ivar A KolmetzItaly2024-05-17Chapman, Ross E Esq UNQUALIFIED66Bernardo Dominic
1021Misaki H WhobreyJapan2024-05-19Chemel, James L Cpa RENEWAL84Amy Elsner
1022Jeanfrancois H FollerSpain2024-05-18Feiner Bros NEW50Anna Fali
1023Sinclair P VenereItaly2024-06-07King, Christopher A Esq QUALIFIED82Ivan Magalhaes
1024Stacey H BologniaFrance2024-05-25Chapman, Ross E Esq QUALIFIED75Amy Elsner
1025David V SchemmerAustralia2024-05-22Morlong Associates PROPOSAL23Stephen Shaw
1026Tony D TollnerBrazil2024-06-15King, Christopher A Esq RENEWAL19Onyama Limba
1027Jefferson D WieserGermany2024-06-15Rangoni Of Florence RENEWAL36Stephen Shaw
1028Jennifer Z GarufiGermany2024-05-29Rousseaux, Michael Esq PROPOSAL84Onyama Limba
1029Jeanfrancois R NickaFrance2024-05-29Feltz Printing Service NEGOTIATION34Ioni Bowcher
1030Jennifer D BologniaSpain2024-05-22Dorl, James J Esq RENEWAL1Bernardo Dominic
1031Emily C GauchoItaly2024-05-26Printing Dimensions RENEWAL25Elwin Sharvill
1032Wickens K GlickAustralia2024-06-12Morlong Associates RENEWAL67Bernardo Dominic
1033Ivar P BowleyJapan2024-06-10Feiner Bros NEW82Stephen Shaw
1034Faith D GarufiArgentina2024-05-29Commercial Press QUALIFIED57Stephen Shaw
1035Misaki S SaylorsAustralia2024-05-17Rousseaux, Michael Esq PROPOSAL15Amy Elsner
1036Greenwood D OldroydSpain2024-06-05Feltz Printing Service NEGOTIATION97Stephen Shaw
1037Emily I BriddickCanada2024-05-31Rangoni Of Florence PROPOSAL92Ioni Bowcher
1038Misaki U RoysterRussia2024-05-26Truhlar And Truhlar Attys NEW54Amy Elsner
1039Izzy K OldroydUnited Kingdom2024-05-25Rangoni Of Florence RENEWAL39Asiya Javayant
1040Murillo Q RimGermany2024-05-26Morlong Associates NEW4Ioni Bowcher
1041Francesco D PoquetteArgentina2024-06-15Feiner Bros NEGOTIATION33Elwin Sharvill
1042Aika E ChuiBrazil2024-05-26Truhlar And Truhlar Attys NEGOTIATION14Bernardo Dominic
1043Costa G SlusarskiJapan2024-05-23King, Christopher A Esq UNQUALIFIED9Bernardo Dominic
1044Tony A DarakjyFrance2024-05-31Feltz Printing Service UNQUALIFIED88Amy Elsner
1045Mujtaba P CaldareraUnited Kingdom2024-05-26Dorl, James J Esq QUALIFIED91Elwin Sharvill
1046Leja R OstroskyArgentina2024-06-15Chanay, Jeffrey A Esq RENEWAL66Xuxue Feng
1047Chavez U SaylorsSpain2024-06-04Commercial Press PROPOSAL87Stephen Shaw
1048Rodrigues L PaprockiUnited Kingdom2024-06-04Rousseaux, Michael Esq UNQUALIFIED35Xuxue Feng
1049Jennifer E SergiAustralia2024-06-04Chanay, Jeffrey A Esq UNQUALIFIED83Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Clifford D AlbaresBrazilAsiya Javayant RENEWAL
Izzy K BowleyRussiaAnna Fali UNQUALIFIED
Rodrigues N ShinkoSpainStephen Shaw PROPOSAL
Emily E WieserItalyIvan Magalhaes RENEWAL
Maisha E FerenczUnited KingdomAmy Elsner UNQUALIFIED
Emily E FigeroaGermanyElwin Sharvill NEGOTIATION
Aditya R PerinAustraliaAsiya Javayant QUALIFIED
Leon P VocelkaUnited KingdomOnyama Limba PROPOSAL
Cody J GarufiGermanyXuxue Feng RENEWAL
Aruna O GauchoRussiaElwin Sharvill NEGOTIATION
Isabel U VocelkaCanadaElwin Sharvill NEGOTIATION
Aika V StockhamSpainIoni Bowcher QUALIFIED
Stacey Q ChuiCanadaXuxue Feng UNQUALIFIED
Greenwood U FerenczIndiaElwin Sharvill NEW
Claire B OstroskyJapanElwin Sharvill QUALIFIED
Jennifer R DoeJapanStephen Shaw RENEWAL
Kaitlin W WaycottRussiaBernardo Dominic QUALIFIED
Munro E MarrierItalyAnna Fali QUALIFIED
Izzy N NestleFranceElwin Sharvill QUALIFIED
Emily F DilliardFranceOnyama Limba PROPOSAL
David J PaprockiFranceStephen Shaw RENEWAL
Jefferson P TollnerItalyIvan Magalhaes NEGOTIATION
Aika E MorascaCanadaAsiya Javayant QUALIFIED
Murillo D StockhamGermanyBernardo Dominic NEGOTIATION
Emily X MaletUnited KingdomAnna Fali PROPOSAL
David V MarrierAustraliaStephen Shaw NEGOTIATION
Jeanfrancois H BologniaIndiaStephen Shaw NEW
Juan I PoquetteFranceIvan Magalhaes NEGOTIATION
Johnson X PoquetteGermanyElwin Sharvill NEGOTIATION
Murillo B OldroydGermanyIoni Bowcher RENEWAL
Ivar H FigeroaIndiaAnna Fali NEGOTIATION
Ricardo J GauchoAustraliaAmy Elsner NEGOTIATION
James Z RimBrazilAnna Fali NEGOTIATION
Nicolas P CaudyCanadaAnna Fali UNQUALIFIED
Antonio P CampainBrazilAsiya Javayant UNQUALIFIED
Leja T NickaIndiaOnyama Limba NEW
Rodrigues V GauchoIndiaAnna Fali RENEWAL
Wickens L OldroydFranceBernardo Dominic QUALIFIED
Murillo L BologniaAustraliaOnyama Limba QUALIFIED
Deepesh Y GauchoJapanAmy Elsner RENEWAL
Kadeem Y PoquetteSpainAmy Elsner QUALIFIED
Julie P DilliardRussiaOnyama Limba RENEWAL
Clifford J CampainFranceXuxue Feng QUALIFIED
Jefferson S OstroskySpainStephen Shaw QUALIFIED
Alejandro D WaycottCanadaStephen Shaw UNQUALIFIED
Tony E WaycottBrazilElwin Sharvill PROPOSAL
Maisha L GarufiItalyOnyama Limba PROPOSAL
Leja N PaprockiGermanyAmy Elsner QUALIFIED
Darci E InouyeRussiaIoni Bowcher QUALIFIED
James R ChuiCanadaAsiya Javayant PROPOSAL
Frozen Columns
Name
Aditya T Dilliard
Ivar M Shinko
Silvio T Figeroa
Sinclair Z Caldarera
Mayumi J Albares
Jefferson N Morasca
Cody S Poquette
Mayumi W Sergi
Cody D Bowley
Emily K Rulapaugh
Darci U Schemmer
Aika S Doe
Antonio Q Kusko
Munro Q Chui
Maria Q Kusko
Mujtaba I Oldroyd
Kaitlin Q Oldroyd
Leja J Nestle
Clifford E Shinko
Rodrigues X Ostrosky
Kadeem R Albares
Ashley Z Marrier
Silvio Y Glick
Antonio W Malet
Aruna N Nestle
Murillo M Wieser
Johnson P Bowley
David N Paprocki
Julie S Figeroa
James E Nicka
Jones X Venere
Munro L Royster
Tony L Caldarera
David X Whobrey
Arvin T Waycott
Jennifer K Ostrosky
Mujtaba E Rim
Alejandro E Flosi
Faith J Gillian
Mayumi H Chui
Faith L Caudy
Misaki V Slusarski
Kadeem W Gillian
Aruna L Poquette
Ricardo Y Shinko
Clifford V Stenseth
Greenwood V Kolmetz
Francesco F Poquette
Misaki K Inouye
Arvin X Bolognia
IdCountryDate
1000Canada2024-05-27
1001India2024-05-31
1002Japan2024-06-06
1003United Kingdom2024-06-07
1004France2024-05-27
1005Germany2024-06-11
1006Germany2024-05-19
1007Canada2024-06-10
1008France2024-05-23
1009Australia2024-06-01
1010Germany2024-06-13
1011Japan2024-06-09
1012Germany2024-06-02
1013Australia2024-05-31
1014Russia2024-06-06
1015France2024-05-23
1016Brazil2024-06-09
1017Italy2024-05-21
1018Spain2024-06-04
1019France2024-06-07
1020India2024-06-07
1021Spain2024-05-17
1022India2024-06-04
1023Argentina2024-06-15
1024India2024-05-31
1025France2024-06-04
1026France2024-05-27
1027Argentina2024-06-03
1028Canada2024-06-08
1029Germany2024-06-14
1030Russia2024-05-30
1031Spain2024-05-17
1032Canada2024-06-06
1033Spain2024-06-05
1034Brazil2024-05-27
1035Italy2024-05-21
1036Spain2024-06-13
1037Japan2024-05-20
1038Germany2024-05-28
1039France2024-05-27
1040Canada2024-05-21
1041Canada2024-06-13
1042United Kingdom2024-05-23
1043Japan2024-05-21
1044Brazil2024-05-23
1045Russia2024-06-03
1046Germany2024-06-06
1047Spain2024-06-03
1048India2024-05-18
1049Canada2024-06-14

On-Demand Data

NameIdCountryDate
Misaki V Nestle1000Canada2024-05-24
Claire V Caudy1001United Kingdom2024-06-11
Murillo L Venere1002Brazil2024-06-05
Stacey D Rulapaugh1003Canada2024-05-23
Aika R Flosi1004India2024-06-09
Greenwood A Bolognia1005Germany2024-06-09
Antonio B Malet1006United Kingdom2024-06-13
Izzy N Campain1007Australia2024-05-25
Smith I Ruta1008Argentina2024-06-06
Aika D Butt1009Japan2024-05-26
Antonio K Bowley1010Canada2024-06-13
Johnson U Campain1011United Kingdom2024-06-02
Ricardo U Foller1012India2024-06-07
Francesco G Iturbide1013Russia2024-06-08
Adams Z Caldarera1014Italy2024-06-06
Stacey J Gaucho1015France2024-05-24
Kadeem Z Flosi1016France2024-06-03
Rodrigues Y Inouye1017Australia2024-05-18
Isabel A Nicka1018Brazil2024-05-31
Sinclair K Butt1019United Kingdom2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika M SchemmerCanadaAsiya Javayant QUALIFIED
Aruna S PerinFranceElwin Sharvill UNQUALIFIED
Antonio N PaprockiIndiaStephen Shaw PROPOSAL
Cody E BologniaItalyAsiya Javayant PROPOSAL
Francesco I MaletIndiaAsiya Javayant UNQUALIFIED
James M GlickAustraliaOnyama Limba RENEWAL
Greenwood M NestleUnited KingdomAmy Elsner PROPOSAL
Alejandro B CampainGermanyBernardo Dominic QUALIFIED
Kaitlin K GillianAustraliaBernardo Dominic QUALIFIED
James B CampainBrazilElwin Sharvill NEW
Ashley X VenereAustraliaOnyama Limba NEGOTIATION
Aruna H BologniaUnited KingdomStephen Shaw RENEWAL
Ivar N NestleJapanIvan Magalhaes UNQUALIFIED
Deepesh V WaycottJapanStephen Shaw QUALIFIED
Ivar H PaprockiBrazilOnyama Limba NEW
Isabel Z OldroydFranceOnyama Limba RENEWAL
Isabel I DoeRussiaAsiya Javayant NEW
Aditya H SaylorsItalyElwin Sharvill UNQUALIFIED
Smith V RoysterCanadaBernardo Dominic QUALIFIED
Nicolas N NestleBrazilAnna Fali UNQUALIFIED
Ivar U VocelkaSpainBernardo Dominic QUALIFIED
Cody D InouyeItalyAnna Fali NEGOTIATION
Jennifer F SlusarskiCanadaOnyama Limba UNQUALIFIED
Kadeem A OldroydGermanyElwin Sharvill RENEWAL
Darci T InouyeCanadaStephen Shaw PROPOSAL
David F SergiRussiaIoni Bowcher UNQUALIFIED
Maisha L NestleGermanyIvan Magalhaes NEGOTIATION
Deepesh J ChuiRussiaIoni Bowcher QUALIFIED
Faith T VocelkaIndiaOnyama Limba UNQUALIFIED
Kadeem M FerenczArgentinaElwin Sharvill RENEWAL
Antonio B SlusarskiFranceAsiya Javayant RENEWAL
Antonio G ShinkoAustraliaOnyama Limba RENEWAL
Maisha B BowleyCanadaAnna Fali NEW
Leja Y VenereArgentinaIvan Magalhaes QUALIFIED
Sinclair Q WieserUnited KingdomBernardo Dominic QUALIFIED
Francesco Y InouyeArgentinaIvan Magalhaes NEW
Isabel C KuskoGermanyAnna Fali NEW
Ashley M RimIndiaBernardo Dominic NEGOTIATION
Antonio K MarrierFranceXuxue Feng NEGOTIATION
Munro Q WaycottIndiaAnna Fali QUALIFIED

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