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
Maria Y FerenczArgentinaBernardo Dominic PROPOSAL
Munro W ShinkoUnited KingdomXuxue Feng RENEWAL
Jeanfrancois X FigeroaGermanyElwin Sharvill RENEWAL
Leja X KolmetzSpainStephen Shaw NEW
Wickens T OstroskyFranceOnyama Limba PROPOSAL
Julie A ButtIndiaAmy Elsner RENEWAL
Clifford B BriddickCanadaBernardo Dominic PROPOSAL
Claire R MorascaAustraliaBernardo Dominic NEGOTIATION
Jeanfrancois K BowleyIndiaElwin Sharvill UNQUALIFIED
Antonio J NestleIndiaElwin Sharvill NEW
Claire K ButtAustraliaIoni Bowcher PROPOSAL
Maria O PerinBrazilStephen Shaw NEGOTIATION
Rodrigues W RimUnited KingdomAmy Elsner NEGOTIATION
Maria W WaycottUnited KingdomXuxue Feng QUALIFIED
Claire R OstroskyAustraliaIoni Bowcher QUALIFIED
Izzy W BowleyJapanElwin Sharvill UNQUALIFIED
Johnson C DoeBrazilStephen Shaw QUALIFIED
Francesco P MaletRussiaBernardo Dominic NEW
Jones B KuskoRussiaOnyama Limba RENEWAL
Faith G GarufiItalyAnna Fali NEW
Tony V GlickBrazilAmy Elsner PROPOSAL
James G ShinkoAustraliaElwin Sharvill QUALIFIED
Ashley A MacleadCanadaXuxue Feng UNQUALIFIED
Izzy K PoquetteIndiaIoni Bowcher RENEWAL
Claire E DilliardIndiaElwin Sharvill QUALIFIED
Tony N RoysterGermanyAsiya Javayant UNQUALIFIED
Antonio T RutaItalyIvan Magalhaes NEW
Costa C FlosiAustraliaIvan Magalhaes NEGOTIATION
Johnson M WieserJapanAmy Elsner NEGOTIATION
Leon V BowleySpainAnna Fali NEW
Aika L FlosiUnited KingdomIvan Magalhaes QUALIFIED
Deepesh T DoeGermanyXuxue Feng NEGOTIATION
Aika A MacleadIndiaOnyama Limba UNQUALIFIED
Murillo G GlickBrazilAsiya Javayant QUALIFIED
Alejandro P DarakjyCanadaOnyama Limba QUALIFIED
Maria P CaldareraFranceIoni Bowcher QUALIFIED
Jeanfrancois A MaletAustraliaBernardo Dominic QUALIFIED
Antonio W RimItalyAnna Fali NEW
Sinclair G CaudyGermanyIvan Magalhaes RENEWAL
Munro Z TollnerSpainAsiya Javayant NEW
Aditya P StensethItalyElwin Sharvill QUALIFIED
Leon E CampainArgentinaOnyama Limba PROPOSAL
James G NestleJapanXuxue Feng RENEWAL
Mayumi Y VenereItalyBernardo Dominic RENEWAL
Murillo J CaudyRussiaAnna Fali UNQUALIFIED
Claire G KolmetzGermanyIvan Magalhaes PROPOSAL
Clifford Z GauchoItalyAsiya Javayant NEW
Juan Z PoquetteSpainIoni Bowcher RENEWAL
Aruna N NickaSpainOnyama Limba NEW
Kaitlin Z GlickArgentinaIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Munro E NestleIndiaIoni Bowcher RENEWAL
Darci H IturbideJapanOnyama Limba PROPOSAL
Isabel F KolmetzUnited KingdomAsiya Javayant NEGOTIATION
Jefferson Z OstroskyFranceIvan Magalhaes QUALIFIED
Rodrigues M SchemmerSpainAmy Elsner PROPOSAL
Cody L WieserBrazilAnna Fali QUALIFIED
Arvin X CaudyItalyAsiya Javayant QUALIFIED
Faith T StockhamIndiaOnyama Limba PROPOSAL
Ashley C InouyeBrazilAsiya Javayant PROPOSAL
Silvio J DilliardBrazilIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki O ButtBrazil2024-06-02Chanay, Jeffrey A Esq NEGOTIATION70Xuxue Feng
1001Greenwood B DilliardAustralia2024-05-28Feltz Printing Service RENEWAL14Ioni Bowcher
1002Aruna K TollnerItaly2024-06-10Benton, John B Jr UNQUALIFIED59Ivan Magalhaes
1003Alejandro Y MaletCanada2024-05-31Chapman, Ross E Esq UNQUALIFIED68Xuxue Feng
1004Kadeem J CaldareraIndia2024-06-07Chanay, Jeffrey A Esq NEW11Ioni Bowcher
1005Izzy S WieserItaly2024-06-12Feiner Bros RENEWAL64Anna Fali
1006Emily X OldroydAustralia2024-06-14Printing Dimensions PROPOSAL98Asiya Javayant
1007Octavia N DilliardJapan2024-06-04King, Christopher A Esq RENEWAL18Amy Elsner
1008Rodrigues A DoeSpain2024-06-10Chanay, Jeffrey A Esq PROPOSAL83Amy Elsner
1009Aditya O GlickFrance2024-06-10Rousseaux, Michael Esq PROPOSAL33Stephen Shaw
1010Salvatore Q SergiFrance2024-06-18Feiner Bros PROPOSAL37Ioni Bowcher
1011Sinclair N OldroydCanada2024-05-28Truhlar And Truhlar Attys UNQUALIFIED96Anna Fali
1012Morrow U StockhamUnited Kingdom2024-06-13Rangoni Of Florence NEW45Ioni Bowcher
1013Wickens S ShinkoFrance2024-05-26Chemel, James L Cpa NEGOTIATION58Xuxue Feng
1014Silvio S GarufiSpain2024-06-14Chemel, James L Cpa NEW18Ioni Bowcher
1015Alejandro R PaprockiFrance2024-06-07Rangoni Of Florence NEW11Xuxue Feng
1016Mayumi H OstroskyJapan2024-06-08Commercial Press NEW44Elwin Sharvill
1017Greenwood Q MaletJapan2024-06-11Rousseaux, Michael Esq NEW24Xuxue Feng
1018Antonio T MaletJapan2024-06-08King, Christopher A Esq PROPOSAL61Amy Elsner
1019Cody P FerenczGermany2024-06-05Buckley Miller Wright UNQUALIFIED68Stephen Shaw
1020Murillo L RulapaughRussia2024-06-12King, Christopher A Esq QUALIFIED69Bernardo Dominic
1021Misaki O SlusarskiCanada2024-06-02Rousseaux, Michael Esq UNQUALIFIED3Ioni Bowcher
1022Maria I SlusarskiUnited Kingdom2024-06-18Buckley Miller Wright QUALIFIED3Asiya Javayant
1023Stacey G TollnerArgentina2024-06-17Buckley Miller Wright NEGOTIATION55Asiya Javayant
1024Clifford U SergiIndia2024-06-21Chapman, Ross E Esq NEGOTIATION7Onyama Limba
1025Murillo A BowleyJapan2024-06-10Dorl, James J Esq UNQUALIFIED60Ioni Bowcher
1026Aika B WhobreyGermany2024-05-26Morlong Associates PROPOSAL43Ivan Magalhaes
1027Francesco D SergiItaly2024-06-14Dorl, James J Esq RENEWAL45Elwin Sharvill
1028Morrow N PoquetteBrazil2024-06-03Printing Dimensions RENEWAL30Ivan Magalhaes
1029Greenwood K OldroydRussia2024-05-25Chanay, Jeffrey A Esq PROPOSAL84Anna Fali
1030Jeanfrancois M SergiGermany2024-06-04Chemel, James L Cpa RENEWAL31Amy Elsner
1031Jennifer K ButtSpain2024-05-26Dorl, James J Esq PROPOSAL1Bernardo Dominic
1032Faith I FerenczIndia2024-06-14Feltz Printing Service UNQUALIFIED40Amy Elsner
1033Ricardo C PaprockiCanada2024-06-18Chapman, Ross E Esq NEGOTIATION57Stephen Shaw
1034Jennifer X WieserItaly2024-06-10Truhlar And Truhlar Attys NEW74Amy Elsner
1035Maisha R DoeCanada2024-05-29Chanay, Jeffrey A Esq RENEWAL71Asiya Javayant
1036Johnson E PaprockiRussia2024-06-05Dorl, James J Esq NEW10Amy Elsner
1037Ashley M GillianRussia2024-05-24Morlong Associates UNQUALIFIED59Xuxue Feng
1038Cody S AmigonUnited Kingdom2024-06-13Chanay, Jeffrey A Esq QUALIFIED54Ioni Bowcher
1039Tony V CampainGermany2024-05-29Chemel, James L Cpa NEGOTIATION83Ioni Bowcher
1040Antonio U GauchoCanada2024-06-20Feiner Bros NEW92Ioni Bowcher
1041Jennifer Y PaprockiJapan2024-06-20Morlong Associates QUALIFIED80Bernardo Dominic
1042Ivar P TollnerGermany2024-06-02Commercial Press RENEWAL69Ivan Magalhaes
1043Tony Q GillianGermany2024-06-02Chapman, Ross E Esq NEGOTIATION30Bernardo Dominic
1044James Q GarufiFrance2024-06-02Dorl, James J Esq RENEWAL97Stephen Shaw
1045Wickens P WieserUnited Kingdom2024-06-13Commercial Press NEW3Stephen Shaw
1046Juan K KuskoIndia2024-06-03Commercial Press UNQUALIFIED97Anna Fali
1047Greenwood X CaldareraItaly2024-05-24Feltz Printing Service UNQUALIFIED78Elwin Sharvill
1048Clifford V DarakjyItaly2024-06-22Dorl, James J Esq NEGOTIATION50Xuxue Feng
1049Wickens V DoeAustralia2024-06-19Chapman, Ross E Esq UNQUALIFIED13Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Alejandro C IturbideJapanAnna Fali NEGOTIATION
Deepesh K MarrierCanadaIoni Bowcher NEGOTIATION
Smith Q FollerUnited KingdomIvan Magalhaes RENEWAL
Costa R ButtBrazilAsiya Javayant NEGOTIATION
Alejandro S PaprockiSpainOnyama Limba PROPOSAL
Nicolas T MacleadGermanyElwin Sharvill NEGOTIATION
Clifford V RoysterGermanyAnna Fali NEW
Deepesh H SaylorsUnited KingdomAsiya Javayant NEGOTIATION
Rodrigues E FigeroaArgentinaOnyama Limba PROPOSAL
Isabel F RoysterAustraliaElwin Sharvill RENEWAL
Misaki M ShinkoIndiaAnna Fali RENEWAL
Faith D NestleItalyIvan Magalhaes UNQUALIFIED
Munro T PoquetteIndiaAnna Fali NEGOTIATION
Deepesh G FerenczIndiaIoni Bowcher NEGOTIATION
Arvin I NestleArgentinaXuxue Feng PROPOSAL
Jeanfrancois V SergiItalyIoni Bowcher RENEWAL
Emily I GlickItalyElwin Sharvill PROPOSAL
Aditya C GillianUnited KingdomAnna Fali QUALIFIED
Costa J OstroskyUnited KingdomStephen Shaw RENEWAL
Greenwood Y CaudySpainBernardo Dominic NEGOTIATION
Juan S SchemmerGermanyIoni Bowcher PROPOSAL
Deepesh S MaletFranceIvan Magalhaes NEGOTIATION
Johnson W RoysterGermanyAsiya Javayant RENEWAL
Adams F BologniaFranceElwin Sharvill RENEWAL
Julie M FlosiBrazilAmy Elsner NEGOTIATION
Izzy C DoeJapanBernardo Dominic PROPOSAL
Leon D PoquetteUnited KingdomAsiya Javayant RENEWAL
Leon Q CampainItalyAnna Fali NEW
Murillo M IturbideItalyAsiya Javayant UNQUALIFIED
Leja K BriddickArgentinaAmy Elsner NEW
Clifford O CampainUnited KingdomElwin Sharvill PROPOSAL
Maisha A MaletIndiaAsiya Javayant NEGOTIATION
Clifford G GillianUnited KingdomElwin Sharvill QUALIFIED
Arvin K WaycottSpainOnyama Limba NEW
Munro F NestleGermanyAsiya Javayant UNQUALIFIED
Maria A SergiArgentinaAnna Fali RENEWAL
Wickens L AmigonBrazilStephen Shaw QUALIFIED
Smith N KuskoSpainStephen Shaw PROPOSAL
Murillo L ShinkoItalyXuxue Feng PROPOSAL
Greenwood J DoeJapanStephen Shaw RENEWAL
Clifford N TollnerCanadaAsiya Javayant RENEWAL
Murillo T CampainBrazilBernardo Dominic NEGOTIATION
Jefferson M VocelkaRussiaAmy Elsner NEW
Ashley X FlosiGermanyAmy Elsner RENEWAL
Juan M FlosiItalyAsiya Javayant NEGOTIATION
Kadeem M StockhamCanadaAmy Elsner NEW
Francesco L RulapaughUnited KingdomAsiya Javayant QUALIFIED
Salvatore X FerenczArgentinaAsiya Javayant NEGOTIATION
Tony N DilliardRussiaStephen Shaw PROPOSAL
Juan V MacleadUnited KingdomIoni Bowcher NEGOTIATION
Frozen Columns
Name
Maisha C Malet
Maria C Iturbide
James L Oldroyd
Aditya O Tollner
Costa I Waycott
Chavez Y Sergi
Aruna F Kolmetz
Arvin E Malet
Octavia V Butt
Chavez T Maclead
Salvatore D Marrier
Jefferson A Morasca
Morrow H Paprocki
Arvin I Kusko
Faith L Nicka
Jones M Garufi
Ashley V Schemmer
Sinclair R Venere
Misaki C Rim
Faith I Malet
Jennifer H Wieser
Jones X Nicka
James Y Waycott
Sinclair N Slusarski
Aditya Q Albares
Wickens S Gillian
Maria P Malet
Julie D Campain
Johnson O Butt
Morrow U Perin
Maria R Ferencz
Antonio W Saylors
Aruna K Gillian
Juan C Caudy
Emily J Rulapaugh
Jeanfrancois E Figeroa
David O Morasca
Costa O Chui
Juan E Ostrosky
David V Nestle
Juan B Iturbide
Chavez C Nestle
Sinclair J Sergi
Alejandro H Butt
Maria I Butt
Clifford P Paprocki
Deepesh E Ferencz
Izzy I Poquette
Stacey F Chui
Isabel U Ruta
IdCountryDate
1000Germany2024-06-09
1001Spain2024-06-16
1002Italy2024-05-30
1003Brazil2024-05-30
1004Argentina2024-06-12
1005Brazil2024-06-19
1006Russia2024-06-07
1007Germany2024-06-22
1008Canada2024-06-06
1009Germany2024-06-16
1010Spain2024-06-01
1011Spain2024-05-31
1012Italy2024-05-26
1013Argentina2024-05-31
1014Spain2024-06-20
1015Russia2024-06-13
1016Italy2024-06-20
1017Argentina2024-06-07
1018Russia2024-06-09
1019Japan2024-05-25
1020Russia2024-06-10
1021Argentina2024-05-29
1022Germany2024-06-17
1023Russia2024-06-14
1024India2024-06-13
1025Australia2024-06-12
1026Spain2024-06-15
1027Italy2024-06-16
1028Russia2024-06-16
1029Japan2024-06-14
1030Brazil2024-06-17
1031Canada2024-06-10
1032Italy2024-06-17
1033France2024-06-04
1034Canada2024-06-07
1035Canada2024-06-08
1036Canada2024-06-08
1037Germany2024-06-10
1038India2024-05-24
1039Canada2024-05-28
1040Argentina2024-06-18
1041Brazil2024-05-24
1042United Kingdom2024-06-21
1043Italy2024-05-31
1044Brazil2024-06-17
1045United Kingdom2024-05-29
1046Canada2024-05-30
1047Argentina2024-05-26
1048France2024-06-01
1049India2024-06-03

