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
Silvio V PerinRussiaIoni Bowcher NEW
Deepesh R VocelkaAustraliaStephen Shaw NEGOTIATION
Nicolas H StockhamJapanIoni Bowcher RENEWAL
Smith G FigeroaUnited KingdomAnna Fali RENEWAL
Julie M RulapaughJapanAmy Elsner QUALIFIED
Wickens M IturbideRussiaBernardo Dominic PROPOSAL
Munro G FollerItalyOnyama Limba NEGOTIATION
Maisha P StensethAustraliaStephen Shaw PROPOSAL
Jones P RutaCanadaXuxue Feng NEW
Maisha Q CaudyFranceXuxue Feng QUALIFIED
Morrow K OldroydSpainIoni Bowcher PROPOSAL
Deepesh Q SlusarskiSpainOnyama Limba QUALIFIED
Leon Z BologniaArgentinaStephen Shaw NEGOTIATION
Octavia T AlbaresItalyAmy Elsner QUALIFIED
Julie B IturbideJapanBernardo Dominic QUALIFIED
Ashley Z BriddickCanadaAmy Elsner UNQUALIFIED
Jefferson N GauchoJapanOnyama Limba QUALIFIED
Silvio C KuskoItalyIoni Bowcher UNQUALIFIED
Arvin Z ButtIndiaAmy Elsner QUALIFIED
Johnson F PerinCanadaAnna Fali QUALIFIED
Maria K OstroskyAustraliaStephen Shaw NEGOTIATION
Mayumi C OstroskyRussiaIvan Magalhaes NEGOTIATION
Alejandro K BriddickGermanyIoni Bowcher UNQUALIFIED
Kadeem M GarufiCanadaStephen Shaw RENEWAL
Adams V TollnerJapanIvan Magalhaes QUALIFIED
Ivar E WaycottJapanAsiya Javayant NEW
Aika G GillianItalyStephen Shaw PROPOSAL
Morrow V GarufiIndiaAnna Fali PROPOSAL
Julie E InouyeAustraliaAsiya Javayant NEGOTIATION
Salvatore X NestleCanadaXuxue Feng QUALIFIED
Alejandro W KolmetzArgentinaElwin Sharvill QUALIFIED
Aika T ShinkoRussiaAsiya Javayant NEGOTIATION
Juan H BowleyCanadaAsiya Javayant NEW
Jefferson U RimUnited KingdomElwin Sharvill PROPOSAL
Izzy U GauchoGermanyIoni Bowcher QUALIFIED
Claire Z FerenczBrazilIvan Magalhaes PROPOSAL
Alejandro U RutaFranceIoni Bowcher QUALIFIED
Chavez L SchemmerGermanyXuxue Feng QUALIFIED
Adams T AlbaresGermanyAsiya Javayant NEGOTIATION
Francesco X MaletJapanOnyama Limba NEW
Claire T SaylorsBrazilAmy Elsner PROPOSAL
Octavia J RimFranceAnna Fali PROPOSAL
Claire B DarakjySpainBernardo Dominic PROPOSAL
Tony D FerenczUnited KingdomIoni Bowcher NEW
Greenwood B PoquetteBrazilXuxue Feng RENEWAL
Ivar T GauchoAustraliaAnna Fali UNQUALIFIED
Claire T WhobreyIndiaIoni Bowcher UNQUALIFIED
Mujtaba B WaycottCanadaXuxue Feng PROPOSAL
Smith V InouyeSpainElwin Sharvill RENEWAL
Jefferson X WhobreyIndiaAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Ashley Y FollerAustraliaAnna Fali RENEWAL
Izzy I RutaCanadaIoni Bowcher RENEWAL
Jones G ChuiBrazilAsiya Javayant RENEWAL
Tony M InouyeRussiaOnyama Limba NEGOTIATION
Maria I GillianBrazilElwin Sharvill QUALIFIED
Leja U MacleadBrazilIvan Magalhaes QUALIFIED
Nicolas I RulapaughFranceOnyama Limba RENEWAL
Francesco L GarufiGermanyIvan Magalhaes RENEWAL
Tony D MorascaRussiaIvan Magalhaes NEGOTIATION
Rodrigues W PaprockiAustraliaElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon M GauchoCanada2026-08-17Benton, John B Jr RENEWAL83Stephen Shaw
1001Alejandro D OldroydUnited Kingdom2026-07-28Morlong Associates NEGOTIATION24Elwin Sharvill
1002Mujtaba T MaletItaly2026-08-08King, Christopher A Esq RENEWAL96Bernardo Dominic
1003Juan J NickaBrazil2026-08-20Rousseaux, Michael Esq NEW10Anna Fali
1004Darci K WieserAustralia2026-08-19Truhlar And Truhlar Attys UNQUALIFIED1Amy Elsner
1005Silvio M VenereIndia2026-08-05Truhlar And Truhlar Attys UNQUALIFIED38Anna Fali
1006Nicolas A VenereFrance2026-08-23Feltz Printing Service UNQUALIFIED0Ioni Bowcher
1007Claire E RoysterCanada2026-08-24Printing Dimensions QUALIFIED53Xuxue Feng
1008Arvin N ButtItaly2026-08-18Chemel, James L Cpa NEW44Anna Fali
1009Mayumi C RutaFrance2026-08-19Chapman, Ross E Esq PROPOSAL85Asiya Javayant
1010Tony P RutaJapan2026-08-06Chanay, Jeffrey A Esq UNQUALIFIED45Stephen Shaw
1011Leon W SlusarskiIndia2026-08-05Benton, John B Jr NEGOTIATION43Ivan Magalhaes
1012Leja J MaletArgentina2026-08-08Dorl, James J Esq UNQUALIFIED99Anna Fali
1013Aruna B KuskoCanada2026-08-17Dorl, James J Esq QUALIFIED10Onyama Limba
1014Silvio H CampainFrance2026-08-10Buckley Miller Wright QUALIFIED31Onyama Limba
1015Jones E SchemmerCanada2026-07-31Rousseaux, Michael Esq QUALIFIED53Xuxue Feng
1016Jones N DarakjyJapan2026-08-12Printing Dimensions UNQUALIFIED16Ioni Bowcher
1017Antonio E ChuiItaly2026-08-25Feiner Bros NEW27Ioni Bowcher
1018Salvatore Y MarrierBrazil2026-08-04King, Christopher A Esq QUALIFIED89Xuxue Feng
1019Nicolas C DarakjyGermany2026-08-14Benton, John B Jr UNQUALIFIED51Amy Elsner
1020Julie N PoquetteAustralia2026-08-21Dorl, James J Esq NEW88Asiya Javayant
1021Smith S SlusarskiFrance2026-08-20Rousseaux, Michael Esq UNQUALIFIED56Xuxue Feng
1022Francesco O FerenczArgentina2026-08-19Feltz Printing Service RENEWAL79Elwin Sharvill
1023Francesco A FigeroaBrazil2026-08-24Chanay, Jeffrey A Esq UNQUALIFIED19Xuxue Feng
1024Ivar Z FollerFrance2026-08-16Feiner Bros NEGOTIATION26Onyama Limba
1025Jeanfrancois E InouyeFrance2026-08-01Morlong Associates QUALIFIED2Stephen Shaw
1026Murillo D NestleUnited Kingdom2026-08-17Chapman, Ross E Esq QUALIFIED15Xuxue Feng
1027Isabel Q FigeroaGermany2026-08-05Morlong Associates NEGOTIATION38Amy Elsner
1028Francesco X RimJapan2026-08-17Dorl, James J Esq UNQUALIFIED61Stephen Shaw
1029Leon W WaycottBrazil2026-07-29Feltz Printing Service QUALIFIED12Xuxue Feng
1030Aruna W SlusarskiIndia2026-08-05Feiner Bros RENEWAL60Onyama Limba
1031Antonio D WieserArgentina2026-08-18Commercial Press RENEWAL90Stephen Shaw
1032Munro Y GarufiIndia2026-08-08Truhlar And Truhlar Attys PROPOSAL56Stephen Shaw
1033Deepesh M GarufiBrazil2026-08-25Rangoni Of Florence PROPOSAL0Bernardo Dominic
1034Rodrigues A DoeRussia2026-08-02Benton, John B Jr NEGOTIATION15Ivan Magalhaes
1035Misaki Z RutaGermany2026-07-31Rousseaux, Michael Esq NEGOTIATION65Onyama Limba
1036Aika I DarakjyIndia2026-08-05Truhlar And Truhlar Attys UNQUALIFIED58Xuxue Feng
1037Ricardo A StockhamFrance2026-08-19Benton, John B Jr UNQUALIFIED56Ivan Magalhaes
1038Kaitlin C CaudySpain2026-07-30Morlong Associates RENEWAL76Stephen Shaw
1039Aika P PaprockiIndia2026-08-21Buckley Miller Wright QUALIFIED87Bernardo Dominic
1040Wickens S RoysterItaly2026-08-19Chanay, Jeffrey A Esq PROPOSAL35Ivan Magalhaes
1041Clifford G ShinkoAustralia2026-08-08King, Christopher A Esq NEGOTIATION58Bernardo Dominic
1042Faith B MorascaBrazil2026-08-18Rousseaux, Michael Esq PROPOSAL59Ivan Magalhaes
1043Morrow F AmigonBrazil2026-08-01Commercial Press NEW26Amy Elsner
1044Stacey F WaycottUnited Kingdom2026-08-22Chemel, James L Cpa NEW19Anna Fali
1045Johnson E RimGermany2026-08-20Commercial Press NEW17Amy Elsner
1046Arvin L RoysterRussia2026-08-10Benton, John B Jr UNQUALIFIED0Ioni Bowcher
1047Jeanfrancois B OldroydItaly2026-08-07Chemel, James L Cpa PROPOSAL85Ivan Magalhaes
1048Izzy U AmigonFrance2026-07-31Feiner Bros UNQUALIFIED47Asiya Javayant
1049Deepesh Q AlbaresAustralia2026-07-29Buckley Miller Wright NEW27Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Aditya N VenereArgentinaStephen Shaw RENEWAL
Darci L MaletUnited KingdomAmy Elsner PROPOSAL
Greenwood H BowleyUnited KingdomIoni Bowcher NEW
Aruna C IturbideCanadaElwin Sharvill NEGOTIATION
Wickens H PerinArgentinaBernardo Dominic NEW
Johnson J SlusarskiRussiaXuxue Feng NEW
Cody B AlbaresIndiaBernardo Dominic QUALIFIED
Juan Y RulapaughUnited KingdomBernardo Dominic NEW
Munro O InouyeItalyBernardo Dominic QUALIFIED
Antonio Z BriddickIndiaBernardo Dominic NEW
Stacey I GarufiIndiaStephen Shaw RENEWAL
Isabel R PoquetteCanadaAmy Elsner PROPOSAL
Maria W DoeCanadaIoni Bowcher UNQUALIFIED
Darci L AmigonAustraliaAnna Fali UNQUALIFIED
Jones U SchemmerCanadaAsiya Javayant QUALIFIED
Smith Z RulapaughIndiaAsiya Javayant UNQUALIFIED
Emily Z PerinJapanXuxue Feng QUALIFIED
Leja Y OstroskyFranceIoni Bowcher UNQUALIFIED
Jones Y SlusarskiBrazilXuxue Feng RENEWAL
Izzy N DarakjyFranceAsiya Javayant NEGOTIATION
Silvio S PaprockiUnited KingdomStephen Shaw NEGOTIATION
Kaitlin T FollerItalyElwin Sharvill PROPOSAL
Deepesh I WaycottBrazilIvan Magalhaes QUALIFIED
Jeanfrancois S OldroydFranceIvan Magalhaes QUALIFIED
James E BologniaJapanAnna Fali NEGOTIATION
Jeanfrancois G VenereBrazilElwin Sharvill NEW
Silvio S MaletJapanIoni Bowcher RENEWAL
Darci U MacleadCanadaAnna Fali NEW
Ivar E FlosiCanadaIoni Bowcher NEW
Jeanfrancois V ShinkoAustraliaIvan Magalhaes QUALIFIED
Aika H CampainAustraliaOnyama Limba QUALIFIED
Mayumi K CaldareraSpainAsiya Javayant NEGOTIATION
Faith A ChuiCanadaStephen Shaw UNQUALIFIED
James Z WaycottSpainOnyama Limba QUALIFIED
Aika H MaletUnited KingdomAmy Elsner PROPOSAL
Ricardo H WaycottAustraliaAnna Fali RENEWAL
Darci B InouyeJapanOnyama Limba NEGOTIATION
Juan O StensethCanadaIoni Bowcher NEGOTIATION
Morrow M DilliardAustraliaOnyama Limba QUALIFIED
Smith Q WhobreyCanadaAmy Elsner RENEWAL
Deepesh L AlbaresSpainIvan Magalhaes NEGOTIATION
Nicolas Q SergiFranceIoni Bowcher PROPOSAL
Nicolas C FigeroaFranceElwin Sharvill PROPOSAL
Tony D StensethIndiaXuxue Feng QUALIFIED
Faith H FollerFranceIoni Bowcher UNQUALIFIED
Izzy S VocelkaCanadaIoni Bowcher NEW
Leon J AlbaresIndiaAnna Fali UNQUALIFIED
Alejandro X OstroskyArgentinaIvan Magalhaes NEGOTIATION
Octavia P SaylorsItalyIvan Magalhaes NEGOTIATION
Ivar A BriddickGermanyIoni Bowcher NEW
Frozen Columns
Name
Misaki N Albares
Rodrigues N Saylors
Nicolas V Stockham
Misaki M Chui
Jeanfrancois V Doe
Jefferson S Ferencz
Clifford M Rim
Claire T Inouye
Alejandro N Campain
Octavia S Doe
Cody W Bolognia
Aditya B Poquette
Greenwood L Darakjy
Chavez E Malet
Stacey F Shinko
Juan O Albares
Antonio X Chui
Nicolas W Saylors
Jennifer V Malet
Jeanfrancois G Stenseth
Jefferson Y Stockham
Jones B Rulapaugh
Johnson J Gaucho
Jefferson Y Flosi
Francesco Y Kolmetz
James P Schemmer
Alejandro Y Malet
Greenwood G Stenseth
Alejandro T Vocelka
Francesco G Schemmer
Kadeem J Sergi
Sinclair F Doe
Morrow L Glick
Claire T Sergi
Aruna G Marrier
Izzy A Briddick
Antonio P Malet
Maisha I Nestle
Maria X Inouye
Smith J Kolmetz
Rodrigues D Rulapaugh
Greenwood N Maclead
Munro G Wieser
Ivar S Morasca
Jennifer U Gillian
Isabel S Royster
Aditya E Campain
Ashley W Waycott
Kadeem H Marrier
Leja F Gillian
IdCountryDate
1000Argentina2026-08-22
1001Brazil2026-08-21
1002Japan2026-08-10
1003Spain2026-08-18
1004Brazil2026-08-01
1005Italy2026-08-15
1006Japan2026-08-24
1007Australia2026-07-28
1008India2026-08-01
1009Argentina2026-07-28
1010India2026-08-06
1011Canada2026-07-31
1012Germany2026-08-23
1013Canada2026-08-07
1014Russia2026-08-03
1015France2026-08-14
1016Italy2026-07-29
1017Russia2026-08-11
1018Brazil2026-08-12
1019United Kingdom2026-07-28
1020Brazil2026-08-24
1021Spain2026-08-03
1022Italy2026-08-02
1023Australia2026-08-15
1024Russia2026-08-07
1025Australia2026-08-02
1026Russia2026-08-05
1027Russia2026-08-19
1028Argentina2026-08-05
1029Australia2026-08-06
1030Russia2026-08-13
1031Canada2026-08-22
1032Brazil2026-08-02
1033Japan2026-08-21
1034Germany2026-08-16
1035India2026-08-06
1036Australia2026-07-28
1037Italy2026-08-22
1038Brazil2026-08-18
1039Argentina2026-08-21
1040Germany2026-08-01
1041Argentina2026-08-25
1042Brazil2026-08-08
1043Argentina2026-08-03
1044United Kingdom2026-08-22
1045United Kingdom2026-08-17
1046India2026-08-11
1047Germany2026-08-20
1048Italy2026-08-08
1049Spain2026-08-12

