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
Cody U DarakjyIndiaAnna Fali PROPOSAL
Arvin J KuskoSpainStephen Shaw PROPOSAL
Arvin F IturbideSpainIvan Magalhaes NEGOTIATION
Maria J ChuiRussiaBernardo Dominic QUALIFIED
Maria M VenereCanadaAsiya Javayant QUALIFIED
Stacey J RimSpainIoni Bowcher UNQUALIFIED
Salvatore I SergiCanadaIvan Magalhaes NEW
Ricardo T BriddickUnited KingdomOnyama Limba RENEWAL
Morrow W PerinSpainIvan Magalhaes NEW
Maria U OstroskyFranceBernardo Dominic NEW
Costa A MorascaJapanXuxue Feng NEGOTIATION
Ricardo T OldroydIndiaIvan Magalhaes NEW
Adams D VocelkaAustraliaAmy Elsner NEW
Francesco J AmigonItalyElwin Sharvill PROPOSAL
Silvio O MaletGermanyAnna Fali NEGOTIATION
Octavia Y FlosiAustraliaIvan Magalhaes NEW
Aika Z MarrierSpainAnna Fali PROPOSAL
Aruna N BologniaBrazilXuxue Feng PROPOSAL
Ivar A VocelkaBrazilAnna Fali RENEWAL
Aruna F ButtRussiaOnyama Limba UNQUALIFIED
Maisha C DilliardItalyElwin Sharvill NEW
Aika P FerenczGermanyElwin Sharvill QUALIFIED
Antonio G GauchoGermanyIvan Magalhaes NEGOTIATION
Jefferson E MaletJapanStephen Shaw NEGOTIATION
Aditya I CampainFranceXuxue Feng NEGOTIATION
Sinclair M VenereAustraliaIvan Magalhaes UNQUALIFIED
Aditya G NickaSpainOnyama Limba NEGOTIATION
Juan L BowleyBrazilAsiya Javayant RENEWAL
Stacey M FigeroaJapanAnna Fali NEGOTIATION
Francesco P NestleGermanyXuxue Feng UNQUALIFIED
Maria G GillianBrazilOnyama Limba NEW
Jefferson J GlickIndiaIvan Magalhaes QUALIFIED
Ivar M RimBrazilOnyama Limba RENEWAL
Aika K ChuiItalyIvan Magalhaes RENEWAL
Ivar J CaldareraSpainAsiya Javayant RENEWAL
Julie X SchemmerItalyOnyama Limba RENEWAL
Deepesh W SergiIndiaAmy Elsner NEGOTIATION
Cody T SergiGermanyIoni Bowcher RENEWAL
Jeanfrancois C VocelkaSpainOnyama Limba UNQUALIFIED
Aruna O MarrierArgentinaXuxue Feng RENEWAL
Julie R CaldareraIndiaStephen Shaw QUALIFIED
Isabel E KuskoUnited KingdomStephen Shaw RENEWAL
Faith Y OstroskyCanadaStephen Shaw NEGOTIATION
Smith W WieserIndiaAsiya Javayant NEGOTIATION
Sinclair J MarrierUnited KingdomIvan Magalhaes NEGOTIATION
Greenwood D VenereIndiaIvan Magalhaes UNQUALIFIED
Maria G FigeroaUnited KingdomElwin Sharvill QUALIFIED
Smith V GlickIndiaAmy Elsner NEW
Izzy S RulapaughBrazilXuxue Feng RENEWAL
Jeanfrancois X MorascaCanadaAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Emily H GlickGermanyElwin Sharvill RENEWAL
Wickens D PaprockiItalyIoni Bowcher NEW
Leon Y ShinkoJapanXuxue Feng NEGOTIATION
Arvin A CaldareraAustraliaBernardo Dominic UNQUALIFIED
Jennifer T AlbaresRussiaOnyama Limba NEGOTIATION
Kadeem G BowleyArgentinaIoni Bowcher PROPOSAL
Ricardo F SergiAustraliaOnyama Limba UNQUALIFIED
Jones O FigeroaUnited KingdomBernardo Dominic UNQUALIFIED
Jefferson E WhobreyJapanStephen Shaw PROPOSAL
Jefferson X ButtArgentinaAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens A WhobreyJapan2024-05-27Dorl, James J Esq UNQUALIFIED58Amy Elsner
1001Misaki C ShinkoSpain2024-06-17Chanay, Jeffrey A Esq RENEWAL34Amy Elsner
1002Morrow H MaletBrazil2024-06-10Chanay, Jeffrey A Esq NEW43Amy Elsner
1003Chavez J FigeroaRussia2024-05-22Feltz Printing Service UNQUALIFIED36Onyama Limba
1004Deepesh N GarufiBrazil2024-06-05Morlong Associates UNQUALIFIED97Ioni Bowcher
1005Emily Z OstroskyIndia2024-05-27Chemel, James L Cpa NEW13Xuxue Feng
1006Maisha I MarrierSpain2024-06-09Chemel, James L Cpa NEW20Asiya Javayant
1007Cody X DarakjyIndia2024-06-16Buckley Miller Wright PROPOSAL96Amy Elsner
1008Aditya Q WieserRussia2024-06-10Rangoni Of Florence NEGOTIATION70Asiya Javayant
1009Murillo A VocelkaFrance2024-06-10Chanay, Jeffrey A Esq QUALIFIED41Amy Elsner
1010Ashley I MaletUnited Kingdom2024-06-11Feiner Bros UNQUALIFIED66Elwin Sharvill
1011Misaki U MaletFrance2024-06-07Feltz Printing Service NEW49Elwin Sharvill
1012Deepesh N DarakjyCanada2024-06-09Rangoni Of Florence NEGOTIATION5Ivan Magalhaes
1013Octavia G ButtSpain2024-06-03Benton, John B Jr UNQUALIFIED75Onyama Limba
1014Aruna I VocelkaArgentina2024-05-29King, Christopher A Esq RENEWAL58Ioni Bowcher
1015Emily L MaletGermany2024-06-01Chanay, Jeffrey A Esq RENEWAL85Ivan Magalhaes
1016Mujtaba T NickaAustralia2024-06-05Feltz Printing Service RENEWAL34Elwin Sharvill
1017Arvin F FlosiCanada2024-05-21Feiner Bros NEW73Ioni Bowcher
1018Aruna Q DoeGermany2024-06-12Morlong Associates PROPOSAL73Stephen Shaw
1019Izzy P BologniaFrance2024-06-02Rousseaux, Michael Esq QUALIFIED41Stephen Shaw
1020Sinclair R CampainCanada2024-06-14Dorl, James J Esq QUALIFIED71Stephen Shaw
1021Maisha L PaprockiSpain2024-06-09Morlong Associates RENEWAL48Anna Fali
1022Kadeem I RoysterJapan2024-05-24Feltz Printing Service RENEWAL43Elwin Sharvill
1023Claire S PerinItaly2024-06-13Buckley Miller Wright NEGOTIATION71Ivan Magalhaes
1024Chavez R FigeroaIndia2024-05-27Truhlar And Truhlar Attys UNQUALIFIED45Elwin Sharvill
1025Clifford L PerinRussia2024-05-24Rangoni Of Florence RENEWAL29Ivan Magalhaes
1026Silvio C CaldareraCanada2024-06-10Chanay, Jeffrey A Esq QUALIFIED35Asiya Javayant
1027Munro O CampainItaly2024-05-20Rousseaux, Michael Esq QUALIFIED47Xuxue Feng
1028Chavez U NestleRussia2024-05-31Dorl, James J Esq RENEWAL92Onyama Limba
1029Jones I StockhamUnited Kingdom2024-05-29Printing Dimensions RENEWAL81Elwin Sharvill
1030Murillo H KuskoItaly2024-06-10Rousseaux, Michael Esq PROPOSAL44Onyama Limba
1031Kaitlin W ShinkoBrazil2024-05-23Chapman, Ross E Esq PROPOSAL98Ivan Magalhaes
1032Munro Z SchemmerIndia2024-05-31Chemel, James L Cpa UNQUALIFIED1Amy Elsner
1033Clifford T WhobreyAustralia2024-06-02Buckley Miller Wright RENEWAL95Elwin Sharvill
1034Antonio O WieserAustralia2024-05-24Feltz Printing Service NEGOTIATION39Amy Elsner
1035Salvatore L DoeUnited Kingdom2024-06-10Printing Dimensions RENEWAL49Bernardo Dominic
1036Aruna E WaycottSpain2024-06-16King, Christopher A Esq UNQUALIFIED11Asiya Javayant
1037Sinclair E CampainArgentina2024-06-01Feltz Printing Service RENEWAL25Ivan Magalhaes
1038James P StockhamUnited Kingdom2024-05-27Truhlar And Truhlar Attys PROPOSAL84Xuxue Feng
1039Tony Y WaycottItaly2024-06-13Feltz Printing Service NEW22Ioni Bowcher
1040Jeanfrancois V DilliardSpain2024-05-25Commercial Press PROPOSAL97Amy Elsner
1041Wickens X WieserUnited Kingdom2024-06-12Buckley Miller Wright QUALIFIED38Ioni Bowcher
1042Costa N PaprockiGermany2024-06-16Rangoni Of Florence RENEWAL80Bernardo Dominic
1043Maisha W KuskoBrazil2024-05-25Commercial Press NEW16Onyama Limba
1044Cody A GillianIndia2024-05-26Commercial Press NEGOTIATION49Anna Fali
1045David M RulapaughCanada2024-05-22Chanay, Jeffrey A Esq NEW74Elwin Sharvill
1046Rodrigues T WieserIndia2024-06-13Rangoni Of Florence PROPOSAL19Onyama Limba
1047Arvin R SlusarskiRussia2024-05-19Rangoni Of Florence NEGOTIATION46Anna Fali
1048Nicolas D PaprockiAustralia2024-05-29Printing Dimensions PROPOSAL27Onyama Limba
1049Misaki G NestleCanada2024-06-12Rousseaux, Michael Esq QUALIFIED89Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Francesco F PoquetteArgentinaOnyama Limba UNQUALIFIED
Morrow O OldroydRussiaXuxue Feng PROPOSAL
Jeanfrancois D SergiBrazilIvan Magalhaes PROPOSAL
Mayumi R MorascaAustraliaAsiya Javayant RENEWAL
Johnson Q SchemmerSpainOnyama Limba NEGOTIATION
Clifford C GillianAustraliaAnna Fali QUALIFIED
Antonio V CaldareraGermanyAmy Elsner PROPOSAL
Mujtaba G SlusarskiIndiaAnna Fali UNQUALIFIED
Octavia U DilliardArgentinaElwin Sharvill UNQUALIFIED
Wickens U BriddickAustraliaAsiya Javayant QUALIFIED
Aruna G FlosiArgentinaStephen Shaw NEGOTIATION
Greenwood C VocelkaJapanAsiya Javayant RENEWAL
Antonio X DilliardRussiaXuxue Feng RENEWAL
Mayumi B NickaItalyAsiya Javayant PROPOSAL
Jefferson G MacleadBrazilAsiya Javayant NEGOTIATION
Salvatore D OldroydRussiaIoni Bowcher QUALIFIED
Johnson Z DarakjyRussiaXuxue Feng NEGOTIATION
Johnson T PerinArgentinaBernardo Dominic UNQUALIFIED
David U VenereSpainAmy Elsner RENEWAL
Antonio L WhobreyUnited KingdomAmy Elsner PROPOSAL
James I MaletSpainXuxue Feng RENEWAL
Mayumi Q VocelkaCanadaBernardo Dominic PROPOSAL
Jeanfrancois K WaycottAustraliaBernardo Dominic UNQUALIFIED
Rodrigues G IturbideRussiaXuxue Feng UNQUALIFIED
Emily D ChuiBrazilAnna Fali RENEWAL
Salvatore F GauchoFranceAmy Elsner NEW
Tony W MorascaCanadaOnyama Limba NEGOTIATION
Izzy B DarakjyItalyBernardo Dominic RENEWAL
Jeanfrancois M TollnerAustraliaIoni Bowcher RENEWAL
Tony R CaldareraBrazilIvan Magalhaes PROPOSAL
Claire G FollerGermanyAsiya Javayant NEW
Clifford D OstroskyJapanStephen Shaw RENEWAL
Greenwood F RoysterCanadaAsiya Javayant PROPOSAL
Clifford O CampainIndiaAmy Elsner PROPOSAL
Clifford H FollerArgentinaIoni Bowcher UNQUALIFIED
Greenwood Q FollerBrazilBernardo Dominic PROPOSAL
Alejandro E MarrierItalyXuxue Feng NEGOTIATION
Deepesh G GlickItalyBernardo Dominic QUALIFIED
Claire Y CaudySpainAsiya Javayant PROPOSAL
Clifford M BowleyIndiaBernardo Dominic UNQUALIFIED
Sinclair U InouyeIndiaAmy Elsner NEGOTIATION
Silvio P MorascaRussiaIvan Magalhaes UNQUALIFIED
Cody S MaletFranceOnyama Limba NEGOTIATION
Claire P CaudyUnited KingdomStephen Shaw NEGOTIATION
Morrow P CaldareraFranceAsiya Javayant NEGOTIATION
Greenwood A MorascaRussiaAsiya Javayant RENEWAL
Alejandro M ChuiSpainIvan Magalhaes PROPOSAL
Jeanfrancois N SlusarskiAustraliaXuxue Feng RENEWAL
Mayumi Q BologniaIndiaBernardo Dominic QUALIFIED
Johnson V InouyeAustraliaStephen Shaw UNQUALIFIED
Frozen Columns
Name
Leon O Gillian
Juan T Ruta
Misaki L Inouye
Alejandro M Schemmer
Aika Z Kolmetz
Munro K Kolmetz
Francesco H Gillian
Rodrigues B Nestle
Adams N Waycott
Francesco R Perin
Aditya N Ferencz
Juan F Briddick
Izzy W Kolmetz
Cody C Amigon
Stacey D Chui
Rodrigues R Poquette
Munro O Kusko
Aika B Garufi
Aruna H Garufi
Darci K Kusko
Chavez D Nicka
Cody R Paprocki
Nicolas J Butt
Silvio L Rim
Misaki J Chui
Faith M Rulapaugh
Ashley Q Nestle
Munro F Kusko
Jeanfrancois R Chui
Kaitlin Z Foller
Ricardo S Dilliard
Antonio J Bolognia
Darci L Marrier
Rodrigues V Maclead
Misaki I Caudy
Kadeem E Gillian
Sinclair Y Rulapaugh
Adams P Iturbide
Aditya O Paprocki
Emily W Saylors
Alejandro U Malet
Wickens Z Venere
Francesco Q Nicka
Costa N Malet
Faith K Saylors
Jennifer L Amigon
Leja R Garufi
Johnson I Albares
Nicolas N Ostrosky
Cody Z Ferencz
IdCountryDate
1000Canada2024-06-15
1001Italy2024-05-21
1002Canada2024-05-25
1003Argentina2024-05-27
1004Brazil2024-06-07
1005France2024-06-09
1006Russia2024-06-09
1007Japan2024-05-21
1008Argentina2024-05-20
1009Argentina2024-06-02
1010Canada2024-06-11
1011Spain2024-05-30
1012Japan2024-06-16
1013Italy2024-05-31
1014Italy2024-06-12
1015France2024-06-17
1016Australia2024-06-11
1017Australia2024-06-05
1018Germany2024-05-26
1019Japan2024-05-22
1020France2024-05-24
1021Argentina2024-06-09
1022Russia2024-05-21
1023France2024-06-14
1024India2024-05-28
1025India2024-06-04
1026Italy2024-06-11
1027Australia2024-06-07
1028Argentina2024-06-01
1029India2024-06-11
1030France2024-06-05
1031Italy2024-06-14
1032Italy2024-06-10
1033Canada2024-06-17
1034Italy2024-06-15
1035Australia2024-06-03
1036Japan2024-06-03
1037Spain2024-06-01
1038Germany2024-05-24
1039Spain2024-06-15
1040France2024-06-07
1041Japan2024-06-01
1042India2024-06-05
1043Italy2024-06-11
1044Germany2024-06-09
1045India2024-06-11
1046Australia2024-06-01
1047Australia2024-05-30
1048Germany2024-06-03
1049Germany2024-06-02

