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
Izzy J GarufiSpainIoni Bowcher RENEWAL
Jefferson N RimItalyAnna Fali NEGOTIATION
Nicolas K MaletSpainXuxue Feng QUALIFIED
Murillo W DoeAustraliaStephen Shaw NEW
Jennifer E WaycottItalyAnna Fali NEW
Francesco J GlickJapanOnyama Limba PROPOSAL
Izzy Y DilliardIndiaAnna Fali RENEWAL
Mujtaba T SchemmerUnited KingdomIoni Bowcher NEGOTIATION
Mayumi Y FigeroaUnited KingdomAmy Elsner NEGOTIATION
Ivar C KuskoGermanyAmy Elsner UNQUALIFIED
Francesco I NestleUnited KingdomAsiya Javayant QUALIFIED
Greenwood C PerinFranceAsiya Javayant PROPOSAL
Aika G GarufiIndiaStephen Shaw NEGOTIATION
Munro E MacleadGermanyStephen Shaw NEGOTIATION
Aika A SchemmerFranceAmy Elsner NEGOTIATION
Izzy E MaletBrazilOnyama Limba QUALIFIED
Maria Q NickaIndiaElwin Sharvill PROPOSAL
Claire U DoeCanadaOnyama Limba NEGOTIATION
Johnson E ChuiJapanXuxue Feng NEW
Darci B RoysterFranceBernardo Dominic PROPOSAL
Murillo D IturbideArgentinaBernardo Dominic RENEWAL
Aika B RutaUnited KingdomIoni Bowcher QUALIFIED
Jennifer U MarrierJapanElwin Sharvill UNQUALIFIED
Tony Q IturbideAustraliaIoni Bowcher PROPOSAL
Jeanfrancois S FerenczItalyAsiya Javayant UNQUALIFIED
Johnson V CampainBrazilIoni Bowcher NEW
Juan X GarufiGermanyOnyama Limba PROPOSAL
Chavez H CaldareraUnited KingdomElwin Sharvill QUALIFIED
Costa A WaycottItalyStephen Shaw NEW
Maria R WhobreyBrazilBernardo Dominic NEGOTIATION
Aruna K ButtFranceElwin Sharvill UNQUALIFIED
Wickens D MaletIndiaOnyama Limba UNQUALIFIED
Jefferson R GauchoJapanElwin Sharvill UNQUALIFIED
David T MorascaIndiaXuxue Feng RENEWAL
Mujtaba B RimSpainAmy Elsner NEW
Greenwood X AmigonItalyIvan Magalhaes UNQUALIFIED
Jefferson B KolmetzIndiaXuxue Feng RENEWAL
Izzy C MorascaCanadaXuxue Feng NEGOTIATION
Julie X GlickItalyBernardo Dominic PROPOSAL
Johnson K PaprockiGermanyAmy Elsner PROPOSAL
Ivar P AmigonItalyStephen Shaw NEGOTIATION
Wickens U ShinkoUnited KingdomIvan Magalhaes RENEWAL
Antonio T OldroydFranceAmy Elsner QUALIFIED
Smith D RutaSpainIvan Magalhaes QUALIFIED
Tony N IturbideFranceStephen Shaw RENEWAL
Kadeem E DarakjyCanadaIvan Magalhaes UNQUALIFIED
Izzy M CaldareraAustraliaBernardo Dominic NEW
Stacey Q AmigonRussiaIoni Bowcher NEGOTIATION
Tony J MorascaFranceIvan Magalhaes RENEWAL
Tony C IturbideSpainElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Misaki J GarufiAustraliaAnna Fali PROPOSAL
Aruna O SlusarskiUnited KingdomBernardo Dominic PROPOSAL
Jennifer K KolmetzItalyOnyama Limba QUALIFIED
Kadeem L RimArgentinaIoni Bowcher UNQUALIFIED
Aika J GarufiSpainXuxue Feng PROPOSAL
Jeanfrancois G ChuiSpainStephen Shaw NEW
Silvio O VocelkaBrazilAsiya Javayant UNQUALIFIED
Aika V SergiFranceAsiya Javayant PROPOSAL
Kaitlin K AmigonGermanyIoni Bowcher PROPOSAL
Smith J AmigonIndiaAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie V MaletArgentina2024-06-10Commercial Press RENEWAL12Amy Elsner
1001Salvatore H OldroydJapan2024-06-21Rousseaux, Michael Esq UNQUALIFIED37Amy Elsner
1002James G WhobreyFrance2024-06-09Printing Dimensions QUALIFIED85Stephen Shaw
1003Tony T RutaGermany2024-06-19Benton, John B Jr NEGOTIATION83Anna Fali
1004Cody J StockhamBrazil2024-06-09King, Christopher A Esq UNQUALIFIED97Bernardo Dominic
1005Ricardo T CaldareraAustralia2024-06-14Chemel, James L Cpa UNQUALIFIED98Asiya Javayant
1006Julie M AmigonRussia2024-05-25Morlong Associates NEW50Ivan Magalhaes
1007Silvio U GillianCanada2024-06-11Chanay, Jeffrey A Esq NEW28Elwin Sharvill
1008Chavez P TollnerBrazil2024-06-04Feiner Bros QUALIFIED86Onyama Limba
1009Silvio J SchemmerItaly2024-06-04Feiner Bros NEW49Amy Elsner
1010Kaitlin U WhobreyBrazil2024-05-25Buckley Miller Wright NEW64Anna Fali
1011Ashley J StensethAustralia2024-06-12Truhlar And Truhlar Attys NEGOTIATION85Onyama Limba
1012Maria B GlickJapan2024-06-17Truhlar And Truhlar Attys PROPOSAL47Xuxue Feng
1013Ivar T DarakjyBrazil2024-05-29Chemel, James L Cpa PROPOSAL47Ivan Magalhaes
1014Johnson T WieserIndia2024-05-25Truhlar And Truhlar Attys RENEWAL90Stephen Shaw
1015David Y FlosiGermany2024-06-22King, Christopher A Esq RENEWAL40Stephen Shaw
1016Ivar L IturbideIndia2024-05-30Benton, John B Jr NEW20Asiya Javayant
1017Mayumi Q TollnerSpain2024-06-19King, Christopher A Esq UNQUALIFIED38Elwin Sharvill
1018Ashley K MorascaItaly2024-05-25Chemel, James L Cpa QUALIFIED2Ivan Magalhaes
1019Izzy D WhobreyUnited Kingdom2024-06-11Rangoni Of Florence NEW84Amy Elsner
1020Rodrigues R SaylorsFrance2024-06-18Buckley Miller Wright RENEWAL30Amy Elsner
1021James Y MorascaSpain2024-06-23Feltz Printing Service UNQUALIFIED10Anna Fali
1022Julie X RimBrazil2024-05-25Benton, John B Jr NEW96Bernardo Dominic
1023Arvin R FollerFrance2024-05-31Morlong Associates QUALIFIED18Xuxue Feng
1024Greenwood D SergiIndia2024-06-15Chanay, Jeffrey A Esq RENEWAL77Asiya Javayant
1025Stacey J TollnerGermany2024-06-23Buckley Miller Wright RENEWAL70Xuxue Feng
1026Jeanfrancois J AmigonJapan2024-06-03King, Christopher A Esq NEW80Asiya Javayant
1027Munro G CaudyRussia2024-06-10Printing Dimensions NEGOTIATION53Stephen Shaw
1028Arvin M GlickBrazil2024-06-14Rangoni Of Florence PROPOSAL36Stephen Shaw
1029Ricardo Z CaudyIndia2024-06-02Feiner Bros UNQUALIFIED87Xuxue Feng
1030Tony D GillianBrazil2024-06-01King, Christopher A Esq NEGOTIATION21Ivan Magalhaes
1031Greenwood R BologniaGermany2024-06-10Feltz Printing Service NEGOTIATION48Elwin Sharvill
1032Misaki V MaletArgentina2024-05-25Feiner Bros RENEWAL12Xuxue Feng
1033Costa N RulapaughRussia2024-06-01Printing Dimensions PROPOSAL17Onyama Limba
1034Clifford P NestleAustralia2024-06-06Chapman, Ross E Esq QUALIFIED91Asiya Javayant
1035Clifford R InouyeSpain2024-06-13Benton, John B Jr NEGOTIATION72Stephen Shaw
1036Tony L InouyeArgentina2024-06-13Commercial Press PROPOSAL51Asiya Javayant
1037Jefferson H MacleadItaly2024-06-21Printing Dimensions NEW68Asiya Javayant
1038Aditya S IturbideUnited Kingdom2024-06-07Truhlar And Truhlar Attys RENEWAL80Anna Fali
1039Aditya Q OldroydIndia2024-06-20Dorl, James J Esq QUALIFIED80Elwin Sharvill
1040Cody G InouyeBrazil2024-06-02Chemel, James L Cpa UNQUALIFIED78Ivan Magalhaes
1041David U BowleyGermany2024-06-02Printing Dimensions NEGOTIATION45Onyama Limba
1042Mayumi L CaudyCanada2024-06-18Buckley Miller Wright NEGOTIATION23Xuxue Feng
1043Costa K CampainUnited Kingdom2024-06-04Commercial Press UNQUALIFIED65Stephen Shaw
1044Deepesh Y InouyeGermany2024-06-17Rangoni Of Florence UNQUALIFIED81Ivan Magalhaes
1045Sinclair Q GillianRussia2024-05-25Morlong Associates RENEWAL5Bernardo Dominic
1046Kaitlin X BowleyAustralia2024-06-08Feiner Bros QUALIFIED65Xuxue Feng
1047Munro T NestleIndia2024-05-29Truhlar And Truhlar Attys QUALIFIED20Asiya Javayant
1048Isabel W FigeroaJapan2024-06-13Chemel, James L Cpa UNQUALIFIED60Amy Elsner
1049Cody D RutaBrazil2024-06-02Dorl, James J Esq PROPOSAL3Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Arvin V RimBrazilAnna Fali RENEWAL
Jennifer Q WhobreyJapanBernardo Dominic PROPOSAL
Jeanfrancois Z SaylorsCanadaAmy Elsner UNQUALIFIED
Francesco D ShinkoCanadaAmy Elsner NEGOTIATION
Mujtaba I StockhamArgentinaBernardo Dominic QUALIFIED
Salvatore K WhobreyCanadaAmy Elsner PROPOSAL
Maria M MacleadSpainBernardo Dominic UNQUALIFIED
Chavez N MacleadAustraliaOnyama Limba QUALIFIED
Leja O KolmetzUnited KingdomAsiya Javayant RENEWAL
Mujtaba T PoquetteUnited KingdomAsiya Javayant NEGOTIATION
Johnson V RutaRussiaIvan Magalhaes UNQUALIFIED
Jefferson S BriddickGermanyStephen Shaw PROPOSAL
Maria C SchemmerIndiaBernardo Dominic QUALIFIED
Mujtaba V InouyeUnited KingdomAmy Elsner NEW
Emily U GarufiJapanElwin Sharvill QUALIFIED
Isabel Z GarufiRussiaXuxue Feng PROPOSAL
Chavez D SchemmerGermanyElwin Sharvill NEW
Morrow S GauchoRussiaXuxue Feng PROPOSAL
Maisha Q GauchoRussiaXuxue Feng RENEWAL
Kaitlin E VocelkaIndiaElwin Sharvill RENEWAL
Sinclair R DoeGermanyAmy Elsner RENEWAL
Clifford D StockhamBrazilIvan Magalhaes NEGOTIATION
Deepesh R RutaUnited KingdomAnna Fali NEW
Greenwood Q WaycottSpainAnna Fali PROPOSAL
Antonio H OldroydItalyAmy Elsner QUALIFIED
Salvatore P RimAustraliaIvan Magalhaes NEW
Jones V GillianIndiaBernardo Dominic NEGOTIATION
Claire R DoeIndiaBernardo Dominic NEW
Salvatore L SaylorsSpainOnyama Limba NEW
Jefferson W StockhamArgentinaStephen Shaw PROPOSAL
Clifford K ShinkoGermanyIvan Magalhaes NEGOTIATION
Murillo P ButtUnited KingdomAnna Fali QUALIFIED
David A OldroydFranceBernardo Dominic RENEWAL
Juan N BriddickBrazilBernardo Dominic NEW
Wickens X SergiFranceIvan Magalhaes RENEWAL
Aika Z RoysterJapanAnna Fali NEW
Aditya R GillianCanadaXuxue Feng RENEWAL
Arvin A CaudyJapanXuxue Feng UNQUALIFIED
Mujtaba I GarufiSpainAmy Elsner NEGOTIATION
Deepesh F TollnerCanadaElwin Sharvill PROPOSAL
Octavia Z ChuiSpainOnyama Limba UNQUALIFIED
Mayumi V MacleadAustraliaIvan Magalhaes NEW
Mayumi E RutaArgentinaIoni Bowcher NEW
Alejandro Q PaprockiAustraliaAsiya Javayant UNQUALIFIED
Leja V MorascaAustraliaAsiya Javayant QUALIFIED
Wickens C FerenczBrazilIoni Bowcher RENEWAL
Maria Q AmigonArgentinaOnyama Limba NEW
Arvin D SlusarskiUnited KingdomAmy Elsner PROPOSAL
Aika R DoeRussiaBernardo Dominic NEW
Jeanfrancois X RimItalyIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Claire S Nestle
Leja M Royster
Nicolas B Maclead
Morrow W Tollner
Mujtaba M Bolognia
Juan F Flosi
Darci B Vocelka
Sinclair J Marrier
Sinclair U Figeroa
Leon Z Malet
Darci T Caldarera
Mujtaba D Caldarera
Arvin J Amigon
Jennifer P Butt
Claire A Malet
Greenwood I Royster
Emily U Ferencz
Munro Q Dilliard
Wickens C Gaucho
Ashley Z Briddick
Rodrigues U Wieser
Clifford S Tollner
Johnson D Kusko
Salvatore H Malet
Kadeem L Marrier
Emily W Rim
Murillo J Shinko
Maisha B Bolognia
Kaitlin I Nicka
Claire O Darakjy
Arvin Q Nestle
Tony Z Foller
Isabel Z Saylors
Darci K Maclead
Maisha J Bowley
Stacey W Bowley
Antonio U Stockham
Izzy P Ostrosky
Tony Q Gaucho
Nicolas X Kusko
James Y Tollner
Isabel X Doe
Rodrigues T Campain
Chavez H Venere
Adams V Rim
Johnson T Dilliard
Emily O Royster
Isabel S Flosi
Nicolas H Poquette
Leon G Whobrey
IdCountryDate
1000Canada2024-06-12
1001France2024-06-11
1002Australia2024-06-23
1003Germany2024-06-17
1004Japan2024-06-03
1005Spain2024-06-18
1006India2024-06-18
1007Italy2024-06-02
1008Australia2024-06-07
1009Australia2024-06-06
1010Australia2024-06-20
1011Argentina2024-05-26
1012India2024-05-31
1013Germany2024-06-09
1014France2024-06-13
1015Germany2024-06-11
1016Argentina2024-06-19
1017Spain2024-06-12
1018Russia2024-05-28
1019France2024-05-28
1020Spain2024-06-20
1021Canada2024-05-30
1022Japan2024-06-18
1023France2024-05-30
1024Spain2024-06-14
1025India2024-06-13
1026France2024-06-23
1027Australia2024-06-08
1028Russia2024-06-21
1029Italy2024-06-06
1030Russia2024-05-31
1031Italy2024-06-08
1032Germany2024-06-05
1033Canada2024-06-03
1034Brazil2024-05-29
1035France2024-06-23
1036Japan2024-06-22
1037Argentina2024-06-18
1038France2024-06-19
1039Australia2024-06-03
1040France2024-06-22
1041Russia2024-06-12
1042Germany2024-06-14
1043Germany2024-05-27
1044Japan2024-06-07
1045Russia2024-06-12
1046Canada2024-06-09
1047Italy2024-05-26
1048Russia2024-06-07
1049France2024-05-27

