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
Murillo N MarrierJapanElwin Sharvill NEW
Costa T RoysterJapanStephen Shaw PROPOSAL
James S BriddickArgentinaAsiya Javayant NEGOTIATION
Isabel R PoquetteGermanyElwin Sharvill QUALIFIED
Kadeem D GlickArgentinaIvan Magalhaes RENEWAL
Greenwood E DoeRussiaXuxue Feng UNQUALIFIED
Salvatore L MarrierAustraliaAnna Fali NEGOTIATION
Stacey S RimBrazilAsiya Javayant QUALIFIED
Darci S WaycottFranceBernardo Dominic PROPOSAL
Greenwood C PaprockiUnited KingdomOnyama Limba NEGOTIATION
Ivar N GlickArgentinaXuxue Feng QUALIFIED
Mujtaba I OstroskyBrazilXuxue Feng NEW
Rodrigues N IturbideJapanIvan Magalhaes RENEWAL
Claire L RoysterCanadaBernardo Dominic QUALIFIED
Jennifer G GillianFranceStephen Shaw PROPOSAL
Alejandro D PaprockiArgentinaBernardo Dominic RENEWAL
Sinclair S KolmetzIndiaStephen Shaw NEW
Leja J ShinkoAustraliaIoni Bowcher UNQUALIFIED
Leon U MaletAustraliaAmy Elsner PROPOSAL
Wickens P MorascaJapanAsiya Javayant NEGOTIATION
Izzy L FigeroaUnited KingdomAmy Elsner UNQUALIFIED
Kadeem J WieserArgentinaXuxue Feng NEW
Kaitlin U RutaGermanyStephen Shaw NEW
Smith J FlosiAustraliaIvan Magalhaes UNQUALIFIED
Ivar Y AlbaresGermanyBernardo Dominic NEGOTIATION
Aditya B PoquetteIndiaElwin Sharvill NEGOTIATION
Misaki D VocelkaUnited KingdomAsiya Javayant NEW
Izzy Z FlosiGermanyAmy Elsner NEGOTIATION
Octavia Y RoysterGermanyIoni Bowcher NEW
Jefferson G InouyeItalyAsiya Javayant PROPOSAL
Ivar N CaldareraAustraliaAnna Fali UNQUALIFIED
Adams W ShinkoSpainElwin Sharvill PROPOSAL
Jefferson X FlosiRussiaAmy Elsner NEGOTIATION
Octavia P BologniaArgentinaBernardo Dominic NEW
Deepesh O SchemmerArgentinaAsiya Javayant QUALIFIED
Arvin O SlusarskiSpainAmy Elsner NEW
Alejandro E DarakjyBrazilIoni Bowcher RENEWAL
Maria M KuskoIndiaAmy Elsner RENEWAL
Leon G RimUnited KingdomOnyama Limba NEW
Ricardo U ButtAustraliaXuxue Feng NEGOTIATION
Juan N NestleUnited KingdomAsiya Javayant RENEWAL
Jennifer F RoysterGermanyOnyama Limba UNQUALIFIED
Faith W ShinkoIndiaIvan Magalhaes NEW
Alejandro Y PaprockiFranceIvan Magalhaes NEW
David R GauchoSpainElwin Sharvill NEGOTIATION
Darci O WhobreyUnited KingdomAmy Elsner QUALIFIED
Nicolas Y DarakjyItalyBernardo Dominic UNQUALIFIED
Morrow G StensethItalyAsiya Javayant PROPOSAL
Johnson R ShinkoJapanStephen Shaw NEGOTIATION
Misaki Y SlusarskiGermanyAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Murillo C BriddickCanadaIvan Magalhaes PROPOSAL
Claire B OstroskyAustraliaIvan Magalhaes PROPOSAL
Kadeem Y MaletAustraliaAsiya Javayant NEGOTIATION
Leja J RulapaughAustraliaIoni Bowcher NEW
James O GlickGermanyAsiya Javayant UNQUALIFIED
Julie D KolmetzUnited KingdomStephen Shaw QUALIFIED
Mujtaba O MarrierGermanyElwin Sharvill NEW
Octavia F SlusarskiCanadaIoni Bowcher PROPOSAL
Emily B SlusarskiCanadaAsiya Javayant PROPOSAL
Emily W ButtBrazilAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio I GlickUnited Kingdom2024-05-09Buckley Miller Wright RENEWAL99Bernardo Dominic
1001Johnson V WieserIndia2024-06-07Morlong Associates NEGOTIATION13Anna Fali
1002Murillo B CaldareraBrazil2024-05-13Rangoni Of Florence NEGOTIATION33Xuxue Feng
1003Jefferson T ShinkoArgentina2024-05-27Chapman, Ross E Esq RENEWAL85Amy Elsner
1004Salvatore A CaudyFrance2024-05-27Printing Dimensions UNQUALIFIED4Xuxue Feng
1005Chavez J MaletGermany2024-06-06Chapman, Ross E Esq NEW25Anna Fali
1006Sinclair Q RoysterArgentina2024-05-17Commercial Press RENEWAL63Elwin Sharvill
1007Aruna K CaudyCanada2024-05-15Feiner Bros UNQUALIFIED89Ivan Magalhaes
1008Smith W DilliardAustralia2024-05-09Feiner Bros PROPOSAL5Bernardo Dominic
1009Greenwood B GlickBrazil2024-05-27Chapman, Ross E Esq PROPOSAL58Anna Fali
1010Cody Z StensethSpain2024-05-18Morlong Associates RENEWAL64Xuxue Feng
1011Maria B KuskoUnited Kingdom2024-05-21Feltz Printing Service NEGOTIATION57Anna Fali
1012Jefferson N InouyeIndia2024-06-04Chanay, Jeffrey A Esq NEW99Elwin Sharvill
1013Ashley C NestleItaly2024-05-13Rangoni Of Florence NEW19Ivan Magalhaes
1014Kadeem V DarakjySpain2024-05-15Chanay, Jeffrey A Esq PROPOSAL94Bernardo Dominic
1015Munro S CampainRussia2024-05-09Chapman, Ross E Esq NEW52Bernardo Dominic
1016Alejandro H MacleadFrance2024-05-31Feltz Printing Service UNQUALIFIED45Ivan Magalhaes
1017Jennifer U StockhamBrazil2024-05-25Buckley Miller Wright NEGOTIATION46Ivan Magalhaes
1018Emily J PoquetteRussia2024-05-17Chapman, Ross E Esq NEW77Amy Elsner
1019Clifford L RoysterItaly2024-06-01Chapman, Ross E Esq PROPOSAL74Amy Elsner
1020Aditya J WieserAustralia2024-05-09Commercial Press PROPOSAL62Anna Fali
1021Cody K DilliardIndia2024-05-30Printing Dimensions NEGOTIATION67Stephen Shaw
1022Isabel O BriddickSpain2024-06-03Feltz Printing Service UNQUALIFIED30Ioni Bowcher
1023Wickens R WieserGermany2024-05-23Chanay, Jeffrey A Esq NEW19Xuxue Feng
1024Maria B InouyeBrazil2024-06-01Commercial Press NEW63Stephen Shaw
1025Aruna U SlusarskiBrazil2024-05-21Chemel, James L Cpa NEW4Bernardo Dominic
1026Antonio P SlusarskiCanada2024-05-16Rangoni Of Florence NEW2Ioni Bowcher
1027Wickens X FigeroaItaly2024-05-31Chapman, Ross E Esq RENEWAL1Asiya Javayant
1028Leon J GillianGermany2024-05-18Feiner Bros UNQUALIFIED42Xuxue Feng
1029Morrow H IturbideItaly2024-06-02Rangoni Of Florence NEW21Stephen Shaw
1030Isabel M RulapaughItaly2024-05-10Truhlar And Truhlar Attys QUALIFIED84Stephen Shaw
1031Rodrigues T PoquetteIndia2024-05-20Dorl, James J Esq PROPOSAL10Asiya Javayant
1032Misaki Z FigeroaSpain2024-05-09Rangoni Of Florence NEW31Ivan Magalhaes
1033Murillo Z MarrierJapan2024-05-17Chemel, James L Cpa NEW49Xuxue Feng
1034Mujtaba Y NestleItaly2024-06-07Benton, John B Jr QUALIFIED66Bernardo Dominic
1035Isabel B AmigonGermany2024-05-18Feiner Bros NEW31Xuxue Feng
1036Julie H RutaIndia2024-06-05Truhlar And Truhlar Attys NEGOTIATION42Ivan Magalhaes
1037Ricardo Z GlickGermany2024-05-29Buckley Miller Wright NEGOTIATION68Amy Elsner
1038Isabel F NickaGermany2024-05-26Truhlar And Truhlar Attys UNQUALIFIED80Onyama Limba
1039Faith X GlickBrazil2024-05-26Chanay, Jeffrey A Esq UNQUALIFIED24Stephen Shaw
1040Leon Q MarrierFrance2024-05-21Chanay, Jeffrey A Esq NEW59Anna Fali
1041Costa C FigeroaSpain2024-05-09Rousseaux, Michael Esq PROPOSAL45Xuxue Feng
1042Morrow S StensethIndia2024-06-05Buckley Miller Wright UNQUALIFIED72Elwin Sharvill
1043Tony K RulapaughFrance2024-05-28Commercial Press UNQUALIFIED68Onyama Limba
1044Faith L RulapaughRussia2024-06-07Feiner Bros RENEWAL92Anna Fali
1045Jones E MacleadGermany2024-05-29Printing Dimensions QUALIFIED24Anna Fali
1046Kaitlin Z MarrierSpain2024-05-23Chapman, Ross E Esq PROPOSAL46Asiya Javayant
1047Jeanfrancois D RoysterArgentina2024-06-01Chanay, Jeffrey A Esq PROPOSAL96Xuxue Feng
1048Kadeem E OstroskyItaly2024-05-22Truhlar And Truhlar Attys UNQUALIFIED19Bernardo Dominic
1049Salvatore F CaudyCanada2024-05-31Dorl, James J Esq PROPOSAL69Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba M DarakjyJapanAmy Elsner UNQUALIFIED
Wickens N SergiJapanIvan Magalhaes PROPOSAL
Smith P PerinGermanyAsiya Javayant QUALIFIED
Claire R FerenczUnited KingdomElwin Sharvill QUALIFIED
Leja F KolmetzUnited KingdomOnyama Limba RENEWAL
Mujtaba P SchemmerSpainAmy Elsner NEW
Ivar G DoeArgentinaIoni Bowcher NEGOTIATION
Maisha F NestleItalyAsiya Javayant NEGOTIATION
Wickens N BriddickIndiaOnyama Limba NEGOTIATION
Leon Q RutaUnited KingdomStephen Shaw QUALIFIED
Kadeem E SlusarskiUnited KingdomAmy Elsner UNQUALIFIED
Maisha V MorascaGermanyStephen Shaw NEW
Ashley G SergiAustraliaAnna Fali PROPOSAL
Jennifer C NickaItalyElwin Sharvill PROPOSAL
Morrow S SchemmerIndiaAsiya Javayant RENEWAL
Izzy X FigeroaFranceAmy Elsner QUALIFIED
Faith B RimFranceIvan Magalhaes UNQUALIFIED
Nicolas G TollnerArgentinaAsiya Javayant UNQUALIFIED
David L BowleySpainIoni Bowcher RENEWAL
Misaki M VocelkaBrazilStephen Shaw QUALIFIED
Kaitlin C MarrierItalyIoni Bowcher RENEWAL
Emily F BologniaIndiaIvan Magalhaes UNQUALIFIED
Jennifer P InouyeIndiaBernardo Dominic QUALIFIED
Clifford A WieserIndiaElwin Sharvill QUALIFIED
Nicolas A PoquetteIndiaAmy Elsner UNQUALIFIED
Johnson N MacleadBrazilAmy Elsner RENEWAL
Tony E FlosiBrazilStephen Shaw NEGOTIATION
Jones R ButtIndiaOnyama Limba PROPOSAL
Nicolas C MorascaBrazilOnyama Limba PROPOSAL
Cody W GillianJapanIvan Magalhaes NEGOTIATION
Munro G PoquetteRussiaAmy Elsner NEW
Stacey N NestleGermanyOnyama Limba UNQUALIFIED
Claire Z TollnerCanadaAsiya Javayant RENEWAL
Arvin E RimSpainIoni Bowcher RENEWAL
Leja T PoquetteBrazilAsiya Javayant NEW
Alejandro D IturbideFranceElwin Sharvill NEW
Munro B SaylorsSpainElwin Sharvill QUALIFIED
Nicolas J NestleFranceAnna Fali UNQUALIFIED
Salvatore U StensethGermanyBernardo Dominic PROPOSAL
Maisha U PoquetteItalyStephen Shaw NEW
Jennifer P WieserFranceIvan Magalhaes PROPOSAL
Smith A CampainCanadaStephen Shaw UNQUALIFIED
Murillo J ChuiArgentinaAsiya Javayant QUALIFIED
Aruna P FigeroaRussiaAsiya Javayant PROPOSAL
Murillo A NestleIndiaAsiya Javayant QUALIFIED
Clifford B NestleFranceAsiya Javayant UNQUALIFIED
Jennifer M RoysterAustraliaXuxue Feng RENEWAL
Francesco F OldroydIndiaBernardo Dominic NEW
Cody V FollerAustraliaAsiya Javayant PROPOSAL
Maisha O SaylorsUnited KingdomIvan Magalhaes RENEWAL
Frozen Columns
Name
Deepesh T Marrier
Emily L Stockham
Murillo S Nestle
Rodrigues K Caudy
Faith G Bowley
Smith O Ferencz
Jones H Saylors
Juan G Rulapaugh
Aika J Dilliard
Ivar I Marrier
Johnson X Kolmetz
Julie B Doe
Arvin Z Whobrey
Jeanfrancois C Slusarski
Nicolas L Paprocki
Misaki W Flosi
Johnson D Gaucho
Salvatore X Glick
Cody J Morasca
Jones A Poquette
David N Poquette
Silvio X Stenseth
Murillo P Ruta
Ricardo R Doe
Antonio S Butt
Chavez A Iturbide
Ashley C Albares
Rodrigues E Iturbide
Juan E Tollner
Morrow V Gillian
Kaitlin M Butt
Francesco L Perin
Misaki W Waycott
Salvatore Y Iturbide
Aika C Nicka
Clifford M Ostrosky
Jennifer Y Malet
Rodrigues D Slusarski
Nicolas I Ostrosky
Adams T Whobrey
Mayumi T Darakjy
James J Briddick
Murillo M Nestle
Rodrigues W Butt
Octavia W Albares
Cody H Ostrosky
Nicolas U Kolmetz
Smith P Rulapaugh
Mujtaba Y Figeroa
Francesco X Slusarski
IdCountryDate
1000Spain2024-05-14
1001Japan2024-05-11
1002Spain2024-06-03
1003Canada2024-05-14
1004Argentina2024-06-02
1005India2024-06-07
1006France2024-06-04
1007Russia2024-05-24
1008United Kingdom2024-05-30
1009Russia2024-06-05
1010Spain2024-06-04
1011Italy2024-05-19
1012Italy2024-05-12
1013United Kingdom2024-06-07
1014France2024-05-22
1015United Kingdom2024-05-09
1016United Kingdom2024-05-21
1017Spain2024-05-12
1018Russia2024-06-01
1019Russia2024-06-01
1020Australia2024-05-12
1021Italy2024-05-31
1022France2024-05-18
1023Argentina2024-05-16
1024India2024-05-15
1025Japan2024-05-12
1026Japan2024-05-09
1027Brazil2024-05-13
1028Canada2024-05-31
1029Australia2024-05-19
1030Canada2024-05-11
1031Italy2024-05-18
1032Argentina2024-06-07
1033Italy2024-05-10
1034Japan2024-05-16
1035Canada2024-05-12
1036Canada2024-05-09
1037United Kingdom2024-05-14
1038India2024-05-20
1039France2024-05-11
1040Japan2024-06-02
1041United Kingdom2024-06-04
1042Italy2024-05-22
1043Australia2024-05-09
1044Argentina2024-05-16
1045Brazil2024-05-23
1046Brazil2024-05-14
1047Japan2024-05-19
1048Australia2024-05-14
1049France2024-05-13

