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
Emily O AlbaresBrazilIoni Bowcher RENEWAL
Emily H FerenczJapanBernardo Dominic UNQUALIFIED
Johnson T CampainJapanBernardo Dominic QUALIFIED
Emily V SergiGermanyIvan Magalhaes PROPOSAL
Faith K FollerAustraliaXuxue Feng UNQUALIFIED
Ricardo A GauchoSpainAnna Fali QUALIFIED
Deepesh A SaylorsFranceOnyama Limba UNQUALIFIED
Johnson N AlbaresSpainIoni Bowcher NEGOTIATION
Aruna X ShinkoUnited KingdomAsiya Javayant NEW
Izzy V RutaAustraliaAnna Fali PROPOSAL
Murillo J GlickUnited KingdomXuxue Feng UNQUALIFIED
Deepesh H RulapaughIndiaStephen Shaw RENEWAL
Rodrigues S MaletIndiaAnna Fali NEGOTIATION
Francesco H BowleyRussiaAnna Fali QUALIFIED
Sinclair M MarrierFranceAmy Elsner PROPOSAL
Maria T FigeroaFranceAmy Elsner PROPOSAL
Johnson T WaycottUnited KingdomElwin Sharvill RENEWAL
Juan P MorascaGermanyAnna Fali NEGOTIATION
Francesco A KuskoSpainElwin Sharvill NEW
Jeanfrancois R PoquetteSpainOnyama Limba RENEWAL
Jeanfrancois Q SergiJapanXuxue Feng PROPOSAL
Antonio Z SchemmerIndiaElwin Sharvill NEGOTIATION
Johnson R ButtJapanAsiya Javayant RENEWAL
Misaki M CaldareraIndiaStephen Shaw QUALIFIED
Antonio B KolmetzAustraliaIoni Bowcher NEW
Munro L AlbaresFranceIvan Magalhaes UNQUALIFIED
Alejandro H CaldareraAustraliaOnyama Limba RENEWAL
Darci X StockhamUnited KingdomXuxue Feng RENEWAL
Deepesh V NestleAustraliaAnna Fali PROPOSAL
Johnson I DarakjyFranceStephen Shaw RENEWAL
Wickens U VocelkaRussiaXuxue Feng PROPOSAL
Murillo X CaudyRussiaAmy Elsner RENEWAL
Stacey O GauchoRussiaXuxue Feng UNQUALIFIED
Aika W SergiSpainBernardo Dominic RENEWAL
Stacey G ShinkoJapanAnna Fali QUALIFIED
Murillo C NickaRussiaElwin Sharvill PROPOSAL
James U GlickArgentinaAsiya Javayant UNQUALIFIED
Leja J PaprockiItalyIvan Magalhaes UNQUALIFIED
Kadeem H ShinkoRussiaOnyama Limba PROPOSAL
Smith S DarakjySpainStephen Shaw NEW
Faith B AlbaresArgentinaElwin Sharvill NEW
Maisha X FerenczSpainOnyama Limba QUALIFIED
Sinclair U MarrierGermanyBernardo Dominic PROPOSAL
Misaki S OstroskyArgentinaBernardo Dominic PROPOSAL
Maria U ShinkoGermanyElwin Sharvill NEGOTIATION
Wickens C OstroskyAustraliaAnna Fali RENEWAL
David O MacleadIndiaOnyama Limba PROPOSAL
Emily D TollnerBrazilElwin Sharvill NEW
Jennifer X SchemmerUnited KingdomIoni Bowcher RENEWAL
Kadeem X BologniaUnited KingdomAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Mujtaba E AmigonIndiaIvan Magalhaes RENEWAL
Maria Z ChuiFranceAnna Fali PROPOSAL
David R WaycottFranceIoni Bowcher QUALIFIED
Aditya E IturbideRussiaStephen Shaw RENEWAL
Jeanfrancois N RimJapanBernardo Dominic RENEWAL
Antonio P OldroydBrazilOnyama Limba NEW
Jennifer N NickaUnited KingdomAnna Fali NEW
Claire X ChuiRussiaAnna Fali QUALIFIED
Maria U RoysterArgentinaAnna Fali NEGOTIATION
Morrow G RutaSpainAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire O GarufiAustralia2024-05-24Rangoni Of Florence NEW31Elwin Sharvill
1001Faith Q DilliardCanada2024-06-01Rousseaux, Michael Esq PROPOSAL65Anna Fali
1002Tony H OstroskyGermany2024-06-16Chapman, Ross E Esq RENEWAL48Ivan Magalhaes
1003Maisha S OstroskyFrance2024-06-04Printing Dimensions RENEWAL94Anna Fali
1004Greenwood Y WieserRussia2024-05-27Chanay, Jeffrey A Esq NEGOTIATION89Xuxue Feng
1005Isabel P GlickBrazil2024-05-31Chanay, Jeffrey A Esq RENEWAL20Ioni Bowcher
1006Octavia T BowleyArgentina2024-06-02Benton, John B Jr UNQUALIFIED51Amy Elsner
1007Greenwood H ShinkoItaly2024-06-19King, Christopher A Esq NEGOTIATION86Xuxue Feng
1008Chavez R RulapaughFrance2024-06-05Rangoni Of Florence QUALIFIED73Elwin Sharvill
1009Rodrigues U MaletCanada2024-06-13Dorl, James J Esq NEGOTIATION34Ioni Bowcher
1010Murillo P BologniaIndia2024-06-01Chanay, Jeffrey A Esq NEW67Anna Fali
1011Mayumi U DilliardSpain2024-06-17Truhlar And Truhlar Attys NEW48Asiya Javayant
1012Kadeem W PoquetteSpain2024-06-08Benton, John B Jr RENEWAL24Onyama Limba
1013David P GillianSpain2024-06-14Rousseaux, Michael Esq UNQUALIFIED57Bernardo Dominic
1014Arvin Q ChuiArgentina2024-06-01Benton, John B Jr NEGOTIATION28Stephen Shaw
1015Tony S CaldareraArgentina2024-06-01Chemel, James L Cpa NEW77Ivan Magalhaes
1016Greenwood O DoeUnited Kingdom2024-06-11Morlong Associates NEW98Amy Elsner
1017Alejandro M MaletFrance2024-06-03Chapman, Ross E Esq PROPOSAL30Stephen Shaw
1018Claire F PoquetteIndia2024-06-10Benton, John B Jr NEW80Ivan Magalhaes
1019Izzy R DarakjyJapan2024-06-17Truhlar And Truhlar Attys QUALIFIED41Asiya Javayant
1020Smith M BologniaFrance2024-06-01Commercial Press RENEWAL42Ivan Magalhaes
1021Jeanfrancois A StensethIndia2024-05-30Rousseaux, Michael Esq NEGOTIATION90Elwin Sharvill
1022Izzy N FigeroaUnited Kingdom2024-06-12King, Christopher A Esq PROPOSAL94Xuxue Feng
1023Octavia W GarufiCanada2024-05-26Truhlar And Truhlar Attys QUALIFIED33Asiya Javayant
1024Alejandro H CampainArgentina2024-06-10King, Christopher A Esq RENEWAL74Stephen Shaw
1025Tony T StensethUnited Kingdom2024-06-03Truhlar And Truhlar Attys UNQUALIFIED36Onyama Limba
1026Deepesh H BowleyFrance2024-06-20Truhlar And Truhlar Attys QUALIFIED11Ioni Bowcher
1027Costa U KolmetzFrance2024-05-26Commercial Press PROPOSAL45Bernardo Dominic
1028Smith E OldroydItaly2024-06-02Morlong Associates UNQUALIFIED25Elwin Sharvill
1029Tony A FerenczGermany2024-05-26Rangoni Of Florence UNQUALIFIED59Xuxue Feng
1030Jeanfrancois S IturbideArgentina2024-06-07Buckley Miller Wright QUALIFIED0Stephen Shaw
1031Leja N SergiCanada2024-06-08Chemel, James L Cpa NEGOTIATION27Xuxue Feng
1032Izzy H BowleyRussia2024-06-21Truhlar And Truhlar Attys NEW56Xuxue Feng
1033Aruna C RimSpain2024-06-15Feiner Bros NEGOTIATION85Onyama Limba
1034Murillo B PaprockiSpain2024-06-12Commercial Press UNQUALIFIED37Stephen Shaw
1035Kadeem O OldroydItaly2024-06-06Dorl, James J Esq UNQUALIFIED23Stephen Shaw
1036Tony I OstroskyUnited Kingdom2024-05-30Feiner Bros QUALIFIED57Elwin Sharvill
1037Tony G NickaBrazil2024-06-11Chapman, Ross E Esq NEW60Ivan Magalhaes
1038Leja D SergiCanada2024-06-22Chapman, Ross E Esq UNQUALIFIED9Stephen Shaw
1039Jeanfrancois Y CaudyRussia2024-06-11Morlong Associates PROPOSAL62Onyama Limba
1040Ashley D CampainUnited Kingdom2024-05-29Printing Dimensions NEGOTIATION54Ioni Bowcher
1041Greenwood M PoquetteFrance2024-06-05Morlong Associates UNQUALIFIED54Amy Elsner
1042Maisha M MaletSpain2024-06-16Rousseaux, Michael Esq PROPOSAL88Ioni Bowcher
1043Ivar K DilliardUnited Kingdom2024-06-11Rousseaux, Michael Esq UNQUALIFIED87Ioni Bowcher
1044Silvio Q MorascaRussia2024-06-05Buckley Miller Wright PROPOSAL46Ioni Bowcher
1045Ashley F CampainArgentina2024-06-16Commercial Press NEW77Stephen Shaw
1046Cody P MaletItaly2024-05-29Printing Dimensions NEGOTIATION4Ioni Bowcher
1047Francesco B ShinkoJapan2024-06-07Morlong Associates NEGOTIATION39Amy Elsner
1048Jefferson X MorascaUnited Kingdom2024-06-17Rousseaux, Michael Esq NEGOTIATION75Xuxue Feng
1049Murillo V ShinkoCanada2024-06-17Feiner Bros QUALIFIED95Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Izzy W StockhamRussiaElwin Sharvill QUALIFIED
Greenwood I CampainIndiaAsiya Javayant RENEWAL
Rodrigues Y SlusarskiCanadaBernardo Dominic PROPOSAL
Ricardo N VenereIndiaIvan Magalhaes PROPOSAL
Alejandro Q DarakjyRussiaIvan Magalhaes UNQUALIFIED
Antonio R VenereSpainIoni Bowcher NEGOTIATION
Jefferson D BriddickAustraliaAmy Elsner PROPOSAL
Clifford A SaylorsIndiaStephen Shaw QUALIFIED
Sinclair G SlusarskiItalyElwin Sharvill UNQUALIFIED
Maisha S WaycottCanadaElwin Sharvill NEGOTIATION
Claire N RutaFranceXuxue Feng NEGOTIATION
Leja X CaudyGermanyBernardo Dominic RENEWAL
Aditya X DarakjyItalyBernardo Dominic RENEWAL
Nicolas C VenereRussiaOnyama Limba PROPOSAL
Alejandro T StensethArgentinaIoni Bowcher RENEWAL
Misaki D FigeroaCanadaIvan Magalhaes NEW
Darci O InouyeAustraliaAsiya Javayant QUALIFIED
Leja I DoeJapanAmy Elsner UNQUALIFIED
Antonio H AlbaresJapanXuxue Feng NEW
Ashley X MarrierCanadaIoni Bowcher NEW
Tony E AlbaresRussiaIoni Bowcher RENEWAL
Jennifer H BologniaSpainAnna Fali QUALIFIED
Cody U RulapaughCanadaStephen Shaw QUALIFIED
Munro Y WieserFranceBernardo Dominic UNQUALIFIED
Faith P StockhamGermanyElwin Sharvill QUALIFIED
Jeanfrancois S AmigonSpainStephen Shaw UNQUALIFIED
Chavez D RulapaughAustraliaIoni Bowcher NEGOTIATION
Faith P BowleyAustraliaBernardo Dominic UNQUALIFIED
Leja Y ChuiJapanStephen Shaw QUALIFIED
Nicolas H AlbaresRussiaOnyama Limba RENEWAL
Ashley A AlbaresFranceStephen Shaw PROPOSAL
Alejandro A CaudyBrazilAsiya Javayant NEGOTIATION
Morrow I RulapaughJapanStephen Shaw RENEWAL
Darci I VocelkaCanadaAsiya Javayant PROPOSAL
Octavia H RoysterUnited KingdomIoni Bowcher NEGOTIATION
Leon U OstroskyCanadaAmy Elsner NEGOTIATION
Chavez M MarrierFranceIoni Bowcher UNQUALIFIED
Munro G KuskoItalyIoni Bowcher QUALIFIED
Deepesh Q InouyeAustraliaAsiya Javayant QUALIFIED
Emily T MaletFranceElwin Sharvill QUALIFIED
Julie O ChuiBrazilXuxue Feng PROPOSAL
Leja K VocelkaItalyIoni Bowcher NEGOTIATION
Silvio F VocelkaUnited KingdomStephen Shaw QUALIFIED
Alejandro K CaldareraCanadaIoni Bowcher QUALIFIED
Aditya B PoquetteRussiaIoni Bowcher QUALIFIED
Jones T SergiGermanyAmy Elsner NEW
Leon C DoeBrazilAnna Fali QUALIFIED
Claire E MarrierFranceIvan Magalhaes NEGOTIATION
Octavia V MarrierJapanStephen Shaw RENEWAL
Nicolas V CampainBrazilElwin Sharvill PROPOSAL
Frozen Columns
Name
Silvio N Campain
Cody Y Stockham
Leon F Caldarera
Jones H Nestle
Mayumi A Inouye
Wickens X Slusarski
Francesco V Rulapaugh
David U Malet
Jones D Shinko
Murillo B Caudy
Maisha G Rulapaugh
Clifford L Rim
Maisha I Dilliard
Darci H Albares
Ivar N Campain
David I Albares
Salvatore A Poquette
Jennifer M Shinko
Costa B Gillian
Murillo T Ostrosky
Johnson B Malet
Smith V Royster
Chavez D Amigon
Leon N Morasca
Jeanfrancois N Nestle
Aditya R Amigon
Sinclair Q Shinko
Aruna R Kusko
Deepesh E Venere
Silvio M Nicka
Maisha R Malet
Julie A Poquette
Adams X Garufi
Leja X Kusko
Costa V Schemmer
Rodrigues Q Nicka
Jefferson B Ostrosky
Deepesh O Tollner
Emily M Chui
Ashley B Stenseth
Greenwood E Oldroyd
Aika N Malet
Sinclair C Foller
Arvin L Albares
Leon C Vocelka
Leon O Waycott
Salvatore V Caudy
Salvatore L Shinko
Chavez N Oldroyd
Aruna W Paprocki
IdCountryDate
1000Japan2024-06-06
1001Canada2024-05-26
1002Italy2024-05-30
1003Spain2024-06-16
1004United Kingdom2024-05-30
1005Japan2024-06-12
1006Japan2024-06-04
1007Germany2024-06-05
1008Brazil2024-06-13
1009Australia2024-06-19
1010Australia2024-05-29
1011India2024-06-09
1012India2024-06-16
1013Germany2024-05-28
1014India2024-06-16
1015Argentina2024-06-01
1016India2024-06-07
1017India2024-05-28
1018Japan2024-05-29
1019Australia2024-06-22
1020India2024-05-31
1021Spain2024-06-02
1022Canada2024-05-30
1023France2024-05-28
1024Germany2024-06-06
1025United Kingdom2024-05-27
1026Argentina2024-06-05
1027Italy2024-06-18
1028Argentina2024-06-14
1029Canada2024-06-05
1030Australia2024-06-07
1031Canada2024-06-03
1032Brazil2024-06-19
1033Argentina2024-06-21
1034Argentina2024-05-24
1035Australia2024-06-21
1036Russia2024-06-06
1037Brazil2024-05-24
1038Brazil2024-05-31
1039Brazil2024-06-05
1040Japan2024-05-31
1041Spain2024-05-28
1042Italy2024-06-08
1043United Kingdom2024-06-17
1044Germany2024-06-08
1045Germany2024-06-05
1046United Kingdom2024-06-15
1047Germany2024-06-20
1048Spain2024-06-12
1049India2024-06-04

