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
Maisha S GillianAustraliaAmy Elsner NEW
Kadeem U RutaAustraliaAsiya Javayant RENEWAL
Arvin B FollerIndiaIvan Magalhaes NEW
Faith S KuskoCanadaIvan Magalhaes UNQUALIFIED
Jones W KuskoCanadaStephen Shaw NEGOTIATION
Greenwood M GarufiJapanOnyama Limba UNQUALIFIED
Isabel B FigeroaJapanAsiya Javayant RENEWAL
Jeanfrancois D FigeroaBrazilIoni Bowcher RENEWAL
Maria J WhobreyIndiaIvan Magalhaes RENEWAL
Sinclair A SergiArgentinaIoni Bowcher NEW
Sinclair Q ShinkoArgentinaAmy Elsner NEW
Kadeem C OstroskyUnited KingdomBernardo Dominic NEW
Misaki B KolmetzBrazilAnna Fali NEW
Jones D BologniaSpainAsiya Javayant PROPOSAL
Julie J SaylorsIndiaElwin Sharvill UNQUALIFIED
Silvio G FigeroaGermanyIvan Magalhaes RENEWAL
Chavez Y ButtRussiaXuxue Feng RENEWAL
Izzy U MaletSpainAsiya Javayant PROPOSAL
Cody T ChuiCanadaAsiya Javayant RENEWAL
Clifford P SchemmerUnited KingdomAsiya Javayant QUALIFIED
Juan U DilliardGermanyIvan Magalhaes PROPOSAL
Maria B ShinkoUnited KingdomIoni Bowcher UNQUALIFIED
Greenwood L SergiGermanyElwin Sharvill PROPOSAL
Jennifer F AmigonItalyOnyama Limba PROPOSAL
Salvatore K CampainUnited KingdomIoni Bowcher UNQUALIFIED
Jones W WhobreyFranceOnyama Limba NEW
Ivar Y AmigonIndiaIvan Magalhaes RENEWAL
Munro G MacleadGermanyAmy Elsner UNQUALIFIED
Isabel E AmigonFranceStephen Shaw NEGOTIATION
James I ShinkoBrazilAsiya Javayant NEGOTIATION
Arvin Z RoysterArgentinaElwin Sharvill UNQUALIFIED
Salvatore U VenereItalyAsiya Javayant RENEWAL
Aika Z RimUnited KingdomOnyama Limba UNQUALIFIED
Deepesh K BriddickCanadaXuxue Feng RENEWAL
Darci E OldroydCanadaBernardo Dominic QUALIFIED
Jones U GillianItalyElwin Sharvill NEGOTIATION
Aditya S MarrierGermanyAmy Elsner PROPOSAL
Emily U OldroydUnited KingdomXuxue Feng PROPOSAL
Murillo O GauchoSpainAmy Elsner PROPOSAL
Antonio V ShinkoUnited KingdomStephen Shaw QUALIFIED
Kadeem A BowleySpainXuxue Feng NEW
Jefferson H StensethUnited KingdomOnyama Limba PROPOSAL
Juan L RoysterRussiaOnyama Limba NEGOTIATION
Mayumi I RutaUnited KingdomAsiya Javayant NEW
Ashley K CampainAustraliaXuxue Feng QUALIFIED
Juan A OstroskyUnited KingdomXuxue Feng QUALIFIED
Arvin K RutaBrazilElwin Sharvill NEGOTIATION
Kaitlin F OldroydBrazilXuxue Feng UNQUALIFIED
Silvio R DarakjyFranceOnyama Limba PROPOSAL
James T OstroskyRussiaAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Ivar N DoeIndiaXuxue Feng UNQUALIFIED
Aruna J InouyeFranceElwin Sharvill NEGOTIATION
Ivar J ShinkoAustraliaBernardo Dominic NEGOTIATION
Stacey F StockhamItalyAmy Elsner NEGOTIATION
Kadeem G GarufiIndiaOnyama Limba QUALIFIED
Claire I KuskoFranceIvan Magalhaes QUALIFIED
Ivar B MaletItalyElwin Sharvill UNQUALIFIED
Kaitlin P KuskoCanadaAmy Elsner UNQUALIFIED
Silvio X SergiItalyElwin Sharvill NEGOTIATION
Antonio A NickaUnited KingdomElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro H VocelkaGermany2024-06-16Dorl, James J Esq UNQUALIFIED13Stephen Shaw
1001Izzy W CaldareraFrance2024-06-05Feiner Bros RENEWAL39Onyama Limba
1002Stacey G CampainJapan2024-06-06Morlong Associates QUALIFIED38Ioni Bowcher
1003Jones O RimArgentina2024-06-21Truhlar And Truhlar Attys PROPOSAL61Elwin Sharvill
1004Kadeem Y OstroskyArgentina2024-06-19King, Christopher A Esq UNQUALIFIED96Amy Elsner
1005Jeanfrancois I MacleadFrance2024-05-26Chapman, Ross E Esq UNQUALIFIED27Onyama Limba
1006Greenwood P StensethArgentina2024-06-04Commercial Press NEW50Stephen Shaw
1007Antonio Z AlbaresBrazil2024-05-23Morlong Associates NEGOTIATION74Amy Elsner
1008Wickens M SchemmerJapan2024-06-16Chemel, James L Cpa PROPOSAL98Ioni Bowcher
1009Alejandro Y StockhamAustralia2024-06-17Printing Dimensions NEGOTIATION64Anna Fali
1010Octavia V InouyeArgentina2024-06-04Rousseaux, Michael Esq PROPOSAL40Xuxue Feng
1011Maria L AlbaresItaly2024-06-15Buckley Miller Wright QUALIFIED71Elwin Sharvill
1012Rodrigues R SlusarskiAustralia2024-06-12Benton, John B Jr NEW10Amy Elsner
1013Wickens N SlusarskiFrance2024-06-17Buckley Miller Wright PROPOSAL20Xuxue Feng
1014Octavia Y SlusarskiFrance2024-05-26Buckley Miller Wright QUALIFIED54Xuxue Feng
1015Arvin A NickaIndia2024-06-12Buckley Miller Wright QUALIFIED80Ivan Magalhaes
1016Arvin E BowleySpain2024-06-07Truhlar And Truhlar Attys UNQUALIFIED44Ioni Bowcher
1017James O FlosiUnited Kingdom2024-06-04Chanay, Jeffrey A Esq PROPOSAL78Ivan Magalhaes
1018Mayumi I ShinkoGermany2024-05-28Chanay, Jeffrey A Esq UNQUALIFIED55Asiya Javayant
1019Ivar H KolmetzBrazil2024-05-24Chapman, Ross E Esq UNQUALIFIED90Amy Elsner
1020Silvio X GlickRussia2024-05-23Chanay, Jeffrey A Esq RENEWAL8Anna Fali
1021Mayumi Z BriddickAustralia2024-06-02Buckley Miller Wright QUALIFIED29Stephen Shaw
1022Chavez L InouyeUnited Kingdom2024-06-10Chanay, Jeffrey A Esq NEGOTIATION32Xuxue Feng
1023Sinclair W KuskoSpain2024-05-30Dorl, James J Esq QUALIFIED18Onyama Limba
1024Mayumi W WhobreyUnited Kingdom2024-06-19Commercial Press NEW35Anna Fali
1025Adams G MacleadCanada2024-06-20Chapman, Ross E Esq RENEWAL94Elwin Sharvill
1026Darci Q ShinkoRussia2024-05-24Morlong Associates PROPOSAL36Xuxue Feng
1027Izzy O FigeroaBrazil2024-06-04Commercial Press RENEWAL41Ivan Magalhaes
1028Rodrigues N PaprockiBrazil2024-06-03Rousseaux, Michael Esq QUALIFIED0Ivan Magalhaes
1029Faith J BowleyRussia2024-05-27Chemel, James L Cpa UNQUALIFIED55Bernardo Dominic
1030Izzy B BriddickRussia2024-06-17Printing Dimensions QUALIFIED65Amy Elsner
1031Francesco P ChuiIndia2024-06-03Buckley Miller Wright NEGOTIATION78Amy Elsner
1032Jeanfrancois S RulapaughItaly2024-06-14Truhlar And Truhlar Attys PROPOSAL48Asiya Javayant
1033Julie G GlickRussia2024-05-28Feltz Printing Service NEGOTIATION36Amy Elsner
1034Ashley W BologniaAustralia2024-06-02Morlong Associates QUALIFIED42Amy Elsner
1035Jennifer G SergiCanada2024-06-02Buckley Miller Wright PROPOSAL38Stephen Shaw
1036Cody R PerinBrazil2024-05-29Rousseaux, Michael Esq NEGOTIATION95Ioni Bowcher
1037Rodrigues U KolmetzIndia2024-06-17Dorl, James J Esq QUALIFIED86Onyama Limba
1038Juan D ShinkoAustralia2024-06-08Feltz Printing Service RENEWAL7Stephen Shaw
1039Morrow N OldroydAustralia2024-05-23Truhlar And Truhlar Attys RENEWAL52Xuxue Feng
1040Juan A IturbideAustralia2024-06-15Morlong Associates RENEWAL28Amy Elsner
1041Izzy Q RulapaughGermany2024-06-18Feltz Printing Service UNQUALIFIED58Anna Fali
1042Munro C CaldareraItaly2024-05-27Benton, John B Jr QUALIFIED29Xuxue Feng
1043Emily W BowleyIndia2024-05-25Rousseaux, Michael Esq RENEWAL69Ioni Bowcher
1044Jennifer P StockhamIndia2024-06-13Buckley Miller Wright QUALIFIED52Onyama Limba
1045Jones A MacleadJapan2024-06-20Chanay, Jeffrey A Esq NEGOTIATION80Onyama Limba
1046Faith O DarakjyRussia2024-05-31Feltz Printing Service RENEWAL63Xuxue Feng
1047Octavia G RulapaughItaly2024-05-29Chapman, Ross E Esq UNQUALIFIED8Asiya Javayant
1048Ricardo U MorascaIndia2024-06-14Chapman, Ross E Esq UNQUALIFIED91Stephen Shaw
1049Emily D IturbideGermany2024-05-24Commercial Press QUALIFIED15Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin V GauchoUnited KingdomIvan Magalhaes NEGOTIATION
Jefferson U SlusarskiCanadaAmy Elsner PROPOSAL
Jennifer U BriddickIndiaAsiya Javayant NEGOTIATION
David M ShinkoItalyAmy Elsner RENEWAL
Ivar K SergiFranceIoni Bowcher UNQUALIFIED
Nicolas J GauchoArgentinaIvan Magalhaes NEGOTIATION
Jeanfrancois G VenereJapanAnna Fali RENEWAL
Stacey R RulapaughRussiaIoni Bowcher NEGOTIATION
Kaitlin Y KuskoItalyXuxue Feng QUALIFIED
Ivar Z PoquetteFranceAsiya Javayant RENEWAL
Cody D PerinItalyIoni Bowcher QUALIFIED
Rodrigues Q PerinUnited KingdomOnyama Limba NEW
Murillo L RutaFranceOnyama Limba NEGOTIATION
Nicolas I MorascaGermanyOnyama Limba QUALIFIED
Darci Y SlusarskiUnited KingdomStephen Shaw RENEWAL
Jeanfrancois D WieserFranceIoni Bowcher RENEWAL
Alejandro I RulapaughSpainXuxue Feng RENEWAL
Emily P StensethGermanyStephen Shaw QUALIFIED
Johnson R AmigonGermanyIoni Bowcher RENEWAL
Izzy A NestleIndiaBernardo Dominic PROPOSAL
Smith C RulapaughAustraliaAnna Fali PROPOSAL
Munro D TollnerIndiaIoni Bowcher RENEWAL
Ashley X VenereBrazilAsiya Javayant NEGOTIATION
Emily O FigeroaBrazilStephen Shaw NEW
Faith F VocelkaIndiaXuxue Feng QUALIFIED
Julie W ShinkoAustraliaBernardo Dominic PROPOSAL
Kadeem H StockhamSpainOnyama Limba NEGOTIATION
Antonio A NickaItalyElwin Sharvill RENEWAL
Darci T DoeIndiaAnna Fali QUALIFIED
Morrow X StensethBrazilStephen Shaw NEW
Alejandro P FigeroaArgentinaElwin Sharvill NEGOTIATION
Jeanfrancois G TollnerArgentinaXuxue Feng PROPOSAL
Francesco G VenereJapanXuxue Feng QUALIFIED
Leon M StensethCanadaBernardo Dominic RENEWAL
Jeanfrancois T CaudyRussiaBernardo Dominic UNQUALIFIED
Julie B GauchoSpainAnna Fali NEW
Tony J MacleadItalyAnna Fali QUALIFIED
Ivar Z WaycottAustraliaAnna Fali PROPOSAL
Mujtaba Z CaldareraRussiaElwin Sharvill NEW
Misaki U OstroskyRussiaStephen Shaw NEW
Greenwood U OstroskyFranceIvan Magalhaes NEW
Johnson T RimJapanAsiya Javayant NEW
Octavia X ButtAustraliaOnyama Limba NEW
Salvatore A MacleadFranceOnyama Limba QUALIFIED
Smith O RutaCanadaIoni Bowcher UNQUALIFIED
Morrow S WieserAustraliaOnyama Limba RENEWAL
Silvio S GillianIndiaAsiya Javayant PROPOSAL
Aika C BriddickGermanyIvan Magalhaes QUALIFIED
Kadeem M MaletUnited KingdomElwin Sharvill RENEWAL
Emily N MacleadItalyIvan Magalhaes PROPOSAL
Frozen Columns
Name
Leja Y Shinko
Faith I Rim
Tony Q Malet
Silvio S Poquette
Octavia S Foller
Darci U Rim
Kadeem L Whobrey
Costa J Caudy
Maisha T Foller
Arvin G Malet
James S Sergi
Clifford R Malet
Maisha H Shinko
Julie N Bowley
Mayumi U Foller
Cody G Schemmer
Jeanfrancois S Royster
Emily V Ruta
Claire M Rim
Maria P Glick
Maisha Q Iturbide
Rodrigues Y Malet
Izzy U Glick
Isabel G Doe
Darci D Nicka
Clifford R Rulapaugh
Deepesh T Sergi
Chavez A Saylors
Leon G Shinko
Deepesh P Shinko
Morrow S Stenseth
Sinclair H Kusko
Octavia G Inouye
Adams O Ruta
Jennifer W Ferencz
Johnson Y Iturbide
Kadeem P Oldroyd
Isabel C Albares
Leon J Tollner
Jones M Nicka
Aditya R Oldroyd
David Z Nicka
Emily T Garufi
Kadeem Y Nestle
Sinclair W Gillian
Clifford R Paprocki
Leon R Kolmetz
Salvatore R Morasca
Tony X Amigon
Munro S Iturbide
IdCountryDate
1000India2024-06-04
1001France2024-06-02
1002India2024-06-18
1003Argentina2024-05-28
1004Italy2024-05-31
1005Australia2024-06-18
1006Germany2024-05-27
1007India2024-06-02
1008Japan2024-05-29
1009United Kingdom2024-06-05
1010Canada2024-06-17
1011Spain2024-06-13
1012Germany2024-06-11
1013Russia2024-06-19
1014France2024-06-17
1015Japan2024-06-01
1016Japan2024-05-24
1017Italy2024-05-31
1018Australia2024-06-13
1019Japan2024-06-13
1020Spain2024-06-14
1021Italy2024-05-25
1022Germany2024-06-04
1023Brazil2024-05-24
1024Argentina2024-05-30
1025India2024-05-29
1026India2024-05-29
1027Canada2024-06-13
1028United Kingdom2024-06-12
1029Brazil2024-06-15
1030India2024-05-29
1031Canada2024-05-31
1032Spain2024-05-30
1033Brazil2024-06-16
1034Brazil2024-06-12
1035Australia2024-06-09
1036Brazil2024-06-12
1037Japan2024-05-30
1038India2024-05-24
1039Italy2024-05-27
1040Canada2024-06-18
1041Argentina2024-06-15
1042Germany2024-05-26
1043Spain2024-06-11
1044Brazil2024-05-31
1045France2024-06-01
1046Canada2024-06-07
1047Australia2024-06-21
1048Russia2024-06-19
1049Brazil2024-06-10

