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
Isabel G GillianItalyIvan Magalhaes RENEWAL
Mujtaba D AmigonRussiaOnyama Limba RENEWAL
Darci N VenereCanadaIoni Bowcher NEGOTIATION
Silvio W StensethJapanStephen Shaw UNQUALIFIED
Tony H ShinkoGermanyAsiya Javayant RENEWAL
Johnson M RulapaughCanadaIoni Bowcher PROPOSAL
Costa G GillianJapanIvan Magalhaes RENEWAL
Arvin B OstroskyUnited KingdomStephen Shaw NEW
Deepesh I FigeroaUnited KingdomStephen Shaw NEGOTIATION
Isabel P PoquetteAustraliaXuxue Feng NEGOTIATION
Cody H OstroskyCanadaAsiya Javayant QUALIFIED
Deepesh X SchemmerCanadaIvan Magalhaes NEGOTIATION
Octavia B FigeroaItalyElwin Sharvill NEGOTIATION
Jennifer G PaprockiUnited KingdomStephen Shaw NEGOTIATION
Costa N GlickGermanyStephen Shaw RENEWAL
Aruna C MaletFranceStephen Shaw QUALIFIED
Francesco N GauchoJapanIoni Bowcher RENEWAL
Izzy N CaudyArgentinaElwin Sharvill UNQUALIFIED
Aditya M VenereFranceElwin Sharvill RENEWAL
Murillo M MaletBrazilElwin Sharvill RENEWAL
Ivar W BowleySpainAnna Fali UNQUALIFIED
Isabel L VenereFranceIoni Bowcher NEGOTIATION
Ivar K VocelkaArgentinaAmy Elsner UNQUALIFIED
Stacey Q DilliardItalyOnyama Limba UNQUALIFIED
Darci D StensethGermanyIoni Bowcher QUALIFIED
Alejandro T MorascaSpainXuxue Feng PROPOSAL
Arvin Z SaylorsAustraliaIvan Magalhaes UNQUALIFIED
Smith I BriddickItalyOnyama Limba NEW
Nicolas U FollerFranceOnyama Limba PROPOSAL
Nicolas P IturbideRussiaXuxue Feng PROPOSAL
Smith W GillianAustraliaIvan Magalhaes NEW
Adams M GillianRussiaXuxue Feng UNQUALIFIED
Johnson X MarrierJapanBernardo Dominic NEW
Cody R FlosiRussiaIoni Bowcher PROPOSAL
Aditya L SaylorsBrazilElwin Sharvill PROPOSAL
Morrow H WieserSpainIoni Bowcher UNQUALIFIED
Stacey B FlosiFranceAmy Elsner QUALIFIED
Maisha B SergiCanadaAmy Elsner PROPOSAL
Misaki Z SchemmerIndiaIoni Bowcher NEW
Antonio Z FerenczArgentinaXuxue Feng UNQUALIFIED
Octavia C IturbideCanadaAnna Fali RENEWAL
Clifford G SergiJapanStephen Shaw UNQUALIFIED
Clifford A PerinCanadaIvan Magalhaes RENEWAL
Francesco Z BriddickAustraliaIoni Bowcher NEW
Costa X MarrierSpainAmy Elsner RENEWAL
Kaitlin V StockhamItalyStephen Shaw NEW
Juan E PoquetteSpainElwin Sharvill NEGOTIATION
Ricardo E FollerAustraliaAnna Fali UNQUALIFIED
Salvatore K GlickUnited KingdomAsiya Javayant QUALIFIED
Nicolas L RoysterFranceAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Octavia Y RimUnited KingdomAnna Fali PROPOSAL
Antonio D GillianUnited KingdomAnna Fali QUALIFIED
James N InouyeJapanIvan Magalhaes NEGOTIATION
Aruna S KolmetzIndiaIvan Magalhaes NEW
Arvin Y OldroydJapanIvan Magalhaes PROPOSAL
Kaitlin B OstroskySpainIvan Magalhaes RENEWAL
Arvin R StockhamSpainBernardo Dominic QUALIFIED
Faith C CampainArgentinaElwin Sharvill NEGOTIATION
Rodrigues N GlickJapanIoni Bowcher NEGOTIATION
Chavez J AmigonItalyAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio N NickaCanada2024-05-08Chapman, Ross E Esq UNQUALIFIED15Ivan Magalhaes
1001Rodrigues G DilliardItaly2024-05-03Chanay, Jeffrey A Esq NEW49Onyama Limba
1002James C StensethGermany2024-05-06Printing Dimensions PROPOSAL82Onyama Limba
1003Alejandro T MacleadUnited Kingdom2024-05-11Feltz Printing Service UNQUALIFIED59Amy Elsner
1004Aika T DilliardUnited Kingdom2024-05-15Truhlar And Truhlar Attys UNQUALIFIED74Xuxue Feng
1005Faith F GillianIndia2024-05-17Feiner Bros NEGOTIATION26Onyama Limba
1006Tony D MacleadItaly2024-04-28Chemel, James L Cpa NEW56Asiya Javayant
1007Aruna E ChuiSpain2024-04-24Morlong Associates RENEWAL20Xuxue Feng
1008Costa F CaudyGermany2024-05-13Chanay, Jeffrey A Esq NEW95Onyama Limba
1009Faith M GarufiAustralia2024-05-22Feiner Bros PROPOSAL68Elwin Sharvill
1010Leja Z MacleadBrazil2024-05-09Chapman, Ross E Esq QUALIFIED61Asiya Javayant
1011Greenwood O DarakjyBrazil2024-04-30Morlong Associates PROPOSAL53Amy Elsner
1012Wickens X GarufiIndia2024-05-12Truhlar And Truhlar Attys QUALIFIED27Onyama Limba
1013Smith W GauchoAustralia2024-05-14King, Christopher A Esq PROPOSAL74Stephen Shaw
1014Maisha G BriddickGermany2024-05-01Commercial Press NEGOTIATION0Onyama Limba
1015Rodrigues S SergiBrazil2024-05-03Morlong Associates UNQUALIFIED12Bernardo Dominic
1016Faith W PaprockiFrance2024-04-28Rangoni Of Florence UNQUALIFIED16Xuxue Feng
1017Octavia D CaldareraBrazil2024-05-04Morlong Associates NEW29Bernardo Dominic
1018Octavia Q KuskoSpain2024-04-26Chanay, Jeffrey A Esq UNQUALIFIED75Asiya Javayant
1019Cody D FollerArgentina2024-05-21King, Christopher A Esq UNQUALIFIED58Anna Fali
1020Aika I AlbaresBrazil2024-05-14Buckley Miller Wright NEW19Xuxue Feng
1021Sinclair E AlbaresBrazil2024-05-18Dorl, James J Esq NEGOTIATION70Amy Elsner
1022Claire H PaprockiJapan2024-05-11Chemel, James L Cpa UNQUALIFIED36Ioni Bowcher
1023Johnson N DoeIndia2024-05-14Feiner Bros QUALIFIED34Ivan Magalhaes
1024Leja B GarufiArgentina2024-04-29Chapman, Ross E Esq RENEWAL66Amy Elsner
1025Leja V CampainUnited Kingdom2024-04-27Feltz Printing Service NEW75Amy Elsner
1026Smith C WieserIndia2024-05-12Chanay, Jeffrey A Esq UNQUALIFIED56Stephen Shaw
1027Aruna A BowleyJapan2024-05-20Rousseaux, Michael Esq NEGOTIATION31Stephen Shaw
1028Tony E SergiArgentina2024-04-30Buckley Miller Wright RENEWAL78Ivan Magalhaes
1029Arvin T AlbaresAustralia2024-05-15Feltz Printing Service UNQUALIFIED54Amy Elsner
1030Jennifer K RoysterItaly2024-05-02Commercial Press PROPOSAL73Elwin Sharvill
1031Isabel N ShinkoSpain2024-05-10King, Christopher A Esq NEW18Amy Elsner
1032Silvio C ButtCanada2024-05-13Rousseaux, Michael Esq NEW79Elwin Sharvill
1033Munro A NestleJapan2024-05-17Rangoni Of Florence UNQUALIFIED3Stephen Shaw
1034Adams C CaldareraArgentina2024-05-06Rousseaux, Michael Esq UNQUALIFIED17Ioni Bowcher
1035Munro S GauchoBrazil2024-04-30Rangoni Of Florence RENEWAL48Bernardo Dominic
1036Leja Y SaylorsUnited Kingdom2024-05-21Truhlar And Truhlar Attys RENEWAL86Asiya Javayant
1037Greenwood A ChuiGermany2024-04-29Chapman, Ross E Esq RENEWAL64Ivan Magalhaes
1038James V SergiFrance2024-04-29Printing Dimensions PROPOSAL14Onyama Limba
1039Darci W MacleadCanada2024-05-21Chemel, James L Cpa QUALIFIED14Stephen Shaw
1040Mayumi J RimBrazil2024-05-01Printing Dimensions UNQUALIFIED46Elwin Sharvill
1041Kadeem P DarakjyIndia2024-04-30Morlong Associates PROPOSAL51Ivan Magalhaes
1042Leja M ShinkoRussia2024-05-12Rousseaux, Michael Esq NEGOTIATION44Xuxue Feng
1043Kadeem X GillianJapan2024-05-11Rangoni Of Florence NEW20Stephen Shaw
1044Stacey W CaldareraBrazil2024-05-09King, Christopher A Esq PROPOSAL87Amy Elsner
1045Leja V MaletJapan2024-04-26Chanay, Jeffrey A Esq NEGOTIATION86Bernardo Dominic
1046Arvin U FerenczRussia2024-05-17Benton, John B Jr PROPOSAL9Xuxue Feng
1047Juan A ButtItaly2024-05-08Rangoni Of Florence NEW35Xuxue Feng
1048Stacey K GarufiBrazil2024-05-20Dorl, James J Esq NEW31Bernardo Dominic
1049Francesco C KuskoArgentina2024-04-28Rangoni Of Florence PROPOSAL76Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Kadeem Y OldroydAustraliaAmy Elsner NEW
Chavez G FerenczRussiaIoni Bowcher RENEWAL
Nicolas U FigeroaJapanIoni Bowcher NEGOTIATION
Arvin Q CampainUnited KingdomIvan Magalhaes PROPOSAL
Aruna X BriddickGermanyAnna Fali QUALIFIED
Leon A NestleRussiaOnyama Limba RENEWAL
Ivar X WhobreyFranceElwin Sharvill QUALIFIED
Jennifer O RulapaughBrazilBernardo Dominic QUALIFIED
Kaitlin O KolmetzJapanElwin Sharvill UNQUALIFIED
Jefferson C IturbideItalyIoni Bowcher UNQUALIFIED
Emily K ButtUnited KingdomAnna Fali NEGOTIATION
Ricardo N GarufiItalyOnyama Limba QUALIFIED
Izzy X DilliardSpainBernardo Dominic RENEWAL
Aika J IturbideRussiaAnna Fali PROPOSAL
Murillo M SaylorsGermanyIvan Magalhaes QUALIFIED
Ivar E SchemmerCanadaElwin Sharvill UNQUALIFIED
Morrow A OldroydFranceElwin Sharvill QUALIFIED
Darci L RulapaughBrazilAnna Fali UNQUALIFIED
Izzy N MaletUnited KingdomElwin Sharvill PROPOSAL
Jennifer R MorascaUnited KingdomAnna Fali RENEWAL
Maria G BriddickCanadaBernardo Dominic NEGOTIATION
Adams F DoeRussiaIoni Bowcher UNQUALIFIED
Julie C DilliardCanadaXuxue Feng NEGOTIATION
Aika R MorascaAustraliaStephen Shaw NEGOTIATION
Maria Y MaletJapanAmy Elsner UNQUALIFIED
Aika U FerenczRussiaXuxue Feng UNQUALIFIED
Mujtaba C SaylorsGermanyElwin Sharvill PROPOSAL
Aruna L ShinkoItalyStephen Shaw QUALIFIED
Jennifer N AmigonBrazilAnna Fali QUALIFIED
Chavez G SergiFranceAmy Elsner QUALIFIED
Izzy Z IturbideItalyAsiya Javayant QUALIFIED
Deepesh X WhobreyGermanyIoni Bowcher PROPOSAL
Maisha O CaldareraJapanIvan Magalhaes UNQUALIFIED
Chavez O BologniaUnited KingdomOnyama Limba QUALIFIED
Jones G GillianGermanyAsiya Javayant UNQUALIFIED
Aika M MorascaGermanyAmy Elsner RENEWAL
Clifford A FigeroaJapanAsiya Javayant NEGOTIATION
Maisha R RimBrazilXuxue Feng NEGOTIATION
Nicolas P TollnerGermanyBernardo Dominic NEGOTIATION
Antonio H FlosiUnited KingdomAsiya Javayant NEW
Deepesh X AmigonIndiaIoni Bowcher NEGOTIATION
Antonio N SaylorsRussiaIoni Bowcher NEW
Francesco S NickaRussiaAnna Fali NEGOTIATION
Costa G MacleadSpainElwin Sharvill QUALIFIED
Jeanfrancois C ChuiFranceBernardo Dominic NEGOTIATION
Antonio D KuskoBrazilAmy Elsner UNQUALIFIED
Misaki N BriddickFranceAmy Elsner RENEWAL
Aruna V StockhamSpainStephen Shaw NEW
Ricardo I StockhamIndiaXuxue Feng PROPOSAL
Arvin C RutaJapanIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Izzy K Oldroyd
Ivar A Oldroyd
Ricardo D Foller
Aditya J Bowley
Julie D Caudy
Francesco T Kolmetz
Isabel F Iturbide
Faith K Gillian
Juan W Iturbide
Aika W Flosi
Tony C Ferencz
Smith X Venere
Sinclair W Bowley
Wickens K Vocelka
Ivar Y Rim
Costa D Caudy
Mujtaba G Campain
Tony R Paprocki
Nicolas P Malet
Morrow Z Briddick
Ivar Y Dilliard
Kadeem W Malet
Rodrigues I Caldarera
Murillo N Tollner
Claire L Rulapaugh
Tony X Butt
Cody A Gillian
Jennifer C Darakjy
Sinclair K Caldarera
Johnson D Sergi
Adams K Briddick
Alejandro X Rim
Morrow E Malet
Juan B Marrier
Kadeem S Bowley
Darci T Ruta
Isabel Q Ruta
Juan U Paprocki
Alejandro C Venere
Isabel K Garufi
Sinclair D Wieser
Aika C Whobrey
Deepesh T Rim
Aika J Kolmetz
Johnson Y Bolognia
Johnson H Darakjy
Isabel K Nicka
Antonio J Perin
Leon M Bolognia
Maria D Iturbide
IdCountryDate
1000Italy2024-05-01
1001Brazil2024-05-01
1002Spain2024-05-06
1003Australia2024-04-30
1004Russia2024-05-02
1005Argentina2024-05-06
1006India2024-05-21
1007Canada2024-04-29
1008Australia2024-05-12
1009Brazil2024-05-19
1010Argentina2024-04-26
1011Russia2024-04-26
1012Canada2024-05-03
1013India2024-05-04
1014Italy2024-04-30
1015Germany2024-04-28
1016Australia2024-05-20
1017India2024-04-29
1018Japan2024-05-08
1019Argentina2024-05-21
1020Brazil2024-04-30
1021Australia2024-05-02
1022France2024-05-17
1023Japan2024-05-15
1024Argentina2024-05-20
1025Spain2024-05-06
1026Canada2024-05-05
1027Germany2024-04-29
1028Germany2024-04-27
1029Germany2024-04-28
1030Australia2024-05-12
1031Japan2024-05-07
1032United Kingdom2024-05-16
1033Canada2024-04-28
1034Germany2024-05-17
1035Germany2024-05-07
1036Spain2024-05-08
1037Japan2024-05-16
1038Brazil2024-05-08
1039Australia2024-05-22
1040United Kingdom2024-05-16
1041Argentina2024-05-12
1042United Kingdom2024-05-21
1043Italy2024-05-11
1044Brazil2024-04-25
1045Spain2024-04-27
1046Russia2024-05-01
1047Japan2024-04-24
1048Brazil2024-05-01
1049Japan2024-05-10

