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
Misaki Q RoysterItalyXuxue Feng NEGOTIATION
Misaki J ChuiGermanyStephen Shaw NEW
Jones U StockhamCanadaStephen Shaw RENEWAL
Costa L KolmetzUnited KingdomElwin Sharvill UNQUALIFIED
Jeanfrancois Y OstroskyFranceAsiya Javayant RENEWAL
Jones H OstroskyFranceBernardo Dominic NEGOTIATION
Greenwood A FerenczItalyIvan Magalhaes UNQUALIFIED
Chavez V BowleyAustraliaAsiya Javayant NEGOTIATION
Darci E GillianJapanStephen Shaw NEW
Greenwood M InouyeItalyBernardo Dominic PROPOSAL
Jefferson R CaldareraAustraliaIoni Bowcher NEW
Cody A StensethIndiaElwin Sharvill NEW
Morrow P SaylorsAustraliaAnna Fali QUALIFIED
Octavia Q GillianRussiaBernardo Dominic RENEWAL
Rodrigues P ShinkoAustraliaIvan Magalhaes QUALIFIED
Greenwood P WaycottBrazilXuxue Feng PROPOSAL
Rodrigues B WhobreyJapanIoni Bowcher RENEWAL
Isabel X RulapaughBrazilOnyama Limba PROPOSAL
Smith M MaletItalyAnna Fali NEW
Johnson G ShinkoJapanIvan Magalhaes UNQUALIFIED
Claire F ButtUnited KingdomOnyama Limba RENEWAL
Chavez W GauchoJapanBernardo Dominic NEGOTIATION
Darci P StensethBrazilAsiya Javayant PROPOSAL
Emily S WieserCanadaStephen Shaw UNQUALIFIED
Jennifer D DarakjyUnited KingdomStephen Shaw QUALIFIED
Ricardo Z RimAustraliaStephen Shaw PROPOSAL
Rodrigues M NestleItalyAnna Fali PROPOSAL
Misaki G MarrierBrazilAnna Fali NEGOTIATION
Munro L FerenczArgentinaIoni Bowcher QUALIFIED
Francesco A OstroskyRussiaIvan Magalhaes NEGOTIATION
Izzy A PerinIndiaXuxue Feng RENEWAL
Faith V BologniaArgentinaAnna Fali PROPOSAL
Juan E FlosiFranceAnna Fali QUALIFIED
Silvio N OldroydGermanyAmy Elsner PROPOSAL
Wickens C FigeroaCanadaIvan Magalhaes QUALIFIED
Silvio M KuskoCanadaElwin Sharvill NEGOTIATION
Clifford R ShinkoJapanBernardo Dominic QUALIFIED
Ivar Z BowleyFranceBernardo Dominic NEGOTIATION
Kadeem F VocelkaArgentinaAsiya Javayant RENEWAL
Ivar A InouyeAustraliaIoni Bowcher RENEWAL
Tony D WaycottRussiaAnna Fali NEW
Aditya F TollnerIndiaAmy Elsner UNQUALIFIED
Aruna N FlosiAustraliaIoni Bowcher QUALIFIED
Wickens Q WaycottGermanyOnyama Limba RENEWAL
Jeanfrancois Y FollerSpainOnyama Limba NEW
Jefferson F FlosiFranceOnyama Limba UNQUALIFIED
Stacey C SchemmerFranceIoni Bowcher RENEWAL
Mayumi D FerenczArgentinaAsiya Javayant NEGOTIATION
Rodrigues B FigeroaArgentinaOnyama Limba NEGOTIATION
Adams W RutaItalyAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leon P SergiGermanyElwin Sharvill NEGOTIATION
Smith M MacleadIndiaAnna Fali NEGOTIATION
Murillo D StockhamFranceAmy Elsner NEW
Jeanfrancois C WaycottBrazilAmy Elsner RENEWAL
Isabel W FerenczUnited KingdomAnna Fali NEGOTIATION
Morrow H StensethRussiaStephen Shaw NEW
Wickens C OstroskyFranceStephen Shaw NEW
Darci D FerenczIndiaOnyama Limba NEW
Mayumi O GlickGermanyBernardo Dominic RENEWAL
Arvin K WieserJapanElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson O FollerJapan2026-07-24Feiner Bros NEGOTIATION39Anna Fali
1001Morrow A DilliardUnited Kingdom2026-07-29Printing Dimensions NEW45Elwin Sharvill
1002Munro S BologniaSpain2026-07-31Benton, John B Jr RENEWAL98Onyama Limba
1003Murillo L AmigonUnited Kingdom2026-07-30Morlong Associates QUALIFIED16Amy Elsner
1004Ashley L FlosiArgentina2026-08-07Chemel, James L Cpa QUALIFIED5Anna Fali
1005Antonio W DoeGermany2026-08-20Truhlar And Truhlar Attys PROPOSAL13Asiya Javayant
1006Cody G GlickFrance2026-08-07King, Christopher A Esq NEW36Bernardo Dominic
1007Chavez P DoeCanada2026-08-08Chanay, Jeffrey A Esq UNQUALIFIED10Asiya Javayant
1008Emily D ButtJapan2026-08-21Buckley Miller Wright QUALIFIED80Amy Elsner
1009Cody D KolmetzUnited Kingdom2026-08-07Dorl, James J Esq NEW62Amy Elsner
1010Octavia U PerinItaly2026-08-06Feiner Bros UNQUALIFIED50Asiya Javayant
1011Kaitlin O TollnerArgentina2026-08-10Chapman, Ross E Esq QUALIFIED26Xuxue Feng
1012Darci H KolmetzCanada2026-07-24Benton, John B Jr NEGOTIATION37Onyama Limba
1013Kaitlin F RutaBrazil2026-08-02Buckley Miller Wright NEW61Ioni Bowcher
1014Deepesh O GauchoCanada2026-08-21Chanay, Jeffrey A Esq NEW42Elwin Sharvill
1015Rodrigues T NestleUnited Kingdom2026-07-25Feltz Printing Service UNQUALIFIED30Xuxue Feng
1016Julie D WieserJapan2026-08-03Chanay, Jeffrey A Esq NEGOTIATION37Anna Fali
1017Aika D SchemmerIndia2026-08-12Feltz Printing Service UNQUALIFIED63Stephen Shaw
1018Murillo O ShinkoSpain2026-07-26Feiner Bros NEW34Ioni Bowcher
1019Juan B WhobreyArgentina2026-08-19Chanay, Jeffrey A Esq NEW74Bernardo Dominic
1020Francesco G SaylorsJapan2026-08-05Chemel, James L Cpa PROPOSAL78Stephen Shaw
1021Mayumi C FigeroaArgentina2026-08-20Rangoni Of Florence QUALIFIED14Xuxue Feng
1022Misaki H CaldareraUnited Kingdom2026-07-25Morlong Associates UNQUALIFIED63Bernardo Dominic
1023Aditya Y MorascaGermany2026-08-13King, Christopher A Esq NEGOTIATION98Stephen Shaw
1024Emily Z StockhamGermany2026-08-18King, Christopher A Esq NEW48Stephen Shaw
1025Nicolas J WaycottIndia2026-08-06Chemel, James L Cpa QUALIFIED96Bernardo Dominic
1026Costa R VocelkaItaly2026-07-24Benton, John B Jr PROPOSAL40Ivan Magalhaes
1027Antonio M StockhamBrazil2026-07-29Commercial Press NEGOTIATION97Anna Fali
1028Jones O SergiJapan2026-07-27Chapman, Ross E Esq NEW46Elwin Sharvill
1029Emily F MaletUnited Kingdom2026-08-04Rangoni Of Florence QUALIFIED96Elwin Sharvill
1030Kaitlin R NickaIndia2026-08-04Printing Dimensions NEW93Bernardo Dominic
1031Greenwood R PaprockiFrance2026-08-16Dorl, James J Esq NEGOTIATION82Ivan Magalhaes
1032Silvio W SaylorsIndia2026-08-03Rangoni Of Florence NEW85Elwin Sharvill
1033Clifford V PerinItaly2026-08-09Truhlar And Truhlar Attys NEGOTIATION0Stephen Shaw
1034Tony Z PaprockiJapan2026-08-14Benton, John B Jr NEW45Amy Elsner
1035Ashley I GillianIndia2026-08-02Commercial Press NEGOTIATION24Ioni Bowcher
1036Alejandro I ButtArgentina2026-08-08Truhlar And Truhlar Attys PROPOSAL49Xuxue Feng
1037Sinclair F DilliardBrazil2026-07-31King, Christopher A Esq PROPOSAL66Amy Elsner
1038Alejandro B CaudyItaly2026-07-26Rangoni Of Florence QUALIFIED88Asiya Javayant
1039Adams N ShinkoItaly2026-08-05Chapman, Ross E Esq QUALIFIED78Ioni Bowcher
1040Claire Z BologniaBrazil2026-08-02Buckley Miller Wright RENEWAL29Ioni Bowcher
1041Maisha H SaylorsIndia2026-07-26Buckley Miller Wright NEW26Stephen Shaw
1042Nicolas M NickaIndia2026-08-06Chanay, Jeffrey A Esq PROPOSAL75Elwin Sharvill
1043Jones M ChuiBrazil2026-08-11Rangoni Of Florence NEGOTIATION72Amy Elsner
1044Clifford G WaycottGermany2026-08-20Rangoni Of Florence NEGOTIATION98Asiya Javayant
1045Deepesh R NestleUnited Kingdom2026-08-15Chemel, James L Cpa RENEWAL29Ioni Bowcher
1046Jennifer N GarufiSpain2026-08-16Buckley Miller Wright NEGOTIATION54Stephen Shaw
1047Jones W DilliardGermany2026-07-25Rousseaux, Michael Esq NEGOTIATION38Amy Elsner
1048Johnson Y StockhamFrance2026-07-24Rousseaux, Michael Esq RENEWAL51Ioni Bowcher
1049Cody Q IturbideCanada2026-07-23Rangoni Of Florence NEGOTIATION32Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Deepesh Q PaprockiFranceStephen Shaw RENEWAL
Sinclair P ShinkoUnited KingdomElwin Sharvill NEGOTIATION
Claire Z BowleyAustraliaElwin Sharvill RENEWAL
Rodrigues X PerinArgentinaAsiya Javayant RENEWAL
Costa Q FigeroaJapanAsiya Javayant RENEWAL
Alejandro S GlickJapanOnyama Limba UNQUALIFIED
Maisha B StensethArgentinaIvan Magalhaes PROPOSAL
Claire T ShinkoUnited KingdomOnyama Limba PROPOSAL
Darci H MacleadIndiaIoni Bowcher NEW
Silvio B DarakjyCanadaXuxue Feng NEW
David H NestleCanadaAnna Fali PROPOSAL
Jeanfrancois N FlosiFranceXuxue Feng UNQUALIFIED
Salvatore U StensethFranceAsiya Javayant UNQUALIFIED
Ricardo C BriddickUnited KingdomBernardo Dominic QUALIFIED
Munro K PaprockiFranceAsiya Javayant NEW
Wickens R InouyeIndiaAnna Fali RENEWAL
Morrow F WhobreyCanadaStephen Shaw RENEWAL
Salvatore F BriddickAustraliaOnyama Limba NEGOTIATION
Greenwood B WaycottGermanyStephen Shaw QUALIFIED
Jeanfrancois U DarakjyCanadaAnna Fali NEW
Smith W BriddickBrazilIvan Magalhaes PROPOSAL
Stacey R GarufiRussiaIoni Bowcher NEGOTIATION
Deepesh S ShinkoCanadaXuxue Feng QUALIFIED
Alejandro U NestleGermanyXuxue Feng RENEWAL
Kaitlin O GauchoArgentinaAsiya Javayant RENEWAL
Aruna Q MarrierJapanAmy Elsner NEGOTIATION
Murillo N SergiUnited KingdomIoni Bowcher PROPOSAL
Mayumi N CaldareraArgentinaIvan Magalhaes UNQUALIFIED
Nicolas X MarrierSpainIvan Magalhaes UNQUALIFIED
Ricardo K DoeIndiaStephen Shaw NEW
Jones F DarakjyUnited KingdomAnna Fali QUALIFIED
Francesco R CampainCanadaXuxue Feng UNQUALIFIED
Munro R VocelkaArgentinaIoni Bowcher PROPOSAL
Jones O SergiBrazilIoni Bowcher QUALIFIED
Murillo L FigeroaUnited KingdomIoni Bowcher PROPOSAL
Rodrigues G FerenczBrazilStephen Shaw QUALIFIED
Costa Q StockhamIndiaAmy Elsner PROPOSAL
Faith V ShinkoIndiaAmy Elsner UNQUALIFIED
Claire V BologniaCanadaStephen Shaw QUALIFIED
Leja V GillianUnited KingdomAnna Fali RENEWAL
Izzy H BriddickItalyStephen Shaw RENEWAL
Aruna J RimAustraliaElwin Sharvill NEGOTIATION
James L InouyeAustraliaIoni Bowcher RENEWAL
Isabel F OstroskyCanadaStephen Shaw PROPOSAL
Julie C OstroskyUnited KingdomAmy Elsner PROPOSAL
Stacey N VenereSpainBernardo Dominic PROPOSAL
Jeanfrancois W StensethSpainBernardo Dominic UNQUALIFIED
Chavez G TollnerGermanyAnna Fali NEW
Adams B RutaArgentinaAsiya Javayant PROPOSAL
Ricardo B FollerAustraliaIoni Bowcher NEW
Frozen Columns
Name
Emily P Ostrosky
Rodrigues X Stockham
Salvatore D Figeroa
Johnson E Campain
Rodrigues Z Vocelka
Wickens D Inouye
Juan D Ruta
Ricardo N Vocelka
Alejandro N Stenseth
Tony W Sergi
Maisha W Perin
Jones N Gillian
Jennifer S Albares
Cody M Glick
Mayumi L Glick
Tony H Maclead
Ricardo H Royster
Maisha B Maclead
Ashley U Rim
Alejandro H Slusarski
Aditya F Albares
Salvatore T Doe
Johnson V Whobrey
Costa T Slusarski
Tony H Doe
James G Oldroyd
Jennifer T Kolmetz
Murillo A Kolmetz
Cody X Paprocki
Darci N Iturbide
Morrow N Wieser
Maisha P Malet
Leja V Rulapaugh
Darci J Figeroa
Munro K Malet
Costa L Paprocki
Ivar X Poquette
Costa M Whobrey
Adams P Flosi
Jefferson I Dilliard
Greenwood G Waycott
Salvatore H Chui
Darci C Vocelka
Antonio W Ostrosky
Ivar H Waycott
Jeanfrancois A Bolognia
Smith Z Poquette
Nicolas V Campain
Jeanfrancois J Marrier
Adams A Waycott
IdCountryDate
1000Canada2026-08-17
1001India2026-08-20
1002Brazil2026-07-31
1003Brazil2026-08-04
1004Italy2026-07-25
1005United Kingdom2026-08-03
1006Germany2026-07-26
1007Australia2026-08-08
1008Australia2026-07-29
1009Germany2026-07-23
1010France2026-08-12
1011United Kingdom2026-08-06
1012France2026-08-13
1013Brazil2026-08-20
1014Italy2026-08-14
1015Canada2026-08-21
1016Japan2026-07-28
1017Spain2026-08-10
1018Japan2026-07-28
1019Brazil2026-08-08
1020Russia2026-08-07
1021Brazil2026-08-10
1022India2026-07-25
1023Spain2026-08-02
1024Spain2026-07-28
1025Brazil2026-08-02
1026Argentina2026-08-17
1027Japan2026-08-18
1028Canada2026-08-21
1029Russia2026-07-25
1030Brazil2026-08-04
1031Canada2026-08-12
1032United Kingdom2026-08-15
1033Italy2026-07-30
1034Spain2026-08-10
1035Argentina2026-07-26
1036Spain2026-08-11
1037Spain2026-07-28
1038Germany2026-07-30
1039Australia2026-07-23
1040United Kingdom2026-08-18
1041Italy2026-08-13
1042Germany2026-08-17
1043Japan2026-08-18
1044Russia2026-07-30
1045Canada2026-07-23
1046Italy2026-08-04
1047Brazil2026-07-23
1048Spain2026-07-25
1049Germany2026-08-18