On-Demand Data

NameIdCountryDate
Leja H Morasca1000Italy2024-06-12
Leon D Shinko1001Brazil2024-06-08
Octavia G Morasca1002United Kingdom2024-06-15
Aika S Shinko1003Russia2024-06-13
Ricardo L Kusko1004United Kingdom2024-06-16
Tony T Rim1005Germany2024-06-20
Johnson P Marrier1006India2024-05-25
Ivar S Iturbide1007Japan2024-06-11
Faith Y Shinko1008Germany2024-05-27
Kaitlin W Darakjy1009Italy2024-05-25
Stacey F Iturbide1010Italy2024-06-21
Antonio H Oldroyd1011Brazil2024-05-27
Stacey G Vocelka1012Russia2024-05-30
Darci C Caudy1013France2024-06-04
Smith T Nicka1014Brazil2024-06-04
Jennifer R Butt1015Japan2024-06-09
Julie G Amigon1016Germany2024-05-29
Juan P Dilliard1017India2024-06-18
Mayumi M Figeroa1018France2024-05-26
Aruna W Butt1019United Kingdom2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas P DilliardItalyBernardo Dominic NEGOTIATION
Morrow Z StockhamAustraliaXuxue Feng UNQUALIFIED
Mayumi P VenereJapanBernardo Dominic QUALIFIED
Antonio L WaycottArgentinaStephen Shaw PROPOSAL
Emily H WaycottJapanElwin Sharvill UNQUALIFIED
Sinclair N AlbaresBrazilStephen Shaw RENEWAL
Antonio G VenereGermanyIvan Magalhaes UNQUALIFIED
Johnson E ShinkoJapanStephen Shaw NEGOTIATION
Leon H WhobreyAustraliaIoni Bowcher NEGOTIATION
Rodrigues I AlbaresUnited KingdomIvan Magalhaes RENEWAL
Johnson O OldroydBrazilStephen Shaw NEGOTIATION
Darci Q DilliardItalyAnna Fali UNQUALIFIED
Greenwood D MaletSpainBernardo Dominic RENEWAL
Salvatore F DoeGermanyXuxue Feng NEW
Jones T PaprockiUnited KingdomStephen Shaw UNQUALIFIED
Rodrigues U FlosiGermanyAsiya Javayant NEW
Nicolas X DarakjyFranceXuxue Feng PROPOSAL
Ricardo Y SchemmerSpainXuxue Feng NEW
Jennifer P ChuiBrazilAnna Fali RENEWAL
Ricardo L SchemmerUnited KingdomElwin Sharvill RENEWAL
Wickens V DoeBrazilIoni Bowcher RENEWAL
Francesco K DilliardUnited KingdomXuxue Feng QUALIFIED
Claire Y RoysterBrazilIvan Magalhaes NEW
Antonio E KuskoSpainStephen Shaw NEGOTIATION
Emily C ShinkoUnited KingdomElwin Sharvill UNQUALIFIED
Alejandro K ShinkoIndiaAmy Elsner RENEWAL
Kadeem U KolmetzCanadaIvan Magalhaes NEGOTIATION
Ashley X BowleyJapanAnna Fali QUALIFIED
Morrow Q KolmetzBrazilXuxue Feng PROPOSAL
Julie M OldroydRussiaStephen Shaw PROPOSAL
Izzy I CaudyFranceAnna Fali PROPOSAL
Ivar R IturbideAustraliaAmy Elsner PROPOSAL
Jennifer J NestleGermanyBernardo Dominic PROPOSAL
Alejandro O KuskoSpainAmy Elsner PROPOSAL
Munro F RutaItalyStephen Shaw NEW
Adams L WieserJapanIoni Bowcher QUALIFIED
Alejandro W ShinkoSpainIvan Magalhaes NEGOTIATION
Misaki A NickaSpainBernardo Dominic RENEWAL
Ivar E ShinkoArgentinaAnna Fali RENEWAL
Juan V CaldareraIndiaBernardo Dominic NEGOTIATION

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