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
Arvin T SchemmerArgentinaIvan Magalhaes NEW
Maria M MaletUnited KingdomAsiya Javayant NEGOTIATION
Aika B StensethUnited KingdomAmy Elsner UNQUALIFIED
Mujtaba Y NickaArgentinaBernardo Dominic NEGOTIATION
Smith Z SergiIndiaAmy Elsner UNQUALIFIED
Salvatore E DilliardBrazilAsiya Javayant QUALIFIED
Morrow H KolmetzArgentinaIoni Bowcher UNQUALIFIED
Claire E OstroskyUnited KingdomBernardo Dominic QUALIFIED
Salvatore C KolmetzSpainAmy Elsner QUALIFIED
Alejandro F BriddickIndiaAnna Fali NEGOTIATION
Murillo H SlusarskiBrazilStephen Shaw NEW
Ashley Z MaletArgentinaIvan Magalhaes NEW
Tony T BologniaGermanyAmy Elsner QUALIFIED
Cody W VocelkaBrazilIoni Bowcher NEW
Nicolas U MorascaUnited KingdomOnyama Limba QUALIFIED
Darci H GarufiSpainAmy Elsner UNQUALIFIED
Munro M GlickArgentinaXuxue Feng NEW
Maria I FigeroaGermanyAsiya Javayant PROPOSAL
Salvatore H WhobreyJapanXuxue Feng NEGOTIATION
Tony X IturbideItalyStephen Shaw QUALIFIED
Francesco C MaletFranceIoni Bowcher NEW
Alejandro Q ChuiAustraliaIoni Bowcher PROPOSAL
Kaitlin A RimItalyBernardo Dominic NEGOTIATION
Emily Y CampainJapanElwin Sharvill NEW
Johnson A GarufiIndiaElwin Sharvill RENEWAL
Isabel V MaletFranceAsiya Javayant PROPOSAL
Ashley J NickaFranceAsiya Javayant NEW
Maria Z KuskoAustraliaXuxue Feng NEW
Isabel Y VenereItalyBernardo Dominic RENEWAL
Munro Y KolmetzIndiaStephen Shaw PROPOSAL
Izzy I DarakjyArgentinaIoni Bowcher PROPOSAL
Claire G BologniaUnited KingdomAsiya Javayant NEW
Kaitlin G PerinBrazilAmy Elsner UNQUALIFIED
Chavez S StensethArgentinaAnna Fali RENEWAL
Aditya C RutaSpainAmy Elsner NEW
Deepesh G VocelkaCanadaStephen Shaw RENEWAL
Adams J MaletBrazilStephen Shaw RENEWAL
Francesco I BologniaAustraliaAsiya Javayant NEGOTIATION
Ivar F DilliardJapanAsiya Javayant QUALIFIED
Leon T PerinBrazilOnyama Limba PROPOSAL
Francesco Q FollerFranceAmy Elsner NEGOTIATION
Isabel C MaletIndiaStephen Shaw UNQUALIFIED
Smith O MarrierJapanIoni Bowcher NEGOTIATION
Clifford O FlosiRussiaAsiya Javayant NEW
Cody Y NestleRussiaStephen Shaw QUALIFIED
Jones O GarufiRussiaXuxue Feng UNQUALIFIED
Leja M BowleyGermanyAnna Fali UNQUALIFIED
Wickens P CampainRussiaIoni Bowcher RENEWAL
Jennifer W MarrierIndiaElwin Sharvill NEGOTIATION
Faith C NickaItalyElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Nicolas K FigeroaIndiaAnna Fali NEW
Greenwood A OstroskyCanadaStephen Shaw QUALIFIED
Smith D VocelkaJapanIvan Magalhaes NEW
Alejandro I WhobreyRussiaIvan Magalhaes NEGOTIATION
Julie M CampainCanadaXuxue Feng PROPOSAL
Smith F MaletIndiaIoni Bowcher UNQUALIFIED
Jefferson C DoeCanadaAmy Elsner QUALIFIED
Costa K DarakjyItalyOnyama Limba RENEWAL
Deepesh I FlosiBrazilIoni Bowcher NEGOTIATION
Octavia W WaycottArgentinaAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey K TollnerAustralia2024-09-08Printing Dimensions UNQUALIFIED22Ivan Magalhaes
1001Johnson E RoysterArgentina2024-08-31Rousseaux, Michael Esq QUALIFIED26Xuxue Feng
1002Maisha F DoeIndia2024-09-22Buckley Miller Wright NEW14Bernardo Dominic
1003Costa Z ChuiArgentina2024-09-11Morlong Associates PROPOSAL0Onyama Limba
1004Aika N WaycottFrance2024-08-25Chanay, Jeffrey A Esq NEW12Ivan Magalhaes
1005Smith S ShinkoAustralia2024-09-09Commercial Press RENEWAL60Ivan Magalhaes
1006Rodrigues V FerenczUnited Kingdom2024-09-08Buckley Miller Wright RENEWAL24Xuxue Feng
1007Murillo A ButtFrance2024-09-08Feltz Printing Service RENEWAL25Ivan Magalhaes
1008Sinclair A WaycottArgentina2024-09-19Truhlar And Truhlar Attys PROPOSAL85Bernardo Dominic
1009Ashley E FollerRussia2024-09-10Printing Dimensions UNQUALIFIED27Xuxue Feng
1010Isabel X AlbaresUnited Kingdom2024-09-14Morlong Associates NEGOTIATION79Amy Elsner
1011David H RutaAustralia2024-08-25Dorl, James J Esq NEGOTIATION5Amy Elsner
1012Murillo Q RimIndia2024-09-16Chapman, Ross E Esq PROPOSAL40Xuxue Feng
1013Jeanfrancois T AmigonUnited Kingdom2024-09-10Rousseaux, Michael Esq NEGOTIATION49Bernardo Dominic
1014Tony J GillianUnited Kingdom2024-09-19Dorl, James J Esq RENEWAL27Elwin Sharvill
1015Deepesh F MarrierSpain2024-08-26Rangoni Of Florence NEGOTIATION12Asiya Javayant
1016Juan K CampainUnited Kingdom2024-09-21Chemel, James L Cpa PROPOSAL57Onyama Limba
1017Jennifer U GauchoItaly2024-09-11Chemel, James L Cpa PROPOSAL59Amy Elsner
1018Izzy I RimJapan2024-08-28Dorl, James J Esq NEGOTIATION45Stephen Shaw
1019Mayumi D CaldareraJapan2024-09-09Commercial Press NEGOTIATION3Ivan Magalhaes
1020Leja L NickaBrazil2024-09-09Feiner Bros UNQUALIFIED42Ioni Bowcher
1021Emily M DoeIndia2024-09-17Feltz Printing Service NEGOTIATION87Asiya Javayant
1022Cody K DarakjyJapan2024-08-28Chemel, James L Cpa NEGOTIATION12Anna Fali
1023Clifford W NickaFrance2024-08-30Rousseaux, Michael Esq QUALIFIED44Onyama Limba
1024Izzy R SaylorsUnited Kingdom2024-09-06Printing Dimensions UNQUALIFIED74Anna Fali
1025Wickens R SlusarskiCanada2024-08-26Commercial Press QUALIFIED18Bernardo Dominic
1026Jeanfrancois C FigeroaCanada2024-08-31Feiner Bros QUALIFIED47Bernardo Dominic
1027Maria Y NickaGermany2024-09-17Rousseaux, Michael Esq NEGOTIATION24Anna Fali
1028Faith S MarrierBrazil2024-09-06Commercial Press NEW43Ivan Magalhaes
1029Tony S InouyeItaly2024-08-31Chanay, Jeffrey A Esq PROPOSAL52Amy Elsner
1030Izzy A NestleSpain2024-09-23Buckley Miller Wright RENEWAL44Bernardo Dominic
1031Chavez T CaudyAustralia2024-09-15Commercial Press UNQUALIFIED47Asiya Javayant
1032Darci B StockhamBrazil2024-09-18Buckley Miller Wright RENEWAL51Asiya Javayant
1033Munro B SlusarskiUnited Kingdom2024-08-26Chemel, James L Cpa QUALIFIED39Amy Elsner
1034Antonio B SergiSpain2024-08-30Chapman, Ross E Esq RENEWAL95Ivan Magalhaes
1035Arvin W RoysterBrazil2024-09-10Chemel, James L Cpa NEGOTIATION39Onyama Limba
1036Kaitlin E AlbaresArgentina2024-09-22King, Christopher A Esq RENEWAL51Elwin Sharvill
1037Kaitlin E CampainArgentina2024-09-19Chanay, Jeffrey A Esq NEGOTIATION26Xuxue Feng
1038Kadeem V MacleadBrazil2024-09-21Chanay, Jeffrey A Esq NEW53Ivan Magalhaes
1039Jeanfrancois Z OstroskySpain2024-08-31Chanay, Jeffrey A Esq QUALIFIED5Asiya Javayant
1040Claire X DoeGermany2024-09-10King, Christopher A Esq NEGOTIATION50Asiya Javayant
1041Tony Z CampainArgentina2024-09-21Truhlar And Truhlar Attys NEW13Elwin Sharvill
1042Chavez U FerenczAustralia2024-09-13Dorl, James J Esq UNQUALIFIED73Stephen Shaw
1043Isabel K SlusarskiFrance2024-08-28Feiner Bros QUALIFIED21Asiya Javayant
1044Adams X GillianAustralia2024-09-01Truhlar And Truhlar Attys NEW56Onyama Limba
1045Murillo V InouyeFrance2024-09-17Buckley Miller Wright NEW14Anna Fali
1046Morrow L ShinkoAustralia2024-08-27Feiner Bros QUALIFIED63Bernardo Dominic
1047Faith O PerinUnited Kingdom2024-09-05Chanay, Jeffrey A Esq PROPOSAL66Bernardo Dominic
1048David O NestleGermany2024-09-10Benton, John B Jr RENEWAL70Asiya Javayant
1049Misaki Y BologniaBrazil2024-08-29Commercial Press NEW91Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Ashley I ChuiAustraliaAsiya Javayant UNQUALIFIED
Faith Q GauchoRussiaElwin Sharvill QUALIFIED
Leja N VocelkaFranceAsiya Javayant NEW
Greenwood H MacleadSpainOnyama Limba QUALIFIED
Leon P BologniaJapanOnyama Limba NEW
Jones M OstroskyAustraliaStephen Shaw RENEWAL
Sinclair T DarakjyItalyAsiya Javayant UNQUALIFIED
Silvio D TollnerItalyAnna Fali UNQUALIFIED
Darci I PoquetteBrazilBernardo Dominic RENEWAL
Smith P MaletCanadaIvan Magalhaes NEW
Wickens H VocelkaCanadaAnna Fali PROPOSAL
Rodrigues Q RulapaughAustraliaIvan Magalhaes NEGOTIATION
Chavez U GillianAustraliaXuxue Feng QUALIFIED
Maisha F VenereJapanBernardo Dominic QUALIFIED
Faith P WaycottSpainIoni Bowcher RENEWAL
Aruna U OldroydBrazilAsiya Javayant RENEWAL
Leja Z PoquetteSpainOnyama Limba NEGOTIATION
Francesco K VenereArgentinaXuxue Feng NEGOTIATION
Murillo U OldroydUnited KingdomOnyama Limba UNQUALIFIED
Adams Q SaylorsRussiaIoni Bowcher NEGOTIATION
Jones L MaletSpainXuxue Feng NEW
Clifford O WieserIndiaIoni Bowcher PROPOSAL
Wickens M RimRussiaIvan Magalhaes QUALIFIED
Silvio O KuskoItalyIvan Magalhaes RENEWAL
Aruna B FollerCanadaElwin Sharvill PROPOSAL
Jefferson I FerenczFranceBernardo Dominic NEW
Julie K BowleyGermanyAsiya Javayant NEW
Rodrigues C PaprockiAustraliaIvan Magalhaes NEW
Smith Z VocelkaItalyAnna Fali UNQUALIFIED
Octavia E StockhamAustraliaIvan Magalhaes RENEWAL
Jefferson A SaylorsSpainAsiya Javayant QUALIFIED
Mayumi A TollnerIndiaStephen Shaw QUALIFIED
Arvin C ChuiBrazilAmy Elsner RENEWAL
Wickens X WaycottGermanyAmy Elsner QUALIFIED
Emily Z MaletBrazilOnyama Limba QUALIFIED
Nicolas Q KolmetzGermanyAsiya Javayant UNQUALIFIED
Aika D RimSpainIvan Magalhaes NEGOTIATION
Cody W NestleIndiaOnyama Limba PROPOSAL
Stacey I SergiCanadaElwin Sharvill NEGOTIATION
David B DilliardBrazilAnna Fali PROPOSAL
Cody R ChuiIndiaXuxue Feng UNQUALIFIED
Maisha K FerenczItalyAnna Fali UNQUALIFIED
Emily U PoquetteBrazilIoni Bowcher RENEWAL
Julie B DarakjyIndiaAmy Elsner UNQUALIFIED
Aditya V PerinJapanIvan Magalhaes UNQUALIFIED
Juan D CaudyJapanAmy Elsner UNQUALIFIED
James C ButtCanadaOnyama Limba PROPOSAL
Arvin T WhobreyRussiaIoni Bowcher NEGOTIATION
Ashley J ShinkoCanadaBernardo Dominic RENEWAL
Claire J VenereIndiaAsiya Javayant PROPOSAL
Frozen Columns
Name
Munro K Sergi
Ashley X Shinko
Jones M Venere
Jefferson R Amigon
Deepesh M Vocelka
Kadeem W Doe
Juan Z Malet
Isabel H Perin
Faith B Figeroa
Leon K Saylors
Juan Z Sergi
Leja K Flosi
Aditya L Malet
Mujtaba L Gaucho
Isabel V Garufi
Aruna N Stockham
Munro B Iturbide
Faith S Stenseth
Maisha K Slusarski
Stacey G Shinko
Silvio T Whobrey
Silvio V Saylors
Francesco Q Bowley
Misaki W Morasca
Salvatore Y Glick
Maria O Nicka
David D Rulapaugh
Silvio Y Nicka
Stacey J Sergi
Ivar A Tollner
Aika V Ostrosky
Aika F Whobrey
Isabel W Butt
Smith Z Stockham
Mayumi H Briddick
Mujtaba L Ruta
Murillo G Royster
Ivar J Wieser
Munro C Caldarera
Chavez F Tollner
Nicolas C Chui
Claire I Ruta
Antonio R Shinko
Francesco C Poquette
Kaitlin V Kusko
Leja L Stenseth
Julie E Glick
Morrow F Bolognia
Adams G Perin
Antonio H Nicka
IdCountryDate
1000France2024-09-20
1001Argentina2024-08-26
1002United Kingdom2024-09-01
1003India2024-09-10
1004India2024-08-26
1005Australia2024-08-26
1006France2024-08-29
1007Canada2024-09-19
1008France2024-09-03
1009Italy2024-08-30
1010Spain2024-09-16
1011Japan2024-09-08
1012Argentina2024-09-08
1013Russia2024-09-04
1014Argentina2024-09-23
1015Canada2024-08-26
1016Germany2024-08-26
1017Russia2024-09-10
1018Argentina2024-09-15
1019United Kingdom2024-09-12
1020Japan2024-09-11
1021Canada2024-09-22
1022Spain2024-08-29
1023India2024-09-15
1024Italy2024-09-13
1025Japan2024-09-22
1026France2024-09-16
1027Russia2024-09-06
1028Italy2024-08-29
1029India2024-08-27
1030United Kingdom2024-09-10
1031United Kingdom2024-09-01
1032United Kingdom2024-09-17
1033Australia2024-09-07
1034Australia2024-09-04
1035Australia2024-09-18
1036Argentina2024-09-05
1037Japan2024-08-27
1038Australia2024-09-19
1039Brazil2024-09-20
1040Brazil2024-09-15
1041Germany2024-09-09
1042Russia2024-09-21
1043Australia2024-09-20
1044Italy2024-09-12
1045Spain2024-09-21
1046Italy2024-09-04
1047Japan2024-09-09
1048Germany2024-09-14
1049United Kingdom2024-09-17

