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
Costa Y ButtIndiaAmy Elsner NEW
Johnson O SergiAustraliaOnyama Limba UNQUALIFIED
Tony W ShinkoUnited KingdomIvan Magalhaes QUALIFIED
Stacey M RimJapanOnyama Limba NEGOTIATION
Mayumi G RulapaughItalyAsiya Javayant PROPOSAL
Munro H DarakjyFranceStephen Shaw NEGOTIATION
Francesco V MorascaCanadaAnna Fali QUALIFIED
Murillo B SaylorsJapanOnyama Limba NEGOTIATION
Leja S FollerItalyIoni Bowcher UNQUALIFIED
Jeanfrancois X ShinkoAustraliaOnyama Limba NEGOTIATION
Francesco A CaudyRussiaBernardo Dominic NEW
Ivar A IturbideJapanIoni Bowcher PROPOSAL
Leon S GlickIndiaAmy Elsner NEGOTIATION
Antonio P RulapaughArgentinaStephen Shaw UNQUALIFIED
Johnson B ButtRussiaBernardo Dominic UNQUALIFIED
Jeanfrancois B ChuiUnited KingdomAnna Fali PROPOSAL
Mayumi S InouyeJapanAnna Fali RENEWAL
Cody U TollnerIndiaStephen Shaw QUALIFIED
Antonio Z IturbideFranceStephen Shaw QUALIFIED
Arvin Y FollerUnited KingdomIvan Magalhaes PROPOSAL
Leja J KolmetzRussiaIoni Bowcher UNQUALIFIED
Ivar O BologniaGermanyIvan Magalhaes QUALIFIED
Jennifer Q GlickFranceBernardo Dominic QUALIFIED
Aika X WieserUnited KingdomIvan Magalhaes UNQUALIFIED
James Z DilliardCanadaAmy Elsner UNQUALIFIED
Jefferson D AlbaresJapanOnyama Limba NEGOTIATION
Ashley C PaprockiBrazilXuxue Feng QUALIFIED
Ashley V DilliardItalyIoni Bowcher QUALIFIED
Alejandro T FerenczIndiaAsiya Javayant PROPOSAL
Morrow R BriddickArgentinaAmy Elsner UNQUALIFIED
Nicolas H NestleSpainStephen Shaw RENEWAL
Aditya X StensethUnited KingdomOnyama Limba PROPOSAL
Kaitlin W CaldareraArgentinaAnna Fali UNQUALIFIED
Murillo H FigeroaCanadaOnyama Limba PROPOSAL
Francesco F StockhamRussiaAsiya Javayant RENEWAL
Tony C FigeroaGermanyIvan Magalhaes NEW
Maria T BowleyJapanOnyama Limba QUALIFIED
Jennifer J MaletAustraliaBernardo Dominic RENEWAL
Tony O SchemmerSpainAmy Elsner NEW
Greenwood K DilliardAustraliaIoni Bowcher PROPOSAL
Isabel I PoquetteJapanStephen Shaw RENEWAL
Kadeem X OstroskyFranceIvan Magalhaes RENEWAL
Costa H TollnerJapanXuxue Feng PROPOSAL
Costa B NickaGermanyAnna Fali PROPOSAL
Rodrigues C KolmetzCanadaElwin Sharvill NEGOTIATION
Jennifer P OstroskySpainAmy Elsner UNQUALIFIED
Greenwood P CaldareraRussiaBernardo Dominic NEW
Aruna V CampainGermanyIoni Bowcher NEGOTIATION
Smith P AmigonJapanXuxue Feng RENEWAL
Sinclair T RutaIndiaOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kaitlin R DilliardGermanyAmy Elsner NEGOTIATION
Leon V NestleJapanStephen Shaw NEW
Emily W SaylorsRussiaIoni Bowcher NEW
Emily J ButtSpainElwin Sharvill NEGOTIATION
Aika T DoeItalyElwin Sharvill UNQUALIFIED
Johnson P MaletCanadaOnyama Limba RENEWAL
Salvatore K RimFranceBernardo Dominic UNQUALIFIED
Alejandro M ButtItalyAnna Fali NEGOTIATION
Stacey H FlosiFranceIvan Magalhaes PROPOSAL
Murillo W AmigonSpainOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio S WaycottUnited Kingdom2024-06-02Chanay, Jeffrey A Esq NEGOTIATION77Asiya Javayant
1001Sinclair E WieserUnited Kingdom2024-06-06Printing Dimensions UNQUALIFIED12Onyama Limba
1002Alejandro S MorascaArgentina2024-05-31Feiner Bros UNQUALIFIED78Xuxue Feng
1003Sinclair I ShinkoGermany2024-05-27Printing Dimensions QUALIFIED78Ioni Bowcher
1004Chavez Z ButtFrance2024-06-17Truhlar And Truhlar Attys NEW2Xuxue Feng
1005Antonio D BowleyGermany2024-06-07King, Christopher A Esq NEGOTIATION1Ioni Bowcher
1006James V PaprockiUnited Kingdom2024-06-03Printing Dimensions UNQUALIFIED16Ioni Bowcher
1007Munro N NestleSpain2024-06-02Feltz Printing Service UNQUALIFIED96Ioni Bowcher
1008Aditya C ButtCanada2024-06-05Feiner Bros RENEWAL86Asiya Javayant
1009James D VenereArgentina2024-06-02Commercial Press QUALIFIED95Anna Fali
1010Octavia R RutaArgentina2024-05-23Printing Dimensions PROPOSAL75Asiya Javayant
1011Tony Q BowleyItaly2024-05-29Feltz Printing Service PROPOSAL52Stephen Shaw
1012David A MarrierBrazil2024-06-09Dorl, James J Esq NEGOTIATION4Bernardo Dominic
1013Silvio N RimArgentina2024-06-16Benton, John B Jr PROPOSAL92Stephen Shaw
1014Wickens V GarufiItaly2024-06-07Feiner Bros NEW12Asiya Javayant
1015Stacey Y NestleRussia2024-06-15Dorl, James J Esq QUALIFIED67Anna Fali
1016Adams V BriddickCanada2024-06-14Morlong Associates RENEWAL52Ioni Bowcher
1017Greenwood T ChuiArgentina2024-06-05Chanay, Jeffrey A Esq UNQUALIFIED56Onyama Limba
1018Claire D RutaArgentina2024-05-20Feiner Bros RENEWAL12Ivan Magalhaes
1019Faith H CampainGermany2024-06-11Feiner Bros NEW71Amy Elsner
1020Jeanfrancois Q MacleadCanada2024-06-05Chanay, Jeffrey A Esq NEW47Xuxue Feng
1021Wickens D NestleArgentina2024-05-28Rangoni Of Florence RENEWAL72Amy Elsner
1022Wickens I PerinRussia2024-06-02Chanay, Jeffrey A Esq QUALIFIED16Bernardo Dominic
1023Jeanfrancois H KuskoSpain2024-06-05Truhlar And Truhlar Attys QUALIFIED87Elwin Sharvill
1024Jefferson V CaudyJapan2024-06-07Printing Dimensions UNQUALIFIED46Asiya Javayant
1025Wickens R MacleadFrance2024-06-13Chemel, James L Cpa NEW62Ioni Bowcher
1026Julie V BologniaItaly2024-05-21Feiner Bros UNQUALIFIED31Ivan Magalhaes
1027Ricardo U InouyeRussia2024-06-09King, Christopher A Esq NEGOTIATION5Bernardo Dominic
1028Jeanfrancois H WieserUnited Kingdom2024-06-10Feiner Bros UNQUALIFIED11Elwin Sharvill
1029Maria O KolmetzAustralia2024-06-18Chanay, Jeffrey A Esq QUALIFIED80Bernardo Dominic
1030Morrow T GarufiItaly2024-05-28Rousseaux, Michael Esq QUALIFIED35Ioni Bowcher
1031Izzy H BriddickSpain2024-05-20Dorl, James J Esq RENEWAL77Bernardo Dominic
1032Silvio R GillianAustralia2024-05-22King, Christopher A Esq UNQUALIFIED48Xuxue Feng
1033Isabel T RulapaughCanada2024-06-03Chemel, James L Cpa UNQUALIFIED79Ioni Bowcher
1034Octavia W ButtSpain2024-06-15Dorl, James J Esq NEGOTIATION95Anna Fali
1035Francesco T GillianUnited Kingdom2024-06-17Buckley Miller Wright PROPOSAL40Amy Elsner
1036Rodrigues Y FerenczArgentina2024-05-22Chanay, Jeffrey A Esq QUALIFIED29Bernardo Dominic
1037Maisha Q RoysterCanada2024-05-21Benton, John B Jr PROPOSAL68Bernardo Dominic
1038Isabel Z KuskoIndia2024-06-07Chapman, Ross E Esq PROPOSAL60Elwin Sharvill
1039Jennifer X MacleadGermany2024-05-20Printing Dimensions QUALIFIED27Asiya Javayant
1040David Q FollerIndia2024-06-04Chapman, Ross E Esq PROPOSAL74Bernardo Dominic
1041Chavez D MacleadSpain2024-05-29Chanay, Jeffrey A Esq NEGOTIATION63Onyama Limba
1042Maisha K MaletItaly2024-06-05Chanay, Jeffrey A Esq RENEWAL70Onyama Limba
1043Cody D RulapaughCanada2024-06-09Rangoni Of Florence UNQUALIFIED26Amy Elsner
1044Kaitlin B OstroskySpain2024-06-06Benton, John B Jr NEW63Onyama Limba
1045Johnson V ButtIndia2024-06-18Morlong Associates UNQUALIFIED64Onyama Limba
1046Tony C DarakjyFrance2024-05-28Truhlar And Truhlar Attys RENEWAL71Stephen Shaw
1047Claire S FollerGermany2024-05-20Truhlar And Truhlar Attys NEGOTIATION7Xuxue Feng
1048Darci N CaldareraItaly2024-06-07King, Christopher A Esq QUALIFIED6Ivan Magalhaes
1049Aika Y MaletAustralia2024-05-30Chapman, Ross E Esq NEGOTIATION89Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Octavia T ButtJapanIoni Bowcher UNQUALIFIED
Kaitlin B SlusarskiJapanOnyama Limba NEGOTIATION
Deepesh C SaylorsGermanyBernardo Dominic QUALIFIED
Claire P RoysterFranceAsiya Javayant PROPOSAL
Antonio T OldroydJapanStephen Shaw NEW
Aika E CaudyItalyXuxue Feng UNQUALIFIED
Cody O BowleyGermanyAnna Fali NEW
Costa N NickaJapanElwin Sharvill NEW
Kaitlin E WieserCanadaElwin Sharvill RENEWAL
Ricardo P FerenczUnited KingdomIvan Magalhaes PROPOSAL
Mujtaba H TollnerIndiaStephen Shaw QUALIFIED
Nicolas E StockhamUnited KingdomAmy Elsner QUALIFIED
Emily N OldroydAustraliaXuxue Feng NEGOTIATION
Leja K GillianRussiaElwin Sharvill QUALIFIED
Ivar D PerinFranceStephen Shaw NEGOTIATION
James X MacleadBrazilOnyama Limba NEW
Wickens Z FlosiBrazilAsiya Javayant NEGOTIATION
Jones P BowleyItalyElwin Sharvill PROPOSAL
Ricardo F AmigonAustraliaAnna Fali RENEWAL
Mayumi I SergiRussiaAnna Fali NEGOTIATION
Rodrigues J SergiBrazilStephen Shaw NEGOTIATION
Rodrigues I WaycottGermanyBernardo Dominic PROPOSAL
Darci O VocelkaGermanyElwin Sharvill QUALIFIED
Jennifer E VenereAustraliaBernardo Dominic NEGOTIATION
Salvatore F DoeCanadaBernardo Dominic PROPOSAL
Mujtaba S SergiUnited KingdomAnna Fali UNQUALIFIED
Smith L RutaArgentinaIoni Bowcher PROPOSAL
Aditya D ChuiSpainElwin Sharvill PROPOSAL
Jeanfrancois D BowleyAustraliaElwin Sharvill QUALIFIED
Aditya E SergiBrazilIvan Magalhaes NEGOTIATION
Julie Z SergiBrazilXuxue Feng NEGOTIATION
Mayumi R OstroskyFranceXuxue Feng QUALIFIED
Nicolas Q OldroydRussiaBernardo Dominic UNQUALIFIED
Rodrigues Y DoeArgentinaIoni Bowcher NEW
Misaki T DoeUnited KingdomStephen Shaw UNQUALIFIED
Aditya C FerenczFranceBernardo Dominic RENEWAL
James C MarrierJapanIvan Magalhaes QUALIFIED
Deepesh V StensethGermanyOnyama Limba NEW
Alejandro H NestleGermanyOnyama Limba QUALIFIED
Nicolas X IturbideBrazilAsiya Javayant QUALIFIED
Claire E DoeSpainIvan Magalhaes PROPOSAL
Smith M OldroydBrazilOnyama Limba RENEWAL
Juan H RulapaughArgentinaOnyama Limba RENEWAL
Clifford T WaycottJapanOnyama Limba NEW
Nicolas E ChuiUnited KingdomAsiya Javayant NEGOTIATION
Tony U RutaRussiaAsiya Javayant RENEWAL
Julie V PaprockiIndiaStephen Shaw PROPOSAL
Chavez W RimUnited KingdomXuxue Feng UNQUALIFIED
Jeanfrancois T SchemmerFranceAmy Elsner NEW
Tony H MorascaItalyBernardo Dominic PROPOSAL
Frozen Columns
Name
Clifford L Briddick
Aika W Vocelka
Salvatore X Darakjy
Nicolas V Shinko
Munro N Sergi
Francesco C Marrier
Nicolas K Poquette
Aika G Malet
Francesco J Bolognia
Aditya Z Gaucho
Mayumi S Campain
Wickens X Marrier
Mujtaba L Malet
Jefferson A Doe
Faith B Caldarera
Maisha T Marrier
Salvatore M Gillian
Salvatore R Campain
Claire R Flosi
Clifford A Doe
Murillo B Marrier
Ashley G Vocelka
Mayumi R Bolognia
Jones C Whobrey
Murillo Q Bowley
Tony W Perin
Morrow L Albares
Claire S Doe
Tony N Oldroyd
Octavia A Flosi
Nicolas D Vocelka
Silvio I Marrier
Deepesh E Tollner
Adams B Ferencz
Jeanfrancois M Perin
Jefferson I Dilliard
David P Oldroyd
Faith Q Briddick
Aika A Rim
Silvio T Slusarski
Ricardo H Paprocki
Faith K Albares
Ivar R Sergi
Smith J Morasca
Aditya K Whobrey
Leon Z Kusko
Cody Q Inouye
Aruna T Iturbide
Mayumi V Figeroa
Mayumi V Garufi
IdCountryDate
1000Spain2024-06-03
1001United Kingdom2024-06-07
1002Russia2024-06-05
1003Argentina2024-06-15
1004Japan2024-06-14
1005Japan2024-05-23
1006Canada2024-05-21
1007Russia2024-06-03
1008India2024-05-27
1009Australia2024-06-07
1010Brazil2024-06-18
1011India2024-05-30
1012Argentina2024-06-05
1013Argentina2024-05-30
1014Russia2024-06-15
1015Japan2024-06-15
1016Canada2024-06-04
1017Argentina2024-06-12
1018Canada2024-05-22
1019Canada2024-06-03
1020Italy2024-05-22
1021Spain2024-06-17
1022Japan2024-06-18
1023Italy2024-05-21
1024Brazil2024-05-22
1025Japan2024-06-04
1026Brazil2024-05-25
1027Argentina2024-06-17
1028Russia2024-06-12
1029Japan2024-06-07
1030Italy2024-05-23
1031Italy2024-05-31
1032Argentina2024-06-02
1033Australia2024-06-08
1034Argentina2024-06-11
1035Argentina2024-06-18
1036Canada2024-06-10
1037Italy2024-05-26
1038Australia2024-06-09
1039Germany2024-06-10
1040United Kingdom2024-05-29
1041Italy2024-05-24
1042Japan2024-06-15
1043Japan2024-05-31
1044Australia2024-06-12
1045Japan2024-06-11
1046Germany2024-05-20
1047Australia2024-06-14
1048Canada2024-06-07
1049France2024-05-31

