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
Nicolas P BriddickItalyElwin Sharvill UNQUALIFIED
Stacey U CaldareraBrazilAnna Fali NEW
Deepesh R FigeroaBrazilElwin Sharvill RENEWAL
Juan Y MacleadRussiaElwin Sharvill NEW
Leja S MorascaBrazilBernardo Dominic PROPOSAL
Leja I NestleRussiaOnyama Limba NEW
Aditya D VocelkaAustraliaXuxue Feng QUALIFIED
Isabel G FigeroaGermanyIvan Magalhaes NEGOTIATION
Costa H DoeRussiaXuxue Feng NEGOTIATION
Costa O PerinAustraliaIoni Bowcher RENEWAL
Ivar F MacleadAustraliaBernardo Dominic QUALIFIED
Morrow F SchemmerIndiaStephen Shaw RENEWAL
Morrow F DoeSpainIoni Bowcher PROPOSAL
Rodrigues W InouyeCanadaAnna Fali RENEWAL
Jennifer B RulapaughAustraliaOnyama Limba PROPOSAL
Rodrigues K StensethItalyElwin Sharvill QUALIFIED
Juan L MaletItalyIvan Magalhaes NEW
Rodrigues M SchemmerArgentinaAmy Elsner QUALIFIED
Octavia P RutaUnited KingdomBernardo Dominic UNQUALIFIED
Munro B OldroydArgentinaElwin Sharvill PROPOSAL
Emily D ShinkoSpainAmy Elsner UNQUALIFIED
Maria K MaletSpainAsiya Javayant QUALIFIED
Octavia I PoquetteSpainAmy Elsner QUALIFIED
Izzy Z FerenczArgentinaElwin Sharvill NEGOTIATION
Tony X InouyeBrazilIoni Bowcher PROPOSAL
Kadeem Q CaldareraJapanElwin Sharvill QUALIFIED
Smith T PoquetteBrazilAmy Elsner UNQUALIFIED
Jones U BriddickJapanStephen Shaw PROPOSAL
Leja V OldroydJapanBernardo Dominic PROPOSAL
Salvatore N GauchoBrazilBernardo Dominic NEW
Julie J GlickItalyElwin Sharvill QUALIFIED
Ivar V OldroydRussiaAmy Elsner NEW
Maisha M CampainGermanyAnna Fali PROPOSAL
Adams N SaylorsRussiaIoni Bowcher NEGOTIATION
Octavia Z SlusarskiFranceXuxue Feng NEW
Rodrigues S WaycottJapanAmy Elsner RENEWAL
Misaki F NickaFranceAnna Fali QUALIFIED
Misaki C KuskoIndiaOnyama Limba UNQUALIFIED
Arvin N GauchoItalyIoni Bowcher QUALIFIED
Chavez G WhobreyIndiaOnyama Limba RENEWAL
Faith O ChuiArgentinaAsiya Javayant UNQUALIFIED
Aditya T FlosiSpainElwin Sharvill PROPOSAL
Johnson O VocelkaCanadaElwin Sharvill NEW
Ashley Q FlosiJapanXuxue Feng QUALIFIED
Jones F ButtJapanOnyama Limba NEGOTIATION
Silvio F MarrierCanadaAmy Elsner PROPOSAL
Johnson N OstroskyBrazilXuxue Feng UNQUALIFIED
Juan B AlbaresBrazilAsiya Javayant QUALIFIED
Arvin Y WieserJapanIoni Bowcher PROPOSAL
Jeanfrancois J NickaSpainOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Deepesh I KolmetzFranceBernardo Dominic NEGOTIATION
Nicolas O DilliardCanadaAsiya Javayant UNQUALIFIED
Ricardo X CampainArgentinaXuxue Feng NEGOTIATION
Misaki H GauchoGermanyElwin Sharvill NEW
Stacey K DilliardFranceAsiya Javayant NEGOTIATION
Nicolas W AlbaresBrazilIvan Magalhaes UNQUALIFIED
Smith X CampainArgentinaOnyama Limba UNQUALIFIED
Isabel J InouyeSpainOnyama Limba PROPOSAL
Octavia D PerinAustraliaXuxue Feng PROPOSAL
Munro Z BowleyItalyAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja S BowleyGermany2026-06-05Feltz Printing Service UNQUALIFIED1Bernardo Dominic
1001Jones Y InouyeAustralia2026-06-29Printing Dimensions QUALIFIED82Amy Elsner
1002Darci Q FollerUnited Kingdom2026-06-22Commercial Press PROPOSAL69Onyama Limba
1003Ivar L ChuiArgentina2026-06-03Benton, John B Jr NEW56Elwin Sharvill
1004Greenwood G CaldareraArgentina2026-06-25Commercial Press PROPOSAL29Amy Elsner
1005Rodrigues E RimGermany2026-06-06Dorl, James J Esq RENEWAL81Anna Fali
1006Aruna P ChuiFrance2026-06-03Rangoni Of Florence RENEWAL40Ivan Magalhaes
1007Mujtaba W TollnerJapan2026-06-04Truhlar And Truhlar Attys NEW6Asiya Javayant
1008Ivar B DilliardCanada2026-06-20Morlong Associates QUALIFIED92Stephen Shaw
1009Ivar T StockhamIndia2026-06-29Chanay, Jeffrey A Esq PROPOSAL25Onyama Limba
1010Emily N OstroskyCanada2026-06-08Rousseaux, Michael Esq RENEWAL48Elwin Sharvill
1011Aditya T GlickGermany2026-06-05Morlong Associates RENEWAL39Elwin Sharvill
1012Mayumi G TollnerRussia2026-06-22Morlong Associates NEGOTIATION88Onyama Limba
1013Clifford X GillianItaly2026-06-02Feiner Bros NEGOTIATION57Elwin Sharvill
1014Morrow E MarrierBrazil2026-06-06Buckley Miller Wright QUALIFIED0Anna Fali
1015Costa Q TollnerArgentina2026-06-07Rangoni Of Florence RENEWAL13Stephen Shaw
1016Morrow X CaudyArgentina2026-06-16Morlong Associates RENEWAL86Stephen Shaw
1017Ricardo V WieserAustralia2026-06-24Benton, John B Jr QUALIFIED49Ivan Magalhaes
1018Deepesh S BowleyArgentina2026-06-28Chanay, Jeffrey A Esq QUALIFIED70Amy Elsner
1019Mayumi A GarufiJapan2026-06-15Morlong Associates NEW57Anna Fali
1020Adams F RoysterAustralia2026-06-09Printing Dimensions PROPOSAL35Ioni Bowcher
1021Morrow C RimFrance2026-06-22Chapman, Ross E Esq PROPOSAL11Onyama Limba
1022Ashley D RutaRussia2026-06-29Commercial Press PROPOSAL0Amy Elsner
1023Emily Y NickaRussia2026-06-07Chanay, Jeffrey A Esq RENEWAL17Onyama Limba
1024Kaitlin J ButtIndia2026-06-06Feltz Printing Service NEGOTIATION26Anna Fali
1025Greenwood V ShinkoJapan2026-06-13Printing Dimensions NEW27Amy Elsner
1026Wickens Z BologniaArgentina2026-06-12King, Christopher A Esq RENEWAL86Asiya Javayant
1027Kadeem Q BowleyFrance2026-07-01Morlong Associates QUALIFIED50Ioni Bowcher
1028Munro Y VenereGermany2026-06-03Feiner Bros UNQUALIFIED49Xuxue Feng
1029Sinclair M AmigonSpain2026-06-09Morlong Associates PROPOSAL93Stephen Shaw
1030Kadeem T BowleyBrazil2026-06-18Morlong Associates UNQUALIFIED92Ioni Bowcher
1031Izzy H VenereUnited Kingdom2026-06-18Dorl, James J Esq RENEWAL29Stephen Shaw
1032Murillo X StensethFrance2026-06-15Chapman, Ross E Esq QUALIFIED76Ivan Magalhaes
1033Aika P VocelkaGermany2026-06-29Truhlar And Truhlar Attys NEW94Anna Fali
1034Chavez L GauchoArgentina2026-06-21Benton, John B Jr PROPOSAL5Asiya Javayant
1035Emily E VenereUnited Kingdom2026-06-02Chanay, Jeffrey A Esq UNQUALIFIED62Stephen Shaw
1036Stacey I BriddickIndia2026-06-09Chapman, Ross E Esq PROPOSAL74Bernardo Dominic
1037Leja V BowleyUnited Kingdom2026-06-23Rousseaux, Michael Esq UNQUALIFIED54Onyama Limba
1038Isabel O WaycottUnited Kingdom2026-06-23Rangoni Of Florence QUALIFIED63Asiya Javayant
1039Aruna V SlusarskiFrance2026-06-28Commercial Press NEGOTIATION75Xuxue Feng
1040Wickens U TollnerFrance2026-06-21Buckley Miller Wright UNQUALIFIED75Elwin Sharvill
1041Salvatore K MarrierFrance2026-06-22Benton, John B Jr NEGOTIATION4Ivan Magalhaes
1042Cody B DilliardFrance2026-06-19Benton, John B Jr PROPOSAL31Xuxue Feng
1043Ricardo V FigeroaGermany2026-06-07King, Christopher A Esq RENEWAL37Bernardo Dominic
1044Izzy U DoeFrance2026-06-16King, Christopher A Esq NEW49Ivan Magalhaes
1045Maisha L FigeroaGermany2026-06-14Chemel, James L Cpa NEW2Elwin Sharvill
1046Adams J ButtFrance2026-06-11Feltz Printing Service QUALIFIED74Xuxue Feng
1047Clifford L ShinkoAustralia2026-06-16Feltz Printing Service NEW54Anna Fali
1048Nicolas B CaldareraFrance2026-06-12Commercial Press RENEWAL48Anna Fali
1049Octavia B FlosiIndia2026-06-03Dorl, James J Esq QUALIFIED90Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Maria K MorascaRussiaAmy Elsner NEW
Alejandro C SaylorsCanadaAsiya Javayant RENEWAL
Claire L FollerArgentinaXuxue Feng PROPOSAL
Faith L PerinCanadaIoni Bowcher NEW
Kadeem D MaletIndiaBernardo Dominic NEGOTIATION
Izzy D StensethIndiaIoni Bowcher QUALIFIED
Greenwood A RulapaughBrazilElwin Sharvill PROPOSAL
Leon T GarufiRussiaXuxue Feng NEW
Sinclair R AmigonRussiaIoni Bowcher NEW
Cody Z RoysterSpainXuxue Feng NEW
Costa U OldroydSpainElwin Sharvill PROPOSAL
Jeanfrancois I ShinkoRussiaAmy Elsner QUALIFIED
Chavez Q ShinkoBrazilAmy Elsner RENEWAL
Jones O OstroskyIndiaXuxue Feng PROPOSAL
Wickens K AmigonSpainOnyama Limba PROPOSAL
Maisha R WieserItalyBernardo Dominic QUALIFIED
Arvin B CaldareraArgentinaAmy Elsner QUALIFIED
Tony G AmigonIndiaElwin Sharvill NEGOTIATION
Francesco X VocelkaIndiaBernardo Dominic NEW
Ashley M OldroydIndiaAnna Fali NEGOTIATION
Francesco M VocelkaJapanXuxue Feng QUALIFIED
Leja Q RoysterRussiaIoni Bowcher RENEWAL
Maria M OldroydRussiaAsiya Javayant PROPOSAL
Ricardo J RulapaughFranceAnna Fali PROPOSAL
Murillo U TollnerCanadaElwin Sharvill QUALIFIED
Emily E AmigonSpainStephen Shaw QUALIFIED
Rodrigues L RulapaughSpainAmy Elsner RENEWAL
Kadeem A PaprockiJapanOnyama Limba NEGOTIATION
Maria S FlosiRussiaAsiya Javayant NEW
Kadeem V MorascaIndiaElwin Sharvill NEGOTIATION
Munro Z FollerIndiaOnyama Limba PROPOSAL
Wickens U TollnerJapanBernardo Dominic NEGOTIATION
Kadeem T SergiGermanyOnyama Limba UNQUALIFIED
Ivar F PerinBrazilStephen Shaw NEW
Mayumi K BowleyUnited KingdomAsiya Javayant UNQUALIFIED
Maisha U MacleadFranceOnyama Limba PROPOSAL
Leja I CaudyAustraliaBernardo Dominic UNQUALIFIED
Julie I SlusarskiUnited KingdomElwin Sharvill UNQUALIFIED
Silvio F PerinJapanAnna Fali RENEWAL
Tony D CampainArgentinaAmy Elsner PROPOSAL
Clifford S CampainSpainAnna Fali NEGOTIATION
Antonio C RoysterIndiaIvan Magalhaes PROPOSAL
Costa O GauchoItalyOnyama Limba RENEWAL
Leja U VenereBrazilStephen Shaw QUALIFIED
James O BriddickArgentinaAsiya Javayant UNQUALIFIED
Adams M AlbaresSpainElwin Sharvill RENEWAL
Aruna L OstroskyRussiaXuxue Feng UNQUALIFIED
Cody F StensethSpainIoni Bowcher PROPOSAL
Julie W TollnerJapanAnna Fali QUALIFIED
Clifford X ButtAustraliaBernardo Dominic NEW
Frozen Columns
Name
Nicolas Z Nicka
Smith S Royster
Leon V Oldroyd
Jones G Dilliard
James Q Amigon
Silvio G Gaucho
Maisha A Darakjy
David C Darakjy
Chavez M Rim
Kaitlin Q Bowley
Antonio Y Chui
Nicolas M Whobrey
Nicolas K Royster
Mujtaba F Oldroyd
Leja T Nicka
Antonio M Poquette
Morrow Y Caldarera
Jeanfrancois P Marrier
Francesco H Saylors
Munro G Sergi
Julie W Malet
Maria Y Albares
Misaki B Paprocki
Clifford W Wieser
Mayumi M Malet
James L Shinko
Murillo T Albares
Silvio C Nestle
Emily M Briddick
Clifford Q Amigon
Silvio H Chui
Misaki E Nicka
Sinclair O Maclead
Julie X Shinko
Octavia I Foller
Morrow L Foller
Leon W Stenseth
Jones B Iturbide
Cody W Paprocki
Mayumi O Ostrosky
Adams A Butt
Murillo W Poquette
Maisha R Nestle
Jefferson M Campain
Deepesh Z Butt
Aika A Amigon
Ivar Z Kusko
Wickens E Slusarski
Clifford W Malet
Emily R Whobrey
IdCountryDate
1000Australia2026-06-25
1001Italy2026-06-19
1002Russia2026-06-13
1003Canada2026-06-22
1004Germany2026-06-26
1005France2026-06-28
1006Argentina2026-06-22
1007Brazil2026-06-08
1008Germany2026-06-19
1009France2026-06-29
1010India2026-06-20
1011Argentina2026-06-24
1012Brazil2026-06-26
1013Australia2026-06-17
1014Germany2026-06-23
1015Brazil2026-06-27
1016Italy2026-06-06
1017Brazil2026-06-13
1018Canada2026-06-11
1019United Kingdom2026-06-20
1020Argentina2026-06-19
1021Japan2026-06-24
1022Germany2026-06-08
1023Germany2026-06-08
1024Brazil2026-06-22
1025Italy2026-06-14
1026Argentina2026-06-06
1027Brazil2026-06-13
1028Spain2026-06-03
1029Japan2026-06-04
1030Japan2026-06-10
1031Russia2026-06-16
1032Italy2026-06-28
1033Argentina2026-06-22
1034United Kingdom2026-06-22
1035Italy2026-06-22
1036India2026-06-16
1037Germany2026-06-20
1038Argentina2026-06-05
1039France2026-06-30
1040France2026-06-18
1041Canada2026-06-30
1042Germany2026-06-22
1043Argentina2026-06-21
1044Germany2026-06-12
1045Australia2026-07-01
1046Germany2026-06-04
1047Canada2026-06-27
1048United Kingdom2026-06-06
1049Italy2026-06-23

