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
Munro C KuskoGermanyIvan Magalhaes RENEWAL
Kadeem V SchemmerJapanIoni Bowcher NEGOTIATION
Stacey D FigeroaJapanIvan Magalhaes PROPOSAL
Emily G MarrierBrazilIvan Magalhaes UNQUALIFIED
Julie U PaprockiSpainIoni Bowcher NEGOTIATION
Jones L AlbaresGermanyBernardo Dominic PROPOSAL
Chavez P GauchoFranceStephen Shaw NEW
Deepesh W AlbaresBrazilAsiya Javayant NEW
Maisha X BriddickAustraliaAsiya Javayant QUALIFIED
Misaki D BriddickArgentinaXuxue Feng QUALIFIED
Stacey M KuskoItalyBernardo Dominic RENEWAL
Leon Y WaycottJapanStephen Shaw UNQUALIFIED
Johnson F GlickArgentinaIoni Bowcher NEGOTIATION
Mujtaba I DilliardJapanOnyama Limba NEGOTIATION
Emily J PaprockiSpainIoni Bowcher NEGOTIATION
Mujtaba V RoysterItalyBernardo Dominic NEGOTIATION
Munro P SergiJapanStephen Shaw QUALIFIED
Izzy U RutaItalyElwin Sharvill NEGOTIATION
Ricardo P PerinCanadaBernardo Dominic NEW
Aika R MarrierRussiaXuxue Feng NEGOTIATION
Darci A MaletSpainAsiya Javayant NEGOTIATION
Jones J InouyeRussiaBernardo Dominic RENEWAL
Arvin O SlusarskiArgentinaBernardo Dominic NEW
Juan M FlosiBrazilBernardo Dominic PROPOSAL
Kadeem F SaylorsItalyElwin Sharvill QUALIFIED
Kaitlin B NickaUnited KingdomStephen Shaw UNQUALIFIED
Antonio W BowleyJapanOnyama Limba UNQUALIFIED
Nicolas G WieserBrazilAnna Fali QUALIFIED
Aditya C BowleyBrazilIvan Magalhaes PROPOSAL
Jones E RulapaughUnited KingdomOnyama Limba NEW
Misaki H RulapaughItalyXuxue Feng QUALIFIED
Rodrigues I FigeroaBrazilAmy Elsner NEGOTIATION
Emily J PaprockiRussiaAmy Elsner QUALIFIED
Aditya D MaletItalyIoni Bowcher RENEWAL
Stacey H DoeRussiaAnna Fali RENEWAL
Leja A BriddickUnited KingdomXuxue Feng NEGOTIATION
Misaki F FerenczBrazilBernardo Dominic RENEWAL
Munro Q AmigonRussiaElwin Sharvill PROPOSAL
Misaki K RimItalyIvan Magalhaes QUALIFIED
Leja H DoeGermanyBernardo Dominic NEW
Leon C FerenczUnited KingdomAnna Fali UNQUALIFIED
Munro T GillianJapanBernardo Dominic UNQUALIFIED
Alejandro O CaldareraFranceAsiya Javayant RENEWAL
Kaitlin L DilliardItalyStephen Shaw QUALIFIED
Izzy W CampainItalyIoni Bowcher QUALIFIED
Francesco G BriddickItalyStephen Shaw QUALIFIED
Antonio S PaprockiFranceIvan Magalhaes NEW
Wickens P SlusarskiArgentinaBernardo Dominic NEW
Julie R ChuiSpainIvan Magalhaes RENEWAL
Ricardo E InouyeIndiaStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois K PaprockiRussiaStephen Shaw QUALIFIED
Aruna W PoquetteIndiaAmy Elsner NEGOTIATION
Octavia A RoysterJapanXuxue Feng PROPOSAL
Johnson A GlickIndiaOnyama Limba NEGOTIATION
Octavia B RutaAustraliaElwin Sharvill NEGOTIATION
Mayumi D OstroskyAustraliaBernardo Dominic RENEWAL
Aruna E AlbaresSpainAnna Fali RENEWAL
Octavia K PoquetteRussiaIvan Magalhaes UNQUALIFIED
Faith V ShinkoJapanBernardo Dominic QUALIFIED
Silvio E MaletCanadaXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues E AmigonCanada2024-04-30Truhlar And Truhlar Attys QUALIFIED75Onyama Limba
1001Wickens E BriddickGermany2024-04-28Chapman, Ross E Esq NEGOTIATION59Amy Elsner
1002Ivar C FigeroaIndia2024-05-13Rousseaux, Michael Esq NEGOTIATION93Bernardo Dominic
1003Izzy B MarrierAustralia2024-05-27Morlong Associates PROPOSAL72Amy Elsner
1004Chavez A NickaBrazil2024-05-20Dorl, James J Esq NEW91Elwin Sharvill
1005Juan F SaylorsAustralia2024-05-18Feiner Bros UNQUALIFIED51Onyama Limba
1006Adams Y GlickAustralia2024-05-25Truhlar And Truhlar Attys QUALIFIED33Ivan Magalhaes
1007Rodrigues L BologniaGermany2024-05-03Rousseaux, Michael Esq PROPOSAL2Amy Elsner
1008Smith S VocelkaBrazil2024-05-11Chanay, Jeffrey A Esq NEW60Amy Elsner
1009Ashley H MorascaAustralia2024-04-28Truhlar And Truhlar Attys UNQUALIFIED9Ivan Magalhaes
1010Julie T VenereAustralia2024-05-20Buckley Miller Wright NEW96Bernardo Dominic
1011Mujtaba L OstroskyUnited Kingdom2024-05-03Feltz Printing Service NEGOTIATION61Bernardo Dominic
1012Jeanfrancois H MacleadFrance2024-05-06Morlong Associates RENEWAL7Amy Elsner
1013Julie R FollerAustralia2024-05-18Rangoni Of Florence NEW42Ioni Bowcher
1014Deepesh N PerinFrance2024-05-02Rangoni Of Florence NEGOTIATION65Elwin Sharvill
1015Alejandro Z DoeArgentina2024-05-02Rangoni Of Florence NEW14Bernardo Dominic
1016Jones U MorascaBrazil2024-05-08Chemel, James L Cpa NEGOTIATION50Xuxue Feng
1017Aika S CampainJapan2024-05-08Chanay, Jeffrey A Esq NEGOTIATION18Xuxue Feng
1018Isabel C SlusarskiCanada2024-05-15Rousseaux, Michael Esq QUALIFIED76Anna Fali
1019Maria K AmigonIndia2024-05-27Buckley Miller Wright PROPOSAL23Anna Fali
1020Stacey U TollnerBrazil2024-05-03Feltz Printing Service QUALIFIED55Amy Elsner
1021Antonio Q RoysterGermany2024-05-22Morlong Associates NEW37Asiya Javayant
1022Stacey S BriddickCanada2024-05-14Chapman, Ross E Esq UNQUALIFIED57Ivan Magalhaes
1023Jefferson B NestleAustralia2024-05-26Truhlar And Truhlar Attys NEW14Stephen Shaw
1024Antonio X RoysterIndia2024-05-27Rousseaux, Michael Esq RENEWAL46Elwin Sharvill
1025Jeanfrancois O SchemmerIndia2024-05-20Feltz Printing Service PROPOSAL99Ivan Magalhaes
1026Octavia D MorascaItaly2024-05-04Commercial Press PROPOSAL79Stephen Shaw
1027Faith I CaldareraGermany2024-05-24Dorl, James J Esq UNQUALIFIED48Bernardo Dominic
1028Juan A TollnerCanada2024-05-06Buckley Miller Wright UNQUALIFIED80Asiya Javayant
1029Jefferson P AlbaresRussia2024-05-18Feiner Bros RENEWAL48Elwin Sharvill
1030Isabel T NickaJapan2024-05-17Chemel, James L Cpa UNQUALIFIED60Xuxue Feng
1031Emily B OldroydBrazil2024-05-21Truhlar And Truhlar Attys PROPOSAL89Bernardo Dominic
1032Claire N FollerUnited Kingdom2024-05-13Commercial Press PROPOSAL78Ioni Bowcher
1033Ricardo Q SaylorsArgentina2024-05-21Chemel, James L Cpa QUALIFIED75Stephen Shaw
1034Maria Q FerenczJapan2024-05-13Benton, John B Jr RENEWAL53Anna Fali
1035Claire F SergiJapan2024-05-17Truhlar And Truhlar Attys QUALIFIED62Stephen Shaw
1036Adams L NickaAustralia2024-05-04Printing Dimensions NEW19Asiya Javayant
1037Maria X AlbaresItaly2024-05-05Feiner Bros UNQUALIFIED86Ioni Bowcher
1038Isabel Y InouyeIndia2024-05-08Chemel, James L Cpa RENEWAL11Bernardo Dominic
1039Alejandro K BriddickUnited Kingdom2024-05-05Feltz Printing Service UNQUALIFIED75Stephen Shaw
1040Claire N MaletRussia2024-04-30Benton, John B Jr NEW12Stephen Shaw
1041Emily W VenereRussia2024-05-18Benton, John B Jr UNQUALIFIED54Ioni Bowcher
1042Isabel Z BowleyFrance2024-04-30Buckley Miller Wright NEW86Elwin Sharvill
1043Izzy Z FlosiItaly2024-05-26Chanay, Jeffrey A Esq RENEWAL33Stephen Shaw
1044David J SergiSpain2024-05-24Dorl, James J Esq NEGOTIATION82Xuxue Feng
1045Wickens S AmigonCanada2024-05-17Buckley Miller Wright UNQUALIFIED81Anna Fali
1046Leja X StensethGermany2024-05-25Benton, John B Jr NEW84Ivan Magalhaes
1047Maria J StockhamFrance2024-05-25Feiner Bros UNQUALIFIED48Bernardo Dominic
1048Claire L GarufiRussia2024-05-21King, Christopher A Esq NEGOTIATION95Xuxue Feng
1049Greenwood D FollerArgentina2024-05-10Printing Dimensions RENEWAL56Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Wickens D DarakjyCanadaXuxue Feng PROPOSAL
Maisha R MarrierSpainIoni Bowcher PROPOSAL
Aruna N WaycottJapanOnyama Limba NEW
Kaitlin H PoquetteFranceXuxue Feng NEGOTIATION
Ashley G PoquetteCanadaBernardo Dominic QUALIFIED
Francesco V BriddickIndiaIoni Bowcher PROPOSAL
Clifford S WieserItalyXuxue Feng PROPOSAL
Silvio J MarrierBrazilIoni Bowcher QUALIFIED
Smith M SlusarskiSpainIoni Bowcher PROPOSAL
Jennifer A FerenczSpainOnyama Limba PROPOSAL
Greenwood E IturbideSpainAsiya Javayant RENEWAL
Faith O SchemmerCanadaElwin Sharvill NEGOTIATION
Munro T CaudyFranceIvan Magalhaes PROPOSAL
Wickens R TollnerCanadaIvan Magalhaes RENEWAL
Leon X NickaCanadaIvan Magalhaes NEW
Maisha L InouyeCanadaAmy Elsner UNQUALIFIED
Mayumi I WhobreyCanadaOnyama Limba RENEWAL
Deepesh K GlickRussiaStephen Shaw NEW
Ivar A IturbideIndiaOnyama Limba UNQUALIFIED
Leon L CaldareraGermanyOnyama Limba RENEWAL
Deepesh Z FerenczUnited KingdomOnyama Limba UNQUALIFIED
Ivar F SaylorsIndiaIvan Magalhaes NEGOTIATION
Claire J MorascaFranceAsiya Javayant NEW
Jefferson E CaudyItalyIvan Magalhaes PROPOSAL
Antonio I SchemmerGermanyAsiya Javayant NEGOTIATION
Juan O VocelkaItalyAsiya Javayant QUALIFIED
Greenwood P NickaItalyAnna Fali PROPOSAL
Smith A MorascaUnited KingdomAmy Elsner NEW
Arvin B GauchoSpainOnyama Limba PROPOSAL
Silvio Q FigeroaFranceAnna Fali UNQUALIFIED
Faith A WaycottJapanIoni Bowcher PROPOSAL
Rodrigues H NickaJapanAnna Fali PROPOSAL
Leon G OldroydCanadaAnna Fali RENEWAL
David O FlosiSpainAsiya Javayant QUALIFIED
Cody U GillianUnited KingdomOnyama Limba PROPOSAL
Aika C GarufiAustraliaOnyama Limba UNQUALIFIED
Adams O StensethArgentinaOnyama Limba NEGOTIATION
Izzy A DilliardIndiaStephen Shaw RENEWAL
Izzy J MaletRussiaIoni Bowcher NEW
Jennifer B DoeIndiaAnna Fali QUALIFIED
Kaitlin B VenereJapanXuxue Feng NEGOTIATION
Sinclair B ButtGermanyAmy Elsner UNQUALIFIED
Deepesh X MorascaJapanStephen Shaw RENEWAL
Salvatore Z MaletIndiaAmy Elsner QUALIFIED
Darci Q DilliardGermanyAnna Fali QUALIFIED
Munro D SlusarskiRussiaAsiya Javayant UNQUALIFIED
Adams U CampainCanadaAmy Elsner NEGOTIATION
Johnson J ChuiUnited KingdomIvan Magalhaes UNQUALIFIED
Jennifer O SergiIndiaBernardo Dominic RENEWAL
Aika R AlbaresRussiaAnna Fali NEGOTIATION
Frozen Columns
Name
Wickens E Nicka
Adams G Rulapaugh
Sinclair U Kolmetz
Cody E Stockham
Arvin C Foller
Maria U Malet
Jeanfrancois D Campain
Aditya F Briddick
Jennifer I Slusarski
Johnson V Waycott
Smith X Amigon
Aruna G Briddick
Jones C Garufi
Francesco S Gillian
James O Kusko
Ashley Z Shinko
Cody D Malet
Smith G Figeroa
Ashley T Paprocki
Francesco O Shinko
Misaki Z Slusarski
Cody K Ferencz
Darci J Tollner
Darci U Butt
Leon C Butt
Salvatore P Campain
Faith J Paprocki
Johnson M Vocelka
Leja J Gillian
Claire P Maclead
Julie T Figeroa
Arvin U Inouye
Ricardo N Morasca
Mujtaba X Sergi
Kadeem P Bowley
Maria I Iturbide
Murillo C Malet
Ashley T Oldroyd
Jeanfrancois Z Malet
Izzy L Paprocki
Octavia P Gillian
Morrow Q Gaucho
Leja Q Stenseth
Izzy A Stockham
Ivar H Caudy
Costa F Venere
Clifford Q Campain
Wickens T Caldarera
Jeanfrancois C Whobrey
Izzy N Malet
IdCountryDate
1000Canada2024-05-19
1001Spain2024-05-04
1002Canada2024-05-16
1003Argentina2024-05-19
1004India2024-05-18
1005United Kingdom2024-05-19
1006Russia2024-05-11
1007Spain2024-05-20
1008Canada2024-05-22
1009Argentina2024-04-30
1010Australia2024-05-17
1011Canada2024-05-15
1012Argentina2024-05-17
1013United Kingdom2024-04-28
1014United Kingdom2024-05-15
1015Canada2024-05-03
1016France2024-05-02
1017France2024-05-23
1018Canada2024-05-13
1019Australia2024-05-05
1020Canada2024-05-16
1021Argentina2024-05-07
1022Italy2024-05-21
1023France2024-05-14
1024Canada2024-05-27
1025Brazil2024-05-14
1026Japan2024-05-01
1027France2024-05-15
1028Russia2024-05-25
1029Italy2024-05-14
1030India2024-04-29
1031Argentina2024-05-10
1032United Kingdom2024-05-21
1033Australia2024-05-15
1034Brazil2024-05-14
1035India2024-05-25
1036France2024-05-20
1037Spain2024-05-03
1038Spain2024-05-18
1039India2024-05-15
1040Germany2024-05-05
1041Italy2024-05-04
1042India2024-05-16
1043Japan2024-05-22
1044Spain2024-05-15
1045Italy2024-05-06
1046Germany2024-05-07
1047Japan2024-05-08
1048India2024-05-01
1049India2024-05-08