On-Demand Data

NameIdCountryDate
Leon S Dilliard1000Germany2024-05-31
Tony G Bolognia1001Japan2024-05-31
Cody D Rulapaugh1002Spain2024-06-12
Salvatore O Saylors1003Japan2024-05-28
Stacey I Malet1004Canada2024-06-22
Jennifer W Stenseth1005Japan2024-06-16
Claire M Gaucho1006Brazil2024-05-30
Jennifer U Slusarski1007Italy2024-06-19
Costa Y Sergi1008Italy2024-06-20
Cody U Glick1009Argentina2024-06-03
Leja C Shinko1010Russia2024-05-27
Cody R Dilliard1011Australia2024-06-22
Julie Q Butt1012France2024-06-22
Wickens P Dilliard1013Russia2024-06-10
Faith U Sergi1014Canada2024-06-16
Kadeem N Butt1015Italy2024-06-08
Ivar E Ruta1016Italy2024-06-11
Clifford U Schemmer1017France2024-06-21
Alejandro D Nicka1018Canada2024-06-21
Salvatore Q Figeroa1019Australia2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki W StensethFranceIoni Bowcher QUALIFIED
Mayumi Z KolmetzGermanyIoni Bowcher UNQUALIFIED
Darci F StockhamUnited KingdomAnna Fali NEGOTIATION
Isabel S KuskoGermanyBernardo Dominic NEGOTIATION
Leja W DoeCanadaIoni Bowcher QUALIFIED
Maisha R InouyeSpainIoni Bowcher RENEWAL
Mujtaba D GarufiRussiaStephen Shaw QUALIFIED
Nicolas H StockhamCanadaAnna Fali QUALIFIED
Smith F OstroskyFranceIoni Bowcher UNQUALIFIED
Leon A GarufiIndiaAsiya Javayant QUALIFIED
Julie L CampainUnited KingdomXuxue Feng NEGOTIATION
Arvin C TollnerArgentinaOnyama Limba UNQUALIFIED
Mujtaba P GillianCanadaAnna Fali NEW
Jefferson B FerenczFranceIvan Magalhaes QUALIFIED
Smith W GauchoGermanyOnyama Limba QUALIFIED
Antonio A GlickAustraliaAsiya Javayant NEGOTIATION
Arvin Y RutaGermanyIvan Magalhaes NEW
Misaki R FollerCanadaStephen Shaw RENEWAL
Morrow U DilliardAustraliaOnyama Limba RENEWAL
Rodrigues G KuskoUnited KingdomAnna Fali PROPOSAL
Ivar G FigeroaJapanAmy Elsner QUALIFIED
Aika I PerinFranceAmy Elsner NEW
Antonio U MaletUnited KingdomOnyama Limba NEGOTIATION
Nicolas J BologniaSpainIoni Bowcher NEGOTIATION
Sinclair D NestleBrazilElwin Sharvill RENEWAL
Tony B DilliardSpainXuxue Feng RENEWAL
Cody S KolmetzSpainBernardo Dominic NEGOTIATION
Antonio M MarrierRussiaStephen Shaw QUALIFIED
Jefferson L WieserAustraliaAnna Fali RENEWAL
Maisha Z CaudyCanadaStephen Shaw UNQUALIFIED
Isabel V WieserGermanyIoni Bowcher UNQUALIFIED
Cody P CampainItalyElwin Sharvill QUALIFIED
Kadeem O FerenczUnited KingdomOnyama Limba UNQUALIFIED
Kadeem L PoquetteArgentinaAmy Elsner PROPOSAL
Julie H CampainRussiaAsiya Javayant UNQUALIFIED
Leon Z MacleadCanadaStephen Shaw PROPOSAL
Juan Z RoysterRussiaStephen Shaw NEW
Morrow S ChuiBrazilIvan Magalhaes NEGOTIATION
Faith K FollerBrazilAmy Elsner NEW
Julie G CampainAustraliaOnyama Limba 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>