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
Smith Q DilliardRussiaStephen Shaw RENEWAL
Clifford J BriddickAustraliaXuxue Feng UNQUALIFIED
Smith X RoysterGermanyElwin Sharvill UNQUALIFIED
Jeanfrancois X DilliardUnited KingdomStephen Shaw UNQUALIFIED
Stacey D NickaAustraliaAsiya Javayant RENEWAL
Munro S ButtFranceAsiya Javayant QUALIFIED
Faith Z RulapaughAustraliaElwin Sharvill NEGOTIATION
Greenwood K DarakjyUnited KingdomOnyama Limba RENEWAL
Juan H NickaItalyXuxue Feng PROPOSAL
Aruna V RulapaughUnited KingdomStephen Shaw QUALIFIED
Salvatore B ChuiAustraliaBernardo Dominic PROPOSAL
Leja B PoquetteItalyAmy Elsner NEGOTIATION
Ashley G RulapaughGermanyStephen Shaw UNQUALIFIED
Francesco S OldroydItalyElwin Sharvill PROPOSAL
Alejandro J SaylorsSpainAmy Elsner NEGOTIATION
Murillo B NickaItalyStephen Shaw RENEWAL
Juan Q DoeGermanyIvan Magalhaes PROPOSAL
Costa A RoysterRussiaAsiya Javayant PROPOSAL
Misaki R NestleArgentinaBernardo Dominic QUALIFIED
Jefferson Y KuskoItalyIvan Magalhaes PROPOSAL
Wickens L FlosiIndiaIoni Bowcher UNQUALIFIED
Kadeem K KuskoCanadaOnyama Limba NEGOTIATION
Silvio L SaylorsItalyIvan Magalhaes RENEWAL
Jones V RutaRussiaBernardo Dominic PROPOSAL
Octavia K WieserRussiaAmy Elsner RENEWAL
Julie N PaprockiBrazilBernardo Dominic UNQUALIFIED
Aditya M RoysterBrazilOnyama Limba QUALIFIED
Silvio J OldroydFranceAsiya Javayant RENEWAL
Jennifer A DilliardJapanOnyama Limba QUALIFIED
Jones P SaylorsAustraliaElwin Sharvill QUALIFIED
Nicolas S OldroydCanadaIoni Bowcher NEW
Isabel B ChuiBrazilBernardo Dominic NEGOTIATION
Jeanfrancois M FigeroaAustraliaIoni Bowcher PROPOSAL
Leon Y SchemmerGermanyAsiya Javayant PROPOSAL
Emily S FerenczBrazilBernardo Dominic NEW
Leja S DilliardAustraliaStephen Shaw NEW
Jeanfrancois X RutaBrazilOnyama Limba RENEWAL
Emily N RutaIndiaIvan Magalhaes NEGOTIATION
Ricardo L TollnerItalyAmy Elsner NEW
Maria Q CampainFranceIvan Magalhaes NEW
Sinclair J FlosiItalyAmy Elsner QUALIFIED
Mayumi L CampainJapanElwin Sharvill NEW
Murillo J ChuiItalyAmy Elsner PROPOSAL
Leon R AmigonAustraliaElwin Sharvill PROPOSAL
Arvin B ShinkoIndiaAnna Fali QUALIFIED
Aika J MaletUnited KingdomIvan Magalhaes UNQUALIFIED
Stacey Y VenereFranceAsiya Javayant UNQUALIFIED
Emily G AmigonAustraliaAsiya Javayant RENEWAL
Costa V PerinJapanElwin Sharvill NEGOTIATION
Izzy V WhobreyAustraliaOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Claire R PerinAustraliaIvan Magalhaes QUALIFIED
Antonio K FerenczBrazilIoni Bowcher NEGOTIATION
Stacey V SchemmerFranceAsiya Javayant QUALIFIED
David Q PerinBrazilElwin Sharvill UNQUALIFIED
Arvin G NickaIndiaOnyama Limba NEGOTIATION
Clifford Q RoysterSpainOnyama Limba NEGOTIATION
Greenwood Y FerenczBrazilStephen Shaw NEW
Smith F PoquetteBrazilIvan Magalhaes RENEWAL
Morrow G DoeUnited KingdomAsiya Javayant QUALIFIED
Antonio E OstroskyRussiaAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith B AmigonItaly2024-09-18Chanay, Jeffrey A Esq RENEWAL92Asiya Javayant
1001Jennifer R VenereItaly2024-09-03Buckley Miller Wright UNQUALIFIED16Elwin Sharvill
1002Tony M GillianBrazil2024-08-30Chemel, James L Cpa QUALIFIED23Ioni Bowcher
1003Leja M AmigonCanada2024-09-14Morlong Associates PROPOSAL94Onyama Limba
1004Tony L FigeroaBrazil2024-08-28Feiner Bros NEGOTIATION81Xuxue Feng
1005Smith X GauchoBrazil2024-09-12Feiner Bros NEW61Xuxue Feng
1006Cody H TollnerCanada2024-09-13Truhlar And Truhlar Attys PROPOSAL56Asiya Javayant
1007Jeanfrancois J StockhamGermany2024-09-09Rangoni Of Florence QUALIFIED48Elwin Sharvill
1008Greenwood N AmigonSpain2024-09-10Benton, John B Jr PROPOSAL69Asiya Javayant
1009Murillo O MorascaSpain2024-09-04Commercial Press UNQUALIFIED53Stephen Shaw
1010Johnson M GillianCanada2024-09-03Feltz Printing Service PROPOSAL31Bernardo Dominic
1011Rodrigues U ShinkoItaly2024-09-16Feiner Bros RENEWAL42Ivan Magalhaes
1012Sinclair Z WaycottIndia2024-09-11Morlong Associates QUALIFIED97Elwin Sharvill
1013Ashley E GillianUnited Kingdom2024-08-25Morlong Associates RENEWAL38Asiya Javayant
1014Alejandro N MaletArgentina2024-09-16Feltz Printing Service UNQUALIFIED69Anna Fali
1015Mayumi X IturbideFrance2024-08-31Rangoni Of Florence NEGOTIATION22Ivan Magalhaes
1016Kaitlin C SergiItaly2024-08-26Chanay, Jeffrey A Esq QUALIFIED44Bernardo Dominic
1017Maria V KolmetzRussia2024-09-03Rousseaux, Michael Esq UNQUALIFIED83Asiya Javayant
1018Maria I ChuiRussia2024-09-21Buckley Miller Wright QUALIFIED39Anna Fali
1019Cody G KuskoArgentina2024-08-29Printing Dimensions NEW29Xuxue Feng
1020Aruna C ShinkoFrance2024-09-12Rousseaux, Michael Esq UNQUALIFIED76Bernardo Dominic
1021Sinclair C TollnerSpain2024-09-05Truhlar And Truhlar Attys RENEWAL41Stephen Shaw
1022Leon Y WieserBrazil2024-09-08Chanay, Jeffrey A Esq UNQUALIFIED83Elwin Sharvill
1023Darci Y TollnerItaly2024-09-03Dorl, James J Esq PROPOSAL15Anna Fali
1024Aruna Z PaprockiRussia2024-08-26Feiner Bros PROPOSAL26Ioni Bowcher
1025Chavez U ShinkoCanada2024-08-31Chanay, Jeffrey A Esq NEW61Elwin Sharvill
1026Leja R OldroydGermany2024-08-29Truhlar And Truhlar Attys RENEWAL29Bernardo Dominic
1027James C MacleadJapan2024-09-05Morlong Associates NEW87Xuxue Feng
1028Aditya K GillianArgentina2024-09-11Feltz Printing Service UNQUALIFIED12Elwin Sharvill
1029Smith M SergiArgentina2024-09-13Rangoni Of Florence NEGOTIATION49Ivan Magalhaes
1030Kadeem G CaldareraArgentina2024-08-29King, Christopher A Esq QUALIFIED29Stephen Shaw
1031Ashley M CaudyIndia2024-08-28Chapman, Ross E Esq QUALIFIED90Bernardo Dominic
1032Stacey S RutaArgentina2024-08-30Chanay, Jeffrey A Esq UNQUALIFIED64Ioni Bowcher
1033Kadeem P OldroydBrazil2024-08-26Buckley Miller Wright NEGOTIATION1Bernardo Dominic
1034Murillo J KolmetzRussia2024-09-11Benton, John B Jr RENEWAL16Ioni Bowcher
1035David H MarrierUnited Kingdom2024-08-25Feiner Bros UNQUALIFIED50Amy Elsner
1036Leja M DoeUnited Kingdom2024-09-16Rousseaux, Michael Esq UNQUALIFIED26Ivan Magalhaes
1037Murillo H SaylorsItaly2024-08-30Feiner Bros NEW79Amy Elsner
1038Stacey X AlbaresItaly2024-09-08Commercial Press QUALIFIED0Ioni Bowcher
1039Deepesh X RulapaughJapan2024-09-03Feiner Bros NEW17Asiya Javayant
1040Deepesh X ShinkoSpain2024-09-01Chanay, Jeffrey A Esq UNQUALIFIED78Asiya Javayant
1041Octavia T GarufiCanada2024-09-08Truhlar And Truhlar Attys NEW49Ivan Magalhaes
1042Jennifer G CampainGermany2024-09-18Dorl, James J Esq RENEWAL62Xuxue Feng
1043Cody C CampainUnited Kingdom2024-09-06Rousseaux, Michael Esq PROPOSAL25Elwin Sharvill
1044Juan N InouyeBrazil2024-09-10Rousseaux, Michael Esq PROPOSAL71Anna Fali
1045Francesco H GauchoItaly2024-09-15Morlong Associates UNQUALIFIED39Asiya Javayant
1046Aditya K MarrierAustralia2024-09-02Chanay, Jeffrey A Esq PROPOSAL87Ioni Bowcher
1047Jefferson E WaycottArgentina2024-09-20Benton, John B Jr QUALIFIED83Stephen Shaw
1048Jeanfrancois K GillianJapan2024-09-11Buckley Miller Wright RENEWAL91Ivan Magalhaes
1049Cody D MacleadCanada2024-09-16Chemel, James L Cpa QUALIFIED96Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Salvatore T ShinkoSpainXuxue Feng PROPOSAL
Alejandro E MaletAustraliaAsiya Javayant PROPOSAL
Aditya Y SlusarskiSpainAsiya Javayant QUALIFIED
Rodrigues E InouyeBrazilBernardo Dominic PROPOSAL
Faith I OldroydRussiaIoni Bowcher QUALIFIED
Stacey O CampainAustraliaStephen Shaw PROPOSAL
Adams H GauchoRussiaOnyama Limba RENEWAL
David A CaudyBrazilIoni Bowcher NEGOTIATION
James B PoquetteUnited KingdomIvan Magalhaes NEGOTIATION
Tony X WieserItalyElwin Sharvill RENEWAL
Chavez L MaletCanadaIvan Magalhaes PROPOSAL
Rodrigues A GlickUnited KingdomXuxue Feng PROPOSAL
Jones R RutaFranceAnna Fali RENEWAL
Francesco T CampainGermanyXuxue Feng PROPOSAL
Kaitlin K FlosiFranceStephen Shaw NEGOTIATION
Faith R BologniaArgentinaIvan Magalhaes PROPOSAL
Arvin I SchemmerSpainOnyama Limba RENEWAL
Mujtaba T PaprockiSpainBernardo Dominic NEW
Emily T OstroskyGermanyElwin Sharvill PROPOSAL
Juan F SlusarskiItalyXuxue Feng NEGOTIATION
Tony Y FollerJapanIoni Bowcher NEGOTIATION
Johnson Z StensethItalyOnyama Limba QUALIFIED
Cody E DoeAustraliaIoni Bowcher PROPOSAL
Murillo A PaprockiAustraliaOnyama Limba QUALIFIED
Murillo M BologniaSpainIvan Magalhaes UNQUALIFIED
Arvin O RulapaughIndiaElwin Sharvill UNQUALIFIED
Francesco F SlusarskiItalyXuxue Feng RENEWAL
Adams Q StockhamSpainXuxue Feng NEGOTIATION
Greenwood Y RoysterAustraliaStephen Shaw RENEWAL
Sinclair Y AlbaresAustraliaStephen Shaw NEW
Francesco Q BologniaFranceOnyama Limba NEGOTIATION
Ricardo I InouyeJapanElwin Sharvill NEW
Adams U TollnerBrazilXuxue Feng PROPOSAL
James A BologniaSpainIvan Magalhaes NEGOTIATION
Costa R RutaArgentinaStephen Shaw RENEWAL
Jeanfrancois X GillianJapanStephen Shaw NEW
Aruna V WaycottIndiaAnna Fali RENEWAL
Stacey U SlusarskiBrazilStephen Shaw UNQUALIFIED
Kaitlin K PaprockiIndiaXuxue Feng UNQUALIFIED
Aditya R CampainFranceAmy Elsner NEW
Stacey X NestleAustraliaAsiya Javayant QUALIFIED
Aika U DarakjyUnited KingdomIvan Magalhaes QUALIFIED
Smith W WaycottIndiaBernardo Dominic PROPOSAL
Chavez A StockhamJapanAsiya Javayant PROPOSAL
Aruna K NickaIndiaElwin Sharvill QUALIFIED
Rodrigues G FollerUnited KingdomOnyama Limba UNQUALIFIED
Tony C SergiRussiaOnyama Limba NEGOTIATION
Smith U KolmetzGermanyStephen Shaw UNQUALIFIED
Darci H MarrierRussiaOnyama Limba QUALIFIED
Deepesh U StensethRussiaStephen Shaw PROPOSAL
Frozen Columns
Name
Faith F Caudy
Maria I Dilliard
Deepesh X Darakjy
Arvin M Gaucho
Greenwood P Albares
Costa B Chui
Jeanfrancois C Wieser
Jennifer S Poquette
Francesco U Chui
Costa S Figeroa
Costa C Oldroyd
Misaki T Waycott
Ricardo O Doe
Ashley K Bowley
Juan A Malet
James D Amigon
Francesco E Sergi
Juan Q Gaucho
Adams X Rulapaugh
David F Ferencz
Stacey F Dilliard
Maisha D Malet
Maisha S Venere
Leon H Chui
Silvio Y Maclead
Deepesh O Oldroyd
Cody U Malet
Kadeem C Morasca
David X Iturbide
Misaki B Caldarera
Mujtaba C Oldroyd
Aruna K Waycott
Leon V Inouye
Alejandro Q Kolmetz
Mayumi F Garufi
Maisha J Morasca
Faith X Nestle
Johnson R Dilliard
Smith G Marrier
Mujtaba J Bowley
Aditya U Rulapaugh
Juan K Royster
Silvio F Iturbide
Adams W Poquette
Faith M Campain
Jefferson O Campain
Kaitlin Y Tollner
Mayumi A Stockham
Nicolas I Gaucho
Cody T Gaucho
IdCountryDate
1000Russia2024-08-25
1001Spain2024-09-22
1002Spain2024-09-13
1003Canada2024-09-13
1004Spain2024-09-12
1005Spain2024-08-28
1006Australia2024-09-01
1007Germany2024-09-11
1008Italy2024-09-06
1009Russia2024-09-13
1010India2024-09-11
1011Brazil2024-09-21
1012France2024-09-17
1013Russia2024-09-10
1014India2024-09-15
1015Japan2024-08-30
1016Russia2024-09-21
1017Australia2024-09-08
1018Russia2024-09-05
1019Brazil2024-09-17
1020Germany2024-09-03
1021Australia2024-09-03
1022Italy2024-08-30
1023Italy2024-09-05
1024Spain2024-08-26
1025France2024-09-22
1026India2024-08-30
1027France2024-09-08
1028Brazil2024-09-05
1029Argentina2024-09-22
1030Brazil2024-09-09
1031United Kingdom2024-09-03
1032Canada2024-09-22
1033Spain2024-08-27
1034Germany2024-09-18
1035Canada2024-08-29
1036India2024-09-21
1037United Kingdom2024-09-03
1038India2024-09-04
1039Germany2024-09-14
1040Italy2024-09-04
1041Brazil2024-08-31
1042Argentina2024-09-18
1043France2024-09-04
1044Japan2024-09-09
1045Spain2024-09-19
1046India2024-09-04
1047Argentina2024-09-18
1048Argentina2024-08-30
1049Spain2024-09-11

