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
Faith U TollnerIndiaAnna Fali RENEWAL
Jennifer N MaletFranceStephen Shaw PROPOSAL
Mayumi Y InouyeJapanXuxue Feng NEW
Jefferson M KolmetzItalyAnna Fali QUALIFIED
Francesco O GauchoBrazilBernardo Dominic QUALIFIED
Clifford F FerenczFranceAnna Fali NEW
Greenwood S GlickUnited KingdomBernardo Dominic NEW
Jefferson L MaletFranceAnna Fali NEW
Nicolas G FigeroaBrazilAsiya Javayant NEGOTIATION
Smith V CaldareraSpainAmy Elsner RENEWAL
Mujtaba T TollnerRussiaAsiya Javayant PROPOSAL
Misaki G StensethArgentinaIoni Bowcher UNQUALIFIED
Izzy J NickaArgentinaAmy Elsner NEW
Maisha J SchemmerGermanyIoni Bowcher QUALIFIED
Leon Q SlusarskiIndiaStephen Shaw NEGOTIATION
Wickens C FollerAustraliaIoni Bowcher UNQUALIFIED
Smith Z GlickCanadaAnna Fali PROPOSAL
Costa S StockhamCanadaOnyama Limba RENEWAL
Sinclair Q BowleyBrazilStephen Shaw PROPOSAL
Greenwood C PerinGermanyIvan Magalhaes PROPOSAL
Kaitlin U KuskoJapanStephen Shaw NEGOTIATION
Jones K CampainRussiaAnna Fali UNQUALIFIED
Misaki T GauchoFranceAnna Fali NEW
Ashley X MaletAustraliaElwin Sharvill QUALIFIED
Adams R MorascaSpainIvan Magalhaes QUALIFIED
Jefferson D MarrierBrazilIvan Magalhaes QUALIFIED
Aika C FerenczBrazilBernardo Dominic UNQUALIFIED
Jones U TollnerRussiaStephen Shaw QUALIFIED
Leja E SlusarskiCanadaElwin Sharvill NEGOTIATION
Kadeem I NestleArgentinaStephen Shaw UNQUALIFIED
Jennifer A InouyeIndiaElwin Sharvill RENEWAL
Cody D StockhamAustraliaXuxue Feng RENEWAL
Ricardo V RimIndiaXuxue Feng QUALIFIED
Mayumi S MaletBrazilBernardo Dominic PROPOSAL
Claire G PerinCanadaAsiya Javayant PROPOSAL
David G CampainItalyIoni Bowcher NEGOTIATION
Munro X PoquetteArgentinaElwin Sharvill NEW
Tony Y KuskoUnited KingdomAnna Fali NEGOTIATION
Deepesh V GarufiAustraliaStephen Shaw RENEWAL
Juan G CaudyRussiaAnna Fali RENEWAL
Mayumi K StockhamRussiaStephen Shaw RENEWAL
Arvin W MarrierFranceAnna Fali RENEWAL
Greenwood J BriddickJapanAnna Fali NEGOTIATION
Murillo A SchemmerCanadaAmy Elsner UNQUALIFIED
Clifford Q OstroskyUnited KingdomIoni Bowcher RENEWAL
Claire D AlbaresRussiaBernardo Dominic PROPOSAL
Octavia H PerinUnited KingdomAnna Fali PROPOSAL
Wickens O GlickBrazilXuxue Feng PROPOSAL
Stacey Y GauchoFranceElwin Sharvill UNQUALIFIED
Murillo U SergiJapanStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Maria C DoeCanadaOnyama Limba NEGOTIATION
Deepesh T NickaBrazilElwin Sharvill NEGOTIATION
Alejandro Z BowleyCanadaAnna Fali PROPOSAL
Mayumi M PaprockiJapanStephen Shaw PROPOSAL
Aditya W FollerArgentinaOnyama Limba PROPOSAL
Munro D MaletCanadaAsiya Javayant PROPOSAL
Clifford T BowleySpainAnna Fali NEGOTIATION
Jones E WhobreyFranceAnna Fali PROPOSAL
Francesco B CampainCanadaAnna Fali NEW
Maisha V NestleCanadaAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie B RulapaughAustralia2026-06-22Chemel, James L Cpa NEW19Ivan Magalhaes
1001Izzy T RutaSpain2026-06-04Chapman, Ross E Esq QUALIFIED28Ioni Bowcher
1002Clifford P PoquetteGermany2026-06-20Rangoni Of Florence PROPOSAL59Asiya Javayant
1003Jeanfrancois F SchemmerRussia2026-06-11Chemel, James L Cpa QUALIFIED62Xuxue Feng
1004Deepesh F PaprockiIndia2026-06-14Buckley Miller Wright RENEWAL28Anna Fali
1005Maisha H ShinkoRussia2026-06-30King, Christopher A Esq PROPOSAL32Amy Elsner
1006James W GarufiArgentina2026-06-20Morlong Associates QUALIFIED91Ioni Bowcher
1007Chavez K NickaJapan2026-06-24Dorl, James J Esq NEGOTIATION90Ioni Bowcher
1008Octavia E SlusarskiCanada2026-06-26Buckley Miller Wright NEGOTIATION94Amy Elsner
1009Alejandro O RimGermany2026-06-11Printing Dimensions RENEWAL23Ioni Bowcher
1010Ashley X FigeroaIndia2026-06-20Benton, John B Jr PROPOSAL64Amy Elsner
1011James X DarakjyIndia2026-06-23Feltz Printing Service NEGOTIATION95Asiya Javayant
1012Sinclair U NickaGermany2026-06-30Feltz Printing Service RENEWAL81Xuxue Feng
1013Ricardo P ShinkoItaly2026-06-09Feiner Bros RENEWAL2Bernardo Dominic
1014Faith F MorascaRussia2026-06-20Printing Dimensions UNQUALIFIED7Stephen Shaw
1015Jennifer B OldroydJapan2026-06-18Chapman, Ross E Esq RENEWAL42Stephen Shaw
1016Leon R BowleyArgentina2026-06-05King, Christopher A Esq RENEWAL94Xuxue Feng
1017Smith D FigeroaSpain2026-06-09Chapman, Ross E Esq RENEWAL86Xuxue Feng
1018Aditya Z MorascaSpain2026-06-15Chapman, Ross E Esq RENEWAL29Elwin Sharvill
1019Jones O DarakjyGermany2026-06-06Dorl, James J Esq NEGOTIATION49Stephen Shaw
1020Alejandro K RulapaughIndia2026-06-13Rangoni Of Florence RENEWAL38Asiya Javayant
1021Francesco I BowleyRussia2026-06-05King, Christopher A Esq NEW96Asiya Javayant
1022Salvatore T AlbaresFrance2026-07-01Chemel, James L Cpa UNQUALIFIED65Onyama Limba
1023Claire T MaletGermany2026-06-17King, Christopher A Esq QUALIFIED7Xuxue Feng
1024Costa Q FlosiUnited Kingdom2026-06-09Feltz Printing Service NEW5Stephen Shaw
1025Izzy Y PaprockiCanada2026-06-12Buckley Miller Wright RENEWAL13Amy Elsner
1026Darci G SchemmerUnited Kingdom2026-06-29Benton, John B Jr PROPOSAL61Bernardo Dominic
1027Juan G FigeroaBrazil2026-06-11Buckley Miller Wright PROPOSAL22Bernardo Dominic
1028Leja R SlusarskiRussia2026-07-02King, Christopher A Esq UNQUALIFIED2Ioni Bowcher
1029Cody N PerinIndia2026-06-12Feiner Bros RENEWAL38Amy Elsner
1030Faith T AmigonItaly2026-06-20Rousseaux, Michael Esq RENEWAL41Anna Fali
1031David Q BriddickFrance2026-07-02Chanay, Jeffrey A Esq NEW45Stephen Shaw
1032Costa N VocelkaGermany2026-06-21Chanay, Jeffrey A Esq UNQUALIFIED99Bernardo Dominic
1033Adams H WieserItaly2026-06-27Feiner Bros UNQUALIFIED68Anna Fali
1034Izzy N WieserCanada2026-07-02Printing Dimensions UNQUALIFIED50Stephen Shaw
1035Stacey S SergiSpain2026-06-23Morlong Associates NEGOTIATION41Amy Elsner
1036Rodrigues E SergiGermany2026-06-28Morlong Associates NEGOTIATION28Anna Fali
1037Ivar X MorascaIndia2026-06-16King, Christopher A Esq NEGOTIATION44Amy Elsner
1038Johnson T VocelkaFrance2026-06-23Buckley Miller Wright QUALIFIED84Elwin Sharvill
1039Aika Y AmigonItaly2026-06-10King, Christopher A Esq PROPOSAL19Asiya Javayant
1040Aruna U ButtJapan2026-06-10Truhlar And Truhlar Attys NEW59Stephen Shaw
1041Greenwood W SchemmerSpain2026-06-15King, Christopher A Esq QUALIFIED96Stephen Shaw
1042Arvin R FigeroaJapan2026-06-20Buckley Miller Wright RENEWAL81Ioni Bowcher
1043James R MaletIndia2026-06-03Chapman, Ross E Esq PROPOSAL87Ioni Bowcher
1044Isabel U KuskoItaly2026-06-29Commercial Press PROPOSAL99Asiya Javayant
1045Costa S FlosiCanada2026-06-03Feiner Bros RENEWAL49Ivan Magalhaes
1046Greenwood Z MarrierFrance2026-06-29Benton, John B Jr NEW32Ioni Bowcher
1047Rodrigues Q WieserBrazil2026-07-02King, Christopher A Esq RENEWAL1Elwin Sharvill
1048Rodrigues N GlickGermany2026-06-24Commercial Press UNQUALIFIED98Asiya Javayant
1049Aruna O TollnerArgentina2026-06-11Morlong Associates QUALIFIED24Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Clifford L IturbideIndiaAnna Fali NEW
Jefferson L CampainCanadaXuxue Feng NEW
Misaki W VenereBrazilAmy Elsner UNQUALIFIED
Ashley O StockhamSpainAmy Elsner QUALIFIED
Jennifer Q TollnerCanadaAsiya Javayant UNQUALIFIED
Chavez P RutaItalyIoni Bowcher NEW
Juan U ShinkoJapanStephen Shaw PROPOSAL
Aditya E InouyeUnited KingdomIoni Bowcher QUALIFIED
Silvio K NickaSpainXuxue Feng RENEWAL
Izzy W FerenczSpainElwin Sharvill QUALIFIED
Alejandro U StensethArgentinaAnna Fali UNQUALIFIED
Kadeem H SaylorsRussiaElwin Sharvill RENEWAL
Murillo K SergiAustraliaAsiya Javayant QUALIFIED
Arvin B GillianJapanXuxue Feng UNQUALIFIED
Mujtaba J WaycottItalyOnyama Limba RENEWAL
Johnson U BologniaBrazilAnna Fali NEW
Octavia L InouyeRussiaAnna Fali NEGOTIATION
Wickens A OstroskyRussiaStephen Shaw UNQUALIFIED
Murillo Q RulapaughSpainAnna Fali NEW
Ricardo L WieserGermanyOnyama Limba PROPOSAL
Misaki Z MacleadFranceOnyama Limba PROPOSAL
Aika Q PaprockiAustraliaAmy Elsner NEGOTIATION
Cody F GauchoSpainAnna Fali PROPOSAL
Wickens J BologniaRussiaStephen Shaw PROPOSAL
Arvin Q NestleAustraliaAsiya Javayant PROPOSAL
Stacey A WieserSpainIoni Bowcher RENEWAL
Maria Y OldroydCanadaXuxue Feng NEGOTIATION
Izzy S SlusarskiCanadaAmy Elsner UNQUALIFIED
Murillo T ShinkoAustraliaAmy Elsner NEGOTIATION
Izzy H SaylorsJapanStephen Shaw RENEWAL
Mujtaba P SchemmerUnited KingdomIvan Magalhaes PROPOSAL
Johnson Y CaudyRussiaOnyama Limba QUALIFIED
Francesco S RimArgentinaElwin Sharvill UNQUALIFIED
Adams D ButtCanadaOnyama Limba PROPOSAL
Aika A StensethFranceElwin Sharvill NEGOTIATION
Silvio L SlusarskiFranceElwin Sharvill NEW
Ivar D CaldareraCanadaAnna Fali QUALIFIED
Adams V RutaItalyOnyama Limba NEW
Salvatore Y CaudyAustraliaOnyama Limba NEGOTIATION
Greenwood Q ShinkoCanadaBernardo Dominic UNQUALIFIED
Mujtaba S IturbideCanadaStephen Shaw PROPOSAL
Chavez J WaycottIndiaOnyama Limba PROPOSAL
Francesco S SaylorsUnited KingdomAnna Fali NEW
Smith J NickaBrazilElwin Sharvill PROPOSAL
Octavia X TollnerArgentinaAsiya Javayant RENEWAL
Johnson R FollerFranceIvan Magalhaes UNQUALIFIED
Arvin Y KuskoBrazilAsiya Javayant PROPOSAL
Jennifer K FerenczAustraliaAsiya Javayant PROPOSAL
Francesco V PerinUnited KingdomAmy Elsner NEGOTIATION
Tony Y GauchoRussiaIoni Bowcher NEGOTIATION
Frozen Columns
Name
Greenwood L Royster
Sinclair F Iturbide
Kadeem Q Malet
Kadeem S Rim
Jennifer J Poquette
Aruna P Paprocki
Murillo R Malet
Antonio L Paprocki
Clifford C Caldarera
Maria I Whobrey
Kadeem F Paprocki
Misaki T Glick
Emily L Garufi
Aruna N Ferencz
Julie Y Albares
Rodrigues R Maclead
Jeanfrancois H Amigon
Nicolas Z Wieser
Wickens H Briddick
Costa E Malet
Ivar C Venere
Munro W Perin
Jeanfrancois Z Maclead
James H Bowley
Nicolas V Darakjy
Wickens Q Chui
Silvio J Sergi
Greenwood D Rulapaugh
Kadeem V Stenseth
Juan F Maclead
Juan E Marrier
Johnson X Shinko
Mayumi B Garufi
Misaki Z Glick
Maisha N Marrier
Nicolas N Morasca
Octavia Y Whobrey
Chavez P Ferencz
Mayumi H Butt
Jeanfrancois Z Darakjy
Smith K Kusko
Arvin T Albares
Munro Y Waycott
Mujtaba H Waycott
Cody C Doe
Leon V Vocelka
Maria Y Paprocki
Clifford L Dilliard
Murillo R Rulapaugh
Alejandro B Bowley
IdCountryDate
1000India2026-06-22
1001Argentina2026-07-01
1002Germany2026-06-29
1003Canada2026-06-03
1004Germany2026-07-02
1005Brazil2026-06-08
1006Spain2026-06-28
1007Brazil2026-06-27
1008Brazil2026-07-01
1009United Kingdom2026-06-25
1010Brazil2026-06-24
1011Japan2026-06-15
1012Russia2026-06-08
1013Brazil2026-06-18
1014Japan2026-06-29
1015Germany2026-06-19
1016India2026-06-07
1017Spain2026-06-11
1018Argentina2026-06-21
1019France2026-06-29
1020India2026-06-16
1021Argentina2026-06-30
1022Canada2026-06-11
1023Italy2026-06-18
1024France2026-06-11
1025Japan2026-06-12
1026Argentina2026-06-18
1027Brazil2026-07-02
1028Japan2026-06-30
1029Argentina2026-06-12
1030France2026-06-11
1031Brazil2026-06-05
1032Japan2026-06-29
1033Russia2026-06-26
1034Italy2026-06-21
1035France2026-06-18
1036France2026-06-28
1037Germany2026-06-27
1038Japan2026-06-25
1039Germany2026-06-11
1040Australia2026-06-28
1041Argentina2026-06-27
1042Spain2026-06-10
1043Brazil2026-06-10
1044Argentina2026-06-22
1045Russia2026-06-03
1046Argentina2026-06-24
1047Japan2026-06-20
1048France2026-07-02
1049United Kingdom2026-07-02

