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
Aditya M RulapaughItalyStephen Shaw PROPOSAL
Greenwood T OldroydJapanStephen Shaw UNQUALIFIED
Deepesh T GauchoGermanyAmy Elsner UNQUALIFIED
Maisha Y AlbaresJapanIvan Magalhaes UNQUALIFIED
Ricardo W GauchoItalyBernardo Dominic PROPOSAL
Aika T WaycottJapanIoni Bowcher NEGOTIATION
Aika D StockhamUnited KingdomAnna Fali NEGOTIATION
Rodrigues G PerinJapanAsiya Javayant UNQUALIFIED
Misaki G MorascaAustraliaAnna Fali UNQUALIFIED
Ivar C BriddickAustraliaStephen Shaw PROPOSAL
Kadeem X RoysterGermanyOnyama Limba NEGOTIATION
Jones E GauchoRussiaAnna Fali UNQUALIFIED
Silvio W VenereUnited KingdomAsiya Javayant UNQUALIFIED
Rodrigues A GarufiGermanyElwin Sharvill NEW
Kaitlin A DoeBrazilAsiya Javayant NEW
James Y RutaCanadaBernardo Dominic QUALIFIED
Francesco H IturbideRussiaAnna Fali NEW
Costa Y SaylorsArgentinaBernardo Dominic RENEWAL
Silvio S CaudyJapanAsiya Javayant RENEWAL
Smith Z FlosiSpainAsiya Javayant UNQUALIFIED
Jones J RimCanadaStephen Shaw NEW
Salvatore U FigeroaBrazilIvan Magalhaes NEGOTIATION
Leja O PoquetteUnited KingdomStephen Shaw RENEWAL
Munro G CaldareraIndiaElwin Sharvill NEW
Sinclair I FigeroaGermanyStephen Shaw PROPOSAL
Isabel H NickaCanadaAmy Elsner NEGOTIATION
Tony R DoeItalyIoni Bowcher NEGOTIATION
Ricardo I WaycottIndiaXuxue Feng UNQUALIFIED
Jefferson H RutaArgentinaBernardo Dominic QUALIFIED
Octavia B DarakjyCanadaIvan Magalhaes UNQUALIFIED
Darci T RimJapanAnna Fali QUALIFIED
Stacey F ChuiItalyIoni Bowcher PROPOSAL
Leja V MaletAustraliaAnna Fali PROPOSAL
Faith A WhobreyBrazilXuxue Feng NEW
Silvio P BowleySpainAsiya Javayant PROPOSAL
Maisha V BriddickCanadaIoni Bowcher QUALIFIED
Stacey Q WieserRussiaAsiya Javayant UNQUALIFIED
Greenwood D OstroskyJapanElwin Sharvill QUALIFIED
Aika F PaprockiJapanAmy Elsner PROPOSAL
Emily N MaletJapanAsiya Javayant RENEWAL
Izzy W InouyeSpainOnyama Limba PROPOSAL
Ashley L RutaBrazilBernardo Dominic NEW
Nicolas S MacleadUnited KingdomXuxue Feng NEGOTIATION
Cody H VocelkaArgentinaElwin Sharvill PROPOSAL
Leja O VenereFranceAnna Fali NEW
Jefferson T MarrierArgentinaBernardo Dominic PROPOSAL
Smith K SlusarskiRussiaAsiya Javayant UNQUALIFIED
Munro I DoeAustraliaElwin Sharvill NEW
Aditya Y IturbideArgentinaAsiya Javayant UNQUALIFIED
Ricardo H GarufiArgentinaIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
David O DarakjyJapanAmy Elsner NEW
Ivar X MorascaArgentinaStephen Shaw NEGOTIATION
Misaki B ButtUnited KingdomAnna Fali NEGOTIATION
Ivar M DarakjyFranceIoni Bowcher RENEWAL
Ricardo V DoeRussiaXuxue Feng PROPOSAL
Emily Z FollerArgentinaIvan Magalhaes PROPOSAL
David X GauchoSpainAmy Elsner PROPOSAL
Salvatore P NickaJapanBernardo Dominic NEGOTIATION
Murillo Q GillianIndiaElwin Sharvill RENEWAL
Isabel V WieserItalyAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez Z OstroskyRussia2024-06-09Rousseaux, Michael Esq NEGOTIATION32Elwin Sharvill
1001James V DilliardFrance2024-06-02Commercial Press PROPOSAL96Elwin Sharvill
1002Misaki W RulapaughBrazil2024-05-29Benton, John B Jr NEW84Stephen Shaw
1003Smith A DoeIndia2024-06-04Dorl, James J Esq UNQUALIFIED34Elwin Sharvill
1004Maisha U AlbaresGermany2024-06-14Feltz Printing Service PROPOSAL36Elwin Sharvill
1005Stacey S WieserCanada2024-06-11Chemel, James L Cpa NEW70Elwin Sharvill
1006Nicolas N WaycottItaly2024-06-15Rangoni Of Florence UNQUALIFIED22Elwin Sharvill
1007Wickens F SergiFrance2024-06-06King, Christopher A Esq NEW69Ivan Magalhaes
1008Ivar R MaletSpain2024-06-20Feiner Bros PROPOSAL39Ivan Magalhaes
1009Salvatore G StensethArgentina2024-06-08Feltz Printing Service NEW59Onyama Limba
1010Juan N MaletUnited Kingdom2024-06-12Buckley Miller Wright UNQUALIFIED55Elwin Sharvill
1011Juan O WaycottBrazil2024-06-04Chapman, Ross E Esq RENEWAL83Asiya Javayant
1012Izzy J BowleyAustralia2024-06-06Morlong Associates NEGOTIATION35Xuxue Feng
1013Aditya T AmigonAustralia2024-06-11Rangoni Of Florence NEW65Onyama Limba
1014Smith P GauchoSpain2024-06-06Morlong Associates UNQUALIFIED81Anna Fali
1015Wickens U OstroskyIndia2024-06-03Chanay, Jeffrey A Esq PROPOSAL89Anna Fali
1016Salvatore H ButtUnited Kingdom2024-06-07King, Christopher A Esq NEW48Ivan Magalhaes
1017Smith F VenereUnited Kingdom2024-06-11Buckley Miller Wright QUALIFIED5Bernardo Dominic
1018Cody W TollnerArgentina2024-05-27Truhlar And Truhlar Attys QUALIFIED92Elwin Sharvill
1019Alejandro M NestleArgentina2024-05-28Rangoni Of Florence QUALIFIED5Onyama Limba
1020Darci N StockhamUnited Kingdom2024-06-18Buckley Miller Wright UNQUALIFIED76Onyama Limba
1021Aika C SlusarskiAustralia2024-05-30Chanay, Jeffrey A Esq PROPOSAL83Elwin Sharvill
1022Faith J GlickGermany2024-05-28Chapman, Ross E Esq QUALIFIED69Onyama Limba
1023Ricardo Y VenereItaly2024-06-11Chanay, Jeffrey A Esq UNQUALIFIED62Ioni Bowcher
1024Clifford O FigeroaUnited Kingdom2024-06-20Chanay, Jeffrey A Esq PROPOSAL81Ivan Magalhaes
1025Kaitlin F OstroskyJapan2024-06-21Chemel, James L Cpa NEW33Ioni Bowcher
1026Wickens E DoeArgentina2024-06-01Chanay, Jeffrey A Esq RENEWAL75Asiya Javayant
1027Aika P VenereGermany2024-05-25Commercial Press PROPOSAL23Bernardo Dominic
1028Leon A AlbaresJapan2024-06-20Printing Dimensions UNQUALIFIED26Asiya Javayant
1029Aruna I RulapaughJapan2024-06-05Chanay, Jeffrey A Esq NEGOTIATION2Anna Fali
1030Johnson G PaprockiIndia2024-05-31Benton, John B Jr PROPOSAL96Ioni Bowcher
1031Mujtaba B GillianIndia2024-06-13Morlong Associates QUALIFIED88Anna Fali
1032Mayumi D VenereFrance2024-06-02Morlong Associates RENEWAL24Amy Elsner
1033Ivar X SlusarskiArgentina2024-06-22Feltz Printing Service RENEWAL53Onyama Limba
1034Murillo R KuskoGermany2024-06-22Rangoni Of Florence UNQUALIFIED12Ioni Bowcher
1035Munro X ChuiArgentina2024-06-19Chemel, James L Cpa RENEWAL69Anna Fali
1036Jennifer X ShinkoSpain2024-06-10Rousseaux, Michael Esq NEW95Onyama Limba
1037Adams A MaletBrazil2024-06-06Morlong Associates QUALIFIED57Bernardo Dominic
1038Maisha N MaletFrance2024-05-29Rousseaux, Michael Esq PROPOSAL24Anna Fali
1039Ivar Q SergiIndia2024-06-15Commercial Press UNQUALIFIED23Elwin Sharvill
1040Jeanfrancois Q RulapaughJapan2024-06-14Chanay, Jeffrey A Esq PROPOSAL85Elwin Sharvill
1041Deepesh V AmigonArgentina2024-06-06Rangoni Of Florence NEW61Anna Fali
1042Ashley A OstroskyBrazil2024-05-30Feiner Bros QUALIFIED76Onyama Limba
1043Arvin U PerinRussia2024-06-11Feltz Printing Service NEW80Asiya Javayant
1044Emily V VenereIndia2024-06-18Truhlar And Truhlar Attys NEGOTIATION97Amy Elsner
1045Emily C FollerItaly2024-06-21Rousseaux, Michael Esq UNQUALIFIED75Onyama Limba
1046Alejandro H IturbideCanada2024-05-30Rangoni Of Florence NEW98Ioni Bowcher
1047Silvio C BowleyRussia2024-05-27Feiner Bros QUALIFIED54Stephen Shaw
1048Ivar Y TollnerBrazil2024-06-05Rangoni Of Florence QUALIFIED13Amy Elsner
1049Munro S RimBrazil2024-06-06Commercial Press NEGOTIATION81Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Nicolas M ButtUnited KingdomAmy Elsner NEW
Jefferson N GauchoIndiaIvan Magalhaes RENEWAL
Clifford D DoeSpainAmy Elsner NEGOTIATION
Faith N KolmetzRussiaBernardo Dominic NEGOTIATION
Octavia Q CampainSpainElwin Sharvill UNQUALIFIED
Adams Q DilliardAustraliaStephen Shaw PROPOSAL
Antonio C FlosiGermanyBernardo Dominic RENEWAL
Claire P AmigonItalyAnna Fali NEGOTIATION
Kaitlin X RimIndiaBernardo Dominic PROPOSAL
Kaitlin R PaprockiGermanyElwin Sharvill PROPOSAL
Leja W PerinFranceStephen Shaw NEW
Greenwood M AmigonItalyXuxue Feng QUALIFIED
Jeanfrancois U DilliardBrazilIvan Magalhaes PROPOSAL
Cody M ButtItalyAsiya Javayant NEGOTIATION
Chavez Q KolmetzItalyIvan Magalhaes QUALIFIED
Kadeem G SchemmerCanadaAnna Fali QUALIFIED
Adams C SlusarskiGermanyXuxue Feng NEGOTIATION
Ricardo Q MaletUnited KingdomBernardo Dominic QUALIFIED
Leon R WhobreyRussiaAmy Elsner NEGOTIATION
Ricardo C StockhamUnited KingdomAsiya Javayant UNQUALIFIED
Ivar R FigeroaRussiaAsiya Javayant NEW
Isabel K MaletJapanIvan Magalhaes NEGOTIATION
Maisha O RimAustraliaIoni Bowcher RENEWAL
Kadeem Q ButtBrazilOnyama Limba QUALIFIED
Clifford V GauchoCanadaXuxue Feng QUALIFIED
Kadeem E FollerSpainStephen Shaw UNQUALIFIED
Misaki Z PerinAustraliaIoni Bowcher NEW
Izzy R DilliardAustraliaIoni Bowcher PROPOSAL
Octavia W CaudyArgentinaAnna Fali NEGOTIATION
Stacey I OstroskyArgentinaBernardo Dominic UNQUALIFIED
Misaki E CampainItalyBernardo Dominic UNQUALIFIED
Wickens A OstroskyCanadaBernardo Dominic NEW
Julie P DoeIndiaXuxue Feng RENEWAL
Emily A NestleCanadaAnna Fali PROPOSAL
Aruna F TollnerIndiaStephen Shaw RENEWAL
Munro H OstroskyCanadaElwin Sharvill RENEWAL
Clifford Z FigeroaJapanIvan Magalhaes NEGOTIATION
Jennifer L NestleJapanElwin Sharvill QUALIFIED
Adams O FlosiBrazilOnyama Limba NEW
Leon X AmigonGermanyBernardo Dominic PROPOSAL
Isabel S MaletAustraliaOnyama Limba NEW
Jefferson P MorascaRussiaAnna Fali NEGOTIATION
Francesco E GauchoArgentinaAnna Fali RENEWAL
Julie J OstroskyCanadaXuxue Feng NEGOTIATION
Jennifer D AlbaresItalyOnyama Limba QUALIFIED
Maria Z WhobreyRussiaXuxue Feng UNQUALIFIED
Salvatore E MarrierFranceOnyama Limba RENEWAL
Jones I BologniaItalyBernardo Dominic UNQUALIFIED
Rodrigues R StensethSpainAnna Fali UNQUALIFIED
Jeanfrancois V RulapaughIndiaIvan Magalhaes QUALIFIED
Frozen Columns
Name
Cody Y Rim
Mujtaba E Dilliard
Faith N Ostrosky
Tony G Perin
Ricardo A Inouye
Cody G Stenseth
Cody R Doe
Smith L Wieser
Munro E Nicka
Smith B Shinko
Leja T Paprocki
Nicolas F Ostrosky
Johnson S Glick
David G Figeroa
Salvatore H Chui
Alejandro D Ruta
Misaki G Ferencz
Ashley D Maclead
Murillo F Doe
Ricardo B Foller
Munro O Garufi
Deepesh M Ruta
Murillo P Figeroa
Francesco X Flosi
Kaitlin J Whobrey
Morrow G Morasca
Clifford O Dilliard
Alejandro A Doe
Morrow S Ostrosky
Francesco U Poquette
Munro S Malet
Aika L Iturbide
David V Maclead
Emily N Kusko
Sinclair B Dilliard
Adams R Ostrosky
Arvin M Ferencz
Ashley S Malet
Rodrigues D Schemmer
Mayumi P Oldroyd
Octavia M Ostrosky
Munro D Doe
Aruna I Ferencz
Nicolas D Bowley
Jones L Shinko
Sinclair Y Iturbide
Tony X Rulapaugh
Stacey B Figeroa
Maria G Iturbide
Ricardo E Shinko
IdCountryDate
1000Italy2024-06-15
1001France2024-06-09
1002Brazil2024-06-01
1003Canada2024-06-08
1004Argentina2024-05-26
1005Germany2024-06-10
1006Italy2024-06-16
1007Germany2024-06-04
1008India2024-06-04
1009Germany2024-06-04
1010Germany2024-06-19
1011Argentina2024-06-20
1012Brazil2024-06-22
1013Australia2024-05-30
1014Italy2024-05-24
1015India2024-06-10
1016India2024-06-14
1017Brazil2024-05-30
1018Italy2024-05-26
1019Brazil2024-05-28
1020Russia2024-05-30
1021Russia2024-06-21
1022France2024-06-19
1023India2024-05-27
1024Australia2024-06-05
1025Argentina2024-06-16
1026Italy2024-06-13
1027Argentina2024-06-10
1028Canada2024-06-19
1029Japan2024-06-04
1030United Kingdom2024-06-08
1031France2024-06-02
1032Spain2024-06-18
1033Italy2024-06-09
1034Japan2024-06-15
1035Italy2024-06-03
1036Italy2024-05-31
1037India2024-05-31
1038Italy2024-06-02
1039Russia2024-05-24
1040Argentina2024-05-29
1041Japan2024-06-19
1042Canada2024-06-13
1043Spain2024-06-21
1044Canada2024-06-21
1045Argentina2024-06-21
1046Germany2024-05-30
1047Italy2024-06-03
1048Australia2024-05-30
1049Japan2024-05-25

