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
David H AlbaresBrazilBernardo Dominic UNQUALIFIED
Aruna B BologniaSpainBernardo Dominic UNQUALIFIED
Adams J RulapaughJapanIoni Bowcher NEGOTIATION
Stacey Y PoquetteFranceXuxue Feng PROPOSAL
Jones V GlickItalyIoni Bowcher NEGOTIATION
Octavia G VocelkaUnited KingdomElwin Sharvill PROPOSAL
Izzy Q StockhamAustraliaAnna Fali UNQUALIFIED
Maria X SaylorsIndiaXuxue Feng UNQUALIFIED
Alejandro I FollerBrazilXuxue Feng RENEWAL
Aika I NickaSpainXuxue Feng RENEWAL
Sinclair C OstroskyArgentinaStephen Shaw PROPOSAL
Johnson J FerenczSpainIvan Magalhaes NEGOTIATION
Leja T WaycottGermanyOnyama Limba NEW
Tony A SchemmerBrazilOnyama Limba PROPOSAL
Ivar F RoysterGermanyAnna Fali NEGOTIATION
Alejandro M WhobreyCanadaStephen Shaw QUALIFIED
Maria E SlusarskiUnited KingdomStephen Shaw RENEWAL
Jennifer E InouyeJapanAsiya Javayant QUALIFIED
Jones G BriddickFranceXuxue Feng NEW
Clifford S MacleadFranceStephen Shaw QUALIFIED
Francesco I KolmetzCanadaIvan Magalhaes PROPOSAL
Jennifer A RulapaughCanadaXuxue Feng RENEWAL
Aditya U VenereJapanBernardo Dominic QUALIFIED
Mayumi Y FigeroaBrazilBernardo Dominic NEGOTIATION
Jefferson P OldroydCanadaAsiya Javayant RENEWAL
Munro J BowleySpainIoni Bowcher QUALIFIED
Costa H IturbideBrazilIvan Magalhaes UNQUALIFIED
Rodrigues B GauchoIndiaBernardo Dominic UNQUALIFIED
Kaitlin J MaletGermanyStephen Shaw NEW
Deepesh D RulapaughIndiaAsiya Javayant RENEWAL
Leon A FerenczItalyIvan Magalhaes PROPOSAL
Julie F ButtGermanyElwin Sharvill PROPOSAL
Stacey K ShinkoArgentinaOnyama Limba UNQUALIFIED
Kaitlin Z MaletItalyStephen Shaw UNQUALIFIED
Maisha N CaldareraCanadaAmy Elsner PROPOSAL
Rodrigues X ChuiItalyOnyama Limba PROPOSAL
Costa Z PaprockiCanadaAmy Elsner NEGOTIATION
Jefferson F KolmetzIndiaStephen Shaw NEGOTIATION
Maisha U FlosiSpainElwin Sharvill QUALIFIED
Jennifer N GillianSpainStephen Shaw NEW
Aika U BowleyGermanyIvan Magalhaes RENEWAL
Smith A RimGermanyStephen Shaw UNQUALIFIED
Smith A ButtSpainBernardo Dominic PROPOSAL
Francesco N CaudyAustraliaIvan Magalhaes NEW
Jeanfrancois M MorascaRussiaElwin Sharvill RENEWAL
Izzy M InouyeFranceBernardo Dominic UNQUALIFIED
Francesco N MacleadGermanyBernardo Dominic NEGOTIATION
Ricardo R BriddickJapanBernardo Dominic RENEWAL
Cody G RoysterFranceAmy Elsner NEGOTIATION
Jeanfrancois V PerinSpainIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Greenwood N BowleyAustraliaStephen Shaw QUALIFIED
Johnson S SergiGermanyOnyama Limba NEW
Aruna K MaletJapanOnyama Limba NEGOTIATION
Johnson U StockhamRussiaAsiya Javayant UNQUALIFIED
Jefferson P MaletSpainAsiya Javayant NEGOTIATION
Alejandro B RimCanadaElwin Sharvill NEW
Tony G OstroskyUnited KingdomIoni Bowcher QUALIFIED
Nicolas H CaldareraCanadaIoni Bowcher NEW
Rodrigues D CaudyIndiaElwin Sharvill RENEWAL
David A GauchoBrazilIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon E SlusarskiIndia2026-08-14Chemel, James L Cpa UNQUALIFIED49Xuxue Feng
1001Stacey S InouyeAustralia2026-07-20Printing Dimensions UNQUALIFIED51Stephen Shaw
1002Tony J GarufiIndia2026-08-08Morlong Associates RENEWAL46Xuxue Feng
1003Stacey W FerenczGermany2026-08-02Dorl, James J Esq NEW8Bernardo Dominic
1004Rodrigues V StockhamAustralia2026-08-05Rangoni Of Florence UNQUALIFIED75Ivan Magalhaes
1005Jeanfrancois F ButtBrazil2026-07-27Truhlar And Truhlar Attys NEW93Xuxue Feng
1006Izzy B GlickBrazil2026-07-24Rangoni Of Florence NEGOTIATION32Amy Elsner
1007Francesco B AlbaresRussia2026-07-30Dorl, James J Esq NEGOTIATION41Xuxue Feng
1008Silvio I RimGermany2026-08-08Feltz Printing Service QUALIFIED34Elwin Sharvill
1009Kadeem P CaldareraIndia2026-07-20Morlong Associates PROPOSAL29Bernardo Dominic
1010Julie R VenereBrazil2026-07-27Benton, John B Jr PROPOSAL0Asiya Javayant
1011Leon T MacleadBrazil2026-08-10Rousseaux, Michael Esq NEGOTIATION42Ioni Bowcher
1012Ivar E SchemmerFrance2026-08-09Chapman, Ross E Esq NEGOTIATION84Bernardo Dominic
1013Kadeem G FlosiArgentina2026-07-28Chanay, Jeffrey A Esq RENEWAL59Onyama Limba
1014Chavez Q MacleadBrazil2026-07-27Rousseaux, Michael Esq NEGOTIATION14Ioni Bowcher
1015Maisha X FerenczItaly2026-08-05Buckley Miller Wright PROPOSAL56Elwin Sharvill
1016Chavez B BriddickIndia2026-08-15Feiner Bros PROPOSAL72Elwin Sharvill
1017Claire D VocelkaJapan2026-07-24Dorl, James J Esq QUALIFIED25Anna Fali
1018Jennifer Z RulapaughSpain2026-08-15King, Christopher A Esq UNQUALIFIED79Stephen Shaw
1019Stacey E OldroydIndia2026-08-03Chanay, Jeffrey A Esq UNQUALIFIED36Bernardo Dominic
1020Smith P InouyeGermany2026-07-27Rangoni Of Florence NEW43Amy Elsner
1021Sinclair R MarrierFrance2026-08-13Benton, John B Jr NEGOTIATION92Stephen Shaw
1022Kaitlin M BriddickFrance2026-08-09Rousseaux, Michael Esq NEGOTIATION44Xuxue Feng
1023Isabel Y RoysterIndia2026-08-14Chapman, Ross E Esq NEGOTIATION40Anna Fali
1024Wickens G GillianBrazil2026-08-07King, Christopher A Esq PROPOSAL83Xuxue Feng
1025Smith R GillianItaly2026-07-26Dorl, James J Esq PROPOSAL28Amy Elsner
1026Maisha K BologniaCanada2026-08-15Morlong Associates UNQUALIFIED49Bernardo Dominic
1027David N WhobreyFrance2026-08-08Printing Dimensions QUALIFIED44Ivan Magalhaes
1028Leja S FollerIndia2026-08-16Buckley Miller Wright NEW6Ioni Bowcher
1029Jennifer G BologniaFrance2026-07-23King, Christopher A Esq NEW42Stephen Shaw
1030Munro E FollerCanada2026-08-03King, Christopher A Esq RENEWAL67Bernardo Dominic
1031Aika B AlbaresGermany2026-08-01Commercial Press RENEWAL3Bernardo Dominic
1032Deepesh O FollerCanada2026-07-26Feiner Bros UNQUALIFIED23Elwin Sharvill
1033Arvin R CaldareraUnited Kingdom2026-07-29Chanay, Jeffrey A Esq PROPOSAL76Xuxue Feng
1034Cody R NestleSpain2026-07-29Benton, John B Jr UNQUALIFIED65Asiya Javayant
1035Stacey F MaletItaly2026-07-24Truhlar And Truhlar Attys PROPOSAL29Stephen Shaw
1036Deepesh P VenereRussia2026-07-26Chapman, Ross E Esq NEW3Anna Fali
1037Aruna I CaldareraBrazil2026-07-26Chemel, James L Cpa NEW96Ioni Bowcher
1038Deepesh V CampainFrance2026-07-28Printing Dimensions RENEWAL76Bernardo Dominic
1039Sinclair H BologniaArgentina2026-08-05Rangoni Of Florence RENEWAL3Amy Elsner
1040Emily N MarrierIndia2026-08-03Dorl, James J Esq RENEWAL92Amy Elsner
1041Deepesh P KuskoAustralia2026-07-23Rousseaux, Michael Esq PROPOSAL71Amy Elsner
1042Nicolas S GarufiSpain2026-07-30Feltz Printing Service RENEWAL13Onyama Limba
1043Stacey Q CaldareraIndia2026-08-15Chapman, Ross E Esq NEGOTIATION12Amy Elsner
1044Izzy Z StensethItaly2026-07-31Feltz Printing Service PROPOSAL15Asiya Javayant
1045Juan A PerinIndia2026-07-21Rangoni Of Florence RENEWAL4Xuxue Feng
1046Kaitlin E GarufiArgentina2026-07-25Truhlar And Truhlar Attys UNQUALIFIED87Onyama Limba
1047Emily W BologniaSpain2026-07-19Truhlar And Truhlar Attys NEGOTIATION91Xuxue Feng
1048Leon A ChuiJapan2026-07-31Chapman, Ross E Esq PROPOSAL1Bernardo Dominic
1049Isabel R VocelkaAustralia2026-08-07Dorl, James J Esq NEW39Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues W CaldareraCanadaXuxue Feng QUALIFIED
Cody E WaycottUnited KingdomAnna Fali PROPOSAL
Aditya S SlusarskiUnited KingdomIoni Bowcher UNQUALIFIED
Isabel C StensethItalyElwin Sharvill PROPOSAL
Rodrigues F DilliardSpainIvan Magalhaes UNQUALIFIED
Izzy N AlbaresArgentinaIvan Magalhaes NEW
Jeanfrancois S PerinSpainAsiya Javayant PROPOSAL
Leon Z ChuiItalyBernardo Dominic NEW
Maisha R SchemmerItalyXuxue Feng PROPOSAL
Mayumi P CaudyJapanAmy Elsner NEW
Cody G PerinBrazilBernardo Dominic NEGOTIATION
Jones O SaylorsAustraliaBernardo Dominic UNQUALIFIED
Kaitlin E NickaUnited KingdomStephen Shaw NEGOTIATION
Darci U RimGermanyBernardo Dominic UNQUALIFIED
Jefferson X WaycottCanadaXuxue Feng NEW
Misaki S PaprockiUnited KingdomAnna Fali NEGOTIATION
Leja L BriddickGermanyBernardo Dominic RENEWAL
Maisha U SaylorsGermanyIoni Bowcher NEW
Rodrigues Z GillianJapanIoni Bowcher NEGOTIATION
Clifford V MorascaRussiaBernardo Dominic UNQUALIFIED
Johnson E AmigonCanadaAmy Elsner NEGOTIATION
Leon O IturbideGermanyStephen Shaw UNQUALIFIED
Alejandro M NickaSpainBernardo Dominic RENEWAL
Aika Z WaycottJapanBernardo Dominic UNQUALIFIED
Darci W CaudyIndiaElwin Sharvill NEGOTIATION
Greenwood D BriddickArgentinaIoni Bowcher PROPOSAL
Chavez R RulapaughJapanAnna Fali NEW
Leon C GlickGermanyAsiya Javayant QUALIFIED
Chavez O NestleUnited KingdomAmy Elsner PROPOSAL
Mayumi Y ShinkoAustraliaAsiya Javayant NEGOTIATION
Rodrigues F PoquetteFranceXuxue Feng NEGOTIATION
Isabel P NickaIndiaAmy Elsner UNQUALIFIED
Izzy P KolmetzArgentinaStephen Shaw QUALIFIED
Claire K IturbideBrazilElwin Sharvill PROPOSAL
Izzy Z RulapaughIndiaOnyama Limba NEW
Aruna X OldroydRussiaIvan Magalhaes QUALIFIED
Octavia H GauchoFranceAnna Fali NEW
Clifford W FerenczSpainIvan Magalhaes QUALIFIED
Deepesh J InouyeBrazilAsiya Javayant RENEWAL
David O InouyeAustraliaOnyama Limba QUALIFIED
Silvio P DoeAustraliaOnyama Limba QUALIFIED
Darci F FerenczFranceXuxue Feng QUALIFIED
Leon L WaycottArgentinaIoni Bowcher RENEWAL
Wickens B BriddickFranceXuxue Feng PROPOSAL
Stacey Y GauchoCanadaAsiya Javayant QUALIFIED
Ricardo D PerinIndiaAnna Fali PROPOSAL
Kadeem S VenereCanadaAmy Elsner PROPOSAL
Morrow W NestleAustraliaIoni Bowcher RENEWAL
Juan U WhobreyBrazilAmy Elsner QUALIFIED
Wickens E StensethJapanXuxue Feng RENEWAL
Frozen Columns
Name
Isabel J Nicka
Jefferson M Paprocki
Rodrigues Y Malet
Cody K Dilliard
Julie G Campain
Smith X Chui
Greenwood Q Saylors
Adams F Foller
Mayumi B Malet
Julie I Doe
Cody E Ferencz
Claire Y Sergi
James D Venere
James A Whobrey
Izzy A Malet
Cody U Oldroyd
Kaitlin R Foller
Aruna X Schemmer
James B Sergi
Murillo E Nicka
Izzy O Wieser
Nicolas A Caudy
Francesco L Shinko
Rodrigues O Oldroyd
Salvatore Z Gaucho
David S Ferencz
Deepesh U Gaucho
Mujtaba Z Maclead
Munro U Gaucho
Mayumi Z Malet
Julie C Albares
Clifford G Malet
Wickens E Caldarera
Adams E Flosi
Johnson C Flosi
Arvin L Butt
Costa H Malet
Leon B Malet
Rodrigues T Shinko
James Y Rulapaugh
Jeanfrancois J Paprocki
Octavia Z Saylors
Rodrigues T Venere
Maria Y Campain
Faith E Caudy
Emily T Stockham
Octavia E Nestle
Faith A Inouye
Aruna S Venere
Ivar N Flosi
IdCountryDate
1000Germany2026-08-04
1001France2026-07-29
1002United Kingdom2026-07-25
1003India2026-08-01
1004Brazil2026-07-25
1005Argentina2026-07-19
1006United Kingdom2026-07-29
1007Spain2026-07-24
1008Argentina2026-07-24
1009Spain2026-07-30
1010France2026-07-27
1011France2026-08-11
1012Canada2026-07-29
1013France2026-08-03
1014Italy2026-07-22
1015Argentina2026-08-16
1016Spain2026-08-13
1017Australia2026-07-21
1018Spain2026-08-01
1019Germany2026-07-20
1020Germany2026-07-24
1021Spain2026-08-13
1022India2026-07-28
1023Russia2026-07-25
1024Canada2026-07-29
1025Italy2026-08-11
1026Canada2026-08-13
1027Brazil2026-07-24
1028United Kingdom2026-07-18
1029India2026-07-30
1030Brazil2026-08-11
1031Germany2026-07-23
1032Argentina2026-08-04
1033Japan2026-07-31
1034Japan2026-07-24
1035France2026-08-11
1036Canada2026-07-26
1037Canada2026-08-15
1038Argentina2026-07-31
1039Brazil2026-07-21
1040Australia2026-07-30
1041United Kingdom2026-07-27
1042France2026-07-23
1043Brazil2026-07-28
1044Japan2026-07-24
1045Argentina2026-08-08
1046Brazil2026-07-23
1047Russia2026-07-23
1048France2026-08-13
1049Australia2026-07-23

