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
Isabel E DoeArgentinaOnyama Limba NEGOTIATION
Smith P PaprockiAustraliaAmy Elsner RENEWAL
Ashley V KolmetzRussiaElwin Sharvill UNQUALIFIED
Ashley C DarakjyFranceBernardo Dominic QUALIFIED
Adams I InouyeBrazilAmy Elsner QUALIFIED
Jones O MorascaIndiaBernardo Dominic RENEWAL
Stacey K WaycottAustraliaIoni Bowcher QUALIFIED
Costa M InouyeJapanOnyama Limba RENEWAL
Cody G GauchoBrazilElwin Sharvill NEW
Rodrigues I RutaJapanOnyama Limba RENEWAL
Mujtaba O MarrierArgentinaOnyama Limba UNQUALIFIED
Kaitlin H MacleadFranceIoni Bowcher PROPOSAL
Isabel W WhobreyFranceIvan Magalhaes QUALIFIED
Aditya I RulapaughItalyOnyama Limba NEW
Maisha K BowleyJapanIoni Bowcher QUALIFIED
Greenwood W BologniaBrazilElwin Sharvill UNQUALIFIED
Chavez G StensethRussiaXuxue Feng RENEWAL
Alejandro G AlbaresCanadaIoni Bowcher RENEWAL
Maria L RoysterItalyAnna Fali UNQUALIFIED
Chavez E FigeroaSpainAmy Elsner QUALIFIED
Murillo Z TollnerRussiaAmy Elsner PROPOSAL
Leon T ChuiRussiaXuxue Feng NEGOTIATION
Mayumi O BologniaBrazilOnyama Limba UNQUALIFIED
Rodrigues S InouyeCanadaXuxue Feng NEGOTIATION
Salvatore W SchemmerCanadaAnna Fali UNQUALIFIED
Jefferson D BriddickFranceBernardo Dominic QUALIFIED
Leon Z StockhamSpainIoni Bowcher UNQUALIFIED
Ricardo I CaldareraGermanyElwin Sharvill NEW
Jones U MorascaIndiaIvan Magalhaes RENEWAL
Nicolas K CaldareraAustraliaStephen Shaw UNQUALIFIED
Francesco Z CaldareraIndiaIvan Magalhaes PROPOSAL
Maisha F ShinkoRussiaBernardo Dominic NEGOTIATION
Isabel J AmigonUnited KingdomIvan Magalhaes NEW
Misaki R SaylorsCanadaBernardo Dominic RENEWAL
Jeanfrancois U BologniaFranceXuxue Feng QUALIFIED
Greenwood L FlosiArgentinaXuxue Feng PROPOSAL
Deepesh C AlbaresIndiaElwin Sharvill PROPOSAL
David T PaprockiUnited KingdomBernardo Dominic UNQUALIFIED
Izzy M VocelkaIndiaXuxue Feng NEGOTIATION
Jennifer R BologniaAustraliaAsiya Javayant NEW
Ricardo O RutaJapanStephen Shaw NEW
Jennifer F KuskoArgentinaElwin Sharvill RENEWAL
Juan U FigeroaIndiaBernardo Dominic NEW
Emily F RulapaughUnited KingdomIvan Magalhaes NEGOTIATION
Nicolas E PoquetteSpainAsiya Javayant NEGOTIATION
Deepesh J ButtCanadaIvan Magalhaes QUALIFIED
Greenwood W WaycottIndiaXuxue Feng RENEWAL
Ivar G RimItalyElwin Sharvill NEGOTIATION
Greenwood A RutaJapanElwin Sharvill QUALIFIED
Cody X OldroydUnited KingdomStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Nicolas D BriddickJapanAmy Elsner NEW
Antonio P WieserItalyAmy Elsner NEW
Octavia L CaldareraAustraliaElwin Sharvill NEW
Ashley O VocelkaRussiaStephen Shaw RENEWAL
Maria A GillianJapanElwin Sharvill RENEWAL
Leja Z MaletAustraliaIvan Magalhaes RENEWAL
Tony Q MarrierJapanAmy Elsner QUALIFIED
Octavia M WhobreySpainIvan Magalhaes NEGOTIATION
Jeanfrancois O StockhamRussiaIvan Magalhaes PROPOSAL
Jones E CampainBrazilIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David C BowleySpain2024-06-06Buckley Miller Wright PROPOSAL12Stephen Shaw
1001Johnson B CaudyAustralia2024-06-04Printing Dimensions UNQUALIFIED6Stephen Shaw
1002Morrow R GillianAustralia2024-05-28Commercial Press NEW92Onyama Limba
1003Maria T CaldareraCanada2024-05-18Benton, John B Jr NEGOTIATION3Ioni Bowcher
1004Arvin F SchemmerUnited Kingdom2024-06-14Morlong Associates UNQUALIFIED33Stephen Shaw
1005Kadeem A InouyeBrazil2024-05-25Printing Dimensions RENEWAL20Stephen Shaw
1006Antonio X ButtUnited Kingdom2024-05-26Chemel, James L Cpa QUALIFIED90Amy Elsner
1007Morrow Y FerenczItaly2024-06-07King, Christopher A Esq NEGOTIATION99Amy Elsner
1008Jefferson D TollnerCanada2024-05-23Chapman, Ross E Esq QUALIFIED38Elwin Sharvill
1009Silvio M WieserArgentina2024-06-15Chanay, Jeffrey A Esq NEGOTIATION18Asiya Javayant
1010Mujtaba D GillianItaly2024-05-31Buckley Miller Wright QUALIFIED64Xuxue Feng
1011Francesco Z SlusarskiFrance2024-05-26Rousseaux, Michael Esq NEGOTIATION98Amy Elsner
1012Isabel W GarufiCanada2024-05-19Morlong Associates NEGOTIATION88Elwin Sharvill
1013Wickens B RutaIndia2024-06-15Chapman, Ross E Esq PROPOSAL58Ivan Magalhaes
1014Jefferson U GillianIndia2024-05-27Rousseaux, Michael Esq NEW25Elwin Sharvill
1015Aruna A AmigonFrance2024-06-13Benton, John B Jr NEW44Xuxue Feng
1016Silvio K VocelkaSpain2024-06-05Chanay, Jeffrey A Esq RENEWAL28Xuxue Feng
1017Faith J WhobreyAustralia2024-05-22Truhlar And Truhlar Attys UNQUALIFIED67Asiya Javayant
1018Aditya X WaycottCanada2024-05-22Chapman, Ross E Esq UNQUALIFIED17Ivan Magalhaes
1019Jones H VocelkaAustralia2024-05-31Buckley Miller Wright UNQUALIFIED0Amy Elsner
1020Ashley M WieserJapan2024-05-22King, Christopher A Esq NEW71Amy Elsner
1021Jeanfrancois O FerenczJapan2024-05-24Feltz Printing Service RENEWAL73Elwin Sharvill
1022Ashley A ButtItaly2024-05-23Dorl, James J Esq NEGOTIATION30Asiya Javayant
1023Aditya T AmigonUnited Kingdom2024-06-15Morlong Associates NEGOTIATION59Onyama Limba
1024Silvio P FlosiGermany2024-06-05Chanay, Jeffrey A Esq NEW8Xuxue Feng
1025Wickens U CaudyBrazil2024-05-19Feltz Printing Service RENEWAL86Anna Fali
1026Aruna R GarufiSpain2024-05-17Morlong Associates RENEWAL29Amy Elsner
1027Alejandro I OldroydJapan2024-05-30Chapman, Ross E Esq NEW67Stephen Shaw
1028Maria G TollnerGermany2024-06-01Feiner Bros QUALIFIED50Ioni Bowcher
1029Maria V StockhamFrance2024-05-28Feltz Printing Service NEGOTIATION51Stephen Shaw
1030Deepesh R WieserGermany2024-06-10Rangoni Of Florence PROPOSAL68Onyama Limba
1031Cody K MarrierSpain2024-06-03Buckley Miller Wright NEW18Anna Fali
1032Adams W WhobreyIndia2024-06-14Chemel, James L Cpa NEGOTIATION20Bernardo Dominic
1033Tony S DilliardSpain2024-05-19Feiner Bros NEW91Bernardo Dominic
1034Antonio H SaylorsGermany2024-06-14Dorl, James J Esq RENEWAL56Amy Elsner
1035Izzy L FerenczCanada2024-05-29King, Christopher A Esq QUALIFIED90Ioni Bowcher
1036Aditya Q RoysterAustralia2024-05-18Benton, John B Jr NEW20Amy Elsner
1037Julie N RimRussia2024-06-08Feiner Bros UNQUALIFIED52Onyama Limba
1038Alejandro F CampainBrazil2024-05-17Feltz Printing Service QUALIFIED32Stephen Shaw
1039Leon N GarufiBrazil2024-06-14Truhlar And Truhlar Attys UNQUALIFIED14Amy Elsner
1040Jeanfrancois K CaudyJapan2024-06-02Feltz Printing Service NEGOTIATION50Ioni Bowcher
1041Ashley J GillianFrance2024-05-27King, Christopher A Esq UNQUALIFIED73Asiya Javayant
1042Adams N VocelkaBrazil2024-06-09Chapman, Ross E Esq NEGOTIATION16Elwin Sharvill
1043Francesco Q WhobreyFrance2024-05-23Buckley Miller Wright NEW57Stephen Shaw
1044Clifford N StockhamCanada2024-06-02Chemel, James L Cpa NEGOTIATION39Bernardo Dominic
1045Stacey P DarakjyUnited Kingdom2024-06-15Rangoni Of Florence NEW42Anna Fali
1046Alejandro P ShinkoGermany2024-05-17Dorl, James J Esq PROPOSAL2Amy Elsner
1047Francesco D BowleyAustralia2024-05-18Rousseaux, Michael Esq RENEWAL19Amy Elsner
1048Emily Y RulapaughRussia2024-05-17Dorl, James J Esq UNQUALIFIED24Onyama Limba
1049Johnson N FlosiArgentina2024-05-31Feiner Bros UNQUALIFIED91Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Octavia B BriddickUnited KingdomOnyama Limba QUALIFIED
Aika E MarrierItalyIvan Magalhaes UNQUALIFIED
Cody H CampainGermanyBernardo Dominic RENEWAL
Kaitlin H AmigonItalyAsiya Javayant UNQUALIFIED
Maisha E DoeBrazilOnyama Limba NEGOTIATION
Greenwood V AlbaresUnited KingdomAnna Fali NEW
Jeanfrancois Q GauchoRussiaBernardo Dominic RENEWAL
Jennifer Y CampainCanadaBernardo Dominic PROPOSAL
Antonio C WaycottCanadaBernardo Dominic PROPOSAL
Leja O NickaArgentinaElwin Sharvill UNQUALIFIED
Nicolas Y RutaCanadaAsiya Javayant RENEWAL
Mayumi N FollerGermanyAnna Fali NEW
Leon V RutaJapanElwin Sharvill NEGOTIATION
Francesco P ShinkoFranceIvan Magalhaes NEW
Ricardo P VocelkaAustraliaElwin Sharvill PROPOSAL
Cody F NickaJapanElwin Sharvill NEW
Clifford D OldroydRussiaAmy Elsner UNQUALIFIED
Julie Q OldroydFranceXuxue Feng RENEWAL
Antonio U PaprockiFranceIoni Bowcher NEGOTIATION
Ivar B StensethGermanyBernardo Dominic NEGOTIATION
Alejandro Q InouyeRussiaIvan Magalhaes RENEWAL
Ivar J SchemmerCanadaXuxue Feng UNQUALIFIED
Adams S KolmetzIndiaStephen Shaw QUALIFIED
Smith S GlickJapanXuxue Feng NEW
Kaitlin P OldroydIndiaStephen Shaw NEW
Chavez Z RutaIndiaElwin Sharvill PROPOSAL
Francesco M CaldareraItalyAsiya Javayant UNQUALIFIED
Silvio V DoeIndiaBernardo Dominic QUALIFIED
Clifford B DilliardSpainXuxue Feng NEW
Misaki E FollerIndiaIvan Magalhaes QUALIFIED
Jones R MarrierUnited KingdomXuxue Feng UNQUALIFIED
Jefferson B SchemmerCanadaBernardo Dominic NEGOTIATION
Leja A WieserJapanBernardo Dominic NEGOTIATION
Aditya V OldroydItalyIvan Magalhaes NEGOTIATION
Emily H BowleyAustraliaElwin Sharvill PROPOSAL
David Q PerinSpainIvan Magalhaes RENEWAL
Izzy Y MorascaCanadaIoni Bowcher PROPOSAL
Emily V StockhamItalyElwin Sharvill PROPOSAL
Francesco R AmigonAustraliaElwin Sharvill NEGOTIATION
Octavia V SchemmerIndiaIoni Bowcher QUALIFIED
Isabel G VocelkaRussiaIoni Bowcher PROPOSAL
Munro I GarufiArgentinaXuxue Feng PROPOSAL
Mayumi D ShinkoUnited KingdomStephen Shaw QUALIFIED
Aruna M DoeBrazilAsiya Javayant QUALIFIED
Mujtaba P GarufiIndiaAmy Elsner RENEWAL
Claire F GillianCanadaOnyama Limba UNQUALIFIED
Clifford Q FlosiIndiaStephen Shaw NEGOTIATION
Sinclair C RutaGermanyElwin Sharvill QUALIFIED
Juan P IturbideAustraliaOnyama Limba UNQUALIFIED
Ashley O PaprockiJapanAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Misaki N Caldarera
Antonio G Saylors
Greenwood Z Nicka
Emily U Caldarera
Salvatore U Vocelka
Salvatore Q Maclead
Antonio X Royster
Silvio B Kusko
Leja B Ostrosky
Deepesh E Shinko
Clifford T Campain
Kaitlin E Dilliard
Kaitlin M Poquette
Ivar Q Kusko
Misaki R Campain
Johnson F Gaucho
Clifford H Morasca
Jennifer T Paprocki
Morrow R Kolmetz
Ricardo F Saylors
Clifford M Sergi
Aditya S Darakjy
Isabel G Dilliard
Mayumi K Stenseth
Claire Q Flosi
Mujtaba D Amigon
Mujtaba Y Doe
Aditya W Dilliard
Maisha R Schemmer
Jefferson D Amigon
Chavez T Campain
Octavia A Stenseth
Darci P Malet
Nicolas I Campain
Jones Z Royster
Kadeem N Gaucho
Murillo T Ostrosky
Deepesh U Malet
Rodrigues W Butt
Francesco Y Sergi
Costa W Gillian
Kaitlin F Kolmetz
Leja F Caldarera
Deepesh F Iturbide
Izzy Q Butt
Francesco U Chui
Chavez Z Stenseth
Chavez F Bowley
Munro M Shinko
Clifford W Perin
IdCountryDate
1000United Kingdom2024-05-29
1001Australia2024-05-28
1002India2024-06-03
1003Australia2024-06-12
1004Germany2024-05-22
1005Brazil2024-05-23
1006Italy2024-06-08
1007Brazil2024-06-13
1008Canada2024-06-07
1009Russia2024-06-09
1010Spain2024-06-11
1011United Kingdom2024-05-30
1012Russia2024-05-29
1013Argentina2024-05-22
1014Japan2024-06-01
1015United Kingdom2024-05-18
1016Russia2024-05-24
1017Italy2024-05-25
1018Spain2024-06-11
1019Germany2024-06-09
1020Canada2024-06-07
1021Argentina2024-06-04
1022Canada2024-05-25
1023Brazil2024-06-09
1024Russia2024-06-08
1025Italy2024-05-22
1026India2024-06-12
1027Russia2024-06-15
1028France2024-05-27
1029Japan2024-06-05
1030Russia2024-06-08
1031Russia2024-06-06
1032India2024-05-30
1033Brazil2024-06-09
1034Italy2024-06-14
1035Spain2024-05-21
1036Canada2024-06-10
1037Spain2024-05-17
1038Canada2024-06-13
1039Russia2024-05-20
1040Spain2024-05-29
1041Canada2024-06-11
1042France2024-06-15
1043India2024-05-27
1044Canada2024-06-05
1045France2024-06-01
1046Japan2024-06-15
1047Australia2024-06-13
1048Canada2024-05-26
1049Japan2024-05-23

