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
Adams T GauchoBrazilIvan Magalhaes NEGOTIATION
Juan X TollnerUnited KingdomBernardo Dominic NEGOTIATION
Munro G DilliardGermanyStephen Shaw PROPOSAL
Ricardo G CaudyCanadaStephen Shaw QUALIFIED
Claire H KuskoGermanyStephen Shaw PROPOSAL
Aditya A ButtAustraliaIvan Magalhaes NEW
Mujtaba K RoysterJapanOnyama Limba NEW
Maisha C SergiFranceAmy Elsner QUALIFIED
Morrow L FigeroaJapanBernardo Dominic NEW
Kadeem U RutaCanadaAmy Elsner QUALIFIED
Johnson L RimAustraliaIoni Bowcher RENEWAL
Mayumi Y GlickGermanyAsiya Javayant RENEWAL
Alejandro N GarufiIndiaStephen Shaw NEW
Faith W PoquetteCanadaAnna Fali UNQUALIFIED
Kaitlin X SergiCanadaAsiya Javayant RENEWAL
Sinclair O RulapaughItalyStephen Shaw PROPOSAL
Kadeem G DarakjyFranceIoni Bowcher NEGOTIATION
Jennifer H AlbaresArgentinaIvan Magalhaes QUALIFIED
Claire H GarufiCanadaStephen Shaw PROPOSAL
James V MaletJapanAnna Fali PROPOSAL
Emily G NickaUnited KingdomIoni Bowcher PROPOSAL
Cody H MacleadSpainAsiya Javayant UNQUALIFIED
Julie B FerenczBrazilAsiya Javayant UNQUALIFIED
Kadeem M InouyeAustraliaIoni Bowcher NEGOTIATION
Jeanfrancois M CaudyFranceStephen Shaw NEW
Rodrigues O SchemmerGermanyXuxue Feng RENEWAL
Leon C SlusarskiUnited KingdomBernardo Dominic NEGOTIATION
Cody V GlickJapanElwin Sharvill QUALIFIED
Emily C RimRussiaAnna Fali RENEWAL
Greenwood P VocelkaJapanAsiya Javayant NEW
Izzy E MaletGermanyStephen Shaw NEW
Greenwood U PerinAustraliaElwin Sharvill NEW
Morrow P MaletJapanAsiya Javayant NEW
Deepesh S StensethArgentinaIoni Bowcher QUALIFIED
Nicolas W ButtGermanyAmy Elsner QUALIFIED
Greenwood T FigeroaUnited KingdomAnna Fali PROPOSAL
Aika V MorascaGermanyElwin Sharvill QUALIFIED
David Y RimFranceAmy Elsner PROPOSAL
Mayumi E ChuiIndiaOnyama Limba PROPOSAL
Izzy H MarrierArgentinaXuxue Feng RENEWAL
Johnson Y InouyeGermanyAsiya Javayant RENEWAL
Leon M RutaBrazilXuxue Feng PROPOSAL
Adams B MaletBrazilIvan Magalhaes NEW
Darci D FlosiJapanOnyama Limba RENEWAL
Sinclair T MorascaGermanyAsiya Javayant RENEWAL
Alejandro W StensethBrazilAnna Fali NEW
Ashley A RutaItalyXuxue Feng NEW
Wickens Z GauchoJapanOnyama Limba UNQUALIFIED
Clifford S InouyeJapanElwin Sharvill NEW
Sinclair E GarufiItalyElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Mujtaba I SergiUnited KingdomBernardo Dominic UNQUALIFIED
Faith M MorascaArgentinaIoni Bowcher UNQUALIFIED
Morrow D WieserArgentinaIoni Bowcher UNQUALIFIED
Aika H SchemmerFranceStephen Shaw NEGOTIATION
Munro B KolmetzGermanyOnyama Limba QUALIFIED
Julie O StensethUnited KingdomAnna Fali UNQUALIFIED
Antonio E GauchoCanadaAsiya Javayant UNQUALIFIED
Emily H NestleBrazilBernardo Dominic QUALIFIED
Mujtaba F AlbaresCanadaAnna Fali PROPOSAL
Jeanfrancois L DarakjyUnited KingdomIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley Q GillianGermany2025-04-05Buckley Miller Wright RENEWAL67Asiya Javayant
1001Isabel H MaletUnited Kingdom2025-04-10Chanay, Jeffrey A Esq RENEWAL56Elwin Sharvill
1002Aika F DarakjySpain2025-04-21Truhlar And Truhlar Attys UNQUALIFIED67Ivan Magalhaes
1003Cody R ShinkoItaly2025-04-07Feltz Printing Service PROPOSAL12Ivan Magalhaes
1004Munro O RimFrance2025-04-07Chapman, Ross E Esq RENEWAL27Amy Elsner
1005Jefferson Z FollerSpain2025-04-17Morlong Associates NEGOTIATION10Xuxue Feng
1006Rodrigues B OldroydRussia2025-04-07Benton, John B Jr QUALIFIED4Elwin Sharvill
1007Morrow Z MaletBrazil2025-04-28Benton, John B Jr UNQUALIFIED36Stephen Shaw
1008Chavez B TollnerSpain2025-04-28Rousseaux, Michael Esq NEGOTIATION90Ioni Bowcher
1009Adams G StensethSpain2025-04-30Buckley Miller Wright QUALIFIED31Amy Elsner
1010Arvin U VocelkaAustralia2025-04-19Buckley Miller Wright UNQUALIFIED90Anna Fali
1011Chavez H MaletFrance2025-04-05Feltz Printing Service NEW43Asiya Javayant
1012Mayumi Z ShinkoSpain2025-04-05Benton, John B Jr PROPOSAL41Xuxue Feng
1013Juan E PerinRussia2025-04-30Printing Dimensions NEW89Ivan Magalhaes
1014Clifford V NickaJapan2025-04-15Chapman, Ross E Esq NEGOTIATION91Bernardo Dominic
1015Leja S BriddickItaly2025-04-19Feltz Printing Service NEW1Asiya Javayant
1016Ivar R BologniaBrazil2025-04-28Commercial Press UNQUALIFIED60Anna Fali
1017Jones D StensethJapan2025-04-06Feltz Printing Service NEGOTIATION52Onyama Limba
1018Aditya W GillianSpain2025-04-03King, Christopher A Esq UNQUALIFIED57Anna Fali
1019Aruna T MorascaGermany2025-04-14Rangoni Of Florence RENEWAL90Bernardo Dominic
1020Mayumi Z FlosiBrazil2025-04-19Buckley Miller Wright NEGOTIATION69Amy Elsner
1021Ricardo M WhobreyCanada2025-04-11Buckley Miller Wright NEGOTIATION53Ivan Magalhaes
1022Morrow H PaprockiFrance2025-04-22Feltz Printing Service NEW48Stephen Shaw
1023Silvio U ShinkoUnited Kingdom2025-04-17Truhlar And Truhlar Attys RENEWAL3Ivan Magalhaes
1024Munro B WhobreySpain2025-04-16Chemel, James L Cpa QUALIFIED22Elwin Sharvill
1025Francesco P GillianArgentina2025-04-22King, Christopher A Esq RENEWAL15Ivan Magalhaes
1026Leja A WhobreyFrance2025-04-03Rangoni Of Florence NEW96Anna Fali
1027Ricardo R WieserIndia2025-04-01Rangoni Of Florence NEGOTIATION21Ivan Magalhaes
1028Wickens J GauchoIndia2025-04-27Benton, John B Jr PROPOSAL57Amy Elsner
1029Emily W DoeJapan2025-04-26Buckley Miller Wright PROPOSAL69Onyama Limba
1030Aika Q CaldareraGermany2025-04-08Morlong Associates PROPOSAL56Ivan Magalhaes
1031Julie R ShinkoRussia2025-04-01Rangoni Of Florence NEGOTIATION33Onyama Limba
1032Chavez C BowleyItaly2025-04-02Feiner Bros UNQUALIFIED97Elwin Sharvill
1033Salvatore U AlbaresGermany2025-04-08King, Christopher A Esq UNQUALIFIED90Onyama Limba
1034Mujtaba R KuskoAustralia2025-04-05Chanay, Jeffrey A Esq UNQUALIFIED93Ioni Bowcher
1035Jeanfrancois W RoysterGermany2025-04-28Morlong Associates NEGOTIATION40Xuxue Feng
1036Jennifer Q NickaBrazil2025-04-06Printing Dimensions PROPOSAL31Ivan Magalhaes
1037Aruna V IturbideGermany2025-04-20Chemel, James L Cpa QUALIFIED31Asiya Javayant
1038Mayumi C WhobreyJapan2025-04-08Dorl, James J Esq NEW13Asiya Javayant
1039Faith U PoquetteItaly2025-04-02Printing Dimensions NEW82Asiya Javayant
1040Julie G GauchoUnited Kingdom2025-04-10Chemel, James L Cpa UNQUALIFIED69Ivan Magalhaes
1041Jones H MaletJapan2025-04-26Feiner Bros RENEWAL40Ioni Bowcher
1042Sinclair B SlusarskiJapan2025-04-02Buckley Miller Wright PROPOSAL28Ivan Magalhaes
1043Izzy V MacleadArgentina2025-04-08Dorl, James J Esq NEGOTIATION77Onyama Limba
1044Emily A StensethGermany2025-04-14Chanay, Jeffrey A Esq PROPOSAL43Ioni Bowcher
1045Chavez O BriddickSpain2025-04-26Benton, John B Jr NEW62Asiya Javayant
1046Jones I RoysterArgentina2025-04-09Chanay, Jeffrey A Esq QUALIFIED29Elwin Sharvill
1047Johnson M OldroydUnited Kingdom2025-04-26Feiner Bros PROPOSAL15Ivan Magalhaes
1048Leja Y ShinkoFrance2025-04-01Printing Dimensions NEW76Ivan Magalhaes
1049Morrow Q DarakjyFrance2025-04-19Buckley Miller Wright RENEWAL15Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Jones H SchemmerRussiaIvan Magalhaes QUALIFIED
Aika X FerenczArgentinaStephen Shaw QUALIFIED
Octavia K GauchoGermanyAnna Fali NEW
Tony E KolmetzArgentinaStephen Shaw NEGOTIATION
Sinclair G CampainCanadaOnyama Limba QUALIFIED
Isabel D DoeIndiaIvan Magalhaes NEW
Maria N AlbaresIndiaAmy Elsner NEGOTIATION
Maisha N MorascaItalyXuxue Feng PROPOSAL
Ashley R DoeIndiaAnna Fali PROPOSAL
Arvin U SergiUnited KingdomAsiya Javayant QUALIFIED
Kadeem X FigeroaFranceElwin Sharvill RENEWAL
Stacey B OldroydArgentinaAsiya Javayant PROPOSAL
Francesco L TollnerRussiaIvan Magalhaes NEW
Salvatore Q GillianArgentinaAnna Fali PROPOSAL
Maisha A OstroskyArgentinaOnyama Limba NEGOTIATION
Nicolas J VenereAustraliaXuxue Feng NEW
Costa L CampainGermanyXuxue Feng RENEWAL
Aruna H BriddickIndiaBernardo Dominic RENEWAL
Kadeem D MaletIndiaStephen Shaw UNQUALIFIED
Kadeem R SergiFranceAmy Elsner RENEWAL
Tony S InouyeItalyAnna Fali RENEWAL
Greenwood V VocelkaRussiaElwin Sharvill UNQUALIFIED
Juan K GlickBrazilBernardo Dominic QUALIFIED
Misaki U WaycottItalyAmy Elsner PROPOSAL
Ricardo D RulapaughCanadaIoni Bowcher NEGOTIATION
Chavez Y VocelkaIndiaElwin Sharvill NEW
Jefferson P MacleadBrazilAsiya Javayant NEW
Alejandro W VocelkaArgentinaAmy Elsner NEW
Greenwood E CampainIndiaAsiya Javayant UNQUALIFIED
Smith S DarakjyBrazilIvan Magalhaes QUALIFIED
Octavia Y FollerFranceIvan Magalhaes UNQUALIFIED
Aika J FigeroaJapanElwin Sharvill UNQUALIFIED
Nicolas B RoysterArgentinaStephen Shaw NEW
Octavia B PaprockiGermanyAsiya Javayant RENEWAL
Mujtaba R CaldareraRussiaBernardo Dominic NEW
Kaitlin Z FlosiIndiaIoni Bowcher NEW
Munro I ChuiBrazilAmy Elsner NEW
Rodrigues F DoeJapanAsiya Javayant RENEWAL
Johnson X RutaJapanIvan Magalhaes QUALIFIED
Sinclair V PoquetteBrazilIoni Bowcher QUALIFIED
Kadeem Z BologniaUnited KingdomXuxue Feng NEGOTIATION
Cody A VocelkaRussiaOnyama Limba RENEWAL
Jennifer F GarufiUnited KingdomAmy Elsner RENEWAL
Julie H RulapaughSpainOnyama Limba RENEWAL
Leja N WhobreyArgentinaXuxue Feng NEW
Greenwood U BologniaJapanBernardo Dominic NEW
Jefferson I FerenczAustraliaAnna Fali UNQUALIFIED
Jeanfrancois C GlickArgentinaAmy Elsner NEW
Aditya P NickaSpainElwin Sharvill NEW
Cody E RimUnited KingdomIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
James Y Dilliard
Jones U Wieser
Kaitlin C Figeroa
Aika Q Marrier
Misaki L Paprocki
Faith V Inouye
Darci K Darakjy
Maria E Briddick
Jeanfrancois A Paprocki
Tony I Gillian
Munro Z Morasca
Claire F Darakjy
Leja G Stockham
Smith M Saylors
David L Caldarera
Isabel N Malet
Murillo C Maclead
Chavez J Marrier
Misaki U Nicka
Jefferson H Caudy
Mayumi K Bolognia
Stacey B Doe
Izzy U Campain
Wickens B Kolmetz
Aruna V Dilliard
Jeanfrancois M Waycott
Jones J Perin
Juan E Marrier
Mayumi S Waycott
Rodrigues W Stockham
Arvin Z Briddick
Deepesh F Morasca
Smith C Venere
Johnson J Ferencz
Arvin H Royster
David I Flosi
Chavez Y Ferencz
Faith Q Gaucho
Munro H Stockham
Misaki Z Paprocki
Munro P Amigon
Emily B Saylors
Aditya R Chui
Antonio U Figeroa
Costa S Poquette
Clifford N Morasca
Munro J Marrier
Ashley X Nestle
Tony H Schemmer
Jones A Kolmetz
IdCountryDate
1000Japan2025-04-23
1001Germany2025-04-15
1002Spain2025-04-27
1003India2025-04-13
1004Argentina2025-04-10
1005United Kingdom2025-04-25
1006France2025-04-14
1007Australia2025-04-17
1008Canada2025-04-14
1009India2025-04-07
1010Brazil2025-04-05
1011United Kingdom2025-04-13
1012Spain2025-04-12
1013Spain2025-04-21
1014India2025-04-13
1015Spain2025-04-06
1016France2025-04-20
1017Brazil2025-04-29
1018Japan2025-04-18
1019Brazil2025-04-20
1020Russia2025-04-11
1021United Kingdom2025-04-20
1022Spain2025-04-29
1023Argentina2025-04-01
1024Spain2025-04-08
1025Japan2025-04-14
1026Japan2025-04-10
1027Brazil2025-04-16
1028India2025-04-01
1029France2025-04-06
1030Brazil2025-04-08
1031Spain2025-04-13
1032Italy2025-04-15
1033Spain2025-04-23
1034India2025-04-04
1035India2025-04-15
1036Spain2025-04-02
1037United Kingdom2025-04-04
1038Russia2025-04-16
1039Canada2025-04-12
1040Russia2025-04-12
1041India2025-04-04
1042Australia2025-04-15
1043Italy2025-04-12
1044France2025-04-14
1045Australia2025-04-26
1046Russia2025-04-09
1047Brazil2025-04-08
1048United Kingdom2025-04-17
1049Italy2025-04-05

