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
Faith V InouyeAustraliaOnyama Limba RENEWAL
Claire V BologniaGermanyStephen Shaw QUALIFIED
Jones A NestleJapanElwin Sharvill RENEWAL
James L StockhamUnited KingdomIoni Bowcher NEW
Salvatore N InouyeArgentinaStephen Shaw NEW
Clifford Y BologniaBrazilElwin Sharvill RENEWAL
Cody N CaudyJapanBernardo Dominic NEW
Tony Q AmigonGermanyIoni Bowcher UNQUALIFIED
Morrow J PerinUnited KingdomBernardo Dominic RENEWAL
Murillo M MarrierBrazilStephen Shaw QUALIFIED
Jones R GarufiGermanyStephen Shaw NEW
Arvin Y KuskoJapanXuxue Feng QUALIFIED
Nicolas T FlosiAustraliaIvan Magalhaes NEGOTIATION
Mayumi N TollnerAustraliaStephen Shaw QUALIFIED
Clifford X KuskoFranceStephen Shaw NEGOTIATION
Adams B FerenczGermanyBernardo Dominic QUALIFIED
Jennifer D FerenczRussiaStephen Shaw RENEWAL
Silvio T AmigonCanadaAsiya Javayant RENEWAL
Tony S SchemmerBrazilAnna Fali RENEWAL
Juan S RimBrazilIoni Bowcher RENEWAL
Cody Y KuskoBrazilAsiya Javayant RENEWAL
Jefferson T MorascaUnited KingdomAnna Fali NEW
Darci I SchemmerRussiaAmy Elsner NEW
Jeanfrancois D RoysterGermanyBernardo Dominic RENEWAL
Juan X RulapaughItalyAmy Elsner PROPOSAL
Alejandro C WieserGermanyIoni Bowcher PROPOSAL
Sinclair B KuskoItalyStephen Shaw NEGOTIATION
Leja F GillianItalyIvan Magalhaes UNQUALIFIED
Leja G CaudyJapanStephen Shaw QUALIFIED
Juan H OldroydAustraliaIvan Magalhaes NEGOTIATION
Adams B MacleadAustraliaXuxue Feng PROPOSAL
Arvin P BowleyFranceBernardo Dominic UNQUALIFIED
Ricardo J OldroydAustraliaAsiya Javayant UNQUALIFIED
Kaitlin F ChuiFranceIvan Magalhaes QUALIFIED
Jones T AmigonItalyIvan Magalhaes PROPOSAL
James Y ChuiAustraliaXuxue Feng QUALIFIED
Claire Y DilliardFranceAnna Fali PROPOSAL
Cody J VenereIndiaIvan Magalhaes RENEWAL
Chavez G WaycottCanadaBernardo Dominic RENEWAL
Antonio D WieserItalyAnna Fali RENEWAL
Octavia E WhobreyGermanyIvan Magalhaes RENEWAL
Morrow R SlusarskiJapanAnna Fali PROPOSAL
Morrow A CampainArgentinaIoni Bowcher PROPOSAL
Faith K IturbideAustraliaAmy Elsner NEW
Greenwood A RulapaughUnited KingdomAmy Elsner QUALIFIED
Julie Z ButtAustraliaIoni Bowcher NEW
Deepesh O OstroskyAustraliaXuxue Feng UNQUALIFIED
Kaitlin Y BriddickRussiaElwin Sharvill NEW
Isabel W CaudyArgentinaOnyama Limba RENEWAL
Murillo I GillianRussiaOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Darci B PaprockiAustraliaIoni Bowcher NEW
James T RimJapanElwin Sharvill QUALIFIED
Aditya W SergiFranceXuxue Feng UNQUALIFIED
Murillo B MaletAustraliaOnyama Limba UNQUALIFIED
Misaki P MaletCanadaAnna Fali NEW
Stacey O MacleadSpainElwin Sharvill RENEWAL
Francesco I AlbaresSpainBernardo Dominic NEW
Morrow B TollnerAustraliaBernardo Dominic UNQUALIFIED
Rodrigues X KuskoArgentinaAmy Elsner RENEWAL
Salvatore W SaylorsGermanyAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki E MaletBrazil2025-05-27Dorl, James J Esq NEGOTIATION68Ioni Bowcher
1001Mayumi Z RimRussia2025-05-28King, Christopher A Esq RENEWAL25Anna Fali
1002Jones K SlusarskiBrazil2025-05-29Morlong Associates NEW27Xuxue Feng
1003Johnson W StockhamUnited Kingdom2025-06-10King, Christopher A Esq RENEWAL22Ioni Bowcher
1004Aditya F RimIndia2025-05-28Chanay, Jeffrey A Esq NEGOTIATION88Onyama Limba
1005Ricardo G ShinkoFrance2025-06-15Morlong Associates NEW56Anna Fali
1006Johnson V NickaGermany2025-05-30Commercial Press UNQUALIFIED39Anna Fali
1007Francesco B RimJapan2025-05-30Chanay, Jeffrey A Esq QUALIFIED4Bernardo Dominic
1008Silvio K DoeJapan2025-05-23King, Christopher A Esq QUALIFIED91Amy Elsner
1009Wickens K FollerBrazil2025-06-08Rousseaux, Michael Esq QUALIFIED0Anna Fali
1010Salvatore I AlbaresJapan2025-05-20Rousseaux, Michael Esq PROPOSAL54Onyama Limba
1011Emily N KolmetzArgentina2025-06-12Rousseaux, Michael Esq RENEWAL93Elwin Sharvill
1012James Y CaldareraJapan2025-05-18Rousseaux, Michael Esq QUALIFIED50Ioni Bowcher
1013Mujtaba N GauchoJapan2025-05-25Rousseaux, Michael Esq PROPOSAL32Amy Elsner
1014Isabel C FigeroaCanada2025-06-10Buckley Miller Wright NEW91Bernardo Dominic
1015Maisha Z PerinGermany2025-06-12Printing Dimensions UNQUALIFIED31Ivan Magalhaes
1016Ricardo Y FollerCanada2025-06-01Benton, John B Jr NEW68Ivan Magalhaes
1017Greenwood Q FollerCanada2025-06-11Benton, John B Jr NEW31Anna Fali
1018Jefferson I FigeroaItaly2025-05-18Morlong Associates PROPOSAL22Elwin Sharvill
1019Leja H BriddickAustralia2025-06-12Chemel, James L Cpa NEGOTIATION82Onyama Limba
1020Kadeem V InouyeCanada2025-05-21Commercial Press UNQUALIFIED77Amy Elsner
1021Morrow X ButtAustralia2025-06-15Commercial Press RENEWAL82Elwin Sharvill
1022Stacey M FigeroaJapan2025-06-16Buckley Miller Wright NEW70Xuxue Feng
1023Julie D ButtGermany2025-06-09Commercial Press QUALIFIED55Xuxue Feng
1024Costa L BologniaRussia2025-05-28Benton, John B Jr QUALIFIED57Amy Elsner
1025Leon L MaletCanada2025-06-11Morlong Associates QUALIFIED46Elwin Sharvill
1026Alejandro N SergiCanada2025-06-05Chapman, Ross E Esq QUALIFIED32Stephen Shaw
1027Misaki S GillianIndia2025-06-15Feltz Printing Service QUALIFIED79Anna Fali
1028Jeanfrancois P WieserJapan2025-05-25Printing Dimensions UNQUALIFIED94Ioni Bowcher
1029Arvin G FigeroaAustralia2025-05-24Dorl, James J Esq RENEWAL18Onyama Limba
1030Leon U MacleadArgentina2025-05-20Feltz Printing Service PROPOSAL34Stephen Shaw
1031Ricardo K GlickItaly2025-06-12Chapman, Ross E Esq NEGOTIATION23Anna Fali
1032Rodrigues C GillianRussia2025-06-08Benton, John B Jr PROPOSAL91Elwin Sharvill
1033Julie J FerenczJapan2025-06-09Chemel, James L Cpa RENEWAL99Stephen Shaw
1034Kaitlin G SaylorsRussia2025-05-18Feltz Printing Service UNQUALIFIED19Ivan Magalhaes
1035James T TollnerArgentina2025-06-16Benton, John B Jr UNQUALIFIED42Bernardo Dominic
1036Claire N PerinArgentina2025-05-23Rangoni Of Florence QUALIFIED63Asiya Javayant
1037Mayumi Y OstroskyCanada2025-05-27Benton, John B Jr NEGOTIATION70Anna Fali
1038Mujtaba M MacleadAustralia2025-06-01Rangoni Of Florence QUALIFIED19Stephen Shaw
1039Morrow I GlickFrance2025-05-23Printing Dimensions RENEWAL6Amy Elsner
1040Adams U FlosiSpain2025-05-27Rangoni Of Florence PROPOSAL97Stephen Shaw
1041Jones Y GarufiArgentina2025-05-28Buckley Miller Wright RENEWAL45Xuxue Feng
1042Wickens R MacleadAustralia2025-05-23King, Christopher A Esq NEW71Anna Fali
1043Alejandro T RimFrance2025-05-21Printing Dimensions QUALIFIED17Ioni Bowcher
1044James N DoeItaly2025-05-19Rangoni Of Florence RENEWAL48Bernardo Dominic
1045Nicolas H BriddickCanada2025-06-12Chemel, James L Cpa QUALIFIED52Amy Elsner
1046Kadeem M SergiUnited Kingdom2025-05-19Dorl, James J Esq NEGOTIATION82Elwin Sharvill
1047Jeanfrancois X CaudyJapan2025-06-14Morlong Associates RENEWAL7Onyama Limba
1048Mayumi V OstroskyRussia2025-06-12Feiner Bros NEW3Xuxue Feng
1049Antonio H RimSpain2025-05-26Chapman, Ross E Esq UNQUALIFIED26Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Nicolas R SlusarskiUnited KingdomBernardo Dominic RENEWAL
Aditya D StockhamGermanyOnyama Limba RENEWAL
Murillo G SlusarskiSpainOnyama Limba RENEWAL
Mujtaba W BologniaUnited KingdomXuxue Feng NEGOTIATION
Aika O WaycottIndiaAnna Fali NEW
Maria I GauchoArgentinaStephen Shaw NEGOTIATION
Deepesh T PaprockiItalyAnna Fali RENEWAL
Mujtaba I DarakjyGermanyOnyama Limba RENEWAL
Munro Z NickaUnited KingdomAsiya Javayant NEW
Jennifer V PaprockiGermanyIvan Magalhaes PROPOSAL
Aruna V RoysterArgentinaXuxue Feng QUALIFIED
Juan I RulapaughCanadaIoni Bowcher RENEWAL
Greenwood O CaudyBrazilStephen Shaw UNQUALIFIED
Chavez G FollerRussiaOnyama Limba NEW
Mujtaba D VocelkaBrazilIvan Magalhaes NEW
Jefferson Y OldroydJapanIvan Magalhaes QUALIFIED
Costa J GauchoRussiaElwin Sharvill NEGOTIATION
Leja G MaletUnited KingdomBernardo Dominic NEW
Smith E PaprockiSpainAnna Fali UNQUALIFIED
Claire P FollerUnited KingdomIoni Bowcher RENEWAL
Ricardo T WieserAustraliaElwin Sharvill NEW
Julie F BowleyIndiaXuxue Feng QUALIFIED
Greenwood J OldroydRussiaIoni Bowcher NEGOTIATION
Kadeem S FerenczIndiaAsiya Javayant NEW
Leja G WaycottJapanBernardo Dominic PROPOSAL
Smith U InouyeArgentinaXuxue Feng NEGOTIATION
Faith M GauchoCanadaIoni Bowcher PROPOSAL
Costa G FerenczItalyAsiya Javayant PROPOSAL
Tony Q FerenczItalyIoni Bowcher NEW
Mujtaba C NestleFranceElwin Sharvill RENEWAL
Stacey C GillianRussiaIoni Bowcher NEW
Alejandro S PaprockiFranceIvan Magalhaes PROPOSAL
Octavia I GarufiItalyIoni Bowcher RENEWAL
Wickens L TollnerRussiaAsiya Javayant UNQUALIFIED
Maisha J MacleadArgentinaAnna Fali QUALIFIED
Kaitlin K PerinCanadaIvan Magalhaes NEGOTIATION
Jones K StensethIndiaIoni Bowcher QUALIFIED
Antonio G SlusarskiSpainOnyama Limba RENEWAL
Claire S SlusarskiBrazilOnyama Limba NEW
Johnson O RoysterIndiaAsiya Javayant NEW
Rodrigues U TollnerGermanyStephen Shaw NEW
Munro W VenereArgentinaIoni Bowcher UNQUALIFIED
Claire Z StensethCanadaXuxue Feng PROPOSAL
Kadeem E ButtItalyOnyama Limba RENEWAL
Maisha H CaudyUnited KingdomElwin Sharvill RENEWAL
Rodrigues K MaletCanadaAmy Elsner PROPOSAL
Aruna U PerinBrazilStephen Shaw NEGOTIATION
Greenwood K MacleadSpainIvan Magalhaes RENEWAL
Jefferson I CaldareraGermanyStephen Shaw RENEWAL
Johnson R MaletIndiaBernardo Dominic PROPOSAL
Frozen Columns
Name
Morrow P Wieser
Juan M Stenseth
Tony M Oldroyd
Jones G Briddick
Wickens U Waycott
Jones A Waycott
Wickens X Darakjy
Arvin X Shinko
Ashley Y Briddick
Wickens M Rulapaugh
Sinclair O Perin
David Z Malet
Cody Y Figeroa
Ashley T Schemmer
Jeanfrancois F Oldroyd
Jones W Slusarski
Antonio Y Chui
Ricardo R Tollner
Isabel K Maclead
Cody E Kusko
Ivar Q Iturbide
Clifford L Ferencz
Emily B Caldarera
Stacey V Bolognia
Aika D Bolognia
Tony J Campain
Nicolas J Saylors
Jeanfrancois J Oldroyd
Cody L Inouye
Nicolas Y Amigon
Jefferson I Venere
Claire J Briddick
Clifford H Bowley
Francesco C Briddick
Darci Z Sergi
Maria L Ostrosky
Juan P Maclead
Tony K Morasca
Octavia J Kolmetz
Greenwood H Campain
Maisha P Whobrey
Faith M Bowley
Munro D Kolmetz
Francesco V Kolmetz
Silvio O Perin
Deepesh M Ruta
Jones M Dilliard
Kadeem R Wieser
Alejandro K Rim
Maisha I Oldroyd
IdCountryDate
1000India2025-05-20
1001France2025-06-01
1002Brazil2025-05-23
1003India2025-06-06
1004Spain2025-05-18
1005Germany2025-05-19
1006Italy2025-06-03
1007Japan2025-06-11
1008Argentina2025-05-24
1009Germany2025-06-04
1010Russia2025-06-04
1011India2025-06-02
1012Germany2025-05-31
1013Russia2025-05-22
1014Spain2025-05-24
1015Russia2025-05-25
1016United Kingdom2025-05-21
1017France2025-06-14
1018Russia2025-05-21
1019Japan2025-05-19
1020Australia2025-05-19
1021Italy2025-05-23
1022Brazil2025-06-06
1023United Kingdom2025-05-25
1024Italy2025-06-16
1025France2025-06-02
1026Argentina2025-05-31
1027Italy2025-06-15
1028Canada2025-05-29
1029India2025-06-14
1030Germany2025-06-04
1031United Kingdom2025-05-30
1032Germany2025-06-07
1033Argentina2025-06-05
1034Spain2025-05-18
1035Brazil2025-06-12
1036Brazil2025-06-08
1037Argentina2025-05-21
1038Australia2025-06-09
1039United Kingdom2025-06-15
1040France2025-06-03
1041Brazil2025-06-08
1042Japan2025-06-04
1043Brazil2025-06-12
1044Germany2025-05-27
1045Italy2025-06-11
1046Russia2025-06-16
1047Germany2025-05-24
1048Japan2025-06-04
1049Argentina2025-05-21