On-Demand Data

NameIdCountryDate
Antonio P Campain1000Argentina2024-05-19
Jones E Caldarera1001India2024-06-05
Izzy F Amigon1002Brazil2024-06-10
Mayumi W Malet1003Australia2024-05-18
Jennifer N Flosi1004Japan2024-05-24
Jones B Briddick1005Canada2024-06-10
Jennifer L Dilliard1006France2024-05-26
Deepesh V Ostrosky1007Spain2024-05-19
Clifford I Perin1008Russia2024-06-09
Cody L Iturbide1009United Kingdom2024-05-23
Wickens X Amigon1010Argentina2024-05-28
Morrow D Foller1011Canada2024-05-31
Nicolas C Tollner1012Brazil2024-05-27
Antonio E Stockham1013Australia2024-06-11
Nicolas Y Waycott1014United Kingdom2024-05-18
Cody U Stockham1015Canada2024-05-23
Jefferson T Rim1016Canada2024-05-30
Rodrigues T Waycott1017United Kingdom2024-06-10
Antonio U Amigon1018United Kingdom2024-06-06
Arvin U Chui1019Italy2024-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford R RoysterItalyIoni Bowcher PROPOSAL
Adams U MacleadSpainOnyama Limba QUALIFIED
Adams K ShinkoItalyAnna Fali RENEWAL
Isabel D MacleadItalyIvan Magalhaes NEW
Octavia R MarrierUnited KingdomIoni Bowcher UNQUALIFIED
Nicolas I NestleSpainIoni Bowcher QUALIFIED
Leja A GauchoItalyAsiya Javayant PROPOSAL
Sinclair J InouyeFranceAsiya Javayant UNQUALIFIED
Mayumi E InouyeIndiaIoni Bowcher NEW
Ricardo S ShinkoFranceXuxue Feng QUALIFIED
Claire A AlbaresFranceBernardo Dominic UNQUALIFIED
Chavez Z DoeItalyAsiya Javayant UNQUALIFIED
Costa H AmigonIndiaAsiya Javayant QUALIFIED
Salvatore S ShinkoAustraliaAmy Elsner QUALIFIED
Antonio G FlosiJapanAsiya Javayant RENEWAL
Alejandro E DilliardItalyAnna Fali RENEWAL
Adams B FigeroaSpainBernardo Dominic NEGOTIATION
Smith F GarufiIndiaXuxue Feng UNQUALIFIED
Munro L VenereGermanyAmy Elsner NEGOTIATION
Ivar V MorascaArgentinaIoni Bowcher PROPOSAL
Murillo R IturbideArgentinaStephen Shaw NEGOTIATION
Ivar K SaylorsGermanyOnyama Limba NEGOTIATION
Isabel S WhobreyGermanyIoni Bowcher UNQUALIFIED
Maisha K ButtAustraliaAnna Fali NEW
Cody N GlickCanadaIoni Bowcher RENEWAL
James K IturbideCanadaIvan Magalhaes UNQUALIFIED
Adams K DoeFranceElwin Sharvill QUALIFIED
Jeanfrancois Y ChuiCanadaXuxue Feng RENEWAL
Rodrigues F RimArgentinaAsiya Javayant RENEWAL
Ashley B OstroskyGermanyOnyama Limba RENEWAL
Leon I CaudyUnited KingdomStephen Shaw QUALIFIED
Arvin N KolmetzArgentinaXuxue Feng UNQUALIFIED
Deepesh B IturbideJapanStephen Shaw RENEWAL
Octavia A CampainIndiaIoni Bowcher UNQUALIFIED
Ivar I NestleFranceOnyama Limba QUALIFIED
Faith J AlbaresFranceElwin Sharvill UNQUALIFIED
Arvin R StockhamRussiaAnna Fali QUALIFIED
Jennifer I MaletGermanyStephen Shaw NEGOTIATION
Aruna D WaycottArgentinaAmy Elsner UNQUALIFIED
Morrow A NestleUnited KingdomAsiya Javayant PROPOSAL

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