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
Stacey M VenereFranceOnyama Limba RENEWAL
Adams Y RoysterRussiaXuxue Feng UNQUALIFIED
Leon Q CaudyFranceAmy Elsner PROPOSAL
Murillo X NestleCanadaBernardo Dominic UNQUALIFIED
Juan B GillianGermanyIoni Bowcher RENEWAL
Cody M RulapaughAustraliaAnna Fali QUALIFIED
Morrow Z BowleyAustraliaXuxue Feng PROPOSAL
Greenwood N ButtSpainStephen Shaw UNQUALIFIED
Silvio J NestleCanadaAnna Fali UNQUALIFIED
Leja O ShinkoIndiaXuxue Feng UNQUALIFIED
Johnson X NestleRussiaElwin Sharvill NEGOTIATION
Munro Z MorascaJapanBernardo Dominic QUALIFIED
Clifford R RulapaughAustraliaXuxue Feng NEW
Morrow L PoquetteFranceIoni Bowcher NEW
Antonio N DilliardAustraliaIoni Bowcher RENEWAL
Rodrigues P DarakjyCanadaElwin Sharvill RENEWAL
Emily L NickaIndiaIoni Bowcher PROPOSAL
James H ShinkoSpainStephen Shaw QUALIFIED
Aruna V OstroskyArgentinaXuxue Feng NEW
James P GlickUnited KingdomOnyama Limba PROPOSAL
Leon G OldroydArgentinaBernardo Dominic NEGOTIATION
Leon Y MaletJapanBernardo Dominic PROPOSAL
Deepesh X AmigonSpainOnyama Limba NEW
Adams G CampainCanadaXuxue Feng RENEWAL
Juan O MacleadArgentinaAsiya Javayant NEGOTIATION
Kadeem D NickaUnited KingdomAnna Fali NEW
Aditya L VenereArgentinaElwin Sharvill NEW
Deepesh A FlosiAustraliaIoni Bowcher NEGOTIATION
Emily J KolmetzRussiaOnyama Limba PROPOSAL
Claire I DilliardRussiaStephen Shaw RENEWAL
Nicolas Z IturbideSpainBernardo Dominic UNQUALIFIED
Rodrigues I OldroydAustraliaBernardo Dominic UNQUALIFIED
Francesco A RutaRussiaAsiya Javayant QUALIFIED
Mujtaba Z DilliardAustraliaAnna Fali PROPOSAL
Octavia T VenereAustraliaElwin Sharvill RENEWAL
Emily E StockhamIndiaIoni Bowcher NEGOTIATION
Jennifer P KolmetzBrazilAnna Fali NEW
Aruna C FigeroaCanadaStephen Shaw UNQUALIFIED
Aika J DilliardItalyIoni Bowcher NEGOTIATION
Silvio K WhobreyAustraliaAmy Elsner QUALIFIED
Munro H WieserCanadaStephen Shaw UNQUALIFIED
Misaki D FollerJapanStephen Shaw PROPOSAL
Deepesh P RimGermanyXuxue Feng NEW
Leja S MaletBrazilIoni Bowcher NEW
James B OstroskyFranceBernardo Dominic PROPOSAL
Adams C RoysterRussiaAnna Fali NEGOTIATION
Emily J SlusarskiItalyAmy Elsner NEGOTIATION
Salvatore X TollnerBrazilIoni Bowcher QUALIFIED
Mujtaba I IturbideBrazilAmy Elsner NEGOTIATION
Aditya I IturbideCanadaOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Octavia M StensethSpainXuxue Feng RENEWAL
Mujtaba J DarakjyRussiaIoni Bowcher NEGOTIATION
Ricardo J KuskoAustraliaIoni Bowcher PROPOSAL
Aika F KuskoItalyOnyama Limba NEGOTIATION
Aditya F GarufiBrazilIvan Magalhaes RENEWAL
Salvatore N FerenczBrazilElwin Sharvill RENEWAL
Claire Q FollerUnited KingdomAsiya Javayant QUALIFIED
Antonio Y StensethGermanyIvan Magalhaes NEW
Adams B GarufiUnited KingdomAmy Elsner NEW
Maisha B GlickAustraliaBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams D AlbaresSpain2024-05-23Chapman, Ross E Esq RENEWAL21Bernardo Dominic
1001Maria D CaudyCanada2024-05-31Commercial Press NEGOTIATION23Anna Fali
1002Mujtaba N RulapaughIndia2024-05-16Benton, John B Jr RENEWAL53Elwin Sharvill
1003Nicolas U PoquetteIndia2024-05-08Chapman, Ross E Esq RENEWAL79Anna Fali
1004Adams H SaylorsCanada2024-05-22Benton, John B Jr RENEWAL73Bernardo Dominic
1005Costa R ChuiCanada2024-05-10Rangoni Of Florence UNQUALIFIED88Stephen Shaw
1006Jennifer R GlickIndia2024-05-22Commercial Press UNQUALIFIED71Asiya Javayant
1007Nicolas V MarrierCanada2024-05-07King, Christopher A Esq RENEWAL5Asiya Javayant
1008Francesco L SaylorsJapan2024-05-04Morlong Associates NEW14Elwin Sharvill
1009Costa N OldroydCanada2024-05-25King, Christopher A Esq RENEWAL45Amy Elsner
1010Francesco J VocelkaIndia2024-05-23Morlong Associates QUALIFIED38Stephen Shaw
1011Juan A GlickBrazil2024-05-04Printing Dimensions PROPOSAL49Anna Fali
1012Alejandro B CampainIndia2024-05-20Rousseaux, Michael Esq NEW33Elwin Sharvill
1013Morrow X DarakjyIndia2024-05-18Dorl, James J Esq RENEWAL95Asiya Javayant
1014Jennifer B SergiRussia2024-05-28Rousseaux, Michael Esq RENEWAL39Amy Elsner
1015Munro X DoeJapan2024-05-23Buckley Miller Wright RENEWAL40Bernardo Dominic
1016Faith D BriddickItaly2024-05-18Chapman, Ross E Esq QUALIFIED64Stephen Shaw
1017Jefferson K PerinFrance2024-05-22Buckley Miller Wright UNQUALIFIED95Ioni Bowcher
1018David M CaldareraIndia2024-05-16Chanay, Jeffrey A Esq NEW88Stephen Shaw
1019Jones N FollerGermany2024-05-18Commercial Press PROPOSAL67Xuxue Feng
1020Murillo H DarakjyGermany2024-05-20Chapman, Ross E Esq RENEWAL0Stephen Shaw
1021Arvin B RimItaly2024-05-31Rousseaux, Michael Esq RENEWAL97Onyama Limba
1022Clifford R MaletRussia2024-05-15King, Christopher A Esq NEGOTIATION6Elwin Sharvill
1023Salvatore C TollnerGermany2024-05-18Chapman, Ross E Esq RENEWAL12Stephen Shaw
1024Silvio E DoeCanada2024-05-10Truhlar And Truhlar Attys QUALIFIED33Amy Elsner
1025Julie O CampainBrazil2024-05-24Dorl, James J Esq RENEWAL84Asiya Javayant
1026Claire F TollnerBrazil2024-05-06Benton, John B Jr RENEWAL91Amy Elsner
1027Emily B BologniaBrazil2024-05-09King, Christopher A Esq NEW92Onyama Limba
1028Leon B ChuiJapan2024-05-26Morlong Associates NEW45Onyama Limba
1029Antonio S FerenczRussia2024-05-15Feiner Bros UNQUALIFIED96Ivan Magalhaes
1030Faith F BriddickFrance2024-05-14Chemel, James L Cpa QUALIFIED49Ivan Magalhaes
1031Aruna O KuskoSpain2024-05-11Feltz Printing Service PROPOSAL23Anna Fali
1032Clifford C FollerItaly2024-05-14Truhlar And Truhlar Attys UNQUALIFIED23Asiya Javayant
1033Izzy B DoeBrazil2024-05-30Commercial Press QUALIFIED39Asiya Javayant
1034Murillo C MaletArgentina2024-05-28Morlong Associates PROPOSAL72Xuxue Feng
1035Morrow P TollnerItaly2024-05-06Rousseaux, Michael Esq NEGOTIATION42Amy Elsner
1036Maisha M ChuiItaly2024-05-03Chemel, James L Cpa PROPOSAL90Ioni Bowcher
1037Claire R WieserUnited Kingdom2024-05-07Chemel, James L Cpa PROPOSAL88Bernardo Dominic
1038Ivar U VocelkaArgentina2024-05-24Rousseaux, Michael Esq UNQUALIFIED74Xuxue Feng
1039Leon R KuskoAustralia2024-05-22Chemel, James L Cpa NEGOTIATION71Bernardo Dominic
1040Izzy O ButtJapan2024-05-26Rangoni Of Florence PROPOSAL10Ivan Magalhaes
1041Jefferson Z FerenczBrazil2024-05-22Commercial Press NEW22Ioni Bowcher
1042Octavia M SergiIndia2024-05-09Printing Dimensions QUALIFIED34Onyama Limba
1043Ricardo E GillianAustralia2024-05-20Rousseaux, Michael Esq PROPOSAL92Bernardo Dominic
1044Aditya E OldroydBrazil2024-05-08Feltz Printing Service NEW48Elwin Sharvill
1045Kadeem X MaletSpain2024-05-26Rangoni Of Florence UNQUALIFIED11Bernardo Dominic
1046Emily L BriddickCanada2024-05-25Feiner Bros PROPOSAL86Onyama Limba
1047Leja M ShinkoAustralia2024-05-29Rangoni Of Florence NEW6Bernardo Dominic
1048Cody J IturbideRussia2024-05-05Printing Dimensions NEW23Xuxue Feng
1049Darci K BriddickRussia2024-05-03Morlong Associates UNQUALIFIED17Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Leja N MarrierArgentinaAnna Fali QUALIFIED
Cody L ButtRussiaXuxue Feng QUALIFIED
Darci I StensethRussiaIoni Bowcher RENEWAL
Aditya B RoysterGermanyElwin Sharvill NEW
Mujtaba X FigeroaGermanyElwin Sharvill QUALIFIED
Emily B StockhamBrazilBernardo Dominic UNQUALIFIED
Julie W OstroskyBrazilIoni Bowcher NEW
Juan V FerenczUnited KingdomIoni Bowcher RENEWAL
Johnson Z DilliardIndiaAnna Fali QUALIFIED
Jennifer I VenereCanadaAsiya Javayant PROPOSAL
Alejandro V BowleyUnited KingdomXuxue Feng RENEWAL
Ivar F MacleadFranceStephen Shaw NEW
Alejandro T MaletRussiaIvan Magalhaes PROPOSAL
Wickens L StensethBrazilAmy Elsner PROPOSAL
Tony W PerinItalyAmy Elsner RENEWAL
Maisha I NestleFranceAsiya Javayant UNQUALIFIED
Costa Z SchemmerCanadaXuxue Feng RENEWAL
Darci Q NickaBrazilAnna Fali NEGOTIATION
Francesco Y GarufiArgentinaAnna Fali PROPOSAL
Leja P KolmetzCanadaElwin Sharvill QUALIFIED
Rodrigues P SlusarskiGermanyBernardo Dominic QUALIFIED
Johnson L VenereJapanXuxue Feng QUALIFIED
Aika E GarufiRussiaElwin Sharvill NEW
Munro F StensethRussiaAnna Fali PROPOSAL
Ivar H PerinArgentinaAsiya Javayant QUALIFIED
Ricardo Q GauchoJapanStephen Shaw PROPOSAL
Emily F BriddickBrazilAmy Elsner UNQUALIFIED
Chavez Y BologniaItalyStephen Shaw QUALIFIED
Costa Q CampainIndiaElwin Sharvill PROPOSAL
Leon Y GauchoAustraliaIoni Bowcher UNQUALIFIED
Nicolas C FerenczCanadaAsiya Javayant RENEWAL
Leon J PaprockiGermanyBernardo Dominic NEGOTIATION
Mayumi A TollnerAustraliaAsiya Javayant PROPOSAL
Greenwood S FigeroaUnited KingdomBernardo Dominic PROPOSAL
Mujtaba V CaudyCanadaBernardo Dominic UNQUALIFIED
Stacey M CaudyBrazilAsiya Javayant QUALIFIED
Kaitlin P GlickUnited KingdomStephen Shaw NEW
Morrow D SergiGermanyXuxue Feng NEW
Smith T BriddickUnited KingdomStephen Shaw PROPOSAL
Nicolas K RimJapanIvan Magalhaes QUALIFIED
David F KolmetzGermanyXuxue Feng UNQUALIFIED
Maisha G BologniaIndiaBernardo Dominic PROPOSAL
Deepesh Z PaprockiCanadaStephen Shaw UNQUALIFIED
Claire V InouyeArgentinaElwin Sharvill UNQUALIFIED
Johnson U RulapaughGermanyXuxue Feng NEGOTIATION
Smith F ButtCanadaAmy Elsner RENEWAL
Ivar M RutaJapanElwin Sharvill NEGOTIATION
Alejandro I MaletAustraliaOnyama Limba PROPOSAL
Ricardo O SaylorsCanadaAmy Elsner NEGOTIATION
Greenwood O MarrierArgentinaAmy Elsner NEW
Frozen Columns
Name
Deepesh Q Foller
Leja S Inouye
Jeanfrancois M Iturbide
Faith P Caudy
Aditya E Gaucho
Francesco B Caudy
Chavez W Darakjy
Stacey A Tollner
Izzy N Royster
Aditya P Dilliard
Faith J Morasca
Kaitlin W Amigon
Chavez D Vocelka
Leon C Kolmetz
Juan Q Rulapaugh
Antonio J Iturbide
Silvio Y Stockham
Darci J Butt
Ricardo R Whobrey
Jeanfrancois J Gaucho
Nicolas F Amigon
Jennifer U Flosi
Morrow M Venere
Chavez Y Bolognia
Adams A Flosi
Costa B Saylors
Francesco A Poquette
Francesco Y Sergi
Faith T Iturbide
Ricardo C Bolognia
Silvio Q Schemmer
Alejandro H Poquette
Jefferson W Wieser
Claire V Caldarera
Izzy D Bolognia
Ricardo D Kolmetz
Arvin S Shinko
Aditya R Vocelka
Munro P Ferencz
Aditya K Caudy
Isabel C Poquette
Faith Q Foller
Isabel T Oldroyd
Murillo G Flosi
Silvio O Flosi
Isabel P Schemmer
Arvin R Nestle
Faith V Kusko
Arvin J Malet
Juan D Caldarera
IdCountryDate
1000Japan2024-05-20
1001Argentina2024-05-26
1002Japan2024-05-30
1003India2024-05-28
1004Argentina2024-05-08
1005Canada2024-05-27
1006France2024-05-14
1007United Kingdom2024-05-20
1008Italy2024-05-08
1009India2024-05-15
1010Russia2024-05-30
1011Argentina2024-05-05
1012Brazil2024-05-24
1013Australia2024-05-29
1014Argentina2024-05-12
1015Canada2024-05-27
1016Brazil2024-05-24
1017Russia2024-05-09
1018France2024-05-16
1019India2024-05-13
1020United Kingdom2024-05-10
1021India2024-05-27
1022Spain2024-05-09
1023Canada2024-05-13
1024Australia2024-05-29
1025Russia2024-05-24
1026Russia2024-05-10
1027Canada2024-05-14
1028Russia2024-05-31
1029Russia2024-05-04
1030Canada2024-05-13
1031Italy2024-05-30
1032India2024-05-22
1033Russia2024-05-12
1034Russia2024-05-11
1035Spain2024-05-24
1036India2024-05-08
1037Australia2024-05-21
1038Russia2024-05-04
1039Canada2024-05-02
1040India2024-05-14
1041France2024-05-15
1042United Kingdom2024-05-21
1043Germany2024-05-10
1044Brazil2024-05-22
1045Russia2024-05-19
1046United Kingdom2024-05-10
1047Canada2024-05-22
1048Australia2024-05-16
1049Brazil2024-05-23

