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
Sinclair J OstroskyFranceIvan Magalhaes UNQUALIFIED
Jeanfrancois B MaletIndiaAnna Fali PROPOSAL
Deepesh V SaylorsUnited KingdomIoni Bowcher PROPOSAL
Ivar C MaletSpainOnyama Limba UNQUALIFIED
Aika J WhobreyFranceBernardo Dominic NEW
Johnson U RutaCanadaAmy Elsner NEGOTIATION
Leja E VenereSpainIoni Bowcher NEW
Aika Q KolmetzIndiaAnna Fali UNQUALIFIED
Mujtaba Z SaylorsJapanOnyama Limba UNQUALIFIED
Aika O WaycottUnited KingdomElwin Sharvill NEGOTIATION
Jefferson X BowleyCanadaStephen Shaw RENEWAL
James L SergiItalyAsiya Javayant UNQUALIFIED
Aruna W KuskoJapanAnna Fali NEW
Jones T FerenczCanadaAsiya Javayant NEW
Arvin P DilliardUnited KingdomBernardo Dominic RENEWAL
Clifford H MaletArgentinaBernardo Dominic RENEWAL
Darci M CaldareraCanadaAsiya Javayant RENEWAL
Jennifer B WhobreyBrazilIoni Bowcher QUALIFIED
Aruna R ShinkoCanadaOnyama Limba NEW
Salvatore K KuskoCanadaOnyama Limba PROPOSAL
Sinclair P PerinAustraliaAmy Elsner PROPOSAL
Adams N KolmetzFranceElwin Sharvill QUALIFIED
Silvio V WaycottArgentinaAsiya Javayant PROPOSAL
Smith A MorascaSpainOnyama Limba NEW
Munro Y GarufiJapanOnyama Limba UNQUALIFIED
Nicolas U NickaIndiaElwin Sharvill QUALIFIED
Morrow R GarufiJapanElwin Sharvill QUALIFIED
Munro A DarakjyFranceBernardo Dominic NEW
Rodrigues M SaylorsAustraliaElwin Sharvill NEGOTIATION
Munro U MaletItalyAsiya Javayant PROPOSAL
David P StensethUnited KingdomAnna Fali RENEWAL
Greenwood P VenereAustraliaAsiya Javayant RENEWAL
Nicolas Y ButtSpainAsiya Javayant RENEWAL
Adams C MorascaGermanyAnna Fali QUALIFIED
Julie W AmigonAustraliaOnyama Limba NEGOTIATION
Tony E KolmetzIndiaBernardo Dominic NEGOTIATION
Salvatore C OldroydUnited KingdomAnna Fali QUALIFIED
Greenwood H MaletGermanyIvan Magalhaes RENEWAL
James O NestleAustraliaAnna Fali RENEWAL
Izzy C SergiUnited KingdomAsiya Javayant NEW
Francesco H RutaAustraliaIoni Bowcher RENEWAL
Kaitlin P BologniaGermanyXuxue Feng RENEWAL
Murillo X FollerItalyIvan Magalhaes PROPOSAL
Aruna T OldroydFranceAnna Fali UNQUALIFIED
Kaitlin W StockhamJapanIvan Magalhaes PROPOSAL
Smith G AlbaresCanadaStephen Shaw PROPOSAL
Jones N MaletCanadaIoni Bowcher NEW
Nicolas C OldroydIndiaXuxue Feng NEW
Isabel E WhobreyUnited KingdomBernardo Dominic RENEWAL
Murillo L BriddickSpainStephen Shaw RENEWAL
Horizontal
NameCountryRepresentativeStatus
Greenwood N AlbaresJapanBernardo Dominic NEW
Silvio L BriddickIndiaIoni Bowcher UNQUALIFIED
Stacey H GarufiRussiaBernardo Dominic NEGOTIATION
Alejandro K VocelkaItalyAsiya Javayant UNQUALIFIED
Tony T FerenczJapanOnyama Limba RENEWAL
James O KolmetzJapanXuxue Feng NEGOTIATION
Rodrigues K MaletFranceElwin Sharvill RENEWAL
Leon W NestleJapanOnyama Limba QUALIFIED
Ricardo U MacleadCanadaAsiya Javayant QUALIFIED
Greenwood V AmigonBrazilAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey Q StockhamRussia2024-05-22Chemel, James L Cpa NEGOTIATION53Ivan Magalhaes
1001Leja J DarakjyFrance2024-05-30Chapman, Ross E Esq NEW48Onyama Limba
1002Aruna U NickaJapan2024-06-07Dorl, James J Esq NEW61Onyama Limba
1003Francesco S CaudyUnited Kingdom2024-06-03Feltz Printing Service RENEWAL25Ioni Bowcher
1004Adams R WieserAustralia2024-05-22Morlong Associates RENEWAL28Anna Fali
1005Johnson S GlickUnited Kingdom2024-05-30Truhlar And Truhlar Attys RENEWAL42Elwin Sharvill
1006Leon M AmigonBrazil2024-05-22Chemel, James L Cpa NEGOTIATION46Amy Elsner
1007Maria H TollnerSpain2024-05-20Feltz Printing Service PROPOSAL41Elwin Sharvill
1008Mayumi V RoysterJapan2024-05-29King, Christopher A Esq UNQUALIFIED98Ioni Bowcher
1009Adams U RoysterFrance2024-05-21Feiner Bros QUALIFIED13Bernardo Dominic
1010Aika I OstroskyCanada2024-05-26Benton, John B Jr NEGOTIATION77Ivan Magalhaes
1011Adams U BriddickIndia2024-06-11Chemel, James L Cpa QUALIFIED63Ivan Magalhaes
1012Ivar N ChuiItaly2024-06-10Dorl, James J Esq RENEWAL81Asiya Javayant
1013Aditya X KolmetzUnited Kingdom2024-06-16Truhlar And Truhlar Attys UNQUALIFIED12Stephen Shaw
1014Deepesh M SlusarskiItaly2024-06-16Feiner Bros NEGOTIATION86Asiya Javayant
1015James P SaylorsCanada2024-05-21Printing Dimensions NEGOTIATION78Anna Fali
1016Juan I CaldareraUnited Kingdom2024-05-28Feiner Bros QUALIFIED9Ioni Bowcher
1017Francesco S PaprockiGermany2024-06-07Rousseaux, Michael Esq QUALIFIED13Onyama Limba
1018Mayumi N MarrierUnited Kingdom2024-05-29Printing Dimensions UNQUALIFIED1Ivan Magalhaes
1019Kaitlin C DilliardJapan2024-05-27Feiner Bros NEGOTIATION11Ivan Magalhaes
1020Julie K GlickJapan2024-06-02Printing Dimensions NEGOTIATION93Asiya Javayant
1021Faith O OldroydItaly2024-05-21Chanay, Jeffrey A Esq PROPOSAL96Bernardo Dominic
1022Leon N MorascaAustralia2024-06-08Dorl, James J Esq PROPOSAL12Ivan Magalhaes
1023Ashley R GauchoCanada2024-06-15Chapman, Ross E Esq NEGOTIATION90Xuxue Feng
1024Arvin M PoquetteAustralia2024-06-05Commercial Press NEW26Stephen Shaw
1025Cody S GlickFrance2024-06-13Feiner Bros UNQUALIFIED70Anna Fali
1026Aruna P GarufiBrazil2024-06-04King, Christopher A Esq RENEWAL66Ioni Bowcher
1027Kaitlin F AmigonGermany2024-06-09Benton, John B Jr RENEWAL52Xuxue Feng
1028Faith Q OldroydSpain2024-05-20Rousseaux, Michael Esq QUALIFIED98Asiya Javayant
1029Adams V SergiBrazil2024-06-10Buckley Miller Wright RENEWAL15Asiya Javayant
1030Adams C AlbaresRussia2024-05-30Feiner Bros QUALIFIED43Asiya Javayant
1031Ivar K VenereCanada2024-06-11Feiner Bros NEGOTIATION79Xuxue Feng
1032Aruna A GillianItaly2024-06-05King, Christopher A Esq UNQUALIFIED23Elwin Sharvill
1033Costa D PaprockiCanada2024-06-09Benton, John B Jr NEW79Stephen Shaw
1034Misaki C IturbideAustralia2024-05-24Feiner Bros QUALIFIED70Anna Fali
1035Chavez I MorascaJapan2024-06-12Chemel, James L Cpa RENEWAL72Bernardo Dominic
1036Aditya J SaylorsFrance2024-05-22Chemel, James L Cpa QUALIFIED82Amy Elsner
1037Nicolas N RulapaughFrance2024-05-20Morlong Associates NEGOTIATION34Ioni Bowcher
1038Aika G AlbaresGermany2024-06-07King, Christopher A Esq NEW52Amy Elsner
1039Aika F WaycottItaly2024-06-13King, Christopher A Esq QUALIFIED39Amy Elsner
1040Arvin B StockhamFrance2024-06-05Commercial Press PROPOSAL27Elwin Sharvill
1041Faith W WaycottIndia2024-06-04Feltz Printing Service QUALIFIED21Elwin Sharvill
1042Jeanfrancois V GlickFrance2024-06-08Truhlar And Truhlar Attys PROPOSAL90Ioni Bowcher
1043Arvin P BologniaItaly2024-05-28Feltz Printing Service UNQUALIFIED88Ivan Magalhaes
1044Mayumi M MacleadUnited Kingdom2024-06-12Dorl, James J Esq RENEWAL65Ivan Magalhaes
1045Jennifer U BriddickJapan2024-06-16Truhlar And Truhlar Attys RENEWAL62Asiya Javayant
1046Darci I MaletFrance2024-06-08Commercial Press NEW5Xuxue Feng
1047Wickens K KuskoFrance2024-06-07Dorl, James J Esq RENEWAL88Bernardo Dominic
1048Alejandro K WieserCanada2024-05-25Chapman, Ross E Esq UNQUALIFIED73Xuxue Feng
1049Emily Z VenereCanada2024-06-01Rangoni Of Florence NEW37Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Kadeem A NestleAustraliaIoni Bowcher QUALIFIED
Rodrigues B NestleUnited KingdomElwin Sharvill PROPOSAL
Ivar C MaletArgentinaIoni Bowcher QUALIFIED
Maisha U KolmetzGermanyIoni Bowcher QUALIFIED
Francesco S KolmetzCanadaElwin Sharvill RENEWAL
Jeanfrancois Y RoysterJapanBernardo Dominic QUALIFIED
Aika D AlbaresUnited KingdomAmy Elsner PROPOSAL
Salvatore Q ChuiJapanOnyama Limba NEW
Maria N VocelkaGermanyStephen Shaw QUALIFIED
Faith F CaudySpainIoni Bowcher UNQUALIFIED
Jennifer F GarufiUnited KingdomIoni Bowcher QUALIFIED
Jennifer U AmigonJapanElwin Sharvill NEW
Tony K FigeroaCanadaAsiya Javayant NEGOTIATION
Mayumi Q NickaRussiaOnyama Limba PROPOSAL
Emily Z PerinArgentinaXuxue Feng UNQUALIFIED
Maisha P VocelkaBrazilStephen Shaw RENEWAL
Cody R StockhamSpainIvan Magalhaes UNQUALIFIED
Munro K WhobreyJapanAnna Fali QUALIFIED
Munro Z PoquetteGermanyStephen Shaw NEW
Maisha R OldroydArgentinaElwin Sharvill NEW
Jeanfrancois A ChuiArgentinaIvan Magalhaes NEGOTIATION
Rodrigues X FollerArgentinaXuxue Feng NEGOTIATION
Greenwood W AmigonAustraliaIoni Bowcher PROPOSAL
Smith C StockhamSpainAsiya Javayant PROPOSAL
Jennifer T CaudyCanadaElwin Sharvill NEW
Munro Z StensethJapanIoni Bowcher NEW
Juan J StensethItalyAmy Elsner PROPOSAL
Juan J RimItalyElwin Sharvill NEGOTIATION
Isabel I TollnerAustraliaIoni Bowcher NEW
Misaki Y FerenczFranceAmy Elsner RENEWAL
Adams I KuskoUnited KingdomAmy Elsner QUALIFIED
Faith T FlosiBrazilBernardo Dominic NEGOTIATION
Claire C SergiJapanBernardo Dominic QUALIFIED
Adams V BowleyItalyAnna Fali NEW
James D AmigonGermanyBernardo Dominic UNQUALIFIED
Aditya Z WaycottArgentinaAnna Fali PROPOSAL
Arvin S InouyeCanadaIoni Bowcher NEGOTIATION
Misaki F MarrierAustraliaStephen Shaw QUALIFIED
Mayumi T MaletGermanyAmy Elsner RENEWAL
Juan K ChuiCanadaStephen Shaw NEGOTIATION
Ivar V IturbideRussiaXuxue Feng UNQUALIFIED
Jefferson Y MaletBrazilBernardo Dominic NEGOTIATION
Emily K DilliardFranceStephen Shaw NEW
Leon N PaprockiSpainXuxue Feng UNQUALIFIED
Faith D DilliardCanadaAnna Fali RENEWAL
Ashley A FlosiUnited KingdomElwin Sharvill NEGOTIATION
Murillo A MaletSpainBernardo Dominic NEGOTIATION
Adams E DilliardItalyOnyama Limba PROPOSAL
Salvatore M GarufiSpainIvan Magalhaes NEW
Aruna C CaldareraArgentinaAmy Elsner NEW
Frozen Columns
Name
Octavia T Venere
Nicolas G Gaucho
Ashley W Vocelka
Maria G Malet
Aruna I Foller
Claire J Inouye
Leon U Nicka
Sinclair H Campain
Francesco F Iturbide
Maria B Waycott
Murillo G Slusarski
Stacey G Gaucho
Salvatore K Bolognia
Misaki Z Caudy
Silvio F Paprocki
Jefferson A Malet
James X Iturbide
Kaitlin W Figeroa
Isabel M Glick
Stacey T Slusarski
Alejandro O Marrier
Leon Q Foller
Alejandro D Stockham
Stacey B Shinko
James A Tollner
Ashley U Oldroyd
Johnson Q Vocelka
Wickens P Whobrey
Stacey P Royster
Ashley S Stenseth
Faith R Marrier
Mayumi B Ferencz
Aditya K Perin
Salvatore M Butt
Misaki F Amigon
Maria L Foller
Aruna A Iturbide
Jennifer S Maclead
Smith N Schemmer
Francesco E Figeroa
Maisha W Garufi
Costa U Marrier
Nicolas N Nicka
Octavia V Schemmer
Julie C Bolognia
Alejandro C Saylors
Deepesh Q Tollner
Darci R Stenseth
David E Tollner
Aditya P Maclead
IdCountryDate
1000Spain2024-06-18
1001India2024-05-30
1002Canada2024-05-20
1003Germany2024-05-20
1004India2024-05-31
1005France2024-05-31
1006United Kingdom2024-05-30
1007India2024-05-30
1008Argentina2024-06-10
1009Brazil2024-05-20
1010Spain2024-05-26
1011Japan2024-06-12
1012Spain2024-06-05
1013India2024-06-14
1014Japan2024-06-05
1015Japan2024-05-20
1016France2024-06-03
1017Brazil2024-05-26
1018Japan2024-05-25
1019Spain2024-05-20
1020Japan2024-06-06
1021Australia2024-06-09
1022Japan2024-06-18
1023Russia2024-06-06
1024Spain2024-06-11
1025Spain2024-06-02
1026United Kingdom2024-06-10
1027Canada2024-06-16
1028Germany2024-06-13
1029France2024-06-12
1030United Kingdom2024-05-31
1031Japan2024-06-15
1032Canada2024-05-22
1033Brazil2024-05-31
1034United Kingdom2024-06-10
1035India2024-06-06
1036Italy2024-06-18
1037Brazil2024-06-17
1038Brazil2024-06-16
1039Spain2024-06-08
1040Spain2024-05-31
1041Australia2024-06-18
1042Canada2024-06-13
1043Italy2024-06-05
1044Italy2024-06-14
1045Japan2024-05-31
1046Japan2024-05-26
1047Canada2024-05-22
1048United Kingdom2024-06-01
1049France2024-06-18

