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
Emily E IturbideGermanyAmy Elsner UNQUALIFIED
Tony B SchemmerGermanyBernardo Dominic NEW
Jeanfrancois R GillianArgentinaOnyama Limba NEW
Adams M IturbideGermanyOnyama Limba QUALIFIED
Kaitlin Y FerenczJapanAmy Elsner RENEWAL
Morrow C DilliardArgentinaBernardo Dominic NEW
Aruna K OstroskyIndiaIoni Bowcher RENEWAL
Alejandro T RoysterFranceStephen Shaw NEGOTIATION
Morrow V ChuiAustraliaXuxue Feng UNQUALIFIED
Salvatore K CaudyItalyBernardo Dominic PROPOSAL
Aditya R VocelkaAustraliaAsiya Javayant UNQUALIFIED
Nicolas F DarakjyIndiaBernardo Dominic NEW
Salvatore B PaprockiFranceXuxue Feng NEGOTIATION
Greenwood O VocelkaSpainXuxue Feng RENEWAL
Leja T PaprockiCanadaBernardo Dominic NEW
Ricardo C CampainSpainIoni Bowcher RENEWAL
Isabel J AlbaresBrazilAmy Elsner UNQUALIFIED
Maisha R BriddickIndiaAmy Elsner NEGOTIATION
Cody V DarakjyCanadaAsiya Javayant QUALIFIED
Ivar V RulapaughFranceIvan Magalhaes PROPOSAL
Chavez O OldroydIndiaBernardo Dominic NEGOTIATION
Munro O ButtJapanXuxue Feng PROPOSAL
Alejandro Q MarrierArgentinaAsiya Javayant NEGOTIATION
Rodrigues A SaylorsSpainAmy Elsner UNQUALIFIED
Wickens M RimJapanBernardo Dominic NEW
Tony E TollnerBrazilBernardo Dominic RENEWAL
Arvin L PoquetteArgentinaIoni Bowcher NEGOTIATION
Jennifer S GarufiGermanyElwin Sharvill RENEWAL
Cody N CaudySpainXuxue Feng PROPOSAL
Isabel H FlosiUnited KingdomAnna Fali RENEWAL
Chavez N DilliardIndiaIvan Magalhaes RENEWAL
Antonio F WieserCanadaIoni Bowcher UNQUALIFIED
Ricardo T FerenczJapanAmy Elsner RENEWAL
Isabel L VenereItalyAsiya Javayant QUALIFIED
Kadeem P SergiGermanyStephen Shaw RENEWAL
Wickens S WhobreyItalyAsiya Javayant NEGOTIATION
Izzy U TollnerGermanyIvan Magalhaes NEW
Maria H FigeroaItalyElwin Sharvill QUALIFIED
Aruna D KuskoJapanElwin Sharvill PROPOSAL
Smith V KuskoRussiaAmy Elsner UNQUALIFIED
Sinclair T IturbideBrazilBernardo Dominic UNQUALIFIED
Leon D VenereSpainElwin Sharvill PROPOSAL
Maisha N ButtIndiaStephen Shaw NEW
Murillo J KolmetzJapanAsiya Javayant PROPOSAL
Tony Z OstroskyFranceAsiya Javayant RENEWAL
Murillo A BowleyIndiaElwin Sharvill UNQUALIFIED
David A MaletGermanyAnna Fali PROPOSAL
Antonio W CampainBrazilXuxue Feng RENEWAL
Mayumi O SchemmerCanadaOnyama Limba QUALIFIED
Maisha L RutaAustraliaOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Octavia X SaylorsIndiaOnyama Limba PROPOSAL
Munro K StockhamAustraliaAnna Fali UNQUALIFIED
David A RulapaughArgentinaIvan Magalhaes PROPOSAL
Arvin S WieserJapanIvan Magalhaes NEGOTIATION
Juan O DoeAustraliaStephen Shaw RENEWAL
Greenwood I DilliardFranceElwin Sharvill NEGOTIATION
Maisha W PaprockiBrazilIoni Bowcher QUALIFIED
Jefferson C PaprockiRussiaXuxue Feng QUALIFIED
Nicolas B MacleadArgentinaAnna Fali UNQUALIFIED
Nicolas E CaldareraFranceXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa P VenereRussia2024-05-12Chapman, Ross E Esq UNQUALIFIED99Bernardo Dominic
1001Costa Y RimItaly2024-05-19Printing Dimensions NEGOTIATION98Anna Fali
1002Darci A KolmetzSpain2024-05-21Rousseaux, Michael Esq RENEWAL55Xuxue Feng
1003Emily J FerenczFrance2024-05-25Chemel, James L Cpa QUALIFIED6Xuxue Feng
1004Silvio P TollnerCanada2024-05-29Dorl, James J Esq QUALIFIED78Anna Fali
1005Aika G DoeJapan2024-06-02Dorl, James J Esq UNQUALIFIED51Anna Fali
1006Aditya F PoquetteUnited Kingdom2024-06-06Chanay, Jeffrey A Esq NEGOTIATION62Asiya Javayant
1007Jennifer A MarrierSpain2024-05-29Printing Dimensions RENEWAL25Amy Elsner
1008Deepesh X PoquetteUnited Kingdom2024-06-07Benton, John B Jr RENEWAL25Onyama Limba
1009Morrow R RutaCanada2024-05-25Chemel, James L Cpa PROPOSAL84Anna Fali
1010Leon N TollnerUnited Kingdom2024-05-27King, Christopher A Esq RENEWAL38Anna Fali
1011Izzy V IturbideJapan2024-05-16Commercial Press NEW62Ioni Bowcher
1012Jones I FlosiAustralia2024-05-23Truhlar And Truhlar Attys UNQUALIFIED12Stephen Shaw
1013Ricardo C FlosiFrance2024-06-08Feltz Printing Service NEW92Elwin Sharvill
1014Misaki G WieserFrance2024-05-22Chapman, Ross E Esq QUALIFIED85Onyama Limba
1015Julie F FigeroaFrance2024-06-08Chemel, James L Cpa PROPOSAL86Onyama Limba
1016Kadeem X SlusarskiAustralia2024-05-14Benton, John B Jr NEGOTIATION16Asiya Javayant
1017Chavez D CaldareraItaly2024-05-19Dorl, James J Esq UNQUALIFIED19Amy Elsner
1018Murillo F AmigonUnited Kingdom2024-06-05Rangoni Of Florence NEW57Elwin Sharvill
1019Arvin J FlosiBrazil2024-05-14Buckley Miller Wright NEW52Ivan Magalhaes
1020Jefferson T ChuiArgentina2024-06-01Feiner Bros PROPOSAL30Ivan Magalhaes
1021Sinclair U OstroskyAustralia2024-05-27Chapman, Ross E Esq RENEWAL78Ivan Magalhaes
1022Darci B CaudyFrance2024-05-10King, Christopher A Esq UNQUALIFIED48Stephen Shaw
1023Silvio F GarufiGermany2024-05-10Truhlar And Truhlar Attys UNQUALIFIED57Ivan Magalhaes
1024Deepesh U DilliardFrance2024-05-15King, Christopher A Esq PROPOSAL16Anna Fali
1025Faith O RoysterAustralia2024-05-19Buckley Miller Wright NEGOTIATION0Asiya Javayant
1026Juan T BriddickRussia2024-05-11Chanay, Jeffrey A Esq NEW99Ioni Bowcher
1027Jennifer L AmigonSpain2024-05-10Truhlar And Truhlar Attys NEGOTIATION16Xuxue Feng
1028Leja P GauchoRussia2024-05-16Dorl, James J Esq RENEWAL69Anna Fali
1029Arvin D PoquetteSpain2024-05-24Benton, John B Jr PROPOSAL87Amy Elsner
1030Emily L NickaItaly2024-06-08King, Christopher A Esq PROPOSAL89Ioni Bowcher
1031Misaki N MarrierIndia2024-05-12Benton, John B Jr NEGOTIATION16Bernardo Dominic
1032Izzy I KolmetzFrance2024-05-12Chapman, Ross E Esq NEW68Bernardo Dominic
1033Antonio S MaletJapan2024-05-21Feiner Bros RENEWAL14Bernardo Dominic
1034Costa D NestleItaly2024-05-28Chapman, Ross E Esq PROPOSAL87Amy Elsner
1035Wickens K RimGermany2024-05-11Printing Dimensions PROPOSAL16Anna Fali
1036Mujtaba G AlbaresSpain2024-06-02Truhlar And Truhlar Attys UNQUALIFIED99Stephen Shaw
1037Murillo L PoquetteAustralia2024-06-01Rangoni Of Florence NEW0Ioni Bowcher
1038Stacey L ChuiRussia2024-05-14Dorl, James J Esq NEGOTIATION98Ioni Bowcher
1039Leja C ShinkoFrance2024-05-17Rangoni Of Florence NEGOTIATION67Ioni Bowcher
1040Maria W SaylorsIndia2024-05-19Buckley Miller Wright RENEWAL86Onyama Limba
1041Morrow N CaudyArgentina2024-05-14Rangoni Of Florence NEGOTIATION27Xuxue Feng
1042Mujtaba Z WaycottFrance2024-05-29Morlong Associates QUALIFIED39Ivan Magalhaes
1043Octavia O SergiGermany2024-05-18Buckley Miller Wright QUALIFIED5Ioni Bowcher
1044Antonio X BowleyGermany2024-06-05Truhlar And Truhlar Attys PROPOSAL41Ivan Magalhaes
1045Claire N GillianBrazil2024-05-22Buckley Miller Wright UNQUALIFIED74Stephen Shaw
1046Sinclair V ChuiArgentina2024-06-07Chapman, Ross E Esq NEGOTIATION98Ivan Magalhaes
1047Misaki M OldroydSpain2024-05-12Truhlar And Truhlar Attys PROPOSAL78Bernardo Dominic
1048Juan Q WhobreyArgentina2024-05-13Dorl, James J Esq RENEWAL35Anna Fali
1049Aditya B ChuiArgentina2024-06-07Buckley Miller Wright RENEWAL10Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Ashley N ChuiCanadaAsiya Javayant NEGOTIATION
Arvin T MaletItalyStephen Shaw QUALIFIED
Johnson H RutaRussiaBernardo Dominic PROPOSAL
Leja Y FlosiIndiaStephen Shaw QUALIFIED
Leja B RutaItalyIoni Bowcher NEGOTIATION
David K CampainCanadaElwin Sharvill PROPOSAL
Sinclair N GlickItalyIvan Magalhaes PROPOSAL
Morrow S KolmetzSpainXuxue Feng PROPOSAL
Smith V FollerItalyXuxue Feng NEW
Jennifer X RoysterSpainAnna Fali NEGOTIATION
Octavia R MarrierRussiaIvan Magalhaes PROPOSAL
Claire T ShinkoBrazilAmy Elsner QUALIFIED
Juan C StockhamGermanyBernardo Dominic QUALIFIED
Jennifer J GillianIndiaElwin Sharvill RENEWAL
Isabel B FlosiBrazilBernardo Dominic PROPOSAL
Nicolas T RoysterBrazilIvan Magalhaes PROPOSAL
Greenwood O MarrierUnited KingdomBernardo Dominic NEGOTIATION
Jeanfrancois P VenereArgentinaAnna Fali UNQUALIFIED
Francesco N InouyeCanadaIvan Magalhaes UNQUALIFIED
Ricardo H PaprockiCanadaAnna Fali NEW
Antonio Q BriddickRussiaXuxue Feng NEGOTIATION
Rodrigues U BologniaItalyBernardo Dominic RENEWAL
Sinclair J ButtArgentinaAsiya Javayant PROPOSAL
Kaitlin R SergiBrazilBernardo Dominic PROPOSAL
Kaitlin O AlbaresUnited KingdomOnyama Limba PROPOSAL
Emily G WhobreyArgentinaIvan Magalhaes NEW
Misaki U PaprockiFranceIoni Bowcher PROPOSAL
Leon A DarakjyBrazilIvan Magalhaes UNQUALIFIED
Jennifer M OldroydJapanXuxue Feng NEW
Johnson W FigeroaAustraliaBernardo Dominic RENEWAL
Tony W BologniaGermanyElwin Sharvill RENEWAL
David Z WhobreyItalyIoni Bowcher PROPOSAL
Juan N ChuiIndiaIoni Bowcher PROPOSAL
Arvin V MacleadItalyAnna Fali PROPOSAL
Alejandro N TollnerBrazilElwin Sharvill UNQUALIFIED
Adams O GlickUnited KingdomStephen Shaw RENEWAL
Jeanfrancois H SergiBrazilAsiya Javayant UNQUALIFIED
Rodrigues G MarrierCanadaElwin Sharvill UNQUALIFIED
Aruna E RulapaughAustraliaXuxue Feng QUALIFIED
Ivar J PaprockiRussiaAnna Fali NEW
Emily P MorascaAustraliaStephen Shaw QUALIFIED
Johnson Q MarrierFranceIoni Bowcher QUALIFIED
Aditya F WhobreyBrazilAmy Elsner UNQUALIFIED
Jones B FerenczJapanAnna Fali QUALIFIED
Kaitlin A MorascaUnited KingdomAsiya Javayant UNQUALIFIED
Misaki E SergiUnited KingdomAmy Elsner QUALIFIED
Deepesh L AlbaresUnited KingdomAnna Fali QUALIFIED
Nicolas F ButtFranceAnna Fali RENEWAL
Sinclair B DarakjySpainBernardo Dominic RENEWAL
Salvatore F InouyeGermanyElwin Sharvill PROPOSAL
Frozen Columns
Name
Mayumi B Tollner
Cody R Figeroa
Silvio U Ruta
Juan E Kolmetz
Mayumi M Caldarera
Aika V Chui
Ashley E Malet
Cody W Doe
Smith C Schemmer
Costa X Rim
Munro O Nestle
Silvio U Bolognia
Sinclair K Iturbide
Jones I Nestle
Aruna E Figeroa
Aditya Y Bowley
Chavez Y Sergi
Stacey P Rulapaugh
Jeanfrancois V Glick
Rodrigues L Albares
Rodrigues H Malet
Ashley V Stockham
David E Stenseth
Claire F Albares
Maisha I Briddick
Smith U Shinko
Isabel P Shinko
Octavia U Garufi
Alejandro C Garufi
Emily S Gaucho
Ashley Y Nicka
Aditya L Vocelka
Faith Y Rim
Jennifer Z Slusarski
Tony V Ruta
Jennifer W Poquette
Aruna Z Ferencz
Kaitlin V Morasca
Emily L Campain
Jefferson W Kusko
Stacey A Doe
Johnson O Bowley
Ashley O Shinko
Munro X Garufi
Cody Y Schemmer
Arvin Q Gillian
Aruna O Rim
Adams Z Maclead
Ricardo E Tollner
Mayumi H Shinko
IdCountryDate
1000Italy2024-05-12
1001Canada2024-06-02
1002Australia2024-06-08
1003United Kingdom2024-05-10
1004Argentina2024-05-26
1005Australia2024-05-17
1006Italy2024-05-23
1007Japan2024-06-05
1008Germany2024-06-06
1009Russia2024-06-05
1010United Kingdom2024-05-15
1011France2024-05-21
1012France2024-06-05
1013Canada2024-05-22
1014France2024-05-29
1015United Kingdom2024-05-22
1016Brazil2024-05-21
1017Australia2024-05-16
1018Canada2024-05-17
1019Russia2024-05-20
1020Russia2024-05-24
1021France2024-05-29
1022Japan2024-05-31
1023United Kingdom2024-05-14
1024Argentina2024-05-23
1025Japan2024-05-17
1026United Kingdom2024-05-24
1027Spain2024-05-16
1028Australia2024-05-16
1029Japan2024-06-01
1030Brazil2024-05-12
1031Japan2024-05-21
1032Brazil2024-05-31
1033France2024-05-31
1034Australia2024-05-19
1035Brazil2024-06-07
1036Argentina2024-06-01
1037Brazil2024-05-21
1038Japan2024-05-14
1039Brazil2024-05-25
1040Spain2024-05-26
1041Argentina2024-05-17
1042Canada2024-06-05
1043Brazil2024-06-01
1044Japan2024-05-24
1045United Kingdom2024-05-26
1046Argentina2024-05-22
1047Spain2024-06-02
1048Italy2024-05-21
1049Russia2024-05-21

