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
Alejandro N DilliardUnited KingdomIvan Magalhaes PROPOSAL
Jennifer E PerinAustraliaXuxue Feng NEW
Mayumi C VocelkaCanadaIvan Magalhaes RENEWAL
Aditya P SaylorsUnited KingdomElwin Sharvill QUALIFIED
Mayumi N ShinkoJapanAnna Fali RENEWAL
Leja G RulapaughUnited KingdomStephen Shaw UNQUALIFIED
Kadeem K GillianJapanOnyama Limba NEW
Maria W AmigonGermanyIoni Bowcher PROPOSAL
Leon T ShinkoSpainStephen Shaw QUALIFIED
James V FlosiJapanElwin Sharvill UNQUALIFIED
Aika G PoquetteItalyOnyama Limba NEW
Darci K FigeroaFranceOnyama Limba UNQUALIFIED
Johnson C SergiAustraliaAsiya Javayant PROPOSAL
Mujtaba C PerinIndiaBernardo Dominic PROPOSAL
Aruna T SlusarskiArgentinaAsiya Javayant NEGOTIATION
Chavez N AlbaresAustraliaXuxue Feng NEW
Alejandro E DilliardItalyStephen Shaw NEW
Adams P OstroskyGermanyAnna Fali PROPOSAL
Silvio F CaudyBrazilXuxue Feng NEGOTIATION
Mujtaba Z CaldareraJapanAmy Elsner NEW
Mujtaba I WaycottJapanAmy Elsner UNQUALIFIED
Deepesh E BologniaIndiaIoni Bowcher UNQUALIFIED
Faith G SergiSpainIoni Bowcher QUALIFIED
Jennifer M DilliardJapanAsiya Javayant NEGOTIATION
Nicolas E VenereUnited KingdomBernardo Dominic NEGOTIATION
Mayumi D FigeroaGermanyXuxue Feng QUALIFIED
Misaki B FollerAustraliaXuxue Feng UNQUALIFIED
Wickens I GlickCanadaStephen Shaw PROPOSAL
Faith Q MaletCanadaOnyama Limba NEW
Julie G WhobreyFranceElwin Sharvill PROPOSAL
Jones V MaletBrazilAmy Elsner NEGOTIATION
Maria J GarufiRussiaBernardo Dominic NEGOTIATION
Clifford V SaylorsUnited KingdomElwin Sharvill RENEWAL
Leon J ButtUnited KingdomStephen Shaw PROPOSAL
Julie W RoysterJapanBernardo Dominic NEW
Maria Y VenereCanadaStephen Shaw RENEWAL
Deepesh I VocelkaCanadaStephen Shaw RENEWAL
Smith W MacleadCanadaAmy Elsner NEW
Kaitlin X DoeSpainOnyama Limba NEW
Wickens V PoquetteUnited KingdomStephen Shaw QUALIFIED
Salvatore B PoquetteIndiaBernardo Dominic RENEWAL
Leon H MaletGermanyIvan Magalhaes PROPOSAL
Kaitlin Z RoysterJapanAnna Fali NEGOTIATION
Sinclair F WhobreyJapanBernardo Dominic PROPOSAL
Murillo O StockhamJapanIvan Magalhaes RENEWAL
Leja V CaldareraIndiaBernardo Dominic NEGOTIATION
Cody K CaudyGermanyOnyama Limba UNQUALIFIED
Juan G NickaSpainBernardo Dominic PROPOSAL
Johnson W GlickIndiaElwin Sharvill UNQUALIFIED
Francesco N StockhamItalyElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Ricardo V NestleArgentinaXuxue Feng RENEWAL
Wickens Z MacleadFranceElwin Sharvill UNQUALIFIED
Mujtaba Z SaylorsRussiaBernardo Dominic NEW
Darci K GlickSpainXuxue Feng NEGOTIATION
Deepesh Y WaycottAustraliaIvan Magalhaes NEGOTIATION
Johnson X GarufiSpainStephen Shaw UNQUALIFIED
Tony A WieserSpainBernardo Dominic UNQUALIFIED
Mujtaba A MaletIndiaIoni Bowcher QUALIFIED
Clifford C KolmetzBrazilIvan Magalhaes RENEWAL
Aruna I MarrierUnited KingdomAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens R AmigonBrazil2024-06-01Rangoni Of Florence QUALIFIED29Ivan Magalhaes
1001Jennifer T MaletBrazil2024-05-25Chapman, Ross E Esq NEW55Asiya Javayant
1002Jeanfrancois Q ShinkoAustralia2024-06-20Rangoni Of Florence UNQUALIFIED95Bernardo Dominic
1003Faith A MarrierBrazil2024-06-03Rousseaux, Michael Esq NEGOTIATION66Ivan Magalhaes
1004Julie Z NestleRussia2024-06-06Truhlar And Truhlar Attys PROPOSAL80Amy Elsner
1005Murillo A TollnerJapan2024-06-13Morlong Associates PROPOSAL89Ivan Magalhaes
1006Misaki U WhobreyIndia2024-06-13King, Christopher A Esq NEGOTIATION9Ivan Magalhaes
1007Aruna Y DilliardRussia2024-06-09Chapman, Ross E Esq RENEWAL11Elwin Sharvill
1008James C FerenczItaly2024-06-09Commercial Press NEGOTIATION97Amy Elsner
1009Adams N CaudyBrazil2024-05-27Feltz Printing Service NEGOTIATION97Bernardo Dominic
1010Murillo F VenereAustralia2024-06-05Rousseaux, Michael Esq NEW72Amy Elsner
1011James B NickaJapan2024-06-14Benton, John B Jr RENEWAL27Elwin Sharvill
1012Murillo I ShinkoIndia2024-05-26Morlong Associates PROPOSAL43Onyama Limba
1013Kadeem A IturbideAustralia2024-05-24Feltz Printing Service UNQUALIFIED25Ivan Magalhaes
1014Stacey B FigeroaIndia2024-06-18Chapman, Ross E Esq NEW10Elwin Sharvill
1015Octavia P MarrierAustralia2024-06-16Chapman, Ross E Esq UNQUALIFIED64Asiya Javayant
1016Kadeem R CaldareraAustralia2024-06-04Buckley Miller Wright QUALIFIED42Ivan Magalhaes
1017Antonio U IturbideBrazil2024-06-15Commercial Press RENEWAL9Ivan Magalhaes
1018Wickens V ChuiUnited Kingdom2024-06-11Truhlar And Truhlar Attys NEW33Bernardo Dominic
1019Julie A DoeJapan2024-05-29Truhlar And Truhlar Attys QUALIFIED96Asiya Javayant
1020David O DilliardIndia2024-06-08Chemel, James L Cpa NEGOTIATION99Asiya Javayant
1021Claire J SaylorsUnited Kingdom2024-05-31King, Christopher A Esq NEGOTIATION90Anna Fali
1022Morrow B RutaBrazil2024-06-04Chemel, James L Cpa NEW64Bernardo Dominic
1023Murillo N GillianCanada2024-06-12Truhlar And Truhlar Attys NEW37Xuxue Feng
1024Smith Z NestleAustralia2024-06-11Morlong Associates NEGOTIATION85Xuxue Feng
1025Ricardo B GarufiIndia2024-06-08Commercial Press PROPOSAL20Bernardo Dominic
1026Ashley Y BologniaIndia2024-06-02Morlong Associates RENEWAL65Stephen Shaw
1027Francesco W PerinSpain2024-06-19Feiner Bros NEGOTIATION50Ioni Bowcher
1028Sinclair J MaletArgentina2024-05-27Rangoni Of Florence RENEWAL20Ivan Magalhaes
1029Aika W GlickItaly2024-06-17Chemel, James L Cpa PROPOSAL25Stephen Shaw
1030Silvio R VenereArgentina2024-06-08Printing Dimensions NEGOTIATION70Stephen Shaw
1031Darci Q RulapaughFrance2024-05-29Printing Dimensions PROPOSAL22Amy Elsner
1032Nicolas K MacleadCanada2024-06-21King, Christopher A Esq QUALIFIED46Ioni Bowcher
1033Maisha U WhobreyArgentina2024-06-16Buckley Miller Wright PROPOSAL25Anna Fali
1034Costa T AlbaresBrazil2024-05-24Feltz Printing Service PROPOSAL27Xuxue Feng
1035Claire Q SchemmerBrazil2024-06-20Feiner Bros PROPOSAL82Asiya Javayant
1036Morrow X NestleJapan2024-06-16Rousseaux, Michael Esq UNQUALIFIED10Ivan Magalhaes
1037Rodrigues M CampainGermany2024-05-31Chapman, Ross E Esq PROPOSAL87Stephen Shaw
1038Leon E OldroydCanada2024-06-09Rousseaux, Michael Esq NEGOTIATION31Ivan Magalhaes
1039Faith J NickaSpain2024-06-04Feltz Printing Service UNQUALIFIED50Anna Fali
1040David H FollerUnited Kingdom2024-06-16Dorl, James J Esq UNQUALIFIED38Onyama Limba
1041Octavia E KolmetzJapan2024-06-14Dorl, James J Esq QUALIFIED78Onyama Limba
1042Jefferson C CampainJapan2024-06-06Feltz Printing Service UNQUALIFIED40Ivan Magalhaes
1043Francesco S CampainFrance2024-05-26Benton, John B Jr RENEWAL6Bernardo Dominic
1044Silvio Y ChuiIndia2024-05-31King, Christopher A Esq NEGOTIATION29Ivan Magalhaes
1045Ashley F SlusarskiFrance2024-05-23King, Christopher A Esq RENEWAL5Amy Elsner
1046Cody F WieserArgentina2024-06-09Morlong Associates PROPOSAL27Ivan Magalhaes
1047Deepesh C SergiRussia2024-06-14Printing Dimensions PROPOSAL2Xuxue Feng
1048Wickens B IturbideArgentina2024-06-15Rousseaux, Michael Esq QUALIFIED8Asiya Javayant
1049Ricardo O MorascaAustralia2024-06-16Truhlar And Truhlar Attys PROPOSAL51Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Faith F MarrierBrazilStephen Shaw NEW
Darci A CaudyArgentinaStephen Shaw RENEWAL
Morrow P VocelkaAustraliaElwin Sharvill UNQUALIFIED
Munro D RulapaughAustraliaIvan Magalhaes UNQUALIFIED
Octavia E KuskoJapanAmy Elsner UNQUALIFIED
Jefferson L GillianBrazilIoni Bowcher PROPOSAL
Nicolas X GlickAustraliaAsiya Javayant NEW
Adams I ButtSpainAmy Elsner NEW
Arvin T MorascaCanadaStephen Shaw NEGOTIATION
Arvin K DilliardUnited KingdomAmy Elsner PROPOSAL
Jefferson N CaudyItalyBernardo Dominic UNQUALIFIED
Jeanfrancois Z BologniaCanadaBernardo Dominic NEGOTIATION
Antonio C MorascaItalyBernardo Dominic UNQUALIFIED
Kadeem P MaletFranceIvan Magalhaes NEGOTIATION
Rodrigues S NickaUnited KingdomAnna Fali QUALIFIED
Rodrigues J MaletArgentinaAmy Elsner NEGOTIATION
David B SergiFranceOnyama Limba RENEWAL
Jeanfrancois H FlosiGermanyStephen Shaw QUALIFIED
Clifford T ButtIndiaAnna Fali NEGOTIATION
Julie Q IturbideCanadaXuxue Feng RENEWAL
Johnson N MaletIndiaXuxue Feng QUALIFIED
Isabel M FlosiIndiaStephen Shaw NEGOTIATION
Costa J CaudyArgentinaAnna Fali UNQUALIFIED
David D FigeroaArgentinaXuxue Feng RENEWAL
Juan R KuskoGermanyElwin Sharvill PROPOSAL
Alejandro V OstroskyJapanStephen Shaw UNQUALIFIED
Misaki R FigeroaIndiaAsiya Javayant UNQUALIFIED
Mujtaba H WaycottFranceAnna Fali RENEWAL
Maria N GillianJapanOnyama Limba QUALIFIED
Aika I NestleJapanIoni Bowcher NEGOTIATION
Jefferson N AlbaresBrazilElwin Sharvill QUALIFIED
Maria O VenereJapanElwin Sharvill RENEWAL
Ricardo Y TollnerItalyAnna Fali QUALIFIED
Morrow P StensethCanadaIvan Magalhaes PROPOSAL
Sinclair K StensethIndiaIoni Bowcher NEGOTIATION
James Q GarufiSpainIvan Magalhaes UNQUALIFIED
Stacey G CampainRussiaIvan Magalhaes UNQUALIFIED
Wickens B WaycottGermanyAnna Fali QUALIFIED
Murillo K KolmetzJapanElwin Sharvill QUALIFIED
Francesco C BriddickRussiaIvan Magalhaes RENEWAL
Smith K CampainItalyXuxue Feng RENEWAL
Kadeem T GauchoSpainBernardo Dominic RENEWAL
Chavez D SlusarskiAustraliaOnyama Limba RENEWAL
Isabel C SlusarskiUnited KingdomXuxue Feng UNQUALIFIED
Jeanfrancois Q InouyeJapanBernardo Dominic UNQUALIFIED
Morrow Y MaletSpainStephen Shaw QUALIFIED
Aruna C NestleSpainOnyama Limba PROPOSAL
Stacey W NestleUnited KingdomIoni Bowcher UNQUALIFIED
Faith Q OstroskyItalyIvan Magalhaes PROPOSAL
Tony H VenereAustraliaStephen Shaw PROPOSAL
Frozen Columns
Name
Smith C Campain
Adams Y Ferencz
Costa T Shinko
David D Poquette
Adams U Bolognia
Chavez X Venere
Ivar N Maclead
Isabel J Malet
Aditya U Saylors
Greenwood B Stockham
Cody A Morasca
Mujtaba Q Rulapaugh
Chavez K Bowley
Salvatore H Stenseth
Chavez Q Sergi
Mayumi B Maclead
Juan R Doe
Salvatore M Flosi
Tony F Malet
James M Whobrey
Ivar G Nestle
Claire G Ostrosky
Jones V Darakjy
Ricardo N Ruta
Aditya E Poquette
Greenwood S Albares
Munro F Gillian
Maisha Z Morasca
Leja M Iturbide
Julie O Tollner
Munro L Amigon
Ashley E Dilliard
James X Chui
Silvio L Sergi
Izzy B Shinko
Tony J Marrier
Isabel O Stockham
Izzy Z Albares
Greenwood Q Dilliard
Greenwood C Perin
James K Inouye
Juan Q Nestle
Claire W Butt
Jones R Saylors
Claire H Marrier
Costa B Bowley
Stacey V Ostrosky
Leja S Albares
Alejandro S Ostrosky
Smith X Oldroyd
IdCountryDate
1000Japan2024-06-14
1001Italy2024-06-09
1002Australia2024-05-28
1003Italy2024-06-06
1004India2024-06-17
1005Russia2024-05-24
1006Brazil2024-05-30
1007Italy2024-05-28
1008Italy2024-06-12
1009Australia2024-06-19
1010Germany2024-06-03
1011Italy2024-06-21
1012Brazil2024-06-17
1013Germany2024-05-30
1014Spain2024-06-15
1015India2024-06-02
1016Australia2024-06-01
1017India2024-06-10
1018Germany2024-06-12
1019Australia2024-05-27
1020United Kingdom2024-06-03
1021Russia2024-06-15
1022France2024-05-26
1023Canada2024-06-20
1024Russia2024-05-31
1025France2024-05-28
1026Italy2024-05-24
1027India2024-05-28
1028Russia2024-05-23
1029France2024-05-23
1030Germany2024-06-08
1031Russia2024-06-11
1032Germany2024-05-23
1033France2024-06-21
1034Japan2024-06-21
1035India2024-06-10
1036Germany2024-05-28
1037United Kingdom2024-06-07
1038United Kingdom2024-06-01
1039Spain2024-05-28
1040Argentina2024-06-06
1041India2024-06-19
1042United Kingdom2024-06-20
1043Australia2024-06-19
1044United Kingdom2024-05-24
1045Canada2024-06-07
1046Japan2024-05-26
1047Russia2024-05-25
1048Russia2024-06-10
1049India2024-05-29