On-Demand Data

NameIdCountryDate
Jennifer H Poquette1000Argentina2024-06-19
Kadeem Z Amigon1001Canada2024-05-27
Greenwood M Malet1002Canada2024-06-02
Chavez S Darakjy1003France2024-06-22
Morrow X Darakjy1004Spain2024-05-28
Darci X Perin1005Canada2024-06-10
Faith P Maclead1006Spain2024-06-13
Munro X Malet1007Spain2024-06-01
Octavia I Maclead1008Spain2024-06-01
Adams T Rim1009Spain2024-06-05
Arvin S Kusko1010Australia2024-06-17
Aditya A Figeroa1011France2024-06-01
Clifford C Garufi1012Japan2024-06-16
Isabel N Nicka1013India2024-06-11
Aruna M Dilliard1014Brazil2024-06-05
Salvatore A Flosi1015France2024-06-10
Faith C Doe1016Canada2024-06-13
Chavez M Bolognia1017Russia2024-06-12
Darci V Royster1018France2024-06-02
Deepesh A Waycott1019Spain2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow G NickaBrazilAnna Fali QUALIFIED
Murillo S StockhamSpainAsiya Javayant QUALIFIED
Faith M DilliardGermanyIvan Magalhaes NEW
Munro F KolmetzCanadaBernardo Dominic NEW
Murillo N CaudyJapanXuxue Feng QUALIFIED
Octavia F SaylorsAustraliaIoni Bowcher UNQUALIFIED
Isabel V IturbideSpainAsiya Javayant RENEWAL
Aruna B CampainFranceOnyama Limba UNQUALIFIED
Izzy Z AlbaresFranceStephen Shaw NEGOTIATION
Mujtaba B CaldareraGermanyOnyama Limba NEGOTIATION
Chavez A PerinJapanBernardo Dominic QUALIFIED
Ricardo Z FlosiUnited KingdomIvan Magalhaes RENEWAL
Munro Q StockhamJapanBernardo Dominic PROPOSAL
Leon U MacleadFranceAsiya Javayant UNQUALIFIED
Maria G MorascaIndiaOnyama Limba UNQUALIFIED
James C CaldareraRussiaIoni Bowcher PROPOSAL
Jennifer Y SchemmerRussiaIvan Magalhaes RENEWAL
Faith N FigeroaItalyOnyama Limba UNQUALIFIED
Silvio T DilliardItalyAnna Fali QUALIFIED
Jennifer G RulapaughUnited KingdomXuxue Feng RENEWAL
Mujtaba I PaprockiFranceIoni Bowcher QUALIFIED
Jennifer M AmigonArgentinaAsiya Javayant QUALIFIED
Leon I MarrierGermanyAnna Fali PROPOSAL
Julie E AmigonArgentinaXuxue Feng PROPOSAL
Clifford B DarakjyGermanyXuxue Feng NEGOTIATION
Claire O GauchoFranceAnna Fali RENEWAL
Faith J OstroskyArgentinaOnyama Limba UNQUALIFIED
Jennifer E VocelkaIndiaOnyama Limba RENEWAL
Isabel L MaletItalyAnna Fali RENEWAL
Clifford C BriddickIndiaElwin Sharvill QUALIFIED
Leon T DarakjySpainIoni Bowcher QUALIFIED
Adams V StockhamFranceAmy Elsner UNQUALIFIED
Nicolas M BowleyAustraliaElwin Sharvill UNQUALIFIED
Aditya A RoysterGermanyIoni Bowcher PROPOSAL
Ashley T MorascaItalyElwin Sharvill RENEWAL
Izzy E RutaArgentinaAnna Fali NEGOTIATION
Leja P RimBrazilIvan Magalhaes QUALIFIED
Misaki S IturbideItalyAnna Fali RENEWAL
Salvatore P TollnerIndiaIoni Bowcher RENEWAL
Clifford P WieserRussiaBernardo Dominic NEGOTIATION

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