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 P SlusarskiCanadaIvan Magalhaes NEGOTIATION
Maria E AlbaresItalyElwin Sharvill QUALIFIED
Jones Y FigeroaIndiaIvan Magalhaes RENEWAL
Stacey E KuskoGermanyElwin Sharvill NEGOTIATION
Julie C InouyeBrazilStephen Shaw QUALIFIED
Isabel L WaycottAustraliaAmy Elsner PROPOSAL
Julie G OstroskyFranceAsiya Javayant NEGOTIATION
Julie A PoquetteCanadaIvan Magalhaes UNQUALIFIED
David K SlusarskiRussiaAnna Fali QUALIFIED
Mujtaba L GauchoJapanIoni Bowcher QUALIFIED
Aditya F BologniaCanadaXuxue Feng PROPOSAL
Arvin U MacleadCanadaOnyama Limba UNQUALIFIED
Aditya B InouyeUnited KingdomAmy Elsner PROPOSAL
Wickens C KolmetzBrazilIvan Magalhaes NEW
Jennifer M DarakjyIndiaIoni Bowcher UNQUALIFIED
Leja T PerinBrazilAmy Elsner NEW
Jeanfrancois B DoeRussiaElwin Sharvill PROPOSAL
Ivar L OldroydFranceAmy Elsner UNQUALIFIED
Francesco C PoquetteIndiaAmy Elsner PROPOSAL
Stacey T GarufiItalyBernardo Dominic NEGOTIATION
Francesco C FerenczGermanyAmy Elsner NEGOTIATION
Arvin S SergiSpainIoni Bowcher NEW
Julie H RoysterAustraliaIoni Bowcher NEW
Aditya F MaletJapanOnyama Limba NEW
Ricardo I VenereBrazilIvan Magalhaes NEW
Misaki J CampainUnited KingdomElwin Sharvill NEW
Jefferson S SaylorsUnited KingdomStephen Shaw RENEWAL
Octavia Q StensethSpainElwin Sharvill QUALIFIED
Jefferson W MacleadSpainElwin Sharvill NEW
Jefferson X FlosiCanadaOnyama Limba NEW
Jefferson X OldroydGermanyOnyama Limba PROPOSAL
James G SaylorsGermanyAmy Elsner NEGOTIATION
Aruna K PerinBrazilStephen Shaw NEW
Jones H MaletSpainElwin Sharvill RENEWAL
Salvatore A GillianIndiaAmy Elsner PROPOSAL
Mayumi S AlbaresBrazilBernardo Dominic QUALIFIED
Isabel A CaudyItalyElwin Sharvill PROPOSAL
Mujtaba Q DarakjyCanadaStephen Shaw NEW
Murillo Y PaprockiFranceAnna Fali NEW
Aruna Y CaldareraBrazilStephen Shaw NEGOTIATION
Murillo A MorascaItalyOnyama Limba UNQUALIFIED
Munro M WhobreyCanadaOnyama Limba UNQUALIFIED
Leja K PaprockiAustraliaAsiya Javayant PROPOSAL
David T CampainRussiaStephen Shaw PROPOSAL
Stacey Q SergiSpainAmy Elsner RENEWAL
Maisha L WhobreyCanadaBernardo Dominic NEGOTIATION
Faith I PerinBrazilAmy Elsner RENEWAL
Jennifer Y GauchoJapanXuxue Feng NEGOTIATION
David D WieserArgentinaOnyama Limba NEGOTIATION
Ashley Y StockhamFranceIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Stacey N WaycottGermanyElwin Sharvill QUALIFIED
Clifford S NestleItalyIoni Bowcher NEW
Francesco F FerenczUnited KingdomIoni Bowcher NEW
Antonio R SaylorsAustraliaXuxue Feng NEGOTIATION
Jefferson A SchemmerUnited KingdomIvan Magalhaes QUALIFIED
Kadeem T FlosiCanadaAmy Elsner RENEWAL
Francesco C MorascaJapanAnna Fali PROPOSAL
James E MorascaUnited KingdomXuxue Feng NEW
Salvatore W AlbaresFranceOnyama Limba UNQUALIFIED
Smith D FigeroaFranceAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna C InouyeGermany2024-06-08Chemel, James L Cpa PROPOSAL70Asiya Javayant
1001Wickens D RimAustralia2024-06-21Chapman, Ross E Esq RENEWAL75Bernardo Dominic
1002Maria U DilliardItaly2024-06-03Buckley Miller Wright QUALIFIED96Xuxue Feng
1003Chavez O BriddickIndia2024-06-05Rousseaux, Michael Esq NEGOTIATION95Ivan Magalhaes
1004Leon K CampainSpain2024-06-21Commercial Press RENEWAL28Amy Elsner
1005Izzy X FlosiBrazil2024-06-06Rousseaux, Michael Esq PROPOSAL98Amy Elsner
1006Jefferson S RulapaughItaly2024-06-04Truhlar And Truhlar Attys RENEWAL19Amy Elsner
1007Darci B GauchoUnited Kingdom2024-06-12Dorl, James J Esq NEW80Asiya Javayant
1008Adams G PaprockiUnited Kingdom2024-06-12Chanay, Jeffrey A Esq NEGOTIATION18Ioni Bowcher
1009Jennifer V StensethItaly2024-06-23Dorl, James J Esq RENEWAL74Amy Elsner
1010Misaki Z FigeroaArgentina2024-06-13Rangoni Of Florence NEW44Onyama Limba
1011Jennifer F SergiJapan2024-06-01Rangoni Of Florence UNQUALIFIED25Asiya Javayant
1012Ricardo I TollnerAustralia2024-06-01Chemel, James L Cpa UNQUALIFIED20Stephen Shaw
1013Clifford C DilliardSpain2024-06-08King, Christopher A Esq QUALIFIED96Elwin Sharvill
1014Salvatore B SlusarskiAustralia2024-05-29Dorl, James J Esq NEW49Anna Fali
1015Ricardo V AmigonUnited Kingdom2024-06-24Truhlar And Truhlar Attys NEW25Onyama Limba
1016Antonio J MorascaGermany2024-05-28Morlong Associates QUALIFIED95Ivan Magalhaes
1017Claire O BologniaBrazil2024-06-22Feiner Bros NEGOTIATION15Bernardo Dominic
1018Mayumi H DoeArgentina2024-06-02Dorl, James J Esq NEW80Ioni Bowcher
1019Adams K CampainBrazil2024-06-15Feltz Printing Service RENEWAL91Amy Elsner
1020Leon L DarakjyAustralia2024-06-22King, Christopher A Esq QUALIFIED76Onyama Limba
1021Maisha W MorascaCanada2024-06-14King, Christopher A Esq RENEWAL23Asiya Javayant
1022Emily P CaldareraFrance2024-05-26Rangoni Of Florence QUALIFIED24Asiya Javayant
1023Leja K AlbaresBrazil2024-06-21King, Christopher A Esq NEGOTIATION11Bernardo Dominic
1024Aika M InouyeJapan2024-06-22Chemel, James L Cpa UNQUALIFIED22Onyama Limba
1025Greenwood B CampainJapan2024-06-21Morlong Associates RENEWAL83Onyama Limba
1026David J GauchoFrance2024-06-02Dorl, James J Esq NEGOTIATION78Bernardo Dominic
1027Ashley C OldroydAustralia2024-06-07Dorl, James J Esq NEW59Xuxue Feng
1028Silvio X FollerIndia2024-05-30Feltz Printing Service NEGOTIATION10Ivan Magalhaes
1029Chavez W InouyeJapan2024-05-30Chapman, Ross E Esq PROPOSAL74Ivan Magalhaes
1030Deepesh Z WieserBrazil2024-06-23King, Christopher A Esq QUALIFIED76Stephen Shaw
1031Leja C DarakjyUnited Kingdom2024-05-29Feltz Printing Service NEW76Anna Fali
1032James V RimAustralia2024-05-28Rangoni Of Florence QUALIFIED57Elwin Sharvill
1033Kadeem G VocelkaBrazil2024-05-28Truhlar And Truhlar Attys UNQUALIFIED94Xuxue Feng
1034Izzy E VenereRussia2024-06-14Chanay, Jeffrey A Esq NEW16Elwin Sharvill
1035Aditya S StensethJapan2024-06-15Rousseaux, Michael Esq NEW96Elwin Sharvill
1036Mujtaba Z MarrierItaly2024-06-20Commercial Press NEW31Asiya Javayant
1037Maria D RutaRussia2024-05-29Feiner Bros NEGOTIATION38Ioni Bowcher
1038Wickens V DoeIndia2024-06-19Chemel, James L Cpa NEGOTIATION35Ivan Magalhaes
1039Johnson S ChuiItaly2024-06-10Dorl, James J Esq NEW15Ivan Magalhaes
1040Wickens O IturbideRussia2024-05-26Truhlar And Truhlar Attys NEGOTIATION7Ioni Bowcher
1041Costa P BowleyRussia2024-06-05Truhlar And Truhlar Attys UNQUALIFIED1Xuxue Feng
1042Jefferson L OldroydIndia2024-06-06Commercial Press NEGOTIATION37Anna Fali
1043Francesco K SergiGermany2024-06-18King, Christopher A Esq RENEWAL94Ioni Bowcher
1044Nicolas V MaletUnited Kingdom2024-06-03Rangoni Of Florence NEGOTIATION71Elwin Sharvill
1045Kadeem K VenereCanada2024-06-06Morlong Associates QUALIFIED97Onyama Limba
1046Emily E GillianUnited Kingdom2024-06-13Printing Dimensions QUALIFIED90Elwin Sharvill
1047Alejandro G SergiFrance2024-06-15Morlong Associates QUALIFIED34Anna Fali
1048Kaitlin O SergiAustralia2024-06-14Commercial Press QUALIFIED26Xuxue Feng
1049Wickens H WhobreyUnited Kingdom2024-06-18Dorl, James J Esq NEW76Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Aditya T TollnerItalyXuxue Feng NEW
James S PoquetteItalyAsiya Javayant UNQUALIFIED
Ashley H MaletItalyOnyama Limba QUALIFIED
Mujtaba B RimItalyXuxue Feng RENEWAL
Jones O ButtFranceAmy Elsner QUALIFIED
Isabel S AlbaresBrazilIvan Magalhaes QUALIFIED
Silvio J MaletCanadaOnyama Limba PROPOSAL
Emily H BriddickAustraliaOnyama Limba RENEWAL
Kadeem C OstroskyIndiaIoni Bowcher NEGOTIATION
Jefferson A StockhamBrazilIvan Magalhaes NEGOTIATION
Mujtaba T AlbaresSpainIoni Bowcher QUALIFIED
Jennifer N RutaBrazilAmy Elsner UNQUALIFIED
Darci P NestleArgentinaXuxue Feng NEW
Emily P StensethSpainAmy Elsner NEW
Chavez L ChuiSpainIvan Magalhaes RENEWAL
Clifford A DoeSpainElwin Sharvill NEW
Ashley J StockhamJapanXuxue Feng PROPOSAL
James E NickaUnited KingdomIoni Bowcher QUALIFIED
Mujtaba B FollerRussiaOnyama Limba PROPOSAL
Ashley E CampainCanadaBernardo Dominic PROPOSAL
Kadeem T FollerBrazilBernardo Dominic NEW
Leja C FerenczGermanyElwin Sharvill NEGOTIATION
Emily U ButtRussiaOnyama Limba RENEWAL
Emily U RimFranceIvan Magalhaes RENEWAL
Salvatore I DilliardJapanStephen Shaw QUALIFIED
Nicolas E CampainSpainIvan Magalhaes PROPOSAL
Julie U MacleadBrazilAnna Fali NEW
Maria O PerinFranceIvan Magalhaes NEGOTIATION
Johnson Y RoysterGermanyBernardo Dominic PROPOSAL
Maria V BowleyIndiaAmy Elsner NEGOTIATION
Aditya U AlbaresJapanOnyama Limba NEGOTIATION
Julie O DilliardSpainOnyama Limba NEGOTIATION
Smith I MorascaJapanStephen Shaw PROPOSAL
Clifford P IturbideRussiaAnna Fali NEGOTIATION
Rodrigues U SlusarskiArgentinaIvan Magalhaes RENEWAL
Munro L SchemmerCanadaXuxue Feng NEGOTIATION
Leon I RimGermanyElwin Sharvill QUALIFIED
Leon H NestleArgentinaIvan Magalhaes NEGOTIATION
Jennifer U AlbaresItalyXuxue Feng UNQUALIFIED
Johnson X SergiIndiaAsiya Javayant RENEWAL
Mayumi B RimIndiaAmy Elsner NEGOTIATION
James X AlbaresFranceAmy Elsner QUALIFIED
Silvio A DarakjyIndiaIoni Bowcher UNQUALIFIED
Johnson Y AmigonIndiaAnna Fali PROPOSAL
Aika T OldroydAustraliaAnna Fali PROPOSAL
Claire S RoysterSpainBernardo Dominic RENEWAL
Salvatore I SergiArgentinaIoni Bowcher RENEWAL
Cody O PoquetteFranceAsiya Javayant NEGOTIATION
Faith N SchemmerJapanIoni Bowcher RENEWAL
Alejandro M PerinAustraliaStephen Shaw UNQUALIFIED
Frozen Columns
Name
Aika H Gillian
Salvatore Q Amigon
Darci Q Albares
Aruna O Doe
Juan O Rulapaugh
Mayumi U Oldroyd
Emily I Figeroa
James U Butt
Munro A Figeroa
Isabel W Inouye
Julie F Sergi
Jefferson L Rulapaugh
Francesco D Ferencz
Sinclair D Nestle
Costa S Glick
Arvin S Wieser
Stacey V Malet
Mayumi B Butt
Costa X Glick
Kadeem A Slusarski
Tony N Nicka
Silvio Q Vocelka
Emily P Waycott
Octavia N Glick
Greenwood N Briddick
Adams C Kolmetz
Chavez Z Inouye
Morrow M Figeroa
Adams X Venere
Leon T Rim
Silvio L Gillian
Misaki E Amigon
Munro Z Sergi
Sinclair R Morasca
Smith I Whobrey
Juan U Stockham
James K Albares
Jeanfrancois Q Flosi
Julie P Inouye
Leon O Albares
Alejandro E Campain
Kadeem L Albares
Kaitlin V Royster
Morrow B Ferencz
Emily Z Whobrey
Maria L Butt
Jennifer Y Wieser
Ashley C Shinko
Jeanfrancois A Sergi
Jefferson T Amigon
IdCountryDate
1000Australia2024-06-09
1001Spain2024-06-22
1002France2024-05-27
1003Italy2024-06-20
1004Australia2024-06-22
1005Spain2024-05-26
1006Canada2024-06-09
1007Brazil2024-06-04
1008Germany2024-06-06
1009India2024-06-08
1010Argentina2024-06-16
1011Brazil2024-06-23
1012France2024-06-11
1013Canada2024-06-19
1014Italy2024-06-10
1015Italy2024-06-03
1016Canada2024-06-11
1017Brazil2024-06-24
1018Italy2024-06-19
1019Australia2024-06-01
1020France2024-06-02
1021France2024-06-04
1022India2024-06-12
1023Canada2024-06-07
1024Australia2024-05-30
1025France2024-06-01
1026United Kingdom2024-06-12
1027Germany2024-06-05
1028Italy2024-05-27
1029Germany2024-06-04
1030France2024-06-19
1031Germany2024-06-09
1032Argentina2024-06-07
1033Brazil2024-06-20
1034Brazil2024-06-16
1035Australia2024-05-27
1036United Kingdom2024-06-24
1037Germany2024-06-01
1038Germany2024-05-31
1039France2024-06-14
1040Germany2024-05-26
1041France2024-05-27
1042Brazil2024-06-12
1043Australia2024-05-26
1044Australia2024-06-19
1045India2024-06-03
1046Argentina2024-06-18
1047Argentina2024-06-22
1048Japan2024-05-27
1049Australia2024-05-27

