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 H BologniaIndiaXuxue Feng RENEWAL
Antonio F NestleBrazilElwin Sharvill QUALIFIED
Maisha U GillianFranceStephen Shaw NEGOTIATION
Arvin Y ShinkoSpainAsiya Javayant UNQUALIFIED
Aruna C RutaJapanAsiya Javayant QUALIFIED
Sinclair H VenereRussiaElwin Sharvill NEGOTIATION
Leon Q NestleItalyOnyama Limba UNQUALIFIED
David I CampainCanadaAnna Fali NEGOTIATION
Julie J FollerAustraliaBernardo Dominic NEW
Silvio L GillianBrazilIvan Magalhaes NEGOTIATION
Jefferson M OldroydUnited KingdomOnyama Limba RENEWAL
Cody F MacleadGermanyBernardo Dominic UNQUALIFIED
Leon H DarakjyJapanAmy Elsner PROPOSAL
Stacey T MarrierRussiaBernardo Dominic RENEWAL
Jefferson R GarufiBrazilAsiya Javayant UNQUALIFIED
Emily B SergiUnited KingdomOnyama Limba QUALIFIED
Aruna Z FerenczArgentinaXuxue Feng RENEWAL
Aruna L DoeCanadaBernardo Dominic UNQUALIFIED
Adams N RoysterBrazilAsiya Javayant RENEWAL
Leon O GarufiAustraliaOnyama Limba QUALIFIED
Aika Z KuskoItalyAnna Fali NEGOTIATION
Kadeem H RutaJapanXuxue Feng PROPOSAL
Isabel S TollnerRussiaStephen Shaw NEGOTIATION
Julie X DoeGermanyBernardo Dominic PROPOSAL
Isabel M SchemmerBrazilXuxue Feng UNQUALIFIED
Francesco B RulapaughJapanAnna Fali UNQUALIFIED
Ashley Z NestleCanadaBernardo Dominic RENEWAL
Nicolas R FollerItalyBernardo Dominic RENEWAL
Deepesh D StensethRussiaAmy Elsner RENEWAL
Kadeem B TollnerItalyElwin Sharvill PROPOSAL
Juan L SchemmerArgentinaXuxue Feng PROPOSAL
Jennifer K SaylorsUnited KingdomBernardo Dominic RENEWAL
Alejandro R OldroydSpainBernardo Dominic NEGOTIATION
James V RutaFranceOnyama Limba QUALIFIED
Leon M MarrierGermanyStephen Shaw QUALIFIED
Costa Y MaletUnited KingdomAsiya Javayant RENEWAL
Claire V GillianCanadaStephen Shaw NEGOTIATION
Morrow Q RoysterFranceAnna Fali PROPOSAL
Johnson W DarakjyUnited KingdomAmy Elsner NEGOTIATION
Murillo T GillianItalyAmy Elsner RENEWAL
David U WieserCanadaBernardo Dominic QUALIFIED
Mayumi B StockhamAustraliaAsiya Javayant PROPOSAL
Costa A PaprockiIndiaIvan Magalhaes NEGOTIATION
Stacey R DarakjyUnited KingdomIoni Bowcher PROPOSAL
James E OldroydGermanyOnyama Limba NEGOTIATION
Cody A PoquetteJapanAnna Fali RENEWAL
Maria J KolmetzAustraliaIoni Bowcher NEGOTIATION
Jefferson H MaletFranceAmy Elsner UNQUALIFIED
Emily P MaletJapanBernardo Dominic NEW
Jefferson U NestleItalyIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Cody L StensethUnited KingdomElwin Sharvill NEGOTIATION
Munro E VocelkaItalyIvan Magalhaes RENEWAL
Arvin G GillianSpainXuxue Feng UNQUALIFIED
Kaitlin U VenereIndiaBernardo Dominic UNQUALIFIED
Alejandro V RimSpainBernardo Dominic NEGOTIATION
Emily W WieserArgentinaBernardo Dominic UNQUALIFIED
Deepesh F AlbaresAustraliaXuxue Feng RENEWAL
Adams X DilliardFranceAsiya Javayant PROPOSAL
Maisha G GillianItalyElwin Sharvill NEGOTIATION
Aruna U BowleyAustraliaAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford R WhobreyArgentina2026-08-24Commercial Press PROPOSAL29Anna Fali
1001Costa L AmigonItaly2026-08-06Chemel, James L Cpa RENEWAL56Bernardo Dominic
1002Deepesh O OldroydArgentina2026-08-02Dorl, James J Esq NEW93Onyama Limba
1003Wickens K AlbaresGermany2026-08-10Rangoni Of Florence UNQUALIFIED82Ioni Bowcher
1004Maria J MaletJapan2026-08-12Rousseaux, Michael Esq QUALIFIED34Anna Fali
1005Faith Y GauchoArgentina2026-08-21Rousseaux, Michael Esq UNQUALIFIED78Anna Fali
1006Ivar K OstroskyJapan2026-08-02Rousseaux, Michael Esq NEW27Elwin Sharvill
1007Deepesh K TollnerAustralia2026-07-27Benton, John B Jr QUALIFIED96Amy Elsner
1008Salvatore Q SaylorsIndia2026-08-02Chanay, Jeffrey A Esq NEGOTIATION66Asiya Javayant
1009Smith B SchemmerArgentina2026-07-27Chanay, Jeffrey A Esq UNQUALIFIED47Stephen Shaw
1010Deepesh D MorascaAustralia2026-08-11King, Christopher A Esq RENEWAL63Ioni Bowcher
1011Munro H KolmetzIndia2026-08-12Truhlar And Truhlar Attys PROPOSAL33Onyama Limba
1012Kaitlin E DarakjyItaly2026-08-15Chapman, Ross E Esq PROPOSAL15Asiya Javayant
1013Jennifer W InouyeIndia2026-07-30Buckley Miller Wright RENEWAL89Anna Fali
1014Ashley Y NestleGermany2026-08-19Feltz Printing Service NEGOTIATION95Anna Fali
1015Claire K OstroskyCanada2026-08-23Morlong Associates UNQUALIFIED56Onyama Limba
1016David B RimFrance2026-07-26Rousseaux, Michael Esq QUALIFIED78Asiya Javayant
1017Rodrigues O DarakjyUnited Kingdom2026-08-13Chapman, Ross E Esq NEW8Ivan Magalhaes
1018David H ShinkoGermany2026-08-03Chanay, Jeffrey A Esq QUALIFIED60Amy Elsner
1019James U CampainUnited Kingdom2026-08-02Chanay, Jeffrey A Esq NEGOTIATION20Xuxue Feng
1020Sinclair N ChuiRussia2026-08-05Feiner Bros NEGOTIATION30Ioni Bowcher
1021Mayumi M CaldareraItaly2026-08-24King, Christopher A Esq RENEWAL72Anna Fali
1022Aika H VenereSpain2026-08-08Chanay, Jeffrey A Esq UNQUALIFIED60Anna Fali
1023Ashley O AlbaresIndia2026-08-21Buckley Miller Wright RENEWAL50Ivan Magalhaes
1024Misaki Q MaletBrazil2026-08-07Buckley Miller Wright UNQUALIFIED38Ioni Bowcher
1025Jones J StockhamArgentina2026-08-23Morlong Associates QUALIFIED98Elwin Sharvill
1026Johnson F WaycottRussia2026-07-27Feltz Printing Service NEW81Bernardo Dominic
1027Morrow T PaprockiBrazil2026-08-23Truhlar And Truhlar Attys NEGOTIATION91Bernardo Dominic
1028Kaitlin A CampainAustralia2026-08-21Dorl, James J Esq QUALIFIED41Xuxue Feng
1029Ivar H DilliardItaly2026-08-10Truhlar And Truhlar Attys NEGOTIATION88Ioni Bowcher
1030Francesco M PerinSpain2026-08-07Chemel, James L Cpa PROPOSAL33Amy Elsner
1031Salvatore F DarakjyIndia2026-08-14Chemel, James L Cpa NEW7Amy Elsner
1032Nicolas F OstroskySpain2026-08-09Chapman, Ross E Esq NEW2Stephen Shaw
1033Octavia T RutaIndia2026-08-11Chapman, Ross E Esq NEGOTIATION79Stephen Shaw
1034Misaki H BologniaBrazil2026-08-16Rousseaux, Michael Esq QUALIFIED1Onyama Limba
1035Kaitlin T RutaGermany2026-08-02Morlong Associates UNQUALIFIED39Bernardo Dominic
1036Jefferson K GauchoIndia2026-08-06Feiner Bros NEW4Amy Elsner
1037Johnson I PerinArgentina2026-08-01Benton, John B Jr UNQUALIFIED25Xuxue Feng
1038Cody J BriddickSpain2026-08-03Feiner Bros UNQUALIFIED89Ioni Bowcher
1039Aditya B GlickFrance2026-08-09Printing Dimensions PROPOSAL13Ivan Magalhaes
1040Mujtaba Y ButtArgentina2026-08-02Rousseaux, Michael Esq PROPOSAL0Ivan Magalhaes
1041Cody M WhobreyBrazil2026-07-29Chemel, James L Cpa NEW64Asiya Javayant
1042Greenwood T BowleyFrance2026-08-08Chapman, Ross E Esq RENEWAL93Ioni Bowcher
1043Alejandro O RulapaughBrazil2026-08-13Benton, John B Jr PROPOSAL37Ioni Bowcher
1044Darci S SchemmerSpain2026-08-20Printing Dimensions RENEWAL32Onyama Limba
1045Maisha H VenereSpain2026-08-05Rangoni Of Florence PROPOSAL75Bernardo Dominic
1046Wickens O ButtRussia2026-08-03Dorl, James J Esq QUALIFIED94Elwin Sharvill
1047Juan P PaprockiCanada2026-07-27Feltz Printing Service UNQUALIFIED84Ioni Bowcher
1048Nicolas Z PoquetteBrazil2026-08-10Feltz Printing Service RENEWAL85Stephen Shaw
1049Jones W PerinArgentina2026-08-09Dorl, James J Esq NEGOTIATION58Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois W DoeItalyIvan Magalhaes PROPOSAL
Izzy Y OstroskyRussiaAnna Fali UNQUALIFIED
Jones G CaldareraFranceAnna Fali NEGOTIATION
Wickens R SergiUnited KingdomAsiya Javayant QUALIFIED
Ashley X AlbaresAustraliaElwin Sharvill UNQUALIFIED
Smith G KuskoBrazilAsiya Javayant RENEWAL
Izzy N DoeBrazilOnyama Limba RENEWAL
Maria W ChuiItalyElwin Sharvill QUALIFIED
Silvio H ShinkoArgentinaElwin Sharvill NEGOTIATION
Aruna R MorascaGermanyBernardo Dominic NEW
Darci H RutaArgentinaElwin Sharvill NEW
Leja A ChuiJapanIvan Magalhaes NEGOTIATION
Isabel D RutaGermanyAnna Fali UNQUALIFIED
Izzy I DoeSpainAsiya Javayant NEGOTIATION
Kadeem U SchemmerRussiaAnna Fali QUALIFIED
Kadeem Q SlusarskiIndiaXuxue Feng PROPOSAL
Isabel Z PoquetteGermanyXuxue Feng RENEWAL
Julie I IturbideUnited KingdomXuxue Feng RENEWAL
Mayumi U GlickItalyStephen Shaw NEW
Smith R PerinSpainElwin Sharvill PROPOSAL
Claire W OstroskyFranceAmy Elsner PROPOSAL
Kadeem P GlickRussiaAnna Fali UNQUALIFIED
Alejandro J FigeroaSpainElwin Sharvill NEW
Adams C KolmetzAustraliaAsiya Javayant NEW
Juan G VocelkaIndiaAmy Elsner NEW
Julie A PoquetteUnited KingdomStephen Shaw QUALIFIED
Jennifer G CampainIndiaAnna Fali PROPOSAL
David Q PaprockiItalyOnyama Limba QUALIFIED
Isabel F WhobreyAustraliaAmy Elsner QUALIFIED
Stacey D ShinkoIndiaBernardo Dominic UNQUALIFIED
Aika B BologniaAustraliaXuxue Feng NEGOTIATION
Stacey Z TollnerIndiaOnyama Limba NEW
Tony K FlosiFranceStephen Shaw RENEWAL
Antonio A TollnerBrazilIvan Magalhaes PROPOSAL
Jennifer R DilliardJapanIvan Magalhaes QUALIFIED
Faith R RulapaughGermanyAnna Fali NEW
Jefferson Z RulapaughCanadaElwin Sharvill UNQUALIFIED
Kaitlin A ShinkoUnited KingdomElwin Sharvill RENEWAL
Arvin C NestleUnited KingdomElwin Sharvill QUALIFIED
Darci B DilliardIndiaOnyama Limba NEW
Rodrigues Z WhobreyArgentinaStephen Shaw UNQUALIFIED
Leon E MacleadCanadaElwin Sharvill QUALIFIED
Arvin I NickaJapanBernardo Dominic RENEWAL
Tony R GauchoCanadaStephen Shaw QUALIFIED
Alejandro N RimRussiaIvan Magalhaes QUALIFIED
Chavez R FerenczArgentinaStephen Shaw RENEWAL
Kadeem D RoysterFranceBernardo Dominic QUALIFIED
Alejandro N FigeroaAustraliaAmy Elsner NEGOTIATION
Alejandro K PaprockiUnited KingdomIvan Magalhaes QUALIFIED
Francesco U KolmetzJapanAmy Elsner NEW
Frozen Columns
Name
Smith Y Glick
Julie H Shinko
Darci I Poquette
Aruna Z Whobrey
Misaki P Malet
Ivar H Gaucho
Aruna L Poquette
Mujtaba Z Glick
Octavia X Doe
Leja Z Nestle
Sinclair H Whobrey
Cody U Bolognia
Clifford N Butt
Izzy U Chui
Silvio M Poquette
Tony Y Slusarski
Munro B Iturbide
Jennifer U Shinko
Johnson X Gillian
Octavia F Garufi
Smith N Stockham
Arvin C Garufi
Octavia W Poquette
Emily Y Sergi
Smith D Flosi
Ricardo I Nestle
Kaitlin K Dilliard
Adams C Campain
Kaitlin K Ostrosky
Salvatore L Amigon
Mujtaba N Foller
Sinclair G Shinko
Emily L Shinko
Julie L Bowley
Claire M Kolmetz
Izzy Z Venere
Murillo K Albares
Aruna W Stenseth
Adams U Kusko
Aruna Z Garufi
Jeanfrancois I Slusarski
Morrow N Slusarski
Jefferson E Kusko
Alejandro K Wieser
Greenwood A Glick
Kadeem F Briddick
Sinclair Z Iturbide
Stacey N Chui
Maisha Z Chui
Claire T Amigon
IdCountryDate
1000France2026-08-22
1001India2026-08-01
1002Russia2026-08-13
1003Canada2026-08-12
1004India2026-08-19
1005Brazil2026-07-27
1006Germany2026-08-08
1007India2026-08-12
1008Russia2026-08-03
1009India2026-08-03
1010Japan2026-08-07
1011United Kingdom2026-08-22
1012France2026-07-30
1013Italy2026-08-15
1014Russia2026-08-07
1015Australia2026-08-21
1016Japan2026-08-05
1017Japan2026-07-27
1018Spain2026-08-19
1019Italy2026-07-26
1020Australia2026-07-26
1021Japan2026-08-06
1022Japan2026-08-23
1023Spain2026-07-26
1024Japan2026-08-13
1025India2026-08-04
1026Australia2026-08-24
1027Italy2026-08-04
1028France2026-07-26
1029Canada2026-08-18
1030Brazil2026-08-22
1031Argentina2026-08-03
1032Japan2026-07-28
1033India2026-07-31
1034Italy2026-07-31
1035Italy2026-08-20
1036Spain2026-08-09
1037Italy2026-08-04
1038Germany2026-07-28
1039Russia2026-08-13
1040Italy2026-07-26
1041India2026-07-27
1042Australia2026-08-13
1043India2026-08-07
1044Australia2026-08-17
1045Germany2026-08-23
1046Spain2026-08-08
1047India2026-08-06
1048Australia2026-08-16
1049Spain2026-07-29

