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
Costa T PoquetteItalyStephen Shaw PROPOSAL
Wickens B VenereArgentinaIoni Bowcher NEW
Francesco D BowleyAustraliaOnyama Limba NEW
Isabel Q PaprockiFranceBernardo Dominic RENEWAL
Sinclair R PaprockiArgentinaAsiya Javayant QUALIFIED
Julie Y VocelkaJapanAnna Fali PROPOSAL
Julie N RoysterGermanyAnna Fali NEGOTIATION
Darci B TollnerRussiaBernardo Dominic NEGOTIATION
Izzy L PerinUnited KingdomIvan Magalhaes NEW
Johnson I ShinkoAustraliaElwin Sharvill NEW
Nicolas X StensethSpainAmy Elsner PROPOSAL
Jennifer F MacleadCanadaElwin Sharvill UNQUALIFIED
Isabel Q BowleySpainAmy Elsner PROPOSAL
Clifford L AlbaresIndiaBernardo Dominic QUALIFIED
Adams D RutaJapanAnna Fali UNQUALIFIED
Adams N GlickUnited KingdomOnyama Limba RENEWAL
Rodrigues C VenereRussiaIvan Magalhaes RENEWAL
Isabel N StensethRussiaElwin Sharvill RENEWAL
Jeanfrancois P NickaAustraliaOnyama Limba PROPOSAL
Emily C CaudyBrazilAsiya Javayant RENEWAL
Stacey G ChuiAustraliaIvan Magalhaes NEW
Kadeem Y PerinCanadaAsiya Javayant PROPOSAL
Jones I KuskoAustraliaIvan Magalhaes NEW
Jones D IturbideGermanyOnyama Limba UNQUALIFIED
Aruna W CaudyCanadaAsiya Javayant UNQUALIFIED
Maria K DilliardSpainBernardo Dominic NEW
Francesco H RoysterJapanOnyama Limba QUALIFIED
Cody O StensethCanadaAnna Fali RENEWAL
Greenwood T VocelkaArgentinaAnna Fali QUALIFIED
Darci R KuskoItalyIvan Magalhaes RENEWAL
Leja B PoquetteBrazilAnna Fali UNQUALIFIED
Aika G FerenczUnited KingdomIvan Magalhaes RENEWAL
Wickens R WhobreyCanadaAnna Fali RENEWAL
Silvio M GauchoArgentinaIvan Magalhaes NEW
Isabel V RutaAustraliaAsiya Javayant RENEWAL
Salvatore G AlbaresGermanyStephen Shaw RENEWAL
Costa W TollnerAustraliaAmy Elsner UNQUALIFIED
Tony Y FollerRussiaIvan Magalhaes NEW
Nicolas S BowleyGermanyBernardo Dominic QUALIFIED
Chavez R FollerBrazilBernardo Dominic PROPOSAL
Antonio I GlickCanadaStephen Shaw UNQUALIFIED
Jeanfrancois H FigeroaGermanyAmy Elsner UNQUALIFIED
Leon F BologniaItalyOnyama Limba UNQUALIFIED
Clifford H OldroydFranceOnyama Limba NEW
Ivar J VocelkaAustraliaAnna Fali NEW
Jennifer E RutaSpainStephen Shaw QUALIFIED
Smith L DarakjyItalyElwin Sharvill UNQUALIFIED
Kadeem V RoysterArgentinaIoni Bowcher UNQUALIFIED
Johnson X RimIndiaIoni Bowcher PROPOSAL
Maisha L CaldareraArgentinaOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Kadeem R OldroydIndiaAsiya Javayant RENEWAL
Silvio S DoeCanadaIoni Bowcher NEGOTIATION
Isabel L VenereIndiaStephen Shaw QUALIFIED
Jennifer W OstroskyCanadaAnna Fali QUALIFIED
Stacey E StensethGermanyAsiya Javayant RENEWAL
Ivar W AmigonIndiaIvan Magalhaes UNQUALIFIED
Kadeem J NestleGermanyElwin Sharvill NEGOTIATION
Alejandro D CaldareraIndiaOnyama Limba QUALIFIED
Sinclair O RulapaughArgentinaElwin Sharvill RENEWAL
Jones O PaprockiBrazilAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody X GauchoCanada2024-05-23Chemel, James L Cpa RENEWAL84Onyama Limba
1001Isabel S CampainItaly2024-06-01Truhlar And Truhlar Attys NEGOTIATION2Onyama Limba
1002Tony R RulapaughJapan2024-06-14Rousseaux, Michael Esq RENEWAL29Xuxue Feng
1003Claire G VocelkaCanada2024-06-10Chapman, Ross E Esq RENEWAL24Xuxue Feng
1004Murillo D FlosiCanada2024-06-03Chapman, Ross E Esq NEGOTIATION92Elwin Sharvill
1005Jefferson R PoquetteCanada2024-06-11Morlong Associates NEGOTIATION10Anna Fali
1006Murillo L DilliardFrance2024-06-08King, Christopher A Esq NEGOTIATION25Stephen Shaw
1007Jeanfrancois I OstroskyIndia2024-06-02Printing Dimensions PROPOSAL97Anna Fali
1008Alejandro E OstroskyItaly2024-06-04Chanay, Jeffrey A Esq QUALIFIED40Stephen Shaw
1009Alejandro N KuskoRussia2024-05-25Chemel, James L Cpa UNQUALIFIED68Amy Elsner
1010Adams Y GauchoUnited Kingdom2024-06-15Chemel, James L Cpa PROPOSAL92Onyama Limba
1011Isabel A RulapaughGermany2024-06-21Chapman, Ross E Esq UNQUALIFIED22Elwin Sharvill
1012Alejandro H VocelkaGermany2024-06-04Dorl, James J Esq NEGOTIATION56Xuxue Feng
1013Leja V RimArgentina2024-06-03Rousseaux, Michael Esq NEGOTIATION96Bernardo Dominic
1014Costa X BologniaCanada2024-06-20Rousseaux, Michael Esq NEGOTIATION74Xuxue Feng
1015Deepesh Z FollerBrazil2024-06-03Truhlar And Truhlar Attys NEGOTIATION73Anna Fali
1016Claire H WaycottItaly2024-06-14Feltz Printing Service UNQUALIFIED38Onyama Limba
1017Julie N CaudyAustralia2024-05-26Benton, John B Jr UNQUALIFIED36Onyama Limba
1018Kaitlin H OstroskyIndia2024-06-20Dorl, James J Esq PROPOSAL61Amy Elsner
1019James A FerenczArgentina2024-06-15Chanay, Jeffrey A Esq UNQUALIFIED6Bernardo Dominic
1020Ricardo S RoysterRussia2024-06-13Truhlar And Truhlar Attys UNQUALIFIED38Stephen Shaw
1021Emily W CaudyIndia2024-06-08Dorl, James J Esq RENEWAL68Stephen Shaw
1022Octavia P NickaAustralia2024-06-01Rousseaux, Michael Esq RENEWAL1Ioni Bowcher
1023Munro Q CaldareraArgentina2024-05-27Benton, John B Jr QUALIFIED90Ivan Magalhaes
1024Smith G MaletCanada2024-06-08Rangoni Of Florence UNQUALIFIED16Bernardo Dominic
1025Murillo K VenereSpain2024-06-16Feiner Bros QUALIFIED19Amy Elsner
1026James E CaudyIndia2024-05-31King, Christopher A Esq RENEWAL99Anna Fali
1027Maria H TollnerCanada2024-06-21Feltz Printing Service NEW26Xuxue Feng
1028Rodrigues C BowleyAustralia2024-06-08Feltz Printing Service RENEWAL6Stephen Shaw
1029David O RoysterAustralia2024-05-25Feltz Printing Service NEW90Ioni Bowcher
1030Arvin Q PoquetteItaly2024-06-17Dorl, James J Esq UNQUALIFIED22Xuxue Feng
1031Smith T NestleIndia2024-06-17Feiner Bros UNQUALIFIED29Stephen Shaw
1032Sinclair F BowleyCanada2024-06-15Truhlar And Truhlar Attys QUALIFIED45Stephen Shaw
1033Leon H FigeroaJapan2024-06-03Commercial Press NEW0Ioni Bowcher
1034Misaki G RutaFrance2024-05-31Chemel, James L Cpa QUALIFIED44Onyama Limba
1035Claire D AmigonGermany2024-05-26Rangoni Of Florence QUALIFIED38Xuxue Feng
1036Ashley M PerinRussia2024-05-29Chanay, Jeffrey A Esq UNQUALIFIED81Stephen Shaw
1037Ricardo J RutaAustralia2024-06-16Morlong Associates PROPOSAL14Bernardo Dominic
1038Murillo I ChuiSpain2024-06-20Chanay, Jeffrey A Esq PROPOSAL19Onyama Limba
1039Deepesh T DarakjyAustralia2024-05-29Buckley Miller Wright NEGOTIATION54Stephen Shaw
1040Octavia O SergiCanada2024-06-06Buckley Miller Wright PROPOSAL91Ioni Bowcher
1041Rodrigues A GillianGermany2024-06-14Rangoni Of Florence RENEWAL37Ivan Magalhaes
1042Leon X MaletFrance2024-06-20Rousseaux, Michael Esq NEW43Asiya Javayant
1043Morrow B FerenczItaly2024-05-27Chemel, James L Cpa NEGOTIATION74Ioni Bowcher
1044Maria Z MaletSpain2024-06-15Morlong Associates QUALIFIED5Ivan Magalhaes
1045Emily Y CampainRussia2024-06-17Rangoni Of Florence NEGOTIATION95Ivan Magalhaes
1046Maria G BologniaFrance2024-05-25Rousseaux, Michael Esq NEW14Anna Fali
1047Munro I CaldareraRussia2024-05-27Truhlar And Truhlar Attys NEW41Elwin Sharvill
1048Kaitlin C FlosiIndia2024-06-09Chapman, Ross E Esq QUALIFIED63Asiya Javayant
1049Aruna T GillianUnited Kingdom2024-06-14Morlong Associates RENEWAL92Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Deepesh Z FlosiJapanXuxue Feng RENEWAL
James U VocelkaSpainStephen Shaw UNQUALIFIED
Smith J RulapaughRussiaAnna Fali QUALIFIED
Ivar O SergiSpainIoni Bowcher UNQUALIFIED
Kaitlin Y VocelkaArgentinaAsiya Javayant QUALIFIED
Johnson K CaudyRussiaAmy Elsner NEW
Juan W PerinAustraliaIvan Magalhaes PROPOSAL
Octavia Q WieserGermanyIvan Magalhaes QUALIFIED
Ashley X CaudyArgentinaAsiya Javayant PROPOSAL
Maria F CampainAustraliaOnyama Limba RENEWAL
Antonio G MaletBrazilAmy Elsner NEW
Morrow L ChuiIndiaAnna Fali NEW
Jennifer N AlbaresRussiaAnna Fali PROPOSAL
Alejandro M WieserJapanAsiya Javayant NEGOTIATION
Octavia S RutaItalyAsiya Javayant RENEWAL
David M MaletBrazilBernardo Dominic PROPOSAL
Jennifer K TollnerCanadaElwin Sharvill PROPOSAL
Ashley C RimCanadaIvan Magalhaes UNQUALIFIED
Tony Q KuskoIndiaAnna Fali QUALIFIED
Francesco I WhobreyItalyOnyama Limba QUALIFIED
Leja K FigeroaArgentinaXuxue Feng NEGOTIATION
Antonio S RutaGermanyAmy Elsner NEGOTIATION
Clifford E RoysterBrazilIoni Bowcher NEGOTIATION
Silvio K MaletArgentinaBernardo Dominic NEW
Misaki M AmigonAustraliaElwin Sharvill UNQUALIFIED
Munro N StensethCanadaAsiya Javayant PROPOSAL
Aruna P DarakjyAustraliaOnyama Limba NEGOTIATION
Munro I RoysterBrazilIvan Magalhaes PROPOSAL
Maisha R FlosiUnited KingdomIvan Magalhaes RENEWAL
Faith A GillianBrazilAmy Elsner UNQUALIFIED
Jeanfrancois B AlbaresBrazilAsiya Javayant PROPOSAL
Adams H FlosiCanadaElwin Sharvill NEGOTIATION
Antonio V NickaBrazilStephen Shaw NEGOTIATION
Izzy L FlosiItalyAsiya Javayant PROPOSAL
Francesco V CampainUnited KingdomAnna Fali UNQUALIFIED
Mayumi F NestleRussiaAnna Fali NEGOTIATION
Johnson U ShinkoItalyAnna Fali PROPOSAL
Johnson P WaycottAustraliaOnyama Limba NEGOTIATION
Emily J GillianAustraliaIvan Magalhaes QUALIFIED
Aika M OldroydJapanElwin Sharvill PROPOSAL
Julie N MaletJapanAmy Elsner RENEWAL
Misaki H FerenczBrazilAsiya Javayant RENEWAL
Jones E BriddickItalyElwin Sharvill NEW
Silvio B BriddickBrazilStephen Shaw PROPOSAL
Darci V GillianBrazilAmy Elsner QUALIFIED
Tony Y MaletItalyXuxue Feng RENEWAL
Rodrigues J CampainFranceOnyama Limba NEW
Costa S PerinGermanyOnyama Limba QUALIFIED
Cody S WhobreyBrazilAnna Fali PROPOSAL
Emily Z ShinkoAustraliaXuxue Feng PROPOSAL
Frozen Columns
Name
Octavia X Malet
Wickens Y Malet
Izzy R Malet
Mayumi Y Venere
David W Poquette
Greenwood G Royster
Greenwood B Marrier
Wickens M Ostrosky
Aditya Z Butt
Adams E Stockham
Aditya B Iturbide
Leja W Malet
Smith J Malet
Tony C Whobrey
Arvin Y Malet
Cody P Butt
Adams L Schemmer
Deepesh F Briddick
Morrow A Butt
Deepesh E Ruta
Stacey V Vocelka
Tony Y Albares
Kadeem F Stenseth
Murillo J Campain
Faith B Inouye
Kadeem Q Poquette
Greenwood B Flosi
Octavia D Dilliard
Leja P Slusarski
Octavia Z Waycott
Murillo V Butt
Salvatore I Iturbide
Mujtaba Y Caldarera
Munro L Waycott
Ashley G Stenseth
Leon T Iturbide
Alejandro L Nestle
Leja A Ferencz
Antonio R Ruta
Cody E Slusarski
Leja E Flosi
Isabel C Inouye
Cody W Campain
Sinclair H Kusko
Aruna D Campain
Ricardo Q Gaucho
Adams M Inouye
Juan O Malet
Claire D Iturbide
Juan V Inouye
IdCountryDate
1000India2024-06-11
1001Japan2024-05-23
1002Russia2024-05-31
1003Australia2024-06-04
1004Spain2024-06-08
1005Australia2024-06-08
1006Russia2024-06-15
1007France2024-06-10
1008Canada2024-06-09
1009Australia2024-05-31
1010Japan2024-06-09
1011Italy2024-06-01
1012Japan2024-06-11
1013Italy2024-06-17
1014United Kingdom2024-06-16
1015India2024-05-31
1016Brazil2024-06-11
1017Spain2024-06-06
1018Canada2024-05-30
1019Argentina2024-05-26
1020Spain2024-05-26
1021Japan2024-05-31
1022Spain2024-05-29
1023United Kingdom2024-05-30
1024Japan2024-06-20
1025Germany2024-06-02
1026Australia2024-06-20
1027France2024-06-04
1028Canada2024-06-13
1029France2024-06-07
1030United Kingdom2024-05-31
1031Japan2024-06-10
1032United Kingdom2024-06-18
1033Germany2024-06-14
1034United Kingdom2024-06-18
1035France2024-06-17
1036Canada2024-05-23
1037India2024-05-29
1038Russia2024-06-20
1039France2024-05-28
1040Brazil2024-06-07
1041Brazil2024-06-16
1042Russia2024-06-07
1043France2024-06-12
1044Australia2024-05-26
1045Argentina2024-06-11
1046Canada2024-06-09
1047Russia2024-06-17
1048Canada2024-05-28
1049Russia2024-05-31

