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
Aruna X CaldareraJapanAsiya Javayant UNQUALIFIED
Claire X SchemmerSpainElwin Sharvill PROPOSAL
Smith S WaycottUnited KingdomBernardo Dominic QUALIFIED
Aditya W WhobreyBrazilStephen Shaw NEGOTIATION
Aruna V OstroskyIndiaElwin Sharvill QUALIFIED
Munro F PerinAustraliaStephen Shaw NEGOTIATION
Darci W SchemmerAustraliaXuxue Feng UNQUALIFIED
Ashley W KolmetzFranceIvan Magalhaes UNQUALIFIED
Stacey W MacleadCanadaIvan Magalhaes NEGOTIATION
Stacey N ChuiGermanyElwin Sharvill RENEWAL
Isabel O SaylorsFranceAmy Elsner NEGOTIATION
Munro B RoysterRussiaElwin Sharvill RENEWAL
Silvio N MacleadJapanAnna Fali UNQUALIFIED
Tony N SergiJapanAsiya Javayant UNQUALIFIED
Jennifer Y WaycottCanadaBernardo Dominic PROPOSAL
Sinclair T MaletIndiaOnyama Limba NEGOTIATION
James T StockhamArgentinaAsiya Javayant QUALIFIED
Julie B RulapaughUnited KingdomBernardo Dominic PROPOSAL
Rodrigues W GarufiCanadaAmy Elsner QUALIFIED
Wickens B StensethCanadaAmy Elsner NEW
Mujtaba A ChuiBrazilStephen Shaw QUALIFIED
James H SchemmerUnited KingdomAsiya Javayant QUALIFIED
Adams N GlickRussiaIoni Bowcher NEGOTIATION
David L MarrierAustraliaAmy Elsner NEW
Salvatore E TollnerArgentinaXuxue Feng RENEWAL
Smith Z GauchoRussiaOnyama Limba PROPOSAL
Jefferson B GlickFranceXuxue Feng NEW
Johnson V FlosiUnited KingdomElwin Sharvill QUALIFIED
Aruna Y WaycottFranceXuxue Feng UNQUALIFIED
Morrow H CampainCanadaBernardo Dominic NEGOTIATION
Cody L IturbideBrazilElwin Sharvill PROPOSAL
Misaki L SchemmerAustraliaStephen Shaw UNQUALIFIED
Morrow H RimItalyAsiya Javayant QUALIFIED
Nicolas U PoquetteArgentinaStephen Shaw NEGOTIATION
Leon U MorascaBrazilOnyama Limba NEW
Arvin Y CaudyArgentinaStephen Shaw UNQUALIFIED
Costa T WhobreyItalyAsiya Javayant UNQUALIFIED
Munro I CaudyItalyAmy Elsner UNQUALIFIED
Munro J MorascaFranceStephen Shaw PROPOSAL
Smith D FerenczRussiaAsiya Javayant QUALIFIED
Smith Y FollerBrazilStephen Shaw PROPOSAL
Isabel F WieserFranceIvan Magalhaes QUALIFIED
Jones X BowleyArgentinaStephen Shaw NEW
Kaitlin O VocelkaIndiaElwin Sharvill UNQUALIFIED
Rodrigues Z CaldareraJapanElwin Sharvill NEGOTIATION
Aika X MarrierRussiaElwin Sharvill QUALIFIED
Costa O DoeJapanIoni Bowcher PROPOSAL
Costa B ShinkoGermanyStephen Shaw NEW
Clifford S FerenczGermanyOnyama Limba UNQUALIFIED
Rodrigues E StockhamJapanIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Emily I FlosiIndiaBernardo Dominic NEW
Izzy K ButtArgentinaElwin Sharvill QUALIFIED
Cody F FigeroaJapanBernardo Dominic RENEWAL
Julie H IturbideJapanXuxue Feng NEGOTIATION
Leon B KuskoGermanyAsiya Javayant NEW
Julie M InouyeFranceBernardo Dominic NEGOTIATION
Leon H OldroydUnited KingdomIvan Magalhaes NEGOTIATION
Maisha B InouyeCanadaAsiya Javayant NEW
Ricardo F TollnerItalyAnna Fali NEGOTIATION
Sinclair I NickaRussiaIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna D RoysterItaly2024-05-07Chemel, James L Cpa QUALIFIED28Elwin Sharvill
1001Darci C VenereIndia2024-04-27Benton, John B Jr QUALIFIED64Xuxue Feng
1002Leja J MarrierBrazil2024-04-27Printing Dimensions NEGOTIATION47Anna Fali
1003Costa E PoquetteBrazil2024-05-15Chanay, Jeffrey A Esq NEW52Onyama Limba
1004Johnson G BowleySpain2024-05-18Chapman, Ross E Esq QUALIFIED75Amy Elsner
1005Maisha N NestleJapan2024-05-25King, Christopher A Esq RENEWAL22Bernardo Dominic
1006Murillo X BowleyJapan2024-04-27Benton, John B Jr RENEWAL98Amy Elsner
1007Munro T BowleyIndia2024-05-23Buckley Miller Wright NEGOTIATION20Bernardo Dominic
1008Octavia W BriddickArgentina2024-05-18Feltz Printing Service NEW11Anna Fali
1009Kaitlin H NestleGermany2024-05-02Chanay, Jeffrey A Esq RENEWAL74Asiya Javayant
1010Juan K WhobreyCanada2024-05-22Feltz Printing Service QUALIFIED75Onyama Limba
1011Juan D BriddickRussia2024-05-15Chapman, Ross E Esq NEGOTIATION36Ivan Magalhaes
1012Jones X CaldareraFrance2024-05-07Buckley Miller Wright NEW53Bernardo Dominic
1013Mujtaba L PaprockiGermany2024-04-27Chemel, James L Cpa UNQUALIFIED88Ioni Bowcher
1014Silvio T SlusarskiAustralia2024-05-18Chanay, Jeffrey A Esq NEGOTIATION38Ivan Magalhaes
1015Stacey V CampainUnited Kingdom2024-05-24Morlong Associates UNQUALIFIED81Asiya Javayant
1016Alejandro O OstroskyGermany2024-05-05Printing Dimensions QUALIFIED97Xuxue Feng
1017Jones R KolmetzAustralia2024-05-17Commercial Press NEW7Amy Elsner
1018Mayumi A VocelkaUnited Kingdom2024-05-24Morlong Associates NEGOTIATION67Stephen Shaw
1019James J FerenczIndia2024-05-17Commercial Press NEGOTIATION18Ivan Magalhaes
1020Alejandro N RimUnited Kingdom2024-04-28King, Christopher A Esq NEGOTIATION70Bernardo Dominic
1021Cody Z PaprockiRussia2024-05-18Rousseaux, Michael Esq PROPOSAL27Bernardo Dominic
1022Francesco S RoysterSpain2024-05-17Truhlar And Truhlar Attys RENEWAL12Anna Fali
1023Faith F StensethUnited Kingdom2024-05-23Rousseaux, Michael Esq RENEWAL60Amy Elsner
1024Jennifer F MaletFrance2024-05-14Printing Dimensions UNQUALIFIED30Asiya Javayant
1025Munro J BologniaFrance2024-04-28Printing Dimensions NEW98Anna Fali
1026Isabel F PoquetteBrazil2024-05-13Chanay, Jeffrey A Esq UNQUALIFIED21Elwin Sharvill
1027Silvio D WhobreyBrazil2024-05-25King, Christopher A Esq NEW46Asiya Javayant
1028Arvin K FlosiFrance2024-05-12Truhlar And Truhlar Attys QUALIFIED82Ivan Magalhaes
1029Mayumi T ShinkoFrance2024-05-25Rangoni Of Florence UNQUALIFIED36Onyama Limba
1030Alejandro X KuskoBrazil2024-05-06Truhlar And Truhlar Attys QUALIFIED91Ioni Bowcher
1031Emily I SaylorsSpain2024-05-02Truhlar And Truhlar Attys PROPOSAL51Onyama Limba
1032Maisha D WaycottIndia2024-05-23Dorl, James J Esq PROPOSAL28Stephen Shaw
1033Kadeem E GarufiJapan2024-05-14Printing Dimensions UNQUALIFIED61Xuxue Feng
1034Claire A NestleBrazil2024-05-11Feiner Bros PROPOSAL39Ivan Magalhaes
1035Aruna E PoquetteGermany2024-04-27Chapman, Ross E Esq QUALIFIED53Ivan Magalhaes
1036Aruna D SergiSpain2024-05-03Buckley Miller Wright NEGOTIATION24Ivan Magalhaes
1037Juan K WhobreyUnited Kingdom2024-05-13Printing Dimensions UNQUALIFIED79Xuxue Feng
1038Munro L SlusarskiGermany2024-05-23Buckley Miller Wright NEW95Asiya Javayant
1039Cody P BologniaGermany2024-05-06Feltz Printing Service NEGOTIATION64Stephen Shaw
1040Antonio K WieserUnited Kingdom2024-05-09Rousseaux, Michael Esq NEW5Onyama Limba
1041Antonio N RoysterBrazil2024-05-12Chapman, Ross E Esq PROPOSAL84Ivan Magalhaes
1042Antonio W KolmetzArgentina2024-05-05Rangoni Of Florence QUALIFIED67Ioni Bowcher
1043Morrow H MarrierGermany2024-04-30Rangoni Of Florence QUALIFIED42Ivan Magalhaes
1044Jeanfrancois A PaprockiIndia2024-05-02King, Christopher A Esq QUALIFIED67Stephen Shaw
1045Jones V TollnerJapan2024-05-23Feltz Printing Service UNQUALIFIED42Onyama Limba
1046Misaki Z RulapaughSpain2024-05-13Buckley Miller Wright NEGOTIATION21Elwin Sharvill
1047Salvatore H BriddickGermany2024-05-16Dorl, James J Esq QUALIFIED1Ioni Bowcher
1048Nicolas M RutaBrazil2024-05-06Chanay, Jeffrey A Esq NEW98Ioni Bowcher
1049Jones T AmigonFrance2024-05-17King, Christopher A Esq UNQUALIFIED4Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Izzy X RimCanadaBernardo Dominic UNQUALIFIED
Jeanfrancois S DilliardArgentinaXuxue Feng RENEWAL
Arvin K SchemmerFranceXuxue Feng NEGOTIATION
Greenwood W RulapaughFranceOnyama Limba QUALIFIED
Rodrigues D MaletFranceOnyama Limba UNQUALIFIED
Juan X MaletGermanyStephen Shaw RENEWAL
Johnson R RulapaughUnited KingdomAnna Fali PROPOSAL
Ricardo G NestleRussiaAmy Elsner NEW
Costa A GlickGermanyIoni Bowcher NEGOTIATION
Izzy F GauchoSpainStephen Shaw PROPOSAL
Arvin D RutaGermanyIoni Bowcher QUALIFIED
Smith L BowleySpainStephen Shaw NEGOTIATION
Wickens N DarakjyJapanStephen Shaw PROPOSAL
Mujtaba X AmigonAustraliaAmy Elsner NEGOTIATION
Greenwood L RutaIndiaOnyama Limba UNQUALIFIED
Leon G TollnerArgentinaAnna Fali NEW
Faith U BriddickCanadaAsiya Javayant PROPOSAL
James N BriddickCanadaOnyama Limba QUALIFIED
Ivar F NestleArgentinaElwin Sharvill PROPOSAL
Costa F BologniaItalyStephen Shaw NEGOTIATION
Silvio O PerinUnited KingdomXuxue Feng QUALIFIED
Francesco P WhobreyBrazilAmy Elsner QUALIFIED
Deepesh K VocelkaSpainAsiya Javayant PROPOSAL
James T StockhamBrazilOnyama Limba PROPOSAL
Jeanfrancois S MacleadRussiaAmy Elsner RENEWAL
Murillo Z OldroydJapanAsiya Javayant NEW
Chavez X GarufiRussiaBernardo Dominic NEW
Francesco Z TollnerSpainOnyama Limba RENEWAL
Antonio K MacleadIndiaAnna Fali NEW
Arvin U SchemmerBrazilAmy Elsner NEGOTIATION
Darci L DarakjyRussiaAsiya Javayant QUALIFIED
David B CaldareraRussiaIoni Bowcher NEW
Greenwood M FollerCanadaAnna Fali NEGOTIATION
Wickens D IturbideAustraliaBernardo Dominic RENEWAL
Darci X KolmetzItalyAnna Fali PROPOSAL
Salvatore U OstroskyIndiaElwin Sharvill RENEWAL
Antonio Q BowleyArgentinaAsiya Javayant RENEWAL
David P StensethRussiaOnyama Limba NEW
Ivar K MacleadGermanyStephen Shaw QUALIFIED
Izzy Y RutaGermanyStephen Shaw RENEWAL
Smith B VenereAustraliaElwin Sharvill QUALIFIED
Stacey R BowleySpainXuxue Feng NEW
Clifford J WieserItalyXuxue Feng PROPOSAL
Clifford G NestleSpainXuxue Feng QUALIFIED
Alejandro V GauchoIndiaAnna Fali RENEWAL
Murillo A MaletGermanyAmy Elsner NEGOTIATION
Salvatore C IturbideSpainElwin Sharvill NEGOTIATION
Leon R OldroydRussiaIoni Bowcher PROPOSAL
Murillo X RimIndiaElwin Sharvill NEGOTIATION
Jones X SaylorsBrazilStephen Shaw NEGOTIATION
Frozen Columns
Name
Emily C Gaucho
Maria W Tollner
Kadeem Q Marrier
Sinclair K Amigon
Juan L Briddick
Emily E Whobrey
Isabel F Schemmer
Maisha H Waycott
Ashley N Flosi
Rodrigues C Inouye
Julie R Poquette
Chavez O Perin
Rodrigues P Caudy
Sinclair Q Malet
Faith L Waycott
Kadeem I Campain
Nicolas M Oldroyd
Jeanfrancois X Tollner
Darci N Briddick
Juan W Stockham
Smith N Darakjy
Jeanfrancois W Malet
Jeanfrancois F Glick
Cody P Ferencz
Ivar F Gillian
Maisha R Stenseth
Rodrigues Q Kolmetz
Maisha P Darakjy
James J Kolmetz
Aika I Darakjy
Leon R Saylors
Murillo O Iturbide
Jeanfrancois D Marrier
Jeanfrancois N Amigon
Izzy X Amigon
Rodrigues B Iturbide
Ashley J Nestle
Mayumi O Perin
Nicolas U Perin
Costa V Amigon
Leja T Nicka
Chavez C Nestle
Leja N Foller
Deepesh I Flosi
Ricardo S Gillian
Silvio Q Garufi
Mujtaba Q Malet
Chavez O Ostrosky
Wickens G Gillian
Jennifer F Ruta
IdCountryDate
1000Brazil2024-05-06
1001Canada2024-05-22
1002United Kingdom2024-05-23
1003United Kingdom2024-05-07
1004Australia2024-05-17
1005Germany2024-05-07
1006United Kingdom2024-05-25
1007Canada2024-05-14
1008Brazil2024-05-13
1009United Kingdom2024-05-11
1010Australia2024-04-28
1011Russia2024-05-04
1012France2024-05-08
1013Italy2024-05-06
1014Italy2024-05-11
1015Australia2024-05-05
1016Canada2024-05-16
1017United Kingdom2024-05-25
1018Spain2024-05-10
1019Argentina2024-05-22
1020Brazil2024-05-20
1021India2024-05-24
1022France2024-05-24
1023Germany2024-05-08
1024Spain2024-05-04
1025Germany2024-05-06
1026Australia2024-05-03
1027Spain2024-05-14
1028United Kingdom2024-05-06
1029United Kingdom2024-05-25
1030Russia2024-05-10
1031Brazil2024-05-23
1032United Kingdom2024-05-15
1033Russia2024-05-04
1034India2024-05-11
1035Russia2024-05-15
1036Argentina2024-05-14
1037India2024-04-29
1038Russia2024-04-28
1039Japan2024-05-15
1040Spain2024-05-20
1041Russia2024-05-19
1042Russia2024-05-20
1043United Kingdom2024-05-06
1044Russia2024-05-16
1045Brazil2024-05-19
1046Canada2024-04-27
1047Argentina2024-05-25
1048Argentina2024-05-16
1049Italy2024-05-10