On-Demand Data

NameIdCountryDate
Morrow Q Vocelka1000Germany2025-06-08
Isabel G Whobrey1001United Kingdom2025-05-19
Emily Q Foller1002Spain2025-05-21
Kadeem L Marrier1003Canada2025-06-03
Jones F Ostrosky1004Italy2025-05-19
Stacey D Shinko1005Argentina2025-06-02
Mujtaba O Ostrosky1006Australia2025-05-27
Jones N Flosi1007United Kingdom2025-06-07
Ashley Y Kusko1008Germany2025-05-31
Darci A Nestle1009United Kingdom2025-06-14
Smith T Glick1010France2025-06-02
Adams V Kolmetz1011Argentina2025-06-12
Mayumi V Kusko1012Russia2025-06-15
Johnson C Oldroyd1013Russia2025-05-23
Johnson T Ferencz1014Brazil2025-06-10
Leja M Rulapaugh1015Canada2025-05-29
Arvin M Gillian1016Russia2025-06-06
Tony B Maclead1017Japan2025-06-07
Aditya R Flosi1018Germany2025-06-06
Rodrigues F Marrier1019India2025-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio Y RoysterAustraliaIoni Bowcher PROPOSAL
Ricardo H RulapaughJapanBernardo Dominic PROPOSAL
Deepesh D GarufiUnited KingdomAsiya Javayant NEW
Emily A CaudySpainXuxue Feng NEW
Salvatore X CaudyRussiaBernardo Dominic NEW
Jennifer V PerinSpainIoni Bowcher QUALIFIED
Costa B FerenczCanadaBernardo Dominic QUALIFIED
Jeanfrancois N MaletRussiaStephen Shaw PROPOSAL
Cody C FerenczRussiaXuxue Feng RENEWAL
Alejandro H CampainAustraliaElwin Sharvill UNQUALIFIED
Aruna X MacleadArgentinaAsiya Javayant RENEWAL
Costa K DilliardIndiaStephen Shaw NEW
Costa J MorascaArgentinaIvan Magalhaes QUALIFIED
Adams S PaprockiUnited KingdomIvan Magalhaes NEW
Tony E BologniaAustraliaAsiya Javayant NEGOTIATION
Francesco X CaldareraRussiaIvan Magalhaes NEGOTIATION
Mujtaba Z RoysterUnited KingdomStephen Shaw NEGOTIATION
Salvatore X NestleIndiaIvan Magalhaes UNQUALIFIED
Smith C BologniaFranceAnna Fali NEW
Maisha F MaletRussiaAsiya Javayant RENEWAL
Clifford E GillianSpainBernardo Dominic NEW
Ashley W OstroskyFranceAnna Fali UNQUALIFIED
Wickens R KolmetzArgentinaIvan Magalhaes PROPOSAL
Munro S BriddickFranceIvan Magalhaes QUALIFIED
Silvio K MorascaItalyAmy Elsner NEGOTIATION
Nicolas V InouyeJapanIvan Magalhaes QUALIFIED
Tony I FerenczRussiaIoni Bowcher PROPOSAL
Francesco R CaudyItalyElwin Sharvill QUALIFIED
Deepesh P AlbaresJapanAsiya Javayant RENEWAL
Isabel S RulapaughSpainIvan Magalhaes PROPOSAL
Aruna P InouyeGermanyBernardo Dominic NEW
Morrow U PerinAustraliaIvan Magalhaes QUALIFIED
Claire X StockhamRussiaAmy Elsner NEW
Kaitlin D BologniaUnited KingdomIvan Magalhaes UNQUALIFIED
Isabel A FlosiFranceAmy Elsner RENEWAL
Morrow M VenereGermanyXuxue Feng UNQUALIFIED
Munro X CampainBrazilIvan Magalhaes RENEWAL
Aditya N AlbaresFranceBernardo Dominic NEGOTIATION
David N DilliardSpainXuxue Feng RENEWAL
Greenwood G DilliardSpainStephen Shaw NEW

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