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
Kadeem O KuskoItalyIvan Magalhaes NEW
Aruna C VocelkaUnited KingdomOnyama Limba PROPOSAL
Costa M SergiCanadaStephen Shaw NEGOTIATION
Jeanfrancois F GauchoSpainIvan Magalhaes QUALIFIED
Aditya N GillianCanadaIoni Bowcher QUALIFIED
Leon B ChuiFranceIoni Bowcher NEGOTIATION
Chavez H ShinkoGermanyBernardo Dominic NEGOTIATION
Morrow B WieserFranceIoni Bowcher NEGOTIATION
Smith T BowleyGermanyBernardo Dominic NEW
Wickens V DoeUnited KingdomAmy Elsner PROPOSAL
James V OldroydJapanAnna Fali NEW
Jennifer M OstroskyFranceAmy Elsner QUALIFIED
Julie L VenereItalyAnna Fali NEGOTIATION
Rodrigues K VenereSpainXuxue Feng UNQUALIFIED
Jones J OstroskyAustraliaIoni Bowcher RENEWAL
Aruna O NickaItalyIvan Magalhaes UNQUALIFIED
Mayumi O KuskoFranceStephen Shaw NEW
James X IturbideGermanyIoni Bowcher NEGOTIATION
Leon O IturbideItalyBernardo Dominic NEW
Misaki Z ShinkoUnited KingdomAmy Elsner PROPOSAL
Alejandro O GlickArgentinaOnyama Limba RENEWAL
Aika J WieserItalyAnna Fali UNQUALIFIED
Arvin M RutaAustraliaAnna Fali NEGOTIATION
Nicolas O ChuiAustraliaStephen Shaw QUALIFIED
Wickens M GillianBrazilBernardo Dominic PROPOSAL
Sinclair K GarufiArgentinaAsiya Javayant UNQUALIFIED
Smith U SchemmerJapanXuxue Feng NEGOTIATION
Ashley C OstroskyArgentinaAmy Elsner NEW
Jones I NestleBrazilXuxue Feng RENEWAL
Antonio A StockhamGermanyOnyama Limba QUALIFIED
Johnson U GauchoFranceXuxue Feng NEW
Silvio G DarakjyAustraliaAnna Fali NEGOTIATION
Darci Z GarufiIndiaXuxue Feng PROPOSAL
Aika J SchemmerArgentinaIoni Bowcher NEGOTIATION
Jennifer V OstroskySpainElwin Sharvill QUALIFIED
Chavez J PoquetteSpainAsiya Javayant NEGOTIATION
Tony V MaletArgentinaElwin Sharvill NEW
Mujtaba S WaycottFranceXuxue Feng PROPOSAL
Isabel X RutaCanadaElwin Sharvill PROPOSAL
Nicolas Y DilliardSpainAmy Elsner UNQUALIFIED
Juan J StensethBrazilIoni Bowcher UNQUALIFIED
Faith V CaudyArgentinaElwin Sharvill RENEWAL
Izzy F PoquetteArgentinaAsiya Javayant PROPOSAL
Kaitlin B DilliardCanadaAnna Fali NEGOTIATION
Salvatore S NestleSpainAnna Fali NEW
Leon R MacleadCanadaAsiya Javayant NEGOTIATION
Antonio B WaycottBrazilAsiya Javayant NEW
Aika P KuskoSpainAnna Fali NEW
Rodrigues C PerinSpainAmy Elsner NEGOTIATION
Costa C TollnerGermanyAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Darci Z ButtBrazilBernardo Dominic NEGOTIATION
James Z CaldareraBrazilAsiya Javayant UNQUALIFIED
Morrow R StensethArgentinaOnyama Limba RENEWAL
Francesco D PaprockiJapanAmy Elsner NEGOTIATION
Leja X BowleyAustraliaBernardo Dominic QUALIFIED
Leon W BologniaSpainElwin Sharvill UNQUALIFIED
Ashley T DilliardBrazilElwin Sharvill UNQUALIFIED
Morrow C SchemmerGermanyAsiya Javayant PROPOSAL
David B MaletSpainBernardo Dominic RENEWAL
Smith C InouyeGermanyStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro R SergiItaly2025-05-01Feiner Bros NEGOTIATION35Onyama Limba
1001Nicolas T WaycottUnited Kingdom2025-04-13Printing Dimensions NEGOTIATION54Asiya Javayant
1002Murillo V NickaFrance2025-04-28Chapman, Ross E Esq NEGOTIATION56Onyama Limba
1003Costa D WaycottRussia2025-04-24Printing Dimensions UNQUALIFIED27Stephen Shaw
1004Ashley P MaletArgentina2025-04-21Dorl, James J Esq RENEWAL14Onyama Limba
1005Tony N AmigonAustralia2025-04-20Rousseaux, Michael Esq NEW46Amy Elsner
1006Silvio G VenereItaly2025-04-10Chemel, James L Cpa QUALIFIED62Amy Elsner
1007Murillo X CaldareraBrazil2025-05-05Feiner Bros QUALIFIED5Amy Elsner
1008Stacey H NestleArgentina2025-04-28Morlong Associates QUALIFIED95Elwin Sharvill
1009Smith T StensethItaly2025-04-26Rousseaux, Michael Esq QUALIFIED38Ivan Magalhaes
1010Munro E FlosiJapan2025-05-08Chemel, James L Cpa UNQUALIFIED86Anna Fali
1011Isabel Z VocelkaFrance2025-04-18Commercial Press NEW72Bernardo Dominic
1012Cody B ShinkoIndia2025-04-19Commercial Press UNQUALIFIED24Anna Fali
1013Johnson U MarrierBrazil2025-05-07Morlong Associates UNQUALIFIED84Anna Fali
1014Ivar G KolmetzCanada2025-05-03Printing Dimensions PROPOSAL4Amy Elsner
1015Antonio I OldroydArgentina2025-04-19Commercial Press NEGOTIATION1Ioni Bowcher
1016Chavez Y RimCanada2025-05-06Truhlar And Truhlar Attys NEGOTIATION72Ioni Bowcher
1017Munro S SchemmerItaly2025-05-02Chemel, James L Cpa UNQUALIFIED4Stephen Shaw
1018Leon A DoeGermany2025-04-19Chanay, Jeffrey A Esq UNQUALIFIED57Asiya Javayant
1019Cody R MaletCanada2025-04-10Chemel, James L Cpa PROPOSAL98Ivan Magalhaes
1020Smith F AmigonJapan2025-04-22Commercial Press QUALIFIED48Asiya Javayant
1021Maisha F BologniaUnited Kingdom2025-05-02Commercial Press NEGOTIATION74Bernardo Dominic
1022Rodrigues V AlbaresFrance2025-04-11Morlong Associates NEGOTIATION20Xuxue Feng
1023Jones J AlbaresRussia2025-04-22Dorl, James J Esq NEW67Asiya Javayant
1024Aika S KuskoJapan2025-04-20Feiner Bros NEW43Xuxue Feng
1025Leja C SlusarskiArgentina2025-04-18Feltz Printing Service RENEWAL76Stephen Shaw
1026Izzy W StockhamSpain2025-04-28King, Christopher A Esq NEW11Onyama Limba
1027Jefferson K NickaJapan2025-05-08Chemel, James L Cpa RENEWAL92Ioni Bowcher
1028Aruna M PaprockiUnited Kingdom2025-04-09Chapman, Ross E Esq RENEWAL27Anna Fali
1029Leja M ChuiUnited Kingdom2025-04-12Morlong Associates NEGOTIATION9Asiya Javayant
1030Costa F RoysterAustralia2025-04-13Rousseaux, Michael Esq PROPOSAL76Ivan Magalhaes
1031Kaitlin U BowleyJapan2025-05-06Morlong Associates PROPOSAL6Elwin Sharvill
1032Mujtaba M FigeroaIndia2025-04-19Printing Dimensions NEGOTIATION8Xuxue Feng
1033Wickens E OstroskyCanada2025-04-26Printing Dimensions NEGOTIATION80Asiya Javayant
1034Misaki O GarufiArgentina2025-04-29Rousseaux, Michael Esq NEW30Xuxue Feng
1035Salvatore C AmigonUnited Kingdom2025-04-24King, Christopher A Esq NEGOTIATION0Anna Fali
1036Kadeem C ChuiIndia2025-04-20King, Christopher A Esq RENEWAL43Onyama Limba
1037Cody B FollerIndia2025-05-04Printing Dimensions QUALIFIED65Bernardo Dominic
1038Aruna A WieserJapan2025-05-04Truhlar And Truhlar Attys NEW1Ivan Magalhaes
1039Aditya C CampainBrazil2025-04-13Morlong Associates QUALIFIED87Ioni Bowcher
1040Munro A FigeroaSpain2025-04-12Printing Dimensions UNQUALIFIED74Elwin Sharvill
1041Octavia O OldroydItaly2025-05-04King, Christopher A Esq UNQUALIFIED97Ioni Bowcher
1042Adams O DoeIndia2025-05-06Chemel, James L Cpa RENEWAL77Onyama Limba
1043Leon Z RulapaughFrance2025-04-30Chemel, James L Cpa NEW2Stephen Shaw
1044Nicolas M GarufiIndia2025-05-04Rousseaux, Michael Esq NEGOTIATION53Xuxue Feng
1045Juan R BriddickIndia2025-04-26Truhlar And Truhlar Attys UNQUALIFIED82Amy Elsner
1046Antonio Q CaldareraItaly2025-05-01King, Christopher A Esq RENEWAL63Elwin Sharvill
1047Juan J MaletSpain2025-04-28Buckley Miller Wright QUALIFIED99Xuxue Feng
1048Tony I MaletArgentina2025-05-01Buckley Miller Wright QUALIFIED82Anna Fali
1049Jennifer A FigeroaJapan2025-05-06Buckley Miller Wright PROPOSAL50Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Clifford S RutaItalyXuxue Feng NEW
Izzy L SlusarskiBrazilAmy Elsner NEW
Claire X InouyeBrazilElwin Sharvill NEGOTIATION
Murillo E RoysterIndiaIoni Bowcher RENEWAL
Octavia B PoquetteSpainOnyama Limba RENEWAL
Aruna N StockhamFranceIvan Magalhaes RENEWAL
Aditya Y GauchoIndiaAmy Elsner UNQUALIFIED
Faith K WieserArgentinaIoni Bowcher UNQUALIFIED
James Y MarrierRussiaXuxue Feng UNQUALIFIED
Isabel W MaletCanadaAnna Fali QUALIFIED
Salvatore I NickaItalyOnyama Limba UNQUALIFIED
Jennifer X GauchoSpainElwin Sharvill UNQUALIFIED
Kadeem G GillianRussiaStephen Shaw NEGOTIATION
David V StensethFranceIoni Bowcher RENEWAL
Antonio N NickaJapanXuxue Feng PROPOSAL
Morrow R OldroydArgentinaXuxue Feng RENEWAL
Clifford R ChuiAustraliaIoni Bowcher NEW
Kaitlin E GarufiIndiaAnna Fali RENEWAL
Costa Z WaycottGermanyAmy Elsner PROPOSAL
Arvin K CampainArgentinaIoni Bowcher RENEWAL
Julie M StensethSpainXuxue Feng QUALIFIED
Greenwood F MorascaFranceIvan Magalhaes QUALIFIED
Misaki S ChuiSpainAsiya Javayant PROPOSAL
Jeanfrancois Q FlosiCanadaStephen Shaw PROPOSAL
Mayumi H RimArgentinaIvan Magalhaes PROPOSAL
Mayumi M MarrierItalyXuxue Feng QUALIFIED
Murillo I FollerItalyAnna Fali NEW
Jefferson F DoeItalyBernardo Dominic QUALIFIED
Jefferson L TollnerSpainOnyama Limba PROPOSAL
Izzy H MacleadArgentinaBernardo Dominic QUALIFIED
Leon L FlosiCanadaIvan Magalhaes RENEWAL
Johnson O VenereFranceBernardo Dominic PROPOSAL
Claire B AlbaresArgentinaAsiya Javayant QUALIFIED
Julie J VenereArgentinaIvan Magalhaes NEW
Wickens X StensethJapanAmy Elsner NEW
Leon O MarrierFranceAmy Elsner QUALIFIED
Julie A RutaSpainAsiya Javayant NEW
Tony P WaycottIndiaAmy Elsner NEGOTIATION
Leon O DilliardCanadaXuxue Feng UNQUALIFIED
Chavez B CaldareraRussiaElwin Sharvill UNQUALIFIED
Faith Q SlusarskiGermanyElwin Sharvill QUALIFIED
Jennifer U GlickBrazilAsiya Javayant PROPOSAL
Wickens Y RoysterCanadaAmy Elsner NEGOTIATION
Murillo U RutaGermanyXuxue Feng UNQUALIFIED
Antonio X OstroskyBrazilStephen Shaw QUALIFIED
Tony K WaycottAustraliaElwin Sharvill RENEWAL
Wickens R NestleJapanElwin Sharvill NEGOTIATION
Ricardo Q WaycottCanadaBernardo Dominic UNQUALIFIED
Jennifer G CaldareraItalyIvan Magalhaes RENEWAL
Misaki T SlusarskiGermanyIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Aika Z Oldroyd
Juan A Vocelka
Aruna D Royster
Murillo H Caldarera
Wickens Y Waycott
James V Sergi
Faith T Foller
Jefferson M Kolmetz
Aika V Kolmetz
James N Glick
Aika T Paprocki
Chavez G Marrier
Clifford P Garufi
Morrow E Campain
Kaitlin G Poquette
Francesco I Amigon
Jeanfrancois Q Wieser
Morrow A Saylors
Leon M Kusko
Munro T Poquette
Munro N Rim
Isabel P Glick
Ricardo W Saylors
Emily M Garufi
Darci U Perin
Silvio T Glick
Aditya A Darakjy
Salvatore P Wieser
Murillo N Shinko
Octavia Y Inouye
Adams T Ostrosky
Arvin G Butt
James G Inouye
Aditya Q Schemmer
Munro V Rim
Antonio X Waycott
Jennifer D Bolognia
Mujtaba J Whobrey
Deepesh T Stenseth
Munro B Kolmetz
Isabel J Oldroyd
Kadeem B Albares
Stacey T Ostrosky
Kaitlin X Nestle
Aika D Paprocki
Leja O Sergi
Adams R Rulapaugh
David A Whobrey
Cody M Rim
Izzy I Iturbide
IdCountryDate
1000Brazil2025-04-26
1001Russia2025-04-13
1002Brazil2025-04-30
1003Germany2025-05-07
1004Argentina2025-04-20
1005Brazil2025-04-10
1006France2025-04-16
1007Argentina2025-04-27
1008Spain2025-04-15
1009Argentina2025-04-26
1010India2025-05-02
1011Canada2025-05-01
1012Japan2025-04-19
1013Canada2025-05-02
1014Germany2025-04-18
1015Spain2025-05-04
1016Canada2025-05-08
1017Australia2025-05-08
1018Russia2025-04-17
1019India2025-04-11
1020Brazil2025-04-11
1021Russia2025-04-20
1022Russia2025-05-03
1023Canada2025-04-18
1024Canada2025-04-21
1025Japan2025-04-24
1026Italy2025-05-03
1027Australia2025-04-20
1028Spain2025-04-12
1029Brazil2025-04-09
1030Spain2025-04-23
1031India2025-04-16
1032Spain2025-05-02
1033France2025-04-09
1034United Kingdom2025-05-07
1035Canada2025-04-28
1036Brazil2025-04-13
1037Spain2025-04-15
1038France2025-04-12
1039Spain2025-04-15
1040Italy2025-04-19
1041France2025-04-27
1042France2025-05-07
1043Canada2025-04-12
1044Australia2025-04-17
1045France2025-04-19
1046Spain2025-04-26
1047Germany2025-04-19
1048Spain2025-04-28
1049France2025-04-20

