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
Jeanfrancois E ChuiGermanyIoni Bowcher UNQUALIFIED
Emily T PoquetteFranceIoni Bowcher RENEWAL
Emily A GlickCanadaAmy Elsner NEW
Claire V GauchoJapanIvan Magalhaes NEGOTIATION
Francesco B SlusarskiCanadaElwin Sharvill RENEWAL
Ricardo G VocelkaUnited KingdomAsiya Javayant QUALIFIED
Deepesh E SaylorsJapanIvan Magalhaes RENEWAL
Smith Y BowleyGermanyOnyama Limba QUALIFIED
Alejandro B PoquetteItalyAnna Fali NEGOTIATION
James N GillianGermanyIoni Bowcher NEW
Nicolas K MorascaFranceElwin Sharvill PROPOSAL
Emily P IturbideGermanyAsiya Javayant RENEWAL
Kaitlin M MarrierGermanyElwin Sharvill UNQUALIFIED
Stacey T FollerUnited KingdomAsiya Javayant UNQUALIFIED
Kadeem S RulapaughArgentinaAnna Fali UNQUALIFIED
Adams T MaletAustraliaBernardo Dominic NEGOTIATION
Maisha C GarufiUnited KingdomStephen Shaw PROPOSAL
Alejandro R OldroydAustraliaStephen Shaw QUALIFIED
Jennifer T AmigonUnited KingdomAsiya Javayant NEGOTIATION
Adams M DarakjyRussiaOnyama Limba UNQUALIFIED
Silvio C MorascaUnited KingdomStephen Shaw QUALIFIED
Aruna Y FlosiItalyAnna Fali RENEWAL
Aruna S RoysterJapanAsiya Javayant RENEWAL
James W FerenczAustraliaAsiya Javayant RENEWAL
Julie H BriddickCanadaAsiya Javayant QUALIFIED
Maisha E GillianGermanyAmy Elsner QUALIFIED
Aika N NestleItalyAsiya Javayant NEW
Mayumi J MorascaAustraliaIoni Bowcher QUALIFIED
Munro F CaudyItalyAmy Elsner RENEWAL
Aika W PerinRussiaIvan Magalhaes PROPOSAL
Izzy N FigeroaCanadaIoni Bowcher NEW
Kaitlin J MaletFranceAsiya Javayant NEW
Chavez P CaudyJapanIvan Magalhaes RENEWAL
Cody F GauchoFranceIoni Bowcher NEGOTIATION
Ricardo Q ShinkoCanadaOnyama Limba RENEWAL
James E FollerJapanIoni Bowcher NEW
Maisha A SchemmerArgentinaAnna Fali QUALIFIED
Jeanfrancois J CaldareraIndiaAmy Elsner NEW
Jefferson T PaprockiGermanyAmy Elsner UNQUALIFIED
Arvin O AmigonSpainXuxue Feng UNQUALIFIED
Aika O ShinkoJapanIoni Bowcher UNQUALIFIED
Stacey H FollerItalyAsiya Javayant NEW
Claire I NestleItalyBernardo Dominic UNQUALIFIED
Izzy I RutaJapanXuxue Feng NEW
Stacey Q GauchoItalyStephen Shaw QUALIFIED
Jones B InouyeBrazilAmy Elsner RENEWAL
Mayumi N ShinkoJapanBernardo Dominic NEGOTIATION
Leon T RimItalyIvan Magalhaes PROPOSAL
Clifford D BologniaItalyAmy Elsner UNQUALIFIED
Ricardo A PoquetteGermanyAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Silvio F CampainItalyXuxue Feng RENEWAL
Octavia N BriddickUnited KingdomAnna Fali UNQUALIFIED
Salvatore L BologniaAustraliaIoni Bowcher PROPOSAL
Jennifer N FollerJapanIoni Bowcher NEGOTIATION
Mayumi W NestleGermanyIoni Bowcher RENEWAL
Ricardo U SaylorsCanadaOnyama Limba UNQUALIFIED
Stacey K BriddickBrazilBernardo Dominic UNQUALIFIED
Nicolas S FerenczUnited KingdomElwin Sharvill RENEWAL
Julie A NestleUnited KingdomAsiya Javayant UNQUALIFIED
David R CaldareraArgentinaXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow K WhobreyIndia2024-06-21Buckley Miller Wright NEW31Onyama Limba
1001Claire Z KolmetzSpain2024-06-19King, Christopher A Esq UNQUALIFIED67Anna Fali
1002Juan P VenereArgentina2024-06-07Chemel, James L Cpa UNQUALIFIED25Xuxue Feng
1003Clifford N ButtSpain2024-06-19Rousseaux, Michael Esq NEW0Anna Fali
1004Jennifer K DarakjyFrance2024-05-27Chanay, Jeffrey A Esq UNQUALIFIED78Bernardo Dominic
1005Leja R SlusarskiArgentina2024-05-25Printing Dimensions UNQUALIFIED88Xuxue Feng
1006Mayumi Z CaldareraBrazil2024-06-10Printing Dimensions NEGOTIATION19Onyama Limba
1007Smith N VenereGermany2024-05-25Chapman, Ross E Esq UNQUALIFIED60Asiya Javayant
1008Jefferson A MarrierUnited Kingdom2024-06-06Feltz Printing Service QUALIFIED63Elwin Sharvill
1009Ashley Z MacleadGermany2024-06-08Printing Dimensions NEW79Ivan Magalhaes
1010Darci E VenereCanada2024-05-30Dorl, James J Esq UNQUALIFIED22Ioni Bowcher
1011Claire N PoquetteGermany2024-06-17Truhlar And Truhlar Attys UNQUALIFIED27Bernardo Dominic
1012Leja M RimCanada2024-06-09Commercial Press PROPOSAL95Elwin Sharvill
1013Silvio R NestleIndia2024-05-24Chapman, Ross E Esq NEW17Ivan Magalhaes
1014Greenwood Q WieserCanada2024-05-27Truhlar And Truhlar Attys QUALIFIED50Elwin Sharvill
1015Ivar Y GlickUnited Kingdom2024-06-16Printing Dimensions UNQUALIFIED5Ivan Magalhaes
1016Misaki Z SlusarskiIndia2024-06-07Benton, John B Jr UNQUALIFIED57Amy Elsner
1017Jennifer V DarakjyAustralia2024-06-01Feltz Printing Service QUALIFIED25Onyama Limba
1018Leja M GillianFrance2024-05-29Chanay, Jeffrey A Esq QUALIFIED87Stephen Shaw
1019Claire T SchemmerCanada2024-06-10Chemel, James L Cpa RENEWAL54Xuxue Feng
1020Nicolas H WieserBrazil2024-06-17Morlong Associates NEGOTIATION67Elwin Sharvill
1021Claire B DoeItaly2024-06-06Chemel, James L Cpa RENEWAL1Ivan Magalhaes
1022Ivar R WieserCanada2024-06-11Printing Dimensions UNQUALIFIED59Elwin Sharvill
1023Aruna C AlbaresBrazil2024-05-25Commercial Press NEW21Ioni Bowcher
1024Claire O MaletFrance2024-05-25Benton, John B Jr RENEWAL46Xuxue Feng
1025Greenwood Y RutaCanada2024-06-11Rousseaux, Michael Esq RENEWAL56Anna Fali
1026Morrow G DarakjyIndia2024-06-13Printing Dimensions NEGOTIATION82Ivan Magalhaes
1027Aditya R SchemmerBrazil2024-06-15Morlong Associates UNQUALIFIED97Stephen Shaw
1028Chavez T GauchoGermany2024-06-04Rousseaux, Michael Esq NEGOTIATION5Anna Fali
1029Arvin D ShinkoGermany2024-05-31Chapman, Ross E Esq PROPOSAL44Bernardo Dominic
1030Maria V WieserUnited Kingdom2024-06-20Morlong Associates NEGOTIATION24Anna Fali
1031Misaki S PaprockiItaly2024-05-30Printing Dimensions NEGOTIATION15Ivan Magalhaes
1032Leon C ShinkoIndia2024-06-07Buckley Miller Wright NEW7Amy Elsner
1033Jeanfrancois T CaldareraGermany2024-05-31Chemel, James L Cpa NEGOTIATION99Elwin Sharvill
1034Ashley I RulapaughArgentina2024-06-10Printing Dimensions QUALIFIED24Bernardo Dominic
1035Darci Y FigeroaJapan2024-06-02Chemel, James L Cpa UNQUALIFIED15Stephen Shaw
1036Murillo T VenereRussia2024-06-06Rousseaux, Michael Esq RENEWAL43Ioni Bowcher
1037Tony S AmigonGermany2024-06-20Dorl, James J Esq PROPOSAL55Ioni Bowcher
1038Maria I DarakjyGermany2024-06-10Feiner Bros NEGOTIATION41Stephen Shaw
1039Murillo H SlusarskiCanada2024-06-18Truhlar And Truhlar Attys RENEWAL98Stephen Shaw
1040Ricardo N SergiAustralia2024-06-17Printing Dimensions QUALIFIED55Elwin Sharvill
1041Leja F DoeJapan2024-06-11King, Christopher A Esq QUALIFIED37Elwin Sharvill
1042Claire Q OldroydArgentina2024-06-19Chanay, Jeffrey A Esq NEW74Elwin Sharvill
1043Francesco I WhobreyArgentina2024-06-07Dorl, James J Esq NEW63Anna Fali
1044David F MaletAustralia2024-06-20King, Christopher A Esq QUALIFIED32Xuxue Feng
1045Isabel X StockhamRussia2024-06-11Rousseaux, Michael Esq NEW31Anna Fali
1046Kadeem I FollerGermany2024-06-07Feiner Bros RENEWAL51Xuxue Feng
1047Leon C FlosiUnited Kingdom2024-06-14Truhlar And Truhlar Attys NEGOTIATION13Amy Elsner
1048Adams V RulapaughSpain2024-06-02Benton, John B Jr RENEWAL97Amy Elsner
1049Silvio O CaudyJapan2024-06-10Rousseaux, Michael Esq NEGOTIATION51Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Nicolas M MaletSpainIvan Magalhaes NEGOTIATION
Silvio V InouyeAustraliaAnna Fali UNQUALIFIED
Antonio N CampainIndiaAnna Fali NEGOTIATION
Tony S GauchoArgentinaElwin Sharvill UNQUALIFIED
Munro B CampainFranceAmy Elsner RENEWAL
Aditya L FigeroaBrazilIvan Magalhaes NEGOTIATION
Ivar F RutaCanadaIoni Bowcher NEGOTIATION
Arvin R WieserRussiaIoni Bowcher QUALIFIED
Morrow W RoysterGermanyStephen Shaw PROPOSAL
Aika C VocelkaAustraliaOnyama Limba QUALIFIED
Costa D RulapaughCanadaIvan Magalhaes PROPOSAL
Mujtaba X IturbideUnited KingdomElwin Sharvill UNQUALIFIED
David Y DoeRussiaAsiya Javayant UNQUALIFIED
Greenwood G WhobreyUnited KingdomBernardo Dominic NEGOTIATION
Mayumi A VenereAustraliaIvan Magalhaes PROPOSAL
Chavez R MacleadItalyBernardo Dominic PROPOSAL
Smith V NickaItalyAsiya Javayant QUALIFIED
Mujtaba N CaudyUnited KingdomXuxue Feng NEW
Salvatore A FollerSpainBernardo Dominic PROPOSAL
Leja G OldroydFranceOnyama Limba NEGOTIATION
Murillo W RoysterAustraliaIvan Magalhaes QUALIFIED
James T IturbideAustraliaXuxue Feng RENEWAL
Octavia Z VenereIndiaOnyama Limba RENEWAL
James R DarakjyBrazilStephen Shaw QUALIFIED
Julie H OstroskyIndiaAmy Elsner QUALIFIED
Munro A ShinkoItalyAnna Fali QUALIFIED
Clifford G DilliardIndiaElwin Sharvill QUALIFIED
Costa M WaycottUnited KingdomAmy Elsner NEW
Ricardo S BologniaAustraliaBernardo Dominic NEGOTIATION
Jefferson D CaudyRussiaIvan Magalhaes UNQUALIFIED
Ivar M RoysterGermanyAnna Fali QUALIFIED
Leon Z WaycottArgentinaIvan Magalhaes NEGOTIATION
Maria B BowleyCanadaAmy Elsner NEGOTIATION
Julie E FlosiFranceOnyama Limba RENEWAL
Munro T SergiSpainXuxue Feng NEW
Aruna F DarakjyBrazilStephen Shaw NEW
Aika L NickaCanadaAnna Fali NEGOTIATION
Octavia O FerenczCanadaOnyama Limba QUALIFIED
Julie M DoeItalyAmy Elsner UNQUALIFIED
Mujtaba Q WieserRussiaBernardo Dominic NEGOTIATION
Chavez S MaletCanadaOnyama Limba UNQUALIFIED
Chavez Y WhobreySpainOnyama Limba PROPOSAL
Adams F VocelkaUnited KingdomBernardo Dominic PROPOSAL
Costa Q MaletJapanOnyama Limba PROPOSAL
Tony Z RimSpainIvan Magalhaes PROPOSAL
Octavia M AmigonAustraliaAnna Fali QUALIFIED
Adams U BriddickFranceIoni Bowcher UNQUALIFIED
Ashley C ShinkoRussiaIoni Bowcher UNQUALIFIED
Munro V MacleadGermanyElwin Sharvill PROPOSAL
Murillo J RimFranceElwin Sharvill QUALIFIED
Frozen Columns
Name
Stacey B Briddick
Aika F Flosi
Stacey D Caldarera
Ricardo X Darakjy
Munro A Kolmetz
Jeanfrancois U Royster
Leja C Malet
Mayumi G Gillian
Deepesh S Saylors
Isabel U Rim
Murillo D Marrier
Chavez K Stenseth
Kaitlin I Amigon
Costa O Glick
Maria J Wieser
Claire P Dilliard
Kadeem I Bowley
Faith L Garufi
Chavez U Stockham
Murillo X Foller
Mayumi Y Gaucho
Silvio D Rim
Costa I Dilliard
Tony F Slusarski
Alejandro M Ostrosky
Emily U Caldarera
Jefferson Z Inouye
Kadeem B Inouye
Octavia L Ferencz
Mujtaba V Royster
Aika N Maclead
Maisha G Venere
Jeanfrancois S Caldarera
Kadeem B Albares
Darci G Royster
Chavez F Rulapaugh
Deepesh R Foller
Deepesh Z Whobrey
Aditya B Kolmetz
Kadeem U Oldroyd
Nicolas C Marrier
Greenwood F Chui
Juan U Waycott
Arvin R Rim
Misaki I Whobrey
Aruna U Rulapaugh
Leja K Glick
Darci U Campain
Munro U Malet
Aditya M Stenseth
IdCountryDate
1000United Kingdom2024-06-16
1001Italy2024-05-26
1002Australia2024-06-15
1003Canada2024-06-02
1004Spain2024-06-10
1005Canada2024-06-20
1006France2024-06-14
1007Italy2024-06-19
1008United Kingdom2024-06-21
1009Germany2024-05-30
1010Brazil2024-06-04
1011India2024-06-13
1012Canada2024-06-02
1013Italy2024-05-24
1014France2024-06-15
1015India2024-06-21
1016Italy2024-06-16
1017India2024-06-13
1018France2024-05-25
1019Spain2024-05-30
1020Russia2024-06-12
1021United Kingdom2024-06-08
1022Argentina2024-05-23
1023Canada2024-06-09
1024Italy2024-05-31
1025Brazil2024-05-31
1026Spain2024-06-16
1027Canada2024-05-25
1028India2024-06-21
1029Italy2024-05-28
1030Spain2024-06-09
1031Russia2024-06-19
1032Russia2024-05-26
1033Germany2024-06-04
1034Japan2024-06-10
1035Canada2024-06-04
1036Italy2024-05-31
1037Spain2024-05-29
1038Brazil2024-06-08
1039Italy2024-05-31
1040Italy2024-06-03
1041Argentina2024-06-12
1042Italy2024-05-29
1043Argentina2024-06-16
1044Russia2024-06-07
1045India2024-06-09
1046Japan2024-05-23
1047Canada2024-06-09
1048Italy2024-06-10
1049India2024-05-30

