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
Maisha V RoysterGermanyAsiya Javayant UNQUALIFIED
Nicolas V CaldareraGermanyStephen Shaw RENEWAL
Darci R RutaGermanyOnyama Limba RENEWAL
Jeanfrancois D PerinAustraliaIoni Bowcher NEW
Clifford T ChuiGermanyOnyama Limba PROPOSAL
Costa E KuskoUnited KingdomIvan Magalhaes QUALIFIED
Alejandro L ChuiArgentinaAnna Fali NEW
Jones R SergiArgentinaAnna Fali RENEWAL
Mayumi A GarufiBrazilOnyama Limba PROPOSAL
Julie H GarufiArgentinaStephen Shaw NEGOTIATION
Maria P DilliardBrazilStephen Shaw PROPOSAL
Aditya J FerenczAustraliaAmy Elsner RENEWAL
Maria Q ButtFranceXuxue Feng NEGOTIATION
Emily D VocelkaBrazilBernardo Dominic NEGOTIATION
Mujtaba B StockhamCanadaStephen Shaw UNQUALIFIED
Emily E RulapaughJapanIvan Magalhaes UNQUALIFIED
Francesco F PerinBrazilStephen Shaw QUALIFIED
Johnson K AlbaresFranceAnna Fali PROPOSAL
Munro E GauchoAustraliaElwin Sharvill QUALIFIED
Octavia M RutaAustraliaIoni Bowcher NEGOTIATION
Juan N ButtIndiaAmy Elsner NEW
Mayumi X ButtJapanAmy Elsner NEGOTIATION
Isabel F WaycottCanadaBernardo Dominic RENEWAL
Stacey P InouyeAustraliaAnna Fali UNQUALIFIED
Kadeem A IturbideUnited KingdomAnna Fali NEGOTIATION
Misaki F FigeroaArgentinaIvan Magalhaes PROPOSAL
Julie H WhobreyBrazilAnna Fali PROPOSAL
Juan M WieserItalyStephen Shaw RENEWAL
Emily D NestleArgentinaIoni Bowcher PROPOSAL
Salvatore W CaldareraUnited KingdomIoni Bowcher PROPOSAL
James G WhobreyGermanyIoni Bowcher UNQUALIFIED
Ivar K KuskoAustraliaIoni Bowcher PROPOSAL
Jennifer S StockhamUnited KingdomAnna Fali NEW
Costa T AmigonJapanAmy Elsner RENEWAL
Kadeem C DilliardGermanyXuxue Feng UNQUALIFIED
Costa O AlbaresFranceElwin Sharvill NEGOTIATION
Silvio Y InouyeJapanXuxue Feng RENEWAL
Misaki X PerinFranceOnyama Limba NEW
Jefferson W RimUnited KingdomAsiya Javayant PROPOSAL
Clifford L SaylorsUnited KingdomIvan Magalhaes UNQUALIFIED
Aditya R WhobreyIndiaIvan Magalhaes NEW
Julie L GillianGermanyAsiya Javayant QUALIFIED
Greenwood V CaudyGermanyXuxue Feng NEW
Leon L OldroydFranceXuxue Feng QUALIFIED
Kaitlin K FlosiBrazilAmy Elsner QUALIFIED
Rodrigues R NestleFranceIvan Magalhaes NEW
Misaki W MaletBrazilBernardo Dominic UNQUALIFIED
Emily M FollerUnited KingdomIvan Magalhaes NEGOTIATION
Jennifer I CampainArgentinaBernardo Dominic PROPOSAL
Faith Q GarufiSpainAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Sinclair Y ShinkoSpainElwin Sharvill UNQUALIFIED
Octavia N MarrierCanadaOnyama Limba PROPOSAL
Isabel Q CaldareraUnited KingdomOnyama Limba NEW
Faith O ChuiUnited KingdomAsiya Javayant QUALIFIED
Maria G CaldareraSpainStephen Shaw NEGOTIATION
Chavez S IturbideItalyAmy Elsner PROPOSAL
Jones F OstroskyIndiaAmy Elsner PROPOSAL
Mayumi Q RoysterBrazilIvan Magalhaes PROPOSAL
Ricardo N VenereJapanAmy Elsner RENEWAL
Ricardo A WhobreyGermanyStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez O DarakjyRussia2024-06-06Chanay, Jeffrey A Esq QUALIFIED14Amy Elsner
1001Greenwood P BologniaUnited Kingdom2024-06-20Chapman, Ross E Esq NEGOTIATION32Amy Elsner
1002Francesco T GauchoUnited Kingdom2024-06-13Benton, John B Jr RENEWAL44Xuxue Feng
1003Mujtaba O CaldareraJapan2024-06-01Chanay, Jeffrey A Esq PROPOSAL20Ioni Bowcher
1004Ivar J InouyeAustralia2024-06-16Buckley Miller Wright NEW35Onyama Limba
1005Morrow H VenereRussia2024-06-08Truhlar And Truhlar Attys RENEWAL81Asiya Javayant
1006Darci W StensethFrance2024-06-02Feltz Printing Service QUALIFIED13Anna Fali
1007Maisha W OstroskyJapan2024-06-09Buckley Miller Wright NEW50Anna Fali
1008Misaki G DoeJapan2024-06-18Benton, John B Jr NEGOTIATION19Ioni Bowcher
1009Arvin Z VenereItaly2024-06-18Feltz Printing Service NEGOTIATION1Onyama Limba
1010Kaitlin D IturbideIndia2024-06-07Buckley Miller Wright QUALIFIED30Asiya Javayant
1011Johnson V BologniaUnited Kingdom2024-06-14Rangoni Of Florence QUALIFIED18Stephen Shaw
1012Stacey G StensethUnited Kingdom2024-06-20Feltz Printing Service PROPOSAL47Stephen Shaw
1013Francesco E OstroskyBrazil2024-06-06Chemel, James L Cpa QUALIFIED69Elwin Sharvill
1014Emily B CampainAustralia2024-06-20Chanay, Jeffrey A Esq NEGOTIATION76Bernardo Dominic
1015Cody C WaycottIndia2024-06-17Rousseaux, Michael Esq QUALIFIED81Ioni Bowcher
1016Rodrigues O SlusarskiGermany2024-06-14Truhlar And Truhlar Attys QUALIFIED97Stephen Shaw
1017Murillo U GarufiUnited Kingdom2024-06-02Feltz Printing Service UNQUALIFIED74Asiya Javayant
1018Ivar A FlosiUnited Kingdom2024-06-10Benton, John B Jr RENEWAL71Ivan Magalhaes
1019Nicolas T MaletSpain2024-06-07Benton, John B Jr QUALIFIED44Anna Fali
1020Rodrigues Y VenereUnited Kingdom2024-06-11Chapman, Ross E Esq UNQUALIFIED94Bernardo Dominic
1021Salvatore O PoquetteIndia2024-05-30King, Christopher A Esq PROPOSAL81Anna Fali
1022Kaitlin J BowleyCanada2024-06-08Truhlar And Truhlar Attys NEGOTIATION31Amy Elsner
1023Silvio R RimCanada2024-06-18Truhlar And Truhlar Attys UNQUALIFIED99Ioni Bowcher
1024Maisha G GillianCanada2024-05-31Buckley Miller Wright NEW94Ivan Magalhaes
1025Aruna F MarrierRussia2024-06-01Chapman, Ross E Esq RENEWAL94Stephen Shaw
1026Ashley O OstroskyAustralia2024-06-05King, Christopher A Esq NEW14Anna Fali
1027Jones V GauchoSpain2024-06-17Printing Dimensions NEGOTIATION78Ivan Magalhaes
1028David L BriddickJapan2024-06-01Benton, John B Jr NEW96Amy Elsner
1029Deepesh Y MaletBrazil2024-05-25Rousseaux, Michael Esq PROPOSAL45Ivan Magalhaes
1030Misaki Z CaudyArgentina2024-06-11Chanay, Jeffrey A Esq RENEWAL41Stephen Shaw
1031Silvio J TollnerSpain2024-06-10Rousseaux, Michael Esq QUALIFIED83Ioni Bowcher
1032Adams E DoeIndia2024-05-30Chemel, James L Cpa RENEWAL7Onyama Limba
1033Adams G KuskoFrance2024-05-30King, Christopher A Esq RENEWAL22Ioni Bowcher
1034Sinclair P SlusarskiGermany2024-06-14Truhlar And Truhlar Attys RENEWAL54Onyama Limba
1035Maria V MarrierRussia2024-06-21Buckley Miller Wright NEW9Elwin Sharvill
1036Aika N SergiSpain2024-06-13Chanay, Jeffrey A Esq RENEWAL30Stephen Shaw
1037Mujtaba A InouyeSpain2024-06-13Truhlar And Truhlar Attys RENEWAL20Amy Elsner
1038Darci G RulapaughFrance2024-06-21Truhlar And Truhlar Attys PROPOSAL31Xuxue Feng
1039Sinclair F ChuiFrance2024-06-18Printing Dimensions NEW25Xuxue Feng
1040Jefferson U PerinGermany2024-06-19Buckley Miller Wright PROPOSAL32Ioni Bowcher
1041Cody K SergiItaly2024-05-26Feiner Bros RENEWAL93Amy Elsner
1042Ashley P VenereBrazil2024-06-09Chanay, Jeffrey A Esq QUALIFIED18Ioni Bowcher
1043Sinclair A KuskoIndia2024-06-20King, Christopher A Esq RENEWAL46Ioni Bowcher
1044Jefferson B MaletAustralia2024-06-11Benton, John B Jr UNQUALIFIED26Amy Elsner
1045Deepesh M PoquetteUnited Kingdom2024-06-17Benton, John B Jr RENEWAL96Onyama Limba
1046Kadeem W RimAustralia2024-06-14Rousseaux, Michael Esq UNQUALIFIED53Amy Elsner
1047Stacey N RimGermany2024-06-14Buckley Miller Wright QUALIFIED44Onyama Limba
1048Clifford H OstroskySpain2024-06-07Rousseaux, Michael Esq RENEWAL65Stephen Shaw
1049Maisha A TollnerIndia2024-06-09Benton, John B Jr QUALIFIED70Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Ashley W StockhamBrazilAmy Elsner NEGOTIATION
Faith N WhobreyAustraliaBernardo Dominic PROPOSAL
Smith V VenereFranceBernardo Dominic QUALIFIED
Costa B CampainJapanXuxue Feng UNQUALIFIED
Wickens W SchemmerUnited KingdomStephen Shaw PROPOSAL
Clifford J SchemmerAustraliaElwin Sharvill UNQUALIFIED
Alejandro K OldroydSpainXuxue Feng NEGOTIATION
Jeanfrancois C DarakjySpainXuxue Feng PROPOSAL
Alejandro J DoeBrazilStephen Shaw NEGOTIATION
Greenwood E DoeBrazilAnna Fali PROPOSAL
Julie T MarrierIndiaBernardo Dominic QUALIFIED
Alejandro D DilliardCanadaAsiya Javayant NEGOTIATION
Tony V CaldareraArgentinaAsiya Javayant NEGOTIATION
Izzy R WieserSpainElwin Sharvill PROPOSAL
Ricardo A NickaUnited KingdomBernardo Dominic NEGOTIATION
Aditya T NestleFranceIvan Magalhaes NEGOTIATION
Darci S FlosiArgentinaIoni Bowcher QUALIFIED
Alejandro S DarakjyGermanyXuxue Feng NEW
Aditya J GarufiJapanIoni Bowcher RENEWAL
Octavia M OldroydRussiaOnyama Limba RENEWAL
Antonio P WieserGermanyIvan Magalhaes NEW
Tony F ShinkoBrazilAnna Fali NEGOTIATION
Alejandro Y WieserUnited KingdomStephen Shaw UNQUALIFIED
Faith Y SlusarskiBrazilAsiya Javayant NEW
Misaki D CaudyFranceBernardo Dominic QUALIFIED
James D GillianFranceAsiya Javayant NEW
Alejandro O WieserArgentinaBernardo Dominic NEW
Ashley T WieserGermanyElwin Sharvill NEGOTIATION
Ricardo I PerinArgentinaIvan Magalhaes NEW
Kaitlin L WaycottBrazilAsiya Javayant NEW
Mujtaba D TollnerAustraliaXuxue Feng UNQUALIFIED
Maria T RutaJapanAsiya Javayant NEW
Alejandro R FollerSpainXuxue Feng NEW
Kadeem H CampainUnited KingdomAnna Fali UNQUALIFIED
Julie T FigeroaUnited KingdomAsiya Javayant NEW
Costa E RutaJapanAsiya Javayant QUALIFIED
Kadeem R ButtIndiaBernardo Dominic NEGOTIATION
Costa N AmigonArgentinaAnna Fali PROPOSAL
Juan U BriddickIndiaXuxue Feng RENEWAL
Claire Y GauchoCanadaStephen Shaw NEGOTIATION
Alejandro I SergiGermanyIoni Bowcher PROPOSAL
Kaitlin F PaprockiArgentinaIvan Magalhaes UNQUALIFIED
Cody V RutaGermanyIvan Magalhaes RENEWAL
Mujtaba C CaudyAustraliaStephen Shaw NEW
Maisha E OldroydJapanIvan Magalhaes NEGOTIATION
Kaitlin M RutaJapanXuxue Feng NEGOTIATION
Rodrigues W BowleyCanadaAnna Fali NEGOTIATION
Izzy C AmigonCanadaAnna Fali UNQUALIFIED
Costa R FerenczCanadaXuxue Feng PROPOSAL
Salvatore B FerenczAustraliaOnyama Limba QUALIFIED
Frozen Columns
Name
Morrow R Ostrosky
Maisha O Malet
Morrow B Rulapaugh
Aika N Nestle
Maria W Perin
Adams Y Garufi
Darci T Amigon
David N Caldarera
Greenwood K Foller
Cody P Caldarera
Smith L Bowley
Darci M Tollner
Alejandro S Foller
Maisha U Doe
Emily U Darakjy
Antonio W Caldarera
Salvatore L Figeroa
Deepesh B Gillian
Cody E Malet
Mayumi Q Glick
Nicolas K Maclead
Jefferson L Figeroa
Maisha U Oldroyd
Francesco D Waycott
Isabel U Nestle
Deepesh B Iturbide
Wickens H Kusko
Aruna X Briddick
Julie W Vocelka
Izzy Y Malet
Darci I Maclead
Salvatore H Rulapaugh
Isabel Z Campain
Mayumi F Schemmer
David Y Stenseth
Mayumi Z Vocelka
Munro Y Oldroyd
Antonio K Wieser
Alejandro Y Tollner
Costa K Slusarski
Silvio H Tollner
Kaitlin G Waycott
Antonio P Stockham
Jeanfrancois L Amigon
Adams T Sergi
Ashley G Bowley
Maisha O Venere
Mayumi F Nicka
James T Venere
Wickens E Perin
IdCountryDate
1000Australia2024-06-10
1001Germany2024-06-04
1002Australia2024-06-17
1003Russia2024-05-31
1004Italy2024-06-18
1005India2024-06-05
1006Russia2024-06-06
1007Spain2024-06-01
1008France2024-06-15
1009Canada2024-06-19
1010Canada2024-06-18
1011France2024-05-26
1012France2024-06-15
1013Canada2024-05-29
1014Canada2024-06-09
1015Russia2024-06-19
1016France2024-06-01
1017Australia2024-06-07
1018Spain2024-06-13
1019Russia2024-06-19
1020Russia2024-05-27
1021Argentina2024-06-14
1022Argentina2024-06-03
1023Japan2024-06-01
1024Argentina2024-06-03
1025Japan2024-06-16
1026Brazil2024-06-05
1027Brazil2024-06-02
1028United Kingdom2024-06-21
1029Canada2024-06-10
1030Italy2024-05-30
1031United Kingdom2024-06-01
1032Argentina2024-06-23
1033France2024-06-06
1034United Kingdom2024-06-23
1035Canada2024-05-28
1036France2024-05-27
1037Italy2024-06-05
1038United Kingdom2024-06-16
1039Canada2024-06-05
1040Australia2024-06-20
1041Brazil2024-05-29
1042United Kingdom2024-06-01
1043France2024-06-08
1044France2024-06-08
1045India2024-06-07
1046Russia2024-06-02
1047Russia2024-06-09
1048Brazil2024-06-07
1049Spain2024-06-07

