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
Munro P IturbideBrazilStephen Shaw RENEWAL
Aika M CaudySpainIoni Bowcher NEW
Costa J BowleyBrazilIvan Magalhaes UNQUALIFIED
Greenwood J MaletUnited KingdomAsiya Javayant PROPOSAL
Mayumi G MarrierGermanyStephen Shaw RENEWAL
Juan A MaletSpainElwin Sharvill QUALIFIED
Adams S PerinJapanBernardo Dominic RENEWAL
Antonio Q DarakjyBrazilAsiya Javayant RENEWAL
Smith Z PaprockiBrazilAsiya Javayant RENEWAL
Faith I SergiBrazilBernardo Dominic NEW
Munro B RutaCanadaXuxue Feng UNQUALIFIED
Kaitlin Q FlosiItalyXuxue Feng RENEWAL
Julie B SergiCanadaIvan Magalhaes NEW
Antonio F InouyeBrazilOnyama Limba NEW
Darci L GlickCanadaAmy Elsner NEW
Faith D GarufiArgentinaXuxue Feng UNQUALIFIED
Ashley G FerenczSpainIvan Magalhaes UNQUALIFIED
Leon R GauchoItalyAnna Fali QUALIFIED
Jennifer G FlosiSpainOnyama Limba NEW
Aditya V RulapaughAustraliaAmy Elsner NEGOTIATION
Arvin D NestleCanadaIoni Bowcher QUALIFIED
Costa B SergiArgentinaBernardo Dominic NEW
Antonio D SergiFranceXuxue Feng QUALIFIED
Antonio O NestleRussiaAnna Fali NEW
Faith Z RoysterRussiaXuxue Feng NEW
Aruna I SchemmerFranceAmy Elsner PROPOSAL
Francesco A GarufiSpainBernardo Dominic RENEWAL
Aika R SergiItalyBernardo Dominic NEW
Alejandro M AmigonSpainIoni Bowcher QUALIFIED
Tony R ButtSpainXuxue Feng RENEWAL
Cody Z CaudyCanadaStephen Shaw NEW
Jefferson Q SergiUnited KingdomBernardo Dominic NEW
David F GlickItalyIvan Magalhaes QUALIFIED
Emily W SaylorsJapanAmy Elsner PROPOSAL
Izzy M TollnerArgentinaIoni Bowcher NEGOTIATION
Octavia C NickaUnited KingdomBernardo Dominic RENEWAL
Ivar Y OstroskyCanadaElwin Sharvill PROPOSAL
Isabel K CaldareraRussiaAsiya Javayant NEW
Stacey P CampainRussiaOnyama Limba RENEWAL
Deepesh R WieserRussiaOnyama Limba PROPOSAL
Isabel U ShinkoGermanyXuxue Feng UNQUALIFIED
Arvin R TollnerUnited KingdomIoni Bowcher NEW
Mayumi S GillianGermanyElwin Sharvill PROPOSAL
Maisha D BowleyItalyXuxue Feng RENEWAL
Sinclair A WaycottSpainElwin Sharvill PROPOSAL
Silvio Q FollerItalyIvan Magalhaes RENEWAL
Ashley L SaylorsArgentinaIoni Bowcher QUALIFIED
Cody Q IturbideIndiaAmy Elsner PROPOSAL
Ivar G MaletItalyXuxue Feng UNQUALIFIED
Jennifer C AmigonGermanyAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Smith J SaylorsUnited KingdomOnyama Limba RENEWAL
Isabel C RutaCanadaBernardo Dominic UNQUALIFIED
Rodrigues A ChuiItalyOnyama Limba RENEWAL
Stacey Y GillianAustraliaIvan Magalhaes NEGOTIATION
Morrow D OldroydFranceAnna Fali UNQUALIFIED
David W StensethArgentinaElwin Sharvill NEGOTIATION
Darci P RulapaughIndiaAnna Fali NEW
Salvatore A StensethGermanyXuxue Feng NEGOTIATION
Salvatore X GauchoFranceAmy Elsner PROPOSAL
Silvio D AlbaresJapanAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel T WaycottIndia2024-06-12Dorl, James J Esq RENEWAL42Xuxue Feng
1001Arvin U CampainBrazil2024-06-21Printing Dimensions PROPOSAL23Stephen Shaw
1002Aditya W WieserArgentina2024-05-28Printing Dimensions NEW29Onyama Limba
1003Octavia M IturbideArgentina2024-06-14Buckley Miller Wright QUALIFIED27Ivan Magalhaes
1004Adams G ButtCanada2024-05-30Rousseaux, Michael Esq UNQUALIFIED0Amy Elsner
1005Jennifer H MarrierSpain2024-06-03Chemel, James L Cpa QUALIFIED3Onyama Limba
1006Ricardo Q ButtJapan2024-06-20Dorl, James J Esq PROPOSAL53Stephen Shaw
1007James G PoquetteAustralia2024-06-10Commercial Press NEGOTIATION14Asiya Javayant
1008Nicolas S VenereSpain2024-06-16Chapman, Ross E Esq NEGOTIATION8Asiya Javayant
1009Clifford Y VocelkaUnited Kingdom2024-06-08Truhlar And Truhlar Attys RENEWAL95Amy Elsner
1010Ricardo U PaprockiAustralia2024-05-28King, Christopher A Esq UNQUALIFIED90Anna Fali
1011Kaitlin K SlusarskiUnited Kingdom2024-06-08Buckley Miller Wright UNQUALIFIED64Onyama Limba
1012Alejandro R CampainIndia2024-05-28Chemel, James L Cpa QUALIFIED47Anna Fali
1013Aditya X DarakjyGermany2024-05-31Buckley Miller Wright RENEWAL67Ivan Magalhaes
1014Leon H CampainIndia2024-06-08Chemel, James L Cpa UNQUALIFIED26Bernardo Dominic
1015Maria T CaudyIndia2024-05-30Benton, John B Jr UNQUALIFIED55Amy Elsner
1016Leon N GauchoAustralia2024-06-23Printing Dimensions PROPOSAL35Ivan Magalhaes
1017Silvio Y BriddickArgentina2024-05-31Commercial Press UNQUALIFIED35Amy Elsner
1018Tony D RoysterIndia2024-05-28King, Christopher A Esq NEGOTIATION67Elwin Sharvill
1019Deepesh I PerinAustralia2024-06-01Chanay, Jeffrey A Esq RENEWAL42Stephen Shaw
1020Leon B GlickBrazil2024-06-17Chemel, James L Cpa UNQUALIFIED72Ioni Bowcher
1021Nicolas E FigeroaArgentina2024-06-10Buckley Miller Wright PROPOSAL90Xuxue Feng
1022Isabel S GarufiIndia2024-06-17Chemel, James L Cpa NEGOTIATION10Stephen Shaw
1023Clifford U StensethCanada2024-06-22Chanay, Jeffrey A Esq UNQUALIFIED2Anna Fali
1024David W StensethFrance2024-06-12Printing Dimensions NEW87Anna Fali
1025Leja I StensethSpain2024-06-19Rousseaux, Michael Esq PROPOSAL35Onyama Limba
1026Darci Y SergiGermany2024-05-31Chapman, Ross E Esq NEGOTIATION66Ioni Bowcher
1027Izzy P VocelkaGermany2024-05-30Buckley Miller Wright PROPOSAL38Ioni Bowcher
1028Salvatore T AmigonArgentina2024-06-22Morlong Associates QUALIFIED8Asiya Javayant
1029Jones B DilliardIndia2024-06-16Feiner Bros UNQUALIFIED73Xuxue Feng
1030Juan Q CaldareraAustralia2024-06-24Benton, John B Jr NEW79Xuxue Feng
1031Misaki C TollnerAustralia2024-06-02King, Christopher A Esq NEGOTIATION10Stephen Shaw
1032Costa H PaprockiBrazil2024-06-05Printing Dimensions NEW13Stephen Shaw
1033Francesco D WaycottArgentina2024-05-26Chanay, Jeffrey A Esq UNQUALIFIED35Amy Elsner
1034Alejandro G OstroskyArgentina2024-06-24Rousseaux, Michael Esq UNQUALIFIED17Bernardo Dominic
1035Silvio T BologniaItaly2024-05-29Commercial Press PROPOSAL24Bernardo Dominic
1036Murillo J MaletAustralia2024-06-23Buckley Miller Wright NEGOTIATION73Onyama Limba
1037Jefferson Q RoysterCanada2024-06-06Chemel, James L Cpa NEGOTIATION80Ioni Bowcher
1038Wickens Y StockhamBrazil2024-06-08Buckley Miller Wright UNQUALIFIED42Asiya Javayant
1039Kaitlin M SaylorsJapan2024-05-31Chemel, James L Cpa UNQUALIFIED9Onyama Limba
1040Claire R DilliardArgentina2024-06-16King, Christopher A Esq QUALIFIED61Ivan Magalhaes
1041Sinclair E DoeSpain2024-05-28King, Christopher A Esq NEW82Stephen Shaw
1042Kadeem Z RimJapan2024-06-08Rousseaux, Michael Esq RENEWAL76Bernardo Dominic
1043Julie C DarakjyBrazil2024-06-01Dorl, James J Esq PROPOSAL87Asiya Javayant
1044Clifford Q InouyeItaly2024-05-26Feltz Printing Service QUALIFIED36Anna Fali
1045Munro J MaletArgentina2024-05-30Chemel, James L Cpa UNQUALIFIED82Ivan Magalhaes
1046Maisha O RulapaughCanada2024-05-30Feltz Printing Service UNQUALIFIED83Xuxue Feng
1047Mayumi P FerenczItaly2024-06-09Chanay, Jeffrey A Esq QUALIFIED31Amy Elsner
1048Munro M FollerSpain2024-06-23Chemel, James L Cpa RENEWAL46Xuxue Feng
1049Mayumi C DilliardCanada2024-05-27King, Christopher A Esq NEW71Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Octavia D SlusarskiAustraliaStephen Shaw RENEWAL
Clifford P MarrierUnited KingdomIoni Bowcher UNQUALIFIED
Jennifer A CaudyJapanIvan Magalhaes NEW
Darci L IturbideArgentinaIvan Magalhaes RENEWAL
Munro C DoeBrazilAnna Fali NEW
Johnson S MaletBrazilOnyama Limba RENEWAL
Silvio U FerenczSpainBernardo Dominic RENEWAL
Aika Q CaldareraRussiaXuxue Feng RENEWAL
Cody W FigeroaJapanStephen Shaw UNQUALIFIED
James J FigeroaCanadaElwin Sharvill QUALIFIED
Jefferson L SaylorsFranceStephen Shaw RENEWAL
Maria G RulapaughJapanOnyama Limba PROPOSAL
Jennifer Q DarakjyCanadaIvan Magalhaes QUALIFIED
Deepesh Y CaudyUnited KingdomOnyama Limba PROPOSAL
Juan D SchemmerArgentinaAmy Elsner PROPOSAL
Jennifer I InouyeRussiaAnna Fali RENEWAL
Deepesh R ButtIndiaAsiya Javayant QUALIFIED
Chavez L GauchoBrazilIvan Magalhaes NEW
Murillo S KolmetzItalyOnyama Limba NEGOTIATION
Maria U CaldareraIndiaIvan Magalhaes PROPOSAL
Aika I KolmetzFranceStephen Shaw RENEWAL
Kaitlin Y MaletItalyAmy Elsner PROPOSAL
James I StockhamItalyAsiya Javayant UNQUALIFIED
Wickens Q MaletArgentinaXuxue Feng NEGOTIATION
Wickens V SaylorsSpainAnna Fali RENEWAL
Jeanfrancois Z AmigonCanadaAmy Elsner NEW
Juan H AmigonItalyAsiya Javayant QUALIFIED
Cody X BologniaSpainIoni Bowcher NEW
Darci J ShinkoCanadaOnyama Limba UNQUALIFIED
Tony J OstroskyArgentinaAmy Elsner QUALIFIED
Cody U GlickJapanBernardo Dominic PROPOSAL
Clifford V MaletBrazilAnna Fali QUALIFIED
Greenwood C SlusarskiCanadaIvan Magalhaes QUALIFIED
Stacey W FerenczItalyIvan Magalhaes QUALIFIED
Adams Z CaldareraUnited KingdomAnna Fali UNQUALIFIED
Kaitlin C AmigonItalyAmy Elsner NEGOTIATION
Silvio D DarakjyItalyAnna Fali PROPOSAL
Leja T KolmetzJapanAnna Fali RENEWAL
Leja T MarrierGermanyStephen Shaw QUALIFIED
Jones V MacleadItalyAsiya Javayant RENEWAL
Stacey T CaldareraItalyIoni Bowcher PROPOSAL
Julie B TollnerArgentinaElwin Sharvill NEW
Adams O MacleadJapanElwin Sharvill UNQUALIFIED
Leon U FerenczCanadaXuxue Feng UNQUALIFIED
Mayumi S RutaItalyIoni Bowcher UNQUALIFIED
Aika D SergiGermanyIoni Bowcher RENEWAL
Sinclair T NestleFranceIoni Bowcher NEGOTIATION
Johnson F WaycottAustraliaAsiya Javayant RENEWAL
Greenwood O NestleGermanyAnna Fali UNQUALIFIED
Johnson P KuskoArgentinaAnna Fali RENEWAL
Frozen Columns
Name
Jefferson A Royster
Misaki B Kolmetz
Mujtaba E Tollner
Darci C Nicka
Leja R Bolognia
Ricardo U Shinko
Sinclair N Vocelka
David Y Kolmetz
Jones E Slusarski
Munro D Garufi
Juan G Tollner
Aruna H Caudy
Sinclair L Gillian
Julie K Poquette
Leon Z Royster
David O Briddick
Jefferson X Paprocki
Aditya C Gaucho
Jennifer Y Malet
Leon S Butt
Salvatore D Vocelka
Greenwood O Darakjy
Johnson J Glick
Octavia I Poquette
Johnson Z Tollner
Rodrigues W Figeroa
Sinclair L Gaucho
Nicolas A Wieser
Morrow I Whobrey
Cody E Kusko
Izzy G Inouye
Salvatore E Flosi
Murillo W Malet
Faith I Morasca
Alejandro U Bolognia
Kadeem M Nestle
Munro W Figeroa
Ashley C Figeroa
Francesco U Flosi
Darci H Shinko
Costa H Schemmer
Jefferson Y Albares
Chavez N Briddick
Tony C Poquette
David Y Tollner
Jeanfrancois Y Vocelka
Leon C Malet
Ashley T Paprocki
James Z Foller
Maisha H Ruta
IdCountryDate
1000Argentina2024-06-18
1001Argentina2024-06-23
1002Japan2024-06-23
1003Russia2024-05-28
1004Japan2024-05-26
1005Australia2024-05-26
1006India2024-06-04
1007Spain2024-05-26
1008Canada2024-05-27
1009Germany2024-06-18
1010United Kingdom2024-06-21
1011Spain2024-05-29
1012United Kingdom2024-06-12
1013Canada2024-06-08
1014France2024-06-19
1015Argentina2024-06-03
1016Japan2024-06-02
1017Brazil2024-06-01
1018Spain2024-05-29
1019Japan2024-06-19
1020Brazil2024-05-26
1021Australia2024-06-07
1022Canada2024-06-01
1023Australia2024-05-27
1024Canada2024-05-31
1025Brazil2024-06-22
1026Russia2024-06-06
1027United Kingdom2024-06-11
1028Spain2024-06-10
1029Germany2024-05-28
1030Brazil2024-06-21
1031Canada2024-06-19
1032Spain2024-06-02
1033India2024-06-12
1034Australia2024-06-10
1035Russia2024-05-29
1036Spain2024-06-17
1037Canada2024-05-28
1038Russia2024-06-21
1039Canada2024-06-08
1040Brazil2024-06-13
1041Australia2024-06-06
1042Argentina2024-06-02
1043Brazil2024-06-03
1044Japan2024-06-06
1045Brazil2024-06-08
1046Argentina2024-06-07
1047Japan2024-06-22
1048United Kingdom2024-06-02
1049Spain2024-06-14

