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
Aditya R OstroskyCanadaXuxue Feng QUALIFIED
Murillo H GauchoFranceAsiya Javayant UNQUALIFIED
Claire Z SlusarskiIndiaXuxue Feng QUALIFIED
Jones S GlickBrazilOnyama Limba UNQUALIFIED
Ivar R GlickGermanyAmy Elsner UNQUALIFIED
Arvin R FollerArgentinaXuxue Feng NEGOTIATION
Smith Y RoysterArgentinaBernardo Dominic QUALIFIED
Faith Z KuskoSpainXuxue Feng RENEWAL
Johnson R RimArgentinaElwin Sharvill NEGOTIATION
Antonio S FigeroaArgentinaIoni Bowcher NEGOTIATION
Misaki W DilliardAustraliaXuxue Feng UNQUALIFIED
Aruna M DarakjyAustraliaStephen Shaw RENEWAL
Chavez L IturbideFranceAnna Fali QUALIFIED
Ivar X SlusarskiCanadaOnyama Limba RENEWAL
Octavia U ShinkoRussiaAnna Fali UNQUALIFIED
Silvio A VenereFranceAmy Elsner UNQUALIFIED
Smith J MaletGermanyBernardo Dominic NEGOTIATION
Mujtaba S DoeArgentinaAsiya Javayant NEW
Adams U CaldareraIndiaAmy Elsner NEW
Julie O MorascaAustraliaAsiya Javayant RENEWAL
Wickens J PoquetteBrazilBernardo Dominic PROPOSAL
Murillo O NestleCanadaStephen Shaw PROPOSAL
Alejandro D ShinkoGermanyIvan Magalhaes QUALIFIED
Jefferson T OstroskySpainStephen Shaw PROPOSAL
Kadeem X AmigonArgentinaXuxue Feng UNQUALIFIED
Nicolas T StockhamJapanAsiya Javayant QUALIFIED
Rodrigues B ShinkoIndiaAnna Fali UNQUALIFIED
Jennifer R DarakjyRussiaAnna Fali UNQUALIFIED
Misaki G OstroskySpainOnyama Limba UNQUALIFIED
Ashley T FigeroaJapanAmy Elsner NEW
Isabel C NestleFranceAsiya Javayant QUALIFIED
Kaitlin U NickaRussiaAnna Fali NEW
Aditya V GauchoArgentinaAnna Fali UNQUALIFIED
Kaitlin L WaycottBrazilBernardo Dominic UNQUALIFIED
Aika K RutaGermanyXuxue Feng PROPOSAL
Emily J DilliardSpainStephen Shaw PROPOSAL
Aditya V NestleGermanyElwin Sharvill QUALIFIED
Adams K FollerArgentinaBernardo Dominic QUALIFIED
Costa R SaylorsArgentinaXuxue Feng PROPOSAL
Aruna J FigeroaBrazilStephen Shaw RENEWAL
Aika E MacleadBrazilIoni Bowcher PROPOSAL
Izzy K FigeroaArgentinaOnyama Limba NEW
Cody R SaylorsArgentinaBernardo Dominic QUALIFIED
Costa P DarakjyCanadaOnyama Limba NEGOTIATION
Sinclair H FollerIndiaBernardo Dominic NEW
Francesco Y SaylorsBrazilAmy Elsner RENEWAL
Mayumi E RulapaughSpainAsiya Javayant RENEWAL
Francesco C SaylorsFranceElwin Sharvill NEW
Nicolas E FollerBrazilStephen Shaw RENEWAL
Kadeem P OstroskyArgentinaIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Ivar K RoysterBrazilAnna Fali PROPOSAL
Johnson N MaletArgentinaAmy Elsner PROPOSAL
Kadeem F InouyeUnited KingdomAsiya Javayant PROPOSAL
Sinclair O MaletItalyAsiya Javayant QUALIFIED
Emily H WaycottArgentinaAmy Elsner UNQUALIFIED
Jennifer O DilliardItalyOnyama Limba RENEWAL
Isabel I RulapaughRussiaBernardo Dominic QUALIFIED
Maria N ShinkoRussiaBernardo Dominic RENEWAL
Julie A ChuiUnited KingdomAmy Elsner RENEWAL
Adams B MaletUnited KingdomIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci K MacleadBrazil2024-06-10Truhlar And Truhlar Attys QUALIFIED54Stephen Shaw
1001Claire T BologniaAustralia2024-06-07Truhlar And Truhlar Attys QUALIFIED50Bernardo Dominic
1002Munro S SlusarskiFrance2024-06-09Morlong Associates NEW49Anna Fali
1003Rodrigues K VocelkaRussia2024-06-01Printing Dimensions NEGOTIATION24Amy Elsner
1004Jennifer M VenereItaly2024-06-21Chapman, Ross E Esq PROPOSAL84Stephen Shaw
1005Murillo U SlusarskiRussia2024-05-29Morlong Associates RENEWAL87Ioni Bowcher
1006Sinclair W PaprockiFrance2024-06-12Buckley Miller Wright NEGOTIATION2Asiya Javayant
1007Alejandro A SaylorsJapan2024-06-02Chapman, Ross E Esq NEW68Asiya Javayant
1008Francesco S GarufiBrazil2024-05-28Feltz Printing Service RENEWAL57Onyama Limba
1009Claire O PoquetteCanada2024-06-01Feiner Bros NEGOTIATION67Stephen Shaw
1010Ricardo P FollerIndia2024-06-08Rangoni Of Florence NEW23Xuxue Feng
1011Silvio U SlusarskiBrazil2024-06-11Morlong Associates NEW81Amy Elsner
1012Costa I GlickUnited Kingdom2024-06-01Chemel, James L Cpa RENEWAL45Anna Fali
1013Mayumi B BologniaUnited Kingdom2024-06-03Feltz Printing Service PROPOSAL55Anna Fali
1014Morrow U FlosiIndia2024-06-13Feltz Printing Service RENEWAL3Bernardo Dominic
1015Isabel C MorascaArgentina2024-06-18Dorl, James J Esq PROPOSAL84Ivan Magalhaes
1016Silvio X WhobreyJapan2024-06-11Buckley Miller Wright RENEWAL96Amy Elsner
1017David G BowleyAustralia2024-06-05Chanay, Jeffrey A Esq NEGOTIATION45Stephen Shaw
1018Tony Q GauchoCanada2024-05-31Feltz Printing Service RENEWAL66Bernardo Dominic
1019James I AmigonGermany2024-06-08Printing Dimensions NEGOTIATION19Xuxue Feng
1020Kaitlin N MacleadAustralia2024-06-06Dorl, James J Esq NEW37Bernardo Dominic
1021Deepesh S NickaItaly2024-06-16Feltz Printing Service PROPOSAL77Xuxue Feng
1022Alejandro G PerinArgentina2024-06-11Chemel, James L Cpa NEW22Anna Fali
1023Kadeem V MorascaIndia2024-06-18Buckley Miller Wright QUALIFIED94Ioni Bowcher
1024Leon O FerenczRussia2024-06-12Printing Dimensions UNQUALIFIED19Anna Fali
1025Munro O StockhamRussia2024-06-11Truhlar And Truhlar Attys RENEWAL22Anna Fali
1026Nicolas O RutaBrazil2024-05-28Morlong Associates NEW80Asiya Javayant
1027Ivar H VenereJapan2024-05-29Dorl, James J Esq QUALIFIED99Xuxue Feng
1028Isabel Z GauchoUnited Kingdom2024-06-01Chemel, James L Cpa NEW82Asiya Javayant
1029Alejandro P SchemmerFrance2024-06-10Dorl, James J Esq PROPOSAL31Stephen Shaw
1030Isabel D MaletUnited Kingdom2024-05-29Commercial Press NEW79Stephen Shaw
1031Murillo Y PerinFrance2024-06-12Commercial Press RENEWAL61Stephen Shaw
1032Aruna Q CaudyGermany2024-05-30Truhlar And Truhlar Attys NEW62Ioni Bowcher
1033Maisha L WaycottFrance2024-06-10Chemel, James L Cpa UNQUALIFIED99Asiya Javayant
1034Murillo J CaudyGermany2024-06-09Commercial Press RENEWAL97Bernardo Dominic
1035Leon V RimAustralia2024-06-14Feltz Printing Service NEGOTIATION12Bernardo Dominic
1036Aditya X MaletItaly2024-06-14Buckley Miller Wright RENEWAL8Stephen Shaw
1037Johnson E OldroydUnited Kingdom2024-05-25Chanay, Jeffrey A Esq PROPOSAL99Asiya Javayant
1038Chavez D NestleCanada2024-06-06Chanay, Jeffrey A Esq PROPOSAL80Asiya Javayant
1039Deepesh J DarakjyIndia2024-06-21Chanay, Jeffrey A Esq NEGOTIATION96Onyama Limba
1040Maria B AmigonRussia2024-06-09Feltz Printing Service NEW64Elwin Sharvill
1041Tony P WhobreyCanada2024-06-13Feltz Printing Service NEGOTIATION72Ivan Magalhaes
1042Kaitlin M KolmetzSpain2024-06-06Buckley Miller Wright NEGOTIATION86Ioni Bowcher
1043Ivar Q NickaItaly2024-06-07Chapman, Ross E Esq QUALIFIED90Ivan Magalhaes
1044Deepesh G NickaSpain2024-06-13Printing Dimensions NEW94Ivan Magalhaes
1045Tony C GauchoUnited Kingdom2024-06-14Buckley Miller Wright QUALIFIED9Elwin Sharvill
1046Juan H FigeroaJapan2024-06-02Benton, John B Jr UNQUALIFIED23Amy Elsner
1047Jennifer S BowleyFrance2024-06-16Printing Dimensions UNQUALIFIED59Anna Fali
1048Clifford O StensethJapan2024-06-12Chemel, James L Cpa PROPOSAL20Bernardo Dominic
1049Silvio V ChuiArgentina2024-06-03Benton, John B Jr RENEWAL46Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
James E ShinkoFranceBernardo Dominic RENEWAL
David Q BriddickRussiaXuxue Feng PROPOSAL
Misaki U GauchoBrazilStephen Shaw NEW
Juan M CaldareraUnited KingdomIvan Magalhaes PROPOSAL
Julie P RoysterJapanIoni Bowcher NEW
Maria S IturbideFranceIoni Bowcher NEGOTIATION
Smith R FlosiRussiaAnna Fali RENEWAL
Maria P RimIndiaElwin Sharvill NEW
Aruna D MaletItalyIvan Magalhaes QUALIFIED
Darci V MaletFranceBernardo Dominic UNQUALIFIED
Munro M MaletItalyOnyama Limba PROPOSAL
Morrow J RimFranceElwin Sharvill RENEWAL
Darci J WaycottGermanyAsiya Javayant UNQUALIFIED
Ashley X ButtSpainAnna Fali NEW
Wickens C MarrierIndiaIvan Magalhaes NEGOTIATION
Munro G DilliardAustraliaXuxue Feng PROPOSAL
Ricardo A ChuiRussiaIoni Bowcher PROPOSAL
Jones A NickaSpainElwin Sharvill RENEWAL
Isabel B CampainIndiaXuxue Feng NEGOTIATION
Adams B MaletGermanyElwin Sharvill RENEWAL
Ricardo H GarufiFranceElwin Sharvill NEGOTIATION
Maria P InouyeAustraliaAmy Elsner UNQUALIFIED
Leon W CaudyIndiaXuxue Feng UNQUALIFIED
Costa D ChuiAustraliaElwin Sharvill QUALIFIED
David H ChuiFranceOnyama Limba NEGOTIATION
Tony T InouyeJapanAsiya Javayant NEW
Aruna R MorascaIndiaAsiya Javayant NEGOTIATION
Adams T VenereArgentinaOnyama Limba PROPOSAL
Emily Y PaprockiAustraliaBernardo Dominic RENEWAL
Maria V FigeroaCanadaAnna Fali PROPOSAL
Morrow D MorascaFranceElwin Sharvill NEGOTIATION
Jefferson C IturbideJapanAnna Fali UNQUALIFIED
Cody S IturbideUnited KingdomIvan Magalhaes RENEWAL
Darci J RimGermanyAnna Fali NEGOTIATION
Chavez G NickaGermanyStephen Shaw RENEWAL
Francesco Z ChuiBrazilIoni Bowcher NEW
Clifford F ShinkoBrazilBernardo Dominic NEW
Juan L SlusarskiJapanAsiya Javayant QUALIFIED
Jefferson F KuskoUnited KingdomAnna Fali QUALIFIED
Aditya Z ChuiCanadaXuxue Feng PROPOSAL
Greenwood N FollerSpainAnna Fali RENEWAL
Julie H FollerJapanOnyama Limba NEW
Leja N BriddickCanadaOnyama Limba NEGOTIATION
Wickens I SergiBrazilAnna Fali PROPOSAL
Aditya U SaylorsSpainBernardo Dominic QUALIFIED
Adams Z OldroydFranceOnyama Limba RENEWAL
Leon C PoquetteFranceAsiya Javayant NEGOTIATION
Faith J MacleadJapanElwin Sharvill NEW
Smith D GauchoUnited KingdomXuxue Feng QUALIFIED
Jones D GarufiFranceXuxue Feng RENEWAL
Frozen Columns
Name
Nicolas Y Perin
Aditya R Kusko
Maisha U Ostrosky
Francesco V Albares
Octavia Q Waycott
Wickens S Morasca
Darci O Oldroyd
Wickens J Stockham
Clifford C Rim
Tony D Sergi
Ashley M Bowley
Aruna K Butt
Izzy T Iturbide
Chavez A Flosi
Claire I Maclead
Salvatore F Foller
Smith R Doe
Isabel U Dilliard
Octavia K Gaucho
Alejandro Y Doe
Jennifer C Gaucho
Antonio N Morasca
Jennifer U Rim
Leon N Stockham
Aruna S Campain
Leja C Slusarski
Costa M Briddick
Juan B Inouye
Jones M Gaucho
David B Bolognia
Mujtaba B Glick
Chavez C Flosi
Rodrigues R Nestle
Emily S Vocelka
Salvatore N Butt
Cody D Ferencz
Stacey A Venere
Adams W Caudy
Costa J Paprocki
Aruna T Doe
Smith Q Rim
Izzy P Malet
Maria U Doe
Kadeem S Inouye
James P Poquette
Jennifer B Venere
Misaki A Briddick
Francesco P Perin
Salvatore F Rim
Chavez J Oldroyd
IdCountryDate
1000France2024-06-03
1001Italy2024-05-31
1002Japan2024-06-13
1003Argentina2024-06-09
1004Argentina2024-06-12
1005Argentina2024-06-01
1006Australia2024-06-20
1007Brazil2024-06-17
1008Australia2024-05-28
1009Australia2024-06-22
1010Spain2024-06-07
1011Germany2024-06-14
1012Canada2024-06-14
1013Spain2024-06-13
1014United Kingdom2024-06-06
1015Spain2024-06-16
1016Brazil2024-06-05
1017Brazil2024-06-21
1018Japan2024-05-31
1019Spain2024-05-26
1020Canada2024-06-17
1021Italy2024-06-08
1022France2024-06-15
1023Spain2024-06-02
1024Argentina2024-06-08
1025United Kingdom2024-06-20
1026Germany2024-05-29
1027Russia2024-06-18
1028Germany2024-05-24
1029United Kingdom2024-06-10
1030Germany2024-05-31
1031Australia2024-06-02
1032Germany2024-06-21
1033Germany2024-06-04
1034United Kingdom2024-06-10
1035India2024-06-17
1036Brazil2024-05-28
1037France2024-06-06
1038India2024-06-02
1039Canada2024-06-05
1040Brazil2024-05-27
1041Russia2024-06-06
1042Australia2024-06-17
1043Italy2024-06-10
1044United Kingdom2024-06-19
1045Australia2024-06-12
1046Japan2024-06-03
1047Japan2024-05-26
1048India2024-06-04
1049Spain2024-06-03

