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
Aditya B PerinItalyElwin Sharvill UNQUALIFIED
Tony Y VocelkaItalyIoni Bowcher PROPOSAL
Mujtaba T FigeroaIndiaBernardo Dominic UNQUALIFIED
Jennifer I NickaGermanyAmy Elsner RENEWAL
Cody Y PoquetteIndiaAsiya Javayant RENEWAL
Mujtaba C PoquetteBrazilAnna Fali RENEWAL
Francesco G GlickFranceAsiya Javayant NEW
Wickens N StockhamCanadaIoni Bowcher UNQUALIFIED
Arvin Y ShinkoItalyStephen Shaw NEGOTIATION
Leja Z WaycottGermanyXuxue Feng UNQUALIFIED
Salvatore S GillianGermanyXuxue Feng PROPOSAL
Ivar W DarakjySpainOnyama Limba QUALIFIED
Jefferson A WaycottAustraliaBernardo Dominic PROPOSAL
Sinclair I RutaFranceAsiya Javayant UNQUALIFIED
James C DilliardItalyElwin Sharvill NEW
Jeanfrancois V AlbaresJapanIoni Bowcher NEW
Silvio L BologniaItalyIvan Magalhaes PROPOSAL
Maria Z MorascaFranceAmy Elsner RENEWAL
Greenwood U MarrierItalyBernardo Dominic QUALIFIED
Silvio E RulapaughRussiaIvan Magalhaes UNQUALIFIED
Ivar Y DoeBrazilAnna Fali PROPOSAL
Johnson B GauchoJapanElwin Sharvill RENEWAL
Aruna B SchemmerArgentinaAmy Elsner PROPOSAL
Kadeem H MacleadFranceBernardo Dominic NEGOTIATION
Jennifer K GarufiAustraliaXuxue Feng NEGOTIATION
Tony V DoeCanadaOnyama Limba QUALIFIED
Silvio E GauchoUnited KingdomIvan Magalhaes NEW
Smith E DoeArgentinaAsiya Javayant RENEWAL
Antonio Q SlusarskiJapanIoni Bowcher PROPOSAL
Jeanfrancois K ShinkoCanadaStephen Shaw RENEWAL
Murillo L SergiArgentinaElwin Sharvill RENEWAL
Deepesh I VocelkaIndiaAnna Fali PROPOSAL
Murillo M RoysterArgentinaIoni Bowcher NEGOTIATION
James D RulapaughJapanIvan Magalhaes UNQUALIFIED
Clifford C FlosiBrazilBernardo Dominic PROPOSAL
James I ChuiSpainStephen Shaw RENEWAL
Darci B MaletUnited KingdomAmy Elsner PROPOSAL
Francesco X VenereAustraliaXuxue Feng UNQUALIFIED
Mujtaba Q RimItalyAnna Fali QUALIFIED
Cody J AlbaresItalyElwin Sharvill PROPOSAL
Deepesh J VenereIndiaAmy Elsner NEW
Juan C PerinUnited KingdomAnna Fali QUALIFIED
Darci T PaprockiUnited KingdomAnna Fali UNQUALIFIED
Greenwood U MorascaIndiaIvan Magalhaes NEGOTIATION
Costa W FerenczGermanyAnna Fali RENEWAL
Kaitlin O KuskoGermanyStephen Shaw UNQUALIFIED
Smith I ButtSpainOnyama Limba PROPOSAL
Emily P FlosiBrazilIoni Bowcher PROPOSAL
Murillo M SchemmerRussiaOnyama Limba UNQUALIFIED
Octavia Y SchemmerUnited KingdomIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jones G OldroydGermanyBernardo Dominic PROPOSAL
Izzy R GarufiFranceOnyama Limba UNQUALIFIED
Tony N CampainSpainXuxue Feng UNQUALIFIED
Rodrigues A SchemmerAustraliaOnyama Limba PROPOSAL
Aditya Z GauchoAustraliaStephen Shaw NEGOTIATION
Alejandro G WieserUnited KingdomOnyama Limba UNQUALIFIED
Darci K KuskoFranceStephen Shaw UNQUALIFIED
Sinclair Z FlosiJapanAsiya Javayant NEW
Aruna B SergiUnited KingdomStephen Shaw NEGOTIATION
Rodrigues K AlbaresBrazilXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin C FerenczItaly2024-06-13Rangoni Of Florence UNQUALIFIED53Bernardo Dominic
1001Morrow C KolmetzIndia2024-06-20Feltz Printing Service PROPOSAL64Amy Elsner
1002Smith N NickaSpain2024-06-09Rangoni Of Florence NEW62Ivan Magalhaes
1003Johnson S FollerGermany2024-06-18Truhlar And Truhlar Attys RENEWAL91Anna Fali
1004Costa M StockhamFrance2024-05-24Morlong Associates RENEWAL60Amy Elsner
1005Sinclair C ChuiUnited Kingdom2024-05-25Dorl, James J Esq RENEWAL10Ioni Bowcher
1006Jones Z FerenczArgentina2024-05-27Chanay, Jeffrey A Esq UNQUALIFIED12Bernardo Dominic
1007Salvatore V NestleRussia2024-06-17Feltz Printing Service QUALIFIED50Ivan Magalhaes
1008Chavez A MacleadRussia2024-06-11Morlong Associates NEW19Ioni Bowcher
1009Antonio K RimUnited Kingdom2024-06-20Morlong Associates UNQUALIFIED85Anna Fali
1010Murillo G PoquetteBrazil2024-06-14Rousseaux, Michael Esq UNQUALIFIED84Bernardo Dominic
1011Ricardo T ChuiJapan2024-06-16Commercial Press QUALIFIED81Bernardo Dominic
1012Morrow A FlosiIndia2024-06-03Commercial Press NEGOTIATION85Elwin Sharvill
1013Nicolas U GarufiUnited Kingdom2024-06-21Chapman, Ross E Esq RENEWAL77Amy Elsner
1014Alejandro M CaldareraBrazil2024-05-28Truhlar And Truhlar Attys PROPOSAL14Stephen Shaw
1015Darci R DarakjySpain2024-05-24King, Christopher A Esq PROPOSAL64Asiya Javayant
1016Deepesh T SaylorsFrance2024-06-16Rangoni Of Florence NEGOTIATION2Amy Elsner
1017Aruna M BologniaAustralia2024-06-21Printing Dimensions NEGOTIATION11Onyama Limba
1018Alejandro K MarrierJapan2024-06-19Benton, John B Jr NEGOTIATION76Xuxue Feng
1019James K SlusarskiFrance2024-06-11Buckley Miller Wright NEGOTIATION73Ivan Magalhaes
1020Munro F StockhamBrazil2024-06-04Dorl, James J Esq RENEWAL85Ivan Magalhaes
1021Nicolas W MacleadGermany2024-06-09Rangoni Of Florence NEGOTIATION3Amy Elsner
1022Jeanfrancois F NickaJapan2024-05-23Buckley Miller Wright PROPOSAL31Xuxue Feng
1023Sinclair I GillianBrazil2024-06-05Chemel, James L Cpa UNQUALIFIED97Xuxue Feng
1024Sinclair U SlusarskiSpain2024-05-27Rousseaux, Michael Esq NEGOTIATION0Asiya Javayant
1025Maria L VenereCanada2024-06-21Chanay, Jeffrey A Esq UNQUALIFIED77Asiya Javayant
1026Silvio V GauchoItaly2024-05-30Rousseaux, Michael Esq PROPOSAL22Onyama Limba
1027Costa Z PerinCanada2024-06-19Printing Dimensions NEGOTIATION23Onyama Limba
1028Kaitlin O PaprockiRussia2024-06-18Commercial Press NEW39Ioni Bowcher
1029Ashley S WhobreyUnited Kingdom2024-05-25Chanay, Jeffrey A Esq RENEWAL71Bernardo Dominic
1030Ashley J PerinCanada2024-06-09Dorl, James J Esq UNQUALIFIED39Onyama Limba
1031Smith I BowleyBrazil2024-05-31Dorl, James J Esq NEGOTIATION43Amy Elsner
1032Nicolas I DilliardRussia2024-05-25Morlong Associates PROPOSAL77Ivan Magalhaes
1033Aditya K PerinCanada2024-06-09Morlong Associates RENEWAL79Amy Elsner
1034Costa J RoysterArgentina2024-06-15Rangoni Of Florence RENEWAL63Elwin Sharvill
1035Ivar B FigeroaIndia2024-05-26Printing Dimensions NEW2Ioni Bowcher
1036Deepesh S FlosiRussia2024-06-09King, Christopher A Esq QUALIFIED58Elwin Sharvill
1037Johnson F NickaRussia2024-06-04Truhlar And Truhlar Attys PROPOSAL87Stephen Shaw
1038Ricardo L InouyeItaly2024-06-17Rousseaux, Michael Esq PROPOSAL3Ioni Bowcher
1039Murillo U GauchoJapan2024-05-23Feltz Printing Service QUALIFIED11Onyama Limba
1040Jeanfrancois M WhobreyArgentina2024-06-07Printing Dimensions UNQUALIFIED25Asiya Javayant
1041Deepesh K SergiSpain2024-06-13Chanay, Jeffrey A Esq PROPOSAL23Elwin Sharvill
1042Francesco U MorascaBrazil2024-05-26Rousseaux, Michael Esq QUALIFIED9Elwin Sharvill
1043Arvin L DarakjyCanada2024-05-24Truhlar And Truhlar Attys QUALIFIED27Elwin Sharvill
1044Darci O AlbaresBrazil2024-05-26Chemel, James L Cpa NEW70Elwin Sharvill
1045Deepesh O BowleyIndia2024-05-29Chemel, James L Cpa QUALIFIED76Amy Elsner
1046Aditya G GauchoRussia2024-06-18Rangoni Of Florence PROPOSAL81Xuxue Feng
1047Darci A NestleIndia2024-06-06Truhlar And Truhlar Attys RENEWAL11Xuxue Feng
1048Faith M MacleadCanada2024-06-11Rousseaux, Michael Esq NEW30Asiya Javayant
1049Aditya D FollerAustralia2024-05-27Printing Dimensions UNQUALIFIED86Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
James B SergiItalyAnna Fali QUALIFIED
Jeanfrancois T OstroskyUnited KingdomIoni Bowcher NEGOTIATION
Faith V WaycottUnited KingdomElwin Sharvill UNQUALIFIED
Francesco C CampainUnited KingdomXuxue Feng RENEWAL
Mujtaba U SaylorsRussiaOnyama Limba UNQUALIFIED
Mayumi Y CaudyCanadaXuxue Feng PROPOSAL
Morrow Y BowleyRussiaIvan Magalhaes NEW
Jefferson L NestleBrazilElwin Sharvill PROPOSAL
David T NestleRussiaXuxue Feng RENEWAL
Aruna Q NickaArgentinaXuxue Feng UNQUALIFIED
Costa D CampainRussiaIoni Bowcher NEGOTIATION
Jeanfrancois D TollnerItalyXuxue Feng NEW
Ivar X CampainCanadaAnna Fali QUALIFIED
Nicolas C GauchoIndiaIoni Bowcher RENEWAL
Faith N KolmetzBrazilAnna Fali NEW
Salvatore Z ChuiIndiaAnna Fali NEGOTIATION
Deepesh H AmigonJapanElwin Sharvill PROPOSAL
Octavia G PaprockiRussiaXuxue Feng RENEWAL
Stacey C StockhamCanadaIoni Bowcher QUALIFIED
Maria X SchemmerAustraliaBernardo Dominic NEW
Tony H RutaCanadaXuxue Feng NEGOTIATION
Mayumi I FollerFranceXuxue Feng RENEWAL
Isabel M FigeroaJapanAnna Fali QUALIFIED
Rodrigues U RoysterRussiaAmy Elsner NEW
Misaki C RulapaughUnited KingdomStephen Shaw QUALIFIED
Misaki S ButtUnited KingdomAsiya Javayant PROPOSAL
Mujtaba I RulapaughCanadaXuxue Feng PROPOSAL
Maria H GillianArgentinaXuxue Feng QUALIFIED
Greenwood M OstroskyIndiaElwin Sharvill QUALIFIED
Murillo N KolmetzCanadaStephen Shaw UNQUALIFIED
Izzy W InouyeCanadaIvan Magalhaes NEGOTIATION
Sinclair G FlosiIndiaIoni Bowcher NEGOTIATION
Julie V ChuiAustraliaXuxue Feng NEW
Greenwood G TollnerFranceAsiya Javayant QUALIFIED
Maria N SchemmerGermanyOnyama Limba QUALIFIED
Johnson L WaycottBrazilIvan Magalhaes PROPOSAL
Nicolas L VocelkaSpainIoni Bowcher QUALIFIED
Jones V GauchoArgentinaAsiya Javayant NEGOTIATION
Mayumi N SaylorsSpainAsiya Javayant QUALIFIED
Rodrigues T ChuiArgentinaStephen Shaw QUALIFIED
James U PerinArgentinaIoni Bowcher PROPOSAL
Alejandro N ButtCanadaAnna Fali NEGOTIATION
Emily T DoeItalyElwin Sharvill RENEWAL
Kadeem R MarrierCanadaIoni Bowcher NEGOTIATION
Johnson I SlusarskiBrazilBernardo Dominic UNQUALIFIED
David D VenereIndiaIvan Magalhaes NEGOTIATION
Jennifer Z SlusarskiAustraliaBernardo Dominic QUALIFIED
Clifford A AmigonRussiaIvan Magalhaes NEW
Octavia G NickaRussiaIoni Bowcher UNQUALIFIED
Sinclair N ButtItalyIoni Bowcher QUALIFIED
Frozen Columns
Name
Julie Y Rim
Izzy R Caldarera
Chavez X Bowley
Stacey V Garufi
Arvin G Rulapaugh
Deepesh L Doe
Stacey H Royster
Arvin K Caldarera
Leon R Malet
Salvatore U Briddick
Darci Z Campain
Costa B Caldarera
Tony T Butt
Ricardo R Venere
Aruna Q Glick
Cody U Venere
Ivar M Wieser
Nicolas O Vocelka
Leja G Garufi
Izzy V Ferencz
Deepesh V Wieser
Misaki L Rulapaugh
Johnson Z Bolognia
Cody W Dilliard
Stacey Q Foller
Jennifer S Malet
Misaki A Maclead
Emily C Waycott
Francesco U Paprocki
Maisha S Rim
Jefferson Z Campain
Ricardo W Poquette
Arvin T Caldarera
Sinclair E Nestle
Claire T Saylors
Misaki W Venere
Tony Z Malet
Jefferson O Ferencz
Claire J Garufi
Aika T Flosi
Leja H Royster
Stacey B Bolognia
David D Stockham
Darci N Ostrosky
Clifford V Nestle
Ivar D Whobrey
Wickens I Whobrey
Morrow G Butt
Jefferson E Nestle
Aika Z Perin
IdCountryDate
1000Spain2024-06-05
1001Spain2024-06-19
1002Japan2024-06-09
1003Spain2024-06-03
1004Canada2024-05-29
1005France2024-06-10
1006Australia2024-06-18
1007France2024-06-01
1008Italy2024-05-26
1009Spain2024-05-24
1010Spain2024-05-25
1011Argentina2024-05-27
1012India2024-05-30
1013Germany2024-06-16
1014Russia2024-06-05
1015Argentina2024-06-08
1016Canada2024-06-02
1017Italy2024-06-02
1018Italy2024-06-13
1019Russia2024-06-13
1020Australia2024-06-15
1021Germany2024-06-08
1022Japan2024-06-03
1023United Kingdom2024-06-18
1024Argentina2024-05-23
1025Italy2024-06-15
1026Australia2024-06-01
1027Italy2024-05-27
1028Germany2024-06-19
1029Argentina2024-05-26
1030India2024-06-06
1031Spain2024-06-04
1032Japan2024-06-08
1033Japan2024-05-26
1034Argentina2024-06-12
1035Argentina2024-05-31
1036Japan2024-06-07
1037Australia2024-06-19
1038Russia2024-06-20
1039United Kingdom2024-05-28
1040Russia2024-05-30
1041Italy2024-06-11
1042Italy2024-06-02
1043Argentina2024-06-12
1044United Kingdom2024-06-10
1045Canada2024-06-12
1046Brazil2024-06-17
1047United Kingdom2024-06-18
1048Spain2024-06-10
1049Japan2024-06-04

