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
Misaki C RoysterJapanAmy Elsner QUALIFIED
Jennifer Q RutaJapanAnna Fali QUALIFIED
Maria J SchemmerFranceXuxue Feng PROPOSAL
Nicolas E SaylorsItalyBernardo Dominic NEW
Johnson P DarakjyUnited KingdomIoni Bowcher RENEWAL
Mujtaba X KolmetzIndiaAmy Elsner NEW
Adams N BowleyRussiaElwin Sharvill PROPOSAL
Darci J PerinBrazilXuxue Feng UNQUALIFIED
Costa Q RutaFranceAnna Fali PROPOSAL
Julie L RulapaughJapanAmy Elsner PROPOSAL
Mayumi W VocelkaArgentinaAnna Fali RENEWAL
Morrow Y GlickArgentinaAsiya Javayant NEW
Izzy E FerenczFranceElwin Sharvill NEGOTIATION
Ashley W MacleadFranceIvan Magalhaes NEW
Stacey M KuskoRussiaIvan Magalhaes UNQUALIFIED
Mayumi P AlbaresGermanyStephen Shaw NEGOTIATION
Misaki O WieserGermanyIoni Bowcher NEW
Misaki D RimFranceXuxue Feng RENEWAL
Maisha W GlickRussiaAsiya Javayant PROPOSAL
Munro A InouyeCanadaIoni Bowcher NEGOTIATION
James G StockhamAustraliaAsiya Javayant QUALIFIED
Johnson S CampainArgentinaAsiya Javayant UNQUALIFIED
Jennifer Z TollnerJapanStephen Shaw RENEWAL
Tony J IturbideCanadaStephen Shaw RENEWAL
David Q StockhamFranceAsiya Javayant UNQUALIFIED
Aditya J DoeRussiaAmy Elsner UNQUALIFIED
Jeanfrancois K NestleFranceOnyama Limba QUALIFIED
Leja R WhobreyFranceAnna Fali PROPOSAL
Morrow A RulapaughSpainIvan Magalhaes QUALIFIED
Sinclair J SlusarskiUnited KingdomOnyama Limba NEW
Izzy Z RoysterItalyXuxue Feng QUALIFIED
Alejandro A FerenczItalyIvan Magalhaes PROPOSAL
Faith B GlickRussiaElwin Sharvill PROPOSAL
Nicolas D SaylorsIndiaXuxue Feng PROPOSAL
Tony X MacleadGermanyStephen Shaw QUALIFIED
Claire I ChuiSpainOnyama Limba NEW
Ivar L SergiArgentinaBernardo Dominic NEW
Adams Z MorascaUnited KingdomAsiya Javayant QUALIFIED
Aruna T RutaAustraliaAnna Fali RENEWAL
Ricardo N VocelkaUnited KingdomAmy Elsner QUALIFIED
Tony U PaprockiCanadaAsiya Javayant NEW
Nicolas B GlickArgentinaBernardo Dominic NEGOTIATION
Mujtaba F KolmetzRussiaAnna Fali NEGOTIATION
Murillo X AlbaresAustraliaAnna Fali QUALIFIED
Octavia T CaldareraItalyOnyama Limba NEGOTIATION
Arvin T BriddickItalyStephen Shaw QUALIFIED
Ricardo H WieserArgentinaXuxue Feng NEW
Aditya P OldroydJapanElwin Sharvill PROPOSAL
Aruna Z InouyeItalyAnna Fali RENEWAL
Aditya H InouyeBrazilAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Maria A PerinIndiaIoni Bowcher NEW
Darci Y InouyeBrazilAmy Elsner PROPOSAL
Jones E PoquetteJapanIoni Bowcher RENEWAL
Mayumi H GauchoUnited KingdomIoni Bowcher PROPOSAL
Antonio A TollnerSpainBernardo Dominic NEW
Jeanfrancois W PaprockiRussiaXuxue Feng QUALIFIED
Juan C CampainAustraliaBernardo Dominic NEGOTIATION
Octavia Z ShinkoJapanAmy Elsner PROPOSAL
Sinclair V ShinkoArgentinaOnyama Limba RENEWAL
Stacey U ButtJapanXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio C FerenczFrance2024-05-29Feiner Bros QUALIFIED21Amy Elsner
1001Arvin D RimRussia2024-06-18Chemel, James L Cpa PROPOSAL63Asiya Javayant
1002Claire F BriddickUnited Kingdom2024-06-15Printing Dimensions QUALIFIED43Asiya Javayant
1003Jennifer M PoquetteItaly2024-06-11Chemel, James L Cpa PROPOSAL44Xuxue Feng
1004Costa K GlickItaly2024-06-09King, Christopher A Esq NEGOTIATION75Onyama Limba
1005Jefferson X PerinBrazil2024-06-21Benton, John B Jr NEGOTIATION1Elwin Sharvill
1006Deepesh R DarakjyAustralia2024-06-10Feltz Printing Service NEGOTIATION84Xuxue Feng
1007Alejandro N FollerRussia2024-06-18Chanay, Jeffrey A Esq QUALIFIED79Xuxue Feng
1008Isabel W GarufiItaly2024-06-15Chapman, Ross E Esq RENEWAL28Anna Fali
1009Johnson H SaylorsJapan2024-06-10Truhlar And Truhlar Attys RENEWAL1Bernardo Dominic
1010Ricardo F PaprockiAustralia2024-05-27Feltz Printing Service RENEWAL33Ioni Bowcher
1011Ricardo P NickaRussia2024-06-04Chanay, Jeffrey A Esq NEW65Elwin Sharvill
1012Jefferson T MarrierFrance2024-06-05Benton, John B Jr QUALIFIED8Anna Fali
1013Tony R CampainJapan2024-05-31Dorl, James J Esq QUALIFIED67Amy Elsner
1014Emily G VocelkaCanada2024-05-27Benton, John B Jr QUALIFIED81Asiya Javayant
1015David Y IturbideUnited Kingdom2024-06-10Printing Dimensions PROPOSAL67Bernardo Dominic
1016Jeanfrancois T BologniaGermany2024-06-01Dorl, James J Esq NEW41Xuxue Feng
1017Izzy D RutaGermany2024-05-27Feiner Bros RENEWAL65Ivan Magalhaes
1018Alejandro R WieserAustralia2024-05-26Chapman, Ross E Esq QUALIFIED30Bernardo Dominic
1019Leon N NestleFrance2024-06-16King, Christopher A Esq NEW72Onyama Limba
1020Morrow L PoquetteUnited Kingdom2024-06-06King, Christopher A Esq PROPOSAL4Anna Fali
1021James D IturbideSpain2024-06-23King, Christopher A Esq RENEWAL73Xuxue Feng
1022Wickens D CaldareraBrazil2024-05-30Feiner Bros RENEWAL21Xuxue Feng
1023Ricardo Y RutaRussia2024-06-02Dorl, James J Esq UNQUALIFIED29Asiya Javayant
1024Aditya L FerenczUnited Kingdom2024-05-26Buckley Miller Wright RENEWAL75Anna Fali
1025Emily I DilliardArgentina2024-06-20Chapman, Ross E Esq RENEWAL35Anna Fali
1026Clifford M MaletItaly2024-06-09Chapman, Ross E Esq PROPOSAL34Ivan Magalhaes
1027Nicolas L RoysterJapan2024-05-27Feiner Bros NEW10Bernardo Dominic
1028Stacey N PaprockiRussia2024-06-24Chanay, Jeffrey A Esq NEGOTIATION11Stephen Shaw
1029Cody O PaprockiJapan2024-06-12Chapman, Ross E Esq UNQUALIFIED35Amy Elsner
1030Antonio V SlusarskiSpain2024-06-23Printing Dimensions RENEWAL88Ivan Magalhaes
1031Silvio U StensethBrazil2024-06-10Benton, John B Jr NEGOTIATION51Xuxue Feng
1032Ashley A KuskoRussia2024-06-16Dorl, James J Esq QUALIFIED56Onyama Limba
1033Costa F DarakjyRussia2024-05-30Commercial Press NEGOTIATION84Anna Fali
1034Antonio X AmigonCanada2024-05-27Feiner Bros QUALIFIED93Stephen Shaw
1035Rodrigues I WieserJapan2024-06-02Dorl, James J Esq NEW60Bernardo Dominic
1036Deepesh R KolmetzSpain2024-06-21Chanay, Jeffrey A Esq QUALIFIED34Amy Elsner
1037Maria J MaletFrance2024-06-10Morlong Associates UNQUALIFIED84Bernardo Dominic
1038Smith S SergiArgentina2024-06-16Benton, John B Jr NEW6Stephen Shaw
1039Octavia P CaudyGermany2024-05-28Rangoni Of Florence NEGOTIATION49Onyama Limba
1040Jones Z KuskoJapan2024-06-01King, Christopher A Esq UNQUALIFIED63Asiya Javayant
1041Murillo Y MacleadFrance2024-05-30Chanay, Jeffrey A Esq UNQUALIFIED72Ioni Bowcher
1042Costa C NestleArgentina2024-05-29Rousseaux, Michael Esq UNQUALIFIED70Elwin Sharvill
1043Darci E BowleyArgentina2024-06-02Rousseaux, Michael Esq NEW50Bernardo Dominic
1044Chavez V CampainAustralia2024-06-22Rangoni Of Florence QUALIFIED32Asiya Javayant
1045Cody X NickaCanada2024-06-08Dorl, James J Esq NEW86Elwin Sharvill
1046Ricardo M RimItaly2024-06-08Feltz Printing Service NEGOTIATION48Ioni Bowcher
1047Deepesh C PerinRussia2024-06-11King, Christopher A Esq PROPOSAL36Asiya Javayant
1048Johnson W PoquetteFrance2024-06-18Chanay, Jeffrey A Esq NEGOTIATION27Onyama Limba
1049Maisha O CaudyItaly2024-06-10Chanay, Jeffrey A Esq NEW2Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Greenwood I GauchoItalyAnna Fali QUALIFIED
Jefferson E GlickAustraliaStephen Shaw RENEWAL
Cody H BriddickUnited KingdomXuxue Feng NEGOTIATION
Cody X MorascaBrazilElwin Sharvill PROPOSAL
Stacey D MarrierBrazilOnyama Limba PROPOSAL
Misaki Z OstroskyAustraliaOnyama Limba UNQUALIFIED
Jefferson H WhobreyArgentinaOnyama Limba QUALIFIED
Salvatore N PaprockiItalyXuxue Feng QUALIFIED
Isabel G SaylorsAustraliaBernardo Dominic RENEWAL
Murillo F FollerBrazilBernardo Dominic NEGOTIATION
Kaitlin S IturbideArgentinaAsiya Javayant RENEWAL
Antonio S WhobreyArgentinaAmy Elsner QUALIFIED
Munro Z InouyeUnited KingdomAmy Elsner UNQUALIFIED
Wickens B SchemmerSpainOnyama Limba UNQUALIFIED
Octavia A GlickArgentinaAnna Fali NEW
Cody M NickaUnited KingdomBernardo Dominic NEGOTIATION
Leon Q FlosiItalyStephen Shaw NEGOTIATION
Ashley A MaletItalyOnyama Limba QUALIFIED
Ricardo E AmigonCanadaElwin Sharvill RENEWAL
Johnson E PoquetteArgentinaAmy Elsner NEGOTIATION
Maria D SaylorsSpainAmy Elsner NEW
Leja H StensethItalyAsiya Javayant NEGOTIATION
Jones M PoquetteArgentinaOnyama Limba NEW
Salvatore L ShinkoFranceXuxue Feng NEW
Juan T CampainBrazilOnyama Limba QUALIFIED
Clifford N BologniaBrazilStephen Shaw NEGOTIATION
Chavez G VenereSpainElwin Sharvill NEW
Mujtaba H SlusarskiBrazilBernardo Dominic NEGOTIATION
Izzy P StensethAustraliaAsiya Javayant NEW
Leja I TollnerCanadaAnna Fali NEW
Rodrigues A DarakjyItalyIvan Magalhaes NEGOTIATION
Leja O MaletIndiaAnna Fali NEW
Kadeem E ChuiGermanyOnyama Limba NEW
Deepesh K WaycottBrazilAnna Fali QUALIFIED
Isabel K FigeroaUnited KingdomIoni Bowcher RENEWAL
Mujtaba T GlickItalyBernardo Dominic PROPOSAL
Misaki I AmigonRussiaBernardo Dominic QUALIFIED
Greenwood P NickaRussiaStephen Shaw NEGOTIATION
Mayumi E RulapaughGermanyIvan Magalhaes PROPOSAL
Clifford W SchemmerRussiaAsiya Javayant RENEWAL
Isabel V SchemmerIndiaAmy Elsner NEGOTIATION
Juan J MacleadAustraliaAsiya Javayant QUALIFIED
Nicolas S ButtFranceAnna Fali NEGOTIATION
Aika Q RulapaughJapanAnna Fali PROPOSAL
Alejandro Y VocelkaArgentinaBernardo Dominic NEW
Cody R GlickRussiaXuxue Feng RENEWAL
Kadeem S NickaFranceOnyama Limba NEW
Tony N WhobreyJapanStephen Shaw RENEWAL
Jefferson L InouyeIndiaIvan Magalhaes QUALIFIED
James I NickaSpainElwin Sharvill NEGOTIATION
Frozen Columns
Name
Aditya P Shinko
Alejandro V Campain
Ivar O Inouye
Jones U Bowley
Izzy L Malet
Nicolas Q Kolmetz
Smith M Caldarera
Darci P Oldroyd
Emily T Morasca
Nicolas Z Darakjy
Kadeem S Rulapaugh
Ivar K Iturbide
Mujtaba G Flosi
James I Royster
James R Dilliard
Ivar J Venere
Juan S Glick
Kadeem S Tollner
James J Rulapaugh
Isabel X Paprocki
David J Marrier
Francesco B Tollner
Clifford M Briddick
Claire L Ferencz
Wickens E Nicka
Julie V Maclead
Darci H Flosi
Johnson J Bowley
Alejandro P Kolmetz
Mujtaba E Kolmetz
Mayumi A Stockham
Stacey G Saylors
Kadeem I Stockham
Kadeem D Doe
Ivar V Albares
Darci B Foller
Greenwood S Bowley
Murillo G Ruta
Alejandro O Whobrey
David G Sergi
Jones Q Campain
Jennifer A Doe
James D Perin
Mujtaba F Oldroyd
Munro M Maclead
Silvio G Chui
Leja I Caldarera
Emily B Gillian
Costa D Foller
Kaitlin Q Glick
IdCountryDate
1000Italy2024-06-13
1001Australia2024-06-04
1002France2024-05-28
1003France2024-05-30
1004Italy2024-06-05
1005Argentina2024-05-27
1006Argentina2024-06-23
1007Argentina2024-06-21
1008United Kingdom2024-06-14
1009United Kingdom2024-06-06
1010Australia2024-06-09
1011Australia2024-06-09
1012Germany2024-06-19
1013France2024-06-10
1014Argentina2024-06-08
1015Argentina2024-06-11
1016Germany2024-06-07
1017Argentina2024-06-22
1018Argentina2024-06-04
1019United Kingdom2024-06-19
1020Australia2024-06-12
1021Italy2024-06-05
1022United Kingdom2024-05-26
1023Germany2024-05-31
1024Russia2024-06-19
1025Russia2024-06-12
1026Argentina2024-06-17
1027Italy2024-06-20
1028United Kingdom2024-06-05
1029France2024-06-06
1030United Kingdom2024-06-04
1031India2024-06-15
1032Argentina2024-06-18
1033India2024-06-08
1034India2024-05-29
1035Argentina2024-05-30
1036Japan2024-06-17
1037Canada2024-06-15
1038Brazil2024-06-05
1039Spain2024-05-30
1040Germany2024-06-04
1041Brazil2024-05-26
1042Australia2024-06-03
1043Japan2024-05-31
1044Russia2024-05-30
1045India2024-06-09
1046India2024-06-23
1047Spain2024-06-14
1048Russia2024-06-06
1049Argentina2024-06-05

