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
Bangla
Bosnian
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
Uzbek
Vietnamese
Chinese
Chinese

Input Style

Themes

PrimeOne
Saga Blue Saga Blue
Vela Blue Vela Blue
Arya Blue Arya Blue
Bootstrap
Bootstrap Blue Light Bootstrap Blue Light
Bootstrap Purple Light Bootstrap Purple Light
Bootstrap Blue Dark Bootstrap Blue Dark
Bootstrap Purple Dark Bootstrap Purple Dark
Material Design
Material Indigo Light Material Indigo Light
Material Deep Purple Light Material Deep Purple Light
Material Indigo Dark Material Indigo Dark
Material Deep Purple Dark Material Deep Purple Dark
Material Design Compact
Material Compact Indigo Light Material Compact Indigo Light
Material Compact Deep Purple Light Material Compact Deep Purple Light
Material Compact Indigo Dark Material Compact Indigo Dark
Material Compact Deep Purple Dark Material Compact Deep Purple Dark
Legacy
Nova Light Nova Light
Nova Dark Nova Dark
Nova Colored Nova Colored
Luna Amber Luna Amber
Luna Blue Luna Blue
Luna Green Luna Green
Luna Pink Luna Pink

DataTable Scroll

Both vertical and horizontal scrolling of the data is supported with optional frozen rows-columns and on-demand loading features.

