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
Mujtaba K OldroydSpainOnyama Limba UNQUALIFIED
Faith G WaycottSpainIoni Bowcher RENEWAL
Costa K KuskoItalyAsiya Javayant NEGOTIATION
Jefferson A CaudyCanadaOnyama Limba PROPOSAL
Ashley X ChuiIndiaAsiya Javayant UNQUALIFIED
Leon H BowleyUnited KingdomIoni Bowcher UNQUALIFIED
Maisha H CampainItalyAsiya Javayant PROPOSAL
Francesco W PaprockiCanadaAnna Fali NEGOTIATION
Claire S AmigonCanadaXuxue Feng NEW
Silvio D GillianUnited KingdomXuxue Feng NEGOTIATION
Jeanfrancois L WieserArgentinaAsiya Javayant QUALIFIED
Misaki C SchemmerAustraliaAsiya Javayant NEW
Francesco I FigeroaFranceIvan Magalhaes PROPOSAL
Ashley W RulapaughIndiaXuxue Feng UNQUALIFIED
Darci C GillianCanadaElwin Sharvill NEW
Arvin C PaprockiBrazilXuxue Feng RENEWAL
Costa U GillianGermanyAnna Fali NEGOTIATION
Leon L VocelkaBrazilBernardo Dominic QUALIFIED
Munro W MorascaRussiaIvan Magalhaes QUALIFIED
Chavez A RutaIndiaElwin Sharvill QUALIFIED
Murillo W RulapaughUnited KingdomIoni Bowcher PROPOSAL
Wickens Q PaprockiGermanyIvan Magalhaes UNQUALIFIED
Costa Y AmigonUnited KingdomElwin Sharvill PROPOSAL
Izzy W DilliardItalyAmy Elsner NEGOTIATION
Ivar B ShinkoArgentinaIoni Bowcher RENEWAL
Wickens W BowleyFranceBernardo Dominic NEGOTIATION
Maisha R PoquetteCanadaBernardo Dominic RENEWAL
Nicolas S DilliardGermanyElwin Sharvill NEW
Octavia Y WhobreyBrazilXuxue Feng UNQUALIFIED
Emily Z VenereGermanyElwin Sharvill UNQUALIFIED
Misaki R IturbideJapanOnyama Limba QUALIFIED
Stacey Y FigeroaIndiaAmy Elsner UNQUALIFIED
Mujtaba Z FollerCanadaOnyama Limba RENEWAL
Maria V StockhamUnited KingdomBernardo Dominic UNQUALIFIED
Jones U DoeSpainAnna Fali PROPOSAL
Misaki R VocelkaIndiaStephen Shaw QUALIFIED
Tony T ChuiBrazilOnyama Limba NEGOTIATION
Morrow A GlickAustraliaAsiya Javayant UNQUALIFIED
Adams L KuskoGermanyBernardo Dominic PROPOSAL
Emily A MarrierCanadaAsiya Javayant PROPOSAL
Silvio C KolmetzFranceXuxue Feng UNQUALIFIED
Arvin W MacleadIndiaIvan Magalhaes NEW
Leon Y PerinAustraliaAmy Elsner NEGOTIATION
Morrow Q FollerBrazilElwin Sharvill UNQUALIFIED
Misaki L OldroydFranceStephen Shaw NEW
Nicolas H KolmetzGermanyAmy Elsner PROPOSAL
Leja O RoysterRussiaAnna Fali NEGOTIATION
Jones Q GarufiIndiaAsiya Javayant NEGOTIATION
Maria J ShinkoUnited KingdomOnyama Limba QUALIFIED
Maria S NickaIndiaAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jennifer R OstroskyItalyIoni Bowcher NEGOTIATION
Jefferson L IturbideFranceIvan Magalhaes NEGOTIATION
Nicolas Z CaudyArgentinaAmy Elsner RENEWAL
Jones Y FollerCanadaAmy Elsner PROPOSAL
Julie C DoeArgentinaElwin Sharvill UNQUALIFIED
Julie I CaldareraBrazilIvan Magalhaes QUALIFIED
Aditya I KuskoCanadaAmy Elsner RENEWAL
Aruna H OstroskyIndiaAmy Elsner NEGOTIATION
Octavia Q SergiBrazilStephen Shaw RENEWAL
Leon E AmigonGermanyStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro F SchemmerCanada2024-05-21Benton, John B Jr UNQUALIFIED38Amy Elsner
1001Claire B KolmetzSpain2024-05-22Chemel, James L Cpa NEGOTIATION38Bernardo Dominic
1002Kadeem S GarufiFrance2024-05-03Commercial Press UNQUALIFIED82Ivan Magalhaes
1003Leon U InouyeAustralia2024-05-19King, Christopher A Esq QUALIFIED26Ivan Magalhaes
1004Leon I RutaFrance2024-05-19Chemel, James L Cpa UNQUALIFIED50Stephen Shaw
1005Maria B VenereUnited Kingdom2024-05-20Chemel, James L Cpa NEGOTIATION63Elwin Sharvill
1006James E AmigonAustralia2024-05-16Chanay, Jeffrey A Esq NEW43Xuxue Feng
1007Alejandro F PaprockiRussia2024-05-02Feiner Bros UNQUALIFIED24Stephen Shaw
1008Rodrigues N AlbaresItaly2024-05-03Dorl, James J Esq NEW44Xuxue Feng
1009Stacey E OldroydRussia2024-04-29King, Christopher A Esq NEW53Onyama Limba
1010Costa W TollnerIndia2024-05-17Benton, John B Jr UNQUALIFIED74Bernardo Dominic
1011Kaitlin O PerinGermany2024-05-16Dorl, James J Esq RENEWAL18Asiya Javayant
1012Jennifer K AmigonSpain2024-05-25Chanay, Jeffrey A Esq QUALIFIED89Bernardo Dominic
1013Salvatore V AlbaresArgentina2024-05-04Truhlar And Truhlar Attys QUALIFIED81Stephen Shaw
1014Tony F BowleyAustralia2024-04-29Benton, John B Jr NEGOTIATION56Anna Fali
1015Maisha T ChuiAustralia2024-05-25Benton, John B Jr NEGOTIATION17Stephen Shaw
1016Jefferson L KolmetzAustralia2024-05-14Morlong Associates NEGOTIATION6Ioni Bowcher
1017Cody J FerenczAustralia2024-05-26Feltz Printing Service QUALIFIED71Elwin Sharvill
1018Cody Z DarakjyUnited Kingdom2024-05-02Chemel, James L Cpa QUALIFIED18Ivan Magalhaes
1019Johnson E KuskoBrazil2024-05-26Printing Dimensions NEW31Amy Elsner
1020Stacey E MaletAustralia2024-05-06Chapman, Ross E Esq PROPOSAL62Ioni Bowcher
1021Ashley P KolmetzJapan2024-04-29Buckley Miller Wright RENEWAL94Elwin Sharvill
1022Smith B MarrierJapan2024-05-23Printing Dimensions RENEWAL60Elwin Sharvill
1023Francesco N GillianJapan2024-05-02Buckley Miller Wright NEW15Asiya Javayant
1024Mayumi W SlusarskiIndia2024-05-18Feltz Printing Service NEGOTIATION76Onyama Limba
1025Rodrigues A DarakjyRussia2024-05-06King, Christopher A Esq RENEWAL23Asiya Javayant
1026Jefferson I IturbideFrance2024-05-20King, Christopher A Esq RENEWAL7Anna Fali
1027Arvin G OstroskyRussia2024-05-13Chemel, James L Cpa RENEWAL81Ioni Bowcher
1028Maisha A CaudyUnited Kingdom2024-05-08Benton, John B Jr PROPOSAL59Onyama Limba
1029Jones J KolmetzIndia2024-05-27Rangoni Of Florence UNQUALIFIED55Bernardo Dominic
1030Maria T RulapaughArgentina2024-05-08Dorl, James J Esq RENEWAL79Xuxue Feng
1031Jeanfrancois X MacleadAustralia2024-05-15Rangoni Of Florence RENEWAL22Stephen Shaw
1032Mujtaba C AmigonUnited Kingdom2024-05-26Chapman, Ross E Esq NEGOTIATION71Stephen Shaw
1033Juan A RimGermany2024-05-22Truhlar And Truhlar Attys PROPOSAL19Elwin Sharvill
1034Emily A BriddickGermany2024-05-07Commercial Press RENEWAL88Onyama Limba
1035Juan T StockhamRussia2024-05-16Printing Dimensions NEW78Stephen Shaw
1036Isabel L SchemmerArgentina2024-05-07King, Christopher A Esq NEGOTIATION77Ioni Bowcher
1037Maisha L KolmetzArgentina2024-05-08Feiner Bros UNQUALIFIED40Onyama Limba
1038Nicolas F TollnerArgentina2024-05-26King, Christopher A Esq QUALIFIED83Ivan Magalhaes
1039Ashley G FlosiSpain2024-05-17Chapman, Ross E Esq RENEWAL95Amy Elsner
1040Jefferson Y NestleArgentina2024-04-30Truhlar And Truhlar Attys NEW22Stephen Shaw
1041Maisha X PerinJapan2024-05-06Dorl, James J Esq PROPOSAL2Asiya Javayant
1042Francesco C BriddickRussia2024-05-10Chanay, Jeffrey A Esq UNQUALIFIED36Elwin Sharvill
1043Kaitlin A CampainAustralia2024-05-11Commercial Press NEGOTIATION41Xuxue Feng
1044Misaki C FigeroaIndia2024-05-26Chapman, Ross E Esq UNQUALIFIED72Stephen Shaw
1045Aditya Y RoysterItaly2024-05-25Benton, John B Jr QUALIFIED88Ioni Bowcher
1046Costa C PoquetteArgentina2024-05-27Dorl, James J Esq QUALIFIED18Asiya Javayant
1047Octavia D SchemmerUnited Kingdom2024-05-11Printing Dimensions NEW79Onyama Limba
1048Rodrigues G NickaSpain2024-04-28Rousseaux, Michael Esq PROPOSAL97Xuxue Feng
1049David O GlickIndia2024-04-29Chapman, Ross E Esq NEGOTIATION23Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Clifford S KolmetzAustraliaAmy Elsner RENEWAL
Ashley D MaletUnited KingdomStephen Shaw NEW
Rodrigues N WhobreyAustraliaIoni Bowcher NEW
Jones Q SlusarskiCanadaStephen Shaw PROPOSAL
David Z MaletRussiaXuxue Feng NEW
Arvin O MarrierJapanStephen Shaw NEW
Isabel Q RulapaughIndiaAsiya Javayant UNQUALIFIED
Misaki D MaletAustraliaAsiya Javayant QUALIFIED
Murillo O FerenczSpainElwin Sharvill UNQUALIFIED
Leja N DarakjyRussiaIvan Magalhaes RENEWAL
Nicolas V PoquetteBrazilIvan Magalhaes PROPOSAL
Rodrigues L CaudyFranceAnna Fali QUALIFIED
Julie W RoysterBrazilIvan Magalhaes UNQUALIFIED
Misaki L WhobreyGermanyStephen Shaw UNQUALIFIED
Faith F ButtArgentinaAnna Fali UNQUALIFIED
Sinclair F PoquetteItalyStephen Shaw QUALIFIED
Alejandro B StensethRussiaElwin Sharvill RENEWAL
Costa M SergiArgentinaAnna Fali UNQUALIFIED
Kaitlin T IturbideUnited KingdomXuxue Feng NEW
Emily U CampainCanadaXuxue Feng PROPOSAL
Chavez B GauchoArgentinaAmy Elsner RENEWAL
Kadeem D SchemmerSpainOnyama Limba UNQUALIFIED
James B MacleadSpainOnyama Limba NEGOTIATION
Cody V VocelkaFranceOnyama Limba NEGOTIATION
Faith M BologniaJapanStephen Shaw RENEWAL
Adams J ShinkoFranceAnna Fali NEGOTIATION
Nicolas J MarrierSpainAmy Elsner RENEWAL
Smith T OldroydSpainAnna Fali RENEWAL
Rodrigues N DoeArgentinaStephen Shaw NEW
Octavia Y MaletArgentinaElwin Sharvill NEW
Adams G ButtGermanyIoni Bowcher NEGOTIATION
Ricardo M RulapaughGermanyElwin Sharvill QUALIFIED
Jefferson Y MacleadUnited KingdomOnyama Limba PROPOSAL
Johnson B RulapaughIndiaStephen Shaw PROPOSAL
Munro P MaletCanadaIvan Magalhaes NEGOTIATION
Darci T GlickArgentinaStephen Shaw PROPOSAL
Emily W WaycottJapanBernardo Dominic RENEWAL
Octavia C BowleyBrazilAnna Fali NEGOTIATION
Mayumi P MacleadFranceElwin Sharvill NEGOTIATION
Faith P WaycottIndiaBernardo Dominic RENEWAL
Tony N PoquetteGermanyAmy Elsner PROPOSAL
Nicolas G SlusarskiJapanIoni Bowcher QUALIFIED
Leon O WieserIndiaStephen Shaw QUALIFIED
Julie V FerenczUnited KingdomOnyama Limba NEW
David P MaletCanadaXuxue Feng NEGOTIATION
Chavez L ButtFranceStephen Shaw NEGOTIATION
Arvin P MacleadAustraliaAmy Elsner NEGOTIATION
Antonio M WaycottBrazilBernardo Dominic QUALIFIED
Aruna U GlickGermanyOnyama Limba NEW
Arvin I StockhamBrazilXuxue Feng RENEWAL
Frozen Columns
Name
Antonio U Slusarski
Mayumi Z Morasca
Izzy Z Nestle
Costa F Waycott
Leja C Waycott
Chavez C Bowley
Juan S Saylors
Deepesh Z Dilliard
Francesco M Albares
Jeanfrancois W Rim
Murillo D Ruta
Deepesh S Briddick
Silvio I Foller
Antonio T Nicka
Deepesh L Bolognia
Aditya H Kusko
Kaitlin W Malet
Salvatore I Doe
Smith L Gillian
Izzy L Kolmetz
Jones H Briddick
Mujtaba G Slusarski
Francesco Z Gillian
Aika Z Dilliard
Jeanfrancois Z Butt
Antonio J Gillian
Alejandro D Kusko
Aika X Darakjy
Alejandro M Flosi
Izzy H Royster
Aruna X Oldroyd
Nicolas K Gaucho
Aruna J Kusko
James V Ruta
Ricardo A Dilliard
Sinclair H Darakjy
Francesco Z Stockham
Maisha Z Flosi
Leon T Foller
Julie D Slusarski
Tony W Marrier
Maria Y Glick
Emily Z Butt
Greenwood C Shinko
Salvatore C Malet
Jefferson Y Caudy
Costa Y Nestle
Arvin C Malet
Jones Z Iturbide
David P Slusarski
IdCountryDate
1000Argentina2024-05-18
1001Russia2024-05-23
1002Canada2024-05-06
1003Germany2024-05-21
1004Germany2024-05-06
1005Spain2024-05-07
1006Canada2024-05-10
1007Australia2024-05-19
1008United Kingdom2024-05-24
1009Argentina2024-05-16
1010France2024-05-06
1011France2024-05-25
1012India2024-05-08
1013Germany2024-05-12
1014Japan2024-05-14
1015United Kingdom2024-05-27
1016Brazil2024-05-11
1017Japan2024-05-04
1018Brazil2024-05-09
1019Argentina2024-05-21
1020Japan2024-05-25
1021Canada2024-05-14
1022Brazil2024-05-08
1023India2024-05-03
1024Spain2024-05-18
1025Germany2024-05-21
1026India2024-05-08
1027Spain2024-05-15
1028Canada2024-04-29
1029Argentina2024-05-20
1030Germany2024-05-03
1031Germany2024-05-10
1032Italy2024-05-23
1033Canada2024-04-30
1034Germany2024-05-15
1035Spain2024-05-16
1036Italy2024-05-02
1037Brazil2024-05-05
1038United Kingdom2024-05-13
1039Germany2024-05-16
1040India2024-05-21
1041India2024-05-12
1042Russia2024-05-19
1043Spain2024-05-27
1044France2024-05-24
1045Australia2024-05-09
1046Japan2024-05-23
1047Canada2024-05-27
1048Germany2024-05-14
1049Spain2024-05-02

