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
Isabel N AmigonBrazilAnna Fali PROPOSAL
Aruna V MarrierFranceAmy Elsner RENEWAL
Ricardo U DarakjyArgentinaAmy Elsner QUALIFIED
Octavia F StockhamArgentinaOnyama Limba NEGOTIATION
Alejandro N CaldareraIndiaAsiya Javayant QUALIFIED
Kaitlin N MacleadAustraliaAnna Fali QUALIFIED
Maisha D BowleyItalyAsiya Javayant RENEWAL
Misaki P MaletFranceBernardo Dominic PROPOSAL
Leja M GauchoFranceXuxue Feng NEGOTIATION
Jefferson M PerinItalyBernardo Dominic QUALIFIED
Wickens K MarrierFranceAmy Elsner NEW
Jeanfrancois Z GarufiSpainBernardo Dominic NEGOTIATION
Sinclair C CaudyUnited KingdomXuxue Feng PROPOSAL
Ivar Y WieserUnited KingdomBernardo Dominic NEGOTIATION
Silvio O MaletItalyOnyama Limba PROPOSAL
Aika J GarufiArgentinaIoni Bowcher PROPOSAL
Juan I IturbideSpainOnyama Limba RENEWAL
Sinclair I AmigonSpainIvan Magalhaes UNQUALIFIED
Sinclair V WaycottRussiaAnna Fali QUALIFIED
Chavez Q RoysterArgentinaStephen Shaw NEGOTIATION
Nicolas T NickaBrazilAsiya Javayant UNQUALIFIED
Jones D VenereUnited KingdomElwin Sharvill QUALIFIED
Rodrigues G MorascaFranceAsiya Javayant UNQUALIFIED
Julie H DarakjyUnited KingdomIvan Magalhaes PROPOSAL
Greenwood T MacleadAustraliaAnna Fali QUALIFIED
Mujtaba D CampainAustraliaElwin Sharvill NEGOTIATION
Munro M RimGermanyBernardo Dominic RENEWAL
Francesco R IturbideAustraliaAnna Fali NEW
Alejandro Q BologniaGermanyAsiya Javayant NEGOTIATION
Mayumi A CaudyFranceAmy Elsner RENEWAL
Izzy U GarufiArgentinaXuxue Feng UNQUALIFIED
Maisha P VenereItalyIoni Bowcher PROPOSAL
Claire O AlbaresArgentinaAnna Fali QUALIFIED
Tony Y FollerGermanyBernardo Dominic RENEWAL
Emily C OstroskySpainStephen Shaw NEW
Sinclair W OstroskyBrazilXuxue Feng NEW
Octavia U DilliardAustraliaAnna Fali UNQUALIFIED
Costa E MarrierIndiaElwin Sharvill UNQUALIFIED
Clifford S FollerRussiaElwin Sharvill QUALIFIED
Morrow T GarufiFranceIvan Magalhaes NEW
Munro B OstroskyIndiaElwin Sharvill RENEWAL
Leon E CaudyRussiaAsiya Javayant NEGOTIATION
Aika O AmigonCanadaOnyama Limba NEW
Sinclair L SchemmerItalyBernardo Dominic UNQUALIFIED
Izzy K WaycottFranceElwin Sharvill RENEWAL
Francesco J TollnerBrazilIvan Magalhaes NEW
Deepesh W RoysterCanadaAsiya Javayant RENEWAL
Cody S ChuiArgentinaIoni Bowcher QUALIFIED
Rodrigues Q MorascaBrazilAnna Fali PROPOSAL
Clifford H KuskoFranceIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Faith L DarakjyBrazilAmy Elsner NEW
Maisha J StockhamGermanyElwin Sharvill PROPOSAL
Sinclair B SergiBrazilElwin Sharvill NEGOTIATION
Nicolas Z CampainJapanIoni Bowcher NEW
Faith W WhobreySpainXuxue Feng QUALIFIED
Murillo S WaycottUnited KingdomAmy Elsner NEW
Ashley Y BowleyCanadaAnna Fali NEGOTIATION
Chavez D NestleFranceAmy Elsner PROPOSAL
David G PoquetteBrazilIoni Bowcher NEGOTIATION
Mujtaba O CaudyRussiaElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow I PoquetteIndia2024-06-03Buckley Miller Wright NEGOTIATION14Amy Elsner
1001Adams B RoysterItaly2024-05-31Rousseaux, Michael Esq PROPOSAL35Amy Elsner
1002Julie G RulapaughArgentina2024-06-10Commercial Press QUALIFIED62Ivan Magalhaes
1003Jones W TollnerGermany2024-05-31Morlong Associates QUALIFIED79Anna Fali
1004Mayumi E MorascaItaly2024-06-07Rousseaux, Michael Esq NEW30Ivan Magalhaes
1005Chavez C MacleadArgentina2024-05-21Chemel, James L Cpa UNQUALIFIED59Ioni Bowcher
1006Aditya V VocelkaFrance2024-06-16Dorl, James J Esq UNQUALIFIED44Anna Fali
1007Kaitlin H VocelkaItaly2024-06-13Rangoni Of Florence UNQUALIFIED7Bernardo Dominic
1008Greenwood L GauchoUnited Kingdom2024-06-09Benton, John B Jr RENEWAL52Asiya Javayant
1009Kaitlin H PaprockiGermany2024-05-27King, Christopher A Esq RENEWAL30Amy Elsner
1010Arvin K OstroskyBrazil2024-06-13Commercial Press UNQUALIFIED75Amy Elsner
1011Kaitlin P CampainAustralia2024-06-04Printing Dimensions QUALIFIED52Bernardo Dominic
1012Juan K GarufiAustralia2024-06-09Chemel, James L Cpa RENEWAL32Xuxue Feng
1013Nicolas Y VenereFrance2024-06-03King, Christopher A Esq QUALIFIED67Ivan Magalhaes
1014Jennifer V AlbaresJapan2024-06-11Chapman, Ross E Esq NEGOTIATION15Ivan Magalhaes
1015Misaki F RulapaughCanada2024-06-02Feiner Bros UNQUALIFIED80Onyama Limba
1016Jennifer E FollerAustralia2024-05-20King, Christopher A Esq UNQUALIFIED39Asiya Javayant
1017Jefferson K BologniaAustralia2024-05-29Rousseaux, Michael Esq NEGOTIATION24Bernardo Dominic
1018Jefferson F SaylorsArgentina2024-05-27Rousseaux, Michael Esq NEW84Ioni Bowcher
1019Mujtaba P CaudyRussia2024-06-08Truhlar And Truhlar Attys NEW99Amy Elsner
1020Jones H SchemmerCanada2024-06-07Buckley Miller Wright PROPOSAL92Stephen Shaw
1021Jones Q TollnerIndia2024-06-04Truhlar And Truhlar Attys NEW48Ivan Magalhaes
1022Smith Y BowleyAustralia2024-06-08Feltz Printing Service UNQUALIFIED60Anna Fali
1023Clifford K BologniaJapan2024-06-06Benton, John B Jr QUALIFIED59Xuxue Feng
1024Ricardo W GauchoArgentina2024-06-05Dorl, James J Esq QUALIFIED14Xuxue Feng
1025Maisha J KuskoSpain2024-05-28Truhlar And Truhlar Attys UNQUALIFIED77Ioni Bowcher
1026Deepesh P ChuiFrance2024-06-06Rousseaux, Michael Esq NEW26Ioni Bowcher
1027Cody N MarrierCanada2024-05-26Chapman, Ross E Esq RENEWAL57Anna Fali
1028Sinclair L KuskoRussia2024-06-13Chemel, James L Cpa NEGOTIATION86Elwin Sharvill
1029Cody U RutaJapan2024-05-25Chanay, Jeffrey A Esq PROPOSAL32Anna Fali
1030Faith S MaletBrazil2024-05-29Truhlar And Truhlar Attys PROPOSAL23Elwin Sharvill
1031Nicolas Z RulapaughRussia2024-05-28Chapman, Ross E Esq NEW66Bernardo Dominic
1032James I WaycottJapan2024-05-26Chemel, James L Cpa NEW51Bernardo Dominic
1033Misaki X FigeroaGermany2024-05-21Morlong Associates UNQUALIFIED97Bernardo Dominic
1034Aditya P PaprockiArgentina2024-06-04Feiner Bros NEW70Amy Elsner
1035Francesco G DilliardBrazil2024-06-05Benton, John B Jr UNQUALIFIED11Bernardo Dominic
1036Rodrigues F CaudyArgentina2024-05-23Buckley Miller Wright QUALIFIED63Stephen Shaw
1037Ivar X SchemmerArgentina2024-05-26Rangoni Of Florence NEGOTIATION70Xuxue Feng
1038Francesco W VenereBrazil2024-06-07King, Christopher A Esq RENEWAL52Elwin Sharvill
1039James Z KuskoGermany2024-06-05Printing Dimensions NEGOTIATION0Asiya Javayant
1040Aditya B BologniaFrance2024-05-24Chapman, Ross E Esq QUALIFIED71Elwin Sharvill
1041Maria J FigeroaFrance2024-05-18Feltz Printing Service NEW99Elwin Sharvill
1042Nicolas S GillianFrance2024-06-14Dorl, James J Esq PROPOSAL90Bernardo Dominic
1043Ashley Q FerenczSpain2024-06-07Rangoni Of Florence NEGOTIATION73Stephen Shaw
1044Claire N ButtRussia2024-06-03Feiner Bros PROPOSAL92Anna Fali
1045Stacey F AmigonRussia2024-05-27Morlong Associates RENEWAL75Elwin Sharvill
1046Chavez M CaldareraSpain2024-06-07Feiner Bros QUALIFIED61Asiya Javayant
1047Murillo W VenereGermany2024-05-23Buckley Miller Wright UNQUALIFIED27Ivan Magalhaes
1048Julie R RulapaughUnited Kingdom2024-05-18Feltz Printing Service PROPOSAL45Ivan Magalhaes
1049Deepesh F IturbideAustralia2024-06-09Truhlar And Truhlar Attys RENEWAL40Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Ivar V PaprockiItalyOnyama Limba RENEWAL
Adams G PoquetteSpainIoni Bowcher NEGOTIATION
Juan N BriddickIndiaAnna Fali QUALIFIED
Rodrigues D FlosiBrazilOnyama Limba NEGOTIATION
Isabel Z DarakjySpainElwin Sharvill NEGOTIATION
Ricardo I FlosiArgentinaIvan Magalhaes UNQUALIFIED
Ricardo X ShinkoSpainAsiya Javayant NEGOTIATION
Emily H IturbideGermanyAmy Elsner UNQUALIFIED
Adams F CaldareraSpainIvan Magalhaes PROPOSAL
Costa P ShinkoFranceIoni Bowcher RENEWAL
Leon F TollnerIndiaBernardo Dominic PROPOSAL
Aika Z SaylorsAustraliaOnyama Limba RENEWAL
Emily P WhobreyRussiaIvan Magalhaes NEGOTIATION
Johnson U StockhamItalyStephen Shaw QUALIFIED
Jones O PerinIndiaAmy Elsner RENEWAL
Isabel M CampainRussiaIoni Bowcher RENEWAL
Ashley D DarakjyUnited KingdomIoni Bowcher NEW
Ricardo Z MacleadFranceBernardo Dominic NEW
Deepesh L SaylorsGermanyAmy Elsner PROPOSAL
Kadeem Q InouyeCanadaOnyama Limba QUALIFIED
Aika L BologniaSpainElwin Sharvill QUALIFIED
Cody U PerinArgentinaIvan Magalhaes QUALIFIED
Adams K GlickUnited KingdomBernardo Dominic UNQUALIFIED
Faith Z VocelkaItalyOnyama Limba NEW
Claire C BriddickRussiaElwin Sharvill RENEWAL
Faith O ShinkoRussiaIvan Magalhaes NEGOTIATION
Leja A InouyeArgentinaXuxue Feng NEGOTIATION
Ricardo A NickaCanadaAsiya Javayant UNQUALIFIED
Kadeem R PaprockiItalyAnna Fali PROPOSAL
Faith F BriddickIndiaXuxue Feng PROPOSAL
Jones S ShinkoRussiaAsiya Javayant UNQUALIFIED
David K DoeBrazilOnyama Limba PROPOSAL
Clifford J PoquetteRussiaElwin Sharvill NEW
Juan W DilliardJapanAmy Elsner PROPOSAL
Morrow K TollnerCanadaIoni Bowcher NEW
Deepesh W CampainJapanAnna Fali QUALIFIED
Aditya M SergiJapanAmy Elsner NEW
Salvatore X NestleFranceElwin Sharvill QUALIFIED
Deepesh W BowleyIndiaOnyama Limba RENEWAL
Mujtaba U OldroydCanadaAsiya Javayant NEW
Salvatore Q RoysterAustraliaIvan Magalhaes PROPOSAL
Emily Z WaycottIndiaElwin Sharvill RENEWAL
Sinclair T StockhamFranceStephen Shaw PROPOSAL
Ricardo D OldroydAustraliaStephen Shaw NEGOTIATION
Aika U MorascaCanadaBernardo Dominic QUALIFIED
Ivar Z MaletGermanyAsiya Javayant UNQUALIFIED
Juan S GlickArgentinaElwin Sharvill QUALIFIED
Kaitlin N IturbideSpainStephen Shaw QUALIFIED
Aika C MacleadGermanyIvan Magalhaes QUALIFIED
Alejandro M DarakjySpainAmy Elsner QUALIFIED
Frozen Columns
Name
Maisha J Vocelka
Izzy C Whobrey
Ivar P Iturbide
Faith O Perin
Jones C Flosi
Mujtaba U Malet
Arvin D Slusarski
Izzy J Nestle
Stacey A Gillian
Leja L Doe
Faith A Caudy
Julie Q Poquette
Ashley N Caudy
Tony D Saylors
Darci G Royster
James A Inouye
Smith U Saylors
Kaitlin B Bolognia
Tony S Briddick
Maisha Z Schemmer
Maria Z Briddick
Mayumi E Rulapaugh
Misaki G Venere
Greenwood H Poquette
Jones X Oldroyd
Maria V Marrier
Leja J Ostrosky
Nicolas J Whobrey
Octavia K Malet
Ivar X Slusarski
Alejandro R Iturbide
Smith U Malet
Juan J Nicka
Adams X Perin
Wickens V Stenseth
Ivar X Inouye
Clifford W Perin
Jeanfrancois I Nicka
Kaitlin K Vocelka
Salvatore F Ruta
Isabel S Ferencz
Juan H Figeroa
Antonio L Saylors
James S Malet
Arvin Z Perin
Francesco D Garufi
Tony D Caudy
Faith I Poquette
Clifford U Nicka
Jones N Darakjy
IdCountryDate
1000France2024-05-18
1001Spain2024-05-26
1002France2024-06-09
1003Australia2024-06-01
1004Japan2024-06-11
1005Argentina2024-06-07
1006Australia2024-06-08
1007India2024-06-16
1008Brazil2024-06-11
1009Germany2024-06-04
1010Brazil2024-05-27
1011Spain2024-06-08
1012Spain2024-05-20
1013Russia2024-06-01
1014Russia2024-06-04
1015Spain2024-06-06
1016India2024-06-04
1017France2024-05-18
1018Italy2024-06-02
1019Brazil2024-06-12
1020India2024-06-16
1021Australia2024-06-12
1022India2024-05-30
1023Australia2024-05-28
1024Germany2024-06-05
1025France2024-06-16
1026Canada2024-06-05
1027United Kingdom2024-06-09
1028France2024-06-03
1029Japan2024-05-26
1030Japan2024-06-02
1031Australia2024-06-04
1032France2024-05-20
1033Canada2024-06-01
1034Spain2024-06-07
1035Brazil2024-06-13
1036Germany2024-06-01
1037Japan2024-05-25
1038France2024-05-28
1039Brazil2024-05-24
1040Italy2024-06-14
1041Japan2024-06-12
1042Australia2024-06-02
1043Argentina2024-06-13
1044Brazil2024-06-12
1045France2024-06-16
1046India2024-06-16
1047Australia2024-05-27
1048Spain2024-06-10
1049Brazil2024-05-18

