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
Octavia W DilliardBrazilIvan Magalhaes RENEWAL
Clifford R TollnerIndiaAmy Elsner PROPOSAL
Adams M WieserSpainIvan Magalhaes RENEWAL
Jefferson G VenereJapanElwin Sharvill NEW
Munro K ChuiJapanAsiya Javayant PROPOSAL
Alejandro V FigeroaRussiaXuxue Feng QUALIFIED
Johnson E OldroydAustraliaIoni Bowcher RENEWAL
Julie S FigeroaUnited KingdomElwin Sharvill UNQUALIFIED
Rodrigues G InouyeItalyStephen Shaw QUALIFIED
Munro E CampainAustraliaAsiya Javayant NEGOTIATION
Munro K IturbideItalyBernardo Dominic UNQUALIFIED
Mujtaba Z CaudyCanadaElwin Sharvill UNQUALIFIED
Salvatore W StensethBrazilAnna Fali PROPOSAL
Alejandro R PerinJapanAnna Fali UNQUALIFIED
Arvin F BowleyBrazilXuxue Feng QUALIFIED
Izzy A FerenczJapanStephen Shaw PROPOSAL
Alejandro G FigeroaUnited KingdomBernardo Dominic PROPOSAL
Darci L GillianBrazilOnyama Limba QUALIFIED
Juan M GauchoUnited KingdomIvan Magalhaes NEW
Mayumi H ButtArgentinaAsiya Javayant QUALIFIED
Cody Q DoeUnited KingdomElwin Sharvill PROPOSAL
Cody D VocelkaGermanyXuxue Feng NEGOTIATION
Julie S OstroskyArgentinaElwin Sharvill NEGOTIATION
Antonio S VenereGermanyOnyama Limba NEW
Mujtaba J OstroskyArgentinaIoni Bowcher NEGOTIATION
Julie X VocelkaRussiaAsiya Javayant QUALIFIED
Chavez H FollerIndiaXuxue Feng NEW
Johnson F BowleyCanadaStephen Shaw PROPOSAL
James Y TollnerBrazilElwin Sharvill NEW
Kadeem D OldroydCanadaElwin Sharvill UNQUALIFIED
Ashley G DilliardJapanOnyama Limba PROPOSAL
Sinclair G DarakjyItalyAnna Fali NEW
Aditya Z RulapaughBrazilAnna Fali UNQUALIFIED
Sinclair Y BologniaItalyAsiya Javayant NEGOTIATION
Stacey X KolmetzUnited KingdomOnyama Limba UNQUALIFIED
Murillo V FigeroaIndiaAnna Fali UNQUALIFIED
Cody Z VocelkaJapanOnyama Limba NEGOTIATION
Leon L MarrierUnited KingdomElwin Sharvill RENEWAL
Tony L SlusarskiIndiaStephen Shaw RENEWAL
Jefferson U CaldareraAustraliaAnna Fali RENEWAL
Wickens W NestleCanadaOnyama Limba RENEWAL
Adams X RulapaughFranceStephen Shaw QUALIFIED
James R TollnerCanadaStephen Shaw PROPOSAL
Morrow U SchemmerCanadaIoni Bowcher QUALIFIED
Smith E TollnerJapanAnna Fali NEW
Munro N WhobreyItalyAnna Fali RENEWAL
Aruna B NestleJapanAmy Elsner RENEWAL
Leja E KuskoArgentinaIvan Magalhaes QUALIFIED
Misaki Y CaldareraAustraliaIoni Bowcher NEW
Mujtaba A RoysterFranceStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Izzy M ButtIndiaAmy Elsner RENEWAL
Arvin H SergiIndiaOnyama Limba UNQUALIFIED
Aruna A GauchoSpainBernardo Dominic NEGOTIATION
Costa K RulapaughBrazilElwin Sharvill NEW
Leja Y SergiItalyXuxue Feng NEW
Darci N RoysterGermanyElwin Sharvill QUALIFIED
Rodrigues J VenereCanadaAmy Elsner NEW
Ricardo F RoysterJapanAmy Elsner QUALIFIED
Arvin V WieserItalyBernardo Dominic NEW
Cody A CaldareraJapanAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci J BologniaJapan2024-05-28Rangoni Of Florence QUALIFIED16Stephen Shaw
1001Maisha K AlbaresFrance2024-05-25Truhlar And Truhlar Attys NEGOTIATION12Anna Fali
1002Octavia S AlbaresFrance2024-06-12Commercial Press RENEWAL28Ivan Magalhaes
1003Jennifer V StensethArgentina2024-06-12Morlong Associates RENEWAL71Bernardo Dominic
1004Faith Z OldroydAustralia2024-06-02Chemel, James L Cpa NEW88Stephen Shaw
1005Aditya V InouyeJapan2024-05-26Dorl, James J Esq PROPOSAL85Stephen Shaw
1006Stacey T StensethBrazil2024-06-22Truhlar And Truhlar Attys NEW74Onyama Limba
1007Salvatore K StockhamJapan2024-06-19Buckley Miller Wright UNQUALIFIED36Ioni Bowcher
1008Cody W VenereItaly2024-06-17Truhlar And Truhlar Attys RENEWAL19Stephen Shaw
1009Rodrigues H GarufiGermany2024-06-18Chemel, James L Cpa UNQUALIFIED69Xuxue Feng
1010Chavez T MaletCanada2024-05-26Chanay, Jeffrey A Esq NEW93Xuxue Feng
1011Leon T SaylorsCanada2024-06-19Feiner Bros RENEWAL7Ivan Magalhaes
1012Julie W FlosiJapan2024-05-27Feltz Printing Service RENEWAL27Asiya Javayant
1013Claire I DilliardCanada2024-06-04King, Christopher A Esq PROPOSAL82Bernardo Dominic
1014Faith O PaprockiItaly2024-06-07Chemel, James L Cpa UNQUALIFIED38Stephen Shaw
1015Clifford O MarrierUnited Kingdom2024-05-26Benton, John B Jr QUALIFIED18Asiya Javayant
1016Deepesh T MacleadJapan2024-06-19Rangoni Of Florence UNQUALIFIED35Bernardo Dominic
1017Jones O BriddickBrazil2024-06-09Feltz Printing Service NEW53Bernardo Dominic
1018Jennifer W GlickUnited Kingdom2024-06-06Chapman, Ross E Esq NEW38Xuxue Feng
1019David V InouyeCanada2024-05-28Dorl, James J Esq NEGOTIATION35Amy Elsner
1020Jones U NestleUnited Kingdom2024-06-13Dorl, James J Esq NEGOTIATION62Asiya Javayant
1021Izzy S StensethRussia2024-06-03Printing Dimensions UNQUALIFIED21Elwin Sharvill
1022Jefferson Q DarakjyRussia2024-06-15Morlong Associates PROPOSAL7Asiya Javayant
1023Leon F SaylorsItaly2024-06-10Rousseaux, Michael Esq NEGOTIATION12Bernardo Dominic
1024Antonio T OstroskySpain2024-06-16Morlong Associates QUALIFIED65Anna Fali
1025Mayumi D StockhamBrazil2024-06-04Rousseaux, Michael Esq QUALIFIED91Stephen Shaw
1026Stacey E RimItaly2024-06-05Feltz Printing Service PROPOSAL20Stephen Shaw
1027Darci T GlickUnited Kingdom2024-05-27Morlong Associates RENEWAL30Asiya Javayant
1028Ivar X VocelkaGermany2024-06-06Commercial Press UNQUALIFIED49Onyama Limba
1029Tony A WhobreySpain2024-06-03Commercial Press UNQUALIFIED80Onyama Limba
1030Jeanfrancois H MorascaGermany2024-06-12Chapman, Ross E Esq PROPOSAL25Ivan Magalhaes
1031Darci G BriddickRussia2024-05-27Printing Dimensions UNQUALIFIED41Onyama Limba
1032Aditya R BowleyBrazil2024-06-15Dorl, James J Esq RENEWAL79Onyama Limba
1033Jeanfrancois T VenereCanada2024-06-11Truhlar And Truhlar Attys UNQUALIFIED68Anna Fali
1034Misaki K KolmetzJapan2024-06-15Dorl, James J Esq PROPOSAL70Elwin Sharvill
1035Greenwood L BologniaBrazil2024-05-27Dorl, James J Esq NEGOTIATION59Ioni Bowcher
1036Francesco H OldroydGermany2024-06-05Benton, John B Jr PROPOSAL39Anna Fali
1037Leon X VenereIndia2024-06-04Chapman, Ross E Esq QUALIFIED92Ivan Magalhaes
1038Clifford Y ButtItaly2024-06-05Rangoni Of Florence UNQUALIFIED13Elwin Sharvill
1039Sinclair T PoquetteIndia2024-05-31Truhlar And Truhlar Attys NEW22Anna Fali
1040Ivar M CaldareraIndia2024-06-14Rangoni Of Florence UNQUALIFIED1Bernardo Dominic
1041Octavia W SaylorsCanada2024-06-05Chemel, James L Cpa RENEWAL34Bernardo Dominic
1042Sinclair O VocelkaIndia2024-06-22Dorl, James J Esq NEGOTIATION64Xuxue Feng
1043Octavia K RulapaughBrazil2024-06-10Feltz Printing Service QUALIFIED37Amy Elsner
1044Isabel H FerenczIndia2024-06-22Printing Dimensions NEGOTIATION70Asiya Javayant
1045Cody N MaletAustralia2024-06-03Feiner Bros NEW26Amy Elsner
1046Maisha N PerinBrazil2024-06-13Buckley Miller Wright NEGOTIATION58Xuxue Feng
1047Adams R WieserJapan2024-06-11Morlong Associates NEGOTIATION3Onyama Limba
1048Greenwood T KuskoArgentina2024-05-25Printing Dimensions RENEWAL46Anna Fali
1049Ashley J VenereAustralia2024-06-06Chapman, Ross E Esq UNQUALIFIED35Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Sinclair A DoeIndiaElwin Sharvill PROPOSAL
Aruna B RutaFranceStephen Shaw UNQUALIFIED
Maisha X CaudyRussiaIoni Bowcher PROPOSAL
Jennifer E DoeUnited KingdomXuxue Feng UNQUALIFIED
Jennifer B StockhamJapanElwin Sharvill QUALIFIED
Arvin G NickaItalyAmy Elsner PROPOSAL
Clifford O WhobreyAustraliaXuxue Feng UNQUALIFIED
Kaitlin W RulapaughSpainOnyama Limba NEGOTIATION
Kaitlin V BriddickSpainAsiya Javayant NEGOTIATION
David Y AmigonFranceBernardo Dominic RENEWAL
Jones A PerinFranceAmy Elsner RENEWAL
Nicolas V ChuiJapanAnna Fali RENEWAL
Aditya S SlusarskiFranceXuxue Feng PROPOSAL
Julie B GlickRussiaIoni Bowcher UNQUALIFIED
Nicolas U StensethRussiaBernardo Dominic NEW
Aika W NestleFranceXuxue Feng PROPOSAL
Arvin V VenereItalyAmy Elsner QUALIFIED
Francesco N WieserJapanIoni Bowcher NEGOTIATION
Adams C InouyeFranceStephen Shaw PROPOSAL
Aika I WaycottFranceIvan Magalhaes NEGOTIATION
Adams K RulapaughJapanIvan Magalhaes NEW
Deepesh B GlickFranceAnna Fali NEGOTIATION
Jefferson Q FigeroaCanadaAnna Fali PROPOSAL
Misaki K TollnerJapanIoni Bowcher QUALIFIED
Murillo P WieserRussiaIoni Bowcher PROPOSAL
James B IturbideIndiaAmy Elsner UNQUALIFIED
Kaitlin L DoeGermanyElwin Sharvill NEGOTIATION
Antonio L RutaCanadaAmy Elsner PROPOSAL
Mujtaba J StockhamBrazilOnyama Limba QUALIFIED
Claire P WieserUnited KingdomAmy Elsner QUALIFIED
Stacey F VenereArgentinaElwin Sharvill PROPOSAL
Darci Z ChuiSpainXuxue Feng PROPOSAL
Octavia X ShinkoCanadaAsiya Javayant PROPOSAL
Deepesh W ChuiBrazilBernardo Dominic QUALIFIED
Johnson J FlosiGermanyAnna Fali QUALIFIED
Aika G PerinCanadaAnna Fali NEGOTIATION
Kadeem X MaletIndiaAnna Fali PROPOSAL
Emily W NestleRussiaOnyama Limba RENEWAL
Ricardo Y StensethFranceStephen Shaw UNQUALIFIED
Johnson E RutaItalyAnna Fali RENEWAL
Murillo P GarufiJapanStephen Shaw PROPOSAL
Ivar G CaldareraItalyXuxue Feng UNQUALIFIED
Morrow V BologniaArgentinaAsiya Javayant QUALIFIED
Aditya O WaycottJapanElwin Sharvill PROPOSAL
Mujtaba H CaudyGermanyOnyama Limba PROPOSAL
David S MacleadBrazilElwin Sharvill PROPOSAL
Octavia G RoysterAustraliaOnyama Limba QUALIFIED
David E WieserFranceXuxue Feng NEW
Ivar D ButtItalyAmy Elsner NEGOTIATION
Alejandro C AmigonSpainXuxue Feng UNQUALIFIED
Frozen Columns
Name
Murillo L Sergi
Izzy L Royster
Ashley N Schemmer
Jennifer K Malet
Silvio Q Stockham
Stacey M Glick
Costa R Ruta
Sinclair C Vocelka
James S Chui
Julie U Shinko
David J Kolmetz
Jones B Ferencz
Ricardo H Rim
Jones J Tollner
Jennifer I Morasca
David K Perin
Ashley L Ferencz
Darci Y Chui
Kadeem O Poquette
Salvatore E Nestle
Faith Q Ferencz
Costa J Briddick
Sinclair C Campain
Stacey W Venere
Maria D Stenseth
Murillo D Glick
Alejandro R Waycott
Chavez G Paprocki
Juan U Iturbide
Arvin A Tollner
Ricardo U Ferencz
Leja K Chui
Juan D Caldarera
Mujtaba A Dilliard
Darci B Waycott
Silvio E Poquette
Leon N Ruta
Deepesh O Venere
Misaki E Foller
Kadeem L Briddick
Costa G Maclead
Mayumi O Gaucho
James I Figeroa
Chavez Y Glick
Leja L Malet
Jennifer O Slusarski
Johnson E Glick
David F Wieser
Costa N Flosi
Kaitlin P Paprocki
IdCountryDate
1000Brazil2024-06-04
1001Italy2024-06-07
1002Canada2024-06-07
1003Italy2024-05-29
1004Spain2024-06-07
1005Italy2024-06-07
1006Russia2024-06-20
1007Japan2024-05-28
1008France2024-06-03
1009Spain2024-06-20
1010Italy2024-05-26
1011Canada2024-06-08
1012Russia2024-06-01
1013Argentina2024-05-25
1014Russia2024-05-31
1015Argentina2024-06-01
1016France2024-06-06
1017Italy2024-06-04
1018Brazil2024-06-18
1019Brazil2024-06-01
1020Japan2024-06-15
1021Russia2024-05-29
1022Australia2024-06-21
1023Canada2024-06-12
1024Spain2024-05-25
1025France2024-06-07
1026Russia2024-06-18
1027Japan2024-05-27
1028Japan2024-06-07
1029Argentina2024-06-11
1030Spain2024-06-19
1031United Kingdom2024-06-08
1032Brazil2024-06-11
1033Italy2024-06-19
1034Australia2024-06-17
1035Australia2024-06-19
1036France2024-05-24
1037Australia2024-06-04
1038Russia2024-06-15
1039Germany2024-06-16
1040United Kingdom2024-06-16
1041Argentina2024-06-01
1042United Kingdom2024-05-27
1043Brazil2024-06-08
1044Australia2024-06-22
1045Argentina2024-06-08
1046Italy2024-06-05
1047Argentina2024-06-03
1048United Kingdom2024-05-31
1049Canada2024-06-22

