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
Johnson H WhobreyRussiaAnna Fali NEW
Maria B PoquetteBrazilIvan Magalhaes NEGOTIATION
Jennifer R PaprockiItalyIoni Bowcher NEW
Arvin H MorascaJapanBernardo Dominic RENEWAL
Sinclair G PaprockiJapanBernardo Dominic NEGOTIATION
Morrow B BriddickIndiaAsiya Javayant NEW
Stacey N DilliardSpainXuxue Feng NEW
Octavia C WhobreyUnited KingdomAsiya Javayant UNQUALIFIED
Sinclair B InouyeAustraliaAsiya Javayant PROPOSAL
David T NickaGermanyElwin Sharvill QUALIFIED
Greenwood L SaylorsCanadaIvan Magalhaes RENEWAL
Aditya Q AlbaresGermanyXuxue Feng QUALIFIED
Francesco O VenereItalyAmy Elsner NEGOTIATION
Morrow A TollnerItalyStephen Shaw NEW
Faith Q GlickUnited KingdomStephen Shaw QUALIFIED
Chavez I SergiItalyElwin Sharvill UNQUALIFIED
Darci N BologniaGermanyBernardo Dominic QUALIFIED
Julie X VocelkaGermanyBernardo Dominic QUALIFIED
Clifford L FigeroaArgentinaOnyama Limba NEW
Silvio G VenereItalyStephen Shaw PROPOSAL
Juan A MorascaItalyAnna Fali NEGOTIATION
Smith H WieserRussiaBernardo Dominic NEGOTIATION
James Y WieserIndiaElwin Sharvill UNQUALIFIED
Octavia N NestleJapanAsiya Javayant NEW
Kaitlin R AlbaresArgentinaXuxue Feng PROPOSAL
Tony H RutaArgentinaBernardo Dominic UNQUALIFIED
Tony T MaletArgentinaStephen Shaw NEW
Jones O FerenczIndiaAmy Elsner UNQUALIFIED
Emily U StockhamCanadaBernardo Dominic NEW
Salvatore X SaylorsAustraliaXuxue Feng NEGOTIATION
Mayumi H BriddickJapanXuxue Feng RENEWAL
Jefferson Z GarufiItalyAmy Elsner NEW
Alejandro M InouyeJapanIvan Magalhaes UNQUALIFIED
Alejandro B FlosiJapanElwin Sharvill RENEWAL
Mayumi E DoeArgentinaStephen Shaw NEGOTIATION
Stacey F GillianBrazilIvan Magalhaes RENEWAL
Antonio W VocelkaBrazilAnna Fali QUALIFIED
Octavia O StensethUnited KingdomBernardo Dominic NEGOTIATION
Aika X InouyeArgentinaOnyama Limba QUALIFIED
Jones E PoquetteUnited KingdomStephen Shaw NEW
Maria E ShinkoSpainAsiya Javayant NEW
Leja U MaletArgentinaIoni Bowcher NEGOTIATION
Rodrigues V VenereAustraliaOnyama Limba UNQUALIFIED
Smith J AmigonRussiaIvan Magalhaes NEGOTIATION
Alejandro L FlosiArgentinaAmy Elsner QUALIFIED
Emily Z NestleJapanIvan Magalhaes RENEWAL
Jones X FlosiAustraliaIvan Magalhaes RENEWAL
Munro N AlbaresJapanBernardo Dominic PROPOSAL
Salvatore K DarakjyBrazilStephen Shaw RENEWAL
Emily B SaylorsGermanyXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Mujtaba X InouyeJapanStephen Shaw RENEWAL
Leja L CaldareraUnited KingdomOnyama Limba NEW
Silvio D VocelkaIndiaIvan Magalhaes NEW
Silvio M BowleyArgentinaIoni Bowcher UNQUALIFIED
Rodrigues B RoysterRussiaIvan Magalhaes NEGOTIATION
Ivar I SergiJapanElwin Sharvill PROPOSAL
Stacey Q AmigonBrazilBernardo Dominic PROPOSAL
Silvio N FigeroaAustraliaAnna Fali PROPOSAL
Jeanfrancois Z BowleyItalyAsiya Javayant NEW
Morrow X WieserItalyStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas P AmigonIndia2024-06-08Commercial Press PROPOSAL90Ioni Bowcher
1001Sinclair X PoquetteItaly2024-05-28Morlong Associates QUALIFIED12Anna Fali
1002Maisha T WieserRussia2024-06-12King, Christopher A Esq RENEWAL77Onyama Limba
1003Claire A PoquetteJapan2024-05-21Feiner Bros NEW12Amy Elsner
1004Deepesh Q AlbaresCanada2024-06-09Rangoni Of Florence UNQUALIFIED44Stephen Shaw
1005Mujtaba D AlbaresIndia2024-06-02Feiner Bros NEW31Xuxue Feng
1006Jennifer P VocelkaIndia2024-05-31Morlong Associates NEGOTIATION94Stephen Shaw
1007Maisha L MorascaFrance2024-05-29Chapman, Ross E Esq RENEWAL9Ioni Bowcher
1008Kaitlin V NickaCanada2024-06-01King, Christopher A Esq QUALIFIED78Bernardo Dominic
1009Cody A VenereBrazil2024-06-16Feiner Bros NEGOTIATION2Amy Elsner
1010Cody C WaycottUnited Kingdom2024-05-26Rangoni Of Florence QUALIFIED47Ioni Bowcher
1011Arvin Q ChuiArgentina2024-05-28Feiner Bros RENEWAL46Asiya Javayant
1012Morrow J InouyeAustralia2024-05-30Commercial Press NEGOTIATION65Elwin Sharvill
1013Kadeem Y StensethUnited Kingdom2024-06-03Chemel, James L Cpa NEGOTIATION13Amy Elsner
1014Kaitlin K GlickIndia2024-05-29Dorl, James J Esq NEGOTIATION57Ivan Magalhaes
1015Leon O PaprockiBrazil2024-06-09Dorl, James J Esq QUALIFIED78Ivan Magalhaes
1016Costa F MacleadIndia2024-06-10Benton, John B Jr QUALIFIED22Onyama Limba
1017Nicolas T RoysterRussia2024-05-25Benton, John B Jr UNQUALIFIED21Xuxue Feng
1018Clifford X IturbideUnited Kingdom2024-06-02Chanay, Jeffrey A Esq NEW90Onyama Limba
1019Chavez C ChuiItaly2024-05-21Truhlar And Truhlar Attys NEGOTIATION21Xuxue Feng
1020Smith J DarakjyBrazil2024-06-14Benton, John B Jr QUALIFIED19Xuxue Feng
1021Kadeem J BologniaGermany2024-06-07Benton, John B Jr NEW4Ioni Bowcher
1022Jones U ShinkoArgentina2024-06-07Printing Dimensions NEGOTIATION41Ioni Bowcher
1023Darci B SlusarskiGermany2024-05-28Commercial Press NEGOTIATION85Stephen Shaw
1024Kaitlin V OstroskySpain2024-06-10Commercial Press NEGOTIATION52Ioni Bowcher
1025Greenwood N AlbaresArgentina2024-06-09Buckley Miller Wright QUALIFIED66Onyama Limba
1026Leon H FollerSpain2024-06-14Printing Dimensions NEW40Ivan Magalhaes
1027Isabel Q InouyeArgentina2024-06-11Buckley Miller Wright RENEWAL60Ioni Bowcher
1028Juan G CaudyItaly2024-06-04Chapman, Ross E Esq PROPOSAL45Onyama Limba
1029Jennifer V InouyeJapan2024-06-14Dorl, James J Esq NEW76Asiya Javayant
1030Mujtaba I GauchoBrazil2024-06-04Commercial Press NEGOTIATION27Elwin Sharvill
1031James W SaylorsBrazil2024-05-30Buckley Miller Wright RENEWAL77Xuxue Feng
1032Jennifer Q SaylorsArgentina2024-06-08Rousseaux, Michael Esq RENEWAL68Anna Fali
1033Kaitlin Z ChuiJapan2024-06-09Feltz Printing Service RENEWAL56Onyama Limba
1034Jennifer C OldroydArgentina2024-06-03Truhlar And Truhlar Attys QUALIFIED77Asiya Javayant
1035Tony F PerinSpain2024-05-28Chemel, James L Cpa RENEWAL56Bernardo Dominic
1036Murillo U StensethSpain2024-06-03Dorl, James J Esq NEW27Ivan Magalhaes
1037Alejandro J AlbaresRussia2024-06-12Chanay, Jeffrey A Esq NEGOTIATION12Ioni Bowcher
1038Jones W SlusarskiArgentina2024-05-27Commercial Press NEW98Elwin Sharvill
1039Antonio U RoysterUnited Kingdom2024-06-03Chemel, James L Cpa QUALIFIED42Onyama Limba
1040Jones A FollerUnited Kingdom2024-06-11Buckley Miller Wright PROPOSAL72Anna Fali
1041Adams M SergiBrazil2024-05-31Chapman, Ross E Esq RENEWAL80Anna Fali
1042Juan H GillianSpain2024-05-28Feltz Printing Service NEW57Xuxue Feng
1043Kaitlin S SchemmerFrance2024-05-23Commercial Press NEGOTIATION45Stephen Shaw
1044Mujtaba B PoquetteGermany2024-05-22Feltz Printing Service NEW98Ivan Magalhaes
1045Chavez A VenereGermany2024-06-13Chanay, Jeffrey A Esq NEW0Amy Elsner
1046Salvatore M AmigonAustralia2024-06-13Chemel, James L Cpa NEW25Bernardo Dominic
1047Silvio J StockhamArgentina2024-05-27Morlong Associates NEW78Amy Elsner
1048James O PerinSpain2024-05-19Benton, John B Jr QUALIFIED34Stephen Shaw
1049Munro Z StensethGermany2024-06-07Benton, John B Jr QUALIFIED6Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Isabel A TollnerGermanyAmy Elsner NEW
Darci N OldroydArgentinaIvan Magalhaes NEGOTIATION
Ricardo B OstroskyRussiaOnyama Limba RENEWAL
Ivar O CaldareraBrazilXuxue Feng UNQUALIFIED
Jones G GlickBrazilAmy Elsner UNQUALIFIED
Ricardo R VocelkaAustraliaIvan Magalhaes PROPOSAL
Aika G AlbaresRussiaIvan Magalhaes RENEWAL
James U WaycottArgentinaIvan Magalhaes QUALIFIED
Johnson M CaldareraItalyOnyama Limba PROPOSAL
Leon S PoquetteUnited KingdomBernardo Dominic PROPOSAL
Salvatore W MorascaArgentinaIvan Magalhaes RENEWAL
Silvio E IturbideAustraliaIoni Bowcher PROPOSAL
Adams C KolmetzRussiaOnyama Limba RENEWAL
Kaitlin S VocelkaIndiaAmy Elsner RENEWAL
Maria A RutaBrazilAsiya Javayant NEGOTIATION
Claire B BriddickJapanAsiya Javayant NEW
Maisha O GillianGermanyOnyama Limba NEW
Leja O MorascaSpainBernardo Dominic QUALIFIED
Emily J WaycottBrazilElwin Sharvill NEGOTIATION
Morrow V MaletBrazilStephen Shaw PROPOSAL
Morrow Z ButtRussiaStephen Shaw UNQUALIFIED
Misaki Y VenereArgentinaOnyama Limba PROPOSAL
Salvatore V IturbideJapanXuxue Feng NEGOTIATION
Silvio J VenereIndiaAsiya Javayant QUALIFIED
Julie K DilliardFranceIoni Bowcher RENEWAL
James O MorascaFranceElwin Sharvill NEW
Jefferson O DarakjyRussiaStephen Shaw UNQUALIFIED
Aditya A SaylorsArgentinaStephen Shaw NEGOTIATION
Nicolas C MaletItalyXuxue Feng PROPOSAL
Deepesh P WaycottSpainIvan Magalhaes PROPOSAL
Jeanfrancois X WieserGermanyIoni Bowcher RENEWAL
Mujtaba U BriddickFranceBernardo Dominic NEGOTIATION
Rodrigues S MaletSpainIvan Magalhaes NEW
Clifford I MaletIndiaAmy Elsner NEW
Nicolas U SlusarskiSpainIoni Bowcher QUALIFIED
Ricardo K GillianUnited KingdomIvan Magalhaes NEGOTIATION
Ricardo E SaylorsGermanyStephen Shaw PROPOSAL
Ivar C FollerUnited KingdomAnna Fali QUALIFIED
Aika Y GarufiCanadaAnna Fali NEW
Octavia C PoquetteCanadaElwin Sharvill NEGOTIATION
Silvio W SchemmerSpainIoni Bowcher UNQUALIFIED
Darci K VenereSpainBernardo Dominic QUALIFIED
Jennifer V WaycottSpainIoni Bowcher PROPOSAL
Murillo E GauchoSpainAnna Fali RENEWAL
Ashley L FollerFranceAsiya Javayant QUALIFIED
Octavia X OldroydIndiaBernardo Dominic QUALIFIED
Darci D VenereRussiaBernardo Dominic QUALIFIED
Silvio G WieserBrazilStephen Shaw PROPOSAL
Claire H GauchoUnited KingdomStephen Shaw NEW
Maria G PerinCanadaXuxue Feng UNQUALIFIED
Frozen Columns
Name
Jennifer R Poquette
Stacey M Bolognia
Costa B Butt
Murillo F Shinko
Ivar I Oldroyd
Salvatore R Shinko
Kadeem O Nestle
Octavia K Malet
Cody Z Venere
Maisha Y Bowley
Rodrigues T Ostrosky
Kadeem M Rulapaugh
Adams B Rulapaugh
Faith W Wieser
Nicolas O Tollner
Munro S Campain
Ivar C Kolmetz
Mayumi K Kolmetz
Chavez G Bowley
Darci C Albares
Maisha N Campain
Tony J Gaucho
Greenwood H Nestle
Jones W Garufi
Kaitlin N Bolognia
Greenwood R Garufi
Jennifer E Ferencz
Misaki C Waycott
Adams R Gaucho
Cody W Kolmetz
Darci B Tollner
Emily E Marrier
Johnson W Doe
Adams Z Amigon
Jefferson U Glick
Jefferson O Glick
Isabel N Albares
Rodrigues H Maclead
Misaki N Ostrosky
Stacey I Bowley
Silvio P Poquette
Silvio R Dilliard
Isabel Y Glick
Francesco L Bolognia
Munro O Shinko
Ivar B Figeroa
Misaki W Wieser
Costa V Kolmetz
Morrow Q Caldarera
James Z Slusarski
IdCountryDate
1000Italy2024-06-09
1001Russia2024-06-02
1002Canada2024-06-07
1003France2024-06-15
1004Italy2024-05-23
1005Spain2024-06-03
1006Canada2024-05-23
1007Italy2024-05-23
1008Australia2024-05-25
1009Spain2024-06-11
1010Brazil2024-06-05
1011Russia2024-06-16
1012France2024-05-31
1013Brazil2024-06-03
1014Italy2024-05-24
1015Brazil2024-06-09
1016Argentina2024-05-20
1017Russia2024-06-02
1018Japan2024-05-26
1019India2024-05-30
1020United Kingdom2024-06-12
1021Spain2024-05-26
1022Japan2024-05-21
1023India2024-05-25
1024Spain2024-06-16
1025India2024-06-04
1026India2024-05-31
1027Russia2024-06-14
1028United Kingdom2024-05-27
1029Germany2024-06-07
1030France2024-06-13
1031United Kingdom2024-05-31
1032United Kingdom2024-06-10
1033Brazil2024-06-15
1034Canada2024-06-11
1035Canada2024-06-15
1036Brazil2024-06-14
1037Australia2024-05-19
1038Argentina2024-05-26
1039Argentina2024-06-17
1040Japan2024-06-15
1041Japan2024-05-21
1042Brazil2024-06-05
1043Argentina2024-06-17
1044Brazil2024-06-09
1045Spain2024-05-31
1046India2024-06-16
1047India2024-05-27
1048United Kingdom2024-06-01
1049Brazil2024-06-04

