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
Cody Z MorascaAustraliaAsiya Javayant PROPOSAL
Ricardo O GauchoSpainOnyama Limba RENEWAL
Aditya W MorascaIndiaElwin Sharvill NEGOTIATION
Francesco G SlusarskiCanadaAnna Fali RENEWAL
Aika R GillianSpainStephen Shaw UNQUALIFIED
Costa S WieserJapanAnna Fali PROPOSAL
Silvio A NestleItalyOnyama Limba UNQUALIFIED
Kaitlin V GlickJapanIvan Magalhaes QUALIFIED
Smith D ShinkoCanadaElwin Sharvill RENEWAL
Salvatore O MarrierBrazilXuxue Feng UNQUALIFIED
Mayumi U BriddickArgentinaXuxue Feng RENEWAL
Costa P NestleRussiaIvan Magalhaes NEGOTIATION
Ivar K InouyeBrazilBernardo Dominic QUALIFIED
Julie O NickaIndiaAmy Elsner PROPOSAL
Aruna G GarufiArgentinaIvan Magalhaes QUALIFIED
Silvio B AmigonAustraliaIvan Magalhaes NEGOTIATION
Mayumi M SaylorsJapanIoni Bowcher PROPOSAL
Julie I AmigonAustraliaXuxue Feng UNQUALIFIED
Mujtaba I GarufiRussiaXuxue Feng NEGOTIATION
Kaitlin N WaycottSpainOnyama Limba QUALIFIED
Aika H PaprockiArgentinaElwin Sharvill RENEWAL
Aditya J DoeBrazilAsiya Javayant PROPOSAL
Antonio P CaldareraArgentinaAsiya Javayant QUALIFIED
Jones E FerenczSpainAsiya Javayant UNQUALIFIED
Francesco J CaudyFranceAnna Fali PROPOSAL
Greenwood H BologniaJapanBernardo Dominic NEGOTIATION
David G MarrierIndiaIoni Bowcher PROPOSAL
Murillo F DarakjyIndiaBernardo Dominic QUALIFIED
Ashley Y PaprockiFranceAsiya Javayant UNQUALIFIED
Mayumi S RutaCanadaStephen Shaw NEGOTIATION
Arvin H FollerBrazilOnyama Limba UNQUALIFIED
Rodrigues D FlosiCanadaOnyama Limba UNQUALIFIED
Nicolas Y BologniaItalyElwin Sharvill RENEWAL
Mujtaba L FlosiCanadaStephen Shaw RENEWAL
Chavez J ButtIndiaIoni Bowcher NEW
Clifford N IturbideBrazilStephen Shaw PROPOSAL
Costa T DoeJapanIoni Bowcher RENEWAL
Misaki Y BologniaJapanXuxue Feng UNQUALIFIED
Salvatore K KuskoAustraliaBernardo Dominic UNQUALIFIED
Jefferson J IturbideFranceXuxue Feng NEGOTIATION
Octavia L AmigonBrazilAmy Elsner NEGOTIATION
Ivar X DilliardFranceOnyama Limba QUALIFIED
Jefferson E SchemmerBrazilStephen Shaw NEGOTIATION
Tony W BologniaBrazilOnyama Limba NEGOTIATION
Chavez N OldroydCanadaIoni Bowcher UNQUALIFIED
Costa W DarakjyIndiaBernardo Dominic PROPOSAL
Jennifer X OldroydGermanyAsiya Javayant PROPOSAL
Adams Y ButtArgentinaBernardo Dominic PROPOSAL
Alejandro W DoeItalyOnyama Limba PROPOSAL
Salvatore X FollerUnited KingdomAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
James F StockhamSpainAmy Elsner NEGOTIATION
Faith J WieserBrazilBernardo Dominic NEW
Johnson F FigeroaCanadaIvan Magalhaes QUALIFIED
Jefferson L BriddickSpainAmy Elsner RENEWAL
Darci E WieserGermanyIvan Magalhaes UNQUALIFIED
Claire M ShinkoIndiaAmy Elsner NEW
Jeanfrancois O MarrierUnited KingdomStephen Shaw PROPOSAL
Stacey D GarufiItalyIvan Magalhaes RENEWAL
Jennifer V OldroydJapanXuxue Feng RENEWAL
Izzy V AlbaresUnited KingdomIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci S GlickGermany2024-06-12Dorl, James J Esq UNQUALIFIED19Asiya Javayant
1001Tony T WhobreyJapan2024-06-06Morlong Associates NEW69Ioni Bowcher
1002Aditya Q PaprockiIndia2024-06-06Feltz Printing Service RENEWAL68Stephen Shaw
1003Kaitlin B PaprockiAustralia2024-05-27Chemel, James L Cpa RENEWAL93Ioni Bowcher
1004Julie H ButtArgentina2024-05-24Chemel, James L Cpa UNQUALIFIED7Ivan Magalhaes
1005Ivar H RutaJapan2024-05-31Buckley Miller Wright PROPOSAL40Elwin Sharvill
1006Salvatore T SlusarskiBrazil2024-06-07Printing Dimensions NEW24Stephen Shaw
1007Ivar C AlbaresJapan2024-06-02Truhlar And Truhlar Attys PROPOSAL9Stephen Shaw
1008Smith J ShinkoAustralia2024-06-11Rousseaux, Michael Esq NEW34Amy Elsner
1009Clifford Y IturbideBrazil2024-05-25Rangoni Of Florence QUALIFIED32Ioni Bowcher
1010Murillo G SaylorsAustralia2024-06-17Printing Dimensions NEW12Ivan Magalhaes
1011Johnson E BowleyAustralia2024-06-02Rousseaux, Michael Esq RENEWAL48Stephen Shaw
1012Izzy V DoeAustralia2024-06-20Rangoni Of Florence UNQUALIFIED76Asiya Javayant
1013Munro Z WhobreyJapan2024-06-17Feiner Bros QUALIFIED0Bernardo Dominic
1014David T VocelkaRussia2024-06-04Printing Dimensions QUALIFIED0Amy Elsner
1015Leon U RutaJapan2024-06-17King, Christopher A Esq UNQUALIFIED37Anna Fali
1016Leja T SergiUnited Kingdom2024-05-30Chemel, James L Cpa RENEWAL20Xuxue Feng
1017Jeanfrancois T CampainArgentina2024-06-04Dorl, James J Esq NEW11Ivan Magalhaes
1018Darci U IturbideJapan2024-06-14Chemel, James L Cpa PROPOSAL32Anna Fali
1019Claire F VocelkaBrazil2024-06-11King, Christopher A Esq NEW45Asiya Javayant
1020Misaki L DarakjySpain2024-06-15King, Christopher A Esq PROPOSAL72Xuxue Feng
1021Kaitlin Q DoeItaly2024-05-26Chapman, Ross E Esq NEGOTIATION22Onyama Limba
1022Aika G NestleJapan2024-06-13Benton, John B Jr PROPOSAL96Ivan Magalhaes
1023Mayumi S StockhamBrazil2024-06-09Rangoni Of Florence QUALIFIED52Xuxue Feng
1024Greenwood X CampainBrazil2024-05-24Rousseaux, Michael Esq UNQUALIFIED31Onyama Limba
1025Mujtaba S NestleGermany2024-06-16Commercial Press NEGOTIATION41Xuxue Feng
1026Arvin A RulapaughItaly2024-05-26Commercial Press PROPOSAL59Bernardo Dominic
1027Jones B CaudyArgentina2024-06-01Chapman, Ross E Esq RENEWAL71Bernardo Dominic
1028Claire Q GarufiAustralia2024-06-08Chapman, Ross E Esq NEGOTIATION1Anna Fali
1029Aditya V StockhamJapan2024-05-31Morlong Associates PROPOSAL32Anna Fali
1030Adams C RoysterAustralia2024-06-02Rangoni Of Florence QUALIFIED56Ioni Bowcher
1031Munro O KuskoCanada2024-06-09Morlong Associates NEW8Amy Elsner
1032Chavez V ShinkoUnited Kingdom2024-06-09Printing Dimensions UNQUALIFIED78Ioni Bowcher
1033Costa C AmigonIndia2024-06-14Printing Dimensions RENEWAL6Ivan Magalhaes
1034Aruna Y GarufiCanada2024-05-28Chapman, Ross E Esq QUALIFIED28Amy Elsner
1035Murillo R NickaAustralia2024-06-02Chemel, James L Cpa QUALIFIED70Bernardo Dominic
1036Stacey N RulapaughJapan2024-05-25Buckley Miller Wright PROPOSAL77Ivan Magalhaes
1037Kaitlin U SergiJapan2024-06-10King, Christopher A Esq PROPOSAL78Ivan Magalhaes
1038Adams S RoysterItaly2024-06-17Rangoni Of Florence QUALIFIED86Stephen Shaw
1039James H IturbideBrazil2024-06-04Feiner Bros PROPOSAL43Asiya Javayant
1040Maisha D ChuiAustralia2024-06-08Dorl, James J Esq RENEWAL77Elwin Sharvill
1041Clifford D BriddickBrazil2024-06-17Commercial Press UNQUALIFIED93Xuxue Feng
1042Aditya K RimAustralia2024-05-31Buckley Miller Wright NEGOTIATION12Ioni Bowcher
1043Ricardo D KuskoArgentina2024-05-27Dorl, James J Esq UNQUALIFIED18Ioni Bowcher
1044Morrow G DilliardUnited Kingdom2024-06-07Benton, John B Jr NEW98Onyama Limba
1045Clifford I MarrierGermany2024-06-06Chanay, Jeffrey A Esq RENEWAL56Elwin Sharvill
1046Cody R GauchoCanada2024-05-29Chapman, Ross E Esq QUALIFIED72Bernardo Dominic
1047Arvin L MacleadCanada2024-06-19Chapman, Ross E Esq NEW75Elwin Sharvill
1048Costa T SchemmerArgentina2024-06-09Chapman, Ross E Esq QUALIFIED87Stephen Shaw
1049Clifford O IturbideArgentina2024-06-17Dorl, James J Esq RENEWAL14Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Morrow T FollerRussiaOnyama Limba PROPOSAL
David S FollerRussiaElwin Sharvill RENEWAL
Juan P OstroskyUnited KingdomStephen Shaw PROPOSAL
Ivar A KolmetzArgentinaBernardo Dominic RENEWAL
Costa I MorascaJapanXuxue Feng UNQUALIFIED
Mujtaba Z ShinkoBrazilIoni Bowcher UNQUALIFIED
Deepesh Q StensethBrazilElwin Sharvill NEW
Ivar X MorascaCanadaElwin Sharvill UNQUALIFIED
Ashley O AmigonArgentinaIoni Bowcher NEGOTIATION
Arvin O SlusarskiFranceAmy Elsner NEGOTIATION
Mujtaba X FlosiSpainOnyama Limba UNQUALIFIED
Leon I GlickFranceAmy Elsner UNQUALIFIED
Maisha H SergiIndiaAnna Fali RENEWAL
Julie F RutaUnited KingdomAsiya Javayant NEGOTIATION
Jefferson F GauchoUnited KingdomAnna Fali RENEWAL
Julie I ChuiItalyStephen Shaw QUALIFIED
Leja L SergiArgentinaXuxue Feng NEW
Octavia H RoysterGermanyBernardo Dominic QUALIFIED
Isabel U WhobreyGermanyIvan Magalhaes UNQUALIFIED
Francesco R DilliardBrazilXuxue Feng RENEWAL
Ivar P VenereRussiaBernardo Dominic QUALIFIED
Isabel D PerinArgentinaAnna Fali RENEWAL
Jones X CampainBrazilAmy Elsner NEW
Johnson N StensethSpainIoni Bowcher QUALIFIED
Johnson Y WaycottBrazilIvan Magalhaes NEW
Antonio A GauchoJapanAmy Elsner NEW
Misaki E VocelkaSpainAmy Elsner PROPOSAL
Adams R FlosiItalyAsiya Javayant RENEWAL
Juan A ChuiItalyElwin Sharvill RENEWAL
Jennifer E ShinkoAustraliaElwin Sharvill QUALIFIED
Aika N DilliardUnited KingdomStephen Shaw NEW
Emily W NestleIndiaAmy Elsner RENEWAL
James P MarrierSpainIvan Magalhaes RENEWAL
Isabel Q ButtJapanXuxue Feng UNQUALIFIED
Wickens Y GlickJapanAnna Fali RENEWAL
Jennifer J RoysterFranceAnna Fali NEGOTIATION
Izzy X BriddickItalyAmy Elsner PROPOSAL
Mayumi W BriddickAustraliaAsiya Javayant UNQUALIFIED
Tony Y NestleSpainBernardo Dominic RENEWAL
Murillo A MorascaIndiaIvan Magalhaes UNQUALIFIED
Mujtaba V FlosiSpainXuxue Feng NEW
Leja F RutaCanadaAsiya Javayant PROPOSAL
Ashley P SaylorsRussiaBernardo Dominic UNQUALIFIED
Cody A FollerAustraliaBernardo Dominic UNQUALIFIED
Adams P ButtIndiaBernardo Dominic UNQUALIFIED
Johnson I NestleSpainBernardo Dominic RENEWAL
Faith T WhobreyArgentinaAmy Elsner NEGOTIATION
Ashley B AlbaresUnited KingdomAmy Elsner QUALIFIED
Claire O RimGermanyIvan Magalhaes RENEWAL
Aruna Y RoysterRussiaAsiya Javayant NEGOTIATION
Frozen Columns
Name
Ivar E Marrier
Ashley G Tollner
Maria M Figeroa
Kaitlin S Rim
Deepesh M Flosi
Jennifer M Schemmer
Mujtaba I Butt
Jeanfrancois X Oldroyd
Jeanfrancois J Figeroa
Kaitlin M Malet
Isabel U Wieser
Costa Q Caudy
Smith H Caudy
Nicolas U Sergi
Maria M Tollner
David L Stockham
Nicolas V Doe
Murillo U Royster
Jefferson G Figeroa
Rodrigues J Wieser
Isabel C Vocelka
Greenwood Z Iturbide
Leja T Shinko
Ricardo I Ruta
Leon C Vocelka
Kadeem E Marrier
Julie J Flosi
Wickens T Ruta
Clifford B Nicka
Maisha I Iturbide
Maisha B Ferencz
Clifford F Dilliard
Morrow A Stockham
Aruna J Nestle
Adams L Vocelka
Wickens D Garufi
Aditya B Malet
Izzy P Royster
Johnson R Venere
Smith Z Butt
Aruna S Caudy
Sinclair D Tollner
Faith M Vocelka
Munro G Stockham
Kadeem A Nestle
Misaki S Oldroyd
Faith I Flosi
Aruna X Amigon
Stacey Y Albares
Ivar V Kusko
IdCountryDate
1000Japan2024-06-21
1001Australia2024-06-21
1002Canada2024-05-29
1003France2024-06-11
1004Japan2024-05-29
1005United Kingdom2024-06-18
1006Argentina2024-06-18
1007Germany2024-06-18
1008France2024-06-15
1009Spain2024-05-27
1010Italy2024-06-05
1011India2024-06-07
1012Germany2024-06-10
1013Italy2024-06-12
1014Argentina2024-06-14
1015France2024-06-16
1016France2024-06-11
1017Canada2024-06-09
1018Canada2024-06-12
1019France2024-06-03
1020Spain2024-06-17
1021Russia2024-06-01
1022Canada2024-05-24
1023Australia2024-06-19
1024Russia2024-06-21
1025Russia2024-06-01
1026Russia2024-06-13
1027Germany2024-05-27
1028Russia2024-06-15
1029Argentina2024-05-23
1030India2024-06-16
1031United Kingdom2024-05-29
1032Australia2024-06-13
1033Argentina2024-06-10
1034Germany2024-06-14
1035Japan2024-06-15
1036France2024-06-17
1037France2024-05-29
1038Australia2024-06-18
1039Japan2024-05-27
1040Russia2024-05-29
1041Argentina2024-05-30
1042United Kingdom2024-06-21
1043Argentina2024-05-30
1044United Kingdom2024-05-28
1045Japan2024-06-10
1046Argentina2024-05-24
1047Canada2024-06-15
1048France2024-06-09
1049Spain2024-06-06

