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
Stacey S ShinkoArgentinaAmy Elsner QUALIFIED
Kadeem Z CampainAustraliaAsiya Javayant NEGOTIATION
Stacey I TollnerFranceIvan Magalhaes PROPOSAL
Misaki A MaletArgentinaElwin Sharvill UNQUALIFIED
Izzy K MorascaIndiaXuxue Feng RENEWAL
Clifford R CampainIndiaAmy Elsner PROPOSAL
Silvio Z FerenczCanadaStephen Shaw QUALIFIED
Jeanfrancois K MacleadJapanIvan Magalhaes NEW
Julie S VenereFranceBernardo Dominic QUALIFIED
Clifford X GlickAustraliaStephen Shaw QUALIFIED
Morrow A MarrierRussiaXuxue Feng NEGOTIATION
Ivar O MaletIndiaIvan Magalhaes PROPOSAL
Kadeem F DarakjyGermanyBernardo Dominic UNQUALIFIED
Munro K SergiFranceXuxue Feng QUALIFIED
Izzy I StensethArgentinaXuxue Feng NEGOTIATION
Maisha Z RutaFranceAnna Fali QUALIFIED
Clifford W AlbaresArgentinaBernardo Dominic UNQUALIFIED
Kadeem Q FerenczRussiaAnna Fali PROPOSAL
Ricardo V RulapaughSpainIoni Bowcher QUALIFIED
David Q WhobreyCanadaAnna Fali RENEWAL
Costa L GarufiCanadaIvan Magalhaes RENEWAL
Kaitlin D PerinBrazilXuxue Feng RENEWAL
Ashley C StensethBrazilAmy Elsner NEGOTIATION
Mayumi J PerinCanadaOnyama Limba QUALIFIED
Mayumi M SchemmerRussiaOnyama Limba QUALIFIED
Maria Y DoeGermanyStephen Shaw PROPOSAL
Alejandro O MaletFranceStephen Shaw RENEWAL
James B KuskoCanadaIoni Bowcher RENEWAL
Aruna R WieserCanadaXuxue Feng QUALIFIED
Jeanfrancois I PerinFranceOnyama Limba PROPOSAL
Sinclair E OldroydSpainIoni Bowcher UNQUALIFIED
Izzy F MacleadItalyBernardo Dominic UNQUALIFIED
Misaki P MaletIndiaXuxue Feng PROPOSAL
Misaki U PaprockiRussiaXuxue Feng NEGOTIATION
Leja Z SaylorsRussiaAsiya Javayant QUALIFIED
Rodrigues K ShinkoArgentinaIvan Magalhaes RENEWAL
David R SergiGermanyIoni Bowcher NEGOTIATION
Wickens R MarrierUnited KingdomOnyama Limba RENEWAL
Costa E BowleyArgentinaStephen Shaw UNQUALIFIED
Adams T GarufiUnited KingdomXuxue Feng RENEWAL
Leja K GillianBrazilElwin Sharvill RENEWAL
Mayumi K FollerCanadaStephen Shaw PROPOSAL
Ashley T ChuiArgentinaIoni Bowcher RENEWAL
Rodrigues D FlosiCanadaStephen Shaw RENEWAL
Salvatore J AmigonUnited KingdomXuxue Feng NEW
Leja H ShinkoItalyAnna Fali NEW
Maisha L RimFranceAnna Fali QUALIFIED
Sinclair N DoeBrazilIoni Bowcher RENEWAL
Chavez L PerinBrazilIvan Magalhaes NEGOTIATION
Ivar L DoeGermanyOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Claire G FlosiGermanyIvan Magalhaes PROPOSAL
Ashley C MorascaCanadaOnyama Limba UNQUALIFIED
Kadeem M OldroydJapanStephen Shaw QUALIFIED
Misaki M VocelkaItalyXuxue Feng NEW
Greenwood A BologniaGermanyOnyama Limba PROPOSAL
Jennifer P GauchoJapanIoni Bowcher NEW
Kadeem T RutaIndiaAmy Elsner NEGOTIATION
Juan G ButtIndiaAmy Elsner UNQUALIFIED
Adams C MarrierIndiaStephen Shaw NEGOTIATION
Octavia G PoquetteGermanyXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin N RimCanada2024-05-26Chanay, Jeffrey A Esq PROPOSAL55Stephen Shaw
1001Munro D MorascaArgentina2024-06-14Dorl, James J Esq NEW3Bernardo Dominic
1002Mujtaba B AmigonAustralia2024-05-25Benton, John B Jr UNQUALIFIED16Bernardo Dominic
1003Salvatore Z GillianRussia2024-05-29Chapman, Ross E Esq QUALIFIED40Elwin Sharvill
1004Munro B NestleBrazil2024-06-06Dorl, James J Esq UNQUALIFIED63Asiya Javayant
1005Costa K PerinAustralia2024-06-05Feiner Bros PROPOSAL19Elwin Sharvill
1006Izzy Q StensethRussia2024-05-27Feiner Bros PROPOSAL45Anna Fali
1007Jones N WhobreyCanada2024-06-20Printing Dimensions PROPOSAL32Stephen Shaw
1008Izzy O WaycottBrazil2024-06-13Printing Dimensions QUALIFIED32Xuxue Feng
1009Ricardo A FollerArgentina2024-05-29Chanay, Jeffrey A Esq NEGOTIATION39Bernardo Dominic
1010Antonio T MaletBrazil2024-06-10King, Christopher A Esq PROPOSAL23Amy Elsner
1011Izzy Q RutaItaly2024-05-27Rousseaux, Michael Esq NEW21Asiya Javayant
1012Greenwood G VocelkaSpain2024-06-07Chapman, Ross E Esq NEW47Amy Elsner
1013Salvatore F DilliardFrance2024-06-17Buckley Miller Wright RENEWAL86Amy Elsner
1014Sinclair X RulapaughFrance2024-05-28Feiner Bros UNQUALIFIED5Xuxue Feng
1015Sinclair P ShinkoGermany2024-06-07Rousseaux, Michael Esq NEW59Stephen Shaw
1016Aruna G WieserItaly2024-06-20Feltz Printing Service NEW10Elwin Sharvill
1017Darci S MaletSpain2024-06-06Buckley Miller Wright NEGOTIATION75Amy Elsner
1018Adams M FigeroaGermany2024-05-29Printing Dimensions RENEWAL5Ioni Bowcher
1019Antonio S RimCanada2024-05-26Dorl, James J Esq NEW16Asiya Javayant
1020Claire S KuskoItaly2024-06-10Commercial Press QUALIFIED91Ioni Bowcher
1021Tony P VenereGermany2024-06-17Truhlar And Truhlar Attys NEW63Ioni Bowcher
1022Deepesh B PoquetteBrazil2024-06-03Dorl, James J Esq QUALIFIED33Anna Fali
1023Stacey A GarufiItaly2024-06-05Truhlar And Truhlar Attys QUALIFIED11Amy Elsner
1024Sinclair X NestleSpain2024-06-12Dorl, James J Esq NEW35Elwin Sharvill
1025Faith P MarrierRussia2024-06-03Chapman, Ross E Esq NEW40Ivan Magalhaes
1026Misaki D FollerAustralia2024-05-24Truhlar And Truhlar Attys QUALIFIED86Onyama Limba
1027Aditya F PerinAustralia2024-06-07Feiner Bros PROPOSAL32Anna Fali
1028Costa S MacleadAustralia2024-06-19Buckley Miller Wright UNQUALIFIED71Ivan Magalhaes
1029Johnson J NickaIndia2024-06-11Morlong Associates NEGOTIATION6Elwin Sharvill
1030Chavez A SlusarskiArgentina2024-06-16Chemel, James L Cpa QUALIFIED32Onyama Limba
1031Stacey C FerenczCanada2024-06-15Printing Dimensions RENEWAL80Onyama Limba
1032Jeanfrancois L CaldareraCanada2024-06-03Dorl, James J Esq RENEWAL2Ivan Magalhaes
1033Stacey Y MaletIndia2024-06-03Benton, John B Jr UNQUALIFIED48Anna Fali
1034Johnson Q CaudyAustralia2024-06-21Rangoni Of Florence QUALIFIED85Anna Fali
1035Jefferson I WhobreyJapan2024-06-16Chemel, James L Cpa PROPOSAL94Xuxue Feng
1036Emily O CampainJapan2024-06-06Feiner Bros UNQUALIFIED89Asiya Javayant
1037Darci Z GarufiItaly2024-06-09Chanay, Jeffrey A Esq QUALIFIED55Xuxue Feng
1038Mayumi Z GauchoGermany2024-06-03Benton, John B Jr NEGOTIATION36Asiya Javayant
1039David T CaldareraIndia2024-05-25King, Christopher A Esq NEW71Asiya Javayant
1040Alejandro D SaylorsGermany2024-06-02Feltz Printing Service PROPOSAL83Elwin Sharvill
1041Cody U CaudyCanada2024-05-29Commercial Press QUALIFIED9Onyama Limba
1042James E BowleyAustralia2024-06-03Printing Dimensions NEGOTIATION90Anna Fali
1043Juan V GillianCanada2024-06-08King, Christopher A Esq RENEWAL11Xuxue Feng
1044Leon B SlusarskiUnited Kingdom2024-06-21Chapman, Ross E Esq UNQUALIFIED55Amy Elsner
1045Arvin M GillianAustralia2024-06-21Chanay, Jeffrey A Esq NEW75Stephen Shaw
1046David U TollnerSpain2024-06-08Buckley Miller Wright UNQUALIFIED28Asiya Javayant
1047Ashley D FlosiJapan2024-06-10Dorl, James J Esq NEW62Ioni Bowcher
1048Octavia L PoquetteFrance2024-05-28Chemel, James L Cpa NEGOTIATION51Xuxue Feng
1049Silvio Q OldroydItaly2024-06-05Buckley Miller Wright NEW23Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Maria N RimFranceIoni Bowcher QUALIFIED
Deepesh Z SchemmerRussiaOnyama Limba QUALIFIED
Morrow U GillianJapanIoni Bowcher RENEWAL
David U FerenczFranceIvan Magalhaes UNQUALIFIED
David Q SlusarskiAustraliaAsiya Javayant NEW
Aruna N BologniaItalyStephen Shaw NEW
Leon P VocelkaIndiaStephen Shaw NEGOTIATION
Jefferson D CampainSpainIvan Magalhaes RENEWAL
Kaitlin Q InouyeJapanStephen Shaw UNQUALIFIED
Ivar Q CaudyItalyAnna Fali UNQUALIFIED
Smith Q VenereIndiaStephen Shaw NEW
Tony A WhobreyUnited KingdomIvan Magalhaes RENEWAL
Faith B CaldareraCanadaBernardo Dominic NEGOTIATION
James P MaletRussiaStephen Shaw NEW
Ricardo C KuskoItalyXuxue Feng RENEWAL
Rodrigues I AlbaresGermanyElwin Sharvill QUALIFIED
Juan J BriddickGermanyOnyama Limba NEW
Jones R PerinFranceOnyama Limba NEGOTIATION
Aika Y SchemmerItalyOnyama Limba NEW
Faith Y OstroskyUnited KingdomXuxue Feng QUALIFIED
Jones X DilliardGermanyIoni Bowcher NEGOTIATION
David I InouyeJapanIoni Bowcher UNQUALIFIED
Emily E BowleyUnited KingdomStephen Shaw NEW
Leja M RutaCanadaAsiya Javayant UNQUALIFIED
Leja V MorascaAustraliaOnyama Limba NEGOTIATION
Darci Y PoquetteIndiaIoni Bowcher RENEWAL
Sinclair L DoeFranceAmy Elsner RENEWAL
Jennifer D RulapaughAustraliaBernardo Dominic RENEWAL
James Q RulapaughCanadaStephen Shaw RENEWAL
Jeanfrancois L BowleyFranceOnyama Limba RENEWAL
Jefferson A InouyeFranceXuxue Feng RENEWAL
Izzy W SchemmerSpainOnyama Limba RENEWAL
Izzy N SaylorsItalyBernardo Dominic UNQUALIFIED
Isabel Y GlickJapanOnyama Limba PROPOSAL
Nicolas R CaudyJapanElwin Sharvill QUALIFIED
Kadeem T MaletRussiaXuxue Feng PROPOSAL
Ivar Z FlosiIndiaElwin Sharvill QUALIFIED
Adams T VenereUnited KingdomStephen Shaw NEGOTIATION
Clifford W KolmetzIndiaOnyama Limba RENEWAL
David D GlickArgentinaAnna Fali QUALIFIED
Alejandro I AlbaresAustraliaAmy Elsner NEW
Clifford U GarufiGermanyIoni Bowcher NEGOTIATION
Sinclair R MorascaSpainAnna Fali NEW
Isabel B SaylorsSpainIoni Bowcher QUALIFIED
Johnson D GlickIndiaElwin Sharvill QUALIFIED
Costa E ShinkoArgentinaElwin Sharvill RENEWAL
Tony B MarrierJapanBernardo Dominic UNQUALIFIED
Aika L CampainJapanAmy Elsner NEGOTIATION
Chavez W DarakjyIndiaAsiya Javayant PROPOSAL
Deepesh U GarufiCanadaStephen Shaw QUALIFIED
Frozen Columns
Name
Salvatore R Foller
Murillo J Ostrosky
Ashley D Caldarera
Jones G Bolognia
Mayumi W Darakjy
Leja D Ostrosky
Maisha E Royster
Faith P Sergi
Isabel Z Campain
Misaki K Ostrosky
Aditya A Flosi
Julie M Saylors
Ricardo M Dilliard
Costa P Oldroyd
Mujtaba K Ferencz
Smith T Nicka
Maria V Flosi
Antonio R Butt
Cody E Doe
James P Dilliard
Rodrigues G Figeroa
Jeanfrancois L Stockham
Misaki W Stenseth
Jennifer W Kusko
Arvin H Kolmetz
Costa N Ruta
Claire O Perin
Alejandro W Royster
Leon E Poquette
Isabel R Glick
Aika Q Bowley
Maisha X Venere
Salvatore F Garufi
Adams S Iturbide
Octavia Q Maclead
Alejandro V Saylors
Morrow O Slusarski
Faith X Malet
Misaki E Malet
Jeanfrancois A Foller
Aditya H Inouye
Aruna S Ostrosky
Chavez M Maclead
Smith V Stenseth
Ivar Q Briddick
Arvin C Ferencz
Morrow R Doe
Aika O Morasca
Misaki U Doe
Tony C Schemmer
IdCountryDate
1000Australia2024-06-20
1001Japan2024-06-04
1002Italy2024-06-02
1003Argentina2024-06-10
1004Germany2024-06-04
1005Japan2024-06-06
1006Italy2024-06-05
1007France2024-06-11
1008Canada2024-06-03
1009Italy2024-06-12
1010Japan2024-06-03
1011Germany2024-06-09
1012Italy2024-06-04
1013Canada2024-06-21
1014Germany2024-05-29
1015Canada2024-06-12
1016Australia2024-05-28
1017Italy2024-06-17
1018Brazil2024-06-05
1019India2024-06-08
1020France2024-06-19
1021India2024-05-31
1022Canada2024-05-25
1023Spain2024-05-24
1024Italy2024-06-18
1025Canada2024-06-10
1026Argentina2024-06-10
1027Spain2024-06-18
1028Italy2024-05-25
1029Canada2024-06-21
1030United Kingdom2024-05-24
1031Germany2024-06-10
1032Italy2024-05-28
1033United Kingdom2024-05-26
1034Argentina2024-06-05
1035India2024-06-14
1036Australia2024-05-30
1037Italy2024-06-08
1038Russia2024-05-24
1039Spain2024-05-28
1040Brazil2024-06-03
1041Spain2024-06-21
1042Russia2024-05-23
1043India2024-05-24
1044Russia2024-06-07
1045Japan2024-05-25
1046Australia2024-06-16
1047Australia2024-05-24
1048United Kingdom2024-06-07
1049Argentina2024-06-18

