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 T PerinItalyIoni Bowcher PROPOSAL
Ashley Z SchemmerGermanyBernardo Dominic NEW
Maria J ButtItalyIoni Bowcher UNQUALIFIED
Mujtaba V BriddickAustraliaOnyama Limba RENEWAL
Aruna L ButtFranceElwin Sharvill NEGOTIATION
Morrow W DilliardUnited KingdomOnyama Limba NEW
Mayumi O FollerJapanIoni Bowcher RENEWAL
Salvatore K BologniaFranceBernardo Dominic UNQUALIFIED
Deepesh E MorascaIndiaXuxue Feng UNQUALIFIED
Smith P RulapaughIndiaOnyama Limba UNQUALIFIED
Chavez T AlbaresItalyAsiya Javayant NEW
Ashley N OstroskyArgentinaIvan Magalhaes UNQUALIFIED
Aditya J ButtArgentinaAsiya Javayant UNQUALIFIED
Octavia Y GauchoRussiaIvan Magalhaes NEW
Wickens Z KuskoAustraliaElwin Sharvill NEW
Cody D StensethUnited KingdomOnyama Limba NEW
Smith E DoeBrazilOnyama Limba RENEWAL
Ricardo Q IturbideFranceAsiya Javayant NEGOTIATION
Darci G StockhamIndiaIoni Bowcher NEGOTIATION
Leja W VenereGermanyXuxue Feng NEGOTIATION
Salvatore V BologniaJapanXuxue Feng NEW
Aruna U DoeArgentinaIvan Magalhaes NEGOTIATION
Claire L PaprockiAustraliaAsiya Javayant NEGOTIATION
Chavez Y SergiFranceXuxue Feng RENEWAL
Cody Q SergiItalyElwin Sharvill PROPOSAL
Izzy H KuskoIndiaIoni Bowcher RENEWAL
David S MarrierArgentinaStephen Shaw NEGOTIATION
Emily R StensethGermanyAnna Fali RENEWAL
Claire W FlosiIndiaBernardo Dominic UNQUALIFIED
James B AmigonBrazilBernardo Dominic NEGOTIATION
Wickens M RulapaughFranceOnyama Limba RENEWAL
Sinclair W SergiRussiaAmy Elsner NEW
Ricardo A NestleAustraliaAnna Fali NEW
Sinclair S VenereItalyBernardo Dominic UNQUALIFIED
Adams W TollnerGermanyAsiya Javayant NEW
Arvin E ShinkoGermanyIoni Bowcher PROPOSAL
Rodrigues E KuskoSpainIvan Magalhaes PROPOSAL
Jefferson B ShinkoRussiaElwin Sharvill RENEWAL
Ricardo J PerinRussiaElwin Sharvill RENEWAL
Darci S BowleyFranceIvan Magalhaes RENEWAL
Chavez O PoquetteFranceElwin Sharvill RENEWAL
Costa X SlusarskiIndiaAmy Elsner RENEWAL
Mayumi E DoeItalyAmy Elsner NEGOTIATION
Julie I GarufiJapanXuxue Feng UNQUALIFIED
Faith J GillianAustraliaAnna Fali RENEWAL
Leon Y VenereJapanStephen Shaw NEGOTIATION
Maria N ChuiItalyAmy Elsner NEW
Isabel Y InouyeArgentinaIoni Bowcher NEGOTIATION
Kadeem K StockhamFranceIvan Magalhaes PROPOSAL
Arvin F GlickFranceElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Adams N CaudyCanadaStephen Shaw UNQUALIFIED
Ivar Y MarrierJapanOnyama Limba NEGOTIATION
Aruna Z StensethSpainElwin Sharvill NEGOTIATION
Aruna U SlusarskiArgentinaElwin Sharvill NEW
David K IturbideCanadaBernardo Dominic NEW
Wickens M ButtFranceAnna Fali NEW
Julie O NestleJapanStephen Shaw PROPOSAL
Munro G WhobreyIndiaOnyama Limba UNQUALIFIED
Rodrigues C WieserBrazilElwin Sharvill PROPOSAL
Julie E MaletIndiaIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin I GarufiUnited Kingdom2024-05-31Dorl, James J Esq NEGOTIATION58Asiya Javayant
1001Izzy A DilliardRussia2024-06-12Benton, John B Jr NEGOTIATION98Onyama Limba
1002Cody J VocelkaRussia2024-06-02Commercial Press UNQUALIFIED91Elwin Sharvill
1003Arvin X DilliardCanada2024-05-29Morlong Associates RENEWAL4Amy Elsner
1004Rodrigues R AlbaresGermany2024-06-18Rousseaux, Michael Esq UNQUALIFIED86Xuxue Feng
1005Aika D InouyeFrance2024-06-16Commercial Press RENEWAL23Bernardo Dominic
1006Juan Y InouyeSpain2024-05-28Chapman, Ross E Esq NEW13Bernardo Dominic
1007Jefferson C RutaIndia2024-06-02Truhlar And Truhlar Attys RENEWAL17Ioni Bowcher
1008Misaki Z KolmetzFrance2024-06-09Dorl, James J Esq NEW63Anna Fali
1009Mujtaba C CaldareraFrance2024-06-08Morlong Associates UNQUALIFIED92Elwin Sharvill
1010Morrow K DilliardJapan2024-06-03Dorl, James J Esq PROPOSAL64Ivan Magalhaes
1011Emily T MaletCanada2024-06-02Rangoni Of Florence UNQUALIFIED76Onyama Limba
1012James W SergiFrance2024-06-11Morlong Associates PROPOSAL47Xuxue Feng
1013Misaki R GarufiAustralia2024-06-11Feltz Printing Service RENEWAL23Stephen Shaw
1014Antonio J FlosiGermany2024-05-30Chanay, Jeffrey A Esq NEW15Ioni Bowcher
1015Leon X BriddickSpain2024-06-17Benton, John B Jr UNQUALIFIED52Ivan Magalhaes
1016Sinclair D RutaArgentina2024-06-03Rangoni Of Florence RENEWAL22Bernardo Dominic
1017Sinclair O FigeroaItaly2024-05-25Feltz Printing Service RENEWAL74Asiya Javayant
1018Faith Y KuskoCanada2024-05-29Dorl, James J Esq NEGOTIATION92Asiya Javayant
1019Nicolas F BowleyUnited Kingdom2024-05-24Rousseaux, Michael Esq PROPOSAL86Amy Elsner
1020Francesco Q AlbaresSpain2024-05-25Feiner Bros RENEWAL91Amy Elsner
1021Ricardo X CaudyGermany2024-06-10Chemel, James L Cpa NEGOTIATION94Stephen Shaw
1022Isabel M BologniaIndia2024-06-19Chapman, Ross E Esq PROPOSAL46Amy Elsner
1023Tony U SchemmerFrance2024-06-11Rousseaux, Michael Esq NEGOTIATION50Ivan Magalhaes
1024Arvin R OstroskyRussia2024-06-15Chanay, Jeffrey A Esq RENEWAL51Onyama Limba
1025Juan T MacleadSpain2024-05-27Feiner Bros QUALIFIED14Amy Elsner
1026Darci Z GillianGermany2024-06-18Rangoni Of Florence NEW18Onyama Limba
1027Johnson K RoysterBrazil2024-05-31Feiner Bros PROPOSAL94Onyama Limba
1028Jeanfrancois O CampainFrance2024-06-13Feltz Printing Service UNQUALIFIED38Ioni Bowcher
1029Isabel O StockhamFrance2024-06-14Chemel, James L Cpa PROPOSAL30Elwin Sharvill
1030Octavia X SchemmerItaly2024-05-24Truhlar And Truhlar Attys NEW26Ivan Magalhaes
1031Greenwood J MaletCanada2024-05-29Chanay, Jeffrey A Esq PROPOSAL39Elwin Sharvill
1032Sinclair D BriddickIndia2024-06-02Buckley Miller Wright PROPOSAL79Elwin Sharvill
1033Tony U CaudyCanada2024-06-02Commercial Press NEW92Anna Fali
1034Juan M ButtSpain2024-05-30Buckley Miller Wright NEW78Bernardo Dominic
1035Ivar Z GillianBrazil2024-06-01Commercial Press NEW73Anna Fali
1036Murillo P GillianArgentina2024-06-05King, Christopher A Esq UNQUALIFIED84Onyama Limba
1037Aika K DoeRussia2024-06-01King, Christopher A Esq NEGOTIATION10Bernardo Dominic
1038Maisha H FerenczIndia2024-05-24Buckley Miller Wright NEW45Ivan Magalhaes
1039Maria G VocelkaAustralia2024-05-27Commercial Press UNQUALIFIED3Stephen Shaw
1040Arvin D InouyeArgentina2024-05-29Truhlar And Truhlar Attys NEGOTIATION60Bernardo Dominic
1041Emily F RulapaughRussia2024-06-13Chanay, Jeffrey A Esq NEGOTIATION60Bernardo Dominic
1042Ashley K TollnerAustralia2024-06-10Dorl, James J Esq PROPOSAL72Stephen Shaw
1043Maisha U RoysterSpain2024-06-18Printing Dimensions PROPOSAL40Ivan Magalhaes
1044Morrow E NickaRussia2024-06-07Morlong Associates NEGOTIATION93Asiya Javayant
1045Munro J FigeroaItaly2024-06-11Rousseaux, Michael Esq NEW54Elwin Sharvill
1046James W AmigonArgentina2024-06-06Morlong Associates RENEWAL71Stephen Shaw
1047Deepesh H MaletItaly2024-06-01Printing Dimensions RENEWAL68Anna Fali
1048Jennifer V WieserCanada2024-06-21Chanay, Jeffrey A Esq PROPOSAL74Xuxue Feng
1049Sinclair S BriddickJapan2024-06-21Commercial Press NEGOTIATION6Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Ashley L StockhamBrazilAmy Elsner QUALIFIED
Maisha S IturbideCanadaOnyama Limba QUALIFIED
Costa F WieserIndiaElwin Sharvill PROPOSAL
Deepesh C OldroydJapanXuxue Feng NEGOTIATION
Arvin V FollerAustraliaAmy Elsner UNQUALIFIED
Tony F SergiSpainOnyama Limba NEGOTIATION
Johnson K SaylorsJapanAsiya Javayant RENEWAL
Claire E AmigonItalyBernardo Dominic QUALIFIED
Darci R RimBrazilAnna Fali PROPOSAL
Johnson Z FollerArgentinaIoni Bowcher RENEWAL
Aditya S RutaUnited KingdomStephen Shaw RENEWAL
Nicolas S GauchoGermanyAmy Elsner QUALIFIED
Smith K GarufiJapanElwin Sharvill QUALIFIED
Ivar A SchemmerGermanyOnyama Limba NEW
Octavia J RimRussiaAnna Fali PROPOSAL
Francesco P FigeroaIndiaAnna Fali QUALIFIED
Emily U CaldareraGermanyAmy Elsner UNQUALIFIED
Aditya K RutaGermanyIoni Bowcher NEW
Ashley J VocelkaBrazilIvan Magalhaes PROPOSAL
Darci U ShinkoAustraliaAmy Elsner RENEWAL
Arvin O SchemmerSpainIoni Bowcher UNQUALIFIED
Julie T MaletRussiaElwin Sharvill NEW
Jefferson P BologniaSpainXuxue Feng QUALIFIED
Julie P GarufiGermanyStephen Shaw NEGOTIATION
Rodrigues M BriddickArgentinaOnyama Limba PROPOSAL
Jefferson F PoquetteUnited KingdomIvan Magalhaes UNQUALIFIED
Alejandro K TollnerCanadaStephen Shaw UNQUALIFIED
Alejandro K OldroydRussiaXuxue Feng NEGOTIATION
David Y WieserGermanyStephen Shaw QUALIFIED
Wickens E IturbideGermanyAnna Fali NEGOTIATION
Aruna S ShinkoBrazilAnna Fali UNQUALIFIED
Ricardo J AmigonCanadaIvan Magalhaes RENEWAL
Aika Q PerinGermanyBernardo Dominic NEGOTIATION
Antonio N RutaBrazilStephen Shaw QUALIFIED
Aditya F GlickArgentinaXuxue Feng UNQUALIFIED
Antonio D WaycottItalyElwin Sharvill NEGOTIATION
Sinclair R MacleadJapanIvan Magalhaes UNQUALIFIED
Stacey A PerinBrazilStephen Shaw NEW
Ivar X FlosiFranceIvan Magalhaes RENEWAL
James G DoeSpainIvan Magalhaes NEW
Smith Q RimBrazilIoni Bowcher RENEWAL
Munro V GlickAustraliaIoni Bowcher QUALIFIED
Jennifer H NickaItalyXuxue Feng NEW
Adams J DoeBrazilAnna Fali RENEWAL
Sinclair E PoquetteRussiaStephen Shaw RENEWAL
Clifford P PerinUnited KingdomXuxue Feng QUALIFIED
Aditya R BowleyAustraliaAsiya Javayant RENEWAL
Francesco V DarakjyArgentinaAmy Elsner RENEWAL
Isabel Y AmigonAustraliaAmy Elsner NEW
Costa H GauchoCanadaElwin Sharvill RENEWAL
Frozen Columns
Name
Costa S Malet
Sinclair B Foller
Izzy G Caudy
Antonio Q Stenseth
Aika B Tollner
Ashley T Glick
Darci C Malet
Wickens T Inouye
Ashley M Kusko
Murillo T Darakjy
Juan O Sergi
Tony F Whobrey
Aditya K Slusarski
Aruna H Waycott
Kadeem A Amigon
Izzy E Kolmetz
Alejandro J Oldroyd
Murillo B Iturbide
Misaki B Ostrosky
Izzy Z Maclead
Arvin X Wieser
Munro B Ostrosky
Johnson X Whobrey
Alejandro G Caldarera
Chavez D Vocelka
Izzy J Perin
Francesco R Foller
Murillo I Morasca
Smith J Marrier
Murillo N Malet
Aruna S Slusarski
Greenwood M Slusarski
Morrow F Figeroa
Alejandro W Albares
Chavez G Bolognia
Stacey C Stenseth
James F Morasca
Mujtaba O Paprocki
Maria I Iturbide
Greenwood V Ostrosky
Mayumi B Ferencz
Nicolas J Paprocki
Julie F Royster
Darci V Shinko
Claire P Stockham
Silvio E Rulapaugh
Antonio B Ruta
Isabel I Poquette
Tony G Darakjy
Antonio F Chui
IdCountryDate
1000Russia2024-06-06
1001Spain2024-06-03
1002Canada2024-06-06
1003Brazil2024-05-30
1004Japan2024-06-11
1005Argentina2024-06-18
1006Italy2024-06-04
1007Spain2024-05-30
1008Brazil2024-06-19
1009France2024-05-27
1010Russia2024-06-19
1011Japan2024-06-13
1012United Kingdom2024-05-28
1013Australia2024-05-29
1014France2024-06-18
1015India2024-06-01
1016Russia2024-06-18
1017Canada2024-05-25
1018Russia2024-05-28
1019Argentina2024-06-20
1020India2024-06-03
1021Japan2024-05-31
1022Russia2024-05-30
1023Argentina2024-06-13
1024United Kingdom2024-06-06
1025Canada2024-06-02
1026Canada2024-06-14
1027United Kingdom2024-06-12
1028Canada2024-06-16
1029Canada2024-06-19
1030Canada2024-05-29
1031India2024-06-13
1032Spain2024-06-05
1033Brazil2024-05-23
1034Russia2024-06-18
1035Argentina2024-06-11
1036Japan2024-05-27
1037Canada2024-05-29
1038France2024-05-25
1039United Kingdom2024-06-20
1040United Kingdom2024-05-24
1041India2024-06-01
1042Canada2024-06-04
1043Japan2024-06-04
1044Russia2024-06-07
1045Japan2024-06-11
1046Russia2024-06-08
1047Brazil2024-06-01
1048France2024-05-23
1049France2024-06-07

