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
Darci W FerenczBrazilIoni Bowcher NEGOTIATION
Jefferson Z FerenczBrazilAmy Elsner QUALIFIED
Sinclair O RulapaughJapanOnyama Limba QUALIFIED
Costa N GauchoIndiaAsiya Javayant NEW
Kadeem W GauchoGermanyAsiya Javayant RENEWAL
Greenwood G CampainItalyAmy Elsner QUALIFIED
Smith T GlickCanadaStephen Shaw NEW
Morrow D StensethCanadaBernardo Dominic RENEWAL
Aika T RutaArgentinaAmy Elsner UNQUALIFIED
Nicolas B AmigonUnited KingdomXuxue Feng PROPOSAL
Kadeem Y WhobreyIndiaAnna Fali PROPOSAL
Maria W ButtSpainStephen Shaw NEW
Kadeem Z MaletRussiaAmy Elsner PROPOSAL
Maisha Q FlosiFranceStephen Shaw UNQUALIFIED
Aika Y WhobreyCanadaStephen Shaw UNQUALIFIED
Mujtaba E FollerIndiaXuxue Feng PROPOSAL
Isabel J DarakjyUnited KingdomAsiya Javayant UNQUALIFIED
James Q NickaFranceElwin Sharvill RENEWAL
Greenwood I DarakjyBrazilStephen Shaw UNQUALIFIED
Costa W VenereRussiaIvan Magalhaes RENEWAL
Leon G SchemmerGermanyStephen Shaw NEW
Julie W SchemmerFranceIoni Bowcher QUALIFIED
Emily J NickaSpainIoni Bowcher QUALIFIED
Jennifer E WaycottBrazilBernardo Dominic RENEWAL
Mayumi W WaycottAustraliaAnna Fali QUALIFIED
Misaki O BriddickIndiaOnyama Limba NEGOTIATION
Chavez O ShinkoArgentinaBernardo Dominic UNQUALIFIED
Nicolas C OldroydGermanyIvan Magalhaes NEGOTIATION
Jefferson W AlbaresArgentinaOnyama Limba UNQUALIFIED
Kaitlin M CampainIndiaIvan Magalhaes QUALIFIED
Salvatore P FollerIndiaAsiya Javayant PROPOSAL
Maria F PaprockiItalyOnyama Limba NEGOTIATION
Cody K GarufiCanadaAsiya Javayant RENEWAL
Costa J KuskoBrazilAmy Elsner RENEWAL
Misaki H MacleadCanadaIvan Magalhaes RENEWAL
Ricardo C FerenczArgentinaElwin Sharvill UNQUALIFIED
Julie V MaletBrazilBernardo Dominic RENEWAL
Ricardo J DarakjyUnited KingdomElwin Sharvill NEW
Arvin T BowleyBrazilOnyama Limba UNQUALIFIED
Juan K StockhamBrazilOnyama Limba PROPOSAL
Johnson Y ShinkoIndiaIvan Magalhaes RENEWAL
Misaki O SchemmerSpainOnyama Limba NEGOTIATION
Salvatore I MorascaSpainOnyama Limba QUALIFIED
Francesco P SaylorsRussiaAmy Elsner NEGOTIATION
Julie S WaycottGermanyStephen Shaw UNQUALIFIED
Ricardo O RulapaughGermanyIvan Magalhaes NEW
Arvin S FollerUnited KingdomBernardo Dominic RENEWAL
Adams Q SlusarskiSpainElwin Sharvill NEGOTIATION
Arvin I AmigonBrazilOnyama Limba UNQUALIFIED
Antonio Y KolmetzGermanyElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
James A GlickIndiaElwin Sharvill QUALIFIED
Leon O RulapaughBrazilXuxue Feng RENEWAL
Leja G ShinkoArgentinaAmy Elsner PROPOSAL
Aruna G FlosiIndiaAnna Fali PROPOSAL
Leja C DilliardGermanyOnyama Limba UNQUALIFIED
Claire F BowleyJapanAsiya Javayant RENEWAL
Mayumi C WaycottUnited KingdomAsiya Javayant NEW
Alejandro A SaylorsArgentinaElwin Sharvill QUALIFIED
Sinclair F PaprockiBrazilAsiya Javayant NEGOTIATION
Silvio R MaletRussiaElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues K PerinRussia2024-06-10Rangoni Of Florence UNQUALIFIED37Ivan Magalhaes
1001Kaitlin E WieserUnited Kingdom2024-06-08Feltz Printing Service UNQUALIFIED26Xuxue Feng
1002Sinclair I PaprockiCanada2024-05-31Truhlar And Truhlar Attys QUALIFIED0Xuxue Feng
1003James V CaudyJapan2024-06-15Commercial Press RENEWAL66Xuxue Feng
1004Aruna M CampainGermany2024-06-15Printing Dimensions PROPOSAL11Xuxue Feng
1005Ashley E StockhamAustralia2024-05-20Rangoni Of Florence UNQUALIFIED70Onyama Limba
1006James B RoysterSpain2024-06-05Chanay, Jeffrey A Esq QUALIFIED90Anna Fali
1007Antonio E RulapaughAustralia2024-05-19Chemel, James L Cpa NEGOTIATION12Stephen Shaw
1008Ricardo M PaprockiItaly2024-05-26Chemel, James L Cpa UNQUALIFIED66Elwin Sharvill
1009Emily K OstroskyGermany2024-06-13King, Christopher A Esq PROPOSAL58Elwin Sharvill
1010Aditya Z SchemmerItaly2024-05-21Rangoni Of Florence NEGOTIATION88Onyama Limba
1011Rodrigues E GauchoUnited Kingdom2024-05-22King, Christopher A Esq PROPOSAL15Elwin Sharvill
1012Mayumi G KolmetzUnited Kingdom2024-06-03Buckley Miller Wright RENEWAL63Elwin Sharvill
1013James S InouyeAustralia2024-06-15Rangoni Of Florence PROPOSAL69Ivan Magalhaes
1014Stacey Y InouyeItaly2024-06-03Printing Dimensions NEGOTIATION74Stephen Shaw
1015Faith Y BologniaCanada2024-06-15Benton, John B Jr QUALIFIED68Stephen Shaw
1016Kaitlin L MarrierSpain2024-06-10Dorl, James J Esq NEW2Stephen Shaw
1017Leon E MarrierBrazil2024-06-15Dorl, James J Esq QUALIFIED84Stephen Shaw
1018Claire W CampainArgentina2024-06-12Rousseaux, Michael Esq NEW79Elwin Sharvill
1019Antonio Y GauchoGermany2024-05-25Chapman, Ross E Esq QUALIFIED41Onyama Limba
1020Deepesh Z WieserGermany2024-06-02Feltz Printing Service QUALIFIED16Elwin Sharvill
1021Adams C CaldareraArgentina2024-05-20King, Christopher A Esq NEW52Ivan Magalhaes
1022Isabel A WhobreyGermany2024-06-04Rousseaux, Michael Esq NEW76Anna Fali
1023Adams J FlosiIndia2024-06-01Chapman, Ross E Esq NEGOTIATION53Ivan Magalhaes
1024Jennifer O DoeIndia2024-05-20Printing Dimensions QUALIFIED10Asiya Javayant
1025Maisha V DoeIndia2024-05-28Truhlar And Truhlar Attys NEGOTIATION44Onyama Limba
1026Claire T PerinItaly2024-05-22Chanay, Jeffrey A Esq PROPOSAL83Anna Fali
1027Cody C WhobreyRussia2024-06-14Rangoni Of Florence NEW44Onyama Limba
1028Antonio U CaudyItaly2024-06-12Buckley Miller Wright NEW79Anna Fali
1029Juan R ChuiSpain2024-05-28Truhlar And Truhlar Attys UNQUALIFIED56Ioni Bowcher
1030Mujtaba H SlusarskiArgentina2024-06-02Morlong Associates QUALIFIED67Onyama Limba
1031Maisha Y CaudyUnited Kingdom2024-06-07Morlong Associates NEW1Asiya Javayant
1032Faith X InouyeIndia2024-05-21Rangoni Of Florence RENEWAL73Bernardo Dominic
1033Leja T CaldareraItaly2024-06-05Chapman, Ross E Esq QUALIFIED10Anna Fali
1034Misaki M BriddickAustralia2024-06-12Chemel, James L Cpa PROPOSAL7Asiya Javayant
1035Juan L FigeroaAustralia2024-05-22Truhlar And Truhlar Attys UNQUALIFIED19Asiya Javayant
1036Emily N RimAustralia2024-05-26Printing Dimensions UNQUALIFIED45Elwin Sharvill
1037Kaitlin D GauchoSpain2024-05-27Benton, John B Jr NEGOTIATION78Ivan Magalhaes
1038Murillo B GlickArgentina2024-05-31Chapman, Ross E Esq NEGOTIATION35Anna Fali
1039Alejandro J VocelkaCanada2024-05-30Commercial Press UNQUALIFIED58Ivan Magalhaes
1040Ashley D WhobreyGermany2024-05-18Chapman, Ross E Esq PROPOSAL3Amy Elsner
1041Stacey R BriddickItaly2024-06-03Chanay, Jeffrey A Esq NEGOTIATION61Onyama Limba
1042Francesco G DarakjyIndia2024-06-09Truhlar And Truhlar Attys UNQUALIFIED4Anna Fali
1043Aditya J GarufiFrance2024-05-26Rangoni Of Florence UNQUALIFIED44Ioni Bowcher
1044Jones Z FerenczArgentina2024-06-05Benton, John B Jr NEW74Bernardo Dominic
1045Clifford P GauchoIndia2024-06-11Truhlar And Truhlar Attys QUALIFIED44Asiya Javayant
1046James D FollerCanada2024-05-27Chanay, Jeffrey A Esq PROPOSAL74Asiya Javayant
1047Cody N SergiJapan2024-05-21Chapman, Ross E Esq RENEWAL70Asiya Javayant
1048Jennifer P StockhamGermany2024-05-23Feiner Bros RENEWAL70Stephen Shaw
1049Leon O VenereCanada2024-05-23Rousseaux, Michael Esq UNQUALIFIED79Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Mayumi B VocelkaBrazilIoni Bowcher PROPOSAL
Darci Z FlosiCanadaElwin Sharvill PROPOSAL
James O AmigonArgentinaBernardo Dominic NEW
Murillo E PoquetteAustraliaBernardo Dominic PROPOSAL
Costa I StockhamRussiaAsiya Javayant PROPOSAL
Leon H ChuiFranceBernardo Dominic PROPOSAL
Stacey E DarakjyFranceXuxue Feng UNQUALIFIED
Smith U FollerBrazilIoni Bowcher UNQUALIFIED
Ashley Q ButtBrazilXuxue Feng PROPOSAL
Arvin F ButtSpainAmy Elsner UNQUALIFIED
Ashley E SaylorsIndiaIvan Magalhaes RENEWAL
Wickens X FollerSpainAmy Elsner RENEWAL
Munro P SchemmerArgentinaXuxue Feng NEW
Mayumi D BriddickCanadaAmy Elsner NEW
Claire S MarrierSpainAmy Elsner NEW
Ricardo W WieserFranceIoni Bowcher NEGOTIATION
Adams X IturbideFranceElwin Sharvill PROPOSAL
Antonio H RoysterUnited KingdomElwin Sharvill NEGOTIATION
Jones L DarakjyGermanyStephen Shaw NEGOTIATION
Julie P BriddickAustraliaOnyama Limba QUALIFIED
Adams W MaletSpainAmy Elsner RENEWAL
Jones G OstroskyCanadaIvan Magalhaes NEW
Leon C AlbaresArgentinaAnna Fali RENEWAL
Jeanfrancois R RimRussiaIoni Bowcher NEGOTIATION
Leon U SlusarskiIndiaBernardo Dominic UNQUALIFIED
Misaki R NestleCanadaBernardo Dominic NEW
Costa W PaprockiCanadaAsiya Javayant NEW
Leja N ChuiBrazilElwin Sharvill RENEWAL
Antonio L FigeroaBrazilIvan Magalhaes RENEWAL
Izzy N CaldareraCanadaStephen Shaw NEGOTIATION
Mayumi U CaudyGermanyOnyama Limba NEW
Isabel X GlickItalyElwin Sharvill QUALIFIED
Julie I ChuiJapanBernardo Dominic UNQUALIFIED
Arvin F StockhamBrazilOnyama Limba NEW
Alejandro H GillianItalyBernardo Dominic PROPOSAL
Rodrigues D FollerSpainIoni Bowcher PROPOSAL
Aruna P OldroydSpainStephen Shaw NEW
Darci Y CaldareraJapanIvan Magalhaes QUALIFIED
Alejandro A MacleadGermanyIvan Magalhaes NEGOTIATION
Francesco U SchemmerFranceXuxue Feng NEGOTIATION
Tony E SaylorsFranceAsiya Javayant UNQUALIFIED
Munro Z PoquetteIndiaElwin Sharvill QUALIFIED
Maisha Z GarufiIndiaAnna Fali PROPOSAL
Aika H SchemmerFranceXuxue Feng QUALIFIED
Morrow T MaletFranceIvan Magalhaes RENEWAL
Leon F CampainBrazilAnna Fali NEW
Chavez R OstroskyBrazilAmy Elsner UNQUALIFIED
Darci L CaldareraAustraliaAnna Fali QUALIFIED
Octavia Y NestleJapanAnna Fali UNQUALIFIED
Wickens Y SlusarskiRussiaIvan Magalhaes QUALIFIED
Frozen Columns
Name
Kadeem S Poquette
Costa U Ruta
Faith O Campain
David T Sergi
Julie W Morasca
Claire M Gillian
Emily W Waycott
James Q Malet
Tony T Bowley
Jennifer B Maclead
Octavia A Bowley
Greenwood U Malet
Wickens S Bolognia
Stacey U Iturbide
Maria J Bolognia
Rodrigues V Poquette
Juan S Paprocki
Adams F Bowley
Misaki K Vocelka
Tony G Kolmetz
Jennifer S Caudy
Morrow N Gillian
Kadeem V Whobrey
Salvatore B Poquette
Arvin P Wieser
Maisha L Butt
Leon F Rim
Cody T Nestle
Stacey Y Gaucho
Isabel C Butt
Johnson S Butt
Aika T Slusarski
Faith S Stenseth
Jennifer S Garufi
Jefferson H Morasca
James O Iturbide
Izzy V Slusarski
Alejandro Y Bowley
Leon T Bowley
Stacey C Briddick
Smith H Foller
Aika V Caudy
Smith C Dilliard
Leja Q Doe
Wickens Y Bowley
Aditya J Nestle
Ivar R Gaucho
Julie R Iturbide
Nicolas I Waycott
Kadeem L Stockham
IdCountryDate
1000Russia2024-05-20
1001Brazil2024-06-09
1002Russia2024-05-21
1003Argentina2024-06-11
1004Italy2024-06-07
1005India2024-06-05
1006Argentina2024-05-28
1007Spain2024-06-13
1008Russia2024-06-14
1009Brazil2024-06-04
1010Italy2024-06-01
1011France2024-06-06
1012Russia2024-05-23
1013Germany2024-06-10
1014Italy2024-06-11
1015Russia2024-06-15
1016Spain2024-06-07
1017Brazil2024-05-19
1018France2024-05-24
1019Germany2024-06-06
1020Brazil2024-05-24
1021Germany2024-05-23
1022Russia2024-05-26
1023Italy2024-05-26
1024Australia2024-05-29
1025United Kingdom2024-06-12
1026Australia2024-05-27
1027Australia2024-05-21
1028Germany2024-05-27
1029Canada2024-05-28
1030Japan2024-05-28
1031Japan2024-06-09
1032Russia2024-06-03
1033Germany2024-06-16
1034India2024-06-06
1035Italy2024-05-26
1036France2024-06-11
1037United Kingdom2024-06-16
1038Canada2024-05-28
1039India2024-05-29
1040Canada2024-06-07
1041Italy2024-06-02
1042Germany2024-05-25
1043Australia2024-05-24
1044Italy2024-06-01
1045Germany2024-05-27
1046Australia2024-05-18
1047Australia2024-06-06
1048India2024-05-20
1049Russia2024-06-04

