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
Mayumi K CampainGermanyStephen Shaw UNQUALIFIED
Julie X WaycottRussiaAmy Elsner UNQUALIFIED
Smith B RoysterAustraliaOnyama Limba QUALIFIED
Ivar X RutaAustraliaElwin Sharvill NEGOTIATION
Emily C NickaUnited KingdomStephen Shaw RENEWAL
Izzy R PaprockiRussiaStephen Shaw UNQUALIFIED
Francesco T SergiJapanAsiya Javayant PROPOSAL
Morrow H CampainUnited KingdomAnna Fali NEGOTIATION
Wickens O MarrierItalyAmy Elsner UNQUALIFIED
Jones Z FigeroaCanadaAmy Elsner NEW
Darci E RutaFranceAmy Elsner NEGOTIATION
Mayumi K GauchoSpainIoni Bowcher UNQUALIFIED
Kadeem J NestleBrazilElwin Sharvill UNQUALIFIED
Darci O SchemmerJapanAsiya Javayant NEW
Juan S PerinIndiaElwin Sharvill QUALIFIED
Kadeem Q StensethBrazilOnyama Limba QUALIFIED
Johnson W RulapaughJapanElwin Sharvill NEGOTIATION
Wickens N BriddickGermanyAmy Elsner RENEWAL
Claire U OstroskyIndiaIoni Bowcher NEGOTIATION
Leon R RoysterAustraliaIoni Bowcher NEW
Octavia H GillianUnited KingdomIoni Bowcher PROPOSAL
Aditya A GillianAustraliaIvan Magalhaes RENEWAL
Antonio G StockhamItalyAnna Fali NEW
Faith X RutaIndiaIvan Magalhaes QUALIFIED
Tony L GlickBrazilAnna Fali UNQUALIFIED
Tony H GlickItalyAsiya Javayant NEGOTIATION
Aika S WaycottItalyStephen Shaw UNQUALIFIED
Ricardo U IturbideBrazilAsiya Javayant UNQUALIFIED
Faith B TollnerUnited KingdomIvan Magalhaes PROPOSAL
Johnson K MacleadCanadaAsiya Javayant PROPOSAL
Misaki V WaycottUnited KingdomAmy Elsner RENEWAL
Tony J DilliardUnited KingdomIvan Magalhaes QUALIFIED
Emily P DoeUnited KingdomOnyama Limba NEW
Adams D SergiJapanBernardo Dominic NEGOTIATION
Misaki X WaycottFranceOnyama Limba NEW
Jones W FollerSpainIvan Magalhaes NEW
Nicolas O ButtCanadaAsiya Javayant RENEWAL
Morrow C StockhamArgentinaBernardo Dominic QUALIFIED
Jeanfrancois I ShinkoUnited KingdomIvan Magalhaes NEW
Aditya O SergiSpainAmy Elsner QUALIFIED
James G AlbaresSpainIvan Magalhaes PROPOSAL
Silvio K GauchoRussiaStephen Shaw PROPOSAL
Isabel I BologniaUnited KingdomElwin Sharvill QUALIFIED
Octavia O VenereAustraliaXuxue Feng QUALIFIED
Jones Z GauchoIndiaElwin Sharvill NEW
Emily M CaudyGermanyAnna Fali QUALIFIED
Salvatore Z SaylorsUnited KingdomElwin Sharvill RENEWAL
Juan E StensethSpainAsiya Javayant NEW
Wickens J VocelkaCanadaAnna Fali NEGOTIATION
Maria U GauchoAustraliaAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Tony Y DoeUnited KingdomAsiya Javayant PROPOSAL
Juan Y RimRussiaAnna Fali NEGOTIATION
Ivar B DoeCanadaXuxue Feng QUALIFIED
Maisha W CaldareraUnited KingdomXuxue Feng NEGOTIATION
Misaki X OldroydJapanOnyama Limba PROPOSAL
David J PaprockiGermanyAmy Elsner QUALIFIED
Silvio M ShinkoGermanyBernardo Dominic NEGOTIATION
Johnson M PaprockiItalyIvan Magalhaes NEW
Alejandro F DilliardUnited KingdomBernardo Dominic NEW
Alejandro P StockhamBrazilAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin M ShinkoGermany2024-05-26Dorl, James J Esq NEW67Xuxue Feng
1001Ivar R GlickFrance2024-06-18Printing Dimensions UNQUALIFIED56Elwin Sharvill
1002Morrow I GlickUnited Kingdom2024-06-14Rousseaux, Michael Esq QUALIFIED35Stephen Shaw
1003Sinclair Z KuskoRussia2024-05-23Chapman, Ross E Esq NEGOTIATION85Anna Fali
1004Izzy H BologniaRussia2024-06-13Morlong Associates QUALIFIED11Asiya Javayant
1005Mayumi K VenereAustralia2024-06-07Feiner Bros PROPOSAL82Xuxue Feng
1006Jones N OldroydItaly2024-06-13Morlong Associates QUALIFIED47Ioni Bowcher
1007Jennifer X TollnerArgentina2024-06-21Feltz Printing Service PROPOSAL31Xuxue Feng
1008Rodrigues E MarrierFrance2024-06-17Commercial Press NEW18Asiya Javayant
1009Izzy H GillianCanada2024-06-05Feltz Printing Service RENEWAL15Ivan Magalhaes
1010Munro U CaudyJapan2024-06-15King, Christopher A Esq QUALIFIED55Stephen Shaw
1011Murillo N CaudyBrazil2024-06-16Morlong Associates QUALIFIED2Stephen Shaw
1012Greenwood M FigeroaAustralia2024-06-13Morlong Associates PROPOSAL38Amy Elsner
1013Juan Z GarufiGermany2024-06-02Chanay, Jeffrey A Esq NEGOTIATION82Onyama Limba
1014Stacey J ButtJapan2024-05-23Dorl, James J Esq RENEWAL60Amy Elsner
1015Mujtaba S GlickRussia2024-06-15Rousseaux, Michael Esq NEW69Ivan Magalhaes
1016Maisha L StockhamSpain2024-06-13Truhlar And Truhlar Attys UNQUALIFIED90Onyama Limba
1017Smith Y SlusarskiSpain2024-05-28Printing Dimensions RENEWAL85Bernardo Dominic
1018James E BowleyBrazil2024-06-13Chapman, Ross E Esq UNQUALIFIED61Anna Fali
1019Leon D MaletBrazil2024-05-25Dorl, James J Esq UNQUALIFIED78Bernardo Dominic
1020Munro Z GarufiBrazil2024-06-03Truhlar And Truhlar Attys QUALIFIED83Asiya Javayant
1021Mujtaba A KolmetzFrance2024-05-26Dorl, James J Esq QUALIFIED92Xuxue Feng
1022Nicolas K WaycottArgentina2024-06-14Chapman, Ross E Esq QUALIFIED11Ioni Bowcher
1023Octavia E BriddickArgentina2024-05-27Benton, John B Jr PROPOSAL81Ioni Bowcher
1024Sinclair W SergiFrance2024-06-19Dorl, James J Esq PROPOSAL24Anna Fali
1025Leja A VocelkaCanada2024-05-27Rangoni Of Florence RENEWAL91Stephen Shaw
1026Adams S ButtArgentina2024-06-01Chapman, Ross E Esq RENEWAL77Ivan Magalhaes
1027Maisha H RimGermany2024-06-16King, Christopher A Esq UNQUALIFIED63Asiya Javayant
1028Francesco F MaletIndia2024-06-06Feiner Bros NEGOTIATION38Ivan Magalhaes
1029Tony M MacleadBrazil2024-06-19Printing Dimensions PROPOSAL28Bernardo Dominic
1030Deepesh T DoeCanada2024-06-06Feltz Printing Service RENEWAL47Stephen Shaw
1031Jefferson N RoysterJapan2024-05-27Morlong Associates NEW29Onyama Limba
1032Antonio S WieserJapan2024-06-16Morlong Associates UNQUALIFIED31Anna Fali
1033Mayumi W StockhamRussia2024-06-14Feltz Printing Service NEGOTIATION9Ioni Bowcher
1034Mujtaba D BriddickRussia2024-06-17Chanay, Jeffrey A Esq RENEWAL98Stephen Shaw
1035Murillo I RutaArgentina2024-06-08Rangoni Of Florence NEGOTIATION28Asiya Javayant
1036Jennifer D ChuiAustralia2024-06-07Chemel, James L Cpa NEGOTIATION84Onyama Limba
1037Johnson D VocelkaCanada2024-05-25Commercial Press UNQUALIFIED93Asiya Javayant
1038Izzy R FigeroaIndia2024-06-04Chemel, James L Cpa NEGOTIATION46Ioni Bowcher
1039Deepesh S DarakjyGermany2024-06-09Benton, John B Jr QUALIFIED52Asiya Javayant
1040Juan H ShinkoSpain2024-06-14Chapman, Ross E Esq NEW18Xuxue Feng
1041Claire J PaprockiBrazil2024-06-10Chanay, Jeffrey A Esq NEW68Stephen Shaw
1042Izzy P PerinBrazil2024-06-18Rousseaux, Michael Esq QUALIFIED25Ioni Bowcher
1043Ricardo R AmigonRussia2024-06-04Chanay, Jeffrey A Esq QUALIFIED37Xuxue Feng
1044Julie L MaletRussia2024-05-27Feiner Bros PROPOSAL34Ivan Magalhaes
1045Leon P ButtSpain2024-06-08Printing Dimensions NEGOTIATION20Onyama Limba
1046Julie T StensethSpain2024-06-11Truhlar And Truhlar Attys RENEWAL85Ivan Magalhaes
1047Izzy G SlusarskiIndia2024-06-16Rousseaux, Michael Esq UNQUALIFIED39Asiya Javayant
1048Faith M OldroydItaly2024-06-14Truhlar And Truhlar Attys PROPOSAL17Ioni Bowcher
1049Aditya A NickaCanada2024-06-06Commercial Press RENEWAL51Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Salvatore D DarakjyRussiaAnna Fali UNQUALIFIED
Jones A RutaGermanyAsiya Javayant NEGOTIATION
Chavez A PerinBrazilStephen Shaw NEW
Deepesh B ChuiFranceBernardo Dominic PROPOSAL
Izzy C SchemmerAustraliaElwin Sharvill UNQUALIFIED
Ricardo V GarufiArgentinaElwin Sharvill RENEWAL
Jefferson K InouyeArgentinaIoni Bowcher RENEWAL
Mayumi O ChuiRussiaOnyama Limba UNQUALIFIED
Sinclair K WhobreyBrazilElwin Sharvill PROPOSAL
Octavia T SlusarskiRussiaXuxue Feng PROPOSAL
Chavez K FerenczArgentinaXuxue Feng PROPOSAL
Claire X GlickGermanyAmy Elsner PROPOSAL
Salvatore O GarufiUnited KingdomStephen Shaw NEGOTIATION
Mujtaba B CampainJapanAsiya Javayant PROPOSAL
Aika B ShinkoUnited KingdomOnyama Limba UNQUALIFIED
Jefferson P FerenczCanadaAsiya Javayant QUALIFIED
Izzy N InouyeGermanyAnna Fali NEGOTIATION
Claire S DilliardCanadaStephen Shaw UNQUALIFIED
Morrow Z PaprockiFranceOnyama Limba PROPOSAL
Aditya L WaycottArgentinaStephen Shaw NEGOTIATION
Faith F RoysterAustraliaStephen Shaw NEGOTIATION
Mujtaba C DoeArgentinaIvan Magalhaes NEGOTIATION
Claire M MacleadItalyAsiya Javayant QUALIFIED
Octavia G GillianUnited KingdomXuxue Feng UNQUALIFIED
James E GarufiJapanIvan Magalhaes PROPOSAL
David B WieserGermanyIvan Magalhaes PROPOSAL
Salvatore W FollerIndiaElwin Sharvill PROPOSAL
Salvatore T PoquetteArgentinaStephen Shaw NEGOTIATION
Ashley B SergiRussiaElwin Sharvill PROPOSAL
Octavia G TollnerCanadaXuxue Feng NEW
Isabel C DoeBrazilElwin Sharvill NEW
Ricardo P RimFranceAnna Fali NEGOTIATION
David V RutaAustraliaIvan Magalhaes QUALIFIED
Leja S MaletSpainIvan Magalhaes UNQUALIFIED
Isabel H CaudySpainElwin Sharvill NEGOTIATION
Munro Z FigeroaGermanyStephen Shaw NEGOTIATION
Cody B WaycottBrazilStephen Shaw PROPOSAL
Tony A VenereGermanyXuxue Feng NEW
Izzy Z BowleyGermanyElwin Sharvill NEW
Jeanfrancois P OstroskySpainIoni Bowcher QUALIFIED
Ashley A PaprockiSpainAsiya Javayant NEW
Kadeem P RimItalyStephen Shaw QUALIFIED
Morrow D SchemmerBrazilIvan Magalhaes NEW
Morrow U VocelkaRussiaIvan Magalhaes NEGOTIATION
Stacey D WieserBrazilStephen Shaw QUALIFIED
Ricardo M MaletFranceBernardo Dominic QUALIFIED
Rodrigues K GarufiArgentinaAsiya Javayant UNQUALIFIED
Salvatore A FlosiUnited KingdomAnna Fali NEW
Wickens S DoeSpainElwin Sharvill UNQUALIFIED
Morrow Z RoysterGermanyBernardo Dominic PROPOSAL
Frozen Columns
Name
Claire D Foller
Salvatore G Saylors
Jones H Bowley
Cody E Stenseth
Greenwood S Rim
Morrow G Sergi
Ivar Y Briddick
Arvin S Garufi
Darci P Sergi
Jeanfrancois T Rulapaugh
Silvio J Perin
Ivar C Schemmer
David J Shinko
Mayumi R Oldroyd
Stacey C Albares
David Z Waycott
Maria L Malet
Murillo Y Flosi
Morrow D Garufi
Claire G Campain
Kaitlin U Garufi
Greenwood H Slusarski
Aruna X Maclead
Leja H Waycott
Maria T Butt
Juan N Nicka
Maria A Amigon
Silvio S Nicka
Misaki A Bowley
Silvio H Whobrey
Johnson J Rulapaugh
Deepesh M Dilliard
Leja P Whobrey
Costa A Slusarski
Mujtaba U Marrier
Claire Z Saylors
Jennifer E Malet
Morrow Q Saylors
Francesco F Perin
Maisha S Amigon
Greenwood B Saylors
Adams S Slusarski
Isabel T Chui
Murillo Q Caudy
Nicolas S Maclead
Jones W Kolmetz
Faith F Venere
Claire T Figeroa
Greenwood R Sergi
Morrow A Nestle
IdCountryDate
1000Australia2024-06-20
1001Russia2024-06-10
1002Australia2024-06-15
1003India2024-06-10
1004Italy2024-06-03
1005Japan2024-06-02
1006Russia2024-06-14
1007Argentina2024-05-27
1008Spain2024-06-12
1009Argentina2024-06-16
1010Russia2024-06-03
1011Spain2024-05-31
1012India2024-05-31
1013France2024-05-26
1014Canada2024-05-24
1015Argentina2024-06-14
1016Russia2024-06-19
1017Germany2024-06-05
1018Spain2024-06-10
1019France2024-06-14
1020Australia2024-06-21
1021Germany2024-05-29
1022India2024-06-17
1023Spain2024-05-26
1024India2024-05-25
1025Australia2024-05-25
1026Japan2024-06-18
1027Germany2024-06-13
1028France2024-06-15
1029Russia2024-05-26
1030Argentina2024-05-27
1031Australia2024-06-20
1032United Kingdom2024-05-25
1033United Kingdom2024-06-21
1034Brazil2024-06-18
1035Russia2024-06-17
1036Brazil2024-05-31
1037Russia2024-06-14
1038Russia2024-05-24
1039Russia2024-06-09
1040France2024-05-28
1041France2024-06-14
1042United Kingdom2024-06-20
1043Canada2024-06-17
1044Japan2024-06-02
1045Japan2024-06-16
1046Italy2024-05-24
1047India2024-05-25
1048Brazil2024-05-27
1049Australia2024-06-06

