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
Antonio R WhobreyItalyAmy Elsner UNQUALIFIED
Munro T KolmetzArgentinaStephen Shaw NEGOTIATION
Wickens S PoquetteRussiaAsiya Javayant PROPOSAL
Izzy B ShinkoJapanXuxue Feng PROPOSAL
Deepesh W TollnerGermanyBernardo Dominic NEGOTIATION
Ricardo K AlbaresFranceOnyama Limba NEW
Ivar G WaycottUnited KingdomElwin Sharvill RENEWAL
Maria I MarrierSpainXuxue Feng RENEWAL
Leon H CaudyGermanyIvan Magalhaes QUALIFIED
Maria R RutaUnited KingdomBernardo Dominic QUALIFIED
James F RoysterIndiaAmy Elsner PROPOSAL
Mujtaba Q CaldareraJapanStephen Shaw RENEWAL
Cody A NickaIndiaOnyama Limba NEW
Sinclair Y BriddickFranceStephen Shaw NEGOTIATION
Aika V RutaRussiaAsiya Javayant NEW
Misaki Z BowleyJapanIvan Magalhaes NEW
Johnson K VocelkaCanadaIvan Magalhaes UNQUALIFIED
Jefferson V NickaGermanyStephen Shaw RENEWAL
Kadeem K FerenczBrazilStephen Shaw UNQUALIFIED
Antonio W DarakjyJapanBernardo Dominic NEW
Juan I MorascaFranceAmy Elsner NEW
Jennifer F CaldareraGermanyIoni Bowcher UNQUALIFIED
Maria V GillianAustraliaIvan Magalhaes QUALIFIED
Kaitlin N VocelkaRussiaAsiya Javayant RENEWAL
Ricardo E NickaIndiaIvan Magalhaes QUALIFIED
Chavez E WieserUnited KingdomAnna Fali NEGOTIATION
Izzy M KolmetzArgentinaElwin Sharvill UNQUALIFIED
Aika A CaudyBrazilAnna Fali UNQUALIFIED
Murillo K KolmetzSpainOnyama Limba NEGOTIATION
Munro W WhobreyRussiaBernardo Dominic UNQUALIFIED
Faith I VenereAustraliaOnyama Limba QUALIFIED
Emily A PaprockiBrazilStephen Shaw PROPOSAL
Tony S PerinArgentinaIoni Bowcher RENEWAL
Francesco O InouyeJapanXuxue Feng UNQUALIFIED
Stacey H BowleyRussiaElwin Sharvill UNQUALIFIED
Emily R VenereAustraliaAsiya Javayant QUALIFIED
Faith W MaletUnited KingdomStephen Shaw QUALIFIED
Mayumi I MacleadRussiaElwin Sharvill NEW
Aika P ChuiBrazilStephen Shaw NEGOTIATION
Leon X GlickBrazilElwin Sharvill UNQUALIFIED
Maria M TollnerBrazilAnna Fali PROPOSAL
Izzy X CampainGermanyOnyama Limba UNQUALIFIED
Ivar G PerinBrazilAnna Fali NEW
Rodrigues Z AlbaresFranceOnyama Limba PROPOSAL
Morrow P CaudyAustraliaOnyama Limba PROPOSAL
Isabel V PoquetteAustraliaOnyama Limba NEGOTIATION
Aika B GlickCanadaXuxue Feng RENEWAL
Jefferson L KolmetzGermanyAnna Fali RENEWAL
Leon B RoysterIndiaElwin Sharvill RENEWAL
Kadeem K NickaRussiaElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Costa J SergiRussiaAsiya Javayant NEGOTIATION
Francesco K ShinkoUnited KingdomAnna Fali QUALIFIED
James I StockhamAustraliaOnyama Limba RENEWAL
Julie U OstroskyIndiaOnyama Limba NEGOTIATION
Adams B NickaItalyOnyama Limba NEW
Kaitlin F CampainArgentinaIvan Magalhaes NEW
Octavia B SergiCanadaXuxue Feng NEGOTIATION
Jefferson K SergiCanadaIoni Bowcher NEGOTIATION
Mayumi B BriddickCanadaBernardo Dominic QUALIFIED
Chavez X InouyeBrazilStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie T BowleyUnited Kingdom2024-05-31Rousseaux, Michael Esq UNQUALIFIED38Onyama Limba
1001Arvin N SlusarskiAustralia2024-05-15Rousseaux, Michael Esq RENEWAL26Amy Elsner
1002Rodrigues K CaudyJapan2024-05-05Chanay, Jeffrey A Esq UNQUALIFIED45Onyama Limba
1003Julie E FollerSpain2024-05-31Dorl, James J Esq NEW20Asiya Javayant
1004James E RimGermany2024-05-10Rangoni Of Florence UNQUALIFIED79Ivan Magalhaes
1005Ashley A WhobreyItaly2024-05-16Morlong Associates RENEWAL29Anna Fali
1006Jeanfrancois W RutaFrance2024-05-24Morlong Associates QUALIFIED40Anna Fali
1007Jeanfrancois G BriddickRussia2024-05-18Dorl, James J Esq RENEWAL41Anna Fali
1008Silvio W MaletRussia2024-05-20Feiner Bros NEGOTIATION33Amy Elsner
1009Costa P MarrierArgentina2024-05-23Morlong Associates RENEWAL53Asiya Javayant
1010Alejandro J SlusarskiArgentina2024-05-18King, Christopher A Esq UNQUALIFIED72Ioni Bowcher
1011Jeanfrancois C CaldareraUnited Kingdom2024-05-06Feltz Printing Service QUALIFIED16Xuxue Feng
1012Salvatore X PoquetteArgentina2024-05-15Commercial Press UNQUALIFIED77Onyama Limba
1013Ivar R MacleadItaly2024-05-10Dorl, James J Esq QUALIFIED52Anna Fali
1014Jeanfrancois O WhobreyArgentina2024-05-30Feltz Printing Service RENEWAL82Ivan Magalhaes
1015Stacey F ShinkoCanada2024-05-15Rangoni Of Florence NEW94Bernardo Dominic
1016Johnson V CaudyCanada2024-05-27Morlong Associates NEGOTIATION65Anna Fali
1017Clifford O MorascaArgentina2024-05-10Buckley Miller Wright QUALIFIED8Ioni Bowcher
1018Salvatore Z IturbideRussia2024-05-23Buckley Miller Wright PROPOSAL58Asiya Javayant
1019Salvatore M FollerBrazil2024-05-08Chemel, James L Cpa PROPOSAL87Anna Fali
1020Clifford A StockhamFrance2024-05-16Rousseaux, Michael Esq UNQUALIFIED14Stephen Shaw
1021Juan F RoysterIndia2024-05-19Feiner Bros RENEWAL70Onyama Limba
1022Smith M SaylorsIndia2024-05-11King, Christopher A Esq NEGOTIATION18Elwin Sharvill
1023Isabel B MaletUnited Kingdom2024-05-22Dorl, James J Esq UNQUALIFIED26Xuxue Feng
1024Costa Z StockhamRussia2024-06-02Chemel, James L Cpa QUALIFIED30Ioni Bowcher
1025Darci A VocelkaBrazil2024-05-20Feiner Bros UNQUALIFIED63Asiya Javayant
1026Alejandro I WaycottGermany2024-05-14King, Christopher A Esq NEW69Stephen Shaw
1027Aika Q GauchoCanada2024-06-02Benton, John B Jr NEW65Ioni Bowcher
1028Ricardo P RulapaughArgentina2024-05-29Rousseaux, Michael Esq NEGOTIATION49Bernardo Dominic
1029Alejandro E MacleadIndia2024-05-27Morlong Associates PROPOSAL20Ioni Bowcher
1030Rodrigues Q WaycottFrance2024-05-16Feiner Bros RENEWAL55Ivan Magalhaes
1031Rodrigues R CaldareraSpain2024-05-25Dorl, James J Esq RENEWAL96Anna Fali
1032Isabel O ShinkoRussia2024-05-19Rangoni Of Florence RENEWAL13Bernardo Dominic
1033Aditya T KuskoUnited Kingdom2024-05-17King, Christopher A Esq UNQUALIFIED93Anna Fali
1034James B DilliardUnited Kingdom2024-05-07Rousseaux, Michael Esq QUALIFIED76Asiya Javayant
1035Johnson J PerinCanada2024-05-12Dorl, James J Esq RENEWAL33Bernardo Dominic
1036Jefferson T KuskoFrance2024-05-10Buckley Miller Wright QUALIFIED66Amy Elsner
1037Chavez J SergiBrazil2024-05-30Dorl, James J Esq NEGOTIATION48Bernardo Dominic
1038Octavia V CaudyJapan2024-05-28Chanay, Jeffrey A Esq QUALIFIED24Bernardo Dominic
1039Stacey K MaletCanada2024-06-02Chanay, Jeffrey A Esq RENEWAL60Amy Elsner
1040Aika I DilliardIndia2024-05-07Feiner Bros NEGOTIATION28Ioni Bowcher
1041Johnson C CaudyUnited Kingdom2024-05-11Chapman, Ross E Esq PROPOSAL36Ivan Magalhaes
1042Jeanfrancois T MacleadGermany2024-05-12Rousseaux, Michael Esq NEGOTIATION16Ioni Bowcher
1043Kaitlin A PaprockiIndia2024-05-09Rousseaux, Michael Esq NEGOTIATION48Amy Elsner
1044Claire U PoquetteUnited Kingdom2024-05-28Chapman, Ross E Esq UNQUALIFIED71Anna Fali
1045David Y GillianGermany2024-05-08Benton, John B Jr QUALIFIED58Ioni Bowcher
1046Greenwood B KolmetzJapan2024-05-14Chanay, Jeffrey A Esq NEW87Ivan Magalhaes
1047James E DarakjySpain2024-05-30Truhlar And Truhlar Attys QUALIFIED5Onyama Limba
1048Wickens M KuskoGermany2024-05-13Commercial Press NEGOTIATION51Xuxue Feng
1049Cody I BriddickAustralia2024-05-19Feiner Bros QUALIFIED9Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Maria G PaprockiSpainBernardo Dominic UNQUALIFIED
Smith R DoeJapanAsiya Javayant PROPOSAL
Alejandro A DilliardSpainOnyama Limba QUALIFIED
Morrow K RoysterBrazilStephen Shaw PROPOSAL
Silvio L VocelkaBrazilIoni Bowcher QUALIFIED
Izzy A ButtArgentinaAmy Elsner NEGOTIATION
Kadeem L FerenczJapanIvan Magalhaes NEW
Emily Y RulapaughJapanIvan Magalhaes NEW
Silvio H FerenczGermanyXuxue Feng QUALIFIED
Deepesh H WaycottBrazilOnyama Limba UNQUALIFIED
Alejandro W MacleadIndiaElwin Sharvill NEW
Emily H StensethBrazilIvan Magalhaes NEW
Silvio P BowleyIndiaAsiya Javayant RENEWAL
Silvio Y GauchoIndiaAsiya Javayant UNQUALIFIED
Darci Q BowleyFranceOnyama Limba RENEWAL
Julie K RulapaughFranceBernardo Dominic NEGOTIATION
Greenwood D MacleadIndiaAsiya Javayant NEW
Ashley M StensethUnited KingdomStephen Shaw PROPOSAL
Isabel W GlickGermanyBernardo Dominic RENEWAL
Leon E NestleItalyElwin Sharvill UNQUALIFIED
Ivar R KolmetzUnited KingdomAnna Fali PROPOSAL
Octavia M DoeFranceIoni Bowcher PROPOSAL
Jefferson U DoeUnited KingdomBernardo Dominic NEGOTIATION
Juan M VocelkaIndiaXuxue Feng NEW
Isabel V SlusarskiSpainElwin Sharvill QUALIFIED
Jeanfrancois U GauchoArgentinaOnyama Limba QUALIFIED
Cody P OstroskySpainAsiya Javayant NEGOTIATION
Izzy R MorascaBrazilIvan Magalhaes NEW
Nicolas R NestleGermanyIoni Bowcher NEGOTIATION
Darci O DoeJapanAsiya Javayant NEGOTIATION
Jeanfrancois X FollerItalyBernardo Dominic NEGOTIATION
Munro M FigeroaCanadaElwin Sharvill NEGOTIATION
Darci S GauchoBrazilAsiya Javayant PROPOSAL
Tony N GlickCanadaXuxue Feng PROPOSAL
Misaki N BriddickBrazilIvan Magalhaes PROPOSAL
Jones T AlbaresRussiaStephen Shaw NEGOTIATION
Jennifer L SlusarskiFranceBernardo Dominic PROPOSAL
Francesco O GlickRussiaOnyama Limba UNQUALIFIED
Jeanfrancois J VocelkaArgentinaXuxue Feng PROPOSAL
Greenwood B GlickArgentinaAsiya Javayant NEGOTIATION
Leon J StensethRussiaAmy Elsner UNQUALIFIED
Misaki Z CaudyCanadaAsiya Javayant NEGOTIATION
Silvio U RoysterArgentinaAnna Fali QUALIFIED
Smith P FollerRussiaAnna Fali RENEWAL
Deepesh G DoeArgentinaIoni Bowcher UNQUALIFIED
Clifford Y RutaJapanXuxue Feng QUALIFIED
Silvio J VocelkaRussiaOnyama Limba UNQUALIFIED
Ricardo I RutaIndiaElwin Sharvill NEW
Juan G SlusarskiAustraliaXuxue Feng NEW
Rodrigues N AlbaresArgentinaAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Darci Q Wieser
Wickens J Albares
Kadeem F Kolmetz
Murillo P Sergi
Aditya D Iturbide
Jones H Kusko
Stacey I Wieser
Isabel D Iturbide
Smith U Albares
Sinclair M Foller
Munro K Saylors
Mujtaba A Oldroyd
Emily C Ostrosky
Cody E Gillian
James H Glick
Cody Y Vocelka
Octavia O Glick
Cody C Gillian
Chavez F Vocelka
Antonio A Campain
Aika L Waycott
Aika J Malet
Jeanfrancois D Kusko
Tony F Stenseth
Jennifer E Briddick
James I Amigon
Leja X Glick
Aika I Garufi
Morrow T Nicka
Claire T Oldroyd
Octavia T Albares
Mayumi R Waycott
Mujtaba L Figeroa
Jefferson T Foller
Salvatore E Gaucho
Jones Z Chui
Jeanfrancois N Malet
Izzy J Marrier
Leon G Caldarera
Tony K Poquette
Leja A Schemmer
Aruna V Garufi
Julie R Caudy
Rodrigues F Gaucho
Tony N Marrier
Wickens M Doe
Rodrigues F Paprocki
Silvio Q Inouye
Clifford D Marrier
Ashley S Kusko
IdCountryDate
1000India2024-05-21
1001Italy2024-05-06
1002Australia2024-05-21
1003Italy2024-05-07
1004France2024-06-01
1005India2024-05-28
1006Australia2024-05-10
1007Brazil2024-05-22
1008Russia2024-05-28
1009United Kingdom2024-05-05
1010Spain2024-05-28
1011Argentina2024-05-21
1012Japan2024-05-25
1013France2024-06-02
1014Russia2024-05-27
1015Canada2024-05-15
1016Argentina2024-05-19
1017Spain2024-05-11
1018Canada2024-05-06
1019France2024-05-22
1020India2024-05-07
1021Australia2024-05-08
1022Germany2024-05-24
1023Spain2024-05-17
1024France2024-05-17
1025Australia2024-05-21
1026Spain2024-05-31
1027Canada2024-05-19
1028Japan2024-05-28
1029Canada2024-06-02
1030Spain2024-05-17
1031Germany2024-05-13
1032Canada2024-06-02
1033Russia2024-05-27
1034India2024-05-26
1035United Kingdom2024-05-23
1036United Kingdom2024-05-12
1037Canada2024-05-21
1038Brazil2024-05-25
1039Japan2024-05-15
1040India2024-05-06
1041Australia2024-05-10
1042Argentina2024-05-07
1043France2024-05-31
1044Germany2024-05-22
1045India2024-05-27
1046United Kingdom2024-05-23
1047Japan2024-05-27
1048India2024-05-24
1049Canada2024-05-21

