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
Deepesh A MacleadGermanyAnna Fali RENEWAL
Leja Y WhobreyArgentinaBernardo Dominic NEGOTIATION
Kaitlin T RimJapanIoni Bowcher PROPOSAL
Antonio W MacleadSpainOnyama Limba QUALIFIED
Morrow Z WhobreyRussiaStephen Shaw RENEWAL
Leon R FollerSpainXuxue Feng PROPOSAL
Faith J BowleyArgentinaElwin Sharvill UNQUALIFIED
Aditya T RutaCanadaBernardo Dominic QUALIFIED
Silvio K GauchoRussiaBernardo Dominic NEW
Claire K MacleadSpainXuxue Feng RENEWAL
Juan U DilliardRussiaStephen Shaw UNQUALIFIED
Wickens N FigeroaArgentinaIoni Bowcher QUALIFIED
Greenwood G WieserSpainElwin Sharvill QUALIFIED
Leja T DilliardSpainAnna Fali NEW
David E SaylorsArgentinaAsiya Javayant QUALIFIED
Aruna Q CaudyRussiaBernardo Dominic RENEWAL
Ashley Z GlickUnited KingdomBernardo Dominic QUALIFIED
Isabel G WaycottJapanBernardo Dominic NEGOTIATION
James W FlosiAustraliaAmy Elsner UNQUALIFIED
Leja Z BriddickGermanyXuxue Feng UNQUALIFIED
Ashley K TollnerIndiaIoni Bowcher RENEWAL
Tony W FerenczFranceIoni Bowcher PROPOSAL
Silvio C SergiRussiaElwin Sharvill NEW
Octavia F RoysterSpainOnyama Limba PROPOSAL
Faith T MaletCanadaStephen Shaw RENEWAL
Aruna K BowleyBrazilOnyama Limba QUALIFIED
Jeanfrancois S PoquetteJapanBernardo Dominic QUALIFIED
Kadeem R OldroydArgentinaBernardo Dominic UNQUALIFIED
Cody D WaycottSpainAmy Elsner UNQUALIFIED
Jefferson I BriddickGermanyIoni Bowcher RENEWAL
Claire U FlosiSpainOnyama Limba RENEWAL
Julie B FollerIndiaXuxue Feng NEW
Jennifer F FlosiIndiaIoni Bowcher PROPOSAL
Murillo W IturbideUnited KingdomStephen Shaw QUALIFIED
Kaitlin S MaletBrazilOnyama Limba NEGOTIATION
Smith I CampainUnited KingdomIvan Magalhaes RENEWAL
Leja T RoysterSpainStephen Shaw PROPOSAL
Silvio J IturbideRussiaIvan Magalhaes NEW
Cody Y ShinkoJapanIoni Bowcher NEW
Isabel B InouyeArgentinaOnyama Limba QUALIFIED
Maria H ChuiRussiaAnna Fali UNQUALIFIED
Maisha C RutaSpainIoni Bowcher QUALIFIED
Octavia R DilliardUnited KingdomBernardo Dominic PROPOSAL
Ashley V NickaGermanyXuxue Feng UNQUALIFIED
Adams K VenereGermanyIvan Magalhaes NEW
Ivar I ButtIndiaAsiya Javayant RENEWAL
Jones E NestleRussiaAsiya Javayant NEGOTIATION
Wickens M VocelkaAustraliaIvan Magalhaes PROPOSAL
James Y MacleadIndiaOnyama Limba NEW
Octavia Q MacleadItalyXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Kaitlin T WhobreyBrazilElwin Sharvill QUALIFIED
Munro O SchemmerJapanIvan Magalhaes PROPOSAL
Jennifer L PoquetteItalyElwin Sharvill PROPOSAL
Julie B BriddickCanadaXuxue Feng NEW
Morrow A CampainAustraliaIoni Bowcher NEGOTIATION
David R WaycottFranceStephen Shaw PROPOSAL
Stacey L CampainUnited KingdomAnna Fali UNQUALIFIED
Juan Q MaletItalyXuxue Feng RENEWAL
Maria S AmigonItalyAmy Elsner PROPOSAL
James U DarakjyRussiaAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja R SlusarskiFrance2025-06-12Rangoni Of Florence PROPOSAL57Xuxue Feng
1001Izzy W FerenczSpain2025-06-03Printing Dimensions PROPOSAL74Stephen Shaw
1002Chavez P WhobreyAustralia2025-05-31Rousseaux, Michael Esq RENEWAL64Amy Elsner
1003Sinclair W ChuiAustralia2025-05-22Dorl, James J Esq QUALIFIED46Bernardo Dominic
1004Kaitlin W VenereIndia2025-05-16Rousseaux, Michael Esq PROPOSAL83Ioni Bowcher
1005Wickens H CaldareraGermany2025-05-18Rangoni Of Florence UNQUALIFIED78Ivan Magalhaes
1006Salvatore T NestleArgentina2025-06-09Morlong Associates PROPOSAL72Elwin Sharvill
1007Ivar A NestleCanada2025-05-28Chapman, Ross E Esq UNQUALIFIED11Stephen Shaw
1008Claire B DoeBrazil2025-05-22King, Christopher A Esq NEGOTIATION26Ioni Bowcher
1009Mujtaba E CaudySpain2025-06-04Benton, John B Jr RENEWAL67Elwin Sharvill
1010Deepesh Y OldroydRussia2025-05-30Buckley Miller Wright NEW87Amy Elsner
1011Cody G CampainJapan2025-05-16Truhlar And Truhlar Attys NEGOTIATION15Anna Fali
1012Faith C MarrierJapan2025-05-28Chapman, Ross E Esq NEGOTIATION70Asiya Javayant
1013Juan D StockhamBrazil2025-05-14Feltz Printing Service RENEWAL79Ioni Bowcher
1014Darci W FigeroaSpain2025-05-19Benton, John B Jr NEW63Amy Elsner
1015Jeanfrancois E KolmetzSpain2025-06-11Chanay, Jeffrey A Esq NEGOTIATION43Onyama Limba
1016Jefferson Q IturbideUnited Kingdom2025-06-07Chanay, Jeffrey A Esq NEGOTIATION75Asiya Javayant
1017Jennifer B PaprockiRussia2025-05-26Printing Dimensions NEGOTIATION70Onyama Limba
1018Sinclair S BowleyAustralia2025-06-05King, Christopher A Esq NEW27Anna Fali
1019Salvatore X RutaArgentina2025-05-27Truhlar And Truhlar Attys UNQUALIFIED26Stephen Shaw
1020James D NestleSpain2025-06-02Buckley Miller Wright NEGOTIATION98Bernardo Dominic
1021Greenwood T DilliardAustralia2025-06-08Printing Dimensions NEW20Elwin Sharvill
1022Leon F SaylorsItaly2025-05-24Rousseaux, Michael Esq NEGOTIATION66Ivan Magalhaes
1023Clifford H IturbideCanada2025-05-14Feltz Printing Service RENEWAL27Elwin Sharvill
1024Leja L SaylorsUnited Kingdom2025-05-22Dorl, James J Esq UNQUALIFIED14Asiya Javayant
1025Munro A PaprockiUnited Kingdom2025-06-02Rangoni Of Florence UNQUALIFIED70Onyama Limba
1026Darci X MaletIndia2025-06-05King, Christopher A Esq NEGOTIATION45Asiya Javayant
1027Emily O PerinUnited Kingdom2025-05-14Dorl, James J Esq QUALIFIED82Stephen Shaw
1028Jones V AlbaresItaly2025-06-04Truhlar And Truhlar Attys QUALIFIED34Stephen Shaw
1029Deepesh J FerenczItaly2025-05-20Feltz Printing Service PROPOSAL93Bernardo Dominic
1030Murillo K SergiGermany2025-05-20Dorl, James J Esq NEGOTIATION24Anna Fali
1031Francesco O SergiJapan2025-05-16Commercial Press NEW10Amy Elsner
1032Nicolas B CaudyArgentina2025-05-17Truhlar And Truhlar Attys NEGOTIATION77Ivan Magalhaes
1033Alejandro Z MaletIndia2025-05-27Printing Dimensions NEW28Stephen Shaw
1034Tony V ChuiBrazil2025-05-28Chanay, Jeffrey A Esq NEGOTIATION40Asiya Javayant
1035Ivar O MaletJapan2025-05-15Feltz Printing Service RENEWAL37Ioni Bowcher
1036Cody W OldroydGermany2025-06-03Chapman, Ross E Esq NEGOTIATION55Ivan Magalhaes
1037Stacey Z AmigonSpain2025-06-09Feiner Bros QUALIFIED99Ivan Magalhaes
1038Salvatore B BowleyItaly2025-05-26Benton, John B Jr RENEWAL95Onyama Limba
1039Aditya A CaldareraCanada2025-05-24Chemel, James L Cpa RENEWAL87Stephen Shaw
1040David S RimSpain2025-05-24Rousseaux, Michael Esq RENEWAL72Amy Elsner
1041Greenwood O OstroskyIndia2025-05-18Commercial Press UNQUALIFIED78Xuxue Feng
1042Jones Q CaudyItaly2025-05-19Buckley Miller Wright RENEWAL23Asiya Javayant
1043Antonio N WieserCanada2025-05-16Chanay, Jeffrey A Esq NEW91Ivan Magalhaes
1044Smith M FollerIndia2025-05-25Truhlar And Truhlar Attys NEW14Onyama Limba
1045Costa J StockhamSpain2025-05-25Chanay, Jeffrey A Esq NEGOTIATION27Ioni Bowcher
1046Sinclair A MorascaArgentina2025-05-22Truhlar And Truhlar Attys QUALIFIED65Amy Elsner
1047Morrow D WhobreyFrance2025-06-08Feltz Printing Service NEW75Stephen Shaw
1048Francesco D BowleyJapan2025-05-27Chanay, Jeffrey A Esq UNQUALIFIED44Elwin Sharvill
1049Ricardo L GlickAustralia2025-06-05Feiner Bros RENEWAL9Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Maria U DarakjyGermanyIoni Bowcher RENEWAL
Leja D DoeGermanyBernardo Dominic RENEWAL
Johnson N MarrierRussiaIoni Bowcher PROPOSAL
Emily W RimBrazilElwin Sharvill NEGOTIATION
Smith A FerenczArgentinaAmy Elsner NEW
Claire C MarrierRussiaXuxue Feng PROPOSAL
Murillo O PoquetteIndiaIoni Bowcher NEGOTIATION
Jeanfrancois N MacleadUnited KingdomElwin Sharvill PROPOSAL
Wickens Y MorascaJapanBernardo Dominic NEGOTIATION
Clifford M ShinkoJapanAmy Elsner UNQUALIFIED
Murillo B ButtBrazilStephen Shaw QUALIFIED
Aditya V RulapaughFranceOnyama Limba RENEWAL
Chavez F TollnerGermanyOnyama Limba RENEWAL
Stacey U DoeAustraliaIoni Bowcher NEW
Antonio K OstroskyGermanyStephen Shaw QUALIFIED
Kaitlin E RimSpainAnna Fali RENEWAL
Wickens G IturbideCanadaStephen Shaw NEGOTIATION
Izzy P CampainCanadaOnyama Limba UNQUALIFIED
Nicolas T IturbideFranceStephen Shaw RENEWAL
Stacey S MorascaFranceAsiya Javayant NEW
Jones U DarakjyBrazilBernardo Dominic NEGOTIATION
Chavez J BowleyAustraliaXuxue Feng UNQUALIFIED
Claire G VocelkaBrazilAnna Fali NEGOTIATION
Emily N VenereIndiaIoni Bowcher PROPOSAL
James R BologniaJapanAsiya Javayant UNQUALIFIED
Cody E MorascaSpainStephen Shaw RENEWAL
Maisha Z StensethUnited KingdomIvan Magalhaes NEW
Izzy C GauchoIndiaElwin Sharvill NEW
David N ShinkoItalyAnna Fali PROPOSAL
Jennifer O FerenczSpainAmy Elsner NEGOTIATION
Nicolas C GarufiItalyBernardo Dominic NEGOTIATION
Johnson R GlickJapanIvan Magalhaes UNQUALIFIED
Tony C RulapaughSpainAsiya Javayant QUALIFIED
Wickens Q OldroydIndiaAmy Elsner PROPOSAL
Sinclair I TollnerBrazilAnna Fali PROPOSAL
Kaitlin G CaudyArgentinaStephen Shaw NEW
Aditya P InouyeFranceStephen Shaw PROPOSAL
Cody K SlusarskiSpainOnyama Limba PROPOSAL
Arvin P RulapaughBrazilAnna Fali RENEWAL
Morrow M TollnerJapanXuxue Feng UNQUALIFIED
Juan J KolmetzAustraliaIvan Magalhaes RENEWAL
Deepesh Y FlosiBrazilXuxue Feng QUALIFIED
Emily Z WaycottItalyElwin Sharvill PROPOSAL
Antonio C DarakjyAustraliaElwin Sharvill NEGOTIATION
Maisha M IturbideSpainOnyama Limba UNQUALIFIED
Claire U SlusarskiRussiaStephen Shaw PROPOSAL
Deepesh J RoysterRussiaStephen Shaw NEGOTIATION
Jones B AmigonFranceOnyama Limba UNQUALIFIED
Jefferson Q NickaBrazilOnyama Limba RENEWAL
Johnson X ShinkoFranceStephen Shaw QUALIFIED
Frozen Columns
Name
Sinclair R Nicka
Leon W Stockham
Ivar K Vocelka
Salvatore T Maclead
Kadeem D Slusarski
Aditya Q Bowley
Tony L Malet
Rodrigues F Amigon
Nicolas H Caudy
Jennifer A Butt
Morrow B Ferencz
Jennifer U Doe
Faith G Campain
Izzy Y Flosi
Ivar G Whobrey
Kaitlin A Paprocki
Juan C Oldroyd
Nicolas O Stockham
Leon V Ruta
Octavia Q Poquette
Rodrigues G Ostrosky
Murillo L Ferencz
David G Kolmetz
Isabel R Schemmer
Nicolas W Morasca
Misaki H Marrier
Misaki L Sergi
Jennifer E Doe
Emily M Caudy
Chavez B Slusarski
Maisha E Shinko
Arvin K Caldarera
Leon Y Sergi
Leja S Garufi
Chavez V Nicka
Jennifer Z Malet
James P Nicka
Ricardo K Figeroa
Kadeem C Butt
Aika D Rim
Faith X Kusko
Mujtaba M Vocelka
Stacey X Stenseth
Greenwood X Kusko
Misaki F Rulapaugh
Kaitlin J Bowley
Octavia J Whobrey
Smith E Sergi
Chavez H Caudy
Smith G Campain
IdCountryDate
1000Brazil2025-05-28
1001Japan2025-05-29
1002Italy2025-05-26
1003Spain2025-06-04
1004Germany2025-06-08
1005Germany2025-05-18
1006United Kingdom2025-05-29
1007Argentina2025-06-12
1008Canada2025-06-04
1009Japan2025-06-10
1010United Kingdom2025-05-19
1011Argentina2025-06-07
1012Australia2025-06-04
1013Japan2025-05-14
1014Germany2025-06-02
1015Russia2025-05-26
1016Spain2025-06-04
1017Brazil2025-06-02
1018Argentina2025-06-05
1019Italy2025-06-01
1020Canada2025-06-06
1021France2025-06-03
1022India2025-05-16
1023Argentina2025-06-01
1024Spain2025-05-31
1025France2025-06-03
1026France2025-06-12
1027India2025-06-12
1028France2025-06-11
1029Canada2025-05-19
1030Canada2025-05-16
1031Japan2025-06-01
1032Spain2025-05-25
1033Germany2025-06-06
1034Germany2025-05-22
1035Germany2025-06-07
1036France2025-05-23
1037Brazil2025-05-31
1038Canada2025-05-31
1039Australia2025-05-17
1040Australia2025-06-02
1041Australia2025-05-16
1042Russia2025-06-06
1043Spain2025-06-10
1044Canada2025-06-02
1045Argentina2025-06-03
1046Brazil2025-06-01
1047Brazil2025-06-02
1048Russia2025-05-16
1049Australia2025-06-10

