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
Nicolas P WhobreyRussiaAsiya Javayant NEGOTIATION
Smith B PaprockiItalyAnna Fali PROPOSAL
David L BowleyArgentinaOnyama Limba QUALIFIED
Munro F SlusarskiFranceAmy Elsner QUALIFIED
Isabel L VocelkaGermanyAmy Elsner PROPOSAL
Jefferson E VenereArgentinaElwin Sharvill RENEWAL
Jefferson D GillianAustraliaElwin Sharvill RENEWAL
Faith M DarakjyJapanElwin Sharvill PROPOSAL
Ashley V SergiUnited KingdomIvan Magalhaes NEW
Aruna L AlbaresIndiaBernardo Dominic NEGOTIATION
Maria Q FigeroaBrazilOnyama Limba RENEWAL
Arvin M KuskoIndiaIvan Magalhaes NEGOTIATION
Alejandro T BowleyBrazilIoni Bowcher UNQUALIFIED
James E GlickGermanyXuxue Feng NEW
Maisha I NickaUnited KingdomOnyama Limba QUALIFIED
Jeanfrancois P AmigonGermanyBernardo Dominic NEW
Adams H ChuiUnited KingdomBernardo Dominic NEGOTIATION
Kaitlin B RoysterSpainIoni Bowcher QUALIFIED
Stacey S WieserCanadaOnyama Limba QUALIFIED
Maisha G FerenczItalyAnna Fali PROPOSAL
Stacey P RoysterSpainOnyama Limba PROPOSAL
Tony N GlickItalyElwin Sharvill UNQUALIFIED
Kadeem N KuskoJapanXuxue Feng RENEWAL
Maria B StockhamFranceXuxue Feng NEW
Tony U RulapaughBrazilXuxue Feng RENEWAL
Cody G ChuiFranceIvan Magalhaes UNQUALIFIED
Maisha K WhobreyAustraliaIvan Magalhaes NEGOTIATION
Ivar J MacleadItalyStephen Shaw QUALIFIED
James F ButtJapanAmy Elsner QUALIFIED
Emily A RutaAustraliaAmy Elsner RENEWAL
Mujtaba Q MaletBrazilAmy Elsner NEW
Smith E ButtSpainAmy Elsner RENEWAL
Adams K BologniaArgentinaAnna Fali PROPOSAL
Rodrigues W AmigonUnited KingdomOnyama Limba UNQUALIFIED
Cody P CaldareraCanadaXuxue Feng PROPOSAL
Aruna F KuskoGermanyIoni Bowcher NEGOTIATION
Izzy P AlbaresBrazilAnna Fali UNQUALIFIED
Tony G WhobreyUnited KingdomAmy Elsner NEW
Wickens I VenereAustraliaAsiya Javayant UNQUALIFIED
Kaitlin V KuskoSpainAmy Elsner PROPOSAL
Greenwood Z PoquetteAustraliaAnna Fali PROPOSAL
Murillo T FlosiFranceAnna Fali PROPOSAL
Clifford N SaylorsJapanStephen Shaw QUALIFIED
Greenwood D NickaFranceAnna Fali NEGOTIATION
Octavia Q VenereJapanStephen Shaw NEGOTIATION
Nicolas P StensethIndiaXuxue Feng QUALIFIED
Julie R KuskoCanadaAsiya Javayant QUALIFIED
Faith S RutaArgentinaXuxue Feng NEGOTIATION
Chavez D SaylorsGermanyXuxue Feng QUALIFIED
Morrow J MarrierArgentinaBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Wickens R BowleyFranceIoni Bowcher QUALIFIED
Kadeem J ChuiUnited KingdomOnyama Limba UNQUALIFIED
Nicolas Z MorascaFranceOnyama Limba NEW
Isabel Z BowleyCanadaIoni Bowcher PROPOSAL
James Y GarufiFranceAnna Fali PROPOSAL
Leon V BologniaFranceBernardo Dominic QUALIFIED
Jefferson J BologniaGermanyIvan Magalhaes NEGOTIATION
Aruna U CampainCanadaAmy Elsner PROPOSAL
Rodrigues U AlbaresAustraliaElwin Sharvill NEGOTIATION
Morrow C DarakjyFranceIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey L PoquetteIndia2025-05-29Feiner Bros NEW25Bernardo Dominic
1001Jeanfrancois N WaycottArgentina2025-05-25King, Christopher A Esq PROPOSAL31Asiya Javayant
1002Murillo U CaudyGermany2025-05-24Chanay, Jeffrey A Esq NEW92Bernardo Dominic
1003Kaitlin W RulapaughCanada2025-06-08Dorl, James J Esq NEW55Xuxue Feng
1004Sinclair J MacleadJapan2025-06-13Benton, John B Jr UNQUALIFIED52Elwin Sharvill
1005Octavia O AlbaresArgentina2025-05-29King, Christopher A Esq UNQUALIFIED2Amy Elsner
1006Smith D BriddickBrazil2025-06-15Dorl, James J Esq QUALIFIED66Xuxue Feng
1007Munro T OstroskyGermany2025-06-04Chapman, Ross E Esq RENEWAL44Ioni Bowcher
1008Ivar X DarakjyGermany2025-06-14Buckley Miller Wright UNQUALIFIED35Xuxue Feng
1009Julie C RimAustralia2025-06-06Dorl, James J Esq NEW10Stephen Shaw
1010Cody J FlosiRussia2025-06-02Morlong Associates NEW72Ivan Magalhaes
1011Greenwood Y PoquetteGermany2025-06-06Truhlar And Truhlar Attys QUALIFIED33Asiya Javayant
1012Darci G RulapaughIndia2025-06-14Rousseaux, Michael Esq QUALIFIED68Bernardo Dominic
1013Smith Q SlusarskiBrazil2025-05-31Dorl, James J Esq UNQUALIFIED25Elwin Sharvill
1014Adams Y SaylorsCanada2025-06-16Rousseaux, Michael Esq QUALIFIED52Asiya Javayant
1015Misaki I KolmetzGermany2025-06-06Feltz Printing Service PROPOSAL20Bernardo Dominic
1016Francesco N PoquetteUnited Kingdom2025-06-05Dorl, James J Esq RENEWAL96Amy Elsner
1017Maisha U WaycottArgentina2025-06-06Chemel, James L Cpa RENEWAL64Anna Fali
1018Mujtaba M DilliardIndia2025-05-30Dorl, James J Esq QUALIFIED75Anna Fali
1019David S BriddickUnited Kingdom2025-06-09Morlong Associates PROPOSAL92Bernardo Dominic
1020Mujtaba D SergiArgentina2025-06-05Feltz Printing Service RENEWAL47Anna Fali
1021Maisha H WaycottSpain2025-06-01Feltz Printing Service RENEWAL36Ivan Magalhaes
1022Izzy G FerenczFrance2025-05-24Printing Dimensions NEW1Ioni Bowcher
1023Costa W ShinkoUnited Kingdom2025-05-27Rousseaux, Michael Esq RENEWAL71Ivan Magalhaes
1024Jones T SergiFrance2025-06-05Morlong Associates NEGOTIATION20Bernardo Dominic
1025Chavez X BriddickRussia2025-06-02Rangoni Of Florence PROPOSAL42Asiya Javayant
1026Murillo R RoysterIndia2025-06-02Morlong Associates NEW99Xuxue Feng
1027Rodrigues L FlosiBrazil2025-05-25Benton, John B Jr PROPOSAL95Anna Fali
1028Aditya E ChuiUnited Kingdom2025-06-05Chapman, Ross E Esq RENEWAL43Amy Elsner
1029Arvin D MacleadAustralia2025-05-20Dorl, James J Esq UNQUALIFIED36Onyama Limba
1030Antonio G NickaFrance2025-05-27Feiner Bros NEW93Anna Fali
1031Deepesh O InouyeSpain2025-05-30Morlong Associates QUALIFIED40Xuxue Feng
1032Murillo W MaletItaly2025-05-26Feiner Bros QUALIFIED49Amy Elsner
1033Ivar N DarakjyGermany2025-05-19Chemel, James L Cpa UNQUALIFIED15Onyama Limba
1034Faith H AlbaresRussia2025-06-04King, Christopher A Esq NEW7Stephen Shaw
1035Arvin X OldroydGermany2025-06-16King, Christopher A Esq QUALIFIED42Amy Elsner
1036Darci Q StockhamIndia2025-05-23Chanay, Jeffrey A Esq UNQUALIFIED84Bernardo Dominic
1037Adams L RulapaughFrance2025-06-07Printing Dimensions QUALIFIED41Anna Fali
1038Leon A OstroskyItaly2025-05-31Morlong Associates NEGOTIATION35Amy Elsner
1039Chavez F DilliardSpain2025-05-22Chanay, Jeffrey A Esq NEW88Onyama Limba
1040Nicolas F SergiIndia2025-06-03Morlong Associates NEGOTIATION84Elwin Sharvill
1041Jeanfrancois U OstroskyFrance2025-06-05Benton, John B Jr PROPOSAL1Stephen Shaw
1042Jones O ChuiUnited Kingdom2025-05-18Benton, John B Jr NEGOTIATION16Xuxue Feng
1043Antonio W WieserSpain2025-05-31Rousseaux, Michael Esq NEGOTIATION37Bernardo Dominic
1044Wickens K TollnerJapan2025-05-24Printing Dimensions NEGOTIATION92Amy Elsner
1045Faith W DoeGermany2025-05-23Rangoni Of Florence QUALIFIED53Bernardo Dominic
1046Stacey E RulapaughIndia2025-05-23Chemel, James L Cpa QUALIFIED81Xuxue Feng
1047Aditya J VenereSpain2025-06-10Printing Dimensions UNQUALIFIED98Stephen Shaw
1048Chavez P RimItaly2025-05-28Feiner Bros PROPOSAL62Stephen Shaw
1049Ivar W FollerItaly2025-06-10Morlong Associates NEGOTIATION8Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Costa C GarufiBrazilAnna Fali RENEWAL
Octavia P GauchoItalyElwin Sharvill NEGOTIATION
Sinclair B CaldareraIndiaOnyama Limba PROPOSAL
Greenwood Z VocelkaRussiaXuxue Feng NEW
Julie T ChuiArgentinaIvan Magalhaes QUALIFIED
Munro T GillianSpainIvan Magalhaes NEW
Tony D AmigonJapanIvan Magalhaes NEGOTIATION
Tony V TollnerArgentinaIoni Bowcher PROPOSAL
Smith M WaycottCanadaIoni Bowcher NEGOTIATION
Tony H RulapaughAustraliaStephen Shaw RENEWAL
Wickens G OstroskySpainStephen Shaw NEW
Kaitlin P OldroydUnited KingdomAmy Elsner PROPOSAL
Isabel U NestleArgentinaAnna Fali RENEWAL
Greenwood K MorascaFranceAmy Elsner QUALIFIED
Julie U SergiAustraliaOnyama Limba RENEWAL
Antonio Y ShinkoArgentinaXuxue Feng NEW
Kadeem A PerinFranceBernardo Dominic UNQUALIFIED
Mayumi N FerenczUnited KingdomAmy Elsner NEGOTIATION
Arvin D PoquetteGermanyBernardo Dominic UNQUALIFIED
Darci T BowleyUnited KingdomAsiya Javayant NEW
Leja E AlbaresUnited KingdomIoni Bowcher QUALIFIED
Isabel Z SaylorsItalyIvan Magalhaes NEGOTIATION
Johnson G RulapaughGermanyBernardo Dominic RENEWAL
Aruna X MaletGermanyAmy Elsner RENEWAL
Johnson I BowleyArgentinaOnyama Limba QUALIFIED
Octavia F ChuiIndiaAnna Fali NEGOTIATION
Deepesh C MacleadIndiaStephen Shaw NEGOTIATION
David U FollerBrazilXuxue Feng NEGOTIATION
Claire V FerenczJapanAmy Elsner NEGOTIATION
Greenwood Z DarakjyFranceAmy Elsner UNQUALIFIED
David Y PerinCanadaIvan Magalhaes UNQUALIFIED
Octavia F IturbideGermanyAsiya Javayant NEW
Darci Z RimUnited KingdomElwin Sharvill NEGOTIATION
Ricardo O DilliardUnited KingdomElwin Sharvill UNQUALIFIED
Julie Y WaycottArgentinaAmy Elsner UNQUALIFIED
Wickens M RulapaughBrazilElwin Sharvill NEW
Jeanfrancois V GarufiArgentinaStephen Shaw RENEWAL
Emily Q NestleIndiaOnyama Limba RENEWAL
Octavia P PoquetteCanadaIvan Magalhaes RENEWAL
Ivar M AmigonGermanyXuxue Feng UNQUALIFIED
Jefferson Z StockhamGermanyElwin Sharvill UNQUALIFIED
Francesco V CaudyFranceXuxue Feng RENEWAL
David W PerinRussiaOnyama Limba NEGOTIATION
Clifford Z PerinRussiaBernardo Dominic NEW
Misaki O CampainBrazilStephen Shaw NEGOTIATION
Nicolas U FerenczCanadaAmy Elsner PROPOSAL
Isabel C ChuiFranceIoni Bowcher NEW
Cody R OstroskyUnited KingdomIoni Bowcher UNQUALIFIED
Ashley Q ChuiSpainBernardo Dominic QUALIFIED
Jeanfrancois Y MaletJapanIoni Bowcher NEW
Frozen Columns
Name
Juan N Bolognia
Ivar K Tollner
Aditya V Shinko
Kaitlin O Stockham
Ivar T Tollner
Jeanfrancois R Flosi
Misaki Y Chui
Emily A Bowley
Leja O Sergi
Murillo T Maclead
Maisha Q Bowley
Jeanfrancois W Gaucho
Ricardo D Shinko
Emily V Stockham
Octavia S Briddick
Kaitlin M Vocelka
Aruna E Venere
Munro X Poquette
Octavia K Briddick
Sinclair P Gillian
Octavia X Darakjy
Darci S Foller
Isabel M Flosi
Sinclair X Shinko
Misaki B Gillian
Leja M Bowley
Johnson X Shinko
Maisha E Shinko
Maria N Ferencz
Kadeem I Nicka
Maisha I Marrier
Adams P Butt
Wickens I Rim
Morrow A Paprocki
Jeanfrancois W Garufi
Octavia K Royster
Silvio F Tollner
Deepesh Q Amigon
Mayumi L Kusko
Cody H Rulapaugh
Murillo A Kolmetz
Julie E Paprocki
Jefferson M Briddick
Jones L Campain
Jennifer C Nicka
Alejandro H Kolmetz
Stacey Z Bowley
Julie Z Campain
Francesco P Perin
Aika R Oldroyd
IdCountryDate
1000Japan2025-05-25
1001United Kingdom2025-06-07
1002Australia2025-05-22
1003Germany2025-06-01
1004France2025-06-08
1005Brazil2025-05-19
1006Japan2025-05-20
1007Australia2025-06-05
1008Japan2025-06-03
1009Russia2025-06-06
1010Russia2025-06-07
1011Russia2025-05-21
1012Japan2025-06-06
1013Argentina2025-06-09
1014France2025-06-03
1015Japan2025-05-30
1016United Kingdom2025-06-03
1017Italy2025-05-23
1018Spain2025-06-08
1019Italy2025-06-08
1020Spain2025-06-08
1021Argentina2025-06-10
1022Australia2025-06-08
1023Brazil2025-06-09
1024Brazil2025-06-13
1025Argentina2025-06-02
1026India2025-05-28
1027United Kingdom2025-05-21
1028Brazil2025-06-05
1029Japan2025-06-02
1030France2025-05-20
1031Russia2025-06-03
1032Brazil2025-05-31
1033Japan2025-06-16
1034United Kingdom2025-06-11
1035Brazil2025-06-13
1036Germany2025-05-31
1037Brazil2025-05-19
1038India2025-06-07
1039France2025-06-11
1040Canada2025-05-22
1041Japan2025-06-04
1042France2025-06-10
1043Australia2025-06-04
1044United Kingdom2025-05-29
1045Japan2025-06-15
1046Brazil2025-05-21
1047Brazil2025-06-04
1048Russia2025-06-07
1049France2025-06-05

