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
Francesco H DoeIndiaXuxue Feng NEW
Ricardo Q ChuiAustraliaAnna Fali RENEWAL
Deepesh A DilliardJapanIoni Bowcher NEGOTIATION
Stacey G MaletArgentinaAnna Fali NEGOTIATION
Darci I SergiSpainElwin Sharvill NEW
Claire C AlbaresItalyAmy Elsner NEGOTIATION
Morrow W DoeJapanIoni Bowcher NEGOTIATION
Jeanfrancois C SchemmerAustraliaElwin Sharvill NEGOTIATION
Maisha M OldroydBrazilAnna Fali NEGOTIATION
Maria B PerinItalyAnna Fali QUALIFIED
Munro X NestleBrazilAmy Elsner NEW
Jones Y FigeroaGermanyIvan Magalhaes QUALIFIED
Izzy P FlosiFranceIvan Magalhaes QUALIFIED
Smith M BowleyIndiaStephen Shaw QUALIFIED
Cody L NickaUnited KingdomXuxue Feng PROPOSAL
Smith B OstroskyItalyIoni Bowcher QUALIFIED
Wickens Y BowleyJapanXuxue Feng PROPOSAL
Ivar D SergiJapanIoni Bowcher NEGOTIATION
James R DarakjyIndiaAnna Fali RENEWAL
Octavia M VocelkaCanadaAsiya Javayant PROPOSAL
Chavez E MacleadJapanIvan Magalhaes PROPOSAL
David O IturbideGermanyIvan Magalhaes PROPOSAL
Arvin U InouyeArgentinaElwin Sharvill NEGOTIATION
Rodrigues C KolmetzRussiaXuxue Feng PROPOSAL
Nicolas A GauchoArgentinaBernardo Dominic QUALIFIED
Morrow Y IturbideFranceAsiya Javayant PROPOSAL
Darci M SlusarskiIndiaAnna Fali UNQUALIFIED
Julie F WhobreyRussiaStephen Shaw PROPOSAL
Jennifer U ShinkoAustraliaIvan Magalhaes RENEWAL
Claire X CaldareraArgentinaOnyama Limba NEW
Jefferson W AlbaresJapanXuxue Feng UNQUALIFIED
Ricardo Q MacleadBrazilAmy Elsner NEW
Octavia A RoysterGermanyBernardo Dominic RENEWAL
Ashley Z OstroskyIndiaBernardo Dominic PROPOSAL
Jefferson R GarufiGermanyIvan Magalhaes PROPOSAL
Aditya B IturbideIndiaAnna Fali QUALIFIED
Ashley Y OstroskyJapanStephen Shaw RENEWAL
Jones U DoeGermanyOnyama Limba NEGOTIATION
Mayumi N RulapaughCanadaXuxue Feng NEGOTIATION
Jefferson F VenereJapanAsiya Javayant NEGOTIATION
Darci V ShinkoItalyOnyama Limba NEGOTIATION
Aruna H GillianUnited KingdomBernardo Dominic RENEWAL
Wickens G CampainFranceStephen Shaw RENEWAL
Nicolas T SaylorsAustraliaOnyama Limba NEW
Maria H SergiSpainOnyama Limba UNQUALIFIED
Ricardo B CaldareraGermanyIoni Bowcher NEGOTIATION
David N KuskoRussiaAsiya Javayant UNQUALIFIED
Adams U RimArgentinaIvan Magalhaes NEGOTIATION
Aika C DilliardIndiaAsiya Javayant NEGOTIATION
Arvin E TollnerAustraliaElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Morrow L BriddickCanadaElwin Sharvill PROPOSAL
Nicolas P SaylorsAustraliaAmy Elsner RENEWAL
Juan J StensethBrazilElwin Sharvill NEW
Ashley Y RoysterRussiaBernardo Dominic NEW
Nicolas P CampainBrazilIoni Bowcher RENEWAL
Silvio S WhobreyFranceAmy Elsner NEGOTIATION
Smith P FerenczRussiaAmy Elsner NEGOTIATION
Kaitlin C CampainFranceAsiya Javayant NEGOTIATION
Julie L IturbideAustraliaAnna Fali RENEWAL
Smith J RutaGermanyElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy Y PaprockiGermany2024-06-10Printing Dimensions PROPOSAL84Asiya Javayant
1001Isabel C InouyeAustralia2024-06-13Morlong Associates RENEWAL8Amy Elsner
1002Octavia F InouyeFrance2024-06-13Truhlar And Truhlar Attys NEW38Ioni Bowcher
1003Misaki S ChuiCanada2024-05-25Buckley Miller Wright UNQUALIFIED57Onyama Limba
1004Deepesh J OldroydCanada2024-06-09Dorl, James J Esq QUALIFIED38Ioni Bowcher
1005Aruna Q ShinkoRussia2024-06-11Truhlar And Truhlar Attys QUALIFIED42Amy Elsner
1006Ashley O IturbideBrazil2024-05-30Truhlar And Truhlar Attys NEGOTIATION65Ivan Magalhaes
1007Jones W AlbaresJapan2024-05-28Rousseaux, Michael Esq QUALIFIED51Amy Elsner
1008Faith O BriddickSpain2024-06-21Feiner Bros UNQUALIFIED72Asiya Javayant
1009Ashley Y PaprockiGermany2024-06-12Feiner Bros NEGOTIATION0Ioni Bowcher
1010Jefferson Y GarufiJapan2024-06-16Chemel, James L Cpa RENEWAL61Elwin Sharvill
1011Chavez O RimItaly2024-06-06Buckley Miller Wright NEGOTIATION99Onyama Limba
1012Isabel X SergiAustralia2024-06-10Chemel, James L Cpa NEW58Amy Elsner
1013Alejandro B WhobreyFrance2024-05-31Chemel, James L Cpa PROPOSAL48Xuxue Feng
1014Faith S CaudyArgentina2024-06-19Buckley Miller Wright NEGOTIATION27Asiya Javayant
1015Jefferson V VocelkaAustralia2024-05-28Printing Dimensions UNQUALIFIED17Elwin Sharvill
1016Aruna O FollerJapan2024-06-16Chapman, Ross E Esq UNQUALIFIED61Onyama Limba
1017Juan K WieserJapan2024-06-13Dorl, James J Esq PROPOSAL53Amy Elsner
1018Jeanfrancois T KolmetzUnited Kingdom2024-06-18Chemel, James L Cpa QUALIFIED25Ioni Bowcher
1019Clifford N GillianUnited Kingdom2024-06-11Rousseaux, Michael Esq NEW47Ioni Bowcher
1020Silvio H SchemmerFrance2024-06-06Commercial Press RENEWAL2Amy Elsner
1021Faith G DarakjyRussia2024-06-06Morlong Associates NEGOTIATION64Elwin Sharvill
1022Silvio S RulapaughBrazil2024-06-18King, Christopher A Esq PROPOSAL22Stephen Shaw
1023Juan V StensethBrazil2024-06-05King, Christopher A Esq UNQUALIFIED75Onyama Limba
1024Adams D RoysterJapan2024-05-25Chemel, James L Cpa RENEWAL94Anna Fali
1025Arvin U BriddickSpain2024-06-05Chemel, James L Cpa UNQUALIFIED74Onyama Limba
1026Smith I CaudyJapan2024-06-21Benton, John B Jr UNQUALIFIED80Bernardo Dominic
1027Ricardo R CaudyCanada2024-06-15Dorl, James J Esq PROPOSAL83Elwin Sharvill
1028Tony A GarufiUnited Kingdom2024-06-14Feltz Printing Service NEGOTIATION55Ivan Magalhaes
1029Morrow Z DarakjyCanada2024-06-15Morlong Associates PROPOSAL87Asiya Javayant
1030Ricardo A SergiIndia2024-06-15Dorl, James J Esq NEGOTIATION99Anna Fali
1031Deepesh H CaudyRussia2024-06-10Chanay, Jeffrey A Esq UNQUALIFIED90Ioni Bowcher
1032Aika F PerinBrazil2024-05-27Morlong Associates PROPOSAL14Stephen Shaw
1033Munro E PerinAustralia2024-06-18Truhlar And Truhlar Attys QUALIFIED9Onyama Limba
1034Costa A SchemmerFrance2024-05-29Buckley Miller Wright UNQUALIFIED61Xuxue Feng
1035Francesco A BowleyArgentina2024-06-21Feiner Bros RENEWAL93Elwin Sharvill
1036Ashley J MarrierIndia2024-06-16Feiner Bros QUALIFIED72Ivan Magalhaes
1037Johnson N PerinFrance2024-06-16Printing Dimensions QUALIFIED81Xuxue Feng
1038Sinclair V VenereGermany2024-06-19Buckley Miller Wright NEW56Bernardo Dominic
1039David T DoeRussia2024-06-04Chanay, Jeffrey A Esq PROPOSAL78Anna Fali
1040James L MarrierJapan2024-06-17Chemel, James L Cpa PROPOSAL71Onyama Limba
1041Rodrigues F AlbaresCanada2024-06-18Truhlar And Truhlar Attys QUALIFIED92Amy Elsner
1042Maria D OldroydRussia2024-06-14King, Christopher A Esq NEW11Asiya Javayant
1043Munro Q MarrierArgentina2024-05-26Rousseaux, Michael Esq NEGOTIATION39Stephen Shaw
1044Antonio D SergiGermany2024-06-05Rangoni Of Florence UNQUALIFIED68Bernardo Dominic
1045Emily G PaprockiBrazil2024-05-29Rousseaux, Michael Esq NEW36Stephen Shaw
1046Ricardo P RulapaughRussia2024-06-14Chapman, Ross E Esq RENEWAL82Asiya Javayant
1047Aditya H IturbideRussia2024-06-18Benton, John B Jr PROPOSAL42Xuxue Feng
1048Juan O RutaBrazil2024-06-09Commercial Press NEW35Ioni Bowcher
1049Murillo T DarakjyIndia2024-06-05Rousseaux, Michael Esq QUALIFIED33Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Maria I WhobreyJapanIvan Magalhaes RENEWAL
Tony P RutaJapanBernardo Dominic UNQUALIFIED
Ivar X SaylorsAustraliaXuxue Feng NEGOTIATION
Munro B BologniaAustraliaStephen Shaw PROPOSAL
Aditya B NestleAustraliaAnna Fali NEGOTIATION
James N GarufiGermanyBernardo Dominic NEGOTIATION
Aditya X VocelkaCanadaElwin Sharvill NEGOTIATION
Nicolas Q IturbideGermanyAsiya Javayant PROPOSAL
Silvio M PoquetteBrazilAnna Fali NEGOTIATION
Nicolas Q CaldareraJapanAsiya Javayant PROPOSAL
David L DoeArgentinaOnyama Limba QUALIFIED
Maisha J DoeRussiaBernardo Dominic NEW
Costa S MaletBrazilAmy Elsner PROPOSAL
Morrow Z TollnerGermanyBernardo Dominic RENEWAL
Rodrigues O GauchoFranceAnna Fali UNQUALIFIED
Chavez Y PerinJapanStephen Shaw PROPOSAL
Isabel N SlusarskiFranceBernardo Dominic RENEWAL
Aditya W DilliardGermanyXuxue Feng NEGOTIATION
Costa T ChuiIndiaIvan Magalhaes NEGOTIATION
Rodrigues C SergiBrazilAmy Elsner UNQUALIFIED
Jones Y CampainBrazilStephen Shaw NEGOTIATION
Ashley K ShinkoCanadaAsiya Javayant NEW
Ivar S WieserFranceIvan Magalhaes RENEWAL
James S KuskoSpainAnna Fali NEW
Adams F PaprockiBrazilOnyama Limba NEGOTIATION
Jefferson J FigeroaGermanyXuxue Feng UNQUALIFIED
Sinclair I StensethRussiaAnna Fali RENEWAL
Aika C TollnerGermanyIvan Magalhaes UNQUALIFIED
Kadeem D CaldareraIndiaBernardo Dominic NEW
Costa F PerinCanadaXuxue Feng NEGOTIATION
Claire T RutaArgentinaIoni Bowcher NEW
Johnson D PerinIndiaAnna Fali NEW
Arvin E PerinIndiaStephen Shaw NEW
Ashley I WieserIndiaElwin Sharvill NEW
Jefferson U RutaSpainIoni Bowcher NEW
David E TollnerSpainAsiya Javayant UNQUALIFIED
Octavia J RulapaughUnited KingdomElwin Sharvill PROPOSAL
Alejandro E PaprockiAustraliaBernardo Dominic NEW
James A SaylorsAustraliaIoni Bowcher NEGOTIATION
Aika V NickaBrazilAmy Elsner QUALIFIED
Faith Q MaletUnited KingdomBernardo Dominic PROPOSAL
Nicolas Q StensethFranceAnna Fali UNQUALIFIED
Isabel S AmigonFranceIvan Magalhaes QUALIFIED
Isabel Y SaylorsArgentinaAsiya Javayant RENEWAL
Kadeem A KolmetzJapanOnyama Limba NEGOTIATION
Greenwood W VocelkaSpainIoni Bowcher RENEWAL
Stacey W RutaCanadaIoni Bowcher UNQUALIFIED
Emily W SlusarskiRussiaStephen Shaw RENEWAL
Salvatore S KolmetzCanadaStephen Shaw QUALIFIED
Morrow G DoeAustraliaStephen Shaw RENEWAL
Frozen Columns
Name
Johnson M Chui
Aditya C Butt
Leja B Glick
Mujtaba D Figeroa
Wickens E Garufi
Mujtaba D Morasca
Aditya C Iturbide
Smith F Ruta
Mujtaba Y Caudy
Julie F Albares
Sinclair W Whobrey
Izzy A Paprocki
Misaki F Amigon
Jeanfrancois R Ferencz
Adams Y Marrier
Leon L Inouye
Maisha P Garufi
Jones K Caudy
Octavia W Vocelka
David G Kusko
Julie R Waycott
Misaki Q Perin
Jefferson A Foller
Juan X Albares
Arvin R Poquette
Sinclair V Schemmer
Jones F Amigon
Octavia E Butt
Aika P Maclead
Julie Q Royster
Faith T Poquette
Aditya I Garufi
Nicolas J Stockham
David H Stenseth
Stacey X Tollner
Aika F Ostrosky
Mujtaba N Tollner
Morrow P Stenseth
Ricardo W Morasca
Salvatore E Chui
Sinclair K Inouye
Misaki B Kolmetz
Ricardo V Venere
Ashley D Paprocki
Johnson Y Glick
Claire F Oldroyd
Francesco J Wieser
Smith G Dilliard
Aditya E Inouye
Leon D Glick
IdCountryDate
1000India2024-06-06
1001Canada2024-06-03
1002Russia2024-05-27
1003United Kingdom2024-06-04
1004Japan2024-06-08
1005Canada2024-05-29
1006India2024-05-27
1007Italy2024-06-09
1008France2024-05-26
1009Brazil2024-05-31
1010Russia2024-06-07
1011Australia2024-06-01
1012Brazil2024-06-20
1013Germany2024-06-12
1014United Kingdom2024-06-12
1015Russia2024-06-09
1016India2024-06-11
1017France2024-06-12
1018Germany2024-06-02
1019Russia2024-05-25
1020Canada2024-06-04
1021Australia2024-06-23
1022Germany2024-06-07
1023Japan2024-06-23
1024Spain2024-05-31
1025Australia2024-06-10
1026Russia2024-05-26
1027Argentina2024-06-14
1028Russia2024-06-07
1029Australia2024-06-03
1030Canada2024-06-07
1031Russia2024-06-19
1032France2024-06-21
1033Canada2024-06-17
1034France2024-05-25
1035Italy2024-06-11
1036India2024-06-06
1037Italy2024-06-18
1038Germany2024-06-13
1039Japan2024-06-19
1040Canada2024-06-20
1041Australia2024-06-03
1042Argentina2024-06-02
1043Brazil2024-05-30
1044France2024-06-12
1045Japan2024-06-02
1046Spain2024-06-17
1047Russia2024-06-21
1048Italy2024-06-10
1049Russia2024-06-09

