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
Arvin F RoysterUnited KingdomIoni Bowcher PROPOSAL
Aika Q DilliardArgentinaXuxue Feng RENEWAL
Emily W MarrierRussiaIvan Magalhaes NEW
Antonio T DilliardJapanIoni Bowcher UNQUALIFIED
Mayumi L WieserItalyAnna Fali QUALIFIED
Maria I ButtGermanyAsiya Javayant NEW
Clifford R SaylorsCanadaElwin Sharvill NEGOTIATION
Wickens J ShinkoAustraliaStephen Shaw PROPOSAL
Mujtaba O DilliardAustraliaStephen Shaw PROPOSAL
Mujtaba C MaletRussiaAsiya Javayant UNQUALIFIED
David A DilliardBrazilAmy Elsner UNQUALIFIED
Wickens H CaudyAustraliaAnna Fali QUALIFIED
Tony Z FollerRussiaStephen Shaw UNQUALIFIED
Kaitlin L GlickSpainAnna Fali QUALIFIED
Isabel P MarrierIndiaElwin Sharvill NEW
Salvatore H GlickAustraliaStephen Shaw UNQUALIFIED
Tony X ShinkoCanadaAmy Elsner NEW
Nicolas E ChuiGermanyAmy Elsner PROPOSAL
Mayumi N GillianFranceElwin Sharvill NEW
Mayumi W DarakjyJapanIvan Magalhaes RENEWAL
Nicolas P MaletIndiaIoni Bowcher PROPOSAL
Salvatore Q DilliardCanadaElwin Sharvill UNQUALIFIED
Claire P FlosiGermanyAnna Fali QUALIFIED
Emily T PoquetteSpainBernardo Dominic QUALIFIED
Octavia A RutaFranceStephen Shaw RENEWAL
Mayumi T KuskoItalyBernardo Dominic QUALIFIED
Clifford Z RoysterSpainElwin Sharvill NEW
Jefferson Y FigeroaItalyBernardo Dominic QUALIFIED
Faith Y RoysterCanadaAnna Fali QUALIFIED
Jennifer F TollnerFranceIoni Bowcher NEGOTIATION
Arvin M SaylorsFranceXuxue Feng NEW
Kadeem U CampainAustraliaAnna Fali NEGOTIATION
Maria Q FollerJapanAnna Fali UNQUALIFIED
Jefferson C PaprockiRussiaIoni Bowcher QUALIFIED
Isabel V WieserUnited KingdomOnyama Limba NEGOTIATION
Misaki R OstroskyBrazilAnna Fali RENEWAL
Arvin X CaldareraAustraliaIvan Magalhaes RENEWAL
Claire S BriddickIndiaIoni Bowcher PROPOSAL
Adams R ButtUnited KingdomAnna Fali UNQUALIFIED
Aruna Y RoysterArgentinaStephen Shaw UNQUALIFIED
Leja U BologniaItalyXuxue Feng RENEWAL
Tony H MorascaAustraliaStephen Shaw PROPOSAL
Mujtaba X BowleyFranceAnna Fali NEGOTIATION
Aditya V GlickRussiaAsiya Javayant QUALIFIED
Chavez J DarakjyFranceElwin Sharvill PROPOSAL
Munro O MorascaAustraliaStephen Shaw PROPOSAL
Smith J DoeUnited KingdomXuxue Feng RENEWAL
Silvio E AlbaresArgentinaAmy Elsner PROPOSAL
Salvatore Y KolmetzArgentinaAmy Elsner NEW
Cody L VenereFranceIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Kaitlin I WhobreyCanadaAmy Elsner NEGOTIATION
David L PerinGermanyIvan Magalhaes RENEWAL
Clifford N RutaItalyBernardo Dominic NEGOTIATION
Julie A BologniaGermanyAnna Fali UNQUALIFIED
Ricardo F VenereAustraliaAmy Elsner NEW
Jennifer B KolmetzRussiaIoni Bowcher NEGOTIATION
Misaki O IturbideArgentinaAmy Elsner NEGOTIATION
Faith T MarrierIndiaIoni Bowcher UNQUALIFIED
Jennifer L SaylorsUnited KingdomAmy Elsner UNQUALIFIED
Kaitlin Y BowleyUnited KingdomIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey U PoquetteBrazil2024-05-25Chanay, Jeffrey A Esq UNQUALIFIED76Xuxue Feng
1001Costa V FollerBrazil2024-06-17Printing Dimensions UNQUALIFIED37Onyama Limba
1002Aruna P NickaAustralia2024-06-16Chanay, Jeffrey A Esq UNQUALIFIED77Asiya Javayant
1003Munro E InouyeGermany2024-05-25Chapman, Ross E Esq PROPOSAL0Elwin Sharvill
1004Mujtaba M RoysterFrance2024-06-03Truhlar And Truhlar Attys NEW91Ioni Bowcher
1005Claire X ButtCanada2024-06-21Chapman, Ross E Esq NEW39Ivan Magalhaes
1006Mujtaba J InouyeArgentina2024-06-17Rousseaux, Michael Esq PROPOSAL46Amy Elsner
1007Sinclair Z MaletIndia2024-05-28Chapman, Ross E Esq QUALIFIED86Elwin Sharvill
1008Maisha G WaycottGermany2024-06-09Morlong Associates QUALIFIED70Xuxue Feng
1009Aruna I SaylorsFrance2024-06-03King, Christopher A Esq NEW20Ioni Bowcher
1010Leja O OldroydCanada2024-05-25Rangoni Of Florence UNQUALIFIED68Stephen Shaw
1011Salvatore T GauchoCanada2024-06-11Buckley Miller Wright NEGOTIATION11Onyama Limba
1012Ivar T NestleIndia2024-06-21Truhlar And Truhlar Attys QUALIFIED4Ioni Bowcher
1013Johnson T MaletSpain2024-06-16Benton, John B Jr NEGOTIATION10Stephen Shaw
1014Ivar Q FollerIndia2024-05-28Rangoni Of Florence NEW83Anna Fali
1015Wickens U AmigonBrazil2024-06-05Chemel, James L Cpa UNQUALIFIED25Amy Elsner
1016Antonio W ShinkoSpain2024-06-12Chemel, James L Cpa PROPOSAL15Onyama Limba
1017Emily O PoquetteRussia2024-06-22Chemel, James L Cpa UNQUALIFIED90Ivan Magalhaes
1018Costa W NickaRussia2024-06-10Dorl, James J Esq NEGOTIATION80Amy Elsner
1019Sinclair O DilliardItaly2024-06-03King, Christopher A Esq NEW34Ivan Magalhaes
1020Silvio N RutaItaly2024-06-04Dorl, James J Esq UNQUALIFIED82Elwin Sharvill
1021Aditya F GillianBrazil2024-05-31Benton, John B Jr UNQUALIFIED53Asiya Javayant
1022Izzy X MorascaGermany2024-05-26Rangoni Of Florence NEGOTIATION32Ivan Magalhaes
1023Jefferson Q FlosiRussia2024-06-16Feiner Bros NEGOTIATION84Xuxue Feng
1024Rodrigues M BowleyIndia2024-05-27Truhlar And Truhlar Attys UNQUALIFIED1Onyama Limba
1025Nicolas E VocelkaItaly2024-06-19Feiner Bros PROPOSAL28Bernardo Dominic
1026Antonio R RulapaughFrance2024-06-16Chapman, Ross E Esq RENEWAL55Xuxue Feng
1027James H RulapaughUnited Kingdom2024-06-04Rousseaux, Michael Esq QUALIFIED44Ivan Magalhaes
1028Morrow R WhobreyJapan2024-05-30Chemel, James L Cpa QUALIFIED66Anna Fali
1029Leon N PerinJapan2024-05-27Feltz Printing Service NEW57Bernardo Dominic
1030Ashley G FigeroaRussia2024-06-04Chanay, Jeffrey A Esq PROPOSAL83Elwin Sharvill
1031Juan M SlusarskiSpain2024-06-12Rangoni Of Florence QUALIFIED37Onyama Limba
1032James M GauchoCanada2024-06-06Benton, John B Jr QUALIFIED71Ivan Magalhaes
1033Octavia C GillianUnited Kingdom2024-06-07Chemel, James L Cpa PROPOSAL1Ivan Magalhaes
1034Francesco O OstroskyUnited Kingdom2024-06-22Benton, John B Jr PROPOSAL64Onyama Limba
1035Mujtaba X StensethAustralia2024-06-19Morlong Associates QUALIFIED18Onyama Limba
1036Nicolas Y MacleadAustralia2024-05-30Rousseaux, Michael Esq UNQUALIFIED18Asiya Javayant
1037David D DarakjyArgentina2024-06-14Commercial Press UNQUALIFIED15Stephen Shaw
1038Salvatore F SaylorsBrazil2024-06-03Feltz Printing Service RENEWAL16Asiya Javayant
1039Mayumi T RimJapan2024-05-30Commercial Press PROPOSAL11Anna Fali
1040Silvio S CaldareraIndia2024-06-18Chanay, Jeffrey A Esq RENEWAL41Bernardo Dominic
1041Deepesh D RulapaughSpain2024-05-24Morlong Associates QUALIFIED28Asiya Javayant
1042Jefferson K VocelkaAustralia2024-05-24Printing Dimensions UNQUALIFIED86Bernardo Dominic
1043Morrow Y RutaBrazil2024-06-15Feiner Bros RENEWAL5Onyama Limba
1044David M RutaIndia2024-06-11Dorl, James J Esq QUALIFIED24Asiya Javayant
1045Jones J FerenczArgentina2024-05-29Chapman, Ross E Esq NEGOTIATION12Ioni Bowcher
1046Deepesh A ChuiUnited Kingdom2024-05-27Chapman, Ross E Esq RENEWAL61Ivan Magalhaes
1047Izzy B OldroydCanada2024-06-11Benton, John B Jr RENEWAL80Bernardo Dominic
1048Smith I MorascaItaly2024-06-20Commercial Press RENEWAL70Ivan Magalhaes
1049Jones S FollerRussia2024-06-11Chemel, James L Cpa NEW50Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Francesco C SergiItalyAnna Fali PROPOSAL
David V GauchoAustraliaAsiya Javayant NEW
Morrow O SergiUnited KingdomOnyama Limba RENEWAL
Mayumi E CampainSpainBernardo Dominic UNQUALIFIED
Aditya W SergiCanadaElwin Sharvill RENEWAL
Adams X RulapaughFranceElwin Sharvill QUALIFIED
Jeanfrancois L MarrierAustraliaBernardo Dominic QUALIFIED
Ashley S MaletRussiaBernardo Dominic QUALIFIED
Aika C MaletCanadaIvan Magalhaes PROPOSAL
Leon S WaycottGermanyIoni Bowcher UNQUALIFIED
Costa L BriddickItalyStephen Shaw RENEWAL
Jeanfrancois H CampainGermanyIvan Magalhaes NEW
Silvio F PerinUnited KingdomXuxue Feng QUALIFIED
Jeanfrancois N GarufiIndiaIvan Magalhaes PROPOSAL
Salvatore Y ChuiGermanyStephen Shaw NEW
Salvatore P ChuiArgentinaStephen Shaw QUALIFIED
Faith V FigeroaFranceIoni Bowcher QUALIFIED
Mayumi G AmigonArgentinaBernardo Dominic UNQUALIFIED
James M PaprockiSpainAmy Elsner PROPOSAL
Murillo Z NestleGermanyBernardo Dominic UNQUALIFIED
Maria H MaletCanadaIvan Magalhaes PROPOSAL
Jennifer K ChuiJapanStephen Shaw NEW
Deepesh I RulapaughBrazilIoni Bowcher PROPOSAL
Arvin M RutaBrazilAmy Elsner UNQUALIFIED
Kadeem I FlosiCanadaAsiya Javayant NEW
Silvio J BologniaSpainIvan Magalhaes PROPOSAL
Smith B PaprockiCanadaBernardo Dominic NEGOTIATION
Wickens Z GauchoGermanyStephen Shaw NEW
Maisha B MaletBrazilStephen Shaw UNQUALIFIED
Misaki L VocelkaRussiaStephen Shaw NEGOTIATION
Jennifer C InouyeRussiaElwin Sharvill UNQUALIFIED
Kaitlin X NickaFranceAnna Fali RENEWAL
Silvio H KuskoItalyAsiya Javayant NEGOTIATION
Octavia N PoquetteJapanIoni Bowcher QUALIFIED
Costa N RutaBrazilBernardo Dominic PROPOSAL
Leja W RimCanadaIvan Magalhaes NEGOTIATION
Aika C RutaRussiaAmy Elsner RENEWAL
Munro O FerenczItalyStephen Shaw UNQUALIFIED
Tony Z OldroydBrazilOnyama Limba NEGOTIATION
Wickens W GlickAustraliaAmy Elsner NEGOTIATION
Cody C RutaArgentinaOnyama Limba PROPOSAL
Adams G SaylorsArgentinaAnna Fali NEW
Mujtaba T DilliardIndiaAnna Fali NEW
Isabel R SergiUnited KingdomXuxue Feng RENEWAL
Silvio Q ButtCanadaAnna Fali PROPOSAL
Mujtaba U KuskoUnited KingdomIvan Magalhaes UNQUALIFIED
Smith F FerenczBrazilStephen Shaw PROPOSAL
Greenwood O KuskoAustraliaIoni Bowcher UNQUALIFIED
Chavez Q PoquetteItalyStephen Shaw NEW
Jones C BologniaArgentinaIvan Magalhaes PROPOSAL
Frozen Columns
Name
Emily O Butt
Misaki B Chui
Ricardo N Vocelka
Mayumi U Stockham
Johnson M Darakjy
Faith R Doe
Silvio E Caldarera
Wickens F Malet
Sinclair L Dilliard
Kadeem F Dilliard
Leon E Malet
Arvin J Nestle
James S Amigon
Misaki O Whobrey
Leon B Briddick
Stacey E Rulapaugh
Misaki Z Bowley
Claire R Kusko
Octavia V Briddick
Jones I Schemmer
Ashley L Maclead
Faith F Vocelka
Greenwood G Bowley
Mayumi P Rim
Stacey U Wieser
James H Doe
Maria P Gaucho
Deepesh P Ruta
Tony G Garufi
Izzy F Glick
Aditya P Bolognia
David A Bowley
Isabel V Rulapaugh
Claire K Morasca
Morrow C Schemmer
Rodrigues C Gaucho
Salvatore B Paprocki
Jennifer K Whobrey
Emily Z Dilliard
Johnson M Royster
Jones Y Kolmetz
Smith O Inouye
Mujtaba V Rim
Ricardo M Darakjy
James Z Venere
Tony Z Bolognia
Juan C Gillian
Kaitlin B Ruta
Clifford S Butt
Stacey D Inouye
IdCountryDate
1000Argentina2024-05-27
1001Spain2024-06-18
1002France2024-05-25
1003Brazil2024-06-18
1004Spain2024-06-18
1005India2024-06-21
1006Japan2024-06-09
1007Russia2024-06-11
1008Spain2024-06-21
1009Japan2024-06-09
1010Spain2024-06-04
1011Argentina2024-05-27
1012Brazil2024-06-07
1013Italy2024-06-05
1014Japan2024-06-19
1015Germany2024-06-16
1016Spain2024-05-26
1017United Kingdom2024-05-29
1018Germany2024-06-01
1019Russia2024-06-14
1020United Kingdom2024-06-08
1021Spain2024-06-01
1022France2024-06-11
1023Brazil2024-06-22
1024Germany2024-05-27
1025Japan2024-06-09
1026Spain2024-06-20
1027Russia2024-06-12
1028United Kingdom2024-06-08
1029France2024-06-04
1030Argentina2024-06-17
1031India2024-06-08
1032Italy2024-06-09
1033Spain2024-06-05
1034Argentina2024-06-09
1035Argentina2024-06-17
1036Australia2024-05-27
1037Australia2024-06-06
1038Germany2024-06-10
1039Germany2024-06-08
1040France2024-05-25
1041Russia2024-05-26
1042Brazil2024-06-16
1043Italy2024-06-15
1044Italy2024-06-13
1045Spain2024-06-10
1046Russia2024-05-27
1047Canada2024-06-03
1048France2024-05-28
1049France2024-06-15

