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
Salvatore H CampainBrazilAsiya Javayant NEGOTIATION
Tony H CaldareraAustraliaXuxue Feng NEGOTIATION
Kaitlin A StensethCanadaIvan Magalhaes RENEWAL
Smith T VocelkaGermanyIoni Bowcher PROPOSAL
Morrow Y OstroskyItalyIvan Magalhaes NEW
Maisha Z PoquetteFranceAsiya Javayant QUALIFIED
Jennifer C RimItalyIvan Magalhaes UNQUALIFIED
Juan L MarrierArgentinaAmy Elsner UNQUALIFIED
Kadeem H CaldareraIndiaStephen Shaw PROPOSAL
Mujtaba W SergiCanadaAmy Elsner NEW
Jones Q PaprockiArgentinaAnna Fali RENEWAL
James W MarrierGermanyBernardo Dominic QUALIFIED
Maria L ShinkoUnited KingdomOnyama Limba NEGOTIATION
Wickens J RoysterIndiaAnna Fali UNQUALIFIED
Cody L DilliardBrazilElwin Sharvill RENEWAL
Octavia P ButtIndiaXuxue Feng UNQUALIFIED
Mayumi O NestleSpainElwin Sharvill PROPOSAL
Mujtaba M ButtItalyOnyama Limba UNQUALIFIED
Alejandro G PoquetteRussiaXuxue Feng QUALIFIED
Misaki L GauchoSpainIoni Bowcher PROPOSAL
Maria F SlusarskiArgentinaElwin Sharvill UNQUALIFIED
Rodrigues U StockhamAustraliaOnyama Limba UNQUALIFIED
Francesco Q CampainSpainStephen Shaw UNQUALIFIED
Deepesh A KolmetzRussiaIvan Magalhaes UNQUALIFIED
Antonio X BologniaUnited KingdomOnyama Limba RENEWAL
Mayumi U OstroskySpainAmy Elsner NEW
Greenwood K MarrierCanadaIvan Magalhaes QUALIFIED
Cody U PerinJapanOnyama Limba PROPOSAL
Octavia O ShinkoArgentinaIvan Magalhaes NEW
Juan O TollnerJapanBernardo Dominic RENEWAL
Leja V MorascaGermanyStephen Shaw QUALIFIED
Arvin B RutaBrazilXuxue Feng NEGOTIATION
Costa K RimCanadaOnyama Limba UNQUALIFIED
Isabel M RulapaughBrazilStephen Shaw PROPOSAL
Faith W PoquetteFranceStephen Shaw RENEWAL
Tony J RutaJapanIvan Magalhaes NEGOTIATION
Francesco D GillianRussiaXuxue Feng RENEWAL
Adams K DarakjyIndiaElwin Sharvill UNQUALIFIED
Izzy X NestleCanadaOnyama Limba UNQUALIFIED
Ivar J MaletSpainAnna Fali PROPOSAL
Antonio V WieserCanadaOnyama Limba NEGOTIATION
Francesco A AlbaresFranceStephen Shaw NEGOTIATION
Salvatore W MaletBrazilStephen Shaw UNQUALIFIED
Murillo E PoquetteRussiaIoni Bowcher QUALIFIED
Sinclair G CampainJapanXuxue Feng NEGOTIATION
Misaki N FlosiSpainElwin Sharvill NEW
Kaitlin A AlbaresRussiaOnyama Limba NEW
David Z OldroydRussiaAsiya Javayant PROPOSAL
Maria N TollnerUnited KingdomIoni Bowcher UNQUALIFIED
Julie D WhobreyRussiaStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Faith P RoysterArgentinaOnyama Limba RENEWAL
Maisha N DilliardRussiaAnna Fali RENEWAL
Smith U WhobreyIndiaStephen Shaw UNQUALIFIED
Costa P MacleadRussiaXuxue Feng NEGOTIATION
Costa H GillianUnited KingdomElwin Sharvill RENEWAL
Misaki E CampainJapanAmy Elsner PROPOSAL
Aruna I SaylorsJapanElwin Sharvill UNQUALIFIED
Jones P CaudyBrazilOnyama Limba UNQUALIFIED
Greenwood A SaylorsUnited KingdomIvan Magalhaes UNQUALIFIED
Francesco N FigeroaGermanyOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria K BowleyRussia2024-05-25Chapman, Ross E Esq PROPOSAL71Amy Elsner
1001Aditya P InouyeItaly2024-06-10Dorl, James J Esq RENEWAL45Xuxue Feng
1002Leja K PoquetteGermany2024-06-16Chapman, Ross E Esq RENEWAL87Asiya Javayant
1003Juan A ChuiUnited Kingdom2024-06-07Chemel, James L Cpa PROPOSAL34Anna Fali
1004Leon K RulapaughIndia2024-06-07Chanay, Jeffrey A Esq PROPOSAL0Ivan Magalhaes
1005Ashley Z CaldareraRussia2024-06-19Morlong Associates RENEWAL82Xuxue Feng
1006Rodrigues R ChuiGermany2024-06-09King, Christopher A Esq QUALIFIED91Stephen Shaw
1007Cody B BowleyRussia2024-06-11Chemel, James L Cpa QUALIFIED53Bernardo Dominic
1008Aruna Z SlusarskiCanada2024-05-31Feiner Bros UNQUALIFIED11Stephen Shaw
1009Leja H SaylorsRussia2024-06-16Commercial Press NEW97Amy Elsner
1010Tony B WaycottGermany2024-06-16Rousseaux, Michael Esq UNQUALIFIED48Onyama Limba
1011Deepesh L GarufiArgentina2024-05-24Feltz Printing Service QUALIFIED3Bernardo Dominic
1012Costa S SchemmerItaly2024-06-14Chapman, Ross E Esq QUALIFIED34Amy Elsner
1013Izzy O CaldareraBrazil2024-06-07Chapman, Ross E Esq UNQUALIFIED86Ivan Magalhaes
1014Murillo B SlusarskiItaly2024-05-27Feltz Printing Service NEGOTIATION48Onyama Limba
1015Maisha D BologniaIndia2024-06-04Chapman, Ross E Esq UNQUALIFIED64Elwin Sharvill
1016Izzy O BologniaArgentina2024-05-30Buckley Miller Wright RENEWAL68Ivan Magalhaes
1017Ricardo N MaletSpain2024-05-24Morlong Associates PROPOSAL57Onyama Limba
1018David P PoquetteItaly2024-06-21Printing Dimensions RENEWAL92Asiya Javayant
1019Mayumi W VocelkaItaly2024-06-08Printing Dimensions UNQUALIFIED70Bernardo Dominic
1020Aruna H OldroydAustralia2024-06-19Dorl, James J Esq UNQUALIFIED91Ivan Magalhaes
1021Clifford M DarakjyAustralia2024-05-24Chapman, Ross E Esq NEGOTIATION71Bernardo Dominic
1022Costa S OldroydRussia2024-06-18Commercial Press NEGOTIATION40Xuxue Feng
1023Aditya N OldroydGermany2024-05-30Rangoni Of Florence NEGOTIATION75Stephen Shaw
1024Jefferson Z IturbideRussia2024-06-06Rousseaux, Michael Esq UNQUALIFIED37Anna Fali
1025Chavez Z OstroskyAustralia2024-06-04Printing Dimensions UNQUALIFIED34Onyama Limba
1026Maisha J OldroydItaly2024-05-28Chapman, Ross E Esq NEGOTIATION24Asiya Javayant
1027Tony Q MarrierItaly2024-06-06Rousseaux, Michael Esq NEGOTIATION66Stephen Shaw
1028Jefferson H GarufiArgentina2024-06-09Morlong Associates QUALIFIED32Bernardo Dominic
1029Tony V OstroskyUnited Kingdom2024-06-19Chapman, Ross E Esq NEGOTIATION72Amy Elsner
1030Antonio H WieserAustralia2024-06-08Morlong Associates NEW11Xuxue Feng
1031Maisha E StockhamCanada2024-06-18Rangoni Of Florence QUALIFIED24Asiya Javayant
1032Arvin H PaprockiArgentina2024-06-14Buckley Miller Wright PROPOSAL52Ivan Magalhaes
1033Claire L MarrierCanada2024-06-10Morlong Associates QUALIFIED14Elwin Sharvill
1034Mujtaba W GillianAustralia2024-05-28Printing Dimensions NEGOTIATION36Onyama Limba
1035Mujtaba P CaudyJapan2024-06-20King, Christopher A Esq QUALIFIED59Onyama Limba
1036Costa H KolmetzCanada2024-06-09Morlong Associates QUALIFIED25Onyama Limba
1037Antonio G ButtSpain2024-06-16Chemel, James L Cpa UNQUALIFIED72Amy Elsner
1038Isabel W NickaSpain2024-06-10Printing Dimensions PROPOSAL2Ioni Bowcher
1039David D SlusarskiRussia2024-05-26King, Christopher A Esq QUALIFIED16Anna Fali
1040Jefferson Z WhobreyGermany2024-06-06King, Christopher A Esq NEGOTIATION47Ioni Bowcher
1041Salvatore S FigeroaJapan2024-05-31Chapman, Ross E Esq NEGOTIATION41Xuxue Feng
1042Costa T CaldareraRussia2024-06-02Benton, John B Jr UNQUALIFIED95Ioni Bowcher
1043Costa C MaletAustralia2024-05-25Chapman, Ross E Esq PROPOSAL12Anna Fali
1044Costa X SaylorsCanada2024-05-29Feiner Bros NEW80Anna Fali
1045Juan U SlusarskiIndia2024-06-18Morlong Associates UNQUALIFIED48Ivan Magalhaes
1046Aditya O FollerSpain2024-06-10Rousseaux, Michael Esq RENEWAL12Asiya Javayant
1047Smith E OstroskyRussia2024-06-03King, Christopher A Esq NEW72Ioni Bowcher
1048Stacey X DilliardItaly2024-05-27Rangoni Of Florence RENEWAL35Anna Fali
1049Greenwood F StockhamArgentina2024-06-22Truhlar And Truhlar Attys QUALIFIED99Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Deepesh Q GarufiSpainXuxue Feng RENEWAL
Antonio D GlickItalyOnyama Limba RENEWAL
Kadeem T OstroskyUnited KingdomXuxue Feng NEGOTIATION
Munro H FigeroaIndiaOnyama Limba QUALIFIED
Juan O DilliardUnited KingdomOnyama Limba NEW
Aditya X KuskoGermanyIoni Bowcher QUALIFIED
Maria D SergiJapanBernardo Dominic NEW
Tony N FigeroaSpainIvan Magalhaes UNQUALIFIED
Mayumi S TollnerAustraliaOnyama Limba QUALIFIED
Darci A MaletItalyXuxue Feng NEGOTIATION
Jones V InouyeAustraliaAsiya Javayant QUALIFIED
Jefferson O DarakjyCanadaOnyama Limba PROPOSAL
Tony N GarufiGermanyAmy Elsner NEW
Morrow K SaylorsJapanAmy Elsner NEW
Misaki J GauchoAustraliaBernardo Dominic RENEWAL
Jennifer E StockhamArgentinaBernardo Dominic UNQUALIFIED
Mayumi J MacleadIndiaElwin Sharvill QUALIFIED
Alejandro B CaldareraGermanyAnna Fali PROPOSAL
Antonio E MaletSpainAmy Elsner UNQUALIFIED
Jennifer G RoysterBrazilIvan Magalhaes UNQUALIFIED
Alejandro Y KuskoJapanIvan Magalhaes UNQUALIFIED
Ivar F OldroydItalyIoni Bowcher PROPOSAL
Francesco L RutaCanadaStephen Shaw RENEWAL
Izzy X InouyeGermanyIoni Bowcher QUALIFIED
Arvin Y NestleAustraliaAnna Fali UNQUALIFIED
Smith P FigeroaUnited KingdomXuxue Feng NEGOTIATION
Aditya F IturbideUnited KingdomStephen Shaw NEW
Stacey K AlbaresCanadaStephen Shaw UNQUALIFIED
Murillo B DarakjyArgentinaBernardo Dominic NEGOTIATION
Jeanfrancois O GlickGermanyAmy Elsner NEGOTIATION
Antonio J MarrierAustraliaIoni Bowcher QUALIFIED
Isabel A VocelkaCanadaIvan Magalhaes UNQUALIFIED
Juan D SlusarskiFranceAnna Fali NEGOTIATION
James S KuskoArgentinaStephen Shaw UNQUALIFIED
Octavia H FigeroaJapanIoni Bowcher NEGOTIATION
Costa T NickaAustraliaOnyama Limba NEW
Rodrigues E VocelkaArgentinaAnna Fali QUALIFIED
James X WhobreyBrazilOnyama Limba NEW
Kaitlin P OldroydJapanBernardo Dominic RENEWAL
Costa O MacleadBrazilAsiya Javayant NEW
Costa B AlbaresFranceAmy Elsner RENEWAL
Murillo G DilliardItalyStephen Shaw PROPOSAL
Arvin K GarufiCanadaIoni Bowcher QUALIFIED
Kadeem D KuskoFranceAmy Elsner NEGOTIATION
Jeanfrancois D FigeroaUnited KingdomIoni Bowcher RENEWAL
Misaki V VocelkaCanadaIvan Magalhaes PROPOSAL
Leon P KuskoIndiaAmy Elsner NEGOTIATION
Emily R CaldareraSpainStephen Shaw PROPOSAL
Jones H SergiSpainAnna Fali NEW
Misaki T RulapaughAustraliaXuxue Feng PROPOSAL
Frozen Columns
Name
Cody I Nestle
Johnson W Caldarera
Cody H Malet
Isabel J Vocelka
Leja F Tollner
Aika B Garufi
James R Royster
Francesco D Figeroa
Silvio F Wieser
Smith D Poquette
Costa P Royster
Rodrigues T Nestle
Maisha O Gaucho
Antonio O Caudy
Maisha B Darakjy
Ivar I Sergi
Chavez H Whobrey
Emily I Ferencz
Kaitlin A Marrier
Faith U Shinko
Arvin X Whobrey
Julie T Butt
Emily X Wieser
Claire D Malet
Silvio T Whobrey
Kaitlin V Tollner
Misaki Y Kusko
Rodrigues Y Kolmetz
Leja Z Oldroyd
Smith O Venere
Isabel V Chui
Smith M Saylors
Antonio Y Iturbide
Aditya V Sergi
Leon O Glick
Murillo I Whobrey
Wickens U Venere
Rodrigues I Marrier
Octavia W Nestle
Faith Z Bolognia
Antonio W Slusarski
Deepesh E Dilliard
Mayumi Q Campain
Mujtaba E Caudy
Jones C Kolmetz
Jefferson F Bolognia
Rodrigues N Royster
Murillo N Iturbide
Costa Q Gaucho
Cody G Darakjy
IdCountryDate
1000Argentina2024-05-29
1001France2024-06-01
1002Brazil2024-06-14
1003United Kingdom2024-06-03
1004Japan2024-06-22
1005Argentina2024-06-07
1006Canada2024-05-30
1007Canada2024-06-13
1008Italy2024-05-28
1009Argentina2024-06-03
1010Italy2024-06-11
1011Spain2024-06-13
1012Australia2024-06-05
1013France2024-06-20
1014Germany2024-06-13
1015Italy2024-06-06
1016Russia2024-06-09
1017Brazil2024-05-27
1018Brazil2024-06-18
1019Russia2024-06-01
1020Italy2024-06-11
1021India2024-06-17
1022India2024-06-12
1023Germany2024-06-02
1024Spain2024-06-19
1025Italy2024-06-05
1026Australia2024-05-30
1027Australia2024-06-15
1028Australia2024-06-02
1029Argentina2024-06-01
1030United Kingdom2024-06-07
1031Spain2024-06-19
1032Canada2024-06-12
1033France2024-06-14
1034Germany2024-06-17
1035Japan2024-06-03
1036Italy2024-06-07
1037India2024-06-10
1038Brazil2024-06-01
1039Australia2024-06-02
1040France2024-06-08
1041Spain2024-06-01
1042India2024-06-12
1043Australia2024-06-09
1044Italy2024-06-10
1045Canada2024-06-18
1046United Kingdom2024-05-27
1047Canada2024-06-03
1048Spain2024-05-27
1049Spain2024-05-25

