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
Morrow D WieserCanadaIvan Magalhaes UNQUALIFIED
Wickens O RoysterCanadaBernardo Dominic QUALIFIED
Munro N KolmetzRussiaStephen Shaw PROPOSAL
Kadeem Y SlusarskiIndiaOnyama Limba UNQUALIFIED
Wickens D IturbideGermanyStephen Shaw NEGOTIATION
Munro Q AlbaresArgentinaAnna Fali UNQUALIFIED
David X OstroskyArgentinaStephen Shaw RENEWAL
Mujtaba P IturbideUnited KingdomAnna Fali UNQUALIFIED
Silvio Y MaletRussiaElwin Sharvill NEW
Nicolas M KolmetzCanadaElwin Sharvill NEW
Nicolas M CaudyCanadaAmy Elsner QUALIFIED
Jennifer W NestleBrazilIvan Magalhaes NEW
Greenwood I VenereGermanyStephen Shaw UNQUALIFIED
Stacey Z KolmetzUnited KingdomAsiya Javayant PROPOSAL
Francesco O RimBrazilAsiya Javayant PROPOSAL
Wickens S NickaJapanElwin Sharvill UNQUALIFIED
Darci H RimIndiaStephen Shaw QUALIFIED
Greenwood R PerinBrazilAsiya Javayant RENEWAL
Murillo R IturbideCanadaIoni Bowcher RENEWAL
Antonio O PaprockiSpainXuxue Feng UNQUALIFIED
Aditya Y BriddickCanadaAmy Elsner PROPOSAL
Jeanfrancois F SergiCanadaIvan Magalhaes NEW
Claire U RoysterBrazilStephen Shaw UNQUALIFIED
Mayumi V ChuiArgentinaBernardo Dominic RENEWAL
Juan V WaycottRussiaBernardo Dominic QUALIFIED
Leja M CampainJapanXuxue Feng NEW
Tony U SergiBrazilAnna Fali QUALIFIED
Faith N GarufiUnited KingdomIvan Magalhaes UNQUALIFIED
Maria M WhobreyGermanyAnna Fali NEW
Sinclair S WieserIndiaAsiya Javayant NEGOTIATION
Darci O ButtUnited KingdomOnyama Limba RENEWAL
Julie L InouyeGermanyXuxue Feng NEGOTIATION
Ivar X SchemmerGermanyBernardo Dominic NEGOTIATION
Izzy T NestleSpainOnyama Limba NEGOTIATION
Leon Y MaletGermanyStephen Shaw QUALIFIED
Jones T ShinkoBrazilAsiya Javayant NEW
Morrow H PaprockiFranceStephen Shaw QUALIFIED
Julie A CaldareraIndiaOnyama Limba QUALIFIED
Francesco U WieserItalyStephen Shaw NEGOTIATION
Julie H FlosiAustraliaAmy Elsner PROPOSAL
Claire L MorascaGermanyXuxue Feng UNQUALIFIED
Aditya Z NestleSpainAnna Fali UNQUALIFIED
Emily X CampainCanadaAnna Fali NEW
Greenwood Z VocelkaBrazilBernardo Dominic PROPOSAL
Leja F ChuiRussiaIoni Bowcher NEW
Rodrigues Q PaprockiGermanyXuxue Feng UNQUALIFIED
Ivar L MacleadJapanAsiya Javayant UNQUALIFIED
Jones Y ButtGermanyBernardo Dominic NEGOTIATION
Faith U BowleyRussiaElwin Sharvill RENEWAL
Morrow Q BriddickArgentinaAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Izzy R ButtUnited KingdomBernardo Dominic NEW
Mayumi K RoysterRussiaStephen Shaw RENEWAL
Arvin R GillianItalyBernardo Dominic PROPOSAL
Emily Y WieserAustraliaAsiya Javayant NEW
Maria J SergiJapanBernardo Dominic QUALIFIED
Murillo B NestleSpainAsiya Javayant UNQUALIFIED
Greenwood E PaprockiRussiaAmy Elsner RENEWAL
Jones T BologniaBrazilStephen Shaw UNQUALIFIED
Smith K FlosiBrazilAsiya Javayant UNQUALIFIED
Misaki H ButtGermanyStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco A RoysterAustralia2024-06-09Printing Dimensions RENEWAL32Anna Fali
1001Silvio A FigeroaRussia2024-05-30Printing Dimensions PROPOSAL82Stephen Shaw
1002Deepesh W AmigonJapan2024-05-31Rousseaux, Michael Esq NEGOTIATION40Bernardo Dominic
1003Arvin A WhobreyItaly2024-06-07Chemel, James L Cpa QUALIFIED34Anna Fali
1004Ricardo L MarrierBrazil2024-06-18Morlong Associates UNQUALIFIED98Stephen Shaw
1005Greenwood K StensethUnited Kingdom2024-05-27Commercial Press QUALIFIED96Onyama Limba
1006Maria N RutaAustralia2024-06-20Benton, John B Jr RENEWAL33Stephen Shaw
1007Francesco Q MarrierFrance2024-05-30Rangoni Of Florence NEW56Stephen Shaw
1008Costa D FerenczArgentina2024-06-14Truhlar And Truhlar Attys NEW0Stephen Shaw
1009Kadeem C TollnerBrazil2024-05-24Chanay, Jeffrey A Esq RENEWAL8Ioni Bowcher
1010Rodrigues U OstroskyBrazil2024-05-27Morlong Associates NEW39Bernardo Dominic
1011Leja M FollerUnited Kingdom2024-05-30Morlong Associates RENEWAL65Anna Fali
1012Mujtaba M MorascaIndia2024-06-09Truhlar And Truhlar Attys PROPOSAL99Stephen Shaw
1013Francesco H PoquetteJapan2024-06-20Chanay, Jeffrey A Esq QUALIFIED70Stephen Shaw
1014Faith K DoeBrazil2024-06-20Buckley Miller Wright PROPOSAL2Asiya Javayant
1015Silvio N RutaFrance2024-05-29Commercial Press QUALIFIED48Xuxue Feng
1016Johnson B RoysterAustralia2024-05-29Feltz Printing Service QUALIFIED53Bernardo Dominic
1017Emily Z IturbideRussia2024-06-03Chanay, Jeffrey A Esq RENEWAL77Onyama Limba
1018Faith O BowleyRussia2024-06-12Buckley Miller Wright QUALIFIED52Ioni Bowcher
1019Rodrigues U WhobreyItaly2024-06-09Chanay, Jeffrey A Esq UNQUALIFIED27Stephen Shaw
1020Aditya J MaletFrance2024-06-03Feltz Printing Service PROPOSAL70Onyama Limba
1021Cody V GauchoGermany2024-05-28Feltz Printing Service PROPOSAL38Onyama Limba
1022Jones M GauchoRussia2024-06-09Dorl, James J Esq QUALIFIED4Stephen Shaw
1023Aika I KuskoBrazil2024-05-30Truhlar And Truhlar Attys NEGOTIATION10Anna Fali
1024Mujtaba F VocelkaRussia2024-05-27Truhlar And Truhlar Attys PROPOSAL80Asiya Javayant
1025Kadeem C GauchoArgentina2024-06-01Chemel, James L Cpa NEW84Elwin Sharvill
1026Ivar Y SergiCanada2024-06-16Chanay, Jeffrey A Esq NEW42Bernardo Dominic
1027Kaitlin S DoeFrance2024-06-14Buckley Miller Wright PROPOSAL49Anna Fali
1028Izzy I MaletSpain2024-06-01Printing Dimensions QUALIFIED76Onyama Limba
1029Ashley H SaylorsGermany2024-06-04Rangoni Of Florence PROPOSAL52Xuxue Feng
1030Emily E InouyeGermany2024-06-11Feltz Printing Service NEW43Bernardo Dominic
1031Maisha M NickaCanada2024-06-18Truhlar And Truhlar Attys PROPOSAL49Onyama Limba
1032Claire C PoquetteRussia2024-06-06Feltz Printing Service UNQUALIFIED54Stephen Shaw
1033Mujtaba K MorascaJapan2024-05-26Rangoni Of Florence NEGOTIATION30Stephen Shaw
1034Leja L GarufiSpain2024-05-26King, Christopher A Esq NEGOTIATION61Bernardo Dominic
1035Chavez H WieserRussia2024-05-27Chapman, Ross E Esq PROPOSAL8Anna Fali
1036Aruna B VocelkaBrazil2024-06-19King, Christopher A Esq NEW42Amy Elsner
1037Francesco X FerenczUnited Kingdom2024-06-14Chapman, Ross E Esq RENEWAL62Asiya Javayant
1038Ivar V GlickGermany2024-05-28Morlong Associates UNQUALIFIED16Ioni Bowcher
1039Salvatore L MaletBrazil2024-06-09Chapman, Ross E Esq PROPOSAL7Stephen Shaw
1040Leja X BologniaCanada2024-06-14Truhlar And Truhlar Attys NEW13Stephen Shaw
1041Morrow O TollnerCanada2024-06-21Chanay, Jeffrey A Esq QUALIFIED96Ioni Bowcher
1042Ashley S RulapaughRussia2024-05-26Benton, John B Jr NEW88Stephen Shaw
1043Izzy R ButtItaly2024-06-22Chapman, Ross E Esq NEGOTIATION11Amy Elsner
1044Rodrigues A OldroydSpain2024-06-16Chemel, James L Cpa QUALIFIED71Asiya Javayant
1045Izzy S MaletFrance2024-06-15Benton, John B Jr NEGOTIATION68Ivan Magalhaes
1046Salvatore E GillianFrance2024-06-08Feiner Bros NEW6Onyama Limba
1047Darci I NickaFrance2024-06-05Feiner Bros NEGOTIATION92Xuxue Feng
1048Jeanfrancois R DoeUnited Kingdom2024-05-30Chanay, Jeffrey A Esq NEW23Amy Elsner
1049Claire D IturbideArgentina2024-06-20Dorl, James J Esq RENEWAL46Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Stacey S OstroskyItalyStephen Shaw RENEWAL
Ricardo G WieserGermanyAnna Fali NEGOTIATION
Jones S FerenczAustraliaXuxue Feng UNQUALIFIED
Munro K ChuiFranceElwin Sharvill PROPOSAL
Leja M GlickJapanAmy Elsner NEW
Ivar H NickaCanadaBernardo Dominic QUALIFIED
Nicolas I RimAustraliaAsiya Javayant UNQUALIFIED
Nicolas N CaudyArgentinaBernardo Dominic RENEWAL
Smith I MaletGermanyBernardo Dominic RENEWAL
Darci T CaldareraFranceBernardo Dominic RENEWAL
Clifford V ChuiJapanAsiya Javayant PROPOSAL
Izzy U GlickUnited KingdomBernardo Dominic PROPOSAL
Munro I TollnerIndiaXuxue Feng PROPOSAL
Aditya C PerinUnited KingdomElwin Sharvill NEW
Tony D StensethFranceOnyama Limba UNQUALIFIED
Maisha H ShinkoCanadaAnna Fali NEGOTIATION
Octavia C SlusarskiIndiaAnna Fali QUALIFIED
Salvatore A RimRussiaXuxue Feng QUALIFIED
Izzy M DarakjySpainBernardo Dominic NEGOTIATION
Smith U SergiCanadaStephen Shaw RENEWAL
Stacey A DoeGermanyIvan Magalhaes QUALIFIED
Costa O TollnerCanadaBernardo Dominic RENEWAL
Darci F KolmetzCanadaAsiya Javayant RENEWAL
Kadeem B AmigonBrazilBernardo Dominic QUALIFIED
Nicolas Z MaletCanadaAsiya Javayant UNQUALIFIED
Murillo C GarufiSpainOnyama Limba PROPOSAL
Ashley A GlickItalyAnna Fali NEW
Greenwood V MacleadBrazilIvan Magalhaes NEGOTIATION
Kadeem D NickaRussiaOnyama Limba NEW
Faith Y BriddickCanadaAnna Fali RENEWAL
Nicolas C GillianIndiaAmy Elsner QUALIFIED
Salvatore H StensethGermanyAmy Elsner NEW
Silvio H TollnerArgentinaElwin Sharvill NEW
Juan S CampainCanadaBernardo Dominic UNQUALIFIED
Misaki G TollnerItalyBernardo Dominic RENEWAL
Claire A MaletIndiaElwin Sharvill QUALIFIED
Maria N SergiBrazilXuxue Feng NEW
Tony C IturbideJapanAnna Fali NEW
Aditya H CampainItalyOnyama Limba RENEWAL
Tony Z RutaSpainIoni Bowcher NEW
Salvatore L BowleyCanadaBernardo Dominic UNQUALIFIED
Rodrigues S CampainBrazilBernardo Dominic PROPOSAL
Sinclair Y CaldareraBrazilIoni Bowcher NEGOTIATION
Francesco I ShinkoFranceIvan Magalhaes PROPOSAL
Kadeem N BowleyFranceXuxue Feng NEGOTIATION
Izzy U CaldareraJapanXuxue Feng NEW
Nicolas Y PerinAustraliaElwin Sharvill QUALIFIED
Alejandro O MarrierFranceElwin Sharvill PROPOSAL
Mayumi I PaprockiGermanyAnna Fali RENEWAL
Claire Y GarufiFranceAmy Elsner UNQUALIFIED
Frozen Columns
Name
James M Maclead
Arvin S Venere
Juan E Waycott
Isabel W Garufi
Izzy Z Shinko
Silvio U Kolmetz
Jeanfrancois K Gillian
Rodrigues O Doe
Greenwood V Schemmer
Alejandro G Butt
Greenwood Z Briddick
Juan P Royster
Maisha A Kolmetz
Leja D Doe
Leja T Sergi
Salvatore K Sergi
Tony K Flosi
Mujtaba Y Ferencz
Johnson O Malet
Adams Q Caudy
Maisha P Rim
Costa V Garufi
Mayumi W Foller
Octavia X Caldarera
Rodrigues D Whobrey
Ashley N Sergi
Maria U Rim
Sinclair P Tollner
Aditya B Darakjy
Tony J Butt
Faith M Marrier
Smith K Shinko
Maisha N Bowley
Deepesh Y Malet
Mayumi C Bolognia
Julie W Ferencz
Salvatore Y Sergi
Aika O Tollner
Emily T Inouye
Smith R Malet
Jeanfrancois D Butt
David Z Flosi
Jennifer Y Paprocki
Alejandro E Vocelka
Aruna H Marrier
Juan Q Caldarera
Alejandro W Wieser
Darci U Briddick
Antonio H Shinko
Wickens Y Nicka
IdCountryDate
1000Argentina2024-06-20
1001Australia2024-06-18
1002Germany2024-05-31
1003Germany2024-06-02
1004Japan2024-05-27
1005Japan2024-06-10
1006Italy2024-06-11
1007Italy2024-06-17
1008Brazil2024-05-29
1009Russia2024-06-22
1010Russia2024-05-27
1011Russia2024-05-29
1012Brazil2024-06-07
1013Spain2024-06-13
1014Russia2024-05-27
1015Argentina2024-06-07
1016India2024-05-25
1017Brazil2024-06-03
1018United Kingdom2024-06-03
1019Japan2024-06-18
1020France2024-05-31
1021United Kingdom2024-05-30
1022Canada2024-05-28
1023Spain2024-06-04
1024Canada2024-05-24
1025United Kingdom2024-06-19
1026Brazil2024-06-08
1027Russia2024-06-22
1028Spain2024-06-08
1029India2024-06-19
1030Argentina2024-06-05
1031Spain2024-06-11
1032Brazil2024-06-07
1033United Kingdom2024-05-30
1034United Kingdom2024-06-11
1035France2024-05-26
1036Canada2024-06-01
1037Australia2024-06-05
1038India2024-06-07
1039Japan2024-05-28
1040United Kingdom2024-06-01
1041Canada2024-06-09
1042Canada2024-05-30
1043France2024-05-28
1044France2024-06-15
1045Russia2024-05-24
1046Spain2024-06-05
1047Argentina2024-05-26
1048Australia2024-06-04
1049France2024-06-06

