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
Antonio V FlosiBrazilStephen Shaw QUALIFIED
Morrow B FollerGermanyAsiya Javayant RENEWAL
Antonio X ButtGermanyAnna Fali QUALIFIED
Smith B RutaArgentinaBernardo Dominic NEGOTIATION
Claire C FlosiGermanyIoni Bowcher PROPOSAL
Aditya L RulapaughUnited KingdomXuxue Feng NEW
Claire B InouyeItalyStephen Shaw QUALIFIED
Kaitlin G BriddickAustraliaIvan Magalhaes PROPOSAL
Tony W SergiBrazilBernardo Dominic PROPOSAL
Morrow I OstroskyGermanyOnyama Limba QUALIFIED
Tony G FigeroaBrazilElwin Sharvill RENEWAL
James Z CampainRussiaIoni Bowcher NEW
Claire O FerenczJapanElwin Sharvill UNQUALIFIED
Silvio T GauchoSpainStephen Shaw RENEWAL
Ashley S IturbideSpainIoni Bowcher RENEWAL
Julie D ChuiRussiaIoni Bowcher NEGOTIATION
Salvatore M SchemmerJapanIoni Bowcher NEW
David M IturbideJapanAnna Fali NEW
Darci R MacleadGermanyIoni Bowcher QUALIFIED
Silvio H SaylorsSpainStephen Shaw RENEWAL
Ashley K BologniaSpainXuxue Feng QUALIFIED
Aditya H DarakjySpainIvan Magalhaes UNQUALIFIED
Julie G AmigonJapanOnyama Limba NEGOTIATION
Jefferson A GauchoBrazilIoni Bowcher UNQUALIFIED
Chavez U RimRussiaAmy Elsner NEW
Jefferson J VocelkaIndiaAmy Elsner NEW
Antonio I RimJapanXuxue Feng UNQUALIFIED
Murillo R GarufiCanadaElwin Sharvill PROPOSAL
Misaki L NickaSpainElwin Sharvill NEW
Ashley X IturbideUnited KingdomAmy Elsner NEGOTIATION
Silvio Z CaldareraUnited KingdomStephen Shaw NEGOTIATION
Johnson T KolmetzFranceOnyama Limba UNQUALIFIED
Munro T CaldareraAustraliaAsiya Javayant RENEWAL
David U FerenczArgentinaAnna Fali NEGOTIATION
Salvatore J RoysterArgentinaElwin Sharvill PROPOSAL
Deepesh B GillianJapanIvan Magalhaes QUALIFIED
Leon O GillianCanadaAmy Elsner NEGOTIATION
Maria Q FerenczFranceStephen Shaw PROPOSAL
Mayumi U WhobreySpainIoni Bowcher PROPOSAL
Costa B InouyeBrazilXuxue Feng NEW
Jeanfrancois K DilliardCanadaAmy Elsner PROPOSAL
Antonio E TollnerBrazilIvan Magalhaes NEW
Nicolas G GauchoItalyAmy Elsner UNQUALIFIED
Leja U DarakjyFranceAmy Elsner UNQUALIFIED
Nicolas Z DilliardCanadaAnna Fali UNQUALIFIED
Maisha M SchemmerSpainAnna Fali UNQUALIFIED
James P NickaSpainXuxue Feng UNQUALIFIED
Mujtaba V CaudyGermanyElwin Sharvill UNQUALIFIED
Costa C VenereItalyOnyama Limba RENEWAL
Johnson A FlosiAustraliaAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Adams Q OstroskyUnited KingdomOnyama Limba NEW
Jeanfrancois W StockhamArgentinaBernardo Dominic PROPOSAL
Octavia L BologniaGermanyAsiya Javayant PROPOSAL
Kadeem K RutaAustraliaAmy Elsner PROPOSAL
Mujtaba R NestleBrazilXuxue Feng PROPOSAL
Salvatore O BologniaCanadaElwin Sharvill NEW
Johnson A FlosiIndiaXuxue Feng RENEWAL
Leja Y CampainBrazilElwin Sharvill QUALIFIED
Maisha E PoquetteIndiaStephen Shaw PROPOSAL
Ashley N GarufiUnited KingdomXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio V NickaRussia2025-04-09Printing Dimensions UNQUALIFIED38Anna Fali
1001Jennifer E FollerFrance2025-04-17Morlong Associates PROPOSAL46Asiya Javayant
1002Nicolas J IturbideJapan2025-04-06Commercial Press QUALIFIED11Anna Fali
1003Greenwood Y StensethBrazil2025-04-22Chemel, James L Cpa RENEWAL39Ivan Magalhaes
1004Aruna R DilliardUnited Kingdom2025-04-05Buckley Miller Wright NEGOTIATION65Ioni Bowcher
1005Mayumi Z SaylorsArgentina2025-04-10Commercial Press NEGOTIATION19Amy Elsner
1006Claire M ButtUnited Kingdom2025-04-26Feiner Bros PROPOSAL9Ioni Bowcher
1007Nicolas H DilliardGermany2025-04-15Truhlar And Truhlar Attys RENEWAL98Elwin Sharvill
1008Deepesh G FollerRussia2025-04-07Chemel, James L Cpa RENEWAL81Xuxue Feng
1009Maisha D StockhamCanada2025-04-23Chanay, Jeffrey A Esq RENEWAL79Elwin Sharvill
1010Costa Q SaylorsCanada2025-04-21Chanay, Jeffrey A Esq NEGOTIATION9Asiya Javayant
1011Morrow R ButtIndia2025-04-02Rousseaux, Michael Esq QUALIFIED67Anna Fali
1012Izzy O CaudyUnited Kingdom2025-04-28Rousseaux, Michael Esq RENEWAL49Ivan Magalhaes
1013Mujtaba V MorascaCanada2025-04-08Rangoni Of Florence RENEWAL41Xuxue Feng
1014Murillo K ShinkoFrance2025-04-24Rousseaux, Michael Esq PROPOSAL70Stephen Shaw
1015Salvatore C PaprockiRussia2025-04-29Rangoni Of Florence NEW75Stephen Shaw
1016Mayumi C PaprockiJapan2025-04-27Buckley Miller Wright UNQUALIFIED69Xuxue Feng
1017Wickens D VocelkaAustralia2025-04-04Morlong Associates QUALIFIED83Onyama Limba
1018Ashley S CaldareraRussia2025-04-14Morlong Associates UNQUALIFIED12Bernardo Dominic
1019Kaitlin Q CaudyRussia2025-04-28Chapman, Ross E Esq UNQUALIFIED28Amy Elsner
1020Maisha D RoysterBrazil2025-04-05Chanay, Jeffrey A Esq UNQUALIFIED76Amy Elsner
1021Greenwood W FigeroaItaly2025-04-19Feltz Printing Service NEW75Onyama Limba
1022Johnson O MaletCanada2025-04-28Rousseaux, Michael Esq NEGOTIATION61Anna Fali
1023Mayumi W IturbideBrazil2025-04-20Chapman, Ross E Esq UNQUALIFIED44Amy Elsner
1024Maisha H CaldareraBrazil2025-04-13Chemel, James L Cpa UNQUALIFIED79Elwin Sharvill
1025Francesco N MacleadAustralia2025-04-13Chanay, Jeffrey A Esq NEW4Elwin Sharvill
1026Maria R KolmetzJapan2025-04-22Printing Dimensions NEGOTIATION34Bernardo Dominic
1027Jeanfrancois T WhobreyRussia2025-04-17Rangoni Of Florence PROPOSAL98Ioni Bowcher
1028Morrow A SaylorsItaly2025-04-04King, Christopher A Esq QUALIFIED51Stephen Shaw
1029Jones K NickaAustralia2025-04-24Printing Dimensions UNQUALIFIED61Xuxue Feng
1030Mayumi F BowleyCanada2025-04-27Chapman, Ross E Esq NEGOTIATION66Amy Elsner
1031Cody K WieserGermany2025-04-29Dorl, James J Esq PROPOSAL49Ivan Magalhaes
1032Adams O SchemmerJapan2025-04-17Chapman, Ross E Esq RENEWAL79Ioni Bowcher
1033James J MaletGermany2025-04-02Benton, John B Jr PROPOSAL84Ioni Bowcher
1034Aruna N KuskoItaly2025-04-17Feiner Bros NEW78Anna Fali
1035Mujtaba G KolmetzArgentina2025-04-26Rangoni Of Florence NEW64Xuxue Feng
1036Mayumi A KolmetzGermany2025-04-24King, Christopher A Esq UNQUALIFIED13Asiya Javayant
1037Francesco H RimArgentina2025-04-02Commercial Press NEW61Onyama Limba
1038Isabel F StensethRussia2025-04-04Truhlar And Truhlar Attys NEGOTIATION59Stephen Shaw
1039Leja U MacleadUnited Kingdom2025-04-17Chanay, Jeffrey A Esq PROPOSAL51Ivan Magalhaes
1040Antonio O SlusarskiUnited Kingdom2025-04-24Chanay, Jeffrey A Esq UNQUALIFIED21Onyama Limba
1041Sinclair F CaldareraAustralia2025-04-29Rangoni Of Florence RENEWAL58Bernardo Dominic
1042Adams B KolmetzBrazil2025-04-26Chemel, James L Cpa NEW32Amy Elsner
1043Murillo R SchemmerBrazil2025-04-24Dorl, James J Esq NEGOTIATION93Bernardo Dominic
1044Juan H FlosiRussia2025-04-14Morlong Associates NEGOTIATION80Asiya Javayant
1045Rodrigues K SlusarskiIndia2025-04-12Rousseaux, Michael Esq NEW32Xuxue Feng
1046Aruna O GauchoRussia2025-04-10Feltz Printing Service NEW61Bernardo Dominic
1047Adams H ButtBrazil2025-04-05Dorl, James J Esq RENEWAL31Onyama Limba
1048Smith H MaletCanada2025-04-02Chemel, James L Cpa NEW27Onyama Limba
1049Izzy J DarakjyJapan2025-04-05Printing Dimensions NEW62Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Alejandro H StockhamBrazilAsiya Javayant NEW
Francesco N PerinSpainElwin Sharvill PROPOSAL
Jeanfrancois Z VocelkaUnited KingdomIvan Magalhaes PROPOSAL
Deepesh A KuskoIndiaIoni Bowcher QUALIFIED
Rodrigues V BologniaBrazilAnna Fali PROPOSAL
David Y VenereRussiaAsiya Javayant NEW
Rodrigues Y AmigonCanadaIvan Magalhaes NEGOTIATION
Leja C StockhamIndiaAmy Elsner QUALIFIED
Juan S PerinFranceIoni Bowcher UNQUALIFIED
Ashley B PoquetteJapanXuxue Feng PROPOSAL
David F GillianUnited KingdomAmy Elsner PROPOSAL
Ashley F SergiUnited KingdomAnna Fali NEW
Ashley E GarufiAustraliaIoni Bowcher QUALIFIED
Jefferson P FlosiRussiaOnyama Limba UNQUALIFIED
Aditya K KolmetzIndiaAmy Elsner PROPOSAL
Silvio Y MaletCanadaElwin Sharvill NEW
Rodrigues Y FollerArgentinaAmy Elsner RENEWAL
Chavez J OstroskySpainIoni Bowcher PROPOSAL
Salvatore I GarufiIndiaBernardo Dominic NEW
Octavia P NickaJapanIvan Magalhaes RENEWAL
Alejandro Y WieserFranceStephen Shaw PROPOSAL
Morrow F GlickRussiaXuxue Feng NEGOTIATION
Aruna L StensethFranceIoni Bowcher RENEWAL
Julie N FlosiIndiaAsiya Javayant QUALIFIED
Nicolas Z FlosiFranceIvan Magalhaes NEGOTIATION
Nicolas L OstroskyRussiaElwin Sharvill PROPOSAL
Smith I OldroydItalyAmy Elsner UNQUALIFIED
Cody Q NickaArgentinaBernardo Dominic QUALIFIED
Clifford L CaudyIndiaElwin Sharvill NEW
Stacey T CampainJapanAmy Elsner NEGOTIATION
Maria V SchemmerBrazilXuxue Feng NEW
Izzy N TollnerUnited KingdomOnyama Limba NEW
Rodrigues H FigeroaAustraliaIoni Bowcher NEGOTIATION
Mayumi D FlosiAustraliaElwin Sharvill QUALIFIED
David Q BowleyArgentinaElwin Sharvill NEW
Murillo C KuskoBrazilIoni Bowcher RENEWAL
Tony P MaletGermanyElwin Sharvill NEGOTIATION
Leon O GarufiBrazilIvan Magalhaes NEW
Costa C RoysterItalyIvan Magalhaes RENEWAL
Leon O FerenczUnited KingdomStephen Shaw PROPOSAL
Jefferson V FigeroaSpainXuxue Feng NEGOTIATION
Munro U DarakjyAustraliaXuxue Feng RENEWAL
David X WhobreyBrazilElwin Sharvill NEW
Aruna V InouyeGermanyIoni Bowcher NEW
Misaki B SergiJapanXuxue Feng UNQUALIFIED
Munro V PaprockiCanadaStephen Shaw QUALIFIED
Claire V BowleyUnited KingdomAmy Elsner UNQUALIFIED
Costa G FlosiRussiaStephen Shaw UNQUALIFIED
Maria L FerenczAustraliaOnyama Limba NEGOTIATION
Munro G GlickItalyAnna Fali NEGOTIATION
Frozen Columns
Name
Francesco P Bolognia
Kaitlin B Kusko
Munro C Albares
Emily B Poquette
Julie K Campain
Mujtaba X Paprocki
Ivar J Nicka
Salvatore S Morasca
Cody R Bowley
Nicolas X Iturbide
Morrow P Briddick
Jefferson Z Campain
Arvin P Ferencz
Ricardo M Schemmer
Tony X Malet
Morrow L Flosi
Kaitlin H Garufi
Aika Q Bolognia
Morrow S Malet
Mayumi R Vocelka
Ashley V Stenseth
Leon P Rim
Maisha Y Morasca
Greenwood A Gaucho
Johnson C Caldarera
Greenwood B Oldroyd
Antonio G Bowley
Jeanfrancois O Iturbide
Aruna W Doe
Claire L Maclead
Stacey X Waycott
Faith S Garufi
Octavia R Ruta
Jennifer L Slusarski
Silvio B Ferencz
Izzy R Amigon
Chavez P Flosi
Costa A Dilliard
Misaki Y Sergi
Arvin P Sergi
Rodrigues B Kolmetz
Julie M Gaucho
Isabel C Morasca
Jennifer G Whobrey
Wickens X Flosi
Isabel D Waycott
Munro E Chui
Jones Y Albares
Izzy L Ostrosky
Aditya N Iturbide
IdCountryDate
1000Italy2025-04-09
1001Russia2025-04-14
1002Italy2025-04-10
1003France2025-04-13
1004Italy2025-04-23
1005Spain2025-04-19
1006France2025-04-16
1007United Kingdom2025-04-24
1008France2025-04-19
1009Russia2025-04-25
1010Spain2025-04-03
1011Russia2025-04-08
1012Brazil2025-04-09
1013Russia2025-04-24
1014Australia2025-04-04
1015Brazil2025-04-21
1016Canada2025-04-27
1017Russia2025-04-29
1018Argentina2025-04-19
1019Spain2025-04-21
1020Canada2025-04-23
1021Brazil2025-04-09
1022Australia2025-04-13
1023Russia2025-04-10
1024Argentina2025-04-23
1025Brazil2025-04-09
1026Argentina2025-04-13
1027Argentina2025-04-02
1028France2025-04-27
1029Italy2025-05-01
1030France2025-04-05
1031Italy2025-04-28
1032Japan2025-04-15
1033Germany2025-04-21
1034Brazil2025-04-18
1035Australia2025-04-15
1036Germany2025-04-08
1037Russia2025-04-25
1038Japan2025-04-02
1039Italy2025-04-21
1040Brazil2025-04-12
1041Canada2025-04-28
1042Australia2025-04-19
1043Russia2025-04-29
1044Spain2025-04-12
1045United Kingdom2025-04-14
1046Brazil2025-04-29
1047Japan2025-04-07
1048Italy2025-04-24
1049Spain2025-04-16

