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
Jones V PaprockiRussiaStephen Shaw PROPOSAL
Misaki O AmigonJapanAnna Fali NEGOTIATION
Johnson B AlbaresIndiaAsiya Javayant RENEWAL
Costa J RoysterRussiaStephen Shaw PROPOSAL
Tony V MorascaRussiaAsiya Javayant UNQUALIFIED
Cody I BowleyGermanyAmy Elsner QUALIFIED
Mujtaba L GlickItalyStephen Shaw RENEWAL
Aika U GarufiGermanyOnyama Limba PROPOSAL
Mujtaba A SaylorsRussiaOnyama Limba PROPOSAL
Jennifer B SlusarskiItalyStephen Shaw NEW
Silvio V SlusarskiFranceElwin Sharvill UNQUALIFIED
Faith Z ButtAustraliaStephen Shaw PROPOSAL
Julie W OstroskyIndiaBernardo Dominic NEW
Maisha I SaylorsJapanBernardo Dominic PROPOSAL
Jeanfrancois G DoeAustraliaIoni Bowcher QUALIFIED
Mayumi E DoeItalyAnna Fali NEW
Adams D FigeroaFranceIvan Magalhaes RENEWAL
Jones N NickaItalyIoni Bowcher NEW
Greenwood N FerenczSpainAmy Elsner NEW
Silvio N VocelkaGermanyStephen Shaw RENEWAL
Juan V WieserGermanyAsiya Javayant PROPOSAL
Faith R KolmetzGermanyBernardo Dominic UNQUALIFIED
Jeanfrancois E GarufiItalyIoni Bowcher PROPOSAL
Ashley G RutaSpainElwin Sharvill NEGOTIATION
Stacey G RoysterFranceAnna Fali QUALIFIED
Maisha Y GlickSpainElwin Sharvill PROPOSAL
James Y PerinCanadaAsiya Javayant PROPOSAL
Octavia J SaylorsUnited KingdomAmy Elsner PROPOSAL
Smith Z CaldareraFranceBernardo Dominic UNQUALIFIED
Salvatore X MacleadGermanyIoni Bowcher QUALIFIED
Aruna R DoeFranceXuxue Feng PROPOSAL
Octavia L BologniaRussiaXuxue Feng NEGOTIATION
Jennifer I StensethFranceXuxue Feng QUALIFIED
Mayumi N GarufiRussiaStephen Shaw NEW
Aruna V AlbaresRussiaOnyama Limba RENEWAL
Deepesh P FerenczFranceAsiya Javayant NEGOTIATION
Wickens Q OldroydRussiaAnna Fali QUALIFIED
Leja I CaudyUnited KingdomBernardo Dominic PROPOSAL
Jeanfrancois Z GlickIndiaBernardo Dominic RENEWAL
Munro T OstroskyFranceIvan Magalhaes NEW
Stacey N FigeroaRussiaOnyama Limba NEW
Alejandro T AlbaresGermanyStephen Shaw PROPOSAL
Sinclair C NickaJapanAsiya Javayant UNQUALIFIED
Sinclair G SchemmerItalyAsiya Javayant RENEWAL
Izzy I SchemmerFranceBernardo Dominic QUALIFIED
Leon S ChuiSpainStephen Shaw UNQUALIFIED
Isabel D VenereUnited KingdomXuxue Feng NEW
Ivar G MaletFranceOnyama Limba PROPOSAL
Tony Z ShinkoGermanyAmy Elsner UNQUALIFIED
Maria N NestleIndiaIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Chavez Y MaletBrazilXuxue Feng PROPOSAL
James Q GauchoUnited KingdomStephen Shaw PROPOSAL
James F FigeroaItalyBernardo Dominic RENEWAL
Costa S IturbideFranceStephen Shaw NEGOTIATION
Johnson R CaldareraBrazilAnna Fali NEGOTIATION
Darci W MacleadBrazilStephen Shaw NEGOTIATION
Kadeem M ButtGermanyIvan Magalhaes NEW
Francesco F FollerFranceIvan Magalhaes NEGOTIATION
Deepesh E RulapaughItalyAnna Fali PROPOSAL
Francesco T RulapaughJapanAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio X SaylorsSpain2025-04-18Rousseaux, Michael Esq NEW40Xuxue Feng
1001Misaki H VenereJapan2025-04-01Benton, John B Jr RENEWAL2Asiya Javayant
1002Jeanfrancois V GlickCanada2025-04-18Morlong Associates UNQUALIFIED63Stephen Shaw
1003Aika H TollnerGermany2025-04-25Rousseaux, Michael Esq PROPOSAL4Onyama Limba
1004Jefferson D MaletCanada2025-04-20Printing Dimensions UNQUALIFIED78Ioni Bowcher
1005Silvio Y AmigonItaly2025-04-12King, Christopher A Esq NEGOTIATION49Ivan Magalhaes
1006Adams C DoeRussia2025-04-14Chapman, Ross E Esq NEW90Amy Elsner
1007Ashley S IturbideBrazil2025-04-08Chanay, Jeffrey A Esq RENEWAL48Elwin Sharvill
1008Wickens Y InouyeBrazil2025-04-15Printing Dimensions NEW36Onyama Limba
1009Murillo W MorascaFrance2025-04-12Dorl, James J Esq NEGOTIATION53Anna Fali
1010Ricardo I MaletJapan2025-04-04Rousseaux, Michael Esq PROPOSAL98Elwin Sharvill
1011Alejandro O DarakjyJapan2025-04-26Rangoni Of Florence NEGOTIATION17Ivan Magalhaes
1012Arvin E ButtUnited Kingdom2025-04-14Rangoni Of Florence NEW21Onyama Limba
1013James I AlbaresGermany2025-04-26Feiner Bros UNQUALIFIED89Bernardo Dominic
1014Juan T OstroskyGermany2025-04-15Commercial Press QUALIFIED39Amy Elsner
1015James Q RutaBrazil2025-04-19Chemel, James L Cpa QUALIFIED73Asiya Javayant
1016Francesco I VocelkaAustralia2025-04-09Chemel, James L Cpa UNQUALIFIED49Xuxue Feng
1017Jennifer F FlosiItaly2025-04-04Feiner Bros PROPOSAL9Ivan Magalhaes
1018Izzy K KuskoCanada2025-04-01Commercial Press QUALIFIED1Onyama Limba
1019Jennifer H KolmetzAustralia2025-04-25Rousseaux, Michael Esq NEW32Elwin Sharvill
1020Aditya O StockhamCanada2025-04-16Dorl, James J Esq UNQUALIFIED76Bernardo Dominic
1021Stacey M VocelkaIndia2025-04-04Rangoni Of Florence NEW77Ivan Magalhaes
1022Adams S SchemmerBrazil2025-04-19Chanay, Jeffrey A Esq NEGOTIATION35Amy Elsner
1023Nicolas F FollerCanada2025-04-05Buckley Miller Wright UNQUALIFIED98Amy Elsner
1024Costa E IturbideRussia2025-04-26Truhlar And Truhlar Attys PROPOSAL98Amy Elsner
1025James Y FollerIndia2025-04-18Benton, John B Jr NEGOTIATION31Anna Fali
1026Greenwood F MarrierRussia2025-04-25Feltz Printing Service NEW87Anna Fali
1027Aruna A MaletSpain2025-04-02Rousseaux, Michael Esq UNQUALIFIED11Asiya Javayant
1028Francesco Z KolmetzRussia2025-04-23Benton, John B Jr RENEWAL65Onyama Limba
1029Munro A StockhamUnited Kingdom2025-04-10Truhlar And Truhlar Attys RENEWAL54Xuxue Feng
1030Julie F DarakjyJapan2025-04-27Feltz Printing Service NEGOTIATION81Xuxue Feng
1031Francesco T KuskoBrazil2025-04-06Truhlar And Truhlar Attys RENEWAL2Anna Fali
1032Costa H FollerFrance2025-04-23King, Christopher A Esq RENEWAL0Asiya Javayant
1033James P CampainArgentina2025-04-20King, Christopher A Esq QUALIFIED65Ivan Magalhaes
1034Sinclair T MarrierGermany2025-04-15Printing Dimensions NEW53Amy Elsner
1035Ricardo A ChuiIndia2025-04-11Buckley Miller Wright PROPOSAL43Anna Fali
1036Stacey A PerinArgentina2025-04-19Rangoni Of Florence PROPOSAL59Anna Fali
1037Leon F BowleyRussia2025-04-06Feiner Bros RENEWAL55Asiya Javayant
1038Izzy D ButtSpain2025-04-12Truhlar And Truhlar Attys PROPOSAL33Bernardo Dominic
1039Silvio Q FlosiFrance2025-04-24Truhlar And Truhlar Attys QUALIFIED51Ivan Magalhaes
1040Aika K PaprockiRussia2025-04-12King, Christopher A Esq QUALIFIED68Stephen Shaw
1041Jones S GillianArgentina2025-04-07Dorl, James J Esq UNQUALIFIED64Asiya Javayant
1042Faith P MaletBrazil2025-04-11King, Christopher A Esq NEGOTIATION99Onyama Limba
1043Jeanfrancois X StockhamCanada2025-04-22Printing Dimensions NEGOTIATION16Ioni Bowcher
1044Misaki J RoysterIndia2025-04-04Feiner Bros NEW44Amy Elsner
1045Mayumi Y VocelkaSpain2025-04-30Rousseaux, Michael Esq NEGOTIATION46Amy Elsner
1046Stacey I VocelkaGermany2025-04-20Buckley Miller Wright NEGOTIATION59Ivan Magalhaes
1047Johnson O BologniaCanada2025-04-03Truhlar And Truhlar Attys NEW66Elwin Sharvill
1048Jennifer S PaprockiUnited Kingdom2025-04-04Morlong Associates NEW51Anna Fali
1049Clifford X VocelkaUnited Kingdom2025-04-20Feiner Bros NEW60Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Julie F StensethUnited KingdomXuxue Feng NEGOTIATION
Jeanfrancois T SlusarskiArgentinaOnyama Limba QUALIFIED
Francesco M DarakjyArgentinaIoni Bowcher NEGOTIATION
Tony V AmigonBrazilAsiya Javayant QUALIFIED
Antonio I CaldareraRussiaIvan Magalhaes UNQUALIFIED
Sinclair S FlosiGermanyAnna Fali PROPOSAL
Arvin V DarakjyItalyBernardo Dominic RENEWAL
Claire E FigeroaSpainIoni Bowcher QUALIFIED
Stacey H FlosiItalyAsiya Javayant QUALIFIED
Greenwood O GarufiItalyAnna Fali NEW
Cody A KuskoBrazilElwin Sharvill NEW
James W ButtUnited KingdomElwin Sharvill NEW
Ashley Y PaprockiIndiaAmy Elsner PROPOSAL
Morrow Q RulapaughGermanyOnyama Limba NEW
Faith T MaletSpainStephen Shaw RENEWAL
Jones W AmigonGermanyBernardo Dominic QUALIFIED
Smith L KuskoGermanyIoni Bowcher QUALIFIED
Munro O SchemmerBrazilElwin Sharvill UNQUALIFIED
Isabel E PaprockiRussiaElwin Sharvill UNQUALIFIED
Alejandro Y StockhamAustraliaIvan Magalhaes QUALIFIED
Aika W MaletUnited KingdomElwin Sharvill PROPOSAL
Leon Y FollerBrazilOnyama Limba PROPOSAL
Julie M MaletCanadaXuxue Feng UNQUALIFIED
Juan M NickaUnited KingdomElwin Sharvill NEW
Salvatore S SaylorsItalyIvan Magalhaes NEW
Nicolas K FlosiRussiaIoni Bowcher UNQUALIFIED
Arvin R SchemmerFranceAnna Fali PROPOSAL
Salvatore R WaycottFranceXuxue Feng UNQUALIFIED
Wickens E SaylorsBrazilBernardo Dominic QUALIFIED
Claire X SergiBrazilAmy Elsner NEW
Faith N AlbaresBrazilXuxue Feng UNQUALIFIED
Alejandro R PaprockiUnited KingdomStephen Shaw QUALIFIED
Francesco L WaycottRussiaBernardo Dominic PROPOSAL
Clifford H GauchoFranceAnna Fali NEW
Munro W GillianCanadaXuxue Feng NEW
Costa I InouyeArgentinaIvan Magalhaes NEGOTIATION
Kaitlin Z FollerIndiaOnyama Limba RENEWAL
Smith I BriddickGermanyAmy Elsner NEW
Salvatore G WhobreyAustraliaAnna Fali RENEWAL
Clifford K RulapaughSpainBernardo Dominic UNQUALIFIED
Adams Q WieserArgentinaIoni Bowcher QUALIFIED
Mayumi H SergiJapanXuxue Feng PROPOSAL
Clifford O GlickArgentinaIvan Magalhaes NEW
Aditya H SaylorsRussiaStephen Shaw QUALIFIED
Emily H KolmetzGermanyAsiya Javayant NEGOTIATION
Jeanfrancois B NestleJapanAnna Fali QUALIFIED
James J DilliardBrazilElwin Sharvill UNQUALIFIED
Munro B RoysterBrazilBernardo Dominic NEGOTIATION
Maisha O WhobreyArgentinaAnna Fali RENEWAL
Kadeem V RimAustraliaAnna Fali NEW
Frozen Columns
Name
Tony V Poquette
Jennifer M Bolognia
Greenwood U Whobrey
Isabel F Nicka
Kaitlin E Stockham
Emily C Rulapaugh
Silvio T Glick
Ashley A Marrier
Maria T Slusarski
Aruna D Waycott
Emily L Figeroa
Morrow N Maclead
Greenwood F Shinko
Octavia L Royster
Mayumi Y Wieser
Aruna K Figeroa
Kaitlin F Foller
Izzy D Caudy
Clifford F Amigon
Emily W Morasca
Alejandro X Caldarera
Sinclair L Saylors
Salvatore C Waycott
Ricardo F Venere
Ashley H Darakjy
Smith B Butt
Isabel A Morasca
Jefferson B Stockham
Nicolas B Waycott
Clifford Q Whobrey
Izzy G Waycott
Morrow K Perin
Jennifer X Saylors
Munro B Caudy
Jennifer T Bowley
Salvatore H Marrier
Maria K Nestle
Costa G Sergi
Costa L Campain
Aika F Sergi
Julie H Paprocki
Sinclair I Saylors
Aditya J Kusko
Jennifer Y Stenseth
Mujtaba Y Perin
Clifford S Kusko
Maisha E Nestle
Misaki C Paprocki
Silvio O Iturbide
Murillo R Chui
IdCountryDate
1000Canada2025-04-05
1001Canada2025-04-10
1002Canada2025-04-15
1003Italy2025-04-29
1004Australia2025-04-09
1005Argentina2025-04-26
1006Australia2025-04-19
1007Argentina2025-04-19
1008Russia2025-04-18
1009Spain2025-04-20
1010Brazil2025-04-29
1011Argentina2025-04-05
1012Canada2025-04-13
1013Canada2025-04-07
1014Canada2025-04-15
1015France2025-04-03
1016Italy2025-04-18
1017Italy2025-04-22
1018Brazil2025-04-09
1019Australia2025-04-18
1020India2025-04-06
1021Italy2025-04-09
1022United Kingdom2025-04-26
1023Spain2025-04-09
1024United Kingdom2025-04-06
1025Argentina2025-04-21
1026Russia2025-04-07
1027Canada2025-04-11
1028Japan2025-04-27
1029Argentina2025-04-21
1030Japan2025-04-21
1031France2025-04-04
1032Brazil2025-04-12
1033Spain2025-04-02
1034Australia2025-04-03
1035Japan2025-04-17
1036Canada2025-04-18
1037France2025-04-28
1038France2025-04-30
1039Germany2025-04-14
1040Argentina2025-04-15
1041India2025-04-01
1042Brazil2025-04-27
1043Russia2025-04-10
1044Germany2025-04-25
1045Russia2025-04-19
1046France2025-04-08
1047Canada2025-04-03
1048Australia2025-04-15
1049Brazil2025-04-02

