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
Mujtaba C MorascaArgentinaIoni Bowcher UNQUALIFIED
Wickens O IturbideUnited KingdomAsiya Javayant QUALIFIED
Antonio D InouyeCanadaOnyama Limba UNQUALIFIED
Izzy Z MaletGermanyIoni Bowcher NEW
Alejandro H SergiUnited KingdomXuxue Feng QUALIFIED
Jennifer V WieserSpainElwin Sharvill NEW
Maria F NickaGermanyAmy Elsner NEW
James J IturbideSpainXuxue Feng QUALIFIED
Clifford A VenereSpainBernardo Dominic NEGOTIATION
Clifford D MacleadItalyIoni Bowcher QUALIFIED
Alejandro G KuskoUnited KingdomElwin Sharvill QUALIFIED
Deepesh N FigeroaAustraliaIoni Bowcher QUALIFIED
Johnson R DoeGermanyAmy Elsner PROPOSAL
Maria W NestleCanadaIvan Magalhaes QUALIFIED
Deepesh H ButtUnited KingdomStephen Shaw PROPOSAL
Faith K ButtIndiaAnna Fali RENEWAL
Emily C InouyeRussiaIoni Bowcher RENEWAL
Munro T FlosiCanadaStephen Shaw RENEWAL
Wickens N DoeIndiaXuxue Feng NEW
Deepesh F RutaCanadaOnyama Limba NEGOTIATION
Sinclair W KuskoGermanyIvan Magalhaes RENEWAL
Murillo T WhobreyArgentinaIoni Bowcher PROPOSAL
Deepesh S PaprockiUnited KingdomXuxue Feng NEGOTIATION
Maisha Y WaycottArgentinaOnyama Limba QUALIFIED
Sinclair J DilliardJapanIvan Magalhaes NEW
Jefferson E WieserItalyAmy Elsner QUALIFIED
Mayumi T BologniaSpainElwin Sharvill PROPOSAL
Rodrigues X CampainGermanyXuxue Feng NEGOTIATION
Kaitlin W OstroskyRussiaOnyama Limba QUALIFIED
James P ShinkoBrazilIvan Magalhaes UNQUALIFIED
Ricardo M OldroydArgentinaIvan Magalhaes PROPOSAL
Julie A FlosiBrazilOnyama Limba NEGOTIATION
Tony V GarufiItalyAmy Elsner QUALIFIED
Nicolas F CaudyItalyAnna Fali NEW
James S DilliardItalyStephen Shaw NEGOTIATION
Sinclair T BriddickAustraliaXuxue Feng NEW
Aruna I OldroydIndiaIoni Bowcher PROPOSAL
Juan N BowleyItalyXuxue Feng NEGOTIATION
Jennifer S InouyeBrazilOnyama Limba PROPOSAL
Costa H GauchoSpainElwin Sharvill RENEWAL
Faith P GarufiBrazilIoni Bowcher PROPOSAL
Mujtaba L AlbaresArgentinaElwin Sharvill NEW
James V NickaArgentinaAmy Elsner RENEWAL
Clifford I NestleItalyElwin Sharvill NEGOTIATION
Maisha E StensethGermanyStephen Shaw UNQUALIFIED
Ashley J MacleadSpainXuxue Feng UNQUALIFIED
Cody A NestleAustraliaAnna Fali PROPOSAL
Octavia L ShinkoIndiaOnyama Limba RENEWAL
Julie W MaletCanadaIvan Magalhaes NEW
Mujtaba I RimRussiaBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Aika F MacleadRussiaOnyama Limba QUALIFIED
Francesco B DarakjyRussiaAnna Fali PROPOSAL
Ashley X ShinkoBrazilBernardo Dominic UNQUALIFIED
Ricardo R IturbideUnited KingdomStephen Shaw QUALIFIED
Leon G KolmetzGermanyAsiya Javayant QUALIFIED
Leja T MorascaJapanBernardo Dominic NEGOTIATION
Nicolas L VenereGermanyAnna Fali NEW
Octavia M RoysterIndiaIvan Magalhaes UNQUALIFIED
Antonio Y TollnerFranceIoni Bowcher NEGOTIATION
Octavia N GauchoBrazilElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria I ShinkoArgentina2024-06-24Printing Dimensions RENEWAL9Stephen Shaw
1001Misaki Q SergiGermany2024-06-22Commercial Press PROPOSAL23Ivan Magalhaes
1002Kadeem E AlbaresAustralia2024-06-10Morlong Associates PROPOSAL43Ivan Magalhaes
1003Aruna X DoeArgentina2024-06-21Chanay, Jeffrey A Esq UNQUALIFIED62Ioni Bowcher
1004Tony I FigeroaAustralia2024-05-28Feltz Printing Service PROPOSAL26Anna Fali
1005Johnson B SergiItaly2024-06-21Chemel, James L Cpa QUALIFIED59Anna Fali
1006Deepesh A GlickIndia2024-06-18Chapman, Ross E Esq NEW69Ivan Magalhaes
1007Morrow J PaprockiItaly2024-05-29Commercial Press RENEWAL2Elwin Sharvill
1008Darci U MacleadSpain2024-06-02Truhlar And Truhlar Attys NEGOTIATION1Ivan Magalhaes
1009Leja U SchemmerAustralia2024-06-10Rousseaux, Michael Esq UNQUALIFIED57Onyama Limba
1010Isabel G WaycottFrance2024-06-22Chanay, Jeffrey A Esq UNQUALIFIED22Elwin Sharvill
1011Mujtaba B GillianItaly2024-06-05King, Christopher A Esq UNQUALIFIED75Onyama Limba
1012Chavez X AlbaresItaly2024-06-19Chapman, Ross E Esq RENEWAL42Ioni Bowcher
1013David Q FigeroaGermany2024-06-23Printing Dimensions UNQUALIFIED86Amy Elsner
1014Mayumi B CaudyItaly2024-06-02Chemel, James L Cpa QUALIFIED12Bernardo Dominic
1015Smith B KolmetzGermany2024-06-19Chemel, James L Cpa UNQUALIFIED38Onyama Limba
1016Chavez J ShinkoCanada2024-06-12Truhlar And Truhlar Attys PROPOSAL13Asiya Javayant
1017Silvio P FollerIndia2024-05-27King, Christopher A Esq NEW18Elwin Sharvill
1018Jennifer B PerinUnited Kingdom2024-06-03Rangoni Of Florence QUALIFIED38Bernardo Dominic
1019Leja I CaldareraFrance2024-05-29King, Christopher A Esq RENEWAL7Amy Elsner
1020Izzy N ChuiIndia2024-06-05Feltz Printing Service RENEWAL73Asiya Javayant
1021Tony J MarrierFrance2024-06-21Morlong Associates NEW77Asiya Javayant
1022Clifford F GlickItaly2024-06-08Buckley Miller Wright PROPOSAL13Asiya Javayant
1023Salvatore K PerinFrance2024-06-24Truhlar And Truhlar Attys NEGOTIATION87Anna Fali
1024Ricardo O SaylorsIndia2024-06-08Buckley Miller Wright UNQUALIFIED2Anna Fali
1025James J RimJapan2024-06-16King, Christopher A Esq NEW17Anna Fali
1026Stacey Y PoquetteItaly2024-06-16Chapman, Ross E Esq QUALIFIED83Asiya Javayant
1027Costa D FlosiGermany2024-06-16Dorl, James J Esq QUALIFIED94Elwin Sharvill
1028Jones E SchemmerGermany2024-06-19Chanay, Jeffrey A Esq RENEWAL80Amy Elsner
1029Aika W BologniaGermany2024-06-10King, Christopher A Esq PROPOSAL41Xuxue Feng
1030Aditya V FlosiItaly2024-06-24Chemel, James L Cpa NEGOTIATION82Asiya Javayant
1031Leon V WieserItaly2024-05-31Rousseaux, Michael Esq QUALIFIED1Xuxue Feng
1032Antonio E WaycottUnited Kingdom2024-06-07Feltz Printing Service UNQUALIFIED11Bernardo Dominic
1033Misaki E KolmetzGermany2024-06-06Buckley Miller Wright QUALIFIED48Anna Fali
1034Costa R ShinkoArgentina2024-06-22Dorl, James J Esq NEGOTIATION24Stephen Shaw
1035Jones H MorascaBrazil2024-06-05Chemel, James L Cpa PROPOSAL4Ivan Magalhaes
1036Mujtaba W BriddickAustralia2024-06-03Chapman, Ross E Esq QUALIFIED7Xuxue Feng
1037Silvio W RulapaughBrazil2024-06-18Truhlar And Truhlar Attys NEW42Asiya Javayant
1038Clifford T ButtUnited Kingdom2024-06-16Benton, John B Jr QUALIFIED86Elwin Sharvill
1039Johnson S FollerBrazil2024-06-21Rangoni Of Florence NEW1Elwin Sharvill
1040Munro I CaldareraArgentina2024-06-24Morlong Associates QUALIFIED2Anna Fali
1041Misaki Y ShinkoUnited Kingdom2024-06-16Benton, John B Jr UNQUALIFIED99Asiya Javayant
1042Kaitlin E FigeroaArgentina2024-05-29Feltz Printing Service UNQUALIFIED9Asiya Javayant
1043Misaki C WaycottCanada2024-06-12Chemel, James L Cpa RENEWAL76Elwin Sharvill
1044David P KolmetzFrance2024-06-12Chapman, Ross E Esq QUALIFIED62Elwin Sharvill
1045Aika L PaprockiArgentina2024-05-30Rangoni Of Florence RENEWAL35Amy Elsner
1046Leja S ButtBrazil2024-06-06Printing Dimensions QUALIFIED69Anna Fali
1047Mujtaba P TollnerRussia2024-06-22Feltz Printing Service RENEWAL2Stephen Shaw
1048Johnson Q FigeroaUnited Kingdom2024-05-30Morlong Associates QUALIFIED22Ivan Magalhaes
1049Ashley L FollerJapan2024-05-27Feiner Bros PROPOSAL12Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Julie F MacleadIndiaStephen Shaw RENEWAL
Ivar E AmigonUnited KingdomIvan Magalhaes UNQUALIFIED
Emily J MacleadBrazilAmy Elsner QUALIFIED
Jones G RulapaughUnited KingdomAnna Fali UNQUALIFIED
Smith L SlusarskiArgentinaBernardo Dominic NEW
Jennifer E DoeCanadaAmy Elsner UNQUALIFIED
Deepesh T IturbideJapanIvan Magalhaes UNQUALIFIED
Mayumi U TollnerRussiaBernardo Dominic NEGOTIATION
Kaitlin I MarrierSpainElwin Sharvill QUALIFIED
Wickens Z ShinkoIndiaElwin Sharvill NEGOTIATION
Juan B FollerAustraliaOnyama Limba QUALIFIED
Deepesh J NickaRussiaIvan Magalhaes NEW
Aika T DarakjyArgentinaBernardo Dominic PROPOSAL
Kaitlin L OstroskyRussiaOnyama Limba NEW
Jefferson T KuskoSpainAsiya Javayant NEGOTIATION
Isabel F RulapaughRussiaElwin Sharvill NEW
Maisha K RimUnited KingdomAnna Fali QUALIFIED
Ricardo V WhobreyUnited KingdomAnna Fali QUALIFIED
Murillo A ShinkoFranceAmy Elsner NEGOTIATION
Aika G FigeroaBrazilStephen Shaw PROPOSAL
Francesco H KolmetzUnited KingdomIvan Magalhaes RENEWAL
Jefferson R SlusarskiBrazilIoni Bowcher NEGOTIATION
Aika K WaycottCanadaBernardo Dominic RENEWAL
Jeanfrancois H GarufiRussiaOnyama Limba RENEWAL
David Z StensethUnited KingdomBernardo Dominic NEGOTIATION
Jones U FlosiGermanyBernardo Dominic RENEWAL
Ivar N SchemmerCanadaAmy Elsner UNQUALIFIED
Faith P FigeroaJapanIoni Bowcher QUALIFIED
Deepesh J GillianArgentinaAnna Fali QUALIFIED
Darci D WhobreyAustraliaAnna Fali NEGOTIATION
Isabel H CaudySpainOnyama Limba RENEWAL
Nicolas N FigeroaArgentinaAmy Elsner NEW
Darci I AmigonRussiaIvan Magalhaes UNQUALIFIED
Emily T BologniaIndiaIoni Bowcher UNQUALIFIED
Antonio I SchemmerBrazilIoni Bowcher PROPOSAL
Jennifer A GillianCanadaOnyama Limba RENEWAL
Ricardo K SaylorsJapanBernardo Dominic RENEWAL
Jeanfrancois Q WaycottFranceStephen Shaw QUALIFIED
Chavez X RutaRussiaStephen Shaw NEGOTIATION
Darci S PaprockiCanadaIvan Magalhaes PROPOSAL
Adams F BologniaSpainXuxue Feng UNQUALIFIED
Ivar G FlosiRussiaXuxue Feng NEGOTIATION
Aika J NestleGermanyBernardo Dominic NEGOTIATION
Silvio J MaletUnited KingdomElwin Sharvill NEW
Aditya G DilliardBrazilOnyama Limba QUALIFIED
Mayumi K RoysterUnited KingdomAnna Fali NEGOTIATION
Salvatore Y OstroskySpainAnna Fali UNQUALIFIED
Munro S MacleadFranceBernardo Dominic PROPOSAL
Mayumi V FigeroaRussiaAsiya Javayant UNQUALIFIED
Maisha B OldroydSpainIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Chavez N Ferencz
Francesco L Marrier
Mayumi J Stockham
Kaitlin U Stockham
Sinclair Q Venere
Rodrigues J Slusarski
Sinclair M Slusarski
Juan Y Gillian
Jennifer T Wieser
Aika V Malet
Morrow A Schemmer
Morrow F Sergi
Jefferson H Foller
Smith J Royster
Costa J Doe
Salvatore L Flosi
Maria C Darakjy
Adams Q Stockham
Ashley D Rulapaugh
Maria E Bolognia
Ivar S Glick
Clifford O Dilliard
Alejandro U Maclead
Smith Q Briddick
Juan U Ferencz
Greenwood Y Nicka
Maria O Malet
Julie C Rim
Munro A Nestle
Faith H Caldarera
Salvatore E Glick
Leja W Rim
Arvin R Wieser
Darci O Kolmetz
Rodrigues M Caldarera
Aika C Schemmer
Leon E Albares
Isabel Q Inouye
Cody E Vocelka
Kadeem E Stockham
Johnson D Doe
Arvin M Flosi
Morrow X Briddick
Nicolas Y Albares
Ivar C Glick
Nicolas O Ostrosky
Kadeem T Marrier
Wickens S Nestle
Leon K Schemmer
Jennifer D Inouye
IdCountryDate
1000United Kingdom2024-06-21
1001Italy2024-06-16
1002Russia2024-06-09
1003Spain2024-06-04
1004Australia2024-06-11
1005Argentina2024-05-28
1006Argentina2024-06-22
1007Spain2024-06-20
1008Germany2024-06-01
1009Spain2024-06-09
1010France2024-06-14
1011United Kingdom2024-05-28
1012United Kingdom2024-05-26
1013Australia2024-06-19
1014Argentina2024-05-30
1015Argentina2024-06-17
1016Spain2024-06-18
1017Canada2024-06-19
1018Japan2024-06-24
1019United Kingdom2024-06-21
1020Argentina2024-06-15
1021Brazil2024-05-29
1022Spain2024-06-17
1023Germany2024-06-24
1024Argentina2024-06-05
1025Spain2024-05-28
1026Canada2024-05-28
1027United Kingdom2024-06-10
1028United Kingdom2024-06-23
1029France2024-06-19
1030Germany2024-05-31
1031Brazil2024-06-10
1032Australia2024-06-19
1033India2024-06-03
1034Spain2024-06-15
1035Italy2024-05-28
1036Canada2024-06-09
1037India2024-05-30
1038India2024-06-03
1039Australia2024-06-02
1040Brazil2024-06-19
1041United Kingdom2024-05-28
1042Spain2024-06-16
1043France2024-06-13
1044Japan2024-06-12
1045Australia2024-06-03
1046Spain2024-05-30
1047Brazil2024-05-29
1048Germany2024-06-03
1049Germany2024-06-20

