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
Morrow R FigeroaArgentinaXuxue Feng UNQUALIFIED
Chavez V PerinIndiaIvan Magalhaes PROPOSAL
Francesco C DilliardCanadaAnna Fali QUALIFIED
Julie N ChuiRussiaAmy Elsner RENEWAL
Juan M BowleyUnited KingdomOnyama Limba RENEWAL
Deepesh C AmigonRussiaIvan Magalhaes QUALIFIED
Leon J RoysterRussiaIvan Magalhaes NEGOTIATION
Clifford L TollnerSpainAmy Elsner PROPOSAL
Arvin D GlickArgentinaStephen Shaw UNQUALIFIED
David N MacleadArgentinaAsiya Javayant QUALIFIED
Jeanfrancois F SaylorsFranceBernardo Dominic NEW
Antonio F CaldareraSpainIvan Magalhaes UNQUALIFIED
Darci R DilliardSpainAnna Fali NEGOTIATION
Kadeem Z FollerCanadaAsiya Javayant UNQUALIFIED
Leon I ChuiArgentinaAnna Fali NEGOTIATION
Mayumi S DilliardJapanBernardo Dominic NEGOTIATION
Antonio M TollnerJapanIoni Bowcher UNQUALIFIED
Tony V DilliardItalyAsiya Javayant RENEWAL
Deepesh E FollerArgentinaElwin Sharvill UNQUALIFIED
Darci C VenereUnited KingdomAsiya Javayant RENEWAL
Maisha F RimSpainElwin Sharvill QUALIFIED
Faith B ButtAustraliaAsiya Javayant RENEWAL
Darci R RoysterFranceAsiya Javayant PROPOSAL
Juan L TollnerUnited KingdomElwin Sharvill UNQUALIFIED
Maria U BologniaAustraliaIoni Bowcher NEGOTIATION
Clifford N SchemmerItalyAmy Elsner UNQUALIFIED
Aditya N AlbaresGermanyAnna Fali QUALIFIED
Maria I PerinArgentinaOnyama Limba NEGOTIATION
Smith K VocelkaArgentinaOnyama Limba PROPOSAL
Aika L ChuiRussiaIoni Bowcher NEW
Aditya G GauchoArgentinaXuxue Feng QUALIFIED
David W ShinkoRussiaOnyama Limba PROPOSAL
Leon Q CaldareraArgentinaIvan Magalhaes NEGOTIATION
Deepesh M ButtArgentinaStephen Shaw RENEWAL
Munro H DarakjyFranceAsiya Javayant PROPOSAL
Mujtaba R WaycottArgentinaElwin Sharvill PROPOSAL
Isabel S FerenczFranceOnyama Limba NEGOTIATION
Darci W BowleyGermanyXuxue Feng QUALIFIED
Nicolas G PaprockiCanadaStephen Shaw NEW
Aika N ButtSpainStephen Shaw RENEWAL
Jones X RulapaughSpainAmy Elsner RENEWAL
Leon H PerinJapanElwin Sharvill PROPOSAL
Izzy N FollerAustraliaIvan Magalhaes NEGOTIATION
Jefferson R InouyeUnited KingdomIvan Magalhaes NEW
Chavez A VenereJapanAsiya Javayant QUALIFIED
Johnson Y RulapaughUnited KingdomIoni Bowcher PROPOSAL
Mayumi H ChuiIndiaOnyama Limba NEGOTIATION
Jefferson A PaprockiIndiaAnna Fali UNQUALIFIED
Costa T AmigonSpainBernardo Dominic PROPOSAL
Francesco A ButtFranceBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Faith D KuskoItalyStephen Shaw NEGOTIATION
Izzy C CampainSpainAnna Fali NEW
David T AmigonArgentinaIvan Magalhaes PROPOSAL
Clifford T DilliardAustraliaOnyama Limba QUALIFIED
Deepesh S VenereBrazilIoni Bowcher NEW
Murillo N FerenczArgentinaXuxue Feng NEW
Ashley O WaycottFranceXuxue Feng NEW
Johnson E SergiBrazilXuxue Feng NEW
Octavia W BriddickArgentinaBernardo Dominic UNQUALIFIED
Smith D InouyeSpainOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki O PerinSpain2024-06-05Chemel, James L Cpa UNQUALIFIED98Ioni Bowcher
1001Jefferson E IturbideArgentina2024-06-10Rangoni Of Florence NEW36Onyama Limba
1002David P StensethIndia2024-05-23Rangoni Of Florence NEGOTIATION18Ivan Magalhaes
1003Aika B FlosiSpain2024-06-09Rangoni Of Florence NEGOTIATION52Amy Elsner
1004Ivar I AlbaresJapan2024-06-04Printing Dimensions UNQUALIFIED30Ivan Magalhaes
1005Kadeem W GillianArgentina2024-05-23Dorl, James J Esq PROPOSAL93Stephen Shaw
1006Emily W GarufiGermany2024-06-18Chemel, James L Cpa QUALIFIED43Anna Fali
1007Faith K OldroydFrance2024-06-14Feltz Printing Service QUALIFIED9Elwin Sharvill
1008Costa S RoysterFrance2024-06-08King, Christopher A Esq RENEWAL82Onyama Limba
1009Sinclair J InouyeAustralia2024-05-26Commercial Press UNQUALIFIED3Asiya Javayant
1010Juan Q TollnerSpain2024-06-16Chapman, Ross E Esq RENEWAL63Ioni Bowcher
1011Antonio N StockhamSpain2024-06-18Truhlar And Truhlar Attys RENEWAL2Onyama Limba
1012Kaitlin L OldroydAustralia2024-06-03Benton, John B Jr UNQUALIFIED64Onyama Limba
1013Antonio D MarrierIndia2024-06-12Rousseaux, Michael Esq UNQUALIFIED49Anna Fali
1014Mujtaba F MaletFrance2024-06-10Rousseaux, Michael Esq PROPOSAL5Xuxue Feng
1015Mujtaba T NestleGermany2024-06-10Rangoni Of Florence UNQUALIFIED57Amy Elsner
1016David J VocelkaIndia2024-06-20Benton, John B Jr QUALIFIED12Amy Elsner
1017Aika W SergiIndia2024-05-29Chemel, James L Cpa UNQUALIFIED51Elwin Sharvill
1018Misaki W RutaBrazil2024-05-28King, Christopher A Esq NEGOTIATION48Bernardo Dominic
1019Aditya U WaycottRussia2024-06-10Feltz Printing Service PROPOSAL67Asiya Javayant
1020Claire T SaylorsGermany2024-06-20Dorl, James J Esq QUALIFIED56Asiya Javayant
1021Aruna W MaletAustralia2024-05-27Commercial Press UNQUALIFIED36Xuxue Feng
1022Morrow A MaletUnited Kingdom2024-05-31King, Christopher A Esq RENEWAL29Xuxue Feng
1023Cody L GauchoAustralia2024-06-20King, Christopher A Esq NEGOTIATION49Amy Elsner
1024Adams W OldroydItaly2024-06-03Truhlar And Truhlar Attys RENEWAL55Elwin Sharvill
1025Maria S PerinArgentina2024-06-04Buckley Miller Wright NEW94Bernardo Dominic
1026Johnson S RoysterGermany2024-06-20Benton, John B Jr PROPOSAL80Ioni Bowcher
1027Aruna P VocelkaArgentina2024-05-31Chapman, Ross E Esq UNQUALIFIED78Amy Elsner
1028Kaitlin N WieserIndia2024-06-08Feltz Printing Service NEGOTIATION82Onyama Limba
1029Wickens X MorascaFrance2024-06-14Printing Dimensions QUALIFIED25Elwin Sharvill
1030Cody J SlusarskiFrance2024-05-26Rangoni Of Florence NEW75Xuxue Feng
1031David M PoquetteCanada2024-06-01Chanay, Jeffrey A Esq UNQUALIFIED86Xuxue Feng
1032Smith K OldroydCanada2024-05-27Rangoni Of Florence PROPOSAL47Bernardo Dominic
1033Jeanfrancois P MaletItaly2024-06-21Commercial Press PROPOSAL49Stephen Shaw
1034Darci I StensethGermany2024-06-06Feltz Printing Service NEW59Anna Fali
1035Izzy W FerenczJapan2024-06-15Commercial Press NEW81Ivan Magalhaes
1036Jeanfrancois F DarakjyGermany2024-05-24Dorl, James J Esq RENEWAL29Ivan Magalhaes
1037Rodrigues P NestleFrance2024-06-10Buckley Miller Wright RENEWAL75Xuxue Feng
1038Juan S NestleSpain2024-06-18Truhlar And Truhlar Attys RENEWAL91Ioni Bowcher
1039Jennifer I MorascaItaly2024-06-14Benton, John B Jr UNQUALIFIED54Onyama Limba
1040Tony C NestleIndia2024-06-06Dorl, James J Esq PROPOSAL48Amy Elsner
1041Faith T BowleyItaly2024-05-28Truhlar And Truhlar Attys QUALIFIED75Amy Elsner
1042Jeanfrancois M MaletRussia2024-06-02King, Christopher A Esq UNQUALIFIED47Elwin Sharvill
1043Salvatore O ShinkoIndia2024-06-12Rangoni Of Florence UNQUALIFIED61Ioni Bowcher
1044Murillo P ShinkoBrazil2024-05-30Buckley Miller Wright UNQUALIFIED63Stephen Shaw
1045Jones O SlusarskiRussia2024-05-28Buckley Miller Wright NEGOTIATION80Elwin Sharvill
1046Ashley L RoysterArgentina2024-06-14Feiner Bros NEW86Anna Fali
1047Greenwood L DarakjyItaly2024-05-24Rousseaux, Michael Esq NEW72Asiya Javayant
1048Ricardo G SaylorsBrazil2024-06-10Morlong Associates PROPOSAL50Asiya Javayant
1049Maria S KuskoItaly2024-06-18Truhlar And Truhlar Attys RENEWAL70Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Cody Q GauchoFranceAmy Elsner QUALIFIED
Aditya D WhobreyItalyIoni Bowcher NEGOTIATION
Maisha E FlosiFranceIvan Magalhaes QUALIFIED
Faith W GlickCanadaStephen Shaw NEW
Isabel J CaudyGermanyBernardo Dominic NEGOTIATION
Greenwood V RimJapanOnyama Limba NEW
Ivar Q VocelkaIndiaIoni Bowcher UNQUALIFIED
Sinclair T NickaSpainIvan Magalhaes NEGOTIATION
Chavez S ButtJapanIoni Bowcher RENEWAL
Sinclair L WhobreyUnited KingdomAmy Elsner QUALIFIED
Emily V MarrierItalyOnyama Limba RENEWAL
Murillo T WhobreyCanadaOnyama Limba NEGOTIATION
Aditya Z NestleUnited KingdomAmy Elsner NEGOTIATION
Maria E MorascaGermanyIoni Bowcher UNQUALIFIED
Deepesh U KolmetzFranceAmy Elsner UNQUALIFIED
Misaki R TollnerJapanOnyama Limba NEW
Silvio O KuskoUnited KingdomAsiya Javayant PROPOSAL
Aditya U AmigonUnited KingdomOnyama Limba QUALIFIED
David M RimFranceXuxue Feng PROPOSAL
Jones W AlbaresSpainElwin Sharvill NEW
Aika R VenereBrazilOnyama Limba NEW
Aditya Y CaldareraCanadaAnna Fali UNQUALIFIED
Munro R DilliardGermanyAmy Elsner QUALIFIED
Silvio Y VocelkaBrazilAnna Fali UNQUALIFIED
Silvio E StensethJapanAmy Elsner NEGOTIATION
Rodrigues P InouyeAustraliaBernardo Dominic UNQUALIFIED
Ricardo S ChuiItalyBernardo Dominic NEGOTIATION
Silvio E DilliardIndiaStephen Shaw RENEWAL
Francesco B CaudyItalyIvan Magalhaes RENEWAL
Wickens F TollnerJapanXuxue Feng RENEWAL
Nicolas K MaletArgentinaStephen Shaw NEGOTIATION
Ashley Y MaletGermanyAmy Elsner UNQUALIFIED
Leon H GarufiIndiaXuxue Feng NEW
Misaki X DoeRussiaAnna Fali NEW
Ashley B VenereSpainAnna Fali NEW
Cody R WhobreyArgentinaIoni Bowcher QUALIFIED
Salvatore U SergiGermanyIvan Magalhaes RENEWAL
Salvatore Y CaldareraJapanElwin Sharvill PROPOSAL
Leja Y KolmetzArgentinaXuxue Feng UNQUALIFIED
Octavia Y BologniaRussiaOnyama Limba RENEWAL
Jeanfrancois E DoeUnited KingdomOnyama Limba QUALIFIED
Isabel E WieserBrazilStephen Shaw PROPOSAL
Sinclair L VenereGermanyOnyama Limba PROPOSAL
Aditya T RoysterSpainOnyama Limba RENEWAL
Morrow H MaletBrazilXuxue Feng PROPOSAL
Juan V WieserRussiaStephen Shaw UNQUALIFIED
Morrow M DilliardIndiaStephen Shaw NEGOTIATION
Deepesh Z RulapaughGermanyBernardo Dominic RENEWAL
Alejandro W VocelkaJapanIvan Magalhaes PROPOSAL
Mujtaba G StensethItalyBernardo Dominic NEGOTIATION
Frozen Columns
Name
Morrow X Vocelka
Francesco E Gaucho
Leon U Nicka
Jones Y Albares
Octavia I Amigon
Julie R Flosi
Tony Z Gillian
Arvin F Whobrey
Isabel U Kolmetz
Antonio G Saylors
Isabel J Royster
Jefferson D Campain
Arvin O Bowley
Clifford D Maclead
Emily W Oldroyd
Misaki D Tollner
Aika J Rulapaugh
Aika W Ferencz
Aika U Doe
Tony V Campain
Aditya C Kusko
Darci V Caldarera
Juan E Perin
Claire R Maclead
Chavez C Wieser
Tony P Shinko
Tony I Slusarski
Murillo C Amigon
Alejandro L Foller
Smith L Glick
Kadeem X Ruta
Aditya T Iturbide
Ivar G Gaucho
Murillo R Whobrey
Johnson J Malet
Nicolas M Vocelka
Aika X Schemmer
Salvatore Z Morasca
Deepesh A Garufi
Silvio Z Malet
Stacey C Briddick
Emily B Glick
Maisha Y Royster
Misaki D Venere
Stacey A Ostrosky
Claire J Wieser
Greenwood P Maclead
Mujtaba H Butt
Adams V Malet
Kaitlin E Iturbide
IdCountryDate
1000France2024-05-23
1001Spain2024-06-18
1002Argentina2024-05-23
1003France2024-05-28
1004Brazil2024-05-27
1005United Kingdom2024-06-15
1006France2024-06-20
1007India2024-06-04
1008India2024-06-02
1009Italy2024-06-10
1010Brazil2024-06-08
1011United Kingdom2024-05-26
1012Spain2024-06-04
1013Italy2024-06-20
1014France2024-06-15
1015Brazil2024-06-15
1016Argentina2024-06-20
1017India2024-06-05
1018Germany2024-05-28
1019Germany2024-06-15
1020Spain2024-06-05
1021United Kingdom2024-05-30
1022Russia2024-05-26
1023Germany2024-06-07
1024Australia2024-05-25
1025United Kingdom2024-05-28
1026Spain2024-05-29
1027Australia2024-06-20
1028Argentina2024-06-19
1029Australia2024-06-04
1030Australia2024-06-07
1031Italy2024-06-04
1032Spain2024-05-24
1033Brazil2024-06-02
1034Canada2024-05-24
1035Australia2024-06-04
1036Spain2024-05-27
1037Japan2024-06-10
1038Russia2024-06-12
1039Canada2024-06-01
1040Brazil2024-05-24
1041Australia2024-06-01
1042Germany2024-06-21
1043Russia2024-05-25
1044Japan2024-05-31
1045Italy2024-06-01
1046Canada2024-06-18
1047Italy2024-06-11
1048Japan2024-06-19
1049United Kingdom2024-05-26

