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
Faith U WhobreyCanadaIoni Bowcher PROPOSAL
Maria T StockhamSpainAnna Fali NEW
Francesco U FerenczRussiaAnna Fali UNQUALIFIED
Mayumi S GauchoGermanyIvan Magalhaes NEW
Emily I OstroskyCanadaAnna Fali NEGOTIATION
Darci D GauchoCanadaBernardo Dominic NEW
Mayumi F FlosiArgentinaAmy Elsner UNQUALIFIED
Isabel R VocelkaIndiaIvan Magalhaes NEW
Aditya M CaldareraSpainOnyama Limba NEW
Kaitlin Q DoeCanadaAnna Fali RENEWAL
Kaitlin B WaycottBrazilAnna Fali NEW
Morrow S GarufiGermanyAnna Fali UNQUALIFIED
Antonio R OstroskyArgentinaOnyama Limba NEGOTIATION
Izzy Q TollnerFranceIoni Bowcher RENEWAL
Johnson C KolmetzAustraliaAnna Fali PROPOSAL
Leja G GlickUnited KingdomAnna Fali NEW
Misaki P StensethGermanyAmy Elsner NEW
Emily W MacleadAustraliaXuxue Feng RENEWAL
Silvio K TollnerGermanyElwin Sharvill QUALIFIED
Isabel U SaylorsJapanStephen Shaw QUALIFIED
Leon Y GlickIndiaIoni Bowcher NEW
Sinclair N MacleadIndiaAmy Elsner PROPOSAL
Leon I KolmetzFranceBernardo Dominic PROPOSAL
Nicolas Z ChuiGermanyStephen Shaw NEGOTIATION
Smith V MarrierCanadaIvan Magalhaes NEW
Juan U OldroydAustraliaAmy Elsner RENEWAL
Rodrigues X FigeroaIndiaStephen Shaw UNQUALIFIED
Clifford R IturbideFranceAnna Fali PROPOSAL
Francesco D GauchoAustraliaOnyama Limba UNQUALIFIED
Octavia G MacleadIndiaAnna Fali RENEWAL
Darci R GillianCanadaAmy Elsner PROPOSAL
Aika S TollnerBrazilOnyama Limba NEW
Juan H RimGermanyStephen Shaw PROPOSAL
Misaki C DarakjyJapanOnyama Limba NEW
Wickens A OldroydFranceStephen Shaw PROPOSAL
Greenwood B MacleadSpainIvan Magalhaes NEW
Wickens O GlickGermanyAmy Elsner QUALIFIED
Maria O MarrierFranceAmy Elsner UNQUALIFIED
Antonio D GarufiJapanOnyama Limba NEW
Francesco R BowleyIndiaIvan Magalhaes UNQUALIFIED
Costa Z VenereIndiaXuxue Feng NEW
Julie O WhobreyFranceBernardo Dominic RENEWAL
Arvin S DoeFranceBernardo Dominic UNQUALIFIED
Rodrigues Z KuskoIndiaXuxue Feng NEW
Aditya V MorascaArgentinaStephen Shaw RENEWAL
Misaki J WieserFranceAsiya Javayant RENEWAL
Misaki D CampainUnited KingdomAsiya Javayant NEGOTIATION
Julie Z BowleySpainIoni Bowcher UNQUALIFIED
Smith Z NestleBrazilElwin Sharvill PROPOSAL
Johnson R RutaArgentinaBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Darci R AlbaresArgentinaBernardo Dominic UNQUALIFIED
Aditya M GauchoArgentinaXuxue Feng PROPOSAL
Antonio C CaudyAustraliaIvan Magalhaes RENEWAL
Arvin I PerinGermanyXuxue Feng RENEWAL
Chavez I MacleadGermanyAnna Fali QUALIFIED
Maria E ChuiGermanyIoni Bowcher RENEWAL
Alejandro X StensethJapanStephen Shaw RENEWAL
Leja K MarrierGermanyAmy Elsner QUALIFIED
Arvin F VocelkaJapanOnyama Limba NEGOTIATION
Costa G OldroydUnited KingdomElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro D MacleadAustralia2024-06-03Benton, John B Jr PROPOSAL96Anna Fali
1001James H ChuiCanada2024-06-09Feltz Printing Service NEGOTIATION86Asiya Javayant
1002Morrow F SaylorsCanada2024-06-01Rangoni Of Florence PROPOSAL53Xuxue Feng
1003Wickens S FlosiSpain2024-05-19Commercial Press RENEWAL27Stephen Shaw
1004Sinclair B MaletBrazil2024-05-29Chemel, James L Cpa QUALIFIED35Anna Fali
1005Francesco K NestleArgentina2024-06-01Commercial Press NEW90Stephen Shaw
1006Clifford Q NestleGermany2024-06-07Dorl, James J Esq UNQUALIFIED2Xuxue Feng
1007Murillo U WaycottFrance2024-05-29Dorl, James J Esq NEW17Asiya Javayant
1008Leon L GarufiUnited Kingdom2024-06-01Truhlar And Truhlar Attys PROPOSAL48Asiya Javayant
1009Mujtaba M ButtCanada2024-05-29Morlong Associates UNQUALIFIED28Ivan Magalhaes
1010Murillo L OldroydIndia2024-05-23Morlong Associates QUALIFIED22Onyama Limba
1011Alejandro N FigeroaItaly2024-06-06Buckley Miller Wright UNQUALIFIED76Ioni Bowcher
1012Arvin M KuskoUnited Kingdom2024-05-22Feltz Printing Service UNQUALIFIED82Amy Elsner
1013Rodrigues Z PoquetteSpain2024-06-07Commercial Press UNQUALIFIED42Ivan Magalhaes
1014Ivar A WaycottGermany2024-06-03Feltz Printing Service UNQUALIFIED4Ivan Magalhaes
1015Costa J DarakjyUnited Kingdom2024-06-10Rangoni Of Florence NEGOTIATION69Bernardo Dominic
1016Leja P VenereRussia2024-05-28Morlong Associates NEW39Ioni Bowcher
1017Mujtaba M ButtAustralia2024-06-07Commercial Press NEW27Ivan Magalhaes
1018Emily X InouyeGermany2024-05-26Rousseaux, Michael Esq UNQUALIFIED96Elwin Sharvill
1019Julie Y CampainCanada2024-06-06Truhlar And Truhlar Attys PROPOSAL88Xuxue Feng
1020Leon A FollerGermany2024-05-20Commercial Press PROPOSAL82Amy Elsner
1021James Q VenereBrazil2024-05-28Feiner Bros NEW75Elwin Sharvill
1022Chavez S MaletRussia2024-06-04Buckley Miller Wright QUALIFIED41Xuxue Feng
1023Jeanfrancois G OstroskyBrazil2024-05-24King, Christopher A Esq PROPOSAL15Amy Elsner
1024Ashley S PaprockiJapan2024-06-09Benton, John B Jr RENEWAL50Amy Elsner
1025Tony A NickaGermany2024-06-09Chapman, Ross E Esq QUALIFIED10Anna Fali
1026Leon T KuskoAustralia2024-05-30Dorl, James J Esq PROPOSAL62Asiya Javayant
1027Stacey W DoeCanada2024-05-21Rangoni Of Florence NEGOTIATION31Stephen Shaw
1028Aditya Z BriddickUnited Kingdom2024-06-01Benton, John B Jr RENEWAL32Bernardo Dominic
1029Arvin R ChuiUnited Kingdom2024-06-03Buckley Miller Wright NEW22Elwin Sharvill
1030James Q VenereRussia2024-05-25Rousseaux, Michael Esq UNQUALIFIED58Asiya Javayant
1031Kadeem R FigeroaUnited Kingdom2024-06-04Printing Dimensions PROPOSAL75Elwin Sharvill
1032Antonio S RulapaughCanada2024-05-26Chapman, Ross E Esq UNQUALIFIED2Asiya Javayant
1033Misaki B MarrierRussia2024-05-30Chemel, James L Cpa NEW69Amy Elsner
1034Nicolas P MarrierItaly2024-06-16Chapman, Ross E Esq PROPOSAL91Ivan Magalhaes
1035Salvatore C MaletUnited Kingdom2024-05-23Dorl, James J Esq NEW43Asiya Javayant
1036Kadeem O RoysterIndia2024-05-21Feiner Bros RENEWAL0Ioni Bowcher
1037Claire X CampainJapan2024-06-14Printing Dimensions NEW95Stephen Shaw
1038Chavez A OldroydAustralia2024-06-12Feltz Printing Service UNQUALIFIED60Onyama Limba
1039Ricardo N RoysterFrance2024-06-11Chapman, Ross E Esq UNQUALIFIED48Ioni Bowcher
1040Salvatore S RoysterUnited Kingdom2024-06-06Buckley Miller Wright NEGOTIATION33Onyama Limba
1041Morrow C KolmetzRussia2024-06-05Feiner Bros NEW98Stephen Shaw
1042Greenwood M KuskoRussia2024-05-21Dorl, James J Esq PROPOSAL10Bernardo Dominic
1043Mayumi U AlbaresCanada2024-05-28Commercial Press PROPOSAL89Ivan Magalhaes
1044Emily P SchemmerArgentina2024-06-10Commercial Press UNQUALIFIED72Amy Elsner
1045Mujtaba I FollerAustralia2024-05-27King, Christopher A Esq RENEWAL0Ivan Magalhaes
1046Cody D FollerAustralia2024-06-11Chapman, Ross E Esq NEGOTIATION72Ivan Magalhaes
1047Nicolas S MacleadJapan2024-06-09Chemel, James L Cpa UNQUALIFIED77Amy Elsner
1048Deepesh D GauchoItaly2024-06-03Morlong Associates NEGOTIATION51Xuxue Feng
1049Cody X DoeCanada2024-06-05Chanay, Jeffrey A Esq QUALIFIED67Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Ivar Q SaylorsUnited KingdomAmy Elsner NEGOTIATION
Ricardo X CaldareraJapanAsiya Javayant QUALIFIED
Deepesh O ButtBrazilAsiya Javayant UNQUALIFIED
Mayumi V SlusarskiArgentinaIoni Bowcher UNQUALIFIED
Rodrigues M DoeUnited KingdomAnna Fali NEW
Alejandro T BologniaBrazilStephen Shaw UNQUALIFIED
Darci K FlosiItalyStephen Shaw NEGOTIATION
Costa U GlickUnited KingdomIoni Bowcher PROPOSAL
Francesco F DarakjyFranceOnyama Limba NEW
Juan P VenereItalyAnna Fali NEW
Julie U ChuiJapanBernardo Dominic NEW
Munro L StockhamJapanAsiya Javayant QUALIFIED
Salvatore L GarufiIndiaElwin Sharvill NEW
Aruna V WhobreyJapanOnyama Limba UNQUALIFIED
Isabel E FigeroaSpainIvan Magalhaes UNQUALIFIED
Alejandro E SaylorsRussiaIvan Magalhaes PROPOSAL
Leja A SergiFranceXuxue Feng PROPOSAL
Smith R CampainItalyStephen Shaw NEGOTIATION
Wickens Y GillianGermanyAnna Fali NEGOTIATION
Sinclair X DarakjyFranceStephen Shaw RENEWAL
David T DilliardBrazilIoni Bowcher NEGOTIATION
Aika F RulapaughUnited KingdomElwin Sharvill PROPOSAL
Jennifer E BowleyArgentinaXuxue Feng QUALIFIED
Maisha I SlusarskiJapanXuxue Feng NEGOTIATION
Greenwood Z PerinArgentinaAmy Elsner QUALIFIED
Maisha V GauchoJapanElwin Sharvill RENEWAL
Nicolas G MaletArgentinaStephen Shaw QUALIFIED
Mayumi A RutaJapanXuxue Feng UNQUALIFIED
Darci I BriddickAustraliaStephen Shaw PROPOSAL
Jefferson N OldroydBrazilXuxue Feng QUALIFIED
Mayumi H RimGermanyXuxue Feng RENEWAL
Wickens Z MaletCanadaStephen Shaw NEW
Emily B GlickBrazilIvan Magalhaes PROPOSAL
Aika M ChuiIndiaStephen Shaw NEGOTIATION
Claire J MaletItalyOnyama Limba QUALIFIED
Adams B VenereGermanyBernardo Dominic RENEWAL
Ivar I SchemmerBrazilBernardo Dominic RENEWAL
Wickens Z SergiIndiaAsiya Javayant NEW
Faith S InouyeJapanOnyama Limba PROPOSAL
David E StensethCanadaIoni Bowcher NEW
Jennifer L NestleSpainElwin Sharvill RENEWAL
Alejandro V GauchoArgentinaOnyama Limba PROPOSAL
Emily J SaylorsBrazilElwin Sharvill QUALIFIED
Greenwood Y ButtGermanyAmy Elsner UNQUALIFIED
Misaki C DilliardAustraliaElwin Sharvill QUALIFIED
Munro V StockhamItalyAnna Fali NEW
Aditya K RoysterGermanyStephen Shaw NEGOTIATION
Ashley U FlosiIndiaIoni Bowcher NEW
Claire E VenereJapanBernardo Dominic QUALIFIED
Emily K MorascaRussiaAnna Fali PROPOSAL
Frozen Columns
Name
Jefferson R Albares
Kadeem I Amigon
Faith S Royster
Clifford Q Chui
James X Inouye
Smith N Rulapaugh
Maria J Butt
Mujtaba H Stenseth
Wickens U Morasca
Leja T Inouye
Isabel V Kolmetz
Silvio R Doe
Costa F Ferencz
Munro K Poquette
Misaki S Poquette
Murillo K Kolmetz
Jeanfrancois E Royster
Antonio Y Bowley
Jones D Dilliard
Morrow W Vocelka
Faith C Briddick
Antonio F Darakjy
Aditya Q Venere
Juan M Briddick
Johnson S Saylors
Juan B Nicka
Cody X Wieser
Maisha K Kolmetz
Cody S Glick
Izzy L Chui
Silvio D Oldroyd
Antonio Q Morasca
Aditya M Gillian
Sinclair B Poquette
Deepesh M Briddick
Kaitlin E Ostrosky
Francesco G Caldarera
Cody S Marrier
Smith X Darakjy
Rodrigues C Inouye
Ricardo L Tollner
Jefferson K Maclead
Antonio X Iturbide
Ivar A Darakjy
Leon W Campain
Arvin B Flosi
Mayumi J Nestle
Ivar D Garufi
Emily J Slusarski
Maria H Flosi
IdCountryDate
1000Italy2024-06-12
1001Canada2024-06-11
1002Germany2024-05-31
1003India2024-06-03
1004Brazil2024-06-10
1005Italy2024-06-02
1006Spain2024-05-25
1007Japan2024-05-30
1008Japan2024-06-13
1009Brazil2024-06-01
1010France2024-05-20
1011Brazil2024-06-06
1012Germany2024-06-08
1013Russia2024-05-27
1014United Kingdom2024-06-13
1015United Kingdom2024-05-24
1016Spain2024-06-13
1017Russia2024-05-28
1018Brazil2024-05-28
1019Canada2024-06-16
1020Spain2024-06-05
1021Japan2024-05-22
1022India2024-06-15
1023India2024-06-09
1024Spain2024-06-02
1025Australia2024-06-09
1026France2024-05-22
1027Canada2024-06-01
1028Canada2024-06-06
1029Japan2024-06-15
1030Brazil2024-06-07
1031Australia2024-05-20
1032United Kingdom2024-05-28
1033Germany2024-06-10
1034India2024-06-10
1035France2024-05-25
1036Argentina2024-06-05
1037Japan2024-05-20
1038Russia2024-06-09
1039Canada2024-06-15
1040France2024-05-22
1041Brazil2024-06-14
1042Brazil2024-06-04
1043Spain2024-05-29
1044Japan2024-05-20
1045Argentina2024-06-05
1046United Kingdom2024-05-20
1047France2024-06-11
1048France2024-06-17
1049Argentina2024-06-17

