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
Cody Y SchemmerArgentinaStephen Shaw UNQUALIFIED
Ashley N ShinkoBrazilAnna Fali PROPOSAL
Misaki V MarrierFranceStephen Shaw QUALIFIED
Aruna M CaudyFranceIoni Bowcher RENEWAL
Jennifer W DilliardAustraliaBernardo Dominic NEW
Jefferson M CaldareraAustraliaIvan Magalhaes QUALIFIED
Silvio V StockhamArgentinaAmy Elsner PROPOSAL
Julie M ShinkoAustraliaAmy Elsner QUALIFIED
Mujtaba H CampainItalyXuxue Feng RENEWAL
Faith T ChuiArgentinaIoni Bowcher PROPOSAL
Leon V DilliardItalyIoni Bowcher UNQUALIFIED
Jefferson W SergiGermanyAnna Fali PROPOSAL
Aruna D BowleyIndiaElwin Sharvill NEW
Isabel H GauchoIndiaAsiya Javayant NEW
Rodrigues D MorascaJapanBernardo Dominic NEW
Smith O DarakjySpainAnna Fali RENEWAL
Ashley I PaprockiCanadaAmy Elsner RENEWAL
Jennifer L PerinJapanAsiya Javayant QUALIFIED
Tony X RutaBrazilIoni Bowcher NEW
Silvio G CaudyIndiaXuxue Feng PROPOSAL
Aika H GlickItalyBernardo Dominic QUALIFIED
Juan Y CaldareraJapanAsiya Javayant PROPOSAL
Mayumi Y FigeroaJapanIvan Magalhaes RENEWAL
Aika W SlusarskiRussiaXuxue Feng PROPOSAL
Rodrigues L OstroskyBrazilAnna Fali NEW
Ricardo V DoeUnited KingdomOnyama Limba RENEWAL
Murillo J OldroydSpainOnyama Limba QUALIFIED
Munro P SlusarskiBrazilOnyama Limba NEGOTIATION
Jennifer U CaldareraIndiaIvan Magalhaes PROPOSAL
David R MarrierJapanAmy Elsner RENEWAL
Arvin E MaletBrazilIoni Bowcher NEGOTIATION
Wickens M OstroskyCanadaAnna Fali NEGOTIATION
Juan L NickaAustraliaAsiya Javayant NEGOTIATION
Mujtaba N WieserCanadaStephen Shaw NEW
Octavia Q DarakjyCanadaAsiya Javayant UNQUALIFIED
Silvio J ChuiSpainIvan Magalhaes PROPOSAL
Juan M ShinkoArgentinaStephen Shaw QUALIFIED
Kaitlin B PoquetteFranceIvan Magalhaes PROPOSAL
Emily I MacleadItalyXuxue Feng RENEWAL
David O NickaGermanyAnna Fali QUALIFIED
Faith L DilliardUnited KingdomXuxue Feng QUALIFIED
Faith P FollerArgentinaIoni Bowcher UNQUALIFIED
Alejandro U ShinkoRussiaIvan Magalhaes QUALIFIED
Faith S ShinkoBrazilAsiya Javayant RENEWAL
Juan A OldroydCanadaAnna Fali RENEWAL
Emily P KolmetzArgentinaBernardo Dominic QUALIFIED
Darci G PaprockiSpainAsiya Javayant PROPOSAL
Ricardo P PaprockiFranceAmy Elsner NEW
Ivar I ButtJapanAnna Fali QUALIFIED
Ashley N GlickAustraliaStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Antonio O MaletJapanAmy Elsner RENEWAL
Juan X ShinkoRussiaAmy Elsner QUALIFIED
Jefferson I KolmetzAustraliaIoni Bowcher NEGOTIATION
Jeanfrancois E NickaAustraliaStephen Shaw PROPOSAL
Faith K NickaIndiaOnyama Limba UNQUALIFIED
Smith Z DoeJapanOnyama Limba NEGOTIATION
Leon B FlosiGermanyBernardo Dominic UNQUALIFIED
Stacey B SergiRussiaOnyama Limba NEW
Mayumi H KuskoBrazilBernardo Dominic NEGOTIATION
Ricardo A GarufiRussiaAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire N PerinSpain2025-04-26King, Christopher A Esq PROPOSAL67Xuxue Feng
1001Juan W SlusarskiItaly2025-04-23Rousseaux, Michael Esq PROPOSAL13Asiya Javayant
1002James X StockhamCanada2025-04-22Morlong Associates QUALIFIED85Bernardo Dominic
1003Faith L MorascaSpain2025-04-04Rangoni Of Florence QUALIFIED55Ivan Magalhaes
1004Cody Y InouyeBrazil2025-04-18Dorl, James J Esq NEGOTIATION50Elwin Sharvill
1005Leon L MacleadFrance2025-04-29Chapman, Ross E Esq RENEWAL76Onyama Limba
1006Faith U SlusarskiRussia2025-04-05Commercial Press UNQUALIFIED4Stephen Shaw
1007Murillo J GillianGermany2025-04-09Dorl, James J Esq QUALIFIED95Stephen Shaw
1008Silvio Q GauchoBrazil2025-04-24Buckley Miller Wright NEGOTIATION56Amy Elsner
1009Ashley X KuskoSpain2025-04-23Commercial Press UNQUALIFIED70Anna Fali
1010Darci G OldroydBrazil2025-04-07Dorl, James J Esq QUALIFIED2Stephen Shaw
1011Francesco S MarrierSpain2025-04-11Chapman, Ross E Esq NEW13Asiya Javayant
1012Francesco I CampainSpain2025-04-29Feiner Bros NEW7Stephen Shaw
1013Clifford U GlickSpain2025-04-30Chapman, Ross E Esq QUALIFIED40Xuxue Feng
1014Ivar O CaldareraUnited Kingdom2025-04-17Chapman, Ross E Esq NEW72Ivan Magalhaes
1015Francesco G PerinIndia2025-04-13Rangoni Of Florence RENEWAL3Stephen Shaw
1016Jeanfrancois C OldroydIndia2025-04-14Chemel, James L Cpa NEGOTIATION61Onyama Limba
1017Misaki H PoquetteJapan2025-04-10Feiner Bros NEW60Bernardo Dominic
1018Mayumi Q DilliardItaly2025-04-02Truhlar And Truhlar Attys PROPOSAL11Anna Fali
1019Aruna Q MarrierJapan2025-04-10Chapman, Ross E Esq NEW79Onyama Limba
1020Jennifer L GarufiGermany2025-04-12King, Christopher A Esq QUALIFIED12Ivan Magalhaes
1021Leon D IturbideCanada2025-04-29Chanay, Jeffrey A Esq RENEWAL27Amy Elsner
1022Leon U NickaGermany2025-04-10Truhlar And Truhlar Attys PROPOSAL49Amy Elsner
1023Stacey N InouyeItaly2025-04-05Feiner Bros UNQUALIFIED14Ioni Bowcher
1024Leja L GillianCanada2025-04-11Morlong Associates NEGOTIATION50Ivan Magalhaes
1025Mayumi S PerinFrance2025-04-09Feltz Printing Service NEW46Elwin Sharvill
1026Emily O KolmetzBrazil2025-04-02Rangoni Of Florence PROPOSAL66Anna Fali
1027Emily P MacleadUnited Kingdom2025-04-04Chapman, Ross E Esq NEGOTIATION8Xuxue Feng
1028Aika E InouyeBrazil2025-04-12Truhlar And Truhlar Attys NEW83Ioni Bowcher
1029Alejandro D ChuiBrazil2025-04-30Rousseaux, Michael Esq NEGOTIATION87Xuxue Feng
1030Octavia D RoysterAustralia2025-04-28Truhlar And Truhlar Attys QUALIFIED51Onyama Limba
1031Juan M GarufiFrance2025-04-11Truhlar And Truhlar Attys NEW36Asiya Javayant
1032Isabel G ChuiJapan2025-04-19Chanay, Jeffrey A Esq PROPOSAL53Ioni Bowcher
1033Darci K FollerBrazil2025-04-18King, Christopher A Esq NEGOTIATION30Elwin Sharvill
1034Nicolas B MaletUnited Kingdom2025-04-26Rousseaux, Michael Esq NEGOTIATION74Ivan Magalhaes
1035Jones R MaletGermany2025-04-12Printing Dimensions QUALIFIED75Stephen Shaw
1036Greenwood G GarufiRussia2025-04-01Commercial Press QUALIFIED2Bernardo Dominic
1037Salvatore K WaycottItaly2025-04-25Chapman, Ross E Esq PROPOSAL41Bernardo Dominic
1038Darci D KolmetzItaly2025-04-18Chapman, Ross E Esq QUALIFIED45Bernardo Dominic
1039Silvio A CaudyUnited Kingdom2025-04-09Buckley Miller Wright NEGOTIATION32Ioni Bowcher
1040Juan E WieserSpain2025-04-12Feiner Bros NEW6Amy Elsner
1041Claire S FollerRussia2025-04-12Printing Dimensions NEGOTIATION28Elwin Sharvill
1042Jeanfrancois G SlusarskiGermany2025-04-05Dorl, James J Esq QUALIFIED66Onyama Limba
1043Jefferson W SlusarskiCanada2025-04-15Printing Dimensions UNQUALIFIED16Ioni Bowcher
1044Mujtaba R MaletBrazil2025-04-12Morlong Associates UNQUALIFIED33Onyama Limba
1045Alejandro O DarakjyRussia2025-04-05Feltz Printing Service PROPOSAL23Onyama Limba
1046Kaitlin F KolmetzJapan2025-04-21Morlong Associates PROPOSAL22Amy Elsner
1047Maria N MaletBrazil2025-04-18Feiner Bros NEGOTIATION37Stephen Shaw
1048Jones F SlusarskiAustralia2025-04-05Benton, John B Jr NEW34Stephen Shaw
1049Deepesh D StensethFrance2025-04-03Printing Dimensions NEW29Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Leon X GarufiItalyAsiya Javayant NEGOTIATION
Izzy B DilliardBrazilElwin Sharvill NEW
Rodrigues H DilliardArgentinaAnna Fali NEGOTIATION
Alejandro V RutaAustraliaXuxue Feng RENEWAL
David W OstroskyUnited KingdomOnyama Limba PROPOSAL
Mayumi Y IturbideIndiaElwin Sharvill UNQUALIFIED
Costa U MorascaRussiaStephen Shaw UNQUALIFIED
Silvio J DarakjyUnited KingdomStephen Shaw PROPOSAL
Leja L BriddickSpainOnyama Limba NEW
Darci J WieserAustraliaOnyama Limba QUALIFIED
Silvio A DilliardArgentinaAsiya Javayant RENEWAL
Chavez R CaudyRussiaXuxue Feng UNQUALIFIED
James T DoeRussiaAnna Fali RENEWAL
Stacey B TollnerItalyElwin Sharvill PROPOSAL
Darci H SaylorsIndiaXuxue Feng NEGOTIATION
Faith X GauchoAustraliaIoni Bowcher UNQUALIFIED
Wickens I OldroydAustraliaIoni Bowcher PROPOSAL
Johnson P GauchoJapanStephen Shaw UNQUALIFIED
Maisha Q StensethRussiaAmy Elsner PROPOSAL
Maisha L StockhamIndiaAsiya Javayant PROPOSAL
Leon M VenereAustraliaIoni Bowcher RENEWAL
Greenwood R KuskoBrazilAnna Fali PROPOSAL
Ivar E BologniaJapanStephen Shaw UNQUALIFIED
Misaki L NestleSpainIoni Bowcher NEGOTIATION
Juan U GarufiBrazilAnna Fali PROPOSAL
Kaitlin D GarufiCanadaIvan Magalhaes NEW
Deepesh X VocelkaAustraliaAmy Elsner QUALIFIED
Smith X FigeroaJapanAmy Elsner RENEWAL
Misaki J DarakjyArgentinaAsiya Javayant PROPOSAL
Antonio B RutaFranceStephen Shaw UNQUALIFIED
Darci M StensethCanadaElwin Sharvill UNQUALIFIED
Smith J OldroydBrazilXuxue Feng NEGOTIATION
Silvio C WaycottFranceElwin Sharvill UNQUALIFIED
Ivar T CampainJapanXuxue Feng PROPOSAL
Aika X SaylorsIndiaStephen Shaw QUALIFIED
Juan F BowleyBrazilAnna Fali NEW
Aditya D VenereItalyXuxue Feng NEGOTIATION
Alejandro W StockhamJapanAsiya Javayant QUALIFIED
Emily V AlbaresUnited KingdomIoni Bowcher UNQUALIFIED
Misaki E DoeSpainAnna Fali NEW
Arvin I MorascaCanadaIvan Magalhaes NEGOTIATION
Kadeem M FerenczCanadaAnna Fali NEW
Jefferson G StockhamGermanyXuxue Feng NEGOTIATION
Faith S DoeArgentinaBernardo Dominic UNQUALIFIED
Ivar V KolmetzSpainStephen Shaw NEGOTIATION
Octavia M MaletBrazilBernardo Dominic RENEWAL
Kaitlin C FlosiAustraliaAmy Elsner QUALIFIED
David U DoeCanadaAsiya Javayant UNQUALIFIED
Salvatore B OldroydBrazilXuxue Feng UNQUALIFIED
Chavez V StensethRussiaElwin Sharvill RENEWAL
Frozen Columns
Name
Johnson Y Kolmetz
Silvio S Oldroyd
Emily M Maclead
Arvin Q Stockham
Emily U Amigon
Maria Z Perin
Chavez F Venere
Mayumi P Whobrey
Ricardo C Paprocki
Isabel G Sergi
Aruna G Dilliard
Wickens F Whobrey
Chavez F Nestle
Ricardo F Bolognia
Leon D Figeroa
Sinclair G Wieser
Izzy L Ruta
Emily I Paprocki
Greenwood V Royster
Costa Y Stockham
Ivar D Marrier
Juan W Nicka
Mujtaba D Bolognia
Munro F Kolmetz
Johnson C Kolmetz
Mujtaba R Shinko
Chavez A Malet
Ivar V Garufi
Antonio V Saylors
Kaitlin N Figeroa
Chavez L Butt
Octavia H Gillian
Isabel X Campain
Murillo B Wieser
Jefferson N Paprocki
Sinclair J Gaucho
James S Campain
Jones U Ferencz
Morrow C Gaucho
Munro U Wieser
Jones G Gaucho
Smith D Poquette
Francesco T Rulapaugh
Cody X Ruta
Claire Y Nestle
Tony C Poquette
Deepesh G Perin
Silvio S Kusko
Alejandro F Glick
Costa U Nestle
IdCountryDate
1000Germany2025-04-29
1001United Kingdom2025-04-20
1002France2025-04-09
1003India2025-04-08
1004United Kingdom2025-04-26
1005Spain2025-04-25
1006Spain2025-04-24
1007Japan2025-04-16
1008Russia2025-04-23
1009Japan2025-04-19
1010Japan2025-04-16
1011Brazil2025-04-18
1012Australia2025-04-04
1013Russia2025-04-21
1014Canada2025-04-03
1015Canada2025-04-20
1016India2025-04-10
1017India2025-04-01
1018India2025-04-05
1019Argentina2025-04-15
1020France2025-04-01
1021Argentina2025-04-01
1022Australia2025-04-03
1023France2025-04-27
1024Australia2025-04-01
1025Russia2025-04-14
1026Argentina2025-04-24
1027Argentina2025-04-04
1028Italy2025-04-02
1029Brazil2025-04-10
1030United Kingdom2025-04-13
1031India2025-04-13
1032Japan2025-04-02
1033Australia2025-04-10
1034Australia2025-04-21
1035United Kingdom2025-04-18
1036India2025-04-27
1037Canada2025-04-09
1038Argentina2025-04-26
1039Australia2025-04-04
1040Germany2025-04-06
1041Japan2025-04-03
1042United Kingdom2025-04-17
1043Spain2025-04-20
1044Russia2025-04-17
1045Brazil2025-04-19
1046Germany2025-04-28
1047Japan2025-04-17
1048Russia2025-04-12
1049Canada2025-04-23