On-Demand Data

NameIdCountryDate
Chavez Y Whobrey1000Spain2024-05-22
Octavia D Saylors1001India2024-05-26
Jeanfrancois F Paprocki1002Argentina2024-05-24
Mayumi X Saylors1003Russia2024-05-26
Jeanfrancois Z Amigon1004France2024-05-21
Ivar R Malet1005France2024-05-22
Darci N Tollner1006Italy2024-05-10
Kadeem L Figeroa1007Italy2024-05-17
Jeanfrancois M Slusarski1008Japan2024-05-13
Kaitlin V Rulapaugh1009Brazil2024-05-14
Ivar D Morasca1010Australia2024-05-20
Jeanfrancois S Morasca1011Germany2024-05-12
Cody N Maclead1012Australia2024-05-24
Jefferson L Slusarski1013Brazil2024-05-21
Jones Q Dilliard1014Japan2024-05-06
Cody T Shinko1015Brazil2024-05-20
Juan Q Oldroyd1016France2024-05-14
Claire P Morasca1017Brazil2024-05-30
Nicolas F Figeroa1018Australia2024-05-24
Salvatore K Caldarera1019Australia2024-05-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily R GarufiArgentinaXuxue Feng UNQUALIFIED
Juan T BowleyAustraliaAmy Elsner RENEWAL
Faith P FigeroaIndiaElwin Sharvill NEW
David N GarufiRussiaStephen Shaw QUALIFIED
Antonio M IturbideRussiaAmy Elsner NEW
Rodrigues H MacleadCanadaOnyama Limba NEW
Clifford P BologniaJapanElwin Sharvill PROPOSAL
Stacey Y WieserJapanIvan Magalhaes NEW
Rodrigues L CaldareraCanadaIvan Magalhaes NEGOTIATION
Clifford L BologniaFranceAmy Elsner NEGOTIATION
Aika B ButtSpainStephen Shaw NEW
Munro A VocelkaCanadaBernardo Dominic NEW
Clifford Q GarufiCanadaIoni Bowcher UNQUALIFIED
Wickens T SlusarskiIndiaOnyama Limba UNQUALIFIED
Sinclair Y RulapaughSpainAnna Fali PROPOSAL
Faith C WaycottBrazilOnyama Limba NEGOTIATION
Juan X InouyeCanadaXuxue Feng RENEWAL
Stacey O GarufiCanadaOnyama Limba UNQUALIFIED
Aditya H WhobreyItalyIvan Magalhaes QUALIFIED
Emily Q SchemmerSpainOnyama Limba RENEWAL
Izzy Z RoysterUnited KingdomAnna Fali NEW
Cody I CampainArgentinaXuxue Feng QUALIFIED
Octavia S BriddickCanadaElwin Sharvill QUALIFIED
Octavia A GauchoCanadaAsiya Javayant NEW
Jeanfrancois N FollerSpainOnyama Limba RENEWAL
Rodrigues Y GarufiBrazilIvan Magalhaes QUALIFIED
Chavez K BologniaBrazilAmy Elsner QUALIFIED
Jefferson U WaycottSpainAnna Fali NEW
Costa D MaletGermanyOnyama Limba NEGOTIATION
Faith H SergiCanadaXuxue Feng QUALIFIED
Chavez R NestleAustraliaIvan Magalhaes QUALIFIED
Mayumi V RimSpainIoni Bowcher QUALIFIED
Jennifer D FollerUnited KingdomIvan Magalhaes PROPOSAL
Ashley L ShinkoSpainBernardo Dominic NEW
Greenwood S StensethGermanyElwin Sharvill NEW
Salvatore I IturbideRussiaAnna Fali UNQUALIFIED
Antonio V RulapaughUnited KingdomElwin Sharvill QUALIFIED
Sinclair Z StensethSpainAnna Fali PROPOSAL
Leon P StockhamFranceAnna Fali NEW
Francesco T FerenczCanadaIoni Bowcher 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>