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 O FerenczAustraliaElwin Sharvill UNQUALIFIED
Clifford H ChuiFranceStephen Shaw RENEWAL
Silvio Y IturbideCanadaAnna Fali QUALIFIED
Francesco R ChuiAustraliaIvan Magalhaes QUALIFIED
Smith F MaletFranceAmy Elsner NEW
Wickens V KolmetzSpainAsiya Javayant QUALIFIED
Cody B PoquetteRussiaIoni Bowcher UNQUALIFIED
Emily Y GauchoAustraliaAnna Fali UNQUALIFIED
Adams Q PaprockiJapanIoni Bowcher RENEWAL
Isabel E SlusarskiAustraliaXuxue Feng NEGOTIATION
Octavia M RutaBrazilAmy Elsner NEW
Munro Q PaprockiBrazilBernardo Dominic PROPOSAL
Silvio U RutaFranceBernardo Dominic RENEWAL
Leon C VenereGermanyStephen Shaw NEGOTIATION
Sinclair X KuskoGermanyBernardo Dominic NEGOTIATION
James F OstroskyCanadaOnyama Limba QUALIFIED
Alejandro S InouyeGermanyAnna Fali NEW
Ivar Y IturbideRussiaOnyama Limba QUALIFIED
Octavia T DoeIndiaAsiya Javayant QUALIFIED
Jeanfrancois W GarufiItalyAnna Fali UNQUALIFIED
Alejandro Y MacleadCanadaBernardo Dominic NEGOTIATION
Francesco C InouyeRussiaOnyama Limba RENEWAL
Jennifer E DoeCanadaAsiya Javayant NEGOTIATION
Maria T CaldareraIndiaOnyama Limba UNQUALIFIED
Morrow Z InouyeItalyAnna Fali NEW
Juan U CampainGermanyElwin Sharvill NEW
Munro X MaletIndiaOnyama Limba PROPOSAL
Nicolas I IturbideAustraliaAnna Fali NEW
Silvio B BowleyItalyAsiya Javayant RENEWAL
Aika O GillianSpainAsiya Javayant NEGOTIATION
Murillo P DilliardAustraliaOnyama Limba NEW
Aika W OldroydRussiaIvan Magalhaes QUALIFIED
Kadeem N FigeroaBrazilElwin Sharvill QUALIFIED
Izzy R OstroskyItalyBernardo Dominic UNQUALIFIED
Aruna W VocelkaRussiaStephen Shaw NEGOTIATION
Mujtaba B GarufiUnited KingdomAnna Fali NEGOTIATION
Ricardo D SergiJapanXuxue Feng RENEWAL
Aika B GillianBrazilStephen Shaw NEGOTIATION
Wickens O RulapaughBrazilStephen Shaw UNQUALIFIED
Octavia S AlbaresBrazilAnna Fali NEW
Salvatore U StockhamGermanyAmy Elsner NEGOTIATION
Isabel K FerenczFranceIvan Magalhaes QUALIFIED
Arvin D BriddickItalyAnna Fali NEW
Mayumi P FerenczUnited KingdomStephen Shaw NEGOTIATION
Munro W MacleadGermanyAnna Fali PROPOSAL
Faith Q VenereCanadaStephen Shaw RENEWAL
Kaitlin A GarufiFranceOnyama Limba PROPOSAL
Darci M PoquetteItalyBernardo Dominic NEW
Cody Z ButtIndiaElwin Sharvill PROPOSAL
Jefferson W FlosiRussiaIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Maria A ChuiJapanXuxue Feng NEW
Maisha S AmigonIndiaIvan Magalhaes PROPOSAL
Juan R InouyeCanadaBernardo Dominic PROPOSAL
Izzy W BologniaAustraliaAmy Elsner UNQUALIFIED
Wickens Z GarufiBrazilBernardo Dominic RENEWAL
Francesco Y FerenczSpainIvan Magalhaes RENEWAL
Jeanfrancois B KuskoGermanyStephen Shaw NEGOTIATION
Leon L FlosiAustraliaAnna Fali PROPOSAL
Julie B VocelkaBrazilAsiya Javayant NEW
Julie V RimIndiaBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois I VenereGermany2024-05-29Printing Dimensions PROPOSAL0Ivan Magalhaes
1001Izzy A RimCanada2024-06-10Chapman, Ross E Esq NEW7Onyama Limba
1002Izzy R BowleyFrance2024-06-14Printing Dimensions NEW25Anna Fali
1003Antonio H GauchoAustralia2024-05-22King, Christopher A Esq NEW52Ioni Bowcher
1004Adams X GillianJapan2024-06-02Printing Dimensions PROPOSAL36Ioni Bowcher
1005Antonio D GauchoIndia2024-06-17Chanay, Jeffrey A Esq RENEWAL63Stephen Shaw
1006Wickens Q MaletAustralia2024-05-22Chapman, Ross E Esq QUALIFIED34Anna Fali
1007Julie A KolmetzGermany2024-06-16Morlong Associates RENEWAL52Amy Elsner
1008Alejandro G MaletUnited Kingdom2024-06-09Rousseaux, Michael Esq RENEWAL19Ivan Magalhaes
1009Francesco D SaylorsArgentina2024-06-08Chapman, Ross E Esq RENEWAL7Ivan Magalhaes
1010Ashley U CaudyItaly2024-06-12King, Christopher A Esq QUALIFIED20Bernardo Dominic
1011Nicolas J KolmetzBrazil2024-06-05Commercial Press RENEWAL34Asiya Javayant
1012Jeanfrancois Y GillianBrazil2024-06-02Chanay, Jeffrey A Esq NEGOTIATION18Stephen Shaw
1013Kaitlin C OldroydRussia2024-05-20Chemel, James L Cpa RENEWAL64Bernardo Dominic
1014Ricardo C RutaIndia2024-06-13Commercial Press QUALIFIED79Anna Fali
1015Tony R NickaRussia2024-05-20Chanay, Jeffrey A Esq UNQUALIFIED14Anna Fali
1016Stacey N BologniaJapan2024-06-05Printing Dimensions RENEWAL82Anna Fali
1017Kadeem V StockhamGermany2024-06-02Commercial Press RENEWAL56Bernardo Dominic
1018Deepesh K DoeFrance2024-06-09Truhlar And Truhlar Attys RENEWAL91Ioni Bowcher
1019Adams I DoeRussia2024-06-01Feltz Printing Service NEGOTIATION84Stephen Shaw
1020Adams Q TollnerJapan2024-05-31Printing Dimensions NEW25Xuxue Feng
1021Juan D CampainJapan2024-05-25Feltz Printing Service PROPOSAL81Onyama Limba
1022James O KuskoUnited Kingdom2024-05-25Feltz Printing Service PROPOSAL58Onyama Limba
1023Tony L TollnerGermany2024-06-13Truhlar And Truhlar Attys QUALIFIED98Xuxue Feng
1024Maisha E RutaRussia2024-05-23Dorl, James J Esq NEGOTIATION40Bernardo Dominic
1025Leon F StockhamSpain2024-06-14Rangoni Of Florence NEGOTIATION79Onyama Limba
1026Costa E CaldareraGermany2024-05-23Buckley Miller Wright QUALIFIED44Elwin Sharvill
1027Jeanfrancois E AmigonFrance2024-06-01Rangoni Of Florence RENEWAL36Ioni Bowcher
1028Kaitlin A MaletUnited Kingdom2024-06-07Rousseaux, Michael Esq UNQUALIFIED19Bernardo Dominic
1029Julie Q DilliardItaly2024-05-31Chemel, James L Cpa PROPOSAL80Ioni Bowcher
1030Claire D RimAustralia2024-06-05Morlong Associates RENEWAL76Ivan Magalhaes
1031Maisha Q DilliardRussia2024-05-28Truhlar And Truhlar Attys QUALIFIED56Elwin Sharvill
1032Silvio G KuskoUnited Kingdom2024-05-24Chemel, James L Cpa PROPOSAL39Stephen Shaw
1033Tony Y AmigonSpain2024-05-22Rangoni Of Florence RENEWAL71Onyama Limba
1034Alejandro S SlusarskiAustralia2024-05-27Truhlar And Truhlar Attys NEW18Bernardo Dominic
1035Leon S KolmetzBrazil2024-06-07Commercial Press NEW3Elwin Sharvill
1036Sinclair R StensethSpain2024-05-29Chemel, James L Cpa RENEWAL80Ioni Bowcher
1037Clifford C PerinCanada2024-05-19Chanay, Jeffrey A Esq PROPOSAL95Xuxue Feng
1038Mujtaba Y MaletCanada2024-06-04Chapman, Ross E Esq PROPOSAL56Stephen Shaw
1039Cody J RoysterItaly2024-05-26Printing Dimensions QUALIFIED71Stephen Shaw
1040Cody E StensethBrazil2024-05-23Truhlar And Truhlar Attys PROPOSAL49Stephen Shaw
1041Tony K CaudyBrazil2024-05-25Chemel, James L Cpa RENEWAL83Anna Fali
1042Chavez C MacleadUnited Kingdom2024-06-13Rangoni Of Florence PROPOSAL42Asiya Javayant
1043Jennifer A RimIndia2024-05-19Feiner Bros UNQUALIFIED57Asiya Javayant
1044Juan C PoquetteGermany2024-05-24Rangoni Of Florence NEGOTIATION67Ioni Bowcher
1045James U ButtItaly2024-05-20Morlong Associates NEGOTIATION84Bernardo Dominic
1046Salvatore Q InouyeItaly2024-05-29Truhlar And Truhlar Attys PROPOSAL9Asiya Javayant
1047Jefferson V ChuiSpain2024-06-09Chapman, Ross E Esq NEGOTIATION79Asiya Javayant
1048Deepesh P RulapaughUnited Kingdom2024-05-20Commercial Press RENEWAL66Onyama Limba
1049Nicolas L VocelkaArgentina2024-06-08Chemel, James L Cpa UNQUALIFIED12Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Leja Q KuskoAustraliaAnna Fali PROPOSAL
Francesco B FerenczBrazilAnna Fali PROPOSAL
Aditya S ButtFranceAnna Fali PROPOSAL
Silvio B DilliardGermanyIvan Magalhaes PROPOSAL
Aruna W FigeroaGermanyBernardo Dominic NEGOTIATION
James X RoysterBrazilBernardo Dominic NEGOTIATION
Greenwood I MarrierItalyBernardo Dominic QUALIFIED
Nicolas D StensethCanadaElwin Sharvill NEW
Ivar E FigeroaSpainIoni Bowcher PROPOSAL
Adams Q CaudyCanadaAnna Fali QUALIFIED
Mayumi H SlusarskiFranceElwin Sharvill UNQUALIFIED
Maria I GarufiSpainAnna Fali QUALIFIED
Adams M PoquetteGermanyAmy Elsner QUALIFIED
Munro Q SchemmerArgentinaIoni Bowcher UNQUALIFIED
Clifford H OstroskyUnited KingdomAnna Fali NEW
Aika A MarrierSpainStephen Shaw NEGOTIATION
Adams Y MacleadItalyAsiya Javayant RENEWAL
Leja O WieserArgentinaElwin Sharvill NEW
Claire P FerenczIndiaXuxue Feng PROPOSAL
Jeanfrancois M MarrierBrazilElwin Sharvill RENEWAL
Leon Q CampainItalyBernardo Dominic NEGOTIATION
Claire X CaudyArgentinaXuxue Feng PROPOSAL
Isabel D MarrierItalyAmy Elsner QUALIFIED
Izzy V StensethFranceIvan Magalhaes UNQUALIFIED
Maria Y SchemmerAustraliaStephen Shaw QUALIFIED
Octavia Q FigeroaGermanyIvan Magalhaes NEGOTIATION
James F FerenczUnited KingdomXuxue Feng NEGOTIATION
Sinclair A MaletBrazilXuxue Feng NEGOTIATION
Adams O MacleadSpainXuxue Feng UNQUALIFIED
Maisha O FollerUnited KingdomBernardo Dominic NEGOTIATION
Maisha A NickaGermanyOnyama Limba QUALIFIED
David B FlosiBrazilXuxue Feng RENEWAL
Murillo M FigeroaRussiaElwin Sharvill PROPOSAL
Clifford T TollnerIndiaIvan Magalhaes RENEWAL
Ricardo Q DilliardUnited KingdomIoni Bowcher UNQUALIFIED
Jones L MaletCanadaOnyama Limba NEW
Aditya F MacleadGermanyXuxue Feng NEW
Wickens K BowleyArgentinaAsiya Javayant PROPOSAL
Murillo S DarakjyRussiaStephen Shaw NEGOTIATION
Jones B SaylorsSpainElwin Sharvill QUALIFIED
Octavia T AmigonIndiaAmy Elsner RENEWAL
Maria G VenereSpainAsiya Javayant PROPOSAL
Julie W BologniaIndiaAnna Fali PROPOSAL
James F CampainCanadaOnyama Limba NEW
Aditya G NestleFranceAsiya Javayant QUALIFIED
Izzy K SaylorsFranceBernardo Dominic NEGOTIATION
Chavez A WieserGermanyBernardo Dominic NEGOTIATION
Rodrigues D RulapaughBrazilAsiya Javayant RENEWAL
Salvatore V SaylorsUnited KingdomIoni Bowcher NEW
Sinclair S GlickSpainElwin Sharvill NEGOTIATION
Frozen Columns
Name
Juan K Maclead
Aditya I Campain
Munro P Whobrey
Chavez W Poquette
Maisha D Foller
Aika R Campain
Sinclair V Maclead
Tony S Flosi
Chavez Y Iturbide
Adams K Darakjy
Emily G Paprocki
Francesco I Chui
David O Kusko
Aditya I Bowley
Jennifer R Malet
Rodrigues B Darakjy
Murillo E Bowley
Silvio E Campain
Clifford D Maclead
Deepesh J Figeroa
Arvin X Marrier
Antonio S Gillian
Izzy O Rim
Ricardo M Royster
Jefferson T Chui
Murillo W Maclead
Kaitlin T Garufi
Wickens I Glick
Maisha S Sergi
Kaitlin D Perin
Jones N Tollner
Clifford S Gillian
Aditya T Ruta
Emily E Waycott
Isabel E Schemmer
Costa H Rim
David G Butt
Jeanfrancois J Caudy
Aruna B Vocelka
Kadeem G Rim
Adams C Amigon
Juan Z Foller
Julie R Kusko
Smith Y Schemmer
Tony H Kolmetz
Aditya S Perin
Ivar U Royster
Jones M Doe
Nicolas H Rim
Johnson L Malet
IdCountryDate
1000Italy2024-05-27
1001Italy2024-05-30
1002Argentina2024-05-25
1003Canada2024-05-19
1004France2024-05-27
1005France2024-06-04
1006Spain2024-06-14
1007Australia2024-05-21
1008France2024-06-06
1009Spain2024-06-08
1010Australia2024-05-19
1011Canada2024-05-25
1012Brazil2024-05-22
1013Spain2024-05-21
1014Italy2024-06-15
1015Australia2024-06-13
1016Germany2024-06-12
1017Argentina2024-05-21
1018France2024-06-07
1019Canada2024-06-03
1020France2024-05-26
1021Russia2024-05-30
1022Brazil2024-05-23
1023Canada2024-06-13
1024Germany2024-06-01
1025Spain2024-06-13
1026Germany2024-05-20
1027Australia2024-05-25
1028Australia2024-05-31
1029Italy2024-06-03
1030Brazil2024-06-02
1031United Kingdom2024-05-30
1032Argentina2024-05-27
1033Australia2024-05-31
1034India2024-06-13
1035Russia2024-06-11
1036Spain2024-05-25
1037Italy2024-06-17
1038Japan2024-06-12
1039Australia2024-05-20
1040Spain2024-06-12
1041Russia2024-06-05
1042Spain2024-06-10
1043Germany2024-05-23
1044Spain2024-06-11
1045Australia2024-05-26
1046India2024-06-09
1047India2024-06-04
1048India2024-05-27
1049Japan2024-06-13