On-Demand Data

NameIdCountryDate
Misaki D Garufi1000Italy2024-06-03
Wickens G Maclead1001Spain2024-05-18
Tony M Kusko1002Russia2024-06-02
Chavez L Ferencz1003Spain2024-05-17
Deepesh B Briddick1004India2024-05-20
Ricardo G Gaucho1005India2024-05-06
Antonio L Amigon1006Italy2024-05-21
Salvatore A Iturbide1007Australia2024-05-30
James K Venere1008Germany2024-05-31
Darci Z Marrier1009Japan2024-06-01
Darci F Doe1010Italy2024-05-12
Rodrigues L Chui1011Japan2024-05-29
Aika B Oldroyd1012Italy2024-05-31
Alejandro K Rulapaugh1013United Kingdom2024-06-01
Salvatore C Royster1014Japan2024-05-06
Johnson D Iturbide1015Canada2024-05-28
Leon H Tollner1016United Kingdom2024-05-17
Jefferson J Malet1017Brazil2024-05-27
Mayumi O Flosi1018Australia2024-05-11
Antonio F Campain1019Italy2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio G StensethGermanyBernardo Dominic NEW
Darci B StensethArgentinaXuxue Feng RENEWAL
Ivar B OldroydItalyXuxue Feng PROPOSAL
Arvin X ChuiRussiaBernardo Dominic NEGOTIATION
Maisha B FlosiItalyAnna Fali PROPOSAL
Sinclair Q InouyeItalyAmy Elsner QUALIFIED
Silvio K StockhamGermanyStephen Shaw RENEWAL
Johnson A MorascaItalyStephen Shaw NEGOTIATION
Aruna P FollerItalyBernardo Dominic NEGOTIATION
Adams Q SaylorsJapanIoni Bowcher RENEWAL
Ashley T RulapaughIndiaIvan Magalhaes NEW
Juan J DarakjyIndiaAsiya Javayant PROPOSAL
Cody Z DoeBrazilAsiya Javayant PROPOSAL
Mujtaba J AmigonUnited KingdomStephen Shaw PROPOSAL
Leja R ShinkoFranceIoni Bowcher NEW
Cody I VenereBrazilElwin Sharvill UNQUALIFIED
Jennifer P OstroskyArgentinaAmy Elsner UNQUALIFIED
Ashley G WhobreyItalyAnna Fali NEW
Misaki V MorascaAustraliaAnna Fali PROPOSAL
Octavia U DarakjyUnited KingdomXuxue Feng QUALIFIED
Costa R InouyeSpainXuxue Feng NEGOTIATION
Salvatore Z SlusarskiUnited KingdomElwin Sharvill UNQUALIFIED
Maria Q CampainJapanBernardo Dominic QUALIFIED
Johnson U RutaCanadaIoni Bowcher QUALIFIED
Isabel V ShinkoIndiaXuxue Feng QUALIFIED
Jeanfrancois S FerenczSpainIvan Magalhaes PROPOSAL
Maisha Z FigeroaAustraliaStephen Shaw NEGOTIATION
Aika C MorascaGermanyElwin Sharvill NEGOTIATION
Jeanfrancois N GillianUnited KingdomStephen Shaw QUALIFIED
Deepesh V KuskoRussiaIvan Magalhaes NEGOTIATION
Stacey L MaletUnited KingdomAsiya Javayant NEW
Morrow P NickaAustraliaAsiya Javayant PROPOSAL
Silvio Q StensethBrazilStephen Shaw UNQUALIFIED
Murillo G RulapaughBrazilElwin Sharvill UNQUALIFIED
Izzy S FerenczUnited KingdomBernardo Dominic PROPOSAL
Emily P NestleSpainBernardo Dominic PROPOSAL
Deepesh S CaldareraArgentinaAmy Elsner NEW
Arvin J KolmetzCanadaElwin Sharvill NEGOTIATION
Emily X GauchoItalyIoni Bowcher RENEWAL
Mujtaba G GarufiAustraliaAnna Fali 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>