On-Demand Data

NameIdCountryDate
Maisha F Campain1000Italy2025-04-30
Jones Y Nestle1001Spain2025-04-06
Darci S Iturbide1002France2025-04-15
Ricardo C Morasca1003India2025-04-12
Darci K Campain1004Brazil2025-04-16
Jeanfrancois I Paprocki1005United Kingdom2025-04-16
Alejandro J Foller1006Australia2025-04-20
Murillo H Malet1007France2025-04-07
James N Schemmer1008Japan2025-04-05
Morrow V Rim1009Spain2025-04-09
Misaki A Tollner1010Brazil2025-04-09
Emily M Marrier1011Italy2025-04-08
Tony S Shinko1012Canada2025-04-01
Jefferson U Malet1013France2025-04-19
Morrow G Sergi1014Canada2025-04-21
Munro G Kolmetz1015Argentina2025-04-19
Izzy V Glick1016Canada2025-04-22
Leja A Inouye1017Italy2025-04-17
Tony M Rim1018India2025-04-29
Octavia M Chui1019Russia2025-04-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson B WhobreyCanadaXuxue Feng PROPOSAL
Aruna Q StockhamBrazilXuxue Feng NEGOTIATION
Stacey L RoysterIndiaOnyama Limba NEW
Smith V SaylorsRussiaOnyama Limba NEGOTIATION
Arvin G ChuiUnited KingdomIoni Bowcher RENEWAL
Ivar N PerinArgentinaOnyama Limba NEW
Juan F PaprockiAustraliaAmy Elsner RENEWAL
Deepesh H MaletJapanXuxue Feng RENEWAL
Johnson O SergiIndiaElwin Sharvill NEW
Aditya F CaudyCanadaBernardo Dominic NEW
Maria O GillianIndiaIvan Magalhaes NEW
Maria J GauchoFranceAmy Elsner QUALIFIED
Ivar I ButtUnited KingdomIvan Magalhaes NEGOTIATION
Mujtaba J MaletIndiaAnna Fali QUALIFIED
Claire D PoquetteFranceStephen Shaw UNQUALIFIED
Jefferson E PaprockiSpainAmy Elsner QUALIFIED
Kadeem O SchemmerBrazilElwin Sharvill RENEWAL
Antonio Q InouyeSpainAnna Fali NEW
Deepesh D ShinkoArgentinaAsiya Javayant QUALIFIED
Rodrigues J ButtUnited KingdomAmy Elsner QUALIFIED
Jefferson O GauchoFranceAnna Fali NEW
Costa E SlusarskiUnited KingdomAnna Fali QUALIFIED
Tony L MaletAustraliaStephen Shaw QUALIFIED
Tony S CaldareraItalyElwin Sharvill NEGOTIATION
Maisha M RulapaughRussiaStephen Shaw NEW
Mayumi Q GauchoCanadaStephen Shaw RENEWAL
Ivar Y ButtGermanyAsiya Javayant RENEWAL
Costa W OstroskyItalyAsiya Javayant NEW
Antonio A RimGermanyStephen Shaw RENEWAL
Ricardo I ButtUnited KingdomAsiya Javayant UNQUALIFIED
Deepesh L KuskoFranceAsiya Javayant NEW
David Y VenereJapanBernardo Dominic RENEWAL
Cody G StockhamCanadaOnyama Limba RENEWAL
Salvatore G MaletItalyIvan Magalhaes NEGOTIATION
Misaki J FigeroaJapanOnyama Limba RENEWAL
Maria B FlosiBrazilIoni Bowcher PROPOSAL
Sinclair G ShinkoAustraliaAnna Fali NEW
Deepesh U MaletCanadaAmy Elsner NEW
Wickens K MaletBrazilOnyama Limba RENEWAL
Izzy N PaprockiAustraliaAmy Elsner NEGOTIATION

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