On-Demand Data

NameIdCountryDate
Salvatore S Saylors1000Italy2024-05-28
Izzy M Vocelka1001Japan2024-06-12
Rodrigues P Albares1002Russia2024-05-28
Adams G Schemmer1003Spain2024-05-31
Kadeem W Rim1004United Kingdom2024-05-22
Aditya N Bowley1005India2024-06-12
Maisha F Inouye1006Japan2024-06-04
Clifford K Figeroa1007Canada2024-06-11
Stacey H Doe1008Australia2024-06-03
Maisha R Stenseth1009Japan2024-06-17
Emily Y Bowley1010Germany2024-06-02
Jones B Briddick1011India2024-06-12
Wickens Q Amigon1012Germany2024-06-16
Stacey M Whobrey1013United Kingdom2024-05-26
Morrow Q Nicka1014Italy2024-05-22
Greenwood P Ferencz1015Spain2024-05-20
Arvin I Saylors1016Brazil2024-06-03
Clifford I Butt1017Russia2024-06-09
Silvio P Doe1018Spain2024-06-12
Clifford K Rulapaugh1019Spain2024-05-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio W WieserGermanyBernardo Dominic PROPOSAL
Maria I GauchoArgentinaStephen Shaw UNQUALIFIED
Tony Z BriddickBrazilIvan Magalhaes UNQUALIFIED
Ivar D KolmetzJapanAmy Elsner PROPOSAL
Greenwood I SergiAustraliaXuxue Feng NEW
Ricardo N SergiBrazilStephen Shaw RENEWAL
Smith G MaletRussiaStephen Shaw PROPOSAL
Nicolas A CampainCanadaBernardo Dominic PROPOSAL
Mujtaba G TollnerJapanXuxue Feng NEW
Izzy L ChuiGermanyOnyama Limba NEGOTIATION
Juan Q MacleadItalyStephen Shaw PROPOSAL
Ivar R GauchoIndiaIoni Bowcher UNQUALIFIED
Ricardo G ShinkoAustraliaIoni Bowcher NEGOTIATION
James P NestleFranceIvan Magalhaes QUALIFIED
David Y GauchoArgentinaAnna Fali PROPOSAL
Leja J GillianAustraliaIvan Magalhaes PROPOSAL
Salvatore S NestleCanadaIvan Magalhaes QUALIFIED
Kaitlin L WieserJapanStephen Shaw RENEWAL
Greenwood K BriddickBrazilOnyama Limba NEGOTIATION
Claire Z BologniaItalyOnyama Limba RENEWAL
Alejandro D MaletSpainElwin Sharvill PROPOSAL
Ivar C GillianGermanyIvan Magalhaes NEW
Maria L RulapaughItalyIvan Magalhaes PROPOSAL
Munro F OstroskyJapanStephen Shaw QUALIFIED
Nicolas G PoquetteAustraliaAmy Elsner QUALIFIED
Aruna C ButtGermanyOnyama Limba PROPOSAL
Greenwood T WaycottFranceAnna Fali NEW
Smith S MaletSpainAmy Elsner NEW
Ricardo P BriddickSpainXuxue Feng UNQUALIFIED
Adams V FigeroaCanadaIvan Magalhaes RENEWAL
Misaki N WhobreyGermanyXuxue Feng RENEWAL
Jones M PoquetteUnited KingdomElwin Sharvill UNQUALIFIED
Kaitlin F WhobreyAustraliaXuxue Feng QUALIFIED
Mujtaba H FollerAustraliaIvan Magalhaes PROPOSAL
Mujtaba P FerenczIndiaElwin Sharvill NEGOTIATION
James Q KuskoSpainAnna Fali NEGOTIATION
Tony Y FigeroaFranceOnyama Limba NEGOTIATION
Faith G FerenczAustraliaElwin Sharvill NEGOTIATION
Deepesh E OstroskyItalyElwin Sharvill NEGOTIATION
Alejandro E DoeArgentinaXuxue Feng 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>