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 A RulapaughIndiaAnna Fali NEGOTIATION
Adams S VenereFranceOnyama Limba NEW
Chavez U MacleadAustraliaIoni Bowcher NEGOTIATION
Claire K MarrierCanadaAsiya Javayant NEGOTIATION
Mujtaba I RutaItalyAnna Fali RENEWAL
Tony S WieserBrazilIvan Magalhaes RENEWAL
Jennifer M MaletJapanAsiya Javayant PROPOSAL
Clifford Y GlickSpainIvan Magalhaes PROPOSAL
Wickens O GauchoFranceOnyama Limba NEGOTIATION
Nicolas J MacleadJapanIvan Magalhaes NEW
Clifford I RoysterSpainOnyama Limba UNQUALIFIED
Rodrigues M RoysterJapanIoni Bowcher UNQUALIFIED
Silvio A GillianRussiaAnna Fali NEW
Alejandro V NestleUnited KingdomStephen Shaw NEW
Clifford T NestleFranceElwin Sharvill NEW
James L BriddickIndiaElwin Sharvill QUALIFIED
Murillo S FigeroaArgentinaXuxue Feng UNQUALIFIED
Julie H CaudyIndiaOnyama Limba RENEWAL
Rodrigues K DoeBrazilAsiya Javayant NEGOTIATION
Emily X PerinArgentinaOnyama Limba NEGOTIATION
Juan B StensethSpainStephen Shaw NEW
Ashley J ChuiIndiaAmy Elsner UNQUALIFIED
Leja K StockhamItalyOnyama Limba NEW
Aditya D BowleyUnited KingdomOnyama Limba RENEWAL
Jefferson D MorascaIndiaBernardo Dominic NEW
Antonio M MaletItalyStephen Shaw QUALIFIED
Antonio J OstroskyRussiaAnna Fali UNQUALIFIED
Salvatore Z NickaGermanyStephen Shaw PROPOSAL
Maria O MaletIndiaStephen Shaw NEGOTIATION
Julie Q IturbideUnited KingdomAmy Elsner UNQUALIFIED
Claire C ChuiIndiaIoni Bowcher NEGOTIATION
Smith P TollnerAustraliaIvan Magalhaes UNQUALIFIED
Faith U GarufiUnited KingdomOnyama Limba NEW
Salvatore I ButtJapanAmy Elsner UNQUALIFIED
Aditya D ButtJapanOnyama Limba NEGOTIATION
Kaitlin P SlusarskiJapanBernardo Dominic PROPOSAL
Leon C KolmetzBrazilAnna Fali NEW
Greenwood W VenereBrazilAsiya Javayant QUALIFIED
Greenwood B NestleUnited KingdomAmy Elsner PROPOSAL
Emily F BriddickBrazilAnna Fali PROPOSAL
Arvin M MorascaFranceStephen Shaw QUALIFIED
Sinclair R WhobreyGermanyElwin Sharvill QUALIFIED
Jennifer I IturbideRussiaStephen Shaw RENEWAL
Munro F FlosiIndiaStephen Shaw PROPOSAL
Francesco W MacleadJapanXuxue Feng RENEWAL
Jennifer S MarrierCanadaIvan Magalhaes NEGOTIATION
Sinclair E FlosiUnited KingdomAnna Fali PROPOSAL
Johnson M CaudyGermanyAsiya Javayant NEW
Isabel G AmigonCanadaStephen Shaw NEGOTIATION
Leon L StockhamUnited KingdomXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Kadeem X SergiSpainStephen Shaw NEGOTIATION
Antonio K ShinkoSpainIoni Bowcher QUALIFIED
Leja A CaldareraJapanIvan Magalhaes UNQUALIFIED
Leja C PaprockiBrazilXuxue Feng UNQUALIFIED
Salvatore H SlusarskiItalyAmy Elsner PROPOSAL
Antonio B NestleAustraliaXuxue Feng PROPOSAL
Morrow A FlosiCanadaStephen Shaw RENEWAL
Octavia R CaudyFranceXuxue Feng NEGOTIATION
Arvin O SergiRussiaBernardo Dominic NEGOTIATION
Aruna G WhobreyFranceOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan J SchemmerIndia2024-06-02King, Christopher A Esq RENEWAL66Xuxue Feng
1001Kadeem I MaletJapan2024-05-27Chanay, Jeffrey A Esq PROPOSAL20Ioni Bowcher
1002Juan J FigeroaBrazil2024-05-24Chemel, James L Cpa PROPOSAL62Xuxue Feng
1003Francesco B DilliardGermany2024-05-24Rousseaux, Michael Esq NEW72Amy Elsner
1004Kadeem F MacleadItaly2024-06-17Buckley Miller Wright NEGOTIATION97Stephen Shaw
1005Silvio H RutaIndia2024-05-31Truhlar And Truhlar Attys PROPOSAL48Xuxue Feng
1006Ivar I MorascaArgentina2024-05-28Feiner Bros NEGOTIATION62Stephen Shaw
1007Mujtaba O DarakjyUnited Kingdom2024-06-14Rousseaux, Michael Esq QUALIFIED68Elwin Sharvill
1008James O DilliardArgentina2024-06-03Rangoni Of Florence PROPOSAL85Onyama Limba
1009Mayumi I OldroydCanada2024-06-10King, Christopher A Esq UNQUALIFIED48Stephen Shaw
1010Kadeem S WhobreySpain2024-05-24Dorl, James J Esq NEGOTIATION15Amy Elsner
1011Salvatore A StockhamFrance2024-05-26Commercial Press QUALIFIED74Asiya Javayant
1012Antonio P SergiArgentina2024-06-12Printing Dimensions RENEWAL55Xuxue Feng
1013Aika B FerenczGermany2024-05-27Chemel, James L Cpa UNQUALIFIED62Xuxue Feng
1014Aruna D GlickIndia2024-05-24Printing Dimensions NEGOTIATION1Xuxue Feng
1015Darci H PaprockiJapan2024-06-11Feiner Bros NEGOTIATION39Anna Fali
1016Morrow B FollerSpain2024-06-13Commercial Press PROPOSAL3Amy Elsner
1017Julie K DilliardItaly2024-05-20Dorl, James J Esq NEGOTIATION98Asiya Javayant
1018Arvin K BologniaItaly2024-05-22Chapman, Ross E Esq PROPOSAL96Onyama Limba
1019Smith U CaldareraBrazil2024-05-20Morlong Associates QUALIFIED76Asiya Javayant
1020Morrow Z InouyeJapan2024-06-11Commercial Press UNQUALIFIED51Elwin Sharvill
1021Greenwood K DoeJapan2024-05-29Feiner Bros RENEWAL21Ivan Magalhaes
1022Murillo O BowleySpain2024-05-24Morlong Associates PROPOSAL3Asiya Javayant
1023Alejandro C SchemmerSpain2024-06-14Morlong Associates NEW50Asiya Javayant
1024Munro N VenereItaly2024-06-08Printing Dimensions QUALIFIED54Stephen Shaw
1025Salvatore A MaletItaly2024-06-16Rangoni Of Florence NEGOTIATION28Ioni Bowcher
1026Kaitlin L GlickFrance2024-05-23Buckley Miller Wright NEGOTIATION75Bernardo Dominic
1027Nicolas F MaletSpain2024-05-27Chapman, Ross E Esq NEGOTIATION67Anna Fali
1028Faith W MarrierItaly2024-06-07Feiner Bros UNQUALIFIED33Amy Elsner
1029Julie E InouyeCanada2024-05-20Chapman, Ross E Esq PROPOSAL24Anna Fali
1030James N PoquetteRussia2024-06-09Morlong Associates PROPOSAL72Bernardo Dominic
1031Ivar M GillianArgentina2024-06-02King, Christopher A Esq UNQUALIFIED23Stephen Shaw
1032Costa F RoysterAustralia2024-06-01Commercial Press NEW48Bernardo Dominic
1033Mujtaba G PerinArgentina2024-06-18Truhlar And Truhlar Attys PROPOSAL31Amy Elsner
1034Johnson U FigeroaFrance2024-06-09Printing Dimensions QUALIFIED41Stephen Shaw
1035Aditya J GillianJapan2024-06-14Buckley Miller Wright QUALIFIED26Stephen Shaw
1036Izzy U DarakjyArgentina2024-05-30Chanay, Jeffrey A Esq NEGOTIATION70Ivan Magalhaes
1037Nicolas B GillianJapan2024-06-05Buckley Miller Wright NEW78Onyama Limba
1038Octavia B PoquetteUnited Kingdom2024-06-08Rousseaux, Michael Esq NEGOTIATION89Bernardo Dominic
1039Clifford A TollnerCanada2024-06-09Rousseaux, Michael Esq RENEWAL91Bernardo Dominic
1040Leja M RutaSpain2024-05-23Buckley Miller Wright NEGOTIATION38Amy Elsner
1041James O GlickArgentina2024-06-10Benton, John B Jr PROPOSAL66Ivan Magalhaes
1042Darci U RoysterRussia2024-05-26Morlong Associates RENEWAL45Bernardo Dominic
1043Salvatore U WaycottRussia2024-06-01Benton, John B Jr NEW80Amy Elsner
1044Chavez K DarakjyFrance2024-05-31Truhlar And Truhlar Attys NEW59Amy Elsner
1045Arvin G SchemmerIndia2024-06-11Buckley Miller Wright UNQUALIFIED36Asiya Javayant
1046Misaki W DarakjyArgentina2024-06-09Morlong Associates NEW10Onyama Limba
1047Wickens L GlickFrance2024-06-01Truhlar And Truhlar Attys NEGOTIATION3Elwin Sharvill
1048Maria U WhobreyAustralia2024-06-10Dorl, James J Esq RENEWAL65Bernardo Dominic
1049Octavia D DoeJapan2024-06-04Commercial Press UNQUALIFIED71Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Ashley Q SchemmerSpainAnna Fali PROPOSAL
Cody J NickaSpainAmy Elsner UNQUALIFIED
Morrow R InouyeRussiaStephen Shaw QUALIFIED
Chavez Z FerenczRussiaStephen Shaw NEW
Leon I RulapaughArgentinaBernardo Dominic QUALIFIED
Cody J MorascaIndiaAsiya Javayant PROPOSAL
Izzy B DoeArgentinaAnna Fali QUALIFIED
Johnson J ButtItalyAnna Fali PROPOSAL
David Y MarrierRussiaXuxue Feng RENEWAL
Salvatore T FigeroaUnited KingdomAnna Fali RENEWAL
Leja Q KolmetzSpainElwin Sharvill UNQUALIFIED
Smith N GlickRussiaAnna Fali NEW
Darci G SaylorsJapanStephen Shaw NEGOTIATION
Leja L CaldareraGermanyIvan Magalhaes PROPOSAL
Isabel S SchemmerItalyAsiya Javayant UNQUALIFIED
Munro R NestleCanadaBernardo Dominic PROPOSAL
Aditya M PerinUnited KingdomAmy Elsner NEW
Stacey M WaycottCanadaElwin Sharvill NEGOTIATION
Johnson J GillianAustraliaBernardo Dominic NEW
Faith J SchemmerSpainAnna Fali RENEWAL
Adams O RimRussiaElwin Sharvill UNQUALIFIED
Aruna O NickaJapanOnyama Limba RENEWAL
Francesco Y BologniaBrazilAmy Elsner PROPOSAL
Cody M WhobreyItalyXuxue Feng PROPOSAL
Izzy N TollnerIndiaIvan Magalhaes RENEWAL
Leja W SchemmerArgentinaBernardo Dominic UNQUALIFIED
Aditya T VocelkaUnited KingdomAnna Fali UNQUALIFIED
Leon A SlusarskiGermanyXuxue Feng NEGOTIATION
Sinclair J GauchoBrazilOnyama Limba PROPOSAL
Arvin P SergiUnited KingdomAsiya Javayant NEGOTIATION
Munro V KuskoUnited KingdomAmy Elsner NEW
Kadeem S OldroydGermanyIoni Bowcher UNQUALIFIED
Misaki Q DoeSpainIoni Bowcher PROPOSAL
Aika B BriddickRussiaOnyama Limba QUALIFIED
Antonio N SaylorsIndiaOnyama Limba PROPOSAL
Silvio S NestleCanadaIvan Magalhaes NEW
Julie S DoeIndiaStephen Shaw PROPOSAL
Wickens V RutaCanadaIoni Bowcher PROPOSAL
Leon Q SaylorsGermanyElwin Sharvill PROPOSAL
Leja S ChuiItalyAnna Fali QUALIFIED
Jennifer O AmigonFranceIvan Magalhaes QUALIFIED
Ricardo X SlusarskiJapanStephen Shaw RENEWAL
Jennifer O FlosiGermanyIvan Magalhaes RENEWAL
Chavez L MorascaIndiaElwin Sharvill NEW
Aruna P BologniaItalyAsiya Javayant NEGOTIATION
Kadeem F OldroydUnited KingdomBernardo Dominic NEW
Stacey A VocelkaUnited KingdomAnna Fali UNQUALIFIED
Stacey T PaprockiRussiaOnyama Limba NEGOTIATION
Salvatore P SlusarskiSpainIoni Bowcher NEGOTIATION
Sinclair E OstroskyRussiaAsiya Javayant QUALIFIED
Frozen Columns
Name
Murillo G Bolognia
Jeanfrancois K Briddick
Misaki B Nestle
Aruna N Caudy
Sinclair B Ruta
Cody Q Slusarski
Aruna T Shinko
Kadeem V Sergi
Octavia R Morasca
Jefferson W Kusko
Emily K Tollner
Jennifer F Flosi
Faith E Perin
Morrow D Ostrosky
Emily U Rim
Julie U Wieser
Kaitlin Z Perin
Alejandro I Campain
Emily R Bowley
Cody H Dilliard
Leon E Dilliard
Cody Q Schemmer
Jones D Shinko
Isabel V Waycott
James Q Garufi
Maisha Y Saylors
Murillo V Butt
Maria M Inouye
Aika R Sergi
Nicolas S Doe
Murillo H Kusko
Antonio N Sergi
Adams F Caldarera
Aruna X Garufi
Aruna M Kusko
Jeanfrancois X Stenseth
Maria Y Saylors
Kaitlin M Paprocki
Claire G Bowley
Juan U Campain
Wickens Q Darakjy
Maria E Glick
Emily F Nestle
Clifford P Caudy
Aika X Caldarera
Julie B Flosi
Juan P Schemmer
Smith H Tollner
Claire V Flosi
David O Saylors
IdCountryDate
1000India2024-06-06
1001Brazil2024-06-18
1002Russia2024-06-09
1003Brazil2024-06-14
1004France2024-05-21
1005Brazil2024-06-15
1006Argentina2024-05-26
1007Germany2024-05-27
1008France2024-06-18
1009United Kingdom2024-06-08
1010Spain2024-06-08
1011India2024-06-07
1012United Kingdom2024-06-02
1013Brazil2024-05-30
1014Russia2024-06-15
1015Russia2024-06-05
1016Australia2024-05-21
1017Germany2024-06-17
1018Brazil2024-06-17
1019Russia2024-06-11
1020India2024-06-14
1021Italy2024-06-11
1022United Kingdom2024-06-12
1023India2024-06-18
1024Australia2024-06-14
1025Japan2024-06-07
1026Argentina2024-06-10
1027Russia2024-06-07
1028Canada2024-06-02
1029Russia2024-06-10
1030Japan2024-06-06
1031India2024-06-05
1032Canada2024-05-20
1033India2024-05-26
1034Germany2024-05-21
1035United Kingdom2024-06-16
1036Japan2024-06-05
1037Japan2024-06-12
1038United Kingdom2024-06-06
1039India2024-06-16
1040Germany2024-05-29
1041Canada2024-05-31
1042Russia2024-05-25
1043France2024-05-23
1044Japan2024-06-14
1045France2024-06-07
1046Spain2024-05-20
1047Brazil2024-06-16
1048Brazil2024-05-23
1049Argentina2024-06-09

