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
Emily D CaldareraIndiaElwin Sharvill QUALIFIED
Wickens A OldroydUnited KingdomElwin Sharvill RENEWAL
Aika I OstroskyRussiaAsiya Javayant NEGOTIATION
Murillo R StensethUnited KingdomBernardo Dominic RENEWAL
Juan Q GillianJapanAmy Elsner NEW
Johnson Z AmigonItalyStephen Shaw UNQUALIFIED
Jones Z RoysterBrazilIvan Magalhaes QUALIFIED
Munro P AmigonFranceXuxue Feng PROPOSAL
Deepesh B IturbideJapanElwin Sharvill UNQUALIFIED
Maria F StensethFranceXuxue Feng QUALIFIED
Izzy G InouyeIndiaOnyama Limba NEGOTIATION
Claire K OldroydCanadaAnna Fali NEW
Salvatore D SlusarskiJapanIoni Bowcher QUALIFIED
Izzy L StensethIndiaAnna Fali QUALIFIED
Deepesh P OldroydJapanStephen Shaw QUALIFIED
Kadeem E MaletJapanIvan Magalhaes UNQUALIFIED
Salvatore Z IturbideGermanyIoni Bowcher NEW
Cody L FollerIndiaXuxue Feng PROPOSAL
Faith O ButtIndiaBernardo Dominic NEGOTIATION
Isabel K DilliardJapanIoni Bowcher NEGOTIATION
Arvin L MarrierCanadaAnna Fali NEW
Morrow C WhobreyBrazilAnna Fali QUALIFIED
Misaki L MaletGermanyXuxue Feng RENEWAL
Izzy M PaprockiFranceOnyama Limba NEW
Kaitlin Z CaldareraBrazilOnyama Limba NEW
Misaki M KolmetzCanadaOnyama Limba NEGOTIATION
Chavez X SlusarskiIndiaAmy Elsner NEW
Claire Y PerinCanadaBernardo Dominic RENEWAL
Mujtaba Y NestleSpainOnyama Limba NEGOTIATION
Jefferson B RoysterAustraliaStephen Shaw RENEWAL
Ivar R RutaIndiaXuxue Feng RENEWAL
Wickens K WhobreyGermanyIoni Bowcher UNQUALIFIED
Aruna W StockhamItalyIoni Bowcher NEW
Faith J SlusarskiUnited KingdomAnna Fali PROPOSAL
Faith X FlosiFranceAsiya Javayant NEGOTIATION
Jennifer Y MaletRussiaAsiya Javayant NEGOTIATION
Silvio X TollnerBrazilBernardo Dominic NEGOTIATION
Aika D PoquetteArgentinaAsiya Javayant QUALIFIED
Mujtaba H SergiArgentinaBernardo Dominic NEGOTIATION
Francesco V CaudyAustraliaBernardo Dominic PROPOSAL
Leon B RimIndiaBernardo Dominic UNQUALIFIED
Maria J ChuiGermanyIoni Bowcher QUALIFIED
Jefferson A StensethIndiaAsiya Javayant NEGOTIATION
Kadeem M BriddickUnited KingdomXuxue Feng PROPOSAL
Emily L PerinCanadaAsiya Javayant RENEWAL
Salvatore Y MaletCanadaIvan Magalhaes UNQUALIFIED
Julie X SergiGermanyBernardo Dominic NEW
Adams C InouyeJapanIoni Bowcher RENEWAL
Stacey N ChuiAustraliaElwin Sharvill NEGOTIATION
Clifford G WaycottGermanyAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Leja E FigeroaJapanIvan Magalhaes NEGOTIATION
Aditya G FollerFranceAsiya Javayant UNQUALIFIED
Adams K KuskoSpainIoni Bowcher NEGOTIATION
Jefferson A GlickGermanyAmy Elsner QUALIFIED
Morrow O ChuiCanadaStephen Shaw UNQUALIFIED
Misaki V AlbaresCanadaIoni Bowcher UNQUALIFIED
Octavia M InouyeArgentinaAsiya Javayant QUALIFIED
Stacey S CampainFranceAnna Fali RENEWAL
Maisha S RulapaughJapanIoni Bowcher NEGOTIATION
Chavez N InouyeFranceElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens A OstroskyItaly2024-05-19Truhlar And Truhlar Attys RENEWAL29Anna Fali
1001Mayumi T FigeroaIndia2024-06-02King, Christopher A Esq NEW87Bernardo Dominic
1002Rodrigues H MorascaFrance2024-05-17Truhlar And Truhlar Attys QUALIFIED45Onyama Limba
1003Clifford W OldroydBrazil2024-05-26Feltz Printing Service NEGOTIATION73Elwin Sharvill
1004Leon X FollerCanada2024-05-24Dorl, James J Esq RENEWAL94Amy Elsner
1005Jefferson F DoeBrazil2024-05-31Truhlar And Truhlar Attys RENEWAL88Stephen Shaw
1006Nicolas N SergiFrance2024-06-09Printing Dimensions NEW91Asiya Javayant
1007Chavez Z WieserFrance2024-05-29Buckley Miller Wright PROPOSAL19Ioni Bowcher
1008Deepesh G GarufiFrance2024-06-01Truhlar And Truhlar Attys UNQUALIFIED99Anna Fali
1009Murillo D NestleCanada2024-06-14Dorl, James J Esq RENEWAL44Bernardo Dominic
1010Izzy L SaylorsBrazil2024-06-13Chanay, Jeffrey A Esq NEW81Ivan Magalhaes
1011Maisha Y NickaCanada2024-05-17Morlong Associates NEGOTIATION72Amy Elsner
1012Deepesh B PerinGermany2024-06-07Truhlar And Truhlar Attys QUALIFIED73Amy Elsner
1013Stacey Z StensethGermany2024-05-20Rousseaux, Michael Esq RENEWAL60Stephen Shaw
1014James R NickaCanada2024-05-24Truhlar And Truhlar Attys NEW96Onyama Limba
1015Maria N MaletAustralia2024-05-26Benton, John B Jr UNQUALIFIED17Anna Fali
1016Kaitlin H WhobreyIndia2024-06-01Buckley Miller Wright RENEWAL64Ivan Magalhaes
1017Costa D PaprockiUnited Kingdom2024-06-03Commercial Press PROPOSAL30Stephen Shaw
1018Salvatore R ShinkoUnited Kingdom2024-06-09King, Christopher A Esq RENEWAL42Stephen Shaw
1019Sinclair X RimArgentina2024-06-06Chemel, James L Cpa UNQUALIFIED22Xuxue Feng
1020Silvio Q VocelkaIndia2024-05-22Rangoni Of Florence RENEWAL73Onyama Limba
1021Julie O PoquetteRussia2024-06-01Rousseaux, Michael Esq NEGOTIATION95Bernardo Dominic
1022Adams N GarufiRussia2024-06-10Chanay, Jeffrey A Esq PROPOSAL88Asiya Javayant
1023Claire J MarrierUnited Kingdom2024-05-24Truhlar And Truhlar Attys UNQUALIFIED74Stephen Shaw
1024David B RulapaughGermany2024-05-17Benton, John B Jr PROPOSAL98Ioni Bowcher
1025Murillo R RimArgentina2024-06-03Dorl, James J Esq NEGOTIATION83Onyama Limba
1026Juan L IturbideAustralia2024-06-10Printing Dimensions UNQUALIFIED94Elwin Sharvill
1027Silvio C StockhamUnited Kingdom2024-06-14Commercial Press QUALIFIED48Stephen Shaw
1028Leja H GarufiJapan2024-05-17Dorl, James J Esq PROPOSAL57Ivan Magalhaes
1029Isabel M BowleyGermany2024-05-30Benton, John B Jr UNQUALIFIED16Anna Fali
1030Claire N PoquetteUnited Kingdom2024-06-14Truhlar And Truhlar Attys UNQUALIFIED36Xuxue Feng
1031Costa L FerenczBrazil2024-05-25Rousseaux, Michael Esq QUALIFIED94Bernardo Dominic
1032Kaitlin O CaudySpain2024-06-15Buckley Miller Wright NEGOTIATION72Stephen Shaw
1033Cody J SergiItaly2024-06-12Dorl, James J Esq PROPOSAL14Amy Elsner
1034Adams E FlosiUnited Kingdom2024-05-18Chanay, Jeffrey A Esq NEW91Xuxue Feng
1035Jones J WieserGermany2024-06-02Benton, John B Jr QUALIFIED71Elwin Sharvill
1036Francesco Z AmigonFrance2024-05-21Morlong Associates QUALIFIED13Ivan Magalhaes
1037Mayumi F NickaRussia2024-06-13Printing Dimensions QUALIFIED7Elwin Sharvill
1038Kadeem G PerinIndia2024-05-25Buckley Miller Wright QUALIFIED87Onyama Limba
1039Tony S PaprockiUnited Kingdom2024-05-31Truhlar And Truhlar Attys NEGOTIATION49Ioni Bowcher
1040Faith O FerenczSpain2024-05-23Chapman, Ross E Esq NEW23Stephen Shaw
1041James S FigeroaIndia2024-06-12Rousseaux, Michael Esq UNQUALIFIED44Anna Fali
1042Julie L BologniaBrazil2024-06-12Commercial Press PROPOSAL78Elwin Sharvill
1043Leon R FerenczFrance2024-05-21Benton, John B Jr NEW13Elwin Sharvill
1044Alejandro C ButtRussia2024-06-12Buckley Miller Wright RENEWAL43Amy Elsner
1045Emily S GlickUnited Kingdom2024-06-03Dorl, James J Esq UNQUALIFIED51Amy Elsner
1046Wickens E StockhamIndia2024-05-28Rousseaux, Michael Esq RENEWAL79Onyama Limba
1047Leon J MaletArgentina2024-06-02Dorl, James J Esq UNQUALIFIED25Stephen Shaw
1048Deepesh G IturbideBrazil2024-06-07Chanay, Jeffrey A Esq NEW77Stephen Shaw
1049Misaki X NickaJapan2024-05-29Commercial Press NEGOTIATION48Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Ashley K RutaSpainElwin Sharvill NEW
Salvatore Z GlickJapanBernardo Dominic NEGOTIATION
Octavia R FigeroaAustraliaStephen Shaw PROPOSAL
Murillo X WaycottUnited KingdomBernardo Dominic NEW
Wickens S DarakjyJapanBernardo Dominic UNQUALIFIED
Wickens T RimUnited KingdomBernardo Dominic PROPOSAL
Alejandro Z DoeJapanIvan Magalhaes RENEWAL
Ashley B PaprockiFranceXuxue Feng NEW
Kaitlin S FollerBrazilStephen Shaw QUALIFIED
David M MaletIndiaOnyama Limba PROPOSAL
Leja G BriddickJapanIoni Bowcher QUALIFIED
Jennifer U FigeroaGermanyElwin Sharvill QUALIFIED
Sinclair I RoysterFranceAnna Fali UNQUALIFIED
Faith L PerinBrazilIoni Bowcher QUALIFIED
Costa C RutaSpainStephen Shaw PROPOSAL
Clifford E DarakjyRussiaAnna Fali PROPOSAL
Misaki U GauchoJapanIvan Magalhaes NEGOTIATION
Jennifer R DilliardCanadaElwin Sharvill PROPOSAL
Leja G SchemmerIndiaXuxue Feng NEGOTIATION
Arvin C BologniaCanadaAsiya Javayant UNQUALIFIED
Jefferson H BowleyAustraliaAnna Fali RENEWAL
Aruna B OldroydBrazilBernardo Dominic QUALIFIED
Kadeem Y StensethRussiaOnyama Limba PROPOSAL
Murillo S WhobreyRussiaAmy Elsner QUALIFIED
Munro E CaudyUnited KingdomBernardo Dominic QUALIFIED
Mujtaba D FollerIndiaOnyama Limba QUALIFIED
Johnson N NickaIndiaStephen Shaw NEGOTIATION
Nicolas Y FerenczIndiaAmy Elsner RENEWAL
Ashley C VocelkaSpainXuxue Feng PROPOSAL
Wickens A DarakjyCanadaIoni Bowcher QUALIFIED
Alejandro Y OstroskyUnited KingdomStephen Shaw NEGOTIATION
Costa M BologniaGermanyElwin Sharvill NEGOTIATION
Silvio U DilliardCanadaElwin Sharvill QUALIFIED
Misaki P GarufiUnited KingdomBernardo Dominic UNQUALIFIED
Aruna Q ShinkoItalyIoni Bowcher RENEWAL
Cody O StockhamIndiaBernardo Dominic PROPOSAL
James C WaycottGermanyAsiya Javayant NEGOTIATION
Arvin T PaprockiCanadaAsiya Javayant NEGOTIATION
Jones V RulapaughAustraliaXuxue Feng RENEWAL
Wickens L OstroskyRussiaXuxue Feng PROPOSAL
Chavez F ShinkoCanadaIoni Bowcher RENEWAL
Ricardo F RimSpainAmy Elsner NEW
Claire X SlusarskiIndiaAmy Elsner PROPOSAL
James D RulapaughItalyIvan Magalhaes NEW
Greenwood V WieserArgentinaBernardo Dominic RENEWAL
Jeanfrancois Q GauchoItalyAnna Fali PROPOSAL
Juan J KuskoFranceAsiya Javayant UNQUALIFIED
Cody J GillianBrazilIoni Bowcher QUALIFIED
Aika O SlusarskiAustraliaElwin Sharvill NEGOTIATION
Cody A GillianRussiaStephen Shaw RENEWAL
Frozen Columns
Name
Johnson Z Glick
Ivar R Ostrosky
Leon K Kusko
Octavia Y Tollner
Johnson B Bowley
James L Maclead
Adams M Whobrey
Leja C Dilliard
Leon X Campain
Arvin D Dilliard
David A Gaucho
Adams C Gaucho
Aditya O Perin
Claire M Saylors
Juan F Ostrosky
Ricardo J Butt
Maria C Chui
Antonio F Oldroyd
Faith Q Chui
Alejandro U Iturbide
Jennifer A Gillian
Stacey U Doe
Sinclair V Marrier
Jefferson A Nicka
Nicolas W Malet
David A Albares
Kaitlin Y Caldarera
Kaitlin W Figeroa
Rodrigues E Wieser
Alejandro N Malet
Murillo T Stenseth
Ivar S Kolmetz
Costa J Iturbide
Nicolas I Briddick
Darci U Doe
Claire W Briddick
Wickens W Gillian
Murillo R Flosi
Mayumi G Garufi
Wickens I Oldroyd
Izzy K Gillian
Nicolas Y Stockham
Stacey H Stockham
James J Inouye
Octavia V Marrier
Claire W Rulapaugh
Murillo B Amigon
Kadeem M Saylors
Juan X Doe
Jennifer A Sergi
IdCountryDate
1000Russia2024-06-12
1001Germany2024-05-28
1002Canada2024-06-06
1003Argentina2024-06-14
1004India2024-06-09
1005Japan2024-05-30
1006Germany2024-06-12
1007Russia2024-06-15
1008Australia2024-05-22
1009India2024-05-17
1010Japan2024-05-17
1011Argentina2024-06-11
1012Brazil2024-05-30
1013Japan2024-06-06
1014India2024-05-19
1015Australia2024-06-08
1016France2024-06-08
1017Canada2024-05-29
1018Australia2024-05-17
1019Australia2024-05-21
1020Canada2024-05-18
1021Spain2024-06-15
1022France2024-06-05
1023Brazil2024-05-18
1024Brazil2024-06-12
1025Japan2024-05-18
1026Canada2024-05-18
1027Japan2024-06-13
1028Australia2024-05-22
1029India2024-05-24
1030Japan2024-05-21
1031Australia2024-06-14
1032Spain2024-06-12
1033Japan2024-05-23
1034Australia2024-05-23
1035United Kingdom2024-06-12
1036Argentina2024-06-15
1037Germany2024-06-09
1038Italy2024-06-13
1039Argentina2024-06-08
1040United Kingdom2024-05-17
1041Italy2024-06-10
1042Japan2024-06-14
1043Italy2024-06-15
1044France2024-06-04
1045India2024-06-02
1046Canada2024-06-05
1047Australia2024-06-02
1048India2024-05-30
1049Australia2024-05-21

