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
Kadeem U BologniaArgentinaIvan Magalhaes RENEWAL
Kaitlin A VenereUnited KingdomXuxue Feng NEW
Sinclair T RutaBrazilStephen Shaw UNQUALIFIED
Aditya S PaprockiAustraliaElwin Sharvill NEW
Greenwood I BowleyItalyOnyama Limba QUALIFIED
Leon Y StockhamItalyIoni Bowcher QUALIFIED
Chavez P GillianGermanyXuxue Feng PROPOSAL
Nicolas U GauchoCanadaIvan Magalhaes NEW
Rodrigues D SergiSpainOnyama Limba NEW
Maria R FerenczSpainIvan Magalhaes NEGOTIATION
Salvatore M NestleUnited KingdomBernardo Dominic PROPOSAL
Salvatore J CaudyGermanyIoni Bowcher NEW
Ricardo O WieserCanadaOnyama Limba PROPOSAL
Maisha U SchemmerUnited KingdomXuxue Feng NEW
Antonio O GauchoIndiaBernardo Dominic PROPOSAL
Aika R VocelkaJapanStephen Shaw PROPOSAL
Greenwood P RoysterIndiaIoni Bowcher PROPOSAL
Deepesh J ShinkoSpainIoni Bowcher NEW
Juan C BologniaArgentinaAsiya Javayant UNQUALIFIED
Arvin W ChuiAustraliaXuxue Feng UNQUALIFIED
Faith B DarakjyRussiaIvan Magalhaes RENEWAL
Greenwood O DarakjyBrazilElwin Sharvill NEW
Misaki G IturbideGermanyOnyama Limba NEW
Jennifer Z RimAustraliaIvan Magalhaes NEW
Chavez Y ChuiJapanIvan Magalhaes NEW
Johnson C OstroskyItalyIvan Magalhaes QUALIFIED
Emily X MaletItalyElwin Sharvill NEGOTIATION
Julie E ButtUnited KingdomStephen Shaw NEGOTIATION
Maria A DarakjyArgentinaAsiya Javayant NEW
Morrow Q OldroydSpainOnyama Limba QUALIFIED
Isabel G VenereBrazilElwin Sharvill QUALIFIED
Deepesh D BologniaItalyAsiya Javayant QUALIFIED
Leon S GarufiFranceAmy Elsner NEGOTIATION
Julie X VenereUnited KingdomAsiya Javayant NEW
Kaitlin D StockhamIndiaElwin Sharvill QUALIFIED
Mayumi N NickaArgentinaElwin Sharvill RENEWAL
Arvin I BowleyRussiaAnna Fali RENEWAL
Greenwood D MorascaRussiaXuxue Feng RENEWAL
Aditya J IturbideItalyElwin Sharvill QUALIFIED
Emily R KolmetzIndiaAmy Elsner NEW
David B TollnerIndiaAnna Fali NEGOTIATION
Emily D SlusarskiJapanBernardo Dominic NEW
Munro E PoquetteUnited KingdomIoni Bowcher RENEWAL
Mujtaba I AlbaresCanadaAnna Fali UNQUALIFIED
Isabel W ButtJapanOnyama Limba PROPOSAL
Mayumi X GlickBrazilAsiya Javayant QUALIFIED
Silvio W CaldareraCanadaIvan Magalhaes NEW
Emily Y GauchoCanadaIoni Bowcher RENEWAL
Ricardo Z FlosiFranceOnyama Limba RENEWAL
David B FigeroaSpainElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Mujtaba C AmigonJapanAsiya Javayant NEGOTIATION
Ricardo P MarrierUnited KingdomElwin Sharvill PROPOSAL
Wickens U CampainItalyAmy Elsner PROPOSAL
Rodrigues C FollerIndiaIoni Bowcher NEW
Isabel J MacleadItalyBernardo Dominic RENEWAL
Juan U ButtAustraliaAsiya Javayant UNQUALIFIED
Darci J KolmetzGermanyAmy Elsner NEGOTIATION
Jeanfrancois I PoquetteArgentinaElwin Sharvill QUALIFIED
Kaitlin S CampainFranceBernardo Dominic UNQUALIFIED
Misaki L NickaSpainOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco R PoquetteGermany2024-06-13Dorl, James J Esq PROPOSAL32Ioni Bowcher
1001Jeanfrancois F OstroskyFrance2024-06-10Commercial Press PROPOSAL78Ivan Magalhaes
1002Ricardo Q WhobreyBrazil2024-05-26Printing Dimensions UNQUALIFIED17Ioni Bowcher
1003Kaitlin K InouyeItaly2024-06-13Printing Dimensions RENEWAL36Bernardo Dominic
1004Deepesh I GlickIndia2024-06-11Feltz Printing Service QUALIFIED19Stephen Shaw
1005Jefferson J TollnerItaly2024-06-14Chapman, Ross E Esq PROPOSAL99Onyama Limba
1006Jones V GillianArgentina2024-06-20Dorl, James J Esq NEGOTIATION60Bernardo Dominic
1007Rodrigues Z DilliardGermany2024-06-01Chapman, Ross E Esq QUALIFIED72Ioni Bowcher
1008Ricardo K WieserIndia2024-06-12Feiner Bros QUALIFIED26Onyama Limba
1009Isabel N FlosiJapan2024-06-01Morlong Associates UNQUALIFIED74Onyama Limba
1010Ivar R WaycottUnited Kingdom2024-06-08Buckley Miller Wright RENEWAL56Amy Elsner
1011Misaki T ShinkoCanada2024-06-02Feltz Printing Service PROPOSAL74Elwin Sharvill
1012Aika W WieserSpain2024-06-15Chapman, Ross E Esq NEGOTIATION37Ivan Magalhaes
1013Nicolas B FigeroaArgentina2024-06-17Printing Dimensions UNQUALIFIED69Asiya Javayant
1014Costa I IturbideAustralia2024-06-06Printing Dimensions NEW77Asiya Javayant
1015Jefferson A RoysterCanada2024-06-18Dorl, James J Esq RENEWAL10Stephen Shaw
1016Silvio T ButtGermany2024-06-10Commercial Press NEGOTIATION52Asiya Javayant
1017Ivar G ButtFrance2024-06-11King, Christopher A Esq NEW99Anna Fali
1018Jefferson A RulapaughAustralia2024-06-24Rousseaux, Michael Esq NEGOTIATION90Xuxue Feng
1019Aika N KuskoAustralia2024-05-30King, Christopher A Esq QUALIFIED75Elwin Sharvill
1020David H MaletGermany2024-06-12Chapman, Ross E Esq PROPOSAL83Onyama Limba
1021Cody V CampainAustralia2024-05-28Commercial Press QUALIFIED35Ioni Bowcher
1022Aruna P GauchoItaly2024-06-23Chapman, Ross E Esq NEW48Asiya Javayant
1023Sinclair K KolmetzIndia2024-06-02Chemel, James L Cpa NEW52Ioni Bowcher
1024Sinclair S BowleyRussia2024-06-12Commercial Press NEGOTIATION58Elwin Sharvill
1025Munro V GillianFrance2024-06-13Buckley Miller Wright UNQUALIFIED20Amy Elsner
1026Costa L GauchoBrazil2024-06-04Commercial Press NEW57Onyama Limba
1027Aruna Z RutaItaly2024-06-18Dorl, James J Esq NEGOTIATION2Ivan Magalhaes
1028Adams C GillianArgentina2024-06-09Printing Dimensions UNQUALIFIED4Stephen Shaw
1029Misaki Y IturbideCanada2024-06-11Chemel, James L Cpa NEGOTIATION23Onyama Limba
1030Nicolas L ButtUnited Kingdom2024-06-02Chapman, Ross E Esq UNQUALIFIED93Onyama Limba
1031Aika M MarrierBrazil2024-06-13Truhlar And Truhlar Attys PROPOSAL81Asiya Javayant
1032Aditya A SlusarskiJapan2024-06-02Rangoni Of Florence UNQUALIFIED98Elwin Sharvill
1033Nicolas K MaletArgentina2024-06-08Truhlar And Truhlar Attys QUALIFIED69Asiya Javayant
1034Maisha N InouyeAustralia2024-06-18Buckley Miller Wright NEW81Asiya Javayant
1035Smith H RutaGermany2024-05-26Truhlar And Truhlar Attys QUALIFIED39Ioni Bowcher
1036Leja P GillianArgentina2024-06-08Buckley Miller Wright NEW30Amy Elsner
1037Ricardo Q MorascaItaly2024-05-30Feiner Bros QUALIFIED34Ivan Magalhaes
1038Emily N PerinBrazil2024-05-28Rousseaux, Michael Esq NEGOTIATION35Elwin Sharvill
1039Misaki Q BriddickGermany2024-06-01Truhlar And Truhlar Attys UNQUALIFIED33Stephen Shaw
1040Salvatore Q VocelkaJapan2024-06-17Benton, John B Jr RENEWAL43Xuxue Feng
1041Leon S DilliardRussia2024-05-31Rousseaux, Michael Esq PROPOSAL49Bernardo Dominic
1042Leon K FlosiBrazil2024-06-23Benton, John B Jr RENEWAL23Anna Fali
1043Smith D MorascaIndia2024-06-10Rousseaux, Michael Esq RENEWAL85Elwin Sharvill
1044Maisha N WaycottArgentina2024-05-31Chapman, Ross E Esq NEGOTIATION97Bernardo Dominic
1045Morrow G KuskoFrance2024-06-03Chanay, Jeffrey A Esq NEW47Bernardo Dominic
1046Faith I OldroydIndia2024-06-08Rousseaux, Michael Esq UNQUALIFIED56Amy Elsner
1047Greenwood M GauchoFrance2024-06-17Feiner Bros QUALIFIED54Xuxue Feng
1048Jefferson U SergiBrazil2024-06-14Buckley Miller Wright RENEWAL72Stephen Shaw
1049Stacey S GauchoItaly2024-06-20Feiner Bros UNQUALIFIED84Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Salvatore Q CaldareraIndiaBernardo Dominic UNQUALIFIED
Antonio E WhobreyIndiaAmy Elsner RENEWAL
Adams R PerinGermanyBernardo Dominic PROPOSAL
Maria L ButtRussiaOnyama Limba NEW
Murillo J CaldareraSpainXuxue Feng NEGOTIATION
Ashley X WaycottItalyIoni Bowcher UNQUALIFIED
Arvin I ShinkoBrazilXuxue Feng NEW
Greenwood E KolmetzJapanXuxue Feng UNQUALIFIED
Sinclair H NestleCanadaStephen Shaw UNQUALIFIED
Deepesh K BowleyRussiaIvan Magalhaes PROPOSAL
Aruna W CampainArgentinaIoni Bowcher UNQUALIFIED
Darci A TollnerCanadaStephen Shaw UNQUALIFIED
Munro W BowleyAustraliaStephen Shaw NEW
Nicolas V BowleyAustraliaIoni Bowcher QUALIFIED
Smith J NickaIndiaOnyama Limba NEW
Adams X KuskoGermanyStephen Shaw NEW
Francesco N RulapaughBrazilElwin Sharvill NEGOTIATION
Clifford S AmigonItalyIoni Bowcher NEGOTIATION
Wickens H PaprockiCanadaIvan Magalhaes PROPOSAL
Leja P CampainJapanIoni Bowcher NEGOTIATION
Faith X MacleadGermanyAnna Fali PROPOSAL
Aika Q RoysterItalyBernardo Dominic PROPOSAL
Murillo H SergiRussiaIvan Magalhaes QUALIFIED
Francesco D SaylorsGermanyIvan Magalhaes PROPOSAL
Claire U MaletRussiaAmy Elsner PROPOSAL
Chavez M GillianSpainBernardo Dominic RENEWAL
Greenwood M CaldareraFranceOnyama Limba UNQUALIFIED
Tony U BologniaItalyStephen Shaw PROPOSAL
Adams T DoeUnited KingdomStephen Shaw UNQUALIFIED
Cody M ShinkoUnited KingdomAmy Elsner PROPOSAL
Aditya G AlbaresGermanyStephen Shaw QUALIFIED
Cody S WieserFranceXuxue Feng RENEWAL
Jones S BowleyArgentinaBernardo Dominic RENEWAL
Kaitlin V ButtIndiaBernardo Dominic QUALIFIED
Deepesh J RutaFranceAnna Fali QUALIFIED
Chavez P SchemmerAustraliaBernardo Dominic NEGOTIATION
Tony O SchemmerUnited KingdomElwin Sharvill UNQUALIFIED
Deepesh Q AlbaresArgentinaAnna Fali NEW
Greenwood Z DarakjyAustraliaIoni Bowcher NEGOTIATION
Juan O CaldareraFranceOnyama Limba NEW
James S FigeroaGermanyAnna Fali UNQUALIFIED
Smith S StockhamItalyXuxue Feng NEW
Leja Z MorascaAustraliaAsiya Javayant PROPOSAL
Mujtaba F CampainCanadaIvan Magalhaes QUALIFIED
Kadeem I RoysterGermanyOnyama Limba NEW
Leja M BriddickCanadaIvan Magalhaes RENEWAL
Misaki N SchemmerUnited KingdomBernardo Dominic UNQUALIFIED
Aika B GillianSpainStephen Shaw RENEWAL
Deepesh M FigeroaBrazilAmy Elsner NEGOTIATION
Munro Q StensethAustraliaAnna Fali RENEWAL
Frozen Columns
Name
Aruna B Amigon
Octavia Z Morasca
Jones C Gaucho
Jefferson I Bolognia
Juan C Venere
Greenwood I Whobrey
Salvatore H Caudy
Jones B Perin
Greenwood G Figeroa
Jeanfrancois V Ferencz
Ricardo Y Flosi
James N Venere
Sinclair Y Glick
Silvio F Bowley
Mujtaba U Iturbide
Leja S Amigon
Wickens U Vocelka
Francesco S Rulapaugh
Leja K Saylors
Kadeem I Nestle
Leon B Rulapaugh
Rodrigues U Morasca
Maria R Slusarski
Ricardo Z Chui
David S Ferencz
James R Briddick
Aditya F Saylors
Mayumi W Kolmetz
Ivar P Schemmer
Aika M Kolmetz
Misaki M Shinko
Aruna T Royster
Greenwood D Whobrey
Kadeem L Briddick
Cody B Vocelka
Silvio H Stenseth
Mayumi S Rulapaugh
Ashley J Vocelka
Aruna Y Foller
Deepesh K Dilliard
Morrow Q Wieser
Arvin K Stenseth
Julie S Malet
Juan G Saylors
Antonio Z Amigon
Smith J Slusarski
Smith E Stenseth
Clifford V Nicka
Juan M Albares
Cody Z Paprocki
IdCountryDate
1000Russia2024-05-28
1001Australia2024-06-04
1002Australia2024-06-14
1003Argentina2024-06-23
1004Russia2024-06-15
1005Japan2024-06-19
1006India2024-05-29
1007Germany2024-06-01
1008Spain2024-06-21
1009Italy2024-06-03
1010India2024-06-21
1011Spain2024-06-17
1012Russia2024-06-08
1013Brazil2024-06-18
1014Argentina2024-06-09
1015Spain2024-06-16
1016Canada2024-06-09
1017Japan2024-05-31
1018Spain2024-06-19
1019France2024-06-09
1020Russia2024-06-01
1021Argentina2024-05-31
1022Australia2024-05-26
1023India2024-06-19
1024United Kingdom2024-06-02
1025Russia2024-06-24
1026France2024-06-04
1027India2024-05-30
1028United Kingdom2024-06-12
1029Canada2024-06-24
1030Brazil2024-05-30
1031India2024-06-11
1032Spain2024-06-05
1033France2024-06-04
1034Spain2024-06-05
1035Argentina2024-06-01
1036Italy2024-06-07
1037Germany2024-05-26
1038Italy2024-06-24
1039Argentina2024-06-21
1040Australia2024-06-16
1041United Kingdom2024-06-01
1042Canada2024-06-03
1043Spain2024-05-27
1044Italy2024-06-07
1045United Kingdom2024-06-13
1046Italy2024-05-27
1047Argentina2024-06-06
1048Spain2024-05-30
1049Canada2024-05-27