On-Demand Data

NameIdCountryDate
Emily Z Morasca1000Argentina2024-06-08
Darci Z Poquette1001France2024-06-06
Ivar E Stenseth1002Japan2024-05-22
Alejandro R Chui1003Brazil2024-05-30
Deepesh C Ostrosky1004Brazil2024-06-13
Darci D Venere1005Germany2024-06-16
Salvatore X Chui1006Brazil2024-06-10
Wickens R Maclead1007Brazil2024-06-02
Octavia B Slusarski1008Russia2024-06-14
Izzy I Gaucho1009India2024-06-11
Maisha X Briddick1010Argentina2024-06-14
Cody V Marrier1011Australia2024-06-14
Francesco W Paprocki1012Spain2024-05-30
Rodrigues J Gaucho1013India2024-06-15
Leon T Royster1014Argentina2024-05-28
Smith I Stenseth1015Germany2024-05-31
Johnson M Vocelka1016France2024-06-08
Costa N Doe1017Brazil2024-05-26
Smith O Stockham1018Spain2024-05-24
Mayumi U Amigon1019Japan2024-05-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar M OldroydUnited KingdomXuxue Feng PROPOSAL
Morrow U PoquetteSpainAnna Fali NEW
Isabel C SergiIndiaAmy Elsner NEGOTIATION
Claire F FigeroaSpainElwin Sharvill RENEWAL
Greenwood Y KolmetzAustraliaAmy Elsner NEW
Ivar S MaletSpainIoni Bowcher PROPOSAL
Deepesh J RoysterCanadaStephen Shaw QUALIFIED
Clifford U VenereCanadaIoni Bowcher RENEWAL
Aika B KolmetzSpainStephen Shaw UNQUALIFIED
Chavez Z GarufiJapanAsiya Javayant PROPOSAL
Arvin W GlickUnited KingdomAsiya Javayant PROPOSAL
Johnson V CampainIndiaOnyama Limba UNQUALIFIED
Aruna O MacleadAustraliaIvan Magalhaes QUALIFIED
Aditya J GarufiArgentinaStephen Shaw UNQUALIFIED
Greenwood H DarakjyCanadaAsiya Javayant NEGOTIATION
Aditya A GlickRussiaIoni Bowcher UNQUALIFIED
Darci Q PerinIndiaIoni Bowcher UNQUALIFIED
Tony F KuskoCanadaBernardo Dominic PROPOSAL
Rodrigues S OldroydAustraliaAmy Elsner UNQUALIFIED
Chavez I GarufiArgentinaBernardo Dominic PROPOSAL
Johnson T MaletIndiaIoni Bowcher QUALIFIED
Emily Q ChuiGermanyAmy Elsner UNQUALIFIED
Johnson W PerinIndiaAmy Elsner UNQUALIFIED
Misaki U DarakjyRussiaOnyama Limba NEW
Ashley A MaletArgentinaIoni Bowcher PROPOSAL
Ricardo I FlosiIndiaStephen Shaw QUALIFIED
Nicolas P DoeBrazilAmy Elsner UNQUALIFIED
Murillo R BowleyAustraliaOnyama Limba RENEWAL
Leja C CampainAustraliaAsiya Javayant RENEWAL
Smith K OldroydRussiaAmy Elsner QUALIFIED
Silvio Y RulapaughCanadaIoni Bowcher QUALIFIED
Aika P TollnerCanadaAsiya Javayant NEGOTIATION
Wickens I WaycottRussiaIoni Bowcher RENEWAL
Costa U KuskoArgentinaOnyama Limba NEGOTIATION
Aditya K WaycottSpainBernardo Dominic NEGOTIATION
Maisha L TollnerItalyIvan Magalhaes NEGOTIATION
Aika O MacleadUnited KingdomElwin Sharvill QUALIFIED
Mayumi O FollerUnited KingdomXuxue Feng QUALIFIED
Maisha U RulapaughUnited KingdomAmy Elsner UNQUALIFIED
Greenwood P GlickArgentinaElwin Sharvill NEW

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