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
Johnson F WaycottSpainIoni Bowcher UNQUALIFIED
Adams B MaletRussiaStephen Shaw NEGOTIATION
Sinclair N SchemmerIndiaElwin Sharvill NEW
Morrow Y GarufiCanadaBernardo Dominic NEGOTIATION
Arvin Q WhobreyCanadaAnna Fali UNQUALIFIED
Johnson R RulapaughIndiaAmy Elsner QUALIFIED
Aika Z MacleadAustraliaOnyama Limba PROPOSAL
Maisha P SaylorsArgentinaElwin Sharvill UNQUALIFIED
David V CaudyAustraliaAmy Elsner PROPOSAL
Izzy P SaylorsFranceXuxue Feng RENEWAL
Johnson E BologniaFranceStephen Shaw UNQUALIFIED
Faith X PoquetteJapanIvan Magalhaes PROPOSAL
Emily A RutaUnited KingdomAnna Fali PROPOSAL
Smith Y CaldareraGermanyAsiya Javayant PROPOSAL
Izzy Z WaycottArgentinaStephen Shaw PROPOSAL
Aika Y CampainSpainAmy Elsner UNQUALIFIED
Maria F SergiRussiaXuxue Feng NEW
Isabel M CaudyRussiaAmy Elsner PROPOSAL
Murillo J SlusarskiBrazilXuxue Feng NEW
Ivar E NickaIndiaAmy Elsner PROPOSAL
Ashley V GillianUnited KingdomAsiya Javayant UNQUALIFIED
Greenwood N DilliardFranceAnna Fali PROPOSAL
Octavia F StensethGermanyAnna Fali QUALIFIED
Faith E WieserJapanAsiya Javayant PROPOSAL
Darci C StensethItalyElwin Sharvill UNQUALIFIED
Claire X ChuiIndiaStephen Shaw NEW
Aika W PerinRussiaAsiya Javayant NEGOTIATION
Johnson O FigeroaIndiaBernardo Dominic NEW
Johnson R FollerUnited KingdomOnyama Limba RENEWAL
Jeanfrancois H CaldareraFranceOnyama Limba QUALIFIED
Leon X TollnerFranceOnyama Limba NEGOTIATION
Wickens H FlosiArgentinaElwin Sharvill QUALIFIED
Maria N SaylorsUnited KingdomStephen Shaw UNQUALIFIED
Salvatore W KolmetzFranceBernardo Dominic NEGOTIATION
Aika I BologniaAustraliaXuxue Feng PROPOSAL
Kaitlin X TollnerSpainElwin Sharvill PROPOSAL
Aditya R DilliardRussiaXuxue Feng UNQUALIFIED
Faith R GillianGermanyAnna Fali PROPOSAL
Darci T MorascaArgentinaIoni Bowcher QUALIFIED
Munro P DilliardBrazilStephen Shaw NEGOTIATION
Silvio Y BologniaItalyOnyama Limba NEGOTIATION
David R MarrierGermanyStephen Shaw PROPOSAL
Aditya S MaletCanadaElwin Sharvill UNQUALIFIED
Jennifer J GarufiAustraliaAnna Fali NEW
Greenwood D FerenczItalyAmy Elsner QUALIFIED
Mayumi M MaletItalyXuxue Feng PROPOSAL
Aditya Y BowleyRussiaIvan Magalhaes RENEWAL
Juan G SlusarskiArgentinaOnyama Limba NEGOTIATION
Antonio S CaldareraUnited KingdomAnna Fali NEGOTIATION
Faith B GarufiArgentinaStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Salvatore F BowleyCanadaAsiya Javayant QUALIFIED
Munro N VocelkaUnited KingdomXuxue Feng PROPOSAL
Chavez K StensethBrazilAmy Elsner QUALIFIED
Leon Y FerenczSpainBernardo Dominic UNQUALIFIED
Jefferson C BriddickJapanStephen Shaw NEGOTIATION
Isabel S WaycottCanadaAmy Elsner RENEWAL
Leon I RulapaughFranceAsiya Javayant RENEWAL
Leja F BowleyItalyXuxue Feng NEGOTIATION
Stacey M GauchoItalyAsiya Javayant NEW
Nicolas W MaletSpainElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin U TollnerItaly2024-06-04Truhlar And Truhlar Attys PROPOSAL25Elwin Sharvill
1001Salvatore R SchemmerRussia2024-06-06King, Christopher A Esq NEGOTIATION21Ivan Magalhaes
1002Aditya X SlusarskiArgentina2024-05-30Rangoni Of Florence PROPOSAL50Xuxue Feng
1003Tony L GillianIndia2024-05-22Truhlar And Truhlar Attys PROPOSAL49Elwin Sharvill
1004Johnson K AlbaresArgentina2024-05-29Rousseaux, Michael Esq RENEWAL95Elwin Sharvill
1005Juan T VenereFrance2024-05-23Morlong Associates NEW90Ioni Bowcher
1006Maria U VocelkaRussia2024-06-03Benton, John B Jr QUALIFIED60Amy Elsner
1007Jefferson Q MorascaIndia2024-05-23Rangoni Of Florence NEGOTIATION1Elwin Sharvill
1008Izzy Z RutaGermany2024-06-11Rangoni Of Florence UNQUALIFIED4Anna Fali
1009Maisha Z DilliardArgentina2024-05-27Morlong Associates QUALIFIED1Anna Fali
1010Adams M ButtIndia2024-06-09Dorl, James J Esq NEGOTIATION90Onyama Limba
1011Adams R IturbideUnited Kingdom2024-05-24Buckley Miller Wright UNQUALIFIED90Stephen Shaw
1012Jones J FollerCanada2024-06-14King, Christopher A Esq RENEWAL32Stephen Shaw
1013Ashley M RoysterFrance2024-06-05Chemel, James L Cpa PROPOSAL23Asiya Javayant
1014Claire B TollnerSpain2024-05-16Truhlar And Truhlar Attys RENEWAL47Asiya Javayant
1015Jeanfrancois C SergiSpain2024-06-05Dorl, James J Esq PROPOSAL20Elwin Sharvill
1016Octavia E GauchoItaly2024-05-16Rousseaux, Michael Esq NEW14Bernardo Dominic
1017Julie B PaprockiArgentina2024-06-05Morlong Associates NEGOTIATION54Ivan Magalhaes
1018Arvin O TollnerIndia2024-06-04Benton, John B Jr NEGOTIATION57Asiya Javayant
1019Antonio K DoeIndia2024-06-10King, Christopher A Esq NEW40Amy Elsner
1020Faith N MaletFrance2024-05-30Commercial Press NEW74Elwin Sharvill
1021Alejandro D GauchoBrazil2024-05-21Feltz Printing Service NEW61Asiya Javayant
1022Clifford V SaylorsItaly2024-05-26Feiner Bros RENEWAL91Elwin Sharvill
1023Costa N GillianAustralia2024-06-11Chemel, James L Cpa NEW18Bernardo Dominic
1024Stacey W BowleyJapan2024-05-25Buckley Miller Wright RENEWAL76Asiya Javayant
1025Deepesh L ButtBrazil2024-06-06Chanay, Jeffrey A Esq PROPOSAL33Elwin Sharvill
1026Jeanfrancois T AmigonIndia2024-06-05Rousseaux, Michael Esq RENEWAL15Amy Elsner
1027Munro L AmigonCanada2024-05-24Feiner Bros NEGOTIATION10Ivan Magalhaes
1028Antonio M RoysterFrance2024-06-07Chemel, James L Cpa NEW74Asiya Javayant
1029Maisha W ButtUnited Kingdom2024-05-30Buckley Miller Wright UNQUALIFIED70Onyama Limba
1030Ivar Y MaletCanada2024-05-16Chanay, Jeffrey A Esq PROPOSAL43Amy Elsner
1031Chavez T FigeroaFrance2024-05-21Truhlar And Truhlar Attys NEGOTIATION21Onyama Limba
1032Misaki R AlbaresSpain2024-05-26Chanay, Jeffrey A Esq QUALIFIED98Bernardo Dominic
1033Faith Z MorascaArgentina2024-06-07Morlong Associates RENEWAL44Onyama Limba
1034Sinclair K CampainSpain2024-06-02Truhlar And Truhlar Attys RENEWAL99Anna Fali
1035Sinclair W RimItaly2024-05-21Printing Dimensions NEW56Stephen Shaw
1036Cody H PerinRussia2024-06-11Chapman, Ross E Esq NEGOTIATION29Stephen Shaw
1037Adams Q PaprockiFrance2024-05-30Commercial Press NEGOTIATION63Anna Fali
1038Ivar P ChuiCanada2024-05-24Benton, John B Jr QUALIFIED86Asiya Javayant
1039Kaitlin H DoeGermany2024-06-12Commercial Press NEGOTIATION88Asiya Javayant
1040Murillo E ButtJapan2024-05-22Benton, John B Jr QUALIFIED17Elwin Sharvill
1041Mayumi G InouyeRussia2024-06-07Buckley Miller Wright RENEWAL10Xuxue Feng
1042Octavia K KuskoJapan2024-05-29King, Christopher A Esq RENEWAL51Ivan Magalhaes
1043Octavia K RoysterUnited Kingdom2024-06-13Chemel, James L Cpa PROPOSAL22Xuxue Feng
1044Jeanfrancois G CampainFrance2024-05-22Printing Dimensions UNQUALIFIED88Elwin Sharvill
1045Izzy A CaudyFrance2024-05-29Truhlar And Truhlar Attys RENEWAL82Asiya Javayant
1046Rodrigues L MacleadRussia2024-05-22Feiner Bros RENEWAL7Stephen Shaw
1047Cody U MaletAustralia2024-06-08Feiner Bros NEW11Asiya Javayant
1048Julie F WieserFrance2024-06-06Feltz Printing Service PROPOSAL37Bernardo Dominic
1049Murillo N PoquetteUnited Kingdom2024-05-22Truhlar And Truhlar Attys RENEWAL0Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Ashley V DilliardAustraliaAsiya Javayant NEW
Antonio W FollerRussiaAmy Elsner QUALIFIED
Tony Y RutaFranceAsiya Javayant QUALIFIED
Adams N RutaCanadaIvan Magalhaes NEW
Wickens D BologniaRussiaBernardo Dominic NEW
Aruna M KolmetzItalyIoni Bowcher NEW
Aika N VenereItalyStephen Shaw NEGOTIATION
Darci O RimBrazilIvan Magalhaes RENEWAL
Salvatore P RimRussiaIvan Magalhaes PROPOSAL
Kaitlin C FollerFranceAmy Elsner NEW
Greenwood Q GarufiAustraliaOnyama Limba QUALIFIED
Nicolas L FigeroaCanadaXuxue Feng NEGOTIATION
Greenwood Q WieserRussiaBernardo Dominic NEW
Clifford A AlbaresIndiaIoni Bowcher PROPOSAL
Rodrigues A BriddickAustraliaAmy Elsner UNQUALIFIED
Leon M RimBrazilAmy Elsner NEW
Aika P SergiRussiaBernardo Dominic PROPOSAL
Salvatore E CaldareraCanadaAsiya Javayant UNQUALIFIED
Leon R VenereFranceAmy Elsner QUALIFIED
Claire H DoeItalyStephen Shaw NEGOTIATION
Isabel P TollnerUnited KingdomIoni Bowcher UNQUALIFIED
Salvatore C SergiUnited KingdomAmy Elsner NEGOTIATION
Antonio F PaprockiBrazilBernardo Dominic RENEWAL
Smith V StensethSpainXuxue Feng PROPOSAL
Jeanfrancois K AmigonAustraliaBernardo Dominic PROPOSAL
Stacey D StockhamCanadaAsiya Javayant RENEWAL
Julie V NickaItalyBernardo Dominic UNQUALIFIED
Alejandro M FlosiGermanyXuxue Feng NEGOTIATION
Kadeem O StockhamCanadaIoni Bowcher NEW
Octavia H StensethSpainXuxue Feng UNQUALIFIED
Deepesh B GarufiFranceAsiya Javayant UNQUALIFIED
Mujtaba L PerinRussiaAsiya Javayant NEGOTIATION
Wickens H GillianGermanyOnyama Limba PROPOSAL
Kadeem Z NestleArgentinaXuxue Feng PROPOSAL
Antonio B AlbaresItalyIoni Bowcher PROPOSAL
Johnson N StensethGermanyElwin Sharvill UNQUALIFIED
Ashley T RimItalyStephen Shaw RENEWAL
Alejandro P BowleyGermanyAmy Elsner PROPOSAL
Johnson H WieserFranceOnyama Limba NEW
Alejandro V GlickBrazilIoni Bowcher RENEWAL
Ashley C NestleIndiaAsiya Javayant NEW
Leon S GarufiGermanyBernardo Dominic RENEWAL
Aruna K FlosiArgentinaAsiya Javayant UNQUALIFIED
Aika K StensethRussiaIvan Magalhaes PROPOSAL
Chavez T DoeArgentinaStephen Shaw RENEWAL
Salvatore P AlbaresItalyBernardo Dominic PROPOSAL
Salvatore M FigeroaFranceAsiya Javayant PROPOSAL
Kaitlin Q AlbaresArgentinaAnna Fali QUALIFIED
Clifford M ButtItalyIoni Bowcher QUALIFIED
Misaki S MorascaItalyIoni Bowcher NEW
Frozen Columns
Name
Mujtaba W Caudy
Greenwood M Foller
David J Shinko
Smith S Sergi
Chavez R Bowley
Johnson L Amigon
Jones J Wieser
Aruna S Caldarera
Deepesh T Flosi
Alejandro I Foller
Silvio N Malet
Morrow L Sergi
James Q Kolmetz
Emily N Perin
Antonio K Shinko
David T Wieser
Rodrigues F Malet
David N Ostrosky
Jennifer J Poquette
Maria P Rim
Jennifer E Butt
Antonio D Dilliard
Faith A Bowley
James W Ruta
Mujtaba Q Kolmetz
Claire D Sergi
Aika Q Bolognia
Chavez Z Sergi
Ivar T Kolmetz
Tony J Campain
Faith D Nicka
Deepesh I Nestle
Munro X Campain
Stacey L Bowley
Greenwood E Malet
Alejandro G Marrier
Morrow Q Royster
Ivar J Amigon
Juan E Schemmer
Adams Z Ruta
Silvio I Inouye
Juan K Perin
David U Ruta
Claire W Darakjy
Aika O Waycott
Claire P Kolmetz
Jones F Rim
Octavia F Nestle
Deepesh W Amigon
Tony P Perin
IdCountryDate
1000France2024-05-20
1001Germany2024-05-28
1002Argentina2024-05-17
1003Australia2024-06-05
1004Russia2024-05-29
1005Germany2024-05-28
1006Italy2024-05-22
1007Argentina2024-06-09
1008Italy2024-06-10
1009Russia2024-06-13
1010Germany2024-06-10
1011India2024-05-29
1012Argentina2024-06-05
1013Brazil2024-05-19
1014Japan2024-06-14
1015Russia2024-05-21
1016Australia2024-05-25
1017Italy2024-05-18
1018Spain2024-05-30
1019Brazil2024-06-01
1020Australia2024-05-19
1021United Kingdom2024-05-24
1022France2024-06-14
1023Japan2024-06-02
1024Russia2024-06-03
1025Germany2024-06-08
1026Germany2024-06-05
1027India2024-06-06
1028Argentina2024-05-18
1029Germany2024-05-26
1030Brazil2024-05-28
1031France2024-05-25
1032Argentina2024-05-18
1033Italy2024-05-16
1034Spain2024-05-30
1035Italy2024-05-22
1036Italy2024-05-16
1037Italy2024-05-21
1038Argentina2024-05-28
1039Brazil2024-05-23
1040Australia2024-05-27
1041Brazil2024-05-16
1042Argentina2024-05-21
1043India2024-06-13
1044Canada2024-06-03
1045India2024-06-04
1046United Kingdom2024-05-18
1047Australia2024-05-16
1048Japan2024-05-19
1049France2024-06-14