On-Demand Data

NameIdCountryDate
Maria Q Whobrey1000Brazil2024-06-22
Julie W Vocelka1001Italy2024-05-29
Misaki I Whobrey1002Canada2024-05-30
James N Perin1003United Kingdom2024-06-19
Octavia G Wieser1004Italy2024-06-09
Adams W Inouye1005United Kingdom2024-06-23
Maisha W Maclead1006Japan2024-06-04
Munro R Nestle1007France2024-06-07
Murillo Q Albares1008Germany2024-06-20
Jones P Morasca1009Canada2024-05-28
Claire B Flosi1010Spain2024-06-14
Nicolas Q Glick1011India2024-06-16
Jeanfrancois L Caudy1012Germany2024-06-16
David N Tollner1013United Kingdom2024-06-14
Costa E Slusarski1014Italy2024-06-12
Aika D Flosi1015France2024-06-18
Izzy L Doe1016France2024-06-13
Tony V Briddick1017France2024-06-14
Mujtaba H Sergi1018Italy2024-05-26
Octavia Q Albares1019Canada2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood U BriddickUnited KingdomAsiya Javayant QUALIFIED
Faith K StensethBrazilElwin Sharvill PROPOSAL
Rodrigues I KolmetzGermanyBernardo Dominic RENEWAL
Octavia E BologniaCanadaIoni Bowcher RENEWAL
Misaki G MaletAustraliaOnyama Limba RENEWAL
Munro W KuskoFranceElwin Sharvill QUALIFIED
Deepesh D MarrierGermanyStephen Shaw RENEWAL
Smith Z ButtBrazilIoni Bowcher RENEWAL
Salvatore S DilliardFranceIvan Magalhaes RENEWAL
Antonio P GarufiFranceAnna Fali RENEWAL
Sinclair A InouyeSpainAsiya Javayant PROPOSAL
Ricardo T VocelkaUnited KingdomAsiya Javayant QUALIFIED
Emily G DilliardGermanyAmy Elsner RENEWAL
Antonio Z AlbaresCanadaOnyama Limba PROPOSAL
Maisha K InouyeUnited KingdomXuxue Feng NEW
Leja A GauchoSpainAsiya Javayant UNQUALIFIED
Darci N ChuiIndiaElwin Sharvill NEGOTIATION
Maria R RutaArgentinaIvan Magalhaes PROPOSAL
Arvin M BriddickSpainIvan Magalhaes RENEWAL
Jeanfrancois K InouyeGermanyAsiya Javayant UNQUALIFIED
Aika N DarakjyIndiaOnyama Limba PROPOSAL
Isabel W SchemmerBrazilIoni Bowcher RENEWAL
Deepesh P GillianBrazilAnna Fali UNQUALIFIED
Salvatore V MaletCanadaAsiya Javayant PROPOSAL
Maisha Q DarakjySpainStephen Shaw PROPOSAL
Aika S WhobreyItalyAnna Fali PROPOSAL
Leja K VenereSpainXuxue Feng QUALIFIED
Ivar L SlusarskiGermanyStephen Shaw PROPOSAL
Darci F ShinkoJapanAsiya Javayant PROPOSAL
Isabel L DilliardItalyIoni Bowcher NEGOTIATION
Morrow X SlusarskiCanadaStephen Shaw NEGOTIATION
Jones X SchemmerItalyIoni Bowcher QUALIFIED
Johnson A SchemmerIndiaStephen Shaw NEW
Nicolas Y DarakjyFranceStephen Shaw UNQUALIFIED
David F GlickFranceAnna Fali PROPOSAL
Octavia M OstroskyCanadaIoni Bowcher NEGOTIATION
Faith B StockhamAustraliaBernardo Dominic QUALIFIED
Ashley D GlickCanadaAmy Elsner PROPOSAL
Julie F WhobreyCanadaIoni Bowcher QUALIFIED
David V StockhamIndiaAnna Fali QUALIFIED

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