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 J IturbideAustraliaOnyama Limba QUALIFIED
Nicolas G IturbideCanadaAnna Fali PROPOSAL
Aruna Y ShinkoArgentinaAsiya Javayant PROPOSAL
Maria H WhobreyAustraliaIoni Bowcher RENEWAL
Silvio P MorascaUnited KingdomIoni Bowcher NEW
James Q SlusarskiIndiaStephen Shaw NEGOTIATION
Jennifer L PaprockiFranceBernardo Dominic NEW
Munro L CampainArgentinaAnna Fali PROPOSAL
Antonio D MacleadFranceAnna Fali PROPOSAL
Silvio W MaletJapanAnna Fali NEW
Clifford N ChuiCanadaAsiya Javayant RENEWAL
Octavia P DilliardJapanAnna Fali UNQUALIFIED
Ivar T OldroydBrazilIoni Bowcher UNQUALIFIED
Arvin M FlosiSpainIoni Bowcher NEW
James O CaudyCanadaAnna Fali RENEWAL
Aditya I DarakjySpainStephen Shaw QUALIFIED
Greenwood H WieserGermanyOnyama Limba NEGOTIATION
Jeanfrancois S ChuiRussiaBernardo Dominic RENEWAL
Munro X OldroydJapanAsiya Javayant QUALIFIED
Julie S OldroydSpainBernardo Dominic QUALIFIED
Claire A SaylorsAustraliaAmy Elsner UNQUALIFIED
Aditya P IturbideSpainBernardo Dominic UNQUALIFIED
Kaitlin G ButtSpainIoni Bowcher NEW
Juan H FerenczGermanyElwin Sharvill UNQUALIFIED
Aika H IturbideUnited KingdomStephen Shaw UNQUALIFIED
Rodrigues D NestleBrazilIoni Bowcher PROPOSAL
Aditya Q WaycottSpainAnna Fali PROPOSAL
David J WieserArgentinaAnna Fali QUALIFIED
Smith Z FerenczBrazilAsiya Javayant NEGOTIATION
Ricardo O GillianSpainXuxue Feng UNQUALIFIED
Francesco D IturbideIndiaBernardo Dominic NEGOTIATION
James J ButtGermanyAmy Elsner NEGOTIATION
Aditya N AmigonFranceElwin Sharvill RENEWAL
Smith O MorascaIndiaOnyama Limba PROPOSAL
Kaitlin K AlbaresRussiaXuxue Feng PROPOSAL
Julie C NestleGermanyIvan Magalhaes QUALIFIED
Mujtaba U DarakjyRussiaOnyama Limba QUALIFIED
Faith G PerinBrazilIvan Magalhaes NEGOTIATION
Mayumi T GarufiGermanyIvan Magalhaes NEGOTIATION
Munro P AlbaresItalyAmy Elsner QUALIFIED
Stacey N BowleyUnited KingdomXuxue Feng QUALIFIED
Munro W PerinAustraliaXuxue Feng NEGOTIATION
Leon L MaletFranceIoni Bowcher UNQUALIFIED
Isabel Y OstroskySpainAsiya Javayant PROPOSAL
Aika S AmigonGermanyOnyama Limba QUALIFIED
Sinclair X RutaArgentinaAnna Fali RENEWAL
Kadeem V WaycottItalyIoni Bowcher PROPOSAL
Claire X GlickSpainIoni Bowcher PROPOSAL
Misaki O PoquetteFranceAmy Elsner QUALIFIED
Sinclair H WhobreyUnited KingdomElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jefferson K NestleAustraliaBernardo Dominic PROPOSAL
Johnson C SlusarskiCanadaStephen Shaw RENEWAL
Aika K OstroskyArgentinaIvan Magalhaes QUALIFIED
Claire K CaudyGermanyStephen Shaw UNQUALIFIED
Francesco L MacleadAustraliaBernardo Dominic NEW
Antonio I VenereBrazilAmy Elsner NEW
Smith Y OstroskySpainAmy Elsner UNQUALIFIED
Alejandro X NestleSpainAmy Elsner NEGOTIATION
Kadeem B SlusarskiFranceXuxue Feng NEGOTIATION
Octavia R FollerAustraliaElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci V SlusarskiJapan2024-05-31Morlong Associates UNQUALIFIED96Elwin Sharvill
1001Leja K ShinkoJapan2024-06-15Benton, John B Jr NEGOTIATION28Anna Fali
1002Kadeem B FerenczFrance2024-06-06Feltz Printing Service QUALIFIED50Amy Elsner
1003Rodrigues A MaletItaly2024-05-23Feiner Bros RENEWAL9Stephen Shaw
1004Octavia A RulapaughIndia2024-06-03Morlong Associates NEGOTIATION94Amy Elsner
1005Mayumi M RutaUnited Kingdom2024-05-26Chanay, Jeffrey A Esq RENEWAL16Stephen Shaw
1006Silvio Z RutaFrance2024-06-09Benton, John B Jr QUALIFIED6Asiya Javayant
1007Adams J DarakjyBrazil2024-06-06Morlong Associates RENEWAL3Anna Fali
1008Clifford R PaprockiFrance2024-05-25Feltz Printing Service QUALIFIED49Ioni Bowcher
1009Clifford B MarrierIndia2024-05-28Benton, John B Jr NEW47Anna Fali
1010Aditya N AmigonBrazil2024-06-07Rangoni Of Florence NEGOTIATION87Ivan Magalhaes
1011Mujtaba F DilliardFrance2024-06-06King, Christopher A Esq RENEWAL49Ioni Bowcher
1012Aruna W MacleadGermany2024-06-18King, Christopher A Esq QUALIFIED3Amy Elsner
1013Tony P TollnerCanada2024-05-30Rousseaux, Michael Esq RENEWAL20Asiya Javayant
1014Leja K CaldareraSpain2024-06-03Rousseaux, Michael Esq QUALIFIED16Ivan Magalhaes
1015Stacey T ButtAustralia2024-06-13Feiner Bros NEW1Anna Fali
1016Stacey E MaletGermany2024-05-28Benton, John B Jr NEGOTIATION22Asiya Javayant
1017Emily Z CaldareraUnited Kingdom2024-05-24Benton, John B Jr NEGOTIATION41Elwin Sharvill
1018Greenwood W CaudyUnited Kingdom2024-06-03Rangoni Of Florence NEW27Bernardo Dominic
1019Ashley S RimArgentina2024-06-15Dorl, James J Esq QUALIFIED65Stephen Shaw
1020Jennifer C ButtGermany2024-05-28Rangoni Of Florence NEGOTIATION48Elwin Sharvill
1021Rodrigues S NickaBrazil2024-06-13Truhlar And Truhlar Attys NEW38Bernardo Dominic
1022Greenwood G AlbaresArgentina2024-06-12Truhlar And Truhlar Attys RENEWAL2Stephen Shaw
1023Costa Z MorascaItaly2024-05-31Dorl, James J Esq PROPOSAL44Stephen Shaw
1024Adams R CaudyBrazil2024-06-11Morlong Associates QUALIFIED25Xuxue Feng
1025Clifford N PerinFrance2024-06-18Commercial Press NEGOTIATION56Onyama Limba
1026Kaitlin D DilliardSpain2024-06-10Printing Dimensions NEW7Ivan Magalhaes
1027Leja K MaletFrance2024-06-09Feiner Bros UNQUALIFIED65Stephen Shaw
1028Isabel G SlusarskiItaly2024-05-30King, Christopher A Esq NEGOTIATION56Stephen Shaw
1029Aditya O ShinkoUnited Kingdom2024-06-01Buckley Miller Wright PROPOSAL78Ioni Bowcher
1030Leja U NickaItaly2024-06-21Buckley Miller Wright PROPOSAL92Asiya Javayant
1031Faith L MacleadRussia2024-05-24Dorl, James J Esq NEGOTIATION14Stephen Shaw
1032James Z SlusarskiFrance2024-05-31Chanay, Jeffrey A Esq PROPOSAL85Stephen Shaw
1033Leja Q ButtArgentina2024-05-30Rousseaux, Michael Esq RENEWAL67Ivan Magalhaes
1034Sinclair H NestleCanada2024-05-26Feiner Bros UNQUALIFIED45Xuxue Feng
1035James D NickaIndia2024-05-28Morlong Associates NEW22Elwin Sharvill
1036Kadeem H CaldareraFrance2024-05-23Chanay, Jeffrey A Esq NEW28Stephen Shaw
1037Tony S FollerCanada2024-06-02Chemel, James L Cpa PROPOSAL90Asiya Javayant
1038Alejandro V PerinUnited Kingdom2024-06-14Feiner Bros QUALIFIED21Elwin Sharvill
1039Adams R RutaUnited Kingdom2024-05-23Buckley Miller Wright QUALIFIED45Amy Elsner
1040Alejandro K ChuiFrance2024-05-30Buckley Miller Wright NEW98Ivan Magalhaes
1041Arvin V ChuiBrazil2024-06-12Buckley Miller Wright UNQUALIFIED98Asiya Javayant
1042Wickens R SaylorsIndia2024-06-11Rangoni Of Florence NEW74Ioni Bowcher
1043Alejandro V MarrierIndia2024-06-01Chemel, James L Cpa QUALIFIED23Ivan Magalhaes
1044Nicolas J FollerJapan2024-06-15Dorl, James J Esq RENEWAL10Asiya Javayant
1045Chavez K GillianCanada2024-05-28Commercial Press NEGOTIATION70Amy Elsner
1046Kaitlin H MorascaItaly2024-06-15Dorl, James J Esq UNQUALIFIED86Xuxue Feng
1047Juan V VenereFrance2024-06-01Feiner Bros RENEWAL66Elwin Sharvill
1048Julie D RimJapan2024-05-24Chanay, Jeffrey A Esq PROPOSAL27Ioni Bowcher
1049Octavia A MorascaJapan2024-06-09Chemel, James L Cpa PROPOSAL97Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Johnson I IturbideFranceAsiya Javayant NEW
Sinclair N TollnerGermanyAnna Fali PROPOSAL
Emily S FlosiAustraliaStephen Shaw NEGOTIATION
Alejandro G MorascaCanadaAnna Fali NEGOTIATION
Faith X ButtBrazilElwin Sharvill NEGOTIATION
Antonio A PerinGermanyBernardo Dominic QUALIFIED
Emily L CaudyItalyXuxue Feng NEW
Nicolas F RutaSpainAnna Fali PROPOSAL
Juan G FollerAustraliaAmy Elsner NEGOTIATION
Tony Z GarufiArgentinaAnna Fali PROPOSAL
Kaitlin K DarakjyUnited KingdomAmy Elsner QUALIFIED
Jefferson L BriddickFranceOnyama Limba RENEWAL
Julie W PaprockiSpainBernardo Dominic RENEWAL
Francesco M PoquetteCanadaIvan Magalhaes RENEWAL
Octavia F SaylorsItalyIvan Magalhaes UNQUALIFIED
Octavia X RoysterArgentinaAnna Fali NEGOTIATION
Kaitlin S GarufiRussiaIoni Bowcher NEGOTIATION
Jones P WaycottSpainIvan Magalhaes NEW
Nicolas L ButtAustraliaIvan Magalhaes RENEWAL
Arvin B WieserJapanIvan Magalhaes QUALIFIED
Chavez B DarakjyGermanyAmy Elsner RENEWAL
Deepesh A AlbaresJapanBernardo Dominic RENEWAL
Maria C MorascaBrazilIoni Bowcher QUALIFIED
Wickens H VenereRussiaAnna Fali UNQUALIFIED
Leja X DoeRussiaXuxue Feng UNQUALIFIED
Murillo Z GauchoSpainAmy Elsner UNQUALIFIED
James W ButtRussiaOnyama Limba NEGOTIATION
Morrow W SlusarskiArgentinaAnna Fali UNQUALIFIED
Izzy P CampainItalyAnna Fali UNQUALIFIED
Ashley P OstroskyFranceAsiya Javayant QUALIFIED
Faith F InouyeGermanyElwin Sharvill NEGOTIATION
Faith O StensethSpainIvan Magalhaes QUALIFIED
Costa D GillianUnited KingdomAnna Fali RENEWAL
David Q RoysterBrazilAnna Fali RENEWAL
Stacey Q ButtArgentinaOnyama Limba PROPOSAL
Francesco I BriddickFranceBernardo Dominic PROPOSAL
Tony Y RulapaughJapanIoni Bowcher NEGOTIATION
Mujtaba W PerinItalyXuxue Feng UNQUALIFIED
Antonio P NestleUnited KingdomElwin Sharvill RENEWAL
Maisha I WieserRussiaIoni Bowcher NEGOTIATION
Jennifer N MaletCanadaIvan Magalhaes RENEWAL
Mujtaba I DarakjySpainElwin Sharvill RENEWAL
Jennifer V GillianUnited KingdomElwin Sharvill QUALIFIED
Juan B ShinkoSpainAmy Elsner RENEWAL
Deepesh V DilliardIndiaOnyama Limba RENEWAL
Morrow M VocelkaGermanyElwin Sharvill RENEWAL
Octavia T CaldareraFranceBernardo Dominic RENEWAL
Izzy K SaylorsRussiaAsiya Javayant RENEWAL
Johnson Q MarrierJapanIoni Bowcher UNQUALIFIED
Aika W DoeFranceBernardo Dominic RENEWAL
Frozen Columns
Name
Juan Z Venere
David N Maclead
Munro C Gillian
Kadeem S Doe
Sinclair J Maclead
Julie H Perin
Johnson B Butt
Maria N Foller
Mayumi M Vocelka
Deepesh Y Perin
Isabel I Marrier
Leon E Maclead
Aditya M Schemmer
Tony Z Iturbide
Clifford I Tollner
Leon S Glick
Maria Y Doe
Wickens O Waycott
Jennifer P Poquette
Juan X Campain
Kaitlin T Flosi
Ricardo A Oldroyd
Leja F Inouye
Jones O Glick
Kaitlin M Amigon
Jeanfrancois W Rulapaugh
James O Malet
Antonio R Bolognia
Jeanfrancois H Doe
Chavez M Schemmer
Emily N Kusko
Emily U Doe
Ricardo H Perin
Kadeem A Sergi
Leja I Foller
Ashley E Shinko
Misaki W Garufi
Jefferson D Doe
Tony X Gillian
Jones I Glick
David G Chui
Jones U Nicka
Jeanfrancois Z Waycott
Ivar G Paprocki
Faith J Shinko
Murillo W Bowley
Murillo G Poquette
Isabel S Shinko
Faith H Figeroa
Faith Q Waycott
IdCountryDate
1000Russia2024-05-27
1001United Kingdom2024-05-28
1002Australia2024-06-20
1003Japan2024-06-04
1004France2024-06-02
1005France2024-05-30
1006India2024-06-14
1007Japan2024-06-21
1008Canada2024-05-26
1009Japan2024-05-27
1010India2024-06-13
1011Italy2024-06-08
1012United Kingdom2024-06-19
1013United Kingdom2024-06-10
1014Russia2024-06-10
1015Russia2024-06-03
1016France2024-05-23
1017Brazil2024-05-28
1018Russia2024-05-30
1019Australia2024-06-12
1020Brazil2024-06-12
1021Spain2024-06-08
1022India2024-06-15
1023Australia2024-06-21
1024India2024-06-15
1025France2024-06-21
1026Russia2024-06-05
1027France2024-06-07
1028United Kingdom2024-06-12
1029Spain2024-06-18
1030Australia2024-05-27
1031Japan2024-06-07
1032India2024-05-27
1033Italy2024-06-15
1034Japan2024-06-01
1035Canada2024-06-10
1036Japan2024-06-04
1037Australia2024-05-29
1038Brazil2024-05-27
1039Spain2024-05-26
1040Australia2024-06-13
1041Spain2024-06-02
1042Brazil2024-06-06
1043Australia2024-06-07
1044Australia2024-06-18
1045Japan2024-06-09
1046India2024-06-05
1047India2024-06-13
1048Australia2024-06-15
1049Japan2024-05-31

