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
Chavez W SaylorsRussiaElwin Sharvill NEW
Tony M MorascaJapanAsiya Javayant PROPOSAL
Tony T ChuiCanadaIvan Magalhaes NEW
Aruna M KolmetzSpainOnyama Limba UNQUALIFIED
Isabel A DilliardSpainIvan Magalhaes UNQUALIFIED
Izzy Q GillianArgentinaAnna Fali QUALIFIED
Kaitlin O MacleadGermanyOnyama Limba QUALIFIED
Munro P FigeroaGermanyOnyama Limba NEGOTIATION
David V InouyeUnited KingdomIvan Magalhaes UNQUALIFIED
Mujtaba E OldroydSpainBernardo Dominic RENEWAL
Jones Y RoysterSpainElwin Sharvill NEGOTIATION
Ricardo Q GauchoItalyAmy Elsner QUALIFIED
Sinclair M FerenczSpainElwin Sharvill NEW
Jefferson N CaldareraGermanyElwin Sharvill NEGOTIATION
Morrow I SaylorsItalyIoni Bowcher QUALIFIED
Juan D SlusarskiGermanyAsiya Javayant RENEWAL
James N MorascaAustraliaIvan Magalhaes NEW
Juan M KuskoAustraliaIoni Bowcher RENEWAL
Julie D DarakjyItalyXuxue Feng NEGOTIATION
Aika S AlbaresBrazilAnna Fali PROPOSAL
Cody P NestleItalyXuxue Feng RENEWAL
Leja X StockhamFranceIvan Magalhaes PROPOSAL
Mujtaba E RulapaughCanadaOnyama Limba PROPOSAL
Munro A KolmetzIndiaIvan Magalhaes NEGOTIATION
Wickens X RulapaughJapanElwin Sharvill RENEWAL
Kaitlin C ShinkoFranceAmy Elsner UNQUALIFIED
Emily Q VenereItalyAmy Elsner NEW
Jeanfrancois X SchemmerRussiaXuxue Feng NEW
Mujtaba X StockhamArgentinaIoni Bowcher UNQUALIFIED
Mujtaba I WaycottRussiaBernardo Dominic NEGOTIATION
Ivar F VocelkaJapanAmy Elsner NEGOTIATION
Kadeem R AlbaresRussiaElwin Sharvill NEW
Cody L WieserUnited KingdomXuxue Feng UNQUALIFIED
Aika Q PoquetteUnited KingdomAsiya Javayant RENEWAL
Aruna R StockhamItalyOnyama Limba PROPOSAL
Emily T FerenczUnited KingdomStephen Shaw NEW
Murillo A CampainItalyOnyama Limba UNQUALIFIED
Aditya U SlusarskiAustraliaAmy Elsner UNQUALIFIED
Francesco S FlosiArgentinaIoni Bowcher RENEWAL
James V FlosiItalyXuxue Feng NEW
Faith O FollerItalyStephen Shaw QUALIFIED
Alejandro G MarrierAustraliaOnyama Limba QUALIFIED
Wickens C DarakjyCanadaXuxue Feng NEGOTIATION
David M PerinArgentinaStephen Shaw UNQUALIFIED
Smith T FlosiCanadaAsiya Javayant UNQUALIFIED
Nicolas H PoquetteItalyIvan Magalhaes QUALIFIED
Ashley O VocelkaCanadaElwin Sharvill RENEWAL
Rodrigues B CaldareraRussiaAsiya Javayant NEGOTIATION
Murillo I RimIndiaElwin Sharvill QUALIFIED
Smith M CaudyUnited KingdomIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
David A SaylorsItalyAmy Elsner QUALIFIED
Ricardo V BowleyUnited KingdomXuxue Feng UNQUALIFIED
Stacey F FigeroaUnited KingdomStephen Shaw NEGOTIATION
Rodrigues F ButtCanadaAnna Fali QUALIFIED
Faith J WhobreySpainStephen Shaw NEGOTIATION
Darci E StockhamAustraliaStephen Shaw UNQUALIFIED
Jefferson F GlickAustraliaIvan Magalhaes UNQUALIFIED
Emily P RulapaughItalyIoni Bowcher NEW
Izzy E FollerArgentinaAnna Fali NEGOTIATION
David F DarakjyRussiaIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood C MaletItaly2024-05-31Chapman, Ross E Esq UNQUALIFIED70Amy Elsner
1001Darci L InouyeGermany2024-05-28Rangoni Of Florence NEW34Ioni Bowcher
1002Kadeem O BologniaIndia2024-06-13Printing Dimensions QUALIFIED10Elwin Sharvill
1003Maisha G KolmetzUnited Kingdom2024-05-27Chanay, Jeffrey A Esq PROPOSAL98Ivan Magalhaes
1004Jones Q KuskoJapan2024-05-20Dorl, James J Esq PROPOSAL89Elwin Sharvill
1005Ivar H ButtGermany2024-06-12Rousseaux, Michael Esq NEW57Anna Fali
1006Arvin C RulapaughUnited Kingdom2024-06-02Commercial Press NEW36Ivan Magalhaes
1007James I WieserArgentina2024-05-19Benton, John B Jr PROPOSAL0Asiya Javayant
1008Aditya H IturbideAustralia2024-06-02King, Christopher A Esq UNQUALIFIED88Stephen Shaw
1009Arvin T InouyeAustralia2024-05-29Morlong Associates RENEWAL80Xuxue Feng
1010Greenwood O RoysterRussia2024-06-08Buckley Miller Wright NEW73Xuxue Feng
1011Isabel E MaletRussia2024-05-19Chapman, Ross E Esq NEGOTIATION50Anna Fali
1012Emily X FigeroaItaly2024-06-10King, Christopher A Esq NEW68Xuxue Feng
1013Antonio C DilliardJapan2024-05-26Morlong Associates QUALIFIED78Asiya Javayant
1014Octavia H IturbideArgentina2024-05-23Commercial Press PROPOSAL70Anna Fali
1015Juan P RutaFrance2024-05-25Chemel, James L Cpa QUALIFIED14Xuxue Feng
1016Clifford L KolmetzItaly2024-06-01Commercial Press QUALIFIED35Amy Elsner
1017Costa I PerinArgentina2024-06-04Truhlar And Truhlar Attys QUALIFIED65Ivan Magalhaes
1018Isabel J FlosiSpain2024-05-27Truhlar And Truhlar Attys QUALIFIED6Bernardo Dominic
1019Deepesh K OstroskyCanada2024-06-01Rousseaux, Michael Esq NEGOTIATION80Bernardo Dominic
1020Kaitlin I FollerJapan2024-05-28Feiner Bros UNQUALIFIED82Asiya Javayant
1021Antonio K WieserCanada2024-06-14Buckley Miller Wright QUALIFIED5Asiya Javayant
1022Munro S OstroskyFrance2024-05-25Benton, John B Jr PROPOSAL88Bernardo Dominic
1023Munro F RutaJapan2024-06-01Buckley Miller Wright QUALIFIED40Bernardo Dominic
1024Ashley J ShinkoSpain2024-05-29Rousseaux, Michael Esq NEGOTIATION94Xuxue Feng
1025Jefferson C FerenczArgentina2024-06-15Dorl, James J Esq PROPOSAL12Onyama Limba
1026Ricardo Z NickaIndia2024-05-19Chanay, Jeffrey A Esq NEW55Stephen Shaw
1027Salvatore N PoquetteUnited Kingdom2024-06-04Buckley Miller Wright QUALIFIED58Stephen Shaw
1028Octavia S SaylorsGermany2024-05-18Benton, John B Jr QUALIFIED16Elwin Sharvill
1029Ivar E AmigonJapan2024-05-23Dorl, James J Esq NEGOTIATION26Bernardo Dominic
1030Kaitlin Z MarrierFrance2024-05-27Printing Dimensions NEW4Xuxue Feng
1031Maria S WaycottRussia2024-05-28Rangoni Of Florence NEGOTIATION0Stephen Shaw
1032Kaitlin G SlusarskiFrance2024-05-22King, Christopher A Esq NEGOTIATION49Anna Fali
1033Ricardo E OldroydUnited Kingdom2024-06-11Rangoni Of Florence RENEWAL68Elwin Sharvill
1034Jeanfrancois D KuskoIndia2024-06-03Printing Dimensions NEW93Anna Fali
1035Nicolas Q CaudyAustralia2024-06-04Chapman, Ross E Esq RENEWAL63Stephen Shaw
1036Kaitlin C FerenczFrance2024-05-31Feltz Printing Service NEGOTIATION8Ioni Bowcher
1037Arvin I VocelkaIndia2024-05-27Morlong Associates NEGOTIATION10Amy Elsner
1038Smith L StockhamIndia2024-05-30King, Christopher A Esq NEW86Onyama Limba
1039Maria F TollnerIndia2024-06-07Buckley Miller Wright NEW4Elwin Sharvill
1040Antonio T PerinRussia2024-06-07Feltz Printing Service RENEWAL91Stephen Shaw
1041Morrow B BowleyRussia2024-06-02Chemel, James L Cpa UNQUALIFIED76Stephen Shaw
1042Mujtaba X KuskoGermany2024-05-24Morlong Associates NEW83Ioni Bowcher
1043Murillo G NestleAustralia2024-06-06Dorl, James J Esq QUALIFIED46Elwin Sharvill
1044Salvatore U GarufiAustralia2024-06-06Chapman, Ross E Esq NEW36Xuxue Feng
1045Ivar W PerinUnited Kingdom2024-06-05Feltz Printing Service NEW91Onyama Limba
1046Izzy C GillianBrazil2024-06-07Rangoni Of Florence NEW32Bernardo Dominic
1047Maisha B SaylorsIndia2024-06-14Commercial Press PROPOSAL70Onyama Limba
1048Julie I BowleyBrazil2024-06-06Chapman, Ross E Esq NEW70Xuxue Feng
1049Maria C BriddickCanada2024-05-20Commercial Press NEGOTIATION6Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Arvin D AmigonCanadaAsiya Javayant NEW
Jennifer Z StockhamRussiaAnna Fali NEW
Octavia H ButtBrazilIoni Bowcher NEW
Johnson L KolmetzUnited KingdomXuxue Feng NEGOTIATION
Kadeem H DilliardCanadaOnyama Limba UNQUALIFIED
Octavia A FigeroaRussiaAsiya Javayant RENEWAL
Misaki Y MacleadCanadaIvan Magalhaes UNQUALIFIED
Claire R MaletIndiaAmy Elsner QUALIFIED
Maria G FerenczUnited KingdomStephen Shaw UNQUALIFIED
Maisha L VocelkaUnited KingdomIoni Bowcher NEGOTIATION
Chavez L NestleAustraliaIoni Bowcher PROPOSAL
David X SchemmerArgentinaIoni Bowcher RENEWAL
Morrow Y AlbaresGermanyIoni Bowcher UNQUALIFIED
Aditya K IturbideUnited KingdomAnna Fali NEGOTIATION
Jefferson R FlosiRussiaElwin Sharvill UNQUALIFIED
David I OldroydUnited KingdomElwin Sharvill PROPOSAL
Darci W CaudyFranceXuxue Feng NEGOTIATION
Cody C PerinAustraliaAnna Fali UNQUALIFIED
Munro N NestleIndiaBernardo Dominic NEGOTIATION
Wickens D StensethIndiaBernardo Dominic NEGOTIATION
Maria F GarufiAustraliaBernardo Dominic QUALIFIED
Arvin J ChuiRussiaIoni Bowcher NEW
Emily T InouyeSpainStephen Shaw UNQUALIFIED
Murillo N MaletBrazilStephen Shaw NEGOTIATION
Maria P KolmetzBrazilStephen Shaw QUALIFIED
Adams W SchemmerBrazilElwin Sharvill RENEWAL
Costa M GarufiItalyIvan Magalhaes RENEWAL
Emily Q ShinkoItalyAmy Elsner UNQUALIFIED
Maisha G RutaRussiaAsiya Javayant NEGOTIATION
Julie O RulapaughItalyXuxue Feng UNQUALIFIED
Chavez Q AlbaresFranceXuxue Feng PROPOSAL
Jefferson E OldroydBrazilBernardo Dominic QUALIFIED
Silvio C StockhamItalyAmy Elsner PROPOSAL
Darci S GarufiIndiaElwin Sharvill PROPOSAL
Juan M GlickIndiaAmy Elsner PROPOSAL
Jennifer G RutaFranceAmy Elsner UNQUALIFIED
Chavez K MacleadJapanIvan Magalhaes RENEWAL
Stacey Q MacleadAustraliaAsiya Javayant UNQUALIFIED
Chavez B SergiBrazilBernardo Dominic QUALIFIED
Jennifer Y MacleadUnited KingdomAsiya Javayant UNQUALIFIED
Aditya O PoquetteItalyAmy Elsner QUALIFIED
Kadeem P MarrierItalyStephen Shaw NEW
Octavia B RulapaughCanadaAsiya Javayant UNQUALIFIED
Arvin M FollerIndiaAmy Elsner RENEWAL
Aika N NickaCanadaAsiya Javayant PROPOSAL
Ashley J ShinkoSpainAmy Elsner QUALIFIED
Munro V VocelkaFranceOnyama Limba UNQUALIFIED
Ashley H CampainRussiaIoni Bowcher NEW
Misaki Q GauchoFranceBernardo Dominic NEGOTIATION
Isabel C GlickCanadaAsiya Javayant NEGOTIATION
Frozen Columns
Name
Morrow X Marrier
Aruna Q Whobrey
Leja E Stenseth
Aika X Chui
Leon M Kusko
Maisha E Glick
Antonio I Wieser
Alejandro O Bowley
Morrow B Butt
Aruna G Caldarera
Wickens V Kusko
Stacey Y Paprocki
Alejandro Q Dilliard
Wickens L Marrier
Octavia A Albares
Darci W Paprocki
Francesco C Venere
Izzy H Iturbide
Aruna U Amigon
James Z Doe
Aruna H Ferencz
Morrow N Slusarski
Claire A Kolmetz
David L Malet
Mujtaba X Kolmetz
Munro N Slusarski
Jeanfrancois X Paprocki
Francesco C Briddick
Alejandro P Bolognia
Clifford D Campain
Jeanfrancois V Royster
Juan M Dilliard
Maria M Bolognia
Murillo R Venere
Jennifer T Morasca
Nicolas E Rim
Nicolas P Ferencz
Costa C Campain
Ivar L Tollner
Kaitlin M Waycott
Kadeem G Perin
Jones Q Stockham
Kaitlin V Tollner
Misaki C Campain
Murillo L Stockham
Misaki P Dilliard
Aruna R Kolmetz
Morrow G Saylors
Alejandro K Malet
Octavia T Caudy
IdCountryDate
1000Spain2024-05-31
1001Australia2024-05-29
1002Canada2024-06-15
1003Brazil2024-05-25
1004Japan2024-05-31
1005Argentina2024-05-24
1006Italy2024-05-23
1007Canada2024-05-28
1008Spain2024-05-20
1009France2024-05-19
1010India2024-05-23
1011Spain2024-06-02
1012India2024-06-02
1013Italy2024-05-25
1014Germany2024-06-13
1015France2024-06-01
1016India2024-06-04
1017India2024-06-03
1018Japan2024-05-28
1019Argentina2024-05-28
1020Germany2024-05-17
1021Spain2024-05-25
1022Canada2024-06-15
1023India2024-05-23
1024Germany2024-06-14
1025Russia2024-06-08
1026United Kingdom2024-06-15
1027Italy2024-06-06
1028India2024-06-04
1029Russia2024-05-22
1030Australia2024-05-29
1031Germany2024-05-18
1032Japan2024-05-28
1033Italy2024-05-27
1034United Kingdom2024-05-27
1035Australia2024-06-15
1036Italy2024-06-01
1037France2024-05-27
1038Australia2024-06-12
1039Spain2024-05-31
1040Spain2024-05-29
1041Spain2024-06-11
1042Canada2024-05-26
1043Italy2024-05-31
1044India2024-05-17
1045Argentina2024-05-19
1046Italy2024-05-17
1047Brazil2024-05-22
1048Canada2024-05-18
1049Canada2024-05-24

