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
Munro P WhobreyCanadaAsiya Javayant UNQUALIFIED
Jennifer S StensethArgentinaAmy Elsner QUALIFIED
Stacey J PerinAustraliaIoni Bowcher UNQUALIFIED
Sinclair S WaycottUnited KingdomXuxue Feng NEGOTIATION
Misaki I ButtFranceIoni Bowcher NEW
Chavez O ChuiItalyStephen Shaw NEGOTIATION
Emily L AlbaresSpainBernardo Dominic RENEWAL
Claire G OstroskyItalyBernardo Dominic QUALIFIED
James R VocelkaCanadaAmy Elsner PROPOSAL
Claire X MaletUnited KingdomIoni Bowcher RENEWAL
Smith S SergiArgentinaOnyama Limba RENEWAL
Munro F MarrierGermanyIvan Magalhaes PROPOSAL
Izzy Y TollnerRussiaAmy Elsner RENEWAL
Deepesh T NickaJapanOnyama Limba UNQUALIFIED
Kadeem D SchemmerUnited KingdomIvan Magalhaes QUALIFIED
Arvin C PaprockiUnited KingdomIoni Bowcher PROPOSAL
Ricardo D InouyeCanadaIoni Bowcher RENEWAL
Maria A OldroydGermanyAsiya Javayant UNQUALIFIED
Arvin L KuskoCanadaAsiya Javayant NEW
Adams X FollerFranceBernardo Dominic QUALIFIED
Kaitlin J DilliardCanadaBernardo Dominic QUALIFIED
Leja Q NickaJapanIvan Magalhaes NEW
Octavia A NickaUnited KingdomElwin Sharvill QUALIFIED
Darci V WhobreyCanadaXuxue Feng PROPOSAL
Salvatore V MacleadJapanElwin Sharvill UNQUALIFIED
Ivar K IturbideSpainAnna Fali UNQUALIFIED
James V MaletGermanyXuxue Feng UNQUALIFIED
Maisha N KolmetzIndiaIoni Bowcher NEW
Izzy F ButtIndiaBernardo Dominic UNQUALIFIED
Arvin G RimItalyXuxue Feng QUALIFIED
Costa T PerinIndiaAmy Elsner PROPOSAL
Isabel J GlickArgentinaBernardo Dominic PROPOSAL
Arvin N AlbaresItalyXuxue Feng QUALIFIED
Kaitlin O CaudyAustraliaXuxue Feng UNQUALIFIED
Johnson W DoeGermanyAsiya Javayant PROPOSAL
Maisha A SlusarskiAustraliaXuxue Feng RENEWAL
Rodrigues H CaldareraBrazilIoni Bowcher PROPOSAL
Octavia Y PaprockiBrazilIvan Magalhaes NEW
Mayumi H WieserArgentinaStephen Shaw UNQUALIFIED
Octavia D CampainFranceIvan Magalhaes PROPOSAL
Smith F BologniaArgentinaAsiya Javayant RENEWAL
Leja O MorascaAustraliaOnyama Limba NEGOTIATION
Kadeem W AmigonFranceElwin Sharvill QUALIFIED
Tony C MaletUnited KingdomStephen Shaw NEGOTIATION
Claire S RulapaughUnited KingdomIvan Magalhaes RENEWAL
Maisha K MorascaArgentinaAnna Fali NEW
Ashley E MaletSpainElwin Sharvill NEW
Murillo T DarakjyItalyXuxue Feng NEGOTIATION
Ashley I IturbideGermanyOnyama Limba UNQUALIFIED
Arvin H MarrierSpainBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Johnson S CaldareraRussiaBernardo Dominic PROPOSAL
Morrow X FigeroaJapanBernardo Dominic QUALIFIED
Isabel P BowleyJapanElwin Sharvill RENEWAL
Aika F SergiFranceOnyama Limba NEGOTIATION
Johnson L AmigonItalyElwin Sharvill RENEWAL
Morrow N TollnerAustraliaAnna Fali NEW
Francesco G FerenczGermanyOnyama Limba NEW
Leja M RutaJapanOnyama Limba NEGOTIATION
Ricardo K MorascaCanadaIoni Bowcher NEW
Misaki M FollerBrazilIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson I SchemmerIndia2024-05-09Rangoni Of Florence UNQUALIFIED23Xuxue Feng
1001Jones E FlosiBrazil2024-05-27Buckley Miller Wright RENEWAL28Ioni Bowcher
1002Nicolas W BowleyArgentina2024-05-18Feiner Bros NEGOTIATION70Ioni Bowcher
1003Maria A KolmetzItaly2024-05-25Printing Dimensions UNQUALIFIED68Ioni Bowcher
1004Greenwood V BowleyJapan2024-05-01Rangoni Of Florence PROPOSAL47Xuxue Feng
1005Jefferson X IturbideAustralia2024-05-24Feltz Printing Service UNQUALIFIED61Amy Elsner
1006Salvatore I FigeroaAustralia2024-05-13Commercial Press RENEWAL35Ioni Bowcher
1007Kaitlin Z OstroskyCanada2024-05-04King, Christopher A Esq NEW16Amy Elsner
1008Emily C RoysterJapan2024-05-27Rangoni Of Florence QUALIFIED75Amy Elsner
1009Ashley U DarakjyCanada2024-05-20Rangoni Of Florence UNQUALIFIED74Xuxue Feng
1010Alejandro E ShinkoUnited Kingdom2024-05-16Feltz Printing Service NEGOTIATION64Onyama Limba
1011Maria S StensethJapan2024-05-08Printing Dimensions QUALIFIED10Anna Fali
1012Francesco M AmigonUnited Kingdom2024-05-02Morlong Associates QUALIFIED13Stephen Shaw
1013Munro L GauchoSpain2024-05-20Buckley Miller Wright NEW24Asiya Javayant
1014Clifford R MarrierSpain2024-05-22Chemel, James L Cpa NEW66Amy Elsner
1015Octavia B DoeItaly2024-05-03Dorl, James J Esq RENEWAL90Stephen Shaw
1016Wickens E ButtSpain2024-04-29Dorl, James J Esq UNQUALIFIED34Anna Fali
1017Arvin G AlbaresFrance2024-05-14Feiner Bros PROPOSAL18Onyama Limba
1018Cody F ChuiJapan2024-05-02Benton, John B Jr NEW86Ivan Magalhaes
1019Johnson S KuskoCanada2024-05-04King, Christopher A Esq QUALIFIED39Ivan Magalhaes
1020Aika Z VocelkaJapan2024-05-08Chemel, James L Cpa QUALIFIED71Elwin Sharvill
1021James D CampainItaly2024-05-12Chemel, James L Cpa RENEWAL90Amy Elsner
1022Mayumi A IturbideCanada2024-04-28Chanay, Jeffrey A Esq NEW21Asiya Javayant
1023Ivar T FlosiBrazil2024-05-25Truhlar And Truhlar Attys NEW55Elwin Sharvill
1024Deepesh M FollerGermany2024-04-29Chanay, Jeffrey A Esq QUALIFIED35Asiya Javayant
1025Silvio R WaycottSpain2024-05-22Morlong Associates UNQUALIFIED5Ivan Magalhaes
1026Maisha O SaylorsCanada2024-05-19Chemel, James L Cpa QUALIFIED98Ivan Magalhaes
1027Costa R NickaUnited Kingdom2024-05-11Printing Dimensions PROPOSAL0Elwin Sharvill
1028Darci J OstroskyJapan2024-05-16Morlong Associates RENEWAL29Bernardo Dominic
1029Rodrigues R MarrierAustralia2024-04-29Chanay, Jeffrey A Esq UNQUALIFIED13Anna Fali
1030Munro B GlickSpain2024-04-29Rangoni Of Florence NEW28Ioni Bowcher
1031Mujtaba Z OstroskyGermany2024-05-21Truhlar And Truhlar Attys PROPOSAL41Bernardo Dominic
1032Salvatore G BowleyItaly2024-05-12Feiner Bros RENEWAL27Ioni Bowcher
1033Ivar O ChuiSpain2024-05-05Truhlar And Truhlar Attys PROPOSAL12Anna Fali
1034Wickens P ShinkoIndia2024-05-05Buckley Miller Wright NEGOTIATION12Stephen Shaw
1035Adams W CaudyGermany2024-05-25Printing Dimensions QUALIFIED70Bernardo Dominic
1036Kadeem R VenereFrance2024-05-07Printing Dimensions UNQUALIFIED95Onyama Limba
1037Darci F GauchoFrance2024-05-23Dorl, James J Esq NEGOTIATION96Xuxue Feng
1038Ricardo S StockhamAustralia2024-04-29Dorl, James J Esq UNQUALIFIED78Onyama Limba
1039Misaki W RimArgentina2024-05-23Truhlar And Truhlar Attys QUALIFIED6Ioni Bowcher
1040Julie W AmigonFrance2024-05-11Feltz Printing Service UNQUALIFIED39Amy Elsner
1041Claire Y IturbideIndia2024-05-23Rangoni Of Florence RENEWAL42Amy Elsner
1042Ricardo P SchemmerCanada2024-05-09King, Christopher A Esq UNQUALIFIED12Ioni Bowcher
1043Johnson N RutaSpain2024-05-19Morlong Associates QUALIFIED21Stephen Shaw
1044James U DilliardItaly2024-05-21Printing Dimensions UNQUALIFIED25Onyama Limba
1045Stacey N AmigonRussia2024-05-22Printing Dimensions RENEWAL99Ivan Magalhaes
1046Johnson U DarakjyIndia2024-05-20Printing Dimensions NEGOTIATION42Onyama Limba
1047Wickens N BologniaRussia2024-05-20Chemel, James L Cpa PROPOSAL8Xuxue Feng
1048Misaki U InouyeRussia2024-05-24Chanay, Jeffrey A Esq NEW62Xuxue Feng
1049Chavez G SlusarskiJapan2024-05-04Commercial Press RENEWAL77Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Costa R PerinAustraliaElwin Sharvill UNQUALIFIED
Costa R DoeUnited KingdomAsiya Javayant UNQUALIFIED
Aditya B SlusarskiIndiaAsiya Javayant QUALIFIED
James A PoquetteCanadaAnna Fali PROPOSAL
Leja A CaldareraArgentinaAsiya Javayant QUALIFIED
Izzy V GlickUnited KingdomAsiya Javayant NEGOTIATION
Salvatore Z PerinFranceBernardo Dominic PROPOSAL
Kadeem Z FerenczGermanyAmy Elsner RENEWAL
Juan P CaldareraRussiaIvan Magalhaes QUALIFIED
Johnson G PerinArgentinaIvan Magalhaes QUALIFIED
Claire M OldroydArgentinaStephen Shaw RENEWAL
Murillo A ButtItalyAsiya Javayant NEGOTIATION
Jennifer F WieserItalyAsiya Javayant RENEWAL
Silvio K RoysterItalyOnyama Limba NEW
Salvatore U FollerFranceElwin Sharvill PROPOSAL
Claire B ChuiBrazilElwin Sharvill QUALIFIED
Jeanfrancois O FigeroaRussiaXuxue Feng QUALIFIED
Izzy S CampainJapanXuxue Feng PROPOSAL
Costa W TollnerIndiaAmy Elsner NEW
Jeanfrancois D GarufiJapanIoni Bowcher UNQUALIFIED
Nicolas Y KuskoCanadaOnyama Limba QUALIFIED
Leon S GillianArgentinaAsiya Javayant UNQUALIFIED
Maisha X RutaItalyAnna Fali RENEWAL
Julie R BologniaJapanOnyama Limba RENEWAL
Antonio V KolmetzGermanyXuxue Feng UNQUALIFIED
Chavez T BowleyItalyXuxue Feng UNQUALIFIED
James U RoysterCanadaElwin Sharvill NEGOTIATION
Ivar X GauchoRussiaElwin Sharvill NEW
Aruna U DarakjyFranceXuxue Feng NEGOTIATION
Sinclair U BologniaArgentinaXuxue Feng RENEWAL
Faith V IturbideCanadaIvan Magalhaes UNQUALIFIED
Francesco H SergiJapanBernardo Dominic QUALIFIED
Leon N ChuiUnited KingdomAnna Fali RENEWAL
Maisha O IturbideJapanIvan Magalhaes PROPOSAL
Isabel X CampainJapanAnna Fali UNQUALIFIED
Costa C TollnerRussiaStephen Shaw NEW
Salvatore Y PerinArgentinaStephen Shaw UNQUALIFIED
Adams K SlusarskiSpainStephen Shaw RENEWAL
Ricardo R ButtUnited KingdomAsiya Javayant QUALIFIED
Nicolas X PaprockiJapanAmy Elsner UNQUALIFIED
Emily M NestleArgentinaStephen Shaw PROPOSAL
Clifford S ButtArgentinaStephen Shaw NEW
Johnson O DilliardArgentinaAmy Elsner RENEWAL
Adams F StockhamUnited KingdomBernardo Dominic NEGOTIATION
Alejandro Q OldroydArgentinaAnna Fali QUALIFIED
Leon X ShinkoSpainOnyama Limba NEW
Murillo B GauchoRussiaXuxue Feng UNQUALIFIED
Deepesh T WhobreyItalyAnna Fali NEGOTIATION
Ricardo W AmigonIndiaBernardo Dominic NEW
Darci N PerinAustraliaAnna Fali RENEWAL
Frozen Columns
Name
Emily M Malet
Rodrigues T Rim
Tony V Kolmetz
Maisha X Venere
Cody Q Dilliard
Mayumi B Maclead
Stacey J Campain
Rodrigues C Whobrey
Tony S Flosi
Morrow F Flosi
Claire L Garufi
Misaki J Flosi
Greenwood O Nestle
Mayumi F Glick
Cody Y Nicka
Francesco U Bolognia
Misaki A Amigon
Aditya P Iturbide
Cody Y Gillian
Mujtaba Z Maclead
Tony P Garufi
Tony V Ruta
Misaki X Shinko
Octavia B Morasca
Nicolas H Iturbide
Jones B Gaucho
Maria N Campain
Claire P Dilliard
Emily F Nicka
Mujtaba N Iturbide
Stacey G Nestle
Johnson L Gillian
Clifford I Gaucho
David Y Gaucho
Johnson A Maclead
Clifford M Briddick
Stacey Q Stockham
Francesco L Kusko
Nicolas W Morasca
David K Chui
Aika V Slusarski
Jones G Dilliard
Alejandro B Glick
Cody B Ferencz
Ricardo F Flosi
Tony K Flosi
Octavia V Nicka
Maisha R Campain
Costa M Gaucho
Leon V Saylors
IdCountryDate
1000Japan2024-05-26
1001India2024-05-06
1002India2024-05-27
1003Italy2024-04-30
1004France2024-05-17
1005Japan2024-05-24
1006Spain2024-05-15
1007Russia2024-04-29
1008Spain2024-05-20
1009Brazil2024-04-30
1010Brazil2024-05-13
1011Argentina2024-05-03
1012Spain2024-05-11
1013Italy2024-05-20
1014United Kingdom2024-05-17
1015India2024-05-08
1016Canada2024-04-30
1017France2024-05-09
1018Russia2024-05-25
1019Russia2024-05-24
1020Russia2024-05-02
1021France2024-05-04
1022Italy2024-05-02
1023Russia2024-04-28
1024Australia2024-05-13
1025Australia2024-05-25
1026Australia2024-05-09
1027Spain2024-05-07
1028Australia2024-05-18
1029Brazil2024-05-24
1030Australia2024-05-23
1031Brazil2024-05-12
1032Russia2024-05-12
1033Argentina2024-05-13
1034Brazil2024-05-10
1035United Kingdom2024-05-15
1036United Kingdom2024-05-27
1037France2024-05-12
1038Russia2024-05-25
1039United Kingdom2024-05-15
1040Russia2024-05-12
1041Canada2024-05-06
1042Italy2024-05-16
1043France2024-04-28
1044Brazil2024-04-30
1045United Kingdom2024-05-10
1046Argentina2024-04-30
1047Australia2024-05-09
1048Germany2024-05-25
1049Germany2024-05-17

