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
Munro D CaldareraRussiaElwin Sharvill NEW
Maisha W StensethBrazilAsiya Javayant NEW
Smith M FollerJapanIvan Magalhaes RENEWAL
Chavez G VocelkaSpainIoni Bowcher NEGOTIATION
Adams V AlbaresIndiaAsiya Javayant NEGOTIATION
Sinclair O DoeIndiaAsiya Javayant UNQUALIFIED
Antonio K BologniaGermanyXuxue Feng NEGOTIATION
Clifford S RoysterAustraliaIvan Magalhaes NEW
Tony Z WaycottCanadaAnna Fali PROPOSAL
Stacey R WhobreyUnited KingdomAsiya Javayant NEW
Kadeem K KuskoFranceIvan Magalhaes RENEWAL
Jefferson V WaycottUnited KingdomXuxue Feng UNQUALIFIED
Maisha Y KolmetzRussiaBernardo Dominic PROPOSAL
Deepesh K RoysterArgentinaBernardo Dominic NEW
Darci Y MaletIndiaAnna Fali NEGOTIATION
Aruna A RulapaughArgentinaElwin Sharvill RENEWAL
Costa I GauchoRussiaStephen Shaw QUALIFIED
James C SlusarskiBrazilOnyama Limba QUALIFIED
Ashley E NestleUnited KingdomXuxue Feng UNQUALIFIED
Claire K GauchoUnited KingdomOnyama Limba NEGOTIATION
Izzy M MarrierAustraliaStephen Shaw RENEWAL
Murillo K KolmetzIndiaElwin Sharvill PROPOSAL
Salvatore Z AmigonItalyElwin Sharvill UNQUALIFIED
Kaitlin W VenereSpainXuxue Feng PROPOSAL
Kaitlin X WhobreyCanadaXuxue Feng PROPOSAL
Maria P AmigonUnited KingdomXuxue Feng NEGOTIATION
Julie F MarrierItalyElwin Sharvill PROPOSAL
Ricardo R SergiSpainIvan Magalhaes QUALIFIED
Julie A MaletBrazilIoni Bowcher PROPOSAL
Octavia V OldroydArgentinaElwin Sharvill NEW
Sinclair Z DilliardRussiaElwin Sharvill NEW
Silvio W MaletJapanIoni Bowcher PROPOSAL
Maisha Y MaletBrazilStephen Shaw QUALIFIED
Nicolas H NickaItalyXuxue Feng QUALIFIED
Rodrigues M PaprockiRussiaStephen Shaw PROPOSAL
Ashley F BologniaSpainBernardo Dominic RENEWAL
Ashley Y NickaItalyAsiya Javayant NEGOTIATION
Costa H SergiRussiaStephen Shaw NEGOTIATION
Mayumi N CaudyAustraliaOnyama Limba NEW
James K OstroskyArgentinaOnyama Limba QUALIFIED
Rodrigues D MacleadCanadaStephen Shaw NEW
Cody H MarrierBrazilAmy Elsner UNQUALIFIED
Nicolas U SaylorsJapanElwin Sharvill NEGOTIATION
Murillo T PoquetteGermanyStephen Shaw UNQUALIFIED
Juan H VocelkaSpainAmy Elsner PROPOSAL
Ricardo P CampainUnited KingdomAsiya Javayant QUALIFIED
Emily V RoysterArgentinaElwin Sharvill RENEWAL
Morrow N DilliardFranceAnna Fali RENEWAL
Wickens Y DarakjyUnited KingdomStephen Shaw PROPOSAL
Jennifer W KolmetzRussiaBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Francesco Z GauchoRussiaElwin Sharvill PROPOSAL
Clifford I CaudySpainXuxue Feng NEW
Nicolas P VocelkaGermanyAnna Fali QUALIFIED
Mayumi O NickaGermanyIoni Bowcher NEW
Smith C PaprockiCanadaIoni Bowcher RENEWAL
Ashley X RimRussiaAnna Fali QUALIFIED
Maisha W FigeroaCanadaStephen Shaw PROPOSAL
Silvio M VenereBrazilElwin Sharvill RENEWAL
Deepesh M AmigonArgentinaStephen Shaw NEW
Francesco B WieserAustraliaStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya R ButtItaly2025-04-18Chanay, Jeffrey A Esq QUALIFIED51Amy Elsner
1001Alejandro D VenereUnited Kingdom2025-04-20Benton, John B Jr RENEWAL71Xuxue Feng
1002James M MorascaUnited Kingdom2025-04-23Rousseaux, Michael Esq PROPOSAL24Asiya Javayant
1003Kadeem T ChuiUnited Kingdom2025-04-29Dorl, James J Esq QUALIFIED4Ioni Bowcher
1004Antonio R VenereCanada2025-05-14Printing Dimensions PROPOSAL34Bernardo Dominic
1005Jeanfrancois K DilliardSpain2025-04-19Truhlar And Truhlar Attys UNQUALIFIED77Ioni Bowcher
1006Munro Y RutaFrance2025-04-24Feltz Printing Service PROPOSAL33Ioni Bowcher
1007Isabel P IturbideSpain2025-04-20Printing Dimensions UNQUALIFIED61Bernardo Dominic
1008Nicolas L OldroydItaly2025-05-07Chemel, James L Cpa PROPOSAL27Ivan Magalhaes
1009Tony B VocelkaGermany2025-04-23Feltz Printing Service NEW77Ivan Magalhaes
1010Maisha A FerenczUnited Kingdom2025-05-14Feltz Printing Service NEW99Amy Elsner
1011Jeanfrancois N PaprockiArgentina2025-05-02Rousseaux, Michael Esq PROPOSAL32Xuxue Feng
1012Johnson P TollnerIndia2025-04-28Rangoni Of Florence RENEWAL38Xuxue Feng
1013Darci F NickaUnited Kingdom2025-04-19Printing Dimensions NEGOTIATION0Ivan Magalhaes
1014Leja M BriddickFrance2025-05-14Morlong Associates UNQUALIFIED64Elwin Sharvill
1015Darci W WhobreyUnited Kingdom2025-05-01Printing Dimensions QUALIFIED57Amy Elsner
1016Ricardo L FlosiCanada2025-05-01Chapman, Ross E Esq NEW57Stephen Shaw
1017Mujtaba P CaldareraFrance2025-04-30Benton, John B Jr UNQUALIFIED84Asiya Javayant
1018Stacey P CampainFrance2025-04-23Dorl, James J Esq UNQUALIFIED29Anna Fali
1019Tony L ButtFrance2025-05-04Chanay, Jeffrey A Esq PROPOSAL51Amy Elsner
1020Cody H BriddickUnited Kingdom2025-05-09Chapman, Ross E Esq UNQUALIFIED7Stephen Shaw
1021Costa H NestleJapan2025-04-20Printing Dimensions NEW73Bernardo Dominic
1022David B DoeGermany2025-05-16Benton, John B Jr RENEWAL79Stephen Shaw
1023Ivar E FollerBrazil2025-04-25Buckley Miller Wright NEW53Amy Elsner
1024Rodrigues U SaylorsGermany2025-05-06Rousseaux, Michael Esq RENEWAL62Stephen Shaw
1025Leon P PoquetteUnited Kingdom2025-05-10Dorl, James J Esq NEGOTIATION11Ivan Magalhaes
1026Deepesh F NestleCanada2025-05-13Chanay, Jeffrey A Esq PROPOSAL35Xuxue Feng
1027Leja P PerinSpain2025-04-30Dorl, James J Esq NEW5Amy Elsner
1028Alejandro F CaldareraJapan2025-05-09Chanay, Jeffrey A Esq QUALIFIED55Bernardo Dominic
1029Wickens A CaudyArgentina2025-05-08Chemel, James L Cpa QUALIFIED7Stephen Shaw
1030Smith Q DarakjyAustralia2025-05-02Chapman, Ross E Esq QUALIFIED15Stephen Shaw
1031Izzy O BologniaGermany2025-04-30Buckley Miller Wright UNQUALIFIED63Elwin Sharvill
1032Kaitlin Y NickaFrance2025-05-12Buckley Miller Wright UNQUALIFIED37Stephen Shaw
1033Emily I VocelkaItaly2025-05-07Morlong Associates NEGOTIATION47Xuxue Feng
1034Leja V StensethAustralia2025-04-22Rangoni Of Florence PROPOSAL87Xuxue Feng
1035Sinclair H MacleadGermany2025-04-23Buckley Miller Wright QUALIFIED56Bernardo Dominic
1036Maria L SergiFrance2025-04-18Rousseaux, Michael Esq PROPOSAL0Amy Elsner
1037Jennifer M SchemmerBrazil2025-04-21Truhlar And Truhlar Attys RENEWAL69Xuxue Feng
1038David X PoquetteFrance2025-04-23Feltz Printing Service QUALIFIED18Onyama Limba
1039Salvatore X KolmetzRussia2025-05-04Feiner Bros QUALIFIED93Asiya Javayant
1040Jones L GlickRussia2025-04-29Truhlar And Truhlar Attys QUALIFIED98Onyama Limba
1041Maisha E IturbideRussia2025-04-24Chapman, Ross E Esq NEGOTIATION22Stephen Shaw
1042Wickens A BriddickSpain2025-04-21Buckley Miller Wright NEW22Stephen Shaw
1043Aika L BriddickSpain2025-05-13Buckley Miller Wright PROPOSAL96Onyama Limba
1044Tony L BologniaItaly2025-05-17Dorl, James J Esq RENEWAL5Bernardo Dominic
1045Aika A FlosiSpain2025-04-29Rangoni Of Florence NEGOTIATION6Ioni Bowcher
1046Isabel S SchemmerCanada2025-05-12Benton, John B Jr PROPOSAL20Asiya Javayant
1047Antonio P WhobreyJapan2025-05-15Chapman, Ross E Esq PROPOSAL33Ivan Magalhaes
1048Arvin U OldroydCanada2025-04-23Commercial Press UNQUALIFIED83Bernardo Dominic
1049Deepesh W NickaCanada2025-04-29Truhlar And Truhlar Attys UNQUALIFIED14Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba H MacleadSpainBernardo Dominic NEGOTIATION
Stacey B MorascaGermanyIoni Bowcher QUALIFIED
Sinclair D GauchoAustraliaOnyama Limba NEW
Isabel Z MaletJapanElwin Sharvill RENEWAL
Deepesh J NickaUnited KingdomStephen Shaw NEGOTIATION
Deepesh T CaldareraArgentinaIoni Bowcher NEW
Kaitlin G CampainRussiaIoni Bowcher PROPOSAL
Nicolas P ButtBrazilElwin Sharvill UNQUALIFIED
Aditya V CaudySpainAsiya Javayant NEGOTIATION
Jennifer E StensethCanadaAsiya Javayant NEW
Julie M CaldareraAustraliaAsiya Javayant UNQUALIFIED
Rodrigues V DilliardCanadaIoni Bowcher NEGOTIATION
Maria B GarufiGermanyAmy Elsner PROPOSAL
Leja P KolmetzJapanAsiya Javayant UNQUALIFIED
Sinclair V FerenczFranceBernardo Dominic NEW
James T PaprockiAustraliaBernardo Dominic NEGOTIATION
Jones Q CampainAustraliaOnyama Limba UNQUALIFIED
Costa F BologniaIndiaBernardo Dominic PROPOSAL
Octavia X AlbaresUnited KingdomAsiya Javayant NEW
Chavez V KolmetzBrazilOnyama Limba NEGOTIATION
Salvatore K MorascaArgentinaStephen Shaw RENEWAL
Ivar P ButtGermanyAnna Fali NEGOTIATION
Salvatore K MacleadJapanIvan Magalhaes PROPOSAL
Stacey H StensethItalyIvan Magalhaes QUALIFIED
Murillo E VenereItalyIvan Magalhaes NEW
Sinclair F MaletAustraliaAmy Elsner RENEWAL
Silvio I SchemmerCanadaElwin Sharvill RENEWAL
Aditya P FigeroaGermanyIoni Bowcher NEGOTIATION
Mujtaba S ShinkoFranceXuxue Feng NEGOTIATION
Ivar J AlbaresIndiaBernardo Dominic QUALIFIED
Johnson A GauchoUnited KingdomAmy Elsner NEW
Octavia E BowleyGermanyXuxue Feng NEGOTIATION
Tony F OldroydArgentinaBernardo Dominic NEGOTIATION
Ashley W MaletJapanOnyama Limba NEGOTIATION
Octavia C IturbideIndiaOnyama Limba RENEWAL
Nicolas X SchemmerArgentinaAsiya Javayant UNQUALIFIED
Tony V NickaBrazilAsiya Javayant RENEWAL
Nicolas V PoquetteJapanOnyama Limba RENEWAL
Ricardo J CaudyJapanElwin Sharvill NEGOTIATION
Darci B RutaJapanIvan Magalhaes UNQUALIFIED
Francesco I KuskoArgentinaIoni Bowcher QUALIFIED
Maisha R FerenczAustraliaIoni Bowcher NEGOTIATION
Costa M SlusarskiJapanOnyama Limba PROPOSAL
Silvio L RimJapanAnna Fali PROPOSAL
Tony E RoysterFranceAsiya Javayant NEW
Chavez Z VocelkaGermanyAnna Fali PROPOSAL
Chavez X DarakjySpainAsiya Javayant PROPOSAL
Mayumi B MacleadAustraliaOnyama Limba NEW
Octavia M ChuiUnited KingdomAsiya Javayant NEGOTIATION
Clifford K DarakjyAustraliaStephen Shaw PROPOSAL
Frozen Columns
Name
Greenwood G Schemmer
Izzy P Briddick
Silvio L Waycott
Aika M Malet
Cody Q Bowley
Isabel R Paprocki
Juan S Perin
Salvatore M Glick
Darci Z Morasca
Antonio F Butt
Mujtaba A Shinko
Francesco E Malet
Morrow L Darakjy
Chavez X Garufi
Cody Z Tollner
Emily K Nicka
Jones E Garufi
Aika Z Bowley
Munro C Royster
Claire Y Stockham
Costa F Oldroyd
Emily J Bowley
Morrow S Briddick
Francesco E Gillian
Murillo H Whobrey
Aditya H Amigon
Francesco L Poquette
Darci Y Malet
Kaitlin E Ferencz
Faith O Vocelka
David M Schemmer
Rodrigues O Caudy
Jennifer W Nestle
Adams C Glick
Octavia Z Shinko
David Y Rim
Cody N Sergi
Jefferson A Gaucho
Kadeem Q Dilliard
Izzy C Oldroyd
Octavia C Albares
Jeanfrancois T Nicka
Clifford O Morasca
James B Kolmetz
Izzy E Chui
David H Briddick
Antonio I Nestle
Kaitlin S Shinko
Silvio E Perin
Wickens J Campain
IdCountryDate
1000Canada2025-05-17
1001Japan2025-05-07
1002Brazil2025-05-17
1003Australia2025-04-29
1004Australia2025-05-14
1005Spain2025-04-21
1006France2025-05-17
1007United Kingdom2025-04-27
1008Germany2025-04-20
1009India2025-04-29
1010Germany2025-05-15
1011India2025-04-19
1012Spain2025-05-13
1013Russia2025-05-14
1014Italy2025-05-13
1015Australia2025-04-22
1016Australia2025-04-23
1017France2025-04-28
1018Japan2025-05-13
1019France2025-05-03
1020France2025-04-21
1021Canada2025-05-05
1022Italy2025-05-08
1023Russia2025-04-29
1024Australia2025-04-27
1025Brazil2025-05-05
1026Argentina2025-04-29
1027Argentina2025-05-17
1028Germany2025-04-23
1029Spain2025-05-03
1030Argentina2025-05-02
1031United Kingdom2025-04-22
1032United Kingdom2025-04-24
1033France2025-05-10
1034Argentina2025-04-29
1035Brazil2025-05-02
1036India2025-05-11
1037France2025-05-01
1038Germany2025-05-02
1039Russia2025-04-21
1040Brazil2025-05-12
1041India2025-04-19
1042India2025-05-09
1043Russia2025-04-19
1044Australia2025-05-17
1045Italy2025-04-18
1046Canada2025-05-02
1047India2025-05-11
1048Germany2025-05-09
1049Italy2025-04-22

