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
Chavez G RulapaughCanadaElwin Sharvill NEGOTIATION
Leon G PoquetteIndiaIvan Magalhaes QUALIFIED
Stacey O MaletAustraliaAnna Fali NEGOTIATION
Smith E MaletUnited KingdomElwin Sharvill NEW
Johnson Z CampainCanadaAsiya Javayant UNQUALIFIED
Wickens Q SaylorsRussiaBernardo Dominic NEW
Kaitlin Z OstroskyBrazilIvan Magalhaes NEGOTIATION
Arvin D MacleadFranceStephen Shaw RENEWAL
Salvatore N PerinBrazilOnyama Limba UNQUALIFIED
Wickens B OldroydJapanBernardo Dominic UNQUALIFIED
Munro G VocelkaUnited KingdomBernardo Dominic RENEWAL
Aruna G WieserRussiaAmy Elsner NEW
Stacey V CaldareraItalyElwin Sharvill RENEWAL
Sinclair K InouyeSpainAmy Elsner NEGOTIATION
Mujtaba E FerenczRussiaXuxue Feng NEW
Claire O KuskoBrazilXuxue Feng PROPOSAL
Octavia H PoquetteItalyXuxue Feng NEGOTIATION
Leon G PoquetteBrazilElwin Sharvill QUALIFIED
Faith R PaprockiItalyXuxue Feng RENEWAL
Cody X WaycottUnited KingdomAnna Fali PROPOSAL
Morrow E ChuiGermanyOnyama Limba QUALIFIED
Adams P StockhamGermanyIoni Bowcher NEW
Leon E MaletAustraliaStephen Shaw RENEWAL
Silvio E ShinkoSpainAsiya Javayant NEGOTIATION
Jennifer Z WieserCanadaAmy Elsner RENEWAL
Sinclair Q GillianRussiaAsiya Javayant RENEWAL
Chavez G BowleyFranceAsiya Javayant NEGOTIATION
Silvio A ButtItalyBernardo Dominic RENEWAL
Ashley S FlosiUnited KingdomAnna Fali UNQUALIFIED
Faith E MarrierIndiaAnna Fali NEW
Faith V OldroydArgentinaXuxue Feng RENEWAL
Izzy N RulapaughFranceElwin Sharvill PROPOSAL
Cody L VenereFranceXuxue Feng UNQUALIFIED
Francesco S OldroydUnited KingdomAmy Elsner QUALIFIED
Cody O FollerIndiaAsiya Javayant NEGOTIATION
Sinclair U FerenczAustraliaBernardo Dominic NEW
Jeanfrancois N MorascaSpainElwin Sharvill UNQUALIFIED
Antonio K SlusarskiGermanyIvan Magalhaes RENEWAL
Arvin O CaudyRussiaStephen Shaw UNQUALIFIED
Isabel E MacleadRussiaAsiya Javayant RENEWAL
Claire T KuskoAustraliaOnyama Limba QUALIFIED
Leon W StockhamJapanAmy Elsner NEGOTIATION
Rodrigues T MarrierFranceAmy Elsner PROPOSAL
Stacey U WieserBrazilAsiya Javayant QUALIFIED
Johnson Q SaylorsFranceAmy Elsner NEGOTIATION
Ashley K ButtSpainStephen Shaw NEW
Nicolas P PoquetteFranceIoni Bowcher NEW
Adams A AmigonArgentinaAsiya Javayant RENEWAL
Emily U WaycottAustraliaXuxue Feng RENEWAL
Aruna N NickaAustraliaStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Francesco E BriddickUnited KingdomOnyama Limba NEGOTIATION
David Q SlusarskiCanadaAsiya Javayant RENEWAL
Tony F ButtUnited KingdomIvan Magalhaes QUALIFIED
Wickens N NestleFranceElwin Sharvill UNQUALIFIED
Ricardo W NickaIndiaXuxue Feng PROPOSAL
Octavia C DarakjyFranceIvan Magalhaes QUALIFIED
Munro E VocelkaRussiaStephen Shaw PROPOSAL
Ricardo X ButtSpainOnyama Limba QUALIFIED
Maisha V WaycottRussiaIvan Magalhaes UNQUALIFIED
Kaitlin O MorascaCanadaAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams Y MaletJapan2024-06-02Benton, John B Jr UNQUALIFIED21Xuxue Feng
1001Greenwood C PaprockiSpain2024-06-06Chapman, Ross E Esq NEGOTIATION9Xuxue Feng
1002Jeanfrancois T CampainFrance2024-06-10Morlong Associates QUALIFIED3Asiya Javayant
1003Smith H GarufiIndia2024-06-06Rangoni Of Florence RENEWAL51Xuxue Feng
1004David Z ShinkoAustralia2024-06-12Chapman, Ross E Esq PROPOSAL41Amy Elsner
1005Jones E MaletUnited Kingdom2024-05-31Chapman, Ross E Esq RENEWAL55Amy Elsner
1006Jeanfrancois R DarakjyUnited Kingdom2024-05-20Truhlar And Truhlar Attys PROPOSAL59Stephen Shaw
1007Adams C BowleyArgentina2024-06-01Chapman, Ross E Esq RENEWAL67Xuxue Feng
1008Leja S FigeroaGermany2024-06-03Buckley Miller Wright RENEWAL6Amy Elsner
1009Adams M KolmetzFrance2024-05-27Rousseaux, Michael Esq QUALIFIED81Ioni Bowcher
1010Murillo K DilliardCanada2024-05-21Printing Dimensions NEGOTIATION3Xuxue Feng
1011Silvio Z OstroskyUnited Kingdom2024-06-06Feltz Printing Service PROPOSAL84Ioni Bowcher
1012Nicolas Z VenereCanada2024-06-02King, Christopher A Esq NEW67Stephen Shaw
1013Murillo V DoeAustralia2024-06-17Rousseaux, Michael Esq RENEWAL19Ioni Bowcher
1014Emily D ButtJapan2024-05-25Printing Dimensions PROPOSAL28Anna Fali
1015Rodrigues D ChuiAustralia2024-06-15Chanay, Jeffrey A Esq PROPOSAL60Ivan Magalhaes
1016Wickens A PoquetteAustralia2024-06-02Feltz Printing Service PROPOSAL20Amy Elsner
1017Faith A NestleRussia2024-06-04Dorl, James J Esq QUALIFIED99Bernardo Dominic
1018Adams R StensethGermany2024-05-19Chapman, Ross E Esq NEW98Bernardo Dominic
1019Mujtaba N MaletRussia2024-06-01Chemel, James L Cpa NEGOTIATION30Ioni Bowcher
1020Octavia K BriddickArgentina2024-05-24Chemel, James L Cpa PROPOSAL51Bernardo Dominic
1021Claire J VenereFrance2024-05-24Morlong Associates NEGOTIATION56Elwin Sharvill
1022Jones N StockhamUnited Kingdom2024-06-04Rousseaux, Michael Esq NEW54Amy Elsner
1023Claire X SaylorsJapan2024-06-11Truhlar And Truhlar Attys UNQUALIFIED69Ioni Bowcher
1024David S MaletSpain2024-05-30Chapman, Ross E Esq NEGOTIATION64Ioni Bowcher
1025Maria W SlusarskiUnited Kingdom2024-06-15Benton, John B Jr PROPOSAL70Amy Elsner
1026Mujtaba Q PoquetteCanada2024-06-17Feiner Bros NEGOTIATION27Amy Elsner
1027Jones G OldroydFrance2024-06-03Feiner Bros NEW16Asiya Javayant
1028Jones O GarufiBrazil2024-06-07Rangoni Of Florence UNQUALIFIED36Onyama Limba
1029Sinclair X NestleGermany2024-06-06Commercial Press UNQUALIFIED76Amy Elsner
1030Antonio U VenereBrazil2024-05-20Chemel, James L Cpa RENEWAL83Elwin Sharvill
1031Misaki L GlickArgentina2024-05-23Rangoni Of Florence UNQUALIFIED20Amy Elsner
1032Tony P MaletRussia2024-05-28Buckley Miller Wright QUALIFIED52Onyama Limba
1033Adams L SaylorsIndia2024-06-06Feltz Printing Service NEW29Anna Fali
1034Jones M FollerBrazil2024-06-06Chanay, Jeffrey A Esq QUALIFIED83Amy Elsner
1035Ivar A NickaArgentina2024-06-16Chanay, Jeffrey A Esq NEW17Bernardo Dominic
1036Smith L CampainJapan2024-05-19Dorl, James J Esq QUALIFIED44Xuxue Feng
1037Smith K KolmetzGermany2024-05-24Commercial Press QUALIFIED34Bernardo Dominic
1038Claire U RimGermany2024-05-26Feiner Bros NEW41Asiya Javayant
1039Aruna R KolmetzCanada2024-06-12Chanay, Jeffrey A Esq QUALIFIED67Elwin Sharvill
1040Octavia M OldroydArgentina2024-05-24Rangoni Of Florence QUALIFIED10Bernardo Dominic
1041Kaitlin H IturbideAustralia2024-06-12Chapman, Ross E Esq NEW65Xuxue Feng
1042Nicolas X AlbaresGermany2024-05-25Commercial Press PROPOSAL85Anna Fali
1043Ricardo T ChuiItaly2024-05-27Feltz Printing Service RENEWAL90Onyama Limba
1044Mujtaba N RimArgentina2024-05-31Buckley Miller Wright NEW73Stephen Shaw
1045Rodrigues N KuskoIndia2024-06-12Chanay, Jeffrey A Esq PROPOSAL48Onyama Limba
1046Isabel K GillianUnited Kingdom2024-06-05Truhlar And Truhlar Attys RENEWAL17Amy Elsner
1047Claire H GarufiCanada2024-06-17Chemel, James L Cpa PROPOSAL0Elwin Sharvill
1048Francesco P ChuiAustralia2024-05-25Truhlar And Truhlar Attys UNQUALIFIED28Asiya Javayant
1049Mujtaba Y AmigonGermany2024-06-05Feiner Bros NEGOTIATION64Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Ricardo W VocelkaRussiaStephen Shaw QUALIFIED
Claire Y MacleadGermanyOnyama Limba UNQUALIFIED
Salvatore J VenereGermanyAsiya Javayant QUALIFIED
Ashley U BologniaIndiaIvan Magalhaes PROPOSAL
Morrow K GarufiRussiaBernardo Dominic PROPOSAL
Johnson C KuskoRussiaBernardo Dominic UNQUALIFIED
Mujtaba Y BologniaAustraliaIvan Magalhaes PROPOSAL
Johnson U TollnerGermanyAnna Fali NEW
Arvin R SlusarskiGermanyAnna Fali RENEWAL
Jones N CaldareraCanadaBernardo Dominic QUALIFIED
Johnson Z DoeFranceAsiya Javayant NEGOTIATION
Maria B OldroydBrazilStephen Shaw NEW
Francesco F GillianFranceAmy Elsner QUALIFIED
Costa N ButtUnited KingdomBernardo Dominic PROPOSAL
Isabel I FerenczRussiaBernardo Dominic QUALIFIED
Antonio M IturbideJapanStephen Shaw NEGOTIATION
Ricardo X IturbideRussiaBernardo Dominic PROPOSAL
Maisha S KolmetzBrazilXuxue Feng RENEWAL
Greenwood Q FollerFranceBernardo Dominic NEW
Stacey C MarrierItalyStephen Shaw UNQUALIFIED
Salvatore T BologniaArgentinaElwin Sharvill PROPOSAL
Salvatore F SergiItalyAmy Elsner QUALIFIED
Tony V NickaSpainAmy Elsner NEW
Aditya R StensethArgentinaBernardo Dominic QUALIFIED
Darci D OstroskyIndiaAmy Elsner NEW
Morrow L CaldareraSpainIoni Bowcher RENEWAL
Leon D AmigonArgentinaIoni Bowcher QUALIFIED
Leon Q NestleIndiaOnyama Limba NEGOTIATION
Maria Y WieserItalyAsiya Javayant QUALIFIED
Costa G TollnerBrazilIoni Bowcher NEW
Antonio Y GauchoRussiaIvan Magalhaes NEW
Mujtaba I DarakjyBrazilElwin Sharvill NEW
Aruna R SchemmerAustraliaIvan Magalhaes NEGOTIATION
Kaitlin U KolmetzAustraliaElwin Sharvill UNQUALIFIED
Ivar B GarufiIndiaStephen Shaw PROPOSAL
Deepesh N RoysterUnited KingdomStephen Shaw QUALIFIED
Izzy I OstroskyItalyAnna Fali UNQUALIFIED
Stacey G FlosiSpainIvan Magalhaes QUALIFIED
David Y NestleArgentinaAmy Elsner NEGOTIATION
James H OldroydBrazilAmy Elsner QUALIFIED
Leon I VenereFranceBernardo Dominic QUALIFIED
Stacey O InouyeArgentinaStephen Shaw NEGOTIATION
Claire C KolmetzSpainXuxue Feng NEGOTIATION
Antonio J SlusarskiBrazilBernardo Dominic NEGOTIATION
Jennifer A VocelkaRussiaXuxue Feng UNQUALIFIED
Smith Z WhobreyCanadaElwin Sharvill PROPOSAL
Chavez B GarufiIndiaStephen Shaw NEGOTIATION
Tony N FigeroaUnited KingdomAsiya Javayant NEGOTIATION
Kadeem E DarakjyArgentinaBernardo Dominic UNQUALIFIED
Jefferson L KolmetzJapanIvan Magalhaes RENEWAL
Frozen Columns
Name
Ashley C Briddick
Silvio W Oldroyd
Kadeem D Poquette
Izzy M Nestle
Greenwood O Bowley
Kaitlin E Iturbide
Faith C Foller
Alejandro O Amigon
Mujtaba H Ruta
Deepesh V Venere
Ricardo D Bolognia
Julie Q Tollner
Chavez C Malet
Johnson N Slusarski
Smith X Doe
Emily S Foller
Costa V Figeroa
Misaki R Ostrosky
Maria E Kolmetz
Arvin Y Doe
Smith Q Kolmetz
Tony X Butt
Rodrigues B Vocelka
Misaki M Nicka
Smith C Caudy
Chavez M Kusko
Aruna K Rim
James O Rulapaugh
Aika V Malet
David X Bolognia
Wickens J Vocelka
Wickens U Foller
Darci E Briddick
Juan T Rim
Mayumi A Perin
Maisha F Waycott
Silvio V Caldarera
Alejandro I Stenseth
Alejandro E Stockham
Mujtaba T Malet
Clifford O Darakjy
Costa V Oldroyd
Jeanfrancois A Caudy
Izzy K Poquette
Aika U Flosi
Aruna I Maclead
Octavia S Darakjy
Smith N Dilliard
Nicolas W Wieser
Tony J Slusarski
IdCountryDate
1000Italy2024-06-16
1001Russia2024-05-27
1002Canada2024-06-12
1003United Kingdom2024-05-20
1004Argentina2024-06-01
1005Brazil2024-06-05
1006Brazil2024-06-02
1007France2024-05-28
1008Germany2024-05-24
1009Italy2024-06-03
1010Japan2024-05-31
1011Canada2024-06-04
1012Australia2024-06-01
1013Canada2024-06-13
1014Argentina2024-06-11
1015Argentina2024-06-16
1016France2024-06-13
1017Germany2024-06-09
1018Brazil2024-05-20
1019Spain2024-06-03
1020Italy2024-05-24
1021India2024-05-31
1022France2024-05-25
1023United Kingdom2024-05-20
1024Germany2024-06-15
1025Italy2024-06-09
1026Italy2024-05-21
1027Australia2024-05-31
1028Russia2024-06-01
1029Japan2024-05-27
1030Brazil2024-05-22
1031Russia2024-06-01
1032Australia2024-05-24
1033India2024-06-11
1034Brazil2024-06-14
1035Italy2024-06-08
1036Brazil2024-06-16
1037Canada2024-05-21
1038Spain2024-06-07
1039India2024-06-17
1040Spain2024-05-28
1041Russia2024-06-09
1042India2024-05-19
1043Argentina2024-05-31
1044Spain2024-06-12
1045India2024-05-26
1046France2024-06-08
1047Germany2024-05-22
1048France2024-06-17
1049Argentina2024-06-16

