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
Julie P GlickUnited KingdomStephen Shaw NEGOTIATION
David B WaycottAustraliaBernardo Dominic RENEWAL
Faith Y OstroskyFranceIoni Bowcher QUALIFIED
Clifford O GarufiGermanyOnyama Limba UNQUALIFIED
Jennifer Q WieserJapanIoni Bowcher NEW
Claire V CampainFranceElwin Sharvill NEGOTIATION
Deepesh H WhobreyCanadaOnyama Limba PROPOSAL
David N CaudyRussiaXuxue Feng UNQUALIFIED
Rodrigues F WhobreyFranceAmy Elsner UNQUALIFIED
Cody A NestleUnited KingdomOnyama Limba NEW
Tony P FlosiGermanyAnna Fali PROPOSAL
James F PaprockiCanadaIvan Magalhaes PROPOSAL
Johnson F VenereFranceIoni Bowcher PROPOSAL
Nicolas D SergiCanadaElwin Sharvill UNQUALIFIED
Kadeem Z RutaRussiaOnyama Limba QUALIFIED
Murillo O PoquetteCanadaElwin Sharvill UNQUALIFIED
Deepesh Y ButtCanadaAnna Fali QUALIFIED
Faith N GlickSpainXuxue Feng PROPOSAL
Ashley R SlusarskiBrazilBernardo Dominic PROPOSAL
Greenwood M MorascaArgentinaIvan Magalhaes PROPOSAL
Jeanfrancois D WieserCanadaStephen Shaw NEGOTIATION
Kadeem F RulapaughItalyIoni Bowcher NEW
Aika G FerenczSpainStephen Shaw NEGOTIATION
Aika X InouyeArgentinaAmy Elsner NEGOTIATION
Faith R GlickJapanAmy Elsner UNQUALIFIED
Morrow K CaudyCanadaAsiya Javayant NEGOTIATION
Costa D MacleadArgentinaXuxue Feng NEW
Kadeem C RulapaughBrazilIvan Magalhaes RENEWAL
Aika W StensethAustraliaIoni Bowcher PROPOSAL
Aika Q WhobreyRussiaAmy Elsner UNQUALIFIED
Misaki I GarufiJapanXuxue Feng NEGOTIATION
Jeanfrancois W StensethUnited KingdomElwin Sharvill QUALIFIED
Chavez G RoysterArgentinaStephen Shaw UNQUALIFIED
Julie Q MaletUnited KingdomIvan Magalhaes RENEWAL
Alejandro Y FerenczGermanyAsiya Javayant UNQUALIFIED
Salvatore P WhobreyArgentinaAnna Fali NEGOTIATION
Deepesh X CaldareraIndiaStephen Shaw QUALIFIED
Octavia Z DarakjyBrazilIoni Bowcher QUALIFIED
Cody S FigeroaIndiaBernardo Dominic RENEWAL
Arvin F PaprockiBrazilAmy Elsner PROPOSAL
Greenwood Q PoquetteItalyXuxue Feng RENEWAL
Leon M GauchoCanadaIoni Bowcher UNQUALIFIED
Alejandro Y VocelkaUnited KingdomBernardo Dominic NEGOTIATION
Ivar W AlbaresRussiaElwin Sharvill RENEWAL
Aditya X OstroskySpainAsiya Javayant NEGOTIATION
Izzy H SchemmerJapanAnna Fali NEW
Misaki N TollnerIndiaOnyama Limba NEW
Jennifer Q MacleadGermanyXuxue Feng NEW
Morrow X CampainJapanStephen Shaw NEW
Jennifer U SchemmerRussiaAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jones W DilliardArgentinaIoni Bowcher QUALIFIED
Aika T MaletItalyIoni Bowcher UNQUALIFIED
Wickens P BologniaSpainBernardo Dominic RENEWAL
Greenwood W ButtItalyBernardo Dominic RENEWAL
Sinclair T RimArgentinaOnyama Limba NEW
Maria R StockhamIndiaStephen Shaw UNQUALIFIED
Ivar D DilliardSpainBernardo Dominic UNQUALIFIED
Sinclair Q ShinkoUnited KingdomXuxue Feng UNQUALIFIED
Chavez K MaletUnited KingdomIoni Bowcher UNQUALIFIED
Costa U SergiCanadaXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois I KuskoAustralia2024-06-16Feiner Bros UNQUALIFIED35Stephen Shaw
1001Stacey K PaprockiArgentina2024-06-19Buckley Miller Wright RENEWAL39Xuxue Feng
1002Jeanfrancois B NestleUnited Kingdom2024-06-16Benton, John B Jr QUALIFIED62Elwin Sharvill
1003Sinclair N ChuiItaly2024-05-30Rangoni Of Florence RENEWAL12Elwin Sharvill
1004Ivar A DarakjyIndia2024-06-02Chapman, Ross E Esq PROPOSAL83Stephen Shaw
1005Adams K BowleyRussia2024-06-12Buckley Miller Wright NEGOTIATION1Amy Elsner
1006Claire H FigeroaCanada2024-06-08Chemel, James L Cpa UNQUALIFIED21Elwin Sharvill
1007Arvin R CaudyUnited Kingdom2024-06-13Chapman, Ross E Esq UNQUALIFIED93Asiya Javayant
1008Deepesh N InouyeArgentina2024-06-23Chapman, Ross E Esq RENEWAL92Xuxue Feng
1009Adams W FerenczCanada2024-05-28King, Christopher A Esq RENEWAL56Asiya Javayant
1010Aditya N WhobreyIndia2024-06-13Feiner Bros PROPOSAL23Stephen Shaw
1011Misaki O SergiItaly2024-05-28Truhlar And Truhlar Attys RENEWAL91Ivan Magalhaes
1012Morrow X SaylorsJapan2024-06-03Rangoni Of Florence RENEWAL6Anna Fali
1013Nicolas I PaprockiGermany2024-06-06Feltz Printing Service UNQUALIFIED70Onyama Limba
1014Morrow D SlusarskiGermany2024-05-29Rousseaux, Michael Esq QUALIFIED65Asiya Javayant
1015Ricardo L KolmetzUnited Kingdom2024-06-03Chemel, James L Cpa UNQUALIFIED88Stephen Shaw
1016Kaitlin T MacleadFrance2024-05-27Rousseaux, Michael Esq QUALIFIED67Onyama Limba
1017Jones K CampainArgentina2024-06-07Rousseaux, Michael Esq NEGOTIATION46Anna Fali
1018Julie H WieserAustralia2024-06-23Chanay, Jeffrey A Esq PROPOSAL26Xuxue Feng
1019Julie W RoysterJapan2024-05-26Dorl, James J Esq QUALIFIED63Bernardo Dominic
1020Chavez T KuskoUnited Kingdom2024-06-21Chapman, Ross E Esq QUALIFIED72Bernardo Dominic
1021Faith S StockhamIndia2024-05-27Chanay, Jeffrey A Esq NEW79Bernardo Dominic
1022Murillo T WieserJapan2024-06-12Commercial Press QUALIFIED90Stephen Shaw
1023Stacey W VocelkaFrance2024-06-14Buckley Miller Wright PROPOSAL78Ivan Magalhaes
1024Leja A AmigonFrance2024-06-24Benton, John B Jr RENEWAL20Anna Fali
1025Emily S FollerFrance2024-06-03Morlong Associates NEW79Amy Elsner
1026Clifford D DoeItaly2024-06-20Rousseaux, Michael Esq NEGOTIATION8Anna Fali
1027Jones B RimGermany2024-06-14Chapman, Ross E Esq NEGOTIATION20Ioni Bowcher
1028Izzy Q GillianAustralia2024-06-23Chemel, James L Cpa PROPOSAL9Anna Fali
1029Ashley U IturbideIndia2024-06-20Buckley Miller Wright UNQUALIFIED23Ivan Magalhaes
1030Julie R ShinkoArgentina2024-06-08Feltz Printing Service UNQUALIFIED23Asiya Javayant
1031Chavez R FlosiUnited Kingdom2024-06-22Morlong Associates RENEWAL56Elwin Sharvill
1032Octavia H CaudyItaly2024-06-03King, Christopher A Esq RENEWAL30Elwin Sharvill
1033Mujtaba M OstroskyUnited Kingdom2024-06-24Benton, John B Jr UNQUALIFIED31Elwin Sharvill
1034Silvio Y CampainArgentina2024-06-05Benton, John B Jr QUALIFIED94Anna Fali
1035Izzy Q RutaArgentina2024-06-01Dorl, James J Esq PROPOSAL14Amy Elsner
1036Juan R OstroskySpain2024-06-17Feiner Bros RENEWAL81Onyama Limba
1037Greenwood S FigeroaAustralia2024-06-01Chanay, Jeffrey A Esq NEW93Anna Fali
1038Faith C KolmetzUnited Kingdom2024-06-19Printing Dimensions QUALIFIED83Asiya Javayant
1039Antonio X TollnerCanada2024-05-26Chanay, Jeffrey A Esq UNQUALIFIED2Ioni Bowcher
1040Maisha V GarufiGermany2024-05-31Rangoni Of Florence UNQUALIFIED59Amy Elsner
1041Munro M StockhamUnited Kingdom2024-06-10Chanay, Jeffrey A Esq NEGOTIATION52Amy Elsner
1042Aika I WhobreyCanada2024-06-20Chemel, James L Cpa UNQUALIFIED98Bernardo Dominic
1043Julie N SchemmerFrance2024-06-16Chemel, James L Cpa NEW3Amy Elsner
1044Leon C DilliardAustralia2024-05-28Dorl, James J Esq NEW87Stephen Shaw
1045Faith Q RimSpain2024-06-07Chapman, Ross E Esq RENEWAL56Ioni Bowcher
1046Aika Z KolmetzIndia2024-06-20Printing Dimensions QUALIFIED15Amy Elsner
1047Kadeem L CampainAustralia2024-06-08Chemel, James L Cpa NEGOTIATION93Anna Fali
1048Faith A KolmetzFrance2024-06-13Printing Dimensions NEW14Ivan Magalhaes
1049Jeanfrancois H OstroskyGermany2024-05-31Dorl, James J Esq QUALIFIED58Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Ivar G CaudyUnited KingdomStephen Shaw NEW
Octavia Z StensethGermanyIvan Magalhaes RENEWAL
Chavez V VocelkaJapanIoni Bowcher UNQUALIFIED
Nicolas H StockhamCanadaStephen Shaw UNQUALIFIED
Darci I KuskoArgentinaBernardo Dominic UNQUALIFIED
Murillo A SaylorsSpainIvan Magalhaes PROPOSAL
Mayumi Y MaletArgentinaStephen Shaw QUALIFIED
Tony Y FlosiAustraliaAnna Fali NEGOTIATION
Chavez Y OldroydCanadaAmy Elsner PROPOSAL
Morrow M NickaBrazilAnna Fali QUALIFIED
Wickens G NickaSpainAmy Elsner QUALIFIED
Maria A MorascaJapanStephen Shaw NEGOTIATION
Sinclair G VenereIndiaAnna Fali NEGOTIATION
Kaitlin T RimJapanAsiya Javayant QUALIFIED
Costa Q GauchoItalyIoni Bowcher RENEWAL
Greenwood T CaudyCanadaIoni Bowcher UNQUALIFIED
Aika E ShinkoRussiaIoni Bowcher NEW
Maisha E DarakjyArgentinaIoni Bowcher PROPOSAL
Jennifer T OstroskyArgentinaIoni Bowcher PROPOSAL
Jeanfrancois A MaletCanadaXuxue Feng NEW
Octavia S KolmetzArgentinaBernardo Dominic NEGOTIATION
David C AmigonItalyXuxue Feng PROPOSAL
Francesco W AlbaresJapanIoni Bowcher PROPOSAL
Rodrigues V MaletCanadaAmy Elsner PROPOSAL
Silvio B GlickJapanAnna Fali PROPOSAL
Rodrigues L RimRussiaElwin Sharvill RENEWAL
Silvio H WieserGermanyAsiya Javayant QUALIFIED
Munro R MaletItalyAmy Elsner QUALIFIED
Costa K MacleadSpainOnyama Limba NEGOTIATION
Mujtaba Q BowleyBrazilAnna Fali QUALIFIED
Johnson K GillianAustraliaAmy Elsner NEGOTIATION
Ricardo S AmigonJapanAmy Elsner PROPOSAL
Cody B InouyeItalyAnna Fali PROPOSAL
Ivar D NickaGermanyAsiya Javayant PROPOSAL
Juan O VocelkaAustraliaXuxue Feng NEW
Johnson D WieserUnited KingdomAnna Fali PROPOSAL
Salvatore L DilliardUnited KingdomXuxue Feng QUALIFIED
Octavia N RimRussiaElwin Sharvill RENEWAL
Emily D CaldareraAustraliaXuxue Feng PROPOSAL
Salvatore G StockhamIndiaAnna Fali PROPOSAL
Mujtaba F RoysterSpainOnyama Limba NEW
Costa U PoquetteUnited KingdomIoni Bowcher PROPOSAL
David E DilliardCanadaAsiya Javayant UNQUALIFIED
Stacey L GarufiBrazilStephen Shaw PROPOSAL
Faith N WaycottJapanAnna Fali PROPOSAL
Juan W DarakjyAustraliaIvan Magalhaes PROPOSAL
Antonio A GauchoJapanXuxue Feng PROPOSAL
Aika Q SaylorsSpainIoni Bowcher QUALIFIED
Arvin Z CaudyCanadaAsiya Javayant QUALIFIED
Munro Q GauchoCanadaBernardo Dominic QUALIFIED
Frozen Columns
Name
Julie K Stockham
Cody B Foller
Chavez P Perin
Murillo J Wieser
Johnson F Malet
Faith J Perin
Ashley X Malet
Clifford M Tollner
Jeanfrancois B Perin
Cody Z Rulapaugh
Adams A Caldarera
Clifford P Whobrey
Darci S Butt
Stacey H Bolognia
Smith P Nicka
James V Sergi
Mayumi O Morasca
Silvio S Bowley
Tony X Rim
Ashley R Venere
Francesco H Ruta
Ricardo K Slusarski
Murillo H Marrier
Aditya I Marrier
Claire B Albares
Darci O Venere
Jennifer H Figeroa
Aditya Y Kolmetz
Leja P Campain
Faith Q Maclead
Misaki E Albares
Ivar P Nicka
Murillo X Briddick
Mayumi A Waycott
Maria S Oldroyd
Wickens W Campain
Jennifer Z Kolmetz
Johnson R Stockham
Emily R Whobrey
Silvio E Vocelka
Kaitlin W Albares
Ricardo U Waycott
Ricardo D Bolognia
Kaitlin H Amigon
Jones Z Gillian
Leon R Gaucho
Ashley V Poquette
Maria K Sergi
Aika E Sergi
Mayumi V Sergi
IdCountryDate
1000Italy2024-06-05
1001India2024-06-11
1002Brazil2024-06-17
1003Germany2024-06-16
1004India2024-05-29
1005United Kingdom2024-06-07
1006Brazil2024-06-05
1007Australia2024-06-08
1008Australia2024-06-23
1009France2024-06-07
1010Russia2024-06-13
1011Japan2024-06-02
1012Argentina2024-06-09
1013Italy2024-06-07
1014Argentina2024-06-18
1015Spain2024-06-13
1016Germany2024-06-06
1017United Kingdom2024-05-29
1018India2024-05-30
1019Italy2024-06-06
1020Brazil2024-06-21
1021Germany2024-06-14
1022Argentina2024-06-02
1023United Kingdom2024-06-05
1024Italy2024-05-30
1025Australia2024-06-08
1026India2024-05-27
1027Russia2024-06-13
1028United Kingdom2024-05-30
1029Argentina2024-06-20
1030Italy2024-06-18
1031Japan2024-06-08
1032United Kingdom2024-05-31
1033India2024-06-23
1034Italy2024-06-17
1035Argentina2024-05-28
1036Russia2024-06-09
1037Australia2024-05-28
1038Spain2024-06-12
1039Canada2024-06-01
1040Australia2024-05-29
1041France2024-06-04
1042Japan2024-06-11
1043Australia2024-06-21
1044Brazil2024-05-26
1045Brazil2024-06-14
1046Japan2024-06-16
1047Canada2024-06-09
1048Argentina2024-06-01
1049Japan2024-06-02

