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
Juan C BowleyAustraliaXuxue Feng RENEWAL
Ricardo L PoquetteGermanyElwin Sharvill RENEWAL
Deepesh H OstroskyBrazilStephen Shaw NEGOTIATION
Julie T SchemmerFranceOnyama Limba UNQUALIFIED
James R WaycottItalyAmy Elsner NEW
Jones Y DilliardAustraliaIoni Bowcher QUALIFIED
Ricardo I KolmetzArgentinaIoni Bowcher RENEWAL
Jefferson N GillianFranceIvan Magalhaes PROPOSAL
Aruna Z DoeGermanyOnyama Limba NEW
Leon M DilliardJapanIvan Magalhaes UNQUALIFIED
Jeanfrancois R FerenczBrazilIoni Bowcher PROPOSAL
Antonio O WhobreyItalyIoni Bowcher RENEWAL
Munro H VocelkaSpainStephen Shaw PROPOSAL
Misaki S SaylorsIndiaOnyama Limba NEGOTIATION
Adams U FerenczSpainIvan Magalhaes QUALIFIED
Alejandro C DarakjyFranceOnyama Limba RENEWAL
Wickens A NestleRussiaIoni Bowcher QUALIFIED
Mayumi X KuskoArgentinaStephen Shaw NEW
Claire P PoquetteUnited KingdomAnna Fali RENEWAL
Octavia Y GarufiSpainAsiya Javayant NEGOTIATION
Maisha X FigeroaIndiaAnna Fali RENEWAL
Mujtaba N KuskoIndiaAsiya Javayant NEW
Adams K GarufiFranceXuxue Feng UNQUALIFIED
Octavia I WhobreyCanadaXuxue Feng NEGOTIATION
Deepesh Z BologniaItalyElwin Sharvill NEGOTIATION
Adams M WhobreyRussiaIvan Magalhaes RENEWAL
Leon G VocelkaUnited KingdomAnna Fali NEGOTIATION
Costa L GlickUnited KingdomStephen Shaw RENEWAL
Julie W ButtFranceAsiya Javayant UNQUALIFIED
Maria Y SlusarskiGermanyBernardo Dominic NEW
Izzy X DarakjyArgentinaAnna Fali NEGOTIATION
Aruna Y GillianGermanyAsiya Javayant RENEWAL
Murillo W GarufiJapanBernardo Dominic NEW
Salvatore X NickaItalyXuxue Feng UNQUALIFIED
Ivar H GlickItalyBernardo Dominic NEGOTIATION
Isabel S FlosiArgentinaAmy Elsner UNQUALIFIED
David D OldroydIndiaBernardo Dominic NEW
Aika X DarakjyUnited KingdomElwin Sharvill NEGOTIATION
Wickens J GarufiUnited KingdomAnna Fali NEGOTIATION
Leon L MacleadItalyIvan Magalhaes NEGOTIATION
Maisha I NickaIndiaAsiya Javayant QUALIFIED
Julie M BologniaCanadaElwin Sharvill NEW
Antonio H GlickFranceBernardo Dominic QUALIFIED
Aika B RoysterCanadaXuxue Feng PROPOSAL
Chavez H CaldareraFranceIoni Bowcher NEW
Jennifer O StockhamFranceAsiya Javayant RENEWAL
Deepesh U AmigonGermanyIvan Magalhaes NEGOTIATION
Aruna T StensethGermanyIoni Bowcher PROPOSAL
Deepesh F FlosiJapanBernardo Dominic PROPOSAL
Jennifer T SchemmerRussiaBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Munro I TollnerGermanyAsiya Javayant QUALIFIED
Julie U RulapaughSpainStephen Shaw UNQUALIFIED
Isabel D OstroskyGermanyIvan Magalhaes NEW
Maisha K MaletAustraliaIoni Bowcher QUALIFIED
Ivar C MorascaRussiaAnna Fali RENEWAL
Tony E FollerItalyStephen Shaw NEGOTIATION
Aditya G WaycottIndiaIvan Magalhaes NEW
Aditya J FollerCanadaAsiya Javayant NEGOTIATION
Leon G IturbideRussiaAsiya Javayant UNQUALIFIED
Jefferson V GillianArgentinaAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya N MaletIndia2024-06-21Dorl, James J Esq NEGOTIATION61Stephen Shaw
1001Francesco I AlbaresJapan2024-06-17Truhlar And Truhlar Attys PROPOSAL52Ivan Magalhaes
1002Jones K PoquetteIndia2024-05-30Benton, John B Jr NEW72Asiya Javayant
1003Cody B PoquetteUnited Kingdom2024-06-19Truhlar And Truhlar Attys RENEWAL62Elwin Sharvill
1004Darci N VocelkaArgentina2024-05-26Commercial Press QUALIFIED88Elwin Sharvill
1005Chavez Y AmigonAustralia2024-05-26Chemel, James L Cpa QUALIFIED6Amy Elsner
1006David R ChuiJapan2024-06-03Feltz Printing Service UNQUALIFIED49Anna Fali
1007Arvin O MaletIndia2024-06-24Buckley Miller Wright QUALIFIED62Onyama Limba
1008Leja N InouyeCanada2024-06-13Morlong Associates PROPOSAL90Anna Fali
1009Johnson U BriddickCanada2024-06-10Feiner Bros QUALIFIED93Amy Elsner
1010Antonio R DilliardItaly2024-06-24Chemel, James L Cpa UNQUALIFIED45Onyama Limba
1011Jones A FollerSpain2024-06-02Chanay, Jeffrey A Esq PROPOSAL49Asiya Javayant
1012Cody X RulapaughSpain2024-06-17Chapman, Ross E Esq UNQUALIFIED14Ioni Bowcher
1013Salvatore I RimSpain2024-06-15Chapman, Ross E Esq QUALIFIED28Xuxue Feng
1014Mujtaba F PoquetteCanada2024-06-17Feltz Printing Service NEGOTIATION72Ivan Magalhaes
1015Darci T SaylorsArgentina2024-06-18Benton, John B Jr NEGOTIATION23Stephen Shaw
1016Silvio B FigeroaRussia2024-06-18Commercial Press UNQUALIFIED17Anna Fali
1017Tony G SchemmerBrazil2024-06-16Chanay, Jeffrey A Esq NEGOTIATION37Elwin Sharvill
1018Kadeem C TollnerItaly2024-06-08Chanay, Jeffrey A Esq PROPOSAL15Bernardo Dominic
1019Emily S VocelkaUnited Kingdom2024-06-01Rousseaux, Michael Esq QUALIFIED90Xuxue Feng
1020Johnson B OstroskyBrazil2024-05-31Chapman, Ross E Esq NEGOTIATION64Ivan Magalhaes
1021Jennifer J DarakjyAustralia2024-06-16Feiner Bros NEW60Asiya Javayant
1022Maisha S PaprockiFrance2024-06-01Benton, John B Jr QUALIFIED62Stephen Shaw
1023Silvio L ShinkoBrazil2024-05-27Chapman, Ross E Esq NEGOTIATION97Ioni Bowcher
1024Mayumi J CaudyArgentina2024-06-09Benton, John B Jr PROPOSAL31Onyama Limba
1025Maria J SchemmerFrance2024-06-06Truhlar And Truhlar Attys UNQUALIFIED58Bernardo Dominic
1026Smith V CaldareraSpain2024-06-03King, Christopher A Esq NEW44Anna Fali
1027Ivar A BowleyFrance2024-06-01Dorl, James J Esq NEGOTIATION21Elwin Sharvill
1028Johnson N KuskoIndia2024-06-18Feltz Printing Service NEW32Asiya Javayant
1029Leon I SergiArgentina2024-06-06Commercial Press NEGOTIATION42Asiya Javayant
1030Costa B AmigonSpain2024-06-13Morlong Associates NEGOTIATION67Onyama Limba
1031Jones W FlosiArgentina2024-05-26King, Christopher A Esq UNQUALIFIED20Xuxue Feng
1032Tony R FollerSpain2024-06-20Truhlar And Truhlar Attys QUALIFIED77Onyama Limba
1033Francesco P InouyeJapan2024-06-10Benton, John B Jr NEGOTIATION20Stephen Shaw
1034Francesco L AlbaresSpain2024-06-17Rangoni Of Florence NEW25Bernardo Dominic
1035Costa W GlickRussia2024-06-01Chanay, Jeffrey A Esq NEW56Asiya Javayant
1036Emily D MarrierSpain2024-06-05Benton, John B Jr RENEWAL37Bernardo Dominic
1037Mujtaba O StockhamFrance2024-06-20Rangoni Of Florence UNQUALIFIED19Elwin Sharvill
1038Mujtaba P RulapaughUnited Kingdom2024-06-24Truhlar And Truhlar Attys UNQUALIFIED12Stephen Shaw
1039Arvin Y TollnerRussia2024-06-03Chemel, James L Cpa UNQUALIFIED4Stephen Shaw
1040Ivar Y TollnerCanada2024-06-18Feiner Bros NEGOTIATION20Anna Fali
1041Jones X SergiGermany2024-05-27Feltz Printing Service UNQUALIFIED96Amy Elsner
1042Maisha S SchemmerSpain2024-06-05Truhlar And Truhlar Attys PROPOSAL20Ioni Bowcher
1043Adams U MaletRussia2024-06-13Chanay, Jeffrey A Esq RENEWAL30Onyama Limba
1044Cody O ButtFrance2024-05-31Feltz Printing Service NEW6Stephen Shaw
1045Jennifer T FigeroaArgentina2024-05-27Buckley Miller Wright NEW58Stephen Shaw
1046Kaitlin C StockhamItaly2024-05-28Chanay, Jeffrey A Esq NEW5Ioni Bowcher
1047Cody X BowleyCanada2024-06-13Feiner Bros NEGOTIATION7Bernardo Dominic
1048Costa J CaudyAustralia2024-06-09Dorl, James J Esq PROPOSAL92Amy Elsner
1049Adams R SaylorsBrazil2024-06-14Chanay, Jeffrey A Esq QUALIFIED57Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Ricardo X ChuiGermanyAmy Elsner UNQUALIFIED
David U GarufiUnited KingdomAnna Fali QUALIFIED
Kadeem X MacleadJapanIoni Bowcher UNQUALIFIED
Maria K GarufiItalyOnyama Limba UNQUALIFIED
Wickens I SergiJapanAnna Fali NEW
Wickens D RimFranceAnna Fali PROPOSAL
Chavez L MarrierArgentinaElwin Sharvill NEGOTIATION
Isabel L MarrierSpainElwin Sharvill NEGOTIATION
Sinclair D InouyeFranceBernardo Dominic NEW
Morrow E InouyeArgentinaElwin Sharvill NEGOTIATION
Greenwood J FigeroaGermanyOnyama Limba NEW
Silvio I BologniaJapanAsiya Javayant QUALIFIED
Arvin E OldroydItalyIoni Bowcher QUALIFIED
Wickens O CaldareraBrazilAnna Fali QUALIFIED
Ricardo V SchemmerRussiaIvan Magalhaes UNQUALIFIED
Deepesh N PoquetteJapanIoni Bowcher PROPOSAL
Izzy J GauchoRussiaXuxue Feng PROPOSAL
Maisha C PoquetteGermanyIvan Magalhaes NEW
Kaitlin Y FlosiJapanIoni Bowcher PROPOSAL
Francesco P KuskoBrazilElwin Sharvill NEGOTIATION
Leja E OldroydSpainBernardo Dominic RENEWAL
Alejandro L RimFranceXuxue Feng RENEWAL
Arvin O AmigonFranceBernardo Dominic PROPOSAL
Kaitlin V TollnerBrazilAsiya Javayant NEW
Ashley L AlbaresBrazilAnna Fali PROPOSAL
Greenwood Q FigeroaJapanAnna Fali PROPOSAL
Jeanfrancois Y RulapaughBrazilBernardo Dominic UNQUALIFIED
Ricardo J IturbideUnited KingdomAsiya Javayant UNQUALIFIED
Aditya H NickaRussiaAsiya Javayant RENEWAL
Kadeem T GlickSpainIvan Magalhaes NEGOTIATION
Jones W OldroydItalyAnna Fali NEW
Izzy G OstroskySpainXuxue Feng RENEWAL
Ashley K CaudyAustraliaElwin Sharvill RENEWAL
Stacey I DilliardBrazilOnyama Limba PROPOSAL
Misaki O FerenczCanadaBernardo Dominic QUALIFIED
Ashley M CaldareraCanadaOnyama Limba QUALIFIED
Ashley F WaycottUnited KingdomAnna Fali RENEWAL
Aditya D PerinJapanXuxue Feng NEW
Isabel G TollnerAustraliaBernardo Dominic QUALIFIED
Stacey B CaudyArgentinaAmy Elsner NEW
Silvio G FigeroaUnited KingdomBernardo Dominic UNQUALIFIED
James O OldroydFranceIoni Bowcher PROPOSAL
Maria O DoeFranceBernardo Dominic RENEWAL
Kaitlin T KuskoAustraliaAsiya Javayant NEGOTIATION
James Y KuskoBrazilBernardo Dominic PROPOSAL
Greenwood D VocelkaRussiaBernardo Dominic NEW
Smith I WhobreyUnited KingdomAnna Fali NEW
Alejandro C WaycottUnited KingdomBernardo Dominic RENEWAL
Kadeem E WhobreyRussiaElwin Sharvill PROPOSAL
Johnson R OstroskyGermanyStephen Shaw UNQUALIFIED
Frozen Columns
Name
Misaki B Morasca
Kadeem G Garufi
Silvio J Vocelka
Adams E Maclead
Wickens S Flosi
Salvatore U Bowley
Nicolas O Saylors
Ivar W Bowley
Silvio L Kusko
Stacey E Marrier
Silvio Z Bolognia
Murillo M Bolognia
Francesco T Briddick
Cody Y Foller
Mayumi N Gaucho
Kadeem C Kusko
Francesco H Garufi
Aruna Y Campain
Antonio N Rim
Johnson Q Poquette
Ashley V Dilliard
Murillo X Ruta
Nicolas S Kolmetz
Faith M Oldroyd
Jennifer X Iturbide
Leja F Saylors
Murillo W Ostrosky
Ivar V Malet
Wickens L Vocelka
Chavez R Bowley
Octavia P Sergi
Johnson E Sergi
Francesco N Figeroa
Darci L Rulapaugh
David X Shinko
Silvio Y Ruta
Isabel T Kusko
Octavia U Rim
Ivar I Oldroyd
Ashley N Vocelka
Alejandro M Maclead
Clifford T Gillian
Julie A Caudy
Antonio T Inouye
Kadeem Z Dilliard
Sinclair K Royster
Juan X Dilliard
Cody I Kolmetz
Leon G Briddick
Silvio N Kusko
IdCountryDate
1000Germany2024-06-09
1001United Kingdom2024-06-19
1002Germany2024-06-14
1003Argentina2024-05-28
1004India2024-05-29
1005Germany2024-06-17
1006Canada2024-06-04
1007Canada2024-06-08
1008Japan2024-06-21
1009France2024-05-27
1010Canada2024-05-28
1011Australia2024-06-24
1012India2024-05-29
1013Italy2024-06-11
1014United Kingdom2024-06-02
1015France2024-06-21
1016Spain2024-06-09
1017United Kingdom2024-05-26
1018Brazil2024-06-01
1019Argentina2024-06-10
1020Italy2024-05-28
1021India2024-05-29
1022France2024-06-13
1023France2024-05-26
1024Russia2024-06-19
1025France2024-06-22
1026Italy2024-05-27
1027Japan2024-06-01
1028India2024-06-10
1029Germany2024-05-30
1030India2024-06-10
1031Argentina2024-05-28
1032Spain2024-06-20
1033United Kingdom2024-06-17
1034India2024-06-02
1035Italy2024-06-17
1036India2024-06-17
1037Japan2024-06-01
1038Argentina2024-06-24
1039France2024-06-14
1040Russia2024-06-22
1041Canada2024-06-12
1042India2024-06-14
1043Australia2024-06-24
1044Japan2024-06-08
1045Italy2024-06-05
1046Argentina2024-06-02
1047Japan2024-05-27
1048Argentina2024-06-12
1049United Kingdom2024-05-29

