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
Claire I FollerBrazilIoni Bowcher RENEWAL
Ashley X BologniaAustraliaOnyama Limba RENEWAL
James S DoeArgentinaAnna Fali RENEWAL
Antonio I SaylorsIndiaIvan Magalhaes RENEWAL
Aditya D FerenczAustraliaElwin Sharvill RENEWAL
Alejandro N RutaBrazilAsiya Javayant RENEWAL
Maria T ShinkoArgentinaOnyama Limba UNQUALIFIED
Emily S CaudyFranceIoni Bowcher QUALIFIED
Chavez K VenereArgentinaAnna Fali NEGOTIATION
Maria B BriddickSpainAsiya Javayant NEW
Deepesh F CaudyItalyStephen Shaw PROPOSAL
Nicolas H GarufiFranceIoni Bowcher NEGOTIATION
Clifford G VocelkaRussiaOnyama Limba QUALIFIED
Cody I DoeSpainIoni Bowcher NEW
Nicolas L NickaJapanAsiya Javayant PROPOSAL
Claire V SaylorsGermanyAmy Elsner QUALIFIED
Murillo F PoquetteSpainOnyama Limba PROPOSAL
Johnson N BologniaAustraliaAnna Fali PROPOSAL
Johnson F PoquetteAustraliaElwin Sharvill RENEWAL
David P KolmetzAustraliaAsiya Javayant RENEWAL
Leja G OstroskyJapanAnna Fali RENEWAL
Aika N RutaItalyAnna Fali NEGOTIATION
Silvio Q SchemmerCanadaStephen Shaw PROPOSAL
Sinclair L RimBrazilAmy Elsner RENEWAL
Tony R PaprockiSpainAmy Elsner RENEWAL
Aditya A PerinBrazilAsiya Javayant QUALIFIED
Munro N BologniaUnited KingdomOnyama Limba NEW
Clifford J KolmetzGermanyOnyama Limba QUALIFIED
Aruna P AlbaresUnited KingdomElwin Sharvill QUALIFIED
Silvio U VocelkaAustraliaAmy Elsner QUALIFIED
Murillo U ButtJapanAmy Elsner RENEWAL
Maria D KolmetzFranceBernardo Dominic NEW
James R DoeUnited KingdomElwin Sharvill RENEWAL
Claire S GillianUnited KingdomAmy Elsner PROPOSAL
Ivar V MarrierAustraliaBernardo Dominic QUALIFIED
James B FigeroaJapanAmy Elsner UNQUALIFIED
Julie R DilliardBrazilElwin Sharvill RENEWAL
Nicolas P GlickIndiaIvan Magalhaes NEGOTIATION
Ashley G CaldareraGermanyAmy Elsner QUALIFIED
Emily H RulapaughBrazilBernardo Dominic UNQUALIFIED
Ricardo E DilliardFranceAsiya Javayant NEGOTIATION
Salvatore E WhobreyBrazilElwin Sharvill UNQUALIFIED
Isabel L KuskoFranceIvan Magalhaes NEW
Misaki Z OstroskyBrazilOnyama Limba QUALIFIED
Claire I CampainJapanElwin Sharvill UNQUALIFIED
Deepesh Q MaletBrazilIoni Bowcher RENEWAL
Deepesh K KuskoIndiaAnna Fali UNQUALIFIED
Ashley I ButtGermanyAnna Fali UNQUALIFIED
Maisha Q GillianSpainXuxue Feng NEGOTIATION
Jeanfrancois M BowleyRussiaStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Deepesh K SlusarskiIndiaBernardo Dominic RENEWAL
Ricardo I KuskoCanadaAnna Fali UNQUALIFIED
Sinclair N ChuiGermanyIvan Magalhaes PROPOSAL
Salvatore U RimRussiaIvan Magalhaes UNQUALIFIED
Jones J FigeroaArgentinaAsiya Javayant NEW
Leja D RutaItalyBernardo Dominic NEGOTIATION
Jeanfrancois O SlusarskiSpainIoni Bowcher RENEWAL
Emily L FollerCanadaStephen Shaw RENEWAL
Maria Z RutaIndiaElwin Sharvill NEGOTIATION
Juan B SchemmerItalyStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow X MaletUnited Kingdom2025-04-25Rousseaux, Michael Esq NEW89Asiya Javayant
1001Julie K AmigonBrazil2025-04-10Rangoni Of Florence RENEWAL50Asiya Javayant
1002Juan L CaldareraSpain2025-04-23Dorl, James J Esq QUALIFIED66Amy Elsner
1003Mujtaba E GillianFrance2025-04-16Chapman, Ross E Esq NEGOTIATION53Amy Elsner
1004Kaitlin L SchemmerGermany2025-04-10Feltz Printing Service PROPOSAL21Bernardo Dominic
1005Misaki T AlbaresIndia2025-04-17Printing Dimensions QUALIFIED36Xuxue Feng
1006Ricardo O TollnerIndia2025-04-22Morlong Associates UNQUALIFIED90Anna Fali
1007Claire V NickaAustralia2025-04-04Feiner Bros RENEWAL41Onyama Limba
1008Clifford U VenereRussia2025-04-04Morlong Associates QUALIFIED33Asiya Javayant
1009Wickens J FigeroaJapan2025-04-07Dorl, James J Esq UNQUALIFIED86Anna Fali
1010Chavez D FlosiIndia2025-04-20Feltz Printing Service UNQUALIFIED85Ivan Magalhaes
1011Tony W VenereFrance2025-04-19Benton, John B Jr PROPOSAL13Amy Elsner
1012Salvatore P WhobreyRussia2025-04-01Feltz Printing Service RENEWAL41Onyama Limba
1013Salvatore S AmigonUnited Kingdom2025-04-23Chapman, Ross E Esq NEW46Elwin Sharvill
1014Darci P RulapaughArgentina2025-04-01Printing Dimensions UNQUALIFIED42Onyama Limba
1015Maria P MacleadUnited Kingdom2025-04-16Rangoni Of Florence NEW29Bernardo Dominic
1016James G CaldareraJapan2025-04-17Benton, John B Jr QUALIFIED83Xuxue Feng
1017Jennifer T ButtIndia2025-04-22Benton, John B Jr UNQUALIFIED18Anna Fali
1018Francesco D GlickCanada2025-04-09Feiner Bros RENEWAL78Bernardo Dominic
1019Kadeem G BriddickItaly2025-04-16Feiner Bros NEW17Anna Fali
1020Aditya M FlosiItaly2025-04-03Morlong Associates RENEWAL88Asiya Javayant
1021Francesco L OstroskyCanada2025-04-08Printing Dimensions UNQUALIFIED26Anna Fali
1022Morrow B KuskoJapan2025-04-07Buckley Miller Wright QUALIFIED95Anna Fali
1023Mujtaba W GarufiItaly2025-04-01Dorl, James J Esq NEW87Amy Elsner
1024Adams M CaudyArgentina2025-04-16Benton, John B Jr UNQUALIFIED35Elwin Sharvill
1025Stacey C SchemmerRussia2025-04-08Rangoni Of Florence UNQUALIFIED72Asiya Javayant
1026Antonio D AmigonItaly2025-04-18Buckley Miller Wright NEW23Ivan Magalhaes
1027James T DarakjyJapan2025-04-12Dorl, James J Esq RENEWAL57Ioni Bowcher
1028Izzy A KuskoGermany2025-04-24Truhlar And Truhlar Attys NEGOTIATION2Asiya Javayant
1029Leon P WaycottGermany2025-04-23Commercial Press NEGOTIATION40Bernardo Dominic
1030Alejandro T AlbaresFrance2025-04-04Benton, John B Jr RENEWAL86Elwin Sharvill
1031Ricardo P DarakjyRussia2025-04-27Feltz Printing Service RENEWAL78Asiya Javayant
1032Izzy M CaudyIndia2025-04-16Printing Dimensions RENEWAL51Ioni Bowcher
1033Julie U DarakjyUnited Kingdom2025-04-27Truhlar And Truhlar Attys RENEWAL77Anna Fali
1034Faith Z CaldareraSpain2025-04-21Rangoni Of Florence UNQUALIFIED14Amy Elsner
1035Emily F MacleadSpain2025-04-11Feltz Printing Service QUALIFIED18Ioni Bowcher
1036Mujtaba X SergiRussia2025-04-22Truhlar And Truhlar Attys NEW51Amy Elsner
1037Darci D ChuiCanada2025-04-02Benton, John B Jr NEW69Onyama Limba
1038James F BriddickBrazil2025-04-21Benton, John B Jr PROPOSAL75Elwin Sharvill
1039Isabel O InouyeGermany2025-04-12King, Christopher A Esq QUALIFIED37Asiya Javayant
1040Stacey H BriddickGermany2025-04-18Benton, John B Jr NEW46Ioni Bowcher
1041Emily M PoquetteAustralia2025-04-11Rousseaux, Michael Esq UNQUALIFIED98Amy Elsner
1042Antonio X PoquetteSpain2025-04-09Feiner Bros QUALIFIED27Xuxue Feng
1043Silvio M AmigonJapan2025-04-16Printing Dimensions PROPOSAL58Ivan Magalhaes
1044Greenwood L InouyeRussia2025-04-04Rangoni Of Florence PROPOSAL22Stephen Shaw
1045Aruna H FollerGermany2025-04-08Buckley Miller Wright RENEWAL7Elwin Sharvill
1046Emily O SaylorsItaly2025-04-17Printing Dimensions RENEWAL25Ivan Magalhaes
1047Julie P MaletRussia2025-04-30Printing Dimensions RENEWAL39Asiya Javayant
1048Aditya N FlosiJapan2025-04-18Chanay, Jeffrey A Esq UNQUALIFIED51Anna Fali
1049Stacey G FlosiJapan2025-04-15Dorl, James J Esq NEGOTIATION93Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Adams V CaudyFranceAsiya Javayant UNQUALIFIED
Maria G TollnerSpainOnyama Limba UNQUALIFIED
Kaitlin C OldroydItalyOnyama Limba NEW
Jefferson C OldroydJapanElwin Sharvill PROPOSAL
Mayumi V OldroydItalyAmy Elsner PROPOSAL
Leja U CaudyGermanyOnyama Limba PROPOSAL
Silvio P AmigonSpainOnyama Limba UNQUALIFIED
Silvio G SchemmerIndiaXuxue Feng RENEWAL
Misaki C PerinIndiaOnyama Limba PROPOSAL
Faith S MacleadAustraliaIoni Bowcher UNQUALIFIED
Izzy B AlbaresCanadaIoni Bowcher NEGOTIATION
Aditya B RutaSpainIvan Magalhaes UNQUALIFIED
Jefferson Y PerinSpainBernardo Dominic UNQUALIFIED
Aditya Z ButtFranceXuxue Feng NEW
Misaki H SaylorsFranceBernardo Dominic QUALIFIED
Mayumi W ButtIndiaBernardo Dominic NEW
Mayumi S KuskoSpainIvan Magalhaes UNQUALIFIED
Antonio G FollerCanadaAnna Fali UNQUALIFIED
James X ButtSpainIvan Magalhaes NEW
Claire M RimFranceOnyama Limba RENEWAL
Aruna B FollerItalyElwin Sharvill NEGOTIATION
Juan B ButtRussiaIvan Magalhaes RENEWAL
Aditya Z GlickUnited KingdomIoni Bowcher NEGOTIATION
Greenwood I SchemmerAustraliaIvan Magalhaes QUALIFIED
Octavia H AlbaresRussiaAnna Fali RENEWAL
Maisha F PoquetteArgentinaIoni Bowcher RENEWAL
Murillo G FollerCanadaStephen Shaw UNQUALIFIED
Wickens C SlusarskiArgentinaOnyama Limba QUALIFIED
Ricardo J SergiIndiaOnyama Limba PROPOSAL
Kadeem K TollnerJapanAmy Elsner RENEWAL
Rodrigues N GlickGermanyAnna Fali NEGOTIATION
Munro I WaycottBrazilXuxue Feng QUALIFIED
Aditya R StensethJapanAsiya Javayant NEW
Ashley U KuskoUnited KingdomAmy Elsner NEW
Silvio H IturbideBrazilXuxue Feng QUALIFIED
Antonio K ButtFranceIvan Magalhaes NEGOTIATION
Greenwood O ChuiCanadaIvan Magalhaes QUALIFIED
Claire B SaylorsAustraliaBernardo Dominic NEGOTIATION
Costa M RoysterArgentinaAmy Elsner RENEWAL
Kadeem Z RoysterIndiaAmy Elsner QUALIFIED
Jones M IturbideRussiaIvan Magalhaes NEGOTIATION
Arvin Q MacleadGermanyStephen Shaw NEGOTIATION
Claire W DilliardSpainAsiya Javayant PROPOSAL
David K ShinkoSpainIoni Bowcher RENEWAL
Jeanfrancois H NestleIndiaXuxue Feng UNQUALIFIED
Leon D FerenczAustraliaAnna Fali PROPOSAL
Alejandro R SchemmerRussiaAmy Elsner QUALIFIED
Chavez P BowleyJapanAsiya Javayant QUALIFIED
David E FollerUnited KingdomStephen Shaw NEW
Kaitlin S IturbideFranceIvan Magalhaes QUALIFIED
Frozen Columns
Name
Alejandro O Darakjy
Nicolas C Whobrey
Juan F Tollner
Greenwood M Stenseth
Kaitlin B Nestle
Costa J Paprocki
Aditya T Gaucho
Jones Q Ostrosky
Alejandro A Waycott
Wickens L Inouye
Aditya A Waycott
Ricardo H Dilliard
Salvatore D Ostrosky
Smith H Garufi
Stacey L Bolognia
Murillo D Poquette
Mayumi E Wieser
Jennifer O Shinko
Morrow E Paprocki
Deepesh T Paprocki
David K Garufi
Julie E Gaucho
Maisha I Perin
Rodrigues P Sergi
Maisha G Iturbide
Stacey V Shinko
Jeanfrancois C Ostrosky
Kadeem U Marrier
Sinclair R Campain
Aditya D Royster
Jefferson B Iturbide
Alejandro S Shinko
Kadeem A Wieser
Tony F Morasca
Faith M Ostrosky
Mayumi B Rim
Adams G Shinko
Darci F Poquette
Leja X Bowley
Salvatore P Whobrey
James A Ferencz
Leon H Shinko
Ricardo L Paprocki
Maria F Nicka
Leja P Tollner
Faith G Perin
Silvio S Flosi
Leja B Dilliard
Sinclair D Malet
Munro B Whobrey
IdCountryDate
1000Brazil2025-04-05
1001Spain2025-04-23
1002Japan2025-04-28
1003Brazil2025-04-13
1004United Kingdom2025-04-04
1005Argentina2025-04-27
1006Brazil2025-04-18
1007Russia2025-04-03
1008Russia2025-04-15
1009Italy2025-04-12
1010Russia2025-04-07
1011Italy2025-04-24
1012Japan2025-04-20
1013India2025-04-27
1014Argentina2025-04-22
1015Argentina2025-04-09
1016Brazil2025-04-08
1017India2025-04-24
1018Brazil2025-04-04
1019Argentina2025-04-30
1020Spain2025-04-15
1021Italy2025-04-16
1022Italy2025-04-11
1023Germany2025-04-25
1024Russia2025-04-09
1025United Kingdom2025-04-13
1026France2025-04-27
1027India2025-04-28
1028Japan2025-04-06
1029Germany2025-04-25
1030Spain2025-04-27
1031France2025-04-07
1032United Kingdom2025-04-01
1033Australia2025-04-16
1034Russia2025-04-11
1035Germany2025-04-02
1036France2025-04-25
1037Brazil2025-04-21
1038United Kingdom2025-04-03
1039Australia2025-04-06
1040Canada2025-04-08
1041Brazil2025-04-22
1042Russia2025-04-07
1043Russia2025-04-29
1044France2025-04-11
1045Canada2025-04-29
1046Australia2025-04-11
1047Russia2025-04-20
1048Russia2025-04-21
1049Brazil2025-04-30