On-Demand Data

NameIdCountryDate
James S Venere1000Argentina2024-05-13
Kaitlin Z Tollner1001Brazil2024-05-19
Kaitlin M Iturbide1002Canada2024-05-15
Ricardo I Rim1003United Kingdom2024-05-27
Clifford W Ferencz1004India2024-05-30
Octavia B Amigon1005Australia2024-05-29
Clifford G Nestle1006Spain2024-05-27
Salvatore H Figeroa1007Spain2024-05-12
Ricardo X Chui1008United Kingdom2024-05-30
Deepesh H Waycott1009Japan2024-05-24
Claire O Slusarski1010Canada2024-05-29
Murillo T Amigon1011Brazil2024-05-31
David D Kolmetz1012Russia2024-05-28
Rodrigues T Inouye1013Spain2024-05-28
Izzy I Doe1014Brazil2024-06-01
Silvio L Bolognia1015United Kingdom2024-05-26
Leja R Poquette1016Argentina2024-05-14
Jefferson I Iturbide1017Japan2024-05-21
Salvatore Y Dilliard1018Spain2024-05-12
Ivar T Whobrey1019Australia2024-05-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith Q KolmetzGermanyXuxue Feng RENEWAL
Jefferson Z FigeroaBrazilXuxue Feng PROPOSAL
Arvin K CampainItalyIvan Magalhaes PROPOSAL
Smith S IturbideArgentinaXuxue Feng NEW
Jones C DarakjyUnited KingdomIoni Bowcher NEGOTIATION
Leon P OldroydBrazilAsiya Javayant UNQUALIFIED
Izzy F FlosiGermanyIvan Magalhaes UNQUALIFIED
Chavez W GillianArgentinaIoni Bowcher RENEWAL
Leon V GillianSpainAsiya Javayant NEW
Jeanfrancois T SaylorsBrazilAmy Elsner UNQUALIFIED
Izzy W GauchoCanadaBernardo Dominic RENEWAL
Maria U PaprockiIndiaElwin Sharvill NEGOTIATION
Clifford O VenereRussiaIvan Magalhaes PROPOSAL
Ricardo V DarakjyFranceXuxue Feng NEW
Francesco G RimItalyXuxue Feng QUALIFIED
Adams Z FerenczCanadaBernardo Dominic QUALIFIED
Chavez Y ButtBrazilBernardo Dominic NEGOTIATION
Emily F MaletCanadaBernardo Dominic QUALIFIED
Munro N PoquetteAustraliaElwin Sharvill PROPOSAL
Costa A CampainJapanAmy Elsner QUALIFIED
Juan I VenereRussiaOnyama Limba UNQUALIFIED
Rodrigues F OstroskyBrazilElwin Sharvill NEGOTIATION
Smith S OstroskyIndiaIvan Magalhaes NEGOTIATION
Isabel B MaletCanadaIoni Bowcher QUALIFIED
Aditya I CaldareraGermanyAnna Fali PROPOSAL
Sinclair C MaletSpainXuxue Feng UNQUALIFIED
Jones Q StockhamGermanyXuxue Feng RENEWAL
James V IturbideBrazilIvan Magalhaes NEGOTIATION
Darci U TollnerArgentinaElwin Sharvill UNQUALIFIED
Kaitlin C GarufiUnited KingdomOnyama Limba NEW
Mujtaba Q CampainBrazilAsiya Javayant RENEWAL
Chavez L SchemmerBrazilOnyama Limba RENEWAL
Octavia Z WieserItalyOnyama Limba RENEWAL
Smith T PerinCanadaXuxue Feng QUALIFIED
Aruna J GarufiItalyBernardo Dominic NEGOTIATION
Misaki E InouyeBrazilAmy Elsner RENEWAL
Chavez X StockhamGermanyElwin Sharvill QUALIFIED
Jeanfrancois U NestleArgentinaBernardo Dominic UNQUALIFIED
Misaki E BologniaBrazilIoni Bowcher QUALIFIED
Juan B NickaArgentinaElwin Sharvill QUALIFIED

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