On-Demand Data

NameIdCountryDate
Jeanfrancois S Nestle1000Australia2024-06-02
Rodrigues W Gillian1001Brazil2024-06-01
Emily O Campain1002Germany2024-06-08
Antonio E Rulapaugh1003Japan2024-06-04
Julie X Stenseth1004Australia2024-06-07
Adams N Royster1005Argentina2024-05-27
Jones S Dilliard1006Russia2024-06-13
Chavez V Flosi1007Germany2024-06-22
Smith Y Perin1008France2024-05-31
Aika R Saylors1009India2024-06-05
Salvatore J Dilliard1010Australia2024-06-08
Clifford S Albares1011Japan2024-06-02
Octavia I Bolognia1012United Kingdom2024-06-04
Kaitlin B Waycott1013Spain2024-05-30
Maria Y Garufi1014France2024-06-13
David G Butt1015Russia2024-05-30
Juan Z Saylors1016United Kingdom2024-06-23
Jefferson S Figeroa1017Japan2024-06-18
Johnson M Royster1018Brazil2024-06-15
Morrow P Marrier1019Japan2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson C NickaGermanyAmy Elsner PROPOSAL
Clifford O FlosiIndiaXuxue Feng QUALIFIED
Rodrigues E PaprockiBrazilIoni Bowcher NEW
Aika C KuskoItalyAsiya Javayant NEGOTIATION
Rodrigues P CampainItalyXuxue Feng PROPOSAL
Alejandro H FerenczIndiaIoni Bowcher UNQUALIFIED
Nicolas K IturbideGermanyXuxue Feng NEW
Emily R RulapaughGermanyStephen Shaw UNQUALIFIED
Wickens L CaldareraUnited KingdomElwin Sharvill NEW
Kaitlin I SchemmerSpainStephen Shaw NEGOTIATION
Ivar G FollerArgentinaXuxue Feng QUALIFIED
Rodrigues M MacleadIndiaIvan Magalhaes RENEWAL
Darci G MorascaRussiaXuxue Feng NEGOTIATION
Alejandro O StockhamArgentinaXuxue Feng RENEWAL
Clifford A SchemmerItalyOnyama Limba NEGOTIATION
Misaki X MarrierSpainIvan Magalhaes RENEWAL
Julie M SergiArgentinaIvan Magalhaes PROPOSAL
Emily Z RulapaughRussiaIvan Magalhaes UNQUALIFIED
Francesco O BowleyBrazilOnyama Limba NEW
Morrow U SaylorsCanadaAsiya Javayant NEW
Deepesh F GillianItalyIvan Magalhaes NEW
Isabel E SlusarskiAustraliaAnna Fali PROPOSAL
Chavez F WieserGermanyStephen Shaw NEW
Leon J FlosiAustraliaIoni Bowcher NEW
Jennifer Z SlusarskiItalyIoni Bowcher QUALIFIED
Nicolas Y ButtBrazilAmy Elsner QUALIFIED
Silvio C VocelkaJapanElwin Sharvill NEW
Murillo W MorascaRussiaAsiya Javayant PROPOSAL
Costa Y RutaItalyAmy Elsner QUALIFIED
David P GarufiRussiaAsiya Javayant NEGOTIATION
Julie D DilliardJapanOnyama Limba NEW
Wickens H BowleyAustraliaOnyama Limba RENEWAL
Juan W GlickIndiaIoni Bowcher RENEWAL
Octavia V GlickRussiaXuxue Feng RENEWAL
Kadeem T DilliardArgentinaAsiya Javayant PROPOSAL
Chavez M ChuiIndiaBernardo Dominic QUALIFIED
Kaitlin S NestleArgentinaBernardo Dominic UNQUALIFIED
Wickens B PerinCanadaXuxue Feng UNQUALIFIED
Tony M PerinIndiaBernardo Dominic NEW
David W DoeItalyXuxue Feng 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>