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
Salvatore I PaprockiBrazilAmy Elsner NEGOTIATION
Ashley E GlickRussiaBernardo Dominic NEW
Silvio F DoeUnited KingdomOnyama Limba NEGOTIATION
Johnson T MorascaBrazilBernardo Dominic NEGOTIATION
Silvio O SaylorsBrazilOnyama Limba NEW
Rodrigues S FollerJapanBernardo Dominic NEGOTIATION
Munro Y BologniaItalyAmy Elsner UNQUALIFIED
Antonio V BologniaIndiaAmy Elsner NEGOTIATION
Chavez F RoysterIndiaAnna Fali NEW
Isabel A FlosiAustraliaAsiya Javayant PROPOSAL
Isabel C ShinkoCanadaXuxue Feng UNQUALIFIED
Julie T OstroskyItalyStephen Shaw NEGOTIATION
Ivar W RoysterBrazilElwin Sharvill NEGOTIATION
Izzy K BologniaFranceAnna Fali PROPOSAL
Octavia E AmigonIndiaIoni Bowcher RENEWAL
Smith V OldroydIndiaXuxue Feng PROPOSAL
Octavia X RulapaughBrazilAsiya Javayant RENEWAL
Sinclair P MorascaFranceOnyama Limba UNQUALIFIED
Cody U BowleyGermanyXuxue Feng NEGOTIATION
Sinclair W WieserAustraliaOnyama Limba QUALIFIED
Salvatore Y FerenczRussiaBernardo Dominic RENEWAL
Sinclair P FlosiFranceAmy Elsner PROPOSAL
Mujtaba C FlosiGermanyStephen Shaw QUALIFIED
Greenwood V ChuiBrazilIoni Bowcher UNQUALIFIED
Mujtaba L WaycottGermanyAmy Elsner NEW
Rodrigues D ChuiJapanStephen Shaw QUALIFIED
Cody V StockhamArgentinaIvan Magalhaes PROPOSAL
James B SchemmerArgentinaAmy Elsner UNQUALIFIED
Stacey Z GauchoIndiaAmy Elsner NEGOTIATION
Silvio F ButtArgentinaBernardo Dominic NEGOTIATION
Wickens L OstroskyAustraliaBernardo Dominic QUALIFIED
Ricardo O WieserAustraliaXuxue Feng RENEWAL
Misaki R BriddickFranceIoni Bowcher NEGOTIATION
Jeanfrancois J MaletSpainAnna Fali NEW
Jeanfrancois E MaletCanadaBernardo Dominic QUALIFIED
David Y MorascaSpainXuxue Feng RENEWAL
Wickens Q KolmetzCanadaStephen Shaw RENEWAL
Jeanfrancois S VenereRussiaIoni Bowcher NEGOTIATION
Francesco B OstroskyIndiaIvan Magalhaes QUALIFIED
Tony Y RutaRussiaAsiya Javayant NEGOTIATION
Ivar H RutaUnited KingdomBernardo Dominic PROPOSAL
Octavia X BowleyUnited KingdomStephen Shaw UNQUALIFIED
Octavia G GlickFranceAmy Elsner QUALIFIED
Kaitlin W KuskoCanadaElwin Sharvill NEGOTIATION
James K CampainSpainStephen Shaw PROPOSAL
Jefferson G MaletFranceIvan Magalhaes RENEWAL
Emily V AlbaresGermanyXuxue Feng RENEWAL
Misaki J CaudyJapanXuxue Feng NEW
Mayumi K AlbaresAustraliaXuxue Feng QUALIFIED
Silvio A RimArgentinaBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maisha T VenereUnited KingdomBernardo Dominic RENEWAL
Sinclair O DilliardBrazilStephen Shaw QUALIFIED
Isabel Y RimItalyIvan Magalhaes RENEWAL
Ivar E RutaIndiaElwin Sharvill NEGOTIATION
Morrow H MaletArgentinaAmy Elsner UNQUALIFIED
Izzy P KolmetzIndiaBernardo Dominic NEW
Deepesh U WhobreyUnited KingdomXuxue Feng QUALIFIED
Mayumi H BowleyCanadaAmy Elsner NEGOTIATION
Faith B AlbaresArgentinaBernardo Dominic QUALIFIED
Mayumi X KolmetzCanadaIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo Y SergiAustralia2024-05-03Printing Dimensions RENEWAL93Ivan Magalhaes
1001Kadeem O MaletRussia2024-04-30Chemel, James L Cpa PROPOSAL60Ioni Bowcher
1002Chavez A PoquetteFrance2024-05-12Truhlar And Truhlar Attys NEGOTIATION74Anna Fali
1003Maria Y SaylorsGermany2024-05-24Chapman, Ross E Esq RENEWAL1Onyama Limba
1004Tony D BriddickArgentina2024-05-21King, Christopher A Esq UNQUALIFIED91Xuxue Feng
1005Johnson C MorascaBrazil2024-05-08Chemel, James L Cpa UNQUALIFIED66Ioni Bowcher
1006Deepesh B OstroskyItaly2024-05-03Chanay, Jeffrey A Esq UNQUALIFIED51Asiya Javayant
1007Clifford H SaylorsRussia2024-05-12Morlong Associates NEW83Asiya Javayant
1008Deepesh Q StensethAustralia2024-05-11Benton, John B Jr QUALIFIED10Stephen Shaw
1009Clifford N FlosiJapan2024-05-04Feltz Printing Service NEGOTIATION98Ivan Magalhaes
1010Stacey N StockhamRussia2024-05-26Feltz Printing Service PROPOSAL48Ioni Bowcher
1011Johnson T ButtBrazil2024-05-24Feiner Bros UNQUALIFIED87Onyama Limba
1012Rodrigues J RulapaughSpain2024-05-14Chanay, Jeffrey A Esq NEGOTIATION13Stephen Shaw
1013Wickens L WhobreyRussia2024-05-10Chemel, James L Cpa QUALIFIED41Stephen Shaw
1014Silvio D IturbideBrazil2024-05-05Printing Dimensions UNQUALIFIED61Xuxue Feng
1015Adams J TollnerSpain2024-05-05Rousseaux, Michael Esq PROPOSAL20Stephen Shaw
1016Isabel C VenereItaly2024-05-15Rousseaux, Michael Esq PROPOSAL24Xuxue Feng
1017Arvin Q DilliardGermany2024-05-03Feiner Bros NEGOTIATION33Elwin Sharvill
1018Kadeem B DilliardJapan2024-05-21King, Christopher A Esq NEGOTIATION60Anna Fali
1019Leja I RimUnited Kingdom2024-05-03Printing Dimensions NEGOTIATION38Stephen Shaw
1020Nicolas E DarakjyCanada2024-05-13Printing Dimensions QUALIFIED15Xuxue Feng
1021Adams Z KolmetzRussia2024-05-20Feiner Bros NEW89Onyama Limba
1022Jefferson H WieserFrance2024-05-02Commercial Press PROPOSAL33Stephen Shaw
1023Jennifer M GillianIndia2024-05-22Feiner Bros QUALIFIED92Onyama Limba
1024Alejandro A SlusarskiJapan2024-05-05Morlong Associates NEW0Asiya Javayant
1025Wickens Q DoeBrazil2024-05-07Truhlar And Truhlar Attys QUALIFIED66Ivan Magalhaes
1026Ivar F CampainCanada2024-05-05Morlong Associates PROPOSAL20Asiya Javayant
1027Julie G RimCanada2024-05-25Feltz Printing Service NEW6Elwin Sharvill
1028Morrow B SlusarskiSpain2024-05-16Feiner Bros PROPOSAL81Elwin Sharvill
1029Ashley J CaldareraUnited Kingdom2024-05-13Commercial Press PROPOSAL17Asiya Javayant
1030Julie M FollerRussia2024-05-11Dorl, James J Esq QUALIFIED95Onyama Limba
1031Faith K SchemmerGermany2024-05-22Printing Dimensions QUALIFIED98Amy Elsner
1032David T RoysterFrance2024-05-15Chemel, James L Cpa NEGOTIATION6Ivan Magalhaes
1033Greenwood X RoysterIndia2024-05-11Rousseaux, Michael Esq NEGOTIATION10Ivan Magalhaes
1034Johnson M NickaAustralia2024-05-05Dorl, James J Esq RENEWAL56Ioni Bowcher
1035Ashley L DilliardAustralia2024-05-04Rangoni Of Florence NEW60Ivan Magalhaes
1036Aruna T StensethArgentina2024-05-09Buckley Miller Wright UNQUALIFIED95Ivan Magalhaes
1037Antonio K MorascaBrazil2024-05-15Rangoni Of Florence PROPOSAL48Xuxue Feng
1038Faith Q GlickItaly2024-05-24Chapman, Ross E Esq NEGOTIATION13Anna Fali
1039Aika Z GlickIndia2024-05-09Rousseaux, Michael Esq NEGOTIATION66Amy Elsner
1040Misaki F PerinIndia2024-05-18Rousseaux, Michael Esq PROPOSAL93Amy Elsner
1041Smith D GillianAustralia2024-04-29Truhlar And Truhlar Attys NEGOTIATION18Stephen Shaw
1042Leja I GarufiAustralia2024-04-30Truhlar And Truhlar Attys UNQUALIFIED39Ioni Bowcher
1043Clifford I MorascaUnited Kingdom2024-05-20Chemel, James L Cpa PROPOSAL62Onyama Limba
1044James M InouyeGermany2024-04-30Buckley Miller Wright QUALIFIED15Xuxue Feng
1045Munro V CaldareraBrazil2024-04-28Feiner Bros UNQUALIFIED48Ioni Bowcher
1046Clifford V VocelkaBrazil2024-04-29Feltz Printing Service UNQUALIFIED22Anna Fali
1047Jones O KolmetzGermany2024-05-17Feiner Bros UNQUALIFIED39Amy Elsner
1048Chavez Q CaudyGermany2024-05-25Morlong Associates RENEWAL41Xuxue Feng
1049Cody X CaldareraBrazil2024-05-25Feltz Printing Service UNQUALIFIED37Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Nicolas V SergiBrazilElwin Sharvill PROPOSAL
Leon F RoysterArgentinaIvan Magalhaes QUALIFIED
Isabel S CaldareraUnited KingdomStephen Shaw UNQUALIFIED
Murillo I SaylorsFranceElwin Sharvill NEW
Sinclair D WieserGermanyElwin Sharvill UNQUALIFIED
Chavez R ChuiBrazilElwin Sharvill RENEWAL
Francesco X SaylorsAustraliaBernardo Dominic QUALIFIED
Ricardo A CaldareraSpainAnna Fali NEGOTIATION
Alejandro O RoysterAustraliaStephen Shaw PROPOSAL
Chavez P GillianFranceStephen Shaw NEW
Emily X MaletGermanyAnna Fali QUALIFIED
Greenwood Y OstroskyFranceXuxue Feng RENEWAL
Johnson Q BologniaJapanAsiya Javayant NEGOTIATION
Morrow T CaudyJapanElwin Sharvill QUALIFIED
Mujtaba E KolmetzRussiaElwin Sharvill NEGOTIATION
Chavez E PerinGermanyBernardo Dominic RENEWAL
Leja F KuskoJapanIoni Bowcher UNQUALIFIED
Leon O SaylorsAustraliaIvan Magalhaes QUALIFIED
Juan V VenereArgentinaAnna Fali NEW
Emily D PoquetteAustraliaAmy Elsner NEW
Jones P MaletIndiaBernardo Dominic RENEWAL
Ashley F OstroskyJapanAmy Elsner PROPOSAL
Julie H OstroskyGermanyAsiya Javayant RENEWAL
Wickens G PaprockiBrazilOnyama Limba NEW
Maisha S KolmetzArgentinaBernardo Dominic QUALIFIED
Clifford L NickaBrazilIvan Magalhaes QUALIFIED
Murillo H ShinkoItalyAnna Fali PROPOSAL
Tony D SaylorsBrazilOnyama Limba PROPOSAL
Jefferson H ButtArgentinaIvan Magalhaes RENEWAL
Ivar A OldroydUnited KingdomStephen Shaw PROPOSAL
Jones U DilliardSpainIoni Bowcher QUALIFIED
Silvio Z GlickAustraliaAmy Elsner RENEWAL
Maisha A RimGermanyAsiya Javayant NEGOTIATION
Jefferson C WaycottFranceAmy Elsner QUALIFIED
Ivar P WhobreyGermanyAmy Elsner PROPOSAL
Sinclair L FigeroaAustraliaElwin Sharvill NEGOTIATION
Francesco B PaprockiFranceBernardo Dominic RENEWAL
Alejandro K SergiBrazilBernardo Dominic RENEWAL
Chavez V CaldareraFranceXuxue Feng RENEWAL
Sinclair U MaletRussiaIoni Bowcher NEW
Maisha T VocelkaArgentinaIoni Bowcher PROPOSAL
Juan E MorascaUnited KingdomStephen Shaw RENEWAL
Ivar L GarufiAustraliaElwin Sharvill QUALIFIED
Jeanfrancois P GarufiBrazilAsiya Javayant QUALIFIED
Mujtaba O BowleyUnited KingdomElwin Sharvill PROPOSAL
Deepesh U OldroydItalyIvan Magalhaes QUALIFIED
James R CampainAustraliaAsiya Javayant QUALIFIED
Claire G AmigonGermanyAsiya Javayant RENEWAL
Antonio L VenereIndiaBernardo Dominic PROPOSAL
Maria Q BologniaFranceOnyama Limba QUALIFIED
Frozen Columns
Name
Maria L Albares
Silvio G Campain
Claire T Doe
Morrow V Maclead
Maisha E Campain
Juan R Kusko
Sinclair N Oldroyd
Wickens G Rulapaugh
Johnson R Glick
Greenwood W Stenseth
Ivar T Gillian
Ricardo P Slusarski
Ricardo S Stenseth
Julie Q Malet
Chavez R Tollner
Silvio E Foller
Antonio A Whobrey
Alejandro K Stenseth
Johnson W Dilliard
Claire V Briddick
Isabel P Albares
Ricardo H Maclead
Juan R Briddick
Maisha U Stenseth
Chavez M Rulapaugh
David P Marrier
Leon H Butt
Juan H Figeroa
Julie T Gaucho
Mayumi B Slusarski
Kadeem F Venere
Ivar F Darakjy
Morrow M Bowley
Ashley D Maclead
Leja V Briddick
Chavez E Rulapaugh
Leja R Kusko
Faith D Royster
Johnson W Marrier
Misaki Q Gaucho
Chavez E Royster
Octavia W Slusarski
Silvio Q Nestle
Claire O Gaucho
Aruna K Dilliard
Nicolas L Saylors
Antonio R Bolognia
Mayumi H Iturbide
James N Briddick
Wickens V Paprocki
IdCountryDate
1000Australia2024-05-11
1001Italy2024-05-10
1002Germany2024-05-13
1003Brazil2024-05-19
1004Canada2024-04-27
1005France2024-05-24
1006Japan2024-05-10
1007Argentina2024-05-23
1008Japan2024-05-02
1009India2024-04-28
1010Australia2024-05-10
1011Spain2024-05-04
1012Italy2024-05-10
1013Spain2024-05-14
1014United Kingdom2024-05-23
1015United Kingdom2024-05-21
1016Italy2024-04-28
1017Russia2024-04-30
1018Canada2024-04-28
1019Russia2024-04-30
1020United Kingdom2024-05-26
1021Japan2024-05-15
1022United Kingdom2024-05-12
1023Germany2024-05-15
1024Canada2024-04-29
1025Australia2024-05-06
1026Japan2024-05-16
1027Japan2024-05-23
1028Spain2024-04-28
1029Italy2024-05-03
1030Brazil2024-05-04
1031Italy2024-05-22
1032Russia2024-05-20
1033India2024-05-05
1034Australia2024-05-02
1035Argentina2024-05-07
1036Italy2024-05-18
1037Germany2024-05-11
1038Canada2024-05-24
1039United Kingdom2024-05-19
1040Canada2024-05-04
1041Japan2024-05-10
1042Canada2024-05-10
1043Italy2024-05-21
1044Italy2024-05-01
1045Italy2024-05-06
1046Brazil2024-05-11
1047Australia2024-04-30
1048Japan2024-05-24
1049Russia2024-04-27

