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
Mujtaba M StockhamFranceAmy Elsner NEGOTIATION
Silvio Z RoysterCanadaXuxue Feng QUALIFIED
Maisha Q NickaIndiaAnna Fali RENEWAL
Claire E GarufiArgentinaElwin Sharvill NEW
Adams R MaletFranceXuxue Feng NEGOTIATION
Juan L AlbaresUnited KingdomElwin Sharvill RENEWAL
Maisha U AmigonItalyOnyama Limba RENEWAL
Arvin G BriddickAustraliaElwin Sharvill UNQUALIFIED
Ashley U NestleFranceAsiya Javayant RENEWAL
Emily H DarakjySpainStephen Shaw UNQUALIFIED
Misaki L InouyeFranceXuxue Feng QUALIFIED
Jones D WieserJapanAsiya Javayant NEW
Leja H NickaUnited KingdomStephen Shaw QUALIFIED
Octavia J RimAustraliaIvan Magalhaes QUALIFIED
Stacey L CaudyUnited KingdomIoni Bowcher PROPOSAL
Francesco A PerinCanadaAnna Fali PROPOSAL
Alejandro A WhobreyJapanIoni Bowcher NEW
Izzy V GauchoRussiaElwin Sharvill UNQUALIFIED
Stacey T CaldareraBrazilXuxue Feng UNQUALIFIED
Mujtaba J MaletBrazilAsiya Javayant NEW
Costa Z BologniaAustraliaIvan Magalhaes RENEWAL
Wickens H AlbaresGermanyAmy Elsner RENEWAL
Jones P MarrierArgentinaOnyama Limba UNQUALIFIED
Claire B GlickIndiaOnyama Limba UNQUALIFIED
Cody E StockhamUnited KingdomBernardo Dominic UNQUALIFIED
Maria R FlosiAustraliaAnna Fali RENEWAL
Emily E BriddickJapanIvan Magalhaes RENEWAL
Greenwood X WhobreyIndiaAsiya Javayant UNQUALIFIED
Silvio L RulapaughUnited KingdomXuxue Feng RENEWAL
Francesco Y WaycottJapanAnna Fali QUALIFIED
Darci V CaudyGermanyIvan Magalhaes QUALIFIED
Kadeem S DoeArgentinaIvan Magalhaes PROPOSAL
Antonio I MaletRussiaStephen Shaw RENEWAL
Aruna X FerenczArgentinaAnna Fali PROPOSAL
Sinclair I CaldareraUnited KingdomBernardo Dominic PROPOSAL
Kaitlin B NestleCanadaStephen Shaw QUALIFIED
Kadeem F AmigonRussiaAsiya Javayant QUALIFIED
Clifford D GlickUnited KingdomAmy Elsner UNQUALIFIED
Aditya S PoquetteCanadaAsiya Javayant UNQUALIFIED
Rodrigues W VocelkaIndiaXuxue Feng QUALIFIED
Juan M RimItalyStephen Shaw PROPOSAL
Rodrigues O MorascaJapanIoni Bowcher PROPOSAL
Salvatore K RimFranceElwin Sharvill RENEWAL
Aditya A MaletBrazilAnna Fali QUALIFIED
Darci D RutaIndiaIvan Magalhaes QUALIFIED
Murillo X InouyeIndiaAsiya Javayant NEW
Rodrigues A CampainAustraliaXuxue Feng NEGOTIATION
Kaitlin I CaldareraIndiaIvan Magalhaes NEW
Darci A TollnerCanadaAsiya Javayant PROPOSAL
Misaki H StensethJapanAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aruna H PaprockiCanadaIoni Bowcher UNQUALIFIED
Faith Y IturbideGermanyAsiya Javayant RENEWAL
Ricardo E MarrierFranceIvan Magalhaes RENEWAL
Adams A MorascaSpainAnna Fali NEGOTIATION
Jennifer E AmigonCanadaIoni Bowcher RENEWAL
Darci F SchemmerArgentinaAnna Fali UNQUALIFIED
Jeanfrancois G SergiIndiaIoni Bowcher RENEWAL
Mujtaba O DoeSpainAnna Fali NEGOTIATION
Morrow Y OstroskySpainAsiya Javayant QUALIFIED
Johnson T MacleadBrazilBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair I SaylorsCanada2025-05-29Chemel, James L Cpa NEGOTIATION13Ivan Magalhaes
1001Murillo M OldroydArgentina2025-06-09Truhlar And Truhlar Attys PROPOSAL27Elwin Sharvill
1002Jennifer D TollnerRussia2025-06-14Benton, John B Jr NEGOTIATION2Asiya Javayant
1003Jeanfrancois H FigeroaArgentina2025-05-31Rousseaux, Michael Esq NEW11Anna Fali
1004Maisha U MarrierCanada2025-05-18Chemel, James L Cpa UNQUALIFIED60Anna Fali
1005Smith I IturbideAustralia2025-05-31Commercial Press QUALIFIED35Anna Fali
1006Wickens P WaycottRussia2025-06-14Truhlar And Truhlar Attys QUALIFIED10Elwin Sharvill
1007Smith F FollerRussia2025-05-31Feltz Printing Service NEW22Onyama Limba
1008Octavia D GarufiItaly2025-06-09King, Christopher A Esq NEGOTIATION31Amy Elsner
1009Octavia I FollerBrazil2025-05-22Feiner Bros PROPOSAL42Bernardo Dominic
1010Kadeem C VenereCanada2025-06-09Truhlar And Truhlar Attys QUALIFIED57Anna Fali
1011Jones L AmigonFrance2025-05-25Chanay, Jeffrey A Esq PROPOSAL63Stephen Shaw
1012Faith L WaycottUnited Kingdom2025-05-22Chapman, Ross E Esq QUALIFIED38Bernardo Dominic
1013Smith H MacleadAustralia2025-06-04Feiner Bros UNQUALIFIED92Elwin Sharvill
1014Ricardo V StensethUnited Kingdom2025-06-10Chapman, Ross E Esq NEW4Stephen Shaw
1015James P StockhamGermany2025-05-19Feiner Bros QUALIFIED8Stephen Shaw
1016David E PaprockiItaly2025-06-05Feiner Bros QUALIFIED23Elwin Sharvill
1017Salvatore D FerenczCanada2025-05-30Dorl, James J Esq PROPOSAL82Elwin Sharvill
1018Aika M RimCanada2025-05-18Dorl, James J Esq NEW33Stephen Shaw
1019Smith E AlbaresAustralia2025-06-09King, Christopher A Esq NEW98Stephen Shaw
1020Jennifer U KuskoAustralia2025-05-29Benton, John B Jr UNQUALIFIED35Asiya Javayant
1021Octavia N FollerSpain2025-05-18Chapman, Ross E Esq NEGOTIATION73Bernardo Dominic
1022Cody K DoeItaly2025-05-27Chanay, Jeffrey A Esq QUALIFIED81Amy Elsner
1023Jennifer J MorascaCanada2025-05-31Rousseaux, Michael Esq NEW66Elwin Sharvill
1024Deepesh J IturbideGermany2025-06-09Rousseaux, Michael Esq QUALIFIED39Ivan Magalhaes
1025Mayumi M RimSpain2025-06-11Rangoni Of Florence UNQUALIFIED36Anna Fali
1026Alejandro V WhobreyJapan2025-06-13King, Christopher A Esq NEW82Elwin Sharvill
1027Maria O RulapaughFrance2025-05-17Buckley Miller Wright NEW41Ivan Magalhaes
1028Morrow M NickaIndia2025-06-10Truhlar And Truhlar Attys UNQUALIFIED37Stephen Shaw
1029Aruna R MacleadArgentina2025-06-03King, Christopher A Esq PROPOSAL18Elwin Sharvill
1030David B PaprockiIndia2025-05-28King, Christopher A Esq PROPOSAL35Amy Elsner
1031Maisha O SchemmerBrazil2025-06-14Morlong Associates RENEWAL21Elwin Sharvill
1032Alejandro P RoysterGermany2025-05-26Feiner Bros UNQUALIFIED63Anna Fali
1033Jennifer U CaldareraIndia2025-05-19Feiner Bros RENEWAL55Asiya Javayant
1034Juan J MarrierFrance2025-05-28Morlong Associates RENEWAL5Ivan Magalhaes
1035Ashley X DarakjyArgentina2025-06-04Morlong Associates QUALIFIED78Stephen Shaw
1036Ashley U CampainCanada2025-05-31Chanay, Jeffrey A Esq RENEWAL31Xuxue Feng
1037Wickens Q RimItaly2025-05-21Buckley Miller Wright RENEWAL32Ioni Bowcher
1038Jennifer C RulapaughJapan2025-05-20Chemel, James L Cpa QUALIFIED93Bernardo Dominic
1039Cody E DoeArgentina2025-05-22Feiner Bros QUALIFIED27Onyama Limba
1040Arvin V StensethUnited Kingdom2025-06-10Chapman, Ross E Esq PROPOSAL86Bernardo Dominic
1041Salvatore U RimArgentina2025-06-04Rangoni Of Florence PROPOSAL62Asiya Javayant
1042Jeanfrancois K ChuiBrazil2025-06-09Truhlar And Truhlar Attys NEGOTIATION89Bernardo Dominic
1043Silvio C MarrierRussia2025-06-10Dorl, James J Esq NEGOTIATION90Asiya Javayant
1044Mayumi Q RoysterBrazil2025-05-25Rangoni Of Florence QUALIFIED13Onyama Limba
1045Jeanfrancois U MarrierGermany2025-05-29Chanay, Jeffrey A Esq RENEWAL23Amy Elsner
1046Aika W MaletGermany2025-05-19Truhlar And Truhlar Attys NEW51Anna Fali
1047Jefferson B MaletGermany2025-06-11Benton, John B Jr NEW88Stephen Shaw
1048Arvin U OstroskyArgentina2025-05-28Rangoni Of Florence PROPOSAL1Anna Fali
1049Isabel A DoeIndia2025-06-11Morlong Associates UNQUALIFIED95Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Adams F GarufiBrazilOnyama Limba PROPOSAL
Jeanfrancois F DilliardArgentinaAsiya Javayant QUALIFIED
Maria L KolmetzAustraliaBernardo Dominic NEGOTIATION
Clifford I StensethAustraliaStephen Shaw NEW
Johnson E BologniaUnited KingdomElwin Sharvill UNQUALIFIED
Isabel X KuskoJapanOnyama Limba UNQUALIFIED
Maisha E AlbaresAustraliaIoni Bowcher RENEWAL
Jefferson J FerenczGermanyIoni Bowcher PROPOSAL
Jefferson O FollerUnited KingdomOnyama Limba NEW
Mujtaba P InouyeUnited KingdomOnyama Limba RENEWAL
Morrow I PerinItalyIoni Bowcher QUALIFIED
Darci N NestleSpainOnyama Limba RENEWAL
Francesco J DilliardSpainIoni Bowcher QUALIFIED
Costa H BowleyCanadaIoni Bowcher PROPOSAL
Kaitlin W NickaArgentinaBernardo Dominic NEW
Darci V AlbaresFranceOnyama Limba PROPOSAL
Wickens M WaycottItalyAnna Fali RENEWAL
Johnson D FerenczJapanAmy Elsner UNQUALIFIED
Ashley Q VenereJapanOnyama Limba NEW
Morrow D StockhamSpainElwin Sharvill QUALIFIED
Clifford U MacleadJapanBernardo Dominic RENEWAL
Jeanfrancois Q DarakjyIndiaXuxue Feng NEGOTIATION
Greenwood M ButtCanadaAsiya Javayant NEGOTIATION
Rodrigues E GillianAustraliaOnyama Limba QUALIFIED
Clifford F ChuiItalyStephen Shaw NEGOTIATION
Murillo A BowleyUnited KingdomIvan Magalhaes NEGOTIATION
Francesco C RutaSpainAsiya Javayant PROPOSAL
Smith N NickaBrazilAmy Elsner NEGOTIATION
Munro T SlusarskiGermanyAnna Fali QUALIFIED
Leja R SaylorsRussiaAsiya Javayant PROPOSAL
Mujtaba S SlusarskiGermanyStephen Shaw RENEWAL
Kaitlin F PerinFranceIvan Magalhaes PROPOSAL
Stacey C RulapaughCanadaBernardo Dominic NEGOTIATION
Juan Y SergiFranceXuxue Feng UNQUALIFIED
Nicolas R PoquetteFranceXuxue Feng RENEWAL
Jennifer J RulapaughJapanBernardo Dominic PROPOSAL
Munro U MarrierUnited KingdomAsiya Javayant QUALIFIED
Alejandro Q MaletBrazilIvan Magalhaes NEW
Leon B GarufiIndiaStephen Shaw UNQUALIFIED
Costa V BologniaAustraliaIvan Magalhaes NEW
Tony Q GauchoGermanyAnna Fali PROPOSAL
Maria R MacleadRussiaOnyama Limba NEGOTIATION
Darci Q AlbaresSpainOnyama Limba QUALIFIED
Maria I SlusarskiArgentinaAnna Fali NEGOTIATION
James C FigeroaCanadaIoni Bowcher PROPOSAL
Aruna I FerenczBrazilAmy Elsner QUALIFIED
Faith F GlickCanadaElwin Sharvill PROPOSAL
David N DarakjyJapanAnna Fali NEGOTIATION
Johnson U OldroydCanadaXuxue Feng NEGOTIATION
Salvatore Z FollerJapanElwin Sharvill NEW
Frozen Columns
Name
Julie N Nestle
Jennifer N Paprocki
Ivar H Wieser
Antonio V Venere
Mujtaba P Sergi
Ricardo W Royster
Wickens W Figeroa
Salvatore R Amigon
Stacey C Saylors
Silvio U Glick
Faith I Foller
Deepesh J Wieser
Faith E Nicka
Aditya I Flosi
Maria B Saylors
Costa W Rim
Tony Q Iturbide
Greenwood U Marrier
Jeanfrancois F Nicka
Claire M Ferencz
Cody X Kusko
Misaki V Venere
Adams L Nestle
Ivar Q Saylors
Stacey C Rulapaugh
Nicolas P Butt
Salvatore L Garufi
Darci F Dilliard
Aika D Bolognia
Tony X Foller
Isabel I Briddick
Izzy K Malet
Stacey G Shinko
Izzy Z Malet
Clifford C Oldroyd
Nicolas O Briddick
Cody K Poquette
Jones E Campain
Cody R Albares
Maria B Rim
Ricardo B Kusko
Clifford R Iturbide
Faith U Garufi
Leja H Caudy
Mayumi W Sergi
Ricardo M Caldarera
Cody M Kolmetz
Rodrigues L Whobrey
Cody N Gaucho
Jeanfrancois A Bolognia
IdCountryDate
1000Argentina2025-06-07
1001United Kingdom2025-06-04
1002India2025-05-18
1003Argentina2025-06-05
1004Italy2025-05-21
1005Canada2025-06-03
1006France2025-05-22
1007Russia2025-06-14
1008Germany2025-05-24
1009Brazil2025-05-27
1010Japan2025-05-31
1011United Kingdom2025-06-12
1012France2025-05-20
1013Australia2025-05-20
1014Canada2025-06-02
1015United Kingdom2025-06-10
1016Japan2025-05-30
1017United Kingdom2025-05-26
1018India2025-06-07
1019Japan2025-06-07
1020Australia2025-06-14
1021Brazil2025-05-21
1022India2025-05-19
1023Italy2025-06-13
1024Australia2025-06-02
1025Spain2025-05-25
1026Brazil2025-05-16
1027Russia2025-05-31
1028Argentina2025-05-26
1029Germany2025-05-23
1030Australia2025-06-03
1031Spain2025-06-04
1032Australia2025-06-14
1033Spain2025-06-14
1034Russia2025-06-10
1035Spain2025-05-26
1036India2025-05-21
1037Spain2025-06-14
1038Germany2025-05-24
1039Italy2025-06-14
1040Canada2025-05-30
1041Germany2025-06-14
1042Russia2025-05-16
1043Australia2025-06-08
1044India2025-05-30
1045Spain2025-05-22
1046Japan2025-06-08
1047Spain2025-05-23
1048Brazil2025-05-29
1049Canada2025-05-30