On-Demand Data

NameIdCountryDate
Greenwood U Paprocki1000France2024-05-27
Leon J Rulapaugh1001Canada2024-05-27
Rodrigues W Perin1002Argentina2024-06-06
Misaki V Inouye1003Russia2024-05-26
Jefferson O Kolmetz1004Italy2024-06-07
Maria A Stenseth1005Russia2024-06-02
Greenwood Y Ferencz1006Japan2024-06-22
Octavia O Vocelka1007United Kingdom2024-06-17
Cody Z Paprocki1008Argentina2024-06-19
Clifford R Oldroyd1009Russia2024-06-21
Jones S Campain1010Brazil2024-06-09
Arvin R Maclead1011Russia2024-06-09
Chavez Z Albares1012Germany2024-06-05
Aika K Whobrey1013India2024-05-29
Rodrigues X Nestle1014France2024-06-21
Maria T Oldroyd1015Germany2024-06-13
Darci T Wieser1016India2024-06-22
Morrow H Caudy1017Japan2024-05-27
Silvio P Dilliard1018United Kingdom2024-06-06
Jeanfrancois Q Gaucho1019France2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja F DoeIndiaStephen Shaw UNQUALIFIED
Francesco E StockhamJapanIvan Magalhaes PROPOSAL
Misaki K SaylorsAustraliaAnna Fali NEGOTIATION
Jefferson N VocelkaIndiaBernardo Dominic NEW
Tony Z NestleUnited KingdomStephen Shaw NEGOTIATION
Isabel F KolmetzArgentinaAmy Elsner QUALIFIED
Maisha G BologniaIndiaAsiya Javayant RENEWAL
Stacey L InouyeCanadaIvan Magalhaes NEGOTIATION
Octavia O MorascaFranceXuxue Feng UNQUALIFIED
Antonio V MacleadAustraliaStephen Shaw QUALIFIED
Francesco V NickaRussiaStephen Shaw NEGOTIATION
Aika R WieserAustraliaBernardo Dominic NEGOTIATION
Aika R StockhamGermanyXuxue Feng PROPOSAL
David Q SergiAustraliaElwin Sharvill PROPOSAL
Izzy X BologniaRussiaIvan Magalhaes NEGOTIATION
Leon D CaldareraRussiaAmy Elsner PROPOSAL
Antonio J RutaArgentinaAnna Fali PROPOSAL
Morrow Z FerenczUnited KingdomAnna Fali NEW
Ivar Y MacleadItalyStephen Shaw UNQUALIFIED
Sinclair R KuskoIndiaIoni Bowcher NEGOTIATION
Juan D StockhamArgentinaIoni Bowcher PROPOSAL
Darci P PaprockiSpainXuxue Feng PROPOSAL
Maisha G GarufiIndiaAnna Fali PROPOSAL
Jennifer R KuskoAustraliaBernardo Dominic NEW
Jefferson W KolmetzItalyBernardo Dominic RENEWAL
Darci C BowleyAustraliaOnyama Limba QUALIFIED
Francesco Y SlusarskiCanadaIoni Bowcher RENEWAL
Aruna T GarufiJapanIvan Magalhaes QUALIFIED
Arvin L VenereGermanyStephen Shaw QUALIFIED
Murillo B VenereItalyBernardo Dominic QUALIFIED
Claire U InouyeCanadaIvan Magalhaes PROPOSAL
Kadeem U BologniaItalyBernardo Dominic RENEWAL
Juan J VenereBrazilAmy Elsner PROPOSAL
Jennifer R CaudyBrazilXuxue Feng NEGOTIATION
Adams Z IturbideGermanyOnyama Limba UNQUALIFIED
Emily D StensethUnited KingdomStephen Shaw PROPOSAL
Claire N AmigonItalyElwin Sharvill NEGOTIATION
Morrow N MorascaCanadaAsiya Javayant QUALIFIED
Jennifer I DarakjyGermanyAsiya Javayant NEGOTIATION
Chavez H InouyeRussiaStephen Shaw 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>