On-Demand Data

NameIdCountryDate
Greenwood Y Schemmer1000Canada2026-06-24
Nicolas P Waycott1001Canada2026-06-21
David V Foller1002France2026-06-29
Aika T Ruta1003Germany2026-06-05
Leja S Doe1004India2026-06-14
Sinclair K Sergi1005India2026-06-04
Faith P Marrier1006Germany2026-06-28
Francesco A Vocelka1007Australia2026-06-17
Clifford Z Caldarera1008Russia2026-06-15
James I Wieser1009Italy2026-06-17
Rodrigues C Venere1010Spain2026-06-08
Murillo T Figeroa1011Brazil2026-06-24
David F Garufi1012United Kingdom2026-06-23
Leja R Campain1013United Kingdom2026-06-28
Aika C Ostrosky1014Canada2026-06-26
Emily D Amigon1015India2026-06-21
Nicolas O Saylors1016Japan2026-06-26
Stacey T Nicka1017Germany2026-06-23
Costa H Paprocki1018India2026-06-12
Silvio M Malet1019Russia2026-06-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford T ChuiIndiaOnyama Limba QUALIFIED
Jennifer Q RimAustraliaXuxue Feng UNQUALIFIED
Smith T NestleItalyStephen Shaw NEGOTIATION
Isabel T WhobreyCanadaStephen Shaw QUALIFIED
Rodrigues R WaycottUnited KingdomStephen Shaw QUALIFIED
Morrow V FollerJapanOnyama Limba NEGOTIATION
Aditya W WieserIndiaAmy Elsner NEGOTIATION
Clifford V NickaJapanIoni Bowcher RENEWAL
Kaitlin R StensethFranceElwin Sharvill NEW
Stacey F OstroskyJapanXuxue Feng QUALIFIED
Octavia E NickaIndiaIvan Magalhaes QUALIFIED
Costa Q OldroydBrazilStephen Shaw NEW
Aika C GauchoRussiaAmy Elsner QUALIFIED
Ricardo L IturbideSpainAmy Elsner NEGOTIATION
Costa W DilliardRussiaOnyama Limba PROPOSAL
Antonio U ChuiAustraliaAnna Fali NEW
Jeanfrancois E RulapaughJapanAsiya Javayant PROPOSAL
Murillo X MarrierSpainBernardo Dominic QUALIFIED
Kaitlin C PerinRussiaElwin Sharvill PROPOSAL
Munro H FlosiFranceAmy Elsner NEGOTIATION
Kadeem W SergiSpainBernardo Dominic RENEWAL
Nicolas B WaycottArgentinaOnyama Limba UNQUALIFIED
Clifford A FigeroaIndiaAmy Elsner QUALIFIED
Claire L GauchoSpainXuxue Feng RENEWAL
Aditya F CaudySpainIvan Magalhaes PROPOSAL
Ivar V IturbideRussiaIoni Bowcher NEW
Ivar P CampainGermanyAnna Fali PROPOSAL
Aditya L BriddickUnited KingdomAmy Elsner PROPOSAL
Isabel B CaldareraSpainAnna Fali NEGOTIATION
Aika K RoysterAustraliaOnyama Limba QUALIFIED
Ricardo D CampainJapanIoni Bowcher PROPOSAL
Munro V ShinkoArgentinaAsiya Javayant UNQUALIFIED
Chavez Y WhobreyBrazilOnyama Limba NEW
David Z ShinkoCanadaBernardo Dominic RENEWAL
Maisha E OldroydSpainXuxue Feng RENEWAL
Juan A GarufiArgentinaIoni Bowcher NEGOTIATION
Kaitlin B NickaFranceIvan Magalhaes RENEWAL
Salvatore V BologniaAustraliaStephen Shaw NEGOTIATION
Claire Y FigeroaUnited KingdomXuxue Feng RENEWAL
Jefferson Q FigeroaAustraliaAmy Elsner PROPOSAL

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