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
Octavia P OldroydSpainIoni Bowcher QUALIFIED
Costa C GarufiUnited KingdomAnna Fali RENEWAL
Sinclair C RimSpainAmy Elsner NEW
Wickens U PoquetteFranceIoni Bowcher UNQUALIFIED
Julie B BowleyItalyAnna Fali QUALIFIED
Silvio Q OstroskyGermanyElwin Sharvill NEW
Maria A CaldareraCanadaAsiya Javayant RENEWAL
Ashley C MacleadJapanIoni Bowcher RENEWAL
Misaki J PoquetteBrazilOnyama Limba PROPOSAL
Nicolas P PaprockiCanadaOnyama Limba QUALIFIED
Jefferson S DoeItalyBernardo Dominic NEGOTIATION
James B GlickSpainXuxue Feng QUALIFIED
Aika P SergiAustraliaAnna Fali NEGOTIATION
Misaki W StensethItalyIoni Bowcher QUALIFIED
Leja K IturbideAustraliaAmy Elsner QUALIFIED
Darci A WieserUnited KingdomIvan Magalhaes RENEWAL
Julie L SlusarskiUnited KingdomIvan Magalhaes RENEWAL
Rodrigues J SlusarskiItalyAmy Elsner QUALIFIED
Jones N KolmetzGermanyOnyama Limba UNQUALIFIED
Deepesh K PerinFranceIvan Magalhaes NEGOTIATION
Juan Z GarufiSpainOnyama Limba PROPOSAL
Faith C PaprockiIndiaElwin Sharvill QUALIFIED
Sinclair G MaletGermanyOnyama Limba NEW
Mayumi I IturbideJapanIoni Bowcher UNQUALIFIED
Jeanfrancois S MarrierAustraliaXuxue Feng NEGOTIATION
Octavia H SaylorsItalyOnyama Limba RENEWAL
Kadeem H SaylorsItalyIoni Bowcher NEW
Jennifer Z SergiBrazilStephen Shaw NEW
Jennifer O PerinGermanyElwin Sharvill NEGOTIATION
Wickens T CaudyIndiaIvan Magalhaes PROPOSAL
Emily D PerinRussiaAmy Elsner NEGOTIATION
Jeanfrancois D RoysterItalyAsiya Javayant NEW
David W AlbaresJapanIvan Magalhaes QUALIFIED
Mayumi Q WhobreyItalyIoni Bowcher UNQUALIFIED
Ashley N GauchoSpainAnna Fali UNQUALIFIED
Maria Z KolmetzGermanyXuxue Feng NEW
Ashley G AmigonIndiaElwin Sharvill QUALIFIED
Costa W VenereItalyIvan Magalhaes NEGOTIATION
Julie U WieserBrazilElwin Sharvill UNQUALIFIED
Octavia Y SaylorsUnited KingdomBernardo Dominic UNQUALIFIED
Jennifer U SaylorsCanadaAsiya Javayant NEGOTIATION
Rodrigues X InouyeBrazilAsiya Javayant QUALIFIED
Cody X WieserRussiaIvan Magalhaes NEGOTIATION
Aruna A PoquetteAustraliaAnna Fali QUALIFIED
Faith P FollerIndiaBernardo Dominic PROPOSAL
Deepesh T DoeAustraliaIoni Bowcher UNQUALIFIED
Francesco J TollnerSpainBernardo Dominic RENEWAL
Octavia F KuskoIndiaAnna Fali PROPOSAL
Faith S GlickFranceAsiya Javayant NEGOTIATION
Salvatore B GillianUnited KingdomOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Julie A CampainItalyXuxue Feng UNQUALIFIED
Nicolas K WaycottItalyIoni Bowcher PROPOSAL
Darci D WieserIndiaOnyama Limba UNQUALIFIED
Antonio R ButtJapanBernardo Dominic QUALIFIED
Morrow J KuskoFranceStephen Shaw NEGOTIATION
Maisha S KuskoAustraliaIoni Bowcher QUALIFIED
Munro X AmigonSpainIvan Magalhaes RENEWAL
Salvatore M RoysterGermanyIvan Magalhaes UNQUALIFIED
Munro V RutaItalyStephen Shaw RENEWAL
Isabel J AmigonFranceAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson Y MaletGermany2024-06-04Chemel, James L Cpa UNQUALIFIED44Onyama Limba
1001Antonio M NickaAustralia2024-06-23Chapman, Ross E Esq QUALIFIED19Amy Elsner
1002Emily I MaletItaly2024-05-26Feiner Bros RENEWAL22Ioni Bowcher
1003Ashley Q PoquetteUnited Kingdom2024-06-21King, Christopher A Esq PROPOSAL87Amy Elsner
1004Antonio Q WieserArgentina2024-06-14Chanay, Jeffrey A Esq NEW18Onyama Limba
1005Tony B ShinkoAustralia2024-06-15Benton, John B Jr NEW26Amy Elsner
1006Cody E CampainRussia2024-06-20Rousseaux, Michael Esq NEGOTIATION55Amy Elsner
1007Emily Y WhobreyJapan2024-06-19Morlong Associates NEW55Asiya Javayant
1008Ashley N MarrierBrazil2024-06-13Feiner Bros PROPOSAL60Bernardo Dominic
1009Wickens H MaletItaly2024-06-09Chapman, Ross E Esq RENEWAL21Xuxue Feng
1010Kadeem W RulapaughGermany2024-06-15Dorl, James J Esq UNQUALIFIED37Bernardo Dominic
1011Ivar H AmigonAustralia2024-06-04Morlong Associates UNQUALIFIED90Xuxue Feng
1012Ivar W FerenczItaly2024-06-15Feiner Bros RENEWAL88Ivan Magalhaes
1013Adams F PaprockiItaly2024-06-06Rousseaux, Michael Esq NEGOTIATION10Ioni Bowcher
1014Leja Q CampainArgentina2024-05-30Rangoni Of Florence RENEWAL10Amy Elsner
1015Aditya B ChuiJapan2024-06-01Truhlar And Truhlar Attys QUALIFIED59Onyama Limba
1016Wickens M GillianRussia2024-06-13Chanay, Jeffrey A Esq UNQUALIFIED61Bernardo Dominic
1017Rodrigues T KolmetzBrazil2024-06-04King, Christopher A Esq NEGOTIATION20Ivan Magalhaes
1018Ricardo I KolmetzSpain2024-06-12Printing Dimensions NEGOTIATION19Bernardo Dominic
1019Ivar Y CaldareraCanada2024-06-18Printing Dimensions NEW25Elwin Sharvill
1020David C ButtUnited Kingdom2024-05-28Feltz Printing Service NEW11Bernardo Dominic
1021Jeanfrancois B FollerBrazil2024-06-15Truhlar And Truhlar Attys UNQUALIFIED19Elwin Sharvill
1022Maisha D KuskoAustralia2024-06-23Rangoni Of Florence NEGOTIATION59Anna Fali
1023Sinclair U RoysterArgentina2024-06-03King, Christopher A Esq NEW13Onyama Limba
1024Nicolas X ButtFrance2024-06-04Rousseaux, Michael Esq NEGOTIATION54Amy Elsner
1025Munro L MarrierAustralia2024-06-08Rousseaux, Michael Esq NEW67Xuxue Feng
1026Ashley V ButtSpain2024-06-09Rousseaux, Michael Esq NEGOTIATION57Xuxue Feng
1027Jefferson P PaprockiItaly2024-05-26Truhlar And Truhlar Attys PROPOSAL86Asiya Javayant
1028Wickens J MaletJapan2024-06-18Buckley Miller Wright UNQUALIFIED68Bernardo Dominic
1029Cody A BowleyGermany2024-06-05Chanay, Jeffrey A Esq UNQUALIFIED79Bernardo Dominic
1030Sinclair Q MarrierBrazil2024-05-30Feltz Printing Service QUALIFIED57Onyama Limba
1031Mayumi O RulapaughCanada2024-06-18Feltz Printing Service NEW49Ioni Bowcher
1032Maria P SlusarskiJapan2024-06-14King, Christopher A Esq NEGOTIATION46Xuxue Feng
1033Wickens P GarufiJapan2024-06-09Feiner Bros QUALIFIED32Ivan Magalhaes
1034Arvin N OldroydArgentina2024-06-10Morlong Associates UNQUALIFIED27Xuxue Feng
1035Rodrigues A ShinkoFrance2024-05-27Rousseaux, Michael Esq NEW12Elwin Sharvill
1036Antonio G FerenczGermany2024-06-05King, Christopher A Esq UNQUALIFIED64Onyama Limba
1037Kaitlin S NestleItaly2024-06-15King, Christopher A Esq QUALIFIED38Ioni Bowcher
1038Murillo Y GauchoSpain2024-06-03Morlong Associates NEGOTIATION44Elwin Sharvill
1039Alejandro Q PoquetteRussia2024-06-15Dorl, James J Esq QUALIFIED5Amy Elsner
1040Silvio J RutaFrance2024-06-08Chemel, James L Cpa RENEWAL59Anna Fali
1041Misaki D WaycottGermany2024-06-13King, Christopher A Esq NEW68Bernardo Dominic
1042Sinclair L NickaAustralia2024-06-11Rousseaux, Michael Esq UNQUALIFIED36Stephen Shaw
1043James U OldroydGermany2024-06-04Truhlar And Truhlar Attys NEW42Anna Fali
1044Clifford E GauchoRussia2024-06-21Chanay, Jeffrey A Esq UNQUALIFIED23Xuxue Feng
1045Costa Y SaylorsArgentina2024-05-25Commercial Press NEGOTIATION22Elwin Sharvill
1046Isabel X KuskoFrance2024-06-15Chemel, James L Cpa UNQUALIFIED33Anna Fali
1047Izzy M SlusarskiFrance2024-05-25Feltz Printing Service PROPOSAL1Xuxue Feng
1048Julie S MaletSpain2024-06-02Truhlar And Truhlar Attys NEGOTIATION32Bernardo Dominic
1049Aika X ShinkoGermany2024-06-14Chanay, Jeffrey A Esq NEW35Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Francesco M DarakjyIndiaBernardo Dominic NEW
Claire F IturbideSpainElwin Sharvill UNQUALIFIED
Leon Z MarrierBrazilAnna Fali NEGOTIATION
Octavia P VocelkaBrazilOnyama Limba PROPOSAL
Jennifer C SergiFranceElwin Sharvill QUALIFIED
Leon P BriddickItalyBernardo Dominic NEGOTIATION
Munro U WieserGermanyBernardo Dominic NEW
James C ShinkoItalyXuxue Feng NEGOTIATION
Jefferson Y GlickFranceAnna Fali PROPOSAL
Misaki L RutaItalyAnna Fali NEW
Greenwood K VocelkaUnited KingdomIvan Magalhaes NEGOTIATION
Francesco U GlickJapanAsiya Javayant UNQUALIFIED
Rodrigues W GillianSpainOnyama Limba RENEWAL
Mujtaba X FigeroaRussiaBernardo Dominic NEGOTIATION
Deepesh O BologniaIndiaElwin Sharvill RENEWAL
Leon V OldroydAustraliaAnna Fali UNQUALIFIED
Chavez D MorascaArgentinaOnyama Limba NEW
Tony X NestleJapanXuxue Feng NEW
Mujtaba Q IturbideRussiaOnyama Limba RENEWAL
Arvin X GarufiRussiaOnyama Limba UNQUALIFIED
Jones B NickaJapanAmy Elsner NEW
Darci H BriddickAustraliaAsiya Javayant QUALIFIED
Aruna B DarakjyUnited KingdomBernardo Dominic RENEWAL
Morrow I NestleArgentinaIvan Magalhaes QUALIFIED
Deepesh L AlbaresSpainOnyama Limba RENEWAL
Wickens Q OstroskyGermanyStephen Shaw PROPOSAL
Maria K StockhamArgentinaXuxue Feng RENEWAL
Wickens Q CaudyUnited KingdomXuxue Feng NEGOTIATION
Nicolas J DilliardGermanyElwin Sharvill UNQUALIFIED
Mayumi B MarrierBrazilElwin Sharvill RENEWAL
Faith J GarufiIndiaElwin Sharvill UNQUALIFIED
Sinclair U MorascaCanadaAnna Fali NEGOTIATION
Octavia V RulapaughArgentinaAsiya Javayant RENEWAL
Claire G CaudyBrazilStephen Shaw NEGOTIATION
Chavez N RutaFranceIvan Magalhaes RENEWAL
Adams X PoquetteFranceIoni Bowcher UNQUALIFIED
Costa G WaycottAustraliaAsiya Javayant UNQUALIFIED
Cody F CampainItalyAnna Fali PROPOSAL
Tony K WieserItalyIvan Magalhaes PROPOSAL
Clifford K FollerGermanyIvan Magalhaes UNQUALIFIED
Julie W MarrierAustraliaXuxue Feng PROPOSAL
Mayumi H SchemmerArgentinaAnna Fali NEGOTIATION
Juan V PoquetteBrazilAsiya Javayant UNQUALIFIED
Chavez B ButtFranceStephen Shaw NEW
Isabel I BowleyRussiaAmy Elsner NEW
Jeanfrancois V RulapaughUnited KingdomXuxue Feng NEGOTIATION
Clifford N PoquetteGermanyAnna Fali NEGOTIATION
Maisha R GarufiBrazilXuxue Feng NEGOTIATION
Octavia F CampainItalyElwin Sharvill QUALIFIED
Maisha Z MarrierArgentinaIvan Magalhaes PROPOSAL
Frozen Columns
Name
Tony P Inouye
Munro N Bowley
Francesco K Chui
Smith S Gaucho
Emily R Albares
Leja N Waycott
Jones L Malet
Mujtaba G Caudy
Faith F Caudy
Kadeem N Rulapaugh
Jeanfrancois Q Campain
Francesco N Malet
Jones G Stockham
Julie D Saylors
Claire O Gillian
Juan W Iturbide
Darci E Royster
Ricardo R Doe
Darci S Doe
Jennifer L Bowley
Greenwood J Amigon
Maisha X Slusarski
Chavez M Foller
Johnson N Butt
Misaki X Stockham
Greenwood J Tollner
Octavia T Kusko
Julie W Flosi
Costa E Royster
Mujtaba L Poquette
Costa L Caudy
Salvatore T Darakjy
Kaitlin X Sergi
Darci Z Schemmer
Adams T Poquette
Nicolas O Dilliard
Misaki F Chui
Claire Q Malet
Smith O Nicka
Stacey E Gillian
Francesco J Kusko
Morrow L Doe
Francesco C Royster
Johnson F Morasca
Nicolas H Albares
Isabel O Albares
Octavia V Darakjy
Izzy T Morasca
Juan H Slusarski
Johnson O Inouye
IdCountryDate
1000India2024-06-10
1001Italy2024-06-14
1002United Kingdom2024-06-02
1003Russia2024-06-15
1004Japan2024-06-16
1005Japan2024-05-28
1006Brazil2024-06-22
1007Japan2024-06-09
1008Japan2024-06-01
1009Russia2024-06-23
1010Argentina2024-06-14
1011France2024-06-16
1012India2024-06-11
1013Canada2024-06-11
1014Spain2024-06-13
1015Argentina2024-05-31
1016Brazil2024-06-05
1017Russia2024-06-03
1018United Kingdom2024-06-11
1019France2024-06-19
1020Australia2024-06-08
1021India2024-06-16
1022Canada2024-05-25
1023United Kingdom2024-06-20
1024Spain2024-06-03
1025Argentina2024-06-11
1026Brazil2024-06-20
1027Spain2024-06-18
1028Italy2024-06-23
1029Spain2024-05-28
1030Argentina2024-06-22
1031United Kingdom2024-06-23
1032Russia2024-06-05
1033Australia2024-06-05
1034United Kingdom2024-06-04
1035Japan2024-06-06
1036Australia2024-06-11
1037Spain2024-06-20
1038Italy2024-06-20
1039Germany2024-06-15
1040France2024-06-14
1041Russia2024-06-21
1042Germany2024-06-03
1043India2024-06-06
1044Italy2024-06-17
1045Italy2024-05-31
1046France2024-06-05
1047France2024-06-20
1048Australia2024-06-16
1049Italy2024-06-23

