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 E SlusarskiAustraliaIvan Magalhaes RENEWAL
Silvio F KuskoFranceStephen Shaw RENEWAL
Arvin R ChuiJapanAsiya Javayant NEGOTIATION
James R SlusarskiFranceStephen Shaw QUALIFIED
Arvin R AmigonCanadaIvan Magalhaes RENEWAL
Chavez R OstroskyRussiaAnna Fali NEGOTIATION
Johnson H VenereIndiaIoni Bowcher NEW
Alejandro O BriddickAustraliaAnna Fali QUALIFIED
Tony B ChuiJapanIvan Magalhaes NEW
Jones O DarakjyRussiaOnyama Limba RENEWAL
Emily O WieserItalyXuxue Feng NEW
Mujtaba W TollnerRussiaElwin Sharvill QUALIFIED
Johnson O IturbideIndiaAnna Fali QUALIFIED
Silvio D RoysterItalyAnna Fali RENEWAL
Kaitlin L SchemmerCanadaAnna Fali NEW
Emily Y GauchoJapanAnna Fali QUALIFIED
Maria H MacleadUnited KingdomOnyama Limba QUALIFIED
Jennifer O PoquetteBrazilIvan Magalhaes PROPOSAL
Leja O AlbaresCanadaIvan Magalhaes NEW
Jeanfrancois V OldroydCanadaIvan Magalhaes PROPOSAL
Misaki U MaletRussiaOnyama Limba QUALIFIED
Silvio G GlickAustraliaAmy Elsner QUALIFIED
Ricardo I DilliardItalyAmy Elsner QUALIFIED
Ashley Z PerinGermanyAmy Elsner NEGOTIATION
Ashley E RulapaughFranceElwin Sharvill UNQUALIFIED
Rodrigues X FollerRussiaAsiya Javayant RENEWAL
Darci O CaldareraRussiaIoni Bowcher NEW
Salvatore X SaylorsArgentinaAmy Elsner UNQUALIFIED
Jefferson U DoeRussiaIoni Bowcher PROPOSAL
Antonio R SaylorsFranceAnna Fali UNQUALIFIED
Johnson B DarakjyItalyAsiya Javayant NEW
Salvatore A VocelkaRussiaBernardo Dominic NEW
Rodrigues A RutaAustraliaStephen Shaw PROPOSAL
Wickens D PoquetteUnited KingdomIvan Magalhaes RENEWAL
Adams V AlbaresRussiaElwin Sharvill RENEWAL
Rodrigues R StensethCanadaOnyama Limba QUALIFIED
Emily G FigeroaRussiaAnna Fali NEW
Aika R FerenczRussiaAsiya Javayant UNQUALIFIED
Adams L BowleySpainBernardo Dominic UNQUALIFIED
Claire G NestleArgentinaElwin Sharvill NEW
Kadeem I SergiAustraliaIoni Bowcher NEW
Chavez M MarrierFranceIoni Bowcher NEGOTIATION
Antonio B CaudyUnited KingdomXuxue Feng UNQUALIFIED
James Z FollerRussiaIoni Bowcher PROPOSAL
Mayumi G RoysterCanadaIoni Bowcher NEW
Clifford J NestleBrazilAmy Elsner UNQUALIFIED
Aruna A FigeroaItalyIvan Magalhaes QUALIFIED
Ivar J MaletAustraliaStephen Shaw NEGOTIATION
Costa T CaldareraIndiaAnna Fali NEW
Salvatore I GarufiJapanBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Mujtaba R MarrierCanadaXuxue Feng PROPOSAL
Kaitlin E FlosiItalyIoni Bowcher PROPOSAL
Sinclair X DoeJapanAnna Fali PROPOSAL
Stacey X OstroskyBrazilIoni Bowcher PROPOSAL
Francesco K FollerUnited KingdomStephen Shaw RENEWAL
Munro X PerinItalyAnna Fali RENEWAL
Kaitlin E WaycottAustraliaIoni Bowcher QUALIFIED
Jeanfrancois M FollerCanadaXuxue Feng UNQUALIFIED
Clifford A RimCanadaXuxue Feng QUALIFIED
Leon B RimItalyAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco D StensethGermany2024-04-26Truhlar And Truhlar Attys NEGOTIATION91Bernardo Dominic
1001Aruna V KuskoAustralia2024-04-27Dorl, James J Esq UNQUALIFIED6Ioni Bowcher
1002Smith L KolmetzJapan2024-05-20Printing Dimensions QUALIFIED21Bernardo Dominic
1003Costa Z NickaJapan2024-05-21Truhlar And Truhlar Attys UNQUALIFIED27Stephen Shaw
1004Leon X SergiItaly2024-04-25Chapman, Ross E Esq NEGOTIATION67Ivan Magalhaes
1005Morrow L MaletItaly2024-05-21Truhlar And Truhlar Attys NEW77Xuxue Feng
1006Mayumi V GauchoGermany2024-05-20Chemel, James L Cpa PROPOSAL3Ivan Magalhaes
1007Mayumi C FigeroaSpain2024-04-26Chanay, Jeffrey A Esq UNQUALIFIED19Onyama Limba
1008Juan O FollerCanada2024-05-11Benton, John B Jr PROPOSAL83Ioni Bowcher
1009David A VenereGermany2024-05-12King, Christopher A Esq NEGOTIATION58Xuxue Feng
1010Greenwood B FollerItaly2024-05-13Rangoni Of Florence PROPOSAL67Anna Fali
1011Salvatore K CaudyIndia2024-05-09Feltz Printing Service RENEWAL75Amy Elsner
1012Smith U DoeAustralia2024-05-03Feiner Bros PROPOSAL0Xuxue Feng
1013Jones Y SergiUnited Kingdom2024-05-02Feltz Printing Service NEGOTIATION80Anna Fali
1014Jefferson M MorascaUnited Kingdom2024-04-28Buckley Miller Wright PROPOSAL33Stephen Shaw
1015Izzy V MaletSpain2024-04-29Buckley Miller Wright QUALIFIED27Onyama Limba
1016Nicolas M FigeroaSpain2024-05-09Chanay, Jeffrey A Esq UNQUALIFIED23Elwin Sharvill
1017Murillo M GauchoAustralia2024-05-15Commercial Press NEGOTIATION25Amy Elsner
1018Salvatore B ShinkoCanada2024-05-08Morlong Associates NEGOTIATION31Stephen Shaw
1019Emily K MaletSpain2024-05-23King, Christopher A Esq UNQUALIFIED0Amy Elsner
1020Aika N MorascaSpain2024-05-15Rangoni Of Florence RENEWAL30Ivan Magalhaes
1021Leon B OstroskySpain2024-05-14Benton, John B Jr PROPOSAL71Bernardo Dominic
1022Leon R NestleCanada2024-04-28Rangoni Of Florence QUALIFIED96Bernardo Dominic
1023Ivar Y StockhamCanada2024-05-17Chemel, James L Cpa PROPOSAL1Asiya Javayant
1024Mayumi Z KuskoUnited Kingdom2024-04-29Morlong Associates PROPOSAL7Asiya Javayant
1025Ivar N WhobreySpain2024-05-11Buckley Miller Wright PROPOSAL68Anna Fali
1026Aika Q SaylorsRussia2024-04-26Morlong Associates PROPOSAL60Ivan Magalhaes
1027Stacey L VenereRussia2024-05-15King, Christopher A Esq NEGOTIATION17Asiya Javayant
1028Smith F CampainRussia2024-04-26Rousseaux, Michael Esq NEGOTIATION68Stephen Shaw
1029Claire D TollnerGermany2024-05-13King, Christopher A Esq PROPOSAL24Xuxue Feng
1030Wickens O FigeroaItaly2024-05-20Dorl, James J Esq NEGOTIATION22Elwin Sharvill
1031Misaki E NickaArgentina2024-05-06King, Christopher A Esq NEGOTIATION12Elwin Sharvill
1032Izzy Y DilliardGermany2024-04-28Feiner Bros UNQUALIFIED71Ioni Bowcher
1033Chavez J MacleadFrance2024-04-30Dorl, James J Esq QUALIFIED43Ioni Bowcher
1034Antonio O MorascaArgentina2024-05-19Chanay, Jeffrey A Esq NEW61Elwin Sharvill
1035Adams L MorascaRussia2024-04-29Morlong Associates QUALIFIED51Xuxue Feng
1036Aditya F FerenczJapan2024-04-30Feiner Bros PROPOSAL72Ivan Magalhaes
1037Octavia U MarrierUnited Kingdom2024-05-19King, Christopher A Esq UNQUALIFIED96Amy Elsner
1038Antonio T IturbideItaly2024-05-21Benton, John B Jr RENEWAL55Ivan Magalhaes
1039Jones O KuskoUnited Kingdom2024-05-17Morlong Associates NEGOTIATION64Anna Fali
1040Misaki P MacleadItaly2024-05-08Truhlar And Truhlar Attys NEGOTIATION39Elwin Sharvill
1041Adams B GauchoUnited Kingdom2024-05-21Truhlar And Truhlar Attys PROPOSAL59Stephen Shaw
1042Rodrigues D FollerAustralia2024-04-28Commercial Press NEW32Elwin Sharvill
1043Leon R DilliardFrance2024-05-14Commercial Press PROPOSAL19Amy Elsner
1044Leja U MorascaIndia2024-05-03Feiner Bros NEW79Asiya Javayant
1045Juan X WieserBrazil2024-05-18Benton, John B Jr QUALIFIED40Stephen Shaw
1046Kaitlin Z NestleAustralia2024-05-16Morlong Associates NEW90Bernardo Dominic
1047David A FerenczFrance2024-05-15Chapman, Ross E Esq NEGOTIATION49Stephen Shaw
1048Jones H PerinFrance2024-05-15Chapman, Ross E Esq QUALIFIED95Onyama Limba
1049Aika Q WhobreySpain2024-04-25Chemel, James L Cpa NEGOTIATION4Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues L GlickAustraliaIoni Bowcher PROPOSAL
Johnson V FlosiFranceXuxue Feng UNQUALIFIED
Leon U BowleyArgentinaAsiya Javayant PROPOSAL
Ivar H GauchoArgentinaXuxue Feng NEW
Aruna J KuskoAustraliaXuxue Feng PROPOSAL
Aditya I NickaCanadaXuxue Feng UNQUALIFIED
Nicolas B RutaAustraliaXuxue Feng UNQUALIFIED
Darci T MarrierArgentinaIvan Magalhaes NEGOTIATION
Sinclair R FerenczUnited KingdomOnyama Limba NEGOTIATION
Salvatore I RimUnited KingdomBernardo Dominic QUALIFIED
Johnson O StensethCanadaBernardo Dominic PROPOSAL
Alejandro A PoquetteItalyXuxue Feng QUALIFIED
Murillo C IturbideIndiaOnyama Limba RENEWAL
Munro P SchemmerJapanOnyama Limba PROPOSAL
Jefferson Y WhobreyJapanAnna Fali NEGOTIATION
Sinclair X GauchoRussiaAmy Elsner UNQUALIFIED
Misaki G MaletRussiaElwin Sharvill NEGOTIATION
Ashley N KuskoUnited KingdomXuxue Feng NEGOTIATION
Leja A GillianCanadaElwin Sharvill NEGOTIATION
Kadeem X VocelkaSpainAmy Elsner RENEWAL
Isabel N InouyeUnited KingdomElwin Sharvill PROPOSAL
Mayumi F OstroskyArgentinaIoni Bowcher PROPOSAL
Ivar L SchemmerFranceAmy Elsner NEGOTIATION
Leon L SaylorsIndiaIvan Magalhaes PROPOSAL
James D SlusarskiIndiaOnyama Limba RENEWAL
Izzy E ChuiJapanIvan Magalhaes QUALIFIED
Deepesh L NickaSpainElwin Sharvill NEGOTIATION
Nicolas Z CampainUnited KingdomAsiya Javayant PROPOSAL
Jones D DilliardBrazilBernardo Dominic RENEWAL
James F WieserArgentinaOnyama Limba NEGOTIATION
Sinclair M DilliardIndiaOnyama Limba UNQUALIFIED
Aruna Z DilliardFranceIvan Magalhaes UNQUALIFIED
Emily H PaprockiRussiaOnyama Limba NEW
Smith A VocelkaAustraliaOnyama Limba QUALIFIED
Aditya X CaldareraJapanStephen Shaw NEGOTIATION
Sinclair Z StockhamBrazilXuxue Feng QUALIFIED
Mujtaba V GauchoAustraliaAmy Elsner NEW
Maisha Y NestleArgentinaAnna Fali UNQUALIFIED
David C WhobreyJapanAsiya Javayant RENEWAL
Kaitlin C BowleySpainStephen Shaw UNQUALIFIED
Juan Y OldroydBrazilAnna Fali QUALIFIED
Aruna G KuskoJapanIoni Bowcher RENEWAL
Faith O GlickGermanyAsiya Javayant NEW
Maria R MorascaArgentinaElwin Sharvill NEGOTIATION
Darci W SlusarskiGermanyIvan Magalhaes NEGOTIATION
Isabel R InouyeItalyStephen Shaw NEW
Smith J ChuiCanadaIvan Magalhaes NEGOTIATION
Kadeem X GlickArgentinaIoni Bowcher RENEWAL
Maisha H IturbideAustraliaOnyama Limba NEGOTIATION
Maria V GauchoIndiaBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Sinclair M Glick
Julie O Ostrosky
Sinclair Q Bolognia
Jones U Glick
Aditya N Campain
Wickens V Ferencz
Maisha W Gillian
Mujtaba I Shinko
Claire P Paprocki
Rodrigues P Caudy
Leja R Perin
Jones L Bolognia
Adams S Darakjy
Maisha S Iturbide
Ivar P Shinko
James J Oldroyd
Silvio G Butt
Maria K Dilliard
David M Albares
Leja R Albares
David D Ferencz
Greenwood J Chui
Greenwood W Inouye
Julie M Bolognia
Chavez U Vocelka
Octavia B Garufi
Sinclair T Marrier
Tony J Sergi
Antonio V Saylors
Clifford S Marrier
Ricardo T Albares
Nicolas B Rim
Sinclair J Kolmetz
Deepesh W Darakjy
Munro L Campain
Kadeem B Darakjy
Jefferson R Gillian
Mayumi B Rulapaugh
Kadeem L Venere
Clifford H Butt
Kadeem L Royster
Adams A Wieser
Leon D Tollner
Clifford W Bowley
Mayumi E Royster
Adams A Tollner
David R Tollner
Arvin T Sergi
Izzy Z Garufi
Faith S Doe
IdCountryDate
1000Russia2024-05-07
1001France2024-04-25
1002India2024-05-18
1003France2024-05-20
1004India2024-05-22
1005Italy2024-05-23
1006Canada2024-05-19
1007India2024-04-26
1008Canada2024-05-02
1009United Kingdom2024-05-23
1010Russia2024-05-02
1011Australia2024-05-14
1012Germany2024-04-26
1013Brazil2024-05-11
1014Russia2024-05-03
1015Brazil2024-05-07
1016India2024-04-26
1017Russia2024-05-06
1018Japan2024-05-06
1019Japan2024-05-14
1020Brazil2024-05-11
1021United Kingdom2024-05-10
1022India2024-05-02
1023France2024-05-06
1024Italy2024-05-12
1025Canada2024-05-17
1026Australia2024-05-12
1027Canada2024-05-22
1028United Kingdom2024-05-21
1029Argentina2024-05-15
1030Brazil2024-05-09
1031Canada2024-05-07
1032Germany2024-05-05
1033Japan2024-05-05
1034Canada2024-05-13
1035Brazil2024-05-21
1036Australia2024-05-19
1037France2024-05-09
1038Argentina2024-05-16
1039Canada2024-04-29
1040India2024-04-25
1041Brazil2024-05-03
1042Spain2024-05-22
1043France2024-04-30
1044Russia2024-05-06
1045Argentina2024-05-07
1046Russia2024-05-12
1047United Kingdom2024-04-27
1048Brazil2024-05-06
1049France2024-04-25

