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
Claire X GlickFranceIoni Bowcher NEW
Jones X PaprockiAustraliaAmy Elsner PROPOSAL
Clifford C MarrierAustraliaBernardo Dominic UNQUALIFIED
Aruna V SaylorsItalyOnyama Limba PROPOSAL
Jeanfrancois J MacleadRussiaOnyama Limba PROPOSAL
Francesco P InouyeIndiaIoni Bowcher PROPOSAL
Kaitlin M ChuiIndiaStephen Shaw QUALIFIED
Francesco Q MorascaUnited KingdomIoni Bowcher RENEWAL
Kaitlin F MaletSpainAmy Elsner NEGOTIATION
Maisha N GillianFranceElwin Sharvill QUALIFIED
Izzy M PoquetteGermanyBernardo Dominic PROPOSAL
Tony E FlosiBrazilAmy Elsner UNQUALIFIED
Aruna G WhobreyGermanyBernardo Dominic PROPOSAL
Wickens F FigeroaSpainOnyama Limba QUALIFIED
Juan O FerenczJapanIvan Magalhaes RENEWAL
Emily P StockhamItalyStephen Shaw RENEWAL
Arvin X SchemmerBrazilBernardo Dominic RENEWAL
Nicolas D DarakjyUnited KingdomAnna Fali QUALIFIED
Murillo V GarufiArgentinaXuxue Feng PROPOSAL
Leon G NestleBrazilAnna Fali NEGOTIATION
Rodrigues R DoeItalyIoni Bowcher PROPOSAL
Maisha L GillianAustraliaAsiya Javayant QUALIFIED
Mujtaba A NickaSpainXuxue Feng NEW
Claire Q WhobreyGermanyAnna Fali QUALIFIED
Claire J StockhamUnited KingdomOnyama Limba PROPOSAL
Mujtaba Y RutaIndiaXuxue Feng NEW
Jefferson F SlusarskiIndiaStephen Shaw NEW
Chavez R MaletFranceElwin Sharvill UNQUALIFIED
Stacey Z WieserIndiaAnna Fali PROPOSAL
Alejandro T ChuiAustraliaAmy Elsner UNQUALIFIED
Jeanfrancois A BowleyUnited KingdomXuxue Feng RENEWAL
Greenwood Y FlosiUnited KingdomElwin Sharvill NEGOTIATION
Wickens N MaletBrazilBernardo Dominic RENEWAL
Aruna M DarakjyCanadaElwin Sharvill NEW
James G MacleadCanadaAmy Elsner NEW
Ashley L SaylorsUnited KingdomOnyama Limba RENEWAL
Alejandro T AmigonAustraliaIoni Bowcher NEGOTIATION
Aika O MacleadSpainIvan Magalhaes RENEWAL
Alejandro R BologniaFranceStephen Shaw PROPOSAL
Munro G GillianSpainAnna Fali PROPOSAL
Clifford E ChuiItalyAmy Elsner NEGOTIATION
Mujtaba K SlusarskiAustraliaElwin Sharvill RENEWAL
Wickens W StockhamUnited KingdomIoni Bowcher NEW
Antonio I FerenczJapanIoni Bowcher RENEWAL
Cody F GarufiBrazilOnyama Limba NEW
Sinclair U PerinRussiaOnyama Limba PROPOSAL
Greenwood Z SaylorsFranceElwin Sharvill NEW
Octavia T RoysterAustraliaElwin Sharvill PROPOSAL
Jefferson R GarufiAustraliaAsiya Javayant RENEWAL
Francesco H CampainIndiaBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Isabel V BologniaIndiaBernardo Dominic PROPOSAL
Jefferson J MorascaFranceAsiya Javayant QUALIFIED
Leon R FlosiArgentinaIoni Bowcher NEGOTIATION
Maria U MaletBrazilXuxue Feng PROPOSAL
Jeanfrancois K WieserGermanyOnyama Limba RENEWAL
James X SchemmerSpainOnyama Limba UNQUALIFIED
Jefferson S AlbaresAustraliaXuxue Feng NEW
Julie N IturbideBrazilIvan Magalhaes RENEWAL
Rodrigues C StensethGermanyBernardo Dominic QUALIFIED
Emily Y VocelkaArgentinaElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens I PaprockiFrance2024-06-04Rousseaux, Michael Esq NEW12Bernardo Dominic
1001Smith W StockhamJapan2024-05-29Truhlar And Truhlar Attys RENEWAL89Stephen Shaw
1002Kaitlin B IturbideFrance2024-06-01Feiner Bros PROPOSAL84Amy Elsner
1003Darci K KuskoJapan2024-06-13Feltz Printing Service NEW90Stephen Shaw
1004Jones G ChuiArgentina2024-06-11Feiner Bros NEGOTIATION46Ioni Bowcher
1005Jennifer X StensethBrazil2024-05-25Chemel, James L Cpa NEGOTIATION24Onyama Limba
1006Murillo N StensethJapan2024-05-17Feltz Printing Service NEGOTIATION88Ivan Magalhaes
1007Emily Q RulapaughIndia2024-06-03Printing Dimensions PROPOSAL83Anna Fali
1008Salvatore K MaletIndia2024-06-06Buckley Miller Wright UNQUALIFIED89Amy Elsner
1009Maisha H WhobreyFrance2024-05-18Chapman, Ross E Esq UNQUALIFIED1Stephen Shaw
1010Octavia J DoeUnited Kingdom2024-06-13Chanay, Jeffrey A Esq NEW56Bernardo Dominic
1011Rodrigues Q FigeroaIndia2024-05-28King, Christopher A Esq UNQUALIFIED96Amy Elsner
1012Jones H GarufiUnited Kingdom2024-05-18Feltz Printing Service UNQUALIFIED77Xuxue Feng
1013Francesco A InouyeCanada2024-06-02Chemel, James L Cpa UNQUALIFIED40Asiya Javayant
1014Munro T DarakjyIndia2024-05-24Buckley Miller Wright UNQUALIFIED77Asiya Javayant
1015Julie I CaudyGermany2024-05-30Rangoni Of Florence UNQUALIFIED71Xuxue Feng
1016David K CaudyBrazil2024-06-01Chapman, Ross E Esq QUALIFIED17Elwin Sharvill
1017Maisha D RimCanada2024-06-06Feiner Bros UNQUALIFIED75Bernardo Dominic
1018Octavia I ChuiAustralia2024-05-17Commercial Press NEGOTIATION25Elwin Sharvill
1019Wickens U PoquetteItaly2024-06-08Chapman, Ross E Esq NEGOTIATION50Bernardo Dominic
1020Salvatore L MacleadBrazil2024-06-11Feltz Printing Service PROPOSAL21Elwin Sharvill
1021Jones H FollerIndia2024-05-28Printing Dimensions QUALIFIED55Stephen Shaw
1022Leon I DoeSpain2024-05-31Dorl, James J Esq QUALIFIED82Onyama Limba
1023Ivar I TollnerBrazil2024-05-16Dorl, James J Esq UNQUALIFIED37Bernardo Dominic
1024Leja Y CaldareraRussia2024-05-23Benton, John B Jr NEW26Ioni Bowcher
1025Stacey X MaletSpain2024-06-09Printing Dimensions PROPOSAL58Ivan Magalhaes
1026Misaki R RimSpain2024-06-04Chemel, James L Cpa RENEWAL77Bernardo Dominic
1027Aika R AmigonUnited Kingdom2024-06-12King, Christopher A Esq NEW10Anna Fali
1028Costa T InouyeUnited Kingdom2024-05-23Rangoni Of Florence RENEWAL0Xuxue Feng
1029Izzy R MorascaCanada2024-05-19Commercial Press UNQUALIFIED65Ioni Bowcher
1030Kaitlin T StockhamFrance2024-05-16Chanay, Jeffrey A Esq QUALIFIED63Asiya Javayant
1031Wickens R RoysterFrance2024-06-10Printing Dimensions PROPOSAL64Anna Fali
1032Faith N MaletBrazil2024-05-27Rangoni Of Florence RENEWAL67Ivan Magalhaes
1033Leon Q ShinkoRussia2024-06-06Buckley Miller Wright UNQUALIFIED65Ivan Magalhaes
1034Izzy Q StockhamRussia2024-05-27King, Christopher A Esq NEGOTIATION92Amy Elsner
1035Arvin W DarakjyGermany2024-06-10Benton, John B Jr PROPOSAL61Xuxue Feng
1036Adams L StockhamArgentina2024-06-01Chanay, Jeffrey A Esq NEGOTIATION60Xuxue Feng
1037Rodrigues R DilliardAustralia2024-05-29Chanay, Jeffrey A Esq RENEWAL26Stephen Shaw
1038Chavez X VenereSpain2024-06-04Commercial Press NEW96Ioni Bowcher
1039Kaitlin X CaudyCanada2024-06-07Printing Dimensions QUALIFIED73Ioni Bowcher
1040Adams L MarrierIndia2024-05-27Dorl, James J Esq QUALIFIED51Stephen Shaw
1041Aika I PerinJapan2024-06-04Feltz Printing Service PROPOSAL43Onyama Limba
1042Jeanfrancois X SaylorsUnited Kingdom2024-05-28Benton, John B Jr RENEWAL97Anna Fali
1043Nicolas B WhobreySpain2024-05-15Dorl, James J Esq UNQUALIFIED2Stephen Shaw
1044Jones A RulapaughGermany2024-06-12Printing Dimensions RENEWAL27Ivan Magalhaes
1045Emily S InouyeSpain2024-05-22Morlong Associates NEW27Ioni Bowcher
1046Aruna J CaldareraAustralia2024-06-11Feltz Printing Service QUALIFIED75Bernardo Dominic
1047Isabel L GillianIndia2024-05-31Feltz Printing Service PROPOSAL14Onyama Limba
1048Aika N ChuiUnited Kingdom2024-06-13Buckley Miller Wright QUALIFIED40Onyama Limba
1049Ashley H MorascaJapan2024-05-15Printing Dimensions PROPOSAL90Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues Q KolmetzJapanAmy Elsner QUALIFIED
Munro V WaycottCanadaElwin Sharvill UNQUALIFIED
Kadeem R GarufiUnited KingdomAnna Fali UNQUALIFIED
Nicolas G FerenczArgentinaStephen Shaw RENEWAL
Arvin O MorascaRussiaAmy Elsner UNQUALIFIED
Kaitlin S OldroydJapanElwin Sharvill RENEWAL
Maria B VenereCanadaBernardo Dominic NEGOTIATION
Deepesh O NestleRussiaElwin Sharvill PROPOSAL
Emily D CaudySpainElwin Sharvill UNQUALIFIED
Mayumi O CaldareraJapanAmy Elsner NEW
Ashley M CaudyItalyIvan Magalhaes RENEWAL
Juan W MorascaAustraliaElwin Sharvill PROPOSAL
Ivar W InouyeAustraliaOnyama Limba UNQUALIFIED
Greenwood Y MaletFranceAnna Fali PROPOSAL
Antonio K PoquetteIndiaAnna Fali NEGOTIATION
Deepesh C MaletAustraliaAnna Fali NEW
Maisha L WaycottGermanyBernardo Dominic UNQUALIFIED
Adams P ShinkoAustraliaIvan Magalhaes UNQUALIFIED
James Q ChuiGermanyBernardo Dominic NEGOTIATION
Nicolas H SergiFranceXuxue Feng NEW
Chavez X DoeSpainAmy Elsner PROPOSAL
Octavia H AlbaresRussiaAsiya Javayant PROPOSAL
Kaitlin K SchemmerAustraliaIoni Bowcher NEGOTIATION
Alejandro T SlusarskiUnited KingdomAmy Elsner NEGOTIATION
Alejandro P RulapaughFranceAmy Elsner NEGOTIATION
Kadeem M NestleUnited KingdomAsiya Javayant NEW
Nicolas J ShinkoGermanyBernardo Dominic RENEWAL
Aruna M ShinkoIndiaElwin Sharvill UNQUALIFIED
Aika R CampainIndiaOnyama Limba NEW
Claire W MorascaFranceIoni Bowcher PROPOSAL
Jeanfrancois Q SchemmerJapanStephen Shaw UNQUALIFIED
Kadeem N DilliardJapanBernardo Dominic NEW
Murillo E SergiAustraliaAsiya Javayant UNQUALIFIED
Adams L FerenczBrazilAnna Fali RENEWAL
Claire D VocelkaFranceBernardo Dominic NEGOTIATION
Salvatore Y SchemmerFranceAmy Elsner QUALIFIED
Julie T SchemmerUnited KingdomAmy Elsner UNQUALIFIED
Emily Y WhobreyUnited KingdomAsiya Javayant QUALIFIED
Clifford Y FlosiFranceIoni Bowcher NEW
Jennifer K IturbideSpainIvan Magalhaes UNQUALIFIED
Cody I WhobreyFranceXuxue Feng NEGOTIATION
Munro U VenereFranceOnyama Limba PROPOSAL
Salvatore P SchemmerAustraliaXuxue Feng NEGOTIATION
Jennifer G VenereCanadaStephen Shaw NEGOTIATION
Nicolas O MaletUnited KingdomAnna Fali NEW
Chavez R PoquetteAustraliaAmy Elsner QUALIFIED
Ricardo S MacleadAustraliaBernardo Dominic PROPOSAL
Jeanfrancois N SaylorsRussiaAmy Elsner NEW
Morrow L AlbaresIndiaAsiya Javayant RENEWAL
Jones H FollerCanadaIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Adams N Waycott
Jennifer D Doe
Misaki F Slusarski
Adams O Shinko
Aruna W Ostrosky
Ricardo Z Figeroa
Clifford T Malet
Arvin F Doe
Jefferson I Glick
Chavez T Poquette
Isabel L Chui
Clifford A Garufi
Arvin D Darakjy
Mujtaba V Campain
Julie S Maclead
Costa D Campain
Jeanfrancois Z Caldarera
Ricardo Z Morasca
Leon N Waycott
Arvin A Amigon
Maisha P Figeroa
Rodrigues B Ostrosky
Leja A Caudy
Cody D Figeroa
Kadeem W Ostrosky
Jennifer U Caldarera
Leja Q Paprocki
Morrow W Briddick
Izzy A Campain
Jefferson K Bowley
Leja O Schemmer
David W Stockham
Cody I Rulapaugh
James Y Ruta
Jones X Kusko
Alejandro C Marrier
Kaitlin B Venere
Cody R Nestle
Octavia R Campain
Francesco H Flosi
Emily M Albares
Arvin A Venere
Leon A Saylors
Cody I Rim
Rodrigues Z Flosi
Murillo Q Iturbide
Alejandro E Malet
Deepesh Z Perin
Ivar J Saylors
Leja C Whobrey
IdCountryDate
1000Germany2024-05-15
1001France2024-05-25
1002Germany2024-06-10
1003United Kingdom2024-06-03
1004Russia2024-06-01
1005Argentina2024-06-13
1006Japan2024-05-21
1007Germany2024-05-20
1008India2024-06-03
1009Spain2024-05-21
1010Brazil2024-06-01
1011Russia2024-06-04
1012Brazil2024-06-09
1013Italy2024-05-23
1014India2024-05-23
1015Russia2024-05-22
1016Germany2024-05-15
1017Russia2024-05-28
1018Canada2024-06-08
1019Brazil2024-05-22
1020Australia2024-06-04
1021Spain2024-06-03
1022Brazil2024-05-31
1023Brazil2024-06-07
1024Brazil2024-06-07
1025Spain2024-05-28
1026Spain2024-06-03
1027United Kingdom2024-05-31
1028France2024-06-01
1029Canada2024-06-09
1030Spain2024-06-06
1031Australia2024-05-30
1032Japan2024-05-29
1033Argentina2024-06-03
1034Australia2024-05-27
1035Canada2024-05-16
1036Argentina2024-06-11
1037Brazil2024-06-01
1038Australia2024-06-10
1039Italy2024-05-22
1040Japan2024-05-26
1041Australia2024-05-22
1042France2024-06-05
1043India2024-05-20
1044Brazil2024-05-18
1045United Kingdom2024-06-03
1046India2024-06-06
1047France2024-06-06
1048Canada2024-05-21
1049Australia2024-05-16

