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
Johnson K ShinkoIndiaOnyama Limba PROPOSAL
Faith E BriddickAustraliaAnna Fali NEGOTIATION
Julie F NickaSpainStephen Shaw RENEWAL
Chavez G SchemmerAustraliaXuxue Feng PROPOSAL
Adams I SchemmerArgentinaIoni Bowcher UNQUALIFIED
Maria Y CampainBrazilIvan Magalhaes NEGOTIATION
Octavia U SergiItalyXuxue Feng RENEWAL
Arvin R SchemmerIndiaAmy Elsner PROPOSAL
Kadeem V NestleCanadaStephen Shaw PROPOSAL
Jennifer I MorascaCanadaBernardo Dominic PROPOSAL
Ivar J GauchoSpainAsiya Javayant RENEWAL
Wickens C PoquetteGermanyAsiya Javayant NEW
Rodrigues W FigeroaBrazilXuxue Feng NEGOTIATION
Maisha J BriddickRussiaAsiya Javayant PROPOSAL
Cody G SchemmerBrazilStephen Shaw QUALIFIED
Maisha L KolmetzUnited KingdomAnna Fali NEGOTIATION
Alejandro X MaletAustraliaIvan Magalhaes PROPOSAL
Juan O MorascaUnited KingdomElwin Sharvill QUALIFIED
Greenwood N BriddickFranceIoni Bowcher UNQUALIFIED
Izzy B FigeroaAustraliaAmy Elsner UNQUALIFIED
Francesco S MaletRussiaElwin Sharvill PROPOSAL
Francesco Q CaldareraJapanBernardo Dominic UNQUALIFIED
Mujtaba A BriddickBrazilAnna Fali PROPOSAL
Munro F SaylorsGermanyBernardo Dominic RENEWAL
Mayumi F InouyeAustraliaAnna Fali UNQUALIFIED
Stacey B MaletIndiaAsiya Javayant NEGOTIATION
Nicolas T AlbaresRussiaIoni Bowcher QUALIFIED
Ashley P VocelkaIndiaOnyama Limba UNQUALIFIED
Clifford Q SaylorsArgentinaOnyama Limba UNQUALIFIED
Munro D FollerGermanyAsiya Javayant RENEWAL
Jefferson K CaldareraGermanyStephen Shaw UNQUALIFIED
Alejandro A VenereGermanyAnna Fali NEW
Kadeem M GlickAustraliaOnyama Limba NEW
Smith M IturbideJapanOnyama Limba PROPOSAL
Chavez A GillianUnited KingdomXuxue Feng RENEWAL
Ricardo V FerenczAustraliaXuxue Feng RENEWAL
Jones F AlbaresRussiaBernardo Dominic NEW
Adams O KolmetzArgentinaAnna Fali NEW
Murillo P ButtFranceStephen Shaw NEW
Adams K SergiCanadaStephen Shaw QUALIFIED
Costa Q TollnerArgentinaBernardo Dominic QUALIFIED
Arvin F RimAustraliaAnna Fali NEGOTIATION
Ivar Y RutaJapanBernardo Dominic UNQUALIFIED
Tony T ChuiItalyBernardo Dominic PROPOSAL
Munro J NestleFranceAmy Elsner UNQUALIFIED
Clifford F IturbideFranceStephen Shaw PROPOSAL
Wickens W WaycottBrazilStephen Shaw NEW
David S NickaSpainIvan Magalhaes NEGOTIATION
Ashley N IturbideSpainXuxue Feng RENEWAL
Francesco O OstroskyJapanOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Octavia I MaletArgentinaAsiya Javayant UNQUALIFIED
Murillo X GarufiGermanyStephen Shaw PROPOSAL
Arvin O DoeUnited KingdomIoni Bowcher NEGOTIATION
Maisha V RimSpainStephen Shaw RENEWAL
Silvio X CampainItalyIoni Bowcher NEW
David B WhobreyFranceStephen Shaw QUALIFIED
Francesco R SchemmerAustraliaElwin Sharvill QUALIFIED
Deepesh W KuskoSpainStephen Shaw RENEWAL
Murillo O WhobreyArgentinaElwin Sharvill NEW
Aruna W GauchoBrazilIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem X AlbaresBrazil2024-05-29Chapman, Ross E Esq NEW5Anna Fali
1001Mujtaba J SchemmerItaly2024-05-31Benton, John B Jr NEGOTIATION43Stephen Shaw
1002Octavia F OldroydCanada2024-06-23Feiner Bros NEW82Elwin Sharvill
1003Munro I CaudyJapan2024-06-05Chanay, Jeffrey A Esq UNQUALIFIED36Elwin Sharvill
1004Smith L RulapaughRussia2024-06-24Truhlar And Truhlar Attys NEGOTIATION34Elwin Sharvill
1005Deepesh K AlbaresCanada2024-06-08Benton, John B Jr RENEWAL4Elwin Sharvill
1006Aruna G MaletFrance2024-06-06Commercial Press PROPOSAL45Stephen Shaw
1007Sinclair E WaycottArgentina2024-06-12Chanay, Jeffrey A Esq PROPOSAL53Xuxue Feng
1008Greenwood M RutaUnited Kingdom2024-06-12Morlong Associates PROPOSAL64Stephen Shaw
1009Sinclair J RoysterUnited Kingdom2024-05-27Commercial Press QUALIFIED91Onyama Limba
1010Salvatore R FerenczUnited Kingdom2024-06-03Rousseaux, Michael Esq PROPOSAL6Elwin Sharvill
1011Jeanfrancois Z IturbideGermany2024-06-12Printing Dimensions QUALIFIED29Stephen Shaw
1012Salvatore D BowleyAustralia2024-06-14Chanay, Jeffrey A Esq UNQUALIFIED64Amy Elsner
1013Alejandro A MaletRussia2024-06-09Truhlar And Truhlar Attys UNQUALIFIED19Onyama Limba
1014Isabel Z MarrierJapan2024-06-06Chanay, Jeffrey A Esq NEW27Anna Fali
1015Salvatore P RulapaughArgentina2024-06-08Buckley Miller Wright QUALIFIED53Bernardo Dominic
1016Jeanfrancois M RoysterGermany2024-05-27Morlong Associates NEGOTIATION27Xuxue Feng
1017Alejandro S SaylorsIndia2024-06-13Chemel, James L Cpa UNQUALIFIED32Onyama Limba
1018Izzy I AlbaresArgentina2024-06-16Dorl, James J Esq UNQUALIFIED70Amy Elsner
1019Stacey J MaletAustralia2024-06-11Benton, John B Jr PROPOSAL7Ivan Magalhaes
1020Jeanfrancois A AmigonAustralia2024-06-19Chapman, Ross E Esq QUALIFIED73Onyama Limba
1021Juan P OldroydFrance2024-06-01Rangoni Of Florence NEW8Asiya Javayant
1022Chavez F RulapaughCanada2024-06-12Dorl, James J Esq RENEWAL44Ioni Bowcher
1023Misaki T CaudyBrazil2024-06-10Benton, John B Jr PROPOSAL88Ivan Magalhaes
1024Murillo K FerenczSpain2024-06-18Printing Dimensions PROPOSAL7Amy Elsner
1025Cody R VocelkaRussia2024-05-28Morlong Associates UNQUALIFIED14Ivan Magalhaes
1026Salvatore T OldroydBrazil2024-06-11Chapman, Ross E Esq UNQUALIFIED3Xuxue Feng
1027Juan C TollnerIndia2024-05-27Dorl, James J Esq NEW59Ivan Magalhaes
1028Julie G FerenczArgentina2024-05-27Dorl, James J Esq RENEWAL84Ivan Magalhaes
1029Maisha R DoeSpain2024-06-24Commercial Press NEGOTIATION62Asiya Javayant
1030Claire X OldroydUnited Kingdom2024-06-06Feltz Printing Service PROPOSAL88Amy Elsner
1031James O PaprockiItaly2024-06-09Benton, John B Jr NEW20Stephen Shaw
1032Aruna I BriddickJapan2024-06-24Feltz Printing Service RENEWAL89Ioni Bowcher
1033Faith T GarufiCanada2024-05-29Dorl, James J Esq UNQUALIFIED24Ioni Bowcher
1034Rodrigues Y WhobreyAustralia2024-05-28Chemel, James L Cpa NEGOTIATION13Asiya Javayant
1035Deepesh Q AlbaresAustralia2024-06-19King, Christopher A Esq QUALIFIED30Amy Elsner
1036Ricardo K BologniaSpain2024-06-17Rousseaux, Michael Esq RENEWAL66Anna Fali
1037Leon A GillianRussia2024-06-03Benton, John B Jr QUALIFIED40Bernardo Dominic
1038Leja J OldroydGermany2024-06-05Dorl, James J Esq QUALIFIED92Asiya Javayant
1039Silvio T RimFrance2024-06-14Truhlar And Truhlar Attys PROPOSAL88Onyama Limba
1040Maria R ButtBrazil2024-05-26Rangoni Of Florence RENEWAL40Elwin Sharvill
1041Mujtaba N FlosiGermany2024-06-03Chapman, Ross E Esq UNQUALIFIED50Bernardo Dominic
1042Leon O KuskoJapan2024-06-04Printing Dimensions QUALIFIED74Asiya Javayant
1043Silvio E TollnerRussia2024-06-14Chemel, James L Cpa QUALIFIED37Amy Elsner
1044Maisha K CaudyBrazil2024-05-27Feltz Printing Service RENEWAL61Ioni Bowcher
1045Leon A RoysterAustralia2024-06-02Truhlar And Truhlar Attys QUALIFIED6Bernardo Dominic
1046Isabel A KuskoUnited Kingdom2024-06-22Printing Dimensions RENEWAL48Xuxue Feng
1047Emily W FerenczIndia2024-06-13Buckley Miller Wright RENEWAL40Amy Elsner
1048Juan Q AlbaresUnited Kingdom2024-06-21Benton, John B Jr RENEWAL73Bernardo Dominic
1049Jones K OldroydJapan2024-06-21Morlong Associates PROPOSAL24Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Nicolas P StockhamCanadaElwin Sharvill UNQUALIFIED
Darci E VenereJapanBernardo Dominic PROPOSAL
Sinclair B CampainUnited KingdomBernardo Dominic UNQUALIFIED
Deepesh I MaletAustraliaIvan Magalhaes NEGOTIATION
Claire E NickaUnited KingdomStephen Shaw UNQUALIFIED
Maisha H DarakjyGermanyOnyama Limba RENEWAL
Maisha Y MarrierUnited KingdomOnyama Limba RENEWAL
Aruna T SergiUnited KingdomStephen Shaw UNQUALIFIED
Munro S DilliardItalyIvan Magalhaes PROPOSAL
Costa A PoquetteItalyAnna Fali UNQUALIFIED
Darci B OstroskyAustraliaStephen Shaw PROPOSAL
Maria L KolmetzGermanyAsiya Javayant PROPOSAL
Claire M DilliardBrazilIoni Bowcher NEW
Julie E AmigonFranceAnna Fali RENEWAL
Murillo V PaprockiAustraliaIoni Bowcher UNQUALIFIED
Alejandro D WieserRussiaAnna Fali RENEWAL
Stacey T FollerBrazilBernardo Dominic RENEWAL
Deepesh Z MaletUnited KingdomElwin Sharvill PROPOSAL
Stacey K VenereCanadaAnna Fali RENEWAL
Aika E ChuiArgentinaStephen Shaw PROPOSAL
Maria G InouyeJapanXuxue Feng NEW
Munro J StockhamGermanyIvan Magalhaes QUALIFIED
Mayumi C TollnerRussiaIoni Bowcher RENEWAL
Tony I DarakjyBrazilIvan Magalhaes NEGOTIATION
Salvatore W ChuiArgentinaIvan Magalhaes PROPOSAL
Costa U GlickAustraliaIvan Magalhaes QUALIFIED
Jennifer S MorascaGermanyAnna Fali RENEWAL
Emily U GlickBrazilXuxue Feng NEGOTIATION
Ivar L RutaSpainAnna Fali PROPOSAL
Darci X WhobreyIndiaIoni Bowcher QUALIFIED
Francesco X ButtIndiaIoni Bowcher UNQUALIFIED
Alejandro P SchemmerIndiaBernardo Dominic RENEWAL
Aditya Q WaycottGermanyBernardo Dominic UNQUALIFIED
Morrow K PoquetteUnited KingdomAnna Fali UNQUALIFIED
Faith Z SchemmerItalyXuxue Feng PROPOSAL
Leja Q GauchoGermanyXuxue Feng UNQUALIFIED
Ashley N NickaBrazilOnyama Limba QUALIFIED
Ivar X PerinSpainElwin Sharvill NEGOTIATION
Ricardo M AlbaresAustraliaXuxue Feng UNQUALIFIED
Nicolas U OldroydAustraliaAmy Elsner RENEWAL
Jeanfrancois K BowleyIndiaAsiya Javayant UNQUALIFIED
Costa V VenereSpainAmy Elsner NEGOTIATION
Aditya K BowleyUnited KingdomAnna Fali NEGOTIATION
Alejandro P StockhamSpainIvan Magalhaes QUALIFIED
Francesco T FollerBrazilAmy Elsner UNQUALIFIED
Stacey O GauchoArgentinaIoni Bowcher NEGOTIATION
Sinclair U WaycottUnited KingdomBernardo Dominic NEGOTIATION
Rodrigues B StockhamItalyOnyama Limba PROPOSAL
Leja S CaldareraFranceStephen Shaw QUALIFIED
Maria Y CampainIndiaOnyama Limba RENEWAL
Frozen Columns
Name
David N Nicka
Ricardo O Ostrosky
Misaki T Poquette
Aruna C Perin
James Z Paprocki
Costa V Caudy
Arvin N Amigon
Chavez X Royster
Darci V Flosi
Wickens B Stockham
Morrow W Venere
Johnson A Paprocki
Deepesh S Stenseth
Wickens S Poquette
Morrow V Tollner
Johnson D Perin
Sinclair R Paprocki
Jeanfrancois P Doe
Ivar S Bowley
Arvin T Poquette
Jennifer V Iturbide
Silvio G Briddick
Isabel F Nicka
Leon Q Slusarski
Claire S Slusarski
Sinclair W Glick
Smith K Kusko
Jeanfrancois M Vocelka
Kaitlin G Garufi
Smith D Slusarski
Aika C Morasca
Morrow S Maclead
Kadeem E Oldroyd
Deepesh U Bolognia
James Y Marrier
Jones U Malet
Costa A Foller
Morrow Y Marrier
David N Poquette
Mayumi V Bolognia
Ricardo V Glick
Jennifer F Sergi
Silvio Y Glick
Jeanfrancois M Perin
Arvin O Gillian
Rodrigues K Flosi
Jeanfrancois N Tollner
Maisha U Rim
Darci D Dilliard
Ivar G Glick
IdCountryDate
1000Italy2024-06-11
1001United Kingdom2024-05-31
1002Canada2024-06-05
1003Argentina2024-06-04
1004Spain2024-06-04
1005Italy2024-06-13
1006Argentina2024-05-28
1007Japan2024-06-18
1008India2024-06-10
1009Brazil2024-05-28
1010Italy2024-06-09
1011Argentina2024-06-24
1012India2024-06-24
1013Italy2024-06-03
1014United Kingdom2024-06-09
1015United Kingdom2024-06-21
1016Russia2024-06-04
1017Russia2024-06-10
1018Argentina2024-06-22
1019Germany2024-05-28
1020India2024-06-19
1021India2024-06-11
1022Spain2024-06-21
1023France2024-06-05
1024Argentina2024-06-01
1025Japan2024-06-23
1026Italy2024-06-03
1027France2024-06-24
1028United Kingdom2024-06-21
1029India2024-05-30
1030Italy2024-05-30
1031Japan2024-05-31
1032United Kingdom2024-06-16
1033Japan2024-05-26
1034Russia2024-06-14
1035India2024-06-05
1036Brazil2024-06-18
1037Canada2024-06-09
1038India2024-06-09
1039Germany2024-06-16
1040Italy2024-06-23
1041France2024-06-24
1042United Kingdom2024-05-28
1043Japan2024-05-28
1044Australia2024-06-14
1045India2024-06-23
1046Canada2024-05-30
1047Argentina2024-06-06
1048Spain2024-06-04
1049Germany2024-06-11

