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
David A BowleyBrazilAnna Fali UNQUALIFIED
Kaitlin Y StockhamBrazilAsiya Javayant UNQUALIFIED
Alejandro F BologniaItalyElwin Sharvill PROPOSAL
Francesco P ChuiRussiaElwin Sharvill RENEWAL
Faith D FlosiGermanyElwin Sharvill RENEWAL
Alejandro T NickaItalyIoni Bowcher PROPOSAL
Izzy P MorascaSpainStephen Shaw NEGOTIATION
Greenwood Z VocelkaSpainBernardo Dominic UNQUALIFIED
Maisha I GlickArgentinaAmy Elsner NEW
Ivar B DarakjyArgentinaBernardo Dominic QUALIFIED
Munro G KolmetzRussiaAsiya Javayant QUALIFIED
Juan J GlickAustraliaIvan Magalhaes NEW
Leja C CaudyArgentinaAsiya Javayant QUALIFIED
Nicolas M VocelkaItalyStephen Shaw NEW
Isabel R CaudySpainXuxue Feng UNQUALIFIED
Juan H FlosiUnited KingdomAmy Elsner RENEWAL
Mujtaba O AlbaresSpainIvan Magalhaes NEW
Nicolas V PaprockiRussiaIoni Bowcher UNQUALIFIED
Darci F RoysterSpainAsiya Javayant NEW
Murillo F StockhamUnited KingdomElwin Sharvill NEGOTIATION
Deepesh R WaycottSpainXuxue Feng NEGOTIATION
Aika W KuskoItalyBernardo Dominic PROPOSAL
Maisha W WieserGermanyIvan Magalhaes NEW
Munro Z SlusarskiIndiaIvan Magalhaes NEW
Aika Y ChuiBrazilAnna Fali NEGOTIATION
Jeanfrancois G ShinkoAustraliaAsiya Javayant RENEWAL
Ivar P BowleyUnited KingdomIvan Magalhaes UNQUALIFIED
Jones S GarufiSpainIvan Magalhaes UNQUALIFIED
Ashley V DilliardUnited KingdomIoni Bowcher NEW
Emily N TollnerRussiaBernardo Dominic RENEWAL
Murillo N PoquetteFranceAnna Fali NEGOTIATION
Johnson I BologniaJapanElwin Sharvill PROPOSAL
Salvatore C DilliardBrazilAsiya Javayant PROPOSAL
Julie F ShinkoFranceBernardo Dominic UNQUALIFIED
Aruna F GlickItalyOnyama Limba QUALIFIED
Sinclair A PaprockiRussiaOnyama Limba UNQUALIFIED
Jeanfrancois A GauchoRussiaAsiya Javayant RENEWAL
Tony Z GauchoBrazilStephen Shaw RENEWAL
Isabel V StensethRussiaBernardo Dominic NEGOTIATION
Costa U MarrierRussiaXuxue Feng NEGOTIATION
Greenwood Y FigeroaRussiaAmy Elsner NEW
Maisha Q NestleAustraliaIoni Bowcher NEGOTIATION
Clifford Y ChuiJapanAnna Fali QUALIFIED
Maisha X RimAustraliaElwin Sharvill UNQUALIFIED
Ashley K FerenczUnited KingdomAsiya Javayant RENEWAL
Claire E RutaUnited KingdomAsiya Javayant NEGOTIATION
Antonio K GauchoArgentinaElwin Sharvill PROPOSAL
Ricardo X MaletCanadaOnyama Limba PROPOSAL
Faith X StockhamCanadaBernardo Dominic UNQUALIFIED
Greenwood F FigeroaSpainIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Kaitlin F PerinIndiaIoni Bowcher NEGOTIATION
Jefferson J OldroydSpainOnyama Limba NEW
Tony H ShinkoBrazilOnyama Limba QUALIFIED
Jones V RimCanadaIvan Magalhaes NEGOTIATION
Claire R StockhamRussiaAmy Elsner QUALIFIED
Claire I GarufiRussiaIoni Bowcher UNQUALIFIED
Juan R RutaJapanXuxue Feng QUALIFIED
Ivar M MarrierSpainAsiya Javayant QUALIFIED
Tony H FollerFranceIvan Magalhaes QUALIFIED
Jefferson Z DarakjyAustraliaBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore R MacleadItaly2024-06-18Rousseaux, Michael Esq NEW80Stephen Shaw
1001Izzy R BriddickSpain2024-06-15Feltz Printing Service RENEWAL0Xuxue Feng
1002Francesco I PaprockiGermany2024-05-30Chemel, James L Cpa QUALIFIED71Asiya Javayant
1003Adams F BologniaRussia2024-05-31Chapman, Ross E Esq QUALIFIED55Onyama Limba
1004Silvio S WaycottJapan2024-05-27Chemel, James L Cpa NEGOTIATION48Onyama Limba
1005Jennifer L StensethFrance2024-06-08Rangoni Of Florence NEGOTIATION14Ivan Magalhaes
1006Munro K IturbideFrance2024-06-16Truhlar And Truhlar Attys NEGOTIATION0Anna Fali
1007Julie Y PoquetteRussia2024-06-12Chanay, Jeffrey A Esq PROPOSAL90Xuxue Feng
1008Silvio U SergiArgentina2024-06-19Benton, John B Jr RENEWAL26Onyama Limba
1009Cody J FerenczFrance2024-06-09Chapman, Ross E Esq NEGOTIATION65Anna Fali
1010Jeanfrancois Y MaletItaly2024-05-27Truhlar And Truhlar Attys NEW49Anna Fali
1011Morrow R CampainCanada2024-06-19Feiner Bros UNQUALIFIED5Bernardo Dominic
1012Arvin A PoquetteJapan2024-06-20Feltz Printing Service NEGOTIATION86Stephen Shaw
1013Leon Z SchemmerSpain2024-06-09Buckley Miller Wright QUALIFIED24Stephen Shaw
1014Deepesh C TollnerCanada2024-06-20Rangoni Of Florence UNQUALIFIED19Anna Fali
1015Chavez H MorascaItaly2024-06-02Chemel, James L Cpa QUALIFIED34Amy Elsner
1016Octavia J CaldareraArgentina2024-06-07Feltz Printing Service NEW86Amy Elsner
1017Nicolas B DarakjyArgentina2024-05-25Commercial Press UNQUALIFIED91Stephen Shaw
1018Claire D RulapaughFrance2024-06-14Rangoni Of Florence PROPOSAL34Stephen Shaw
1019Francesco K CaldareraArgentina2024-06-19Buckley Miller Wright NEW0Ioni Bowcher
1020Aika B PoquetteIndia2024-06-19Chemel, James L Cpa PROPOSAL65Stephen Shaw
1021Deepesh J RoysterJapan2024-06-01Benton, John B Jr QUALIFIED92Asiya Javayant
1022Deepesh C VenereGermany2024-06-16Buckley Miller Wright NEW8Ivan Magalhaes
1023Darci Z MaletArgentina2024-06-18Rangoni Of Florence NEGOTIATION54Ivan Magalhaes
1024Smith S GarufiArgentina2024-06-19Truhlar And Truhlar Attys PROPOSAL87Bernardo Dominic
1025Ivar Y GlickAustralia2024-06-16Truhlar And Truhlar Attys UNQUALIFIED39Elwin Sharvill
1026Aruna B DoeJapan2024-06-05Morlong Associates PROPOSAL59Ioni Bowcher
1027Maisha A SlusarskiJapan2024-06-16Dorl, James J Esq RENEWAL88Anna Fali
1028Salvatore I VenereUnited Kingdom2024-05-24Buckley Miller Wright NEGOTIATION9Amy Elsner
1029Mayumi L RutaCanada2024-06-06Chemel, James L Cpa QUALIFIED31Elwin Sharvill
1030Greenwood U AmigonJapan2024-06-15Feiner Bros QUALIFIED96Onyama Limba
1031Ricardo A ButtBrazil2024-05-27Chapman, Ross E Esq PROPOSAL62Xuxue Feng
1032Izzy Z WhobreyAustralia2024-05-25Dorl, James J Esq PROPOSAL44Stephen Shaw
1033Maria A SergiUnited Kingdom2024-05-27Feiner Bros RENEWAL56Onyama Limba
1034Francesco D CaudyCanada2024-06-20Truhlar And Truhlar Attys NEGOTIATION1Amy Elsner
1035Aruna S CaudyCanada2024-06-09Morlong Associates NEGOTIATION64Amy Elsner
1036Maria Q KolmetzItaly2024-05-30Rousseaux, Michael Esq UNQUALIFIED47Stephen Shaw
1037Leja U GillianSpain2024-06-17King, Christopher A Esq RENEWAL99Onyama Limba
1038Jefferson M PaprockiFrance2024-05-24Morlong Associates PROPOSAL58Onyama Limba
1039Deepesh U CampainCanada2024-05-27Morlong Associates NEW58Asiya Javayant
1040Leon A MaletSpain2024-06-17Benton, John B Jr NEGOTIATION25Elwin Sharvill
1041Wickens G CaldareraCanada2024-06-10Printing Dimensions NEW9Asiya Javayant
1042Francesco V ButtBrazil2024-06-01Chapman, Ross E Esq NEW51Ivan Magalhaes
1043Murillo L NestleBrazil2024-06-12Chapman, Ross E Esq RENEWAL78Stephen Shaw
1044Aditya H RoysterJapan2024-06-05Truhlar And Truhlar Attys UNQUALIFIED86Ioni Bowcher
1045Ivar L GarufiSpain2024-06-05Commercial Press PROPOSAL61Stephen Shaw
1046Greenwood T WhobreyJapan2024-05-23Rousseaux, Michael Esq QUALIFIED36Elwin Sharvill
1047Salvatore Q OldroydRussia2024-06-07Feltz Printing Service UNQUALIFIED22Bernardo Dominic
1048Arvin F ButtAustralia2024-05-27Morlong Associates QUALIFIED39Xuxue Feng
1049Nicolas E FigeroaCanada2024-06-16Commercial Press QUALIFIED58Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Aditya C BriddickRussiaElwin Sharvill RENEWAL
Alejandro W CaudyRussiaOnyama Limba UNQUALIFIED
Cody L RutaUnited KingdomIvan Magalhaes NEGOTIATION
Aditya P AlbaresIndiaStephen Shaw QUALIFIED
Ivar K NickaItalyOnyama Limba PROPOSAL
Maisha N MaletRussiaAmy Elsner QUALIFIED
Wickens L TollnerBrazilAmy Elsner PROPOSAL
Jeanfrancois Y NickaItalyIvan Magalhaes UNQUALIFIED
Darci B OstroskyArgentinaAnna Fali NEGOTIATION
David Q TollnerAustraliaAnna Fali QUALIFIED
Kadeem F MacleadIndiaIoni Bowcher NEW
Rodrigues Z RoysterIndiaElwin Sharvill QUALIFIED
Jeanfrancois U ButtIndiaIoni Bowcher RENEWAL
Johnson E ShinkoFranceXuxue Feng QUALIFIED
Aika X NickaJapanAsiya Javayant RENEWAL
Ivar T FerenczGermanyAnna Fali NEGOTIATION
Munro Q RutaJapanIoni Bowcher RENEWAL
Antonio J DarakjyArgentinaOnyama Limba PROPOSAL
Claire G ShinkoAustraliaBernardo Dominic UNQUALIFIED
Salvatore R KolmetzArgentinaIvan Magalhaes UNQUALIFIED
Jennifer U MarrierAustraliaXuxue Feng NEGOTIATION
Ricardo I CaldareraGermanyAmy Elsner QUALIFIED
Costa X BologniaJapanStephen Shaw NEGOTIATION
Leon I PoquetteAustraliaAmy Elsner RENEWAL
Tony F AmigonUnited KingdomOnyama Limba QUALIFIED
Chavez O RoysterItalyIoni Bowcher RENEWAL
Wickens M SchemmerGermanyIoni Bowcher RENEWAL
Jones D RoysterBrazilElwin Sharvill RENEWAL
Tony G MorascaCanadaIvan Magalhaes PROPOSAL
Clifford T GillianUnited KingdomIvan Magalhaes UNQUALIFIED
Isabel H SlusarskiUnited KingdomIoni Bowcher UNQUALIFIED
Misaki U FerenczCanadaBernardo Dominic NEGOTIATION
Chavez N CampainRussiaXuxue Feng QUALIFIED
Nicolas H FollerUnited KingdomAnna Fali RENEWAL
Tony K CaldareraAustraliaIvan Magalhaes RENEWAL
Johnson H RimGermanyOnyama Limba QUALIFIED
Rodrigues J RutaFranceAsiya Javayant PROPOSAL
Sinclair W GlickGermanyXuxue Feng UNQUALIFIED
Aika W MarrierItalyElwin Sharvill UNQUALIFIED
Morrow B OldroydSpainIoni Bowcher QUALIFIED
Francesco H ShinkoBrazilXuxue Feng UNQUALIFIED
James A NestleJapanXuxue Feng PROPOSAL
Aditya X SaylorsBrazilOnyama Limba QUALIFIED
Smith B GillianCanadaIvan Magalhaes NEGOTIATION
Johnson M NestleItalyIvan Magalhaes PROPOSAL
Jones Z PerinGermanyElwin Sharvill UNQUALIFIED
Francesco K VocelkaFranceAsiya Javayant NEGOTIATION
Misaki J VenereBrazilAsiya Javayant RENEWAL
Juan P ButtBrazilElwin Sharvill NEW
Julie V AlbaresSpainIoni Bowcher QUALIFIED
Frozen Columns
Name
Misaki B Bowley
Mujtaba T Caldarera
Maisha A Nicka
Maria B Stenseth
Jeanfrancois O Flosi
Deepesh G Darakjy
Aika N Perin
Juan F Inouye
Chavez V Maclead
David A Kolmetz
Deepesh R Ferencz
Jones P Perin
David A Campain
Tony R Nestle
Chavez E Shinko
Rodrigues C Flosi
Costa W Marrier
Jeanfrancois J Morasca
Cody O Venere
Costa X Poquette
Aika Q Iturbide
Leja L Venere
Cody Y Darakjy
Munro W Sergi
Mayumi S Flosi
Deepesh W Slusarski
Kaitlin I Malet
Darci W Malet
Octavia W Ostrosky
Silvio F Rim
Juan U Nicka
Stacey J Sergi
Munro B Caudy
Claire A Whobrey
Greenwood D Shinko
Ricardo Y Figeroa
Leja Y Marrier
Salvatore B Chui
Munro W Inouye
Nicolas E Venere
Kaitlin P Whobrey
Johnson Z Gillian
Leja Y Garufi
Jefferson B Garufi
Jeanfrancois W Garufi
Antonio K Sergi
Mayumi E Butt
Mujtaba M Rulapaugh
Arvin C Stenseth
Jeanfrancois P Dilliard
IdCountryDate
1000Spain2024-05-30
1001France2024-06-08
1002Italy2024-06-10
1003France2024-06-01
1004Brazil2024-05-25
1005Australia2024-05-26
1006Germany2024-06-12
1007France2024-06-04
1008Canada2024-06-18
1009Spain2024-05-29
1010Russia2024-06-11
1011Brazil2024-06-02
1012Spain2024-05-30
1013Germany2024-06-17
1014Germany2024-06-14
1015Spain2024-06-15
1016Italy2024-06-01
1017Germany2024-06-05
1018Germany2024-06-10
1019India2024-06-03
1020Spain2024-05-27
1021Australia2024-06-07
1022France2024-06-10
1023India2024-06-10
1024France2024-05-29
1025India2024-05-29
1026Argentina2024-05-31
1027Japan2024-06-17
1028Canada2024-06-21
1029Japan2024-06-05
1030United Kingdom2024-06-09
1031United Kingdom2024-06-19
1032Australia2024-06-11
1033France2024-05-31
1034Germany2024-06-05
1035France2024-06-10
1036France2024-06-10
1037Argentina2024-06-07
1038Argentina2024-06-08
1039France2024-06-21
1040Russia2024-05-29
1041Spain2024-06-17
1042Canada2024-06-12
1043Australia2024-05-26
1044United Kingdom2024-05-23
1045India2024-05-31
1046Brazil2024-06-12
1047Argentina2024-06-06
1048Italy2024-05-30
1049Australia2024-06-17

