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
Sinclair Y RutaRussiaStephen Shaw RENEWAL
Darci F PaprockiSpainOnyama Limba NEGOTIATION
Alejandro Q AmigonIndiaIoni Bowcher QUALIFIED
Stacey I SchemmerFranceStephen Shaw QUALIFIED
Kadeem W FlosiSpainElwin Sharvill UNQUALIFIED
Cody U WieserFranceBernardo Dominic RENEWAL
Stacey N StensethUnited KingdomXuxue Feng NEGOTIATION
Munro K VenereArgentinaStephen Shaw PROPOSAL
Nicolas O NickaItalyBernardo Dominic UNQUALIFIED
Jones H ChuiAustraliaIvan Magalhaes PROPOSAL
Nicolas Y RimArgentinaIvan Magalhaes QUALIFIED
Salvatore H WieserRussiaAsiya Javayant QUALIFIED
Juan Q VocelkaUnited KingdomIoni Bowcher NEW
Arvin N GlickFranceIvan Magalhaes PROPOSAL
James D FerenczUnited KingdomBernardo Dominic QUALIFIED
Arvin Q TollnerIndiaAnna Fali NEGOTIATION
Silvio H StensethSpainBernardo Dominic NEW
Mujtaba N RimJapanStephen Shaw UNQUALIFIED
Ivar Q MarrierArgentinaElwin Sharvill PROPOSAL
Ricardo N SergiArgentinaOnyama Limba RENEWAL
Aditya Y CaudyAustraliaAnna Fali NEGOTIATION
Octavia C BologniaUnited KingdomOnyama Limba RENEWAL
Mayumi D AmigonAustraliaOnyama Limba UNQUALIFIED
Costa D DoeIndiaAnna Fali RENEWAL
Smith O ShinkoItalyIvan Magalhaes NEW
Maria P StockhamSpainIoni Bowcher QUALIFIED
Aditya G WieserJapanAnna Fali NEW
Alejandro Y NestleGermanyAsiya Javayant PROPOSAL
Octavia Q SlusarskiGermanyAsiya Javayant QUALIFIED
Nicolas L MaletJapanElwin Sharvill UNQUALIFIED
Isabel X OstroskySpainElwin Sharvill PROPOSAL
Adams T PoquetteRussiaBernardo Dominic NEGOTIATION
Emily O FollerIndiaIvan Magalhaes QUALIFIED
Ashley X PerinRussiaStephen Shaw NEGOTIATION
Salvatore A BologniaJapanStephen Shaw UNQUALIFIED
Sinclair B CampainArgentinaOnyama Limba UNQUALIFIED
Jeanfrancois A InouyeGermanyAmy Elsner NEGOTIATION
Maisha Q KuskoArgentinaAsiya Javayant UNQUALIFIED
Isabel Z DarakjySpainStephen Shaw QUALIFIED
James X MarrierArgentinaAsiya Javayant PROPOSAL
Murillo O RulapaughUnited KingdomIoni Bowcher NEGOTIATION
Chavez R RimBrazilAmy Elsner QUALIFIED
Darci O GarufiIndiaIvan Magalhaes UNQUALIFIED
David U FerenczIndiaAmy Elsner NEW
Greenwood Q FlosiUnited KingdomIoni Bowcher NEGOTIATION
Sinclair D SlusarskiFranceIvan Magalhaes PROPOSAL
Cody Y MarrierBrazilXuxue Feng UNQUALIFIED
Aika P WaycottArgentinaStephen Shaw UNQUALIFIED
Octavia O RutaArgentinaIoni Bowcher RENEWAL
Stacey B FerenczRussiaElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Jennifer O StockhamBrazilStephen Shaw UNQUALIFIED
Costa O VenereCanadaAnna Fali PROPOSAL
Maria R StockhamIndiaAmy Elsner PROPOSAL
Izzy A WhobreyUnited KingdomXuxue Feng PROPOSAL
Juan R SlusarskiBrazilBernardo Dominic RENEWAL
Tony K AmigonIndiaIvan Magalhaes PROPOSAL
Smith Y InouyeUnited KingdomXuxue Feng NEW
Clifford K FerenczGermanyAsiya Javayant NEW
Adams B VocelkaJapanAnna Fali QUALIFIED
Ashley Z PoquetteAustraliaIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha Q MaletArgentina2024-06-15Dorl, James J Esq UNQUALIFIED45Anna Fali
1001Deepesh T OldroydAustralia2024-06-04Rousseaux, Michael Esq QUALIFIED91Stephen Shaw
1002Aruna T SchemmerItaly2024-06-15Chanay, Jeffrey A Esq NEW44Elwin Sharvill
1003Kaitlin I OstroskyFrance2024-06-04Printing Dimensions NEGOTIATION29Amy Elsner
1004Kaitlin V BologniaSpain2024-06-21Feiner Bros PROPOSAL75Onyama Limba
1005Jeanfrancois U ChuiSpain2024-06-05Buckley Miller Wright NEGOTIATION49Anna Fali
1006Maria V RoysterIndia2024-06-18Truhlar And Truhlar Attys QUALIFIED13Amy Elsner
1007James C PoquetteSpain2024-06-21Dorl, James J Esq NEW11Ioni Bowcher
1008Smith E MorascaSpain2024-06-18Feiner Bros UNQUALIFIED60Onyama Limba
1009Ricardo Z MacleadFrance2024-06-07Feiner Bros PROPOSAL96Ioni Bowcher
1010Ivar X AlbaresItaly2024-05-29Feiner Bros UNQUALIFIED1Xuxue Feng
1011Jeanfrancois I BologniaRussia2024-06-15Feltz Printing Service UNQUALIFIED79Anna Fali
1012Munro K SchemmerAustralia2024-06-09Rangoni Of Florence NEW52Amy Elsner
1013Adams L ShinkoBrazil2024-06-14Commercial Press PROPOSAL69Amy Elsner
1014Clifford S KolmetzIndia2024-05-30Chanay, Jeffrey A Esq NEW71Stephen Shaw
1015Greenwood X AmigonCanada2024-05-26Rangoni Of Florence NEGOTIATION84Stephen Shaw
1016Tony X NestleAustralia2024-06-17Truhlar And Truhlar Attys QUALIFIED70Bernardo Dominic
1017Chavez W DarakjyUnited Kingdom2024-06-04Rousseaux, Michael Esq NEGOTIATION56Asiya Javayant
1018Leon E KolmetzGermany2024-06-10Printing Dimensions RENEWAL34Xuxue Feng
1019Morrow Z BologniaAustralia2024-06-15Rangoni Of Florence PROPOSAL29Bernardo Dominic
1020Alejandro K CaldareraJapan2024-05-28Rangoni Of Florence QUALIFIED77Stephen Shaw
1021Tony W CaudyGermany2024-06-05Rangoni Of Florence NEW30Elwin Sharvill
1022Maria A MorascaJapan2024-06-20Feiner Bros RENEWAL40Anna Fali
1023Jennifer Y OstroskySpain2024-06-04Chanay, Jeffrey A Esq NEGOTIATION57Anna Fali
1024Stacey Q CaudyBrazil2024-05-25Dorl, James J Esq QUALIFIED94Stephen Shaw
1025Sinclair L TollnerUnited Kingdom2024-06-18Feiner Bros NEGOTIATION52Ivan Magalhaes
1026Nicolas P BowleyBrazil2024-06-11Rangoni Of Florence UNQUALIFIED79Amy Elsner
1027Johnson U IturbideArgentina2024-06-19Commercial Press UNQUALIFIED31Elwin Sharvill
1028Leon L OstroskyFrance2024-06-12Rousseaux, Michael Esq UNQUALIFIED25Onyama Limba
1029Francesco Q DoeJapan2024-06-10Rangoni Of Florence NEGOTIATION93Stephen Shaw
1030Octavia O MacleadUnited Kingdom2024-06-14Chapman, Ross E Esq UNQUALIFIED22Elwin Sharvill
1031Mujtaba Z StensethJapan2024-06-21King, Christopher A Esq NEGOTIATION75Anna Fali
1032Wickens W BowleyAustralia2024-06-01Chanay, Jeffrey A Esq RENEWAL96Ivan Magalhaes
1033Mayumi T GillianIndia2024-06-17Feltz Printing Service PROPOSAL64Amy Elsner
1034Munro Y ChuiGermany2024-06-22Dorl, James J Esq PROPOSAL52Anna Fali
1035Johnson G SchemmerItaly2024-06-02Dorl, James J Esq NEGOTIATION5Onyama Limba
1036Aruna H CaldareraItaly2024-06-04Commercial Press NEW3Ivan Magalhaes
1037Adams C CampainBrazil2024-06-17Rangoni Of Florence PROPOSAL20Asiya Javayant
1038Sinclair F GarufiCanada2024-05-27Chapman, Ross E Esq NEGOTIATION14Ivan Magalhaes
1039Leon W BologniaArgentina2024-06-21Chapman, Ross E Esq NEW31Elwin Sharvill
1040Mayumi L RoysterCanada2024-06-02Rousseaux, Michael Esq NEGOTIATION5Onyama Limba
1041Izzy W InouyeGermany2024-06-03Printing Dimensions PROPOSAL99Elwin Sharvill
1042Sinclair X PerinBrazil2024-06-08Chemel, James L Cpa NEW13Elwin Sharvill
1043Smith F IturbideUnited Kingdom2024-06-09Morlong Associates UNQUALIFIED19Ivan Magalhaes
1044Ashley T MorascaUnited Kingdom2024-05-28Printing Dimensions UNQUALIFIED28Stephen Shaw
1045Sinclair B FollerCanada2024-06-13Rangoni Of Florence QUALIFIED44Xuxue Feng
1046Maisha T SchemmerBrazil2024-06-01Benton, John B Jr NEW82Anna Fali
1047Aika X ChuiBrazil2024-06-06Feiner Bros PROPOSAL78Asiya Javayant
1048Tony C DilliardRussia2024-06-15Feiner Bros NEW8Ioni Bowcher
1049Aika B RimFrance2024-05-30Chemel, James L Cpa UNQUALIFIED42Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Darci K DilliardSpainAsiya Javayant QUALIFIED
Costa J DarakjyArgentinaAmy Elsner NEW
Morrow J WieserAustraliaAmy Elsner NEW
Maisha P WaycottIndiaAmy Elsner UNQUALIFIED
Leon U ButtItalyAnna Fali QUALIFIED
Claire G RutaUnited KingdomElwin Sharvill QUALIFIED
Isabel Y GillianCanadaStephen Shaw NEGOTIATION
Tony A MaletJapanAsiya Javayant UNQUALIFIED
Antonio E MaletArgentinaAmy Elsner NEW
Aditya I SaylorsSpainXuxue Feng UNQUALIFIED
Rodrigues U WieserFranceAsiya Javayant UNQUALIFIED
Wickens G ChuiSpainAmy Elsner NEW
Julie G MaletItalyAnna Fali RENEWAL
Faith Q RulapaughIndiaAnna Fali NEGOTIATION
James D BologniaFranceAnna Fali NEGOTIATION
Isabel E SchemmerJapanAsiya Javayant PROPOSAL
Rodrigues E GillianIndiaIoni Bowcher NEW
Ricardo W MaletJapanBernardo Dominic PROPOSAL
Silvio V AmigonAustraliaElwin Sharvill NEGOTIATION
Julie U IturbideIndiaIoni Bowcher UNQUALIFIED
Aruna S CaldareraCanadaAmy Elsner UNQUALIFIED
Faith I SaylorsUnited KingdomIvan Magalhaes RENEWAL
Johnson T KuskoCanadaBernardo Dominic QUALIFIED
Clifford E WaycottIndiaIoni Bowcher PROPOSAL
Leon O KuskoArgentinaBernardo Dominic PROPOSAL
Salvatore S GlickCanadaIoni Bowcher NEW
Misaki F IturbideArgentinaAmy Elsner NEGOTIATION
James C StockhamRussiaAsiya Javayant RENEWAL
Izzy E RoysterAustraliaAsiya Javayant RENEWAL
Jennifer L DilliardBrazilStephen Shaw QUALIFIED
Izzy U MacleadUnited KingdomAnna Fali NEGOTIATION
Mayumi R ChuiJapanXuxue Feng PROPOSAL
Johnson J CaudySpainStephen Shaw UNQUALIFIED
Maria O NestleIndiaAnna Fali UNQUALIFIED
Juan F StockhamSpainAmy Elsner UNQUALIFIED
Aika X IturbideItalyOnyama Limba PROPOSAL
Antonio R RulapaughCanadaIvan Magalhaes UNQUALIFIED
Munro N OldroydGermanyIvan Magalhaes NEGOTIATION
Sinclair J SaylorsUnited KingdomBernardo Dominic PROPOSAL
Ashley M FerenczFranceOnyama Limba NEGOTIATION
Ricardo G TollnerArgentinaAmy Elsner UNQUALIFIED
Ivar L VenereAustraliaAsiya Javayant NEGOTIATION
Francesco L GillianItalyStephen Shaw UNQUALIFIED
Silvio F BowleyBrazilAnna Fali UNQUALIFIED
Arvin P MacleadIndiaElwin Sharvill PROPOSAL
Maisha L VenereBrazilIoni Bowcher QUALIFIED
Ricardo N MaletUnited KingdomIoni Bowcher UNQUALIFIED
Isabel T SlusarskiUnited KingdomElwin Sharvill NEGOTIATION
Darci W MaletCanadaElwin Sharvill RENEWAL
Arvin J WaycottFranceIvan Magalhaes PROPOSAL
Frozen Columns
Name
Aruna I Butt
Faith A Paprocki
Izzy O Maclead
Kadeem A Shinko
Izzy A Stockham
Faith B Campain
David F Albares
Munro H Royster
Aika C Slusarski
Smith S Poquette
Jeanfrancois Q Figeroa
Smith Z Wieser
Aika J Garufi
Maisha V Venere
Salvatore Z Stenseth
Adams R Figeroa
Ashley B Ferencz
Leja P Rulapaugh
Clifford G Doe
Maria D Kolmetz
Johnson C Maclead
Cody R Sergi
Morrow N Caudy
Jeanfrancois R Marrier
Jefferson D Iturbide
Murillo F Ferencz
Izzy I Flosi
Stacey P Flosi
Misaki B Darakjy
Alejandro I Wieser
Octavia J Whobrey
Juan V Figeroa
Aika L Malet
Rodrigues S Vocelka
Mayumi C Bolognia
Francesco F Royster
Sinclair W Saylors
Tony U Albares
Silvio M Glick
Leja L Figeroa
Nicolas Y Kolmetz
Ivar I Wieser
Mayumi O Rim
Rodrigues L Saylors
Aika A Gillian
Jefferson U Poquette
David Z Saylors
David M Sergi
Jeanfrancois U Butt
Francesco Z Amigon
IdCountryDate
1000Argentina2024-06-21
1001Canada2024-06-06
1002Japan2024-06-21
1003Russia2024-06-07
1004Japan2024-06-02
1005France2024-06-09
1006Australia2024-06-01
1007France2024-05-27
1008Australia2024-06-19
1009France2024-05-24
1010Germany2024-06-08
1011Spain2024-06-07
1012Russia2024-06-21
1013France2024-05-25
1014Japan2024-05-27
1015France2024-06-14
1016Germany2024-05-29
1017Russia2024-05-29
1018Germany2024-05-24
1019Japan2024-06-08
1020Argentina2024-06-02
1021Australia2024-05-31
1022Japan2024-06-10
1023India2024-06-20
1024Brazil2024-05-31
1025Russia2024-06-17
1026Spain2024-06-06
1027Spain2024-06-17
1028France2024-05-27
1029France2024-06-18
1030India2024-06-10
1031Russia2024-06-12
1032Japan2024-06-22
1033Italy2024-06-15
1034Spain2024-06-16
1035Australia2024-06-20
1036India2024-06-15
1037Italy2024-05-24
1038France2024-05-31
1039Canada2024-06-04
1040Australia2024-06-18
1041India2024-06-18
1042Argentina2024-06-20
1043Australia2024-05-26
1044Italy2024-05-26
1045France2024-06-10
1046France2024-05-29
1047Russia2024-06-16
1048Germany2024-06-12
1049Russia2024-06-06