On-Demand Data

NameIdCountryDate
Octavia O Bolognia1000Spain2024-06-12
Munro P Garufi1001Canada2024-05-27
Antonio S Morasca1002Japan2024-06-07
Octavia N Kolmetz1003Argentina2024-06-15
Misaki M Ferencz1004Canada2024-06-09
Aika D Saylors1005Russia2024-06-16
Salvatore O Bolognia1006Russia2024-06-10
Aika S Royster1007Australia2024-06-03
Aika O Rim1008France2024-05-27
Tony T Saylors1009Australia2024-06-24
Emily U Shinko1010Canada2024-06-10
Alejandro P Shinko1011Spain2024-06-19
Morrow I Doe1012Argentina2024-05-31
Ivar I Maclead1013Australia2024-05-28
Tony Y Kusko1014Germany2024-06-21
Claire L Stenseth1015Canada2024-05-27
Octavia Z Darakjy1016Brazil2024-06-11
Emily L Malet1017Australia2024-06-08
Jones L Malet1018Canada2024-06-13
Nicolas L Ostrosky1019Brazil2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa U SaylorsIndiaIoni Bowcher NEW
Johnson U DarakjyAustraliaIoni Bowcher RENEWAL
Octavia G MaletAustraliaAmy Elsner NEW
Julie X SaylorsItalyIoni Bowcher PROPOSAL
Silvio X NestleItalyOnyama Limba UNQUALIFIED
Aruna F MaletRussiaXuxue Feng RENEWAL
Mujtaba K SaylorsAustraliaElwin Sharvill NEGOTIATION
Leon J GillianBrazilOnyama Limba PROPOSAL
Greenwood T DilliardArgentinaElwin Sharvill QUALIFIED
Smith O ChuiIndiaXuxue Feng UNQUALIFIED
Isabel H VenereIndiaBernardo Dominic PROPOSAL
Misaki U ButtSpainAmy Elsner QUALIFIED
Deepesh J SlusarskiIndiaStephen Shaw NEGOTIATION
Emily T InouyeGermanyOnyama Limba NEGOTIATION
Deepesh R SlusarskiArgentinaIoni Bowcher UNQUALIFIED
Jones V MorascaCanadaElwin Sharvill UNQUALIFIED
Salvatore J CampainBrazilBernardo Dominic NEW
Kaitlin P DilliardJapanXuxue Feng PROPOSAL
David E VenereGermanyAsiya Javayant RENEWAL
Mujtaba O VocelkaUnited KingdomBernardo Dominic PROPOSAL
Isabel I MorascaUnited KingdomAnna Fali NEGOTIATION
Misaki X CaudyGermanyStephen Shaw PROPOSAL
Stacey S PoquetteAustraliaOnyama Limba NEGOTIATION
Francesco Y NickaCanadaAnna Fali QUALIFIED
Clifford N GlickSpainElwin Sharvill NEW
Aika V DilliardItalyIvan Magalhaes RENEWAL
Deepesh N FlosiCanadaAmy Elsner RENEWAL
Stacey W PaprockiJapanStephen Shaw UNQUALIFIED
Sinclair K KuskoSpainStephen Shaw NEGOTIATION
Ricardo X OstroskyUnited KingdomAnna Fali RENEWAL
Francesco A GlickUnited KingdomIoni Bowcher UNQUALIFIED
Misaki Z DarakjyItalyBernardo Dominic RENEWAL
Rodrigues H BriddickSpainStephen Shaw UNQUALIFIED
Kaitlin W CampainSpainBernardo Dominic UNQUALIFIED
Jennifer N OldroydAustraliaOnyama Limba UNQUALIFIED
Jeanfrancois S VocelkaUnited KingdomOnyama Limba NEGOTIATION
Leja T DilliardJapanIvan Magalhaes UNQUALIFIED
Ivar E MacleadFranceXuxue Feng PROPOSAL
Antonio R CaudyBrazilAmy Elsner RENEWAL
Kaitlin N CampainIndiaElwin Sharvill 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>