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
Jones W PaprockiRussiaBernardo Dominic PROPOSAL
Sinclair T IturbideAustraliaAsiya Javayant QUALIFIED
Rodrigues I TollnerFranceBernardo Dominic NEGOTIATION
Misaki X SaylorsRussiaIoni Bowcher QUALIFIED
Morrow F NestleGermanyElwin Sharvill NEGOTIATION
Isabel Q WieserJapanAmy Elsner RENEWAL
Kaitlin M VocelkaJapanIoni Bowcher QUALIFIED
Silvio K GillianJapanAmy Elsner PROPOSAL
Jefferson B DilliardRussiaStephen Shaw RENEWAL
Silvio L WieserIndiaIvan Magalhaes QUALIFIED
Sinclair D DoeJapanIvan Magalhaes QUALIFIED
Sinclair T RutaIndiaXuxue Feng NEGOTIATION
Silvio A ButtSpainAnna Fali NEW
Faith P OldroydSpainAnna Fali RENEWAL
Isabel G VocelkaUnited KingdomAsiya Javayant NEW
Claire W TollnerUnited KingdomStephen Shaw PROPOSAL
Izzy Z SchemmerAustraliaElwin Sharvill RENEWAL
Arvin J SaylorsGermanyAmy Elsner NEW
Munro L DilliardCanadaAnna Fali UNQUALIFIED
Munro O PaprockiItalyStephen Shaw NEGOTIATION
Darci I RoysterSpainXuxue Feng UNQUALIFIED
Rodrigues G AlbaresGermanyAsiya Javayant QUALIFIED
Maria X DoeUnited KingdomBernardo Dominic UNQUALIFIED
Mayumi E AlbaresJapanIvan Magalhaes RENEWAL
Aruna Q GauchoCanadaAnna Fali PROPOSAL
Francesco Z PaprockiJapanXuxue Feng PROPOSAL
Antonio V SchemmerArgentinaXuxue Feng QUALIFIED
Arvin Q RoysterCanadaBernardo Dominic QUALIFIED
Sinclair T MarrierRussiaAnna Fali QUALIFIED
Antonio A CampainCanadaIvan Magalhaes PROPOSAL
Emily A IturbideSpainBernardo Dominic QUALIFIED
Deepesh M WaycottItalyOnyama Limba QUALIFIED
Wickens V ChuiJapanBernardo Dominic RENEWAL
Sinclair P NickaUnited KingdomIvan Magalhaes NEW
Clifford F SchemmerItalyElwin Sharvill RENEWAL
Aditya Y SergiAustraliaStephen Shaw UNQUALIFIED
Nicolas M DilliardUnited KingdomIoni Bowcher NEW
Kadeem E GillianArgentinaStephen Shaw NEGOTIATION
Leon R TollnerIndiaIoni Bowcher PROPOSAL
Arvin T ButtArgentinaAsiya Javayant PROPOSAL
Ashley M PaprockiItalyAmy Elsner NEGOTIATION
Greenwood S MarrierJapanIvan Magalhaes RENEWAL
Julie O DarakjyBrazilAnna Fali QUALIFIED
Aika C GauchoSpainStephen Shaw NEGOTIATION
Jefferson A RoysterBrazilAmy Elsner NEGOTIATION
Alejandro O ShinkoFranceAsiya Javayant QUALIFIED
Juan O MacleadIndiaIoni Bowcher NEW
Faith A BriddickIndiaIvan Magalhaes NEW
Morrow Q VenereBrazilStephen Shaw NEW
Nicolas Q VocelkaFranceXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Deepesh T SergiCanadaElwin Sharvill NEW
Smith A StockhamSpainIvan Magalhaes NEW
Chavez D SergiFranceStephen Shaw UNQUALIFIED
Mujtaba R AmigonArgentinaIvan Magalhaes NEW
Adams W SlusarskiArgentinaIoni Bowcher NEGOTIATION
Aruna L DilliardJapanAnna Fali UNQUALIFIED
Kadeem E DarakjyRussiaElwin Sharvill NEGOTIATION
Morrow D PoquetteSpainAnna Fali RENEWAL
Stacey D SaylorsAustraliaElwin Sharvill RENEWAL
Darci B DarakjyCanadaAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha Z ChuiCanada2026-07-29Rangoni Of Florence NEW39Bernardo Dominic
1001Juan B GillianJapan2026-07-31Buckley Miller Wright UNQUALIFIED80Stephen Shaw
1002Mujtaba H CampainUnited Kingdom2026-07-15Feiner Bros QUALIFIED49Asiya Javayant
1003David D OstroskyGermany2026-07-13King, Christopher A Esq QUALIFIED81Elwin Sharvill
1004Jefferson W StensethJapan2026-07-17King, Christopher A Esq NEGOTIATION18Ivan Magalhaes
1005Nicolas C FerenczIndia2026-08-08Chemel, James L Cpa RENEWAL26Elwin Sharvill
1006Darci U CaudySpain2026-08-03Rangoni Of Florence QUALIFIED25Amy Elsner
1007Smith A RimItaly2026-07-26Feltz Printing Service NEGOTIATION6Elwin Sharvill
1008Jennifer H SchemmerGermany2026-07-26Buckley Miller Wright QUALIFIED8Onyama Limba
1009Francesco Z MaletJapan2026-08-07Feiner Bros QUALIFIED42Anna Fali
1010Greenwood T FlosiIndia2026-07-14Chanay, Jeffrey A Esq RENEWAL93Ioni Bowcher
1011Jefferson K OstroskyGermany2026-08-09Chanay, Jeffrey A Esq NEW48Xuxue Feng
1012Ivar E IturbideRussia2026-07-19Chapman, Ross E Esq NEW72Xuxue Feng
1013Misaki J MacleadIndia2026-08-04Feiner Bros PROPOSAL88Xuxue Feng
1014Tony E DilliardItaly2026-07-24Benton, John B Jr PROPOSAL90Asiya Javayant
1015Arvin E DoeArgentina2026-08-03Chemel, James L Cpa NEW77Xuxue Feng
1016Leon R PerinCanada2026-07-25Morlong Associates NEW11Bernardo Dominic
1017Claire Y RoysterBrazil2026-07-22Truhlar And Truhlar Attys RENEWAL38Anna Fali
1018Deepesh Y RutaCanada2026-08-11Rousseaux, Michael Esq NEGOTIATION42Amy Elsner
1019Isabel D DilliardFrance2026-07-21Commercial Press UNQUALIFIED79Ivan Magalhaes
1020Mujtaba I KolmetzIndia2026-08-05Morlong Associates QUALIFIED51Ivan Magalhaes
1021Costa J FollerGermany2026-07-24Morlong Associates PROPOSAL58Xuxue Feng
1022Claire D MacleadRussia2026-07-27Feltz Printing Service NEGOTIATION91Bernardo Dominic
1023Costa Z BowleyJapan2026-07-27Benton, John B Jr NEW84Stephen Shaw
1024Arvin V SlusarskiFrance2026-07-27Commercial Press UNQUALIFIED24Onyama Limba
1025Isabel O BriddickIndia2026-07-25Dorl, James J Esq UNQUALIFIED14Anna Fali
1026James R KuskoFrance2026-08-01Truhlar And Truhlar Attys RENEWAL25Stephen Shaw
1027Juan U KolmetzSpain2026-08-07King, Christopher A Esq NEGOTIATION42Ioni Bowcher
1028Chavez F SchemmerItaly2026-07-28Rousseaux, Michael Esq RENEWAL4Elwin Sharvill
1029Morrow U CaudyGermany2026-08-05Chapman, Ross E Esq UNQUALIFIED89Anna Fali
1030Alejandro F DilliardSpain2026-07-25King, Christopher A Esq PROPOSAL32Stephen Shaw
1031Emily D PoquetteFrance2026-07-30Commercial Press PROPOSAL80Ivan Magalhaes
1032Maisha Q MarrierItaly2026-07-18Dorl, James J Esq PROPOSAL27Xuxue Feng
1033Jennifer K MacleadBrazil2026-07-29Printing Dimensions QUALIFIED69Xuxue Feng
1034Alejandro F OldroydSpain2026-07-23Feltz Printing Service PROPOSAL94Onyama Limba
1035Izzy D BologniaArgentina2026-07-24Rangoni Of Florence RENEWAL88Anna Fali
1036Jennifer V MorascaArgentina2026-08-08Printing Dimensions QUALIFIED3Anna Fali
1037Izzy K ShinkoRussia2026-08-08King, Christopher A Esq NEW28Anna Fali
1038Stacey S GarufiArgentina2026-08-06Commercial Press NEW61Elwin Sharvill
1039Stacey O ButtItaly2026-08-10Morlong Associates NEW50Anna Fali
1040David Y PoquetteGermany2026-07-24Dorl, James J Esq QUALIFIED24Asiya Javayant
1041Maisha B ShinkoCanada2026-08-09Dorl, James J Esq PROPOSAL92Xuxue Feng
1042Francesco P KuskoArgentina2026-08-09Truhlar And Truhlar Attys NEW87Amy Elsner
1043Alejandro W OldroydUnited Kingdom2026-08-11Feiner Bros UNQUALIFIED78Elwin Sharvill
1044Morrow C IturbideRussia2026-08-03Chanay, Jeffrey A Esq PROPOSAL83Bernardo Dominic
1045Juan U FigeroaIndia2026-07-22Feltz Printing Service NEW65Elwin Sharvill
1046Misaki V IturbideJapan2026-08-03Feltz Printing Service QUALIFIED76Asiya Javayant
1047Faith Z PerinBrazil2026-08-02Benton, John B Jr PROPOSAL28Ivan Magalhaes
1048Silvio E NickaBrazil2026-08-02Chapman, Ross E Esq PROPOSAL40Anna Fali
1049Arvin O FerenczAustralia2026-08-06Chapman, Ross E Esq NEW65Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Maisha U SaylorsItalyBernardo Dominic QUALIFIED
Arvin I NickaSpainAsiya Javayant PROPOSAL
Faith M RimAustraliaStephen Shaw UNQUALIFIED
Aditya H ChuiJapanAnna Fali PROPOSAL
Adams O MacleadCanadaXuxue Feng RENEWAL
Julie D DilliardCanadaIoni Bowcher RENEWAL
Adams W AmigonSpainOnyama Limba RENEWAL
Sinclair O ShinkoRussiaOnyama Limba QUALIFIED
Tony X StockhamFranceAnna Fali PROPOSAL
Octavia K TollnerGermanyAmy Elsner PROPOSAL
Chavez N StockhamCanadaBernardo Dominic NEW
Julie K PoquetteCanadaStephen Shaw QUALIFIED
Nicolas T GarufiArgentinaAnna Fali QUALIFIED
Smith T BowleyGermanyStephen Shaw NEGOTIATION
Faith S PerinRussiaAnna Fali RENEWAL
Jones J SchemmerUnited KingdomAsiya Javayant NEGOTIATION
Izzy U SlusarskiIndiaAnna Fali NEW
Jeanfrancois Q GauchoAustraliaAmy Elsner NEW
James T OstroskyUnited KingdomAmy Elsner RENEWAL
Clifford L IturbideSpainAnna Fali NEW
Nicolas J DarakjyFranceAmy Elsner PROPOSAL
Clifford C CampainFranceAsiya Javayant NEW
Kaitlin A MorascaSpainAnna Fali NEGOTIATION
James V FigeroaSpainXuxue Feng QUALIFIED
Leon L FigeroaJapanStephen Shaw QUALIFIED
Adams Z RimJapanStephen Shaw UNQUALIFIED
Jefferson C InouyeAustraliaAnna Fali NEW
Adams V CaldareraBrazilAnna Fali PROPOSAL
Johnson A WhobreyFranceXuxue Feng RENEWAL
Stacey X FollerBrazilAmy Elsner QUALIFIED
David L FigeroaArgentinaAsiya Javayant PROPOSAL
Ricardo P ChuiSpainOnyama Limba PROPOSAL
Maisha L SergiGermanyIoni Bowcher UNQUALIFIED
James H FollerCanadaAsiya Javayant PROPOSAL
Cody O MorascaRussiaIoni Bowcher QUALIFIED
Stacey R SaylorsRussiaAsiya Javayant RENEWAL
Ivar Q NickaJapanIoni Bowcher QUALIFIED
Juan D SergiGermanyAsiya Javayant PROPOSAL
Leon B PoquetteFranceElwin Sharvill UNQUALIFIED
Emily W RutaJapanStephen Shaw RENEWAL
Nicolas L SchemmerItalyAnna Fali NEGOTIATION
Maria M CaudyRussiaElwin Sharvill NEW
Morrow L DilliardGermanyAmy Elsner UNQUALIFIED
Mujtaba D GauchoSpainIoni Bowcher UNQUALIFIED
Arvin U SchemmerFranceXuxue Feng QUALIFIED
Chavez Z GauchoRussiaElwin Sharvill NEGOTIATION
Adams L RutaUnited KingdomXuxue Feng NEW
Silvio N VocelkaSpainBernardo Dominic PROPOSAL
Ashley A RoysterFranceAmy Elsner UNQUALIFIED
Clifford Y GillianAustraliaBernardo Dominic NEW
Frozen Columns
Name
Aika N Perin
Wickens H Ostrosky
Antonio P Inouye
Ivar R Iturbide
Izzy Q Morasca
Faith D Stenseth
Murillo F Shinko
Octavia P Ruta
Octavia Z Kusko
Misaki K Darakjy
Maisha J Nicka
Antonio V Amigon
Octavia H Perin
David Z Wieser
Kadeem P Ruta
David D Oldroyd
Maria G Ruta
Aditya A Ruta
Tony M Stenseth
Murillo K Perin
Greenwood B Amigon
Alejandro O Caudy
Stacey E Rim
Sinclair Q Gaucho
Greenwood J Whobrey
Alejandro W Slusarski
Juan H Campain
Chavez I Saylors
Ivar P Foller
Morrow W Rim
Adams O Royster
Mayumi I Glick
Aika C Perin
Smith X Gillian
Antonio N Perin
Murillo C Amigon
Ashley A Poquette
Nicolas B Whobrey
Kaitlin V Poquette
Mayumi X Kolmetz
Darci J Bowley
Darci S Ruta
Johnson C Ruta
Ivar F Ferencz
Jennifer W Waycott
Faith T Shinko
Stacey N Figeroa
Izzy K Figeroa
Jeanfrancois G Flosi
Chavez K Marrier
IdCountryDate
1000Russia2026-08-09
1001Spain2026-07-30
1002Australia2026-07-27
1003India2026-07-13
1004Japan2026-08-10
1005Italy2026-07-23
1006Germany2026-08-02
1007Germany2026-07-19
1008Australia2026-07-23
1009United Kingdom2026-08-09
1010Australia2026-07-22
1011Italy2026-08-09
1012Australia2026-08-01
1013Argentina2026-07-23
1014United Kingdom2026-07-30
1015Canada2026-08-06
1016Canada2026-07-30
1017Canada2026-08-05
1018India2026-08-08
1019Canada2026-07-17
1020United Kingdom2026-08-03
1021Germany2026-07-23
1022Australia2026-07-26
1023Argentina2026-07-30
1024India2026-08-10
1025United Kingdom2026-08-03
1026Argentina2026-07-17
1027Australia2026-08-03
1028Spain2026-07-23
1029India2026-07-29
1030Spain2026-07-13
1031Italy2026-07-29
1032India2026-07-19
1033Spain2026-08-08
1034Russia2026-07-19
1035Spain2026-08-04
1036Argentina2026-07-18
1037Brazil2026-08-02
1038Spain2026-07-25
1039Spain2026-08-11
1040Australia2026-08-05
1041Argentina2026-08-01
1042Brazil2026-07-29
1043Germany2026-07-14
1044Spain2026-07-18
1045Russia2026-07-17
1046Spain2026-08-08
1047Italy2026-07-26
1048India2026-08-05
1049Canada2026-07-27

