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
Francesco H RutaGermanyAnna Fali NEGOTIATION
Emily S PerinItalyXuxue Feng UNQUALIFIED
Clifford O SlusarskiCanadaAsiya Javayant NEGOTIATION
Antonio M BriddickRussiaAnna Fali RENEWAL
Johnson C DoeBrazilIvan Magalhaes NEW
Wickens O TollnerRussiaElwin Sharvill PROPOSAL
Leon B KolmetzBrazilOnyama Limba PROPOSAL
Aruna X GauchoGermanyAnna Fali PROPOSAL
Jefferson S GlickSpainAsiya Javayant QUALIFIED
Smith G NestleUnited KingdomAnna Fali RENEWAL
Stacey S MaletAustraliaElwin Sharvill RENEWAL
Cody G TollnerGermanyElwin Sharvill QUALIFIED
Ivar N CampainAustraliaXuxue Feng NEGOTIATION
Rodrigues C OldroydSpainAnna Fali RENEWAL
Aruna P StockhamSpainIoni Bowcher NEW
Nicolas Q AlbaresArgentinaBernardo Dominic QUALIFIED
Julie Q FlosiCanadaBernardo Dominic NEW
Cody N AlbaresUnited KingdomElwin Sharvill RENEWAL
Francesco Y GauchoAustraliaIvan Magalhaes PROPOSAL
Ashley N OldroydCanadaXuxue Feng NEW
Adams J FigeroaCanadaIoni Bowcher NEGOTIATION
Rodrigues M RimSpainAsiya Javayant QUALIFIED
Ivar N GillianBrazilAsiya Javayant UNQUALIFIED
David A BologniaGermanyOnyama Limba UNQUALIFIED
Murillo I RoysterBrazilIoni Bowcher NEGOTIATION
Greenwood X PerinArgentinaIoni Bowcher QUALIFIED
Tony D StensethItalyStephen Shaw NEW
Costa H GlickAustraliaOnyama Limba RENEWAL
Chavez Y WieserAustraliaXuxue Feng RENEWAL
Maisha E DilliardBrazilBernardo Dominic PROPOSAL
Tony E OldroydBrazilAmy Elsner UNQUALIFIED
Isabel I FerenczArgentinaXuxue Feng UNQUALIFIED
Morrow E BologniaJapanOnyama Limba QUALIFIED
Munro E VocelkaIndiaStephen Shaw RENEWAL
Salvatore O AmigonSpainOnyama Limba QUALIFIED
Ricardo S MaletRussiaBernardo Dominic NEGOTIATION
Ricardo F AmigonUnited KingdomBernardo Dominic NEGOTIATION
Leon G FigeroaJapanElwin Sharvill NEW
Adams T OldroydFranceAmy Elsner NEW
Johnson U DarakjyGermanyXuxue Feng NEW
Costa N SlusarskiRussiaAmy Elsner UNQUALIFIED
Jennifer Y FlosiJapanXuxue Feng NEW
Mayumi P VocelkaRussiaOnyama Limba NEGOTIATION
Emily Z GarufiItalyOnyama Limba UNQUALIFIED
James N DarakjyGermanyIvan Magalhaes NEW
Francesco B MorascaBrazilStephen Shaw UNQUALIFIED
Leja Y CaudyIndiaOnyama Limba RENEWAL
Salvatore R FigeroaSpainBernardo Dominic RENEWAL
Wickens C DarakjyJapanAnna Fali NEGOTIATION
David U AmigonRussiaIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Sinclair N ButtGermanyIoni Bowcher PROPOSAL
Mayumi U WhobreyIndiaStephen Shaw QUALIFIED
Jennifer U AmigonCanadaAnna Fali QUALIFIED
Silvio W AmigonRussiaOnyama Limba PROPOSAL
Arvin O MacleadUnited KingdomIoni Bowcher UNQUALIFIED
Sinclair R FollerAustraliaIoni Bowcher UNQUALIFIED
Faith N FollerBrazilBernardo Dominic NEW
Izzy C OldroydUnited KingdomOnyama Limba PROPOSAL
Aditya Y GarufiArgentinaIoni Bowcher NEGOTIATION
Jeanfrancois A MaletItalyElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan X ChuiItaly2026-08-10Chemel, James L Cpa QUALIFIED88Amy Elsner
1001Mujtaba X NickaCanada2026-08-22Commercial Press UNQUALIFIED49Onyama Limba
1002Aditya P SaylorsJapan2026-08-08Rangoni Of Florence PROPOSAL15Anna Fali
1003Ricardo N DarakjyUnited Kingdom2026-08-22Buckley Miller Wright NEGOTIATION59Ivan Magalhaes
1004Kadeem P KuskoItaly2026-08-09Buckley Miller Wright QUALIFIED45Amy Elsner
1005Silvio K RulapaughItaly2026-08-09Truhlar And Truhlar Attys RENEWAL85Amy Elsner
1006Sinclair Y SergiRussia2026-09-01Commercial Press UNQUALIFIED18Amy Elsner
1007Greenwood P StensethItaly2026-09-01Truhlar And Truhlar Attys PROPOSAL84Anna Fali
1008Octavia W ShinkoFrance2026-08-25Commercial Press QUALIFIED61Asiya Javayant
1009Clifford T BowleyFrance2026-08-27Feltz Printing Service RENEWAL12Ivan Magalhaes
1010Octavia N AlbaresAustralia2026-08-24Chapman, Ross E Esq QUALIFIED47Anna Fali
1011Munro F BriddickBrazil2026-08-22Chanay, Jeffrey A Esq PROPOSAL81Ivan Magalhaes
1012Stacey W VocelkaJapan2026-09-01Rangoni Of Florence PROPOSAL8Onyama Limba
1013Claire B GarufiGermany2026-08-20Benton, John B Jr RENEWAL50Anna Fali
1014Tony C FerenczArgentina2026-08-14Chapman, Ross E Esq UNQUALIFIED85Bernardo Dominic
1015Octavia K FlosiAustralia2026-08-19Morlong Associates UNQUALIFIED68Asiya Javayant
1016Emily Z CaudyItaly2026-08-09Truhlar And Truhlar Attys NEW20Ivan Magalhaes
1017Leon S DilliardAustralia2026-08-19Buckley Miller Wright NEW39Onyama Limba
1018Murillo W IturbideIndia2026-08-08Chapman, Ross E Esq NEGOTIATION79Xuxue Feng
1019Misaki N NickaFrance2026-09-01Commercial Press RENEWAL52Stephen Shaw
1020Salvatore E SaylorsAustralia2026-08-23Chemel, James L Cpa QUALIFIED75Elwin Sharvill
1021Silvio D InouyeIndia2026-08-25Feltz Printing Service NEGOTIATION76Amy Elsner
1022Mujtaba Y OstroskyIndia2026-08-27King, Christopher A Esq NEW26Amy Elsner
1023Munro M GauchoRussia2026-08-13Rousseaux, Michael Esq PROPOSAL93Ivan Magalhaes
1024Nicolas W RoysterArgentina2026-08-15Feiner Bros QUALIFIED75Anna Fali
1025Juan D CaldareraCanada2026-08-28Dorl, James J Esq NEW71Amy Elsner
1026Sinclair W SchemmerBrazil2026-08-17King, Christopher A Esq NEW13Xuxue Feng
1027Juan E FlosiIndia2026-08-21Printing Dimensions NEGOTIATION5Bernardo Dominic
1028Emily T BologniaUnited Kingdom2026-08-29Rangoni Of Florence QUALIFIED88Ivan Magalhaes
1029Rodrigues B StockhamAustralia2026-08-20Chanay, Jeffrey A Esq NEW43Onyama Limba
1030Aditya K RimJapan2026-08-27Truhlar And Truhlar Attys NEGOTIATION89Elwin Sharvill
1031Jones R SergiBrazil2026-08-20King, Christopher A Esq NEW52Anna Fali
1032Izzy B RoysterAustralia2026-08-29Chemel, James L Cpa UNQUALIFIED90Ivan Magalhaes
1033Claire P PaprockiFrance2026-08-30Dorl, James J Esq NEGOTIATION18Bernardo Dominic
1034Nicolas Z BriddickRussia2026-08-16Chapman, Ross E Esq NEGOTIATION80Elwin Sharvill
1035Silvio L AmigonUnited Kingdom2026-08-19Feltz Printing Service PROPOSAL37Elwin Sharvill
1036Isabel U FigeroaItaly2026-09-01Feltz Printing Service NEW9Ivan Magalhaes
1037Izzy V StensethIndia2026-08-08Chapman, Ross E Esq NEGOTIATION34Onyama Limba
1038Mayumi G PoquetteGermany2026-09-01Dorl, James J Esq UNQUALIFIED26Elwin Sharvill
1039Claire R WaycottAustralia2026-08-30Commercial Press QUALIFIED70Xuxue Feng
1040Alejandro K DoeArgentina2026-08-18Feiner Bros NEW92Asiya Javayant
1041Leon E MaletBrazil2026-09-01Rousseaux, Michael Esq NEW21Elwin Sharvill
1042James R TollnerCanada2026-08-26Feltz Printing Service UNQUALIFIED92Stephen Shaw
1043Jefferson C SergiRussia2026-08-13Chanay, Jeffrey A Esq UNQUALIFIED73Xuxue Feng
1044Adams M InouyeItaly2026-08-13Chanay, Jeffrey A Esq QUALIFIED17Onyama Limba
1045Jeanfrancois Y OstroskyIndia2026-08-18Rangoni Of Florence NEGOTIATION32Onyama Limba
1046Smith X AlbaresJapan2026-08-30Rousseaux, Michael Esq QUALIFIED81Xuxue Feng
1047Octavia X BologniaCanada2026-08-19King, Christopher A Esq NEW44Amy Elsner
1048Murillo D FollerIndia2026-08-13Chanay, Jeffrey A Esq RENEWAL56Anna Fali
1049Jennifer A OldroydCanada2026-08-17Feltz Printing Service NEGOTIATION53Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Sinclair O DilliardGermanyIoni Bowcher RENEWAL
Sinclair F DoeBrazilOnyama Limba NEW
Mayumi Q SchemmerUnited KingdomAnna Fali NEW
Julie C AmigonAustraliaXuxue Feng UNQUALIFIED
Aditya Y AlbaresGermanyAmy Elsner NEGOTIATION
Alejandro V SaylorsGermanyXuxue Feng NEW
Costa E AmigonRussiaElwin Sharvill RENEWAL
Ashley K PaprockiRussiaBernardo Dominic NEW
Maisha L SlusarskiIndiaAsiya Javayant RENEWAL
Ivar E AmigonAustraliaElwin Sharvill QUALIFIED
Claire A TollnerItalyAmy Elsner QUALIFIED
Kaitlin A CaudyIndiaOnyama Limba NEGOTIATION
Mayumi C ShinkoAustraliaAnna Fali PROPOSAL
Smith X AlbaresJapanIvan Magalhaes QUALIFIED
Aika N FollerSpainAnna Fali NEGOTIATION
Silvio Z AmigonFranceStephen Shaw QUALIFIED
Leon J BologniaGermanyIvan Magalhaes PROPOSAL
Ivar O MarrierJapanElwin Sharvill QUALIFIED
Wickens S BologniaUnited KingdomAsiya Javayant PROPOSAL
Francesco W WieserAustraliaXuxue Feng QUALIFIED
Morrow S RulapaughBrazilIvan Magalhaes QUALIFIED
Darci A FollerIndiaStephen Shaw PROPOSAL
Aruna S RulapaughItalyXuxue Feng QUALIFIED
Ashley O CaudyUnited KingdomXuxue Feng NEGOTIATION
Claire Z CaudyAustraliaAmy Elsner PROPOSAL
David F BowleyGermanyBernardo Dominic NEGOTIATION
Stacey D ChuiItalyStephen Shaw UNQUALIFIED
Smith O PerinArgentinaXuxue Feng RENEWAL
Maria N StensethUnited KingdomOnyama Limba QUALIFIED
Ivar O DoeBrazilBernardo Dominic QUALIFIED
Aditya R DarakjyBrazilXuxue Feng PROPOSAL
Chavez N VocelkaBrazilOnyama Limba PROPOSAL
Maisha R RutaGermanyAsiya Javayant PROPOSAL
Wickens T MarrierJapanIvan Magalhaes QUALIFIED
Kaitlin Y NickaGermanyIoni Bowcher PROPOSAL
Silvio W TollnerItalyOnyama Limba QUALIFIED
Emily S WaycottArgentinaIvan Magalhaes QUALIFIED
Jeanfrancois M WieserBrazilBernardo Dominic UNQUALIFIED
Clifford Q MorascaGermanyElwin Sharvill NEGOTIATION
Claire G PoquetteSpainElwin Sharvill NEW
Isabel Y DarakjyJapanIoni Bowcher NEW
Kaitlin E RutaAustraliaStephen Shaw PROPOSAL
Leon W GauchoRussiaStephen Shaw NEW
Kaitlin F MaletBrazilAmy Elsner PROPOSAL
Alejandro W PaprockiUnited KingdomBernardo Dominic NEGOTIATION
Mayumi F AmigonCanadaOnyama Limba NEW
Alejandro L GarufiIndiaElwin Sharvill NEGOTIATION
Mayumi X FerenczIndiaOnyama Limba QUALIFIED
Salvatore H SlusarskiSpainAnna Fali RENEWAL
Costa W InouyeIndiaStephen Shaw NEW
Frozen Columns
Name
Tony Z Paprocki
Smith U Saylors
Wickens A Kolmetz
David B Ferencz
Jones W Albares
Kadeem S Ferencz
Claire R Perin
Darci P Perin
Antonio H Poquette
Maisha C Vocelka
Aruna B Caldarera
Wickens M Bolognia
Darci Z Ostrosky
Ivar U Gaucho
Maria T Stenseth
Aditya E Wieser
Johnson O Figeroa
Claire N Malet
Sinclair V Inouye
Izzy Z Ruta
Misaki L Rulapaugh
Darci F Butt
Leja H Marrier
Munro C Foller
Octavia Z Schemmer
Darci P Sergi
Antonio Q Rulapaugh
Jeanfrancois U Kolmetz
Kaitlin J Doe
Aika V Ostrosky
Deepesh H Malet
Ricardo N Bowley
Stacey S Tollner
Adams I Slusarski
Leon I Stockham
Leja U Malet
Darci K Ostrosky
Antonio F Ostrosky
Tony V Figeroa
Jones A Nicka
Aditya Y Nestle
Smith D Amigon
Tony N Nicka
Kadeem I Tollner
Adams Z Darakjy
Maria K Campain
Aika Q Inouye
Darci V Venere
David Q Amigon
Maisha Z Caldarera
IdCountryDate
1000United Kingdom2026-08-12
1001Canada2026-08-24
1002Australia2026-08-13
1003Japan2026-08-09
1004Russia2026-08-30
1005Italy2026-08-27
1006Canada2026-08-21
1007United Kingdom2026-08-29
1008United Kingdom2026-08-17
1009France2026-08-22
1010Spain2026-08-05
1011Italy2026-08-20
1012India2026-08-18
1013United Kingdom2026-08-16
1014Japan2026-08-10
1015Germany2026-08-17
1016Canada2026-08-18
1017United Kingdom2026-08-10
1018Japan2026-08-16
1019Argentina2026-08-26
1020Argentina2026-08-05
1021India2026-08-22
1022Russia2026-08-20
1023Canada2026-08-04
1024India2026-08-17
1025Germany2026-08-10
1026France2026-08-28
1027Brazil2026-08-11
1028Germany2026-08-09
1029Brazil2026-08-13
1030France2026-09-01
1031Italy2026-08-23
1032United Kingdom2026-08-26
1033Spain2026-08-14
1034Spain2026-08-07
1035Australia2026-08-16
1036Italy2026-08-03
1037Spain2026-08-26
1038United Kingdom2026-08-12
1039Germany2026-08-03
1040Australia2026-08-10
1041Japan2026-08-25
1042Italy2026-08-09
1043France2026-08-16
1044Germany2026-08-03
1045Italy2026-08-06
1046France2026-08-27
1047Brazil2026-08-29
1048India2026-08-10
1049Spain2026-08-18

