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
Alejandro D GlickRussiaOnyama Limba QUALIFIED
Aika Y MorascaUnited KingdomXuxue Feng UNQUALIFIED
Octavia Q MorascaSpainOnyama Limba NEW
Emily E ButtUnited KingdomAnna Fali NEGOTIATION
Maria R AlbaresAustraliaOnyama Limba QUALIFIED
Izzy U StockhamRussiaElwin Sharvill PROPOSAL
David C NickaFranceXuxue Feng RENEWAL
Kadeem D DilliardUnited KingdomElwin Sharvill RENEWAL
Kadeem E WieserItalyElwin Sharvill QUALIFIED
Greenwood M KolmetzSpainAnna Fali UNQUALIFIED
Antonio B KuskoUnited KingdomAsiya Javayant PROPOSAL
Murillo L KolmetzIndiaAmy Elsner NEW
James I RimBrazilBernardo Dominic PROPOSAL
Munro U CampainFranceXuxue Feng UNQUALIFIED
Juan V PerinFranceStephen Shaw NEGOTIATION
Arvin I DoeCanadaIoni Bowcher UNQUALIFIED
Jones G ButtUnited KingdomStephen Shaw NEGOTIATION
Clifford E MaletUnited KingdomXuxue Feng UNQUALIFIED
Salvatore F SchemmerRussiaElwin Sharvill NEGOTIATION
Tony D MarrierGermanyBernardo Dominic QUALIFIED
Deepesh I SergiJapanXuxue Feng UNQUALIFIED
Aruna L AlbaresArgentinaBernardo Dominic NEGOTIATION
Leon Z PaprockiCanadaIoni Bowcher QUALIFIED
Cody A OstroskyUnited KingdomBernardo Dominic NEW
Jones L DilliardAustraliaXuxue Feng RENEWAL
Alejandro D DilliardGermanyAsiya Javayant PROPOSAL
Morrow Q ChuiFranceOnyama Limba PROPOSAL
Ivar D StensethCanadaElwin Sharvill QUALIFIED
Octavia O VenereSpainIoni Bowcher QUALIFIED
Kaitlin T RimArgentinaAsiya Javayant UNQUALIFIED
Cody K FollerFranceBernardo Dominic RENEWAL
Juan F RulapaughSpainOnyama Limba UNQUALIFIED
Ricardo T OldroydGermanyStephen Shaw NEGOTIATION
Ashley Q FollerUnited KingdomIvan Magalhaes RENEWAL
Ricardo O ChuiJapanElwin Sharvill QUALIFIED
Johnson K RutaArgentinaAnna Fali UNQUALIFIED
Jennifer E CampainGermanyBernardo Dominic RENEWAL
Jeanfrancois N GlickBrazilOnyama Limba QUALIFIED
Silvio D RulapaughArgentinaBernardo Dominic NEW
Kaitlin V OldroydJapanOnyama Limba UNQUALIFIED
Mayumi I RutaAustraliaIoni Bowcher PROPOSAL
Jefferson J FollerAustraliaAmy Elsner NEGOTIATION
Aika U OstroskyGermanyBernardo Dominic UNQUALIFIED
Jefferson R AlbaresFranceXuxue Feng NEGOTIATION
Greenwood C GarufiRussiaIvan Magalhaes RENEWAL
Ricardo J SlusarskiBrazilStephen Shaw QUALIFIED
Greenwood H OstroskyCanadaBernardo Dominic QUALIFIED
Nicolas Q StockhamItalyAmy Elsner RENEWAL
Deepesh L DoeBrazilIvan Magalhaes PROPOSAL
Munro Z PoquetteJapanOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Jones C StockhamArgentinaIvan Magalhaes PROPOSAL
Nicolas V MaletGermanyBernardo Dominic QUALIFIED
Costa W GlickSpainIvan Magalhaes QUALIFIED
Jefferson R CaldareraFranceIoni Bowcher NEGOTIATION
Aika A CampainSpainIvan Magalhaes QUALIFIED
Ricardo V CaudyFranceAmy Elsner NEGOTIATION
Jeanfrancois H FerenczGermanyAnna Fali NEGOTIATION
Julie E SlusarskiFranceElwin Sharvill PROPOSAL
Murillo L WhobreyCanadaBernardo Dominic UNQUALIFIED
Isabel T BriddickArgentinaStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley B ChuiCanada2024-06-07Dorl, James J Esq UNQUALIFIED68Stephen Shaw
1001Octavia L GillianArgentina2024-05-31Buckley Miller Wright QUALIFIED18Ioni Bowcher
1002Morrow B IturbideCanada2024-06-10Buckley Miller Wright UNQUALIFIED72Anna Fali
1003Salvatore Q FollerGermany2024-06-10Morlong Associates PROPOSAL67Stephen Shaw
1004Juan F SergiJapan2024-06-07Feiner Bros QUALIFIED77Amy Elsner
1005Tony S WaycottBrazil2024-06-10Rangoni Of Florence RENEWAL57Amy Elsner
1006Sinclair H RimCanada2024-06-12Chanay, Jeffrey A Esq NEW0Elwin Sharvill
1007Aruna L DoeAustralia2024-05-25Printing Dimensions NEGOTIATION48Asiya Javayant
1008Greenwood F CaudyGermany2024-06-06Printing Dimensions NEGOTIATION37Amy Elsner
1009Julie Q CampainGermany2024-06-20Chemel, James L Cpa PROPOSAL77Bernardo Dominic
1010Ricardo E PerinFrance2024-06-16Feiner Bros RENEWAL88Onyama Limba
1011Claire H PerinIndia2024-05-30Feiner Bros UNQUALIFIED0Xuxue Feng
1012Morrow A BologniaCanada2024-05-29Feltz Printing Service UNQUALIFIED49Stephen Shaw
1013Nicolas Y NestleJapan2024-05-28Rousseaux, Michael Esq NEGOTIATION40Ivan Magalhaes
1014Mayumi G CampainJapan2024-06-15Morlong Associates RENEWAL27Amy Elsner
1015Jennifer M InouyeBrazil2024-06-10Rangoni Of Florence NEGOTIATION40Stephen Shaw
1016Maisha S WaycottFrance2024-05-26Chapman, Ross E Esq UNQUALIFIED11Amy Elsner
1017Mujtaba L GarufiAustralia2024-06-22Printing Dimensions QUALIFIED22Asiya Javayant
1018Munro C VocelkaSpain2024-06-07Printing Dimensions PROPOSAL22Ivan Magalhaes
1019Darci C VenereFrance2024-06-05Chemel, James L Cpa QUALIFIED25Stephen Shaw
1020Murillo X CaudyFrance2024-05-26Feiner Bros UNQUALIFIED95Asiya Javayant
1021Morrow F CaudyCanada2024-06-03Chanay, Jeffrey A Esq RENEWAL89Ioni Bowcher
1022Smith V BriddickIndia2024-06-20Chapman, Ross E Esq QUALIFIED55Asiya Javayant
1023Smith O MarrierUnited Kingdom2024-05-31Morlong Associates RENEWAL49Bernardo Dominic
1024Octavia A SlusarskiGermany2024-06-21Rousseaux, Michael Esq QUALIFIED88Elwin Sharvill
1025Wickens S GarufiItaly2024-05-26Printing Dimensions NEW7Anna Fali
1026Juan P WieserUnited Kingdom2024-06-19Rousseaux, Michael Esq UNQUALIFIED39Asiya Javayant
1027Mujtaba Q OldroydRussia2024-06-17Rousseaux, Michael Esq NEW28Elwin Sharvill
1028Johnson K GauchoBrazil2024-06-07Dorl, James J Esq NEGOTIATION9Amy Elsner
1029Aruna K NestleItaly2024-06-06Chapman, Ross E Esq UNQUALIFIED26Bernardo Dominic
1030Tony T TollnerFrance2024-06-20Feltz Printing Service QUALIFIED5Xuxue Feng
1031Silvio Y VenereBrazil2024-06-01Chemel, James L Cpa UNQUALIFIED50Onyama Limba
1032Chavez Y SergiGermany2024-06-03Printing Dimensions NEW14Amy Elsner
1033Rodrigues M WaycottItaly2024-06-12Rousseaux, Michael Esq UNQUALIFIED28Amy Elsner
1034Francesco X VocelkaJapan2024-06-01Feltz Printing Service PROPOSAL82Bernardo Dominic
1035Kadeem H StockhamJapan2024-05-25King, Christopher A Esq RENEWAL37Bernardo Dominic
1036Costa K AmigonItaly2024-05-27Feiner Bros PROPOSAL0Stephen Shaw
1037Sinclair Z GarufiGermany2024-06-07Commercial Press QUALIFIED93Amy Elsner
1038Silvio Z MacleadArgentina2024-05-26Rousseaux, Michael Esq NEW9Onyama Limba
1039Ashley R StockhamCanada2024-06-18Rousseaux, Michael Esq NEGOTIATION65Elwin Sharvill
1040Francesco V StensethIndia2024-06-17Chanay, Jeffrey A Esq NEGOTIATION46Onyama Limba
1041Arvin X DilliardBrazil2024-06-11Morlong Associates NEW71Xuxue Feng
1042Costa I RoysterUnited Kingdom2024-06-21Chapman, Ross E Esq RENEWAL0Anna Fali
1043Izzy I InouyeSpain2024-06-10Chapman, Ross E Esq RENEWAL64Bernardo Dominic
1044Adams E CaldareraGermany2024-05-31Rangoni Of Florence NEW87Bernardo Dominic
1045Murillo W AmigonSpain2024-05-24Feltz Printing Service NEGOTIATION73Anna Fali
1046Arvin O FigeroaRussia2024-06-17Feiner Bros RENEWAL51Bernardo Dominic
1047Emily X GarufiAustralia2024-06-12Chemel, James L Cpa NEW86Ioni Bowcher
1048Murillo F DoeFrance2024-06-22Rangoni Of Florence UNQUALIFIED15Elwin Sharvill
1049Claire E WhobreyCanada2024-06-22Feltz Printing Service RENEWAL12Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Deepesh D MacleadGermanyAmy Elsner PROPOSAL
Octavia S StensethSpainIoni Bowcher PROPOSAL
Smith A PerinFranceBernardo Dominic QUALIFIED
Antonio R AlbaresItalyXuxue Feng RENEWAL
Ivar F RimCanadaOnyama Limba RENEWAL
Maria Z DarakjyArgentinaAmy Elsner QUALIFIED
Rodrigues W StensethCanadaAsiya Javayant RENEWAL
Stacey B FerenczItalyIvan Magalhaes NEGOTIATION
Mayumi X TollnerArgentinaAnna Fali PROPOSAL
Morrow T MacleadBrazilElwin Sharvill NEGOTIATION
Arvin X MaletArgentinaIvan Magalhaes QUALIFIED
Munro Y VocelkaGermanyAmy Elsner RENEWAL
Mujtaba X ShinkoSpainIoni Bowcher PROPOSAL
Arvin I DilliardSpainElwin Sharvill UNQUALIFIED
Salvatore X AmigonGermanyElwin Sharvill QUALIFIED
Alejandro B FollerCanadaIvan Magalhaes PROPOSAL
Kadeem J ButtRussiaElwin Sharvill UNQUALIFIED
Nicolas O NestleSpainIvan Magalhaes NEW
Costa H WhobreyItalyElwin Sharvill RENEWAL
Wickens O NickaIndiaStephen Shaw RENEWAL
Kaitlin D SchemmerGermanyAmy Elsner NEGOTIATION
Stacey Q RutaArgentinaAnna Fali PROPOSAL
Aditya I ShinkoFranceOnyama Limba UNQUALIFIED
Emily M CaldareraBrazilIvan Magalhaes UNQUALIFIED
Sinclair P GillianFranceAnna Fali UNQUALIFIED
Clifford B DoeItalyAnna Fali QUALIFIED
Nicolas H SchemmerIndiaIoni Bowcher QUALIFIED
Misaki A RimArgentinaIoni Bowcher QUALIFIED
Ivar X SchemmerFranceIvan Magalhaes RENEWAL
Stacey W CampainRussiaIoni Bowcher QUALIFIED
Deepesh H WieserIndiaAmy Elsner NEW
Misaki R ChuiFranceAsiya Javayant RENEWAL
Stacey I ButtArgentinaOnyama Limba NEGOTIATION
Wickens K GillianRussiaAmy Elsner QUALIFIED
Octavia Z CaudyAustraliaBernardo Dominic PROPOSAL
David Q DoeGermanyOnyama Limba QUALIFIED
Octavia H ButtArgentinaOnyama Limba PROPOSAL
Kaitlin T DoeFranceElwin Sharvill PROPOSAL
Ivar Z RimAustraliaAsiya Javayant NEW
Jefferson Z StockhamCanadaAsiya Javayant NEGOTIATION
Jennifer V RoysterJapanOnyama Limba QUALIFIED
Emily T RoysterSpainStephen Shaw NEGOTIATION
Aruna S FollerItalyXuxue Feng PROPOSAL
Deepesh H IturbideSpainIvan Magalhaes QUALIFIED
Tony M FigeroaRussiaIvan Magalhaes RENEWAL
Murillo K ShinkoIndiaAsiya Javayant QUALIFIED
Leon H PoquetteAustraliaAnna Fali PROPOSAL
Mayumi D FollerAustraliaAsiya Javayant QUALIFIED
Greenwood O SlusarskiBrazilAmy Elsner NEGOTIATION
Misaki W SchemmerFranceBernardo Dominic RENEWAL
Frozen Columns
Name
Stacey C Nestle
Aditya V Nicka
Octavia A Flosi
Clifford E Kusko
Clifford J Garufi
Leon E Whobrey
Salvatore O Waycott
Cody M Shinko
Cody L Tollner
Izzy X Kusko
Salvatore W Figeroa
Jones H Saylors
Maisha G Nicka
Stacey F Shinko
Stacey Q Darakjy
Izzy P Rim
James A Oldroyd
Misaki C Royster
Deepesh Z Gillian
Rodrigues G Ferencz
Clifford T Glick
Tony C Whobrey
Ivar E Stenseth
Leja W Marrier
Murillo L Doe
Salvatore F Butt
Silvio Z Saylors
Ricardo X Albares
Smith X Venere
Smith F Flosi
Adams D Nestle
Isabel W Nicka
Isabel S Kolmetz
Silvio A Caldarera
Alejandro H Stockham
Nicolas M Venere
Rodrigues Q Nestle
Aditya F Figeroa
Adams I Perin
Aruna P Dilliard
David U Doe
Wickens L Shinko
Aruna Z Darakjy
Smith A Chui
Greenwood Q Nestle
Mujtaba U Stenseth
David Z Albares
Octavia C Glick
Octavia X Gillian
Salvatore O Glick
IdCountryDate
1000Argentina2024-06-14
1001Spain2024-06-07
1002Japan2024-05-27
1003Australia2024-06-20
1004Russia2024-06-09
1005France2024-05-29
1006United Kingdom2024-06-13
1007India2024-06-09
1008Brazil2024-06-22
1009Italy2024-06-01
1010Germany2024-05-28
1011Russia2024-06-10
1012United Kingdom2024-06-13
1013Canada2024-05-27
1014Italy2024-06-12
1015Japan2024-06-16
1016United Kingdom2024-06-04
1017Canada2024-05-30
1018Russia2024-05-27
1019Canada2024-06-20
1020France2024-05-28
1021Argentina2024-06-13
1022Argentina2024-06-09
1023Australia2024-06-16
1024Spain2024-06-03
1025Russia2024-06-07
1026Germany2024-06-15
1027Spain2024-06-18
1028India2024-06-19
1029Canada2024-06-11
1030Canada2024-05-31
1031Argentina2024-06-22
1032Brazil2024-06-20
1033India2024-06-07
1034Brazil2024-06-16
1035Germany2024-06-06
1036Argentina2024-06-16
1037United Kingdom2024-06-12
1038Brazil2024-06-13
1039Spain2024-06-04
1040Japan2024-05-30
1041Brazil2024-06-13
1042Canada2024-06-22
1043Brazil2024-06-16
1044Canada2024-05-30
1045Spain2024-06-14
1046Brazil2024-05-28
1047Japan2024-06-12
1048United Kingdom2024-05-25
1049Argentina2024-06-15

