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
Aditya F CaudyGermanyBernardo Dominic NEW
Izzy V GarufiUnited KingdomStephen Shaw QUALIFIED
Alejandro V ShinkoGermanyIoni Bowcher PROPOSAL
Silvio Z WaycottCanadaOnyama Limba NEGOTIATION
Wickens P MacleadSpainAnna Fali QUALIFIED
Johnson Z FigeroaFranceBernardo Dominic RENEWAL
Nicolas N DoeIndiaIoni Bowcher NEW
Aditya L WhobreyJapanBernardo Dominic QUALIFIED
Chavez M CaldareraIndiaAmy Elsner RENEWAL
Deepesh V SergiArgentinaBernardo Dominic PROPOSAL
Misaki F KolmetzCanadaOnyama Limba NEW
Leon F VenereFranceIvan Magalhaes NEGOTIATION
Sinclair L ChuiJapanOnyama Limba NEGOTIATION
Sinclair K OldroydJapanAsiya Javayant RENEWAL
David U WhobreyGermanyAmy Elsner PROPOSAL
Clifford Z MaletBrazilOnyama Limba NEW
Ricardo W WaycottCanadaIvan Magalhaes UNQUALIFIED
Jefferson X MaletGermanyIoni Bowcher NEW
Octavia E KuskoItalyElwin Sharvill UNQUALIFIED
Octavia B NestleUnited KingdomAsiya Javayant QUALIFIED
Claire V RimRussiaIvan Magalhaes UNQUALIFIED
Maisha F RimRussiaIoni Bowcher PROPOSAL
Aditya J NestleRussiaBernardo Dominic NEW
Izzy R ButtRussiaXuxue Feng UNQUALIFIED
Smith D DarakjyAustraliaOnyama Limba RENEWAL
Jennifer I GillianFranceStephen Shaw PROPOSAL
Ivar X SergiGermanyIvan Magalhaes PROPOSAL
Juan E NickaFranceXuxue Feng PROPOSAL
Octavia B TollnerItalyElwin Sharvill UNQUALIFIED
Aditya B FlosiGermanyXuxue Feng RENEWAL
Deepesh D GarufiCanadaBernardo Dominic PROPOSAL
Jones F FigeroaFranceAsiya Javayant UNQUALIFIED
Mujtaba Z KolmetzRussiaIvan Magalhaes QUALIFIED
Juan Q WaycottIndiaAmy Elsner PROPOSAL
Kaitlin W MorascaItalyAmy Elsner QUALIFIED
Darci K NickaJapanElwin Sharvill PROPOSAL
Maria V StockhamFranceAnna Fali QUALIFIED
Chavez Y VenereRussiaElwin Sharvill NEGOTIATION
Faith E GlickFranceOnyama Limba UNQUALIFIED
Munro Q FlosiAustraliaAsiya Javayant UNQUALIFIED
Adams Z GillianIndiaBernardo Dominic UNQUALIFIED
Wickens F RutaArgentinaIvan Magalhaes QUALIFIED
Clifford T RoysterFranceOnyama Limba NEW
Mayumi L VocelkaJapanStephen Shaw NEGOTIATION
Kadeem L MaletFranceAsiya Javayant QUALIFIED
Leon Y KuskoArgentinaIoni Bowcher QUALIFIED
Izzy W SaylorsArgentinaBernardo Dominic PROPOSAL
Clifford M FigeroaGermanyBernardo Dominic PROPOSAL
Wickens X RoysterGermanyAmy Elsner NEGOTIATION
Costa E BriddickJapanAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Claire K OldroydFranceIvan Magalhaes UNQUALIFIED
Izzy U PerinSpainAsiya Javayant UNQUALIFIED
Silvio G IturbideCanadaStephen Shaw QUALIFIED
Mayumi U RimUnited KingdomAnna Fali RENEWAL
Adams J StockhamUnited KingdomIoni Bowcher UNQUALIFIED
Darci V RoysterCanadaAmy Elsner UNQUALIFIED
Greenwood F ChuiFranceAmy Elsner NEW
Costa T StockhamJapanAsiya Javayant UNQUALIFIED
Rodrigues F ShinkoArgentinaStephen Shaw UNQUALIFIED
Aika C GarufiRussiaStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa N ShinkoItaly2025-04-15Chemel, James L Cpa QUALIFIED86Onyama Limba
1001Antonio D SlusarskiAustralia2025-04-01Benton, John B Jr NEGOTIATION90Ioni Bowcher
1002Antonio L GlickUnited Kingdom2025-04-20Morlong Associates UNQUALIFIED59Elwin Sharvill
1003Munro M InouyeBrazil2025-04-18Benton, John B Jr NEW95Xuxue Feng
1004Jennifer D NickaUnited Kingdom2025-04-17Benton, John B Jr NEW0Bernardo Dominic
1005Morrow W IturbideItaly2025-04-18Buckley Miller Wright RENEWAL42Bernardo Dominic
1006Darci C GillianCanada2025-04-03Chapman, Ross E Esq RENEWAL63Anna Fali
1007Greenwood J TollnerBrazil2025-04-15Chemel, James L Cpa RENEWAL23Asiya Javayant
1008Leja V TollnerCanada2025-04-19Chemel, James L Cpa NEW73Xuxue Feng
1009Claire A MacleadAustralia2025-04-06Buckley Miller Wright NEGOTIATION67Ivan Magalhaes
1010Rodrigues T KolmetzSpain2025-04-15Dorl, James J Esq RENEWAL52Ivan Magalhaes
1011Juan M DarakjyAustralia2025-04-03Morlong Associates NEW93Asiya Javayant
1012Cody S SaylorsCanada2025-04-02Dorl, James J Esq NEW58Ivan Magalhaes
1013Aditya H ButtFrance2025-04-04Dorl, James J Esq NEW66Asiya Javayant
1014Ricardo Y StensethBrazil2025-04-02Commercial Press NEGOTIATION33Anna Fali
1015Clifford W FlosiItaly2025-04-19Dorl, James J Esq PROPOSAL92Elwin Sharvill
1016Chavez H AmigonBrazil2025-04-20Commercial Press QUALIFIED59Elwin Sharvill
1017Misaki P RoysterUnited Kingdom2025-04-05Chemel, James L Cpa RENEWAL44Bernardo Dominic
1018Jeanfrancois H DoeJapan2025-04-18Rousseaux, Michael Esq QUALIFIED39Ioni Bowcher
1019Faith U CaudyFrance2025-04-17Truhlar And Truhlar Attys NEW90Onyama Limba
1020Faith Y FollerUnited Kingdom2025-04-04Benton, John B Jr PROPOSAL27Onyama Limba
1021Arvin T MaletUnited Kingdom2025-04-05Rangoni Of Florence NEGOTIATION20Amy Elsner
1022Nicolas Q BowleyIndia2025-04-07Dorl, James J Esq RENEWAL40Asiya Javayant
1023Tony Y MorascaArgentina2025-04-11Dorl, James J Esq NEGOTIATION48Ivan Magalhaes
1024Faith I SergiItaly2025-04-21Rangoni Of Florence PROPOSAL81Ioni Bowcher
1025Morrow F SaylorsItaly2025-04-19Printing Dimensions RENEWAL30Asiya Javayant
1026Leon N GauchoJapan2025-04-21Chanay, Jeffrey A Esq NEW57Anna Fali
1027Izzy B NestleArgentina2025-04-18Benton, John B Jr NEW67Amy Elsner
1028Aditya G BologniaGermany2025-04-01Dorl, James J Esq RENEWAL97Xuxue Feng
1029Ivar U StensethFrance2025-04-12Feltz Printing Service UNQUALIFIED22Amy Elsner
1030Octavia P WaycottBrazil2025-04-20Buckley Miller Wright QUALIFIED40Onyama Limba
1031Mujtaba V FollerIndia2025-04-18Rousseaux, Michael Esq NEGOTIATION37Ivan Magalhaes
1032Ivar X ButtItaly2025-04-19Printing Dimensions PROPOSAL2Ioni Bowcher
1033Clifford A IturbideAustralia2025-04-14Dorl, James J Esq RENEWAL25Ioni Bowcher
1034Stacey H DarakjyItaly2025-04-07Chemel, James L Cpa NEGOTIATION41Amy Elsner
1035David I PerinArgentina2025-04-02Chanay, Jeffrey A Esq UNQUALIFIED99Bernardo Dominic
1036Greenwood R ChuiAustralia2025-04-21Feltz Printing Service NEGOTIATION27Amy Elsner
1037Tony Y SaylorsUnited Kingdom2025-04-24Commercial Press UNQUALIFIED24Stephen Shaw
1038Ricardo K VenereIndia2025-04-23Feltz Printing Service UNQUALIFIED44Elwin Sharvill
1039Leon J RimCanada2025-04-01Rousseaux, Michael Esq QUALIFIED94Stephen Shaw
1040Leon C BowleyItaly2025-04-27Chemel, James L Cpa RENEWAL22Anna Fali
1041Munro W OstroskyUnited Kingdom2025-04-21Commercial Press NEW81Ivan Magalhaes
1042Alejandro R VocelkaCanada2025-04-14King, Christopher A Esq UNQUALIFIED54Elwin Sharvill
1043Murillo K BologniaGermany2025-04-17King, Christopher A Esq NEW66Xuxue Feng
1044Maria M FlosiGermany2025-04-05Feiner Bros NEW93Amy Elsner
1045Julie L RulapaughSpain2025-04-02Chemel, James L Cpa UNQUALIFIED31Amy Elsner
1046Isabel P IturbideItaly2025-04-19Chanay, Jeffrey A Esq PROPOSAL41Stephen Shaw
1047Leja D StensethBrazil2025-04-07Truhlar And Truhlar Attys NEGOTIATION20Ivan Magalhaes
1048Octavia Y GarufiSpain2025-04-08Dorl, James J Esq UNQUALIFIED3Stephen Shaw
1049Johnson D BowleySpain2025-04-05Chapman, Ross E Esq PROPOSAL45Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Aruna R AmigonUnited KingdomOnyama Limba QUALIFIED
Mujtaba Q DilliardSpainStephen Shaw NEGOTIATION
Claire J VenereIndiaBernardo Dominic NEW
Aditya N StockhamBrazilStephen Shaw PROPOSAL
Misaki O CaudyUnited KingdomOnyama Limba RENEWAL
Claire Q VenereRussiaElwin Sharvill RENEWAL
Juan X DarakjyRussiaElwin Sharvill NEGOTIATION
Silvio F PaprockiUnited KingdomIvan Magalhaes NEW
Clifford I VocelkaFranceElwin Sharvill NEGOTIATION
Octavia D RutaBrazilAnna Fali UNQUALIFIED
Antonio X MorascaFranceOnyama Limba QUALIFIED
Mayumi P MorascaUnited KingdomElwin Sharvill PROPOSAL
Silvio E FollerFranceStephen Shaw NEW
Rodrigues X WieserCanadaStephen Shaw NEW
Murillo L PerinRussiaXuxue Feng UNQUALIFIED
Alejandro P OldroydArgentinaIvan Magalhaes RENEWAL
Adams H AmigonItalyXuxue Feng QUALIFIED
Greenwood C AlbaresRussiaAnna Fali PROPOSAL
Alejandro U VenereArgentinaAsiya Javayant RENEWAL
Rodrigues N SchemmerFranceBernardo Dominic UNQUALIFIED
Faith P WhobreyUnited KingdomAmy Elsner RENEWAL
Chavez W MarrierFranceXuxue Feng NEGOTIATION
Stacey U CaldareraFranceAnna Fali NEW
Ashley O KolmetzCanadaOnyama Limba UNQUALIFIED
Morrow D FlosiSpainBernardo Dominic NEW
Izzy W GillianJapanXuxue Feng NEW
Munro O RoysterJapanOnyama Limba NEGOTIATION
Juan S StensethBrazilBernardo Dominic RENEWAL
Stacey W CaldareraUnited KingdomIvan Magalhaes NEW
Jefferson Q DilliardSpainAsiya Javayant NEW
Jones D IturbideFranceAnna Fali QUALIFIED
Mujtaba I AlbaresSpainOnyama Limba QUALIFIED
Faith K WhobreyUnited KingdomOnyama Limba PROPOSAL
Misaki G GarufiJapanAnna Fali NEW
Tony J NestleUnited KingdomIvan Magalhaes PROPOSAL
Maisha Q FerenczIndiaIvan Magalhaes QUALIFIED
Johnson E BologniaSpainOnyama Limba UNQUALIFIED
Ashley Y BriddickGermanyAnna Fali QUALIFIED
Mayumi P CaudySpainAmy Elsner PROPOSAL
Leon P FigeroaRussiaAmy Elsner RENEWAL
Antonio D SlusarskiItalyXuxue Feng UNQUALIFIED
Aditya D GillianCanadaBernardo Dominic NEGOTIATION
Silvio I KolmetzRussiaElwin Sharvill RENEWAL
Jennifer E MacleadItalyElwin Sharvill UNQUALIFIED
Isabel M ShinkoSpainOnyama Limba NEGOTIATION
Julie M CaldareraGermanyBernardo Dominic UNQUALIFIED
David N FerenczGermanyElwin Sharvill RENEWAL
James N RutaAustraliaAsiya Javayant PROPOSAL
Izzy J PaprockiItalyXuxue Feng UNQUALIFIED
Wickens H FigeroaCanadaBernardo Dominic NEW
Frozen Columns
Name
Chavez E Figeroa
Morrow V Dilliard
Murillo P Saylors
Claire M Tollner
Misaki D Foller
Jennifer Z Foller
Nicolas W Dilliard
Claire K Gillian
Silvio W Schemmer
Jeanfrancois J Rulapaugh
Stacey Q Shinko
Costa P Sergi
Smith R Nestle
Morrow M Sergi
Salvatore I Malet
Darci M Venere
Leon S Gillian
Munro F Gaucho
Tony Y Sergi
Salvatore S Flosi
Emily Y Gaucho
Emily W Ruta
Deepesh H Briddick
Jennifer Z Whobrey
Maisha N Kolmetz
Jones W Darakjy
James X Foller
Jennifer B Doe
Aika D Stockham
Kaitlin J Inouye
Munro B Flosi
Chavez O Chui
Sinclair J Caldarera
Salvatore D Glick
Nicolas U Perin
Salvatore M Foller
James L Amigon
Wickens O Caudy
Julie S Bolognia
Munro T Stenseth
Aika P Kolmetz
Mayumi D Dilliard
Murillo K Ostrosky
Greenwood B Butt
Smith I Slusarski
Antonio M Gaucho
Mayumi C Stenseth
Clifford H Ruta
Deepesh R Marrier
Salvatore Y Darakjy
IdCountryDate
1000United Kingdom2025-04-09
1001Germany2025-04-24
1002Argentina2025-04-03
1003Canada2025-04-20
1004Brazil2025-04-24
1005Russia2025-04-01
1006France2025-04-23
1007France2025-04-02
1008United Kingdom2025-04-20
1009Argentina2025-04-24
1010Brazil2025-04-13
1011Australia2025-04-19
1012Spain2025-04-10
1013Brazil2025-04-18
1014India2025-04-14
1015Japan2025-04-24
1016United Kingdom2025-04-25
1017Canada2025-04-19
1018Australia2025-04-20
1019Australia2025-04-11
1020Germany2025-04-01
1021Canada2025-04-18
1022United Kingdom2025-04-17
1023Germany2025-04-02
1024Canada2025-04-20
1025Russia2025-04-01
1026Japan2025-04-24
1027France2025-04-14
1028Australia2025-04-18
1029Italy2025-04-17
1030Russia2025-04-29
1031France2025-04-12
1032Australia2025-04-04
1033Australia2025-04-06
1034Russia2025-04-22
1035Australia2025-03-31
1036Brazil2025-04-26
1037Brazil2025-04-22
1038Germany2025-04-01
1039Brazil2025-04-06
1040Brazil2025-04-23
1041Russia2025-04-09
1042Italy2025-04-04
1043Canada2025-04-10
1044Canada2025-04-16
1045Canada2025-04-03
1046Canada2025-04-23
1047Germany2025-04-22
1048Japan2025-04-25
1049Russia2025-04-29

