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
Costa Y FigeroaJapanIvan Magalhaes PROPOSAL
Silvio K PaprockiUnited KingdomBernardo Dominic NEGOTIATION
Ricardo D BowleyCanadaAnna Fali UNQUALIFIED
Cody P OldroydUnited KingdomAsiya Javayant PROPOSAL
Claire I BologniaCanadaElwin Sharvill QUALIFIED
Tony K GarufiGermanyIvan Magalhaes RENEWAL
Greenwood T AlbaresRussiaIvan Magalhaes QUALIFIED
Antonio G BowleyFranceXuxue Feng UNQUALIFIED
Mayumi V NickaUnited KingdomAsiya Javayant NEW
Stacey L KuskoBrazilIvan Magalhaes NEGOTIATION
Costa G PerinAustraliaBernardo Dominic NEGOTIATION
Kaitlin R MarrierUnited KingdomAmy Elsner QUALIFIED
Silvio V BologniaBrazilElwin Sharvill NEGOTIATION
Alejandro W PoquetteBrazilStephen Shaw RENEWAL
Octavia Q PerinBrazilElwin Sharvill QUALIFIED
Wickens W GarufiSpainElwin Sharvill UNQUALIFIED
Jefferson G RulapaughGermanyAsiya Javayant NEW
Ashley G MarrierUnited KingdomIvan Magalhaes UNQUALIFIED
Leja Q DarakjyAustraliaOnyama Limba NEGOTIATION
Ivar P CampainIndiaElwin Sharvill NEGOTIATION
Mujtaba Z AmigonUnited KingdomIoni Bowcher RENEWAL
Ivar C MaletRussiaAmy Elsner NEGOTIATION
Smith F MaletAustraliaStephen Shaw PROPOSAL
Aruna Z KolmetzAustraliaAsiya Javayant RENEWAL
Morrow N CampainUnited KingdomIoni Bowcher PROPOSAL
Tony Q WieserGermanyOnyama Limba NEGOTIATION
Stacey A CaldareraSpainIvan Magalhaes NEW
Salvatore P WieserBrazilIoni Bowcher QUALIFIED
Alejandro A VenereItalyElwin Sharvill NEGOTIATION
Greenwood U MorascaUnited KingdomIoni Bowcher RENEWAL
Ashley R AlbaresJapanIoni Bowcher PROPOSAL
Misaki R PoquetteJapanElwin Sharvill QUALIFIED
Darci O DilliardFranceIvan Magalhaes PROPOSAL
Munro N SaylorsArgentinaAmy Elsner NEGOTIATION
Mujtaba B PerinFranceIvan Magalhaes NEGOTIATION
Jones H FlosiIndiaElwin Sharvill RENEWAL
Aditya P NestleJapanOnyama Limba NEW
Costa I PoquetteCanadaStephen Shaw RENEWAL
Claire H GarufiItalyAnna Fali NEW
Adams G OstroskyArgentinaStephen Shaw NEGOTIATION
Octavia I StockhamSpainAsiya Javayant PROPOSAL
Leja U MaletFranceIoni Bowcher PROPOSAL
Aruna P WhobreyBrazilAmy Elsner NEW
Jones J PerinAustraliaIvan Magalhaes RENEWAL
Nicolas S CaldareraUnited KingdomStephen Shaw NEGOTIATION
Wickens M GlickIndiaAnna Fali NEGOTIATION
Salvatore E ButtArgentinaElwin Sharvill PROPOSAL
Arvin A GarufiBrazilStephen Shaw PROPOSAL
Stacey R MaletFranceIoni Bowcher NEW
Izzy H NickaGermanyOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Tony S StensethItalyBernardo Dominic UNQUALIFIED
Arvin G FollerCanadaAnna Fali NEGOTIATION
Morrow F RoysterItalyXuxue Feng NEGOTIATION
Nicolas X InouyeGermanyBernardo Dominic RENEWAL
Kadeem L RoysterArgentinaXuxue Feng RENEWAL
Alejandro K ButtFranceOnyama Limba RENEWAL
Chavez P NestleArgentinaIoni Bowcher RENEWAL
Juan F IturbideFranceAnna Fali UNQUALIFIED
Darci J WieserAustraliaXuxue Feng NEW
Jefferson W MaletIndiaAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin Y KuskoGermany2024-06-20Rousseaux, Michael Esq NEW58Ivan Magalhaes
1001Greenwood N WieserFrance2024-05-27Commercial Press QUALIFIED34Ioni Bowcher
1002Aika R StensethUnited Kingdom2024-06-10Chanay, Jeffrey A Esq UNQUALIFIED11Ioni Bowcher
1003Julie V WieserItaly2024-06-23Morlong Associates UNQUALIFIED27Bernardo Dominic
1004Jeanfrancois P IturbideIndia2024-05-29Chemel, James L Cpa QUALIFIED55Stephen Shaw
1005Kaitlin N SaylorsIndia2024-06-02King, Christopher A Esq NEW37Stephen Shaw
1006Salvatore Y OstroskyCanada2024-06-20Dorl, James J Esq RENEWAL64Asiya Javayant
1007Ivar V SchemmerArgentina2024-06-18Feiner Bros NEW89Asiya Javayant
1008Claire T VenereArgentina2024-06-04Chemel, James L Cpa NEGOTIATION13Ivan Magalhaes
1009Cody P MaletAustralia2024-06-16Rousseaux, Michael Esq QUALIFIED13Onyama Limba
1010Smith D AlbaresGermany2024-06-20Commercial Press PROPOSAL93Xuxue Feng
1011Chavez A GauchoIndia2024-06-19Feiner Bros RENEWAL79Amy Elsner
1012Johnson M SchemmerUnited Kingdom2024-06-05Chemel, James L Cpa NEW25Bernardo Dominic
1013Jefferson L GlickUnited Kingdom2024-05-29Feltz Printing Service PROPOSAL55Asiya Javayant
1014Morrow T RutaUnited Kingdom2024-06-22King, Christopher A Esq NEW24Anna Fali
1015Ricardo I SaylorsItaly2024-06-11Rangoni Of Florence RENEWAL26Ivan Magalhaes
1016Arvin Q FigeroaItaly2024-06-05Buckley Miller Wright RENEWAL22Onyama Limba
1017Julie B NestleRussia2024-06-15Feltz Printing Service PROPOSAL36Anna Fali
1018Johnson Y WieserItaly2024-06-19Truhlar And Truhlar Attys NEW94Asiya Javayant
1019Cody D FerenczIndia2024-06-18Rousseaux, Michael Esq UNQUALIFIED82Xuxue Feng
1020Morrow Q BriddickRussia2024-06-10Buckley Miller Wright PROPOSAL75Ioni Bowcher
1021Deepesh V ButtGermany2024-05-28King, Christopher A Esq UNQUALIFIED35Stephen Shaw
1022Julie V SlusarskiArgentina2024-06-22Printing Dimensions PROPOSAL87Stephen Shaw
1023Cody G PaprockiSpain2024-06-07Chapman, Ross E Esq RENEWAL19Stephen Shaw
1024Julie N DarakjyIndia2024-06-14Chemel, James L Cpa NEGOTIATION43Amy Elsner
1025Kaitlin P PoquetteAustralia2024-06-15Benton, John B Jr NEGOTIATION91Anna Fali
1026Ashley L GillianRussia2024-06-05Feiner Bros RENEWAL46Bernardo Dominic
1027Arvin Z VocelkaAustralia2024-06-03Morlong Associates QUALIFIED70Asiya Javayant
1028Jones Z WaycottArgentina2024-06-18Truhlar And Truhlar Attys RENEWAL10Asiya Javayant
1029Misaki T DarakjyIndia2024-06-12Feltz Printing Service NEGOTIATION78Ivan Magalhaes
1030Greenwood E KuskoBrazil2024-06-04Buckley Miller Wright RENEWAL3Bernardo Dominic
1031Julie K DarakjyIndia2024-06-07Rousseaux, Michael Esq RENEWAL57Ivan Magalhaes
1032Sinclair D RulapaughFrance2024-06-21Chapman, Ross E Esq QUALIFIED10Xuxue Feng
1033Antonio N SchemmerItaly2024-05-27Chemel, James L Cpa QUALIFIED83Stephen Shaw
1034Silvio K RoysterArgentina2024-06-04Feiner Bros QUALIFIED62Ioni Bowcher
1035Jeanfrancois H OldroydJapan2024-06-20Chapman, Ross E Esq QUALIFIED69Amy Elsner
1036Julie P ChuiBrazil2024-06-11Buckley Miller Wright PROPOSAL13Amy Elsner
1037Wickens X CampainAustralia2024-06-15Commercial Press NEGOTIATION72Elwin Sharvill
1038Tony F PaprockiAustralia2024-05-29King, Christopher A Esq NEGOTIATION43Ioni Bowcher
1039Faith A FerenczIndia2024-06-10Buckley Miller Wright NEGOTIATION23Bernardo Dominic
1040Jennifer Q InouyeArgentina2024-06-21Feiner Bros UNQUALIFIED71Ioni Bowcher
1041Kadeem X WaycottRussia2024-06-05Truhlar And Truhlar Attys PROPOSAL79Amy Elsner
1042Aruna O TollnerAustralia2024-06-14Printing Dimensions NEW22Amy Elsner
1043Isabel M ChuiGermany2024-06-05Commercial Press PROPOSAL64Bernardo Dominic
1044Smith A RoysterBrazil2024-05-31Feltz Printing Service NEGOTIATION77Onyama Limba
1045Clifford C RulapaughBrazil2024-06-19Feiner Bros NEW68Onyama Limba
1046Julie Y MarrierSpain2024-06-16Feiner Bros NEGOTIATION44Ioni Bowcher
1047James Z NestleAustralia2024-05-30Rousseaux, Michael Esq NEGOTIATION17Ivan Magalhaes
1048Jeanfrancois G RimUnited Kingdom2024-06-09Truhlar And Truhlar Attys RENEWAL61Asiya Javayant
1049Mayumi D KuskoGermany2024-06-14Dorl, James J Esq RENEWAL96Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Munro D GauchoRussiaIoni Bowcher RENEWAL
Johnson O MacleadCanadaAmy Elsner RENEWAL
Aruna X StockhamCanadaXuxue Feng NEW
Chavez X CaudyRussiaAnna Fali UNQUALIFIED
Julie A KuskoRussiaAmy Elsner NEGOTIATION
Maisha V BologniaItalyAsiya Javayant NEW
Johnson R CampainGermanyOnyama Limba PROPOSAL
Costa J RulapaughGermanyAmy Elsner NEGOTIATION
Jennifer J ButtAustraliaOnyama Limba UNQUALIFIED
James F BriddickIndiaXuxue Feng RENEWAL
Costa S VenereRussiaXuxue Feng QUALIFIED
Morrow O CampainJapanBernardo Dominic RENEWAL
Nicolas M PoquetteRussiaAsiya Javayant RENEWAL
Tony Z BologniaGermanyAsiya Javayant RENEWAL
Johnson V PoquetteRussiaIoni Bowcher NEW
Leon B SchemmerGermanyAmy Elsner QUALIFIED
Munro O RimIndiaIoni Bowcher PROPOSAL
Arvin P WieserArgentinaAmy Elsner QUALIFIED
Nicolas I StensethRussiaIvan Magalhaes PROPOSAL
Maria W MacleadArgentinaElwin Sharvill NEW
David D NickaCanadaOnyama Limba UNQUALIFIED
Adams Z DoeItalyAmy Elsner PROPOSAL
Juan E DoeArgentinaElwin Sharvill PROPOSAL
Morrow W BowleyAustraliaIoni Bowcher NEW
Maisha E NickaFranceIvan Magalhaes QUALIFIED
Misaki U CaldareraIndiaXuxue Feng RENEWAL
Salvatore B KolmetzSpainBernardo Dominic UNQUALIFIED
Johnson H MaletCanadaBernardo Dominic NEGOTIATION
Leon C WieserSpainStephen Shaw RENEWAL
James O RimUnited KingdomBernardo Dominic RENEWAL
Maria O DilliardSpainBernardo Dominic UNQUALIFIED
Costa L SergiUnited KingdomAsiya Javayant PROPOSAL
Leja B PaprockiRussiaAnna Fali UNQUALIFIED
Jeanfrancois A VocelkaCanadaIoni Bowcher NEW
Misaki D OstroskyGermanyElwin Sharvill NEGOTIATION
Kadeem A CampainRussiaIoni Bowcher NEGOTIATION
Aditya M VocelkaRussiaAsiya Javayant UNQUALIFIED
Aditya E FlosiSpainIvan Magalhaes UNQUALIFIED
Tony Z RimCanadaStephen Shaw NEGOTIATION
Mujtaba O MaletArgentinaXuxue Feng NEW
Salvatore B FerenczItalyAsiya Javayant PROPOSAL
Adams Y SaylorsUnited KingdomXuxue Feng UNQUALIFIED
Julie T ButtRussiaBernardo Dominic QUALIFIED
Jones I MacleadRussiaXuxue Feng NEGOTIATION
Aruna M ShinkoFranceElwin Sharvill QUALIFIED
Antonio E MaletCanadaAmy Elsner RENEWAL
Clifford Y MarrierAustraliaElwin Sharvill NEW
Emily L ShinkoBrazilIoni Bowcher PROPOSAL
Octavia T GarufiRussiaIoni Bowcher UNQUALIFIED
Mujtaba W MacleadItalyIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Smith U Shinko
Leon Z Darakjy
Cody A Royster
Izzy B Kusko
Arvin A Poquette
Costa J Briddick
Misaki M Caudy
Smith J Amigon
Jennifer B Perin
Cody G Caldarera
Kaitlin G Marrier
Misaki Z Garufi
Greenwood S Darakjy
Wickens N Gaucho
Antonio T Inouye
Alejandro U Schemmer
Izzy V Oldroyd
Deepesh B Shinko
Salvatore S Maclead
Arvin A Stockham
Darci F Iturbide
Salvatore I Glick
Alejandro V Darakjy
Kadeem H Marrier
Sinclair X Wieser
Juan H Malet
Silvio O Oldroyd
Mujtaba J Saylors
Nicolas W Nicka
Aika R Inouye
Aruna C Glick
Aruna L Perin
Darci H Kusko
Aruna S Wieser
Silvio B Rulapaugh
Clifford Q Schemmer
Silvio B Figeroa
Costa M Butt
Ashley F Vocelka
Salvatore N Perin
Maria K Gaucho
Aditya T Ruta
Munro V Flosi
Ivar B Rim
Adams F Iturbide
Chavez D Glick
Silvio N Royster
Greenwood F Caudy
Cody X Sergi
Alejandro E Chui
IdCountryDate
1000Russia2024-06-21
1001Japan2024-06-13
1002Spain2024-05-31
1003Spain2024-06-05
1004Italy2024-05-31
1005United Kingdom2024-06-07
1006Germany2024-06-14
1007Brazil2024-06-14
1008Italy2024-06-20
1009Japan2024-06-20
1010Australia2024-06-24
1011Germany2024-05-30
1012Japan2024-05-29
1013Canada2024-05-30
1014Italy2024-05-27
1015Argentina2024-06-21
1016Australia2024-05-26
1017India2024-06-18
1018Italy2024-06-06
1019Brazil2024-06-21
1020Germany2024-06-11
1021Australia2024-06-23
1022Germany2024-06-18
1023India2024-05-30
1024Japan2024-06-11
1025Germany2024-06-08
1026Argentina2024-05-29
1027Germany2024-06-21
1028Japan2024-06-09
1029Italy2024-05-29
1030Japan2024-06-04
1031Italy2024-06-22
1032Brazil2024-06-14
1033Italy2024-06-18
1034Italy2024-05-31
1035United Kingdom2024-06-17
1036Japan2024-06-11
1037Japan2024-06-01
1038Germany2024-06-12
1039Russia2024-06-23
1040Brazil2024-06-22
1041Russia2024-05-28
1042Japan2024-06-04
1043Brazil2024-06-14
1044Canada2024-06-20
1045India2024-06-23
1046Argentina2024-06-19
1047United Kingdom2024-06-22
1048Italy2024-06-20
1049India2024-06-08

