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 D PerinJapanStephen Shaw NEGOTIATION
Costa G NickaSpainAsiya Javayant NEGOTIATION
Salvatore V MarrierGermanyAsiya Javayant NEGOTIATION
Salvatore O OldroydArgentinaStephen Shaw UNQUALIFIED
Antonio I RutaGermanyBernardo Dominic RENEWAL
Jones C IturbideArgentinaElwin Sharvill UNQUALIFIED
Izzy R SergiItalyElwin Sharvill RENEWAL
Ricardo K StensethUnited KingdomIvan Magalhaes QUALIFIED
Stacey O BowleyUnited KingdomStephen Shaw UNQUALIFIED
Aruna N CaldareraAustraliaElwin Sharvill NEGOTIATION
Julie F OstroskyJapanElwin Sharvill RENEWAL
Aditya J MaletSpainAmy Elsner PROPOSAL
Juan J NestleItalyBernardo Dominic RENEWAL
Aika O MaletFranceElwin Sharvill QUALIFIED
Jones T PoquetteJapanIoni Bowcher NEGOTIATION
Aruna W BriddickRussiaOnyama Limba RENEWAL
Jennifer F PaprockiGermanyOnyama Limba PROPOSAL
Maria B AmigonUnited KingdomAmy Elsner QUALIFIED
Ivar I NestleCanadaAnna Fali PROPOSAL
Mujtaba I ChuiArgentinaIoni Bowcher QUALIFIED
Leon A StensethRussiaAmy Elsner PROPOSAL
Adams X RulapaughGermanyIvan Magalhaes UNQUALIFIED
Francesco O SlusarskiIndiaIvan Magalhaes UNQUALIFIED
Nicolas O StensethArgentinaElwin Sharvill NEGOTIATION
Rodrigues I GauchoIndiaIvan Magalhaes UNQUALIFIED
David B SchemmerAustraliaIvan Magalhaes PROPOSAL
Wickens V MaletRussiaIvan Magalhaes NEW
Kadeem O MaletCanadaOnyama Limba NEW
Chavez L SergiBrazilAnna Fali UNQUALIFIED
Ivar Y ButtSpainAnna Fali UNQUALIFIED
Cody B MaletJapanAnna Fali NEW
Silvio Q FlosiSpainBernardo Dominic QUALIFIED
Aruna N FigeroaIndiaIoni Bowcher NEGOTIATION
Mayumi F MarrierCanadaXuxue Feng RENEWAL
Alejandro J CaudyIndiaXuxue Feng UNQUALIFIED
Isabel P AlbaresAustraliaBernardo Dominic UNQUALIFIED
Chavez S NestleCanadaBernardo Dominic QUALIFIED
Adams O InouyeArgentinaIvan Magalhaes NEW
Deepesh G MaletItalyAsiya Javayant NEGOTIATION
Smith G WaycottUnited KingdomXuxue Feng NEW
Octavia H CampainRussiaAmy Elsner RENEWAL
David E RoysterUnited KingdomXuxue Feng RENEWAL
Silvio J CampainGermanyElwin Sharvill QUALIFIED
Murillo Z PerinUnited KingdomBernardo Dominic RENEWAL
Misaki U AlbaresItalyAnna Fali PROPOSAL
Aruna S ShinkoJapanIvan Magalhaes NEW
Clifford L RimCanadaIoni Bowcher RENEWAL
Tony X NickaRussiaAmy Elsner QUALIFIED
Izzy T NestleItalyOnyama Limba QUALIFIED
Munro R GlickItalyBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Aditya C FlosiUnited KingdomAsiya Javayant QUALIFIED
Cody B GlickRussiaIoni Bowcher RENEWAL
Murillo L GillianJapanStephen Shaw UNQUALIFIED
Faith T FigeroaCanadaIoni Bowcher UNQUALIFIED
Francesco V ShinkoFranceElwin Sharvill NEGOTIATION
Emily K RutaFranceXuxue Feng UNQUALIFIED
Silvio J GillianAustraliaElwin Sharvill UNQUALIFIED
David P DarakjyGermanyAmy Elsner QUALIFIED
Ivar H IturbideFranceBernardo Dominic PROPOSAL
Aruna Q StensethFranceIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan T CaudyAustralia2024-06-05Chanay, Jeffrey A Esq NEGOTIATION57Xuxue Feng
1001Stacey S BowleyUnited Kingdom2024-06-12Rangoni Of Florence QUALIFIED44Xuxue Feng
1002Octavia Q NestleGermany2024-05-28Truhlar And Truhlar Attys NEW11Amy Elsner
1003Ivar P OstroskyFrance2024-06-06King, Christopher A Esq UNQUALIFIED75Onyama Limba
1004Stacey U AmigonAustralia2024-06-20Chanay, Jeffrey A Esq NEW49Asiya Javayant
1005Morrow Y OstroskyItaly2024-06-04Benton, John B Jr UNQUALIFIED48Stephen Shaw
1006Jefferson P FigeroaGermany2024-06-18Feltz Printing Service PROPOSAL26Stephen Shaw
1007Costa C MacleadJapan2024-05-28Benton, John B Jr NEW85Ivan Magalhaes
1008Salvatore I DarakjyUnited Kingdom2024-05-30Chapman, Ross E Esq RENEWAL36Bernardo Dominic
1009Octavia K ChuiAustralia2024-06-16Dorl, James J Esq QUALIFIED39Asiya Javayant
1010Jennifer B PerinIndia2024-06-11Rangoni Of Florence QUALIFIED76Stephen Shaw
1011Adams A FerenczGermany2024-06-12Feltz Printing Service PROPOSAL25Stephen Shaw
1012Claire T DarakjyIndia2024-05-28Chemel, James L Cpa UNQUALIFIED95Xuxue Feng
1013Chavez O PerinUnited Kingdom2024-06-22Chapman, Ross E Esq PROPOSAL52Ivan Magalhaes
1014Izzy H AmigonFrance2024-06-03Chemel, James L Cpa RENEWAL98Asiya Javayant
1015Rodrigues F MarrierUnited Kingdom2024-06-07King, Christopher A Esq RENEWAL17Ioni Bowcher
1016Antonio V KuskoArgentina2024-06-23Chemel, James L Cpa UNQUALIFIED81Asiya Javayant
1017Stacey B CampainBrazil2024-06-23Chapman, Ross E Esq NEGOTIATION31Bernardo Dominic
1018Smith T ChuiFrance2024-06-19Chemel, James L Cpa NEW26Anna Fali
1019David Q FerenczFrance2024-06-19Chapman, Ross E Esq UNQUALIFIED73Amy Elsner
1020Sinclair F AlbaresUnited Kingdom2024-06-15Feiner Bros NEW75Elwin Sharvill
1021Stacey U IturbideGermany2024-05-31Dorl, James J Esq UNQUALIFIED4Onyama Limba
1022Costa P ChuiItaly2024-06-01Feltz Printing Service UNQUALIFIED1Elwin Sharvill
1023James G ChuiIndia2024-05-30Benton, John B Jr PROPOSAL10Ioni Bowcher
1024Murillo H SlusarskiSpain2024-06-16Commercial Press NEW78Asiya Javayant
1025Aika M KolmetzRussia2024-06-24Commercial Press QUALIFIED82Asiya Javayant
1026Francesco N NestleGermany2024-06-22Feltz Printing Service PROPOSAL25Ioni Bowcher
1027David M ButtFrance2024-06-19Dorl, James J Esq UNQUALIFIED83Elwin Sharvill
1028Leon X WhobreyBrazil2024-05-31Rousseaux, Michael Esq NEW65Xuxue Feng
1029Mujtaba E BologniaArgentina2024-06-18Truhlar And Truhlar Attys QUALIFIED42Anna Fali
1030Misaki Z DoeAustralia2024-06-24Chapman, Ross E Esq PROPOSAL22Stephen Shaw
1031Wickens T SlusarskiJapan2024-06-12Commercial Press NEW89Bernardo Dominic
1032Julie L WieserRussia2024-06-17Rousseaux, Michael Esq NEGOTIATION65Xuxue Feng
1033Greenwood V StockhamJapan2024-06-13Morlong Associates QUALIFIED22Stephen Shaw
1034Mujtaba D RulapaughItaly2024-06-10Rousseaux, Michael Esq NEGOTIATION97Ioni Bowcher
1035Silvio G VocelkaArgentina2024-06-03King, Christopher A Esq NEW94Ivan Magalhaes
1036Jefferson L VocelkaBrazil2024-06-18Chapman, Ross E Esq QUALIFIED47Ivan Magalhaes
1037Ivar S RimGermany2024-05-30Benton, John B Jr NEGOTIATION0Onyama Limba
1038Stacey E InouyeItaly2024-05-31Truhlar And Truhlar Attys NEW67Ivan Magalhaes
1039Clifford H PaprockiBrazil2024-06-20Feiner Bros NEW18Ivan Magalhaes
1040Julie F CaudyJapan2024-05-27Rousseaux, Michael Esq NEGOTIATION23Onyama Limba
1041Chavez A OstroskyIndia2024-06-13Feltz Printing Service UNQUALIFIED88Elwin Sharvill
1042Ricardo V FollerItaly2024-06-18Feltz Printing Service RENEWAL93Stephen Shaw
1043Misaki H SchemmerCanada2024-06-07Rousseaux, Michael Esq NEGOTIATION28Bernardo Dominic
1044Kaitlin Q GarufiJapan2024-06-05Buckley Miller Wright QUALIFIED32Stephen Shaw
1045Jeanfrancois E MaletUnited Kingdom2024-06-12Feiner Bros PROPOSAL29Ivan Magalhaes
1046Tony U KolmetzCanada2024-06-22Rangoni Of Florence NEGOTIATION14Amy Elsner
1047Wickens X KolmetzIndia2024-06-06Rangoni Of Florence NEGOTIATION96Bernardo Dominic
1048Silvio Z MorascaFrance2024-06-16Printing Dimensions NEGOTIATION31Bernardo Dominic
1049Salvatore I CaldareraBrazil2024-05-30Truhlar And Truhlar Attys NEW12Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Juan Q AlbaresJapanAsiya Javayant QUALIFIED
Tony M SaylorsFranceOnyama Limba UNQUALIFIED
James N OldroydRussiaIvan Magalhaes NEGOTIATION
Francesco X StockhamBrazilOnyama Limba NEW
Isabel O WieserFranceXuxue Feng NEGOTIATION
Smith N BologniaGermanyStephen Shaw NEW
Morrow S GlickBrazilOnyama Limba RENEWAL
Ricardo X MaletItalyXuxue Feng QUALIFIED
Leon J ShinkoGermanyAmy Elsner PROPOSAL
Rodrigues X MorascaArgentinaAmy Elsner UNQUALIFIED
Rodrigues L CampainCanadaOnyama Limba UNQUALIFIED
Octavia W CaudyIndiaBernardo Dominic PROPOSAL
Aika U OstroskyJapanStephen Shaw PROPOSAL
Costa D FerenczRussiaAsiya Javayant UNQUALIFIED
Maria I IturbideBrazilStephen Shaw QUALIFIED
Alejandro Z PoquetteBrazilOnyama Limba NEW
Ashley M MaletUnited KingdomElwin Sharvill NEGOTIATION
Costa R DoeGermanyElwin Sharvill RENEWAL
Misaki L StockhamSpainAnna Fali UNQUALIFIED
Ashley W MarrierRussiaXuxue Feng NEW
Rodrigues U ChuiBrazilIoni Bowcher QUALIFIED
Munro H SlusarskiFranceBernardo Dominic NEW
Adams H SchemmerIndiaBernardo Dominic NEW
Costa A MaletBrazilXuxue Feng NEW
Adams Z RoysterJapanXuxue Feng NEW
Nicolas A KolmetzGermanyOnyama Limba UNQUALIFIED
Aditya E BriddickIndiaAmy Elsner RENEWAL
Nicolas J VocelkaIndiaAsiya Javayant RENEWAL
Claire G CampainIndiaOnyama Limba QUALIFIED
Murillo W StockhamCanadaAsiya Javayant UNQUALIFIED
Faith L FlosiBrazilStephen Shaw QUALIFIED
Ivar P BologniaBrazilAsiya Javayant PROPOSAL
Ricardo M TollnerFranceElwin Sharvill NEGOTIATION
Aditya Y StockhamRussiaXuxue Feng NEW
Rodrigues Y PerinItalyElwin Sharvill QUALIFIED
Maria E NestleAustraliaIoni Bowcher PROPOSAL
Wickens X FigeroaUnited KingdomBernardo Dominic NEW
Kadeem V GauchoRussiaBernardo Dominic NEW
Mujtaba E StensethItalyElwin Sharvill UNQUALIFIED
Jeanfrancois Q SaylorsRussiaAmy Elsner QUALIFIED
Leja H MarrierJapanIoni Bowcher QUALIFIED
Morrow L MorascaUnited KingdomIoni Bowcher PROPOSAL
Juan T KolmetzJapanIoni Bowcher PROPOSAL
Nicolas Z BologniaUnited KingdomStephen Shaw PROPOSAL
Leja K SchemmerBrazilAnna Fali NEW
Ashley F WieserGermanyIvan Magalhaes NEW
Arvin Y DoeAustraliaIvan Magalhaes QUALIFIED
Claire E SaylorsCanadaOnyama Limba QUALIFIED
Mayumi M PerinUnited KingdomAsiya Javayant NEW
Francesco Y VenereRussiaIvan Magalhaes NEW
Frozen Columns
Name
James Z Schemmer
Kaitlin L Kolmetz
Tony E Garufi
Leja N Perin
Maisha Z Morasca
Aditya I Caudy
Isabel U Doe
Juan Q Morasca
Greenwood V Glick
Chavez N Inouye
Darci L Paprocki
David G Bolognia
Emily L Nestle
Stacey G Caldarera
Wickens L Wieser
Chavez Y Tollner
Stacey P Stenseth
Isabel B Albares
Nicolas Z Malet
Wickens H Briddick
Misaki G Royster
Mayumi O Gillian
Misaki C Briddick
Cody F Kusko
Chavez B Gillian
Antonio T Ostrosky
Izzy P Briddick
Johnson A Kusko
Mujtaba M Figeroa
Chavez G Shinko
Jefferson O Flosi
Greenwood A Glick
Adams O Chui
Francesco X Rulapaugh
Nicolas O Nestle
Adams Q Waycott
Kaitlin O Venere
Jeanfrancois E Butt
Darci B Shinko
Morrow Z Chui
Arvin I Garufi
Silvio Q Whobrey
Chavez S Kusko
Octavia O Waycott
Aika D Nestle
Morrow Y Flosi
Mayumi W Dilliard
Isabel K Whobrey
Salvatore N Whobrey
Jeanfrancois F Sergi
IdCountryDate
1000India2024-06-11
1001India2024-06-14
1002United Kingdom2024-06-14
1003Italy2024-06-07
1004Japan2024-05-31
1005India2024-06-07
1006Spain2024-06-15
1007Spain2024-06-15
1008Italy2024-06-10
1009Australia2024-06-20
1010Brazil2024-06-02
1011United Kingdom2024-06-11
1012Canada2024-06-14
1013Brazil2024-06-02
1014Russia2024-06-21
1015Brazil2024-06-11
1016United Kingdom2024-05-29
1017Spain2024-05-28
1018Spain2024-06-13
1019United Kingdom2024-06-23
1020Canada2024-06-03
1021Japan2024-06-09
1022Italy2024-06-23
1023United Kingdom2024-06-04
1024India2024-05-30
1025Argentina2024-06-17
1026Russia2024-06-11
1027Argentina2024-05-26
1028Canada2024-05-26
1029Argentina2024-06-17
1030India2024-05-28
1031Spain2024-06-13
1032France2024-06-10
1033Brazil2024-06-12
1034Australia2024-05-30
1035France2024-06-18
1036Japan2024-06-08
1037Spain2024-05-29
1038Germany2024-05-30
1039Argentina2024-06-14
1040Germany2024-05-29
1041India2024-06-05
1042Canada2024-06-12
1043Germany2024-06-09
1044Argentina2024-06-18
1045Canada2024-06-15
1046Australia2024-05-29
1047India2024-06-20
1048Argentina2024-06-06
1049Russia2024-06-02