On-Demand Data

NameIdCountryDate
Wickens X Darakjy1000Japan2024-05-12
Jefferson N Royster1001Canada2024-05-18
Wickens H Shinko1002Spain2024-04-30
Isabel R Ruta1003Japan2024-05-14
Francesco Y Doe1004Japan2024-05-07
Munro W Perin1005India2024-05-03
Ashley Q Kolmetz1006Australia2024-05-13
Faith U Caldarera1007Brazil2024-04-27
Octavia F Maclead1008Argentina2024-05-19
Alejandro M Ferencz1009Russia2024-05-06
Maisha P Butt1010Japan2024-05-08
Wickens Y Albares1011Brazil2024-04-28
Sinclair Q Wieser1012Brazil2024-05-11
Misaki X Venere1013India2024-05-04
David I Whobrey1014Germany2024-05-14
Aika M Butt1015India2024-05-21
Ricardo R Bowley1016Russia2024-05-05
Nicolas D Slusarski1017Argentina2024-05-09
Claire D Nicka1018India2024-04-30
Emily T Butt1019Spain2024-05-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin V CaudyAustraliaBernardo Dominic UNQUALIFIED
Murillo X CaldareraAustraliaStephen Shaw NEW
Claire G VenereAustraliaStephen Shaw RENEWAL
Costa Q OstroskyItalyOnyama Limba PROPOSAL
Greenwood J DarakjyCanadaOnyama Limba NEW
Johnson W IturbideItalyIvan Magalhaes QUALIFIED
Nicolas L CampainArgentinaElwin Sharvill NEW
Aditya F RulapaughArgentinaIvan Magalhaes UNQUALIFIED
Ashley Q PerinBrazilElwin Sharvill NEGOTIATION
Kaitlin T SlusarskiSpainStephen Shaw NEGOTIATION
Jeanfrancois H BriddickFranceXuxue Feng PROPOSAL
Jones D StensethAustraliaStephen Shaw QUALIFIED
James F RutaSpainXuxue Feng QUALIFIED
Darci R RimJapanXuxue Feng QUALIFIED
David F TollnerFranceXuxue Feng UNQUALIFIED
Francesco H PerinItalyIvan Magalhaes UNQUALIFIED
Murillo L SchemmerFranceIvan Magalhaes NEGOTIATION
Jones H RoysterItalyXuxue Feng PROPOSAL
Morrow U AmigonCanadaXuxue Feng NEGOTIATION
Octavia V RutaUnited KingdomOnyama Limba NEW
Francesco Q GarufiSpainAnna Fali PROPOSAL
Aika R FerenczGermanyAmy Elsner NEGOTIATION
Aruna W ChuiRussiaIoni Bowcher PROPOSAL
Alejandro N VocelkaItalyIoni Bowcher UNQUALIFIED
Mujtaba J InouyeItalyAnna Fali UNQUALIFIED
Munro L MarrierAustraliaIoni Bowcher QUALIFIED
Emily U GlickArgentinaIvan Magalhaes PROPOSAL
Jones C WieserSpainStephen Shaw QUALIFIED
Aruna F MarrierUnited KingdomElwin Sharvill QUALIFIED
Leja T NickaJapanAmy Elsner NEGOTIATION
Silvio D WhobreyFranceAnna Fali UNQUALIFIED
Salvatore I SergiGermanyIvan Magalhaes RENEWAL
Juan K KuskoUnited KingdomStephen Shaw PROPOSAL
Maisha Z StensethJapanAsiya Javayant UNQUALIFIED
Rodrigues I NickaUnited KingdomStephen Shaw NEGOTIATION
Ashley H WaycottSpainAnna Fali UNQUALIFIED
Ricardo T OldroydIndiaXuxue Feng RENEWAL
Jeanfrancois O MaletCanadaAnna Fali NEW
Greenwood C SaylorsRussiaIvan Magalhaes PROPOSAL
Sinclair M RulapaughAustraliaBernardo Dominic NEGOTIATION

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