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
Maisha N DilliardArgentinaAmy Elsner UNQUALIFIED
Silvio V FollerIndiaAsiya Javayant UNQUALIFIED
Ashley M MaletJapanAsiya Javayant NEW
Cody H CaudyFranceAsiya Javayant RENEWAL
Antonio V OldroydJapanStephen Shaw RENEWAL
Sinclair N FerenczSpainIvan Magalhaes QUALIFIED
Aruna Y FerenczUnited KingdomOnyama Limba UNQUALIFIED
Octavia U MacleadCanadaAnna Fali NEGOTIATION
Cody P ChuiJapanBernardo Dominic QUALIFIED
Aika U VenereJapanAsiya Javayant QUALIFIED
Adams O ButtArgentinaXuxue Feng QUALIFIED
Julie J SaylorsIndiaStephen Shaw QUALIFIED
Octavia J SlusarskiArgentinaIoni Bowcher RENEWAL
Munro S FerenczItalyOnyama Limba PROPOSAL
Adams S FlosiJapanOnyama Limba NEW
Chavez D OstroskyRussiaAsiya Javayant UNQUALIFIED
Maisha C SaylorsIndiaAnna Fali QUALIFIED
Maria X MarrierCanadaAnna Fali RENEWAL
Smith O CampainItalyXuxue Feng NEGOTIATION
Faith D CaldareraGermanyAsiya Javayant RENEWAL
Julie J DarakjyRussiaStephen Shaw NEGOTIATION
Ricardo I BriddickSpainOnyama Limba NEGOTIATION
Greenwood F DarakjyArgentinaBernardo Dominic UNQUALIFIED
Silvio C ChuiItalyBernardo Dominic NEW
Stacey P SergiArgentinaElwin Sharvill NEGOTIATION
Francesco A NickaBrazilElwin Sharvill RENEWAL
Leon R ChuiSpainElwin Sharvill UNQUALIFIED
Jefferson K MacleadArgentinaIoni Bowcher RENEWAL
Kaitlin I CampainIndiaIoni Bowcher NEGOTIATION
Claire L NickaIndiaAmy Elsner NEGOTIATION
Aruna X InouyeAustraliaXuxue Feng UNQUALIFIED
Faith J BriddickBrazilIvan Magalhaes RENEWAL
David C BowleyBrazilXuxue Feng UNQUALIFIED
Francesco F RimJapanAmy Elsner QUALIFIED
Alejandro S SchemmerJapanStephen Shaw NEGOTIATION
Kaitlin J PerinRussiaStephen Shaw NEGOTIATION
Mayumi Z CaudyCanadaIoni Bowcher PROPOSAL
Alejandro G SchemmerSpainAmy Elsner NEGOTIATION
Cody P DilliardRussiaBernardo Dominic NEGOTIATION
Ashley E ButtArgentinaOnyama Limba NEW
Ivar E StockhamSpainXuxue Feng PROPOSAL
Darci D FollerBrazilOnyama Limba NEW
David B StockhamAustraliaAsiya Javayant PROPOSAL
David Y MarrierAustraliaBernardo Dominic PROPOSAL
Chavez S SaylorsIndiaElwin Sharvill PROPOSAL
Misaki G MacleadGermanyXuxue Feng NEGOTIATION
Mayumi E InouyeFranceIoni Bowcher PROPOSAL
Cody V GillianCanadaElwin Sharvill PROPOSAL
Munro L KolmetzArgentinaOnyama Limba PROPOSAL
Morrow K RimCanadaStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Adams U ChuiJapanXuxue Feng UNQUALIFIED
Chavez S BriddickGermanyIvan Magalhaes UNQUALIFIED
Jennifer T PoquetteCanadaAnna Fali UNQUALIFIED
Claire J GillianArgentinaIoni Bowcher NEGOTIATION
Aruna G PaprockiCanadaAsiya Javayant QUALIFIED
Juan E GillianArgentinaOnyama Limba QUALIFIED
Morrow O RoysterCanadaIvan Magalhaes PROPOSAL
Wickens O GillianRussiaOnyama Limba RENEWAL
Leja M ButtIndiaAmy Elsner NEW
Juan K SlusarskiBrazilStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio S FollerUnited Kingdom2024-06-06Morlong Associates NEW65Onyama Limba
1001Nicolas H StockhamFrance2024-05-26Dorl, James J Esq NEW62Xuxue Feng
1002Antonio M GillianIndia2024-05-28Buckley Miller Wright NEGOTIATION44Anna Fali
1003Antonio C BologniaGermany2024-05-26Chapman, Ross E Esq QUALIFIED45Ioni Bowcher
1004Smith F CaldareraBrazil2024-05-28Commercial Press NEGOTIATION70Elwin Sharvill
1005Rodrigues T ChuiGermany2024-05-19Chemel, James L Cpa NEGOTIATION0Anna Fali
1006Claire T VenereFrance2024-05-15King, Christopher A Esq NEGOTIATION73Ioni Bowcher
1007Faith E PaprockiItaly2024-05-12Printing Dimensions QUALIFIED14Ivan Magalhaes
1008Rodrigues C PerinJapan2024-05-20Truhlar And Truhlar Attys QUALIFIED50Stephen Shaw
1009Aditya D NestleArgentina2024-05-17Dorl, James J Esq NEW48Xuxue Feng
1010Adams W MorascaJapan2024-05-10Feiner Bros PROPOSAL48Elwin Sharvill
1011Isabel B MaletAustralia2024-06-03Morlong Associates NEGOTIATION27Asiya Javayant
1012Clifford U SaylorsFrance2024-05-31Truhlar And Truhlar Attys RENEWAL78Xuxue Feng
1013Salvatore X FollerSpain2024-05-26Chapman, Ross E Esq NEGOTIATION84Bernardo Dominic
1014Julie X PerinGermany2024-05-30Benton, John B Jr QUALIFIED51Onyama Limba
1015Leja R RimFrance2024-05-17Feltz Printing Service UNQUALIFIED88Ivan Magalhaes
1016Munro T OldroydFrance2024-05-08Printing Dimensions NEGOTIATION15Asiya Javayant
1017David P ButtAustralia2024-05-30Feiner Bros RENEWAL25Elwin Sharvill
1018Francesco F BriddickUnited Kingdom2024-05-18Benton, John B Jr NEGOTIATION21Xuxue Feng
1019Mujtaba L KolmetzArgentina2024-06-02Buckley Miller Wright NEW41Ioni Bowcher
1020Jones C FollerUnited Kingdom2024-05-09Truhlar And Truhlar Attys RENEWAL85Stephen Shaw
1021Maisha Y SlusarskiSpain2024-05-25Dorl, James J Esq QUALIFIED72Ioni Bowcher
1022Silvio X RoysterCanada2024-05-16Chanay, Jeffrey A Esq NEW21Stephen Shaw
1023Aruna V VenereFrance2024-05-15Chemel, James L Cpa QUALIFIED15Anna Fali
1024Francesco R BowleyGermany2024-05-21Dorl, James J Esq NEGOTIATION91Xuxue Feng
1025Nicolas A MacleadFrance2024-05-20King, Christopher A Esq NEW33Onyama Limba
1026Salvatore H ShinkoFrance2024-06-06Dorl, James J Esq UNQUALIFIED42Ioni Bowcher
1027Aika D RutaArgentina2024-05-17Rousseaux, Michael Esq PROPOSAL85Onyama Limba
1028Clifford K RutaJapan2024-05-21Printing Dimensions NEW92Xuxue Feng
1029Salvatore I GillianUnited Kingdom2024-06-03Buckley Miller Wright PROPOSAL6Onyama Limba
1030Wickens K CaudyAustralia2024-05-14Benton, John B Jr PROPOSAL44Amy Elsner
1031Greenwood D NestleItaly2024-06-03Rangoni Of Florence PROPOSAL50Ioni Bowcher
1032Mayumi L InouyeCanada2024-05-17Truhlar And Truhlar Attys RENEWAL90Ivan Magalhaes
1033Claire G GarufiGermany2024-05-09Chemel, James L Cpa QUALIFIED13Ivan Magalhaes
1034Misaki E MacleadItaly2024-05-14Dorl, James J Esq PROPOSAL29Anna Fali
1035Kadeem U CampainJapan2024-05-20Feltz Printing Service PROPOSAL57Elwin Sharvill
1036Adams G SergiJapan2024-05-31Feltz Printing Service NEW63Amy Elsner
1037Faith T BowleyAustralia2024-05-24Chanay, Jeffrey A Esq QUALIFIED4Xuxue Feng
1038Mujtaba Z RoysterJapan2024-06-01Printing Dimensions UNQUALIFIED82Ioni Bowcher
1039Jeanfrancois H CaudyAustralia2024-05-12Feltz Printing Service UNQUALIFIED60Ioni Bowcher
1040Aruna N FerenczArgentina2024-05-20Truhlar And Truhlar Attys UNQUALIFIED28Anna Fali
1041Francesco T GarufiSpain2024-05-13Commercial Press PROPOSAL72Onyama Limba
1042Jones K ChuiArgentina2024-05-09Rangoni Of Florence NEGOTIATION8Amy Elsner
1043Greenwood A StensethFrance2024-05-14Chapman, Ross E Esq UNQUALIFIED30Onyama Limba
1044Salvatore L PoquetteAustralia2024-06-03Rangoni Of Florence PROPOSAL76Ivan Magalhaes
1045Wickens I RutaBrazil2024-05-31Chanay, Jeffrey A Esq UNQUALIFIED79Ioni Bowcher
1046Deepesh U MacleadBrazil2024-05-25Chemel, James L Cpa NEW77Asiya Javayant
1047Maria P CaldareraIndia2024-05-15Chemel, James L Cpa QUALIFIED65Asiya Javayant
1048Mayumi T BriddickArgentina2024-05-26Buckley Miller Wright NEGOTIATION48Xuxue Feng
1049Faith A BologniaGermany2024-05-09Feiner Bros QUALIFIED32Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
David T IturbideJapanAsiya Javayant PROPOSAL
Maria O PerinBrazilIvan Magalhaes QUALIFIED
Munro H FollerJapanIoni Bowcher NEW
Ashley K OldroydUnited KingdomAsiya Javayant QUALIFIED
Murillo K MorascaArgentinaOnyama Limba RENEWAL
Cody O SaylorsCanadaXuxue Feng RENEWAL
Smith W FigeroaSpainAmy Elsner NEW
David K MaletUnited KingdomIoni Bowcher RENEWAL
Emily T RimUnited KingdomIoni Bowcher UNQUALIFIED
Mujtaba C MaletJapanAnna Fali PROPOSAL
Aika A DoeArgentinaAnna Fali NEW
Morrow Q GauchoGermanyAsiya Javayant UNQUALIFIED
Julie V WieserSpainAmy Elsner QUALIFIED
James N MarrierItalyIoni Bowcher PROPOSAL
Ivar H NestleCanadaStephen Shaw QUALIFIED
Smith M AmigonUnited KingdomIoni Bowcher QUALIFIED
Julie I WhobreyCanadaAnna Fali NEGOTIATION
Izzy V KuskoRussiaAmy Elsner UNQUALIFIED
Clifford I PaprockiJapanAnna Fali QUALIFIED
Leja C VenereSpainStephen Shaw UNQUALIFIED
Adams Z FerenczBrazilAsiya Javayant RENEWAL
Jones P GlickSpainAmy Elsner UNQUALIFIED
Morrow C NestleItalyXuxue Feng PROPOSAL
Jeanfrancois O GillianBrazilIoni Bowcher QUALIFIED
Adams E TollnerIndiaAsiya Javayant RENEWAL
Kadeem W MarrierJapanElwin Sharvill UNQUALIFIED
Antonio M CaldareraJapanXuxue Feng RENEWAL
Adams E NickaIndiaAnna Fali QUALIFIED
Mujtaba T MaletItalyStephen Shaw NEGOTIATION
Alejandro V NickaArgentinaXuxue Feng NEW
Claire J InouyeItalyStephen Shaw NEW
Aruna N PerinBrazilAsiya Javayant NEW
David M ButtFranceElwin Sharvill NEGOTIATION
Clifford E BriddickCanadaOnyama Limba NEW
Silvio R WaycottIndiaOnyama Limba NEW
Mayumi W RimIndiaOnyama Limba UNQUALIFIED
Wickens S ChuiIndiaBernardo Dominic QUALIFIED
Jennifer L FigeroaSpainAnna Fali UNQUALIFIED
Leon Z DilliardArgentinaStephen Shaw PROPOSAL
David O InouyeFranceOnyama Limba QUALIFIED
Ivar S FigeroaJapanStephen Shaw UNQUALIFIED
Julie Y ChuiGermanyElwin Sharvill NEGOTIATION
Morrow K AlbaresAustraliaAnna Fali PROPOSAL
Silvio G VenereIndiaXuxue Feng NEGOTIATION
Costa Q RoysterFranceAnna Fali RENEWAL
Octavia V RulapaughBrazilElwin Sharvill UNQUALIFIED
Maria J GauchoCanadaIvan Magalhaes PROPOSAL
Sinclair T PoquetteFranceIoni Bowcher QUALIFIED
Mayumi V IturbideArgentinaElwin Sharvill UNQUALIFIED
Deepesh C FollerCanadaElwin Sharvill PROPOSAL
Frozen Columns
Name
Maisha G Campain
Maria E Butt
Deepesh V Bolognia
Aditya I Kolmetz
Nicolas I Malet
Julie T Campain
Mujtaba X Vocelka
Chavez Z Darakjy
Ivar C Slusarski
Jeanfrancois J Flosi
Leja L Royster
Aruna L Morasca
Aruna S Malet
Clifford Z Venere
Morrow S Perin
Johnson G Nestle
Claire L Venere
Silvio R Doe
Munro C Briddick
Cody M Darakjy
Silvio Y Morasca
Rodrigues C Morasca
Clifford U Schemmer
Morrow F Rulapaugh
Francesco S Albares
Tony D Glick
Murillo X Gillian
Leon M Stockham
Misaki Q Rulapaugh
Johnson P Vocelka
Kaitlin Q Whobrey
Johnson T Dilliard
Salvatore H Marrier
Chavez N Bowley
Ashley Q Foller
Ashley H Marrier
Wickens P Rulapaugh
Smith F Paprocki
Sinclair R Sergi
Izzy Q Stenseth
Alejandro F Darakjy
Chavez M Inouye
Aika M Maclead
Cody C Inouye
Jones X Stenseth
Arvin U Rulapaugh
Rodrigues S Garufi
Maria A Malet
Clifford L Kolmetz
Silvio M Sergi
IdCountryDate
1000Japan2024-05-23
1001Italy2024-05-13
1002Brazil2024-06-03
1003Brazil2024-05-28
1004Germany2024-06-04
1005Spain2024-05-28
1006Italy2024-05-18
1007United Kingdom2024-05-12
1008United Kingdom2024-05-10
1009Canada2024-05-19
1010Japan2024-05-13
1011Brazil2024-06-02
1012Australia2024-05-09
1013Japan2024-05-26
1014Spain2024-05-25
1015Spain2024-06-04
1016Russia2024-06-05
1017France2024-05-23
1018India2024-06-06
1019Italy2024-05-29
1020Spain2024-05-17
1021Brazil2024-06-01
1022France2024-05-08
1023United Kingdom2024-05-30
1024Japan2024-05-15
1025Canada2024-05-29
1026United Kingdom2024-05-09
1027Germany2024-05-30
1028Australia2024-05-28
1029Italy2024-05-21
1030Russia2024-05-26
1031Brazil2024-05-27
1032Germany2024-05-23
1033Germany2024-05-12
1034France2024-05-13
1035India2024-05-20
1036France2024-06-03
1037France2024-05-11
1038Canada2024-05-24
1039Brazil2024-05-18
1040Japan2024-05-09
1041Australia2024-05-10
1042Italy2024-05-09
1043Russia2024-05-12
1044Australia2024-06-06
1045United Kingdom2024-06-02
1046Japan2024-06-02
1047Russia2024-05-09
1048Australia2024-05-09
1049Argentina2024-05-16

