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
Wickens L SlusarskiSpainElwin Sharvill PROPOSAL
Aruna W OstroskyItalyIoni Bowcher NEGOTIATION
Mayumi F RoysterSpainAnna Fali PROPOSAL
Jones M RulapaughGermanyOnyama Limba NEW
Leja F FollerFranceAnna Fali QUALIFIED
Jeanfrancois D OldroydSpainElwin Sharvill QUALIFIED
Jones A IturbideAustraliaIoni Bowcher NEW
Aika C VenereCanadaAsiya Javayant QUALIFIED
James J PaprockiItalyXuxue Feng PROPOSAL
Claire E WhobreyIndiaAmy Elsner NEGOTIATION
Misaki G MarrierFranceAmy Elsner QUALIFIED
Alejandro U KolmetzBrazilElwin Sharvill UNQUALIFIED
Jefferson D MacleadCanadaStephen Shaw NEGOTIATION
Wickens X MacleadUnited KingdomAsiya Javayant NEGOTIATION
Octavia Z DarakjySpainAsiya Javayant RENEWAL
Costa B AlbaresJapanStephen Shaw QUALIFIED
Alejandro K OstroskyRussiaBernardo Dominic NEGOTIATION
Ricardo Y MarrierRussiaBernardo Dominic NEW
Leja U GarufiItalyElwin Sharvill RENEWAL
Rodrigues S NestleIndiaXuxue Feng NEW
Stacey S CaldareraGermanyAsiya Javayant NEW
Aika I OstroskyUnited KingdomIoni Bowcher NEGOTIATION
Chavez J BriddickRussiaAmy Elsner QUALIFIED
Arvin O NickaJapanIoni Bowcher PROPOSAL
Emily D ButtFranceXuxue Feng UNQUALIFIED
Ricardo A NickaRussiaAmy Elsner PROPOSAL
Rodrigues V FlosiCanadaAmy Elsner PROPOSAL
Arvin U KolmetzJapanAmy Elsner QUALIFIED
Jennifer D NickaAustraliaAmy Elsner NEGOTIATION
Tony Y GauchoIndiaElwin Sharvill UNQUALIFIED
Alejandro X SaylorsGermanyAmy Elsner UNQUALIFIED
Deepesh X WaycottArgentinaXuxue Feng QUALIFIED
Morrow U GauchoFranceXuxue Feng PROPOSAL
Ivar D BriddickArgentinaXuxue Feng NEGOTIATION
Mayumi O CaudyAustraliaElwin Sharvill UNQUALIFIED
Maria D SchemmerIndiaAsiya Javayant PROPOSAL
Munro U TollnerIndiaAmy Elsner NEGOTIATION
Sinclair E GillianJapanAsiya Javayant QUALIFIED
David Q ChuiGermanyXuxue Feng NEGOTIATION
Morrow Q KolmetzItalyStephen Shaw NEGOTIATION
Emily N BowleyUnited KingdomElwin Sharvill PROPOSAL
Ivar A MorascaCanadaBernardo Dominic UNQUALIFIED
Stacey R OldroydJapanOnyama Limba PROPOSAL
Chavez Y OldroydBrazilAnna Fali NEW
Izzy E MorascaIndiaIoni Bowcher UNQUALIFIED
Kadeem X OldroydUnited KingdomBernardo Dominic QUALIFIED
Smith I PoquetteRussiaIoni Bowcher QUALIFIED
David Z OstroskyCanadaAnna Fali RENEWAL
David R MarrierJapanBernardo Dominic NEW
Misaki V WhobreyAustraliaIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jennifer J PerinFranceStephen Shaw QUALIFIED
Mujtaba I InouyeSpainElwin Sharvill RENEWAL
Silvio B KuskoJapanElwin Sharvill QUALIFIED
Aika M AmigonSpainXuxue Feng UNQUALIFIED
Ricardo F AlbaresSpainAmy Elsner PROPOSAL
David K OldroydBrazilAnna Fali QUALIFIED
Clifford D MarrierItalyElwin Sharvill RENEWAL
Mayumi Z RoysterItalyElwin Sharvill PROPOSAL
Ashley Y DilliardAustraliaAmy Elsner PROPOSAL
Aika X KolmetzFranceAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas K MorascaSpain2024-06-14Feltz Printing Service PROPOSAL71Onyama Limba
1001Aruna R PerinBrazil2024-06-10Rousseaux, Michael Esq PROPOSAL80Elwin Sharvill
1002Emily I ShinkoItaly2024-05-20Feiner Bros PROPOSAL52Ivan Magalhaes
1003Costa M RoysterIndia2024-06-11Morlong Associates RENEWAL35Ioni Bowcher
1004Kadeem U RutaItaly2024-05-26Morlong Associates UNQUALIFIED87Ivan Magalhaes
1005Isabel S VenereIndia2024-06-12Feltz Printing Service PROPOSAL80Ivan Magalhaes
1006Stacey V WieserUnited Kingdom2024-06-13Rangoni Of Florence QUALIFIED46Amy Elsner
1007Izzy F KuskoBrazil2024-06-04Buckley Miller Wright NEGOTIATION63Asiya Javayant
1008Johnson F FlosiUnited Kingdom2024-06-10Chemel, James L Cpa PROPOSAL69Ivan Magalhaes
1009Wickens M StockhamIndia2024-06-07Benton, John B Jr PROPOSAL69Ioni Bowcher
1010Alejandro S NickaItaly2024-05-28Commercial Press PROPOSAL37Xuxue Feng
1011Chavez E SergiRussia2024-06-17Dorl, James J Esq NEGOTIATION1Anna Fali
1012Ashley E CaldareraRussia2024-06-06Feiner Bros PROPOSAL42Anna Fali
1013Izzy B FerenczSpain2024-05-22Truhlar And Truhlar Attys PROPOSAL68Ioni Bowcher
1014Aika Y SlusarskiSpain2024-06-16Chanay, Jeffrey A Esq NEW20Elwin Sharvill
1015Izzy Y FigeroaBrazil2024-06-15Truhlar And Truhlar Attys UNQUALIFIED95Amy Elsner
1016Francesco D SchemmerRussia2024-06-11King, Christopher A Esq UNQUALIFIED24Amy Elsner
1017Ricardo T PerinAustralia2024-06-10Chapman, Ross E Esq PROPOSAL43Elwin Sharvill
1018Wickens Y SaylorsAustralia2024-05-25Chapman, Ross E Esq QUALIFIED97Xuxue Feng
1019Smith G WhobreyUnited Kingdom2024-06-14Benton, John B Jr RENEWAL15Ivan Magalhaes
1020David I KolmetzGermany2024-06-05Printing Dimensions NEGOTIATION26Ioni Bowcher
1021Chavez Y CaudyBrazil2024-06-15Benton, John B Jr NEGOTIATION37Stephen Shaw
1022Ashley P IturbideRussia2024-06-01Commercial Press NEW46Elwin Sharvill
1023Emily N MarrierBrazil2024-06-09Feiner Bros RENEWAL79Ioni Bowcher
1024Ashley X FerenczArgentina2024-05-24Chapman, Ross E Esq QUALIFIED34Anna Fali
1025David N FerenczFrance2024-05-25Feltz Printing Service PROPOSAL74Bernardo Dominic
1026Aditya F CaldareraUnited Kingdom2024-05-26Rangoni Of Florence NEW58Asiya Javayant
1027Jeanfrancois H DarakjyAustralia2024-06-11King, Christopher A Esq RENEWAL96Elwin Sharvill
1028Cody G RulapaughBrazil2024-06-14Chapman, Ross E Esq RENEWAL6Xuxue Feng
1029Rodrigues A SaylorsAustralia2024-05-23Chemel, James L Cpa RENEWAL48Xuxue Feng
1030Smith K CampainArgentina2024-06-08Rousseaux, Michael Esq RENEWAL19Anna Fali
1031Kaitlin K SaylorsCanada2024-06-13Rousseaux, Michael Esq RENEWAL81Bernardo Dominic
1032Leja N BowleyAustralia2024-06-09Rousseaux, Michael Esq RENEWAL86Bernardo Dominic
1033Claire F SaylorsItaly2024-06-09Feiner Bros NEW85Anna Fali
1034Aika Y KuskoSpain2024-05-22Commercial Press QUALIFIED39Ivan Magalhaes
1035Silvio T DilliardBrazil2024-06-01King, Christopher A Esq RENEWAL75Asiya Javayant
1036Salvatore B WieserFrance2024-05-24Rangoni Of Florence PROPOSAL36Anna Fali
1037Chavez D VenereIndia2024-06-16Truhlar And Truhlar Attys NEGOTIATION63Onyama Limba
1038Alejandro X CaudyItaly2024-05-20Printing Dimensions RENEWAL54Onyama Limba
1039Mujtaba W WhobreyAustralia2024-06-11Feiner Bros NEGOTIATION52Ioni Bowcher
1040Arvin Q SlusarskiGermany2024-05-30Morlong Associates RENEWAL47Anna Fali
1041Misaki O AlbaresSpain2024-06-14Morlong Associates NEW32Bernardo Dominic
1042Leon V DilliardRussia2024-06-04Buckley Miller Wright RENEWAL54Stephen Shaw
1043Sinclair K MorascaFrance2024-05-24Chanay, Jeffrey A Esq QUALIFIED60Asiya Javayant
1044Octavia L RoysterGermany2024-06-14Chemel, James L Cpa NEGOTIATION51Onyama Limba
1045Silvio U WhobreyJapan2024-06-02Chemel, James L Cpa RENEWAL64Amy Elsner
1046Emily B SlusarskiJapan2024-06-12Printing Dimensions UNQUALIFIED69Xuxue Feng
1047Rodrigues F CaldareraIndia2024-06-05Chemel, James L Cpa NEGOTIATION19Amy Elsner
1048Murillo G StockhamJapan2024-06-17Buckley Miller Wright PROPOSAL24Asiya Javayant
1049Aika T SchemmerSpain2024-05-29Printing Dimensions NEGOTIATION3Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Costa Y GillianIndiaStephen Shaw UNQUALIFIED
Wickens K MacleadSpainStephen Shaw QUALIFIED
Chavez E PoquetteItalyIoni Bowcher QUALIFIED
Smith A KolmetzGermanyElwin Sharvill PROPOSAL
Octavia Y FlosiAustraliaAsiya Javayant NEGOTIATION
Misaki H PoquetteJapanOnyama Limba RENEWAL
Ricardo O MacleadRussiaXuxue Feng NEW
Ivar U OstroskyRussiaAnna Fali PROPOSAL
Greenwood V DarakjyAustraliaAsiya Javayant PROPOSAL
Greenwood N RimArgentinaAsiya Javayant QUALIFIED
Emily L MarrierCanadaIoni Bowcher NEGOTIATION
Greenwood G ChuiSpainXuxue Feng QUALIFIED
Rodrigues N MaletBrazilIoni Bowcher PROPOSAL
Claire X MaletFranceAsiya Javayant QUALIFIED
James N MarrierJapanAsiya Javayant QUALIFIED
Maria Z GlickSpainAmy Elsner QUALIFIED
Morrow S WhobreySpainAmy Elsner QUALIFIED
Aika Q RimGermanyBernardo Dominic NEGOTIATION
Emily K GillianGermanyAmy Elsner NEW
Arvin P DarakjyJapanXuxue Feng QUALIFIED
Salvatore T FlosiJapanAsiya Javayant NEGOTIATION
Mayumi N BologniaAustraliaStephen Shaw NEGOTIATION
Wickens A ChuiFranceStephen Shaw NEW
Murillo N GillianJapanAsiya Javayant NEGOTIATION
Murillo Y MorascaJapanBernardo Dominic UNQUALIFIED
Leja B BologniaBrazilBernardo Dominic PROPOSAL
Stacey X ButtUnited KingdomXuxue Feng PROPOSAL
Jones V OstroskyRussiaAmy Elsner UNQUALIFIED
Costa X SaylorsBrazilStephen Shaw QUALIFIED
Arvin T StensethBrazilAnna Fali NEGOTIATION
Johnson T KolmetzBrazilAsiya Javayant PROPOSAL
Kadeem F SchemmerCanadaIvan Magalhaes QUALIFIED
Ivar S VocelkaJapanIvan Magalhaes UNQUALIFIED
Clifford F MacleadUnited KingdomAnna Fali UNQUALIFIED
Octavia F KolmetzRussiaAmy Elsner QUALIFIED
Ashley Z SaylorsSpainAnna Fali RENEWAL
Antonio U GillianItalyIvan Magalhaes QUALIFIED
Darci T KuskoItalyAmy Elsner RENEWAL
Maisha W RutaRussiaElwin Sharvill NEW
Misaki U StensethGermanyElwin Sharvill PROPOSAL
James Y PerinIndiaIvan Magalhaes NEW
Arvin E SaylorsFranceStephen Shaw NEGOTIATION
Alejandro D FigeroaUnited KingdomXuxue Feng RENEWAL
Antonio E RulapaughArgentinaXuxue Feng RENEWAL
Jones V CaudySpainIvan Magalhaes NEW
Ashley P DilliardCanadaOnyama Limba NEGOTIATION
Kaitlin P SlusarskiFranceStephen Shaw NEGOTIATION
Octavia L DoeGermanyAnna Fali PROPOSAL
Jeanfrancois D VocelkaBrazilAmy Elsner UNQUALIFIED
Greenwood Y NestleGermanyAnna Fali NEGOTIATION
Frozen Columns
Name
Arvin B Chui
Emily W Garufi
Adams U Rulapaugh
Arvin J Tollner
Morrow F Sergi
Kadeem B Morasca
Mayumi A Ruta
Julie F Briddick
Smith N Malet
Jeanfrancois D Albares
Darci D Iturbide
Izzy W Ostrosky
Jones N Nestle
Kadeem V Figeroa
Jeanfrancois I Whobrey
Leon H Kolmetz
Faith D Morasca
Jones R Foller
Jennifer O Maclead
Sinclair C Ferencz
Izzy N Venere
Aruna Q Wieser
Costa O Saylors
Jeanfrancois J Poquette
Murillo X Chui
Kadeem M Glick
James L Amigon
Stacey I Nestle
Isabel T Vocelka
Aruna T Rulapaugh
Isabel O Dilliard
Alejandro D Bolognia
Smith H Figeroa
Maria L Ostrosky
Nicolas C Doe
Cody K Bolognia
Leon F Wieser
Claire H Foller
Jones N Morasca
Silvio P Nestle
Munro J Saylors
Jones Q Saylors
Munro L Gillian
Mujtaba U Maclead
Emily M Briddick
Tony S Schemmer
Jeanfrancois K Shinko
Leja I Wieser
Munro G Marrier
Greenwood W Foller
IdCountryDate
1000Japan2024-05-19
1001Spain2024-06-12
1002Canada2024-05-24
1003Australia2024-05-25
1004France2024-05-26
1005United Kingdom2024-06-12
1006Italy2024-05-28
1007Canada2024-06-04
1008Japan2024-06-16
1009France2024-06-11
1010Argentina2024-06-11
1011Italy2024-06-16
1012France2024-05-24
1013Germany2024-05-20
1014India2024-05-28
1015Italy2024-05-31
1016France2024-05-26
1017United Kingdom2024-06-01
1018Germany2024-06-11
1019United Kingdom2024-05-19
1020Germany2024-05-23
1021Brazil2024-05-31
1022Russia2024-06-04
1023United Kingdom2024-06-10
1024United Kingdom2024-05-31
1025Italy2024-06-16
1026Brazil2024-05-31
1027India2024-06-05
1028Brazil2024-06-12
1029Germany2024-05-26
1030Russia2024-05-25
1031Spain2024-05-25
1032Spain2024-05-29
1033India2024-06-08
1034Australia2024-06-07
1035India2024-06-13
1036Italy2024-05-29
1037Italy2024-06-01
1038Argentina2024-05-20
1039United Kingdom2024-06-06
1040Australia2024-06-05
1041United Kingdom2024-05-24
1042United Kingdom2024-06-16
1043Japan2024-05-22
1044United Kingdom2024-06-04
1045Canada2024-06-11
1046Spain2024-05-21
1047Canada2024-06-16
1048India2024-05-21
1049Japan2024-05-25

