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
Leon T SchemmerArgentinaAsiya Javayant NEGOTIATION
Munro B WieserItalyBernardo Dominic UNQUALIFIED
Sinclair P RimAustraliaAnna Fali NEGOTIATION
Stacey A AlbaresIndiaStephen Shaw NEW
Izzy A IturbideFranceAsiya Javayant PROPOSAL
Darci F BologniaSpainIvan Magalhaes NEGOTIATION
Aditya C BowleyRussiaXuxue Feng NEW
Darci Q NestleItalyBernardo Dominic QUALIFIED
Aika G FerenczItalyOnyama Limba PROPOSAL
Faith N SchemmerItalyAsiya Javayant RENEWAL
Sinclair L BowleyCanadaOnyama Limba UNQUALIFIED
Emily Z BriddickIndiaXuxue Feng QUALIFIED
Jones B StensethCanadaIvan Magalhaes NEW
Faith D NickaFranceXuxue Feng NEW
Antonio E SaylorsFranceIoni Bowcher QUALIFIED
Arvin V NestleItalyOnyama Limba NEGOTIATION
Leon R GauchoGermanyBernardo Dominic UNQUALIFIED
Rodrigues G GauchoJapanOnyama Limba QUALIFIED
Nicolas Z PerinIndiaOnyama Limba QUALIFIED
Munro F StockhamCanadaStephen Shaw QUALIFIED
Emily K FerenczArgentinaBernardo Dominic UNQUALIFIED
Morrow S VenereBrazilAsiya Javayant NEGOTIATION
Cody C ShinkoUnited KingdomIvan Magalhaes QUALIFIED
Stacey F WieserIndiaXuxue Feng UNQUALIFIED
Octavia W RimJapanElwin Sharvill QUALIFIED
Darci V BologniaJapanIvan Magalhaes NEW
Aika G NestleAustraliaOnyama Limba PROPOSAL
Mujtaba Q VenereBrazilIoni Bowcher NEGOTIATION
Leon J ShinkoBrazilIvan Magalhaes NEW
Arvin Q SchemmerAustraliaXuxue Feng QUALIFIED
Ashley E DilliardFranceAnna Fali QUALIFIED
Jeanfrancois I StockhamArgentinaOnyama Limba QUALIFIED
Juan I PerinBrazilAmy Elsner NEW
Arvin L NickaSpainStephen Shaw PROPOSAL
Sinclair N FollerGermanyIvan Magalhaes QUALIFIED
Jennifer E OstroskyFranceXuxue Feng RENEWAL
Stacey Z BowleyAustraliaIvan Magalhaes PROPOSAL
Adams I SaylorsItalyAnna Fali NEW
Leja Q CaudyAustraliaXuxue Feng NEGOTIATION
Jefferson P CaldareraUnited KingdomAnna Fali QUALIFIED
Faith F RimBrazilXuxue Feng PROPOSAL
Cody L SergiIndiaAnna Fali PROPOSAL
Ricardo K KolmetzBrazilStephen Shaw NEW
James Q BriddickRussiaIoni Bowcher UNQUALIFIED
Jennifer Y OldroydUnited KingdomAmy Elsner NEW
Jeanfrancois O CaldareraCanadaElwin Sharvill RENEWAL
Mujtaba S ButtRussiaOnyama Limba UNQUALIFIED
Julie U CampainUnited KingdomAsiya Javayant UNQUALIFIED
Antonio M PerinSpainAmy Elsner RENEWAL
Jennifer A InouyeArgentinaIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Clifford W PoquetteUnited KingdomAnna Fali QUALIFIED
Aika J MaletAustraliaIoni Bowcher PROPOSAL
Murillo B BriddickRussiaXuxue Feng PROPOSAL
Cody V PoquetteArgentinaOnyama Limba NEGOTIATION
Aditya Y MaletUnited KingdomAsiya Javayant PROPOSAL
Arvin T CaldareraFranceElwin Sharvill NEW
Antonio B AlbaresJapanBernardo Dominic NEGOTIATION
Darci U DilliardUnited KingdomOnyama Limba UNQUALIFIED
Mujtaba C FlosiSpainStephen Shaw NEW
Greenwood G MaletSpainXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody R AlbaresIndia2026-08-07Chapman, Ross E Esq PROPOSAL37Onyama Limba
1001Mujtaba V SergiRussia2026-07-22King, Christopher A Esq PROPOSAL44Anna Fali
1002Chavez Z BriddickCanada2026-08-01Rangoni Of Florence NEW60Bernardo Dominic
1003Wickens U WaycottGermany2026-07-25King, Christopher A Esq NEGOTIATION4Anna Fali
1004Tony X GarufiFrance2026-07-27Chapman, Ross E Esq RENEWAL16Amy Elsner
1005Kadeem U AmigonRussia2026-07-27Chemel, James L Cpa QUALIFIED55Ioni Bowcher
1006Darci T OldroydRussia2026-08-13Rousseaux, Michael Esq RENEWAL92Ioni Bowcher
1007Claire J MarrierArgentina2026-08-10Rangoni Of Florence RENEWAL92Anna Fali
1008Silvio J GlickBrazil2026-08-14Rousseaux, Michael Esq RENEWAL20Asiya Javayant
1009Ashley R SergiSpain2026-08-05Printing Dimensions QUALIFIED65Amy Elsner
1010Ricardo J BriddickJapan2026-07-19Chapman, Ross E Esq NEGOTIATION91Ioni Bowcher
1011Jeanfrancois V FigeroaSpain2026-07-23Morlong Associates QUALIFIED77Amy Elsner
1012Antonio Q MarrierGermany2026-08-01Morlong Associates RENEWAL59Stephen Shaw
1013Juan J RoysterUnited Kingdom2026-08-01Rousseaux, Michael Esq QUALIFIED28Stephen Shaw
1014Ashley T RimUnited Kingdom2026-07-20Feiner Bros NEW43Amy Elsner
1015Kaitlin J PoquetteItaly2026-07-25Chanay, Jeffrey A Esq NEW75Amy Elsner
1016Ivar A WhobreyJapan2026-08-06Dorl, James J Esq NEW13Ioni Bowcher
1017Aruna F CaudyCanada2026-08-08Chanay, Jeffrey A Esq NEW54Amy Elsner
1018Maisha F RimCanada2026-07-30Chanay, Jeffrey A Esq UNQUALIFIED59Asiya Javayant
1019Arvin J KolmetzFrance2026-08-10Printing Dimensions PROPOSAL29Stephen Shaw
1020Chavez K ChuiArgentina2026-08-03Chanay, Jeffrey A Esq PROPOSAL92Ioni Bowcher
1021Maisha G SaylorsGermany2026-07-19Chapman, Ross E Esq QUALIFIED5Amy Elsner
1022Kadeem Q DarakjyAustralia2026-08-16Morlong Associates QUALIFIED71Bernardo Dominic
1023Murillo K FigeroaBrazil2026-07-24Printing Dimensions RENEWAL74Onyama Limba
1024Jefferson U MorascaItaly2026-07-19King, Christopher A Esq PROPOSAL43Elwin Sharvill
1025Francesco O RoysterBrazil2026-07-20Printing Dimensions UNQUALIFIED67Bernardo Dominic
1026Chavez H VenereItaly2026-08-02Chanay, Jeffrey A Esq PROPOSAL91Onyama Limba
1027Chavez C RimUnited Kingdom2026-08-11Rangoni Of Florence QUALIFIED78Bernardo Dominic
1028Rodrigues C RimAustralia2026-07-21Chanay, Jeffrey A Esq UNQUALIFIED74Asiya Javayant
1029Mujtaba F DilliardJapan2026-07-18Rangoni Of Florence UNQUALIFIED38Xuxue Feng
1030Maria W AmigonUnited Kingdom2026-08-14Chapman, Ross E Esq RENEWAL70Xuxue Feng
1031Sinclair A DarakjyArgentina2026-07-27Chemel, James L Cpa UNQUALIFIED60Amy Elsner
1032Claire O KolmetzGermany2026-07-21Morlong Associates UNQUALIFIED34Xuxue Feng
1033Jefferson P WaycottItaly2026-07-18Truhlar And Truhlar Attys UNQUALIFIED96Elwin Sharvill
1034Leja A CaldareraAustralia2026-08-13Feiner Bros RENEWAL48Stephen Shaw
1035Faith I FigeroaIndia2026-07-20Commercial Press QUALIFIED80Asiya Javayant
1036Deepesh Y PaprockiArgentina2026-07-19Truhlar And Truhlar Attys NEGOTIATION12Onyama Limba
1037Juan W MacleadRussia2026-07-23Commercial Press PROPOSAL34Amy Elsner
1038Leja E BriddickAustralia2026-08-14Dorl, James J Esq NEW99Anna Fali
1039Maisha R VenereItaly2026-07-31Dorl, James J Esq QUALIFIED9Bernardo Dominic
1040Adams Q PaprockiJapan2026-08-11Rangoni Of Florence NEGOTIATION71Bernardo Dominic
1041Francesco E AlbaresGermany2026-07-29Buckley Miller Wright RENEWAL27Bernardo Dominic
1042Murillo H BriddickUnited Kingdom2026-07-29Printing Dimensions RENEWAL19Ivan Magalhaes
1043Maisha Z FerenczSpain2026-07-28Rousseaux, Michael Esq PROPOSAL59Asiya Javayant
1044Ivar B MaletFrance2026-08-10Printing Dimensions NEGOTIATION38Ivan Magalhaes
1045David J SergiSpain2026-08-16Benton, John B Jr NEW82Elwin Sharvill
1046Cody V RimIndia2026-08-13Rousseaux, Michael Esq NEGOTIATION14Xuxue Feng
1047Octavia T RoysterCanada2026-07-19Feiner Bros PROPOSAL75Ivan Magalhaes
1048Jefferson Y KolmetzItaly2026-07-22Truhlar And Truhlar Attys NEW49Onyama Limba
1049Juan Z NestleCanada2026-07-21Truhlar And Truhlar Attys NEGOTIATION25Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Maria K NestleUnited KingdomIvan Magalhaes NEW
Maria O ChuiArgentinaOnyama Limba UNQUALIFIED
Mayumi P StockhamJapanAnna Fali UNQUALIFIED
Kaitlin E IturbideSpainXuxue Feng NEW
James L GillianSpainBernardo Dominic PROPOSAL
Aditya W WieserCanadaXuxue Feng QUALIFIED
Mayumi B IturbideIndiaAnna Fali RENEWAL
Jones T PerinItalyIvan Magalhaes NEW
Emily E RoysterAustraliaXuxue Feng UNQUALIFIED
Maria A FollerAustraliaBernardo Dominic NEGOTIATION
Faith T StensethFranceStephen Shaw QUALIFIED
Silvio V GarufiItalyAnna Fali QUALIFIED
Misaki E OstroskyJapanIvan Magalhaes NEW
Nicolas L ChuiIndiaStephen Shaw QUALIFIED
Greenwood I MaletRussiaXuxue Feng PROPOSAL
David X DoeSpainElwin Sharvill NEW
Rodrigues B SergiSpainIvan Magalhaes NEGOTIATION
Stacey O OstroskySpainAmy Elsner PROPOSAL
Chavez Z OldroydGermanyElwin Sharvill QUALIFIED
Murillo J OldroydArgentinaIoni Bowcher PROPOSAL
Adams T ShinkoUnited KingdomBernardo Dominic RENEWAL
Adams X WieserGermanyIoni Bowcher QUALIFIED
Maisha L SlusarskiIndiaAmy Elsner NEW
Ivar Q VenereBrazilIvan Magalhaes QUALIFIED
Jeanfrancois U FigeroaRussiaAsiya Javayant RENEWAL
Mujtaba D GlickFranceElwin Sharvill NEGOTIATION
Leja W RoysterUnited KingdomAsiya Javayant NEW
Johnson S SchemmerSpainStephen Shaw NEW
Maisha E RimFranceAsiya Javayant UNQUALIFIED
Cody P PerinFranceElwin Sharvill NEW
Maria I WieserAustraliaOnyama Limba PROPOSAL
Adams Y ButtFranceAsiya Javayant NEW
Arvin H VenereAustraliaElwin Sharvill NEGOTIATION
Jeanfrancois D ShinkoAustraliaAmy Elsner UNQUALIFIED
Cody Y PaprockiFranceAmy Elsner QUALIFIED
Misaki F WieserGermanyBernardo Dominic UNQUALIFIED
Rodrigues C GlickCanadaAsiya Javayant RENEWAL
Darci P WieserAustraliaElwin Sharvill PROPOSAL
Munro J DoeAustraliaOnyama Limba RENEWAL
Mujtaba W VocelkaCanadaAsiya Javayant RENEWAL
Kaitlin S WieserItalyIvan Magalhaes PROPOSAL
Aruna Z WaycottFranceElwin Sharvill RENEWAL
Arvin J VocelkaAustraliaAmy Elsner UNQUALIFIED
Juan K MaletUnited KingdomIvan Magalhaes RENEWAL
Antonio G OldroydGermanyIoni Bowcher RENEWAL
Jennifer U NestleGermanyAnna Fali NEW
Ricardo U CampainSpainOnyama Limba QUALIFIED
Octavia R ButtCanadaBernardo Dominic NEW
Kaitlin P BowleyFranceElwin Sharvill NEW
Wickens W KuskoIndiaBernardo Dominic NEW
Frozen Columns
Name
Isabel S Perin
Misaki G Nicka
James R Inouye
Aika J Inouye
Jennifer W Rulapaugh
Aruna T Paprocki
Isabel I Briddick
Mujtaba C Butt
Smith L Nicka
Juan Z Shinko
Chavez R Stockham
Murillo Z Albares
Wickens R Vocelka
Juan T Rim
Jefferson Y Shinko
Antonio N Stockham
Alejandro H Garufi
Aruna U Ostrosky
Isabel B Gaucho
Jones N Kolmetz
Deepesh I Flosi
James V Rulapaugh
Darci C Maclead
Leja V Inouye
Greenwood Q Nestle
Maria W Nicka
Octavia G Malet
Jennifer L Butt
Maria Q Nestle
Munro K Wieser
Clifford M Wieser
Darci E Malet
Mayumi J Wieser
Misaki B Iturbide
Nicolas H Waycott
Ashley A Caldarera
Maria Z Campain
Smith R Albares
Stacey X Ostrosky
Stacey M Rim
Aruna V Venere
Aika O Ostrosky
Johnson O Campain
Ashley B Maclead
Maisha B Kusko
Greenwood K Rulapaugh
Costa T Saylors
Emily K Dilliard
Jones N Tollner
Johnson T Ferencz
IdCountryDate
1000India2026-07-29
1001Spain2026-08-02
1002Argentina2026-07-19
1003Brazil2026-07-30
1004Canada2026-07-24
1005Russia2026-08-10
1006Canada2026-07-30
1007France2026-08-03
1008Italy2026-07-26
1009Italy2026-08-05
1010Argentina2026-08-07
1011France2026-07-30
1012Argentina2026-07-18
1013Argentina2026-08-13
1014Spain2026-07-29
1015United Kingdom2026-08-01
1016Brazil2026-08-13
1017Italy2026-07-25
1018United Kingdom2026-08-15
1019Spain2026-08-15
1020Brazil2026-08-10
1021Japan2026-07-21
1022Russia2026-07-28
1023Australia2026-08-13
1024Italy2026-08-04
1025Spain2026-07-21
1026Russia2026-07-21
1027Italy2026-07-30
1028Brazil2026-07-26
1029Germany2026-07-29
1030Australia2026-07-30
1031United Kingdom2026-08-01
1032Australia2026-07-27
1033United Kingdom2026-07-23
1034United Kingdom2026-08-01
1035United Kingdom2026-07-28
1036France2026-07-21
1037Japan2026-08-12
1038France2026-08-06
1039France2026-07-24
1040Brazil2026-08-08
1041Canada2026-07-22
1042United Kingdom2026-08-05
1043Italy2026-07-18
1044France2026-08-08
1045Germany2026-07-26
1046Brazil2026-08-11
1047United Kingdom2026-08-09
1048Canada2026-08-06
1049Canada2026-07-30

