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
Deepesh A GillianSpainIvan Magalhaes NEGOTIATION
Stacey X MaletGermanyOnyama Limba NEGOTIATION
James M PoquetteArgentinaOnyama Limba UNQUALIFIED
Jennifer Q MaletSpainBernardo Dominic QUALIFIED
Costa M FlosiGermanyAmy Elsner NEW
Mayumi E SchemmerAustraliaAsiya Javayant QUALIFIED
Aruna E GarufiCanadaIoni Bowcher NEGOTIATION
Leja K CampainCanadaBernardo Dominic NEGOTIATION
Emily R FigeroaIndiaAsiya Javayant UNQUALIFIED
Maisha P WaycottItalyAnna Fali PROPOSAL
Juan O FerenczBrazilAsiya Javayant NEW
Maria Z SergiIndiaXuxue Feng UNQUALIFIED
Mayumi T GarufiIndiaIoni Bowcher NEW
Jones V ChuiUnited KingdomIvan Magalhaes PROPOSAL
Ricardo G MorascaJapanAsiya Javayant NEGOTIATION
Darci H MarrierItalyStephen Shaw PROPOSAL
Stacey C RulapaughIndiaXuxue Feng NEW
Kaitlin X SergiIndiaAmy Elsner NEGOTIATION
Mayumi N MarrierIndiaAmy Elsner UNQUALIFIED
Wickens T GarufiFranceXuxue Feng QUALIFIED
Greenwood Z MorascaItalyIoni Bowcher NEW
Juan R WhobreyBrazilElwin Sharvill QUALIFIED
Maria U FerenczUnited KingdomXuxue Feng NEGOTIATION
Deepesh K FerenczIndiaIvan Magalhaes RENEWAL
Tony R GlickJapanStephen Shaw NEGOTIATION
Deepesh T FigeroaGermanyXuxue Feng RENEWAL
Ricardo P SergiIndiaStephen Shaw UNQUALIFIED
Jeanfrancois T KuskoIndiaBernardo Dominic NEW
Aruna T OldroydIndiaAsiya Javayant UNQUALIFIED
Jennifer A AlbaresArgentinaStephen Shaw RENEWAL
Izzy A GauchoBrazilAmy Elsner QUALIFIED
James P NickaCanadaIvan Magalhaes NEGOTIATION
Jeanfrancois X RoysterFranceAsiya Javayant NEW
Leja H AmigonRussiaIoni Bowcher RENEWAL
Antonio F StensethRussiaAmy Elsner RENEWAL
Darci P OldroydItalyAsiya Javayant RENEWAL
Nicolas V NickaGermanyBernardo Dominic UNQUALIFIED
Wickens D ShinkoIndiaStephen Shaw QUALIFIED
Murillo I ButtAustraliaElwin Sharvill UNQUALIFIED
Antonio B MaletCanadaOnyama Limba NEGOTIATION
Maisha K InouyeArgentinaAnna Fali NEW
Kaitlin K MorascaGermanyBernardo Dominic NEW
Aditya A ChuiFranceIvan Magalhaes RENEWAL
David T PoquetteCanadaIvan Magalhaes UNQUALIFIED
Aruna J RoysterSpainIvan Magalhaes NEW
Cody Q VenereSpainXuxue Feng NEGOTIATION
Smith R GillianItalyXuxue Feng PROPOSAL
Ashley J RoysterArgentinaOnyama Limba UNQUALIFIED
Tony J GarufiUnited KingdomBernardo Dominic NEW
Alejandro C WieserGermanyBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jennifer A AlbaresCanadaAsiya Javayant NEGOTIATION
Jeanfrancois F AmigonIndiaAmy Elsner NEGOTIATION
Murillo J MarrierJapanAnna Fali RENEWAL
Jeanfrancois S FollerBrazilElwin Sharvill QUALIFIED
Wickens L MarrierCanadaStephen Shaw NEW
Chavez I WieserCanadaOnyama Limba QUALIFIED
Isabel X MacleadIndiaAnna Fali UNQUALIFIED
Aruna G CampainUnited KingdomElwin Sharvill QUALIFIED
Maisha T NestleGermanyIvan Magalhaes UNQUALIFIED
Leja I OstroskyBrazilXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams E GlickAustralia2024-05-28Benton, John B Jr NEW95Xuxue Feng
1001Aruna T TollnerItaly2024-05-27Morlong Associates UNQUALIFIED81Asiya Javayant
1002Antonio E FollerIndia2024-06-18Morlong Associates NEW77Ioni Bowcher
1003Mayumi U AmigonFrance2024-06-13Rousseaux, Michael Esq NEW79Anna Fali
1004Claire S GauchoItaly2024-06-05Rousseaux, Michael Esq RENEWAL76Stephen Shaw
1005David B StensethFrance2024-06-06Benton, John B Jr RENEWAL33Ioni Bowcher
1006Jeanfrancois N PerinCanada2024-06-10Rangoni Of Florence PROPOSAL67Bernardo Dominic
1007Francesco Y RoysterBrazil2024-06-07Rangoni Of Florence NEW97Stephen Shaw
1008Maisha P RulapaughBrazil2024-05-26Feiner Bros QUALIFIED82Bernardo Dominic
1009Tony E MacleadSpain2024-06-22Chapman, Ross E Esq NEW55Asiya Javayant
1010Clifford V StensethArgentina2024-06-22Commercial Press UNQUALIFIED32Ivan Magalhaes
1011Smith E FlosiUnited Kingdom2024-06-09Chapman, Ross E Esq UNQUALIFIED11Bernardo Dominic
1012Salvatore Z InouyeGermany2024-05-27Dorl, James J Esq NEW54Onyama Limba
1013Salvatore D CaudySpain2024-06-07Rousseaux, Michael Esq NEW80Asiya Javayant
1014Jefferson U GarufiGermany2024-05-29Chemel, James L Cpa NEW80Xuxue Feng
1015Ashley N MarrierAustralia2024-06-21Rangoni Of Florence QUALIFIED96Stephen Shaw
1016Wickens Y RoysterRussia2024-06-03Chemel, James L Cpa RENEWAL56Xuxue Feng
1017Stacey I AmigonArgentina2024-06-16Benton, John B Jr NEGOTIATION48Xuxue Feng
1018Ashley R NickaJapan2024-06-04Benton, John B Jr UNQUALIFIED37Bernardo Dominic
1019Ricardo D WieserArgentina2024-06-14Buckley Miller Wright UNQUALIFIED38Xuxue Feng
1020Izzy P RimUnited Kingdom2024-06-10Truhlar And Truhlar Attys PROPOSAL13Amy Elsner
1021Ivar Z SergiIndia2024-06-05Feltz Printing Service NEW24Onyama Limba
1022Johnson T BriddickGermany2024-06-22Dorl, James J Esq QUALIFIED39Ivan Magalhaes
1023Salvatore T StockhamItaly2024-06-10Printing Dimensions RENEWAL53Bernardo Dominic
1024Morrow O SlusarskiGermany2024-06-17Morlong Associates RENEWAL62Onyama Limba
1025Aruna O BowleyRussia2024-06-18Truhlar And Truhlar Attys RENEWAL67Xuxue Feng
1026Faith V MaletUnited Kingdom2024-06-06Dorl, James J Esq PROPOSAL6Stephen Shaw
1027Darci L InouyeGermany2024-05-27Commercial Press PROPOSAL11Anna Fali
1028Julie I RoysterCanada2024-06-10Printing Dimensions PROPOSAL67Amy Elsner
1029Johnson D AmigonArgentina2024-06-21Chemel, James L Cpa QUALIFIED81Bernardo Dominic
1030Morrow P DoeSpain2024-06-08Chanay, Jeffrey A Esq NEGOTIATION25Bernardo Dominic
1031Mujtaba L DarakjyIndia2024-06-01Feltz Printing Service NEGOTIATION96Ioni Bowcher
1032Jennifer W BriddickJapan2024-05-26Benton, John B Jr UNQUALIFIED97Amy Elsner
1033Salvatore T OldroydFrance2024-06-05Commercial Press NEW63Amy Elsner
1034Jefferson U NickaUnited Kingdom2024-06-15Rousseaux, Michael Esq UNQUALIFIED76Amy Elsner
1035Jennifer Q AlbaresIndia2024-05-28Rousseaux, Michael Esq PROPOSAL60Bernardo Dominic
1036Munro L AmigonSpain2024-05-29Buckley Miller Wright NEW36Stephen Shaw
1037Claire A FigeroaBrazil2024-06-18Printing Dimensions RENEWAL7Ioni Bowcher
1038Rodrigues U DarakjyItaly2024-06-22Truhlar And Truhlar Attys NEGOTIATION58Asiya Javayant
1039Nicolas C CampainUnited Kingdom2024-06-18Dorl, James J Esq QUALIFIED25Ioni Bowcher
1040Ashley N VocelkaArgentina2024-05-28Benton, John B Jr QUALIFIED48Onyama Limba
1041Greenwood B GillianGermany2024-05-28Chapman, Ross E Esq UNQUALIFIED22Onyama Limba
1042Francesco Y RulapaughAustralia2024-05-27Rousseaux, Michael Esq UNQUALIFIED12Ivan Magalhaes
1043Leon A BowleyBrazil2024-05-31Chapman, Ross E Esq NEW96Asiya Javayant
1044Darci W RimRussia2024-06-15Buckley Miller Wright QUALIFIED11Amy Elsner
1045Costa K WieserArgentina2024-06-20Rangoni Of Florence RENEWAL97Stephen Shaw
1046Kaitlin D CaudyUnited Kingdom2024-06-03Rangoni Of Florence UNQUALIFIED4Onyama Limba
1047Izzy J RutaBrazil2024-05-27Morlong Associates NEW6Ioni Bowcher
1048Nicolas K FollerArgentina2024-05-28Chemel, James L Cpa NEGOTIATION20Bernardo Dominic
1049Juan Q CaldareraFrance2024-06-08Dorl, James J Esq NEW17Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Munro S PerinBrazilIoni Bowcher NEW
Izzy N BowleyArgentinaElwin Sharvill NEW
Morrow Q RulapaughFranceStephen Shaw QUALIFIED
Francesco X GillianRussiaOnyama Limba NEW
Alejandro L AlbaresIndiaStephen Shaw QUALIFIED
Mujtaba B CampainAustraliaAmy Elsner NEW
Maisha U SergiIndiaOnyama Limba RENEWAL
Isabel F NestleUnited KingdomAnna Fali RENEWAL
Johnson K DoeIndiaElwin Sharvill NEW
Cody Y AlbaresUnited KingdomAmy Elsner QUALIFIED
Juan U FerenczSpainIoni Bowcher PROPOSAL
Sinclair F PoquetteBrazilAnna Fali QUALIFIED
Johnson F ChuiBrazilIvan Magalhaes PROPOSAL
Murillo X ShinkoJapanXuxue Feng UNQUALIFIED
Octavia E VenereBrazilIoni Bowcher RENEWAL
Arvin B GauchoArgentinaElwin Sharvill QUALIFIED
Stacey Q DilliardIndiaAmy Elsner NEW
Aika I DilliardGermanyAmy Elsner PROPOSAL
Jeanfrancois J TollnerBrazilStephen Shaw NEW
Antonio A RulapaughJapanElwin Sharvill NEGOTIATION
Julie V VocelkaIndiaXuxue Feng NEGOTIATION
Ashley A TollnerIndiaAmy Elsner NEW
Juan U SchemmerCanadaBernardo Dominic PROPOSAL
Alejandro Y GarufiItalyOnyama Limba PROPOSAL
Sinclair I NickaRussiaIvan Magalhaes NEGOTIATION
Silvio Q StockhamBrazilAnna Fali PROPOSAL
Mayumi K FerenczBrazilBernardo Dominic QUALIFIED
Deepesh R FerenczArgentinaXuxue Feng UNQUALIFIED
Greenwood X StensethFranceIvan Magalhaes NEGOTIATION
Salvatore H NickaBrazilBernardo Dominic NEGOTIATION
Jeanfrancois Y FollerFranceElwin Sharvill RENEWAL
Munro N PaprockiArgentinaAsiya Javayant PROPOSAL
Jennifer S KuskoGermanyBernardo Dominic QUALIFIED
Sinclair I BriddickUnited KingdomBernardo Dominic PROPOSAL
Leon Z PerinFranceBernardo Dominic RENEWAL
Jeanfrancois E BriddickRussiaAnna Fali NEW
Claire K ButtGermanyAnna Fali UNQUALIFIED
Octavia F VenereGermanyIvan Magalhaes RENEWAL
Clifford R RutaIndiaIoni Bowcher NEGOTIATION
Nicolas E PoquetteUnited KingdomIvan Magalhaes PROPOSAL
Julie E CampainGermanyAsiya Javayant NEW
Jeanfrancois W PerinBrazilStephen Shaw NEGOTIATION
Faith Q FerenczRussiaAnna Fali NEW
Jeanfrancois H RoysterAustraliaIoni Bowcher NEGOTIATION
David P IturbideGermanyOnyama Limba RENEWAL
Cody P AlbaresRussiaXuxue Feng RENEWAL
Ivar G GauchoFranceOnyama Limba NEW
Murillo X BowleyUnited KingdomIvan Magalhaes QUALIFIED
Izzy K TollnerAustraliaXuxue Feng UNQUALIFIED
Silvio Z RutaAustraliaStephen Shaw NEW
Frozen Columns
Name
Murillo T Nicka
Wickens K Darakjy
Ricardo U Saylors
Salvatore P Vocelka
Kaitlin U Glick
Octavia O Rulapaugh
Murillo U Bolognia
Wickens M Tollner
Aditya Q Rim
Isabel O Whobrey
Smith E Venere
Kadeem T Gillian
Ivar Z Malet
Francesco I Gaucho
Misaki P Rim
Murillo A Poquette
Wickens I Albares
Smith E Schemmer
Leja E Saylors
Kadeem H Nestle
Izzy T Oldroyd
Tony Y Wieser
Smith E Figeroa
Greenwood J Poquette
Stacey X Glick
Johnson V Dilliard
Johnson I Stenseth
Johnson U Glick
Maisha Q Waycott
Aruna H Marrier
Morrow P Paprocki
Jeanfrancois B Wieser
Aika H Ferencz
Munro O Schemmer
Johnson F Figeroa
Julie F Gaucho
Juan M Gaucho
Claire P Ferencz
Mujtaba S Foller
Greenwood W Chui
Jeanfrancois S Whobrey
Leja C Slusarski
Morrow G Ostrosky
Clifford V Malet
Greenwood P Inouye
Misaki F Albares
Ashley J Slusarski
Nicolas P Royster
Leja P Ostrosky
Leon X Tollner
IdCountryDate
1000Russia2024-06-18
1001Spain2024-06-14
1002France2024-06-05
1003Germany2024-06-20
1004France2024-06-20
1005Argentina2024-06-17
1006Argentina2024-06-21
1007Germany2024-06-04
1008United Kingdom2024-06-04
1009Spain2024-06-21
1010Brazil2024-06-07
1011India2024-06-04
1012Brazil2024-06-05
1013Spain2024-06-23
1014United Kingdom2024-06-21
1015Russia2024-06-15
1016Italy2024-05-28
1017Spain2024-05-31
1018Germany2024-06-08
1019Canada2024-06-16
1020United Kingdom2024-06-02
1021Brazil2024-06-17
1022Germany2024-06-10
1023Russia2024-06-24
1024Australia2024-05-30
1025Russia2024-06-01
1026France2024-06-05
1027Brazil2024-06-11
1028Russia2024-06-22
1029Italy2024-06-23
1030Russia2024-06-20
1031Brazil2024-06-23
1032Argentina2024-05-28
1033United Kingdom2024-05-29
1034India2024-06-03
1035Argentina2024-06-21
1036Germany2024-06-06
1037India2024-06-20
1038Argentina2024-06-06
1039Argentina2024-05-28
1040Australia2024-06-09
1041Germany2024-05-31
1042India2024-06-03
1043Germany2024-05-28
1044Canada2024-06-14
1045Brazil2024-06-03
1046Spain2024-05-27
1047Italy2024-06-23
1048Japan2024-06-04
1049Japan2024-06-17

