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
Smith B SchemmerAustraliaAsiya Javayant PROPOSAL
Mujtaba S SchemmerAustraliaBernardo Dominic UNQUALIFIED
Stacey K BowleySpainBernardo Dominic PROPOSAL
Claire P SchemmerItalyIvan Magalhaes QUALIFIED
Francesco B KuskoArgentinaAnna Fali UNQUALIFIED
Emily H OldroydGermanyOnyama Limba UNQUALIFIED
Mujtaba O SchemmerBrazilAsiya Javayant RENEWAL
Aruna T FollerJapanElwin Sharvill UNQUALIFIED
Stacey J BriddickSpainAsiya Javayant NEW
Johnson A GauchoSpainIoni Bowcher RENEWAL
Cody I VocelkaFranceAnna Fali PROPOSAL
James X FigeroaAustraliaAnna Fali NEGOTIATION
David X MarrierBrazilBernardo Dominic PROPOSAL
Johnson C MarrierRussiaOnyama Limba NEGOTIATION
Alejandro G WhobreyUnited KingdomStephen Shaw NEGOTIATION
Clifford T RulapaughSpainAmy Elsner PROPOSAL
Cody G BologniaJapanXuxue Feng RENEWAL
Aditya M PaprockiItalyElwin Sharvill PROPOSAL
Izzy C DoeRussiaIvan Magalhaes UNQUALIFIED
Emily V NickaIndiaAmy Elsner UNQUALIFIED
Cody X AmigonArgentinaXuxue Feng PROPOSAL
Jeanfrancois L KolmetzItalyElwin Sharvill QUALIFIED
Maria C InouyeRussiaBernardo Dominic QUALIFIED
Silvio H MacleadCanadaAsiya Javayant UNQUALIFIED
Murillo Y OldroydGermanyIvan Magalhaes RENEWAL
James T AmigonFranceStephen Shaw QUALIFIED
Jennifer N SchemmerItalyStephen Shaw NEGOTIATION
Leon U ButtSpainIvan Magalhaes PROPOSAL
Aditya E FlosiArgentinaIoni Bowcher NEW
Maria N BowleyBrazilBernardo Dominic QUALIFIED
Jefferson W WaycottAustraliaStephen Shaw NEGOTIATION
Alejandro T CampainCanadaIvan Magalhaes RENEWAL
Misaki Z CaudyIndiaIoni Bowcher PROPOSAL
Octavia J ButtFranceStephen Shaw NEGOTIATION
Costa S BriddickJapanAmy Elsner PROPOSAL
Izzy V KuskoItalyIvan Magalhaes NEGOTIATION
James P MaletBrazilOnyama Limba RENEWAL
Mayumi X MacleadJapanIoni Bowcher QUALIFIED
Wickens R DarakjyRussiaAmy Elsner NEGOTIATION
Ricardo C AlbaresCanadaBernardo Dominic RENEWAL
Leja D DoeBrazilAmy Elsner UNQUALIFIED
Munro N NickaAustraliaAmy Elsner NEGOTIATION
Leon A FollerIndiaOnyama Limba QUALIFIED
Mujtaba R SergiJapanAmy Elsner QUALIFIED
Murillo L GlickUnited KingdomElwin Sharvill PROPOSAL
Ashley X MaletJapanAnna Fali PROPOSAL
Izzy H RoysterGermanyAsiya Javayant NEW
Jeanfrancois M NestleFranceElwin Sharvill UNQUALIFIED
Deepesh E CaudyCanadaStephen Shaw PROPOSAL
Maria Z KuskoSpainOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ashley M FigeroaItalyAmy Elsner NEW
Nicolas V BologniaGermanyElwin Sharvill RENEWAL
Ivar Q BowleyBrazilOnyama Limba PROPOSAL
Octavia F ShinkoCanadaOnyama Limba QUALIFIED
Costa M GauchoBrazilStephen Shaw PROPOSAL
Kaitlin Y TollnerItalyIoni Bowcher PROPOSAL
Costa L GlickJapanIoni Bowcher PROPOSAL
Sinclair O ButtJapanAnna Fali PROPOSAL
James P GauchoSpainOnyama Limba QUALIFIED
Nicolas L PerinIndiaStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar Z WieserBrazil2024-06-10Buckley Miller Wright PROPOSAL37Bernardo Dominic
1001Costa Q AlbaresBrazil2024-06-15Chanay, Jeffrey A Esq UNQUALIFIED68Onyama Limba
1002Jones N WaycottIndia2024-05-28Chapman, Ross E Esq PROPOSAL27Onyama Limba
1003Cody G SaylorsArgentina2024-05-24Chanay, Jeffrey A Esq UNQUALIFIED93Amy Elsner
1004Kaitlin T WieserRussia2024-06-15Dorl, James J Esq UNQUALIFIED73Elwin Sharvill
1005Deepesh B RimUnited Kingdom2024-06-13Benton, John B Jr RENEWAL53Bernardo Dominic
1006David I RulapaughJapan2024-05-30Morlong Associates UNQUALIFIED81Elwin Sharvill
1007Adams A PoquetteSpain2024-05-24Commercial Press NEGOTIATION39Amy Elsner
1008Alejandro N MarrierFrance2024-06-03Chemel, James L Cpa PROPOSAL50Amy Elsner
1009Maria Y WieserArgentina2024-06-21Feiner Bros UNQUALIFIED19Anna Fali
1010Juan V GillianArgentina2024-05-24Commercial Press RENEWAL46Stephen Shaw
1011Chavez I CampainItaly2024-06-07Morlong Associates NEGOTIATION64Stephen Shaw
1012Aruna U GarufiBrazil2024-06-01Printing Dimensions QUALIFIED33Onyama Limba
1013Jennifer T WhobreyRussia2024-06-03Buckley Miller Wright NEGOTIATION54Asiya Javayant
1014Chavez N CampainUnited Kingdom2024-06-11Chanay, Jeffrey A Esq NEGOTIATION75Elwin Sharvill
1015Darci D GillianGermany2024-06-04King, Christopher A Esq PROPOSAL21Anna Fali
1016Mujtaba O InouyeJapan2024-06-11Rangoni Of Florence QUALIFIED44Stephen Shaw
1017Clifford T SchemmerArgentina2024-05-27Dorl, James J Esq UNQUALIFIED86Bernardo Dominic
1018Smith C DilliardItaly2024-06-11Chemel, James L Cpa UNQUALIFIED38Asiya Javayant
1019Smith F FollerArgentina2024-05-31King, Christopher A Esq NEGOTIATION92Amy Elsner
1020Ivar D WhobreyGermany2024-06-16Feiner Bros PROPOSAL77Amy Elsner
1021Costa Z MaletUnited Kingdom2024-05-25Chanay, Jeffrey A Esq NEW7Bernardo Dominic
1022Ivar O SaylorsGermany2024-06-04Buckley Miller Wright NEW32Amy Elsner
1023Greenwood Y WhobreySpain2024-05-25Feiner Bros QUALIFIED93Stephen Shaw
1024Julie I PaprockiAustralia2024-06-03Rangoni Of Florence PROPOSAL78Elwin Sharvill
1025Cody I GauchoFrance2024-06-05Dorl, James J Esq QUALIFIED21Ivan Magalhaes
1026Adams K ShinkoSpain2024-06-18Feltz Printing Service NEW86Stephen Shaw
1027Julie R SergiCanada2024-05-23Feiner Bros PROPOSAL52Asiya Javayant
1028Rodrigues V CaldareraIndia2024-05-26Dorl, James J Esq RENEWAL10Amy Elsner
1029Cody M AmigonIndia2024-05-23Chemel, James L Cpa QUALIFIED65Anna Fali
1030Sinclair O IturbideCanada2024-06-06Commercial Press RENEWAL40Ivan Magalhaes
1031Claire R OldroydArgentina2024-06-08Chapman, Ross E Esq PROPOSAL75Elwin Sharvill
1032Faith X MarrierGermany2024-06-08Rousseaux, Michael Esq RENEWAL95Elwin Sharvill
1033Faith Q OstroskyUnited Kingdom2024-05-24Chapman, Ross E Esq NEGOTIATION96Elwin Sharvill
1034Johnson Y PerinCanada2024-06-21King, Christopher A Esq QUALIFIED60Xuxue Feng
1035Jennifer U StensethArgentina2024-05-30King, Christopher A Esq UNQUALIFIED1Anna Fali
1036Juan C BriddickGermany2024-06-02Buckley Miller Wright QUALIFIED73Asiya Javayant
1037Antonio Q SaylorsSpain2024-06-05Dorl, James J Esq PROPOSAL7Elwin Sharvill
1038Leja J GillianItaly2024-05-26King, Christopher A Esq NEGOTIATION37Elwin Sharvill
1039Darci Q VocelkaSpain2024-06-04Feiner Bros QUALIFIED78Anna Fali
1040Chavez R RutaArgentina2024-06-06Commercial Press NEW79Stephen Shaw
1041Aditya Y SergiFrance2024-06-13Chanay, Jeffrey A Esq PROPOSAL31Asiya Javayant
1042Morrow D VenereSpain2024-06-06Chanay, Jeffrey A Esq UNQUALIFIED32Xuxue Feng
1043Clifford T RutaAustralia2024-06-02Chanay, Jeffrey A Esq PROPOSAL32Ivan Magalhaes
1044Aruna L VocelkaJapan2024-05-23King, Christopher A Esq UNQUALIFIED1Bernardo Dominic
1045Clifford N RulapaughItaly2024-05-23Benton, John B Jr UNQUALIFIED22Anna Fali
1046Morrow J AmigonUnited Kingdom2024-05-25Rousseaux, Michael Esq NEW39Bernardo Dominic
1047Munro N InouyeIndia2024-06-09Commercial Press UNQUALIFIED24Stephen Shaw
1048Aditya E KuskoItaly2024-05-24Truhlar And Truhlar Attys RENEWAL99Xuxue Feng
1049Nicolas T PoquetteArgentina2024-05-24King, Christopher A Esq UNQUALIFIED72Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
James K VocelkaAustraliaElwin Sharvill RENEWAL
Claire B MacleadIndiaIvan Magalhaes UNQUALIFIED
Silvio S VocelkaAustraliaAmy Elsner PROPOSAL
Antonio A VenereCanadaAsiya Javayant RENEWAL
Faith P ChuiRussiaXuxue Feng NEGOTIATION
Antonio Q NickaAustraliaAsiya Javayant PROPOSAL
Ivar Y RimItalyAsiya Javayant NEGOTIATION
Silvio H AmigonArgentinaXuxue Feng PROPOSAL
Sinclair Y MaletArgentinaAmy Elsner NEW
Johnson J OstroskyArgentinaIoni Bowcher PROPOSAL
Salvatore Y InouyeGermanyAsiya Javayant NEW
Ashley S FigeroaIndiaAsiya Javayant UNQUALIFIED
Ashley P PerinCanadaAmy Elsner NEW
Cody K AlbaresArgentinaStephen Shaw QUALIFIED
Johnson J VocelkaArgentinaXuxue Feng NEGOTIATION
Juan K CampainJapanElwin Sharvill NEW
Isabel L BologniaAustraliaBernardo Dominic QUALIFIED
Emily O DilliardItalyIoni Bowcher NEGOTIATION
Munro Y BriddickCanadaIvan Magalhaes PROPOSAL
Ivar Q CampainRussiaAmy Elsner RENEWAL
Juan L DilliardItalyBernardo Dominic NEW
James Y RoysterIndiaElwin Sharvill PROPOSAL
Smith O RutaRussiaOnyama Limba NEGOTIATION
Aruna O NickaFranceBernardo Dominic NEW
Salvatore G WhobreyUnited KingdomAsiya Javayant NEGOTIATION
Aditya N ButtCanadaAsiya Javayant QUALIFIED
Clifford G ShinkoItalyOnyama Limba NEGOTIATION
Greenwood M TollnerBrazilStephen Shaw NEGOTIATION
Stacey A WaycottUnited KingdomElwin Sharvill QUALIFIED
Claire B CaldareraBrazilIvan Magalhaes NEW
Costa S AmigonItalyIoni Bowcher RENEWAL
Ricardo E FigeroaUnited KingdomAmy Elsner UNQUALIFIED
Maria W VenereAustraliaElwin Sharvill NEGOTIATION
Ivar A PoquetteBrazilAmy Elsner QUALIFIED
Cody V DilliardItalyAmy Elsner QUALIFIED
Mujtaba P SergiCanadaIvan Magalhaes RENEWAL
Kadeem L MacleadCanadaElwin Sharvill RENEWAL
Izzy O ChuiCanadaElwin Sharvill UNQUALIFIED
Izzy M CaudySpainAmy Elsner QUALIFIED
Deepesh S VenereSpainXuxue Feng RENEWAL
Izzy H BriddickUnited KingdomElwin Sharvill NEW
Jones L MorascaGermanyAmy Elsner PROPOSAL
Greenwood F VenereCanadaAnna Fali NEW
Jefferson N WaycottJapanAnna Fali QUALIFIED
Ashley F OldroydUnited KingdomStephen Shaw PROPOSAL
Jefferson G MaletUnited KingdomAmy Elsner RENEWAL
Faith X InouyeAustraliaAsiya Javayant RENEWAL
Leja O CaudyIndiaXuxue Feng NEW
Salvatore F FigeroaBrazilStephen Shaw QUALIFIED
Emily Y PerinBrazilElwin Sharvill RENEWAL
Frozen Columns
Name
Emily R Wieser
Leon V Stenseth
Maisha M Malet
Munro J Darakjy
Alejandro H Nestle
Maria C Nestle
Adams P Iturbide
Emily L Bowley
Stacey H Ferencz
Clifford I Waycott
Mujtaba N Morasca
Claire B Gaucho
Salvatore T Oldroyd
Maria Q Bowley
Claire B Paprocki
Aditya W Marrier
Leja G Butt
Emily E Nestle
Aika P Ruta
Ivar O Oldroyd
Smith R Caudy
Deepesh Z Caudy
Cody A Flosi
David W Rulapaugh
James C Schemmer
Mujtaba T Marrier
Morrow H Morasca
Mayumi T Whobrey
Jefferson C Foller
Munro F Stockham
Sinclair M Slusarski
Kadeem P Vocelka
Aditya A Doe
Leja W Inouye
Clifford D Ferencz
Jeanfrancois R Stenseth
Clifford N Tollner
Costa B Caldarera
Juan E Poquette
Adams T Stenseth
Juan E Tollner
Jeanfrancois A Figeroa
Leon P Paprocki
Maria P Butt
Isabel D Ferencz
Jefferson R Iturbide
Darci U Butt
Julie M Figeroa
Jefferson F Marrier
Ivar A Chui
IdCountryDate
1000Australia2024-06-15
1001Australia2024-05-29
1002Australia2024-06-10
1003Japan2024-06-05
1004Spain2024-06-20
1005India2024-06-17
1006United Kingdom2024-05-24
1007Russia2024-06-14
1008France2024-05-26
1009Argentina2024-06-13
1010Japan2024-05-28
1011Russia2024-06-13
1012United Kingdom2024-05-29
1013Russia2024-05-25
1014Canada2024-06-20
1015Spain2024-06-03
1016Russia2024-06-21
1017India2024-06-07
1018Brazil2024-06-18
1019United Kingdom2024-06-20
1020Germany2024-06-10
1021Japan2024-05-29
1022United Kingdom2024-05-30
1023Canada2024-06-06
1024United Kingdom2024-06-08
1025Japan2024-05-29
1026Brazil2024-05-28
1027United Kingdom2024-06-09
1028India2024-06-09
1029Brazil2024-05-27
1030Germany2024-05-29
1031Brazil2024-06-17
1032Canada2024-06-12
1033United Kingdom2024-06-06
1034Australia2024-06-21
1035Russia2024-06-11
1036India2024-06-05
1037Canada2024-05-30
1038Russia2024-06-09
1039Germany2024-06-05
1040Germany2024-06-16
1041Japan2024-06-09
1042France2024-05-24
1043France2024-06-03
1044Brazil2024-06-12
1045Italy2024-06-11
1046Argentina2024-05-28
1047Canada2024-06-11
1048Russia2024-05-27
1049Australia2024-05-31

