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
Rodrigues I CampainCanadaAmy Elsner NEGOTIATION
Francesco X ChuiIndiaIoni Bowcher NEW
Costa T IturbideCanadaXuxue Feng RENEWAL
Salvatore T MaletBrazilAmy Elsner NEGOTIATION
Ricardo R IturbideIndiaAmy Elsner NEGOTIATION
Antonio X GauchoCanadaAsiya Javayant QUALIFIED
Francesco M AlbaresArgentinaIoni Bowcher NEW
Ashley I GauchoCanadaAnna Fali QUALIFIED
Antonio V ShinkoBrazilBernardo Dominic NEGOTIATION
Leon T RutaFranceStephen Shaw QUALIFIED
Jeanfrancois T MorascaUnited KingdomOnyama Limba NEGOTIATION
Izzy H IturbideGermanyAmy Elsner NEW
Aruna L FollerRussiaIvan Magalhaes QUALIFIED
Emily O BologniaIndiaOnyama Limba RENEWAL
David L BriddickBrazilAmy Elsner QUALIFIED
Greenwood F GauchoBrazilIoni Bowcher RENEWAL
Leja C RutaRussiaOnyama Limba NEW
Mujtaba Y MacleadCanadaBernardo Dominic RENEWAL
Isabel V MaletGermanyIoni Bowcher NEGOTIATION
Jefferson L FerenczCanadaAmy Elsner NEGOTIATION
Rodrigues H TollnerIndiaBernardo Dominic QUALIFIED
Munro Z StensethArgentinaAmy Elsner UNQUALIFIED
Clifford O MacleadIndiaXuxue Feng PROPOSAL
James I DoeUnited KingdomXuxue Feng RENEWAL
Arvin X AmigonIndiaIoni Bowcher NEGOTIATION
Greenwood N GauchoUnited KingdomXuxue Feng NEGOTIATION
Juan T RulapaughUnited KingdomAnna Fali RENEWAL
Deepesh M ChuiJapanIvan Magalhaes RENEWAL
Nicolas A SlusarskiCanadaIvan Magalhaes NEGOTIATION
James P BologniaAustraliaElwin Sharvill RENEWAL
Chavez L CaudyIndiaIvan Magalhaes NEW
Cody C InouyeFranceAsiya Javayant UNQUALIFIED
Arvin P GauchoUnited KingdomStephen Shaw UNQUALIFIED
Octavia I MaletGermanyStephen Shaw PROPOSAL
Aditya I GauchoBrazilOnyama Limba NEW
Ivar V VocelkaCanadaXuxue Feng NEGOTIATION
Darci T PaprockiFranceStephen Shaw NEW
Ricardo B WaycottGermanyAsiya Javayant QUALIFIED
Julie T CaldareraItalyAmy Elsner PROPOSAL
Isabel B KolmetzJapanBernardo Dominic PROPOSAL
Kaitlin I TollnerArgentinaBernardo Dominic RENEWAL
Izzy H ShinkoArgentinaElwin Sharvill NEW
Morrow M StockhamFranceStephen Shaw UNQUALIFIED
Ashley T BologniaJapanBernardo Dominic RENEWAL
Isabel A CaudyBrazilElwin Sharvill PROPOSAL
Kadeem O PerinAustraliaXuxue Feng PROPOSAL
Francesco M MorascaAustraliaBernardo Dominic UNQUALIFIED
Isabel O RoysterFranceAnna Fali NEW
Leon X MacleadUnited KingdomAmy Elsner NEGOTIATION
Mayumi P NestleGermanyIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jefferson Q TollnerItalyAmy Elsner RENEWAL
Darci X AlbaresItalyIoni Bowcher NEGOTIATION
Mujtaba Y RoysterAustraliaIoni Bowcher RENEWAL
Francesco D DilliardRussiaIoni Bowcher QUALIFIED
Silvio W PerinFranceAsiya Javayant RENEWAL
Kaitlin Z RimRussiaStephen Shaw PROPOSAL
Kaitlin S ShinkoRussiaAmy Elsner NEW
Ricardo E KuskoIndiaStephen Shaw NEGOTIATION
Alejandro C TollnerItalyAmy Elsner PROPOSAL
Silvio Q PaprockiGermanyStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues M SaylorsItaly2024-05-25Morlong Associates QUALIFIED42Anna Fali
1001Darci Q AmigonCanada2024-06-21Chemel, James L Cpa RENEWAL24Ivan Magalhaes
1002Izzy K WaycottUnited Kingdom2024-06-02Buckley Miller Wright PROPOSAL69Bernardo Dominic
1003Izzy M DilliardGermany2024-05-31Dorl, James J Esq RENEWAL2Elwin Sharvill
1004Tony C VocelkaJapan2024-05-27Chapman, Ross E Esq NEW33Stephen Shaw
1005Julie I ButtCanada2024-05-24Printing Dimensions PROPOSAL50Anna Fali
1006Antonio V RoysterCanada2024-06-20Chapman, Ross E Esq RENEWAL80Ivan Magalhaes
1007Antonio S BowleyRussia2024-06-20Chapman, Ross E Esq NEGOTIATION84Stephen Shaw
1008Johnson F CampainBrazil2024-06-07Printing Dimensions UNQUALIFIED43Ivan Magalhaes
1009Darci N GlickFrance2024-05-30Rousseaux, Michael Esq PROPOSAL63Asiya Javayant
1010Aditya N RimBrazil2024-06-13Feltz Printing Service NEW88Stephen Shaw
1011Claire Z MaletArgentina2024-06-11Printing Dimensions NEW27Ivan Magalhaes
1012Mayumi P RimUnited Kingdom2024-06-10Dorl, James J Esq NEW23Stephen Shaw
1013Wickens M KuskoBrazil2024-06-07Dorl, James J Esq PROPOSAL35Asiya Javayant
1014Costa U MacleadSpain2024-05-30Feiner Bros UNQUALIFIED94Anna Fali
1015Clifford A KolmetzBrazil2024-06-17Chemel, James L Cpa QUALIFIED66Asiya Javayant
1016James Z WhobreyBrazil2024-06-07Truhlar And Truhlar Attys UNQUALIFIED92Asiya Javayant
1017Izzy T PaprockiFrance2024-06-03Chapman, Ross E Esq NEGOTIATION87Onyama Limba
1018Salvatore S ChuiFrance2024-06-19Benton, John B Jr PROPOSAL88Amy Elsner
1019Juan G MaletJapan2024-06-04Morlong Associates NEGOTIATION23Xuxue Feng
1020Jeanfrancois G DoeIndia2024-06-05Rousseaux, Michael Esq NEW53Asiya Javayant
1021Murillo C AlbaresAustralia2024-06-10Printing Dimensions UNQUALIFIED2Anna Fali
1022Jeanfrancois B NickaArgentina2024-05-30Rousseaux, Michael Esq RENEWAL85Ivan Magalhaes
1023Silvio E SlusarskiGermany2024-06-05Commercial Press UNQUALIFIED26Onyama Limba
1024Isabel K VocelkaFrance2024-06-16Chapman, Ross E Esq NEW49Ioni Bowcher
1025Munro K DarakjySpain2024-06-06Buckley Miller Wright QUALIFIED32Anna Fali
1026Silvio N IturbideFrance2024-06-02Chanay, Jeffrey A Esq NEGOTIATION21Bernardo Dominic
1027Wickens F BriddickGermany2024-05-24Buckley Miller Wright QUALIFIED31Ivan Magalhaes
1028Ivar V NestleAustralia2024-06-19Printing Dimensions PROPOSAL49Ivan Magalhaes
1029Kaitlin G RulapaughItaly2024-06-10Chanay, Jeffrey A Esq QUALIFIED9Bernardo Dominic
1030Clifford J SergiCanada2024-06-05Printing Dimensions UNQUALIFIED2Ioni Bowcher
1031Munro E VocelkaIndia2024-06-17Printing Dimensions NEGOTIATION31Ioni Bowcher
1032Leon X IturbideRussia2024-06-09Rousseaux, Michael Esq NEW26Onyama Limba
1033Maria G GarufiSpain2024-06-09King, Christopher A Esq NEGOTIATION8Stephen Shaw
1034Aditya V VenereAustralia2024-06-07Rangoni Of Florence UNQUALIFIED96Xuxue Feng
1035Smith E MaletRussia2024-05-25Truhlar And Truhlar Attys NEGOTIATION5Ioni Bowcher
1036Julie H BriddickJapan2024-06-08King, Christopher A Esq QUALIFIED36Amy Elsner
1037Ivar K NestleBrazil2024-06-06Dorl, James J Esq UNQUALIFIED70Anna Fali
1038Tony T RimBrazil2024-06-20Feltz Printing Service RENEWAL94Ivan Magalhaes
1039Clifford X BowleyFrance2024-06-18Dorl, James J Esq NEW64Ioni Bowcher
1040David Y RoysterFrance2024-06-11Chemel, James L Cpa NEGOTIATION7Onyama Limba
1041Izzy U GlickSpain2024-05-26Rangoni Of Florence RENEWAL42Amy Elsner
1042Kaitlin J ChuiFrance2024-05-31Commercial Press PROPOSAL43Onyama Limba
1043Julie Z RutaArgentina2024-06-09Buckley Miller Wright RENEWAL14Anna Fali
1044Jeanfrancois Q DilliardJapan2024-06-01Chapman, Ross E Esq RENEWAL64Bernardo Dominic
1045Adams P ChuiFrance2024-05-24Buckley Miller Wright RENEWAL32Ivan Magalhaes
1046Murillo K VenereItaly2024-06-13Buckley Miller Wright NEGOTIATION18Elwin Sharvill
1047Claire P MorascaUnited Kingdom2024-06-04Chapman, Ross E Esq QUALIFIED24Xuxue Feng
1048Francesco A VenereFrance2024-06-01Chapman, Ross E Esq RENEWAL20Amy Elsner
1049Deepesh X GlickItaly2024-05-26Buckley Miller Wright UNQUALIFIED61Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Arvin Z StockhamJapanElwin Sharvill QUALIFIED
Mujtaba Z RutaItalyAmy Elsner QUALIFIED
Leon V FigeroaIndiaBernardo Dominic UNQUALIFIED
Maisha D DarakjyRussiaIvan Magalhaes NEW
Arvin C PerinCanadaIvan Magalhaes NEW
Jeanfrancois I VocelkaJapanAnna Fali PROPOSAL
Tony Z CaudyRussiaIoni Bowcher NEW
Isabel L VenereUnited KingdomStephen Shaw RENEWAL
Antonio Y TollnerSpainAnna Fali UNQUALIFIED
Rodrigues X GillianArgentinaIvan Magalhaes UNQUALIFIED
Tony M GillianArgentinaIvan Magalhaes NEW
Silvio K KuskoBrazilAnna Fali RENEWAL
Morrow D MaletCanadaOnyama Limba NEW
Silvio Y KolmetzRussiaIoni Bowcher UNQUALIFIED
Tony M SergiFranceAmy Elsner NEGOTIATION
Munro K PoquetteCanadaAsiya Javayant PROPOSAL
Francesco Y VenereItalyIvan Magalhaes PROPOSAL
Murillo L SlusarskiBrazilXuxue Feng RENEWAL
Smith Y VocelkaRussiaOnyama Limba RENEWAL
Jefferson J WaycottItalyIoni Bowcher PROPOSAL
Alejandro X SaylorsBrazilBernardo Dominic QUALIFIED
Darci S PaprockiIndiaAsiya Javayant UNQUALIFIED
Stacey R GlickBrazilElwin Sharvill NEW
Arvin W StensethIndiaIvan Magalhaes NEGOTIATION
James N KolmetzItalyBernardo Dominic PROPOSAL
Wickens Q RimCanadaAsiya Javayant PROPOSAL
Misaki T GillianUnited KingdomBernardo Dominic PROPOSAL
Murillo A ChuiAustraliaAsiya Javayant QUALIFIED
Kaitlin F ChuiJapanXuxue Feng RENEWAL
Smith W FigeroaJapanIoni Bowcher PROPOSAL
Murillo N MorascaArgentinaXuxue Feng NEW
Faith N CaudyArgentinaBernardo Dominic RENEWAL
Mujtaba V ChuiRussiaIoni Bowcher NEW
Costa W SergiSpainBernardo Dominic NEGOTIATION
Leon R VenereGermanyStephen Shaw QUALIFIED
Leja H StensethIndiaElwin Sharvill NEW
Leja A OstroskyCanadaIvan Magalhaes RENEWAL
Ivar J CaldareraSpainIvan Magalhaes PROPOSAL
Mujtaba F RulapaughGermanyIoni Bowcher PROPOSAL
Nicolas T SchemmerSpainStephen Shaw NEGOTIATION
Maisha M StensethUnited KingdomIoni Bowcher QUALIFIED
Octavia C GillianJapanXuxue Feng PROPOSAL
Clifford W TollnerArgentinaIvan Magalhaes RENEWAL
Tony R NestleFranceAmy Elsner QUALIFIED
Antonio C AmigonFranceIoni Bowcher NEGOTIATION
Faith I KolmetzArgentinaBernardo Dominic NEW
Antonio Q GillianItalyBernardo Dominic PROPOSAL
Julie E SchemmerAustraliaBernardo Dominic PROPOSAL
Maria N WieserArgentinaStephen Shaw NEGOTIATION
Julie O ChuiAustraliaAmy Elsner QUALIFIED
Frozen Columns
Name
Jeanfrancois C Bowley
Clifford M Chui
Smith B Kusko
Maria N Nicka
Murillo V Nicka
Leon D Poquette
Maisha G Maclead
Mayumi S Inouye
Maisha J Glick
Isabel I Inouye
Juan W Tollner
Jones R Shinko
Rodrigues W Foller
Rodrigues R Sergi
Greenwood X Waycott
Munro V Morasca
Aika F Foller
Ricardo D Flosi
Aditya D Tollner
Isabel T Waycott
Munro P Stockham
Chavez L Garufi
Johnson W Figeroa
Faith G Shinko
Julie A Gillian
Arvin L Kolmetz
Isabel G Butt
Nicolas G Kusko
Arvin E Vocelka
Ricardo J Stockham
David H Caudy
Ricardo M Royster
Izzy C Shinko
Mujtaba X Albares
Chavez F Stockham
Isabel S Kusko
Cody G Bowley
David F Figeroa
Kadeem D Slusarski
Jones J Whobrey
Claire X Poquette
Johnson N Dilliard
Aruna U Figeroa
Octavia H Rulapaugh
Johnson P Rulapaugh
Maisha X Amigon
Francesco I Rulapaugh
Leja J Schemmer
Tony M Royster
Francesco Y Kusko
IdCountryDate
1000France2024-06-21
1001Spain2024-06-10
1002United Kingdom2024-06-04
1003Russia2024-06-11
1004Russia2024-05-24
1005Germany2024-06-12
1006Canada2024-06-14
1007India2024-06-22
1008Russia2024-06-08
1009Russia2024-05-31
1010Russia2024-06-03
1011Canada2024-06-13
1012Italy2024-06-11
1013Brazil2024-05-27
1014Russia2024-06-13
1015United Kingdom2024-06-14
1016Italy2024-06-13
1017Russia2024-06-01
1018Brazil2024-06-17
1019Canada2024-06-20
1020Spain2024-05-31
1021Argentina2024-06-10
1022Russia2024-06-13
1023Brazil2024-06-16
1024Japan2024-06-10
1025India2024-06-22
1026Canada2024-06-04
1027Japan2024-06-17
1028Brazil2024-06-08
1029Australia2024-05-31
1030Argentina2024-05-31
1031Spain2024-05-24
1032France2024-06-04
1033Japan2024-05-24
1034France2024-06-14
1035France2024-06-03
1036Italy2024-05-26
1037Argentina2024-06-04
1038Russia2024-05-26
1039Brazil2024-06-17
1040France2024-05-31
1041Australia2024-06-10
1042France2024-06-18
1043India2024-06-12
1044United Kingdom2024-06-11
1045Brazil2024-06-12
1046Germany2024-06-22
1047Germany2024-06-19
1048India2024-06-09
1049Germany2024-05-30

