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
Izzy F VenereArgentinaElwin Sharvill NEGOTIATION
Greenwood U KuskoGermanyXuxue Feng QUALIFIED
Leja V SchemmerRussiaElwin Sharvill NEGOTIATION
Ricardo E SchemmerCanadaOnyama Limba UNQUALIFIED
Wickens J DoeAustraliaElwin Sharvill QUALIFIED
Faith B NestleAustraliaAsiya Javayant RENEWAL
Salvatore I DarakjySpainAmy Elsner NEW
Aika T KuskoUnited KingdomAsiya Javayant PROPOSAL
Ivar G SchemmerUnited KingdomBernardo Dominic PROPOSAL
Arvin Q RimItalyBernardo Dominic UNQUALIFIED
Cody T CaldareraItalyStephen Shaw UNQUALIFIED
Adams J AmigonJapanAnna Fali PROPOSAL
Darci Y VenereIndiaAsiya Javayant QUALIFIED
Isabel D WaycottJapanIvan Magalhaes UNQUALIFIED
Leon C SergiRussiaElwin Sharvill NEGOTIATION
Jennifer B DoeBrazilOnyama Limba NEW
Salvatore I SlusarskiJapanOnyama Limba UNQUALIFIED
Ivar F BriddickJapanAmy Elsner NEW
Aruna G TollnerAustraliaStephen Shaw UNQUALIFIED
Ashley W SaylorsArgentinaElwin Sharvill RENEWAL
Isabel I RutaJapanIoni Bowcher NEW
Juan S RoysterUnited KingdomIvan Magalhaes NEGOTIATION
Juan J AmigonAustraliaAnna Fali UNQUALIFIED
Smith F WaycottRussiaAsiya Javayant UNQUALIFIED
Aruna R GauchoIndiaElwin Sharvill NEW
Aditya L WaycottRussiaAmy Elsner UNQUALIFIED
Isabel O IturbideFranceOnyama Limba NEW
Munro T RoysterCanadaAmy Elsner RENEWAL
Aika F AlbaresFranceBernardo Dominic PROPOSAL
Claire H DoeUnited KingdomAmy Elsner NEW
James T RoysterCanadaAmy Elsner NEGOTIATION
Antonio X RoysterRussiaAnna Fali PROPOSAL
Kaitlin A PerinRussiaElwin Sharvill UNQUALIFIED
Julie S InouyeCanadaIoni Bowcher UNQUALIFIED
Johnson M MorascaIndiaXuxue Feng RENEWAL
James H ButtBrazilOnyama Limba NEW
Jeanfrancois C SchemmerItalyIvan Magalhaes UNQUALIFIED
David D RulapaughGermanyOnyama Limba NEGOTIATION
Aditya Z RulapaughGermanyStephen Shaw PROPOSAL
Leon W RutaRussiaAmy Elsner PROPOSAL
Johnson R AlbaresFranceStephen Shaw NEW
Wickens Z MaletItalyIvan Magalhaes PROPOSAL
Leon Z IturbideArgentinaStephen Shaw NEGOTIATION
Adams W RutaFranceStephen Shaw NEW
David X PoquetteBrazilElwin Sharvill UNQUALIFIED
Smith K InouyeBrazilIvan Magalhaes UNQUALIFIED
Isabel J StockhamArgentinaIvan Magalhaes PROPOSAL
Izzy A InouyeUnited KingdomBernardo Dominic PROPOSAL
James I WieserItalyBernardo Dominic NEGOTIATION
Darci Q ChuiRussiaIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mayumi M StockhamBrazilBernardo Dominic NEGOTIATION
Antonio P BowleyJapanBernardo Dominic PROPOSAL
Kaitlin M DoeBrazilAnna Fali NEGOTIATION
Nicolas D BowleyGermanyElwin Sharvill NEW
Chavez O MarrierArgentinaAnna Fali QUALIFIED
Nicolas R WhobreyJapanOnyama Limba RENEWAL
Adams D DilliardSpainIvan Magalhaes QUALIFIED
Deepesh Z PaprockiSpainAnna Fali RENEWAL
Kaitlin W AmigonBrazilAnna Fali PROPOSAL
Mujtaba H PerinIndiaIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan S AmigonCanada2024-06-20Truhlar And Truhlar Attys NEGOTIATION85Bernardo Dominic
1001Darci R WaycottCanada2024-06-05Feltz Printing Service UNQUALIFIED20Elwin Sharvill
1002Darci T StockhamAustralia2024-06-16Benton, John B Jr NEW26Xuxue Feng
1003Munro R ButtItaly2024-05-28Chapman, Ross E Esq PROPOSAL19Anna Fali
1004Sinclair A AlbaresUnited Kingdom2024-06-03Rousseaux, Michael Esq NEGOTIATION80Xuxue Feng
1005Aruna J DilliardUnited Kingdom2024-05-29King, Christopher A Esq PROPOSAL57Onyama Limba
1006Deepesh U TollnerArgentina2024-05-25Truhlar And Truhlar Attys RENEWAL16Elwin Sharvill
1007Francesco Q DoeCanada2024-05-30Commercial Press NEGOTIATION76Anna Fali
1008Salvatore V WhobreyRussia2024-06-12Dorl, James J Esq NEW18Ivan Magalhaes
1009Chavez A RulapaughFrance2024-05-30Chapman, Ross E Esq RENEWAL16Onyama Limba
1010Sinclair T InouyeJapan2024-05-26Feltz Printing Service NEGOTIATION39Elwin Sharvill
1011Salvatore B FlosiSpain2024-06-19Rousseaux, Michael Esq UNQUALIFIED85Anna Fali
1012Emily V DoeSpain2024-06-15King, Christopher A Esq RENEWAL92Ioni Bowcher
1013Francesco X MacleadCanada2024-06-17Benton, John B Jr PROPOSAL53Anna Fali
1014Darci T MaletBrazil2024-06-09Commercial Press NEW14Bernardo Dominic
1015Octavia Q KolmetzArgentina2024-06-08Rousseaux, Michael Esq PROPOSAL71Onyama Limba
1016Maisha R GarufiCanada2024-05-27Chemel, James L Cpa NEGOTIATION48Stephen Shaw
1017Isabel V WaycottAustralia2024-05-30Chapman, Ross E Esq UNQUALIFIED41Ivan Magalhaes
1018Arvin C GillianIndia2024-06-02Rousseaux, Michael Esq UNQUALIFIED30Ivan Magalhaes
1019Wickens X DoeJapan2024-06-11Chapman, Ross E Esq NEGOTIATION7Elwin Sharvill
1020Jeanfrancois G KolmetzFrance2024-05-26Feltz Printing Service UNQUALIFIED78Xuxue Feng
1021Rodrigues D DilliardCanada2024-06-22Morlong Associates QUALIFIED76Bernardo Dominic
1022Adams V GarufiIndia2024-06-13Morlong Associates NEW15Stephen Shaw
1023Maria C PerinJapan2024-06-09Chanay, Jeffrey A Esq NEW55Ivan Magalhaes
1024Murillo G KolmetzItaly2024-05-27Dorl, James J Esq QUALIFIED63Amy Elsner
1025Jefferson I ButtBrazil2024-06-13Commercial Press RENEWAL43Elwin Sharvill
1026Nicolas C RulapaughRussia2024-06-01Truhlar And Truhlar Attys RENEWAL29Xuxue Feng
1027Munro K MorascaCanada2024-05-29Feiner Bros NEGOTIATION35Amy Elsner
1028Aika W OstroskyBrazil2024-06-20Morlong Associates RENEWAL35Anna Fali
1029Silvio B CaudySpain2024-06-04Buckley Miller Wright QUALIFIED25Elwin Sharvill
1030Clifford A KuskoArgentina2024-06-16Chemel, James L Cpa RENEWAL16Onyama Limba
1031Nicolas E MaletJapan2024-06-11Buckley Miller Wright RENEWAL78Anna Fali
1032Juan N KuskoArgentina2024-06-17Chemel, James L Cpa NEW48Asiya Javayant
1033Johnson P RulapaughRussia2024-06-12Morlong Associates UNQUALIFIED4Elwin Sharvill
1034Greenwood A GauchoItaly2024-05-28Chanay, Jeffrey A Esq NEW26Stephen Shaw
1035Ricardo E VenereJapan2024-06-16Feltz Printing Service PROPOSAL75Asiya Javayant
1036Juan Q VocelkaIndia2024-05-28Chemel, James L Cpa UNQUALIFIED76Amy Elsner
1037Morrow A CaudyArgentina2024-06-09Feiner Bros QUALIFIED32Onyama Limba
1038Ivar A FlosiItaly2024-05-27Dorl, James J Esq QUALIFIED17Bernardo Dominic
1039Tony G FlosiGermany2024-06-18Chapman, Ross E Esq PROPOSAL39Ioni Bowcher
1040Greenwood O NickaSpain2024-05-29Chanay, Jeffrey A Esq PROPOSAL68Amy Elsner
1041Jefferson I PoquetteIndia2024-05-30Morlong Associates RENEWAL69Bernardo Dominic
1042Munro C AlbaresBrazil2024-06-17Morlong Associates QUALIFIED37Ivan Magalhaes
1043Stacey G ShinkoRussia2024-05-31Printing Dimensions RENEWAL16Stephen Shaw
1044Stacey T FlosiFrance2024-05-26Chemel, James L Cpa UNQUALIFIED41Bernardo Dominic
1045Aika E RutaFrance2024-05-28Morlong Associates UNQUALIFIED28Stephen Shaw
1046Johnson M OldroydJapan2024-06-08King, Christopher A Esq QUALIFIED22Onyama Limba
1047Ashley E OldroydAustralia2024-05-24Morlong Associates RENEWAL90Xuxue Feng
1048Isabel D KolmetzAustralia2024-06-05Rangoni Of Florence UNQUALIFIED77Xuxue Feng
1049Ivar Z KuskoJapan2024-06-08Benton, John B Jr NEGOTIATION77Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
David A AmigonBrazilStephen Shaw NEW
Munro S ChuiBrazilAsiya Javayant QUALIFIED
Mayumi Z RimBrazilIvan Magalhaes NEW
Maisha S BowleyArgentinaXuxue Feng UNQUALIFIED
Jefferson D SaylorsItalyIoni Bowcher NEW
Smith M GarufiRussiaIvan Magalhaes RENEWAL
Cody L KuskoRussiaElwin Sharvill NEW
Claire H GarufiUnited KingdomBernardo Dominic PROPOSAL
Mujtaba H GauchoUnited KingdomIvan Magalhaes UNQUALIFIED
Aditya Y MaletFranceElwin Sharvill NEGOTIATION
Francesco E GarufiArgentinaAsiya Javayant NEW
Deepesh D RimSpainXuxue Feng QUALIFIED
Silvio I ChuiFranceAnna Fali RENEWAL
Sinclair Y VocelkaCanadaBernardo Dominic NEGOTIATION
Morrow L GarufiCanadaAmy Elsner NEW
Rodrigues K FerenczBrazilBernardo Dominic UNQUALIFIED
James W WieserJapanAsiya Javayant NEW
James X KolmetzItalyBernardo Dominic NEGOTIATION
Kaitlin C MarrierFranceBernardo Dominic NEGOTIATION
Ivar M MarrierUnited KingdomElwin Sharvill NEW
Julie F VenereArgentinaAmy Elsner NEW
Munro M BologniaRussiaIvan Magalhaes PROPOSAL
Alejandro M DoeArgentinaElwin Sharvill NEGOTIATION
Jefferson P DoeJapanElwin Sharvill NEGOTIATION
Mayumi G ShinkoIndiaAmy Elsner QUALIFIED
Morrow P RoysterUnited KingdomStephen Shaw NEGOTIATION
Kaitlin F CaudyItalyAnna Fali RENEWAL
Antonio O PaprockiGermanyAnna Fali RENEWAL
Ashley K CaudyJapanBernardo Dominic UNQUALIFIED
Smith V GillianCanadaAmy Elsner UNQUALIFIED
Ashley K BologniaAustraliaIvan Magalhaes RENEWAL
Antonio C FlosiCanadaXuxue Feng NEGOTIATION
Ashley R PaprockiUnited KingdomXuxue Feng NEW
Claire M MarrierSpainAsiya Javayant PROPOSAL
Nicolas T OstroskyIndiaXuxue Feng NEGOTIATION
Julie O PaprockiUnited KingdomStephen Shaw UNQUALIFIED
James O SaylorsArgentinaXuxue Feng NEW
Aika B KuskoJapanXuxue Feng NEGOTIATION
Jeanfrancois P PoquetteAustraliaIoni Bowcher QUALIFIED
Munro P CaldareraBrazilXuxue Feng UNQUALIFIED
Silvio F MaletItalyAsiya Javayant NEGOTIATION
Aruna U ShinkoJapanIvan Magalhaes QUALIFIED
Costa P KolmetzGermanyStephen Shaw NEGOTIATION
Mujtaba M DilliardFranceAsiya Javayant NEW
Maria S DoeUnited KingdomIvan Magalhaes NEGOTIATION
Deepesh L CampainJapanOnyama Limba NEGOTIATION
Silvio Y GlickBrazilIvan Magalhaes UNQUALIFIED
Smith E FollerJapanAsiya Javayant RENEWAL
Nicolas B FigeroaJapanStephen Shaw NEW
Leon P RutaGermanyAsiya Javayant NEGOTIATION
Frozen Columns
Name
Ivar S Albares
Ivar G Ostrosky
Ivar B Flosi
Arvin E Gaucho
Julie X Iturbide
Murillo P Caldarera
Munro N Slusarski
Aruna M Royster
Mujtaba J Albares
Costa O Oldroyd
Nicolas D Rulapaugh
Nicolas L Marrier
Emily O Ruta
Aditya L Stockham
Kadeem Q Venere
Smith S Venere
Jefferson M Nestle
Octavia J Waycott
Kadeem U Butt
Munro I Morasca
Izzy Y Kusko
Darci C Inouye
Maria A Perin
Aika B Nestle
Arvin K Flosi
Misaki Y Nicka
Munro N Vocelka
Isabel N Albares
Kadeem X Campain
Faith K Schemmer
Faith A Ostrosky
Deepesh T Rulapaugh
Chavez I Doe
Jennifer J Saylors
Greenwood G Butt
Salvatore X Morasca
Misaki U Vocelka
Deepesh C Paprocki
Nicolas T Inouye
Greenwood W Schemmer
Aditya P Slusarski
Salvatore B Tollner
Sinclair I Poquette
Isabel R Paprocki
Munro Y Garufi
Claire J Waycott
Ivar V Iturbide
Jeanfrancois L Bowley
Nicolas L Ruta
Munro U Slusarski
IdCountryDate
1000United Kingdom2024-05-30
1001Germany2024-06-21
1002Italy2024-06-08
1003Italy2024-06-15
1004Argentina2024-06-14
1005Australia2024-06-09
1006Russia2024-05-24
1007Spain2024-06-14
1008Argentina2024-06-21
1009Brazil2024-05-30
1010Spain2024-05-28
1011Canada2024-05-30
1012United Kingdom2024-06-08
1013Italy2024-06-09
1014Spain2024-05-31
1015United Kingdom2024-06-11
1016Brazil2024-06-08
1017Spain2024-06-10
1018Japan2024-05-25
1019Argentina2024-06-04
1020Japan2024-05-26
1021India2024-06-09
1022Argentina2024-06-20
1023India2024-06-01
1024Canada2024-05-30
1025France2024-06-04
1026Canada2024-05-27
1027Russia2024-06-22
1028Brazil2024-06-05
1029Brazil2024-05-29
1030Spain2024-06-03
1031France2024-06-06
1032Argentina2024-06-16
1033Spain2024-06-18
1034Argentina2024-06-21
1035Russia2024-06-06
1036Russia2024-06-06
1037Japan2024-06-07
1038Argentina2024-06-11
1039Canada2024-05-26
1040France2024-06-11
1041Italy2024-06-15
1042Italy2024-06-14
1043Australia2024-06-08
1044Germany2024-06-18
1045Brazil2024-06-04
1046Germany2024-06-06
1047Spain2024-06-15
1048Japan2024-06-16
1049Canada2024-06-14

