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
Chavez M SlusarskiFranceAmy Elsner NEGOTIATION
Izzy P DarakjyJapanStephen Shaw NEW
Kadeem C MaletArgentinaAsiya Javayant RENEWAL
Ricardo G FlosiItalyElwin Sharvill RENEWAL
Claire L DarakjyUnited KingdomAnna Fali PROPOSAL
Greenwood I MaletRussiaBernardo Dominic NEW
Isabel M MaletUnited KingdomElwin Sharvill UNQUALIFIED
Murillo L SchemmerSpainAnna Fali PROPOSAL
Jennifer Q VocelkaUnited KingdomStephen Shaw UNQUALIFIED
Silvio K RutaSpainBernardo Dominic UNQUALIFIED
Silvio Y KolmetzItalyBernardo Dominic RENEWAL
Alejandro K AmigonArgentinaIoni Bowcher QUALIFIED
Nicolas H GlickCanadaAnna Fali NEW
Clifford L FigeroaJapanBernardo Dominic UNQUALIFIED
Juan L NickaGermanyOnyama Limba UNQUALIFIED
Maria I MaletAustraliaXuxue Feng RENEWAL
Munro L MaletIndiaElwin Sharvill NEGOTIATION
Aditya N SaylorsItalyIvan Magalhaes UNQUALIFIED
Kadeem X GarufiIndiaXuxue Feng NEW
Emily S MaletRussiaElwin Sharvill PROPOSAL
Murillo W MorascaFranceXuxue Feng NEGOTIATION
Maria X NickaJapanStephen Shaw NEGOTIATION
Francesco J CaldareraGermanyAnna Fali NEW
Nicolas U MacleadJapanIoni Bowcher RENEWAL
Arvin U MacleadAustraliaElwin Sharvill UNQUALIFIED
Emily L DoeItalyAsiya Javayant PROPOSAL
Smith B IturbideBrazilBernardo Dominic NEGOTIATION
Chavez G GarufiFranceAmy Elsner UNQUALIFIED
James F AmigonJapanBernardo Dominic NEW
Ivar O FlosiFranceElwin Sharvill NEGOTIATION
Costa O MaletAustraliaAnna Fali NEGOTIATION
Greenwood P KuskoJapanAsiya Javayant PROPOSAL
Francesco G FerenczCanadaIvan Magalhaes PROPOSAL
Leja M OldroydGermanyAmy Elsner NEW
Faith G KolmetzRussiaStephen Shaw RENEWAL
Wickens W PoquetteArgentinaElwin Sharvill RENEWAL
Jennifer Q SlusarskiJapanIoni Bowcher PROPOSAL
Greenwood R GlickRussiaElwin Sharvill PROPOSAL
Adams H MaletAustraliaBernardo Dominic RENEWAL
Kadeem A StensethIndiaElwin Sharvill RENEWAL
Izzy L PoquetteUnited KingdomIvan Magalhaes NEGOTIATION
Darci Y PoquetteGermanyStephen Shaw PROPOSAL
Misaki J GauchoRussiaAnna Fali NEW
Kadeem V KuskoSpainXuxue Feng RENEWAL
Murillo Z RutaFranceAmy Elsner UNQUALIFIED
Misaki J NickaSpainAsiya Javayant NEGOTIATION
Arvin I ButtUnited KingdomAmy Elsner UNQUALIFIED
Clifford C StensethJapanElwin Sharvill NEW
Kadeem I GarufiCanadaStephen Shaw RENEWAL
Alejandro E GillianItalyXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Claire K RoysterItalyXuxue Feng NEW
Murillo W AmigonBrazilAsiya Javayant PROPOSAL
Murillo C VocelkaGermanyOnyama Limba QUALIFIED
Tony H GlickSpainBernardo Dominic PROPOSAL
Aditya E PerinGermanyElwin Sharvill PROPOSAL
Stacey H MorascaItalyOnyama Limba UNQUALIFIED
Salvatore I CaldareraGermanyElwin Sharvill QUALIFIED
Ashley Q NestleGermanyIvan Magalhaes QUALIFIED
Munro J RutaAustraliaXuxue Feng QUALIFIED
Francesco S IturbideFranceStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia Y InouyeIndia2024-06-03Feiner Bros UNQUALIFIED57Stephen Shaw
1001Maria K RoysterArgentina2024-05-23Feiner Bros PROPOSAL35Amy Elsner
1002Deepesh Q KolmetzUnited Kingdom2024-05-12Chanay, Jeffrey A Esq RENEWAL57Ivan Magalhaes
1003Arvin Z NestleIndia2024-05-10Truhlar And Truhlar Attys NEW37Ioni Bowcher
1004Adams O CampainBrazil2024-05-28Printing Dimensions RENEWAL48Bernardo Dominic
1005Jeanfrancois U WhobreyBrazil2024-05-13Chemel, James L Cpa UNQUALIFIED44Xuxue Feng
1006Deepesh Z GarufiGermany2024-05-25Truhlar And Truhlar Attys PROPOSAL32Ioni Bowcher
1007Stacey W GauchoCanada2024-05-15Rousseaux, Michael Esq QUALIFIED80Asiya Javayant
1008Salvatore E OldroydUnited Kingdom2024-06-02Printing Dimensions QUALIFIED7Onyama Limba
1009Salvatore K CaldareraItaly2024-05-10Buckley Miller Wright NEW54Ivan Magalhaes
1010Octavia L DilliardFrance2024-06-01Chapman, Ross E Esq NEW68Ivan Magalhaes
1011Rodrigues V StensethAustralia2024-05-18Feiner Bros NEW63Ioni Bowcher
1012Aditya U ChuiAustralia2024-06-03Chanay, Jeffrey A Esq NEW61Bernardo Dominic
1013Smith V IturbideArgentina2024-05-07King, Christopher A Esq RENEWAL24Asiya Javayant
1014Misaki M SergiGermany2024-05-17Chemel, James L Cpa NEGOTIATION58Stephen Shaw
1015Maria G PoquetteGermany2024-05-30Chanay, Jeffrey A Esq PROPOSAL60Ioni Bowcher
1016Juan T SlusarskiIndia2024-05-21Rousseaux, Michael Esq NEW99Elwin Sharvill
1017Smith H GillianUnited Kingdom2024-05-28Chapman, Ross E Esq RENEWAL57Bernardo Dominic
1018Aika X AmigonCanada2024-05-30Feiner Bros RENEWAL44Bernardo Dominic
1019Ricardo D CaldareraCanada2024-05-10Chapman, Ross E Esq RENEWAL79Elwin Sharvill
1020Leon F ButtUnited Kingdom2024-05-30Morlong Associates NEW25Asiya Javayant
1021Stacey P IturbideCanada2024-05-24Chanay, Jeffrey A Esq NEGOTIATION20Xuxue Feng
1022Mujtaba Q PerinIndia2024-05-07Commercial Press RENEWAL15Anna Fali
1023Maisha I FlosiBrazil2024-05-06Buckley Miller Wright QUALIFIED3Elwin Sharvill
1024Leja S MarrierCanada2024-05-16Truhlar And Truhlar Attys QUALIFIED76Ivan Magalhaes
1025Octavia R VocelkaUnited Kingdom2024-05-16Rangoni Of Florence PROPOSAL78Amy Elsner
1026Wickens L VenereAustralia2024-05-09King, Christopher A Esq PROPOSAL9Anna Fali
1027Aditya D OstroskyJapan2024-05-25Feiner Bros QUALIFIED0Amy Elsner
1028Silvio Z VenereArgentina2024-05-24Chanay, Jeffrey A Esq NEW32Elwin Sharvill
1029Sinclair C GarufiRussia2024-05-21Feiner Bros RENEWAL48Ioni Bowcher
1030Salvatore X FollerArgentina2024-05-14Chanay, Jeffrey A Esq NEGOTIATION36Ivan Magalhaes
1031Leon M SaylorsIndia2024-05-25King, Christopher A Esq UNQUALIFIED66Onyama Limba
1032Mujtaba X GarufiSpain2024-05-12Commercial Press NEGOTIATION72Ivan Magalhaes
1033Leja K StockhamSpain2024-05-24Chanay, Jeffrey A Esq RENEWAL76Anna Fali
1034Aditya T FigeroaArgentina2024-06-03Benton, John B Jr PROPOSAL57Stephen Shaw
1035Munro B SchemmerFrance2024-05-15Chapman, Ross E Esq PROPOSAL23Elwin Sharvill
1036Nicolas K PoquetteRussia2024-05-31Chapman, Ross E Esq UNQUALIFIED98Onyama Limba
1037Aika P FlosiBrazil2024-05-26Rangoni Of Florence NEGOTIATION82Asiya Javayant
1038Jennifer V StockhamGermany2024-05-11Chapman, Ross E Esq UNQUALIFIED72Amy Elsner
1039Leon D OldroydRussia2024-05-10Printing Dimensions UNQUALIFIED29Anna Fali
1040Kaitlin E PaprockiUnited Kingdom2024-06-03King, Christopher A Esq UNQUALIFIED64Stephen Shaw
1041Kadeem E VocelkaRussia2024-06-02Chapman, Ross E Esq UNQUALIFIED62Xuxue Feng
1042Ashley V DilliardUnited Kingdom2024-05-17Buckley Miller Wright RENEWAL2Ioni Bowcher
1043Isabel V CaldareraItaly2024-05-16Printing Dimensions QUALIFIED6Anna Fali
1044Jones K AlbaresGermany2024-05-17Chanay, Jeffrey A Esq PROPOSAL19Ioni Bowcher
1045Jennifer O BowleySpain2024-05-17Buckley Miller Wright NEGOTIATION62Amy Elsner
1046Kadeem Q VenereCanada2024-05-19Feiner Bros NEW41Asiya Javayant
1047Nicolas P FlosiIndia2024-05-16Morlong Associates NEW84Onyama Limba
1048Stacey Z MarrierFrance2024-05-22Rangoni Of Florence UNQUALIFIED78Amy Elsner
1049James M DoeBrazil2024-05-20Rousseaux, Michael Esq PROPOSAL94Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Smith V NestleRussiaIoni Bowcher NEGOTIATION
Ivar X NickaCanadaStephen Shaw PROPOSAL
Isabel R WaycottJapanIvan Magalhaes RENEWAL
Salvatore W MacleadArgentinaOnyama Limba QUALIFIED
Adams K CaldareraSpainStephen Shaw RENEWAL
Smith Z AlbaresSpainOnyama Limba QUALIFIED
Jennifer H KolmetzAustraliaBernardo Dominic UNQUALIFIED
Costa L GauchoAustraliaIvan Magalhaes NEGOTIATION
Ivar A WhobreyArgentinaIvan Magalhaes NEGOTIATION
Juan L PerinRussiaElwin Sharvill NEGOTIATION
Jennifer T BriddickItalyBernardo Dominic UNQUALIFIED
Leja D NestleItalyAsiya Javayant QUALIFIED
Johnson A MaletJapanIoni Bowcher NEW
Deepesh Q GarufiJapanStephen Shaw NEGOTIATION
Maria R FlosiJapanStephen Shaw QUALIFIED
Johnson Q VenereFranceBernardo Dominic NEGOTIATION
Octavia B StockhamCanadaAsiya Javayant NEW
Sinclair E RimAustraliaIoni Bowcher NEW
Maisha E PoquetteArgentinaXuxue Feng NEGOTIATION
Costa D DarakjyGermanyXuxue Feng NEGOTIATION
Adams N KuskoRussiaAmy Elsner QUALIFIED
Octavia N FollerGermanyXuxue Feng NEW
Clifford E OstroskyArgentinaIoni Bowcher NEW
Izzy R MacleadJapanAnna Fali PROPOSAL
Faith S GlickCanadaAmy Elsner NEGOTIATION
Smith I RutaJapanAmy Elsner UNQUALIFIED
Adams W StockhamAustraliaAsiya Javayant PROPOSAL
Chavez K OldroydGermanyXuxue Feng UNQUALIFIED
Francesco D FlosiBrazilXuxue Feng QUALIFIED
Kaitlin T DilliardUnited KingdomElwin Sharvill NEW
Jeanfrancois Z SergiGermanyXuxue Feng NEW
Ivar C CaudyItalyBernardo Dominic NEGOTIATION
Alejandro W StensethSpainAsiya Javayant NEGOTIATION
Octavia J PaprockiAustraliaAmy Elsner NEW
Misaki B VenereGermanyAsiya Javayant QUALIFIED
Izzy Y MacleadAustraliaXuxue Feng QUALIFIED
Jennifer Z WaycottCanadaIvan Magalhaes NEGOTIATION
Greenwood F ChuiBrazilAsiya Javayant RENEWAL
Isabel F PoquetteRussiaAmy Elsner NEGOTIATION
Julie G PoquetteSpainAsiya Javayant RENEWAL
Claire B KolmetzUnited KingdomXuxue Feng UNQUALIFIED
Octavia C MorascaSpainBernardo Dominic PROPOSAL
Clifford A CampainBrazilIvan Magalhaes PROPOSAL
Alejandro Y AlbaresFranceXuxue Feng RENEWAL
Faith H TollnerIndiaOnyama Limba RENEWAL
Misaki H StockhamJapanAsiya Javayant QUALIFIED
Faith H StockhamCanadaOnyama Limba QUALIFIED
Wickens M GillianSpainAsiya Javayant UNQUALIFIED
Munro X BologniaFranceElwin Sharvill UNQUALIFIED
Jennifer V KuskoJapanAnna Fali QUALIFIED
Frozen Columns
Name
Isabel R Oldroyd
Jefferson X Caudy
David V Caldarera
Mujtaba E Oldroyd
Octavia G Inouye
Jefferson J Stenseth
Isabel U Vocelka
Arvin V Nicka
Maisha F Gaucho
Jennifer V Foller
Smith A Albares
Mayumi I Glick
Tony Q Royster
Antonio N Nicka
Murillo Q Gillian
James C Malet
Johnson L Kusko
Chavez V Malet
Mayumi G Caudy
Aika A Waycott
Silvio C Gaucho
Leon Z Nestle
Sinclair M Caldarera
Jennifer H Inouye
Darci B Rulapaugh
Tony H Bolognia
Maria Z Figeroa
Antonio O Iturbide
Arvin W Marrier
Aruna U Wieser
Mayumi I Ruta
Johnson M Butt
Mujtaba Z Doe
Adams O Maclead
Julie B Slusarski
Murillo Y Bolognia
Misaki P Ruta
Rodrigues N Glick
Kadeem V Bowley
Clifford Y Gillian
Greenwood U Briddick
Jefferson R Rim
Cody L Stockham
Emily C Stockham
Emily A Royster
Kaitlin H Stenseth
Wickens M Wieser
Jennifer R Ostrosky
Ivar Z Schemmer
Faith T Iturbide
IdCountryDate
1000Brazil2024-06-02
1001Italy2024-06-04
1002Japan2024-05-06
1003Argentina2024-06-02
1004Japan2024-06-01
1005India2024-05-15
1006United Kingdom2024-05-19
1007Italy2024-05-09
1008Germany2024-05-11
1009Argentina2024-05-22
1010United Kingdom2024-05-09
1011Italy2024-06-01
1012United Kingdom2024-05-19
1013Italy2024-05-12
1014Brazil2024-05-24
1015Italy2024-05-11
1016Italy2024-05-17
1017Argentina2024-05-06
1018Brazil2024-06-03
1019Italy2024-05-30
1020United Kingdom2024-05-31
1021Argentina2024-05-06
1022Spain2024-05-24
1023Australia2024-05-20
1024Germany2024-05-31
1025Australia2024-05-16
1026France2024-05-22
1027Germany2024-05-10
1028Australia2024-05-21
1029Argentina2024-05-31
1030Japan2024-05-10
1031Japan2024-05-25
1032Spain2024-06-02
1033India2024-05-16
1034India2024-05-23
1035Brazil2024-06-03
1036United Kingdom2024-05-17
1037France2024-05-07
1038France2024-05-10
1039Australia2024-05-25
1040United Kingdom2024-05-11
1041Argentina2024-06-04
1042Italy2024-05-06
1043India2024-05-17
1044Japan2024-05-08
1045Russia2024-05-22
1046Russia2024-05-24
1047Russia2024-05-30
1048France2024-05-20
1049Japan2024-06-02