On-Demand Data

NameIdCountryDate
Mayumi W Wieser1000France2024-05-02
Kaitlin G Caudy1001Japan2024-05-07
Aika A Ostrosky1002Russia2024-05-19
Aditya Y Caldarera1003Germany2024-05-25
Johnson B Royster1004France2024-05-25
Wickens V Albares1005Germany2024-05-10
Aditya B Oldroyd1006Australia2024-05-13
Mujtaba L Sergi1007Canada2024-05-02
Aditya O Kolmetz1008Spain2024-05-10
Izzy S Ferencz1009Russia2024-05-02
Antonio O Perin1010Russia2024-05-25
Izzy G Caudy1011Argentina2024-05-25
James R Ruta1012Italy2024-05-20
Smith J Ostrosky1013Brazil2024-05-20
Mujtaba N Kolmetz1014Russia2024-05-09
Murillo E Gaucho1015Brazil2024-05-25
Rodrigues X Schemmer1016Italy2024-04-30
Mujtaba N Iturbide1017Argentina2024-05-26
Maria F Bolognia1018India2024-05-07
Maisha T Bolognia1019Brazil2024-05-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire Y DarakjySpainXuxue Feng RENEWAL
Alejandro D GillianSpainIoni Bowcher PROPOSAL
Ricardo Z RimRussiaXuxue Feng NEW
Aruna U MorascaAustraliaAsiya Javayant NEGOTIATION
Mayumi U FlosiArgentinaAnna Fali QUALIFIED
Claire C BologniaUnited KingdomAsiya Javayant NEGOTIATION
Juan D RutaItalyOnyama Limba UNQUALIFIED
Morrow E MaletItalyBernardo Dominic QUALIFIED
Jefferson S WieserBrazilAmy Elsner NEW
Juan S NickaSpainElwin Sharvill NEW
Leon H IturbideIndiaXuxue Feng NEGOTIATION
Emily W KuskoFranceIoni Bowcher QUALIFIED
Aditya X RoysterGermanyAsiya Javayant NEW
Cody C AmigonCanadaAmy Elsner PROPOSAL
Morrow W DarakjyItalyIoni Bowcher NEGOTIATION
Wickens Q GarufiItalyAsiya Javayant PROPOSAL
Costa F GillianAustraliaOnyama Limba NEGOTIATION
Aika Z RoysterItalyAnna Fali NEW
Emily C FigeroaFranceElwin Sharvill UNQUALIFIED
Octavia P MarrierUnited KingdomAsiya Javayant RENEWAL
Chavez D WhobreyCanadaIvan Magalhaes UNQUALIFIED
Isabel P FollerArgentinaAsiya Javayant NEGOTIATION
Juan Y WhobreyFranceElwin Sharvill UNQUALIFIED
Maisha T AlbaresGermanyXuxue Feng PROPOSAL
Faith F StensethItalyBernardo Dominic QUALIFIED
Jennifer E StensethGermanyStephen Shaw RENEWAL
Alejandro Q FlosiJapanElwin Sharvill UNQUALIFIED
James I RutaAustraliaAnna Fali QUALIFIED
Ricardo C StockhamArgentinaIvan Magalhaes NEW
Juan X FlosiRussiaBernardo Dominic PROPOSAL
Clifford O BologniaFranceAmy Elsner RENEWAL
Deepesh Z WaycottAustraliaOnyama Limba UNQUALIFIED
Deepesh U MaletUnited KingdomAsiya Javayant NEGOTIATION
Jennifer E PerinJapanStephen Shaw RENEWAL
Faith J KuskoCanadaAsiya Javayant NEGOTIATION
Clifford N FlosiSpainOnyama Limba UNQUALIFIED
Misaki L InouyeIndiaAnna Fali NEGOTIATION
Francesco A PaprockiUnited KingdomStephen Shaw NEW
Morrow G SaylorsItalyIoni Bowcher PROPOSAL
Jeanfrancois U RutaUnited KingdomIvan Magalhaes UNQUALIFIED

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