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
Ashley Y NestleRussiaAmy Elsner UNQUALIFIED
Stacey G KolmetzGermanyAmy Elsner NEW
Francesco O NestleJapanBernardo Dominic QUALIFIED
Emily V VocelkaUnited KingdomAnna Fali PROPOSAL
Stacey O FigeroaJapanAmy Elsner PROPOSAL
Maisha Y IturbideUnited KingdomIoni Bowcher RENEWAL
Smith F VenereAustraliaElwin Sharvill UNQUALIFIED
Kadeem O BologniaJapanXuxue Feng PROPOSAL
Johnson S CampainArgentinaStephen Shaw NEW
Francesco H GarufiAustraliaAmy Elsner QUALIFIED
Stacey E FlosiUnited KingdomXuxue Feng UNQUALIFIED
Jennifer B FerenczIndiaIoni Bowcher QUALIFIED
Smith H DarakjySpainAnna Fali NEW
Stacey T AmigonJapanXuxue Feng NEGOTIATION
Cody V ChuiRussiaXuxue Feng RENEWAL
Emily X RimRussiaBernardo Dominic NEW
Juan M OldroydAustraliaBernardo Dominic NEW
Misaki S OldroydItalyBernardo Dominic PROPOSAL
Kadeem X RimArgentinaBernardo Dominic NEW
Aika Y AmigonCanadaElwin Sharvill NEGOTIATION
Ricardo L BriddickItalyXuxue Feng NEW
Isabel O StensethIndiaElwin Sharvill PROPOSAL
Emily Z IturbideSpainStephen Shaw QUALIFIED
Mayumi R TollnerBrazilXuxue Feng RENEWAL
Tony Y GauchoAustraliaXuxue Feng PROPOSAL
Munro X IturbideSpainElwin Sharvill QUALIFIED
Arvin Z ShinkoCanadaXuxue Feng NEW
Leja T KolmetzArgentinaIvan Magalhaes QUALIFIED
Darci U WieserArgentinaAmy Elsner NEGOTIATION
Chavez B FerenczFranceAmy Elsner UNQUALIFIED
Isabel J ChuiBrazilIoni Bowcher PROPOSAL
Alejandro C NestleGermanyBernardo Dominic PROPOSAL
Silvio V TollnerUnited KingdomStephen Shaw NEW
Isabel Z VenereUnited KingdomAsiya Javayant RENEWAL
Leja I NestleRussiaStephen Shaw PROPOSAL
Leja F SchemmerIndiaIoni Bowcher NEW
Jeanfrancois A NickaCanadaElwin Sharvill NEW
Rodrigues X AlbaresCanadaOnyama Limba NEGOTIATION
Murillo G OstroskyGermanyStephen Shaw RENEWAL
Mujtaba B KolmetzRussiaBernardo Dominic UNQUALIFIED
Stacey G MorascaCanadaAnna Fali NEW
Rodrigues U GlickAustraliaOnyama Limba QUALIFIED
Antonio S RoysterUnited KingdomElwin Sharvill UNQUALIFIED
Kadeem O VenereGermanyOnyama Limba RENEWAL
Tony I SergiJapanAmy Elsner RENEWAL
Deepesh U WieserBrazilStephen Shaw QUALIFIED
Jones P ShinkoAustraliaIvan Magalhaes NEGOTIATION
Wickens B RulapaughCanadaOnyama Limba UNQUALIFIED
Greenwood B WaycottArgentinaIoni Bowcher NEW
Jeanfrancois I FerenczUnited KingdomAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Octavia A FerenczGermanyBernardo Dominic UNQUALIFIED
Salvatore B PaprockiGermanyXuxue Feng QUALIFIED
Kaitlin V GauchoRussiaStephen Shaw UNQUALIFIED
Kadeem D MaletBrazilBernardo Dominic PROPOSAL
Jefferson L OldroydIndiaStephen Shaw QUALIFIED
Sinclair C GarufiCanadaBernardo Dominic NEGOTIATION
Julie V SaylorsAustraliaOnyama Limba UNQUALIFIED
James O ButtArgentinaAnna Fali UNQUALIFIED
Ricardo Y TollnerCanadaOnyama Limba RENEWAL
Faith T SchemmerArgentinaOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia G ShinkoGermany2025-04-30King, Christopher A Esq QUALIFIED47Bernardo Dominic
1001Aditya N WhobreyCanada2025-04-12Dorl, James J Esq RENEWAL0Asiya Javayant
1002Murillo V BriddickSpain2025-04-19Feiner Bros UNQUALIFIED74Onyama Limba
1003Aika N ShinkoArgentina2025-04-23Buckley Miller Wright PROPOSAL76Asiya Javayant
1004Clifford O WhobreySpain2025-04-30Chapman, Ross E Esq RENEWAL92Bernardo Dominic
1005Leon W GarufiBrazil2025-04-12Chapman, Ross E Esq QUALIFIED20Ioni Bowcher
1006Adams W BriddickArgentina2025-04-24Rangoni Of Florence NEW92Asiya Javayant
1007Antonio B SergiFrance2025-04-26King, Christopher A Esq UNQUALIFIED92Elwin Sharvill
1008Munro M AlbaresArgentina2025-04-13King, Christopher A Esq PROPOSAL77Ioni Bowcher
1009Silvio J KolmetzRussia2025-04-13Printing Dimensions RENEWAL0Ioni Bowcher
1010Mayumi X CaudyRussia2025-05-03Printing Dimensions PROPOSAL84Ioni Bowcher
1011Stacey O PoquetteJapan2025-04-26Rousseaux, Michael Esq UNQUALIFIED91Elwin Sharvill
1012Juan I InouyeFrance2025-04-27Printing Dimensions RENEWAL2Ivan Magalhaes
1013Morrow H RoysterJapan2025-04-15Chapman, Ross E Esq PROPOSAL70Stephen Shaw
1014Jennifer H TollnerArgentina2025-04-22Commercial Press UNQUALIFIED46Xuxue Feng
1015Nicolas S AlbaresAustralia2025-04-10Truhlar And Truhlar Attys PROPOSAL4Stephen Shaw
1016Chavez C MaletUnited Kingdom2025-04-26Printing Dimensions NEGOTIATION9Anna Fali
1017Costa N GlickSpain2025-04-16Rousseaux, Michael Esq PROPOSAL44Elwin Sharvill
1018Salvatore Y SaylorsArgentina2025-04-18Morlong Associates NEGOTIATION22Asiya Javayant
1019Clifford K ShinkoAustralia2025-04-21Benton, John B Jr PROPOSAL9Bernardo Dominic
1020Johnson Q BriddickSpain2025-04-06Rangoni Of Florence QUALIFIED21Asiya Javayant
1021Sinclair Q CaldareraBrazil2025-04-06Rangoni Of Florence UNQUALIFIED2Elwin Sharvill
1022James A AmigonItaly2025-04-07Feltz Printing Service PROPOSAL90Asiya Javayant
1023Claire P InouyeAustralia2025-04-10Printing Dimensions NEGOTIATION63Stephen Shaw
1024Kaitlin P MaletFrance2025-04-18Morlong Associates NEGOTIATION74Ioni Bowcher
1025Sinclair Y PaprockiIndia2025-04-20Rangoni Of Florence UNQUALIFIED62Ivan Magalhaes
1026Salvatore A GillianJapan2025-04-29Morlong Associates RENEWAL44Xuxue Feng
1027Ashley T IturbideCanada2025-05-03Rangoni Of Florence NEGOTIATION99Elwin Sharvill
1028Adams S BowleyJapan2025-04-28Chemel, James L Cpa RENEWAL18Stephen Shaw
1029Wickens G RutaAustralia2025-04-30Buckley Miller Wright RENEWAL0Bernardo Dominic
1030Mujtaba U RoysterGermany2025-04-21Buckley Miller Wright PROPOSAL71Asiya Javayant
1031Claire R KolmetzBrazil2025-04-13Printing Dimensions UNQUALIFIED13Bernardo Dominic
1032James L MacleadUnited Kingdom2025-04-11Dorl, James J Esq RENEWAL41Anna Fali
1033Chavez K FerenczRussia2025-04-13Chapman, Ross E Esq RENEWAL28Ivan Magalhaes
1034Cody H PerinUnited Kingdom2025-04-19Chanay, Jeffrey A Esq RENEWAL38Ivan Magalhaes
1035Murillo D PaprockiFrance2025-04-19Feiner Bros NEGOTIATION81Stephen Shaw
1036Izzy Z FlosiCanada2025-04-19Buckley Miller Wright UNQUALIFIED7Anna Fali
1037Octavia A FlosiFrance2025-04-30Buckley Miller Wright QUALIFIED17Stephen Shaw
1038Jefferson V StensethFrance2025-04-20Printing Dimensions NEW38Elwin Sharvill
1039Julie W SergiFrance2025-05-03Benton, John B Jr UNQUALIFIED8Xuxue Feng
1040James E RimAustralia2025-04-14Chemel, James L Cpa PROPOSAL88Xuxue Feng
1041Chavez Y GauchoJapan2025-04-26Chemel, James L Cpa NEGOTIATION79Onyama Limba
1042Tony X InouyeUnited Kingdom2025-04-05Rangoni Of Florence UNQUALIFIED61Stephen Shaw
1043Kadeem U SchemmerFrance2025-04-30Chanay, Jeffrey A Esq PROPOSAL30Elwin Sharvill
1044Octavia D VenereGermany2025-04-26Chemel, James L Cpa QUALIFIED62Bernardo Dominic
1045Ivar T SaylorsBrazil2025-05-03Truhlar And Truhlar Attys NEW67Asiya Javayant
1046Emily A PoquetteSpain2025-04-16Morlong Associates NEW58Anna Fali
1047Darci G MaletGermany2025-04-05Feltz Printing Service NEGOTIATION75Onyama Limba
1048Cody V WhobreyArgentina2025-05-03King, Christopher A Esq NEW33Amy Elsner
1049Antonio F DilliardUnited Kingdom2025-04-17Commercial Press NEW46Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Salvatore H OldroydArgentinaAmy Elsner PROPOSAL
Wickens F SaylorsJapanAmy Elsner NEGOTIATION
Juan I VenereFranceBernardo Dominic NEGOTIATION
Johnson M GarufiUnited KingdomAnna Fali UNQUALIFIED
Mujtaba B InouyeJapanIvan Magalhaes NEGOTIATION
Izzy W CaldareraAustraliaOnyama Limba RENEWAL
Nicolas M GarufiArgentinaAnna Fali PROPOSAL
Cody Q NickaIndiaBernardo Dominic RENEWAL
Antonio F CampainItalyBernardo Dominic UNQUALIFIED
Faith J PoquetteItalyAnna Fali NEW
Smith Q AmigonRussiaAnna Fali UNQUALIFIED
Leja S OldroydRussiaAnna Fali NEW
Deepesh Y FerenczAustraliaIoni Bowcher RENEWAL
Octavia M DoeUnited KingdomXuxue Feng NEW
Clifford X FerenczAustraliaOnyama Limba NEW
Leja G StockhamItalyAnna Fali NEGOTIATION
Greenwood Q BriddickBrazilIoni Bowcher NEW
Juan I ButtJapanXuxue Feng PROPOSAL
Rodrigues D GlickItalyIvan Magalhaes PROPOSAL
Cody L TollnerItalyXuxue Feng QUALIFIED
Izzy V AlbaresCanadaIvan Magalhaes RENEWAL
Izzy V GlickAustraliaIoni Bowcher PROPOSAL
Isabel M ChuiSpainIvan Magalhaes QUALIFIED
Aditya W WieserSpainElwin Sharvill RENEWAL
Kadeem M DilliardSpainBernardo Dominic PROPOSAL
Claire V ChuiGermanyElwin Sharvill NEW
Leja O CaudyGermanyIvan Magalhaes NEW
Cody W BriddickFranceBernardo Dominic NEGOTIATION
Arvin N MacleadCanadaOnyama Limba RENEWAL
Juan V PerinFranceXuxue Feng PROPOSAL
Jeanfrancois S CaudyGermanyIvan Magalhaes QUALIFIED
Misaki U AlbaresRussiaXuxue Feng NEW
Johnson K GauchoItalyOnyama Limba NEW
Faith B TollnerSpainOnyama Limba NEW
Leja L DarakjyCanadaAmy Elsner QUALIFIED
Sinclair P FigeroaAustraliaAsiya Javayant QUALIFIED
Chavez G CampainJapanElwin Sharvill PROPOSAL
David E RulapaughFranceIvan Magalhaes QUALIFIED
Deepesh P PaprockiCanadaAnna Fali NEW
Julie S OldroydUnited KingdomIvan Magalhaes NEGOTIATION
Tony Q DilliardIndiaOnyama Limba QUALIFIED
Faith C GillianSpainAmy Elsner QUALIFIED
Munro J VocelkaIndiaAnna Fali NEW
Jones A MaletFranceOnyama Limba RENEWAL
Cody O ShinkoArgentinaBernardo Dominic QUALIFIED
Morrow R TollnerCanadaElwin Sharvill UNQUALIFIED
Cody D InouyeSpainAmy Elsner RENEWAL
Izzy N OstroskyGermanyBernardo Dominic QUALIFIED
Aditya Z PerinCanadaElwin Sharvill NEGOTIATION
Ivar I NickaGermanyAnna Fali RENEWAL
Frozen Columns
Name
Stacey U Garufi
Nicolas G Darakjy
Rodrigues P Stenseth
Clifford J Tollner
Mujtaba S Kusko
Wickens J Iturbide
Misaki F Slusarski
Costa G Morasca
Kadeem H Iturbide
Nicolas F Kolmetz
Morrow D Poquette
Aditya H Briddick
Maria M Slusarski
Nicolas I Briddick
Emily R Royster
Clifford M Bolognia
Morrow H Whobrey
Emily U Rim
Mayumi C Marrier
Leon S Paprocki
Nicolas I Sergi
Antonio V Oldroyd
Munro R Figeroa
Morrow W Iturbide
Mujtaba U Flosi
Greenwood W Schemmer
Emily Z Iturbide
Jennifer Q Bolognia
Claire T Darakjy
Wickens E Garufi
Jeanfrancois T Kusko
Kadeem F Malet
Juan T Slusarski
Murillo U Marrier
Rodrigues I Slusarski
Cody F Shinko
Juan E Malet
Mayumi N Flosi
Adams U Royster
Ivar S Malet
Maisha R Briddick
Juan H Chui
Johnson V Whobrey
Antonio K Whobrey
Faith T Bowley
Adams H Shinko
Tony Y Ruta
Izzy Z Oldroyd
Ashley G Tollner
Smith S Maclead
IdCountryDate
1000Canada2025-04-06
1001Australia2025-04-29
1002Italy2025-04-06
1003Russia2025-04-23
1004Argentina2025-04-28
1005Germany2025-04-15
1006Brazil2025-04-23
1007Russia2025-05-03
1008France2025-04-15
1009France2025-04-13
1010Canada2025-04-14
1011India2025-04-06
1012Brazil2025-04-15
1013Canada2025-04-10
1014Australia2025-04-26
1015Australia2025-04-30
1016Australia2025-04-05
1017Spain2025-04-22
1018Spain2025-04-08
1019Brazil2025-04-17
1020Germany2025-04-29
1021Brazil2025-04-10
1022Brazil2025-04-12
1023Germany2025-04-07
1024Argentina2025-05-04
1025United Kingdom2025-04-20
1026France2025-04-21
1027Brazil2025-04-13
1028Argentina2025-04-09
1029Italy2025-04-25
1030Japan2025-04-05
1031Italy2025-04-05
1032Canada2025-04-24
1033Brazil2025-04-18
1034Canada2025-04-05
1035Brazil2025-04-20
1036Brazil2025-04-26
1037Argentina2025-04-13
1038Argentina2025-04-24
1039Japan2025-04-08
1040India2025-04-20
1041Australia2025-04-06
1042Australia2025-04-07
1043United Kingdom2025-04-22
1044Australia2025-04-17
1045Brazil2025-04-14
1046Canada2025-05-01
1047Spain2025-04-27
1048Australia2025-04-14
1049Brazil2025-04-26