On-Demand Data

NameIdCountryDate
Maria T Paprocki1000Italy2025-04-11
Silvio P Kolmetz1001Australia2025-04-10
Deepesh T Caldarera1002Italy2025-04-16
Sinclair R Sergi1003Argentina2025-04-01
Mayumi S Oldroyd1004France2025-04-12
Salvatore Z Poquette1005Italy2025-04-25
Salvatore G Stockham1006Brazil2025-04-17
Octavia L Malet1007Germany2025-04-17
Isabel L Vocelka1008Spain2025-04-05
Chavez M Bowley1009Italy2025-04-22
James S Maclead1010Spain2025-04-21
Morrow J Flosi1011Spain2025-04-24
Isabel L Doe1012France2025-04-11
Murillo S Amigon1013Russia2025-04-24
Stacey D Ostrosky1014Australia2025-04-22
Greenwood W Perin1015Argentina2025-04-16
Emily X Inouye1016United Kingdom2025-04-23
Deepesh U Amigon1017Australia2025-04-20
Faith I Amigon1018Russia2025-04-18
Jennifer L Stockham1019Russia2025-04-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo V DoeCanadaStephen Shaw RENEWAL
Aika C DoeUnited KingdomStephen Shaw RENEWAL
Costa D GillianUnited KingdomIoni Bowcher NEGOTIATION
Greenwood S MacleadAustraliaIvan Magalhaes PROPOSAL
Claire G DarakjyJapanXuxue Feng UNQUALIFIED
Wickens V NickaItalyXuxue Feng QUALIFIED
Leja F PerinCanadaOnyama Limba NEGOTIATION
Misaki Y GarufiUnited KingdomIvan Magalhaes QUALIFIED
Smith K CaudySpainElwin Sharvill NEGOTIATION
Octavia V VocelkaFranceElwin Sharvill NEW
Ricardo E PaprockiBrazilAmy Elsner RENEWAL
Mujtaba F AlbaresArgentinaIoni Bowcher PROPOSAL
Nicolas F TollnerGermanyOnyama Limba UNQUALIFIED
Aika P ChuiFranceIvan Magalhaes UNQUALIFIED
Clifford H MorascaUnited KingdomElwin Sharvill UNQUALIFIED
Aika E ButtArgentinaIvan Magalhaes NEGOTIATION
Chavez Q NickaFranceAnna Fali QUALIFIED
Emily X DarakjySpainAsiya Javayant NEGOTIATION
Emily X CaldareraUnited KingdomIvan Magalhaes NEW
Mayumi C FigeroaItalyAnna Fali QUALIFIED
Stacey L BowleyItalyXuxue Feng NEW
Jones R DilliardUnited KingdomIoni Bowcher UNQUALIFIED
Julie J KuskoItalyIvan Magalhaes RENEWAL
Adams Q TollnerAustraliaIvan Magalhaes NEW
Kaitlin T WaycottItalyBernardo Dominic RENEWAL
Faith Z SlusarskiGermanyElwin Sharvill RENEWAL
Aditya O MarrierSpainAnna Fali QUALIFIED
Octavia U RoysterJapanAnna Fali UNQUALIFIED
Cody R SaylorsUnited KingdomIoni Bowcher RENEWAL
Kaitlin Z IturbideArgentinaXuxue Feng UNQUALIFIED
Izzy W CaudyAustraliaStephen Shaw PROPOSAL
Costa N GarufiFranceOnyama Limba UNQUALIFIED
Julie I AlbaresBrazilElwin Sharvill PROPOSAL
Aditya U CampainArgentinaIvan Magalhaes NEW
Chavez A PaprockiGermanyStephen Shaw QUALIFIED
Arvin X FollerFranceStephen Shaw PROPOSAL
Faith Y SergiRussiaIvan Magalhaes NEGOTIATION
Stacey F ChuiUnited KingdomAnna Fali QUALIFIED
Jefferson D CaudySpainOnyama Limba RENEWAL
Maisha R KolmetzRussiaIoni Bowcher 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>