On-Demand Data

NameIdCountryDate
Aditya Z Campain1000Russia2025-04-18
Aditya I Poquette1001India2025-04-29
Wickens N Ruta1002Italy2025-04-28
Ricardo V Paprocki1003Russia2025-04-14
Leon X Sergi1004United Kingdom2025-04-17
Morrow W Figeroa1005Australia2025-04-21
Maisha P Poquette1006India2025-04-25
Isabel Z Stenseth1007Italy2025-04-07
Leon A Perin1008Australia2025-04-14
Salvatore A Bowley1009France2025-04-02
Emily S Malet1010United Kingdom2025-04-20
Johnson W Venere1011France2025-04-25
Jeanfrancois H Garufi1012Australia2025-04-17
Francesco Z Chui1013Brazil2025-04-04
Maria I Doe1014Russia2025-04-23
Salvatore D Flosi1015Argentina2025-04-30
Tony Q Ostrosky1016Australia2025-04-23
Maisha G Garufi1017United Kingdom2025-04-02
Leon X Caudy1018Australia2025-04-13
Jones I Garufi1019Japan2025-04-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody M OldroydUnited KingdomAsiya Javayant NEGOTIATION
Clifford N SlusarskiJapanXuxue Feng PROPOSAL
Leja L GlickAustraliaElwin Sharvill RENEWAL
Adams A MaletUnited KingdomIoni Bowcher QUALIFIED
Misaki Y MaletJapanStephen Shaw QUALIFIED
David K MorascaRussiaIoni Bowcher NEW
Octavia U WaycottCanadaAsiya Javayant UNQUALIFIED
Smith K RimUnited KingdomAsiya Javayant NEW
Ricardo O VenereFranceStephen Shaw QUALIFIED
Chavez T SergiCanadaAmy Elsner NEGOTIATION
David N NickaJapanOnyama Limba QUALIFIED
Silvio E BriddickIndiaAsiya Javayant RENEWAL
Arvin G RoysterArgentinaBernardo Dominic RENEWAL
Julie H SergiUnited KingdomStephen Shaw NEGOTIATION
Claire C GarufiRussiaXuxue Feng NEGOTIATION
Faith U ShinkoAustraliaBernardo Dominic NEW
Ashley V DilliardAustraliaIvan Magalhaes QUALIFIED
Leon G FigeroaIndiaIoni Bowcher UNQUALIFIED
Isabel L FlosiItalyAsiya Javayant NEGOTIATION
Misaki U GauchoUnited KingdomAsiya Javayant UNQUALIFIED
Rodrigues J WieserJapanOnyama Limba QUALIFIED
Jones O RutaAustraliaAnna Fali NEW
Chavez U MaletUnited KingdomAnna Fali NEW
Deepesh M MacleadBrazilXuxue Feng QUALIFIED
Antonio G TollnerUnited KingdomElwin Sharvill NEW
Jeanfrancois C CaldareraJapanBernardo Dominic UNQUALIFIED
Greenwood J InouyeArgentinaElwin Sharvill NEW
David L RoysterSpainOnyama Limba UNQUALIFIED
Emily T IturbideAustraliaAsiya Javayant UNQUALIFIED
Alejandro X DarakjyCanadaOnyama Limba NEGOTIATION
Johnson N StockhamRussiaElwin Sharvill QUALIFIED
Francesco R CaldareraArgentinaStephen Shaw NEGOTIATION
Juan C DilliardArgentinaBernardo Dominic QUALIFIED
Faith M PaprockiFranceStephen Shaw NEW
Claire A SergiBrazilAnna Fali UNQUALIFIED
Antonio B DarakjyUnited KingdomIvan Magalhaes UNQUALIFIED
Izzy N BologniaBrazilXuxue Feng QUALIFIED
James C DoeAustraliaAmy Elsner UNQUALIFIED
Silvio J MaletFranceXuxue Feng RENEWAL
Salvatore V IturbideIndiaIoni Bowcher 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>