On-Demand Data

NameIdCountryDate
Rodrigues J Inouye1000Canada2024-04-30
Wickens Z Waycott1001Spain2024-05-24
Greenwood V Chui1002Canada2024-05-18
Izzy K Waycott1003Brazil2024-04-28
Clifford X Nicka1004Brazil2024-05-18
Rodrigues N Venere1005Spain2024-05-10
Leon W Kusko1006France2024-04-30
Costa N Paprocki1007Japan2024-04-28
Mujtaba A Royster1008Argentina2024-05-14
Rodrigues A Perin1009Argentina2024-05-19
Kaitlin Z Glick1010Italy2024-04-27
Izzy M Dilliard1011Russia2024-04-29
Kaitlin K Iturbide1012Japan2024-05-26
Smith W Doe1013Argentina2024-05-22
Smith H Inouye1014Japan2024-05-22
Stacey W Doe1015Brazil2024-05-25
Julie Y Shinko1016Spain2024-05-10
Darci P Oldroyd1017Japan2024-05-10
Chavez P Chui1018Italy2024-05-21
Ashley C Saylors1019Brazil2024-05-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan S WhobreyUnited KingdomIoni Bowcher PROPOSAL
Aika T OstroskyCanadaIvan Magalhaes NEW
Smith H FigeroaArgentinaAsiya Javayant PROPOSAL
David J ChuiUnited KingdomIoni Bowcher RENEWAL
Aditya W AmigonAustraliaElwin Sharvill NEGOTIATION
Jeanfrancois Q BriddickSpainAnna Fali UNQUALIFIED
Mayumi E ChuiAustraliaIoni Bowcher RENEWAL
Antonio S CaudyAustraliaAmy Elsner PROPOSAL
Ricardo C AlbaresIndiaBernardo Dominic PROPOSAL
Jeanfrancois H VenereFranceOnyama Limba PROPOSAL
Antonio U KolmetzFranceIoni Bowcher QUALIFIED
Mayumi B BriddickSpainAmy Elsner UNQUALIFIED
Ricardo P IturbideGermanyOnyama Limba QUALIFIED
Adams F VocelkaUnited KingdomStephen Shaw RENEWAL
Greenwood U PoquetteItalyBernardo Dominic NEGOTIATION
Ashley O StensethRussiaXuxue Feng UNQUALIFIED
Aditya M RimRussiaAmy Elsner QUALIFIED
Johnson E WhobreyJapanAnna Fali PROPOSAL
Adams F BowleyCanadaElwin Sharvill QUALIFIED
Emily O SchemmerIndiaStephen Shaw NEW
Octavia F MaletJapanIoni Bowcher RENEWAL
Adams C NickaCanadaIvan Magalhaes NEGOTIATION
Murillo O FerenczArgentinaAnna Fali QUALIFIED
Jones X StensethSpainIvan Magalhaes UNQUALIFIED
Silvio W NickaFranceIoni Bowcher QUALIFIED
Julie J StensethFranceIvan Magalhaes QUALIFIED
Mujtaba B GauchoBrazilAsiya Javayant UNQUALIFIED
Jennifer D ShinkoIndiaAmy Elsner NEGOTIATION
Adams P GillianSpainAmy Elsner RENEWAL
Faith Y SlusarskiIndiaIoni Bowcher PROPOSAL
Jones J CaldareraSpainAmy Elsner NEGOTIATION
Ashley Q GillianBrazilAsiya Javayant QUALIFIED
Wickens C RoysterIndiaIvan Magalhaes RENEWAL
Aika A DilliardRussiaAnna Fali UNQUALIFIED
Antonio Z FigeroaFranceAsiya Javayant RENEWAL
Tony G GlickSpainAmy Elsner PROPOSAL
Claire J FollerBrazilIvan Magalhaes QUALIFIED
Stacey U MaletCanadaAnna Fali NEW
Ivar T MaletAustraliaStephen Shaw NEW
Sinclair I BowleyGermanyStephen Shaw QUALIFIED

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