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
Alejandro Y CaudyJapanBernardo Dominic PROPOSAL
Chavez T NickaArgentinaAnna Fali RENEWAL
David O SchemmerFranceIoni Bowcher RENEWAL
Murillo G MaletIndiaStephen Shaw UNQUALIFIED
Claire J BologniaBrazilAsiya Javayant PROPOSAL
Darci V ButtCanadaBernardo Dominic NEW
Sinclair U KolmetzIndiaBernardo Dominic UNQUALIFIED
Jennifer D DilliardIndiaStephen Shaw PROPOSAL
Kadeem G GlickAustraliaAmy Elsner QUALIFIED
Darci S DarakjyFranceBernardo Dominic RENEWAL
Salvatore Y SchemmerIndiaXuxue Feng RENEWAL
Juan U CampainJapanAmy Elsner QUALIFIED
Salvatore C AlbaresBrazilElwin Sharvill NEGOTIATION
Faith M KuskoUnited KingdomElwin Sharvill NEGOTIATION
Adams W VocelkaGermanyIoni Bowcher NEGOTIATION
Costa W KuskoGermanyStephen Shaw NEW
Alejandro Y MaletArgentinaAsiya Javayant PROPOSAL
Rodrigues H KuskoRussiaIoni Bowcher QUALIFIED
Mujtaba S VocelkaSpainAnna Fali QUALIFIED
James C KuskoUnited KingdomAmy Elsner PROPOSAL
Clifford K DilliardFranceAsiya Javayant NEW
Maisha C FollerJapanIvan Magalhaes NEW
Ricardo X WaycottArgentinaIoni Bowcher QUALIFIED
Aruna E OstroskyAustraliaOnyama Limba RENEWAL
Clifford E OldroydIndiaIoni Bowcher NEW
Chavez K WhobreyFranceOnyama Limba NEW
Maisha L DarakjyItalyIoni Bowcher PROPOSAL
Aditya E SaylorsBrazilBernardo Dominic QUALIFIED
Jennifer Y CaldareraCanadaAmy Elsner PROPOSAL
Kaitlin S NestleRussiaAnna Fali NEGOTIATION
Smith V WaycottGermanyOnyama Limba NEGOTIATION
Smith K ShinkoItalyIvan Magalhaes PROPOSAL
Jefferson L OstroskyRussiaAsiya Javayant PROPOSAL
Deepesh W OldroydCanadaOnyama Limba UNQUALIFIED
Aika R FerenczArgentinaAnna Fali QUALIFIED
Octavia M FollerRussiaAmy Elsner NEGOTIATION
Ashley A CaldareraArgentinaAsiya Javayant QUALIFIED
Ashley S CaldareraIndiaElwin Sharvill PROPOSAL
Antonio L GlickFranceOnyama Limba QUALIFIED
David U MacleadRussiaStephen Shaw RENEWAL
Rodrigues X DarakjyUnited KingdomIoni Bowcher UNQUALIFIED
Ashley L InouyeFranceIoni Bowcher PROPOSAL
Jones Z GlickArgentinaAsiya Javayant RENEWAL
Darci H KolmetzSpainAsiya Javayant NEW
Wickens N StockhamUnited KingdomOnyama Limba PROPOSAL
Stacey V TollnerRussiaAnna Fali RENEWAL
Smith X ShinkoGermanyBernardo Dominic NEW
Tony A PoquetteIndiaXuxue Feng QUALIFIED
Wickens D BriddickIndiaXuxue Feng UNQUALIFIED
Sinclair Q GarufiCanadaAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Emily U OstroskyJapanAnna Fali UNQUALIFIED
Maisha K BriddickArgentinaIvan Magalhaes NEW
Greenwood S GarufiUnited KingdomElwin Sharvill QUALIFIED
Mujtaba L WieserSpainOnyama Limba RENEWAL
Silvio M NestleJapanAsiya Javayant QUALIFIED
Smith D OstroskyBrazilStephen Shaw UNQUALIFIED
Arvin S AmigonCanadaIoni Bowcher NEGOTIATION
Munro K AlbaresArgentinaAmy Elsner NEGOTIATION
Jennifer E InouyeArgentinaAnna Fali NEW
Adams P MorascaRussiaAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez I RutaGermany2024-06-21Commercial Press QUALIFIED57Stephen Shaw
1001Ricardo M OldroydCanada2024-05-26King, Christopher A Esq NEW0Ioni Bowcher
1002Morrow H OstroskyFrance2024-06-15Chemel, James L Cpa RENEWAL80Amy Elsner
1003Leja C KuskoUnited Kingdom2024-06-14Chemel, James L Cpa UNQUALIFIED18Asiya Javayant
1004Jennifer C AmigonUnited Kingdom2024-06-01Buckley Miller Wright NEW5Bernardo Dominic
1005Chavez L CaldareraItaly2024-06-18Feltz Printing Service PROPOSAL73Anna Fali
1006Jones C MarrierItaly2024-05-27Feiner Bros NEGOTIATION0Stephen Shaw
1007Isabel F KolmetzItaly2024-05-25Rangoni Of Florence QUALIFIED84Stephen Shaw
1008Claire N RimRussia2024-06-04Printing Dimensions QUALIFIED67Ioni Bowcher
1009Clifford X MarrierRussia2024-06-17Commercial Press RENEWAL77Ioni Bowcher
1010Jefferson E VocelkaUnited Kingdom2024-06-13Chapman, Ross E Esq RENEWAL64Ivan Magalhaes
1011Arvin F NickaGermany2024-06-06Chemel, James L Cpa UNQUALIFIED66Stephen Shaw
1012Aruna C StensethCanada2024-05-30Feiner Bros NEW44Asiya Javayant
1013Aruna U SergiArgentina2024-06-12Feltz Printing Service RENEWAL36Anna Fali
1014Darci B CaudyJapan2024-05-31Truhlar And Truhlar Attys RENEWAL17Anna Fali
1015Rodrigues H TollnerSpain2024-06-23King, Christopher A Esq UNQUALIFIED78Anna Fali
1016Aruna C MacleadBrazil2024-05-28Rangoni Of Florence RENEWAL52Elwin Sharvill
1017Murillo R VocelkaIndia2024-05-31Feiner Bros QUALIFIED2Onyama Limba
1018Alejandro S GlickJapan2024-05-26Rangoni Of Florence PROPOSAL54Stephen Shaw
1019Munro H FollerRussia2024-05-27Rangoni Of Florence QUALIFIED8Anna Fali
1020Isabel Y MorascaFrance2024-06-12Chapman, Ross E Esq NEW36Elwin Sharvill
1021Ashley I ButtItaly2024-06-18Truhlar And Truhlar Attys NEGOTIATION22Bernardo Dominic
1022Sinclair R StockhamFrance2024-06-06Feiner Bros NEW61Ioni Bowcher
1023Leon L RimJapan2024-06-18Commercial Press UNQUALIFIED5Stephen Shaw
1024Aika Z VenereAustralia2024-06-20Benton, John B Jr UNQUALIFIED64Asiya Javayant
1025Aruna L VocelkaItaly2024-06-02Rousseaux, Michael Esq NEW31Amy Elsner
1026Maisha X DarakjyArgentina2024-06-13Rousseaux, Michael Esq UNQUALIFIED78Elwin Sharvill
1027Sinclair E VenereJapan2024-05-31Chemel, James L Cpa UNQUALIFIED28Amy Elsner
1028Mujtaba K CaudyGermany2024-06-07Morlong Associates RENEWAL77Elwin Sharvill
1029Maria D ButtArgentina2024-06-19Printing Dimensions QUALIFIED79Ivan Magalhaes
1030Kadeem V GarufiSpain2024-05-27Dorl, James J Esq UNQUALIFIED22Bernardo Dominic
1031Murillo K StockhamItaly2024-06-06Morlong Associates PROPOSAL65Elwin Sharvill
1032Izzy U VenereItaly2024-05-26Dorl, James J Esq RENEWAL70Asiya Javayant
1033Adams Q FlosiGermany2024-05-31Rousseaux, Michael Esq UNQUALIFIED67Elwin Sharvill
1034Claire C WhobreyCanada2024-06-19Morlong Associates PROPOSAL22Onyama Limba
1035Alejandro O PerinArgentina2024-06-10Chemel, James L Cpa NEW46Anna Fali
1036Aruna Y CaldareraItaly2024-06-05Truhlar And Truhlar Attys NEW19Amy Elsner
1037Morrow S PaprockiSpain2024-06-14Feltz Printing Service QUALIFIED49Stephen Shaw
1038Murillo P SchemmerGermany2024-06-02Rousseaux, Michael Esq UNQUALIFIED63Anna Fali
1039Stacey M ShinkoFrance2024-06-18Chanay, Jeffrey A Esq NEW71Amy Elsner
1040Nicolas H AlbaresFrance2024-06-02Feiner Bros QUALIFIED73Amy Elsner
1041Leon J PerinRussia2024-06-05Benton, John B Jr UNQUALIFIED72Anna Fali
1042Aika J ButtBrazil2024-06-16Commercial Press NEW27Ivan Magalhaes
1043Faith S SlusarskiBrazil2024-06-15Chapman, Ross E Esq QUALIFIED56Ioni Bowcher
1044David C PaprockiRussia2024-06-16Chemel, James L Cpa PROPOSAL72Xuxue Feng
1045Rodrigues Y WieserUnited Kingdom2024-06-11Dorl, James J Esq RENEWAL16Anna Fali
1046Jefferson H InouyeFrance2024-05-27Rangoni Of Florence NEW42Asiya Javayant
1047Rodrigues H AmigonBrazil2024-05-30Rangoni Of Florence QUALIFIED64Stephen Shaw
1048Misaki T WhobreyUnited Kingdom2024-06-09Chapman, Ross E Esq QUALIFIED97Xuxue Feng
1049Darci Q PoquetteBrazil2024-06-03Feltz Printing Service UNQUALIFIED36Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin U MarrierItalyAmy Elsner NEW
Nicolas A ChuiJapanElwin Sharvill NEGOTIATION
Tony K DoeRussiaBernardo Dominic NEGOTIATION
Chavez Z SaylorsAustraliaAsiya Javayant RENEWAL
Claire D DarakjyGermanyIoni Bowcher NEGOTIATION
Adams X CaudyBrazilAnna Fali UNQUALIFIED
Jeanfrancois T FigeroaJapanIvan Magalhaes UNQUALIFIED
James H CaudyGermanyStephen Shaw PROPOSAL
Smith W DoeAustraliaXuxue Feng RENEWAL
Mayumi Z PerinCanadaOnyama Limba QUALIFIED
Ashley E VocelkaBrazilBernardo Dominic NEW
Misaki I PaprockiCanadaAmy Elsner UNQUALIFIED
David V FollerFranceBernardo Dominic QUALIFIED
Darci Z SchemmerAustraliaAnna Fali UNQUALIFIED
Wickens E GauchoBrazilBernardo Dominic QUALIFIED
Wickens U CaudyGermanyIoni Bowcher QUALIFIED
Ivar E WhobreyBrazilIoni Bowcher NEGOTIATION
Aruna D SlusarskiRussiaIvan Magalhaes NEGOTIATION
Misaki U NestleIndiaIoni Bowcher NEW
Octavia Z VocelkaCanadaAnna Fali NEGOTIATION
Emily K OstroskyJapanXuxue Feng PROPOSAL
David N GlickCanadaIoni Bowcher UNQUALIFIED
Morrow R FerenczSpainIoni Bowcher RENEWAL
Mayumi V SaylorsAustraliaBernardo Dominic RENEWAL
Greenwood F FlosiCanadaAsiya Javayant RENEWAL
Sinclair E FlosiRussiaAsiya Javayant PROPOSAL
Aika U FerenczArgentinaXuxue Feng PROPOSAL
Kaitlin J BriddickCanadaOnyama Limba NEW
Greenwood P RoysterAustraliaBernardo Dominic UNQUALIFIED
Jefferson O AlbaresBrazilIvan Magalhaes UNQUALIFIED
Smith A BriddickItalyOnyama Limba PROPOSAL
Aruna W ChuiRussiaElwin Sharvill NEGOTIATION
Jeanfrancois F ButtBrazilElwin Sharvill RENEWAL
David H ButtBrazilElwin Sharvill PROPOSAL
Chavez B FollerBrazilAnna Fali PROPOSAL
Aditya E DoeRussiaAnna Fali RENEWAL
Aditya Y GlickAustraliaElwin Sharvill RENEWAL
Maria R FerenczIndiaIoni Bowcher UNQUALIFIED
Rodrigues Y SergiSpainOnyama Limba UNQUALIFIED
Arvin F AmigonSpainIvan Magalhaes RENEWAL
Izzy A VocelkaUnited KingdomOnyama Limba PROPOSAL
Nicolas Z PaprockiFranceXuxue Feng NEGOTIATION
Salvatore P SaylorsBrazilAsiya Javayant QUALIFIED
Cody P SergiGermanyIoni Bowcher UNQUALIFIED
Silvio N MaletUnited KingdomIvan Magalhaes QUALIFIED
Isabel F WhobreyArgentinaIoni Bowcher QUALIFIED
Arvin N ShinkoJapanBernardo Dominic PROPOSAL
Izzy M GillianJapanAnna Fali QUALIFIED
Jennifer W WhobreyUnited KingdomIoni Bowcher UNQUALIFIED
Salvatore U StensethFranceElwin Sharvill RENEWAL
Frozen Columns
Name
Sinclair P Albares
Salvatore W Oldroyd
Kaitlin A Oldroyd
Kaitlin W Figeroa
Emily W Butt
Maisha N Iturbide
Jeanfrancois D Morasca
Morrow R Foller
Mujtaba D Ruta
Jefferson K Chui
Rodrigues Q Albares
Kaitlin S Slusarski
Jennifer J Garufi
Aditya W Nicka
Morrow C Paprocki
Maisha I Gaucho
Jeanfrancois Z Ruta
David V Oldroyd
Wickens T Maclead
Leja T Slusarski
Jones U Flosi
Costa H Malet
Costa H Nicka
Wickens N Albares
Nicolas I Caudy
Ivar C Garufi
Maria G Poquette
Jeanfrancois O Rim
Nicolas Z Paprocki
Costa F Foller
Kaitlin X Kusko
Munro Z Venere
Mayumi I Amigon
Nicolas C Rim
Ivar O Gaucho
Stacey M Inouye
Sinclair S Gillian
Tony Q Wieser
Silvio E Gaucho
Adams R Campain
Ricardo F Tollner
Munro I Figeroa
Julie B Kusko
Munro Y Nestle
Faith Y Slusarski
Cody A Foller
Maria B Nicka
Misaki Z Caldarera
Aika G Nicka
Izzy P Kusko
IdCountryDate
1000Brazil2024-05-25
1001Australia2024-06-20
1002India2024-06-05
1003France2024-06-18
1004United Kingdom2024-06-22
1005France2024-06-09
1006Australia2024-05-26
1007France2024-06-10
1008France2024-05-30
1009United Kingdom2024-06-07
1010Russia2024-06-11
1011United Kingdom2024-06-23
1012Australia2024-06-16
1013Brazil2024-06-22
1014Spain2024-06-05
1015Japan2024-06-02
1016Canada2024-06-14
1017Canada2024-06-22
1018France2024-06-23
1019Argentina2024-05-27
1020Italy2024-06-18
1021Brazil2024-05-28
1022Japan2024-05-30
1023Italy2024-06-20
1024Italy2024-06-09
1025Italy2024-05-29
1026Argentina2024-06-10
1027Italy2024-06-05
1028India2024-06-01
1029Argentina2024-06-12
1030Spain2024-06-16
1031United Kingdom2024-06-18
1032Spain2024-06-15
1033Italy2024-06-07
1034Germany2024-06-07
1035Japan2024-06-18
1036Italy2024-06-06
1037Canada2024-06-19
1038United Kingdom2024-06-16
1039Germany2024-06-12
1040Australia2024-06-02
1041Germany2024-06-13
1042Germany2024-06-05
1043United Kingdom2024-06-19
1044United Kingdom2024-06-06
1045Japan2024-06-16
1046United Kingdom2024-06-04
1047Australia2024-06-05
1048Brazil2024-06-07
1049India2024-05-26