On-Demand Data

NameIdCountryDate
David U Rim1000India2024-05-26
Jefferson L Royster1001India2024-06-12
Jones Y Saylors1002France2024-05-22
Adams T Whobrey1003Spain2024-05-25
Wickens M Waycott1004Spain2024-06-12
Johnson B Paprocki1005Russia2024-06-17
Munro W Chui1006Spain2024-05-29
Maisha K Briddick1007Australia2024-06-17
Izzy O Poquette1008Germany2024-05-28
Jones B Garufi1009Spain2024-06-12
Clifford V Ostrosky1010Germany2024-06-11
Octavia Q Poquette1011Germany2024-05-28
Izzy Z Maclead1012Italy2024-05-26
James X Malet1013Italy2024-06-09
Alejandro V Schemmer1014India2024-05-25
Claire Q Malet1015Argentina2024-06-18
Greenwood W Rim1016Canada2024-05-26
Greenwood M Foller1017Spain2024-05-31
Izzy O Wieser1018Japan2024-06-11
Chavez K Butt1019United Kingdom2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh L OldroydItalyElwin Sharvill PROPOSAL
Isabel R RulapaughGermanyAsiya Javayant NEGOTIATION
Claire W MaletItalyStephen Shaw NEGOTIATION
Jennifer K FollerUnited KingdomAmy Elsner RENEWAL
Chavez K KolmetzSpainIvan Magalhaes RENEWAL
Aika L OstroskyRussiaAnna Fali RENEWAL
Murillo Z VocelkaJapanOnyama Limba PROPOSAL
Smith K WieserAustraliaAsiya Javayant NEW
Emily X VenereAustraliaXuxue Feng QUALIFIED
Deepesh S VocelkaAustraliaBernardo Dominic RENEWAL
Morrow O MaletAustraliaIvan Magalhaes NEW
Munro W BriddickItalyAsiya Javayant NEGOTIATION
Jones C IturbideGermanyAnna Fali QUALIFIED
Aditya T PoquetteJapanBernardo Dominic PROPOSAL
Nicolas M IturbideBrazilXuxue Feng QUALIFIED
Smith A AmigonItalyAmy Elsner PROPOSAL
Mayumi Q GlickArgentinaIoni Bowcher UNQUALIFIED
Aika P BriddickFranceAnna Fali QUALIFIED
James V BowleyBrazilXuxue Feng NEGOTIATION
Johnson F StensethCanadaAsiya Javayant RENEWAL
Kaitlin E InouyeBrazilAnna Fali NEW
Jones U PaprockiSpainOnyama Limba QUALIFIED
Izzy D ButtRussiaElwin Sharvill QUALIFIED
Ricardo N SlusarskiItalyXuxue Feng RENEWAL
Mayumi F NickaIndiaAnna Fali QUALIFIED
Kadeem R VocelkaItalyStephen Shaw NEW
Maisha Q MaletGermanyStephen Shaw QUALIFIED
Francesco M FlosiArgentinaStephen Shaw QUALIFIED
Salvatore P DarakjyArgentinaOnyama Limba NEW
Clifford X MaletBrazilAmy Elsner QUALIFIED
Adams O BriddickRussiaIoni Bowcher NEGOTIATION
Juan F GarufiJapanBernardo Dominic NEW
Emily M KuskoItalyElwin Sharvill PROPOSAL
Cody U DoeCanadaBernardo Dominic UNQUALIFIED
Jones K WieserGermanyStephen Shaw QUALIFIED
Francesco B MorascaItalyAmy Elsner UNQUALIFIED
Nicolas X GillianAustraliaIoni Bowcher PROPOSAL
Rodrigues H FlosiSpainAmy Elsner NEGOTIATION
Wickens A VocelkaCanadaXuxue Feng QUALIFIED
Francesco H MorascaJapanBernardo Dominic 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>