On-Demand Data

NameIdCountryDate
Greenwood G Inouye1000Germany2024-05-30
Silvio Q Ostrosky1001Italy2024-06-21
Kaitlin W Perin1002Germany2024-06-20
Kaitlin I Stenseth1003Russia2024-06-01
Salvatore A Whobrey1004Canada2024-06-05
Mujtaba J Maclead1005Argentina2024-06-21
Faith M Malet1006Italy2024-06-05
Juan B Whobrey1007Canada2024-06-22
Smith I Flosi1008Canada2024-06-21
Kaitlin J Oldroyd1009France2024-06-11
Maria B Malet1010India2024-05-25
Sinclair D Malet1011Italy2024-05-27
Jones N Kusko1012Russia2024-06-12
Maria S Albares1013Russia2024-06-12
Julie E Flosi1014Germany2024-06-10
Rodrigues F Amigon1015France2024-06-21
Chavez Z Marrier1016Argentina2024-06-11
Kadeem N Perin1017Brazil2024-06-22
Adams R Caldarera1018Russia2024-06-08
Julie T Garufi1019Japan2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki Z KolmetzFranceBernardo Dominic UNQUALIFIED
Aruna Z FerenczArgentinaAnna Fali QUALIFIED
Salvatore T MacleadCanadaXuxue Feng QUALIFIED
Adams N VenereUnited KingdomAmy Elsner NEW
Morrow P VocelkaSpainOnyama Limba RENEWAL
Mujtaba Y InouyeSpainIoni Bowcher RENEWAL
Silvio T DoeIndiaBernardo Dominic NEGOTIATION
Chavez G BowleyUnited KingdomStephen Shaw RENEWAL
Maria U MarrierUnited KingdomAsiya Javayant NEGOTIATION
Leja O StockhamIndiaStephen Shaw PROPOSAL
Sinclair E MarrierGermanyElwin Sharvill NEGOTIATION
Octavia N CaudyIndiaAnna Fali UNQUALIFIED
Misaki C OstroskyItalyStephen Shaw PROPOSAL
Claire F GillianAustraliaBernardo Dominic PROPOSAL
Misaki I OldroydGermanyAsiya Javayant QUALIFIED
Johnson L ShinkoRussiaBernardo Dominic NEW
Jennifer C RulapaughBrazilOnyama Limba PROPOSAL
Alejandro A FollerUnited KingdomAmy Elsner NEGOTIATION
Wickens M FollerArgentinaStephen Shaw RENEWAL
Jones G CaudyAustraliaBernardo Dominic QUALIFIED
Jeanfrancois S TollnerFranceStephen Shaw RENEWAL
Antonio X TollnerIndiaXuxue Feng NEGOTIATION
Ivar M IturbideSpainOnyama Limba UNQUALIFIED
Jeanfrancois N AmigonJapanIvan Magalhaes NEGOTIATION
Ricardo V AlbaresSpainXuxue Feng UNQUALIFIED
Johnson W SaylorsAustraliaElwin Sharvill PROPOSAL
Nicolas E GauchoAustraliaOnyama Limba NEGOTIATION
Morrow W SaylorsAustraliaAnna Fali RENEWAL
Stacey D SergiCanadaBernardo Dominic RENEWAL
Octavia U MaletAustraliaAnna Fali PROPOSAL
Emily L KolmetzArgentinaAnna Fali RENEWAL
Aika T CaldareraUnited KingdomBernardo Dominic QUALIFIED
Tony L VocelkaUnited KingdomAnna Fali PROPOSAL
Tony Z TollnerGermanyAnna Fali NEW
Sinclair R RoysterCanadaAsiya Javayant PROPOSAL
Nicolas H BowleyIndiaBernardo Dominic UNQUALIFIED
Ashley D GlickItalyBernardo Dominic UNQUALIFIED
Nicolas V ShinkoCanadaAmy Elsner NEGOTIATION
Tony L DilliardUnited KingdomBernardo Dominic RENEWAL
Emily W StockhamCanadaIvan Magalhaes 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>