On-Demand Data

NameIdCountryDate
Smith P Stockham1000France2026-08-12
David O Stenseth1001Japan2026-08-24
Murillo C Butt1002India2026-08-16
Emily D Dilliard1003Germany2026-08-06
Jones A Paprocki1004Russia2026-08-04
Jones N Inouye1005Brazil2026-08-10
Greenwood Y Garufi1006Canada2026-08-23
Arvin X Dilliard1007France2026-08-03
Morrow H Gillian1008Italy2026-08-10
Kaitlin Q Waycott1009Brazil2026-08-05
Izzy L Saylors1010Argentina2026-08-26
Wickens W Bolognia1011India2026-09-01
Cody I Maclead1012Russia2026-08-24
Silvio T Doe1013Japan2026-08-24
Kadeem V Rulapaugh1014Argentina2026-08-28
Jeanfrancois E Flosi1015India2026-08-25
Mayumi I Doe1016Spain2026-08-24
Jones J Oldroyd1017United Kingdom2026-08-23
Salvatore N Whobrey1018France2026-08-25
Izzy G Gillian1019Australia2026-08-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh W PaprockiCanadaIoni Bowcher UNQUALIFIED
Jefferson J NickaFranceIoni Bowcher NEGOTIATION
Greenwood U InouyeArgentinaIoni Bowcher UNQUALIFIED
David E IturbideItalyIoni Bowcher PROPOSAL
Stacey L KuskoBrazilBernardo Dominic NEW
Morrow D MacleadCanadaStephen Shaw RENEWAL
Jefferson M WhobreyIndiaStephen Shaw PROPOSAL
Aika H FollerItalyIvan Magalhaes QUALIFIED
Cody K VenereAustraliaAsiya Javayant RENEWAL
Francesco E GillianIndiaElwin Sharvill UNQUALIFIED
Sinclair R NickaItalyBernardo Dominic RENEWAL
Deepesh H RoysterFranceStephen Shaw PROPOSAL
Greenwood O NickaRussiaOnyama Limba NEW
Kadeem A BriddickAustraliaStephen Shaw QUALIFIED
Tony G CaudySpainElwin Sharvill NEGOTIATION
Costa C BriddickJapanElwin Sharvill NEW
Costa Q GauchoSpainAmy Elsner NEW
Juan I BologniaCanadaStephen Shaw UNQUALIFIED
Kaitlin M NickaSpainAsiya Javayant PROPOSAL
Murillo L ButtGermanyOnyama Limba RENEWAL
Greenwood D RutaAustraliaXuxue Feng PROPOSAL
Mujtaba N VocelkaUnited KingdomAmy Elsner QUALIFIED
Arvin O GauchoGermanyOnyama Limba NEW
Octavia Q VocelkaRussiaIvan Magalhaes UNQUALIFIED
Silvio E WhobreyItalyBernardo Dominic NEGOTIATION
Deepesh Y GlickArgentinaOnyama Limba RENEWAL
Nicolas T CampainBrazilXuxue Feng QUALIFIED
Kadeem M ShinkoArgentinaStephen Shaw NEGOTIATION
Misaki V VenereGermanyIoni Bowcher RENEWAL
Isabel L VenereGermanyBernardo Dominic NEW
Julie B MacleadGermanyBernardo Dominic NEW
Stacey I DoeItalyElwin Sharvill RENEWAL
Rodrigues B IturbideRussiaStephen Shaw UNQUALIFIED
Wickens F KolmetzGermanyXuxue Feng NEGOTIATION
Sinclair X WieserIndiaXuxue Feng PROPOSAL
Clifford C WieserBrazilBernardo Dominic PROPOSAL
Greenwood L StockhamSpainStephen Shaw UNQUALIFIED
Arvin G SaylorsUnited KingdomXuxue Feng NEW
Johnson T RoysterArgentinaXuxue Feng QUALIFIED
Julie J StockhamArgentinaIoni Bowcher QUALIFIED

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