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
Ashley W FollerCanadaIvan Magalhaes UNQUALIFIED
Deepesh Z WhobreyRussiaXuxue Feng UNQUALIFIED
Leon N RutaAustraliaOnyama Limba UNQUALIFIED
Ricardo S VocelkaCanadaXuxue Feng QUALIFIED
Mayumi Q KolmetzUnited KingdomElwin Sharvill QUALIFIED
Mujtaba L WhobreyGermanyAsiya Javayant RENEWAL
Silvio D SergiJapanAmy Elsner PROPOSAL
Octavia C RulapaughJapanOnyama Limba QUALIFIED
Misaki E FollerFranceAnna Fali QUALIFIED
Ricardo E RutaFranceAmy Elsner UNQUALIFIED
Leon W FollerRussiaIvan Magalhaes UNQUALIFIED
Aditya O FlosiJapanOnyama Limba NEGOTIATION
Nicolas Q RulapaughIndiaIoni Bowcher PROPOSAL
Chavez Z SergiGermanyAnna Fali RENEWAL
Costa S FigeroaAustraliaIvan Magalhaes RENEWAL
David W NickaIndiaBernardo Dominic QUALIFIED
Izzy W MorascaItalyIoni Bowcher NEGOTIATION
Arvin J StockhamIndiaOnyama Limba NEW
Jefferson D KuskoGermanyIvan Magalhaes NEW
Mayumi Z AlbaresCanadaAsiya Javayant NEW
Greenwood U MacleadSpainElwin Sharvill NEW
Ivar F NestleJapanElwin Sharvill PROPOSAL
Rodrigues E DoeFranceIoni Bowcher RENEWAL
James E FerenczCanadaStephen Shaw UNQUALIFIED
Leon C MarrierBrazilAmy Elsner NEW
Munro Z BriddickUnited KingdomAnna Fali PROPOSAL
Arvin Q FollerFranceElwin Sharvill QUALIFIED
Isabel D FigeroaUnited KingdomAnna Fali PROPOSAL
Isabel Q RulapaughRussiaIoni Bowcher UNQUALIFIED
Kaitlin B WieserGermanyBernardo Dominic NEW
David Z OldroydCanadaStephen Shaw RENEWAL
Mujtaba H SlusarskiJapanAsiya Javayant NEGOTIATION
Kaitlin D KuskoGermanyOnyama Limba PROPOSAL
Jefferson P CaudyIndiaElwin Sharvill QUALIFIED
Darci H NestleIndiaBernardo Dominic QUALIFIED
Ashley O InouyeCanadaAmy Elsner RENEWAL
Maisha Z CampainUnited KingdomOnyama Limba NEGOTIATION
Jones L ButtSpainAsiya Javayant PROPOSAL
Aditya N NestleGermanyElwin Sharvill RENEWAL
Kaitlin A FlosiBrazilStephen Shaw UNQUALIFIED
Antonio W RutaGermanyAmy Elsner RENEWAL
Jeanfrancois N ChuiSpainOnyama Limba PROPOSAL
Kaitlin L MaletAustraliaAnna Fali PROPOSAL
Jennifer T SergiGermanyBernardo Dominic QUALIFIED
Ivar E WieserFranceOnyama Limba PROPOSAL
Morrow L ButtJapanStephen Shaw NEGOTIATION
Clifford P MacleadIndiaIoni Bowcher UNQUALIFIED
Maria L GauchoIndiaAsiya Javayant QUALIFIED
Mujtaba V KolmetzUnited KingdomStephen Shaw NEGOTIATION
Johnson H DarakjyFranceIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Costa E BologniaUnited KingdomElwin Sharvill RENEWAL
Salvatore Y MaletBrazilBernardo Dominic NEGOTIATION
Salvatore W PerinUnited KingdomElwin Sharvill NEW
Rodrigues D GlickSpainOnyama Limba QUALIFIED
Wickens I InouyeUnited KingdomAnna Fali NEW
Leja X RutaCanadaIvan Magalhaes UNQUALIFIED
Salvatore Q ShinkoIndiaBernardo Dominic NEW
Stacey W VenereJapanStephen Shaw PROPOSAL
Wickens X OldroydSpainXuxue Feng QUALIFIED
Maria H TollnerItalyElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson X VocelkaFrance2024-06-18Commercial Press NEGOTIATION67Onyama Limba
1001David E PaprockiUnited Kingdom2024-06-22Rangoni Of Florence NEW51Bernardo Dominic
1002Juan E SlusarskiArgentina2024-05-27Dorl, James J Esq RENEWAL82Ioni Bowcher
1003Silvio E GarufiUnited Kingdom2024-06-13Chemel, James L Cpa UNQUALIFIED40Asiya Javayant
1004Stacey W AlbaresFrance2024-06-21Rousseaux, Michael Esq NEW35Stephen Shaw
1005Ricardo Q WaycottRussia2024-05-27Feiner Bros NEGOTIATION93Stephen Shaw
1006Julie I ShinkoArgentina2024-06-01Printing Dimensions NEW23Xuxue Feng
1007Stacey W StockhamAustralia2024-06-18Benton, John B Jr RENEWAL37Ioni Bowcher
1008Claire N GillianGermany2024-06-15Rangoni Of Florence NEW5Amy Elsner
1009Emily U RimSpain2024-06-06Feltz Printing Service QUALIFIED78Xuxue Feng
1010Aruna G MaletIndia2024-06-04Feltz Printing Service PROPOSAL96Bernardo Dominic
1011Tony F ChuiCanada2024-06-07Dorl, James J Esq RENEWAL50Amy Elsner
1012Claire S FlosiRussia2024-06-10Commercial Press NEGOTIATION26Anna Fali
1013Clifford W WieserRussia2024-05-31King, Christopher A Esq NEW28Onyama Limba
1014Julie F FollerJapan2024-05-31Rousseaux, Michael Esq QUALIFIED61Onyama Limba
1015Silvio T FerenczBrazil2024-05-28Feltz Printing Service UNQUALIFIED76Stephen Shaw
1016Jennifer P BriddickJapan2024-06-20Chapman, Ross E Esq NEW15Onyama Limba
1017Ricardo J GillianUnited Kingdom2024-06-07Dorl, James J Esq NEGOTIATION17Elwin Sharvill
1018Julie S KuskoCanada2024-05-26Benton, John B Jr NEW6Anna Fali
1019Murillo N BologniaFrance2024-06-16Feltz Printing Service QUALIFIED57Onyama Limba
1020Mayumi L GillianIndia2024-06-12Feltz Printing Service QUALIFIED18Ioni Bowcher
1021Jefferson C BowleyJapan2024-06-15Feiner Bros NEW11Bernardo Dominic
1022Clifford B NestleRussia2024-06-16Feltz Printing Service QUALIFIED0Elwin Sharvill
1023Octavia C RimBrazil2024-06-17Truhlar And Truhlar Attys RENEWAL14Stephen Shaw
1024Chavez R ChuiCanada2024-06-08Morlong Associates NEGOTIATION94Elwin Sharvill
1025Rodrigues K CaudySpain2024-06-04Rangoni Of Florence QUALIFIED86Onyama Limba
1026Leon T ShinkoBrazil2024-06-16Commercial Press NEW56Xuxue Feng
1027Julie U WieserFrance2024-05-28Chapman, Ross E Esq NEGOTIATION27Ivan Magalhaes
1028Emily A RutaUnited Kingdom2024-05-31Commercial Press PROPOSAL91Bernardo Dominic
1029Ricardo L NickaUnited Kingdom2024-06-09Truhlar And Truhlar Attys PROPOSAL44Anna Fali
1030Faith T OstroskyUnited Kingdom2024-05-30Chapman, Ross E Esq PROPOSAL44Ioni Bowcher
1031Mayumi A VocelkaAustralia2024-06-22Buckley Miller Wright RENEWAL59Anna Fali
1032Jeanfrancois G IturbideFrance2024-06-01Rousseaux, Michael Esq RENEWAL15Bernardo Dominic
1033Isabel G DilliardCanada2024-05-31Feiner Bros RENEWAL43Ioni Bowcher
1034Mujtaba M TollnerCanada2024-05-26Printing Dimensions RENEWAL14Xuxue Feng
1035Juan T MarrierGermany2024-06-20Buckley Miller Wright RENEWAL17Asiya Javayant
1036Mujtaba O NickaIndia2024-06-12Chanay, Jeffrey A Esq QUALIFIED66Xuxue Feng
1037Aruna U SlusarskiUnited Kingdom2024-06-19Dorl, James J Esq RENEWAL30Bernardo Dominic
1038Ivar U StockhamJapan2024-06-11Printing Dimensions NEGOTIATION12Xuxue Feng
1039Jefferson R NestleArgentina2024-05-28Chemel, James L Cpa UNQUALIFIED85Xuxue Feng
1040Smith R RulapaughSpain2024-06-11Chapman, Ross E Esq QUALIFIED60Onyama Limba
1041Kaitlin Y MaletIndia2024-06-08Benton, John B Jr RENEWAL90Xuxue Feng
1042Jones P FollerJapan2024-06-19Commercial Press NEGOTIATION10Onyama Limba
1043Claire D OstroskySpain2024-05-28Benton, John B Jr NEW95Xuxue Feng
1044Wickens U RulapaughIndia2024-05-25Dorl, James J Esq UNQUALIFIED62Stephen Shaw
1045Jefferson O WhobreyRussia2024-06-10Chapman, Ross E Esq RENEWAL66Elwin Sharvill
1046Silvio T RutaGermany2024-06-19Morlong Associates QUALIFIED99Onyama Limba
1047Maisha A WaycottUnited Kingdom2024-06-20Commercial Press NEW70Stephen Shaw
1048Francesco B FlosiRussia2024-06-17Chanay, Jeffrey A Esq QUALIFIED34Ivan Magalhaes
1049Chavez Q PoquetteAustralia2024-06-20Truhlar And Truhlar Attys QUALIFIED23Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Juan S SergiJapanIvan Magalhaes PROPOSAL
Faith F ButtSpainOnyama Limba PROPOSAL
Salvatore T MaletRussiaAmy Elsner RENEWAL
Munro Y WaycottArgentinaElwin Sharvill PROPOSAL
Alejandro T SlusarskiIndiaBernardo Dominic PROPOSAL
Isabel Q BowleySpainXuxue Feng NEW
Salvatore A SergiRussiaAmy Elsner RENEWAL
Francesco X CampainItalyOnyama Limba QUALIFIED
Silvio H FollerRussiaAsiya Javayant NEW
Costa K GarufiAustraliaXuxue Feng UNQUALIFIED
Jones I BologniaUnited KingdomAmy Elsner PROPOSAL
Alejandro P MaletBrazilXuxue Feng PROPOSAL
Izzy R FlosiJapanOnyama Limba QUALIFIED
Ivar C VocelkaAustraliaElwin Sharvill QUALIFIED
David A FlosiItalyIoni Bowcher QUALIFIED
Jones T AmigonArgentinaAmy Elsner UNQUALIFIED
Murillo J SaylorsGermanyStephen Shaw UNQUALIFIED
Juan R OstroskyRussiaXuxue Feng NEGOTIATION
Alejandro Q PerinFranceElwin Sharvill QUALIFIED
Claire A CampainSpainStephen Shaw QUALIFIED
Isabel N RulapaughCanadaAnna Fali PROPOSAL
Salvatore G MarrierRussiaIoni Bowcher NEW
Wickens E FlosiAustraliaElwin Sharvill QUALIFIED
David S BologniaGermanyElwin Sharvill NEW
Murillo D PerinSpainAsiya Javayant QUALIFIED
Silvio G OldroydCanadaIvan Magalhaes PROPOSAL
Sinclair S TollnerSpainXuxue Feng NEGOTIATION
Juan G GlickAustraliaBernardo Dominic PROPOSAL
Misaki C RimItalyIoni Bowcher QUALIFIED
Jones P WaycottFranceAnna Fali PROPOSAL
Francesco X BriddickRussiaXuxue Feng NEGOTIATION
Aruna G SchemmerUnited KingdomElwin Sharvill QUALIFIED
Misaki K StensethSpainStephen Shaw PROPOSAL
Julie T SaylorsCanadaAnna Fali QUALIFIED
Jeanfrancois V GauchoItalyAmy Elsner NEGOTIATION
Kadeem H MaletItalyAsiya Javayant QUALIFIED
Smith E MacleadAustraliaStephen Shaw PROPOSAL
Misaki Z DoeItalyIvan Magalhaes NEW
Faith Y MorascaIndiaOnyama Limba NEGOTIATION
Aditya A TollnerUnited KingdomXuxue Feng NEW
Chavez D RulapaughCanadaAmy Elsner NEW
Darci N MorascaSpainAsiya Javayant NEW
Isabel L DarakjyCanadaAmy Elsner QUALIFIED
Antonio I RimJapanIvan Magalhaes RENEWAL
Cody S ChuiGermanyAmy Elsner PROPOSAL
Stacey B ButtFranceXuxue Feng NEW
Maria Y SaylorsGermanyAsiya Javayant QUALIFIED
Jeanfrancois O NestleGermanyAmy Elsner NEW
Maria D ButtCanadaXuxue Feng UNQUALIFIED
Arvin Z CampainGermanyXuxue Feng QUALIFIED
Frozen Columns
Name
Kadeem X Stenseth
Kaitlin B Sergi
Salvatore G Inouye
Emily G Kusko
Leja G Caldarera
Alejandro G Butt
Jennifer T Wieser
Cody Z Ruta
Faith A Whobrey
Misaki K Gillian
Ricardo E Tollner
Ashley J Campain
Emily J Rulapaugh
Adams F Poquette
Aika Q Slusarski
Faith G Stockham
Misaki O Sergi
Misaki I Stockham
Morrow L Ruta
Stacey Q Wieser
Arvin Y Royster
Jennifer G Saylors
Deepesh K Flosi
Aditya F Caldarera
Sinclair Q Chui
Ivar E Tollner
Claire Y Royster
Emily Q Ruta
Emily T Caldarera
Munro A Shinko
Darci Z Morasca
Aika K Venere
Leon C Nestle
Rodrigues O Dilliard
Salvatore C Waycott
Chavez T Garufi
Francesco U Ferencz
Murillo L Caudy
Francesco J Morasca
Kadeem K Gillian
Salvatore X Rim
Mujtaba F Rim
James S Kusko
Mayumi O Stockham
Clifford T Oldroyd
Maria S Schemmer
Juan V Slusarski
Claire U Ostrosky
Faith H Tollner
Deepesh J Bowley
IdCountryDate
1000Japan2024-06-14
1001Australia2024-06-04
1002India2024-06-09
1003India2024-05-27
1004Germany2024-06-13
1005Japan2024-05-31
1006Brazil2024-05-24
1007Russia2024-06-17
1008United Kingdom2024-06-21
1009Spain2024-06-17
1010Brazil2024-06-20
1011Spain2024-06-02
1012Brazil2024-05-25
1013India2024-06-09
1014India2024-06-20
1015France2024-06-05
1016Argentina2024-06-12
1017Germany2024-06-12
1018United Kingdom2024-06-20
1019Spain2024-06-01
1020France2024-05-29
1021Brazil2024-06-14
1022Spain2024-05-24
1023Australia2024-06-21
1024Germany2024-05-28
1025Argentina2024-05-27
1026Australia2024-05-29
1027Argentina2024-06-21
1028Russia2024-06-18
1029Italy2024-06-07
1030India2024-06-06
1031India2024-06-16
1032Spain2024-06-07
1033France2024-06-10
1034Canada2024-05-28
1035Japan2024-06-19
1036India2024-06-04
1037France2024-06-01
1038Brazil2024-06-03
1039Brazil2024-06-03
1040Spain2024-05-25
1041Australia2024-06-11
1042Brazil2024-05-28
1043France2024-06-21
1044Brazil2024-05-28
1045Argentina2024-05-29
1046Russia2024-06-05
1047Germany2024-06-21
1048Germany2024-06-02
1049Brazil2024-06-01

