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
Francesco O GauchoRussiaStephen Shaw RENEWAL
Jefferson D GauchoAustraliaIvan Magalhaes QUALIFIED
Claire A MacleadRussiaBernardo Dominic NEW
Clifford V BriddickFranceAmy Elsner RENEWAL
Jennifer S DoeJapanIoni Bowcher RENEWAL
Alejandro M StockhamUnited KingdomIvan Magalhaes UNQUALIFIED
Salvatore X FigeroaUnited KingdomAnna Fali QUALIFIED
Adams F ButtItalyBernardo Dominic NEGOTIATION
Nicolas M GillianCanadaElwin Sharvill NEW
Maria C MaletSpainAmy Elsner PROPOSAL
Johnson A MaletIndiaIvan Magalhaes UNQUALIFIED
Murillo L IturbideBrazilIvan Magalhaes RENEWAL
Emily Y VocelkaIndiaAnna Fali NEW
Jeanfrancois O WhobreyFranceXuxue Feng RENEWAL
Salvatore G RutaFranceAnna Fali PROPOSAL
Kadeem G VenereUnited KingdomElwin Sharvill PROPOSAL
Alejandro U SergiAustraliaAsiya Javayant UNQUALIFIED
Isabel J StensethAustraliaElwin Sharvill RENEWAL
Chavez L MaletUnited KingdomIoni Bowcher QUALIFIED
Rodrigues Q FigeroaIndiaXuxue Feng RENEWAL
Silvio R MorascaFranceXuxue Feng RENEWAL
Aditya M SergiCanadaElwin Sharvill NEGOTIATION
Kadeem F FerenczCanadaStephen Shaw RENEWAL
Nicolas S WaycottArgentinaXuxue Feng UNQUALIFIED
Leja Q SergiAustraliaIvan Magalhaes QUALIFIED
Antonio D WhobreyItalyAnna Fali QUALIFIED
Francesco F RulapaughArgentinaAnna Fali UNQUALIFIED
Antonio O GauchoIndiaIvan Magalhaes QUALIFIED
Morrow L RulapaughSpainBernardo Dominic NEGOTIATION
Leja V WieserRussiaIoni Bowcher PROPOSAL
Francesco V MacleadUnited KingdomAnna Fali UNQUALIFIED
Chavez F CaldareraJapanOnyama Limba NEGOTIATION
Leja N DarakjyItalyXuxue Feng QUALIFIED
Leja J GillianRussiaBernardo Dominic NEW
Jennifer S FigeroaFranceOnyama Limba NEW
Darci Z FerenczSpainXuxue Feng NEGOTIATION
Nicolas M OstroskyBrazilOnyama Limba UNQUALIFIED
Salvatore A OldroydArgentinaAsiya Javayant PROPOSAL
Morrow S MacleadItalyAsiya Javayant UNQUALIFIED
Ricardo W VenereJapanAmy Elsner PROPOSAL
Kadeem Q MarrierFranceStephen Shaw NEGOTIATION
Deepesh G DilliardItalyXuxue Feng PROPOSAL
Ricardo Q BologniaCanadaIvan Magalhaes NEGOTIATION
Leja V GauchoBrazilBernardo Dominic RENEWAL
Smith I TollnerGermanyAnna Fali QUALIFIED
Silvio Y WhobreyCanadaElwin Sharvill RENEWAL
Ashley S MorascaGermanyElwin Sharvill RENEWAL
Kadeem O OldroydIndiaAnna Fali PROPOSAL
Maisha K GillianRussiaAsiya Javayant UNQUALIFIED
Johnson O DarakjyItalyStephen Shaw RENEWAL
Horizontal
NameCountryRepresentativeStatus
Francesco W GarufiItalyStephen Shaw RENEWAL
Johnson P ButtJapanStephen Shaw RENEWAL
Johnson R StensethRussiaElwin Sharvill NEW
Faith Z PoquetteAustraliaIoni Bowcher UNQUALIFIED
Maisha A ButtRussiaIvan Magalhaes PROPOSAL
Jeanfrancois O VocelkaItalyStephen Shaw RENEWAL
Aika W VocelkaJapanOnyama Limba PROPOSAL
Nicolas G VenereGermanyOnyama Limba NEW
Deepesh R PoquetteGermanyIoni Bowcher NEGOTIATION
Ricardo C PaprockiIndiaBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha S VenereSpain2024-06-02Chemel, James L Cpa NEW0Anna Fali
1001Costa U FigeroaCanada2024-06-13King, Christopher A Esq RENEWAL23Asiya Javayant
1002Jones N FerenczItaly2024-06-22Chemel, James L Cpa NEGOTIATION78Amy Elsner
1003Costa T WieserJapan2024-06-06Feiner Bros NEW72Xuxue Feng
1004Alejandro N BowleyGermany2024-06-16Morlong Associates QUALIFIED3Bernardo Dominic
1005Misaki L BowleyUnited Kingdom2024-06-20Feiner Bros QUALIFIED87Elwin Sharvill
1006David F GauchoJapan2024-05-26Benton, John B Jr PROPOSAL74Elwin Sharvill
1007Claire Q KolmetzItaly2024-05-27King, Christopher A Esq PROPOSAL50Anna Fali
1008Juan E RimGermany2024-06-12Morlong Associates RENEWAL60Anna Fali
1009Isabel M PerinSpain2024-06-12Printing Dimensions PROPOSAL63Elwin Sharvill
1010James E FollerRussia2024-06-07Chapman, Ross E Esq NEGOTIATION29Amy Elsner
1011Aika A SlusarskiArgentina2024-05-29Morlong Associates NEGOTIATION92Stephen Shaw
1012Smith V PerinFrance2024-06-12Chanay, Jeffrey A Esq PROPOSAL92Asiya Javayant
1013Maria O SlusarskiAustralia2024-05-26Benton, John B Jr QUALIFIED42Onyama Limba
1014Francesco S MaletAustralia2024-05-24Commercial Press NEGOTIATION40Bernardo Dominic
1015Octavia T VenereRussia2024-05-30Morlong Associates QUALIFIED24Bernardo Dominic
1016Sinclair I SaylorsAustralia2024-06-13Rangoni Of Florence UNQUALIFIED11Onyama Limba
1017Maisha Q CaudyCanada2024-06-15Rousseaux, Michael Esq NEW29Anna Fali
1018Jeanfrancois M FollerSpain2024-06-07Feiner Bros QUALIFIED26Xuxue Feng
1019Mujtaba B CampainBrazil2024-06-11Chapman, Ross E Esq RENEWAL7Asiya Javayant
1020Faith T ChuiFrance2024-06-14Commercial Press PROPOSAL25Onyama Limba
1021Salvatore J SergiAustralia2024-06-13Feiner Bros NEW6Ioni Bowcher
1022Antonio A VocelkaFrance2024-05-27Feiner Bros UNQUALIFIED2Bernardo Dominic
1023Aditya W ButtItaly2024-05-31Morlong Associates UNQUALIFIED62Amy Elsner
1024Stacey P ChuiAustralia2024-06-10Chanay, Jeffrey A Esq UNQUALIFIED49Asiya Javayant
1025Mayumi F MaletRussia2024-06-01Printing Dimensions RENEWAL29Bernardo Dominic
1026Ivar L SaylorsItaly2024-05-24Rangoni Of Florence QUALIFIED2Stephen Shaw
1027Julie W KuskoArgentina2024-06-14Benton, John B Jr NEW5Amy Elsner
1028Arvin X WhobreyAustralia2024-05-25Morlong Associates RENEWAL18Stephen Shaw
1029Leja Q WieserRussia2024-06-18Rousseaux, Michael Esq PROPOSAL74Anna Fali
1030Emily K IturbideBrazil2024-06-05Benton, John B Jr PROPOSAL12Elwin Sharvill
1031Rodrigues K MacleadUnited Kingdom2024-06-13Chapman, Ross E Esq NEGOTIATION65Bernardo Dominic
1032Misaki I OldroydAustralia2024-05-26Rousseaux, Michael Esq NEGOTIATION1Anna Fali
1033Stacey Z SergiRussia2024-05-24Morlong Associates NEW3Elwin Sharvill
1034Morrow K VocelkaSpain2024-06-13King, Christopher A Esq RENEWAL62Amy Elsner
1035Arvin D PoquetteBrazil2024-05-28Chemel, James L Cpa RENEWAL49Anna Fali
1036Wickens J AmigonSpain2024-06-13Rousseaux, Michael Esq NEGOTIATION43Anna Fali
1037Misaki B PaprockiFrance2024-06-22Chapman, Ross E Esq QUALIFIED91Xuxue Feng
1038Juan W KuskoSpain2024-05-29Truhlar And Truhlar Attys PROPOSAL4Elwin Sharvill
1039Johnson Y GillianRussia2024-06-14Chemel, James L Cpa NEGOTIATION37Bernardo Dominic
1040Adams G AlbaresJapan2024-06-15Commercial Press UNQUALIFIED35Ioni Bowcher
1041Aruna Q FollerJapan2024-05-28Chanay, Jeffrey A Esq NEGOTIATION81Amy Elsner
1042Kadeem E MaletSpain2024-06-11Buckley Miller Wright RENEWAL51Ivan Magalhaes
1043James W DarakjyUnited Kingdom2024-05-29Dorl, James J Esq PROPOSAL98Ivan Magalhaes
1044Francesco K GlickJapan2024-06-04Feltz Printing Service NEW82Ivan Magalhaes
1045Sinclair X GarufiJapan2024-06-13Commercial Press RENEWAL92Bernardo Dominic
1046Emily W SlusarskiCanada2024-06-19Dorl, James J Esq RENEWAL92Ivan Magalhaes
1047Silvio S WaycottGermany2024-06-11King, Christopher A Esq NEGOTIATION70Ivan Magalhaes
1048Maria V TollnerBrazil2024-05-28Chapman, Ross E Esq QUALIFIED18Bernardo Dominic
1049Ivar Z AlbaresAustralia2024-06-20Buckley Miller Wright UNQUALIFIED18Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
David R WieserBrazilXuxue Feng UNQUALIFIED
Morrow U InouyeAustraliaStephen Shaw UNQUALIFIED
Claire M BologniaCanadaIvan Magalhaes NEGOTIATION
Salvatore H MaletRussiaBernardo Dominic UNQUALIFIED
Octavia S BriddickItalyStephen Shaw RENEWAL
Johnson Y VocelkaCanadaStephen Shaw QUALIFIED
Clifford S CampainFranceAmy Elsner UNQUALIFIED
Mayumi P SergiSpainAsiya Javayant NEW
Mayumi I FlosiFranceAsiya Javayant QUALIFIED
David W BologniaItalyAsiya Javayant PROPOSAL
Morrow M CaudyRussiaXuxue Feng RENEWAL
Emily N DarakjyIndiaStephen Shaw QUALIFIED
Claire M CaudyIndiaAsiya Javayant PROPOSAL
Francesco V StensethItalyElwin Sharvill NEW
Jefferson G FigeroaRussiaAsiya Javayant QUALIFIED
Kaitlin M WaycottAustraliaAmy Elsner PROPOSAL
Silvio V SergiItalyBernardo Dominic NEGOTIATION
Misaki R GauchoArgentinaOnyama Limba NEW
Emily I OldroydUnited KingdomAsiya Javayant PROPOSAL
Jones L SergiArgentinaOnyama Limba NEW
Isabel C BowleyArgentinaElwin Sharvill QUALIFIED
Munro B StockhamIndiaXuxue Feng RENEWAL
Salvatore Y WaycottBrazilAnna Fali QUALIFIED
Deepesh E RoysterCanadaOnyama Limba UNQUALIFIED
Julie Y DoeFranceAmy Elsner UNQUALIFIED
Morrow J SergiUnited KingdomIvan Magalhaes RENEWAL
Rodrigues P MaletUnited KingdomAnna Fali RENEWAL
Francesco Q NestleItalyElwin Sharvill QUALIFIED
Stacey K RulapaughGermanyOnyama Limba NEW
Murillo O AmigonJapanBernardo Dominic RENEWAL
Antonio I StensethJapanIoni Bowcher RENEWAL
Juan X CaldareraFranceBernardo Dominic PROPOSAL
Leja E FollerCanadaAnna Fali NEW
Claire E RoysterRussiaAmy Elsner NEGOTIATION
Munro E PerinArgentinaXuxue Feng NEGOTIATION
Ricardo E TollnerBrazilAmy Elsner QUALIFIED
Leon D MacleadArgentinaAsiya Javayant NEGOTIATION
Smith K GillianItalyXuxue Feng NEW
Aruna Z CampainBrazilXuxue Feng NEGOTIATION
Stacey L BologniaIndiaElwin Sharvill RENEWAL
Chavez A VocelkaGermanyStephen Shaw UNQUALIFIED
Murillo Z SlusarskiCanadaAnna Fali NEW
Leja Y SergiItalyXuxue Feng RENEWAL
Jennifer K KuskoArgentinaStephen Shaw NEW
Kaitlin B SergiSpainAmy Elsner PROPOSAL
David S FollerJapanAnna Fali QUALIFIED
Silvio W FollerFranceStephen Shaw RENEWAL
Mayumi B KuskoItalyAmy Elsner RENEWAL
James C SaylorsAustraliaIvan Magalhaes QUALIFIED
Kaitlin M FerenczUnited KingdomIoni Bowcher RENEWAL
Frozen Columns
Name
Aika K Venere
Greenwood E Campain
Kaitlin A Poquette
Mujtaba M Rulapaugh
Ivar M Paprocki
Morrow S Tollner
Faith Q Gillian
Nicolas F Gillian
Julie Q Marrier
Kaitlin S Ferencz
Isabel G Venere
Claire I Flosi
Antonio F Ostrosky
Aika H Ruta
Silvio Z Royster
Mayumi G Ruta
Adams N Inouye
Leon K Rim
Ashley O Caudy
Silvio I Royster
Mayumi I Darakjy
Greenwood H Rim
Isabel E Garufi
Ricardo I Marrier
Kaitlin R Bolognia
Stacey V Amigon
Mujtaba O Ferencz
James I Nicka
Silvio L Figeroa
Misaki B Albares
Kaitlin R Caldarera
Ashley E Dilliard
Johnson W Nicka
Tony J Poquette
Antonio A Paprocki
Silvio S Briddick
Ivar T Vocelka
Alejandro Y Nicka
Leon M Nestle
Misaki S Caldarera
James T Flosi
Ashley U Wieser
Deepesh R Briddick
Ashley C Dilliard
Tony X Ferencz
Adams Z Gaucho
Claire L Caudy
Maisha O Caudy
Johnson J Flosi
Darci X Dilliard
IdCountryDate
1000India2024-05-29
1001Canada2024-06-21
1002India2024-06-09
1003Spain2024-06-01
1004Argentina2024-06-09
1005India2024-06-10
1006Spain2024-06-04
1007Italy2024-06-13
1008Russia2024-06-19
1009Russia2024-05-27
1010Germany2024-06-17
1011Brazil2024-05-24
1012France2024-05-28
1013United Kingdom2024-05-26
1014Australia2024-06-12
1015Russia2024-05-27
1016Italy2024-06-19
1017Italy2024-06-13
1018France2024-05-27
1019Germany2024-06-03
1020Italy2024-06-10
1021Spain2024-06-04
1022India2024-06-02
1023Spain2024-06-17
1024Germany2024-06-02
1025United Kingdom2024-06-22
1026France2024-06-21
1027Argentina2024-06-19
1028Russia2024-06-09
1029Argentina2024-05-30
1030France2024-06-21
1031India2024-06-04
1032India2024-06-09
1033Brazil2024-06-02
1034Russia2024-05-24
1035Russia2024-05-26
1036India2024-06-19
1037Spain2024-06-05
1038Brazil2024-06-15
1039France2024-06-21
1040Canada2024-06-20
1041Canada2024-06-09
1042Canada2024-05-29
1043Russia2024-06-10
1044United Kingdom2024-05-31
1045Germany2024-06-08
1046Argentina2024-06-12
1047France2024-06-21
1048Spain2024-06-07
1049Brazil2024-06-22

