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 J CaldareraArgentinaIoni Bowcher NEW
Greenwood T GlickUnited KingdomIoni Bowcher NEW
Izzy S StockhamAustraliaAmy Elsner NEW
Claire J StensethUnited KingdomAmy Elsner PROPOSAL
Ricardo D BologniaArgentinaBernardo Dominic QUALIFIED
Leja U SchemmerAustraliaAmy Elsner NEGOTIATION
Greenwood K GlickIndiaXuxue Feng PROPOSAL
Faith O VocelkaRussiaAnna Fali UNQUALIFIED
Morrow S GauchoSpainElwin Sharvill NEW
Morrow J DarakjyItalyAmy Elsner UNQUALIFIED
James M MorascaItalyAsiya Javayant PROPOSAL
Wickens Y DoeItalyAmy Elsner QUALIFIED
Octavia W ButtJapanIvan Magalhaes NEW
Arvin E MacleadJapanIvan Magalhaes NEGOTIATION
Faith T MaletGermanyStephen Shaw QUALIFIED
Arvin Z AmigonIndiaAsiya Javayant NEGOTIATION
Antonio R SchemmerIndiaXuxue Feng NEW
Nicolas K VenereFranceElwin Sharvill PROPOSAL
Cody B RutaArgentinaXuxue Feng NEW
Juan U NickaSpainAmy Elsner UNQUALIFIED
Rodrigues I KuskoJapanIoni Bowcher QUALIFIED
Rodrigues X ShinkoJapanAnna Fali UNQUALIFIED
Johnson R VocelkaRussiaIoni Bowcher RENEWAL
Munro C MarrierItalyIoni Bowcher UNQUALIFIED
Isabel W CaudyArgentinaAnna Fali NEGOTIATION
Juan C MaletBrazilIvan Magalhaes PROPOSAL
Ricardo R MaletIndiaXuxue Feng NEW
Rodrigues Y ButtIndiaIoni Bowcher QUALIFIED
Leja Q VocelkaRussiaXuxue Feng NEGOTIATION
Leon G SchemmerGermanyAnna Fali NEW
Alejandro K CampainGermanyAnna Fali UNQUALIFIED
James K WieserGermanyIoni Bowcher NEGOTIATION
Rodrigues J IturbideAustraliaElwin Sharvill RENEWAL
Kaitlin Q NestleFranceAnna Fali NEGOTIATION
Munro D StensethArgentinaAsiya Javayant QUALIFIED
Leja D MaletAustraliaAmy Elsner NEW
Kaitlin M FigeroaItalyElwin Sharvill NEW
Kadeem G DarakjyIndiaOnyama Limba QUALIFIED
Silvio Y GlickCanadaXuxue Feng NEGOTIATION
Munro M RulapaughItalyAmy Elsner RENEWAL
Smith A ShinkoGermanyIvan Magalhaes QUALIFIED
Julie G PoquetteBrazilAnna Fali NEW
Francesco O DarakjyCanadaStephen Shaw UNQUALIFIED
Murillo X StockhamItalyAsiya Javayant QUALIFIED
Leon X RimItalyAmy Elsner PROPOSAL
Smith X AmigonUnited KingdomAnna Fali PROPOSAL
Aruna S SaylorsRussiaOnyama Limba NEW
Johnson G DoeCanadaXuxue Feng PROPOSAL
Darci Z InouyeAustraliaAsiya Javayant PROPOSAL
Claire Y RulapaughJapanOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Greenwood U WieserAustraliaOnyama Limba RENEWAL
Clifford I ChuiArgentinaAnna Fali PROPOSAL
Misaki U BologniaAustraliaAsiya Javayant NEGOTIATION
Leon R MarrierCanadaOnyama Limba PROPOSAL
Ashley D RoysterSpainBernardo Dominic PROPOSAL
Jennifer A FigeroaItalyAmy Elsner NEW
Octavia T RulapaughUnited KingdomElwin Sharvill NEW
Leja J PoquetteUnited KingdomAsiya Javayant UNQUALIFIED
Costa S PoquetteBrazilIoni Bowcher NEGOTIATION
Octavia E VenereArgentinaAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore J BowleyGermany2024-06-03Morlong Associates UNQUALIFIED87Onyama Limba
1001Maria E DilliardUnited Kingdom2024-06-04Printing Dimensions NEGOTIATION89Stephen Shaw
1002Leja G IturbideBrazil2024-06-13Dorl, James J Esq RENEWAL36Xuxue Feng
1003Murillo I CaldareraIndia2024-06-03Printing Dimensions RENEWAL28Ioni Bowcher
1004Adams F GarufiRussia2024-06-21Benton, John B Jr QUALIFIED93Amy Elsner
1005Jennifer T RoysterIndia2024-06-01Rangoni Of Florence RENEWAL93Stephen Shaw
1006Aika P GauchoArgentina2024-05-27Benton, John B Jr NEW47Ioni Bowcher
1007Jeanfrancois Y PaprockiUnited Kingdom2024-06-06Printing Dimensions UNQUALIFIED28Ioni Bowcher
1008Maisha Q NestleArgentina2024-06-22Feltz Printing Service NEGOTIATION38Anna Fali
1009Maria N TollnerIndia2024-06-09Chemel, James L Cpa PROPOSAL28Ivan Magalhaes
1010Octavia M FerenczIndia2024-06-19Buckley Miller Wright RENEWAL15Xuxue Feng
1011Mayumi J WaycottCanada2024-06-03Chapman, Ross E Esq RENEWAL37Bernardo Dominic
1012Tony U ShinkoBrazil2024-06-09Buckley Miller Wright QUALIFIED89Bernardo Dominic
1013Faith X MorascaIndia2024-05-29Rousseaux, Michael Esq NEW0Ivan Magalhaes
1014Misaki T KuskoFrance2024-06-23Benton, John B Jr PROPOSAL88Amy Elsner
1015Smith X BriddickUnited Kingdom2024-06-12King, Christopher A Esq PROPOSAL36Amy Elsner
1016Deepesh F GlickBrazil2024-06-14Chemel, James L Cpa NEGOTIATION89Ivan Magalhaes
1017Juan W GauchoRussia2024-06-07Chanay, Jeffrey A Esq NEW11Stephen Shaw
1018Nicolas L GarufiGermany2024-06-15Dorl, James J Esq PROPOSAL70Stephen Shaw
1019Francesco I RimSpain2024-06-10Chemel, James L Cpa RENEWAL15Ivan Magalhaes
1020Morrow Q FollerCanada2024-05-27Buckley Miller Wright UNQUALIFIED47Onyama Limba
1021Kaitlin H IturbideAustralia2024-05-28King, Christopher A Esq RENEWAL46Bernardo Dominic
1022Munro B GarufiBrazil2024-06-22Dorl, James J Esq PROPOSAL20Ioni Bowcher
1023Faith Q DarakjyBrazil2024-05-29Feltz Printing Service NEGOTIATION54Xuxue Feng
1024Clifford H KolmetzCanada2024-06-21Feltz Printing Service PROPOSAL94Anna Fali
1025Maria H KuskoIndia2024-06-14Rangoni Of Florence UNQUALIFIED25Xuxue Feng
1026Juan F MaletArgentina2024-06-19Chanay, Jeffrey A Esq QUALIFIED80Ivan Magalhaes
1027Costa Z StensethAustralia2024-06-05Morlong Associates NEGOTIATION9Bernardo Dominic
1028Kadeem X OldroydRussia2024-06-05Rangoni Of Florence RENEWAL18Anna Fali
1029Tony V MarrierJapan2024-06-12Chapman, Ross E Esq NEW82Bernardo Dominic
1030Ricardo F OstroskyRussia2024-06-22Feiner Bros PROPOSAL91Onyama Limba
1031Ivar U WaycottArgentina2024-06-01Rangoni Of Florence RENEWAL40Bernardo Dominic
1032Maria D OldroydSpain2024-06-04Morlong Associates UNQUALIFIED0Stephen Shaw
1033Antonio V WhobreyRussia2024-05-28Chanay, Jeffrey A Esq QUALIFIED29Amy Elsner
1034Emily C GlickCanada2024-06-23Printing Dimensions NEGOTIATION96Onyama Limba
1035Claire W KolmetzCanada2024-06-08Dorl, James J Esq NEW98Onyama Limba
1036Chavez F ShinkoGermany2024-06-11Rousseaux, Michael Esq NEGOTIATION3Ivan Magalhaes
1037Maisha Q NickaSpain2024-06-01Dorl, James J Esq RENEWAL85Ivan Magalhaes
1038Julie S CaldareraFrance2024-06-06Chapman, Ross E Esq NEGOTIATION53Xuxue Feng
1039Adams R FigeroaRussia2024-06-22Commercial Press UNQUALIFIED18Asiya Javayant
1040Morrow K TollnerAustralia2024-06-22King, Christopher A Esq QUALIFIED75Anna Fali
1041Jefferson G MaletFrance2024-06-11Feiner Bros NEW64Bernardo Dominic
1042Adams J GauchoIndia2024-06-11Feiner Bros UNQUALIFIED34Ioni Bowcher
1043Kadeem F NickaArgentina2024-06-11Buckley Miller Wright QUALIFIED30Ioni Bowcher
1044Greenwood U SergiArgentina2024-05-25Benton, John B Jr QUALIFIED94Ivan Magalhaes
1045Aika I RulapaughGermany2024-06-11Feiner Bros QUALIFIED54Ioni Bowcher
1046Sinclair S StensethSpain2024-06-20Buckley Miller Wright UNQUALIFIED84Amy Elsner
1047Clifford N DilliardCanada2024-06-14Commercial Press UNQUALIFIED70Ivan Magalhaes
1048Smith U FigeroaSpain2024-05-26Truhlar And Truhlar Attys RENEWAL69Elwin Sharvill
1049Rodrigues R NestleIndia2024-06-18Chemel, James L Cpa NEGOTIATION34Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Greenwood N ChuiItalyAsiya Javayant RENEWAL
Octavia U FollerIndiaIvan Magalhaes RENEWAL
Aruna E PaprockiRussiaStephen Shaw NEGOTIATION
Salvatore L DoeJapanXuxue Feng QUALIFIED
Faith M GarufiFranceIoni Bowcher QUALIFIED
Salvatore Y RulapaughBrazilOnyama Limba RENEWAL
Chavez T GarufiSpainStephen Shaw QUALIFIED
Isabel U StensethAustraliaIoni Bowcher UNQUALIFIED
Alejandro R MarrierItalyIoni Bowcher UNQUALIFIED
Claire D NestleCanadaAnna Fali NEGOTIATION
Arvin V DarakjyAustraliaAmy Elsner RENEWAL
Mujtaba H FollerFranceBernardo Dominic QUALIFIED
David U CampainIndiaIvan Magalhaes PROPOSAL
Antonio Y ChuiJapanAsiya Javayant QUALIFIED
Tony S SchemmerSpainAsiya Javayant NEW
Cody W WieserFranceAmy Elsner RENEWAL
Jeanfrancois C WaycottFranceAmy Elsner NEGOTIATION
Ashley I ButtArgentinaStephen Shaw RENEWAL
Maisha D FlosiRussiaXuxue Feng QUALIFIED
Mujtaba G IturbideRussiaAmy Elsner NEGOTIATION
Nicolas R RutaGermanyAnna Fali NEGOTIATION
Stacey Q DilliardItalyStephen Shaw RENEWAL
Mayumi A MarrierGermanyElwin Sharvill QUALIFIED
Ashley U PerinIndiaIoni Bowcher QUALIFIED
Johnson U RulapaughJapanBernardo Dominic PROPOSAL
Wickens O FollerUnited KingdomOnyama Limba UNQUALIFIED
Alejandro D FerenczItalyBernardo Dominic QUALIFIED
Francesco Q SaylorsUnited KingdomAsiya Javayant RENEWAL
Julie P BowleyUnited KingdomIoni Bowcher RENEWAL
Sinclair K BriddickFranceIoni Bowcher RENEWAL
Misaki Z GlickJapanIvan Magalhaes RENEWAL
Emily X VenereBrazilAmy Elsner QUALIFIED
Jones M KolmetzJapanIvan Magalhaes UNQUALIFIED
Juan P SergiFranceBernardo Dominic PROPOSAL
Arvin V GarufiIndiaAsiya Javayant UNQUALIFIED
Adams B KolmetzItalyOnyama Limba PROPOSAL
Munro O KolmetzGermanyElwin Sharvill UNQUALIFIED
Ricardo T GauchoArgentinaAnna Fali QUALIFIED
Antonio V DilliardItalyAmy Elsner NEGOTIATION
Nicolas J DoeFranceBernardo Dominic PROPOSAL
Silvio K PerinGermanyStephen Shaw NEGOTIATION
Maisha T IturbideFranceXuxue Feng NEGOTIATION
Leon L FerenczSpainXuxue Feng NEGOTIATION
Morrow Q GlickSpainIoni Bowcher PROPOSAL
Wickens K WhobreyBrazilStephen Shaw NEGOTIATION
Costa H SlusarskiAustraliaAsiya Javayant QUALIFIED
Jeanfrancois A BriddickBrazilAnna Fali RENEWAL
Costa R FigeroaFranceIvan Magalhaes QUALIFIED
Silvio R ChuiArgentinaXuxue Feng RENEWAL
Francesco E OldroydArgentinaIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Jennifer L Bolognia
Maisha N Kusko
Antonio D Venere
Ricardo X Poquette
Isabel I Flosi
Isabel A Ostrosky
Aditya E Dilliard
Jones H Paprocki
Darci O Whobrey
Francesco S Bowley
Sinclair E Royster
Misaki K Gaucho
Claire N Stenseth
Julie O Perin
Alejandro A Darakjy
Kadeem L Bolognia
Kadeem C Waycott
Isabel N Foller
Ashley C Ruta
Faith R Doe
Chavez I Stenseth
Francesco W Garufi
Kadeem S Inouye
Smith S Kusko
Leon H Malet
Jefferson Q Malet
Maria T Schemmer
Salvatore L Bowley
Jeanfrancois P Garufi
Julie F Malet
Costa Z Marrier
Jennifer J Nestle
Silvio A Slusarski
Salvatore O Kolmetz
Claire Q Perin
Sinclair H Bolognia
Aruna C Iturbide
Ivar K Rulapaugh
Izzy C Maclead
Salvatore J Darakjy
Nicolas S Kusko
Silvio L Oldroyd
Murillo H Rim
Kaitlin I Nicka
Jennifer J Malet
Tony K Saylors
Jeanfrancois O Kusko
Greenwood G Stockham
Misaki C Schemmer
Emily W Malet
IdCountryDate
1000Japan2024-06-16
1001Russia2024-06-22
1002France2024-06-12
1003Italy2024-06-06
1004India2024-06-23
1005Brazil2024-06-01
1006Russia2024-06-15
1007Argentina2024-06-03
1008Brazil2024-06-22
1009Russia2024-06-14
1010France2024-06-20
1011Brazil2024-06-16
1012Brazil2024-06-03
1013Germany2024-06-13
1014Argentina2024-05-25
1015India2024-06-05
1016Japan2024-06-16
1017Brazil2024-06-08
1018Germany2024-05-30
1019Germany2024-06-08
1020Brazil2024-06-13
1021Japan2024-06-07
1022Canada2024-06-23
1023France2024-06-03
1024United Kingdom2024-06-16
1025France2024-06-03
1026Spain2024-06-07
1027Germany2024-06-05
1028United Kingdom2024-06-13
1029United Kingdom2024-05-26
1030Russia2024-06-03
1031Germany2024-06-01
1032Japan2024-06-08
1033France2024-06-14
1034Japan2024-05-27
1035Italy2024-06-15
1036Australia2024-06-13
1037Italy2024-05-27
1038France2024-06-04
1039Canada2024-05-27
1040Australia2024-06-15
1041Spain2024-05-30
1042Germany2024-06-01
1043Japan2024-06-07
1044Australia2024-05-25
1045India2024-06-02
1046Brazil2024-05-31
1047United Kingdom2024-05-30
1048Australia2024-06-13
1049Brazil2024-06-12