On-Demand Data

NameIdCountryDate
Jennifer J Schemmer1000Japan2025-06-02
Izzy L Schemmer1001Canada2025-05-15
Mujtaba G Perin1002Argentina2025-06-01
Deepesh R Figeroa1003France2025-06-01
Ashley Y Bowley1004France2025-05-18
Mayumi Y Briddick1005Australia2025-06-07
Maisha A Albares1006Germany2025-06-01
Ricardo N Amigon1007United Kingdom2025-05-31
Maisha B Morasca1008Germany2025-06-04
Alejandro C Paprocki1009France2025-06-10
Izzy F Doe1010United Kingdom2025-06-12
Mujtaba T Butt1011France2025-05-17
Leon F Briddick1012Australia2025-06-10
Murillo Q Waycott1013Japan2025-05-30
Greenwood I Ruta1014Italy2025-05-24
Jones X Nicka1015Brazil2025-05-23
Maisha Q Malet1016Canada2025-05-20
Maria K Tollner1017Spain2025-05-22
Juan G Flosi1018Italy2025-06-04
David A Morasca1019Germany2025-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith C FerenczItalyAmy Elsner RENEWAL
Claire D MacleadAustraliaIvan Magalhaes UNQUALIFIED
Misaki X KolmetzArgentinaAnna Fali UNQUALIFIED
Darci E FlosiFranceAnna Fali QUALIFIED
Julie C VocelkaAustraliaElwin Sharvill NEW
Adams S InouyeRussiaStephen Shaw NEGOTIATION
Salvatore F FlosiBrazilIoni Bowcher UNQUALIFIED
Claire W StensethFranceOnyama Limba UNQUALIFIED
Costa R GillianRussiaStephen Shaw UNQUALIFIED
Kadeem J PoquetteUnited KingdomXuxue Feng NEW
Alejandro C GillianGermanyBernardo Dominic NEW
Aruna C PerinUnited KingdomIvan Magalhaes PROPOSAL
Ricardo L NestleArgentinaIoni Bowcher UNQUALIFIED
Silvio K BowleyItalyIvan Magalhaes RENEWAL
Jefferson M StensethItalyXuxue Feng NEW
Smith H GauchoSpainAnna Fali NEW
Julie C OldroydBrazilIvan Magalhaes RENEWAL
James I MaletAustraliaIoni Bowcher RENEWAL
Maisha I CaudyJapanAsiya Javayant NEW
Greenwood H StockhamCanadaBernardo Dominic UNQUALIFIED
Maisha N DarakjySpainIoni Bowcher NEW
Ivar X KolmetzJapanElwin Sharvill NEGOTIATION
Jeanfrancois A FollerJapanStephen Shaw RENEWAL
Juan A VocelkaUnited KingdomOnyama Limba QUALIFIED
Aditya L DarakjyRussiaIvan Magalhaes UNQUALIFIED
Morrow O DarakjyUnited KingdomIvan Magalhaes NEW
Misaki O MacleadRussiaAmy Elsner PROPOSAL
Morrow Q SergiBrazilOnyama Limba PROPOSAL
Jeanfrancois O StockhamAustraliaBernardo Dominic UNQUALIFIED
Antonio Q WieserArgentinaOnyama Limba UNQUALIFIED
David I IturbideGermanyStephen Shaw RENEWAL
Leon H TollnerGermanyIoni Bowcher NEGOTIATION
Arvin O NestleUnited KingdomAnna Fali PROPOSAL
Aruna H DoeRussiaOnyama Limba NEGOTIATION
Antonio E StockhamJapanAsiya Javayant QUALIFIED
Chavez O MaletFranceXuxue Feng NEW
Costa S BriddickAustraliaXuxue Feng NEW
Maria N FigeroaArgentinaXuxue Feng NEGOTIATION
Jeanfrancois W NestleJapanIoni Bowcher RENEWAL
Faith H KuskoGermanyOnyama Limba 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>