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
James E AmigonGermanyAsiya Javayant RENEWAL
Julie H WieserJapanIvan Magalhaes NEW
Maria V KolmetzJapanXuxue Feng NEGOTIATION
Chavez Q MarrierSpainStephen Shaw RENEWAL
Ivar S SergiItalyXuxue Feng NEW
Greenwood Z KuskoAustraliaXuxue Feng RENEWAL
Aruna A DilliardGermanyIvan Magalhaes NEW
Arvin X FollerArgentinaXuxue Feng NEGOTIATION
Tony E BowleyArgentinaXuxue Feng PROPOSAL
Aika Z GlickIndiaStephen Shaw UNQUALIFIED
Deepesh Q VocelkaJapanOnyama Limba PROPOSAL
Maisha W OstroskyCanadaAmy Elsner QUALIFIED
Alejandro D VenereCanadaBernardo Dominic RENEWAL
Ivar T GarufiBrazilAsiya Javayant NEW
Jennifer X DilliardUnited KingdomAmy Elsner NEW
Francesco I OstroskyRussiaXuxue Feng UNQUALIFIED
Tony E SaylorsSpainAmy Elsner RENEWAL
Cody A SchemmerIndiaStephen Shaw NEGOTIATION
Kadeem I VocelkaCanadaOnyama Limba UNQUALIFIED
Kaitlin C BriddickUnited KingdomAmy Elsner NEGOTIATION
Claire M RoysterArgentinaXuxue Feng QUALIFIED
Johnson U WhobreyBrazilBernardo Dominic UNQUALIFIED
Clifford C PoquetteItalyAnna Fali NEW
Ashley W FlosiGermanyIvan Magalhaes PROPOSAL
Alejandro W IturbideJapanIvan Magalhaes RENEWAL
Mujtaba Y SaylorsGermanyIoni Bowcher RENEWAL
Aditya V ButtIndiaXuxue Feng QUALIFIED
Clifford C CaudyAustraliaAnna Fali PROPOSAL
Sinclair Q SaylorsAustraliaIoni Bowcher NEW
Kaitlin U WieserJapanIoni Bowcher PROPOSAL
Antonio E GarufiIndiaBernardo Dominic RENEWAL
Stacey X BowleyRussiaAnna Fali QUALIFIED
Faith E RimJapanIoni Bowcher QUALIFIED
Mujtaba N FerenczItalyStephen Shaw NEGOTIATION
Stacey K DilliardRussiaIvan Magalhaes UNQUALIFIED
Ashley N MorascaFranceBernardo Dominic RENEWAL
Wickens Y NickaBrazilIoni Bowcher RENEWAL
Kaitlin R CaldareraItalyAmy Elsner QUALIFIED
Sinclair U CampainItalyIoni Bowcher PROPOSAL
Costa V OstroskySpainAmy Elsner QUALIFIED
Aika Z GillianCanadaIoni Bowcher NEW
Silvio S ButtAustraliaXuxue Feng RENEWAL
Tony G MorascaUnited KingdomAmy Elsner RENEWAL
James F MorascaArgentinaBernardo Dominic PROPOSAL
Deepesh G OldroydCanadaOnyama Limba NEGOTIATION
Ivar G ShinkoGermanyAnna Fali NEW
Maisha V MorascaAustraliaAnna Fali PROPOSAL
Maisha H InouyeSpainOnyama Limba NEGOTIATION
Costa W SlusarskiBrazilIoni Bowcher PROPOSAL
Maisha P FlosiGermanyElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Aditya E GauchoBrazilIvan Magalhaes QUALIFIED
Darci O VenereJapanBernardo Dominic PROPOSAL
Aruna J SlusarskiAustraliaIvan Magalhaes NEGOTIATION
Leon U ChuiFranceElwin Sharvill RENEWAL
Tony B ShinkoIndiaStephen Shaw RENEWAL
Costa G ChuiFranceAnna Fali UNQUALIFIED
Clifford U MarrierRussiaIoni Bowcher NEW
Leon R MaletGermanyAmy Elsner PROPOSAL
Mayumi Q CaudyUnited KingdomBernardo Dominic PROPOSAL
Darci B AmigonJapanIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro K VocelkaFrance2026-07-31Printing Dimensions QUALIFIED30Elwin Sharvill
1001Costa M DoeGermany2026-07-18Truhlar And Truhlar Attys NEGOTIATION87Asiya Javayant
1002Rodrigues P RimArgentina2026-07-18Benton, John B Jr RENEWAL22Amy Elsner
1003Julie J BriddickUnited Kingdom2026-07-29Chanay, Jeffrey A Esq QUALIFIED96Amy Elsner
1004Isabel Z WhobreyFrance2026-08-01Feltz Printing Service PROPOSAL27Stephen Shaw
1005Alejandro X CaldareraJapan2026-08-06Buckley Miller Wright PROPOSAL76Elwin Sharvill
1006Adams E BologniaCanada2026-08-10Commercial Press RENEWAL33Elwin Sharvill
1007Aruna C TollnerIndia2026-07-21Chanay, Jeffrey A Esq UNQUALIFIED43Onyama Limba
1008Ricardo G AmigonRussia2026-08-02Commercial Press UNQUALIFIED14Anna Fali
1009Francesco A MaletSpain2026-08-01Feiner Bros NEGOTIATION75Elwin Sharvill
1010Ivar V KuskoAustralia2026-07-29Buckley Miller Wright NEGOTIATION92Onyama Limba
1011Stacey Y SergiAustralia2026-08-07Printing Dimensions PROPOSAL45Amy Elsner
1012Misaki D CaudyUnited Kingdom2026-07-19Truhlar And Truhlar Attys RENEWAL5Onyama Limba
1013Nicolas X StensethUnited Kingdom2026-08-03Buckley Miller Wright NEW63Ioni Bowcher
1014Aika M MarrierSpain2026-07-30Chemel, James L Cpa RENEWAL35Onyama Limba
1015Misaki G NickaArgentina2026-08-07Feltz Printing Service PROPOSAL59Stephen Shaw
1016Jefferson X DoeSpain2026-07-28Chapman, Ross E Esq PROPOSAL86Amy Elsner
1017Johnson X SergiRussia2026-07-28Chemel, James L Cpa UNQUALIFIED19Bernardo Dominic
1018Cody V SergiCanada2026-08-11Rousseaux, Michael Esq NEGOTIATION53Onyama Limba
1019Wickens T GauchoSpain2026-07-28Printing Dimensions UNQUALIFIED23Stephen Shaw
1020Munro Z OldroydUnited Kingdom2026-07-26Chanay, Jeffrey A Esq RENEWAL31Bernardo Dominic
1021Arvin L MaletArgentina2026-07-30King, Christopher A Esq NEGOTIATION84Onyama Limba
1022Aruna B CampainSpain2026-08-12Chanay, Jeffrey A Esq QUALIFIED89Ivan Magalhaes
1023Kadeem S DoeJapan2026-07-28Rousseaux, Michael Esq QUALIFIED57Stephen Shaw
1024Maria M SaylorsSpain2026-08-01Dorl, James J Esq NEGOTIATION37Ivan Magalhaes
1025Mayumi Z CaudyGermany2026-08-05Feltz Printing Service NEW40Amy Elsner
1026Faith O RutaArgentina2026-07-17Printing Dimensions QUALIFIED19Asiya Javayant
1027Jones A VocelkaUnited Kingdom2026-07-21Buckley Miller Wright NEGOTIATION12Elwin Sharvill
1028Izzy E DarakjyGermany2026-07-19Rangoni Of Florence NEGOTIATION66Ioni Bowcher
1029Salvatore C MorascaUnited Kingdom2026-07-16Rangoni Of Florence RENEWAL64Asiya Javayant
1030Adams C ChuiSpain2026-07-18Feiner Bros NEGOTIATION14Stephen Shaw
1031Aruna C MacleadUnited Kingdom2026-08-06Rangoni Of Florence QUALIFIED38Anna Fali
1032Cody R GauchoAustralia2026-08-06Printing Dimensions RENEWAL12Ioni Bowcher
1033Isabel M SergiFrance2026-08-07King, Christopher A Esq QUALIFIED41Anna Fali
1034Morrow I DoeAustralia2026-07-30Commercial Press PROPOSAL70Stephen Shaw
1035Smith V CaldareraItaly2026-07-15King, Christopher A Esq QUALIFIED82Anna Fali
1036Salvatore C MorascaCanada2026-07-30Chemel, James L Cpa PROPOSAL98Anna Fali
1037Aruna A SergiSpain2026-07-25Morlong Associates UNQUALIFIED80Elwin Sharvill
1038Jones Y FigeroaArgentina2026-08-11Chanay, Jeffrey A Esq RENEWAL59Ioni Bowcher
1039James D AlbaresAustralia2026-08-08Commercial Press RENEWAL38Bernardo Dominic
1040Arvin I VocelkaIndia2026-07-16Chanay, Jeffrey A Esq QUALIFIED46Asiya Javayant
1041Octavia T NestleJapan2026-08-01Feltz Printing Service UNQUALIFIED60Anna Fali
1042Murillo Y WieserIndia2026-07-29Rousseaux, Michael Esq PROPOSAL34Bernardo Dominic
1043Silvio E StensethJapan2026-07-19Rangoni Of Florence NEW66Amy Elsner
1044Clifford A OstroskyFrance2026-08-01Chemel, James L Cpa NEGOTIATION91Ivan Magalhaes
1045Salvatore E WhobreyJapan2026-07-29Rousseaux, Michael Esq NEGOTIATION64Elwin Sharvill
1046Costa Z GauchoCanada2026-08-01Printing Dimensions PROPOSAL23Bernardo Dominic
1047Arvin X MaletBrazil2026-08-04Dorl, James J Esq QUALIFIED18Anna Fali
1048Cody C VocelkaBrazil2026-08-08Truhlar And Truhlar Attys PROPOSAL20Bernardo Dominic
1049Tony V DilliardCanada2026-07-30Chanay, Jeffrey A Esq NEGOTIATION0Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Cody J WhobreyUnited KingdomAmy Elsner NEGOTIATION
Stacey K GillianGermanyAnna Fali NEGOTIATION
Johnson U TollnerUnited KingdomOnyama Limba RENEWAL
Rodrigues U PerinCanadaElwin Sharvill NEGOTIATION
Izzy N GarufiUnited KingdomIvan Magalhaes RENEWAL
Misaki R KuskoAustraliaXuxue Feng RENEWAL
Octavia Y MacleadRussiaAmy Elsner RENEWAL
Faith J DoeRussiaAnna Fali PROPOSAL
Arvin M SchemmerIndiaAnna Fali NEW
Sinclair W SergiFranceIvan Magalhaes QUALIFIED
Emily B DoeItalyIvan Magalhaes QUALIFIED
Claire F MacleadBrazilOnyama Limba NEGOTIATION
Claire J GauchoIndiaXuxue Feng UNQUALIFIED
Kadeem A StockhamArgentinaElwin Sharvill UNQUALIFIED
Rodrigues D GillianArgentinaAnna Fali PROPOSAL
Izzy V NestleItalyIoni Bowcher QUALIFIED
Juan I TollnerUnited KingdomIoni Bowcher QUALIFIED
Faith Q ShinkoUnited KingdomElwin Sharvill QUALIFIED
Aditya O InouyeRussiaAmy Elsner NEW
Misaki W BologniaGermanyXuxue Feng RENEWAL
Jeanfrancois Z VenereUnited KingdomAnna Fali NEW
Octavia P WaycottJapanAmy Elsner RENEWAL
Claire E InouyeArgentinaAmy Elsner UNQUALIFIED
James J ButtRussiaStephen Shaw PROPOSAL
Deepesh U MorascaFranceIvan Magalhaes QUALIFIED
Alejandro T GillianFranceOnyama Limba RENEWAL
Murillo X GillianAustraliaStephen Shaw RENEWAL
Rodrigues G VenereJapanBernardo Dominic NEGOTIATION
Emily R PerinUnited KingdomStephen Shaw NEGOTIATION
Maisha V OstroskyJapanOnyama Limba UNQUALIFIED
Smith U WaycottSpainOnyama Limba NEGOTIATION
Clifford S PerinCanadaIoni Bowcher UNQUALIFIED
Leja T MaletCanadaIvan Magalhaes NEW
Ricardo J RoysterBrazilAmy Elsner NEGOTIATION
Ivar R RimItalyAsiya Javayant QUALIFIED
Nicolas N ButtJapanOnyama Limba RENEWAL
Adams K GillianAustraliaElwin Sharvill QUALIFIED
Ashley R WieserAustraliaAsiya Javayant NEW
Juan A MaletIndiaStephen Shaw NEW
Jefferson T MarrierUnited KingdomStephen Shaw NEGOTIATION
Francesco W RimSpainAnna Fali NEW
Deepesh V SchemmerRussiaElwin Sharvill RENEWAL
Morrow W ChuiFranceElwin Sharvill NEW
James B SergiSpainOnyama Limba PROPOSAL
Maria P KolmetzAustraliaBernardo Dominic UNQUALIFIED
Jeanfrancois B NickaItalyAsiya Javayant RENEWAL
Ashley N NestleIndiaXuxue Feng RENEWAL
Ricardo W SlusarskiAustraliaIoni Bowcher NEW
Maisha X SaylorsUnited KingdomStephen Shaw PROPOSAL
Faith P WaycottArgentinaAsiya Javayant QUALIFIED
Frozen Columns
Name
Emily J Whobrey
Arvin Y Caudy
Wickens L Butt
Kadeem D Inouye
Juan F Darakjy
Antonio S Garufi
Aika J Rulapaugh
Claire G Slusarski
Leja M Caudy
Chavez Z Tollner
Nicolas P Oldroyd
Clifford I Iturbide
Maisha Y Venere
James W Amigon
Mayumi O Iturbide
Stacey A Royster
Jones B Kolmetz
Mayumi U Venere
Stacey Q Albares
Aditya Q Briddick
Tony G Perin
Sinclair T Bowley
Emily X Perin
Munro X Iturbide
Kadeem F Sergi
Aika N Royster
Leon X Venere
Aika F Butt
Francesco N Oldroyd
Juan U Rulapaugh
Jones I Butt
Francesco P Shinko
Alejandro L Glick
Stacey V Foller
Ashley Y Bowley
Salvatore Y Slusarski
Johnson G Ostrosky
Francesco W Marrier
Mayumi L Venere
Octavia W Shinko
James Q Kusko
Stacey Z Nicka
Smith F Iturbide
Emily K Oldroyd
Munro Q Schemmer
Smith S Kolmetz
Ashley P Tollner
Munro H Vocelka
Aruna M Briddick
David F Ruta
IdCountryDate
1000Brazil2026-08-08
1001Japan2026-08-08
1002Italy2026-07-16
1003Spain2026-07-18
1004India2026-07-24
1005Spain2026-07-26
1006United Kingdom2026-07-23
1007Brazil2026-07-28
1008Argentina2026-08-05
1009India2026-07-25
1010Australia2026-07-15
1011Australia2026-07-23
1012France2026-08-12
1013Italy2026-08-01
1014Argentina2026-08-09
1015Russia2026-07-19
1016Brazil2026-08-12
1017Japan2026-07-28
1018Argentina2026-07-17
1019Argentina2026-07-20
1020France2026-08-08
1021Brazil2026-07-25
1022Japan2026-07-17
1023United Kingdom2026-08-02
1024Canada2026-08-01
1025Japan2026-08-01
1026Germany2026-07-16
1027Germany2026-07-22
1028Italy2026-08-11
1029Argentina2026-07-23
1030Japan2026-08-01
1031Germany2026-08-12
1032Canada2026-07-30
1033Canada2026-07-15
1034Argentina2026-08-09
1035Australia2026-07-28
1036Russia2026-08-11
1037Japan2026-08-01
1038Italy2026-07-31
1039India2026-07-26
1040Argentina2026-08-09
1041Russia2026-07-28
1042Australia2026-07-30
1043United Kingdom2026-07-26
1044Canada2026-07-25
1045United Kingdom2026-07-17
1046India2026-08-02
1047Russia2026-07-28
1048United Kingdom2026-08-04
1049Italy2026-07-31