On-Demand Data

NameIdCountryDate
Smith B Ostrosky1000India2024-06-03
Claire U Flosi1001Russia2024-06-23
James W Nicka1002Italy2024-06-21
Misaki O Rulapaugh1003Japan2024-06-07
Leon Y Nicka1004France2024-06-01
Johnson X Malet1005Spain2024-05-26
Mujtaba N Malet1006Spain2024-05-27
Salvatore V Nicka1007Argentina2024-06-02
Deepesh Q Figeroa1008Japan2024-05-31
Arvin A Gaucho1009Brazil2024-05-27
Ivar U Whobrey1010United Kingdom2024-06-18
Murillo Z Butt1011France2024-06-10
Antonio M Morasca1012Argentina2024-06-19
Isabel Z Inouye1013Brazil2024-06-14
Arvin G Malet1014Canada2024-06-22
Arvin A Nestle1015United Kingdom2024-06-11
Mujtaba M Shinko1016Australia2024-05-27
Morrow K Shinko1017India2024-06-04
Sinclair A Marrier1018Germany2024-06-04
Antonio P Flosi1019Italy2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin C InouyeGermanyOnyama Limba NEGOTIATION
Morrow N KuskoAustraliaXuxue Feng RENEWAL
Costa B NickaRussiaAsiya Javayant UNQUALIFIED
Tony E FigeroaBrazilElwin Sharvill PROPOSAL
Costa J MaletItalyXuxue Feng NEGOTIATION
Ricardo H GillianRussiaAmy Elsner RENEWAL
Kaitlin X PerinBrazilBernardo Dominic RENEWAL
Emily H NestleIndiaBernardo Dominic NEGOTIATION
Jefferson Q FollerJapanIoni Bowcher PROPOSAL
Alejandro C MaletRussiaAsiya Javayant RENEWAL
Adams H IturbideUnited KingdomAmy Elsner NEGOTIATION
Mayumi G GlickArgentinaIvan Magalhaes UNQUALIFIED
Francesco G RoysterGermanyAmy Elsner NEW
Sinclair I RoysterArgentinaXuxue Feng PROPOSAL
Aika G GlickAustraliaStephen Shaw NEGOTIATION
Jeanfrancois Q OstroskyCanadaIoni Bowcher QUALIFIED
Aruna O BowleyCanadaIoni Bowcher UNQUALIFIED
Francesco G CaldareraRussiaOnyama Limba NEW
Sinclair F OstroskyCanadaXuxue Feng NEGOTIATION
Leja M MarrierJapanIvan Magalhaes UNQUALIFIED
James S FerenczSpainXuxue Feng NEW
Stacey S VocelkaSpainXuxue Feng QUALIFIED
Isabel T GauchoFranceIvan Magalhaes PROPOSAL
Morrow W NestleSpainAnna Fali NEW
Antonio H BologniaItalyStephen Shaw NEGOTIATION
Octavia D ShinkoFranceAnna Fali PROPOSAL
Sinclair L GarufiUnited KingdomAmy Elsner NEGOTIATION
Adams I KolmetzIndiaOnyama Limba PROPOSAL
Wickens Y PaprockiUnited KingdomStephen Shaw UNQUALIFIED
Greenwood R PerinUnited KingdomElwin Sharvill RENEWAL
Leon U WaycottSpainAsiya Javayant QUALIFIED
Leon D BologniaItalyAnna Fali PROPOSAL
Aditya S FerenczFranceAnna Fali PROPOSAL
Wickens U VocelkaSpainIvan Magalhaes QUALIFIED
Octavia J IturbideIndiaXuxue Feng QUALIFIED
Tony E FigeroaGermanyAsiya Javayant UNQUALIFIED
Deepesh B SaylorsFranceIoni Bowcher QUALIFIED
Smith E KuskoRussiaBernardo Dominic RENEWAL
Mujtaba J FollerCanadaAmy Elsner UNQUALIFIED
Munro J FigeroaGermanyBernardo Dominic 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>