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
Kaitlin T OldroydUnited KingdomAnna Fali RENEWAL
Misaki P RoysterItalyOnyama Limba RENEWAL
Nicolas M MaletSpainIvan Magalhaes RENEWAL
Mayumi H GauchoIndiaElwin Sharvill RENEWAL
Adams V FollerItalyStephen Shaw RENEWAL
Ashley B SchemmerItalyAsiya Javayant QUALIFIED
Leon O FollerSpainXuxue Feng NEGOTIATION
Jefferson S FigeroaIndiaIvan Magalhaes QUALIFIED
Silvio N SergiAustraliaElwin Sharvill UNQUALIFIED
Aditya J MarrierArgentinaIoni Bowcher QUALIFIED
Munro R WhobreyJapanXuxue Feng PROPOSAL
Aditya S StockhamSpainXuxue Feng PROPOSAL
Wickens V KolmetzIndiaAmy Elsner NEGOTIATION
Francesco X StockhamRussiaStephen Shaw NEW
Aditya T RoysterBrazilAnna Fali UNQUALIFIED
Leja X BriddickSpainAsiya Javayant RENEWAL
Kaitlin B GlickIndiaElwin Sharvill QUALIFIED
Francesco R FigeroaJapanXuxue Feng UNQUALIFIED
Izzy S DarakjyGermanyStephen Shaw PROPOSAL
Nicolas R GlickJapanBernardo Dominic RENEWAL
Antonio H RulapaughAustraliaIvan Magalhaes RENEWAL
Johnson G MaletRussiaElwin Sharvill NEGOTIATION
Kadeem G FerenczBrazilOnyama Limba NEGOTIATION
Aditya G ButtCanadaElwin Sharvill NEGOTIATION
Adams R PaprockiFranceBernardo Dominic QUALIFIED
Aika Q WieserIndiaXuxue Feng RENEWAL
Johnson S BowleyIndiaBernardo Dominic RENEWAL
Jennifer E PerinAustraliaAmy Elsner UNQUALIFIED
Aruna O StockhamCanadaAmy Elsner QUALIFIED
Kadeem O GarufiIndiaXuxue Feng RENEWAL
Kadeem Q PerinAustraliaIvan Magalhaes PROPOSAL
Munro J WaycottUnited KingdomXuxue Feng QUALIFIED
Cody C ChuiArgentinaIoni Bowcher NEW
Aika D AmigonSpainXuxue Feng NEGOTIATION
Kaitlin Y PoquetteCanadaXuxue Feng NEW
Emily J CampainSpainXuxue Feng NEW
Arvin A OstroskyJapanXuxue Feng RENEWAL
Alejandro I PerinItalyXuxue Feng UNQUALIFIED
Cody N MacleadUnited KingdomAsiya Javayant NEW
Greenwood W CampainUnited KingdomAmy Elsner NEW
Jennifer A RulapaughIndiaBernardo Dominic RENEWAL
Jefferson P PaprockiBrazilAsiya Javayant RENEWAL
Clifford Z FerenczJapanStephen Shaw UNQUALIFIED
Aruna C FlosiArgentinaAnna Fali QUALIFIED
Munro P WhobreyJapanElwin Sharvill NEW
Aruna M IturbideCanadaAnna Fali UNQUALIFIED
Adams Q WhobreyIndiaElwin Sharvill QUALIFIED
Jeanfrancois I ShinkoJapanElwin Sharvill UNQUALIFIED
Isabel Q RulapaughIndiaAnna Fali PROPOSAL
Alejandro X DilliardFranceAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
James I DilliardSpainOnyama Limba NEGOTIATION
Maria Z VocelkaRussiaElwin Sharvill RENEWAL
Aika J RutaFranceAmy Elsner PROPOSAL
James K WaycottIndiaAsiya Javayant RENEWAL
Morrow H MacleadCanadaElwin Sharvill QUALIFIED
Nicolas A MacleadFranceAsiya Javayant PROPOSAL
Aditya I SergiUnited KingdomOnyama Limba NEW
Leja C VocelkaIndiaIvan Magalhaes PROPOSAL
Ashley M FerenczFranceAsiya Javayant QUALIFIED
Stacey R AlbaresIndiaElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan B CaudyBrazil2024-06-23Chemel, James L Cpa UNQUALIFIED44Asiya Javayant
1001Izzy S FerenczSpain2024-06-10Benton, John B Jr RENEWAL34Onyama Limba
1002Mujtaba L MaletItaly2024-06-01Feltz Printing Service PROPOSAL42Asiya Javayant
1003Stacey L KolmetzJapan2024-06-06King, Christopher A Esq UNQUALIFIED5Bernardo Dominic
1004Morrow S PerinFrance2024-06-07Printing Dimensions UNQUALIFIED19Anna Fali
1005Claire S BriddickSpain2024-06-08Chanay, Jeffrey A Esq RENEWAL15Amy Elsner
1006Stacey A FlosiRussia2024-06-03Printing Dimensions NEW79Xuxue Feng
1007Misaki P ChuiJapan2024-06-03Rousseaux, Michael Esq NEW18Bernardo Dominic
1008Ivar P VocelkaRussia2024-06-01Truhlar And Truhlar Attys UNQUALIFIED46Onyama Limba
1009Nicolas N CaldareraSpain2024-06-04Chemel, James L Cpa QUALIFIED61Asiya Javayant
1010Stacey C RulapaughRussia2024-06-11Rousseaux, Michael Esq RENEWAL17Ioni Bowcher
1011Maisha E NestleArgentina2024-06-10Buckley Miller Wright UNQUALIFIED79Stephen Shaw
1012Kadeem S GlickFrance2024-05-26Chapman, Ross E Esq RENEWAL66Amy Elsner
1013Ricardo F CaldareraFrance2024-05-30Morlong Associates UNQUALIFIED59Xuxue Feng
1014Isabel F FerenczArgentina2024-06-15Dorl, James J Esq QUALIFIED63Xuxue Feng
1015Wickens C SchemmerRussia2024-06-13Benton, John B Jr QUALIFIED57Ivan Magalhaes
1016Smith V GlickIndia2024-06-19Feiner Bros UNQUALIFIED36Anna Fali
1017Deepesh E ChuiGermany2024-06-12Benton, John B Jr PROPOSAL91Asiya Javayant
1018Rodrigues I SaylorsItaly2024-06-24Benton, John B Jr RENEWAL60Ivan Magalhaes
1019Alejandro R DarakjySpain2024-05-31Rangoni Of Florence NEGOTIATION1Onyama Limba
1020Arvin U KuskoArgentina2024-06-04King, Christopher A Esq RENEWAL72Stephen Shaw
1021Morrow D MaletCanada2024-06-04Benton, John B Jr PROPOSAL59Onyama Limba
1022Tony A OstroskyCanada2024-06-03Dorl, James J Esq PROPOSAL78Ivan Magalhaes
1023Octavia M GlickRussia2024-05-28Chemel, James L Cpa RENEWAL90Amy Elsner
1024Rodrigues O AmigonSpain2024-05-31Feltz Printing Service NEGOTIATION37Anna Fali
1025Kadeem J InouyeUnited Kingdom2024-06-14Feiner Bros NEW51Amy Elsner
1026Alejandro O CaldareraSpain2024-06-23Truhlar And Truhlar Attys QUALIFIED96Elwin Sharvill
1027Aditya N InouyeSpain2024-05-31Printing Dimensions QUALIFIED9Elwin Sharvill
1028Octavia R SergiIndia2024-06-24Benton, John B Jr NEW37Xuxue Feng
1029James V FlosiUnited Kingdom2024-05-28Commercial Press RENEWAL32Amy Elsner
1030Munro A DarakjyArgentina2024-06-05Printing Dimensions UNQUALIFIED65Anna Fali
1031Costa L KuskoArgentina2024-06-20King, Christopher A Esq RENEWAL89Elwin Sharvill
1032Munro I OldroydArgentina2024-06-16Truhlar And Truhlar Attys UNQUALIFIED16Amy Elsner
1033Costa Y RulapaughJapan2024-06-23Chanay, Jeffrey A Esq PROPOSAL86Amy Elsner
1034Julie V KolmetzAustralia2024-06-10Benton, John B Jr RENEWAL20Ivan Magalhaes
1035Darci F VenereJapan2024-05-30Benton, John B Jr NEW95Onyama Limba
1036Misaki P ButtCanada2024-06-09Benton, John B Jr RENEWAL64Amy Elsner
1037Maisha R NestleItaly2024-06-10Feltz Printing Service NEW48Onyama Limba
1038Misaki M FigeroaIndia2024-05-30Truhlar And Truhlar Attys UNQUALIFIED54Anna Fali
1039Julie H MacleadArgentina2024-06-11Feiner Bros NEGOTIATION8Anna Fali
1040Aika E AlbaresItaly2024-05-28Rangoni Of Florence UNQUALIFIED15Ioni Bowcher
1041Juan S PerinCanada2024-06-21King, Christopher A Esq NEGOTIATION10Anna Fali
1042Ivar J CampainAustralia2024-06-05Commercial Press PROPOSAL21Anna Fali
1043Nicolas Y PaprockiBrazil2024-06-13Feiner Bros NEW42Onyama Limba
1044Jennifer K FerenczRussia2024-06-19Commercial Press UNQUALIFIED16Ivan Magalhaes
1045Darci C RimSpain2024-06-13Printing Dimensions NEGOTIATION26Asiya Javayant
1046Arvin H SlusarskiFrance2024-06-06Feiner Bros UNQUALIFIED21Ivan Magalhaes
1047Smith Y CampainCanada2024-06-15Chapman, Ross E Esq RENEWAL9Ivan Magalhaes
1048Smith C InouyeArgentina2024-06-21Printing Dimensions RENEWAL65Amy Elsner
1049Darci J FigeroaSpain2024-06-07Chemel, James L Cpa PROPOSAL16Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Jennifer K ChuiUnited KingdomAsiya Javayant UNQUALIFIED
Jeanfrancois B SergiBrazilStephen Shaw QUALIFIED
Munro Y StensethRussiaIoni Bowcher RENEWAL
James R RutaUnited KingdomElwin Sharvill NEW
Kaitlin G VocelkaAustraliaAnna Fali RENEWAL
Rodrigues H KuskoCanadaAmy Elsner PROPOSAL
Silvio S FigeroaBrazilIvan Magalhaes NEW
Kaitlin W SchemmerAustraliaStephen Shaw PROPOSAL
Ricardo K ButtAustraliaXuxue Feng UNQUALIFIED
Murillo K FlosiJapanElwin Sharvill QUALIFIED
Ricardo A GauchoAustraliaIoni Bowcher RENEWAL
Sinclair Z CaudyArgentinaIoni Bowcher NEGOTIATION
Murillo F CaudyIndiaAsiya Javayant QUALIFIED
Leon O ShinkoBrazilStephen Shaw NEGOTIATION
Jennifer G SergiAustraliaXuxue Feng RENEWAL
Maria I MarrierRussiaAnna Fali UNQUALIFIED
Octavia C FlosiCanadaIvan Magalhaes UNQUALIFIED
Adams P AlbaresFranceAnna Fali RENEWAL
Emily Q RutaItalyOnyama Limba NEGOTIATION
Aruna B DoeAustraliaIvan Magalhaes QUALIFIED
Greenwood O KolmetzFranceBernardo Dominic RENEWAL
Emily O MarrierCanadaAmy Elsner NEGOTIATION
Mujtaba T CaldareraRussiaBernardo Dominic NEGOTIATION
Maisha U MarrierGermanyXuxue Feng QUALIFIED
Wickens X VenereArgentinaStephen Shaw NEW
Emily B KolmetzAustraliaBernardo Dominic QUALIFIED
Francesco D AmigonAustraliaXuxue Feng NEW
David S VocelkaJapanElwin Sharvill NEW
Aika F CaudyCanadaAmy Elsner UNQUALIFIED
Leja T WaycottGermanyAnna Fali PROPOSAL
Kadeem B RoysterIndiaIoni Bowcher PROPOSAL
Julie F DilliardRussiaAsiya Javayant UNQUALIFIED
Emily R WieserRussiaBernardo Dominic UNQUALIFIED
Darci Q CaudyUnited KingdomAmy Elsner PROPOSAL
Leja W SlusarskiUnited KingdomOnyama Limba PROPOSAL
Arvin L IturbideRussiaAsiya Javayant NEW
Antonio A MarrierFranceIoni Bowcher QUALIFIED
Cody B MarrierUnited KingdomXuxue Feng RENEWAL
Nicolas U PerinGermanyStephen Shaw QUALIFIED
Aditya U AmigonGermanyIvan Magalhaes UNQUALIFIED
Octavia E MacleadAustraliaElwin Sharvill NEW
Jeanfrancois W AmigonArgentinaOnyama Limba QUALIFIED
Isabel P PoquetteFranceBernardo Dominic RENEWAL
Kadeem D PoquetteBrazilIoni Bowcher QUALIFIED
Smith C RutaGermanyIvan Magalhaes NEGOTIATION
Julie A DoeJapanAmy Elsner UNQUALIFIED
Kadeem B ButtJapanOnyama Limba QUALIFIED
Juan F KolmetzItalyElwin Sharvill NEGOTIATION
Ivar N CaudyGermanyIvan Magalhaes PROPOSAL
Jeanfrancois W SlusarskiFranceStephen Shaw PROPOSAL
Frozen Columns
Name
Darci N Iturbide
Jeanfrancois C Maclead
Sinclair K Briddick
Aruna U Dilliard
Salvatore V Paprocki
Aruna D Caudy
Arvin P Poquette
Jeanfrancois Z Caudy
Stacey B Ostrosky
Salvatore X Whobrey
Aditya W Rulapaugh
Rodrigues H Butt
Alejandro D Poquette
Munro W Vocelka
James S Campain
Tony Z Malet
David U Darakjy
Mayumi N Doe
Clifford I Schemmer
Antonio W Marrier
Nicolas I Garufi
Alejandro I Stenseth
Murillo W Ferencz
Claire L Royster
Juan F Marrier
Darci Y Garufi
Mujtaba F Bowley
Murillo W Shinko
Morrow F Chui
Ashley I Stockham
Johnson V Waycott
Stacey G Gillian
Tony J Briddick
Julie B Kolmetz
Jefferson W Nestle
Jeanfrancois T Kusko
Kadeem N Tollner
Stacey H Amigon
Maisha I Saylors
Morrow E Gillian
Greenwood O Maclead
Costa X Kusko
Izzy C Perin
Mujtaba H Bolognia
Jones I Briddick
Emily G Saylors
Kaitlin K Malet
Costa I Bolognia
Costa N Caudy
Ricardo X Poquette
IdCountryDate
1000Spain2024-06-18
1001Italy2024-06-24
1002France2024-05-27
1003India2024-06-16
1004France2024-06-07
1005Germany2024-06-23
1006India2024-05-26
1007United Kingdom2024-06-07
1008Australia2024-06-14
1009India2024-06-14
1010Brazil2024-06-04
1011Canada2024-06-08
1012Spain2024-06-08
1013United Kingdom2024-06-20
1014Japan2024-06-17
1015Japan2024-06-15
1016Brazil2024-06-18
1017Argentina2024-06-17
1018France2024-06-06
1019Australia2024-06-01
1020Spain2024-05-27
1021France2024-06-12
1022Spain2024-06-10
1023Italy2024-06-03
1024Japan2024-06-07
1025United Kingdom2024-06-18
1026Canada2024-06-05
1027India2024-06-16
1028Argentina2024-06-09
1029Spain2024-06-12
1030Spain2024-06-24
1031Japan2024-06-24
1032Brazil2024-06-18
1033Italy2024-06-14
1034Canada2024-06-03
1035Japan2024-06-04
1036Australia2024-06-23
1037Italy2024-06-19
1038Argentina2024-06-06
1039France2024-06-05
1040Australia2024-06-09
1041Spain2024-06-12
1042Italy2024-06-23
1043Brazil2024-06-20
1044Canada2024-06-24
1045Japan2024-06-22
1046India2024-05-30
1047France2024-06-13
1048Germany2024-06-23
1049Brazil2024-06-15