On-Demand Data

NameIdCountryDate
Sinclair T Malet1000Spain2024-05-27
Mujtaba X Malet1001Brazil2024-06-21
Mujtaba L Butt1002India2024-06-19
Silvio B Maclead1003Spain2024-06-12
Mujtaba E Doe1004Germany2024-06-22
Tony P Inouye1005United Kingdom2024-06-08
Jennifer I Shinko1006Brazil2024-06-23
Jennifer B Venere1007Australia2024-06-07
Francesco Q Gaucho1008Russia2024-06-24
Misaki A Albares1009India2024-05-30
Maria F Royster1010United Kingdom2024-05-30
Aika G Saylors1011Japan2024-06-02
Ivar U Vocelka1012Italy2024-06-02
Mayumi W Caudy1013Argentina2024-06-05
Kaitlin I Vocelka1014Italy2024-05-28
Jennifer E Oldroyd1015Canada2024-06-18
Smith W Doe1016Japan2024-06-06
Maisha Q Bolognia1017Spain2024-06-20
Adams J Perin1018Germany2024-06-01
Silvio O Morasca1019Russia2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas Q VenereItalyIoni Bowcher PROPOSAL
Arvin Y GlickUnited KingdomOnyama Limba QUALIFIED
David Z WhobreyUnited KingdomIvan Magalhaes NEW
Greenwood J BriddickCanadaIvan Magalhaes QUALIFIED
Kaitlin Q ShinkoAustraliaXuxue Feng RENEWAL
Greenwood B FigeroaRussiaOnyama Limba RENEWAL
Stacey D PerinSpainAsiya Javayant NEGOTIATION
Jones D RulapaughArgentinaOnyama Limba RENEWAL
Ricardo Z KolmetzRussiaBernardo Dominic UNQUALIFIED
Wickens Q KuskoGermanyAsiya Javayant RENEWAL
Jennifer T DarakjyIndiaOnyama Limba QUALIFIED
Kadeem R FlosiFranceIvan Magalhaes RENEWAL
James A ChuiCanadaElwin Sharvill RENEWAL
Emily E OstroskyIndiaStephen Shaw QUALIFIED
Jones B SchemmerSpainXuxue Feng PROPOSAL
Claire A OstroskyIndiaAnna Fali NEW
Francesco H CaudyRussiaAmy Elsner UNQUALIFIED
Kadeem T MarrierItalyOnyama Limba NEGOTIATION
Jennifer W SergiBrazilXuxue Feng RENEWAL
Alejandro Q GarufiAustraliaElwin Sharvill RENEWAL
Tony B MorascaAustraliaOnyama Limba QUALIFIED
Misaki T SchemmerFranceIoni Bowcher UNQUALIFIED
Leja Q DarakjyFranceStephen Shaw PROPOSAL
Jefferson B FerenczCanadaXuxue Feng QUALIFIED
Ivar R DarakjySpainIoni Bowcher UNQUALIFIED
Tony H MorascaGermanyElwin Sharvill QUALIFIED
Maisha N KolmetzRussiaOnyama Limba UNQUALIFIED
Jones B CampainBrazilAnna Fali RENEWAL
James E AmigonCanadaXuxue Feng RENEWAL
Francesco N MaletUnited KingdomAnna Fali NEGOTIATION
Murillo H GlickCanadaAmy Elsner UNQUALIFIED
Ricardo L MaletBrazilBernardo Dominic PROPOSAL
Juan H ButtCanadaIvan Magalhaes PROPOSAL
Jones T GarufiIndiaElwin Sharvill RENEWAL
Izzy E MaletAustraliaOnyama Limba PROPOSAL
Ricardo E RulapaughUnited KingdomAsiya Javayant NEW
Kaitlin U WieserCanadaAnna Fali NEGOTIATION
Jennifer G FerenczIndiaIoni Bowcher UNQUALIFIED
James R ShinkoAustraliaAmy Elsner PROPOSAL
Johnson I SlusarskiGermanyIvan Magalhaes 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>