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
Johnson O NestleItalyIoni Bowcher NEGOTIATION
Julie R RoysterArgentinaIvan Magalhaes UNQUALIFIED
Aika I SlusarskiCanadaElwin Sharvill UNQUALIFIED
Jennifer K MaletGermanyAmy Elsner NEW
Leja F ChuiArgentinaAmy Elsner UNQUALIFIED
Ivar P GlickFranceOnyama Limba NEW
Morrow D RutaCanadaBernardo Dominic RENEWAL
Maisha V GarufiUnited KingdomAmy Elsner UNQUALIFIED
Salvatore I KuskoCanadaOnyama Limba NEGOTIATION
Mujtaba H DilliardSpainAnna Fali NEW
Julie O BowleySpainBernardo Dominic UNQUALIFIED
Isabel F DilliardSpainIvan Magalhaes QUALIFIED
Leon R StockhamJapanStephen Shaw NEGOTIATION
Octavia S StockhamItalyOnyama Limba PROPOSAL
Cody B VenereItalyIoni Bowcher PROPOSAL
James X StensethJapanBernardo Dominic QUALIFIED
Munro F CaudyAustraliaStephen Shaw NEGOTIATION
Jones Q AlbaresJapanXuxue Feng NEGOTIATION
Francesco Z SergiCanadaStephen Shaw PROPOSAL
Mujtaba V MarrierIndiaBernardo Dominic PROPOSAL
Maria X WhobreyJapanXuxue Feng RENEWAL
Jefferson L KuskoIndiaAmy Elsner PROPOSAL
Darci P CampainUnited KingdomAnna Fali UNQUALIFIED
David T DilliardRussiaIoni Bowcher NEGOTIATION
Mujtaba B WaycottSpainXuxue Feng QUALIFIED
Faith L MarrierSpainXuxue Feng RENEWAL
Izzy T FigeroaAustraliaElwin Sharvill QUALIFIED
Faith V PaprockiUnited KingdomIoni Bowcher PROPOSAL
Jones I IturbideIndiaBernardo Dominic NEGOTIATION
Munro C SergiAustraliaIoni Bowcher RENEWAL
Isabel Q InouyeArgentinaAnna Fali NEW
Juan X CampainItalyOnyama Limba RENEWAL
Darci S GillianAustraliaXuxue Feng NEW
Isabel R CaldareraArgentinaAmy Elsner RENEWAL
Munro Y DoeIndiaElwin Sharvill PROPOSAL
Kaitlin P TollnerIndiaIoni Bowcher RENEWAL
Salvatore Z FlosiRussiaOnyama Limba NEGOTIATION
Aditya T WieserArgentinaElwin Sharvill NEGOTIATION
Nicolas Z DilliardJapanStephen Shaw PROPOSAL
Clifford Y NestleUnited KingdomOnyama Limba RENEWAL
Tony D RutaSpainOnyama Limba UNQUALIFIED
Sinclair R ShinkoUnited KingdomBernardo Dominic QUALIFIED
Juan H RoysterFranceIvan Magalhaes NEW
Aika Z FerenczGermanyElwin Sharvill NEW
Silvio T ButtRussiaBernardo Dominic RENEWAL
Maisha Z FigeroaGermanyAmy Elsner QUALIFIED
Jeanfrancois Z ShinkoIndiaBernardo Dominic RENEWAL
Darci L ButtUnited KingdomIvan Magalhaes RENEWAL
Greenwood R BowleyFranceAsiya Javayant UNQUALIFIED
Salvatore O StockhamRussiaBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Arvin J BowleyAustraliaXuxue Feng RENEWAL
Stacey T StockhamBrazilAnna Fali UNQUALIFIED
Cody K DoeBrazilIvan Magalhaes PROPOSAL
James M NickaArgentinaIoni Bowcher QUALIFIED
Jones K CampainRussiaElwin Sharvill NEW
Morrow E MorascaRussiaStephen Shaw NEGOTIATION
Ashley N SergiFranceOnyama Limba NEGOTIATION
Deepesh B ChuiUnited KingdomIvan Magalhaes NEW
Nicolas I DoeCanadaAsiya Javayant PROPOSAL
Ashley G MacleadAustraliaIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika U DilliardRussia2024-06-11Feltz Printing Service RENEWAL83Xuxue Feng
1001Claire T FlosiJapan2024-06-08Chapman, Ross E Esq RENEWAL96Stephen Shaw
1002Deepesh L MacleadGermany2024-05-24Rousseaux, Michael Esq PROPOSAL12Asiya Javayant
1003Deepesh Z GlickItaly2024-06-07Chapman, Ross E Esq RENEWAL14Elwin Sharvill
1004Aruna J BriddickRussia2024-06-08Printing Dimensions QUALIFIED39Asiya Javayant
1005Costa V StensethAustralia2024-06-12Benton, John B Jr NEGOTIATION38Elwin Sharvill
1006Claire F KuskoIndia2024-05-24Rousseaux, Michael Esq RENEWAL67Bernardo Dominic
1007Jones J ChuiItaly2024-05-23Feiner Bros NEW40Bernardo Dominic
1008Kaitlin Q NickaSpain2024-06-06Truhlar And Truhlar Attys QUALIFIED25Bernardo Dominic
1009Rodrigues H PoquetteUnited Kingdom2024-05-30Truhlar And Truhlar Attys RENEWAL94Ioni Bowcher
1010Salvatore D BologniaRussia2024-06-20Feiner Bros NEGOTIATION19Amy Elsner
1011Adams L BriddickArgentina2024-05-31Chanay, Jeffrey A Esq UNQUALIFIED54Stephen Shaw
1012Isabel E AlbaresJapan2024-06-16Feltz Printing Service RENEWAL42Ioni Bowcher
1013Johnson A PoquetteAustralia2024-05-24Truhlar And Truhlar Attys UNQUALIFIED86Ioni Bowcher
1014Munro T ShinkoItaly2024-06-12Chanay, Jeffrey A Esq NEW74Ivan Magalhaes
1015Kaitlin F DoeUnited Kingdom2024-05-24Feiner Bros PROPOSAL96Amy Elsner
1016Alejandro D PaprockiItaly2024-06-07Rousseaux, Michael Esq RENEWAL52Asiya Javayant
1017Aruna X WhobreySpain2024-06-16Buckley Miller Wright NEGOTIATION82Xuxue Feng
1018Clifford P MarrierAustralia2024-06-20Chemel, James L Cpa UNQUALIFIED41Amy Elsner
1019Deepesh C SergiIndia2024-06-20Dorl, James J Esq RENEWAL12Ioni Bowcher
1020Aruna S CaldareraAustralia2024-05-31Rangoni Of Florence NEGOTIATION54Xuxue Feng
1021Darci N TollnerSpain2024-05-26Benton, John B Jr NEGOTIATION15Ioni Bowcher
1022Arvin Q MarrierFrance2024-06-08Dorl, James J Esq PROPOSAL45Xuxue Feng
1023Misaki S ChuiJapan2024-06-16King, Christopher A Esq NEW54Asiya Javayant
1024Murillo J WaycottGermany2024-06-10Chapman, Ross E Esq RENEWAL37Asiya Javayant
1025Salvatore G FerenczJapan2024-05-29Truhlar And Truhlar Attys UNQUALIFIED48Amy Elsner
1026Clifford L MacleadItaly2024-05-27Rousseaux, Michael Esq RENEWAL42Stephen Shaw
1027Antonio R CaldareraFrance2024-06-11Printing Dimensions QUALIFIED36Ioni Bowcher
1028Deepesh V BriddickCanada2024-06-05Benton, John B Jr UNQUALIFIED89Asiya Javayant
1029Salvatore X SchemmerJapan2024-05-30Chanay, Jeffrey A Esq NEW51Asiya Javayant
1030Jeanfrancois R CampainFrance2024-05-28Chemel, James L Cpa PROPOSAL74Ivan Magalhaes
1031Costa O DoeBrazil2024-06-17Printing Dimensions UNQUALIFIED2Amy Elsner
1032Aika R AmigonRussia2024-05-27Chanay, Jeffrey A Esq NEGOTIATION1Bernardo Dominic
1033Jeanfrancois U CaudyBrazil2024-05-28Printing Dimensions QUALIFIED92Elwin Sharvill
1034Francesco Z OstroskyAustralia2024-06-20Rangoni Of Florence NEW77Bernardo Dominic
1035Silvio R NickaBrazil2024-05-31King, Christopher A Esq NEGOTIATION68Ioni Bowcher
1036Julie N PerinGermany2024-06-07Chapman, Ross E Esq QUALIFIED5Bernardo Dominic
1037Arvin R VocelkaRussia2024-06-10Truhlar And Truhlar Attys NEGOTIATION6Ioni Bowcher
1038Maisha C WaycottUnited Kingdom2024-06-10Feltz Printing Service PROPOSAL23Onyama Limba
1039Kaitlin G MaletSpain2024-05-26Truhlar And Truhlar Attys PROPOSAL1Onyama Limba
1040Salvatore Z FlosiSpain2024-06-21Chapman, Ross E Esq NEW68Anna Fali
1041Ricardo V DilliardGermany2024-06-17Chanay, Jeffrey A Esq RENEWAL51Stephen Shaw
1042Kadeem L MarrierRussia2024-06-04Chanay, Jeffrey A Esq NEW43Stephen Shaw
1043Maisha Z RulapaughSpain2024-05-27Morlong Associates RENEWAL0Asiya Javayant
1044Silvio E SaylorsAustralia2024-06-17Chanay, Jeffrey A Esq UNQUALIFIED38Amy Elsner
1045Jeanfrancois A KuskoJapan2024-06-07Rangoni Of Florence QUALIFIED24Asiya Javayant
1046David J KuskoBrazil2024-05-23Rousseaux, Michael Esq RENEWAL61Ioni Bowcher
1047Deepesh G CaudyItaly2024-06-06Morlong Associates RENEWAL56Elwin Sharvill
1048Alejandro Y BriddickGermany2024-05-26Rangoni Of Florence QUALIFIED39Bernardo Dominic
1049Clifford P CaldareraSpain2024-06-12Commercial Press NEGOTIATION18Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Greenwood O GauchoJapanAmy Elsner RENEWAL
Octavia G RoysterGermanyXuxue Feng NEGOTIATION
Jeanfrancois X AmigonJapanAnna Fali UNQUALIFIED
Wickens P RutaSpainIoni Bowcher NEGOTIATION
Jones W CampainSpainXuxue Feng PROPOSAL
Deepesh I RutaSpainIoni Bowcher RENEWAL
Darci T PerinBrazilXuxue Feng NEGOTIATION
Arvin S FollerBrazilIoni Bowcher QUALIFIED
Isabel S RoysterCanadaXuxue Feng RENEWAL
Alejandro J RoysterAustraliaIoni Bowcher PROPOSAL
Jones F PoquetteCanadaAnna Fali PROPOSAL
Izzy R MaletGermanyAsiya Javayant RENEWAL
Deepesh J MorascaFranceOnyama Limba UNQUALIFIED
Aditya C AmigonRussiaAnna Fali UNQUALIFIED
David D NestleUnited KingdomStephen Shaw NEW
Johnson C RoysterRussiaBernardo Dominic PROPOSAL
Sinclair H GarufiArgentinaIvan Magalhaes RENEWAL
Arvin W RutaCanadaIvan Magalhaes RENEWAL
Adams H AlbaresItalyStephen Shaw NEGOTIATION
Aruna J NestleCanadaBernardo Dominic NEW
Smith G AmigonGermanyAsiya Javayant UNQUALIFIED
Kadeem I RutaIndiaAmy Elsner NEW
Ashley Y CaldareraAustraliaIvan Magalhaes RENEWAL
Alejandro X SaylorsFranceStephen Shaw QUALIFIED
Kadeem C MacleadSpainIvan Magalhaes PROPOSAL
Kaitlin H FollerBrazilElwin Sharvill NEW
Claire H AlbaresUnited KingdomElwin Sharvill QUALIFIED
Ricardo K ButtAustraliaIvan Magalhaes PROPOSAL
Nicolas Y FerenczRussiaStephen Shaw NEW
Stacey Y TollnerFranceAnna Fali UNQUALIFIED
Ashley S DoeJapanAnna Fali QUALIFIED
Costa K SaylorsAustraliaAsiya Javayant PROPOSAL
Francesco G RimFranceIoni Bowcher UNQUALIFIED
Octavia X GauchoRussiaAmy Elsner NEW
Claire V SergiIndiaOnyama Limba UNQUALIFIED
Octavia B KolmetzItalyBernardo Dominic RENEWAL
Ricardo A SaylorsCanadaXuxue Feng QUALIFIED
Mujtaba C WhobreyArgentinaXuxue Feng NEW
Maria B ShinkoJapanStephen Shaw QUALIFIED
Mayumi H PoquetteSpainIoni Bowcher UNQUALIFIED
Smith O MarrierCanadaXuxue Feng NEGOTIATION
Arvin Q WieserUnited KingdomElwin Sharvill QUALIFIED
Silvio W GauchoSpainAnna Fali NEW
Salvatore C CaudyGermanyElwin Sharvill RENEWAL
Salvatore I GarufiJapanIvan Magalhaes UNQUALIFIED
Aruna C InouyeBrazilIoni Bowcher UNQUALIFIED
Aruna P RulapaughGermanyXuxue Feng NEW
Jones B RoysterUnited KingdomIvan Magalhaes UNQUALIFIED
Deepesh A RulapaughRussiaAmy Elsner QUALIFIED
Ricardo I FollerAustraliaAnna Fali NEW
Frozen Columns
Name
Emily A Caldarera
Aika T Venere
Aika I Perin
Jefferson S Waycott
Juan H Nicka
Aika C Sergi
Ricardo J Glick
Greenwood C Nestle
Isabel Y Nestle
Jefferson D Ostrosky
Sinclair J Gillian
Chavez A Glick
Emily E Rulapaugh
Mujtaba V Glick
Cody V Malet
Munro J Poquette
Kaitlin C Rim
Chavez U Amigon
Johnson C Kolmetz
Julie G Royster
Misaki U Briddick
Alejandro R Gillian
Alejandro N Ruta
Morrow Z Inouye
Chavez T Amigon
Darci M Darakjy
Morrow K Glick
Antonio Z Royster
Mujtaba D Whobrey
James B Schemmer
Arvin C Briddick
Leja Q Bowley
Jennifer B Marrier
Ricardo V Bowley
Ivar H Rulapaugh
Octavia P Rulapaugh
Kaitlin E Sergi
Aditya V Schemmer
Ricardo S Dilliard
Wickens T Ferencz
Alejandro N Whobrey
Adams R Rulapaugh
Jeanfrancois I Foller
Leon L Sergi
Greenwood C Doe
Costa Z Whobrey
Johnson F Rim
Nicolas W Venere
Morrow P Kolmetz
Sinclair P Ostrosky
IdCountryDate
1000United Kingdom2024-06-13
1001United Kingdom2024-05-24
1002United Kingdom2024-06-10
1003France2024-06-03
1004Australia2024-05-28
1005Spain2024-06-12
1006India2024-05-26
1007Canada2024-05-27
1008Canada2024-06-12
1009United Kingdom2024-06-16
1010Argentina2024-06-18
1011Italy2024-05-27
1012Canada2024-06-17
1013Japan2024-05-27
1014Argentina2024-05-29
1015Italy2024-05-28
1016Argentina2024-06-06
1017Canada2024-05-27
1018United Kingdom2024-06-10
1019United Kingdom2024-06-04
1020Brazil2024-06-06
1021United Kingdom2024-06-04
1022Argentina2024-05-28
1023United Kingdom2024-06-06
1024Argentina2024-05-28
1025Spain2024-06-02
1026Australia2024-05-24
1027Australia2024-05-26
1028Italy2024-05-25
1029Japan2024-06-21
1030Argentina2024-06-17
1031Germany2024-06-15
1032Italy2024-06-20
1033Argentina2024-06-04
1034Italy2024-06-14
1035Germany2024-06-11
1036Italy2024-06-07
1037Argentina2024-05-27
1038Argentina2024-06-11
1039India2024-06-06
1040Russia2024-05-28
1041Canada2024-06-08
1042Japan2024-05-31
1043Japan2024-05-26
1044Japan2024-05-26
1045Japan2024-06-02
1046Italy2024-05-29
1047Japan2024-06-20
1048Australia2024-06-13
1049Italy2024-05-31