On-Demand Data

NameIdCountryDate
Nicolas K Malet1000United Kingdom2025-04-16
Salvatore G Stockham1001India2025-04-22
James V Malet1002India2025-04-21
Munro W Garufi1003France2025-04-26
David S Butt1004United Kingdom2025-05-06
Silvio A Iturbide1005United Kingdom2025-05-06
Ricardo V Maclead1006Spain2025-04-15
Faith I Kusko1007Argentina2025-04-29
Stacey I Nestle1008Brazil2025-04-27
Jennifer A Rulapaugh1009France2025-05-04
Leja G Foller1010Canada2025-04-30
Munro Q Darakjy1011Argentina2025-04-29
Leja L Paprocki1012Russia2025-04-12
Mujtaba G Wieser1013United Kingdom2025-04-15
Leon P Butt1014United Kingdom2025-04-15
Ricardo W Ferencz1015Australia2025-04-16
Tony F Rulapaugh1016France2025-04-21
Jennifer F Caudy1017India2025-04-14
Wickens A Slusarski1018Italy2025-04-23
Sinclair M Garufi1019Canada2025-04-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley O StensethGermanyOnyama Limba QUALIFIED
Wickens D BowleyAustraliaIvan Magalhaes RENEWAL
Ricardo M FollerJapanAmy Elsner RENEWAL
Ivar T TollnerItalyBernardo Dominic QUALIFIED
Greenwood U CaldareraCanadaOnyama Limba PROPOSAL
Julie Q RoysterSpainAsiya Javayant NEGOTIATION
Morrow G VenereItalyIoni Bowcher NEGOTIATION
Francesco B FigeroaJapanIvan Magalhaes RENEWAL
Aditya Q MarrierIndiaIoni Bowcher QUALIFIED
Misaki X RutaJapanBernardo Dominic NEGOTIATION
Antonio B DarakjyCanadaStephen Shaw PROPOSAL
Julie U DilliardArgentinaAnna Fali PROPOSAL
Claire V MorascaIndiaAsiya Javayant NEGOTIATION
Rodrigues Y DoeIndiaStephen Shaw PROPOSAL
Juan Q SlusarskiAustraliaAsiya Javayant PROPOSAL
Nicolas I MaletItalyOnyama Limba PROPOSAL
Jefferson R AmigonJapanAsiya Javayant QUALIFIED
Greenwood A AmigonIndiaStephen Shaw QUALIFIED
Claire N ChuiCanadaAmy Elsner PROPOSAL
Arvin D OstroskyGermanyBernardo Dominic NEW
Faith L WieserItalyXuxue Feng RENEWAL
Murillo B FollerFranceIoni Bowcher UNQUALIFIED
Morrow J RutaJapanAmy Elsner NEGOTIATION
Cody M VocelkaFranceIvan Magalhaes QUALIFIED
Greenwood H MaletItalyBernardo Dominic UNQUALIFIED
Julie D GlickItalyAsiya Javayant PROPOSAL
Juan W KuskoSpainBernardo Dominic QUALIFIED
Aruna I SlusarskiJapanElwin Sharvill QUALIFIED
Jennifer P OldroydUnited KingdomAsiya Javayant NEGOTIATION
Juan Q MorascaJapanAnna Fali UNQUALIFIED
Leon M DoeUnited KingdomOnyama Limba QUALIFIED
Izzy W SchemmerSpainIvan Magalhaes UNQUALIFIED
Julie D BriddickFranceXuxue Feng UNQUALIFIED
Leja V VocelkaRussiaIoni Bowcher QUALIFIED
Salvatore W MaletGermanyStephen Shaw NEW
Jefferson U KolmetzJapanXuxue Feng RENEWAL
Isabel L AmigonSpainIoni Bowcher UNQUALIFIED
Emily E ButtUnited KingdomAnna Fali NEW
Nicolas W RutaIndiaAmy Elsner RENEWAL
Stacey F FerenczJapanXuxue Feng 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>