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
Claire K MarrierItalyIoni Bowcher PROPOSAL
Jefferson Z FigeroaCanadaBernardo Dominic QUALIFIED
Morrow G SergiArgentinaIoni Bowcher RENEWAL
Leja V StockhamAustraliaAsiya Javayant RENEWAL
Misaki D KolmetzSpainOnyama Limba UNQUALIFIED
Faith S DilliardGermanyElwin Sharvill NEW
Tony L ChuiRussiaBernardo Dominic QUALIFIED
Maria E MacleadRussiaAnna Fali UNQUALIFIED
Ashley Z ChuiRussiaStephen Shaw NEW
Salvatore O FerenczAustraliaAsiya Javayant QUALIFIED
Jefferson G KolmetzFranceXuxue Feng NEGOTIATION
Deepesh S BowleyAustraliaStephen Shaw NEW
Jennifer N RoysterArgentinaXuxue Feng PROPOSAL
David T BowleyRussiaStephen Shaw QUALIFIED
Stacey J BriddickUnited KingdomElwin Sharvill PROPOSAL
Julie T RoysterBrazilIvan Magalhaes NEW
James G RutaAustraliaElwin Sharvill RENEWAL
Munro L FigeroaJapanOnyama Limba PROPOSAL
Leon Y FerenczAustraliaOnyama Limba PROPOSAL
Julie E MorascaUnited KingdomStephen Shaw QUALIFIED
Wickens Q KolmetzFranceElwin Sharvill UNQUALIFIED
Salvatore N AmigonGermanyOnyama Limba NEW
Isabel T ShinkoIndiaIvan Magalhaes UNQUALIFIED
Emily C AmigonCanadaElwin Sharvill NEW
Smith B ShinkoRussiaStephen Shaw RENEWAL
Maisha N PoquetteBrazilElwin Sharvill QUALIFIED
Claire B AmigonItalyOnyama Limba NEGOTIATION
Aika F FigeroaGermanyXuxue Feng NEGOTIATION
Darci Y InouyeArgentinaIoni Bowcher NEW
Murillo Z MaletFranceAnna Fali NEW
Francesco C TollnerBrazilXuxue Feng UNQUALIFIED
Greenwood I FerenczFranceStephen Shaw UNQUALIFIED
Emily V RimJapanAnna Fali UNQUALIFIED
Maisha G FerenczArgentinaAmy Elsner UNQUALIFIED
Smith G ChuiUnited KingdomStephen Shaw NEGOTIATION
Maisha F RutaGermanyXuxue Feng QUALIFIED
Tony M MacleadItalyIvan Magalhaes NEW
Jennifer M SaylorsGermanyStephen Shaw RENEWAL
Darci M WhobreyIndiaElwin Sharvill PROPOSAL
Silvio J DoeAustraliaAsiya Javayant UNQUALIFIED
James R MaletItalyXuxue Feng NEW
Jennifer T SlusarskiBrazilXuxue Feng NEGOTIATION
Johnson M SchemmerAustraliaAnna Fali UNQUALIFIED
James W CampainAustraliaStephen Shaw RENEWAL
Alejandro Z ButtCanadaXuxue Feng NEW
Ashley J WieserItalyXuxue Feng NEW
Claire A VocelkaAustraliaIvan Magalhaes UNQUALIFIED
Clifford Z NestleJapanIvan Magalhaes QUALIFIED
Clifford P MorascaGermanyStephen Shaw NEW
Tony B SergiUnited KingdomXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Claire D WhobreyUnited KingdomIvan Magalhaes QUALIFIED
Rodrigues Y MaletGermanyAsiya Javayant QUALIFIED
Mayumi Y WaycottUnited KingdomAmy Elsner PROPOSAL
Costa D GlickBrazilElwin Sharvill NEW
Francesco Q OldroydCanadaXuxue Feng RENEWAL
Ivar G ButtItalyIvan Magalhaes QUALIFIED
Ashley H GauchoItalyElwin Sharvill NEGOTIATION
Jeanfrancois P BologniaSpainElwin Sharvill QUALIFIED
Costa V GillianAustraliaStephen Shaw RENEWAL
Faith J KolmetzUnited KingdomOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin F KuskoJapan2025-04-25Buckley Miller Wright NEW87Amy Elsner
1001Mayumi P RutaArgentina2025-04-15King, Christopher A Esq UNQUALIFIED41Bernardo Dominic
1002James L CaudyBrazil2025-04-04Benton, John B Jr RENEWAL36Amy Elsner
1003Chavez O TollnerItaly2025-04-14Truhlar And Truhlar Attys UNQUALIFIED80Amy Elsner
1004Ashley H SchemmerIndia2025-04-28Chemel, James L Cpa NEW77Elwin Sharvill
1005Greenwood O FlosiGermany2025-04-28Feiner Bros NEW11Amy Elsner
1006David K NickaRussia2025-04-29Chapman, Ross E Esq UNQUALIFIED62Onyama Limba
1007Antonio H MorascaItaly2025-04-03Chapman, Ross E Esq PROPOSAL96Anna Fali
1008Adams E MorascaSpain2025-04-12Feltz Printing Service NEW92Stephen Shaw
1009Jones S RoysterGermany2025-04-06Printing Dimensions PROPOSAL64Bernardo Dominic
1010Kadeem J PerinBrazil2025-04-02Feiner Bros NEW52Asiya Javayant
1011Greenwood O CaldareraCanada2025-04-30Chanay, Jeffrey A Esq NEW18Amy Elsner
1012Greenwood O MorascaItaly2025-04-18Buckley Miller Wright NEGOTIATION48Ioni Bowcher
1013Aruna Z FerenczUnited Kingdom2025-04-27Buckley Miller Wright NEGOTIATION71Asiya Javayant
1014Darci O ShinkoRussia2025-04-16Benton, John B Jr PROPOSAL80Asiya Javayant
1015Octavia R StensethCanada2025-04-14Benton, John B Jr NEW19Ioni Bowcher
1016Smith L SlusarskiJapan2025-04-03Benton, John B Jr QUALIFIED9Ioni Bowcher
1017Ashley D BologniaItaly2025-04-01Dorl, James J Esq UNQUALIFIED48Stephen Shaw
1018Alejandro R DoeArgentina2025-04-12Chanay, Jeffrey A Esq NEGOTIATION47Onyama Limba
1019Julie O DilliardItaly2025-04-13Rousseaux, Michael Esq RENEWAL68Stephen Shaw
1020Clifford E RoysterFrance2025-04-18Feltz Printing Service RENEWAL85Ivan Magalhaes
1021Antonio S GlickJapan2025-04-15Rousseaux, Michael Esq UNQUALIFIED14Amy Elsner
1022Clifford D IturbideFrance2025-04-07Benton, John B Jr RENEWAL97Stephen Shaw
1023Murillo G PoquetteBrazil2025-04-05Printing Dimensions UNQUALIFIED90Anna Fali
1024Salvatore Z BologniaCanada2025-04-07Buckley Miller Wright UNQUALIFIED2Bernardo Dominic
1025Morrow I GauchoIndia2025-04-24Chanay, Jeffrey A Esq NEW62Onyama Limba
1026Stacey D StockhamUnited Kingdom2025-04-14Chapman, Ross E Esq NEGOTIATION12Ioni Bowcher
1027Octavia D KuskoJapan2025-04-08Feiner Bros QUALIFIED80Bernardo Dominic
1028Faith O NickaAustralia2025-04-14Morlong Associates RENEWAL48Stephen Shaw
1029Leon M StockhamFrance2025-04-23Benton, John B Jr RENEWAL72Asiya Javayant
1030Izzy L BriddickIndia2025-04-30Chemel, James L Cpa RENEWAL60Amy Elsner
1031Isabel J DoeItaly2025-04-19Morlong Associates QUALIFIED16Ivan Magalhaes
1032Darci H SaylorsBrazil2025-04-21Truhlar And Truhlar Attys PROPOSAL30Bernardo Dominic
1033Francesco O DoeFrance2025-04-17Printing Dimensions PROPOSAL52Bernardo Dominic
1034Aika G AlbaresArgentina2025-04-25Chemel, James L Cpa NEGOTIATION68Amy Elsner
1035Costa Y InouyeItaly2025-04-03Printing Dimensions PROPOSAL71Ioni Bowcher
1036Mayumi K BologniaJapan2025-04-19Chemel, James L Cpa RENEWAL87Xuxue Feng
1037Octavia A SchemmerUnited Kingdom2025-04-23Chapman, Ross E Esq QUALIFIED87Stephen Shaw
1038Francesco G FerenczArgentina2025-04-25Feiner Bros UNQUALIFIED56Stephen Shaw
1039Chavez E VenereFrance2025-04-12Buckley Miller Wright QUALIFIED26Onyama Limba
1040Adams T NestleCanada2025-04-03Chapman, Ross E Esq NEGOTIATION67Anna Fali
1041Rodrigues Q WhobreyJapan2025-04-29Rangoni Of Florence RENEWAL39Elwin Sharvill
1042Leon O SlusarskiFrance2025-04-21Buckley Miller Wright NEGOTIATION60Bernardo Dominic
1043Leon H MacleadItaly2025-04-08Chanay, Jeffrey A Esq QUALIFIED5Bernardo Dominic
1044Cody U DoeCanada2025-04-04Commercial Press QUALIFIED14Xuxue Feng
1045Juan N CaudySpain2025-04-10Chapman, Ross E Esq UNQUALIFIED46Elwin Sharvill
1046Aika E KolmetzGermany2025-04-16Chapman, Ross E Esq PROPOSAL21Anna Fali
1047Smith E MorascaItaly2025-04-07Dorl, James J Esq RENEWAL20Asiya Javayant
1048Mayumi C SlusarskiAustralia2025-04-15Benton, John B Jr UNQUALIFIED28Amy Elsner
1049Jeanfrancois A PaprockiFrance2025-04-17Truhlar And Truhlar Attys NEGOTIATION9Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Morrow U OldroydSpainIoni Bowcher PROPOSAL
Munro Y WhobreyRussiaIvan Magalhaes NEW
Faith E VenereUnited KingdomBernardo Dominic NEGOTIATION
Maria P TollnerAustraliaAnna Fali QUALIFIED
Greenwood B CampainCanadaBernardo Dominic PROPOSAL
Ashley C PaprockiRussiaXuxue Feng RENEWAL
Darci K WieserJapanAmy Elsner RENEWAL
Cody E CampainAustraliaXuxue Feng RENEWAL
Alejandro D FollerArgentinaIvan Magalhaes UNQUALIFIED
Jones W DoeGermanyAmy Elsner PROPOSAL
James V BowleyArgentinaAsiya Javayant UNQUALIFIED
Francesco H CaudyRussiaAmy Elsner RENEWAL
Sinclair R PoquetteUnited KingdomStephen Shaw RENEWAL
Salvatore J CampainFranceIoni Bowcher QUALIFIED
Clifford T BowleyJapanAnna Fali QUALIFIED
Misaki G DarakjyBrazilAmy Elsner UNQUALIFIED
Nicolas O RutaItalyXuxue Feng PROPOSAL
Stacey S PerinSpainXuxue Feng UNQUALIFIED
Arvin C StockhamJapanBernardo Dominic UNQUALIFIED
Murillo L OldroydAustraliaElwin Sharvill UNQUALIFIED
Julie B DoeSpainAmy Elsner PROPOSAL
Jennifer F WieserFranceIvan Magalhaes RENEWAL
Maria L MaletArgentinaElwin Sharvill NEW
Stacey T BriddickItalyStephen Shaw PROPOSAL
Wickens F FollerUnited KingdomStephen Shaw NEW
Wickens C PaprockiBrazilAsiya Javayant QUALIFIED
Smith R SlusarskiItalyElwin Sharvill QUALIFIED
Ricardo S RimIndiaXuxue Feng NEGOTIATION
Costa P MarrierSpainStephen Shaw NEGOTIATION
Izzy Y NickaCanadaIoni Bowcher UNQUALIFIED
Ivar C GauchoGermanyElwin Sharvill RENEWAL
Claire U GillianSpainAsiya Javayant NEW
Chavez L AlbaresFranceOnyama Limba NEGOTIATION
Costa Y FollerUnited KingdomIvan Magalhaes QUALIFIED
Octavia W RutaJapanElwin Sharvill NEW
Aruna P PoquetteArgentinaStephen Shaw PROPOSAL
Jones S NestleArgentinaAsiya Javayant PROPOSAL
Costa S OstroskyGermanyAsiya Javayant NEGOTIATION
Tony A GlickRussiaBernardo Dominic QUALIFIED
Jefferson T PerinAustraliaXuxue Feng QUALIFIED
Arvin Y SaylorsArgentinaAmy Elsner QUALIFIED
Silvio F IturbideUnited KingdomElwin Sharvill NEGOTIATION
Leon U BriddickSpainOnyama Limba RENEWAL
Clifford C FollerCanadaStephen Shaw NEGOTIATION
Kadeem A PoquetteFranceElwin Sharvill UNQUALIFIED
Mayumi V GillianJapanXuxue Feng NEGOTIATION
James Z KolmetzFranceXuxue Feng NEW
Emily D DoeUnited KingdomElwin Sharvill NEGOTIATION
Ivar Z StensethRussiaOnyama Limba RENEWAL
Ricardo H PerinCanadaBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Mayumi Y Schemmer
Salvatore G Maclead
Greenwood Z Ferencz
Claire E Oldroyd
Deepesh E Perin
Francesco G Royster
Mayumi Y Glick
Octavia B Darakjy
Jeanfrancois E Nicka
Mayumi J Malet
Kadeem D Waycott
Stacey W Flosi
Jeanfrancois G Campain
Kaitlin J Poquette
Rodrigues U Gaucho
Aika D Iturbide
James P Flosi
Aika K Tollner
Aditya K Flosi
Jefferson B Malet
Munro P Figeroa
Tony L Poquette
Izzy W Nicka
Isabel V Dilliard
Cody H Venere
Jones Z Rim
Jones W Stenseth
Aruna Q Rulapaugh
Munro P Dilliard
Chavez H Ostrosky
Darci W Bolognia
Maria Z Inouye
Adams A Iturbide
Ivar Y Stenseth
Aruna F Bolognia
Costa C Garufi
Maria K Waycott
David C Iturbide
Munro S Marrier
Izzy A Garufi
Izzy D Albares
David G Ferencz
Tony B Paprocki
Alejandro A Darakjy
Ashley G Stockham
Morrow U Royster
Claire J Tollner
Misaki D Doe
Ricardo K Rulapaugh
Aika E Garufi
IdCountryDate
1000Italy2025-04-23
1001Spain2025-04-26
1002Australia2025-04-14
1003Canada2025-04-08
1004Australia2025-04-13
1005Italy2025-04-29
1006Germany2025-04-23
1007Spain2025-04-13
1008Australia2025-04-24
1009India2025-04-01
1010Russia2025-04-13
1011United Kingdom2025-04-30
1012United Kingdom2025-04-27
1013Spain2025-04-15
1014Canada2025-04-07
1015United Kingdom2025-04-16
1016Canada2025-04-12
1017France2025-04-28
1018Canada2025-04-04
1019Canada2025-04-13
1020India2025-04-05
1021Australia2025-04-23
1022Brazil2025-04-25
1023Argentina2025-04-10
1024United Kingdom2025-04-24
1025Italy2025-04-19
1026Brazil2025-04-06
1027Japan2025-04-26
1028Australia2025-04-20
1029Canada2025-04-09
1030Japan2025-04-02
1031India2025-04-12
1032Australia2025-04-03
1033Japan2025-04-25
1034Germany2025-04-17
1035Canada2025-04-01
1036Brazil2025-04-11
1037India2025-04-03
1038Germany2025-04-19
1039Spain2025-04-30
1040Brazil2025-04-18
1041United Kingdom2025-04-10
1042Australia2025-04-12
1043United Kingdom2025-04-28
1044Russia2025-04-30
1045Argentina2025-04-29
1046France2025-04-25
1047Russia2025-04-11
1048India2025-04-08
1049Spain2025-04-14