On-Demand Data

NameIdCountryDate
Izzy V Paprocki1000Italy2024-06-19
Mayumi Z Shinko1001Brazil2024-05-28
Ivar B Nestle1002United Kingdom2024-05-29
Salvatore C Sergi1003Canada2024-06-11
Deepesh V Gaucho1004Spain2024-06-12
Jeanfrancois S Saylors1005Russia2024-05-30
Smith T Bolognia1006France2024-05-28
Aika V Stenseth1007Italy2024-05-30
Maisha N Schemmer1008Russia2024-05-28
Faith Y Figeroa1009Japan2024-06-06
Alejandro W Glick1010Argentina2024-05-29
Cody O Whobrey1011Canada2024-06-21
Ivar C Inouye1012Russia2024-06-15
Costa T Briddick1013France2024-06-04
Clifford C Paprocki1014Russia2024-06-20
Claire D Tollner1015Canada2024-06-09
Arvin O Perin1016France2024-06-02
Cody M Waycott1017India2024-06-09
Greenwood I Glick1018France2024-06-04
Clifford Y Oldroyd1019India2024-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin K CampainSpainBernardo Dominic UNQUALIFIED
Ashley P SaylorsCanadaIoni Bowcher NEGOTIATION
Deepesh P SaylorsRussiaXuxue Feng RENEWAL
Munro F NestleFranceAnna Fali NEW
Octavia F RulapaughRussiaIvan Magalhaes NEW
Francesco T PoquetteAustraliaXuxue Feng NEGOTIATION
Izzy V WaycottCanadaOnyama Limba RENEWAL
Ricardo H NestleRussiaIoni Bowcher PROPOSAL
Murillo T KuskoJapanIvan Magalhaes NEW
Jefferson R PerinRussiaBernardo Dominic NEW
Clifford O GillianSpainOnyama Limba NEGOTIATION
Jeanfrancois U NestleCanadaXuxue Feng RENEWAL
Darci G CaldareraIndiaOnyama Limba PROPOSAL
Darci N ShinkoFranceAnna Fali UNQUALIFIED
Ashley J AmigonGermanyAsiya Javayant NEW
Antonio L MaletIndiaAmy Elsner NEGOTIATION
Leja H RoysterAustraliaIvan Magalhaes NEW
Kadeem P CaldareraArgentinaIvan Magalhaes NEW
Nicolas O InouyeCanadaAmy Elsner RENEWAL
Maria O IturbideRussiaAnna Fali UNQUALIFIED
Ricardo D WaycottArgentinaElwin Sharvill RENEWAL
Smith S MarrierJapanBernardo Dominic PROPOSAL
Costa N MacleadBrazilIoni Bowcher UNQUALIFIED
Darci J PoquetteArgentinaStephen Shaw NEGOTIATION
Claire B TollnerBrazilXuxue Feng NEGOTIATION
Kaitlin Q ShinkoFranceIvan Magalhaes UNQUALIFIED
Faith U DilliardFranceBernardo Dominic NEGOTIATION
Antonio P WaycottBrazilElwin Sharvill QUALIFIED
Tony L CampainRussiaIvan Magalhaes PROPOSAL
Jeanfrancois C SaylorsArgentinaOnyama Limba QUALIFIED
Jeanfrancois H OldroydSpainBernardo Dominic QUALIFIED
Costa M StockhamFranceAmy Elsner QUALIFIED
Johnson Y AlbaresGermanyOnyama Limba PROPOSAL
Leja H GlickCanadaAmy Elsner RENEWAL
Wickens X FerenczIndiaBernardo Dominic PROPOSAL
David G DoeGermanyIoni Bowcher UNQUALIFIED
Jennifer N BowleyGermanyXuxue Feng RENEWAL
Kaitlin H OstroskyRussiaXuxue Feng NEGOTIATION
Clifford B DilliardJapanAsiya Javayant QUALIFIED
Juan Y OstroskyCanadaOnyama Limba 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>