On-Demand Data

NameIdCountryDate
David A Amigon1000Spain2024-06-16
Juan N Briddick1001India2024-06-02
Antonio U Morasca1002Australia2024-06-16
Arvin O Briddick1003Germany2024-05-31
Arvin R Stenseth1004Australia2024-06-15
Ricardo X Bolognia1005Canada2024-06-05
Aruna I Flosi1006Argentina2024-06-05
Costa D Flosi1007Argentina2024-05-29
Morrow H Flosi1008Spain2024-05-28
Rodrigues X Waycott1009Spain2024-06-22
Maisha A Perin1010Brazil2024-05-28
Jeanfrancois W Amigon1011France2024-06-23
Faith R Vocelka1012India2024-06-15
Aruna F Nestle1013Russia2024-05-29
Faith U Albares1014India2024-06-23
Maria Y Glick1015Italy2024-06-17
Antonio B Amigon1016Germany2024-06-12
Adams F Schemmer1017Russia2024-06-08
Munro O Wieser1018Canada2024-05-26
Ashley I Maclead1019Australia2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair I DilliardArgentinaBernardo Dominic UNQUALIFIED
Munro M DilliardJapanIvan Magalhaes NEW
Johnson U RoysterAustraliaOnyama Limba QUALIFIED
Jones G FlosiSpainAnna Fali NEGOTIATION
Salvatore H SlusarskiGermanyElwin Sharvill PROPOSAL
Jones S WieserIndiaBernardo Dominic RENEWAL
Darci C KolmetzAustraliaElwin Sharvill RENEWAL
Emily S AlbaresIndiaIoni Bowcher QUALIFIED
Claire Y RutaFranceAnna Fali PROPOSAL
Costa B InouyeItalyElwin Sharvill UNQUALIFIED
Kadeem V WieserUnited KingdomAmy Elsner RENEWAL
Sinclair T MacleadJapanAsiya Javayant NEW
Maria B BologniaBrazilIvan Magalhaes NEW
Kaitlin T BologniaIndiaIoni Bowcher NEGOTIATION
Morrow L SaylorsBrazilOnyama Limba RENEWAL
Chavez C OstroskyJapanAmy Elsner QUALIFIED
Aika H WieserFranceAmy Elsner PROPOSAL
Emily X FlosiJapanAnna Fali NEW
Chavez G WieserRussiaBernardo Dominic NEW
Adams T FollerArgentinaAnna Fali QUALIFIED
Rodrigues R DoeJapanIvan Magalhaes NEGOTIATION
Julie J RutaUnited KingdomBernardo Dominic PROPOSAL
Isabel P PoquetteGermanyOnyama Limba QUALIFIED
Rodrigues H FollerAustraliaAsiya Javayant QUALIFIED
Alejandro J TollnerAustraliaStephen Shaw RENEWAL
Leon C WieserUnited KingdomBernardo Dominic NEGOTIATION
Sinclair J NickaArgentinaXuxue Feng RENEWAL
Smith F WhobreyItalyIvan Magalhaes NEW
Jeanfrancois B PaprockiJapanOnyama Limba QUALIFIED
Claire H WieserAustraliaStephen Shaw NEW
Kadeem A PaprockiFranceIoni Bowcher NEGOTIATION
Misaki M MarrierIndiaOnyama Limba RENEWAL
Maisha I DoeCanadaAnna Fali UNQUALIFIED
Aruna L CaldareraCanadaAsiya Javayant NEW
Alejandro N DilliardRussiaBernardo Dominic NEW
Isabel H RoysterCanadaAnna Fali NEW
Alejandro T CampainSpainElwin Sharvill RENEWAL
Jennifer A TollnerSpainAsiya Javayant PROPOSAL
Francesco D MorascaIndiaIvan Magalhaes UNQUALIFIED
Adams T AlbaresIndiaAnna Fali 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>