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
Deepesh C FigeroaUnited KingdomElwin Sharvill UNQUALIFIED
Maisha T MacleadGermanyStephen Shaw QUALIFIED
Arvin U GlickAustraliaIoni Bowcher QUALIFIED
Jeanfrancois H WhobreyJapanOnyama Limba QUALIFIED
Ricardo O ShinkoBrazilAmy Elsner NEGOTIATION
Jennifer I GlickRussiaBernardo Dominic QUALIFIED
Adams S NestleUnited KingdomAmy Elsner UNQUALIFIED
Aditya E FigeroaBrazilAsiya Javayant RENEWAL
James V GillianItalyIvan Magalhaes NEW
Maria Q SlusarskiFranceIoni Bowcher QUALIFIED
Aika A VenereIndiaBernardo Dominic PROPOSAL
Smith B TollnerAustraliaAnna Fali NEW
Rodrigues B BriddickGermanyElwin Sharvill QUALIFIED
Costa O BologniaAustraliaAnna Fali UNQUALIFIED
Claire L FigeroaArgentinaIvan Magalhaes QUALIFIED
Mujtaba X BologniaJapanElwin Sharvill NEGOTIATION
Alejandro J VocelkaRussiaXuxue Feng PROPOSAL
Morrow E RutaArgentinaIoni Bowcher RENEWAL
Munro Q WieserRussiaIoni Bowcher NEW
Julie K RulapaughUnited KingdomIvan Magalhaes UNQUALIFIED
Morrow C OstroskyRussiaOnyama Limba NEGOTIATION
James O CampainArgentinaStephen Shaw RENEWAL
Tony O SaylorsUnited KingdomAnna Fali NEGOTIATION
Salvatore V BriddickFranceStephen Shaw PROPOSAL
Aruna M FollerRussiaElwin Sharvill RENEWAL
Aditya S OldroydSpainAsiya Javayant UNQUALIFIED
Leon G FollerFranceStephen Shaw RENEWAL
Jennifer X RutaCanadaStephen Shaw PROPOSAL
Arvin M ChuiJapanElwin Sharvill NEGOTIATION
Francesco Z KuskoGermanyXuxue Feng PROPOSAL
Munro T KolmetzSpainIoni Bowcher UNQUALIFIED
Aditya B TollnerItalyAmy Elsner UNQUALIFIED
David G BowleyArgentinaElwin Sharvill UNQUALIFIED
Smith E RulapaughBrazilAmy Elsner RENEWAL
Mujtaba M AlbaresCanadaElwin Sharvill RENEWAL
James N SlusarskiItalyStephen Shaw QUALIFIED
Darci T MaletArgentinaXuxue Feng QUALIFIED
Jones Y WhobreyArgentinaBernardo Dominic NEW
Deepesh V MorascaRussiaIoni Bowcher PROPOSAL
Ashley J RutaJapanIvan Magalhaes PROPOSAL
Antonio I WaycottAustraliaAnna Fali NEGOTIATION
Munro L DoeAustraliaIvan Magalhaes PROPOSAL
Rodrigues H VocelkaItalyAmy Elsner NEW
Ivar R SaylorsBrazilIoni Bowcher UNQUALIFIED
Leon L CampainArgentinaXuxue Feng UNQUALIFIED
James D RoysterItalyElwin Sharvill RENEWAL
Greenwood N RoysterUnited KingdomBernardo Dominic QUALIFIED
Sinclair Z GarufiAustraliaIoni Bowcher QUALIFIED
Adams K BowleyIndiaBernardo Dominic NEGOTIATION
Francesco A CaldareraItalyOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Ivar W StensethUnited KingdomAnna Fali UNQUALIFIED
Francesco W IturbideBrazilStephen Shaw PROPOSAL
Izzy D CaudyItalyElwin Sharvill NEGOTIATION
Arvin H MaletBrazilStephen Shaw QUALIFIED
Silvio Q VocelkaJapanStephen Shaw NEGOTIATION
Leja J GauchoCanadaBernardo Dominic UNQUALIFIED
Ricardo E IturbideBrazilAmy Elsner QUALIFIED
Sinclair K InouyeItalyOnyama Limba NEGOTIATION
David R GarufiCanadaXuxue Feng NEGOTIATION
Faith A AlbaresIndiaAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna S WaycottItaly2024-04-29Dorl, James J Esq RENEWAL14Xuxue Feng
1001Julie R AlbaresBrazil2024-04-27Rangoni Of Florence NEGOTIATION13Stephen Shaw
1002Cody W MaletItaly2024-05-23Chemel, James L Cpa QUALIFIED89Ioni Bowcher
1003Clifford C DilliardAustralia2024-04-29Truhlar And Truhlar Attys QUALIFIED69Amy Elsner
1004Munro A SergiGermany2024-05-12Rousseaux, Michael Esq UNQUALIFIED24Stephen Shaw
1005Darci L SlusarskiCanada2024-05-03Dorl, James J Esq NEGOTIATION12Xuxue Feng
1006Octavia I PerinUnited Kingdom2024-05-15Feiner Bros RENEWAL84Asiya Javayant
1007Leon J VenereCanada2024-05-23King, Christopher A Esq RENEWAL64Asiya Javayant
1008Chavez R RutaBrazil2024-05-07Truhlar And Truhlar Attys NEGOTIATION15Anna Fali
1009Nicolas J PaprockiIndia2024-05-06Truhlar And Truhlar Attys RENEWAL60Bernardo Dominic
1010Chavez I DarakjyArgentina2024-05-05Morlong Associates PROPOSAL12Ioni Bowcher
1011David F VenereIndia2024-05-20Morlong Associates RENEWAL58Bernardo Dominic
1012Jefferson H VenereFrance2024-05-03Rousseaux, Michael Esq RENEWAL81Elwin Sharvill
1013Darci C FerenczItaly2024-05-17Truhlar And Truhlar Attys QUALIFIED41Ioni Bowcher
1014Aruna J GillianBrazil2024-05-06Feiner Bros NEGOTIATION43Stephen Shaw
1015Salvatore N FlosiSpain2024-05-06Feltz Printing Service NEW95Elwin Sharvill
1016Deepesh L GillianIndia2024-04-27Truhlar And Truhlar Attys QUALIFIED7Stephen Shaw
1017Morrow F CampainBrazil2024-04-29Chemel, James L Cpa UNQUALIFIED83Amy Elsner
1018Johnson H IturbideArgentina2024-05-23Feltz Printing Service UNQUALIFIED79Asiya Javayant
1019Darci P FerenczSpain2024-05-13Commercial Press NEGOTIATION46Xuxue Feng
1020Misaki X GillianArgentina2024-04-27King, Christopher A Esq PROPOSAL67Onyama Limba
1021Kaitlin S RutaJapan2024-05-21Rousseaux, Michael Esq NEGOTIATION76Ioni Bowcher
1022Jennifer N MacleadFrance2024-05-09King, Christopher A Esq QUALIFIED9Xuxue Feng
1023Antonio R OstroskySpain2024-05-16Truhlar And Truhlar Attys QUALIFIED25Ivan Magalhaes
1024Isabel X CampainCanada2024-05-09Buckley Miller Wright NEW56Asiya Javayant
1025Emily Z CaldareraUnited Kingdom2024-05-11Chemel, James L Cpa RENEWAL39Elwin Sharvill
1026Octavia Z PaprockiJapan2024-05-02Commercial Press UNQUALIFIED52Elwin Sharvill
1027Tony R KolmetzGermany2024-05-08Printing Dimensions QUALIFIED97Onyama Limba
1028David P ChuiUnited Kingdom2024-05-19Truhlar And Truhlar Attys PROPOSAL45Ioni Bowcher
1029Misaki Y FollerIndia2024-04-27Feltz Printing Service QUALIFIED39Ioni Bowcher
1030Ricardo Q FerenczArgentina2024-04-28Rangoni Of Florence NEW69Ivan Magalhaes
1031Arvin A SergiArgentina2024-04-25Printing Dimensions NEW87Ioni Bowcher
1032Kaitlin V NickaAustralia2024-05-09Dorl, James J Esq NEW22Onyama Limba
1033Darci B DilliardCanada2024-05-12Buckley Miller Wright UNQUALIFIED41Onyama Limba
1034Chavez K BologniaAustralia2024-05-03Rousseaux, Michael Esq QUALIFIED74Ioni Bowcher
1035Mujtaba M NestleSpain2024-05-11Rangoni Of Florence QUALIFIED20Amy Elsner
1036Johnson Q VenereBrazil2024-05-05Rangoni Of Florence RENEWAL89Xuxue Feng
1037Tony T MorascaArgentina2024-04-28Feiner Bros QUALIFIED27Amy Elsner
1038Salvatore C RutaSpain2024-05-04Chapman, Ross E Esq PROPOSAL15Elwin Sharvill
1039Adams X SaylorsFrance2024-05-09Rangoni Of Florence NEGOTIATION19Stephen Shaw
1040Munro M PaprockiGermany2024-05-11Dorl, James J Esq NEGOTIATION96Stephen Shaw
1041Rodrigues D CaldareraFrance2024-05-11Truhlar And Truhlar Attys PROPOSAL37Bernardo Dominic
1042Rodrigues O WhobreyIndia2024-05-04Truhlar And Truhlar Attys QUALIFIED35Asiya Javayant
1043Emily T OldroydAustralia2024-05-19Truhlar And Truhlar Attys PROPOSAL80Asiya Javayant
1044David Q TollnerGermany2024-05-18Chemel, James L Cpa UNQUALIFIED57Asiya Javayant
1045Alejandro N PaprockiJapan2024-05-11Dorl, James J Esq NEGOTIATION87Ioni Bowcher
1046Nicolas O MaletArgentina2024-05-15Dorl, James J Esq UNQUALIFIED4Stephen Shaw
1047Leon P MorascaRussia2024-05-14King, Christopher A Esq NEW70Anna Fali
1048Rodrigues T OstroskySpain2024-04-25Truhlar And Truhlar Attys NEW72Xuxue Feng
1049Cody D PaprockiItaly2024-05-24Buckley Miller Wright QUALIFIED43Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Jones N GarufiAustraliaXuxue Feng QUALIFIED
Stacey A AlbaresFranceIvan Magalhaes PROPOSAL
Aika S BriddickItalyAnna Fali PROPOSAL
Chavez O CampainGermanyElwin Sharvill RENEWAL
Greenwood Z DoeIndiaAsiya Javayant RENEWAL
Chavez V CaudyGermanyBernardo Dominic PROPOSAL
Faith N FlosiUnited KingdomBernardo Dominic NEGOTIATION
Antonio O VocelkaIndiaAnna Fali UNQUALIFIED
Jones N OldroydArgentinaOnyama Limba RENEWAL
Morrow S TollnerBrazilXuxue Feng NEW
Darci A KuskoRussiaXuxue Feng NEW
Silvio R AmigonArgentinaOnyama Limba RENEWAL
Silvio S SlusarskiJapanElwin Sharvill PROPOSAL
Jones E MacleadAustraliaStephen Shaw UNQUALIFIED
Chavez G CampainBrazilIvan Magalhaes RENEWAL
Smith Y TollnerArgentinaElwin Sharvill UNQUALIFIED
Silvio L ButtIndiaAmy Elsner PROPOSAL
Munro T GillianGermanyAmy Elsner NEW
Deepesh C BriddickBrazilIvan Magalhaes PROPOSAL
Leon Z FollerIndiaElwin Sharvill NEW
Sinclair W MacleadUnited KingdomAsiya Javayant NEGOTIATION
Jennifer S DoeBrazilOnyama Limba PROPOSAL
Silvio Q ShinkoRussiaIoni Bowcher RENEWAL
Greenwood X PerinGermanyXuxue Feng RENEWAL
Izzy H OldroydBrazilOnyama Limba NEGOTIATION
Misaki W WieserJapanIvan Magalhaes NEGOTIATION
Smith Z FerenczUnited KingdomAmy Elsner PROPOSAL
Tony C StensethCanadaXuxue Feng QUALIFIED
Faith P DarakjyUnited KingdomStephen Shaw QUALIFIED
Morrow K NestleFranceAnna Fali NEGOTIATION
Octavia F GauchoSpainAmy Elsner NEGOTIATION
David T StensethGermanyOnyama Limba UNQUALIFIED
Francesco V CampainSpainXuxue Feng UNQUALIFIED
Johnson X FigeroaArgentinaBernardo Dominic NEW
Jones Q FlosiAustraliaBernardo Dominic NEW
Kadeem X ButtAustraliaOnyama Limba PROPOSAL
Kadeem Q PoquetteBrazilElwin Sharvill RENEWAL
Faith A BologniaAustraliaIoni Bowcher NEW
Leja P GauchoRussiaIvan Magalhaes RENEWAL
Jefferson B VocelkaAustraliaAmy Elsner RENEWAL
Antonio H ShinkoJapanElwin Sharvill UNQUALIFIED
Adams U StockhamCanadaAsiya Javayant RENEWAL
Alejandro E DilliardAustraliaAmy Elsner RENEWAL
Jefferson O PoquetteArgentinaStephen Shaw UNQUALIFIED
Jefferson D FerenczFranceBernardo Dominic NEGOTIATION
Mayumi J OstroskyUnited KingdomOnyama Limba NEW
Aika T FlosiUnited KingdomAsiya Javayant RENEWAL
Octavia Y MaletUnited KingdomIoni Bowcher QUALIFIED
Emily X IturbideAustraliaAmy Elsner RENEWAL
Salvatore J BriddickItalyStephen Shaw NEGOTIATION
Frozen Columns
Name
Nicolas X Nicka
James D Gaucho
Jeanfrancois V Malet
Izzy L Nestle
Aruna N Marrier
James X Rulapaugh
Francesco N Dilliard
Antonio P Butt
Julie Y Bowley
Silvio K Sergi
Sinclair V Amigon
Isabel E Rulapaugh
Clifford X Sergi
Faith K Ferencz
Arvin L Briddick
Munro Q Maclead
Jeanfrancois Q Stenseth
Misaki W Oldroyd
Ivar O Maclead
Tony D Butt
Sinclair X Schemmer
Octavia Y Saylors
Stacey I Dilliard
Nicolas H Bowley
Costa V Inouye
Octavia F Briddick
Aika T Perin
Izzy N Oldroyd
Ivar S Gaucho
Salvatore Q Sergi
Mayumi U Ruta
Smith L Iturbide
Clifford U Glick
Juan F Bolognia
Nicolas Z Whobrey
Leon W Royster
Isabel G Dilliard
Silvio M Malet
Ashley V Garufi
Mujtaba Y Gaucho
Stacey N Chui
Claire O Marrier
Salvatore G Morasca
Clifford C Ferencz
Cody C Glick
Jones W Stenseth
Smith K Stockham
Nicolas A Schemmer
Leja H Kolmetz
Izzy X Flosi
IdCountryDate
1000Germany2024-05-20
1001Brazil2024-05-02
1002United Kingdom2024-05-06
1003Argentina2024-05-12
1004Canada2024-05-18
1005Canada2024-05-04
1006Australia2024-05-04
1007Canada2024-05-13
1008United Kingdom2024-05-12
1009Russia2024-05-24
1010Spain2024-05-03
1011India2024-05-11
1012Russia2024-04-28
1013India2024-04-27
1014Australia2024-04-30
1015Germany2024-05-12
1016Australia2024-05-13
1017India2024-05-22
1018Japan2024-05-12
1019Australia2024-05-24
1020France2024-05-24
1021Spain2024-05-05
1022France2024-04-29
1023Canada2024-05-23
1024India2024-05-09
1025Brazil2024-04-30
1026Japan2024-05-09
1027Argentina2024-05-09
1028Japan2024-05-21
1029France2024-05-15
1030Italy2024-05-10
1031Brazil2024-05-03
1032Germany2024-05-03
1033Germany2024-05-13
1034Russia2024-05-08
1035United Kingdom2024-05-11
1036France2024-04-26
1037Italy2024-05-06
1038Italy2024-05-14
1039Spain2024-05-10
1040Canada2024-05-04
1041Japan2024-05-09
1042Argentina2024-05-13
1043Japan2024-05-09
1044Japan2024-05-06
1045United Kingdom2024-05-13
1046Canada2024-05-02
1047Russia2024-05-04
1048Australia2024-05-22
1049Russia2024-04-28