On-Demand Data

NameIdCountryDate
Aditya X Flosi1000Italy2024-05-18
Munro T Schemmer1001India2024-04-25
Munro Y Kolmetz1002Japan2024-05-15
Jefferson M Royster1003Italy2024-05-04
Antonio R Shinko1004India2024-04-29
Izzy Y Vocelka1005Russia2024-05-18
Smith K Shinko1006Germany2024-05-12
Claire E Waycott1007Argentina2024-04-30
Silvio K Stockham1008France2024-05-15
Chavez E Ferencz1009Brazil2024-04-28
Kadeem E Slusarski1010India2024-05-16
Costa G Sergi1011Russia2024-05-15
Costa S Kusko1012United Kingdom2024-05-24
David K Maclead1013Spain2024-05-23
Wickens V Albares1014United Kingdom2024-04-25
James D Ruta1015Spain2024-05-06
Chavez I Butt1016Canada2024-05-06
Aruna N Gillian1017Italy2024-05-03
Maisha G Butt1018Australia2024-05-23
Kaitlin M Dilliard1019Italy2024-05-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley X IturbideRussiaOnyama Limba PROPOSAL
Murillo G AlbaresArgentinaAsiya Javayant RENEWAL
Aruna W RulapaughRussiaAmy Elsner RENEWAL
Jefferson S FlosiSpainElwin Sharvill PROPOSAL
Johnson Q RimIndiaXuxue Feng NEW
Chavez O CampainFranceIvan Magalhaes UNQUALIFIED
Morrow X VocelkaUnited KingdomBernardo Dominic PROPOSAL
Morrow H GillianGermanyXuxue Feng RENEWAL
Isabel V OstroskyGermanyStephen Shaw UNQUALIFIED
Silvio Z DoeFranceStephen Shaw RENEWAL
Stacey A DarakjyBrazilStephen Shaw NEW
Stacey E SergiRussiaElwin Sharvill NEW
Kadeem G RulapaughCanadaStephen Shaw PROPOSAL
Izzy H MaletIndiaAnna Fali NEW
Rodrigues E WhobreyUnited KingdomElwin Sharvill NEGOTIATION
Kadeem V TollnerIndiaBernardo Dominic PROPOSAL
Kaitlin K CaldareraFranceAsiya Javayant UNQUALIFIED
Emily H SchemmerArgentinaBernardo Dominic UNQUALIFIED
Jennifer A SlusarskiIndiaIoni Bowcher QUALIFIED
Emily R RimGermanyAnna Fali NEW
Sinclair X FigeroaItalyIoni Bowcher QUALIFIED
Johnson S FlosiIndiaAsiya Javayant NEW
Chavez L StockhamBrazilAsiya Javayant NEW
Silvio X MaletBrazilStephen Shaw QUALIFIED
Octavia Z GauchoFranceBernardo Dominic QUALIFIED
Darci V FlosiArgentinaAmy Elsner NEW
Mujtaba B SaylorsJapanAsiya Javayant PROPOSAL
Jeanfrancois R MorascaUnited KingdomAsiya Javayant QUALIFIED
Kadeem M AlbaresItalyIvan Magalhaes UNQUALIFIED
Maria E ShinkoAustraliaAsiya Javayant NEGOTIATION
Arvin O InouyeGermanyOnyama Limba NEW
Faith U BriddickAustraliaAnna Fali RENEWAL
Jeanfrancois U NestleRussiaElwin Sharvill UNQUALIFIED
Kadeem L ChuiIndiaElwin Sharvill NEW
Kadeem D FollerGermanyXuxue Feng QUALIFIED
Tony E BologniaItalyAnna Fali NEW
Cody K BologniaSpainAsiya Javayant QUALIFIED
Greenwood J ShinkoCanadaAmy Elsner UNQUALIFIED
Francesco P OstroskyArgentinaXuxue Feng UNQUALIFIED
Smith J ChuiArgentinaIoni 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>