On-Demand Data

NameIdCountryDate
Leja Y Gillian1000Spain2024-06-12
Murillo Z Paprocki1001Germany2024-06-18
Wickens U Briddick1002France2024-06-15
Antonio P Royster1003Argentina2024-06-07
Salvatore C Kolmetz1004Canada2024-06-19
Sinclair H Inouye1005Japan2024-06-09
Jefferson Z Poquette1006India2024-06-14
Leja A Gaucho1007India2024-06-02
Ashley T Shinko1008Brazil2024-06-04
Aruna F Campain1009United Kingdom2024-06-12
Ricardo B Ferencz1010United Kingdom2024-05-30
Maisha H Rulapaugh1011Russia2024-06-21
Jeanfrancois L Gaucho1012Germany2024-06-04
Alejandro N Paprocki1013Australia2024-06-10
Julie F Vocelka1014France2024-05-26
Cody R Shinko1015Canada2024-05-25
Smith E Paprocki1016Germany2024-06-14
Clifford W Garufi1017Argentina2024-06-04
Aditya A Royster1018United Kingdom2024-05-28
Faith G Bolognia1019Spain2024-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio O FollerItalyOnyama Limba RENEWAL
Sinclair T WhobreyArgentinaStephen Shaw QUALIFIED
Salvatore D FlosiItalyBernardo Dominic NEGOTIATION
Chavez H WhobreySpainOnyama Limba PROPOSAL
Cody E GillianAustraliaOnyama Limba NEW
Rodrigues B VenereGermanyAnna Fali NEW
Rodrigues D WhobreyAustraliaElwin Sharvill NEW
Darci S PaprockiItalyAmy Elsner QUALIFIED
Ricardo H AlbaresBrazilAsiya Javayant QUALIFIED
Aruna D CaudyBrazilAnna Fali UNQUALIFIED
Salvatore S PaprockiUnited KingdomBernardo Dominic QUALIFIED
Isabel Z CaudySpainIoni Bowcher NEGOTIATION
Greenwood D SchemmerBrazilOnyama Limba UNQUALIFIED
Aditya Y RutaUnited KingdomAnna Fali RENEWAL
Faith J VocelkaFranceOnyama Limba PROPOSAL
Silvio T WaycottItalyXuxue Feng QUALIFIED
Deepesh G ButtIndiaIoni Bowcher RENEWAL
David P MaletItalyBernardo Dominic RENEWAL
Julie G ChuiAustraliaAmy Elsner PROPOSAL
Maria J WieserCanadaAnna Fali PROPOSAL
Jennifer P RulapaughUnited KingdomElwin Sharvill QUALIFIED
Clifford V GauchoUnited KingdomXuxue Feng PROPOSAL
Maria P VocelkaItalyElwin Sharvill PROPOSAL
Leon Q TollnerIndiaStephen Shaw RENEWAL
Antonio E RulapaughBrazilXuxue Feng RENEWAL
Mayumi O NickaGermanyIvan Magalhaes QUALIFIED
Juan O WhobreyUnited KingdomElwin Sharvill NEGOTIATION
David A GarufiJapanElwin Sharvill QUALIFIED
Jones T WaycottBrazilIoni Bowcher UNQUALIFIED
Juan V SlusarskiArgentinaIoni Bowcher RENEWAL
Izzy A InouyeItalyXuxue Feng NEW
Cody A MorascaSpainBernardo Dominic UNQUALIFIED
Salvatore W RulapaughIndiaIoni Bowcher PROPOSAL
Emily G NestleIndiaAnna Fali QUALIFIED
Leon C SaylorsFranceBernardo Dominic NEW
Deepesh S VenereJapanXuxue Feng QUALIFIED
Johnson Q ShinkoBrazilStephen Shaw UNQUALIFIED
Juan U KuskoGermanyAsiya Javayant UNQUALIFIED
Ivar T StockhamCanadaAmy Elsner RENEWAL
Smith D WieserArgentinaAnna Fali RENEWAL

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