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
Emily N DarakjyUnited KingdomAnna Fali PROPOSAL
Ivar W KuskoSpainBernardo Dominic NEW
Darci U RutaGermanyAsiya Javayant NEW
Maria T IturbideAustraliaXuxue Feng PROPOSAL
Juan F BriddickItalyBernardo Dominic UNQUALIFIED
Smith L BriddickItalyStephen Shaw PROPOSAL
Costa F OldroydItalyIvan Magalhaes PROPOSAL
Johnson U DilliardArgentinaAmy Elsner PROPOSAL
Johnson V WaycottFranceAsiya Javayant UNQUALIFIED
Izzy L CampainArgentinaXuxue Feng NEW
Salvatore K RutaItalyOnyama Limba QUALIFIED
Emily L OstroskyItalyIoni Bowcher RENEWAL
Aruna G ChuiUnited KingdomIoni Bowcher NEW
Morrow B InouyeRussiaBernardo Dominic UNQUALIFIED
Rodrigues E PaprockiItalyAnna Fali UNQUALIFIED
Misaki B DilliardCanadaIoni Bowcher NEGOTIATION
Faith W BriddickBrazilBernardo Dominic PROPOSAL
Maria F VocelkaItalyStephen Shaw QUALIFIED
Sinclair A DilliardFranceIoni Bowcher QUALIFIED
Mujtaba K FigeroaJapanIoni Bowcher UNQUALIFIED
Rodrigues M CaudySpainXuxue Feng PROPOSAL
Antonio M AmigonCanadaAnna Fali RENEWAL
Ricardo T OldroydRussiaStephen Shaw QUALIFIED
Jones M NestleFranceAmy Elsner NEW
Johnson P DilliardFranceElwin Sharvill UNQUALIFIED
Emily W WieserCanadaXuxue Feng QUALIFIED
Leja E AmigonJapanOnyama Limba QUALIFIED
David E AlbaresRussiaOnyama Limba NEW
Johnson U RoysterArgentinaAnna Fali RENEWAL
Mujtaba I GlickCanadaIvan Magalhaes QUALIFIED
Sinclair B FerenczCanadaIoni Bowcher QUALIFIED
Costa X InouyeIndiaXuxue Feng QUALIFIED
Arvin W FlosiRussiaIoni Bowcher UNQUALIFIED
Francesco V GillianRussiaIoni Bowcher NEGOTIATION
James J FollerIndiaAmy Elsner QUALIFIED
Jefferson N CampainRussiaAmy Elsner RENEWAL
Izzy R BowleyUnited KingdomStephen Shaw UNQUALIFIED
Salvatore Z ChuiUnited KingdomStephen Shaw NEGOTIATION
Cody X DoeUnited KingdomAmy Elsner NEW
Chavez L BowleyBrazilAnna Fali RENEWAL
Kadeem S CampainArgentinaAnna Fali UNQUALIFIED
Wickens Y VenereBrazilAnna Fali QUALIFIED
Juan E CaldareraSpainOnyama Limba UNQUALIFIED
Mujtaba F MaletFranceOnyama Limba QUALIFIED
Stacey O FerenczRussiaStephen Shaw UNQUALIFIED
Murillo D CaudyUnited KingdomAnna Fali RENEWAL
Aruna E PerinFranceXuxue Feng RENEWAL
Johnson S RoysterSpainBernardo Dominic PROPOSAL
Silvio Q MacleadSpainElwin Sharvill RENEWAL
Stacey X AlbaresCanadaXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Costa J VocelkaCanadaElwin Sharvill NEGOTIATION
Jones J SlusarskiUnited KingdomBernardo Dominic NEW
Maria Q FigeroaItalyOnyama Limba NEGOTIATION
Jefferson M FigeroaCanadaXuxue Feng PROPOSAL
Wickens U DilliardBrazilBernardo Dominic UNQUALIFIED
Darci C ChuiRussiaAnna Fali NEW
Jones Z FollerItalyElwin Sharvill PROPOSAL
Maria H MarrierBrazilIvan Magalhaes RENEWAL
James L ButtRussiaOnyama Limba RENEWAL
Isabel F CampainRussiaAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh C MacleadFrance2024-05-25Chanay, Jeffrey A Esq NEGOTIATION60Ioni Bowcher
1001Greenwood W AlbaresJapan2024-06-10Printing Dimensions RENEWAL82Onyama Limba
1002Leja C CaldareraFrance2024-06-21King, Christopher A Esq NEGOTIATION47Elwin Sharvill
1003Juan D FlosiGermany2024-06-03Rousseaux, Michael Esq UNQUALIFIED91Anna Fali
1004Ivar L WieserIndia2024-06-12Rangoni Of Florence PROPOSAL0Ivan Magalhaes
1005Alejandro S GillianAustralia2024-06-21Chemel, James L Cpa UNQUALIFIED23Onyama Limba
1006Aika Y KuskoCanada2024-06-12Commercial Press PROPOSAL19Ivan Magalhaes
1007Tony Q FollerIndia2024-05-24Truhlar And Truhlar Attys UNQUALIFIED49Ioni Bowcher
1008Julie W GlickArgentina2024-06-15King, Christopher A Esq RENEWAL97Amy Elsner
1009Emily Z CampainAustralia2024-06-04Rangoni Of Florence UNQUALIFIED50Ioni Bowcher
1010Maisha V GauchoIndia2024-06-01Morlong Associates NEGOTIATION57Asiya Javayant
1011Tony R GlickUnited Kingdom2024-06-21Dorl, James J Esq UNQUALIFIED51Anna Fali
1012Octavia Q PerinBrazil2024-05-25Truhlar And Truhlar Attys NEGOTIATION95Ioni Bowcher
1013Juan H AmigonJapan2024-06-08Commercial Press QUALIFIED44Onyama Limba
1014James I BriddickIndia2024-06-19Feiner Bros NEW51Onyama Limba
1015Arvin Y RoysterSpain2024-05-26Chapman, Ross E Esq UNQUALIFIED10Amy Elsner
1016Mayumi H PerinItaly2024-05-28Rousseaux, Michael Esq RENEWAL29Stephen Shaw
1017Costa C GarufiCanada2024-06-21Truhlar And Truhlar Attys NEW45Onyama Limba
1018Chavez S FollerIndia2024-05-28Commercial Press QUALIFIED12Anna Fali
1019Rodrigues L FollerAustralia2024-06-15King, Christopher A Esq NEW60Anna Fali
1020Jones E RoysterAustralia2024-06-03Feltz Printing Service NEGOTIATION4Xuxue Feng
1021Maisha J ButtFrance2024-05-31Chemel, James L Cpa NEW67Elwin Sharvill
1022Jeanfrancois J WhobreyCanada2024-05-24Morlong Associates NEGOTIATION18Anna Fali
1023Izzy E StockhamFrance2024-06-08Morlong Associates QUALIFIED62Stephen Shaw
1024Wickens A MaletGermany2024-06-05Truhlar And Truhlar Attys NEW77Bernardo Dominic
1025Francesco I StensethFrance2024-05-23Morlong Associates NEGOTIATION50Bernardo Dominic
1026Morrow E SergiIndia2024-06-08Morlong Associates UNQUALIFIED78Amy Elsner
1027Izzy S BowleyCanada2024-06-17Feltz Printing Service PROPOSAL40Bernardo Dominic
1028Stacey Q VocelkaJapan2024-06-10Rangoni Of Florence NEGOTIATION50Ivan Magalhaes
1029Chavez Z FerenczBrazil2024-06-10Rangoni Of Florence NEGOTIATION82Asiya Javayant
1030Francesco K BologniaRussia2024-06-07Morlong Associates PROPOSAL14Anna Fali
1031Antonio F RimArgentina2024-06-21Buckley Miller Wright PROPOSAL37Ivan Magalhaes
1032James A PerinArgentina2024-06-15Benton, John B Jr RENEWAL21Bernardo Dominic
1033Misaki Z GauchoBrazil2024-06-04Benton, John B Jr NEW6Bernardo Dominic
1034Chavez S BriddickCanada2024-05-25Feltz Printing Service NEW70Asiya Javayant
1035Julie I FigeroaFrance2024-06-16Feiner Bros QUALIFIED66Ioni Bowcher
1036Costa B GauchoIndia2024-06-09Feltz Printing Service RENEWAL13Asiya Javayant
1037Octavia N GarufiItaly2024-05-27Morlong Associates RENEWAL12Amy Elsner
1038Leon X BriddickItaly2024-06-04Printing Dimensions PROPOSAL58Xuxue Feng
1039Stacey O FigeroaArgentina2024-06-13Commercial Press NEGOTIATION74Anna Fali
1040Smith A IturbideBrazil2024-06-06Feltz Printing Service PROPOSAL7Elwin Sharvill
1041Claire K StockhamAustralia2024-05-30Chapman, Ross E Esq UNQUALIFIED61Elwin Sharvill
1042Wickens W ChuiUnited Kingdom2024-06-17Truhlar And Truhlar Attys PROPOSAL80Amy Elsner
1043Kadeem G IturbideAustralia2024-06-14Commercial Press RENEWAL65Xuxue Feng
1044Claire I ShinkoAustralia2024-06-18King, Christopher A Esq RENEWAL17Ioni Bowcher
1045David F StensethItaly2024-06-06Rousseaux, Michael Esq UNQUALIFIED10Ivan Magalhaes
1046Jefferson V ChuiIndia2024-06-14Chapman, Ross E Esq QUALIFIED3Bernardo Dominic
1047Stacey B FollerArgentina2024-06-19Printing Dimensions UNQUALIFIED56Anna Fali
1048Faith O FigeroaAustralia2024-06-04Feiner Bros NEGOTIATION30Onyama Limba
1049Arvin Z RoysterJapan2024-06-09Benton, John B Jr UNQUALIFIED45Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Clifford O VenereRussiaBernardo Dominic UNQUALIFIED
Nicolas D VenereBrazilXuxue Feng RENEWAL
David P BologniaItalyXuxue Feng QUALIFIED
Deepesh J SergiUnited KingdomAmy Elsner UNQUALIFIED
Aika F OstroskyFranceAmy Elsner PROPOSAL
Ricardo T BowleyArgentinaAsiya Javayant NEW
Ricardo O VenereUnited KingdomAmy Elsner RENEWAL
Kaitlin Q RimJapanStephen Shaw QUALIFIED
Jefferson E MorascaAustraliaIvan Magalhaes NEW
Octavia R CaudyCanadaOnyama Limba RENEWAL
Kaitlin C StensethArgentinaElwin Sharvill PROPOSAL
Maisha Q OstroskySpainStephen Shaw UNQUALIFIED
James H OstroskyCanadaIoni Bowcher NEW
Clifford T BologniaFranceOnyama Limba UNQUALIFIED
Maria M MaletSpainOnyama Limba PROPOSAL
Ivar G NickaRussiaElwin Sharvill NEGOTIATION
Cody S FerenczSpainBernardo Dominic QUALIFIED
Adams K TollnerArgentinaIoni Bowcher UNQUALIFIED
Ricardo O OstroskyJapanOnyama Limba NEGOTIATION
Rodrigues S SlusarskiSpainOnyama Limba UNQUALIFIED
Jennifer J AlbaresUnited KingdomXuxue Feng QUALIFIED
Darci T RoysterFranceStephen Shaw RENEWAL
Wickens W TollnerSpainOnyama Limba NEW
Maria V SlusarskiUnited KingdomElwin Sharvill UNQUALIFIED
Emily D DarakjyIndiaIvan Magalhaes UNQUALIFIED
Kaitlin L PaprockiUnited KingdomAmy Elsner NEGOTIATION
Costa S OstroskyItalyOnyama Limba NEW
Greenwood D PoquetteArgentinaIvan Magalhaes NEGOTIATION
Misaki V FlosiArgentinaAnna Fali QUALIFIED
Leja U ShinkoFranceIoni Bowcher UNQUALIFIED
Darci N CampainRussiaIvan Magalhaes QUALIFIED
Johnson K MacleadJapanAsiya Javayant QUALIFIED
Ashley A KuskoSpainOnyama Limba NEGOTIATION
James N MaletArgentinaElwin Sharvill NEW
Costa T NickaJapanAsiya Javayant PROPOSAL
Julie X RoysterCanadaAnna Fali UNQUALIFIED
Faith P RoysterRussiaAsiya Javayant QUALIFIED
Jennifer D AmigonIndiaElwin Sharvill QUALIFIED
Jennifer L DarakjyGermanyElwin Sharvill QUALIFIED
Morrow H NestleItalyAnna Fali PROPOSAL
Aditya C FlosiFranceStephen Shaw RENEWAL
Octavia Q StockhamBrazilAnna Fali RENEWAL
Leon F RutaItalyStephen Shaw NEGOTIATION
Aika K GillianFranceAsiya Javayant RENEWAL
Adams J VenereGermanyElwin Sharvill NEW
Ashley Z KuskoFranceStephen Shaw RENEWAL
Isabel P RulapaughAustraliaIvan Magalhaes PROPOSAL
Ashley A FlosiFranceBernardo Dominic UNQUALIFIED
Rodrigues B DilliardSpainAmy Elsner RENEWAL
Isabel U TollnerRussiaAmy Elsner UNQUALIFIED
Frozen Columns
Name
Cody B Garufi
Alejandro X Nicka
Isabel J Darakjy
Smith Z Oldroyd
Isabel I Oldroyd
Morrow V Garufi
Isabel K Stockham
Tony M Paprocki
Darci C Ostrosky
Stacey F Venere
Izzy V Morasca
Nicolas B Malet
Murillo V Stockham
Mayumi A Gaucho
Mujtaba P Inouye
Greenwood U Gillian
Mayumi H Iturbide
Silvio O Rulapaugh
Octavia M Flosi
Faith Q Tollner
Faith M Slusarski
Smith E Waycott
Adams Z Stockham
Jeanfrancois R Figeroa
David N Malet
Leja A Wieser
Murillo E Kolmetz
Izzy C Campain
Tony C Garufi
Kaitlin V Doe
Emily H Caudy
Kaitlin B Caldarera
Sinclair U Ferencz
Smith G Nestle
Kaitlin Y Oldroyd
Emily T Slusarski
Alejandro F Garufi
Morrow A Sergi
Maria Q Chui
Aika Y Rulapaugh
Francesco M Figeroa
Nicolas F Caudy
Adams Q Marrier
Juan C Butt
Stacey V Dilliard
David F Maclead
Morrow J Darakjy
Leon E Ruta
Leja W Rulapaugh
Morrow T Campain
IdCountryDate
1000India2024-06-14
1001India2024-06-11
1002Japan2024-05-28
1003Australia2024-05-26
1004United Kingdom2024-06-12
1005Germany2024-05-26
1006Russia2024-06-18
1007United Kingdom2024-05-25
1008Germany2024-06-18
1009Italy2024-05-24
1010Germany2024-05-25
1011France2024-06-15
1012Italy2024-06-06
1013Italy2024-06-13
1014Russia2024-06-05
1015Japan2024-06-19
1016Germany2024-05-27
1017Japan2024-06-13
1018Argentina2024-05-24
1019India2024-06-03
1020Japan2024-06-18
1021Italy2024-06-11
1022Germany2024-06-02
1023Italy2024-06-10
1024Argentina2024-06-21
1025Germany2024-06-07
1026United Kingdom2024-05-23
1027Canada2024-06-01
1028Russia2024-06-11
1029Spain2024-06-09
1030Japan2024-06-19
1031France2024-05-26
1032United Kingdom2024-06-11
1033Germany2024-06-09
1034Brazil2024-06-07
1035Italy2024-05-30
1036Brazil2024-06-12
1037Japan2024-06-18
1038Brazil2024-06-07
1039Brazil2024-05-25
1040Germany2024-05-23
1041Spain2024-06-20
1042India2024-06-10
1043Italy2024-05-30
1044Russia2024-06-11
1045Japan2024-06-19
1046Japan2024-05-29
1047United Kingdom2024-05-28
1048Japan2024-06-06
1049Germany2024-05-30