On-Demand Data

NameIdCountryDate
Cody I Perin1000India2024-06-06
Johnson X Whobrey1001Italy2024-06-13
Leja T Briddick1002Canada2024-06-17
Leon F Waycott1003Italy2024-06-13
Claire K Ostrosky1004Italy2024-06-10
Misaki W Figeroa1005United Kingdom2024-06-04
Sinclair C Bowley1006France2024-06-01
Aika C Marrier1007Australia2024-06-16
Adams D Marrier1008Japan2024-06-13
Misaki C Gaucho1009Russia2024-06-19
Isabel C Flosi1010France2024-06-02
Claire D Briddick1011France2024-06-15
Morrow R Chui1012Argentina2024-05-29
Sinclair W Poquette1013India2024-06-18
Darci E Gillian1014Russia2024-05-31
Izzy P Kusko1015Germany2024-06-22
Claire H Chui1016Brazil2024-06-22
Clifford C Ruta1017Canada2024-06-11
Sinclair J Darakjy1018Russia2024-06-09
Clifford H Briddick1019Australia2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony F ButtAustraliaIvan Magalhaes PROPOSAL
Costa V MorascaRussiaStephen Shaw QUALIFIED
Jennifer K MacleadIndiaAnna Fali NEW
Ricardo R GarufiUnited KingdomBernardo Dominic PROPOSAL
Greenwood I IturbideArgentinaBernardo Dominic NEW
Jennifer C BologniaAustraliaIoni Bowcher QUALIFIED
Murillo T SergiIndiaIvan Magalhaes NEGOTIATION
Maisha C AmigonUnited KingdomXuxue Feng NEW
Tony T CaudyAustraliaBernardo Dominic UNQUALIFIED
David V ShinkoSpainAnna Fali NEGOTIATION
Leja Y NestleAustraliaElwin Sharvill NEW
Ivar S SlusarskiRussiaAsiya Javayant NEW
Adams V BowleyUnited KingdomXuxue Feng RENEWAL
Costa H PerinAustraliaAmy Elsner NEW
Octavia J MaletGermanyOnyama Limba QUALIFIED
Claire V SlusarskiJapanAnna Fali NEGOTIATION
Munro L DoeJapanBernardo Dominic QUALIFIED
Nicolas W KuskoArgentinaStephen Shaw NEGOTIATION
Salvatore U AlbaresCanadaIvan Magalhaes QUALIFIED
Aditya P RimAustraliaStephen Shaw NEGOTIATION
Kadeem N DarakjySpainStephen Shaw NEGOTIATION
Alejandro K AlbaresIndiaAnna Fali NEW
Costa U AlbaresRussiaAsiya Javayant UNQUALIFIED
Antonio S MarrierSpainIoni Bowcher PROPOSAL
Aditya Y AlbaresUnited KingdomXuxue Feng NEW
Nicolas E MorascaBrazilAnna Fali NEW
Leon Y KolmetzCanadaOnyama Limba UNQUALIFIED
Chavez C NestleSpainAmy Elsner UNQUALIFIED
Adams K GillianRussiaAsiya Javayant NEGOTIATION
Kadeem X IturbideJapanAnna Fali NEW
Murillo R PoquetteCanadaIvan Magalhaes RENEWAL
Claire F InouyeItalyAmy Elsner PROPOSAL
Leja Y VocelkaAustraliaOnyama Limba RENEWAL
Murillo E GlickJapanAnna Fali NEW
Nicolas E AlbaresAustraliaIvan Magalhaes QUALIFIED
Greenwood B RulapaughIndiaIoni Bowcher NEW
Francesco N RutaIndiaXuxue Feng NEW
Greenwood Z CampainIndiaStephen Shaw NEW
Greenwood K WieserAustraliaElwin Sharvill NEW
Francesco H GlickIndiaBernardo Dominic 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">
            <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>