On-Demand Data

NameIdCountryDate
Smith O Garufi1000United Kingdom2024-06-09
Tony X Inouye1001Brazil2024-06-10
Salvatore Y Sergi1002India2024-05-25
James E Slusarski1003Russia2024-06-07
Aika D Garufi1004Russia2024-06-05
Octavia I Dilliard1005United Kingdom2024-05-30
Octavia C Gillian1006Spain2024-05-21
Juan I Schemmer1007France2024-06-11
Jeanfrancois O Saylors1008Russia2024-06-10
Darci E Glick1009Argentina2024-06-16
Leon C Shinko1010Japan2024-06-12
Claire S Tollner1011Canada2024-06-10
Leon Y Butt1012United Kingdom2024-06-16
Octavia W Foller1013Argentina2024-06-05
Nicolas Q Bolognia1014Canada2024-05-26
Faith U Vocelka1015France2024-05-31
James Z Garufi1016Russia2024-05-22
Tony K Ostrosky1017Argentina2024-05-21
Aika B Venere1018United Kingdom2024-05-22
Alejandro D Ruta1019Italy2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco H PaprockiBrazilBernardo Dominic UNQUALIFIED
Alejandro W DilliardJapanBernardo Dominic UNQUALIFIED
Isabel G RoysterRussiaAsiya Javayant RENEWAL
Salvatore J SchemmerGermanyAmy Elsner UNQUALIFIED
Misaki Y StockhamFranceIoni Bowcher NEGOTIATION
Silvio N OstroskyIndiaAmy Elsner NEW
Cody S PaprockiSpainIvan Magalhaes PROPOSAL
Jeanfrancois C DoeRussiaAmy Elsner PROPOSAL
Julie W ShinkoFranceIvan Magalhaes UNQUALIFIED
Alejandro Z FerenczSpainIvan Magalhaes NEGOTIATION
Francesco J MaletCanadaBernardo Dominic UNQUALIFIED
Silvio K AlbaresCanadaXuxue Feng PROPOSAL
Greenwood T ButtAustraliaStephen Shaw PROPOSAL
Tony B DilliardIndiaIoni Bowcher UNQUALIFIED
Nicolas F BriddickGermanyElwin Sharvill NEGOTIATION
Kadeem V GillianJapanAsiya Javayant NEW
Aruna B TollnerGermanyIoni Bowcher NEW
Aditya M TollnerArgentinaAsiya Javayant UNQUALIFIED
Stacey W CampainFranceIvan Magalhaes PROPOSAL
Salvatore W ShinkoBrazilAsiya Javayant UNQUALIFIED
Antonio I ShinkoAustraliaAmy Elsner NEW
Maria K MacleadRussiaIoni Bowcher RENEWAL
Aika X AlbaresJapanXuxue Feng PROPOSAL
Johnson F MacleadFranceStephen Shaw NEW
Antonio V TollnerBrazilIoni Bowcher RENEWAL
Sinclair B CampainSpainOnyama Limba QUALIFIED
James Y OldroydUnited KingdomBernardo Dominic UNQUALIFIED
Rodrigues F PaprockiRussiaIoni Bowcher UNQUALIFIED
Misaki U ShinkoFranceXuxue Feng UNQUALIFIED
Deepesh X PaprockiUnited KingdomAmy Elsner UNQUALIFIED
Tony R CampainSpainOnyama Limba UNQUALIFIED
Aika U KolmetzItalyAnna Fali QUALIFIED
Emily X NestleBrazilAsiya Javayant NEW
Silvio D TollnerJapanStephen Shaw NEW
Stacey D CaudyAustraliaAmy Elsner PROPOSAL
Greenwood D RulapaughJapanAnna Fali RENEWAL
Johnson K PoquetteIndiaIoni Bowcher QUALIFIED
Smith S BriddickRussiaIoni Bowcher NEW
Cody A RoysterGermanyStephen Shaw NEGOTIATION
Alejandro B FollerCanadaIoni Bowcher UNQUALIFIED

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