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
Jones G AmigonArgentinaBernardo Dominic NEGOTIATION
Ivar Q FlosiItalyStephen Shaw UNQUALIFIED
Cody I IturbideCanadaOnyama Limba RENEWAL
Juan I ShinkoGermanyStephen Shaw QUALIFIED
Aruna Y VocelkaAustraliaElwin Sharvill NEGOTIATION
Julie F PerinRussiaAnna Fali NEGOTIATION
Maisha H PoquetteAustraliaIvan Magalhaes UNQUALIFIED
Mayumi Z DarakjyRussiaXuxue Feng RENEWAL
Chavez L OstroskyIndiaStephen Shaw QUALIFIED
Johnson S OldroydItalyOnyama Limba NEGOTIATION
Wickens D BriddickCanadaIoni Bowcher PROPOSAL
Juan Q PerinUnited KingdomAmy Elsner NEGOTIATION
Misaki O VocelkaSpainElwin Sharvill UNQUALIFIED
Munro Z InouyeSpainAnna Fali PROPOSAL
Smith P ButtJapanXuxue Feng NEGOTIATION
David G GlickRussiaOnyama Limba PROPOSAL
Costa Y StockhamCanadaAmy Elsner NEGOTIATION
Kaitlin T ChuiJapanStephen Shaw NEGOTIATION
Maria G AlbaresRussiaOnyama Limba QUALIFIED
Darci F ShinkoUnited KingdomAnna Fali RENEWAL
Nicolas K FigeroaFranceBernardo Dominic NEGOTIATION
Jones K RimFranceBernardo Dominic NEGOTIATION
Mayumi M WieserRussiaIvan Magalhaes QUALIFIED
Nicolas J DoeArgentinaBernardo Dominic UNQUALIFIED
Chavez I AlbaresSpainIoni Bowcher PROPOSAL
Nicolas N PerinSpainAmy Elsner UNQUALIFIED
Smith X FerenczUnited KingdomElwin Sharvill PROPOSAL
David C SchemmerGermanyStephen Shaw PROPOSAL
Leon K GlickArgentinaIoni Bowcher NEGOTIATION
Kaitlin M PaprockiJapanAsiya Javayant QUALIFIED
Faith S KolmetzGermanyBernardo Dominic PROPOSAL
Wickens K WaycottCanadaOnyama Limba NEGOTIATION
Jones I NickaUnited KingdomBernardo Dominic UNQUALIFIED
Faith X SchemmerRussiaStephen Shaw RENEWAL
Ricardo U PaprockiCanadaXuxue Feng RENEWAL
Ashley H VocelkaArgentinaXuxue Feng RENEWAL
Deepesh L NestleBrazilAmy Elsner UNQUALIFIED
Izzy F CaudyCanadaXuxue Feng RENEWAL
Faith K ButtRussiaIvan Magalhaes NEW
Octavia V GauchoBrazilElwin Sharvill UNQUALIFIED
Isabel L DarakjyCanadaAnna Fali NEW
Deepesh L OldroydCanadaOnyama Limba PROPOSAL
Misaki N SergiJapanIoni Bowcher NEGOTIATION
Tony A DilliardFranceIoni Bowcher NEGOTIATION
Izzy N NickaGermanyAsiya Javayant RENEWAL
Adams J RimBrazilStephen Shaw UNQUALIFIED
Smith I BowleyCanadaAmy Elsner NEGOTIATION
Deepesh Z MacleadGermanyAnna Fali RENEWAL
Antonio M MacleadFranceStephen Shaw NEGOTIATION
Jefferson F MaletUnited KingdomElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Wickens M SchemmerBrazilStephen Shaw NEGOTIATION
Mujtaba C BowleyFranceIoni Bowcher RENEWAL
Stacey H SlusarskiGermanyOnyama Limba QUALIFIED
Isabel O ChuiItalyBernardo Dominic NEGOTIATION
Smith S StockhamItalyStephen Shaw QUALIFIED
Aruna Z VenereJapanAsiya Javayant NEGOTIATION
Johnson H RoysterUnited KingdomIoni Bowcher PROPOSAL
Aika W FerenczUnited KingdomAmy Elsner UNQUALIFIED
Mujtaba J WieserRussiaAsiya Javayant QUALIFIED
Ricardo M GarufiArgentinaOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa B FerenczGermany2024-06-07Truhlar And Truhlar Attys QUALIFIED5Ivan Magalhaes
1001Aruna J GlickRussia2024-06-20Dorl, James J Esq PROPOSAL43Ioni Bowcher
1002Leja Z GarufiAustralia2024-06-06Truhlar And Truhlar Attys NEW22Ivan Magalhaes
1003Silvio B WhobreyUnited Kingdom2024-06-07Buckley Miller Wright NEW6Anna Fali
1004Munro S VenereIndia2024-06-19Truhlar And Truhlar Attys UNQUALIFIED89Ivan Magalhaes
1005Cody I GarufiCanada2024-06-10Printing Dimensions RENEWAL8Amy Elsner
1006Francesco Y RimArgentina2024-06-13Chanay, Jeffrey A Esq QUALIFIED84Stephen Shaw
1007James C ButtFrance2024-06-02Printing Dimensions NEW0Amy Elsner
1008Wickens Q GarufiFrance2024-06-02Buckley Miller Wright PROPOSAL88Amy Elsner
1009Chavez V GillianBrazil2024-06-23Feiner Bros NEGOTIATION5Anna Fali
1010Sinclair D KolmetzRussia2024-06-12Chanay, Jeffrey A Esq NEGOTIATION31Amy Elsner
1011Mujtaba Y OldroydFrance2024-06-13Rangoni Of Florence QUALIFIED98Stephen Shaw
1012Aditya E SergiCanada2024-05-26Feiner Bros UNQUALIFIED61Xuxue Feng
1013Sinclair W OstroskyItaly2024-06-18Rousseaux, Michael Esq UNQUALIFIED97Bernardo Dominic
1014Cody J FerenczJapan2024-06-22Printing Dimensions NEGOTIATION5Amy Elsner
1015Chavez M BowleyArgentina2024-06-19Truhlar And Truhlar Attys NEW24Bernardo Dominic
1016Rodrigues H CaudyFrance2024-06-23Dorl, James J Esq UNQUALIFIED39Amy Elsner
1017Faith D NickaBrazil2024-05-29Chanay, Jeffrey A Esq PROPOSAL17Ivan Magalhaes
1018Claire C StockhamRussia2024-06-17King, Christopher A Esq NEGOTIATION12Ivan Magalhaes
1019Emily J TollnerArgentina2024-06-21Feiner Bros NEGOTIATION20Onyama Limba
1020Alejandro R WhobreyArgentina2024-05-30Rousseaux, Michael Esq UNQUALIFIED67Onyama Limba
1021Leon T BologniaArgentina2024-06-07Chemel, James L Cpa PROPOSAL16Onyama Limba
1022Leon B TollnerArgentina2024-06-08Chapman, Ross E Esq NEGOTIATION54Xuxue Feng
1023Nicolas S WhobreySpain2024-06-12King, Christopher A Esq UNQUALIFIED26Stephen Shaw
1024Greenwood B AmigonAustralia2024-05-28Chanay, Jeffrey A Esq PROPOSAL70Onyama Limba
1025Morrow R MaletUnited Kingdom2024-06-01Rangoni Of Florence NEW5Asiya Javayant
1026Isabel H MacleadArgentina2024-06-02Chapman, Ross E Esq NEGOTIATION35Ivan Magalhaes
1027Octavia H ShinkoGermany2024-06-16Printing Dimensions RENEWAL21Asiya Javayant
1028Claire L GillianBrazil2024-05-27Buckley Miller Wright NEGOTIATION29Asiya Javayant
1029Julie M SchemmerUnited Kingdom2024-06-03Feltz Printing Service NEW12Elwin Sharvill
1030Johnson I BologniaFrance2024-06-20Morlong Associates PROPOSAL17Anna Fali
1031Sinclair N FollerSpain2024-06-18Printing Dimensions RENEWAL52Xuxue Feng
1032Stacey W ChuiIndia2024-05-31Morlong Associates UNQUALIFIED47Amy Elsner
1033Sinclair W NestleArgentina2024-06-13Commercial Press NEGOTIATION5Xuxue Feng
1034James O OstroskyCanada2024-06-05Dorl, James J Esq PROPOSAL80Ioni Bowcher
1035Jeanfrancois P StockhamCanada2024-05-29Rousseaux, Michael Esq QUALIFIED1Bernardo Dominic
1036Munro L GauchoBrazil2024-06-02Rangoni Of Florence RENEWAL57Bernardo Dominic
1037Isabel N DarakjyCanada2024-05-31Commercial Press UNQUALIFIED90Amy Elsner
1038Maisha O FerenczJapan2024-06-10Truhlar And Truhlar Attys QUALIFIED42Anna Fali
1039Aika R GillianArgentina2024-06-18Morlong Associates NEW28Asiya Javayant
1040Nicolas H OstroskyJapan2024-06-06Truhlar And Truhlar Attys UNQUALIFIED2Ioni Bowcher
1041Leon C BologniaFrance2024-06-11Printing Dimensions UNQUALIFIED18Bernardo Dominic
1042Francesco Y FlosiJapan2024-06-18Chanay, Jeffrey A Esq PROPOSAL13Ivan Magalhaes
1043Ricardo S GillianIndia2024-06-08Rangoni Of Florence QUALIFIED53Stephen Shaw
1044Morrow S StensethRussia2024-06-20Buckley Miller Wright NEGOTIATION50Ivan Magalhaes
1045Ricardo P AlbaresIndia2024-06-09Printing Dimensions NEW79Anna Fali
1046Ivar Z InouyeBrazil2024-06-18Rousseaux, Michael Esq PROPOSAL15Stephen Shaw
1047Izzy P StensethAustralia2024-06-17Chapman, Ross E Esq RENEWAL4Elwin Sharvill
1048Aditya A WieserFrance2024-06-24Dorl, James J Esq NEW79Anna Fali
1049Clifford N IturbideGermany2024-06-02Chanay, Jeffrey A Esq NEGOTIATION74Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Wickens K PaprockiIndiaStephen Shaw NEW
Clifford M MacleadIndiaOnyama Limba RENEWAL
Adams O GlickBrazilBernardo Dominic UNQUALIFIED
Jeanfrancois X KolmetzFranceAsiya Javayant NEW
Darci G VocelkaIndiaStephen Shaw PROPOSAL
Ivar U GauchoSpainAmy Elsner QUALIFIED
Francesco G IturbideIndiaBernardo Dominic UNQUALIFIED
Leon T MorascaIndiaBernardo Dominic NEGOTIATION
Juan J MorascaAustraliaIoni Bowcher NEGOTIATION
Mayumi K MaletArgentinaXuxue Feng UNQUALIFIED
Francesco W CaldareraUnited KingdomStephen Shaw QUALIFIED
Ricardo B VocelkaAustraliaOnyama Limba PROPOSAL
Claire N MaletGermanyIvan Magalhaes NEGOTIATION
Aika A KuskoGermanyAnna Fali PROPOSAL
Murillo L FollerItalyXuxue Feng RENEWAL
Maisha I RoysterCanadaIoni Bowcher RENEWAL
Johnson K FollerBrazilOnyama Limba UNQUALIFIED
Chavez A BriddickIndiaAsiya Javayant UNQUALIFIED
Clifford Z CampainJapanIvan Magalhaes UNQUALIFIED
Jennifer U FigeroaCanadaIvan Magalhaes NEGOTIATION
Ashley G AlbaresFranceElwin Sharvill QUALIFIED
Stacey J MarrierRussiaBernardo Dominic PROPOSAL
Aruna T CaudyAustraliaElwin Sharvill NEGOTIATION
Darci S MaletUnited KingdomAsiya Javayant NEGOTIATION
Kaitlin Z ChuiCanadaElwin Sharvill QUALIFIED
Leja K MacleadRussiaAnna Fali UNQUALIFIED
Ricardo G SaylorsRussiaAsiya Javayant NEW
Maria W VenereJapanIoni Bowcher NEW
Greenwood R FlosiJapanXuxue Feng RENEWAL
Izzy T CaudyIndiaBernardo Dominic UNQUALIFIED
Jeanfrancois O ChuiUnited KingdomStephen Shaw NEGOTIATION
Sinclair X WaycottJapanElwin Sharvill NEW
Arvin X WaycottItalyElwin Sharvill NEW
Maisha L CaldareraUnited KingdomAmy Elsner NEW
Murillo K BologniaUnited KingdomElwin Sharvill UNQUALIFIED
Antonio H FollerIndiaAsiya Javayant QUALIFIED
Ivar U MacleadBrazilStephen Shaw NEGOTIATION
Alejandro I SaylorsIndiaAmy Elsner NEW
Jefferson R NickaArgentinaAnna Fali NEGOTIATION
Tony F MaletArgentinaAmy Elsner NEW
Emily F OstroskyJapanXuxue Feng UNQUALIFIED
Mayumi F WieserUnited KingdomIvan Magalhaes PROPOSAL
Arvin U KolmetzIndiaBernardo Dominic NEW
Chavez I MorascaCanadaIvan Magalhaes UNQUALIFIED
Arvin N PaprockiSpainXuxue Feng QUALIFIED
Morrow W RimIndiaAsiya Javayant PROPOSAL
Maisha S NickaJapanIoni Bowcher QUALIFIED
Murillo R WhobreyBrazilOnyama Limba NEW
Greenwood P WieserRussiaBernardo Dominic NEW
Jefferson H NestleBrazilAnna Fali UNQUALIFIED
Frozen Columns
Name
Clifford C Dilliard
Jefferson V Slusarski
Leja S Chui
Kadeem V Morasca
Morrow O Ostrosky
Arvin T Darakjy
Aruna Q Nestle
Jennifer T Caudy
James V Stenseth
Rodrigues V Royster
Sinclair Y Albares
Mujtaba Z Briddick
Munro P Marrier
Adams V Kolmetz
Mujtaba O Malet
Salvatore H Caudy
Mayumi T Ferencz
Izzy B Stockham
Sinclair B Bowley
Juan F Marrier
Claire R Kusko
Cody X Tollner
Ricardo W Rulapaugh
Kaitlin M Vocelka
Clifford G Kolmetz
Alejandro G Rulapaugh
Julie M Inouye
Aika C Kusko
Isabel T Paprocki
Claire X Ruta
Smith T Kolmetz
Juan R Gillian
Antonio U Ruta
Julie B Bowley
Ashley C Maclead
Aditya I Albares
Deepesh L Malet
Izzy I Figeroa
Deepesh H Iturbide
Costa Q Caudy
Ricardo L Morasca
Claire C Caldarera
Izzy V Schemmer
Octavia R Butt
James M Figeroa
Costa J Iturbide
Jefferson F Tollner
Aruna T Caudy
Tony F Ruta
Aika P Stockham
IdCountryDate
1000Brazil2024-06-13
1001United Kingdom2024-06-11
1002Argentina2024-05-28
1003India2024-06-21
1004Australia2024-05-29
1005Italy2024-05-27
1006Argentina2024-06-22
1007Spain2024-06-22
1008Australia2024-06-10
1009France2024-06-06
1010Germany2024-06-02
1011Spain2024-06-12
1012India2024-06-22
1013Spain2024-06-21
1014Spain2024-06-07
1015France2024-06-21
1016Canada2024-06-24
1017Australia2024-05-26
1018Russia2024-06-01
1019Russia2024-06-23
1020Japan2024-06-07
1021Japan2024-05-28
1022Canada2024-06-12
1023Japan2024-05-29
1024Canada2024-06-13
1025Canada2024-06-07
1026Canada2024-06-09
1027Russia2024-05-31
1028Germany2024-06-16
1029Russia2024-05-29
1030Australia2024-06-04
1031Italy2024-06-07
1032Spain2024-05-31
1033Spain2024-05-30
1034Spain2024-06-05
1035Italy2024-06-11
1036Argentina2024-06-07
1037India2024-06-01
1038Brazil2024-06-06
1039Russia2024-06-18
1040Canada2024-06-02
1041Spain2024-06-01
1042Italy2024-06-03
1043Canada2024-06-21
1044Japan2024-06-03
1045Japan2024-05-26
1046Argentina2024-05-30
1047India2024-06-08
1048Russia2024-06-10
1049France2024-06-23