On-Demand Data

NameIdCountryDate
Antonio Y Sergi1000Germany2024-06-06
Smith X Stockham1001Japan2024-05-25
David Q Slusarski1002Canada2024-05-24
Maria Y Whobrey1003France2024-06-08
Ivar Z Sergi1004Argentina2024-05-26
Aika V Flosi1005France2024-05-27
Stacey N Chui1006Japan2024-06-20
Izzy Q Gaucho1007Spain2024-06-04
Maisha P Figeroa1008France2024-06-14
Adams F Malet1009Italy2024-05-25
Ashley C Venere1010Italy2024-06-02
Aditya X Paprocki1011India2024-06-07
Sinclair Q Venere1012Australia2024-06-19
Izzy Y Iturbide1013Russia2024-06-19
Mayumi Q Amigon1014United Kingdom2024-06-12
Octavia Q Ferencz1015Brazil2024-06-17
Leon O Caudy1016Japan2024-05-24
Stacey Q Gaucho1017India2024-05-28
David O Kusko1018Australia2024-06-12
Sinclair V Venere1019India2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair N GillianBrazilOnyama Limba NEGOTIATION
Jennifer M MarrierFranceAsiya Javayant NEW
Wickens V NestleUnited KingdomIoni Bowcher NEGOTIATION
Julie M FerenczItalyAmy Elsner UNQUALIFIED
Juan W OldroydJapanAnna Fali RENEWAL
Julie P GlickBrazilElwin Sharvill PROPOSAL
Nicolas I RutaItalyIvan Magalhaes QUALIFIED
Octavia M MaletRussiaOnyama Limba NEGOTIATION
Salvatore X StockhamCanadaOnyama Limba RENEWAL
Juan A FollerAustraliaIoni Bowcher UNQUALIFIED
Emily E DarakjyCanadaAsiya Javayant PROPOSAL
Antonio R CaldareraGermanyAnna Fali PROPOSAL
Faith N SchemmerUnited KingdomOnyama Limba NEW
Ricardo K MacleadCanadaIoni Bowcher UNQUALIFIED
Ricardo K GauchoCanadaOnyama Limba NEGOTIATION
Adams R DarakjySpainXuxue Feng NEW
Darci C GlickFranceElwin Sharvill QUALIFIED
Cody W InouyeSpainIvan Magalhaes NEGOTIATION
Isabel O PerinFranceOnyama Limba RENEWAL
Izzy L ChuiUnited KingdomIvan Magalhaes NEGOTIATION
Deepesh M BowleyItalyIoni Bowcher QUALIFIED
Nicolas D MaletAustraliaAnna Fali PROPOSAL
Munro Z PoquetteRussiaAnna Fali PROPOSAL
Chavez Z PaprockiFranceXuxue Feng QUALIFIED
Faith X PerinIndiaIoni Bowcher QUALIFIED
Aruna G FollerJapanXuxue Feng RENEWAL
Aika W NickaItalyAmy Elsner RENEWAL
Aika Q VocelkaArgentinaAsiya Javayant NEW
Maisha W GillianGermanyAmy Elsner RENEWAL
Alejandro H InouyeBrazilIoni Bowcher PROPOSAL
Faith E AlbaresArgentinaOnyama Limba UNQUALIFIED
Izzy G StensethSpainElwin Sharvill NEW
Maisha R KolmetzUnited KingdomIvan Magalhaes QUALIFIED
Silvio V MorascaItalyIoni Bowcher UNQUALIFIED
Juan O AmigonCanadaIvan Magalhaes RENEWAL
Aditya W WieserIndiaIoni Bowcher RENEWAL
Chavez Y AmigonCanadaAmy Elsner UNQUALIFIED
Jeanfrancois K OldroydArgentinaXuxue Feng UNQUALIFIED
Murillo Y MorascaFranceXuxue Feng UNQUALIFIED
Emily H KuskoArgentinaOnyama Limba 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>