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 R FollerItalyBernardo Dominic NEW
Maria N OstroskyFranceAsiya Javayant UNQUALIFIED
Claire G SergiIndiaElwin Sharvill QUALIFIED
Maria Y MorascaUnited KingdomIoni Bowcher RENEWAL
Morrow I KolmetzRussiaAsiya Javayant UNQUALIFIED
Silvio G MaletRussiaAnna Fali NEW
Wickens I OldroydCanadaAsiya Javayant QUALIFIED
Nicolas P NestleAustraliaXuxue Feng NEGOTIATION
Rodrigues X GarufiBrazilAnna Fali NEGOTIATION
Greenwood S ShinkoCanadaAnna Fali RENEWAL
Kaitlin R DilliardGermanyBernardo Dominic UNQUALIFIED
Cody A FerenczSpainBernardo Dominic RENEWAL
Jefferson R StensethIndiaIoni Bowcher PROPOSAL
Wickens W WieserArgentinaIvan Magalhaes QUALIFIED
Silvio G RimIndiaAmy Elsner PROPOSAL
Emily A AmigonGermanyBernardo Dominic NEW
Nicolas X ChuiCanadaAmy Elsner NEGOTIATION
Tony H GlickIndiaAsiya Javayant NEW
Wickens N BriddickSpainElwin Sharvill PROPOSAL
Ivar P PoquetteSpainBernardo Dominic UNQUALIFIED
Maria H BowleyAustraliaOnyama Limba QUALIFIED
Kadeem X MarrierGermanyBernardo Dominic QUALIFIED
Clifford A MaletItalyStephen Shaw UNQUALIFIED
Murillo I SaylorsBrazilIoni Bowcher NEW
Aditya U AmigonBrazilStephen Shaw UNQUALIFIED
David J MacleadItalyOnyama Limba NEGOTIATION
Greenwood H WaycottFranceAmy Elsner UNQUALIFIED
Aika K KolmetzGermanyAnna Fali PROPOSAL
David X PoquetteUnited KingdomStephen Shaw PROPOSAL
Sinclair U NickaJapanStephen Shaw NEW
Nicolas I MaletArgentinaAsiya Javayant QUALIFIED
Aruna L SchemmerIndiaStephen Shaw RENEWAL
Clifford Q SaylorsSpainBernardo Dominic NEW
Smith T MaletBrazilAsiya Javayant RENEWAL
Wickens O WieserIndiaBernardo Dominic QUALIFIED
Ashley M IturbideItalyBernardo Dominic UNQUALIFIED
Maria C WaycottRussiaXuxue Feng NEW
Mujtaba N WaycottJapanAsiya Javayant NEGOTIATION
Emily Q StockhamJapanStephen Shaw QUALIFIED
Munro M FollerGermanyIvan Magalhaes NEW
Wickens J NickaAustraliaStephen Shaw NEW
David F GarufiJapanAsiya Javayant RENEWAL
Alejandro J StensethGermanyXuxue Feng PROPOSAL
Jefferson A SaylorsArgentinaAmy Elsner PROPOSAL
Costa W CampainUnited KingdomIvan Magalhaes QUALIFIED
Maria T RoysterFranceAnna Fali NEGOTIATION
Claire H InouyeUnited KingdomAmy Elsner RENEWAL
Juan N ShinkoJapanIvan Magalhaes QUALIFIED
Juan R RulapaughSpainBernardo Dominic NEW
Ashley A MorascaSpainAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ivar A CampainCanadaXuxue Feng UNQUALIFIED
Leon B MarrierCanadaXuxue Feng QUALIFIED
Jennifer N ButtItalyAnna Fali RENEWAL
Faith R BologniaRussiaBernardo Dominic PROPOSAL
Stacey Q WieserGermanyXuxue Feng RENEWAL
Mujtaba G FollerItalyStephen Shaw UNQUALIFIED
Rodrigues B IturbideUnited KingdomIoni Bowcher UNQUALIFIED
Leon C RutaSpainBernardo Dominic NEGOTIATION
Alejandro E GillianItalyXuxue Feng NEGOTIATION
Chavez Q PaprockiGermanyAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie W ChuiSpain2024-06-19Buckley Miller Wright UNQUALIFIED21Elwin Sharvill
1001Munro C AmigonJapan2024-06-04Chapman, Ross E Esq NEW19Ivan Magalhaes
1002Costa M IturbideItaly2024-06-14Feltz Printing Service PROPOSAL5Asiya Javayant
1003Silvio N WaycottFrance2024-06-16Truhlar And Truhlar Attys PROPOSAL63Onyama Limba
1004James X FigeroaJapan2024-06-03Morlong Associates NEW50Ivan Magalhaes
1005Ashley F CampainArgentina2024-06-08Buckley Miller Wright RENEWAL51Stephen Shaw
1006Smith C WieserAustralia2024-06-24King, Christopher A Esq NEW66Anna Fali
1007Darci Y SlusarskiSpain2024-06-08Feltz Printing Service NEW8Xuxue Feng
1008Costa Y WaycottRussia2024-06-02Rangoni Of Florence QUALIFIED88Ioni Bowcher
1009Jefferson W ShinkoRussia2024-06-16Morlong Associates NEGOTIATION87Amy Elsner
1010Jefferson B BologniaJapan2024-06-22Morlong Associates NEGOTIATION22Ivan Magalhaes
1011Costa Y TollnerUnited Kingdom2024-05-31Feiner Bros PROPOSAL65Bernardo Dominic
1012Sinclair M ButtFrance2024-06-05King, Christopher A Esq UNQUALIFIED69Anna Fali
1013Nicolas U SaylorsSpain2024-06-17Chapman, Ross E Esq NEW57Bernardo Dominic
1014Mayumi R WieserJapan2024-06-18Printing Dimensions UNQUALIFIED35Stephen Shaw
1015Munro M SchemmerArgentina2024-06-14Rangoni Of Florence PROPOSAL4Bernardo Dominic
1016Murillo K WhobreyUnited Kingdom2024-06-13Chapman, Ross E Esq PROPOSAL6Asiya Javayant
1017Jeanfrancois G BologniaSpain2024-05-31Benton, John B Jr PROPOSAL40Asiya Javayant
1018Greenwood L IturbideUnited Kingdom2024-06-10Chapman, Ross E Esq NEGOTIATION82Stephen Shaw
1019Aika N VocelkaAustralia2024-06-18Rousseaux, Michael Esq QUALIFIED7Amy Elsner
1020Isabel T SchemmerItaly2024-06-24Commercial Press QUALIFIED72Ioni Bowcher
1021Julie Y WieserJapan2024-06-14Morlong Associates NEW95Asiya Javayant
1022Smith R CaldareraItaly2024-06-13Chanay, Jeffrey A Esq NEGOTIATION45Bernardo Dominic
1023Francesco D OstroskyIndia2024-06-09Commercial Press NEGOTIATION75Onyama Limba
1024Cody S ChuiSpain2024-06-13Chemel, James L Cpa NEW91Ivan Magalhaes
1025Smith I OstroskySpain2024-06-12Chanay, Jeffrey A Esq RENEWAL78Xuxue Feng
1026Chavez N MarrierItaly2024-05-28Chanay, Jeffrey A Esq NEGOTIATION49Elwin Sharvill
1027James G VocelkaAustralia2024-06-05Rangoni Of Florence QUALIFIED76Anna Fali
1028Isabel L NickaCanada2024-06-07Chemel, James L Cpa UNQUALIFIED59Amy Elsner
1029Stacey M MorascaAustralia2024-06-23Benton, John B Jr UNQUALIFIED18Anna Fali
1030Johnson W ChuiSpain2024-06-09Commercial Press RENEWAL67Ivan Magalhaes
1031Emily M RoysterGermany2024-05-28Chapman, Ross E Esq NEGOTIATION15Amy Elsner
1032Chavez Q PaprockiIndia2024-06-02Dorl, James J Esq PROPOSAL45Ivan Magalhaes
1033Isabel T MarrierRussia2024-06-09Dorl, James J Esq RENEWAL13Amy Elsner
1034Adams T AlbaresIndia2024-05-27Benton, John B Jr UNQUALIFIED13Xuxue Feng
1035Mayumi B GauchoItaly2024-06-06Truhlar And Truhlar Attys NEGOTIATION9Ivan Magalhaes
1036Octavia W CaldareraFrance2024-06-11Commercial Press PROPOSAL91Stephen Shaw
1037Munro K InouyeAustralia2024-06-22Chanay, Jeffrey A Esq UNQUALIFIED69Elwin Sharvill
1038Chavez J SaylorsBrazil2024-06-05Feiner Bros NEGOTIATION98Ioni Bowcher
1039Aditya G CaldareraIndia2024-06-20King, Christopher A Esq NEW15Xuxue Feng
1040Rodrigues R InouyeItaly2024-06-12Rangoni Of Florence UNQUALIFIED56Amy Elsner
1041James F MorascaFrance2024-05-26Dorl, James J Esq NEW78Onyama Limba
1042Leja C CaudyArgentina2024-06-09Feltz Printing Service PROPOSAL47Elwin Sharvill
1043Mayumi O AmigonItaly2024-06-20Feltz Printing Service NEGOTIATION4Elwin Sharvill
1044Isabel K VocelkaJapan2024-05-26Truhlar And Truhlar Attys NEW85Anna Fali
1045Francesco K SlusarskiRussia2024-06-06Chemel, James L Cpa QUALIFIED54Anna Fali
1046Kaitlin A FollerCanada2024-06-16Benton, John B Jr UNQUALIFIED61Anna Fali
1047Deepesh Y FigeroaSpain2024-06-07Chemel, James L Cpa PROPOSAL12Ivan Magalhaes
1048Jones V GarufiAustralia2024-06-05Feltz Printing Service NEW40Bernardo Dominic
1049Izzy D StensethJapan2024-06-09Morlong Associates RENEWAL59Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Mayumi C StockhamGermanyStephen Shaw RENEWAL
Mujtaba F DarakjyItalyOnyama Limba QUALIFIED
Deepesh L ButtAustraliaIoni Bowcher UNQUALIFIED
Mayumi J FlosiSpainIvan Magalhaes RENEWAL
Antonio T DoeCanadaOnyama Limba QUALIFIED
Silvio B TollnerSpainIoni Bowcher PROPOSAL
Stacey U BriddickItalyAsiya Javayant QUALIFIED
Jefferson O SergiItalyBernardo Dominic QUALIFIED
Munro G ChuiFranceStephen Shaw NEGOTIATION
Arvin G StensethIndiaIvan Magalhaes NEW
Isabel F PerinJapanBernardo Dominic RENEWAL
Salvatore B KolmetzAustraliaAmy Elsner QUALIFIED
James E IturbideGermanyStephen Shaw NEGOTIATION
Rodrigues O DarakjyItalyAnna Fali NEW
Clifford Y DarakjyUnited KingdomStephen Shaw UNQUALIFIED
Greenwood D AmigonJapanOnyama Limba PROPOSAL
Octavia C ShinkoJapanXuxue Feng QUALIFIED
Aditya L OstroskyFranceElwin Sharvill NEW
Antonio B NestleItalyElwin Sharvill UNQUALIFIED
Greenwood F WaycottFranceAmy Elsner NEW
Murillo X SlusarskiItalyXuxue Feng UNQUALIFIED
Morrow U RulapaughGermanyBernardo Dominic PROPOSAL
Misaki D FlosiBrazilAmy Elsner NEGOTIATION
Jefferson E BowleyFranceAmy Elsner RENEWAL
Mayumi Z AmigonArgentinaIoni Bowcher NEW
Leon P AlbaresGermanyXuxue Feng RENEWAL
Rodrigues K NickaArgentinaAsiya Javayant NEGOTIATION
Alejandro N InouyeRussiaOnyama Limba PROPOSAL
Leon X AmigonFranceXuxue Feng QUALIFIED
Izzy T PerinBrazilAmy Elsner RENEWAL
Leja N PerinSpainAmy Elsner PROPOSAL
Arvin H BriddickCanadaStephen Shaw NEGOTIATION
Ashley Y NestleRussiaAmy Elsner NEW
Mayumi V RimJapanStephen Shaw RENEWAL
Kadeem J WieserBrazilAnna Fali NEW
Ricardo D CaudyBrazilAnna Fali NEW
Emily G GarufiItalyIvan Magalhaes RENEWAL
Antonio A CampainUnited KingdomAsiya Javayant NEGOTIATION
Wickens G GarufiCanadaElwin Sharvill RENEWAL
Jennifer H MarrierUnited KingdomAsiya Javayant PROPOSAL
James Z ButtSpainXuxue Feng UNQUALIFIED
Ricardo Z PaprockiJapanStephen Shaw UNQUALIFIED
James N NickaIndiaAnna Fali PROPOSAL
Cody C OstroskyJapanAmy Elsner UNQUALIFIED
Murillo U GauchoSpainIoni Bowcher NEGOTIATION
Deepesh A FlosiItalyAnna Fali PROPOSAL
Faith D OstroskyGermanyElwin Sharvill PROPOSAL
Johnson H RimRussiaIvan Magalhaes NEW
Salvatore E InouyeJapanStephen Shaw NEGOTIATION
Ivar Y CaudyUnited KingdomBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Francesco Z Dilliard
Greenwood M Iturbide
Misaki D Albares
Izzy S Stenseth
Morrow B Shinko
Antonio T Caldarera
Stacey R Morasca
Costa J Ostrosky
Isabel T Gaucho
Mayumi Q Tollner
Leja U Malet
Greenwood H Chui
Sinclair T Chui
Smith P Marrier
Salvatore Z Caldarera
Mujtaba V Maclead
Emily F Tollner
Ivar J Tollner
Darci S Saylors
Deepesh V Amigon
Greenwood N Ruta
Johnson X Paprocki
Sinclair J Rim
Adams N Schemmer
Julie Q Garufi
Antonio I Garufi
Isabel A Stockham
Nicolas F Bolognia
Aika R Paprocki
Arvin Z Rulapaugh
Kaitlin Y Ruta
Ivar C Nicka
Adams S Marrier
Kadeem V Foller
David B Campain
Izzy W Paprocki
Leon F Ferencz
Ricardo H Ostrosky
Smith G Malet
Chavez H Slusarski
Kadeem I Stenseth
Morrow O Morasca
Aruna Q Caudy
Tony R Maclead
Antonio P Saylors
Costa W Wieser
Emily J Darakjy
Claire W Ruta
Adams E Iturbide
Nicolas B Royster
IdCountryDate
1000France2024-06-05
1001Russia2024-06-17
1002Russia2024-06-15
1003Italy2024-06-21
1004Spain2024-06-02
1005Germany2024-06-21
1006Russia2024-06-02
1007Brazil2024-06-15
1008Brazil2024-06-24
1009Spain2024-06-05
1010Italy2024-06-11
1011Japan2024-06-06
1012Italy2024-06-11
1013Brazil2024-06-12
1014Japan2024-06-13
1015Canada2024-05-28
1016United Kingdom2024-06-08
1017Italy2024-06-11
1018Italy2024-06-12
1019France2024-06-17
1020France2024-06-22
1021India2024-05-27
1022Japan2024-06-09
1023Germany2024-06-12
1024Italy2024-05-31
1025Italy2024-06-09
1026Russia2024-05-29
1027France2024-05-30
1028Japan2024-06-05
1029Italy2024-06-19
1030United Kingdom2024-05-30
1031France2024-05-31
1032Spain2024-05-30
1033Brazil2024-06-15
1034India2024-05-29
1035Japan2024-06-18
1036Italy2024-06-18
1037Brazil2024-06-09
1038India2024-06-09
1039Brazil2024-06-20
1040France2024-06-22
1041India2024-06-19
1042Australia2024-06-21
1043India2024-06-14
1044United Kingdom2024-06-07
1045France2024-06-07
1046Argentina2024-06-07
1047United Kingdom2024-06-15
1048Argentina2024-06-13
1049Germany2024-06-09

