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
Sinclair S VenereUnited KingdomOnyama Limba QUALIFIED
Izzy H GauchoSpainOnyama Limba UNQUALIFIED
Sinclair L PaprockiFranceElwin Sharvill NEW
Leja P StockhamSpainBernardo Dominic RENEWAL
Mujtaba V WaycottGermanyAnna Fali RENEWAL
Tony E ChuiBrazilStephen Shaw PROPOSAL
Darci F TollnerItalyAsiya Javayant NEGOTIATION
Nicolas V VenereSpainAmy Elsner NEGOTIATION
Salvatore K ShinkoSpainAsiya Javayant RENEWAL
Jones W SaylorsArgentinaBernardo Dominic NEW
Aika J MaletSpainStephen Shaw NEW
Misaki T GarufiFranceStephen Shaw RENEWAL
Costa H MaletItalyOnyama Limba QUALIFIED
Clifford A GauchoGermanyStephen Shaw PROPOSAL
Aruna U FigeroaJapanStephen Shaw QUALIFIED
Darci J RoysterUnited KingdomAnna Fali QUALIFIED
Misaki L DoeIndiaIvan Magalhaes QUALIFIED
Antonio R BowleySpainOnyama Limba NEGOTIATION
Darci M FollerRussiaElwin Sharvill QUALIFIED
Greenwood U CaudyAustraliaBernardo Dominic UNQUALIFIED
James Q WieserGermanyElwin Sharvill QUALIFIED
Mujtaba V InouyeGermanyAnna Fali QUALIFIED
Jones H FollerBrazilAsiya Javayant UNQUALIFIED
Costa V MarrierArgentinaIvan Magalhaes NEW
Mayumi E KolmetzUnited KingdomAsiya Javayant NEW
Maisha U TollnerSpainIvan Magalhaes NEGOTIATION
James J GarufiFranceAmy Elsner NEGOTIATION
Morrow I MaletFranceAnna Fali RENEWAL
Juan R FerenczCanadaAnna Fali NEW
Silvio E GarufiFranceElwin Sharvill NEGOTIATION
Ricardo U MarrierSpainStephen Shaw UNQUALIFIED
Darci D BologniaBrazilOnyama Limba NEW
Smith Z CaudyGermanyAnna Fali UNQUALIFIED
Jefferson N NickaRussiaElwin Sharvill QUALIFIED
Claire X CaudyGermanyStephen Shaw UNQUALIFIED
Aruna N FollerFranceAmy Elsner RENEWAL
Tony V MaletCanadaStephen Shaw NEW
Wickens P SchemmerGermanyXuxue Feng QUALIFIED
Faith Q RulapaughArgentinaAsiya Javayant UNQUALIFIED
Leon V SaylorsGermanyAnna Fali UNQUALIFIED
Cody L VocelkaJapanOnyama Limba NEGOTIATION
Tony H StensethBrazilElwin Sharvill UNQUALIFIED
Johnson L ShinkoJapanBernardo Dominic PROPOSAL
Aika C BologniaFranceStephen Shaw NEGOTIATION
Johnson H BologniaFranceElwin Sharvill PROPOSAL
Francesco G StensethBrazilIvan Magalhaes UNQUALIFIED
Aditya G GarufiJapanAmy Elsner RENEWAL
Chavez D BologniaItalyBernardo Dominic QUALIFIED
Jennifer A ChuiBrazilIoni Bowcher NEW
Darci A FerenczUnited KingdomStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Wickens C PerinAustraliaIoni Bowcher UNQUALIFIED
Stacey I BriddickArgentinaAmy Elsner QUALIFIED
David Y NestleArgentinaAsiya Javayant NEGOTIATION
Tony K DilliardSpainAnna Fali QUALIFIED
Alejandro U VocelkaItalyOnyama Limba QUALIFIED
Murillo S WhobreyFranceAmy Elsner PROPOSAL
Deepesh O OstroskySpainAnna Fali QUALIFIED
Julie Z SergiArgentinaXuxue Feng NEGOTIATION
Jones V WhobreyRussiaAnna Fali NEW
Costa Q ButtFranceIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro P FigeroaIndia2024-05-22Feiner Bros NEW61Ioni Bowcher
1001Morrow S RulapaughArgentina2024-05-24Chemel, James L Cpa NEGOTIATION0Ioni Bowcher
1002Darci I OldroydBrazil2024-05-17Chanay, Jeffrey A Esq PROPOSAL4Asiya Javayant
1003Rodrigues Z NestleJapan2024-06-06Buckley Miller Wright QUALIFIED42Stephen Shaw
1004Nicolas V SaylorsCanada2024-06-09Commercial Press QUALIFIED52Stephen Shaw
1005Leja W RutaFrance2024-06-07Feiner Bros PROPOSAL87Elwin Sharvill
1006Leja O FollerCanada2024-06-05Morlong Associates QUALIFIED91Bernardo Dominic
1007Jefferson Q KolmetzArgentina2024-05-31Benton, John B Jr RENEWAL2Bernardo Dominic
1008Julie P FigeroaJapan2024-06-07Rousseaux, Michael Esq UNQUALIFIED30Ioni Bowcher
1009Nicolas L GlickItaly2024-05-18Rousseaux, Michael Esq QUALIFIED69Amy Elsner
1010Darci F MaletGermany2024-05-28Benton, John B Jr RENEWAL48Amy Elsner
1011Munro Y PoquetteUnited Kingdom2024-05-31King, Christopher A Esq NEGOTIATION42Amy Elsner
1012Cody G SergiGermany2024-05-23Feiner Bros RENEWAL32Bernardo Dominic
1013Sinclair O SlusarskiJapan2024-05-24Feltz Printing Service PROPOSAL54Elwin Sharvill
1014Octavia M ShinkoBrazil2024-05-29Chapman, Ross E Esq NEW72Xuxue Feng
1015Munro H MaletRussia2024-05-19Dorl, James J Esq NEGOTIATION90Stephen Shaw
1016Maisha U BologniaAustralia2024-06-04Commercial Press RENEWAL11Ioni Bowcher
1017Misaki L CampainGermany2024-06-10Chemel, James L Cpa NEW58Bernardo Dominic
1018Jones M MacleadFrance2024-06-05King, Christopher A Esq PROPOSAL10Bernardo Dominic
1019Wickens F SchemmerArgentina2024-06-12Chemel, James L Cpa NEW36Xuxue Feng
1020Ashley I WhobreyUnited Kingdom2024-05-21King, Christopher A Esq PROPOSAL34Elwin Sharvill
1021Morrow Y SchemmerCanada2024-06-01Chanay, Jeffrey A Esq NEW87Ivan Magalhaes
1022Mujtaba E FlosiSpain2024-06-09Rangoni Of Florence PROPOSAL67Bernardo Dominic
1023Alejandro X SlusarskiItaly2024-05-20Feiner Bros QUALIFIED61Anna Fali
1024Nicolas F PerinAustralia2024-06-05Commercial Press RENEWAL70Bernardo Dominic
1025Antonio H MaletBrazil2024-05-26Commercial Press QUALIFIED4Ivan Magalhaes
1026Misaki F DilliardUnited Kingdom2024-06-06Buckley Miller Wright UNQUALIFIED35Bernardo Dominic
1027Johnson E RoysterFrance2024-06-07Morlong Associates NEGOTIATION54Elwin Sharvill
1028Faith A BriddickGermany2024-05-24Rangoni Of Florence QUALIFIED60Asiya Javayant
1029Adams R FollerIndia2024-06-12Benton, John B Jr QUALIFIED33Onyama Limba
1030Jeanfrancois H KolmetzGermany2024-06-05Feltz Printing Service PROPOSAL86Anna Fali
1031Jeanfrancois D SchemmerUnited Kingdom2024-05-20Dorl, James J Esq PROPOSAL55Asiya Javayant
1032Maria G FerenczRussia2024-05-22Rousseaux, Michael Esq QUALIFIED86Ivan Magalhaes
1033Murillo V KuskoArgentina2024-06-02King, Christopher A Esq UNQUALIFIED17Amy Elsner
1034Faith N RutaJapan2024-05-23Chapman, Ross E Esq PROPOSAL88Onyama Limba
1035Stacey L DoeBrazil2024-06-10Chapman, Ross E Esq NEW80Ivan Magalhaes
1036Darci U NestleSpain2024-05-16Buckley Miller Wright QUALIFIED24Ioni Bowcher
1037Jefferson N BologniaBrazil2024-06-06Chapman, Ross E Esq NEGOTIATION73Xuxue Feng
1038Chavez K KuskoSpain2024-05-23Chanay, Jeffrey A Esq NEGOTIATION44Amy Elsner
1039Adams P BowleyRussia2024-05-28Benton, John B Jr UNQUALIFIED30Ivan Magalhaes
1040Jones W MacleadItaly2024-05-24Truhlar And Truhlar Attys QUALIFIED1Ioni Bowcher
1041Octavia B GarufiGermany2024-05-26Morlong Associates UNQUALIFIED68Ivan Magalhaes
1042Misaki U CaudyIndia2024-05-21King, Christopher A Esq RENEWAL50Ioni Bowcher
1043Stacey C PoquetteBrazil2024-05-23Rangoni Of Florence RENEWAL9Ivan Magalhaes
1044Francesco P VenereCanada2024-05-16Printing Dimensions UNQUALIFIED82Onyama Limba
1045Deepesh X SaylorsArgentina2024-05-23Benton, John B Jr PROPOSAL5Amy Elsner
1046Jefferson Q WhobreyGermany2024-05-24Rousseaux, Michael Esq NEGOTIATION36Bernardo Dominic
1047Jeanfrancois H PaprockiRussia2024-05-30Dorl, James J Esq NEW53Anna Fali
1048Jeanfrancois V DilliardBrazil2024-05-20Benton, John B Jr NEGOTIATION21Onyama Limba
1049Leja F StensethIndia2024-06-13Truhlar And Truhlar Attys NEGOTIATION8Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin S SaylorsCanadaBernardo Dominic QUALIFIED
Izzy G CaudyItalyIvan Magalhaes QUALIFIED
Kaitlin U FlosiCanadaAmy Elsner QUALIFIED
Munro Q MarrierFranceIoni Bowcher UNQUALIFIED
Leja R DilliardRussiaElwin Sharvill UNQUALIFIED
Izzy O MaletFranceOnyama Limba PROPOSAL
Emily T BowleyCanadaAsiya Javayant NEW
Mayumi L MarrierArgentinaIvan Magalhaes QUALIFIED
Leja N MaletFranceIvan Magalhaes NEGOTIATION
Morrow B ShinkoRussiaAsiya Javayant NEGOTIATION
Rodrigues O SlusarskiGermanyIoni Bowcher PROPOSAL
Kadeem X GillianBrazilAsiya Javayant RENEWAL
Jefferson Y DilliardJapanOnyama Limba PROPOSAL
Kadeem H RimCanadaElwin Sharvill NEW
Salvatore E InouyeCanadaAmy Elsner NEW
Deepesh E AmigonItalyAsiya Javayant NEGOTIATION
Murillo L RulapaughAustraliaIoni Bowcher QUALIFIED
Salvatore L KolmetzSpainOnyama Limba PROPOSAL
Smith C FlosiSpainIoni Bowcher QUALIFIED
Jones H FollerSpainStephen Shaw UNQUALIFIED
Johnson F DoeUnited KingdomOnyama Limba PROPOSAL
Ashley U KuskoFranceAnna Fali QUALIFIED
Misaki D DoeCanadaAmy Elsner NEGOTIATION
Ivar U NickaUnited KingdomIvan Magalhaes RENEWAL
Jeanfrancois Z VenereIndiaElwin Sharvill QUALIFIED
Faith X KuskoUnited KingdomOnyama Limba UNQUALIFIED
Leon U DarakjyJapanAmy Elsner RENEWAL
Izzy R SaylorsBrazilAmy Elsner UNQUALIFIED
Alejandro Z MaletSpainBernardo Dominic PROPOSAL
Leon U SergiSpainAmy Elsner NEW
Juan Q GlickGermanyAnna Fali NEW
Jones R VocelkaSpainAmy Elsner QUALIFIED
Silvio G OstroskyCanadaAmy Elsner NEGOTIATION
Jeanfrancois N KolmetzArgentinaIoni Bowcher UNQUALIFIED
Aika L AlbaresItalyAnna Fali RENEWAL
Antonio H MaletBrazilAsiya Javayant UNQUALIFIED
Costa H GarufiArgentinaElwin Sharvill UNQUALIFIED
Morrow E WieserCanadaXuxue Feng UNQUALIFIED
Aditya E OstroskyGermanyIvan Magalhaes UNQUALIFIED
Ricardo U WieserSpainAmy Elsner PROPOSAL
Izzy V ChuiUnited KingdomAnna Fali NEW
Munro S NickaItalyElwin Sharvill NEW
Leja X DarakjyUnited KingdomAmy Elsner NEW
Juan X FerenczFranceStephen Shaw QUALIFIED
Greenwood G SlusarskiUnited KingdomIvan Magalhaes UNQUALIFIED
Maria Q FigeroaSpainAsiya Javayant RENEWAL
Morrow M GarufiGermanyElwin Sharvill NEGOTIATION
Kadeem Q RimJapanOnyama Limba QUALIFIED
David T AmigonJapanOnyama Limba UNQUALIFIED
Johnson M MaletRussiaAnna Fali QUALIFIED
Frozen Columns
Name
Arvin L Caudy
Morrow L Glick
Adams J Morasca
Rodrigues X Ferencz
Misaki E Venere
Munro R Stockham
Antonio F Nicka
Francesco T Marrier
Deepesh M Bowley
Leon X Venere
Murillo E Butt
Johnson C Darakjy
Maisha F Dilliard
Greenwood H Ferencz
Costa R Saylors
Octavia Q Schemmer
Arvin X Malet
Chavez M Poquette
Maisha S Wieser
Kadeem I Gaucho
Mujtaba G Perin
Mujtaba Z Iturbide
Leon W Waycott
Jefferson T Kusko
Maria M Poquette
Mujtaba P Marrier
Tony L Wieser
Ivar C Caudy
Faith X Marrier
Kaitlin A Flosi
David P Rim
Morrow U Marrier
Aditya U Slusarski
Deepesh L Bowley
Francesco Z Schemmer
Greenwood X Albares
Tony Y Darakjy
Misaki A Shinko
Octavia G Iturbide
James B Bowley
Mayumi V Poquette
Jennifer X Malet
Alejandro H Shinko
Aruna B Tollner
Nicolas O Saylors
Leon J Ferencz
Ricardo P Stockham
Aruna O Chui
Nicolas U Stenseth
Aika J Rim
IdCountryDate
1000Spain2024-05-25
1001Japan2024-05-22
1002Brazil2024-06-09
1003Italy2024-05-23
1004Spain2024-06-10
1005Argentina2024-05-26
1006Argentina2024-05-23
1007Argentina2024-05-28
1008France2024-06-07
1009Russia2024-06-05
1010Germany2024-05-28
1011Australia2024-06-13
1012Brazil2024-06-13
1013France2024-05-19
1014Russia2024-05-31
1015Spain2024-06-05
1016Italy2024-05-27
1017Australia2024-06-14
1018Japan2024-06-10
1019Australia2024-05-21
1020Germany2024-06-13
1021Russia2024-05-31
1022Canada2024-05-30
1023France2024-05-20
1024India2024-06-09
1025United Kingdom2024-06-10
1026Germany2024-06-05
1027Australia2024-05-26
1028Italy2024-06-12
1029India2024-06-05
1030Japan2024-05-30
1031Japan2024-06-02
1032United Kingdom2024-05-31
1033United Kingdom2024-05-27
1034India2024-05-26
1035Italy2024-05-19
1036United Kingdom2024-06-10
1037Canada2024-06-10
1038Russia2024-06-08
1039Spain2024-05-22
1040Canada2024-06-10
1041Australia2024-06-06
1042Argentina2024-05-24
1043Spain2024-05-27
1044Germany2024-05-17
1045Italy2024-05-20
1046United Kingdom2024-05-31
1047Russia2024-06-01
1048India2024-05-21
1049Canada2024-06-11