On-Demand Data

NameIdCountryDate
Faith U Slusarski1000Brazil2025-04-28
Stacey Z Amigon1001Germany2025-04-17
Maria B Maclead1002Australia2025-04-04
Silvio S Caudy1003Italy2025-04-14
Morrow B Saylors1004Italy2025-04-16
Ashley G Briddick1005Brazil2025-04-26
Maisha R Chui1006Russia2025-04-25
Salvatore S Chui1007Argentina2025-04-24
Stacey P Sergi1008Spain2025-04-25
Maria Y Chui1009Russia2025-04-12
Faith R Chui1010United Kingdom2025-04-02
Ivar J Malet1011Italy2025-04-04
Chavez W Maclead1012Australia2025-04-25
Murillo A Iturbide1013Spain2025-04-26
Murillo X Oldroyd1014Germany2025-04-24
Octavia V Waycott1015Germany2025-04-23
Antonio W Vocelka1016Japan2025-04-21
Morrow X Malet1017Argentina2025-04-01
Mujtaba H Kusko1018Italy2025-04-19
Costa N Morasca1019India2025-04-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia U SaylorsArgentinaBernardo Dominic NEW
Salvatore F GarufiBrazilIvan Magalhaes NEGOTIATION
Alejandro B GlickUnited KingdomIoni Bowcher QUALIFIED
Chavez Y StockhamUnited KingdomIoni Bowcher RENEWAL
Clifford C ButtRussiaXuxue Feng NEGOTIATION
Cody D MacleadItalyIvan Magalhaes UNQUALIFIED
Arvin Y RimJapanStephen Shaw NEGOTIATION
Maria N PerinRussiaStephen Shaw NEGOTIATION
Jeanfrancois E NickaSpainBernardo Dominic NEW
Rodrigues S DarakjyArgentinaOnyama Limba PROPOSAL
Silvio F SergiAustraliaAsiya Javayant NEGOTIATION
Faith J MaletItalyAmy Elsner NEW
Aditya Z DarakjyRussiaAnna Fali NEW
James F WieserRussiaStephen Shaw UNQUALIFIED
Ivar S SergiAustraliaStephen Shaw NEGOTIATION
Tony B BowleyRussiaIoni Bowcher PROPOSAL
Julie S IturbideItalyAnna Fali QUALIFIED
Jennifer O CampainArgentinaOnyama Limba PROPOSAL
Antonio W DoeGermanyStephen Shaw PROPOSAL
Julie G WhobreyFranceElwin Sharvill NEW
Ashley H MaletFranceAsiya Javayant UNQUALIFIED
Leja F AlbaresIndiaXuxue Feng NEGOTIATION
Ivar Z InouyeItalyAmy Elsner UNQUALIFIED
Claire B PoquetteRussiaOnyama Limba NEW
Sinclair A FigeroaUnited KingdomAnna Fali PROPOSAL
Clifford N ShinkoRussiaStephen Shaw PROPOSAL
Mayumi L BowleyRussiaElwin Sharvill UNQUALIFIED
Kaitlin O IturbideBrazilIoni Bowcher NEW
Darci L VocelkaFranceAsiya Javayant NEW
Juan H WhobreyUnited KingdomXuxue Feng NEGOTIATION
David K GauchoAustraliaOnyama Limba QUALIFIED
Johnson X StensethSpainAsiya Javayant QUALIFIED
Tony R RimAustraliaBernardo Dominic UNQUALIFIED
Juan G MacleadArgentinaIoni Bowcher UNQUALIFIED
Juan M BriddickItalyIoni Bowcher PROPOSAL
Leja Q RimBrazilOnyama Limba QUALIFIED
Octavia D RoysterItalyAmy Elsner PROPOSAL
Costa Q TollnerUnited KingdomOnyama Limba PROPOSAL
Kaitlin Q ChuiGermanyIoni Bowcher NEGOTIATION
Sinclair A BologniaGermanyStephen Shaw 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>