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
Silvio V WaycottBrazilAmy Elsner UNQUALIFIED
Darci X ButtGermanyIvan Magalhaes PROPOSAL
Adams I ChuiItalyIvan Magalhaes PROPOSAL
Jennifer O WieserGermanyAsiya Javayant NEW
Clifford N ShinkoJapanXuxue Feng PROPOSAL
Rodrigues B CaldareraRussiaAsiya Javayant NEW
Greenwood C VenereItalyIvan Magalhaes UNQUALIFIED
Alejandro C OldroydItalyElwin Sharvill UNQUALIFIED
Kadeem K SaylorsGermanyAmy Elsner PROPOSAL
Maria F StensethGermanyIoni Bowcher UNQUALIFIED
Aruna S FigeroaUnited KingdomAsiya Javayant PROPOSAL
Mayumi M ChuiBrazilOnyama Limba NEGOTIATION
Jones B OstroskyCanadaIoni Bowcher RENEWAL
Murillo A BowleyJapanIvan Magalhaes PROPOSAL
Morrow C PaprockiIndiaStephen Shaw UNQUALIFIED
Leja B WieserJapanOnyama Limba UNQUALIFIED
Antonio L CaldareraIndiaBernardo Dominic NEW
Salvatore O DoeIndiaAmy Elsner NEW
Murillo Y ButtRussiaElwin Sharvill PROPOSAL
Jennifer X SergiSpainAsiya Javayant QUALIFIED
Wickens P PaprockiUnited KingdomBernardo Dominic QUALIFIED
Cody E MaletBrazilIvan Magalhaes QUALIFIED
Juan N FlosiItalyIoni Bowcher RENEWAL
Leja V SaylorsGermanyElwin Sharvill QUALIFIED
James W RoysterItalyOnyama Limba QUALIFIED
Deepesh Q RutaUnited KingdomIvan Magalhaes NEGOTIATION
Claire N RutaIndiaAmy Elsner NEGOTIATION
Alejandro W VocelkaSpainElwin Sharvill QUALIFIED
Smith G RoysterAustraliaAnna Fali UNQUALIFIED
Misaki E PerinIndiaXuxue Feng NEW
Aditya A GillianJapanElwin Sharvill RENEWAL
Ashley W FigeroaIndiaIoni Bowcher QUALIFIED
Sinclair A GauchoItalyAnna Fali NEGOTIATION
Jones W KuskoBrazilAmy Elsner NEW
Octavia Y SlusarskiRussiaElwin Sharvill NEW
Jennifer E OldroydAustraliaIvan Magalhaes NEGOTIATION
Morrow N AlbaresSpainAmy Elsner QUALIFIED
Claire K MorascaArgentinaIoni Bowcher UNQUALIFIED
Francesco A FollerJapanAsiya Javayant QUALIFIED
Aruna Q ChuiUnited KingdomOnyama Limba RENEWAL
Isabel V RulapaughSpainStephen Shaw NEGOTIATION
Sinclair H MacleadArgentinaStephen Shaw NEW
Emily A PerinJapanAnna Fali RENEWAL
Alejandro G GlickUnited KingdomBernardo Dominic QUALIFIED
Adams G CaudyFranceAmy Elsner QUALIFIED
Sinclair X WhobreyArgentinaIoni Bowcher QUALIFIED
Julie K MorascaArgentinaAmy Elsner NEW
Ricardo N TollnerSpainElwin Sharvill NEGOTIATION
Stacey G GillianItalyXuxue Feng NEW
Julie F ShinkoAustraliaBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Izzy J BologniaIndiaIvan Magalhaes QUALIFIED
Aika P GauchoUnited KingdomOnyama Limba UNQUALIFIED
Darci K IturbideArgentinaBernardo Dominic RENEWAL
Antonio N TollnerRussiaXuxue Feng NEGOTIATION
Leja I MarrierIndiaAnna Fali PROPOSAL
Cody Z FigeroaIndiaAmy Elsner RENEWAL
Juan I NestleUnited KingdomOnyama Limba RENEWAL
Greenwood L WhobreyCanadaAsiya Javayant UNQUALIFIED
Clifford T WhobreyIndiaAnna Fali NEGOTIATION
Murillo P GarufiAustraliaAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith J FlosiUnited Kingdom2024-05-21Chanay, Jeffrey A Esq QUALIFIED38Stephen Shaw
1001Deepesh G SaylorsSpain2024-05-18Commercial Press NEW17Elwin Sharvill
1002Mayumi E NestleUnited Kingdom2024-05-10Chapman, Ross E Esq UNQUALIFIED83Onyama Limba
1003Juan W GlickAustralia2024-05-30Buckley Miller Wright NEW69Asiya Javayant
1004Aditya Q OldroydRussia2024-05-12Benton, John B Jr NEW2Onyama Limba
1005Stacey T SergiSpain2024-05-28Printing Dimensions RENEWAL30Asiya Javayant
1006Francesco Y StockhamAustralia2024-05-14Chapman, Ross E Esq UNQUALIFIED96Elwin Sharvill
1007Octavia X MaletArgentina2024-05-06Chapman, Ross E Esq PROPOSAL92Stephen Shaw
1008Munro R BowleyBrazil2024-05-13Buckley Miller Wright PROPOSAL72Asiya Javayant
1009Costa N KolmetzAustralia2024-05-27Truhlar And Truhlar Attys RENEWAL31Elwin Sharvill
1010Maisha J SlusarskiFrance2024-05-13Morlong Associates PROPOSAL31Amy Elsner
1011Antonio U SaylorsArgentina2024-05-26Chemel, James L Cpa RENEWAL83Asiya Javayant
1012Aditya S PerinAustralia2024-05-27Dorl, James J Esq RENEWAL14Asiya Javayant
1013Aika W VenereArgentina2024-05-17King, Christopher A Esq PROPOSAL0Ioni Bowcher
1014Aditya A PaprockiSpain2024-05-23Dorl, James J Esq RENEWAL72Asiya Javayant
1015Maria U CaldareraSpain2024-05-29Benton, John B Jr PROPOSAL2Ioni Bowcher
1016Chavez P ButtArgentina2024-05-24Feltz Printing Service NEW52Asiya Javayant
1017Jennifer O PerinUnited Kingdom2024-05-15Chemel, James L Cpa NEW75Asiya Javayant
1018Silvio M TollnerSpain2024-05-06Truhlar And Truhlar Attys RENEWAL11Ivan Magalhaes
1019Ashley O DoeUnited Kingdom2024-05-22Buckley Miller Wright NEGOTIATION52Asiya Javayant
1020Stacey P MorascaJapan2024-05-10Chapman, Ross E Esq NEW47Elwin Sharvill
1021Nicolas K KuskoBrazil2024-05-31Truhlar And Truhlar Attys PROPOSAL22Stephen Shaw
1022Jennifer E BriddickArgentina2024-05-15Chemel, James L Cpa NEGOTIATION2Xuxue Feng
1023Kadeem K VocelkaSpain2024-05-20Chapman, Ross E Esq NEGOTIATION89Ioni Bowcher
1024Izzy Z DarakjyCanada2024-05-04Printing Dimensions UNQUALIFIED89Ivan Magalhaes
1025Morrow P BologniaUnited Kingdom2024-05-25Buckley Miller Wright NEGOTIATION59Onyama Limba
1026Sinclair K RutaAustralia2024-05-21Truhlar And Truhlar Attys NEGOTIATION96Amy Elsner
1027Jefferson P DarakjyRussia2024-05-28Chapman, Ross E Esq UNQUALIFIED81Stephen Shaw
1028Johnson Y CampainJapan2024-05-11Feltz Printing Service RENEWAL32Onyama Limba
1029Ivar G SergiBrazil2024-05-12Chapman, Ross E Esq PROPOSAL85Xuxue Feng
1030Alejandro K FlosiCanada2024-05-18Printing Dimensions PROPOSAL50Xuxue Feng
1031Alejandro S OstroskyArgentina2024-05-31Morlong Associates QUALIFIED43Asiya Javayant
1032Aruna P StockhamFrance2024-06-01Buckley Miller Wright NEGOTIATION69Amy Elsner
1033Francesco H SlusarskiItaly2024-05-27Truhlar And Truhlar Attys NEW29Bernardo Dominic
1034Deepesh E CaudyArgentina2024-05-20Chanay, Jeffrey A Esq NEGOTIATION5Elwin Sharvill
1035Aika A WieserItaly2024-05-05Truhlar And Truhlar Attys UNQUALIFIED28Ioni Bowcher
1036Mujtaba P TollnerAustralia2024-06-02Chapman, Ross E Esq QUALIFIED63Ivan Magalhaes
1037Mujtaba J OldroydUnited Kingdom2024-05-12Printing Dimensions NEGOTIATION10Anna Fali
1038Leja N MorascaItaly2024-05-12Dorl, James J Esq PROPOSAL38Ivan Magalhaes
1039Darci G KuskoBrazil2024-05-14Commercial Press QUALIFIED32Ioni Bowcher
1040Wickens Q BologniaUnited Kingdom2024-05-24Morlong Associates NEW83Anna Fali
1041Clifford P MarrierRussia2024-05-28Chanay, Jeffrey A Esq PROPOSAL79Elwin Sharvill
1042Wickens B IturbideBrazil2024-05-12Rangoni Of Florence NEGOTIATION41Onyama Limba
1043Johnson G KolmetzGermany2024-06-02Chanay, Jeffrey A Esq QUALIFIED80Onyama Limba
1044Octavia W MarrierUnited Kingdom2024-06-02Benton, John B Jr UNQUALIFIED37Stephen Shaw
1045Costa S MaletCanada2024-05-05Feiner Bros PROPOSAL4Ioni Bowcher
1046Jeanfrancois R DarakjyBrazil2024-05-05Dorl, James J Esq NEW61Stephen Shaw
1047Mujtaba D AmigonRussia2024-06-02Truhlar And Truhlar Attys QUALIFIED24Bernardo Dominic
1048Tony D FlosiIndia2024-05-12Dorl, James J Esq PROPOSAL74Amy Elsner
1049Rodrigues J VenereBrazil2024-05-24Truhlar And Truhlar Attys NEGOTIATION45Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Octavia R RutaSpainBernardo Dominic QUALIFIED
Izzy E DoeGermanyXuxue Feng UNQUALIFIED
Adams Y FollerSpainIoni Bowcher PROPOSAL
Deepesh J SaylorsUnited KingdomAmy Elsner UNQUALIFIED
Jennifer R NickaCanadaOnyama Limba NEW
Kaitlin Y RimAustraliaAnna Fali QUALIFIED
Jennifer P VocelkaCanadaIvan Magalhaes NEGOTIATION
Johnson W RoysterIndiaStephen Shaw RENEWAL
Izzy K CaldareraCanadaOnyama Limba RENEWAL
Faith N RulapaughFranceXuxue Feng NEGOTIATION
Smith A CaudySpainAmy Elsner NEGOTIATION
Francesco T OstroskyItalyStephen Shaw QUALIFIED
Arvin X VocelkaArgentinaBernardo Dominic PROPOSAL
Jones W KuskoItalyXuxue Feng PROPOSAL
Murillo G PerinGermanyAsiya Javayant PROPOSAL
Jones G PaprockiArgentinaElwin Sharvill RENEWAL
Johnson Z PaprockiRussiaOnyama Limba NEGOTIATION
Darci P PerinSpainAmy Elsner PROPOSAL
Alejandro Q MaletJapanAnna Fali UNQUALIFIED
Kaitlin V PoquetteBrazilElwin Sharvill UNQUALIFIED
Juan T BriddickRussiaXuxue Feng NEGOTIATION
Alejandro L MarrierCanadaXuxue Feng QUALIFIED
Mayumi U MaletJapanAnna Fali PROPOSAL
Leja T ShinkoSpainAnna Fali PROPOSAL
Stacey W CaldareraUnited KingdomStephen Shaw PROPOSAL
Morrow W MorascaBrazilIvan Magalhaes RENEWAL
Francesco A PaprockiUnited KingdomBernardo Dominic UNQUALIFIED
Juan L AlbaresCanadaBernardo Dominic QUALIFIED
Tony D RimCanadaElwin Sharvill UNQUALIFIED
Antonio G SchemmerBrazilIvan Magalhaes NEW
David O OldroydArgentinaIoni Bowcher RENEWAL
Kadeem G RoysterCanadaIoni Bowcher NEGOTIATION
Francesco J DoeAustraliaStephen Shaw RENEWAL
Jennifer Y RutaAustraliaOnyama Limba QUALIFIED
Cody Y FerenczUnited KingdomXuxue Feng RENEWAL
Jefferson K MaletFranceIvan Magalhaes NEW
Mujtaba Y NickaJapanIoni Bowcher UNQUALIFIED
Jones C CaldareraSpainBernardo Dominic RENEWAL
Deepesh K KuskoIndiaIoni Bowcher UNQUALIFIED
Aika J SlusarskiUnited KingdomAsiya Javayant NEGOTIATION
Kadeem Q MaletCanadaAnna Fali PROPOSAL
Smith Q WaycottBrazilOnyama Limba PROPOSAL
Jennifer X RutaIndiaIoni Bowcher UNQUALIFIED
Salvatore G DoeItalyStephen Shaw UNQUALIFIED
Leon Q GillianIndiaStephen Shaw NEW
Johnson G MorascaGermanyXuxue Feng QUALIFIED
David U GillianFranceAsiya Javayant UNQUALIFIED
Adams I GlickUnited KingdomXuxue Feng NEW
Jones O FollerArgentinaAsiya Javayant NEW
Leja U GlickSpainElwin Sharvill RENEWAL
Frozen Columns
Name
Emily L Bolognia
Ricardo G Wieser
Aditya F Tollner
Maisha B Ruta
Murillo Z Royster
Ricardo X Stenseth
Faith S Chui
Johnson F Nestle
Maisha X Whobrey
Smith H Butt
Juan D Stockham
Chavez X Poquette
Tony U Venere
Tony U Gaucho
Johnson D Ostrosky
Ricardo F Bowley
Rodrigues R Stockham
Costa X Rim
Nicolas K Kolmetz
Mujtaba I Caldarera
Wickens L Figeroa
Murillo S Marrier
Ricardo W Gaucho
Kadeem L Ferencz
Salvatore J Saylors
Sinclair A Kusko
Tony Q Poquette
Izzy X Nicka
Jones D Bowley
Rodrigues G Inouye
Julie M Amigon
Greenwood E Albares
Aruna F Gaucho
Isabel L Darakjy
Silvio W Kusko
Faith B Slusarski
Ivar J Paprocki
Clifford A Nicka
Ashley Y Slusarski
Maria U Marrier
Kadeem S Royster
Cody N Ferencz
Ricardo L Ostrosky
Jeanfrancois O Caldarera
Salvatore B Rim
Costa E Chui
Smith Q Inouye
Antonio K Iturbide
Salvatore U Malet
Tony H Amigon
IdCountryDate
1000United Kingdom2024-05-20
1001Australia2024-05-22
1002United Kingdom2024-05-13
1003Russia2024-05-21
1004Argentina2024-05-24
1005Canada2024-05-16
1006Germany2024-05-09
1007Argentina2024-05-29
1008Canada2024-05-08
1009Argentina2024-05-13
1010Argentina2024-05-17
1011Argentina2024-05-27
1012Germany2024-05-31
1013Spain2024-05-26
1014India2024-06-02
1015United Kingdom2024-06-02
1016Brazil2024-05-19
1017United Kingdom2024-06-01
1018France2024-05-23
1019Germany2024-06-01
1020Japan2024-05-20
1021Argentina2024-05-28
1022Australia2024-05-08
1023France2024-05-25
1024France2024-05-13
1025Brazil2024-05-15
1026Argentina2024-05-30
1027Italy2024-05-31
1028France2024-05-07
1029Italy2024-05-25
1030Argentina2024-05-15
1031United Kingdom2024-05-11
1032India2024-05-30
1033Italy2024-06-01
1034France2024-05-15
1035Russia2024-06-02
1036Australia2024-05-22
1037Italy2024-05-29
1038Italy2024-05-16
1039Spain2024-05-17
1040India2024-05-19
1041Spain2024-05-16
1042Canada2024-05-09
1043Canada2024-05-30
1044Russia2024-05-31
1045Argentina2024-05-05
1046United Kingdom2024-05-07
1047Italy2024-05-26
1048Spain2024-05-20
1049Germany2024-06-02