On-Demand Data

NameIdCountryDate
Murillo U Royster1000Spain2024-06-14
Chavez J Foller1001Germany2024-05-26
Antonio P Glick1002Canada2024-06-23
Darci H Whobrey1003Spain2024-06-12
Alejandro R Poquette1004Italy2024-06-15
Chavez D Albares1005Italy2024-06-16
Juan K Ruta1006India2024-06-02
Wickens V Briddick1007India2024-06-04
Maisha L Garufi1008Spain2024-06-15
Isabel F Flosi1009France2024-05-31
Murillo I Saylors1010Argentina2024-06-08
Kadeem U Kusko1011Japan2024-06-23
Deepesh U Stenseth1012Canada2024-05-31
Leon O Malet1013Italy2024-06-23
Cody S Foller1014Argentina2024-05-29
Jefferson I Paprocki1015United Kingdom2024-06-08
Aruna R Bolognia1016United Kingdom2024-05-27
Deepesh S Albares1017Canada2024-06-22
Francesco S Stenseth1018Argentina2024-06-12
Ivar J Caldarera1019Russia2024-05-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro N RulapaughJapanAnna Fali QUALIFIED
Tony C StensethRussiaBernardo Dominic NEW
Misaki L OstroskyCanadaElwin Sharvill PROPOSAL
Jefferson G CaldareraArgentinaXuxue Feng PROPOSAL
Aruna X ButtBrazilIvan Magalhaes NEW
Claire P BologniaRussiaElwin Sharvill UNQUALIFIED
Misaki Y FollerJapanAmy Elsner NEW
Maisha Z RimArgentinaAnna Fali NEW
Maisha A TollnerJapanAnna Fali PROPOSAL
Smith I SergiUnited KingdomOnyama Limba QUALIFIED
Clifford E KuskoRussiaElwin Sharvill NEGOTIATION
Nicolas R KuskoItalyAmy Elsner NEW
Jeanfrancois V WieserFranceAmy Elsner NEW
Jones I ShinkoItalyAsiya Javayant RENEWAL
Deepesh M GillianJapanXuxue Feng PROPOSAL
Ivar L FerenczGermanyOnyama Limba NEW
Maria U SlusarskiUnited KingdomBernardo Dominic QUALIFIED
Nicolas S ButtIndiaAmy Elsner UNQUALIFIED
Smith D InouyeArgentinaElwin Sharvill QUALIFIED
Munro A CaldareraRussiaIvan Magalhaes NEGOTIATION
Juan G SergiBrazilOnyama Limba PROPOSAL
Aika P SchemmerGermanyAmy Elsner NEGOTIATION
Faith Y GlickUnited KingdomAnna Fali PROPOSAL
Isabel K InouyeItalyOnyama Limba QUALIFIED
Juan N MorascaFranceXuxue Feng RENEWAL
Arvin H DilliardGermanyAsiya Javayant NEGOTIATION
Nicolas Y CaldareraBrazilOnyama Limba PROPOSAL
Julie T KuskoFranceIoni Bowcher PROPOSAL
Deepesh Z WhobreyJapanElwin Sharvill RENEWAL
Murillo C IturbideJapanStephen Shaw NEW
Antonio J GauchoUnited KingdomIvan Magalhaes UNQUALIFIED
Silvio L PaprockiJapanAnna Fali UNQUALIFIED
Jones K FigeroaSpainAnna Fali RENEWAL
Sinclair K MaletRussiaIvan Magalhaes UNQUALIFIED
Jeanfrancois O DilliardRussiaElwin Sharvill NEW
Johnson I MaletUnited KingdomIvan Magalhaes QUALIFIED
Sinclair X MaletArgentinaAsiya Javayant RENEWAL
Faith V NickaArgentinaStephen Shaw RENEWAL
Aditya Q RulapaughFranceElwin Sharvill UNQUALIFIED
Leja S CaudyGermanyOnyama Limba NEGOTIATION

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