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
Leon T DilliardItalyAsiya Javayant PROPOSAL
Kaitlin M WhobreySpainAsiya Javayant NEGOTIATION
Aditya X KolmetzBrazilElwin Sharvill NEGOTIATION
Mujtaba N RoysterGermanyIvan Magalhaes NEW
Emily X PaprockiRussiaAsiya Javayant NEW
Stacey A FerenczBrazilBernardo Dominic UNQUALIFIED
Juan Z IturbideIndiaAnna Fali UNQUALIFIED
Rodrigues N MarrierUnited KingdomAnna Fali QUALIFIED
Stacey Q GillianJapanAmy Elsner UNQUALIFIED
Leja D RimFranceAmy Elsner NEW
Isabel B StensethAustraliaStephen Shaw PROPOSAL
Antonio P OldroydArgentinaAnna Fali NEW
Emily M StensethJapanStephen Shaw PROPOSAL
Ricardo W OldroydJapanXuxue Feng NEGOTIATION
Wickens M WhobreyFranceAsiya Javayant NEGOTIATION
Greenwood V CaldareraAustraliaAmy Elsner NEGOTIATION
Silvio K StensethJapanAmy Elsner NEGOTIATION
Morrow Q SchemmerSpainAnna Fali RENEWAL
Aika I FollerRussiaElwin Sharvill PROPOSAL
Jeanfrancois F MorascaItalyIoni Bowcher QUALIFIED
Darci B GlickGermanyOnyama Limba RENEWAL
Francesco A SergiSpainAsiya Javayant NEGOTIATION
Maisha H MaletFranceStephen Shaw PROPOSAL
Alejandro S RutaJapanIoni Bowcher PROPOSAL
Adams B PaprockiSpainXuxue Feng RENEWAL
Jefferson V InouyeUnited KingdomAsiya Javayant NEW
Mayumi L SergiSpainStephen Shaw UNQUALIFIED
Stacey K DilliardFranceAnna Fali RENEWAL
Mayumi P DoeAustraliaIvan Magalhaes NEGOTIATION
Clifford L WhobreyAustraliaAnna Fali RENEWAL
Jefferson O AlbaresSpainElwin Sharvill RENEWAL
Leon N ChuiBrazilIoni Bowcher QUALIFIED
Silvio L KolmetzItalyBernardo Dominic UNQUALIFIED
Nicolas S MarrierSpainElwin Sharvill NEW
Ricardo C RimArgentinaAnna Fali UNQUALIFIED
Ivar T CampainIndiaStephen Shaw QUALIFIED
Misaki K RimIndiaOnyama Limba NEW
Clifford N StensethSpainIoni Bowcher PROPOSAL
Murillo Z AmigonIndiaOnyama Limba NEGOTIATION
Clifford F VocelkaGermanyElwin Sharvill RENEWAL
Octavia T OldroydUnited KingdomXuxue Feng PROPOSAL
Aditya L BowleyItalyOnyama Limba QUALIFIED
Antonio H SergiBrazilStephen Shaw NEW
Maisha Y GlickBrazilOnyama Limba PROPOSAL
Smith S BowleySpainAnna Fali NEW
Munro Z BowleyArgentinaElwin Sharvill PROPOSAL
Leon V ButtCanadaAmy Elsner PROPOSAL
Rodrigues B InouyeGermanyAmy Elsner QUALIFIED
Arvin B WaycottAustraliaAnna Fali UNQUALIFIED
Juan Y VenereItalyXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Maria M SaylorsBrazilIvan Magalhaes PROPOSAL
Clifford T RimArgentinaBernardo Dominic NEGOTIATION
Munro L MorascaFranceAsiya Javayant NEW
James H VenereBrazilXuxue Feng NEGOTIATION
Salvatore O RutaAustraliaBernardo Dominic NEW
Greenwood E MorascaArgentinaXuxue Feng PROPOSAL
Deepesh B OstroskyJapanAsiya Javayant UNQUALIFIED
Faith B NickaAustraliaAmy Elsner PROPOSAL
Leon C VenereAustraliaAnna Fali PROPOSAL
Costa K RoysterItalyAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens K RoysterAustralia2025-05-31Morlong Associates RENEWAL73Bernardo Dominic
1001Munro X GillianCanada2025-06-13Rousseaux, Michael Esq PROPOSAL5Amy Elsner
1002Deepesh F ButtRussia2025-06-04Chapman, Ross E Esq NEGOTIATION97Onyama Limba
1003Tony U GarufiUnited Kingdom2025-06-14Chanay, Jeffrey A Esq RENEWAL47Elwin Sharvill
1004Ricardo C ButtAustralia2025-06-07Commercial Press RENEWAL35Elwin Sharvill
1005Sinclair A MorascaItaly2025-06-06Chemel, James L Cpa NEGOTIATION67Xuxue Feng
1006Tony E CaldareraArgentina2025-05-24Morlong Associates PROPOSAL15Xuxue Feng
1007Deepesh X PoquetteIndia2025-06-03Chanay, Jeffrey A Esq RENEWAL77Asiya Javayant
1008Kaitlin Z ShinkoGermany2025-05-29Printing Dimensions RENEWAL90Bernardo Dominic
1009Izzy I DarakjySpain2025-06-11Rousseaux, Michael Esq RENEWAL76Elwin Sharvill
1010Greenwood S RulapaughCanada2025-06-13Morlong Associates NEW57Ioni Bowcher
1011Cody Z StensethJapan2025-05-28Buckley Miller Wright PROPOSAL29Stephen Shaw
1012Clifford O CaldareraBrazil2025-06-01Chanay, Jeffrey A Esq UNQUALIFIED16Xuxue Feng
1013Maria V RoysterArgentina2025-06-02King, Christopher A Esq NEW14Anna Fali
1014Murillo A FerenczRussia2025-05-19Feltz Printing Service RENEWAL30Asiya Javayant
1015Francesco Z DoeArgentina2025-05-30Printing Dimensions NEGOTIATION94Elwin Sharvill
1016Sinclair E ShinkoArgentina2025-05-27Feiner Bros NEGOTIATION72Stephen Shaw
1017Kaitlin R WhobreyUnited Kingdom2025-06-14Chanay, Jeffrey A Esq RENEWAL75Elwin Sharvill
1018Francesco D PaprockiJapan2025-06-02Printing Dimensions NEW21Ioni Bowcher
1019James F PaprockiRussia2025-05-19Commercial Press RENEWAL12Amy Elsner
1020Deepesh T RimSpain2025-05-28Feiner Bros NEW98Ivan Magalhaes
1021Juan S ButtRussia2025-05-19Buckley Miller Wright PROPOSAL61Asiya Javayant
1022Claire W PaprockiItaly2025-06-10Rousseaux, Michael Esq QUALIFIED88Ivan Magalhaes
1023Ashley P WhobreyItaly2025-05-29Feltz Printing Service NEW59Bernardo Dominic
1024Misaki L KuskoIndia2025-06-10King, Christopher A Esq UNQUALIFIED56Stephen Shaw
1025Wickens C PaprockiGermany2025-05-23Rousseaux, Michael Esq NEW91Elwin Sharvill
1026Jefferson W MaletRussia2025-06-16Benton, John B Jr NEW67Asiya Javayant
1027Cody D BologniaAustralia2025-06-13Feltz Printing Service NEW20Asiya Javayant
1028Alejandro Y ChuiBrazil2025-06-10Morlong Associates NEGOTIATION95Stephen Shaw
1029Maisha H GauchoCanada2025-05-23Feiner Bros PROPOSAL48Xuxue Feng
1030Misaki C BologniaFrance2025-06-11Feiner Bros NEW35Elwin Sharvill
1031Arvin T OstroskyRussia2025-06-05Chemel, James L Cpa RENEWAL40Anna Fali
1032Alejandro Z InouyeAustralia2025-06-12Truhlar And Truhlar Attys RENEWAL84Onyama Limba
1033Octavia E RoysterUnited Kingdom2025-05-28Buckley Miller Wright QUALIFIED60Anna Fali
1034Silvio C RutaIndia2025-06-04Buckley Miller Wright NEW34Onyama Limba
1035Kadeem Y WhobreyUnited Kingdom2025-05-21Truhlar And Truhlar Attys NEGOTIATION92Ivan Magalhaes
1036Alejandro D KolmetzUnited Kingdom2025-06-12Chemel, James L Cpa RENEWAL17Asiya Javayant
1037Jeanfrancois C DilliardIndia2025-05-31Chanay, Jeffrey A Esq RENEWAL15Asiya Javayant
1038Izzy P BowleyRussia2025-05-25Truhlar And Truhlar Attys NEW70Elwin Sharvill
1039Ivar C CampainIndia2025-06-11Chapman, Ross E Esq QUALIFIED0Ioni Bowcher
1040Mayumi G PoquetteSpain2025-06-02King, Christopher A Esq QUALIFIED82Stephen Shaw
1041Izzy L CaldareraSpain2025-06-12Truhlar And Truhlar Attys NEGOTIATION88Onyama Limba
1042Jeanfrancois S MaletUnited Kingdom2025-05-30Chanay, Jeffrey A Esq PROPOSAL64Onyama Limba
1043Maria W FollerFrance2025-06-06Benton, John B Jr QUALIFIED7Ivan Magalhaes
1044Silvio E BriddickJapan2025-05-19Feltz Printing Service UNQUALIFIED45Amy Elsner
1045Ivar S PerinAustralia2025-05-22Benton, John B Jr UNQUALIFIED88Stephen Shaw
1046Silvio C MaletGermany2025-06-12Feltz Printing Service PROPOSAL35Bernardo Dominic
1047Clifford K PerinArgentina2025-06-05Commercial Press UNQUALIFIED2Stephen Shaw
1048Misaki G StensethItaly2025-05-23King, Christopher A Esq QUALIFIED69Stephen Shaw
1049Darci Y ChuiItaly2025-05-18Printing Dimensions PROPOSAL86Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Emily R WieserGermanyStephen Shaw PROPOSAL
Johnson W OldroydBrazilOnyama Limba PROPOSAL
Aika T CaldareraJapanAmy Elsner NEGOTIATION
Jeanfrancois K RulapaughUnited KingdomStephen Shaw NEW
Sinclair H ButtRussiaOnyama Limba NEGOTIATION
Maisha G GillianArgentinaAmy Elsner NEW
Julie U StensethJapanElwin Sharvill QUALIFIED
Leja I SchemmerBrazilOnyama Limba RENEWAL
Wickens H BowleyJapanXuxue Feng PROPOSAL
Misaki P TollnerArgentinaStephen Shaw UNQUALIFIED
Ashley X ChuiIndiaIoni Bowcher QUALIFIED
Greenwood W PerinFranceAnna Fali QUALIFIED
Leon A BowleyUnited KingdomAnna Fali UNQUALIFIED
Ivar K PerinUnited KingdomOnyama Limba NEW
Sinclair F KolmetzAustraliaAmy Elsner NEGOTIATION
Wickens N BriddickGermanyOnyama Limba PROPOSAL
Ricardo L SaylorsRussiaElwin Sharvill NEGOTIATION
Morrow I RulapaughAustraliaBernardo Dominic QUALIFIED
Izzy R CaldareraSpainXuxue Feng PROPOSAL
Kaitlin X FlosiBrazilElwin Sharvill UNQUALIFIED
Jones Y StockhamRussiaAnna Fali UNQUALIFIED
Alejandro F FigeroaIndiaOnyama Limba NEGOTIATION
Johnson W StockhamFranceBernardo Dominic UNQUALIFIED
Salvatore H DarakjyCanadaAnna Fali NEGOTIATION
Kaitlin N VocelkaBrazilOnyama Limba UNQUALIFIED
Mayumi V SaylorsGermanyIvan Magalhaes PROPOSAL
Antonio K MaletGermanyAmy Elsner PROPOSAL
Adams T MorascaItalyXuxue Feng UNQUALIFIED
Izzy S MaletRussiaAnna Fali RENEWAL
Jeanfrancois I RulapaughIndiaIoni Bowcher NEGOTIATION
Rodrigues B FigeroaCanadaXuxue Feng QUALIFIED
Wickens B KuskoArgentinaAsiya Javayant PROPOSAL
Tony Z WhobreyArgentinaIoni Bowcher NEW
Ricardo B OldroydIndiaAsiya Javayant NEGOTIATION
Juan Y VocelkaGermanyAmy Elsner RENEWAL
Johnson G RimUnited KingdomElwin Sharvill NEGOTIATION
Tony B NickaGermanyAsiya Javayant UNQUALIFIED
Faith D RoysterBrazilOnyama Limba NEW
Mayumi O FigeroaSpainAnna Fali RENEWAL
Clifford E PaprockiGermanyXuxue Feng UNQUALIFIED
Aika J FlosiItalyIvan Magalhaes NEW
Francesco I OstroskyItalyBernardo Dominic NEW
Clifford O KolmetzRussiaOnyama Limba QUALIFIED
Aika M RutaJapanIoni Bowcher NEGOTIATION
James T CampainItalyAnna Fali QUALIFIED
Cody Q FigeroaBrazilIoni Bowcher NEGOTIATION
Costa M MacleadSpainElwin Sharvill QUALIFIED
Rodrigues U NestleIndiaIvan Magalhaes NEW
Mujtaba V TollnerRussiaAsiya Javayant PROPOSAL
Murillo W GlickJapanBernardo Dominic RENEWAL
Frozen Columns
Name
Nicolas Y Figeroa
Jeanfrancois C Stenseth
James K Campain
Jeanfrancois S Bowley
Clifford I Caudy
Nicolas K Stenseth
Mujtaba O Rim
Aditya C Caldarera
Kaitlin C Foller
Johnson W Dilliard
Octavia Y Gillian
Francesco X Waycott
Rodrigues A Shinko
Kaitlin K Marrier
Maisha W Dilliard
Leja E Bowley
Stacey O Bolognia
Sinclair O Slusarski
Kadeem H Nestle
Kadeem X Stockham
Julie Q Shinko
Darci U Caldarera
Silvio U Campain
Mujtaba X Shinko
Izzy Q Kolmetz
Mayumi K Malet
Izzy C Venere
Jeanfrancois H Iturbide
Stacey O Gillian
Ricardo H Rim
Rodrigues Q Campain
Faith F Rulapaugh
Johnson H Oldroyd
Rodrigues N Ferencz
Aruna P Rulapaugh
Murillo P Rulapaugh
Antonio T Caudy
Aruna L Albares
Leon J Albares
Morrow N Briddick
Maria R Sergi
Maisha B Darakjy
Jones F Marrier
Chavez L Kolmetz
David L Glick
Aika O Oldroyd
Juan C Venere
Claire Z Gillian
Deepesh A Marrier
Clifford P Campain
IdCountryDate
1000Canada2025-06-05
1001Argentina2025-05-27
1002Italy2025-05-26
1003Japan2025-05-24
1004Australia2025-05-25
1005Australia2025-06-04
1006Italy2025-06-12
1007United Kingdom2025-06-02
1008France2025-06-05
1009Germany2025-05-28
1010Spain2025-06-06
1011Canada2025-05-29
1012Italy2025-06-06
1013United Kingdom2025-06-06
1014India2025-06-08
1015Russia2025-05-26
1016France2025-05-23
1017Japan2025-06-08
1018Japan2025-06-10
1019Japan2025-06-16
1020United Kingdom2025-05-23
1021Japan2025-06-06
1022Argentina2025-06-08
1023Australia2025-05-27
1024United Kingdom2025-05-21
1025Canada2025-05-18
1026United Kingdom2025-05-20
1027Germany2025-06-09
1028Germany2025-06-09
1029Russia2025-05-26
1030Germany2025-05-30
1031United Kingdom2025-06-16
1032Japan2025-06-02
1033Brazil2025-06-12
1034Argentina2025-05-27
1035Australia2025-06-15
1036Russia2025-06-09
1037Germany2025-05-26
1038Argentina2025-05-18
1039Spain2025-06-12
1040United Kingdom2025-06-01
1041Russia2025-05-26
1042Germany2025-06-10
1043Germany2025-05-20
1044Australia2025-06-15
1045Australia2025-05-19
1046United Kingdom2025-05-21
1047United Kingdom2025-05-20
1048Spain2025-06-16
1049Japan2025-05-29