On-Demand Data

NameIdCountryDate
Antonio H Kusko1000France2024-05-21
Kadeem J Doe1001India2024-05-08
Kadeem F Inouye1002Canada2024-05-10
Greenwood A Poquette1003Spain2024-05-12
Arvin P Bowley1004Canada2024-05-26
Mujtaba W Chui1005Spain2024-04-28
Kadeem L Campain1006Argentina2024-05-18
Wickens E Iturbide1007France2024-05-23
Octavia T Inouye1008India2024-05-12
Maria F Sergi1009Canada2024-04-29
Faith R Waycott1010Germany2024-04-29
Octavia J Whobrey1011Canada2024-05-23
Leon R Stenseth1012India2024-05-27
Maria B Nestle1013Japan2024-05-03
Murillo F Gillian1014Italy2024-05-02
Ivar H Vocelka1015Russia2024-05-27
Darci P Slusarski1016Japan2024-05-05
Leon R Gaucho1017Spain2024-05-17
Mayumi S Campain1018Japan2024-05-26
Nicolas N Waycott1019Brazil2024-05-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones O PoquetteCanadaAmy Elsner PROPOSAL
Rodrigues T PerinAustraliaIoni Bowcher NEGOTIATION
Kaitlin B CaldareraCanadaBernardo Dominic UNQUALIFIED
Chavez H RulapaughCanadaOnyama Limba NEW
Emily R KolmetzRussiaAsiya Javayant NEGOTIATION
Misaki F InouyeArgentinaElwin Sharvill NEW
Rodrigues T TollnerJapanOnyama Limba NEW
Smith H RoysterCanadaXuxue Feng NEGOTIATION
Maisha P OldroydGermanyElwin Sharvill NEGOTIATION
Clifford L ChuiUnited KingdomElwin Sharvill UNQUALIFIED
Aruna T FollerGermanyXuxue Feng UNQUALIFIED
Aditya O SchemmerGermanyBernardo Dominic UNQUALIFIED
James D RoysterSpainBernardo Dominic QUALIFIED
Chavez X MarrierArgentinaBernardo Dominic QUALIFIED
Maisha T VenereAustraliaAnna Fali QUALIFIED
Alejandro Q MacleadUnited KingdomStephen Shaw NEGOTIATION
Clifford D RimArgentinaOnyama Limba NEGOTIATION
Murillo C VocelkaCanadaElwin Sharvill UNQUALIFIED
Octavia H GlickGermanyIvan Magalhaes QUALIFIED
Kaitlin D MorascaJapanBernardo Dominic NEW
Maisha I InouyeIndiaIvan Magalhaes UNQUALIFIED
Izzy I FigeroaSpainElwin Sharvill NEW
Cody M ChuiRussiaBernardo Dominic RENEWAL
Aditya W DoeCanadaOnyama Limba UNQUALIFIED
Izzy Y WaycottAustraliaElwin Sharvill QUALIFIED
Maria B FollerUnited KingdomAsiya Javayant PROPOSAL
Claire A GlickFranceBernardo Dominic QUALIFIED
Chavez Z FollerSpainOnyama Limba PROPOSAL
Juan A DilliardCanadaBernardo Dominic UNQUALIFIED
Ivar W ShinkoIndiaIoni Bowcher UNQUALIFIED
Rodrigues S WieserArgentinaIvan Magalhaes QUALIFIED
Clifford U MarrierJapanIoni Bowcher NEW
Emily F GarufiRussiaIvan Magalhaes NEGOTIATION
Cody Q TollnerArgentinaOnyama Limba NEW
Emily U MaletGermanyOnyama Limba UNQUALIFIED
Julie D BriddickFranceAnna Fali QUALIFIED
David L WieserItalyIoni Bowcher PROPOSAL
Salvatore U PoquetteFranceOnyama Limba UNQUALIFIED
Johnson J RoysterAustraliaBernardo Dominic UNQUALIFIED
Claire H VocelkaGermanyAmy Elsner 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>