On-Demand Data

NameIdCountryDate
Francesco D Marrier1000India2025-04-24
Tony Q Butt1001Australia2025-04-10
Aruna D Inouye1002Russia2025-04-04
Ivar W Slusarski1003Spain2025-04-11
Kaitlin S Morasca1004Japan2025-04-02
Sinclair A Malet1005United Kingdom2025-04-01
Julie D Shinko1006Spain2025-04-29
Munro A Bolognia1007Australia2025-04-18
Isabel K Poquette1008Australia2025-04-08
Maisha D Bolognia1009Brazil2025-04-11
Rodrigues B Whobrey1010India2025-04-12
Jefferson M Slusarski1011Australia2025-04-15
Ashley Q Venere1012Spain2025-04-29
David E Venere1013Australia2025-04-15
Misaki U Waycott1014Italy2025-04-14
Izzy H Nestle1015United Kingdom2025-04-17
Ivar P Dilliard1016Brazil2025-04-22
Aditya A Saylors1017Brazil2025-04-01
Stacey W Oldroyd1018Brazil2025-04-04
Maisha W Stenseth1019Japan2025-04-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon P IturbideIndiaAnna Fali UNQUALIFIED
Chavez T DoeFranceIoni Bowcher NEGOTIATION
Aditya J SergiAustraliaBernardo Dominic PROPOSAL
Octavia Z GarufiAustraliaIvan Magalhaes RENEWAL
Juan Q PoquetteArgentinaElwin Sharvill QUALIFIED
Costa I SaylorsFranceElwin Sharvill UNQUALIFIED
Julie F MaletArgentinaStephen Shaw QUALIFIED
Clifford J OstroskyBrazilIvan Magalhaes RENEWAL
Rodrigues B IturbideRussiaOnyama Limba PROPOSAL
Costa S StockhamJapanAnna Fali NEGOTIATION
Leja H FlosiFranceAsiya Javayant NEGOTIATION
David H SchemmerJapanXuxue Feng QUALIFIED
Alejandro U SergiBrazilXuxue Feng PROPOSAL
Mayumi Z KuskoItalyAmy Elsner PROPOSAL
Misaki U MaletFranceXuxue Feng NEW
Maisha V GillianItalyElwin Sharvill NEGOTIATION
Kaitlin M ChuiJapanIvan Magalhaes NEGOTIATION
Munro Q CaudyItalyAnna Fali NEGOTIATION
Clifford J BowleyJapanStephen Shaw QUALIFIED
Costa K SaylorsIndiaStephen Shaw RENEWAL
Salvatore Z VocelkaIndiaXuxue Feng NEW
Ashley X PaprockiFranceOnyama Limba PROPOSAL
Morrow Q TollnerCanadaStephen Shaw NEW
Silvio Q SchemmerJapanIoni Bowcher QUALIFIED
Kaitlin I MacleadAustraliaAmy Elsner NEW
James K RutaArgentinaIvan Magalhaes RENEWAL
Faith M InouyeFranceAmy Elsner RENEWAL
Antonio V MacleadIndiaIoni Bowcher NEGOTIATION
David M MaletGermanyElwin Sharvill QUALIFIED
Juan J PaprockiRussiaStephen Shaw NEW
Misaki M SchemmerItalyXuxue Feng NEGOTIATION
Aditya V SaylorsSpainOnyama Limba QUALIFIED
Wickens T RutaItalyAnna Fali NEW
Leon K VenereGermanyIvan Magalhaes NEW
Ivar I OldroydIndiaAnna Fali RENEWAL
Aika B BriddickUnited KingdomXuxue Feng QUALIFIED
Costa K BriddickFranceAmy Elsner RENEWAL
Morrow D PerinSpainAnna Fali RENEWAL
Juan M GlickFranceAmy Elsner NEW
Smith Q MarrierRussiaElwin Sharvill RENEWAL

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