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
David D RoysterBrazilOnyama Limba RENEWAL
Costa I GillianBrazilXuxue Feng NEGOTIATION
Darci Y MacleadRussiaOnyama Limba RENEWAL
Aditya Y BriddickJapanAmy Elsner QUALIFIED
Kadeem V IturbideSpainIvan Magalhaes NEGOTIATION
Antonio Q OstroskyRussiaAmy Elsner PROPOSAL
Adams V ShinkoRussiaIvan Magalhaes NEW
Isabel I RoysterAustraliaAmy Elsner NEGOTIATION
Juan U SaylorsArgentinaIvan Magalhaes NEW
Sinclair G MarrierArgentinaStephen Shaw RENEWAL
Leja W PaprockiRussiaElwin Sharvill NEW
Antonio F CaldareraIndiaStephen Shaw QUALIFIED
Nicolas J DarakjyCanadaOnyama Limba UNQUALIFIED
David M GlickArgentinaAsiya Javayant RENEWAL
Morrow H DilliardSpainAmy Elsner RENEWAL
Kadeem G FollerItalyAsiya Javayant QUALIFIED
Adams O RimUnited KingdomAsiya Javayant RENEWAL
Emily V CaldareraIndiaIoni Bowcher NEGOTIATION
Faith Y ButtItalyStephen Shaw RENEWAL
Juan C VenereBrazilBernardo Dominic NEGOTIATION
Nicolas E KolmetzItalyAsiya Javayant QUALIFIED
Aditya K NickaRussiaAsiya Javayant NEGOTIATION
Adams L SlusarskiBrazilIoni Bowcher RENEWAL
Claire V PerinAustraliaBernardo Dominic UNQUALIFIED
Munro F RulapaughFranceIoni Bowcher NEW
Sinclair V DarakjyIndiaIvan Magalhaes NEW
Kadeem R AlbaresBrazilOnyama Limba PROPOSAL
Darci E GlickBrazilAsiya Javayant QUALIFIED
Chavez P DilliardArgentinaAnna Fali PROPOSAL
Claire Q WaycottItalyAmy Elsner NEGOTIATION
Deepesh O ShinkoBrazilXuxue Feng QUALIFIED
Johnson X OldroydAustraliaAmy Elsner RENEWAL
Jones R MacleadItalyXuxue Feng QUALIFIED
Johnson F FollerItalyIoni Bowcher UNQUALIFIED
Silvio G PaprockiBrazilXuxue Feng NEGOTIATION
Julie B ChuiUnited KingdomIoni Bowcher NEW
James V BologniaGermanyIoni Bowcher QUALIFIED
Maria R RoysterArgentinaOnyama Limba RENEWAL
Deepesh G CaudyGermanyBernardo Dominic PROPOSAL
Tony V GauchoGermanyIvan Magalhaes NEGOTIATION
Tony N IturbideFranceAsiya Javayant RENEWAL
Aika S RimIndiaOnyama Limba PROPOSAL
Aruna S VenereIndiaAmy Elsner RENEWAL
Izzy W DoeGermanyBernardo Dominic RENEWAL
Leja F RimUnited KingdomBernardo Dominic UNQUALIFIED
Greenwood C KolmetzBrazilAmy Elsner NEW
Costa N WhobreyCanadaStephen Shaw RENEWAL
Misaki M StockhamAustraliaStephen Shaw PROPOSAL
Nicolas H StensethArgentinaStephen Shaw UNQUALIFIED
Jones Y GillianItalyOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Morrow K StockhamJapanElwin Sharvill QUALIFIED
David X GauchoIndiaStephen Shaw NEW
Adams G WieserItalyAsiya Javayant UNQUALIFIED
Costa Y MaletArgentinaAnna Fali NEW
Mayumi T PaprockiRussiaBernardo Dominic PROPOSAL
Claire U BologniaArgentinaStephen Shaw QUALIFIED
Rodrigues Z VenereUnited KingdomAsiya Javayant NEGOTIATION
Misaki W SaylorsJapanXuxue Feng UNQUALIFIED
Alejandro L CaldareraCanadaStephen Shaw PROPOSAL
Emily L BriddickItalyAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley D MaletArgentina2024-06-08Feiner Bros NEGOTIATION40Xuxue Feng
1001Juan C SaylorsItaly2024-06-11Feiner Bros UNQUALIFIED83Asiya Javayant
1002Tony D StensethIndia2024-05-27Truhlar And Truhlar Attys NEW16Anna Fali
1003Maisha Y FigeroaItaly2024-06-03Rousseaux, Michael Esq RENEWAL15Ivan Magalhaes
1004Jennifer Q NestleCanada2024-06-12Feltz Printing Service RENEWAL43Ivan Magalhaes
1005Francesco J SaylorsJapan2024-05-25Buckley Miller Wright RENEWAL97Anna Fali
1006Emily S MaletIndia2024-05-23Rousseaux, Michael Esq NEW87Ivan Magalhaes
1007Jefferson C StensethSpain2024-05-24Printing Dimensions NEW45Ioni Bowcher
1008Chavez T IturbideItaly2024-05-29Chapman, Ross E Esq RENEWAL75Onyama Limba
1009Claire Q SlusarskiJapan2024-05-24Chapman, Ross E Esq RENEWAL60Stephen Shaw
1010Adams U CaldareraArgentina2024-05-28Commercial Press PROPOSAL46Ivan Magalhaes
1011Aruna P DarakjyItaly2024-05-21Chapman, Ross E Esq NEW15Anna Fali
1012Julie F PerinJapan2024-06-07Chanay, Jeffrey A Esq NEGOTIATION17Anna Fali
1013Deepesh H SlusarskiItaly2024-06-05Chemel, James L Cpa RENEWAL91Onyama Limba
1014Aika K RimItaly2024-05-19Rousseaux, Michael Esq NEGOTIATION92Amy Elsner
1015Tony S FigeroaGermany2024-05-21Dorl, James J Esq RENEWAL59Anna Fali
1016Aika E SlusarskiUnited Kingdom2024-06-06Truhlar And Truhlar Attys QUALIFIED9Stephen Shaw
1017Silvio Z BologniaGermany2024-05-20Printing Dimensions QUALIFIED64Xuxue Feng
1018Jeanfrancois I ButtCanada2024-05-20Commercial Press PROPOSAL95Bernardo Dominic
1019Jeanfrancois C WieserSpain2024-05-22King, Christopher A Esq RENEWAL43Bernardo Dominic
1020Maria T MorascaFrance2024-05-29Feltz Printing Service QUALIFIED51Asiya Javayant
1021Mujtaba O ChuiItaly2024-06-09Rangoni Of Florence UNQUALIFIED78Ioni Bowcher
1022Jones F MaletUnited Kingdom2024-05-30Printing Dimensions NEW97Xuxue Feng
1023James H BriddickCanada2024-05-24Truhlar And Truhlar Attys RENEWAL51Onyama Limba
1024Mayumi E CaudyCanada2024-06-05Chapman, Ross E Esq QUALIFIED93Elwin Sharvill
1025Nicolas J RoysterSpain2024-06-17Morlong Associates NEGOTIATION70Onyama Limba
1026Julie X StockhamIndia2024-05-31Chanay, Jeffrey A Esq NEW82Onyama Limba
1027Emily I RulapaughIndia2024-06-09Printing Dimensions NEGOTIATION20Amy Elsner
1028Maria K OldroydRussia2024-06-17King, Christopher A Esq QUALIFIED31Asiya Javayant
1029Aruna Q IturbideAustralia2024-06-11Printing Dimensions UNQUALIFIED70Stephen Shaw
1030Adams R AlbaresUnited Kingdom2024-06-02Rousseaux, Michael Esq PROPOSAL32Ivan Magalhaes
1031Jennifer C GarufiSpain2024-06-01Feiner Bros QUALIFIED32Ivan Magalhaes
1032David U PaprockiArgentina2024-05-29Dorl, James J Esq RENEWAL35Onyama Limba
1033Cody C BowleyItaly2024-06-12Chemel, James L Cpa NEGOTIATION76Ivan Magalhaes
1034Stacey U CampainJapan2024-06-04Dorl, James J Esq PROPOSAL39Anna Fali
1035Chavez P TollnerUnited Kingdom2024-06-12Benton, John B Jr QUALIFIED13Anna Fali
1036Claire G ButtBrazil2024-05-23Feiner Bros NEGOTIATION21Asiya Javayant
1037Cody Q SergiSpain2024-06-12King, Christopher A Esq NEW91Ioni Bowcher
1038James U SergiSpain2024-06-13Morlong Associates UNQUALIFIED54Bernardo Dominic
1039Kaitlin Z InouyeArgentina2024-06-11Dorl, James J Esq RENEWAL57Ioni Bowcher
1040Silvio Q TollnerUnited Kingdom2024-05-25Feiner Bros PROPOSAL33Bernardo Dominic
1041Claire F MaletJapan2024-06-01Dorl, James J Esq RENEWAL68Elwin Sharvill
1042Nicolas B RimJapan2024-05-25Buckley Miller Wright NEGOTIATION66Asiya Javayant
1043Munro X ChuiFrance2024-05-26King, Christopher A Esq PROPOSAL64Ioni Bowcher
1044Emily W RutaIndia2024-05-23Rousseaux, Michael Esq PROPOSAL58Onyama Limba
1045Nicolas Q AmigonIndia2024-06-08Chemel, James L Cpa UNQUALIFIED87Anna Fali
1046Ricardo P DilliardFrance2024-06-02Chemel, James L Cpa PROPOSAL37Anna Fali
1047Emily O SchemmerSpain2024-05-31Rangoni Of Florence PROPOSAL13Onyama Limba
1048Emily N CaldareraJapan2024-05-24Feiner Bros UNQUALIFIED16Xuxue Feng
1049Clifford B OldroydIndia2024-05-19Rangoni Of Florence QUALIFIED16Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Aditya N SchemmerCanadaStephen Shaw UNQUALIFIED
Greenwood F SchemmerFranceAsiya Javayant NEW
Julie T GarufiGermanyAsiya Javayant PROPOSAL
Misaki W VocelkaUnited KingdomAmy Elsner QUALIFIED
Johnson J PerinCanadaElwin Sharvill QUALIFIED
Ashley T InouyeSpainOnyama Limba PROPOSAL
Silvio E SergiFranceBernardo Dominic NEGOTIATION
Wickens S ButtJapanStephen Shaw NEW
Kaitlin I NestleItalyStephen Shaw NEW
Maisha N AlbaresIndiaAnna Fali QUALIFIED
Ivar C InouyeUnited KingdomAnna Fali PROPOSAL
Cody Q VocelkaGermanyOnyama Limba PROPOSAL
Sinclair H MaletIndiaBernardo Dominic UNQUALIFIED
Isabel K FlosiItalyIvan Magalhaes QUALIFIED
Arvin O DarakjyFranceAnna Fali UNQUALIFIED
Kaitlin L FerenczArgentinaAmy Elsner NEW
Jennifer X OstroskyUnited KingdomXuxue Feng QUALIFIED
Mayumi Z NestleArgentinaBernardo Dominic NEW
Clifford U MorascaArgentinaElwin Sharvill NEW
Clifford W BologniaItalyIoni Bowcher UNQUALIFIED
Rodrigues D RimBrazilStephen Shaw RENEWAL
Morrow H GarufiSpainIoni Bowcher UNQUALIFIED
Ivar F AmigonBrazilElwin Sharvill PROPOSAL
Sinclair E FigeroaItalyIvan Magalhaes PROPOSAL
Mujtaba W SchemmerUnited KingdomAnna Fali QUALIFIED
Costa Y DoeSpainXuxue Feng NEGOTIATION
Maria S MorascaSpainBernardo Dominic QUALIFIED
Mayumi S FerenczIndiaStephen Shaw NEGOTIATION
Alejandro I RulapaughIndiaElwin Sharvill RENEWAL
Claire W SergiAustraliaAnna Fali RENEWAL
Alejandro A RoysterRussiaBernardo Dominic PROPOSAL
Izzy J GillianSpainElwin Sharvill NEW
Emily Y FlosiItalyIvan Magalhaes PROPOSAL
Arvin I FollerIndiaIoni Bowcher PROPOSAL
Octavia A MorascaIndiaOnyama Limba PROPOSAL
Isabel N VenereSpainIvan Magalhaes PROPOSAL
Deepesh I MorascaFranceXuxue Feng UNQUALIFIED
Julie Q PaprockiBrazilIvan Magalhaes QUALIFIED
Munro L StockhamItalyElwin Sharvill PROPOSAL
Smith T SlusarskiIndiaBernardo Dominic UNQUALIFIED
Maria Z SlusarskiAustraliaIvan Magalhaes QUALIFIED
Maria Z SergiBrazilIvan Magalhaes PROPOSAL
James I DoeItalyStephen Shaw RENEWAL
Leon N SaylorsCanadaIoni Bowcher PROPOSAL
James N FollerItalyStephen Shaw PROPOSAL
Jefferson D GillianCanadaAsiya Javayant RENEWAL
Murillo Q MarrierGermanyIoni Bowcher NEGOTIATION
David Q ButtJapanAnna Fali NEGOTIATION
Adams X KolmetzJapanAsiya Javayant PROPOSAL
Cody B BriddickCanadaAnna Fali UNQUALIFIED
Frozen Columns
Name
Claire K Ferencz
Francesco D Gillian
Maria P Bolognia
Murillo G Oldroyd
Costa N Albares
Rodrigues P Ruta
Izzy W Shinko
Izzy C Butt
Aruna C Shinko
Tony G Gaucho
Aruna F Gillian
Munro W Garufi
Nicolas M Stenseth
Claire A Malet
Mayumi R Figeroa
Misaki Q Gaucho
Clifford A Bolognia
Jennifer M Inouye
Munro X Schemmer
Munro O Bowley
Wickens O Stockham
Aditya Z Poquette
Aruna R Stenseth
Murillo Q Ruta
Arvin E Oldroyd
Clifford W Wieser
Cody J Caudy
Aika B Saylors
Aditya B Garufi
Arvin K Albares
Julie X Perin
David L Ostrosky
Salvatore Q Iturbide
Jefferson M Foller
Ivar R Malet
Arvin N Albares
Deepesh Y Venere
Johnson S Paprocki
Darci C Nestle
Octavia G Figeroa
Mujtaba Q Iturbide
Juan R Figeroa
Nicolas X Glick
Johnson C Albares
Silvio Q Foller
Kadeem A Inouye
Wickens T Ruta
Ivar M Stockham
Smith E Rulapaugh
Jones C Campain
IdCountryDate
1000United Kingdom2024-05-25
1001Spain2024-06-05
1002India2024-05-29
1003India2024-06-12
1004Australia2024-06-11
1005Italy2024-06-05
1006Italy2024-05-31
1007Argentina2024-05-31
1008Japan2024-06-04
1009Italy2024-06-07
1010Argentina2024-05-27
1011Japan2024-06-15
1012India2024-06-03
1013India2024-06-17
1014United Kingdom2024-06-09
1015Argentina2024-05-20
1016Germany2024-05-21
1017Japan2024-05-25
1018Brazil2024-06-17
1019Germany2024-05-25
1020India2024-06-09
1021Spain2024-05-24
1022Germany2024-06-08
1023United Kingdom2024-06-12
1024France2024-06-01
1025Italy2024-05-26
1026Russia2024-06-02
1027Spain2024-05-30
1028Spain2024-06-11
1029India2024-05-31
1030France2024-05-21
1031Brazil2024-06-01
1032Japan2024-05-29
1033Germany2024-05-23
1034Italy2024-05-21
1035United Kingdom2024-06-02
1036India2024-06-05
1037Argentina2024-06-17
1038Argentina2024-05-28
1039India2024-06-07
1040Canada2024-06-01
1041Russia2024-06-13
1042Germany2024-05-31
1043Russia2024-05-21
1044Russia2024-06-07
1045France2024-06-09
1046Russia2024-06-10
1047Japan2024-06-10
1048France2024-05-26
1049Canada2024-05-23

