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
Leon F OstroskyGermanyXuxue Feng NEW
Ashley V RulapaughItalyElwin Sharvill NEGOTIATION
Aika L KuskoFranceBernardo Dominic PROPOSAL
Ivar O FigeroaSpainIoni Bowcher RENEWAL
Jefferson X CaldareraSpainAsiya Javayant UNQUALIFIED
Alejandro Q ChuiAustraliaAnna Fali RENEWAL
Emily Z ChuiFranceAnna Fali NEGOTIATION
Arvin D OstroskyGermanyStephen Shaw NEW
Nicolas Z WhobreyGermanyStephen Shaw UNQUALIFIED
Jennifer I IturbideBrazilAsiya Javayant RENEWAL
Julie T RulapaughGermanyElwin Sharvill UNQUALIFIED
James Y DilliardItalyBernardo Dominic RENEWAL
Mujtaba B KolmetzGermanyAnna Fali PROPOSAL
Nicolas T BriddickRussiaBernardo Dominic NEGOTIATION
Silvio R MaletCanadaIvan Magalhaes RENEWAL
Misaki B DarakjyFranceBernardo Dominic QUALIFIED
David N FollerUnited KingdomStephen Shaw NEGOTIATION
Izzy D KolmetzRussiaOnyama Limba UNQUALIFIED
Rodrigues N FigeroaRussiaAsiya Javayant QUALIFIED
Juan P RimCanadaIoni Bowcher PROPOSAL
Jennifer P StockhamIndiaXuxue Feng UNQUALIFIED
Octavia F KolmetzSpainAsiya Javayant UNQUALIFIED
Aika L AmigonItalyAnna Fali NEW
Costa J PaprockiFranceAsiya Javayant PROPOSAL
Ricardo V PerinFranceBernardo Dominic UNQUALIFIED
Maria O MorascaFranceStephen Shaw NEGOTIATION
Stacey X DarakjyUnited KingdomStephen Shaw QUALIFIED
Ricardo D StockhamIndiaBernardo Dominic QUALIFIED
Greenwood P CaudyAustraliaXuxue Feng UNQUALIFIED
Salvatore K WieserUnited KingdomAsiya Javayant PROPOSAL
Chavez O BriddickItalyOnyama Limba QUALIFIED
Ashley F BriddickGermanyAsiya Javayant PROPOSAL
Greenwood A ShinkoRussiaXuxue Feng NEGOTIATION
Mayumi C KolmetzIndiaIoni Bowcher UNQUALIFIED
Deepesh I BriddickItalyBernardo Dominic RENEWAL
Stacey V FlosiAustraliaAmy Elsner NEW
Smith T WieserIndiaAmy Elsner QUALIFIED
Ashley N PaprockiCanadaIvan Magalhaes NEGOTIATION
Tony S CaldareraItalyAsiya Javayant RENEWAL
Alejandro P RulapaughUnited KingdomOnyama Limba QUALIFIED
Jeanfrancois K PaprockiFranceAmy Elsner QUALIFIED
Deepesh U SaylorsIndiaXuxue Feng NEGOTIATION
Faith Q IturbideFranceIvan Magalhaes NEGOTIATION
Francesco P MarrierBrazilAmy Elsner UNQUALIFIED
Ashley K CaudyGermanyStephen Shaw NEW
Munro O RimGermanyAmy Elsner UNQUALIFIED
Munro A WieserSpainAmy Elsner QUALIFIED
Chavez K MacleadFranceIvan Magalhaes UNQUALIFIED
Francesco K StockhamFranceAnna Fali QUALIFIED
Costa T PaprockiAustraliaIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Antonio B GlickItalyOnyama Limba PROPOSAL
Emily T RoysterGermanyOnyama Limba PROPOSAL
Morrow M PerinBrazilIoni Bowcher NEW
Ashley L MarrierCanadaAmy Elsner NEW
Chavez Y SaylorsSpainIvan Magalhaes QUALIFIED
Cody Z CaldareraBrazilOnyama Limba RENEWAL
Murillo C DoeCanadaIoni Bowcher QUALIFIED
Murillo K BologniaRussiaAmy Elsner NEW
Antonio R GauchoFranceStephen Shaw QUALIFIED
Faith O BowleyArgentinaAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow F VocelkaJapan2024-06-16Benton, John B Jr PROPOSAL86Anna Fali
1001Francesco K GauchoItaly2024-06-08Buckley Miller Wright PROPOSAL99Elwin Sharvill
1002Costa V VocelkaSpain2024-06-10Chanay, Jeffrey A Esq RENEWAL9Elwin Sharvill
1003Julie G AmigonBrazil2024-06-01Feltz Printing Service QUALIFIED87Elwin Sharvill
1004Darci I PerinItaly2024-06-17Feiner Bros UNQUALIFIED16Onyama Limba
1005Murillo H RulapaughAustralia2024-06-08Chapman, Ross E Esq PROPOSAL80Ivan Magalhaes
1006Aditya O RimFrance2024-05-24Chemel, James L Cpa UNQUALIFIED40Elwin Sharvill
1007Darci R TollnerJapan2024-06-17Printing Dimensions NEW94Xuxue Feng
1008Aika K WhobreyFrance2024-06-07Dorl, James J Esq UNQUALIFIED15Bernardo Dominic
1009Mayumi G CaudySpain2024-06-03Morlong Associates UNQUALIFIED70Xuxue Feng
1010Octavia E GauchoIndia2024-06-11Chanay, Jeffrey A Esq NEGOTIATION47Onyama Limba
1011Murillo S GarufiFrance2024-06-02Benton, John B Jr NEW89Onyama Limba
1012Francesco G WhobreyItaly2024-06-13Dorl, James J Esq NEGOTIATION93Ivan Magalhaes
1013Morrow N GauchoRussia2024-06-07Feltz Printing Service NEW15Ioni Bowcher
1014Juan T CaudyJapan2024-05-25Chemel, James L Cpa QUALIFIED62Onyama Limba
1015Costa F KuskoJapan2024-06-19Dorl, James J Esq NEW88Elwin Sharvill
1016Costa L CampainItaly2024-06-14Truhlar And Truhlar Attys RENEWAL65Amy Elsner
1017Clifford O GarufiGermany2024-06-20Dorl, James J Esq QUALIFIED91Asiya Javayant
1018Sinclair E ShinkoJapan2024-06-04Commercial Press NEGOTIATION44Asiya Javayant
1019Leja K PoquetteGermany2024-05-27Morlong Associates NEGOTIATION64Ivan Magalhaes
1020Stacey S StockhamBrazil2024-05-24Buckley Miller Wright NEW84Asiya Javayant
1021Morrow K WaycottGermany2024-05-31Chanay, Jeffrey A Esq NEGOTIATION61Asiya Javayant
1022Rodrigues S GillianCanada2024-06-18Truhlar And Truhlar Attys RENEWAL21Anna Fali
1023Aruna L PerinSpain2024-06-22Feltz Printing Service NEGOTIATION30Anna Fali
1024Aika A NickaUnited Kingdom2024-05-31Buckley Miller Wright NEGOTIATION29Ioni Bowcher
1025Faith L FlosiItaly2024-06-22King, Christopher A Esq QUALIFIED48Ivan Magalhaes
1026Emily W NickaIndia2024-05-25Buckley Miller Wright UNQUALIFIED58Xuxue Feng
1027Juan K OldroydRussia2024-06-09Feltz Printing Service UNQUALIFIED17Ivan Magalhaes
1028Leja Y RulapaughBrazil2024-06-02King, Christopher A Esq NEGOTIATION81Bernardo Dominic
1029Tony S FigeroaRussia2024-06-15Chapman, Ross E Esq PROPOSAL11Amy Elsner
1030Mayumi P NickaIndia2024-06-18Feiner Bros NEW29Bernardo Dominic
1031Aruna R OldroydBrazil2024-06-05Truhlar And Truhlar Attys UNQUALIFIED43Ivan Magalhaes
1032Costa G MarrierRussia2024-05-25Chapman, Ross E Esq NEW30Xuxue Feng
1033Leja L ShinkoRussia2024-06-03Truhlar And Truhlar Attys PROPOSAL18Xuxue Feng
1034Alejandro U RoysterItaly2024-06-09Feiner Bros RENEWAL22Anna Fali
1035Cody K DoeArgentina2024-06-20Buckley Miller Wright NEGOTIATION19Anna Fali
1036Izzy I StockhamBrazil2024-06-06Benton, John B Jr QUALIFIED57Ivan Magalhaes
1037Ashley Q FlosiAustralia2024-06-01Buckley Miller Wright UNQUALIFIED59Elwin Sharvill
1038Mayumi R RulapaughRussia2024-05-29Chanay, Jeffrey A Esq NEW51Asiya Javayant
1039Adams Y KuskoBrazil2024-05-25Chapman, Ross E Esq UNQUALIFIED59Stephen Shaw
1040Julie A KuskoSpain2024-06-10Feltz Printing Service QUALIFIED25Ioni Bowcher
1041Aditya D SergiCanada2024-06-11Benton, John B Jr UNQUALIFIED13Stephen Shaw
1042Greenwood B GauchoAustralia2024-05-31Truhlar And Truhlar Attys PROPOSAL85Asiya Javayant
1043Cody Y MaletBrazil2024-06-01Rousseaux, Michael Esq NEW68Ivan Magalhaes
1044Jefferson E MaletBrazil2024-05-24Chanay, Jeffrey A Esq QUALIFIED4Amy Elsner
1045Johnson V NestleCanada2024-05-27Chapman, Ross E Esq RENEWAL90Bernardo Dominic
1046Adams E KuskoArgentina2024-05-31Buckley Miller Wright RENEWAL58Asiya Javayant
1047Mujtaba Y SlusarskiSpain2024-05-29Chapman, Ross E Esq UNQUALIFIED60Anna Fali
1048Leja I MaletFrance2024-06-04Truhlar And Truhlar Attys PROPOSAL85Stephen Shaw
1049Deepesh B MarrierFrance2024-06-10Rangoni Of Florence NEW99Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Adams S NestleFranceAnna Fali NEW
Greenwood V GarufiFranceIvan Magalhaes QUALIFIED
Sinclair P IturbideCanadaAsiya Javayant QUALIFIED
Arvin T OstroskySpainStephen Shaw NEW
Sinclair M MaletRussiaElwin Sharvill NEW
Misaki Z FigeroaSpainAmy Elsner PROPOSAL
Jennifer M ButtIndiaOnyama Limba NEW
Mayumi F AmigonArgentinaStephen Shaw PROPOSAL
Leon P BriddickSpainIoni Bowcher QUALIFIED
David Z KolmetzIndiaXuxue Feng RENEWAL
Aika T WieserItalyIvan Magalhaes RENEWAL
Tony W ChuiAustraliaOnyama Limba PROPOSAL
Chavez D PaprockiItalyOnyama Limba NEGOTIATION
Salvatore E GillianJapanStephen Shaw NEGOTIATION
Darci I FigeroaCanadaOnyama Limba PROPOSAL
Silvio X ButtAustraliaOnyama Limba NEW
Ivar M FollerIndiaIoni Bowcher NEGOTIATION
Tony V NickaUnited KingdomIoni Bowcher QUALIFIED
Maria I BowleyArgentinaIvan Magalhaes UNQUALIFIED
Kaitlin H TollnerJapanStephen Shaw UNQUALIFIED
David O RutaItalyIvan Magalhaes UNQUALIFIED
Smith B PoquetteBrazilIoni Bowcher UNQUALIFIED
Mujtaba P AlbaresArgentinaBernardo Dominic NEW
Cody G ButtGermanyStephen Shaw PROPOSAL
Jeanfrancois L PerinJapanBernardo Dominic RENEWAL
Alejandro Z RutaJapanAsiya Javayant NEW
Smith U FlosiFranceStephen Shaw UNQUALIFIED
Jones G KuskoItalyStephen Shaw NEGOTIATION
Kaitlin Q FigeroaIndiaElwin Sharvill NEGOTIATION
David U StockhamIndiaIvan Magalhaes UNQUALIFIED
Francesco O PoquetteFranceStephen Shaw UNQUALIFIED
David N WhobreyRussiaAmy Elsner UNQUALIFIED
Jefferson W DilliardGermanyElwin Sharvill NEGOTIATION
Morrow R ShinkoFranceIoni Bowcher PROPOSAL
Misaki Q CaudyUnited KingdomElwin Sharvill PROPOSAL
Nicolas I SchemmerFranceOnyama Limba PROPOSAL
Morrow Q MorascaJapanIoni Bowcher NEGOTIATION
Rodrigues H SlusarskiArgentinaBernardo Dominic NEW
Adams N MorascaJapanIoni Bowcher UNQUALIFIED
Juan A FigeroaAustraliaStephen Shaw NEGOTIATION
Octavia G BologniaUnited KingdomAsiya Javayant RENEWAL
Isabel M CaldareraSpainBernardo Dominic PROPOSAL
Ricardo F OldroydAustraliaAnna Fali RENEWAL
Nicolas R MaletItalyOnyama Limba NEGOTIATION
Claire M FollerCanadaAmy Elsner QUALIFIED
Aditya C AlbaresArgentinaAnna Fali QUALIFIED
Tony U FollerBrazilAsiya Javayant UNQUALIFIED
Clifford Y RutaRussiaElwin Sharvill UNQUALIFIED
Jennifer G MacleadAustraliaBernardo Dominic QUALIFIED
Sinclair M FerenczIndiaAnna Fali NEW
Frozen Columns
Name
Kaitlin M Schemmer
Silvio T Iturbide
Adams F Iturbide
Ricardo L Saylors
Juan R Paprocki
Mujtaba K Slusarski
Kadeem C Amigon
Izzy K Whobrey
Claire F Ferencz
Maisha S Whobrey
Aika U Kusko
Arvin F Bolognia
Kaitlin I Stockham
Claire D Maclead
Costa I Nestle
Claire L Flosi
Jennifer G Poquette
Mujtaba H Whobrey
Jeanfrancois E Maclead
Maria J Oldroyd
Julie S Albares
Ivar R Venere
Mayumi E Glick
Ivar S Waycott
Clifford G Garufi
Kaitlin M Ostrosky
Kadeem X Malet
Adams T Schemmer
Greenwood X Inouye
Nicolas M Stockham
Deepesh D Tollner
Clifford F Garufi
Leon K Malet
Morrow Z Rulapaugh
Leja P Caudy
Johnson A Rim
Maisha H Flosi
Johnson R Maclead
Munro B Darakjy
Isabel J Butt
Aditya C Vocelka
Rodrigues A Foller
Mayumi F Nestle
Costa A Wieser
Faith F Briddick
Kadeem S Chui
Wickens N Shinko
Arvin Z Stenseth
Clifford H Darakjy
Faith Z Shinko
IdCountryDate
1000India2024-06-19
1001Russia2024-06-12
1002Canada2024-06-03
1003Brazil2024-06-02
1004Germany2024-06-15
1005France2024-06-05
1006Japan2024-06-14
1007United Kingdom2024-06-13
1008Brazil2024-05-27
1009Spain2024-05-25
1010Japan2024-05-28
1011Canada2024-05-28
1012Argentina2024-06-17
1013Canada2024-06-01
1014Canada2024-05-31
1015Argentina2024-05-29
1016France2024-06-02
1017Italy2024-06-13
1018India2024-06-07
1019Brazil2024-06-02
1020United Kingdom2024-06-12
1021Germany2024-06-03
1022India2024-06-07
1023Argentina2024-06-08
1024Spain2024-06-15
1025Italy2024-06-06
1026Russia2024-06-17
1027Brazil2024-06-11
1028France2024-06-12
1029Brazil2024-06-22
1030Canada2024-06-16
1031Brazil2024-06-13
1032Italy2024-06-13
1033Argentina2024-05-30
1034Brazil2024-05-26
1035France2024-06-01
1036Australia2024-06-07
1037Brazil2024-05-31
1038United Kingdom2024-06-21
1039Spain2024-06-08
1040Australia2024-06-21
1041Russia2024-05-25
1042Germany2024-05-29
1043Brazil2024-06-18
1044Canada2024-05-25
1045Italy2024-05-29
1046Germany2024-05-24
1047Russia2024-06-15
1048Japan2024-05-25
1049Spain2024-06-15

