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
Clifford I FerenczBrazilOnyama Limba PROPOSAL
Izzy K FigeroaBrazilIvan Magalhaes RENEWAL
Faith I MaletIndiaBernardo Dominic NEGOTIATION
Izzy R KolmetzSpainAmy Elsner PROPOSAL
Salvatore I PaprockiJapanElwin Sharvill UNQUALIFIED
Ricardo U KuskoItalyBernardo Dominic NEGOTIATION
Adams P RoysterGermanyOnyama Limba PROPOSAL
Alejandro V ShinkoRussiaIvan Magalhaes PROPOSAL
Claire N MacleadSpainXuxue Feng PROPOSAL
David Q PerinRussiaAmy Elsner UNQUALIFIED
Faith L FollerArgentinaAsiya Javayant QUALIFIED
Chavez W SlusarskiArgentinaOnyama Limba NEGOTIATION
Aika J GauchoUnited KingdomOnyama Limba RENEWAL
Salvatore R MaletFranceIvan Magalhaes PROPOSAL
Munro X AlbaresCanadaAmy Elsner UNQUALIFIED
Jefferson T GillianFranceIoni Bowcher PROPOSAL
Aditya Z GarufiRussiaIoni Bowcher RENEWAL
Kaitlin G TollnerCanadaAmy Elsner NEGOTIATION
Jennifer I RoysterAustraliaIoni Bowcher QUALIFIED
Aditya Y SaylorsCanadaXuxue Feng NEW
Isabel B PaprockiUnited KingdomBernardo Dominic UNQUALIFIED
Silvio J AlbaresBrazilElwin Sharvill NEW
Jennifer W RoysterFranceIvan Magalhaes NEGOTIATION
Ivar N BowleyFranceAmy Elsner RENEWAL
Isabel A GauchoArgentinaAnna Fali PROPOSAL
Jennifer Q MaletAustraliaIoni Bowcher PROPOSAL
Kaitlin O MorascaUnited KingdomIvan Magalhaes PROPOSAL
Silvio V OstroskySpainIvan Magalhaes NEW
Arvin A KolmetzCanadaAsiya Javayant UNQUALIFIED
Kaitlin O VenereBrazilXuxue Feng UNQUALIFIED
Salvatore Q MarrierFranceBernardo Dominic NEW
Arvin N NestleGermanyElwin Sharvill NEGOTIATION
Aruna J SaylorsItalyAnna Fali RENEWAL
Smith L WaycottSpainOnyama Limba PROPOSAL
Ricardo D GarufiRussiaStephen Shaw NEW
Julie E NickaItalyElwin Sharvill QUALIFIED
Cody C SergiGermanyAsiya Javayant PROPOSAL
Aruna F BologniaUnited KingdomStephen Shaw NEGOTIATION
Maisha H KolmetzArgentinaIvan Magalhaes UNQUALIFIED
Morrow Q ButtIndiaAmy Elsner NEGOTIATION
Jennifer U WieserBrazilOnyama Limba RENEWAL
Misaki L BriddickSpainIoni Bowcher NEW
Mayumi A WieserSpainBernardo Dominic RENEWAL
Stacey P GillianCanadaAnna Fali NEGOTIATION
Silvio U RimJapanBernardo Dominic RENEWAL
Mayumi Z BowleyAustraliaAsiya Javayant NEW
Izzy X GillianFranceElwin Sharvill NEW
Maria H KolmetzItalyXuxue Feng PROPOSAL
Salvatore C NestleSpainOnyama Limba NEW
Wickens N CaldareraIndiaIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jones H NestleUnited KingdomIoni Bowcher RENEWAL
Mujtaba V IturbideBrazilBernardo Dominic RENEWAL
Leja B BriddickCanadaXuxue Feng PROPOSAL
Jeanfrancois K BowleyArgentinaAmy Elsner UNQUALIFIED
James Z OldroydUnited KingdomIoni Bowcher PROPOSAL
Antonio U IturbideCanadaAmy Elsner QUALIFIED
Mujtaba L AlbaresBrazilBernardo Dominic UNQUALIFIED
Rodrigues Y WieserAustraliaOnyama Limba UNQUALIFIED
Mayumi O ShinkoSpainAnna Fali NEGOTIATION
Kaitlin H RimFranceIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa J CampainUnited Kingdom2024-05-30Buckley Miller Wright QUALIFIED54Anna Fali
1001Munro B TollnerCanada2024-05-29Chapman, Ross E Esq UNQUALIFIED32Xuxue Feng
1002Leja R NestleCanada2024-05-19Commercial Press RENEWAL47Anna Fali
1003Juan G RimUnited Kingdom2024-06-15Chemel, James L Cpa QUALIFIED45Xuxue Feng
1004Salvatore P StensethCanada2024-05-24Truhlar And Truhlar Attys NEW6Asiya Javayant
1005Alejandro R FigeroaArgentina2024-05-24King, Christopher A Esq NEW42Bernardo Dominic
1006Costa A AlbaresJapan2024-05-28Commercial Press QUALIFIED20Asiya Javayant
1007Jennifer I WieserCanada2024-06-06Feiner Bros QUALIFIED38Xuxue Feng
1008Alejandro S KolmetzGermany2024-05-22Commercial Press QUALIFIED35Ioni Bowcher
1009Jennifer W GarufiJapan2024-05-26Rangoni Of Florence QUALIFIED83Onyama Limba
1010Adams R AlbaresBrazil2024-05-28Feltz Printing Service PROPOSAL10Onyama Limba
1011Costa E GillianGermany2024-05-21Rangoni Of Florence RENEWAL63Onyama Limba
1012Ashley Y SchemmerCanada2024-05-22Chanay, Jeffrey A Esq QUALIFIED2Elwin Sharvill
1013Claire O CaldareraCanada2024-05-23Dorl, James J Esq NEGOTIATION59Xuxue Feng
1014Morrow F OldroydItaly2024-05-24King, Christopher A Esq RENEWAL55Amy Elsner
1015Jennifer F GauchoRussia2024-05-22Morlong Associates NEGOTIATION68Amy Elsner
1016Julie G DarakjyRussia2024-06-16Rousseaux, Michael Esq NEGOTIATION59Ivan Magalhaes
1017Ivar E CaldareraIndia2024-06-14Rousseaux, Michael Esq PROPOSAL94Onyama Limba
1018Mujtaba Q StensethAustralia2024-06-06Rangoni Of Florence NEW46Anna Fali
1019Isabel D MaletGermany2024-05-27Morlong Associates NEW52Amy Elsner
1020Costa G NickaUnited Kingdom2024-06-15Chemel, James L Cpa QUALIFIED71Ioni Bowcher
1021Nicolas U FlosiCanada2024-06-13Chemel, James L Cpa QUALIFIED10Anna Fali
1022Rodrigues W AmigonGermany2024-05-23Truhlar And Truhlar Attys NEGOTIATION96Elwin Sharvill
1023Costa Y DarakjyGermany2024-06-08Truhlar And Truhlar Attys RENEWAL96Elwin Sharvill
1024Aditya T GauchoFrance2024-05-25King, Christopher A Esq QUALIFIED8Onyama Limba
1025Morrow G BowleyUnited Kingdom2024-06-11Rousseaux, Michael Esq RENEWAL51Stephen Shaw
1026Munro F StockhamArgentina2024-05-20Feltz Printing Service RENEWAL88Elwin Sharvill
1027Ashley Q FlosiBrazil2024-06-11Printing Dimensions NEW48Ivan Magalhaes
1028Kaitlin L OstroskyAustralia2024-06-15Commercial Press RENEWAL33Ioni Bowcher
1029Emily C MaletUnited Kingdom2024-05-22Buckley Miller Wright QUALIFIED9Bernardo Dominic
1030Darci T DoeBrazil2024-06-07Rousseaux, Michael Esq NEW82Stephen Shaw
1031Leja L IturbideJapan2024-06-04King, Christopher A Esq NEW90Ivan Magalhaes
1032Tony S DarakjyRussia2024-05-29Rousseaux, Michael Esq QUALIFIED94Xuxue Feng
1033David I KolmetzGermany2024-05-29King, Christopher A Esq QUALIFIED79Anna Fali
1034Arvin F AmigonCanada2024-05-30Dorl, James J Esq NEGOTIATION41Bernardo Dominic
1035James J MorascaAustralia2024-06-04Morlong Associates PROPOSAL94Anna Fali
1036Ashley S WieserRussia2024-06-12Morlong Associates UNQUALIFIED3Stephen Shaw
1037Kadeem O RimCanada2024-05-23Dorl, James J Esq NEGOTIATION54Anna Fali
1038Mayumi H TollnerSpain2024-05-22Chemel, James L Cpa NEGOTIATION70Elwin Sharvill
1039Chavez P ButtRussia2024-06-03Rangoni Of Florence NEGOTIATION35Stephen Shaw
1040Misaki Y WhobreyItaly2024-06-09Feiner Bros QUALIFIED15Xuxue Feng
1041Morrow D WhobreySpain2024-06-14Rousseaux, Michael Esq RENEWAL55Anna Fali
1042Costa C AlbaresArgentina2024-06-10Commercial Press NEGOTIATION72Xuxue Feng
1043Johnson Y GillianIndia2024-05-28Chemel, James L Cpa PROPOSAL48Ioni Bowcher
1044Emily S IturbideArgentina2024-06-05Dorl, James J Esq UNQUALIFIED99Ioni Bowcher
1045Leja U StockhamGermany2024-06-14Dorl, James J Esq UNQUALIFIED3Onyama Limba
1046Clifford G GauchoIndia2024-05-19Rousseaux, Michael Esq QUALIFIED57Anna Fali
1047Emily P VocelkaArgentina2024-06-10King, Christopher A Esq UNQUALIFIED30Ioni Bowcher
1048Antonio X PerinIndia2024-05-22Buckley Miller Wright RENEWAL26Stephen Shaw
1049Claire F SergiSpain2024-06-15Chapman, Ross E Esq NEGOTIATION96Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Aditya J MorascaArgentinaOnyama Limba RENEWAL
Ricardo T ButtUnited KingdomIvan Magalhaes PROPOSAL
Johnson W CaldareraRussiaBernardo Dominic PROPOSAL
Kadeem O StockhamBrazilXuxue Feng PROPOSAL
Isabel E OstroskyArgentinaIoni Bowcher QUALIFIED
Stacey Q GarufiFranceAnna Fali UNQUALIFIED
Aditya R DarakjyRussiaXuxue Feng QUALIFIED
Misaki Y OstroskyRussiaXuxue Feng UNQUALIFIED
Octavia A AlbaresAustraliaIoni Bowcher QUALIFIED
Jennifer Z PerinRussiaAnna Fali RENEWAL
Smith L KolmetzFranceOnyama Limba PROPOSAL
Sinclair Y CaudyBrazilOnyama Limba NEW
Aditya Q ShinkoRussiaElwin Sharvill PROPOSAL
Mujtaba U VocelkaItalyXuxue Feng RENEWAL
David Z CampainBrazilStephen Shaw NEW
Leja M WaycottItalyAsiya Javayant QUALIFIED
Aruna W RulapaughBrazilBernardo Dominic PROPOSAL
Cody J FerenczRussiaIvan Magalhaes NEGOTIATION
Ashley I MacleadCanadaXuxue Feng NEW
Julie Q PaprockiJapanBernardo Dominic PROPOSAL
Alejandro W AmigonRussiaStephen Shaw NEGOTIATION
Silvio K GlickUnited KingdomElwin Sharvill NEW
Greenwood N GlickRussiaOnyama Limba RENEWAL
Greenwood P DarakjyCanadaXuxue Feng QUALIFIED
Maria C PerinCanadaElwin Sharvill NEW
Maria J SlusarskiItalyIvan Magalhaes NEGOTIATION
James F GlickFranceBernardo Dominic UNQUALIFIED
Cody K TollnerFranceElwin Sharvill NEGOTIATION
Wickens K GlickRussiaBernardo Dominic NEW
Nicolas L CaldareraFranceIoni Bowcher PROPOSAL
Ashley L ButtSpainAmy Elsner NEGOTIATION
Jones P InouyeIndiaAmy Elsner PROPOSAL
Maria Z RimIndiaStephen Shaw PROPOSAL
Maisha Y InouyeJapanBernardo Dominic PROPOSAL
Jeanfrancois K SchemmerFranceAmy Elsner PROPOSAL
Costa I DoeItalyBernardo Dominic UNQUALIFIED
Alejandro H AlbaresAustraliaStephen Shaw NEGOTIATION
Jennifer F NestleJapanElwin Sharvill UNQUALIFIED
Alejandro H SaylorsSpainElwin Sharvill RENEWAL
Leja L KuskoGermanyAmy Elsner NEW
Sinclair L GarufiSpainStephen Shaw RENEWAL
Antonio Q CaldareraCanadaOnyama Limba UNQUALIFIED
Munro O VenereIndiaAmy Elsner NEGOTIATION
Mayumi K AmigonGermanyAmy Elsner PROPOSAL
Kaitlin G PerinCanadaXuxue Feng NEGOTIATION
Darci B OldroydCanadaOnyama Limba NEW
Juan W PerinIndiaAnna Fali RENEWAL
Morrow M MarrierJapanStephen Shaw PROPOSAL
Jennifer W WieserBrazilIvan Magalhaes QUALIFIED
Aruna J MaletBrazilXuxue Feng QUALIFIED
Frozen Columns
Name
Alejandro R Poquette
Octavia J Kolmetz
Misaki Z Caudy
Jennifer D Slusarski
Aika X Albares
Maisha L Poquette
Tony X Rim
Ashley D Bowley
Emily C Rim
Nicolas W Kusko
Deepesh D Wieser
Jennifer L Chui
Morrow H Dilliard
Stacey C Amigon
Francesco M Nicka
Chavez L Chui
Adams K Campain
Isabel T Ruta
Emily O Figeroa
Murillo N Maclead
James L Garufi
Tony A Royster
Salvatore B Tollner
Jefferson M Marrier
Isabel Z Malet
Chavez L Royster
Emily A Venere
James N Glick
Rodrigues G Inouye
Jefferson G Stenseth
Antonio E Ostrosky
Nicolas B Garufi
Claire D Nicka
Adams W Rulapaugh
Izzy P Foller
Wickens M Doe
Francesco K Chui
Maisha M Malet
Isabel R Schemmer
James L Gaucho
Clifford X Malet
Munro X Maclead
Faith J Briddick
Kadeem C Saylors
Murillo G Ruta
Nicolas K Figeroa
Francesco U Darakjy
Leja A Ruta
Salvatore U Bowley
Ricardo H Caldarera
IdCountryDate
1000Argentina2024-06-14
1001Argentina2024-05-19
1002Russia2024-06-01
1003Russia2024-05-19
1004Japan2024-06-04
1005Germany2024-06-04
1006Canada2024-06-12
1007Spain2024-05-29
1008France2024-06-11
1009Italy2024-05-25
1010India2024-05-26
1011France2024-06-12
1012Russia2024-06-10
1013Brazil2024-06-17
1014Russia2024-06-14
1015Italy2024-05-19
1016Argentina2024-06-05
1017India2024-06-12
1018Russia2024-05-30
1019Australia2024-05-29
1020Germany2024-05-26
1021Spain2024-05-24
1022India2024-06-02
1023France2024-05-22
1024United Kingdom2024-06-17
1025Japan2024-06-15
1026India2024-06-09
1027Canada2024-06-01
1028Japan2024-05-30
1029Spain2024-06-03
1030Spain2024-05-19
1031United Kingdom2024-06-05
1032Japan2024-05-29
1033Brazil2024-06-04
1034Australia2024-05-22
1035United Kingdom2024-06-06
1036Japan2024-05-21
1037India2024-06-07
1038Spain2024-06-10
1039Brazil2024-06-02
1040France2024-06-06
1041Australia2024-06-12
1042United Kingdom2024-06-15
1043Australia2024-05-22
1044Brazil2024-05-21
1045Argentina2024-06-02
1046Argentina2024-06-01
1047Brazil2024-06-13
1048Japan2024-05-23
1049Italy2024-06-17