On-Demand Data

NameIdCountryDate
Costa V Ruta1000Australia2024-05-26
Leon R Doe1001India2024-05-22
Emily H Caudy1002India2024-06-10
Juan K Venere1003Spain2024-06-07
Chavez L Maclead1004Germany2024-05-26
Deepesh O Slusarski1005Russia2024-06-15
Jefferson C Shinko1006Canada2024-06-12
Aika J Perin1007Italy2024-06-13
Ricardo S Rim1008Canada2024-06-02
Tony U Waycott1009France2024-05-28
Ricardo N Ostrosky1010Russia2024-06-13
Nicolas P Glick1011Canada2024-05-21
Silvio M Malet1012Argentina2024-05-23
Rodrigues V Maclead1013Brazil2024-06-09
Claire X Ruta1014Argentina2024-06-12
Arvin B Perin1015Argentina2024-05-23
Kadeem E Gaucho1016Russia2024-05-29
Juan Z Bowley1017Germany2024-05-21
Octavia Z Venere1018Japan2024-06-09
Smith H Malet1019Argentina2024-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues Q IturbideCanadaXuxue Feng NEGOTIATION
Sinclair Q MacleadJapanStephen Shaw UNQUALIFIED
Izzy F PoquetteIndiaAsiya Javayant QUALIFIED
Izzy C BowleyFranceAsiya Javayant UNQUALIFIED
Francesco H FlosiBrazilAnna Fali NEGOTIATION
Jeanfrancois A RutaSpainAnna Fali PROPOSAL
Silvio P GauchoJapanAsiya Javayant RENEWAL
David M GillianJapanElwin Sharvill PROPOSAL
Ricardo H ButtJapanAsiya Javayant PROPOSAL
Claire E GillianUnited KingdomIvan Magalhaes NEGOTIATION
Emily B RoysterCanadaIvan Magalhaes NEW
Claire U AlbaresSpainAnna Fali NEGOTIATION
Smith I GillianSpainIvan Magalhaes NEW
Antonio Y WieserCanadaElwin Sharvill UNQUALIFIED
Maria K MaletItalyStephen Shaw UNQUALIFIED
Darci L SchemmerIndiaBernardo Dominic PROPOSAL
Kadeem P OldroydGermanyIoni Bowcher NEGOTIATION
Mujtaba J MaletJapanOnyama Limba UNQUALIFIED
Tony Z GarufiRussiaElwin Sharvill NEGOTIATION
Nicolas O RimGermanyAsiya Javayant NEW
Ivar V SlusarskiJapanAnna Fali UNQUALIFIED
Leja T RutaCanadaIoni Bowcher QUALIFIED
Kaitlin C MorascaBrazilIoni Bowcher UNQUALIFIED
Izzy M GarufiRussiaIvan Magalhaes QUALIFIED
Adams X AlbaresGermanyAnna Fali NEGOTIATION
Maria Q MacleadFranceBernardo Dominic NEGOTIATION
Jones K WaycottIndiaBernardo Dominic RENEWAL
Leon T IturbideIndiaAnna Fali NEW
Stacey F NickaJapanAmy Elsner UNQUALIFIED
Adams G ShinkoCanadaIoni Bowcher NEGOTIATION
Aruna Y MacleadIndiaIvan Magalhaes QUALIFIED
Deepesh G DoeSpainBernardo Dominic NEGOTIATION
Nicolas U InouyeCanadaXuxue Feng QUALIFIED
Juan T RoysterJapanStephen Shaw QUALIFIED
Adams J DoeFranceAnna Fali RENEWAL
Isabel I AlbaresFranceIvan Magalhaes PROPOSAL
Misaki Z WaycottItalyIoni Bowcher UNQUALIFIED
James B MacleadBrazilElwin Sharvill NEGOTIATION
Greenwood M RimFranceOnyama Limba NEGOTIATION
Nicolas B OstroskyBrazilElwin Sharvill UNQUALIFIED

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