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
Nicolas B RulapaughIndiaIoni Bowcher NEW
Julie J FollerGermanyStephen Shaw NEGOTIATION
Leja O DarakjyArgentinaStephen Shaw UNQUALIFIED
Emily F SchemmerArgentinaIoni Bowcher PROPOSAL
Arvin Z MarrierIndiaBernardo Dominic RENEWAL
Aditya U FollerArgentinaAmy Elsner UNQUALIFIED
Julie K StockhamRussiaAsiya Javayant UNQUALIFIED
James R VenereFranceIvan Magalhaes NEGOTIATION
Wickens T MacleadUnited KingdomOnyama Limba UNQUALIFIED
Leja Z MacleadArgentinaAnna Fali NEGOTIATION
Faith Q WhobreyIndiaOnyama Limba NEW
Antonio L StockhamJapanAsiya Javayant PROPOSAL
Jeanfrancois W StensethFranceXuxue Feng NEW
Jennifer S WaycottJapanAnna Fali NEW
Mayumi I CampainGermanyBernardo Dominic NEW
Arvin G BowleyAustraliaElwin Sharvill PROPOSAL
Leja U PoquetteRussiaElwin Sharvill UNQUALIFIED
Francesco P PaprockiItalyOnyama Limba NEGOTIATION
Clifford O FigeroaBrazilIvan Magalhaes NEW
Leon Z PoquetteIndiaStephen Shaw PROPOSAL
Ricardo U ButtIndiaAnna Fali NEW
Cody M FigeroaGermanyIvan Magalhaes QUALIFIED
Salvatore L FlosiCanadaBernardo Dominic RENEWAL
Misaki D MarrierJapanAsiya Javayant QUALIFIED
Sinclair P KolmetzAustraliaAnna Fali QUALIFIED
Silvio Q IturbideIndiaXuxue Feng UNQUALIFIED
Cody V RoysterAustraliaXuxue Feng RENEWAL
Clifford C SaylorsItalyAnna Fali NEW
Kaitlin H GlickUnited KingdomIoni Bowcher NEGOTIATION
Emily E FlosiAustraliaAnna Fali RENEWAL
Jones W VocelkaBrazilElwin Sharvill PROPOSAL
Maisha S InouyeBrazilIoni Bowcher UNQUALIFIED
Juan Z NestleSpainAnna Fali NEW
Claire E MaletArgentinaElwin Sharvill QUALIFIED
Jennifer R AlbaresBrazilStephen Shaw NEW
Aruna R CaudyBrazilStephen Shaw NEGOTIATION
Jeanfrancois H RoysterBrazilAsiya Javayant RENEWAL
Jefferson U RimIndiaAnna Fali UNQUALIFIED
Costa I VenereItalyAnna Fali RENEWAL
Jefferson F BowleyJapanAnna Fali UNQUALIFIED
David F MacleadCanadaIvan Magalhaes RENEWAL
Faith X MaletArgentinaBernardo Dominic UNQUALIFIED
Francesco B ShinkoFranceIoni Bowcher RENEWAL
Claire X VocelkaFranceOnyama Limba NEW
Aruna P SchemmerIndiaAnna Fali QUALIFIED
Greenwood R PaprockiItalyOnyama Limba RENEWAL
Jefferson I MacleadArgentinaXuxue Feng RENEWAL
Rodrigues A InouyeFranceAmy Elsner PROPOSAL
Faith T FollerUnited KingdomStephen Shaw QUALIFIED
Rodrigues E KuskoItalyBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Ricardo J FigeroaAustraliaAmy Elsner NEW
Jones V StockhamBrazilAnna Fali NEGOTIATION
Ricardo P WaycottUnited KingdomBernardo Dominic UNQUALIFIED
Sinclair L DarakjyRussiaIoni Bowcher RENEWAL
Claire B RoysterCanadaAnna Fali PROPOSAL
Ricardo W GauchoAustraliaElwin Sharvill UNQUALIFIED
Smith I StensethIndiaXuxue Feng PROPOSAL
Clifford S GarufiRussiaXuxue Feng NEW
Greenwood S CampainFranceElwin Sharvill QUALIFIED
Maisha H CampainArgentinaAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja C OstroskyRussia2026-08-17Feltz Printing Service NEGOTIATION13Amy Elsner
1001Wickens R GlickAustralia2026-08-21Truhlar And Truhlar Attys RENEWAL92Bernardo Dominic
1002James E BriddickItaly2026-08-29Benton, John B Jr QUALIFIED64Anna Fali
1003Kadeem X PerinFrance2026-09-01Morlong Associates PROPOSAL55Xuxue Feng
1004Alejandro M NickaCanada2026-08-09Morlong Associates RENEWAL35Bernardo Dominic
1005Deepesh O StockhamBrazil2026-08-18King, Christopher A Esq PROPOSAL76Asiya Javayant
1006Silvio V AlbaresBrazil2026-08-31Morlong Associates PROPOSAL64Anna Fali
1007Chavez K BologniaSpain2026-08-28Chapman, Ross E Esq PROPOSAL80Onyama Limba
1008Antonio N WieserFrance2026-08-21Chapman, Ross E Esq PROPOSAL76Amy Elsner
1009Rodrigues K RutaItaly2026-08-23Buckley Miller Wright NEW22Asiya Javayant
1010Ricardo W FerenczRussia2026-08-10Printing Dimensions UNQUALIFIED34Onyama Limba
1011Leja X NestleRussia2026-08-05King, Christopher A Esq RENEWAL82Ivan Magalhaes
1012Jefferson H FlosiCanada2026-08-07Chanay, Jeffrey A Esq QUALIFIED56Xuxue Feng
1013Cody V RutaCanada2026-08-29Commercial Press NEGOTIATION3Asiya Javayant
1014Ivar Q IturbideGermany2026-08-26Printing Dimensions NEW96Amy Elsner
1015Adams P RulapaughSpain2026-08-18Rousseaux, Michael Esq QUALIFIED53Bernardo Dominic
1016Faith B GauchoFrance2026-08-16Chapman, Ross E Esq NEGOTIATION9Bernardo Dominic
1017Aditya K MarrierJapan2026-08-28Benton, John B Jr RENEWAL32Anna Fali
1018Sinclair O RulapaughCanada2026-08-17Morlong Associates UNQUALIFIED69Amy Elsner
1019Alejandro J RutaUnited Kingdom2026-08-18King, Christopher A Esq UNQUALIFIED16Onyama Limba
1020Jeanfrancois B CaudyFrance2026-08-21Dorl, James J Esq PROPOSAL8Onyama Limba
1021Smith C RutaArgentina2026-08-15Truhlar And Truhlar Attys UNQUALIFIED68Stephen Shaw
1022Juan N SaylorsSpain2026-08-31Chanay, Jeffrey A Esq NEGOTIATION75Xuxue Feng
1023Chavez Y StensethRussia2026-08-25Feiner Bros UNQUALIFIED98Ioni Bowcher
1024Misaki I NickaRussia2026-08-13Benton, John B Jr RENEWAL13Stephen Shaw
1025Aruna M AlbaresFrance2026-08-30Rousseaux, Michael Esq PROPOSAL42Elwin Sharvill
1026Deepesh M RoysterUnited Kingdom2026-08-30Rangoni Of Florence NEGOTIATION98Xuxue Feng
1027Aika G AlbaresJapan2026-08-28Chanay, Jeffrey A Esq NEGOTIATION41Bernardo Dominic
1028Sinclair Q PoquetteIndia2026-09-02Rangoni Of Florence RENEWAL92Amy Elsner
1029Greenwood U WieserJapan2026-08-16Dorl, James J Esq RENEWAL94Onyama Limba
1030Maria G MacleadBrazil2026-08-14Chapman, Ross E Esq NEGOTIATION80Bernardo Dominic
1031Costa G FollerUnited Kingdom2026-08-27Truhlar And Truhlar Attys NEGOTIATION6Elwin Sharvill
1032Arvin J MaletUnited Kingdom2026-08-11Dorl, James J Esq PROPOSAL14Elwin Sharvill
1033Chavez P OstroskyBrazil2026-08-31Dorl, James J Esq RENEWAL37Amy Elsner
1034Octavia J FollerAustralia2026-08-14Buckley Miller Wright NEW36Stephen Shaw
1035Darci M KolmetzArgentina2026-09-03Benton, John B Jr RENEWAL70Stephen Shaw
1036Munro U DilliardUnited Kingdom2026-08-06Chapman, Ross E Esq NEW59Ivan Magalhaes
1037Darci Y ButtItaly2026-08-24Benton, John B Jr QUALIFIED37Amy Elsner
1038Darci T KuskoIndia2026-08-06King, Christopher A Esq QUALIFIED39Xuxue Feng
1039Greenwood Z BowleyGermany2026-08-08Rousseaux, Michael Esq PROPOSAL95Stephen Shaw
1040Kaitlin E SchemmerArgentina2026-08-15Benton, John B Jr PROPOSAL49Ioni Bowcher
1041Wickens E GlickJapan2026-08-15Feiner Bros RENEWAL48Onyama Limba
1042Tony V DoeJapan2026-08-21Morlong Associates RENEWAL98Xuxue Feng
1043Ashley Z WaycottJapan2026-08-18Chanay, Jeffrey A Esq RENEWAL7Ioni Bowcher
1044Smith X SergiAustralia2026-08-19Truhlar And Truhlar Attys PROPOSAL36Stephen Shaw
1045Mayumi A FlosiJapan2026-08-14Feltz Printing Service RENEWAL19Stephen Shaw
1046James U IturbideArgentina2026-08-31Chemel, James L Cpa NEW11Ivan Magalhaes
1047Mayumi K StockhamJapan2026-08-10Commercial Press NEW9Bernardo Dominic
1048Costa R FerenczGermany2026-08-23Chemel, James L Cpa QUALIFIED79Amy Elsner
1049Jennifer A PaprockiAustralia2026-08-28Chanay, Jeffrey A Esq RENEWAL74Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Tony Q MacleadIndiaIoni Bowcher NEGOTIATION
Munro Z PerinCanadaXuxue Feng NEW
Greenwood J ShinkoIndiaAsiya Javayant NEGOTIATION
Ivar S ButtCanadaBernardo Dominic NEGOTIATION
Smith R SchemmerBrazilIoni Bowcher QUALIFIED
Silvio O FerenczJapanElwin Sharvill PROPOSAL
James L RimIndiaOnyama Limba QUALIFIED
Jones B GlickGermanyAsiya Javayant NEW
Cody P BowleyJapanElwin Sharvill UNQUALIFIED
Ivar U GillianAustraliaIoni Bowcher UNQUALIFIED
Claire S GillianRussiaAsiya Javayant RENEWAL
Octavia U AlbaresCanadaAnna Fali NEGOTIATION
Ashley E IturbideUnited KingdomXuxue Feng UNQUALIFIED
Ashley T DoeSpainXuxue Feng QUALIFIED
Johnson Z VocelkaJapanAmy Elsner UNQUALIFIED
Mujtaba E OstroskyGermanyIoni Bowcher RENEWAL
Mayumi F RulapaughUnited KingdomIoni Bowcher PROPOSAL
Ivar K GillianFranceIoni Bowcher UNQUALIFIED
Deepesh O PerinRussiaBernardo Dominic NEGOTIATION
Francesco B PerinGermanyAnna Fali NEW
Stacey R TollnerSpainOnyama Limba PROPOSAL
Claire E SaylorsFranceXuxue Feng NEW
Julie O MorascaBrazilAsiya Javayant NEW
Claire Q NickaGermanyElwin Sharvill UNQUALIFIED
Jeanfrancois L OstroskyFranceIoni Bowcher UNQUALIFIED
Izzy H CampainItalyElwin Sharvill NEGOTIATION
Clifford S FigeroaJapanAsiya Javayant NEGOTIATION
Nicolas J MaletJapanIoni Bowcher PROPOSAL
Misaki D GlickCanadaOnyama Limba NEW
Arvin D SchemmerFranceElwin Sharvill NEW
Alejandro H PaprockiRussiaStephen Shaw UNQUALIFIED
Leja M BowleySpainIoni Bowcher PROPOSAL
Kadeem J TollnerGermanyAnna Fali NEGOTIATION
Clifford D ChuiIndiaIvan Magalhaes UNQUALIFIED
Smith E GlickItalyOnyama Limba PROPOSAL
Alejandro W FerenczIndiaIvan Magalhaes NEGOTIATION
Adams M FerenczItalyAmy Elsner QUALIFIED
Arvin Z MorascaAustraliaBernardo Dominic UNQUALIFIED
Jennifer I VenereRussiaBernardo Dominic QUALIFIED
Claire M MaletItalyElwin Sharvill QUALIFIED
Wickens U OldroydFranceAsiya Javayant NEGOTIATION
Morrow L MarrierJapanAnna Fali QUALIFIED
Jones D NestleUnited KingdomAsiya Javayant UNQUALIFIED
Nicolas M OldroydCanadaIvan Magalhaes PROPOSAL
Smith X WhobreyGermanyElwin Sharvill RENEWAL
David H VocelkaSpainIoni Bowcher NEGOTIATION
Jefferson L DarakjySpainElwin Sharvill RENEWAL
Cody P FollerUnited KingdomAmy Elsner UNQUALIFIED
Claire O FerenczFranceElwin Sharvill NEGOTIATION
Deepesh Y SergiIndiaXuxue Feng PROPOSAL
Frozen Columns
Name
Sinclair V Chui
Mujtaba Y Inouye
Clifford C Kusko
Emily I Ferencz
Smith Y Garufi
Johnson M Garufi
Munro K Tollner
Emily X Sergi
Sinclair R Garufi
Arvin N Venere
Francesco C Amigon
Kaitlin K Maclead
Deepesh C Gaucho
Morrow Z Doe
Clifford M Stenseth
Kadeem J Gillian
Claire M Maclead
Aditya V Kusko
Smith N Stockham
Izzy Y Campain
Isabel F Briddick
Leon O Ostrosky
Aika C Venere
Ivar P Whobrey
Isabel P Dilliard
Jefferson N Slusarski
Jeanfrancois K Foller
Wickens O Bolognia
Darci R Venere
Jefferson N Foller
Faith R Gaucho
Chavez H Dilliard
James U Paprocki
Munro X Ostrosky
Faith T Ferencz
Greenwood H Whobrey
Jennifer Q Briddick
Aditya B Stockham
Wickens T Flosi
Jefferson S Paprocki
Juan I Kolmetz
Tony W Shinko
Cody F Foller
Leja N Malet
Izzy L Caldarera
Faith C Briddick
Smith G Malet
Faith K Gillian
David C Kusko
Aika Q Bolognia
IdCountryDate
1000India2026-08-16
1001Italy2026-08-25
1002Australia2026-08-12
1003Italy2026-08-24
1004France2026-08-12
1005India2026-08-09
1006Australia2026-09-03
1007Argentina2026-08-12
1008Canada2026-08-10
1009Canada2026-08-14
1010India2026-08-11
1011Spain2026-08-13
1012Russia2026-09-01
1013Brazil2026-08-19
1014Argentina2026-08-17
1015France2026-08-12
1016France2026-08-08
1017Japan2026-08-17
1018Russia2026-09-02
1019Brazil2026-08-30
1020Brazil2026-08-12
1021Japan2026-08-15
1022Brazil2026-08-14
1023Japan2026-08-05
1024Australia2026-08-06
1025Australia2026-09-01
1026Russia2026-08-05
1027United Kingdom2026-09-02
1028Canada2026-08-16
1029Canada2026-08-29
1030Italy2026-08-23
1031Japan2026-08-15
1032France2026-08-31
1033Australia2026-08-16
1034Italy2026-08-09
1035Argentina2026-08-22
1036Argentina2026-08-17
1037Spain2026-09-02
1038Japan2026-08-21
1039Spain2026-08-26
1040Japan2026-08-19
1041Canada2026-08-28
1042Brazil2026-08-14
1043Russia2026-08-24
1044Russia2026-08-20
1045Spain2026-08-13
1046Russia2026-08-08
1047United Kingdom2026-08-28
1048Australia2026-09-01
1049Brazil2026-09-03