On-Demand Data

NameIdCountryDate
Ricardo A Schemmer1000Spain2024-06-03
Mayumi C Campain1001Australia2024-05-27
Antonio J Albares1002Canada2024-06-21
Jennifer K Iturbide1003Japan2024-06-01
Juan P Waycott1004Argentina2024-05-24
Wickens M Poquette1005Brazil2024-05-27
Arvin W Malet1006Argentina2024-06-02
Mujtaba Q Bowley1007Canada2024-05-31
Silvio K Amigon1008Russia2024-06-07
Kaitlin N Doe1009Russia2024-05-23
Aika K Kusko1010France2024-06-11
James T Bowley1011France2024-05-28
Aditya S Bolognia1012Brazil2024-06-04
Francesco J Royster1013Canada2024-06-10
Leon F Malet1014Germany2024-06-04
Deepesh L Dilliard1015Canada2024-06-17
Darci W Glick1016Italy2024-06-12
Greenwood U Perin1017India2024-05-29
Johnson J Rulapaugh1018Australia2024-06-17
Clifford C Perin1019Spain2024-06-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco J MarrierFranceXuxue Feng NEGOTIATION
Stacey H KuskoAustraliaAmy Elsner RENEWAL
Kaitlin V ShinkoArgentinaElwin Sharvill RENEWAL
James Y MaletAustraliaAsiya Javayant NEW
Jennifer K SchemmerUnited KingdomIoni Bowcher PROPOSAL
Octavia N CampainBrazilIoni Bowcher NEGOTIATION
Misaki V StockhamUnited KingdomAsiya Javayant NEW
Jennifer O GlickGermanyBernardo Dominic NEGOTIATION
Ashley R BowleyGermanyStephen Shaw NEGOTIATION
Mayumi H IturbideAustraliaIvan Magalhaes RENEWAL
Jeanfrancois Y PoquetteAustraliaIoni Bowcher QUALIFIED
Antonio U FollerRussiaAnna Fali NEW
Antonio J VocelkaBrazilXuxue Feng RENEWAL
Izzy I SergiJapanXuxue Feng QUALIFIED
Leja F MacleadUnited KingdomXuxue Feng UNQUALIFIED
Silvio V AlbaresFranceOnyama Limba PROPOSAL
Chavez K VocelkaArgentinaStephen Shaw NEW
Jones P AmigonBrazilElwin Sharvill NEGOTIATION
Murillo B IturbideItalyAsiya Javayant RENEWAL
Misaki L InouyeArgentinaIoni Bowcher QUALIFIED
Juan T CaldareraCanadaOnyama Limba RENEWAL
Izzy X StockhamJapanAnna Fali QUALIFIED
Salvatore R IturbideBrazilIoni Bowcher UNQUALIFIED
Munro A PoquetteJapanAsiya Javayant RENEWAL
Aika E MarrierItalyXuxue Feng NEGOTIATION
Mayumi C BriddickIndiaAmy Elsner NEW
Jennifer Q CampainUnited KingdomElwin Sharvill RENEWAL
Johnson T ShinkoBrazilXuxue Feng PROPOSAL
Jennifer V DoeUnited KingdomAmy Elsner RENEWAL
Wickens S WhobreyUnited KingdomAnna Fali QUALIFIED
Maisha H CaudyBrazilStephen Shaw NEGOTIATION
Chavez K BriddickSpainIoni Bowcher RENEWAL
Rodrigues A DilliardSpainIvan Magalhaes RENEWAL
Nicolas D FollerRussiaAsiya Javayant UNQUALIFIED
Maria A VenereGermanyIoni Bowcher RENEWAL
Jefferson O FlosiJapanAsiya Javayant NEGOTIATION
Ivar N WhobreyGermanyAnna Fali NEW
Leon O CaldareraGermanyIoni Bowcher RENEWAL
Greenwood D SchemmerCanadaXuxue Feng RENEWAL
Kaitlin E DilliardGermanyElwin Sharvill 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>