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
Jefferson V StensethFranceIvan Magalhaes NEGOTIATION
Maisha L WaycottSpainIoni Bowcher UNQUALIFIED
Ashley R IturbideUnited KingdomIvan Magalhaes QUALIFIED
Nicolas O DarakjyRussiaXuxue Feng NEGOTIATION
Murillo P MaletRussiaBernardo Dominic QUALIFIED
Antonio D PoquetteItalyElwin Sharvill NEW
Munro P TollnerItalyAsiya Javayant RENEWAL
Kadeem G CaudyIndiaIoni Bowcher UNQUALIFIED
James B ButtSpainElwin Sharvill NEGOTIATION
Chavez V IturbideBrazilIoni Bowcher QUALIFIED
Mujtaba J VocelkaCanadaStephen Shaw QUALIFIED
James U MaletAustraliaAmy Elsner QUALIFIED
Juan V RoysterCanadaBernardo Dominic RENEWAL
David E GlickSpainOnyama Limba RENEWAL
Jones D WhobreyBrazilAmy Elsner RENEWAL
Arvin H CaudyRussiaOnyama Limba UNQUALIFIED
Mujtaba L MacleadSpainElwin Sharvill PROPOSAL
Izzy I GauchoItalyElwin Sharvill QUALIFIED
Izzy T MorascaItalyAmy Elsner PROPOSAL
Tony G OldroydUnited KingdomAnna Fali NEGOTIATION
Izzy D StensethBrazilBernardo Dominic RENEWAL
Misaki V RutaSpainIvan Magalhaes RENEWAL
Jones X KuskoRussiaOnyama Limba QUALIFIED
Jefferson L FigeroaJapanXuxue Feng NEW
Deepesh M PoquetteUnited KingdomBernardo Dominic NEGOTIATION
Juan Y GillianBrazilAmy Elsner NEGOTIATION
Alejandro G MorascaArgentinaIoni Bowcher PROPOSAL
Aruna W RutaJapanAmy Elsner QUALIFIED
Mayumi Z InouyeIndiaAnna Fali UNQUALIFIED
Misaki P WieserUnited KingdomXuxue Feng NEW
Jones K OstroskyItalyStephen Shaw UNQUALIFIED
Jeanfrancois F KolmetzArgentinaBernardo Dominic PROPOSAL
Cody B ChuiJapanStephen Shaw NEW
Greenwood D DarakjyCanadaElwin Sharvill NEGOTIATION
Julie H WhobreyAustraliaBernardo Dominic RENEWAL
Cody O VocelkaCanadaXuxue Feng NEW
Rodrigues J VocelkaUnited KingdomAmy Elsner RENEWAL
Antonio E NestleGermanyAsiya Javayant RENEWAL
Kaitlin M SaylorsArgentinaIoni Bowcher RENEWAL
Izzy O DarakjyAustraliaIoni Bowcher QUALIFIED
Murillo C GlickSpainElwin Sharvill PROPOSAL
Izzy P PaprockiUnited KingdomAsiya Javayant NEGOTIATION
Munro O MorascaJapanAsiya Javayant PROPOSAL
Salvatore N CaudyItalyAmy Elsner QUALIFIED
Deepesh A SchemmerCanadaIvan Magalhaes UNQUALIFIED
Arvin S FlosiItalyAnna Fali NEGOTIATION
Greenwood P AlbaresAustraliaBernardo Dominic NEW
Greenwood C CampainUnited KingdomOnyama Limba QUALIFIED
Munro M VocelkaUnited KingdomXuxue Feng PROPOSAL
Izzy U InouyeFranceAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
James V GarufiGermanyAnna Fali UNQUALIFIED
Munro G NickaCanadaBernardo Dominic PROPOSAL
Sinclair G BriddickAustraliaAsiya Javayant UNQUALIFIED
Julie B OstroskyFranceOnyama Limba NEGOTIATION
Clifford V FigeroaJapanAsiya Javayant PROPOSAL
Clifford J CampainJapanIoni Bowcher PROPOSAL
Chavez L MaletAustraliaOnyama Limba QUALIFIED
Antonio B StockhamJapanStephen Shaw NEW
Izzy Y CaudyGermanyElwin Sharvill PROPOSAL
Faith K StockhamGermanyXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo G StensethCanada2024-05-27Rangoni Of Florence RENEWAL2Elwin Sharvill
1001Adams T ButtUnited Kingdom2024-06-02Rousseaux, Michael Esq NEW88Bernardo Dominic
1002Morrow M FlosiCanada2024-05-24Buckley Miller Wright PROPOSAL78Ivan Magalhaes
1003Maria O VocelkaRussia2024-06-18Rousseaux, Michael Esq NEGOTIATION40Ivan Magalhaes
1004Murillo H FerenczBrazil2024-05-25Rangoni Of Florence NEW65Asiya Javayant
1005Costa I RulapaughIndia2024-05-28Morlong Associates PROPOSAL17Asiya Javayant
1006Claire M VenereJapan2024-06-16Rangoni Of Florence PROPOSAL10Xuxue Feng
1007Greenwood J DoeSpain2024-06-04Chemel, James L Cpa PROPOSAL63Onyama Limba
1008Jones Y NickaBrazil2024-06-17Rangoni Of Florence PROPOSAL69Amy Elsner
1009Misaki U StockhamRussia2024-06-06Chemel, James L Cpa NEGOTIATION94Asiya Javayant
1010David V GauchoFrance2024-05-23Chapman, Ross E Esq UNQUALIFIED6Xuxue Feng
1011Mujtaba U SaylorsJapan2024-06-15Truhlar And Truhlar Attys QUALIFIED10Asiya Javayant
1012Stacey N SlusarskiGermany2024-06-17Truhlar And Truhlar Attys QUALIFIED23Anna Fali
1013Isabel B WhobreyRussia2024-06-16Truhlar And Truhlar Attys PROPOSAL23Stephen Shaw
1014Julie Y NickaGermany2024-05-28Chemel, James L Cpa NEW44Anna Fali
1015James W InouyeSpain2024-06-19Commercial Press RENEWAL67Amy Elsner
1016Wickens R DoeFrance2024-05-27Chemel, James L Cpa PROPOSAL11Stephen Shaw
1017Octavia C KuskoBrazil2024-05-27Buckley Miller Wright NEW53Ivan Magalhaes
1018Cody V KolmetzFrance2024-06-07Chapman, Ross E Esq NEGOTIATION7Stephen Shaw
1019Kaitlin Q WaycottBrazil2024-06-07Chanay, Jeffrey A Esq UNQUALIFIED11Ioni Bowcher
1020Salvatore E CampainBrazil2024-06-14Feltz Printing Service NEGOTIATION52Onyama Limba
1021Wickens B CampainJapan2024-06-14Printing Dimensions QUALIFIED30Bernardo Dominic
1022Jefferson B SaylorsRussia2024-05-29Commercial Press QUALIFIED93Elwin Sharvill
1023Clifford T BologniaCanada2024-06-18Rangoni Of Florence RENEWAL51Ioni Bowcher
1024Clifford A NestleSpain2024-06-10Chemel, James L Cpa RENEWAL61Bernardo Dominic
1025Deepesh G MorascaBrazil2024-05-31Chapman, Ross E Esq NEGOTIATION23Bernardo Dominic
1026Chavez D MorascaIndia2024-05-28Chapman, Ross E Esq PROPOSAL2Asiya Javayant
1027Kaitlin K ShinkoFrance2024-06-15Feiner Bros PROPOSAL66Anna Fali
1028Murillo Z MarrierRussia2024-06-18Commercial Press UNQUALIFIED39Amy Elsner
1029Munro P AmigonRussia2024-05-28Truhlar And Truhlar Attys NEGOTIATION51Bernardo Dominic
1030Adams I IturbideCanada2024-06-21Buckley Miller Wright NEW14Xuxue Feng
1031Silvio H ButtCanada2024-06-11Benton, John B Jr PROPOSAL72Ivan Magalhaes
1032Salvatore M BologniaIndia2024-06-07Buckley Miller Wright NEGOTIATION58Ivan Magalhaes
1033Izzy R SlusarskiRussia2024-06-18Feltz Printing Service QUALIFIED47Anna Fali
1034Kaitlin K GarufiSpain2024-06-14Chanay, Jeffrey A Esq UNQUALIFIED48Ioni Bowcher
1035Stacey M ShinkoSpain2024-05-25Commercial Press QUALIFIED92Elwin Sharvill
1036Nicolas Q OldroydAustralia2024-06-06Printing Dimensions PROPOSAL82Xuxue Feng
1037Misaki Q BriddickUnited Kingdom2024-06-11Truhlar And Truhlar Attys NEGOTIATION83Ioni Bowcher
1038David J BologniaArgentina2024-06-12King, Christopher A Esq PROPOSAL20Amy Elsner
1039Ivar I SchemmerGermany2024-05-28Dorl, James J Esq NEW29Xuxue Feng
1040Emily R PoquetteArgentina2024-06-07Truhlar And Truhlar Attys QUALIFIED3Bernardo Dominic
1041Ashley Q BowleyCanada2024-06-18Truhlar And Truhlar Attys NEGOTIATION57Asiya Javayant
1042Salvatore J RoysterIndia2024-06-04Chemel, James L Cpa RENEWAL7Stephen Shaw
1043Adams U NestleUnited Kingdom2024-06-05Chapman, Ross E Esq NEGOTIATION8Onyama Limba
1044Morrow I CaudyAustralia2024-06-06Buckley Miller Wright RENEWAL93Bernardo Dominic
1045Antonio X AmigonGermany2024-06-21Feltz Printing Service UNQUALIFIED56Amy Elsner
1046Juan Q PaprockiUnited Kingdom2024-06-07Commercial Press PROPOSAL25Asiya Javayant
1047Cody P BriddickIndia2024-06-03Chapman, Ross E Esq NEGOTIATION84Anna Fali
1048Antonio R SlusarskiJapan2024-06-21Rousseaux, Michael Esq PROPOSAL2Onyama Limba
1049Jeanfrancois E RutaJapan2024-05-24Dorl, James J Esq UNQUALIFIED50Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Stacey J BowleyItalyIvan Magalhaes NEGOTIATION
Maisha P MorascaUnited KingdomAmy Elsner NEW
Johnson B GillianArgentinaIvan Magalhaes QUALIFIED
Nicolas V DarakjyArgentinaAsiya Javayant UNQUALIFIED
Leja X FerenczCanadaOnyama Limba NEGOTIATION
Aruna H NickaFranceXuxue Feng PROPOSAL
Clifford I OstroskySpainStephen Shaw NEGOTIATION
Smith U BowleyRussiaAsiya Javayant UNQUALIFIED
Johnson X GlickAustraliaStephen Shaw NEW
Jennifer Y FerenczBrazilIvan Magalhaes QUALIFIED
Misaki Y KolmetzJapanIoni Bowcher RENEWAL
Sinclair U BologniaArgentinaAnna Fali NEW
Francesco B StockhamAustraliaAnna Fali UNQUALIFIED
Darci H BologniaJapanStephen Shaw RENEWAL
Aruna S NestleFranceXuxue Feng QUALIFIED
Munro G FigeroaBrazilElwin Sharvill UNQUALIFIED
Claire W OstroskyIndiaBernardo Dominic UNQUALIFIED
Emily V TollnerAustraliaAmy Elsner NEW
Izzy A KolmetzSpainIoni Bowcher QUALIFIED
Rodrigues F MarrierCanadaElwin Sharvill QUALIFIED
Kaitlin R CampainBrazilOnyama Limba PROPOSAL
Rodrigues V KolmetzSpainAnna Fali UNQUALIFIED
Maria N KolmetzAustraliaOnyama Limba NEGOTIATION
Maria R StensethRussiaBernardo Dominic NEGOTIATION
Morrow T WieserArgentinaAsiya Javayant QUALIFIED
Octavia W AmigonUnited KingdomBernardo Dominic NEW
Jones L PaprockiCanadaOnyama Limba NEGOTIATION
Octavia J TollnerSpainBernardo Dominic NEW
Deepesh F InouyeUnited KingdomXuxue Feng QUALIFIED
Greenwood I VenereItalyAnna Fali NEGOTIATION
Murillo D NickaArgentinaXuxue Feng NEW
Jennifer D SchemmerGermanyBernardo Dominic QUALIFIED
Aika M KuskoJapanIvan Magalhaes PROPOSAL
Maisha F MaletBrazilBernardo Dominic NEGOTIATION
Darci T WaycottBrazilAnna Fali NEW
Julie W SaylorsSpainElwin Sharvill UNQUALIFIED
Kadeem D FollerIndiaElwin Sharvill NEGOTIATION
David O MorascaFranceAnna Fali NEW
Clifford V BowleyItalyAmy Elsner UNQUALIFIED
Greenwood P ShinkoItalyIvan Magalhaes RENEWAL
Maria E MacleadUnited KingdomXuxue Feng NEGOTIATION
Cody X RulapaughBrazilElwin Sharvill QUALIFIED
Adams H OstroskyArgentinaStephen Shaw RENEWAL
Deepesh A CaldareraBrazilAmy Elsner QUALIFIED
Ivar M RoysterItalyBernardo Dominic NEW
Claire P StensethAustraliaIoni Bowcher QUALIFIED
Aditya T CampainBrazilXuxue Feng UNQUALIFIED
Juan A RulapaughGermanyXuxue Feng QUALIFIED
Silvio Z SchemmerItalyAnna Fali NEGOTIATION
Jefferson U InouyeSpainAsiya Javayant QUALIFIED
Frozen Columns
Name
Misaki J Tollner
Ricardo C Kolmetz
Misaki N Kolmetz
David B Nestle
Johnson K Campain
Alejandro D Darakjy
Jeanfrancois F Briddick
Chavez E Gaucho
Maisha I Darakjy
Darci K Caldarera
Jones P Tollner
Morrow P Gaucho
Antonio F Gaucho
Murillo R Royster
Adams N Stockham
Octavia K Whobrey
Darci S Malet
Rodrigues C Flosi
Costa V Saylors
Emily R Rulapaugh
Smith Q Kolmetz
Maria W Saylors
Clifford F Nestle
Aika S Waycott
Ashley F Figeroa
Adams Q Caldarera
Aika Z Garufi
Leon A Kolmetz
Aika S Waycott
Octavia C Shinko
Mayumi T Ferencz
Mujtaba E Butt
Antonio D Malet
Wickens T Schemmer
Maisha N Malet
Isabel O Shinko
Rodrigues Z Iturbide
Johnson A Nicka
Adams R Saylors
Jefferson Z Marrier
Costa Q Shinko
Nicolas H Caudy
Rodrigues G Paprocki
Kadeem A Glick
Julie P Caldarera
Leon J Gillian
Darci W Flosi
Jeanfrancois J Nicka
Darci P Marrier
Salvatore Q Nestle
IdCountryDate
1000United Kingdom2024-05-26
1001Argentina2024-05-24
1002Brazil2024-05-26
1003Canada2024-05-25
1004Australia2024-05-29
1005Argentina2024-05-23
1006Argentina2024-05-26
1007France2024-06-05
1008Argentina2024-06-20
1009Russia2024-06-18
1010Germany2024-06-13
1011Brazil2024-05-28
1012Italy2024-05-27
1013Argentina2024-06-19
1014Japan2024-06-19
1015Argentina2024-06-09
1016Japan2024-06-15
1017Brazil2024-06-17
1018Australia2024-06-16
1019United Kingdom2024-06-10
1020Spain2024-05-23
1021Italy2024-05-26
1022Spain2024-06-11
1023Germany2024-05-29
1024Japan2024-05-30
1025India2024-06-19
1026Canada2024-06-13
1027Canada2024-06-08
1028India2024-05-30
1029Italy2024-06-15
1030France2024-06-16
1031United Kingdom2024-06-03
1032Brazil2024-06-12
1033Canada2024-06-17
1034Canada2024-06-06
1035Russia2024-06-14
1036France2024-06-07
1037Argentina2024-06-16
1038Russia2024-05-30
1039Germany2024-06-11
1040Russia2024-05-29
1041Russia2024-06-06
1042United Kingdom2024-06-14
1043Italy2024-06-08
1044Spain2024-06-19
1045Argentina2024-06-05
1046Brazil2024-06-04
1047Brazil2024-06-21
1048Argentina2024-06-13
1049Spain2024-06-04

