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
Juan V OldroydRussiaBernardo Dominic RENEWAL
Smith W FerenczIndiaOnyama Limba QUALIFIED
Ivar R AmigonArgentinaIvan Magalhaes UNQUALIFIED
Cody N MaletGermanyOnyama Limba NEGOTIATION
Kadeem S DilliardGermanyAsiya Javayant RENEWAL
Clifford H GauchoBrazilAsiya Javayant NEGOTIATION
Jennifer B SchemmerArgentinaIoni Bowcher UNQUALIFIED
Maria L NestleRussiaIvan Magalhaes RENEWAL
Johnson A DarakjySpainAnna Fali PROPOSAL
Silvio N FigeroaAustraliaOnyama Limba RENEWAL
Salvatore Q StockhamBrazilXuxue Feng UNQUALIFIED
Jeanfrancois W DilliardGermanyXuxue Feng NEW
Kaitlin E ButtCanadaXuxue Feng PROPOSAL
Greenwood G NestleBrazilBernardo Dominic PROPOSAL
Aika R PerinAustraliaElwin Sharvill NEGOTIATION
Deepesh U RutaBrazilAmy Elsner NEGOTIATION
Faith H IturbideGermanyStephen Shaw PROPOSAL
Maisha X FerenczArgentinaIoni Bowcher QUALIFIED
Morrow O ShinkoGermanyIoni Bowcher NEW
Juan S StockhamRussiaXuxue Feng UNQUALIFIED
Emily T AmigonUnited KingdomBernardo Dominic RENEWAL
Alejandro J KolmetzCanadaXuxue Feng UNQUALIFIED
Tony P WhobreyRussiaAmy Elsner UNQUALIFIED
Jefferson X PoquetteArgentinaBernardo Dominic UNQUALIFIED
Misaki O WieserUnited KingdomStephen Shaw QUALIFIED
Izzy L RimIndiaAnna Fali NEW
Morrow E AmigonItalyOnyama Limba UNQUALIFIED
Deepesh H VenereJapanAsiya Javayant RENEWAL
Jones G BriddickSpainAnna Fali QUALIFIED
Jennifer L NestleItalyAsiya Javayant UNQUALIFIED
Leja Y RulapaughUnited KingdomAmy Elsner PROPOSAL
Francesco E DarakjyUnited KingdomXuxue Feng RENEWAL
Maria O RulapaughCanadaIvan Magalhaes UNQUALIFIED
Darci W DilliardBrazilOnyama Limba NEGOTIATION
Antonio F DilliardBrazilXuxue Feng UNQUALIFIED
Isabel P StensethCanadaIvan Magalhaes RENEWAL
Darci M GillianRussiaElwin Sharvill RENEWAL
Misaki M CaldareraUnited KingdomXuxue Feng QUALIFIED
Nicolas U NickaGermanyIvan Magalhaes RENEWAL
Smith J CaudyRussiaXuxue Feng RENEWAL
Mujtaba V KolmetzJapanIvan Magalhaes UNQUALIFIED
Greenwood X NickaFranceXuxue Feng QUALIFIED
Greenwood L ChuiCanadaOnyama Limba NEGOTIATION
Aruna N StockhamIndiaAsiya Javayant NEGOTIATION
Antonio F CaldareraIndiaOnyama Limba PROPOSAL
Kaitlin S WaycottGermanyIvan Magalhaes PROPOSAL
Aditya F OstroskyUnited KingdomIvan Magalhaes NEW
James Y SlusarskiSpainStephen Shaw UNQUALIFIED
Antonio W DarakjyCanadaAnna Fali QUALIFIED
Cody I WieserCanadaAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Rodrigues L TollnerJapanStephen Shaw NEW
Jones J BriddickAustraliaIvan Magalhaes QUALIFIED
Leja G FigeroaSpainBernardo Dominic RENEWAL
Isabel Z CampainFranceBernardo Dominic NEGOTIATION
Morrow G MacleadCanadaAsiya Javayant RENEWAL
Ivar G FollerSpainElwin Sharvill UNQUALIFIED
Costa Y PaprockiAustraliaIvan Magalhaes NEW
Munro S SlusarskiItalyAsiya Javayant NEW
Deepesh S FigeroaIndiaXuxue Feng PROPOSAL
Maria M PerinSpainXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez L SchemmerIndia2024-05-16Dorl, James J Esq RENEWAL57Stephen Shaw
1001Clifford W ShinkoItaly2024-05-13Buckley Miller Wright NEGOTIATION50Ioni Bowcher
1002Kaitlin C BologniaItaly2024-05-14Morlong Associates QUALIFIED43Ivan Magalhaes
1003Isabel V MaletItaly2024-04-28Morlong Associates UNQUALIFIED10Ioni Bowcher
1004Ashley N SaylorsRussia2024-05-26Buckley Miller Wright RENEWAL48Asiya Javayant
1005Jefferson T DarakjyRussia2024-05-11Rangoni Of Florence QUALIFIED35Asiya Javayant
1006Deepesh G FlosiItaly2024-05-07Chemel, James L Cpa NEW96Xuxue Feng
1007Maisha H OldroydIndia2024-05-19Chapman, Ross E Esq QUALIFIED85Ioni Bowcher
1008Sinclair K SlusarskiSpain2024-05-01Feiner Bros QUALIFIED69Ioni Bowcher
1009Francesco T WhobreyGermany2024-05-24Printing Dimensions NEW32Onyama Limba
1010Sinclair K TollnerBrazil2024-05-21Feltz Printing Service UNQUALIFIED36Ivan Magalhaes
1011Misaki R RutaFrance2024-05-08Benton, John B Jr RENEWAL48Asiya Javayant
1012Isabel U FerenczArgentina2024-04-29Commercial Press NEW46Ioni Bowcher
1013Antonio E IturbideRussia2024-05-09Chemel, James L Cpa NEW4Ivan Magalhaes
1014Darci O MarrierGermany2024-05-14Chapman, Ross E Esq NEW12Onyama Limba
1015Emily U MacleadAustralia2024-05-09Chemel, James L Cpa UNQUALIFIED37Ivan Magalhaes
1016Jeanfrancois B PoquetteIndia2024-05-14Dorl, James J Esq RENEWAL25Anna Fali
1017Tony H MarrierAustralia2024-05-24Dorl, James J Esq NEGOTIATION48Xuxue Feng
1018Juan G SlusarskiAustralia2024-05-15Commercial Press PROPOSAL52Amy Elsner
1019Kaitlin K MarrierUnited Kingdom2024-05-02Rangoni Of Florence PROPOSAL11Bernardo Dominic
1020Murillo R RimItaly2024-05-10Buckley Miller Wright PROPOSAL23Xuxue Feng
1021Jefferson M MaletBrazil2024-05-20Buckley Miller Wright RENEWAL47Xuxue Feng
1022Mayumi E MaletUnited Kingdom2024-05-14Rousseaux, Michael Esq QUALIFIED21Anna Fali
1023Jefferson L WaycottBrazil2024-05-06Chanay, Jeffrey A Esq RENEWAL89Ivan Magalhaes
1024Julie V RimUnited Kingdom2024-04-30Truhlar And Truhlar Attys NEW38Stephen Shaw
1025Faith I KolmetzAustralia2024-04-28Printing Dimensions UNQUALIFIED60Xuxue Feng
1026Aruna P SergiBrazil2024-05-19Printing Dimensions NEW15Onyama Limba
1027Nicolas P ShinkoCanada2024-05-24Commercial Press PROPOSAL29Bernardo Dominic
1028Alejandro Q MacleadAustralia2024-05-22Feiner Bros PROPOSAL61Asiya Javayant
1029Morrow D SergiFrance2024-05-18Chapman, Ross E Esq QUALIFIED52Amy Elsner
1030Morrow N WhobreyArgentina2024-05-05Truhlar And Truhlar Attys QUALIFIED34Elwin Sharvill
1031Julie F MarrierIndia2024-05-25Chemel, James L Cpa UNQUALIFIED86Asiya Javayant
1032Ricardo Q MorascaSpain2024-05-18Printing Dimensions NEW16Amy Elsner
1033Jones F MarrierAustralia2024-05-25Truhlar And Truhlar Attys PROPOSAL31Stephen Shaw
1034Jeanfrancois Y ShinkoAustralia2024-05-06Chanay, Jeffrey A Esq NEGOTIATION33Asiya Javayant
1035Maisha Q RutaArgentina2024-05-15Morlong Associates UNQUALIFIED93Onyama Limba
1036Darci O OstroskyRussia2024-04-27Benton, John B Jr PROPOSAL26Onyama Limba
1037Isabel R MaletItaly2024-05-10Buckley Miller Wright UNQUALIFIED25Asiya Javayant
1038Jones I NickaIndia2024-05-13Truhlar And Truhlar Attys PROPOSAL51Bernardo Dominic
1039Leja J WaycottUnited Kingdom2024-05-26Printing Dimensions UNQUALIFIED35Anna Fali
1040Izzy C BriddickBrazil2024-05-11Chapman, Ross E Esq NEGOTIATION30Ioni Bowcher
1041Antonio P PoquetteBrazil2024-05-24Feiner Bros UNQUALIFIED59Ioni Bowcher
1042Aika L BowleyRussia2024-05-26King, Christopher A Esq QUALIFIED45Ivan Magalhaes
1043Ricardo W RutaArgentina2024-05-20Dorl, James J Esq RENEWAL65Ivan Magalhaes
1044James J AlbaresRussia2024-05-13Rousseaux, Michael Esq RENEWAL97Bernardo Dominic
1045Tony O WaycottArgentina2024-05-23Truhlar And Truhlar Attys NEGOTIATION62Xuxue Feng
1046Deepesh Q OldroydItaly2024-05-08Morlong Associates RENEWAL79Amy Elsner
1047Clifford V NickaSpain2024-05-24Dorl, James J Esq PROPOSAL49Ivan Magalhaes
1048David F RutaAustralia2024-05-21Benton, John B Jr QUALIFIED98Asiya Javayant
1049Maria F KuskoIndia2024-04-30Benton, John B Jr PROPOSAL31Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Francesco M WieserIndiaAnna Fali NEGOTIATION
Antonio Y PerinCanadaXuxue Feng NEW
Nicolas K StensethItalyAnna Fali RENEWAL
Juan M WieserFranceElwin Sharvill RENEWAL
Clifford C FerenczGermanyBernardo Dominic NEW
Clifford T WaycottGermanyAsiya Javayant NEW
Juan L PaprockiUnited KingdomElwin Sharvill UNQUALIFIED
Aruna A SlusarskiGermanyAmy Elsner RENEWAL
Aika O KolmetzFranceOnyama Limba PROPOSAL
Arvin A KolmetzUnited KingdomBernardo Dominic QUALIFIED
Nicolas M PoquetteBrazilAmy Elsner PROPOSAL
Adams B ButtBrazilAmy Elsner NEGOTIATION
Jones P ChuiIndiaIoni Bowcher RENEWAL
Mayumi N FerenczIndiaIvan Magalhaes NEGOTIATION
David F GarufiArgentinaOnyama Limba PROPOSAL
Costa S SergiIndiaAmy Elsner RENEWAL
Maria W AmigonRussiaOnyama Limba QUALIFIED
Salvatore O BologniaFranceIoni Bowcher QUALIFIED
David A KuskoGermanyAnna Fali NEGOTIATION
Cody F WieserArgentinaElwin Sharvill NEGOTIATION
Octavia U DoeGermanyStephen Shaw PROPOSAL
Darci K RutaSpainAnna Fali NEGOTIATION
Octavia N WaycottUnited KingdomStephen Shaw PROPOSAL
Mujtaba W BologniaArgentinaIvan Magalhaes QUALIFIED
Munro A CaldareraUnited KingdomIvan Magalhaes UNQUALIFIED
Darci G PaprockiIndiaAsiya Javayant PROPOSAL
Darci Q MaletBrazilIvan Magalhaes NEGOTIATION
Greenwood X FerenczArgentinaIoni Bowcher NEGOTIATION
Faith Y WaycottItalyIvan Magalhaes NEGOTIATION
Sinclair G BowleyRussiaElwin Sharvill RENEWAL
Claire F ButtCanadaBernardo Dominic UNQUALIFIED
Smith Y MaletSpainBernardo Dominic PROPOSAL
Cody E ShinkoUnited KingdomElwin Sharvill NEW
Smith A KuskoUnited KingdomAsiya Javayant RENEWAL
Leja D InouyeSpainIoni Bowcher QUALIFIED
James K SlusarskiGermanyIoni Bowcher PROPOSAL
Costa J CaldareraBrazilAnna Fali PROPOSAL
Isabel F PerinUnited KingdomOnyama Limba RENEWAL
Ivar U VocelkaCanadaStephen Shaw NEGOTIATION
Leon W ShinkoItalyOnyama Limba QUALIFIED
Rodrigues L OldroydJapanAmy Elsner UNQUALIFIED
Greenwood D GauchoFranceElwin Sharvill UNQUALIFIED
Juan Y MorascaIndiaOnyama Limba PROPOSAL
Ricardo J BologniaBrazilXuxue Feng PROPOSAL
Juan H ShinkoFranceAsiya Javayant PROPOSAL
Maria X FlosiAustraliaAsiya Javayant NEW
Jones X PerinCanadaOnyama Limba QUALIFIED
Cody I SaylorsArgentinaElwin Sharvill NEW
Kadeem Q ChuiItalyAsiya Javayant QUALIFIED
Jefferson Y ButtBrazilIvan Magalhaes PROPOSAL
Frozen Columns
Name
Mujtaba Q Ferencz
Aruna Q Iturbide
Cody M Chui
Silvio A Amigon
Clifford Z Perin
Tony Y Flosi
Stacey Z Paprocki
Mujtaba Z Ferencz
Leja B Inouye
Isabel E Morasca
Rodrigues P Amigon
Rodrigues M Morasca
Alejandro K Inouye
Misaki G Gaucho
Clifford K Glick
Emily E Whobrey
Faith H Nestle
Tony K Flosi
Antonio B Wieser
Aditya J Malet
Darci F Morasca
Adams X Oldroyd
Ricardo H Ferencz
Clifford L Chui
Chavez Q Oldroyd
Ashley P Paprocki
Salvatore H Perin
Adams E Campain
Johnson J Morasca
Cody Z Vocelka
Stacey V Tollner
Leja I Kusko
Alejandro I Foller
Greenwood G Maclead
Juan J Iturbide
Johnson M Campain
Jeanfrancois Y Glick
Stacey I Stenseth
Aika T Malet
Alejandro L Glick
Izzy O Tollner
Mayumi Y Shinko
Antonio Y Chui
Jennifer W Malet
Julie O Chui
Isabel A Slusarski
Antonio C Ferencz
Misaki U Briddick
Aruna Y Marrier
Aruna Z Vocelka
IdCountryDate
1000Germany2024-05-19
1001India2024-05-21
1002Japan2024-04-27
1003Argentina2024-05-03
1004Argentina2024-05-12
1005Japan2024-05-17
1006United Kingdom2024-04-27
1007France2024-05-09
1008Italy2024-05-26
1009Japan2024-05-06
1010Italy2024-05-12
1011Italy2024-05-25
1012Australia2024-05-13
1013Brazil2024-05-25
1014France2024-05-02
1015Germany2024-04-30
1016Brazil2024-05-16
1017Italy2024-05-10
1018United Kingdom2024-04-30
1019France2024-05-12
1020Japan2024-04-27
1021Germany2024-05-24
1022Italy2024-05-03
1023India2024-05-15
1024Italy2024-05-02
1025Japan2024-05-18
1026Canada2024-05-19
1027Spain2024-05-08
1028Germany2024-05-10
1029United Kingdom2024-05-12
1030Spain2024-05-15
1031Japan2024-04-29
1032France2024-05-24
1033Japan2024-05-22
1034Japan2024-05-07
1035India2024-05-02
1036Argentina2024-05-06
1037France2024-05-12
1038United Kingdom2024-05-03
1039Japan2024-05-03
1040France2024-05-24
1041Argentina2024-05-25
1042United Kingdom2024-04-30
1043Russia2024-05-05
1044Spain2024-05-14
1045Italy2024-05-26
1046France2024-05-10
1047Russia2024-05-25
1048Germany2024-05-26
1049Russia2024-05-07

