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
Maisha K SchemmerFranceIvan Magalhaes PROPOSAL
James J MarrierCanadaAnna Fali UNQUALIFIED
Morrow M FollerCanadaXuxue Feng NEGOTIATION
Johnson V GauchoGermanyAsiya Javayant UNQUALIFIED
Faith Z WaycottIndiaIoni Bowcher QUALIFIED
Antonio H SchemmerIndiaStephen Shaw NEW
Claire D WhobreyGermanyIvan Magalhaes QUALIFIED
Aditya J FlosiFranceIoni Bowcher UNQUALIFIED
Isabel F AlbaresIndiaXuxue Feng RENEWAL
Isabel B AmigonUnited KingdomIvan Magalhaes QUALIFIED
Izzy L RulapaughGermanyStephen Shaw UNQUALIFIED
James I ShinkoAustraliaAmy Elsner NEGOTIATION
Johnson R SlusarskiIndiaAnna Fali QUALIFIED
David S AlbaresItalyStephen Shaw PROPOSAL
Leja N SaylorsBrazilIvan Magalhaes RENEWAL
Claire T TollnerAustraliaAnna Fali PROPOSAL
David W AmigonIndiaBernardo Dominic RENEWAL
Greenwood Y AlbaresCanadaIvan Magalhaes PROPOSAL
Clifford F GillianAustraliaXuxue Feng QUALIFIED
Francesco P DilliardBrazilAsiya Javayant QUALIFIED
Munro U ChuiUnited KingdomIvan Magalhaes RENEWAL
Aika I MaletArgentinaAsiya Javayant NEGOTIATION
Faith Y TollnerJapanAmy Elsner PROPOSAL
Emily X InouyeFranceAmy Elsner UNQUALIFIED
Arvin B VocelkaJapanAmy Elsner NEGOTIATION
Clifford Z MarrierBrazilIvan Magalhaes QUALIFIED
Maisha W IturbideIndiaAmy Elsner UNQUALIFIED
Silvio B SlusarskiAustraliaAsiya Javayant RENEWAL
Juan I RutaIndiaAmy Elsner PROPOSAL
Smith U SaylorsSpainAnna Fali RENEWAL
Stacey M GarufiItalyElwin Sharvill UNQUALIFIED
Emily M MarrierArgentinaXuxue Feng UNQUALIFIED
Jones A MarrierRussiaXuxue Feng NEGOTIATION
Greenwood H SlusarskiAustraliaAnna Fali QUALIFIED
Nicolas P OldroydAustraliaElwin Sharvill RENEWAL
Deepesh J DarakjyArgentinaAsiya Javayant QUALIFIED
Stacey N DilliardRussiaElwin Sharvill PROPOSAL
Ricardo J SchemmerItalyOnyama Limba NEW
Leon Z BologniaFranceIoni Bowcher UNQUALIFIED
Costa I GarufiJapanBernardo Dominic PROPOSAL
Antonio S StockhamItalyAnna Fali RENEWAL
Salvatore L OldroydUnited KingdomStephen Shaw UNQUALIFIED
Kadeem H VenereItalyIoni Bowcher RENEWAL
Jones U BriddickAustraliaAmy Elsner RENEWAL
Julie Y GlickFranceStephen Shaw NEW
Adams G IturbideGermanyStephen Shaw RENEWAL
Maisha C VenereIndiaAmy Elsner QUALIFIED
Octavia E GauchoFranceBernardo Dominic PROPOSAL
Morrow T StockhamBrazilBernardo Dominic NEGOTIATION
Kaitlin K FigeroaRussiaAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Cody P FigeroaIndiaAnna Fali QUALIFIED
Salvatore M FigeroaBrazilIoni Bowcher NEGOTIATION
Mayumi O SlusarskiItalyIvan Magalhaes NEGOTIATION
Leon X MaletCanadaStephen Shaw RENEWAL
James N MacleadArgentinaStephen Shaw NEGOTIATION
Julie Q MorascaFranceStephen Shaw NEW
Murillo O ChuiCanadaIvan Magalhaes NEW
Julie Z ShinkoBrazilIvan Magalhaes PROPOSAL
Rodrigues Z NickaSpainElwin Sharvill RENEWAL
Cody J ChuiAustraliaBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo S PaprockiUnited Kingdom2024-05-27Commercial Press UNQUALIFIED65Ioni Bowcher
1001Arvin A BowleyCanada2024-05-25Benton, John B Jr PROPOSAL50Elwin Sharvill
1002Stacey Q CaudyArgentina2024-06-01Printing Dimensions RENEWAL93Xuxue Feng
1003Adams W CaudySpain2024-06-10Morlong Associates QUALIFIED77Anna Fali
1004Sinclair E NickaItaly2024-06-12Printing Dimensions RENEWAL50Ioni Bowcher
1005Aruna L CaldareraBrazil2024-06-11Rangoni Of Florence NEGOTIATION64Elwin Sharvill
1006Ivar E BologniaAustralia2024-06-07Printing Dimensions NEW48Ioni Bowcher
1007James U VenereSpain2024-06-10Feltz Printing Service PROPOSAL55Asiya Javayant
1008Costa C GauchoArgentina2024-05-30Chanay, Jeffrey A Esq NEW62Stephen Shaw
1009Jefferson U OstroskyItaly2024-06-18Rousseaux, Michael Esq NEW77Stephen Shaw
1010Kadeem E MorascaCanada2024-06-17Rangoni Of Florence PROPOSAL6Xuxue Feng
1011Ricardo P InouyeAustralia2024-05-25Feiner Bros NEGOTIATION97Ivan Magalhaes
1012Rodrigues P VenereAustralia2024-05-28Rousseaux, Michael Esq NEGOTIATION43Xuxue Feng
1013Francesco T CaudyGermany2024-06-07Chanay, Jeffrey A Esq RENEWAL80Asiya Javayant
1014Johnson F OstroskyJapan2024-06-14Buckley Miller Wright UNQUALIFIED85Ioni Bowcher
1015Munro C ShinkoJapan2024-06-04Buckley Miller Wright NEW35Onyama Limba
1016Clifford T StockhamAustralia2024-06-13Buckley Miller Wright RENEWAL71Ioni Bowcher
1017Deepesh C FerenczIndia2024-06-14Feltz Printing Service UNQUALIFIED35Anna Fali
1018Mujtaba O ShinkoRussia2024-06-04Benton, John B Jr PROPOSAL69Asiya Javayant
1019Alejandro U OldroydRussia2024-05-26Truhlar And Truhlar Attys NEW23Asiya Javayant
1020Costa V PerinSpain2024-05-30Chanay, Jeffrey A Esq RENEWAL63Asiya Javayant
1021Smith Y VocelkaItaly2024-05-24Commercial Press NEW55Stephen Shaw
1022Murillo R IturbideRussia2024-05-27King, Christopher A Esq QUALIFIED7Xuxue Feng
1023Emily Y PaprockiCanada2024-05-29Feltz Printing Service NEGOTIATION9Ivan Magalhaes
1024Jones J NestleAustralia2024-06-09Rousseaux, Michael Esq NEW30Bernardo Dominic
1025Leja Z FlosiRussia2024-06-15Chemel, James L Cpa NEW5Elwin Sharvill
1026Stacey C RutaUnited Kingdom2024-06-18Chapman, Ross E Esq NEW82Onyama Limba
1027Claire F WaycottUnited Kingdom2024-05-30Printing Dimensions PROPOSAL3Stephen Shaw
1028Murillo P AlbaresBrazil2024-05-27King, Christopher A Esq UNQUALIFIED22Onyama Limba
1029Stacey C PaprockiCanada2024-06-15Feiner Bros QUALIFIED76Ioni Bowcher
1030Maria E KuskoUnited Kingdom2024-06-03Morlong Associates PROPOSAL66Anna Fali
1031Sinclair E SlusarskiUnited Kingdom2024-06-03Commercial Press NEGOTIATION35Onyama Limba
1032Maisha L FigeroaBrazil2024-06-19Benton, John B Jr PROPOSAL67Stephen Shaw
1033Alejandro P IturbideArgentina2024-06-05King, Christopher A Esq PROPOSAL40Ivan Magalhaes
1034Izzy F InouyeBrazil2024-06-13Chapman, Ross E Esq PROPOSAL0Asiya Javayant
1035Ashley O ChuiArgentina2024-05-30King, Christopher A Esq NEW27Ioni Bowcher
1036James D MaletFrance2024-06-11Chemel, James L Cpa QUALIFIED91Bernardo Dominic
1037Silvio Q VenereSpain2024-06-15Truhlar And Truhlar Attys UNQUALIFIED83Asiya Javayant
1038Chavez R StockhamRussia2024-05-29Benton, John B Jr PROPOSAL26Asiya Javayant
1039Claire E InouyeSpain2024-05-25Printing Dimensions NEGOTIATION95Stephen Shaw
1040Ashley F PaprockiUnited Kingdom2024-06-19Rangoni Of Florence QUALIFIED19Bernardo Dominic
1041Antonio H MorascaSpain2024-06-03Chemel, James L Cpa NEGOTIATION56Bernardo Dominic
1042Misaki Y GlickSpain2024-05-28Chemel, James L Cpa RENEWAL82Amy Elsner
1043Stacey O OstroskyBrazil2024-06-01Chanay, Jeffrey A Esq PROPOSAL44Elwin Sharvill
1044Maisha Q InouyeSpain2024-06-08Truhlar And Truhlar Attys RENEWAL73Ivan Magalhaes
1045Ashley C PaprockiAustralia2024-06-14Rousseaux, Michael Esq NEGOTIATION78Stephen Shaw
1046Deepesh X VocelkaIndia2024-06-09Truhlar And Truhlar Attys NEGOTIATION20Xuxue Feng
1047Clifford N RulapaughIndia2024-06-08Feiner Bros QUALIFIED24Elwin Sharvill
1048Costa C IturbideItaly2024-06-21Printing Dimensions NEW17Anna Fali
1049Mayumi Y CampainItaly2024-06-12Dorl, James J Esq PROPOSAL13Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Emily K SchemmerFranceAmy Elsner QUALIFIED
James W OldroydFranceBernardo Dominic RENEWAL
Stacey D VocelkaFranceAmy Elsner RENEWAL
Maisha K KuskoFranceAnna Fali UNQUALIFIED
Faith N WaycottSpainIvan Magalhaes NEW
Adams G GillianFranceIvan Magalhaes PROPOSAL
Jones T VenereUnited KingdomOnyama Limba UNQUALIFIED
David G DilliardGermanyXuxue Feng UNQUALIFIED
Mujtaba E BowleyJapanAmy Elsner UNQUALIFIED
Kaitlin R StockhamUnited KingdomElwin Sharvill UNQUALIFIED
Darci H CaudyArgentinaAmy Elsner NEGOTIATION
Aditya L PerinSpainAnna Fali RENEWAL
Aruna C BriddickRussiaAnna Fali RENEWAL
Mujtaba B AmigonIndiaStephen Shaw PROPOSAL
Izzy C BriddickGermanyElwin Sharvill NEGOTIATION
Greenwood E MaletGermanyXuxue Feng RENEWAL
Sinclair O GillianFranceIvan Magalhaes QUALIFIED
Nicolas L CampainIndiaXuxue Feng NEW
Antonio J RutaArgentinaAsiya Javayant PROPOSAL
Kaitlin S DoeRussiaXuxue Feng PROPOSAL
Wickens C ShinkoAustraliaElwin Sharvill UNQUALIFIED
Maria W AlbaresJapanXuxue Feng PROPOSAL
James U AmigonSpainElwin Sharvill NEGOTIATION
Johnson B CaldareraArgentinaAsiya Javayant NEW
Darci R PerinUnited KingdomAnna Fali UNQUALIFIED
Antonio N CampainArgentinaAsiya Javayant RENEWAL
Jefferson J DoeJapanIvan Magalhaes NEW
Maria A InouyeSpainElwin Sharvill UNQUALIFIED
Chavez P FerenczRussiaElwin Sharvill NEW
Munro A NickaArgentinaElwin Sharvill QUALIFIED
Izzy M GarufiGermanyBernardo Dominic NEW
Tony F NestleRussiaOnyama Limba UNQUALIFIED
Ashley R GauchoIndiaXuxue Feng QUALIFIED
Izzy N CaudyBrazilAsiya Javayant QUALIFIED
Murillo G MorascaRussiaAnna Fali NEW
Deepesh Y CaudyGermanyOnyama Limba UNQUALIFIED
Aruna T KolmetzUnited KingdomXuxue Feng RENEWAL
Rodrigues V StensethGermanyIoni Bowcher RENEWAL
Juan Q RoysterIndiaIvan Magalhaes UNQUALIFIED
Emily Z GauchoAustraliaElwin Sharvill QUALIFIED
Morrow Y MacleadRussiaAsiya Javayant UNQUALIFIED
Faith F VenereJapanElwin Sharvill NEGOTIATION
Julie Z CampainFranceAsiya Javayant NEGOTIATION
David P CaudyJapanElwin Sharvill UNQUALIFIED
Smith M AlbaresItalyIvan Magalhaes PROPOSAL
Clifford R BologniaRussiaAmy Elsner PROPOSAL
Morrow B FlosiFranceAnna Fali NEW
Jennifer N GauchoFranceAsiya Javayant NEW
Aruna Y GillianIndiaStephen Shaw RENEWAL
Faith P RulapaughRussiaAmy Elsner RENEWAL
Frozen Columns
Name
Jones O Albares
Claire N Nicka
Izzy S Gaucho
Silvio K Inouye
Julie R Inouye
Clifford I Rulapaugh
Kaitlin Y Perin
Francesco A Figeroa
Maisha Y Butt
Johnson K Vocelka
Johnson C Poquette
Darci D Foller
Cody O Malet
Jennifer G Campain
Darci D Caldarera
Julie R Briddick
Clifford K Garufi
Faith Z Dilliard
Chavez R Waycott
Chavez W Campain
Julie N Caudy
Francesco V Rim
Juan D Darakjy
Aditya V Amigon
Clifford L Ferencz
Claire T Ruta
Costa Y Schemmer
Munro T Slusarski
Jefferson Q Flosi
Clifford C Gillian
Mayumi G Ruta
Maria K Ostrosky
Aditya W Briddick
Juan M Caldarera
Morrow B Gaucho
Morrow C Bolognia
Clifford K Ferencz
James N Maclead
Tony T Maclead
Nicolas Y Malet
Nicolas C Glick
Octavia H Kolmetz
Salvatore M Butt
Cody Y Caudy
Ricardo S Marrier
Antonio H Kusko
Alejandro A Gaucho
Ashley J Kusko
Ricardo N Marrier
Ashley I Malet
IdCountryDate
1000Italy2024-06-03
1001Russia2024-06-06
1002Russia2024-06-13
1003France2024-06-22
1004Germany2024-06-15
1005Brazil2024-06-07
1006United Kingdom2024-06-21
1007Germany2024-06-05
1008Canada2024-06-04
1009Brazil2024-05-26
1010Canada2024-06-09
1011Germany2024-06-10
1012Japan2024-06-17
1013France2024-06-21
1014Spain2024-06-13
1015India2024-06-18
1016Brazil2024-06-08
1017United Kingdom2024-06-09
1018France2024-05-24
1019Italy2024-06-09
1020Brazil2024-06-03
1021Italy2024-06-17
1022Australia2024-06-03
1023Russia2024-06-01
1024United Kingdom2024-06-04
1025India2024-06-08
1026India2024-06-18
1027India2024-06-14
1028France2024-06-09
1029Italy2024-05-27
1030Australia2024-05-26
1031India2024-06-05
1032Russia2024-06-05
1033Australia2024-06-05
1034Italy2024-05-31
1035United Kingdom2024-06-03
1036Spain2024-06-13
1037France2024-06-15
1038Germany2024-06-07
1039Germany2024-06-19
1040Germany2024-05-28
1041Germany2024-06-11
1042Australia2024-06-09
1043Australia2024-06-09
1044France2024-06-15
1045Australia2024-06-07
1046United Kingdom2024-06-22
1047Italy2024-06-08
1048Canada2024-05-26
1049Spain2024-06-05

