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 R NickaJapanAsiya Javayant NEW
Jefferson T RimUnited KingdomAmy Elsner RENEWAL
Jefferson E SlusarskiFranceOnyama Limba RENEWAL
Misaki I MorascaGermanyElwin Sharvill UNQUALIFIED
James K OldroydArgentinaAnna Fali UNQUALIFIED
Jefferson V CampainJapanAsiya Javayant QUALIFIED
Tony G ButtGermanyAmy Elsner NEW
Stacey D PoquetteIndiaBernardo Dominic NEGOTIATION
Rodrigues P ButtRussiaAnna Fali NEW
Leja I AlbaresArgentinaXuxue Feng RENEWAL
Claire R StensethSpainOnyama Limba NEGOTIATION
Mayumi Z DilliardGermanyXuxue Feng NEGOTIATION
Juan E SlusarskiRussiaXuxue Feng UNQUALIFIED
Wickens O BowleyFranceAmy Elsner QUALIFIED
Adams A RutaIndiaStephen Shaw NEGOTIATION
Maria P BologniaGermanyElwin Sharvill UNQUALIFIED
Nicolas A PoquetteAustraliaBernardo Dominic RENEWAL
Clifford Z CaldareraAustraliaIoni Bowcher QUALIFIED
Antonio Z FollerUnited KingdomAmy Elsner UNQUALIFIED
Tony I AlbaresCanadaAsiya Javayant UNQUALIFIED
Leja O BologniaArgentinaBernardo Dominic PROPOSAL
Isabel C OstroskyGermanyElwin Sharvill NEGOTIATION
Sinclair J InouyeGermanyIoni Bowcher QUALIFIED
Aika G MarrierBrazilXuxue Feng NEW
Costa F StockhamBrazilAsiya Javayant PROPOSAL
Salvatore R WaycottSpainOnyama Limba NEW
Aditya F DoeRussiaAmy Elsner QUALIFIED
Octavia O MaletJapanAsiya Javayant NEGOTIATION
Maria V GlickCanadaStephen Shaw QUALIFIED
Emily V GauchoRussiaAmy Elsner NEW
Faith Z IturbideBrazilBernardo Dominic UNQUALIFIED
Maria J FigeroaIndiaElwin Sharvill NEGOTIATION
Salvatore G GarufiGermanyIoni Bowcher UNQUALIFIED
Octavia T VenereArgentinaAmy Elsner NEGOTIATION
Aika A CaldareraItalyOnyama Limba NEGOTIATION
Aika Q WaycottSpainAnna Fali PROPOSAL
Octavia O BowleyGermanyBernardo Dominic PROPOSAL
Stacey D BriddickJapanElwin Sharvill NEGOTIATION
David Q OldroydItalyBernardo Dominic QUALIFIED
Murillo M WaycottIndiaAsiya Javayant RENEWAL
Johnson H CaudyBrazilBernardo Dominic NEGOTIATION
Octavia D VenereAustraliaXuxue Feng QUALIFIED
Ivar T NestleRussiaAnna Fali PROPOSAL
Misaki A RoysterCanadaBernardo Dominic NEGOTIATION
Cody M ChuiCanadaBernardo Dominic RENEWAL
Kaitlin U PerinBrazilAsiya Javayant QUALIFIED
Nicolas T WhobreyArgentinaXuxue Feng UNQUALIFIED
Misaki G VocelkaJapanXuxue Feng RENEWAL
Juan L NickaBrazilAsiya Javayant NEW
Emily N AmigonBrazilOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Ricardo F KolmetzArgentinaAnna Fali NEGOTIATION
Sinclair M OstroskyCanadaElwin Sharvill NEGOTIATION
Johnson W RoysterIndiaXuxue Feng UNQUALIFIED
Salvatore D SchemmerRussiaElwin Sharvill PROPOSAL
Murillo J ChuiBrazilIvan Magalhaes UNQUALIFIED
Jones Q DilliardBrazilAnna Fali NEGOTIATION
Sinclair X PoquetteJapanStephen Shaw QUALIFIED
Isabel E GauchoJapanIoni Bowcher QUALIFIED
Isabel U MaletRussiaXuxue Feng UNQUALIFIED
Greenwood L GlickUnited KingdomAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan G FigeroaUnited Kingdom2024-05-27Morlong Associates NEW23Amy Elsner
1001Antonio J MaletCanada2024-05-30Rangoni Of Florence PROPOSAL47Stephen Shaw
1002Alejandro V InouyeBrazil2024-05-31Printing Dimensions RENEWAL87Stephen Shaw
1003Claire I AmigonBrazil2024-05-31Chapman, Ross E Esq NEW14Amy Elsner
1004Murillo E NestleFrance2024-06-01Chanay, Jeffrey A Esq PROPOSAL44Onyama Limba
1005Claire W KuskoUnited Kingdom2024-06-23Buckley Miller Wright NEGOTIATION37Elwin Sharvill
1006Leon G RoysterJapan2024-05-28Feiner Bros PROPOSAL54Ivan Magalhaes
1007Ricardo V BologniaBrazil2024-06-17Chanay, Jeffrey A Esq NEW96Bernardo Dominic
1008Adams J DarakjyBrazil2024-06-04Morlong Associates NEW88Stephen Shaw
1009Johnson O WhobreyCanada2024-06-10Chemel, James L Cpa UNQUALIFIED56Onyama Limba
1010Alejandro O SchemmerFrance2024-05-29Rangoni Of Florence RENEWAL75Ivan Magalhaes
1011Misaki X GlickAustralia2024-05-29Feiner Bros NEGOTIATION1Anna Fali
1012Silvio L OstroskyUnited Kingdom2024-05-29Dorl, James J Esq NEGOTIATION29Ivan Magalhaes
1013Mayumi F VocelkaUnited Kingdom2024-06-08King, Christopher A Esq UNQUALIFIED67Amy Elsner
1014Darci J GauchoJapan2024-06-23Benton, John B Jr RENEWAL92Ioni Bowcher
1015James C KolmetzAustralia2024-06-16Benton, John B Jr NEW64Amy Elsner
1016Nicolas N NickaCanada2024-06-03Printing Dimensions PROPOSAL16Asiya Javayant
1017Darci W FerenczRussia2024-06-16Commercial Press NEGOTIATION48Ivan Magalhaes
1018Octavia J MorascaSpain2024-05-27Buckley Miller Wright NEGOTIATION80Onyama Limba
1019Misaki X MarrierSpain2024-06-24Commercial Press RENEWAL18Ivan Magalhaes
1020David G GauchoRussia2024-06-01Chapman, Ross E Esq RENEWAL74Amy Elsner
1021Adams G PoquetteBrazil2024-06-15Morlong Associates RENEWAL81Asiya Javayant
1022Jennifer A RutaBrazil2024-05-27King, Christopher A Esq NEGOTIATION6Amy Elsner
1023Izzy D DarakjyAustralia2024-06-15Dorl, James J Esq QUALIFIED35Bernardo Dominic
1024Aditya X GlickFrance2024-05-30Printing Dimensions PROPOSAL46Asiya Javayant
1025Costa I OldroydItaly2024-06-22Chanay, Jeffrey A Esq NEGOTIATION80Stephen Shaw
1026Mayumi C AlbaresArgentina2024-05-28Rousseaux, Michael Esq UNQUALIFIED26Ioni Bowcher
1027Aditya Z SaylorsBrazil2024-05-28Rousseaux, Michael Esq NEW0Asiya Javayant
1028Emily W MaletBrazil2024-05-27Printing Dimensions QUALIFIED33Anna Fali
1029Darci S PerinRussia2024-06-17Chapman, Ross E Esq NEGOTIATION62Asiya Javayant
1030Greenwood O WieserItaly2024-06-18Buckley Miller Wright NEW47Ivan Magalhaes
1031Misaki V GarufiBrazil2024-05-31Feltz Printing Service QUALIFIED87Elwin Sharvill
1032Johnson V StensethBrazil2024-06-20Commercial Press QUALIFIED75Xuxue Feng
1033Silvio A CampainBrazil2024-06-20Rangoni Of Florence RENEWAL60Anna Fali
1034Julie I ChuiItaly2024-05-30Buckley Miller Wright QUALIFIED50Asiya Javayant
1035Octavia Q GarufiRussia2024-05-31Chemel, James L Cpa RENEWAL33Asiya Javayant
1036Kaitlin H NickaBrazil2024-05-27Feltz Printing Service NEW99Ivan Magalhaes
1037Rodrigues X CampainUnited Kingdom2024-06-22Rousseaux, Michael Esq PROPOSAL74Ivan Magalhaes
1038Chavez J DoeBrazil2024-05-27Chemel, James L Cpa NEW54Elwin Sharvill
1039Jefferson R WieserIndia2024-06-19Chapman, Ross E Esq UNQUALIFIED22Stephen Shaw
1040Salvatore W CampainBrazil2024-06-01Rousseaux, Michael Esq NEW50Asiya Javayant
1041Munro Y KuskoSpain2024-06-05Chapman, Ross E Esq RENEWAL75Stephen Shaw
1042Stacey H WieserArgentina2024-06-05Chapman, Ross E Esq QUALIFIED82Elwin Sharvill
1043Mayumi P OstroskyJapan2024-06-18Feiner Bros QUALIFIED79Onyama Limba
1044Clifford D BologniaCanada2024-05-27Chemel, James L Cpa RENEWAL46Xuxue Feng
1045Faith K StensethArgentina2024-06-04Rangoni Of Florence PROPOSAL9Anna Fali
1046Salvatore R RoysterArgentina2024-06-22Rousseaux, Michael Esq PROPOSAL67Amy Elsner
1047James K GarufiUnited Kingdom2024-06-07Feiner Bros RENEWAL77Elwin Sharvill
1048Smith Z FlosiBrazil2024-06-05Truhlar And Truhlar Attys UNQUALIFIED98Asiya Javayant
1049Izzy S DoeItaly2024-06-06Rangoni Of Florence PROPOSAL92Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Munro T MacleadIndiaStephen Shaw NEGOTIATION
Leja X FlosiAustraliaStephen Shaw PROPOSAL
Adams R StensethSpainElwin Sharvill RENEWAL
Faith T KolmetzFranceBernardo Dominic NEW
Deepesh I StensethGermanyAsiya Javayant NEGOTIATION
Antonio Y OstroskyArgentinaElwin Sharvill UNQUALIFIED
Smith L WhobreyUnited KingdomXuxue Feng QUALIFIED
Chavez G PoquetteItalyStephen Shaw NEGOTIATION
Ricardo Q PaprockiItalyBernardo Dominic QUALIFIED
Aruna O FigeroaUnited KingdomBernardo Dominic QUALIFIED
Silvio B VenereFranceOnyama Limba UNQUALIFIED
Faith A OldroydCanadaBernardo Dominic NEW
Jeanfrancois V FigeroaUnited KingdomBernardo Dominic NEGOTIATION
Aditya T ShinkoSpainBernardo Dominic NEW
Jefferson M GlickCanadaIvan Magalhaes RENEWAL
James W SlusarskiSpainIvan Magalhaes RENEWAL
Costa G AlbaresBrazilXuxue Feng UNQUALIFIED
Kaitlin G FollerFranceIoni Bowcher QUALIFIED
Leon H CaudyFranceAsiya Javayant RENEWAL
Greenwood C ButtItalyElwin Sharvill PROPOSAL
Aditya S FigeroaAustraliaIoni Bowcher PROPOSAL
Jeanfrancois Q KuskoUnited KingdomStephen Shaw UNQUALIFIED
Munro V RimGermanyStephen Shaw RENEWAL
Munro K WaycottUnited KingdomStephen Shaw NEW
Ashley O NickaBrazilAsiya Javayant NEW
Nicolas U RimUnited KingdomBernardo Dominic QUALIFIED
Chavez Y RoysterRussiaOnyama Limba NEGOTIATION
Jefferson H FerenczSpainAsiya Javayant UNQUALIFIED
Mujtaba M NickaAustraliaXuxue Feng RENEWAL
Deepesh S PoquetteUnited KingdomIoni Bowcher QUALIFIED
Jones I WhobreyBrazilAsiya Javayant QUALIFIED
Jefferson T MacleadArgentinaBernardo Dominic NEW
Misaki G OstroskyGermanyElwin Sharvill NEGOTIATION
Aditya X OstroskyIndiaOnyama Limba UNQUALIFIED
Johnson R MacleadBrazilBernardo Dominic NEW
Leon D TollnerItalyStephen Shaw QUALIFIED
Octavia A FlosiFranceAsiya Javayant QUALIFIED
Stacey N OldroydJapanXuxue Feng RENEWAL
Octavia F AmigonBrazilIoni Bowcher NEW
Mayumi B RimItalyAnna Fali NEGOTIATION
Chavez T NickaJapanXuxue Feng RENEWAL
Jones K BowleyFranceAnna Fali PROPOSAL
James C ButtSpainAmy Elsner UNQUALIFIED
Jeanfrancois W FigeroaFranceOnyama Limba UNQUALIFIED
James Z SchemmerUnited KingdomOnyama Limba QUALIFIED
Misaki H AmigonBrazilElwin Sharvill NEGOTIATION
Alejandro E OldroydCanadaAnna Fali NEGOTIATION
Morrow J KolmetzFranceOnyama Limba NEGOTIATION
Aditya B GarufiRussiaAmy Elsner PROPOSAL
Deepesh S NestleUnited KingdomIvan Magalhaes PROPOSAL
Frozen Columns
Name
Faith M Glick
Ashley A Poquette
Leja X Kusko
David T Rulapaugh
Mayumi T Briddick
Isabel V Rulapaugh
Arvin C Schemmer
Claire Q Doe
Faith A Amigon
Sinclair H Slusarski
Mayumi C Vocelka
Ivar P Inouye
Mayumi D Bolognia
Ivar X Shinko
Jefferson U Doe
Darci N Maclead
Stacey O Caudy
Rodrigues Y Darakjy
Maisha K Malet
Leja J Sergi
Aika R Paprocki
Chavez W Schemmer
Tony T Caudy
Stacey I Poquette
Octavia X Rim
Adams C Schemmer
Silvio E Waycott
Stacey T Caldarera
Izzy N Sergi
Clifford V Figeroa
David V Sergi
Arvin F Malet
Kadeem L Ruta
Aruna F Albares
Darci X Whobrey
Jones S Venere
Johnson O Ferencz
Cody T Oldroyd
Mujtaba B Bowley
Wickens W Malet
Francesco U Perin
Stacey J Malet
Jennifer N Malet
Mayumi I Vocelka
Emily V Caudy
Clifford U Flosi
Leon T Tollner
Smith Z Inouye
Smith F Saylors
Nicolas G Nestle
IdCountryDate
1000Germany2024-06-22
1001India2024-05-27
1002India2024-06-07
1003Germany2024-06-19
1004France2024-06-09
1005Italy2024-06-21
1006Italy2024-06-09
1007France2024-06-01
1008Canada2024-06-12
1009Germany2024-06-23
1010Argentina2024-05-28
1011Brazil2024-06-04
1012France2024-06-22
1013Australia2024-06-20
1014Japan2024-06-19
1015Spain2024-06-16
1016Brazil2024-06-09
1017Australia2024-06-03
1018India2024-05-28
1019Brazil2024-05-26
1020United Kingdom2024-05-31
1021Brazil2024-06-22
1022Italy2024-06-16
1023India2024-06-20
1024Argentina2024-05-30
1025Canada2024-06-10
1026Canada2024-06-07
1027Russia2024-06-09
1028Canada2024-06-03
1029Canada2024-06-05
1030Germany2024-06-05
1031Brazil2024-05-26
1032Russia2024-06-18
1033Spain2024-06-13
1034Spain2024-06-03
1035Argentina2024-06-19
1036France2024-05-27
1037Canada2024-06-23
1038Canada2024-06-05
1039Canada2024-06-07
1040Argentina2024-06-04
1041United Kingdom2024-06-18
1042Argentina2024-06-21
1043France2024-06-19
1044Russia2024-06-24
1045Spain2024-06-09
1046Italy2024-06-06
1047Japan2024-06-23
1048India2024-06-09
1049United Kingdom2024-06-17

