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
Jennifer M MaletFranceAmy Elsner NEGOTIATION
Deepesh Y WhobreyIndiaIoni Bowcher NEW
Misaki A OstroskyAustraliaElwin Sharvill UNQUALIFIED
Julie B IturbideIndiaIoni Bowcher RENEWAL
Kaitlin L NickaCanadaIoni Bowcher NEGOTIATION
Greenwood X BologniaSpainAsiya Javayant PROPOSAL
Wickens S MorascaArgentinaElwin Sharvill NEGOTIATION
Jones B IturbideFranceAmy Elsner PROPOSAL
Kadeem E MorascaRussiaAnna Fali QUALIFIED
Izzy S DilliardUnited KingdomIvan Magalhaes RENEWAL
Misaki X IturbideArgentinaBernardo Dominic NEGOTIATION
Maisha S TollnerRussiaBernardo Dominic NEW
Clifford K DilliardBrazilAsiya Javayant NEGOTIATION
Faith S FerenczCanadaStephen Shaw PROPOSAL
Smith C BriddickUnited KingdomStephen Shaw QUALIFIED
Mayumi N WhobreyGermanyAmy Elsner NEGOTIATION
Mayumi M NestleGermanyAnna Fali NEW
Morrow N PoquetteIndiaStephen Shaw NEGOTIATION
Leon J InouyeUnited KingdomAsiya Javayant NEW
Deepesh Z WieserAustraliaBernardo Dominic UNQUALIFIED
Ivar E CampainItalyIoni Bowcher NEW
Aruna R FerenczItalyOnyama Limba NEGOTIATION
Antonio I GillianItalyXuxue Feng QUALIFIED
Mujtaba B MarrierIndiaBernardo Dominic QUALIFIED
Jefferson C RulapaughRussiaIvan Magalhaes QUALIFIED
Aditya X VocelkaJapanAnna Fali NEGOTIATION
Morrow N NestleJapanAmy Elsner PROPOSAL
Octavia D GauchoSpainIoni Bowcher RENEWAL
Darci P CaldareraGermanyXuxue Feng RENEWAL
Deepesh M RulapaughJapanXuxue Feng NEW
James X RutaItalyBernardo Dominic NEW
Greenwood R FerenczGermanyXuxue Feng NEW
Salvatore I PoquetteItalyAmy Elsner RENEWAL
Ricardo J RutaCanadaIvan Magalhaes PROPOSAL
Jefferson Y SergiIndiaXuxue Feng NEGOTIATION
Costa A MaletJapanIvan Magalhaes RENEWAL
Kaitlin U NestleRussiaElwin Sharvill PROPOSAL
Salvatore Y ShinkoItalyAsiya Javayant UNQUALIFIED
Johnson O GillianRussiaAmy Elsner UNQUALIFIED
Salvatore O MaletBrazilBernardo Dominic QUALIFIED
Rodrigues E ShinkoFranceAnna Fali RENEWAL
Julie V RulapaughRussiaStephen Shaw PROPOSAL
Leon V WieserArgentinaStephen Shaw QUALIFIED
Jefferson K PaprockiItalyXuxue Feng RENEWAL
Nicolas L NickaJapanOnyama Limba UNQUALIFIED
Maisha Y MaletUnited KingdomBernardo Dominic QUALIFIED
Kaitlin K OstroskyUnited KingdomAmy Elsner NEW
Aditya C AmigonUnited KingdomElwin Sharvill NEW
Wickens E MaletUnited KingdomXuxue Feng UNQUALIFIED
Antonio R WhobreySpainXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Munro G NickaFranceAsiya Javayant NEGOTIATION
Silvio T GlickBrazilIvan Magalhaes PROPOSAL
Costa C FlosiCanadaElwin Sharvill NEGOTIATION
Murillo Y MacleadRussiaElwin Sharvill QUALIFIED
Adams E ShinkoRussiaAmy Elsner NEW
Rodrigues M WaycottUnited KingdomIoni Bowcher RENEWAL
Ivar D KolmetzAustraliaAmy Elsner PROPOSAL
Alejandro H StensethCanadaAsiya Javayant QUALIFIED
Jeanfrancois A TollnerGermanyBernardo Dominic NEW
Jennifer U InouyeIndiaIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David O MaletItaly2024-06-09Buckley Miller Wright UNQUALIFIED53Bernardo Dominic
1001Darci J BologniaItaly2024-05-24Chanay, Jeffrey A Esq NEW10Onyama Limba
1002Izzy E DilliardAustralia2024-05-29Feiner Bros NEGOTIATION22Xuxue Feng
1003Stacey C VenereUnited Kingdom2024-06-03Feltz Printing Service RENEWAL2Anna Fali
1004Adams A BologniaCanada2024-05-31Chemel, James L Cpa NEW50Stephen Shaw
1005Kadeem D RulapaughBrazil2024-06-14Chanay, Jeffrey A Esq NEGOTIATION76Anna Fali
1006Jeanfrancois R VocelkaArgentina2024-06-04Commercial Press PROPOSAL23Xuxue Feng
1007Clifford A DoeSpain2024-05-23Chapman, Ross E Esq QUALIFIED94Onyama Limba
1008Rodrigues X MacleadBrazil2024-05-21Rousseaux, Michael Esq NEW79Amy Elsner
1009Greenwood F PoquetteJapan2024-06-12Feltz Printing Service NEGOTIATION92Anna Fali
1010Wickens E MaletArgentina2024-05-21Rousseaux, Michael Esq NEW28Anna Fali
1011Tony P WieserGermany2024-06-04Benton, John B Jr RENEWAL9Bernardo Dominic
1012Sinclair A MorascaArgentina2024-05-26Chapman, Ross E Esq UNQUALIFIED51Xuxue Feng
1013Octavia B AlbaresBrazil2024-05-30Chanay, Jeffrey A Esq PROPOSAL59Elwin Sharvill
1014Costa Q SergiGermany2024-06-12Dorl, James J Esq PROPOSAL89Asiya Javayant
1015Rodrigues S MaletArgentina2024-06-09King, Christopher A Esq QUALIFIED45Anna Fali
1016Leja H SchemmerIndia2024-06-09Commercial Press PROPOSAL18Onyama Limba
1017Tony X StockhamSpain2024-05-16Rangoni Of Florence RENEWAL88Anna Fali
1018Emily Y DarakjyAustralia2024-05-17Chemel, James L Cpa RENEWAL25Elwin Sharvill
1019Aruna E DarakjyJapan2024-05-28Rousseaux, Michael Esq NEGOTIATION11Asiya Javayant
1020Ivar P KolmetzJapan2024-06-08Truhlar And Truhlar Attys QUALIFIED68Bernardo Dominic
1021Wickens S SaylorsArgentina2024-06-11Benton, John B Jr RENEWAL60Xuxue Feng
1022Maisha Z TollnerCanada2024-05-16Printing Dimensions PROPOSAL70Ioni Bowcher
1023Maisha D DarakjyJapan2024-05-31Benton, John B Jr NEGOTIATION80Ioni Bowcher
1024Nicolas B MorascaRussia2024-05-20Rousseaux, Michael Esq NEW25Amy Elsner
1025Faith X SaylorsRussia2024-06-03Feiner Bros RENEWAL47Stephen Shaw
1026Faith Q BologniaRussia2024-06-07Rousseaux, Michael Esq NEW80Stephen Shaw
1027Isabel H RoysterCanada2024-06-05Buckley Miller Wright PROPOSAL84Elwin Sharvill
1028Jennifer I SergiRussia2024-06-13Dorl, James J Esq UNQUALIFIED86Bernardo Dominic
1029Kaitlin M PoquetteIndia2024-05-26Chanay, Jeffrey A Esq PROPOSAL34Ivan Magalhaes
1030Alejandro R WhobreyCanada2024-05-20Feiner Bros NEW55Xuxue Feng
1031Silvio X WaycottArgentina2024-06-11King, Christopher A Esq NEW90Ivan Magalhaes
1032Morrow Q KuskoGermany2024-05-23Feltz Printing Service RENEWAL8Amy Elsner
1033Morrow J KuskoItaly2024-05-27Rangoni Of Florence NEW41Ivan Magalhaes
1034Aditya A WieserIndia2024-06-02Feiner Bros PROPOSAL59Asiya Javayant
1035Jones J WaycottJapan2024-06-10King, Christopher A Esq QUALIFIED70Asiya Javayant
1036Ricardo Z NestleArgentina2024-06-11Chapman, Ross E Esq PROPOSAL66Anna Fali
1037Francesco C SchemmerFrance2024-05-29Chanay, Jeffrey A Esq QUALIFIED54Ivan Magalhaes
1038Silvio E IturbideAustralia2024-06-13King, Christopher A Esq PROPOSAL84Anna Fali
1039Jennifer W NickaBrazil2024-05-31Rousseaux, Michael Esq PROPOSAL50Stephen Shaw
1040Aditya I NestleUnited Kingdom2024-06-09Rousseaux, Michael Esq UNQUALIFIED25Stephen Shaw
1041Julie B SaylorsFrance2024-05-31Feltz Printing Service PROPOSAL24Asiya Javayant
1042Isabel N GlickGermany2024-05-31King, Christopher A Esq NEGOTIATION46Xuxue Feng
1043Nicolas A OstroskyRussia2024-06-13Rousseaux, Michael Esq QUALIFIED72Stephen Shaw
1044Leon I OstroskyArgentina2024-06-08Commercial Press UNQUALIFIED50Asiya Javayant
1045Aditya O VocelkaJapan2024-06-10Printing Dimensions QUALIFIED52Elwin Sharvill
1046Jennifer H OstroskyAustralia2024-05-27Printing Dimensions PROPOSAL29Bernardo Dominic
1047Faith E GlickUnited Kingdom2024-05-24Buckley Miller Wright UNQUALIFIED63Stephen Shaw
1048Maria N ButtAustralia2024-05-31Truhlar And Truhlar Attys NEW27Anna Fali
1049Isabel D SergiJapan2024-05-21Chemel, James L Cpa RENEWAL5Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Antonio X SergiIndiaOnyama Limba QUALIFIED
Deepesh X MacleadGermanyOnyama Limba UNQUALIFIED
Jefferson H TollnerCanadaAnna Fali NEGOTIATION
Mayumi Z AmigonRussiaIoni Bowcher NEGOTIATION
Mujtaba T AlbaresCanadaAmy Elsner NEGOTIATION
Johnson B AmigonUnited KingdomOnyama Limba RENEWAL
Munro B RoysterSpainIoni Bowcher PROPOSAL
Misaki U RoysterBrazilAsiya Javayant UNQUALIFIED
David F SaylorsJapanIoni Bowcher UNQUALIFIED
Johnson P OstroskyRussiaIvan Magalhaes PROPOSAL
James Q WieserBrazilBernardo Dominic RENEWAL
Octavia S SchemmerSpainAmy Elsner RENEWAL
Emily C BriddickBrazilAmy Elsner NEGOTIATION
Francesco N PaprockiItalyAmy Elsner NEGOTIATION
Murillo E SaylorsBrazilIvan Magalhaes QUALIFIED
Stacey E ShinkoUnited KingdomAsiya Javayant NEW
Deepesh N GlickCanadaIvan Magalhaes NEGOTIATION
Jeanfrancois E FollerItalyOnyama Limba NEW
James A OstroskyBrazilIoni Bowcher PROPOSAL
Jeanfrancois V PaprockiAustraliaOnyama Limba NEGOTIATION
Mayumi P KuskoRussiaElwin Sharvill QUALIFIED
Julie C MaletArgentinaBernardo Dominic QUALIFIED
Sinclair L PaprockiGermanyAsiya Javayant NEW
Murillo W GillianUnited KingdomElwin Sharvill QUALIFIED
Arvin L FerenczFranceIoni Bowcher UNQUALIFIED
Rodrigues C NestleAustraliaAnna Fali QUALIFIED
Rodrigues E SlusarskiCanadaIvan Magalhaes RENEWAL
Munro O NestleRussiaIoni Bowcher NEGOTIATION
Silvio V StockhamJapanIoni Bowcher NEGOTIATION
Ivar Y PaprockiRussiaIoni Bowcher RENEWAL
Maisha T MaletAustraliaAnna Fali QUALIFIED
Smith G OldroydAustraliaAnna Fali QUALIFIED
Kaitlin X KolmetzIndiaAnna Fali RENEWAL
Cody D GauchoCanadaIvan Magalhaes QUALIFIED
Johnson H VenereArgentinaBernardo Dominic RENEWAL
Aditya P RimCanadaBernardo Dominic NEGOTIATION
Murillo G OstroskyBrazilXuxue Feng QUALIFIED
James C RulapaughAustraliaElwin Sharvill PROPOSAL
Greenwood Q PerinUnited KingdomAmy Elsner UNQUALIFIED
Ashley Z BowleyIndiaAsiya Javayant QUALIFIED
Murillo B SaylorsUnited KingdomIoni Bowcher UNQUALIFIED
Arvin I VenereSpainStephen Shaw UNQUALIFIED
Leja B RimArgentinaAnna Fali PROPOSAL
Nicolas E InouyeIndiaAsiya Javayant NEW
Johnson Y NickaSpainAnna Fali NEGOTIATION
Deepesh J VenereItalyXuxue Feng QUALIFIED
Costa N TollnerAustraliaOnyama Limba NEW
Aika T InouyeCanadaXuxue Feng NEGOTIATION
Antonio V MaletBrazilIoni Bowcher UNQUALIFIED
Adams Y StensethRussiaAmy Elsner PROPOSAL
Frozen Columns
Name
Kaitlin I Sergi
Julie U Stockham
Cody J Paprocki
Wickens L Rulapaugh
Aruna G Poquette
Salvatore H Poquette
Costa D Stenseth
Emily E Nicka
Morrow J Bowley
Munro E Perin
Izzy N Caldarera
Murillo E Tollner
Juan R Dilliard
Ricardo U Figeroa
Juan F Royster
Alejandro K Ferencz
Smith C Nestle
David T Foller
Greenwood K Schemmer
Jones A Tollner
Deepesh G Butt
James U Whobrey
Alejandro X Glick
Aditya N Foller
Murillo D Oldroyd
Claire W Stockham
Kaitlin H Stockham
Greenwood F Caldarera
Ivar R Paprocki
Sinclair I Malet
Maria Z Shinko
Kadeem T Whobrey
Ivar R Rim
Claire A Campain
Antonio S Malet
Juan S Gaucho
Chavez V Kolmetz
Ivar M Maclead
Francesco U Kusko
Alejandro M Waycott
Jennifer F Bolognia
Leon R Schemmer
Emily E Gillian
Darci S Tollner
Tony R Butt
Greenwood C Foller
Chavez U Chui
Stacey S Stockham
Salvatore E Perin
Ashley X Ostrosky
IdCountryDate
1000United Kingdom2024-06-06
1001Brazil2024-05-16
1002Argentina2024-06-11
1003Spain2024-05-21
1004Spain2024-05-21
1005Brazil2024-05-30
1006Brazil2024-05-21
1007Spain2024-06-09
1008Canada2024-05-27
1009Spain2024-06-13
1010India2024-05-16
1011Germany2024-05-18
1012Russia2024-05-27
1013Germany2024-06-14
1014Brazil2024-06-08
1015Australia2024-05-23
1016United Kingdom2024-05-30
1017Argentina2024-06-10
1018Russia2024-05-17
1019Spain2024-05-25
1020Brazil2024-05-21
1021Japan2024-06-14
1022Japan2024-06-07
1023Russia2024-06-02
1024United Kingdom2024-06-05
1025Germany2024-05-17
1026Italy2024-05-17
1027Spain2024-06-10
1028Spain2024-05-26
1029United Kingdom2024-05-17
1030Japan2024-05-18
1031United Kingdom2024-06-05
1032Brazil2024-05-23
1033Brazil2024-05-20
1034Japan2024-06-12
1035Russia2024-05-31
1036India2024-05-22
1037Japan2024-05-22
1038United Kingdom2024-05-22
1039Italy2024-05-30
1040Brazil2024-06-06
1041Russia2024-06-08
1042United Kingdom2024-06-08
1043India2024-05-30
1044Argentina2024-06-03
1045Australia2024-05-25
1046Canada2024-05-23
1047Germany2024-05-22
1048Canada2024-06-08
1049Germany2024-05-26

