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 Q MaletGermanyAnna Fali NEGOTIATION
Ricardo P FigeroaIndiaAnna Fali PROPOSAL
Faith U RoysterItalyIvan Magalhaes QUALIFIED
Sinclair Z FigeroaItalyAsiya Javayant PROPOSAL
Leon H AmigonArgentinaAnna Fali QUALIFIED
Jeanfrancois T MaletCanadaAsiya Javayant PROPOSAL
Stacey P BologniaRussiaAnna Fali UNQUALIFIED
Aruna H PaprockiArgentinaXuxue Feng RENEWAL
Arvin X FerenczBrazilAnna Fali QUALIFIED
Kadeem K BowleySpainIvan Magalhaes NEGOTIATION
Octavia F KuskoArgentinaStephen Shaw UNQUALIFIED
Claire J SlusarskiArgentinaOnyama Limba PROPOSAL
Julie X SergiFranceAmy Elsner QUALIFIED
Claire C TollnerRussiaAnna Fali NEGOTIATION
Nicolas G ChuiRussiaOnyama Limba QUALIFIED
Jones C KolmetzArgentinaBernardo Dominic QUALIFIED
Aruna Z KolmetzGermanyOnyama Limba PROPOSAL
Emily D MacleadBrazilAnna Fali QUALIFIED
Greenwood G RimAustraliaStephen Shaw NEGOTIATION
Rodrigues V ButtSpainXuxue Feng NEW
Aika J PaprockiUnited KingdomAsiya Javayant NEW
Tony Y MacleadUnited KingdomIoni Bowcher RENEWAL
Jefferson G NickaArgentinaXuxue Feng UNQUALIFIED
Izzy U RutaFranceAmy Elsner PROPOSAL
Adams P FigeroaIndiaIoni Bowcher QUALIFIED
Darci M SchemmerRussiaAnna Fali UNQUALIFIED
Sinclair C StockhamUnited KingdomXuxue Feng NEGOTIATION
Aika A PoquetteFranceAsiya Javayant NEW
Murillo S ButtUnited KingdomElwin Sharvill UNQUALIFIED
Darci A WhobreyJapanIvan Magalhaes NEW
Octavia E ButtSpainBernardo Dominic UNQUALIFIED
Kaitlin P CaudyUnited KingdomElwin Sharvill NEGOTIATION
Rodrigues R SchemmerGermanyStephen Shaw NEW
Stacey F OstroskyArgentinaOnyama Limba NEGOTIATION
Clifford H GlickItalyAnna Fali UNQUALIFIED
James N MacleadSpainAnna Fali PROPOSAL
Ivar Z GarufiUnited KingdomAnna Fali NEW
Greenwood W PoquetteUnited KingdomAsiya Javayant NEW
Julie Z BriddickGermanyStephen Shaw UNQUALIFIED
Tony E ShinkoSpainIvan Magalhaes NEW
Francesco O StockhamJapanElwin Sharvill PROPOSAL
Morrow R OstroskyRussiaElwin Sharvill NEW
Kadeem J MaletBrazilIoni Bowcher QUALIFIED
Aditya S WaycottIndiaStephen Shaw PROPOSAL
Aditya Z PerinIndiaIoni Bowcher NEW
Aruna D ChuiBrazilXuxue Feng RENEWAL
Maisha X FollerSpainXuxue Feng QUALIFIED
Ivar J DoeUnited KingdomAnna Fali PROPOSAL
Leon O ChuiFranceAnna Fali NEW
Aruna A MaletSpainIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
James H CaldareraCanadaXuxue Feng RENEWAL
Jeanfrancois Q PoquetteCanadaAmy Elsner QUALIFIED
Ashley E AlbaresRussiaXuxue Feng NEGOTIATION
Nicolas P DoeIndiaOnyama Limba PROPOSAL
Claire U PerinSpainAmy Elsner UNQUALIFIED
Aruna O DoeCanadaElwin Sharvill PROPOSAL
Arvin H VocelkaBrazilAsiya Javayant UNQUALIFIED
Francesco F FerenczRussiaBernardo Dominic UNQUALIFIED
Adams F CampainAustraliaXuxue Feng QUALIFIED
Morrow F FerenczItalyAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki Y ShinkoCanada2024-06-13King, Christopher A Esq QUALIFIED2Amy Elsner
1001Aditya Q MarrierRussia2024-06-11Chanay, Jeffrey A Esq UNQUALIFIED86Anna Fali
1002Faith Z NickaJapan2024-05-29Morlong Associates RENEWAL7Bernardo Dominic
1003Clifford R GauchoGermany2024-06-02Buckley Miller Wright RENEWAL46Elwin Sharvill
1004Wickens X MaletItaly2024-05-29Buckley Miller Wright UNQUALIFIED87Bernardo Dominic
1005Murillo F NestleBrazil2024-05-31Chapman, Ross E Esq PROPOSAL82Asiya Javayant
1006Leon G TollnerBrazil2024-05-30Morlong Associates NEW60Onyama Limba
1007Jones X IturbideSpain2024-06-03Truhlar And Truhlar Attys UNQUALIFIED86Xuxue Feng
1008Faith I VocelkaFrance2024-06-19Morlong Associates UNQUALIFIED81Onyama Limba
1009Aika N MaletJapan2024-05-26Morlong Associates RENEWAL27Anna Fali
1010Wickens Q ButtUnited Kingdom2024-06-05Printing Dimensions NEW65Onyama Limba
1011Silvio G MaletCanada2024-05-29Chanay, Jeffrey A Esq RENEWAL19Amy Elsner
1012Clifford G OldroydUnited Kingdom2024-06-14Rousseaux, Michael Esq NEGOTIATION69Onyama Limba
1013Munro R SchemmerIndia2024-06-18Benton, John B Jr UNQUALIFIED45Xuxue Feng
1014Alejandro G BowleyItaly2024-05-29Dorl, James J Esq RENEWAL88Bernardo Dominic
1015Isabel E FerenczUnited Kingdom2024-06-15Rangoni Of Florence PROPOSAL27Ivan Magalhaes
1016Aika G GauchoAustralia2024-06-18Benton, John B Jr NEGOTIATION4Ioni Bowcher
1017Rodrigues C InouyeCanada2024-06-02Dorl, James J Esq NEGOTIATION30Anna Fali
1018Aika J PerinFrance2024-06-20Rangoni Of Florence RENEWAL26Stephen Shaw
1019Jefferson L BologniaBrazil2024-06-05Buckley Miller Wright UNQUALIFIED88Anna Fali
1020Silvio T GauchoCanada2024-06-23Chapman, Ross E Esq QUALIFIED92Ivan Magalhaes
1021Darci H CaudySpain2024-06-10Dorl, James J Esq UNQUALIFIED50Stephen Shaw
1022James T RulapaughAustralia2024-06-14Commercial Press UNQUALIFIED58Bernardo Dominic
1023Greenwood T SlusarskiGermany2024-06-16Truhlar And Truhlar Attys PROPOSAL29Ioni Bowcher
1024Greenwood Y SergiGermany2024-06-08Morlong Associates NEGOTIATION47Bernardo Dominic
1025Maria L BriddickUnited Kingdom2024-06-20Feiner Bros UNQUALIFIED18Onyama Limba
1026Smith C GauchoItaly2024-05-28Morlong Associates PROPOSAL98Xuxue Feng
1027Leja X BowleyJapan2024-06-01Morlong Associates UNQUALIFIED93Xuxue Feng
1028Ashley M GauchoJapan2024-05-27Rangoni Of Florence UNQUALIFIED25Asiya Javayant
1029Greenwood U MacleadSpain2024-06-23Morlong Associates PROPOSAL84Stephen Shaw
1030Aditya D SlusarskiItaly2024-06-24Commercial Press PROPOSAL15Amy Elsner
1031Alejandro I VocelkaBrazil2024-06-10Buckley Miller Wright UNQUALIFIED67Stephen Shaw
1032James R GarufiJapan2024-06-24Rangoni Of Florence QUALIFIED88Xuxue Feng
1033Emily N RulapaughJapan2024-06-03Benton, John B Jr NEGOTIATION70Ivan Magalhaes
1034Stacey U NickaIndia2024-06-22Rousseaux, Michael Esq UNQUALIFIED5Stephen Shaw
1035Kadeem Z NickaArgentina2024-06-09Truhlar And Truhlar Attys NEW97Ivan Magalhaes
1036Silvio L DilliardAustralia2024-06-06Chapman, Ross E Esq PROPOSAL2Stephen Shaw
1037Ashley Z MarrierFrance2024-05-26Dorl, James J Esq RENEWAL28Stephen Shaw
1038Munro P MaletCanada2024-06-21Rangoni Of Florence PROPOSAL83Bernardo Dominic
1039Arvin Q MaletJapan2024-06-22Printing Dimensions NEW54Xuxue Feng
1040Deepesh P VocelkaItaly2024-05-30Dorl, James J Esq NEW48Anna Fali
1041Costa F GlickGermany2024-06-21Chanay, Jeffrey A Esq PROPOSAL95Amy Elsner
1042Maisha I IturbideFrance2024-05-26Rangoni Of Florence RENEWAL43Ioni Bowcher
1043Kaitlin U FigeroaItaly2024-06-16Dorl, James J Esq UNQUALIFIED49Ivan Magalhaes
1044Leon U VocelkaFrance2024-05-31Benton, John B Jr PROPOSAL32Ioni Bowcher
1045Wickens D SlusarskiItaly2024-06-06Commercial Press RENEWAL9Anna Fali
1046Nicolas Y SchemmerItaly2024-06-21King, Christopher A Esq NEGOTIATION6Anna Fali
1047David H TollnerArgentina2024-06-21Printing Dimensions UNQUALIFIED30Ioni Bowcher
1048Ricardo E BriddickUnited Kingdom2024-05-26Chanay, Jeffrey A Esq NEGOTIATION92Onyama Limba
1049Aditya M TollnerItaly2024-06-09Feltz Printing Service PROPOSAL25Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Costa S DarakjyGermanyAmy Elsner NEW
Francesco K MacleadItalyStephen Shaw RENEWAL
Cody T MarrierFranceElwin Sharvill PROPOSAL
Aruna R SergiItalyIvan Magalhaes QUALIFIED
Wickens Z AlbaresSpainIvan Magalhaes RENEWAL
Mayumi M WhobreyCanadaAsiya Javayant NEGOTIATION
Murillo K WaycottArgentinaStephen Shaw NEW
Chavez J CampainIndiaAnna Fali QUALIFIED
Kaitlin B RimFranceElwin Sharvill UNQUALIFIED
Jennifer M PoquetteUnited KingdomAnna Fali UNQUALIFIED
James D MaletJapanElwin Sharvill UNQUALIFIED
Morrow Y GlickJapanStephen Shaw QUALIFIED
Leon H CampainUnited KingdomStephen Shaw NEGOTIATION
Aika R AmigonIndiaOnyama Limba UNQUALIFIED
Greenwood H RimItalyAmy Elsner QUALIFIED
Maisha S PerinIndiaAsiya Javayant RENEWAL
David M GauchoSpainBernardo Dominic QUALIFIED
David S RimRussiaElwin Sharvill UNQUALIFIED
Morrow N RulapaughBrazilIoni Bowcher RENEWAL
Aruna L CampainFranceStephen Shaw RENEWAL
Kaitlin W OstroskySpainIoni Bowcher NEW
Wickens T FerenczBrazilStephen Shaw RENEWAL
Deepesh O VocelkaItalyOnyama Limba QUALIFIED
Julie F WieserUnited KingdomIoni Bowcher NEW
Nicolas T BologniaUnited KingdomElwin Sharvill NEW
Tony Z MorascaCanadaOnyama Limba NEW
Jennifer T KolmetzIndiaAmy Elsner NEGOTIATION
Smith I MaletSpainAmy Elsner PROPOSAL
Antonio O DoeBrazilIoni Bowcher NEGOTIATION
Leja Z DoeBrazilOnyama Limba QUALIFIED
Julie W FigeroaUnited KingdomXuxue Feng QUALIFIED
Stacey K CaudyItalyAsiya Javayant NEGOTIATION
Munro V CaldareraIndiaElwin Sharvill RENEWAL
Salvatore E IturbideUnited KingdomAsiya Javayant RENEWAL
Kaitlin Z WaycottSpainBernardo Dominic QUALIFIED
Tony D RimIndiaAmy Elsner NEW
Silvio Y VocelkaBrazilOnyama Limba QUALIFIED
Darci L NickaIndiaOnyama Limba RENEWAL
Greenwood W MorascaJapanAmy Elsner QUALIFIED
Mayumi C RimUnited KingdomXuxue Feng NEW
Adams B WhobreyItalyIoni Bowcher RENEWAL
James Z DilliardRussiaOnyama Limba NEGOTIATION
Arvin W KuskoItalyBernardo Dominic RENEWAL
Darci X StockhamArgentinaOnyama Limba NEGOTIATION
Leja A RulapaughBrazilAnna Fali QUALIFIED
Adams C MaletCanadaAnna Fali PROPOSAL
Nicolas R KuskoItalyXuxue Feng UNQUALIFIED
Jefferson A GillianIndiaIoni Bowcher UNQUALIFIED
Kadeem J FigeroaIndiaBernardo Dominic QUALIFIED
Alejandro I GauchoFranceOnyama Limba NEW
Frozen Columns
Name
Darci N Inouye
Jones T Butt
Isabel X Caldarera
Darci M Kolmetz
Leja E Waycott
Claire A Sergi
Jones R Slusarski
Kadeem W Glick
Jones U Paprocki
Maisha H Shinko
Kadeem J Flosi
Francesco S Waycott
Ricardo L Wieser
Emily Q Marrier
Jennifer O Rulapaugh
Adams E Paprocki
Chavez A Maclead
Emily D Saylors
Ricardo G Rulapaugh
Izzy Q Royster
Adams W Malet
James U Schemmer
Murillo W Bowley
Wickens C Amigon
Rodrigues P Malet
Morrow Y Flosi
Misaki M Morasca
Silvio L Royster
Antonio T Kusko
Jeanfrancois S Schemmer
Arvin T Nestle
Arvin Q Marrier
Octavia J Ferencz
Aruna D Malet
David Z Garufi
Jennifer H Ferencz
Wickens L Iturbide
Izzy C Foller
Maria L Flosi
Silvio P Wieser
David D Vocelka
Aruna R Caudy
Aditya R Marrier
Ricardo Z Oldroyd
Stacey K Wieser
Francesco O Caudy
Maria D Albares
Johnson S Bolognia
Octavia Z Shinko
Arvin W Oldroyd
IdCountryDate
1000India2024-06-08
1001Australia2024-06-15
1002United Kingdom2024-06-03
1003Italy2024-06-09
1004Russia2024-05-28
1005Australia2024-06-07
1006Spain2024-05-30
1007Spain2024-05-26
1008Italy2024-06-02
1009India2024-06-13
1010Russia2024-05-27
1011Brazil2024-06-24
1012Spain2024-05-30
1013France2024-06-08
1014France2024-06-16
1015Russia2024-06-11
1016India2024-06-21
1017Russia2024-06-14
1018Italy2024-06-19
1019India2024-06-19
1020Italy2024-06-19
1021Russia2024-06-17
1022Canada2024-06-08
1023Australia2024-06-15
1024Spain2024-06-11
1025Russia2024-05-28
1026Argentina2024-06-20
1027Canada2024-06-20
1028France2024-06-17
1029India2024-06-12
1030United Kingdom2024-06-03
1031Japan2024-06-01
1032Brazil2024-06-22
1033Germany2024-06-18
1034Russia2024-06-21
1035Canada2024-06-03
1036United Kingdom2024-05-26
1037India2024-06-23
1038Canada2024-06-22
1039Russia2024-05-28
1040Japan2024-05-27
1041Italy2024-06-16
1042France2024-05-29
1043Brazil2024-06-03
1044Japan2024-06-20
1045Argentina2024-06-04
1046United Kingdom2024-06-09
1047Argentina2024-06-23
1048Canada2024-06-14
1049Germany2024-06-21

