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
Stacey T PoquetteUnited KingdomXuxue Feng NEGOTIATION
Isabel V RimBrazilAsiya Javayant UNQUALIFIED
Morrow A DoeJapanElwin Sharvill NEW
Claire Q PoquetteItalyAmy Elsner QUALIFIED
Arvin K TollnerUnited KingdomBernardo Dominic PROPOSAL
Stacey Y ShinkoGermanyAmy Elsner QUALIFIED
Murillo Y NickaSpainStephen Shaw QUALIFIED
Maisha Z DoeIndiaAmy Elsner NEGOTIATION
Jeanfrancois L OldroydArgentinaAmy Elsner NEGOTIATION
Wickens K SchemmerJapanAsiya Javayant NEGOTIATION
Costa T FerenczJapanStephen Shaw QUALIFIED
Antonio T GauchoUnited KingdomElwin Sharvill UNQUALIFIED
Misaki K StockhamSpainBernardo Dominic PROPOSAL
Mujtaba F GlickIndiaStephen Shaw RENEWAL
Sinclair F BologniaAustraliaXuxue Feng RENEWAL
Antonio S BriddickRussiaAsiya Javayant RENEWAL
Deepesh R DoeArgentinaAsiya Javayant PROPOSAL
Morrow P MaletRussiaAnna Fali RENEWAL
Jones W MaletJapanBernardo Dominic RENEWAL
James C KuskoCanadaBernardo Dominic PROPOSAL
Clifford O SlusarskiCanadaIoni Bowcher PROPOSAL
Morrow Q GarufiArgentinaStephen Shaw NEGOTIATION
Adams B StockhamJapanAmy Elsner RENEWAL
Kaitlin V FollerJapanIoni Bowcher NEGOTIATION
Wickens H SlusarskiRussiaAnna Fali NEW
Clifford F RoysterIndiaXuxue Feng PROPOSAL
Ivar O MaletIndiaBernardo Dominic QUALIFIED
Jennifer P InouyeJapanStephen Shaw PROPOSAL
Ricardo J StensethFranceElwin Sharvill NEGOTIATION
Ashley U WaycottFranceIvan Magalhaes RENEWAL
Emily M CaudyRussiaAsiya Javayant RENEWAL
Ashley W ShinkoIndiaBernardo Dominic NEGOTIATION
Jennifer D AlbaresBrazilAmy Elsner RENEWAL
Chavez S StockhamGermanyStephen Shaw RENEWAL
Misaki C CaudySpainXuxue Feng RENEWAL
David A AlbaresRussiaBernardo Dominic NEW
Deepesh U RimJapanIvan Magalhaes NEGOTIATION
Izzy D OldroydAustraliaAsiya Javayant RENEWAL
Ashley R PerinIndiaAmy Elsner NEGOTIATION
Cody I InouyeAustraliaXuxue Feng QUALIFIED
Aika V CaldareraSpainXuxue Feng PROPOSAL
Munro G PerinAustraliaStephen Shaw PROPOSAL
Julie T SergiIndiaAnna Fali UNQUALIFIED
Antonio V FerenczBrazilAmy Elsner NEGOTIATION
Greenwood W AlbaresSpainIoni Bowcher RENEWAL
Chavez E NestleJapanIoni Bowcher RENEWAL
Alejandro X FigeroaArgentinaIvan Magalhaes NEW
Leja T RimRussiaOnyama Limba PROPOSAL
Morrow Q FerenczUnited KingdomAnna Fali NEW
Chavez S BowleyFranceIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Salvatore B DarakjyArgentinaAnna Fali QUALIFIED
Nicolas P PaprockiUnited KingdomStephen Shaw UNQUALIFIED
Maisha A WaycottItalyIvan Magalhaes PROPOSAL
Claire U WieserArgentinaStephen Shaw NEGOTIATION
Jefferson P PerinJapanStephen Shaw UNQUALIFIED
Emily S GauchoArgentinaIvan Magalhaes QUALIFIED
Nicolas V KolmetzRussiaElwin Sharvill UNQUALIFIED
Aika D FollerBrazilAmy Elsner NEW
Aditya D VocelkaAustraliaAmy Elsner RENEWAL
Kadeem C IturbideSpainAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez H CaudyRussia2024-06-11Truhlar And Truhlar Attys UNQUALIFIED87Elwin Sharvill
1001Faith A CampainBrazil2024-06-21Rangoni Of Florence NEW70Onyama Limba
1002Rodrigues P ButtArgentina2024-05-26Feiner Bros NEGOTIATION80Xuxue Feng
1003Jennifer O AlbaresBrazil2024-05-28Feltz Printing Service QUALIFIED10Ivan Magalhaes
1004Ivar M NestleCanada2024-06-23Dorl, James J Esq PROPOSAL36Xuxue Feng
1005Kadeem R NestleRussia2024-06-14Chemel, James L Cpa NEW92Stephen Shaw
1006Julie G CaldareraSpain2024-06-17Feiner Bros NEW49Elwin Sharvill
1007Cody R RimAustralia2024-06-07Morlong Associates NEW44Anna Fali
1008Kadeem V KolmetzArgentina2024-06-17Rangoni Of Florence PROPOSAL44Bernardo Dominic
1009David Z GauchoUnited Kingdom2024-06-22Dorl, James J Esq PROPOSAL3Ioni Bowcher
1010Antonio U GarufiRussia2024-06-21Feltz Printing Service NEW41Xuxue Feng
1011Alejandro X TollnerSpain2024-06-07Chanay, Jeffrey A Esq UNQUALIFIED7Ioni Bowcher
1012Ivar W GauchoGermany2024-06-23Morlong Associates NEW34Stephen Shaw
1013Adams W SchemmerRussia2024-06-17Dorl, James J Esq RENEWAL81Xuxue Feng
1014Smith D ButtCanada2024-06-21Feiner Bros NEGOTIATION88Onyama Limba
1015Salvatore Q DilliardGermany2024-06-04Rousseaux, Michael Esq RENEWAL38Bernardo Dominic
1016Greenwood G SlusarskiSpain2024-06-18Truhlar And Truhlar Attys PROPOSAL78Ivan Magalhaes
1017Chavez C FigeroaSpain2024-05-31Chanay, Jeffrey A Esq PROPOSAL37Onyama Limba
1018Faith L KolmetzArgentina2024-06-19Chanay, Jeffrey A Esq QUALIFIED31Amy Elsner
1019Misaki E NestleUnited Kingdom2024-05-31Printing Dimensions UNQUALIFIED78Stephen Shaw
1020Faith C StockhamBrazil2024-06-20Buckley Miller Wright RENEWAL73Xuxue Feng
1021Mujtaba J TollnerIndia2024-06-16Printing Dimensions PROPOSAL39Anna Fali
1022Alejandro M AlbaresJapan2024-05-29Chanay, Jeffrey A Esq QUALIFIED93Asiya Javayant
1023Chavez X ChuiGermany2024-05-26Rousseaux, Michael Esq NEW61Elwin Sharvill
1024Alejandro I KolmetzGermany2024-06-16Rousseaux, Michael Esq PROPOSAL22Ivan Magalhaes
1025Ashley T SergiGermany2024-05-31Buckley Miller Wright NEGOTIATION72Anna Fali
1026Maria C RutaBrazil2024-05-27Chanay, Jeffrey A Esq NEW20Bernardo Dominic
1027Leon G GarufiUnited Kingdom2024-06-24King, Christopher A Esq QUALIFIED31Amy Elsner
1028Rodrigues G BowleyCanada2024-05-30Feltz Printing Service NEW82Elwin Sharvill
1029Munro U StockhamAustralia2024-05-27Morlong Associates RENEWAL78Bernardo Dominic
1030Adams U FollerAustralia2024-06-17Feltz Printing Service UNQUALIFIED21Amy Elsner
1031Ricardo V CaldareraJapan2024-06-19Chanay, Jeffrey A Esq NEGOTIATION19Ioni Bowcher
1032Juan F FollerRussia2024-05-26Feltz Printing Service PROPOSAL2Ivan Magalhaes
1033Antonio S SlusarskiSpain2024-06-13Truhlar And Truhlar Attys RENEWAL64Ioni Bowcher
1034Aruna Y PaprockiBrazil2024-05-30Rangoni Of Florence QUALIFIED12Asiya Javayant
1035David Z MacleadIndia2024-06-01Chapman, Ross E Esq UNQUALIFIED47Ivan Magalhaes
1036Aditya S NestleSpain2024-05-29Printing Dimensions RENEWAL74Stephen Shaw
1037Johnson J SaylorsSpain2024-06-19Feltz Printing Service UNQUALIFIED64Bernardo Dominic
1038Misaki U GarufiIndia2024-06-20Commercial Press RENEWAL78Anna Fali
1039Murillo A GlickSpain2024-06-05Dorl, James J Esq NEGOTIATION53Onyama Limba
1040Ivar P FlosiGermany2024-06-15Feltz Printing Service UNQUALIFIED93Xuxue Feng
1041Rodrigues N KolmetzArgentina2024-06-03Chapman, Ross E Esq PROPOSAL90Elwin Sharvill
1042Aditya X SergiIndia2024-06-08Rousseaux, Michael Esq RENEWAL56Elwin Sharvill
1043James J PaprockiAustralia2024-05-29Truhlar And Truhlar Attys UNQUALIFIED44Asiya Javayant
1044David E WhobreyGermany2024-06-17Rousseaux, Michael Esq NEW70Elwin Sharvill
1045Nicolas L KuskoRussia2024-06-17Benton, John B Jr NEW2Ivan Magalhaes
1046Ashley Z GlickCanada2024-06-21Dorl, James J Esq NEW51Ivan Magalhaes
1047Maria M MaletArgentina2024-06-20Chapman, Ross E Esq QUALIFIED44Ioni Bowcher
1048Morrow R NestleUnited Kingdom2024-05-29Feltz Printing Service UNQUALIFIED39Asiya Javayant
1049Mujtaba Z FollerGermany2024-06-12Morlong Associates NEW33Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Alejandro L NestleItalyAnna Fali NEW
Juan J StockhamArgentinaAnna Fali NEW
Salvatore Y BowleyUnited KingdomIoni Bowcher RENEWAL
Emily X RoysterAustraliaBernardo Dominic UNQUALIFIED
Murillo A MorascaUnited KingdomIoni Bowcher PROPOSAL
Maria D OldroydCanadaBernardo Dominic QUALIFIED
Clifford B IturbideBrazilBernardo Dominic NEW
Juan L NestleFranceOnyama Limba PROPOSAL
Kaitlin O BologniaArgentinaOnyama Limba QUALIFIED
Ashley W BologniaBrazilIvan Magalhaes PROPOSAL
Kadeem E IturbideCanadaAmy Elsner UNQUALIFIED
Maria T DarakjyRussiaXuxue Feng UNQUALIFIED
Mujtaba T VocelkaIndiaXuxue Feng RENEWAL
Deepesh G FerenczArgentinaElwin Sharvill NEGOTIATION
Costa S MorascaIndiaXuxue Feng QUALIFIED
Ashley B DoeFranceBernardo Dominic QUALIFIED
Deepesh O KuskoIndiaBernardo Dominic NEGOTIATION
Munro Z NickaCanadaBernardo Dominic UNQUALIFIED
Arvin W ShinkoItalyBernardo Dominic RENEWAL
Rodrigues H GauchoJapanStephen Shaw PROPOSAL
Jones F AlbaresRussiaAsiya Javayant RENEWAL
Salvatore S MarrierSpainElwin Sharvill PROPOSAL
Francesco Y SaylorsBrazilAsiya Javayant NEW
Salvatore A ShinkoArgentinaElwin Sharvill UNQUALIFIED
Salvatore Z GauchoCanadaXuxue Feng PROPOSAL
Silvio C BowleyAustraliaStephen Shaw NEW
Wickens V FlosiSpainXuxue Feng NEW
Deepesh K VenereIndiaIvan Magalhaes PROPOSAL
Alejandro M PerinIndiaElwin Sharvill UNQUALIFIED
Jennifer M IturbideFranceElwin Sharvill RENEWAL
Mayumi C VocelkaCanadaAmy Elsner UNQUALIFIED
Nicolas I CaldareraIndiaXuxue Feng UNQUALIFIED
Octavia O WieserBrazilAsiya Javayant NEGOTIATION
Izzy F NestleCanadaElwin Sharvill PROPOSAL
Ivar G AlbaresArgentinaAmy Elsner NEGOTIATION
Stacey L KolmetzCanadaIvan Magalhaes RENEWAL
Kaitlin Y OldroydRussiaBernardo Dominic PROPOSAL
Rodrigues L OstroskyBrazilXuxue Feng NEGOTIATION
Mayumi V NickaBrazilIvan Magalhaes RENEWAL
Izzy Q StockhamUnited KingdomOnyama Limba NEW
Smith P WhobreyRussiaXuxue Feng PROPOSAL
Leon O CampainFranceAnna Fali PROPOSAL
Emily H TollnerItalyAmy Elsner NEW
Greenwood V RulapaughAustraliaElwin Sharvill PROPOSAL
Misaki T AmigonRussiaStephen Shaw PROPOSAL
David P SaylorsUnited KingdomAmy Elsner NEW
Murillo I MacleadCanadaStephen Shaw UNQUALIFIED
Aruna K ButtFranceBernardo Dominic UNQUALIFIED
Deepesh M CaudyAustraliaAnna Fali PROPOSAL
Greenwood I BowleyRussiaAmy Elsner RENEWAL
Frozen Columns
Name
Ricardo Z Rulapaugh
Clifford L Iturbide
Deepesh U Oldroyd
Isabel T Figeroa
Maisha S Perin
Deepesh G Ruta
Aruna K Dilliard
David P Kolmetz
Emily G Inouye
Juan M Waycott
Jones C Kusko
Munro U Saylors
Emily S Stockham
Aruna S Schemmer
Morrow N Kolmetz
Munro W Morasca
Isabel J Figeroa
Arvin A Ruta
Alejandro C Foller
Rodrigues J Campain
Chavez W Royster
Maria K Darakjy
Arvin N Foller
Jeanfrancois D Amigon
Leja E Garufi
Ivar P Wieser
Maria S Bowley
Mayumi L Rulapaugh
Francesco Z Gillian
Morrow J Rim
Leon L Dilliard
Maisha Q Rim
Jeanfrancois H Whobrey
Izzy H Shinko
Cody C Campain
Maria C Oldroyd
Chavez O Wieser
Murillo A Stockham
Francesco X Gaucho
Maria F Campain
Francesco W Caudy
Darci F Ostrosky
Adams G Dilliard
Ashley Y Kolmetz
Greenwood M Kusko
Leja F Waycott
Emily L Stenseth
Wickens T Butt
Arvin Z Glick
Ricardo L Bolognia
IdCountryDate
1000Italy2024-06-23
1001France2024-06-12
1002India2024-06-15
1003Germany2024-06-22
1004Russia2024-06-06
1005Germany2024-06-13
1006Italy2024-06-21
1007Canada2024-06-11
1008Australia2024-06-22
1009Brazil2024-06-20
1010Argentina2024-06-13
1011Spain2024-06-08
1012Brazil2024-06-02
1013Australia2024-06-04
1014Canada2024-06-12
1015India2024-06-14
1016Japan2024-05-27
1017Canada2024-06-20
1018Argentina2024-06-08
1019Brazil2024-05-29
1020France2024-06-14
1021Canada2024-06-11
1022Italy2024-06-02
1023France2024-06-23
1024United Kingdom2024-06-18
1025United Kingdom2024-06-08
1026Brazil2024-06-23
1027Italy2024-06-06
1028United Kingdom2024-06-22
1029France2024-05-31
1030Australia2024-06-04
1031Germany2024-05-28
1032France2024-06-20
1033Russia2024-06-17
1034Spain2024-06-03
1035Canada2024-06-04
1036Spain2024-06-01
1037Russia2024-06-13
1038India2024-06-21
1039Spain2024-05-26
1040Russia2024-06-21
1041Italy2024-06-14
1042Brazil2024-06-20
1043Italy2024-05-26
1044Japan2024-05-27
1045Japan2024-06-07
1046Australia2024-05-31
1047United Kingdom2024-06-02
1048Japan2024-06-07
1049France2024-06-15