On-Demand Data

NameIdCountryDate
Emily F Royster1000Russia2024-06-14
Maisha Y Maclead1001Brazil2024-06-19
Munro I Venere1002Japan2024-06-16
Maria U Venere1003Spain2024-06-19
Arvin Y Amigon1004Canada2024-05-25
Arvin M Rulapaugh1005Argentina2024-05-31
Claire Y Shinko1006Argentina2024-06-08
Jennifer J Campain1007Japan2024-06-14
Faith I Morasca1008France2024-05-28
Sinclair A Saylors1009India2024-06-15
Rodrigues G Venere1010Russia2024-05-30
Murillo E Nestle1011Italy2024-05-26
Ashley O Dilliard1012Japan2024-05-25
Jones M Poquette1013Brazil2024-05-28
Ivar A Maclead1014Canada2024-06-04
Kadeem O Vocelka1015Italy2024-06-17
James C Rim1016Argentina2024-05-27
Alejandro X Stockham1017Italy2024-06-03
Juan O Bowley1018Australia2024-06-14
Deepesh G Paprocki1019Australia2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford C InouyeItalyBernardo Dominic NEGOTIATION
Stacey K GillianIndiaStephen Shaw PROPOSAL
Jennifer L FerenczSpainAsiya Javayant NEGOTIATION
Tony U ShinkoJapanAnna Fali UNQUALIFIED
Jefferson A BriddickCanadaAmy Elsner NEGOTIATION
Maria M FerenczGermanyStephen Shaw QUALIFIED
Isabel V SlusarskiSpainXuxue Feng UNQUALIFIED
Faith M SchemmerItalyStephen Shaw NEGOTIATION
Juan O MaletCanadaAsiya Javayant RENEWAL
Stacey L NickaRussiaAsiya Javayant NEW
Murillo T GillianBrazilIvan Magalhaes UNQUALIFIED
Sinclair O SchemmerJapanBernardo Dominic NEW
Chavez C GauchoSpainOnyama Limba NEGOTIATION
Juan V KolmetzCanadaBernardo Dominic NEW
Munro L MarrierItalyBernardo Dominic NEW
Stacey W RulapaughIndiaIoni Bowcher PROPOSAL
Sinclair T ShinkoAustraliaIvan Magalhaes UNQUALIFIED
Julie V PaprockiRussiaIoni Bowcher QUALIFIED
Tony H PaprockiAustraliaIoni Bowcher PROPOSAL
Munro L MarrierIndiaStephen Shaw QUALIFIED
Arvin C ChuiItalyOnyama Limba PROPOSAL
Octavia J PoquetteAustraliaBernardo Dominic PROPOSAL
Aruna D WaycottArgentinaElwin Sharvill QUALIFIED
Nicolas K TollnerCanadaXuxue Feng UNQUALIFIED
Jones J CaldareraAustraliaAmy Elsner NEW
Nicolas H ChuiFranceBernardo Dominic QUALIFIED
Smith T NickaFranceAsiya Javayant NEGOTIATION
Stacey J WhobreySpainElwin Sharvill NEW
Alejandro O NickaAustraliaXuxue Feng RENEWAL
Clifford S AlbaresRussiaAnna Fali NEW
Silvio I MaletJapanBernardo Dominic QUALIFIED
Chavez U DoeGermanyOnyama Limba QUALIFIED
Kaitlin N AlbaresGermanyXuxue Feng QUALIFIED
Maria J BowleySpainAnna Fali RENEWAL
David I GauchoIndiaIoni Bowcher NEGOTIATION
Costa I WieserCanadaStephen Shaw NEW
Clifford R GarufiAustraliaOnyama Limba QUALIFIED
Kadeem N PerinFranceXuxue Feng UNQUALIFIED
Jones K RulapaughArgentinaXuxue Feng UNQUALIFIED
Aditya B AlbaresFranceIoni Bowcher NEGOTIATION

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