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
Aditya C AlbaresGermanyElwin Sharvill RENEWAL
Leja E AmigonCanadaIoni Bowcher QUALIFIED
Tony H DoeAustraliaStephen Shaw PROPOSAL
Misaki L SchemmerRussiaElwin Sharvill NEW
Misaki H FerenczItalyAmy Elsner PROPOSAL
Isabel C PerinSpainAnna Fali NEGOTIATION
Arvin E BowleySpainAsiya Javayant UNQUALIFIED
Antonio Q CaldareraCanadaElwin Sharvill NEGOTIATION
Smith A WhobreyAustraliaIoni Bowcher NEGOTIATION
Isabel Y BowleyRussiaAsiya Javayant NEW
Maria O MaletIndiaAsiya Javayant NEGOTIATION
Juan P ShinkoAustraliaOnyama Limba NEGOTIATION
Faith V NickaBrazilIoni Bowcher QUALIFIED
Silvio W GillianArgentinaElwin Sharvill PROPOSAL
Emily K FigeroaRussiaIoni Bowcher NEW
Sinclair M BriddickFranceElwin Sharvill QUALIFIED
Silvio T SchemmerItalyXuxue Feng UNQUALIFIED
Izzy H MarrierRussiaXuxue Feng RENEWAL
Claire Y CampainArgentinaIoni Bowcher RENEWAL
Arvin F DilliardFranceElwin Sharvill PROPOSAL
Julie N CaudyIndiaXuxue Feng QUALIFIED
Silvio G GillianArgentinaAsiya Javayant RENEWAL
Sinclair S CampainArgentinaElwin Sharvill RENEWAL
Emily Z GlickArgentinaElwin Sharvill QUALIFIED
Deepesh D FollerBrazilAmy Elsner QUALIFIED
Emily C DarakjyAustraliaOnyama Limba QUALIFIED
Izzy H WaycottIndiaAnna Fali PROPOSAL
Maisha F SlusarskiGermanyBernardo Dominic NEGOTIATION
Octavia P GlickSpainAnna Fali RENEWAL
Cody E DarakjyBrazilIoni Bowcher UNQUALIFIED
Ashley E DoeItalyStephen Shaw NEGOTIATION
Munro R ButtJapanIvan Magalhaes NEW
Jennifer P FlosiBrazilElwin Sharvill NEGOTIATION
Aika M SchemmerSpainOnyama Limba QUALIFIED
Emily N RimUnited KingdomStephen Shaw NEGOTIATION
Smith L WhobreyItalyAmy Elsner RENEWAL
Cody J PoquetteIndiaBernardo Dominic RENEWAL
Misaki B BriddickSpainIoni Bowcher RENEWAL
Kadeem Z FlosiArgentinaAmy Elsner RENEWAL
Stacey Q FerenczBrazilAsiya Javayant RENEWAL
Mujtaba B RoysterGermanyIoni Bowcher RENEWAL
Emily A CaudyFranceAsiya Javayant NEGOTIATION
Aruna O MaletAustraliaElwin Sharvill UNQUALIFIED
Munro V SchemmerRussiaElwin Sharvill NEGOTIATION
Sinclair B DilliardJapanStephen Shaw QUALIFIED
Silvio B WieserUnited KingdomElwin Sharvill PROPOSAL
Ashley A VocelkaRussiaXuxue Feng NEW
Maisha P StensethJapanStephen Shaw UNQUALIFIED
Johnson M AlbaresRussiaElwin Sharvill RENEWAL
Misaki K OstroskyJapanIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Izzy F WaycottRussiaAnna Fali NEGOTIATION
Darci V VenereGermanyStephen Shaw QUALIFIED
Cody A MaletUnited KingdomOnyama Limba UNQUALIFIED
Antonio H SchemmerGermanyAnna Fali NEW
Tony B OldroydJapanAsiya Javayant PROPOSAL
Maisha R OstroskyGermanyOnyama Limba QUALIFIED
Leon U DarakjyGermanyIoni Bowcher RENEWAL
Mujtaba F RimIndiaIoni Bowcher NEGOTIATION
David J CaudyBrazilIoni Bowcher RENEWAL
Mayumi S PerinArgentinaIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin Z PaprockiBrazil2024-05-28Buckley Miller Wright NEW38Asiya Javayant
1001Munro X MaletArgentina2024-06-21Rangoni Of Florence QUALIFIED97Bernardo Dominic
1002Silvio O GillianArgentina2024-06-21Buckley Miller Wright QUALIFIED54Stephen Shaw
1003Isabel N RimFrance2024-06-09Chapman, Ross E Esq PROPOSAL92Amy Elsner
1004Silvio V BriddickFrance2024-06-17Benton, John B Jr PROPOSAL50Xuxue Feng
1005Murillo J ButtRussia2024-06-10Feltz Printing Service QUALIFIED85Ioni Bowcher
1006Ivar W RimBrazil2024-05-24Chemel, James L Cpa NEW99Stephen Shaw
1007Wickens K FollerIndia2024-05-30King, Christopher A Esq RENEWAL66Ivan Magalhaes
1008Francesco F KuskoItaly2024-05-31Morlong Associates NEGOTIATION17Ioni Bowcher
1009James H FollerFrance2024-06-18Printing Dimensions NEGOTIATION5Elwin Sharvill
1010Maisha E FigeroaAustralia2024-06-10Printing Dimensions QUALIFIED48Bernardo Dominic
1011Izzy B AlbaresFrance2024-06-14Dorl, James J Esq UNQUALIFIED64Amy Elsner
1012David F StensethArgentina2024-06-20Chemel, James L Cpa NEW88Onyama Limba
1013David G CampainAustralia2024-06-01Chapman, Ross E Esq PROPOSAL36Onyama Limba
1014Jeanfrancois J NestleBrazil2024-06-09Benton, John B Jr NEGOTIATION97Ivan Magalhaes
1015James R KolmetzRussia2024-05-23Benton, John B Jr NEGOTIATION27Amy Elsner
1016Stacey D WieserUnited Kingdom2024-06-13King, Christopher A Esq NEW1Asiya Javayant
1017Aruna I WhobreySpain2024-06-14Benton, John B Jr NEGOTIATION78Asiya Javayant
1018Claire H BowleyGermany2024-05-25Rangoni Of Florence UNQUALIFIED56Onyama Limba
1019Costa H MacleadFrance2024-05-23Morlong Associates PROPOSAL28Elwin Sharvill
1020Ricardo W InouyeFrance2024-06-10Buckley Miller Wright UNQUALIFIED37Ioni Bowcher
1021Adams V FigeroaArgentina2024-06-02Rousseaux, Michael Esq QUALIFIED79Xuxue Feng
1022Johnson D AmigonFrance2024-06-08Commercial Press NEW42Stephen Shaw
1023Murillo H NickaSpain2024-06-08Benton, John B Jr NEW84Xuxue Feng
1024Silvio A MaletSpain2024-05-26Rousseaux, Michael Esq NEW37Asiya Javayant
1025Emily D SergiBrazil2024-06-17Truhlar And Truhlar Attys PROPOSAL41Bernardo Dominic
1026Mayumi O DilliardGermany2024-05-30Chanay, Jeffrey A Esq NEGOTIATION19Anna Fali
1027Maria L PaprockiBrazil2024-06-14King, Christopher A Esq NEW46Elwin Sharvill
1028Clifford J MacleadIndia2024-05-25Morlong Associates QUALIFIED67Stephen Shaw
1029Adams O CampainArgentina2024-06-03Feiner Bros PROPOSAL83Stephen Shaw
1030Wickens G CampainJapan2024-06-16Morlong Associates RENEWAL77Bernardo Dominic
1031Jeanfrancois V SchemmerCanada2024-06-20King, Christopher A Esq NEW42Anna Fali
1032Izzy I MaletFrance2024-06-18Benton, John B Jr RENEWAL21Stephen Shaw
1033Rodrigues F GarufiUnited Kingdom2024-06-20Feiner Bros NEW60Anna Fali
1034Mayumi O MarrierAustralia2024-06-12Truhlar And Truhlar Attys NEW34Amy Elsner
1035Claire B DilliardUnited Kingdom2024-06-09Dorl, James J Esq UNQUALIFIED72Stephen Shaw
1036Sinclair R BriddickItaly2024-06-16Feiner Bros NEW56Anna Fali
1037Mayumi A IturbideUnited Kingdom2024-05-25Rousseaux, Michael Esq NEW90Xuxue Feng
1038Cody L MorascaArgentina2024-06-03Feiner Bros NEW45Onyama Limba
1039Chavez A NestleItaly2024-06-17Dorl, James J Esq RENEWAL46Ioni Bowcher
1040Adams X AlbaresCanada2024-06-14Chanay, Jeffrey A Esq QUALIFIED96Ioni Bowcher
1041Chavez Q KuskoArgentina2024-06-17Commercial Press PROPOSAL22Amy Elsner
1042Arvin P DoeCanada2024-06-17Truhlar And Truhlar Attys UNQUALIFIED94Amy Elsner
1043Tony W NickaRussia2024-06-14Chapman, Ross E Esq PROPOSAL95Stephen Shaw
1044Juan A KuskoFrance2024-05-27Chanay, Jeffrey A Esq QUALIFIED18Asiya Javayant
1045Misaki S KuskoSpain2024-06-05Printing Dimensions PROPOSAL35Onyama Limba
1046Darci H WhobreyArgentina2024-06-12Commercial Press RENEWAL4Anna Fali
1047Costa U DoeUnited Kingdom2024-06-04Morlong Associates RENEWAL74Onyama Limba
1048Deepesh C PoquetteIndia2024-06-10Buckley Miller Wright PROPOSAL67Amy Elsner
1049Murillo G AlbaresRussia2024-06-20Rousseaux, Michael Esq QUALIFIED72Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Octavia Z MaletFranceXuxue Feng NEW
Jennifer N PerinCanadaOnyama Limba NEW
Emily U VenereAustraliaAnna Fali PROPOSAL
Nicolas X BowleySpainElwin Sharvill NEW
Maisha U BowleyBrazilAmy Elsner QUALIFIED
Juan M ShinkoJapanBernardo Dominic QUALIFIED
Maria E MarrierRussiaAmy Elsner PROPOSAL
Maria T ButtBrazilElwin Sharvill UNQUALIFIED
Francesco T SaylorsSpainIoni Bowcher NEGOTIATION
Murillo V MarrierUnited KingdomIoni Bowcher NEGOTIATION
Claire C PoquetteItalyIoni Bowcher RENEWAL
Darci Q CampainGermanyAnna Fali UNQUALIFIED
Francesco U InouyeBrazilIoni Bowcher PROPOSAL
Kaitlin K BowleyRussiaAnna Fali RENEWAL
Maisha V DoeItalyXuxue Feng QUALIFIED
Izzy J ShinkoRussiaBernardo Dominic NEGOTIATION
Morrow K GillianArgentinaXuxue Feng RENEWAL
Ashley W RutaAustraliaXuxue Feng UNQUALIFIED
Isabel K DarakjyAustraliaAsiya Javayant NEW
Antonio S NickaRussiaStephen Shaw NEGOTIATION
Jennifer G RutaRussiaElwin Sharvill UNQUALIFIED
Maisha I MacleadJapanOnyama Limba NEGOTIATION
Alejandro G WhobreyItalyAsiya Javayant RENEWAL
Leja R InouyeCanadaIvan Magalhaes NEW
Mayumi U CaldareraGermanyAnna Fali NEGOTIATION
Antonio B SchemmerGermanyElwin Sharvill NEGOTIATION
Cody G BriddickGermanyElwin Sharvill RENEWAL
Alejandro M AmigonCanadaAmy Elsner RENEWAL
James N GarufiArgentinaIvan Magalhaes PROPOSAL
Ricardo J VenereUnited KingdomAmy Elsner QUALIFIED
James H GauchoIndiaIoni Bowcher QUALIFIED
Cody P SchemmerUnited KingdomAmy Elsner QUALIFIED
Stacey Z MaletJapanOnyama Limba RENEWAL
Aruna O FlosiBrazilIoni Bowcher NEGOTIATION
Maisha X SergiFranceAmy Elsner QUALIFIED
Ricardo P NickaBrazilOnyama Limba NEW
Leon L FerenczJapanElwin Sharvill UNQUALIFIED
Adams T DoeSpainAsiya Javayant NEW
Deepesh J SchemmerJapanAmy Elsner NEW
Izzy P SergiFranceStephen Shaw QUALIFIED
Faith Z GauchoFranceElwin Sharvill RENEWAL
Izzy I AlbaresItalyStephen Shaw RENEWAL
Aika A DoeJapanElwin Sharvill RENEWAL
Claire M FlosiJapanAsiya Javayant NEW
Smith C StockhamAustraliaIvan Magalhaes QUALIFIED
Julie C VocelkaArgentinaAmy Elsner UNQUALIFIED
Mayumi Q MacleadJapanIvan Magalhaes PROPOSAL
Maisha D OldroydArgentinaOnyama Limba PROPOSAL
Jefferson S SergiCanadaBernardo Dominic NEGOTIATION
Arvin Y AlbaresGermanyIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Jennifer M Royster
Ivar Q Nicka
Nicolas E Bowley
Munro F Wieser
Jones M Glick
Aditya R Whobrey
Tony X Gaucho
Costa E Ostrosky
Costa L Sergi
Ashley Z Paprocki
Leon C Rulapaugh
Greenwood Z Caldarera
Julie N Stenseth
Mayumi B Waycott
Chavez H Foller
Aruna J Doe
Sinclair A Marrier
Kaitlin S Bowley
Kaitlin G Rulapaugh
Adams F Wieser
Arvin W Inouye
Maisha J Flosi
Octavia M Venere
Mujtaba P Dilliard
Emily M Marrier
Rodrigues K Caudy
Ashley D Doe
Aruna M Nicka
Jefferson U Nestle
Leja D Ruta
Adams A Chui
Adams P Caldarera
Antonio N Ruta
Leja U Ruta
Adams Z Saylors
Adams R Malet
Octavia I Rulapaugh
Mayumi M Ostrosky
Mayumi L Garufi
Antonio S Inouye
Claire A Kolmetz
Aika Y Ostrosky
Jefferson C Oldroyd
Juan Q Whobrey
Munro E Inouye
Rodrigues Q Chui
Isabel X Perin
Isabel J Rulapaugh
Mujtaba Q Foller
Kaitlin I Briddick
IdCountryDate
1000Brazil2024-06-19
1001Japan2024-06-06
1002Japan2024-06-12
1003Russia2024-06-12
1004Australia2024-06-09
1005France2024-05-31
1006United Kingdom2024-06-15
1007Germany2024-05-28
1008Germany2024-06-02
1009Germany2024-05-27
1010Brazil2024-05-31
1011Japan2024-06-12
1012Argentina2024-06-14
1013United Kingdom2024-06-20
1014Brazil2024-06-07
1015United Kingdom2024-06-04
1016France2024-06-09
1017Japan2024-06-02
1018United Kingdom2024-06-03
1019Argentina2024-05-27
1020Russia2024-06-13
1021Brazil2024-05-24
1022United Kingdom2024-05-26
1023Canada2024-06-03
1024Australia2024-06-09
1025Germany2024-06-03
1026Australia2024-05-29
1027Canada2024-06-18
1028Spain2024-06-03
1029France2024-06-07
1030Canada2024-06-14
1031Russia2024-06-20
1032France2024-06-08
1033India2024-05-31
1034Brazil2024-06-06
1035Brazil2024-06-18
1036Russia2024-06-20
1037Italy2024-06-13
1038Italy2024-06-06
1039Spain2024-06-20
1040Brazil2024-06-20
1041Canada2024-06-14
1042Spain2024-06-01
1043United Kingdom2024-06-02
1044India2024-06-11
1045Brazil2024-05-25
1046Japan2024-06-19
1047Japan2024-06-11
1048United Kingdom2024-05-23
1049Germany2024-06-01