On-Demand Data

NameIdCountryDate
Ashley C Foller1000Russia2025-04-09
Faith Z Malet1001Italy2025-04-15
Octavia G Waycott1002Germany2025-04-26
Izzy D Tollner1003India2025-04-24
Isabel B Inouye1004Brazil2025-04-21
Deepesh N Garufi1005Japan2025-04-09
Izzy F Caldarera1006Russia2025-04-29
Maria Z Malet1007Spain2025-04-05
Ricardo Z Garufi1008India2025-04-24
David U Ruta1009United Kingdom2025-04-25
Ivar Z Bolognia1010Russia2025-04-07
Misaki Z Kusko1011France2025-04-10
Faith I Darakjy1012France2025-04-10
Isabel W Kolmetz1013Russia2025-04-10
Claire P Briddick1014Germany2025-04-19
Izzy S Royster1015Japan2025-04-26
Mujtaba C Caudy1016Russia2025-04-21
Aika P Inouye1017India2025-04-08
Francesco X Campain1018United Kingdom2025-04-10
Silvio D Caldarera1019Germany2025-04-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer A MorascaFranceIvan Magalhaes PROPOSAL
Ivar G CampainJapanElwin Sharvill NEGOTIATION
Silvio S KolmetzRussiaAmy Elsner QUALIFIED
Smith I TollnerArgentinaAmy Elsner QUALIFIED
Adams W PerinRussiaAmy Elsner NEGOTIATION
Clifford K NickaSpainAnna Fali QUALIFIED
Leja V FerenczRussiaElwin Sharvill NEW
Faith U OldroydItalyBernardo Dominic RENEWAL
Kadeem R NestleCanadaIoni Bowcher NEGOTIATION
Arvin A RutaArgentinaXuxue Feng QUALIFIED
David K KuskoItalyIvan Magalhaes NEGOTIATION
Antonio U DilliardArgentinaIvan Magalhaes NEW
Emily C GauchoSpainIoni Bowcher PROPOSAL
Jeanfrancois Y GarufiRussiaIoni Bowcher PROPOSAL
Cody K FerenczFranceBernardo Dominic NEGOTIATION
Aika D FollerGermanyAmy Elsner NEW
Wickens K NickaBrazilOnyama Limba RENEWAL
Jeanfrancois S OstroskyItalyIoni Bowcher RENEWAL
Chavez O CaldareraIndiaIoni Bowcher UNQUALIFIED
Faith S CaudyFranceAnna Fali NEGOTIATION
David Q CaldareraUnited KingdomElwin Sharvill NEGOTIATION
Munro X FollerUnited KingdomBernardo Dominic UNQUALIFIED
Francesco I RimJapanStephen Shaw RENEWAL
Clifford W PaprockiBrazilIoni Bowcher UNQUALIFIED
James O DoeAustraliaXuxue Feng NEGOTIATION
Salvatore N OstroskyArgentinaElwin Sharvill NEW
Arvin O KuskoAustraliaIoni Bowcher QUALIFIED
Leja B RimGermanyIvan Magalhaes NEGOTIATION
Arvin O FollerJapanAnna Fali NEW
Maisha M MarrierItalyOnyama Limba NEW
Jefferson O CaudyRussiaAmy Elsner NEGOTIATION
Smith L TollnerCanadaAsiya Javayant PROPOSAL
Murillo W RulapaughFranceStephen Shaw PROPOSAL
Chavez X FollerBrazilBernardo Dominic PROPOSAL
Nicolas N MorascaUnited KingdomXuxue Feng PROPOSAL
Leon V CampainSpainAnna Fali UNQUALIFIED
Munro E NickaItalyXuxue Feng QUALIFIED
Jeanfrancois N GlickSpainXuxue Feng RENEWAL
Cody O DoeJapanXuxue Feng PROPOSAL
Izzy B KuskoAustraliaElwin Sharvill 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>