On-Demand Data

NameIdCountryDate
Silvio L Darakjy1000Spain2025-04-10
Juan W Rulapaugh1001Germany2025-04-15
Claire U Whobrey1002Spain2025-04-20
Johnson J Vocelka1003Spain2025-04-10
Kaitlin J Wieser1004Italy2025-04-13
Darci L Marrier1005United Kingdom2025-04-13
Tony X Slusarski1006Germany2025-04-10
Ricardo Y Morasca1007Italy2025-04-01
Misaki J Morasca1008Russia2025-04-09
Isabel F Amigon1009Australia2025-04-24
Octavia W Kolmetz1010India2025-04-17
Adams J Chui1011United Kingdom2025-04-29
Costa C Caudy1012Italy2025-04-11
Faith H Gaucho1013France2025-04-22
Stacey M Malet1014Russia2025-04-16
Arvin T Nestle1015India2025-04-03
Julie I Royster1016Germany2025-04-09
Jefferson T Malet1017Brazil2025-04-18
Silvio D Doe1018United Kingdom2025-04-18
Smith Z Stenseth1019United Kingdom2025-04-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna P PaprockiAustraliaXuxue Feng UNQUALIFIED
Maisha Q CaudyFranceAnna Fali NEGOTIATION
Adams W ShinkoBrazilAmy Elsner NEW
Jones Z MaletAustraliaStephen Shaw PROPOSAL
Leja X FlosiAustraliaIoni Bowcher NEGOTIATION
Aditya S BologniaRussiaAsiya Javayant RENEWAL
Isabel D VocelkaJapanAnna Fali QUALIFIED
Silvio T CampainAustraliaIoni Bowcher NEGOTIATION
Kadeem J AlbaresFranceIoni Bowcher RENEWAL
Mujtaba C MaletFranceAsiya Javayant NEGOTIATION
Jennifer K FigeroaArgentinaAmy Elsner UNQUALIFIED
Julie R GlickUnited KingdomXuxue Feng NEW
Greenwood C WhobreyJapanOnyama Limba QUALIFIED
Jeanfrancois D FerenczFranceIvan Magalhaes RENEWAL
Faith G NestleJapanAnna Fali NEW
Aruna S ChuiRussiaAnna Fali UNQUALIFIED
Mayumi F InouyeRussiaXuxue Feng RENEWAL
Antonio K CaudyCanadaIvan Magalhaes PROPOSAL
Aditya J VenereArgentinaIoni Bowcher PROPOSAL
Maisha Y GarufiGermanyIoni Bowcher QUALIFIED
Kadeem G MacleadItalyAsiya Javayant NEW
Jennifer A NestleIndiaAsiya Javayant UNQUALIFIED
Smith K CaudyJapanOnyama Limba RENEWAL
Wickens V NestleJapanAnna Fali NEW
Aika F BriddickItalyElwin Sharvill RENEWAL
Chavez J FerenczUnited KingdomBernardo Dominic PROPOSAL
Costa D AmigonBrazilXuxue Feng NEW
Chavez T FigeroaArgentinaAsiya Javayant NEW
Morrow O AlbaresJapanOnyama Limba QUALIFIED
Ashley D AlbaresItalyIoni Bowcher QUALIFIED
Jefferson O StensethJapanIvan Magalhaes NEGOTIATION
Leon O PerinGermanyAnna Fali QUALIFIED
Silvio T BologniaItalyXuxue Feng NEW
Nicolas B IturbideCanadaElwin Sharvill QUALIFIED
Isabel R WieserUnited KingdomElwin Sharvill NEGOTIATION
Ricardo J VocelkaJapanAnna Fali NEW
Smith Y CaudyRussiaAsiya Javayant NEW
Leon X CaldareraArgentinaElwin Sharvill UNQUALIFIED
Chavez U ShinkoFranceIoni Bowcher QUALIFIED
Aika A VocelkaAustraliaBernardo Dominic 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>