On-Demand Data

NameIdCountryDate
Clifford U Foller1000Brazil2024-06-07
Juan A Ostrosky1001France2024-06-05
Adams T Kolmetz1002India2024-05-29
Clifford I Bowley1003United Kingdom2024-05-26
Stacey I Rulapaugh1004Australia2024-05-27
Aika Y Tollner1005Spain2024-05-31
Claire J Marrier1006Australia2024-06-17
Kadeem X Sergi1007Italy2024-06-06
Emily N Caudy1008Russia2024-06-10
Greenwood O Ferencz1009Canada2024-05-28
Deepesh X Doe1010Canada2024-05-25
Alejandro D Ostrosky1011Argentina2024-05-25
Tony P Briddick1012Japan2024-06-17
Jones G Marrier1013Australia2024-05-26
Izzy P Morasca1014India2024-06-17
Alejandro G Venere1015United Kingdom2024-06-15
Ricardo J Glick1016Australia2024-05-31
Clifford W Slusarski1017United Kingdom2024-05-26
Aruna J Royster1018United Kingdom2024-05-22
Deepesh E Butt1019Spain2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika W DoeAustraliaElwin Sharvill UNQUALIFIED
Wickens Q WhobreyJapanOnyama Limba PROPOSAL
Stacey C PoquetteAustraliaStephen Shaw NEGOTIATION
Rodrigues Y VenereArgentinaAsiya Javayant QUALIFIED
Chavez O GauchoBrazilStephen Shaw NEGOTIATION
Arvin J OstroskyGermanyIvan Magalhaes NEW
Kaitlin M MarrierSpainAnna Fali RENEWAL
Adams S GillianCanadaElwin Sharvill NEGOTIATION
Smith U BriddickArgentinaXuxue Feng RENEWAL
Adams Y WieserItalyIvan Magalhaes NEGOTIATION
Ricardo W FigeroaJapanStephen Shaw RENEWAL
Adams B GillianGermanyAmy Elsner UNQUALIFIED
Leon J TollnerItalyElwin Sharvill NEGOTIATION
Faith Y StockhamUnited KingdomIoni Bowcher NEGOTIATION
Johnson N RulapaughJapanAmy Elsner NEW
Rodrigues P BowleySpainIvan Magalhaes QUALIFIED
Aruna F AmigonUnited KingdomStephen Shaw QUALIFIED
Ashley T MaletArgentinaIoni Bowcher RENEWAL
Costa A BologniaArgentinaIoni Bowcher UNQUALIFIED
Darci G DilliardBrazilIvan Magalhaes QUALIFIED
Jeanfrancois O GauchoGermanyAnna Fali NEW
Mayumi Z BologniaRussiaAsiya Javayant NEW
Kadeem Q FlosiGermanyOnyama Limba PROPOSAL
Rodrigues A PoquetteArgentinaXuxue Feng PROPOSAL
Cody Z DarakjyAustraliaIvan Magalhaes NEGOTIATION
Izzy W MarrierArgentinaStephen Shaw QUALIFIED
Tony F BriddickBrazilAsiya Javayant UNQUALIFIED
Ashley M KuskoSpainIvan Magalhaes QUALIFIED
Mujtaba I MaletRussiaIoni Bowcher QUALIFIED
Morrow O FigeroaRussiaIvan Magalhaes NEW
David H MacleadGermanyXuxue Feng RENEWAL
Izzy N GillianArgentinaXuxue Feng PROPOSAL
Misaki A SchemmerGermanyOnyama Limba UNQUALIFIED
Juan L GillianGermanyIoni Bowcher QUALIFIED
Chavez G NestleSpainOnyama Limba PROPOSAL
Kadeem O MaletIndiaOnyama Limba PROPOSAL
Jones O ShinkoUnited KingdomIvan Magalhaes NEW
Munro M StensethSpainAnna Fali QUALIFIED
Adams V KuskoUnited KingdomAmy Elsner PROPOSAL
Arvin P MaletAustraliaOnyama Limba 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>