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
Faith I DarakjyItalyAsiya Javayant NEW
Deepesh J InouyeItalyAnna Fali NEGOTIATION
Jefferson K SergiFranceElwin Sharvill PROPOSAL
Ashley F ButtIndiaAsiya Javayant RENEWAL
Morrow K GlickItalyStephen Shaw QUALIFIED
Jefferson B WhobreyUnited KingdomAnna Fali QUALIFIED
Jones K NickaGermanyAmy Elsner RENEWAL
Darci A GauchoUnited KingdomXuxue Feng RENEWAL
Salvatore S GillianGermanyBernardo Dominic PROPOSAL
Silvio U VocelkaArgentinaOnyama Limba PROPOSAL
Chavez L GillianAustraliaAnna Fali NEW
Emily T RutaArgentinaIoni Bowcher NEGOTIATION
Alejandro V GarufiSpainOnyama Limba NEGOTIATION
Kaitlin E ShinkoSpainOnyama Limba NEGOTIATION
Sinclair I NestleJapanXuxue Feng QUALIFIED
Deepesh L OldroydAustraliaIoni Bowcher RENEWAL
Smith R CaudyCanadaElwin Sharvill NEW
Aruna O AlbaresArgentinaOnyama Limba RENEWAL
Clifford D TollnerJapanBernardo Dominic PROPOSAL
Johnson V SlusarskiGermanyBernardo Dominic QUALIFIED
Nicolas S FigeroaGermanyOnyama Limba NEW
Sinclair F SergiJapanAnna Fali QUALIFIED
Ricardo T WaycottIndiaAsiya Javayant QUALIFIED
Stacey B SchemmerCanadaAmy Elsner NEW
Antonio R SergiGermanyBernardo Dominic NEGOTIATION
Aditya I MaletRussiaStephen Shaw NEGOTIATION
Ricardo T PerinCanadaAsiya Javayant RENEWAL
Jeanfrancois S CaldareraUnited KingdomOnyama Limba UNQUALIFIED
Alejandro W AmigonSpainXuxue Feng NEGOTIATION
Munro O NestleArgentinaXuxue Feng NEGOTIATION
Aditya Q NickaCanadaBernardo Dominic UNQUALIFIED
Alejandro T FerenczSpainStephen Shaw QUALIFIED
Jeanfrancois E ShinkoUnited KingdomOnyama Limba PROPOSAL
Jeanfrancois C RulapaughArgentinaIoni Bowcher PROPOSAL
Smith R StensethIndiaBernardo Dominic PROPOSAL
Murillo F GillianGermanyAsiya Javayant UNQUALIFIED
Murillo K AmigonRussiaBernardo Dominic NEGOTIATION
Deepesh G KolmetzItalyOnyama Limba UNQUALIFIED
Kadeem J InouyeCanadaAnna Fali UNQUALIFIED
Aruna W MorascaUnited KingdomElwin Sharvill PROPOSAL
Aruna V GarufiRussiaAsiya Javayant QUALIFIED
Rodrigues R WieserSpainAsiya Javayant PROPOSAL
Kadeem Y AmigonCanadaElwin Sharvill PROPOSAL
Ricardo Z SaylorsUnited KingdomElwin Sharvill QUALIFIED
Leja H ShinkoFranceXuxue Feng QUALIFIED
Rodrigues S DoeItalyBernardo Dominic QUALIFIED
Jones I FerenczIndiaXuxue Feng PROPOSAL
Misaki P SchemmerRussiaIvan Magalhaes PROPOSAL
Mayumi C OstroskyRussiaAsiya Javayant NEW
Wickens V WhobreyItalyIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Murillo A MarrierGermanyBernardo Dominic PROPOSAL
Kadeem M FerenczFranceIvan Magalhaes QUALIFIED
Morrow A GauchoFranceOnyama Limba RENEWAL
Mayumi T TollnerAustraliaIoni Bowcher UNQUALIFIED
Jefferson F PoquetteFranceXuxue Feng RENEWAL
Jeanfrancois S PerinBrazilStephen Shaw NEGOTIATION
Cody X PerinFranceIvan Magalhaes QUALIFIED
Deepesh J RutaArgentinaIoni Bowcher UNQUALIFIED
Cody U WaycottArgentinaXuxue Feng QUALIFIED
Wickens D KolmetzGermanyAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja K PoquetteFrance2024-04-29Chanay, Jeffrey A Esq PROPOSAL39Bernardo Dominic
1001Greenwood M AmigonFrance2024-05-02Buckley Miller Wright PROPOSAL55Ivan Magalhaes
1002Morrow P GauchoFrance2024-04-27Feltz Printing Service QUALIFIED15Xuxue Feng
1003Costa Z BowleyRussia2024-05-06King, Christopher A Esq QUALIFIED11Ivan Magalhaes
1004Ashley O GlickJapan2024-05-04Benton, John B Jr PROPOSAL50Bernardo Dominic
1005David E FollerArgentina2024-05-22King, Christopher A Esq RENEWAL16Ivan Magalhaes
1006Johnson Z DilliardCanada2024-05-07Feltz Printing Service UNQUALIFIED27Stephen Shaw
1007Arvin Y CaldareraArgentina2024-05-16Rangoni Of Florence NEW54Anna Fali
1008Chavez Y InouyeAustralia2024-05-15Truhlar And Truhlar Attys RENEWAL4Amy Elsner
1009Johnson H PoquetteFrance2024-04-25Feltz Printing Service UNQUALIFIED93Xuxue Feng
1010Salvatore R SlusarskiCanada2024-05-08Rousseaux, Michael Esq RENEWAL17Ioni Bowcher
1011Alejandro A MaletFrance2024-05-19Commercial Press QUALIFIED84Ioni Bowcher
1012Jefferson T VenereSpain2024-05-18Truhlar And Truhlar Attys NEGOTIATION82Ivan Magalhaes
1013Stacey C SlusarskiJapan2024-04-26King, Christopher A Esq RENEWAL11Amy Elsner
1014Maria T KuskoFrance2024-05-01Rousseaux, Michael Esq RENEWAL47Onyama Limba
1015Jones H WhobreyGermany2024-05-09Chapman, Ross E Esq RENEWAL80Stephen Shaw
1016Jones T DoeGermany2024-05-14Truhlar And Truhlar Attys RENEWAL68Amy Elsner
1017Rodrigues R FerenczItaly2024-05-08Benton, John B Jr QUALIFIED93Xuxue Feng
1018Jones B FigeroaCanada2024-05-04Rousseaux, Michael Esq QUALIFIED31Ioni Bowcher
1019Kaitlin W ChuiUnited Kingdom2024-05-10Printing Dimensions NEW0Stephen Shaw
1020Kadeem V AlbaresItaly2024-04-26Buckley Miller Wright RENEWAL5Stephen Shaw
1021Silvio N SchemmerRussia2024-05-12Feiner Bros NEW52Asiya Javayant
1022Izzy L MorascaIndia2024-05-22Chemel, James L Cpa NEGOTIATION21Xuxue Feng
1023Rodrigues D FerenczJapan2024-05-13King, Christopher A Esq NEW92Amy Elsner
1024Ivar Z RutaItaly2024-05-02Chemel, James L Cpa UNQUALIFIED69Ioni Bowcher
1025Jefferson N OldroydFrance2024-04-28Chapman, Ross E Esq PROPOSAL77Elwin Sharvill
1026Isabel D ChuiArgentina2024-05-09Chanay, Jeffrey A Esq RENEWAL34Ioni Bowcher
1027Misaki D WhobreyFrance2024-05-19Benton, John B Jr NEGOTIATION69Onyama Limba
1028Aika A RutaFrance2024-05-20Buckley Miller Wright NEW7Ivan Magalhaes
1029Johnson J ButtGermany2024-04-30King, Christopher A Esq RENEWAL14Ioni Bowcher
1030David N GlickArgentina2024-05-19Chemel, James L Cpa RENEWAL64Amy Elsner
1031Maisha O MorascaFrance2024-05-15Chemel, James L Cpa RENEWAL56Elwin Sharvill
1032Johnson T SaylorsUnited Kingdom2024-04-26Benton, John B Jr UNQUALIFIED48Anna Fali
1033Mujtaba E SaylorsAustralia2024-05-07Chapman, Ross E Esq QUALIFIED98Bernardo Dominic
1034Stacey A VenereBrazil2024-04-28Rousseaux, Michael Esq NEW56Elwin Sharvill
1035Kaitlin J RulapaughSpain2024-04-27Rangoni Of Florence PROPOSAL11Stephen Shaw
1036Maria L DilliardAustralia2024-04-26Chemel, James L Cpa QUALIFIED85Elwin Sharvill
1037Misaki Q PerinSpain2024-05-09Truhlar And Truhlar Attys QUALIFIED97Stephen Shaw
1038Adams N OstroskyJapan2024-04-28Printing Dimensions QUALIFIED51Elwin Sharvill
1039Greenwood O SlusarskiArgentina2024-05-17Feltz Printing Service UNQUALIFIED94Anna Fali
1040Antonio B StensethRussia2024-05-13Buckley Miller Wright PROPOSAL16Elwin Sharvill
1041Cody F AlbaresSpain2024-05-03Benton, John B Jr NEGOTIATION69Asiya Javayant
1042Nicolas U VocelkaSpain2024-05-17Chapman, Ross E Esq NEGOTIATION76Bernardo Dominic
1043Rodrigues Q FigeroaIndia2024-05-02Chemel, James L Cpa NEGOTIATION14Bernardo Dominic
1044Greenwood N GlickFrance2024-05-19Chanay, Jeffrey A Esq NEGOTIATION52Amy Elsner
1045Jeanfrancois A NickaFrance2024-05-20Feiner Bros UNQUALIFIED61Ivan Magalhaes
1046Costa V KolmetzFrance2024-05-18Commercial Press UNQUALIFIED86Stephen Shaw
1047Juan O MorascaFrance2024-05-11Dorl, James J Esq UNQUALIFIED28Bernardo Dominic
1048Ricardo C AmigonArgentina2024-04-26Benton, John B Jr NEGOTIATION54Ioni Bowcher
1049Kadeem W IturbideGermany2024-04-28Feiner Bros RENEWAL64Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Leja F AlbaresFranceOnyama Limba QUALIFIED
Octavia D BowleyGermanyOnyama Limba NEW
David F DoeUnited KingdomBernardo Dominic UNQUALIFIED
Adams O VenereIndiaIoni Bowcher QUALIFIED
Octavia X GarufiArgentinaOnyama Limba UNQUALIFIED
Emily X SchemmerIndiaAmy Elsner RENEWAL
Juan O NestleArgentinaXuxue Feng UNQUALIFIED
Jones W DarakjyRussiaStephen Shaw QUALIFIED
Kaitlin N FlosiIndiaAnna Fali NEW
Maria W ButtSpainStephen Shaw NEW
Costa O FigeroaSpainStephen Shaw RENEWAL
Leja H SchemmerGermanyAsiya Javayant NEGOTIATION
Antonio N KolmetzFranceElwin Sharvill NEGOTIATION
Leja V MarrierAustraliaXuxue Feng UNQUALIFIED
Salvatore M MaletIndiaIvan Magalhaes RENEWAL
Mujtaba S KuskoItalyIoni Bowcher UNQUALIFIED
Faith K GarufiAustraliaXuxue Feng PROPOSAL
Ricardo L NestleGermanyStephen Shaw QUALIFIED
Claire A GlickJapanElwin Sharvill RENEWAL
Murillo F KuskoJapanStephen Shaw NEW
Munro E FlosiItalyXuxue Feng UNQUALIFIED
Maisha E MacleadAustraliaAmy Elsner PROPOSAL
Kadeem E WieserUnited KingdomBernardo Dominic NEGOTIATION
Morrow W OldroydArgentinaStephen Shaw QUALIFIED
Maisha V GauchoGermanyAnna Fali RENEWAL
David B VocelkaIndiaAsiya Javayant NEW
Kadeem P PoquetteFranceElwin Sharvill RENEWAL
Misaki U MarrierAustraliaElwin Sharvill QUALIFIED
Misaki Y MacleadArgentinaStephen Shaw PROPOSAL
Rodrigues M BologniaArgentinaElwin Sharvill PROPOSAL
Silvio M VocelkaItalyAsiya Javayant RENEWAL
Ivar N DilliardItalyOnyama Limba UNQUALIFIED
Clifford L MaletItalyXuxue Feng UNQUALIFIED
Leja Z BologniaArgentinaXuxue Feng QUALIFIED
Faith O ChuiCanadaBernardo Dominic RENEWAL
Maria R VenereRussiaBernardo Dominic NEW
Darci B OstroskyBrazilAmy Elsner RENEWAL
Jefferson A AlbaresItalyIoni Bowcher UNQUALIFIED
Greenwood A VenereJapanAnna Fali NEW
Alejandro K MaletGermanyIoni Bowcher RENEWAL
Maisha K VocelkaGermanyElwin Sharvill QUALIFIED
Johnson M RimRussiaAsiya Javayant UNQUALIFIED
Ivar Z GarufiBrazilAsiya Javayant NEGOTIATION
Leon D SchemmerCanadaXuxue Feng PROPOSAL
Antonio O VocelkaUnited KingdomStephen Shaw RENEWAL
Kaitlin X CaudyAustraliaStephen Shaw RENEWAL
Arvin O WhobreyBrazilIoni Bowcher NEGOTIATION
Greenwood N SlusarskiSpainElwin Sharvill PROPOSAL
Leja Q ButtArgentinaXuxue Feng QUALIFIED
Aditya W PoquetteSpainXuxue Feng NEGOTIATION
Frozen Columns
Name
Isabel J Darakjy
Izzy E Schemmer
Smith V Gaucho
Isabel Y Nestle
Aditya F Tollner
Nicolas H Nicka
Alejandro N Iturbide
Murillo H Morasca
Alejandro I Shinko
Murillo U Bowley
Aika T Schemmer
Isabel S Butt
Jones J Bolognia
Aika T Poquette
Greenwood I Schemmer
Morrow N Butt
Alejandro J Perin
Kaitlin J Flosi
Kadeem Z Briddick
Adams P Flosi
Leon O Shinko
Clifford X Ferencz
Sinclair F Nicka
Faith R Foller
Murillo N Kolmetz
Arvin L Royster
Antonio G Foller
Jeanfrancois M Caudy
Mujtaba E Gillian
Costa L Schemmer
Chavez Z Venere
Jennifer P Nicka
Rodrigues C Kolmetz
Aruna B Maclead
Tony H Doe
Darci I Poquette
Leja N Dilliard
Antonio U Briddick
Cody R Whobrey
Jefferson Q Stenseth
Leon N Stenseth
Jones S Oldroyd
Chavez I Slusarski
Leon C Butt
Jeanfrancois P Sergi
James F Malet
Antonio C Sergi
Darci C Whobrey
Izzy G Poquette
Smith O Perin
IdCountryDate
1000Japan2024-05-20
1001India2024-05-21
1002Russia2024-05-21
1003France2024-04-28
1004Australia2024-05-17
1005France2024-05-01
1006Australia2024-04-26
1007Germany2024-05-04
1008Italy2024-04-28
1009United Kingdom2024-05-07
1010Brazil2024-05-02
1011Canada2024-05-04
1012France2024-04-26
1013Brazil2024-05-20
1014France2024-04-25
1015Australia2024-05-01
1016Italy2024-05-18
1017Canada2024-05-06
1018Argentina2024-05-13
1019Japan2024-04-27
1020India2024-05-06
1021Russia2024-04-25
1022Argentina2024-04-26
1023Spain2024-05-03
1024India2024-05-22
1025Canada2024-05-16
1026Japan2024-04-28
1027Germany2024-05-02
1028Spain2024-05-15
1029Australia2024-05-17
1030United Kingdom2024-04-30
1031Italy2024-05-17
1032Argentina2024-04-30
1033Australia2024-05-21
1034Canada2024-05-09
1035Italy2024-05-02
1036Australia2024-05-04
1037United Kingdom2024-05-15
1038Italy2024-05-20
1039Germany2024-04-26
1040France2024-05-05
1041Japan2024-05-19
1042Brazil2024-05-19
1043Germany2024-05-23
1044France2024-05-14
1045Russia2024-05-18
1046France2024-05-01
1047Brazil2024-05-14
1048France2024-05-02
1049Brazil2024-05-20