On-Demand Data

NameIdCountryDate
Arvin A Whobrey1000Canada2024-06-06
Ashley G Nicka1001Argentina2024-05-21
Johnson R Iturbide1002Brazil2024-06-08
Nicolas T Oldroyd1003Argentina2024-05-24
Aruna X Royster1004Germany2024-06-16
Alejandro A Nestle1005Spain2024-05-24
Stacey E Bolognia1006Japan2024-06-08
Leja B Caldarera1007Italy2024-06-15
Costa Q Rim1008Italy2024-06-14
Chavez B Darakjy1009Brazil2024-06-11
Salvatore W Schemmer1010Argentina2024-05-20
Misaki F Butt1011Brazil2024-05-18
Mayumi S Ostrosky1012India2024-06-08
Emily Q Bolognia1013Russia2024-05-22
Johnson V Perin1014Australia2024-06-01
Ashley L Rim1015Italy2024-05-22
Rodrigues L Foller1016Canada2024-06-02
Isabel Q Marrier1017Canada2024-06-14
Jennifer V Flosi1018Japan2024-06-10
Darci P Flosi1019Italy2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire N RimAustraliaIvan Magalhaes NEGOTIATION
Johnson I WhobreyIndiaAnna Fali QUALIFIED
Salvatore E KuskoSpainAnna Fali NEGOTIATION
Misaki O MaletSpainIvan Magalhaes PROPOSAL
Maisha T GlickItalyIvan Magalhaes UNQUALIFIED
Johnson T MaletRussiaAsiya Javayant QUALIFIED
Antonio B GillianAustraliaStephen Shaw RENEWAL
Rodrigues Z CampainJapanBernardo Dominic PROPOSAL
Chavez Z MacleadJapanIoni Bowcher UNQUALIFIED
Chavez S DarakjyRussiaElwin Sharvill QUALIFIED
Aruna U CaldareraIndiaOnyama Limba RENEWAL
Ivar K PerinIndiaAmy Elsner NEGOTIATION
Jeanfrancois Z MaletUnited KingdomAnna Fali NEGOTIATION
Clifford Z KolmetzCanadaOnyama Limba RENEWAL
Leja W GillianItalyIoni Bowcher NEGOTIATION
James U WieserSpainBernardo Dominic NEGOTIATION
Alejandro G DoeItalyBernardo Dominic QUALIFIED
Octavia J SergiUnited KingdomIoni Bowcher UNQUALIFIED
Jones G DilliardRussiaBernardo Dominic NEGOTIATION
Rodrigues N CampainItalyStephen Shaw NEW
Jennifer A MorascaCanadaOnyama Limba PROPOSAL
Julie O OldroydBrazilIoni Bowcher PROPOSAL
Kaitlin A FerenczUnited KingdomBernardo Dominic NEW
Jennifer C BologniaCanadaAnna Fali NEW
Arvin S StensethGermanyAmy Elsner RENEWAL
Smith N PaprockiCanadaAnna Fali RENEWAL
Greenwood S NickaJapanOnyama Limba UNQUALIFIED
Rodrigues V ChuiUnited KingdomAnna Fali QUALIFIED
Jennifer H PaprockiArgentinaStephen Shaw PROPOSAL
Deepesh D DarakjyCanadaStephen Shaw NEGOTIATION
Misaki L BriddickAustraliaIoni Bowcher PROPOSAL
Smith M PerinItalyElwin Sharvill PROPOSAL
Kadeem Z SaylorsCanadaIoni Bowcher PROPOSAL
Faith Y BowleyItalyXuxue Feng NEGOTIATION
Greenwood X RulapaughFranceXuxue Feng RENEWAL
Munro A AmigonFranceIoni Bowcher NEW
Jeanfrancois D KolmetzBrazilAmy Elsner NEGOTIATION
Mayumi M MaletAustraliaIoni Bowcher RENEWAL
Maria B TollnerGermanyElwin Sharvill QUALIFIED
Leja S FlosiGermanyXuxue Feng 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>