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
Faith C RimJapanStephen Shaw PROPOSAL
Kaitlin V NickaRussiaAsiya Javayant NEGOTIATION
Alejandro H SergiItalyIvan Magalhaes NEGOTIATION
Kadeem T MacleadBrazilBernardo Dominic NEGOTIATION
Misaki B CaudyGermanyStephen Shaw QUALIFIED
Maria O AlbaresAustraliaAsiya Javayant NEW
Ashley Z GlickCanadaXuxue Feng NEGOTIATION
Costa U DarakjyBrazilAmy Elsner QUALIFIED
Munro A FollerItalyAmy Elsner RENEWAL
Ivar D AmigonSpainBernardo Dominic UNQUALIFIED
Misaki S OstroskyFranceIoni Bowcher NEGOTIATION
Leja K AmigonGermanyAmy Elsner NEGOTIATION
Tony V KolmetzRussiaStephen Shaw QUALIFIED
Octavia R DarakjyFranceXuxue Feng UNQUALIFIED
Deepesh Y PaprockiUnited KingdomAnna Fali UNQUALIFIED
Cody M SergiAustraliaIoni Bowcher QUALIFIED
Greenwood X RutaJapanIoni Bowcher RENEWAL
Juan H RimSpainElwin Sharvill UNQUALIFIED
Munro Q FerenczJapanElwin Sharvill UNQUALIFIED
Stacey I VocelkaJapanXuxue Feng RENEWAL
Jeanfrancois K GauchoBrazilStephen Shaw RENEWAL
Ivar N BriddickFranceAnna Fali PROPOSAL
Leon V SergiGermanyIoni Bowcher NEW
Smith O FerenczFranceIvan Magalhaes UNQUALIFIED
Costa A DarakjyGermanyOnyama Limba PROPOSAL
Costa R MaletGermanyStephen Shaw NEGOTIATION
James C MarrierAustraliaElwin Sharvill PROPOSAL
Kadeem A RulapaughBrazilXuxue Feng NEW
Jennifer U FigeroaCanadaStephen Shaw RENEWAL
Jefferson T NickaIndiaAmy Elsner RENEWAL
Misaki E PoquetteUnited KingdomIvan Magalhaes UNQUALIFIED
Aika J GarufiFranceAnna Fali NEW
Julie D MarrierFranceOnyama Limba PROPOSAL
Ricardo H DarakjyUnited KingdomOnyama Limba RENEWAL
James D BowleyJapanXuxue Feng RENEWAL
Mayumi E StockhamItalyElwin Sharvill QUALIFIED
Salvatore U BowleyJapanAnna Fali NEGOTIATION
Murillo I FlosiUnited KingdomBernardo Dominic RENEWAL
Salvatore M PerinCanadaOnyama Limba UNQUALIFIED
Silvio H GillianItalyAnna Fali RENEWAL
Jeanfrancois B GlickArgentinaAmy Elsner NEW
Maisha A BowleyJapanAsiya Javayant UNQUALIFIED
Murillo Z AlbaresUnited KingdomStephen Shaw PROPOSAL
Chavez O GarufiRussiaAsiya Javayant NEW
Kadeem C MacleadAustraliaAsiya Javayant UNQUALIFIED
Cody Y CaudyRussiaStephen Shaw QUALIFIED
David V SaylorsFranceAsiya Javayant RENEWAL
Jones Z DarakjyJapanOnyama Limba UNQUALIFIED
Costa F FlosiFranceAmy Elsner QUALIFIED
Juan Q GlickCanadaAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Antonio Z KolmetzArgentinaIoni Bowcher PROPOSAL
Rodrigues H PaprockiBrazilStephen Shaw QUALIFIED
Smith Q PoquetteUnited KingdomIvan Magalhaes QUALIFIED
Aditya Q PerinRussiaElwin Sharvill QUALIFIED
Izzy B RimFranceStephen Shaw QUALIFIED
Murillo W WaycottArgentinaAnna Fali RENEWAL
Chavez Z BologniaItalyOnyama Limba NEW
Greenwood L SaylorsJapanElwin Sharvill QUALIFIED
Juan J OldroydUnited KingdomOnyama Limba PROPOSAL
Ivar B RutaCanadaAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams V FlosiBrazil2024-06-13Feiner Bros PROPOSAL17Bernardo Dominic
1001Julie J RulapaughCanada2024-06-16Chemel, James L Cpa NEW48Ioni Bowcher
1002Chavez G RulapaughJapan2024-06-06King, Christopher A Esq NEW37Onyama Limba
1003Greenwood I PerinItaly2024-06-03Feltz Printing Service NEGOTIATION70Ioni Bowcher
1004Maria L BowleyUnited Kingdom2024-05-25Rangoni Of Florence UNQUALIFIED73Elwin Sharvill
1005Deepesh L KolmetzFrance2024-06-19Rangoni Of Florence PROPOSAL46Asiya Javayant
1006Juan F OldroydIndia2024-06-01Truhlar And Truhlar Attys QUALIFIED14Ioni Bowcher
1007Kaitlin K SergiFrance2024-05-27Morlong Associates NEGOTIATION65Ioni Bowcher
1008Leon S StockhamArgentina2024-05-30Buckley Miller Wright QUALIFIED58Anna Fali
1009Maisha O OldroydAustralia2024-06-02Chanay, Jeffrey A Esq QUALIFIED61Ioni Bowcher
1010Costa C StensethAustralia2024-06-16Buckley Miller Wright UNQUALIFIED7Ioni Bowcher
1011Faith X DarakjyItaly2024-06-13Morlong Associates NEW18Xuxue Feng
1012Cody K SaylorsUnited Kingdom2024-06-07Feltz Printing Service NEW34Xuxue Feng
1013Alejandro A SergiFrance2024-06-19Benton, John B Jr PROPOSAL8Asiya Javayant
1014Francesco E AmigonJapan2024-05-27Chapman, Ross E Esq RENEWAL29Amy Elsner
1015Sinclair E StensethJapan2024-05-31Printing Dimensions NEGOTIATION13Xuxue Feng
1016Emily U MacleadSpain2024-05-28Feiner Bros NEGOTIATION55Elwin Sharvill
1017Jones E AlbaresJapan2024-06-17Feltz Printing Service NEGOTIATION30Amy Elsner
1018Nicolas Q PoquetteFrance2024-06-19Truhlar And Truhlar Attys NEW98Anna Fali
1019Johnson R MorascaGermany2024-06-13Feiner Bros PROPOSAL37Amy Elsner
1020Rodrigues Q ChuiJapan2024-05-26Rangoni Of Florence QUALIFIED11Xuxue Feng
1021Isabel V PerinBrazil2024-05-26King, Christopher A Esq NEGOTIATION31Ivan Magalhaes
1022Cody Z PaprockiAustralia2024-06-03Morlong Associates RENEWAL4Elwin Sharvill
1023Ricardo N BologniaIndia2024-06-04Chapman, Ross E Esq UNQUALIFIED80Asiya Javayant
1024Greenwood B BowleyFrance2024-06-01Rousseaux, Michael Esq UNQUALIFIED94Elwin Sharvill
1025Ivar U MarrierFrance2024-05-26Feltz Printing Service NEGOTIATION6Onyama Limba
1026Francesco G WieserJapan2024-06-06Chanay, Jeffrey A Esq PROPOSAL44Amy Elsner
1027Cody N InouyeIndia2024-05-24Dorl, James J Esq RENEWAL6Xuxue Feng
1028Murillo H ChuiFrance2024-06-02King, Christopher A Esq UNQUALIFIED99Ivan Magalhaes
1029Morrow V GarufiIndia2024-05-31Rangoni Of Florence UNQUALIFIED90Asiya Javayant
1030Izzy N DilliardJapan2024-06-20Commercial Press UNQUALIFIED42Ioni Bowcher
1031Ashley Y AlbaresGermany2024-06-13King, Christopher A Esq RENEWAL29Elwin Sharvill
1032Ricardo W RoysterGermany2024-06-06Chapman, Ross E Esq PROPOSAL82Elwin Sharvill
1033Arvin E OldroydArgentina2024-05-29Chanay, Jeffrey A Esq NEW85Elwin Sharvill
1034Jeanfrancois N RimBrazil2024-06-16Dorl, James J Esq QUALIFIED27Onyama Limba
1035Aditya D WhobreySpain2024-06-21Chapman, Ross E Esq NEGOTIATION32Bernardo Dominic
1036Maisha X CampainGermany2024-05-27King, Christopher A Esq NEW93Bernardo Dominic
1037Silvio T MaletFrance2024-06-01Dorl, James J Esq NEGOTIATION21Ivan Magalhaes
1038Francesco O StensethJapan2024-06-08Rangoni Of Florence PROPOSAL15Asiya Javayant
1039Cody C ChuiIndia2024-05-27Truhlar And Truhlar Attys NEW67Stephen Shaw
1040Leon U GarufiRussia2024-06-12Commercial Press NEW92Amy Elsner
1041Maisha K ChuiRussia2024-06-21Rangoni Of Florence NEW71Anna Fali
1042Deepesh E StensethCanada2024-06-01Printing Dimensions QUALIFIED54Stephen Shaw
1043Arvin Z KolmetzRussia2024-06-02Feiner Bros NEGOTIATION70Amy Elsner
1044Morrow P ChuiCanada2024-06-17Benton, John B Jr PROPOSAL92Stephen Shaw
1045Isabel J DarakjyUnited Kingdom2024-06-19Benton, John B Jr NEW33Stephen Shaw
1046Murillo F PaprockiItaly2024-06-15Commercial Press UNQUALIFIED3Ivan Magalhaes
1047David G AlbaresCanada2024-06-08Benton, John B Jr NEGOTIATION63Amy Elsner
1048Smith Z GillianIndia2024-06-02Feltz Printing Service PROPOSAL11Onyama Limba
1049Darci F RutaGermany2024-06-12King, Christopher A Esq RENEWAL96Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Ashley S FerenczUnited KingdomElwin Sharvill NEW
Morrow H FollerFranceBernardo Dominic RENEWAL
Claire P KolmetzJapanIoni Bowcher NEW
Aruna B MarrierIndiaAsiya Javayant UNQUALIFIED
Murillo Q WhobreySpainBernardo Dominic UNQUALIFIED
Silvio G SergiCanadaBernardo Dominic UNQUALIFIED
Darci G RulapaughSpainStephen Shaw UNQUALIFIED
Murillo B GillianRussiaAnna Fali PROPOSAL
David K PerinIndiaXuxue Feng NEGOTIATION
Izzy K MacleadArgentinaIvan Magalhaes RENEWAL
Aika C DilliardArgentinaXuxue Feng NEW
Tony X TollnerUnited KingdomAmy Elsner NEW
Johnson Z RulapaughGermanyAsiya Javayant NEGOTIATION
Stacey I WaycottFranceAnna Fali QUALIFIED
Clifford N GarufiJapanXuxue Feng UNQUALIFIED
Kaitlin O SaylorsFranceIvan Magalhaes UNQUALIFIED
Deepesh M DarakjyJapanElwin Sharvill RENEWAL
Misaki K FerenczSpainOnyama Limba UNQUALIFIED
Johnson O ShinkoGermanyElwin Sharvill QUALIFIED
Emily V VenereGermanyXuxue Feng UNQUALIFIED
Isabel F WhobreyItalyIvan Magalhaes PROPOSAL
Mujtaba J VenereSpainXuxue Feng NEGOTIATION
James H VenereIndiaAsiya Javayant QUALIFIED
Claire G WieserAustraliaAnna Fali QUALIFIED
Aditya O RimUnited KingdomStephen Shaw RENEWAL
Kaitlin P AlbaresArgentinaBernardo Dominic PROPOSAL
Maria A KuskoAustraliaElwin Sharvill NEGOTIATION
Claire Y MaletFranceIvan Magalhaes QUALIFIED
Chavez R CaldareraJapanIvan Magalhaes UNQUALIFIED
Arvin R GillianArgentinaAsiya Javayant NEGOTIATION
Mayumi H KolmetzBrazilElwin Sharvill UNQUALIFIED
David Q StensethGermanyStephen Shaw RENEWAL
Misaki J BologniaItalyAnna Fali RENEWAL
Nicolas L FigeroaFranceOnyama Limba QUALIFIED
Greenwood U GillianIndiaXuxue Feng RENEWAL
Claire E InouyeUnited KingdomBernardo Dominic QUALIFIED
Jefferson P NestleFranceOnyama Limba RENEWAL
Misaki P WaycottFranceAmy Elsner QUALIFIED
Mayumi D RulapaughItalyXuxue Feng QUALIFIED
Julie U MorascaGermanyIoni Bowcher UNQUALIFIED
Tony L KolmetzCanadaAnna Fali UNQUALIFIED
Jennifer M StensethSpainIvan Magalhaes QUALIFIED
Leja Q MorascaArgentinaIvan Magalhaes NEW
Alejandro C FollerAustraliaIoni Bowcher QUALIFIED
Francesco Z OstroskyJapanIoni Bowcher NEW
Silvio Q InouyeRussiaStephen Shaw NEGOTIATION
Alejandro D RutaArgentinaStephen Shaw RENEWAL
Sinclair Z IturbideJapanStephen Shaw NEGOTIATION
Nicolas Z SaylorsBrazilAnna Fali RENEWAL
Wickens O PaprockiSpainBernardo Dominic RENEWAL
Frozen Columns
Name
Wickens T Ruta
Johnson Q Morasca
Smith G Bolognia
Salvatore E Amigon
Izzy H Darakjy
Maria A Glick
Aruna I Ferencz
Sinclair B Gillian
Greenwood O Venere
Juan U Nestle
Greenwood S Schemmer
Julie H Campain
Wickens E Amigon
Chavez F Venere
Deepesh G Stockham
Tony F Caldarera
Mujtaba Z Schemmer
Johnson M Gillian
Deepesh S Nestle
Ricardo I Bolognia
Alejandro U Maclead
Misaki R Dilliard
Misaki M Ferencz
Darci G Marrier
Smith U Bowley
Mujtaba S Venere
Johnson A Morasca
Rodrigues K Tollner
Stacey D Foller
Leon Q Gillian
Clifford Y Campain
Stacey R Royster
Mayumi V Bolognia
Wickens F Maclead
Juan A Albares
Antonio S Chui
Greenwood H Venere
Francesco I Shinko
Mujtaba A Caudy
Antonio I Poquette
Kaitlin G Campain
Aditya Y Whobrey
Jefferson P Waycott
Sinclair F Foller
Chavez N Iturbide
Ashley J Nestle
Claire P Waycott
Jennifer F Marrier
Maisha F Bowley
Munro Z Butt
IdCountryDate
1000Germany2024-06-02
1001France2024-06-17
1002Russia2024-06-11
1003Japan2024-06-19
1004Brazil2024-06-10
1005Germany2024-06-17
1006United Kingdom2024-06-08
1007Canada2024-06-09
1008Brazil2024-06-14
1009Japan2024-06-08
1010India2024-05-31
1011Russia2024-06-11
1012Australia2024-06-21
1013Italy2024-06-01
1014Spain2024-06-13
1015Brazil2024-06-03
1016Russia2024-05-24
1017Japan2024-06-13
1018India2024-06-17
1019Spain2024-05-31
1020Canada2024-06-13
1021Germany2024-06-21
1022Japan2024-06-14
1023France2024-05-24
1024Australia2024-06-11
1025Japan2024-05-24
1026Germany2024-05-26
1027Spain2024-06-11
1028Russia2024-06-21
1029Italy2024-06-01
1030Canada2024-06-14
1031Spain2024-06-03
1032India2024-06-09
1033Italy2024-06-02
1034Canada2024-05-31
1035Japan2024-06-18
1036Canada2024-06-04
1037Russia2024-06-21
1038France2024-06-16
1039Japan2024-06-02
1040France2024-05-27
1041Japan2024-06-18
1042Argentina2024-05-23
1043Germany2024-06-04
1044Germany2024-06-19
1045Italy2024-05-31
1046Germany2024-05-30
1047France2024-06-10
1048Russia2024-06-19
1049Brazil2024-05-28

