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
Leon Z OldroydFranceElwin Sharvill RENEWAL
Aditya D TollnerJapanBernardo Dominic QUALIFIED
Murillo T OstroskyUnited KingdomAsiya Javayant RENEWAL
Jennifer N StockhamFranceIvan Magalhaes NEW
Jones T AlbaresIndiaBernardo Dominic RENEWAL
Ivar E MacleadFranceAsiya Javayant QUALIFIED
Ricardo W SchemmerAustraliaXuxue Feng UNQUALIFIED
Stacey N NickaItalyXuxue Feng NEGOTIATION
Wickens S CampainIndiaElwin Sharvill UNQUALIFIED
Kadeem H CaldareraUnited KingdomXuxue Feng NEW
Aruna R PaprockiAustraliaBernardo Dominic NEW
Darci R KolmetzJapanIoni Bowcher NEW
Jefferson M SchemmerAustraliaIvan Magalhaes PROPOSAL
Darci P KuskoArgentinaIvan Magalhaes PROPOSAL
Leon L SaylorsSpainXuxue Feng QUALIFIED
Octavia J BologniaUnited KingdomIvan Magalhaes NEW
Emily G CaudySpainIoni Bowcher RENEWAL
Emily H DilliardSpainBernardo Dominic RENEWAL
David U FlosiIndiaAsiya Javayant NEGOTIATION
Aika M FollerIndiaIoni Bowcher RENEWAL
James S DoeAustraliaOnyama Limba QUALIFIED
Leja J MorascaBrazilIvan Magalhaes UNQUALIFIED
David F RoysterGermanyAmy Elsner NEGOTIATION
Emily P FollerCanadaAnna Fali NEGOTIATION
Francesco X BowleyItalyElwin Sharvill NEW
Mujtaba C SaylorsAustraliaOnyama Limba QUALIFIED
Emily C BowleyGermanyIoni Bowcher NEW
Antonio Z StensethFranceElwin Sharvill UNQUALIFIED
Kaitlin S DarakjyUnited KingdomStephen Shaw QUALIFIED
Mujtaba R RulapaughItalyXuxue Feng RENEWAL
Kaitlin W StensethJapanAsiya Javayant RENEWAL
Izzy L NickaItalyAsiya Javayant NEW
Jennifer Z GarufiFranceIvan Magalhaes RENEWAL
James J AmigonBrazilStephen Shaw UNQUALIFIED
Jones O WieserItalyBernardo Dominic NEGOTIATION
Ricardo P MaletBrazilBernardo Dominic QUALIFIED
Jeanfrancois B BowleyBrazilOnyama Limba QUALIFIED
Salvatore K NestleCanadaAnna Fali QUALIFIED
Jennifer T NestleIndiaIvan Magalhaes UNQUALIFIED
Izzy C AmigonUnited KingdomIoni Bowcher UNQUALIFIED
Darci T NestleItalyIvan Magalhaes UNQUALIFIED
Costa V FlosiCanadaXuxue Feng PROPOSAL
Arvin F SchemmerArgentinaIoni Bowcher UNQUALIFIED
Maisha A OstroskyIndiaElwin Sharvill NEGOTIATION
Wickens Y MorascaBrazilBernardo Dominic NEW
Clifford Q MaletBrazilAmy Elsner PROPOSAL
Mujtaba X KolmetzUnited KingdomIvan Magalhaes RENEWAL
Maisha K RoysterRussiaXuxue Feng UNQUALIFIED
Jeanfrancois Z VenereFranceBernardo Dominic UNQUALIFIED
Tony P RulapaughFranceAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Murillo X BologniaSpainIvan Magalhaes QUALIFIED
Aditya L CaldareraCanadaElwin Sharvill UNQUALIFIED
Smith V VenereAustraliaIoni Bowcher QUALIFIED
Deepesh N OstroskyRussiaStephen Shaw PROPOSAL
Morrow S RoysterUnited KingdomAnna Fali UNQUALIFIED
Faith S KolmetzIndiaIvan Magalhaes NEW
Leja W PerinBrazilBernardo Dominic RENEWAL
Cody I WaycottSpainAnna Fali UNQUALIFIED
Rodrigues R RoysterAustraliaAsiya Javayant NEW
Alejandro Z AmigonGermanyOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood I RimArgentina2024-06-07Commercial Press NEGOTIATION54Ioni Bowcher
1001Costa Y MarrierArgentina2024-06-05Rousseaux, Michael Esq QUALIFIED10Amy Elsner
1002Leja P MaletFrance2024-06-05Truhlar And Truhlar Attys QUALIFIED58Amy Elsner
1003Smith S KolmetzGermany2024-06-03Printing Dimensions UNQUALIFIED91Bernardo Dominic
1004Ricardo V MaletItaly2024-06-17Chanay, Jeffrey A Esq RENEWAL52Ivan Magalhaes
1005Costa V DoeFrance2024-06-17King, Christopher A Esq NEGOTIATION38Ivan Magalhaes
1006Emily H SergiSpain2024-06-14Commercial Press UNQUALIFIED19Amy Elsner
1007Chavez F InouyeCanada2024-06-07Truhlar And Truhlar Attys NEW44Ioni Bowcher
1008Cody L GarufiItaly2024-06-05Truhlar And Truhlar Attys NEW60Xuxue Feng
1009Ivar Y WaycottCanada2024-06-03Feiner Bros UNQUALIFIED40Amy Elsner
1010Kadeem S MaletBrazil2024-06-10Feiner Bros UNQUALIFIED31Elwin Sharvill
1011Ashley I MarrierUnited Kingdom2024-06-16Benton, John B Jr NEW66Ioni Bowcher
1012Maisha R CampainGermany2024-05-25Dorl, James J Esq UNQUALIFIED49Stephen Shaw
1013Jeanfrancois I RimItaly2024-06-07Printing Dimensions QUALIFIED49Anna Fali
1014Francesco Q CaudyGermany2024-05-24Chemel, James L Cpa NEGOTIATION3Bernardo Dominic
1015Misaki G ShinkoUnited Kingdom2024-06-10Benton, John B Jr NEGOTIATION5Amy Elsner
1016Adams O NickaFrance2024-05-27Morlong Associates RENEWAL99Ivan Magalhaes
1017Mujtaba L MaletBrazil2024-06-16Chemel, James L Cpa PROPOSAL49Stephen Shaw
1018Isabel G TollnerAustralia2024-06-09Buckley Miller Wright UNQUALIFIED1Elwin Sharvill
1019Adams N ButtRussia2024-06-02Buckley Miller Wright QUALIFIED68Amy Elsner
1020Izzy C VocelkaUnited Kingdom2024-05-24Morlong Associates PROPOSAL52Anna Fali
1021Misaki N VenereUnited Kingdom2024-05-28Feltz Printing Service NEW41Anna Fali
1022Smith W StockhamFrance2024-05-30Chapman, Ross E Esq PROPOSAL18Stephen Shaw
1023Cody I StockhamJapan2024-06-07Rousseaux, Michael Esq UNQUALIFIED22Xuxue Feng
1024Maria U NestleUnited Kingdom2024-06-04Rangoni Of Florence QUALIFIED93Onyama Limba
1025Darci U FigeroaJapan2024-06-05Truhlar And Truhlar Attys NEGOTIATION36Amy Elsner
1026Izzy K RimFrance2024-06-04Dorl, James J Esq NEW89Ivan Magalhaes
1027Silvio C GlickItaly2024-06-16Chanay, Jeffrey A Esq NEW10Asiya Javayant
1028David U ChuiFrance2024-05-29Chemel, James L Cpa UNQUALIFIED91Amy Elsner
1029Alejandro B PerinBrazil2024-06-08Chapman, Ross E Esq PROPOSAL71Elwin Sharvill
1030Faith Y GillianRussia2024-06-13Chemel, James L Cpa PROPOSAL28Stephen Shaw
1031Francesco P ButtGermany2024-06-10Truhlar And Truhlar Attys RENEWAL95Ivan Magalhaes
1032Maria U BowleyUnited Kingdom2024-05-26Chanay, Jeffrey A Esq RENEWAL14Ioni Bowcher
1033Francesco O KolmetzFrance2024-06-09King, Christopher A Esq QUALIFIED79Onyama Limba
1034Cody K TollnerAustralia2024-06-07Rangoni Of Florence NEGOTIATION59Asiya Javayant
1035Salvatore D PoquetteRussia2024-05-30Benton, John B Jr QUALIFIED98Elwin Sharvill
1036Izzy W SaylorsRussia2024-06-12Commercial Press PROPOSAL84Ioni Bowcher
1037David C WaycottItaly2024-06-03Rousseaux, Michael Esq QUALIFIED10Bernardo Dominic
1038Aruna W DarakjyBrazil2024-06-01Feiner Bros QUALIFIED15Elwin Sharvill
1039Tony Q IturbideIndia2024-06-02Truhlar And Truhlar Attys UNQUALIFIED15Onyama Limba
1040Costa D NickaRussia2024-05-24Chemel, James L Cpa QUALIFIED90Ioni Bowcher
1041Ivar I FerenczIndia2024-06-12Chemel, James L Cpa RENEWAL89Ivan Magalhaes
1042Munro V CampainArgentina2024-06-11Rousseaux, Michael Esq QUALIFIED30Ioni Bowcher
1043Murillo M BologniaBrazil2024-05-25Benton, John B Jr NEW4Amy Elsner
1044Mayumi K MacleadUnited Kingdom2024-06-04Chapman, Ross E Esq PROPOSAL25Asiya Javayant
1045Silvio V SchemmerIndia2024-06-06Benton, John B Jr PROPOSAL49Xuxue Feng
1046Aditya E AlbaresFrance2024-05-26Rousseaux, Michael Esq NEW42Asiya Javayant
1047Mayumi R RimGermany2024-05-26Dorl, James J Esq QUALIFIED60Asiya Javayant
1048Stacey D WieserGermany2024-06-13Feiner Bros UNQUALIFIED33Ivan Magalhaes
1049Jefferson E NickaJapan2024-06-06Feltz Printing Service NEGOTIATION88Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Leon B RutaGermanyAsiya Javayant NEGOTIATION
Arvin G WieserRussiaStephen Shaw UNQUALIFIED
Stacey N SchemmerJapanAnna Fali PROPOSAL
Adams I PoquetteSpainAnna Fali UNQUALIFIED
Octavia J ShinkoRussiaElwin Sharvill QUALIFIED
Mujtaba H WhobreySpainOnyama Limba RENEWAL
Francesco T SlusarskiBrazilXuxue Feng RENEWAL
Kadeem U SaylorsCanadaElwin Sharvill NEW
Kaitlin H DarakjyFranceAsiya Javayant UNQUALIFIED
Rodrigues J VenereArgentinaBernardo Dominic NEW
Wickens U PerinAustraliaElwin Sharvill NEW
Leon V BriddickFranceAsiya Javayant NEGOTIATION
Morrow J FigeroaJapanAsiya Javayant NEGOTIATION
Emily M NestleFranceIoni Bowcher QUALIFIED
Izzy S IturbideUnited KingdomAmy Elsner UNQUALIFIED
Francesco G OstroskyGermanyAsiya Javayant RENEWAL
Tony P ShinkoFranceOnyama Limba QUALIFIED
David P StensethRussiaAmy Elsner RENEWAL
Wickens F SlusarskiJapanXuxue Feng QUALIFIED
Nicolas V MaletItalyAmy Elsner NEW
Chavez P MaletUnited KingdomIoni Bowcher UNQUALIFIED
Deepesh O StockhamAustraliaOnyama Limba NEGOTIATION
Mayumi B InouyeJapanAsiya Javayant UNQUALIFIED
Costa W GlickRussiaElwin Sharvill NEGOTIATION
Juan Y SergiBrazilOnyama Limba NEGOTIATION
Aika A BowleyJapanIvan Magalhaes QUALIFIED
Tony F WieserCanadaAmy Elsner PROPOSAL
Jennifer Z IturbideSpainStephen Shaw PROPOSAL
Maisha J CampainGermanyOnyama Limba PROPOSAL
Salvatore F VenereCanadaIvan Magalhaes PROPOSAL
Juan U SchemmerUnited KingdomElwin Sharvill RENEWAL
Juan F KuskoCanadaXuxue Feng UNQUALIFIED
Leon J DarakjyRussiaAnna Fali QUALIFIED
Misaki X FerenczBrazilStephen Shaw QUALIFIED
Ivar X RimUnited KingdomElwin Sharvill NEW
Kadeem W VenereUnited KingdomXuxue Feng NEW
Sinclair A CaldareraBrazilIoni Bowcher PROPOSAL
Aditya F NickaAustraliaAnna Fali NEW
Ivar L DarakjySpainIoni Bowcher UNQUALIFIED
Faith Q MacleadItalyAmy Elsner QUALIFIED
Emily E CaudyRussiaBernardo Dominic QUALIFIED
Misaki X AlbaresSpainXuxue Feng PROPOSAL
Sinclair W BologniaFranceStephen Shaw UNQUALIFIED
Misaki B PaprockiCanadaAmy Elsner NEW
David X ChuiRussiaAsiya Javayant RENEWAL
Johnson O MorascaCanadaAnna Fali NEGOTIATION
Octavia A IturbideBrazilAnna Fali PROPOSAL
Jeanfrancois Z GarufiGermanyAnna Fali UNQUALIFIED
Mujtaba C FigeroaFranceIvan Magalhaes NEW
Jones P PoquetteSpainIvan Magalhaes QUALIFIED
Frozen Columns
Name
Mayumi E Saylors
Sinclair T Foller
Tony X Ruta
Ashley E Kolmetz
Chavez N Ferencz
Chavez F Amigon
Julie F Ruta
David F Malet
Darci G Iturbide
Francesco Q Nestle
Claire A Ostrosky
Adams B Bowley
Maria K Vocelka
Antonio X Briddick
Octavia R Nestle
Silvio E Perin
Chavez O Ferencz
Silvio G Albares
Claire K Ruta
Julie X Dilliard
Wickens M Rulapaugh
Cody B Flosi
Costa Y Campain
Antonio V Rulapaugh
Emily W Albares
Wickens J Doe
Costa M Foller
Wickens J Ostrosky
David P Foller
Juan G Oldroyd
Silvio S Poquette
Wickens A Iturbide
Emily X Stockham
Misaki Z Butt
Kaitlin J Kusko
Juan G Briddick
Silvio Q Foller
Juan S Gaucho
Morrow N Glick
Maisha A Morasca
Stacey O Sergi
Jefferson E Bowley
Rodrigues I Wieser
Mujtaba V Foller
James G Saylors
Jones C Shinko
Jones V Waycott
Kadeem M Schemmer
Smith Q Perin
Ricardo W Dilliard
IdCountryDate
1000United Kingdom2024-06-05
1001Japan2024-05-24
1002Italy2024-06-04
1003Spain2024-06-14
1004Argentina2024-06-10
1005Australia2024-06-01
1006United Kingdom2024-06-14
1007Italy2024-05-26
1008France2024-06-19
1009Canada2024-06-08
1010France2024-06-18
1011Australia2024-06-01
1012Italy2024-06-04
1013Italy2024-06-16
1014United Kingdom2024-06-12
1015Australia2024-06-22
1016Brazil2024-06-14
1017India2024-06-18
1018Argentina2024-06-12
1019United Kingdom2024-06-13
1020France2024-06-06
1021France2024-05-28
1022Germany2024-06-10
1023France2024-05-30
1024Spain2024-06-02
1025Brazil2024-05-30
1026Spain2024-06-07
1027Japan2024-06-08
1028Russia2024-06-12
1029Brazil2024-06-11
1030Japan2024-05-25
1031France2024-06-12
1032Argentina2024-06-10
1033Canada2024-06-15
1034Japan2024-06-13
1035India2024-06-07
1036Germany2024-06-01
1037Spain2024-06-11
1038Japan2024-05-31
1039Germany2024-06-07
1040Australia2024-06-15
1041Argentina2024-06-10
1042Italy2024-06-08
1043Spain2024-06-20
1044Argentina2024-06-17
1045Canada2024-06-16
1046United Kingdom2024-06-02
1047Russia2024-06-20
1048Italy2024-05-28
1049Russia2024-06-11