On-Demand Data

NameIdCountryDate
Julie V Albares1000India2024-06-19
Julie V Garufi1001Spain2024-06-03
Adams B Gaucho1002Russia2024-06-09
Silvio Z Paprocki1003United Kingdom2024-06-17
Costa N Bowley1004France2024-06-11
Francesco Q Kolmetz1005Brazil2024-06-21
Maria F Amigon1006Argentina2024-05-31
Chavez H Iturbide1007Brazil2024-05-31
Jeanfrancois U Slusarski1008Japan2024-06-11
Aruna E Slusarski1009India2024-06-20
Murillo Q Nestle1010Japan2024-06-17
Julie X Poquette1011Germany2024-06-11
Clifford V Gaucho1012Italy2024-06-18
Johnson W Butt1013Japan2024-06-23
Clifford K Ferencz1014Australia2024-06-19
Silvio W Caudy1015Australia2024-06-20
Aditya H Perin1016Brazil2024-06-14
Costa B Saylors1017Australia2024-05-26
Maisha G Stockham1018United Kingdom2024-06-11
Kaitlin M Gillian1019Canada2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan M CaldareraAustraliaAsiya Javayant RENEWAL
Antonio R StensethSpainBernardo Dominic QUALIFIED
Rodrigues Y FlosiCanadaAmy Elsner UNQUALIFIED
Tony D TollnerCanadaIvan Magalhaes QUALIFIED
Jeanfrancois H IturbideCanadaAsiya Javayant PROPOSAL
Arvin Z FollerBrazilAnna Fali UNQUALIFIED
Chavez B StensethFranceOnyama Limba QUALIFIED
Kadeem D FigeroaRussiaAmy Elsner PROPOSAL
Claire A ButtIndiaAsiya Javayant RENEWAL
Murillo X StensethCanadaXuxue Feng PROPOSAL
Aruna I BriddickFranceElwin Sharvill QUALIFIED
Antonio U MaletAustraliaAnna Fali RENEWAL
Claire E AlbaresItalyElwin Sharvill UNQUALIFIED
Salvatore L SaylorsCanadaIoni Bowcher NEW
Francesco M ChuiGermanyBernardo Dominic UNQUALIFIED
Clifford D RimRussiaAmy Elsner RENEWAL
Maisha J MarrierGermanyIvan Magalhaes UNQUALIFIED
James U MorascaBrazilOnyama Limba NEW
Mujtaba B MaletFranceAmy Elsner NEGOTIATION
Murillo L StockhamSpainStephen Shaw NEW
Ivar X SlusarskiGermanyAsiya Javayant QUALIFIED
Octavia F SlusarskiJapanAnna Fali NEGOTIATION
Claire N GarufiJapanOnyama Limba UNQUALIFIED
Sinclair H MorascaIndiaBernardo Dominic RENEWAL
Antonio S MaletFranceIvan Magalhaes NEGOTIATION
Munro O BologniaUnited KingdomIvan Magalhaes PROPOSAL
Jennifer R GillianArgentinaElwin Sharvill PROPOSAL
Munro W ChuiFranceStephen Shaw NEW
Claire Z GarufiAustraliaBernardo Dominic NEW
Alejandro W PerinRussiaAnna Fali NEGOTIATION
Emily Q VenereBrazilXuxue Feng QUALIFIED
Antonio V IturbideIndiaStephen Shaw RENEWAL
Jennifer M BologniaAustraliaAnna Fali PROPOSAL
Wickens E StockhamArgentinaIvan Magalhaes NEGOTIATION
Aditya E MarrierArgentinaStephen Shaw RENEWAL
Ricardo B SaylorsIndiaBernardo Dominic NEGOTIATION
Rodrigues K CaudyAustraliaAnna Fali NEGOTIATION
Izzy O VocelkaBrazilAnna Fali NEGOTIATION
Octavia H RoysterUnited KingdomXuxue Feng NEGOTIATION
Faith A RoysterUnited KingdomElwin Sharvill NEW

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