On-Demand Data

NameIdCountryDate
Adams R Poquette1000Japan2024-06-06
Wickens E Gaucho1001Italy2024-06-14
Clifford A Oldroyd1002United Kingdom2024-05-31
Kadeem H Bowley1003India2024-06-09
Clifford Z Gaucho1004United Kingdom2024-06-09
Leja H Venere1005Spain2024-06-19
Mujtaba Y Maclead1006Australia2024-06-14
Clifford P Whobrey1007Italy2024-05-31
Mujtaba B Rulapaugh1008Japan2024-06-17
Maisha H Malet1009Germany2024-06-04
Claire U Briddick1010France2024-06-04
Morrow V Nicka1011Spain2024-05-28
Octavia R Glick1012Germany2024-06-08
Deepesh M Perin1013Argentina2024-06-13
Francesco D Caudy1014India2024-05-31
Greenwood W Oldroyd1015Canada2024-05-29
Jones Z Chui1016Canada2024-05-29
Kadeem X Schemmer1017Russia2024-06-06
Faith L Shinko1018India2024-05-26
Nicolas K Stockham1019Russia2024-06-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois V MorascaItalyAsiya Javayant NEGOTIATION
Chavez Z RoysterJapanBernardo Dominic UNQUALIFIED
Jennifer M SaylorsSpainOnyama Limba NEW
Arvin K ShinkoGermanyBernardo Dominic NEGOTIATION
Antonio T StensethAustraliaOnyama Limba PROPOSAL
Chavez Z TollnerIndiaXuxue Feng UNQUALIFIED
Morrow O CaldareraRussiaIvan Magalhaes RENEWAL
Adams T WieserGermanyAnna Fali PROPOSAL
Antonio N DoeBrazilElwin Sharvill RENEWAL
Francesco I MacleadFranceAnna Fali NEW
Murillo L RimFranceAsiya Javayant NEGOTIATION
Stacey Q TollnerAustraliaAnna Fali RENEWAL
Ivar L FerenczAustraliaBernardo Dominic PROPOSAL
Julie Z KolmetzJapanAnna Fali NEGOTIATION
Juan N DoeCanadaOnyama Limba NEW
Mayumi L RutaIndiaBernardo Dominic PROPOSAL
Emily A FollerRussiaXuxue Feng NEW
Johnson V WieserIndiaIoni Bowcher QUALIFIED
Arvin N NestleBrazilAmy Elsner PROPOSAL
Salvatore D SergiRussiaIoni Bowcher UNQUALIFIED
Morrow G AmigonAustraliaOnyama Limba NEGOTIATION
Silvio E OstroskyFranceXuxue Feng QUALIFIED
Leja X RoysterAustraliaBernardo Dominic QUALIFIED
Munro A FlosiJapanIvan Magalhaes RENEWAL
Leon T VocelkaUnited KingdomBernardo Dominic PROPOSAL
Misaki H CampainItalyAmy Elsner PROPOSAL
Kadeem X PaprockiJapanAnna Fali PROPOSAL
David H GlickCanadaBernardo Dominic UNQUALIFIED
Aika E GillianCanadaStephen Shaw RENEWAL
Morrow J WaycottArgentinaXuxue Feng NEGOTIATION
Kadeem F FollerSpainOnyama Limba QUALIFIED
David I PaprockiJapanIvan Magalhaes NEGOTIATION
Octavia S KolmetzIndiaAmy Elsner NEGOTIATION
Misaki L OldroydIndiaBernardo Dominic UNQUALIFIED
Francesco O PoquetteBrazilIvan Magalhaes NEW
Leja F CaudyArgentinaAsiya Javayant QUALIFIED
Clifford A MorascaIndiaXuxue Feng PROPOSAL
Francesco K WaycottJapanXuxue Feng QUALIFIED
Greenwood Z FollerItalyBernardo Dominic NEW
Wickens Y FerenczJapanElwin Sharvill 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>