On-Demand Data

NameIdCountryDate
Alejandro M Waycott1000Brazil2026-08-13
Jones G Amigon1001Australia2026-08-12
Jones C Nestle1002United Kingdom2026-08-11
Leja R Wieser1003Russia2026-08-13
Aruna N Gillian1004Australia2026-08-15
Clifford U Whobrey1005Canada2026-08-17
Emily I Tollner1006Japan2026-08-26
Murillo U Waycott1007Argentina2026-08-26
Ashley Y Perin1008Spain2026-08-16
Francesco N Iturbide1009Australia2026-08-23
Izzy K Kusko1010Brazil2026-08-21
Aditya U Poquette1011Brazil2026-08-13
Clifford W Albares1012Spain2026-08-14
Emily J Malet1013Brazil2026-08-01
Wickens Q Iturbide1014Japan2026-08-15
Maria F Bolognia1015Spain2026-08-06
Stacey O Flosi1016Spain2026-08-03
Maisha N Bolognia1017Italy2026-08-16
Leja W Rulapaugh1018France2026-08-09
Deepesh J Kolmetz1019Spain2026-08-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha L KuskoAustraliaAsiya Javayant QUALIFIED
Darci I GauchoSpainAmy Elsner RENEWAL
Ivar R GauchoRussiaAsiya Javayant UNQUALIFIED
Julie D PoquetteItalyOnyama Limba RENEWAL
Jennifer Z GauchoArgentinaAnna Fali NEW
Wickens P RoysterSpainIvan Magalhaes NEGOTIATION
Julie A GarufiBrazilStephen Shaw QUALIFIED
Kaitlin Q SchemmerIndiaElwin Sharvill PROPOSAL
Misaki H BowleyRussiaIvan Magalhaes PROPOSAL
Tony Z RimFranceOnyama Limba RENEWAL
Jefferson P RoysterCanadaStephen Shaw PROPOSAL
Juan E CaldareraItalyAsiya Javayant NEGOTIATION
Alejandro W MaletRussiaAmy Elsner UNQUALIFIED
Leon V ShinkoGermanyStephen Shaw NEGOTIATION
Aruna Z DilliardAustraliaStephen Shaw RENEWAL
Antonio X WaycottJapanAsiya Javayant QUALIFIED
Deepesh X ButtIndiaIvan Magalhaes QUALIFIED
Antonio M CampainSpainAnna Fali PROPOSAL
Wickens T DarakjyFranceAmy Elsner PROPOSAL
Tony R DarakjyBrazilStephen Shaw UNQUALIFIED
Cody I GillianItalyAnna Fali NEGOTIATION
Costa I PaprockiRussiaAsiya Javayant QUALIFIED
Isabel T ShinkoUnited KingdomAmy Elsner NEW
Leja R CaudyCanadaAnna Fali UNQUALIFIED
Maria Z BriddickSpainAmy Elsner UNQUALIFIED
Alejandro V SchemmerFranceIoni Bowcher NEGOTIATION
Misaki D MarrierUnited KingdomAsiya Javayant NEW
Isabel R SlusarskiGermanyXuxue Feng NEGOTIATION
Nicolas D InouyeArgentinaXuxue Feng NEW
Deepesh B SlusarskiItalyAnna Fali RENEWAL
Morrow M MorascaUnited KingdomIvan Magalhaes NEGOTIATION
Isabel R WaycottRussiaAsiya Javayant NEGOTIATION
Mayumi M SaylorsAustraliaAnna Fali NEGOTIATION
Jefferson F GillianSpainAmy Elsner NEGOTIATION
Aika J KolmetzCanadaElwin Sharvill RENEWAL
Octavia Q WaycottGermanyStephen Shaw QUALIFIED
Ricardo D RoysterArgentinaStephen Shaw QUALIFIED
Kadeem H NestleIndiaElwin Sharvill PROPOSAL
Ricardo Y WhobreyFranceStephen Shaw NEGOTIATION
Ivar C GlickRussiaBernardo Dominic 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>