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
David K OstroskyCanadaOnyama Limba PROPOSAL
Darci R MacleadItalyElwin Sharvill PROPOSAL
Ivar Y OstroskyIndiaIvan Magalhaes UNQUALIFIED
Jennifer H AmigonCanadaStephen Shaw RENEWAL
Nicolas R MarrierRussiaAsiya Javayant UNQUALIFIED
Sinclair Q RutaRussiaElwin Sharvill NEW
Leon S WhobreyGermanyAnna Fali NEW
Mayumi H ShinkoAustraliaAnna Fali QUALIFIED
Ashley T ChuiSpainAsiya Javayant QUALIFIED
Mayumi R RoysterRussiaAmy Elsner UNQUALIFIED
Murillo P FerenczCanadaAsiya Javayant RENEWAL
Mujtaba F DilliardUnited KingdomElwin Sharvill RENEWAL
Ashley G KuskoCanadaIvan Magalhaes QUALIFIED
Johnson F FerenczItalyBernardo Dominic UNQUALIFIED
Julie V InouyeItalyAmy Elsner PROPOSAL
Jennifer S BologniaArgentinaElwin Sharvill UNQUALIFIED
Faith O GillianUnited KingdomElwin Sharvill RENEWAL
Antonio T InouyeIndiaAmy Elsner RENEWAL
Johnson J MaletUnited KingdomIvan Magalhaes NEW
Aditya O AlbaresRussiaAnna Fali NEGOTIATION
Maria J TollnerAustraliaIvan Magalhaes RENEWAL
Johnson H GillianUnited KingdomOnyama Limba NEGOTIATION
Jones Y SaylorsAustraliaIvan Magalhaes UNQUALIFIED
Arvin V NickaJapanOnyama Limba QUALIFIED
Costa L WieserJapanAmy Elsner PROPOSAL
Jeanfrancois O WhobreyIndiaXuxue Feng QUALIFIED
Silvio O SergiAustraliaIvan Magalhaes PROPOSAL
Leon I NestleIndiaAmy Elsner NEGOTIATION
Ricardo N PoquetteSpainIoni Bowcher QUALIFIED
Aruna Q DoeBrazilOnyama Limba QUALIFIED
Faith P StockhamArgentinaElwin Sharvill QUALIFIED
Jennifer F CaudyRussiaIoni Bowcher NEGOTIATION
Mujtaba W GillianAustraliaOnyama Limba NEW
Munro C VocelkaAustraliaBernardo Dominic QUALIFIED
Wickens R CaudyArgentinaAsiya Javayant UNQUALIFIED
Francesco X IturbideFranceAmy Elsner NEW
Johnson S TollnerUnited KingdomAnna Fali QUALIFIED
Leon Q GillianRussiaBernardo Dominic PROPOSAL
Chavez S InouyeArgentinaIoni Bowcher RENEWAL
Jeanfrancois E StensethJapanIvan Magalhaes NEGOTIATION
Deepesh H SergiArgentinaBernardo Dominic UNQUALIFIED
Rodrigues J SchemmerAustraliaIvan Magalhaes PROPOSAL
Maria G CampainCanadaIvan Magalhaes NEW
Arvin O BowleyFranceElwin Sharvill RENEWAL
Cody S MorascaBrazilXuxue Feng PROPOSAL
Maisha I RimJapanOnyama Limba NEW
Darci R SchemmerArgentinaOnyama Limba PROPOSAL
Morrow H OstroskySpainXuxue Feng QUALIFIED
Leja G KolmetzUnited KingdomXuxue Feng PROPOSAL
Adams V BriddickBrazilXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Adams A NickaFranceOnyama Limba UNQUALIFIED
David Q GillianFranceBernardo Dominic UNQUALIFIED
Munro J CampainAustraliaAmy Elsner QUALIFIED
Francesco H RulapaughCanadaOnyama Limba NEGOTIATION
Sinclair M WhobreyFranceOnyama Limba UNQUALIFIED
Ashley O AmigonUnited KingdomIoni Bowcher UNQUALIFIED
Juan T DoeSpainAnna Fali QUALIFIED
Isabel S AlbaresFranceAsiya Javayant NEW
Tony L CaldareraFranceBernardo Dominic NEGOTIATION
Greenwood G SergiCanadaAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro V DilliardJapan2025-04-26Printing Dimensions RENEWAL99Ivan Magalhaes
1001Isabel B BriddickRussia2025-04-15Benton, John B Jr NEGOTIATION40Stephen Shaw
1002Chavez R RutaFrance2025-04-13Benton, John B Jr RENEWAL92Ivan Magalhaes
1003Julie X DarakjyAustralia2025-04-13Commercial Press PROPOSAL8Xuxue Feng
1004Greenwood H BologniaJapan2025-04-20Buckley Miller Wright UNQUALIFIED11Xuxue Feng
1005Jones V PaprockiAustralia2025-04-04Truhlar And Truhlar Attys PROPOSAL78Stephen Shaw
1006Silvio R StensethRussia2025-04-17Chapman, Ross E Esq RENEWAL46Anna Fali
1007Jones C NestleItaly2025-04-23Rangoni Of Florence NEW91Xuxue Feng
1008Misaki Y MarrierGermany2025-04-24Chanay, Jeffrey A Esq RENEWAL5Amy Elsner
1009Morrow R MaletCanada2025-04-24Rousseaux, Michael Esq NEW95Ioni Bowcher
1010Alejandro S BriddickFrance2025-04-25Feiner Bros RENEWAL86Bernardo Dominic
1011Ashley H OldroydFrance2025-04-17Chanay, Jeffrey A Esq QUALIFIED85Amy Elsner
1012Wickens Y CampainFrance2025-04-10King, Christopher A Esq PROPOSAL55Bernardo Dominic
1013Octavia F BriddickSpain2025-04-04Rousseaux, Michael Esq QUALIFIED82Asiya Javayant
1014Greenwood K MarrierAustralia2025-04-20Dorl, James J Esq QUALIFIED12Anna Fali
1015Ashley L GillianBrazil2025-04-30Printing Dimensions NEW16Anna Fali
1016Ricardo D FollerJapan2025-04-24Rangoni Of Florence PROPOSAL74Anna Fali
1017Adams O MaletFrance2025-04-16Commercial Press PROPOSAL67Onyama Limba
1018Misaki X GauchoJapan2025-04-26Chanay, Jeffrey A Esq NEGOTIATION28Xuxue Feng
1019Claire A AmigonRussia2025-04-28Benton, John B Jr NEGOTIATION25Ioni Bowcher
1020Isabel B BriddickArgentina2025-04-22Chemel, James L Cpa PROPOSAL26Xuxue Feng
1021Arvin J ChuiGermany2025-04-05Truhlar And Truhlar Attys UNQUALIFIED88Stephen Shaw
1022Aruna I BriddickFrance2025-04-05Chanay, Jeffrey A Esq PROPOSAL50Amy Elsner
1023Jones N SchemmerItaly2025-04-10Chemel, James L Cpa QUALIFIED84Amy Elsner
1024Leon T WaycottGermany2025-04-14Dorl, James J Esq RENEWAL52Ioni Bowcher
1025Claire X DarakjyBrazil2025-04-05Truhlar And Truhlar Attys NEW32Asiya Javayant
1026Morrow N GillianRussia2025-04-27King, Christopher A Esq RENEWAL4Xuxue Feng
1027Faith Z VenereSpain2025-04-25Rousseaux, Michael Esq QUALIFIED66Ioni Bowcher
1028Sinclair H SergiCanada2025-04-05Buckley Miller Wright RENEWAL81Ivan Magalhaes
1029Leja L AlbaresCanada2025-04-20Feltz Printing Service PROPOSAL61Onyama Limba
1030Jefferson K RoysterFrance2025-04-09Chapman, Ross E Esq RENEWAL68Elwin Sharvill
1031Rodrigues U WhobreyRussia2025-04-06Chemel, James L Cpa NEW76Anna Fali
1032Kadeem T PoquetteUnited Kingdom2025-04-13Benton, John B Jr NEGOTIATION75Amy Elsner
1033James S KolmetzJapan2025-04-12Dorl, James J Esq NEW78Xuxue Feng
1034Ashley D ButtRussia2025-04-17Printing Dimensions PROPOSAL55Elwin Sharvill
1035Deepesh Q SchemmerArgentina2025-04-16King, Christopher A Esq QUALIFIED48Elwin Sharvill
1036Emily D ShinkoIndia2025-04-08Truhlar And Truhlar Attys PROPOSAL62Ioni Bowcher
1037James S BowleyRussia2025-04-28King, Christopher A Esq QUALIFIED22Amy Elsner
1038Izzy R WaycottAustralia2025-04-10Rousseaux, Michael Esq PROPOSAL2Stephen Shaw
1039James P FollerGermany2025-04-17Chapman, Ross E Esq UNQUALIFIED14Amy Elsner
1040Jefferson E DoeUnited Kingdom2025-04-06King, Christopher A Esq UNQUALIFIED23Ioni Bowcher
1041Sinclair H RutaAustralia2025-04-01Benton, John B Jr RENEWAL7Ioni Bowcher
1042Clifford W RutaCanada2025-04-21Rousseaux, Michael Esq NEGOTIATION44Stephen Shaw
1043Morrow W StockhamSpain2025-04-09Feiner Bros NEGOTIATION17Stephen Shaw
1044Antonio U DilliardFrance2025-04-26Morlong Associates NEGOTIATION68Asiya Javayant
1045Ashley R DilliardIndia2025-04-08Morlong Associates NEW38Bernardo Dominic
1046Jones W OstroskyGermany2025-04-16Printing Dimensions QUALIFIED83Stephen Shaw
1047Ashley W AmigonGermany2025-04-13Truhlar And Truhlar Attys PROPOSAL98Elwin Sharvill
1048Morrow X BriddickBrazil2025-04-12Benton, John B Jr NEGOTIATION42Bernardo Dominic
1049Ivar W FigeroaArgentina2025-04-02Chemel, James L Cpa RENEWAL44Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Mayumi R MaletSpainAsiya Javayant NEW
Darci Y WhobreyFranceIvan Magalhaes QUALIFIED
Izzy I CaudyIndiaOnyama Limba UNQUALIFIED
Ashley K FerenczUnited KingdomOnyama Limba UNQUALIFIED
Munro H RimItalyAsiya Javayant QUALIFIED
James O CampainAustraliaElwin Sharvill NEW
Arvin X StockhamUnited KingdomIvan Magalhaes NEW
Munro H TollnerBrazilIvan Magalhaes PROPOSAL
Sinclair J FollerGermanyBernardo Dominic NEGOTIATION
Juan K TollnerUnited KingdomAmy Elsner RENEWAL
Deepesh I OldroydItalyAsiya Javayant RENEWAL
Johnson T PoquetteJapanStephen Shaw NEGOTIATION
Emily J RoysterArgentinaAnna Fali NEW
Ricardo E GarufiAustraliaAsiya Javayant UNQUALIFIED
Adams I NickaItalyIoni Bowcher QUALIFIED
Murillo N DoeCanadaStephen Shaw RENEWAL
Ricardo J SaylorsUnited KingdomElwin Sharvill RENEWAL
Ivar O NickaArgentinaAsiya Javayant RENEWAL
Jennifer S FerenczFranceIvan Magalhaes QUALIFIED
Chavez Y OldroydRussiaAsiya Javayant NEW
Murillo I CampainItalyXuxue Feng RENEWAL
Kaitlin I MaletArgentinaAnna Fali UNQUALIFIED
Sinclair F SaylorsItalyXuxue Feng PROPOSAL
Murillo F WieserItalyElwin Sharvill PROPOSAL
Murillo J PoquetteUnited KingdomElwin Sharvill NEGOTIATION
Jennifer F AlbaresJapanElwin Sharvill UNQUALIFIED
Ricardo A WhobreyItalyXuxue Feng UNQUALIFIED
Juan V PoquetteCanadaIvan Magalhaes RENEWAL
Jones N WaycottCanadaAsiya Javayant PROPOSAL
Leon S FerenczUnited KingdomXuxue Feng NEW
Juan D DoeCanadaIoni Bowcher QUALIFIED
Izzy V RulapaughArgentinaStephen Shaw UNQUALIFIED
Kaitlin U VenereBrazilXuxue Feng NEW
Arvin F BowleySpainAmy Elsner PROPOSAL
Mayumi E WieserIndiaElwin Sharvill NEGOTIATION
Alejandro E StockhamBrazilXuxue Feng PROPOSAL
Emily K FlosiCanadaAsiya Javayant UNQUALIFIED
Morrow A NestleArgentinaIoni Bowcher UNQUALIFIED
Morrow Z BriddickFranceAsiya Javayant RENEWAL
Isabel K CampainGermanyOnyama Limba NEW
Salvatore P CampainJapanAmy Elsner NEW
Aruna I IturbideIndiaStephen Shaw NEW
James S AlbaresSpainStephen Shaw NEGOTIATION
Ricardo X BowleyAustraliaOnyama Limba NEW
Aruna Q VocelkaArgentinaIoni Bowcher QUALIFIED
Nicolas T GauchoJapanXuxue Feng NEGOTIATION
Maria M SergiIndiaElwin Sharvill RENEWAL
Jennifer V FlosiCanadaStephen Shaw UNQUALIFIED
Octavia A RoysterGermanyAnna Fali RENEWAL
Murillo N WieserUnited KingdomAmy Elsner NEW
Frozen Columns
Name
Rodrigues E Shinko
Chavez K Sergi
Murillo N Amigon
Jefferson R Glick
Isabel B Waycott
Morrow D Paprocki
Ricardo H Kolmetz
Mayumi C Venere
Cody Q Figeroa
Salvatore F Flosi
Juan D Wieser
Alejandro H Briddick
Francesco X Caldarera
Arvin H Slusarski
Ricardo H Oldroyd
Alejandro K Oldroyd
Jeanfrancois A Marrier
Rodrigues O Inouye
Greenwood X Kolmetz
Deepesh G Gillian
Ricardo Q Royster
Octavia R Gillian
Ivar N Vocelka
Cody S Nicka
Costa E Sergi
Jefferson D Bolognia
Francesco O Figeroa
Greenwood K Sergi
Izzy J Shinko
Misaki W Albares
Aruna S Dilliard
Antonio B Saylors
Maria E Slusarski
Tony J Briddick
Aditya R Oldroyd
Jeanfrancois S Royster
Ricardo J Maclead
Jefferson O Slusarski
Leon B Chui
Greenwood V Morasca
Murillo O Caudy
Clifford V Malet
Jeanfrancois J Venere
Kaitlin P Perin
Stacey I Ferencz
Cody D Garufi
Nicolas N Bowley
Wickens P Amigon
Deepesh Y Ruta
Aruna M Stenseth
IdCountryDate
1000Japan2025-04-13
1001Japan2025-04-23
1002Spain2025-04-30
1003Russia2025-04-07
1004Brazil2025-04-16
1005Germany2025-04-17
1006Italy2025-04-03
1007Argentina2025-04-25
1008Russia2025-04-16
1009Germany2025-04-27
1010Italy2025-04-12
1011Argentina2025-04-27
1012Canada2025-04-15
1013Brazil2025-04-05
1014Spain2025-04-15
1015Italy2025-04-01
1016Australia2025-04-05
1017Spain2025-04-14
1018United Kingdom2025-04-23
1019United Kingdom2025-04-17
1020Australia2025-04-04
1021India2025-04-23
1022Germany2025-04-13
1023Brazil2025-04-11
1024Australia2025-04-30
1025Germany2025-04-26
1026Italy2025-04-28
1027Canada2025-04-20
1028Australia2025-04-20
1029Russia2025-04-09
1030France2025-04-29
1031Italy2025-04-27
1032Japan2025-04-09
1033Russia2025-04-22
1034India2025-04-22
1035Russia2025-04-18
1036Canada2025-04-30
1037Italy2025-04-26
1038France2025-04-28
1039France2025-04-01
1040Australia2025-04-26
1041Japan2025-04-14
1042Spain2025-04-02
1043Spain2025-04-14
1044Canada2025-04-13
1045Germany2025-04-04
1046India2025-04-01
1047Australia2025-04-11
1048France2025-04-02
1049Brazil2025-04-21

