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
Jeanfrancois W SchemmerFranceBernardo Dominic PROPOSAL
Ashley K RulapaughAustraliaIvan Magalhaes QUALIFIED
Johnson L PerinRussiaXuxue Feng QUALIFIED
Stacey T SlusarskiRussiaElwin Sharvill RENEWAL
Smith B WieserFranceBernardo Dominic RENEWAL
Salvatore B VocelkaUnited KingdomBernardo Dominic PROPOSAL
Juan X GlickRussiaXuxue Feng RENEWAL
Izzy W NickaItalyIvan Magalhaes PROPOSAL
Clifford R BologniaJapanAsiya Javayant PROPOSAL
Cody A StensethRussiaStephen Shaw PROPOSAL
Adams P DoeItalyOnyama Limba NEW
Antonio S RulapaughItalyXuxue Feng PROPOSAL
Salvatore P WieserArgentinaAsiya Javayant PROPOSAL
Jefferson U StockhamBrazilAsiya Javayant UNQUALIFIED
Wickens P GlickGermanyOnyama Limba NEGOTIATION
Kaitlin W BologniaRussiaAmy Elsner PROPOSAL
Morrow L PerinGermanyXuxue Feng PROPOSAL
James G TollnerJapanStephen Shaw NEGOTIATION
Silvio T CaudyAustraliaIoni Bowcher UNQUALIFIED
Leon V GillianCanadaBernardo Dominic NEW
Sinclair N PerinRussiaElwin Sharvill UNQUALIFIED
Arvin N FlosiUnited KingdomAmy Elsner QUALIFIED
Arvin K VocelkaJapanOnyama Limba NEW
Alejandro G ButtUnited KingdomStephen Shaw RENEWAL
Rodrigues F CaudyAustraliaAsiya Javayant NEW
Juan P ChuiCanadaAsiya Javayant UNQUALIFIED
Aika Y NestleCanadaXuxue Feng UNQUALIFIED
Faith H CaudyJapanIvan Magalhaes NEW
Isabel O ShinkoIndiaOnyama Limba RENEWAL
Juan K OstroskyJapanAnna Fali NEGOTIATION
Francesco H MacleadIndiaBernardo Dominic RENEWAL
Ricardo E MaletBrazilIoni Bowcher NEW
Ashley V MarrierSpainElwin Sharvill NEGOTIATION
Aika Q NestleFranceElwin Sharvill UNQUALIFIED
Mayumi A DarakjyAustraliaAmy Elsner RENEWAL
Misaki M PerinJapanIvan Magalhaes NEGOTIATION
Adams E OstroskyRussiaIvan Magalhaes PROPOSAL
Salvatore G SlusarskiItalyElwin Sharvill NEGOTIATION
Rodrigues N BowleyBrazilIoni Bowcher PROPOSAL
Izzy A SlusarskiFranceIoni Bowcher PROPOSAL
Sinclair G VocelkaJapanXuxue Feng QUALIFIED
Jefferson X VocelkaRussiaXuxue Feng QUALIFIED
Alejandro U SaylorsSpainXuxue Feng NEW
Nicolas R RimAustraliaElwin Sharvill QUALIFIED
Chavez W KuskoRussiaElwin Sharvill NEGOTIATION
Leon A PaprockiJapanXuxue Feng PROPOSAL
Ivar P DilliardArgentinaBernardo Dominic PROPOSAL
James G NestleGermanyAnna Fali NEGOTIATION
Salvatore Z PerinItalyIoni Bowcher NEW
Jennifer R GarufiSpainAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kadeem M RutaUnited KingdomXuxue Feng NEGOTIATION
Rodrigues P CampainSpainIoni Bowcher NEGOTIATION
Stacey R FollerJapanBernardo Dominic QUALIFIED
Alejandro S CaudySpainAnna Fali NEGOTIATION
Leon W TollnerIndiaAmy Elsner NEGOTIATION
Juan S CaldareraRussiaAmy Elsner UNQUALIFIED
Isabel N MaletArgentinaAmy Elsner UNQUALIFIED
Cody B TollnerAustraliaIvan Magalhaes NEGOTIATION
Smith Q ButtFranceXuxue Feng NEGOTIATION
Aika I FerenczAustraliaAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore U OstroskyBrazil2024-06-12Benton, John B Jr UNQUALIFIED17Anna Fali
1001Salvatore M PaprockiUnited Kingdom2024-05-22Truhlar And Truhlar Attys RENEWAL15Ivan Magalhaes
1002Stacey Y MaletItaly2024-05-26Chanay, Jeffrey A Esq RENEWAL43Ivan Magalhaes
1003Octavia S OstroskyIndia2024-06-13Chemel, James L Cpa NEW91Elwin Sharvill
1004Cody L MacleadUnited Kingdom2024-05-20Dorl, James J Esq NEW18Stephen Shaw
1005Aditya Y StockhamSpain2024-05-22Buckley Miller Wright NEGOTIATION66Xuxue Feng
1006Jefferson H PaprockiAustralia2024-05-26Truhlar And Truhlar Attys NEW26Anna Fali
1007Murillo A FollerSpain2024-05-31Rangoni Of Florence UNQUALIFIED21Bernardo Dominic
1008Deepesh M BologniaIndia2024-05-24Benton, John B Jr NEGOTIATION87Amy Elsner
1009Wickens M DarakjyFrance2024-05-19Buckley Miller Wright NEGOTIATION72Anna Fali
1010Rodrigues N SergiUnited Kingdom2024-05-19Printing Dimensions RENEWAL23Bernardo Dominic
1011Alejandro F GillianUnited Kingdom2024-05-25Chanay, Jeffrey A Esq RENEWAL46Xuxue Feng
1012James C FollerBrazil2024-06-08Chemel, James L Cpa RENEWAL69Asiya Javayant
1013Mujtaba L VocelkaBrazil2024-05-22Truhlar And Truhlar Attys PROPOSAL89Elwin Sharvill
1014Stacey O SergiFrance2024-05-18Commercial Press UNQUALIFIED73Amy Elsner
1015Aruna B PoquetteCanada2024-05-27Morlong Associates NEGOTIATION5Onyama Limba
1016Nicolas G MorascaSpain2024-06-14Morlong Associates RENEWAL27Xuxue Feng
1017Wickens R RulapaughAustralia2024-05-23Truhlar And Truhlar Attys NEW76Bernardo Dominic
1018Leja X SergiAustralia2024-05-27Chemel, James L Cpa QUALIFIED86Amy Elsner
1019Leja L WaycottBrazil2024-05-21Dorl, James J Esq UNQUALIFIED74Elwin Sharvill
1020Wickens H FigeroaJapan2024-06-11Dorl, James J Esq UNQUALIFIED21Asiya Javayant
1021Mujtaba Y CaldareraIndia2024-05-20Rangoni Of Florence NEW61Asiya Javayant
1022Mayumi P FollerIndia2024-05-30Chanay, Jeffrey A Esq NEGOTIATION28Elwin Sharvill
1023Mujtaba L InouyeGermany2024-05-31Chapman, Ross E Esq RENEWAL65Bernardo Dominic
1024Mayumi U DarakjyRussia2024-05-18Chanay, Jeffrey A Esq PROPOSAL93Elwin Sharvill
1025Arvin S OstroskySpain2024-05-21Feiner Bros NEW9Xuxue Feng
1026Misaki Q RimAustralia2024-05-20Feltz Printing Service NEGOTIATION16Elwin Sharvill
1027Cody B RulapaughItaly2024-06-04Commercial Press RENEWAL59Amy Elsner
1028Johnson F WhobreyUnited Kingdom2024-06-11Truhlar And Truhlar Attys NEW17Stephen Shaw
1029Murillo C KuskoJapan2024-05-29Chapman, Ross E Esq NEW5Stephen Shaw
1030David W PerinIndia2024-05-24Morlong Associates QUALIFIED26Asiya Javayant
1031Jennifer A VenereArgentina2024-06-10Benton, John B Jr RENEWAL60Ioni Bowcher
1032Leja W StockhamUnited Kingdom2024-06-16Chemel, James L Cpa UNQUALIFIED84Bernardo Dominic
1033Kadeem D MacleadArgentina2024-05-26Rousseaux, Michael Esq NEW34Elwin Sharvill
1034David L WhobreySpain2024-05-22Rangoni Of Florence PROPOSAL26Stephen Shaw
1035Murillo J RutaUnited Kingdom2024-05-26Benton, John B Jr UNQUALIFIED73Ioni Bowcher
1036Juan N RutaSpain2024-05-29Rousseaux, Michael Esq PROPOSAL8Elwin Sharvill
1037Aditya Q NestleGermany2024-06-04Chemel, James L Cpa QUALIFIED32Ivan Magalhaes
1038Faith U SlusarskiRussia2024-06-12Truhlar And Truhlar Attys NEW21Anna Fali
1039Jennifer J ShinkoFrance2024-06-12Benton, John B Jr RENEWAL66Ivan Magalhaes
1040Salvatore V BriddickArgentina2024-06-15Feiner Bros RENEWAL96Anna Fali
1041Chavez C InouyeSpain2024-06-14Rangoni Of Florence UNQUALIFIED67Asiya Javayant
1042Salvatore O VenereRussia2024-06-10Commercial Press QUALIFIED0Elwin Sharvill
1043Ricardo B PoquetteSpain2024-05-24Buckley Miller Wright NEGOTIATION16Ivan Magalhaes
1044James G DarakjyAustralia2024-05-28Rousseaux, Michael Esq UNQUALIFIED38Amy Elsner
1045Deepesh A ButtItaly2024-05-29Benton, John B Jr NEW73Onyama Limba
1046Antonio H RoysterRussia2024-06-01Feltz Printing Service PROPOSAL14Xuxue Feng
1047Misaki A GarufiGermany2024-05-30Dorl, James J Esq PROPOSAL77Anna Fali
1048David K PoquetteUnited Kingdom2024-05-27Rousseaux, Michael Esq UNQUALIFIED45Ioni Bowcher
1049Nicolas N PerinAustralia2024-05-18Morlong Associates RENEWAL18Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Alejandro Z SlusarskiAustraliaStephen Shaw RENEWAL
Francesco L ButtFranceAnna Fali NEGOTIATION
Kaitlin W DarakjyFranceIoni Bowcher NEW
Jones N GlickGermanyElwin Sharvill PROPOSAL
Leja A AlbaresFranceAmy Elsner QUALIFIED
Isabel Z GauchoIndiaBernardo Dominic NEW
Chavez C RimRussiaIoni Bowcher PROPOSAL
Aruna Z IturbideItalyElwin Sharvill PROPOSAL
Munro T MaletCanadaXuxue Feng UNQUALIFIED
Greenwood Y InouyeSpainStephen Shaw NEW
Wickens D GlickJapanAnna Fali NEGOTIATION
Antonio Y NickaGermanyElwin Sharvill PROPOSAL
Misaki N GillianIndiaIoni Bowcher NEW
Julie X OldroydIndiaIvan Magalhaes UNQUALIFIED
Maisha N DarakjyArgentinaAsiya Javayant NEGOTIATION
Rodrigues X GillianCanadaAmy Elsner UNQUALIFIED
Jefferson C CaudyCanadaBernardo Dominic NEW
Tony R SaylorsBrazilAnna Fali RENEWAL
Isabel U AmigonRussiaXuxue Feng PROPOSAL
Aditya E SchemmerItalyIvan Magalhaes NEGOTIATION
Salvatore U AlbaresItalyIvan Magalhaes RENEWAL
Maria K GarufiItalyStephen Shaw RENEWAL
Sinclair A FlosiGermanyElwin Sharvill UNQUALIFIED
Johnson F RulapaughUnited KingdomAnna Fali UNQUALIFIED
Alejandro G VocelkaUnited KingdomOnyama Limba NEGOTIATION
Izzy F DoeArgentinaIvan Magalhaes NEW
Alejandro K OstroskyCanadaOnyama Limba QUALIFIED
Antonio A SaylorsSpainElwin Sharvill NEGOTIATION
Juan M ShinkoSpainElwin Sharvill RENEWAL
Salvatore M GlickBrazilStephen Shaw NEGOTIATION
Silvio C PaprockiBrazilAmy Elsner QUALIFIED
Smith W BologniaAustraliaAsiya Javayant UNQUALIFIED
Stacey I BriddickIndiaElwin Sharvill NEW
Wickens M FlosiCanadaOnyama Limba NEW
Leja N NestleUnited KingdomAmy Elsner PROPOSAL
Ivar D BriddickUnited KingdomAnna Fali PROPOSAL
Leja T KuskoJapanXuxue Feng UNQUALIFIED
Costa P AlbaresBrazilBernardo Dominic NEGOTIATION
Antonio C GarufiJapanStephen Shaw NEGOTIATION
Juan U DilliardJapanOnyama Limba UNQUALIFIED
Darci O DoeGermanyIvan Magalhaes NEW
Leon N FollerBrazilAnna Fali UNQUALIFIED
Adams M WieserSpainIoni Bowcher NEW
Jefferson N AmigonGermanyOnyama Limba QUALIFIED
Silvio F MacleadIndiaXuxue Feng QUALIFIED
Aruna A GillianArgentinaBernardo Dominic UNQUALIFIED
Arvin X StockhamFranceAnna Fali QUALIFIED
Darci S SaylorsSpainIvan Magalhaes QUALIFIED
Isabel M KuskoSpainIoni Bowcher NEW
Kaitlin T GlickUnited KingdomAnna Fali PROPOSAL
Frozen Columns
Name
Ricardo W Amigon
Sinclair Y Rim
David P Briddick
Claire Q Vocelka
Costa T Campain
James E Vocelka
David U Bowley
Silvio B Whobrey
Smith Y Poquette
Jones T Sergi
Kadeem B Waycott
Darci T Schemmer
Aditya Q Malet
Nicolas L Gaucho
Aika M Maclead
Mayumi A Inouye
Wickens Y Vocelka
Wickens J Slusarski
Greenwood I Figeroa
Jefferson A Briddick
Smith L Gaucho
Francesco U Flosi
Ivar K Darakjy
Mujtaba D Caudy
Aditya S Royster
Octavia F Campain
Maria O Perin
Kadeem R Ferencz
Deepesh Y Kolmetz
Greenwood A Caudy
Jennifer X Nicka
Faith P Caudy
Rodrigues I Ostrosky
Smith L Slusarski
Juan Y Garufi
Chavez H Stenseth
Sinclair P Malet
Wickens L Stockham
Wickens Z Oldroyd
Alejandro F Malet
Stacey P Saylors
Sinclair U Schemmer
Wickens L Inouye
Silvio Y Tollner
Cody N Gillian
Aika N Chui
Alejandro A Tollner
Ivar F Stenseth
Jefferson W Doe
Emily O Garufi
IdCountryDate
1000Australia2024-05-29
1001Spain2024-06-06
1002Spain2024-06-02
1003Japan2024-05-24
1004Spain2024-06-05
1005Japan2024-06-13
1006Canada2024-06-02
1007France2024-06-15
1008Spain2024-06-11
1009Japan2024-06-01
1010Italy2024-05-31
1011Spain2024-05-30
1012Brazil2024-05-26
1013Germany2024-06-02
1014Argentina2024-05-27
1015Russia2024-05-27
1016Spain2024-05-30
1017Argentina2024-06-06
1018Italy2024-05-20
1019United Kingdom2024-05-18
1020Argentina2024-06-03
1021Italy2024-06-03
1022Argentina2024-06-12
1023Brazil2024-06-05
1024France2024-06-01
1025Spain2024-06-06
1026Brazil2024-06-09
1027Russia2024-06-09
1028Italy2024-05-26
1029India2024-06-12
1030Canada2024-06-02
1031India2024-05-18
1032Russia2024-05-28
1033France2024-05-23
1034Spain2024-06-13
1035Russia2024-05-22
1036Germany2024-06-03
1037Australia2024-05-18
1038Canada2024-06-13
1039India2024-06-04
1040Spain2024-05-28
1041Italy2024-06-02
1042Spain2024-05-21
1043Australia2024-06-09
1044United Kingdom2024-06-08
1045Brazil2024-06-06
1046Italy2024-06-04
1047Australia2024-06-13
1048Italy2024-05-18
1049Australia2024-05-26