On-Demand Data

NameIdCountryDate
Antonio X Garufi1000France2024-06-04
Adams M Iturbide1001Italy2024-06-15
Rodrigues P Darakjy1002Italy2024-05-31
Jefferson C Maclead1003Russia2024-05-21
Leja N Marrier1004Germany2024-06-01
Mayumi Z Ruta1005Australia2024-05-19
Jefferson Z Malet1006Italy2024-06-06
Ricardo K Wieser1007Argentina2024-06-07
Greenwood Y Venere1008France2024-05-21
Isabel X Slusarski1009United Kingdom2024-06-13
Ashley T Tollner1010Brazil2024-06-12
Rodrigues K Schemmer1011Italy2024-05-28
Mayumi G Rim1012Germany2024-06-03
Munro N Shinko1013Spain2024-05-21
Aika H Nestle1014Germany2024-05-27
Jefferson F Nestle1015France2024-06-01
Maria X Foller1016Germany2024-05-28
Aika R Venere1017Canada2024-06-01
Ashley S Iturbide1018Brazil2024-05-27
Antonio V Dilliard1019United Kingdom2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith S KolmetzArgentinaAmy Elsner NEGOTIATION
Misaki L CampainBrazilAsiya Javayant UNQUALIFIED
Chavez R BriddickCanadaBernardo Dominic NEW
Ivar U FerenczArgentinaOnyama Limba NEGOTIATION
Juan P KuskoRussiaAmy Elsner PROPOSAL
Smith M BriddickUnited KingdomElwin Sharvill NEGOTIATION
Kaitlin Z ButtIndiaAnna Fali UNQUALIFIED
Salvatore Y SaylorsUnited KingdomIoni Bowcher NEGOTIATION
Kadeem H MarrierRussiaBernardo Dominic RENEWAL
Aruna M KolmetzAustraliaAnna Fali NEGOTIATION
Jefferson W RutaArgentinaXuxue Feng NEGOTIATION
Aditya C GarufiGermanyOnyama Limba RENEWAL
Cody P NestleArgentinaStephen Shaw RENEWAL
Aditya U TollnerRussiaOnyama Limba NEGOTIATION
Claire R MaletArgentinaOnyama Limba NEW
Antonio Q MarrierUnited KingdomBernardo Dominic UNQUALIFIED
Munro M PerinRussiaBernardo Dominic NEGOTIATION
Juan T DarakjyIndiaXuxue Feng NEW
Salvatore B SaylorsCanadaIoni Bowcher UNQUALIFIED
Jeanfrancois M InouyeCanadaStephen Shaw PROPOSAL
Arvin T AlbaresSpainElwin Sharvill QUALIFIED
Silvio A WieserGermanyStephen Shaw UNQUALIFIED
Jefferson M CampainUnited KingdomIvan Magalhaes UNQUALIFIED
Johnson W WieserRussiaXuxue Feng NEW
Ricardo C FlosiItalyAmy Elsner NEGOTIATION
Mujtaba R TollnerFranceIvan Magalhaes NEW
Antonio O SaylorsJapanIvan Magalhaes NEW
Aruna K FerenczAustraliaIvan Magalhaes PROPOSAL
Emily G StensethIndiaElwin Sharvill UNQUALIFIED
Jennifer F KuskoFranceBernardo Dominic NEGOTIATION
Mayumi B VenereBrazilBernardo Dominic NEGOTIATION
Smith I DoeIndiaElwin Sharvill NEGOTIATION
Chavez C FollerSpainElwin Sharvill QUALIFIED
Jefferson W SaylorsFranceIvan Magalhaes PROPOSAL
Nicolas Y MacleadArgentinaIvan Magalhaes NEGOTIATION
Chavez R ButtRussiaStephen Shaw RENEWAL
Salvatore O MarrierArgentinaIvan Magalhaes RENEWAL
Faith Q WhobreyGermanyElwin Sharvill UNQUALIFIED
Munro P DoeFranceOnyama Limba NEW
Salvatore B KolmetzGermanyAsiya Javayant RENEWAL

<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>