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
Mayumi D GauchoRussiaBernardo Dominic UNQUALIFIED
Misaki R DilliardIndiaAsiya Javayant UNQUALIFIED
Izzy J ShinkoSpainElwin Sharvill UNQUALIFIED
Aditya K OldroydIndiaIvan Magalhaes UNQUALIFIED
Ivar T RutaIndiaBernardo Dominic PROPOSAL
Juan E BologniaJapanElwin Sharvill UNQUALIFIED
Morrow S CaldareraSpainIvan Magalhaes NEW
Antonio G CaudyBrazilAmy Elsner RENEWAL
Murillo V DilliardIndiaIoni Bowcher UNQUALIFIED
Adams Q SchemmerSpainAsiya Javayant UNQUALIFIED
Isabel R GillianItalyAmy Elsner RENEWAL
Chavez Y DoeCanadaAsiya Javayant RENEWAL
Mayumi N StensethItalyStephen Shaw UNQUALIFIED
Mayumi K MaletGermanyAnna Fali RENEWAL
Smith M BriddickCanadaOnyama Limba UNQUALIFIED
Jeanfrancois U FollerCanadaAnna Fali PROPOSAL
Wickens B VenereRussiaBernardo Dominic PROPOSAL
Aruna O GauchoIndiaIoni Bowcher NEW
Costa B KolmetzJapanElwin Sharvill UNQUALIFIED
Nicolas E DilliardGermanyIoni Bowcher QUALIFIED
Aruna Z MacleadCanadaBernardo Dominic RENEWAL
James R PerinJapanIoni Bowcher RENEWAL
Arvin L NestleCanadaElwin Sharvill PROPOSAL
Claire J ShinkoFranceXuxue Feng UNQUALIFIED
Wickens R PaprockiArgentinaIoni Bowcher NEW
Arvin L IturbideIndiaAsiya Javayant UNQUALIFIED
Jennifer J FigeroaItalyOnyama Limba RENEWAL
Nicolas P KuskoSpainXuxue Feng PROPOSAL
Isabel X GillianRussiaOnyama Limba NEGOTIATION
Antonio V ButtUnited KingdomIvan Magalhaes QUALIFIED
Leja F KuskoItalyIoni Bowcher NEW
Julie C CampainAustraliaElwin Sharvill NEW
Leon G FerenczSpainIvan Magalhaes RENEWAL
James M VocelkaSpainXuxue Feng NEGOTIATION
Maria G CampainGermanyIoni Bowcher PROPOSAL
Wickens K MaletFranceElwin Sharvill UNQUALIFIED
Alejandro V CaldareraBrazilXuxue Feng UNQUALIFIED
Jennifer T WieserCanadaAmy Elsner NEW
Jones R GauchoJapanIoni Bowcher NEGOTIATION
Tony N IturbideAustraliaAsiya Javayant NEGOTIATION
Mujtaba H OstroskyRussiaIoni Bowcher NEW
Munro P DoeSpainOnyama Limba QUALIFIED
Mujtaba M TollnerItalyAmy Elsner NEGOTIATION
Tony T FlosiFranceStephen Shaw NEW
Leja P KolmetzFranceAnna Fali NEGOTIATION
Jeanfrancois Z ChuiArgentinaOnyama Limba QUALIFIED
Deepesh X RoysterSpainAnna Fali NEW
Aditya W CaldareraFranceIoni Bowcher NEW
Jeanfrancois U WieserUnited KingdomAsiya Javayant PROPOSAL
Aika A CaldareraSpainIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Faith D CaldareraSpainBernardo Dominic QUALIFIED
Clifford B RimFranceIoni Bowcher PROPOSAL
Chavez S DilliardFranceIoni Bowcher NEW
Kadeem D RimBrazilIvan Magalhaes UNQUALIFIED
Kadeem R SchemmerRussiaOnyama Limba PROPOSAL
Ivar R VocelkaBrazilAmy Elsner NEW
Mujtaba C ShinkoArgentinaAsiya Javayant NEW
Morrow O KolmetzFranceAnna Fali QUALIFIED
Misaki M MaletFranceXuxue Feng NEGOTIATION
Costa L IturbideBrazilOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha Q SchemmerAustralia2024-09-10Feltz Printing Service RENEWAL0Anna Fali
1001Izzy K RulapaughRussia2024-08-27Benton, John B Jr QUALIFIED47Amy Elsner
1002Morrow B FerenczGermany2024-09-08Buckley Miller Wright NEW32Ivan Magalhaes
1003Leon D FlosiBrazil2024-09-09Rangoni Of Florence UNQUALIFIED14Ivan Magalhaes
1004Greenwood Q IturbideIndia2024-09-12Chemel, James L Cpa RENEWAL76Ioni Bowcher
1005Maria R ChuiItaly2024-08-26Benton, John B Jr UNQUALIFIED42Onyama Limba
1006Aika E ButtJapan2024-09-01Printing Dimensions QUALIFIED68Stephen Shaw
1007David R PaprockiCanada2024-09-01Benton, John B Jr UNQUALIFIED32Xuxue Feng
1008Tony K GauchoUnited Kingdom2024-09-09Feiner Bros QUALIFIED60Amy Elsner
1009Faith M BriddickBrazil2024-09-08Morlong Associates PROPOSAL8Anna Fali
1010Emily H ShinkoItaly2024-09-14Chanay, Jeffrey A Esq PROPOSAL2Onyama Limba
1011James F SaylorsArgentina2024-09-05Chemel, James L Cpa UNQUALIFIED11Onyama Limba
1012Adams F GarufiItaly2024-08-27Feltz Printing Service NEW44Elwin Sharvill
1013Isabel M KuskoRussia2024-09-23Buckley Miller Wright NEGOTIATION66Ioni Bowcher
1014Mujtaba Z DoeItaly2024-09-23Feltz Printing Service NEGOTIATION80Bernardo Dominic
1015Arvin S CampainArgentina2024-09-18Rousseaux, Michael Esq PROPOSAL26Ivan Magalhaes
1016Sinclair H SlusarskiGermany2024-09-05Buckley Miller Wright NEGOTIATION84Amy Elsner
1017Leon J FlosiAustralia2024-09-02Buckley Miller Wright PROPOSAL16Stephen Shaw
1018Deepesh B DarakjyFrance2024-09-16Feiner Bros NEGOTIATION55Onyama Limba
1019Stacey D KolmetzBrazil2024-08-29King, Christopher A Esq RENEWAL13Ioni Bowcher
1020Clifford E StensethFrance2024-09-02Feiner Bros UNQUALIFIED61Onyama Limba
1021Rodrigues H CaudyItaly2024-09-02Feiner Bros NEGOTIATION59Onyama Limba
1022Aika F SaylorsUnited Kingdom2024-09-22Chemel, James L Cpa PROPOSAL99Ivan Magalhaes
1023Murillo X CaudyJapan2024-09-19Truhlar And Truhlar Attys QUALIFIED82Stephen Shaw
1024Johnson M KolmetzJapan2024-09-14Feltz Printing Service RENEWAL6Bernardo Dominic
1025Antonio X DoeFrance2024-09-16Chemel, James L Cpa RENEWAL71Stephen Shaw
1026Greenwood K WhobreyCanada2024-08-26Chapman, Ross E Esq UNQUALIFIED49Ivan Magalhaes
1027Jeanfrancois Y MacleadUnited Kingdom2024-09-05Rousseaux, Michael Esq NEGOTIATION31Elwin Sharvill
1028Juan C SchemmerBrazil2024-08-31Buckley Miller Wright RENEWAL18Stephen Shaw
1029Johnson S FlosiJapan2024-08-27Feltz Printing Service NEGOTIATION29Onyama Limba
1030Johnson T ShinkoFrance2024-08-30Dorl, James J Esq NEGOTIATION14Elwin Sharvill
1031Leon G RulapaughBrazil2024-09-23Chapman, Ross E Esq UNQUALIFIED76Asiya Javayant
1032Cody G AmigonBrazil2024-09-22Feiner Bros NEW71Xuxue Feng
1033Francesco G AlbaresCanada2024-09-22Morlong Associates PROPOSAL16Elwin Sharvill
1034Mayumi W RulapaughCanada2024-09-19Truhlar And Truhlar Attys NEGOTIATION51Asiya Javayant
1035Salvatore I RutaBrazil2024-09-02Feiner Bros UNQUALIFIED51Xuxue Feng
1036Francesco V KolmetzFrance2024-08-28Morlong Associates RENEWAL81Onyama Limba
1037Ivar E ChuiSpain2024-08-28Printing Dimensions NEW99Ioni Bowcher
1038Clifford Q OstroskyIndia2024-09-14Feiner Bros NEGOTIATION7Stephen Shaw
1039Tony Z GlickItaly2024-09-14Chanay, Jeffrey A Esq NEGOTIATION84Anna Fali
1040Isabel S MorascaAustralia2024-09-20Rousseaux, Michael Esq RENEWAL80Elwin Sharvill
1041Antonio A CaldareraAustralia2024-09-17King, Christopher A Esq QUALIFIED50Xuxue Feng
1042Ricardo M MaletItaly2024-08-25Feiner Bros RENEWAL53Xuxue Feng
1043Faith G BologniaGermany2024-09-15Rangoni Of Florence PROPOSAL91Stephen Shaw
1044Ashley U NickaFrance2024-09-10Chanay, Jeffrey A Esq PROPOSAL5Amy Elsner
1045Jeanfrancois A DoeFrance2024-09-17Commercial Press QUALIFIED26Asiya Javayant
1046Alejandro I OstroskyArgentina2024-09-13Chapman, Ross E Esq NEW7Elwin Sharvill
1047Arvin S WhobreyBrazil2024-08-27Dorl, James J Esq NEW35Amy Elsner
1048Jones J SchemmerRussia2024-09-04Truhlar And Truhlar Attys UNQUALIFIED76Stephen Shaw
1049Cody C KuskoArgentina2024-09-11King, Christopher A Esq PROPOSAL63Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Wickens V DilliardFranceAmy Elsner QUALIFIED
Ricardo Z CampainGermanyAsiya Javayant NEW
Tony O ButtCanadaIoni Bowcher UNQUALIFIED
Misaki Z CaudyItalyAsiya Javayant NEW
Jones X SchemmerCanadaElwin Sharvill NEW
Darci T VenereJapanAsiya Javayant NEGOTIATION
Clifford X FerenczUnited KingdomAsiya Javayant PROPOSAL
Jennifer K RoysterAustraliaAmy Elsner RENEWAL
Leon L RoysterJapanStephen Shaw QUALIFIED
Smith T TollnerCanadaOnyama Limba UNQUALIFIED
Silvio N AmigonJapanElwin Sharvill UNQUALIFIED
Maisha L FollerArgentinaElwin Sharvill PROPOSAL
Emily B GillianGermanyOnyama Limba UNQUALIFIED
Munro P RoysterSpainAmy Elsner RENEWAL
Jennifer A AmigonBrazilElwin Sharvill NEGOTIATION
Greenwood F RulapaughCanadaXuxue Feng UNQUALIFIED
Wickens R OstroskyGermanyBernardo Dominic RENEWAL
Kaitlin Z CampainBrazilXuxue Feng QUALIFIED
Wickens O MaletIndiaStephen Shaw NEGOTIATION
David E SchemmerGermanyAnna Fali QUALIFIED
Wickens L MaletArgentinaBernardo Dominic PROPOSAL
Murillo I InouyeUnited KingdomAnna Fali QUALIFIED
Wickens D DoeAustraliaStephen Shaw NEW
Tony R StensethJapanElwin Sharvill UNQUALIFIED
Wickens T RulapaughCanadaIoni Bowcher RENEWAL
Jennifer T VenereUnited KingdomAmy Elsner NEW
Octavia V AmigonUnited KingdomBernardo Dominic UNQUALIFIED
Emily J VenereBrazilAmy Elsner RENEWAL
Ivar J GarufiFranceBernardo Dominic PROPOSAL
Salvatore Q NestleSpainStephen Shaw QUALIFIED
Jefferson E VenereItalyIvan Magalhaes NEW
Jones Z SergiCanadaBernardo Dominic PROPOSAL
Chavez H FollerArgentinaIoni Bowcher NEGOTIATION
Morrow Y SergiFranceStephen Shaw PROPOSAL
Johnson Z KuskoRussiaIvan Magalhaes PROPOSAL
Jefferson C ShinkoArgentinaAnna Fali RENEWAL
Chavez C KolmetzFranceIoni Bowcher QUALIFIED
Johnson V PerinGermanyElwin Sharvill RENEWAL
Munro I KuskoIndiaOnyama Limba NEW
Cody E MacleadItalyAmy Elsner NEW
Munro T VenereGermanyXuxue Feng NEGOTIATION
Maisha H BriddickBrazilAmy Elsner QUALIFIED
Jefferson N MacleadSpainIvan Magalhaes QUALIFIED
Aditya O SlusarskiRussiaBernardo Dominic RENEWAL
Adams U SaylorsBrazilAmy Elsner UNQUALIFIED
Munro H OstroskyJapanBernardo Dominic RENEWAL
Julie Q WieserCanadaAnna Fali NEW
Aruna N MaletFranceOnyama Limba NEGOTIATION
David R WieserGermanyStephen Shaw NEGOTIATION
Johnson C FlosiBrazilAnna Fali QUALIFIED
Frozen Columns
Name
Leja Z Campain
James L Bowley
Jefferson M Bolognia
Salvatore I Butt
James F Dilliard
Kaitlin D Vocelka
Deepesh Q Malet
Aruna X Iturbide
Emily M Ferencz
Jones T Ruta
Wickens J Shinko
Darci X Shinko
Munro V Nestle
Silvio Y Morasca
Claire Z Butt
Stacey J Chui
David D Vocelka
Ricardo V Ruta
Antonio J Marrier
Johnson P Darakjy
Antonio T Malet
Rodrigues A Doe
Mayumi K Wieser
Jefferson U Morasca
Morrow P Butt
Murillo M Wieser
Adams I Figeroa
Maria O Campain
Greenwood C Figeroa
Nicolas W Kolmetz
Sinclair W Flosi
Jeanfrancois U Waycott
Salvatore Z Glick
Aika B Figeroa
Smith J Marrier
Chavez N Marrier
Antonio J Foller
Chavez A Schemmer
Isabel T Whobrey
Ivar H Doe
Morrow T Chui
Isabel U Flosi
Ivar B Malet
Stacey L Iturbide
Costa I Waycott
Mayumi R Inouye
Cody A Caudy
Costa C Ferencz
Nicolas Q Darakjy
Izzy Y Ostrosky
IdCountryDate
1000Brazil2024-08-30
1001France2024-09-11
1002United Kingdom2024-08-31
1003Spain2024-09-11
1004Germany2024-09-06
1005Brazil2024-08-28
1006Japan2024-09-23
1007Spain2024-08-27
1008Australia2024-09-05
1009Russia2024-09-21
1010Australia2024-09-14
1011Italy2024-09-07
1012Russia2024-08-28
1013Russia2024-08-26
1014Japan2024-09-13
1015Spain2024-09-12
1016Brazil2024-09-19
1017Australia2024-09-05
1018Australia2024-09-03
1019France2024-08-26
1020India2024-09-08
1021Brazil2024-09-17
1022Japan2024-09-21
1023Australia2024-09-11
1024Canada2024-09-13
1025Brazil2024-09-10
1026Germany2024-09-16
1027Japan2024-08-26
1028Spain2024-09-09
1029Japan2024-09-12
1030Spain2024-09-21
1031Argentina2024-08-29
1032Japan2024-09-16
1033Argentina2024-09-12
1034India2024-08-29
1035India2024-09-18
1036United Kingdom2024-09-04
1037Italy2024-09-19
1038Spain2024-09-23
1039Australia2024-09-16
1040France2024-09-16
1041Italy2024-09-07
1042United Kingdom2024-09-04
1043Argentina2024-09-02
1044Russia2024-09-22
1045Australia2024-08-27
1046India2024-08-27
1047Argentina2024-09-06
1048Australia2024-09-10
1049India2024-09-03