On-Demand Data

NameIdCountryDate
Aika Y Ferencz1000India2024-05-25
Costa Z Briddick1001India2024-05-24
Ricardo J Bowley1002France2024-05-29
Costa Y Ruta1003United Kingdom2024-06-09
Mayumi G Bowley1004India2024-06-04
Salvatore F Ruta1005Germany2024-06-03
Maria Q Rulapaugh1006Japan2024-06-10
Silvio D Ferencz1007Japan2024-06-02
Ashley J Doe1008France2024-06-21
Murillo K Gillian1009Australia2024-06-07
Munro L Schemmer1010Russia2024-06-05
Arvin J Waycott1011Japan2024-06-01
Aruna H Whobrey1012Germany2024-06-09
Jennifer C Tollner1013Canada2024-05-23
Jeanfrancois A Maclead1014Spain2024-05-28
Kaitlin Q Bowley1015Germany2024-06-12
Octavia E Ferencz1016Italy2024-06-13
Ashley R Stenseth1017Spain2024-06-11
Cody O Royster1018Spain2024-05-30
Izzy Q Malet1019Canada2024-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja G RulapaughFranceElwin Sharvill NEW
Kaitlin Z InouyeItalyIoni Bowcher NEW
Sinclair C OstroskyArgentinaIvan Magalhaes NEW
Emily Z RoysterSpainAsiya Javayant NEGOTIATION
Kaitlin D BriddickItalyXuxue Feng PROPOSAL
Izzy T MaletFranceStephen Shaw UNQUALIFIED
Jefferson U RimCanadaAsiya Javayant NEGOTIATION
Darci H WieserJapanAnna Fali RENEWAL
Misaki S SergiFranceOnyama Limba RENEWAL
Juan T WaycottIndiaStephen Shaw PROPOSAL
Jones O AlbaresArgentinaAsiya Javayant UNQUALIFIED
Stacey F StockhamArgentinaBernardo Dominic PROPOSAL
Izzy L IturbideRussiaStephen Shaw NEGOTIATION
Arvin X OldroydArgentinaXuxue Feng PROPOSAL
Aditya V MaletFranceIoni Bowcher NEW
David J CampainSpainIvan Magalhaes NEGOTIATION
Murillo G DilliardBrazilOnyama Limba QUALIFIED
Mujtaba B WaycottIndiaIoni Bowcher RENEWAL
Morrow I PaprockiArgentinaElwin Sharvill QUALIFIED
James I DilliardArgentinaIoni Bowcher RENEWAL
Silvio B GlickSpainOnyama Limba RENEWAL
Mayumi V BologniaCanadaElwin Sharvill NEGOTIATION
Morrow O CaudyJapanAmy Elsner RENEWAL
Ricardo L WhobreyFranceStephen Shaw RENEWAL
Tony R MarrierFranceAnna Fali RENEWAL
Ricardo T StensethRussiaAmy Elsner QUALIFIED
Claire M ChuiBrazilStephen Shaw RENEWAL
Jennifer O RulapaughBrazilIoni Bowcher UNQUALIFIED
Kaitlin Y CaldareraFranceElwin Sharvill RENEWAL
Chavez O GlickSpainOnyama Limba RENEWAL
Alejandro M VocelkaBrazilAmy Elsner UNQUALIFIED
Antonio U PoquetteCanadaIvan Magalhaes QUALIFIED
Julie I MaletIndiaAmy Elsner PROPOSAL
Jeanfrancois Z PoquetteRussiaBernardo Dominic PROPOSAL
Izzy I WieserJapanAsiya Javayant NEW
Costa T MaletFranceAnna Fali NEW
Izzy A AmigonFranceAsiya Javayant UNQUALIFIED
Octavia H StockhamGermanyAnna Fali NEW
Morrow S AmigonUnited KingdomBernardo Dominic NEW
Tony Z SaylorsGermanyElwin 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>