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
Johnson R RulapaughBrazilBernardo Dominic NEW
Mayumi L VenereIndiaElwin Sharvill NEW
Jennifer Q SlusarskiIndiaIvan Magalhaes NEGOTIATION
Julie U VocelkaArgentinaIoni Bowcher UNQUALIFIED
David V RulapaughGermanyAnna Fali PROPOSAL
Aditya L ShinkoIndiaXuxue Feng RENEWAL
Chavez K CampainGermanyAsiya Javayant NEGOTIATION
Adams Z AmigonJapanXuxue Feng NEGOTIATION
Faith M KolmetzGermanyStephen Shaw NEGOTIATION
Clifford U MacleadBrazilIvan Magalhaes QUALIFIED
Alejandro V RimGermanyIoni Bowcher UNQUALIFIED
Jeanfrancois Y StensethCanadaStephen Shaw NEW
Leja D AmigonSpainOnyama Limba NEW
James J FigeroaArgentinaIoni Bowcher QUALIFIED
Darci K VenereRussiaIvan Magalhaes NEGOTIATION
Aditya K WhobreyCanadaIoni Bowcher RENEWAL
Nicolas K NickaCanadaOnyama Limba RENEWAL
Smith H DilliardBrazilXuxue Feng NEW
Morrow S StensethBrazilIoni Bowcher NEGOTIATION
Stacey Z DoeUnited KingdomBernardo Dominic QUALIFIED
Antonio M InouyeRussiaAsiya Javayant PROPOSAL
Faith F BologniaCanadaXuxue Feng UNQUALIFIED
Munro Q OstroskyGermanyOnyama Limba NEGOTIATION
Wickens Y SaylorsUnited KingdomAmy Elsner PROPOSAL
Mayumi V GarufiCanadaBernardo Dominic UNQUALIFIED
Aika R TollnerItalyAnna Fali RENEWAL
Faith C GauchoUnited KingdomIoni Bowcher PROPOSAL
Misaki M TollnerItalyElwin Sharvill PROPOSAL
Isabel B CampainSpainIvan Magalhaes RENEWAL
Francesco M TollnerSpainIvan Magalhaes NEGOTIATION
Sinclair Y GlickCanadaElwin Sharvill NEW
Leon M OldroydUnited KingdomAsiya Javayant QUALIFIED
Greenwood M RutaUnited KingdomIoni Bowcher RENEWAL
Antonio L SchemmerIndiaXuxue Feng RENEWAL
Juan Z CaldareraRussiaIoni Bowcher PROPOSAL
Kadeem H DarakjyGermanyIoni Bowcher RENEWAL
Ivar H BriddickJapanIvan Magalhaes UNQUALIFIED
Leon F GarufiBrazilXuxue Feng NEGOTIATION
Adams U CaldareraIndiaStephen Shaw QUALIFIED
Antonio L NickaJapanOnyama Limba NEW
Antonio T CaldareraAustraliaAnna Fali PROPOSAL
Izzy Q CaldareraCanadaBernardo Dominic QUALIFIED
Nicolas J ShinkoBrazilElwin Sharvill UNQUALIFIED
Jones F WaycottRussiaAsiya Javayant QUALIFIED
Deepesh H DoeAustraliaIoni Bowcher NEGOTIATION
Aika Z FerenczFranceElwin Sharvill UNQUALIFIED
Darci C MorascaUnited KingdomElwin Sharvill PROPOSAL
Octavia Y DilliardAustraliaOnyama Limba NEW
Isabel P PaprockiGermanyAmy Elsner RENEWAL
Aditya V FerenczRussiaAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Smith Z ShinkoIndiaXuxue Feng UNQUALIFIED
Johnson H PaprockiIndiaXuxue Feng QUALIFIED
Arvin M DoeRussiaAsiya Javayant PROPOSAL
Claire L BowleyIndiaStephen Shaw PROPOSAL
Arvin K SaylorsGermanyStephen Shaw NEW
Jefferson Q BologniaSpainXuxue Feng PROPOSAL
Johnson B MaletGermanyAnna Fali QUALIFIED
Deepesh F OstroskyIndiaOnyama Limba QUALIFIED
Morrow U MorascaFranceOnyama Limba QUALIFIED
Darci P DoeArgentinaAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna N ChuiArgentina2024-06-16Dorl, James J Esq NEGOTIATION44Anna Fali
1001Octavia F GlickSpain2024-05-28Truhlar And Truhlar Attys UNQUALIFIED83Onyama Limba
1002Morrow E InouyeFrance2024-05-23Commercial Press PROPOSAL67Asiya Javayant
1003Munro D RutaSpain2024-05-26Chanay, Jeffrey A Esq UNQUALIFIED63Elwin Sharvill
1004Juan W RulapaughIndia2024-06-14Printing Dimensions PROPOSAL40Xuxue Feng
1005Greenwood K SlusarskiFrance2024-06-13Benton, John B Jr RENEWAL26Elwin Sharvill
1006Rodrigues F RoysterAustralia2024-06-05Buckley Miller Wright NEW25Asiya Javayant
1007Stacey O RimAustralia2024-06-18Truhlar And Truhlar Attys PROPOSAL21Ivan Magalhaes
1008Maisha R MarrierAustralia2024-06-03Buckley Miller Wright NEW54Xuxue Feng
1009Izzy T DilliardBrazil2024-05-31Chanay, Jeffrey A Esq RENEWAL34Bernardo Dominic
1010Ricardo V BowleyJapan2024-06-09Benton, John B Jr PROPOSAL54Stephen Shaw
1011Misaki A KuskoItaly2024-05-25Feltz Printing Service QUALIFIED57Ivan Magalhaes
1012Murillo Q FigeroaUnited Kingdom2024-06-15Chapman, Ross E Esq RENEWAL95Anna Fali
1013Stacey Y SlusarskiAustralia2024-06-12Chanay, Jeffrey A Esq PROPOSAL43Elwin Sharvill
1014Kadeem D InouyeCanada2024-06-03Buckley Miller Wright QUALIFIED81Ivan Magalhaes
1015Aditya P WhobreyIndia2024-06-14Dorl, James J Esq RENEWAL14Ioni Bowcher
1016Silvio R AmigonUnited Kingdom2024-06-10Chapman, Ross E Esq PROPOSAL46Stephen Shaw
1017Munro H StockhamFrance2024-05-29King, Christopher A Esq UNQUALIFIED91Amy Elsner
1018Jeanfrancois D FlosiFrance2024-06-09Rangoni Of Florence UNQUALIFIED2Asiya Javayant
1019Leon I FerenczRussia2024-06-16King, Christopher A Esq NEGOTIATION1Elwin Sharvill
1020Isabel P CaldareraGermany2024-05-30Rousseaux, Michael Esq UNQUALIFIED34Ivan Magalhaes
1021Mayumi B RoysterUnited Kingdom2024-06-01Dorl, James J Esq NEGOTIATION47Elwin Sharvill
1022Sinclair O TollnerCanada2024-06-13Rangoni Of Florence NEW68Onyama Limba
1023Kaitlin W NickaAustralia2024-06-01Chapman, Ross E Esq PROPOSAL74Ivan Magalhaes
1024Nicolas Y MarrierUnited Kingdom2024-05-31Dorl, James J Esq UNQUALIFIED98Bernardo Dominic
1025Adams F RutaIndia2024-06-13Printing Dimensions UNQUALIFIED94Amy Elsner
1026Salvatore G GauchoArgentina2024-06-12King, Christopher A Esq RENEWAL4Stephen Shaw
1027Mayumi Z FigeroaSpain2024-06-16Feltz Printing Service RENEWAL25Asiya Javayant
1028Stacey M RutaCanada2024-05-28Morlong Associates RENEWAL94Ioni Bowcher
1029Darci Q ChuiJapan2024-05-23Feiner Bros PROPOSAL4Ivan Magalhaes
1030Misaki N NestleArgentina2024-06-16Rousseaux, Michael Esq PROPOSAL2Amy Elsner
1031Aditya Y DarakjyItaly2024-06-05Chapman, Ross E Esq UNQUALIFIED70Asiya Javayant
1032Octavia S PaprockiAustralia2024-06-01Rousseaux, Michael Esq PROPOSAL47Elwin Sharvill
1033Jeanfrancois N PerinRussia2024-05-27Buckley Miller Wright UNQUALIFIED82Elwin Sharvill
1034Rodrigues T NickaJapan2024-06-13Buckley Miller Wright NEW18Xuxue Feng
1035Cody Y FerenczAustralia2024-05-29Chemel, James L Cpa NEW36Asiya Javayant
1036Jeanfrancois Y AlbaresRussia2024-06-09Rangoni Of Florence UNQUALIFIED68Onyama Limba
1037Tony U ButtArgentina2024-06-17Feiner Bros QUALIFIED51Xuxue Feng
1038Leja B SergiBrazil2024-05-30Rousseaux, Michael Esq RENEWAL45Xuxue Feng
1039Ivar O DoeUnited Kingdom2024-05-31Printing Dimensions UNQUALIFIED90Elwin Sharvill
1040James R MorascaCanada2024-06-17King, Christopher A Esq UNQUALIFIED38Ivan Magalhaes
1041Misaki R RimItaly2024-06-03Dorl, James J Esq NEGOTIATION87Stephen Shaw
1042Mujtaba Q MacleadCanada2024-06-18Morlong Associates PROPOSAL87Anna Fali
1043Misaki J CaudyIndia2024-06-08Rangoni Of Florence NEGOTIATION99Amy Elsner
1044Juan H RulapaughGermany2024-06-18Morlong Associates RENEWAL73Anna Fali
1045Jeanfrancois A BriddickCanada2024-05-31Benton, John B Jr NEGOTIATION56Ivan Magalhaes
1046Ivar U FigeroaIndia2024-06-19Dorl, James J Esq RENEWAL26Bernardo Dominic
1047Leon K SergiArgentina2024-06-03Morlong Associates NEW9Bernardo Dominic
1048Murillo G ShinkoFrance2024-06-05Chapman, Ross E Esq PROPOSAL19Elwin Sharvill
1049Cody U FollerSpain2024-06-07Truhlar And Truhlar Attys NEGOTIATION70Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Ivar F AlbaresCanadaXuxue Feng PROPOSAL
David B CaudyGermanyIvan Magalhaes QUALIFIED
Octavia P FollerItalyBernardo Dominic NEW
Mayumi J GauchoGermanyAnna Fali UNQUALIFIED
Jennifer Z CaldareraJapanStephen Shaw PROPOSAL
Mayumi P RoysterSpainIvan Magalhaes UNQUALIFIED
Leja B PaprockiCanadaOnyama Limba UNQUALIFIED
Misaki O KolmetzIndiaOnyama Limba NEGOTIATION
Alejandro Q GillianUnited KingdomOnyama Limba QUALIFIED
Maisha F PerinFranceXuxue Feng NEGOTIATION
Arvin P ButtFranceStephen Shaw UNQUALIFIED
Adams T DilliardRussiaXuxue Feng UNQUALIFIED
Stacey P DilliardArgentinaElwin Sharvill NEW
Murillo C RutaJapanStephen Shaw QUALIFIED
Alejandro Z WhobreyRussiaBernardo Dominic PROPOSAL
Claire P MaletGermanyElwin Sharvill UNQUALIFIED
Morrow Z ButtJapanBernardo Dominic RENEWAL
Ivar F RulapaughUnited KingdomStephen Shaw UNQUALIFIED
Faith K MacleadItalyXuxue Feng QUALIFIED
Aditya M MorascaBrazilIoni Bowcher QUALIFIED
Claire P WieserIndiaAsiya Javayant QUALIFIED
Stacey U StensethCanadaAsiya Javayant RENEWAL
Antonio M FollerBrazilElwin Sharvill QUALIFIED
Costa L MaletGermanyOnyama Limba RENEWAL
Kaitlin G PerinJapanAmy Elsner QUALIFIED
Antonio C GlickSpainXuxue Feng PROPOSAL
Johnson H DoeRussiaBernardo Dominic NEGOTIATION
Antonio D NestleUnited KingdomBernardo Dominic NEW
Leja O GillianCanadaStephen Shaw NEW
Julie R CampainSpainStephen Shaw NEGOTIATION
Tony N RutaIndiaIoni Bowcher PROPOSAL
Sinclair P DarakjyJapanElwin Sharvill RENEWAL
Sinclair I VocelkaAustraliaXuxue Feng NEGOTIATION
Kadeem P OstroskyUnited KingdomIoni Bowcher PROPOSAL
Claire K AmigonCanadaAmy Elsner NEW
Ricardo Y DarakjyIndiaBernardo Dominic QUALIFIED
Salvatore U TollnerItalyXuxue Feng QUALIFIED
Ricardo M GarufiRussiaAsiya Javayant NEW
Wickens R GauchoUnited KingdomBernardo Dominic NEGOTIATION
Kaitlin M AmigonAustraliaIvan Magalhaes NEW
Stacey W OstroskyUnited KingdomIoni Bowcher RENEWAL
Cody O SaylorsRussiaStephen Shaw QUALIFIED
Ivar M AlbaresArgentinaOnyama Limba UNQUALIFIED
Sinclair B ShinkoCanadaStephen Shaw PROPOSAL
Cody K GarufiBrazilIvan Magalhaes NEW
Nicolas T PaprockiItalyAnna Fali RENEWAL
Morrow D VocelkaBrazilElwin Sharvill QUALIFIED
Kaitlin K IturbideUnited KingdomAnna Fali UNQUALIFIED
Darci O RutaUnited KingdomIvan Magalhaes NEW
Maria V CaldareraIndiaOnyama Limba NEW
Frozen Columns
Name
Aditya B Waycott
Ashley F Nicka
David B Slusarski
Julie Y Butt
Juan N Slusarski
Stacey V Campain
Aruna A Ferencz
Jefferson B Ferencz
Wickens M Dilliard
Aruna Q Royster
Stacey P Malet
Aika H Morasca
Misaki Z Chui
Rodrigues C Flosi
Octavia E Gaucho
Emily G Gaucho
Murillo Y Iturbide
Silvio R Bowley
Nicolas B Gaucho
Tony X Caudy
Cody U Figeroa
Alejandro H Whobrey
Darci P Morasca
Julie N Maclead
David W Caudy
Alejandro B Venere
Kaitlin Q Caldarera
Aditya O Sergi
Jones F Darakjy
Munro L Garufi
Leon I Vocelka
Salvatore K Stenseth
Misaki Z Shinko
Sinclair T Royster
David O Maclead
Tony Y Foller
James M Saylors
Alejandro D Slusarski
Ricardo R Amigon
Juan D Tollner
Wickens G Ostrosky
Greenwood L Garufi
Smith R Slusarski
Izzy W Garufi
Claire U Bolognia
Rodrigues I Caudy
Nicolas H Ostrosky
Nicolas Q Albares
Rodrigues K Shinko
Silvio O Shinko
IdCountryDate
1000United Kingdom2024-06-11
1001Japan2024-06-20
1002Italy2024-06-05
1003France2024-06-18
1004United Kingdom2024-05-29
1005Spain2024-05-28
1006Brazil2024-06-01
1007Spain2024-05-23
1008Canada2024-05-27
1009Canada2024-06-01
1010Russia2024-06-13
1011Argentina2024-06-13
1012Japan2024-06-13
1013Canada2024-06-03
1014Australia2024-06-18
1015Spain2024-06-02
1016India2024-06-07
1017Japan2024-06-01
1018Spain2024-06-06
1019Argentina2024-05-24
1020Canada2024-06-16
1021Spain2024-05-25
1022Italy2024-06-16
1023Australia2024-06-11
1024Japan2024-06-12
1025Australia2024-06-02
1026Canada2024-06-12
1027Japan2024-06-21
1028France2024-06-01
1029Russia2024-05-27
1030Argentina2024-06-10
1031France2024-06-15
1032Spain2024-06-18
1033Spain2024-05-23
1034Canada2024-06-06
1035Spain2024-06-11
1036Canada2024-06-08
1037Germany2024-06-08
1038Canada2024-06-03
1039Brazil2024-06-20
1040Russia2024-06-17
1041Spain2024-05-26
1042Germany2024-06-06
1043France2024-06-10
1044Canada2024-05-30
1045United Kingdom2024-06-17
1046India2024-05-27
1047Italy2024-05-29
1048Germany2024-05-28
1049France2024-06-02