On-Demand Data

NameIdCountryDate
Stacey P Dilliard1000India2025-04-19
Greenwood C Stockham1001Australia2025-05-04
Tony T Ostrosky1002India2025-04-21
Morrow V Malet1003Russia2025-04-27
Ricardo X Amigon1004Canada2025-04-20
Smith Y Dilliard1005France2025-04-25
Sinclair W Paprocki1006France2025-05-02
Leja O Chui1007Italy2025-05-14
Adams Z Malet1008Brazil2025-05-02
Maisha L Oldroyd1009United Kingdom2025-04-22
Ivar G Ruta1010Germany2025-04-20
Salvatore W Poquette1011Australia2025-05-11
Mujtaba Y Oldroyd1012India2025-04-20
Arvin U Glick1013Japan2025-05-04
Aditya L Ruta1014Spain2025-04-18
Jeanfrancois H Stenseth1015Spain2025-04-22
Jeanfrancois B Nicka1016Russia2025-05-17
Leon T Darakjy1017Australia2025-05-11
Jones F Glick1018Canada2025-04-28
Stacey P Ferencz1019Canada2025-04-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair Y AmigonUnited KingdomBernardo Dominic NEW
Isabel V MorascaAustraliaXuxue Feng QUALIFIED
Arvin D TollnerFranceBernardo Dominic QUALIFIED
Smith A AmigonBrazilIvan Magalhaes UNQUALIFIED
Octavia L WhobreyUnited KingdomElwin Sharvill PROPOSAL
Darci F NestleGermanyOnyama Limba UNQUALIFIED
Alejandro E ShinkoItalyIvan Magalhaes NEW
Ricardo M IturbideFranceIvan Magalhaes RENEWAL
Darci M PaprockiIndiaXuxue Feng NEGOTIATION
Maisha H WaycottAustraliaOnyama Limba RENEWAL
Costa D SlusarskiItalyAsiya Javayant NEGOTIATION
Jones Q SlusarskiGermanyBernardo Dominic PROPOSAL
Kadeem R KuskoCanadaStephen Shaw QUALIFIED
Aruna Y IturbideCanadaAmy Elsner QUALIFIED
Aditya Q MaletBrazilIoni Bowcher PROPOSAL
Mayumi J InouyeAustraliaStephen Shaw QUALIFIED
Alejandro F VenereIndiaOnyama Limba NEGOTIATION
Chavez B AmigonBrazilAnna Fali UNQUALIFIED
Maria J KuskoJapanAnna Fali UNQUALIFIED
Kadeem E ShinkoAustraliaIoni Bowcher NEW
Antonio S NestleArgentinaAsiya Javayant NEGOTIATION
Jennifer L CaldareraBrazilElwin Sharvill NEGOTIATION
Silvio K CaudyCanadaXuxue Feng UNQUALIFIED
Munro T VenereCanadaStephen Shaw QUALIFIED
Jennifer A GlickAustraliaAnna Fali QUALIFIED
David V WaycottFranceAmy Elsner NEW
Maria F BologniaUnited KingdomAnna Fali RENEWAL
Rodrigues O FigeroaBrazilElwin Sharvill NEGOTIATION
Faith K DilliardArgentinaXuxue Feng QUALIFIED
Ricardo S FerenczSpainIvan Magalhaes NEW
Maria T FollerRussiaAmy Elsner NEW
Jennifer I CampainIndiaAnna Fali RENEWAL
Nicolas L GillianAustraliaXuxue Feng UNQUALIFIED
Faith O SergiIndiaAsiya Javayant UNQUALIFIED
Ricardo S WieserSpainAmy Elsner PROPOSAL
Silvio G MaletFranceAmy Elsner RENEWAL
Maria N MaletFranceAnna Fali PROPOSAL
Ivar D NickaArgentinaAmy Elsner UNQUALIFIED
Faith M DarakjyGermanyAmy Elsner PROPOSAL
Mujtaba G AmigonUnited KingdomOnyama Limba NEGOTIATION

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