On-Demand Data

NameIdCountryDate
Munro S Malet1000United Kingdom2024-06-12
Alejandro P Kolmetz1001India2024-06-13
Nicolas M Nestle1002Italy2024-06-03
Sinclair B Stenseth1003Germany2024-06-03
Chavez B Slusarski1004Australia2024-06-11
Jeanfrancois E Ferencz1005Germany2024-06-08
Leja M Malet1006United Kingdom2024-06-04
Cody U Caudy1007Argentina2024-06-02
Leja X Venere1008Canada2024-05-31
Jeanfrancois F Inouye1009India2024-06-05
Antonio W Waycott1010Canada2024-06-18
Clifford F Figeroa1011France2024-06-07
Wickens M Poquette1012Australia2024-06-23
Ashley Q Schemmer1013United Kingdom2024-06-11
Silvio C Figeroa1014Argentina2024-06-19
Leja Q Slusarski1015Australia2024-06-12
Octavia Y Campain1016Japan2024-06-24
Jones K Campain1017Argentina2024-05-31
Antonio P Nicka1018Russia2024-05-30
Mujtaba C Caldarera1019Canada2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa Q RulapaughIndiaIoni Bowcher PROPOSAL
David N WaycottBrazilAsiya Javayant NEGOTIATION
Cody X StensethIndiaOnyama Limba NEW
Octavia C DoeBrazilAsiya Javayant RENEWAL
Morrow S RulapaughGermanyIoni Bowcher QUALIFIED
Cody M InouyeItalyIvan Magalhaes UNQUALIFIED
Antonio T SchemmerFranceElwin Sharvill PROPOSAL
James E VocelkaJapanStephen Shaw RENEWAL
Munro J RimRussiaAmy Elsner PROPOSAL
Tony Q MaletIndiaBernardo Dominic QUALIFIED
Maisha B TollnerJapanXuxue Feng UNQUALIFIED
Johnson H WaycottBrazilStephen Shaw PROPOSAL
Wickens A StockhamSpainXuxue Feng NEGOTIATION
Tony A RutaGermanyIvan Magalhaes QUALIFIED
Francesco M AmigonAustraliaIvan Magalhaes NEGOTIATION
Claire B WhobreySpainIoni Bowcher NEGOTIATION
Salvatore J PoquetteArgentinaStephen Shaw NEW
Aika Q NestleBrazilAmy Elsner PROPOSAL
Leon T BowleyIndiaIoni Bowcher RENEWAL
Aruna E FollerIndiaIvan Magalhaes NEW
Alejandro W DilliardAustraliaXuxue Feng UNQUALIFIED
Mayumi C SchemmerBrazilXuxue Feng UNQUALIFIED
Munro U NestleGermanyAmy Elsner PROPOSAL
Jeanfrancois E PaprockiItalyIvan Magalhaes QUALIFIED
Julie F ShinkoJapanBernardo Dominic NEGOTIATION
Ivar D CaldareraRussiaAsiya Javayant NEW
Johnson O BologniaFranceBernardo Dominic QUALIFIED
Deepesh M SchemmerGermanyIoni Bowcher RENEWAL
Mayumi Q StockhamIndiaIoni Bowcher QUALIFIED
Isabel S SaylorsJapanAnna Fali NEW
Silvio S CaldareraRussiaIvan Magalhaes PROPOSAL
Arvin S DilliardArgentinaBernardo Dominic NEGOTIATION
Maria Q MaletIndiaAsiya Javayant NEW
Adams L RimCanadaOnyama Limba NEW
Murillo F FlosiIndiaStephen Shaw UNQUALIFIED
Wickens A MaletGermanyStephen Shaw NEGOTIATION
Stacey B DoeFranceIoni Bowcher RENEWAL
Isabel P WhobreyItalyXuxue Feng NEW
Maria Q MarrierArgentinaAnna Fali NEW
Maisha K MorascaIndiaIvan Magalhaes 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>