On-Demand Data

NameIdCountryDate
Claire F Briddick1000France2024-06-06
Jones S Chui1001Italy2024-06-09
Julie S Saylors1002Russia2024-05-28
Jones Y Vocelka1003Japan2024-06-08
Arvin Y Rim1004Italy2024-06-19
Aika A Wieser1005United Kingdom2024-06-10
Jennifer B Saylors1006Germany2024-06-01
Nicolas X Kusko1007Canada2024-06-02
Deepesh S Oldroyd1008Russia2024-05-30
Aditya F Vocelka1009Argentina2024-05-29
Juan U Sergi1010Spain2024-06-14
Costa K Doe1011Germany2024-06-10
Izzy S Foller1012Australia2024-06-09
Johnson C Inouye1013Brazil2024-06-09
Alejandro P Darakjy1014Italy2024-06-06
Johnson Y Slusarski1015Italy2024-05-24
Maisha L Iturbide1016Australia2024-06-18
Sinclair M Shinko1017United Kingdom2024-06-04
Nicolas T Darakjy1018Australia2024-05-28
Murillo P Venere1019France2024-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow M InouyeGermanyIvan Magalhaes UNQUALIFIED
Ricardo R BowleySpainXuxue Feng NEGOTIATION
Alejandro E SlusarskiJapanElwin Sharvill RENEWAL
Rodrigues A SergiFranceElwin Sharvill NEGOTIATION
Jeanfrancois S BowleyRussiaAsiya Javayant UNQUALIFIED
Jeanfrancois N GlickJapanBernardo Dominic QUALIFIED
Silvio W NickaCanadaAnna Fali QUALIFIED
Greenwood A DarakjyArgentinaAmy Elsner NEGOTIATION
Misaki I SlusarskiJapanAnna Fali PROPOSAL
Antonio T VocelkaJapanElwin Sharvill NEGOTIATION
Ricardo D WaycottArgentinaIoni Bowcher QUALIFIED
Julie M PerinItalyElwin Sharvill PROPOSAL
Maisha G SaylorsGermanyAmy Elsner RENEWAL
Kadeem C StockhamUnited KingdomIoni Bowcher UNQUALIFIED
Ashley M SergiArgentinaAmy Elsner RENEWAL
Darci U AlbaresFranceIoni Bowcher PROPOSAL
Aika I DarakjyCanadaIoni Bowcher NEGOTIATION
Emily T WieserIndiaAmy Elsner PROPOSAL
Wickens M DarakjyCanadaElwin Sharvill NEGOTIATION
Wickens B IturbideSpainIvan Magalhaes PROPOSAL
Isabel Z OldroydAustraliaXuxue Feng UNQUALIFIED
Sinclair A SergiBrazilXuxue Feng NEW
Francesco T DoeSpainOnyama Limba QUALIFIED
Kadeem M SchemmerFranceIoni Bowcher UNQUALIFIED
Octavia H ChuiFranceOnyama Limba PROPOSAL
Aika X ChuiSpainXuxue Feng NEGOTIATION
Cody S PerinBrazilElwin Sharvill QUALIFIED
James R SergiSpainElwin Sharvill QUALIFIED
Johnson Y RimSpainElwin Sharvill QUALIFIED
Morrow U GauchoGermanyAmy Elsner UNQUALIFIED
Jennifer M StensethIndiaAsiya Javayant PROPOSAL
Julie A NestleSpainIvan Magalhaes NEW
Faith J GillianJapanElwin Sharvill PROPOSAL
Leja E OstroskyFranceAsiya Javayant NEW
Rodrigues W SergiRussiaIvan Magalhaes NEGOTIATION
Antonio T ChuiFranceOnyama Limba QUALIFIED
Emily F PoquetteUnited KingdomOnyama Limba RENEWAL
Salvatore B FollerArgentinaIoni Bowcher UNQUALIFIED
Rodrigues X BowleyJapanOnyama Limba NEGOTIATION
Stacey T CaldareraCanadaXuxue Feng 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>