On-Demand Data

NameIdCountryDate
Greenwood K Stockham1000Russia2024-05-25
Julie T Marrier1001Japan2024-05-06
Juan S Kolmetz1002Canada2024-05-09
Salvatore K Inouye1003Japan2024-05-24
Wickens B Schemmer1004Japan2024-05-06
Silvio Y Iturbide1005Canada2024-05-16
Francesco Z Stenseth1006Germany2024-05-25
Jennifer E Caldarera1007Argentina2024-05-13
Wickens J Malet1008United Kingdom2024-05-19
Leon Q Malet1009Italy2024-05-01
Adams C Caudy1010Germany2024-05-08
Claire D Saylors1011India2024-05-06
Smith V Bowley1012Canada2024-05-19
Jennifer E Figeroa1013Germany2024-05-15
Jeanfrancois B Whobrey1014India2024-05-02
Kaitlin L Wieser1015France2024-04-28
Kaitlin I Nicka1016Canada2024-05-23
Arvin I Gaucho1017Canada2024-05-21
Johnson E Royster1018United Kingdom2024-04-30
Jennifer F Saylors1019India2024-05-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois K WaycottBrazilAmy Elsner QUALIFIED
Izzy P StensethRussiaIvan Magalhaes QUALIFIED
Alejandro P NickaAustraliaStephen Shaw QUALIFIED
Izzy W AlbaresIndiaOnyama Limba UNQUALIFIED
Murillo S BowleyArgentinaAnna Fali NEW
Stacey R FigeroaIndiaStephen Shaw NEGOTIATION
Misaki G OldroydItalyAmy Elsner PROPOSAL
Rodrigues Z FlosiIndiaIvan Magalhaes PROPOSAL
Stacey Q SchemmerArgentinaStephen Shaw PROPOSAL
Aika K FigeroaSpainAmy Elsner NEGOTIATION
Cody F WhobreyItalyAnna Fali QUALIFIED
Emily B FlosiArgentinaElwin Sharvill RENEWAL
Ashley S VenereBrazilIoni Bowcher PROPOSAL
Leon B KolmetzAustraliaBernardo Dominic QUALIFIED
Aruna E PerinBrazilOnyama Limba NEW
Murillo X FigeroaIndiaBernardo Dominic UNQUALIFIED
Tony F PoquetteArgentinaAsiya Javayant PROPOSAL
Sinclair J TollnerAustraliaOnyama Limba QUALIFIED
Jeanfrancois I CampainItalyIoni Bowcher NEW
Francesco W AmigonJapanIoni Bowcher QUALIFIED
Murillo F RulapaughIndiaBernardo Dominic PROPOSAL
Murillo N MacleadRussiaElwin Sharvill QUALIFIED
Aruna V IturbideGermanyAnna Fali QUALIFIED
Jeanfrancois M CaldareraItalyAmy Elsner NEGOTIATION
Wickens Z MaletFranceXuxue Feng NEGOTIATION
Ivar T FlosiAustraliaAmy Elsner RENEWAL
Mujtaba E GauchoFranceStephen Shaw RENEWAL
Kadeem F RimItalyIvan Magalhaes PROPOSAL
Ivar L AlbaresBrazilIoni Bowcher NEGOTIATION
Nicolas X NickaCanadaAsiya Javayant PROPOSAL
Tony Z CaldareraSpainAmy Elsner NEW
Cody U CaudyArgentinaAmy Elsner RENEWAL
Stacey S ChuiItalyAsiya Javayant UNQUALIFIED
Jeanfrancois G VenereUnited KingdomIvan Magalhaes NEGOTIATION
Jennifer M VocelkaArgentinaOnyama Limba UNQUALIFIED
Mayumi O KolmetzArgentinaIoni Bowcher NEW
Deepesh I RutaCanadaAnna Fali QUALIFIED
Stacey I PaprockiItalyAmy Elsner UNQUALIFIED
Jefferson J OldroydJapanAsiya Javayant NEW
Mujtaba P MaletGermanyAmy Elsner 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>