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
Morrow W TollnerArgentinaAnna Fali QUALIFIED
Morrow K DilliardRussiaElwin Sharvill NEGOTIATION
Greenwood A BriddickIndiaAmy Elsner NEW
James N AlbaresCanadaXuxue Feng RENEWAL
Izzy I RutaJapanIoni Bowcher UNQUALIFIED
Smith H RutaUnited KingdomAnna Fali UNQUALIFIED
Isabel F OstroskyRussiaXuxue Feng RENEWAL
Munro M FlosiArgentinaAsiya Javayant RENEWAL
Maisha O MorascaItalyElwin Sharvill PROPOSAL
Jones Z MacleadItalyOnyama Limba UNQUALIFIED
Ivar M RimSpainElwin Sharvill RENEWAL
Clifford P ButtAustraliaAnna Fali NEGOTIATION
Alejandro K RutaItalyAnna Fali UNQUALIFIED
Mayumi J AmigonArgentinaAmy Elsner PROPOSAL
Deepesh Q ChuiArgentinaXuxue Feng RENEWAL
Kadeem B ChuiCanadaIoni Bowcher RENEWAL
Aditya V PoquetteAustraliaElwin Sharvill QUALIFIED
Rodrigues M VenereUnited KingdomIvan Magalhaes PROPOSAL
Adams M MaletFranceIvan Magalhaes NEGOTIATION
Murillo D CaldareraCanadaXuxue Feng UNQUALIFIED
Johnson T FollerUnited KingdomStephen Shaw NEGOTIATION
James V SlusarskiRussiaElwin Sharvill PROPOSAL
Faith E MorascaUnited KingdomOnyama Limba PROPOSAL
Ashley M PerinCanadaIoni Bowcher NEW
Ivar I IturbideBrazilStephen Shaw QUALIFIED
Maria U NestleGermanyOnyama Limba RENEWAL
Kadeem K IturbideSpainElwin Sharvill NEGOTIATION
Octavia O MorascaItalyOnyama Limba NEW
Leja P CaldareraBrazilOnyama Limba NEW
Julie T FlosiFranceIvan Magalhaes UNQUALIFIED
James Q StensethItalyStephen Shaw RENEWAL
Kadeem U VenereFranceStephen Shaw RENEWAL
Izzy R ShinkoItalyIoni Bowcher PROPOSAL
Ashley Q ShinkoIndiaElwin Sharvill NEW
Silvio F GauchoUnited KingdomOnyama Limba UNQUALIFIED
Octavia F TollnerSpainAsiya Javayant RENEWAL
Ricardo V GlickSpainIoni Bowcher RENEWAL
Darci H WhobreyIndiaOnyama Limba UNQUALIFIED
Smith J MaletGermanyAnna Fali NEW
Maria M WieserCanadaIvan Magalhaes NEGOTIATION
Octavia K StensethJapanXuxue Feng NEW
Deepesh W MaletUnited KingdomAnna Fali NEW
Ricardo M VenereCanadaElwin Sharvill RENEWAL
Maria W RimSpainStephen Shaw QUALIFIED
Salvatore V KolmetzArgentinaXuxue Feng QUALIFIED
Maisha S FigeroaSpainElwin Sharvill NEGOTIATION
Wickens D TollnerSpainAsiya Javayant NEW
Chavez D MacleadSpainIoni Bowcher NEGOTIATION
Clifford E GlickGermanyAsiya Javayant PROPOSAL
Costa T SergiSpainXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
James I CaudyAustraliaAsiya Javayant PROPOSAL
David U BologniaFranceXuxue Feng PROPOSAL
Emily J GlickJapanIvan Magalhaes PROPOSAL
Morrow M SlusarskiCanadaBernardo Dominic RENEWAL
Emily X DilliardArgentinaIoni Bowcher PROPOSAL
Aditya W FigeroaJapanElwin Sharvill NEGOTIATION
Leja W StensethArgentinaIoni Bowcher NEGOTIATION
Jones P ChuiJapanOnyama Limba NEW
Kadeem U KolmetzJapanAsiya Javayant QUALIFIED
Julie M WhobreyJapanBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson I PaprockiAustralia2024-06-10Feltz Printing Service NEW18Amy Elsner
1001Octavia G FollerAustralia2024-06-04Dorl, James J Esq PROPOSAL80Elwin Sharvill
1002Antonio C BowleySpain2024-05-27Benton, John B Jr UNQUALIFIED23Bernardo Dominic
1003Aika E CampainAustralia2024-05-20Chemel, James L Cpa NEW44Elwin Sharvill
1004Jones X RimJapan2024-05-24Rangoni Of Florence NEGOTIATION54Amy Elsner
1005Tony T SlusarskiUnited Kingdom2024-06-10Commercial Press UNQUALIFIED30Asiya Javayant
1006Aditya G PoquetteAustralia2024-06-04Rangoni Of Florence NEW38Stephen Shaw
1007Emily G MaletGermany2024-06-01Rangoni Of Florence QUALIFIED71Bernardo Dominic
1008Arvin S NestleGermany2024-06-01Buckley Miller Wright NEGOTIATION16Ioni Bowcher
1009Jefferson P RulapaughCanada2024-06-06Feltz Printing Service PROPOSAL15Stephen Shaw
1010Chavez L FlosiRussia2024-05-24Rousseaux, Michael Esq UNQUALIFIED17Ioni Bowcher
1011Stacey P VenereJapan2024-06-08Benton, John B Jr QUALIFIED68Xuxue Feng
1012Kaitlin Q NickaUnited Kingdom2024-05-26Chanay, Jeffrey A Esq NEGOTIATION17Ivan Magalhaes
1013Ricardo Y BriddickBrazil2024-06-11Feltz Printing Service NEW29Ioni Bowcher
1014Juan X KolmetzArgentina2024-05-27Rangoni Of Florence NEW35Elwin Sharvill
1015Maria Z AlbaresAustralia2024-05-31Chemel, James L Cpa RENEWAL36Stephen Shaw
1016Tony C SergiCanada2024-06-10Morlong Associates NEGOTIATION11Onyama Limba
1017Izzy M CaldareraItaly2024-06-12Chanay, Jeffrey A Esq UNQUALIFIED33Onyama Limba
1018Cody L DarakjyIndia2024-05-18Truhlar And Truhlar Attys RENEWAL36Stephen Shaw
1019Costa M FigeroaFrance2024-05-27Rousseaux, Michael Esq NEGOTIATION35Stephen Shaw
1020Kaitlin M CaudyCanada2024-06-16Chemel, James L Cpa UNQUALIFIED74Onyama Limba
1021Misaki U NestleRussia2024-06-09Chapman, Ross E Esq NEGOTIATION27Onyama Limba
1022Ashley L MorascaGermany2024-06-05Truhlar And Truhlar Attys UNQUALIFIED81Asiya Javayant
1023Darci U SlusarskiIndia2024-05-24Buckley Miller Wright NEGOTIATION25Anna Fali
1024Maisha V RoysterSpain2024-05-25King, Christopher A Esq PROPOSAL0Xuxue Feng
1025David X OldroydItaly2024-06-01Feltz Printing Service QUALIFIED29Bernardo Dominic
1026Leon V GillianBrazil2024-05-25Chemel, James L Cpa UNQUALIFIED73Elwin Sharvill
1027Maisha K BowleyItaly2024-05-18Commercial Press QUALIFIED28Xuxue Feng
1028Smith T OldroydUnited Kingdom2024-06-09Feltz Printing Service PROPOSAL56Xuxue Feng
1029Rodrigues W PerinFrance2024-05-18Chapman, Ross E Esq NEW38Asiya Javayant
1030Smith R AlbaresCanada2024-05-20Truhlar And Truhlar Attys NEW94Stephen Shaw
1031James N NestleIndia2024-06-11Printing Dimensions PROPOSAL78Xuxue Feng
1032Jennifer J DarakjyUnited Kingdom2024-06-02King, Christopher A Esq QUALIFIED66Amy Elsner
1033Stacey J MarrierIndia2024-05-23Chemel, James L Cpa PROPOSAL74Stephen Shaw
1034Antonio J AlbaresFrance2024-05-25Chapman, Ross E Esq NEW29Ioni Bowcher
1035Octavia Q FigeroaFrance2024-05-20Chanay, Jeffrey A Esq NEW93Asiya Javayant
1036David M OstroskyIndia2024-05-31Rangoni Of Florence QUALIFIED78Asiya Javayant
1037Cody W FlosiItaly2024-06-14Benton, John B Jr NEGOTIATION18Ioni Bowcher
1038Arvin B MorascaIndia2024-06-04Commercial Press QUALIFIED94Asiya Javayant
1039Izzy B DilliardRussia2024-06-15Truhlar And Truhlar Attys NEW80Bernardo Dominic
1040Aditya Y FerenczAustralia2024-05-26Chanay, Jeffrey A Esq NEW74Elwin Sharvill
1041Salvatore B GillianBrazil2024-05-25Feiner Bros UNQUALIFIED38Ioni Bowcher
1042Izzy O RoysterArgentina2024-05-31Feltz Printing Service PROPOSAL56Ioni Bowcher
1043Smith J MorascaUnited Kingdom2024-05-28Feiner Bros NEGOTIATION9Asiya Javayant
1044James B GarufiRussia2024-06-06Morlong Associates NEGOTIATION78Ivan Magalhaes
1045Smith G MaletAustralia2024-06-16Rousseaux, Michael Esq NEGOTIATION0Ioni Bowcher
1046Jones M RimJapan2024-05-30King, Christopher A Esq PROPOSAL95Ioni Bowcher
1047Jones N StockhamCanada2024-06-03King, Christopher A Esq QUALIFIED28Anna Fali
1048Johnson D ButtAustralia2024-05-29King, Christopher A Esq UNQUALIFIED56Elwin Sharvill
1049Jones C KolmetzAustralia2024-05-28Chemel, James L Cpa PROPOSAL7Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Izzy M KuskoGermanyXuxue Feng RENEWAL
Aditya E GarufiRussiaAmy Elsner NEGOTIATION
Jefferson P MarrierSpainAmy Elsner RENEWAL
Chavez F AmigonCanadaBernardo Dominic NEGOTIATION
Aditya N MaletIndiaAsiya Javayant NEGOTIATION
Antonio J BriddickGermanyAsiya Javayant NEGOTIATION
Jennifer Z RutaItalyAsiya Javayant RENEWAL
Munro U PoquetteBrazilElwin Sharvill NEW
Francesco J ShinkoArgentinaStephen Shaw NEW
Wickens Q GillianItalyIoni Bowcher NEW
Adams E WieserBrazilAsiya Javayant QUALIFIED
Rodrigues O SchemmerIndiaStephen Shaw NEGOTIATION
Faith A SchemmerGermanyBernardo Dominic QUALIFIED
James K WhobreyRussiaElwin Sharvill UNQUALIFIED
Izzy D StensethCanadaAnna Fali NEGOTIATION
Ivar A SchemmerGermanyOnyama Limba QUALIFIED
Maria A MaletJapanAmy Elsner PROPOSAL
James D NestleUnited KingdomAnna Fali NEGOTIATION
Aika G PerinItalyBernardo Dominic QUALIFIED
Maisha N BowleyRussiaElwin Sharvill PROPOSAL
Maisha F ShinkoJapanIoni Bowcher UNQUALIFIED
David F AmigonCanadaAmy Elsner NEW
Antonio Z OldroydFranceElwin Sharvill NEGOTIATION
Leja H RulapaughItalyAmy Elsner QUALIFIED
Maria K BowleyGermanyBernardo Dominic QUALIFIED
Jones J FollerJapanAnna Fali RENEWAL
Tony Q MaletUnited KingdomAsiya Javayant QUALIFIED
Tony A GlickJapanXuxue Feng NEGOTIATION
Wickens Q ShinkoUnited KingdomIvan Magalhaes UNQUALIFIED
Tony O PoquetteIndiaElwin Sharvill UNQUALIFIED
Maria C PerinRussiaIvan Magalhaes NEW
Aditya P TollnerRussiaIoni Bowcher QUALIFIED
Adams B MaletArgentinaStephen Shaw PROPOSAL
David L CaldareraUnited KingdomStephen Shaw RENEWAL
Jeanfrancois R DilliardGermanyIvan Magalhaes PROPOSAL
Johnson Y AmigonCanadaAsiya Javayant NEW
Francesco B ButtItalyBernardo Dominic NEW
Jones L DoeBrazilIoni Bowcher PROPOSAL
Wickens O GarufiGermanyIoni Bowcher UNQUALIFIED
Sinclair V GarufiIndiaAsiya Javayant QUALIFIED
Johnson D DilliardItalyOnyama Limba QUALIFIED
Wickens B RimIndiaAmy Elsner RENEWAL
Smith T FollerJapanAnna Fali QUALIFIED
Francesco P AmigonFranceIvan Magalhaes NEW
Jefferson W CaudyGermanyStephen Shaw PROPOSAL
Costa G GillianCanadaElwin Sharvill NEW
Morrow E GillianJapanAnna Fali NEW
Jennifer Y BriddickIndiaAsiya Javayant RENEWAL
Ashley C OstroskyFranceStephen Shaw NEW
Isabel V MacleadUnited KingdomIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Stacey E Royster
Ivar Z Morasca
Nicolas B Poquette
Aika T Inouye
Ashley P Oldroyd
Jones F Sergi
Isabel I Dilliard
Tony D Caldarera
Francesco R Royster
Misaki C Wieser
Sinclair G Whobrey
Greenwood S Kusko
Nicolas K Inouye
Chavez W Ruta
Aika L Sergi
Aika L Perin
Johnson G Perin
Antonio H Butt
Adams Z Glick
Costa Y Kolmetz
Alejandro O Darakjy
Cody Z Waycott
Misaki S Malet
Francesco H Whobrey
Leon D Nestle
Morrow H Stockham
Izzy L Kusko
Isabel O Butt
Octavia Q Amigon
Isabel O Tollner
Jones F Stenseth
Chavez E Venere
Salvatore S Caldarera
Jones A Oldroyd
Julie Y Whobrey
Francesco K Albares
Costa I Oldroyd
Claire A Sergi
Isabel E Flosi
Johnson C Malet
Aika B Schemmer
Morrow Q Saylors
Ashley X Garufi
Chavez C Oldroyd
Isabel W Malet
Greenwood U Butt
Jones S Gillian
Murillo V Tollner
Leja S Vocelka
James N Morasca
IdCountryDate
1000Japan2024-06-16
1001Russia2024-06-04
1002Canada2024-06-02
1003India2024-06-07
1004Russia2024-06-12
1005Germany2024-05-22
1006Italy2024-06-12
1007Brazil2024-05-29
1008Spain2024-06-02
1009United Kingdom2024-05-24
1010Russia2024-06-07
1011Brazil2024-05-25
1012Australia2024-05-31
1013Brazil2024-05-29
1014United Kingdom2024-05-20
1015Argentina2024-06-07
1016Germany2024-05-25
1017Argentina2024-06-15
1018United Kingdom2024-06-08
1019India2024-05-22
1020Russia2024-06-14
1021Japan2024-06-01
1022United Kingdom2024-05-19
1023Germany2024-05-31
1024Germany2024-06-03
1025Japan2024-05-18
1026Canada2024-06-02
1027Canada2024-06-02
1028Brazil2024-05-19
1029Spain2024-06-13
1030United Kingdom2024-05-21
1031Italy2024-06-08
1032Italy2024-06-04
1033United Kingdom2024-06-14
1034United Kingdom2024-05-30
1035Japan2024-06-03
1036Italy2024-06-09
1037Argentina2024-06-03
1038India2024-05-28
1039India2024-06-01
1040Australia2024-05-30
1041Argentina2024-05-21
1042Brazil2024-06-11
1043Australia2024-05-23
1044France2024-06-16
1045Canada2024-06-02
1046Brazil2024-06-05
1047Brazil2024-05-27
1048Australia2024-05-29
1049Italy2024-05-18

