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
Jones K MarrierArgentinaStephen Shaw RENEWAL
Jones X SergiBrazilIoni Bowcher RENEWAL
Aruna S RulapaughSpainBernardo Dominic QUALIFIED
Arvin L SchemmerAustraliaBernardo Dominic NEW
Claire R StockhamFranceIvan Magalhaes UNQUALIFIED
Julie X DarakjyUnited KingdomIvan Magalhaes NEGOTIATION
Claire K StockhamBrazilOnyama Limba NEW
Octavia K IturbideBrazilOnyama Limba PROPOSAL
Jefferson K MarrierItalyStephen Shaw RENEWAL
Sinclair H PoquetteCanadaAnna Fali QUALIFIED
Aditya W RulapaughUnited KingdomOnyama Limba UNQUALIFIED
Mujtaba B PerinFranceAnna Fali PROPOSAL
Morrow S RimAustraliaElwin Sharvill PROPOSAL
Silvio O WaycottUnited KingdomAmy Elsner NEW
Johnson D IturbideJapanElwin Sharvill RENEWAL
Mayumi L IturbideBrazilStephen Shaw RENEWAL
Octavia Y GarufiRussiaElwin Sharvill RENEWAL
Murillo K KuskoBrazilOnyama Limba NEGOTIATION
Munro U OldroydItalyIoni Bowcher PROPOSAL
Stacey T GillianGermanyElwin Sharvill RENEWAL
Juan L MaletRussiaBernardo Dominic RENEWAL
Isabel Y SlusarskiSpainIoni Bowcher NEGOTIATION
Jeanfrancois T ShinkoCanadaIvan Magalhaes NEGOTIATION
Ivar J MarrierSpainAmy Elsner RENEWAL
Antonio T ChuiArgentinaAmy Elsner UNQUALIFIED
Sinclair N SergiArgentinaAsiya Javayant PROPOSAL
Jennifer A MaletIndiaXuxue Feng RENEWAL
Salvatore J GlickCanadaAnna Fali UNQUALIFIED
Misaki Y PaprockiItalyElwin Sharvill PROPOSAL
Antonio T MacleadIndiaAmy Elsner QUALIFIED
Francesco C DarakjyBrazilAmy Elsner RENEWAL
Kaitlin Z OldroydArgentinaXuxue Feng RENEWAL
Misaki X CaudyFranceOnyama Limba NEW
Ricardo Z WhobreyArgentinaIoni Bowcher NEW
Ashley C ShinkoGermanyOnyama Limba NEW
Tony H RulapaughCanadaAnna Fali PROPOSAL
Jefferson Z AmigonSpainIvan Magalhaes UNQUALIFIED
Maisha J TollnerBrazilIvan Magalhaes NEW
Costa Z RulapaughItalyBernardo Dominic QUALIFIED
Aruna N ShinkoFranceAnna Fali QUALIFIED
Ricardo I DilliardBrazilIvan Magalhaes NEGOTIATION
Rodrigues J GlickCanadaOnyama Limba NEGOTIATION
Adams Y FollerBrazilElwin Sharvill NEW
Isabel C MarrierSpainXuxue Feng NEW
Smith Y BowleyFranceIoni Bowcher NEGOTIATION
Leon N WieserIndiaXuxue Feng NEGOTIATION
Leja M OldroydBrazilStephen Shaw NEGOTIATION
Faith O ButtCanadaBernardo Dominic QUALIFIED
Leon X RulapaughArgentinaAnna Fali QUALIFIED
Aruna Q OstroskyFranceIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Darci T RimArgentinaOnyama Limba RENEWAL
Jeanfrancois G MorascaFranceOnyama Limba RENEWAL
Johnson F NestleCanadaElwin Sharvill UNQUALIFIED
Izzy X SlusarskiFranceElwin Sharvill NEGOTIATION
Izzy G RutaAustraliaAmy Elsner NEGOTIATION
Kaitlin Z PerinArgentinaAnna Fali PROPOSAL
Leon V IturbideRussiaElwin Sharvill UNQUALIFIED
Deepesh H RulapaughSpainStephen Shaw UNQUALIFIED
Mujtaba L MaletFranceBernardo Dominic PROPOSAL
Kaitlin G SlusarskiAustraliaXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin M GlickGermany2024-05-29Rousseaux, Michael Esq QUALIFIED43Ioni Bowcher
1001Octavia Z BowleyFrance2024-06-16Feiner Bros PROPOSAL77Ivan Magalhaes
1002Rodrigues V PaprockiUnited Kingdom2024-06-11Chemel, James L Cpa NEW60Onyama Limba
1003Cody B RimUnited Kingdom2024-05-31Buckley Miller Wright RENEWAL81Xuxue Feng
1004Izzy K BriddickBrazil2024-05-24Benton, John B Jr NEGOTIATION7Stephen Shaw
1005James D TollnerCanada2024-06-17Rousseaux, Michael Esq NEW45Stephen Shaw
1006Morrow H StockhamRussia2024-06-20Chapman, Ross E Esq PROPOSAL37Ioni Bowcher
1007Munro Y DarakjyFrance2024-06-09Benton, John B Jr UNQUALIFIED52Stephen Shaw
1008Julie I RulapaughRussia2024-05-26Morlong Associates RENEWAL86Ivan Magalhaes
1009Adams V InouyeJapan2024-05-28Morlong Associates UNQUALIFIED3Anna Fali
1010Cody J PerinUnited Kingdom2024-06-13Dorl, James J Esq PROPOSAL9Xuxue Feng
1011Aruna X GarufiFrance2024-06-10Truhlar And Truhlar Attys RENEWAL94Onyama Limba
1012Mayumi R CaudyUnited Kingdom2024-05-28Morlong Associates PROPOSAL47Ioni Bowcher
1013Smith G FigeroaArgentina2024-06-20Morlong Associates NEGOTIATION70Onyama Limba
1014David F OldroydItaly2024-05-31Dorl, James J Esq UNQUALIFIED78Elwin Sharvill
1015Adams N SlusarskiAustralia2024-05-29Feltz Printing Service NEW25Ivan Magalhaes
1016Misaki F RutaGermany2024-06-11Truhlar And Truhlar Attys NEGOTIATION57Bernardo Dominic
1017Julie J RutaIndia2024-06-06Chanay, Jeffrey A Esq QUALIFIED38Bernardo Dominic
1018Aruna L CampainBrazil2024-06-03Commercial Press UNQUALIFIED37Ioni Bowcher
1019Mujtaba L FigeroaGermany2024-06-04Buckley Miller Wright RENEWAL81Ioni Bowcher
1020Isabel C AlbaresBrazil2024-06-16Chanay, Jeffrey A Esq NEW87Ioni Bowcher
1021Wickens F FigeroaBrazil2024-05-25Chemel, James L Cpa RENEWAL49Onyama Limba
1022Rodrigues K FlosiAustralia2024-06-17Truhlar And Truhlar Attys PROPOSAL31Xuxue Feng
1023Chavez E ShinkoArgentina2024-06-12Benton, John B Jr NEGOTIATION97Xuxue Feng
1024Munro J GauchoFrance2024-06-04Dorl, James J Esq RENEWAL97Anna Fali
1025Aika Z MarrierFrance2024-06-22Rousseaux, Michael Esq RENEWAL93Asiya Javayant
1026Jones Q SergiBrazil2024-05-29Chemel, James L Cpa PROPOSAL13Asiya Javayant
1027Kaitlin S VocelkaRussia2024-06-05Rangoni Of Florence UNQUALIFIED17Bernardo Dominic
1028Costa V FlosiBrazil2024-06-09Dorl, James J Esq PROPOSAL7Ivan Magalhaes
1029Francesco L GauchoGermany2024-06-14Buckley Miller Wright QUALIFIED59Bernardo Dominic
1030Rodrigues P AmigonJapan2024-05-25Morlong Associates RENEWAL18Ivan Magalhaes
1031Aditya C SaylorsJapan2024-06-16Commercial Press NEGOTIATION96Ioni Bowcher
1032Ashley H PaprockiAustralia2024-06-04Truhlar And Truhlar Attys UNQUALIFIED36Asiya Javayant
1033Cody Y ButtArgentina2024-05-24Truhlar And Truhlar Attys NEGOTIATION37Onyama Limba
1034Mayumi L TollnerFrance2024-06-16Chapman, Ross E Esq QUALIFIED86Ioni Bowcher
1035Alejandro P SlusarskiJapan2024-06-19Chemel, James L Cpa NEGOTIATION33Stephen Shaw
1036Maisha C GarufiFrance2024-06-03King, Christopher A Esq NEGOTIATION88Xuxue Feng
1037Greenwood M SergiBrazil2024-06-17Buckley Miller Wright NEGOTIATION40Bernardo Dominic
1038Tony Q WhobreyUnited Kingdom2024-06-08Chapman, Ross E Esq PROPOSAL0Ioni Bowcher
1039Juan O MorascaAustralia2024-05-25Dorl, James J Esq NEGOTIATION21Asiya Javayant
1040Leon V ShinkoRussia2024-06-09Rangoni Of Florence NEGOTIATION21Elwin Sharvill
1041Murillo U MacleadFrance2024-06-20Chemel, James L Cpa PROPOSAL32Xuxue Feng
1042Smith A RimCanada2024-06-05Chanay, Jeffrey A Esq NEGOTIATION75Ivan Magalhaes
1043Cody T InouyeRussia2024-05-27Dorl, James J Esq UNQUALIFIED96Elwin Sharvill
1044Mayumi S MarrierFrance2024-06-09Printing Dimensions QUALIFIED3Stephen Shaw
1045Darci B IturbideBrazil2024-06-02Benton, John B Jr RENEWAL42Asiya Javayant
1046Ivar L SlusarskiCanada2024-05-25Rousseaux, Michael Esq RENEWAL52Elwin Sharvill
1047Mayumi V RoysterFrance2024-06-22Feiner Bros NEW88Ivan Magalhaes
1048Isabel K WhobreyGermany2024-06-04Truhlar And Truhlar Attys PROPOSAL6Ioni Bowcher
1049David H BowleyUnited Kingdom2024-06-19Dorl, James J Esq PROPOSAL28Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Costa F ChuiRussiaAsiya Javayant UNQUALIFIED
Clifford G NickaUnited KingdomAsiya Javayant QUALIFIED
Jefferson M GlickIndiaOnyama Limba PROPOSAL
Isabel C GauchoGermanyAnna Fali PROPOSAL
Aditya N OldroydIndiaElwin Sharvill NEGOTIATION
Juan S CampainGermanyIoni Bowcher NEW
Faith V FerenczCanadaIvan Magalhaes RENEWAL
Ricardo G MaletCanadaIoni Bowcher NEGOTIATION
Ricardo M FlosiIndiaElwin Sharvill UNQUALIFIED
James I RoysterGermanyAmy Elsner NEGOTIATION
Stacey D KolmetzIndiaOnyama Limba NEGOTIATION
Octavia Z SlusarskiArgentinaAmy Elsner RENEWAL
Alejandro U FollerArgentinaStephen Shaw PROPOSAL
Johnson A VenereAustraliaIoni Bowcher QUALIFIED
Deepesh N IturbideRussiaBernardo Dominic RENEWAL
Kaitlin J KolmetzCanadaElwin Sharvill PROPOSAL
Munro X PaprockiArgentinaIoni Bowcher RENEWAL
Francesco S PoquetteArgentinaAsiya Javayant NEW
Nicolas N WhobreyCanadaAmy Elsner PROPOSAL
Izzy Y OstroskyIndiaBernardo Dominic NEW
Salvatore I SaylorsItalyIvan Magalhaes NEGOTIATION
Antonio T DoeCanadaStephen Shaw NEGOTIATION
Deepesh F BriddickFranceXuxue Feng RENEWAL
Jeanfrancois Z IturbideJapanAsiya Javayant NEW
Chavez R AmigonAustraliaAsiya Javayant NEGOTIATION
Leja O DilliardBrazilIvan Magalhaes UNQUALIFIED
Aruna H FlosiUnited KingdomBernardo Dominic UNQUALIFIED
Claire K SaylorsJapanIvan Magalhaes UNQUALIFIED
Cody O GarufiIndiaStephen Shaw NEW
Maisha B MacleadFranceStephen Shaw QUALIFIED
Juan S BowleyItalyOnyama Limba UNQUALIFIED
Greenwood N ShinkoRussiaElwin Sharvill NEW
Morrow M RoysterRussiaBernardo Dominic RENEWAL
Maisha D VocelkaSpainIvan Magalhaes QUALIFIED
Aika B DilliardRussiaXuxue Feng RENEWAL
Julie G SaylorsCanadaElwin Sharvill NEW
Leon N TollnerSpainIvan Magalhaes PROPOSAL
Ricardo M GarufiFranceBernardo Dominic NEW
Tony L GauchoUnited KingdomAnna Fali QUALIFIED
Jeanfrancois J WhobreyAustraliaIoni Bowcher UNQUALIFIED
Juan N SchemmerArgentinaElwin Sharvill UNQUALIFIED
Mujtaba I KuskoFranceBernardo Dominic RENEWAL
Deepesh D OstroskySpainAsiya Javayant QUALIFIED
Ivar H PoquetteJapanIvan Magalhaes QUALIFIED
Octavia S SlusarskiArgentinaAmy Elsner RENEWAL
Adams Z ChuiRussiaElwin Sharvill RENEWAL
Ricardo E DilliardIndiaBernardo Dominic RENEWAL
Julie P PoquetteBrazilBernardo Dominic NEGOTIATION
Nicolas S BowleyRussiaIoni Bowcher QUALIFIED
Kaitlin U FlosiGermanyStephen Shaw PROPOSAL
Frozen Columns
Name
James L Chui
Ricardo W Foller
Arvin F Sergi
Costa Y Rim
Johnson A Royster
Cody W Malet
Morrow H Malet
Ivar Z Nestle
Octavia J Campain
Costa V Royster
Jennifer B Butt
Leja A Albares
Misaki P Waycott
Alejandro L Shinko
Nicolas D Stenseth
Nicolas X Nestle
Nicolas K Albares
Aruna E Nestle
Wickens P Ferencz
Juan F Maclead
Kaitlin O Malet
Greenwood X Glick
Cody Z Nestle
James J Ruta
Kadeem P Inouye
Octavia K Morasca
Greenwood J Sergi
Adams R Dilliard
Morrow A Flosi
Cody G Saylors
Greenwood Z Briddick
Misaki N Darakjy
Kadeem W Malet
Jeanfrancois N Perin
Silvio E Kusko
Misaki D Oldroyd
Adams K Kusko
Jeanfrancois V Malet
Jeanfrancois U Rim
Deepesh B Nestle
Arvin U Maclead
Morrow S Glick
Greenwood Y Campain
Jeanfrancois R Dilliard
Adams H Chui
James O Nestle
Octavia Y Albares
Francesco E Doe
Alejandro N Tollner
Izzy P Schemmer
IdCountryDate
1000United Kingdom2024-06-01
1001Spain2024-06-15
1002Australia2024-06-17
1003France2024-06-19
1004Italy2024-06-11
1005France2024-06-14
1006France2024-06-15
1007Australia2024-05-29
1008Australia2024-05-27
1009Australia2024-06-22
1010United Kingdom2024-06-04
1011France2024-06-03
1012Italy2024-06-16
1013India2024-06-04
1014Italy2024-06-07
1015Canada2024-06-21
1016Italy2024-06-01
1017India2024-06-19
1018Spain2024-05-24
1019France2024-06-06
1020Canada2024-06-02
1021United Kingdom2024-06-21
1022United Kingdom2024-06-09
1023Spain2024-06-03
1024Italy2024-06-15
1025Brazil2024-05-24
1026France2024-06-06
1027Japan2024-06-10
1028Australia2024-05-24
1029Canada2024-05-29
1030Germany2024-05-24
1031Italy2024-06-06
1032United Kingdom2024-06-15
1033Canada2024-06-20
1034Australia2024-05-24
1035Japan2024-06-22
1036Russia2024-05-28
1037Germany2024-05-25
1038Spain2024-06-10
1039Germany2024-06-18
1040United Kingdom2024-06-19
1041Germany2024-06-19
1042India2024-06-04
1043Russia2024-05-30
1044Italy2024-06-15
1045United Kingdom2024-06-08
1046Germany2024-06-18
1047Canada2024-06-01
1048Canada2024-06-17
1049Canada2024-06-18