On-Demand Data

NameIdCountryDate
Leon N Bowley1000Germany2024-05-26
Claire Q Nestle1001United Kingdom2024-05-26
Maisha U Kolmetz1002Spain2024-06-11
Faith B Foller1003Spain2024-05-27
Silvio I Kusko1004Australia2024-06-08
Ashley D Kusko1005Germany2024-06-13
Misaki B Albares1006Russia2024-06-12
Leja G Stenseth1007Canada2024-06-11
Leja P Vocelka1008Argentina2024-06-02
Ivar V Iturbide1009India2024-06-14
David L Garufi1010India2024-06-01
Johnson O Garufi1011Argentina2024-05-23
Salvatore H Maclead1012Japan2024-05-30
Stacey X Amigon1013France2024-06-21
Sinclair N Whobrey1014Italy2024-06-07
Ashley G Caudy1015Spain2024-06-20
Darci E Caudy1016France2024-06-03
Darci Y Dilliard1017Germany2024-06-17
Mujtaba F Rulapaugh1018Russia2024-06-18
Kaitlin V Venere1019Italy2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro P BriddickSpainAnna Fali PROPOSAL
Jennifer J BowleyIndiaAsiya Javayant QUALIFIED
Antonio D OldroydIndiaIoni Bowcher NEW
Munro W DilliardFranceElwin Sharvill NEW
Nicolas D InouyeUnited KingdomIvan Magalhaes UNQUALIFIED
Aditya C OldroydUnited KingdomBernardo Dominic PROPOSAL
Emily H GlickItalyStephen Shaw QUALIFIED
Johnson K TollnerCanadaStephen Shaw NEW
Francesco R FlosiIndiaAmy Elsner RENEWAL
Octavia X ShinkoSpainXuxue Feng PROPOSAL
Jennifer V ButtAustraliaAsiya Javayant UNQUALIFIED
Kadeem J MacleadSpainIoni Bowcher QUALIFIED
Darci Q WieserIndiaAnna Fali QUALIFIED
Sinclair N FerenczGermanyXuxue Feng NEGOTIATION
Mayumi F PaprockiSpainXuxue Feng NEGOTIATION
Ricardo E CampainUnited KingdomAmy Elsner NEW
Mayumi O FerenczBrazilElwin Sharvill UNQUALIFIED
Leon W FerenczGermanyElwin Sharvill NEGOTIATION
Claire D RoysterIndiaAsiya Javayant RENEWAL
Octavia L MarrierRussiaXuxue Feng PROPOSAL
Alejandro C FlosiIndiaIvan Magalhaes UNQUALIFIED
Jeanfrancois A KuskoItalyBernardo Dominic QUALIFIED
Francesco K PerinIndiaAsiya Javayant NEGOTIATION
Johnson Q OstroskyRussiaAmy Elsner RENEWAL
Francesco E ShinkoAustraliaAmy Elsner NEW
James G SlusarskiIndiaOnyama Limba PROPOSAL
David M MaletBrazilIoni Bowcher PROPOSAL
Francesco E KuskoCanadaOnyama Limba UNQUALIFIED
Arvin B MarrierSpainXuxue Feng QUALIFIED
Deepesh D NickaRussiaElwin Sharvill NEW
Misaki H MorascaIndiaStephen Shaw PROPOSAL
Smith E KuskoBrazilIvan Magalhaes RENEWAL
Leja Q SlusarskiIndiaElwin Sharvill QUALIFIED
Juan Q PaprockiRussiaIoni Bowcher NEGOTIATION
Cody X StockhamRussiaAnna Fali NEW
Tony H RutaItalyXuxue Feng QUALIFIED
Leon E NickaJapanAsiya Javayant QUALIFIED
Morrow P InouyeGermanyElwin Sharvill RENEWAL
David J GillianArgentinaBernardo Dominic RENEWAL
Leon Y GauchoUnited KingdomAmy Elsner 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>