On-Demand Data

NameIdCountryDate
Claire U Dilliard1000Argentina2024-05-29
Stacey F Venere1001Japan2024-05-07
Francesco C Butt1002Australia2024-05-10
Aika V Glick1003United Kingdom2024-05-21
Maria R Morasca1004Russia2024-05-07
Isabel V Malet1005United Kingdom2024-05-23
Chavez S Nicka1006Canada2024-05-14
Adams S Oldroyd1007Spain2024-06-04
Mayumi D Kolmetz1008United Kingdom2024-05-19
James I Paprocki1009Germany2024-05-24
Clifford B Tollner1010France2024-06-02
Jefferson R Nicka1011Australia2024-05-27
Tony D Bowley1012India2024-05-10
Murillo S Darakjy1013Germany2024-05-13
Kadeem G Sergi1014Spain2024-05-13
Morrow B Saylors1015Germany2024-05-31
Murillo P Saylors1016Spain2024-06-04
Alejandro H Inouye1017France2024-05-10
Salvatore J Poquette1018Spain2024-05-13
Munro R Figeroa1019Australia2024-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin E AlbaresUnited KingdomAmy Elsner UNQUALIFIED
Kaitlin H BologniaFranceBernardo Dominic PROPOSAL
Francesco N CaldareraBrazilAsiya Javayant UNQUALIFIED
Tony O StockhamSpainIoni Bowcher NEGOTIATION
Johnson E RulapaughSpainElwin Sharvill NEGOTIATION
Izzy X ShinkoItalyXuxue Feng NEW
Wickens U FlosiAustraliaElwin Sharvill NEW
Silvio O SergiAustraliaXuxue Feng PROPOSAL
Kadeem O StensethFranceElwin Sharvill QUALIFIED
Jennifer L CaldareraRussiaBernardo Dominic NEGOTIATION
Aditya E CampainArgentinaStephen Shaw NEGOTIATION
Clifford D AmigonBrazilOnyama Limba QUALIFIED
Deepesh K KuskoJapanXuxue Feng QUALIFIED
Morrow U StensethIndiaIvan Magalhaes PROPOSAL
Jefferson P KuskoFranceXuxue Feng NEGOTIATION
Jennifer L ChuiRussiaBernardo Dominic NEGOTIATION
Aruna F WhobreyArgentinaIoni Bowcher UNQUALIFIED
Ashley E CaudySpainStephen Shaw QUALIFIED
Greenwood O CampainBrazilIvan Magalhaes UNQUALIFIED
Antonio F IturbideBrazilIoni Bowcher UNQUALIFIED
Faith D MacleadBrazilOnyama Limba PROPOSAL
Aruna F BowleySpainIoni Bowcher RENEWAL
Emily G RutaIndiaStephen Shaw NEGOTIATION
Wickens W MorascaArgentinaOnyama Limba PROPOSAL
Arvin X WaycottUnited KingdomOnyama Limba NEW
Adams V ShinkoUnited KingdomAsiya Javayant PROPOSAL
Deepesh V KolmetzArgentinaOnyama Limba RENEWAL
Emily Q GlickUnited KingdomBernardo Dominic NEW
Sinclair F AlbaresItalyBernardo Dominic RENEWAL
Emily V ChuiAustraliaBernardo Dominic RENEWAL
Greenwood I ChuiGermanyAsiya Javayant NEGOTIATION
Alejandro H VenereJapanAnna Fali QUALIFIED
Adams L CampainCanadaOnyama Limba RENEWAL
Tony K CampainFranceXuxue Feng QUALIFIED
Salvatore J MarrierBrazilXuxue Feng NEGOTIATION
Jones R MarrierAustraliaStephen Shaw RENEWAL
Ivar P SaylorsJapanElwin Sharvill QUALIFIED
Morrow L MacleadRussiaAnna Fali RENEWAL
Sinclair A TollnerAustraliaElwin Sharvill RENEWAL
Izzy B MaletCanadaElwin Sharvill 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>