On-Demand Data

NameIdCountryDate
Misaki V Maclead1000India2024-05-22
Cody N Kolmetz1001Italy2024-06-10
Francesco T Perin1002Argentina2024-05-27
Mujtaba H Caldarera1003Brazil2024-06-07
Wickens R Maclead1004Brazil2024-06-07
Jefferson J Caudy1005Brazil2024-05-27
Aika E Whobrey1006Italy2024-05-26
Sinclair T Saylors1007Canada2024-06-05
Jeanfrancois W Morasca1008Germany2024-05-29
Sinclair S Sergi1009India2024-06-06
Silvio Z Flosi1010Russia2024-06-10
Wickens Y Kusko1011Australia2024-06-06
Antonio X Nestle1012Germany2024-06-05
Leon C Venere1013Canada2024-05-30
Francesco V Saylors1014Italy2024-06-10
Mujtaba I Vocelka1015France2024-06-01
Julie F Garufi1016Russia2024-06-13
Claire H Waycott1017Australia2024-05-21
Morrow T Flosi1018Germany2024-05-31
Tony L Bowley1019Italy2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa Z GauchoRussiaBernardo Dominic NEGOTIATION
Tony X FlosiUnited KingdomAmy Elsner UNQUALIFIED
Darci V MaletRussiaOnyama Limba NEGOTIATION
Ricardo W BowleySpainBernardo Dominic UNQUALIFIED
Isabel P AlbaresSpainXuxue Feng PROPOSAL
Salvatore U KolmetzCanadaStephen Shaw RENEWAL
Adams U NickaFranceXuxue Feng NEW
Murillo B TollnerCanadaAnna Fali RENEWAL
Munro P FigeroaIndiaAsiya Javayant UNQUALIFIED
Arvin D GarufiArgentinaOnyama Limba RENEWAL
Rodrigues U ChuiItalyAnna Fali PROPOSAL
Jones J FollerAustraliaOnyama Limba NEGOTIATION
Misaki Y VocelkaIndiaStephen Shaw NEW
Adams G MaletBrazilAmy Elsner PROPOSAL
Murillo I KolmetzItalyOnyama Limba PROPOSAL
Deepesh W NestleRussiaBernardo Dominic QUALIFIED
Ivar E KuskoCanadaXuxue Feng NEGOTIATION
Darci Z PerinAustraliaAnna Fali UNQUALIFIED
Morrow E ButtGermanyAnna Fali QUALIFIED
Isabel A KuskoSpainIvan Magalhaes UNQUALIFIED
Maisha F RutaJapanIoni Bowcher RENEWAL
Ashley C TollnerSpainStephen Shaw QUALIFIED
Izzy U GarufiJapanAmy Elsner NEW
Maria C MaletJapanOnyama Limba RENEWAL
Darci B WaycottGermanyOnyama Limba PROPOSAL
Leon X MaletGermanyElwin Sharvill RENEWAL
Leon W MaletSpainAsiya Javayant RENEWAL
Murillo M WieserRussiaIvan Magalhaes UNQUALIFIED
Costa G MaletFranceStephen Shaw RENEWAL
Stacey M KuskoArgentinaElwin Sharvill UNQUALIFIED
Johnson Z IturbideIndiaIvan Magalhaes PROPOSAL
Julie L DilliardSpainElwin Sharvill NEGOTIATION
Antonio P DoeGermanyStephen Shaw NEW
Stacey I CaudySpainOnyama Limba NEGOTIATION
Misaki I OldroydCanadaAnna Fali PROPOSAL
Jennifer Y AmigonRussiaOnyama Limba NEGOTIATION
Ashley Y WieserItalyBernardo Dominic RENEWAL
Tony Y RimIndiaStephen Shaw NEGOTIATION
Misaki X VocelkaItalyIoni Bowcher UNQUALIFIED
Kadeem D OldroydRussiaStephen Shaw 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>