On-Demand Data

NameIdCountryDate
Deepesh I Wieser1000United Kingdom2024-06-03
Darci I Caudy1001Germany2024-06-13
Arvin Y Nicka1002United Kingdom2024-06-03
Chavez M Bowley1003Italy2024-05-26
Jefferson X Flosi1004Spain2024-05-31
Smith Y Kolmetz1005Brazil2024-05-26
Sinclair V Bolognia1006Canada2024-06-07
Julie E Glick1007Canada2024-06-05
Jennifer P Iturbide1008Japan2024-05-27
Jones J Venere1009Germany2024-06-10
Maisha A Gillian1010Russia2024-05-30
Misaki G Figeroa1011United Kingdom2024-06-01
Sinclair K Malet1012Spain2024-06-20
Greenwood L Caudy1013United Kingdom2024-06-20
Jefferson K Campain1014France2024-06-02
Juan Q Stenseth1015Argentina2024-06-20
Smith W Wieser1016Japan2024-06-10
Jefferson C Nestle1017India2024-06-15
Tony Z Garufi1018Brazil2024-06-15
Mujtaba W Rim1019Germany2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson Q SlusarskiRussiaAmy Elsner QUALIFIED
Mujtaba I SchemmerRussiaXuxue Feng NEGOTIATION
Adams U GauchoRussiaStephen Shaw UNQUALIFIED
James J WieserRussiaXuxue Feng NEW
Antonio D MarrierArgentinaAsiya Javayant NEW
Octavia T GarufiUnited KingdomBernardo Dominic PROPOSAL
Ricardo Y SergiJapanIoni Bowcher RENEWAL
Faith M GarufiUnited KingdomAsiya Javayant NEW
Juan Y MorascaRussiaStephen Shaw QUALIFIED
Sinclair Q ShinkoSpainIoni Bowcher NEW
Murillo B OstroskyIndiaAmy Elsner RENEWAL
James N GauchoFranceIoni Bowcher NEW
Emily X FlosiItalyAmy Elsner QUALIFIED
Emily K CaldareraFranceOnyama Limba NEW
Emily F PerinJapanAsiya Javayant NEW
Silvio Y SlusarskiGermanyAmy Elsner QUALIFIED
Jennifer H FlosiUnited KingdomXuxue Feng UNQUALIFIED
Chavez P RoysterSpainIvan Magalhaes UNQUALIFIED
Antonio K AmigonGermanyElwin Sharvill NEW
Costa F SlusarskiGermanyAnna Fali NEW
Silvio F InouyeFranceBernardo Dominic PROPOSAL
Silvio O StockhamBrazilElwin Sharvill QUALIFIED
Jefferson X VenereItalyStephen Shaw UNQUALIFIED
Mayumi T RulapaughFranceOnyama Limba UNQUALIFIED
Antonio C NickaItalyIvan Magalhaes PROPOSAL
Juan V OstroskyGermanyXuxue Feng QUALIFIED
James L SergiRussiaIoni Bowcher PROPOSAL
Murillo G AmigonGermanyIvan Magalhaes PROPOSAL
Francesco W MaletRussiaAnna Fali NEW
Salvatore W SchemmerCanadaStephen Shaw NEW
Chavez K WhobreyRussiaIvan Magalhaes NEGOTIATION
Faith M KuskoJapanAsiya Javayant NEW
Misaki W PerinFranceIoni Bowcher NEW
Stacey E VenereSpainIvan Magalhaes NEGOTIATION
Rodrigues M AmigonIndiaOnyama Limba UNQUALIFIED
Chavez Y SchemmerRussiaAmy Elsner NEW
Tony O FigeroaFranceAnna Fali NEGOTIATION
Cody O DilliardJapanAnna Fali NEGOTIATION
David D WhobreyAustraliaIoni Bowcher NEGOTIATION
Julie V WieserRussiaIoni Bowcher 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>