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
Rodrigues S ButtBrazilElwin Sharvill NEGOTIATION
Mujtaba K KolmetzRussiaAmy Elsner PROPOSAL
Juan G AlbaresUnited KingdomOnyama Limba RENEWAL
Claire V DilliardIndiaAmy Elsner QUALIFIED
Antonio G VenereAustraliaIoni Bowcher RENEWAL
Julie Y PerinIndiaElwin Sharvill NEW
Chavez A CampainGermanyAsiya Javayant NEW
Kaitlin Z FerenczJapanElwin Sharvill RENEWAL
Greenwood P RulapaughArgentinaOnyama Limba PROPOSAL
Emily O GlickIndiaAmy Elsner QUALIFIED
Nicolas P FigeroaFranceAnna Fali RENEWAL
Costa B TollnerGermanyElwin Sharvill QUALIFIED
Misaki T MorascaAustraliaStephen Shaw NEGOTIATION
Leon E SaylorsGermanyBernardo Dominic PROPOSAL
Antonio Q WaycottRussiaBernardo Dominic NEGOTIATION
Ashley X RoysterCanadaAmy Elsner NEW
Nicolas G PaprockiJapanIvan Magalhaes NEGOTIATION
Izzy S MorascaSpainAnna Fali QUALIFIED
Ashley T NickaBrazilAsiya Javayant UNQUALIFIED
Aditya Y ShinkoJapanAmy Elsner UNQUALIFIED
Francesco J MaletFranceAmy Elsner NEGOTIATION
Leja U SlusarskiArgentinaOnyama Limba NEGOTIATION
Johnson S CaudyCanadaElwin Sharvill QUALIFIED
Munro V DoeRussiaOnyama Limba RENEWAL
Deepesh Z TollnerArgentinaBernardo Dominic NEGOTIATION
David B OstroskyJapanOnyama Limba RENEWAL
Octavia I NestleSpainXuxue Feng QUALIFIED
Nicolas T RutaItalyAmy Elsner UNQUALIFIED
Stacey Y FlosiJapanIoni Bowcher RENEWAL
David U IturbideItalyIvan Magalhaes PROPOSAL
Stacey H VenereBrazilStephen Shaw RENEWAL
Chavez X RutaFranceOnyama Limba RENEWAL
Greenwood N PerinUnited KingdomOnyama Limba PROPOSAL
Julie I WieserCanadaBernardo Dominic UNQUALIFIED
Murillo C InouyeArgentinaIvan Magalhaes RENEWAL
Nicolas O BologniaSpainAsiya Javayant NEGOTIATION
Morrow F GillianArgentinaOnyama Limba QUALIFIED
Julie F KolmetzGermanyAnna Fali UNQUALIFIED
Antonio G WaycottUnited KingdomStephen Shaw NEW
Aditya C KuskoRussiaBernardo Dominic NEW
Aruna S SergiRussiaXuxue Feng NEW
Jones B VocelkaGermanyAsiya Javayant QUALIFIED
Smith J CaldareraItalyElwin Sharvill NEW
Misaki I WaycottItalyIvan Magalhaes NEGOTIATION
Rodrigues I DarakjyUnited KingdomStephen Shaw PROPOSAL
Misaki W WhobreySpainElwin Sharvill RENEWAL
Maisha X GauchoAustraliaAmy Elsner QUALIFIED
Maria Z MarrierItalyAmy Elsner NEGOTIATION
David L MaletRussiaIoni Bowcher QUALIFIED
Isabel I BologniaIndiaAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Aika B MaletArgentinaIvan Magalhaes PROPOSAL
Costa T ShinkoJapanAsiya Javayant RENEWAL
Cody S IturbideAustraliaIvan Magalhaes RENEWAL
Wickens K GillianUnited KingdomBernardo Dominic QUALIFIED
Clifford M IturbideSpainAmy Elsner RENEWAL
Salvatore D StensethAustraliaBernardo Dominic PROPOSAL
Stacey X SaylorsBrazilIvan Magalhaes NEGOTIATION
Leon X AmigonGermanyAnna Fali UNQUALIFIED
Leon M BologniaFranceElwin Sharvill NEW
Salvatore D VenereIndiaAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois J VocelkaBrazil2024-06-21Printing Dimensions QUALIFIED44Ioni Bowcher
1001Francesco X MacleadUnited Kingdom2024-06-18Truhlar And Truhlar Attys UNQUALIFIED16Elwin Sharvill
1002James S GlickUnited Kingdom2024-05-27Feiner Bros RENEWAL62Ioni Bowcher
1003Sinclair H ChuiCanada2024-05-24Dorl, James J Esq NEGOTIATION23Ioni Bowcher
1004Wickens C GauchoGermany2024-06-01Feiner Bros UNQUALIFIED49Stephen Shaw
1005Adams U RimCanada2024-05-30Printing Dimensions NEW15Anna Fali
1006Clifford T BologniaUnited Kingdom2024-06-19Feiner Bros UNQUALIFIED31Ivan Magalhaes
1007Mujtaba E MaletArgentina2024-06-15Chanay, Jeffrey A Esq QUALIFIED81Asiya Javayant
1008Wickens A GillianBrazil2024-06-21Benton, John B Jr NEW25Ioni Bowcher
1009Misaki Y GillianAustralia2024-05-29Dorl, James J Esq NEGOTIATION2Elwin Sharvill
1010Alejandro L MaletIndia2024-06-13Chapman, Ross E Esq QUALIFIED84Elwin Sharvill
1011Rodrigues V RutaGermany2024-05-26King, Christopher A Esq UNQUALIFIED28Stephen Shaw
1012Juan J RoysterSpain2024-05-25King, Christopher A Esq QUALIFIED38Xuxue Feng
1013Wickens W CaldareraAustralia2024-05-24Morlong Associates NEW9Onyama Limba
1014Claire Q DarakjyJapan2024-06-16Printing Dimensions UNQUALIFIED78Xuxue Feng
1015Smith T OldroydCanada2024-06-01Feltz Printing Service PROPOSAL52Elwin Sharvill
1016Arvin B FigeroaFrance2024-06-06Chanay, Jeffrey A Esq NEW69Xuxue Feng
1017Julie V FigeroaAustralia2024-06-16Printing Dimensions UNQUALIFIED21Bernardo Dominic
1018Rodrigues F SlusarskiArgentina2024-06-09Chapman, Ross E Esq PROPOSAL44Ivan Magalhaes
1019Tony V OstroskyBrazil2024-06-05Commercial Press NEGOTIATION12Bernardo Dominic
1020Jeanfrancois H RoysterBrazil2024-06-15Dorl, James J Esq NEGOTIATION49Onyama Limba
1021Murillo E ButtJapan2024-05-24Benton, John B Jr PROPOSAL49Ivan Magalhaes
1022Jeanfrancois Z FerenczCanada2024-06-06Dorl, James J Esq UNQUALIFIED34Anna Fali
1023Johnson H WaycottIndia2024-06-09Commercial Press RENEWAL0Anna Fali
1024Ricardo H CaldareraCanada2024-06-08Rangoni Of Florence QUALIFIED7Xuxue Feng
1025Aditya S ShinkoJapan2024-06-02Morlong Associates QUALIFIED13Ivan Magalhaes
1026James B InouyeFrance2024-06-19Morlong Associates RENEWAL78Anna Fali
1027James E GauchoItaly2024-05-29Rousseaux, Michael Esq PROPOSAL17Elwin Sharvill
1028Faith G StensethArgentina2024-06-21Rangoni Of Florence PROPOSAL95Stephen Shaw
1029Morrow C FollerJapan2024-06-13Rangoni Of Florence NEGOTIATION46Ivan Magalhaes
1030Wickens C BologniaFrance2024-05-31Feiner Bros UNQUALIFIED54Elwin Sharvill
1031Faith A PerinUnited Kingdom2024-06-21Printing Dimensions QUALIFIED90Xuxue Feng
1032Jefferson N MorascaJapan2024-05-29Chapman, Ross E Esq UNQUALIFIED20Xuxue Feng
1033Aditya J VocelkaGermany2024-06-16Chanay, Jeffrey A Esq PROPOSAL90Elwin Sharvill
1034Ashley O OstroskyItaly2024-06-21Feiner Bros PROPOSAL38Ivan Magalhaes
1035Mujtaba D OstroskyFrance2024-06-13Buckley Miller Wright RENEWAL67Bernardo Dominic
1036David V GarufiItaly2024-05-27Commercial Press PROPOSAL59Onyama Limba
1037Leja A SergiAustralia2024-05-26Rangoni Of Florence NEGOTIATION6Xuxue Feng
1038Aika G CaudyIndia2024-06-05Commercial Press NEGOTIATION15Ioni Bowcher
1039Claire E SchemmerAustralia2024-05-28Truhlar And Truhlar Attys PROPOSAL66Anna Fali
1040Tony I RulapaughCanada2024-05-24Rousseaux, Michael Esq UNQUALIFIED51Stephen Shaw
1041Julie J MarrierItaly2024-06-11Chanay, Jeffrey A Esq NEW62Stephen Shaw
1042Salvatore Q WieserBrazil2024-05-28Feltz Printing Service NEGOTIATION23Elwin Sharvill
1043Misaki P FigeroaItaly2024-06-15Rousseaux, Michael Esq RENEWAL82Asiya Javayant
1044Nicolas H PaprockiBrazil2024-06-01Buckley Miller Wright PROPOSAL21Ioni Bowcher
1045Darci B WaycottItaly2024-05-28Feiner Bros UNQUALIFIED68Amy Elsner
1046Misaki M ButtArgentina2024-06-09Chapman, Ross E Esq NEW67Amy Elsner
1047Costa E IturbideCanada2024-06-01Rousseaux, Michael Esq UNQUALIFIED51Elwin Sharvill
1048Tony Z BologniaIndia2024-06-03Dorl, James J Esq RENEWAL41Asiya Javayant
1049Aditya T ShinkoGermany2024-06-14Commercial Press PROPOSAL81Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Silvio Y RimItalyElwin Sharvill PROPOSAL
Smith V BriddickIndiaOnyama Limba QUALIFIED
Jennifer C CampainIndiaIvan Magalhaes PROPOSAL
Leon V SlusarskiFranceIvan Magalhaes NEGOTIATION
Maria F NickaArgentinaIoni Bowcher RENEWAL
Greenwood L ButtAustraliaStephen Shaw QUALIFIED
Julie S IturbideJapanAsiya Javayant NEW
Silvio H GarufiIndiaBernardo Dominic RENEWAL
Jennifer S AlbaresJapanIvan Magalhaes PROPOSAL
Greenwood N WhobreySpainAmy Elsner UNQUALIFIED
Ricardo M RulapaughCanadaXuxue Feng UNQUALIFIED
Misaki Y PaprockiGermanyXuxue Feng PROPOSAL
Silvio V AlbaresCanadaIvan Magalhaes UNQUALIFIED
Stacey G ButtCanadaBernardo Dominic QUALIFIED
Misaki L OstroskyJapanBernardo Dominic UNQUALIFIED
Kadeem L RulapaughIndiaXuxue Feng NEW
Octavia Q MaletUnited KingdomAsiya Javayant NEGOTIATION
David Y MaletCanadaElwin Sharvill PROPOSAL
David D AlbaresRussiaIoni Bowcher NEW
Leja U RimCanadaXuxue Feng NEGOTIATION
Misaki B SchemmerFranceAsiya Javayant NEW
Ashley E MarrierCanadaOnyama Limba RENEWAL
Octavia V InouyeJapanIvan Magalhaes NEGOTIATION
Adams C MarrierCanadaXuxue Feng PROPOSAL
Mujtaba J MarrierUnited KingdomAsiya Javayant NEGOTIATION
Morrow K AmigonUnited KingdomAsiya Javayant QUALIFIED
Emily B NestleArgentinaIoni Bowcher QUALIFIED
Clifford W VenereSpainBernardo Dominic PROPOSAL
Isabel L NestleCanadaXuxue Feng PROPOSAL
Aruna C RimJapanElwin Sharvill RENEWAL
Leja S IturbideArgentinaAsiya Javayant NEW
Misaki B FlosiGermanyIvan Magalhaes PROPOSAL
Izzy K GauchoRussiaAmy Elsner PROPOSAL
Claire N NickaAustraliaAsiya Javayant NEGOTIATION
Ricardo Z NestleUnited KingdomIvan Magalhaes NEW
Chavez P WaycottFranceAmy Elsner NEGOTIATION
Greenwood Y FigeroaRussiaOnyama Limba QUALIFIED
Greenwood Z RoysterJapanXuxue Feng QUALIFIED
Juan V FlosiGermanyOnyama Limba NEGOTIATION
Greenwood P RutaGermanyBernardo Dominic RENEWAL
Aruna I RoysterFranceOnyama Limba UNQUALIFIED
Leja Q FigeroaBrazilAmy Elsner QUALIFIED
Francesco P AmigonAustraliaOnyama Limba QUALIFIED
Jones O RoysterGermanyIvan Magalhaes RENEWAL
Clifford G BowleyFranceAsiya Javayant QUALIFIED
Greenwood L WhobreyFranceElwin Sharvill RENEWAL
Antonio S AmigonGermanyElwin Sharvill NEW
Kadeem S RulapaughGermanyXuxue Feng NEGOTIATION
Stacey X VenereArgentinaOnyama Limba NEGOTIATION
Johnson O RutaIndiaElwin Sharvill PROPOSAL
Frozen Columns
Name
Deepesh R Flosi
Adams B Whobrey
Isabel V Marrier
Sinclair T Iturbide
Tony I Poquette
Maisha Y Royster
Nicolas P Perin
Mayumi N Malet
Cody Y Bowley
Alejandro H Rulapaugh
Morrow P Shinko
Nicolas J Sergi
Antonio M Campain
Tony W Marrier
Octavia C Bowley
Chavez O Stockham
Tony W Inouye
Clifford G Whobrey
Munro S Morasca
Murillo L Ostrosky
Julie R Shinko
Arvin G Bolognia
Izzy I Glick
Costa G Nestle
Darci K Butt
Darci M Darakjy
Munro X Doe
Munro M Nestle
Johnson O Slusarski
Leja K Briddick
Faith D Bowley
Tony U Venere
Kaitlin T Glick
Greenwood O Whobrey
Nicolas H Sergi
Juan O Morasca
Isabel V Stenseth
Ricardo L Saylors
Cody U Chui
Jennifer Y Iturbide
Darci X Saylors
Maria B Whobrey
Mayumi C Figeroa
Stacey Y Kolmetz
Stacey T Bowley
Costa E Stockham
Kaitlin S Foller
Jones K Shinko
Jefferson R Paprocki
Aruna O Figeroa
IdCountryDate
1000Italy2024-05-25
1001Russia2024-06-09
1002Italy2024-06-22
1003Italy2024-05-27
1004Australia2024-06-15
1005India2024-06-15
1006Russia2024-06-15
1007Brazil2024-06-15
1008Australia2024-06-12
1009Argentina2024-06-01
1010United Kingdom2024-06-09
1011Argentina2024-06-22
1012Argentina2024-06-03
1013France2024-06-21
1014Japan2024-06-08
1015Germany2024-06-04
1016Australia2024-06-22
1017United Kingdom2024-05-28
1018France2024-06-01
1019Germany2024-06-05
1020United Kingdom2024-06-10
1021Argentina2024-06-07
1022India2024-06-12
1023Japan2024-06-16
1024United Kingdom2024-05-24
1025Germany2024-05-24
1026India2024-06-13
1027Germany2024-06-21
1028Russia2024-05-25
1029Germany2024-06-12
1030Germany2024-06-19
1031Argentina2024-06-21
1032Japan2024-06-04
1033Italy2024-06-01
1034Canada2024-06-09
1035Australia2024-05-25
1036India2024-06-21
1037Italy2024-06-22
1038Germany2024-06-01
1039Brazil2024-06-12
1040Australia2024-06-09
1041Germany2024-06-16
1042Brazil2024-06-15
1043Argentina2024-06-16
1044United Kingdom2024-06-13
1045Japan2024-06-08
1046Canada2024-06-01
1047France2024-06-17
1048Spain2024-06-06
1049Australia2024-05-29