On-Demand Data

NameIdCountryDate
Aika W Figeroa1000Canada2026-07-15
Munro O Foller1001Canada2026-08-06
Jefferson E Flosi1002Italy2026-08-07
Aika W Caldarera1003Russia2026-08-01
Misaki C Kusko1004France2026-07-17
Aditya L Whobrey1005Argentina2026-08-01
Octavia N Garufi1006Japan2026-08-02
Morrow T Briddick1007Argentina2026-08-10
Murillo O Briddick1008Spain2026-07-24
Chavez P Venere1009Argentina2026-07-18
Cody J Chui1010India2026-08-08
Leja M Shinko1011Germany2026-07-22
Julie R Stockham1012Australia2026-07-20
David Y Saylors1013United Kingdom2026-08-05
Faith Y Shinko1014Japan2026-08-03
Kaitlin K Gaucho1015Canada2026-07-19
Greenwood H Foller1016Brazil2026-07-24
Ashley U Malet1017Canada2026-07-30
Francesco W Caldarera1018Australia2026-07-25
Misaki R Caudy1019India2026-07-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James P CaudyBrazilIoni Bowcher RENEWAL
Emily Z SergiBrazilStephen Shaw UNQUALIFIED
Jefferson V FerenczBrazilIvan Magalhaes QUALIFIED
Aruna M ButtArgentinaStephen Shaw UNQUALIFIED
Chavez G CampainItalyStephen Shaw RENEWAL
Aditya K IturbideAustraliaAmy Elsner QUALIFIED
Faith V KuskoUnited KingdomIoni Bowcher RENEWAL
Jennifer X MaletItalyBernardo Dominic RENEWAL
Greenwood E StensethItalyIoni Bowcher QUALIFIED
Arvin F RoysterItalyAnna Fali UNQUALIFIED
Faith G ChuiSpainStephen Shaw NEGOTIATION
Murillo Q SchemmerUnited KingdomAsiya Javayant QUALIFIED
Mayumi S PoquetteAustraliaBernardo Dominic PROPOSAL
Ricardo U SaylorsItalyOnyama Limba RENEWAL
Mujtaba A FollerRussiaAnna Fali RENEWAL
Maisha Q CampainItalyBernardo Dominic PROPOSAL
Munro Q StensethBrazilXuxue Feng UNQUALIFIED
Julie Z SergiFranceIvan Magalhaes NEW
David D GillianAustraliaElwin Sharvill UNQUALIFIED
Jeanfrancois L RimIndiaIoni Bowcher NEW
Deepesh O NickaBrazilIoni Bowcher QUALIFIED
Ashley R RutaGermanyAsiya Javayant PROPOSAL
Aika T GillianArgentinaOnyama Limba QUALIFIED
Murillo J AlbaresGermanyXuxue Feng UNQUALIFIED
Greenwood W MaletSpainOnyama Limba PROPOSAL
Jones S CaldareraUnited KingdomAsiya Javayant UNQUALIFIED
Kadeem L MaletCanadaAsiya Javayant NEW
Smith B AlbaresUnited KingdomAmy Elsner RENEWAL
Maria Q AlbaresFranceXuxue Feng QUALIFIED
Izzy T AmigonJapanAmy Elsner PROPOSAL
Alejandro R FollerAustraliaOnyama Limba UNQUALIFIED
Darci X FigeroaFranceAsiya Javayant NEGOTIATION
Ivar X RulapaughJapanAsiya Javayant RENEWAL
Octavia G GauchoFranceXuxue Feng RENEWAL
Rodrigues J WaycottRussiaAsiya Javayant PROPOSAL
Aruna K DoeGermanyOnyama Limba RENEWAL
Tony R GlickArgentinaOnyama Limba PROPOSAL
Aika C ButtJapanBernardo Dominic RENEWAL
Smith G OstroskyUnited KingdomBernardo Dominic UNQUALIFIED
Leja M KolmetzSpainAsiya Javayant QUALIFIED

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