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
Darci H OstroskyItalyAsiya Javayant NEW
Wickens B SchemmerUnited KingdomElwin Sharvill PROPOSAL
Morrow A SergiArgentinaIoni Bowcher NEW
Salvatore L KuskoAustraliaOnyama Limba PROPOSAL
Ricardo M MarrierJapanIvan Magalhaes NEW
Aditya M BologniaItalyElwin Sharvill QUALIFIED
Munro O OstroskyItalyAmy Elsner RENEWAL
Costa X DoeFranceIvan Magalhaes UNQUALIFIED
Silvio K ShinkoIndiaOnyama Limba NEGOTIATION
James H TollnerBrazilStephen Shaw NEGOTIATION
Jeanfrancois M GarufiFranceIvan Magalhaes NEW
Izzy W ChuiItalyXuxue Feng UNQUALIFIED
Clifford O TollnerCanadaAnna Fali RENEWAL
Leja O FlosiFranceAmy Elsner NEW
James R AlbaresFranceIvan Magalhaes UNQUALIFIED
Francesco A FlosiArgentinaIoni Bowcher QUALIFIED
Salvatore Y RimFranceIvan Magalhaes UNQUALIFIED
Mayumi H SergiBrazilIoni Bowcher UNQUALIFIED
Aika G CaldareraGermanyBernardo Dominic UNQUALIFIED
Darci G OldroydSpainElwin Sharvill UNQUALIFIED
Izzy K RoysterRussiaAsiya Javayant NEW
Mayumi D VenereSpainStephen Shaw UNQUALIFIED
Wickens Z FigeroaSpainIoni Bowcher PROPOSAL
Greenwood V BowleyIndiaXuxue Feng RENEWAL
Aika Y DarakjyUnited KingdomBernardo Dominic NEW
Julie K SergiGermanyStephen Shaw PROPOSAL
Greenwood A VocelkaArgentinaIvan Magalhaes NEGOTIATION
Mujtaba T StensethUnited KingdomXuxue Feng RENEWAL
Tony A SchemmerUnited KingdomXuxue Feng QUALIFIED
Jones J GarufiCanadaOnyama Limba NEGOTIATION
Ashley H FigeroaGermanyElwin Sharvill NEGOTIATION
Salvatore J GarufiFranceIoni Bowcher UNQUALIFIED
Adams E ChuiCanadaIvan Magalhaes NEW
Rodrigues O DarakjyItalyOnyama Limba RENEWAL
Kadeem N KuskoIndiaAsiya Javayant PROPOSAL
Nicolas C TollnerArgentinaOnyama Limba RENEWAL
Deepesh O CaudyAustraliaAnna Fali UNQUALIFIED
Aruna O SchemmerRussiaAsiya Javayant UNQUALIFIED
Isabel F InouyeCanadaAmy Elsner NEW
Rodrigues L GarufiIndiaStephen Shaw QUALIFIED
Rodrigues E FlosiGermanyXuxue Feng UNQUALIFIED
Nicolas G TollnerItalyIoni Bowcher UNQUALIFIED
Darci G BowleyIndiaElwin Sharvill UNQUALIFIED
Adams I WaycottCanadaAnna Fali NEGOTIATION
Greenwood N GarufiFranceAnna Fali UNQUALIFIED
Deepesh F DarakjyGermanyStephen Shaw NEGOTIATION
Maria A NickaRussiaAnna Fali NEW
Jefferson P VenereItalyAmy Elsner UNQUALIFIED
Arvin Z BowleyBrazilAnna Fali PROPOSAL
Costa S MarrierSpainAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Sinclair V MaletSpainAmy Elsner RENEWAL
Murillo O IturbideAustraliaIoni Bowcher RENEWAL
Aruna X IturbideRussiaXuxue Feng NEW
Aika D NestleUnited KingdomStephen Shaw NEGOTIATION
Aditya Q PoquetteUnited KingdomIoni Bowcher RENEWAL
Deepesh I AlbaresUnited KingdomAmy Elsner NEW
Aika U BowleyAustraliaAmy Elsner NEGOTIATION
Smith O WaycottItalyIvan Magalhaes QUALIFIED
Chavez Z CaldareraSpainAsiya Javayant PROPOSAL
Sinclair F MaletAustraliaAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria A KuskoGermany2024-05-16King, Christopher A Esq NEW9Stephen Shaw
1001Costa L RimCanada2024-05-04Rangoni Of Florence PROPOSAL13Amy Elsner
1002Julie H KuskoSpain2024-05-02Rangoni Of Florence PROPOSAL29Ioni Bowcher
1003Kadeem F CampainUnited Kingdom2024-04-28Morlong Associates NEGOTIATION77Amy Elsner
1004Jeanfrancois G InouyeUnited Kingdom2024-05-11Feltz Printing Service UNQUALIFIED57Bernardo Dominic
1005Aruna F ShinkoItaly2024-05-07Truhlar And Truhlar Attys QUALIFIED75Onyama Limba
1006Jennifer X FlosiGermany2024-05-05Dorl, James J Esq NEGOTIATION26Elwin Sharvill
1007Silvio K RutaFrance2024-05-18Commercial Press RENEWAL22Xuxue Feng
1008Izzy A FollerSpain2024-05-08Feltz Printing Service RENEWAL72Xuxue Feng
1009Kaitlin R NickaCanada2024-05-21Chapman, Ross E Esq NEGOTIATION59Ioni Bowcher
1010Alejandro Q FollerFrance2024-05-25Rangoni Of Florence PROPOSAL10Asiya Javayant
1011Isabel J GarufiFrance2024-05-22Morlong Associates UNQUALIFIED26Asiya Javayant
1012Claire T BowleyIndia2024-05-16Benton, John B Jr QUALIFIED63Bernardo Dominic
1013Julie Q BriddickGermany2024-04-26Commercial Press PROPOSAL23Stephen Shaw
1014Jeanfrancois P NickaRussia2024-04-27Chemel, James L Cpa PROPOSAL65Onyama Limba
1015Misaki A GillianFrance2024-05-16Printing Dimensions QUALIFIED4Bernardo Dominic
1016Wickens D RutaArgentina2024-04-29Rousseaux, Michael Esq NEW46Onyama Limba
1017Wickens W GlickJapan2024-05-06Chapman, Ross E Esq UNQUALIFIED1Elwin Sharvill
1018David I VocelkaArgentina2024-04-28Truhlar And Truhlar Attys QUALIFIED95Amy Elsner
1019Misaki M BologniaItaly2024-05-02Truhlar And Truhlar Attys RENEWAL16Amy Elsner
1020Nicolas H VocelkaArgentina2024-05-24Chapman, Ross E Esq UNQUALIFIED21Stephen Shaw
1021Misaki C ShinkoArgentina2024-05-25Feiner Bros NEW73Anna Fali
1022Misaki A ButtSpain2024-05-13Chanay, Jeffrey A Esq PROPOSAL43Stephen Shaw
1023Julie N DoeSpain2024-05-09Dorl, James J Esq RENEWAL21Onyama Limba
1024Munro L GillianAustralia2024-05-23Chapman, Ross E Esq NEGOTIATION96Ivan Magalhaes
1025Kadeem H FigeroaItaly2024-05-14Chemel, James L Cpa NEGOTIATION92Elwin Sharvill
1026Deepesh W FerenczGermany2024-05-23Benton, John B Jr NEGOTIATION83Amy Elsner
1027Maria B CampainJapan2024-05-14Feiner Bros PROPOSAL71Xuxue Feng
1028Clifford I GillianItaly2024-04-29Printing Dimensions NEGOTIATION12Amy Elsner
1029Tony I FlosiGermany2024-05-07Truhlar And Truhlar Attys NEGOTIATION22Bernardo Dominic
1030Darci J PerinCanada2024-04-29Chapman, Ross E Esq UNQUALIFIED14Ivan Magalhaes
1031Kaitlin I VocelkaBrazil2024-05-04Dorl, James J Esq NEW64Elwin Sharvill
1032Costa Z NestleUnited Kingdom2024-04-30Rousseaux, Michael Esq NEW16Anna Fali
1033Greenwood A SergiGermany2024-05-09Morlong Associates RENEWAL90Bernardo Dominic
1034Adams Z CaudyRussia2024-05-08Printing Dimensions NEW86Stephen Shaw
1035Mayumi F KolmetzCanada2024-05-24Chapman, Ross E Esq UNQUALIFIED52Ioni Bowcher
1036Tony X RulapaughIndia2024-05-24King, Christopher A Esq UNQUALIFIED28Amy Elsner
1037Costa T PerinJapan2024-05-23Printing Dimensions NEW48Elwin Sharvill
1038Mayumi Q FigeroaIndia2024-05-12Dorl, James J Esq NEW26Ivan Magalhaes
1039Maisha C MaletGermany2024-04-28Chemel, James L Cpa NEGOTIATION56Amy Elsner
1040Nicolas X NickaFrance2024-05-01Buckley Miller Wright PROPOSAL14Xuxue Feng
1041Faith B DilliardIndia2024-04-27Printing Dimensions NEGOTIATION54Ivan Magalhaes
1042Misaki P OstroskyBrazil2024-05-13Feiner Bros UNQUALIFIED81Xuxue Feng
1043Tony G GillianCanada2024-05-19Chemel, James L Cpa NEW79Anna Fali
1044Munro N KuskoCanada2024-05-14Chanay, Jeffrey A Esq UNQUALIFIED79Anna Fali
1045Arvin E WaycottGermany2024-05-23Buckley Miller Wright RENEWAL70Ivan Magalhaes
1046Silvio N FigeroaJapan2024-05-14Feltz Printing Service NEGOTIATION89Bernardo Dominic
1047Izzy M CaldareraGermany2024-05-04Buckley Miller Wright NEW39Anna Fali
1048Maria L IturbideCanada2024-05-18Rousseaux, Michael Esq UNQUALIFIED63Ivan Magalhaes
1049Stacey H FerenczBrazil2024-05-10Feltz Printing Service UNQUALIFIED18Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Darci J RimArgentinaStephen Shaw UNQUALIFIED
Salvatore C IturbideFranceAnna Fali UNQUALIFIED
Ivar F FigeroaFranceIoni Bowcher NEGOTIATION
Stacey Q SergiAustraliaElwin Sharvill NEGOTIATION
Maria M CaldareraIndiaOnyama Limba NEW
Kadeem X GauchoBrazilAnna Fali UNQUALIFIED
Sinclair C StensethBrazilAsiya Javayant UNQUALIFIED
Costa B MacleadItalyAmy Elsner NEGOTIATION
Antonio Z SchemmerBrazilIoni Bowcher NEGOTIATION
Jennifer Y TollnerSpainStephen Shaw NEGOTIATION
Misaki E InouyeFranceOnyama Limba NEGOTIATION
Octavia X FollerCanadaElwin Sharvill QUALIFIED
Darci A MorascaFranceAsiya Javayant RENEWAL
Greenwood M OstroskyUnited KingdomAmy Elsner PROPOSAL
Salvatore W GillianFranceAmy Elsner QUALIFIED
Aruna T DilliardUnited KingdomXuxue Feng NEGOTIATION
Murillo G FlosiRussiaBernardo Dominic NEW
Munro P StockhamAustraliaElwin Sharvill NEW
Emily R TollnerItalyAnna Fali UNQUALIFIED
Costa O KuskoRussiaXuxue Feng UNQUALIFIED
Ashley J GauchoIndiaIoni Bowcher NEGOTIATION
Izzy N FlosiItalyXuxue Feng NEGOTIATION
Cody P CaldareraIndiaStephen Shaw UNQUALIFIED
Rodrigues X SaylorsRussiaStephen Shaw UNQUALIFIED
Murillo Q SaylorsCanadaIoni Bowcher UNQUALIFIED
Nicolas E NestleGermanyXuxue Feng UNQUALIFIED
Juan H InouyeFranceXuxue Feng QUALIFIED
Aditya V GillianCanadaAsiya Javayant PROPOSAL
Costa K FerenczUnited KingdomBernardo Dominic PROPOSAL
Juan V VenereGermanyElwin Sharvill QUALIFIED
Smith U MaletFranceBernardo Dominic NEW
Ivar Z ShinkoItalyAmy Elsner NEGOTIATION
Julie M NickaRussiaXuxue Feng NEW
Emily E StockhamFranceAnna Fali UNQUALIFIED
Misaki B KolmetzIndiaIvan Magalhaes UNQUALIFIED
Julie L PoquetteUnited KingdomOnyama Limba PROPOSAL
Claire O GlickCanadaBernardo Dominic UNQUALIFIED
Nicolas D StockhamBrazilIoni Bowcher NEGOTIATION
Alejandro Z GillianBrazilStephen Shaw NEW
Rodrigues Q RutaArgentinaAnna Fali QUALIFIED
Misaki O RulapaughRussiaStephen Shaw PROPOSAL
Greenwood K MorascaAustraliaElwin Sharvill NEW
Jeanfrancois K BowleyUnited KingdomIoni Bowcher PROPOSAL
Juan J SlusarskiFranceAnna Fali PROPOSAL
Leon P StockhamBrazilBernardo Dominic NEGOTIATION
Cody D TollnerBrazilAnna Fali NEGOTIATION
Munro P GillianItalyIvan Magalhaes QUALIFIED
Kadeem Q PoquetteItalyOnyama Limba NEGOTIATION
Mujtaba W BowleyItalyStephen Shaw PROPOSAL
Clifford O FerenczAustraliaXuxue Feng QUALIFIED
Frozen Columns
Name
Jones J Schemmer
Mayumi D Kusko
Stacey H Gillian
James J Schemmer
Jeanfrancois X Garufi
Leon J Stenseth
Greenwood Q Inouye
Morrow V Amigon
Nicolas O Nestle
Ricardo J Figeroa
Faith S Wieser
James W Paprocki
Salvatore I Bowley
Sinclair X Campain
Ricardo T Butt
Ricardo D Perin
Leon Q Kusko
Salvatore Z Venere
Deepesh S Maclead
Faith L Malet
Costa N Dilliard
Aditya A Nicka
Jones U Doe
Morrow I Kolmetz
Deepesh E Amigon
James Y Darakjy
Arvin I Caldarera
Maria N Foller
Deepesh R Poquette
Wickens Q Whobrey
Darci J Garufi
Munro U Maclead
Julie H Malet
Kaitlin W Shinko
Leon V Caldarera
Rodrigues V Marrier
David B Briddick
Jeanfrancois M Malet
Jones C Iturbide
Nicolas Z Whobrey
Jeanfrancois I Gillian
Leja K Saylors
Kadeem D Chui
Izzy D Caudy
Leja O Caudy
Mayumi W Poquette
Darci T Bolognia
Sinclair I Ostrosky
Ashley P Caldarera
Leja C Caldarera
IdCountryDate
1000Germany2024-05-13
1001Italy2024-05-04
1002Canada2024-05-01
1003Russia2024-05-11
1004Canada2024-05-13
1005Canada2024-05-14
1006Spain2024-05-05
1007Brazil2024-05-13
1008Brazil2024-04-27
1009Canada2024-04-27
1010France2024-05-23
1011Spain2024-04-28
1012Brazil2024-05-10
1013India2024-05-25
1014Germany2024-05-02
1015India2024-05-03
1016India2024-05-14
1017Germany2024-05-05
1018Canada2024-05-06
1019Brazil2024-04-29
1020Canada2024-05-22
1021Canada2024-04-30
1022Spain2024-05-03
1023Germany2024-05-07
1024Spain2024-05-06
1025Spain2024-05-13
1026Japan2024-05-17
1027France2024-05-19
1028Russia2024-04-29
1029Japan2024-05-21
1030Japan2024-05-23
1031Argentina2024-05-17
1032Argentina2024-04-30
1033Argentina2024-05-19
1034Germany2024-05-14
1035Australia2024-05-05
1036Italy2024-05-10
1037Argentina2024-05-25
1038Canada2024-05-23
1039Argentina2024-05-01
1040India2024-05-02
1041India2024-05-11
1042Canada2024-04-26
1043Spain2024-05-18
1044Canada2024-05-05
1045Germany2024-05-13
1046Germany2024-05-20
1047France2024-05-14
1048Brazil2024-05-23
1049France2024-05-08

