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
James I MorascaUnited KingdomElwin Sharvill PROPOSAL
Sinclair N NickaGermanyAnna Fali PROPOSAL
Silvio V BologniaGermanyStephen Shaw NEW
Adams D TollnerJapanAmy Elsner RENEWAL
Aditya T RimItalyBernardo Dominic PROPOSAL
Julie F InouyeIndiaAnna Fali PROPOSAL
Ricardo H SaylorsSpainOnyama Limba RENEWAL
Juan L CampainUnited KingdomElwin Sharvill RENEWAL
Aruna E OldroydAustraliaBernardo Dominic NEW
Murillo N InouyeFranceAnna Fali NEW
Murillo G WaycottFranceAsiya Javayant NEW
Greenwood M GillianUnited KingdomIvan Magalhaes RENEWAL
Adams J ButtGermanyAsiya Javayant NEW
Wickens Q NestleRussiaElwin Sharvill RENEWAL
Jennifer L MorascaIndiaOnyama Limba UNQUALIFIED
Octavia Z RimSpainAmy Elsner NEGOTIATION
Arvin I FollerIndiaXuxue Feng NEGOTIATION
Jennifer F MacleadAustraliaXuxue Feng RENEWAL
Misaki P MaletSpainElwin Sharvill UNQUALIFIED
Faith E IturbideIndiaAnna Fali RENEWAL
Jefferson M MaletFranceIoni Bowcher PROPOSAL
Isabel N SlusarskiUnited KingdomXuxue Feng RENEWAL
David O SaylorsCanadaElwin Sharvill RENEWAL
Faith E ShinkoSpainAnna Fali PROPOSAL
Francesco E WhobreyBrazilElwin Sharvill PROPOSAL
Costa E MorascaJapanElwin Sharvill RENEWAL
Maisha E ButtBrazilIoni Bowcher NEW
Morrow W WaycottFranceIvan Magalhaes NEGOTIATION
Maria Y ShinkoJapanIvan Magalhaes QUALIFIED
Cody U BowleyCanadaAsiya Javayant QUALIFIED
Isabel M FlosiIndiaAnna Fali PROPOSAL
Aruna K GarufiIndiaAsiya Javayant RENEWAL
Deepesh W WieserGermanyIoni Bowcher UNQUALIFIED
Adams S MaletItalyIvan Magalhaes RENEWAL
Munro M AmigonArgentinaAmy Elsner PROPOSAL
Mujtaba A ShinkoUnited KingdomElwin Sharvill RENEWAL
Maisha X FigeroaGermanyAnna Fali QUALIFIED
Kadeem E BriddickSpainBernardo Dominic UNQUALIFIED
Sinclair L WaycottArgentinaElwin Sharvill QUALIFIED
Kaitlin Y RoysterSpainXuxue Feng RENEWAL
Adams Q BologniaAustraliaOnyama Limba UNQUALIFIED
Octavia K TollnerArgentinaOnyama Limba RENEWAL
Salvatore Q WieserCanadaAsiya Javayant NEW
David P PerinGermanyAsiya Javayant NEGOTIATION
Deepesh L MacleadAustraliaAnna Fali NEGOTIATION
Morrow M GlickFranceAsiya Javayant PROPOSAL
Wickens A NickaCanadaIvan Magalhaes NEGOTIATION
Leon Z WieserAustraliaAmy Elsner QUALIFIED
Emily U InouyeRussiaBernardo Dominic RENEWAL
Munro Y GauchoRussiaAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Aika U RimUnited KingdomBernardo Dominic NEGOTIATION
Stacey D MarrierUnited KingdomElwin Sharvill RENEWAL
Ricardo K WaycottGermanyAsiya Javayant QUALIFIED
Morrow C AlbaresRussiaXuxue Feng NEW
Jefferson A FigeroaGermanyAnna Fali QUALIFIED
Smith F FerenczSpainIoni Bowcher UNQUALIFIED
Stacey R NickaBrazilElwin Sharvill QUALIFIED
Maria T InouyeCanadaStephen Shaw RENEWAL
Jeanfrancois F ChuiItalyXuxue Feng PROPOSAL
Clifford N SergiSpainOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens X KuskoItaly2024-06-09Printing Dimensions QUALIFIED45Anna Fali
1001Aditya C MaletItaly2024-06-07Feiner Bros PROPOSAL60Elwin Sharvill
1002Julie C InouyeGermany2024-06-02Rousseaux, Michael Esq UNQUALIFIED17Bernardo Dominic
1003Darci L MaletGermany2024-06-07Buckley Miller Wright NEW31Ivan Magalhaes
1004Salvatore X DilliardArgentina2024-05-30Chapman, Ross E Esq PROPOSAL49Xuxue Feng
1005Silvio N BologniaCanada2024-05-22Chapman, Ross E Esq UNQUALIFIED96Stephen Shaw
1006Aika M MaletJapan2024-05-29Chemel, James L Cpa UNQUALIFIED52Bernardo Dominic
1007Munro F PaprockiArgentina2024-06-14King, Christopher A Esq NEW58Xuxue Feng
1008Johnson R SchemmerCanada2024-06-08Commercial Press NEW87Anna Fali
1009Mayumi Q SaylorsAustralia2024-06-16Chemel, James L Cpa NEW8Xuxue Feng
1010Maria N IturbideItaly2024-06-13Commercial Press NEGOTIATION18Asiya Javayant
1011Kadeem H ShinkoIndia2024-06-18Dorl, James J Esq PROPOSAL65Ioni Bowcher
1012Aika H NestleBrazil2024-05-24King, Christopher A Esq QUALIFIED48Ioni Bowcher
1013Ivar O OstroskyArgentina2024-05-23Morlong Associates UNQUALIFIED27Amy Elsner
1014Jennifer B CampainArgentina2024-05-30Rangoni Of Florence NEW96Elwin Sharvill
1015Aika R MaletArgentina2024-06-03Rangoni Of Florence UNQUALIFIED2Elwin Sharvill
1016Kadeem P CaldareraGermany2024-06-10Rousseaux, Michael Esq PROPOSAL71Onyama Limba
1017David F KuskoRussia2024-06-05Rousseaux, Michael Esq QUALIFIED46Ioni Bowcher
1018Cody E MorascaItaly2024-06-04Rousseaux, Michael Esq UNQUALIFIED2Stephen Shaw
1019Sinclair T ChuiBrazil2024-05-26Chemel, James L Cpa NEW52Asiya Javayant
1020Nicolas J GauchoRussia2024-05-28Chapman, Ross E Esq UNQUALIFIED75Anna Fali
1021Octavia Y GlickJapan2024-06-02Morlong Associates UNQUALIFIED21Ivan Magalhaes
1022Silvio S DoeFrance2024-06-16Morlong Associates PROPOSAL91Ivan Magalhaes
1023Maria B FlosiRussia2024-06-07Chemel, James L Cpa NEGOTIATION3Bernardo Dominic
1024Izzy J AmigonJapan2024-06-03Buckley Miller Wright UNQUALIFIED37Onyama Limba
1025Jones R FlosiSpain2024-06-08Chemel, James L Cpa UNQUALIFIED45Anna Fali
1026Octavia B WieserRussia2024-06-06Dorl, James J Esq NEGOTIATION13Xuxue Feng
1027Stacey H RutaCanada2024-05-23Buckley Miller Wright NEGOTIATION76Ivan Magalhaes
1028Silvio Q GarufiSpain2024-05-26Chapman, Ross E Esq NEGOTIATION9Xuxue Feng
1029Jennifer B RimAustralia2024-06-04Morlong Associates RENEWAL41Stephen Shaw
1030Mujtaba S SaylorsSpain2024-06-07Rousseaux, Michael Esq NEGOTIATION91Ivan Magalhaes
1031David F OstroskyItaly2024-06-09Chemel, James L Cpa PROPOSAL13Amy Elsner
1032Claire B TollnerItaly2024-06-13King, Christopher A Esq QUALIFIED61Xuxue Feng
1033Ivar V InouyeCanada2024-05-24Morlong Associates NEGOTIATION75Xuxue Feng
1034Ashley H CaudyJapan2024-05-25Chapman, Ross E Esq QUALIFIED42Onyama Limba
1035Izzy A WhobreyUnited Kingdom2024-05-27Feiner Bros PROPOSAL36Bernardo Dominic
1036Aika Y MaletBrazil2024-05-29Morlong Associates QUALIFIED49Ioni Bowcher
1037David V FollerGermany2024-06-10Buckley Miller Wright PROPOSAL79Stephen Shaw
1038Adams X TollnerRussia2024-05-26Rangoni Of Florence RENEWAL63Anna Fali
1039Ricardo X CaudyUnited Kingdom2024-06-14Dorl, James J Esq QUALIFIED82Elwin Sharvill
1040Izzy Z MorascaBrazil2024-05-21Chanay, Jeffrey A Esq NEGOTIATION31Onyama Limba
1041Costa C CaldareraBrazil2024-06-07Printing Dimensions RENEWAL55Ioni Bowcher
1042Kadeem O KolmetzAustralia2024-06-18Buckley Miller Wright QUALIFIED62Anna Fali
1043Ivar E BowleyRussia2024-06-11Benton, John B Jr QUALIFIED12Stephen Shaw
1044Leja A MaletIndia2024-05-30Chanay, Jeffrey A Esq RENEWAL41Bernardo Dominic
1045Misaki T MaletJapan2024-05-25Chanay, Jeffrey A Esq PROPOSAL99Anna Fali
1046Tony A RoysterJapan2024-06-14Morlong Associates UNQUALIFIED23Xuxue Feng
1047Nicolas U AmigonSpain2024-06-03Chapman, Ross E Esq RENEWAL47Anna Fali
1048Jones G SergiFrance2024-06-14King, Christopher A Esq RENEWAL22Ioni Bowcher
1049Emily B RulapaughGermany2024-05-21King, Christopher A Esq NEW65Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Jefferson W StensethAustraliaAsiya Javayant RENEWAL
Sinclair X CaudyArgentinaAmy Elsner UNQUALIFIED
Jefferson O FlosiBrazilStephen Shaw NEGOTIATION
Johnson X BriddickUnited KingdomXuxue Feng RENEWAL
Maisha I GillianArgentinaStephen Shaw NEGOTIATION
Aditya H KolmetzJapanElwin Sharvill RENEWAL
Aruna R MaletIndiaXuxue Feng UNQUALIFIED
Kadeem H KuskoFranceAmy Elsner QUALIFIED
Maria Q AlbaresUnited KingdomIvan Magalhaes PROPOSAL
Julie M AlbaresFranceXuxue Feng NEGOTIATION
Smith K CaudyGermanyAnna Fali QUALIFIED
Faith L PoquetteUnited KingdomXuxue Feng PROPOSAL
Maria X ButtGermanyXuxue Feng QUALIFIED
Aika B CaudyRussiaOnyama Limba NEW
Darci N KolmetzUnited KingdomXuxue Feng NEGOTIATION
Tony V VocelkaJapanIoni Bowcher NEW
Antonio B VocelkaArgentinaIvan Magalhaes NEW
Ashley C PoquetteJapanAmy Elsner NEW
Deepesh Y GillianJapanIvan Magalhaes NEGOTIATION
Smith P GlickJapanAsiya Javayant QUALIFIED
Alejandro F SlusarskiIndiaStephen Shaw QUALIFIED
Izzy L FigeroaUnited KingdomIvan Magalhaes RENEWAL
Rodrigues C RulapaughSpainOnyama Limba NEW
Maisha L OldroydJapanIvan Magalhaes UNQUALIFIED
Smith E WhobreyRussiaXuxue Feng NEGOTIATION
Ricardo V BriddickFranceAsiya Javayant RENEWAL
Leon M ShinkoJapanXuxue Feng QUALIFIED
Octavia N FlosiItalyIvan Magalhaes PROPOSAL
Munro Q AmigonJapanElwin Sharvill RENEWAL
Isabel E RulapaughArgentinaIoni Bowcher NEW
Claire P VocelkaUnited KingdomBernardo Dominic UNQUALIFIED
Maria V StockhamRussiaStephen Shaw QUALIFIED
Ivar I SergiItalyIoni Bowcher UNQUALIFIED
Julie V ShinkoJapanIvan Magalhaes NEW
Mayumi W WhobreyIndiaIvan Magalhaes RENEWAL
Jones Q MacleadArgentinaIoni Bowcher UNQUALIFIED
Leja G CampainGermanyElwin Sharvill UNQUALIFIED
Kaitlin O IturbideIndiaElwin Sharvill UNQUALIFIED
Cody H PerinFranceAnna Fali UNQUALIFIED
Misaki S MarrierGermanyXuxue Feng RENEWAL
Jennifer Z PerinSpainOnyama Limba UNQUALIFIED
Juan Y StensethSpainIvan Magalhaes PROPOSAL
Ivar P RimArgentinaStephen Shaw NEGOTIATION
Adams P FlosiJapanBernardo Dominic NEW
Mujtaba U RimFranceAsiya Javayant QUALIFIED
Alejandro B CampainRussiaAsiya Javayant NEGOTIATION
Octavia N RutaRussiaAmy Elsner NEGOTIATION
Murillo V StensethItalyAsiya Javayant RENEWAL
Salvatore J SchemmerCanadaAsiya Javayant RENEWAL
Clifford T SchemmerJapanAsiya Javayant PROPOSAL
Frozen Columns
Name
Mayumi X Glick
Misaki N Gaucho
Aika G Chui
Izzy S Malet
Darci R Butt
James Z Nestle
Johnson S Doe
Adams R Chui
Murillo A Oldroyd
David B Slusarski
Mujtaba T Schemmer
Octavia G Chui
Juan M Venere
Isabel R Rulapaugh
Faith Y Caudy
Salvatore S Caudy
Adams R Poquette
Kaitlin C Doe
Adams V Tollner
Jeanfrancois N Tollner
Alejandro Q Slusarski
Mujtaba T Gillian
Juan A Glick
Julie D Doe
Kaitlin D Caldarera
Alejandro X Whobrey
Aika C Marrier
Aditya W Royster
Silvio P Kolmetz
Jones R Paprocki
Emily J Stenseth
Aditya W Ostrosky
Jefferson P Perin
Mujtaba K Briddick
Francesco N Garufi
Leja T Sergi
Cody I Shinko
Morrow G Ferencz
Tony U Gaucho
Clifford F Slusarski
Octavia F Campain
Aika Y Bowley
Mujtaba Y Tollner
Cody E Kolmetz
Munro H Marrier
Rodrigues F Chui
Silvio R Garufi
Cody X Royster
Aika B Tollner
Maisha I Garufi
IdCountryDate
1000India2024-06-13
1001Argentina2024-06-18
1002United Kingdom2024-05-25
1003France2024-05-20
1004United Kingdom2024-06-11
1005Italy2024-05-24
1006France2024-05-22
1007Italy2024-05-27
1008Australia2024-06-08
1009Japan2024-05-22
1010Italy2024-06-06
1011Russia2024-06-07
1012France2024-06-07
1013India2024-06-02
1014Canada2024-05-26
1015Italy2024-06-11
1016Japan2024-06-02
1017India2024-06-03
1018India2024-06-18
1019Germany2024-06-02
1020Brazil2024-05-29
1021Canada2024-05-22
1022Russia2024-05-27
1023Japan2024-06-07
1024United Kingdom2024-06-06
1025Canada2024-06-07
1026Brazil2024-05-31
1027Spain2024-06-07
1028Russia2024-06-03
1029Russia2024-06-18
1030Japan2024-05-28
1031Italy2024-06-07
1032Italy2024-05-20
1033Russia2024-06-09
1034Brazil2024-06-07
1035Spain2024-06-12
1036Australia2024-06-17
1037Spain2024-06-11
1038Spain2024-06-08
1039Japan2024-06-10
1040Canada2024-05-29
1041Italy2024-06-03
1042Argentina2024-06-14
1043Brazil2024-06-09
1044France2024-06-09
1045Canada2024-06-06
1046Brazil2024-05-22
1047Australia2024-06-01
1048Italy2024-05-24
1049Italy2024-06-03