On-Demand Data

NameIdCountryDate
Maria H Tollner1000Russia2024-06-13
Murillo X Darakjy1001Brazil2024-06-07
Munro M Gaucho1002France2024-06-04
Morrow A Sergi1003Japan2024-06-01
Octavia Q Rulapaugh1004India2024-06-01
Aika A Waycott1005Spain2024-05-25
Francesco F Figeroa1006Brazil2024-06-09
Mayumi Z Shinko1007Spain2024-06-17
Mayumi U Morasca1008Australia2024-06-14
Mujtaba J Venere1009India2024-06-02
Emily M Stenseth1010Germany2024-06-06
Misaki X Ostrosky1011Germany2024-06-15
Wickens F Butt1012Japan2024-06-12
Smith Y Marrier1013Australia2024-06-02
Mayumi J Albares1014India2024-06-13
Nicolas K Shinko1015United Kingdom2024-06-14
Arvin R Iturbide1016Canada2024-06-21
Alejandro R Doe1017Brazil2024-06-15
Mayumi A Butt1018Brazil2024-06-21
David F Caudy1019Germany2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan D SchemmerAustraliaIoni Bowcher NEW
Juan G MorascaUnited KingdomBernardo Dominic NEW
Munro K SaylorsItalyIvan Magalhaes UNQUALIFIED
Tony O TollnerBrazilElwin Sharvill NEW
Kaitlin M DoeIndiaXuxue Feng NEW
James T CaudyAustraliaIoni Bowcher NEGOTIATION
Emily R CaudyArgentinaAmy Elsner NEGOTIATION
Arvin E ChuiFranceIoni Bowcher PROPOSAL
Sinclair I RutaCanadaOnyama Limba QUALIFIED
Leon J WieserRussiaAsiya Javayant UNQUALIFIED
Salvatore W SaylorsRussiaIoni Bowcher RENEWAL
David Y MarrierJapanIoni Bowcher UNQUALIFIED
Morrow X FollerIndiaIvan Magalhaes NEW
Greenwood M PerinAustraliaAsiya Javayant PROPOSAL
Deepesh I VocelkaBrazilIoni Bowcher UNQUALIFIED
Ashley F RimGermanyAmy Elsner NEW
Clifford G MorascaIndiaAnna Fali UNQUALIFIED
Silvio E MarrierIndiaAsiya Javayant PROPOSAL
Rodrigues H DoeAustraliaIoni Bowcher UNQUALIFIED
Munro H FollerCanadaAsiya Javayant NEW
Salvatore L OstroskyBrazilAnna Fali NEGOTIATION
Ivar Q FlosiRussiaXuxue Feng NEW
Ashley U BologniaCanadaXuxue Feng PROPOSAL
Kadeem X SchemmerItalyIvan Magalhaes NEW
Jefferson D VocelkaFranceBernardo Dominic UNQUALIFIED
Jennifer W RulapaughItalyXuxue Feng QUALIFIED
Octavia W RoysterAustraliaOnyama Limba QUALIFIED
Juan S PoquetteRussiaStephen Shaw UNQUALIFIED
Antonio W RoysterJapanIoni Bowcher NEGOTIATION
Julie L FerenczCanadaIvan Magalhaes NEGOTIATION
Juan U TollnerAustraliaBernardo Dominic QUALIFIED
Rodrigues A StensethItalyStephen Shaw PROPOSAL
Francesco O FollerJapanAmy Elsner RENEWAL
Nicolas X GauchoGermanyAmy Elsner RENEWAL
Faith M GarufiUnited KingdomAnna Fali NEW
Jennifer S VenereRussiaAsiya Javayant PROPOSAL
Maisha V DarakjyJapanXuxue Feng UNQUALIFIED
Morrow X GauchoCanadaAnna Fali UNQUALIFIED
Wickens L VenereRussiaIoni Bowcher NEW
Costa P RutaJapanAsiya Javayant 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>