On-Demand Data

NameIdCountryDate
Aditya O Briddick1000Russia2024-06-09
Francesco T Figeroa1001United Kingdom2024-06-08
Clifford J Kusko1002France2024-06-12
Maisha A Ostrosky1003Brazil2024-06-01
Octavia A Rulapaugh1004Spain2024-05-27
Deepesh V Morasca1005Spain2024-06-22
Ashley Z Caudy1006Russia2024-05-29
Jones V Schemmer1007Argentina2024-06-01
Izzy D Malet1008Argentina2024-05-31
Cody I Paprocki1009Brazil2024-05-31
Aruna M Campain1010United Kingdom2024-06-18
Jeanfrancois O Sergi1011Canada2024-06-17
Octavia Q Amigon1012Argentina2024-06-04
Julie O Albares1013France2024-06-03
Ashley O Caldarera1014India2024-06-18
Claire T Oldroyd1015Japan2024-05-29
Munro T Glick1016India2024-05-27
Smith U Dilliard1017Germany2024-06-03
Ashley C Gaucho1018Argentina2024-06-02
Aruna P Gillian1019Brazil2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio E FigeroaCanadaIoni Bowcher QUALIFIED
Kaitlin I MaletSpainBernardo Dominic UNQUALIFIED
Misaki E MorascaBrazilIvan Magalhaes NEW
Adams H WhobreyJapanAnna Fali NEGOTIATION
Octavia W RimJapanAnna Fali NEW
Francesco O CampainUnited KingdomAnna Fali RENEWAL
Cody O DarakjyJapanOnyama Limba QUALIFIED
Jeanfrancois E VenereSpainAnna Fali NEGOTIATION
Silvio R PoquetteGermanyBernardo Dominic RENEWAL
Johnson Q SaylorsIndiaStephen Shaw NEGOTIATION
Mayumi U StockhamJapanIvan Magalhaes UNQUALIFIED
Nicolas C BriddickIndiaAsiya Javayant PROPOSAL
Morrow B GauchoGermanyAsiya Javayant PROPOSAL
Adams B StockhamFranceXuxue Feng QUALIFIED
Leja D ShinkoSpainBernardo Dominic RENEWAL
Antonio U TollnerJapanIvan Magalhaes UNQUALIFIED
Ashley J RimAustraliaBernardo Dominic UNQUALIFIED
Jennifer L OstroskyItalyXuxue Feng NEGOTIATION
Antonio S OldroydCanadaXuxue Feng PROPOSAL
Johnson K RimSpainElwin Sharvill QUALIFIED
Ashley R DarakjySpainAnna Fali RENEWAL
Morrow L IturbideCanadaOnyama Limba UNQUALIFIED
Leja N MaletItalyAmy Elsner NEGOTIATION
Juan E RulapaughBrazilIoni Bowcher NEGOTIATION
Deepesh L NickaGermanyXuxue Feng NEGOTIATION
Izzy K ButtArgentinaAnna Fali QUALIFIED
Jeanfrancois C MacleadCanadaIoni Bowcher NEGOTIATION
Kaitlin E SaylorsUnited KingdomAsiya Javayant QUALIFIED
Faith L PoquetteBrazilAmy Elsner PROPOSAL
Maisha T WaycottArgentinaAmy Elsner UNQUALIFIED
Cody N PoquetteBrazilIvan Magalhaes QUALIFIED
Ashley Z SchemmerJapanAnna Fali QUALIFIED
Julie P OldroydSpainIoni Bowcher NEW
Arvin O FigeroaGermanyAsiya Javayant RENEWAL
Juan I RutaCanadaStephen Shaw RENEWAL
Costa F MaletRussiaAmy Elsner PROPOSAL
Aditya K GlickFranceAmy Elsner RENEWAL
Jones N NestleBrazilAnna Fali RENEWAL
Juan X BriddickItalyIoni Bowcher PROPOSAL
Deepesh X TollnerGermanyAsiya Javayant 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>