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
Cody B NestleArgentinaAsiya Javayant NEGOTIATION
Stacey U KolmetzItalyBernardo Dominic PROPOSAL
Mayumi W ShinkoJapanAsiya Javayant NEW
Darci O GlickAustraliaXuxue Feng NEW
Alejandro X CampainFranceAmy Elsner PROPOSAL
Jennifer V SchemmerGermanyIoni Bowcher PROPOSAL
Izzy Z ShinkoRussiaIoni Bowcher NEW
Emily V MarrierItalyAsiya Javayant QUALIFIED
Aditya F WieserSpainOnyama Limba RENEWAL
Aditya G GarufiCanadaXuxue Feng NEGOTIATION
Nicolas K GauchoArgentinaXuxue Feng UNQUALIFIED
Isabel W SergiArgentinaXuxue Feng NEGOTIATION
Murillo I PerinJapanAsiya Javayant NEGOTIATION
Isabel P SergiIndiaBernardo Dominic NEW
Silvio I WhobreyAustraliaIvan Magalhaes RENEWAL
Morrow I StensethUnited KingdomIvan Magalhaes UNQUALIFIED
Juan P GillianBrazilStephen Shaw UNQUALIFIED
Kadeem E SergiFranceIoni Bowcher NEGOTIATION
David V BriddickCanadaAmy Elsner RENEWAL
Ashley M IturbideBrazilAsiya Javayant UNQUALIFIED
Francesco J TollnerRussiaOnyama Limba RENEWAL
Murillo A AlbaresAustraliaOnyama Limba NEGOTIATION
Jeanfrancois U CampainBrazilAsiya Javayant UNQUALIFIED
Stacey P IturbideArgentinaIvan Magalhaes RENEWAL
Leon G AlbaresAustraliaAmy Elsner NEGOTIATION
Morrow A TollnerCanadaAsiya Javayant PROPOSAL
Jennifer D PoquetteUnited KingdomIoni Bowcher QUALIFIED
Julie U FollerSpainXuxue Feng NEW
Francesco C KuskoCanadaStephen Shaw NEGOTIATION
Aika T OstroskyBrazilAmy Elsner PROPOSAL
Smith F PaprockiRussiaIvan Magalhaes NEW
Greenwood Q PaprockiFranceIvan Magalhaes QUALIFIED
Faith L IturbideAustraliaStephen Shaw UNQUALIFIED
Ricardo D SaylorsSpainElwin Sharvill NEW
Faith V CampainCanadaStephen Shaw NEGOTIATION
Salvatore Q RulapaughItalyIvan Magalhaes QUALIFIED
Alejandro X AlbaresUnited KingdomIoni Bowcher PROPOSAL
Chavez W SaylorsJapanIoni Bowcher NEGOTIATION
Nicolas I KuskoGermanyBernardo Dominic QUALIFIED
Wickens K FollerUnited KingdomOnyama Limba NEW
Ivar K KuskoUnited KingdomXuxue Feng QUALIFIED
Silvio P OldroydGermanyElwin Sharvill RENEWAL
Mujtaba B FlosiFranceAnna Fali PROPOSAL
Octavia J FerenczSpainIvan Magalhaes UNQUALIFIED
Jennifer D SergiGermanyAsiya Javayant NEW
Ivar M RoysterItalyAnna Fali RENEWAL
David A IturbideUnited KingdomAnna Fali NEW
Stacey S KolmetzJapanIoni Bowcher RENEWAL
Deepesh V MaletAustraliaIvan Magalhaes UNQUALIFIED
Stacey W FlosiCanadaAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Greenwood Q TollnerJapanElwin Sharvill QUALIFIED
Clifford S OldroydUnited KingdomOnyama Limba UNQUALIFIED
Tony M PaprockiArgentinaElwin Sharvill RENEWAL
Emily F TollnerRussiaXuxue Feng PROPOSAL
Maisha S RulapaughGermanyIvan Magalhaes QUALIFIED
Jeanfrancois V DoeUnited KingdomElwin Sharvill PROPOSAL
Kadeem E DoeRussiaOnyama Limba NEGOTIATION
Aditya U FlosiFranceAnna Fali NEW
Nicolas A DoeIndiaAsiya Javayant NEGOTIATION
Darci O MarrierUnited KingdomStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois I WhobreyJapan2024-05-28Feiner Bros NEW99Amy Elsner
1001Arvin O GarufiIndia2024-06-06Truhlar And Truhlar Attys PROPOSAL17Anna Fali
1002Isabel A RimBrazil2024-06-07Printing Dimensions RENEWAL85Ioni Bowcher
1003Aruna G StensethArgentina2024-06-21Chapman, Ross E Esq PROPOSAL69Bernardo Dominic
1004Aruna B PoquetteRussia2024-05-27Benton, John B Jr PROPOSAL19Asiya Javayant
1005Jennifer V NestleCanada2024-05-27Rangoni Of Florence RENEWAL43Anna Fali
1006Nicolas Z ShinkoRussia2024-06-04Rousseaux, Michael Esq PROPOSAL62Xuxue Feng
1007Clifford P RoysterBrazil2024-05-23Morlong Associates RENEWAL5Stephen Shaw
1008Maisha O FerenczArgentina2024-05-31Benton, John B Jr NEGOTIATION92Amy Elsner
1009Rodrigues A FigeroaRussia2024-06-13Morlong Associates NEGOTIATION29Stephen Shaw
1010Juan Q CaldareraArgentina2024-06-17King, Christopher A Esq NEW73Amy Elsner
1011Smith V MacleadUnited Kingdom2024-06-21Chapman, Ross E Esq QUALIFIED52Elwin Sharvill
1012Silvio H GauchoCanada2024-06-21Rousseaux, Michael Esq NEGOTIATION24Ioni Bowcher
1013Silvio O DilliardAustralia2024-05-24Feiner Bros QUALIFIED85Elwin Sharvill
1014Antonio H OstroskyJapan2024-06-08Feltz Printing Service QUALIFIED70Ivan Magalhaes
1015Julie V FigeroaGermany2024-06-05Buckley Miller Wright NEGOTIATION83Amy Elsner
1016Kadeem N MaletBrazil2024-06-10Buckley Miller Wright NEGOTIATION34Elwin Sharvill
1017Darci N TollnerFrance2024-06-07Printing Dimensions NEGOTIATION14Bernardo Dominic
1018Ashley K FlosiItaly2024-05-26Rangoni Of Florence RENEWAL89Xuxue Feng
1019Clifford G RutaUnited Kingdom2024-06-14Printing Dimensions NEGOTIATION2Stephen Shaw
1020Izzy J ChuiArgentina2024-06-08Rangoni Of Florence QUALIFIED6Bernardo Dominic
1021Maisha U NickaBrazil2024-05-29Feiner Bros PROPOSAL71Xuxue Feng
1022Maria Y KolmetzUnited Kingdom2024-06-20Benton, John B Jr RENEWAL97Amy Elsner
1023Wickens R MacleadUnited Kingdom2024-06-06Printing Dimensions NEGOTIATION69Xuxue Feng
1024Aruna A RoysterArgentina2024-06-14Morlong Associates NEW47Stephen Shaw
1025Mujtaba Y DilliardSpain2024-06-20Morlong Associates NEGOTIATION17Stephen Shaw
1026Octavia L GauchoCanada2024-06-21Chapman, Ross E Esq PROPOSAL93Stephen Shaw
1027Stacey C WieserArgentina2024-06-07Chapman, Ross E Esq NEW20Elwin Sharvill
1028Isabel I WhobreyBrazil2024-06-06Dorl, James J Esq UNQUALIFIED21Elwin Sharvill
1029Deepesh R MacleadCanada2024-06-16Buckley Miller Wright RENEWAL39Bernardo Dominic
1030Maisha H TollnerBrazil2024-06-08Printing Dimensions NEGOTIATION19Xuxue Feng
1031Smith A PerinAustralia2024-06-15Chapman, Ross E Esq UNQUALIFIED87Ioni Bowcher
1032Jeanfrancois P RulapaughFrance2024-06-02Buckley Miller Wright QUALIFIED72Xuxue Feng
1033Aditya Q DoeIndia2024-06-18Feiner Bros PROPOSAL65Ioni Bowcher
1034Deepesh R SaylorsSpain2024-06-21Truhlar And Truhlar Attys UNQUALIFIED7Stephen Shaw
1035Aditya Z PaprockiBrazil2024-06-15Morlong Associates NEW89Amy Elsner
1036Silvio T VocelkaCanada2024-06-07Printing Dimensions PROPOSAL39Onyama Limba
1037Darci C CaudyRussia2024-06-04Rousseaux, Michael Esq NEGOTIATION91Asiya Javayant
1038Silvio R FigeroaAustralia2024-05-24Truhlar And Truhlar Attys PROPOSAL57Elwin Sharvill
1039James I AmigonAustralia2024-06-12Printing Dimensions RENEWAL30Asiya Javayant
1040Cody C PoquetteSpain2024-06-12Truhlar And Truhlar Attys RENEWAL51Onyama Limba
1041Ivar B WhobreyUnited Kingdom2024-06-08Rangoni Of Florence QUALIFIED42Onyama Limba
1042Morrow I RimFrance2024-05-29Feiner Bros UNQUALIFIED65Elwin Sharvill
1043Aruna Q SaylorsFrance2024-06-05Dorl, James J Esq RENEWAL84Asiya Javayant
1044Julie Y IturbideItaly2024-05-26Rangoni Of Florence PROPOSAL11Anna Fali
1045Nicolas C StockhamAustralia2024-05-25Rousseaux, Michael Esq PROPOSAL1Ioni Bowcher
1046Jeanfrancois R WhobreyRussia2024-05-26Chemel, James L Cpa NEGOTIATION53Amy Elsner
1047Stacey Z GauchoUnited Kingdom2024-06-17Buckley Miller Wright NEW84Bernardo Dominic
1048Tony V GarufiCanada2024-06-20Feltz Printing Service NEGOTIATION87Xuxue Feng
1049Greenwood Z IturbideUnited Kingdom2024-06-13Feltz Printing Service UNQUALIFIED62Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
James M ButtUnited KingdomIoni Bowcher RENEWAL
James F DilliardCanadaOnyama Limba NEW
Ricardo C MaletArgentinaAnna Fali NEGOTIATION
Nicolas G MaletFranceAmy Elsner PROPOSAL
Costa X WaycottBrazilBernardo Dominic NEW
Salvatore M DoeCanadaAnna Fali PROPOSAL
Jones G GillianRussiaAsiya Javayant QUALIFIED
Munro U RimCanadaAmy Elsner UNQUALIFIED
Greenwood K StensethAustraliaXuxue Feng RENEWAL
Adams P WieserSpainIoni Bowcher NEGOTIATION
Isabel N ButtItalyAnna Fali QUALIFIED
Silvio I VocelkaRussiaAmy Elsner RENEWAL
Leon B DarakjyRussiaOnyama Limba NEW
Deepesh G VenereArgentinaXuxue Feng RENEWAL
Jeanfrancois N GlickFranceIvan Magalhaes PROPOSAL
Stacey I TollnerIndiaIoni Bowcher UNQUALIFIED
Octavia Z SergiSpainXuxue Feng NEW
Ricardo C NestleSpainElwin Sharvill NEGOTIATION
Emily N DarakjyUnited KingdomXuxue Feng UNQUALIFIED
Munro Y PaprockiGermanyElwin Sharvill RENEWAL
Cody R ChuiCanadaStephen Shaw QUALIFIED
Cody G FigeroaItalyIvan Magalhaes UNQUALIFIED
Costa N StockhamArgentinaIoni Bowcher PROPOSAL
Rodrigues L ChuiRussiaStephen Shaw UNQUALIFIED
Ivar H GarufiRussiaXuxue Feng UNQUALIFIED
Julie B CaudyCanadaStephen Shaw PROPOSAL
Johnson Y VenereJapanAmy Elsner NEGOTIATION
Munro W RoysterArgentinaOnyama Limba PROPOSAL
Jones Z VenereArgentinaAsiya Javayant NEW
Francesco F StockhamGermanyIoni Bowcher RENEWAL
Jones W MorascaSpainIvan Magalhaes RENEWAL
Greenwood A ShinkoGermanyStephen Shaw NEGOTIATION
Jeanfrancois R ButtGermanyXuxue Feng NEGOTIATION
Ashley M VenereJapanElwin Sharvill NEGOTIATION
Francesco S GlickGermanyAnna Fali UNQUALIFIED
Tony J CaudyJapanBernardo Dominic PROPOSAL
Emily J DoeBrazilAnna Fali QUALIFIED
Kaitlin N GlickIndiaOnyama Limba UNQUALIFIED
Ivar W ShinkoFranceElwin Sharvill NEW
Juan E OldroydAustraliaStephen Shaw UNQUALIFIED
Emily C BowleyUnited KingdomAsiya Javayant UNQUALIFIED
Munro A DilliardItalyBernardo Dominic RENEWAL
Faith R PaprockiArgentinaBernardo Dominic QUALIFIED
Darci W MaletJapanAsiya Javayant RENEWAL
Morrow S WieserJapanXuxue Feng QUALIFIED
Jeanfrancois I DoeSpainAmy Elsner RENEWAL
Ashley V AlbaresArgentinaAsiya Javayant RENEWAL
Juan C InouyeJapanAsiya Javayant NEGOTIATION
Isabel F PaprockiJapanAnna Fali UNQUALIFIED
Maria Q AmigonCanadaIoni Bowcher QUALIFIED
Frozen Columns
Name
Octavia Q Malet
Ashley S Albares
Silvio G Oldroyd
Emily O Kolmetz
Clifford C Rulapaugh
Misaki I Malet
Emily U Waycott
Silvio F Paprocki
Jefferson W Paprocki
Jeanfrancois S Vocelka
Stacey J Ostrosky
Isabel W Figeroa
Murillo K Shinko
Morrow X Amigon
Misaki R Oldroyd
Leja A Dilliard
Aika K Marrier
Silvio D Oldroyd
Faith M Shinko
Faith L Paprocki
Kadeem A Campain
Aditya G Oldroyd
Faith F Iturbide
Greenwood X Sergi
Aika M Flosi
Murillo O Kusko
Mayumi W Tollner
Ricardo B Caldarera
Smith C Doe
Nicolas P Doe
Jones N Morasca
Jeanfrancois R Morasca
Claire W Wieser
Morrow N Kolmetz
Tony E Slusarski
Deepesh Z Ferencz
Jeanfrancois L Ruta
Mayumi R Iturbide
Chavez J Kolmetz
Ivar P Nestle
Antonio D Oldroyd
Julie B Stockham
Izzy N Caudy
Aditya G Bolognia
Francesco U Nestle
Darci P Royster
Salvatore O Paprocki
Ashley B Wieser
Smith F Oldroyd
Julie S Gaucho
IdCountryDate
1000Australia2024-06-20
1001Australia2024-06-11
1002France2024-05-26
1003Spain2024-06-21
1004Australia2024-06-08
1005Russia2024-06-13
1006Italy2024-06-19
1007Italy2024-05-29
1008Argentina2024-05-28
1009India2024-06-10
1010Argentina2024-05-31
1011United Kingdom2024-06-13
1012Germany2024-06-03
1013Canada2024-06-21
1014Japan2024-06-18
1015France2024-06-18
1016Japan2024-05-23
1017Australia2024-06-06
1018Germany2024-06-01
1019United Kingdom2024-06-04
1020India2024-06-11
1021Canada2024-06-19
1022France2024-06-03
1023Argentina2024-06-20
1024Argentina2024-05-23
1025Brazil2024-06-01
1026Canada2024-06-11
1027Japan2024-06-01
1028Canada2024-06-18
1029Canada2024-06-07
1030Italy2024-05-31
1031Argentina2024-06-14
1032Spain2024-06-14
1033Argentina2024-06-10
1034Brazil2024-06-14
1035Italy2024-05-29
1036Australia2024-06-02
1037Russia2024-06-17
1038Spain2024-05-31
1039United Kingdom2024-06-03
1040Brazil2024-06-08
1041Argentina2024-05-26
1042Australia2024-06-03
1043Germany2024-06-15
1044Russia2024-06-12
1045Argentina2024-06-21
1046Germany2024-06-09
1047Japan2024-06-21
1048Canada2024-06-21
1049Japan2024-05-24