On-Demand Data

NameIdCountryDate
Stacey Q Nicka1000Brazil2024-06-01
Adams L Morasca1001Argentina2024-05-29
Chavez I Whobrey1002Japan2024-06-07
Alejandro E Gaucho1003Canada2024-06-01
Emily V Tollner1004United Kingdom2024-06-06
Antonio V Royster1005Spain2024-06-05
Ashley C Bolognia1006Argentina2024-06-08
Octavia C Rulapaugh1007India2024-06-14
Tony J Stenseth1008Japan2024-05-29
Misaki Q Ruta1009Spain2024-06-13
Aika I Slusarski1010France2024-05-27
Rodrigues I Marrier1011Australia2024-06-15
Jeanfrancois F Morasca1012Italy2024-06-05
Jennifer S Caldarera1013Germany2024-06-21
Kaitlin Z Foller1014Italy2024-06-14
James Q Nicka1015Spain2024-06-10
Stacey H Rulapaugh1016France2024-06-21
Mujtaba Q Flosi1017Italy2024-06-01
Antonio M Marrier1018Germany2024-06-01
Munro D Nicka1019Canada2024-05-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens F ChuiJapanBernardo Dominic NEW
Murillo S BologniaUnited KingdomAmy Elsner PROPOSAL
Salvatore Z WhobreyItalyAsiya Javayant NEW
Leja E OldroydAustraliaStephen Shaw NEGOTIATION
Silvio H SchemmerCanadaIoni Bowcher PROPOSAL
Kaitlin G PoquetteSpainAmy Elsner PROPOSAL
Murillo P GillianRussiaIvan Magalhaes NEGOTIATION
Cody O SlusarskiItalyXuxue Feng NEGOTIATION
Juan B ButtGermanyXuxue Feng QUALIFIED
Munro R BriddickSpainAmy Elsner UNQUALIFIED
Leon I ShinkoItalyAmy Elsner NEW
David Z MaletIndiaAmy Elsner NEGOTIATION
Faith L MacleadCanadaOnyama Limba RENEWAL
Clifford F MaletSpainStephen Shaw PROPOSAL
Silvio G MarrierAustraliaStephen Shaw RENEWAL
Tony T PerinUnited KingdomOnyama Limba QUALIFIED
Silvio Y ChuiJapanXuxue Feng QUALIFIED
Emily T TollnerCanadaElwin Sharvill QUALIFIED
Jeanfrancois M WieserUnited KingdomAsiya Javayant PROPOSAL
Nicolas V StensethRussiaElwin Sharvill QUALIFIED
Cody I AmigonItalyOnyama Limba UNQUALIFIED
Maisha K CaudyBrazilIvan Magalhaes PROPOSAL
Emily M FerenczGermanyOnyama Limba QUALIFIED
Smith Q IturbideUnited KingdomIoni Bowcher RENEWAL
Jennifer Q CaudyJapanStephen Shaw NEGOTIATION
James R FigeroaIndiaXuxue Feng RENEWAL
Leon H FerenczJapanXuxue Feng NEW
Cody H SaylorsRussiaXuxue Feng RENEWAL
Jones U CampainSpainAmy Elsner NEGOTIATION
Maria I WieserFranceBernardo Dominic RENEWAL
Francesco N GarufiAustraliaAnna Fali PROPOSAL
Rodrigues D StensethCanadaAnna Fali NEGOTIATION
Emily D GarufiSpainXuxue Feng NEGOTIATION
Ashley I RimItalyElwin Sharvill UNQUALIFIED
Rodrigues F OstroskyBrazilAmy Elsner UNQUALIFIED
Darci X StensethJapanBernardo Dominic UNQUALIFIED
Sinclair B VenereSpainAmy Elsner NEGOTIATION
Darci H FigeroaRussiaXuxue Feng NEGOTIATION
Johnson X PoquetteJapanIoni Bowcher PROPOSAL
Emily S MarrierJapanAnna Fali NEGOTIATION

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