On-Demand Data

NameIdCountryDate
Adams L Gillian1000France2024-05-30
Alejandro G Wieser1001Russia2024-06-20
Leon L Rim1002France2024-06-07
Octavia U Flosi1003France2024-06-21
Ashley J Perin1004Italy2024-05-23
Claire W Amigon1005Canada2024-05-30
Jeanfrancois V Dilliard1006United Kingdom2024-06-03
Leon K Shinko1007Russia2024-06-17
Tony O Paprocki1008Germany2024-05-29
Wickens W Figeroa1009France2024-06-19
Tony R Shinko1010France2024-06-10
Greenwood W Caudy1011Germany2024-05-23
Alejandro C Dilliard1012Argentina2024-06-07
Octavia J Amigon1013Brazil2024-06-13
Aditya E Marrier1014Australia2024-05-29
David V Sergi1015Argentina2024-06-11
Cody K Saylors1016Brazil2024-06-11
Jennifer Y Venere1017Canada2024-06-08
Kaitlin G Bolognia1018Brazil2024-05-28
Arvin R Oldroyd1019United Kingdom2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair A FigeroaJapanIvan Magalhaes NEW
Kadeem Q StensethFranceAmy Elsner RENEWAL
Leja Y SergiBrazilXuxue Feng RENEWAL
Jones P ButtArgentinaOnyama Limba QUALIFIED
Faith U SlusarskiItalyIoni Bowcher RENEWAL
Jeanfrancois J SlusarskiFranceXuxue Feng NEGOTIATION
Emily A RimArgentinaIvan Magalhaes NEGOTIATION
Leon F PoquetteRussiaIoni Bowcher NEW
Mujtaba B SaylorsSpainIoni Bowcher NEGOTIATION
Antonio B GauchoUnited KingdomIvan Magalhaes PROPOSAL
Munro Z GarufiItalyXuxue Feng QUALIFIED
Jefferson L SergiFranceAmy Elsner QUALIFIED
Costa N CaudyRussiaOnyama Limba UNQUALIFIED
Sinclair J SlusarskiUnited KingdomIvan Magalhaes UNQUALIFIED
Mujtaba E SlusarskiIndiaIvan Magalhaes RENEWAL
Smith J GillianIndiaOnyama Limba QUALIFIED
Stacey O CaudyRussiaIvan Magalhaes PROPOSAL
Darci V OldroydSpainXuxue Feng QUALIFIED
Mayumi K FerenczArgentinaIvan Magalhaes UNQUALIFIED
Salvatore F MaletFranceIvan Magalhaes PROPOSAL
Antonio F NestleArgentinaAmy Elsner NEGOTIATION
Jefferson B DoeAustraliaIoni Bowcher UNQUALIFIED
Francesco O DarakjyBrazilOnyama Limba NEGOTIATION
Chavez G MarrierIndiaOnyama Limba QUALIFIED
Isabel B RimAustraliaBernardo Dominic PROPOSAL
Claire G FerenczBrazilElwin Sharvill RENEWAL
Leja S KuskoGermanyIoni Bowcher UNQUALIFIED
Johnson J ChuiGermanyStephen Shaw RENEWAL
David B MacleadJapanIvan Magalhaes QUALIFIED
Salvatore U MorascaItalyOnyama Limba QUALIFIED
Tony W AlbaresIndiaXuxue Feng NEW
Morrow F SlusarskiRussiaAsiya Javayant RENEWAL
Ricardo S BowleyGermanyXuxue Feng NEGOTIATION
Kadeem B SaylorsIndiaIoni Bowcher NEGOTIATION
Kadeem S MorascaGermanyOnyama Limba UNQUALIFIED
David Y GauchoFranceAsiya Javayant QUALIFIED
Isabel Y WieserAustraliaIvan Magalhaes QUALIFIED
Kaitlin M GauchoFranceAmy Elsner UNQUALIFIED
Jeanfrancois I KuskoCanadaIvan Magalhaes UNQUALIFIED
Julie Q SergiFranceAmy Elsner NEGOTIATION

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