On-Demand Data

NameIdCountryDate
James X Morasca1000United Kingdom2024-06-08
James V Foller1001Brazil2024-06-03
Chavez Q Nestle1002Australia2024-05-21
Jennifer O Ferencz1003United Kingdom2024-06-07
Julie T Garufi1004Spain2024-05-31
Mujtaba C Foller1005France2024-06-06
Kaitlin Q Amigon1006India2024-05-29
Mayumi J Briddick1007United Kingdom2024-05-25
Aruna Q Tollner1008India2024-05-22
Isabel A Waycott1009France2024-06-06
Isabel B Inouye1010Australia2024-06-05
Rodrigues C Garufi1011Australia2024-05-24
Kaitlin X Malet1012Germany2024-05-17
Salvatore R Caudy1013Germany2024-06-10
Isabel Z Wieser1014United Kingdom2024-05-22
Isabel Y Oldroyd1015Germany2024-06-12
Leja F Schemmer1016Brazil2024-05-23
Izzy E Dilliard1017Australia2024-05-28
Francesco P Gillian1018Spain2024-05-23
Stacey O Saylors1019United Kingdom2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan J MarrierCanadaAmy Elsner NEGOTIATION
Mayumi U GillianFranceIoni Bowcher QUALIFIED
Johnson K MaletCanadaOnyama Limba NEGOTIATION
Jeanfrancois L BologniaFranceIoni Bowcher QUALIFIED
Silvio E MorascaJapanIoni Bowcher RENEWAL
Aditya N ButtAustraliaBernardo Dominic RENEWAL
Clifford F RulapaughGermanyAmy Elsner PROPOSAL
Wickens M WieserItalyBernardo Dominic NEGOTIATION
Antonio P AlbaresJapanStephen Shaw NEW
Darci A MaletCanadaAnna Fali NEGOTIATION
Adams J IturbideBrazilStephen Shaw UNQUALIFIED
Darci Y AmigonSpainElwin Sharvill UNQUALIFIED
Johnson D CampainBrazilIvan Magalhaes NEGOTIATION
Juan N WieserFranceAmy Elsner UNQUALIFIED
Smith C PaprockiItalyIvan Magalhaes PROPOSAL
Silvio V GlickAustraliaXuxue Feng NEW
Salvatore S SaylorsRussiaAmy Elsner NEW
Tony C CampainCanadaAsiya Javayant PROPOSAL
Wickens A SaylorsBrazilElwin Sharvill UNQUALIFIED
Arvin L AlbaresGermanyIvan Magalhaes PROPOSAL
Sinclair L RimJapanStephen Shaw PROPOSAL
Adams X SlusarskiGermanyElwin Sharvill RENEWAL
Alejandro A VenereItalyElwin Sharvill UNQUALIFIED
Wickens N SergiFranceBernardo Dominic UNQUALIFIED
Murillo W IturbideFranceIvan Magalhaes UNQUALIFIED
Costa R MaletCanadaXuxue Feng NEW
Chavez A GillianJapanAmy Elsner PROPOSAL
Jeanfrancois H PerinBrazilXuxue Feng QUALIFIED
Jones H CaldareraItalyOnyama Limba QUALIFIED
Octavia Z MorascaAustraliaElwin Sharvill NEW
Clifford V RimFranceBernardo Dominic PROPOSAL
Darci W WaycottFranceAmy Elsner RENEWAL
Antonio I InouyeUnited KingdomAsiya Javayant RENEWAL
Juan C ChuiCanadaIoni Bowcher NEGOTIATION
James G ShinkoAustraliaBernardo Dominic UNQUALIFIED
Jefferson A WhobreyAustraliaAnna Fali RENEWAL
Salvatore R BowleySpainStephen Shaw RENEWAL
Aditya M SaylorsUnited KingdomAnna Fali UNQUALIFIED
Ricardo A CampainCanadaIoni Bowcher NEGOTIATION
Arvin Z NickaFranceAmy Elsner 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>