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
Cody H KuskoAustraliaBernardo Dominic PROPOSAL
Misaki B CaudyCanadaAsiya Javayant UNQUALIFIED
Nicolas J PerinFranceIvan Magalhaes PROPOSAL
Wickens S BowleyRussiaXuxue Feng QUALIFIED
Sinclair D OstroskyGermanyBernardo Dominic NEGOTIATION
Sinclair K MacleadIndiaAnna Fali RENEWAL
Maisha I SlusarskiIndiaBernardo Dominic PROPOSAL
Silvio L SergiItalyAmy Elsner PROPOSAL
Sinclair C ShinkoArgentinaAsiya Javayant UNQUALIFIED
Sinclair P OldroydArgentinaStephen Shaw PROPOSAL
Stacey M DoeJapanIvan Magalhaes RENEWAL
Emily I TollnerRussiaAsiya Javayant PROPOSAL
Aika O FerenczBrazilBernardo Dominic NEGOTIATION
Clifford U GarufiCanadaXuxue Feng RENEWAL
James P TollnerFranceXuxue Feng QUALIFIED
Antonio Y GillianBrazilOnyama Limba UNQUALIFIED
Johnson R VenereSpainIoni Bowcher NEW
Munro M KuskoRussiaAmy Elsner RENEWAL
Silvio S MaletAustraliaStephen Shaw NEW
Clifford Z TollnerGermanyBernardo Dominic UNQUALIFIED
Sinclair O MarrierItalyAsiya Javayant PROPOSAL
Murillo Q BowleyIndiaAnna Fali NEGOTIATION
Nicolas O StensethJapanIvan Magalhaes NEGOTIATION
Tony L RutaJapanAmy Elsner NEW
Munro V CampainCanadaOnyama Limba QUALIFIED
Leon B GarufiFranceOnyama Limba NEW
Nicolas R FlosiAustraliaElwin Sharvill NEW
Alejandro C SergiCanadaOnyama Limba NEGOTIATION
Kaitlin I SergiIndiaAmy Elsner NEW
James C RoysterArgentinaXuxue Feng NEW
Adams G GauchoAustraliaIoni Bowcher QUALIFIED
Greenwood F FigeroaFranceAnna Fali RENEWAL
Leon S RoysterSpainXuxue Feng NEGOTIATION
Maisha X AmigonAustraliaBernardo Dominic NEGOTIATION
Emily D VocelkaSpainAmy Elsner PROPOSAL
Darci P BowleyFranceAsiya Javayant PROPOSAL
Misaki Y PoquetteSpainElwin Sharvill PROPOSAL
Costa I BowleyCanadaIoni Bowcher UNQUALIFIED
Kadeem T CampainUnited KingdomStephen Shaw UNQUALIFIED
Jeanfrancois W GlickItalyOnyama Limba RENEWAL
Kaitlin N GillianBrazilAnna Fali NEW
Aruna B IturbideFranceXuxue Feng NEW
Ivar L OstroskyBrazilXuxue Feng PROPOSAL
Munro Z OstroskyFranceIvan Magalhaes PROPOSAL
Chavez A InouyeRussiaXuxue Feng NEGOTIATION
Aruna N BologniaCanadaBernardo Dominic NEGOTIATION
Maria N AlbaresFranceBernardo Dominic UNQUALIFIED
Greenwood P GlickIndiaBernardo Dominic RENEWAL
Deepesh X VocelkaFranceAmy Elsner UNQUALIFIED
Aika Y CaudySpainElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Johnson E MorascaCanadaBernardo Dominic NEW
Rodrigues A FollerRussiaStephen Shaw PROPOSAL
Clifford O PoquetteSpainAsiya Javayant QUALIFIED
Jefferson Y TollnerAustraliaElwin Sharvill RENEWAL
Maisha I BriddickIndiaIvan Magalhaes RENEWAL
Ricardo B ButtJapanAnna Fali UNQUALIFIED
Leja J FlosiUnited KingdomElwin Sharvill UNQUALIFIED
Antonio F WhobreyItalyIoni Bowcher PROPOSAL
Cody H MaletRussiaIvan Magalhaes NEW
Isabel L AlbaresArgentinaBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna K AlbaresFrance2024-05-12Feiner Bros QUALIFIED87Asiya Javayant
1001Darci O FollerBrazil2024-05-05Chanay, Jeffrey A Esq QUALIFIED39Elwin Sharvill
1002Kaitlin V GauchoJapan2024-05-17Rousseaux, Michael Esq NEW0Onyama Limba
1003Leja U CaudyCanada2024-05-20Feltz Printing Service RENEWAL14Amy Elsner
1004Costa S RimIndia2024-04-28Chanay, Jeffrey A Esq UNQUALIFIED70Onyama Limba
1005Morrow W GarufiGermany2024-04-28Morlong Associates QUALIFIED56Ivan Magalhaes
1006Salvatore D FigeroaJapan2024-05-23Commercial Press NEW30Asiya Javayant
1007Francesco O ShinkoIndia2024-05-07Rousseaux, Michael Esq UNQUALIFIED81Stephen Shaw
1008Silvio X PoquetteUnited Kingdom2024-05-18Rousseaux, Michael Esq RENEWAL86Ivan Magalhaes
1009Kadeem E MarrierSpain2024-05-18Feiner Bros RENEWAL44Asiya Javayant
1010Costa E AlbaresItaly2024-05-07Morlong Associates PROPOSAL26Asiya Javayant
1011Ricardo L BriddickRussia2024-05-25Chanay, Jeffrey A Esq QUALIFIED92Onyama Limba
1012Nicolas H InouyeCanada2024-04-27Morlong Associates QUALIFIED76Amy Elsner
1013Jones X ChuiItaly2024-05-19Chanay, Jeffrey A Esq QUALIFIED69Xuxue Feng
1014Octavia X SergiArgentina2024-05-13Rousseaux, Michael Esq RENEWAL83Stephen Shaw
1015Tony I DilliardSpain2024-05-07Benton, John B Jr NEGOTIATION49Amy Elsner
1016Jennifer E BologniaJapan2024-05-02Rangoni Of Florence NEW87Ioni Bowcher
1017Leon G RulapaughJapan2024-04-30King, Christopher A Esq PROPOSAL59Anna Fali
1018Jefferson I BologniaBrazil2024-04-27Feiner Bros PROPOSAL36Asiya Javayant
1019Wickens B MaletBrazil2024-05-09Truhlar And Truhlar Attys NEW86Elwin Sharvill
1020Silvio B WieserJapan2024-05-09Rousseaux, Michael Esq UNQUALIFIED10Anna Fali
1021Wickens E WaycottCanada2024-04-30Truhlar And Truhlar Attys PROPOSAL41Anna Fali
1022James F FerenczJapan2024-05-16Benton, John B Jr NEW52Anna Fali
1023Aditya G SchemmerItaly2024-05-14Chemel, James L Cpa PROPOSAL85Amy Elsner
1024Emily L DilliardArgentina2024-05-24Rangoni Of Florence RENEWAL36Amy Elsner
1025Murillo N SlusarskiItaly2024-04-28Buckley Miller Wright QUALIFIED78Xuxue Feng
1026Maisha R SergiBrazil2024-05-19Truhlar And Truhlar Attys NEGOTIATION10Anna Fali
1027Julie B ChuiAustralia2024-05-12Chapman, Ross E Esq QUALIFIED34Anna Fali
1028Murillo X VocelkaItaly2024-05-05Benton, John B Jr NEGOTIATION98Xuxue Feng
1029Clifford G FigeroaSpain2024-05-08Feltz Printing Service NEW85Anna Fali
1030Aditya E RulapaughSpain2024-05-01Chanay, Jeffrey A Esq RENEWAL73Elwin Sharvill
1031Costa O WhobreyArgentina2024-04-29Commercial Press PROPOSAL32Ivan Magalhaes
1032Francesco H MacleadFrance2024-05-15Feltz Printing Service QUALIFIED50Onyama Limba
1033Maisha E RoysterJapan2024-05-17Rousseaux, Michael Esq NEGOTIATION33Anna Fali
1034Chavez E OstroskyAustralia2024-05-07King, Christopher A Esq NEW16Xuxue Feng
1035Mayumi M InouyeAustralia2024-05-26Feiner Bros PROPOSAL53Ivan Magalhaes
1036Chavez G MarrierRussia2024-05-21Feiner Bros UNQUALIFIED70Elwin Sharvill
1037Emily E FerenczBrazil2024-05-04Feiner Bros NEGOTIATION88Stephen Shaw
1038Mujtaba X IturbideJapan2024-04-27Truhlar And Truhlar Attys NEGOTIATION70Anna Fali
1039Jeanfrancois S AmigonBrazil2024-05-06Morlong Associates PROPOSAL30Xuxue Feng
1040Wickens A FerenczGermany2024-05-09Benton, John B Jr NEW57Stephen Shaw
1041Stacey I BriddickCanada2024-05-03King, Christopher A Esq NEW11Asiya Javayant
1042Kadeem K DoeJapan2024-04-29Commercial Press UNQUALIFIED79Amy Elsner
1043Jefferson W RimUnited Kingdom2024-05-24Dorl, James J Esq NEW96Ioni Bowcher
1044Munro A StensethAustralia2024-05-23Benton, John B Jr UNQUALIFIED90Asiya Javayant
1045Julie B InouyeAustralia2024-04-28Feltz Printing Service RENEWAL84Ivan Magalhaes
1046Adams E GarufiUnited Kingdom2024-04-29Rousseaux, Michael Esq RENEWAL18Anna Fali
1047Aditya A GauchoUnited Kingdom2024-05-02Benton, John B Jr RENEWAL87Xuxue Feng
1048Sinclair K MorascaBrazil2024-05-03Benton, John B Jr RENEWAL32Elwin Sharvill
1049Francesco M InouyeIndia2024-05-26King, Christopher A Esq RENEWAL80Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Stacey B KuskoJapanIvan Magalhaes NEGOTIATION
Antonio P DoeUnited KingdomAmy Elsner UNQUALIFIED
Leja E MaletRussiaOnyama Limba QUALIFIED
Leon Q PerinArgentinaIvan Magalhaes NEW
Octavia I PoquetteCanadaIvan Magalhaes QUALIFIED
Deepesh O WhobreyAustraliaIvan Magalhaes QUALIFIED
Smith J FollerUnited KingdomAmy Elsner NEGOTIATION
Izzy N FigeroaBrazilBernardo Dominic PROPOSAL
Emily B DilliardItalyOnyama Limba QUALIFIED
Alejandro W ChuiSpainOnyama Limba NEW
Maria S RutaArgentinaXuxue Feng PROPOSAL
Rodrigues N IturbideGermanyIvan Magalhaes PROPOSAL
Ivar L WhobreyFranceAmy Elsner NEW
Claire H KolmetzSpainAmy Elsner UNQUALIFIED
Mayumi O MaletUnited KingdomIoni Bowcher QUALIFIED
Cody P SergiItalyAnna Fali NEW
Antonio P GauchoCanadaOnyama Limba UNQUALIFIED
Mayumi V ShinkoRussiaAmy Elsner UNQUALIFIED
Cody C DoeAustraliaAsiya Javayant NEGOTIATION
Jefferson W MorascaBrazilElwin Sharvill QUALIFIED
Ivar B InouyeBrazilElwin Sharvill NEW
Ashley I RimJapanBernardo Dominic NEGOTIATION
Antonio G BowleyIndiaAmy Elsner UNQUALIFIED
Misaki H RulapaughJapanElwin Sharvill RENEWAL
Silvio Y MarrierAustraliaStephen Shaw UNQUALIFIED
Julie W BowleyRussiaXuxue Feng RENEWAL
Juan Q ButtGermanyElwin Sharvill RENEWAL
Ivar E BologniaRussiaIoni Bowcher NEW
Faith S PaprockiUnited KingdomIvan Magalhaes NEW
Juan D GlickBrazilIvan Magalhaes RENEWAL
Clifford T NickaGermanyIoni Bowcher UNQUALIFIED
Mujtaba J MarrierGermanyXuxue Feng NEGOTIATION
Tony T WhobreyAustraliaOnyama Limba NEW
Aditya G GarufiBrazilAmy Elsner NEW
Silvio G ButtSpainOnyama Limba QUALIFIED
Emily S DoeBrazilOnyama Limba NEW
Alejandro L SchemmerAustraliaXuxue Feng PROPOSAL
Ricardo R WhobreyFranceElwin Sharvill NEGOTIATION
Kadeem Q OldroydFranceElwin Sharvill RENEWAL
Francesco S ButtAustraliaOnyama Limba NEW
Salvatore D InouyeIndiaAmy Elsner RENEWAL
Adams D RutaIndiaOnyama Limba QUALIFIED
Murillo I MorascaUnited KingdomIoni Bowcher NEGOTIATION
Salvatore F MarrierBrazilElwin Sharvill NEGOTIATION
Morrow T ShinkoRussiaAmy Elsner NEW
Octavia U DarakjyAustraliaIoni Bowcher PROPOSAL
Cody M CampainSpainOnyama Limba PROPOSAL
Tony N AmigonFranceStephen Shaw QUALIFIED
Clifford M NickaGermanyStephen Shaw NEW
Faith N NestleAustraliaAnna Fali RENEWAL
Frozen Columns
Name
Aruna S Albares
Aika F Sergi
Julie S Whobrey
Juan F Glick
Adams A Darakjy
Salvatore A Whobrey
Silvio Y Kolmetz
Wickens O Saylors
Arvin L Iturbide
Nicolas E Ostrosky
Costa H Venere
Tony V Albares
Octavia F Figeroa
Ricardo T Doe
David W Caldarera
Clifford A Iturbide
Ashley C Waycott
Ivar N Maclead
Jeanfrancois Z Bowley
Murillo H Kusko
Sinclair L Gillian
Mayumi U Rulapaugh
Kadeem A Shinko
Nicolas M Foller
Jeanfrancois D Bolognia
Kadeem N Vocelka
Misaki N Chui
Francesco G Nicka
Alejandro B Morasca
Greenwood W Kusko
Mujtaba O Rulapaugh
Mujtaba B Nestle
James V Albares
Munro H Perin
Mujtaba T Ferencz
Jefferson A Stockham
Alejandro S Ruta
Antonio Y Malet
Chavez I Schemmer
Aruna M Morasca
Maisha Z Butt
Faith D Inouye
Aruna S Glick
Arvin Q Paprocki
Claire A Campain
Alejandro Q Gillian
Costa D Caldarera
Emily X Bolognia
Leon A Foller
Aruna Z Ostrosky
IdCountryDate
1000United Kingdom2024-05-02
1001Canada2024-05-02
1002Japan2024-05-03
1003France2024-04-27
1004Russia2024-05-12
1005Russia2024-05-20
1006Spain2024-05-13
1007France2024-05-13
1008Italy2024-05-05
1009Argentina2024-05-16
1010India2024-05-24
1011Canada2024-05-02
1012France2024-05-03
1013France2024-05-09
1014United Kingdom2024-05-17
1015India2024-05-23
1016Japan2024-05-18
1017India2024-04-28
1018Germany2024-05-09
1019Spain2024-05-13
1020Italy2024-05-15
1021Canada2024-04-30
1022Japan2024-05-04
1023Italy2024-05-11
1024Russia2024-05-11
1025India2024-05-19
1026United Kingdom2024-05-03
1027India2024-05-26
1028Canada2024-05-13
1029France2024-05-10
1030India2024-05-04
1031Japan2024-05-20
1032Brazil2024-04-28
1033Russia2024-05-24
1034France2024-05-22
1035Brazil2024-05-02
1036United Kingdom2024-05-17
1037Spain2024-05-09
1038Germany2024-05-26
1039Canada2024-05-19
1040Russia2024-05-06
1041Brazil2024-04-28
1042Argentina2024-05-20
1043India2024-05-02
1044Japan2024-05-22
1045Germany2024-05-06
1046Australia2024-05-18
1047Australia2024-05-09
1048India2024-05-22
1049France2024-05-06

