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
Izzy Z MorascaBrazilBernardo Dominic NEGOTIATION
Cody N FigeroaRussiaXuxue Feng PROPOSAL
Aruna M FigeroaRussiaStephen Shaw RENEWAL
Jennifer O PoquetteCanadaAsiya Javayant PROPOSAL
Julie R VenereUnited KingdomAsiya Javayant PROPOSAL
Leja Y GarufiFranceAsiya Javayant UNQUALIFIED
Aika Z WieserUnited KingdomAmy Elsner PROPOSAL
Murillo I SergiArgentinaXuxue Feng UNQUALIFIED
Leja V RimArgentinaAmy Elsner NEW
Darci P OstroskyJapanAnna Fali PROPOSAL
Leon R DilliardItalyElwin Sharvill UNQUALIFIED
Octavia O BowleyFranceIvan Magalhaes UNQUALIFIED
Alejandro F RoysterBrazilBernardo Dominic NEW
Emily E VenereRussiaXuxue Feng QUALIFIED
Antonio I SergiSpainIoni Bowcher PROPOSAL
Emily R GauchoJapanAnna Fali RENEWAL
Darci U IturbideSpainIvan Magalhaes UNQUALIFIED
Francesco R RoysterRussiaAsiya Javayant UNQUALIFIED
Maisha C AmigonArgentinaElwin Sharvill QUALIFIED
Aruna V TollnerBrazilAsiya Javayant QUALIFIED
Kaitlin M SergiAustraliaElwin Sharvill RENEWAL
Stacey J AmigonBrazilElwin Sharvill UNQUALIFIED
Isabel Z MaletItalyIoni Bowcher PROPOSAL
Chavez Y PoquetteJapanIoni Bowcher RENEWAL
Jeanfrancois E RulapaughRussiaOnyama Limba PROPOSAL
Smith O GillianGermanyAnna Fali QUALIFIED
Jefferson G GillianRussiaIvan Magalhaes UNQUALIFIED
Greenwood H WhobreyUnited KingdomAnna Fali NEGOTIATION
Aruna U CampainSpainStephen Shaw NEW
Wickens Q DilliardCanadaStephen Shaw RENEWAL
Isabel F GauchoGermanyOnyama Limba NEW
Mujtaba A WaycottGermanyStephen Shaw RENEWAL
David R BologniaJapanAmy Elsner QUALIFIED
Maisha N NestleGermanyXuxue Feng QUALIFIED
Isabel M PoquetteIndiaBernardo Dominic NEGOTIATION
Salvatore W GillianRussiaAsiya Javayant QUALIFIED
Ivar F FigeroaAustraliaIvan Magalhaes UNQUALIFIED
Greenwood D GarufiFranceAmy Elsner NEGOTIATION
Deepesh X MaletRussiaAnna Fali NEGOTIATION
Kadeem S FerenczIndiaBernardo Dominic QUALIFIED
Mayumi B RulapaughArgentinaAnna Fali NEGOTIATION
Jefferson K BologniaItalyAnna Fali QUALIFIED
Maisha O ShinkoCanadaIoni Bowcher RENEWAL
Kadeem V RutaAustraliaIoni Bowcher QUALIFIED
Adams A MaletFranceAnna Fali NEW
Arvin C ShinkoItalyAsiya Javayant NEW
Aika V ChuiIndiaBernardo Dominic RENEWAL
Isabel Z AlbaresArgentinaElwin Sharvill QUALIFIED
Nicolas I AmigonJapanAmy Elsner QUALIFIED
Morrow E GlickRussiaOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Alejandro O GlickUnited KingdomAnna Fali PROPOSAL
Isabel N InouyeRussiaStephen Shaw UNQUALIFIED
Kadeem W GillianFranceIoni Bowcher PROPOSAL
Ricardo T WaycottIndiaOnyama Limba NEGOTIATION
Rodrigues N SaylorsFranceOnyama Limba NEW
Adams A MaletGermanyIoni Bowcher NEW
Mayumi P AmigonUnited KingdomOnyama Limba RENEWAL
Mayumi U MaletAustraliaIvan Magalhaes QUALIFIED
Clifford V MacleadArgentinaStephen Shaw RENEWAL
Faith W MarrierAustraliaIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood T ShinkoAustralia2024-06-03Rousseaux, Michael Esq QUALIFIED29Xuxue Feng
1001Deepesh S MaletItaly2024-05-25Morlong Associates NEGOTIATION59Xuxue Feng
1002Greenwood L BriddickIndia2024-06-05Chemel, James L Cpa NEW82Bernardo Dominic
1003Maria K BologniaCanada2024-06-17Buckley Miller Wright PROPOSAL94Amy Elsner
1004Faith K PerinAustralia2024-05-27Rousseaux, Michael Esq QUALIFIED18Amy Elsner
1005Munro X NickaSpain2024-06-09Commercial Press PROPOSAL70Amy Elsner
1006Rodrigues T OldroydAustralia2024-06-17Chapman, Ross E Esq PROPOSAL9Elwin Sharvill
1007Isabel U AlbaresSpain2024-05-25Chanay, Jeffrey A Esq NEGOTIATION88Stephen Shaw
1008Cody C StockhamBrazil2024-06-18Chapman, Ross E Esq NEGOTIATION35Elwin Sharvill
1009Mujtaba O RutaBrazil2024-06-07Chemel, James L Cpa NEW40Stephen Shaw
1010Clifford R NickaAustralia2024-06-23Morlong Associates PROPOSAL84Ioni Bowcher
1011James F DarakjyGermany2024-06-06Feiner Bros RENEWAL47Elwin Sharvill
1012Tony S NickaGermany2024-05-29King, Christopher A Esq NEW43Ivan Magalhaes
1013Leja T SlusarskiUnited Kingdom2024-06-10Feltz Printing Service QUALIFIED41Bernardo Dominic
1014Darci I CaudyRussia2024-06-04King, Christopher A Esq NEGOTIATION13Onyama Limba
1015Nicolas O GarufiAustralia2024-06-06Chanay, Jeffrey A Esq NEW16Elwin Sharvill
1016Stacey V FlosiArgentina2024-05-30Chanay, Jeffrey A Esq NEGOTIATION1Anna Fali
1017Alejandro E AlbaresGermany2024-06-02Rangoni Of Florence RENEWAL93Onyama Limba
1018Murillo Z MorascaGermany2024-06-07Rangoni Of Florence RENEWAL74Ioni Bowcher
1019Silvio V NestleGermany2024-05-27Feltz Printing Service RENEWAL54Bernardo Dominic
1020Jeanfrancois E OldroydArgentina2024-06-01Feiner Bros QUALIFIED57Onyama Limba
1021Tony B NestleIndia2024-06-13Buckley Miller Wright NEGOTIATION69Ioni Bowcher
1022Kaitlin W MacleadBrazil2024-06-07Buckley Miller Wright RENEWAL8Onyama Limba
1023Jennifer E ChuiAustralia2024-06-20Feltz Printing Service RENEWAL49Anna Fali
1024James U DarakjyFrance2024-06-02Buckley Miller Wright PROPOSAL75Ioni Bowcher
1025Clifford P AlbaresRussia2024-05-28Rangoni Of Florence NEGOTIATION10Amy Elsner
1026Aruna Q RimIndia2024-05-29Truhlar And Truhlar Attys NEGOTIATION99Stephen Shaw
1027Aruna A SaylorsItaly2024-06-15Rousseaux, Michael Esq UNQUALIFIED15Ivan Magalhaes
1028Antonio X BowleyJapan2024-06-03Rangoni Of Florence NEGOTIATION88Ivan Magalhaes
1029Ashley D GlickFrance2024-05-27Commercial Press QUALIFIED54Bernardo Dominic
1030Adams F PerinJapan2024-06-15Dorl, James J Esq UNQUALIFIED12Onyama Limba
1031Aika M DilliardBrazil2024-06-02Feltz Printing Service NEGOTIATION26Ioni Bowcher
1032Julie Z VocelkaSpain2024-06-06Chanay, Jeffrey A Esq NEW12Anna Fali
1033Ricardo I KuskoFrance2024-05-30Rangoni Of Florence NEW23Elwin Sharvill
1034Morrow J AlbaresArgentina2024-06-10Chemel, James L Cpa QUALIFIED19Bernardo Dominic
1035Darci B OldroydGermany2024-06-07Benton, John B Jr PROPOSAL53Elwin Sharvill
1036James K PerinIndia2024-06-18Printing Dimensions NEGOTIATION16Onyama Limba
1037Adams J GillianRussia2024-05-29Buckley Miller Wright UNQUALIFIED50Stephen Shaw
1038Izzy K RimItaly2024-06-22King, Christopher A Esq NEW38Ioni Bowcher
1039Ricardo I MaletAustralia2024-06-12Chapman, Ross E Esq NEW20Bernardo Dominic
1040Octavia V PerinJapan2024-06-17Benton, John B Jr PROPOSAL23Ivan Magalhaes
1041Aditya C RoysterSpain2024-06-02Rousseaux, Michael Esq PROPOSAL11Ioni Bowcher
1042Misaki R InouyeItaly2024-06-05Rangoni Of Florence UNQUALIFIED14Ioni Bowcher
1043Munro B FigeroaFrance2024-06-23Rangoni Of Florence QUALIFIED49Stephen Shaw
1044Jefferson N MacleadJapan2024-05-28Rangoni Of Florence NEW60Amy Elsner
1045Faith U FlosiGermany2024-05-25Benton, John B Jr QUALIFIED25Xuxue Feng
1046Aika L IturbideIndia2024-06-14Truhlar And Truhlar Attys NEGOTIATION56Amy Elsner
1047Isabel F StockhamItaly2024-06-03Chemel, James L Cpa PROPOSAL29Ioni Bowcher
1048Kadeem K VocelkaJapan2024-05-29Rousseaux, Michael Esq PROPOSAL88Stephen Shaw
1049Clifford D GlickBrazil2024-06-19Truhlar And Truhlar Attys RENEWAL12Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Greenwood K VenereUnited KingdomAsiya Javayant UNQUALIFIED
Rodrigues H IturbideIndiaIvan Magalhaes QUALIFIED
Jeanfrancois P StockhamSpainIvan Magalhaes QUALIFIED
Smith Z MorascaCanadaXuxue Feng QUALIFIED
Tony E NestleSpainStephen Shaw UNQUALIFIED
Maisha A KuskoBrazilOnyama Limba QUALIFIED
Kadeem D PoquetteJapanAnna Fali RENEWAL
Johnson F FollerCanadaXuxue Feng RENEWAL
Cody S CampainSpainStephen Shaw PROPOSAL
Jeanfrancois Z CaudyFranceOnyama Limba QUALIFIED
Jeanfrancois Z WaycottItalyAsiya Javayant UNQUALIFIED
Misaki O CaudyFranceIoni Bowcher UNQUALIFIED
Murillo B MaletUnited KingdomXuxue Feng QUALIFIED
Ricardo S FerenczIndiaIvan Magalhaes QUALIFIED
Stacey O MacleadFranceStephen Shaw RENEWAL
Nicolas J OldroydUnited KingdomAsiya Javayant PROPOSAL
Alejandro P SlusarskiIndiaStephen Shaw PROPOSAL
Claire O CampainCanadaXuxue Feng QUALIFIED
Jefferson B CaudyJapanAsiya Javayant UNQUALIFIED
Smith H SaylorsJapanIvan Magalhaes UNQUALIFIED
Maria C MorascaCanadaElwin Sharvill NEGOTIATION
Sinclair V GillianItalyAnna Fali PROPOSAL
Kaitlin O WieserIndiaAmy Elsner NEW
Ivar H DarakjyCanadaOnyama Limba PROPOSAL
Rodrigues S ButtGermanyElwin Sharvill RENEWAL
Jones N OldroydJapanStephen Shaw UNQUALIFIED
Salvatore X StockhamItalyXuxue Feng NEW
Adams U InouyeSpainOnyama Limba RENEWAL
Adams L MacleadUnited KingdomAsiya Javayant PROPOSAL
Julie D AlbaresJapanIvan Magalhaes RENEWAL
Sinclair G SlusarskiItalyStephen Shaw RENEWAL
Maria B StockhamSpainOnyama Limba NEGOTIATION
Sinclair Z WaycottGermanyAnna Fali UNQUALIFIED
Julie C SaylorsCanadaStephen Shaw NEGOTIATION
Chavez Y MarrierSpainXuxue Feng NEW
Kaitlin M BologniaJapanAsiya Javayant QUALIFIED
Clifford E StockhamArgentinaOnyama Limba PROPOSAL
Stacey O PerinRussiaBernardo Dominic UNQUALIFIED
Clifford J StockhamBrazilOnyama Limba QUALIFIED
Morrow R BowleyCanadaBernardo Dominic NEGOTIATION
Nicolas Y VocelkaRussiaIvan Magalhaes PROPOSAL
Ricardo U NestleSpainIvan Magalhaes NEW
Murillo P RimBrazilIoni Bowcher UNQUALIFIED
Jeanfrancois P ButtGermanyOnyama Limba QUALIFIED
Clifford U SaylorsSpainXuxue Feng RENEWAL
Maria I PerinGermanyIvan Magalhaes UNQUALIFIED
Smith P NickaJapanBernardo Dominic UNQUALIFIED
Ivar W BologniaUnited KingdomAmy Elsner NEGOTIATION
Murillo N WhobreyFranceElwin Sharvill NEGOTIATION
Faith N IturbideItalyAsiya Javayant PROPOSAL
Frozen Columns
Name
Leja U Iturbide
Jennifer H Bolognia
Aika B Inouye
Greenwood D Tollner
Aika L Royster
Alejandro Z Malet
Deepesh W Bowley
James L Sergi
Aika Y Garufi
Emily X Kusko
Ricardo F Bolognia
Stacey Q Nicka
Sinclair R Gaucho
Munro F Malet
Leja O Venere
Kaitlin N Waycott
Ashley K Sergi
Ricardo T Gaucho
Mayumi F Ferencz
Kaitlin Z Amigon
Ashley C Iturbide
Jefferson D Gaucho
Clifford Q Malet
James O Oldroyd
Salvatore K Whobrey
Jennifer R Chui
Kaitlin W Chui
Johnson A Caldarera
Morrow U Tollner
Leon M Stenseth
Smith E Perin
Kaitlin I Malet
Juan N Ostrosky
Ashley I Waycott
Darci U Wieser
Ashley X Oldroyd
Emily U Slusarski
Ivar E Darakjy
Kaitlin R Perin
Kaitlin B Saylors
Julie W Paprocki
Aika Y Wieser
Leja U Inouye
Stacey Y Saylors
Leon L Kusko
Claire N Tollner
Munro G Figeroa
Leon G Garufi
Maisha D Vocelka
Smith Z Royster
IdCountryDate
1000Australia2024-05-25
1001Japan2024-06-15
1002Argentina2024-05-31
1003Spain2024-06-10
1004Germany2024-06-07
1005United Kingdom2024-06-03
1006India2024-06-05
1007Brazil2024-05-25
1008United Kingdom2024-06-21
1009Japan2024-06-19
1010Australia2024-06-03
1011United Kingdom2024-06-09
1012Russia2024-05-26
1013United Kingdom2024-06-01
1014Australia2024-06-23
1015Canada2024-06-11
1016Germany2024-06-15
1017Brazil2024-06-04
1018Australia2024-05-31
1019Australia2024-05-25
1020Canada2024-05-30
1021Russia2024-06-10
1022India2024-06-11
1023Spain2024-06-03
1024France2024-06-06
1025France2024-06-15
1026Canada2024-06-05
1027Germany2024-06-13
1028United Kingdom2024-06-03
1029Germany2024-05-31
1030Brazil2024-05-31
1031Germany2024-06-18
1032Brazil2024-05-29
1033Canada2024-06-22
1034United Kingdom2024-06-23
1035Russia2024-05-30
1036Australia2024-06-19
1037Russia2024-06-08
1038Russia2024-06-15
1039United Kingdom2024-06-21
1040Russia2024-06-13
1041United Kingdom2024-05-28
1042Russia2024-06-13
1043Russia2024-06-16
1044France2024-05-27
1045Australia2024-06-11
1046Canada2024-06-01
1047Japan2024-06-11
1048Spain2024-06-08
1049Brazil2024-06-21

