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
Julie C NickaJapanAsiya Javayant NEW
Emily G MacleadGermanyAsiya Javayant RENEWAL
Jennifer Q FlosiBrazilOnyama Limba RENEWAL
Emily Y MaletSpainAmy Elsner UNQUALIFIED
Maisha I PaprockiItalyIoni Bowcher UNQUALIFIED
Greenwood W MorascaIndiaElwin Sharvill UNQUALIFIED
Stacey N FigeroaSpainAmy Elsner PROPOSAL
Julie M SlusarskiFranceStephen Shaw PROPOSAL
Aditya I BologniaItalyBernardo Dominic PROPOSAL
Munro V CampainUnited KingdomBernardo Dominic RENEWAL
Jefferson L SchemmerCanadaIoni Bowcher UNQUALIFIED
Alejandro W AlbaresCanadaAnna Fali NEGOTIATION
Leja M CaldareraRussiaOnyama Limba PROPOSAL
Arvin R WieserRussiaElwin Sharvill NEW
Claire X BowleyArgentinaStephen Shaw NEW
Salvatore W WhobreyArgentinaIoni Bowcher RENEWAL
Stacey O RutaFranceAmy Elsner UNQUALIFIED
Alejandro M KolmetzRussiaOnyama Limba NEW
Isabel D MaletCanadaElwin Sharvill NEW
Antonio U DarakjyIndiaAmy Elsner NEGOTIATION
Greenwood W SlusarskiJapanBernardo Dominic NEW
Smith L CaldareraIndiaStephen Shaw PROPOSAL
Ashley M WieserBrazilOnyama Limba RENEWAL
Maria K MaletItalyAnna Fali RENEWAL
Misaki F GillianJapanAmy Elsner NEGOTIATION
Jeanfrancois I StockhamCanadaElwin Sharvill PROPOSAL
Francesco U GauchoIndiaAsiya Javayant QUALIFIED
Darci T StensethCanadaElwin Sharvill RENEWAL
Antonio Y FlosiUnited KingdomAnna Fali PROPOSAL
Julie N InouyeArgentinaIvan Magalhaes QUALIFIED
Jefferson K IturbideUnited KingdomIvan Magalhaes NEGOTIATION
Mayumi G NickaRussiaElwin Sharvill PROPOSAL
Smith J GlickGermanyElwin Sharvill RENEWAL
Murillo X RulapaughCanadaAnna Fali PROPOSAL
Kadeem I AlbaresItalyOnyama Limba UNQUALIFIED
Mujtaba C KolmetzCanadaIvan Magalhaes NEGOTIATION
Isabel K GarufiAustraliaOnyama Limba QUALIFIED
Alejandro J SaylorsItalyBernardo Dominic NEGOTIATION
Stacey A DilliardRussiaIoni Bowcher QUALIFIED
Francesco E RulapaughRussiaIvan Magalhaes PROPOSAL
Jeanfrancois X PoquetteItalyOnyama Limba NEW
Maria O SlusarskiGermanyAnna Fali UNQUALIFIED
Tony Z FerenczIndiaIvan Magalhaes NEW
Aditya W BriddickFranceIvan Magalhaes NEGOTIATION
Juan P SlusarskiItalyOnyama Limba NEW
Salvatore V IturbideAustraliaOnyama Limba PROPOSAL
Kadeem A KuskoUnited KingdomAnna Fali UNQUALIFIED
Aditya W ButtUnited KingdomIoni Bowcher NEGOTIATION
Kadeem J IturbideGermanyXuxue Feng UNQUALIFIED
Jones M StensethGermanyIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leja P SlusarskiIndiaBernardo Dominic NEGOTIATION
Izzy T IturbideArgentinaXuxue Feng RENEWAL
Nicolas B KuskoRussiaElwin Sharvill QUALIFIED
Julie G MacleadIndiaAmy Elsner NEGOTIATION
Sinclair Z BowleyItalyIvan Magalhaes UNQUALIFIED
Izzy H GlickIndiaXuxue Feng UNQUALIFIED
Murillo E FerenczCanadaElwin Sharvill RENEWAL
Misaki A IturbideGermanyAsiya Javayant NEGOTIATION
Adams O RulapaughFranceXuxue Feng NEW
Ivar E NickaFranceIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna I RulapaughGermany2024-05-25Chemel, James L Cpa RENEWAL17Ioni Bowcher
1001Smith V GauchoUnited Kingdom2024-06-03Benton, John B Jr RENEWAL79Stephen Shaw
1002Salvatore H SaylorsRussia2024-06-10Morlong Associates NEW70Stephen Shaw
1003David R InouyeBrazil2024-06-16Printing Dimensions NEGOTIATION52Ivan Magalhaes
1004Leja V ButtItaly2024-06-03Printing Dimensions PROPOSAL29Asiya Javayant
1005Ricardo T RutaIndia2024-06-11Dorl, James J Esq NEGOTIATION40Amy Elsner
1006Arvin H BriddickFrance2024-06-07King, Christopher A Esq RENEWAL77Ivan Magalhaes
1007Arvin T KuskoAustralia2024-05-25Dorl, James J Esq RENEWAL20Ioni Bowcher
1008Silvio Z DoeRussia2024-06-13Rangoni Of Florence QUALIFIED3Amy Elsner
1009Izzy R GillianFrance2024-06-13Dorl, James J Esq NEW60Onyama Limba
1010Aruna X CaudyCanada2024-06-19Buckley Miller Wright NEW32Anna Fali
1011Johnson A SergiCanada2024-05-27Benton, John B Jr PROPOSAL14Onyama Limba
1012Claire U CaudyBrazil2024-06-11Benton, John B Jr QUALIFIED59Ioni Bowcher
1013David B DarakjyGermany2024-06-18Printing Dimensions PROPOSAL24Stephen Shaw
1014Silvio Y DoeJapan2024-06-07Truhlar And Truhlar Attys UNQUALIFIED36Ioni Bowcher
1015Jennifer U BologniaGermany2024-05-27Feltz Printing Service NEGOTIATION39Ioni Bowcher
1016Jones F WieserIndia2024-06-14Feltz Printing Service UNQUALIFIED47Asiya Javayant
1017Maisha E FollerArgentina2024-06-13Rousseaux, Michael Esq UNQUALIFIED37Bernardo Dominic
1018Rodrigues G WieserJapan2024-06-06Dorl, James J Esq NEW33Onyama Limba
1019Kadeem X WieserUnited Kingdom2024-06-02Chemel, James L Cpa NEGOTIATION12Bernardo Dominic
1020Adams M DarakjyAustralia2024-05-31Rousseaux, Michael Esq PROPOSAL95Ivan Magalhaes
1021Faith M ShinkoBrazil2024-06-07Buckley Miller Wright NEW66Ivan Magalhaes
1022Maria H SaylorsGermany2024-05-24Dorl, James J Esq QUALIFIED14Ioni Bowcher
1023Smith Z WaycottUnited Kingdom2024-06-08Feiner Bros PROPOSAL48Xuxue Feng
1024Arvin U FlosiSpain2024-06-13Feiner Bros PROPOSAL70Stephen Shaw
1025Kadeem N PaprockiAustralia2024-06-21Feltz Printing Service RENEWAL96Stephen Shaw
1026Darci O StockhamJapan2024-06-19King, Christopher A Esq NEW94Stephen Shaw
1027Munro C CampainIndia2024-06-21Chapman, Ross E Esq NEGOTIATION54Asiya Javayant
1028Kaitlin H KolmetzFrance2024-06-08Dorl, James J Esq NEW81Ivan Magalhaes
1029Nicolas H MaletItaly2024-06-16Benton, John B Jr RENEWAL89Bernardo Dominic
1030Rodrigues Y AmigonFrance2024-06-03Commercial Press PROPOSAL68Xuxue Feng
1031Greenwood E FlosiSpain2024-06-20Chapman, Ross E Esq PROPOSAL46Xuxue Feng
1032Jeanfrancois H PaprockiBrazil2024-05-30Rangoni Of Florence PROPOSAL30Xuxue Feng
1033Chavez K NestleIndia2024-05-28Commercial Press PROPOSAL3Ivan Magalhaes
1034Jeanfrancois Q StensethUnited Kingdom2024-05-24King, Christopher A Esq NEGOTIATION82Amy Elsner
1035Mujtaba B ShinkoItaly2024-06-08Rousseaux, Michael Esq RENEWAL70Onyama Limba
1036Jeanfrancois I InouyeAustralia2024-06-13King, Christopher A Esq QUALIFIED39Ivan Magalhaes
1037Nicolas W VenereCanada2024-06-17Commercial Press RENEWAL9Amy Elsner
1038Kaitlin A MaletBrazil2024-06-06Benton, John B Jr QUALIFIED10Xuxue Feng
1039Deepesh X CaldareraFrance2024-06-18Buckley Miller Wright NEGOTIATION6Amy Elsner
1040Johnson P OstroskyFrance2024-05-25Chemel, James L Cpa UNQUALIFIED21Elwin Sharvill
1041Jeanfrancois A DarakjyFrance2024-05-25Feiner Bros UNQUALIFIED24Onyama Limba
1042Sinclair X RoysterCanada2024-06-20Chapman, Ross E Esq PROPOSAL34Ivan Magalhaes
1043Claire D DoeIndia2024-06-16Buckley Miller Wright QUALIFIED87Anna Fali
1044Isabel F SchemmerItaly2024-06-02Truhlar And Truhlar Attys PROPOSAL89Elwin Sharvill
1045Costa E GillianIndia2024-05-29Chanay, Jeffrey A Esq NEW30Ioni Bowcher
1046Adams B GauchoBrazil2024-06-13Benton, John B Jr NEGOTIATION20Elwin Sharvill
1047Aruna X GlickAustralia2024-06-09Feiner Bros NEW45Elwin Sharvill
1048Jones P RutaArgentina2024-06-15Printing Dimensions RENEWAL52Stephen Shaw
1049Sinclair A InouyeFrance2024-06-18Commercial Press NEW55Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Johnson Z WieserSpainXuxue Feng UNQUALIFIED
Leja R FollerRussiaStephen Shaw RENEWAL
Johnson E WaycottCanadaElwin Sharvill RENEWAL
Salvatore N MorascaRussiaElwin Sharvill NEGOTIATION
Leja E SchemmerRussiaAsiya Javayant NEGOTIATION
Morrow I GauchoAustraliaIvan Magalhaes NEW
Claire Y GillianJapanElwin Sharvill QUALIFIED
Sinclair E KolmetzItalyXuxue Feng QUALIFIED
Greenwood B BowleyRussiaAsiya Javayant NEGOTIATION
Alejandro G VocelkaUnited KingdomXuxue Feng UNQUALIFIED
Kaitlin Q KuskoArgentinaElwin Sharvill RENEWAL
Mayumi B MacleadArgentinaIoni Bowcher NEGOTIATION
Sinclair F OstroskyBrazilAmy Elsner NEW
Kadeem L BowleyCanadaIvan Magalhaes UNQUALIFIED
Octavia I ShinkoIndiaIoni Bowcher NEW
Jennifer B InouyeGermanyAnna Fali RENEWAL
Darci R RoysterArgentinaIoni Bowcher UNQUALIFIED
Ashley D SchemmerUnited KingdomIoni Bowcher NEW
Cody W GauchoAustraliaIvan Magalhaes NEGOTIATION
Morrow M AmigonIndiaStephen Shaw UNQUALIFIED
Cody D KolmetzSpainAsiya Javayant NEW
Jeanfrancois P MaletArgentinaXuxue Feng PROPOSAL
Darci X FlosiSpainAnna Fali QUALIFIED
Emily S GlickGermanyBernardo Dominic PROPOSAL
Aditya F VocelkaArgentinaAmy Elsner UNQUALIFIED
Ivar W StockhamCanadaXuxue Feng PROPOSAL
Silvio O DarakjyFranceAmy Elsner RENEWAL
Murillo L FlosiSpainAnna Fali QUALIFIED
Francesco Y ShinkoBrazilOnyama Limba PROPOSAL
Kadeem H PoquetteFranceOnyama Limba UNQUALIFIED
Adams A PaprockiUnited KingdomStephen Shaw UNQUALIFIED
Salvatore D MaletAustraliaAmy Elsner NEGOTIATION
Morrow C ShinkoArgentinaAmy Elsner QUALIFIED
Jennifer P ShinkoCanadaAmy Elsner RENEWAL
Francesco G ButtIndiaOnyama Limba PROPOSAL
Ricardo A RimItalyIvan Magalhaes RENEWAL
Leon T WhobreyJapanAnna Fali NEGOTIATION
Jeanfrancois I DilliardFranceXuxue Feng QUALIFIED
Clifford P MorascaCanadaElwin Sharvill PROPOSAL
Mayumi D GauchoGermanyElwin Sharvill RENEWAL
Clifford X PoquetteBrazilIoni Bowcher RENEWAL
Kaitlin G FollerCanadaAmy Elsner NEGOTIATION
Leon S MarrierSpainXuxue Feng NEW
Mujtaba D GlickCanadaXuxue Feng UNQUALIFIED
Octavia V FigeroaArgentinaIvan Magalhaes PROPOSAL
Deepesh Y WhobreyAustraliaOnyama Limba NEW
Smith L RoysterItalyAnna Fali QUALIFIED
Adams A BologniaJapanIvan Magalhaes QUALIFIED
Greenwood Z OldroydGermanyBernardo Dominic RENEWAL
Kaitlin R KolmetzArgentinaAmy Elsner NEW
Frozen Columns
Name
Salvatore G Bowley
Kadeem O Maclead
Julie U Darakjy
Ricardo C Gaucho
Sinclair D Garufi
Claire J Malet
Murillo T Waycott
Jefferson N Stockham
Ricardo D Whobrey
Johnson G Gillian
Morrow U Ferencz
Deepesh A Vocelka
Antonio Y Vocelka
Ashley J Flosi
Johnson Q Dilliard
Octavia F Bowley
Misaki E Darakjy
Salvatore S Malet
James J Ruta
Juan V Poquette
Arvin D Wieser
Darci X Dilliard
Francesco S Inouye
Maria Q Maclead
Costa T Marrier
Kadeem S Ostrosky
Antonio S Garufi
Johnson V Rim
Smith A Briddick
Darci K Perin
Kaitlin G Nestle
Jefferson H Vocelka
Clifford R Ostrosky
Izzy S Caldarera
Sinclair D Dilliard
Costa B Wieser
Leon X Stenseth
Nicolas P Nestle
Wickens O Rim
Adams D Rim
Jennifer X Albares
Ivar S Paprocki
Leja B Dilliard
Clifford Q Campain
Morrow M Rulapaugh
Antonio O Stockham
Faith T Poquette
Izzy Q Vocelka
Leja R Ostrosky
Leja I Ostrosky
IdCountryDate
1000Brazil2024-05-27
1001Japan2024-06-22
1002United Kingdom2024-06-16
1003Brazil2024-06-02
1004Argentina2024-06-15
1005Brazil2024-06-16
1006India2024-06-12
1007Italy2024-06-18
1008Germany2024-06-07
1009Brazil2024-06-09
1010India2024-06-06
1011Argentina2024-06-12
1012Italy2024-06-17
1013Germany2024-06-06
1014United Kingdom2024-05-25
1015Germany2024-05-29
1016Germany2024-05-25
1017Australia2024-06-14
1018India2024-06-11
1019Russia2024-06-01
1020Argentina2024-06-01
1021Canada2024-06-12
1022United Kingdom2024-06-08
1023Canada2024-06-21
1024France2024-06-04
1025Russia2024-06-15
1026Russia2024-06-16
1027Canada2024-05-25
1028Brazil2024-06-18
1029Russia2024-06-10
1030Spain2024-06-07
1031India2024-06-05
1032Argentina2024-06-05
1033Brazil2024-06-03
1034India2024-06-07
1035Spain2024-06-18
1036Italy2024-06-01
1037Spain2024-05-29
1038Canada2024-05-26
1039India2024-05-27
1040Brazil2024-06-03
1041Brazil2024-06-03
1042Japan2024-05-24
1043Germany2024-05-26
1044India2024-06-14
1045Italy2024-06-20
1046Canada2024-06-18
1047Australia2024-06-15
1048France2024-06-22
1049Russia2024-05-25

