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
Morrow J WhobreyCanadaIoni Bowcher NEGOTIATION
Rodrigues K TollnerSpainBernardo Dominic RENEWAL
Faith U MorascaItalyAmy Elsner RENEWAL
Claire E WieserSpainElwin Sharvill RENEWAL
Wickens L DoeItalyAnna Fali QUALIFIED
Antonio Q KolmetzArgentinaAsiya Javayant PROPOSAL
Sinclair E DarakjyFranceIoni Bowcher RENEWAL
Kaitlin B VenereCanadaIoni Bowcher RENEWAL
Jeanfrancois B NickaBrazilStephen Shaw QUALIFIED
Juan Z CampainBrazilIvan Magalhaes UNQUALIFIED
David D OldroydBrazilElwin Sharvill QUALIFIED
James A GlickItalyOnyama Limba UNQUALIFIED
Ricardo O FollerSpainStephen Shaw PROPOSAL
Ivar C SchemmerSpainAmy Elsner RENEWAL
Chavez K CaudyAustraliaStephen Shaw PROPOSAL
Antonio W StensethRussiaOnyama Limba RENEWAL
Misaki R PaprockiBrazilOnyama Limba NEGOTIATION
Francesco M RimArgentinaIoni Bowcher PROPOSAL
Leja T GillianArgentinaElwin Sharvill QUALIFIED
Wickens P MacleadArgentinaXuxue Feng UNQUALIFIED
Greenwood N RoysterUnited KingdomOnyama Limba QUALIFIED
Francesco G AlbaresIndiaIvan Magalhaes NEW
Mujtaba O TollnerIndiaXuxue Feng QUALIFIED
Alejandro T DilliardAustraliaIvan Magalhaes NEW
Ricardo B BologniaUnited KingdomOnyama Limba NEGOTIATION
Stacey S RimAustraliaAsiya Javayant UNQUALIFIED
Adams I NestleFranceStephen Shaw NEGOTIATION
Arvin J BologniaSpainIvan Magalhaes QUALIFIED
Aruna K NestleItalyAnna Fali RENEWAL
Murillo I WieserItalyAsiya Javayant PROPOSAL
Jeanfrancois U SergiIndiaAmy Elsner RENEWAL
Octavia S SlusarskiItalyAnna Fali NEW
Leja J BowleyBrazilElwin Sharvill NEGOTIATION
Mayumi F NickaRussiaXuxue Feng RENEWAL
Ashley M GauchoUnited KingdomXuxue Feng QUALIFIED
Chavez J SergiRussiaAnna Fali RENEWAL
Mujtaba M GarufiUnited KingdomAsiya Javayant RENEWAL
Tony K KuskoCanadaAsiya Javayant NEW
Adams U SchemmerAustraliaBernardo Dominic PROPOSAL
David M CampainGermanyIvan Magalhaes PROPOSAL
Tony A MaletIndiaAsiya Javayant RENEWAL
Ashley P IturbideItalyStephen Shaw UNQUALIFIED
Arvin N OldroydGermanyXuxue Feng NEW
Mujtaba E MarrierGermanyAmy Elsner QUALIFIED
Darci S RulapaughArgentinaBernardo Dominic QUALIFIED
Ashley V KolmetzAustraliaIoni Bowcher NEGOTIATION
Stacey H StensethBrazilXuxue Feng QUALIFIED
Maisha A AmigonGermanyXuxue Feng UNQUALIFIED
Faith J ShinkoBrazilElwin Sharvill PROPOSAL
Chavez W RimArgentinaElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Claire G NestleSpainElwin Sharvill NEW
Alejandro S CampainItalyOnyama Limba NEGOTIATION
Francesco J FerenczArgentinaStephen Shaw UNQUALIFIED
Francesco T OstroskyArgentinaAmy Elsner NEW
Nicolas A MacleadArgentinaXuxue Feng QUALIFIED
Rodrigues J BologniaBrazilAnna Fali QUALIFIED
Francesco S StensethSpainOnyama Limba NEGOTIATION
Silvio X VenereIndiaAsiya Javayant UNQUALIFIED
Nicolas N FlosiJapanAsiya Javayant UNQUALIFIED
Nicolas T SlusarskiArgentinaIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer B DoeItaly2024-05-14Benton, John B Jr PROPOSAL64Stephen Shaw
1001Cody N SlusarskiArgentina2024-05-06Benton, John B Jr PROPOSAL19Amy Elsner
1002Mayumi V DilliardAustralia2024-05-01Rangoni Of Florence UNQUALIFIED8Anna Fali
1003Arvin U FigeroaFrance2024-05-18Feltz Printing Service NEW0Anna Fali
1004Emily Z OstroskySpain2024-05-07Printing Dimensions QUALIFIED27Amy Elsner
1005Aruna R RutaCanada2024-05-04King, Christopher A Esq PROPOSAL56Bernardo Dominic
1006Leon K CaldareraUnited Kingdom2024-05-02Feltz Printing Service RENEWAL9Bernardo Dominic
1007Mayumi U CaldareraFrance2024-05-02Truhlar And Truhlar Attys QUALIFIED33Elwin Sharvill
1008Kadeem P StensethAustralia2024-05-02Truhlar And Truhlar Attys NEW3Asiya Javayant
1009Antonio Q CaudyJapan2024-05-26Morlong Associates NEGOTIATION53Xuxue Feng
1010Tony X InouyeAustralia2024-05-23Rousseaux, Michael Esq QUALIFIED35Bernardo Dominic
1011Cody B StensethFrance2024-04-28Truhlar And Truhlar Attys UNQUALIFIED83Amy Elsner
1012Juan Q StensethSpain2024-05-24Printing Dimensions NEW35Ioni Bowcher
1013Chavez A DarakjyCanada2024-04-29Chanay, Jeffrey A Esq UNQUALIFIED20Ivan Magalhaes
1014Claire R PoquetteSpain2024-05-05Chanay, Jeffrey A Esq UNQUALIFIED52Bernardo Dominic
1015Faith G AlbaresJapan2024-05-25Truhlar And Truhlar Attys RENEWAL36Ioni Bowcher
1016Mujtaba S SaylorsUnited Kingdom2024-04-27Morlong Associates QUALIFIED14Amy Elsner
1017Munro Q OstroskyIndia2024-05-02Rousseaux, Michael Esq NEGOTIATION10Amy Elsner
1018Leja W RutaAustralia2024-05-21Truhlar And Truhlar Attys UNQUALIFIED75Bernardo Dominic
1019Aditya G GarufiArgentina2024-05-11Printing Dimensions UNQUALIFIED78Amy Elsner
1020Johnson N WieserJapan2024-05-21Chanay, Jeffrey A Esq NEGOTIATION9Xuxue Feng
1021Darci B RutaIndia2024-04-29Feiner Bros RENEWAL78Ioni Bowcher
1022Jefferson N AlbaresArgentina2024-04-27Benton, John B Jr NEGOTIATION43Elwin Sharvill
1023Maria Q SergiRussia2024-05-22Commercial Press NEW45Ioni Bowcher
1024Smith F FerenczGermany2024-05-21Chanay, Jeffrey A Esq NEW14Anna Fali
1025Salvatore U WaycottJapan2024-05-22Rangoni Of Florence PROPOSAL72Amy Elsner
1026Sinclair F DarakjyAustralia2024-05-14Rangoni Of Florence RENEWAL89Asiya Javayant
1027Julie K SergiItaly2024-05-23Buckley Miller Wright UNQUALIFIED44Amy Elsner
1028Nicolas C VocelkaArgentina2024-05-16Benton, John B Jr NEGOTIATION71Bernardo Dominic
1029Jennifer X AlbaresFrance2024-05-07King, Christopher A Esq NEW33Xuxue Feng
1030Maria A MaletCanada2024-05-12Buckley Miller Wright RENEWAL84Xuxue Feng
1031Cody Z KolmetzSpain2024-05-15Chapman, Ross E Esq NEGOTIATION53Ioni Bowcher
1032Stacey U FollerUnited Kingdom2024-05-15Chanay, Jeffrey A Esq NEGOTIATION26Bernardo Dominic
1033Faith X CaudyAustralia2024-05-17Chapman, Ross E Esq NEW43Xuxue Feng
1034Nicolas I VenereGermany2024-05-09Chapman, Ross E Esq UNQUALIFIED3Stephen Shaw
1035Tony N BriddickJapan2024-05-23Dorl, James J Esq QUALIFIED92Elwin Sharvill
1036Alejandro O PerinCanada2024-05-21Printing Dimensions RENEWAL68Ioni Bowcher
1037James H StensethIndia2024-05-17King, Christopher A Esq UNQUALIFIED4Amy Elsner
1038Alejandro Y PoquetteArgentina2024-05-12Feiner Bros NEW42Asiya Javayant
1039Munro W DarakjyIndia2024-04-27Chemel, James L Cpa NEGOTIATION20Asiya Javayant
1040Salvatore M CampainIndia2024-05-23Rousseaux, Michael Esq PROPOSAL17Asiya Javayant
1041Claire Q GauchoIndia2024-05-20Printing Dimensions NEGOTIATION96Ivan Magalhaes
1042Cody E OstroskyGermany2024-04-29Truhlar And Truhlar Attys RENEWAL16Anna Fali
1043Stacey U KuskoFrance2024-05-15Commercial Press UNQUALIFIED47Ivan Magalhaes
1044Sinclair Q RimJapan2024-05-17Benton, John B Jr NEW39Anna Fali
1045Ivar Y GauchoItaly2024-05-08Printing Dimensions PROPOSAL23Elwin Sharvill
1046Munro R PaprockiIndia2024-05-26Rangoni Of Florence NEW70Stephen Shaw
1047Aika E SchemmerBrazil2024-05-26Printing Dimensions NEW81Bernardo Dominic
1048Arvin M TollnerItaly2024-05-09Dorl, James J Esq PROPOSAL59Stephen Shaw
1049Murillo G WieserSpain2024-05-12Rousseaux, Michael Esq UNQUALIFIED28Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Johnson G VocelkaSpainAsiya Javayant PROPOSAL
Jones O RoysterSpainElwin Sharvill QUALIFIED
Jeanfrancois V MacleadRussiaXuxue Feng NEW
Ashley C PoquetteJapanAsiya Javayant QUALIFIED
Alejandro H DilliardCanadaXuxue Feng QUALIFIED
Maria G WieserArgentinaElwin Sharvill UNQUALIFIED
Rodrigues B DoeUnited KingdomAsiya Javayant NEW
Maria Z SchemmerRussiaIoni Bowcher NEW
Ashley E CampainUnited KingdomXuxue Feng UNQUALIFIED
Costa F OstroskyBrazilBernardo Dominic RENEWAL
Maria U KuskoCanadaElwin Sharvill UNQUALIFIED
Rodrigues Q KolmetzBrazilBernardo Dominic PROPOSAL
Arvin Z RutaItalyElwin Sharvill QUALIFIED
Maisha Z CaudyUnited KingdomBernardo Dominic RENEWAL
Misaki W NickaArgentinaBernardo Dominic QUALIFIED
Alejandro N AmigonItalyAmy Elsner RENEWAL
Sinclair Q WieserJapanXuxue Feng PROPOSAL
Cody H FollerCanadaIoni Bowcher PROPOSAL
Kadeem L GillianIndiaAnna Fali QUALIFIED
Julie Z AlbaresFranceAnna Fali UNQUALIFIED
Aika L ShinkoSpainAmy Elsner RENEWAL
Arvin R WieserArgentinaStephen Shaw NEW
Kaitlin O DoeJapanStephen Shaw NEGOTIATION
Ivar V WhobreyRussiaAnna Fali NEW
Kadeem W MarrierArgentinaStephen Shaw UNQUALIFIED
Cody R ShinkoUnited KingdomIvan Magalhaes RENEWAL
Salvatore C BowleyRussiaAnna Fali NEW
Juan W ShinkoUnited KingdomIoni Bowcher UNQUALIFIED
Aika I SaylorsFranceElwin Sharvill RENEWAL
Salvatore C CaldareraBrazilStephen Shaw NEGOTIATION
Silvio J WhobreyItalyAmy Elsner NEW
Tony Q VenereGermanyBernardo Dominic UNQUALIFIED
Ashley R KolmetzJapanAsiya Javayant NEGOTIATION
Smith S SchemmerFranceIoni Bowcher NEW
Juan W CaldareraAustraliaAsiya Javayant PROPOSAL
Emily Y FollerArgentinaIoni Bowcher UNQUALIFIED
Alejandro E KolmetzCanadaXuxue Feng UNQUALIFIED
Misaki P FigeroaFranceIoni Bowcher NEW
Greenwood A MarrierIndiaOnyama Limba QUALIFIED
Aditya X FlosiCanadaAsiya Javayant UNQUALIFIED
Smith R NickaGermanyIvan Magalhaes PROPOSAL
Sinclair K SergiJapanIoni Bowcher PROPOSAL
Ricardo H VenereItalyOnyama Limba NEW
Silvio I BologniaRussiaAnna Fali PROPOSAL
Rodrigues Q InouyeUnited KingdomAnna Fali PROPOSAL
Ashley B ButtArgentinaElwin Sharvill NEGOTIATION
Tony B SlusarskiFranceAsiya Javayant QUALIFIED
Murillo L BriddickCanadaBernardo Dominic PROPOSAL
Silvio X OldroydItalyElwin Sharvill QUALIFIED
Jeanfrancois K CampainIndiaOnyama Limba UNQUALIFIED
Frozen Columns
Name
Jones C Sergi
Isabel L Gillian
Juan U Nicka
Leja Y Whobrey
Silvio P Stenseth
Maisha Z Kusko
Octavia R Iturbide
Adams Y Inouye
Mayumi Y Royster
Clifford Q Briddick
Tony R Oldroyd
Tony S Chui
Aditya O Malet
Jones Z Briddick
Nicolas W Ferencz
Stacey B Garufi
Jefferson K Caldarera
James X Slusarski
Aika A Iturbide
Mujtaba Z Royster
Arvin K Campain
Clifford R Butt
Cody N Ferencz
Leja M Nicka
Antonio G Stenseth
Darci S Butt
Jeanfrancois W Marrier
Claire N Flosi
James O Saylors
Isabel K Nestle
Johnson Z Vocelka
Kadeem X Waycott
Smith F Gillian
Kadeem G Dilliard
Alejandro P Marrier
Tony G Stenseth
Smith T Bolognia
Stacey S Bolognia
Tony N Caudy
Octavia J Nestle
Isabel Y Dilliard
Misaki S Bowley
Kadeem D Shinko
Greenwood V Saylors
Smith B Bolognia
Wickens I Gillian
Tony S Paprocki
Ashley Y Royster
Octavia I Oldroyd
Munro E Dilliard
IdCountryDate
1000Argentina2024-05-14
1001France2024-05-25
1002Argentina2024-05-17
1003Brazil2024-05-26
1004United Kingdom2024-05-02
1005Argentina2024-05-02
1006Spain2024-05-25
1007Italy2024-05-21
1008India2024-05-02
1009Germany2024-05-25
1010Brazil2024-05-11
1011Brazil2024-05-02
1012Russia2024-04-29
1013Australia2024-05-13
1014Brazil2024-04-28
1015Italy2024-05-01
1016Germany2024-05-18
1017Canada2024-05-03
1018Australia2024-05-24
1019Canada2024-05-15
1020Italy2024-04-27
1021France2024-05-02
1022Russia2024-05-24
1023India2024-05-14
1024Argentina2024-05-10
1025Argentina2024-05-02
1026Japan2024-05-15
1027Brazil2024-05-03
1028Argentina2024-05-10
1029Japan2024-04-30
1030India2024-05-08
1031Russia2024-05-15
1032Italy2024-05-15
1033Italy2024-04-30
1034Australia2024-05-03
1035Australia2024-05-24
1036Japan2024-05-01
1037Germany2024-05-04
1038France2024-05-04
1039India2024-04-30
1040France2024-04-30
1041Canada2024-05-17
1042Argentina2024-05-16
1043Spain2024-05-12
1044Australia2024-05-05
1045Argentina2024-05-03
1046Germany2024-05-22
1047Argentina2024-05-21
1048Argentina2024-05-02
1049Argentina2024-05-21