On-Demand Data

NameIdCountryDate
Jones G Rim1000Australia2024-06-17
David B Amigon1001Italy2024-06-05
Mujtaba V Darakjy1002Australia2024-06-21
Deepesh D Amigon1003United Kingdom2024-06-09
Jefferson Z Kusko1004France2024-06-15
Arvin Y Amigon1005Argentina2024-06-08
Jefferson O Doe1006Italy2024-06-10
Smith P Malet1007Australia2024-06-08
Deepesh I Kusko1008Brazil2024-06-02
Johnson H Nestle1009India2024-06-07
Greenwood L Oldroyd1010France2024-06-21
Aruna P Malet1011Japan2024-05-24
Aika P Morasca1012Australia2024-06-20
Leon N Shinko1013France2024-05-26
Ricardo Y Stockham1014France2024-05-24
Aruna G Darakjy1015France2024-05-27
Jefferson K Campain1016Canada2024-05-28
Leon K Saylors1017Russia2024-05-25
Jeanfrancois E Whobrey1018Spain2024-06-07
Arvin K Maclead1019Brazil2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair J StockhamItalyElwin Sharvill UNQUALIFIED
Misaki F SlusarskiItalyBernardo Dominic NEW
Maisha K CaldareraCanadaElwin Sharvill QUALIFIED
Sinclair I ShinkoArgentinaAnna Fali NEW
Silvio S InouyeItalyAnna Fali QUALIFIED
Jennifer J CaudyCanadaOnyama Limba NEW
Maria Q StensethItalyAsiya Javayant NEW
Misaki H MacleadGermanyXuxue Feng UNQUALIFIED
Munro W KolmetzCanadaXuxue Feng QUALIFIED
Salvatore C RoysterAustraliaAmy Elsner NEGOTIATION
Deepesh K BologniaSpainBernardo Dominic PROPOSAL
Rodrigues F MaletIndiaAsiya Javayant NEW
Antonio O KolmetzIndiaIvan Magalhaes UNQUALIFIED
Antonio C StensethCanadaAsiya Javayant UNQUALIFIED
Alejandro D StensethAustraliaAmy Elsner UNQUALIFIED
Faith L CaldareraJapanIoni Bowcher PROPOSAL
Misaki K VocelkaItalyIoni Bowcher RENEWAL
Aditya E WhobreyBrazilElwin Sharvill UNQUALIFIED
Aruna T TollnerRussiaElwin Sharvill PROPOSAL
Arvin J VenereSpainElwin Sharvill QUALIFIED
Chavez P SaylorsRussiaAmy Elsner RENEWAL
Wickens C GillianItalyIoni Bowcher UNQUALIFIED
Francesco T SaylorsItalyAnna Fali NEGOTIATION
Maisha X WhobreyBrazilOnyama Limba PROPOSAL
Izzy Z RoysterFranceAsiya Javayant PROPOSAL
Jeanfrancois Q FerenczFranceAnna Fali NEW
Antonio Z WieserAustraliaAsiya Javayant NEW
Faith U VenereSpainBernardo Dominic RENEWAL
David X ShinkoAustraliaAnna Fali PROPOSAL
Julie P SaylorsCanadaAmy Elsner UNQUALIFIED
David J BologniaArgentinaStephen Shaw NEGOTIATION
Cody Q VenereAustraliaIoni Bowcher QUALIFIED
Ivar Z OstroskyRussiaIvan Magalhaes UNQUALIFIED
Ricardo Y PerinRussiaElwin Sharvill NEW
Emily W ShinkoCanadaIvan Magalhaes PROPOSAL
Izzy E FollerUnited KingdomBernardo Dominic RENEWAL
Kaitlin H PoquetteBrazilOnyama Limba NEGOTIATION
Antonio I FigeroaJapanStephen Shaw QUALIFIED
Faith N StensethUnited KingdomXuxue Feng NEGOTIATION
Faith Q RimBrazilIvan 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>