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
Arvin L RutaArgentinaAsiya Javayant NEW
Rodrigues W CaldareraArgentinaBernardo Dominic QUALIFIED
Salvatore N BriddickAustraliaOnyama Limba RENEWAL
Emily W MaletGermanyAmy Elsner NEW
Jeanfrancois K ButtBrazilAnna Fali NEGOTIATION
Alejandro L NestleRussiaElwin Sharvill NEGOTIATION
David Y DilliardFranceAnna Fali RENEWAL
Jennifer I CaudyItalyElwin Sharvill PROPOSAL
James R GlickRussiaOnyama Limba RENEWAL
Salvatore E BriddickCanadaStephen Shaw QUALIFIED
Costa Z KolmetzUnited KingdomOnyama Limba NEW
Isabel K DilliardAustraliaAmy Elsner UNQUALIFIED
Misaki W BologniaGermanyAnna Fali PROPOSAL
Mujtaba Q GlickRussiaBernardo Dominic RENEWAL
Jefferson X MaletBrazilBernardo Dominic QUALIFIED
Maria B AmigonFranceIoni Bowcher NEGOTIATION
Adams O GarufiUnited KingdomAnna Fali NEGOTIATION
Wickens C VocelkaAustraliaBernardo Dominic QUALIFIED
Mayumi X TollnerBrazilAsiya Javayant PROPOSAL
Maria O DoeItalyStephen Shaw QUALIFIED
James Y NestleUnited KingdomAsiya Javayant RENEWAL
Aditya N CampainRussiaAsiya Javayant NEGOTIATION
Juan F FerenczCanadaBernardo Dominic RENEWAL
Jefferson Z RimItalyAmy Elsner QUALIFIED
Jeanfrancois Y DilliardFranceBernardo Dominic PROPOSAL
Jefferson B GauchoJapanIoni Bowcher UNQUALIFIED
Darci D MaletRussiaOnyama Limba RENEWAL
Ivar Q MorascaUnited KingdomXuxue Feng NEW
Deepesh H FigeroaFranceStephen Shaw NEW
Maisha Y SergiUnited KingdomAsiya Javayant UNQUALIFIED
Aditya G DoeFranceStephen Shaw NEW
Deepesh E VenereArgentinaOnyama Limba PROPOSAL
Aruna R GillianFranceStephen Shaw NEW
Misaki M AlbaresCanadaIoni Bowcher PROPOSAL
Jennifer L SchemmerIndiaStephen Shaw UNQUALIFIED
Isabel M FlosiBrazilElwin Sharvill UNQUALIFIED
Mujtaba N FerenczCanadaElwin Sharvill NEGOTIATION
Ivar J CaldareraIndiaOnyama Limba PROPOSAL
Greenwood T MarrierRussiaIvan Magalhaes QUALIFIED
Isabel P WieserArgentinaElwin Sharvill NEGOTIATION
Ivar Z BologniaAustraliaAnna Fali UNQUALIFIED
Misaki S RulapaughGermanyAnna Fali UNQUALIFIED
Leja C AmigonUnited KingdomAnna Fali NEW
Octavia I MorascaItalyIvan Magalhaes NEGOTIATION
Juan R PoquetteUnited KingdomOnyama Limba UNQUALIFIED
Aika D BowleyItalyBernardo Dominic QUALIFIED
Isabel D WhobreyFranceAnna Fali PROPOSAL
Alejandro W ButtSpainStephen Shaw PROPOSAL
Maria C FerenczBrazilBernardo Dominic NEW
Aika U WieserJapanOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Johnson O KolmetzItalyXuxue Feng NEW
Arvin O InouyeArgentinaAmy Elsner UNQUALIFIED
Jeanfrancois I OldroydCanadaOnyama Limba NEGOTIATION
Deepesh W ChuiArgentinaElwin Sharvill PROPOSAL
Chavez P WaycottCanadaAmy Elsner RENEWAL
Juan W RoysterAustraliaElwin Sharvill NEGOTIATION
Deepesh N FollerItalyElwin Sharvill NEGOTIATION
Adams B GillianArgentinaOnyama Limba NEW
Smith S SergiGermanyOnyama Limba NEGOTIATION
Kadeem E MacleadRussiaAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson J KolmetzArgentina2024-06-01Feltz Printing Service NEGOTIATION3Asiya Javayant
1001Rodrigues T GlickGermany2024-06-15Feltz Printing Service QUALIFIED53Anna Fali
1002Julie J KolmetzGermany2024-06-13Printing Dimensions QUALIFIED62Stephen Shaw
1003Aditya O MorascaGermany2024-06-16Feiner Bros QUALIFIED32Amy Elsner
1004Maisha M OldroydRussia2024-06-15Feltz Printing Service UNQUALIFIED2Elwin Sharvill
1005Aditya X ButtUnited Kingdom2024-06-08Truhlar And Truhlar Attys RENEWAL79Stephen Shaw
1006Adams D VocelkaJapan2024-06-16Feiner Bros NEGOTIATION98Ivan Magalhaes
1007Francesco C PerinFrance2024-06-17Feltz Printing Service RENEWAL17Asiya Javayant
1008Rodrigues H ShinkoBrazil2024-06-09Printing Dimensions NEGOTIATION90Anna Fali
1009James Q StensethAustralia2024-06-11Buckley Miller Wright RENEWAL20Onyama Limba
1010Claire J MorascaBrazil2024-05-26Rousseaux, Michael Esq RENEWAL11Xuxue Feng
1011Clifford N CaldareraSpain2024-06-19Feiner Bros PROPOSAL2Ivan Magalhaes
1012Leon R RutaItaly2024-06-04Commercial Press QUALIFIED22Asiya Javayant
1013Silvio J BowleyGermany2024-06-15Feiner Bros RENEWAL17Ivan Magalhaes
1014Jones F ChuiJapan2024-05-27Commercial Press RENEWAL53Ivan Magalhaes
1015Juan F PerinCanada2024-06-02Dorl, James J Esq NEGOTIATION75Xuxue Feng
1016Izzy S NickaItaly2024-05-28Dorl, James J Esq NEW57Bernardo Dominic
1017Faith T CaudyBrazil2024-06-08Chanay, Jeffrey A Esq NEW87Stephen Shaw
1018Maria F GauchoItaly2024-06-16Morlong Associates NEW0Elwin Sharvill
1019Darci I SergiIndia2024-05-24Rousseaux, Michael Esq QUALIFIED79Bernardo Dominic
1020Smith D MarrierJapan2024-06-07Chapman, Ross E Esq PROPOSAL36Amy Elsner
1021Aditya B OldroydAustralia2024-05-23Chemel, James L Cpa QUALIFIED92Elwin Sharvill
1022Misaki A GarufiArgentina2024-06-10Benton, John B Jr PROPOSAL1Onyama Limba
1023Alejandro E GauchoRussia2024-05-27Benton, John B Jr PROPOSAL47Ivan Magalhaes
1024Misaki T KolmetzRussia2024-06-21Chemel, James L Cpa QUALIFIED58Onyama Limba
1025James N GlickFrance2024-06-08Rousseaux, Michael Esq UNQUALIFIED37Ivan Magalhaes
1026Morrow E MaletJapan2024-06-20Truhlar And Truhlar Attys NEGOTIATION47Amy Elsner
1027Kaitlin W FlosiAustralia2024-05-24Printing Dimensions QUALIFIED20Xuxue Feng
1028Adams K BologniaArgentina2024-06-12Dorl, James J Esq QUALIFIED76Elwin Sharvill
1029Jeanfrancois D OstroskyRussia2024-06-10Benton, John B Jr QUALIFIED12Anna Fali
1030Juan J RutaBrazil2024-06-09King, Christopher A Esq RENEWAL9Xuxue Feng
1031Aditya A NestleFrance2024-06-06Benton, John B Jr RENEWAL78Asiya Javayant
1032Aruna R BowleyUnited Kingdom2024-05-31Benton, John B Jr RENEWAL43Stephen Shaw
1033Kaitlin S StockhamUnited Kingdom2024-06-12Dorl, James J Esq NEW62Xuxue Feng
1034Aditya R CaldareraBrazil2024-06-12Rangoni Of Florence NEW15Anna Fali
1035Leja V FerenczIndia2024-06-14Chapman, Ross E Esq UNQUALIFIED54Bernardo Dominic
1036Alejandro C OldroydAustralia2024-06-13Chapman, Ross E Esq NEW75Onyama Limba
1037Tony B FerenczJapan2024-06-16Dorl, James J Esq NEGOTIATION32Onyama Limba
1038Leja P PerinBrazil2024-06-13Buckley Miller Wright PROPOSAL36Onyama Limba
1039Mayumi H SaylorsRussia2024-06-11Truhlar And Truhlar Attys NEGOTIATION67Stephen Shaw
1040Julie O PoquetteSpain2024-05-23Benton, John B Jr NEGOTIATION76Elwin Sharvill
1041Claire Z SchemmerGermany2024-05-27Benton, John B Jr NEW86Bernardo Dominic
1042Murillo S GarufiSpain2024-06-04Benton, John B Jr NEGOTIATION56Asiya Javayant
1043Izzy T OldroydCanada2024-06-09Morlong Associates NEGOTIATION80Amy Elsner
1044Clifford X MacleadIndia2024-06-18Rousseaux, Michael Esq PROPOSAL4Ioni Bowcher
1045Aruna J RutaRussia2024-06-19Chapman, Ross E Esq NEW59Onyama Limba
1046Morrow W DilliardGermany2024-06-13Truhlar And Truhlar Attys NEGOTIATION77Ivan Magalhaes
1047Johnson E VocelkaArgentina2024-06-04Chemel, James L Cpa UNQUALIFIED35Asiya Javayant
1048Munro I MaletCanada2024-05-27King, Christopher A Esq UNQUALIFIED59Bernardo Dominic
1049Greenwood D StensethGermany2024-06-20Chemel, James L Cpa NEGOTIATION73Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Maisha P StockhamIndiaBernardo Dominic NEW
Julie F NestleGermanyStephen Shaw NEGOTIATION
Stacey S DilliardGermanyIvan Magalhaes NEW
Jefferson R PerinFranceIvan Magalhaes RENEWAL
Tony I WhobreyItalyIvan Magalhaes RENEWAL
Greenwood M FerenczItalyBernardo Dominic PROPOSAL
Mayumi Z SlusarskiRussiaIvan Magalhaes NEW
Misaki D SaylorsUnited KingdomIoni Bowcher NEW
Leon B MorascaJapanElwin Sharvill NEGOTIATION
Claire L CampainGermanyOnyama Limba NEGOTIATION
Kaitlin W DilliardRussiaIoni Bowcher PROPOSAL
Aika J InouyeGermanyBernardo Dominic RENEWAL
Maria M OstroskyItalyIoni Bowcher UNQUALIFIED
Cody Z GlickRussiaAnna Fali PROPOSAL
Munro V VocelkaIndiaElwin Sharvill NEGOTIATION
Octavia F DarakjyItalyIvan Magalhaes QUALIFIED
Cody F RimItalyIoni Bowcher UNQUALIFIED
Johnson B BowleyUnited KingdomOnyama Limba PROPOSAL
Arvin V RoysterBrazilAmy Elsner NEW
Ashley W GlickBrazilElwin Sharvill QUALIFIED
Ivar I FerenczCanadaAnna Fali NEW
Costa R DilliardRussiaElwin Sharvill UNQUALIFIED
Johnson C GarufiIndiaIvan Magalhaes NEGOTIATION
Faith P StockhamFranceBernardo Dominic PROPOSAL
Arvin X WieserGermanyXuxue Feng NEGOTIATION
Sinclair H RulapaughFranceAmy Elsner UNQUALIFIED
Jefferson B KuskoJapanBernardo Dominic QUALIFIED
Isabel A StockhamItalyIoni Bowcher RENEWAL
Maria M PoquetteBrazilIoni Bowcher QUALIFIED
Aika F OstroskyAustraliaElwin Sharvill NEGOTIATION
Alejandro Z KolmetzItalyOnyama Limba PROPOSAL
Francesco B DarakjyUnited KingdomStephen Shaw NEGOTIATION
Jennifer T KuskoRussiaElwin Sharvill QUALIFIED
Morrow W NickaArgentinaIvan Magalhaes QUALIFIED
Wickens R ShinkoRussiaIvan Magalhaes QUALIFIED
Mayumi F GillianBrazilIvan Magalhaes QUALIFIED
Octavia D TollnerGermanyAmy Elsner QUALIFIED
Francesco R MaletJapanStephen Shaw NEW
Maisha A VenereBrazilAsiya Javayant NEW
Jeanfrancois W CaudyArgentinaXuxue Feng UNQUALIFIED
Mayumi M RimAustraliaAmy Elsner UNQUALIFIED
Juan G OldroydIndiaStephen Shaw QUALIFIED
Munro C ChuiJapanStephen Shaw UNQUALIFIED
Aika M GlickItalyBernardo Dominic NEGOTIATION
Nicolas Q SaylorsItalyAsiya Javayant RENEWAL
Ivar K SlusarskiArgentinaOnyama Limba NEW
Alejandro M WhobreyIndiaAmy Elsner PROPOSAL
Adams I GarufiGermanyAmy Elsner PROPOSAL
Maisha N KolmetzArgentinaStephen Shaw QUALIFIED
Stacey W NickaRussiaAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Salvatore Z Venere
Julie K Rim
Darci S Wieser
Juan X Inouye
Wickens A Campain
Salvatore Q Waycott
Misaki O Vocelka
Ricardo C Foller
Costa I Perin
Maisha Y Ferencz
Murillo Z Rulapaugh
Murillo Z Malet
James Z Campain
Kaitlin Q Morasca
Sinclair V Malet
Tony D Venere
Cody P Rim
Wickens U Garufi
Kadeem Q Nestle
Greenwood P Dilliard
Leja Y Slusarski
Munro A Caudy
Costa K Waycott
Silvio U Marrier
Salvatore B Bowley
Mayumi Y Ostrosky
Kaitlin R Saylors
Adams Z Malet
Clifford I Dilliard
Leon H Oldroyd
Johnson D Wieser
Antonio Y Dilliard
Costa F Butt
Kadeem R Caldarera
Munro V Rulapaugh
Leja A Albares
Jennifer H Flosi
Jones H Bowley
Faith P Foller
Jeanfrancois R Schemmer
Darci V Caldarera
Wickens E Rim
Claire P Nestle
Claire O Dilliard
Maria F Kolmetz
Adams L Campain
Jefferson B Vocelka
Alejandro A Schemmer
Maria I Tollner
Murillo T Caudy
IdCountryDate
1000United Kingdom2024-06-06
1001Japan2024-05-25
1002Canada2024-06-18
1003Brazil2024-06-03
1004Spain2024-06-19
1005Brazil2024-06-20
1006United Kingdom2024-05-23
1007Germany2024-05-26
1008Australia2024-06-02
1009Italy2024-06-19
1010Argentina2024-06-10
1011Germany2024-06-12
1012Argentina2024-06-14
1013Brazil2024-06-15
1014Canada2024-05-28
1015Argentina2024-06-06
1016Italy2024-05-27
1017Australia2024-06-09
1018Spain2024-06-14
1019Russia2024-06-16
1020Brazil2024-05-25
1021Russia2024-06-11
1022Germany2024-05-30
1023Italy2024-05-23
1024Brazil2024-06-15
1025France2024-05-28
1026India2024-06-07
1027Canada2024-06-08
1028Canada2024-06-17
1029Argentina2024-06-01
1030Brazil2024-06-20
1031Canada2024-06-10
1032Germany2024-05-31
1033Argentina2024-05-27
1034Brazil2024-05-23
1035Australia2024-06-04
1036Spain2024-06-05
1037Spain2024-06-20
1038India2024-05-26
1039Russia2024-06-20
1040India2024-06-04
1041Japan2024-06-11
1042France2024-06-10
1043Spain2024-05-24
1044Spain2024-06-11
1045Russia2024-06-09
1046Brazil2024-06-14
1047Canada2024-06-05
1048Japan2024-06-06
1049Canada2024-06-10

