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 M FlosiItalyAsiya Javayant NEW
Aika Y FigeroaCanadaXuxue Feng NEGOTIATION
Murillo V InouyeSpainIvan Magalhaes QUALIFIED
Aruna A AlbaresCanadaIoni Bowcher UNQUALIFIED
Octavia Q ChuiRussiaStephen Shaw RENEWAL
Alejandro N PaprockiIndiaElwin Sharvill NEW
Kaitlin S MorascaIndiaXuxue Feng PROPOSAL
Claire T FerenczCanadaOnyama Limba UNQUALIFIED
Sinclair C OldroydJapanElwin Sharvill PROPOSAL
Deepesh T StensethCanadaXuxue Feng NEGOTIATION
Ivar I DoeFranceIvan Magalhaes UNQUALIFIED
Faith X TollnerJapanAsiya Javayant NEW
Alejandro Q WaycottAustraliaIvan Magalhaes NEW
Sinclair Z WaycottJapanAsiya Javayant QUALIFIED
Tony W SergiItalyIvan Magalhaes UNQUALIFIED
Emily Y BowleyCanadaOnyama Limba NEW
Kaitlin Y GauchoArgentinaXuxue Feng PROPOSAL
Chavez H FlosiAustraliaIoni Bowcher UNQUALIFIED
Emily H PerinSpainXuxue Feng NEW
Maisha A VenereAustraliaAmy Elsner UNQUALIFIED
Kaitlin T AlbaresRussiaStephen Shaw RENEWAL
Ashley P StockhamAustraliaBernardo Dominic PROPOSAL
Leja Z BowleyUnited KingdomXuxue Feng PROPOSAL
Arvin W RimItalyIvan Magalhaes QUALIFIED
Murillo W SergiGermanyBernardo Dominic UNQUALIFIED
Jones Q CampainUnited KingdomIoni Bowcher NEGOTIATION
Kadeem F NestleIndiaXuxue Feng QUALIFIED
Salvatore Z RoysterAustraliaAsiya Javayant PROPOSAL
Alejandro Y SergiIndiaAsiya Javayant QUALIFIED
Aika Y KuskoRussiaOnyama Limba RENEWAL
Claire C InouyeArgentinaStephen Shaw RENEWAL
Alejandro H MorascaGermanyAnna Fali RENEWAL
Adams W AmigonCanadaElwin Sharvill QUALIFIED
Aruna U SaylorsCanadaAnna Fali NEGOTIATION
Jefferson I GillianUnited KingdomAmy Elsner NEW
Costa M KuskoRussiaOnyama Limba NEW
Nicolas Q PaprockiGermanyElwin Sharvill QUALIFIED
Ashley I GarufiGermanyAnna Fali NEW
Adams D NickaRussiaStephen Shaw UNQUALIFIED
Maisha D GarufiSpainElwin Sharvill UNQUALIFIED
Leon L GarufiUnited KingdomOnyama Limba NEGOTIATION
Alejandro H IturbideItalyIoni Bowcher NEGOTIATION
Silvio U MacleadItalyAmy Elsner NEGOTIATION
Misaki R TollnerRussiaBernardo Dominic QUALIFIED
James U GlickJapanOnyama Limba RENEWAL
Kadeem M NestleArgentinaElwin Sharvill RENEWAL
Arvin K MorascaJapanOnyama Limba NEGOTIATION
Sinclair S SchemmerCanadaAmy Elsner NEW
Antonio I NickaRussiaAmy Elsner NEW
Antonio O MarrierFranceBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Misaki O ChuiRussiaIoni Bowcher NEGOTIATION
Chavez R DarakjyItalyIoni Bowcher RENEWAL
Jeanfrancois H MaletGermanyIvan Magalhaes QUALIFIED
Silvio G VenereSpainAsiya Javayant PROPOSAL
Costa B MacleadCanadaAnna Fali PROPOSAL
Claire F WaycottBrazilOnyama Limba NEGOTIATION
Isabel W NickaItalyStephen Shaw PROPOSAL
Darci W RimAustraliaIoni Bowcher NEW
Morrow C NickaItalyIvan Magalhaes PROPOSAL
Kaitlin O OstroskyCanadaAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh F RutaGermany2024-05-30Chapman, Ross E Esq UNQUALIFIED74Xuxue Feng
1001Darci V WaycottFrance2024-06-14Dorl, James J Esq UNQUALIFIED95Stephen Shaw
1002Costa V GarufiSpain2024-06-07Chapman, Ross E Esq PROPOSAL89Onyama Limba
1003Chavez Y MarrierFrance2024-06-22Buckley Miller Wright RENEWAL42Elwin Sharvill
1004Francesco Q WhobreyRussia2024-06-18Feiner Bros PROPOSAL31Amy Elsner
1005Mujtaba L FollerUnited Kingdom2024-06-22Chemel, James L Cpa UNQUALIFIED53Stephen Shaw
1006James U WhobreyIndia2024-05-28King, Christopher A Esq QUALIFIED97Ioni Bowcher
1007Munro K WhobreyFrance2024-06-06Feltz Printing Service RENEWAL35Bernardo Dominic
1008Jeanfrancois O VenereRussia2024-06-15Printing Dimensions RENEWAL38Elwin Sharvill
1009Octavia V BowleyAustralia2024-05-30Feiner Bros PROPOSAL83Xuxue Feng
1010Clifford W SergiCanada2024-06-22Printing Dimensions UNQUALIFIED87Elwin Sharvill
1011Julie Y BriddickItaly2024-06-04Chemel, James L Cpa PROPOSAL71Asiya Javayant
1012Ashley P AmigonIndia2024-05-25Chanay, Jeffrey A Esq UNQUALIFIED97Elwin Sharvill
1013Mayumi W SchemmerItaly2024-06-02Chapman, Ross E Esq PROPOSAL9Anna Fali
1014David K MaletJapan2024-06-09Chapman, Ross E Esq PROPOSAL55Asiya Javayant
1015Chavez L VocelkaGermany2024-06-07Feltz Printing Service UNQUALIFIED84Asiya Javayant
1016Izzy A NickaAustralia2024-06-14Morlong Associates UNQUALIFIED10Ioni Bowcher
1017Aditya D KolmetzIndia2024-05-26Rangoni Of Florence RENEWAL92Amy Elsner
1018Francesco T CaldareraGermany2024-06-21Chapman, Ross E Esq NEW17Ivan Magalhaes
1019Aika P VocelkaJapan2024-06-20Morlong Associates NEW35Anna Fali
1020Emily Q RutaGermany2024-05-26Dorl, James J Esq QUALIFIED2Amy Elsner
1021Nicolas S FerenczAustralia2024-06-10Chemel, James L Cpa RENEWAL1Stephen Shaw
1022Tony Z RimUnited Kingdom2024-06-12Chemel, James L Cpa RENEWAL89Bernardo Dominic
1023Aditya I CampainCanada2024-05-26Commercial Press NEW62Asiya Javayant
1024Aruna G MorascaBrazil2024-06-14Truhlar And Truhlar Attys PROPOSAL85Anna Fali
1025Arvin T VenereGermany2024-06-15Rangoni Of Florence PROPOSAL21Onyama Limba
1026Faith U SlusarskiAustralia2024-05-26Buckley Miller Wright RENEWAL63Xuxue Feng
1027Smith T FollerJapan2024-05-28Truhlar And Truhlar Attys NEW84Elwin Sharvill
1028Tony K CaudyFrance2024-05-31Dorl, James J Esq RENEWAL18Bernardo Dominic
1029Kaitlin F GarufiJapan2024-05-29Feiner Bros PROPOSAL25Ioni Bowcher
1030Adams Y GauchoBrazil2024-06-15Chapman, Ross E Esq RENEWAL85Elwin Sharvill
1031Rodrigues H MaletBrazil2024-05-29Chanay, Jeffrey A Esq RENEWAL34Ioni Bowcher
1032Stacey Q StockhamJapan2024-06-18Chemel, James L Cpa QUALIFIED63Amy Elsner
1033Kadeem U RimArgentina2024-05-29Chapman, Ross E Esq NEW85Asiya Javayant
1034Greenwood U InouyeArgentina2024-06-05King, Christopher A Esq QUALIFIED17Anna Fali
1035Izzy F SergiIndia2024-06-15Rangoni Of Florence RENEWAL48Bernardo Dominic
1036Adams E CaudyBrazil2024-06-20Commercial Press UNQUALIFIED34Xuxue Feng
1037Julie P WieserAustralia2024-06-01Buckley Miller Wright QUALIFIED6Onyama Limba
1038Munro E WaycottIndia2024-06-19Dorl, James J Esq UNQUALIFIED16Amy Elsner
1039Munro I AmigonSpain2024-05-31Feiner Bros UNQUALIFIED25Anna Fali
1040Jeanfrancois U OstroskyItaly2024-05-25Chapman, Ross E Esq NEGOTIATION12Ivan Magalhaes
1041Francesco R GauchoFrance2024-06-10Chanay, Jeffrey A Esq QUALIFIED11Onyama Limba
1042Greenwood F CampainBrazil2024-06-06Chemel, James L Cpa RENEWAL7Stephen Shaw
1043Aditya G WhobreyFrance2024-05-28Benton, John B Jr QUALIFIED53Anna Fali
1044Aditya W OstroskySpain2024-05-30Rangoni Of Florence NEGOTIATION61Bernardo Dominic
1045Arvin C OstroskyJapan2024-06-13Chemel, James L Cpa QUALIFIED43Stephen Shaw
1046Izzy F RulapaughFrance2024-06-03Chapman, Ross E Esq QUALIFIED26Ioni Bowcher
1047Costa C ChuiIndia2024-05-26Feltz Printing Service QUALIFIED54Ioni Bowcher
1048Maisha H RimIndia2024-06-11Rangoni Of Florence RENEWAL94Xuxue Feng
1049David N KolmetzUnited Kingdom2024-06-17Feltz Printing Service NEW58Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Alejandro T MacleadAustraliaAmy Elsner NEGOTIATION
Sinclair N AmigonJapanBernardo Dominic UNQUALIFIED
Salvatore J AlbaresBrazilElwin Sharvill UNQUALIFIED
Murillo F AlbaresSpainXuxue Feng QUALIFIED
Johnson R IturbideSpainAsiya Javayant RENEWAL
Mayumi T NickaBrazilElwin Sharvill NEGOTIATION
Tony Z StockhamSpainAmy Elsner NEW
Ivar S VenereCanadaIvan Magalhaes RENEWAL
Darci C DarakjyUnited KingdomAmy Elsner UNQUALIFIED
Deepesh E IturbideItalyAsiya Javayant NEGOTIATION
James B NickaUnited KingdomIoni Bowcher RENEWAL
Julie U FerenczFranceOnyama Limba NEGOTIATION
Aruna I TollnerJapanBernardo Dominic PROPOSAL
Julie Z DarakjySpainOnyama Limba QUALIFIED
Adams K SlusarskiCanadaAnna Fali QUALIFIED
Jones Y SchemmerGermanyAnna Fali RENEWAL
Ricardo F RutaArgentinaBernardo Dominic PROPOSAL
Cody X OldroydRussiaElwin Sharvill NEW
Wickens I SergiGermanyXuxue Feng PROPOSAL
Aika A NestleIndiaAnna Fali UNQUALIFIED
Antonio Y InouyeFranceXuxue Feng RENEWAL
Smith A VenereJapanOnyama Limba RENEWAL
Maria R StockhamIndiaStephen Shaw RENEWAL
Francesco R BriddickArgentinaIvan Magalhaes PROPOSAL
Rodrigues U KuskoSpainIoni Bowcher NEW
Rodrigues X RulapaughJapanAmy Elsner UNQUALIFIED
Arvin X PaprockiJapanIvan Magalhaes RENEWAL
Silvio D WieserArgentinaBernardo Dominic NEGOTIATION
Aruna U FollerGermanyOnyama Limba PROPOSAL
Julie K CaudyRussiaIvan Magalhaes NEW
Costa E PerinArgentinaStephen Shaw PROPOSAL
Darci J VocelkaJapanElwin Sharvill RENEWAL
Jefferson Y MacleadGermanyAnna Fali PROPOSAL
Mayumi I FigeroaArgentinaAmy Elsner NEGOTIATION
Ashley N AmigonItalyStephen Shaw PROPOSAL
Stacey K OldroydAustraliaIvan Magalhaes QUALIFIED
Nicolas R PaprockiIndiaXuxue Feng UNQUALIFIED
Octavia H AmigonJapanBernardo Dominic QUALIFIED
Salvatore E CampainJapanIvan Magalhaes NEGOTIATION
Maria C KolmetzArgentinaBernardo Dominic QUALIFIED
Jeanfrancois W VenereAustraliaStephen Shaw NEW
Johnson O SaylorsGermanyAmy Elsner NEGOTIATION
Munro K GauchoFranceAmy Elsner PROPOSAL
Aruna L RoysterSpainAsiya Javayant NEW
Rodrigues P ShinkoFranceAnna Fali NEW
Maria W KuskoArgentinaAnna Fali NEGOTIATION
Munro S FlosiRussiaIvan Magalhaes RENEWAL
Francesco I KolmetzIndiaOnyama Limba UNQUALIFIED
Julie Y RulapaughCanadaOnyama Limba NEGOTIATION
Wickens Q AlbaresBrazilAmy Elsner PROPOSAL
Frozen Columns
Name
Jones C Kolmetz
Kadeem M Glick
Antonio T Doe
Kadeem T Darakjy
Jeanfrancois G Rim
Wickens C Schemmer
Rodrigues U Albares
Wickens K Gaucho
Wickens T Gillian
Octavia W Glick
Antonio T Gillian
Faith O Foller
Mayumi F Wieser
Smith K Gaucho
Francesco W Kolmetz
Chavez I Oldroyd
Maisha R Marrier
Misaki Q Shinko
Alejandro B Sergi
Wickens W Amigon
Aika X Vocelka
David D Stockham
Ricardo D Gillian
Faith L Schemmer
Aditya Z Sergi
Kadeem H Doe
Ivar M Ruta
Izzy Z Flosi
Maria D Amigon
Murillo Z Doe
Maisha N Gillian
Francesco N Darakjy
Silvio J Kusko
Aruna G Nicka
Misaki M Briddick
Aditya Q Kusko
Francesco H Albares
Kadeem M Inouye
Wickens W Nicka
Maria R Campain
Salvatore E Wieser
Silvio Z Saylors
Morrow C Bolognia
Claire E Gillian
Sinclair U Perin
Tony L Rulapaugh
Tony A Perin
Deepesh N Gillian
Mayumi R Waycott
Wickens G Foller
IdCountryDate
1000Canada2024-06-15
1001Russia2024-06-10
1002France2024-06-22
1003Germany2024-06-11
1004India2024-05-24
1005Argentina2024-06-22
1006Argentina2024-06-21
1007Italy2024-05-29
1008Australia2024-06-18
1009Germany2024-06-21
1010Spain2024-05-28
1011Germany2024-06-13
1012United Kingdom2024-06-21
1013India2024-06-16
1014Brazil2024-06-06
1015United Kingdom2024-06-11
1016Brazil2024-05-26
1017Japan2024-05-31
1018Spain2024-05-29
1019India2024-06-06
1020India2024-05-28
1021Argentina2024-05-31
1022Russia2024-05-27
1023Australia2024-06-16
1024Italy2024-06-08
1025Russia2024-05-31
1026United Kingdom2024-05-24
1027Argentina2024-06-12
1028Germany2024-05-26
1029United Kingdom2024-06-09
1030Russia2024-06-22
1031Canada2024-06-15
1032Canada2024-05-24
1033France2024-06-18
1034Argentina2024-05-24
1035Japan2024-05-29
1036Canada2024-06-16
1037Brazil2024-06-13
1038Brazil2024-06-22
1039Japan2024-05-28
1040Canada2024-06-06
1041Australia2024-06-04
1042Argentina2024-05-28
1043France2024-06-17
1044Germany2024-06-01
1045United Kingdom2024-06-19
1046Argentina2024-06-14
1047Japan2024-06-03
1048Canada2024-06-08
1049Russia2024-06-15