On-Demand Data

NameIdCountryDate
Stacey F Ferencz1000Brazil2024-09-04
Jennifer C Garufi1001Japan2024-09-13
Salvatore D Stockham1002Australia2024-09-04
Adams N Slusarski1003Brazil2024-09-09
Misaki N Dilliard1004Russia2024-09-04
David Z Ruta1005Argentina2024-09-15
Clifford I Morasca1006France2024-09-10
Aruna L Venere1007France2024-09-15
Salvatore E Stenseth1008Brazil2024-08-28
Leon L Amigon1009Australia2024-09-14
Francesco M Bolognia1010Australia2024-09-18
Tony U Inouye1011France2024-09-22
Jefferson S Vocelka1012Australia2024-09-03
Mujtaba O Perin1013Argentina2024-09-04
Johnson D Amigon1014Germany2024-09-18
Morrow U Paprocki1015Italy2024-09-02
Isabel F Perin1016Australia2024-09-09
Cody V Bolognia1017Russia2024-09-14
Izzy W Waycott1018United Kingdom2024-09-15
Darci C Paprocki1019Canada2024-09-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio O SaylorsItalyIvan Magalhaes UNQUALIFIED
Aditya T PoquetteAustraliaAsiya Javayant UNQUALIFIED
Nicolas H KuskoAustraliaBernardo Dominic QUALIFIED
Mujtaba H OldroydRussiaAsiya Javayant NEGOTIATION
Jones K FollerGermanyIoni Bowcher RENEWAL
Octavia J KuskoItalyStephen Shaw RENEWAL
Faith T DoeIndiaAsiya Javayant NEW
Ivar R FollerFranceAnna Fali NEGOTIATION
Smith S ChuiCanadaAnna Fali UNQUALIFIED
Stacey Z PerinAustraliaAmy Elsner UNQUALIFIED
Arvin C GillianJapanStephen Shaw QUALIFIED
Arvin X AlbaresUnited KingdomXuxue Feng NEW
Jones W DoeFranceAnna Fali QUALIFIED
Leon H RutaArgentinaAmy Elsner RENEWAL
Cody B BowleyBrazilIvan Magalhaes QUALIFIED
Nicolas I IturbideRussiaStephen Shaw PROPOSAL
Jones J BriddickItalyIvan Magalhaes QUALIFIED
Stacey T WaycottCanadaAnna Fali PROPOSAL
Cody D RimFranceAsiya Javayant RENEWAL
Julie Z CampainRussiaIoni Bowcher QUALIFIED
Munro F InouyeRussiaStephen Shaw UNQUALIFIED
Jeanfrancois Y WaycottUnited KingdomElwin Sharvill UNQUALIFIED
Jeanfrancois Q PaprockiIndiaAmy Elsner UNQUALIFIED
Johnson B NickaItalyXuxue Feng RENEWAL
Smith Z KolmetzUnited KingdomAsiya Javayant RENEWAL
Johnson T SaylorsCanadaOnyama Limba QUALIFIED
Ashley L MaletBrazilIoni Bowcher QUALIFIED
Morrow R GauchoGermanyAnna Fali PROPOSAL
Jennifer E IturbideFranceOnyama Limba QUALIFIED
Stacey P MaletSpainAmy Elsner NEGOTIATION
Deepesh W VocelkaJapanAmy Elsner QUALIFIED
Izzy E CampainGermanyAsiya Javayant QUALIFIED
Chavez Z DarakjyGermanyBernardo Dominic UNQUALIFIED
Leon E IturbideUnited KingdomBernardo Dominic NEW
Deepesh U FollerRussiaXuxue Feng NEGOTIATION
Emily S VenereJapanElwin Sharvill UNQUALIFIED
Jones P SaylorsJapanIoni Bowcher NEGOTIATION
Aruna X AmigonItalyIoni Bowcher NEGOTIATION
Murillo G StockhamRussiaAnna Fali UNQUALIFIED
Ivar E BriddickAustraliaAnna Fali 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>