On-Demand Data

NameIdCountryDate
Tony B Gaucho1000Australia2024-06-13
Octavia A Waycott1001Italy2024-06-07
Silvio T Poquette1002Germany2024-06-09
Faith I Royster1003Argentina2024-06-14
Morrow A Oldroyd1004Japan2024-05-30
Smith E Darakjy1005Russia2024-06-13
Juan H Ruta1006Argentina2024-06-05
Salvatore X Chui1007Japan2024-05-29
Greenwood H Kolmetz1008Brazil2024-06-20
Darci Q Bolognia1009United Kingdom2024-06-19
Jeanfrancois A Rulapaugh1010Brazil2024-05-31
Darci F Butt1011Russia2024-06-12
Izzy P Ruta1012Spain2024-05-26
Aditya U Amigon1013Italy2024-05-30
Leja C Stockham1014Argentina2024-06-20
Jones C Campain1015France2024-06-15
Emily Q Kolmetz1016India2024-06-01
Jeanfrancois A Saylors1017Japan2024-06-16
Costa H Flosi1018United Kingdom2024-06-09
Silvio C Glick1019Canada2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha M DilliardCanadaXuxue Feng PROPOSAL
Francesco P StensethCanadaAnna Fali PROPOSAL
Nicolas K GauchoIndiaAnna Fali NEW
Cody U MorascaArgentinaIoni Bowcher QUALIFIED
David G CampainGermanyAsiya Javayant NEGOTIATION
Arvin F CampainAustraliaIoni Bowcher PROPOSAL
Juan D PaprockiSpainIvan Magalhaes UNQUALIFIED
Greenwood I BriddickSpainBernardo Dominic NEW
Jones I FerenczCanadaAnna Fali RENEWAL
Mujtaba R VenereIndiaAmy Elsner PROPOSAL
Kaitlin O WieserUnited KingdomIoni Bowcher NEGOTIATION
Faith E MaletArgentinaStephen Shaw RENEWAL
Stacey A StensethIndiaBernardo Dominic NEW
Juan C WieserSpainAmy Elsner PROPOSAL
Izzy Y WieserBrazilIvan Magalhaes QUALIFIED
Rodrigues P StockhamJapanStephen Shaw QUALIFIED
Kaitlin F KuskoAustraliaOnyama Limba NEGOTIATION
James Y FigeroaCanadaAnna Fali RENEWAL
Alejandro A DarakjyFranceAmy Elsner QUALIFIED
Johnson S RulapaughItalyStephen Shaw NEW
Aditya I NickaJapanIoni Bowcher PROPOSAL
Mujtaba M NickaUnited KingdomBernardo Dominic UNQUALIFIED
Johnson L DoeUnited KingdomIoni Bowcher PROPOSAL
Emily H CampainItalyAmy Elsner NEW
Maisha C MarrierCanadaXuxue Feng NEW
Stacey U ShinkoAustraliaIvan Magalhaes QUALIFIED
Francesco K GillianArgentinaAmy Elsner NEGOTIATION
Isabel L DilliardIndiaOnyama Limba QUALIFIED
Izzy K ChuiGermanyIoni Bowcher RENEWAL
Adams Z RutaArgentinaElwin Sharvill NEGOTIATION
Octavia X MacleadUnited KingdomBernardo Dominic UNQUALIFIED
Octavia F DarakjyGermanyStephen Shaw RENEWAL
Julie G WaycottCanadaElwin Sharvill QUALIFIED
Chavez M GarufiArgentinaOnyama Limba UNQUALIFIED
Ricardo U GarufiSpainStephen Shaw QUALIFIED
Sinclair N VocelkaFranceOnyama Limba PROPOSAL
Mujtaba J GarufiSpainXuxue Feng RENEWAL
James K AmigonIndiaAnna Fali NEW
Izzy E FerenczUnited KingdomIoni Bowcher NEW
Chavez I StockhamSpainOnyama Limba 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>