Vertical
NameCountryRepresentativeStatus
Maria G MaletArgentinaAnna Fali PROPOSAL
Johnson F FigeroaAustraliaAmy Elsner QUALIFIED
Leon O MaletSpainIvan Magalhaes PROPOSAL
Kadeem C VenereUnited KingdomAsiya Javayant UNQUALIFIED
Francesco O ShinkoIndiaAnna Fali PROPOSAL
Greenwood B NickaItalyIvan Magalhaes PROPOSAL
Nicolas W DoeCanadaElwin Sharvill RENEWAL
Maisha E SergiSpainAnna Fali PROPOSAL
Clifford E CampainFranceElwin Sharvill RENEWAL
Maisha L NestleFranceElwin Sharvill QUALIFIED
Mujtaba M OstroskyCanadaAsiya Javayant UNQUALIFIED
Chavez Z PaprockiArgentinaAmy Elsner RENEWAL
Adams S KuskoSpainBernardo Dominic QUALIFIED
Jefferson U KuskoGermanyBernardo Dominic RENEWAL
Maria M VocelkaRussiaXuxue Feng NEGOTIATION
Adams Y SergiIndiaAnna Fali RENEWAL
Jennifer Q FlosiSpainAmy Elsner UNQUALIFIED
Misaki T ButtSpainStephen Shaw QUALIFIED
Clifford D VenereSpainStephen Shaw NEGOTIATION
Jeanfrancois L GillianRussiaElwin Sharvill RENEWAL
Munro G CaldareraArgentinaAsiya Javayant RENEWAL
Maria W SaylorsSpainStephen Shaw NEW
Chavez A MorascaItalyOnyama Limba NEW
Emily A BologniaGermanyStephen Shaw UNQUALIFIED
Juan C VocelkaSpainBernardo Dominic UNQUALIFIED
Juan O IturbideItalyIvan Magalhaes NEGOTIATION
Adams I KuskoBrazilIoni Bowcher NEW
Kadeem G KuskoAustraliaXuxue Feng UNQUALIFIED
Kadeem F BowleySpainElwin Sharvill UNQUALIFIED
David P BowleyIndiaElwin Sharvill NEGOTIATION
Adams A AmigonGermanyAnna Fali NEW
Claire V SlusarskiCanadaAsiya Javayant RENEWAL
Maisha Q FlosiIndiaIvan Magalhaes RENEWAL
Kadeem L PoquetteArgentinaXuxue Feng RENEWAL
Greenwood W StockhamUnited KingdomAsiya Javayant UNQUALIFIED
Alejandro D KolmetzJapanOnyama Limba PROPOSAL
Isabel K StockhamAustraliaStephen Shaw RENEWAL
Octavia L WaycottFranceIoni Bowcher NEW
Munro R SaylorsIndiaOnyama Limba QUALIFIED
Rodrigues S BologniaIndiaIoni Bowcher NEW
Salvatore C StensethItalyBernardo Dominic NEW
Jefferson S SaylorsGermanyIvan Magalhaes PROPOSAL
Johnson M CampainBrazilBernardo Dominic NEW
Isabel I AmigonArgentinaStephen Shaw UNQUALIFIED
Faith I SchemmerRussiaBernardo Dominic NEW
Antonio C PerinAustraliaAnna Fali NEW
Arvin J RulapaughGermanyAsiya Javayant UNQUALIFIED
Darci O NestleArgentinaAsiya Javayant NEGOTIATION
Ricardo V FigeroaJapanAnna Fali QUALIFIED
Wickens I MaletRussiaIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Aruna D AmigonIndiaElwin Sharvill NEGOTIATION
Octavia R GauchoRussiaAsiya Javayant QUALIFIED
Julie M VenereItalyXuxue Feng UNQUALIFIED
Costa X PaprockiAustraliaStephen Shaw QUALIFIED
Cody H WieserRussiaAnna Fali NEGOTIATION
Greenwood M GillianGermanyXuxue Feng NEGOTIATION
Silvio J SchemmerSpainOnyama Limba PROPOSAL
David V ButtIndiaIvan Magalhaes UNQUALIFIED
Leja V SlusarskiItalyBernardo Dominic PROPOSAL
Salvatore K FerenczArgentinaOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba W AmigonUnited Kingdom2025-06-15Chapman, Ross E Esq NEW28Asiya Javayant
1001Sinclair C OldroydSpain2025-06-24King, Christopher A Esq QUALIFIED28Bernardo Dominic
1002Aruna T DarakjySpain2025-06-28King, Christopher A Esq QUALIFIED38Onyama Limba
1003Morrow G NestleCanada2025-06-20King, Christopher A Esq NEGOTIATION9Onyama Limba
1004Kadeem M ChuiIndia2025-07-03Chanay, Jeffrey A Esq NEW51Anna Fali
1005Costa K RutaIndia2025-06-30Chanay, Jeffrey A Esq NEW54Elwin Sharvill
1006Costa X ButtUnited Kingdom2025-07-13Dorl, James J Esq NEW39Stephen Shaw
1007Morrow J CaldareraUnited Kingdom2025-07-11Rousseaux, Michael Esq QUALIFIED47Bernardo Dominic
1008Stacey C InouyeItaly2025-07-10Benton, John B Jr NEW11Elwin Sharvill
1009Jeanfrancois Y WaycottBrazil2025-07-08Rangoni Of Florence RENEWAL55Bernardo Dominic
1010Juan L GarufiIndia2025-06-29Chapman, Ross E Esq RENEWAL21Ioni Bowcher
1011Jones P SchemmerBrazil2025-06-29Chemel, James L Cpa PROPOSAL90Ivan Magalhaes
1012Isabel N MaletFrance2025-06-15Dorl, James J Esq NEW32Asiya Javayant
1013Alejandro T CaldareraSpain2025-07-12Rangoni Of Florence QUALIFIED62Ioni Bowcher
1014Johnson X SchemmerRussia2025-06-30Commercial Press NEGOTIATION17Bernardo Dominic
1015Smith E StensethArgentina2025-06-15Buckley Miller Wright UNQUALIFIED66Bernardo Dominic
1016Aika F WhobreyUnited Kingdom2025-07-01Benton, John B Jr NEGOTIATION47Ivan Magalhaes
1017Adams W FigeroaBrazil2025-07-04Rangoni Of Florence PROPOSAL95Asiya Javayant
1018Smith Z MarrierGermany2025-07-02Chemel, James L Cpa PROPOSAL77Asiya Javayant
1019Sinclair I VenereArgentina2025-06-28Dorl, James J Esq PROPOSAL17Elwin Sharvill
1020Sinclair M GillianSpain2025-06-16Feltz Printing Service NEGOTIATION55Stephen Shaw
1021Faith A WhobreyRussia2025-07-01Commercial Press PROPOSAL36Bernardo Dominic
1022Leon W FollerIndia2025-06-22Chapman, Ross E Esq PROPOSAL83Asiya Javayant
1023Murillo G ButtJapan2025-07-13Commercial Press NEW75Anna Fali
1024Maria H ShinkoCanada2025-07-08Chanay, Jeffrey A Esq UNQUALIFIED3Elwin Sharvill
1025Leon D PerinBrazil2025-07-04Feiner Bros RENEWAL1Asiya Javayant
1026Isabel Q GarufiIndia2025-07-14Chanay, Jeffrey A Esq PROPOSAL83Amy Elsner
1027Tony O CaudyArgentina2025-06-19Feltz Printing Service NEW83Onyama Limba
1028Ivar D MaletUnited Kingdom2025-06-18Commercial Press UNQUALIFIED18Stephen Shaw
1029Juan R CampainJapan2025-07-09Truhlar And Truhlar Attys UNQUALIFIED40Amy Elsner
1030Arvin Z DilliardGermany2025-06-19King, Christopher A Esq UNQUALIFIED30Stephen Shaw
1031Francesco U RutaUnited Kingdom2025-07-05Feiner Bros NEW55Xuxue Feng
1032Ricardo R ButtJapan2025-06-15Chanay, Jeffrey A Esq NEGOTIATION21Onyama Limba
1033Murillo K MarrierBrazil2025-06-24Feltz Printing Service NEW28Ivan Magalhaes
1034Leja N WhobreyIndia2025-06-23Feiner Bros RENEWAL5Stephen Shaw
1035Nicolas K MaletRussia2025-06-25Feltz Printing Service NEGOTIATION60Ivan Magalhaes
1036Mujtaba R MaletJapan2025-07-01Benton, John B Jr PROPOSAL50Amy Elsner
1037Jennifer I PaprockiGermany2025-06-15Printing Dimensions QUALIFIED59Bernardo Dominic
1038Jeanfrancois T CaudyUnited Kingdom2025-07-14King, Christopher A Esq NEGOTIATION25Xuxue Feng
1039Kaitlin O AmigonSpain2025-06-16Printing Dimensions RENEWAL46Onyama Limba
1040Darci A SlusarskiBrazil2025-07-06Truhlar And Truhlar Attys QUALIFIED44Anna Fali
1041Morrow Q AmigonJapan2025-06-30Rousseaux, Michael Esq NEGOTIATION20Asiya Javayant
1042Maisha G WaycottFrance2025-07-14Printing Dimensions NEGOTIATION36Asiya Javayant
1043Alejandro J DoeIndia2025-07-05Commercial Press RENEWAL99Bernardo Dominic
1044Francesco N ChuiGermany2025-07-11Benton, John B Jr UNQUALIFIED36Anna Fali
1045Arvin E AlbaresIndia2025-07-13Rangoni Of Florence NEW60Ioni Bowcher
1046Ricardo Q NickaBrazil2025-07-07Buckley Miller Wright NEW49Anna Fali
1047Faith L VenereJapan2025-06-19Buckley Miller Wright UNQUALIFIED60Anna Fali
1048Aruna K TollnerFrance2025-06-25King, Christopher A Esq NEGOTIATION99Xuxue Feng
1049James E FigeroaFrance2025-06-15Rousseaux, Michael Esq PROPOSAL42Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Tony Z KuskoArgentinaAmy Elsner PROPOSAL
Stacey L BowleyBrazilOnyama Limba RENEWAL
Emily K BologniaArgentinaBernardo Dominic RENEWAL
Morrow U GillianJapanAsiya Javayant PROPOSAL
Jones Z RulapaughIndiaElwin Sharvill NEGOTIATION
Darci G CaldareraJapanAmy Elsner PROPOSAL
Leja S GillianJapanAnna Fali NEGOTIATION
Aruna L RulapaughArgentinaIoni Bowcher NEGOTIATION
Francesco A SergiSpainXuxue Feng UNQUALIFIED
Rodrigues R MaletBrazilAnna Fali UNQUALIFIED
Misaki F RutaIndiaXuxue Feng RENEWAL
Jones C KolmetzUnited KingdomAmy Elsner QUALIFIED
Maria B PaprockiArgentinaOnyama Limba NEW
Octavia D AlbaresArgentinaBernardo Dominic UNQUALIFIED
Julie B KuskoAustraliaBernardo Dominic RENEWAL
Mayumi H SaylorsRussiaStephen Shaw NEW
Misaki Q PerinArgentinaAmy Elsner PROPOSAL
Maria X RimAustraliaBernardo Dominic NEGOTIATION
Mayumi S CaudyAustraliaIvan Magalhaes NEGOTIATION
Ivar W SergiArgentinaOnyama Limba PROPOSAL
Murillo T RoysterJapanIoni Bowcher QUALIFIED
Maria O PerinFranceStephen Shaw UNQUALIFIED
Antonio O DilliardBrazilIoni Bowcher RENEWAL
Misaki G BowleyJapanAnna Fali RENEWAL
Claire X TollnerIndiaXuxue Feng UNQUALIFIED
Alejandro N GlickGermanyAmy Elsner QUALIFIED
Salvatore G ShinkoUnited KingdomStephen Shaw QUALIFIED
Mujtaba O FerenczIndiaAsiya Javayant RENEWAL
Ricardo O AmigonGermanyAmy Elsner RENEWAL
Tony C KolmetzCanadaAsiya Javayant NEGOTIATION
Greenwood P SlusarskiFranceAmy Elsner UNQUALIFIED
Munro N FlosiUnited KingdomAsiya Javayant NEGOTIATION
Leon M ButtUnited KingdomAnna Fali PROPOSAL
Juan E MorascaGermanyXuxue Feng QUALIFIED
Leja R GauchoArgentinaIvan Magalhaes NEGOTIATION
Aika G VenereUnited KingdomAnna Fali NEGOTIATION
Aika W GlickIndiaOnyama Limba NEGOTIATION
Smith J IturbideItalyBernardo Dominic NEGOTIATION
Tony Q KuskoCanadaElwin Sharvill UNQUALIFIED
Clifford W TollnerJapanOnyama Limba UNQUALIFIED
Aruna V MorascaJapanElwin Sharvill RENEWAL
Aruna Y WieserBrazilStephen Shaw NEGOTIATION
Silvio C OldroydItalyElwin Sharvill NEGOTIATION
Antonio O OldroydArgentinaAsiya Javayant PROPOSAL
Stacey L WaycottGermanyIoni Bowcher NEGOTIATION
Adams H RutaCanadaAsiya Javayant RENEWAL
Cody M FlosiArgentinaAnna Fali UNQUALIFIED
Greenwood L CaldareraUnited KingdomElwin Sharvill PROPOSAL
Morrow C GillianBrazilAnna Fali QUALIFIED
Silvio H KuskoBrazilElwin Sharvill QUALIFIED
Frozen Columns
Name
Clifford B Bolognia
Maria O Dilliard
Alejandro M Glick
Aruna K Doe
Clifford P Inouye
Costa Y Wieser
Julie O Morasca
Jeanfrancois G Rim
Jeanfrancois N Bolognia
Silvio J Paprocki
Murillo K Flosi
Murillo I Oldroyd
Ricardo N Ferencz
Jennifer L Campain
Jeanfrancois O Chui
Chavez I Amigon
James X Garufi
Leja Q Albares
Alejandro G Foller
Aika Y Sergi
Kaitlin S Nicka
Leja H Malet
Claire M Iturbide
Faith V Slusarski
Nicolas W Nestle
Jefferson M Vocelka
Jennifer R Caudy
Silvio E Saylors
Jefferson X Wieser
Aditya R Slusarski
Stacey Q Paprocki
Leon W Tollner
Rodrigues D Glick
Isabel F Bowley
Ivar Q Ruta
Murillo R Darakjy
Cody L Morasca
Darci K Flosi
Kadeem A Malet
Ricardo J Caudy
Alejandro T Poquette
Ivar D Campain
Johnson F Kolmetz
Salvatore H Kolmetz
Nicolas J Glick
Johnson L Malet
Smith X Bowley
Munro G Marrier
Mayumi I Maclead
Wickens C Vocelka
IdCountryDate
1000Italy2025-06-19
1001India2025-07-08
1002Argentina2025-07-08
1003Canada2025-07-05
1004France2025-07-10
1005Germany2025-07-02
1006Germany2025-07-02
1007Argentina2025-07-01
1008Canada2025-06-29
1009United Kingdom2025-06-17
1010Japan2025-06-28
1011Russia2025-07-08
1012United Kingdom2025-06-30
1013France2025-07-07
1014Australia2025-06-27
1015United Kingdom2025-06-15
1016Australia2025-06-18
1017Italy2025-06-24
1018Germany2025-07-07
1019Russia2025-06-17
1020Japan2025-06-22
1021Australia2025-06-29
1022Brazil2025-07-11
1023France2025-06-17
1024Brazil2025-07-12
1025Brazil2025-06-23
1026India2025-07-01
1027Japan2025-06-22
1028Japan2025-06-20
1029France2025-07-09
1030Brazil2025-06-18
1031Argentina2025-07-07
1032Argentina2025-06-15
1033Japan2025-07-11
1034Canada2025-07-03
1035Russia2025-06-20
1036Japan2025-06-30
1037Italy2025-06-16
1038United Kingdom2025-07-01
1039Brazil2025-07-12
1040Argentina2025-06-28
1041Italy2025-06-26
1042Argentina2025-06-26
1043Germany2025-06-17
1044Australia2025-07-01
1045Argentina2025-07-11
1046India2025-06-20
1047France2025-07-01
1048Italy2025-07-08
1049United Kingdom2025-06-25

