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
Cody J RoysterFranceXuxue Feng NEGOTIATION
Kadeem N SaylorsGermanyIvan Magalhaes NEGOTIATION
Ricardo A RutaBrazilIvan Magalhaes RENEWAL
Arvin I DarakjyAustraliaXuxue Feng NEGOTIATION
Leon B ButtGermanyXuxue Feng UNQUALIFIED
Isabel D AlbaresItalyAmy Elsner NEGOTIATION
Murillo A OstroskyAustraliaAmy Elsner NEGOTIATION
Morrow L FerenczBrazilBernardo Dominic UNQUALIFIED
Johnson E VenereSpainOnyama Limba PROPOSAL
Maisha Y GarufiAustraliaXuxue Feng QUALIFIED
Antonio V ButtArgentinaOnyama Limba RENEWAL
Emily V BriddickUnited KingdomStephen Shaw PROPOSAL
Isabel Z BologniaAustraliaIvan Magalhaes NEW
Tony N KolmetzJapanOnyama Limba NEGOTIATION
Darci F ShinkoJapanAsiya Javayant QUALIFIED
Maisha F FerenczFranceXuxue Feng PROPOSAL
Jones K SlusarskiSpainElwin Sharvill PROPOSAL
Aditya T KolmetzGermanyXuxue Feng NEW
Octavia Z KolmetzRussiaElwin Sharvill RENEWAL
Jennifer D AlbaresJapanAsiya Javayant RENEWAL
Aditya U SergiJapanAsiya Javayant UNQUALIFIED
Adams D KuskoRussiaAnna Fali PROPOSAL
Antonio F StockhamItalyAmy Elsner PROPOSAL
Johnson B GauchoUnited KingdomIoni Bowcher QUALIFIED
Morrow W CaudySpainXuxue Feng UNQUALIFIED
Salvatore M BowleyJapanElwin Sharvill NEGOTIATION
Leja Q OldroydFranceAsiya Javayant PROPOSAL
Wickens Y NestleBrazilAnna Fali NEGOTIATION
Izzy V DarakjyGermanyElwin Sharvill RENEWAL
Jones B WieserCanadaIoni Bowcher PROPOSAL
Ashley S SchemmerItalyBernardo Dominic QUALIFIED
Alejandro F StockhamFranceOnyama Limba UNQUALIFIED
Maisha S SergiAustraliaStephen Shaw QUALIFIED
Julie G BriddickCanadaAnna Fali NEGOTIATION
Johnson U RulapaughItalyAsiya Javayant UNQUALIFIED
Clifford J WieserSpainIoni Bowcher RENEWAL
Faith U InouyeFranceOnyama Limba NEW
Johnson X GillianFranceElwin Sharvill QUALIFIED
Faith I PaprockiIndiaAnna Fali PROPOSAL
Wickens L FigeroaFranceIvan Magalhaes RENEWAL
Francesco M CaldareraJapanElwin Sharvill NEGOTIATION
Mujtaba M MacleadAustraliaAnna Fali UNQUALIFIED
David B TollnerJapanOnyama Limba QUALIFIED
Aika V MaletArgentinaIvan Magalhaes NEW
Emily U DoeIndiaIoni Bowcher NEGOTIATION
Claire M AmigonCanadaAmy Elsner PROPOSAL
Rodrigues T SlusarskiIndiaElwin Sharvill QUALIFIED
Morrow K SchemmerUnited KingdomAsiya Javayant UNQUALIFIED
Johnson B FlosiRussiaBernardo Dominic UNQUALIFIED
Darci P FigeroaArgentinaIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
James C KolmetzJapanOnyama Limba RENEWAL
Jones U StockhamFranceBernardo Dominic PROPOSAL
Aditya R DarakjyItalyAnna Fali UNQUALIFIED
Clifford U StensethSpainOnyama Limba PROPOSAL
Jennifer Y AmigonAustraliaAmy Elsner PROPOSAL
Jefferson M NestleItalyAmy Elsner RENEWAL
David R ShinkoFranceElwin Sharvill QUALIFIED
Wickens B MaletAustraliaIvan Magalhaes UNQUALIFIED
Alejandro Q NestleUnited KingdomIoni Bowcher QUALIFIED
Aditya U MarrierGermanyIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas F MacleadItaly2024-06-20Morlong Associates RENEWAL89Elwin Sharvill
1001Smith W FollerGermany2024-06-04King, Christopher A Esq NEGOTIATION54Xuxue Feng
1002Leon I ShinkoCanada2024-06-17Dorl, James J Esq UNQUALIFIED26Elwin Sharvill
1003Clifford Z GlickBrazil2024-06-17King, Christopher A Esq NEW53Amy Elsner
1004Leon M ShinkoRussia2024-06-16Buckley Miller Wright NEW36Asiya Javayant
1005Aruna S FollerGermany2024-06-07Rangoni Of Florence QUALIFIED55Bernardo Dominic
1006Julie F FerenczIndia2024-05-23Morlong Associates RENEWAL8Asiya Javayant
1007Ivar N SchemmerGermany2024-06-11Feltz Printing Service UNQUALIFIED6Ioni Bowcher
1008Alejandro R BowleyArgentina2024-06-07Chanay, Jeffrey A Esq QUALIFIED73Ioni Bowcher
1009Morrow M StensethUnited Kingdom2024-05-24Benton, John B Jr RENEWAL69Stephen Shaw
1010Maria I PerinItaly2024-06-21Commercial Press PROPOSAL89Bernardo Dominic
1011Ivar J GarufiUnited Kingdom2024-06-16Buckley Miller Wright NEGOTIATION25Xuxue Feng
1012Kadeem V GlickUnited Kingdom2024-06-20King, Christopher A Esq NEGOTIATION1Onyama Limba
1013Wickens Y VocelkaUnited Kingdom2024-06-01Buckley Miller Wright PROPOSAL12Onyama Limba
1014Maisha L MarrierCanada2024-06-21Rangoni Of Florence NEW93Ioni Bowcher
1015Aika I RoysterArgentina2024-05-30Commercial Press RENEWAL74Bernardo Dominic
1016Aruna O MorascaJapan2024-05-24Truhlar And Truhlar Attys QUALIFIED23Ioni Bowcher
1017Jones E GauchoArgentina2024-06-16Morlong Associates RENEWAL75Stephen Shaw
1018James E BriddickArgentina2024-05-29Truhlar And Truhlar Attys NEGOTIATION18Anna Fali
1019Francesco Y MorascaSpain2024-05-24Feltz Printing Service NEW35Asiya Javayant
1020Murillo V ShinkoAustralia2024-05-23Rangoni Of Florence RENEWAL63Elwin Sharvill
1021Izzy Q RutaRussia2024-05-31Benton, John B Jr UNQUALIFIED58Ivan Magalhaes
1022Antonio E PoquetteGermany2024-05-26Commercial Press NEGOTIATION79Anna Fali
1023Emily U NestleFrance2024-06-20Rousseaux, Michael Esq RENEWAL52Onyama Limba
1024Leon X SaylorsAustralia2024-06-17Printing Dimensions NEW37Ivan Magalhaes
1025Rodrigues R PerinJapan2024-06-16Morlong Associates NEW7Ivan Magalhaes
1026Ashley N GauchoIndia2024-06-15Morlong Associates RENEWAL28Amy Elsner
1027Misaki P InouyeJapan2024-05-23Chemel, James L Cpa PROPOSAL45Bernardo Dominic
1028Greenwood T BriddickJapan2024-06-03Chapman, Ross E Esq PROPOSAL28Bernardo Dominic
1029Izzy J RoysterFrance2024-05-26Dorl, James J Esq QUALIFIED52Ivan Magalhaes
1030Aditya R InouyeIndia2024-06-07Chemel, James L Cpa NEW22Bernardo Dominic
1031Murillo I TollnerGermany2024-05-25Chanay, Jeffrey A Esq QUALIFIED79Onyama Limba
1032Arvin Z IturbideCanada2024-06-16Truhlar And Truhlar Attys PROPOSAL9Ivan Magalhaes
1033Munro F RoysterSpain2024-05-31Chemel, James L Cpa NEGOTIATION21Anna Fali
1034Silvio R StensethArgentina2024-06-13Chemel, James L Cpa UNQUALIFIED34Bernardo Dominic
1035Antonio Z CaldareraUnited Kingdom2024-06-08King, Christopher A Esq NEW14Ivan Magalhaes
1036Ivar M PaprockiBrazil2024-06-14Printing Dimensions PROPOSAL55Amy Elsner
1037Morrow L SaylorsGermany2024-06-10Dorl, James J Esq UNQUALIFIED52Amy Elsner
1038Murillo Y WhobreyFrance2024-05-31Commercial Press QUALIFIED47Amy Elsner
1039Emily N GarufiGermany2024-06-14Printing Dimensions UNQUALIFIED86Asiya Javayant
1040Aruna X NestleBrazil2024-05-31King, Christopher A Esq NEW1Ivan Magalhaes
1041Jefferson J MarrierGermany2024-06-05Chemel, James L Cpa UNQUALIFIED57Elwin Sharvill
1042Chavez W AmigonRussia2024-06-01Dorl, James J Esq NEGOTIATION8Stephen Shaw
1043Adams M GauchoJapan2024-05-31Feltz Printing Service UNQUALIFIED52Xuxue Feng
1044Misaki X PoquetteIndia2024-05-29Chapman, Ross E Esq RENEWAL64Stephen Shaw
1045Ricardo D NestleUnited Kingdom2024-06-14Dorl, James J Esq PROPOSAL45Xuxue Feng
1046Greenwood Z CaudyItaly2024-05-26Rousseaux, Michael Esq NEW5Asiya Javayant
1047Jefferson B OstroskyFrance2024-06-04Rousseaux, Michael Esq NEW71Asiya Javayant
1048Rodrigues Y ShinkoGermany2024-06-10Feiner Bros UNQUALIFIED91Onyama Limba
1049Leja R NickaGermany2024-05-31Dorl, James J Esq PROPOSAL26Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Smith R GauchoCanadaOnyama Limba UNQUALIFIED
Morrow M StensethSpainOnyama Limba NEGOTIATION
Alejandro O SergiUnited KingdomElwin Sharvill RENEWAL
Jefferson F OstroskyJapanAsiya Javayant NEGOTIATION
Cody A VenereJapanAnna Fali NEGOTIATION
Nicolas N FollerBrazilAnna Fali RENEWAL
Emily L ChuiRussiaStephen Shaw NEW
Antonio Y AmigonAustraliaStephen Shaw NEGOTIATION
Ricardo M DoeJapanXuxue Feng UNQUALIFIED
Johnson A PaprockiSpainAsiya Javayant PROPOSAL
Octavia T MarrierBrazilIoni Bowcher QUALIFIED
Nicolas Z ShinkoBrazilBernardo Dominic PROPOSAL
Rodrigues Y NickaJapanIoni Bowcher UNQUALIFIED
Jones V DoeIndiaXuxue Feng QUALIFIED
Isabel I NestleArgentinaAsiya Javayant PROPOSAL
Salvatore M FigeroaAustraliaStephen Shaw RENEWAL
Kaitlin K SaylorsCanadaIvan Magalhaes UNQUALIFIED
Jennifer B CaudyRussiaIvan Magalhaes NEGOTIATION
Munro X BologniaBrazilBernardo Dominic NEW
Claire W MaletAustraliaElwin Sharvill NEGOTIATION
Alejandro N ButtRussiaXuxue Feng NEW
Tony F GillianBrazilAsiya Javayant UNQUALIFIED
Maria E GlickArgentinaAnna Fali UNQUALIFIED
Jefferson E DilliardBrazilAmy Elsner PROPOSAL
Stacey A WaycottArgentinaIoni Bowcher QUALIFIED
Murillo M OstroskyCanadaAsiya Javayant PROPOSAL
Arvin E RimIndiaBernardo Dominic QUALIFIED
Deepesh U MacleadGermanyBernardo Dominic NEW
Rodrigues O RimItalyIoni Bowcher NEGOTIATION
Octavia N FollerFranceBernardo Dominic NEW
Aika F NestleUnited KingdomOnyama Limba PROPOSAL
Aika N StensethArgentinaAmy Elsner QUALIFIED
Misaki P RutaRussiaBernardo Dominic UNQUALIFIED
Nicolas O TollnerBrazilAmy Elsner RENEWAL
Morrow Y AlbaresRussiaStephen Shaw NEGOTIATION
Kaitlin O OstroskyJapanStephen Shaw RENEWAL
Costa V RutaRussiaElwin Sharvill NEGOTIATION
Sinclair W ButtAustraliaOnyama Limba UNQUALIFIED
Julie U WhobreyAustraliaElwin Sharvill RENEWAL
Ashley O CaldareraSpainBernardo Dominic RENEWAL
Isabel W FerenczArgentinaElwin Sharvill PROPOSAL
Isabel S AmigonUnited KingdomBernardo Dominic NEGOTIATION
Jefferson Y NickaItalyAmy Elsner NEW
Morrow X GauchoSpainBernardo Dominic PROPOSAL
Cody U SaylorsRussiaIoni Bowcher RENEWAL
Clifford P RoysterSpainAsiya Javayant NEW
Clifford U DilliardFranceOnyama Limba NEGOTIATION
Izzy V NestleCanadaAsiya Javayant RENEWAL
James Z RulapaughFranceOnyama Limba PROPOSAL
Cody P DoeUnited KingdomAnna Fali RENEWAL
Frozen Columns
Name
Kadeem V Ostrosky
Cody E Paprocki
Antonio U Chui
Antonio L Waycott
Kadeem H Bowley
Ivar T Inouye
Clifford M Figeroa
Johnson Q Slusarski
Adams W Ferencz
Jeanfrancois A Maclead
Claire I Garufi
Alejandro C Caldarera
Leja H Marrier
Morrow X Malet
Francesco V Caldarera
Misaki E Butt
Jefferson V Doe
Tony D Kusko
Juan K Briddick
Izzy X Caldarera
Emily K Maclead
Arvin E Stenseth
Octavia P Butt
Costa F Iturbide
Francesco U Amigon
Aika I Whobrey
Kaitlin M Darakjy
Chavez I Kusko
Smith W Kusko
Deepesh K Gillian
Cody H Foller
Jennifer Y Malet
Costa I Paprocki
Wickens M Poquette
Izzy A Stockham
Munro D Foller
David L Wieser
Deepesh L Kusko
Tony Z Glick
Costa Z Malet
Misaki K Oldroyd
Deepesh K Darakjy
Murillo P Ostrosky
Juan S Rim
Kaitlin U Darakjy
Aditya J Glick
Darci O Vocelka
Alejandro X Garufi
Francesco M Caldarera
Clifford Z Foller
IdCountryDate
1000Japan2024-06-10
1001Argentina2024-06-05
1002Brazil2024-05-28
1003Germany2024-06-13
1004United Kingdom2024-05-30
1005Russia2024-06-14
1006Argentina2024-05-31
1007Argentina2024-06-02
1008Australia2024-06-02
1009India2024-05-31
1010Spain2024-06-03
1011Russia2024-05-28
1012Australia2024-06-01
1013Italy2024-06-03
1014Argentina2024-06-21
1015Spain2024-06-06
1016Spain2024-06-06
1017United Kingdom2024-06-03
1018Canada2024-05-26
1019Australia2024-06-02
1020Spain2024-06-17
1021Italy2024-06-17
1022Australia2024-06-21
1023India2024-06-18
1024India2024-06-04
1025Brazil2024-05-31
1026India2024-06-14
1027Spain2024-05-23
1028Brazil2024-06-18
1029Germany2024-05-30
1030Russia2024-06-10
1031Germany2024-06-17
1032Canada2024-06-19
1033France2024-05-24
1034Brazil2024-06-07
1035Spain2024-05-29
1036Germany2024-05-24
1037India2024-06-20
1038France2024-06-19
1039Spain2024-05-29
1040Canada2024-06-03
1041Russia2024-06-14
1042Canada2024-05-27
1043Australia2024-05-23
1044India2024-06-11
1045Russia2024-06-03
1046India2024-05-23
1047India2024-05-27
1048Canada2024-06-09
1049Germany2024-06-03