On-Demand Data

NameIdCountryDate
Deepesh J Gaucho1000Australia2025-05-23
Cody V Albares1001United Kingdom2025-05-17
Emily S Nicka1002Argentina2025-06-09
Nicolas S Waycott1003Italy2025-06-09
Jones Z Chui1004France2025-06-12
Emily D Sergi1005Japan2025-06-04
Kaitlin F Waycott1006France2025-05-28
Aika Q Poquette1007France2025-05-19
Aruna H Dilliard1008Argentina2025-06-14
Munro O Darakjy1009Spain2025-05-24
Alejandro U Bolognia1010Brazil2025-06-13
Jefferson R Amigon1011Brazil2025-05-17
Kaitlin Z Glick1012Japan2025-05-29
Faith I Gaucho1013Italy2025-06-08
Antonio E Nestle1014Australia2025-05-21
Sinclair R Garufi1015Japan2025-05-19
David G Whobrey1016Japan2025-06-06
Jennifer D Ostrosky1017Japan2025-05-27
Mayumi X Briddick1018Canada2025-05-20
Faith U Iturbide1019Canada2025-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues U GauchoJapanIvan Magalhaes NEW
Emily S WieserSpainBernardo Dominic UNQUALIFIED
Sinclair G DarakjyArgentinaXuxue Feng UNQUALIFIED
Isabel O VocelkaUnited KingdomAsiya Javayant NEGOTIATION
Deepesh S DilliardFranceElwin Sharvill UNQUALIFIED
Adams E PaprockiBrazilAmy Elsner NEGOTIATION
Ricardo M DarakjyGermanyXuxue Feng UNQUALIFIED
Costa B MarrierSpainBernardo Dominic RENEWAL
Julie M RutaUnited KingdomElwin Sharvill UNQUALIFIED
Tony N VenereRussiaBernardo Dominic UNQUALIFIED
Smith F SergiArgentinaOnyama Limba RENEWAL
Juan M OldroydFranceElwin Sharvill PROPOSAL
Chavez V RulapaughFranceIvan Magalhaes PROPOSAL
Nicolas B PoquetteArgentinaAnna Fali NEGOTIATION
Claire I WhobreyJapanAnna Fali UNQUALIFIED
Leon D BowleyAustraliaStephen Shaw PROPOSAL
Johnson C GarufiBrazilIoni Bowcher RENEWAL
Izzy L DilliardCanadaOnyama Limba NEGOTIATION
Isabel W VocelkaCanadaAmy Elsner QUALIFIED
Isabel V CaldareraItalyBernardo Dominic NEGOTIATION
Leja L WieserBrazilAmy Elsner NEW
Maria H SergiItalyBernardo Dominic NEW
Chavez L StockhamArgentinaAnna Fali NEW
Aditya Y PerinGermanyXuxue Feng RENEWAL
Faith K WhobreyBrazilStephen Shaw QUALIFIED
Izzy B FollerBrazilOnyama Limba UNQUALIFIED
Clifford S RoysterArgentinaIvan Magalhaes PROPOSAL
Morrow X PerinGermanyElwin Sharvill RENEWAL
Kadeem O GlickAustraliaOnyama Limba NEW
Rodrigues O CaldareraBrazilBernardo Dominic NEGOTIATION
Isabel M AlbaresBrazilAmy Elsner QUALIFIED
Izzy E ButtSpainXuxue Feng NEW
Smith G DilliardAustraliaXuxue Feng NEGOTIATION
Arvin N StensethAustraliaAsiya Javayant NEGOTIATION
Ashley H DoeCanadaXuxue Feng NEGOTIATION
Ivar X MaletArgentinaAnna Fali QUALIFIED
Octavia A VenereJapanAmy Elsner QUALIFIED
Jones K TollnerFranceStephen Shaw RENEWAL
Maisha R MarrierFranceIvan Magalhaes NEW
Arvin C RutaSpainXuxue Feng 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>