On-Demand Data

NameIdCountryDate
Leja S Perin1000Italy2026-07-30
Silvio G Malet1001India2026-08-16
Johnson N Inouye1002India2026-08-01
Jennifer X Chui1003Brazil2026-07-20
Misaki W Gaucho1004Argentina2026-08-09
Isabel U Ferencz1005Brazil2026-08-11
Juan Y Saylors1006Germany2026-08-15
Misaki V Rulapaugh1007Russia2026-08-10
Jones K Maclead1008Russia2026-08-01
Smith P Bowley1009Canada2026-08-10
Murillo P Venere1010Argentina2026-08-03
Mujtaba V Nicka1011Germany2026-08-05
Stacey Y Malet1012India2026-07-19
Isabel A Briddick1013Canada2026-08-13
Claire K Malet1014Spain2026-07-22
Julie T Sergi1015France2026-08-07
Kaitlin L Chui1016Russia2026-08-15
Morrow L Figeroa1017United Kingdom2026-08-11
Arvin Y Foller1018Germany2026-08-09
Deepesh L Dilliard1019Argentina2026-08-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria U ShinkoSpainBernardo Dominic NEW
Aika O KolmetzBrazilAsiya Javayant NEGOTIATION
Salvatore L PerinCanadaOnyama Limba NEGOTIATION
Leon P MaletUnited KingdomAnna Fali NEGOTIATION
Costa L KolmetzArgentinaOnyama Limba NEGOTIATION
Morrow M WieserIndiaIvan Magalhaes NEGOTIATION
Arvin F WaycottAustraliaElwin Sharvill QUALIFIED
Deepesh T RimJapanBernardo Dominic QUALIFIED
Tony G FollerCanadaElwin Sharvill QUALIFIED
Faith S AmigonBrazilStephen Shaw NEW
Misaki Q CaudyCanadaElwin Sharvill UNQUALIFIED
Claire V FlosiIndiaIvan Magalhaes RENEWAL
Greenwood J RulapaughUnited KingdomAsiya Javayant QUALIFIED
Costa E FigeroaJapanOnyama Limba PROPOSAL
Greenwood N AmigonFranceIvan Magalhaes NEW
Kaitlin O KolmetzSpainElwin Sharvill RENEWAL
James E VocelkaJapanXuxue Feng NEGOTIATION
Munro O TollnerArgentinaIoni Bowcher UNQUALIFIED
Arvin E GauchoSpainAsiya Javayant PROPOSAL
Jeanfrancois K OstroskyIndiaXuxue Feng QUALIFIED
Chavez O MaletIndiaXuxue Feng RENEWAL
Kadeem E VocelkaUnited KingdomIvan Magalhaes UNQUALIFIED
Emily W IturbideIndiaIoni Bowcher RENEWAL
Nicolas T RulapaughSpainBernardo Dominic NEGOTIATION
Tony M OldroydAustraliaAnna Fali UNQUALIFIED
Darci D WaycottFranceStephen Shaw QUALIFIED
Munro S StensethBrazilOnyama Limba QUALIFIED
Aditya D WhobreyBrazilElwin Sharvill QUALIFIED
Faith O DoeJapanStephen Shaw NEGOTIATION
Aruna T KuskoUnited KingdomIoni Bowcher NEW
Stacey T GlickSpainOnyama Limba RENEWAL
Johnson S DarakjyBrazilBernardo Dominic UNQUALIFIED
Izzy H GauchoIndiaElwin Sharvill RENEWAL
Alejandro S MaletItalyIoni Bowcher PROPOSAL
Misaki F CampainIndiaOnyama Limba QUALIFIED
Aruna V BologniaUnited KingdomBernardo Dominic QUALIFIED
Francesco O GillianSpainIoni Bowcher NEGOTIATION
Munro G RimGermanyOnyama Limba NEW
Ashley P RimSpainIvan Magalhaes NEGOTIATION
Greenwood J SchemmerUnited KingdomElwin Sharvill 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>