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
Morrow P VenereIndiaElwin Sharvill PROPOSAL
Nicolas L SaylorsAustraliaStephen Shaw NEGOTIATION
Mujtaba V MorascaFranceStephen Shaw UNQUALIFIED
Leja Z FigeroaAustraliaBernardo Dominic RENEWAL
Octavia X DoeIndiaElwin Sharvill UNQUALIFIED
Rodrigues T BriddickAustraliaStephen Shaw NEGOTIATION
Maisha U DilliardGermanyAnna Fali PROPOSAL
Clifford M PoquetteJapanAnna Fali NEGOTIATION
Aruna S ShinkoJapanXuxue Feng QUALIFIED
Tony O MarrierIndiaIoni Bowcher UNQUALIFIED
Kadeem P WaycottRussiaAsiya Javayant UNQUALIFIED
Isabel Q TollnerRussiaAsiya Javayant UNQUALIFIED
Salvatore G NestleItalyStephen Shaw NEGOTIATION
Morrow U CaudyJapanBernardo Dominic NEGOTIATION
Darci X ButtJapanXuxue Feng QUALIFIED
Tony Y MarrierBrazilOnyama Limba NEW
Francesco F GauchoSpainBernardo Dominic PROPOSAL
Ivar L IturbideCanadaElwin Sharvill PROPOSAL
Nicolas Z StensethSpainAsiya Javayant NEW
Alejandro X GarufiSpainBernardo Dominic PROPOSAL
Nicolas R PaprockiBrazilAnna Fali NEW
Juan Y FlosiArgentinaOnyama Limba PROPOSAL
David A StensethUnited KingdomIoni Bowcher NEW
Mayumi Z StensethIndiaIoni Bowcher NEW
Francesco M BowleyGermanyXuxue Feng UNQUALIFIED
Jennifer Q KuskoUnited KingdomIvan Magalhaes QUALIFIED
Maisha G AmigonArgentinaBernardo Dominic UNQUALIFIED
Izzy C NickaAustraliaAmy Elsner RENEWAL
Aika U RutaItalyOnyama Limba UNQUALIFIED
Johnson C BowleyCanadaAnna Fali PROPOSAL
Maisha R CampainAustraliaXuxue Feng QUALIFIED
Mujtaba K KuskoItalyAnna Fali NEGOTIATION
Leon Q PaprockiBrazilAmy Elsner QUALIFIED
Wickens F MaletAustraliaAnna Fali NEW
Nicolas U PerinArgentinaIvan Magalhaes PROPOSAL
Silvio A SchemmerUnited KingdomAnna Fali NEW
Johnson Y ChuiFranceStephen Shaw QUALIFIED
Ivar A AmigonIndiaOnyama Limba UNQUALIFIED
Morrow N CaldareraAustraliaIvan Magalhaes NEW
Sinclair G SaylorsJapanIoni Bowcher NEGOTIATION
Darci N ChuiAustraliaOnyama Limba UNQUALIFIED
Jefferson S GauchoAustraliaOnyama Limba UNQUALIFIED
Izzy O BowleyUnited KingdomAsiya Javayant NEGOTIATION
Leon I SchemmerGermanyXuxue Feng RENEWAL
Wickens L ButtGermanyStephen Shaw QUALIFIED
Jones D VocelkaGermanyIoni Bowcher NEW
Leon Z ChuiIndiaAmy Elsner QUALIFIED
Mujtaba Z OstroskyCanadaElwin Sharvill NEGOTIATION
Aruna J WhobreyRussiaAsiya Javayant QUALIFIED
Wickens U CampainRussiaElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Octavia B WieserItalyAsiya Javayant RENEWAL
Murillo I DarakjyFranceAnna Fali UNQUALIFIED
Stacey Y ShinkoArgentinaElwin Sharvill RENEWAL
Francesco M NickaSpainAnna Fali QUALIFIED
Jennifer L DarakjySpainIoni Bowcher RENEWAL
Mujtaba P SlusarskiFranceBernardo Dominic QUALIFIED
Wickens I SergiBrazilStephen Shaw NEW
Leja H ButtBrazilAnna Fali PROPOSAL
Cody A SchemmerRussiaAnna Fali QUALIFIED
Mujtaba C SergiAustraliaIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David I SchemmerBrazil2024-05-31Feltz Printing Service UNQUALIFIED24Bernardo Dominic
1001Julie G SaylorsSpain2024-06-11Chapman, Ross E Esq RENEWAL7Amy Elsner
1002Clifford T CaudyItaly2024-05-30Rousseaux, Michael Esq PROPOSAL85Ioni Bowcher
1003Leon P StensethUnited Kingdom2024-06-22Morlong Associates UNQUALIFIED92Asiya Javayant
1004Adams B FerenczIndia2024-06-15Feiner Bros NEW46Bernardo Dominic
1005David R ChuiJapan2024-05-25Buckley Miller Wright NEGOTIATION83Amy Elsner
1006Chavez X RulapaughCanada2024-06-05Morlong Associates PROPOSAL98Xuxue Feng
1007Ivar X DoeIndia2024-06-21Chanay, Jeffrey A Esq PROPOSAL63Ivan Magalhaes
1008Maria V MaletRussia2024-06-06Truhlar And Truhlar Attys NEGOTIATION29Ioni Bowcher
1009Mayumi F KuskoArgentina2024-05-25Dorl, James J Esq NEW31Amy Elsner
1010Aika B AlbaresItaly2024-06-12King, Christopher A Esq RENEWAL54Amy Elsner
1011Julie R SlusarskiJapan2024-05-24Buckley Miller Wright PROPOSAL67Asiya Javayant
1012Tony C MarrierItaly2024-05-24Chanay, Jeffrey A Esq RENEWAL0Stephen Shaw
1013Deepesh A RimFrance2024-06-16Chapman, Ross E Esq RENEWAL32Xuxue Feng
1014Stacey E AlbaresAustralia2024-05-27Buckley Miller Wright RENEWAL41Amy Elsner
1015Emily I OldroydCanada2024-06-20Feltz Printing Service NEW97Ioni Bowcher
1016Smith J ButtUnited Kingdom2024-06-07King, Christopher A Esq QUALIFIED99Stephen Shaw
1017Mayumi J StensethArgentina2024-06-01Truhlar And Truhlar Attys PROPOSAL64Onyama Limba
1018Tony W ChuiUnited Kingdom2024-05-29Printing Dimensions UNQUALIFIED14Ioni Bowcher
1019Jones G SlusarskiAustralia2024-06-11Feltz Printing Service NEW8Xuxue Feng
1020Kaitlin L WhobreyItaly2024-05-24Rousseaux, Michael Esq NEW52Elwin Sharvill
1021Arvin K MarrierFrance2024-06-22Truhlar And Truhlar Attys NEW17Onyama Limba
1022Misaki R NestleSpain2024-06-19Chemel, James L Cpa NEW60Stephen Shaw
1023Chavez D IturbideItaly2024-06-17Dorl, James J Esq NEW85Ivan Magalhaes
1024Kadeem K SergiSpain2024-05-26Commercial Press RENEWAL65Stephen Shaw
1025Wickens H OstroskySpain2024-06-13Chanay, Jeffrey A Esq QUALIFIED48Onyama Limba
1026Aditya A CampainGermany2024-06-12Feiner Bros RENEWAL46Elwin Sharvill
1027Murillo R PoquetteSpain2024-05-25Printing Dimensions NEGOTIATION67Elwin Sharvill
1028Aika T OldroydCanada2024-06-13Chapman, Ross E Esq NEGOTIATION58Stephen Shaw
1029Johnson J InouyeCanada2024-06-12King, Christopher A Esq PROPOSAL24Bernardo Dominic
1030Smith I KuskoFrance2024-06-10Truhlar And Truhlar Attys UNQUALIFIED5Ioni Bowcher
1031Alejandro W ChuiUnited Kingdom2024-06-09Rousseaux, Michael Esq NEGOTIATION32Stephen Shaw
1032Francesco B SaylorsGermany2024-06-17Printing Dimensions QUALIFIED71Stephen Shaw
1033Cody E CaudyUnited Kingdom2024-06-17King, Christopher A Esq NEW67Amy Elsner
1034Isabel N WieserItaly2024-06-07Morlong Associates NEW13Xuxue Feng
1035Misaki I OstroskyCanada2024-06-15Dorl, James J Esq RENEWAL40Elwin Sharvill
1036Francesco O GillianUnited Kingdom2024-06-22Chanay, Jeffrey A Esq QUALIFIED88Asiya Javayant
1037Johnson I InouyeAustralia2024-06-17Dorl, James J Esq UNQUALIFIED92Bernardo Dominic
1038Darci P NestleArgentina2024-06-22Dorl, James J Esq PROPOSAL38Ioni Bowcher
1039Adams E NestleAustralia2024-06-07Truhlar And Truhlar Attys NEGOTIATION70Anna Fali
1040Cody J WhobreyBrazil2024-06-16Chemel, James L Cpa NEW45Xuxue Feng
1041Sinclair I GlickIndia2024-05-26Rangoni Of Florence UNQUALIFIED16Asiya Javayant
1042Silvio Q IturbideItaly2024-06-12Morlong Associates UNQUALIFIED8Amy Elsner
1043Jennifer P FollerArgentina2024-05-30Buckley Miller Wright UNQUALIFIED76Asiya Javayant
1044Chavez N VocelkaJapan2024-06-04Commercial Press NEGOTIATION43Asiya Javayant
1045Aruna D RutaJapan2024-06-05Commercial Press RENEWAL82Onyama Limba
1046Faith D GarufiCanada2024-06-04Commercial Press NEW2Amy Elsner
1047Munro S ShinkoCanada2024-05-29Feltz Printing Service NEGOTIATION28Elwin Sharvill
1048Faith O RulapaughRussia2024-06-11Benton, John B Jr PROPOSAL38Stephen Shaw
1049Wickens C AlbaresBrazil2024-06-16Morlong Associates UNQUALIFIED67Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Aika L AlbaresJapanElwin Sharvill PROPOSAL
David Z KuskoUnited KingdomBernardo Dominic QUALIFIED
Morrow B WhobreyCanadaIoni Bowcher RENEWAL
Chavez T DilliardRussiaAsiya Javayant NEW
Adams G MarrierCanadaAsiya Javayant NEGOTIATION
Adams B InouyeRussiaXuxue Feng NEGOTIATION
Salvatore V MacleadSpainOnyama Limba NEW
Alejandro H MacleadJapanAnna Fali RENEWAL
Kaitlin T FollerJapanAnna Fali UNQUALIFIED
Julie N PaprockiRussiaElwin Sharvill NEW
Alejandro F ShinkoFranceAsiya Javayant UNQUALIFIED
Nicolas F InouyeItalyAnna Fali NEGOTIATION
David N PerinFranceAmy Elsner RENEWAL
Kaitlin E PaprockiRussiaAnna Fali UNQUALIFIED
Kaitlin O FerenczUnited KingdomStephen Shaw UNQUALIFIED
Jefferson L PoquetteCanadaXuxue Feng RENEWAL
Nicolas O BriddickFranceIoni Bowcher QUALIFIED
Nicolas T TollnerCanadaOnyama Limba PROPOSAL
Misaki S RulapaughRussiaXuxue Feng NEGOTIATION
Deepesh G GauchoJapanElwin Sharvill UNQUALIFIED
Isabel S GarufiFranceXuxue Feng RENEWAL
Claire M KuskoCanadaBernardo Dominic UNQUALIFIED
Greenwood E AmigonUnited KingdomIvan Magalhaes NEW
Mujtaba L AmigonItalyIoni Bowcher PROPOSAL
Alejandro J MacleadAustraliaAmy Elsner PROPOSAL
Octavia B TollnerRussiaElwin Sharvill UNQUALIFIED
Johnson V IturbideAustraliaStephen Shaw PROPOSAL
Aika Z MarrierUnited KingdomIoni Bowcher NEW
Nicolas S GauchoUnited KingdomBernardo Dominic UNQUALIFIED
Morrow B AlbaresArgentinaBernardo Dominic PROPOSAL
James J DarakjyGermanyAsiya Javayant RENEWAL
Maisha B PaprockiFranceAnna Fali NEW
Claire Q SaylorsSpainAsiya Javayant PROPOSAL
Maisha O MaletFranceAnna Fali NEGOTIATION
Francesco M OstroskyBrazilElwin Sharvill NEW
Nicolas G WhobreyArgentinaOnyama Limba NEW
Ivar U GarufiGermanyElwin Sharvill UNQUALIFIED
Julie R CaudyJapanElwin Sharvill UNQUALIFIED
Claire B RoysterCanadaAsiya Javayant NEGOTIATION
Kadeem D WieserAustraliaElwin Sharvill RENEWAL
Kadeem C VenereItalyIvan Magalhaes RENEWAL
Greenwood Z FlosiBrazilAsiya Javayant QUALIFIED
Adams W OstroskyCanadaStephen Shaw NEGOTIATION
Izzy M DarakjyJapanXuxue Feng NEW
Ricardo V BriddickRussiaAsiya Javayant QUALIFIED
Smith N BriddickRussiaBernardo Dominic PROPOSAL
Kadeem U SergiCanadaStephen Shaw NEGOTIATION
Ivar Z AlbaresRussiaAnna Fali RENEWAL
Wickens Q ChuiBrazilBernardo Dominic NEGOTIATION
Emily O NestleUnited KingdomAnna Fali UNQUALIFIED
Frozen Columns
Name
Claire M Waycott
Alejandro J Morasca
Aditya I Darakjy
Jefferson G Iturbide
Jennifer N Kusko
Smith J Marrier
Aruna W Garufi
Mujtaba C Campain
Francesco F Stenseth
Darci N Rim
Adams G Waycott
Aditya C Butt
Clifford D Bolognia
Greenwood L Nicka
Greenwood N Dilliard
Leja V Caudy
Munro I Wieser
Ashley V Poquette
Mayumi P Foller
Jefferson Q Oldroyd
Munro I Poquette
Leon G Glick
Jones E Butt
Izzy N Glick
Deepesh K Venere
Costa K Bowley
Maisha Q Rulapaugh
Isabel G Royster
Stacey N Poquette
David Q Tollner
Antonio X Stenseth
Francesco A Saylors
Jefferson V Stenseth
Kadeem F Ruta
Jennifer H Butt
Cody R Paprocki
Jones L Rulapaugh
Silvio I Vocelka
Arvin R Vocelka
Aditya F Ruta
Silvio V Kusko
Cody A Shinko
Aditya D Rulapaugh
Jones Z Tollner
Kadeem N Gaucho
Maria H Chui
Leon W Slusarski
Johnson K Oldroyd
Ivar F Caldarera
Octavia T Nestle
IdCountryDate
1000Russia2024-06-18
1001Argentina2024-06-18
1002Argentina2024-06-05
1003Germany2024-06-18
1004Canada2024-05-25
1005Australia2024-05-31
1006Canada2024-06-03
1007Brazil2024-06-17
1008Brazil2024-05-28
1009Italy2024-06-08
1010Canada2024-06-09
1011Brazil2024-06-09
1012Argentina2024-06-13
1013Russia2024-06-08
1014Canada2024-05-30
1015Spain2024-06-16
1016United Kingdom2024-06-16
1017Brazil2024-06-10
1018Spain2024-06-12
1019United Kingdom2024-06-12
1020Australia2024-06-13
1021Australia2024-06-04
1022Spain2024-05-25
1023Argentina2024-06-22
1024Australia2024-06-03
1025United Kingdom2024-05-27
1026Australia2024-06-19
1027Russia2024-06-02
1028United Kingdom2024-06-16
1029Argentina2024-05-30
1030Japan2024-06-01
1031United Kingdom2024-06-11
1032United Kingdom2024-06-13
1033Italy2024-06-06
1034Russia2024-06-04
1035United Kingdom2024-05-29
1036Germany2024-06-19
1037Australia2024-05-25
1038United Kingdom2024-06-10
1039Argentina2024-06-14
1040India2024-06-07
1041Brazil2024-06-19
1042Argentina2024-05-30
1043France2024-06-20
1044Canada2024-05-30
1045Canada2024-06-20
1046Germany2024-06-09
1047Spain2024-06-12
1048Argentina2024-06-11
1049Australia2024-06-04

