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
Maisha A CaldareraBrazilAmy Elsner RENEWAL
Deepesh P FlosiArgentinaOnyama Limba QUALIFIED
Izzy Y FollerBrazilIoni Bowcher RENEWAL
Mujtaba L KolmetzRussiaElwin Sharvill NEW
Ashley Z AmigonIndiaElwin Sharvill RENEWAL
Juan O SlusarskiArgentinaAsiya Javayant QUALIFIED
Aika W FlosiFranceXuxue Feng QUALIFIED
Greenwood K MaletJapanAnna Fali NEGOTIATION
Murillo W FlosiCanadaStephen Shaw UNQUALIFIED
Aika D MorascaRussiaAnna Fali UNQUALIFIED
Darci B PerinArgentinaElwin Sharvill NEW
Deepesh H RoysterSpainAmy Elsner UNQUALIFIED
Johnson K MaletSpainElwin Sharvill NEGOTIATION
Aika T BowleyArgentinaElwin Sharvill NEGOTIATION
James O RoysterRussiaElwin Sharvill PROPOSAL
Faith A CampainSpainOnyama Limba RENEWAL
Julie I KolmetzCanadaBernardo Dominic RENEWAL
James Y DilliardGermanyAnna Fali NEW
Salvatore R RutaJapanOnyama Limba NEGOTIATION
Antonio E CaudyItalyXuxue Feng PROPOSAL
Silvio Z ShinkoItalyAsiya Javayant PROPOSAL
Jeanfrancois I MacleadGermanyIvan Magalhaes NEW
Adams L IturbideCanadaOnyama Limba QUALIFIED
Francesco P CaudyArgentinaAnna Fali QUALIFIED
Julie C TollnerSpainAnna Fali QUALIFIED
Ricardo Z StockhamBrazilAsiya Javayant UNQUALIFIED
Morrow G BowleyIndiaAmy Elsner UNQUALIFIED
Sinclair J CampainJapanAmy Elsner NEW
Stacey W AmigonAustraliaXuxue Feng QUALIFIED
David W MaletFranceIoni Bowcher QUALIFIED
James V SchemmerUnited KingdomElwin Sharvill NEW
Julie S AmigonCanadaStephen Shaw NEGOTIATION
Costa C CampainUnited KingdomAmy Elsner UNQUALIFIED
Clifford X RutaRussiaAmy Elsner NEGOTIATION
Emily L StockhamItalyAnna Fali PROPOSAL
Wickens B SaylorsGermanyStephen Shaw PROPOSAL
Jeanfrancois O GauchoItalyBernardo Dominic QUALIFIED
Arvin T CaldareraUnited KingdomAnna Fali NEGOTIATION
Mayumi P SlusarskiSpainXuxue Feng QUALIFIED
Nicolas A ShinkoJapanBernardo Dominic NEGOTIATION
Jones S RimJapanIoni Bowcher QUALIFIED
Francesco Q MarrierGermanyAnna Fali NEGOTIATION
Jennifer M NestleIndiaXuxue Feng QUALIFIED
David L RutaGermanyAmy Elsner RENEWAL
Johnson O CampainJapanStephen Shaw NEW
Ashley S SlusarskiSpainStephen Shaw NEGOTIATION
Aruna B AlbaresJapanAmy Elsner RENEWAL
Misaki S CaudyAustraliaIvan Magalhaes QUALIFIED
Rodrigues V SergiCanadaBernardo Dominic PROPOSAL
Aditya X NestleJapanBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Munro N CampainGermanyBernardo Dominic QUALIFIED
Costa K MaletGermanyIoni Bowcher RENEWAL
Silvio J SlusarskiItalyXuxue Feng PROPOSAL
Aika E RulapaughCanadaBernardo Dominic NEGOTIATION
Jefferson F ButtRussiaXuxue Feng RENEWAL
Cody K MaletGermanyStephen Shaw UNQUALIFIED
Clifford P KuskoBrazilIoni Bowcher UNQUALIFIED
Jennifer V WieserItalyIoni Bowcher NEW
Clifford B FlosiUnited KingdomAsiya Javayant UNQUALIFIED
Francesco K ButtIndiaIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria J MorascaItaly2024-06-03Printing Dimensions QUALIFIED22Asiya Javayant
1001Izzy N CaudyAustralia2024-06-13Buckley Miller Wright RENEWAL52Onyama Limba
1002Smith H VenereUnited Kingdom2024-06-16Chemel, James L Cpa PROPOSAL58Ioni Bowcher
1003Leon J SchemmerFrance2024-06-12Truhlar And Truhlar Attys UNQUALIFIED68Bernardo Dominic
1004Faith A ChuiCanada2024-06-14Dorl, James J Esq PROPOSAL54Onyama Limba
1005Morrow C CaldareraSpain2024-06-13Buckley Miller Wright NEGOTIATION59Anna Fali
1006Jennifer W FigeroaItaly2024-06-17Commercial Press PROPOSAL65Xuxue Feng
1007Mujtaba B IturbideGermany2024-06-12Feltz Printing Service QUALIFIED56Asiya Javayant
1008Deepesh M KolmetzArgentina2024-06-19Morlong Associates NEGOTIATION36Stephen Shaw
1009Murillo N SaylorsAustralia2024-06-16Printing Dimensions UNQUALIFIED21Asiya Javayant
1010Kadeem O BriddickAustralia2024-06-09Rangoni Of Florence QUALIFIED17Anna Fali
1011Julie O FerenczArgentina2024-06-13Chanay, Jeffrey A Esq UNQUALIFIED51Elwin Sharvill
1012Ashley Z CaudyJapan2024-06-05Rousseaux, Michael Esq RENEWAL20Amy Elsner
1013Ricardo O KuskoUnited Kingdom2024-06-18Benton, John B Jr UNQUALIFIED46Ioni Bowcher
1014Aruna K OstroskyUnited Kingdom2024-06-17Feltz Printing Service NEGOTIATION94Anna Fali
1015Jennifer P ChuiGermany2024-06-06King, Christopher A Esq UNQUALIFIED70Amy Elsner
1016Jones P StockhamArgentina2024-06-11Truhlar And Truhlar Attys NEGOTIATION11Onyama Limba
1017Salvatore O MarrierRussia2024-06-14Commercial Press NEW88Stephen Shaw
1018Mujtaba L WaycottCanada2024-05-31Chapman, Ross E Esq QUALIFIED87Ivan Magalhaes
1019Ivar A StockhamBrazil2024-06-16Morlong Associates PROPOSAL54Bernardo Dominic
1020Tony L GarufiBrazil2024-06-08Morlong Associates RENEWAL49Bernardo Dominic
1021Izzy K FigeroaArgentina2024-05-26Rangoni Of Florence PROPOSAL92Asiya Javayant
1022Leja F OstroskyFrance2024-05-30King, Christopher A Esq NEW17Xuxue Feng
1023Ashley G RutaItaly2024-06-01Feltz Printing Service NEGOTIATION39Amy Elsner
1024James A GarufiRussia2024-06-03Chanay, Jeffrey A Esq NEW72Ioni Bowcher
1025Munro F VenereIndia2024-06-15King, Christopher A Esq RENEWAL18Amy Elsner
1026Darci E GarufiArgentina2024-05-28Truhlar And Truhlar Attys RENEWAL58Bernardo Dominic
1027Maisha I ChuiIndia2024-06-13Printing Dimensions RENEWAL16Elwin Sharvill
1028Adams F KuskoRussia2024-05-29Rousseaux, Michael Esq RENEWAL16Anna Fali
1029Silvio F RutaFrance2024-05-30Truhlar And Truhlar Attys PROPOSAL26Bernardo Dominic
1030Rodrigues B GauchoArgentina2024-06-04Rangoni Of Florence UNQUALIFIED75Bernardo Dominic
1031Salvatore R VenereUnited Kingdom2024-05-29Morlong Associates QUALIFIED73Stephen Shaw
1032Adams W RutaBrazil2024-06-12Chemel, James L Cpa NEGOTIATION34Anna Fali
1033Octavia M OldroydJapan2024-05-25Commercial Press NEW69Bernardo Dominic
1034Smith B DilliardIndia2024-06-03Chemel, James L Cpa RENEWAL23Anna Fali
1035Maria E VenereItaly2024-05-26Feltz Printing Service PROPOSAL8Ioni Bowcher
1036Arvin V VocelkaArgentina2024-06-13King, Christopher A Esq NEW61Elwin Sharvill
1037Maria C ButtIndia2024-06-06Chapman, Ross E Esq PROPOSAL36Elwin Sharvill
1038Wickens D OstroskyAustralia2024-06-16Buckley Miller Wright RENEWAL1Stephen Shaw
1039Rodrigues N RutaSpain2024-06-15King, Christopher A Esq PROPOSAL77Asiya Javayant
1040Clifford N ShinkoArgentina2024-05-24Commercial Press QUALIFIED45Xuxue Feng
1041David N IturbideItaly2024-06-10Benton, John B Jr NEW43Elwin Sharvill
1042James A AlbaresIndia2024-06-21Commercial Press NEW8Asiya Javayant
1043Jones H FerenczGermany2024-06-09Chanay, Jeffrey A Esq PROPOSAL82Anna Fali
1044Izzy Q GlickArgentina2024-05-30Commercial Press RENEWAL57Ioni Bowcher
1045Faith G SaylorsJapan2024-06-17Morlong Associates RENEWAL59Ioni Bowcher
1046Murillo N MacleadArgentina2024-06-01Chemel, James L Cpa UNQUALIFIED51Xuxue Feng
1047James E SergiAustralia2024-05-30Printing Dimensions QUALIFIED37Stephen Shaw
1048Johnson S CampainItaly2024-05-31Benton, John B Jr RENEWAL38Amy Elsner
1049Darci K WieserUnited Kingdom2024-06-10Chanay, Jeffrey A Esq PROPOSAL78Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Faith A WaycottRussiaStephen Shaw NEGOTIATION
Chavez J DilliardCanadaElwin Sharvill RENEWAL
Leon E TollnerUnited KingdomOnyama Limba UNQUALIFIED
Deepesh J PaprockiArgentinaAmy Elsner PROPOSAL
Sinclair O NickaBrazilXuxue Feng NEW
Aika B NestleRussiaAmy Elsner QUALIFIED
Julie N ButtAustraliaXuxue Feng NEGOTIATION
Maria R GauchoAustraliaStephen Shaw UNQUALIFIED
Mujtaba D FlosiArgentinaIvan Magalhaes NEW
Octavia D NestleUnited KingdomXuxue Feng QUALIFIED
Mayumi G MaletGermanyBernardo Dominic PROPOSAL
Faith Z WieserAustraliaElwin Sharvill UNQUALIFIED
Mayumi Z BologniaCanadaIoni Bowcher RENEWAL
Johnson W FigeroaFranceAnna Fali PROPOSAL
Costa P OstroskyAustraliaOnyama Limba QUALIFIED
Murillo X PoquetteArgentinaIvan Magalhaes PROPOSAL
Chavez A GarufiSpainIoni Bowcher NEW
Sinclair D AmigonItalyElwin Sharvill NEW
Juan E BriddickJapanAmy Elsner NEGOTIATION
David Z OstroskyGermanyXuxue Feng NEW
Cody K PaprockiBrazilOnyama Limba NEGOTIATION
Stacey H KolmetzAustraliaIoni Bowcher NEGOTIATION
Octavia A OstroskyJapanAmy Elsner RENEWAL
Aika I CaudyItalyXuxue Feng QUALIFIED
Jones I InouyeArgentinaAmy Elsner PROPOSAL
Kaitlin H GauchoArgentinaXuxue Feng UNQUALIFIED
Claire C KolmetzItalyElwin Sharvill NEGOTIATION
Kaitlin H RutaArgentinaElwin Sharvill UNQUALIFIED
Claire K RutaJapanOnyama Limba NEGOTIATION
Aruna N MaletItalyXuxue Feng NEGOTIATION
Greenwood N CampainRussiaIoni Bowcher UNQUALIFIED
David V DilliardBrazilIvan Magalhaes RENEWAL
Maria V AlbaresItalyStephen Shaw UNQUALIFIED
Rodrigues O GauchoFranceAnna Fali NEW
Sinclair I VocelkaItalyIvan Magalhaes NEW
Claire Z PaprockiFranceAmy Elsner NEW
Salvatore L GillianArgentinaElwin Sharvill UNQUALIFIED
Izzy L CaudyItalyOnyama Limba UNQUALIFIED
Salvatore X MaletFranceStephen Shaw QUALIFIED
Antonio R PerinSpainOnyama Limba RENEWAL
Arvin D DoeBrazilOnyama Limba NEW
Izzy J StockhamArgentinaElwin Sharvill PROPOSAL
Emily S DilliardArgentinaIvan Magalhaes QUALIFIED
Arvin Q SergiBrazilAsiya Javayant NEW
Clifford C VocelkaFranceAnna Fali PROPOSAL
Johnson X SergiRussiaIvan Magalhaes UNQUALIFIED
Maria G MaletItalyElwin Sharvill NEGOTIATION
Morrow M CaudyGermanyAsiya Javayant QUALIFIED
Antonio W AmigonUnited KingdomAmy Elsner UNQUALIFIED
Rodrigues V GillianArgentinaXuxue Feng UNQUALIFIED
Frozen Columns
Name
Emily N Marrier
Jeanfrancois L Rim
Ricardo Z Whobrey
Claire W Figeroa
Greenwood B Ostrosky
Adams H Caldarera
Alejandro M Schemmer
Kaitlin N Bolognia
Juan F Waycott
Tony U Ruta
Jefferson C Nestle
Ivar C Perin
Johnson V Poquette
Munro K Nestle
Chavez T Venere
Mujtaba I Whobrey
Ashley H Campain
Kaitlin C Slusarski
Clifford R Rulapaugh
Darci Y Foller
Alejandro A Gillian
Tony L Slusarski
Aditya R Rulapaugh
Clifford I Perin
Clifford X Oldroyd
Ashley E Garufi
Deepesh B Stenseth
Antonio J Poquette
Antonio D Albares
Arvin X Shinko
Munro H Rim
Tony J Gillian
Emily Z Garufi
Emily V Malet
Emily O Caudy
Julie D Dilliard
Leon S Schemmer
Octavia T Bolognia
Nicolas I Wieser
Munro C Gillian
Leon F Schemmer
Aruna M Waycott
Ivar Q Bolognia
Jeanfrancois C Wieser
Alejandro W Ferencz
Cody X Doe
Maria U Morasca
Leon U Rulapaugh
Maisha A Iturbide
Emily R Whobrey
IdCountryDate
1000Spain2024-06-19
1001Japan2024-06-04
1002Italy2024-06-20
1003Italy2024-05-24
1004Germany2024-06-08
1005Argentina2024-06-13
1006Australia2024-05-26
1007Italy2024-06-05
1008Argentina2024-06-13
1009India2024-06-09
1010Australia2024-06-07
1011Canada2024-06-16
1012Italy2024-05-25
1013Argentina2024-06-13
1014Italy2024-06-14
1015Japan2024-06-16
1016United Kingdom2024-05-28
1017United Kingdom2024-06-18
1018United Kingdom2024-06-16
1019Spain2024-05-28
1020Spain2024-05-25
1021Spain2024-06-11
1022Japan2024-06-22
1023Russia2024-06-15
1024Spain2024-06-10
1025Japan2024-05-26
1026Brazil2024-06-05
1027Japan2024-05-27
1028Italy2024-05-25
1029India2024-05-25
1030France2024-06-11
1031Australia2024-06-13
1032United Kingdom2024-06-17
1033Japan2024-06-19
1034Russia2024-06-04
1035Italy2024-06-21
1036Spain2024-05-24
1037Spain2024-06-09
1038Argentina2024-05-25
1039Spain2024-05-31
1040Argentina2024-06-13
1041Russia2024-06-18
1042Canada2024-06-21
1043France2024-06-11
1044United Kingdom2024-06-20
1045United Kingdom2024-05-31
1046Japan2024-06-17
1047Brazil2024-05-31
1048Japan2024-06-22
1049Spain2024-06-07