On-Demand Data

NameIdCountryDate
Darci C Schemmer1000Germany2024-06-21
Rodrigues H Stockham1001Argentina2024-06-16
Jefferson L Caldarera1002Germany2024-06-21
Juan U Butt1003Italy2024-06-03
Wickens R Rim1004Canada2024-06-12
Emily N Shinko1005France2024-05-25
Rodrigues K Malet1006Argentina2024-06-06
Octavia I Darakjy1007France2024-06-12
Juan P Perin1008Spain2024-06-10
Izzy H Glick1009Italy2024-06-06
Ivar R Whobrey1010Australia2024-05-28
Octavia T Waycott1011Spain2024-05-27
Deepesh W Waycott1012Australia2024-06-01
Wickens Z Glick1013Brazil2024-06-21
Morrow C Gillian1014Brazil2024-06-15
Tony V Venere1015Spain2024-06-09
Julie C Flosi1016Italy2024-06-16
Leon S Garufi1017France2024-05-24
Cody C Caldarera1018Germany2024-06-04
James O Saylors1019Germany2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith C MarrierItalyBernardo Dominic NEW
Juan N RulapaughFranceXuxue Feng RENEWAL
Sinclair P FigeroaRussiaOnyama Limba NEW
Jeanfrancois V CampainItalyIoni Bowcher UNQUALIFIED
Kadeem B StockhamGermanyIvan Magalhaes UNQUALIFIED
Munro I ButtSpainAsiya Javayant NEW
Izzy A BriddickItalyOnyama Limba UNQUALIFIED
Ashley H FerenczItalyElwin Sharvill PROPOSAL
Silvio R RutaSpainXuxue Feng UNQUALIFIED
Wickens W VocelkaItalyElwin Sharvill QUALIFIED
Leja W MacleadArgentinaBernardo Dominic NEGOTIATION
Stacey E GlickJapanElwin Sharvill UNQUALIFIED
Kadeem G IturbideBrazilAsiya Javayant QUALIFIED
Faith W NickaBrazilOnyama Limba PROPOSAL
Claire W MaletCanadaStephen Shaw QUALIFIED
Kaitlin O OldroydIndiaIoni Bowcher QUALIFIED
Deepesh N OstroskyUnited KingdomAmy Elsner PROPOSAL
Johnson W WaycottArgentinaAmy Elsner NEW
Clifford S CaldareraGermanyAnna Fali UNQUALIFIED
Antonio J NestleUnited KingdomAnna Fali NEW
Emily V FlosiSpainBernardo Dominic UNQUALIFIED
Jefferson E FerenczIndiaIvan Magalhaes NEW
Francesco Z MaletJapanXuxue Feng UNQUALIFIED
Isabel H PerinUnited KingdomAnna Fali UNQUALIFIED
Aditya M MarrierSpainElwin Sharvill NEW
Ivar O NickaFranceAmy Elsner QUALIFIED
Costa T MarrierJapanAnna Fali NEW
Misaki L RoysterIndiaIoni Bowcher QUALIFIED
Murillo R SlusarskiAustraliaIvan Magalhaes QUALIFIED
James L RutaBrazilAmy Elsner PROPOSAL
Leon S MorascaIndiaAmy Elsner NEGOTIATION
Kadeem X MarrierUnited KingdomAsiya Javayant UNQUALIFIED
James N DoeUnited KingdomBernardo Dominic NEGOTIATION
Munro J SaylorsBrazilOnyama Limba PROPOSAL
Kadeem D BriddickSpainOnyama Limba QUALIFIED
Kadeem A OldroydUnited KingdomIoni Bowcher PROPOSAL
Claire J WieserUnited KingdomIvan Magalhaes RENEWAL
Stacey O GauchoArgentinaAsiya Javayant PROPOSAL
Sinclair Z PerinItalyOnyama Limba QUALIFIED
Maria O RutaJapanOnyama Limba 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>