On-Demand Data

NameIdCountryDate
Faith I Poquette1000Australia2024-05-28
Jones C Royster1001Australia2024-05-27
Octavia N Caldarera1002France2024-06-13
Izzy X Ostrosky1003Brazil2024-06-05
Maria F Malet1004Brazil2024-06-14
Claire N Darakjy1005Brazil2024-06-05
Murillo U Ferencz1006Italy2024-06-09
Jeanfrancois U Nicka1007Russia2024-06-23
Isabel V Butt1008Australia2024-06-21
Deepesh Z Schemmer1009Brazil2024-06-17
Jefferson N Sergi1010Canada2024-06-05
Deepesh U Briddick1011India2024-06-23
Jefferson A Malet1012Canada2024-06-13
Misaki X Ferencz1013Canada2024-06-07
Jefferson R Paprocki1014France2024-06-09
Juan S Wieser1015Japan2024-06-14
Johnson Q Flosi1016Argentina2024-05-30
Johnson J Malet1017Italy2024-06-03
Jeanfrancois Y Bolognia1018Australia2024-06-12
Greenwood T Tollner1019Brazil2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas C InouyeIndiaAmy Elsner QUALIFIED
Ivar A RoysterAustraliaXuxue Feng PROPOSAL
Isabel Z ButtBrazilIoni Bowcher QUALIFIED
Juan R PaprockiJapanAmy Elsner UNQUALIFIED
Faith J CaldareraUnited KingdomIoni Bowcher UNQUALIFIED
Ashley S CaldareraRussiaBernardo Dominic NEW
Ivar C RoysterRussiaAsiya Javayant QUALIFIED
Aika B StensethArgentinaBernardo Dominic QUALIFIED
Rodrigues R BriddickSpainIoni Bowcher RENEWAL
Maria U SaylorsUnited KingdomXuxue Feng QUALIFIED
Kaitlin G GillianBrazilOnyama Limba QUALIFIED
Jefferson L FlosiSpainElwin Sharvill RENEWAL
Morrow S RutaFranceAsiya Javayant PROPOSAL
Arvin L RutaIndiaIoni Bowcher QUALIFIED
Leja D SlusarskiJapanBernardo Dominic PROPOSAL
Kaitlin G VocelkaFranceIoni Bowcher UNQUALIFIED
Deepesh F DilliardUnited KingdomAsiya Javayant NEW
Ivar V DilliardJapanIvan Magalhaes QUALIFIED
Jeanfrancois V ShinkoBrazilIvan Magalhaes UNQUALIFIED
Leja X MaletJapanAmy Elsner RENEWAL
Greenwood E OldroydArgentinaElwin Sharvill PROPOSAL
Aditya R BowleyCanadaStephen Shaw NEW
Julie C BriddickCanadaAnna Fali UNQUALIFIED
Darci X FollerUnited KingdomAmy Elsner UNQUALIFIED
Claire C DilliardGermanyXuxue Feng UNQUALIFIED
Octavia C BriddickSpainIoni Bowcher NEW
Nicolas S DoeIndiaAsiya Javayant PROPOSAL
Leja Q BriddickIndiaIoni Bowcher NEW
Leja S RimCanadaOnyama Limba QUALIFIED
Adams R DarakjyUnited KingdomIoni Bowcher QUALIFIED
Juan S StockhamUnited KingdomAnna Fali PROPOSAL
Jennifer S BriddickSpainOnyama Limba NEGOTIATION
Jeanfrancois R NickaBrazilIoni Bowcher UNQUALIFIED
Leon N OstroskyUnited KingdomOnyama Limba NEGOTIATION
Jeanfrancois A TollnerJapanOnyama Limba NEW
Silvio L CaudyJapanElwin Sharvill NEW
Jeanfrancois R SlusarskiBrazilAsiya Javayant PROPOSAL
Cody A SlusarskiAustraliaIoni Bowcher RENEWAL
Leon C NestleSpainIoni Bowcher RENEWAL
Francesco U SergiArgentinaAsiya Javayant 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>