On-Demand Data

NameIdCountryDate
Octavia Z Campain1000Brazil2024-05-30
Jones E Glick1001Brazil2024-06-03
Morrow J Doe1002Brazil2024-05-26
Wickens B Caldarera1003Canada2024-06-10
Jones B Poquette1004Argentina2024-05-27
Octavia V Sergi1005Germany2024-06-07
Silvio B Inouye1006India2024-05-27
Morrow U Royster1007Brazil2024-06-21
Greenwood M Shinko1008Germany2024-06-14
Salvatore W Briddick1009Germany2024-06-12
Smith O Royster1010Germany2024-06-10
Aruna C Glick1011United Kingdom2024-06-21
Smith M Dilliard1012Brazil2024-06-02
Francesco J Royster1013India2024-06-06
Cody S Dilliard1014Germany2024-06-22
Jennifer G Stockham1015Argentina2024-05-31
Greenwood O Schemmer1016India2024-06-10
Kadeem E Doe1017Brazil2024-06-06
Aruna V Stockham1018Spain2024-06-06
Arvin Z Maclead1019United Kingdom2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony Q SaylorsJapanElwin Sharvill NEW
Tony O DarakjyBrazilAmy Elsner UNQUALIFIED
Alejandro W RutaJapanAnna Fali NEGOTIATION
Leja E StensethJapanXuxue Feng UNQUALIFIED
Kadeem I FollerCanadaElwin Sharvill PROPOSAL
Izzy Q FigeroaRussiaElwin Sharvill UNQUALIFIED
Nicolas G NestleRussiaIoni Bowcher RENEWAL
Clifford S FerenczBrazilStephen Shaw NEGOTIATION
Silvio V CaudyItalyIvan Magalhaes PROPOSAL
Deepesh W RimBrazilAmy Elsner NEGOTIATION
Misaki I ChuiAustraliaOnyama Limba UNQUALIFIED
Morrow J GillianCanadaOnyama Limba PROPOSAL
Octavia M RulapaughGermanyAmy Elsner PROPOSAL
Darci O MarrierSpainOnyama Limba NEGOTIATION
Aruna L PoquetteArgentinaIvan Magalhaes UNQUALIFIED
Costa P PoquetteArgentinaIoni Bowcher UNQUALIFIED
Costa L BologniaIndiaStephen Shaw PROPOSAL
Kadeem I TollnerFranceAnna Fali NEGOTIATION
Morrow A RoysterAustraliaElwin Sharvill NEW
Deepesh Y AmigonBrazilAsiya Javayant NEW
Mujtaba G SlusarskiFranceIvan Magalhaes UNQUALIFIED
Leon O SergiFranceElwin Sharvill UNQUALIFIED
Costa V NestleGermanyAnna Fali QUALIFIED
Maisha S VenereItalyIoni Bowcher NEW
Aruna X DoeRussiaAsiya Javayant RENEWAL
Izzy Q FerenczFranceAnna Fali NEW
Kaitlin N OstroskyCanadaAmy Elsner RENEWAL
Jones M OstroskyRussiaOnyama Limba QUALIFIED
Francesco I NestleBrazilAsiya Javayant UNQUALIFIED
Antonio C GlickRussiaAmy Elsner NEGOTIATION
Maria J FlosiArgentinaIvan Magalhaes NEW
Darci N PaprockiSpainXuxue Feng NEGOTIATION
Antonio W CampainCanadaIvan Magalhaes UNQUALIFIED
Darci B MorascaAustraliaIvan Magalhaes NEGOTIATION
Wickens W DoeRussiaElwin Sharvill UNQUALIFIED
Aditya R AlbaresIndiaIoni Bowcher NEW
Aika X NickaIndiaOnyama Limba NEGOTIATION
Maria M GillianArgentinaStephen Shaw UNQUALIFIED
Aruna V RutaArgentinaStephen Shaw NEW
Tony I CaldareraArgentinaElwin Sharvill 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>