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
Aika E FlosiGermanyAsiya Javayant RENEWAL
Deepesh I SlusarskiAustraliaBernardo Dominic RENEWAL
Octavia O FigeroaRussiaAnna Fali UNQUALIFIED
Octavia R WieserBrazilAmy Elsner RENEWAL
Isabel V ChuiCanadaAmy Elsner NEW
Ricardo V GlickSpainOnyama Limba QUALIFIED
Cody L WhobreyCanadaBernardo Dominic QUALIFIED
Costa B TollnerAustraliaElwin Sharvill NEW
Misaki O BriddickJapanAsiya Javayant RENEWAL
Juan R RoysterRussiaIoni Bowcher NEW
Greenwood C BriddickBrazilIvan Magalhaes RENEWAL
James O BowleyAustraliaAmy Elsner NEW
Stacey M GillianArgentinaStephen Shaw RENEWAL
Mayumi J PaprockiArgentinaXuxue Feng NEW
Deepesh O KolmetzFranceAnna Fali QUALIFIED
Leon R WaycottFranceOnyama Limba RENEWAL
Jeanfrancois A OldroydUnited KingdomAnna Fali PROPOSAL
Cody D CaudyArgentinaStephen Shaw RENEWAL
Ashley G SchemmerBrazilElwin Sharvill UNQUALIFIED
Rodrigues Y IturbideIndiaIoni Bowcher QUALIFIED
Juan P CaldareraUnited KingdomOnyama Limba QUALIFIED
Stacey Z GlickCanadaAmy Elsner QUALIFIED
Wickens E PaprockiGermanyXuxue Feng NEGOTIATION
Jeanfrancois P MaletArgentinaStephen Shaw NEW
Costa M RimGermanyAmy Elsner PROPOSAL
Maisha G ShinkoJapanAnna Fali PROPOSAL
Aika Y GlickGermanyIvan Magalhaes NEGOTIATION
Antonio Y WhobreyIndiaXuxue Feng NEW
Morrow D InouyeJapanXuxue Feng PROPOSAL
Misaki G InouyeItalyXuxue Feng QUALIFIED
Francesco L OstroskyGermanyAmy Elsner PROPOSAL
Wickens K BriddickUnited KingdomAnna Fali RENEWAL
Ricardo P SergiGermanyElwin Sharvill RENEWAL
Julie K VenereJapanStephen Shaw QUALIFIED
Morrow Z CampainItalyAsiya Javayant PROPOSAL
Aruna Q BowleyGermanyElwin Sharvill UNQUALIFIED
Mujtaba Y CaudyGermanyIvan Magalhaes RENEWAL
Aruna Z FlosiSpainOnyama Limba NEGOTIATION
James K NickaAustraliaStephen Shaw UNQUALIFIED
Rodrigues D NickaRussiaBernardo Dominic PROPOSAL
Rodrigues G VenereSpainBernardo Dominic RENEWAL
Isabel U KolmetzCanadaOnyama Limba NEGOTIATION
Wickens A KuskoJapanAnna Fali NEGOTIATION
Ashley P WaycottCanadaStephen Shaw UNQUALIFIED
Izzy H VenereIndiaBernardo Dominic QUALIFIED
Alejandro D FlosiCanadaIoni Bowcher NEW
Munro F FlosiAustraliaAmy Elsner QUALIFIED
Ashley Z MarrierFranceBernardo Dominic PROPOSAL
Julie X OldroydArgentinaStephen Shaw PROPOSAL
Adams I VenereGermanyBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Stacey L SaylorsCanadaAsiya Javayant UNQUALIFIED
James I RulapaughIndiaIvan Magalhaes NEGOTIATION
Greenwood E MaletCanadaAmy Elsner NEGOTIATION
Mayumi K NickaCanadaOnyama Limba PROPOSAL
Silvio V DilliardItalyAmy Elsner UNQUALIFIED
Jefferson M RutaAustraliaAnna Fali NEW
Jennifer X FerenczArgentinaElwin Sharvill RENEWAL
Isabel K SchemmerCanadaBernardo Dominic RENEWAL
Kaitlin B VocelkaGermanyOnyama Limba NEW
Julie C InouyeBrazilElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow K IturbideFrance2025-04-08Feltz Printing Service PROPOSAL6Stephen Shaw
1001Mujtaba I CampainBrazil2025-04-10Chanay, Jeffrey A Esq RENEWAL48Asiya Javayant
1002Rodrigues V CaldareraArgentina2025-04-07Chapman, Ross E Esq QUALIFIED78Ivan Magalhaes
1003Emily C RutaAustralia2025-04-14Rousseaux, Michael Esq UNQUALIFIED45Elwin Sharvill
1004Johnson W FollerIndia2025-04-03Dorl, James J Esq QUALIFIED15Stephen Shaw
1005Ricardo A KolmetzGermany2025-04-04Rousseaux, Michael Esq NEW65Xuxue Feng
1006Murillo U GauchoSpain2025-04-28Benton, John B Jr UNQUALIFIED60Elwin Sharvill
1007Faith D OstroskyCanada2025-04-29Chemel, James L Cpa PROPOSAL92Anna Fali
1008Jennifer U TollnerIndia2025-04-10Dorl, James J Esq NEW95Onyama Limba
1009Leja P GauchoRussia2025-04-01Printing Dimensions RENEWAL74Bernardo Dominic
1010Aika W GillianCanada2025-04-28King, Christopher A Esq NEW53Xuxue Feng
1011Jefferson Q GarufiRussia2025-04-08Morlong Associates QUALIFIED31Ivan Magalhaes
1012Kadeem Q KuskoItaly2025-04-12Dorl, James J Esq NEW45Xuxue Feng
1013Costa N DoeUnited Kingdom2025-04-23Printing Dimensions UNQUALIFIED0Xuxue Feng
1014Izzy O WaycottCanada2025-04-14Morlong Associates NEW89Stephen Shaw
1015Rodrigues R WhobreyIndia2025-04-08King, Christopher A Esq NEGOTIATION63Stephen Shaw
1016Munro L StensethUnited Kingdom2025-04-02Chanay, Jeffrey A Esq UNQUALIFIED17Anna Fali
1017Antonio B IturbideIndia2025-04-20Chemel, James L Cpa NEW52Bernardo Dominic
1018Ashley J GillianBrazil2025-04-16Benton, John B Jr PROPOSAL25Onyama Limba
1019Adams F MorascaAustralia2025-04-12King, Christopher A Esq UNQUALIFIED86Onyama Limba
1020Misaki A ShinkoFrance2025-04-15Dorl, James J Esq NEGOTIATION40Bernardo Dominic
1021Chavez A KolmetzBrazil2025-04-06Benton, John B Jr RENEWAL93Xuxue Feng
1022Jeanfrancois E ChuiSpain2025-04-23Chapman, Ross E Esq RENEWAL62Ioni Bowcher
1023Jones X MorascaCanada2025-04-14Buckley Miller Wright RENEWAL81Ivan Magalhaes
1024Emily O VocelkaArgentina2025-04-05Feiner Bros QUALIFIED25Xuxue Feng
1025Octavia D CampainGermany2025-04-27Chapman, Ross E Esq NEGOTIATION21Ivan Magalhaes
1026Misaki O CampainItaly2025-04-13Chapman, Ross E Esq RENEWAL83Bernardo Dominic
1027Silvio Z CampainBrazil2025-04-17Dorl, James J Esq PROPOSAL58Bernardo Dominic
1028Emily V PaprockiUnited Kingdom2025-04-12Rangoni Of Florence NEW55Stephen Shaw
1029Jefferson O SlusarskiArgentina2025-04-23Chemel, James L Cpa NEGOTIATION96Stephen Shaw
1030Aruna T StensethSpain2025-04-11King, Christopher A Esq QUALIFIED44Ioni Bowcher
1031Cody R AmigonArgentina2025-04-03Rousseaux, Michael Esq NEGOTIATION18Ioni Bowcher
1032Jones C CampainRussia2025-04-12King, Christopher A Esq NEGOTIATION47Amy Elsner
1033Ashley H AmigonCanada2025-04-28Buckley Miller Wright PROPOSAL9Asiya Javayant
1034Kaitlin I GlickSpain2025-04-24Chanay, Jeffrey A Esq NEW98Bernardo Dominic
1035Clifford R GillianIndia2025-04-01Feltz Printing Service UNQUALIFIED83Anna Fali
1036Jones Y RutaIndia2025-04-29Buckley Miller Wright NEW75Asiya Javayant
1037Rodrigues N SlusarskiSpain2025-04-04Benton, John B Jr RENEWAL84Ivan Magalhaes
1038Francesco J FollerFrance2025-04-20Feiner Bros RENEWAL61Asiya Javayant
1039Costa E StensethIndia2025-03-31Chapman, Ross E Esq UNQUALIFIED81Anna Fali
1040Salvatore S StensethBrazil2025-04-04Rangoni Of Florence RENEWAL15Xuxue Feng
1041Alejandro O MorascaRussia2025-04-10Printing Dimensions NEW80Bernardo Dominic
1042Stacey F SlusarskiIndia2025-04-28Chapman, Ross E Esq UNQUALIFIED0Elwin Sharvill
1043Faith R GauchoBrazil2025-04-06Chemel, James L Cpa QUALIFIED26Elwin Sharvill
1044Emily Q WieserGermany2025-04-09Morlong Associates PROPOSAL76Elwin Sharvill
1045Greenwood T BriddickSpain2025-04-23Rousseaux, Michael Esq QUALIFIED58Asiya Javayant
1046Misaki P RoysterAustralia2025-04-12Rousseaux, Michael Esq UNQUALIFIED23Ivan Magalhaes
1047Jeanfrancois F CaldareraUnited Kingdom2025-04-08Chapman, Ross E Esq NEGOTIATION89Bernardo Dominic
1048Leon M WaycottItaly2025-04-09Dorl, James J Esq QUALIFIED80Onyama Limba
1049Francesco X RulapaughJapan2025-04-02Feiner Bros NEW43Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
James P InouyeItalyBernardo Dominic NEGOTIATION
Aruna Q ChuiIndiaAnna Fali UNQUALIFIED
Aditya X PerinGermanyOnyama Limba NEGOTIATION
Ivar K PerinArgentinaIvan Magalhaes PROPOSAL
Ivar J CaldareraAustraliaStephen Shaw PROPOSAL
Jones R DoeGermanyStephen Shaw RENEWAL
Greenwood R SchemmerCanadaIoni Bowcher PROPOSAL
Aditya L StensethFranceStephen Shaw NEGOTIATION
Arvin E PaprockiFranceIoni Bowcher UNQUALIFIED
Nicolas B FollerItalyAnna Fali QUALIFIED
Mayumi R RimJapanBernardo Dominic NEW
Smith J ShinkoJapanAmy Elsner RENEWAL
Silvio M NestleUnited KingdomOnyama Limba NEGOTIATION
Adams W BriddickArgentinaIvan Magalhaes NEW
Kadeem W ShinkoRussiaStephen Shaw NEGOTIATION
Faith I DilliardUnited KingdomBernardo Dominic RENEWAL
Johnson L RimItalyAsiya Javayant NEGOTIATION
Munro B OldroydSpainIvan Magalhaes PROPOSAL
Ricardo O NestleItalyAmy Elsner PROPOSAL
Emily M ChuiAustraliaAmy Elsner PROPOSAL
Darci D PerinJapanBernardo Dominic RENEWAL
Ivar A NestleIndiaBernardo Dominic PROPOSAL
Arvin D RoysterRussiaElwin Sharvill QUALIFIED
Julie C WaycottSpainAmy Elsner QUALIFIED
Maisha A IturbideBrazilIvan Magalhaes QUALIFIED
Octavia P RimCanadaAmy Elsner UNQUALIFIED
Adams D SchemmerIndiaOnyama Limba NEGOTIATION
Munro X WaycottBrazilXuxue Feng RENEWAL
Jefferson C MacleadUnited KingdomIoni Bowcher RENEWAL
Ricardo W VocelkaCanadaAsiya Javayant NEGOTIATION
Silvio R AmigonUnited KingdomAmy Elsner QUALIFIED
David F IturbideJapanAsiya Javayant RENEWAL
Maisha X GillianFranceIvan Magalhaes UNQUALIFIED
Julie T OldroydFranceAnna Fali UNQUALIFIED
Arvin V WhobreyJapanAsiya Javayant PROPOSAL
Julie F IturbideAustraliaElwin Sharvill PROPOSAL
Jefferson Q PerinJapanStephen Shaw PROPOSAL
Francesco I IturbideBrazilStephen Shaw PROPOSAL
Ivar B WieserUnited KingdomOnyama Limba NEGOTIATION
Greenwood F SchemmerBrazilAsiya Javayant QUALIFIED
Johnson D KuskoAustraliaXuxue Feng QUALIFIED
David X RulapaughCanadaOnyama Limba RENEWAL
Kadeem Z PaprockiAustraliaIvan Magalhaes PROPOSAL
Ashley T BowleyGermanyStephen Shaw QUALIFIED
Sinclair I AlbaresIndiaBernardo Dominic QUALIFIED
Aruna N NickaUnited KingdomElwin Sharvill NEW
Leon P DilliardBrazilIoni Bowcher PROPOSAL
Ivar T NickaAustraliaElwin Sharvill QUALIFIED
Julie O ChuiFranceStephen Shaw QUALIFIED
Claire E SlusarskiAustraliaBernardo Dominic RENEWAL
Frozen Columns
Name
Francesco U Garufi
Sinclair R Caldarera
Mayumi K Iturbide
Arvin X Ruta
Emily U Inouye
Clifford Q Malet
Faith G Nestle
Aruna H Oldroyd
Greenwood T Flosi
Rodrigues V Tollner
Jennifer E Nestle
Alejandro R Oldroyd
Jennifer H Garufi
Stacey H Nicka
Jones P Tollner
Tony S Tollner
Cody Q Iturbide
Misaki Z Briddick
Ashley Z Gillian
Tony N Perin
Darci G Foller
Salvatore H Iturbide
Jeanfrancois P Campain
Chavez Q Doe
Ivar Q Flosi
David L Bowley
Rodrigues P Saylors
Claire Q Perin
Mujtaba K Tollner
Misaki L Schemmer
Leja Q Malet
Emily E Waycott
Jefferson J Slusarski
Aditya S Flosi
David G Kusko
David J Venere
Leja S Ferencz
Mujtaba T Bolognia
Alejandro R Darakjy
Francesco S Perin
Francesco H Inouye
Francesco L Glick
James Q Shinko
Mujtaba J Nestle
Juan C Tollner
Aditya W Ruta
Maisha J Rim
Aditya Z Malet
Aditya S Foller
Maria H Campain
IdCountryDate
1000Canada2025-04-10
1001Argentina2025-04-14
1002Argentina2025-04-07
1003Italy2025-04-05
1004Italy2025-04-28
1005France2025-04-12
1006France2025-04-06
1007Russia2025-04-15
1008Argentina2025-04-26
1009Australia2025-03-31
1010Japan2025-04-18
1011United Kingdom2025-04-10
1012Argentina2025-04-03
1013Argentina2025-04-21
1014France2025-04-22
1015Brazil2025-04-22
1016Argentina2025-04-14
1017Japan2025-04-25
1018Argentina2025-04-10
1019Spain2025-04-06
1020Russia2025-04-27
1021France2025-04-24
1022India2025-04-19
1023Canada2025-04-09
1024India2025-04-09
1025Australia2025-04-29
1026France2025-04-15
1027India2025-04-07
1028India2025-04-21
1029Italy2025-04-10
1030Australia2025-04-02
1031Brazil2025-04-08
1032Germany2025-04-29
1033Canada2025-04-25
1034France2025-04-08
1035France2025-04-10
1036France2025-04-18
1037Russia2025-04-16
1038Argentina2025-04-12
1039Italy2025-04-16
1040Brazil2025-04-09
1041Japan2025-04-06
1042Argentina2025-04-09
1043France2025-04-07
1044Japan2025-04-02
1045Russia2025-04-07
1046Canada2025-04-12
1047Australia2025-04-26
1048France2025-04-28
1049India2025-04-15