On-Demand Data

NameIdCountryDate
Greenwood C Kolmetz1000Spain2024-06-17
James U Slusarski1001Japan2024-06-23
Francesco J Stenseth1002India2024-06-15
Darci X Royster1003Japan2024-05-25
Stacey X Schemmer1004Australia2024-06-11
Juan K Ferencz1005Argentina2024-06-06
Aruna P Paprocki1006Canada2024-05-25
Deepesh I Caudy1007Brazil2024-06-05
Chavez Z Saylors1008Germany2024-05-28
Francesco T Nestle1009Japan2024-05-26
Leon U Campain1010Russia2024-06-13
Sinclair X Gaucho1011United Kingdom2024-06-22
Murillo Z Wieser1012Germany2024-06-16
James K Albares1013France2024-06-10
Jennifer G Darakjy1014Germany2024-06-14
Tony L Venere1015Germany2024-06-08
Rodrigues D Darakjy1016Spain2024-06-04
Misaki W Venere1017Germany2024-06-21
Munro U Oldroyd1018Italy2024-06-04
Arvin C Darakjy1019Germany2024-05-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha C OstroskySpainXuxue Feng QUALIFIED
Kadeem E DilliardUnited KingdomElwin Sharvill PROPOSAL
Ashley Y VocelkaArgentinaElwin Sharvill PROPOSAL
Salvatore A VocelkaJapanIvan Magalhaes RENEWAL
Silvio Y VocelkaIndiaBernardo Dominic PROPOSAL
Izzy O BriddickCanadaStephen Shaw NEGOTIATION
Aditya W NickaAustraliaAsiya Javayant PROPOSAL
Misaki M BologniaJapanIvan Magalhaes NEW
Mujtaba K RoysterFranceOnyama Limba QUALIFIED
Jeanfrancois I ShinkoIndiaXuxue Feng UNQUALIFIED
Mujtaba J WieserArgentinaIvan Magalhaes RENEWAL
Stacey W ButtFranceIoni Bowcher QUALIFIED
Kadeem B IturbideJapanXuxue Feng QUALIFIED
David C SergiFranceAnna Fali NEW
Ashley U ButtFranceIvan Magalhaes NEGOTIATION
Munro M CampainItalyXuxue Feng PROPOSAL
Izzy G RutaFranceXuxue Feng QUALIFIED
Faith V DilliardSpainStephen Shaw RENEWAL
Alejandro H StensethGermanyAsiya Javayant UNQUALIFIED
Aruna W StockhamFranceAsiya Javayant UNQUALIFIED
Misaki I FerenczUnited KingdomXuxue Feng NEW
Sinclair T MacleadJapanXuxue Feng NEW
Kadeem Q ChuiAustraliaAnna Fali RENEWAL
Maisha L CampainRussiaBernardo Dominic NEGOTIATION
James L PoquetteJapanAnna Fali NEGOTIATION
Aika D NickaArgentinaOnyama Limba RENEWAL
Ivar P SchemmerAustraliaOnyama Limba NEW
Deepesh F KuskoUnited KingdomAmy Elsner QUALIFIED
Jennifer G SaylorsJapanElwin Sharvill PROPOSAL
Costa U NickaGermanyBernardo Dominic RENEWAL
Alejandro H WhobreyIndiaIvan Magalhaes NEGOTIATION
Izzy G KolmetzAustraliaIvan Magalhaes RENEWAL
Francesco K RoysterAustraliaBernardo Dominic NEGOTIATION
Jeanfrancois C CaudyGermanyAnna Fali RENEWAL
Mujtaba I AmigonCanadaXuxue Feng NEW
Sinclair A FerenczUnited KingdomBernardo Dominic NEW
Octavia Y FerenczJapanIoni Bowcher PROPOSAL
Adams Y AlbaresJapanIoni Bowcher QUALIFIED
Juan L MacleadGermanyAnna Fali NEGOTIATION
Alejandro A FigeroaItalyAnna Fali NEW

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