On-Demand Data

NameIdCountryDate
Stacey O Ruta1000Russia2024-05-08
Antonio T Figeroa1001Russia2024-05-23
Isabel A Foller1002Germany2024-05-14
Adams I Darakjy1003Canada2024-05-21
Smith N Perin1004Germany2024-05-24
Tony Q Glick1005Germany2024-05-08
Darci P Marrier1006India2024-05-07
Mayumi K Kusko1007Germany2024-05-22
Nicolas L Morasca1008United Kingdom2024-05-26
James F Tollner1009Spain2024-05-07
Clifford W Maclead1010Argentina2024-05-10
Maria L Stockham1011Germany2024-05-14
Antonio W Nicka1012Argentina2024-05-27
Claire N Rim1013India2024-05-22
Munro F Stockham1014Spain2024-05-12
Murillo K Paprocki1015France2024-05-23
Jennifer L Dilliard1016Canada2024-05-06
Alejandro Z Foller1017United Kingdom2024-05-25
Alejandro L Amigon1018Canada2024-05-12
Claire K Kusko1019Canada2024-05-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan D BologniaIndiaOnyama Limba UNQUALIFIED
Aditya T MaletItalyIvan Magalhaes RENEWAL
Darci C OldroydRussiaIvan Magalhaes NEGOTIATION
Munro I AmigonArgentinaElwin Sharvill NEGOTIATION
Johnson M GillianRussiaXuxue Feng QUALIFIED
Isabel F PaprockiCanadaXuxue Feng UNQUALIFIED
Jefferson X RoysterItalyXuxue Feng UNQUALIFIED
Aditya U DoeCanadaAnna Fali NEW
Julie X IturbideItalyStephen Shaw UNQUALIFIED
Mayumi F MorascaUnited KingdomElwin Sharvill QUALIFIED
Sinclair U KolmetzCanadaAsiya Javayant NEW
Julie B CaldareraIndiaAsiya Javayant PROPOSAL
Tony F NestleCanadaIoni Bowcher PROPOSAL
Isabel H VenereFranceOnyama Limba PROPOSAL
Leon I MaletFranceAnna Fali UNQUALIFIED
Nicolas G MarrierJapanAsiya Javayant PROPOSAL
Adams X GarufiFranceIvan Magalhaes QUALIFIED
Leja B MacleadIndiaAmy Elsner NEW
Jones O RimUnited KingdomAmy Elsner PROPOSAL
Silvio F FerenczItalyBernardo Dominic UNQUALIFIED
Morrow I GauchoArgentinaXuxue Feng NEGOTIATION
Chavez S OstroskyFranceXuxue Feng NEGOTIATION
Jones R NickaGermanyIoni Bowcher NEW
Clifford E SaylorsRussiaIoni Bowcher NEW
Johnson X ChuiCanadaIvan Magalhaes QUALIFIED
Cody G InouyeBrazilXuxue Feng UNQUALIFIED
Izzy J NickaRussiaAmy Elsner NEGOTIATION
Antonio U DarakjyCanadaIvan Magalhaes UNQUALIFIED
Wickens V NickaAustraliaAmy Elsner NEW
Rodrigues F OldroydGermanyElwin Sharvill NEGOTIATION
Kaitlin O CampainCanadaXuxue Feng NEGOTIATION
Nicolas R GarufiJapanAnna Fali PROPOSAL
Sinclair O DarakjyBrazilBernardo Dominic UNQUALIFIED
Salvatore K VenereGermanyAnna Fali QUALIFIED
Arvin O FlosiIndiaIoni Bowcher RENEWAL
Aika Z NestleSpainOnyama Limba QUALIFIED
Morrow P DarakjyFranceIvan Magalhaes RENEWAL
Stacey M KuskoItalyAsiya Javayant UNQUALIFIED
Aika X DilliardAustraliaOnyama Limba UNQUALIFIED
Mayumi Z GauchoCanadaAnna 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>