On-Demand Data

NameIdCountryDate
Leon M Perin1000Spain2024-06-03
Aditya S Slusarski1001France2024-06-16
Aruna F Nestle1002Argentina2024-05-29
Smith I Amigon1003Russia2024-06-03
Silvio A Garufi1004Italy2024-06-20
Ricardo S Vocelka1005Canada2024-06-03
Costa C Figeroa1006Germany2024-06-05
Ivar N Darakjy1007Argentina2024-06-05
Kaitlin J Saylors1008Spain2024-05-30
Arvin E Royster1009India2024-06-06
Munro I Chui1010Italy2024-05-29
Cody L Slusarski1011Italy2024-06-16
Adams G Sergi1012Canada2024-05-25
Silvio C Kolmetz1013Spain2024-06-03
Faith Y Garufi1014Argentina2024-05-25
Wickens S Ruta1015Italy2024-06-14
Aika S Chui1016India2024-06-06
Jeanfrancois E Campain1017United Kingdom2024-06-19
Johnson J Ruta1018United Kingdom2024-06-04
Nicolas Q Saylors1019Japan2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba R WieserCanadaOnyama Limba QUALIFIED
Jeanfrancois B ButtBrazilIoni Bowcher PROPOSAL
Julie A GillianBrazilIvan Magalhaes UNQUALIFIED
Mujtaba Y GarufiFranceIoni Bowcher PROPOSAL
Kadeem T PerinAustraliaIoni Bowcher NEW
Ricardo U RulapaughArgentinaIvan Magalhaes NEW
Ashley C CaudyAustraliaIoni Bowcher UNQUALIFIED
Jennifer K DarakjyIndiaOnyama Limba NEW
Ivar B KolmetzSpainAsiya Javayant NEW
Darci B MaletJapanOnyama Limba RENEWAL
Chavez W SchemmerCanadaOnyama Limba RENEWAL
Mayumi U RimRussiaOnyama Limba NEGOTIATION
Costa R FollerGermanyElwin Sharvill NEGOTIATION
Sinclair P FollerAustraliaXuxue Feng UNQUALIFIED
Munro R WieserBrazilIoni Bowcher NEW
James P BriddickCanadaStephen Shaw NEGOTIATION
Maisha Y MaletRussiaIoni Bowcher QUALIFIED
Leon Z TollnerJapanIvan Magalhaes RENEWAL
Izzy E RoysterBrazilStephen Shaw PROPOSAL
Jennifer J SchemmerFranceAnna Fali UNQUALIFIED
Morrow A AlbaresIndiaXuxue Feng UNQUALIFIED
Smith U DarakjyArgentinaAnna Fali NEGOTIATION
Jefferson R SlusarskiSpainXuxue Feng RENEWAL
Faith U InouyeSpainElwin Sharvill NEGOTIATION
Leja L FollerArgentinaAmy Elsner NEW
Murillo M NestleUnited KingdomAmy Elsner NEGOTIATION
Salvatore E MacleadItalyElwin Sharvill PROPOSAL
Ivar V GauchoRussiaStephen Shaw QUALIFIED
Aika Z PaprockiSpainAsiya Javayant NEGOTIATION
Clifford H BriddickRussiaStephen Shaw QUALIFIED
Emily U DarakjyFranceOnyama Limba NEGOTIATION
Wickens V DilliardAustraliaBernardo Dominic RENEWAL
Francesco B KuskoGermanyBernardo Dominic NEW
Jefferson T MarrierCanadaStephen Shaw QUALIFIED
Kadeem J GillianArgentinaAsiya Javayant NEGOTIATION
James G WhobreyBrazilElwin Sharvill UNQUALIFIED
Morrow C WhobreyBrazilStephen Shaw PROPOSAL
Leja T FollerFranceIoni Bowcher NEGOTIATION
Jones B RutaGermanyAsiya Javayant UNQUALIFIED
Leon H FlosiIndiaIoni 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>