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
Sinclair A PaprockiAustraliaBernardo Dominic PROPOSAL
Isabel B WhobreyJapanIoni Bowcher UNQUALIFIED
Kaitlin L VocelkaSpainElwin Sharvill RENEWAL
Isabel H KolmetzFranceAmy Elsner NEGOTIATION
Claire C KolmetzRussiaElwin Sharvill RENEWAL
Mayumi C CaudyUnited KingdomAmy Elsner UNQUALIFIED
Octavia X NickaCanadaIoni Bowcher PROPOSAL
Emily P WieserFranceXuxue Feng QUALIFIED
Morrow U AlbaresItalyStephen Shaw NEGOTIATION
Aika J SlusarskiJapanAmy Elsner NEGOTIATION
Wickens P DoeArgentinaBernardo Dominic PROPOSAL
Ivar L RutaUnited KingdomElwin Sharvill UNQUALIFIED
Isabel D VenereItalyElwin Sharvill NEGOTIATION
Chavez I VenereCanadaStephen Shaw NEGOTIATION
Aditya C InouyeItalyAsiya Javayant UNQUALIFIED
Mujtaba M StensethGermanyStephen Shaw UNQUALIFIED
Kaitlin G KolmetzGermanyIoni Bowcher NEW
Munro S DilliardRussiaStephen Shaw PROPOSAL
Arvin G BriddickItalyIoni Bowcher UNQUALIFIED
Ivar V AlbaresAustraliaIvan Magalhaes QUALIFIED
Greenwood S ShinkoItalyIvan Magalhaes NEW
Aika B TollnerFranceBernardo Dominic NEGOTIATION
Smith G FollerRussiaAmy Elsner UNQUALIFIED
Leon B FerenczItalyAsiya Javayant NEW
Aruna A DoeArgentinaIvan Magalhaes NEW
Aika Z VocelkaFranceOnyama Limba NEGOTIATION
Octavia L FerenczSpainOnyama Limba UNQUALIFIED
David L PaprockiUnited KingdomIoni Bowcher UNQUALIFIED
Nicolas G TollnerFranceAsiya Javayant NEGOTIATION
Jennifer B ChuiArgentinaIvan Magalhaes NEW
Maria B RulapaughGermanyIoni Bowcher NEW
Maria J OldroydArgentinaIvan Magalhaes NEW
Morrow B DarakjyGermanyAsiya Javayant QUALIFIED
Nicolas E FerenczArgentinaAsiya Javayant UNQUALIFIED
Alejandro E StensethAustraliaIvan Magalhaes RENEWAL
Darci J BriddickItalyAmy Elsner PROPOSAL
Octavia G FigeroaCanadaAmy Elsner NEW
Arvin V KuskoBrazilAsiya Javayant RENEWAL
Maria I StockhamGermanyIvan Magalhaes RENEWAL
Isabel U GlickArgentinaAmy Elsner NEGOTIATION
Clifford W VocelkaArgentinaIvan Magalhaes QUALIFIED
Sinclair Z SergiIndiaBernardo Dominic NEW
Isabel S OstroskySpainIoni Bowcher NEGOTIATION
Antonio E BologniaArgentinaIvan Magalhaes NEGOTIATION
Stacey H ButtBrazilOnyama Limba PROPOSAL
Maria L RulapaughBrazilIvan Magalhaes QUALIFIED
Chavez K NickaJapanIoni Bowcher RENEWAL
Juan I DarakjyRussiaAnna Fali NEW
Jeanfrancois U MaletIndiaAsiya Javayant NEGOTIATION
Munro Q TollnerRussiaXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Jones Q DilliardSpainAmy Elsner PROPOSAL
Misaki I NickaRussiaIoni Bowcher UNQUALIFIED
Kaitlin K VocelkaRussiaIoni Bowcher PROPOSAL
Darci D MorascaCanadaStephen Shaw NEW
Antonio A CaldareraGermanyOnyama Limba NEW
Tony K NestleCanadaIvan Magalhaes UNQUALIFIED
Juan T RulapaughAustraliaIvan Magalhaes NEGOTIATION
Jennifer C RutaItalyAmy Elsner NEW
Leja M DoeBrazilStephen Shaw UNQUALIFIED
Jones K FerenczGermanyAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon M AlbaresGermany2024-06-01Chapman, Ross E Esq UNQUALIFIED40Anna Fali
1001Isabel O SchemmerBrazil2024-06-04Morlong Associates NEGOTIATION9Ivan Magalhaes
1002Ricardo A SlusarskiItaly2024-06-21Chanay, Jeffrey A Esq NEW64Onyama Limba
1003Jefferson S CaldareraRussia2024-06-06Benton, John B Jr RENEWAL57Ivan Magalhaes
1004Salvatore B RimGermany2024-06-06Dorl, James J Esq PROPOSAL3Amy Elsner
1005Darci N KolmetzGermany2024-06-07Printing Dimensions NEGOTIATION7Bernardo Dominic
1006Octavia D SaylorsArgentina2024-06-10Chanay, Jeffrey A Esq QUALIFIED14Ivan Magalhaes
1007Jones B GarufiItaly2024-06-08Chapman, Ross E Esq NEW54Ivan Magalhaes
1008Antonio C GarufiCanada2024-06-18Chapman, Ross E Esq PROPOSAL51Ivan Magalhaes
1009Kadeem P SergiSpain2024-05-28Feiner Bros NEW56Asiya Javayant
1010Alejandro A RimCanada2024-05-24Commercial Press PROPOSAL97Ioni Bowcher
1011Greenwood E PerinItaly2024-05-24Dorl, James J Esq PROPOSAL41Bernardo Dominic
1012Misaki Z RulapaughRussia2024-06-08Printing Dimensions QUALIFIED64Amy Elsner
1013Misaki H FigeroaRussia2024-06-12Rangoni Of Florence RENEWAL64Asiya Javayant
1014Darci E CaudyBrazil2024-05-31Feltz Printing Service PROPOSAL16Asiya Javayant
1015Wickens P VocelkaAustralia2024-05-27Morlong Associates NEGOTIATION68Asiya Javayant
1016Maisha L MaletItaly2024-06-13Feiner Bros QUALIFIED85Anna Fali
1017Aika I FerenczBrazil2024-06-17Truhlar And Truhlar Attys NEGOTIATION3Bernardo Dominic
1018Julie I RulapaughArgentina2024-06-22Morlong Associates UNQUALIFIED26Onyama Limba
1019Kaitlin Z IturbideCanada2024-05-31Printing Dimensions NEGOTIATION81Bernardo Dominic
1020Nicolas J DarakjyItaly2024-05-28Printing Dimensions NEW0Elwin Sharvill
1021Munro S FollerSpain2024-06-04Chanay, Jeffrey A Esq RENEWAL12Elwin Sharvill
1022Leja Y GlickIndia2024-06-07Printing Dimensions PROPOSAL2Onyama Limba
1023Silvio T RutaSpain2024-06-02Printing Dimensions NEW89Bernardo Dominic
1024David E FlosiAustralia2024-06-16Morlong Associates NEGOTIATION56Stephen Shaw
1025Clifford A GlickItaly2024-05-25Rangoni Of Florence NEW22Stephen Shaw
1026Darci F WaycottJapan2024-06-17Dorl, James J Esq RENEWAL9Xuxue Feng
1027James V PaprockiItaly2024-06-22Chemel, James L Cpa NEW57Ioni Bowcher
1028Jefferson M RoysterRussia2024-06-02Dorl, James J Esq QUALIFIED25Stephen Shaw
1029Juan N DoeIndia2024-06-11Chanay, Jeffrey A Esq UNQUALIFIED72Stephen Shaw
1030Deepesh C MacleadGermany2024-06-14Dorl, James J Esq RENEWAL0Elwin Sharvill
1031Jennifer W NestleIndia2024-06-13Benton, John B Jr NEW16Xuxue Feng
1032Jeanfrancois D RutaCanada2024-06-22Chemel, James L Cpa NEGOTIATION3Asiya Javayant
1033Octavia D GauchoSpain2024-06-03Truhlar And Truhlar Attys QUALIFIED87Ivan Magalhaes
1034James Y VocelkaItaly2024-06-20Chapman, Ross E Esq UNQUALIFIED31Bernardo Dominic
1035Ivar U MorascaUnited Kingdom2024-06-10Buckley Miller Wright PROPOSAL44Asiya Javayant
1036Smith O ChuiJapan2024-06-17Chemel, James L Cpa NEGOTIATION29Xuxue Feng
1037Octavia P FerenczBrazil2024-06-19Printing Dimensions UNQUALIFIED14Amy Elsner
1038Aruna H SlusarskiFrance2024-05-28Printing Dimensions PROPOSAL1Bernardo Dominic
1039Jefferson Y InouyeRussia2024-05-31Chanay, Jeffrey A Esq NEGOTIATION56Ivan Magalhaes
1040Rodrigues J StockhamBrazil2024-05-27Feltz Printing Service PROPOSAL18Ioni Bowcher
1041Salvatore O SaylorsGermany2024-05-28Chanay, Jeffrey A Esq QUALIFIED47Ivan Magalhaes
1042Juan K MacleadGermany2024-06-06Morlong Associates NEW77Ivan Magalhaes
1043Juan O WieserIndia2024-06-08Feiner Bros PROPOSAL89Amy Elsner
1044James V VenereAustralia2024-06-09Chapman, Ross E Esq PROPOSAL53Ivan Magalhaes
1045Kaitlin B RoysterIndia2024-06-19Rousseaux, Michael Esq RENEWAL5Bernardo Dominic
1046James B VocelkaAustralia2024-05-27Chanay, Jeffrey A Esq PROPOSAL45Xuxue Feng
1047Leja R GillianSpain2024-06-07Chanay, Jeffrey A Esq UNQUALIFIED14Xuxue Feng
1048Izzy S MacleadArgentina2024-06-04Buckley Miller Wright PROPOSAL2Ivan Magalhaes
1049Emily H BowleyRussia2024-06-06Rangoni Of Florence UNQUALIFIED77Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Clifford N CaldareraAustraliaOnyama Limba RENEWAL
Maria J SergiJapanIvan Magalhaes QUALIFIED
Ivar K ButtItalyOnyama Limba NEGOTIATION
Tony C WhobreyItalyElwin Sharvill UNQUALIFIED
Misaki G SaylorsAustraliaBernardo Dominic RENEWAL
Clifford B ButtCanadaOnyama Limba NEGOTIATION
Leja Q OldroydRussiaIoni Bowcher UNQUALIFIED
Adams W ShinkoGermanyBernardo Dominic QUALIFIED
Faith S IturbideArgentinaOnyama Limba PROPOSAL
Stacey X PaprockiItalyOnyama Limba NEW
Maisha E IturbideCanadaIoni Bowcher NEW
Rodrigues Q RutaBrazilAmy Elsner PROPOSAL
Johnson Q RoysterRussiaElwin Sharvill QUALIFIED
Salvatore T PaprockiJapanStephen Shaw QUALIFIED
Jones I SlusarskiUnited KingdomStephen Shaw UNQUALIFIED
Maria X StockhamCanadaIvan Magalhaes PROPOSAL
Morrow Q KolmetzAustraliaElwin Sharvill NEW
David X FollerArgentinaAnna Fali NEW
Ricardo I AlbaresJapanAnna Fali PROPOSAL
Johnson Q MarrierUnited KingdomAmy Elsner NEGOTIATION
Claire K GarufiUnited KingdomOnyama Limba UNQUALIFIED
Izzy A FigeroaAustraliaOnyama Limba NEW
Ivar L CampainRussiaIvan Magalhaes UNQUALIFIED
Jefferson C FigeroaGermanyStephen Shaw RENEWAL
Wickens L ChuiItalyElwin Sharvill NEGOTIATION
Alejandro R ChuiArgentinaOnyama Limba RENEWAL
Faith J CaudySpainOnyama Limba NEGOTIATION
Chavez K OstroskyArgentinaAsiya Javayant RENEWAL
Jeanfrancois I RulapaughUnited KingdomStephen Shaw RENEWAL
Murillo V MacleadCanadaXuxue Feng UNQUALIFIED
Greenwood O CampainArgentinaAnna Fali NEW
Antonio S SergiRussiaBernardo Dominic PROPOSAL
Kaitlin F VenereBrazilAnna Fali PROPOSAL
Chavez U CampainCanadaAmy Elsner NEGOTIATION
Izzy V WaycottUnited KingdomOnyama Limba NEW
Salvatore W FigeroaAustraliaBernardo Dominic NEW
Francesco Z GauchoItalyElwin Sharvill PROPOSAL
Faith H MaletJapanXuxue Feng RENEWAL
Octavia D VenereJapanBernardo Dominic UNQUALIFIED
Clifford O CaldareraUnited KingdomXuxue Feng NEGOTIATION
Alejandro N DarakjySpainAsiya Javayant NEGOTIATION
Ricardo N RulapaughJapanStephen Shaw UNQUALIFIED
Isabel Q MarrierArgentinaAmy Elsner NEW
Maria N RutaGermanyXuxue Feng RENEWAL
Misaki P PoquetteGermanyAnna Fali PROPOSAL
James B AlbaresArgentinaBernardo Dominic QUALIFIED
Julie P ChuiAustraliaBernardo Dominic RENEWAL
Misaki L BologniaUnited KingdomAsiya Javayant UNQUALIFIED
Misaki N FerenczSpainStephen Shaw RENEWAL
Johnson W CampainGermanyIoni Bowcher NEGOTIATION
Frozen Columns
Name
Mujtaba W Tollner
Jeanfrancois A Malet
Isabel P Figeroa
Aruna Z Vocelka
Deepesh S Rulapaugh
Costa M Ostrosky
Aditya C Ruta
Julie R Royster
Smith U Wieser
Nicolas X Iturbide
Ivar Z Vocelka
Alejandro Z Morasca
Leja V Butt
Izzy G Briddick
Jeanfrancois T Caldarera
Izzy C Venere
Emily G Saylors
Francesco T Garufi
Clifford D Venere
Deepesh B Stenseth
Alejandro X Wieser
Jeanfrancois H Rim
Morrow O Paprocki
Antonio Y Paprocki
Maria Z Stockham
Tony I Garufi
Mujtaba E Saylors
Leon Z Sergi
Jennifer P Oldroyd
Murillo P Marrier
Salvatore B Venere
Smith N Bolognia
Isabel Y Poquette
Salvatore K Ostrosky
Mayumi N Kusko
Maisha U Sergi
Kadeem S Iturbide
James W Foller
Salvatore F Darakjy
Claire D Foller
Mujtaba Z Rulapaugh
Jeanfrancois D Rulapaugh
Sinclair M Glick
Arvin Q Foller
Faith I Stockham
Antonio A Garufi
Juan F Saylors
Sinclair S Stockham
Misaki A Poquette
Jeanfrancois N Waycott
IdCountryDate
1000France2024-06-19
1001Australia2024-06-09
1002Spain2024-06-04
1003France2024-06-22
1004Italy2024-06-02
1005Spain2024-05-29
1006Canada2024-06-05
1007Canada2024-06-06
1008Germany2024-06-16
1009Germany2024-06-02
1010Brazil2024-05-24
1011India2024-06-20
1012Australia2024-06-09
1013Spain2024-06-22
1014Canada2024-06-06
1015Brazil2024-06-14
1016Spain2024-06-18
1017Brazil2024-06-22
1018Canada2024-06-13
1019United Kingdom2024-06-05
1020Canada2024-06-20
1021Russia2024-06-09
1022France2024-06-06
1023Japan2024-06-11
1024Russia2024-06-12
1025Brazil2024-06-16
1026Spain2024-06-21
1027United Kingdom2024-06-13
1028Japan2024-06-07
1029United Kingdom2024-06-03
1030Japan2024-05-29
1031Germany2024-05-26
1032Australia2024-06-22
1033United Kingdom2024-06-04
1034United Kingdom2024-05-25
1035Argentina2024-06-15
1036India2024-06-22
1037Germany2024-05-24
1038United Kingdom2024-06-04
1039India2024-05-25
1040Canada2024-06-20
1041India2024-05-29
1042France2024-06-20
1043India2024-06-19
1044Japan2024-06-05
1045Brazil2024-06-01
1046Russia2024-06-14
1047United Kingdom2024-05-27
1048Germany2024-06-15
1049Brazil2024-06-22