On-Demand Data

NameIdCountryDate
Jennifer R Doe1000France2024-06-16
Munro F Perin1001Canada2024-06-12
Murillo V Amigon1002United Kingdom2024-06-01
Maria K Gaucho1003France2024-06-23
Maisha W Albares1004Canada2024-06-05
Faith N Garufi1005India2024-06-01
Jefferson W Ostrosky1006Japan2024-06-11
Ricardo S Rim1007Italy2024-06-08
Mujtaba O Sergi1008Russia2024-06-24
Alejandro F Ostrosky1009Japan2024-06-04
Aruna O Poquette1010Argentina2024-05-31
Murillo A Garufi1011Argentina2024-06-23
Emily B Rim1012Australia2024-06-21
Greenwood K Paprocki1013Russia2024-06-03
Costa K Foller1014France2024-06-05
Ashley S Butt1015Japan2024-06-07
Jennifer Z Inouye1016Russia2024-06-24
Greenwood I Whobrey1017Russia2024-06-10
Darci F Butt1018Italy2024-06-16
Ashley W Malet1019United Kingdom2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody H CampainSpainIoni Bowcher RENEWAL
Misaki H RulapaughAustraliaAmy Elsner RENEWAL
James R GauchoFranceAmy Elsner QUALIFIED
Silvio J CampainItalyAnna Fali NEGOTIATION
Kadeem W AlbaresBrazilIvan Magalhaes QUALIFIED
Sinclair Y IturbideCanadaAsiya Javayant UNQUALIFIED
Munro B GauchoUnited KingdomXuxue Feng QUALIFIED
Darci D FerenczFranceAmy Elsner UNQUALIFIED
Rodrigues E DoeRussiaAnna Fali NEGOTIATION
Adams Z WieserItalyAsiya Javayant NEGOTIATION
Antonio M VenereUnited KingdomOnyama Limba NEGOTIATION
Julie J GarufiBrazilElwin Sharvill QUALIFIED
Faith Z BriddickCanadaAmy Elsner UNQUALIFIED
Leja T RulapaughIndiaAnna Fali NEGOTIATION
Jeanfrancois O CampainIndiaBernardo Dominic PROPOSAL
Izzy S CaudyUnited KingdomXuxue Feng UNQUALIFIED
Ashley I StockhamFranceIvan Magalhaes RENEWAL
Greenwood C ButtSpainOnyama Limba UNQUALIFIED
Johnson F ChuiIndiaStephen Shaw NEW
Salvatore R CaudyJapanOnyama Limba PROPOSAL
Darci H StensethFranceBernardo Dominic UNQUALIFIED
Jennifer S RoysterBrazilOnyama Limba QUALIFIED
David P GauchoArgentinaBernardo Dominic QUALIFIED
Kadeem T StensethGermanyStephen Shaw NEW
Leon H SlusarskiArgentinaAsiya Javayant NEW
Cody Y ButtSpainBernardo Dominic QUALIFIED
Adams G GillianUnited KingdomElwin Sharvill UNQUALIFIED
Emily S IturbideRussiaAnna Fali NEGOTIATION
Leja U BriddickBrazilBernardo Dominic QUALIFIED
Ricardo X RimFranceIoni Bowcher UNQUALIFIED
Sinclair E CaudyArgentinaOnyama Limba NEGOTIATION
Murillo N DoeBrazilElwin Sharvill UNQUALIFIED
Deepesh T MaletFranceOnyama Limba UNQUALIFIED
Murillo H PaprockiBrazilBernardo Dominic UNQUALIFIED
Costa L VenereSpainAnna Fali QUALIFIED
David L PoquetteCanadaElwin Sharvill NEW
Arvin R WaycottSpainOnyama Limba UNQUALIFIED
Juan O FigeroaJapanOnyama Limba RENEWAL
Aditya B RulapaughCanadaAnna Fali RENEWAL
Arvin Z SaylorsItalyAnna Fali PROPOSAL

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