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
Silvio O MaletBrazilStephen Shaw NEGOTIATION
Maria Q CaldareraRussiaAsiya Javayant UNQUALIFIED
Octavia U RimAustraliaStephen Shaw NEW
Alejandro W BowleyFranceAsiya Javayant RENEWAL
Francesco L KolmetzRussiaElwin Sharvill UNQUALIFIED
Ivar C DarakjyGermanyAsiya Javayant NEGOTIATION
Maisha Z WaycottGermanyIvan Magalhaes NEGOTIATION
Izzy H GarufiAustraliaAnna Fali NEGOTIATION
Jeanfrancois K ChuiSpainAnna Fali RENEWAL
Aruna W DarakjySpainAmy Elsner UNQUALIFIED
Antonio F DoeSpainXuxue Feng QUALIFIED
Tony G GarufiBrazilIoni Bowcher NEGOTIATION
Jones O InouyeArgentinaIvan Magalhaes UNQUALIFIED
Deepesh J FerenczUnited KingdomBernardo Dominic PROPOSAL
Emily R AlbaresRussiaIvan Magalhaes QUALIFIED
Mujtaba M KolmetzFranceOnyama Limba UNQUALIFIED
Jeanfrancois G RutaAustraliaOnyama Limba QUALIFIED
Salvatore I BologniaFranceXuxue Feng RENEWAL
Munro J RulapaughGermanyElwin Sharvill QUALIFIED
Maria S PerinGermanyIoni Bowcher NEW
Arvin G StensethItalyAmy Elsner NEGOTIATION
Costa B KolmetzCanadaXuxue Feng QUALIFIED
James P GillianBrazilIoni Bowcher QUALIFIED
Smith J BowleyGermanyStephen Shaw NEW
Isabel S PerinCanadaAnna Fali PROPOSAL
Octavia O MarrierFranceStephen Shaw UNQUALIFIED
Wickens R MarrierJapanAnna Fali NEGOTIATION
Maria H CaldareraItalyElwin Sharvill NEW
Salvatore S SaylorsBrazilIvan Magalhaes QUALIFIED
Ivar A WaycottUnited KingdomAsiya Javayant QUALIFIED
Aruna D DarakjyAustraliaAnna Fali PROPOSAL
Deepesh I SlusarskiFranceOnyama Limba QUALIFIED
Chavez S NestleRussiaStephen Shaw RENEWAL
Antonio A SergiUnited KingdomAsiya Javayant PROPOSAL
Arvin V BowleyBrazilElwin Sharvill QUALIFIED
Antonio Y NickaJapanAsiya Javayant QUALIFIED
Izzy N InouyeUnited KingdomAmy Elsner UNQUALIFIED
Jones S MorascaArgentinaAmy Elsner PROPOSAL
Nicolas M FlosiBrazilIvan Magalhaes NEGOTIATION
Mayumi S RutaArgentinaIoni Bowcher NEW
Cody S FollerSpainAsiya Javayant NEGOTIATION
Morrow M SergiIndiaBernardo Dominic NEW
Wickens D BriddickSpainStephen Shaw UNQUALIFIED
Aruna L OldroydCanadaElwin Sharvill UNQUALIFIED
Leja P NestleFranceAmy Elsner QUALIFIED
Juan V AlbaresRussiaBernardo Dominic RENEWAL
Rodrigues X VocelkaFranceAmy Elsner UNQUALIFIED
David E BowleyCanadaBernardo Dominic NEGOTIATION
Emily J KolmetzJapanIvan Magalhaes NEGOTIATION
Isabel P SlusarskiBrazilElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Leja G KolmetzIndiaStephen Shaw PROPOSAL
Maria Z MacleadCanadaAnna Fali NEGOTIATION
Salvatore F MaletRussiaAsiya Javayant QUALIFIED
Ivar T TollnerUnited KingdomAnna Fali NEW
Misaki X KuskoBrazilIvan Magalhaes NEGOTIATION
Isabel Z MarrierSpainAnna Fali NEW
Clifford V WhobreyGermanyAsiya Javayant RENEWAL
Sinclair T SchemmerFranceElwin Sharvill PROPOSAL
Mujtaba V WhobreyArgentinaAmy Elsner QUALIFIED
Arvin L CaudyGermanyElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams K KuskoJapan2024-06-18Printing Dimensions UNQUALIFIED24Stephen Shaw
1001Antonio M VenereItaly2024-05-25Rangoni Of Florence NEGOTIATION6Bernardo Dominic
1002Isabel O BriddickSpain2024-05-26Dorl, James J Esq NEW4Xuxue Feng
1003Mujtaba V MaletAustralia2024-06-13Truhlar And Truhlar Attys QUALIFIED86Ioni Bowcher
1004Costa O BriddickUnited Kingdom2024-06-10Feiner Bros NEGOTIATION68Ivan Magalhaes
1005Antonio W NestleCanada2024-06-15Truhlar And Truhlar Attys UNQUALIFIED39Bernardo Dominic
1006Antonio I FlosiBrazil2024-06-16Dorl, James J Esq UNQUALIFIED25Elwin Sharvill
1007Greenwood E MaletItaly2024-06-17Rangoni Of Florence UNQUALIFIED94Asiya Javayant
1008Sinclair V FlosiFrance2024-06-08Benton, John B Jr QUALIFIED33Stephen Shaw
1009Ricardo X SaylorsAustralia2024-06-18Commercial Press NEGOTIATION35Elwin Sharvill
1010Emily K InouyeArgentina2024-06-19Printing Dimensions NEGOTIATION41Onyama Limba
1011Adams Z FlosiUnited Kingdom2024-06-19Truhlar And Truhlar Attys NEW66Elwin Sharvill
1012Antonio F SaylorsFrance2024-05-28Truhlar And Truhlar Attys NEGOTIATION19Ioni Bowcher
1013Isabel H RutaBrazil2024-06-02Buckley Miller Wright RENEWAL47Ioni Bowcher
1014Darci B FollerArgentina2024-06-12Commercial Press PROPOSAL53Ivan Magalhaes
1015Silvio Z StockhamCanada2024-05-25Printing Dimensions NEW1Ioni Bowcher
1016Francesco D OldroydIndia2024-06-14Commercial Press NEGOTIATION10Bernardo Dominic
1017Tony C BowleySpain2024-06-04Printing Dimensions NEGOTIATION87Elwin Sharvill
1018Claire H RulapaughJapan2024-05-27Feltz Printing Service NEW49Amy Elsner
1019Ashley P AlbaresItaly2024-06-16Chemel, James L Cpa PROPOSAL91Amy Elsner
1020Alejandro B DarakjyAustralia2024-06-20Rangoni Of Florence UNQUALIFIED8Elwin Sharvill
1021Faith T ShinkoSpain2024-06-18Feiner Bros NEGOTIATION56Amy Elsner
1022Munro Y OldroydRussia2024-06-18Dorl, James J Esq PROPOSAL52Ivan Magalhaes
1023Leja Y ShinkoJapan2024-06-04Dorl, James J Esq RENEWAL26Ioni Bowcher
1024Sinclair Y TollnerUnited Kingdom2024-06-15Feiner Bros UNQUALIFIED3Amy Elsner
1025Misaki A MarrierBrazil2024-06-20Buckley Miller Wright PROPOSAL80Xuxue Feng
1026Maria N OstroskyGermany2024-05-30Chapman, Ross E Esq NEW28Xuxue Feng
1027Arvin N FlosiItaly2024-06-12Truhlar And Truhlar Attys RENEWAL97Asiya Javayant
1028Misaki A CaldareraFrance2024-06-08Dorl, James J Esq QUALIFIED95Elwin Sharvill
1029Kadeem E GlickCanada2024-05-24Printing Dimensions NEW67Stephen Shaw
1030Tony H DilliardSpain2024-06-12Rangoni Of Florence RENEWAL13Bernardo Dominic
1031Murillo D BriddickArgentina2024-05-31Rangoni Of Florence RENEWAL33Bernardo Dominic
1032Greenwood W SergiFrance2024-06-03Feiner Bros RENEWAL16Amy Elsner
1033Leon C MacleadSpain2024-05-24Benton, John B Jr NEW26Asiya Javayant
1034Salvatore C MorascaBrazil2024-06-06King, Christopher A Esq UNQUALIFIED78Stephen Shaw
1035Stacey D BriddickArgentina2024-06-08Commercial Press PROPOSAL54Elwin Sharvill
1036Misaki L ButtArgentina2024-05-26Buckley Miller Wright PROPOSAL11Bernardo Dominic
1037Arvin V ChuiIndia2024-06-06Chapman, Ross E Esq NEGOTIATION92Anna Fali
1038Octavia G CaldareraCanada2024-06-18Chanay, Jeffrey A Esq RENEWAL96Amy Elsner
1039Jennifer J DoeUnited Kingdom2024-06-04Feltz Printing Service RENEWAL33Asiya Javayant
1040Aika Q MaletIndia2024-06-18Printing Dimensions QUALIFIED72Ivan Magalhaes
1041Izzy J GlickGermany2024-06-18Commercial Press NEW84Bernardo Dominic
1042Rodrigues G NestleUnited Kingdom2024-06-12Rangoni Of Florence RENEWAL74Ioni Bowcher
1043Arvin L GillianRussia2024-06-08Buckley Miller Wright NEW84Xuxue Feng
1044Faith D NestleGermany2024-06-04Rousseaux, Michael Esq RENEWAL65Elwin Sharvill
1045Cody R MarrierRussia2024-05-24Chanay, Jeffrey A Esq NEW6Elwin Sharvill
1046Silvio Y RulapaughBrazil2024-05-30Truhlar And Truhlar Attys NEW81Ioni Bowcher
1047Jennifer T WieserJapan2024-06-04Benton, John B Jr QUALIFIED97Stephen Shaw
1048Kaitlin C ChuiCanada2024-06-06Buckley Miller Wright QUALIFIED2Asiya Javayant
1049Salvatore U CaudyFrance2024-05-29Chanay, Jeffrey A Esq PROPOSAL23Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Emily Q BriddickFranceAnna Fali NEW
Aika U StockhamFranceAsiya Javayant QUALIFIED
Munro R CaldareraBrazilAsiya Javayant PROPOSAL
Mayumi Q DoeIndiaBernardo Dominic RENEWAL
Adams A ButtUnited KingdomAmy Elsner QUALIFIED
Leja V MacleadUnited KingdomIoni Bowcher QUALIFIED
Leja L DilliardRussiaAmy Elsner UNQUALIFIED
Juan W InouyeCanadaAsiya Javayant QUALIFIED
Tony N PoquetteUnited KingdomIoni Bowcher QUALIFIED
Smith U ShinkoGermanyXuxue Feng NEGOTIATION
Julie V DarakjyRussiaElwin Sharvill NEW
Claire I MacleadBrazilXuxue Feng RENEWAL
Mujtaba M DilliardBrazilAnna Fali NEW
Wickens T FigeroaBrazilBernardo Dominic UNQUALIFIED
Alejandro L KolmetzItalyAsiya Javayant RENEWAL
Deepesh J FlosiGermanyAmy Elsner QUALIFIED
Kadeem D WaycottCanadaXuxue Feng PROPOSAL
Costa X InouyeFranceAsiya Javayant NEGOTIATION
Silvio H SergiArgentinaXuxue Feng NEGOTIATION
Leja G InouyeUnited KingdomBernardo Dominic NEW
Smith D AmigonGermanyAsiya Javayant NEW
Ricardo R OldroydItalyXuxue Feng QUALIFIED
Clifford T FollerJapanIvan Magalhaes NEGOTIATION
Rodrigues M RoysterRussiaIoni Bowcher UNQUALIFIED
Sinclair A PoquetteAustraliaIvan Magalhaes UNQUALIFIED
Rodrigues F OstroskyAustraliaAsiya Javayant PROPOSAL
Leja E GlickUnited KingdomAsiya Javayant NEGOTIATION
Juan N VenereFranceAsiya Javayant NEW
Smith W ButtRussiaAnna Fali UNQUALIFIED
Francesco Y KuskoJapanIoni Bowcher NEW
Clifford U SchemmerRussiaOnyama Limba NEW
Alejandro C WaycottJapanIvan Magalhaes RENEWAL
Izzy K RulapaughBrazilXuxue Feng NEW
Jennifer D NestleRussiaAnna Fali NEGOTIATION
Clifford S CampainIndiaBernardo Dominic NEW
Greenwood T DarakjySpainElwin Sharvill PROPOSAL
David X CaudyJapanStephen Shaw UNQUALIFIED
Silvio X ShinkoJapanXuxue Feng NEGOTIATION
Ricardo G MaletRussiaXuxue Feng RENEWAL
Deepesh U SlusarskiFranceAnna Fali UNQUALIFIED
Arvin N RoysterCanadaBernardo Dominic RENEWAL
Kaitlin W FlosiBrazilBernardo Dominic NEW
Aditya Y WaycottBrazilStephen Shaw NEGOTIATION
Kaitlin Z FerenczRussiaBernardo Dominic PROPOSAL
Deepesh P GarufiArgentinaIvan Magalhaes NEGOTIATION
James E ShinkoUnited KingdomOnyama Limba NEW
Misaki I AlbaresIndiaAmy Elsner QUALIFIED
Tony D NickaRussiaBernardo Dominic QUALIFIED
Costa E MaletItalyStephen Shaw RENEWAL
Maisha U ShinkoItalyXuxue Feng PROPOSAL
Frozen Columns
Name
Murillo T Campain
Silvio A Gillian
Isabel M Ruta
Misaki I Stockham
Rodrigues T Bowley
Maria W Tollner
Ivar U Glick
Murillo A Morasca
Jones J Ostrosky
Silvio K Caldarera
Adams S Albares
Antonio K Stockham
Emily E Inouye
Darci C Vocelka
Kadeem A Gillian
Octavia T Stenseth
Jefferson Y Rim
Francesco K Ruta
Leja P Malet
Munro K Vocelka
Aditya J Nicka
Rodrigues B Kusko
Wickens S Rim
Salvatore A Doe
Tony G Stockham
Juan Q Darakjy
Jefferson L Ruta
Salvatore E Glick
Arvin Y Chui
Nicolas S Rulapaugh
David O Gillian
Clifford U Kolmetz
Ricardo P Amigon
Deepesh B Schemmer
Wickens A Malet
Rodrigues P Gaucho
Ricardo M Ostrosky
Aditya U Caudy
Leja M Stockham
Aika I Caldarera
Aika Z Butt
Leon E Caldarera
Maisha M Ostrosky
Octavia G Kusko
Wickens I Nicka
Izzy Y Perin
Morrow F Wieser
Misaki B Dilliard
Darci I Sergi
Leja E Kusko
IdCountryDate
1000Australia2024-06-05
1001Russia2024-05-30
1002Australia2024-06-02
1003France2024-06-09
1004Japan2024-06-11
1005Italy2024-05-23
1006Italy2024-06-19
1007United Kingdom2024-06-12
1008India2024-06-09
1009United Kingdom2024-06-12
1010India2024-05-28
1011Spain2024-06-11
1012Australia2024-06-07
1013United Kingdom2024-06-17
1014Canada2024-06-05
1015Russia2024-06-15
1016Australia2024-05-27
1017Russia2024-06-13
1018Spain2024-06-15
1019France2024-05-26
1020Argentina2024-05-29
1021Australia2024-05-23
1022Australia2024-06-01
1023France2024-06-13
1024Brazil2024-05-23
1025France2024-05-24
1026Canada2024-06-03
1027Brazil2024-06-21
1028United Kingdom2024-06-03
1029Argentina2024-06-02
1030Spain2024-06-11
1031Canada2024-06-11
1032Canada2024-06-12
1033Germany2024-06-20
1034France2024-06-14
1035Brazil2024-05-28
1036Italy2024-06-05
1037Canada2024-06-10
1038France2024-05-29
1039Canada2024-06-07
1040Japan2024-06-12
1041Spain2024-06-17
1042Spain2024-05-24
1043Canada2024-05-30
1044Spain2024-06-14
1045United Kingdom2024-05-26
1046Brazil2024-06-19
1047Brazil2024-05-27
1048United Kingdom2024-06-19
1049Russia2024-05-27

