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
Wickens D StensethIndiaIvan Magalhaes QUALIFIED
Kadeem Z InouyeFranceXuxue Feng PROPOSAL
Rodrigues Q IturbideRussiaAnna Fali QUALIFIED
Juan G OldroydCanadaIoni Bowcher QUALIFIED
Stacey F MorascaCanadaXuxue Feng QUALIFIED
Leja S GillianUnited KingdomElwin Sharvill NEGOTIATION
Francesco C PaprockiUnited KingdomElwin Sharvill NEGOTIATION
Stacey N GauchoIndiaAsiya Javayant QUALIFIED
Cody X CampainBrazilIoni Bowcher UNQUALIFIED
Leon D MacleadAustraliaAnna Fali QUALIFIED
Costa F CaldareraAustraliaIoni Bowcher RENEWAL
Munro W DarakjyUnited KingdomBernardo Dominic UNQUALIFIED
Francesco B IturbideCanadaAnna Fali RENEWAL
Izzy S SchemmerUnited KingdomAnna Fali UNQUALIFIED
Antonio R MacleadSpainAmy Elsner NEGOTIATION
Stacey M GlickIndiaOnyama Limba RENEWAL
Octavia I DilliardBrazilAmy Elsner UNQUALIFIED
Munro I DoeCanadaBernardo Dominic RENEWAL
Deepesh B RoysterIndiaXuxue Feng QUALIFIED
Kaitlin R WieserGermanyOnyama Limba RENEWAL
James D CaldareraUnited KingdomAnna Fali NEGOTIATION
Claire Z WhobreyAustraliaStephen Shaw QUALIFIED
Ivar C MarrierJapanXuxue Feng NEW
Antonio Z FigeroaArgentinaOnyama Limba RENEWAL
Maria Q GarufiBrazilAsiya Javayant NEGOTIATION
Octavia M SergiArgentinaOnyama Limba NEGOTIATION
Costa N WaycottGermanyStephen Shaw RENEWAL
James K WaycottBrazilAsiya Javayant PROPOSAL
Cody W StockhamAustraliaBernardo Dominic NEGOTIATION
Aditya W IturbideCanadaIoni Bowcher NEW
Leja N SaylorsCanadaAnna Fali RENEWAL
Misaki D WaycottGermanyAsiya Javayant NEW
Ricardo G RulapaughCanadaXuxue Feng NEGOTIATION
David Q DoeItalyBernardo Dominic UNQUALIFIED
Darci O CaudyRussiaAmy Elsner QUALIFIED
Rodrigues M InouyeUnited KingdomElwin Sharvill RENEWAL
Clifford E CampainIndiaBernardo Dominic PROPOSAL
Morrow P VenereGermanyIoni Bowcher NEW
Alejandro I NickaAustraliaXuxue Feng PROPOSAL
Costa X ButtAustraliaOnyama Limba PROPOSAL
Sinclair X DilliardRussiaIvan Magalhaes NEGOTIATION
Munro T CaldareraJapanElwin Sharvill NEW
Johnson U PerinIndiaXuxue Feng NEW
Sinclair N SlusarskiAustraliaIvan Magalhaes UNQUALIFIED
Isabel C MaletIndiaBernardo Dominic UNQUALIFIED
Adams H InouyeUnited KingdomXuxue Feng UNQUALIFIED
Jennifer J SaylorsUnited KingdomAmy Elsner PROPOSAL
Aditya T WieserJapanAmy Elsner UNQUALIFIED
Tony R ChuiIndiaStephen Shaw UNQUALIFIED
Sinclair Z WieserAustraliaBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jefferson O MarrierArgentinaStephen Shaw NEW
Octavia X DarakjyCanadaIvan Magalhaes QUALIFIED
Claire V KolmetzIndiaXuxue Feng RENEWAL
Octavia O KuskoCanadaBernardo Dominic RENEWAL
Arvin M GillianUnited KingdomIvan Magalhaes UNQUALIFIED
Darci Q MaletCanadaIoni Bowcher NEW
Munro J ShinkoBrazilStephen Shaw NEGOTIATION
James P MorascaArgentinaAmy Elsner NEGOTIATION
Mayumi L BriddickArgentinaXuxue Feng NEGOTIATION
Misaki I TollnerFranceOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin D StockhamBrazil2024-06-06Rousseaux, Michael Esq RENEWAL58Ioni Bowcher
1001Francesco U RutaArgentina2024-06-06Buckley Miller Wright PROPOSAL87Xuxue Feng
1002Leja M AlbaresAustralia2024-06-24Buckley Miller Wright UNQUALIFIED24Anna Fali
1003Isabel E FerenczFrance2024-06-07Rousseaux, Michael Esq RENEWAL65Anna Fali
1004Chavez K FollerCanada2024-06-09Rangoni Of Florence RENEWAL43Asiya Javayant
1005Francesco F MaletIndia2024-05-27Printing Dimensions NEW78Anna Fali
1006Mujtaba J WhobreyArgentina2024-06-15Feltz Printing Service NEGOTIATION72Onyama Limba
1007Stacey A GauchoRussia2024-06-07Rangoni Of Florence NEGOTIATION50Ioni Bowcher
1008Jefferson Q StockhamGermany2024-06-07Buckley Miller Wright NEW27Elwin Sharvill
1009Sinclair H InouyeBrazil2024-05-27Feiner Bros RENEWAL94Onyama Limba
1010David T FigeroaCanada2024-06-02Benton, John B Jr NEGOTIATION66Amy Elsner
1011Murillo M ShinkoArgentina2024-06-01Feltz Printing Service QUALIFIED32Ioni Bowcher
1012Juan X SchemmerFrance2024-06-21King, Christopher A Esq NEGOTIATION9Elwin Sharvill
1013Aditya M BowleyItaly2024-06-11Benton, John B Jr NEW85Asiya Javayant
1014Mujtaba F SchemmerAustralia2024-06-13Morlong Associates QUALIFIED10Onyama Limba
1015Emily H DoeAustralia2024-06-21Chapman, Ross E Esq UNQUALIFIED6Stephen Shaw
1016Aditya D CaldareraItaly2024-06-20Morlong Associates QUALIFIED0Ivan Magalhaes
1017Johnson C BologniaBrazil2024-06-13Commercial Press QUALIFIED87Ivan Magalhaes
1018Clifford X BologniaAustralia2024-06-21Feiner Bros NEW57Ioni Bowcher
1019Faith M OstroskyJapan2024-06-14Rangoni Of Florence NEGOTIATION51Xuxue Feng
1020Nicolas A OstroskyBrazil2024-05-27Benton, John B Jr PROPOSAL40Xuxue Feng
1021James E SlusarskiBrazil2024-06-20Rousseaux, Michael Esq PROPOSAL28Stephen Shaw
1022Adams Z RoysterFrance2024-06-16Printing Dimensions UNQUALIFIED60Bernardo Dominic
1023Isabel H GlickCanada2024-05-26Benton, John B Jr NEW12Xuxue Feng
1024Adams L GillianUnited Kingdom2024-06-06Rousseaux, Michael Esq NEW62Amy Elsner
1025Ivar X StensethJapan2024-06-01Rousseaux, Michael Esq NEW90Onyama Limba
1026Ashley X SaylorsArgentina2024-06-16Buckley Miller Wright RENEWAL52Ivan Magalhaes
1027Isabel S FollerSpain2024-06-24Benton, John B Jr RENEWAL2Ioni Bowcher
1028Antonio L MaletGermany2024-06-19Rangoni Of Florence PROPOSAL75Stephen Shaw
1029Mujtaba M ChuiIndia2024-05-28Dorl, James J Esq RENEWAL98Onyama Limba
1030Leon L BowleyArgentina2024-06-13Chapman, Ross E Esq RENEWAL19Amy Elsner
1031Tony M FlosiBrazil2024-06-06Morlong Associates RENEWAL26Ioni Bowcher
1032Julie K RulapaughArgentina2024-06-05Rangoni Of Florence NEGOTIATION77Asiya Javayant
1033Deepesh D ChuiUnited Kingdom2024-06-15Buckley Miller Wright PROPOSAL64Xuxue Feng
1034Izzy F IturbideSpain2024-06-01Benton, John B Jr PROPOSAL84Onyama Limba
1035Mujtaba G SchemmerArgentina2024-05-29Rangoni Of Florence RENEWAL69Onyama Limba
1036Mujtaba O FerenczAustralia2024-06-20Feiner Bros UNQUALIFIED28Anna Fali
1037Chavez H AmigonItaly2024-06-11Buckley Miller Wright RENEWAL83Ivan Magalhaes
1038Rodrigues F WieserItaly2024-05-26Chemel, James L Cpa RENEWAL86Bernardo Dominic
1039Silvio D NestleIndia2024-06-23Printing Dimensions NEW29Anna Fali
1040Aditya M KolmetzGermany2024-06-23Dorl, James J Esq QUALIFIED27Xuxue Feng
1041Deepesh T KolmetzGermany2024-06-03Buckley Miller Wright QUALIFIED78Stephen Shaw
1042Izzy H AmigonCanada2024-06-09Dorl, James J Esq QUALIFIED28Asiya Javayant
1043Alejandro P OldroydFrance2024-06-09Rangoni Of Florence UNQUALIFIED45Amy Elsner
1044Aditya S RimArgentina2024-06-18Commercial Press RENEWAL38Asiya Javayant
1045Rodrigues O AlbaresCanada2024-06-10Rangoni Of Florence RENEWAL34Bernardo Dominic
1046Chavez G SchemmerGermany2024-06-19Chemel, James L Cpa NEW45Onyama Limba
1047Kaitlin R GarufiUnited Kingdom2024-06-24Rousseaux, Michael Esq PROPOSAL18Onyama Limba
1048Cody J MorascaItaly2024-06-09Dorl, James J Esq UNQUALIFIED1Amy Elsner
1049Silvio T MaletIndia2024-06-11Chanay, Jeffrey A Esq PROPOSAL54Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
James N BowleyUnited KingdomIoni Bowcher PROPOSAL
Murillo L FerenczFranceXuxue Feng RENEWAL
Jones C ShinkoBrazilAmy Elsner PROPOSAL
Adams M CampainItalyOnyama Limba QUALIFIED
David X MaletFranceBernardo Dominic NEW
Francesco C VenereRussiaElwin Sharvill RENEWAL
Ricardo O SergiBrazilIoni Bowcher UNQUALIFIED
Tony B MaletGermanyElwin Sharvill UNQUALIFIED
Johnson N SlusarskiCanadaElwin Sharvill PROPOSAL
Cody M BologniaArgentinaAnna Fali NEW
Octavia B PerinRussiaOnyama Limba PROPOSAL
Jeanfrancois K DilliardFranceOnyama Limba UNQUALIFIED
Misaki Z FollerRussiaElwin Sharvill RENEWAL
Murillo N MorascaSpainIoni Bowcher RENEWAL
Tony W AmigonJapanAmy Elsner PROPOSAL
Jennifer L CampainFranceIvan Magalhaes PROPOSAL
Mujtaba M ButtArgentinaIvan Magalhaes NEGOTIATION
Aditya L BologniaGermanyIvan Magalhaes NEGOTIATION
Ashley L InouyeCanadaIoni Bowcher UNQUALIFIED
Arvin N MacleadGermanyStephen Shaw RENEWAL
Wickens G ChuiGermanyElwin Sharvill NEW
Arvin W NestleArgentinaAnna Fali RENEWAL
Emily Y RulapaughGermanyAnna Fali QUALIFIED
Adams A VenereSpainAsiya Javayant RENEWAL
Silvio W FollerCanadaAnna Fali PROPOSAL
Maisha H DilliardGermanyOnyama Limba NEGOTIATION
Isabel O WaycottBrazilElwin Sharvill UNQUALIFIED
Aditya Y OstroskyIndiaBernardo Dominic PROPOSAL
Silvio N MaletRussiaIoni Bowcher PROPOSAL
Jeanfrancois Q TollnerUnited KingdomAsiya Javayant UNQUALIFIED
Octavia O RimAustraliaElwin Sharvill UNQUALIFIED
Jennifer W AlbaresBrazilBernardo Dominic NEGOTIATION
Morrow O SlusarskiArgentinaIoni Bowcher NEGOTIATION
James D KuskoSpainXuxue Feng PROPOSAL
Cody S FollerUnited KingdomAnna Fali NEW
Jennifer I DoeGermanyStephen Shaw QUALIFIED
Clifford P OstroskyIndiaBernardo Dominic PROPOSAL
Chavez D MacleadArgentinaIvan Magalhaes PROPOSAL
Ricardo L OldroydItalyBernardo Dominic QUALIFIED
Greenwood W CampainArgentinaAmy Elsner NEGOTIATION
Stacey W MarrierFranceXuxue Feng UNQUALIFIED
Greenwood G FerenczIndiaIoni Bowcher UNQUALIFIED
Cody N RulapaughFranceAmy Elsner NEW
Juan U GarufiItalyAsiya Javayant RENEWAL
Leja S PoquetteJapanStephen Shaw UNQUALIFIED
Julie R BriddickJapanElwin Sharvill QUALIFIED
Octavia X MacleadItalyAnna Fali UNQUALIFIED
Tony C OstroskyItalyXuxue Feng PROPOSAL
Juan J GarufiGermanyElwin Sharvill QUALIFIED
Rodrigues M MarrierIndiaXuxue Feng PROPOSAL
Frozen Columns
Name
Kaitlin V Albares
Claire B Perin
Kadeem L Chui
Wickens M Paprocki
Aika V Dilliard
Silvio U Venere
Deepesh N Chui
Kaitlin E Kusko
Rodrigues Q Dilliard
Maria A Gillian
Antonio T Garufi
Morrow X Malet
Jones T Gaucho
Mujtaba O Doe
James T Poquette
Wickens U Caudy
Cody E Perin
Mujtaba Y Caldarera
Kadeem O Waycott
Nicolas F Campain
Francesco J Tollner
Maisha Y Ostrosky
Johnson P Garufi
Ivar G Garufi
Costa K Malet
Aika Q Sergi
Deepesh F Garufi
Wickens A Kolmetz
Aika Y Butt
Morrow T Rulapaugh
Morrow N Foller
Isabel C Nicka
David A Nicka
Morrow H Figeroa
Rodrigues I Stenseth
Mujtaba K Malet
Jefferson P Tollner
Greenwood Q Foller
Costa F Kolmetz
Darci N Inouye
Ashley E Rim
Aika D Schemmer
Adams R Amigon
Jones V Whobrey
Faith P Caldarera
Misaki V Flosi
Francesco O Ostrosky
Ashley G Saylors
Ashley D Rim
Francesco A Slusarski
IdCountryDate
1000Italy2024-06-16
1001Germany2024-06-17
1002France2024-06-01
1003Canada2024-06-14
1004India2024-06-21
1005United Kingdom2024-06-07
1006Brazil2024-05-29
1007Russia2024-06-16
1008Brazil2024-06-17
1009Spain2024-06-19
1010Argentina2024-06-13
1011United Kingdom2024-06-07
1012Italy2024-06-04
1013Australia2024-06-12
1014United Kingdom2024-06-21
1015Japan2024-06-02
1016Australia2024-06-02
1017Argentina2024-05-28
1018Brazil2024-06-18
1019Germany2024-06-13
1020India2024-06-08
1021Italy2024-05-29
1022United Kingdom2024-06-14
1023Japan2024-05-30
1024Argentina2024-06-13
1025Russia2024-06-11
1026India2024-06-16
1027United Kingdom2024-06-15
1028Argentina2024-06-02
1029France2024-06-13
1030France2024-06-17
1031Spain2024-06-07
1032France2024-06-02
1033Australia2024-06-01
1034Canada2024-05-30
1035Spain2024-06-11
1036Canada2024-06-05
1037Argentina2024-06-08
1038Brazil2024-06-17
1039Australia2024-06-23
1040France2024-05-28
1041Argentina2024-06-12
1042Germany2024-05-28
1043United Kingdom2024-06-22
1044Italy2024-05-27
1045Brazil2024-06-19
1046Argentina2024-06-05
1047Spain2024-05-26
1048Australia2024-06-14
1049Canada2024-06-11

