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
James W WieserBrazilXuxue Feng NEW
Maria M CaudyCanadaAmy Elsner RENEWAL
Wickens F OldroydRussiaAmy Elsner NEW
Octavia K VenereFranceStephen Shaw NEW
Aditya U GillianArgentinaOnyama Limba UNQUALIFIED
David W KolmetzRussiaIoni Bowcher RENEWAL
Clifford T BowleyIndiaBernardo Dominic NEGOTIATION
Misaki M SaylorsItalyBernardo Dominic RENEWAL
Cody P BowleyIndiaIvan Magalhaes NEW
James K RimArgentinaBernardo Dominic NEGOTIATION
James O FigeroaArgentinaStephen Shaw PROPOSAL
Munro H BriddickFranceAmy Elsner RENEWAL
Nicolas Z SchemmerSpainIvan Magalhaes RENEWAL
Ashley P GlickGermanyBernardo Dominic QUALIFIED
Murillo H AmigonUnited KingdomIvan Magalhaes RENEWAL
Izzy K SergiCanadaAmy Elsner UNQUALIFIED
Jefferson U GauchoCanadaIoni Bowcher QUALIFIED
Alejandro B MorascaItalyBernardo Dominic QUALIFIED
Izzy F VocelkaBrazilAmy Elsner QUALIFIED
Maria T FlosiJapanOnyama Limba NEW
Adams E WhobreyAustraliaStephen Shaw NEW
Munro M TollnerCanadaElwin Sharvill QUALIFIED
Adams H CaudyIndiaAmy Elsner RENEWAL
Clifford Y BologniaCanadaBernardo Dominic RENEWAL
Mujtaba R VenereAustraliaAnna Fali UNQUALIFIED
Salvatore V ShinkoRussiaStephen Shaw PROPOSAL
Izzy Q RoysterCanadaIvan Magalhaes UNQUALIFIED
Kaitlin A BriddickCanadaOnyama Limba NEW
Kaitlin Z OldroydArgentinaAsiya Javayant PROPOSAL
Aruna B SaylorsAustraliaIoni Bowcher PROPOSAL
Chavez K KuskoUnited KingdomStephen Shaw NEGOTIATION
Morrow L DilliardJapanOnyama Limba PROPOSAL
Arvin S SchemmerIndiaIvan Magalhaes QUALIFIED
Deepesh J MaletFranceAsiya Javayant UNQUALIFIED
Octavia Q TollnerUnited KingdomAmy Elsner QUALIFIED
Clifford C RulapaughJapanAmy Elsner QUALIFIED
Faith O PoquetteRussiaAsiya Javayant QUALIFIED
Antonio V DoeBrazilIoni Bowcher NEW
Maria N BologniaIndiaIvan Magalhaes QUALIFIED
Leon E StensethRussiaIvan Magalhaes QUALIFIED
Tony Q CaldareraUnited KingdomAmy Elsner PROPOSAL
Cody E KolmetzRussiaStephen Shaw UNQUALIFIED
James Z TollnerIndiaStephen Shaw PROPOSAL
Alejandro E TollnerBrazilElwin Sharvill PROPOSAL
Nicolas H CaldareraArgentinaBernardo Dominic PROPOSAL
Julie B IturbideSpainElwin Sharvill UNQUALIFIED
Aika N OldroydFranceIoni Bowcher QUALIFIED
Kadeem U MacleadJapanStephen Shaw NEW
Octavia M SlusarskiJapanBernardo Dominic QUALIFIED
Aruna C WieserArgentinaAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Silvio X BologniaGermanyAsiya Javayant UNQUALIFIED
Silvio K PerinRussiaOnyama Limba NEGOTIATION
Tony S ButtFranceElwin Sharvill PROPOSAL
Tony M CaldareraAustraliaAmy Elsner PROPOSAL
Adams K NestleRussiaIvan Magalhaes RENEWAL
Arvin A WieserAustraliaElwin Sharvill PROPOSAL
Jeanfrancois W PaprockiBrazilXuxue Feng QUALIFIED
Alejandro K StensethGermanyXuxue Feng NEGOTIATION
Aruna X GillianAustraliaAmy Elsner PROPOSAL
Aditya J RutaRussiaElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens J NestleGermany2024-06-08Dorl, James J Esq NEW98Asiya Javayant
1001Leon P BriddickJapan2024-06-13Feltz Printing Service QUALIFIED70Xuxue Feng
1002Aditya G IturbideCanada2024-06-21Morlong Associates PROPOSAL99Ioni Bowcher
1003Maria R CaldareraCanada2024-06-10Printing Dimensions PROPOSAL45Ioni Bowcher
1004Leon J FerenczItaly2024-06-19Chapman, Ross E Esq UNQUALIFIED16Onyama Limba
1005Aika R WaycottCanada2024-06-05Morlong Associates PROPOSAL58Elwin Sharvill
1006Maisha O DilliardAustralia2024-06-17Commercial Press NEW77Asiya Javayant
1007Juan Z WhobreyBrazil2024-05-28Chapman, Ross E Esq QUALIFIED75Anna Fali
1008Costa U MarrierIndia2024-06-21Chemel, James L Cpa QUALIFIED72Elwin Sharvill
1009Rodrigues X IturbideUnited Kingdom2024-06-02Chanay, Jeffrey A Esq RENEWAL97Elwin Sharvill
1010Mayumi U BowleyCanada2024-05-29Chanay, Jeffrey A Esq NEGOTIATION46Amy Elsner
1011Adams H KuskoFrance2024-06-07Commercial Press NEGOTIATION66Xuxue Feng
1012Alejandro E BowleyAustralia2024-06-07Rangoni Of Florence NEGOTIATION75Asiya Javayant
1013Leja X GarufiCanada2024-06-20Rangoni Of Florence PROPOSAL76Ioni Bowcher
1014Costa D MaletIndia2024-06-20Rangoni Of Florence NEGOTIATION73Asiya Javayant
1015Emily Z VocelkaFrance2024-05-29Commercial Press QUALIFIED82Bernardo Dominic
1016Rodrigues O BologniaUnited Kingdom2024-06-19King, Christopher A Esq QUALIFIED57Xuxue Feng
1017Misaki R CampainCanada2024-05-27Printing Dimensions PROPOSAL98Onyama Limba
1018Rodrigues P StensethBrazil2024-06-04Chapman, Ross E Esq NEGOTIATION59Ivan Magalhaes
1019Chavez J WieserItaly2024-05-27Commercial Press UNQUALIFIED91Ioni Bowcher
1020Octavia A ButtAustralia2024-06-01Rousseaux, Michael Esq NEW5Amy Elsner
1021Deepesh X WieserCanada2024-05-28Benton, John B Jr NEW29Bernardo Dominic
1022Tony I SergiBrazil2024-06-15Chapman, Ross E Esq NEGOTIATION47Stephen Shaw
1023Ashley T NickaIndia2024-06-14Chapman, Ross E Esq NEW74Stephen Shaw
1024Salvatore A KolmetzArgentina2024-06-10Benton, John B Jr PROPOSAL30Stephen Shaw
1025Julie W BologniaArgentina2024-06-17Truhlar And Truhlar Attys QUALIFIED13Xuxue Feng
1026Chavez O PoquetteIndia2024-06-05Truhlar And Truhlar Attys PROPOSAL51Onyama Limba
1027Nicolas W DoeIndia2024-06-03Chanay, Jeffrey A Esq QUALIFIED83Onyama Limba
1028Silvio R MaletSpain2024-06-09Commercial Press UNQUALIFIED50Amy Elsner
1029Maisha T OstroskyBrazil2024-05-27Printing Dimensions RENEWAL72Ivan Magalhaes
1030Mujtaba T WieserGermany2024-06-21Chapman, Ross E Esq UNQUALIFIED91Ioni Bowcher
1031Aruna J StensethUnited Kingdom2024-05-31Printing Dimensions PROPOSAL22Elwin Sharvill
1032Salvatore G ButtItaly2024-06-13Feiner Bros NEGOTIATION53Asiya Javayant
1033Julie N BriddickFrance2024-06-11Chapman, Ross E Esq NEGOTIATION18Stephen Shaw
1034Munro R GlickSpain2024-05-30Buckley Miller Wright RENEWAL81Elwin Sharvill
1035Juan G StensethIndia2024-05-27Benton, John B Jr PROPOSAL9Anna Fali
1036Claire Q NickaGermany2024-06-14Truhlar And Truhlar Attys PROPOSAL41Ioni Bowcher
1037James T StockhamArgentina2024-06-07Buckley Miller Wright UNQUALIFIED40Elwin Sharvill
1038Costa B VenereArgentina2024-06-22Commercial Press NEGOTIATION58Amy Elsner
1039Jeanfrancois Q SlusarskiBrazil2024-06-01Morlong Associates UNQUALIFIED6Amy Elsner
1040Mujtaba V SchemmerIndia2024-05-28Chanay, Jeffrey A Esq NEGOTIATION71Xuxue Feng
1041Antonio J OstroskyUnited Kingdom2024-05-30Chanay, Jeffrey A Esq QUALIFIED85Xuxue Feng
1042Mayumi T KuskoRussia2024-06-16Truhlar And Truhlar Attys NEGOTIATION76Elwin Sharvill
1043Faith K StensethCanada2024-06-20King, Christopher A Esq PROPOSAL22Stephen Shaw
1044Isabel Q GlickBrazil2024-06-01Rousseaux, Michael Esq PROPOSAL16Elwin Sharvill
1045Leja M VocelkaFrance2024-06-03Rangoni Of Florence RENEWAL50Asiya Javayant
1046Maria T ChuiCanada2024-06-11Chapman, Ross E Esq NEW7Asiya Javayant
1047Ashley J MacleadUnited Kingdom2024-06-14Dorl, James J Esq QUALIFIED44Amy Elsner
1048Nicolas J ButtUnited Kingdom2024-06-01Chanay, Jeffrey A Esq QUALIFIED76Anna Fali
1049Mujtaba D MarrierIndia2024-06-17Feltz Printing Service QUALIFIED73Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Antonio I FlosiUnited KingdomOnyama Limba UNQUALIFIED
Leja M RulapaughBrazilIoni Bowcher PROPOSAL
Smith K NestleFranceAsiya Javayant UNQUALIFIED
Smith R RutaRussiaElwin Sharvill PROPOSAL
Alejandro U BologniaFranceBernardo Dominic NEGOTIATION
Aditya V MarrierSpainIvan Magalhaes NEW
Chavez X MacleadAustraliaAnna Fali UNQUALIFIED
Mayumi F MacleadIndiaIoni Bowcher QUALIFIED
Claire A CampainAustraliaXuxue Feng PROPOSAL
Maisha G WhobreyUnited KingdomXuxue Feng RENEWAL
Julie G DarakjySpainBernardo Dominic QUALIFIED
Aruna X VenereUnited KingdomAsiya Javayant NEGOTIATION
Mayumi H PoquetteIndiaXuxue Feng QUALIFIED
Costa B GauchoArgentinaElwin Sharvill NEW
Jeanfrancois J MarrierCanadaAnna Fali QUALIFIED
Alejandro J DarakjySpainIvan Magalhaes RENEWAL
Salvatore Q AlbaresItalyElwin Sharvill QUALIFIED
Munro M GlickGermanyOnyama Limba QUALIFIED
Smith F ButtBrazilIvan Magalhaes UNQUALIFIED
Nicolas Y OstroskyItalyAsiya Javayant NEGOTIATION
Deepesh L RulapaughUnited KingdomIoni Bowcher UNQUALIFIED
Maria R RoysterAustraliaAnna Fali RENEWAL
Munro E WieserIndiaOnyama Limba PROPOSAL
Silvio D FigeroaRussiaAnna Fali RENEWAL
Aruna X WhobreyBrazilStephen Shaw NEGOTIATION
Maisha H NickaSpainOnyama Limba NEGOTIATION
Costa T RulapaughAustraliaOnyama Limba NEGOTIATION
Smith L TollnerCanadaElwin Sharvill NEW
Darci G RimGermanyElwin Sharvill UNQUALIFIED
Izzy F VenereRussiaAnna Fali QUALIFIED
Kadeem J FollerGermanyAsiya Javayant PROPOSAL
Jefferson S StockhamRussiaStephen Shaw QUALIFIED
Murillo D TollnerSpainBernardo Dominic NEGOTIATION
Salvatore Q CaudyItalyIvan Magalhaes NEW
Rodrigues I MaletGermanyXuxue Feng NEW
Darci V AlbaresArgentinaAsiya Javayant UNQUALIFIED
Alejandro I SlusarskiJapanOnyama Limba PROPOSAL
Juan Q MacleadAustraliaIoni Bowcher UNQUALIFIED
Isabel X DarakjyIndiaIvan Magalhaes QUALIFIED
Kaitlin V PaprockiCanadaXuxue Feng UNQUALIFIED
Misaki E IturbideArgentinaBernardo Dominic PROPOSAL
Izzy V SaylorsBrazilIoni Bowcher QUALIFIED
Maisha H SergiBrazilElwin Sharvill RENEWAL
Mujtaba B BriddickIndiaOnyama Limba QUALIFIED
Misaki U NestleBrazilElwin Sharvill QUALIFIED
Salvatore T FerenczArgentinaOnyama Limba NEGOTIATION
Greenwood R OstroskyUnited KingdomXuxue Feng QUALIFIED
Juan L NickaRussiaIoni Bowcher RENEWAL
Maisha Y BowleyBrazilElwin Sharvill QUALIFIED
Morrow R FerenczAustraliaElwin Sharvill QUALIFIED
Frozen Columns
Name
Silvio D Iturbide
Smith P Kusko
James E Shinko
Claire T Schemmer
Claire N Bolognia
Maisha H Malet
Morrow H Ostrosky
Arvin R Gaucho
Morrow G Campain
Antonio U Briddick
Mayumi W Bolognia
Claire W Doe
Cody K Maclead
Arvin V Bowley
Smith K Chui
Isabel W Saylors
Faith J Kusko
Silvio P Glick
Izzy J Bolognia
Silvio E Paprocki
Kaitlin K Oldroyd
Antonio Z Stenseth
Maisha N Gillian
Stacey G Bowley
Leja A Ruta
Silvio J Vocelka
David R Iturbide
Smith H Amigon
Ashley R Darakjy
Aika K Darakjy
Antonio P Ostrosky
Cody Z Venere
Wickens N Glick
Adams Q Schemmer
Francesco M Inouye
Chavez U Whobrey
Jennifer H Rim
Salvatore N Caldarera
Wickens U Rulapaugh
Sinclair Y Bolognia
Nicolas T Stockham
Kadeem X Gaucho
Murillo G Albares
Mayumi L Bolognia
Morrow O Malet
Greenwood C Glick
Claire O Sergi
Maisha L Stockham
Cody S Gaucho
Mayumi D Whobrey
IdCountryDate
1000Germany2024-06-15
1001France2024-06-14
1002Canada2024-06-07
1003Russia2024-06-22
1004Italy2024-05-30
1005United Kingdom2024-06-01
1006Brazil2024-06-06
1007India2024-06-08
1008India2024-06-16
1009India2024-06-15
1010France2024-06-07
1011Japan2024-06-14
1012Russia2024-06-22
1013Italy2024-06-02
1014Australia2024-06-04
1015Canada2024-06-03
1016Australia2024-06-19
1017Australia2024-06-03
1018Spain2024-05-28
1019United Kingdom2024-06-06
1020France2024-06-20
1021Argentina2024-06-21
1022Italy2024-06-01
1023Canada2024-06-10
1024Italy2024-06-13
1025Brazil2024-06-16
1026Germany2024-05-25
1027Spain2024-06-20
1028Canada2024-05-27
1029Germany2024-05-25
1030Brazil2024-06-20
1031United Kingdom2024-06-21
1032Russia2024-06-12
1033India2024-05-29
1034Canada2024-06-11
1035United Kingdom2024-06-11
1036Italy2024-06-10
1037Russia2024-06-14
1038Canada2024-06-05
1039Germany2024-06-03
1040India2024-06-10
1041Brazil2024-06-01
1042Argentina2024-06-18
1043India2024-06-20
1044Spain2024-05-29
1045Russia2024-06-18
1046Spain2024-05-27
1047Italy2024-06-08
1048France2024-05-27
1049Japan2024-05-29