On-Demand Data

NameIdCountryDate
Greenwood K Iturbide1000Germany2024-06-01
Tony L Ferencz1001Brazil2024-06-14
David L Waycott1002Brazil2024-06-08
Tony Y Schemmer1003Australia2024-06-11
Jeanfrancois C Stenseth1004Australia2024-05-30
Johnson T Perin1005Russia2024-06-18
Aruna Y Shinko1006Australia2024-06-02
Clifford B Briddick1007Australia2024-06-21
Maisha Q Slusarski1008Russia2024-06-03
Alejandro Q Paprocki1009Italy2024-06-07
Kaitlin L Malet1010Brazil2024-06-07
Octavia M Darakjy1011France2024-06-07
Silvio H Bowley1012France2024-05-30
Greenwood M Figeroa1013Canada2024-06-17
Sinclair A Nestle1014Germany2024-05-29
Isabel V Malet1015Argentina2024-06-21
Clifford L Morasca1016India2024-06-01
Ricardo R Glick1017Australia2024-06-10
Adams D Gaucho1018United Kingdom2024-06-11
Leja K Caldarera1019Germany2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams G RulapaughCanadaOnyama Limba PROPOSAL
Ricardo M FerenczIndiaOnyama Limba QUALIFIED
Stacey R PoquetteSpainAnna Fali RENEWAL
Izzy X GlickSpainElwin Sharvill QUALIFIED
Cody U MorascaBrazilElwin Sharvill NEGOTIATION
Salvatore S SaylorsCanadaAmy Elsner NEGOTIATION
Deepesh L ButtCanadaAsiya Javayant NEW
Izzy D SlusarskiArgentinaXuxue Feng QUALIFIED
Antonio L IturbideCanadaAmy Elsner RENEWAL
Murillo P FigeroaJapanElwin Sharvill QUALIFIED
Mayumi Y GauchoUnited KingdomElwin Sharvill PROPOSAL
Kadeem B GlickSpainAmy Elsner NEW
Mujtaba N FigeroaRussiaAsiya Javayant NEGOTIATION
Isabel J WhobreyCanadaAmy Elsner RENEWAL
Mujtaba A WaycottBrazilStephen Shaw NEGOTIATION
Isabel W RimUnited KingdomAsiya Javayant PROPOSAL
Mayumi N FlosiItalyIvan Magalhaes QUALIFIED
James G RoysterFranceIoni Bowcher RENEWAL
Sinclair D SaylorsUnited KingdomXuxue Feng QUALIFIED
Deepesh N NestleArgentinaIvan Magalhaes UNQUALIFIED
Aika F KolmetzJapanIvan Magalhaes NEGOTIATION
Aruna J FollerFranceBernardo Dominic QUALIFIED
Chavez B AlbaresArgentinaStephen Shaw PROPOSAL
Maria B OstroskyArgentinaIvan Magalhaes NEGOTIATION
Ivar E AmigonSpainIoni Bowcher QUALIFIED
Clifford E BologniaIndiaStephen Shaw UNQUALIFIED
Deepesh D ButtCanadaAsiya Javayant UNQUALIFIED
Claire Q ShinkoGermanyElwin Sharvill UNQUALIFIED
Darci I MarrierUnited KingdomAsiya Javayant RENEWAL
Antonio J ButtFranceXuxue Feng NEGOTIATION
Claire V PerinRussiaAnna Fali UNQUALIFIED
Mayumi L DoeJapanAsiya Javayant RENEWAL
Julie C GauchoJapanAmy Elsner RENEWAL
Aruna L FollerArgentinaOnyama Limba QUALIFIED
Octavia L GillianJapanIoni Bowcher NEGOTIATION
Jones P BriddickUnited KingdomAsiya Javayant QUALIFIED
Francesco X TollnerJapanStephen Shaw NEW
Leja M MorascaRussiaAsiya Javayant UNQUALIFIED
Adams M KuskoAustraliaOnyama Limba UNQUALIFIED
Maria E RoysterFranceAsiya Javayant 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>