On-Demand Data

NameIdCountryDate
Kaitlin B Ferencz1000United Kingdom2026-08-11
Maisha M Nicka1001India2026-07-30
Alejandro X Slusarski1002Italy2026-08-18
James R Kusko1003United Kingdom2026-08-12
Octavia F Briddick1004Australia2026-08-07
Juan R Flosi1005Spain2026-08-20
Kaitlin T Marrier1006Russia2026-08-17
Clifford S Schemmer1007Spain2026-08-01
Claire P Gillian1008Canada2026-08-23
Misaki C Foller1009Japan2026-07-31
Chavez I Shinko1010Spain2026-08-11
Isabel H Waycott1011Russia2026-08-02
Julie Y Figeroa1012France2026-08-14
Wickens S Wieser1013Argentina2026-07-29
Deepesh R Figeroa1014Spain2026-08-18
Wickens E Figeroa1015Russia2026-08-24
Silvio S Whobrey1016Japan2026-08-20
Silvio L Caldarera1017Spain2026-08-11
Ricardo T Caldarera1018Japan2026-07-29
Deepesh T Royster1019France2026-08-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford M MorascaAustraliaIoni Bowcher NEGOTIATION
Sinclair H MorascaUnited KingdomAnna Fali NEW
Arvin T FerenczIndiaXuxue Feng QUALIFIED
Leon L FigeroaSpainIoni Bowcher NEGOTIATION
Cody F FerenczGermanyStephen Shaw UNQUALIFIED
Murillo Q PaprockiJapanStephen Shaw NEGOTIATION
Antonio P GarufiUnited KingdomStephen Shaw UNQUALIFIED
Wickens E FlosiSpainElwin Sharvill NEGOTIATION
Smith M OldroydJapanStephen Shaw UNQUALIFIED
Juan X KolmetzRussiaStephen Shaw PROPOSAL
Leja S CampainUnited KingdomAnna Fali RENEWAL
Octavia S CampainJapanAmy Elsner PROPOSAL
Misaki A RulapaughItalyStephen Shaw PROPOSAL
Julie H SlusarskiAustraliaIoni Bowcher QUALIFIED
Aika G AlbaresArgentinaOnyama Limba NEGOTIATION
Aika C AlbaresCanadaXuxue Feng QUALIFIED
Isabel K MaletArgentinaAnna Fali NEW
Nicolas Z RimBrazilElwin Sharvill PROPOSAL
Kadeem P GillianJapanIoni Bowcher RENEWAL
Jeanfrancois U InouyeIndiaBernardo Dominic NEGOTIATION
Silvio N TollnerRussiaXuxue Feng UNQUALIFIED
Nicolas P StensethAustraliaAmy Elsner QUALIFIED
Mayumi X NestleBrazilXuxue Feng QUALIFIED
Alejandro I ChuiArgentinaAnna Fali NEGOTIATION
Aika L FlosiBrazilStephen Shaw RENEWAL
Francesco M FigeroaItalyAsiya Javayant UNQUALIFIED
Leon N WhobreyIndiaAsiya Javayant QUALIFIED
Darci C FerenczJapanAmy Elsner NEGOTIATION
Smith K PoquetteRussiaAmy Elsner PROPOSAL
Leon N VenereSpainIvan Magalhaes NEW
Darci X BriddickFranceBernardo Dominic NEW
Claire Y RulapaughCanadaElwin Sharvill QUALIFIED
Murillo A VenereArgentinaXuxue Feng PROPOSAL
Emily S FlosiRussiaIvan Magalhaes NEGOTIATION
Isabel H VenereUnited KingdomXuxue Feng NEGOTIATION
Ashley F SlusarskiGermanyXuxue Feng PROPOSAL
Cody H WaycottGermanyBernardo Dominic NEW
Kadeem Z BriddickUnited KingdomAsiya Javayant NEGOTIATION
Deepesh Y MorascaCanadaXuxue Feng NEW
Cody Y AlbaresCanadaAmy Elsner 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>