On-Demand Data

NameIdCountryDate
Emily L Ostrosky1000Spain2024-06-04
Stacey A Morasca1001France2024-06-05
Aruna Y Malet1002Russia2024-06-20
Aditya L Saylors1003Australia2024-06-03
Deepesh V Malet1004Germany2024-06-14
Jones J Glick1005Brazil2024-05-30
Tony D Venere1006Japan2024-06-01
Isabel R Royster1007Argentina2024-06-17
Rodrigues I Caudy1008Russia2024-06-03
Isabel Y Foller1009Russia2024-06-04
Rodrigues G Saylors1010Italy2024-06-04
Arvin J Campain1011France2024-06-09
Rodrigues N Poquette1012United Kingdom2024-06-13
Chavez I Wieser1013Italy2024-06-19
Arvin W Glick1014Australia2024-06-15
Greenwood S Bowley1015Russia2024-06-01
Tony X Doe1016India2024-06-21
Clifford K Figeroa1017India2024-06-12
Chavez S Slusarski1018Brazil2024-06-20
Deepesh O Doe1019Brazil2024-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro W GlickGermanyOnyama Limba UNQUALIFIED
Francesco N MaletFranceAnna Fali QUALIFIED
Stacey B SergiItalyStephen Shaw UNQUALIFIED
Mujtaba Y CampainFranceXuxue Feng QUALIFIED
Ricardo C GlickUnited KingdomIvan Magalhaes QUALIFIED
Silvio W AmigonSpainAnna Fali NEW
Costa R DoeArgentinaOnyama Limba QUALIFIED
Leja T NestleSpainBernardo Dominic NEGOTIATION
Morrow Z VocelkaItalyAsiya Javayant RENEWAL
Leon X FigeroaJapanXuxue Feng UNQUALIFIED
Morrow C DarakjyUnited KingdomIoni Bowcher UNQUALIFIED
Clifford K CampainIndiaElwin Sharvill UNQUALIFIED
Julie Q FlosiIndiaAnna Fali RENEWAL
Leon W KolmetzUnited KingdomIvan Magalhaes PROPOSAL
Julie F VocelkaSpainIoni Bowcher UNQUALIFIED
Arvin K BowleyJapanAnna Fali QUALIFIED
Smith U PerinAustraliaIoni Bowcher NEW
Smith W CaudyBrazilElwin Sharvill QUALIFIED
Faith T PerinItalyOnyama Limba UNQUALIFIED
Izzy E InouyeUnited KingdomElwin Sharvill RENEWAL
Izzy F ShinkoCanadaElwin Sharvill RENEWAL
Cody G BriddickUnited KingdomXuxue Feng NEGOTIATION
Juan K SaylorsArgentinaBernardo Dominic RENEWAL
Munro M MorascaSpainAsiya Javayant NEGOTIATION
Ricardo I GauchoUnited KingdomAnna Fali NEW
Wickens K DoeAustraliaStephen Shaw RENEWAL
Jefferson X OldroydJapanOnyama Limba QUALIFIED
Mayumi K NickaAustraliaIoni Bowcher NEGOTIATION
Murillo B CampainItalyOnyama Limba QUALIFIED
Murillo B DoeUnited KingdomIvan Magalhaes PROPOSAL
Juan O GauchoGermanyXuxue Feng QUALIFIED
Johnson X MaletUnited KingdomElwin Sharvill NEW
Nicolas E GauchoUnited KingdomAmy Elsner QUALIFIED
Deepesh T SchemmerIndiaOnyama Limba QUALIFIED
Morrow E PoquetteUnited KingdomOnyama Limba NEW
Rodrigues I OldroydCanadaBernardo Dominic NEW
Ivar J KuskoUnited KingdomXuxue Feng QUALIFIED
Cody F WieserUnited KingdomAsiya Javayant NEGOTIATION
Sinclair F GauchoAustraliaOnyama Limba UNQUALIFIED
Maisha C GauchoFranceStephen Shaw UNQUALIFIED

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