On-Demand Data

NameIdCountryDate
Aditya X Malet1000Canada2024-05-29
Costa A Caldarera1001Spain2024-06-17
Jefferson V Glick1002Japan2024-06-04
James I Venere1003United Kingdom2024-05-29
Maria G Ostrosky1004India2024-06-19
Aditya B Caldarera1005Italy2024-05-23
Juan Z Whobrey1006Brazil2024-06-21
Octavia W Waycott1007Canada2024-06-06
Rodrigues A Paprocki1008Brazil2024-06-11
Jeanfrancois V Sergi1009Italy2024-05-25
Jefferson H Rim1010Spain2024-06-17
Kaitlin X Vocelka1011Japan2024-06-07
Ivar R Campain1012Spain2024-06-13
Darci N Stenseth1013France2024-06-12
Murillo L Morasca1014Russia2024-05-28
Darci V Rim1015India2024-06-07
Ricardo E Ferencz1016Brazil2024-05-29
Octavia J Royster1017Australia2024-06-01
Ashley P Poquette1018Brazil2024-05-30
Aditya B Morasca1019Spain2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire R CaudyBrazilIoni Bowcher QUALIFIED
Francesco H GauchoCanadaAmy Elsner NEW
Murillo A RutaSpainStephen Shaw RENEWAL
Mujtaba A GarufiSpainAmy Elsner NEGOTIATION
Rodrigues G VocelkaAustraliaElwin Sharvill QUALIFIED
Kadeem N ChuiGermanyIoni Bowcher RENEWAL
Jones H StensethFranceXuxue Feng NEGOTIATION
Darci Q VocelkaCanadaOnyama Limba NEW
Faith N PoquetteSpainStephen Shaw NEGOTIATION
Leon I SergiIndiaIoni Bowcher UNQUALIFIED
Aditya T MarrierItalyElwin Sharvill NEW
James O OldroydIndiaOnyama Limba NEGOTIATION
Izzy Z RulapaughRussiaIoni Bowcher QUALIFIED
Sinclair J OldroydJapanAsiya Javayant NEGOTIATION
Stacey U IturbideAustraliaAsiya Javayant UNQUALIFIED
Aruna P SlusarskiGermanyOnyama Limba RENEWAL
Stacey K KuskoItalyXuxue Feng PROPOSAL
Aruna R FigeroaCanadaAmy Elsner UNQUALIFIED
Emily Y DilliardFranceAnna Fali NEW
Arvin C ShinkoGermanyOnyama Limba NEGOTIATION
Deepesh F FlosiJapanElwin Sharvill PROPOSAL
Aika W SaylorsRussiaIvan Magalhaes PROPOSAL
Jefferson I FlosiRussiaBernardo Dominic NEGOTIATION
Greenwood S RutaUnited KingdomAmy Elsner NEGOTIATION
Antonio J GarufiAustraliaAnna Fali UNQUALIFIED
Costa X GillianJapanOnyama Limba RENEWAL
Arvin A KuskoUnited KingdomElwin Sharvill NEGOTIATION
Johnson J RulapaughGermanyAsiya Javayant PROPOSAL
James H ButtBrazilIoni Bowcher NEW
Darci F DoeUnited KingdomStephen Shaw NEW
Deepesh Y FigeroaJapanBernardo Dominic UNQUALIFIED
Juan I CaldareraCanadaElwin Sharvill NEW
Leja X AlbaresSpainAmy Elsner PROPOSAL
Francesco Y TollnerCanadaOnyama Limba NEW
Ricardo Y MarrierItalyAsiya Javayant QUALIFIED
Maria N StensethJapanAnna Fali NEGOTIATION
Costa J CampainSpainAmy Elsner RENEWAL
Smith W MacleadCanadaXuxue Feng UNQUALIFIED
Deepesh S RoysterFranceOnyama Limba NEGOTIATION
Wickens V SaylorsAustraliaAsiya Javayant 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>