On-Demand Data

NameIdCountryDate
Isabel T Chui1000Australia2024-05-20
Isabel L Shinko1001India2024-05-26
Clifford M Sergi1002Italy2024-06-12
Kadeem J Stockham1003Argentina2024-05-25
Maisha Y Iturbide1004Spain2024-05-28
Jefferson F Glick1005Spain2024-05-19
Nicolas F Amigon1006Germany2024-05-22
Aditya J Poquette1007United Kingdom2024-05-22
Rodrigues E Nicka1008Germany2024-05-23
Francesco I Ostrosky1009Brazil2024-05-26
David F Vocelka1010Italy2024-06-09
Isabel O Chui1011Argentina2024-06-06
Claire C Bowley1012United Kingdom2024-05-28
Sinclair F Wieser1013Italy2024-06-09
Clifford Z Vocelka1014Brazil2024-06-04
Tony L Campain1015Australia2024-06-10
Rodrigues N Iturbide1016Brazil2024-06-06
Misaki N Ostrosky1017France2024-06-04
Alejandro Z Gaucho1018Russia2024-05-16
Aruna B Venere1019France2024-05-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith P InouyeRussiaIvan Magalhaes RENEWAL
Salvatore J SchemmerItalyAsiya Javayant NEGOTIATION
Mayumi F RimGermanyAsiya Javayant UNQUALIFIED
Misaki X SchemmerIndiaXuxue Feng UNQUALIFIED
Aika G MaletArgentinaAnna Fali UNQUALIFIED
Jefferson P MorascaItalyElwin Sharvill QUALIFIED
Maisha D MorascaIndiaAmy Elsner RENEWAL
Misaki H SlusarskiIndiaStephen Shaw NEGOTIATION
Leja O ShinkoFranceAmy Elsner QUALIFIED
Sinclair I StockhamBrazilElwin Sharvill RENEWAL
Maria A BologniaArgentinaXuxue Feng PROPOSAL
Mayumi Y DarakjyBrazilAnna Fali UNQUALIFIED
Wickens A FigeroaUnited KingdomBernardo Dominic UNQUALIFIED
Smith Q SergiGermanyAmy Elsner PROPOSAL
Johnson M FollerArgentinaElwin Sharvill NEW
Sinclair T IturbideJapanAsiya Javayant RENEWAL
Francesco K StockhamUnited KingdomOnyama Limba PROPOSAL
Clifford N IturbideGermanyStephen Shaw PROPOSAL
Chavez R FollerIndiaOnyama Limba QUALIFIED
Jefferson A DarakjyFranceAsiya Javayant NEGOTIATION
Ricardo W FigeroaAustraliaAsiya Javayant UNQUALIFIED
James K ChuiFranceAnna Fali QUALIFIED
Ricardo P AmigonBrazilAmy Elsner UNQUALIFIED
Aika J AmigonCanadaAsiya Javayant NEW
Clifford M WieserIndiaAnna Fali UNQUALIFIED
Cody O RutaSpainIoni Bowcher PROPOSAL
Costa N NickaArgentinaIvan Magalhaes RENEWAL
Darci F CampainIndiaAmy Elsner PROPOSAL
James P WhobreyItalyAmy Elsner PROPOSAL
Arvin F FlosiItalyXuxue Feng NEGOTIATION
Ricardo N DilliardArgentinaXuxue Feng PROPOSAL
Aika U AlbaresArgentinaXuxue Feng NEW
Silvio R RutaItalyIvan Magalhaes RENEWAL
Ashley G PoquetteIndiaAmy Elsner NEGOTIATION
Deepesh T SaylorsBrazilAnna Fali NEGOTIATION
Misaki R BriddickItalyIvan Magalhaes QUALIFIED
Maria R ButtRussiaXuxue Feng NEGOTIATION
Maria G DilliardAustraliaAnna Fali NEGOTIATION
Izzy J FlosiRussiaOnyama Limba RENEWAL
Aika O OstroskyFranceAmy Elsner 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>