On-Demand Data

NameIdCountryDate
Kadeem B Kusko1000Spain2024-05-21
Jefferson V Chui1001Italy2024-05-19
Leja K Chui1002Japan2024-06-03
Juan B Briddick1003Russia2024-05-25
Morrow X Dilliard1004India2024-05-21
Adams P Stockham1005United Kingdom2024-05-30
David G Butt1006Japan2024-06-04
Aika K Flosi1007Japan2024-05-30
Jennifer E Ruta1008Japan2024-06-09
Francesco Q Butt1009Australia2024-06-03
Aruna X Poquette1010Australia2024-05-18
Murillo A Caudy1011Russia2024-05-22
Ivar X Inouye1012United Kingdom2024-06-01
Smith C Gaucho1013United Kingdom2024-06-05
Faith B Ferencz1014Russia2024-06-12
Leon Q Foller1015United Kingdom2024-05-20
James N Paprocki1016Brazil2024-06-04
Aditya U Rulapaugh1017Germany2024-06-15
Chavez P Nestle1018United Kingdom2024-06-02
Kadeem Y Tollner1019Argentina2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore M KuskoArgentinaAmy Elsner QUALIFIED
Jefferson S IturbideRussiaAsiya Javayant NEGOTIATION
Leja A CaudyGermanyStephen Shaw QUALIFIED
Jennifer I GillianSpainAnna Fali RENEWAL
Jefferson G ChuiCanadaStephen Shaw PROPOSAL
Clifford Q OldroydArgentinaIoni Bowcher QUALIFIED
Jefferson C ShinkoAustraliaAsiya Javayant NEW
Izzy O AlbaresCanadaAnna Fali UNQUALIFIED
James U CaldareraUnited KingdomBernardo Dominic QUALIFIED
Rodrigues M PoquetteCanadaAsiya Javayant PROPOSAL
Francesco I FerenczRussiaAsiya Javayant UNQUALIFIED
Jennifer U InouyeAustraliaOnyama Limba RENEWAL
Jefferson Q PoquetteAustraliaElwin Sharvill NEGOTIATION
Clifford T CampainRussiaIoni Bowcher UNQUALIFIED
Kaitlin F MarrierJapanXuxue Feng NEW
Kaitlin X PoquetteIndiaIoni Bowcher PROPOSAL
Mayumi V BowleyItalyAnna Fali PROPOSAL
Tony E SchemmerUnited KingdomAsiya Javayant UNQUALIFIED
Antonio W SaylorsUnited KingdomElwin Sharvill NEGOTIATION
Ashley H CaudyCanadaElwin Sharvill NEGOTIATION
Stacey E BriddickGermanyAnna Fali PROPOSAL
Mujtaba I BowleyGermanyElwin Sharvill RENEWAL
Isabel H FigeroaGermanyBernardo Dominic QUALIFIED
Leon M PoquetteBrazilOnyama Limba QUALIFIED
Silvio P FerenczBrazilIvan Magalhaes NEW
Mujtaba B NestleCanadaAsiya Javayant NEGOTIATION
Wickens H IturbideAustraliaOnyama Limba PROPOSAL
Cody C OstroskyCanadaStephen Shaw NEGOTIATION
Aruna M StensethFranceIoni Bowcher QUALIFIED
Jones E GarufiRussiaIoni Bowcher PROPOSAL
Kaitlin O WaycottGermanyOnyama Limba QUALIFIED
Leon C SaylorsAustraliaXuxue Feng NEGOTIATION
Nicolas Z AlbaresBrazilAsiya Javayant UNQUALIFIED
Alejandro Q GauchoUnited KingdomBernardo Dominic PROPOSAL
Greenwood G OldroydCanadaBernardo Dominic QUALIFIED
Ricardo V WhobreyRussiaAnna Fali RENEWAL
Jeanfrancois X GlickGermanyIvan Magalhaes UNQUALIFIED
Aditya U RutaFranceStephen Shaw PROPOSAL
Maisha T ChuiItalyAmy Elsner UNQUALIFIED
Faith G PaprockiBrazilBernardo Dominic 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>