On-Demand Data

NameIdCountryDate
Munro I Bolognia1000Germany2025-04-03
Mayumi Y Bowley1001Canada2025-04-19
Ricardo V Bolognia1002Spain2025-04-11
Chavez O Kolmetz1003India2025-04-14
Costa U Briddick1004Italy2025-04-26
Maria J Briddick1005Brazil2025-04-02
Aika I Caldarera1006Argentina2025-04-19
Maisha X Dilliard1007Canada2025-04-13
Salvatore S Nicka1008Canada2025-04-27
Mujtaba D Rim1009India2025-04-06
Munro Q Venere1010Canada2025-04-15
Antonio W Inouye1011Germany2025-04-25
Mayumi A Vocelka1012Japan2025-04-22
Faith D Figeroa1013Australia2025-04-05
Jeanfrancois Y Ruta1014Canada2025-04-18
Cody R Marrier1015India2025-04-08
Morrow T Ruta1016Brazil2025-04-08
Costa U Doe1017Italy2025-04-16
Claire V Schemmer1018Germany2025-04-06
Arvin S Chui1019Italy2025-04-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James J ChuiArgentinaIvan Magalhaes PROPOSAL
Maisha W MorascaUnited KingdomOnyama Limba PROPOSAL
James O NestleGermanyElwin Sharvill UNQUALIFIED
Murillo I WieserCanadaIoni Bowcher NEGOTIATION
Johnson B NickaItalyIoni Bowcher NEGOTIATION
Isabel I FerenczArgentinaIvan Magalhaes NEGOTIATION
Chavez Z InouyeSpainStephen Shaw PROPOSAL
Francesco X StensethArgentinaIoni Bowcher PROPOSAL
Wickens O GauchoGermanyAsiya Javayant UNQUALIFIED
Jefferson A FerenczCanadaBernardo Dominic NEW
Jefferson C NickaIndiaIoni Bowcher QUALIFIED
Jones B SchemmerBrazilBernardo Dominic RENEWAL
Silvio O MaletBrazilIoni Bowcher UNQUALIFIED
Jones U KolmetzArgentinaStephen Shaw NEW
Tony W InouyeGermanyStephen Shaw NEGOTIATION
Isabel P AlbaresIndiaAsiya Javayant PROPOSAL
Costa X MacleadBrazilIvan Magalhaes PROPOSAL
Claire V GauchoGermanyAmy Elsner NEW
Emily N BriddickBrazilAsiya Javayant QUALIFIED
Ricardo L SergiItalyBernardo Dominic NEGOTIATION
Costa E StockhamIndiaStephen Shaw UNQUALIFIED
Ashley T GillianGermanyAnna Fali PROPOSAL
Deepesh A RoysterSpainIoni Bowcher UNQUALIFIED
Chavez I TollnerCanadaStephen Shaw PROPOSAL
Nicolas T KuskoAustraliaOnyama Limba UNQUALIFIED
Sinclair L InouyeCanadaXuxue Feng UNQUALIFIED
Izzy F SaylorsFranceAsiya Javayant NEGOTIATION
Tony F BologniaFranceIvan Magalhaes QUALIFIED
Ricardo U GauchoAustraliaOnyama Limba QUALIFIED
Isabel U StockhamUnited KingdomAnna Fali UNQUALIFIED
Sinclair D SlusarskiGermanyIvan Magalhaes QUALIFIED
Silvio P SergiArgentinaIvan Magalhaes RENEWAL
Aruna N BologniaFranceBernardo Dominic RENEWAL
David K MarrierBrazilIoni Bowcher RENEWAL
Antonio F PoquetteUnited KingdomIvan Magalhaes QUALIFIED
Ashley Z SchemmerIndiaStephen Shaw NEGOTIATION
Sinclair C WaycottUnited KingdomXuxue Feng UNQUALIFIED
Ashley E MacleadGermanyOnyama Limba UNQUALIFIED
James N WieserFranceIvan Magalhaes NEGOTIATION
Jefferson C AmigonIndiaBernardo Dominic QUALIFIED

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