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
Adams Q TollnerJapanOnyama Limba PROPOSAL
David O CaldareraAustraliaAmy Elsner NEGOTIATION
Morrow P ChuiFranceIvan Magalhaes PROPOSAL
Ashley I VocelkaItalyElwin Sharvill NEW
Cody X FlosiJapanIoni Bowcher QUALIFIED
Smith M BriddickIndiaIoni Bowcher QUALIFIED
Munro L MarrierBrazilElwin Sharvill PROPOSAL
Ricardo P KuskoItalyStephen Shaw QUALIFIED
Octavia L MorascaGermanyAnna Fali RENEWAL
Francesco L ShinkoFranceIoni Bowcher NEGOTIATION
Faith F NickaCanadaStephen Shaw QUALIFIED
Greenwood Z MaletRussiaStephen Shaw QUALIFIED
Francesco W TollnerItalyStephen Shaw QUALIFIED
Chavez U PaprockiBrazilOnyama Limba PROPOSAL
Aruna Q ButtSpainElwin Sharvill NEW
Darci Q FigeroaArgentinaAmy Elsner QUALIFIED
Wickens X FlosiBrazilOnyama Limba QUALIFIED
Juan G ShinkoSpainBernardo Dominic PROPOSAL
Mayumi Y ShinkoItalyXuxue Feng NEW
Jeanfrancois I PerinBrazilAnna Fali QUALIFIED
Alejandro V BriddickBrazilStephen Shaw PROPOSAL
Murillo V SaylorsGermanyElwin Sharvill PROPOSAL
Jeanfrancois P PerinCanadaIoni Bowcher PROPOSAL
Deepesh Z PerinUnited KingdomIoni Bowcher UNQUALIFIED
Ricardo L WieserJapanBernardo Dominic QUALIFIED
Munro R MaletUnited KingdomIvan Magalhaes PROPOSAL
Munro O ButtFranceAnna Fali NEW
Aditya D GillianFranceElwin Sharvill RENEWAL
Salvatore K OldroydSpainStephen Shaw RENEWAL
Jones B CaudyRussiaAnna Fali RENEWAL
Aruna Z AmigonFranceAsiya Javayant NEGOTIATION
Aditya U VenereIndiaStephen Shaw RENEWAL
Jefferson Q FerenczCanadaStephen Shaw UNQUALIFIED
Stacey P KuskoCanadaBernardo Dominic UNQUALIFIED
Misaki Y StockhamItalyAsiya Javayant PROPOSAL
Jefferson N WhobreySpainXuxue Feng UNQUALIFIED
Julie H FollerCanadaOnyama Limba NEW
Aruna F SergiGermanyElwin Sharvill UNQUALIFIED
Adams Q KolmetzCanadaAmy Elsner QUALIFIED
Ivar D FigeroaGermanyAsiya Javayant QUALIFIED
Clifford N SaylorsCanadaAnna Fali RENEWAL
Morrow J RoysterAustraliaStephen Shaw QUALIFIED
Ivar L MaletArgentinaElwin Sharvill NEGOTIATION
Ricardo H ShinkoIndiaAnna Fali RENEWAL
Cody N PerinRussiaOnyama Limba NEW
Adams Y CampainSpainBernardo Dominic UNQUALIFIED
Nicolas S MorascaBrazilXuxue Feng PROPOSAL
Ricardo R VenereAustraliaAmy Elsner QUALIFIED
Kadeem I PaprockiUnited KingdomIoni Bowcher UNQUALIFIED
Maisha N ChuiRussiaIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kadeem A ChuiUnited KingdomAmy Elsner RENEWAL
Octavia A WaycottGermanyIvan Magalhaes PROPOSAL
Rodrigues J OstroskyRussiaXuxue Feng NEGOTIATION
Wickens Z MacleadIndiaStephen Shaw NEW
James B CaldareraCanadaElwin Sharvill QUALIFIED
Greenwood R KolmetzSpainAmy Elsner QUALIFIED
Greenwood W StensethArgentinaAnna Fali UNQUALIFIED
Jennifer C GauchoSpainXuxue Feng QUALIFIED
Leja A WhobreyGermanyXuxue Feng PROPOSAL
Misaki J RoysterBrazilIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi G RimRussia2025-04-10King, Christopher A Esq NEGOTIATION70Bernardo Dominic
1001Johnson W FollerItaly2025-04-15Chanay, Jeffrey A Esq NEGOTIATION97Onyama Limba
1002Sinclair D KuskoSpain2025-04-28King, Christopher A Esq RENEWAL30Anna Fali
1003Leja L MaletFrance2025-04-26Printing Dimensions QUALIFIED97Stephen Shaw
1004Maisha Q WieserItaly2025-04-03Chanay, Jeffrey A Esq NEGOTIATION57Stephen Shaw
1005Tony W AlbaresJapan2025-04-11Printing Dimensions PROPOSAL57Xuxue Feng
1006Francesco G DoeJapan2025-04-18King, Christopher A Esq NEW91Asiya Javayant
1007Jeanfrancois X StensethItaly2025-04-23Feiner Bros RENEWAL31Xuxue Feng
1008Mayumi O StockhamRussia2025-04-09Rangoni Of Florence RENEWAL71Xuxue Feng
1009Tony X AlbaresBrazil2025-04-09Printing Dimensions PROPOSAL74Anna Fali
1010Aruna M RimGermany2025-04-13Chanay, Jeffrey A Esq NEW97Onyama Limba
1011Mayumi D MorascaGermany2025-04-07Rangoni Of Florence NEW83Xuxue Feng
1012Stacey Y BowleyItaly2025-04-15Rangoni Of Florence PROPOSAL37Elwin Sharvill
1013Leja R FollerCanada2025-04-15Truhlar And Truhlar Attys RENEWAL46Amy Elsner
1014Morrow X SaylorsGermany2025-04-01Chanay, Jeffrey A Esq NEGOTIATION46Stephen Shaw
1015Ricardo L DilliardSpain2025-04-03Rangoni Of Florence RENEWAL13Xuxue Feng
1016Juan O CaudyGermany2025-04-20Dorl, James J Esq NEW23Anna Fali
1017James Z DilliardItaly2025-04-21Feiner Bros RENEWAL7Bernardo Dominic
1018James N FigeroaArgentina2025-04-15Feltz Printing Service QUALIFIED11Anna Fali
1019Arvin L FlosiUnited Kingdom2025-04-22King, Christopher A Esq NEGOTIATION50Ioni Bowcher
1020Antonio C ShinkoAustralia2025-04-19Chemel, James L Cpa UNQUALIFIED17Elwin Sharvill
1021Rodrigues Z PoquetteItaly2025-04-04Benton, John B Jr NEW11Bernardo Dominic
1022Isabel O AmigonFrance2025-04-02King, Christopher A Esq RENEWAL19Xuxue Feng
1023Wickens Q ChuiJapan2025-04-22Truhlar And Truhlar Attys QUALIFIED7Stephen Shaw
1024Isabel A BologniaArgentina2025-04-12Feiner Bros UNQUALIFIED33Ivan Magalhaes
1025Maisha T FlosiUnited Kingdom2025-04-24Truhlar And Truhlar Attys UNQUALIFIED38Ivan Magalhaes
1026David J GlickRussia2025-04-06Rousseaux, Michael Esq QUALIFIED37Amy Elsner
1027Antonio E BriddickIndia2025-04-21King, Christopher A Esq UNQUALIFIED38Ioni Bowcher
1028Aruna A PaprockiIndia2025-04-29Commercial Press NEW18Stephen Shaw
1029Johnson N GarufiCanada2025-04-01Commercial Press PROPOSAL22Asiya Javayant
1030Murillo P DilliardItaly2025-04-16Chanay, Jeffrey A Esq PROPOSAL56Ivan Magalhaes
1031Salvatore D ButtArgentina2025-04-26Chemel, James L Cpa UNQUALIFIED68Xuxue Feng
1032Arvin W VenereSpain2025-04-06Commercial Press NEGOTIATION58Xuxue Feng
1033Antonio L GillianUnited Kingdom2025-03-31Chapman, Ross E Esq UNQUALIFIED62Asiya Javayant
1034Claire O OstroskyFrance2025-04-25Rousseaux, Michael Esq RENEWAL86Ioni Bowcher
1035Jefferson Y FlosiIndia2025-04-26Morlong Associates QUALIFIED59Xuxue Feng
1036Jeanfrancois L StensethIndia2025-04-18Rangoni Of Florence NEGOTIATION22Bernardo Dominic
1037Alejandro L BowleyRussia2025-04-24Chemel, James L Cpa NEW16Anna Fali
1038Stacey K AlbaresJapan2025-04-03Dorl, James J Esq NEW80Ivan Magalhaes
1039Kaitlin X VenereFrance2025-04-12Chanay, Jeffrey A Esq UNQUALIFIED75Stephen Shaw
1040Francesco M DilliardGermany2025-04-12Commercial Press RENEWAL78Bernardo Dominic
1041Kadeem M FlosiSpain2025-04-23Chanay, Jeffrey A Esq PROPOSAL9Onyama Limba
1042Octavia G FerenczRussia2025-04-05Feltz Printing Service QUALIFIED16Asiya Javayant
1043Deepesh M InouyeAustralia2025-04-02Rousseaux, Michael Esq RENEWAL95Ioni Bowcher
1044Aika J GlickGermany2025-04-17Dorl, James J Esq NEGOTIATION84Amy Elsner
1045Maisha L CaudyFrance2025-04-14Chapman, Ross E Esq NEW23Onyama Limba
1046Alejandro O PaprockiCanada2025-03-31Feltz Printing Service UNQUALIFIED18Elwin Sharvill
1047Ashley Q GauchoJapan2025-04-17Benton, John B Jr PROPOSAL52Ioni Bowcher
1048Silvio P DoeBrazil2025-04-21Morlong Associates QUALIFIED88Onyama Limba
1049Kadeem U InouyeAustralia2025-04-15Chanay, Jeffrey A Esq PROPOSAL36Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Munro H OstroskyJapanElwin Sharvill NEW
Misaki F PaprockiArgentinaStephen Shaw NEW
Ricardo V BologniaIndiaBernardo Dominic PROPOSAL
Izzy D GarufiAustraliaIvan Magalhaes NEW
David V TollnerArgentinaIvan Magalhaes NEW
Leja E FerenczBrazilXuxue Feng RENEWAL
Misaki J SchemmerGermanyBernardo Dominic QUALIFIED
Darci T ShinkoSpainStephen Shaw NEGOTIATION
Maisha E VenereCanadaOnyama Limba PROPOSAL
Leja P PaprockiItalyElwin Sharvill PROPOSAL
Izzy O MorascaBrazilElwin Sharvill UNQUALIFIED
Izzy M FlosiItalyAsiya Javayant RENEWAL
Aika Z CaldareraFranceStephen Shaw UNQUALIFIED
Kadeem M FerenczJapanAnna Fali UNQUALIFIED
Antonio E CaldareraBrazilAsiya Javayant RENEWAL
Emily M CampainCanadaIoni Bowcher PROPOSAL
Francesco Y PaprockiUnited KingdomStephen Shaw PROPOSAL
Mujtaba X WhobreySpainIoni Bowcher UNQUALIFIED
Chavez S SaylorsBrazilXuxue Feng UNQUALIFIED
Arvin T BologniaIndiaIoni Bowcher NEW
Clifford J CampainItalyIvan Magalhaes NEW
Cody V VenereArgentinaElwin Sharvill NEGOTIATION
Misaki W MarrierGermanyBernardo Dominic QUALIFIED
Morrow V FollerIndiaXuxue Feng UNQUALIFIED
Tony U BowleyJapanXuxue Feng NEW
Jennifer Z SchemmerAustraliaElwin Sharvill NEGOTIATION
David Z VenereRussiaElwin Sharvill NEGOTIATION
Izzy V VenereItalyElwin Sharvill QUALIFIED
Ricardo M CampainArgentinaElwin Sharvill NEGOTIATION
Silvio I RutaJapanIvan Magalhaes NEW
Morrow H WhobreyItalyAsiya Javayant PROPOSAL
Aditya V ShinkoJapanIoni Bowcher NEW
Jeanfrancois I MarrierSpainAnna Fali NEW
Costa G NestleRussiaIoni Bowcher UNQUALIFIED
Aika M CaldareraArgentinaAsiya Javayant RENEWAL
Antonio V MacleadItalyStephen Shaw UNQUALIFIED
Silvio P FigeroaItalyBernardo Dominic UNQUALIFIED
Silvio Z PerinJapanOnyama Limba RENEWAL
Kadeem O PoquetteItalyOnyama Limba NEGOTIATION
Morrow F FollerBrazilAsiya Javayant RENEWAL
Tony F MacleadArgentinaBernardo Dominic NEW
Jennifer Z ChuiGermanyAmy Elsner QUALIFIED
Morrow L AlbaresIndiaAmy Elsner RENEWAL
Morrow Y DilliardGermanyAsiya Javayant UNQUALIFIED
Faith P BowleyArgentinaBernardo Dominic QUALIFIED
Murillo C OldroydJapanAnna Fali NEW
Kadeem Z WieserBrazilElwin Sharvill NEW
Octavia R FlosiJapanXuxue Feng RENEWAL
Rodrigues Y StockhamSpainAmy Elsner NEW
Octavia T IturbideFranceIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Maisha A Chui
Jefferson K Inouye
Sinclair Z Tollner
Maisha X Caldarera
Kaitlin V Rulapaugh
Aruna P Kusko
Aditya M Rim
Alejandro H Butt
Arvin V Saylors
Claire J Maclead
Octavia M Perin
Claire C Amigon
Jefferson M Whobrey
Aruna F Saylors
Antonio C Sergi
Claire Y Butt
Antonio L Poquette
David Q Perin
Mayumi D Royster
Kaitlin M Slusarski
Aditya R Royster
Clifford A Marrier
Silvio R Oldroyd
James Z Amigon
Emily H Amigon
James U Doe
Salvatore U Sergi
Johnson F Darakjy
Claire K Perin
Silvio O Slusarski
Jennifer U Dilliard
Murillo H Stenseth
Aditya R Perin
Julie V Rim
Tony B Paprocki
Juan D Dilliard
Isabel D Malet
Adams W Maclead
Kadeem T Wieser
Munro W Perin
Chavez N Kusko
Claire V Wieser
Johnson S Caldarera
Emily Y Poquette
Sinclair A Rulapaugh
Misaki B Shinko
Jefferson A Glick
Rodrigues F Whobrey
Ashley B Dilliard
Tony O Stenseth
IdCountryDate
1000Japan2025-04-11
1001Spain2025-04-05
1002Argentina2025-04-20
1003India2025-04-16
1004Brazil2025-04-10
1005Russia2025-04-20
1006United Kingdom2025-04-22
1007France2025-04-09
1008Australia2025-04-11
1009Brazil2025-04-19
1010Brazil2025-04-23
1011Brazil2025-04-27
1012Spain2025-04-20
1013United Kingdom2025-04-18
1014Canada2025-04-20
1015Italy2025-04-18
1016France2025-04-14
1017Spain2025-04-17
1018France2025-04-03
1019France2025-04-12
1020France2025-04-13
1021Brazil2025-04-19
1022Australia2025-04-22
1023Spain2025-04-25
1024France2025-04-04
1025Brazil2025-04-28
1026Canada2025-04-06
1027Brazil2025-04-28
1028India2025-04-06
1029Brazil2025-04-19
1030Canada2025-04-26
1031Australia2025-04-16
1032Spain2025-04-09
1033Germany2025-04-28
1034United Kingdom2025-04-21
1035Japan2025-04-02
1036Russia2025-04-08
1037United Kingdom2025-04-06
1038Argentina2025-04-09
1039Germany2025-04-28
1040Germany2025-04-12
1041Australia2025-04-04
1042Spain2025-04-03
1043France2025-03-31
1044Australia2025-04-17
1045Australia2025-04-09
1046United Kingdom2025-04-01
1047Germany2025-04-14
1048India2025-04-11
1049Canada2025-04-29