On-Demand Data

NameIdCountryDate
Darci A Chui1000Argentina2024-06-15
Adams G Gillian1001Canada2024-06-02
Alejandro H Chui1002France2024-06-21
Juan T Tollner1003Russia2024-06-21
Alejandro K Rulapaugh1004India2024-06-05
Maria V Glick1005Argentina2024-06-12
Kaitlin X Darakjy1006Russia2024-06-17
Nicolas M Flosi1007France2024-06-20
Maria B Ruta1008Brazil2024-05-25
Aruna B Ferencz1009Russia2024-06-19
Adams R Poquette1010Japan2024-06-18
Leon F Butt1011India2024-06-04
Maria R Kolmetz1012France2024-06-07
James T Shinko1013India2024-06-13
Rodrigues B Doe1014Russia2024-06-10
Alejandro W Inouye1015Italy2024-06-02
Claire S Albares1016Canada2024-06-03
Maria D Caldarera1017Spain2024-06-08
Silvio F Tollner1018Spain2024-06-04
Leon R Garufi1019Brazil2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon Y PerinIndiaIoni Bowcher NEW
Salvatore X ShinkoIndiaAsiya Javayant QUALIFIED
Sinclair W RulapaughGermanyBernardo Dominic UNQUALIFIED
James R MacleadIndiaBernardo Dominic QUALIFIED
Johnson D AlbaresArgentinaIoni Bowcher UNQUALIFIED
Salvatore D OstroskyRussiaAnna Fali NEGOTIATION
Maisha E TollnerCanadaIoni Bowcher UNQUALIFIED
Izzy I VocelkaGermanyXuxue Feng RENEWAL
Munro T SaylorsGermanyIvan Magalhaes RENEWAL
Costa Y AmigonCanadaIoni Bowcher RENEWAL
Nicolas H WieserCanadaBernardo Dominic RENEWAL
Jones D ChuiAustraliaIvan Magalhaes QUALIFIED
Adams G RoysterFranceElwin Sharvill NEGOTIATION
Adams E StensethBrazilAsiya Javayant UNQUALIFIED
Aika U NickaAustraliaBernardo Dominic PROPOSAL
Rodrigues J StensethFranceStephen Shaw PROPOSAL
Sinclair D SergiIndiaAmy Elsner UNQUALIFIED
Adams Y OldroydUnited KingdomOnyama Limba NEGOTIATION
James D WaycottGermanyBernardo Dominic NEGOTIATION
Alejandro B MacleadUnited KingdomXuxue Feng NEGOTIATION
Maisha H VenereSpainAsiya Javayant RENEWAL
Maisha M SaylorsIndiaAnna Fali PROPOSAL
Jennifer Y BowleySpainAsiya Javayant QUALIFIED
Rodrigues A NickaArgentinaXuxue Feng UNQUALIFIED
David A FlosiUnited KingdomAmy Elsner RENEWAL
Jones P KolmetzGermanyIoni Bowcher PROPOSAL
Kadeem D CaldareraFranceElwin Sharvill NEGOTIATION
David X CaudyJapanElwin Sharvill PROPOSAL
Sinclair K WieserItalyStephen Shaw UNQUALIFIED
Arvin H FollerGermanyAnna Fali QUALIFIED
Munro B AlbaresIndiaBernardo Dominic RENEWAL
Silvio E AmigonAustraliaAmy Elsner RENEWAL
Munro W GlickFranceElwin Sharvill UNQUALIFIED
Clifford R RoysterIndiaIvan Magalhaes NEGOTIATION
Isabel G MorascaSpainAnna Fali NEGOTIATION
Tony Y DarakjyUnited KingdomIoni Bowcher RENEWAL
Munro J MaletArgentinaXuxue Feng UNQUALIFIED
Morrow I OstroskyAustraliaAnna Fali PROPOSAL
Nicolas A MacleadItalyStephen Shaw NEGOTIATION
Nicolas U RoysterArgentinaIvan Magalhaes 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>