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
Aruna I OstroskyRussiaIvan Magalhaes NEGOTIATION
Kadeem X NickaBrazilBernardo Dominic NEW
Jennifer A FerenczCanadaAmy Elsner QUALIFIED
Antonio N ShinkoBrazilOnyama Limba NEW
Claire E FerenczUnited KingdomBernardo Dominic NEW
Mujtaba T RulapaughGermanyAmy Elsner NEGOTIATION
Johnson U SergiJapanXuxue Feng PROPOSAL
Leon E WaycottAustraliaStephen Shaw QUALIFIED
Wickens Z PerinCanadaAsiya Javayant QUALIFIED
Ashley J NestleGermanyBernardo Dominic UNQUALIFIED
James D SergiCanadaIoni Bowcher UNQUALIFIED
James P RutaJapanAsiya Javayant NEGOTIATION
Jefferson Q GlickGermanyBernardo Dominic NEGOTIATION
Leon D TollnerFranceElwin Sharvill RENEWAL
Greenwood T DilliardUnited KingdomAsiya Javayant PROPOSAL
Leon N MacleadCanadaIoni Bowcher NEGOTIATION
Rodrigues I RutaRussiaAmy Elsner PROPOSAL
Rodrigues W StensethIndiaAsiya Javayant RENEWAL
Jeanfrancois E GillianAustraliaStephen Shaw RENEWAL
Aruna G WhobreyArgentinaStephen Shaw RENEWAL
Leon R NickaItalyIoni Bowcher QUALIFIED
Sinclair Y GillianAustraliaXuxue Feng NEGOTIATION
Adams F MorascaFranceAsiya Javayant RENEWAL
Johnson S WhobreyFranceXuxue Feng UNQUALIFIED
Kaitlin W NestleIndiaAsiya Javayant NEGOTIATION
Ricardo D FlosiBrazilElwin Sharvill NEW
Rodrigues U DoeItalyIoni Bowcher PROPOSAL
Aruna C VocelkaAustraliaIoni Bowcher NEGOTIATION
Izzy S AmigonIndiaIoni Bowcher RENEWAL
Salvatore W PaprockiBrazilStephen Shaw PROPOSAL
Maisha H MaletRussiaStephen Shaw NEGOTIATION
Adams G SaylorsArgentinaStephen Shaw NEW
Izzy E PaprockiIndiaAmy Elsner PROPOSAL
Nicolas Y KolmetzBrazilAnna Fali NEGOTIATION
Munro T DarakjyUnited KingdomOnyama Limba NEW
Aditya I FlosiCanadaOnyama Limba PROPOSAL
Jeanfrancois C StensethUnited KingdomElwin Sharvill PROPOSAL
Deepesh Q RoysterIndiaAnna Fali NEW
Salvatore R WieserJapanBernardo Dominic NEW
Costa I RimIndiaAsiya Javayant NEGOTIATION
Antonio G BriddickCanadaAmy Elsner NEGOTIATION
Misaki I KolmetzIndiaXuxue Feng PROPOSAL
Kaitlin I RulapaughBrazilElwin Sharvill NEW
Claire E CampainIndiaBernardo Dominic NEW
Murillo K WhobreyItalyIoni Bowcher RENEWAL
Adams J VocelkaCanadaXuxue Feng NEW
Jefferson U WaycottUnited KingdomBernardo Dominic PROPOSAL
Octavia W WaycottAustraliaAsiya Javayant UNQUALIFIED
Silvio A CaudyBrazilOnyama Limba UNQUALIFIED
David C ShinkoSpainAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Julie L AlbaresCanadaElwin Sharvill NEGOTIATION
Silvio O RulapaughCanadaXuxue Feng NEW
Ivar V GarufiIndiaXuxue Feng NEGOTIATION
Jennifer D SaylorsFranceAmy Elsner NEGOTIATION
Wickens E KuskoBrazilElwin Sharvill UNQUALIFIED
Jefferson A AmigonFranceAsiya Javayant PROPOSAL
Johnson W SaylorsJapanElwin Sharvill RENEWAL
Greenwood U RulapaughBrazilOnyama Limba QUALIFIED
Silvio K MarrierCanadaOnyama Limba NEGOTIATION
James N WaycottBrazilXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy E FollerRussia2024-06-03Rangoni Of Florence NEGOTIATION31Ivan Magalhaes
1001Rodrigues O GarufiJapan2024-06-16Rousseaux, Michael Esq UNQUALIFIED74Ivan Magalhaes
1002Jones N StockhamCanada2024-06-20Chanay, Jeffrey A Esq QUALIFIED39Amy Elsner
1003Octavia M BowleyBrazil2024-05-23Chanay, Jeffrey A Esq NEW72Bernardo Dominic
1004James X SaylorsItaly2024-05-25Chemel, James L Cpa NEW30Bernardo Dominic
1005Ivar J FigeroaCanada2024-05-29Feltz Printing Service RENEWAL49Amy Elsner
1006Costa K SlusarskiSpain2024-05-28Dorl, James J Esq NEW58Asiya Javayant
1007Deepesh H GillianRussia2024-06-12Truhlar And Truhlar Attys RENEWAL52Ivan Magalhaes
1008Wickens H KuskoUnited Kingdom2024-06-06Benton, John B Jr QUALIFIED6Asiya Javayant
1009Kadeem F MorascaArgentina2024-06-15Dorl, James J Esq RENEWAL85Asiya Javayant
1010Emily A SaylorsItaly2024-06-11Rangoni Of Florence NEW18Bernardo Dominic
1011Maria P WaycottUnited Kingdom2024-06-21Rousseaux, Michael Esq UNQUALIFIED68Ivan Magalhaes
1012Claire E NickaArgentina2024-06-20Chemel, James L Cpa UNQUALIFIED75Stephen Shaw
1013Francesco P KuskoRussia2024-06-21Truhlar And Truhlar Attys QUALIFIED34Xuxue Feng
1014Ivar R VenereJapan2024-06-09Chapman, Ross E Esq QUALIFIED52Stephen Shaw
1015Leja K OstroskyFrance2024-06-12Morlong Associates NEGOTIATION78Elwin Sharvill
1016Isabel D PerinIndia2024-06-18Truhlar And Truhlar Attys RENEWAL21Asiya Javayant
1017Juan V VocelkaGermany2024-06-20Dorl, James J Esq RENEWAL14Xuxue Feng
1018Mujtaba E WaycottGermany2024-06-21Feiner Bros NEW63Ivan Magalhaes
1019Antonio V NestleCanada2024-05-24Chanay, Jeffrey A Esq NEW5Asiya Javayant
1020Ivar P OstroskyArgentina2024-06-01Buckley Miller Wright NEGOTIATION46Anna Fali
1021Greenwood J RimBrazil2024-06-05Chapman, Ross E Esq NEW24Ivan Magalhaes
1022Sinclair K CaudyItaly2024-06-07Benton, John B Jr NEGOTIATION60Onyama Limba
1023Arvin Q MacleadRussia2024-05-25Rousseaux, Michael Esq NEGOTIATION52Anna Fali
1024Faith I WhobreyRussia2024-06-17Feiner Bros RENEWAL33Amy Elsner
1025Adams P InouyeGermany2024-06-09Feltz Printing Service QUALIFIED51Xuxue Feng
1026Julie B WhobreyCanada2024-06-02Feltz Printing Service RENEWAL53Onyama Limba
1027Ivar M ButtBrazil2024-06-09Dorl, James J Esq UNQUALIFIED30Anna Fali
1028David T PaprockiAustralia2024-06-02Commercial Press UNQUALIFIED50Asiya Javayant
1029Adams E KolmetzFrance2024-05-30King, Christopher A Esq QUALIFIED67Stephen Shaw
1030Jeanfrancois U StensethItaly2024-06-17Benton, John B Jr RENEWAL96Ioni Bowcher
1031Francesco F PaprockiUnited Kingdom2024-05-26Feiner Bros RENEWAL50Anna Fali
1032Aruna E MarrierRussia2024-06-19Dorl, James J Esq NEW2Bernardo Dominic
1033Maisha A WaycottJapan2024-06-01Morlong Associates QUALIFIED89Xuxue Feng
1034Silvio J BowleyJapan2024-05-29Benton, John B Jr NEGOTIATION95Stephen Shaw
1035Aditya I VenereArgentina2024-05-31Morlong Associates QUALIFIED71Amy Elsner
1036Deepesh N NickaSpain2024-05-29Truhlar And Truhlar Attys RENEWAL58Bernardo Dominic
1037Maisha G ChuiAustralia2024-06-10Benton, John B Jr NEW36Ioni Bowcher
1038Maisha R MacleadAustralia2024-06-09Morlong Associates UNQUALIFIED64Amy Elsner
1039Leon M OstroskyBrazil2024-06-07Chapman, Ross E Esq NEW81Amy Elsner
1040Smith P MarrierFrance2024-05-28Chemel, James L Cpa UNQUALIFIED6Asiya Javayant
1041Costa H MacleadGermany2024-06-05Feiner Bros PROPOSAL59Bernardo Dominic
1042Alejandro P FlosiArgentina2024-06-01Buckley Miller Wright NEW15Amy Elsner
1043Isabel L NickaArgentina2024-06-18Buckley Miller Wright RENEWAL49Elwin Sharvill
1044Izzy Z ChuiGermany2024-06-04Chapman, Ross E Esq QUALIFIED91Onyama Limba
1045Claire I RutaSpain2024-06-18King, Christopher A Esq QUALIFIED71Ioni Bowcher
1046Cody T NickaUnited Kingdom2024-06-09Dorl, James J Esq NEW46Asiya Javayant
1047Smith S NickaIndia2024-06-01Chapman, Ross E Esq PROPOSAL94Onyama Limba
1048Wickens I PerinSpain2024-06-14Commercial Press NEGOTIATION95Stephen Shaw
1049Adams Y VocelkaBrazil2024-06-02King, Christopher A Esq QUALIFIED38Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Salvatore W OstroskyItalyAmy Elsner NEGOTIATION
Kadeem V DarakjySpainXuxue Feng PROPOSAL
Salvatore T FigeroaJapanAsiya Javayant PROPOSAL
Izzy F FollerGermanyOnyama Limba QUALIFIED
Darci Q FlosiIndiaOnyama Limba NEW
Ashley I FerenczGermanyElwin Sharvill NEGOTIATION
Tony F RimIndiaIoni Bowcher NEGOTIATION
Aruna F InouyeAustraliaAnna Fali NEW
Cody T SlusarskiIndiaIoni Bowcher NEW
Smith L BologniaSpainIvan Magalhaes NEW
Morrow C GauchoItalyAnna Fali NEGOTIATION
Deepesh G CampainJapanOnyama Limba PROPOSAL
Murillo I ShinkoCanadaAnna Fali PROPOSAL
Chavez Q BowleyAustraliaElwin Sharvill RENEWAL
Ivar V WieserCanadaXuxue Feng UNQUALIFIED
Jeanfrancois D DilliardBrazilXuxue Feng RENEWAL
Juan I FlosiIndiaAmy Elsner PROPOSAL
Greenwood R InouyeGermanyStephen Shaw QUALIFIED
Tony V MaletIndiaIvan Magalhaes NEW
Johnson N OstroskyArgentinaIvan Magalhaes NEW
Maisha H MaletBrazilOnyama Limba PROPOSAL
Kaitlin V ButtJapanStephen Shaw NEGOTIATION
Wickens X KuskoJapanBernardo Dominic RENEWAL
Tony M DilliardUnited KingdomAmy Elsner RENEWAL
Mayumi T OstroskyGermanyAmy Elsner UNQUALIFIED
Aika D BologniaArgentinaIoni Bowcher PROPOSAL
Morrow A TollnerJapanBernardo Dominic NEW
Kaitlin K RutaBrazilAmy Elsner QUALIFIED
Wickens T SchemmerAustraliaOnyama Limba NEW
Leja M MorascaUnited KingdomOnyama Limba NEGOTIATION
Mayumi I MorascaSpainAmy Elsner PROPOSAL
Cody V FigeroaCanadaStephen Shaw NEGOTIATION
Cody M OldroydFranceIvan Magalhaes NEW
Morrow J SchemmerCanadaXuxue Feng NEW
Misaki R AlbaresBrazilAnna Fali QUALIFIED
Octavia Q CaudyRussiaStephen Shaw RENEWAL
Jennifer X SchemmerFranceElwin Sharvill NEW
Jones F StockhamFranceIvan Magalhaes RENEWAL
Ashley V IturbideBrazilAmy Elsner NEGOTIATION
Arvin U MarrierIndiaXuxue Feng UNQUALIFIED
Wickens L NickaBrazilIoni Bowcher RENEWAL
Stacey G AlbaresItalyOnyama Limba NEGOTIATION
Jones U NickaArgentinaIvan Magalhaes NEW
Tony O AlbaresUnited KingdomIoni Bowcher NEW
Chavez R PerinBrazilBernardo Dominic NEW
Octavia S IturbideJapanElwin Sharvill NEGOTIATION
Julie E WhobreyItalyBernardo Dominic NEW
James M NestleBrazilElwin Sharvill QUALIFIED
Jeanfrancois S DilliardAustraliaIvan Magalhaes NEW
Aika C IturbideArgentinaStephen Shaw QUALIFIED
Frozen Columns
Name
Deepesh S Ostrosky
Ricardo S Ferencz
Ricardo N Butt
Jones Q Caldarera
Jennifer T Malet
Wickens R Vocelka
Chavez S Nicka
Salvatore H Maclead
Jones K Kolmetz
Costa T Saylors
Greenwood H Nicka
Deepesh Z Gillian
Ricardo I Royster
Antonio T Ferencz
Adams V Malet
Sinclair W Saylors
Jones Y Bowley
Wickens I Sergi
Nicolas H Tollner
Smith N Caldarera
Aika H Royster
Sinclair R Stenseth
Munro R Albares
Antonio M Bolognia
Smith B Saylors
Misaki V Dilliard
Alejandro G Bowley
Julie P Schemmer
Aika R Kusko
Francesco D Malet
Jeanfrancois A Shinko
Deepesh M Oldroyd
Rodrigues L Slusarski
Isabel C Morasca
Leon I Bolognia
Ashley B Ruta
Ricardo C Ruta
Morrow U Oldroyd
Leja F Caldarera
Jones J Oldroyd
Alejandro A Kolmetz
Cody B Oldroyd
Emily Z Iturbide
Juan L Gillian
Chavez Q Saylors
Nicolas G Kusko
Morrow E Shinko
Francesco X Marrier
Juan T Bowley
Deepesh R Nestle
IdCountryDate
1000Germany2024-05-25
1001United Kingdom2024-06-17
1002Germany2024-06-15
1003Canada2024-05-24
1004Canada2024-05-30
1005Germany2024-06-13
1006India2024-06-02
1007India2024-05-30
1008Australia2024-06-06
1009France2024-06-08
1010Spain2024-06-04
1011Russia2024-06-07
1012United Kingdom2024-05-26
1013Brazil2024-05-30
1014Argentina2024-06-16
1015Russia2024-06-06
1016Spain2024-06-08
1017Italy2024-05-25
1018India2024-06-04
1019Canada2024-06-04
1020Canada2024-06-15
1021Australia2024-05-24
1022Italy2024-06-02
1023Japan2024-06-19
1024Germany2024-06-19
1025Canada2024-06-15
1026Canada2024-06-07
1027United Kingdom2024-06-20
1028Germany2024-06-20
1029Argentina2024-06-10
1030France2024-05-30
1031Spain2024-05-28
1032Australia2024-06-16
1033Japan2024-05-28
1034Brazil2024-06-05
1035Japan2024-06-18
1036Russia2024-05-27
1037Canada2024-06-10
1038Brazil2024-06-05
1039Russia2024-06-08
1040Japan2024-06-08
1041Canada2024-06-07
1042Germany2024-06-01
1043India2024-06-19
1044France2024-06-21
1045Italy2024-05-30
1046Australia2024-06-18
1047Brazil2024-05-25
1048India2024-06-09
1049Canada2024-06-13

