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
Arvin C StensethBrazilOnyama Limba UNQUALIFIED
Stacey G VenereRussiaStephen Shaw UNQUALIFIED
Maisha W RutaCanadaStephen Shaw QUALIFIED
Morrow S AlbaresGermanyStephen Shaw QUALIFIED
Ricardo H DarakjyFranceIvan Magalhaes NEW
Aditya D MacleadArgentinaElwin Sharvill RENEWAL
Jennifer Z MorascaAustraliaAnna Fali UNQUALIFIED
Isabel V SergiGermanyAnna Fali UNQUALIFIED
Morrow P SchemmerBrazilOnyama Limba PROPOSAL
Octavia F SlusarskiCanadaElwin Sharvill UNQUALIFIED
Darci B MarrierAustraliaOnyama Limba QUALIFIED
Mujtaba J MaletGermanyAmy Elsner PROPOSAL
Darci J FlosiAustraliaXuxue Feng PROPOSAL
Kadeem E GauchoItalyIvan Magalhaes PROPOSAL
Leon H StensethCanadaElwin Sharvill QUALIFIED
Costa K RoysterFranceAmy Elsner UNQUALIFIED
Jeanfrancois V CaldareraBrazilStephen Shaw NEGOTIATION
Jones P MaletBrazilAnna Fali RENEWAL
Leon I OldroydGermanyBernardo Dominic UNQUALIFIED
Adams B SergiUnited KingdomElwin Sharvill NEW
Faith M RoysterItalyAnna Fali NEGOTIATION
Wickens C MaletGermanyBernardo Dominic RENEWAL
Wickens J OldroydSpainElwin Sharvill RENEWAL
Mujtaba A RulapaughArgentinaIoni Bowcher UNQUALIFIED
Izzy A WieserUnited KingdomIvan Magalhaes NEW
Maisha K FollerItalyElwin Sharvill UNQUALIFIED
Sinclair G FigeroaGermanyStephen Shaw NEW
Ivar W SaylorsCanadaElwin Sharvill QUALIFIED
Greenwood S KuskoItalyIoni Bowcher QUALIFIED
Maisha O InouyeItalyAsiya Javayant RENEWAL
Ashley V TollnerBrazilStephen Shaw UNQUALIFIED
Francesco O SlusarskiAustraliaStephen Shaw RENEWAL
Julie P RimFranceOnyama Limba QUALIFIED
James A ShinkoSpainAnna Fali NEW
Francesco K SaylorsIndiaAsiya Javayant RENEWAL
David O VenereItalyOnyama Limba NEW
James I ShinkoAustraliaAnna Fali RENEWAL
Wickens G BriddickSpainOnyama Limba NEW
James X NickaUnited KingdomXuxue Feng UNQUALIFIED
Ivar K RulapaughCanadaIoni Bowcher RENEWAL
Adams S CaudyIndiaOnyama Limba UNQUALIFIED
Sinclair O VocelkaGermanyBernardo Dominic PROPOSAL
Morrow Y DarakjyCanadaAsiya Javayant QUALIFIED
Jeanfrancois V FerenczBrazilIvan Magalhaes UNQUALIFIED
Arvin H CaldareraRussiaIvan Magalhaes UNQUALIFIED
Ivar W SlusarskiIndiaOnyama Limba PROPOSAL
Munro P StensethSpainElwin Sharvill NEGOTIATION
Mujtaba Y GauchoUnited KingdomStephen Shaw PROPOSAL
Murillo B SchemmerIndiaAnna Fali PROPOSAL
Antonio J InouyeAustraliaIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Morrow M ButtFranceElwin Sharvill RENEWAL
James T MaletGermanyBernardo Dominic QUALIFIED
Adams J AmigonFranceXuxue Feng QUALIFIED
Darci Y StockhamAustraliaIoni Bowcher NEW
Leon U SergiIndiaAmy Elsner NEGOTIATION
Antonio N SlusarskiBrazilAsiya Javayant NEGOTIATION
Morrow D SlusarskiJapanAsiya Javayant PROPOSAL
Tony H KolmetzItalyAsiya Javayant PROPOSAL
Aditya B RoysterGermanyAnna Fali QUALIFIED
Wickens K MaletSpainIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy G MacleadJapan2024-08-30Morlong Associates NEW7Xuxue Feng
1001Deepesh O InouyeJapan2024-09-17Printing Dimensions PROPOSAL35Anna Fali
1002Julie P AmigonAustralia2024-09-02Benton, John B Jr NEGOTIATION73Stephen Shaw
1003Sinclair M AlbaresFrance2024-09-04Morlong Associates UNQUALIFIED51Elwin Sharvill
1004Aruna A VocelkaBrazil2024-09-08Dorl, James J Esq UNQUALIFIED25Ioni Bowcher
1005Aika H NickaJapan2024-09-18Chanay, Jeffrey A Esq PROPOSAL76Elwin Sharvill
1006Silvio C BologniaUnited Kingdom2024-09-23Chanay, Jeffrey A Esq RENEWAL3Elwin Sharvill
1007Murillo K NestleItaly2024-08-28Printing Dimensions PROPOSAL72Xuxue Feng
1008Claire T FigeroaArgentina2024-09-05Truhlar And Truhlar Attys UNQUALIFIED45Amy Elsner
1009Munro Z SaylorsIndia2024-08-30King, Christopher A Esq UNQUALIFIED63Onyama Limba
1010Misaki E WaycottRussia2024-09-11Rousseaux, Michael Esq PROPOSAL29Bernardo Dominic
1011Murillo Z WieserUnited Kingdom2024-08-30Chanay, Jeffrey A Esq RENEWAL90Stephen Shaw
1012Silvio A PerinCanada2024-09-22Morlong Associates UNQUALIFIED86Xuxue Feng
1013Sinclair A IturbideUnited Kingdom2024-09-11Dorl, James J Esq RENEWAL30Xuxue Feng
1014Octavia X DoeGermany2024-08-27Rousseaux, Michael Esq NEW68Amy Elsner
1015Claire W CaldareraIndia2024-08-31Buckley Miller Wright RENEWAL48Onyama Limba
1016Morrow G VenereCanada2024-09-15Truhlar And Truhlar Attys NEW70Amy Elsner
1017Octavia X ButtBrazil2024-08-27Rangoni Of Florence UNQUALIFIED73Anna Fali
1018Tony A PoquetteFrance2024-08-31Printing Dimensions RENEWAL56Bernardo Dominic
1019Mayumi W AlbaresArgentina2024-09-22Benton, John B Jr QUALIFIED57Amy Elsner
1020Kaitlin I FigeroaRussia2024-08-28Chanay, Jeffrey A Esq RENEWAL55Stephen Shaw
1021Alejandro Y TollnerBrazil2024-09-09Benton, John B Jr NEW53Ioni Bowcher
1022Francesco W FerenczGermany2024-09-06Rousseaux, Michael Esq NEW14Amy Elsner
1023Ricardo T NickaFrance2024-09-15Feltz Printing Service NEW42Ioni Bowcher
1024Leon Q GauchoItaly2024-09-09Commercial Press NEW82Asiya Javayant
1025Morrow P RulapaughFrance2024-08-26Rousseaux, Michael Esq NEGOTIATION96Anna Fali
1026Cody V ChuiFrance2024-09-21Buckley Miller Wright NEW86Amy Elsner
1027Jefferson B ButtAustralia2024-09-20Feiner Bros NEW23Bernardo Dominic
1028Aruna W FlosiBrazil2024-09-08Morlong Associates NEGOTIATION97Amy Elsner
1029Silvio T VocelkaGermany2024-09-04Commercial Press RENEWAL3Elwin Sharvill
1030Aika K FerenczGermany2024-09-19Rousseaux, Michael Esq NEGOTIATION98Bernardo Dominic
1031Greenwood E TollnerRussia2024-09-14Rangoni Of Florence RENEWAL82Bernardo Dominic
1032Silvio P SaylorsFrance2024-09-22Chemel, James L Cpa UNQUALIFIED80Elwin Sharvill
1033Morrow F GarufiUnited Kingdom2024-09-23Chanay, Jeffrey A Esq NEW92Amy Elsner
1034Stacey B GauchoJapan2024-08-27King, Christopher A Esq PROPOSAL3Ioni Bowcher
1035Izzy B ChuiFrance2024-09-06Printing Dimensions NEW22Xuxue Feng
1036Kadeem B CaldareraGermany2024-09-02King, Christopher A Esq NEGOTIATION58Bernardo Dominic
1037Tony X SaylorsCanada2024-09-12Chanay, Jeffrey A Esq RENEWAL21Asiya Javayant
1038Rodrigues B RoysterItaly2024-09-09Rangoni Of Florence UNQUALIFIED74Onyama Limba
1039Johnson W OstroskyRussia2024-09-18Benton, John B Jr PROPOSAL90Amy Elsner
1040Isabel X VocelkaBrazil2024-08-30Feltz Printing Service PROPOSAL95Bernardo Dominic
1041Jeanfrancois R ChuiAustralia2024-09-09Feiner Bros NEGOTIATION91Onyama Limba
1042Darci S TollnerItaly2024-09-13Feiner Bros PROPOSAL79Anna Fali
1043Jennifer F ButtRussia2024-09-19Morlong Associates NEGOTIATION68Bernardo Dominic
1044Octavia B PoquetteGermany2024-09-02Commercial Press NEGOTIATION82Amy Elsner
1045Salvatore P KolmetzAustralia2024-09-17Buckley Miller Wright UNQUALIFIED59Bernardo Dominic
1046Sinclair X KuskoUnited Kingdom2024-09-08Feltz Printing Service RENEWAL37Onyama Limba
1047Jennifer U WieserJapan2024-09-20Printing Dimensions PROPOSAL30Elwin Sharvill
1048Ricardo V WieserFrance2024-09-15King, Christopher A Esq UNQUALIFIED75Amy Elsner
1049Ricardo R SaylorsSpain2024-09-06Feltz Printing Service NEW14Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Arvin B IturbideBrazilIvan Magalhaes PROPOSAL
Mujtaba N VocelkaAustraliaIoni Bowcher UNQUALIFIED
Izzy T WhobreyFranceElwin Sharvill NEGOTIATION
James Y SergiUnited KingdomElwin Sharvill NEW
Ivar D DilliardGermanyOnyama Limba PROPOSAL
Jeanfrancois P VenereJapanAnna Fali UNQUALIFIED
Greenwood X TollnerUnited KingdomElwin Sharvill PROPOSAL
Sinclair H BowleyGermanyAmy Elsner PROPOSAL
Cody Z FigeroaItalyStephen Shaw RENEWAL
Tony P BriddickFranceElwin Sharvill QUALIFIED
Morrow O GillianAustraliaOnyama Limba NEW
Stacey Q DoeAustraliaBernardo Dominic PROPOSAL
Kaitlin Y CaudyCanadaOnyama Limba PROPOSAL
Antonio F ShinkoAustraliaElwin Sharvill RENEWAL
Morrow H SchemmerAustraliaBernardo Dominic PROPOSAL
Clifford H OldroydItalyAmy Elsner NEW
Salvatore I OstroskyFranceAsiya Javayant RENEWAL
Adams F PaprockiGermanyAsiya Javayant RENEWAL
Maisha N PaprockiUnited KingdomAsiya Javayant RENEWAL
Ricardo R DarakjyJapanStephen Shaw NEW
Emily O BowleyItalyOnyama Limba RENEWAL
Octavia C AlbaresRussiaIoni Bowcher PROPOSAL
Antonio T PaprockiFranceAsiya Javayant UNQUALIFIED
Maisha I KolmetzIndiaAmy Elsner NEW
Maria K OldroydIndiaStephen Shaw QUALIFIED
Leon K InouyeCanadaAmy Elsner PROPOSAL
Wickens W DoeJapanBernardo Dominic NEGOTIATION
Deepesh N VocelkaRussiaAsiya Javayant RENEWAL
Wickens L WieserArgentinaIvan Magalhaes NEW
Mayumi F MaletBrazilBernardo Dominic NEW
Octavia X AlbaresUnited KingdomAnna Fali NEGOTIATION
Claire P BriddickIndiaOnyama Limba QUALIFIED
Octavia Q FlosiArgentinaOnyama Limba RENEWAL
Smith Z NestleFranceXuxue Feng NEGOTIATION
Sinclair W NickaUnited KingdomAsiya Javayant QUALIFIED
Salvatore F GlickCanadaXuxue Feng UNQUALIFIED
Darci M MorascaJapanBernardo Dominic UNQUALIFIED
Maria Z PerinRussiaIoni Bowcher QUALIFIED
Maisha S CaldareraArgentinaOnyama Limba NEGOTIATION
Izzy A KolmetzIndiaAsiya Javayant QUALIFIED
Ashley K RulapaughUnited KingdomElwin Sharvill UNQUALIFIED
Aditya V CaldareraJapanAnna Fali UNQUALIFIED
Maisha M BriddickSpainXuxue Feng QUALIFIED
Jefferson S DilliardCanadaBernardo Dominic PROPOSAL
Faith O OstroskyJapanAnna Fali UNQUALIFIED
Greenwood G GarufiFranceAmy Elsner NEW
Mujtaba Z SergiArgentinaStephen Shaw NEGOTIATION
Jeanfrancois R SaylorsGermanyAmy Elsner NEGOTIATION
Isabel D BowleySpainIvan Magalhaes PROPOSAL
Mayumi M WaycottItalyIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Jennifer L Oldroyd
Octavia L Slusarski
Leon I Rim
Clifford L Kusko
Isabel U Venere
Aika W Iturbide
Tony S Shinko
Izzy J Chui
Maria O Waycott
Munro L Albares
Francesco D Paprocki
Greenwood F Nicka
Murillo V Chui
Morrow E Malet
Morrow O Butt
Francesco Y Amigon
Cody W Figeroa
Julie H Bowley
Jeanfrancois B Venere
Morrow M Doe
Maisha T Nicka
Mayumi P Perin
David D Saylors
Stacey A Paprocki
Salvatore Z Briddick
Claire I Gaucho
Clifford F Gaucho
Wickens R Stockham
Antonio F Morasca
Jefferson P Bolognia
Ivar W Tollner
Faith A Waycott
Misaki W Chui
Cody L Nestle
Nicolas C Albares
Leja D Iturbide
David N Shinko
Silvio J Shinko
Maria J Morasca
Murillo Q Vocelka
Mayumi R Briddick
Ricardo W Inouye
Johnson S Chui
Deepesh M Ruta
Munro J Flosi
Leja L Figeroa
Chavez D Glick
Jennifer D Stockham
Tony M Dilliard
Aditya L Figeroa
IdCountryDate
1000Australia2024-08-30
1001Canada2024-09-08
1002Spain2024-09-21
1003Australia2024-08-26
1004India2024-09-14
1005Spain2024-09-11
1006Germany2024-09-09
1007Brazil2024-09-03
1008Brazil2024-09-08
1009Germany2024-09-15
1010Italy2024-09-11
1011Japan2024-09-03
1012Canada2024-09-06
1013Spain2024-09-05
1014Canada2024-09-09
1015Canada2024-09-22
1016United Kingdom2024-09-12
1017Australia2024-08-27
1018Canada2024-09-20
1019Germany2024-09-10
1020Italy2024-09-15
1021Australia2024-08-29
1022Germany2024-08-25
1023Japan2024-09-01
1024India2024-09-11
1025Canada2024-09-11
1026France2024-09-15
1027Japan2024-08-28
1028Brazil2024-08-25
1029Canada2024-09-09
1030United Kingdom2024-09-16
1031France2024-08-25
1032Japan2024-09-01
1033Italy2024-09-04
1034Australia2024-09-15
1035Argentina2024-09-02
1036Argentina2024-09-13
1037Australia2024-08-26
1038Australia2024-09-06
1039Argentina2024-09-03
1040United Kingdom2024-09-16
1041Germany2024-09-08
1042Argentina2024-09-13
1043Germany2024-09-17
1044Brazil2024-09-21
1045Japan2024-09-11
1046United Kingdom2024-09-11
1047Germany2024-08-25
1048Germany2024-09-19
1049Argentina2024-09-18