On-Demand Data

NameIdCountryDate
Sinclair G Butt1000Brazil2024-06-06
Mujtaba Z Nicka1001Australia2024-06-06
Aika Z Flosi1002Brazil2024-06-18
Aika F Maclead1003Japan2024-05-27
Izzy Z Poquette1004Germany2024-06-13
Wickens Y Ostrosky1005Australia2024-05-29
Ivar J Campain1006Australia2024-06-17
Francesco J Waycott1007Spain2024-06-08
Antonio M Gaucho1008Italy2024-05-30
Sinclair K Shinko1009Germany2024-05-28
Maria U Nicka1010Germany2024-06-15
Izzy Z Nestle1011Germany2024-06-06
Mujtaba B Shinko1012Italy2024-06-10
Kadeem N Shinko1013Germany2024-06-18
Mujtaba T Sergi1014Japan2024-06-13
Faith E Royster1015India2024-06-02
Aditya J Poquette1016Italy2024-06-05
Maisha H Shinko1017Australia2024-06-06
Ivar M Waycott1018Canada2024-05-26
Maisha T Albares1019Argentina2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie K SlusarskiSpainElwin Sharvill NEW
Faith G FollerBrazilXuxue Feng QUALIFIED
Chavez E FollerArgentinaIvan Magalhaes QUALIFIED
Salvatore X CaudyCanadaAsiya Javayant NEGOTIATION
Costa R MorascaIndiaElwin Sharvill UNQUALIFIED
Jennifer C BriddickRussiaOnyama Limba RENEWAL
Izzy V CampainIndiaBernardo Dominic UNQUALIFIED
Clifford V MaletIndiaOnyama Limba RENEWAL
Leja L RulapaughUnited KingdomAmy Elsner PROPOSAL
Johnson B ShinkoBrazilIoni Bowcher QUALIFIED
Tony N RutaJapanIvan Magalhaes NEGOTIATION
Nicolas A MarrierArgentinaAnna Fali NEW
Mayumi Q OstroskyUnited KingdomIvan Magalhaes QUALIFIED
Ricardo V MacleadGermanyAsiya Javayant NEW
Tony H RulapaughSpainBernardo Dominic UNQUALIFIED
Jennifer J NestleIndiaIoni Bowcher QUALIFIED
Johnson J NickaUnited KingdomAmy Elsner QUALIFIED
Jones G StockhamRussiaElwin Sharvill UNQUALIFIED
Rodrigues T ChuiBrazilOnyama Limba PROPOSAL
Morrow G InouyeFranceAmy Elsner RENEWAL
Jennifer B CaldareraRussiaOnyama Limba RENEWAL
Maisha P GillianRussiaXuxue Feng PROPOSAL
Leon B AlbaresItalyAnna Fali QUALIFIED
Ricardo F PoquetteIndiaIoni Bowcher PROPOSAL
Mayumi F FerenczRussiaAsiya Javayant UNQUALIFIED
Jeanfrancois D DilliardGermanyAsiya Javayant NEGOTIATION
Jeanfrancois Y SchemmerRussiaOnyama Limba QUALIFIED
Adams Y PoquetteRussiaAsiya Javayant NEGOTIATION
Mayumi E BologniaItalyElwin Sharvill NEW
Costa Q GlickItalyElwin Sharvill RENEWAL
Tony A SlusarskiBrazilBernardo Dominic NEW
Morrow P RulapaughSpainOnyama Limba UNQUALIFIED
Julie G GarufiGermanyIvan Magalhaes NEGOTIATION
Johnson V InouyeItalyAnna Fali NEGOTIATION
Cody S SergiAustraliaIoni Bowcher UNQUALIFIED
Isabel Q NickaSpainIoni Bowcher UNQUALIFIED
Jennifer O CaudySpainAnna Fali NEGOTIATION
Francesco R RutaItalyXuxue Feng QUALIFIED
Maisha X VocelkaBrazilXuxue Feng NEGOTIATION
Kaitlin O CaudyFranceAmy Elsner UNQUALIFIED

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