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
Greenwood A BowleyIndiaElwin Sharvill QUALIFIED
Tony P SlusarskiArgentinaAmy Elsner PROPOSAL
Juan P PoquetteIndiaXuxue Feng QUALIFIED
Ashley M CaldareraFranceXuxue Feng UNQUALIFIED
David H CaldareraBrazilElwin Sharvill QUALIFIED
James B PaprockiBrazilIoni Bowcher UNQUALIFIED
Antonio Y SlusarskiArgentinaAmy Elsner PROPOSAL
Mayumi D PoquetteJapanBernardo Dominic UNQUALIFIED
Chavez Y MaletSpainXuxue Feng QUALIFIED
Maisha Y FigeroaUnited KingdomIvan Magalhaes UNQUALIFIED
Jeanfrancois L GlickJapanOnyama Limba RENEWAL
Aika K OldroydRussiaIoni Bowcher NEGOTIATION
Stacey Y DarakjyBrazilIvan Magalhaes RENEWAL
Juan F WaycottIndiaElwin Sharvill NEW
Jeanfrancois O GauchoIndiaAmy Elsner NEGOTIATION
Ivar Q DarakjyJapanOnyama Limba NEGOTIATION
Izzy K MaletSpainAnna Fali QUALIFIED
Jeanfrancois X NestleBrazilAnna Fali NEW
Silvio Q MorascaItalyElwin Sharvill RENEWAL
Jeanfrancois P BowleyIndiaOnyama Limba UNQUALIFIED
Smith Z IturbideFranceAnna Fali NEW
Jefferson Z RulapaughSpainOnyama Limba NEGOTIATION
Murillo R ChuiItalyAsiya Javayant NEW
Aditya Z MorascaAustraliaOnyama Limba NEW
Smith T WaycottSpainAnna Fali UNQUALIFIED
Izzy W DilliardArgentinaOnyama Limba RENEWAL
Murillo E RutaRussiaAmy Elsner NEW
Clifford H CaldareraCanadaAsiya Javayant UNQUALIFIED
Munro Y WieserFranceOnyama Limba QUALIFIED
Smith I GarufiAustraliaXuxue Feng UNQUALIFIED
Maria I ButtArgentinaBernardo Dominic UNQUALIFIED
Kadeem W MaletAustraliaAnna Fali QUALIFIED
Leon F RoysterBrazilAnna Fali PROPOSAL
Wickens V PaprockiSpainOnyama Limba RENEWAL
Smith L KuskoJapanAnna Fali NEW
Emily A MaletFranceOnyama Limba QUALIFIED
Arvin P ShinkoItalyAsiya Javayant PROPOSAL
Aruna A TollnerCanadaBernardo Dominic NEGOTIATION
Jeanfrancois U FerenczSpainXuxue Feng NEW
Silvio O PerinUnited KingdomElwin Sharvill RENEWAL
Deepesh B MorascaArgentinaIvan Magalhaes NEW
Kadeem A ChuiIndiaOnyama Limba PROPOSAL
Mayumi R GillianArgentinaStephen Shaw PROPOSAL
Clifford X VocelkaArgentinaOnyama Limba NEW
Izzy T RulapaughArgentinaAmy Elsner NEGOTIATION
Kaitlin S SchemmerFranceStephen Shaw QUALIFIED
Maisha U BologniaArgentinaStephen Shaw RENEWAL
Jeanfrancois L InouyeJapanAsiya Javayant UNQUALIFIED
Morrow M AlbaresUnited KingdomAsiya Javayant RENEWAL
Emily J GarufiUnited KingdomAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Wickens O GillianJapanAmy Elsner NEGOTIATION
Jones N FollerRussiaOnyama Limba NEGOTIATION
Wickens F GauchoSpainElwin Sharvill UNQUALIFIED
Nicolas C VocelkaFranceStephen Shaw NEW
Silvio K WaycottAustraliaAnna Fali QUALIFIED
Julie W CaldareraSpainElwin Sharvill RENEWAL
Morrow X KolmetzAustraliaStephen Shaw PROPOSAL
Francesco Z ChuiBrazilStephen Shaw PROPOSAL
Rodrigues L IturbideUnited KingdomAnna Fali RENEWAL
Izzy Y WaycottIndiaXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio J RimUnited Kingdom2024-05-04Chemel, James L Cpa UNQUALIFIED3Onyama Limba
1001Mujtaba H SergiItaly2024-05-04Feltz Printing Service QUALIFIED9Onyama Limba
1002Maria P FollerSpain2024-05-08Truhlar And Truhlar Attys UNQUALIFIED66Amy Elsner
1003Aditya L GarufiJapan2024-05-22Morlong Associates NEW54Ivan Magalhaes
1004Octavia L CaudyUnited Kingdom2024-05-24Commercial Press RENEWAL13Amy Elsner
1005Clifford G AlbaresFrance2024-05-11Commercial Press UNQUALIFIED8Anna Fali
1006Chavez D CaldareraArgentina2024-04-29Chapman, Ross E Esq NEGOTIATION12Ivan Magalhaes
1007Isabel E FigeroaAustralia2024-05-23Chanay, Jeffrey A Esq QUALIFIED36Ivan Magalhaes
1008Juan Z MaletSpain2024-05-01Buckley Miller Wright QUALIFIED28Ioni Bowcher
1009Faith W BowleyJapan2024-05-07Buckley Miller Wright PROPOSAL84Ioni Bowcher
1010Misaki N MaletFrance2024-05-08Chanay, Jeffrey A Esq UNQUALIFIED4Elwin Sharvill
1011Leja N CampainFrance2024-05-09Morlong Associates NEW63Ioni Bowcher
1012Greenwood C VenereItaly2024-04-27Buckley Miller Wright NEW61Onyama Limba
1013Julie I FlosiRussia2024-04-28Buckley Miller Wright PROPOSAL13Asiya Javayant
1014Antonio R CampainGermany2024-05-16King, Christopher A Esq RENEWAL50Stephen Shaw
1015Jennifer X SergiAustralia2024-05-01Commercial Press QUALIFIED21Anna Fali
1016Antonio R FollerCanada2024-05-07Rousseaux, Michael Esq QUALIFIED20Anna Fali
1017Murillo F FigeroaIndia2024-04-26Chanay, Jeffrey A Esq PROPOSAL97Ioni Bowcher
1018David B VenereJapan2024-05-15Feiner Bros NEGOTIATION82Asiya Javayant
1019Leja L NickaRussia2024-05-19Chapman, Ross E Esq RENEWAL13Amy Elsner
1020Octavia Y GillianRussia2024-05-09Chanay, Jeffrey A Esq RENEWAL54Onyama Limba
1021Octavia F NickaUnited Kingdom2024-05-17King, Christopher A Esq UNQUALIFIED86Bernardo Dominic
1022Greenwood Q ChuiIndia2024-05-05Feltz Printing Service QUALIFIED48Anna Fali
1023Deepesh Z RimSpain2024-05-08Morlong Associates NEGOTIATION76Anna Fali
1024Clifford B MaletFrance2024-05-19Benton, John B Jr RENEWAL13Amy Elsner
1025Wickens Y StockhamUnited Kingdom2024-05-22Rangoni Of Florence RENEWAL84Amy Elsner
1026Alejandro G ShinkoSpain2024-04-30Chemel, James L Cpa RENEWAL41Amy Elsner
1027Jennifer O VenereGermany2024-04-25Printing Dimensions PROPOSAL50Elwin Sharvill
1028David W WhobreyUnited Kingdom2024-05-17Feltz Printing Service NEGOTIATION70Amy Elsner
1029Cody W CampainBrazil2024-05-04Dorl, James J Esq NEGOTIATION5Stephen Shaw
1030Kadeem U CaudyRussia2024-05-16Rangoni Of Florence QUALIFIED77Onyama Limba
1031Deepesh F ShinkoJapan2024-05-17Truhlar And Truhlar Attys PROPOSAL97Anna Fali
1032Claire Z FlosiFrance2024-05-16Benton, John B Jr UNQUALIFIED87Amy Elsner
1033Deepesh F FlosiItaly2024-05-21Morlong Associates RENEWAL34Elwin Sharvill
1034Deepesh P RutaJapan2024-04-29Rousseaux, Michael Esq UNQUALIFIED89Amy Elsner
1035Murillo B VenereCanada2024-04-25Chapman, Ross E Esq NEW47Anna Fali
1036Jennifer Z ButtGermany2024-04-30King, Christopher A Esq RENEWAL87Ivan Magalhaes
1037Leon R ShinkoFrance2024-05-04Commercial Press RENEWAL39Stephen Shaw
1038Claire I MarrierJapan2024-04-27Buckley Miller Wright RENEWAL88Bernardo Dominic
1039Faith M WieserUnited Kingdom2024-04-30Chemel, James L Cpa PROPOSAL48Elwin Sharvill
1040Stacey I DilliardCanada2024-05-07Truhlar And Truhlar Attys NEW38Xuxue Feng
1041Rodrigues O RoysterArgentina2024-05-08Chanay, Jeffrey A Esq NEW66Anna Fali
1042Jennifer S DoeArgentina2024-04-27Truhlar And Truhlar Attys QUALIFIED90Ivan Magalhaes
1043Rodrigues D BologniaBrazil2024-05-13Buckley Miller Wright QUALIFIED91Ioni Bowcher
1044Munro U OldroydArgentina2024-04-27Benton, John B Jr QUALIFIED51Xuxue Feng
1045Jeanfrancois E PerinSpain2024-05-23Buckley Miller Wright UNQUALIFIED77Bernardo Dominic
1046Cody X MorascaFrance2024-05-16Morlong Associates RENEWAL46Ioni Bowcher
1047Julie O VenereRussia2024-05-22King, Christopher A Esq NEGOTIATION66Asiya Javayant
1048Morrow O SergiAustralia2024-04-28Morlong Associates UNQUALIFIED73Asiya Javayant
1049Darci V BowleyCanada2024-05-20Chemel, James L Cpa NEW60Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Emily N VocelkaRussiaAsiya Javayant PROPOSAL
Costa P SaylorsAustraliaElwin Sharvill NEW
Jennifer S WieserCanadaStephen Shaw NEW
Claire D PoquetteIndiaIvan Magalhaes NEGOTIATION
Mujtaba M MaletFranceAmy Elsner NEW
Emily U BriddickUnited KingdomAmy Elsner UNQUALIFIED
Murillo W StensethRussiaAnna Fali RENEWAL
Aditya V GillianCanadaXuxue Feng NEW
Ricardo R BologniaRussiaBernardo Dominic NEW
David Z InouyeBrazilBernardo Dominic NEGOTIATION
Jones K FigeroaArgentinaStephen Shaw PROPOSAL
Chavez Y ButtGermanyIoni Bowcher QUALIFIED
Rodrigues B InouyeRussiaStephen Shaw QUALIFIED
Costa O StockhamItalyIvan Magalhaes NEW
Greenwood P PaprockiIndiaBernardo Dominic RENEWAL
Jeanfrancois U FollerUnited KingdomAnna Fali UNQUALIFIED
Murillo X InouyeArgentinaAmy Elsner PROPOSAL
Faith C IturbideBrazilStephen Shaw NEGOTIATION
Izzy F StockhamCanadaAmy Elsner QUALIFIED
Rodrigues X RimIndiaBernardo Dominic QUALIFIED
Leon V FigeroaJapanElwin Sharvill RENEWAL
Chavez F FlosiUnited KingdomOnyama Limba NEGOTIATION
Francesco D GauchoFranceElwin Sharvill NEGOTIATION
Ivar A RutaGermanyAmy Elsner PROPOSAL
Ashley D MacleadUnited KingdomIvan Magalhaes NEGOTIATION
James C WhobreyArgentinaAsiya Javayant NEW
Arvin K SaylorsUnited KingdomAmy Elsner NEW
Smith K VocelkaItalyAnna Fali PROPOSAL
Emily F TollnerBrazilXuxue Feng RENEWAL
Maisha Z CaudyCanadaElwin Sharvill UNQUALIFIED
Sinclair M VocelkaItalyElwin Sharvill QUALIFIED
Munro Z ChuiGermanyIvan Magalhaes QUALIFIED
Cody Z ShinkoItalyIvan Magalhaes RENEWAL
Jeanfrancois W NestleRussiaBernardo Dominic PROPOSAL
Nicolas S VenereJapanAnna Fali PROPOSAL
Smith N RimGermanyIvan Magalhaes UNQUALIFIED
Arvin L StockhamUnited KingdomOnyama Limba NEW
Misaki O GlickAustraliaIvan Magalhaes PROPOSAL
Ashley C DilliardFranceIvan Magalhaes NEGOTIATION
Leon Q DoeAustraliaIvan Magalhaes NEW
Cody L WaycottIndiaAmy Elsner UNQUALIFIED
Darci V GillianItalyAmy Elsner QUALIFIED
Claire J GlickSpainStephen Shaw RENEWAL
Kadeem P IturbideIndiaOnyama Limba RENEWAL
Aditya E BowleyBrazilOnyama Limba PROPOSAL
Aika S SergiArgentinaBernardo Dominic NEW
Izzy O BowleyItalyOnyama Limba NEGOTIATION
Jefferson F BowleySpainIoni Bowcher QUALIFIED
Francesco C MaletIndiaStephen Shaw PROPOSAL
Aditya Q GlickAustraliaOnyama Limba NEW
Frozen Columns
Name
Isabel M Bowley
Silvio A Chui
Murillo S Wieser
Juan P Gillian
Murillo M Venere
Jeanfrancois V Butt
Leja X Foller
Cody Q Perin
Misaki D Oldroyd
Salvatore G Nicka
Wickens O Briddick
Tony C Malet
Kadeem X Campain
Clifford O Tollner
Darci U Whobrey
Antonio S Saylors
Jeanfrancois G Slusarski
Mayumi J Foller
Mujtaba G Shinko
Aditya U Sergi
Antonio K Inouye
Alejandro A Bolognia
Deepesh C Morasca
Francesco L Caudy
Claire V Kusko
Adams S Maclead
Wickens O Flosi
Deepesh D Caldarera
Jeanfrancois B Maclead
Clifford B Albares
Maria X Glick
Arvin W Flosi
Tony H Stockham
Juan A Bowley
Stacey V Nicka
Stacey T Waycott
Mujtaba D Rim
Faith Z Vocelka
Ricardo K Flosi
Munro P Shinko
Rodrigues V Morasca
Nicolas O Slusarski
Arvin H Poquette
Ricardo O Shinko
Salvatore A Perin
Silvio Q Caudy
Deepesh I Tollner
Faith B Marrier
Leon K Whobrey
Ivar F Stockham
IdCountryDate
1000India2024-04-26
1001Germany2024-05-15
1002Brazil2024-04-29
1003United Kingdom2024-05-05
1004Argentina2024-05-10
1005India2024-04-29
1006Canada2024-04-26
1007Germany2024-05-18
1008Germany2024-05-23
1009Spain2024-05-09
1010Japan2024-05-03
1011Japan2024-05-15
1012Canada2024-05-16
1013India2024-05-24
1014Brazil2024-04-27
1015Spain2024-05-18
1016Italy2024-04-25
1017United Kingdom2024-05-24
1018Brazil2024-05-24
1019Japan2024-05-04
1020Spain2024-05-03
1021Argentina2024-05-02
1022Brazil2024-05-03
1023Russia2024-04-27
1024Spain2024-05-09
1025Russia2024-04-27
1026United Kingdom2024-05-24
1027Germany2024-05-23
1028Brazil2024-04-30
1029Russia2024-05-21
1030France2024-05-17
1031United Kingdom2024-05-05
1032Argentina2024-05-15
1033Argentina2024-05-12
1034France2024-05-24
1035Germany2024-04-25
1036Brazil2024-05-21
1037Brazil2024-05-06
1038Canada2024-05-15
1039Canada2024-05-12
1040Japan2024-05-14
1041Canada2024-05-11
1042Argentina2024-05-02
1043India2024-05-21
1044Canada2024-05-17
1045Germany2024-05-22
1046Russia2024-05-14
1047France2024-05-10
1048Italy2024-05-17
1049Japan2024-05-14