On-Demand Data

NameIdCountryDate
Costa D Malet1000Australia2024-05-01
Chavez V Flosi1001Russia2024-05-13
Claire N Briddick1002India2024-04-26
Greenwood C Dilliard1003France2024-05-09
Sinclair K Butt1004Canada2024-04-29
Adams J Caudy1005France2024-05-06
Chavez F Oldroyd1006Argentina2024-05-05
Kadeem S Venere1007France2024-05-23
Alejandro S Waycott1008Australia2024-04-28
Munro K Royster1009United Kingdom2024-05-20
Darci X Bolognia1010Brazil2024-05-12
Mujtaba R Waycott1011Australia2024-05-15
Munro M Venere1012United Kingdom2024-05-20
Smith C Marrier1013Canada2024-05-23
Tony A Perin1014France2024-04-26
Izzy A Darakjy1015Argentina2024-05-04
Adams D Stockham1016Italy2024-05-11
Alejandro N Albares1017United Kingdom2024-05-17
Darci L Tollner1018Brazil2024-05-03
David B Foller1019United Kingdom2024-05-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin G NickaArgentinaBernardo Dominic NEW
Emily F GillianAustraliaElwin Sharvill QUALIFIED
Chavez Y ButtGermanyAsiya Javayant PROPOSAL
Morrow G InouyeItalyIvan Magalhaes NEW
Kadeem Y CaudySpainOnyama Limba RENEWAL
Aika V VenereFranceXuxue Feng NEW
Mayumi P SergiArgentinaIoni Bowcher PROPOSAL
Isabel E DilliardArgentinaAsiya Javayant RENEWAL
Claire M DarakjyCanadaAnna Fali PROPOSAL
Silvio X ButtItalyAmy Elsner UNQUALIFIED
Silvio M StockhamSpainAnna Fali NEGOTIATION
Claire F FerenczAustraliaIvan Magalhaes PROPOSAL
Ricardo O OstroskyJapanElwin Sharvill RENEWAL
Greenwood L CaudyJapanElwin Sharvill RENEWAL
Francesco G WieserItalyAmy Elsner NEGOTIATION
Arvin Y GarufiRussiaAmy Elsner NEW
James Y GlickItalyAmy Elsner RENEWAL
Octavia C StockhamCanadaStephen Shaw NEGOTIATION
Deepesh X GlickAustraliaBernardo Dominic NEW
Arvin P GlickGermanyAmy Elsner RENEWAL
Morrow B RimUnited KingdomElwin Sharvill NEGOTIATION
Darci A BologniaArgentinaOnyama Limba UNQUALIFIED
Mayumi N CaudyFranceAmy Elsner QUALIFIED
Claire I CampainGermanyXuxue Feng PROPOSAL
Aditya M OldroydUnited KingdomIoni Bowcher NEGOTIATION
Morrow R MaletUnited KingdomBernardo Dominic NEW
Antonio Z RulapaughFranceIvan Magalhaes NEW
Octavia Y MaletRussiaElwin Sharvill RENEWAL
Wickens X BologniaGermanyAsiya Javayant PROPOSAL
Costa X GauchoJapanAsiya Javayant UNQUALIFIED
Smith W KuskoAustraliaBernardo Dominic NEGOTIATION
Johnson R PoquetteRussiaElwin Sharvill NEW
Munro Q WieserJapanElwin Sharvill NEW
Adams N MacleadIndiaBernardo Dominic QUALIFIED
Wickens G DoeUnited KingdomIoni Bowcher NEGOTIATION
Nicolas L CampainFranceAmy Elsner PROPOSAL
Smith B IturbideFranceOnyama Limba NEGOTIATION
Ivar J StockhamSpainBernardo Dominic QUALIFIED
Octavia U DilliardFranceBernardo Dominic RENEWAL
Octavia W WaycottIndiaIoni Bowcher RENEWAL

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