On-Demand Data

NameIdCountryDate
Maisha J Venere1000Italy2026-08-03
Ashley W Marrier1001Canada2026-08-15
Sinclair X Foller1002Spain2026-07-31
Greenwood T Rulapaugh1003France2026-07-28
Kaitlin E Royster1004United Kingdom2026-07-30
Ricardo H Butt1005United Kingdom2026-07-24
Deepesh M Bolognia1006Italy2026-08-14
Aruna L Darakjy1007Russia2026-07-25
Ricardo M Slusarski1008Brazil2026-08-15
Cody Q Schemmer1009Canada2026-08-10
Leon Y Chui1010United Kingdom2026-08-10
Jones V Campain1011Russia2026-07-24
Sinclair D Foller1012Germany2026-07-27
Mujtaba S Shinko1013Russia2026-07-29
Francesco R Whobrey1014Germany2026-07-24
Misaki G Whobrey1015Canada2026-08-15
Kadeem Q Saylors1016Japan2026-08-16
Clifford D Kolmetz1017Argentina2026-08-08
Nicolas O Gillian1018Brazil2026-07-23
Greenwood F Venere1019Argentina2026-08-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo A MarrierIndiaOnyama Limba UNQUALIFIED
Darci Y BowleyFranceXuxue Feng NEW
Leon U RoysterAustraliaIoni Bowcher QUALIFIED
Wickens O SchemmerUnited KingdomBernardo Dominic UNQUALIFIED
Costa I MarrierRussiaIvan Magalhaes PROPOSAL
Johnson I RimAustraliaXuxue Feng NEW
Arvin V OldroydSpainElwin Sharvill PROPOSAL
Izzy K BriddickRussiaXuxue Feng PROPOSAL
Deepesh A InouyeSpainStephen Shaw QUALIFIED
Silvio E AmigonIndiaAnna Fali NEW
Kaitlin V GarufiJapanStephen Shaw QUALIFIED
Aruna L WaycottArgentinaIvan Magalhaes PROPOSAL
Ricardo Q GarufiArgentinaIvan Magalhaes RENEWAL
Maria R FigeroaUnited KingdomBernardo Dominic PROPOSAL
Silvio J MorascaSpainElwin Sharvill NEGOTIATION
Mujtaba U DarakjyIndiaAmy Elsner UNQUALIFIED
James T OstroskySpainXuxue Feng RENEWAL
Mayumi U FollerBrazilXuxue Feng PROPOSAL
Deepesh C FlosiBrazilOnyama Limba PROPOSAL
Chavez A MaletSpainElwin Sharvill UNQUALIFIED
Julie G IturbideSpainBernardo Dominic UNQUALIFIED
Maria T SergiCanadaAmy Elsner NEW
Deepesh D WieserSpainXuxue Feng PROPOSAL
Kaitlin J KolmetzRussiaElwin Sharvill RENEWAL
Isabel G MaletRussiaAsiya Javayant QUALIFIED
Maisha M WaycottIndiaBernardo Dominic QUALIFIED
Johnson P OldroydIndiaIvan Magalhaes PROPOSAL
Darci N ShinkoIndiaAsiya Javayant NEGOTIATION
Julie Y SlusarskiUnited KingdomAsiya Javayant NEGOTIATION
Johnson A DoeIndiaAnna Fali NEW
Octavia Q StensethArgentinaAnna Fali UNQUALIFIED
Aditya C InouyeRussiaIoni Bowcher PROPOSAL
Emily F SaylorsUnited KingdomIoni Bowcher RENEWAL
Isabel R FerenczCanadaOnyama Limba UNQUALIFIED
Smith A ShinkoAustraliaAnna Fali PROPOSAL
Murillo F GillianArgentinaStephen Shaw RENEWAL
Jennifer V MaletJapanStephen Shaw QUALIFIED
Emily R InouyeUnited KingdomStephen Shaw PROPOSAL
Sinclair U InouyeItalyAmy Elsner UNQUALIFIED
Ashley L VocelkaBrazilAnna Fali RENEWAL

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