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
Munro N WaycottIndiaAsiya Javayant RENEWAL
Chavez A RulapaughRussiaOnyama Limba NEW
Jones M TollnerFranceIvan Magalhaes NEW
Juan H DoeGermanyAnna Fali RENEWAL
Maisha O CaudyItalyIoni Bowcher QUALIFIED
Isabel S StockhamBrazilAmy Elsner RENEWAL
Jeanfrancois Q ShinkoFranceIoni Bowcher RENEWAL
Ricardo O OstroskyJapanIoni Bowcher UNQUALIFIED
Darci G MacleadCanadaXuxue Feng QUALIFIED
Sinclair D RoysterItalyIvan Magalhaes NEW
Izzy W KolmetzCanadaIoni Bowcher NEGOTIATION
Leja Y CaudySpainAmy Elsner NEGOTIATION
Tony P DarakjySpainStephen Shaw QUALIFIED
Wickens C MaletCanadaOnyama Limba NEGOTIATION
Jeanfrancois W BologniaSpainStephen Shaw QUALIFIED
Sinclair G IturbideUnited KingdomAmy Elsner QUALIFIED
Misaki X PaprockiSpainStephen Shaw RENEWAL
Izzy I MacleadIndiaBernardo Dominic NEGOTIATION
Francesco F StensethItalyAmy Elsner QUALIFIED
Adams G IturbideUnited KingdomIoni Bowcher NEW
Munro H ChuiItalyIoni Bowcher RENEWAL
Greenwood U SergiArgentinaElwin Sharvill QUALIFIED
Arvin W DilliardRussiaAnna Fali UNQUALIFIED
Darci T VenereAustraliaAmy Elsner QUALIFIED
Jennifer N BriddickItalyElwin Sharvill QUALIFIED
Morrow S GarufiArgentinaAnna Fali RENEWAL
Julie C KuskoItalyAnna Fali RENEWAL
Maisha N OstroskySpainAsiya Javayant NEW
Jennifer F InouyeSpainAnna Fali QUALIFIED
Julie F DarakjyUnited KingdomElwin Sharvill QUALIFIED
Smith R OstroskyJapanIvan Magalhaes NEGOTIATION
Silvio F OstroskyAustraliaIvan Magalhaes NEGOTIATION
Jefferson E OldroydIndiaElwin Sharvill QUALIFIED
Claire C RutaRussiaXuxue Feng RENEWAL
Leja F DoeRussiaAnna Fali UNQUALIFIED
James B RulapaughItalyElwin Sharvill QUALIFIED
Misaki V DilliardJapanAnna Fali PROPOSAL
Darci J RimArgentinaElwin Sharvill PROPOSAL
Julie Y IturbideItalyStephen Shaw NEW
Aruna Q StockhamItalyOnyama Limba UNQUALIFIED
Munro J FerenczFranceIoni Bowcher NEGOTIATION
Kaitlin M DilliardUnited KingdomOnyama Limba UNQUALIFIED
Maisha N SlusarskiFranceXuxue Feng RENEWAL
Maisha Z NestleSpainAmy Elsner NEGOTIATION
Faith S BowleyCanadaOnyama Limba NEW
Julie V KolmetzUnited KingdomOnyama Limba RENEWAL
Greenwood N StockhamSpainAmy Elsner UNQUALIFIED
Sinclair W FlosiGermanyAnna Fali NEGOTIATION
Aditya V OstroskyIndiaIvan Magalhaes UNQUALIFIED
Munro R MaletItalyIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Faith Y RulapaughUnited KingdomElwin Sharvill NEW
Aditya B StockhamSpainOnyama Limba NEW
Mayumi B MacleadUnited KingdomIvan Magalhaes NEW
Jeanfrancois S KuskoFranceIoni Bowcher QUALIFIED
Greenwood F KuskoCanadaIoni Bowcher PROPOSAL
Morrow N KuskoJapanXuxue Feng NEGOTIATION
Silvio I VenereFranceIoni Bowcher PROPOSAL
Kaitlin W IturbideAustraliaStephen Shaw UNQUALIFIED
Tony T RutaGermanyElwin Sharvill QUALIFIED
Ashley J FollerCanadaAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams N CampainIndia2026-06-11Chanay, Jeffrey A Esq PROPOSAL20Asiya Javayant
1001Wickens Z FlosiGermany2026-06-29Buckley Miller Wright UNQUALIFIED43Anna Fali
1002Jefferson O StensethGermany2026-06-07Rangoni Of Florence RENEWAL31Elwin Sharvill
1003Julie P SergiUnited Kingdom2026-06-03Commercial Press QUALIFIED33Elwin Sharvill
1004Sinclair C ButtIndia2026-06-09Feiner Bros NEW65Stephen Shaw
1005Mayumi U VocelkaIndia2026-06-12Chapman, Ross E Esq QUALIFIED63Asiya Javayant
1006Antonio O PoquetteUnited Kingdom2026-06-16Rousseaux, Michael Esq NEGOTIATION22Amy Elsner
1007Misaki A MarrierAustralia2026-06-10Truhlar And Truhlar Attys NEGOTIATION92Onyama Limba
1008Greenwood O GlickAustralia2026-06-25Chapman, Ross E Esq UNQUALIFIED69Asiya Javayant
1009Ivar B NestleUnited Kingdom2026-06-15Chemel, James L Cpa QUALIFIED73Xuxue Feng
1010Aditya E MaletFrance2026-06-09Feltz Printing Service UNQUALIFIED9Elwin Sharvill
1011James Q GarufiArgentina2026-06-22Chanay, Jeffrey A Esq UNQUALIFIED11Ivan Magalhaes
1012Ashley S GlickUnited Kingdom2026-06-17King, Christopher A Esq PROPOSAL49Ivan Magalhaes
1013Jefferson K RulapaughJapan2026-06-18Buckley Miller Wright NEW69Elwin Sharvill
1014Ivar M MacleadArgentina2026-06-22Feiner Bros QUALIFIED95Bernardo Dominic
1015Salvatore M FerenczCanada2026-06-19Chemel, James L Cpa UNQUALIFIED65Onyama Limba
1016Chavez M GlickJapan2026-06-01Rousseaux, Michael Esq PROPOSAL22Asiya Javayant
1017Maisha P IturbideJapan2026-06-16Chemel, James L Cpa PROPOSAL43Bernardo Dominic
1018Faith P SaylorsGermany2026-06-10King, Christopher A Esq RENEWAL90Ioni Bowcher
1019Salvatore F MaletArgentina2026-06-18Buckley Miller Wright UNQUALIFIED83Amy Elsner
1020Nicolas D GauchoBrazil2026-06-11Rangoni Of Florence PROPOSAL78Elwin Sharvill
1021Johnson M WaycottJapan2026-06-02Chanay, Jeffrey A Esq UNQUALIFIED3Bernardo Dominic
1022Wickens H FlosiAustralia2026-06-19Rousseaux, Michael Esq NEW46Xuxue Feng
1023Aika V MacleadGermany2026-06-08Rousseaux, Michael Esq RENEWAL93Stephen Shaw
1024Salvatore D WaycottGermany2026-06-12Benton, John B Jr PROPOSAL83Xuxue Feng
1025Salvatore B BowleyItaly2026-06-23King, Christopher A Esq NEW18Amy Elsner
1026Tony J ButtSpain2026-06-09King, Christopher A Esq PROPOSAL16Amy Elsner
1027Mujtaba P WieserAustralia2026-06-27Feiner Bros NEGOTIATION74Elwin Sharvill
1028Claire Z WaycottArgentina2026-06-28Rangoni Of Florence UNQUALIFIED12Stephen Shaw
1029Kadeem R DarakjyArgentina2026-06-30King, Christopher A Esq RENEWAL32Amy Elsner
1030Rodrigues Z StockhamUnited Kingdom2026-06-02Truhlar And Truhlar Attys NEGOTIATION1Bernardo Dominic
1031Leon D TollnerFrance2026-06-30Dorl, James J Esq PROPOSAL32Ioni Bowcher
1032Stacey D StockhamJapan2026-06-26Rousseaux, Michael Esq RENEWAL15Ivan Magalhaes
1033Alejandro O CampainUnited Kingdom2026-06-05Chapman, Ross E Esq NEW0Elwin Sharvill
1034Jones M MaletGermany2026-06-28Dorl, James J Esq NEW56Onyama Limba
1035Julie M CaldareraGermany2026-06-23King, Christopher A Esq UNQUALIFIED38Stephen Shaw
1036Isabel W WieserItaly2026-06-22Commercial Press RENEWAL23Asiya Javayant
1037Leja V GillianBrazil2026-06-07Feiner Bros QUALIFIED2Ivan Magalhaes
1038Maisha T RulapaughSpain2026-06-08Printing Dimensions NEW46Onyama Limba
1039Misaki Y RimAustralia2026-06-24Chapman, Ross E Esq NEGOTIATION13Amy Elsner
1040Clifford Y KolmetzAustralia2026-06-25Chapman, Ross E Esq NEW49Asiya Javayant
1041Johnson I SchemmerIndia2026-06-14King, Christopher A Esq PROPOSAL66Ioni Bowcher
1042Jennifer M FigeroaCanada2026-06-28Feiner Bros NEW55Elwin Sharvill
1043Jeanfrancois G GillianIndia2026-06-09Rousseaux, Michael Esq RENEWAL6Elwin Sharvill
1044Clifford M SergiFrance2026-06-01Rousseaux, Michael Esq RENEWAL90Asiya Javayant
1045Aditya V NickaGermany2026-06-28Chanay, Jeffrey A Esq NEW39Bernardo Dominic
1046Faith P BologniaRussia2026-06-06Feiner Bros NEGOTIATION4Ioni Bowcher
1047Faith V SchemmerBrazil2026-06-08Morlong Associates PROPOSAL15Amy Elsner
1048Leon N OldroydAustralia2026-06-05Printing Dimensions NEW39Onyama Limba
1049Sinclair C FerenczAustralia2026-06-13Feltz Printing Service UNQUALIFIED92Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Jennifer B AmigonRussiaAnna Fali NEW
Adams M SchemmerCanadaBernardo Dominic PROPOSAL
Wickens U AmigonBrazilAnna Fali RENEWAL
Ricardo D VenereBrazilAmy Elsner NEGOTIATION
Aruna L WhobreyJapanAsiya Javayant PROPOSAL
Antonio H SlusarskiArgentinaBernardo Dominic NEW
Munro J PerinJapanAmy Elsner QUALIFIED
Aruna C MarrierCanadaBernardo Dominic UNQUALIFIED
Aruna F GillianIndiaXuxue Feng NEGOTIATION
Chavez J BriddickArgentinaElwin Sharvill UNQUALIFIED
Chavez Z GlickBrazilElwin Sharvill NEW
Wickens A OstroskyAustraliaIvan Magalhaes NEGOTIATION
Maisha U InouyeSpainBernardo Dominic PROPOSAL
Mujtaba R FigeroaUnited KingdomIoni Bowcher UNQUALIFIED
David U BriddickSpainBernardo Dominic RENEWAL
Misaki G CaudyGermanyAsiya Javayant QUALIFIED
Julie Y KuskoUnited KingdomIvan Magalhaes QUALIFIED
Antonio O ShinkoUnited KingdomAnna Fali NEW
Maisha C DarakjyCanadaAnna Fali QUALIFIED
Murillo L ChuiUnited KingdomBernardo Dominic NEW
Ashley Y KolmetzAustraliaAsiya Javayant QUALIFIED
Chavez S BowleyIndiaBernardo Dominic NEW
Jennifer B ButtGermanyAsiya Javayant UNQUALIFIED
Nicolas J GarufiRussiaElwin Sharvill QUALIFIED
Munro C PaprockiJapanStephen Shaw NEGOTIATION
Silvio I MarrierCanadaXuxue Feng UNQUALIFIED
Alejandro H ButtRussiaStephen Shaw NEW
Salvatore G WieserIndiaIoni Bowcher NEGOTIATION
Izzy J WaycottRussiaAsiya Javayant RENEWAL
Greenwood W SchemmerCanadaOnyama Limba QUALIFIED
Stacey A KuskoFranceStephen Shaw PROPOSAL
Aika C StockhamFranceIoni Bowcher NEGOTIATION
Darci R MaletSpainIvan Magalhaes NEGOTIATION
Alejandro N PerinUnited KingdomIvan Magalhaes UNQUALIFIED
Munro P RutaSpainStephen Shaw NEW
Clifford M FigeroaArgentinaAnna Fali PROPOSAL
Emily K FigeroaAustraliaAnna Fali QUALIFIED
Jeanfrancois F NickaJapanIoni Bowcher PROPOSAL
Ashley X VenereJapanAsiya Javayant NEGOTIATION
Silvio V KolmetzBrazilIoni Bowcher QUALIFIED
Wickens I DoeUnited KingdomOnyama Limba NEGOTIATION
Nicolas Q FigeroaFranceIvan Magalhaes RENEWAL
Claire P VocelkaSpainXuxue Feng NEGOTIATION
Tony S DarakjyCanadaBernardo Dominic NEW
James Q WaycottBrazilOnyama Limba RENEWAL
Silvio M FigeroaArgentinaBernardo Dominic UNQUALIFIED
Julie M WaycottArgentinaElwin Sharvill RENEWAL
Nicolas K NestleFranceBernardo Dominic PROPOSAL
Claire X BologniaRussiaIoni Bowcher NEW
Leon Y AmigonArgentinaXuxue Feng QUALIFIED
Frozen Columns
Name
Mayumi Q Flosi
Chavez B Nicka
Silvio D Shinko
Emily D Albares
David K Shinko
Munro I Butt
Francesco J Amigon
Smith C Malet
Jennifer B Rulapaugh
Mujtaba S Vocelka
Mayumi Q Butt
Greenwood K Nestle
Morrow A Nestle
Greenwood B Malet
Alejandro L Rim
Kaitlin X Wieser
Silvio O Chui
Octavia B Paprocki
Darci F Royster
Johnson Q Rim
Mayumi A Darakjy
Silvio G Marrier
Jones F Oldroyd
Faith Z Venere
Jeanfrancois C Iturbide
Smith Y Royster
Adams N Inouye
James D Nestle
Leja D Shinko
Adams Y Malet
Misaki O Figeroa
Clifford Q Venere
Costa T Shinko
Chavez X Malet
Alejandro L Paprocki
Maisha N Royster
Octavia I Malet
Ricardo Y Rim
Morrow O Butt
Maisha N Malet
Rodrigues F Gillian
Kaitlin K Kolmetz
Leon F Oldroyd
Juan E Stockham
Jeanfrancois N Doe
Deepesh L Malet
Jefferson R Briddick
Aruna B Bowley
Munro F Morasca
Jones H Amigon
IdCountryDate
1000United Kingdom2026-06-28
1001India2026-06-17
1002United Kingdom2026-06-05
1003Russia2026-06-25
1004Spain2026-06-22
1005France2026-06-28
1006Australia2026-06-23
1007Japan2026-06-23
1008Germany2026-06-15
1009Argentina2026-06-03
1010Brazil2026-06-18
1011Germany2026-06-19
1012United Kingdom2026-06-23
1013Canada2026-06-23
1014Canada2026-06-11
1015Australia2026-06-01
1016France2026-06-06
1017Spain2026-06-29
1018Australia2026-06-08
1019Italy2026-06-24
1020Argentina2026-06-19
1021Russia2026-06-02
1022France2026-06-29
1023France2026-06-18
1024Russia2026-06-30
1025Argentina2026-06-11
1026Spain2026-06-03
1027Argentina2026-06-15
1028Italy2026-06-01
1029Argentina2026-06-01
1030Australia2026-06-23
1031Spain2026-06-24
1032Australia2026-06-24
1033France2026-06-10
1034France2026-06-20
1035France2026-06-07
1036France2026-06-04
1037Russia2026-06-18
1038Italy2026-06-21
1039Spain2026-06-10
1040Australia2026-06-28
1041United Kingdom2026-06-04
1042Russia2026-06-17
1043Japan2026-06-07
1044France2026-06-15
1045India2026-06-11
1046Russia2026-06-28
1047Germany2026-06-05
1048United Kingdom2026-06-06
1049Spain2026-06-17

