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
Greenwood C VocelkaBrazilAsiya Javayant NEW
Jones V NickaCanadaBernardo Dominic NEW
Maria I StensethUnited KingdomXuxue Feng UNQUALIFIED
Alejandro B SergiFranceAmy Elsner QUALIFIED
Isabel P AmigonBrazilOnyama Limba UNQUALIFIED
Smith M DilliardItalyBernardo Dominic QUALIFIED
Salvatore H SchemmerArgentinaElwin Sharvill RENEWAL
Ivar B WieserCanadaAsiya Javayant NEGOTIATION
Deepesh P DilliardBrazilAnna Fali UNQUALIFIED
Sinclair U AmigonSpainIoni Bowcher QUALIFIED
Isabel J FerenczBrazilBernardo Dominic UNQUALIFIED
Izzy Z RoysterJapanBernardo Dominic RENEWAL
Rodrigues I BologniaSpainAmy Elsner RENEWAL
Cody V GillianGermanyAmy Elsner RENEWAL
Sinclair M BologniaIndiaXuxue Feng UNQUALIFIED
Rodrigues S WieserBrazilOnyama Limba UNQUALIFIED
James O MacleadBrazilElwin Sharvill QUALIFIED
Mayumi Y AmigonJapanBernardo Dominic NEW
Julie V WieserUnited KingdomIoni Bowcher UNQUALIFIED
Kaitlin V VocelkaSpainOnyama Limba QUALIFIED
Maria O BowleyGermanyElwin Sharvill NEW
Alejandro Y NickaArgentinaOnyama Limba RENEWAL
Ashley F SaylorsIndiaBernardo Dominic UNQUALIFIED
Cody H BologniaBrazilAmy Elsner QUALIFIED
Munro V ChuiBrazilXuxue Feng QUALIFIED
Jones R SergiRussiaStephen Shaw NEW
Leja V SergiArgentinaBernardo Dominic QUALIFIED
Jennifer T GauchoAustraliaXuxue Feng RENEWAL
Smith D PoquetteArgentinaAsiya Javayant PROPOSAL
Ashley J MarrierIndiaOnyama Limba NEW
Mayumi M SaylorsJapanIoni Bowcher PROPOSAL
Francesco T TollnerAustraliaStephen Shaw QUALIFIED
Misaki A PerinRussiaIvan Magalhaes NEGOTIATION
Mayumi L WaycottRussiaElwin Sharvill NEW
Arvin B DoeIndiaElwin Sharvill PROPOSAL
Johnson D AmigonRussiaBernardo Dominic RENEWAL
Aruna P StensethArgentinaXuxue Feng PROPOSAL
Maria Y FerenczGermanyAsiya Javayant NEW
Clifford H RutaBrazilAsiya Javayant NEW
James S RimCanadaStephen Shaw PROPOSAL
Francesco Y BowleyArgentinaBernardo Dominic NEW
Juan V DilliardFranceOnyama Limba UNQUALIFIED
Jennifer G GillianAustraliaIvan Magalhaes NEW
Mujtaba K BowleyBrazilBernardo Dominic NEW
Isabel Q WieserAustraliaAsiya Javayant UNQUALIFIED
Julie W SlusarskiJapanIoni Bowcher NEW
Jefferson B BriddickArgentinaOnyama Limba NEW
Smith R StensethFranceStephen Shaw UNQUALIFIED
Misaki Z RimJapanOnyama Limba NEGOTIATION
Julie Y NickaSpainIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Aika V IturbideCanadaXuxue Feng NEW
Juan L BologniaUnited KingdomAnna Fali RENEWAL
Alejandro G StensethJapanIoni Bowcher PROPOSAL
Nicolas B GarufiRussiaOnyama Limba UNQUALIFIED
Costa U NickaGermanyXuxue Feng UNQUALIFIED
Nicolas F SaylorsIndiaAmy Elsner NEGOTIATION
Costa Y AmigonBrazilIoni Bowcher UNQUALIFIED
Mujtaba B DarakjyGermanyOnyama Limba UNQUALIFIED
Antonio N GillianCanadaXuxue Feng QUALIFIED
Maisha A SaylorsCanadaXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi W MorascaFrance2024-06-19Rangoni Of Florence NEW60Bernardo Dominic
1001Nicolas Z MorascaAustralia2024-06-08King, Christopher A Esq QUALIFIED64Onyama Limba
1002Smith A DilliardBrazil2024-06-17Buckley Miller Wright NEW62Asiya Javayant
1003Clifford G BriddickGermany2024-05-28Truhlar And Truhlar Attys QUALIFIED29Stephen Shaw
1004Emily U CampainIndia2024-06-06Feiner Bros NEGOTIATION3Elwin Sharvill
1005Sinclair Y KuskoSpain2024-05-28Rangoni Of Florence NEGOTIATION8Stephen Shaw
1006Jennifer B NickaArgentina2024-06-01Chemel, James L Cpa NEW15Ivan Magalhaes
1007Cody K FlosiRussia2024-06-18Morlong Associates QUALIFIED56Ivan Magalhaes
1008Mayumi M MaletJapan2024-05-28King, Christopher A Esq NEGOTIATION19Ivan Magalhaes
1009Aika E OstroskyCanada2024-06-24Chapman, Ross E Esq QUALIFIED53Asiya Javayant
1010James D SlusarskiBrazil2024-06-16Feltz Printing Service NEGOTIATION80Ioni Bowcher
1011Tony K RutaRussia2024-05-28Benton, John B Jr PROPOSAL0Onyama Limba
1012Salvatore X PerinUnited Kingdom2024-06-03Commercial Press NEW47Xuxue Feng
1013Maria D RoysterCanada2024-06-01Feiner Bros QUALIFIED78Stephen Shaw
1014Aruna L SlusarskiGermany2024-05-29Benton, John B Jr NEW47Asiya Javayant
1015Alejandro S CampainSpain2024-06-17Chanay, Jeffrey A Esq NEGOTIATION17Ioni Bowcher
1016Chavez Y KuskoGermany2024-06-12Truhlar And Truhlar Attys RENEWAL15Anna Fali
1017Aditya T SaylorsItaly2024-05-29Chanay, Jeffrey A Esq NEW17Ioni Bowcher
1018Tony K FigeroaFrance2024-06-10Commercial Press QUALIFIED63Xuxue Feng
1019Aika N CaldareraItaly2024-06-17Truhlar And Truhlar Attys NEW11Anna Fali
1020Ivar U KuskoFrance2024-05-30Feiner Bros UNQUALIFIED5Elwin Sharvill
1021Aditya R RimFrance2024-06-05Chanay, Jeffrey A Esq QUALIFIED95Ivan Magalhaes
1022Aruna S KolmetzArgentina2024-06-13Commercial Press PROPOSAL31Xuxue Feng
1023Maria G NestleUnited Kingdom2024-05-28Morlong Associates QUALIFIED42Asiya Javayant
1024Greenwood C NestleFrance2024-06-05Feiner Bros QUALIFIED24Stephen Shaw
1025Emily O PerinRussia2024-06-24Chanay, Jeffrey A Esq NEGOTIATION74Amy Elsner
1026Maria I MarrierArgentina2024-06-21Rousseaux, Michael Esq UNQUALIFIED1Onyama Limba
1027Chavez Y DarakjyFrance2024-06-20Benton, John B Jr QUALIFIED23Ivan Magalhaes
1028Leon H RimUnited Kingdom2024-06-15Chapman, Ross E Esq QUALIFIED30Stephen Shaw
1029Jennifer I BriddickAustralia2024-06-17Truhlar And Truhlar Attys NEW59Xuxue Feng
1030Stacey B DarakjyRussia2024-05-30Benton, John B Jr NEW53Amy Elsner
1031Alejandro G WieserArgentina2024-06-05Commercial Press QUALIFIED52Stephen Shaw
1032David J GauchoIndia2024-06-05Chanay, Jeffrey A Esq RENEWAL71Stephen Shaw
1033Leon O MacleadIndia2024-06-19Printing Dimensions PROPOSAL94Elwin Sharvill
1034Morrow I WaycottBrazil2024-06-23Dorl, James J Esq UNQUALIFIED99Anna Fali
1035Faith W IturbideCanada2024-06-22Rangoni Of Florence PROPOSAL81Ivan Magalhaes
1036Francesco G SlusarskiFrance2024-06-10Commercial Press QUALIFIED68Xuxue Feng
1037Chavez E MaletArgentina2024-06-19Chemel, James L Cpa PROPOSAL47Elwin Sharvill
1038Ivar A GauchoIndia2024-06-12King, Christopher A Esq NEW88Xuxue Feng
1039Wickens O BriddickBrazil2024-06-15Truhlar And Truhlar Attys RENEWAL59Elwin Sharvill
1040Isabel Z TollnerUnited Kingdom2024-05-27Benton, John B Jr RENEWAL14Amy Elsner
1041Jennifer D FigeroaGermany2024-06-04Morlong Associates NEGOTIATION17Stephen Shaw
1042Adams T NestleUnited Kingdom2024-06-14Printing Dimensions QUALIFIED27Ioni Bowcher
1043Greenwood P DarakjyRussia2024-06-01King, Christopher A Esq PROPOSAL93Onyama Limba
1044Tony O WieserAustralia2024-05-31Dorl, James J Esq NEGOTIATION37Anna Fali
1045Costa L ShinkoGermany2024-06-14Truhlar And Truhlar Attys QUALIFIED42Ivan Magalhaes
1046Tony P ChuiArgentina2024-06-02Rangoni Of Florence RENEWAL32Ivan Magalhaes
1047Mayumi N MarrierRussia2024-06-05Rousseaux, Michael Esq UNQUALIFIED33Ivan Magalhaes
1048Aditya E BowleyCanada2024-05-31Rousseaux, Michael Esq NEGOTIATION97Bernardo Dominic
1049Antonio R BowleyFrance2024-06-05Chanay, Jeffrey A Esq NEW8Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Jennifer Y KuskoItalyAmy Elsner NEW
Johnson V FerenczAustraliaOnyama Limba RENEWAL
James Q BowleyUnited KingdomElwin Sharvill RENEWAL
Rodrigues D AmigonArgentinaBernardo Dominic QUALIFIED
Julie J TollnerBrazilIvan Magalhaes RENEWAL
Jefferson Q RimGermanyAmy Elsner NEGOTIATION
Jones A GillianCanadaStephen Shaw RENEWAL
Smith T DarakjyRussiaBernardo Dominic PROPOSAL
Ashley F GauchoArgentinaElwin Sharvill NEGOTIATION
Emily N BologniaSpainAnna Fali UNQUALIFIED
Smith K PerinCanadaIvan Magalhaes QUALIFIED
Francesco J IturbideFranceElwin Sharvill UNQUALIFIED
Costa N MaletGermanyIvan Magalhaes NEGOTIATION
Ivar J WaycottRussiaIvan Magalhaes PROPOSAL
Munro X GillianRussiaStephen Shaw UNQUALIFIED
Julie P ChuiGermanyIoni Bowcher NEW
Kadeem A StensethUnited KingdomIvan Magalhaes QUALIFIED
Leja C RulapaughJapanXuxue Feng QUALIFIED
Aika F GlickItalyAmy Elsner PROPOSAL
Stacey I ChuiAustraliaElwin Sharvill UNQUALIFIED
Rodrigues L WhobreyJapanElwin Sharvill PROPOSAL
Nicolas R TollnerSpainAnna Fali NEW
Faith T GauchoUnited KingdomElwin Sharvill UNQUALIFIED
Rodrigues O DilliardArgentinaOnyama Limba RENEWAL
Ivar P BologniaSpainIoni Bowcher QUALIFIED
Greenwood B GarufiFranceAmy Elsner PROPOSAL
Faith D OldroydCanadaIvan Magalhaes PROPOSAL
Arvin H DarakjyFranceAmy Elsner RENEWAL
Clifford U WaycottArgentinaIoni Bowcher QUALIFIED
Antonio Z SaylorsJapanStephen Shaw PROPOSAL
Juan X InouyeFranceAnna Fali NEW
Octavia J RimSpainBernardo Dominic NEW
Claire Y AlbaresFranceElwin Sharvill RENEWAL
Chavez W VocelkaArgentinaElwin Sharvill QUALIFIED
Octavia H FerenczIndiaXuxue Feng NEGOTIATION
Leja D BologniaJapanBernardo Dominic QUALIFIED
Ricardo X PerinUnited KingdomIvan Magalhaes RENEWAL
Aika D BriddickFranceElwin Sharvill UNQUALIFIED
Emily A KuskoFranceAmy Elsner PROPOSAL
Munro Y NestleGermanyXuxue Feng RENEWAL
Cody T InouyeFranceXuxue Feng PROPOSAL
Emily X TollnerItalyXuxue Feng UNQUALIFIED
Maisha G DoeItalyElwin Sharvill NEW
Leon S FlosiArgentinaAnna Fali NEW
Deepesh F GarufiRussiaStephen Shaw NEW
Kaitlin Z BologniaBrazilElwin Sharvill QUALIFIED
James P RimGermanyElwin Sharvill NEGOTIATION
Jennifer V OldroydArgentinaElwin Sharvill NEW
Ashley H TollnerJapanOnyama Limba QUALIFIED
Kadeem I OstroskyUnited KingdomElwin Sharvill PROPOSAL
Frozen Columns
Name
Jennifer C Shinko
Darci R Morasca
Greenwood V Kusko
Francesco X Garufi
Isabel E Flosi
Claire S Gaucho
Juan E Tollner
Julie F Doe
Sinclair T Darakjy
Arvin B Bolognia
Alejandro M Amigon
Kadeem F Figeroa
Mujtaba M Slusarski
Cody R Paprocki
Juan C Saylors
Aruna E Doe
Alejandro Y Morasca
David I Stenseth
Jeanfrancois F Paprocki
Smith D Paprocki
Aika I Ruta
Smith I Albares
Jones F Stockham
Francesco R Royster
Tony E Caldarera
Julie L Chui
Juan L Chui
Arvin Z Butt
Jeanfrancois D Poquette
Ivar G Darakjy
Munro V Malet
Aruna P Caudy
Arvin F Nicka
Kaitlin H Slusarski
Greenwood V Malet
Jeanfrancois E Briddick
Adams D Doe
Greenwood F Darakjy
Antonio U Ostrosky
Adams B Albares
Tony J Dilliard
Emily V Wieser
David J Wieser
Deepesh J Royster
Izzy U Slusarski
Leon M Figeroa
Silvio X Morasca
David S Rim
Julie Z Caldarera
Murillo R Paprocki
IdCountryDate
1000France2024-06-07
1001Japan2024-05-29
1002Argentina2024-06-12
1003Argentina2024-06-21
1004Argentina2024-06-18
1005Brazil2024-06-11
1006Italy2024-06-06
1007Argentina2024-06-06
1008Japan2024-06-05
1009Canada2024-06-21
1010Germany2024-06-20
1011United Kingdom2024-05-31
1012Russia2024-05-31
1013United Kingdom2024-06-23
1014Australia2024-06-22
1015Australia2024-06-07
1016Brazil2024-06-05
1017Russia2024-06-21
1018Italy2024-05-31
1019Argentina2024-06-20
1020Brazil2024-06-13
1021India2024-06-23
1022Argentina2024-06-21
1023Argentina2024-06-04
1024Brazil2024-06-12
1025United Kingdom2024-06-17
1026Brazil2024-06-11
1027Argentina2024-06-04
1028Australia2024-06-13
1029Italy2024-05-28
1030Italy2024-06-07
1031Italy2024-06-01
1032United Kingdom2024-05-28
1033India2024-06-12
1034Italy2024-05-28
1035Italy2024-06-11
1036France2024-06-13
1037United Kingdom2024-06-17
1038Japan2024-06-09
1039Spain2024-06-16
1040Germany2024-06-08
1041United Kingdom2024-06-21
1042Argentina2024-06-10
1043Brazil2024-06-02
1044United Kingdom2024-06-24
1045Argentina2024-06-01
1046Brazil2024-06-06
1047Japan2024-06-19
1048Brazil2024-06-05
1049Argentina2024-06-04

