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
Emily B CaudyItalyAmy Elsner RENEWAL
Juan L DoeJapanIoni Bowcher UNQUALIFIED
Chavez T MaletFranceStephen Shaw PROPOSAL
Maria F VenereGermanyOnyama Limba RENEWAL
Jeanfrancois M NestleJapanIoni Bowcher NEW
Greenwood R TollnerArgentinaIvan Magalhaes QUALIFIED
Clifford O DoeArgentinaAmy Elsner UNQUALIFIED
Maisha Z DoeUnited KingdomIoni Bowcher QUALIFIED
Morrow I CaldareraUnited KingdomAmy Elsner QUALIFIED
Claire F KolmetzIndiaOnyama Limba NEGOTIATION
Silvio Y RutaGermanyIoni Bowcher PROPOSAL
Faith A AmigonGermanyIoni Bowcher QUALIFIED
Julie F PaprockiCanadaIoni Bowcher UNQUALIFIED
Kaitlin J BologniaRussiaAsiya Javayant QUALIFIED
Morrow S MacleadAustraliaIoni Bowcher NEW
Greenwood X TollnerAustraliaIoni Bowcher NEGOTIATION
Adams D StensethJapanElwin Sharvill RENEWAL
James O TollnerCanadaIoni Bowcher PROPOSAL
Nicolas L GlickSpainBernardo Dominic UNQUALIFIED
Kaitlin V RulapaughIndiaXuxue Feng RENEWAL
Faith V DarakjyRussiaAmy Elsner QUALIFIED
Johnson I MaletCanadaAnna Fali PROPOSAL
Silvio F GarufiIndiaXuxue Feng RENEWAL
Claire D FigeroaRussiaElwin Sharvill PROPOSAL
Izzy G ChuiAustraliaAsiya Javayant NEGOTIATION
Aika Z CaudyJapanElwin Sharvill NEW
Jones S PaprockiItalyBernardo Dominic PROPOSAL
Claire Q GarufiSpainOnyama Limba NEW
Kadeem T VocelkaSpainAnna Fali QUALIFIED
Maria U PerinJapanElwin Sharvill QUALIFIED
Claire H AlbaresAustraliaXuxue Feng UNQUALIFIED
Isabel K AlbaresItalyAnna Fali NEGOTIATION
Rodrigues K SchemmerUnited KingdomElwin Sharvill QUALIFIED
Juan N DarakjySpainAmy Elsner PROPOSAL
Faith D WaycottRussiaElwin Sharvill PROPOSAL
Wickens I WieserJapanXuxue Feng NEGOTIATION
Mujtaba H VocelkaItalyOnyama Limba NEGOTIATION
Salvatore E CaudyItalyXuxue Feng RENEWAL
Ricardo G MacleadUnited KingdomAmy Elsner PROPOSAL
Ivar E WaycottAustraliaIoni Bowcher NEW
Munro T PerinRussiaAmy Elsner NEGOTIATION
Sinclair F FlosiJapanIoni Bowcher NEGOTIATION
Adams W MacleadJapanIoni Bowcher PROPOSAL
Adams M WieserCanadaAmy Elsner QUALIFIED
Juan V MaletGermanyElwin Sharvill NEGOTIATION
Darci J FlosiIndiaAsiya Javayant RENEWAL
Mujtaba W KuskoCanadaAmy Elsner RENEWAL
Adams O GarufiRussiaStephen Shaw UNQUALIFIED
Costa B GlickFranceAmy Elsner NEGOTIATION
Sinclair V ChuiItalyAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Johnson B SlusarskiCanadaElwin Sharvill NEGOTIATION
Ricardo Z CaldareraFranceBernardo Dominic NEW
Greenwood C CampainFranceXuxue Feng QUALIFIED
Cody D CampainJapanElwin Sharvill QUALIFIED
Maisha A FlosiItalyAmy Elsner UNQUALIFIED
Leja I GlickUnited KingdomIvan Magalhaes RENEWAL
Jennifer B GauchoGermanyOnyama Limba RENEWAL
Jones T InouyeFranceAsiya Javayant NEW
Darci P MarrierCanadaIvan Magalhaes RENEWAL
Francesco X TollnerSpainIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey T RimFrance2024-06-16Benton, John B Jr RENEWAL57Asiya Javayant
1001Misaki S IturbideAustralia2024-06-03Dorl, James J Esq UNQUALIFIED88Anna Fali
1002Aika B VenereItaly2024-06-02Rangoni Of Florence NEW18Amy Elsner
1003Murillo W AmigonCanada2024-06-13Chemel, James L Cpa PROPOSAL3Ioni Bowcher
1004Adams H MarrierCanada2024-06-08King, Christopher A Esq PROPOSAL8Onyama Limba
1005Jennifer N StockhamItaly2024-06-15Chanay, Jeffrey A Esq NEW44Elwin Sharvill
1006Julie H RulapaughGermany2024-05-29Chapman, Ross E Esq RENEWAL60Elwin Sharvill
1007Maria I CaudyCanada2024-06-14Benton, John B Jr QUALIFIED80Anna Fali
1008Aditya Q SchemmerSpain2024-06-04Benton, John B Jr RENEWAL33Anna Fali
1009Mujtaba M MarrierRussia2024-05-26Feiner Bros QUALIFIED39Asiya Javayant
1010James E GauchoAustralia2024-06-24Chapman, Ross E Esq PROPOSAL50Onyama Limba
1011Mayumi A AlbaresBrazil2024-06-01Morlong Associates PROPOSAL28Anna Fali
1012Kadeem O GarufiAustralia2024-05-29Chanay, Jeffrey A Esq NEW6Ioni Bowcher
1013Kaitlin J RutaIndia2024-06-04Printing Dimensions NEGOTIATION8Onyama Limba
1014Faith T WaycottFrance2024-06-10Chanay, Jeffrey A Esq RENEWAL32Stephen Shaw
1015Jennifer W SaylorsJapan2024-05-28Rousseaux, Michael Esq UNQUALIFIED22Bernardo Dominic
1016Emily B StensethArgentina2024-06-10Feltz Printing Service NEGOTIATION44Ivan Magalhaes
1017Greenwood S BriddickSpain2024-06-17Benton, John B Jr NEGOTIATION97Bernardo Dominic
1018Aditya C BowleyIndia2024-05-29Rangoni Of Florence NEW3Xuxue Feng
1019Ricardo P SergiJapan2024-06-24Dorl, James J Esq PROPOSAL25Anna Fali
1020Wickens N MarrierJapan2024-05-27Feltz Printing Service NEW17Ivan Magalhaes
1021Greenwood F WaycottSpain2024-06-20Feltz Printing Service PROPOSAL18Amy Elsner
1022Morrow C FollerGermany2024-06-16Dorl, James J Esq QUALIFIED94Asiya Javayant
1023Mujtaba N IturbideBrazil2024-06-01Printing Dimensions QUALIFIED13Ivan Magalhaes
1024Ivar C OldroydItaly2024-05-30Commercial Press PROPOSAL9Amy Elsner
1025Greenwood A FlosiRussia2024-06-21Rangoni Of Florence PROPOSAL87Asiya Javayant
1026Jennifer S ChuiGermany2024-06-22Benton, John B Jr NEGOTIATION62Elwin Sharvill
1027Leon I VocelkaJapan2024-06-04Chanay, Jeffrey A Esq UNQUALIFIED84Stephen Shaw
1028Ricardo R BriddickCanada2024-06-13Dorl, James J Esq UNQUALIFIED12Ioni Bowcher
1029Juan Q IturbideItaly2024-06-20Rangoni Of Florence RENEWAL2Stephen Shaw
1030Octavia Z IturbideJapan2024-06-07Morlong Associates UNQUALIFIED97Stephen Shaw
1031Francesco Q AlbaresItaly2024-06-23Benton, John B Jr NEW71Ioni Bowcher
1032Murillo P PerinRussia2024-06-13Buckley Miller Wright NEW14Bernardo Dominic
1033Claire P BriddickBrazil2024-06-15Commercial Press PROPOSAL65Amy Elsner
1034Claire R DilliardIndia2024-05-26Truhlar And Truhlar Attys PROPOSAL0Ioni Bowcher
1035Wickens I GillianItaly2024-06-07Feltz Printing Service QUALIFIED96Onyama Limba
1036Deepesh D FigeroaItaly2024-06-23Chemel, James L Cpa RENEWAL15Ioni Bowcher
1037Aruna E CaldareraGermany2024-06-06Dorl, James J Esq QUALIFIED37Elwin Sharvill
1038Kaitlin C FigeroaIndia2024-06-10Feltz Printing Service RENEWAL74Ioni Bowcher
1039Maisha S BriddickJapan2024-06-15Feiner Bros QUALIFIED60Ioni Bowcher
1040Adams X GauchoIndia2024-06-11Chapman, Ross E Esq UNQUALIFIED70Asiya Javayant
1041Mayumi U VocelkaIndia2024-06-13Feltz Printing Service RENEWAL11Bernardo Dominic
1042Arvin G KuskoIndia2024-06-12Rangoni Of Florence NEW21Stephen Shaw
1043Mujtaba I FerenczArgentina2024-05-30Feiner Bros NEW91Amy Elsner
1044Jones P StensethUnited Kingdom2024-06-08Rangoni Of Florence PROPOSAL91Stephen Shaw
1045Aika M WieserItaly2024-06-07Buckley Miller Wright QUALIFIED70Asiya Javayant
1046Salvatore V GarufiItaly2024-06-18Benton, John B Jr RENEWAL96Amy Elsner
1047Jones X RimFrance2024-06-04Rousseaux, Michael Esq QUALIFIED69Ioni Bowcher
1048Greenwood X FerenczRussia2024-06-14Dorl, James J Esq NEW32Bernardo Dominic
1049Julie M AlbaresRussia2024-06-02Chemel, James L Cpa RENEWAL0Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Emily X MarrierGermanyAnna Fali QUALIFIED
Deepesh X BriddickAustraliaAmy Elsner PROPOSAL
Munro O SchemmerBrazilOnyama Limba NEGOTIATION
Jefferson L FigeroaGermanyAsiya Javayant QUALIFIED
Mayumi T WieserUnited KingdomXuxue Feng NEW
Maria M RulapaughCanadaAnna Fali NEGOTIATION
Clifford K PerinSpainOnyama Limba UNQUALIFIED
Aruna W NickaSpainOnyama Limba NEGOTIATION
Ivar M KolmetzUnited KingdomAsiya Javayant NEW
Clifford O ButtAustraliaIvan Magalhaes NEGOTIATION
Aika D KuskoIndiaIvan Magalhaes QUALIFIED
Isabel Y OldroydRussiaAnna Fali QUALIFIED
Darci B NickaAustraliaAsiya Javayant NEW
Ivar E MorascaFranceAmy Elsner NEW
Costa C IturbideArgentinaBernardo Dominic NEW
Chavez S MaletFranceIvan Magalhaes QUALIFIED
Stacey Y RulapaughRussiaIvan Magalhaes RENEWAL
Chavez T PaprockiSpainElwin Sharvill UNQUALIFIED
Antonio A TollnerBrazilBernardo Dominic QUALIFIED
Faith S KolmetzUnited KingdomElwin Sharvill UNQUALIFIED
Francesco A PerinFranceAsiya Javayant PROPOSAL
Juan S MaletAustraliaIvan Magalhaes NEW
Munro T OldroydFranceOnyama Limba NEGOTIATION
Isabel Z MaletBrazilStephen Shaw NEW
Munro L PerinBrazilIoni Bowcher NEGOTIATION
Antonio V MarrierCanadaAnna Fali UNQUALIFIED
Kadeem L OstroskyGermanyAnna Fali RENEWAL
James O NestleJapanAnna Fali NEGOTIATION
Ashley A GarufiItalyBernardo Dominic NEW
Aruna T KolmetzFranceOnyama Limba UNQUALIFIED
Aruna Q ChuiItalyAnna Fali UNQUALIFIED
Antonio L InouyeArgentinaAnna Fali QUALIFIED
Chavez H DarakjyCanadaAnna Fali RENEWAL
Leja J IturbideRussiaElwin Sharvill PROPOSAL
Ashley S FigeroaIndiaIvan Magalhaes RENEWAL
Aditya L BriddickItalyXuxue Feng QUALIFIED
Jeanfrancois P PerinIndiaElwin Sharvill NEGOTIATION
Ricardo M IturbideItalyAnna Fali NEW
Sinclair D OstroskyAustraliaAmy Elsner NEW
Jones G MarrierUnited KingdomStephen Shaw NEGOTIATION
Smith X RulapaughGermanyBernardo Dominic PROPOSAL
Juan D FollerArgentinaIvan Magalhaes RENEWAL
Mujtaba L DilliardSpainAnna Fali QUALIFIED
Smith Q GauchoRussiaIvan Magalhaes RENEWAL
Chavez I GlickAustraliaAmy Elsner PROPOSAL
Aditya N SergiAustraliaIvan Magalhaes NEGOTIATION
Maria B PerinAustraliaAmy Elsner QUALIFIED
Octavia V ChuiGermanyAsiya Javayant UNQUALIFIED
Aika I StockhamRussiaAnna Fali NEW
Clifford Y FlosiAustraliaAmy Elsner QUALIFIED
Frozen Columns
Name
Isabel W Kolmetz
Francesco L Tollner
Cody A Whobrey
James J Gaucho
Emily C Caudy
Claire Y Gaucho
Isabel Z Marrier
Johnson P Saylors
Octavia I Schemmer
Juan B Foller
Cody B Ruta
Emily E Bolognia
Juan Q Malet
Antonio I Glick
Sinclair X Briddick
Octavia L Nestle
Wickens U Wieser
Deepesh T Maclead
Wickens L Ruta
Jeanfrancois N Paprocki
Leja R Inouye
Salvatore O Malet
Claire S Caudy
Stacey D Tollner
Emily X Nestle
Ricardo M Inouye
Wickens O Slusarski
Maisha C Foller
Smith S Bowley
Isabel M Whobrey
Sinclair Z Ruta
Aika Y Maclead
Maisha H Kolmetz
Julie E Darakjy
Stacey U Morasca
Arvin P Chui
James X Morasca
Leja H Marrier
Jones N Paprocki
Jones A Gillian
Aditya Z Nestle
Darci W Chui
Leja M Nicka
Izzy H Dilliard
Maisha H Garufi
Kadeem S Rim
Clifford B Butt
Ricardo F Caudy
Morrow D Kolmetz
Munro I Foller
IdCountryDate
1000Argentina2024-06-20
1001Argentina2024-06-01
1002India2024-06-16
1003United Kingdom2024-05-27
1004France2024-06-15
1005Japan2024-05-28
1006Canada2024-05-30
1007Italy2024-06-24
1008India2024-06-15
1009Argentina2024-06-02
1010Russia2024-06-02
1011United Kingdom2024-06-02
1012Brazil2024-06-03
1013Spain2024-05-27
1014Italy2024-06-08
1015Japan2024-06-22
1016Brazil2024-06-02
1017Canada2024-06-03
1018Canada2024-06-21
1019France2024-05-29
1020Spain2024-06-09
1021Australia2024-05-26
1022Canada2024-06-18
1023Japan2024-06-08
1024France2024-05-30
1025Canada2024-06-22
1026India2024-05-27
1027Argentina2024-06-11
1028Russia2024-06-03
1029India2024-06-22
1030Russia2024-05-29
1031India2024-05-26
1032Canada2024-06-07
1033Brazil2024-06-07
1034United Kingdom2024-06-16
1035United Kingdom2024-06-20
1036Argentina2024-06-14
1037Italy2024-06-23
1038Canada2024-06-23
1039India2024-06-15
1040United Kingdom2024-06-17
1041India2024-05-26
1042Italy2024-05-30
1043India2024-06-24
1044Argentina2024-05-31
1045India2024-05-28
1046United Kingdom2024-05-27
1047Argentina2024-06-06
1048United Kingdom2024-06-18
1049Japan2024-06-14

