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
Mayumi E FlosiGermanyElwin Sharvill UNQUALIFIED
Deepesh X NestleIndiaAsiya Javayant NEGOTIATION
Adams Y MaletBrazilElwin Sharvill RENEWAL
Kaitlin L MorascaFranceAsiya Javayant PROPOSAL
Leon U AmigonSpainBernardo Dominic UNQUALIFIED
Salvatore A SaylorsCanadaStephen Shaw QUALIFIED
Murillo Q SergiRussiaAsiya Javayant QUALIFIED
Sinclair T WaycottAustraliaAmy Elsner PROPOSAL
Aruna V ChuiGermanyXuxue Feng PROPOSAL
James B ChuiItalyAmy Elsner UNQUALIFIED
Sinclair D GarufiSpainAsiya Javayant NEGOTIATION
Ashley Y StensethFranceOnyama Limba NEGOTIATION
Jones Y RoysterSpainAnna Fali QUALIFIED
Darci U SchemmerIndiaAnna Fali PROPOSAL
Morrow O DarakjyItalyIvan Magalhaes RENEWAL
Kaitlin Y ShinkoSpainAsiya Javayant UNQUALIFIED
Sinclair P SaylorsFranceAmy Elsner RENEWAL
Nicolas M BriddickIndiaElwin Sharvill UNQUALIFIED
Adams T KuskoFranceAnna Fali RENEWAL
Arvin H SergiIndiaBernardo Dominic UNQUALIFIED
Tony Q PaprockiBrazilElwin Sharvill QUALIFIED
Clifford C AlbaresCanadaIvan Magalhaes QUALIFIED
Kadeem N MaletArgentinaElwin Sharvill NEGOTIATION
Kaitlin N MaletAustraliaIvan Magalhaes NEGOTIATION
Ashley E NestleArgentinaElwin Sharvill UNQUALIFIED
Jennifer Q DarakjyJapanStephen Shaw RENEWAL
Leja U GauchoFranceIoni Bowcher PROPOSAL
Greenwood N ChuiAustraliaIvan Magalhaes UNQUALIFIED
Tony J CaudyAustraliaBernardo Dominic PROPOSAL
Munro P OldroydRussiaIvan Magalhaes UNQUALIFIED
Salvatore X SchemmerSpainIoni Bowcher PROPOSAL
Faith B SchemmerGermanyStephen Shaw NEW
Kadeem E KolmetzUnited KingdomAsiya Javayant NEGOTIATION
Maisha S IturbideFranceBernardo Dominic RENEWAL
Darci T SchemmerUnited KingdomAsiya Javayant PROPOSAL
Morrow S WieserItalyStephen Shaw UNQUALIFIED
Francesco H WieserUnited KingdomElwin Sharvill QUALIFIED
Francesco S NickaArgentinaElwin Sharvill RENEWAL
Cody I StensethCanadaOnyama Limba RENEWAL
Cody U AmigonCanadaIoni Bowcher NEW
Faith D FigeroaItalyElwin Sharvill UNQUALIFIED
Greenwood S FlosiArgentinaXuxue Feng UNQUALIFIED
Salvatore N FigeroaAustraliaIvan Magalhaes NEW
Isabel A FerenczJapanStephen Shaw UNQUALIFIED
Arvin C KuskoGermanyOnyama Limba QUALIFIED
Smith G MacleadSpainAsiya Javayant PROPOSAL
Leja Y ButtJapanBernardo Dominic NEGOTIATION
Stacey P MaletIndiaOnyama Limba UNQUALIFIED
Leon O GillianBrazilAnna Fali NEW
Clifford P SergiIndiaIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aruna D FerenczArgentinaXuxue Feng RENEWAL
Claire J CaldareraArgentinaAnna Fali UNQUALIFIED
Leon G StensethRussiaIvan Magalhaes UNQUALIFIED
Ricardo W AmigonUnited KingdomOnyama Limba NEGOTIATION
Jeanfrancois Y DilliardUnited KingdomIvan Magalhaes NEW
Kaitlin D StockhamArgentinaOnyama Limba NEW
Faith R AlbaresArgentinaOnyama Limba QUALIFIED
Chavez O StockhamBrazilBernardo Dominic QUALIFIED
Isabel F NestleGermanyAnna Fali QUALIFIED
Alejandro Y InouyeJapanAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James M FerenczItaly2024-05-16Rangoni Of Florence PROPOSAL29Onyama Limba
1001Julie G AlbaresItaly2024-05-20Chapman, Ross E Esq QUALIFIED44Onyama Limba
1002Johnson S MaletRussia2024-06-05Buckley Miller Wright UNQUALIFIED90Asiya Javayant
1003Jeanfrancois Q FlosiFrance2024-05-25Chemel, James L Cpa QUALIFIED79Xuxue Feng
1004Jeanfrancois M PerinGermany2024-05-31Benton, John B Jr NEGOTIATION13Ivan Magalhaes
1005Jefferson P AmigonGermany2024-06-08Printing Dimensions RENEWAL73Ioni Bowcher
1006Ivar K MaletBrazil2024-06-06Chemel, James L Cpa RENEWAL45Ivan Magalhaes
1007Johnson F CampainIndia2024-06-14Rangoni Of Florence PROPOSAL23Elwin Sharvill
1008Faith A RulapaughArgentina2024-06-07Rangoni Of Florence NEW77Onyama Limba
1009Arvin U FigeroaItaly2024-06-10Printing Dimensions UNQUALIFIED77Bernardo Dominic
1010Deepesh M GillianUnited Kingdom2024-05-26Feltz Printing Service RENEWAL7Ivan Magalhaes
1011Octavia I DilliardIndia2024-05-24Rangoni Of Florence UNQUALIFIED11Xuxue Feng
1012Sinclair W SchemmerJapan2024-05-29Feltz Printing Service NEW71Amy Elsner
1013Darci U FigeroaGermany2024-05-30Truhlar And Truhlar Attys PROPOSAL66Elwin Sharvill
1014Salvatore Z KuskoCanada2024-05-28Printing Dimensions UNQUALIFIED62Ivan Magalhaes
1015Ivar U SergiIndia2024-05-27Commercial Press UNQUALIFIED69Xuxue Feng
1016Silvio S RutaArgentina2024-05-27Rangoni Of Florence QUALIFIED77Ioni Bowcher
1017Mujtaba K OstroskyAustralia2024-05-27Chemel, James L Cpa PROPOSAL94Bernardo Dominic
1018Cody T GlickItaly2024-05-29Benton, John B Jr RENEWAL19Elwin Sharvill
1019Faith G MarrierArgentina2024-06-02Dorl, James J Esq NEW29Asiya Javayant
1020Ashley I SchemmerJapan2024-05-17Chemel, James L Cpa UNQUALIFIED89Ivan Magalhaes
1021Francesco C TollnerArgentina2024-05-17King, Christopher A Esq NEGOTIATION80Bernardo Dominic
1022Kaitlin Y NestleRussia2024-05-16Printing Dimensions NEW65Amy Elsner
1023Deepesh V OstroskySpain2024-05-21Chemel, James L Cpa UNQUALIFIED84Onyama Limba
1024Emily Y OstroskyItaly2024-05-29Benton, John B Jr NEGOTIATION68Xuxue Feng
1025Jeanfrancois W WhobreyArgentina2024-05-31Commercial Press PROPOSAL71Anna Fali
1026Izzy T NickaItaly2024-06-09Chemel, James L Cpa UNQUALIFIED68Xuxue Feng
1027Murillo C RulapaughSpain2024-05-24Morlong Associates PROPOSAL93Bernardo Dominic
1028Aruna E WaycottBrazil2024-06-14Chapman, Ross E Esq NEGOTIATION34Onyama Limba
1029Morrow E KuskoSpain2024-05-25Rangoni Of Florence UNQUALIFIED4Ioni Bowcher
1030Nicolas K MaletBrazil2024-06-08Chemel, James L Cpa NEW68Xuxue Feng
1031Julie J ChuiArgentina2024-05-19Feiner Bros RENEWAL21Stephen Shaw
1032Octavia Q GlickAustralia2024-06-12Rousseaux, Michael Esq UNQUALIFIED62Onyama Limba
1033Deepesh R NickaCanada2024-06-01Commercial Press PROPOSAL4Ivan Magalhaes
1034Octavia E SergiFrance2024-05-21Chanay, Jeffrey A Esq UNQUALIFIED8Bernardo Dominic
1035Francesco W FigeroaItaly2024-06-10Printing Dimensions QUALIFIED16Anna Fali
1036Emily G PoquetteGermany2024-05-23Rangoni Of Florence NEW86Asiya Javayant
1037Murillo B ButtArgentina2024-05-27Rangoni Of Florence UNQUALIFIED41Bernardo Dominic
1038Octavia B DoeRussia2024-06-06Chapman, Ross E Esq QUALIFIED71Bernardo Dominic
1039Jones T MaletFrance2024-05-23Buckley Miller Wright NEGOTIATION64Amy Elsner
1040Wickens G FlosiIndia2024-05-21Morlong Associates QUALIFIED59Ivan Magalhaes
1041Clifford H WhobreyUnited Kingdom2024-06-02Truhlar And Truhlar Attys PROPOSAL38Xuxue Feng
1042Emily B CampainItaly2024-05-27Chanay, Jeffrey A Esq NEGOTIATION62Onyama Limba
1043Octavia T TollnerItaly2024-06-14Chanay, Jeffrey A Esq PROPOSAL43Anna Fali
1044Juan R WieserArgentina2024-06-03Buckley Miller Wright NEW69Ivan Magalhaes
1045Ricardo O MaletItaly2024-06-13Printing Dimensions UNQUALIFIED1Amy Elsner
1046Kaitlin F CaudyArgentina2024-06-14Buckley Miller Wright QUALIFIED56Ioni Bowcher
1047Mujtaba A TollnerItaly2024-05-27Chapman, Ross E Esq RENEWAL8Anna Fali
1048Munro M CaudyIndia2024-06-01Benton, John B Jr PROPOSAL61Anna Fali
1049Octavia W BriddickBrazil2024-05-24Chemel, James L Cpa RENEWAL99Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Julie K NickaRussiaAnna Fali UNQUALIFIED
Aditya X OldroydAustraliaStephen Shaw RENEWAL
Emily U SaylorsIndiaIvan Magalhaes PROPOSAL
Julie R ChuiItalyXuxue Feng QUALIFIED
Silvio U KuskoAustraliaIoni Bowcher PROPOSAL
Leon E CaudyArgentinaXuxue Feng NEGOTIATION
Munro E KuskoJapanIoni Bowcher PROPOSAL
Salvatore U PoquetteIndiaElwin Sharvill UNQUALIFIED
Kadeem S CampainBrazilStephen Shaw PROPOSAL
Sinclair V CaldareraAustraliaIvan Magalhaes PROPOSAL
Silvio G InouyeJapanAmy Elsner RENEWAL
Jennifer U NestleSpainOnyama Limba UNQUALIFIED
Ricardo N IturbideArgentinaElwin Sharvill PROPOSAL
Leja L RimIndiaIoni Bowcher NEGOTIATION
Jeanfrancois Q KolmetzIndiaIvan Magalhaes UNQUALIFIED
Ashley Y OldroydSpainAmy Elsner UNQUALIFIED
Antonio S GillianCanadaOnyama Limba PROPOSAL
Jeanfrancois L GlickGermanyBernardo Dominic UNQUALIFIED
Maria S MarrierGermanyBernardo Dominic UNQUALIFIED
Costa A PoquetteSpainXuxue Feng NEGOTIATION
James M CaldareraRussiaElwin Sharvill NEGOTIATION
Faith C MaletJapanStephen Shaw NEGOTIATION
Smith N TollnerSpainXuxue Feng NEW
Wickens W FollerGermanyStephen Shaw NEW
Sinclair Z FerenczSpainBernardo Dominic UNQUALIFIED
Arvin U StensethUnited KingdomXuxue Feng UNQUALIFIED
Greenwood V GillianGermanyOnyama Limba UNQUALIFIED
Darci R RoysterFranceAnna Fali RENEWAL
Johnson Q OldroydAustraliaElwin Sharvill PROPOSAL
Claire L SlusarskiBrazilAsiya Javayant QUALIFIED
Sinclair Y SchemmerArgentinaXuxue Feng PROPOSAL
Deepesh V SaylorsAustraliaBernardo Dominic PROPOSAL
Francesco A PaprockiRussiaIvan Magalhaes NEW
Aruna J MaletIndiaElwin Sharvill UNQUALIFIED
Mayumi F MorascaJapanAnna Fali NEW
Ashley N BriddickUnited KingdomAnna Fali NEGOTIATION
Mayumi H NestleIndiaIoni Bowcher NEW
Salvatore Z DarakjyGermanyIvan Magalhaes RENEWAL
Aditya K KuskoFranceIoni Bowcher QUALIFIED
Francesco F GauchoArgentinaAsiya Javayant NEW
Mayumi P KuskoIndiaAnna Fali NEW
Silvio H DilliardRussiaElwin Sharvill QUALIFIED
Octavia U MaletSpainStephen Shaw PROPOSAL
Julie M IturbideCanadaElwin Sharvill RENEWAL
Chavez E CaldareraAustraliaAsiya Javayant QUALIFIED
Alejandro K SaylorsJapanOnyama Limba NEGOTIATION
Leja R VocelkaIndiaIoni Bowcher NEW
Tony J GarufiBrazilAnna Fali PROPOSAL
Jennifer N RutaUnited KingdomAsiya Javayant NEGOTIATION
Kadeem K AmigonItalyElwin Sharvill PROPOSAL
Frozen Columns
Name
Wickens T Maclead
Johnson Q Ostrosky
Mujtaba K Schemmer
Misaki L Bowley
Wickens Q Bowley
Ashley H Maclead
Maisha O Wieser
Cody M Vocelka
Maria B Slusarski
Stacey D Rim
Arvin Z Briddick
Greenwood Z Vocelka
Isabel L Paprocki
Silvio S Malet
Jeanfrancois I Vocelka
Chavez F Butt
Maria N Kusko
Deepesh I Paprocki
Izzy B Rulapaugh
Maria W Bowley
Sinclair Z Oldroyd
Octavia Q Slusarski
Ivar J Bowley
Mujtaba D Ruta
Jefferson R Whobrey
Kaitlin K Perin
Mujtaba X Morasca
Morrow Z Albares
Maria X Rim
Maisha N Venere
Rodrigues O Gillian
Aditya C Tollner
Tony G Tollner
Izzy G Perin
David O Tollner
Morrow J Maclead
Misaki C Ferencz
Kaitlin O Inouye
David D Royster
Emily V Shinko
Maria P Caudy
Ricardo S Gaucho
Ashley D Kusko
David E Shinko
Emily B Venere
Silvio V Stenseth
Francesco Q Whobrey
Chavez Z Nestle
Aditya R Malet
Ashley V Poquette
IdCountryDate
1000India2024-05-25
1001Argentina2024-05-30
1002France2024-05-31
1003Russia2024-06-12
1004Germany2024-06-07
1005Argentina2024-06-03
1006Brazil2024-05-27
1007Italy2024-05-28
1008Argentina2024-05-19
1009Argentina2024-05-23
1010Spain2024-06-03
1011Germany2024-06-02
1012Italy2024-05-19
1013Canada2024-05-29
1014Germany2024-06-01
1015Australia2024-05-22
1016Argentina2024-06-08
1017Russia2024-06-06
1018United Kingdom2024-06-11
1019Canada2024-05-22
1020India2024-06-13
1021Argentina2024-06-07
1022France2024-05-29
1023Italy2024-05-31
1024Japan2024-06-13
1025Japan2024-05-26
1026Brazil2024-05-20
1027Italy2024-05-17
1028France2024-05-19
1029Italy2024-05-16
1030India2024-05-23
1031Italy2024-06-09
1032Brazil2024-06-05
1033United Kingdom2024-05-16
1034Brazil2024-06-10
1035Spain2024-05-16
1036Germany2024-05-27
1037Germany2024-06-12
1038Russia2024-05-29
1039Spain2024-05-26
1040Italy2024-05-26
1041Argentina2024-06-08
1042Italy2024-06-02
1043Italy2024-05-18
1044Brazil2024-05-28
1045Russia2024-06-06
1046France2024-05-24
1047Brazil2024-06-12
1048Germany2024-05-25
1049India2024-05-22