On-Demand Data

NameIdCountryDate
Octavia Y Bolognia1000Italy2024-06-17
Murillo K Shinko1001Australia2024-06-02
Faith Q Schemmer1002India2024-06-22
Faith E Rulapaugh1003Brazil2024-06-17
Silvio B Royster1004Canada2024-06-02
David J Stenseth1005Canada2024-06-14
Arvin H Maclead1006France2024-05-31
Nicolas H Perin1007India2024-06-22
Murillo X Stenseth1008Japan2024-05-24
Adams P Ruta1009Canada2024-05-27
Mayumi I Wieser1010Spain2024-06-07
Octavia W Kusko1011United Kingdom2024-06-22
Costa B Maclead1012Spain2024-06-12
Jefferson X Foller1013Spain2024-05-28
Kaitlin F Maclead1014Australia2024-06-19
Jones I Albares1015Russia2024-05-25
Isabel E Wieser1016Germany2024-05-31
Jennifer R Oldroyd1017Germany2024-06-14
Greenwood X Poquette1018Australia2024-06-07
James T Malet1019United Kingdom2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez G VenereBrazilAmy Elsner QUALIFIED
Isabel Z AmigonRussiaAnna Fali RENEWAL
Leon U MacleadIndiaIvan Magalhaes NEGOTIATION
Isabel I RimSpainAsiya Javayant RENEWAL
Jefferson G NestleUnited KingdomBernardo Dominic RENEWAL
Antonio T GlickSpainBernardo Dominic RENEWAL
Kadeem N AmigonAustraliaIoni Bowcher UNQUALIFIED
Emily E GlickArgentinaIvan Magalhaes NEGOTIATION
Aruna Q AlbaresFranceBernardo Dominic UNQUALIFIED
Maria O DilliardItalyAsiya Javayant RENEWAL
Rodrigues W GlickJapanXuxue Feng RENEWAL
Jones E OstroskyCanadaElwin Sharvill RENEWAL
Kadeem V BriddickGermanyStephen Shaw PROPOSAL
Wickens Z NestleRussiaBernardo Dominic UNQUALIFIED
David N MorascaArgentinaAnna Fali NEW
Francesco G TollnerFranceXuxue Feng QUALIFIED
Faith F AlbaresUnited KingdomAnna Fali QUALIFIED
Faith M BologniaUnited KingdomElwin Sharvill RENEWAL
Tony V IturbideFranceIvan Magalhaes NEW
Chavez L GauchoRussiaOnyama Limba NEW
Mujtaba M BologniaGermanyXuxue Feng UNQUALIFIED
Sinclair I NickaArgentinaAnna Fali RENEWAL
Sinclair I MaletJapanAnna Fali NEW
Leja I FollerGermanyStephen Shaw NEGOTIATION
Tony Y DilliardCanadaAsiya Javayant NEGOTIATION
Maisha N MacleadIndiaIoni Bowcher RENEWAL
Smith Z StockhamCanadaOnyama Limba UNQUALIFIED
Darci H RutaArgentinaIoni Bowcher NEW
Aruna K GillianFranceElwin Sharvill UNQUALIFIED
Aruna P DoeCanadaElwin Sharvill UNQUALIFIED
Tony L ButtFranceAsiya Javayant UNQUALIFIED
Maisha N RimAustraliaAsiya Javayant NEGOTIATION
Claire C RimFranceXuxue Feng NEW
Misaki I VenereIndiaXuxue Feng RENEWAL
Nicolas U WaycottSpainElwin Sharvill NEGOTIATION
Salvatore H NickaUnited KingdomOnyama Limba QUALIFIED
Maisha E CaldareraJapanAsiya Javayant NEGOTIATION
Ricardo N ChuiArgentinaAsiya Javayant NEW
Sinclair M MaletArgentinaAsiya Javayant UNQUALIFIED
Kaitlin L CaudyIndiaIoni Bowcher 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>