On-Demand Data

NameIdCountryDate
Isabel H Slusarski1000Argentina2024-05-21
Jeanfrancois Y Morasca1001Germany2024-05-11
Rodrigues H Flosi1002India2024-05-18
Morrow J Marrier1003France2024-05-06
Jones K Garufi1004France2024-05-08
Costa N Glick1005Canada2024-05-03
Cody Y Royster1006Japan2024-05-16
James V Stockham1007Italy2024-04-26
Maisha W Maclead1008Canada2024-05-07
Arvin E Butt1009Argentina2024-05-14
James N Schemmer1010Argentina2024-05-16
James I Doe1011Russia2024-05-21
Francesco F Waycott1012Argentina2024-04-30
Jeanfrancois R Paprocki1013Italy2024-05-13
Tony J Gaucho1014Canada2024-04-28
Ricardo C Butt1015Brazil2024-05-15
Octavia F Rim1016Argentina2024-05-14
Francesco L Oldroyd1017France2024-05-17
Aditya A Briddick1018Spain2024-05-18
Emily L Iturbide1019Spain2024-05-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan G PerinUnited KingdomAmy Elsner PROPOSAL
Adams G RulapaughArgentinaOnyama Limba RENEWAL
Arvin Q CaldareraItalyIvan Magalhaes NEW
Chavez H FlosiIndiaAmy Elsner UNQUALIFIED
Octavia P SchemmerBrazilAmy Elsner PROPOSAL
Mujtaba V PerinBrazilBernardo Dominic NEW
Maria N ShinkoJapanStephen Shaw QUALIFIED
Adams G RutaAustraliaOnyama Limba NEW
Chavez S GauchoGermanyStephen Shaw NEGOTIATION
Rodrigues B AlbaresSpainAsiya Javayant NEGOTIATION
Isabel I OstroskyItalyXuxue Feng PROPOSAL
Jeanfrancois P SaylorsItalyBernardo Dominic UNQUALIFIED
Wickens W WieserItalyStephen Shaw NEGOTIATION
Leon R SaylorsJapanIoni Bowcher NEGOTIATION
Octavia X DarakjyJapanAsiya Javayant UNQUALIFIED
Julie F VocelkaCanadaOnyama Limba PROPOSAL
Leja W OldroydGermanyIoni Bowcher QUALIFIED
Morrow T MaletBrazilAnna Fali NEGOTIATION
Smith Q PerinArgentinaAsiya Javayant RENEWAL
Deepesh C PaprockiIndiaAmy Elsner NEW
Emily W FerenczItalyAnna Fali NEW
Silvio L CampainJapanXuxue Feng NEGOTIATION
Silvio U SergiFranceAsiya Javayant UNQUALIFIED
Claire X RulapaughItalyStephen Shaw UNQUALIFIED
Kaitlin B RutaArgentinaXuxue Feng RENEWAL
Jones L BowleyRussiaBernardo Dominic NEGOTIATION
Jefferson Q DarakjyRussiaStephen Shaw RENEWAL
Deepesh Z SchemmerFranceOnyama Limba PROPOSAL
Munro O ButtBrazilAsiya Javayant RENEWAL
Misaki D DarakjyFranceAnna Fali UNQUALIFIED
Rodrigues F VenereItalyIvan Magalhaes UNQUALIFIED
Kaitlin Y GlickBrazilOnyama Limba RENEWAL
Misaki J GauchoUnited KingdomElwin Sharvill NEW
Stacey N KolmetzUnited KingdomXuxue Feng PROPOSAL
Francesco V TollnerItalyIvan Magalhaes NEGOTIATION
Nicolas T FigeroaArgentinaBernardo Dominic UNQUALIFIED
Munro U FigeroaJapanIoni Bowcher NEGOTIATION
Greenwood G StockhamCanadaIvan Magalhaes PROPOSAL
Octavia R DarakjyItalyElwin Sharvill NEW
Greenwood W FollerCanadaXuxue Feng RENEWAL

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