On-Demand Data

NameIdCountryDate
Aruna P Malet1000Spain2024-06-21
Ashley X Briddick1001Germany2024-06-02
Adams G Chui1002Italy2024-06-14
Darci I Darakjy1003Russia2024-05-23
Silvio F Poquette1004India2024-06-14
Misaki L Marrier1005Russia2024-06-11
Nicolas U Kolmetz1006Brazil2024-06-19
Juan W Saylors1007Argentina2024-06-07
Leja Q Butt1008Germany2024-06-18
David P Whobrey1009Russia2024-06-12
Salvatore G Butt1010Brazil2024-06-04
Munro Z Ostrosky1011France2024-06-03
Stacey Q Slusarski1012Japan2024-05-26
Francesco G Stockham1013Argentina2024-06-03
Kaitlin U Slusarski1014Spain2024-06-07
Mayumi P Morasca1015Germany2024-06-14
David R Stockham1016United Kingdom2024-06-19
Leja M Garufi1017Brazil2024-06-08
Kaitlin W Poquette1018Argentina2024-05-25
Greenwood C Wieser1019Italy2024-05-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson Z OldroydAustraliaElwin Sharvill UNQUALIFIED
Claire T FollerArgentinaAmy Elsner NEGOTIATION
Antonio W KolmetzIndiaAsiya Javayant PROPOSAL
Silvio O PoquetteCanadaAsiya Javayant PROPOSAL
Darci J BowleyJapanAsiya Javayant PROPOSAL
Misaki Z PaprockiBrazilAsiya Javayant PROPOSAL
Sinclair N VenereArgentinaAsiya Javayant NEGOTIATION
Aditya D SchemmerSpainBernardo Dominic QUALIFIED
Smith Q AlbaresSpainStephen Shaw QUALIFIED
Emily A RulapaughItalyStephen Shaw PROPOSAL
Smith D GlickCanadaIoni Bowcher NEW
Stacey U GarufiIndiaElwin Sharvill RENEWAL
Izzy G BriddickCanadaOnyama Limba QUALIFIED
Cody P RimRussiaBernardo Dominic NEW
Alejandro Z AmigonCanadaElwin Sharvill NEW
Antonio F CaldareraFranceBernardo Dominic QUALIFIED
Stacey O GillianCanadaBernardo Dominic NEGOTIATION
Ashley T CaudyCanadaStephen Shaw UNQUALIFIED
Costa F VocelkaCanadaElwin Sharvill NEW
Francesco J VenereBrazilAnna Fali NEGOTIATION
Munro G CaldareraBrazilOnyama Limba NEGOTIATION
Morrow S MaletJapanOnyama Limba PROPOSAL
Maisha B StensethUnited KingdomElwin Sharvill NEGOTIATION
Munro B RimBrazilElwin Sharvill NEGOTIATION
Aika Z RimCanadaStephen Shaw NEW
Francesco V MacleadFranceIoni Bowcher RENEWAL
Izzy M OstroskyJapanElwin Sharvill NEW
Ashley N PaprockiAustraliaBernardo Dominic QUALIFIED
Claire S OldroydGermanyXuxue Feng PROPOSAL
Nicolas E RoysterRussiaAsiya Javayant QUALIFIED
Maria Y OstroskyItalyBernardo Dominic UNQUALIFIED
Alejandro C OldroydJapanAnna Fali QUALIFIED
Aditya N OldroydCanadaElwin Sharvill PROPOSAL
James R PoquetteRussiaStephen Shaw UNQUALIFIED
Mayumi I KuskoBrazilBernardo Dominic RENEWAL
Ricardo P WieserSpainIvan Magalhaes QUALIFIED
Maisha B PoquetteGermanyAsiya Javayant RENEWAL
Octavia R IturbideUnited KingdomBernardo Dominic PROPOSAL
Aruna V SaylorsIndiaIoni Bowcher NEW
Octavia B CaldareraGermanyIvan Magalhaes 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>