On-Demand Data

NameIdCountryDate
Francesco T Flosi1000Italy2026-08-27
Claire W Saylors1001Argentina2026-08-17
Darci N Caldarera1002Italy2026-08-18
Izzy N Campain1003Canada2026-08-19
Ricardo D Ferencz1004India2026-08-24
James E Nestle1005Germany2026-08-18
Nicolas D Saylors1006United Kingdom2026-08-16
Chavez L Stockham1007Argentina2026-09-03
Maria R Bolognia1008Canada2026-08-07
Morrow L Garufi1009France2026-08-27
Jeanfrancois B Venere1010France2026-08-24
Jones X Glick1011France2026-08-28
David C Foller1012United Kingdom2026-08-06
Aika G Waycott1013France2026-08-18
Izzy A Caldarera1014Spain2026-08-17
Chavez H Briddick1015Germany2026-08-21
Antonio Q Briddick1016Japan2026-08-15
Costa T Amigon1017Argentina2026-08-25
Silvio S Flosi1018Australia2026-08-25
Ashley E Morasca1019Russia2026-08-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio N OstroskyItalyAmy Elsner NEW
Chavez U MaletBrazilOnyama Limba NEGOTIATION
Maisha V SergiSpainBernardo Dominic NEGOTIATION
Aditya B AmigonAustraliaElwin Sharvill NEGOTIATION
Cody Z VocelkaJapanAsiya Javayant QUALIFIED
Mayumi Y ChuiUnited KingdomOnyama Limba QUALIFIED
Rodrigues L MarrierGermanyIvan Magalhaes PROPOSAL
Arvin I WhobreyIndiaOnyama Limba NEGOTIATION
Mujtaba O StensethSpainOnyama Limba QUALIFIED
Smith S SaylorsArgentinaAnna Fali UNQUALIFIED
Clifford D DilliardUnited KingdomAsiya Javayant RENEWAL
Isabel K BowleyRussiaAsiya Javayant QUALIFIED
Smith V CaudyIndiaIvan Magalhaes NEW
Costa I PerinRussiaAnna Fali UNQUALIFIED
Ricardo U SlusarskiJapanIoni Bowcher QUALIFIED
Wickens F DarakjyGermanyElwin Sharvill UNQUALIFIED
Maria T AlbaresUnited KingdomAmy Elsner UNQUALIFIED
Ashley E MacleadRussiaAsiya Javayant UNQUALIFIED
Nicolas A RutaSpainIoni Bowcher NEW
Kadeem I BologniaGermanyIoni Bowcher UNQUALIFIED
Murillo P BowleyAustraliaOnyama Limba QUALIFIED
Leon W InouyeBrazilIvan Magalhaes UNQUALIFIED
Salvatore V IturbideSpainIvan Magalhaes NEW
Deepesh Y BowleyFranceStephen Shaw UNQUALIFIED
Jennifer M BologniaRussiaBernardo Dominic QUALIFIED
Leja O BologniaArgentinaIvan Magalhaes UNQUALIFIED
Johnson J SchemmerSpainIvan Magalhaes RENEWAL
Clifford T MaletBrazilIoni Bowcher QUALIFIED
Nicolas Y WhobreyGermanyBernardo Dominic PROPOSAL
Maisha D CaudyArgentinaIvan Magalhaes NEGOTIATION
Antonio R RoysterAustraliaAsiya Javayant UNQUALIFIED
Rodrigues L VenereGermanyBernardo Dominic NEW
Clifford W RulapaughBrazilOnyama Limba UNQUALIFIED
Kaitlin F FlosiBrazilAnna Fali NEW
Octavia E KuskoSpainAmy Elsner UNQUALIFIED
Munro V ChuiFranceBernardo Dominic RENEWAL
Ricardo Q DoeJapanIoni Bowcher PROPOSAL
Arvin W KuskoJapanStephen Shaw NEW
Cody U FollerRussiaAnna Fali RENEWAL
Arvin R AlbaresItalyOnyama Limba PROPOSAL

<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>