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
Wickens K OstroskyRussiaAmy Elsner UNQUALIFIED
Leon C VocelkaArgentinaXuxue Feng NEW
Misaki K SaylorsCanadaAsiya Javayant RENEWAL
Greenwood L SlusarskiCanadaElwin Sharvill RENEWAL
Claire R WieserRussiaAsiya Javayant PROPOSAL
Johnson W NickaIndiaOnyama Limba RENEWAL
Ricardo Y MaletItalyIvan Magalhaes NEW
Johnson S GauchoItalyBernardo Dominic NEW
James J RimBrazilOnyama Limba NEGOTIATION
Nicolas Y SchemmerArgentinaAnna Fali NEW
Darci F DarakjySpainIvan Magalhaes RENEWAL
Maisha N OldroydRussiaXuxue Feng PROPOSAL
David W DarakjyAustraliaXuxue Feng PROPOSAL
Stacey K GauchoIndiaAmy Elsner NEGOTIATION
Smith L CaudyFranceBernardo Dominic NEW
Ivar F SchemmerArgentinaElwin Sharvill QUALIFIED
Misaki M RoysterArgentinaXuxue Feng NEGOTIATION
Stacey K MaletFranceBernardo Dominic PROPOSAL
Emily E WieserArgentinaAsiya Javayant NEW
Darci G IturbideFranceAsiya Javayant PROPOSAL
Mujtaba D FigeroaCanadaAnna Fali RENEWAL
David K TollnerBrazilElwin Sharvill RENEWAL
Jones L MaletIndiaAsiya Javayant NEW
Salvatore J FlosiItalyIvan Magalhaes RENEWAL
Greenwood I WieserItalyXuxue Feng QUALIFIED
Salvatore K NestleSpainStephen Shaw QUALIFIED
Ashley S GauchoAustraliaAmy Elsner PROPOSAL
Octavia I KolmetzUnited KingdomXuxue Feng QUALIFIED
Aruna X VenereGermanyElwin Sharvill NEW
Antonio M GarufiCanadaAsiya Javayant QUALIFIED
Mayumi Y PaprockiRussiaIvan Magalhaes RENEWAL
Cody Z KuskoAustraliaBernardo Dominic QUALIFIED
Jeanfrancois T FollerUnited KingdomXuxue Feng NEGOTIATION
Misaki M StockhamBrazilOnyama Limba PROPOSAL
Jeanfrancois W WieserCanadaElwin Sharvill NEGOTIATION
Octavia K NestleCanadaOnyama Limba UNQUALIFIED
Arvin B VenereAustraliaAmy Elsner QUALIFIED
Arvin K FerenczArgentinaAsiya Javayant QUALIFIED
David Y MarrierCanadaAnna Fali NEGOTIATION
Misaki S NestleUnited KingdomIoni Bowcher NEGOTIATION
Julie J StockhamBrazilAnna Fali NEGOTIATION
Octavia P BowleyAustraliaOnyama Limba UNQUALIFIED
Aika K SchemmerJapanStephen Shaw PROPOSAL
Juan F DoeSpainIoni Bowcher NEW
Ricardo A FlosiArgentinaOnyama Limba NEGOTIATION
Jones B GauchoSpainAnna Fali PROPOSAL
Mujtaba V StensethCanadaElwin Sharvill NEW
Chavez P RimCanadaOnyama Limba QUALIFIED
Aditya N MacleadArgentinaOnyama Limba UNQUALIFIED
Kadeem X MacleadCanadaAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Adams I AlbaresCanadaXuxue Feng RENEWAL
Jennifer J StensethAustraliaElwin Sharvill NEGOTIATION
Jennifer J SchemmerAustraliaElwin Sharvill NEGOTIATION
Maria H AmigonSpainElwin Sharvill QUALIFIED
Smith P TollnerAustraliaBernardo Dominic PROPOSAL
Octavia S FlosiUnited KingdomIvan Magalhaes NEW
Costa Q StockhamArgentinaStephen Shaw NEGOTIATION
Mayumi R CaldareraJapanOnyama Limba QUALIFIED
Francesco S KuskoGermanyAsiya Javayant PROPOSAL
Kaitlin U FlosiBrazilAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci V RimItaly2024-05-27Commercial Press RENEWAL52Stephen Shaw
1001Sinclair V OstroskyAustralia2024-05-26Chapman, Ross E Esq NEGOTIATION79Asiya Javayant
1002Leon O WaycottUnited Kingdom2024-06-13Benton, John B Jr NEGOTIATION24Stephen Shaw
1003Deepesh W FlosiArgentina2024-05-30King, Christopher A Esq QUALIFIED73Xuxue Feng
1004Salvatore C PerinGermany2024-05-23Benton, John B Jr QUALIFIED54Stephen Shaw
1005Darci S GauchoRussia2024-06-13Rousseaux, Michael Esq NEGOTIATION7Onyama Limba
1006Jefferson R KolmetzFrance2024-05-20Feltz Printing Service PROPOSAL26Amy Elsner
1007Munro D VocelkaUnited Kingdom2024-05-23Morlong Associates PROPOSAL59Onyama Limba
1008Deepesh Y ChuiIndia2024-05-20Printing Dimensions NEGOTIATION91Xuxue Feng
1009Cody Y RoysterJapan2024-06-06Rangoni Of Florence QUALIFIED78Anna Fali
1010Jones S RimSpain2024-05-21Rousseaux, Michael Esq PROPOSAL35Onyama Limba
1011James V FollerUnited Kingdom2024-05-22Commercial Press PROPOSAL56Xuxue Feng
1012Morrow H ChuiIndia2024-05-29Benton, John B Jr QUALIFIED60Elwin Sharvill
1013Aruna A StensethAustralia2024-06-15Rangoni Of Florence NEGOTIATION31Elwin Sharvill
1014Smith V CaldareraJapan2024-06-16Commercial Press UNQUALIFIED74Ivan Magalhaes
1015Darci Q VocelkaRussia2024-05-21Truhlar And Truhlar Attys RENEWAL78Ioni Bowcher
1016Aruna K VocelkaGermany2024-05-30King, Christopher A Esq NEW60Onyama Limba
1017Ivar F MaletItaly2024-06-01Morlong Associates NEGOTIATION79Asiya Javayant
1018Kadeem X DarakjyItaly2024-06-02Truhlar And Truhlar Attys UNQUALIFIED12Xuxue Feng
1019Jefferson I MorascaAustralia2024-05-30Commercial Press UNQUALIFIED1Elwin Sharvill
1020Kaitlin O StockhamIndia2024-06-12Commercial Press UNQUALIFIED21Anna Fali
1021Jones P PerinArgentina2024-06-16Printing Dimensions NEW75Anna Fali
1022Ricardo C WhobreyArgentina2024-06-07Truhlar And Truhlar Attys PROPOSAL43Amy Elsner
1023Faith U IturbideUnited Kingdom2024-06-07Rangoni Of Florence NEW32Elwin Sharvill
1024Greenwood C FigeroaUnited Kingdom2024-06-16Morlong Associates NEGOTIATION79Amy Elsner
1025Kaitlin Y InouyeFrance2024-05-23Benton, John B Jr NEGOTIATION71Onyama Limba
1026Silvio S AmigonJapan2024-06-03Chemel, James L Cpa RENEWAL53Bernardo Dominic
1027Aditya I StensethIndia2024-06-09Rangoni Of Florence UNQUALIFIED22Ioni Bowcher
1028Faith U MarrierGermany2024-06-09Benton, John B Jr NEW45Amy Elsner
1029Stacey Q MaletAustralia2024-06-12Printing Dimensions QUALIFIED49Onyama Limba
1030Ricardo U FigeroaBrazil2024-06-03Truhlar And Truhlar Attys NEGOTIATION67Asiya Javayant
1031Jennifer S NestleIndia2024-06-01Benton, John B Jr NEW79Asiya Javayant
1032Jones N PoquetteGermany2024-05-29Morlong Associates RENEWAL79Xuxue Feng
1033Munro V OldroydItaly2024-06-02Chemel, James L Cpa UNQUALIFIED55Ivan Magalhaes
1034Nicolas K RutaIndia2024-06-01Printing Dimensions PROPOSAL1Asiya Javayant
1035Ashley D SchemmerCanada2024-06-16Feltz Printing Service QUALIFIED93Onyama Limba
1036Wickens J DarakjyBrazil2024-05-21King, Christopher A Esq NEGOTIATION8Elwin Sharvill
1037Faith N PoquetteBrazil2024-06-17Truhlar And Truhlar Attys RENEWAL13Asiya Javayant
1038Chavez F DoeAustralia2024-05-24Commercial Press UNQUALIFIED27Elwin Sharvill
1039Antonio T GillianItaly2024-05-23Printing Dimensions PROPOSAL55Bernardo Dominic
1040Clifford C SchemmerJapan2024-05-26Feiner Bros PROPOSAL52Amy Elsner
1041Johnson L NickaSpain2024-05-21Commercial Press RENEWAL76Stephen Shaw
1042Leja B DilliardRussia2024-06-04Chemel, James L Cpa PROPOSAL40Onyama Limba
1043Costa F WhobreyFrance2024-06-07Feiner Bros QUALIFIED87Amy Elsner
1044Darci O OstroskyUnited Kingdom2024-06-09Dorl, James J Esq PROPOSAL97Elwin Sharvill
1045Leon S IturbideArgentina2024-05-21Benton, John B Jr RENEWAL6Amy Elsner
1046Claire B AmigonSpain2024-06-03Truhlar And Truhlar Attys QUALIFIED0Ioni Bowcher
1047Aruna Z GlickFrance2024-05-20Feltz Printing Service UNQUALIFIED95Amy Elsner
1048Munro I MaletRussia2024-06-07Morlong Associates PROPOSAL12Onyama Limba
1049Smith X WaycottFrance2024-05-27Morlong Associates PROPOSAL10Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Darci S TollnerGermanyOnyama Limba RENEWAL
Aika G VocelkaGermanyAmy Elsner NEGOTIATION
Aika F KuskoRussiaIoni Bowcher NEW
Costa P BowleySpainIoni Bowcher PROPOSAL
Aditya P NestleGermanyAnna Fali NEW
Ashley P CaudyGermanyIvan Magalhaes PROPOSAL
Salvatore T BowleyItalyIoni Bowcher NEW
Aika J FlosiIndiaXuxue Feng QUALIFIED
Silvio B AmigonUnited KingdomStephen Shaw QUALIFIED
Cody F OstroskyItalyAnna Fali QUALIFIED
Silvio J FigeroaArgentinaOnyama Limba RENEWAL
Mujtaba X SergiIndiaAsiya Javayant NEW
Tony B GlickCanadaIoni Bowcher NEW
Maria B DarakjyUnited KingdomXuxue Feng NEW
Isabel H WieserIndiaBernardo Dominic NEGOTIATION
Jones M OldroydFranceAnna Fali PROPOSAL
Izzy V RoysterItalyStephen Shaw NEGOTIATION
Kaitlin A WaycottUnited KingdomOnyama Limba NEW
Stacey U DoeCanadaIvan Magalhaes UNQUALIFIED
Murillo Q MaletRussiaXuxue Feng RENEWAL
Ricardo F CaudyIndiaAsiya Javayant NEGOTIATION
Adams H FerenczItalyXuxue Feng UNQUALIFIED
Stacey Z FigeroaItalyOnyama Limba NEGOTIATION
Mayumi Z MacleadRussiaElwin Sharvill QUALIFIED
Munro N RulapaughAustraliaAsiya Javayant RENEWAL
Isabel D RulapaughIndiaStephen Shaw NEW
Wickens K NestleBrazilIoni Bowcher PROPOSAL
David T RulapaughIndiaElwin Sharvill QUALIFIED
Isabel V WhobreyFranceAmy Elsner UNQUALIFIED
Nicolas R PoquetteRussiaAsiya Javayant RENEWAL
Johnson T MaletAustraliaIoni Bowcher PROPOSAL
Ricardo S AlbaresIndiaOnyama Limba QUALIFIED
Jennifer W DarakjyRussiaStephen Shaw UNQUALIFIED
Nicolas W GlickJapanBernardo Dominic NEW
Rodrigues H VenereBrazilOnyama Limba NEGOTIATION
Jefferson D RulapaughIndiaElwin Sharvill NEGOTIATION
Arvin J BowleyItalyIoni Bowcher PROPOSAL
Silvio F RulapaughSpainBernardo Dominic RENEWAL
Octavia E AlbaresAustraliaElwin Sharvill UNQUALIFIED
Greenwood K BriddickSpainAnna Fali UNQUALIFIED
Alejandro I BriddickUnited KingdomOnyama Limba NEW
Maisha K ChuiBrazilAsiya Javayant QUALIFIED
Jennifer K KolmetzIndiaBernardo Dominic PROPOSAL
Deepesh T OldroydCanadaOnyama Limba PROPOSAL
Tony V IturbideBrazilStephen Shaw UNQUALIFIED
Tony H KolmetzGermanyAsiya Javayant QUALIFIED
Jones Y GauchoArgentinaAnna Fali NEW
Nicolas B WhobreySpainBernardo Dominic RENEWAL
Sinclair X GillianBrazilOnyama Limba QUALIFIED
Silvio A CaudyArgentinaAnna Fali NEGOTIATION
Frozen Columns
Name
Mujtaba J Royster
Leja B Foller
Ricardo Y Rulapaugh
Jefferson G Stockham
Jeanfrancois D Kusko
Jefferson N Malet
Tony D Tollner
Tony B Caudy
Francesco Q Maclead
Cody G Sergi
Aruna C Royster
Clifford L Wieser
Arvin H Nicka
Munro Q Glick
Jones U Darakjy
Cody N Doe
Maria M Malet
Johnson H Gillian
Francesco X Doe
Costa K Sergi
Aditya G Kolmetz
Silvio L Doe
Clifford E Albares
James D Stenseth
Kaitlin O Royster
Claire M Gaucho
Octavia J Marrier
Claire H Saylors
Smith N Bowley
Ricardo X Saylors
Jefferson F Rim
Silvio P Glick
Juan B Maclead
Octavia F Gaucho
Faith J Sergi
Smith O Amigon
Octavia I Chui
Antonio J Rim
Mayumi D Ferencz
Aruna W Sergi
Jeanfrancois I Waycott
Cody M Nestle
Jennifer X Foller
Misaki W Slusarski
Julie F Foller
Aika F Doe
Sinclair O Gillian
Faith H Bowley
Aruna T Royster
Mayumi T Flosi
IdCountryDate
1000Japan2024-06-17
1001Australia2024-05-26
1002Russia2024-05-20
1003Germany2024-05-22
1004United Kingdom2024-06-15
1005Canada2024-05-28
1006Australia2024-06-14
1007United Kingdom2024-05-22
1008Germany2024-06-14
1009France2024-06-05
1010Brazil2024-05-28
1011Spain2024-06-17
1012Canada2024-06-05
1013Australia2024-05-20
1014United Kingdom2024-06-12
1015Canada2024-05-24
1016India2024-05-28
1017Spain2024-06-10
1018France2024-05-29
1019Spain2024-06-02
1020Russia2024-05-23
1021Brazil2024-06-17
1022Brazil2024-06-13
1023Japan2024-06-15
1024United Kingdom2024-06-14
1025Germany2024-06-11
1026Canada2024-06-04
1027Germany2024-06-04
1028France2024-05-31
1029Italy2024-06-09
1030Italy2024-06-04
1031Germany2024-05-28
1032Australia2024-05-31
1033India2024-05-24
1034Italy2024-06-10
1035Spain2024-06-13
1036Australia2024-06-06
1037United Kingdom2024-06-06
1038Germany2024-05-20
1039Australia2024-05-20
1040Canada2024-06-07
1041France2024-06-02
1042Spain2024-06-07
1043Canada2024-06-15
1044France2024-05-21
1045Argentina2024-06-17
1046Italy2024-05-24
1047Canada2024-05-25
1048Japan2024-06-13
1049Australia2024-06-05