On-Demand Data

NameIdCountryDate
Salvatore C Stockham1000Brazil2024-06-21
Leja X Nicka1001Brazil2024-05-24
Antonio V Chui1002Canada2024-06-09
Morrow K Royster1003Brazil2024-06-19
Emily D Doe1004Brazil2024-05-25
Costa O Glick1005Russia2024-06-19
Kadeem U Tollner1006Spain2024-06-02
Kaitlin J Oldroyd1007France2024-05-26
Aditya A Nicka1008Russia2024-05-28
Isabel J Bolognia1009Australia2024-06-14
Greenwood U Foller1010Germany2024-06-08
Stacey V Butt1011Italy2024-06-12
Smith O Albares1012United Kingdom2024-05-31
Aditya N Inouye1013Argentina2024-05-30
Francesco R Flosi1014Argentina2024-05-30
Aruna R Kolmetz1015India2024-06-02
Johnson R Briddick1016Argentina2024-05-31
Munro Z Doe1017France2024-06-13
Adams Z Ruta1018Brazil2024-05-26
Leja E Stenseth1019Canada2024-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo V GlickArgentinaBernardo Dominic UNQUALIFIED
Maisha O KolmetzAustraliaAnna Fali PROPOSAL
Antonio Q ChuiJapanAnna Fali NEGOTIATION
Maria R PerinJapanElwin Sharvill UNQUALIFIED
Izzy O SergiItalyIvan Magalhaes NEW
Leja N StensethArgentinaOnyama Limba QUALIFIED
Stacey F MarrierBrazilAmy Elsner UNQUALIFIED
Juan V RutaArgentinaIvan Magalhaes RENEWAL
Maria B VocelkaGermanyAnna Fali QUALIFIED
Alejandro G OldroydRussiaBernardo Dominic UNQUALIFIED
Arvin N WhobreyBrazilIoni Bowcher NEW
Jefferson Y RimArgentinaBernardo Dominic NEW
Jennifer U VenereIndiaStephen Shaw RENEWAL
Antonio C SchemmerItalyOnyama Limba UNQUALIFIED
Jefferson J GarufiSpainAsiya Javayant UNQUALIFIED
Aruna M SlusarskiBrazilIoni Bowcher QUALIFIED
Misaki M MarrierItalyXuxue Feng UNQUALIFIED
Ricardo S FigeroaItalyBernardo Dominic NEGOTIATION
Aditya T MacleadUnited KingdomXuxue Feng PROPOSAL
Deepesh Z FollerRussiaAnna Fali RENEWAL
Wickens S FollerBrazilAmy Elsner NEGOTIATION
Wickens S DoeIndiaBernardo Dominic UNQUALIFIED
Stacey D SchemmerCanadaIvan Magalhaes QUALIFIED
Clifford P CampainCanadaAnna Fali PROPOSAL
Leja R KolmetzRussiaIvan Magalhaes RENEWAL
Alejandro J MaletGermanyIvan Magalhaes PROPOSAL
Tony O InouyeRussiaIoni Bowcher UNQUALIFIED
Ricardo H GauchoAustraliaIvan Magalhaes RENEWAL
Salvatore M KolmetzGermanyStephen Shaw NEW
Aditya B FerenczSpainIoni Bowcher NEW
Izzy U NestleUnited KingdomXuxue Feng RENEWAL
Morrow T CaldareraFranceAnna Fali PROPOSAL
Claire G MacleadRussiaStephen Shaw PROPOSAL
Mayumi T AmigonJapanIvan Magalhaes NEGOTIATION
Darci L OstroskyItalyBernardo Dominic PROPOSAL
Jefferson R SaylorsArgentinaElwin Sharvill NEGOTIATION
Salvatore R SaylorsUnited KingdomXuxue Feng PROPOSAL
James T RulapaughItalyIoni Bowcher NEGOTIATION
Nicolas H FollerIndiaAsiya Javayant NEW
James Y BowleyJapanStephen Shaw 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>