On-Demand Data

NameIdCountryDate
Antonio I Perin1000India2024-05-29
Jones F Wieser1001Brazil2024-06-03
James M Dilliard1002Germany2024-06-03
Costa T Sergi1003Australia2024-06-03
Aika N Malet1004France2024-05-29
Murillo B Nestle1005Argentina2024-06-13
Sinclair Y Ostrosky1006Germany2024-06-18
Johnson V Vocelka1007Germany2024-06-04
Ricardo M Bolognia1008United Kingdom2024-06-09
Cody P Tollner1009India2024-06-13
Deepesh R Bowley1010Australia2024-06-22
Kadeem N Iturbide1011Australia2024-06-11
Ricardo S Malet1012Japan2024-06-10
Darci O Nicka1013Canada2024-06-03
Misaki F Kusko1014Australia2024-06-21
Munro P Ferencz1015Italy2024-06-13
Nicolas X Kolmetz1016Japan2024-06-17
Jefferson G Malet1017Canada2024-06-02
Aruna W Vocelka1018Argentina2024-06-11
Ricardo F Oldroyd1019Japan2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki W FigeroaAustraliaElwin Sharvill UNQUALIFIED
Kadeem V SaylorsBrazilAsiya Javayant NEW
Claire Z PoquetteArgentinaAnna Fali PROPOSAL
Isabel Q RoysterUnited KingdomAnna Fali PROPOSAL
Salvatore C PoquetteArgentinaOnyama Limba NEGOTIATION
Faith Q TollnerUnited KingdomIvan Magalhaes RENEWAL
Mayumi T PoquetteSpainAsiya Javayant UNQUALIFIED
Mayumi I OstroskyItalyBernardo Dominic NEGOTIATION
Greenwood U RoysterIndiaBernardo Dominic NEW
Morrow M CaldareraItalyBernardo Dominic PROPOSAL
Maisha G WhobreySpainAnna Fali NEW
Kaitlin O RulapaughRussiaXuxue Feng NEW
Antonio X SchemmerItalyXuxue Feng QUALIFIED
Jennifer J MacleadFranceIoni Bowcher QUALIFIED
Aika L BriddickBrazilStephen Shaw NEGOTIATION
Leja P VocelkaUnited KingdomIoni Bowcher PROPOSAL
Emily Z MacleadArgentinaElwin Sharvill RENEWAL
Leja T SchemmerFranceIoni Bowcher PROPOSAL
Ivar H WieserArgentinaIvan Magalhaes UNQUALIFIED
Stacey S MaletSpainXuxue Feng PROPOSAL
Octavia D FerenczIndiaStephen Shaw UNQUALIFIED
Mujtaba M KuskoJapanAnna Fali UNQUALIFIED
Jeanfrancois D GarufiItalyAnna Fali RENEWAL
Julie N SchemmerArgentinaIvan Magalhaes QUALIFIED
Arvin Q ChuiRussiaBernardo Dominic PROPOSAL
Greenwood V AmigonCanadaAmy Elsner NEGOTIATION
Salvatore K OldroydBrazilAmy Elsner QUALIFIED
Ivar P RimItalyStephen Shaw QUALIFIED
Mujtaba D SlusarskiFranceBernardo Dominic QUALIFIED
Jennifer Q MaletArgentinaIvan Magalhaes UNQUALIFIED
Tony Z FerenczJapanOnyama Limba NEGOTIATION
Clifford Z GarufiAustraliaStephen Shaw PROPOSAL
Arvin U OldroydUnited KingdomIoni Bowcher NEGOTIATION
Leon O FollerJapanOnyama Limba NEW
Chavez Q MorascaJapanXuxue Feng QUALIFIED
Cody C MorascaJapanAsiya Javayant NEGOTIATION
Jennifer N SergiCanadaXuxue Feng UNQUALIFIED
Mayumi C InouyeFranceOnyama Limba UNQUALIFIED
David K DilliardUnited KingdomXuxue Feng RENEWAL
James I BriddickAustraliaStephen 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>