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
Johnson F InouyeUnited KingdomStephen Shaw NEW
Alejandro F FlosiIndiaXuxue Feng NEGOTIATION
Mayumi T WieserAustraliaAsiya Javayant NEGOTIATION
Rodrigues U BologniaArgentinaIoni Bowcher NEGOTIATION
Aika P GlickGermanyXuxue Feng PROPOSAL
Cody N PoquetteCanadaStephen Shaw QUALIFIED
Sinclair E DilliardUnited KingdomAnna Fali UNQUALIFIED
Tony D AlbaresSpainAsiya Javayant QUALIFIED
Kadeem Z RoysterAustraliaAsiya Javayant QUALIFIED
Johnson Q StensethJapanOnyama Limba QUALIFIED
Murillo L OldroydIndiaIvan Magalhaes QUALIFIED
Julie M NickaGermanyBernardo Dominic RENEWAL
Smith X GillianIndiaStephen Shaw NEW
Maria B BriddickRussiaXuxue Feng NEGOTIATION
Rodrigues F KolmetzArgentinaBernardo Dominic NEW
Jeanfrancois Q FlosiSpainBernardo Dominic UNQUALIFIED
Clifford M DoeIndiaXuxue Feng PROPOSAL
Kaitlin P WaycottIndiaStephen Shaw NEW
Maisha E MacleadBrazilElwin Sharvill PROPOSAL
Jeanfrancois H OstroskyItalyStephen Shaw PROPOSAL
Jefferson D DilliardItalyOnyama Limba NEGOTIATION
Claire X RulapaughJapanElwin Sharvill NEGOTIATION
Deepesh X GarufiFranceElwin Sharvill RENEWAL
Johnson B CampainCanadaElwin Sharvill NEGOTIATION
Leon V AmigonFranceXuxue Feng RENEWAL
Salvatore R MorascaIndiaAsiya Javayant UNQUALIFIED
Adams B WaycottFranceStephen Shaw NEGOTIATION
David R BriddickBrazilAmy Elsner UNQUALIFIED
Johnson S RoysterBrazilOnyama Limba PROPOSAL
Adams E RimUnited KingdomBernardo Dominic NEGOTIATION
Mayumi C WhobreyFranceIvan Magalhaes UNQUALIFIED
Jefferson I PaprockiArgentinaStephen Shaw NEW
Octavia D GauchoUnited KingdomBernardo Dominic UNQUALIFIED
David H WhobreyCanadaBernardo Dominic PROPOSAL
Juan Y IturbideSpainAnna Fali RENEWAL
Antonio W VenereIndiaIvan Magalhaes PROPOSAL
Ricardo F GauchoSpainIvan Magalhaes UNQUALIFIED
Ashley Q GillianItalyAnna Fali NEW
David U CampainBrazilAnna Fali UNQUALIFIED
Johnson V IturbideGermanyStephen Shaw RENEWAL
Rodrigues I WhobreyItalyAsiya Javayant UNQUALIFIED
Nicolas E BowleyBrazilBernardo Dominic PROPOSAL
Emily P NestleFranceAnna Fali NEW
Greenwood T RoysterBrazilOnyama Limba PROPOSAL
Alejandro Y FerenczItalyStephen Shaw UNQUALIFIED
Nicolas E CaudyBrazilAmy Elsner NEW
Maisha I FigeroaAustraliaXuxue Feng UNQUALIFIED
Deepesh V CampainCanadaStephen Shaw RENEWAL
Silvio O SaylorsFranceOnyama Limba UNQUALIFIED
David M DarakjyFranceStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jefferson U PoquetteItalyStephen Shaw NEGOTIATION
Jennifer D RulapaughJapanElwin Sharvill NEGOTIATION
Wickens B NestleItalyOnyama Limba QUALIFIED
Claire L DoeFranceAnna Fali NEGOTIATION
David O GillianRussiaIvan Magalhaes UNQUALIFIED
Nicolas R MacleadAustraliaElwin Sharvill UNQUALIFIED
Isabel B MorascaRussiaAsiya Javayant RENEWAL
Morrow W NestleCanadaAnna Fali PROPOSAL
Aika M WhobreyGermanyIoni Bowcher UNQUALIFIED
Alejandro X RimArgentinaStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie S DarakjyCanada2024-09-23Truhlar And Truhlar Attys QUALIFIED2Stephen Shaw
1001Stacey K OldroydArgentina2024-09-14Printing Dimensions UNQUALIFIED17Ivan Magalhaes
1002Ashley K MarrierAustralia2024-08-30Printing Dimensions NEGOTIATION9Amy Elsner
1003Kadeem G SergiRussia2024-09-20Benton, John B Jr NEGOTIATION12Ioni Bowcher
1004Morrow W TollnerSpain2024-09-18King, Christopher A Esq PROPOSAL27Ioni Bowcher
1005Aruna M WaycottJapan2024-08-31Dorl, James J Esq QUALIFIED94Elwin Sharvill
1006Murillo N MaletGermany2024-09-14Rangoni Of Florence PROPOSAL51Anna Fali
1007Juan T FigeroaItaly2024-09-10Chemel, James L Cpa NEGOTIATION68Ioni Bowcher
1008Francesco W WhobreyAustralia2024-09-09Buckley Miller Wright RENEWAL60Elwin Sharvill
1009Misaki Y RutaCanada2024-09-15Rangoni Of Florence PROPOSAL0Bernardo Dominic
1010Faith W CampainUnited Kingdom2024-08-28Chapman, Ross E Esq NEW72Onyama Limba
1011Cody P DarakjyGermany2024-09-04Feiner Bros QUALIFIED46Bernardo Dominic
1012Sinclair C ButtCanada2024-09-06Chemel, James L Cpa PROPOSAL77Xuxue Feng
1013Darci J PoquetteIndia2024-09-23Feiner Bros PROPOSAL14Bernardo Dominic
1014Darci K InouyeItaly2024-09-24Dorl, James J Esq QUALIFIED15Stephen Shaw
1015Misaki D CaudyAustralia2024-09-17Rousseaux, Michael Esq UNQUALIFIED5Asiya Javayant
1016Claire C WaycottUnited Kingdom2024-09-25Printing Dimensions NEW66Bernardo Dominic
1017Stacey F MaletJapan2024-09-11Commercial Press QUALIFIED80Xuxue Feng
1018Greenwood B MorascaJapan2024-08-30King, Christopher A Esq NEGOTIATION77Xuxue Feng
1019Jennifer L InouyeCanada2024-09-03Printing Dimensions QUALIFIED96Onyama Limba
1020Morrow T RimJapan2024-09-13Morlong Associates NEGOTIATION71Anna Fali
1021Juan Z ShinkoIndia2024-09-22Printing Dimensions NEGOTIATION66Elwin Sharvill
1022Darci D WieserItaly2024-09-23Chanay, Jeffrey A Esq UNQUALIFIED84Onyama Limba
1023Smith K CampainArgentina2024-09-16Benton, John B Jr UNQUALIFIED89Asiya Javayant
1024Ivar F MaletAustralia2024-08-30Feiner Bros QUALIFIED29Xuxue Feng
1025Rodrigues X NickaBrazil2024-08-28Chapman, Ross E Esq UNQUALIFIED18Bernardo Dominic
1026Ivar C FigeroaSpain2024-09-10Dorl, James J Esq NEW1Amy Elsner
1027Jennifer B CaldareraBrazil2024-09-05Chemel, James L Cpa RENEWAL12Elwin Sharvill
1028Leon K MacleadBrazil2024-09-10Feiner Bros PROPOSAL32Asiya Javayant
1029Cody E FollerRussia2024-09-15Commercial Press UNQUALIFIED31Bernardo Dominic
1030Tony M WaycottUnited Kingdom2024-09-23King, Christopher A Esq NEGOTIATION85Bernardo Dominic
1031Aditya F InouyeJapan2024-08-27Chapman, Ross E Esq PROPOSAL27Elwin Sharvill
1032Costa Y VocelkaItaly2024-09-19Feiner Bros NEW1Ivan Magalhaes
1033Salvatore B TollnerSpain2024-09-14Commercial Press QUALIFIED60Onyama Limba
1034Misaki V GarufiAustralia2024-08-31Chemel, James L Cpa QUALIFIED42Onyama Limba
1035Julie Y AmigonUnited Kingdom2024-09-21Printing Dimensions PROPOSAL61Stephen Shaw
1036Antonio Q RulapaughItaly2024-09-21Rangoni Of Florence NEGOTIATION71Bernardo Dominic
1037Sinclair N DilliardCanada2024-09-13Printing Dimensions RENEWAL16Elwin Sharvill
1038Adams I FerenczCanada2024-09-17Chemel, James L Cpa RENEWAL21Xuxue Feng
1039Tony P GillianSpain2024-09-18Rousseaux, Michael Esq QUALIFIED99Amy Elsner
1040Claire J PerinSpain2024-09-23Chanay, Jeffrey A Esq PROPOSAL95Ioni Bowcher
1041Claire W KuskoUnited Kingdom2024-08-30Chanay, Jeffrey A Esq NEW73Bernardo Dominic
1042Juan S IturbideUnited Kingdom2024-09-07Chanay, Jeffrey A Esq NEGOTIATION77Asiya Javayant
1043Ashley L RulapaughIndia2024-09-14Truhlar And Truhlar Attys RENEWAL93Onyama Limba
1044Claire O DilliardSpain2024-09-14Chanay, Jeffrey A Esq QUALIFIED80Amy Elsner
1045Costa M GillianArgentina2024-09-06Printing Dimensions UNQUALIFIED93Bernardo Dominic
1046Stacey L OldroydItaly2024-09-11Commercial Press QUALIFIED18Onyama Limba
1047Nicolas R SlusarskiGermany2024-09-20Feltz Printing Service NEW9Xuxue Feng
1048Adams F PoquetteIndia2024-09-20Chapman, Ross E Esq PROPOSAL39Ivan Magalhaes
1049Aika D VocelkaJapan2024-09-08Feltz Printing Service NEW10Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Leon Y RutaIndiaBernardo Dominic QUALIFIED
Ashley E ButtJapanAsiya Javayant UNQUALIFIED
Silvio A RimArgentinaIoni Bowcher NEGOTIATION
Octavia T WaycottArgentinaOnyama Limba UNQUALIFIED
Nicolas U MorascaFranceXuxue Feng NEW
Jones C CampainCanadaIoni Bowcher UNQUALIFIED
Murillo B TollnerItalyStephen Shaw UNQUALIFIED
Kaitlin X CampainIndiaBernardo Dominic UNQUALIFIED
Mayumi X GillianRussiaStephen Shaw NEGOTIATION
Jennifer U MacleadArgentinaOnyama Limba RENEWAL
Faith Z StockhamAustraliaStephen Shaw NEW
Ashley Y PoquetteUnited KingdomElwin Sharvill NEGOTIATION
Cody E FollerJapanOnyama Limba NEGOTIATION
Kaitlin D VocelkaRussiaIvan Magalhaes NEGOTIATION
Darci P BowleyAustraliaIvan Magalhaes PROPOSAL
Aditya S SergiAustraliaIvan Magalhaes QUALIFIED
Sinclair O NickaGermanyAsiya Javayant PROPOSAL
Juan F BowleyItalyAsiya Javayant UNQUALIFIED
Nicolas I MaletJapanBernardo Dominic PROPOSAL
Alejandro J FigeroaCanadaXuxue Feng PROPOSAL
Leja M FigeroaArgentinaBernardo Dominic UNQUALIFIED
Maisha H MacleadJapanOnyama Limba NEW
Francesco H CaudyFranceStephen Shaw PROPOSAL
David L VocelkaRussiaOnyama Limba RENEWAL
Silvio I FigeroaBrazilIoni Bowcher QUALIFIED
Izzy B CaudyIndiaOnyama Limba NEGOTIATION
Smith E BowleyFranceBernardo Dominic NEW
Emily G ShinkoCanadaIoni Bowcher RENEWAL
Rodrigues K FlosiUnited KingdomAnna Fali PROPOSAL
Stacey Z RutaSpainAnna Fali UNQUALIFIED
Jones B MorascaIndiaOnyama Limba RENEWAL
Leja S FigeroaAustraliaXuxue Feng NEGOTIATION
Isabel W PoquetteRussiaOnyama Limba QUALIFIED
Clifford S TollnerBrazilIoni Bowcher NEW
Jennifer F ShinkoCanadaAnna Fali QUALIFIED
Stacey G OstroskySpainElwin Sharvill RENEWAL
Faith F RutaIndiaOnyama Limba QUALIFIED
Ricardo K DilliardSpainAnna Fali UNQUALIFIED
Silvio R CaldareraSpainIvan Magalhaes NEGOTIATION
Mujtaba A RutaUnited KingdomXuxue Feng UNQUALIFIED
Clifford B WaycottBrazilIoni Bowcher RENEWAL
Greenwood R FlosiSpainOnyama Limba NEW
Mujtaba E BologniaFranceXuxue Feng UNQUALIFIED
Munro T PaprockiUnited KingdomStephen Shaw PROPOSAL
Tony D WieserGermanyElwin Sharvill PROPOSAL
James F FerenczCanadaXuxue Feng RENEWAL
Jennifer N GarufiRussiaIvan Magalhaes PROPOSAL
Leon J MarrierSpainStephen Shaw QUALIFIED
Ivar Z WieserBrazilAsiya Javayant QUALIFIED
Octavia R MaletJapanElwin Sharvill RENEWAL
Frozen Columns
Name
Ashley C Butt
Emily Q Ruta
Alejandro X Chui
Tony C Waycott
Leja F Nestle
Jones E Royster
Mujtaba T Caudy
Tony K Butt
James T Stenseth
Costa D Malet
Leon V Stenseth
Silvio G Ferencz
Kadeem Y Slusarski
Leon Z Paprocki
Octavia Z Malet
Chavez P Figeroa
Jeanfrancois R Foller
Izzy G Nicka
David V Iturbide
Alejandro B Sergi
Aruna R Malet
David E Ferencz
Aditya A Kusko
Mujtaba F Tollner
Costa R Dilliard
Ivar O Briddick
Darci L Royster
Jennifer M Shinko
Francesco F Maclead
Maisha E Dilliard
Antonio I Figeroa
Aditya R Gillian
Misaki I Malet
Ashley Y Paprocki
Mujtaba F Briddick
Mujtaba P Perin
Faith S Royster
Aika U Bolognia
Jeanfrancois N Amigon
Tony X Caudy
Murillo Y Malet
David D Schemmer
Juan N Caudy
Antonio P Bolognia
Jennifer O Darakjy
Kaitlin X Bolognia
Greenwood X Rulapaugh
Isabel E Shinko
Faith X Malet
Ricardo R Royster
IdCountryDate
1000India2024-09-09
1001Australia2024-09-13
1002Russia2024-08-27
1003Australia2024-09-01
1004India2024-09-25
1005Argentina2024-09-04
1006Germany2024-09-15
1007Australia2024-09-16
1008Australia2024-09-07
1009France2024-09-12
1010India2024-09-06
1011Spain2024-09-03
1012Canada2024-09-08
1013Spain2024-08-31
1014France2024-09-02
1015Italy2024-09-23
1016Russia2024-09-13
1017France2024-09-05
1018Japan2024-09-10
1019Italy2024-09-25
1020India2024-08-28
1021Germany2024-09-17
1022Canada2024-08-27
1023Italy2024-09-08
1024United Kingdom2024-09-10
1025Canada2024-09-21
1026Argentina2024-08-30
1027India2024-09-25
1028Spain2024-08-28
1029Brazil2024-09-22
1030Canada2024-09-19
1031Canada2024-09-14
1032France2024-08-30
1033India2024-09-03
1034India2024-09-18
1035Japan2024-09-18
1036Germany2024-09-09
1037Argentina2024-09-23
1038Brazil2024-09-01
1039Brazil2024-08-31
1040Brazil2024-09-21
1041Italy2024-09-09
1042Australia2024-08-29
1043Japan2024-09-06
1044Russia2024-09-10
1045United Kingdom2024-08-31
1046Italy2024-08-29
1047Argentina2024-09-25
1048Italy2024-08-29
1049Italy2024-08-31