On-Demand Data

NameIdCountryDate
Jefferson V Morasca1000Japan2025-04-17
Jefferson A Doe1001Argentina2025-04-21
Smith U Sergi1002Japan2025-04-03
Morrow H Malet1003Russia2025-04-27
Clifford E Nicka1004Argentina2025-04-14
Isabel B Poquette1005United Kingdom2025-04-27
Sinclair G Tollner1006France2025-04-29
Silvio G Chui1007Spain2025-04-27
Ashley V Perin1008Argentina2025-04-24
Antonio X Briddick1009Canada2025-04-20
Maria I Dilliard1010Canada2025-04-02
Jefferson P Dilliard1011Germany2025-04-09
Aruna W Foller1012Germany2025-04-05
Octavia Z Marrier1013Germany2025-04-21
Mayumi B Flosi1014Russia2025-03-31
Wickens I Nestle1015Brazil2025-04-27
Tony M Rim1016Italy2025-04-21
Salvatore M Bowley1017Brazil2025-04-06
Rodrigues S Rim1018Italy2025-04-24
Greenwood A Tollner1019India2025-03-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo R MaletRussiaAnna Fali QUALIFIED
Jennifer L MaletAustraliaAnna Fali UNQUALIFIED
Wickens K RutaRussiaAmy Elsner NEGOTIATION
Stacey V FlosiJapanAmy Elsner NEW
Ricardo M RoysterCanadaIvan Magalhaes RENEWAL
Morrow H GillianIndiaBernardo Dominic NEGOTIATION
Tony Y NestleBrazilAsiya Javayant RENEWAL
Clifford K GarufiJapanIoni Bowcher RENEWAL
Jones N RimFranceStephen Shaw UNQUALIFIED
Adams O ButtSpainXuxue Feng RENEWAL
Silvio C MaletRussiaXuxue Feng QUALIFIED
Kadeem B FlosiCanadaBernardo Dominic UNQUALIFIED
Chavez X DilliardArgentinaAmy Elsner UNQUALIFIED
Salvatore N WaycottFranceIvan Magalhaes NEGOTIATION
Greenwood Q PoquetteCanadaAmy Elsner RENEWAL
Deepesh Z RoysterIndiaIvan Magalhaes NEW
Jones R RoysterBrazilIoni Bowcher NEW
Clifford N IturbideRussiaAsiya Javayant QUALIFIED
Wickens Z GlickGermanyAnna Fali QUALIFIED
Jeanfrancois S FerenczAustraliaStephen Shaw PROPOSAL
Smith Y FerenczSpainOnyama Limba NEGOTIATION
Johnson I FigeroaJapanAsiya Javayant UNQUALIFIED
Kaitlin B SlusarskiArgentinaElwin Sharvill QUALIFIED
Smith N StockhamCanadaElwin Sharvill NEGOTIATION
Jones W SchemmerRussiaIoni Bowcher UNQUALIFIED
Chavez K KolmetzJapanIoni Bowcher NEGOTIATION
Faith H FigeroaItalyStephen Shaw RENEWAL
Ricardo O FlosiJapanIvan Magalhaes NEGOTIATION
Ivar M TollnerGermanyBernardo Dominic QUALIFIED
Alejandro J MarrierBrazilAsiya Javayant RENEWAL
Munro C InouyeIndiaAnna Fali NEGOTIATION
Ricardo P RutaCanadaElwin Sharvill NEW
Izzy C VocelkaFranceXuxue Feng NEGOTIATION
Mayumi J TollnerAustraliaOnyama Limba NEGOTIATION
Alejandro I SchemmerSpainBernardo Dominic NEGOTIATION
Maisha M FigeroaFranceAsiya Javayant RENEWAL
Izzy A MacleadUnited KingdomAnna Fali RENEWAL
Antonio S VocelkaJapanAmy Elsner NEW
Isabel I WieserCanadaAnna Fali QUALIFIED
Ashley I InouyeBrazilOnyama Limba 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>