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
Jeanfrancois F ShinkoCanadaOnyama Limba NEGOTIATION
Darci A OldroydIndiaStephen Shaw RENEWAL
Jefferson V MorascaAustraliaAmy Elsner UNQUALIFIED
Faith D SlusarskiSpainXuxue Feng PROPOSAL
Ashley Q ButtUnited KingdomBernardo Dominic NEGOTIATION
David D RutaBrazilElwin Sharvill PROPOSAL
Francesco F RulapaughItalyBernardo Dominic NEW
Jones Z GarufiRussiaAsiya Javayant UNQUALIFIED
Maria L RoysterUnited KingdomIoni Bowcher NEW
Silvio I RulapaughItalyXuxue Feng UNQUALIFIED
Faith R GillianArgentinaElwin Sharvill UNQUALIFIED
Jefferson N OstroskySpainAnna Fali RENEWAL
Francesco X OldroydUnited KingdomAmy Elsner QUALIFIED
Wickens F WaycottSpainStephen Shaw PROPOSAL
Alejandro Y CampainCanadaOnyama Limba RENEWAL
Murillo Y WhobreyGermanyIvan Magalhaes QUALIFIED
Kaitlin H AmigonIndiaIvan Magalhaes RENEWAL
Ivar U FlosiArgentinaXuxue Feng PROPOSAL
Misaki V TollnerItalyAmy Elsner RENEWAL
Costa U SchemmerCanadaOnyama Limba UNQUALIFIED
Claire M VenereJapanIvan Magalhaes PROPOSAL
Arvin T TollnerBrazilIvan Magalhaes NEGOTIATION
Ivar B PaprockiArgentinaAnna Fali RENEWAL
Greenwood F TollnerGermanyAmy Elsner PROPOSAL
Clifford P RoysterAustraliaXuxue Feng NEW
Ivar L StensethSpainBernardo Dominic QUALIFIED
Maria Q MaletItalyStephen Shaw PROPOSAL
Leon A FigeroaBrazilIoni Bowcher NEW
Ashley M InouyeIndiaIvan Magalhaes NEW
Jones J SaylorsJapanAnna Fali PROPOSAL
Murillo S SchemmerArgentinaXuxue Feng QUALIFIED
Izzy I StensethIndiaStephen Shaw NEGOTIATION
Jones H RoysterAustraliaIvan Magalhaes NEGOTIATION
Maisha S NestleJapanAsiya Javayant UNQUALIFIED
James J SaylorsItalyBernardo Dominic NEW
Ricardo L KolmetzItalyAsiya Javayant QUALIFIED
Juan C BriddickBrazilAsiya Javayant PROPOSAL
Darci T KuskoFranceAsiya Javayant QUALIFIED
Ricardo K SergiRussiaIoni Bowcher UNQUALIFIED
Smith V CaldareraRussiaAmy Elsner RENEWAL
Mayumi R CaldareraJapanElwin Sharvill NEGOTIATION
Costa F VocelkaAustraliaAsiya Javayant NEW
Johnson N FlosiIndiaElwin Sharvill PROPOSAL
Alejandro V RulapaughIndiaStephen Shaw NEGOTIATION
Silvio G MarrierJapanAnna Fali QUALIFIED
Deepesh G OstroskySpainAsiya Javayant PROPOSAL
Isabel V WhobreyItalyStephen Shaw PROPOSAL
Deepesh C MorascaSpainStephen Shaw RENEWAL
Chavez Y TollnerCanadaBernardo Dominic QUALIFIED
Francesco T InouyeJapanXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Francesco O PoquetteUnited KingdomBernardo Dominic UNQUALIFIED
Kadeem X RimFranceElwin Sharvill QUALIFIED
Silvio F ShinkoUnited KingdomXuxue Feng UNQUALIFIED
Silvio N FlosiAustraliaAmy Elsner RENEWAL
Salvatore K PerinArgentinaIvan Magalhaes UNQUALIFIED
Ricardo D OstroskyUnited KingdomElwin Sharvill NEW
Wickens Y WieserBrazilAsiya Javayant QUALIFIED
Antonio F StockhamIndiaAmy Elsner RENEWAL
Jefferson Y IturbideRussiaAsiya Javayant UNQUALIFIED
Cody W RimGermanyIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba T VocelkaGermany2024-06-16Chapman, Ross E Esq QUALIFIED26Elwin Sharvill
1001Octavia P DarakjyAustralia2024-06-12Printing Dimensions RENEWAL18Stephen Shaw
1002Octavia J MaletFrance2024-06-09Chanay, Jeffrey A Esq RENEWAL52Bernardo Dominic
1003Kadeem K GauchoGermany2024-06-11Chapman, Ross E Esq NEGOTIATION93Elwin Sharvill
1004Munro J InouyeRussia2024-05-29Rangoni Of Florence PROPOSAL79Bernardo Dominic
1005Jeanfrancois N MorascaBrazil2024-05-29Rousseaux, Michael Esq NEW93Ivan Magalhaes
1006Leja B PerinFrance2024-06-02Morlong Associates NEGOTIATION7Asiya Javayant
1007Stacey I ShinkoItaly2024-06-04Truhlar And Truhlar Attys NEW36Xuxue Feng
1008Arvin L ChuiIndia2024-06-13Feiner Bros QUALIFIED91Asiya Javayant
1009Wickens J SergiJapan2024-06-09Rangoni Of Florence QUALIFIED68Ioni Bowcher
1010Smith H SaylorsUnited Kingdom2024-05-22Printing Dimensions RENEWAL39Asiya Javayant
1011Maisha G CampainItaly2024-06-15Commercial Press NEW17Amy Elsner
1012Ivar M MacleadGermany2024-06-06Rousseaux, Michael Esq NEGOTIATION95Bernardo Dominic
1013Cody P RimUnited Kingdom2024-05-30Dorl, James J Esq RENEWAL77Asiya Javayant
1014Maisha P ButtArgentina2024-06-09Dorl, James J Esq NEW64Bernardo Dominic
1015Julie N ChuiGermany2024-05-30Buckley Miller Wright NEW28Anna Fali
1016Claire C AmigonArgentina2024-05-25Chanay, Jeffrey A Esq PROPOSAL86Asiya Javayant
1017Jennifer S ChuiGermany2024-06-12Chapman, Ross E Esq NEW97Ioni Bowcher
1018Morrow O GauchoCanada2024-05-22Feiner Bros UNQUALIFIED39Bernardo Dominic
1019Misaki M VocelkaUnited Kingdom2024-06-03Truhlar And Truhlar Attys PROPOSAL85Xuxue Feng
1020Mujtaba E StockhamItaly2024-06-12Dorl, James J Esq QUALIFIED40Amy Elsner
1021Francesco V NickaAustralia2024-05-21Feiner Bros UNQUALIFIED47Onyama Limba
1022Ivar L CaldareraBrazil2024-05-30Feiner Bros QUALIFIED74Asiya Javayant
1023Antonio O StockhamRussia2024-06-18Chapman, Ross E Esq PROPOSAL96Ioni Bowcher
1024Salvatore E OstroskyArgentina2024-06-12Rousseaux, Michael Esq NEW12Amy Elsner
1025Alejandro O ChuiUnited Kingdom2024-06-02Commercial Press RENEWAL34Stephen Shaw
1026Chavez A BowleyRussia2024-06-14Feiner Bros PROPOSAL61Ioni Bowcher
1027Jones N MaletSpain2024-05-20Chemel, James L Cpa PROPOSAL3Bernardo Dominic
1028Costa X StockhamFrance2024-05-21Rousseaux, Michael Esq QUALIFIED8Ivan Magalhaes
1029Stacey C OstroskyUnited Kingdom2024-06-17Morlong Associates RENEWAL28Bernardo Dominic
1030Leon U FerenczFrance2024-06-13Dorl, James J Esq RENEWAL31Bernardo Dominic
1031Jefferson Y BriddickRussia2024-05-30Dorl, James J Esq PROPOSAL4Elwin Sharvill
1032Ivar B OstroskyJapan2024-06-07Dorl, James J Esq PROPOSAL81Ivan Magalhaes
1033Murillo R BriddickRussia2024-06-13Rousseaux, Michael Esq QUALIFIED34Ivan Magalhaes
1034Juan W ButtAustralia2024-05-20Chemel, James L Cpa PROPOSAL18Amy Elsner
1035Alejandro W ChuiSpain2024-05-23Morlong Associates NEGOTIATION67Ioni Bowcher
1036Adams T RimAustralia2024-06-06Benton, John B Jr NEW5Elwin Sharvill
1037Wickens X OldroydBrazil2024-05-27Morlong Associates QUALIFIED52Amy Elsner
1038Leja F DarakjyCanada2024-06-03Rangoni Of Florence RENEWAL64Bernardo Dominic
1039Kaitlin G GlickAustralia2024-06-11Feiner Bros PROPOSAL48Ivan Magalhaes
1040Francesco P NickaSpain2024-06-14Feltz Printing Service QUALIFIED53Anna Fali
1041Sinclair C AlbaresGermany2024-06-12Rangoni Of Florence NEGOTIATION53Amy Elsner
1042Rodrigues L PoquetteIndia2024-05-31Rousseaux, Michael Esq UNQUALIFIED29Anna Fali
1043Ashley E KuskoIndia2024-05-30Commercial Press PROPOSAL50Anna Fali
1044Ricardo J MacleadAustralia2024-06-01Commercial Press NEGOTIATION39Elwin Sharvill
1045Maria L StensethArgentina2024-06-14Benton, John B Jr NEGOTIATION92Onyama Limba
1046Jefferson U RulapaughRussia2024-05-25Feiner Bros NEW22Bernardo Dominic
1047Smith Y ChuiSpain2024-05-30Chemel, James L Cpa PROPOSAL53Onyama Limba
1048Ashley N WhobreyUnited Kingdom2024-05-23Feiner Bros QUALIFIED76Ivan Magalhaes
1049Leon O WieserUnited Kingdom2024-06-12Chanay, Jeffrey A Esq NEGOTIATION16Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Munro Y WieserFranceStephen Shaw UNQUALIFIED
David R FigeroaCanadaElwin Sharvill PROPOSAL
Izzy F FollerAustraliaStephen Shaw RENEWAL
Ivar X GillianSpainStephen Shaw NEW
James D CaudyGermanyAmy Elsner UNQUALIFIED
Alejandro P OldroydRussiaIoni Bowcher NEW
Izzy E NestleFranceIvan Magalhaes RENEWAL
David G KuskoGermanyIvan Magalhaes QUALIFIED
Darci T PerinArgentinaAsiya Javayant NEGOTIATION
Stacey D AlbaresRussiaAsiya Javayant NEW
Aika H GauchoGermanyXuxue Feng PROPOSAL
Smith I GarufiBrazilAsiya Javayant RENEWAL
Mujtaba F MaletRussiaAnna Fali NEW
Misaki M GauchoGermanyStephen Shaw NEGOTIATION
Isabel P MaletIndiaElwin Sharvill RENEWAL
Ivar B RutaAustraliaXuxue Feng NEW
Emily M FlosiFranceOnyama Limba NEW
Alejandro P MaletCanadaAsiya Javayant RENEWAL
Silvio B InouyeFranceOnyama Limba UNQUALIFIED
Octavia V DarakjyGermanyAnna Fali NEW
Antonio X ChuiArgentinaXuxue Feng RENEWAL
Adams Z NestleCanadaAsiya Javayant RENEWAL
Claire K WhobreyCanadaAmy Elsner PROPOSAL
Ivar B MarrierUnited KingdomAmy Elsner NEW
Aika J MacleadBrazilAnna Fali UNQUALIFIED
Smith D SaylorsJapanStephen Shaw PROPOSAL
Maria O InouyeCanadaIoni Bowcher RENEWAL
Rodrigues S WieserIndiaXuxue Feng NEW
Maria C KuskoCanadaBernardo Dominic NEW
Johnson E ShinkoJapanAmy Elsner NEW
Kaitlin T MaletGermanyAsiya Javayant PROPOSAL
Misaki X PerinRussiaIvan Magalhaes PROPOSAL
Deepesh H StensethItalyIoni Bowcher QUALIFIED
Leon Y SaylorsRussiaOnyama Limba PROPOSAL
Julie E ChuiCanadaElwin Sharvill NEW
Misaki M AmigonRussiaOnyama Limba UNQUALIFIED
Jefferson W BowleyAustraliaOnyama Limba PROPOSAL
Octavia B DilliardAustraliaAmy Elsner RENEWAL
Jefferson J SlusarskiBrazilIvan Magalhaes UNQUALIFIED
Alejandro I BologniaUnited KingdomOnyama Limba RENEWAL
Clifford F AmigonBrazilBernardo Dominic UNQUALIFIED
Nicolas A GauchoIndiaAnna Fali QUALIFIED
Salvatore Q FollerUnited KingdomXuxue Feng UNQUALIFIED
Clifford X IturbideRussiaAmy Elsner NEGOTIATION
Munro I GauchoBrazilStephen Shaw PROPOSAL
Ivar B SchemmerCanadaAsiya Javayant QUALIFIED
Jennifer G InouyeIndiaElwin Sharvill PROPOSAL
Cody U DoeItalyAnna Fali PROPOSAL
Maisha H FerenczIndiaAsiya Javayant PROPOSAL
Rodrigues I DilliardCanadaAnna Fali QUALIFIED
Frozen Columns
Name
Murillo W Marrier
Cody U Dilliard
Jennifer Y Gillian
Izzy E Glick
Kadeem N Amigon
Francesco D Slusarski
Salvatore B Gaucho
Aruna W Malet
Stacey Z Gaucho
Aditya Q Venere
Kadeem L Ostrosky
Nicolas Q Amigon
Kadeem Q Malet
Stacey L Venere
Aruna S Saylors
Jeanfrancois K Poquette
Leon P Darakjy
Claire H Schemmer
Maisha L Kusko
Morrow P Campain
Jones R Gaucho
Rodrigues V Kusko
Antonio W Dilliard
Faith U Maclead
Aruna X Briddick
Johnson N Waycott
Silvio B Rulapaugh
Jefferson M Saylors
Faith Y Bolognia
Darci X Stenseth
Nicolas G Briddick
Isabel T Campain
Jefferson V Rulapaugh
Stacey Y Poquette
David A Rim
Jennifer J Gaucho
Aruna Z Amigon
Juan H Campain
Maisha Q Nestle
Silvio C Gillian
James L Bolognia
Faith K Albares
Mujtaba V Flosi
Ashley S Gaucho
Maisha P Rim
Kaitlin J Doe
Arvin R Campain
Leja U Glick
Murillo D Gaucho
Salvatore A Rulapaugh
IdCountryDate
1000United Kingdom2024-06-01
1001Brazil2024-06-13
1002Argentina2024-05-21
1003France2024-06-13
1004Russia2024-05-24
1005Italy2024-06-17
1006France2024-05-20
1007Germany2024-06-01
1008India2024-06-10
1009France2024-05-24
1010Russia2024-06-12
1011India2024-06-10
1012Canada2024-06-04
1013Italy2024-06-10
1014France2024-06-14
1015Japan2024-05-29
1016Russia2024-06-01
1017Japan2024-06-18
1018Canada2024-06-12
1019Australia2024-05-22
1020Canada2024-06-17
1021Germany2024-05-29
1022Japan2024-06-06
1023Argentina2024-06-02
1024Japan2024-06-18
1025Russia2024-05-23
1026Germany2024-05-29
1027Japan2024-06-01
1028Spain2024-06-01
1029Italy2024-06-08
1030France2024-06-02
1031France2024-06-01
1032Argentina2024-05-21
1033Argentina2024-05-22
1034United Kingdom2024-05-29
1035United Kingdom2024-05-21
1036Argentina2024-05-20
1037France2024-05-23
1038Italy2024-06-09
1039Italy2024-05-26
1040Germany2024-05-24
1041United Kingdom2024-06-10
1042France2024-05-27
1043United Kingdom2024-06-13
1044Canada2024-05-30
1045India2024-06-14
1046Argentina2024-06-12
1047Spain2024-06-04
1048United Kingdom2024-06-15
1049Spain2024-05-24