On-Demand Data

NameIdCountryDate
Salvatore S Waycott1000Australia2024-06-05
James A Royster1001Russia2024-05-24
Cody P Venere1002Spain2024-06-09
Ivar U Briddick1003United Kingdom2024-05-17
Francesco M Royster1004Canada2024-06-09
Aruna I Waycott1005India2024-05-25
Nicolas M Gaucho1006Australia2024-05-29
Rodrigues E Vocelka1007Russia2024-05-31
Jefferson G Venere1008United Kingdom2024-06-13
Nicolas K Tollner1009Canada2024-05-22
Salvatore T Ferencz1010Russia2024-05-30
Chavez X Malet1011Brazil2024-06-14
Salvatore P Ruta1012Brazil2024-05-19
Munro Z Nestle1013Australia2024-06-08
Octavia O Shinko1014Australia2024-06-09
Smith F Doe1015Russia2024-05-27
Jeanfrancois U Kusko1016Brazil2024-05-22
Ivar K Kusko1017Russia2024-06-05
Costa V Stockham1018France2024-06-14
Jeanfrancois Q Caudy1019Japan2024-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa U TollnerIndiaOnyama Limba PROPOSAL
Aika H IturbideIndiaElwin Sharvill RENEWAL
Jeanfrancois Q BowleyAustraliaIoni Bowcher UNQUALIFIED
Murillo T DarakjyCanadaElwin Sharvill UNQUALIFIED
Johnson O ChuiRussiaIvan Magalhaes QUALIFIED
Morrow B RutaSpainElwin Sharvill NEGOTIATION
Julie D DilliardBrazilOnyama Limba UNQUALIFIED
Leja P MarrierAustraliaIvan Magalhaes NEW
Arvin I CaldareraAustraliaIvan Magalhaes NEW
Antonio T KolmetzItalyAnna Fali PROPOSAL
Rodrigues E GillianIndiaStephen Shaw NEW
Faith T AlbaresArgentinaAnna Fali QUALIFIED
Morrow A FollerGermanyOnyama Limba NEW
Rodrigues K RulapaughArgentinaOnyama Limba QUALIFIED
Sinclair I StensethRussiaAsiya Javayant RENEWAL
Costa K MorascaIndiaAmy Elsner PROPOSAL
Morrow A OstroskySpainIoni Bowcher NEGOTIATION
Aditya Q NestleBrazilOnyama Limba UNQUALIFIED
Misaki T BologniaCanadaAmy Elsner RENEWAL
James G RimCanadaElwin Sharvill RENEWAL
Maisha D CaudyAustraliaAmy Elsner NEGOTIATION
Adams L GillianRussiaStephen Shaw UNQUALIFIED
Chavez T FerenczAustraliaIoni Bowcher RENEWAL
Aruna V RimGermanyElwin Sharvill RENEWAL
Emily F MacleadAustraliaIoni Bowcher RENEWAL
Arvin P ButtBrazilIvan Magalhaes RENEWAL
Clifford N DarakjyAustraliaOnyama Limba QUALIFIED
Juan S NestleGermanyElwin Sharvill QUALIFIED
Ashley P ShinkoUnited KingdomAnna Fali QUALIFIED
Arvin M StensethRussiaElwin Sharvill NEW
Jennifer G ChuiUnited KingdomIvan Magalhaes NEGOTIATION
Misaki S RoysterItalyAmy Elsner NEGOTIATION
Wickens O NestleJapanAsiya Javayant QUALIFIED
Claire K MaletJapanBernardo Dominic RENEWAL
Johnson X SergiBrazilElwin Sharvill QUALIFIED
Johnson S BowleyUnited KingdomOnyama Limba NEGOTIATION
Kaitlin P CaudyItalyIvan Magalhaes NEW
Mujtaba L GarufiGermanyAnna Fali RENEWAL
Arvin B OldroydIndiaElwin Sharvill NEGOTIATION
Misaki A MaletBrazilElwin Sharvill NEGOTIATION

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