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
Sinclair D CaldareraAustraliaIoni Bowcher NEGOTIATION
Francesco J DilliardSpainAnna Fali PROPOSAL
Salvatore T MaletArgentinaAmy Elsner UNQUALIFIED
Cody H GillianBrazilOnyama Limba NEGOTIATION
Maria H OstroskyUnited KingdomElwin Sharvill NEW
Cody Y NestleItalyStephen Shaw NEGOTIATION
Kadeem C RulapaughJapanBernardo Dominic PROPOSAL
Murillo A StensethFranceAnna Fali QUALIFIED
Adams W PoquetteIndiaXuxue Feng NEW
Octavia D WaycottUnited KingdomBernardo Dominic UNQUALIFIED
Aruna X GillianFranceElwin Sharvill NEW
Clifford A ShinkoCanadaOnyama Limba NEGOTIATION
Cody P SergiGermanyStephen Shaw PROPOSAL
Maisha K KuskoBrazilAmy Elsner NEGOTIATION
Murillo F TollnerJapanBernardo Dominic NEGOTIATION
Claire X TollnerSpainIvan Magalhaes UNQUALIFIED
Silvio K FollerUnited KingdomStephen Shaw QUALIFIED
Claire Z SchemmerIndiaIoni Bowcher NEGOTIATION
Leon H SlusarskiArgentinaBernardo Dominic UNQUALIFIED
Maria T SlusarskiItalyIoni Bowcher NEGOTIATION
Costa G AlbaresAustraliaAmy Elsner PROPOSAL
Kadeem Z ButtCanadaOnyama Limba QUALIFIED
Maria R AlbaresFranceIvan Magalhaes QUALIFIED
Juan U RulapaughCanadaXuxue Feng UNQUALIFIED
Morrow Z RulapaughItalyBernardo Dominic NEW
Adams W SchemmerItalyAmy Elsner NEGOTIATION
Clifford L CaldareraSpainElwin Sharvill RENEWAL
Leja Z ShinkoIndiaAmy Elsner UNQUALIFIED
Jeanfrancois V ChuiCanadaAsiya Javayant NEW
Ashley V StockhamSpainAmy Elsner PROPOSAL
Kaitlin Y PaprockiRussiaOnyama Limba PROPOSAL
Clifford O DarakjyUnited KingdomAmy Elsner RENEWAL
Julie N MorascaGermanyElwin Sharvill PROPOSAL
Clifford U VenereItalyIoni Bowcher NEGOTIATION
Mujtaba E GarufiArgentinaIoni Bowcher RENEWAL
Octavia O AmigonFranceOnyama Limba NEW
Stacey P MacleadAustraliaStephen Shaw NEGOTIATION
Salvatore H PoquetteJapanIvan Magalhaes UNQUALIFIED
Deepesh V VenereJapanAnna Fali NEW
Arvin C NickaRussiaElwin Sharvill NEGOTIATION
Munro X RimRussiaAnna Fali QUALIFIED
Kadeem D VenereIndiaElwin Sharvill QUALIFIED
Jones N FerenczBrazilIvan Magalhaes QUALIFIED
Nicolas S CaldareraFranceOnyama Limba QUALIFIED
Alejandro R CaldareraUnited KingdomXuxue Feng NEW
Francesco R VenereItalyStephen Shaw UNQUALIFIED
Ricardo Z MaletRussiaIvan Magalhaes PROPOSAL
Alejandro A WhobreyAustraliaIvan Magalhaes NEW
Costa U FigeroaGermanyIoni Bowcher UNQUALIFIED
Morrow C StockhamCanadaElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Munro O PaprockiArgentinaAsiya Javayant RENEWAL
Mayumi Z FigeroaRussiaIvan Magalhaes NEGOTIATION
Wickens V MacleadSpainOnyama Limba NEW
Jefferson P BowleyArgentinaAmy Elsner NEW
Claire U FlosiIndiaAsiya Javayant UNQUALIFIED
Izzy E WaycottSpainIoni Bowcher RENEWAL
Ashley T WieserArgentinaAmy Elsner NEW
Arvin S DarakjyRussiaIoni Bowcher NEW
Mayumi Y GarufiCanadaElwin Sharvill RENEWAL
Mujtaba H MorascaIndiaAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues H GarufiGermany2025-04-05Rangoni Of Florence UNQUALIFIED63Onyama Limba
1001Octavia J RulapaughGermany2025-04-26Feiner Bros RENEWAL7Ivan Magalhaes
1002Alejandro F OldroydFrance2025-04-13Rousseaux, Michael Esq NEGOTIATION98Amy Elsner
1003Rodrigues J WaycottUnited Kingdom2025-04-27Buckley Miller Wright PROPOSAL43Onyama Limba
1004Kadeem D RimFrance2025-04-21Dorl, James J Esq UNQUALIFIED19Onyama Limba
1005Maria B StockhamCanada2025-04-29Commercial Press NEW57Xuxue Feng
1006Francesco T StockhamRussia2025-04-14Truhlar And Truhlar Attys RENEWAL29Onyama Limba
1007Jennifer Z GarufiItaly2025-04-01Chemel, James L Cpa RENEWAL96Elwin Sharvill
1008Ivar V WhobreyUnited Kingdom2025-04-05Rousseaux, Michael Esq NEGOTIATION71Elwin Sharvill
1009Morrow W GauchoSpain2025-04-01Feltz Printing Service RENEWAL25Bernardo Dominic
1010Rodrigues C AmigonItaly2025-04-24Dorl, James J Esq PROPOSAL65Stephen Shaw
1011Jones A BriddickFrance2025-04-03Benton, John B Jr RENEWAL8Elwin Sharvill
1012Jeanfrancois E KuskoIndia2025-04-29Chapman, Ross E Esq UNQUALIFIED75Amy Elsner
1013Silvio K PoquetteBrazil2025-04-05Printing Dimensions QUALIFIED71Bernardo Dominic
1014Adams D SaylorsAustralia2025-04-23Commercial Press RENEWAL80Amy Elsner
1015Kaitlin J MaletSpain2025-04-03Chapman, Ross E Esq NEW73Xuxue Feng
1016Rodrigues R SlusarskiArgentina2025-04-02Chanay, Jeffrey A Esq NEGOTIATION69Xuxue Feng
1017Chavez G StockhamSpain2025-04-06Chapman, Ross E Esq QUALIFIED72Xuxue Feng
1018Sinclair C DilliardSpain2025-04-04Rousseaux, Michael Esq QUALIFIED14Amy Elsner
1019Johnson T SlusarskiUnited Kingdom2025-04-18Feiner Bros PROPOSAL6Amy Elsner
1020Clifford A RimSpain2025-04-05Feltz Printing Service RENEWAL1Amy Elsner
1021Munro F SaylorsArgentina2025-04-08Chapman, Ross E Esq UNQUALIFIED45Amy Elsner
1022Ricardo X PaprockiIndia2025-04-14Morlong Associates RENEWAL53Amy Elsner
1023Murillo K StockhamRussia2025-04-13Benton, John B Jr UNQUALIFIED84Asiya Javayant
1024Ashley Q FigeroaBrazil2025-04-28Morlong Associates NEW22Anna Fali
1025Chavez M RoysterItaly2025-04-10Truhlar And Truhlar Attys PROPOSAL58Amy Elsner
1026Julie G FerenczRussia2025-03-31King, Christopher A Esq UNQUALIFIED8Stephen Shaw
1027Ashley O BowleySpain2025-04-25Morlong Associates UNQUALIFIED20Bernardo Dominic
1028Murillo K OstroskyUnited Kingdom2025-04-07Rousseaux, Michael Esq UNQUALIFIED54Asiya Javayant
1029Morrow Q RutaAustralia2025-04-28Printing Dimensions UNQUALIFIED61Asiya Javayant
1030Chavez S MaletIndia2025-04-23Morlong Associates RENEWAL23Ioni Bowcher
1031Aika X WhobreyArgentina2025-04-09Feltz Printing Service NEGOTIATION88Amy Elsner
1032Nicolas L FigeroaArgentina2025-04-14Chanay, Jeffrey A Esq RENEWAL43Stephen Shaw
1033Jones U PerinIndia2025-04-01Truhlar And Truhlar Attys QUALIFIED46Anna Fali
1034Kaitlin Q GillianUnited Kingdom2025-04-25Chanay, Jeffrey A Esq UNQUALIFIED30Onyama Limba
1035Kaitlin X OldroydBrazil2025-04-11Commercial Press RENEWAL41Anna Fali
1036Leon A BowleyCanada2025-04-06Chanay, Jeffrey A Esq PROPOSAL30Onyama Limba
1037Jones K MaletJapan2025-04-21Rangoni Of Florence UNQUALIFIED25Ioni Bowcher
1038Munro K GlickBrazil2025-04-14King, Christopher A Esq PROPOSAL16Elwin Sharvill
1039Leja L StockhamJapan2025-04-18Feiner Bros NEGOTIATION50Onyama Limba
1040Stacey P SlusarskiAustralia2025-04-17Chanay, Jeffrey A Esq UNQUALIFIED79Ioni Bowcher
1041Greenwood I ChuiRussia2025-04-12Benton, John B Jr NEGOTIATION25Elwin Sharvill
1042Misaki S BologniaAustralia2025-04-02Truhlar And Truhlar Attys RENEWAL26Xuxue Feng
1043Kaitlin L BriddickUnited Kingdom2025-04-01Buckley Miller Wright UNQUALIFIED6Amy Elsner
1044Emily N ChuiGermany2025-04-15Feiner Bros QUALIFIED53Elwin Sharvill
1045Mujtaba P PaprockiIndia2025-04-09Commercial Press NEW95Ioni Bowcher
1046Murillo A PoquetteFrance2025-04-06Truhlar And Truhlar Attys UNQUALIFIED48Ivan Magalhaes
1047Kaitlin D FerenczIndia2025-04-03Chanay, Jeffrey A Esq QUALIFIED32Elwin Sharvill
1048Rodrigues Z ChuiItaly2025-04-28Morlong Associates RENEWAL88Stephen Shaw
1049Salvatore U ShinkoItaly2025-04-19Feiner Bros PROPOSAL22Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues Y DarakjyFranceXuxue Feng UNQUALIFIED
Adams S DarakjyItalyAsiya Javayant PROPOSAL
David N ChuiGermanyBernardo Dominic PROPOSAL
Julie O RoysterSpainIoni Bowcher PROPOSAL
Jennifer P AmigonGermanyAsiya Javayant QUALIFIED
Aditya X DoeCanadaIvan Magalhaes NEW
Octavia P PoquetteUnited KingdomIoni Bowcher QUALIFIED
Mujtaba H NestleJapanAnna Fali RENEWAL
Nicolas J WieserItalyAmy Elsner NEW
Darci H OldroydGermanyIoni Bowcher UNQUALIFIED
Deepesh I MaletArgentinaBernardo Dominic NEW
Munro C RoysterBrazilIoni Bowcher PROPOSAL
Costa R CampainSpainIvan Magalhaes RENEWAL
Leja K MaletCanadaStephen Shaw NEGOTIATION
Mayumi D ChuiGermanyIvan Magalhaes NEGOTIATION
Faith W DarakjyCanadaAmy Elsner UNQUALIFIED
Smith Y BriddickJapanAmy Elsner NEGOTIATION
Mayumi E CaldareraRussiaElwin Sharvill RENEWAL
Stacey J VocelkaJapanAnna Fali PROPOSAL
Nicolas Z DilliardCanadaAsiya Javayant NEW
Jeanfrancois B IturbideItalyElwin Sharvill UNQUALIFIED
Kadeem K BowleySpainElwin Sharvill QUALIFIED
Faith D FollerAustraliaStephen Shaw QUALIFIED
Misaki F SlusarskiUnited KingdomAnna Fali PROPOSAL
Juan K CaldareraJapanAmy Elsner UNQUALIFIED
Leon K KuskoFranceXuxue Feng NEGOTIATION
Sinclair V PaprockiGermanyIoni Bowcher NEW
Aika U StockhamAustraliaIvan Magalhaes NEGOTIATION
Costa D BriddickArgentinaXuxue Feng NEGOTIATION
Emily L RutaJapanIoni Bowcher PROPOSAL
Izzy V RulapaughCanadaIvan Magalhaes RENEWAL
David Z FlosiRussiaIoni Bowcher QUALIFIED
Darci A FlosiIndiaBernardo Dominic NEW
Aika K SaylorsAustraliaAsiya Javayant NEGOTIATION
Julie S VenereGermanyXuxue Feng RENEWAL
Misaki K OstroskySpainBernardo Dominic RENEWAL
Antonio J FigeroaBrazilStephen Shaw PROPOSAL
Johnson L ShinkoGermanyBernardo Dominic PROPOSAL
Clifford I NickaUnited KingdomAmy Elsner QUALIFIED
Jones W OldroydBrazilAmy Elsner PROPOSAL
Salvatore E ButtJapanAnna Fali QUALIFIED
Cody N PerinBrazilIvan Magalhaes NEW
Silvio J ShinkoFranceBernardo Dominic UNQUALIFIED
Jeanfrancois K MaletRussiaStephen Shaw QUALIFIED
Silvio S PoquetteCanadaIoni Bowcher NEW
Emily X GarufiIndiaElwin Sharvill UNQUALIFIED
Octavia D PaprockiFranceAmy Elsner QUALIFIED
Costa E ButtIndiaAmy Elsner RENEWAL
Aruna E VenereUnited KingdomAnna Fali QUALIFIED
Deepesh G TollnerAustraliaXuxue Feng RENEWAL
Frozen Columns
Name
Sinclair N Slusarski
Arvin P Rulapaugh
Jeanfrancois F Stockham
Emily C Ferencz
Maisha E Morasca
Arvin C Chui
Ricardo B Foller
Arvin L Wieser
Wickens Q Morasca
Smith F Ferencz
Aika X Albares
Aika B Whobrey
Claire O Dilliard
Aditya Q Tollner
Johnson X Venere
Julie S Whobrey
Isabel L Gaucho
Rodrigues V Caudy
Kadeem F Poquette
Antonio C Kolmetz
Darci E Royster
Ivar E Kusko
Izzy R Inouye
Tony K Kolmetz
Octavia N Royster
Sinclair S Stenseth
Jones K Garufi
James F Inouye
Leja G Inouye
Aruna R Doe
Darci Q Bolognia
Maria O Gaucho
Adams T Rim
Maisha Z Shinko
Aditya C Bowley
Leja W Stockham
Silvio N Slusarski
Jones D Venere
Kaitlin T Marrier
Jones O Venere
Ashley T Garufi
Misaki U Morasca
Antonio I Venere
Stacey G Glick
Smith R Saylors
Misaki M Poquette
Izzy B Butt
Arvin V Gaucho
Izzy O Morasca
Izzy X Campain
IdCountryDate
1000United Kingdom2025-04-26
1001United Kingdom2025-04-10
1002Brazil2025-04-24
1003United Kingdom2025-04-27
1004India2025-04-29
1005Italy2025-04-29
1006Canada2025-04-25
1007Spain2025-04-11
1008Spain2025-04-22
1009Japan2025-03-31
1010Argentina2025-03-31
1011Canada2025-04-04
1012United Kingdom2025-04-11
1013Italy2025-04-16
1014Japan2025-04-06
1015India2025-04-08
1016France2025-04-19
1017Russia2025-04-25
1018Argentina2025-04-23
1019Germany2025-04-22
1020Canada2025-04-21
1021Canada2025-04-03
1022France2025-04-01
1023Japan2025-04-14
1024United Kingdom2025-04-05
1025Japan2025-04-11
1026Australia2025-04-23
1027France2025-04-04
1028Spain2025-04-04
1029Canada2025-04-15
1030Canada2025-04-26
1031United Kingdom2025-04-22
1032Italy2025-04-05
1033Argentina2025-04-16
1034Germany2025-04-24
1035France2025-04-19
1036Australia2025-04-22
1037Spain2025-04-21
1038Japan2025-04-24
1039Brazil2025-04-04
1040Spain2025-04-17
1041Japan2025-04-10
1042Canada2025-04-09
1043Russia2025-04-25
1044Australia2025-04-15
1045Japan2025-04-23
1046United Kingdom2025-04-15
1047Italy2025-04-24
1048Germany2025-04-17
1049Canada2025-04-19