On-Demand Data

NameIdCountryDate
Izzy F Slusarski1000Russia2024-06-06
Deepesh B Venere1001Russia2024-05-24
Darci V Ruta1002Argentina2024-06-02
James H Ferencz1003Russia2024-06-20
Misaki G Shinko1004Argentina2024-06-17
Aditya P Malet1005India2024-05-24
Ivar W Perin1006Argentina2024-06-22
Mayumi J Schemmer1007United Kingdom2024-05-29
Jeanfrancois P Schemmer1008Japan2024-06-20
Darci I Kusko1009Italy2024-05-26
Kadeem F Rim1010Spain2024-06-10
Adams R Waycott1011Canada2024-06-19
Leja R Paprocki1012Australia2024-05-26
Claire P Albares1013India2024-06-11
Smith I Bolognia1014Australia2024-06-14
Tony E Bolognia1015Argentina2024-06-14
Jones B Whobrey1016Canada2024-05-31
Aruna M Bowley1017Brazil2024-05-27
Julie D Caudy1018Australia2024-06-12
Antonio K Caldarera1019Japan2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel J PoquetteCanadaOnyama Limba PROPOSAL
Morrow H GillianRussiaAnna Fali UNQUALIFIED
Clifford T BologniaUnited KingdomAsiya Javayant NEGOTIATION
Chavez P RimSpainElwin Sharvill NEGOTIATION
Smith N IturbideItalyBernardo Dominic PROPOSAL
Alejandro D AmigonRussiaElwin Sharvill NEGOTIATION
Leja W TollnerArgentinaAmy Elsner NEW
Greenwood H CaudyJapanIvan Magalhaes UNQUALIFIED
Silvio C MacleadJapanElwin Sharvill QUALIFIED
Aditya H IturbideItalyOnyama Limba NEGOTIATION
Arvin C SlusarskiArgentinaIoni Bowcher QUALIFIED
Stacey X FollerUnited KingdomStephen Shaw RENEWAL
Alejandro Z WhobreyGermanyStephen Shaw QUALIFIED
Adams G ShinkoAustraliaElwin Sharvill UNQUALIFIED
Misaki J SaylorsRussiaIvan Magalhaes QUALIFIED
Chavez O GlickJapanAnna Fali NEGOTIATION
Maisha P AmigonIndiaElwin Sharvill PROPOSAL
Kadeem P GillianAustraliaElwin Sharvill UNQUALIFIED
Johnson B DoeSpainAnna Fali PROPOSAL
Faith E DarakjyUnited KingdomElwin Sharvill QUALIFIED
Kadeem J OldroydRussiaAnna Fali UNQUALIFIED
Ivar L AlbaresRussiaOnyama Limba RENEWAL
Jeanfrancois Y GlickSpainXuxue Feng UNQUALIFIED
Leon X VenereGermanyAsiya Javayant QUALIFIED
David S VenereIndiaElwin Sharvill QUALIFIED
Misaki O BologniaIndiaAsiya Javayant QUALIFIED
Octavia X DilliardSpainAsiya Javayant UNQUALIFIED
Wickens P ShinkoUnited KingdomAsiya Javayant NEGOTIATION
Claire J MarrierUnited KingdomAmy Elsner PROPOSAL
Murillo C GarufiIndiaAnna Fali NEW
Jefferson E StensethAustraliaIoni Bowcher RENEWAL
Deepesh U OldroydCanadaIvan Magalhaes QUALIFIED
Francesco G InouyeIndiaAmy Elsner UNQUALIFIED
Tony J WieserRussiaXuxue Feng QUALIFIED
Tony C GarufiRussiaXuxue Feng QUALIFIED
Stacey S CaldareraCanadaAsiya Javayant NEGOTIATION
Jones Z PoquetteBrazilAmy Elsner UNQUALIFIED
Kaitlin W PoquetteItalyBernardo Dominic QUALIFIED
Jennifer S WaycottGermanyAsiya Javayant NEW
Silvio H SaylorsSpainAnna Fali 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>