On-Demand Data

NameIdCountryDate
Alejandro W Perin1000Russia2024-06-06
Francesco B Figeroa1001United Kingdom2024-06-13
Salvatore M Poquette1002India2024-05-31
Jeanfrancois P Briddick1003Argentina2024-06-07
Isabel H Oldroyd1004Canada2024-06-17
Greenwood F Campain1005Argentina2024-05-28
Sinclair U Foller1006Spain2024-06-14
Maria F Dilliard1007Italy2024-05-26
Faith C Kolmetz1008Japan2024-06-14
Aditya K Bowley1009Germany2024-05-31
Wickens X Butt1010Australia2024-06-07
Aika C Oldroyd1011Argentina2024-05-24
Kadeem G Slusarski1012Germany2024-06-04
Morrow L Kolmetz1013India2024-06-15
Aditya G Shinko1014Brazil2024-06-20
Costa P Dilliard1015Canada2024-05-23
Salvatore T Kusko1016Japan2024-06-09
Cody E Doe1017United Kingdom2024-05-31
Aditya A Doe1018Italy2024-06-09
Costa W Ruta1019Italy2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford N KuskoRussiaOnyama Limba NEW
Darci P WieserIndiaElwin Sharvill QUALIFIED
Deepesh N BologniaCanadaXuxue Feng QUALIFIED
Jones D BologniaSpainStephen Shaw NEGOTIATION
David G FigeroaJapanOnyama Limba RENEWAL
Salvatore F OstroskyCanadaAmy Elsner UNQUALIFIED
Kadeem F FollerBrazilAsiya Javayant RENEWAL
Ashley F WieserIndiaAnna Fali RENEWAL
Kadeem H BowleyUnited KingdomOnyama Limba NEW
Maisha P SaylorsRussiaBernardo Dominic QUALIFIED
Mujtaba J RulapaughGermanyStephen Shaw PROPOSAL
Munro F WaycottFranceStephen Shaw NEW
Juan F GauchoJapanAmy Elsner PROPOSAL
Nicolas T WaycottRussiaAsiya Javayant QUALIFIED
Johnson D PoquetteItalyStephen Shaw NEGOTIATION
Silvio H GauchoSpainAmy Elsner QUALIFIED
Faith W PaprockiRussiaStephen Shaw PROPOSAL
Francesco I SlusarskiFranceIvan Magalhaes QUALIFIED
Nicolas F NestleCanadaElwin Sharvill QUALIFIED
Adams P CaudyJapanXuxue Feng PROPOSAL
Octavia D SlusarskiAustraliaIvan Magalhaes PROPOSAL
Jones R ShinkoUnited KingdomOnyama Limba RENEWAL
Julie R RutaAustraliaAmy Elsner RENEWAL
Arvin E FigeroaItalyIvan Magalhaes UNQUALIFIED
David B OldroydRussiaAsiya Javayant NEGOTIATION
Mayumi J TollnerUnited KingdomElwin Sharvill RENEWAL
Leon D MarrierRussiaElwin Sharvill UNQUALIFIED
Arvin T RutaSpainStephen Shaw UNQUALIFIED
Juan I RulapaughFranceBernardo Dominic RENEWAL
Silvio M WieserJapanStephen Shaw RENEWAL
Isabel L DilliardRussiaAmy Elsner NEW
Chavez H MaletSpainIvan Magalhaes QUALIFIED
Morrow N NestleRussiaIoni Bowcher NEGOTIATION
Aruna F FollerAustraliaOnyama Limba RENEWAL
Kadeem R ChuiCanadaAnna Fali NEW
Johnson H FollerBrazilAmy Elsner RENEWAL
Silvio E MaletSpainIoni Bowcher NEGOTIATION
James Z VenereFranceXuxue Feng PROPOSAL
Kaitlin N DarakjyBrazilIoni Bowcher PROPOSAL
Izzy E OldroydCanadaXuxue Feng PROPOSAL

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