On-Demand Data

NameIdCountryDate
Alejandro J Nestle1000Russia2024-05-16
Kaitlin R Vocelka1001Germany2024-06-06
Antonio D Gaucho1002Brazil2024-06-02
Alejandro A Oldroyd1003Canada2024-05-11
Alejandro B Shinko1004United Kingdom2024-06-03
Leja S Caldarera1005India2024-05-31
James G Wieser1006Germany2024-05-08
Isabel F Flosi1007Australia2024-06-05
Clifford T Nestle1008Canada2024-05-22
Claire P Iturbide1009Australia2024-05-18
Stacey Q Schemmer1010Japan2024-05-29
Jones D Butt1011Japan2024-05-23
Johnson J Inouye1012France2024-05-28
Juan S Wieser1013Spain2024-05-28
Emily L Slusarski1014Argentina2024-05-11
Misaki H Paprocki1015Italy2024-05-16
Aika R Nestle1016Germany2024-05-31
Tony L Flosi1017United Kingdom2024-05-21
Kaitlin M Kolmetz1018Russia2024-05-23
Munro D Maclead1019France2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens B CampainUnited KingdomAnna Fali PROPOSAL
Mujtaba L AmigonJapanElwin Sharvill PROPOSAL
Kaitlin K CaudyUnited KingdomAnna Fali PROPOSAL
Leon R DoeCanadaBernardo Dominic QUALIFIED
Cody F StockhamAustraliaBernardo Dominic RENEWAL
Costa H MaletSpainXuxue Feng NEW
Stacey N MacleadCanadaIvan Magalhaes RENEWAL
Cody R ChuiIndiaStephen Shaw NEGOTIATION
Juan R CaldareraIndiaIoni Bowcher PROPOSAL
Murillo O MacleadIndiaIvan Magalhaes QUALIFIED
Aika V GillianCanadaAmy Elsner PROPOSAL
Aruna L SchemmerSpainElwin Sharvill NEW
Octavia F CampainGermanyAsiya Javayant UNQUALIFIED
Misaki S SlusarskiCanadaAnna Fali UNQUALIFIED
Francesco H ChuiAustraliaStephen Shaw UNQUALIFIED
Tony O MaletGermanyBernardo Dominic PROPOSAL
Nicolas S OstroskyJapanIvan Magalhaes PROPOSAL
Tony K CaldareraJapanAmy Elsner QUALIFIED
Jennifer V WaycottArgentinaStephen Shaw NEW
Leon R WhobreyGermanyIvan Magalhaes QUALIFIED
Kadeem P StensethGermanyAmy Elsner QUALIFIED
Aditya W WieserFranceAsiya Javayant QUALIFIED
Jeanfrancois U GillianBrazilStephen Shaw QUALIFIED
Alejandro G DilliardRussiaStephen Shaw PROPOSAL
Misaki M WhobreyUnited KingdomBernardo Dominic PROPOSAL
James G FollerCanadaXuxue Feng NEW
Mujtaba V MaletRussiaStephen Shaw UNQUALIFIED
Kaitlin J PoquetteGermanyAsiya Javayant NEGOTIATION
Greenwood N DarakjyIndiaAmy Elsner NEW
Maria F DarakjyItalyOnyama Limba RENEWAL
Jeanfrancois R GlickItalyOnyama Limba RENEWAL
Cody C GarufiFranceIvan Magalhaes QUALIFIED
Antonio Z RoysterSpainAnna Fali QUALIFIED
Faith L TollnerArgentinaStephen Shaw NEGOTIATION
Claire F ChuiAustraliaAmy Elsner RENEWAL
Emily H CaudyBrazilBernardo Dominic QUALIFIED
Munro T IturbideJapanOnyama Limba NEGOTIATION
Deepesh C PoquetteItalyAnna Fali NEGOTIATION
Sinclair W CampainJapanStephen Shaw QUALIFIED
Jennifer T FlosiGermanyAsiya Javayant 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>