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
Leon Y OldroydJapanStephen Shaw NEGOTIATION
Chavez N GlickRussiaStephen Shaw UNQUALIFIED
Smith K OstroskySpainAnna Fali NEW
Rodrigues T BologniaRussiaOnyama Limba PROPOSAL
Aruna K StensethIndiaIoni Bowcher UNQUALIFIED
Jennifer H MacleadCanadaXuxue Feng RENEWAL
Jefferson F InouyeAustraliaOnyama Limba UNQUALIFIED
Darci I OldroydCanadaIoni Bowcher QUALIFIED
Smith Q BriddickBrazilStephen Shaw QUALIFIED
Octavia W MorascaUnited KingdomIvan Magalhaes NEW
Aditya Z MarrierJapanIvan Magalhaes PROPOSAL
Jefferson N MarrierArgentinaElwin Sharvill PROPOSAL
Johnson L CaudyIndiaXuxue Feng PROPOSAL
Claire Y CaudyGermanyStephen Shaw NEGOTIATION
Adams P TollnerArgentinaElwin Sharvill NEW
Stacey W KuskoFranceAmy Elsner QUALIFIED
Octavia K PoquetteIndiaOnyama Limba PROPOSAL
Arvin C FlosiFranceAmy Elsner PROPOSAL
Alejandro L TollnerArgentinaElwin Sharvill RENEWAL
Aditya X PerinSpainIvan Magalhaes PROPOSAL
Alejandro T SchemmerItalyElwin Sharvill UNQUALIFIED
Antonio V MacleadItalyElwin Sharvill PROPOSAL
Mujtaba U FlosiSpainAmy Elsner NEW
Mujtaba H OstroskyRussiaXuxue Feng NEGOTIATION
Leon U RulapaughIndiaOnyama Limba RENEWAL
Leon K GauchoIndiaOnyama Limba UNQUALIFIED
Cody U ShinkoCanadaBernardo Dominic RENEWAL
Ricardo A BologniaFranceIoni Bowcher NEGOTIATION
David X WhobreyRussiaIvan Magalhaes NEW
Jennifer L PaprockiSpainAnna Fali RENEWAL
Izzy J MorascaFranceIoni Bowcher RENEWAL
James E RoysterItalyStephen Shaw PROPOSAL
Claire F TollnerCanadaAnna Fali NEW
Clifford F IturbideIndiaXuxue Feng PROPOSAL
Leon Z KolmetzBrazilAmy Elsner UNQUALIFIED
Jones Z KolmetzRussiaIoni Bowcher QUALIFIED
Octavia G AlbaresIndiaXuxue Feng NEGOTIATION
Faith N ButtRussiaIoni Bowcher NEW
Wickens C RoysterItalyAnna Fali NEGOTIATION
Emily G OstroskyCanadaOnyama Limba QUALIFIED
James S VocelkaJapanAsiya Javayant QUALIFIED
Maria B MaletAustraliaAsiya Javayant RENEWAL
Octavia G OldroydJapanAmy Elsner RENEWAL
Tony G DarakjyAustraliaIvan Magalhaes QUALIFIED
Maria P KolmetzFranceOnyama Limba RENEWAL
Leja M NestleItalyElwin Sharvill NEW
Leon U DoeFranceElwin Sharvill NEGOTIATION
Rodrigues B ShinkoGermanyElwin Sharvill NEW
Johnson O ButtRussiaBernardo Dominic QUALIFIED
Jones V SlusarskiRussiaAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Chavez H DilliardArgentinaOnyama Limba PROPOSAL
Faith L AmigonFranceElwin Sharvill NEW
Clifford E GarufiFranceElwin Sharvill RENEWAL
Aruna O FollerBrazilXuxue Feng RENEWAL
Aruna I PaprockiCanadaElwin Sharvill RENEWAL
Tony A ChuiGermanyOnyama Limba UNQUALIFIED
Maria Y ButtAustraliaIoni Bowcher NEGOTIATION
Darci N ButtSpainXuxue Feng QUALIFIED
Munro E CampainRussiaIvan Magalhaes NEW
Arvin Y RulapaughUnited KingdomOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio A WaycottFrance2024-06-11Morlong Associates UNQUALIFIED53Onyama Limba
1001James Y WhobreyItaly2024-06-02Benton, John B Jr NEW4Ioni Bowcher
1002Antonio X StensethItaly2024-06-03Chemel, James L Cpa NEGOTIATION65Xuxue Feng
1003Jones M BowleyCanada2024-06-17Rangoni Of Florence PROPOSAL20Asiya Javayant
1004Clifford Y BologniaItaly2024-06-16Feiner Bros NEGOTIATION86Asiya Javayant
1005Jennifer I FollerRussia2024-06-06Benton, John B Jr RENEWAL21Ioni Bowcher
1006Silvio P DarakjySpain2024-06-20Feiner Bros NEGOTIATION65Elwin Sharvill
1007Rodrigues A MaletGermany2024-06-11Chanay, Jeffrey A Esq NEW69Asiya Javayant
1008Alejandro P CampainCanada2024-06-12Commercial Press NEGOTIATION12Elwin Sharvill
1009Morrow E GlickAustralia2024-06-10Feiner Bros RENEWAL88Elwin Sharvill
1010Emily F MaletGermany2024-06-15Feltz Printing Service UNQUALIFIED22Amy Elsner
1011Chavez V CampainJapan2024-05-29Truhlar And Truhlar Attys RENEWAL79Asiya Javayant
1012Ricardo W AmigonUnited Kingdom2024-06-21Chanay, Jeffrey A Esq RENEWAL98Ioni Bowcher
1013Clifford L AmigonUnited Kingdom2024-05-30Morlong Associates NEW1Stephen Shaw
1014Johnson Z NickaRussia2024-05-30Printing Dimensions NEGOTIATION90Asiya Javayant
1015Smith W GlickAustralia2024-06-13Chemel, James L Cpa PROPOSAL91Asiya Javayant
1016Maria M MaletFrance2024-05-24Buckley Miller Wright NEGOTIATION89Xuxue Feng
1017Greenwood G CaldareraJapan2024-06-02Chapman, Ross E Esq RENEWAL13Amy Elsner
1018Maisha H InouyeFrance2024-05-25Dorl, James J Esq PROPOSAL15Stephen Shaw
1019Smith L RimAustralia2024-06-18Printing Dimensions RENEWAL94Bernardo Dominic
1020Aditya L WieserRussia2024-06-13Benton, John B Jr QUALIFIED42Onyama Limba
1021Francesco T CaudyArgentina2024-06-16Printing Dimensions NEGOTIATION27Asiya Javayant
1022Wickens F ShinkoRussia2024-06-19Commercial Press UNQUALIFIED15Asiya Javayant
1023Aika E DilliardArgentina2024-06-05Dorl, James J Esq QUALIFIED28Elwin Sharvill
1024Leja R PoquetteCanada2024-06-19Truhlar And Truhlar Attys NEGOTIATION17Amy Elsner
1025Costa H SergiArgentina2024-06-10Chapman, Ross E Esq RENEWAL32Amy Elsner
1026Sinclair Z OstroskyBrazil2024-05-29Chanay, Jeffrey A Esq NEW34Asiya Javayant
1027Silvio U VenereCanada2024-05-29Rangoni Of Florence UNQUALIFIED51Anna Fali
1028Arvin S FigeroaUnited Kingdom2024-05-23Feiner Bros QUALIFIED9Amy Elsner
1029Faith R WieserRussia2024-06-08Benton, John B Jr QUALIFIED14Bernardo Dominic
1030Kaitlin C CampainItaly2024-05-24Dorl, James J Esq UNQUALIFIED71Ivan Magalhaes
1031Silvio R ButtRussia2024-06-09Benton, John B Jr RENEWAL66Bernardo Dominic
1032Rodrigues O MarrierRussia2024-06-02King, Christopher A Esq RENEWAL70Ioni Bowcher
1033Julie H PerinUnited Kingdom2024-06-15Morlong Associates NEW10Ioni Bowcher
1034Rodrigues Y FollerJapan2024-06-04Dorl, James J Esq UNQUALIFIED5Stephen Shaw
1035Mayumi F BowleySpain2024-05-23Feiner Bros UNQUALIFIED11Bernardo Dominic
1036Kadeem N StensethBrazil2024-06-05Chapman, Ross E Esq UNQUALIFIED95Onyama Limba
1037Adams Q MarrierCanada2024-05-28Chemel, James L Cpa QUALIFIED50Amy Elsner
1038Chavez J CaldareraJapan2024-06-15Chemel, James L Cpa UNQUALIFIED26Elwin Sharvill
1039Greenwood E BologniaUnited Kingdom2024-05-30Feiner Bros NEGOTIATION67Anna Fali
1040Salvatore R VocelkaJapan2024-05-23Rousseaux, Michael Esq UNQUALIFIED74Stephen Shaw
1041Murillo M MaletAustralia2024-06-08Feltz Printing Service RENEWAL42Anna Fali
1042Julie P PaprockiGermany2024-06-05Rangoni Of Florence NEGOTIATION43Asiya Javayant
1043Mayumi Y MaletSpain2024-06-20Chapman, Ross E Esq UNQUALIFIED87Xuxue Feng
1044Ashley W TollnerFrance2024-06-09Chanay, Jeffrey A Esq NEGOTIATION74Stephen Shaw
1045Aika K OstroskyIndia2024-06-06Commercial Press PROPOSAL15Anna Fali
1046Morrow F StensethUnited Kingdom2024-06-15Rangoni Of Florence RENEWAL44Ivan Magalhaes
1047Cody X StensethFrance2024-06-04Feltz Printing Service QUALIFIED75Xuxue Feng
1048Morrow D VocelkaRussia2024-06-05Chanay, Jeffrey A Esq NEGOTIATION25Elwin Sharvill
1049Darci U IturbideCanada2024-06-20Benton, John B Jr UNQUALIFIED58Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Ashley K StensethGermanyStephen Shaw NEGOTIATION
Wickens L BowleyBrazilOnyama Limba NEW
Kaitlin M KuskoFranceElwin Sharvill QUALIFIED
Ricardo S KolmetzAustraliaXuxue Feng UNQUALIFIED
Munro L FlosiItalyStephen Shaw PROPOSAL
Juan U GlickSpainOnyama Limba RENEWAL
Kaitlin U RulapaughFranceXuxue Feng QUALIFIED
Alejandro P GarufiFranceAmy Elsner NEGOTIATION
Ivar I AmigonItalyAnna Fali UNQUALIFIED
Chavez J ShinkoItalyIvan Magalhaes UNQUALIFIED
Maria G CaudySpainStephen Shaw PROPOSAL
Nicolas F NestleBrazilElwin Sharvill UNQUALIFIED
Rodrigues Z AmigonFranceBernardo Dominic NEW
Maisha O WhobreyJapanXuxue Feng QUALIFIED
Adams S ButtFranceStephen Shaw UNQUALIFIED
Rodrigues Y PerinBrazilBernardo Dominic UNQUALIFIED
Francesco L NestleRussiaAnna Fali UNQUALIFIED
Jones U VocelkaItalyElwin Sharvill NEGOTIATION
David N TollnerUnited KingdomXuxue Feng NEW
Antonio S FollerAustraliaAnna Fali NEW
Aditya J InouyeRussiaOnyama Limba NEW
Ricardo R BologniaAustraliaAsiya Javayant PROPOSAL
Tony G VenereUnited KingdomXuxue Feng UNQUALIFIED
Deepesh X DilliardArgentinaAnna Fali UNQUALIFIED
Octavia A PoquetteAustraliaXuxue Feng NEGOTIATION
James M SlusarskiJapanIvan Magalhaes QUALIFIED
Smith G GauchoArgentinaElwin Sharvill NEGOTIATION
Deepesh Q OldroydItalyIoni Bowcher PROPOSAL
Kaitlin S InouyeCanadaStephen Shaw QUALIFIED
Octavia Q ButtRussiaAsiya Javayant QUALIFIED
Aika L WaycottAustraliaXuxue Feng RENEWAL
Izzy X WaycottCanadaElwin Sharvill RENEWAL
Tony K StensethGermanyElwin Sharvill UNQUALIFIED
Jones D MaletRussiaOnyama Limba NEW
Murillo U PerinBrazilAnna Fali UNQUALIFIED
Alejandro C PaprockiCanadaIvan Magalhaes PROPOSAL
Wickens V CampainRussiaOnyama Limba RENEWAL
Izzy J RoysterRussiaAsiya Javayant QUALIFIED
Jefferson R TollnerSpainAsiya Javayant NEW
Aruna T IturbideFranceStephen Shaw UNQUALIFIED
Wickens U StensethAustraliaIvan Magalhaes PROPOSAL
Chavez T StensethJapanAsiya Javayant PROPOSAL
Murillo S PaprockiJapanAsiya Javayant QUALIFIED
Wickens C AlbaresArgentinaOnyama Limba UNQUALIFIED
Jeanfrancois Q GauchoFranceIvan Magalhaes PROPOSAL
Leja B RulapaughArgentinaAmy Elsner NEGOTIATION
David P VocelkaBrazilAmy Elsner UNQUALIFIED
David F SergiAustraliaOnyama Limba PROPOSAL
Ivar G StockhamAustraliaAnna Fali PROPOSAL
Johnson H OldroydAustraliaAnna Fali NEGOTIATION
Frozen Columns
Name
Wickens N Briddick
Murillo G Venere
Ivar A Maclead
Salvatore W Flosi
Maisha J Sergi
Ashley X Bolognia
Adams W Waycott
Wickens E Chui
Aika W Schemmer
Munro G Waycott
Mayumi J Ferencz
Aruna F Kolmetz
Mujtaba W Marrier
Darci N Vocelka
Ricardo T Kusko
Arvin D Schemmer
Jefferson E Doe
Munro H Kusko
Silvio L Garufi
James W Ferencz
Emily B Malet
Maria K Gaucho
Claire O Marrier
Kaitlin S Venere
Francesco I Gillian
Kaitlin N Butt
Misaki E Stockham
Ricardo G Albares
Munro Z Butt
David Z Oldroyd
Emily Y Maclead
Claire A Nicka
Morrow L Darakjy
Leon A Perin
Silvio T Ferencz
Wickens K Glick
Aruna X Caudy
Ricardo V Albares
Antonio K Rim
Arvin B Perin
Kaitlin F Waycott
David V Sergi
Jefferson D Campain
Julie T Morasca
Greenwood W Caldarera
Adams L Albares
Jennifer P Darakjy
Tony C Poquette
Wickens I Perin
Deepesh V Perin
IdCountryDate
1000Argentina2024-06-03
1001Brazil2024-06-14
1002Australia2024-06-12
1003Russia2024-06-04
1004Spain2024-05-31
1005Canada2024-06-04
1006Italy2024-06-02
1007Spain2024-06-08
1008United Kingdom2024-06-10
1009Australia2024-06-01
1010Brazil2024-05-24
1011Brazil2024-06-07
1012Canada2024-06-18
1013Germany2024-05-24
1014United Kingdom2024-06-19
1015Italy2024-06-03
1016United Kingdom2024-05-26
1017Japan2024-06-15
1018Italy2024-05-24
1019Germany2024-05-27
1020Italy2024-05-28
1021United Kingdom2024-06-11
1022Argentina2024-05-24
1023Canada2024-06-07
1024France2024-05-30
1025Canada2024-06-02
1026United Kingdom2024-06-19
1027Canada2024-05-28
1028Argentina2024-06-01
1029Argentina2024-05-30
1030Argentina2024-06-21
1031Australia2024-05-24
1032Germany2024-05-27
1033Italy2024-06-12
1034Russia2024-05-29
1035Spain2024-05-24
1036India2024-05-24
1037Japan2024-06-10
1038Italy2024-05-26
1039Australia2024-06-15
1040Brazil2024-06-19
1041Spain2024-06-09
1042Australia2024-05-30
1043Australia2024-06-13
1044Argentina2024-06-02
1045Brazil2024-06-15
1046Argentina2024-05-27
1047France2024-06-18
1048Spain2024-06-10
1049France2024-06-04

