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
Munro R NickaUnited KingdomIoni Bowcher QUALIFIED
Tony B RoysterGermanyAsiya Javayant PROPOSAL
Octavia R GauchoItalyXuxue Feng PROPOSAL
Nicolas T FollerSpainElwin Sharvill NEGOTIATION
Emily O StensethRussiaStephen Shaw NEW
Munro W AmigonRussiaAsiya Javayant UNQUALIFIED
Aruna H ChuiJapanElwin Sharvill QUALIFIED
Juan X StensethCanadaIoni Bowcher NEGOTIATION
Mayumi Y GarufiJapanElwin Sharvill PROPOSAL
Kaitlin A SlusarskiGermanyElwin Sharvill NEW
Isabel W FollerArgentinaBernardo Dominic NEW
Francesco N NestleUnited KingdomXuxue Feng NEGOTIATION
Jones J KuskoSpainAmy Elsner RENEWAL
Aika F MarrierJapanAmy Elsner PROPOSAL
Tony C WaycottAustraliaAsiya Javayant NEGOTIATION
Deepesh A MorascaJapanStephen Shaw NEW
Rodrigues F IturbideCanadaAsiya Javayant QUALIFIED
Jefferson Q TollnerIndiaElwin Sharvill QUALIFIED
Cody W RimAustraliaElwin Sharvill NEW
Izzy K FlosiBrazilStephen Shaw RENEWAL
Jefferson E NickaFranceIvan Magalhaes PROPOSAL
David T GarufiArgentinaAnna Fali RENEWAL
Morrow Z FlosiBrazilAsiya Javayant RENEWAL
Mayumi O WhobreyAustraliaAnna Fali UNQUALIFIED
Jefferson R PaprockiItalyElwin Sharvill UNQUALIFIED
Murillo P CaudyItalyBernardo Dominic RENEWAL
Leja H GauchoAustraliaAsiya Javayant UNQUALIFIED
Ashley R FollerRussiaAmy Elsner NEGOTIATION
Aditya H GlickBrazilStephen Shaw RENEWAL
Ivar P TollnerArgentinaStephen Shaw RENEWAL
Leon J FerenczJapanElwin Sharvill QUALIFIED
Murillo T AlbaresBrazilAnna Fali NEGOTIATION
Adams E OstroskyBrazilAmy Elsner NEW
Jefferson Q SchemmerFranceXuxue Feng UNQUALIFIED
Chavez E OldroydAustraliaAnna Fali NEW
Sinclair L SaylorsCanadaIoni Bowcher NEW
Maria H BologniaCanadaIoni Bowcher QUALIFIED
Johnson U RutaGermanyAnna Fali RENEWAL
Costa H RutaGermanyIoni Bowcher RENEWAL
Maria B SergiRussiaOnyama Limba NEGOTIATION
Clifford A KuskoArgentinaStephen Shaw UNQUALIFIED
James S WaycottItalyStephen Shaw NEGOTIATION
Octavia E MacleadSpainAsiya Javayant UNQUALIFIED
Chavez K GauchoCanadaAnna Fali QUALIFIED
Munro S MaletSpainIvan Magalhaes PROPOSAL
Salvatore I BologniaBrazilIvan Magalhaes RENEWAL
Darci Z BowleyItalyIvan Magalhaes NEGOTIATION
Jones N FerenczAustraliaStephen Shaw UNQUALIFIED
Mayumi D FlosiGermanyElwin Sharvill QUALIFIED
Costa S RimSpainElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Jefferson R PaprockiGermanyAnna Fali PROPOSAL
Munro A DoeIndiaElwin Sharvill QUALIFIED
Nicolas D FerenczIndiaIvan Magalhaes PROPOSAL
Antonio N RutaUnited KingdomXuxue Feng UNQUALIFIED
David X MaletUnited KingdomElwin Sharvill UNQUALIFIED
Clifford W CampainRussiaAmy Elsner NEGOTIATION
Cody H BowleyCanadaElwin Sharvill RENEWAL
Jennifer A VocelkaCanadaIvan Magalhaes RENEWAL
Leja Y PaprockiItalyOnyama Limba UNQUALIFIED
Smith X BriddickItalyAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas C RulapaughItaly2024-06-11King, Christopher A Esq NEW79Amy Elsner
1001Salvatore I MorascaAustralia2024-06-07Buckley Miller Wright UNQUALIFIED41Elwin Sharvill
1002Ricardo V AmigonArgentina2024-06-17Commercial Press PROPOSAL34Ivan Magalhaes
1003Stacey J ShinkoJapan2024-06-05Truhlar And Truhlar Attys PROPOSAL95Anna Fali
1004David Q CampainFrance2024-06-23Benton, John B Jr NEW26Ivan Magalhaes
1005Stacey S AmigonItaly2024-06-23Buckley Miller Wright RENEWAL78Stephen Shaw
1006Murillo M VenereBrazil2024-06-21Feiner Bros NEGOTIATION19Xuxue Feng
1007Darci N KolmetzGermany2024-06-13Feltz Printing Service UNQUALIFIED14Anna Fali
1008Jefferson F WaycottAustralia2024-05-31Printing Dimensions PROPOSAL45Ioni Bowcher
1009Jones U GlickGermany2024-06-14Truhlar And Truhlar Attys NEGOTIATION5Elwin Sharvill
1010Mayumi B GauchoUnited Kingdom2024-06-16Chanay, Jeffrey A Esq RENEWAL42Asiya Javayant
1011Mayumi R CampainItaly2024-06-24Morlong Associates QUALIFIED89Ioni Bowcher
1012Emily Q DilliardArgentina2024-05-28King, Christopher A Esq RENEWAL13Amy Elsner
1013Tony E CaldareraJapan2024-06-08Morlong Associates QUALIFIED90Stephen Shaw
1014Sinclair J PoquetteFrance2024-06-02Rangoni Of Florence UNQUALIFIED36Anna Fali
1015Costa S SlusarskiItaly2024-05-26Chemel, James L Cpa QUALIFIED26Asiya Javayant
1016Mujtaba Y ShinkoFrance2024-06-12Chapman, Ross E Esq PROPOSAL58Asiya Javayant
1017Faith L RoysterGermany2024-06-18King, Christopher A Esq PROPOSAL71Amy Elsner
1018Leja Q GauchoBrazil2024-06-20Truhlar And Truhlar Attys RENEWAL46Bernardo Dominic
1019Juan H SaylorsAustralia2024-06-24Chanay, Jeffrey A Esq QUALIFIED15Bernardo Dominic
1020Costa Z MacleadBrazil2024-06-20Chapman, Ross E Esq NEW32Amy Elsner
1021Morrow M MaletGermany2024-06-22Printing Dimensions QUALIFIED59Stephen Shaw
1022Francesco W DarakjyCanada2024-05-30Feiner Bros UNQUALIFIED16Ioni Bowcher
1023Jeanfrancois L NickaCanada2024-05-28Commercial Press NEW74Amy Elsner
1024Kaitlin Z FigeroaItaly2024-06-01Printing Dimensions NEW88Anna Fali
1025Munro R SaylorsRussia2024-06-22Commercial Press NEGOTIATION75Elwin Sharvill
1026Emily H RimItaly2024-06-18Dorl, James J Esq QUALIFIED73Ioni Bowcher
1027Francesco A InouyeGermany2024-06-17Feltz Printing Service NEW92Asiya Javayant
1028Cody B NestleJapan2024-06-18Printing Dimensions QUALIFIED52Ivan Magalhaes
1029Johnson O VocelkaCanada2024-06-01Chemel, James L Cpa UNQUALIFIED18Ivan Magalhaes
1030Alejandro L MaletFrance2024-06-12Feiner Bros NEGOTIATION18Stephen Shaw
1031Faith Z FerenczAustralia2024-06-17Buckley Miller Wright RENEWAL59Amy Elsner
1032Darci I WieserSpain2024-06-14Chemel, James L Cpa QUALIFIED70Stephen Shaw
1033Jeanfrancois O KolmetzGermany2024-06-09Morlong Associates NEGOTIATION80Elwin Sharvill
1034Nicolas C RulapaughAustralia2024-05-28Rousseaux, Michael Esq QUALIFIED74Elwin Sharvill
1035Leja L WieserUnited Kingdom2024-05-26Benton, John B Jr NEW77Xuxue Feng
1036Misaki X FlosiGermany2024-05-29Rangoni Of Florence PROPOSAL84Bernardo Dominic
1037Aditya S WieserGermany2024-05-29Rousseaux, Michael Esq NEGOTIATION79Bernardo Dominic
1038Silvio D BologniaFrance2024-05-27Truhlar And Truhlar Attys QUALIFIED41Asiya Javayant
1039Murillo Z ChuiIndia2024-05-31Morlong Associates NEGOTIATION48Elwin Sharvill
1040Kadeem S OstroskySpain2024-06-19Chapman, Ross E Esq NEW1Elwin Sharvill
1041Ricardo Q CaudyRussia2024-06-24Feiner Bros QUALIFIED52Anna Fali
1042Tony A DarakjyArgentina2024-06-09Morlong Associates NEW36Onyama Limba
1043Cody A InouyeItaly2024-06-03Dorl, James J Esq RENEWAL5Xuxue Feng
1044Aruna Z SaylorsArgentina2024-06-09Chanay, Jeffrey A Esq NEGOTIATION83Bernardo Dominic
1045Tony L GarufiUnited Kingdom2024-06-09Printing Dimensions NEGOTIATION48Stephen Shaw
1046Costa B FlosiRussia2024-05-30Chanay, Jeffrey A Esq UNQUALIFIED67Ioni Bowcher
1047Murillo C VocelkaIndia2024-06-01Truhlar And Truhlar Attys NEGOTIATION45Onyama Limba
1048Chavez Q OldroydRussia2024-06-09Rangoni Of Florence NEGOTIATION14Amy Elsner
1049Jefferson Z KuskoItaly2024-05-31Rousseaux, Michael Esq NEGOTIATION52Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Claire C BowleyRussiaElwin Sharvill NEW
Adams V FollerArgentinaElwin Sharvill NEW
Silvio F RimIndiaBernardo Dominic PROPOSAL
James B ButtArgentinaIoni Bowcher NEW
Octavia Y PoquetteBrazilAsiya Javayant PROPOSAL
James F WhobreyItalyOnyama Limba UNQUALIFIED
James H StensethItalyAmy Elsner PROPOSAL
Jennifer H BologniaFranceStephen Shaw PROPOSAL
Cody R CaldareraJapanIvan Magalhaes UNQUALIFIED
Chavez M PerinIndiaIvan Magalhaes QUALIFIED
Francesco C StensethJapanIoni Bowcher NEW
Murillo K DarakjyRussiaIoni Bowcher NEGOTIATION
Smith R BowleyItalyAmy Elsner RENEWAL
Alejandro K FlosiBrazilIoni Bowcher RENEWAL
Francesco J WhobreyBrazilElwin Sharvill PROPOSAL
Deepesh P DarakjyIndiaAnna Fali NEGOTIATION
Misaki U MarrierArgentinaIvan Magalhaes QUALIFIED
Munro Y InouyeSpainBernardo Dominic RENEWAL
Francesco M PaprockiUnited KingdomStephen Shaw PROPOSAL
Salvatore N KuskoUnited KingdomOnyama Limba QUALIFIED
Mayumi C FerenczCanadaXuxue Feng QUALIFIED
Sinclair K GlickJapanBernardo Dominic QUALIFIED
Emily P StockhamCanadaAnna Fali NEW
Ivar E SchemmerArgentinaBernardo Dominic NEW
Mujtaba K MacleadAustraliaAmy Elsner NEW
Maria Q RimArgentinaAmy Elsner NEGOTIATION
Aditya L SergiArgentinaAsiya Javayant QUALIFIED
Jefferson F NickaBrazilStephen Shaw NEW
Claire D SlusarskiFranceOnyama Limba RENEWAL
Octavia H CaudyBrazilStephen Shaw UNQUALIFIED
Chavez J MarrierSpainAmy Elsner NEW
Claire Z NickaItalyIvan Magalhaes RENEWAL
David P SergiSpainAsiya Javayant RENEWAL
Nicolas E CampainGermanyElwin Sharvill NEW
Arvin H FollerCanadaIoni Bowcher NEGOTIATION
Aruna T GlickArgentinaBernardo Dominic UNQUALIFIED
Munro J BologniaJapanStephen Shaw PROPOSAL
Cody D CaudyItalyAnna Fali PROPOSAL
Misaki D SergiSpainElwin Sharvill NEGOTIATION
Deepesh H SaylorsFranceXuxue Feng NEW
Morrow J VenereUnited KingdomStephen Shaw UNQUALIFIED
Ashley C InouyeUnited KingdomOnyama Limba RENEWAL
Tony C RutaSpainStephen Shaw UNQUALIFIED
Jennifer E CampainJapanAnna Fali NEGOTIATION
Izzy Q StockhamSpainBernardo Dominic UNQUALIFIED
Adams C SchemmerSpainElwin Sharvill PROPOSAL
Sinclair J RulapaughFranceAsiya Javayant PROPOSAL
Deepesh C KuskoGermanyAnna Fali QUALIFIED
Isabel V DarakjyIndiaAmy Elsner UNQUALIFIED
Aruna X DarakjySpainOnyama Limba QUALIFIED
Frozen Columns
Name
Misaki I Kolmetz
Silvio K Morasca
Tony U Iturbide
Jones L Shinko
Silvio D Garufi
Misaki Q Royster
Leja S Butt
Jennifer L Foller
James I Waycott
Murillo M Rim
Ivar Z Nicka
Deepesh B Gaucho
Smith G Perin
Sinclair L Bowley
Francesco M Gaucho
Aditya E Kusko
Greenwood F Foller
Aika J Saylors
Julie J Waycott
Johnson C Waycott
Wickens U Rim
Aditya G Gillian
Faith T Campain
Jennifer L Waycott
Mujtaba J Marrier
Greenwood Z Saylors
Jefferson H Glick
Salvatore X Ferencz
Jeanfrancois V Ferencz
Claire Z Royster
Claire T Glick
Mujtaba Q Flosi
Francesco U Gillian
Ivar F Figeroa
Isabel P Bowley
Darci E Glick
Costa W Morasca
Rodrigues V Slusarski
Johnson F Poquette
Claire S Malet
Claire I Gaucho
Jeanfrancois V Stenseth
Munro O Rulapaugh
Mayumi F Albares
Jennifer C Dilliard
Maria Q Gaucho
Jennifer U Malet
Juan D Gillian
Tony O Caudy
Claire A Tollner
IdCountryDate
1000United Kingdom2024-06-10
1001Argentina2024-05-31
1002Brazil2024-06-09
1003Russia2024-06-24
1004France2024-06-22
1005Italy2024-06-04
1006France2024-06-02
1007France2024-06-16
1008India2024-06-04
1009France2024-05-28
1010Brazil2024-06-03
1011Japan2024-06-16
1012Spain2024-06-06
1013Russia2024-05-26
1014Germany2024-06-03
1015Spain2024-06-02
1016Canada2024-06-03
1017Australia2024-06-20
1018France2024-05-31
1019Spain2024-06-21
1020Italy2024-06-09
1021India2024-05-30
1022Argentina2024-06-10
1023Argentina2024-06-24
1024Brazil2024-06-07
1025Australia2024-06-11
1026United Kingdom2024-06-14
1027Canada2024-06-07
1028Canada2024-06-24
1029Canada2024-05-28
1030Germany2024-06-09
1031Australia2024-05-30
1032Spain2024-05-27
1033Argentina2024-06-08
1034Russia2024-06-19
1035Germany2024-05-27
1036France2024-06-05
1037Italy2024-06-07
1038Argentina2024-06-06
1039Australia2024-06-22
1040India2024-06-03
1041France2024-06-24
1042Russia2024-06-14
1043Japan2024-06-02
1044Argentina2024-06-05
1045India2024-06-05
1046Australia2024-06-18
1047Spain2024-06-16
1048Russia2024-06-18
1049Spain2024-06-09