On-Demand Data

NameIdCountryDate
Aika L Campain1000India2024-06-15
Adams T Foller1001Australia2024-05-25
Tony C Oldroyd1002Japan2024-06-18
Aika U Iturbide1003Spain2024-05-28
Deepesh W Oldroyd1004Australia2024-06-01
Cody T Waycott1005Spain2024-06-18
Faith G Poquette1006Spain2024-06-02
Ivar D Gillian1007Australia2024-06-21
Aruna T Caudy1008Canada2024-06-10
Clifford L Vocelka1009Brazil2024-06-12
Maisha B Bolognia1010France2024-06-03
Alejandro D Malet1011United Kingdom2024-05-27
Stacey M Stockham1012India2024-06-09
Clifford O Marrier1013United Kingdom2024-06-04
David E Slusarski1014Germany2024-05-28
Izzy X Shinko1015Australia2024-06-03
Costa Y Rulapaugh1016Russia2024-06-01
Rodrigues T Royster1017United Kingdom2024-06-16
Francesco A Oldroyd1018India2024-06-04
Misaki R Poquette1019Australia2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith R BowleyIndiaAnna Fali PROPOSAL
Jefferson T CaudyGermanyBernardo Dominic PROPOSAL
Ricardo M InouyeJapanAnna Fali QUALIFIED
Juan O IturbideJapanIoni Bowcher NEGOTIATION
Aditya D GlickCanadaAsiya Javayant RENEWAL
Alejandro H BowleyItalyIoni Bowcher PROPOSAL
Antonio S SergiUnited KingdomAnna Fali NEW
Jeanfrancois B CampainFranceAmy Elsner QUALIFIED
Nicolas P SergiJapanAsiya Javayant QUALIFIED
Aika H SchemmerRussiaBernardo Dominic NEGOTIATION
Cody Q BologniaIndiaAmy Elsner UNQUALIFIED
Rodrigues M RutaAustraliaAnna Fali PROPOSAL
Aditya Q RoysterItalyXuxue Feng NEGOTIATION
Kaitlin T SergiSpainXuxue Feng PROPOSAL
Leja T SaylorsIndiaElwin Sharvill NEW
Jeanfrancois Q AmigonSpainElwin Sharvill UNQUALIFIED
Johnson A NestleGermanyIvan Magalhaes RENEWAL
Aditya Z FollerSpainStephen Shaw PROPOSAL
Maria R StensethBrazilIvan Magalhaes PROPOSAL
Ashley V NestleCanadaStephen Shaw RENEWAL
Isabel N FigeroaFranceIvan Magalhaes UNQUALIFIED
Jefferson W OldroydUnited KingdomXuxue Feng RENEWAL
Stacey X InouyeFranceIoni Bowcher PROPOSAL
Darci D SlusarskiIndiaAnna Fali UNQUALIFIED
Kadeem D MaletUnited KingdomStephen Shaw RENEWAL
Misaki V CaudySpainElwin Sharvill NEGOTIATION
Mujtaba I ChuiItalyIvan Magalhaes NEGOTIATION
Kadeem H KolmetzArgentinaElwin Sharvill UNQUALIFIED
Salvatore O FlosiFranceXuxue Feng NEW
Julie M BowleyRussiaXuxue Feng RENEWAL
Leon B StensethRussiaElwin Sharvill NEW
Tony F WaycottUnited KingdomBernardo Dominic QUALIFIED
Arvin I FigeroaGermanyAsiya Javayant NEGOTIATION
Smith W NickaItalyIoni Bowcher QUALIFIED
Jones F DilliardItalyXuxue Feng NEGOTIATION
Aditya Q NickaRussiaBernardo Dominic NEGOTIATION
Adams O FlosiGermanyIoni Bowcher NEW
David U OstroskyJapanAmy Elsner NEW
Arvin W DilliardUnited KingdomIvan Magalhaes UNQUALIFIED
Octavia Y BowleyAustraliaAnna Fali 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>