On-Demand Data

NameIdCountryDate
Kaitlin V Gillian1000Spain2024-08-27
Munro V Kusko1001Australia2024-09-06
Nicolas L Shinko1002Italy2024-08-25
Julie U Royster1003Russia2024-09-07
David L Slusarski1004Australia2024-09-01
Aruna M Shinko1005Spain2024-09-06
Leon N Morasca1006Italy2024-09-04
Aditya H Caldarera1007Canada2024-09-20
Ashley V Bolognia1008Argentina2024-09-15
Smith S Saylors1009Brazil2024-09-11
Sinclair Y Oldroyd1010United Kingdom2024-09-16
Aruna J Dilliard1011Argentina2024-09-12
Maisha T Briddick1012Japan2024-09-23
Adams V Tollner1013Argentina2024-09-18
Jefferson I Gaucho1014France2024-09-10
Jeanfrancois U Venere1015Spain2024-09-06
Alejandro R Caudy1016France2024-09-11
Silvio Q Bolognia1017India2024-09-03
Morrow B Sergi1018Canada2024-08-30
James U Sergi1019Russia2024-08-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna I InouyeArgentinaAmy Elsner NEW
Julie K OstroskyItalyBernardo Dominic UNQUALIFIED
Faith E OstroskyGermanyAmy Elsner QUALIFIED
Maria X GarufiGermanyXuxue Feng QUALIFIED
Ashley X DilliardIndiaAsiya Javayant PROPOSAL
Izzy I FerenczAustraliaIoni Bowcher NEW
Greenwood D RimJapanBernardo Dominic QUALIFIED
Greenwood D GauchoGermanyBernardo Dominic PROPOSAL
James S SchemmerRussiaStephen Shaw UNQUALIFIED
Aika L MarrierIndiaBernardo Dominic NEW
Kaitlin R MorascaGermanyBernardo Dominic PROPOSAL
Rodrigues A RimJapanIvan Magalhaes QUALIFIED
Stacey H TollnerBrazilOnyama Limba PROPOSAL
Deepesh O MaletRussiaBernardo Dominic NEGOTIATION
David H PoquetteJapanBernardo Dominic NEGOTIATION
Silvio F NestleCanadaAnna Fali NEW
David K MacleadBrazilXuxue Feng NEGOTIATION
Smith O WieserFranceElwin Sharvill PROPOSAL
Salvatore Q PerinIndiaStephen Shaw NEW
Claire D SlusarskiFranceAsiya Javayant UNQUALIFIED
Aditya M CaldareraRussiaAsiya Javayant QUALIFIED
Jefferson O MaletAustraliaAmy Elsner QUALIFIED
Kadeem I MacleadRussiaStephen Shaw UNQUALIFIED
Kadeem Q KuskoArgentinaBernardo Dominic UNQUALIFIED
Arvin T DoeItalyAmy Elsner RENEWAL
Misaki Z RoysterArgentinaAsiya Javayant PROPOSAL
Jennifer O DilliardCanadaAsiya Javayant PROPOSAL
Rodrigues S RoysterFranceOnyama Limba RENEWAL
Mujtaba P VenereBrazilOnyama Limba UNQUALIFIED
Cody M StockhamRussiaAmy Elsner NEW
Jeanfrancois T PoquetteArgentinaAmy Elsner NEGOTIATION
Alejandro O PerinItalyAsiya Javayant UNQUALIFIED
Cody S VocelkaArgentinaAnna Fali RENEWAL
Sinclair K InouyeIndiaAmy Elsner QUALIFIED
Sinclair M FlosiAustraliaStephen Shaw QUALIFIED
Jennifer A CampainCanadaElwin Sharvill RENEWAL
Salvatore O CampainJapanIoni Bowcher RENEWAL
Ivar I WieserIndiaStephen Shaw UNQUALIFIED
Mujtaba U StockhamArgentinaStephen Shaw PROPOSAL
Murillo B RoysterRussiaAsiya Javayant NEW

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