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
Maria Q SergiAustraliaOnyama Limba UNQUALIFIED
Munro L KuskoIndiaAsiya Javayant RENEWAL
Aditya M BriddickAustraliaOnyama Limba QUALIFIED
Jones N WaycottItalyElwin Sharvill RENEWAL
Morrow V CaudyIndiaXuxue Feng PROPOSAL
Izzy U KuskoRussiaOnyama Limba NEGOTIATION
Morrow B WhobreyRussiaStephen Shaw QUALIFIED
Ashley A SergiCanadaXuxue Feng NEW
Chavez J PaprockiGermanyIoni Bowcher RENEWAL
Kaitlin D ButtGermanyStephen Shaw NEGOTIATION
Octavia N MorascaFranceElwin Sharvill QUALIFIED
Stacey U FigeroaGermanyIoni Bowcher NEW
Aruna J ChuiRussiaStephen Shaw NEW
Misaki I FollerGermanyIoni Bowcher PROPOSAL
Maisha A MacleadCanadaIoni Bowcher PROPOSAL
Rodrigues Q MorascaFranceBernardo Dominic RENEWAL
Salvatore O GauchoUnited KingdomIvan Magalhaes PROPOSAL
Deepesh O RulapaughJapanAmy Elsner NEW
Chavez I DilliardFranceAsiya Javayant UNQUALIFIED
Leja B CaudyBrazilAmy Elsner NEGOTIATION
Misaki H BowleyGermanyXuxue Feng RENEWAL
Greenwood N GarufiIndiaStephen Shaw PROPOSAL
Izzy H PoquetteIndiaOnyama Limba NEGOTIATION
Salvatore H RimFranceAmy Elsner PROPOSAL
Misaki R SlusarskiGermanyXuxue Feng NEGOTIATION
Deepesh O MacleadBrazilAmy Elsner PROPOSAL
Isabel V WieserItalyIvan Magalhaes QUALIFIED
Jeanfrancois K BowleyCanadaBernardo Dominic QUALIFIED
Salvatore F IturbideCanadaAsiya Javayant UNQUALIFIED
Clifford N WieserRussiaOnyama Limba NEW
Munro K OldroydBrazilBernardo Dominic NEGOTIATION
Clifford Q FollerAustraliaBernardo Dominic UNQUALIFIED
Kaitlin J BologniaFranceStephen Shaw PROPOSAL
Aditya F ChuiUnited KingdomAmy Elsner RENEWAL
Adams J BowleyJapanXuxue Feng NEGOTIATION
Isabel H PerinSpainElwin Sharvill PROPOSAL
Leon S WieserFranceStephen Shaw NEGOTIATION
Alejandro M PerinIndiaStephen Shaw PROPOSAL
Tony V FollerCanadaBernardo Dominic NEW
Aika L CaudyFranceIvan Magalhaes RENEWAL
Wickens D IturbideBrazilElwin Sharvill NEW
Munro D OstroskyArgentinaIvan Magalhaes QUALIFIED
Leon C ShinkoRussiaAmy Elsner NEW
Rodrigues B OstroskyAustraliaAmy Elsner NEGOTIATION
Alejandro O CaudyJapanBernardo Dominic NEW
Maisha Q StensethIndiaAnna Fali QUALIFIED
Tony S AlbaresAustraliaBernardo Dominic PROPOSAL
Francesco O ButtJapanXuxue Feng NEGOTIATION
Jones A BologniaBrazilIoni Bowcher QUALIFIED
Isabel J BriddickBrazilOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Leon K FigeroaJapanAnna Fali PROPOSAL
Cody H ButtFranceIoni Bowcher QUALIFIED
Silvio K StockhamBrazilStephen Shaw PROPOSAL
Aditya F SaylorsFranceElwin Sharvill NEGOTIATION
Greenwood W KolmetzArgentinaAmy Elsner QUALIFIED
Ashley E FlosiRussiaIoni Bowcher UNQUALIFIED
Aika O KuskoBrazilIvan Magalhaes NEW
Maisha S MaletBrazilIoni Bowcher QUALIFIED
Kadeem N DilliardIndiaIoni Bowcher NEW
Kadeem P BowleyJapanOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire O DilliardGermany2025-05-18Feltz Printing Service QUALIFIED75Amy Elsner
1001Wickens I FigeroaCanada2025-06-06Chapman, Ross E Esq UNQUALIFIED84Stephen Shaw
1002Johnson B PaprockiGermany2025-05-20Dorl, James J Esq NEGOTIATION99Ioni Bowcher
1003Sinclair X DarakjyArgentina2025-05-31King, Christopher A Esq NEGOTIATION90Asiya Javayant
1004Ashley N WieserFrance2025-06-11Rangoni Of Florence RENEWAL54Bernardo Dominic
1005Clifford S PerinRussia2025-05-28Chemel, James L Cpa UNQUALIFIED59Onyama Limba
1006Costa U FlosiRussia2025-06-15Rousseaux, Michael Esq NEGOTIATION76Anna Fali
1007Aditya M MaletAustralia2025-05-31Benton, John B Jr NEGOTIATION16Xuxue Feng
1008Wickens I WaycottRussia2025-06-14Morlong Associates PROPOSAL63Onyama Limba
1009Leja M GauchoUnited Kingdom2025-06-09Chanay, Jeffrey A Esq NEGOTIATION60Asiya Javayant
1010Jones J MaletIndia2025-06-07Printing Dimensions QUALIFIED15Ioni Bowcher
1011James Y FlosiUnited Kingdom2025-06-01Rangoni Of Florence RENEWAL70Onyama Limba
1012Isabel R ChuiIndia2025-05-26Commercial Press QUALIFIED47Ivan Magalhaes
1013Jeanfrancois B RimRussia2025-06-13Chemel, James L Cpa UNQUALIFIED48Asiya Javayant
1014Emily N PoquetteBrazil2025-06-11Chapman, Ross E Esq NEW48Ivan Magalhaes
1015Tony G SlusarskiArgentina2025-05-18Buckley Miller Wright NEGOTIATION67Ioni Bowcher
1016Misaki K BriddickArgentina2025-06-12Feiner Bros UNQUALIFIED15Stephen Shaw
1017Maria V SchemmerIndia2025-06-02Printing Dimensions RENEWAL98Ioni Bowcher
1018Wickens L InouyeFrance2025-05-26Truhlar And Truhlar Attys PROPOSAL47Elwin Sharvill
1019Claire I FlosiRussia2025-06-09Rousseaux, Michael Esq RENEWAL7Elwin Sharvill
1020Johnson G MacleadIndia2025-05-21Printing Dimensions NEW39Amy Elsner
1021Jennifer F SlusarskiSpain2025-06-07Feltz Printing Service NEW6Anna Fali
1022Cody L FigeroaCanada2025-06-08Chanay, Jeffrey A Esq RENEWAL55Ioni Bowcher
1023Johnson Y RulapaughArgentina2025-06-01Chanay, Jeffrey A Esq RENEWAL63Amy Elsner
1024Salvatore X MorascaRussia2025-06-03Dorl, James J Esq UNQUALIFIED8Bernardo Dominic
1025Arvin Q CampainRussia2025-06-05Feiner Bros UNQUALIFIED11Ioni Bowcher
1026David H MacleadRussia2025-05-24Feiner Bros PROPOSAL42Asiya Javayant
1027Smith G MaletGermany2025-05-25Chemel, James L Cpa UNQUALIFIED8Asiya Javayant
1028Arvin F WhobreyCanada2025-06-11Benton, John B Jr QUALIFIED54Stephen Shaw
1029Stacey U DilliardCanada2025-06-04Morlong Associates UNQUALIFIED59Xuxue Feng
1030Aruna D DarakjyBrazil2025-06-13Truhlar And Truhlar Attys NEW12Asiya Javayant
1031Nicolas L MorascaItaly2025-05-29Feltz Printing Service NEW36Elwin Sharvill
1032Greenwood O DoeFrance2025-06-05Rangoni Of Florence RENEWAL58Ioni Bowcher
1033Jennifer W GlickGermany2025-06-02King, Christopher A Esq RENEWAL52Elwin Sharvill
1034Arvin A ChuiAustralia2025-06-15Printing Dimensions QUALIFIED14Stephen Shaw
1035Kaitlin U SlusarskiCanada2025-06-11Feltz Printing Service NEGOTIATION67Ioni Bowcher
1036Deepesh R GauchoAustralia2025-05-28Feltz Printing Service NEGOTIATION91Onyama Limba
1037Misaki W KuskoArgentina2025-06-08Feiner Bros NEW21Onyama Limba
1038Claire N WaycottJapan2025-05-22Chemel, James L Cpa NEW75Ivan Magalhaes
1039Leon W BriddickArgentina2025-06-08Morlong Associates RENEWAL2Anna Fali
1040Tony E FerenczArgentina2025-05-20Chemel, James L Cpa PROPOSAL37Bernardo Dominic
1041Maisha P BriddickJapan2025-06-04Chemel, James L Cpa UNQUALIFIED81Elwin Sharvill
1042Stacey G ShinkoArgentina2025-05-26Benton, John B Jr QUALIFIED57Onyama Limba
1043Jefferson L VocelkaFrance2025-05-26Printing Dimensions RENEWAL39Amy Elsner
1044Alejandro E MaletSpain2025-05-27Truhlar And Truhlar Attys NEGOTIATION40Amy Elsner
1045Jennifer Z FerenczBrazil2025-05-31Rangoni Of Florence RENEWAL64Ivan Magalhaes
1046Arvin D StensethItaly2025-05-17Feltz Printing Service PROPOSAL55Bernardo Dominic
1047Morrow O TollnerBrazil2025-06-11Rousseaux, Michael Esq UNQUALIFIED93Ivan Magalhaes
1048Octavia Z WaycottRussia2025-05-21Truhlar And Truhlar Attys QUALIFIED47Ivan Magalhaes
1049Jefferson N KuskoItaly2025-06-01Feiner Bros NEGOTIATION56Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Murillo B SlusarskiUnited KingdomBernardo Dominic RENEWAL
Ashley C DilliardCanadaAsiya Javayant PROPOSAL
Izzy P DarakjyIndiaBernardo Dominic QUALIFIED
Aika N BowleyGermanyBernardo Dominic QUALIFIED
Rodrigues P InouyeItalyAsiya Javayant UNQUALIFIED
Deepesh R WieserArgentinaAmy Elsner PROPOSAL
Sinclair M PerinBrazilOnyama Limba NEW
Emily J RoysterUnited KingdomAsiya Javayant NEW
Ricardo T VocelkaAustraliaIvan Magalhaes RENEWAL
Darci G WieserUnited KingdomIoni Bowcher QUALIFIED
Jones P AmigonItalyAmy Elsner QUALIFIED
Isabel M DoeArgentinaBernardo Dominic QUALIFIED
Adams I PaprockiSpainOnyama Limba QUALIFIED
Aruna V MorascaArgentinaOnyama Limba UNQUALIFIED
Stacey V DilliardGermanyAsiya Javayant NEGOTIATION
Deepesh Z NestleUnited KingdomStephen Shaw PROPOSAL
Rodrigues A FlosiRussiaAnna Fali NEGOTIATION
Ricardo Z FollerAustraliaIoni Bowcher NEW
Sinclair Y FigeroaCanadaStephen Shaw NEW
Misaki P MacleadAustraliaOnyama Limba QUALIFIED
Aruna U WieserItalyStephen Shaw NEW
Nicolas Q CaudyAustraliaStephen Shaw UNQUALIFIED
Maisha W DoeItalyAmy Elsner NEGOTIATION
Adams B RoysterGermanyIvan Magalhaes NEW
Nicolas U NestleFranceAmy Elsner NEGOTIATION
Arvin E MarrierRussiaXuxue Feng UNQUALIFIED
Arvin E MaletItalyXuxue Feng NEW
Juan F NickaFranceAnna Fali NEGOTIATION
Jeanfrancois O CaudyUnited KingdomAmy Elsner RENEWAL
Morrow S StockhamRussiaOnyama Limba PROPOSAL
Arvin V NestleFranceElwin Sharvill NEW
Wickens M RulapaughBrazilBernardo Dominic UNQUALIFIED
Munro K StensethAustraliaOnyama Limba QUALIFIED
Smith A StensethAustraliaAsiya Javayant QUALIFIED
Munro H WieserCanadaIvan Magalhaes NEGOTIATION
Jennifer N StockhamArgentinaIvan Magalhaes RENEWAL
Nicolas P SaylorsArgentinaOnyama Limba QUALIFIED
Francesco F RutaJapanBernardo Dominic RENEWAL
Faith T CaudyJapanStephen Shaw PROPOSAL
Nicolas U MarrierAustraliaBernardo Dominic RENEWAL
Alejandro E GarufiRussiaOnyama Limba UNQUALIFIED
James L AlbaresRussiaAnna Fali PROPOSAL
Tony M CaldareraItalyAnna Fali RENEWAL
Aditya P KuskoItalyOnyama Limba UNQUALIFIED
Emily E IturbideFranceXuxue Feng QUALIFIED
Mujtaba R OstroskyGermanyAmy Elsner UNQUALIFIED
Clifford K CaudyRussiaIoni Bowcher QUALIFIED
Jeanfrancois L PoquetteArgentinaBernardo Dominic UNQUALIFIED
David W PerinItalyOnyama Limba QUALIFIED
Cody P SaylorsRussiaBernardo Dominic NEW
Frozen Columns
Name
Izzy W Albares
Juan J Inouye
Faith S Chui
Izzy P Morasca
Alejandro N Oldroyd
Wickens U Royster
Deepesh I Maclead
Stacey U Caldarera
Stacey L Royster
Misaki F Venere
Julie S Kusko
Izzy L Butt
James E Dilliard
Smith N Caudy
Mujtaba P Oldroyd
James E Caudy
Faith T Slusarski
Mujtaba I Flosi
Sinclair Q Malet
Jefferson J Doe
Sinclair W Dilliard
Alejandro O Doe
Tony H Foller
Smith R Glick
Emily G Garufi
Aruna Z Campain
Emily M Kusko
Mujtaba Y Briddick
Leja P Gillian
Jennifer F Maclead
Jeanfrancois A Dilliard
Maria V Dilliard
Sinclair M Shinko
Johnson O Dilliard
Jefferson O Stockham
Maisha G Maclead
Francesco N Perin
Tony Z Rim
Mujtaba B Malet
Murillo L Maclead
Johnson O Bolognia
Nicolas L Wieser
Darci E Ruta
James V Chui
Emily S Inouye
James G Glick
Rodrigues P Gillian
Maria S Campain
Maria R Figeroa
Mayumi E Bolognia
IdCountryDate
1000Australia2025-05-18
1001Japan2025-05-22
1002Spain2025-06-13
1003France2025-05-31
1004Canada2025-06-13
1005Canada2025-05-28
1006Canada2025-06-14
1007Brazil2025-05-26
1008Spain2025-05-25
1009Germany2025-05-17
1010Japan2025-06-08
1011Spain2025-06-10
1012Argentina2025-05-27
1013Spain2025-05-29
1014France2025-06-02
1015Russia2025-06-11
1016Argentina2025-05-23
1017Japan2025-06-02
1018Australia2025-05-23
1019Germany2025-06-04
1020United Kingdom2025-06-06
1021India2025-05-23
1022France2025-05-21
1023Argentina2025-05-20
1024Argentina2025-06-04
1025Brazil2025-06-05
1026France2025-06-15
1027Germany2025-05-27
1028Italy2025-06-13
1029Argentina2025-06-03
1030Russia2025-06-11
1031France2025-06-08
1032Russia2025-06-10
1033Spain2025-06-10
1034Canada2025-05-27
1035France2025-05-22
1036Argentina2025-05-29
1037France2025-06-15
1038Argentina2025-05-30
1039Argentina2025-06-10
1040Italy2025-06-09
1041Japan2025-06-08
1042Australia2025-06-13
1043Australia2025-05-20
1044Canada2025-05-27
1045Russia2025-06-12
1046Italy2025-06-04
1047Brazil2025-06-11
1048Argentina2025-06-04
1049India2025-06-02