On-Demand Data

NameIdCountryDate
Chavez Q Venere1000Japan2024-06-18
Stacey N Sergi1001India2024-05-31
Darci B Perin1002Italy2024-06-13
Isabel W Marrier1003Italy2024-06-21
Aruna O Schemmer1004Argentina2024-06-04
Aruna T Morasca1005United Kingdom2024-06-19
Smith W Foller1006Italy2024-06-04
David F Paprocki1007Argentina2024-06-13
Stacey R Shinko1008Canada2024-06-03
Misaki R Waycott1009Italy2024-05-31
Sinclair X Wieser1010Russia2024-06-09
Faith C Figeroa1011Japan2024-05-28
Salvatore G Caudy1012Brazil2024-06-21
Maisha F Marrier1013India2024-06-01
Jennifer P Inouye1014Russia2024-05-31
Smith Y Ostrosky1015Russia2024-06-04
Silvio G Caldarera1016Brazil2024-06-09
Claire N Slusarski1017Germany2024-05-27
Salvatore R Shinko1018India2024-05-27
Wickens J Foller1019Germany2024-06-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens D WieserRussiaOnyama Limba QUALIFIED
Clifford U WieserSpainAmy Elsner PROPOSAL
Aika W DoeFranceAsiya Javayant NEW
Jones H GarufiArgentinaIvan Magalhaes NEW
Faith N MarrierUnited KingdomIvan Magalhaes QUALIFIED
Misaki Q InouyeArgentinaOnyama Limba RENEWAL
Clifford X SlusarskiJapanIvan Magalhaes UNQUALIFIED
Ivar O GlickBrazilIvan Magalhaes RENEWAL
Aruna F MaletIndiaElwin Sharvill PROPOSAL
Silvio D NestleGermanyXuxue Feng NEW
Claire O KolmetzIndiaElwin Sharvill QUALIFIED
Aditya N WhobreyCanadaAnna Fali RENEWAL
Nicolas Y FollerRussiaXuxue Feng NEGOTIATION
Izzy V OstroskyJapanXuxue Feng PROPOSAL
Deepesh U MarrierBrazilAmy Elsner NEGOTIATION
Antonio D FigeroaRussiaBernardo Dominic QUALIFIED
Jones J TollnerItalyIvan Magalhaes QUALIFIED
Jefferson H InouyeArgentinaAsiya Javayant PROPOSAL
Juan P TollnerArgentinaAmy Elsner NEW
Sinclair Q GauchoRussiaAmy Elsner UNQUALIFIED
Smith B TollnerJapanOnyama Limba PROPOSAL
Costa X SergiBrazilElwin Sharvill NEW
Leja R WhobreyRussiaIoni Bowcher RENEWAL
Kaitlin F WieserFranceElwin Sharvill NEGOTIATION
Rodrigues X VenereArgentinaIvan Magalhaes NEW
Smith J PoquetteJapanOnyama Limba UNQUALIFIED
Ivar D SlusarskiRussiaAnna Fali NEGOTIATION
Arvin X OstroskyRussiaElwin Sharvill PROPOSAL
Adams B RimAustraliaAnna Fali NEW
Jennifer L StockhamArgentinaXuxue Feng QUALIFIED
Jefferson B WieserIndiaStephen Shaw UNQUALIFIED
Nicolas U GauchoAustraliaIvan Magalhaes UNQUALIFIED
Aruna N OldroydJapanXuxue Feng QUALIFIED
Morrow P SlusarskiIndiaXuxue Feng QUALIFIED
Izzy L ChuiFranceStephen Shaw QUALIFIED
Francesco T PaprockiFranceIoni Bowcher NEGOTIATION
Aruna X StensethArgentinaIoni Bowcher QUALIFIED
Kaitlin G ShinkoItalyAmy Elsner QUALIFIED
Mujtaba Q BologniaAustraliaAnna Fali UNQUALIFIED
Leon O RutaBrazilIoni Bowcher NEW

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