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
Aruna D FigeroaIndiaXuxue Feng NEW
Leja U DilliardGermanyElwin Sharvill NEGOTIATION
Jefferson H MaletFranceAnna Fali UNQUALIFIED
Leja R ButtIndiaAsiya Javayant UNQUALIFIED
Misaki V ButtItalyIoni Bowcher UNQUALIFIED
Nicolas U VenereFranceElwin Sharvill UNQUALIFIED
Cody U GillianArgentinaAnna Fali QUALIFIED
Sinclair E PoquetteRussiaAnna Fali PROPOSAL
Nicolas U MaletFranceIoni Bowcher NEW
Smith C NestleArgentinaAsiya Javayant QUALIFIED
Clifford C StensethUnited KingdomStephen Shaw NEGOTIATION
Murillo N RutaItalyXuxue Feng PROPOSAL
Maria N DilliardGermanyIvan Magalhaes NEGOTIATION
Julie L PaprockiBrazilIvan Magalhaes QUALIFIED
James W TollnerItalyOnyama Limba NEGOTIATION
Morrow E SchemmerIndiaAnna Fali NEGOTIATION
Jones H BowleyUnited KingdomStephen Shaw QUALIFIED
Greenwood J PoquetteCanadaIoni Bowcher PROPOSAL
Murillo G RoysterArgentinaIvan Magalhaes NEW
Chavez N DarakjyIndiaElwin Sharvill NEW
Claire P BologniaRussiaAmy Elsner NEW
Aika T PaprockiSpainStephen Shaw QUALIFIED
Clifford N MacleadIndiaStephen Shaw UNQUALIFIED
Sinclair S CampainJapanBernardo Dominic PROPOSAL
Darci K MarrierJapanIvan Magalhaes NEW
Costa C FigeroaIndiaOnyama Limba QUALIFIED
Kadeem P CampainAustraliaAnna Fali PROPOSAL
Tony Y InouyeBrazilAmy Elsner RENEWAL
Greenwood O PerinRussiaIvan Magalhaes NEW
Chavez P RimItalyElwin Sharvill NEGOTIATION
Smith B ChuiIndiaOnyama Limba QUALIFIED
Julie N FerenczCanadaAmy Elsner PROPOSAL
Aditya J OldroydIndiaAsiya Javayant RENEWAL
Ashley D NestleRussiaAmy Elsner NEW
Emily Z PaprockiIndiaBernardo Dominic QUALIFIED
Emily C FlosiBrazilStephen Shaw NEGOTIATION
Jefferson S VenereItalyXuxue Feng NEW
Alejandro U ChuiCanadaAsiya Javayant NEGOTIATION
Sinclair I RoysterGermanyElwin Sharvill QUALIFIED
Johnson Z SchemmerArgentinaOnyama Limba NEGOTIATION
Smith R OstroskyGermanyIoni Bowcher UNQUALIFIED
Chavez J AlbaresUnited KingdomAnna Fali PROPOSAL
Arvin A WhobreyIndiaBernardo Dominic UNQUALIFIED
Kaitlin K GauchoUnited KingdomElwin Sharvill NEGOTIATION
Claire Y MarrierIndiaStephen Shaw QUALIFIED
Salvatore K MacleadCanadaAmy Elsner PROPOSAL
Cody Q GarufiUnited KingdomOnyama Limba QUALIFIED
Smith B AmigonFranceIvan Magalhaes RENEWAL
Kaitlin N FigeroaAustraliaStephen Shaw QUALIFIED
Maria E GarufiAustraliaOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Leja J NickaAustraliaAmy Elsner QUALIFIED
Aruna X SergiFranceStephen Shaw PROPOSAL
Ricardo D GillianIndiaOnyama Limba UNQUALIFIED
Francesco T MorascaBrazilAnna Fali PROPOSAL
Darci Q ChuiRussiaIvan Magalhaes NEW
Ashley H FerenczRussiaAsiya Javayant QUALIFIED
Maisha D ChuiFranceAnna Fali RENEWAL
Deepesh B ButtJapanOnyama Limba NEGOTIATION
Nicolas K WaycottUnited KingdomIvan Magalhaes NEGOTIATION
Kadeem V AlbaresRussiaXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood F VenereItaly2026-08-30King, Christopher A Esq NEW8Elwin Sharvill
1001Claire N RimFrance2026-08-18Commercial Press NEGOTIATION19Anna Fali
1002Ashley H CaldareraSpain2026-08-29Morlong Associates PROPOSAL80Asiya Javayant
1003Aika U SlusarskiSpain2026-08-16King, Christopher A Esq RENEWAL88Bernardo Dominic
1004Julie N PoquetteArgentina2026-08-23Feltz Printing Service NEW54Anna Fali
1005Maria T SlusarskiIndia2026-08-08Chemel, James L Cpa NEW46Asiya Javayant
1006Mujtaba V DarakjySpain2026-09-02Rangoni Of Florence NEGOTIATION20Onyama Limba
1007Octavia L RoysterAustralia2026-08-30Buckley Miller Wright RENEWAL16Anna Fali
1008Mayumi F VenereGermany2026-08-07Dorl, James J Esq QUALIFIED12Amy Elsner
1009Ricardo K BowleyJapan2026-08-29Rangoni Of Florence QUALIFIED80Bernardo Dominic
1010Cody R MacleadBrazil2026-08-09Rousseaux, Michael Esq NEGOTIATION63Ivan Magalhaes
1011Jefferson K FlosiSpain2026-08-19Chapman, Ross E Esq UNQUALIFIED1Bernardo Dominic
1012Leja A SergiArgentina2026-08-27Commercial Press NEW46Ivan Magalhaes
1013Clifford T CaudyCanada2026-08-08Rangoni Of Florence NEGOTIATION31Ioni Bowcher
1014Stacey W SergiArgentina2026-08-15Feiner Bros NEGOTIATION86Asiya Javayant
1015Ashley P VocelkaGermany2026-08-20Commercial Press NEW2Ivan Magalhaes
1016Morrow K StensethJapan2026-09-02Rangoni Of Florence NEGOTIATION9Stephen Shaw
1017Mujtaba W MarrierItaly2026-08-15Rousseaux, Michael Esq NEGOTIATION58Asiya Javayant
1018Salvatore A SlusarskiJapan2026-08-11Dorl, James J Esq NEW46Onyama Limba
1019Jefferson Z SaylorsArgentina2026-08-22Rousseaux, Michael Esq RENEWAL44Onyama Limba
1020Ivar P BologniaItaly2026-08-25Chapman, Ross E Esq QUALIFIED53Asiya Javayant
1021Jefferson G GauchoJapan2026-08-27Rangoni Of Florence NEW79Anna Fali
1022Rodrigues P StensethAustralia2026-08-06Rangoni Of Florence QUALIFIED78Ioni Bowcher
1023Deepesh Z FollerCanada2026-08-05Buckley Miller Wright NEGOTIATION90Elwin Sharvill
1024Alejandro N FollerBrazil2026-08-23Printing Dimensions PROPOSAL85Ivan Magalhaes
1025Mujtaba Z WaycottFrance2026-08-18King, Christopher A Esq QUALIFIED6Ivan Magalhaes
1026James T OstroskySpain2026-08-16Truhlar And Truhlar Attys NEW25Ioni Bowcher
1027Silvio Y VenereItaly2026-08-25Feltz Printing Service RENEWAL51Asiya Javayant
1028Leon A CaldareraArgentina2026-08-08Truhlar And Truhlar Attys RENEWAL13Anna Fali
1029Kadeem A MaletSpain2026-08-19Chemel, James L Cpa NEW63Anna Fali
1030Munro T PaprockiArgentina2026-08-10Chanay, Jeffrey A Esq UNQUALIFIED67Ivan Magalhaes
1031Morrow Q SlusarskiFrance2026-08-19Morlong Associates NEW63Stephen Shaw
1032Morrow N FerenczArgentina2026-08-22Truhlar And Truhlar Attys PROPOSAL52Anna Fali
1033Francesco R NestleUnited Kingdom2026-08-17Feiner Bros QUALIFIED26Onyama Limba
1034Munro B MarrierRussia2026-08-15Buckley Miller Wright UNQUALIFIED70Ioni Bowcher
1035Arvin V FollerBrazil2026-08-19Chemel, James L Cpa RENEWAL21Asiya Javayant
1036Morrow S IturbideIndia2026-08-21Rousseaux, Michael Esq QUALIFIED66Onyama Limba
1037Darci Y FigeroaUnited Kingdom2026-08-23Feltz Printing Service NEW60Xuxue Feng
1038Adams O MaletArgentina2026-08-22Feiner Bros PROPOSAL80Stephen Shaw
1039Munro Y BowleyRussia2026-08-15Morlong Associates UNQUALIFIED27Ivan Magalhaes
1040James L SchemmerUnited Kingdom2026-09-01King, Christopher A Esq UNQUALIFIED12Anna Fali
1041James C FigeroaGermany2026-09-02King, Christopher A Esq NEW96Onyama Limba
1042Aditya W DoeArgentina2026-08-29Rousseaux, Michael Esq PROPOSAL78Xuxue Feng
1043Greenwood G AlbaresCanada2026-08-22Benton, John B Jr NEGOTIATION29Bernardo Dominic
1044Leon X SlusarskiGermany2026-08-16Chanay, Jeffrey A Esq QUALIFIED86Xuxue Feng
1045Chavez L VocelkaArgentina2026-08-09Morlong Associates PROPOSAL80Ioni Bowcher
1046Mujtaba K RoysterSpain2026-08-21Benton, John B Jr PROPOSAL94Ivan Magalhaes
1047Murillo R VenereAustralia2026-08-22King, Christopher A Esq UNQUALIFIED17Anna Fali
1048Tony H CampainFrance2026-08-24Truhlar And Truhlar Attys QUALIFIED58Elwin Sharvill
1049Johnson O SaylorsArgentina2026-08-04Buckley Miller Wright QUALIFIED7Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Tony G BriddickIndiaAsiya Javayant NEGOTIATION
Mayumi B DarakjyFranceIoni Bowcher RENEWAL
Jennifer J RutaJapanElwin Sharvill NEGOTIATION
Clifford F IturbideCanadaIvan Magalhaes QUALIFIED
Maria M CaldareraIndiaIvan Magalhaes PROPOSAL
Ashley U StockhamIndiaElwin Sharvill UNQUALIFIED
Arvin X AlbaresRussiaAmy Elsner NEW
Jennifer C DarakjyBrazilStephen Shaw UNQUALIFIED
Izzy G KuskoItalyBernardo Dominic NEGOTIATION
James H SlusarskiRussiaAsiya Javayant PROPOSAL
Misaki O CaldareraBrazilElwin Sharvill RENEWAL
Sinclair N WieserBrazilBernardo Dominic NEW
Johnson F VocelkaIndiaBernardo Dominic RENEWAL
Juan V NestleIndiaElwin Sharvill PROPOSAL
Chavez N BriddickUnited KingdomOnyama Limba NEW
Leon C FigeroaCanadaOnyama Limba QUALIFIED
Claire N PoquetteFranceAmy Elsner QUALIFIED
Wickens T CampainCanadaIoni Bowcher NEW
Ricardo M DarakjyItalyIoni Bowcher UNQUALIFIED
Rodrigues F CampainItalyIvan Magalhaes NEW
Mayumi A IturbideUnited KingdomIoni Bowcher NEW
Izzy J MaletAustraliaAnna Fali PROPOSAL
Clifford A RimArgentinaOnyama Limba PROPOSAL
David B VocelkaIndiaIvan Magalhaes NEW
Costa R NickaSpainIvan Magalhaes RENEWAL
Chavez H InouyeJapanOnyama Limba NEW
Jennifer D MarrierIndiaXuxue Feng NEW
Leja P RutaAustraliaBernardo Dominic UNQUALIFIED
Cody H KuskoIndiaElwin Sharvill PROPOSAL
Kaitlin B OstroskyRussiaAmy Elsner NEGOTIATION
Nicolas W KolmetzGermanyBernardo Dominic QUALIFIED
Claire N IturbideAustraliaAnna Fali PROPOSAL
Ricardo O WieserJapanStephen Shaw UNQUALIFIED
Emily G VocelkaBrazilAnna Fali RENEWAL
Costa N GillianFranceAmy Elsner PROPOSAL
Munro O GauchoCanadaXuxue Feng QUALIFIED
Greenwood W GauchoFranceAmy Elsner NEW
Costa C GauchoArgentinaIoni Bowcher NEGOTIATION
Smith Y MacleadIndiaXuxue Feng UNQUALIFIED
Aruna A DilliardJapanIvan Magalhaes PROPOSAL
Sinclair X RoysterRussiaStephen Shaw UNQUALIFIED
Leja Q FerenczSpainElwin Sharvill NEW
Munro G MarrierIndiaOnyama Limba UNQUALIFIED
Murillo C BologniaGermanyAmy Elsner NEW
Jefferson V BriddickFranceAmy Elsner NEGOTIATION
Ricardo Y ChuiArgentinaBernardo Dominic NEW
Costa S SergiSpainBernardo Dominic NEGOTIATION
Julie F SaylorsArgentinaElwin Sharvill UNQUALIFIED
Ricardo O NickaBrazilIoni Bowcher RENEWAL
Ashley I ShinkoRussiaAnna Fali NEW
Frozen Columns
Name
Deepesh A Venere
Aditya O Bolognia
Aditya L Darakjy
Nicolas R Iturbide
Leon P Briddick
Nicolas C Waycott
Juan X Briddick
Jefferson W Malet
Emily L Saylors
Leon H Gillian
Aruna J Doe
Maria M Ruta
Izzy B Butt
Murillo X Stenseth
Cody L Slusarski
Izzy S Gillian
Claire Q Caudy
Claire C Briddick
Octavia B Venere
Izzy S Foller
Maria T Shinko
Kaitlin C Foller
Izzy R Whobrey
Morrow W Poquette
Jones B Maclead
Munro D Whobrey
Jennifer J Figeroa
Aruna T Stockham
Faith B Waycott
Antonio X Chui
Kaitlin C Perin
Julie H Foller
Stacey I Iturbide
Wickens I Iturbide
Leja T Albares
Faith V Saylors
Mujtaba Z Oldroyd
Silvio M Kusko
Munro V Stockham
Salvatore T Saylors
Maisha H Kolmetz
Aika G Stockham
Maisha R Sergi
Misaki M Butt
Johnson O Shinko
Sinclair B Caudy
Alejandro O Royster
Leon K Shinko
Murillo O Caudy
Tony R Ruta
IdCountryDate
1000India2026-08-06
1001Spain2026-08-10
1002United Kingdom2026-08-18
1003Argentina2026-08-23
1004Russia2026-08-13
1005India2026-08-25
1006Germany2026-08-19
1007Canada2026-08-21
1008Spain2026-08-04
1009United Kingdom2026-08-12
1010Canada2026-08-21
1011Germany2026-08-20
1012Spain2026-08-20
1013Japan2026-08-13
1014Brazil2026-08-15
1015Russia2026-08-21
1016United Kingdom2026-08-22
1017Japan2026-08-07
1018France2026-08-09
1019Canada2026-08-26
1020Japan2026-08-24
1021Australia2026-08-20
1022Russia2026-08-07
1023France2026-09-02
1024Canada2026-08-19
1025Italy2026-08-08
1026Spain2026-08-28
1027Spain2026-08-19
1028Canada2026-08-06
1029Spain2026-08-24
1030Italy2026-08-28
1031Japan2026-09-01
1032Spain2026-08-30
1033India2026-08-18
1034India2026-08-10
1035Argentina2026-08-15
1036Canada2026-09-02
1037Brazil2026-08-31
1038Brazil2026-08-25
1039India2026-08-07
1040Canada2026-08-24
1041Spain2026-08-31
1042Germany2026-08-21
1043Canada2026-08-23
1044Canada2026-08-10
1045Japan2026-08-09
1046Russia2026-08-31
1047United Kingdom2026-08-31
1048Canada2026-08-08
1049Australia2026-08-05

