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
Cody C CampainAustraliaAmy Elsner RENEWAL
Tony R SlusarskiGermanyIvan Magalhaes UNQUALIFIED
Cody I WaycottItalyAsiya Javayant PROPOSAL
Jeanfrancois G MacleadUnited KingdomStephen Shaw RENEWAL
Munro Z StensethUnited KingdomXuxue Feng QUALIFIED
Leon M FlosiIndiaAsiya Javayant QUALIFIED
Faith D RulapaughAustraliaAsiya Javayant UNQUALIFIED
Chavez C StockhamAustraliaAmy Elsner UNQUALIFIED
Tony C OldroydGermanyXuxue Feng QUALIFIED
Jeanfrancois A RulapaughIndiaOnyama Limba QUALIFIED
Ashley P MaletFranceElwin Sharvill NEGOTIATION
Aika V GlickIndiaIvan Magalhaes UNQUALIFIED
Nicolas T SlusarskiBrazilElwin Sharvill NEGOTIATION
Ivar Q MacleadUnited KingdomStephen Shaw NEW
Morrow K NickaJapanXuxue Feng NEW
Faith D ButtAustraliaAmy Elsner RENEWAL
Adams Y MaletCanadaOnyama Limba NEGOTIATION
Adams O OstroskyIndiaAmy Elsner NEW
Deepesh Q SlusarskiAustraliaIvan Magalhaes QUALIFIED
Faith E BriddickSpainOnyama Limba QUALIFIED
Jeanfrancois R KolmetzAustraliaAmy Elsner NEGOTIATION
Deepesh L FerenczIndiaAnna Fali UNQUALIFIED
Mayumi Z ShinkoRussiaAsiya Javayant RENEWAL
Deepesh F IturbideAustraliaBernardo Dominic NEW
Octavia A VocelkaIndiaAnna Fali NEW
Arvin G DoeItalyOnyama Limba NEW
Tony S OldroydCanadaIvan Magalhaes NEW
Jeanfrancois G CampainArgentinaAmy Elsner QUALIFIED
Leon A IturbideArgentinaXuxue Feng UNQUALIFIED
Jennifer J ShinkoUnited KingdomBernardo Dominic UNQUALIFIED
Antonio O RulapaughItalyElwin Sharvill UNQUALIFIED
Julie X WaycottFranceIoni Bowcher NEW
James H CaudyIndiaStephen Shaw RENEWAL
Jefferson P NickaCanadaIoni Bowcher QUALIFIED
Claire Y AlbaresCanadaXuxue Feng RENEWAL
Faith Z CaudyGermanyIvan Magalhaes NEW
Rodrigues Z NickaCanadaIvan Magalhaes NEW
Francesco P RimUnited KingdomOnyama Limba NEW
Morrow E StensethGermanyOnyama Limba QUALIFIED
Stacey J CampainRussiaStephen Shaw QUALIFIED
Jefferson W WhobreyFranceIoni Bowcher NEW
Leja U CaudyJapanAnna Fali UNQUALIFIED
Alejandro E DarakjyBrazilAsiya Javayant UNQUALIFIED
Ricardo J GarufiBrazilOnyama Limba RENEWAL
Ivar N PaprockiFranceXuxue Feng QUALIFIED
Jennifer P MacleadAustraliaAmy Elsner PROPOSAL
Morrow N GauchoArgentinaElwin Sharvill RENEWAL
Stacey V WaycottArgentinaOnyama Limba PROPOSAL
Aditya W FigeroaBrazilElwin Sharvill UNQUALIFIED
Aditya F ChuiJapanAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Clifford F NestleJapanAnna Fali RENEWAL
Kaitlin S MorascaBrazilIoni Bowcher UNQUALIFIED
Tony T RulapaughUnited KingdomElwin Sharvill QUALIFIED
Tony A MorascaIndiaAsiya Javayant PROPOSAL
Darci E ChuiGermanyAsiya Javayant QUALIFIED
Silvio D AlbaresArgentinaStephen Shaw NEW
Stacey I AlbaresAustraliaAmy Elsner PROPOSAL
Greenwood M NestleFranceAsiya Javayant RENEWAL
Ricardo N IturbideUnited KingdomAnna Fali QUALIFIED
Costa O ButtFranceElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia N WieserCanada2024-05-27Chapman, Ross E Esq RENEWAL31Anna Fali
1001Morrow X AmigonBrazil2024-06-15King, Christopher A Esq PROPOSAL3Asiya Javayant
1002Chavez J PerinItaly2024-06-04Rangoni Of Florence RENEWAL99Stephen Shaw
1003Jennifer I NickaFrance2024-06-09Morlong Associates PROPOSAL56Ivan Magalhaes
1004Misaki T RimSpain2024-05-24Buckley Miller Wright RENEWAL47Stephen Shaw
1005Clifford E DoeGermany2024-06-15Feiner Bros NEGOTIATION0Bernardo Dominic
1006Wickens H BriddickAustralia2024-06-12Chanay, Jeffrey A Esq QUALIFIED26Ioni Bowcher
1007Octavia M VenereAustralia2024-05-24King, Christopher A Esq NEW97Bernardo Dominic
1008Jefferson J WieserJapan2024-06-10Rousseaux, Michael Esq NEW88Asiya Javayant
1009Adams Q MaletIndia2024-06-12King, Christopher A Esq RENEWAL95Ioni Bowcher
1010Isabel I ShinkoSpain2024-06-10Dorl, James J Esq PROPOSAL52Bernardo Dominic
1011Alejandro L VenereJapan2024-05-25Buckley Miller Wright UNQUALIFIED17Ivan Magalhaes
1012Aruna Z PerinGermany2024-05-30Buckley Miller Wright QUALIFIED49Stephen Shaw
1013Kaitlin T InouyeRussia2024-06-16Chemel, James L Cpa UNQUALIFIED29Anna Fali
1014Maisha K PaprockiFrance2024-06-16Printing Dimensions UNQUALIFIED42Bernardo Dominic
1015Chavez Y RutaSpain2024-05-30Chapman, Ross E Esq NEW5Asiya Javayant
1016Jennifer L SergiCanada2024-05-23Morlong Associates PROPOSAL87Ioni Bowcher
1017Aditya Y TollnerGermany2024-06-08Commercial Press QUALIFIED96Anna Fali
1018David X VenereAustralia2024-05-28Printing Dimensions RENEWAL6Anna Fali
1019Murillo U AmigonRussia2024-05-23Chapman, Ross E Esq QUALIFIED39Stephen Shaw
1020Leja O CampainItaly2024-06-14Commercial Press NEGOTIATION60Ioni Bowcher
1021Arvin C CampainFrance2024-06-14Chemel, James L Cpa NEGOTIATION50Ivan Magalhaes
1022Sinclair C GillianJapan2024-06-11Printing Dimensions PROPOSAL1Ivan Magalhaes
1023Jennifer Z AlbaresIndia2024-05-23Feiner Bros PROPOSAL31Ivan Magalhaes
1024Claire V MaletGermany2024-05-31Commercial Press NEW40Elwin Sharvill
1025James L StockhamIndia2024-05-23Chemel, James L Cpa QUALIFIED56Bernardo Dominic
1026Maisha M SaylorsBrazil2024-05-30King, Christopher A Esq NEW74Asiya Javayant
1027James I SlusarskiItaly2024-06-03Feiner Bros PROPOSAL56Elwin Sharvill
1028Francesco J ShinkoIndia2024-05-25Rangoni Of Florence NEGOTIATION61Ivan Magalhaes
1029Salvatore I FollerIndia2024-06-13King, Christopher A Esq NEW9Anna Fali
1030Smith E ShinkoArgentina2024-06-08Chanay, Jeffrey A Esq NEW64Ivan Magalhaes
1031Ricardo W WhobreyBrazil2024-05-29Benton, John B Jr PROPOSAL22Amy Elsner
1032Alejandro W ShinkoJapan2024-06-08Chanay, Jeffrey A Esq UNQUALIFIED6Ioni Bowcher
1033Alejandro J FlosiUnited Kingdom2024-05-25Feiner Bros QUALIFIED44Elwin Sharvill
1034Francesco X FigeroaIndia2024-05-31Morlong Associates UNQUALIFIED74Stephen Shaw
1035Izzy X MarrierAustralia2024-06-07Rousseaux, Michael Esq UNQUALIFIED31Ivan Magalhaes
1036Nicolas J KolmetzGermany2024-06-14Chanay, Jeffrey A Esq UNQUALIFIED35Ioni Bowcher
1037Kadeem F DarakjyBrazil2024-06-07Chemel, James L Cpa PROPOSAL89Amy Elsner
1038Munro Y BriddickIndia2024-06-01Chapman, Ross E Esq RENEWAL30Ioni Bowcher
1039Leja J AmigonSpain2024-06-05King, Christopher A Esq NEGOTIATION12Bernardo Dominic
1040Aruna I CaldareraGermany2024-05-30Morlong Associates RENEWAL13Amy Elsner
1041Leja G CaudyJapan2024-06-02Feltz Printing Service QUALIFIED17Bernardo Dominic
1042Mujtaba X SchemmerFrance2024-06-12Rangoni Of Florence PROPOSAL35Bernardo Dominic
1043Sinclair L VocelkaSpain2024-05-24Rousseaux, Michael Esq NEGOTIATION22Ivan Magalhaes
1044Faith J ShinkoGermany2024-05-19Feltz Printing Service NEW25Amy Elsner
1045Jones J WaycottItaly2024-06-13Truhlar And Truhlar Attys PROPOSAL25Amy Elsner
1046Stacey S ButtSpain2024-06-06Chapman, Ross E Esq RENEWAL23Ioni Bowcher
1047Tony W KuskoItaly2024-06-01Truhlar And Truhlar Attys NEW5Amy Elsner
1048Adams E SlusarskiFrance2024-05-26Printing Dimensions NEW47Amy Elsner
1049Misaki X CaldareraGermany2024-05-21Morlong Associates QUALIFIED59Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
David H KuskoFranceXuxue Feng NEW
Leon U BriddickSpainStephen Shaw UNQUALIFIED
Isabel X RimBrazilAsiya Javayant QUALIFIED
Murillo R BologniaGermanyOnyama Limba UNQUALIFIED
Adams S WaycottSpainIoni Bowcher QUALIFIED
Johnson Q PaprockiIndiaStephen Shaw RENEWAL
Mayumi C OstroskyGermanyStephen Shaw NEW
Jones X RimGermanyOnyama Limba NEW
Murillo Z DarakjyGermanyIvan Magalhaes PROPOSAL
Silvio R DarakjyJapanOnyama Limba UNQUALIFIED
Maisha D VenereItalyIoni Bowcher UNQUALIFIED
Claire G SlusarskiJapanIvan Magalhaes QUALIFIED
Claire W InouyeIndiaAnna Fali PROPOSAL
Leon F PerinItalyStephen Shaw NEGOTIATION
Maria J DoeIndiaBernardo Dominic NEGOTIATION
Aruna Z AmigonFranceAnna Fali NEGOTIATION
Isabel N FigeroaUnited KingdomElwin Sharvill PROPOSAL
Antonio H AlbaresCanadaAsiya Javayant RENEWAL
Ivar S FollerItalyAsiya Javayant PROPOSAL
Aika B PoquetteFranceElwin Sharvill QUALIFIED
Arvin T MorascaFranceStephen Shaw NEGOTIATION
Tony G GlickUnited KingdomElwin Sharvill NEGOTIATION
Jeanfrancois D NestleArgentinaIoni Bowcher PROPOSAL
David O ChuiArgentinaIvan Magalhaes QUALIFIED
Murillo R GillianBrazilAmy Elsner QUALIFIED
Salvatore U CampainSpainAmy Elsner QUALIFIED
Mayumi C ButtItalyIvan Magalhaes NEW
Maisha L OldroydItalyXuxue Feng PROPOSAL
Tony K WieserBrazilIvan Magalhaes PROPOSAL
Stacey G MorascaItalyIoni Bowcher PROPOSAL
Jefferson L SlusarskiItalyAsiya Javayant QUALIFIED
Nicolas W AlbaresJapanOnyama Limba NEGOTIATION
Claire G MarrierItalyIoni Bowcher RENEWAL
Maisha J FerenczUnited KingdomAnna Fali NEGOTIATION
Darci D MaletItalyAnna Fali UNQUALIFIED
Smith X RoysterSpainIvan Magalhaes RENEWAL
Maisha K OldroydJapanAmy Elsner RENEWAL
Chavez Q WhobreyIndiaElwin Sharvill QUALIFIED
Cody S PaprockiSpainBernardo Dominic NEGOTIATION
Kadeem C StensethIndiaAnna Fali NEGOTIATION
Octavia O StockhamSpainStephen Shaw RENEWAL
Silvio F SergiItalyElwin Sharvill QUALIFIED
Stacey R ChuiAustraliaAnna Fali PROPOSAL
Francesco S DoeSpainStephen Shaw NEGOTIATION
Antonio D DoeBrazilIoni Bowcher RENEWAL
Maisha N CaudyArgentinaElwin Sharvill PROPOSAL
Kaitlin V FigeroaRussiaAsiya Javayant RENEWAL
Wickens Z StensethItalyElwin Sharvill NEGOTIATION
Jones P OldroydArgentinaStephen Shaw PROPOSAL
Mujtaba I IturbideRussiaXuxue Feng RENEWAL
Frozen Columns
Name
Kaitlin U Malet
Murillo Z Darakjy
Morrow B Marrier
Jefferson E Perin
James L Dilliard
Arvin C Iturbide
Stacey Y Waycott
Arvin G Kusko
Jefferson D Shinko
Misaki Q Ostrosky
Isabel N Dilliard
Wickens K Royster
Izzy G Whobrey
Tony V Whobrey
Clifford R Albares
Salvatore H Rim
Sinclair I Rim
Greenwood X Chui
Julie S Rim
James K Poquette
Aditya B Maclead
Sinclair O Caldarera
Mayumi M Foller
James Q Darakjy
Johnson C Gillian
Aika F Inouye
Francesco M Figeroa
Sinclair P Poquette
James N Shinko
Alejandro X Rulapaugh
Claire Q Kusko
Emily F Gaucho
Aika I Paprocki
Alejandro H Figeroa
Kadeem Y Figeroa
Alejandro Y Saylors
Faith E Amigon
Arvin T Paprocki
Leja V Nestle
Jeanfrancois Z Amigon
Leja M Glick
Wickens A Campain
Antonio E Campain
Misaki B Oldroyd
Faith Q Inouye
Jeanfrancois Z Perin
Salvatore V Rulapaugh
Ashley J Butt
Aruna D Slusarski
Johnson H Briddick
IdCountryDate
1000Germany2024-06-09
1001India2024-06-09
1002Japan2024-05-27
1003Germany2024-05-20
1004Italy2024-06-04
1005Japan2024-05-29
1006India2024-06-07
1007India2024-06-11
1008Canada2024-05-19
1009India2024-05-18
1010France2024-06-12
1011Australia2024-06-07
1012India2024-05-19
1013Italy2024-06-03
1014Spain2024-06-01
1015United Kingdom2024-06-10
1016Japan2024-05-20
1017Russia2024-06-13
1018Spain2024-05-26
1019France2024-05-27
1020Spain2024-06-11
1021India2024-06-10
1022Japan2024-05-20
1023France2024-06-12
1024France2024-06-08
1025Japan2024-06-14
1026Russia2024-05-30
1027France2024-06-14
1028Australia2024-05-21
1029Italy2024-06-07
1030United Kingdom2024-05-24
1031United Kingdom2024-06-15
1032Argentina2024-06-03
1033Brazil2024-06-08
1034Japan2024-06-14
1035Italy2024-05-19
1036Spain2024-06-04
1037Russia2024-06-16
1038Italy2024-06-15
1039Japan2024-06-12
1040Canada2024-06-08
1041Spain2024-06-10
1042Argentina2024-06-02
1043Canada2024-05-29
1044Spain2024-06-05
1045Spain2024-05-22
1046Argentina2024-05-24
1047Spain2024-05-21
1048Italy2024-05-21
1049Australia2024-06-06

