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
Costa O PerinAustraliaStephen Shaw NEGOTIATION
Kaitlin U OldroydUnited KingdomOnyama Limba NEW
Leja C FerenczItalyOnyama Limba NEW
Maria G TollnerJapanAnna Fali NEW
Octavia S SaylorsAustraliaOnyama Limba RENEWAL
Ricardo S PoquetteJapanIvan Magalhaes NEGOTIATION
Munro D SlusarskiBrazilBernardo Dominic UNQUALIFIED
Jefferson D GillianBrazilAmy Elsner RENEWAL
David P RimAustraliaAnna Fali QUALIFIED
Alejandro G RimArgentinaAmy Elsner QUALIFIED
Leon O OstroskyFranceOnyama Limba QUALIFIED
Misaki Y MorascaJapanBernardo Dominic NEGOTIATION
Izzy C SchemmerBrazilOnyama Limba QUALIFIED
Chavez D ChuiAustraliaAsiya Javayant UNQUALIFIED
Izzy N FerenczBrazilAmy Elsner NEW
Francesco R PoquetteJapanAsiya Javayant QUALIFIED
Mayumi B SaylorsJapanStephen Shaw RENEWAL
Clifford W FollerCanadaAnna Fali NEGOTIATION
Claire G KolmetzUnited KingdomOnyama Limba NEW
Leja P FollerFranceAsiya Javayant UNQUALIFIED
Kaitlin Z VenereItalyXuxue Feng RENEWAL
Jones Q SergiItalyBernardo Dominic RENEWAL
Jeanfrancois H NestleItalyElwin Sharvill NEGOTIATION
Ashley B MarrierSpainOnyama Limba NEW
Jefferson R OstroskySpainXuxue Feng QUALIFIED
Ivar V SchemmerJapanIvan Magalhaes QUALIFIED
Leja Y KuskoGermanyStephen Shaw RENEWAL
Tony E PaprockiJapanStephen Shaw RENEWAL
Tony C PerinJapanAnna Fali NEW
Alejandro I NestleBrazilIoni Bowcher PROPOSAL
Mujtaba J MarrierAustraliaBernardo Dominic PROPOSAL
Arvin Q AmigonJapanAnna Fali NEGOTIATION
Maria V SchemmerBrazilIvan Magalhaes UNQUALIFIED
Wickens W GlickSpainIoni Bowcher PROPOSAL
Johnson E PoquetteCanadaAnna Fali RENEWAL
Jefferson E RulapaughFranceBernardo Dominic NEGOTIATION
Chavez D NickaRussiaXuxue Feng NEGOTIATION
Clifford A SaylorsItalyXuxue Feng QUALIFIED
Mujtaba G WieserIndiaAmy Elsner QUALIFIED
Sinclair A RutaArgentinaIvan Magalhaes RENEWAL
Antonio D MorascaArgentinaBernardo Dominic UNQUALIFIED
Nicolas Z FigeroaGermanyAnna Fali NEGOTIATION
Aruna P OldroydItalyBernardo Dominic QUALIFIED
Wickens R StensethBrazilOnyama Limba UNQUALIFIED
Murillo D OstroskyBrazilAsiya Javayant NEW
Stacey X FollerUnited KingdomElwin Sharvill RENEWAL
Ashley R ShinkoRussiaOnyama Limba PROPOSAL
Isabel A DoeBrazilElwin Sharvill UNQUALIFIED
Jeanfrancois S TollnerAustraliaIoni Bowcher NEGOTIATION
Johnson E FigeroaFranceBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Leja H PoquetteCanadaAmy Elsner NEW
Silvio T WieserArgentinaElwin Sharvill NEGOTIATION
Octavia G VocelkaFranceAnna Fali PROPOSAL
Emily R SchemmerBrazilXuxue Feng RENEWAL
Maria F StensethFranceStephen Shaw RENEWAL
Mujtaba U GlickItalyOnyama Limba NEW
Julie Q TollnerIndiaOnyama Limba UNQUALIFIED
Maria D RutaItalyAsiya Javayant NEW
Greenwood W ButtItalyIvan Magalhaes RENEWAL
Aika P PerinGermanyBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria D WieserSpain2024-08-30Feiner Bros NEW82Ioni Bowcher
1001Tony F DoeJapan2024-08-28Morlong Associates NEW83Amy Elsner
1002Salvatore U KuskoSpain2024-09-11Chapman, Ross E Esq PROPOSAL29Ioni Bowcher
1003Silvio T MacleadSpain2024-08-31Commercial Press PROPOSAL45Anna Fali
1004Emily E VocelkaUnited Kingdom2024-09-16Dorl, James J Esq NEW72Xuxue Feng
1005Clifford B WhobreySpain2024-09-08Commercial Press NEW89Ioni Bowcher
1006Leja K ButtFrance2024-09-10Feltz Printing Service NEW33Ioni Bowcher
1007Juan P IturbideSpain2024-09-11Commercial Press QUALIFIED83Xuxue Feng
1008Clifford O CampainFrance2024-08-31Chemel, James L Cpa RENEWAL38Stephen Shaw
1009Mayumi Y BriddickAustralia2024-09-14Rousseaux, Michael Esq RENEWAL98Stephen Shaw
1010Mujtaba Z CampainJapan2024-08-28Buckley Miller Wright QUALIFIED95Elwin Sharvill
1011Jeanfrancois H MarrierIndia2024-09-20Chemel, James L Cpa RENEWAL49Asiya Javayant
1012Smith B AlbaresUnited Kingdom2024-08-27Chapman, Ross E Esq RENEWAL11Elwin Sharvill
1013Darci S ChuiSpain2024-09-02Rangoni Of Florence UNQUALIFIED34Ivan Magalhaes
1014Claire E BowleyCanada2024-08-27Feiner Bros UNQUALIFIED67Ioni Bowcher
1015Jones D GillianRussia2024-09-22Dorl, James J Esq RENEWAL78Asiya Javayant
1016Greenwood C PaprockiAustralia2024-09-04Chapman, Ross E Esq NEGOTIATION59Asiya Javayant
1017Johnson Y DarakjyArgentina2024-09-13Chapman, Ross E Esq UNQUALIFIED78Xuxue Feng
1018Stacey G OstroskyRussia2024-09-09Feltz Printing Service RENEWAL43Anna Fali
1019Maria P CaldareraUnited Kingdom2024-09-05Rousseaux, Michael Esq NEGOTIATION58Ivan Magalhaes
1020Ivar Q WaycottJapan2024-08-25Chemel, James L Cpa PROPOSAL16Amy Elsner
1021Jeanfrancois J TollnerUnited Kingdom2024-09-14Morlong Associates QUALIFIED91Bernardo Dominic
1022Izzy B PerinJapan2024-09-02Rangoni Of Florence UNQUALIFIED1Elwin Sharvill
1023Darci D AlbaresJapan2024-09-18Rangoni Of Florence UNQUALIFIED33Elwin Sharvill
1024Cody O FerenczJapan2024-09-07Dorl, James J Esq QUALIFIED88Amy Elsner
1025James G GarufiJapan2024-08-31King, Christopher A Esq QUALIFIED21Onyama Limba
1026Ashley W FigeroaJapan2024-09-18Chanay, Jeffrey A Esq UNQUALIFIED7Xuxue Feng
1027Emily N FlosiBrazil2024-09-17Benton, John B Jr PROPOSAL67Elwin Sharvill
1028Costa M WhobreyArgentina2024-08-26Feiner Bros QUALIFIED67Amy Elsner
1029Izzy Y NickaGermany2024-09-03King, Christopher A Esq UNQUALIFIED20Stephen Shaw
1030Ivar U BriddickCanada2024-08-26Feltz Printing Service QUALIFIED20Bernardo Dominic
1031Johnson A SaylorsItaly2024-09-17Feiner Bros UNQUALIFIED59Ivan Magalhaes
1032Jones K KolmetzAustralia2024-08-26Chemel, James L Cpa UNQUALIFIED66Ivan Magalhaes
1033Murillo R BriddickBrazil2024-08-27Rangoni Of Florence RENEWAL35Anna Fali
1034Stacey U DilliardFrance2024-09-11Feltz Printing Service UNQUALIFIED74Onyama Limba
1035Salvatore U SlusarskiCanada2024-08-24Dorl, James J Esq NEW99Ioni Bowcher
1036Ashley P MorascaSpain2024-09-04Morlong Associates PROPOSAL85Bernardo Dominic
1037Jennifer O BologniaSpain2024-09-05Rousseaux, Michael Esq NEGOTIATION79Ioni Bowcher
1038Clifford L SergiGermany2024-09-19Feltz Printing Service QUALIFIED10Stephen Shaw
1039Aditya K AlbaresSpain2024-09-12Feiner Bros RENEWAL43Bernardo Dominic
1040Emily Y ShinkoJapan2024-09-03King, Christopher A Esq QUALIFIED6Ioni Bowcher
1041Wickens Y GauchoIndia2024-09-11Chemel, James L Cpa RENEWAL33Ioni Bowcher
1042Julie I OstroskyGermany2024-09-22Buckley Miller Wright NEW19Asiya Javayant
1043Antonio C WaycottUnited Kingdom2024-09-03King, Christopher A Esq NEGOTIATION15Onyama Limba
1044Sinclair S FigeroaGermany2024-08-30Morlong Associates PROPOSAL8Amy Elsner
1045Munro G FigeroaGermany2024-09-11Chapman, Ross E Esq QUALIFIED62Bernardo Dominic
1046Maisha Z FigeroaRussia2024-09-12Chemel, James L Cpa NEW10Onyama Limba
1047Aruna D KolmetzArgentina2024-08-26Chapman, Ross E Esq NEW20Ivan Magalhaes
1048Tony F OldroydCanada2024-09-16Truhlar And Truhlar Attys RENEWAL9Asiya Javayant
1049Sinclair C BowleyBrazil2024-08-27Rangoni Of Florence NEW73Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Alejandro O NickaAustraliaElwin Sharvill RENEWAL
Wickens T RimArgentinaAsiya Javayant NEGOTIATION
Clifford F GlickCanadaIoni Bowcher UNQUALIFIED
Stacey X CaudyIndiaXuxue Feng NEGOTIATION
Mayumi U ChuiSpainStephen Shaw NEW
Octavia Z DilliardItalyAmy Elsner QUALIFIED
Claire J WaycottArgentinaIvan Magalhaes PROPOSAL
Cody J SaylorsBrazilXuxue Feng RENEWAL
James O PerinAustraliaElwin Sharvill NEGOTIATION
Izzy L KuskoFranceBernardo Dominic UNQUALIFIED
Misaki A NickaRussiaIvan Magalhaes PROPOSAL
Aditya N BriddickSpainAnna Fali NEGOTIATION
Alejandro E StockhamItalyIvan Magalhaes PROPOSAL
Aruna F VocelkaArgentinaAnna Fali NEW
Silvio K GlickUnited KingdomBernardo Dominic NEGOTIATION
Kaitlin S MarrierFranceAsiya Javayant NEGOTIATION
Greenwood B GillianAustraliaOnyama Limba NEW
Octavia Z MorascaGermanyIoni Bowcher NEW
Alejandro C OstroskyGermanyXuxue Feng QUALIFIED
Sinclair L RimItalyXuxue Feng QUALIFIED
Johnson B OldroydUnited KingdomAmy Elsner NEW
Ricardo G NickaIndiaIoni Bowcher QUALIFIED
Chavez Y CaudySpainXuxue Feng UNQUALIFIED
Izzy L DarakjyGermanyAsiya Javayant RENEWAL
Adams S BologniaJapanAsiya Javayant NEGOTIATION
Mujtaba V RutaFranceStephen Shaw PROPOSAL
Jefferson Y KolmetzItalyIvan Magalhaes RENEWAL
Leon S IturbideIndiaAsiya Javayant RENEWAL
Wickens G BologniaArgentinaElwin Sharvill UNQUALIFIED
Nicolas P SaylorsItalyElwin Sharvill UNQUALIFIED
Chavez D DoeAustraliaElwin Sharvill RENEWAL
Octavia A MaletGermanyAsiya Javayant UNQUALIFIED
Mujtaba N KuskoRussiaAsiya Javayant NEGOTIATION
Johnson R FerenczAustraliaAsiya Javayant QUALIFIED
Francesco J RutaIndiaXuxue Feng PROPOSAL
Jefferson Z FerenczAustraliaOnyama Limba QUALIFIED
Morrow A TollnerGermanyAsiya Javayant NEW
Jeanfrancois A RutaItalyBernardo Dominic RENEWAL
Jennifer V MaletFranceStephen Shaw UNQUALIFIED
Clifford B DoeGermanyAmy Elsner RENEWAL
Morrow E OstroskyAustraliaOnyama Limba NEW
Darci O StockhamGermanyAmy Elsner RENEWAL
Stacey R PoquetteIndiaOnyama Limba UNQUALIFIED
Aika Q CaldareraGermanyBernardo Dominic UNQUALIFIED
Deepesh E SaylorsAustraliaElwin Sharvill NEW
James Q WieserArgentinaIvan Magalhaes UNQUALIFIED
Jennifer J WaycottArgentinaAmy Elsner PROPOSAL
Ricardo B PaprockiIndiaStephen Shaw PROPOSAL
Juan J WaycottUnited KingdomStephen Shaw NEGOTIATION
Darci F SchemmerJapanAmy Elsner QUALIFIED
Frozen Columns
Name
Juan K Shinko
Greenwood S Campain
David Y Bolognia
Stacey E Kolmetz
Misaki Z Schemmer
Morrow C Ruta
Kaitlin F Foller
Aditya H Chui
Tony N Inouye
Morrow O Schemmer
Morrow S Nicka
Isabel Q Darakjy
Jefferson B Caldarera
Antonio H Marrier
Ivar D Slusarski
Tony E Stenseth
Ashley Q Sergi
Clifford V Butt
Silvio B Briddick
Cody Q Ostrosky
Francesco E Poquette
Rodrigues X Marrier
Claire D Kolmetz
Silvio Y Poquette
Maria E Shinko
Juan H Caldarera
Alejandro B Rim
Isabel E Nicka
Darci V Sergi
Aruna D Perin
Kaitlin I Stenseth
Ashley K Gillian
Leja W Whobrey
Morrow P Sergi
Aika Z Sergi
Munro R Bolognia
Kaitlin P Caldarera
Rodrigues H Schemmer
Adams L Darakjy
Ashley K Caudy
Cody M Bolognia
Tony Q Bolognia
James R Nicka
David A Butt
Aditya Y Rulapaugh
Aditya M Venere
Maisha W Darakjy
Emily J Oldroyd
Alejandro W Amigon
Misaki Q Ostrosky
IdCountryDate
1000Russia2024-09-12
1001France2024-09-04
1002Germany2024-09-17
1003Italy2024-08-26
1004Russia2024-09-10
1005Italy2024-08-28
1006France2024-08-30
1007Australia2024-09-08
1008India2024-09-16
1009Russia2024-09-15
1010United Kingdom2024-09-22
1011Australia2024-08-28
1012Argentina2024-09-07
1013France2024-09-08
1014Germany2024-09-02
1015Germany2024-09-01
1016Russia2024-09-03
1017Russia2024-09-02
1018Russia2024-09-17
1019Germany2024-09-09
1020United Kingdom2024-09-01
1021Russia2024-09-06
1022United Kingdom2024-09-19
1023Japan2024-08-31
1024Brazil2024-08-31
1025Germany2024-09-05
1026Argentina2024-09-06
1027Japan2024-09-08
1028India2024-08-29
1029Russia2024-09-08
1030France2024-08-26
1031Argentina2024-09-08
1032Argentina2024-08-28
1033Japan2024-09-10
1034India2024-08-28
1035Spain2024-09-08
1036Australia2024-08-25
1037Japan2024-08-28
1038Russia2024-09-20
1039Spain2024-08-27
1040France2024-09-14
1041United Kingdom2024-08-30
1042India2024-08-31
1043United Kingdom2024-09-03
1044United Kingdom2024-08-24
1045Spain2024-09-05
1046Russia2024-09-15
1047India2024-09-05
1048United Kingdom2024-09-22
1049Canada2024-08-29