On-Demand Data

NameIdCountryDate
Kadeem K Chui1000France2024-06-13
Juan J Figeroa1001India2024-06-03
Aditya A Nestle1002Spain2024-06-22
Murillo S Vocelka1003Italy2024-05-26
Mayumi Z Ostrosky1004India2024-06-11
Jennifer T Marrier1005Germany2024-06-19
Nicolas R Kusko1006United Kingdom2024-06-19
Stacey R Ostrosky1007Russia2024-06-23
Munro Y Iturbide1008India2024-06-11
David F Ostrosky1009Argentina2024-05-27
Murillo D Maclead1010Australia2024-06-20
Deepesh V Garufi1011Canada2024-06-23
Ivar D Waycott1012Russia2024-06-18
Misaki X Briddick1013India2024-05-30
James F Bowley1014Spain2024-06-01
Tony V Bowley1015Japan2024-06-07
Isabel B Sergi1016Australia2024-05-26
Mayumi V Malet1017Russia2024-05-27
Ivar J Stenseth1018Argentina2024-06-10
Adams H Inouye1019Germany2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer F SaylorsArgentinaElwin Sharvill QUALIFIED
Kaitlin X SlusarskiIndiaAmy Elsner PROPOSAL
Maria D NestleIndiaAsiya Javayant UNQUALIFIED
Aika C ShinkoSpainBernardo Dominic QUALIFIED
James P MaletJapanAsiya Javayant RENEWAL
Nicolas B VocelkaIndiaAsiya Javayant UNQUALIFIED
Julie K GillianUnited KingdomIoni Bowcher NEW
Aditya W RutaUnited KingdomIvan Magalhaes QUALIFIED
Mujtaba P BowleyRussiaBernardo Dominic PROPOSAL
Leja P SergiBrazilIoni Bowcher NEGOTIATION
Octavia B SergiItalyBernardo Dominic RENEWAL
Jones L AmigonAustraliaIvan Magalhaes NEW
Chavez G CampainCanadaStephen Shaw QUALIFIED
Maria B InouyeGermanyIvan Magalhaes QUALIFIED
Maria Y VocelkaJapanXuxue Feng NEW
Silvio R VocelkaArgentinaAmy Elsner NEW
Rodrigues E OstroskySpainStephen Shaw PROPOSAL
Aika Y ShinkoSpainAmy Elsner RENEWAL
Isabel H ButtJapanBernardo Dominic QUALIFIED
Julie H SergiRussiaIoni Bowcher NEW
Kaitlin G BriddickItalyAsiya Javayant NEW
Nicolas G AmigonCanadaIvan Magalhaes QUALIFIED
Ashley H SaylorsItalyIvan Magalhaes RENEWAL
Munro Y SchemmerAustraliaAsiya Javayant QUALIFIED
Izzy U OldroydIndiaAmy Elsner UNQUALIFIED
Aika Y ChuiIndiaElwin Sharvill NEGOTIATION
Maisha V MacleadCanadaAsiya Javayant RENEWAL
Murillo E GlickArgentinaAmy Elsner QUALIFIED
Kaitlin Z FerenczAustraliaOnyama Limba NEGOTIATION
Mujtaba L PoquetteCanadaElwin Sharvill NEW
Izzy A CaudyJapanElwin Sharvill UNQUALIFIED
Munro B SaylorsItalyIvan Magalhaes UNQUALIFIED
Greenwood M PoquetteItalyBernardo Dominic PROPOSAL
Munro A MaletJapanStephen Shaw PROPOSAL
Izzy A RulapaughUnited KingdomBernardo Dominic NEW
Costa T ChuiFranceIvan Magalhaes RENEWAL
Ashley E RulapaughIndiaBernardo Dominic NEW
Jennifer X AmigonRussiaStephen Shaw UNQUALIFIED
Deepesh H WhobreyGermanyOnyama Limba PROPOSAL
Wickens Z KolmetzSpainAmy Elsner NEGOTIATION

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