On-Demand Data

NameIdCountryDate
Emily H Stockham1000Canada2024-06-07
Deepesh F Morasca1001Italy2024-06-22
Jones W Darakjy1002France2024-06-04
Murillo P Stockham1003United Kingdom2024-06-20
Leon W Ferencz1004Canada2024-06-24
Maisha P Venere1005Japan2024-05-26
Greenwood U Ferencz1006Argentina2024-06-04
Costa I Malet1007France2024-06-19
Leja K Campain1008France2024-06-02
Misaki R Garufi1009Germany2024-06-13
Jeanfrancois Y Slusarski1010India2024-05-26
Ricardo D Waycott1011Australia2024-06-23
Murillo Y Caldarera1012United Kingdom2024-06-13
Antonio J Vocelka1013Germany2024-06-04
Salvatore U Morasca1014Argentina2024-05-31
Aditya V Wieser1015Spain2024-05-28
Faith K Malet1016Russia2024-06-16
Izzy F Waycott1017Italy2024-06-04
Jennifer K Inouye1018Spain2024-06-12
Leja W Maclead1019Spain2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya A OstroskyCanadaIoni Bowcher QUALIFIED
Cody R OldroydRussiaBernardo Dominic QUALIFIED
Jeanfrancois I PoquetteUnited KingdomXuxue Feng PROPOSAL
Stacey I ButtJapanBernardo Dominic QUALIFIED
Alejandro F RimUnited KingdomXuxue Feng RENEWAL
Darci B WaycottItalyAsiya Javayant RENEWAL
Silvio J FlosiRussiaStephen Shaw PROPOSAL
Jeanfrancois T StensethArgentinaAmy Elsner NEW
Julie S WhobreyItalyIvan Magalhaes RENEWAL
Aruna Y KuskoGermanyBernardo Dominic NEW
Mujtaba K WaycottAustraliaOnyama Limba NEGOTIATION
Jennifer I StockhamItalyStephen Shaw NEGOTIATION
Izzy R WieserJapanIvan Magalhaes PROPOSAL
Deepesh R VocelkaRussiaElwin Sharvill QUALIFIED
Johnson K NickaAustraliaIvan Magalhaes RENEWAL
Aika Q GlickJapanElwin Sharvill NEGOTIATION
Aditya L DoeUnited KingdomBernardo Dominic UNQUALIFIED
Smith J ShinkoFranceAsiya Javayant PROPOSAL
Greenwood N IturbideJapanIvan Magalhaes RENEWAL
Smith D DoeItalyIvan Magalhaes NEGOTIATION
Aditya G InouyeAustraliaXuxue Feng RENEWAL
Sinclair P NickaUnited KingdomXuxue Feng NEW
Wickens M ShinkoItalyIvan Magalhaes PROPOSAL
Murillo D ShinkoCanadaIvan Magalhaes NEW
Octavia S GauchoJapanAnna Fali PROPOSAL
Stacey B OstroskyCanadaStephen Shaw NEGOTIATION
Claire A GillianFranceBernardo Dominic RENEWAL
Smith H ShinkoSpainStephen Shaw RENEWAL
Smith W MarrierRussiaStephen Shaw NEGOTIATION
Leon K OldroydSpainElwin Sharvill RENEWAL
Emily C PerinUnited KingdomOnyama Limba QUALIFIED
Ashley O CaldareraJapanOnyama Limba PROPOSAL
Claire P VocelkaItalyIvan Magalhaes UNQUALIFIED
Rodrigues K DarakjyArgentinaBernardo Dominic NEGOTIATION
Julie F KolmetzIndiaElwin Sharvill NEGOTIATION
Stacey I SchemmerCanadaIvan Magalhaes QUALIFIED
David E AlbaresJapanIoni Bowcher UNQUALIFIED
Jefferson X OldroydAustraliaIvan Magalhaes PROPOSAL
Kadeem K TollnerItalyAmy Elsner UNQUALIFIED
Costa F SlusarskiCanadaIvan Magalhaes UNQUALIFIED

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