On-Demand Data

NameIdCountryDate
Isabel S Caldarera1000India2024-06-01
Jefferson K Inouye1001Australia2024-05-30
Izzy U Gillian1002Canada2024-05-30
Maisha G Bolognia1003France2024-06-06
Ashley A Amigon1004Germany2024-05-19
Jennifer P Sergi1005Russia2024-05-30
Stacey Q Stockham1006Brazil2024-05-26
Izzy C Rim1007Brazil2024-05-22
David L Glick1008Spain2024-06-05
Mayumi B Kusko1009Japan2024-05-16
Jefferson Q Paprocki1010Spain2024-05-30
Octavia W Morasca1011India2024-06-02
Tony L Sergi1012Canada2024-06-13
Ricardo L Dilliard1013Russia2024-05-18
Chavez C Butt1014Italy2024-05-21
Rodrigues L Albares1015Japan2024-05-18
Smith V Butt1016Australia2024-05-17
Kadeem A Saylors1017France2024-06-07
Arvin U Royster1018Brazil2024-06-06
Chavez Q Caudy1019Spain2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy B MarrierFranceElwin Sharvill RENEWAL
Izzy F VenereCanadaXuxue Feng NEW
Mujtaba Y OstroskyRussiaStephen Shaw NEW
Darci Z BowleyGermanyBernardo Dominic RENEWAL
Clifford L SergiGermanyStephen Shaw PROPOSAL
Jones L NickaFranceXuxue Feng QUALIFIED
Johnson P RimArgentinaIoni Bowcher UNQUALIFIED
Stacey O MorascaArgentinaElwin Sharvill NEW
Jones L WaycottJapanStephen Shaw PROPOSAL
Jones W WieserIndiaXuxue Feng UNQUALIFIED
Tony F SaylorsSpainIvan Magalhaes NEW
Faith W FlosiAustraliaElwin Sharvill NEW
Isabel K RoysterUnited KingdomAnna Fali UNQUALIFIED
Aika Z ButtGermanyXuxue Feng NEGOTIATION
Darci R FlosiItalyBernardo Dominic QUALIFIED
Rodrigues R ButtIndiaAnna Fali QUALIFIED
Jefferson T VocelkaAustraliaBernardo Dominic NEGOTIATION
Salvatore H PoquetteFranceAsiya Javayant RENEWAL
Adams Y MacleadFranceIvan Magalhaes QUALIFIED
Misaki P WieserFranceAsiya Javayant QUALIFIED
Greenwood S DoeCanadaIvan Magalhaes NEGOTIATION
James A RulapaughItalyAmy Elsner UNQUALIFIED
Aditya J PaprockiIndiaAsiya Javayant PROPOSAL
Sinclair U SlusarskiJapanAnna Fali RENEWAL
Cody Q PerinFranceAnna Fali RENEWAL
Kadeem K GarufiArgentinaOnyama Limba QUALIFIED
Ivar B StensethUnited KingdomAsiya Javayant UNQUALIFIED
Mujtaba P DilliardAustraliaElwin Sharvill UNQUALIFIED
Aika F KolmetzRussiaElwin Sharvill UNQUALIFIED
Munro F BowleyJapanIvan Magalhaes NEGOTIATION
Ashley L GarufiJapanStephen Shaw UNQUALIFIED
Ricardo J DilliardGermanyOnyama Limba UNQUALIFIED
Jones C RoysterAustraliaStephen Shaw NEW
Ivar Q NickaIndiaAsiya Javayant RENEWAL
Tony M RoysterJapanOnyama Limba RENEWAL
Salvatore P NestleFranceElwin Sharvill NEGOTIATION
Greenwood P MorascaCanadaXuxue Feng NEGOTIATION
Murillo B KolmetzBrazilXuxue Feng NEGOTIATION
Deepesh F FlosiGermanyIoni Bowcher NEGOTIATION
Darci R MarrierRussiaAsiya Javayant NEGOTIATION

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