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
Francesco E ChuiItalyBernardo Dominic NEW
Salvatore Y WieserGermanyIoni Bowcher NEW
Misaki H BriddickGermanyAnna Fali RENEWAL
Morrow J ButtIndiaIvan Magalhaes QUALIFIED
Costa Q GarufiArgentinaOnyama Limba NEW
Aruna W SaylorsItalyIoni Bowcher QUALIFIED
Costa L DilliardSpainOnyama Limba NEW
Leon L WaycottUnited KingdomElwin Sharvill NEGOTIATION
Sinclair G BriddickIndiaAmy Elsner NEGOTIATION
Faith Y RoysterUnited KingdomOnyama Limba NEGOTIATION
Leja K SchemmerUnited KingdomIvan Magalhaes UNQUALIFIED
Johnson W FollerFranceStephen Shaw NEGOTIATION
Tony Y BologniaAustraliaAmy Elsner RENEWAL
Arvin N GlickGermanyAnna Fali UNQUALIFIED
Tony Q BologniaJapanIoni Bowcher RENEWAL
Izzy H OstroskyAustraliaAmy Elsner RENEWAL
Jeanfrancois M BologniaRussiaBernardo Dominic RENEWAL
Silvio L RulapaughGermanyElwin Sharvill PROPOSAL
Deepesh W RoysterJapanBernardo Dominic NEGOTIATION
Antonio Q ButtCanadaBernardo Dominic QUALIFIED
Jeanfrancois A VocelkaIndiaStephen Shaw NEGOTIATION
Jones Y RulapaughSpainOnyama Limba RENEWAL
Costa H VenereAustraliaAmy Elsner UNQUALIFIED
Johnson U GarufiGermanyIvan Magalhaes NEGOTIATION
Jennifer L NestleBrazilAsiya Javayant QUALIFIED
Ashley U OldroydSpainOnyama Limba NEGOTIATION
Sinclair Z GauchoItalyAsiya Javayant QUALIFIED
Chavez D FollerGermanyElwin Sharvill UNQUALIFIED
Antonio K MaletJapanElwin Sharvill PROPOSAL
Murillo W RoysterAustraliaIvan Magalhaes UNQUALIFIED
Tony N SlusarskiJapanAmy Elsner QUALIFIED
Wickens Q BowleySpainIvan Magalhaes UNQUALIFIED
Munro J KuskoRussiaIvan Magalhaes NEW
Ashley X PoquetteRussiaIvan Magalhaes NEW
David P GarufiSpainIoni Bowcher NEW
Adams D MaletBrazilIoni Bowcher QUALIFIED
Antonio H BriddickGermanyIvan Magalhaes NEGOTIATION
Adams B AlbaresCanadaBernardo Dominic PROPOSAL
Ricardo F FlosiBrazilElwin Sharvill QUALIFIED
Murillo C AmigonAustraliaOnyama Limba UNQUALIFIED
Munro I DarakjyBrazilStephen Shaw PROPOSAL
Octavia X TollnerBrazilAmy Elsner NEGOTIATION
James V BowleyFranceElwin Sharvill QUALIFIED
Chavez U GarufiRussiaStephen Shaw RENEWAL
Stacey R CaldareraGermanyBernardo Dominic RENEWAL
Izzy S RulapaughItalyOnyama Limba UNQUALIFIED
Deepesh C BriddickCanadaIoni Bowcher PROPOSAL
Juan B IturbideIndiaIvan Magalhaes PROPOSAL
Misaki V BriddickGermanyIoni Bowcher UNQUALIFIED
Maisha R SlusarskiFranceElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ricardo H AmigonItalyAnna Fali QUALIFIED
Aika Q KolmetzGermanyElwin Sharvill UNQUALIFIED
Mujtaba T WhobreyJapanAmy Elsner NEW
Jeanfrancois N PerinFranceOnyama Limba NEW
Jones P RutaSpainElwin Sharvill RENEWAL
Maisha N NickaArgentinaStephen Shaw NEGOTIATION
Ricardo R RulapaughRussiaOnyama Limba PROPOSAL
Izzy I KuskoBrazilXuxue Feng NEW
Emily A KolmetzJapanIvan Magalhaes NEGOTIATION
Stacey L CaudyGermanyAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues E TollnerItaly2024-06-16Chapman, Ross E Esq RENEWAL75Xuxue Feng
1001Francesco O FlosiCanada2024-06-16Feltz Printing Service NEW41Ioni Bowcher
1002Mayumi U WieserAustralia2024-06-14Truhlar And Truhlar Attys RENEWAL86Stephen Shaw
1003Aditya Z MaletJapan2024-05-20King, Christopher A Esq PROPOSAL69Onyama Limba
1004Jeanfrancois X DoeAustralia2024-05-22Truhlar And Truhlar Attys PROPOSAL82Onyama Limba
1005Kadeem S RutaSpain2024-06-05Chanay, Jeffrey A Esq UNQUALIFIED28Asiya Javayant
1006Maisha J PerinGermany2024-05-23Printing Dimensions RENEWAL20Onyama Limba
1007Chavez A GauchoArgentina2024-06-11Chemel, James L Cpa NEGOTIATION6Ioni Bowcher
1008Emily H BriddickItaly2024-06-06Feiner Bros NEW7Bernardo Dominic
1009Nicolas Z TollnerUnited Kingdom2024-05-19Rangoni Of Florence UNQUALIFIED26Xuxue Feng
1010Nicolas M ChuiRussia2024-05-30Morlong Associates QUALIFIED87Anna Fali
1011Claire U VenereJapan2024-05-22Truhlar And Truhlar Attys QUALIFIED99Amy Elsner
1012Mayumi M PoquetteJapan2024-06-11Feiner Bros NEGOTIATION16Xuxue Feng
1013Jones R WaycottAustralia2024-05-26Chanay, Jeffrey A Esq QUALIFIED45Bernardo Dominic
1014David J VenereSpain2024-05-29King, Christopher A Esq UNQUALIFIED58Stephen Shaw
1015Aika M StockhamBrazil2024-05-25Chapman, Ross E Esq RENEWAL40Asiya Javayant
1016Clifford R KolmetzCanada2024-06-13Chemel, James L Cpa RENEWAL79Asiya Javayant
1017Mayumi Q DoeCanada2024-06-12Chanay, Jeffrey A Esq NEGOTIATION73Amy Elsner
1018Kadeem N VocelkaFrance2024-05-24Rangoni Of Florence UNQUALIFIED2Ivan Magalhaes
1019Isabel R SlusarskiJapan2024-05-29Buckley Miller Wright UNQUALIFIED53Xuxue Feng
1020Juan S CaudyIndia2024-05-26Printing Dimensions NEW38Ivan Magalhaes
1021Leja G PoquetteIndia2024-05-31Buckley Miller Wright UNQUALIFIED64Onyama Limba
1022Morrow J GillianItaly2024-06-09Buckley Miller Wright NEW16Stephen Shaw
1023Julie L CaudyCanada2024-06-11Rousseaux, Michael Esq PROPOSAL94Bernardo Dominic
1024Rodrigues V FollerArgentina2024-06-02Benton, John B Jr NEGOTIATION23Xuxue Feng
1025Mujtaba B GarufiSpain2024-05-28Feltz Printing Service RENEWAL81Xuxue Feng
1026Jeanfrancois G DilliardItaly2024-05-28King, Christopher A Esq UNQUALIFIED57Ioni Bowcher
1027Claire C CampainItaly2024-05-29King, Christopher A Esq RENEWAL16Elwin Sharvill
1028Ricardo X AmigonArgentina2024-06-03Truhlar And Truhlar Attys QUALIFIED57Asiya Javayant
1029Darci A PaprockiJapan2024-06-02Rousseaux, Michael Esq NEGOTIATION76Stephen Shaw
1030Stacey P GillianSpain2024-05-27Feltz Printing Service NEGOTIATION21Bernardo Dominic
1031Alejandro B ChuiFrance2024-05-31King, Christopher A Esq QUALIFIED18Amy Elsner
1032Smith W GauchoSpain2024-06-09Morlong Associates NEW10Xuxue Feng
1033Wickens M RimGermany2024-06-14Chanay, Jeffrey A Esq QUALIFIED23Bernardo Dominic
1034Adams T PerinJapan2024-06-12Commercial Press QUALIFIED58Elwin Sharvill
1035Munro I GillianUnited Kingdom2024-06-02Commercial Press NEW61Asiya Javayant
1036Isabel Z InouyeUnited Kingdom2024-05-24Truhlar And Truhlar Attys NEW54Xuxue Feng
1037Ivar H DoeIndia2024-05-27Dorl, James J Esq RENEWAL25Anna Fali
1038Rodrigues V RulapaughFrance2024-06-05Rousseaux, Michael Esq QUALIFIED63Ioni Bowcher
1039Silvio W SergiUnited Kingdom2024-06-07Feltz Printing Service UNQUALIFIED25Ioni Bowcher
1040Salvatore U GarufiUnited Kingdom2024-05-29Printing Dimensions QUALIFIED68Bernardo Dominic
1041Darci M RimIndia2024-06-03Feiner Bros RENEWAL58Onyama Limba
1042Jones C WhobreySpain2024-06-01King, Christopher A Esq PROPOSAL62Onyama Limba
1043Kadeem O MorascaSpain2024-06-03Feiner Bros NEW66Amy Elsner
1044Francesco R ChuiGermany2024-05-25Buckley Miller Wright NEW20Anna Fali
1045Misaki R ButtGermany2024-06-10Printing Dimensions NEW75Amy Elsner
1046Alejandro V RulapaughAustralia2024-06-14Rousseaux, Michael Esq NEGOTIATION74Anna Fali
1047Stacey H FollerRussia2024-05-27Morlong Associates NEW31Stephen Shaw
1048Murillo A OldroydIndia2024-05-30Feiner Bros NEGOTIATION75Ivan Magalhaes
1049Jones I RutaArgentina2024-05-24Feiner Bros RENEWAL83Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Claire B AmigonJapanAsiya Javayant QUALIFIED
Deepesh S SlusarskiUnited KingdomIvan Magalhaes RENEWAL
Alejandro G InouyeUnited KingdomIoni Bowcher QUALIFIED
Aditya C RoysterUnited KingdomAmy Elsner QUALIFIED
James M RutaFranceXuxue Feng UNQUALIFIED
Greenwood Z WaycottCanadaAnna Fali NEW
Wickens E AlbaresBrazilAmy Elsner QUALIFIED
Leon O NestleFranceElwin Sharvill NEGOTIATION
Aika D BowleyItalyAsiya Javayant QUALIFIED
Stacey U BowleyCanadaBernardo Dominic NEGOTIATION
Isabel C NickaSpainOnyama Limba UNQUALIFIED
Tony S SaylorsAustraliaXuxue Feng NEGOTIATION
Johnson B OstroskyFranceXuxue Feng QUALIFIED
Greenwood H AlbaresFranceXuxue Feng UNQUALIFIED
Leon E SaylorsArgentinaOnyama Limba RENEWAL
Jennifer G WieserIndiaBernardo Dominic NEGOTIATION
Sinclair H VenereJapanIvan Magalhaes NEW
Murillo F InouyeRussiaAnna Fali NEW
Johnson F NestleJapanElwin Sharvill UNQUALIFIED
Johnson U ShinkoUnited KingdomIoni Bowcher NEGOTIATION
Deepesh Z RimAustraliaStephen Shaw QUALIFIED
Morrow P SchemmerRussiaOnyama Limba NEW
Jones Q PoquetteJapanBernardo Dominic QUALIFIED
Isabel U BologniaJapanBernardo Dominic PROPOSAL
Munro D NickaSpainXuxue Feng NEW
Izzy J AmigonAustraliaBernardo Dominic RENEWAL
Morrow R MorascaCanadaStephen Shaw UNQUALIFIED
Jeanfrancois G AmigonBrazilIvan Magalhaes PROPOSAL
Aika N RoysterIndiaAnna Fali PROPOSAL
Ivar J MarrierJapanAsiya Javayant NEW
Jennifer Z StockhamArgentinaAnna Fali UNQUALIFIED
Sinclair Q WhobreyJapanAnna Fali NEGOTIATION
Aditya A VenereIndiaOnyama Limba PROPOSAL
Faith W DoeCanadaOnyama Limba NEGOTIATION
Isabel W MorascaArgentinaAnna Fali UNQUALIFIED
Jefferson R FerenczIndiaOnyama Limba NEGOTIATION
Octavia W OstroskyItalyOnyama Limba RENEWAL
Smith J OldroydCanadaStephen Shaw UNQUALIFIED
Ashley V OldroydAustraliaOnyama Limba NEGOTIATION
Ashley Z ChuiCanadaXuxue Feng PROPOSAL
Mujtaba U KolmetzItalyAsiya Javayant NEGOTIATION
David L StockhamSpainOnyama Limba QUALIFIED
James A StensethItalyAmy Elsner NEGOTIATION
Darci P GauchoBrazilIvan Magalhaes NEW
Emily I MarrierJapanBernardo Dominic NEW
Morrow P RulapaughJapanAmy Elsner RENEWAL
Maisha K StensethItalyIvan Magalhaes QUALIFIED
Silvio S FerenczIndiaAmy Elsner PROPOSAL
Smith M GlickRussiaStephen Shaw UNQUALIFIED
Ricardo Q PerinIndiaBernardo Dominic NEW
Frozen Columns
Name
Faith T Royster
Tony X Saylors
Izzy Z Bowley
Mayumi G Royster
Morrow L Campain
Maria G Garufi
Arvin P Marrier
Wickens C Waycott
Ivar U Whobrey
Ashley W Paprocki
Rodrigues L Chui
Antonio X Amigon
Rodrigues T Royster
Costa O Waycott
Octavia Q Sergi
James C Bowley
Julie L Waycott
Adams M Gaucho
Stacey C Iturbide
Francesco D Stockham
Octavia S Whobrey
Adams S Nestle
Darci Q Dilliard
Aika M Glick
Adams Q Doe
Maria D Perin
Darci T Bowley
Jennifer F Gaucho
Francesco X Glick
David E Ruta
Julie S Saylors
Misaki C Marrier
Aruna F Kolmetz
Octavia S Foller
Julie K Foller
Leon O Chui
David J Sergi
Costa A Nestle
Sinclair R Maclead
Leon X Ostrosky
Emily E Campain
Adams L Nicka
Leja K Royster
Morrow Y Morasca
Silvio D Sergi
Jeanfrancois Y Sergi
Costa H Poquette
Aditya B Chui
Claire Q Bowley
Salvatore P Chui
IdCountryDate
1000Argentina2024-06-03
1001Japan2024-05-26
1002France2024-06-09
1003Germany2024-05-22
1004Argentina2024-06-01
1005Brazil2024-05-18
1006Argentina2024-06-05
1007Russia2024-05-19
1008India2024-06-06
1009India2024-06-14
1010India2024-06-08
1011Canada2024-06-13
1012Canada2024-05-29
1013France2024-06-14
1014Canada2024-05-21
1015Brazil2024-06-13
1016Germany2024-05-27
1017United Kingdom2024-06-03
1018Argentina2024-05-26
1019Canada2024-05-30
1020Canada2024-05-28
1021Brazil2024-06-05
1022France2024-05-27
1023Australia2024-05-29
1024Japan2024-05-29
1025Russia2024-06-15
1026Canada2024-06-02
1027United Kingdom2024-06-04
1028Japan2024-06-05
1029Australia2024-06-07
1030Canada2024-05-26
1031Brazil2024-05-25
1032United Kingdom2024-06-15
1033India2024-06-03
1034Spain2024-05-28
1035Germany2024-05-21
1036Spain2024-06-15
1037Spain2024-05-18
1038Germany2024-05-23
1039Germany2024-05-18
1040India2024-06-16
1041France2024-06-10
1042Japan2024-06-15
1043Germany2024-05-26
1044Japan2024-06-08
1045Australia2024-05-23
1046Brazil2024-06-06
1047Brazil2024-05-19
1048United Kingdom2024-05-23
1049Japan2024-05-26