On-Demand Data

NameIdCountryDate
Murillo S Inouye1000Japan2024-06-12
Darci E Dilliard1001Germany2024-06-12
Sinclair M Doe1002Brazil2024-06-07
Juan E Nicka1003Spain2024-05-30
Arvin O Glick1004Spain2024-06-23
Arvin F Schemmer1005Brazil2024-06-13
Wickens C Slusarski1006Spain2024-06-19
Maria O Doe1007Germany2024-06-09
Mayumi T Ferencz1008Australia2024-06-13
Antonio P Albares1009Brazil2024-06-01
Munro M Malet1010Argentina2024-05-29
Kaitlin R Ferencz1011Canada2024-06-08
Adams Q Shinko1012Canada2024-06-16
Johnson X Foller1013Canada2024-06-09
Aruna C Nestle1014Italy2024-06-20
Rodrigues D Gillian1015France2024-06-21
Wickens A Marrier1016France2024-05-27
Misaki P Marrier1017Brazil2024-05-27
Arvin Z Caudy1018United Kingdom2024-06-06
Greenwood G Caudy1019Argentina2024-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez G MaletArgentinaAsiya Javayant QUALIFIED
Jeanfrancois G AmigonJapanIoni Bowcher UNQUALIFIED
Tony Z AlbaresCanadaAnna Fali NEGOTIATION
Darci M GlickUnited KingdomAsiya Javayant RENEWAL
Antonio N SchemmerCanadaStephen Shaw NEGOTIATION
Arvin Y ShinkoSpainStephen Shaw NEGOTIATION
Leja M RulapaughItalyIoni Bowcher NEW
Chavez V BowleyJapanXuxue Feng PROPOSAL
Aruna R RutaGermanyIoni Bowcher PROPOSAL
Deepesh M NickaGermanyXuxue Feng RENEWAL
Isabel U RutaJapanIvan Magalhaes NEW
Nicolas A WaycottFranceStephen Shaw UNQUALIFIED
Maisha I StensethRussiaBernardo Dominic UNQUALIFIED
Sinclair F VenereItalyAsiya Javayant RENEWAL
Stacey K GlickArgentinaElwin Sharvill UNQUALIFIED
Morrow N DoeArgentinaIoni Bowcher UNQUALIFIED
Ricardo E WaycottCanadaIvan Magalhaes NEGOTIATION
Adams F BriddickIndiaIvan Magalhaes NEW
Maisha M RoysterSpainIvan Magalhaes PROPOSAL
Alejandro Y InouyeRussiaAnna Fali RENEWAL
Salvatore W SchemmerArgentinaIoni Bowcher PROPOSAL
Alejandro B BowleyGermanyXuxue Feng RENEWAL
Morrow I FollerGermanyStephen Shaw PROPOSAL
Aika U OstroskyUnited KingdomAnna Fali RENEWAL
Arvin S FollerItalyStephen Shaw PROPOSAL
Murillo W PerinUnited KingdomElwin Sharvill NEGOTIATION
Greenwood X CaudyAustraliaStephen Shaw PROPOSAL
Maria D WhobreyArgentinaAmy Elsner RENEWAL
Alejandro K DoeUnited KingdomAsiya Javayant NEGOTIATION
James A AmigonAustraliaAsiya Javayant NEGOTIATION
David Q CaldareraGermanyStephen Shaw UNQUALIFIED
Izzy P WieserArgentinaAmy Elsner UNQUALIFIED
Aruna H SaylorsIndiaElwin Sharvill NEGOTIATION
Deepesh R InouyeGermanyStephen Shaw UNQUALIFIED
Kadeem Z SaylorsIndiaAsiya Javayant RENEWAL
Emily A FollerUnited KingdomXuxue Feng RENEWAL
Maria H AmigonFranceAnna Fali NEGOTIATION
Julie A KolmetzGermanyBernardo Dominic NEW
Costa V MorascaIndiaOnyama Limba PROPOSAL
Clifford M ChuiIndiaIvan Magalhaes PROPOSAL

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