On-Demand Data

NameIdCountryDate
Maisha F Wieser1000Brazil2024-05-05
Kaitlin I Nestle1001India2024-05-29
Wickens E Nestle1002Japan2024-05-19
Morrow M Malet1003India2024-05-05
Smith C Wieser1004Germany2024-05-08
Aika P Kolmetz1005Germany2024-05-29
James L Stockham1006France2024-06-02
Wickens T Dilliard1007United Kingdom2024-05-20
Misaki C Butt1008India2024-05-04
Morrow W Stenseth1009Japan2024-05-20
Maria A Paprocki1010Japan2024-05-22
Francesco M Nestle1011France2024-05-14
Morrow L Doe1012Australia2024-05-13
Sinclair H Saylors1013Argentina2024-05-21
Stacey C Amigon1014India2024-05-20
Faith E Stenseth1015France2024-05-31
Leja J Caudy1016Spain2024-05-20
Ricardo W Kolmetz1017India2024-05-21
Kaitlin Q Bolognia1018Germany2024-05-30
Sinclair C Morasca1019Argentina2024-05-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez E BowleySpainAmy Elsner UNQUALIFIED
Murillo X AmigonAustraliaXuxue Feng RENEWAL
Ivar A MaletFranceAsiya Javayant RENEWAL
Aika K SaylorsAustraliaXuxue Feng NEW
James B RoysterIndiaElwin Sharvill UNQUALIFIED
Adams J DilliardArgentinaBernardo Dominic NEGOTIATION
Julie D GauchoIndiaXuxue Feng QUALIFIED
Arvin K ShinkoUnited KingdomIvan Magalhaes UNQUALIFIED
Alejandro C CaldareraAustraliaAnna Fali QUALIFIED
Faith V WieserRussiaAmy Elsner QUALIFIED
Clifford C MacleadBrazilIoni Bowcher PROPOSAL
Misaki O StockhamSpainElwin Sharvill PROPOSAL
Arvin O SchemmerItalyIoni Bowcher QUALIFIED
Mayumi Z WhobreySpainIvan Magalhaes NEGOTIATION
Arvin V BologniaRussiaAnna Fali RENEWAL
Cody E PoquetteFranceAmy Elsner UNQUALIFIED
Faith T KuskoArgentinaXuxue Feng RENEWAL
Aika W KolmetzFranceAmy Elsner RENEWAL
Mujtaba J MarrierCanadaAsiya Javayant RENEWAL
Aditya N SaylorsBrazilAnna Fali NEW
Jefferson R RoysterItalyAsiya Javayant RENEWAL
Morrow A ButtSpainAnna Fali NEW
Antonio T SchemmerRussiaOnyama Limba NEGOTIATION
Mayumi R RulapaughSpainElwin Sharvill NEGOTIATION
Munro Y VocelkaAustraliaXuxue Feng RENEWAL
Costa K PerinFranceIoni Bowcher UNQUALIFIED
Emily F CaudyBrazilStephen Shaw NEGOTIATION
Chavez C SlusarskiBrazilElwin Sharvill QUALIFIED
Julie Y CaldareraUnited KingdomElwin Sharvill UNQUALIFIED
Aika O KolmetzUnited KingdomIoni Bowcher UNQUALIFIED
James G CaudyFranceOnyama Limba QUALIFIED
Rodrigues V VocelkaUnited KingdomBernardo Dominic UNQUALIFIED
Salvatore S GlickUnited KingdomElwin Sharvill UNQUALIFIED
Rodrigues B StensethUnited KingdomOnyama Limba NEW
Juan M DilliardArgentinaAsiya Javayant PROPOSAL
Tony G ButtBrazilIoni Bowcher NEW
David Y PaprockiJapanElwin Sharvill NEGOTIATION
Emily Y OldroydGermanyStephen Shaw QUALIFIED
Murillo H WaycottGermanyElwin Sharvill NEGOTIATION
Johnson J RutaSpainStephen Shaw PROPOSAL

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