On-Demand Data

NameIdCountryDate
Julie A Paprocki1000France2024-06-05
Sinclair D Slusarski1001Australia2024-05-24
Smith E Figeroa1002Germany2024-06-02
Costa C Kolmetz1003India2024-06-01
Costa B Dilliard1004United Kingdom2024-06-06
Darci U Maclead1005Brazil2024-06-08
Emily A Royster1006Russia2024-05-17
Antonio R Briddick1007Argentina2024-05-24
Silvio U Bolognia1008Italy2024-05-15
Aika H Flosi1009Argentina2024-05-21
Smith V Slusarski1010Germany2024-05-26
Smith P Gillian1011Germany2024-05-16
Emily Y Gaucho1012Russia2024-05-28
Julie H Campain1013United Kingdom2024-06-07
Munro A Slusarski1014Australia2024-05-15
Ivar H Dilliard1015Italy2024-06-07
Octavia B Ruta1016India2024-05-23
Jones J Paprocki1017Russia2024-05-10
Smith P Kolmetz1018Italy2024-06-04
Stacey E Vocelka1019Japan2024-05-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer V RulapaughJapanIoni Bowcher QUALIFIED
Ricardo F StensethGermanyAmy Elsner QUALIFIED
Izzy G BowleyItalyElwin Sharvill PROPOSAL
Maria F TollnerRussiaStephen Shaw UNQUALIFIED
Aruna Y MacleadIndiaXuxue Feng UNQUALIFIED
Costa L FigeroaArgentinaBernardo Dominic PROPOSAL
Izzy O GillianRussiaAnna Fali NEGOTIATION
Faith G OldroydUnited KingdomElwin Sharvill NEW
Salvatore Q CaldareraUnited KingdomAnna Fali NEGOTIATION
Izzy T ChuiGermanyAmy Elsner UNQUALIFIED
Antonio R MarrierAustraliaElwin Sharvill RENEWAL
Adams K WaycottIndiaElwin Sharvill NEGOTIATION
Maria W IturbideGermanyElwin Sharvill RENEWAL
Claire G ButtArgentinaAmy Elsner PROPOSAL
Silvio I CampainRussiaAsiya Javayant QUALIFIED
Munro C RoysterUnited KingdomStephen Shaw UNQUALIFIED
Faith P SlusarskiCanadaIvan Magalhaes NEW
Misaki J DilliardUnited KingdomElwin Sharvill PROPOSAL
Cody V GillianSpainBernardo Dominic PROPOSAL
Emily D BowleyAustraliaXuxue Feng NEGOTIATION
Jones R AlbaresAustraliaElwin Sharvill NEGOTIATION
Aditya D WaycottJapanOnyama Limba RENEWAL
Ashley J InouyeUnited KingdomAnna Fali PROPOSAL
Kadeem W RoysterItalyBernardo Dominic NEW
Silvio R CampainFranceXuxue Feng NEGOTIATION
Maria G RulapaughCanadaIoni Bowcher QUALIFIED
Silvio I GillianBrazilOnyama Limba RENEWAL
Johnson V SlusarskiArgentinaAsiya Javayant PROPOSAL
Cody D GillianRussiaAsiya Javayant NEGOTIATION
Wickens B PoquetteAustraliaXuxue Feng QUALIFIED
Jeanfrancois U InouyeArgentinaStephen Shaw UNQUALIFIED
Alejandro N CampainArgentinaOnyama Limba NEW
Faith X GauchoFranceIoni Bowcher NEGOTIATION
Tony L ShinkoCanadaOnyama Limba RENEWAL
Rodrigues L KolmetzUnited KingdomAsiya Javayant RENEWAL
Murillo X WieserRussiaStephen Shaw NEW
Jennifer C RulapaughItalyBernardo Dominic NEW
Smith I BowleyArgentinaAnna Fali QUALIFIED
Claire A WaycottJapanAsiya Javayant NEGOTIATION
Aruna A NestleGermanyXuxue Feng UNQUALIFIED

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