On-Demand Data

NameIdCountryDate
Ashley I Tollner1000Germany2024-05-20
Emily D Nestle1001Italy2024-05-24
Nicolas I Perin1002Brazil2024-06-01
Wickens L Royster1003Argentina2024-06-09
Emily V Stenseth1004France2024-06-03
Kadeem Z Ruta1005Canada2024-05-31
Claire B Butt1006France2024-05-30
Octavia A Doe1007Canada2024-06-15
Munro S Inouye1008India2024-05-24
Nicolas H Rulapaugh1009Italy2024-06-06
Ricardo I Iturbide1010Japan2024-06-18
Julie Q Gaucho1011Russia2024-06-05
Ivar W Kusko1012Russia2024-05-27
Deepesh X Rulapaugh1013France2024-06-10
Deepesh N Oldroyd1014Australia2024-06-06
Octavia J Darakjy1015Italy2024-06-17
Munro G Garufi1016Italy2024-06-01
Murillo Y Malet1017Brazil2024-06-11
Clifford H Stenseth1018Canada2024-06-04
Maisha N Slusarski1019Germany2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan R OstroskyGermanyIvan Magalhaes NEW
Greenwood B RimSpainXuxue Feng NEGOTIATION
Leon D TollnerFranceOnyama Limba UNQUALIFIED
Antonio Z RoysterGermanyStephen Shaw UNQUALIFIED
Wickens S VenereIndiaBernardo Dominic NEW
Emily J PoquetteJapanIvan Magalhaes UNQUALIFIED
James M MacleadUnited KingdomBernardo Dominic NEW
Juan K RoysterUnited KingdomStephen Shaw QUALIFIED
Arvin T StockhamSpainOnyama Limba RENEWAL
Jefferson L GarufiFranceAmy Elsner NEGOTIATION
Morrow I DoeJapanAsiya Javayant NEW
Jones I MaletBrazilOnyama Limba UNQUALIFIED
Nicolas O SchemmerIndiaXuxue Feng UNQUALIFIED
Jeanfrancois O MorascaRussiaAnna Fali NEGOTIATION
Mujtaba T RutaBrazilOnyama Limba QUALIFIED
Chavez I FlosiFranceStephen Shaw PROPOSAL
Maria I WieserUnited KingdomAmy Elsner QUALIFIED
Isabel M PoquetteCanadaAsiya Javayant PROPOSAL
Ashley N SergiFranceAsiya Javayant UNQUALIFIED
Tony M WieserRussiaXuxue Feng QUALIFIED
Mayumi X BowleyJapanElwin Sharvill PROPOSAL
Arvin E StensethJapanBernardo Dominic QUALIFIED
Greenwood O PoquetteRussiaElwin Sharvill QUALIFIED
Adams T CaldareraCanadaOnyama Limba QUALIFIED
Leja D AlbaresRussiaElwin Sharvill UNQUALIFIED
David K MorascaArgentinaIoni Bowcher UNQUALIFIED
Emily S CaudyCanadaIoni Bowcher NEW
Johnson J StockhamBrazilAnna Fali QUALIFIED
Kadeem I RimArgentinaAnna Fali QUALIFIED
Salvatore D MaletFranceXuxue Feng NEGOTIATION
Emily X InouyeUnited KingdomOnyama Limba PROPOSAL
Smith E NickaUnited KingdomXuxue Feng QUALIFIED
Francesco M MaletRussiaIvan Magalhaes RENEWAL
Julie L MarrierSpainBernardo Dominic PROPOSAL
Alejandro X RulapaughUnited KingdomAsiya Javayant UNQUALIFIED
Julie E VocelkaArgentinaOnyama Limba RENEWAL
David Z NestleSpainStephen Shaw NEW
Maria E SaylorsBrazilOnyama Limba NEW
Claire I DoeItalyIoni Bowcher RENEWAL
Ashley L OldroydIndiaXuxue Feng UNQUALIFIED

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