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
Jefferson Z PerinBrazilElwin Sharvill NEW
Deepesh E StockhamAustraliaAmy Elsner PROPOSAL
Adams C BriddickRussiaXuxue Feng RENEWAL
Silvio G WieserIndiaBernardo Dominic QUALIFIED
Arvin L MaletAustraliaAsiya Javayant PROPOSAL
Tony S RimAustraliaStephen Shaw NEW
Smith D SlusarskiCanadaOnyama Limba NEGOTIATION
Sinclair F PerinFranceAsiya Javayant NEGOTIATION
Mujtaba F NickaIndiaAmy Elsner QUALIFIED
Julie V IturbideRussiaAmy Elsner NEW
Nicolas X DilliardAustraliaStephen Shaw RENEWAL
Kadeem J InouyeFranceBernardo Dominic NEW
Murillo L WaycottIndiaBernardo Dominic RENEWAL
Greenwood M RutaCanadaXuxue Feng RENEWAL
Ivar A BriddickUnited KingdomStephen Shaw RENEWAL
Alejandro M ButtJapanElwin Sharvill UNQUALIFIED
James L WieserItalyXuxue Feng PROPOSAL
Izzy Z CaldareraUnited KingdomAnna Fali UNQUALIFIED
Maisha F FerenczSpainAmy Elsner NEW
Rodrigues X PoquetteIndiaAmy Elsner UNQUALIFIED
Murillo M FollerItalyElwin Sharvill PROPOSAL
Jones P FerenczArgentinaBernardo Dominic QUALIFIED
Ivar Z MaletIndiaAmy Elsner QUALIFIED
Arvin Z KuskoSpainOnyama Limba UNQUALIFIED
Francesco N KuskoCanadaAnna Fali RENEWAL
Maisha P MorascaUnited KingdomElwin Sharvill NEGOTIATION
Murillo M RulapaughIndiaAnna Fali RENEWAL
Faith S FigeroaArgentinaXuxue Feng NEGOTIATION
Ricardo N GarufiRussiaIvan Magalhaes QUALIFIED
Smith T WaycottArgentinaAsiya Javayant NEGOTIATION
Jefferson A VenereArgentinaAnna Fali NEW
Juan R RoysterJapanBernardo Dominic QUALIFIED
Jeanfrancois P CaudyItalyOnyama Limba NEGOTIATION
Clifford Y GarufiFranceIoni Bowcher UNQUALIFIED
Morrow R RulapaughGermanyAnna Fali UNQUALIFIED
Alejandro F SlusarskiJapanAmy Elsner QUALIFIED
David D OldroydSpainAsiya Javayant PROPOSAL
Kaitlin X VocelkaFranceAmy Elsner RENEWAL
Sinclair B BriddickItalyIvan Magalhaes RENEWAL
Costa L RoysterFranceElwin Sharvill QUALIFIED
Francesco E SaylorsJapanElwin Sharvill RENEWAL
Jeanfrancois O StockhamArgentinaIoni Bowcher PROPOSAL
Juan Q GarufiUnited KingdomStephen Shaw NEW
Rodrigues W VenereArgentinaAmy Elsner NEGOTIATION
Darci K VenereFranceStephen Shaw RENEWAL
Julie X NickaArgentinaBernardo Dominic PROPOSAL
Ivar Z OldroydJapanAsiya Javayant NEW
Aika R ButtSpainAnna Fali PROPOSAL
Tony N PaprockiJapanOnyama Limba NEGOTIATION
Misaki G CampainUnited KingdomIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Rodrigues O GillianUnited KingdomStephen Shaw RENEWAL
Antonio Q GillianGermanyOnyama Limba RENEWAL
Jeanfrancois V DilliardItalyAmy Elsner PROPOSAL
Cody G BowleySpainBernardo Dominic RENEWAL
Arvin H DarakjySpainXuxue Feng UNQUALIFIED
Izzy I CaldareraItalyBernardo Dominic UNQUALIFIED
Chavez T VocelkaGermanyIvan Magalhaes RENEWAL
Faith Q DarakjyIndiaAsiya Javayant PROPOSAL
Jeanfrancois J SchemmerArgentinaIvan Magalhaes NEW
Jefferson Q MaletJapanElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore P CaldareraRussia2025-04-25Commercial Press UNQUALIFIED75Ioni Bowcher
1001Clifford Z SlusarskiGermany2025-04-10Rousseaux, Michael Esq RENEWAL18Elwin Sharvill
1002Julie U BologniaFrance2025-04-09Printing Dimensions RENEWAL47Ioni Bowcher
1003Morrow B SchemmerArgentina2025-04-29Chanay, Jeffrey A Esq NEGOTIATION32Bernardo Dominic
1004Morrow R BowleyGermany2025-04-18Rousseaux, Michael Esq NEGOTIATION73Elwin Sharvill
1005Jefferson Q NickaArgentina2025-04-02Printing Dimensions RENEWAL73Amy Elsner
1006Sinclair I PoquetteIndia2025-04-14Benton, John B Jr NEW38Bernardo Dominic
1007Morrow B SlusarskiRussia2025-03-31King, Christopher A Esq PROPOSAL68Ioni Bowcher
1008Maisha D RimRussia2025-04-06Chapman, Ross E Esq PROPOSAL3Onyama Limba
1009Ricardo C WaycottBrazil2025-03-31Benton, John B Jr RENEWAL38Anna Fali
1010Misaki U WhobreyUnited Kingdom2025-04-24Rousseaux, Michael Esq NEW81Bernardo Dominic
1011Nicolas V BowleySpain2025-04-02Chemel, James L Cpa PROPOSAL45Onyama Limba
1012Munro K DilliardJapan2025-04-28King, Christopher A Esq UNQUALIFIED67Bernardo Dominic
1013Kaitlin S StensethGermany2025-04-12Rangoni Of Florence NEW25Amy Elsner
1014Stacey Z BologniaUnited Kingdom2025-04-15Chemel, James L Cpa PROPOSAL21Ioni Bowcher
1015Tony Y ChuiUnited Kingdom2025-04-01Chanay, Jeffrey A Esq RENEWAL51Onyama Limba
1016Jefferson C FigeroaJapan2025-04-06Rousseaux, Michael Esq UNQUALIFIED60Xuxue Feng
1017Tony O OldroydItaly2025-04-08Rangoni Of Florence NEW54Bernardo Dominic
1018David L TollnerRussia2025-04-09Feiner Bros RENEWAL58Anna Fali
1019Deepesh V ButtCanada2025-04-14Rousseaux, Michael Esq UNQUALIFIED50Amy Elsner
1020Faith X TollnerItaly2025-04-15Morlong Associates PROPOSAL42Bernardo Dominic
1021Arvin C FerenczBrazil2025-04-09Buckley Miller Wright UNQUALIFIED10Bernardo Dominic
1022Julie C NickaIndia2025-04-03Feiner Bros RENEWAL50Asiya Javayant
1023Kadeem S KuskoRussia2025-04-12Rangoni Of Florence NEW89Onyama Limba
1024Silvio L PaprockiUnited Kingdom2025-04-14Feltz Printing Service NEGOTIATION60Xuxue Feng
1025Mayumi S ChuiUnited Kingdom2025-04-02Morlong Associates PROPOSAL63Amy Elsner
1026Juan E FerenczArgentina2025-04-03Dorl, James J Esq NEW8Anna Fali
1027Maria H DilliardGermany2025-04-07Dorl, James J Esq NEGOTIATION11Anna Fali
1028Juan Y MacleadAustralia2025-04-20Rousseaux, Michael Esq NEW30Stephen Shaw
1029Chavez A FlosiArgentina2025-04-21Feltz Printing Service NEGOTIATION63Amy Elsner
1030Nicolas O AlbaresCanada2025-04-11Dorl, James J Esq NEW39Bernardo Dominic
1031Stacey L OldroydItaly2025-04-10Chanay, Jeffrey A Esq NEW4Stephen Shaw
1032Mujtaba Q WhobreyArgentina2025-04-20Rousseaux, Michael Esq RENEWAL62Elwin Sharvill
1033Leon G MarrierFrance2025-04-09Rangoni Of Florence QUALIFIED91Xuxue Feng
1034Juan G MaletBrazil2025-04-08Feltz Printing Service PROPOSAL68Stephen Shaw
1035Misaki P BologniaAustralia2025-04-09Dorl, James J Esq RENEWAL49Anna Fali
1036Jefferson V StockhamSpain2025-04-23Chapman, Ross E Esq NEW10Bernardo Dominic
1037Sinclair O PaprockiUnited Kingdom2025-04-22Chapman, Ross E Esq NEGOTIATION56Elwin Sharvill
1038Nicolas H MorascaBrazil2025-04-04Commercial Press NEGOTIATION55Onyama Limba
1039Leja C MorascaRussia2025-04-04Morlong Associates UNQUALIFIED37Onyama Limba
1040Aruna V OldroydArgentina2025-04-11Feltz Printing Service QUALIFIED47Xuxue Feng
1041Adams W WhobreyGermany2025-04-20King, Christopher A Esq QUALIFIED11Amy Elsner
1042Murillo G FerenczSpain2025-04-19Commercial Press NEW17Elwin Sharvill
1043Adams Y OstroskyArgentina2025-04-17Chanay, Jeffrey A Esq NEW70Anna Fali
1044Mayumi T FollerItaly2025-04-02Dorl, James J Esq UNQUALIFIED94Amy Elsner
1045Maria R StensethIndia2025-04-14Chanay, Jeffrey A Esq NEW75Bernardo Dominic
1046Stacey C SchemmerArgentina2025-04-11Chapman, Ross E Esq NEW43Amy Elsner
1047Ashley F SaylorsBrazil2025-04-26King, Christopher A Esq RENEWAL69Asiya Javayant
1048Ashley T OldroydAustralia2025-04-03Chanay, Jeffrey A Esq NEW62Stephen Shaw
1049Salvatore B IturbideItaly2025-04-15Rangoni Of Florence UNQUALIFIED17Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Emily O BowleyArgentinaStephen Shaw PROPOSAL
Jennifer Z SergiUnited KingdomIvan Magalhaes NEGOTIATION
Jones V BriddickJapanIvan Magalhaes QUALIFIED
Tony B WaycottJapanXuxue Feng NEGOTIATION
Tony K MaletBrazilAnna Fali NEW
Antonio B DilliardGermanyIvan Magalhaes PROPOSAL
Arvin W ChuiFranceElwin Sharvill UNQUALIFIED
Jennifer S BriddickArgentinaIoni Bowcher PROPOSAL
Ashley F RimCanadaOnyama Limba NEW
Aika W BriddickCanadaXuxue Feng UNQUALIFIED
Juan D VenereFranceElwin Sharvill UNQUALIFIED
Arvin C FlosiArgentinaOnyama Limba UNQUALIFIED
Ricardo I NickaSpainStephen Shaw RENEWAL
Munro C CaudyIndiaStephen Shaw UNQUALIFIED
Octavia P GlickGermanyElwin Sharvill NEGOTIATION
Darci H MorascaSpainIoni Bowcher NEW
Julie G DilliardGermanyXuxue Feng NEW
Aruna O OstroskyBrazilXuxue Feng UNQUALIFIED
Octavia G PoquetteCanadaAnna Fali NEGOTIATION
Wickens L VenereUnited KingdomIvan Magalhaes PROPOSAL
Francesco N InouyeSpainXuxue Feng RENEWAL
Aruna I BologniaCanadaAmy Elsner UNQUALIFIED
Isabel H ChuiIndiaElwin Sharvill RENEWAL
Cody W AlbaresJapanStephen Shaw NEW
Octavia I MarrierFranceAsiya Javayant RENEWAL
Izzy U AmigonBrazilAnna Fali UNQUALIFIED
Emily P CaudyItalyElwin Sharvill UNQUALIFIED
Claire L ButtBrazilOnyama Limba PROPOSAL
Chavez O PerinAustraliaAsiya Javayant PROPOSAL
Kadeem R BriddickJapanIvan Magalhaes RENEWAL
Stacey P KolmetzGermanyAnna Fali QUALIFIED
Mujtaba Y IturbideBrazilIvan Magalhaes QUALIFIED
David P OldroydRussiaOnyama Limba UNQUALIFIED
Jennifer J TollnerItalyStephen Shaw UNQUALIFIED
Leon G RimItalyStephen Shaw QUALIFIED
Isabel K FigeroaCanadaAmy Elsner UNQUALIFIED
Deepesh Q VenereGermanyBernardo Dominic NEW
Jones Q DilliardSpainStephen Shaw QUALIFIED
Faith R BriddickArgentinaIvan Magalhaes PROPOSAL
Octavia S RimCanadaOnyama Limba NEW
Emily M KolmetzItalyAsiya Javayant RENEWAL
Jeanfrancois J SlusarskiIndiaBernardo Dominic PROPOSAL
Greenwood C CampainItalyIoni Bowcher NEGOTIATION
Aika M TollnerItalyStephen Shaw NEW
Aika U DilliardRussiaBernardo Dominic QUALIFIED
Aditya L DarakjyCanadaXuxue Feng QUALIFIED
Johnson I DoeRussiaAmy Elsner QUALIFIED
Ivar B AmigonArgentinaAnna Fali NEW
Izzy K CampainGermanyIvan Magalhaes NEGOTIATION
David B ChuiBrazilOnyama Limba RENEWAL
Frozen Columns
Name
Izzy I Bowley
Johnson C Rim
Aika Y Bowley
Rodrigues R Wieser
David Z Royster
Nicolas L Paprocki
Mayumi V Nicka
Faith W Royster
Juan I Whobrey
Misaki U Butt
Costa V Oldroyd
Clifford R Shinko
Leja E Poquette
Ivar F Amigon
Darci M Chui
Julie R Oldroyd
Kaitlin E Bowley
Sinclair H Waycott
David R Perin
Isabel R Figeroa
Smith J Briddick
Sinclair H Kusko
Morrow D Albares
Clifford B Slusarski
Ivar G Chui
Munro B Rulapaugh
Francesco S Schemmer
Jones Z Glick
Nicolas V Butt
Sinclair F Perin
David X Kusko
Adams D Caudy
Antonio T Flosi
Alejandro T Royster
Smith Z Perin
Francesco U Figeroa
Emily N Amigon
Stacey X Malet
Faith D Darakjy
Ashley P Nestle
Rodrigues C Royster
Tony L Iturbide
Darci P Ostrosky
Mujtaba H Gillian
Munro N Poquette
Antonio J Garufi
Leon E Tollner
Nicolas I Marrier
Isabel R Iturbide
Nicolas Z Nestle
IdCountryDate
1000Japan2025-04-27
1001Australia2025-04-14
1002Japan2025-04-16
1003Italy2025-04-29
1004Germany2025-04-18
1005Italy2025-04-02
1006Australia2025-03-31
1007Germany2025-04-14
1008Brazil2025-04-14
1009Argentina2025-04-23
1010Germany2025-04-15
1011United Kingdom2025-04-19
1012Japan2025-04-18
1013United Kingdom2025-04-28
1014Russia2025-04-22
1015Russia2025-04-15
1016Russia2025-04-16
1017Australia2025-04-28
1018Brazil2025-04-25
1019Germany2025-04-12
1020Russia2025-04-29
1021United Kingdom2025-04-09
1022Germany2025-04-05
1023Japan2025-04-18
1024Australia2025-04-18
1025Russia2025-04-17
1026Spain2025-04-03
1027Canada2025-04-26
1028Japan2025-04-03
1029Brazil2025-04-12
1030Australia2025-04-29
1031Australia2025-04-23
1032Japan2025-04-19
1033Argentina2025-04-08
1034India2025-04-29
1035United Kingdom2025-04-29
1036Germany2025-04-19
1037India2025-04-14
1038Italy2025-04-15
1039Brazil2025-04-08
1040Brazil2025-04-17
1041Japan2025-04-23
1042Argentina2025-04-03
1043Germany2025-04-24
1044Germany2025-04-18
1045Australia2025-04-02
1046India2025-04-29
1047Russia2025-04-25
1048Japan2025-04-01
1049Germany2025-03-31