On-Demand Data

NameIdCountryDate
Ricardo Z Caldarera1000Germany2024-05-29
Deepesh Y Gaucho1001Argentina2024-06-04
Jeanfrancois E Foller1002United Kingdom2024-06-21
Francesco M Shinko1003Canada2024-06-19
Murillo T Malet1004Brazil2024-06-09
Faith B Glick1005United Kingdom2024-05-27
Ashley J Nicka1006Australia2024-06-09
Mayumi N Maclead1007Spain2024-05-29
Faith E Foller1008Brazil2024-06-08
Jones P Garufi1009United Kingdom2024-06-07
Chavez K Butt1010Russia2024-06-09
Mayumi J Whobrey1011France2024-05-26
Izzy X Venere1012Japan2024-06-19
Sinclair B Perin1013Russia2024-06-16
Claire Y Schemmer1014Spain2024-06-08
Smith G Amigon1015Germany2024-06-04
Maria G Butt1016Argentina2024-06-18
Salvatore F Malet1017United Kingdom2024-05-31
Nicolas W Whobrey1018Canada2024-06-20
Cody E Rulapaugh1019United Kingdom2024-06-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez F MacleadGermanyIoni Bowcher NEGOTIATION
Mayumi Y OstroskyAustraliaIoni Bowcher RENEWAL
Greenwood Q FerenczIndiaAsiya Javayant NEW
Francesco E PoquetteAustraliaBernardo Dominic QUALIFIED
Johnson A MacleadArgentinaIoni Bowcher RENEWAL
Tony U GauchoGermanyElwin Sharvill NEW
Francesco O OldroydAustraliaAnna Fali RENEWAL
Mayumi K AmigonAustraliaBernardo Dominic NEGOTIATION
Francesco K GillianCanadaAsiya Javayant QUALIFIED
Clifford W MarrierGermanyIvan Magalhaes RENEWAL
Ricardo Y SaylorsCanadaAnna Fali RENEWAL
Emily H OldroydBrazilAnna Fali NEGOTIATION
Aika B RimRussiaIoni Bowcher UNQUALIFIED
Claire G DarakjyFranceIvan Magalhaes NEW
Antonio K DoeCanadaStephen Shaw UNQUALIFIED
Francesco T GarufiCanadaAsiya Javayant PROPOSAL
Maria V TollnerRussiaIoni Bowcher QUALIFIED
Ricardo C WhobreyItalyAmy Elsner NEW
Maria G SaylorsAustraliaAnna Fali PROPOSAL
Misaki K ButtGermanyAsiya Javayant QUALIFIED
Alejandro O FigeroaCanadaElwin Sharvill PROPOSAL
Johnson S SchemmerUnited KingdomXuxue Feng RENEWAL
Jeanfrancois S PoquetteIndiaAsiya Javayant UNQUALIFIED
Jones U RutaJapanBernardo Dominic QUALIFIED
Munro G SchemmerUnited KingdomAmy Elsner NEW
Sinclair H GillianUnited KingdomIvan Magalhaes PROPOSAL
Smith I OldroydGermanyIoni Bowcher UNQUALIFIED
Clifford F RoysterItalyAmy Elsner PROPOSAL
Murillo U KolmetzBrazilBernardo Dominic PROPOSAL
Munro L MaletItalyElwin Sharvill UNQUALIFIED
Emily P GarufiAustraliaXuxue Feng QUALIFIED
Nicolas Z PoquetteFranceAsiya Javayant UNQUALIFIED
Claire Z OstroskyFranceXuxue Feng PROPOSAL
Jefferson S WieserArgentinaElwin Sharvill QUALIFIED
Izzy M StensethItalyAsiya Javayant PROPOSAL
Izzy U DilliardCanadaOnyama Limba UNQUALIFIED
Deepesh I VenereGermanyBernardo Dominic NEW
Julie A CaldareraIndiaAsiya Javayant NEW
Cody Q FlosiBrazilIoni Bowcher QUALIFIED
Silvio N MaletAustraliaAsiya Javayant PROPOSAL

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