On-Demand Data

NameIdCountryDate
Stacey X Bolognia1000Canada2025-04-03
Aditya R Stockham1001Spain2025-04-23
Aditya C Vocelka1002Italy2025-04-29
Misaki I Stockham1003Germany2025-04-14
Stacey X Caldarera1004India2025-04-25
Adams S Oldroyd1005United Kingdom2025-04-21
Jeanfrancois J Briddick1006Argentina2025-04-11
Aditya Y Darakjy1007France2025-04-06
Ashley Y Kusko1008Italy2025-04-18
Jefferson L Royster1009United Kingdom2025-04-07
Salvatore Y Ruta1010Germany2025-04-26
Ricardo N Oldroyd1011Germany2025-04-21
Sinclair T Morasca1012Canada2025-04-27
Johnson U Darakjy1013Italy2025-04-29
Maisha A Saylors1014Australia2025-04-17
Antonio A Stockham1015Germany2025-04-17
Izzy L Butt1016France2025-04-19
Rodrigues E Ostrosky1017Japan2025-04-06
Arvin V Gillian1018Germany2025-04-24
Alejandro U Campain1019Australia2025-04-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika U MaletAustraliaXuxue Feng PROPOSAL
Sinclair T PerinGermanyAmy Elsner NEW
Rodrigues U StensethAustraliaIoni Bowcher UNQUALIFIED
Morrow X SaylorsBrazilBernardo Dominic UNQUALIFIED
Jefferson U ShinkoUnited KingdomOnyama Limba RENEWAL
Cody K ChuiBrazilAsiya Javayant QUALIFIED
Ashley L IturbideItalyStephen Shaw NEW
Kaitlin J WhobreyFranceXuxue Feng RENEWAL
Stacey B RoysterRussiaElwin Sharvill UNQUALIFIED
Silvio S StensethSpainElwin Sharvill PROPOSAL
Ivar R InouyeJapanBernardo Dominic QUALIFIED
Jennifer S WieserIndiaStephen Shaw RENEWAL
Mujtaba S GillianBrazilOnyama Limba NEW
Ricardo Z NickaGermanyStephen Shaw PROPOSAL
Kadeem G SergiUnited KingdomOnyama Limba NEW
Isabel T KuskoCanadaAnna Fali UNQUALIFIED
Jones F TollnerRussiaXuxue Feng NEGOTIATION
Maisha T GauchoGermanyOnyama Limba NEW
Maria D KuskoArgentinaXuxue Feng UNQUALIFIED
David R ChuiAustraliaStephen Shaw UNQUALIFIED
Ashley E CaudyArgentinaElwin Sharvill PROPOSAL
Deepesh H MaletBrazilAnna Fali NEW
Mayumi E GarufiItalyAsiya Javayant UNQUALIFIED
Rodrigues K DilliardUnited KingdomAsiya Javayant UNQUALIFIED
Clifford R ChuiRussiaIvan Magalhaes PROPOSAL
Nicolas F KolmetzArgentinaIoni Bowcher NEW
Cody O DoeJapanElwin Sharvill UNQUALIFIED
Greenwood O ChuiCanadaXuxue Feng UNQUALIFIED
Costa L FigeroaUnited KingdomStephen Shaw PROPOSAL
Mayumi A MaletCanadaAsiya Javayant PROPOSAL
Ashley T ChuiUnited KingdomIoni Bowcher PROPOSAL
Mayumi U FerenczRussiaAnna Fali RENEWAL
Munro B StensethFranceOnyama Limba QUALIFIED
James O SaylorsCanadaAmy Elsner QUALIFIED
Octavia E BologniaIndiaAmy Elsner NEGOTIATION
Nicolas R MarrierArgentinaAnna Fali UNQUALIFIED
Juan C OldroydItalyBernardo Dominic PROPOSAL
Antonio W ButtBrazilAnna Fali RENEWAL
Izzy K WieserGermanyIoni Bowcher PROPOSAL
Cody B RutaJapanAnna Fali UNQUALIFIED

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