On-Demand Data

NameIdCountryDate
Aruna J Nicka1000Australia2025-05-29
Julie M Slusarski1001Japan2025-06-08
Clifford Y Butt1002Canada2025-06-15
Clifford Q Glick1003Italy2025-06-13
Salvatore E Amigon1004France2025-06-01
Jones Z Amigon1005Brazil2025-05-22
Smith I Paprocki1006Argentina2025-05-27
Ashley S Campain1007Spain2025-06-04
Izzy A Sergi1008United Kingdom2025-05-18
Maisha N Perin1009Russia2025-06-09
Maisha Z Flosi1010Germany2025-06-05
Smith O Waycott1011Brazil2025-05-29
Ashley Z Maclead1012Brazil2025-06-16
Nicolas V Campain1013Japan2025-06-12
Salvatore P Garufi1014Spain2025-05-28
Rodrigues N Gaucho1015Canada2025-05-27
Claire Q Nicka1016Argentina2025-05-24
Faith W Flosi1017Argentina2025-06-11
Jeanfrancois E Royster1018Russia2025-06-16
Rodrigues Y Tollner1019India2025-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens L GauchoRussiaElwin Sharvill NEGOTIATION
Maisha B FollerRussiaStephen Shaw PROPOSAL
Greenwood B FollerUnited KingdomStephen Shaw NEGOTIATION
Kaitlin O NestleRussiaStephen Shaw NEGOTIATION
Aditya P GarufiJapanStephen Shaw NEGOTIATION
Deepesh I MacleadBrazilXuxue Feng PROPOSAL
Ricardo S KolmetzRussiaIoni Bowcher RENEWAL
Ashley Z SchemmerIndiaAnna Fali UNQUALIFIED
Antonio J MaletArgentinaAnna Fali UNQUALIFIED
Alejandro S PoquetteSpainAsiya Javayant PROPOSAL
Aruna C FlosiGermanyElwin Sharvill PROPOSAL
James O DarakjyCanadaBernardo Dominic QUALIFIED
James Y CampainRussiaIvan Magalhaes PROPOSAL
Octavia W NestleGermanyOnyama Limba NEGOTIATION
Isabel Z MacleadCanadaOnyama Limba RENEWAL
Antonio K NestleIndiaIvan Magalhaes RENEWAL
Jeanfrancois K CaldareraFranceAsiya Javayant PROPOSAL
Emily T PoquetteSpainAsiya Javayant NEW
Mujtaba V NickaItalyOnyama Limba PROPOSAL
Ivar S StensethArgentinaIoni Bowcher QUALIFIED
Stacey V MaletCanadaAnna Fali RENEWAL
Salvatore J OstroskyBrazilAsiya Javayant QUALIFIED
Francesco M ShinkoRussiaIoni Bowcher RENEWAL
Nicolas Y PoquetteFranceBernardo Dominic QUALIFIED
Faith Z MarrierBrazilIoni Bowcher NEW
Ricardo F RimAustraliaBernardo Dominic RENEWAL
Deepesh X RoysterBrazilElwin Sharvill NEGOTIATION
Nicolas I RoysterJapanIvan Magalhaes RENEWAL
Stacey Z AmigonRussiaOnyama Limba RENEWAL
Aditya B SlusarskiBrazilAnna Fali RENEWAL
Clifford D DilliardIndiaElwin Sharvill RENEWAL
Tony Q DilliardJapanBernardo Dominic QUALIFIED
Salvatore P OldroydGermanyElwin Sharvill QUALIFIED
Isabel W SaylorsItalyIvan Magalhaes RENEWAL
Misaki M WaycottGermanyAnna Fali NEW
Mayumi A FlosiUnited KingdomStephen Shaw QUALIFIED
Nicolas Y MaletCanadaIoni Bowcher QUALIFIED
Maria P BologniaItalyElwin Sharvill RENEWAL
Emily V CaldareraItalyAnna Fali UNQUALIFIED
Mayumi U StensethItalyAmy Elsner 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>