On-Demand Data

NameIdCountryDate
Mujtaba X Gillian1000Japan2024-05-20
Murillo M Flosi1001Argentina2024-06-02
Isabel W Whobrey1002Australia2024-06-08
Jennifer U Campain1003Spain2024-06-13
Salvatore E Bolognia1004India2024-05-21
Leon W Inouye1005Japan2024-05-26
Mayumi U Stenseth1006India2024-05-23
Munro Z Malet1007Argentina2024-05-29
Arvin T Stockham1008India2024-06-02
Aditya R Perin1009Argentina2024-05-24
Morrow V Schemmer1010France2024-06-06
Costa F Inouye1011Argentina2024-06-16
Nicolas Y Briddick1012Russia2024-05-30
Murillo K Kusko1013United Kingdom2024-06-02
Nicolas G Bowley1014France2024-06-06
Johnson V Garufi1015Japan2024-05-31
Maisha H Nicka1016Brazil2024-06-07
Munro D Nestle1017Australia2024-05-26
Kadeem B Inouye1018Canada2024-06-03
Izzy H Bowley1019Japan2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie H RimFranceAmy Elsner NEW
Jefferson B DilliardIndiaOnyama Limba UNQUALIFIED
Costa M CaldareraSpainIoni Bowcher PROPOSAL
Jefferson H DilliardRussiaAsiya Javayant PROPOSAL
Johnson P CaudyCanadaElwin Sharvill UNQUALIFIED
Smith V FerenczJapanAsiya Javayant UNQUALIFIED
Faith O RimArgentinaStephen Shaw NEW
Francesco Z PaprockiIndiaIoni Bowcher PROPOSAL
Aditya U SergiIndiaIvan Magalhaes UNQUALIFIED
Costa M ButtJapanAnna Fali PROPOSAL
James E FerenczSpainOnyama Limba QUALIFIED
Ricardo Y WaycottItalyAnna Fali QUALIFIED
Octavia T StensethJapanBernardo Dominic PROPOSAL
Ashley R BriddickItalyAnna Fali PROPOSAL
Sinclair X InouyeItalyOnyama Limba RENEWAL
Wickens O BologniaAustraliaElwin Sharvill NEGOTIATION
Jefferson J PoquetteArgentinaAmy Elsner PROPOSAL
Faith X DoeBrazilIvan Magalhaes RENEWAL
Misaki Q CaudyCanadaAnna Fali RENEWAL
Antonio E GarufiArgentinaAsiya Javayant RENEWAL
Aika M AlbaresBrazilOnyama Limba NEGOTIATION
Aditya N OstroskyGermanyAsiya Javayant UNQUALIFIED
Nicolas D PaprockiAustraliaIoni Bowcher NEGOTIATION
Misaki H FlosiJapanOnyama Limba RENEWAL
Mayumi I VenereIndiaIvan Magalhaes UNQUALIFIED
Tony W GillianSpainIvan Magalhaes PROPOSAL
Mujtaba Q DoeArgentinaIvan Magalhaes RENEWAL
Misaki H PaprockiCanadaBernardo Dominic NEW
Maisha U DarakjyRussiaAmy Elsner RENEWAL
Deepesh N DoeRussiaElwin Sharvill NEGOTIATION
Cody U AlbaresAustraliaXuxue Feng PROPOSAL
Munro M RulapaughItalyIvan Magalhaes PROPOSAL
Aika P DilliardItalyAmy Elsner NEGOTIATION
Aditya A PerinRussiaIoni Bowcher NEW
Aruna J SergiGermanyAnna Fali PROPOSAL
Mayumi F GlickCanadaXuxue Feng NEGOTIATION
Murillo Z PaprockiSpainAnna Fali QUALIFIED
Darci N CampainRussiaStephen Shaw NEW
Aika D TollnerArgentinaIvan Magalhaes NEGOTIATION
Greenwood W DilliardGermanyIvan Magalhaes PROPOSAL

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