On-Demand Data

NameIdCountryDate
Silvio O Malet1000Argentina2024-05-31
Adams L Garufi1001Australia2024-06-16
Nicolas X Kolmetz1002France2024-05-23
Sinclair Q Glick1003Canada2024-06-07
Johnson Y Maclead1004Brazil2024-06-19
Jennifer D Ruta1005United Kingdom2024-05-31
Ricardo X Bowley1006France2024-05-23
Chavez L Stockham1007United Kingdom2024-05-24
Johnson P Bowley1008Argentina2024-06-08
Sinclair H Caldarera1009India2024-06-10
Stacey M Shinko1010Canada2024-06-07
Octavia L Gaucho1011India2024-06-07
Juan Z Saylors1012Russia2024-06-07
Rodrigues Y Doe1013Argentina2024-06-09
Darci C Foller1014United Kingdom2024-06-05
Emily A Tollner1015Italy2024-06-10
Jones T Whobrey1016Germany2024-05-23
Alejandro J Wieser1017Canada2024-06-12
Alejandro A Maclead1018Brazil2024-06-07
Munro X Caldarera1019United Kingdom2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan X FigeroaJapanXuxue Feng NEGOTIATION
Francesco A GillianGermanyAsiya Javayant QUALIFIED
Clifford K MarrierArgentinaElwin Sharvill NEGOTIATION
David P OldroydUnited KingdomAnna Fali UNQUALIFIED
Mujtaba H InouyeItalyIvan Magalhaes PROPOSAL
Darci D PoquetteBrazilStephen Shaw UNQUALIFIED
Leon V GarufiSpainElwin Sharvill UNQUALIFIED
Leon B MarrierArgentinaAsiya Javayant NEW
Octavia L DoeSpainAmy Elsner PROPOSAL
Sinclair X MarrierGermanyAmy Elsner QUALIFIED
Isabel R BologniaBrazilStephen Shaw RENEWAL
Mujtaba P GlickIndiaAmy Elsner NEGOTIATION
Darci U GlickUnited KingdomBernardo Dominic NEW
Sinclair U FerenczBrazilAmy Elsner NEGOTIATION
Julie J DoeUnited KingdomIoni Bowcher QUALIFIED
Alejandro V BowleyUnited KingdomElwin Sharvill NEGOTIATION
Chavez J RoysterArgentinaAsiya Javayant NEGOTIATION
Jones Z KolmetzUnited KingdomIoni Bowcher NEGOTIATION
Adams K StensethBrazilBernardo Dominic PROPOSAL
Emily W CampainBrazilElwin Sharvill QUALIFIED
Kadeem R IturbideRussiaAnna Fali RENEWAL
Claire R WieserFranceBernardo Dominic PROPOSAL
Ricardo H MaletSpainIvan Magalhaes RENEWAL
Kadeem O MaletJapanBernardo Dominic RENEWAL
Aruna L NickaCanadaAnna Fali PROPOSAL
Murillo P NestleAustraliaIvan Magalhaes QUALIFIED
Jennifer F KolmetzBrazilIoni Bowcher UNQUALIFIED
Rodrigues A DarakjyIndiaXuxue Feng QUALIFIED
Antonio D WieserItalyElwin Sharvill PROPOSAL
Greenwood I BologniaItalyElwin Sharvill RENEWAL
Salvatore M WaycottArgentinaElwin Sharvill RENEWAL
James Q CaudyArgentinaAmy Elsner QUALIFIED
Jones G AlbaresBrazilElwin Sharvill NEW
Alejandro Z MaletCanadaAsiya Javayant NEGOTIATION
Alejandro W MaletSpainIoni Bowcher UNQUALIFIED
Leja I GauchoUnited KingdomAmy Elsner QUALIFIED
Emily E PaprockiArgentinaOnyama Limba NEW
Murillo M PoquetteAustraliaAnna Fali RENEWAL
Arvin Y CampainCanadaIvan Magalhaes RENEWAL
Wickens J OstroskyBrazilAmy Elsner 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>