On-Demand Data

NameIdCountryDate
Deepesh N Wieser1000United Kingdom2024-06-01
Costa G Morasca1001France2024-06-10
Mayumi Q Dilliard1002Australia2024-06-16
Juan Q Schemmer1003Japan2024-06-12
Greenwood J Kusko1004France2024-06-13
Leja L Maclead1005Spain2024-05-31
Isabel K Garufi1006Russia2024-06-07
Claire O Morasca1007Canada2024-05-24
James Z Ruta1008Germany2024-06-11
Octavia F Oldroyd1009Germany2024-05-30
Costa U Rulapaugh1010Brazil2024-05-29
Darci U Darakjy1011India2024-06-10
Arvin Q Stockham1012Germany2024-06-09
Jennifer U Nestle1013Australia2024-06-12
Ricardo N Schemmer1014Japan2024-05-26
Maria P Kusko1015Germany2024-05-24
Darci N Maclead1016Japan2024-05-29
Silvio Q Albares1017United Kingdom2024-06-18
Alejandro D Whobrey1018Italy2024-06-13
Smith A Malet1019Germany2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson X TollnerGermanyXuxue Feng PROPOSAL
Leon J PerinAustraliaAsiya Javayant PROPOSAL
Salvatore H RoysterGermanyElwin Sharvill NEGOTIATION
Maria E VocelkaJapanAmy Elsner NEGOTIATION
Jones N VocelkaJapanAmy Elsner NEW
Darci V WieserUnited KingdomAmy Elsner RENEWAL
Jennifer E MorascaItalyAsiya Javayant UNQUALIFIED
Greenwood A MarrierArgentinaXuxue Feng QUALIFIED
Clifford Y BologniaFranceAnna Fali NEW
James V PaprockiBrazilIvan Magalhaes RENEWAL
Silvio V RulapaughAustraliaIvan Magalhaes QUALIFIED
Kadeem Q OldroydIndiaAmy Elsner PROPOSAL
Costa N DarakjyBrazilIoni Bowcher QUALIFIED
Emily Y KuskoArgentinaBernardo Dominic RENEWAL
Leon Q MorascaItalyBernardo Dominic PROPOSAL
Ashley O StockhamGermanyOnyama Limba NEW
Clifford X PaprockiCanadaElwin Sharvill UNQUALIFIED
Claire O NestleIndiaOnyama Limba NEGOTIATION
Juan A SchemmerCanadaElwin Sharvill UNQUALIFIED
Leja P GillianIndiaIvan Magalhaes UNQUALIFIED
Aruna I CampainRussiaXuxue Feng PROPOSAL
Francesco D DoeSpainAmy Elsner RENEWAL
Kaitlin C CaldareraAustraliaOnyama Limba QUALIFIED
Sinclair N FigeroaUnited KingdomAmy Elsner PROPOSAL
Murillo D RoysterCanadaIoni Bowcher PROPOSAL
Julie K GauchoRussiaElwin Sharvill RENEWAL
Munro H FerenczSpainIoni Bowcher UNQUALIFIED
Morrow F MarrierJapanAmy Elsner QUALIFIED
Silvio P PoquetteBrazilIvan Magalhaes QUALIFIED
Octavia S ChuiItalyStephen Shaw QUALIFIED
Ivar K OstroskyRussiaIoni Bowcher QUALIFIED
Jones C MorascaArgentinaAmy Elsner NEW
Izzy Q InouyeGermanyIvan Magalhaes PROPOSAL
Izzy R FigeroaAustraliaBernardo Dominic PROPOSAL
Leja D StockhamRussiaXuxue Feng NEGOTIATION
Faith F ShinkoItalyStephen Shaw NEGOTIATION
Octavia Z CampainRussiaXuxue Feng PROPOSAL
Munro C OstroskyCanadaXuxue Feng QUALIFIED
Claire U GauchoBrazilAsiya Javayant RENEWAL
Jones F SergiAustraliaOnyama 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>