On-Demand Data

NameIdCountryDate
Clifford M Poquette1000India2024-05-26
Tony B Paprocki1001Argentina2024-06-21
Tony I Perin1002Russia2024-06-22
Nicolas Z Amigon1003Italy2024-05-25
Ashley M Inouye1004Australia2024-06-03
Smith H Wieser1005United Kingdom2024-06-21
Arvin R Oldroyd1006United Kingdom2024-06-16
Adams K Whobrey1007Italy2024-06-19
Chavez L Bowley1008France2024-05-29
Munro Z Tollner1009Australia2024-06-09
Maisha D Stockham1010Canada2024-06-03
Jennifer N Marrier1011Brazil2024-06-13
Kadeem Q Rulapaugh1012Germany2024-06-21
Ivar P Albares1013Brazil2024-05-26
Kadeem K Bowley1014Germany2024-06-07
Cody W Marrier1015Australia2024-06-13
Alejandro A Slusarski1016Canada2024-06-12
Sinclair C Morasca1017Italy2024-06-13
Silvio J Nicka1018India2024-06-01
Tony H Oldroyd1019United Kingdom2024-06-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith J TollnerAustraliaIoni Bowcher NEGOTIATION
Francesco J PaprockiFranceBernardo Dominic UNQUALIFIED
David I RutaArgentinaIvan Magalhaes QUALIFIED
Morrow J OstroskyJapanIvan Magalhaes RENEWAL
Johnson I NestleBrazilOnyama Limba UNQUALIFIED
Julie E StensethGermanyAnna Fali NEGOTIATION
David K VenereBrazilOnyama Limba RENEWAL
Claire Y VenereItalyAsiya Javayant QUALIFIED
Silvio P WieserAustraliaAnna Fali QUALIFIED
Darci T FerenczSpainElwin Sharvill PROPOSAL
Maria J VocelkaRussiaIvan Magalhaes RENEWAL
Morrow Y RutaJapanStephen Shaw NEGOTIATION
Ricardo Z StensethSpainAmy Elsner UNQUALIFIED
Nicolas Y SchemmerJapanBernardo Dominic PROPOSAL
Misaki G InouyeGermanyOnyama Limba RENEWAL
Kaitlin O RutaIndiaIoni Bowcher NEGOTIATION
Aruna G FerenczUnited KingdomElwin Sharvill PROPOSAL
Jones A RimFranceOnyama Limba NEW
Misaki V MaletItalyIoni Bowcher NEW
Silvio C SergiAustraliaAmy Elsner RENEWAL
Stacey T RutaGermanyOnyama Limba UNQUALIFIED
Greenwood V WieserUnited KingdomStephen Shaw PROPOSAL
Greenwood B GauchoItalyXuxue Feng RENEWAL
Darci A NickaGermanyXuxue Feng QUALIFIED
Chavez Z DoeArgentinaBernardo Dominic QUALIFIED
Rodrigues Y ButtBrazilXuxue Feng RENEWAL
Jennifer M FerenczRussiaIvan Magalhaes PROPOSAL
Ashley H KuskoIndiaAmy Elsner PROPOSAL
Jefferson T PoquetteItalyElwin Sharvill QUALIFIED
Aruna N MaletArgentinaBernardo Dominic QUALIFIED
Murillo C DarakjyCanadaIvan Magalhaes QUALIFIED
Claire R VocelkaAustraliaOnyama Limba RENEWAL
Ashley F AlbaresGermanyElwin Sharvill RENEWAL
Jeanfrancois D RutaCanadaBernardo Dominic UNQUALIFIED
Aika W ChuiSpainStephen Shaw NEGOTIATION
Aika F PaprockiJapanBernardo Dominic UNQUALIFIED
Tony M VocelkaItalyIoni Bowcher UNQUALIFIED
Claire X MaletGermanyAsiya Javayant QUALIFIED
Leon P SlusarskiAustraliaXuxue Feng NEGOTIATION
Juan A MarrierUnited KingdomAsiya Javayant QUALIFIED

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