On-Demand Data

NameIdCountryDate
Mujtaba S Rim1000Brazil2024-06-13
Tony U Briddick1001Australia2024-06-18
Francesco G Wieser1002Germany2024-06-02
Jefferson A Oldroyd1003Brazil2024-06-08
Francesco Y Slusarski1004Germany2024-06-05
Ashley V Sergi1005Spain2024-05-31
Stacey J Dilliard1006Spain2024-06-09
Jeanfrancois J Iturbide1007Russia2024-06-15
Faith R Nestle1008Italy2024-06-08
Sinclair U Kolmetz1009Australia2024-06-08
Clifford B Kusko1010United Kingdom2024-06-03
Darci E Perin1011Japan2024-06-04
Kadeem I Oldroyd1012India2024-06-21
Clifford I Bowley1013Italy2024-06-11
Rodrigues D Nestle1014Spain2024-06-12
Ashley G Amigon1015India2024-06-16
Juan A Figeroa1016Argentina2024-06-21
Aika L Marrier1017Germany2024-06-03
Aruna Q Glick1018Australia2024-06-07
Wickens R Darakjy1019United Kingdom2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem T DilliardJapanBernardo Dominic PROPOSAL
Kadeem D CaudyGermanyOnyama Limba QUALIFIED
Maisha Z NestleIndiaAsiya Javayant UNQUALIFIED
Alejandro C SergiBrazilIoni Bowcher PROPOSAL
Francesco N WhobreySpainIoni Bowcher NEW
Munro B BologniaUnited KingdomElwin Sharvill PROPOSAL
Mujtaba U OldroydBrazilIoni Bowcher UNQUALIFIED
Johnson G NestleItalyStephen Shaw UNQUALIFIED
Darci G NestleUnited KingdomOnyama Limba PROPOSAL
Octavia K StockhamCanadaBernardo Dominic NEGOTIATION
Misaki G DarakjyRussiaAnna Fali NEGOTIATION
Chavez U SergiGermanyAsiya Javayant NEW
Juan J ShinkoSpainOnyama Limba NEW
James Y SlusarskiRussiaStephen Shaw NEGOTIATION
Ashley Z WaycottUnited KingdomIoni Bowcher PROPOSAL
Jefferson Z SergiAustraliaElwin Sharvill QUALIFIED
Chavez X WieserCanadaOnyama Limba QUALIFIED
Clifford S KuskoBrazilBernardo Dominic UNQUALIFIED
Johnson A MarrierUnited KingdomAnna Fali QUALIFIED
Faith P PoquetteAustraliaIoni Bowcher QUALIFIED
Izzy D SlusarskiCanadaIoni Bowcher PROPOSAL
Wickens X GarufiFranceIvan Magalhaes NEW
Rodrigues U DilliardFranceElwin Sharvill UNQUALIFIED
Isabel M FollerCanadaXuxue Feng PROPOSAL
Maisha K RoysterRussiaOnyama Limba UNQUALIFIED
Izzy V DoeJapanIvan Magalhaes PROPOSAL
Misaki G GillianArgentinaAsiya Javayant NEGOTIATION
Maria A SchemmerItalyIvan Magalhaes NEW
Clifford I InouyeCanadaAmy Elsner NEGOTIATION
Jones K BriddickIndiaAnna Fali QUALIFIED
Alejandro T InouyeSpainIoni Bowcher NEW
Stacey Z RimItalyOnyama Limba NEW
Juan O DarakjyCanadaStephen Shaw NEGOTIATION
Aditya X BriddickArgentinaElwin Sharvill NEGOTIATION
Rodrigues F WieserArgentinaOnyama Limba NEW
Misaki C OldroydBrazilElwin Sharvill PROPOSAL
Costa A FerenczGermanyBernardo Dominic PROPOSAL
Alejandro U OldroydItalyBernardo Dominic QUALIFIED
Kadeem V InouyeItalyOnyama Limba UNQUALIFIED
Costa G TollnerFranceIvan Magalhaes 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>