On-Demand Data

NameIdCountryDate
Jones G Saylors1000Japan2024-06-14
Aika A Marrier1001Germany2024-05-27
Morrow E Royster1002Argentina2024-06-11
Mujtaba I Glick1003Italy2024-05-27
Morrow I Chui1004France2024-06-22
Octavia I Schemmer1005Australia2024-06-02
Rodrigues Q Caudy1006Argentina2024-06-18
Alejandro W Figeroa1007Germany2024-06-18
Mujtaba S Bolognia1008Italy2024-06-12
Antonio Q Saylors1009Australia2024-06-04
Francesco S Foller1010Italy2024-06-19
Smith S Paprocki1011Argentina2024-06-21
Mayumi Z Flosi1012Canada2024-06-05
Kadeem E Stockham1013Japan2024-06-21
Murillo P Schemmer1014United Kingdom2024-05-29
James M Wieser1015Argentina2024-06-03
Silvio Y Iturbide1016Japan2024-06-01
Johnson E Stockham1017United Kingdom2024-05-28
Misaki G Marrier1018Canada2024-06-14
Jeanfrancois U Darakjy1019Canada2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie N RutaJapanStephen Shaw UNQUALIFIED
Chavez F VocelkaFranceBernardo Dominic PROPOSAL
David S RimItalyAnna Fali UNQUALIFIED
Darci S RutaIndiaIoni Bowcher UNQUALIFIED
Octavia A KolmetzUnited KingdomIvan Magalhaes NEW
Stacey U GauchoSpainBernardo Dominic NEW
Aditya R KolmetzUnited KingdomBernardo Dominic RENEWAL
Johnson Z VocelkaAustraliaAsiya Javayant UNQUALIFIED
Aruna J CaldareraFranceAsiya Javayant PROPOSAL
Leja J PerinArgentinaStephen Shaw NEW
Julie V CampainJapanIoni Bowcher NEGOTIATION
Stacey N SergiGermanyIoni Bowcher PROPOSAL
Mujtaba S BowleyFranceAsiya Javayant PROPOSAL
Stacey Z GlickUnited KingdomAnna Fali NEGOTIATION
James H GauchoAustraliaAmy Elsner NEW
Chavez S FerenczCanadaAmy Elsner UNQUALIFIED
Rodrigues I TollnerFranceBernardo Dominic RENEWAL
Sinclair I MacleadCanadaXuxue Feng QUALIFIED
Jones V InouyeIndiaBernardo Dominic UNQUALIFIED
Sinclair T NestleGermanyStephen Shaw NEGOTIATION
Francesco Q VocelkaUnited KingdomIoni Bowcher UNQUALIFIED
Jennifer F SlusarskiSpainStephen Shaw UNQUALIFIED
Murillo X AlbaresSpainXuxue Feng NEGOTIATION
Mujtaba B WieserFranceBernardo Dominic QUALIFIED
Silvio B PerinJapanStephen Shaw QUALIFIED
Ashley F FigeroaGermanyBernardo Dominic QUALIFIED
Clifford X SchemmerJapanIvan Magalhaes RENEWAL
Isabel L DoeRussiaAmy Elsner NEW
Smith S OstroskyFranceBernardo Dominic NEGOTIATION
Greenwood Y SchemmerUnited KingdomElwin Sharvill PROPOSAL
Adams W GlickAustraliaIoni Bowcher NEW
Isabel A StensethBrazilIvan Magalhaes PROPOSAL
Leon W MaletSpainXuxue Feng NEGOTIATION
Izzy U KolmetzArgentinaIvan Magalhaes NEGOTIATION
Morrow T BologniaItalyXuxue Feng NEW
Kaitlin X MaletGermanyOnyama Limba PROPOSAL
Maria U SchemmerJapanXuxue Feng QUALIFIED
Leon L BriddickRussiaAmy Elsner UNQUALIFIED
Leja V RulapaughAustraliaAsiya Javayant QUALIFIED
Jones E KolmetzJapanXuxue Feng 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>