On-Demand Data

NameIdCountryDate
Jeanfrancois Y Whobrey1000Argentina2024-05-24
Munro Q Campain1001Germany2024-05-17
Mayumi D Stockham1002Japan2024-05-15
Jefferson I Paprocki1003Spain2024-05-17
Mayumi A Gaucho1004Russia2024-05-09
Johnson Y Royster1005Russia2024-05-13
Maria K Briddick1006India2024-05-07
Ivar E Iturbide1007Argentina2024-05-19
Rodrigues V Briddick1008Russia2024-04-28
Greenwood X Bolognia1009Japan2024-04-29
Morrow S Briddick1010India2024-05-07
Antonio V Caudy1011Canada2024-04-27
Stacey G Oldroyd1012India2024-05-12
Jones J Campain1013Germany2024-05-12
Johnson H Foller1014India2024-04-30
Smith K Garufi1015Japan2024-05-13
Morrow F Venere1016Italy2024-05-21
Murillo L Stockham1017Italy2024-05-18
Rodrigues Q Royster1018Russia2024-05-19
Sinclair B Stenseth1019Germany2024-05-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha S WaycottIndiaElwin Sharvill NEGOTIATION
Maria Q PoquetteArgentinaBernardo Dominic NEW
Juan M RoysterArgentinaOnyama Limba PROPOSAL
Ivar J PerinIndiaAmy Elsner QUALIFIED
Jeanfrancois A ShinkoArgentinaStephen Shaw QUALIFIED
Claire U MaletRussiaElwin Sharvill NEGOTIATION
Alejandro T NestleUnited KingdomBernardo Dominic PROPOSAL
Sinclair S ButtAustraliaIoni Bowcher NEGOTIATION
Leon A GarufiRussiaIvan Magalhaes NEW
Mayumi S WieserArgentinaOnyama Limba PROPOSAL
Jeanfrancois T CaldareraJapanAnna Fali UNQUALIFIED
Morrow N PerinItalyAnna Fali NEGOTIATION
Francesco W StockhamRussiaStephen Shaw UNQUALIFIED
Chavez S ShinkoItalyAsiya Javayant QUALIFIED
Johnson K GauchoBrazilStephen Shaw NEW
Kaitlin U RoysterIndiaIvan Magalhaes UNQUALIFIED
Juan K OstroskyJapanXuxue Feng PROPOSAL
Wickens O IturbideUnited KingdomAmy Elsner UNQUALIFIED
Leon S SlusarskiJapanIvan Magalhaes PROPOSAL
Smith E BologniaIndiaIvan Magalhaes NEGOTIATION
David S WieserAustraliaOnyama Limba PROPOSAL
Deepesh Q CaldareraRussiaAmy Elsner PROPOSAL
Leja Z WieserArgentinaIoni Bowcher NEGOTIATION
Morrow U AmigonRussiaAmy Elsner PROPOSAL
Clifford K SaylorsUnited KingdomXuxue Feng NEGOTIATION
Jeanfrancois T WhobreyUnited KingdomAmy Elsner NEW
Jeanfrancois C GarufiArgentinaIoni Bowcher PROPOSAL
Jennifer T KuskoFranceIoni Bowcher RENEWAL
Murillo E GarufiArgentinaElwin Sharvill QUALIFIED
Jeanfrancois F BowleyUnited KingdomIvan Magalhaes QUALIFIED
Johnson Z WaycottCanadaBernardo Dominic UNQUALIFIED
Smith O NickaArgentinaXuxue Feng UNQUALIFIED
Juan O InouyeArgentinaAmy Elsner NEGOTIATION
Jeanfrancois V RutaArgentinaAsiya Javayant QUALIFIED
Mayumi O BriddickItalyAnna Fali NEW
Misaki K DarakjyGermanyIvan Magalhaes NEGOTIATION
Smith R GarufiRussiaIvan Magalhaes QUALIFIED
Izzy I PoquetteRussiaAmy Elsner NEW
Arvin N CaldareraSpainBernardo Dominic UNQUALIFIED
Faith K NestleJapanAsiya Javayant QUALIFIED

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