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
Octavia B SergiSpainAmy Elsner NEGOTIATION
Munro T VenereIndiaAnna Fali NEW
Munro Z KuskoIndiaIoni Bowcher NEW
Jennifer V FlosiGermanyStephen Shaw QUALIFIED
Jeanfrancois S BowleySpainStephen Shaw UNQUALIFIED
Smith P DarakjyRussiaAsiya Javayant RENEWAL
Juan D PaprockiIndiaIoni Bowcher UNQUALIFIED
Salvatore L RimAustraliaOnyama Limba PROPOSAL
Morrow P IturbideJapanAsiya Javayant NEW
Ashley T DilliardArgentinaAsiya Javayant NEW
Faith S WaycottCanadaBernardo Dominic RENEWAL
Ricardo W TollnerAustraliaBernardo Dominic RENEWAL
Maisha J RutaJapanBernardo Dominic QUALIFIED
Leja P MaletFranceStephen Shaw PROPOSAL
Johnson G PoquetteCanadaAmy Elsner NEW
Aruna T RulapaughSpainAnna Fali RENEWAL
Ashley M FlosiItalyAnna Fali NEGOTIATION
Leon H MaletRussiaXuxue Feng UNQUALIFIED
Stacey E WhobreySpainXuxue Feng QUALIFIED
Jefferson T BowleyAustraliaBernardo Dominic NEGOTIATION
Nicolas T FollerJapanBernardo Dominic NEW
Costa Z SlusarskiGermanyAnna Fali UNQUALIFIED
Leon T FlosiCanadaBernardo Dominic PROPOSAL
Antonio E GarufiAustraliaAmy Elsner QUALIFIED
Tony V CaudyAustraliaStephen Shaw QUALIFIED
Chavez E RutaArgentinaOnyama Limba PROPOSAL
Costa Q CaldareraFranceIvan Magalhaes UNQUALIFIED
Mujtaba C StensethGermanyStephen Shaw NEGOTIATION
Leja O GillianIndiaIoni Bowcher NEGOTIATION
Alejandro W InouyeUnited KingdomIoni Bowcher NEW
Izzy V StockhamSpainAmy Elsner NEW
Leja G KolmetzCanadaElwin Sharvill UNQUALIFIED
Murillo H GauchoArgentinaStephen Shaw NEGOTIATION
Alejandro Q AlbaresArgentinaStephen Shaw UNQUALIFIED
Clifford A NickaBrazilOnyama Limba QUALIFIED
Ashley S VenereAustraliaBernardo Dominic PROPOSAL
Maisha I SchemmerBrazilIvan Magalhaes UNQUALIFIED
Cody L SergiJapanAnna Fali UNQUALIFIED
Maisha D RutaIndiaXuxue Feng RENEWAL
Morrow I FigeroaCanadaOnyama Limba NEGOTIATION
Emily Z DarakjyRussiaXuxue Feng UNQUALIFIED
Kadeem O SaylorsArgentinaStephen Shaw UNQUALIFIED
Misaki N BologniaUnited KingdomElwin Sharvill QUALIFIED
Emily O WhobreyCanadaOnyama Limba NEGOTIATION
Chavez E RimAustraliaBernardo Dominic UNQUALIFIED
Arvin Y BowleyUnited KingdomIoni Bowcher QUALIFIED
Morrow U CaldareraArgentinaStephen Shaw RENEWAL
Nicolas E StockhamSpainOnyama Limba NEGOTIATION
Aruna F PoquetteJapanAsiya Javayant NEW
Arvin H AlbaresCanadaElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Murillo J WieserItalyAsiya Javayant QUALIFIED
Salvatore K SchemmerGermanyAsiya Javayant RENEWAL
Sinclair U DarakjyIndiaXuxue Feng QUALIFIED
Wickens K VenereArgentinaOnyama Limba NEW
Ivar K NickaUnited KingdomBernardo Dominic PROPOSAL
Kadeem Z GauchoJapanAmy Elsner NEGOTIATION
Wickens N TollnerCanadaOnyama Limba UNQUALIFIED
Greenwood R WieserBrazilElwin Sharvill NEW
Jones U OstroskyIndiaStephen Shaw QUALIFIED
David A StensethAustraliaIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro R SlusarskiJapan2024-05-28Benton, John B Jr NEGOTIATION60Elwin Sharvill
1001Claire N OldroydCanada2024-06-07Benton, John B Jr QUALIFIED3Bernardo Dominic
1002Mujtaba Q FlosiRussia2024-06-19Printing Dimensions RENEWAL21Asiya Javayant
1003Rodrigues Z AlbaresIndia2024-06-18Dorl, James J Esq RENEWAL27Elwin Sharvill
1004Nicolas Q AmigonSpain2024-05-27Benton, John B Jr NEGOTIATION31Xuxue Feng
1005Cody D StensethAustralia2024-06-18Dorl, James J Esq QUALIFIED6Xuxue Feng
1006Jeanfrancois J BowleyItaly2024-06-13Buckley Miller Wright QUALIFIED85Xuxue Feng
1007Deepesh W CaudyArgentina2024-06-02King, Christopher A Esq RENEWAL94Amy Elsner
1008Mujtaba D PerinFrance2024-06-10Chanay, Jeffrey A Esq RENEWAL33Xuxue Feng
1009David T MorascaJapan2024-05-30King, Christopher A Esq RENEWAL52Xuxue Feng
1010Ivar V FlosiFrance2024-05-28Commercial Press NEW79Xuxue Feng
1011Costa G PoquetteIndia2024-06-20Feiner Bros NEW77Ioni Bowcher
1012Tony F FollerGermany2024-05-29Chemel, James L Cpa NEW26Ivan Magalhaes
1013Chavez O WieserArgentina2024-06-20Benton, John B Jr NEW13Bernardo Dominic
1014Silvio Q MacleadAustralia2024-05-31Chapman, Ross E Esq QUALIFIED67Onyama Limba
1015Francesco N CaudyJapan2024-06-01Benton, John B Jr PROPOSAL23Onyama Limba
1016James H VocelkaIndia2024-06-20Morlong Associates QUALIFIED75Onyama Limba
1017Silvio P IturbideBrazil2024-05-25Rangoni Of Florence QUALIFIED47Amy Elsner
1018Munro I GarufiRussia2024-06-17King, Christopher A Esq QUALIFIED89Ioni Bowcher
1019Tony F TollnerCanada2024-06-20Printing Dimensions UNQUALIFIED46Asiya Javayant
1020Alejandro W MaletIndia2024-06-10Commercial Press RENEWAL52Bernardo Dominic
1021Arvin L MacleadSpain2024-05-26Feiner Bros NEGOTIATION88Ivan Magalhaes
1022James T FerenczItaly2024-06-18Chanay, Jeffrey A Esq QUALIFIED15Amy Elsner
1023Jeanfrancois U PoquetteCanada2024-05-27Dorl, James J Esq UNQUALIFIED28Elwin Sharvill
1024Ashley X RimCanada2024-06-09Morlong Associates PROPOSAL62Stephen Shaw
1025Costa S SlusarskiJapan2024-06-04Chemel, James L Cpa NEW5Xuxue Feng
1026David I BowleyIndia2024-06-19Chanay, Jeffrey A Esq QUALIFIED98Stephen Shaw
1027Wickens Y StockhamCanada2024-06-02King, Christopher A Esq NEW78Stephen Shaw
1028Munro S SchemmerBrazil2024-06-23Buckley Miller Wright NEGOTIATION90Ivan Magalhaes
1029Deepesh K RutaRussia2024-06-01Buckley Miller Wright NEGOTIATION13Xuxue Feng
1030Darci D InouyeBrazil2024-05-26Rangoni Of Florence PROPOSAL39Ioni Bowcher
1031Maria M IturbideJapan2024-06-13Commercial Press NEW79Ioni Bowcher
1032Sinclair D PerinGermany2024-05-25Rousseaux, Michael Esq QUALIFIED53Stephen Shaw
1033Nicolas O NickaIndia2024-06-18Benton, John B Jr NEGOTIATION98Ioni Bowcher
1034Murillo O InouyeCanada2024-06-02Morlong Associates UNQUALIFIED32Bernardo Dominic
1035Misaki L AmigonItaly2024-06-08Commercial Press RENEWAL64Xuxue Feng
1036Octavia E PaprockiCanada2024-06-03Chemel, James L Cpa RENEWAL89Onyama Limba
1037Kaitlin M ButtRussia2024-06-19Feltz Printing Service RENEWAL68Elwin Sharvill
1038Cody X GillianGermany2024-06-09Feltz Printing Service RENEWAL93Ivan Magalhaes
1039Smith Z RulapaughGermany2024-06-03Feltz Printing Service QUALIFIED58Ivan Magalhaes
1040Adams L WieserSpain2024-06-22Truhlar And Truhlar Attys NEW93Stephen Shaw
1041Jones O CampainGermany2024-06-10Rangoni Of Florence RENEWAL35Elwin Sharvill
1042Claire B BriddickUnited Kingdom2024-06-22Rousseaux, Michael Esq RENEWAL78Onyama Limba
1043Leon O FigeroaUnited Kingdom2024-06-14Benton, John B Jr UNQUALIFIED89Ivan Magalhaes
1044David L SaylorsArgentina2024-06-05Dorl, James J Esq PROPOSAL52Amy Elsner
1045Stacey D KuskoSpain2024-06-01Truhlar And Truhlar Attys NEGOTIATION32Bernardo Dominic
1046Leon Q CampainFrance2024-05-26Dorl, James J Esq UNQUALIFIED38Stephen Shaw
1047Leja T SlusarskiUnited Kingdom2024-06-09Printing Dimensions QUALIFIED47Anna Fali
1048Munro T OldroydUnited Kingdom2024-05-28Truhlar And Truhlar Attys RENEWAL35Asiya Javayant
1049Antonio Y FollerJapan2024-06-19Chapman, Ross E Esq RENEWAL36Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Aika N FollerRussiaAmy Elsner NEW
Ricardo H MacleadCanadaAnna Fali NEGOTIATION
Darci M StockhamUnited KingdomBernardo Dominic PROPOSAL
Alejandro R StockhamJapanAnna Fali RENEWAL
David Q NickaBrazilIoni Bowcher NEGOTIATION
Johnson R KolmetzIndiaAnna Fali UNQUALIFIED
Salvatore O SergiFranceAsiya Javayant RENEWAL
Smith D OldroydJapanIoni Bowcher UNQUALIFIED
Silvio K MaletAustraliaAmy Elsner QUALIFIED
Maria W GillianCanadaAnna Fali PROPOSAL
Johnson F OstroskySpainAmy Elsner QUALIFIED
Claire Q DarakjyRussiaXuxue Feng NEW
Mayumi O BologniaItalyAnna Fali NEGOTIATION
Izzy I CaldareraUnited KingdomBernardo Dominic RENEWAL
Tony Q AmigonBrazilAnna Fali RENEWAL
Aditya U GauchoGermanyStephen Shaw NEW
Jones T SlusarskiArgentinaIvan Magalhaes NEW
Francesco Y OldroydCanadaAsiya Javayant NEGOTIATION
Wickens W DilliardIndiaXuxue Feng NEGOTIATION
Arvin G MacleadFranceBernardo Dominic UNQUALIFIED
Claire Z CampainBrazilIvan Magalhaes NEGOTIATION
Isabel K VocelkaCanadaIoni Bowcher NEW
Izzy C ChuiItalyOnyama Limba UNQUALIFIED
Aruna A ChuiArgentinaIvan Magalhaes RENEWAL
Mujtaba M InouyeItalyBernardo Dominic NEGOTIATION
Sinclair W ButtIndiaOnyama Limba UNQUALIFIED
Silvio T RimAustraliaAmy Elsner RENEWAL
Costa Z ChuiUnited KingdomBernardo Dominic UNQUALIFIED
Clifford C ChuiGermanyIoni Bowcher RENEWAL
Aruna P NickaAustraliaXuxue Feng RENEWAL
Murillo X IturbideGermanyElwin Sharvill NEW
Emily L CampainIndiaIvan Magalhaes QUALIFIED
Misaki N MacleadCanadaXuxue Feng RENEWAL
Kadeem N IturbideIndiaIvan Magalhaes RENEWAL
Jeanfrancois J MacleadItalyIvan Magalhaes PROPOSAL
Leon O MaletArgentinaBernardo Dominic UNQUALIFIED
Adams V PerinIndiaAnna Fali UNQUALIFIED
Isabel X KuskoAustraliaIvan Magalhaes QUALIFIED
Misaki D RimSpainIoni Bowcher QUALIFIED
Jennifer D BologniaItalyAnna Fali PROPOSAL
Claire P StensethIndiaOnyama Limba QUALIFIED
Leja J DilliardSpainStephen Shaw QUALIFIED
Adams M GarufiFranceBernardo Dominic PROPOSAL
Adams L OstroskyItalyStephen Shaw NEGOTIATION
Clifford L RutaBrazilAnna Fali NEGOTIATION
Sinclair S MaletAustraliaAmy Elsner UNQUALIFIED
Misaki L PaprockiCanadaStephen Shaw QUALIFIED
Clifford K StockhamBrazilElwin Sharvill RENEWAL
Aika V DarakjyRussiaOnyama Limba RENEWAL
Julie C ShinkoIndiaBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Silvio G Royster
Johnson D Butt
Ashley Y Poquette
Jeanfrancois N Gaucho
Maria R Shinko
Claire R Caudy
Greenwood W Malet
Jennifer K Ruta
Misaki J Flosi
Leja X Vocelka
Johnson M Royster
Leon Q Amigon
Murillo L Garufi
Johnson L Nestle
Isabel N Rulapaugh
Stacey K Bowley
Tony X Figeroa
Stacey T Briddick
Aditya H Kusko
Salvatore X Malet
Isabel C Amigon
Misaki Y Waycott
Silvio E Foller
Juan D Campain
Jefferson P Amigon
Mujtaba X Campain
Juan W Foller
Nicolas N Waycott
Claire R Malet
Jennifer V Glick
Kadeem N Doe
Rodrigues M Ostrosky
Chavez I Ostrosky
Jennifer X Perin
Murillo M Vocelka
Sinclair B Rim
Nicolas J Royster
Leja E Nicka
Julie P Waycott
Isabel R Bolognia
Julie R Ostrosky
Octavia L Gaucho
Kadeem W Malet
Maisha Z Whobrey
Francesco O Briddick
Munro P Campain
Aditya N Waycott
Rodrigues S Whobrey
Deepesh E Oldroyd
Arvin X Poquette
IdCountryDate
1000Australia2024-06-19
1001Brazil2024-06-17
1002Japan2024-05-30
1003Canada2024-05-29
1004Argentina2024-05-27
1005Argentina2024-06-15
1006Brazil2024-06-11
1007France2024-06-16
1008Canada2024-06-21
1009Argentina2024-06-04
1010India2024-06-01
1011Brazil2024-06-13
1012United Kingdom2024-06-06
1013Argentina2024-05-30
1014Spain2024-06-11
1015Russia2024-05-26
1016Germany2024-06-02
1017Italy2024-06-03
1018Japan2024-06-13
1019Japan2024-06-03
1020Germany2024-06-12
1021United Kingdom2024-06-05
1022United Kingdom2024-06-21
1023Germany2024-06-13
1024Italy2024-06-08
1025Russia2024-06-12
1026India2024-06-19
1027Russia2024-05-28
1028Japan2024-06-23
1029Italy2024-06-09
1030Russia2024-06-03
1031Spain2024-06-23
1032Canada2024-05-31
1033India2024-06-08
1034France2024-06-01
1035Brazil2024-05-31
1036Canada2024-06-16
1037Australia2024-05-27
1038France2024-06-23
1039Canada2024-06-01
1040Argentina2024-06-05
1041France2024-05-27
1042Argentina2024-06-15
1043Argentina2024-06-16
1044Italy2024-06-09
1045United Kingdom2024-06-07
1046Canada2024-06-07
1047Italy2024-06-09
1048France2024-06-16
1049United Kingdom2024-06-22