On-Demand Data

NameIdCountryDate
Ivar N Poquette1000France2024-08-24
Wickens T Butt1001Germany2024-09-08
Jennifer K Iturbide1002Brazil2024-09-04
Nicolas N Stockham1003Canada2024-09-03
Misaki X Dilliard1004France2024-08-24
Aika O Gillian1005Germany2024-09-20
Maria K Wieser1006France2024-09-22
Johnson V Bowley1007Spain2024-09-22
Isabel Y Malet1008Australia2024-09-04
Rodrigues O Flosi1009Germany2024-08-27
Isabel B Dilliard1010Russia2024-08-29
Rodrigues Z Albares1011Brazil2024-09-10
Johnson E Perin1012Canada2024-08-31
Nicolas G Glick1013Argentina2024-09-08
Wickens S Stockham1014Argentina2024-09-18
Tony K Royster1015Russia2024-09-14
Mujtaba I Stockham1016Australia2024-09-17
Claire F Royster1017Italy2024-08-27
Jones Z Slusarski1018Brazil2024-08-31
Maisha W Marrier1019Germany2024-09-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow M KuskoRussiaStephen Shaw QUALIFIED
Wickens P DarakjyUnited KingdomAmy Elsner PROPOSAL
Maisha B MaletArgentinaAsiya Javayant NEW
Sinclair A BriddickUnited KingdomAsiya Javayant QUALIFIED
David D WaycottAustraliaXuxue Feng RENEWAL
Mujtaba F MarrierFranceStephen Shaw QUALIFIED
Mayumi I CampainJapanBernardo Dominic NEGOTIATION
Faith N ShinkoItalyIoni Bowcher UNQUALIFIED
Morrow Z WieserIndiaStephen Shaw PROPOSAL
Isabel K InouyeRussiaIvan Magalhaes QUALIFIED
Octavia V PaprockiRussiaAmy Elsner UNQUALIFIED
Isabel Y DarakjyBrazilIvan Magalhaes NEGOTIATION
Aruna Y BriddickFranceStephen Shaw UNQUALIFIED
Mayumi X InouyeFranceIvan Magalhaes NEW
Ashley T TollnerBrazilIoni Bowcher QUALIFIED
Costa E TollnerJapanStephen Shaw RENEWAL
Jennifer G NestleArgentinaAnna Fali PROPOSAL
Julie L CaldareraItalyIoni Bowcher NEW
Salvatore E WieserFranceStephen Shaw QUALIFIED
Johnson B VenereArgentinaIvan Magalhaes PROPOSAL
Julie Z SchemmerJapanOnyama Limba RENEWAL
Aika D MaletUnited KingdomXuxue Feng NEW
Juan I SlusarskiArgentinaAsiya Javayant NEGOTIATION
Deepesh W KuskoSpainOnyama Limba QUALIFIED
Aruna V GauchoUnited KingdomElwin Sharvill QUALIFIED
Octavia K NickaCanadaAmy Elsner QUALIFIED
Chavez E ChuiFranceAmy Elsner QUALIFIED
Morrow V BowleyArgentinaAsiya Javayant NEGOTIATION
Juan X FollerArgentinaBernardo Dominic RENEWAL
Jeanfrancois T MorascaAustraliaBernardo Dominic RENEWAL
Greenwood B CampainJapanElwin Sharvill NEW
Ivar G WieserGermanyOnyama Limba QUALIFIED
Jones Y CaudyUnited KingdomStephen Shaw RENEWAL
Aruna L MaletJapanAsiya Javayant RENEWAL
Izzy T RulapaughBrazilElwin Sharvill UNQUALIFIED
Octavia W ChuiUnited KingdomStephen Shaw UNQUALIFIED
Antonio G MarrierSpainIvan Magalhaes PROPOSAL
Stacey M CaldareraFranceAmy Elsner PROPOSAL
Kadeem D BowleyIndiaBernardo Dominic QUALIFIED
Mayumi T KuskoIndiaXuxue Feng 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>