On-Demand Data

NameIdCountryDate
Mujtaba N Nicka1000Russia2024-05-27
Jeanfrancois K Stockham1001Spain2024-06-02
Antonio A Oldroyd1002Brazil2024-06-17
Leja K Wieser1003Argentina2024-06-05
Emily T Schemmer1004Australia2024-06-20
Octavia U Inouye1005India2024-06-16
Mayumi E Ruta1006India2024-06-04
Leon M Waycott1007Italy2024-06-10
Maisha Z Butt1008Japan2024-06-11
Chavez W Paprocki1009Brazil2024-06-10
Arvin Z Glick1010United Kingdom2024-06-14
Costa Q Gaucho1011Spain2024-06-04
Aruna L Royster1012United Kingdom2024-05-31
Juan B Caudy1013Brazil2024-06-08
Ivar I Kusko1014India2024-06-07
Julie G Caudy1015Argentina2024-06-11
Nicolas G Kusko1016Spain2024-06-08
Jennifer K Perin1017Japan2024-05-28
Greenwood X Iturbide1018France2024-06-05
Octavia A Dilliard1019Germany2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel R WaycottCanadaBernardo Dominic NEGOTIATION
Ivar I SchemmerCanadaElwin Sharvill UNQUALIFIED
Stacey F SergiRussiaXuxue Feng NEW
Johnson X SlusarskiJapanIoni Bowcher NEGOTIATION
Sinclair N OstroskyIndiaXuxue Feng PROPOSAL
Munro W IturbideJapanAsiya Javayant PROPOSAL
Murillo P GillianFranceElwin Sharvill PROPOSAL
Aditya M SchemmerSpainElwin Sharvill UNQUALIFIED
Ricardo F WaycottSpainIvan Magalhaes QUALIFIED
Jeanfrancois U BowleyRussiaStephen Shaw NEW
David G FigeroaIndiaStephen Shaw PROPOSAL
Deepesh H MaletGermanyIvan Magalhaes QUALIFIED
Aika D NestleRussiaIvan Magalhaes PROPOSAL
Mayumi N BowleyFranceAsiya Javayant NEW
Maisha J CaldareraGermanyIoni Bowcher QUALIFIED
Mujtaba E GauchoRussiaAsiya Javayant NEW
Leja M OstroskyGermanyIoni Bowcher QUALIFIED
Julie G MaletItalyIoni Bowcher UNQUALIFIED
Morrow A RimFranceIvan Magalhaes PROPOSAL
Cody Z WaycottFranceIvan Magalhaes UNQUALIFIED
Kadeem L AmigonIndiaIvan Magalhaes NEGOTIATION
Sinclair O PoquetteGermanyAsiya Javayant QUALIFIED
Maisha P KuskoAustraliaAnna Fali RENEWAL
Wickens I GillianFranceBernardo Dominic PROPOSAL
Francesco P CaudyBrazilAmy Elsner RENEWAL
Jones L PoquetteCanadaAsiya Javayant QUALIFIED
Silvio D RutaCanadaBernardo Dominic UNQUALIFIED
Murillo P MacleadIndiaAmy Elsner RENEWAL
Rodrigues P KolmetzUnited KingdomOnyama Limba NEW
Leja M TollnerUnited KingdomAsiya Javayant QUALIFIED
Sinclair P SlusarskiUnited KingdomStephen Shaw UNQUALIFIED
Jeanfrancois V CaldareraArgentinaAmy Elsner UNQUALIFIED
Costa I MacleadItalyBernardo Dominic RENEWAL
Jeanfrancois L KuskoAustraliaOnyama Limba UNQUALIFIED
Salvatore V IturbideRussiaIvan Magalhaes NEW
Cody X SaylorsUnited KingdomIoni Bowcher RENEWAL
Kadeem H AmigonIndiaOnyama Limba RENEWAL
Cody L NestleFranceXuxue Feng NEGOTIATION
Leon P FigeroaArgentinaBernardo Dominic QUALIFIED
Ashley O FollerFranceAnna Fali PROPOSAL

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