On-Demand Data

NameIdCountryDate
Johnson R Waycott1000Italy2024-05-17
Rodrigues K Rulapaugh1001Germany2024-05-19
Leon S Caudy1002Australia2024-05-09
Arvin M Caldarera1003Argentina2024-05-14
Jennifer J Ostrosky1004Russia2024-04-29
Maisha D Malet1005India2024-05-14
Clifford Z Marrier1006Italy2024-05-03
Aruna K Venere1007India2024-04-30
Isabel H Morasca1008Canada2024-05-04
James V Marrier1009France2024-05-01
Francesco U Briddick1010Japan2024-05-11
Nicolas W Malet1011France2024-05-21
Ricardo G Paprocki1012Germany2024-05-13
Maisha Z Royster1013India2024-05-16
Claire B Glick1014Argentina2024-04-29
Juan P Saylors1015Brazil2024-05-08
Tony J Malet1016Italy2024-05-15
Juan D Malet1017Australia2024-05-15
Leja F Waycott1018Spain2024-05-06
Antonio S Slusarski1019Russia2024-05-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair T ChuiItalyAnna Fali PROPOSAL
Claire C GarufiBrazilStephen Shaw UNQUALIFIED
Morrow N NestleFranceIoni Bowcher RENEWAL
Murillo L MarrierSpainBernardo Dominic QUALIFIED
Salvatore V BologniaIndiaAmy Elsner PROPOSAL
Deepesh Q PaprockiBrazilStephen Shaw NEGOTIATION
Nicolas O DoeIndiaAnna Fali RENEWAL
Alejandro E BowleyArgentinaIoni Bowcher PROPOSAL
Murillo Y WhobreyUnited KingdomXuxue Feng RENEWAL
Chavez T WaycottBrazilAnna Fali UNQUALIFIED
David E PaprockiGermanyIoni Bowcher UNQUALIFIED
Maria K RutaArgentinaAmy Elsner PROPOSAL
Mayumi C KuskoUnited KingdomAsiya Javayant RENEWAL
Jones T StensethItalyIvan Magalhaes RENEWAL
Mujtaba C CampainItalyAmy Elsner QUALIFIED
Jefferson D SchemmerAustraliaOnyama Limba RENEWAL
Salvatore A CaudyArgentinaBernardo Dominic QUALIFIED
Jennifer W RulapaughAustraliaXuxue Feng NEGOTIATION
Aditya C NestleItalyAsiya Javayant QUALIFIED
Ivar G BriddickItalyStephen Shaw NEGOTIATION
Nicolas V DilliardBrazilStephen Shaw NEGOTIATION
Leja Z PerinGermanyXuxue Feng UNQUALIFIED
Julie I GauchoRussiaElwin Sharvill QUALIFIED
Cody W NestleGermanyElwin Sharvill NEW
Emily J RutaItalyXuxue Feng UNQUALIFIED
Morrow Y KolmetzFranceIoni Bowcher PROPOSAL
Sinclair S OstroskyItalyAmy Elsner RENEWAL
Juan J IturbideSpainXuxue Feng NEGOTIATION
Sinclair R VocelkaBrazilIoni Bowcher RENEWAL
Alejandro E ChuiJapanOnyama Limba PROPOSAL
Jefferson Z MacleadRussiaXuxue Feng NEW
Rodrigues M RutaCanadaOnyama Limba NEW
Maisha D BologniaGermanyIvan Magalhaes NEGOTIATION
Greenwood F GauchoArgentinaAnna Fali PROPOSAL
Francesco H PerinIndiaOnyama Limba QUALIFIED
Mujtaba K SaylorsItalyXuxue Feng NEGOTIATION
Johnson X InouyeGermanyXuxue Feng QUALIFIED
James G MaletIndiaAsiya Javayant UNQUALIFIED
Munro J GarufiFranceAmy Elsner PROPOSAL
Maria F WieserFranceAsiya Javayant 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>