On-Demand Data

NameIdCountryDate
Mujtaba F Iturbide1000Japan2026-06-16
Deepesh E Saylors1001Germany2026-06-29
Antonio R Figeroa1002Spain2026-06-22
Deepesh Z Darakjy1003Spain2026-06-04
Greenwood D Wieser1004Brazil2026-06-02
Munro S Malet1005Japan2026-06-18
Nicolas D Shinko1006Brazil2026-06-06
Salvatore Y Garufi1007Australia2026-06-12
Juan D Caudy1008Japan2026-06-15
Munro K Stockham1009Brazil2026-06-01
Rodrigues U Stockham1010Germany2026-06-09
Salvatore P Darakjy1011Italy2026-06-21
Mujtaba K Perin1012Germany2026-06-20
Aruna U Kolmetz1013India2026-06-03
Alejandro P Ostrosky1014Italy2026-06-27
Maisha F Nestle1015United Kingdom2026-06-21
Ashley G Nicka1016Russia2026-06-14
Maria C Iturbide1017Germany2026-06-10
Kaitlin E Caldarera1018Brazil2026-06-10
Aruna O Ruta1019Italy2026-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson Z NestleFranceAsiya Javayant QUALIFIED
Alejandro V WhobreyIndiaXuxue Feng RENEWAL
Julie W GlickGermanyElwin Sharvill RENEWAL
Antonio S AmigonAustraliaAsiya Javayant QUALIFIED
Jennifer B GauchoRussiaXuxue Feng RENEWAL
Nicolas O PoquetteCanadaXuxue Feng NEGOTIATION
Johnson Q StensethIndiaIoni Bowcher NEW
Sinclair U DoeGermanyElwin Sharvill NEW
Alejandro B NestleRussiaAmy Elsner NEGOTIATION
Greenwood M KuskoSpainAnna Fali RENEWAL
Francesco X RoysterIndiaStephen Shaw RENEWAL
Julie C GarufiJapanOnyama Limba RENEWAL
Antonio W MorascaUnited KingdomAsiya Javayant NEGOTIATION
Adams J SlusarskiRussiaAsiya Javayant UNQUALIFIED
Johnson D GarufiItalyStephen Shaw NEGOTIATION
Maisha I FollerFranceIvan Magalhaes RENEWAL
Aditya W NestleItalyAmy Elsner NEGOTIATION
Aika D MaletSpainElwin Sharvill NEGOTIATION
Sinclair R AlbaresGermanyAmy Elsner NEW
Salvatore B CaudyCanadaBernardo Dominic UNQUALIFIED
Clifford Z GillianSpainIoni Bowcher NEGOTIATION
James O CampainAustraliaStephen Shaw PROPOSAL
Silvio B IturbideSpainXuxue Feng NEGOTIATION
Mujtaba G OstroskyBrazilStephen Shaw UNQUALIFIED
Maria Q MaletFranceXuxue Feng NEGOTIATION
Cody U OstroskyRussiaStephen Shaw RENEWAL
Kadeem B PerinArgentinaBernardo Dominic NEW
Jennifer X MarrierBrazilBernardo Dominic RENEWAL
Tony I WhobreyRussiaAnna Fali UNQUALIFIED
Chavez H GlickJapanBernardo Dominic PROPOSAL
Cody I OldroydCanadaElwin Sharvill PROPOSAL
Jennifer J CaudyIndiaBernardo Dominic RENEWAL
Alejandro X KolmetzCanadaOnyama Limba QUALIFIED
Adams I SaylorsBrazilAmy Elsner QUALIFIED
Darci H MacleadFranceStephen Shaw QUALIFIED
Maria F StockhamIndiaStephen Shaw NEGOTIATION
Adams Z GlickCanadaAsiya Javayant NEGOTIATION
Juan Z MaletSpainOnyama Limba NEW
Ashley U RulapaughUnited KingdomAsiya Javayant NEGOTIATION
Morrow V AlbaresIndiaStephen Shaw 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>