On-Demand Data

NameIdCountryDate
Salvatore W Venere1000United Kingdom2024-06-10
Emily N Nicka1001United Kingdom2024-06-14
Jeanfrancois A Rim1002Brazil2024-06-09
Smith M Poquette1003United Kingdom2024-06-04
Morrow R Tollner1004Japan2024-06-13
Costa B Caldarera1005Russia2024-05-21
Adams U Paprocki1006Canada2024-05-30
Rodrigues X Figeroa1007Canada2024-06-13
Rodrigues B Shinko1008Germany2024-06-12
Deepesh J Venere1009Spain2024-05-21
Smith S Royster1010Australia2024-06-16
Costa M Rulapaugh1011Canada2024-06-14
Emily Y Saylors1012France2024-06-10
Leja L Slusarski1013United Kingdom2024-06-06
Salvatore R Dilliard1014India2024-05-26
Mujtaba B Stockham1015Italy2024-05-18
Jones U Chui1016Brazil2024-05-21
Francesco K Stockham1017France2024-05-29
Kadeem K Caldarera1018Germany2024-06-08
Juan H Waycott1019Russia2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh U NickaGermanyStephen Shaw PROPOSAL
Smith T KuskoBrazilAsiya Javayant RENEWAL
Morrow E OstroskyBrazilOnyama Limba PROPOSAL
Jennifer G MorascaBrazilIoni Bowcher NEW
Jennifer E AmigonIndiaIoni Bowcher NEW
Emily C GarufiSpainBernardo Dominic NEW
Maria I AlbaresGermanyIoni Bowcher RENEWAL
James M OstroskyItalyOnyama Limba NEW
Costa M StockhamCanadaAnna Fali NEW
Leon V PoquetteFranceIvan Magalhaes RENEWAL
Jefferson P StockhamGermanyOnyama Limba QUALIFIED
Greenwood D InouyeIndiaOnyama Limba PROPOSAL
Aruna X PerinGermanyStephen Shaw RENEWAL
Misaki T GarufiBrazilOnyama Limba NEW
Jefferson E NickaItalyAmy Elsner NEW
Kaitlin P SergiIndiaAmy Elsner QUALIFIED
Nicolas T KolmetzGermanyIvan Magalhaes UNQUALIFIED
Greenwood X DilliardJapanOnyama Limba RENEWAL
David S StensethFranceAmy Elsner PROPOSAL
Stacey E StockhamItalyElwin Sharvill QUALIFIED
Stacey K OstroskyBrazilOnyama Limba PROPOSAL
Francesco N CaudyGermanyStephen Shaw QUALIFIED
Greenwood L GarufiUnited KingdomIoni Bowcher NEW
Ricardo V VocelkaBrazilAmy Elsner NEGOTIATION
Aika Z KolmetzIndiaAsiya Javayant PROPOSAL
Alejandro Z MacleadBrazilAsiya Javayant NEGOTIATION
Munro K OldroydUnited KingdomOnyama Limba PROPOSAL
Antonio Y PaprockiIndiaAsiya Javayant QUALIFIED
Jeanfrancois M RimJapanIoni Bowcher NEGOTIATION
Octavia B CaldareraJapanAnna Fali UNQUALIFIED
Chavez B ButtCanadaIoni Bowcher UNQUALIFIED
Claire S BriddickAustraliaBernardo Dominic PROPOSAL
Aditya A FollerGermanyStephen Shaw NEGOTIATION
Izzy I RutaBrazilAnna Fali PROPOSAL
Leja N ShinkoFranceXuxue Feng UNQUALIFIED
Jones J BriddickUnited KingdomElwin Sharvill NEW
Tony Y VocelkaUnited KingdomXuxue Feng UNQUALIFIED
Sinclair Q VocelkaRussiaAmy Elsner UNQUALIFIED
Darci I NickaBrazilAmy Elsner PROPOSAL
Ashley O RutaRussiaIvan Magalhaes 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>