On-Demand Data

NameIdCountryDate
Maisha D Sergi1000Australia2025-04-18
Leja S Poquette1001France2025-04-28
Mujtaba N Chui1002Italy2025-04-13
Francesco I Caudy1003Argentina2025-04-27
Arvin M Doe1004India2025-04-07
Nicolas R Wieser1005Japan2025-04-19
Smith G Poquette1006Brazil2025-04-18
Jones J Garufi1007France2025-04-13
Wickens R Venere1008France2025-04-12
Chavez T Waycott1009Australia2025-04-16
Francesco F Bolognia1010Canada2025-04-02
Faith M Inouye1011Spain2025-04-01
Juan A Malet1012France2025-04-20
Arvin G Darakjy1013France2025-04-22
James Y Shinko1014Canada2025-03-31
Johnson W Darakjy1015Canada2025-04-09
Isabel D Campain1016Germany2025-04-18
Rodrigues Z Bolognia1017Brazil2025-04-21
Costa R Albares1018France2025-04-23
Johnson T Campain1019Germany2025-04-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa U RoysterBrazilStephen Shaw QUALIFIED
Maisha H BowleyCanadaStephen Shaw PROPOSAL
Chavez Y RulapaughFranceIvan Magalhaes NEGOTIATION
Costa Q ShinkoAustraliaBernardo Dominic NEW
Wickens P FollerItalyStephen Shaw NEW
Julie K BologniaFranceElwin Sharvill RENEWAL
Cody R NestleFranceIvan Magalhaes NEGOTIATION
Mayumi E GauchoBrazilAnna Fali NEW
Tony G WieserGermanyIvan Magalhaes QUALIFIED
Izzy O RutaSpainXuxue Feng NEGOTIATION
Maisha P KolmetzAustraliaAnna Fali RENEWAL
Salvatore K VenereFranceOnyama Limba PROPOSAL
Aditya D WieserGermanyOnyama Limba NEGOTIATION
Julie Y NestleJapanIvan Magalhaes UNQUALIFIED
Smith S SergiJapanAmy Elsner NEW
Aruna Q RulapaughJapanIoni Bowcher NEW
Faith Y WaycottBrazilIvan Magalhaes UNQUALIFIED
Johnson J GillianIndiaStephen Shaw QUALIFIED
Morrow O BowleyIndiaAnna Fali PROPOSAL
Maria P StensethUnited KingdomAnna Fali NEW
Adams F NickaRussiaAnna Fali NEW
Alejandro U AlbaresCanadaOnyama Limba PROPOSAL
Chavez I MorascaCanadaBernardo Dominic NEW
Octavia Y OldroydItalyXuxue Feng QUALIFIED
Munro R GlickGermanyBernardo Dominic PROPOSAL
Salvatore H DilliardUnited KingdomIoni Bowcher QUALIFIED
Ivar X SchemmerBrazilBernardo Dominic QUALIFIED
Francesco W ShinkoArgentinaXuxue Feng QUALIFIED
Silvio F PoquetteCanadaIvan Magalhaes NEW
Leon M BologniaAustraliaOnyama Limba RENEWAL
Maria S RoysterUnited KingdomElwin Sharvill UNQUALIFIED
Johnson F RimJapanIvan Magalhaes NEGOTIATION
Chavez Y NickaFranceElwin Sharvill UNQUALIFIED
Maisha N AmigonAustraliaStephen Shaw RENEWAL
Alejandro Z CaldareraJapanAnna Fali NEW
Sinclair F WhobreyBrazilAsiya Javayant PROPOSAL
Aika N BologniaBrazilXuxue Feng NEW
Greenwood I SergiJapanIoni Bowcher PROPOSAL
Izzy Y PoquetteRussiaAmy Elsner QUALIFIED
Wickens K NestleUnited KingdomXuxue Feng 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>