On-Demand Data

NameIdCountryDate
Munro R Royster1000Russia2026-08-03
Juan R Nestle1001Australia2026-07-28
Alejandro Y Butt1002Japan2026-07-17
Darci K Poquette1003India2026-07-17
Johnson R Waycott1004Australia2026-08-02
Stacey V Nestle1005Argentina2026-08-06
Greenwood J Chui1006Spain2026-07-21
Juan H Inouye1007India2026-08-09
Misaki V Amigon1008United Kingdom2026-07-31
Johnson T Figeroa1009Germany2026-07-30
Ivar U Figeroa1010Germany2026-07-15
Claire E Ostrosky1011Argentina2026-07-19
Nicolas I Morasca1012Brazil2026-07-16
Jennifer N Figeroa1013Australia2026-08-10
Darci L Morasca1014Argentina2026-08-12
Jeanfrancois I Whobrey1015Australia2026-07-31
Munro V Chui1016Spain2026-08-08
Kadeem B Perin1017Germany2026-07-26
Ivar F Wieser1018Germany2026-08-04
Maisha T Royster1019Canada2026-08-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo W StensethFranceElwin Sharvill NEW
Darci K TollnerArgentinaBernardo Dominic RENEWAL
Mujtaba L GarufiIndiaAmy Elsner PROPOSAL
Alejandro R CampainSpainAsiya Javayant UNQUALIFIED
Jennifer F BowleyRussiaIvan Magalhaes UNQUALIFIED
Cody P StensethRussiaAmy Elsner NEW
James G VocelkaUnited KingdomOnyama Limba NEGOTIATION
Isabel N WaycottAustraliaIoni Bowcher UNQUALIFIED
Clifford Z NestleGermanyBernardo Dominic NEW
Wickens A GauchoFranceStephen Shaw QUALIFIED
Kadeem Z RulapaughJapanAnna Fali QUALIFIED
Juan R RulapaughSpainStephen Shaw NEGOTIATION
Kadeem W GarufiJapanAmy Elsner UNQUALIFIED
Silvio Z WaycottUnited KingdomElwin Sharvill PROPOSAL
Darci G MaletAustraliaIvan Magalhaes QUALIFIED
Greenwood J SchemmerBrazilAnna Fali QUALIFIED
Rodrigues N AmigonJapanIvan Magalhaes NEGOTIATION
Deepesh W NickaJapanAmy Elsner PROPOSAL
Kaitlin L RoysterUnited KingdomOnyama Limba NEGOTIATION
Jones W WaycottAustraliaBernardo Dominic UNQUALIFIED
Arvin N VenereFranceAmy Elsner NEGOTIATION
Johnson E WaycottRussiaXuxue Feng RENEWAL
Isabel L StensethSpainAmy Elsner PROPOSAL
Claire B BologniaCanadaIvan Magalhaes NEGOTIATION
Mayumi V SaylorsRussiaAmy Elsner NEW
Clifford P SchemmerUnited KingdomOnyama Limba NEW
Munro K ChuiAustraliaIoni Bowcher RENEWAL
Claire T GarufiAustraliaElwin Sharvill NEW
Nicolas F VocelkaArgentinaIoni Bowcher PROPOSAL
Mayumi H StockhamCanadaElwin Sharvill RENEWAL
James F BologniaJapanAsiya Javayant UNQUALIFIED
Cody S VenereRussiaXuxue Feng UNQUALIFIED
Salvatore D ButtIndiaElwin Sharvill NEW
Isabel V TollnerCanadaAsiya Javayant NEW
Misaki R FollerRussiaAnna Fali NEW
Maisha C BologniaGermanyIoni Bowcher PROPOSAL
Octavia C IturbideBrazilOnyama Limba NEW
Jeanfrancois Q BriddickItalyOnyama Limba UNQUALIFIED
Nicolas K MarrierItalyElwin Sharvill NEGOTIATION
Murillo O MarrierArgentinaIoni Bowcher UNQUALIFIED

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