On-Demand Data

NameIdCountryDate
Octavia V Figeroa1000United Kingdom2024-06-23
Isabel D Campain1001Spain2024-06-07
Mayumi M Stockham1002Spain2024-05-28
Clifford R Garufi1003Canada2024-05-27
Jones P Butt1004Brazil2024-05-30
Greenwood Q Maclead1005Japan2024-06-21
Wickens N Caldarera1006Brazil2024-05-27
Munro S Caudy1007India2024-06-17
Jeanfrancois V Venere1008France2024-06-21
Cody P Paprocki1009Canada2024-06-22
Aruna U Venere1010United Kingdom2024-06-13
Wickens G Malet1011Italy2024-06-09
Clifford U Morasca1012India2024-05-27
Faith A Malet1013Canada2024-06-16
Misaki P Amigon1014Spain2024-06-05
Cody U Poquette1015Spain2024-06-12
Chavez S Malet1016Australia2024-06-18
Wickens O Venere1017United Kingdom2024-05-26
Mayumi P Glick1018Canada2024-06-04
Costa V Caldarera1019Germany2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez X RulapaughAustraliaIoni Bowcher NEGOTIATION
Mayumi R InouyeRussiaAmy Elsner RENEWAL
Costa A BowleyArgentinaBernardo Dominic QUALIFIED
Deepesh Z RulapaughSpainAmy Elsner QUALIFIED
Leon G StensethRussiaAsiya Javayant NEGOTIATION
Stacey O SaylorsSpainAmy Elsner NEGOTIATION
Octavia V WieserItalyAnna Fali NEGOTIATION
Mujtaba H KuskoBrazilXuxue Feng RENEWAL
Octavia R StockhamJapanOnyama Limba QUALIFIED
Salvatore V DarakjyUnited KingdomAsiya Javayant QUALIFIED
Juan M RulapaughAustraliaElwin Sharvill QUALIFIED
Murillo F InouyeIndiaBernardo Dominic PROPOSAL
Francesco Q MarrierAustraliaOnyama Limba RENEWAL
Mayumi V AlbaresCanadaStephen Shaw NEGOTIATION
Ivar H DoeAustraliaIvan Magalhaes QUALIFIED
Sinclair E FigeroaGermanyStephen Shaw PROPOSAL
Jefferson X FollerArgentinaElwin Sharvill NEGOTIATION
Ricardo J VocelkaCanadaOnyama Limba NEW
Antonio T GauchoRussiaStephen Shaw RENEWAL
Adams P SergiAustraliaAnna Fali PROPOSAL
Murillo K RoysterAustraliaAsiya Javayant RENEWAL
Kaitlin B GillianRussiaAmy Elsner NEGOTIATION
Ivar D GarufiBrazilOnyama Limba RENEWAL
Sinclair N KolmetzBrazilAnna Fali PROPOSAL
Tony F DarakjySpainIoni Bowcher UNQUALIFIED
Murillo P RimFranceBernardo Dominic QUALIFIED
Wickens E MaletUnited KingdomElwin Sharvill NEGOTIATION
Kadeem S VocelkaBrazilElwin Sharvill UNQUALIFIED
Arvin E DarakjyArgentinaXuxue Feng NEGOTIATION
Kaitlin Z InouyeJapanAmy Elsner NEGOTIATION
Isabel M WieserSpainAnna Fali NEW
Chavez Z SchemmerCanadaIvan Magalhaes PROPOSAL
Aruna D NickaFranceAnna Fali PROPOSAL
Leon N RulapaughGermanyStephen Shaw RENEWAL
Salvatore L OldroydGermanyOnyama Limba NEGOTIATION
Izzy S VenereAustraliaIoni Bowcher NEW
Kadeem N StensethUnited KingdomOnyama Limba QUALIFIED
Maisha T PaprockiFranceXuxue Feng NEW
Claire K CaudyAustraliaXuxue Feng NEW
Juan Q OstroskySpainIvan Magalhaes NEW

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