On-Demand Data

NameIdCountryDate
Johnson S Figeroa1000France2024-05-30
Maria F Flosi1001Australia2024-05-25
Munro O Nicka1002Italy2024-06-13
Ivar Z Kusko1003Spain2024-06-05
Julie P Maclead1004Brazil2024-06-14
Alejandro X Bowley1005Russia2024-05-31
Aruna K Kolmetz1006Italy2024-05-20
Smith U Vocelka1007Brazil2024-06-09
David Y Darakjy1008India2024-06-16
Juan I Venere1009Brazil2024-06-13
Arvin O Kolmetz1010Russia2024-06-02
Jeanfrancois F Bolognia1011Germany2024-06-16
Kadeem Z Glick1012Germany2024-05-31
Jones H Bolognia1013United Kingdom2024-05-29
David A Paprocki1014Spain2024-05-25
Johnson I Kolmetz1015India2024-06-05
Chavez A Tollner1016Japan2024-05-19
Claire F Glick1017France2024-06-12
Izzy A Albares1018Canada2024-05-18
Sinclair C Gillian1019Germany2024-05-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues I BriddickRussiaElwin Sharvill NEGOTIATION
Isabel X SlusarskiBrazilIoni Bowcher PROPOSAL
David X KuskoIndiaAmy Elsner RENEWAL
Kaitlin Z RoysterJapanIoni Bowcher NEGOTIATION
Morrow D SlusarskiUnited KingdomAmy Elsner QUALIFIED
Cody E CaudyIndiaOnyama Limba UNQUALIFIED
Ivar H CaudyRussiaAmy Elsner PROPOSAL
Morrow T SergiAustraliaStephen Shaw UNQUALIFIED
Izzy N MorascaRussiaAnna Fali NEGOTIATION
Tony O FlosiRussiaAsiya Javayant NEW
Ivar Y NestleItalyXuxue Feng QUALIFIED
David F KolmetzArgentinaAsiya Javayant NEW
David T GlickIndiaElwin Sharvill NEGOTIATION
Sinclair G WhobreyBrazilElwin Sharvill QUALIFIED
Jeanfrancois P WieserSpainStephen Shaw UNQUALIFIED
Kadeem L BowleyIndiaIoni Bowcher PROPOSAL
Wickens J StensethJapanBernardo Dominic NEW
Adams N OldroydBrazilOnyama Limba UNQUALIFIED
Costa R MarrierBrazilAmy Elsner QUALIFIED
Leon Z OldroydItalyIoni Bowcher NEW
Juan X DoeFranceOnyama Limba PROPOSAL
David B ChuiCanadaXuxue Feng RENEWAL
Faith E CaldareraRussiaAmy Elsner NEW
Maria H RimItalyIoni Bowcher QUALIFIED
Mujtaba E RimAustraliaIvan Magalhaes QUALIFIED
Morrow T NestleSpainAnna Fali NEW
James Y MarrierBrazilAmy Elsner PROPOSAL
James A KuskoFranceStephen Shaw RENEWAL
Darci N FerenczSpainStephen Shaw PROPOSAL
Salvatore W IturbideUnited KingdomOnyama Limba RENEWAL
Wickens Y GarufiIndiaAmy Elsner QUALIFIED
David O SchemmerAustraliaIvan Magalhaes QUALIFIED
Wickens N GarufiUnited KingdomAnna Fali QUALIFIED
Darci D WhobreySpainIoni Bowcher PROPOSAL
Francesco W BologniaBrazilIvan Magalhaes RENEWAL
Alejandro Z CampainRussiaAnna Fali QUALIFIED
Leon J NestleArgentinaElwin Sharvill UNQUALIFIED
David E CampainArgentinaStephen Shaw UNQUALIFIED
Cody X OstroskyJapanAsiya Javayant NEGOTIATION
Claire A WhobreySpainAnna Fali 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>