On-Demand Data

NameIdCountryDate
Costa L Tollner1000Italy2024-05-21
Salvatore W Foller1001United Kingdom2024-05-22
Ivar C Gillian1002United Kingdom2024-05-22
Francesco F Waycott1003Italy2024-05-19
Maisha Y Gaucho1004Australia2024-06-08
Antonio D Ruta1005Canada2024-06-03
Clifford G Malet1006France2024-06-02
Alejandro G Darakjy1007Argentina2024-05-20
Mayumi R Bolognia1008Japan2024-05-18
Wickens X Royster1009Brazil2024-06-10
Murillo E Garufi1010Australia2024-05-27
Francesco S Doe1011Australia2024-05-29
Mayumi F Ruta1012Germany2024-05-30
Leon U Kolmetz1013Russia2024-05-25
Adams H Garufi1014United Kingdom2024-05-19
Salvatore A Butt1015Argentina2024-06-06
Jefferson A Schemmer1016Canada2024-06-13
Julie C Iturbide1017India2024-06-02
Smith W Marrier1018Russia2024-06-05
Jennifer K Saylors1019United Kingdom2024-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody B VocelkaIndiaOnyama Limba RENEWAL
Costa Q SchemmerUnited KingdomXuxue Feng UNQUALIFIED
Nicolas F ChuiRussiaIoni Bowcher NEW
Nicolas J ShinkoSpainAnna Fali PROPOSAL
Adams T GlickUnited KingdomIvan Magalhaes NEGOTIATION
Tony C GlickArgentinaXuxue Feng RENEWAL
Maisha O DoeJapanElwin Sharvill NEGOTIATION
Stacey U SchemmerArgentinaAmy Elsner NEGOTIATION
Julie H GarufiGermanyElwin Sharvill NEW
Izzy Z SlusarskiItalyAmy Elsner PROPOSAL
Antonio O WaycottRussiaAsiya Javayant PROPOSAL
Ivar Q BowleyItalyOnyama Limba PROPOSAL
Sinclair D PerinGermanyElwin Sharvill NEW
Silvio K WieserCanadaAsiya Javayant NEGOTIATION
Alejandro S FigeroaItalyAsiya Javayant RENEWAL
Antonio I StensethUnited KingdomIvan Magalhaes RENEWAL
Wickens H BowleyArgentinaAsiya Javayant PROPOSAL
Ricardo V StockhamUnited KingdomElwin Sharvill PROPOSAL
Deepesh U StockhamUnited KingdomIoni Bowcher UNQUALIFIED
Smith G FigeroaRussiaStephen Shaw RENEWAL
Tony L AmigonArgentinaBernardo Dominic QUALIFIED
Isabel C DarakjyIndiaBernardo Dominic NEGOTIATION
Kadeem R DilliardArgentinaXuxue Feng NEGOTIATION
Mujtaba J GauchoIndiaOnyama Limba NEGOTIATION
Morrow T GillianAustraliaOnyama Limba NEGOTIATION
Aruna Q StensethJapanElwin Sharvill QUALIFIED
Tony D ShinkoRussiaIvan Magalhaes UNQUALIFIED
Octavia X RulapaughItalyAmy Elsner PROPOSAL
Aditya A PaprockiAustraliaBernardo Dominic PROPOSAL
Kadeem O BowleyFranceBernardo Dominic UNQUALIFIED
Izzy F NestleRussiaOnyama Limba QUALIFIED
Leja L GarufiFranceElwin Sharvill NEGOTIATION
Mujtaba Q InouyeIndiaIoni Bowcher QUALIFIED
Greenwood V GillianFranceStephen Shaw QUALIFIED
Isabel G WhobreySpainAnna Fali RENEWAL
Tony D ButtJapanElwin Sharvill QUALIFIED
Misaki B DarakjyArgentinaStephen Shaw NEGOTIATION
Claire W OstroskyCanadaOnyama Limba PROPOSAL
Leja W AlbaresSpainIvan Magalhaes QUALIFIED
Maria M NickaRussiaElwin Sharvill 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>