On-Demand Data

NameIdCountryDate
Clifford D Inouye1000India2025-04-05
Leon A Kolmetz1001Russia2025-04-03
Silvio B Glick1002Canada2025-04-27
Alejandro Y Vocelka1003Italy2025-04-07
Juan X Nicka1004Russia2025-04-29
Izzy U Nestle1005Russia2025-04-01
Jefferson K Venere1006Russia2025-04-13
Maisha E Malet1007Australia2025-04-25
Mayumi C Flosi1008Brazil2025-04-11
Rodrigues U Marrier1009Canada2025-04-30
Izzy F Oldroyd1010Germany2025-04-11
Stacey Y Gaucho1011United Kingdom2025-04-23
Mujtaba U Sergi1012Russia2025-04-18
Ricardo S Whobrey1013France2025-04-03
Jennifer R Dilliard1014Canada2025-04-27
Adams A Vocelka1015Brazil2025-04-27
Antonio D Malet1016Australia2025-04-29
Antonio N Slusarski1017Russia2025-04-08
Silvio B Figeroa1018Argentina2025-04-04
Antonio P Iturbide1019United Kingdom2025-04-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David Q VenereJapanStephen Shaw UNQUALIFIED
Ricardo B RoysterAustraliaAsiya Javayant PROPOSAL
Julie F GillianRussiaElwin Sharvill RENEWAL
Izzy S FerenczArgentinaXuxue Feng NEGOTIATION
Isabel R ButtRussiaIoni Bowcher QUALIFIED
Ricardo U RulapaughAustraliaAnna Fali RENEWAL
Maisha R MorascaBrazilStephen Shaw RENEWAL
Aruna B MaletItalyAnna Fali RENEWAL
Sinclair Q GarufiBrazilAnna Fali RENEWAL
Arvin L PerinCanadaAsiya Javayant QUALIFIED
Tony S WieserFranceBernardo Dominic QUALIFIED
Darci M SergiRussiaXuxue Feng NEGOTIATION
Jefferson U SchemmerSpainAmy Elsner QUALIFIED
Wickens W StockhamArgentinaOnyama Limba RENEWAL
Nicolas T PerinGermanyIvan Magalhaes NEGOTIATION
Isabel R FollerUnited KingdomAnna Fali QUALIFIED
Chavez P StensethUnited KingdomElwin Sharvill NEW
Antonio E SaylorsAustraliaBernardo Dominic NEGOTIATION
Alejandro A FlosiFranceStephen Shaw NEW
Rodrigues T GauchoUnited KingdomIoni Bowcher PROPOSAL
Clifford E PerinBrazilBernardo Dominic UNQUALIFIED
Misaki V RoysterArgentinaOnyama Limba PROPOSAL
Misaki S SergiGermanyAsiya Javayant UNQUALIFIED
Johnson M CaudySpainBernardo Dominic NEGOTIATION
Darci I WaycottArgentinaAmy Elsner UNQUALIFIED
Tony K RimUnited KingdomAnna Fali NEW
Antonio E RimSpainElwin Sharvill RENEWAL
Nicolas O RimFranceStephen Shaw RENEWAL
Mujtaba Q RulapaughUnited KingdomStephen Shaw QUALIFIED
Isabel C DoeAustraliaAnna Fali NEGOTIATION
Juan T IturbideAustraliaAmy Elsner NEGOTIATION
Arvin I VocelkaAustraliaAsiya Javayant PROPOSAL
Silvio P DarakjyBrazilAmy Elsner PROPOSAL
Faith R KuskoGermanyAmy Elsner RENEWAL
Silvio D VenereCanadaIvan Magalhaes UNQUALIFIED
Leon J PerinGermanyXuxue Feng NEW
Salvatore O DoeAustraliaStephen Shaw NEGOTIATION
Octavia J MaletRussiaOnyama Limba NEW
Leja M GillianBrazilOnyama Limba NEGOTIATION
Mujtaba J SlusarskiArgentinaOnyama Limba 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>