On-Demand Data

NameIdCountryDate
Octavia I Albares1000Spain2024-06-20
Juan W Dilliard1001Italy2024-06-06
Jeanfrancois L Ferencz1002Australia2024-05-27
Morrow L Caudy1003Japan2024-06-03
Johnson Q Sergi1004Argentina2024-06-17
Deepesh Z Chui1005France2024-06-20
Juan R Ostrosky1006Italy2024-06-08
Ivar C Inouye1007India2024-06-24
Jefferson F Poquette1008Russia2024-06-24
Johnson K Poquette1009Spain2024-06-23
Antonio X Nicka1010Italy2024-06-01
Emily D Foller1011Australia2024-06-04
Costa N Darakjy1012Russia2024-06-01
Chavez W Doe1013United Kingdom2024-06-14
Silvio K Glick1014India2024-06-04
Aika N Nestle1015India2024-06-16
Kaitlin B Waycott1016United Kingdom2024-06-06
Juan W Rulapaugh1017Russia2024-06-15
Juan F Whobrey1018Australia2024-06-18
Juan P Sergi1019Italy2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones S StensethGermanyAmy Elsner UNQUALIFIED
Salvatore N KuskoArgentinaAmy Elsner NEW
Faith N FlosiFranceXuxue Feng RENEWAL
Stacey C CampainAustraliaIoni Bowcher RENEWAL
Adams L GauchoCanadaOnyama Limba RENEWAL
Jefferson P ButtAustraliaIvan Magalhaes PROPOSAL
Jeanfrancois E RutaFranceIoni Bowcher RENEWAL
Maria J SaylorsItalyIvan Magalhaes PROPOSAL
Jennifer J CaldareraSpainStephen Shaw NEW
Costa Q BowleyFranceAsiya Javayant RENEWAL
Adams T CaldareraBrazilXuxue Feng UNQUALIFIED
Morrow R SaylorsUnited KingdomAsiya Javayant NEGOTIATION
Aika I BowleyAustraliaXuxue Feng QUALIFIED
Tony Q SlusarskiIndiaOnyama Limba PROPOSAL
Adams J MaletArgentinaIvan Magalhaes UNQUALIFIED
Clifford R RimFranceOnyama Limba RENEWAL
Chavez Z FigeroaBrazilIoni Bowcher RENEWAL
Smith L VenereSpainXuxue Feng RENEWAL
Smith Y KolmetzAustraliaStephen Shaw UNQUALIFIED
Salvatore P SlusarskiArgentinaXuxue Feng NEW
Greenwood T CaldareraJapanAmy Elsner RENEWAL
Rodrigues H CampainSpainIoni Bowcher NEGOTIATION
Greenwood G OldroydBrazilAmy Elsner QUALIFIED
Tony G GillianBrazilStephen Shaw NEW
Silvio N FollerIndiaAnna Fali PROPOSAL
Julie P MaletIndiaAnna Fali PROPOSAL
Jennifer Q TollnerCanadaBernardo Dominic UNQUALIFIED
Ivar F FigeroaIndiaBernardo Dominic PROPOSAL
Deepesh D FerenczSpainElwin Sharvill NEGOTIATION
Jeanfrancois U RutaJapanOnyama Limba NEGOTIATION
Adams C RulapaughFranceAnna Fali UNQUALIFIED
Francesco M OstroskySpainAmy Elsner NEGOTIATION
Chavez H MaletUnited KingdomElwin Sharvill QUALIFIED
Mayumi A FollerItalyXuxue Feng NEGOTIATION
Nicolas H ShinkoAustraliaBernardo Dominic UNQUALIFIED
Clifford H GillianFranceAmy Elsner NEW
Sinclair K InouyeArgentinaElwin Sharvill PROPOSAL
Leon P AlbaresArgentinaAsiya Javayant NEW
Stacey R SchemmerRussiaAnna Fali RENEWAL
Darci P AlbaresCanadaAsiya Javayant 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>