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
Maisha D OldroydJapanElwin Sharvill RENEWAL
Aika K FlosiAustraliaAsiya Javayant RENEWAL
Jennifer N AlbaresItalyXuxue Feng QUALIFIED
Clifford Y FollerCanadaElwin Sharvill PROPOSAL
Jennifer K DilliardCanadaBernardo Dominic NEW
Leon E AlbaresAustraliaIvan Magalhaes NEGOTIATION
Ivar G KolmetzAustraliaElwin Sharvill PROPOSAL
Munro V OstroskyIndiaAnna Fali QUALIFIED
Mujtaba O MaletItalyIoni Bowcher RENEWAL
Greenwood H PaprockiSpainElwin Sharvill QUALIFIED
Sinclair F AmigonItalyElwin Sharvill NEGOTIATION
Misaki V WieserAustraliaBernardo Dominic UNQUALIFIED
Jennifer N WieserItalyOnyama Limba PROPOSAL
Maria S SergiGermanyIoni Bowcher RENEWAL
Misaki F PoquetteAustraliaXuxue Feng NEW
Isabel Y VocelkaFranceOnyama Limba QUALIFIED
Ashley U VocelkaUnited KingdomAmy Elsner NEGOTIATION
Wickens T ButtSpainIvan Magalhaes UNQUALIFIED
Greenwood H OldroydGermanyAmy Elsner RENEWAL
Jefferson I BowleyUnited KingdomBernardo Dominic NEW
Munro T FlosiBrazilAsiya Javayant NEW
Mayumi U SaylorsIndiaElwin Sharvill NEGOTIATION
Jefferson R PerinItalyStephen Shaw PROPOSAL
Ivar T FigeroaIndiaBernardo Dominic RENEWAL
Izzy Q OstroskyBrazilAnna Fali NEW
Costa D FigeroaItalyAnna Fali NEW
Murillo X AlbaresBrazilElwin Sharvill QUALIFIED
Mujtaba T KuskoIndiaAsiya Javayant PROPOSAL
Maisha G CaudyCanadaOnyama Limba NEW
Izzy Y VocelkaBrazilStephen Shaw PROPOSAL
Claire V WieserArgentinaIoni Bowcher UNQUALIFIED
Morrow J WieserArgentinaAnna Fali NEGOTIATION
Rodrigues G SergiBrazilStephen Shaw NEGOTIATION
Stacey W GauchoSpainElwin Sharvill NEGOTIATION
Stacey U InouyeItalyXuxue Feng UNQUALIFIED
Maisha T BowleySpainAnna Fali PROPOSAL
Clifford Z PerinArgentinaOnyama Limba QUALIFIED
Arvin I CaudyJapanAmy Elsner NEGOTIATION
Smith K CaldareraJapanElwin Sharvill UNQUALIFIED
Emily V DilliardArgentinaXuxue Feng UNQUALIFIED
Maria H MaletItalyAmy Elsner NEW
Octavia D RimGermanyXuxue Feng NEGOTIATION
Smith I MacleadJapanIoni Bowcher QUALIFIED
Faith U ChuiBrazilXuxue Feng NEW
Tony M KolmetzGermanyStephen Shaw NEGOTIATION
Nicolas I FerenczSpainElwin Sharvill PROPOSAL
Mayumi M AlbaresAustraliaOnyama Limba QUALIFIED
Stacey Q RoysterRussiaOnyama Limba NEW
Kadeem T ButtRussiaXuxue Feng QUALIFIED
Smith R FollerGermanyIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Claire F FigeroaSpainAsiya Javayant NEGOTIATION
Nicolas H RulapaughJapanElwin Sharvill UNQUALIFIED
Wickens R CaudyBrazilElwin Sharvill NEW
Aruna L DoeCanadaAsiya Javayant RENEWAL
Costa G TollnerGermanyBernardo Dominic UNQUALIFIED
Tony U AlbaresUnited KingdomIoni Bowcher NEGOTIATION
Julie Z KuskoRussiaIoni Bowcher NEW
Clifford M GauchoArgentinaIoni Bowcher NEGOTIATION
Nicolas M SaylorsSpainIvan Magalhaes NEGOTIATION
Darci M SergiFranceBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow F DilliardGermany2024-06-09Printing Dimensions RENEWAL54Ioni Bowcher
1001Nicolas M BriddickIndia2024-06-13Benton, John B Jr QUALIFIED0Ioni Bowcher
1002Aika I WieserGermany2024-06-15Chemel, James L Cpa NEGOTIATION45Xuxue Feng
1003Aika H CaldareraJapan2024-06-02Dorl, James J Esq NEW25Anna Fali
1004Emily G FigeroaFrance2024-06-09Feltz Printing Service UNQUALIFIED27Stephen Shaw
1005Emily W KuskoAustralia2024-05-28Dorl, James J Esq QUALIFIED23Amy Elsner
1006Tony D InouyeIndia2024-06-23Commercial Press PROPOSAL14Elwin Sharvill
1007Salvatore J PerinArgentina2024-06-10Rangoni Of Florence PROPOSAL68Asiya Javayant
1008Adams R ButtJapan2024-06-16King, Christopher A Esq NEGOTIATION9Bernardo Dominic
1009Rodrigues M InouyeBrazil2024-06-01Benton, John B Jr NEGOTIATION76Xuxue Feng
1010Clifford G GauchoArgentina2024-06-07Rousseaux, Michael Esq PROPOSAL38Asiya Javayant
1011Clifford E ChuiSpain2024-06-22Chemel, James L Cpa QUALIFIED65Asiya Javayant
1012Ricardo X CaldareraAustralia2024-06-23Buckley Miller Wright PROPOSAL65Amy Elsner
1013Kadeem X WaycottGermany2024-05-27Morlong Associates QUALIFIED34Bernardo Dominic
1014Jones Y NestleItaly2024-06-05Printing Dimensions RENEWAL34Bernardo Dominic
1015Ricardo Q SergiArgentina2024-06-10Feiner Bros QUALIFIED35Xuxue Feng
1016Jennifer S StockhamAustralia2024-06-13Chanay, Jeffrey A Esq QUALIFIED45Xuxue Feng
1017Jeanfrancois J RoysterIndia2024-05-27Benton, John B Jr NEW39Stephen Shaw
1018Darci A DarakjyIndia2024-06-23Feltz Printing Service NEW12Ioni Bowcher
1019Greenwood K RutaGermany2024-06-21Truhlar And Truhlar Attys PROPOSAL32Bernardo Dominic
1020Aruna P MacleadIndia2024-06-11Chanay, Jeffrey A Esq NEGOTIATION44Asiya Javayant
1021Johnson C MaletFrance2024-05-30Benton, John B Jr PROPOSAL90Anna Fali
1022Isabel S GlickCanada2024-05-29Feltz Printing Service NEW92Ioni Bowcher
1023Wickens I IturbideAustralia2024-05-28Rangoni Of Florence NEGOTIATION17Asiya Javayant
1024Costa V CaudyFrance2024-06-15Chanay, Jeffrey A Esq UNQUALIFIED45Ioni Bowcher
1025Kaitlin J VocelkaItaly2024-06-18Chanay, Jeffrey A Esq NEGOTIATION82Amy Elsner
1026Johnson Q AmigonBrazil2024-05-28Printing Dimensions NEW49Ioni Bowcher
1027Costa F SergiBrazil2024-06-23King, Christopher A Esq NEW21Amy Elsner
1028Misaki E SchemmerSpain2024-06-04Rousseaux, Michael Esq RENEWAL83Bernardo Dominic
1029Clifford X DarakjyCanada2024-05-29King, Christopher A Esq RENEWAL78Elwin Sharvill
1030Julie P AlbaresSpain2024-06-04Truhlar And Truhlar Attys UNQUALIFIED60Elwin Sharvill
1031Greenwood H FerenczAustralia2024-06-14Feiner Bros QUALIFIED56Amy Elsner
1032Greenwood U SergiItaly2024-06-04Chemel, James L Cpa NEW34Asiya Javayant
1033Maisha A MacleadRussia2024-06-15Truhlar And Truhlar Attys NEW74Ivan Magalhaes
1034Claire N KuskoUnited Kingdom2024-05-29Benton, John B Jr RENEWAL17Elwin Sharvill
1035Cody Q CaldareraRussia2024-06-18Chemel, James L Cpa NEW39Elwin Sharvill
1036Murillo K VocelkaArgentina2024-06-06Printing Dimensions NEW20Bernardo Dominic
1037Deepesh L PoquetteAustralia2024-06-06Benton, John B Jr PROPOSAL28Onyama Limba
1038Maria W FigeroaArgentina2024-05-28Chapman, Ross E Esq PROPOSAL43Anna Fali
1039Morrow A NestleAustralia2024-06-23Rousseaux, Michael Esq UNQUALIFIED49Bernardo Dominic
1040Juan M RulapaughAustralia2024-06-05Rousseaux, Michael Esq QUALIFIED99Stephen Shaw
1041Munro Z WaycottArgentina2024-05-31Dorl, James J Esq RENEWAL32Xuxue Feng
1042Stacey F CampainJapan2024-06-17Feltz Printing Service PROPOSAL53Ivan Magalhaes
1043Julie K NestleSpain2024-06-15Truhlar And Truhlar Attys RENEWAL37Onyama Limba
1044Maisha J KolmetzAustralia2024-06-24Rangoni Of Florence NEW65Ivan Magalhaes
1045Faith U CampainAustralia2024-06-10Rangoni Of Florence QUALIFIED74Anna Fali
1046Sinclair X StensethFrance2024-06-03Buckley Miller Wright UNQUALIFIED66Bernardo Dominic
1047Mayumi R VenereSpain2024-05-29Rangoni Of Florence RENEWAL43Amy Elsner
1048Deepesh C ShinkoAustralia2024-06-23Feltz Printing Service PROPOSAL29Xuxue Feng
1049Mayumi Z FerenczIndia2024-06-01King, Christopher A Esq NEGOTIATION2Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Salvatore K AlbaresRussiaElwin Sharvill NEGOTIATION
Maisha D RutaBrazilIvan Magalhaes NEGOTIATION
Kadeem K ShinkoIndiaAmy Elsner QUALIFIED
Mujtaba S MaletArgentinaXuxue Feng NEW
Tony X NickaFranceAsiya Javayant UNQUALIFIED
Faith J KuskoRussiaIvan Magalhaes RENEWAL
Leja F MaletArgentinaAnna Fali NEGOTIATION
Isabel J FlosiCanadaIvan Magalhaes RENEWAL
Juan B MorascaBrazilAsiya Javayant PROPOSAL
Morrow X TollnerBrazilAsiya Javayant PROPOSAL
Juan Y BriddickItalyElwin Sharvill NEW
Adams W MaletFranceElwin Sharvill NEGOTIATION
Leon E AmigonIndiaIvan Magalhaes QUALIFIED
Salvatore L GarufiItalyElwin Sharvill QUALIFIED
Julie R FollerSpainIvan Magalhaes RENEWAL
Greenwood J ShinkoBrazilAsiya Javayant RENEWAL
Leja A WhobreyItalyOnyama Limba QUALIFIED
Darci D MacleadBrazilAnna Fali QUALIFIED
Maisha E MorascaUnited KingdomXuxue Feng RENEWAL
Tony C OldroydIndiaXuxue Feng UNQUALIFIED
Ashley I FlosiUnited KingdomElwin Sharvill RENEWAL
Johnson Y KuskoUnited KingdomIoni Bowcher RENEWAL
Johnson B VocelkaUnited KingdomIoni Bowcher NEGOTIATION
Aruna U BowleyAustraliaAnna Fali QUALIFIED
Izzy A IturbideJapanOnyama Limba RENEWAL
Ashley T ShinkoUnited KingdomAnna Fali QUALIFIED
Aditya D SergiJapanAmy Elsner RENEWAL
Greenwood P ButtRussiaIoni Bowcher NEW
Greenwood F DoeCanadaElwin Sharvill PROPOSAL
Aditya U SchemmerRussiaIoni Bowcher QUALIFIED
Chavez X RoysterArgentinaOnyama Limba UNQUALIFIED
Faith Z VocelkaJapanAnna Fali RENEWAL
Jeanfrancois D DoeCanadaIoni Bowcher NEGOTIATION
Morrow C NestleFranceOnyama Limba UNQUALIFIED
Greenwood J TollnerAustraliaBernardo Dominic UNQUALIFIED
Aruna H GlickUnited KingdomAsiya Javayant NEW
Aruna Z GillianFranceStephen Shaw NEW
Izzy M CampainArgentinaAmy Elsner QUALIFIED
Leja B AlbaresCanadaStephen Shaw RENEWAL
Misaki H StockhamFranceOnyama Limba NEGOTIATION
Morrow A GauchoUnited KingdomIvan Magalhaes NEGOTIATION
Isabel E CampainUnited KingdomAsiya Javayant NEGOTIATION
Leja J OldroydSpainElwin Sharvill NEGOTIATION
Munro V BologniaArgentinaAsiya Javayant PROPOSAL
Deepesh Y MaletItalyXuxue Feng NEGOTIATION
Octavia Z SergiCanadaStephen Shaw RENEWAL
Jennifer X SergiSpainIvan Magalhaes NEGOTIATION
Juan H RutaJapanAsiya Javayant RENEWAL
Tony O FollerGermanyStephen Shaw QUALIFIED
Munro O GlickIndiaStephen Shaw RENEWAL
Frozen Columns
Name
Deepesh I Stenseth
Maisha U Ruta
Aditya W Malet
Kaitlin Z Malet
Aditya I Briddick
Tony I Saylors
James K Briddick
Misaki E Tollner
Tony N Malet
Jennifer Q Perin
Silvio C Paprocki
Leon K Butt
Smith M Figeroa
Darci M Flosi
Stacey E Malet
Wickens W Royster
Nicolas A Rulapaugh
Claire B Shinko
Juan M Amigon
Leja E Marrier
Mayumi C Glick
David H Amigon
Leja I Wieser
Smith R Nicka
Izzy P Campain
Tony L Kolmetz
Misaki V Iturbide
Chavez X Gaucho
Stacey H Morasca
Maisha D Nestle
Ricardo P Glick
Aika G Rim
Johnson W Nicka
Johnson V Paprocki
Stacey A Kusko
Munro A Bowley
Ashley T Malet
Kadeem E Wieser
Alejandro I Iturbide
Chavez R Dilliard
Costa V Perin
Aditya X Slusarski
Tony U Paprocki
Maria K Schemmer
Johnson I Royster
Cody K Bowley
Tony B Rulapaugh
Mayumi F Campain
Claire Q Flosi
Rodrigues T Maclead
IdCountryDate
1000Germany2024-06-15
1001Argentina2024-06-01
1002Brazil2024-06-04
1003India2024-06-14
1004Italy2024-06-17
1005United Kingdom2024-06-06
1006India2024-06-01
1007Brazil2024-06-17
1008Canada2024-06-02
1009Italy2024-06-07
1010France2024-05-31
1011France2024-06-13
1012France2024-06-07
1013Russia2024-06-05
1014France2024-06-06
1015Brazil2024-06-05
1016Japan2024-05-27
1017United Kingdom2024-06-01
1018Australia2024-06-05
1019Brazil2024-06-01
1020Canada2024-06-20
1021Spain2024-06-18
1022France2024-05-27
1023United Kingdom2024-06-19
1024Italy2024-06-08
1025France2024-05-29
1026Italy2024-06-05
1027Argentina2024-06-21
1028Russia2024-05-30
1029Germany2024-06-02
1030Brazil2024-06-09
1031Spain2024-06-13
1032France2024-06-14
1033Argentina2024-06-18
1034Canada2024-06-19
1035Japan2024-05-27
1036Canada2024-06-11
1037Italy2024-06-19
1038France2024-06-04
1039France2024-06-24
1040Argentina2024-06-22
1041Australia2024-06-02
1042India2024-06-03
1043India2024-06-12
1044India2024-06-01
1045Japan2024-06-19
1046Australia2024-06-06
1047Russia2024-06-10
1048United Kingdom2024-06-11
1049Australia2024-06-10