On-Demand Data

NameIdCountryDate
Alejandro U Butt1000Germany2024-06-03
Mayumi W Vocelka1001France2024-06-05
Munro E Ruta1002India2024-05-21
Ricardo T Briddick1003Italy2024-05-18
Darci D Albares1004Canada2024-05-22
Faith I Nicka1005Canada2024-06-07
Mayumi D Glick1006Italy2024-06-09
Chavez K Oldroyd1007India2024-06-08
Ivar L Albares1008Brazil2024-06-15
Maria H Rim1009Spain2024-05-29
Stacey C Amigon1010France2024-06-05
Smith L Vocelka1011Australia2024-06-03
Jones Y Royster1012Australia2024-05-19
Leon I Bowley1013India2024-06-05
James R Iturbide1014United Kingdom2024-05-26
Juan F Garufi1015Spain2024-05-17
Izzy I Malet1016Australia2024-06-01
Aditya F Nestle1017Japan2024-06-09
Murillo T Caldarera1018France2024-05-30
Francesco F Ruta1019Russia2024-05-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon C SlusarskiUnited KingdomXuxue Feng PROPOSAL
Silvio M CampainFranceXuxue Feng RENEWAL
Morrow K DarakjyArgentinaBernardo Dominic NEW
Darci U NickaUnited KingdomBernardo Dominic UNQUALIFIED
Faith J VenereItalyIoni Bowcher PROPOSAL
Rodrigues E GlickGermanyIvan Magalhaes RENEWAL
Juan N CaldareraAustraliaBernardo Dominic RENEWAL
Faith K GillianUnited KingdomIoni Bowcher RENEWAL
Claire L SaylorsSpainXuxue Feng QUALIFIED
Tony B GlickAustraliaBernardo Dominic PROPOSAL
Munro Q BologniaRussiaXuxue Feng UNQUALIFIED
Jones B SergiBrazilIoni Bowcher QUALIFIED
Ivar Q SlusarskiBrazilStephen Shaw NEGOTIATION
Munro Z IturbideItalyXuxue Feng UNQUALIFIED
Ashley W IturbideUnited KingdomAnna Fali RENEWAL
Costa W CampainGermanyBernardo Dominic UNQUALIFIED
Adams K KolmetzJapanStephen Shaw UNQUALIFIED
Misaki I KolmetzCanadaStephen Shaw NEGOTIATION
Mujtaba U WieserSpainAnna Fali PROPOSAL
Ricardo T BowleyUnited KingdomOnyama Limba UNQUALIFIED
Wickens Y IturbideItalyElwin Sharvill PROPOSAL
Munro P BologniaJapanIvan Magalhaes PROPOSAL
Nicolas C FlosiArgentinaAmy Elsner PROPOSAL
Mayumi O VenereUnited KingdomBernardo Dominic RENEWAL
Adams J MorascaItalyIoni Bowcher RENEWAL
Jones Z RimArgentinaElwin Sharvill RENEWAL
Jefferson C ButtCanadaIvan Magalhaes NEW
Stacey F WieserArgentinaStephen Shaw UNQUALIFIED
Leon L DoeIndiaIvan Magalhaes UNQUALIFIED
Leon O KolmetzBrazilAsiya Javayant NEGOTIATION
Juan M GarufiRussiaAsiya Javayant PROPOSAL
Wickens Y RoysterRussiaIvan Magalhaes NEW
Cody N PaprockiCanadaElwin Sharvill QUALIFIED
Clifford C BriddickFranceAnna Fali UNQUALIFIED
Francesco U PerinBrazilAmy Elsner UNQUALIFIED
Faith E GlickArgentinaIoni Bowcher QUALIFIED
Isabel X StensethBrazilElwin Sharvill PROPOSAL
Rodrigues N VocelkaItalyBernardo Dominic PROPOSAL
Jefferson H FlosiUnited KingdomBernardo Dominic NEW
David Q BowleyJapanIoni Bowcher 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>