On-Demand Data

NameIdCountryDate
Sinclair W Caldarera1000Brazil2024-06-05
Greenwood D Doe1001Russia2024-06-11
James E Maclead1002Australia2024-06-03
Faith P Saylors1003Spain2024-05-23
Jeanfrancois N Dilliard1004Germany2024-06-12
Kadeem W Nicka1005Japan2024-05-24
David W Bolognia1006India2024-06-01
Cody S Ferencz1007Brazil2024-06-17
Aruna G Kolmetz1008United Kingdom2024-06-17
Claire Z Waycott1009India2024-06-21
Antonio V Caudy1010Russia2024-05-28
Cody O Waycott1011Germany2024-06-06
Mujtaba C Albares1012Russia2024-06-15
Juan Z Marrier1013India2024-06-08
Kaitlin D Oldroyd1014Japan2024-06-15
Jeanfrancois V Rulapaugh1015Canada2024-05-30
Misaki L Saylors1016Spain2024-06-18
Juan R Glick1017France2024-06-04
Misaki C Oldroyd1018Russia2024-06-01
Sinclair W Chui1019Italy2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki M StockhamGermanyAnna Fali UNQUALIFIED
Ricardo F StockhamUnited KingdomIoni Bowcher RENEWAL
Maisha M MarrierRussiaBernardo Dominic RENEWAL
Wickens L MorascaIndiaElwin Sharvill NEW
Cody Q KolmetzIndiaBernardo Dominic PROPOSAL
Mujtaba E PaprockiIndiaAsiya Javayant NEW
Cody W FollerSpainOnyama Limba NEW
David M IturbideFranceElwin Sharvill QUALIFIED
Nicolas H IturbideUnited KingdomIvan Magalhaes UNQUALIFIED
Cody Y WaycottAustraliaIoni Bowcher NEW
Ricardo N BowleyBrazilIvan Magalhaes QUALIFIED
Juan N FlosiBrazilXuxue Feng PROPOSAL
Julie R SlusarskiAustraliaAnna Fali RENEWAL
Wickens Y PerinFranceIoni Bowcher UNQUALIFIED
Claire U SchemmerUnited KingdomXuxue Feng QUALIFIED
Munro Z DilliardSpainElwin Sharvill QUALIFIED
Aika U CaldareraGermanyIoni Bowcher NEW
Costa D MarrierAustraliaElwin Sharvill RENEWAL
Julie S GlickItalyIvan Magalhaes NEGOTIATION
Misaki T CaldareraBrazilOnyama Limba NEW
Leon Y BowleyArgentinaAmy Elsner PROPOSAL
Deepesh V WieserUnited KingdomIoni Bowcher NEGOTIATION
Jennifer V RutaIndiaIvan Magalhaes NEGOTIATION
Leon I DoeSpainAsiya Javayant NEGOTIATION
Morrow R CaudyCanadaOnyama Limba NEW
Leja P MaletItalyAsiya Javayant PROPOSAL
Munro M DoeSpainStephen Shaw NEW
Rodrigues J StockhamCanadaIvan Magalhaes PROPOSAL
Nicolas D VocelkaSpainBernardo Dominic PROPOSAL
Octavia Y MaletItalyXuxue Feng NEW
Claire I SaylorsJapanAsiya Javayant QUALIFIED
Julie Q WaycottJapanXuxue Feng UNQUALIFIED
Antonio X PoquetteUnited KingdomXuxue Feng NEGOTIATION
Morrow M DilliardFranceOnyama Limba RENEWAL
Jones O FlosiUnited KingdomBernardo Dominic QUALIFIED
Adams F VocelkaAustraliaAsiya Javayant RENEWAL
Izzy V SaylorsItalyAmy Elsner PROPOSAL
Munro X SchemmerItalyBernardo Dominic QUALIFIED
Kadeem W MorascaItalyIvan Magalhaes NEGOTIATION
Maisha C MorascaSpainIvan Magalhaes QUALIFIED

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