On-Demand Data

NameIdCountryDate
Nicolas P Oldroyd1000Brazil2024-06-22
Faith E Stockham1001Australia2024-06-04
Ashley M Rim1002India2024-06-22
Claire Y Amigon1003Italy2024-06-15
Wickens C Foller1004Germany2024-06-08
Darci Z Albares1005Australia2024-06-23
Silvio G Rim1006Russia2024-06-10
Deepesh X Darakjy1007Italy2024-06-03
Jefferson P Caldarera1008Argentina2024-06-23
Cody K Chui1009Russia2024-06-09
Jennifer A Bowley1010France2024-06-08
Leja A Briddick1011Spain2024-05-29
Adams Y Doe1012Germany2024-06-22
James E Maclead1013France2024-05-31
Juan L Caudy1014Japan2024-06-23
Jennifer I Ostrosky1015Italy2024-06-13
Munro B Nestle1016Germany2024-06-10
Faith A Schemmer1017Russia2024-06-11
Aika M Tollner1018Brazil2024-06-17
Octavia G Flosi1019Italy2024-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio I BologniaAustraliaIoni Bowcher NEGOTIATION
Maisha H FlosiCanadaAmy Elsner UNQUALIFIED
Stacey A MarrierBrazilIvan Magalhaes QUALIFIED
Aruna Y ChuiRussiaBernardo Dominic UNQUALIFIED
Salvatore K FlosiJapanIvan Magalhaes UNQUALIFIED
Jefferson N TollnerArgentinaXuxue Feng PROPOSAL
Salvatore X StensethJapanAnna Fali RENEWAL
Kadeem B StensethGermanyStephen Shaw UNQUALIFIED
Deepesh W VenereFranceAsiya Javayant NEW
Chavez R ShinkoSpainElwin Sharvill UNQUALIFIED
Izzy T CaudyCanadaStephen Shaw NEGOTIATION
Izzy X SchemmerFranceOnyama Limba UNQUALIFIED
Greenwood L SaylorsUnited KingdomAsiya Javayant QUALIFIED
Deepesh F GarufiBrazilAsiya Javayant QUALIFIED
Smith T NestleArgentinaAnna Fali UNQUALIFIED
Munro F FlosiRussiaStephen Shaw RENEWAL
Faith W GillianBrazilOnyama Limba QUALIFIED
Greenwood E ChuiItalyAmy Elsner PROPOSAL
Leon Y SchemmerFranceXuxue Feng NEGOTIATION
Smith G RutaBrazilAnna Fali RENEWAL
Sinclair N VocelkaIndiaAmy Elsner UNQUALIFIED
Juan V DarakjyCanadaAsiya Javayant NEW
Nicolas H DilliardAustraliaIoni Bowcher PROPOSAL
Kaitlin T BriddickSpainAsiya Javayant NEW
Smith D RulapaughUnited KingdomXuxue Feng RENEWAL
Darci X BowleyItalyElwin Sharvill UNQUALIFIED
Jones P PaprockiJapanAsiya Javayant UNQUALIFIED
Sinclair O FollerBrazilIoni Bowcher UNQUALIFIED
Cody A MacleadJapanAsiya Javayant NEGOTIATION
Clifford X OstroskyFranceXuxue Feng UNQUALIFIED
Emily J AlbaresCanadaXuxue Feng QUALIFIED
Munro Q FigeroaItalyAmy Elsner NEGOTIATION
Antonio H KolmetzFranceIoni Bowcher RENEWAL
Smith D CaldareraRussiaAsiya Javayant NEGOTIATION
Greenwood E GauchoFranceIoni Bowcher RENEWAL
Stacey K NickaCanadaIvan Magalhaes UNQUALIFIED
Ricardo X MorascaAustraliaBernardo Dominic PROPOSAL
Jones K WaycottBrazilAmy Elsner QUALIFIED
Ivar B RoysterBrazilIoni Bowcher QUALIFIED
Ashley M RutaGermanyIvan Magalhaes 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>