On-Demand Data

NameIdCountryDate
Deepesh Z Ruta1000Germany2025-06-15
Maisha O Nestle1001Argentina2025-06-07
Leja L Amigon1002Russia2025-05-19
Nicolas X Stenseth1003Canada2025-05-28
Wickens T Whobrey1004Russia2025-06-07
David H Ruta1005Japan2025-06-05
Faith S Royster1006France2025-06-08
Wickens W Bowley1007Canada2025-06-08
Jones Z Briddick1008India2025-06-13
Maisha Y Stockham1009India2025-06-01
Munro O Nicka1010United Kingdom2025-05-24
Chavez G Venere1011France2025-06-04
Leja J Perin1012Spain2025-06-14
Maisha Y Wieser1013Canada2025-05-23
Murillo G Shinko1014France2025-05-31
Alejandro Q Waycott1015Argentina2025-06-03
Jeanfrancois J Caudy1016France2025-06-09
Jones N Venere1017Italy2025-06-03
Maisha H Waycott1018Brazil2025-06-07
Deepesh Y Whobrey1019France2025-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya R SaylorsUnited KingdomBernardo Dominic NEW
Francesco U CaldareraRussiaAnna Fali NEGOTIATION
Faith H KolmetzArgentinaAmy Elsner NEGOTIATION
Smith O NestleItalyAnna Fali UNQUALIFIED
Ashley D SchemmerJapanAsiya Javayant UNQUALIFIED
Maria B SchemmerRussiaOnyama Limba PROPOSAL
Adams E VenereAustraliaAsiya Javayant RENEWAL
Aditya T RimArgentinaBernardo Dominic NEGOTIATION
Misaki I OstroskyGermanyElwin Sharvill PROPOSAL
James L InouyeFranceElwin Sharvill PROPOSAL
Julie D RoysterSpainAsiya Javayant PROPOSAL
Jones H SergiArgentinaBernardo Dominic NEW
Aruna E ButtAustraliaIvan Magalhaes RENEWAL
Juan N OstroskySpainAsiya Javayant NEW
Tony V IturbideFranceOnyama Limba NEGOTIATION
Julie D CaldareraGermanyBernardo Dominic RENEWAL
Morrow N BowleyItalyStephen Shaw NEGOTIATION
Jeanfrancois G CaldareraUnited KingdomOnyama Limba NEW
Aditya L SchemmerAustraliaAnna Fali RENEWAL
Leja E MaletArgentinaStephen Shaw QUALIFIED
Octavia Y OstroskySpainStephen Shaw RENEWAL
Maria D FollerItalyOnyama Limba QUALIFIED
Greenwood V AmigonRussiaAnna Fali PROPOSAL
Salvatore A MaletBrazilAsiya Javayant NEGOTIATION
Maria J SaylorsJapanIvan Magalhaes QUALIFIED
Antonio T KolmetzCanadaXuxue Feng QUALIFIED
Octavia L ButtBrazilIvan Magalhaes UNQUALIFIED
Maria U ButtFranceAsiya Javayant RENEWAL
Ivar G OstroskyCanadaAsiya Javayant UNQUALIFIED
Ivar J GarufiAustraliaAsiya Javayant PROPOSAL
Mayumi T KuskoUnited KingdomXuxue Feng RENEWAL
Ricardo G OstroskyItalyAmy Elsner QUALIFIED
Aika I IturbideRussiaIoni Bowcher NEGOTIATION
Chavez E SlusarskiItalyElwin Sharvill QUALIFIED
Alejandro B StensethCanadaBernardo Dominic UNQUALIFIED
Kadeem L KuskoSpainAnna Fali UNQUALIFIED
Sinclair Z OstroskyCanadaBernardo Dominic PROPOSAL
Kadeem Q RoysterGermanyOnyama Limba RENEWAL
Wickens E GauchoGermanyXuxue Feng NEGOTIATION
David P MacleadGermanyIvan Magalhaes NEW

<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>