On-Demand Data

NameIdCountryDate
Costa L Shinko1000Germany2025-06-10
Adams D Flosi1001Germany2025-06-02
Kaitlin Y Schemmer1002Germany2025-06-07
Antonio O Rim1003United Kingdom2025-06-01
Murillo D Rulapaugh1004Japan2025-05-24
Maria H Briddick1005India2025-05-31
Smith O Whobrey1006Japan2025-05-30
Costa W Marrier1007Spain2025-06-02
Tony S Poquette1008Brazil2025-06-05
Jones Z Stenseth1009Brazil2025-05-23
Aruna A Darakjy1010United Kingdom2025-05-23
Leja P Bowley1011Spain2025-06-05
Francesco Y Malet1012Canada2025-06-08
Maisha Y Malet1013Spain2025-05-19
Ashley S Perin1014Argentina2025-05-28
Maisha Y Campain1015Australia2025-05-18
Clifford L Doe1016United Kingdom2025-06-03
Aditya M Nicka1017Brazil2025-06-06
Aditya S Iturbide1018Germany2025-06-04
Mujtaba M Briddick1019Japan2025-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco J OstroskyGermanyOnyama Limba NEW
Jeanfrancois E MaletJapanOnyama Limba NEW
Munro U MaletCanadaIoni Bowcher PROPOSAL
Leon J InouyeBrazilStephen Shaw NEW
Octavia S GauchoFranceOnyama Limba UNQUALIFIED
David K RoysterArgentinaBernardo Dominic PROPOSAL
Deepesh C FigeroaUnited KingdomIoni Bowcher NEGOTIATION
Jefferson U RimJapanAsiya Javayant NEW
Cody A WieserJapanAnna Fali NEW
Julie C RimRussiaAmy Elsner NEGOTIATION
Kadeem X RutaAustraliaStephen Shaw PROPOSAL
Adams D BologniaRussiaStephen Shaw QUALIFIED
Tony I WieserUnited KingdomBernardo Dominic UNQUALIFIED
Aditya S BologniaBrazilAmy Elsner PROPOSAL
Aika G TollnerIndiaXuxue Feng PROPOSAL
James O RulapaughCanadaAmy Elsner RENEWAL
Faith C WieserRussiaIoni Bowcher UNQUALIFIED
Tony R FerenczAustraliaOnyama Limba NEGOTIATION
Leja D ChuiItalyIoni Bowcher PROPOSAL
Claire O CaldareraRussiaAsiya Javayant NEW
Aruna T ButtUnited KingdomAsiya Javayant PROPOSAL
Darci I FlosiBrazilAmy Elsner QUALIFIED
Ivar E CampainSpainIoni Bowcher PROPOSAL
Kadeem D InouyeItalyStephen Shaw NEGOTIATION
Claire X GillianItalyAnna Fali PROPOSAL
Juan U CaudyItalyIoni Bowcher RENEWAL
Faith X OstroskyJapanIvan Magalhaes NEW
Stacey E ChuiBrazilIvan Magalhaes NEW
Clifford C CaudyRussiaOnyama Limba QUALIFIED
Leon O SchemmerJapanXuxue Feng RENEWAL
Aditya B MarrierArgentinaElwin Sharvill NEW
Johnson Q WaycottSpainStephen Shaw PROPOSAL
Salvatore R RimCanadaIoni Bowcher NEGOTIATION
Adams O CaldareraFranceOnyama Limba QUALIFIED
Smith G SergiRussiaIvan Magalhaes UNQUALIFIED
Johnson M KolmetzCanadaIoni Bowcher PROPOSAL
Cody X StockhamItalyXuxue Feng PROPOSAL
Chavez M AmigonIndiaIoni Bowcher NEW
Jennifer S VocelkaSpainBernardo Dominic NEW
Adams K VocelkaJapanIoni Bowcher NEW

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