On-Demand Data

NameIdCountryDate
Aika S Garufi1000France2024-05-24
Kadeem Z Stockham1001Brazil2024-06-14
Jeanfrancois Z Figeroa1002Italy2024-05-28
Kaitlin D Vocelka1003Brazil2024-05-28
Darci K Caldarera1004Italy2024-05-22
Smith K Shinko1005Japan2024-06-08
Nicolas P Campain1006Canada2024-06-16
Misaki A Gaucho1007Australia2024-06-17
Nicolas E Tollner1008India2024-06-15
Misaki D Gaucho1009Italy2024-06-02
Nicolas S Vocelka1010Italy2024-06-17
Wickens B Rim1011India2024-05-31
Ricardo L Kolmetz1012Canada2024-06-01
Johnson K Royster1013Japan2024-06-06
Jennifer S Nestle1014France2024-06-05
Silvio U Waycott1015Argentina2024-06-03
Sinclair V Iturbide1016Spain2024-05-28
Adams M Waycott1017Australia2024-06-01
Darci R Waycott1018Germany2024-05-24
Isabel P Kusko1019United Kingdom2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore E MarrierRussiaBernardo Dominic UNQUALIFIED
Isabel B MorascaAustraliaStephen Shaw QUALIFIED
Tony O FlosiIndiaIvan Magalhaes NEGOTIATION
Aditya N WhobreyUnited KingdomStephen Shaw QUALIFIED
Mujtaba O SlusarskiArgentinaIvan Magalhaes PROPOSAL
Jefferson N PaprockiFranceOnyama Limba NEGOTIATION
Murillo T VocelkaGermanyStephen Shaw NEW
Smith Y TollnerCanadaAmy Elsner QUALIFIED
David D AmigonAustraliaAmy Elsner PROPOSAL
Adams T GlickFranceBernardo Dominic UNQUALIFIED
Izzy Y WieserCanadaIoni Bowcher UNQUALIFIED
Aika F BowleyGermanyOnyama Limba NEW
Sinclair G BowleyFranceAnna Fali RENEWAL
Julie L GarufiAustraliaIoni Bowcher PROPOSAL
Jennifer P SaylorsSpainAmy Elsner PROPOSAL
Aruna B RoysterGermanyIvan Magalhaes NEGOTIATION
Salvatore I IturbideCanadaAmy Elsner PROPOSAL
Aika K PerinArgentinaOnyama Limba QUALIFIED
Sinclair S PerinJapanAsiya Javayant RENEWAL
Ricardo Q ChuiArgentinaIvan Magalhaes RENEWAL
Misaki G ButtJapanElwin Sharvill NEW
Salvatore U DilliardArgentinaBernardo Dominic QUALIFIED
Sinclair A StensethRussiaAnna Fali RENEWAL
Kaitlin Y CaudyUnited KingdomXuxue Feng QUALIFIED
Ricardo Z RimFranceAsiya Javayant PROPOSAL
Emily F MarrierArgentinaStephen Shaw RENEWAL
Juan T AmigonSpainStephen Shaw PROPOSAL
Maria X ButtUnited KingdomIoni Bowcher NEW
Aruna X OstroskyJapanBernardo Dominic RENEWAL
Aruna P BriddickArgentinaAmy Elsner NEW
Antonio B KolmetzItalyAmy Elsner NEGOTIATION
Rodrigues R VenereUnited KingdomXuxue Feng UNQUALIFIED
Faith D NestleAustraliaIvan Magalhaes NEW
Wickens Z FerenczFranceAmy Elsner NEGOTIATION
Mujtaba V KolmetzJapanAmy Elsner NEGOTIATION
Jones Z FlosiAustraliaStephen Shaw QUALIFIED
Francesco A DilliardGermanyIoni Bowcher QUALIFIED
Johnson C MacleadRussiaBernardo Dominic QUALIFIED
Ashley D CaudyBrazilAmy Elsner NEGOTIATION
Leon X RutaArgentinaAnna Fali NEW

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