On-Demand Data

NameIdCountryDate
Francesco I Tollner1000India2024-06-05
Chavez H Marrier1001Italy2024-05-24
Sinclair A Stenseth1002Australia2024-06-21
Rodrigues O Amigon1003Germany2024-06-15
Adams H Marrier1004Brazil2024-05-30
Cody T Rulapaugh1005Russia2024-06-10
Cody N Kusko1006India2024-06-04
Chavez N Rulapaugh1007Australia2024-06-20
Maisha X Maclead1008Italy2024-06-15
Julie P Malet1009Brazil2024-06-18
Jones P Malet1010United Kingdom2024-06-11
Isabel Q Nicka1011Australia2024-06-17
Kadeem O Darakjy1012India2024-05-26
Wickens J Whobrey1013Canada2024-06-14
Julie X Sergi1014Japan2024-05-31
Costa T Schemmer1015France2024-05-30
Darci I Figeroa1016United Kingdom2024-06-08
Ashley C Bowley1017Italy2024-06-15
Emily V Paprocki1018United Kingdom2024-06-02
Munro M Rulapaugh1019United Kingdom2024-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja L RimGermanyIoni Bowcher UNQUALIFIED
Johnson X MacleadCanadaIvan Magalhaes QUALIFIED
Claire W MacleadUnited KingdomOnyama Limba NEGOTIATION
Murillo A MacleadBrazilStephen Shaw RENEWAL
Antonio Y MorascaBrazilAmy Elsner NEGOTIATION
Ricardo Z FollerFranceIoni Bowcher PROPOSAL
James O MaletJapanAmy Elsner NEW
Julie S SchemmerAustraliaIvan Magalhaes QUALIFIED
David F DarakjyGermanyOnyama Limba QUALIFIED
Jones E WieserCanadaBernardo Dominic NEGOTIATION
Aruna D NickaGermanyAnna Fali RENEWAL
Adams M MarrierBrazilIoni Bowcher NEW
Octavia J FlosiFranceIoni Bowcher NEW
Kadeem T RutaAustraliaBernardo Dominic PROPOSAL
Misaki L MacleadGermanyElwin Sharvill RENEWAL
Emily L GillianAustraliaElwin Sharvill RENEWAL
Silvio P OstroskyIndiaAsiya Javayant PROPOSAL
Murillo Y RimBrazilAmy Elsner NEGOTIATION
Morrow T DilliardIndiaIvan Magalhaes PROPOSAL
Aruna G CaldareraJapanOnyama Limba UNQUALIFIED
Clifford Y PaprockiItalyXuxue Feng QUALIFIED
Claire D SaylorsFranceIoni Bowcher QUALIFIED
Alejandro M IturbideUnited KingdomStephen Shaw UNQUALIFIED
Sinclair Y MarrierUnited KingdomXuxue Feng NEW
Deepesh H PerinIndiaOnyama Limba RENEWAL
Leja H WhobreyUnited KingdomAmy Elsner RENEWAL
David R CampainUnited KingdomIoni Bowcher PROPOSAL
Silvio E RutaItalyIoni Bowcher RENEWAL
Maria P InouyeSpainBernardo Dominic PROPOSAL
Aditya C StockhamGermanyStephen Shaw PROPOSAL
Tony D OldroydItalyAnna Fali NEW
Jennifer H CaudyAustraliaBernardo Dominic NEW
Arvin S AmigonCanadaXuxue Feng NEGOTIATION
Claire H MarrierGermanyAsiya Javayant RENEWAL
Darci F NickaSpainAnna Fali NEGOTIATION
Mayumi J AmigonIndiaXuxue Feng NEGOTIATION
Ashley R RimBrazilIoni Bowcher UNQUALIFIED
Jefferson P RimGermanyAmy Elsner QUALIFIED
Murillo G OldroydFranceAmy Elsner PROPOSAL
Clifford Y FigeroaRussiaIoni Bowcher 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>