On-Demand Data

NameIdCountryDate
Izzy Z Gaucho1000Italy2024-06-02
Isabel T Albares1001Russia2024-05-27
Stacey F Ostrosky1002Russia2024-06-14
Silvio R Amigon1003Japan2024-05-26
Isabel Z Doe1004Argentina2024-06-22
Izzy W Flosi1005Japan2024-05-24
Claire S Malet1006United Kingdom2024-06-03
Cody Q Morasca1007India2024-06-10
Jones E Doe1008Germany2024-06-18
Emily H Ferencz1009Japan2024-06-17
Greenwood K Rulapaugh1010United Kingdom2024-06-16
Kaitlin G Figeroa1011Russia2024-06-10
Morrow I Darakjy1012Germany2024-06-07
Faith P Figeroa1013France2024-06-02
Aditya O Ferencz1014India2024-06-03
Mayumi W Kusko1015Argentina2024-06-21
James R Flosi1016Japan2024-06-15
Sinclair Q Vocelka1017Brazil2024-06-19
Aika B Bowley1018Brazil2024-06-09
Kaitlin Y Poquette1019Argentina2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily N GarufiCanadaXuxue Feng NEW
Nicolas I SlusarskiIndiaAmy Elsner QUALIFIED
Clifford L MarrierFranceBernardo Dominic QUALIFIED
Rodrigues V AmigonItalyIoni Bowcher NEW
Francesco S CampainItalyXuxue Feng UNQUALIFIED
Darci Q GlickJapanIoni Bowcher UNQUALIFIED
Nicolas D WhobreyCanadaBernardo Dominic UNQUALIFIED
Aruna A StensethAustraliaAnna Fali RENEWAL
Izzy M StensethGermanyIvan Magalhaes QUALIFIED
Stacey O GillianAustraliaElwin Sharvill NEGOTIATION
Chavez Q CaldareraSpainAmy Elsner NEGOTIATION
Chavez A BriddickGermanyXuxue Feng RENEWAL
Faith O FigeroaCanadaIoni Bowcher NEGOTIATION
Morrow D AlbaresFranceAmy Elsner QUALIFIED
Antonio U RoysterJapanIoni Bowcher QUALIFIED
Aruna K SaylorsSpainAnna Fali RENEWAL
Alejandro B WieserArgentinaStephen Shaw UNQUALIFIED
Jefferson V DilliardGermanyElwin Sharvill PROPOSAL
Octavia O GarufiGermanyBernardo Dominic NEGOTIATION
David Y PoquetteUnited KingdomStephen Shaw NEW
Arvin E TollnerBrazilStephen Shaw RENEWAL
Leja M DoeItalyElwin Sharvill UNQUALIFIED
Clifford T VenereBrazilAsiya Javayant UNQUALIFIED
Leon D ButtUnited KingdomAmy Elsner QUALIFIED
Sinclair R GauchoFranceIoni Bowcher NEW
Chavez Y CaldareraSpainOnyama Limba PROPOSAL
Octavia P OldroydFranceAsiya Javayant RENEWAL
Clifford P NickaFranceStephen Shaw PROPOSAL
Darci X ShinkoBrazilStephen Shaw UNQUALIFIED
Ivar I MorascaRussiaOnyama Limba NEGOTIATION
Ashley Y SlusarskiJapanXuxue Feng UNQUALIFIED
Costa H SchemmerIndiaAsiya Javayant NEW
Aika G FlosiArgentinaIoni Bowcher PROPOSAL
Rodrigues B CaldareraGermanyBernardo Dominic NEW
Jefferson R WieserIndiaIoni Bowcher NEW
Salvatore L NestleUnited KingdomIvan Magalhaes NEW
Chavez L DarakjyCanadaAnna Fali QUALIFIED
Mayumi X KuskoRussiaBernardo Dominic NEGOTIATION
Maria A InouyeRussiaAmy Elsner PROPOSAL
Clifford L NickaIndiaElwin Sharvill 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>