On-Demand Data

NameIdCountryDate
David B Doe1000Russia2026-08-13
Tony M Ferencz1001Germany2026-08-24
Costa T Darakjy1002Germany2026-08-23
Francesco W Ostrosky1003Brazil2026-08-16
David R Whobrey1004Russia2026-08-28
Maisha J Briddick1005France2026-08-15
Ricardo C Stenseth1006Spain2026-08-27
Aruna W Marrier1007United Kingdom2026-08-11
Salvatore T Briddick1008Russia2026-09-01
Sinclair N Royster1009Japan2026-08-29
James P Campain1010Australia2026-08-17
Julie G Saylors1011Italy2026-08-20
Rodrigues B Darakjy1012India2026-08-22
Aika N Shinko1013Australia2026-08-24
Clifford K Rulapaugh1014France2026-08-23
Mujtaba U Kolmetz1015Russia2026-08-06
Smith U Malet1016India2026-08-05
Murillo Q Maclead1017Germany2026-08-25
Greenwood E Kusko1018Argentina2026-08-13
Sinclair B Gaucho1019Argentina2026-08-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar P ChuiFranceIvan Magalhaes RENEWAL
Chavez H MaletAustraliaAmy Elsner UNQUALIFIED
Alejandro K ShinkoSpainIoni Bowcher NEGOTIATION
Clifford S GlickJapanOnyama Limba RENEWAL
Maria N KuskoArgentinaOnyama Limba PROPOSAL
Greenwood D WhobreyIndiaAsiya Javayant RENEWAL
Silvio A RulapaughGermanyAnna Fali QUALIFIED
Julie C OstroskyUnited KingdomXuxue Feng RENEWAL
Alejandro J KuskoUnited KingdomOnyama Limba UNQUALIFIED
Clifford Q MarrierUnited KingdomBernardo Dominic RENEWAL
Silvio C MorascaUnited KingdomIvan Magalhaes QUALIFIED
Mayumi Y GarufiAustraliaAsiya Javayant UNQUALIFIED
Claire D CampainIndiaBernardo Dominic NEW
Johnson M NestleIndiaBernardo Dominic QUALIFIED
Julie F AlbaresFranceAmy Elsner NEW
Stacey A ChuiArgentinaElwin Sharvill NEGOTIATION
Ashley G MacleadIndiaAnna Fali RENEWAL
Juan P SlusarskiIndiaStephen Shaw UNQUALIFIED
Octavia T AlbaresFranceElwin Sharvill PROPOSAL
Chavez H MaletCanadaAmy Elsner UNQUALIFIED
Aika N FigeroaFranceIvan Magalhaes RENEWAL
Jennifer A BriddickUnited KingdomStephen Shaw RENEWAL
Wickens I MaletFranceXuxue Feng NEW
Emily K SchemmerIndiaAsiya Javayant NEW
Rodrigues H BologniaFranceIvan Magalhaes PROPOSAL
Silvio D FollerRussiaAmy Elsner UNQUALIFIED
Morrow U KolmetzCanadaStephen Shaw UNQUALIFIED
Murillo R NestleAustraliaAsiya Javayant RENEWAL
Maria G VocelkaRussiaBernardo Dominic NEW
Ivar T NickaSpainIvan Magalhaes PROPOSAL
Antonio O CaldareraIndiaElwin Sharvill RENEWAL
Ashley W WieserUnited KingdomStephen Shaw QUALIFIED
Emily A OstroskyFranceOnyama Limba QUALIFIED
Wickens K ShinkoRussiaXuxue Feng UNQUALIFIED
Maisha G FlosiCanadaAnna Fali RENEWAL
Julie I DilliardArgentinaIoni Bowcher QUALIFIED
Emily F RulapaughAustraliaAsiya Javayant UNQUALIFIED
Aruna B StensethIndiaBernardo Dominic UNQUALIFIED
Deepesh H BologniaJapanOnyama Limba QUALIFIED
Morrow L KolmetzSpainAnna Fali 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>