On-Demand Data

NameIdCountryDate
Aditya R Sergi1000Japan2024-06-18
James K Kusko1001Spain2024-06-02
Misaki A Maclead1002India2024-05-24
Clifford V Kusko1003Russia2024-06-08
Morrow F Campain1004India2024-05-26
Octavia D Nestle1005France2024-06-17
Leja W Kusko1006Japan2024-06-12
Jeanfrancois U Vocelka1007United Kingdom2024-06-05
Nicolas K Albares1008United Kingdom2024-05-28
Faith P Tollner1009Italy2024-06-14
Sinclair Q Caldarera1010Germany2024-06-06
Leja R Malet1011Germany2024-06-03
Rodrigues A Chui1012Canada2024-05-30
Juan Z Shinko1013Brazil2024-06-01
Jones Q Poquette1014Brazil2024-06-11
Aika B Chui1015Germany2024-06-08
Aika G Venere1016India2024-06-03
Cody L Maclead1017Italy2024-05-23
Jefferson G Poquette1018India2024-05-27
Maisha E Malet1019Japan2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro S VenereItalyIoni Bowcher NEGOTIATION
Mayumi J GarufiBrazilStephen Shaw UNQUALIFIED
Clifford U RutaSpainAmy Elsner RENEWAL
Faith F PaprockiArgentinaStephen Shaw PROPOSAL
Ashley I BowleyGermanyAnna Fali QUALIFIED
Smith R ButtArgentinaStephen Shaw UNQUALIFIED
Aditya S RimUnited KingdomBernardo Dominic RENEWAL
Salvatore H ChuiIndiaElwin Sharvill NEW
Wickens I WaycottItalyAmy Elsner UNQUALIFIED
Aika F KolmetzFranceAsiya Javayant RENEWAL
David V DoeAustraliaIvan Magalhaes UNQUALIFIED
Stacey F VocelkaGermanyOnyama Limba RENEWAL
Ashley M DilliardItalyIoni Bowcher NEGOTIATION
Salvatore E SaylorsFranceOnyama Limba UNQUALIFIED
Tony W GauchoRussiaXuxue Feng PROPOSAL
Octavia F WieserArgentinaIvan Magalhaes NEW
Antonio E KuskoGermanyIvan Magalhaes NEGOTIATION
Tony N GlickBrazilOnyama Limba UNQUALIFIED
Mujtaba Y GillianSpainOnyama Limba NEGOTIATION
Maisha J MorascaUnited KingdomAsiya Javayant NEW
Clifford N NestleArgentinaAmy Elsner QUALIFIED
Wickens R MorascaAustraliaAmy Elsner NEGOTIATION
Clifford X ButtRussiaAsiya Javayant RENEWAL
Francesco Q CampainJapanIvan Magalhaes RENEWAL
Greenwood V SaylorsArgentinaIoni Bowcher PROPOSAL
Cody G PaprockiArgentinaBernardo Dominic NEW
Jones I CampainCanadaAsiya Javayant QUALIFIED
Jeanfrancois V KuskoFranceElwin Sharvill RENEWAL
Kaitlin V PerinArgentinaAnna Fali UNQUALIFIED
Smith R BologniaAustraliaAmy Elsner NEGOTIATION
Juan Y DoeFranceIvan Magalhaes NEW
Francesco L SaylorsItalyAsiya Javayant NEGOTIATION
Nicolas F PerinJapanStephen Shaw NEW
Stacey G OstroskyUnited KingdomStephen Shaw RENEWAL
Juan B MacleadBrazilIoni Bowcher QUALIFIED
Costa D BriddickItalyStephen Shaw PROPOSAL
Kadeem E FlosiArgentinaIoni Bowcher UNQUALIFIED
Rodrigues X VenereCanadaOnyama Limba UNQUALIFIED
Aika B MorascaAustraliaAmy Elsner PROPOSAL
Maria S PaprockiJapanStephen Shaw PROPOSAL

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