On-Demand Data

NameIdCountryDate
Aruna E Foller1000Canada2024-05-12
Greenwood J Perin1001Spain2024-05-02
Rodrigues C Ruta1002Canada2024-05-12
Maria R Bolognia1003Russia2024-05-07
Costa T Flosi1004Brazil2024-04-27
Mayumi A Chui1005Spain2024-05-06
Misaki L Stenseth1006Canada2024-05-13
Isabel J Whobrey1007India2024-04-29
Mujtaba X Briddick1008Spain2024-05-20
Alejandro N Ferencz1009Germany2024-05-19
Chavez X Campain1010Russia2024-05-09
Antonio Z Glick1011Canada2024-05-05
Jennifer P Malet1012India2024-05-09
Arvin L Darakjy1013Russia2024-05-01
Ricardo J Doe1014Russia2024-05-18
Jeanfrancois T Wieser1015India2024-05-08
Kadeem R Glick1016Australia2024-05-22
Murillo F Sergi1017Germany2024-05-22
Antonio S Caldarera1018Italy2024-05-16
Tony G Doe1019India2024-05-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja S SchemmerGermanyXuxue Feng QUALIFIED
Aditya F OldroydBrazilIoni Bowcher NEW
Ivar E TollnerItalyAmy Elsner UNQUALIFIED
Emily P MaletCanadaOnyama Limba UNQUALIFIED
Arvin F PoquetteItalyAnna Fali PROPOSAL
Tony Z GarufiArgentinaAnna Fali PROPOSAL
Izzy P ButtAustraliaIvan Magalhaes PROPOSAL
Greenwood Y GarufiIndiaIvan Magalhaes PROPOSAL
Morrow P CaudyBrazilIoni Bowcher NEW
Kaitlin T StockhamRussiaAnna Fali NEW
Silvio L PoquetteItalyIvan Magalhaes NEGOTIATION
Francesco U FlosiIndiaAmy Elsner QUALIFIED
Mayumi G PerinItalyOnyama Limba RENEWAL
Salvatore A GarufiGermanyAnna Fali PROPOSAL
Arvin Z ButtJapanBernardo Dominic UNQUALIFIED
Mujtaba H AmigonGermanyAsiya Javayant NEGOTIATION
Smith L StensethItalyXuxue Feng PROPOSAL
Rodrigues X KuskoRussiaAmy Elsner NEGOTIATION
Jeanfrancois M PoquetteIndiaAnna Fali UNQUALIFIED
Kadeem U GlickAustraliaStephen Shaw NEGOTIATION
Wickens C ShinkoRussiaOnyama Limba NEW
Jones T GlickIndiaAsiya Javayant RENEWAL
Deepesh D FigeroaUnited KingdomIoni Bowcher QUALIFIED
Jennifer I CaudyUnited KingdomXuxue Feng RENEWAL
Salvatore Z FerenczFranceAmy Elsner PROPOSAL
Ricardo B WhobreyItalyElwin Sharvill NEGOTIATION
Kadeem U FerenczFranceXuxue Feng NEGOTIATION
Antonio S StockhamJapanStephen Shaw NEW
Darci S PerinBrazilOnyama Limba NEW
Jefferson S ChuiArgentinaAnna Fali RENEWAL
Juan A GarufiSpainIoni Bowcher QUALIFIED
Leja C NickaRussiaAmy Elsner NEW
Jennifer H CaudyIndiaOnyama Limba PROPOSAL
Chavez C CaldareraGermanyBernardo Dominic RENEWAL
James D OldroydRussiaAmy Elsner QUALIFIED
Aika J CaudySpainElwin Sharvill QUALIFIED
Aruna I RimUnited KingdomIvan Magalhaes PROPOSAL
Faith B BologniaJapanAnna Fali NEW
Alejandro R GarufiItalyXuxue Feng RENEWAL
Jones K VenereAustraliaIvan Magalhaes QUALIFIED

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