On-Demand Data

NameIdCountryDate
Chavez O Bolognia1000United Kingdom2024-05-29
Emily F Oldroyd1001Brazil2024-06-16
Mayumi U Schemmer1002India2024-05-30
Mayumi W Venere1003Italy2024-06-21
David Y Paprocki1004Canada2024-06-04
Kadeem Y Slusarski1005Argentina2024-06-11
Kadeem S Darakjy1006Argentina2024-06-06
Misaki A Wieser1007Argentina2024-05-27
Adams T Waycott1008Australia2024-06-17
Leon W Oldroyd1009Australia2024-06-22
Greenwood Z Bolognia1010Russia2024-06-12
Antonio U Dilliard1011India2024-06-10
Misaki L Perin1012Japan2024-06-09
Emily Y Ferencz1013Spain2024-06-01
Jeanfrancois I Gaucho1014Australia2024-06-06
Emily I Wieser1015Australia2024-06-18
Aditya N Briddick1016Japan2024-06-05
Juan M Glick1017Brazil2024-06-17
Johnson S Marrier1018France2024-06-22
Aditya T Stockham1019Argentina2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody L GillianItalyIoni Bowcher PROPOSAL
Kadeem G RutaSpainAmy Elsner UNQUALIFIED
Wickens Q InouyeGermanyAnna Fali QUALIFIED
Sinclair N AmigonBrazilAmy Elsner UNQUALIFIED
Leja N FigeroaUnited KingdomXuxue Feng NEW
Ivar T DoeItalyBernardo Dominic QUALIFIED
Greenwood X IturbideItalyBernardo Dominic PROPOSAL
Kadeem T ShinkoArgentinaStephen Shaw RENEWAL
Adams G FlosiFranceElwin Sharvill NEW
Chavez R RutaRussiaStephen Shaw PROPOSAL
Leon Y InouyeRussiaBernardo Dominic NEGOTIATION
Jennifer U WieserIndiaAmy Elsner NEW
Claire U MaletItalyXuxue Feng PROPOSAL
Arvin Z OstroskyItalyXuxue Feng UNQUALIFIED
Jones P FerenczBrazilBernardo Dominic QUALIFIED
Jones K RulapaughRussiaOnyama Limba NEGOTIATION
Aruna T IturbideItalyAsiya Javayant PROPOSAL
Cody M WieserIndiaIvan Magalhaes NEW
Arvin A MarrierRussiaBernardo Dominic NEGOTIATION
Emily N FerenczUnited KingdomStephen Shaw PROPOSAL
Kadeem Q ShinkoFranceAnna Fali RENEWAL
Deepesh P GlickFranceElwin Sharvill UNQUALIFIED
Rodrigues G PerinUnited KingdomIoni Bowcher NEGOTIATION
Maisha K GauchoAustraliaIoni Bowcher QUALIFIED
Ricardo N DarakjySpainElwin Sharvill NEGOTIATION
Wickens I RulapaughSpainElwin Sharvill RENEWAL
Rodrigues R SaylorsGermanyXuxue Feng PROPOSAL
Silvio W KolmetzUnited KingdomAsiya Javayant NEGOTIATION
Adams J MaletGermanyAnna Fali RENEWAL
James T WieserFranceOnyama Limba NEGOTIATION
Alejandro J WaycottUnited KingdomIoni Bowcher QUALIFIED
Aruna Q ChuiJapanOnyama Limba RENEWAL
Murillo H FollerArgentinaAsiya Javayant NEGOTIATION
Aika B ShinkoRussiaXuxue Feng UNQUALIFIED
Mayumi Y WaycottItalyIoni Bowcher RENEWAL
Salvatore B FollerIndiaXuxue Feng QUALIFIED
Mujtaba G RutaCanadaBernardo Dominic NEGOTIATION
Mujtaba D PaprockiItalyBernardo Dominic PROPOSAL
Nicolas L RulapaughUnited KingdomBernardo Dominic UNQUALIFIED
Ivar P MarrierIndiaStephen Shaw 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>