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
Isabel G VenereRussiaStephen Shaw QUALIFIED
Salvatore C KuskoAustraliaStephen Shaw UNQUALIFIED
Misaki D AlbaresBrazilAmy Elsner RENEWAL
Jennifer W WhobreySpainXuxue Feng NEW
Jones A StensethItalyIoni Bowcher PROPOSAL
Tony X MarrierSpainOnyama Limba PROPOSAL
Misaki L NickaBrazilXuxue Feng NEW
Jennifer C DarakjyCanadaAnna Fali RENEWAL
James V BowleyArgentinaAnna Fali PROPOSAL
Jefferson F KuskoCanadaXuxue Feng NEW
David E FerenczIndiaIvan Magalhaes UNQUALIFIED
Jones T StockhamBrazilIvan Magalhaes PROPOSAL
Julie Q CampainIndiaXuxue Feng QUALIFIED
Jones D VenereRussiaElwin Sharvill QUALIFIED
Jefferson I OstroskyAustraliaAsiya Javayant RENEWAL
Adams O GarufiSpainElwin Sharvill UNQUALIFIED
Darci P DarakjyJapanAnna Fali PROPOSAL
Deepesh G TollnerAustraliaOnyama Limba NEW
Jones I StensethUnited KingdomElwin Sharvill RENEWAL
David D NickaJapanOnyama Limba RENEWAL
Murillo H GauchoCanadaElwin Sharvill RENEWAL
Emily N DarakjyGermanyBernardo Dominic NEW
Arvin K CaudyJapanOnyama Limba PROPOSAL
Juan J GlickCanadaAnna Fali RENEWAL
Ivar D StockhamArgentinaStephen Shaw RENEWAL
Adams L DoeIndiaXuxue Feng PROPOSAL
Francesco W GarufiItalyIvan Magalhaes UNQUALIFIED
Clifford N InouyeGermanyElwin Sharvill RENEWAL
Chavez L InouyeIndiaIvan Magalhaes QUALIFIED
Juan L ShinkoItalyIoni Bowcher UNQUALIFIED
Wickens B CaudyJapanAnna Fali PROPOSAL
Wickens O CampainGermanyIvan Magalhaes QUALIFIED
Silvio A KolmetzAustraliaIvan Magalhaes QUALIFIED
Izzy M NickaFranceAsiya Javayant UNQUALIFIED
Kadeem V AmigonArgentinaBernardo Dominic PROPOSAL
Maisha A FlosiGermanyIoni Bowcher QUALIFIED
Costa D RimArgentinaXuxue Feng QUALIFIED
Maria U OldroydUnited KingdomXuxue Feng RENEWAL
Aditya B MaletBrazilIvan Magalhaes PROPOSAL
Ricardo Z GauchoUnited KingdomStephen Shaw UNQUALIFIED
Jefferson A MorascaAustraliaStephen Shaw UNQUALIFIED
Sinclair T ButtJapanAnna Fali NEW
Ashley Y MorascaJapanAnna Fali PROPOSAL
Morrow U MaletUnited KingdomAmy Elsner NEW
Jennifer V ChuiGermanyAnna Fali NEGOTIATION
Stacey I RoysterRussiaIvan Magalhaes QUALIFIED
Kadeem S KolmetzIndiaElwin Sharvill NEGOTIATION
Kaitlin H WieserAustraliaIvan Magalhaes NEW
Nicolas A RoysterArgentinaIvan Magalhaes QUALIFIED
Jeanfrancois N MorascaFranceBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Adams T RimItalyElwin Sharvill QUALIFIED
Emily S PerinFranceStephen Shaw QUALIFIED
Cody C MaletIndiaAsiya Javayant QUALIFIED
James L SaylorsGermanyAsiya Javayant NEW
Jennifer C ChuiRussiaAsiya Javayant NEGOTIATION
Francesco M BologniaCanadaIvan Magalhaes NEW
Ivar I MorascaFranceElwin Sharvill PROPOSAL
Maisha X FlosiIndiaElwin Sharvill PROPOSAL
Aditya J FerenczRussiaAmy Elsner UNQUALIFIED
Costa V FlosiFranceElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo O AmigonJapan2026-07-24Buckley Miller Wright NEW27Asiya Javayant
1001Francesco F VenereIndia2026-07-02Feiner Bros UNQUALIFIED5Bernardo Dominic
1002Tony T TollnerBrazil2026-07-13Morlong Associates QUALIFIED37Elwin Sharvill
1003Mujtaba N StensethCanada2026-07-17Chanay, Jeffrey A Esq PROPOSAL1Ioni Bowcher
1004Sinclair K WaycottRussia2026-07-03Buckley Miller Wright UNQUALIFIED79Bernardo Dominic
1005Francesco T AmigonUnited Kingdom2026-07-15Feltz Printing Service UNQUALIFIED16Ioni Bowcher
1006Maisha L BriddickCanada2026-07-25Feiner Bros QUALIFIED2Ioni Bowcher
1007Faith W WieserItaly2026-06-28Printing Dimensions PROPOSAL52Ioni Bowcher
1008Rodrigues O GarufiFrance2026-07-06Printing Dimensions RENEWAL3Bernardo Dominic
1009James X FigeroaCanada2026-07-07Chanay, Jeffrey A Esq UNQUALIFIED42Bernardo Dominic
1010Tony G FerenczItaly2026-07-14Dorl, James J Esq NEGOTIATION4Ioni Bowcher
1011David E OstroskyGermany2026-07-21Chanay, Jeffrey A Esq PROPOSAL58Elwin Sharvill
1012Faith W RulapaughGermany2026-07-09Buckley Miller Wright PROPOSAL52Anna Fali
1013Aika M BriddickRussia2026-07-05Printing Dimensions PROPOSAL16Anna Fali
1014Darci J AlbaresFrance2026-07-22King, Christopher A Esq NEGOTIATION25Ioni Bowcher
1015Francesco X RutaFrance2026-07-19Dorl, James J Esq NEGOTIATION42Ivan Magalhaes
1016Stacey O PaprockiJapan2026-07-20Rangoni Of Florence QUALIFIED16Bernardo Dominic
1017Aika H KolmetzJapan2026-07-06King, Christopher A Esq QUALIFIED13Onyama Limba
1018Leja K MaletSpain2026-07-21Printing Dimensions UNQUALIFIED45Onyama Limba
1019Octavia G PoquetteIndia2026-07-01Benton, John B Jr QUALIFIED21Anna Fali
1020Juan D GillianGermany2026-07-06Commercial Press NEGOTIATION65Elwin Sharvill
1021Kaitlin R FlosiGermany2026-07-20Feltz Printing Service NEGOTIATION94Stephen Shaw
1022Jefferson S FigeroaGermany2026-07-21Truhlar And Truhlar Attys RENEWAL41Ivan Magalhaes
1023Arvin A DarakjyUnited Kingdom2026-07-11Buckley Miller Wright PROPOSAL17Anna Fali
1024Antonio G KolmetzRussia2026-07-21Feiner Bros QUALIFIED39Elwin Sharvill
1025Darci M VocelkaGermany2026-07-03Commercial Press UNQUALIFIED67Ioni Bowcher
1026Adams H BriddickIndia2026-06-30Dorl, James J Esq QUALIFIED43Onyama Limba
1027Kadeem G InouyeItaly2026-07-25Feltz Printing Service NEW65Ioni Bowcher
1028James L AmigonFrance2026-07-23Printing Dimensions PROPOSAL26Bernardo Dominic
1029Nicolas N WhobreyFrance2026-07-08King, Christopher A Esq RENEWAL31Anna Fali
1030Munro W DoeRussia2026-07-01Morlong Associates PROPOSAL1Ivan Magalhaes
1031Jeanfrancois I WhobreyRussia2026-07-12Truhlar And Truhlar Attys PROPOSAL58Ioni Bowcher
1032Kadeem Y SlusarskiJapan2026-07-15Dorl, James J Esq PROPOSAL75Ivan Magalhaes
1033Munro W FigeroaBrazil2026-07-06Chapman, Ross E Esq PROPOSAL83Xuxue Feng
1034Aruna K PaprockiBrazil2026-07-15Chemel, James L Cpa PROPOSAL92Anna Fali
1035Aruna L AmigonItaly2026-07-22Commercial Press NEW84Anna Fali
1036Kaitlin E SaylorsUnited Kingdom2026-07-10Printing Dimensions QUALIFIED91Anna Fali
1037Maisha D NickaRussia2026-07-17Chemel, James L Cpa NEGOTIATION82Amy Elsner
1038Clifford L StensethItaly2026-07-13Morlong Associates QUALIFIED59Elwin Sharvill
1039Jennifer G TollnerCanada2026-07-06King, Christopher A Esq QUALIFIED59Stephen Shaw
1040Octavia V VocelkaArgentina2026-06-29Chanay, Jeffrey A Esq PROPOSAL77Ivan Magalhaes
1041Aditya O GauchoUnited Kingdom2026-07-03Feiner Bros UNQUALIFIED55Ioni Bowcher
1042Silvio V StensethSpain2026-07-17Buckley Miller Wright RENEWAL49Elwin Sharvill
1043Tony F MorascaFrance2026-07-10Printing Dimensions NEW43Stephen Shaw
1044Kaitlin A DilliardCanada2026-06-30Morlong Associates QUALIFIED12Ivan Magalhaes
1045Jeanfrancois E FigeroaBrazil2026-07-09Morlong Associates RENEWAL54Onyama Limba
1046Ashley C OstroskyFrance2026-07-03Feltz Printing Service NEW34Anna Fali
1047Stacey Q DoeArgentina2026-07-18Commercial Press UNQUALIFIED60Xuxue Feng
1048Isabel T MorascaIndia2026-07-09Truhlar And Truhlar Attys NEW94Ivan Magalhaes
1049Juan R BologniaAustralia2026-07-26Printing Dimensions UNQUALIFIED40Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Silvio M WhobreyIndiaOnyama Limba UNQUALIFIED
Faith S AmigonCanadaIoni Bowcher QUALIFIED
James M SaylorsBrazilBernardo Dominic UNQUALIFIED
Aruna X GlickItalyAsiya Javayant NEGOTIATION
Jefferson E SchemmerRussiaAnna Fali PROPOSAL
Wickens H SlusarskiAustraliaBernardo Dominic PROPOSAL
Silvio A RimGermanyBernardo Dominic NEW
Maisha M MacleadUnited KingdomAnna Fali UNQUALIFIED
Mayumi N AlbaresArgentinaIvan Magalhaes RENEWAL
Leja H FollerItalyXuxue Feng UNQUALIFIED
David N InouyeRussiaAmy Elsner UNQUALIFIED
Salvatore Q MacleadArgentinaAmy Elsner PROPOSAL
Ashley E GauchoArgentinaXuxue Feng PROPOSAL
Aditya N OldroydJapanBernardo Dominic UNQUALIFIED
Jennifer A CampainJapanBernardo Dominic PROPOSAL
Smith V CaldareraFranceXuxue Feng RENEWAL
Greenwood T NestleFranceStephen Shaw PROPOSAL
Kaitlin B FigeroaUnited KingdomAnna Fali QUALIFIED
Aruna G MaletAustraliaOnyama Limba NEGOTIATION
Chavez C VenereFranceElwin Sharvill NEW
Antonio C GlickArgentinaAmy Elsner NEW
Nicolas A CaudyArgentinaAsiya Javayant NEGOTIATION
Claire U StockhamArgentinaXuxue Feng NEW
Jones N GarufiJapanStephen Shaw RENEWAL
Jones V FollerRussiaAmy Elsner NEW
Greenwood H VenereCanadaAmy Elsner NEW
Smith C ChuiJapanAmy Elsner RENEWAL
Arvin K DilliardGermanyElwin Sharvill QUALIFIED
Mayumi X RoysterItalyAnna Fali NEW
Costa X OldroydGermanyAsiya Javayant QUALIFIED
Antonio G ChuiUnited KingdomIvan Magalhaes NEGOTIATION
Izzy B NickaCanadaStephen Shaw PROPOSAL
Octavia U MacleadJapanAmy Elsner RENEWAL
Jeanfrancois G DoeArgentinaIvan Magalhaes RENEWAL
Juan R OldroydUnited KingdomStephen Shaw RENEWAL
Emily C VenereSpainXuxue Feng RENEWAL
Munro S GillianItalyAsiya Javayant PROPOSAL
Aruna B RulapaughBrazilStephen Shaw RENEWAL
Claire X StockhamItalyIoni Bowcher RENEWAL
Aruna I OstroskyItalyAnna Fali QUALIFIED
Claire I WaycottSpainOnyama Limba PROPOSAL
Jeanfrancois K FigeroaIndiaAnna Fali UNQUALIFIED
Leja V SlusarskiAustraliaOnyama Limba QUALIFIED
Leon G BowleyGermanyIoni Bowcher NEW
Faith R BologniaIndiaIvan Magalhaes PROPOSAL
Munro O BologniaRussiaIoni Bowcher RENEWAL
Kadeem N PoquetteGermanyElwin Sharvill PROPOSAL
Wickens O FigeroaFranceIvan Magalhaes NEGOTIATION
Leja N DilliardGermanyXuxue Feng NEW
Tony H BowleyUnited KingdomXuxue Feng PROPOSAL
Frozen Columns
Name
Aditya Q Paprocki
Costa H Kusko
Adams D Stenseth
Maisha U Figeroa
Faith J Caldarera
Juan E Kusko
Octavia K Stockham
Leja Y Bolognia
Jeanfrancois Q Doe
Jeanfrancois Q Shinko
Salvatore Q Whobrey
Octavia Z Saylors
Jefferson J Stenseth
Misaki A Vocelka
Mayumi F Whobrey
Stacey J Nestle
Kaitlin W Caudy
Emily E Ostrosky
Murillo D Ostrosky
Juan K Whobrey
Nicolas A Poquette
Maisha W Amigon
Ashley N Tollner
Alejandro D Schemmer
Leon R Waycott
Maisha T Butt
Maria J Albares
Jefferson L Poquette
Munro L Waycott
Tony K Rim
Jennifer O Malet
Antonio R Wieser
Antonio W Shinko
Claire X Kolmetz
Stacey B Paprocki
Aruna A Chui
Claire Z Stenseth
Mujtaba T Caudy
Leja Q Gaucho
Nicolas D Caldarera
Stacey P Bowley
Ashley X Bowley
Ivar E Amigon
Kaitlin L Caldarera
Rodrigues S Chui
Stacey I Darakjy
Silvio E Garufi
Rodrigues Z Saylors
Jones G Stenseth
Ivar Y Gillian
IdCountryDate
1000Germany2026-07-15
1001Australia2026-07-23
1002Japan2026-07-07
1003India2026-06-30
1004Canada2026-07-26
1005Italy2026-07-11
1006United Kingdom2026-07-08
1007Italy2026-07-08
1008Australia2026-07-07
1009India2026-07-01
1010Japan2026-07-18
1011Argentina2026-07-27
1012Brazil2026-07-05
1013Brazil2026-07-26
1014India2026-07-20
1015United Kingdom2026-07-22
1016France2026-07-05
1017Germany2026-07-10
1018India2026-07-24
1019Italy2026-07-01
1020United Kingdom2026-07-21
1021United Kingdom2026-07-08
1022Japan2026-06-28
1023India2026-07-13
1024Argentina2026-07-08
1025Argentina2026-07-11
1026India2026-07-14
1027Brazil2026-07-27
1028India2026-07-15
1029United Kingdom2026-07-15
1030Germany2026-07-25
1031Japan2026-07-03
1032India2026-07-17
1033Brazil2026-07-19
1034France2026-07-13
1035Germany2026-07-18
1036Spain2026-07-21
1037Japan2026-07-08
1038Canada2026-06-30
1039Canada2026-07-24
1040United Kingdom2026-07-23
1041Argentina2026-07-24
1042Germany2026-07-04
1043Argentina2026-07-16
1044France2026-07-07
1045Australia2026-07-03
1046Germany2026-07-19
1047Canada2026-07-16
1048Italy2026-07-01
1049Germany2026-07-20