On-Demand Data

NameIdCountryDate
Silvio L Schemmer1000France2024-05-28
Jones Y Caudy1001Argentina2024-05-22
Adams A Campain1002Argentina2024-06-16
Adams D Marrier1003Argentina2024-05-24
Deepesh J Malet1004Spain2024-06-10
Ashley S Butt1005Russia2024-05-24
Deepesh Y Poquette1006Brazil2024-06-14
Darci E Ferencz1007Brazil2024-05-30
Ashley P Butt1008Argentina2024-05-25
Julie E Bowley1009Spain2024-05-21
Jones G Figeroa1010Canada2024-05-21
Octavia A Dilliard1011Brazil2024-05-19
Murillo T Ferencz1012Spain2024-05-29
Costa M Waycott1013Japan2024-06-12
Tony E Rim1014Italy2024-06-17
Costa A Wieser1015France2024-06-05
Kaitlin J Kusko1016Russia2024-05-25
Greenwood J Ostrosky1017Russia2024-05-27
Murillo K Nestle1018Australia2024-06-04
Isabel U Saylors1019India2024-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha D RulapaughGermanyAmy Elsner QUALIFIED
Adams U MarrierCanadaAsiya Javayant NEW
Morrow F CaldareraBrazilXuxue Feng NEW
Leon E VenereRussiaAsiya Javayant NEGOTIATION
Jeanfrancois Y GarufiRussiaAmy Elsner NEW
Tony X BologniaGermanyBernardo Dominic QUALIFIED
Wickens H IturbideBrazilStephen Shaw NEGOTIATION
Chavez W CampainFranceOnyama Limba PROPOSAL
Ashley T GauchoAustraliaAsiya Javayant QUALIFIED
Jones W SaylorsUnited KingdomElwin Sharvill PROPOSAL
Aditya K SergiAustraliaStephen Shaw UNQUALIFIED
Jones T PerinRussiaOnyama Limba UNQUALIFIED
Juan I MaletAustraliaAsiya Javayant RENEWAL
Maisha Z NestleBrazilStephen Shaw QUALIFIED
Aika Y RoysterItalyIoni Bowcher UNQUALIFIED
Ivar P VenereRussiaIvan Magalhaes PROPOSAL
Nicolas H WhobreyUnited KingdomIoni Bowcher QUALIFIED
Octavia Z CampainRussiaAsiya Javayant NEW
Greenwood C VenereArgentinaXuxue Feng PROPOSAL
Murillo Q CaudyUnited KingdomAmy Elsner NEGOTIATION
Clifford N NickaArgentinaIoni Bowcher UNQUALIFIED
Ashley E MaletBrazilAsiya Javayant NEGOTIATION
Rodrigues J DilliardJapanXuxue Feng PROPOSAL
Rodrigues J SchemmerIndiaIoni Bowcher QUALIFIED
Morrow G DarakjyRussiaXuxue Feng PROPOSAL
Jennifer U GlickCanadaElwin Sharvill NEW
Alejandro B RimFranceStephen Shaw QUALIFIED
Octavia F DarakjyBrazilAmy Elsner RENEWAL
Chavez Y RimBrazilAnna Fali UNQUALIFIED
Silvio Y GarufiGermanyElwin Sharvill NEGOTIATION
Munro S BologniaSpainStephen Shaw RENEWAL
Darci Q FigeroaBrazilBernardo Dominic QUALIFIED
Aika J GillianAustraliaOnyama Limba NEW
Sinclair W RimUnited KingdomAsiya Javayant UNQUALIFIED
Francesco C PaprockiGermanyXuxue Feng UNQUALIFIED
Leja G DarakjyFranceIvan Magalhaes RENEWAL
Ashley Q SergiSpainElwin Sharvill QUALIFIED
Claire O CaldareraSpainIvan Magalhaes NEW
Mayumi U CaldareraUnited KingdomAnna Fali QUALIFIED
James K MacleadBrazilAnna Fali QUALIFIED

<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>