On-Demand Data

NameIdCountryDate
Jeanfrancois Q Sergi1000India2024-06-03
Chavez I Darakjy1001Brazil2024-06-22
Murillo Z Malet1002India2024-06-20
Costa U Doe1003Japan2024-06-04
Julie N Dilliard1004Spain2024-06-04
Ashley C Doe1005Canada2024-05-28
Mayumi H Slusarski1006Canada2024-06-03
Cody T Kusko1007Australia2024-06-24
Julie M Campain1008Spain2024-06-13
Munro S Maclead1009Italy2024-06-03
Deepesh W Nicka1010Spain2024-06-11
Emily P Poquette1011Brazil2024-06-08
Adams Y Oldroyd1012Brazil2024-06-02
Adams N Kusko1013United Kingdom2024-06-20
Antonio R Ruta1014United Kingdom2024-06-23
Deepesh Z Ruta1015Germany2024-05-26
Leja D Rim1016Canada2024-05-28
Stacey R Wieser1017Russia2024-06-20
Octavia W Paprocki1018Russia2024-06-16
James Q Sergi1019Australia2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois K FerenczBrazilIoni Bowcher PROPOSAL
Silvio U VocelkaIndiaStephen Shaw NEW
Tony E SlusarskiItalyIoni Bowcher RENEWAL
Chavez U NestleCanadaAmy Elsner RENEWAL
Antonio L PoquetteRussiaBernardo Dominic NEGOTIATION
Julie W AlbaresFranceAmy Elsner UNQUALIFIED
Sinclair G PerinUnited KingdomAsiya Javayant UNQUALIFIED
Cody U AmigonAustraliaBernardo Dominic UNQUALIFIED
Mayumi D OldroydJapanAmy Elsner PROPOSAL
Clifford B OstroskyBrazilStephen Shaw QUALIFIED
Mayumi Z PaprockiItalyIvan Magalhaes QUALIFIED
Kaitlin X GlickFranceXuxue Feng QUALIFIED
Tony P MarrierSpainIoni Bowcher QUALIFIED
Francesco O RulapaughCanadaAnna Fali NEGOTIATION
Wickens J SlusarskiIndiaAsiya Javayant QUALIFIED
Maria L CaldareraFranceIvan Magalhaes PROPOSAL
Ashley I PoquetteAustraliaIvan Magalhaes UNQUALIFIED
Misaki Q FerenczAustraliaIoni Bowcher NEGOTIATION
Murillo W VocelkaCanadaIoni Bowcher RENEWAL
Jones N KolmetzGermanyAnna Fali PROPOSAL
Salvatore V GlickAustraliaAmy Elsner QUALIFIED
Clifford I StockhamSpainAmy Elsner UNQUALIFIED
Murillo M InouyeUnited KingdomIvan Magalhaes NEGOTIATION
Darci U OldroydUnited KingdomAmy Elsner NEW
Mujtaba W SergiGermanyAnna Fali RENEWAL
Isabel C PaprockiSpainAnna Fali UNQUALIFIED
Arvin B ButtCanadaAnna Fali NEW
Nicolas B AlbaresUnited KingdomStephen Shaw PROPOSAL
Isabel F MorascaSpainBernardo Dominic RENEWAL
Cody B MaletArgentinaXuxue Feng PROPOSAL
Munro D CaldareraJapanAnna Fali RENEWAL
Stacey I GauchoArgentinaOnyama Limba UNQUALIFIED
Adams E SaylorsJapanStephen Shaw PROPOSAL
Ivar W WhobreyArgentinaBernardo Dominic NEGOTIATION
Adams M DilliardItalyElwin Sharvill PROPOSAL
Arvin F CampainUnited KingdomAmy Elsner PROPOSAL
James K SlusarskiAustraliaElwin Sharvill RENEWAL
Octavia B ChuiCanadaAsiya Javayant NEGOTIATION
Cody W TollnerGermanyAnna Fali UNQUALIFIED
Greenwood D FerenczBrazilIvan Magalhaes 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>