On-Demand Data

NameIdCountryDate
Sinclair W Marrier1000Russia2024-06-14
Kaitlin P Amigon1001United Kingdom2024-06-18
Mujtaba D Saylors1002India2024-05-24
Deepesh B Venere1003France2024-06-14
Smith L Schemmer1004Canada2024-06-08
Darci C Oldroyd1005United Kingdom2024-06-14
Adams X Ruta1006Germany2024-06-18
Chavez Y Tollner1007United Kingdom2024-06-19
Kaitlin S Ostrosky1008United Kingdom2024-05-30
Jefferson I Saylors1009Australia2024-06-13
Greenwood Z Rulapaugh1010Japan2024-05-23
Kadeem C Gaucho1011Italy2024-05-30
Jeanfrancois L Tollner1012France2024-06-18
Alejandro C Darakjy1013Russia2024-05-28
Smith J Morasca1014Canada2024-06-06
Wickens G Wieser1015Japan2024-06-12
Sinclair K Garufi1016Brazil2024-05-24
Nicolas N Kolmetz1017Brazil2024-05-31
Antonio Q Morasca1018Australia2024-06-17
Maria W Morasca1019Argentina2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois N MacleadCanadaStephen Shaw QUALIFIED
Jennifer D OldroydRussiaStephen Shaw PROPOSAL
Silvio B IturbideItalyAnna Fali NEGOTIATION
Maria D FigeroaFranceAmy Elsner UNQUALIFIED
Alejandro Z FlosiAustraliaBernardo Dominic NEGOTIATION
Tony H SergiUnited KingdomStephen Shaw PROPOSAL
Leja Z CaldareraRussiaAmy Elsner NEGOTIATION
Kaitlin N IturbideGermanyAmy Elsner NEW
Arvin Q VenereUnited KingdomIoni Bowcher UNQUALIFIED
Arvin V MorascaIndiaIoni Bowcher NEGOTIATION
Deepesh Q SaylorsRussiaAmy Elsner NEW
Morrow O SchemmerRussiaOnyama Limba UNQUALIFIED
Faith N OstroskyBrazilIvan Magalhaes RENEWAL
Aika T GarufiSpainIvan Magalhaes UNQUALIFIED
Claire J FigeroaGermanyAnna Fali NEGOTIATION
Wickens I MorascaFranceStephen Shaw RENEWAL
Izzy X PerinSpainAnna Fali PROPOSAL
Misaki R KolmetzIndiaXuxue Feng QUALIFIED
Leja C SergiArgentinaOnyama Limba RENEWAL
Isabel P DoeUnited KingdomIoni Bowcher NEGOTIATION
Greenwood N StensethGermanyAsiya Javayant NEW
Morrow B DarakjyArgentinaBernardo Dominic NEGOTIATION
Maisha P BowleyAustraliaAnna Fali NEGOTIATION
Cody W PoquetteFranceAmy Elsner RENEWAL
Alejandro C GauchoUnited KingdomAmy Elsner RENEWAL
Arvin J GlickItalyBernardo Dominic UNQUALIFIED
Mayumi H StensethItalyAmy Elsner NEGOTIATION
Adams U FlosiSpainIoni Bowcher NEW
Aika P NickaUnited KingdomElwin Sharvill NEGOTIATION
Johnson M MacleadRussiaAsiya Javayant QUALIFIED
Misaki N IturbideFranceStephen Shaw QUALIFIED
Faith U PerinFranceIoni Bowcher UNQUALIFIED
Greenwood C DoeSpainIvan Magalhaes NEW
Aika L MorascaBrazilXuxue Feng QUALIFIED
Mujtaba Y FigeroaGermanyAmy Elsner UNQUALIFIED
Maisha I PaprockiItalyBernardo Dominic RENEWAL
Costa P AmigonItalyIoni Bowcher PROPOSAL
Kadeem K KuskoRussiaAnna Fali QUALIFIED
Sinclair F MaletRussiaBernardo Dominic UNQUALIFIED
Jennifer C ButtUnited KingdomStephen Shaw 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>