On-Demand Data

NameIdCountryDate
Octavia E Paprocki1000Australia2024-09-03
Greenwood M Dilliard1001Australia2024-09-17
Ricardo F Morasca1002Italy2024-09-09
Johnson F Sergi1003Russia2024-08-25
Greenwood Y Kolmetz1004Japan2024-09-08
Stacey U Saylors1005India2024-09-19
Murillo V Gillian1006Canada2024-09-01
Aika A Maclead1007Canada2024-09-18
Cody O Rim1008Canada2024-09-13
Ricardo A Ferencz1009Brazil2024-09-11
Salvatore U Garufi1010France2024-09-13
Silvio L Venere1011Italy2024-09-02
Mujtaba C Gillian1012India2024-09-14
Costa V Nicka1013Germany2024-09-18
Claire V Ruta1014Italy2024-08-27
Deepesh G Stockham1015Germany2024-08-30
Francesco N Butt1016India2024-09-10
Aika S Iturbide1017Brazil2024-09-04
Chavez G Poquette1018Australia2024-09-21
Greenwood Y Garufi1019Japan2024-09-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar E BriddickFranceBernardo Dominic QUALIFIED
Mayumi F SchemmerRussiaElwin Sharvill PROPOSAL
Chavez D KuskoItalyAsiya Javayant PROPOSAL
Adams F DarakjyIndiaAsiya Javayant UNQUALIFIED
Leon J SergiAustraliaStephen Shaw RENEWAL
Aditya T GlickItalyOnyama Limba QUALIFIED
Leja A GarufiItalyAmy Elsner UNQUALIFIED
Jefferson N GlickGermanyElwin Sharvill UNQUALIFIED
Adams O RutaSpainAsiya Javayant NEGOTIATION
James F OldroydFranceIoni Bowcher QUALIFIED
Isabel X GauchoBrazilXuxue Feng NEGOTIATION
Leja D PaprockiItalyBernardo Dominic PROPOSAL
Jones J GlickRussiaAsiya Javayant PROPOSAL
Ivar B BologniaSpainOnyama Limba RENEWAL
Cody I SchemmerRussiaBernardo Dominic RENEWAL
Wickens N GauchoSpainStephen Shaw NEGOTIATION
Leon O ChuiJapanXuxue Feng NEGOTIATION
Stacey N WaycottGermanyXuxue Feng RENEWAL
Antonio A WaycottJapanElwin Sharvill PROPOSAL
Salvatore B MacleadItalyAnna Fali UNQUALIFIED
Juan S OldroydSpainXuxue Feng UNQUALIFIED
Maria C CampainGermanyAmy Elsner NEGOTIATION
Francesco Y PaprockiBrazilAsiya Javayant NEGOTIATION
Ashley Z RimSpainStephen Shaw RENEWAL
Antonio G RutaRussiaXuxue Feng RENEWAL
Clifford T AlbaresCanadaStephen Shaw UNQUALIFIED
Stacey G ShinkoUnited KingdomBernardo Dominic UNQUALIFIED
Silvio Q DoeIndiaElwin Sharvill UNQUALIFIED
Maria D GillianFranceIvan Magalhaes QUALIFIED
Ashley S KuskoAustraliaOnyama Limba NEGOTIATION
Izzy J CaudyCanadaXuxue Feng NEW
Nicolas U GauchoItalyIvan Magalhaes NEW
Kadeem Y OldroydRussiaOnyama Limba QUALIFIED
Misaki Q FigeroaCanadaElwin Sharvill PROPOSAL
Ricardo J GillianFranceAsiya Javayant RENEWAL
Nicolas P VocelkaBrazilBernardo Dominic PROPOSAL
Ricardo E ButtJapanXuxue Feng NEGOTIATION
Costa N RutaFranceBernardo Dominic RENEWAL
Rodrigues E CampainSpainAnna Fali RENEWAL
Ivar K RimSpainBernardo Dominic NEW

<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>