On-Demand Data

NameIdCountryDate
Ivar T Chui1000United Kingdom2024-06-04
Alejandro L Briddick1001France2024-05-17
Darci Q Campain1002Spain2024-06-13
Silvio W Inouye1003United Kingdom2024-06-08
Alejandro H Stockham1004Argentina2024-06-11
Juan S Garufi1005United Kingdom2024-06-10
Julie Y Malet1006Brazil2024-06-07
Cody X Caudy1007United Kingdom2024-06-08
Mayumi L Slusarski1008France2024-05-28
Salvatore W Kolmetz1009Australia2024-05-23
Greenwood X Garufi1010Russia2024-05-26
Leon H Bolognia1011Canada2024-06-06
Claire H Bowley1012Australia2024-06-05
James D Bowley1013Italy2024-05-27
Misaki I Paprocki1014United Kingdom2024-06-14
Isabel Q Rim1015Italy2024-05-27
Aditya L Schemmer1016India2024-05-20
Darci Y Chui1017Australia2024-05-16
Izzy T Stockham1018Italy2024-06-01
Darci J Ruta1019Italy2024-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon M AlbaresBrazilXuxue Feng UNQUALIFIED
Emily Y CaldareraRussiaXuxue Feng PROPOSAL
Rodrigues L StensethGermanyXuxue Feng PROPOSAL
Johnson I KolmetzAustraliaAnna Fali RENEWAL
Izzy R KuskoGermanyAnna Fali PROPOSAL
Stacey L WhobreyAustraliaElwin Sharvill QUALIFIED
Leon O FigeroaFranceIvan Magalhaes NEGOTIATION
Faith S KuskoUnited KingdomXuxue Feng UNQUALIFIED
Misaki T BriddickIndiaAnna Fali NEW
Octavia S FigeroaUnited KingdomAsiya Javayant PROPOSAL
Juan M BowleyItalyElwin Sharvill UNQUALIFIED
Izzy A SaylorsAustraliaBernardo Dominic NEW
Jeanfrancois Y IturbideFranceElwin Sharvill NEGOTIATION
Misaki U StockhamBrazilStephen Shaw PROPOSAL
Tony D StensethItalyOnyama Limba NEGOTIATION
Mayumi H ButtArgentinaStephen Shaw NEGOTIATION
Smith V KolmetzSpainIoni Bowcher UNQUALIFIED
Jefferson F CaudyBrazilAnna Fali QUALIFIED
Kadeem I InouyeRussiaAnna Fali RENEWAL
Jones J IturbideRussiaIoni Bowcher QUALIFIED
Aditya E SlusarskiUnited KingdomAsiya Javayant RENEWAL
Juan G MorascaBrazilAnna Fali UNQUALIFIED
James P ButtCanadaAsiya Javayant UNQUALIFIED
Adams P BriddickFranceIoni Bowcher PROPOSAL
Misaki J ButtIndiaXuxue Feng PROPOSAL
Wickens M WieserUnited KingdomAnna Fali QUALIFIED
Nicolas P DarakjyBrazilAmy Elsner PROPOSAL
Salvatore U StockhamItalyStephen Shaw NEGOTIATION
Izzy H CaldareraFranceStephen Shaw QUALIFIED
Kaitlin H RutaCanadaAnna Fali RENEWAL
Aruna U ButtFranceStephen Shaw PROPOSAL
Deepesh B WaycottCanadaElwin Sharvill NEGOTIATION
Sinclair Q RulapaughIndiaIvan Magalhaes NEW
Jefferson U CaudyJapanBernardo Dominic PROPOSAL
Darci J FlosiArgentinaElwin Sharvill NEGOTIATION
Jennifer G MacleadIndiaIvan Magalhaes QUALIFIED
Stacey R GarufiAustraliaAsiya Javayant NEGOTIATION
Isabel Y RulapaughItalyXuxue Feng NEW
Salvatore L ButtUnited KingdomAmy Elsner NEGOTIATION
Mujtaba V StensethGermanyStephen Shaw NEGOTIATION

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