On-Demand Data

NameIdCountryDate
Aditya A Oldroyd1000Canada2025-06-29
Kadeem V Ferencz1001Brazil2025-07-06
Clifford R Venere1002Spain2025-06-24
Emily H Ferencz1003Spain2025-06-23
Nicolas T Dilliard1004Russia2025-06-18
Murillo M Tollner1005Italy2025-06-24
Sinclair M Stenseth1006Germany2025-06-26
Kaitlin I Venere1007France2025-07-01
Silvio I Campain1008Argentina2025-06-30
Johnson F Butt1009Spain2025-07-14
Mujtaba O Maclead1010Australia2025-06-23
Kadeem K Waycott1011United Kingdom2025-06-21
Mayumi M Flosi1012Italy2025-06-22
Aditya J Oldroyd1013Brazil2025-06-28
Misaki M Sergi1014Germany2025-07-08
Aika D Venere1015United Kingdom2025-07-14
Chavez T Inouye1016Australia2025-07-03
Leon D Nestle1017Argentina2025-06-29
Aruna I Whobrey1018France2025-07-08
Izzy E Gillian1019Brazil2025-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo N CampainArgentinaOnyama Limba PROPOSAL
Aika E SergiJapanAsiya Javayant NEW
Octavia U ChuiRussiaIoni Bowcher QUALIFIED
Antonio J DarakjyFranceAsiya Javayant RENEWAL
Jefferson Y StensethArgentinaElwin Sharvill PROPOSAL
Chavez O MaletBrazilAmy Elsner QUALIFIED
Murillo D CaudyRussiaIoni Bowcher NEGOTIATION
Mujtaba T PoquetteFranceXuxue Feng UNQUALIFIED
Wickens T KuskoItalyAmy Elsner QUALIFIED
Wickens L FlosiRussiaAsiya Javayant PROPOSAL
Isabel U TollnerRussiaBernardo Dominic UNQUALIFIED
Maisha Y AlbaresItalyAnna Fali RENEWAL
David P WaycottSpainBernardo Dominic UNQUALIFIED
Jeanfrancois P WhobreyIndiaElwin Sharvill NEW
Rodrigues R FerenczJapanAmy Elsner NEW
Aika I OstroskyUnited KingdomStephen Shaw PROPOSAL
Mayumi W GauchoBrazilXuxue Feng QUALIFIED
Rodrigues V GarufiBrazilOnyama Limba RENEWAL
Jones F DarakjyGermanyOnyama Limba NEW
Wickens B CaldareraUnited KingdomOnyama Limba NEW
Sinclair F RimRussiaAmy Elsner RENEWAL
Ricardo U CaudyItalyAnna Fali UNQUALIFIED
Salvatore J WaycottGermanyAmy Elsner PROPOSAL
Emily E RoysterJapanOnyama Limba QUALIFIED
Salvatore A NickaUnited KingdomStephen Shaw NEW
Darci Q InouyeArgentinaElwin Sharvill RENEWAL
Nicolas C FigeroaArgentinaAsiya Javayant QUALIFIED
Adams T NestleIndiaXuxue Feng RENEWAL
Juan L BowleyUnited KingdomOnyama Limba QUALIFIED
Sinclair R VenereCanadaIvan Magalhaes NEGOTIATION
Clifford A MaletCanadaAsiya Javayant PROPOSAL
Rodrigues E RulapaughGermanyIvan Magalhaes NEGOTIATION
Arvin L MorascaArgentinaBernardo Dominic NEW
Rodrigues E SchemmerSpainIoni Bowcher QUALIFIED
Johnson K AmigonGermanyElwin Sharvill NEW
Julie Q GauchoAustraliaAnna Fali UNQUALIFIED
Aika V WhobreyBrazilIvan Magalhaes NEW
Ricardo K WaycottUnited KingdomElwin Sharvill NEGOTIATION
David W RulapaughArgentinaIoni Bowcher UNQUALIFIED
Leon B MorascaSpainStephen Shaw UNQUALIFIED

<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" frozenColumnsAlignment="left">
            <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>