On-Demand Data

NameIdCountryDate
Silvio S Sergi1000France2024-06-16
Aruna T Paprocki1001Argentina2024-06-12
Maria O Albares1002Brazil2024-06-14
Johnson T Kusko1003Spain2024-06-19
Octavia E Inouye1004Spain2024-06-18
Kadeem S Saylors1005Spain2024-06-24
Nicolas E Waycott1006Spain2024-06-16
Ricardo L Ruta1007France2024-06-24
Maisha G Caudy1008Brazil2024-05-31
Rodrigues R Gaucho1009Canada2024-06-19
Isabel O Flosi1010Russia2024-06-17
Octavia W Kolmetz1011Brazil2024-06-03
Salvatore T Rim1012Russia2024-06-11
Ricardo C Caudy1013Spain2024-06-15
Murillo X Perin1014Argentina2024-06-04
Adams S Chui1015Spain2024-06-08
Jefferson K Poquette1016Germany2024-06-02
Jennifer V Chui1017France2024-06-15
Octavia M Shinko1018France2024-05-31
Claire Q Schemmer1019Australia2024-05-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia P BriddickUnited KingdomXuxue Feng PROPOSAL
Greenwood M CaudyRussiaAnna Fali RENEWAL
Leon X SlusarskiItalyIoni Bowcher QUALIFIED
Silvio K MarrierBrazilIoni Bowcher PROPOSAL
Izzy V KuskoGermanyXuxue Feng RENEWAL
Mujtaba J InouyeIndiaStephen Shaw RENEWAL
Kaitlin H BowleyRussiaOnyama Limba QUALIFIED
Johnson J KuskoIndiaIoni Bowcher PROPOSAL
Mujtaba F DoeUnited KingdomAnna Fali RENEWAL
Tony J MarrierSpainBernardo Dominic NEW
Costa C KolmetzArgentinaAnna Fali PROPOSAL
Mujtaba T RimGermanyIvan Magalhaes QUALIFIED
Francesco W ShinkoCanadaAsiya Javayant UNQUALIFIED
Chavez E MaletArgentinaAnna Fali NEW
Deepesh T SaylorsIndiaStephen Shaw QUALIFIED
Faith O CaudyIndiaAnna Fali QUALIFIED
Antonio M OldroydSpainIvan Magalhaes QUALIFIED
Darci O PerinGermanyIvan Magalhaes PROPOSAL
Clifford O BowleyItalyAmy Elsner NEGOTIATION
Cody W GillianJapanAmy Elsner RENEWAL
Cody T SlusarskiItalyAmy Elsner UNQUALIFIED
Julie F OstroskyGermanyIvan Magalhaes QUALIFIED
Antonio S BriddickArgentinaElwin Sharvill PROPOSAL
Aika J CaudyRussiaXuxue Feng PROPOSAL
Morrow C DoeCanadaStephen Shaw RENEWAL
Maisha Q BologniaCanadaAsiya Javayant NEW
Claire A DarakjyFranceStephen Shaw NEGOTIATION
David S BowleyArgentinaAsiya Javayant NEGOTIATION
Ashley Z OstroskyArgentinaOnyama Limba RENEWAL
Sinclair Y RimSpainAmy Elsner NEGOTIATION
Wickens O MorascaJapanXuxue Feng NEGOTIATION
Izzy N VocelkaRussiaIvan Magalhaes QUALIFIED
Ashley P GlickItalyAmy Elsner NEW
Chavez L SchemmerItalyIoni Bowcher QUALIFIED
Aruna F AmigonItalyAmy Elsner PROPOSAL
Costa S KuskoArgentinaStephen Shaw NEGOTIATION
Isabel R OstroskyRussiaAnna Fali UNQUALIFIED
Kadeem R KuskoBrazilElwin Sharvill NEW
Maria C AlbaresFranceIvan Magalhaes NEW
Claire Z BowleyFranceIoni Bowcher NEGOTIATION

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