On-Demand Data

NameIdCountryDate
Rodrigues R Waycott1000Canada2024-09-20
Salvatore N Vocelka1001Argentina2024-08-29
Stacey V Ostrosky1002Germany2024-09-22
Emily I Rim1003India2024-09-02
Sinclair I Ostrosky1004Argentina2024-09-22
Octavia K Foller1005France2024-09-04
Salvatore U Tollner1006Australia2024-09-16
Darci U Stockham1007Italy2024-09-04
Aika J Bolognia1008Germany2024-09-02
Adams D Campain1009Argentina2024-09-24
Juan R Venere1010Russia2024-09-03
Kaitlin N Albares1011Germany2024-08-27
Antonio O Dilliard1012Canada2024-09-14
Adams D Royster1013United Kingdom2024-09-02
Greenwood D Perin1014Italy2024-09-24
Francesco D Royster1015Brazil2024-09-12
Sinclair P Slusarski1016Germany2024-09-01
Isabel O Saylors1017France2024-09-11
Alejandro I Bowley1018Japan2024-09-12
Alejandro V Wieser1019France2024-09-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio K RulapaughArgentinaAmy Elsner UNQUALIFIED
Julie U GarufiRussiaIoni Bowcher UNQUALIFIED
Jones N MorascaFranceElwin Sharvill UNQUALIFIED
Ivar C FerenczBrazilBernardo Dominic NEW
Arvin W MaletItalyElwin Sharvill RENEWAL
Ivar Y PaprockiSpainBernardo Dominic UNQUALIFIED
Aika J PaprockiIndiaAmy Elsner NEW
Izzy Q BowleyFranceAmy Elsner UNQUALIFIED
Cody B RoysterAustraliaIvan Magalhaes PROPOSAL
Leon U BriddickFranceXuxue Feng UNQUALIFIED
Morrow Q DilliardAustraliaOnyama Limba PROPOSAL
Maria O DoeArgentinaStephen Shaw QUALIFIED
Johnson Y SlusarskiSpainAsiya Javayant UNQUALIFIED
Maria G GauchoBrazilAmy Elsner NEW
Deepesh Q SergiBrazilStephen Shaw QUALIFIED
Maria Z WhobreyGermanyStephen Shaw NEW
Wickens T MaletFranceAsiya Javayant UNQUALIFIED
Isabel T KuskoFranceIoni Bowcher RENEWAL
Jones U WhobreyCanadaBernardo Dominic PROPOSAL
Misaki Q NickaArgentinaElwin Sharvill NEW
Jennifer R GauchoFranceIvan Magalhaes NEGOTIATION
Juan Z AlbaresRussiaAsiya Javayant PROPOSAL
Leja K ChuiGermanyAnna Fali NEGOTIATION
Faith W NickaSpainIoni Bowcher QUALIFIED
Smith A GlickAustraliaIvan Magalhaes RENEWAL
Antonio J TollnerJapanIoni Bowcher UNQUALIFIED
Jefferson T ShinkoIndiaIvan Magalhaes NEGOTIATION
Jones Q CaudyUnited KingdomElwin Sharvill UNQUALIFIED
Wickens T FigeroaBrazilAmy Elsner UNQUALIFIED
Greenwood K OldroydIndiaAsiya Javayant RENEWAL
Salvatore Y GlickAustraliaAmy Elsner RENEWAL
Ashley R GillianJapanElwin Sharvill NEGOTIATION
Mayumi L PerinGermanyBernardo Dominic RENEWAL
Aruna F CaudyJapanIvan Magalhaes NEW
Izzy G GauchoJapanBernardo Dominic NEW
Jeanfrancois K WaycottItalyStephen Shaw PROPOSAL
Julie F FollerBrazilBernardo Dominic RENEWAL
Chavez J WieserArgentinaElwin Sharvill PROPOSAL
Francesco Y MaletGermanyIvan Magalhaes PROPOSAL
Clifford L AmigonCanadaIvan Magalhaes UNQUALIFIED

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