On-Demand Data

NameIdCountryDate
Misaki D Garufi1000United Kingdom2024-06-23
Sinclair F Oldroyd1001India2024-05-31
David P Flosi1002Brazil2024-05-29
Ricardo V Briddick1003Japan2024-06-06
Munro S Ruta1004Spain2024-06-05
Juan G Gaucho1005Canada2024-06-13
Leja J Whobrey1006India2024-06-23
James U Wieser1007Spain2024-06-23
Jefferson Z Bowley1008India2024-06-12
David W Nestle1009Canada2024-06-23
Jefferson T Stenseth1010Brazil2024-06-08
Jennifer F Foller1011Brazil2024-06-18
Leja P Stenseth1012United Kingdom2024-05-26
Morrow I Waycott1013Germany2024-06-10
Munro K Butt1014Japan2024-06-22
Tony Q Garufi1015Canada2024-06-07
Darci K Poquette1016Brazil2024-06-20
Ashley J Doe1017Italy2024-06-15
Izzy K Paprocki1018India2024-06-23
Isabel B Bowley1019Argentina2024-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey V MacleadUnited KingdomIvan Magalhaes RENEWAL
Julie E VenereAustraliaStephen Shaw PROPOSAL
Kaitlin A DoeBrazilElwin Sharvill RENEWAL
Leja M GauchoIndiaStephen Shaw UNQUALIFIED
Murillo Y SaylorsUnited KingdomStephen Shaw QUALIFIED
Silvio L AlbaresItalyBernardo Dominic QUALIFIED
Chavez V DoeUnited KingdomXuxue Feng NEGOTIATION
Adams L FlosiGermanyBernardo Dominic PROPOSAL
Rodrigues F TollnerAustraliaAmy Elsner NEW
Tony Z MarrierUnited KingdomOnyama Limba QUALIFIED
Johnson M WhobreyIndiaAnna Fali QUALIFIED
Aika B MacleadArgentinaIvan Magalhaes QUALIFIED
Nicolas W SchemmerGermanyBernardo Dominic NEGOTIATION
Munro S GillianAustraliaBernardo Dominic NEGOTIATION
Munro R PaprockiUnited KingdomAsiya Javayant RENEWAL
Leon D PaprockiBrazilIvan Magalhaes QUALIFIED
Jones T NestleJapanElwin Sharvill UNQUALIFIED
Deepesh N MarrierGermanyAsiya Javayant NEW
Faith L DilliardUnited KingdomXuxue Feng PROPOSAL
Julie V AlbaresUnited KingdomBernardo Dominic NEGOTIATION
Julie W RoysterUnited KingdomElwin Sharvill PROPOSAL
Costa L InouyeAustraliaAnna Fali NEGOTIATION
Izzy C InouyeItalyXuxue Feng UNQUALIFIED
Octavia K SchemmerBrazilAmy Elsner NEGOTIATION
Sinclair D StensethArgentinaStephen Shaw QUALIFIED
Cody M OstroskyItalyStephen Shaw NEW
David G StensethArgentinaXuxue Feng RENEWAL
Wickens D StensethCanadaAnna Fali UNQUALIFIED
Ivar Q PoquetteBrazilXuxue Feng UNQUALIFIED
Murillo X DoeGermanyStephen Shaw UNQUALIFIED
Sinclair R SchemmerIndiaAnna Fali NEW
Morrow F FlosiItalyAsiya Javayant NEW
Tony W MaletArgentinaBernardo Dominic QUALIFIED
Jefferson M RoysterSpainAnna Fali QUALIFIED
Darci E RulapaughItalyElwin Sharvill NEW
Kadeem H DilliardUnited KingdomXuxue Feng PROPOSAL
Salvatore I SlusarskiAustraliaIoni Bowcher QUALIFIED
Ricardo Z KolmetzGermanyIvan Magalhaes NEGOTIATION
Morrow Y CaldareraBrazilBernardo Dominic UNQUALIFIED
Jeanfrancois O MaletAustraliaIvan Magalhaes UNQUALIFIED

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