On-Demand Data

NameIdCountryDate
Claire M Stockham1000Argentina2024-05-30
Mujtaba B Foller1001United Kingdom2024-05-25
Silvio L Perin1002Spain2024-06-16
Antonio L Shinko1003Russia2024-06-19
Costa O Stockham1004Italy2024-05-28
Juan H Marrier1005United Kingdom2024-06-14
Claire G Stenseth1006Australia2024-05-29
Tony N Amigon1007Germany2024-06-16
James N Dilliard1008Brazil2024-05-29
Chavez Y Schemmer1009Australia2024-05-27
Aika T Stockham1010United Kingdom2024-06-20
Nicolas M Kolmetz1011France2024-05-27
Faith D Albares1012India2024-06-12
Smith K Waycott1013Canada2024-06-03
Cody W Caudy1014Japan2024-06-22
Deepesh P Poquette1015United Kingdom2024-06-01
Arvin L Flosi1016Russia2024-06-10
Ashley L Kolmetz1017Germany2024-06-11
Aditya S Amigon1018Canada2024-06-18
Deepesh S Slusarski1019Russia2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo C FollerGermanyOnyama Limba NEGOTIATION
Mujtaba V DoeFranceIoni Bowcher NEW
Silvio R MacleadUnited KingdomAmy Elsner QUALIFIED
Juan Y MacleadSpainStephen Shaw NEGOTIATION
Wickens G ShinkoBrazilIoni Bowcher UNQUALIFIED
Maria W InouyeIndiaOnyama Limba NEGOTIATION
Ricardo Y KolmetzFranceStephen Shaw UNQUALIFIED
Jones Y RutaRussiaIoni Bowcher PROPOSAL
Juan U VenereGermanyBernardo Dominic NEGOTIATION
Adams F KolmetzIndiaAmy Elsner NEW
Nicolas C AlbaresJapanStephen Shaw NEW
Costa Q MaletBrazilAnna Fali QUALIFIED
Aruna Q GlickCanadaStephen Shaw NEW
Francesco J OldroydSpainOnyama Limba UNQUALIFIED
Ivar E WhobreyIndiaAnna Fali PROPOSAL
Aruna E KolmetzRussiaBernardo Dominic PROPOSAL
Smith A RoysterFranceOnyama Limba RENEWAL
Cody E RulapaughBrazilAnna Fali PROPOSAL
Cody H TollnerBrazilXuxue Feng NEW
Silvio O ButtFranceAnna Fali RENEWAL
Leon H MaletUnited KingdomAnna Fali NEW
Izzy M InouyeArgentinaElwin Sharvill QUALIFIED
Morrow Z CaudyUnited KingdomIoni Bowcher NEW
Nicolas P RimRussiaBernardo Dominic PROPOSAL
Silvio N ButtAustraliaAsiya Javayant UNQUALIFIED
Leja R PoquetteJapanIoni Bowcher QUALIFIED
Johnson I ChuiUnited KingdomIvan Magalhaes UNQUALIFIED
Salvatore B FerenczIndiaElwin Sharvill RENEWAL
Chavez T BowleyCanadaIoni Bowcher PROPOSAL
Rodrigues E FlosiUnited KingdomAmy Elsner RENEWAL
Ashley I OldroydArgentinaXuxue Feng RENEWAL
Silvio F CaldareraJapanAnna Fali RENEWAL
Isabel J BowleyAustraliaAnna Fali NEGOTIATION
Aruna M SchemmerJapanXuxue Feng PROPOSAL
Cody L PerinJapanIvan Magalhaes NEGOTIATION
Chavez C WieserIndiaOnyama Limba UNQUALIFIED
Morrow R SaylorsFranceAnna Fali PROPOSAL
Clifford Y StensethBrazilIoni Bowcher UNQUALIFIED
Antonio W KuskoJapanIoni Bowcher NEGOTIATION
Jones O BologniaSpainElwin Sharvill 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>