On-Demand Data

NameIdCountryDate
Costa R Bolognia1000Italy2024-06-06
Leja B Rim1001France2024-06-13
Darci D Foller1002Argentina2024-06-11
Maria I Caudy1003India2024-06-05
Ashley L Briddick1004Brazil2024-06-01
Clifford P Kolmetz1005Germany2024-06-10
Jefferson T Tollner1006India2024-06-19
Mayumi J Foller1007Germany2024-06-18
Costa L Gaucho1008Japan2024-06-23
Morrow X Shinko1009Germany2024-06-14
Aika I Shinko1010Canada2024-05-26
Costa I Malet1011Argentina2024-06-17
Claire U Kolmetz1012India2024-06-08
Faith J Royster1013Canada2024-05-28
Darci D Gaucho1014France2024-05-29
David M Stockham1015France2024-05-25
Tony Q Kolmetz1016Australia2024-05-29
Claire M Malet1017Brazil2024-06-19
Antonio Y Briddick1018Brazil2024-05-29
Leja J Dilliard1019Brazil2024-06-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki O RutaItalyIoni Bowcher RENEWAL
Mujtaba A MaletRussiaOnyama Limba PROPOSAL
Octavia P MarrierJapanBernardo Dominic UNQUALIFIED
Izzy V InouyeAustraliaAmy Elsner NEW
Maisha N CaudyCanadaAmy Elsner NEW
Jeanfrancois X ButtAustraliaAsiya Javayant UNQUALIFIED
Rodrigues O RimAustraliaXuxue Feng NEW
Cody E GlickItalyOnyama Limba NEW
Ivar Q BriddickAustraliaBernardo Dominic PROPOSAL
Ivar S MaletFranceXuxue Feng NEGOTIATION
Kaitlin A KolmetzRussiaIoni Bowcher NEW
Adams L InouyeJapanIvan Magalhaes UNQUALIFIED
Ricardo E StockhamItalyAsiya Javayant QUALIFIED
Ivar Q RoysterItalyIvan Magalhaes UNQUALIFIED
Ivar Q AmigonArgentinaXuxue Feng NEGOTIATION
Octavia V AmigonSpainBernardo Dominic NEW
Jeanfrancois H WhobreyArgentinaStephen Shaw QUALIFIED
Jefferson T AmigonCanadaBernardo Dominic PROPOSAL
Smith L TollnerIndiaElwin Sharvill QUALIFIED
Mujtaba B MorascaArgentinaOnyama Limba PROPOSAL
Leja G KuskoBrazilXuxue Feng NEW
Morrow V PoquetteIndiaAsiya Javayant NEGOTIATION
Ricardo C FerenczItalyIoni Bowcher UNQUALIFIED
Silvio U WieserSpainAmy Elsner NEGOTIATION
Tony J RulapaughArgentinaStephen Shaw NEW
Salvatore X RoysterFranceIvan Magalhaes QUALIFIED
Jones W MacleadIndiaAmy Elsner UNQUALIFIED
Isabel D WieserRussiaAmy Elsner NEGOTIATION
Chavez A VenereSpainElwin Sharvill NEW
Kadeem S PaprockiAustraliaAnna Fali RENEWAL
Leja T WaycottRussiaStephen Shaw QUALIFIED
Arvin X AmigonRussiaOnyama Limba NEGOTIATION
David D MaletItalyOnyama Limba UNQUALIFIED
Adams X FlosiItalyAnna Fali RENEWAL
Munro M AmigonBrazilOnyama Limba NEW
Stacey O AmigonRussiaAnna Fali NEW
David H DarakjyGermanyXuxue Feng QUALIFIED
Adams D BologniaArgentinaIoni Bowcher NEGOTIATION
Deepesh Z SaylorsGermanyIoni Bowcher NEGOTIATION
Rodrigues S PaprockiAustraliaStephen Shaw 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>