On-Demand Data

NameIdCountryDate
Octavia M Dilliard1000Argentina2024-06-23
Claire W Darakjy1001Argentina2024-05-28
Aditya N Schemmer1002Brazil2024-05-26
Jennifer Q Stenseth1003Germany2024-06-12
Mayumi O Ruta1004Brazil2024-06-02
Isabel O Vocelka1005France2024-05-28
Adams K Garufi1006Japan2024-06-19
Greenwood D Whobrey1007Australia2024-06-02
Costa Z Poquette1008Spain2024-06-04
Jennifer P Marrier1009Spain2024-06-09
Jennifer T Vocelka1010Brazil2024-06-18
Aika P Dilliard1011Brazil2024-06-03
Izzy M Paprocki1012Japan2024-05-28
Murillo G Waycott1013India2024-06-17
Clifford A Chui1014Argentina2024-06-15
Morrow K Iturbide1015Canada2024-06-09
Antonio A Bowley1016Spain2024-05-25
Jennifer M Butt1017Argentina2024-05-25
Isabel A Sergi1018India2024-06-06
Antonio N Marrier1019Canada2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James I RutaIndiaIvan Magalhaes PROPOSAL
David R RulapaughItalyIoni Bowcher RENEWAL
Antonio Y MaletAustraliaElwin Sharvill RENEWAL
Salvatore K CampainFranceIoni Bowcher UNQUALIFIED
Stacey B VocelkaRussiaAnna Fali RENEWAL
Izzy L KolmetzBrazilElwin Sharvill RENEWAL
Darci N CaldareraIndiaOnyama Limba NEW
Octavia A CampainUnited KingdomElwin Sharvill PROPOSAL
Jennifer P RutaCanadaElwin Sharvill PROPOSAL
Stacey Z SchemmerGermanyIvan Magalhaes UNQUALIFIED
Jefferson L SlusarskiItalyStephen Shaw RENEWAL
Morrow X CaldareraSpainAsiya Javayant QUALIFIED
Arvin D MaletAustraliaAnna Fali PROPOSAL
Antonio N RimJapanXuxue Feng NEW
Deepesh G SaylorsIndiaElwin Sharvill PROPOSAL
Leja O TollnerGermanyXuxue Feng UNQUALIFIED
Octavia I CaudyFranceXuxue Feng QUALIFIED
Wickens D ChuiIndiaIvan Magalhaes NEW
Faith S VocelkaBrazilBernardo Dominic RENEWAL
Kadeem X MaletCanadaStephen Shaw NEGOTIATION
Jefferson E GlickIndiaBernardo Dominic PROPOSAL
Aditya U FigeroaArgentinaElwin Sharvill NEW
Adams B RutaBrazilAmy Elsner UNQUALIFIED
Aika J RimAustraliaIoni Bowcher UNQUALIFIED
Maisha M SaylorsGermanyIvan Magalhaes PROPOSAL
Isabel O SergiBrazilAnna Fali QUALIFIED
Leon X KolmetzUnited KingdomOnyama Limba PROPOSAL
Claire E ChuiFranceOnyama Limba QUALIFIED
Arvin L GauchoIndiaIvan Magalhaes PROPOSAL
Costa A VocelkaItalyElwin Sharvill UNQUALIFIED
Wickens I SaylorsItalyAmy Elsner UNQUALIFIED
Clifford C GauchoUnited KingdomAsiya Javayant PROPOSAL
Leja N MacleadFranceAsiya Javayant PROPOSAL
Maisha R FigeroaSpainBernardo Dominic PROPOSAL
Aika A WhobreyJapanElwin Sharvill NEW
Wickens M FerenczBrazilOnyama Limba QUALIFIED
Leon Q DarakjyArgentinaElwin Sharvill RENEWAL
Morrow L NestleItalyXuxue Feng UNQUALIFIED
Izzy R VenereJapanIvan Magalhaes QUALIFIED
Costa R PoquetteSpainAnna Fali UNQUALIFIED

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