On-Demand Data

NameIdCountryDate
Mayumi T Royster1000India2024-06-12
Kadeem M Perin1001Russia2024-06-07
Mujtaba D Slusarski1002Japan2024-06-13
Morrow L Maclead1003Spain2024-06-15
Emily Y Doe1004Italy2024-06-14
Smith X Foller1005Canada2024-06-14
Aditya K Ostrosky1006Brazil2024-06-05
Stacey T Bowley1007Argentina2024-06-09
Faith H Schemmer1008Argentina2024-06-15
Juan D Briddick1009Russia2024-05-25
Costa G Nicka1010France2024-05-28
Nicolas P Foller1011Russia2024-06-17
James Y Ferencz1012Argentina2024-06-17
Greenwood A Dilliard1013Italy2024-05-24
Silvio F Foller1014Canada2024-06-17
Stacey P Butt1015Japan2024-06-15
Juan N Kolmetz1016Germany2024-06-09
Alejandro S Iturbide1017Canada2024-05-30
Julie D Malet1018India2024-06-07
Munro L Saylors1019Australia2024-05-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones K AlbaresCanadaAnna Fali QUALIFIED
Ashley J BowleyJapanIvan Magalhaes RENEWAL
Wickens B RutaArgentinaElwin Sharvill RENEWAL
Darci I DarakjyUnited KingdomElwin Sharvill NEW
James A BriddickArgentinaAnna Fali UNQUALIFIED
Costa G SaylorsFranceAsiya Javayant QUALIFIED
Francesco Y MacleadIndiaElwin Sharvill PROPOSAL
Morrow Q OldroydGermanyXuxue Feng RENEWAL
Maisha A FollerArgentinaBernardo Dominic PROPOSAL
Aika B GlickAustraliaOnyama Limba UNQUALIFIED
Francesco H GauchoSpainIoni Bowcher RENEWAL
Greenwood Q MaletFranceIvan Magalhaes UNQUALIFIED
Nicolas U NickaBrazilAsiya Javayant NEGOTIATION
Salvatore J ChuiBrazilXuxue Feng NEGOTIATION
Ivar R PerinAustraliaOnyama Limba NEGOTIATION
Greenwood K AlbaresGermanyElwin Sharvill RENEWAL
Aditya P CaudyFranceElwin Sharvill NEW
Salvatore W MorascaSpainAnna Fali PROPOSAL
Aruna M AlbaresIndiaIvan Magalhaes NEGOTIATION
Clifford M MorascaIndiaAsiya Javayant NEW
Munro B NickaFranceXuxue Feng QUALIFIED
Faith U InouyeIndiaAsiya Javayant RENEWAL
Misaki E MorascaItalyAnna Fali PROPOSAL
James F ButtJapanOnyama Limba UNQUALIFIED
Darci K RimFranceAmy Elsner QUALIFIED
Leja I SaylorsAustraliaAsiya Javayant PROPOSAL
Ricardo I PoquetteSpainAsiya Javayant UNQUALIFIED
Aditya P CaldareraCanadaIoni Bowcher PROPOSAL
Murillo J MaletRussiaAmy Elsner QUALIFIED
Deepesh X FollerArgentinaElwin Sharvill RENEWAL
Ivar U PoquetteAustraliaIvan Magalhaes NEW
Kadeem D AmigonJapanXuxue Feng QUALIFIED
Tony V PaprockiIndiaAnna Fali QUALIFIED
Claire Z WieserBrazilBernardo Dominic NEGOTIATION
David O MorascaFranceXuxue Feng NEGOTIATION
Morrow B WaycottAustraliaAsiya Javayant NEGOTIATION
Maisha X MorascaAustraliaOnyama Limba PROPOSAL
Adams J RimSpainStephen Shaw NEGOTIATION
Chavez W DilliardUnited KingdomXuxue Feng QUALIFIED
Smith M MaletUnited KingdomIoni Bowcher NEW

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