On-Demand Data

NameIdCountryDate
Adams W Poquette1000Australia2025-04-25
Kaitlin G Malet1001India2025-04-05
Deepesh P Figeroa1002Russia2025-04-12
Antonio C Chui1003Australia2025-04-29
Jeanfrancois K Garufi1004United Kingdom2025-04-20
David N Poquette1005United Kingdom2025-04-08
Antonio C Kusko1006Canada2025-04-02
Ashley W Tollner1007India2025-04-22
Francesco E Gaucho1008Spain2025-04-24
Costa B Dilliard1009Canada2025-04-06
Jeanfrancois Y Stenseth1010France2025-04-19
David J Doe1011France2025-04-02
Nicolas W Shinko1012Russia2025-04-07
Wickens J Maclead1013Spain2025-04-27
Aika O Dilliard1014France2025-04-18
Salvatore E Gillian1015Brazil2025-04-13
Tony A Dilliard1016Japan2025-04-02
Maisha D Ferencz1017France2025-04-24
David F Whobrey1018Germany2025-04-12
Greenwood M Albares1019Germany2025-04-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David Y FlosiIndiaXuxue Feng QUALIFIED
Stacey W SlusarskiRussiaIvan Magalhaes UNQUALIFIED
Julie F ButtAustraliaElwin Sharvill NEGOTIATION
Cody I WieserGermanyBernardo Dominic NEGOTIATION
Stacey X SlusarskiJapanAmy Elsner UNQUALIFIED
Jeanfrancois T ButtItalyElwin Sharvill NEGOTIATION
Jefferson Q WieserIndiaXuxue Feng NEW
Wickens S SaylorsCanadaAmy Elsner NEW
Aika J MarrierUnited KingdomBernardo Dominic QUALIFIED
Ivar U WaycottUnited KingdomXuxue Feng PROPOSAL
Jennifer T FerenczRussiaAsiya Javayant UNQUALIFIED
Darci F PoquetteUnited KingdomStephen Shaw RENEWAL
Julie O FigeroaSpainIvan Magalhaes QUALIFIED
Francesco U NickaRussiaOnyama Limba PROPOSAL
Cody F GauchoBrazilBernardo Dominic QUALIFIED
Mujtaba L FigeroaSpainXuxue Feng QUALIFIED
Cody E FlosiFranceAmy Elsner QUALIFIED
Stacey T IturbideUnited KingdomStephen Shaw NEGOTIATION
Tony G IturbideFranceElwin Sharvill QUALIFIED
Octavia H ChuiJapanStephen Shaw NEW
Faith Q RoysterItalyAmy Elsner UNQUALIFIED
Salvatore J PerinIndiaAmy Elsner UNQUALIFIED
Tony X WhobreySpainOnyama Limba RENEWAL
Kaitlin T KolmetzGermanyAmy Elsner RENEWAL
Aika L RoysterIndiaAsiya Javayant QUALIFIED
Leja T FerenczItalyOnyama Limba UNQUALIFIED
Wickens S OstroskyUnited KingdomAnna Fali QUALIFIED
David B AmigonBrazilAsiya Javayant NEW
Claire C TollnerRussiaAnna Fali UNQUALIFIED
Jefferson F RulapaughCanadaStephen Shaw NEW
Misaki W PoquetteItalyOnyama Limba QUALIFIED
Jennifer W DoeFranceAmy Elsner PROPOSAL
Claire G SaylorsGermanyElwin Sharvill RENEWAL
Leja X InouyeCanadaIvan Magalhaes UNQUALIFIED
Jefferson K PaprockiJapanIoni Bowcher UNQUALIFIED
Francesco P RimBrazilIoni Bowcher UNQUALIFIED
Chavez A ButtGermanyIoni Bowcher NEGOTIATION
Mujtaba L GlickFranceBernardo Dominic UNQUALIFIED
Arvin H PerinBrazilAnna Fali PROPOSAL
Nicolas G PaprockiUnited KingdomXuxue Feng 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>