On-Demand Data

NameIdCountryDate
Chavez V Morasca1000India2024-06-13
Claire W Saylors1001Brazil2024-06-01
Isabel D Foller1002Japan2024-06-13
David Q Campain1003Russia2024-06-05
Juan E Shinko1004Canada2024-06-17
Tony E Flosi1005Brazil2024-06-09
Ashley A Figeroa1006Japan2024-05-28
Clifford T Saylors1007Russia2024-05-29
Francesco L Maclead1008France2024-06-14
Clifford Y Sergi1009Canada2024-06-20
Kaitlin P Ostrosky1010Canada2024-05-24
Octavia N Amigon1011Italy2024-06-08
Emily K Nestle1012Spain2024-05-31
Emily Y Waycott1013India2024-05-24
Antonio K Darakjy1014Japan2024-05-29
Cody Q Ostrosky1015Spain2024-05-23
Mayumi G Ostrosky1016France2024-05-24
Chavez T Saylors1017United Kingdom2024-06-05
Alejandro K Caldarera1018Italy2024-05-23
Leja Q Slusarski1019Spain2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio L ButtBrazilXuxue Feng QUALIFIED
Ivar S OstroskyBrazilIvan Magalhaes NEGOTIATION
Salvatore A SlusarskiRussiaAmy Elsner RENEWAL
Aika K PaprockiItalyOnyama Limba NEGOTIATION
Juan U InouyeCanadaAsiya Javayant NEW
Jennifer Q PaprockiRussiaElwin Sharvill UNQUALIFIED
Ashley V DoeItalyAnna Fali QUALIFIED
Alejandro D MarrierRussiaXuxue Feng QUALIFIED
Izzy L GillianBrazilIoni Bowcher QUALIFIED
Julie Q RulapaughSpainStephen Shaw QUALIFIED
Morrow I PoquetteUnited KingdomIvan Magalhaes NEGOTIATION
Darci Q CaudyGermanyBernardo Dominic RENEWAL
Wickens S ShinkoArgentinaOnyama Limba NEGOTIATION
Antonio L DilliardBrazilXuxue Feng RENEWAL
Clifford L NestleBrazilOnyama Limba NEGOTIATION
Maisha J BowleyFranceBernardo Dominic NEW
Silvio N TollnerCanadaElwin Sharvill NEGOTIATION
Sinclair D MacleadItalyAnna Fali RENEWAL
Juan D RulapaughBrazilAnna Fali PROPOSAL
Octavia W RutaSpainAnna Fali RENEWAL
Rodrigues J ChuiJapanAmy Elsner PROPOSAL
Jennifer H KolmetzSpainBernardo Dominic RENEWAL
Maria M SlusarskiUnited KingdomElwin Sharvill NEW
Maisha K FlosiArgentinaBernardo Dominic RENEWAL
Adams V FigeroaFranceElwin Sharvill UNQUALIFIED
Leon P WieserGermanyIvan Magalhaes NEGOTIATION
Emily M AmigonSpainIvan Magalhaes PROPOSAL
Jeanfrancois H MaletJapanStephen Shaw NEW
Kaitlin B InouyeGermanyAmy Elsner NEGOTIATION
Costa G BowleyIndiaXuxue Feng NEGOTIATION
Leja R ShinkoArgentinaOnyama Limba RENEWAL
Julie S CampainFranceOnyama Limba QUALIFIED
Greenwood N RoysterFranceIoni Bowcher PROPOSAL
Leja P FlosiGermanyIvan Magalhaes NEW
Silvio L SlusarskiJapanStephen Shaw NEGOTIATION
Munro V MacleadItalyOnyama Limba PROPOSAL
Maria F GauchoCanadaBernardo Dominic PROPOSAL
Johnson K PaprockiIndiaElwin Sharvill RENEWAL
Cody C DoeGermanyBernardo Dominic QUALIFIED
Darci V PoquetteUnited KingdomIoni Bowcher 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>