On-Demand Data

NameIdCountryDate
Wickens T Paprocki1000India2024-06-14
Tony X Foller1001Italy2024-06-12
Jefferson N Morasca1002Italy2024-06-10
Greenwood E Slusarski1003Russia2024-06-02
Kadeem X Vocelka1004Canada2024-06-02
Maisha L Amigon1005Spain2024-06-15
Aditya A Stenseth1006Brazil2024-06-22
Leon V Campain1007Spain2024-06-23
Arvin L Kusko1008United Kingdom2024-06-17
Jennifer O Shinko1009Spain2024-05-31
Alejandro L Stenseth1010Australia2024-06-23
Julie W Stockham1011Canada2024-06-21
Johnson R Dilliard1012France2024-06-12
Darci A Dilliard1013Germany2024-06-23
Greenwood M Waycott1014Australia2024-06-16
Mujtaba F Rulapaugh1015United Kingdom2024-05-29
Smith Y Slusarski1016Argentina2024-05-28
Salvatore C Albares1017Brazil2024-06-15
Silvio S Flosi1018India2024-06-04
Nicolas R Caldarera1019Japan2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba B ShinkoUnited KingdomXuxue Feng UNQUALIFIED
Aditya I MacleadCanadaXuxue Feng QUALIFIED
Greenwood D GillianUnited KingdomIoni Bowcher PROPOSAL
Alejandro N RulapaughRussiaBernardo Dominic RENEWAL
Nicolas I SchemmerGermanyIoni Bowcher NEGOTIATION
Costa Q RimFranceAmy Elsner RENEWAL
Silvio Z FerenczArgentinaIvan Magalhaes QUALIFIED
Greenwood Y VenereArgentinaStephen Shaw RENEWAL
Stacey W MarrierAustraliaXuxue Feng NEGOTIATION
Murillo J NestleFranceStephen Shaw PROPOSAL
Nicolas D SlusarskiCanadaAmy Elsner NEGOTIATION
Murillo Y ShinkoSpainIvan Magalhaes RENEWAL
Jefferson G GillianFranceIvan Magalhaes PROPOSAL
Smith G RoysterCanadaAsiya Javayant NEW
Aika R ButtBrazilAmy Elsner RENEWAL
Salvatore Y SlusarskiGermanyStephen Shaw NEGOTIATION
James B BowleyGermanyIoni Bowcher PROPOSAL
Ivar P MarrierItalyStephen Shaw RENEWAL
Claire Y GlickCanadaIvan Magalhaes QUALIFIED
Munro D RimCanadaBernardo Dominic RENEWAL
David E ShinkoArgentinaAmy Elsner NEW
Sinclair J IturbideArgentinaOnyama Limba RENEWAL
Emily C OldroydItalyIoni Bowcher RENEWAL
Adams F CaudySpainElwin Sharvill PROPOSAL
Jefferson C AmigonCanadaStephen Shaw QUALIFIED
Kaitlin B BowleyGermanyIvan Magalhaes PROPOSAL
Faith T CampainUnited KingdomXuxue Feng UNQUALIFIED
David T ChuiFranceXuxue Feng RENEWAL
Leon T SaylorsArgentinaIoni Bowcher QUALIFIED
Claire Z IturbideAustraliaAmy Elsner QUALIFIED
Misaki T GauchoFranceIoni Bowcher UNQUALIFIED
Costa Z IturbideGermanyStephen Shaw PROPOSAL
Jefferson K RimIndiaElwin Sharvill PROPOSAL
Ivar U RulapaughFranceOnyama Limba UNQUALIFIED
Izzy U MaletAustraliaIoni Bowcher UNQUALIFIED
Greenwood Q CaudyJapanIvan Magalhaes NEGOTIATION
Izzy F PoquetteFranceAnna Fali NEW
Jeanfrancois O FigeroaJapanXuxue Feng UNQUALIFIED
Mujtaba D OstroskyCanadaIvan Magalhaes PROPOSAL
Ivar F RoysterJapanIoni Bowcher NEGOTIATION

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