On-Demand Data

NameIdCountryDate
Kaitlin C Flosi1000Spain2024-06-14
Rodrigues B Amigon1001India2024-05-30
Jones Q Ferencz1002Germany2024-06-12
Julie F Ruta1003Italy2024-06-07
Emily N Morasca1004Japan2024-06-04
Juan I Gaucho1005India2024-05-19
Nicolas A Butt1006Germany2024-06-05
Greenwood F Ostrosky1007France2024-06-02
Smith X Ruta1008Russia2024-05-24
Faith E Royster1009India2024-06-12
Salvatore H Garufi1010Canada2024-06-09
Aika X Albares1011France2024-05-20
Maisha K Gaucho1012Italy2024-05-20
Octavia L Darakjy1013Argentina2024-05-20
Nicolas A Malet1014Canada2024-05-29
Maisha X Wieser1015Germany2024-06-04
Jones N Schemmer1016Spain2024-05-26
Misaki R Dilliard1017Italy2024-06-08
Ashley V Royster1018Australia2024-06-13
Kaitlin R Nestle1019Canada2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro P GillianSpainIoni Bowcher UNQUALIFIED
Aruna G NickaArgentinaIoni Bowcher QUALIFIED
Isabel Q RulapaughIndiaBernardo Dominic NEW
Isabel B WieserAustraliaAmy Elsner RENEWAL
Octavia B KuskoArgentinaStephen Shaw RENEWAL
Sinclair Z ButtIndiaOnyama Limba NEW
Cody G MaletAustraliaAnna Fali QUALIFIED
Ashley H InouyeItalyOnyama Limba RENEWAL
Chavez X StockhamGermanyIvan Magalhaes QUALIFIED
Cody J NickaSpainXuxue Feng RENEWAL
Ivar P AlbaresGermanyIvan Magalhaes NEGOTIATION
Adams J TollnerBrazilXuxue Feng PROPOSAL
Stacey K DarakjySpainOnyama Limba PROPOSAL
Alejandro Q GauchoCanadaIvan Magalhaes NEW
Claire R VocelkaBrazilAsiya Javayant QUALIFIED
Misaki F KolmetzUnited KingdomIvan Magalhaes PROPOSAL
Jeanfrancois V MaletBrazilIvan Magalhaes PROPOSAL
Emily Z CampainItalyIvan Magalhaes NEW
Stacey S FlosiUnited KingdomStephen Shaw RENEWAL
Aditya F DoeJapanStephen Shaw NEW
Jones S MorascaUnited KingdomStephen Shaw PROPOSAL
Chavez K DoeAustraliaBernardo Dominic UNQUALIFIED
Leja R IturbideUnited KingdomIoni Bowcher QUALIFIED
Greenwood U MaletArgentinaAnna Fali QUALIFIED
Juan N KolmetzCanadaBernardo Dominic QUALIFIED
Sinclair B InouyeBrazilBernardo Dominic PROPOSAL
Salvatore H PerinFranceStephen Shaw UNQUALIFIED
Leja P FerenczFranceOnyama Limba QUALIFIED
Izzy T DilliardRussiaOnyama Limba RENEWAL
Octavia G DarakjyBrazilIoni Bowcher NEGOTIATION
Kaitlin A WieserCanadaXuxue Feng NEW
Juan G MorascaGermanyElwin Sharvill PROPOSAL
Ricardo U KuskoJapanElwin Sharvill NEW
Claire J SlusarskiAustraliaElwin Sharvill NEW
Izzy N ShinkoAustraliaIvan Magalhaes PROPOSAL
Faith N KolmetzArgentinaIvan Magalhaes UNQUALIFIED
Tony B AmigonCanadaStephen Shaw NEGOTIATION
Mayumi C KuskoGermanyOnyama Limba NEW
Silvio W GauchoArgentinaAsiya Javayant RENEWAL
Silvio R IturbideUnited KingdomAnna Fali 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>