On-Demand Data

NameIdCountryDate
Maria B Shinko1000United Kingdom2024-05-26
Murillo L Ruta1001Italy2024-06-16
Salvatore G Foller1002India2024-05-28
Deepesh I Foller1003Canada2024-05-24
Nicolas I Wieser1004United Kingdom2024-06-13
Leja R Schemmer1005Australia2024-06-17
Silvio E Dilliard1006Argentina2024-05-20
Leon S Bowley1007Italy2024-06-06
Ashley M Butt1008Italy2024-05-19
Francesco M Stenseth1009Japan2024-05-24
Emily B Chui1010United Kingdom2024-06-12
Munro L Foller1011Russia2024-05-22
Maria P Albares1012France2024-06-03
Morrow L Inouye1013Russia2024-06-02
Maria Q Inouye1014France2024-06-09
Kadeem R Perin1015Canada2024-06-09
David R Albares1016Australia2024-05-27
Juan A Vocelka1017Italy2024-06-06
Wickens G Garufi1018Italy2024-06-09
Ashley F Campain1019Spain2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey L BowleySpainElwin Sharvill PROPOSAL
Salvatore O RulapaughUnited KingdomXuxue Feng RENEWAL
Claire N SergiFranceAmy Elsner NEGOTIATION
Claire R VenereRussiaIvan Magalhaes UNQUALIFIED
Claire R RutaIndiaIvan Magalhaes NEGOTIATION
Aditya H ShinkoJapanElwin Sharvill QUALIFIED
Stacey V MaletArgentinaBernardo Dominic RENEWAL
Maria Z KolmetzCanadaBernardo Dominic QUALIFIED
Chavez M MacleadRussiaIoni Bowcher UNQUALIFIED
Isabel O MarrierFranceBernardo Dominic PROPOSAL
Maria U MaletJapanAnna Fali UNQUALIFIED
Munro Q MaletItalyAsiya Javayant PROPOSAL
Adams P ButtBrazilAmy Elsner UNQUALIFIED
Izzy L CaudyAustraliaOnyama Limba RENEWAL
Aditya Z MaletGermanyXuxue Feng PROPOSAL
Aruna K NickaRussiaAnna Fali RENEWAL
Stacey K GillianRussiaBernardo Dominic NEGOTIATION
Alejandro F SergiGermanyIoni Bowcher QUALIFIED
Julie L FerenczBrazilAnna Fali PROPOSAL
Morrow H FigeroaJapanXuxue Feng QUALIFIED
Stacey M CampainAustraliaIoni Bowcher NEGOTIATION
Jones I AmigonJapanStephen Shaw NEGOTIATION
Maisha O RimItalyAnna Fali QUALIFIED
Silvio E NestleArgentinaAmy Elsner NEGOTIATION
Costa D MarrierAustraliaBernardo Dominic PROPOSAL
Munro A WieserAustraliaBernardo Dominic QUALIFIED
Mayumi L AmigonCanadaIvan Magalhaes QUALIFIED
Munro E BriddickIndiaAnna Fali RENEWAL
Wickens P FlosiBrazilOnyama Limba PROPOSAL
Kaitlin C GlickJapanAnna Fali NEW
Johnson O PaprockiCanadaElwin Sharvill QUALIFIED
James Z PoquetteAustraliaStephen Shaw RENEWAL
Morrow N MarrierUnited KingdomElwin Sharvill PROPOSAL
Emily M TollnerRussiaAnna Fali UNQUALIFIED
Kaitlin F StockhamCanadaIvan Magalhaes PROPOSAL
Jennifer G OstroskyArgentinaAnna Fali NEGOTIATION
Wickens E FollerGermanyIvan Magalhaes RENEWAL
Chavez H FerenczArgentinaAmy Elsner PROPOSAL
Leon M RulapaughFranceStephen Shaw NEGOTIATION
James R DilliardGermanyIoni Bowcher PROPOSAL

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