On-Demand Data

NameIdCountryDate
Emily L Butt1000Australia2024-06-05
Tony U Bolognia1001Australia2024-06-22
Johnson M Albares1002Italy2024-06-10
Smith G Malet1003Germany2024-06-23
James H Schemmer1004Canada2024-06-22
Aditya S Caldarera1005Brazil2024-05-29
Deepesh X Bolognia1006Japan2024-06-22
Izzy J Kolmetz1007France2024-05-30
Arvin F Bolognia1008Japan2024-06-13
Nicolas I Wieser1009Brazil2024-06-09
Kaitlin U Foller1010Germany2024-06-04
Alejandro H Whobrey1011United Kingdom2024-06-06
Arvin P Paprocki1012United Kingdom2024-06-19
Silvio T Perin1013Canada2024-06-09
Nicolas L Flosi1014Canada2024-06-02
Arvin H Iturbide1015Germany2024-05-27
Greenwood L Gillian1016India2024-06-24
Julie K Inouye1017Australia2024-06-14
Maisha B Perin1018United Kingdom2024-05-30
Octavia G Gillian1019France2024-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey V KolmetzUnited KingdomAsiya Javayant NEW
Julie K RoysterItalyIvan Magalhaes PROPOSAL
Jeanfrancois P RulapaughIndiaAmy Elsner UNQUALIFIED
Murillo U FlosiAustraliaIvan Magalhaes RENEWAL
Tony G DilliardFranceAsiya Javayant NEW
Darci H FlosiFranceAnna Fali UNQUALIFIED
Murillo H WieserCanadaAmy Elsner NEW
Sinclair I PoquetteIndiaBernardo Dominic PROPOSAL
Isabel B GauchoFranceOnyama Limba NEW
Kadeem P SlusarskiSpainIvan Magalhaes UNQUALIFIED
Emily G CaudyJapanOnyama Limba NEW
Ricardo P NestleUnited KingdomAsiya Javayant NEW
Wickens B BowleyIndiaStephen Shaw NEGOTIATION
Arvin Z SlusarskiItalyAmy Elsner PROPOSAL
Wickens Y WhobreyItalyIvan Magalhaes RENEWAL
Misaki K SchemmerSpainBernardo Dominic NEGOTIATION
Chavez I GillianArgentinaIvan Magalhaes PROPOSAL
Francesco X RimItalyOnyama Limba QUALIFIED
Kadeem W PoquetteArgentinaOnyama Limba NEW
Mayumi P SlusarskiFranceBernardo Dominic QUALIFIED
Mujtaba F DilliardJapanBernardo Dominic RENEWAL
Morrow R ButtRussiaAnna Fali NEW
Sinclair U MorascaItalyAmy Elsner QUALIFIED
Clifford R ShinkoSpainStephen Shaw NEW
Murillo B MaletJapanBernardo Dominic NEW
Clifford N BriddickItalyElwin Sharvill RENEWAL
Leja O SchemmerJapanXuxue Feng RENEWAL
Octavia H SaylorsUnited KingdomXuxue Feng NEW
Kadeem T InouyeIndiaAsiya Javayant PROPOSAL
Francesco V MaletUnited KingdomIoni Bowcher NEW
Francesco L CaldareraSpainAnna Fali RENEWAL
Wickens H BowleyRussiaIoni Bowcher UNQUALIFIED
Murillo W InouyeSpainAnna Fali UNQUALIFIED
Greenwood T SaylorsItalyXuxue Feng NEGOTIATION
Aditya L SaylorsCanadaAmy Elsner NEW
Ivar T DarakjyFranceAnna Fali UNQUALIFIED
Jones O WaycottCanadaAnna Fali PROPOSAL
Stacey X MarrierArgentinaAsiya Javayant QUALIFIED
Leja U PerinJapanStephen Shaw RENEWAL
Clifford T TollnerRussiaStephen Shaw 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>