On-Demand Data

NameIdCountryDate
Arvin U Wieser1000Russia2024-05-07
Mayumi S Stenseth1001Spain2024-05-01
Kadeem W Caudy1002India2024-05-24
Deepesh C Amigon1003France2024-04-28
Chavez Q Gaucho1004Canada2024-05-21
Emily V Garufi1005Canada2024-05-03
Jeanfrancois V Schemmer1006Italy2024-05-19
Francesco T Glick1007Canada2024-05-01
Munro N Glick1008Japan2024-04-29
Aika A Ruta1009Japan2024-05-16
Maria B Shinko1010Russia2024-05-17
Adams K Stockham1011Japan2024-05-15
Adams C Kusko1012India2024-05-26
Jeanfrancois N Royster1013Spain2024-05-13
Emily I Kolmetz1014Canada2024-05-05
Deepesh R Briddick1015Australia2024-05-23
Faith O Flosi1016Italy2024-05-08
Johnson D Darakjy1017United Kingdom2024-05-10
Salvatore T Kolmetz1018Canada2024-05-16
Cody A Caldarera1019France2024-05-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson W MorascaArgentinaOnyama Limba PROPOSAL
Ricardo Y DoeCanadaIvan Magalhaes NEW
Stacey V GarufiGermanyElwin Sharvill QUALIFIED
Octavia W FollerAustraliaIoni Bowcher NEW
Julie D RutaJapanAsiya Javayant NEGOTIATION
Murillo X ButtJapanOnyama Limba QUALIFIED
Darci W OldroydUnited KingdomOnyama Limba UNQUALIFIED
Smith M MaletFranceStephen Shaw PROPOSAL
Claire R MorascaRussiaXuxue Feng QUALIFIED
Wickens A VocelkaArgentinaOnyama Limba PROPOSAL
Deepesh N RoysterBrazilAnna Fali QUALIFIED
Mayumi F DilliardItalyBernardo Dominic PROPOSAL
Sinclair L BriddickItalyIvan Magalhaes UNQUALIFIED
Ricardo R IturbideItalyIvan Magalhaes PROPOSAL
Aika Z PaprockiRussiaAmy Elsner PROPOSAL
Antonio K GlickRussiaAmy Elsner UNQUALIFIED
Claire W MaletCanadaBernardo Dominic NEGOTIATION
Nicolas L CaldareraBrazilOnyama Limba PROPOSAL
Aika M BowleyUnited KingdomIvan Magalhaes UNQUALIFIED
Deepesh X InouyeGermanyAmy Elsner UNQUALIFIED
Emily Q ChuiRussiaStephen Shaw UNQUALIFIED
Aika S RulapaughJapanOnyama Limba PROPOSAL
Clifford D GlickFranceAmy Elsner NEW
Emily T CampainIndiaAnna Fali UNQUALIFIED
Jones E DilliardFranceIoni Bowcher RENEWAL
James A MacleadAustraliaIoni Bowcher UNQUALIFIED
James A FigeroaSpainElwin Sharvill NEW
Jones W AlbaresAustraliaBernardo Dominic RENEWAL
Aditya C VocelkaAustraliaIvan Magalhaes NEW
Jennifer B AlbaresJapanAnna Fali UNQUALIFIED
Deepesh E StensethIndiaIoni Bowcher RENEWAL
Ashley I ShinkoGermanyBernardo Dominic NEGOTIATION
Maisha I ShinkoCanadaAnna Fali QUALIFIED
Johnson K StockhamRussiaAnna Fali UNQUALIFIED
David G DarakjyIndiaAnna Fali NEW
Rodrigues Q CaldareraBrazilAnna Fali PROPOSAL
Maisha K IturbideItalyElwin Sharvill NEGOTIATION
Sinclair T MorascaUnited KingdomElwin Sharvill QUALIFIED
Faith C NestleIndiaAnna Fali NEW
Antonio F KuskoArgentinaBernardo Dominic NEGOTIATION

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