On-Demand Data

NameIdCountryDate
Jeanfrancois Z Oldroyd1000United Kingdom2024-06-08
Ashley P Bolognia1001India2024-06-15
Leja E Iturbide1002Japan2024-06-14
Sinclair Z Shinko1003Argentina2024-05-25
Jennifer M Iturbide1004Germany2024-06-11
Ivar H Gillian1005Spain2024-05-26
Faith H Wieser1006Spain2024-06-16
Kaitlin L Rulapaugh1007Canada2024-06-02
Alejandro T Chui1008India2024-06-17
Aruna W Glick1009Argentina2024-05-27
Emily L Ruta1010Canada2024-05-25
Morrow J Ruta1011Japan2024-06-02
Costa H Bowley1012Australia2024-06-02
Faith M Waycott1013United Kingdom2024-06-07
Mayumi H Slusarski1014France2024-06-12
Clifford K Stockham1015Canada2024-06-12
Ivar W Ferencz1016Germany2024-05-27
Cody U Gaucho1017United Kingdom2024-06-04
Nicolas F Briddick1018Brazil2024-06-12
Murillo F Stockham1019Brazil2024-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria M WhobreyUnited KingdomOnyama Limba PROPOSAL
Aika V BowleyArgentinaOnyama Limba NEGOTIATION
Jennifer F TollnerItalyStephen Shaw NEGOTIATION
Salvatore M CaudyArgentinaAsiya Javayant QUALIFIED
Claire L ButtArgentinaElwin Sharvill PROPOSAL
Francesco U GillianJapanIoni Bowcher RENEWAL
Jeanfrancois O FollerBrazilElwin Sharvill UNQUALIFIED
Wickens Z StockhamRussiaOnyama Limba QUALIFIED
Stacey S GauchoAustraliaBernardo Dominic RENEWAL
Sinclair M FigeroaSpainOnyama Limba PROPOSAL
Jones K GauchoCanadaElwin Sharvill PROPOSAL
Jeanfrancois T RimAustraliaElwin Sharvill QUALIFIED
David L ChuiSpainAnna Fali RENEWAL
Francesco R PaprockiSpainXuxue Feng QUALIFIED
Kaitlin N MacleadFranceAsiya Javayant PROPOSAL
Alejandro O MorascaRussiaXuxue Feng RENEWAL
Jennifer K MorascaAustraliaIoni Bowcher QUALIFIED
Julie T ShinkoIndiaOnyama Limba QUALIFIED
Mayumi A RimBrazilOnyama Limba QUALIFIED
Leja U PoquetteSpainOnyama Limba NEGOTIATION
David Q SchemmerSpainAsiya Javayant RENEWAL
Aika S SaylorsBrazilIvan Magalhaes NEGOTIATION
Isabel O RutaJapanXuxue Feng RENEWAL
Clifford G ShinkoRussiaStephen Shaw NEW
Tony I BowleyAustraliaAnna Fali UNQUALIFIED
Stacey A StockhamIndiaOnyama Limba NEW
Nicolas B NestleGermanyOnyama Limba NEW
Kadeem F CampainItalyStephen Shaw PROPOSAL
Ashley T RimItalyAnna Fali UNQUALIFIED
Jefferson N CampainSpainIvan Magalhaes UNQUALIFIED
Munro K FlosiRussiaIoni Bowcher QUALIFIED
Darci N PaprockiJapanAsiya Javayant UNQUALIFIED
Leja M CaldareraIndiaXuxue Feng PROPOSAL
Adams U WhobreyFranceOnyama Limba NEGOTIATION
Juan D BowleyGermanyStephen Shaw QUALIFIED
Munro A PerinFranceAnna Fali PROPOSAL
Aruna U DoeIndiaIvan Magalhaes PROPOSAL
Munro E DilliardBrazilXuxue Feng UNQUALIFIED
Cody C StensethArgentinaAnna Fali NEW
Costa J RoysterCanadaBernardo Dominic 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>