On-Demand Data

NameIdCountryDate
Julie C Wieser1000India2026-08-14
Jones L Garufi1001Canada2026-07-28
Faith B Dilliard1002Australia2026-07-24
Smith O Glick1003Germany2026-07-19
Mujtaba X Waycott1004Germany2026-08-04
Leon J Caldarera1005Australia2026-08-13
Kaitlin J Rulapaugh1006Italy2026-08-13
Silvio B Gaucho1007Japan2026-08-01
Rodrigues N Oldroyd1008Canada2026-07-26
Greenwood L Whobrey1009Spain2026-08-15
Smith F Kolmetz1010Italy2026-07-23
Johnson H Tollner1011Germany2026-08-05
Isabel Z Poquette1012Japan2026-08-04
Julie O Kolmetz1013Japan2026-08-02
Mujtaba W Stenseth1014Argentina2026-07-22
Ivar U Ferencz1015Japan2026-08-04
Jeanfrancois A Butt1016United Kingdom2026-08-02
Darci Z Gillian1017Brazil2026-07-21
Ivar Q Nestle1018France2026-07-26
Jones Y Malet1019Germany2026-07-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja M FollerBrazilAsiya Javayant NEGOTIATION
Claire T GauchoCanadaIvan Magalhaes PROPOSAL
Francesco C GlickRussiaAsiya Javayant NEGOTIATION
Maisha J WhobreyItalyIvan Magalhaes UNQUALIFIED
Francesco P BologniaAustraliaXuxue Feng RENEWAL
Misaki Z FlosiItalyIoni Bowcher NEGOTIATION
Chavez Y SaylorsAustraliaIvan Magalhaes QUALIFIED
Alejandro Q SergiAustraliaOnyama Limba UNQUALIFIED
Jefferson N BriddickGermanyOnyama Limba PROPOSAL
Johnson W InouyeSpainBernardo Dominic UNQUALIFIED
Jennifer I FlosiUnited KingdomBernardo Dominic RENEWAL
Alejandro K VocelkaAustraliaElwin Sharvill PROPOSAL
Octavia C KolmetzItalyBernardo Dominic QUALIFIED
Emily T ShinkoItalyOnyama Limba NEW
Johnson I KuskoBrazilAsiya Javayant PROPOSAL
Mujtaba A OldroydIndiaAsiya Javayant QUALIFIED
Costa B MarrierIndiaIoni Bowcher PROPOSAL
Jennifer K BriddickFranceElwin Sharvill RENEWAL
Cody D SchemmerGermanyStephen Shaw NEGOTIATION
Francesco C MarrierGermanyIvan Magalhaes UNQUALIFIED
Izzy C MorascaBrazilAsiya Javayant NEGOTIATION
Jennifer Z FerenczJapanStephen Shaw PROPOSAL
Jones E FerenczArgentinaIoni Bowcher NEW
Antonio V VenereAustraliaIvan Magalhaes NEGOTIATION
Costa X MacleadBrazilOnyama Limba NEW
Adams O RoysterFranceElwin Sharvill NEGOTIATION
Darci T DilliardUnited KingdomIoni Bowcher UNQUALIFIED
Izzy H FigeroaArgentinaBernardo Dominic NEGOTIATION
Izzy C InouyeArgentinaIoni Bowcher QUALIFIED
Jennifer F MorascaUnited KingdomAnna Fali QUALIFIED
James S GauchoFranceIoni Bowcher QUALIFIED
Morrow H SlusarskiCanadaAmy Elsner RENEWAL
Maisha V StensethJapanAnna Fali PROPOSAL
Julie X MarrierCanadaAmy Elsner QUALIFIED
Jefferson H PerinSpainXuxue Feng QUALIFIED
Aruna T AlbaresFranceBernardo Dominic QUALIFIED
Kadeem B SergiUnited KingdomElwin Sharvill NEW
Maisha C CampainArgentinaAnna Fali PROPOSAL
Julie Y StensethGermanyIvan Magalhaes QUALIFIED
Jennifer C VocelkaSpainAsiya Javayant RENEWAL

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