On-Demand Data

NameIdCountryDate
Jennifer C Morasca1000Italy2024-06-04
Octavia N Kolmetz1001Australia2024-05-30
Silvio M Malet1002Canada2024-06-08
Ashley D Poquette1003Japan2024-06-05
Jones S Ferencz1004India2024-05-17
Maria Z Garufi1005United Kingdom2024-05-20
Octavia F Bolognia1006Brazil2024-06-11
Mayumi M Nestle1007Russia2024-05-22
Octavia Z Gillian1008France2024-05-20
Silvio U Ferencz1009Australia2024-06-08
Aika P Stenseth1010United Kingdom2024-05-17
Aika C Vocelka1011Argentina2024-05-22
Johnson W Foller1012Canada2024-05-31
Julie G Figeroa1013Italy2024-05-22
Alejandro X Bolognia1014Australia2024-05-24
Costa K Marrier1015India2024-05-17
James A Gaucho1016Brazil2024-06-06
Jeanfrancois E Butt1017United Kingdom2024-05-29
Misaki T Wieser1018Spain2024-06-02
Tony Z Stenseth1019Germany2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow X MacleadGermanyStephen Shaw QUALIFIED
Aruna Q KolmetzRussiaIoni Bowcher RENEWAL
Nicolas Q MarrierAustraliaStephen Shaw QUALIFIED
Ivar X ShinkoFranceOnyama Limba NEGOTIATION
Francesco K AlbaresSpainAnna Fali QUALIFIED
Silvio B ButtUnited KingdomIoni Bowcher UNQUALIFIED
Ivar J PaprockiUnited KingdomIvan Magalhaes NEGOTIATION
Darci F MarrierIndiaAsiya Javayant PROPOSAL
Rodrigues I GlickGermanyIvan Magalhaes PROPOSAL
Jennifer M AlbaresRussiaOnyama Limba UNQUALIFIED
Isabel K OldroydRussiaAsiya Javayant PROPOSAL
Leja H DoeGermanyAsiya Javayant QUALIFIED
Deepesh Y CaudyJapanAnna Fali RENEWAL
Ashley L SlusarskiJapanBernardo Dominic PROPOSAL
James F ShinkoIndiaBernardo Dominic QUALIFIED
Silvio N GarufiGermanyAmy Elsner PROPOSAL
Nicolas A MaletAustraliaAnna Fali UNQUALIFIED
Maria X SaylorsUnited KingdomIvan Magalhaes NEGOTIATION
Jefferson Q PoquetteAustraliaIoni Bowcher UNQUALIFIED
Jefferson V ShinkoAustraliaElwin Sharvill RENEWAL
Jennifer J RutaAustraliaOnyama Limba UNQUALIFIED
Jefferson O KolmetzUnited KingdomXuxue Feng QUALIFIED
Faith B BowleyRussiaAsiya Javayant PROPOSAL
Clifford W AmigonJapanAsiya Javayant PROPOSAL
Tony G SergiFranceBernardo Dominic PROPOSAL
David Y CaudyRussiaStephen Shaw NEW
Nicolas G GillianBrazilIvan Magalhaes NEW
Chavez I FlosiItalyIoni Bowcher PROPOSAL
Alejandro T RutaArgentinaAmy Elsner UNQUALIFIED
Jefferson N KuskoAustraliaStephen Shaw UNQUALIFIED
Deepesh X CaldareraFranceBernardo Dominic UNQUALIFIED
Stacey A SchemmerSpainIoni Bowcher NEW
Costa W ChuiJapanStephen Shaw NEW
Sinclair Q WieserRussiaXuxue Feng UNQUALIFIED
Claire B OstroskyRussiaAmy Elsner NEGOTIATION
Aditya G VocelkaBrazilAnna Fali QUALIFIED
Sinclair W FerenczRussiaAsiya Javayant UNQUALIFIED
Jeanfrancois B SlusarskiAustraliaElwin Sharvill UNQUALIFIED
Francesco F BriddickArgentinaAnna Fali RENEWAL
Juan J OldroydAustraliaIvan Magalhaes 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>