On-Demand Data

NameIdCountryDate
Wickens G Figeroa1000Japan2026-06-28
Aika Q Vocelka1001Brazil2026-07-07
Julie Z Caudy1002India2026-07-11
Mujtaba H Poquette1003Brazil2026-07-03
Claire L Whobrey1004Germany2026-07-02
Leja N Venere1005Japan2026-07-11
Darci Z Waycott1006Germany2026-07-12
Mujtaba X Bolognia1007Italy2026-07-23
Mujtaba N Iturbide1008Australia2026-07-07
Mayumi T Royster1009United Kingdom2026-07-02
Aditya F Waycott1010Russia2026-07-20
Johnson A Poquette1011India2026-07-07
Kaitlin Z Slusarski1012France2026-07-24
Aika V Dilliard1013Brazil2026-07-15
Nicolas H Marrier1014Argentina2026-07-04
Antonio W Sergi1015France2026-07-19
Julie M Garufi1016France2026-07-09
Jefferson U Oldroyd1017Argentina2026-07-13
Deepesh Z Whobrey1018Brazil2026-07-09
Francesco Y Doe1019Russia2026-07-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro N CampainUnited KingdomAmy Elsner RENEWAL
Francesco N WhobreyArgentinaIoni Bowcher NEGOTIATION
Ivar W WhobreyItalyIvan Magalhaes NEGOTIATION
Aika I FollerIndiaStephen Shaw QUALIFIED
Nicolas K CaudyAustraliaBernardo Dominic QUALIFIED
Claire A OstroskySpainElwin Sharvill UNQUALIFIED
Tony F SlusarskiIndiaXuxue Feng UNQUALIFIED
Greenwood Z PoquetteGermanyAnna Fali PROPOSAL
Clifford H DarakjyItalyOnyama Limba NEGOTIATION
Rodrigues M SlusarskiAustraliaOnyama Limba RENEWAL
Morrow N ChuiGermanyBernardo Dominic NEGOTIATION
Emily E BowleyItalyIoni Bowcher NEW
Ricardo N WhobreyJapanAnna Fali NEW
Greenwood F PaprockiArgentinaBernardo Dominic NEW
Francesco L OldroydUnited KingdomXuxue Feng QUALIFIED
Greenwood N PoquetteGermanyAmy Elsner RENEWAL
Morrow R StockhamUnited KingdomBernardo Dominic NEW
James N NickaFranceStephen Shaw PROPOSAL
Isabel N RutaRussiaBernardo Dominic RENEWAL
Greenwood B RutaAustraliaStephen Shaw QUALIFIED
Leja B NestleGermanyAnna Fali NEW
Salvatore V GarufiRussiaStephen Shaw UNQUALIFIED
Clifford U CampainUnited KingdomXuxue Feng QUALIFIED
Johnson H MorascaAustraliaXuxue Feng NEW
David D OldroydJapanXuxue Feng RENEWAL
Ricardo S GarufiJapanAsiya Javayant NEW
Claire O CampainJapanAnna Fali RENEWAL
Johnson P AmigonArgentinaIvan Magalhaes NEW
Isabel Q AlbaresItalyStephen Shaw PROPOSAL
Jennifer Q DarakjyBrazilStephen Shaw PROPOSAL
Darci Z WaycottSpainAnna Fali RENEWAL
Arvin J RoysterFranceAsiya Javayant UNQUALIFIED
Deepesh P ShinkoFranceAsiya Javayant NEGOTIATION
Misaki P WaycottCanadaBernardo Dominic RENEWAL
Rodrigues K RutaItalyAnna Fali QUALIFIED
Francesco D SaylorsFranceOnyama Limba QUALIFIED
Faith F VenereGermanyBernardo Dominic RENEWAL
Chavez X GillianUnited KingdomAnna Fali NEW
Aruna R GarufiGermanyIvan Magalhaes RENEWAL
Maisha M RimAustraliaIvan Magalhaes RENEWAL

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