On-Demand Data

NameIdCountryDate
Jones I Figeroa1000Brazil2024-04-30
Jennifer D Poquette1001Russia2024-05-16
Ashley V Briddick1002India2024-04-29
Morrow D Bolognia1003Brazil2024-05-03
Murillo V Shinko1004Canada2024-05-02
Greenwood G Campain1005Australia2024-05-12
Clifford M Ostrosky1006Brazil2024-04-28
Deepesh N Ferencz1007Spain2024-05-11
Silvio H Morasca1008Germany2024-05-02
Deepesh R Venere1009Spain2024-05-10
Rodrigues C Waycott1010Japan2024-05-21
Izzy Y Venere1011Germany2024-04-29
Deepesh D Royster1012Italy2024-05-10
Johnson V Ostrosky1013France2024-05-08
Jennifer V Stockham1014Brazil2024-05-10
Johnson Z Darakjy1015Germany2024-05-16
Smith B Morasca1016Japan2024-04-30
Mujtaba M Caldarera1017Brazil2024-05-06
Jeanfrancois T Morasca1018Argentina2024-05-05
Arvin R Rulapaugh1019France2024-04-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna Z NestleAustraliaBernardo Dominic NEGOTIATION
Octavia G SchemmerFranceElwin Sharvill PROPOSAL
Juan E WieserSpainIoni Bowcher QUALIFIED
Alejandro Z WieserFranceAmy Elsner UNQUALIFIED
Nicolas Z ChuiArgentinaIvan Magalhaes NEW
Maisha R PoquetteUnited KingdomIvan Magalhaes NEW
Salvatore V GarufiBrazilIvan Magalhaes QUALIFIED
Salvatore L AlbaresArgentinaStephen Shaw QUALIFIED
Ricardo J KolmetzUnited KingdomOnyama Limba QUALIFIED
Antonio H DoeArgentinaBernardo Dominic NEGOTIATION
Alejandro D MarrierBrazilElwin Sharvill RENEWAL
Sinclair P SlusarskiArgentinaAnna Fali NEGOTIATION
David S MaletFranceIvan Magalhaes NEW
James Y FigeroaRussiaBernardo Dominic QUALIFIED
Jefferson Q SaylorsIndiaAmy Elsner RENEWAL
Francesco Q CaldareraGermanyAsiya Javayant UNQUALIFIED
Greenwood Q ButtCanadaXuxue Feng RENEWAL
Isabel O StockhamItalyElwin Sharvill PROPOSAL
Aruna W PoquetteBrazilBernardo Dominic NEGOTIATION
Costa Z RutaArgentinaBernardo Dominic NEW
Ivar E VenereAustraliaXuxue Feng NEGOTIATION
Maria Z ShinkoRussiaIvan Magalhaes NEGOTIATION
Clifford E GarufiIndiaBernardo Dominic PROPOSAL
Sinclair M SlusarskiItalyIoni Bowcher RENEWAL
Izzy Y MorascaAustraliaAnna Fali RENEWAL
Salvatore Y PoquetteFranceOnyama Limba QUALIFIED
Arvin B SchemmerBrazilAnna Fali NEW
Arvin L FigeroaItalyAsiya Javayant RENEWAL
Murillo W MorascaArgentinaOnyama Limba UNQUALIFIED
Greenwood X FigeroaArgentinaAmy Elsner QUALIFIED
Juan T IturbideUnited KingdomAmy Elsner NEGOTIATION
Wickens D KolmetzArgentinaStephen Shaw NEW
Julie T GarufiGermanyXuxue Feng UNQUALIFIED
Julie J RimGermanyIvan Magalhaes RENEWAL
Tony E MaletArgentinaOnyama Limba NEW
Silvio W VocelkaArgentinaIvan Magalhaes UNQUALIFIED
Salvatore H DarakjySpainOnyama Limba NEGOTIATION
Kadeem A FollerFranceXuxue Feng PROPOSAL
Leja P FollerArgentinaStephen Shaw QUALIFIED
Darci G StockhamItalyIoni Bowcher 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>