On-Demand Data

NameIdCountryDate
Morrow T Dilliard1000Russia2026-06-07
Costa Q Chui1001Canada2026-06-23
David U Amigon1002Germany2026-06-17
Jeanfrancois O Rulapaugh1003Japan2026-06-21
Costa E Wieser1004France2026-06-29
Emily O Bowley1005Canada2026-06-08
Faith O Doe1006Italy2026-06-27
Kaitlin A Venere1007Brazil2026-06-08
Juan O Dilliard1008Brazil2026-06-07
David N Tollner1009Brazil2026-06-03
Antonio O Venere1010Russia2026-06-20
Sinclair T Bolognia1011Brazil2026-06-17
Tony J Foller1012Argentina2026-06-08
Kaitlin X Malet1013Argentina2026-06-06
Alejandro L Vocelka1014Russia2026-06-25
Maisha M Inouye1015Brazil2026-06-03
Chavez S Wieser1016Germany2026-06-10
Izzy I Gillian1017Australia2026-06-04
Darci W Doe1018Australia2026-06-18
Leon J Malet1019Canada2026-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja Y GillianFranceAnna Fali NEW
Kaitlin D CaldareraJapanElwin Sharvill UNQUALIFIED
Claire Z SergiAustraliaAnna Fali NEGOTIATION
Antonio X PaprockiUnited KingdomStephen Shaw RENEWAL
James R PerinAustraliaOnyama Limba RENEWAL
Johnson G VenereItalyIvan Magalhaes NEGOTIATION
Isabel I StockhamJapanXuxue Feng QUALIFIED
Misaki V OstroskyAustraliaAnna Fali UNQUALIFIED
Chavez D NestleCanadaXuxue Feng RENEWAL
Clifford J PaprockiBrazilAnna Fali NEGOTIATION
Clifford M VenereBrazilIoni Bowcher UNQUALIFIED
Juan U OstroskyGermanyBernardo Dominic UNQUALIFIED
Antonio U FlosiRussiaBernardo Dominic NEW
Jones U KuskoGermanyStephen Shaw QUALIFIED
Mayumi F PoquetteCanadaOnyama Limba NEW
Ricardo G PaprockiFranceAsiya Javayant NEGOTIATION
Emily B MacleadUnited KingdomIvan Magalhaes NEGOTIATION
Kadeem L StockhamSpainBernardo Dominic QUALIFIED
Aruna K KolmetzUnited KingdomAnna Fali NEGOTIATION
James E DarakjyCanadaBernardo Dominic NEW
Jeanfrancois A AmigonRussiaBernardo Dominic NEW
Leon E SergiIndiaBernardo Dominic NEGOTIATION
Julie B ChuiFranceAmy Elsner NEGOTIATION
Julie Z WieserIndiaAmy Elsner PROPOSAL
Maisha J MaletItalyXuxue Feng PROPOSAL
Tony J RutaGermanyStephen Shaw NEW
Johnson K CaudyRussiaStephen Shaw UNQUALIFIED
Emily L KuskoJapanAmy Elsner NEW
Claire P MaletAustraliaXuxue Feng UNQUALIFIED
Silvio B StensethSpainIoni Bowcher UNQUALIFIED
Maisha M RoysterItalyAmy Elsner PROPOSAL
Deepesh M CaudyRussiaOnyama Limba PROPOSAL
Misaki X CaldareraGermanyAmy Elsner NEW
Maisha H PoquetteCanadaAmy Elsner NEW
Ashley C NickaSpainBernardo Dominic PROPOSAL
Isabel I IturbideIndiaAsiya Javayant QUALIFIED
Ivar P StockhamCanadaIoni Bowcher RENEWAL
Jones V WieserBrazilIvan Magalhaes PROPOSAL
Darci O MacleadUnited KingdomAsiya Javayant RENEWAL
Ricardo I InouyeBrazilAsiya Javayant QUALIFIED

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