On-Demand Data

NameIdCountryDate
Claire J Perin1000France2024-06-12
Morrow I Bowley1001France2024-06-05
Arvin I Flosi1002Russia2024-05-30
Jennifer T Sergi1003Canada2024-06-06
Ricardo U Stenseth1004Brazil2024-05-30
Aditya Z Darakjy1005Canada2024-06-07
Maisha R Doe1006Italy2024-06-06
Silvio I Wieser1007India2024-05-27
Jennifer Y Stockham1008Brazil2024-05-29
Maria E Foller1009Australia2024-05-24
Isabel V Nicka1010Argentina2024-06-19
Octavia L Chui1011Italy2024-06-07
Jennifer N Stenseth1012Germany2024-06-11
Juan S Sergi1013Japan2024-05-27
Leon R Maclead1014Japan2024-06-02
Stacey N Ostrosky1015Argentina2024-06-13
Ashley D Amigon1016Brazil2024-05-28
Leon O Schemmer1017Japan2024-06-15
Jones S Albares1018India2024-06-01
Emily W Butt1019Brazil2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio Q MorascaCanadaOnyama Limba PROPOSAL
Leon N ButtCanadaOnyama Limba QUALIFIED
Ivar O NestleAustraliaXuxue Feng UNQUALIFIED
Arvin P DarakjyIndiaAnna Fali QUALIFIED
Silvio G SchemmerIndiaIoni Bowcher UNQUALIFIED
Salvatore R StensethJapanIoni Bowcher NEW
Munro F FlosiItalyXuxue Feng PROPOSAL
Wickens N DoeSpainAnna Fali UNQUALIFIED
Nicolas A GillianIndiaBernardo Dominic NEW
Adams V FlosiFranceIoni Bowcher RENEWAL
Claire M KolmetzCanadaIvan Magalhaes NEW
Rodrigues P KolmetzIndiaIvan Magalhaes UNQUALIFIED
Deepesh T CampainGermanyBernardo Dominic PROPOSAL
Nicolas X PerinAustraliaBernardo Dominic PROPOSAL
Izzy I IturbideFranceXuxue Feng PROPOSAL
Murillo J AmigonArgentinaAnna Fali NEW
Antonio N NickaSpainIoni Bowcher RENEWAL
Ashley T SchemmerFranceStephen Shaw PROPOSAL
Nicolas A MacleadBrazilAmy Elsner UNQUALIFIED
Isabel Q FigeroaBrazilAsiya Javayant UNQUALIFIED
Cody W MaletRussiaOnyama Limba UNQUALIFIED
Francesco Q VocelkaIndiaAmy Elsner PROPOSAL
Morrow K NestleFranceAnna Fali QUALIFIED
Ricardo Z MarrierRussiaIvan Magalhaes UNQUALIFIED
Jefferson F GillianItalyIvan Magalhaes NEGOTIATION
Ashley G GauchoArgentinaAsiya Javayant QUALIFIED
Aika D MarrierAustraliaXuxue Feng NEW
David O WaycottIndiaXuxue Feng UNQUALIFIED
Nicolas X FerenczFranceXuxue Feng NEW
Mayumi C KuskoItalyAsiya Javayant UNQUALIFIED
Emily D RimIndiaAnna Fali RENEWAL
Jennifer Y ChuiGermanyStephen Shaw QUALIFIED
Arvin Q GlickIndiaAmy Elsner NEGOTIATION
Jefferson G CaudyIndiaIoni Bowcher NEGOTIATION
Ivar H SchemmerGermanyBernardo Dominic RENEWAL
Emily N BowleyArgentinaAnna Fali PROPOSAL
Arvin Z WieserFranceAnna Fali RENEWAL
Jefferson M PaprockiCanadaOnyama Limba QUALIFIED
Costa J RutaGermanyAnna Fali NEW
Smith N PoquetteUnited KingdomIvan Magalhaes 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>