On-Demand Data

NameIdCountryDate
Adams D Vocelka1000Brazil2024-09-08
Murillo H Caudy1001Spain2024-09-18
Kadeem Q Glick1002Russia2024-09-01
James D Doe1003India2024-09-10
Cody V Amigon1004Australia2024-08-28
Munro T Nestle1005Canada2024-09-02
Kadeem Z Slusarski1006Japan2024-08-28
Johnson H Royster1007United Kingdom2024-09-12
Salvatore T Flosi1008India2024-09-05
Murillo K Stenseth1009Japan2024-08-25
Izzy L Tollner1010Australia2024-09-07
Kadeem W Foller1011United Kingdom2024-08-25
Leja Z Iturbide1012Brazil2024-08-30
Emily V Kusko1013Russia2024-09-08
Mujtaba L Malet1014Canada2024-08-30
Costa K Rim1015Germany2024-08-29
Alejandro N Maclead1016India2024-09-12
Sinclair L Tollner1017Brazil2024-09-21
Munro P Stockham1018Australia2024-09-22
Emily X Slusarski1019Argentina2024-09-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony I DoeArgentinaXuxue Feng NEW
Arvin J ButtBrazilStephen Shaw QUALIFIED
Juan U InouyeUnited KingdomBernardo Dominic UNQUALIFIED
Ivar Q GillianFranceStephen Shaw QUALIFIED
Kadeem B PerinArgentinaStephen Shaw QUALIFIED
Isabel Q BologniaJapanAsiya Javayant NEGOTIATION
Julie Z GlickIndiaOnyama Limba RENEWAL
Silvio B FlosiUnited KingdomAsiya Javayant UNQUALIFIED
Antonio Z PoquetteIndiaStephen Shaw RENEWAL
Stacey N SaylorsCanadaElwin Sharvill RENEWAL
Stacey S GillianItalyXuxue Feng RENEWAL
Kaitlin V WhobreyIndiaAnna Fali NEW
Mayumi O SaylorsCanadaElwin Sharvill NEW
Stacey L CaldareraFranceAsiya Javayant NEGOTIATION
Stacey V VocelkaItalyElwin Sharvill NEW
Claire Z BriddickFranceAsiya Javayant UNQUALIFIED
Costa I CampainBrazilElwin Sharvill NEGOTIATION
Wickens R DoeFranceAmy Elsner RENEWAL
Faith V DoeJapanAnna Fali RENEWAL
Aruna N AmigonSpainAsiya Javayant PROPOSAL
Aruna O RulapaughUnited KingdomOnyama Limba NEGOTIATION
Sinclair Q AmigonArgentinaXuxue Feng UNQUALIFIED
Juan G SergiRussiaAmy Elsner UNQUALIFIED
Antonio H BowleyUnited KingdomAnna Fali NEW
Murillo Z RimBrazilAnna Fali UNQUALIFIED
Darci Y KolmetzItalyIoni Bowcher NEGOTIATION
Alejandro W RutaFranceIvan Magalhaes NEW
Isabel C RutaSpainBernardo Dominic QUALIFIED
Julie G GauchoFranceIvan Magalhaes PROPOSAL
Darci D AmigonGermanyIvan Magalhaes NEGOTIATION
Francesco A StockhamJapanElwin Sharvill PROPOSAL
Kaitlin K CaldareraJapanAnna Fali NEGOTIATION
Mayumi O WieserArgentinaIoni Bowcher PROPOSAL
Greenwood H ShinkoJapanAnna Fali NEGOTIATION
Jennifer C NestleIndiaXuxue Feng QUALIFIED
Aika O PoquetteUnited KingdomOnyama Limba QUALIFIED
Ricardo R SergiCanadaAnna Fali QUALIFIED
Tony M NestleCanadaElwin Sharvill PROPOSAL
Salvatore Y InouyeItalyAmy Elsner PROPOSAL
Faith E KolmetzAustraliaBernardo Dominic 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>