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
Tony P SaylorsFranceOnyama Limba QUALIFIED
Izzy A RulapaughGermanyElwin Sharvill PROPOSAL
Jefferson A CaldareraGermanyAmy Elsner NEGOTIATION
Francesco H PerinFranceIoni Bowcher PROPOSAL
Kaitlin C NestleAustraliaStephen Shaw NEGOTIATION
Stacey K GauchoUnited KingdomOnyama Limba NEW
Antonio E BowleyAustraliaIoni Bowcher UNQUALIFIED
Antonio F ChuiAustraliaIoni Bowcher NEGOTIATION
Wickens O ChuiUnited KingdomXuxue Feng RENEWAL
Alejandro U RoysterArgentinaStephen Shaw UNQUALIFIED
Ashley N CaldareraSpainStephen Shaw RENEWAL
Jeanfrancois Y CaldareraSpainIoni Bowcher NEGOTIATION
David Z GlickSpainOnyama Limba PROPOSAL
Murillo D OldroydItalyBernardo Dominic PROPOSAL
Ashley N FlosiUnited KingdomXuxue Feng NEGOTIATION
Ivar H KuskoJapanAsiya Javayant NEW
Deepesh H AmigonIndiaIvan Magalhaes NEGOTIATION
Wickens O FlosiItalyBernardo Dominic QUALIFIED
Kaitlin F OstroskySpainBernardo Dominic NEGOTIATION
Sinclair G FigeroaRussiaAsiya Javayant UNQUALIFIED
Ivar Q FollerRussiaAnna Fali QUALIFIED
Julie A NestleFranceBernardo Dominic NEGOTIATION
Costa P ChuiItalyIvan Magalhaes QUALIFIED
Rodrigues Q SchemmerAustraliaAsiya Javayant QUALIFIED
Leja E MaletArgentinaAsiya Javayant QUALIFIED
Kadeem Z CaudyIndiaAmy Elsner QUALIFIED
Costa B VenereGermanyIvan Magalhaes NEGOTIATION
Morrow Q KolmetzRussiaAsiya Javayant UNQUALIFIED
Julie M RoysterJapanAsiya Javayant NEGOTIATION
Isabel P OldroydAustraliaStephen Shaw NEW
Misaki Z WhobreyRussiaBernardo Dominic NEW
Maria P ChuiGermanyAnna Fali QUALIFIED
Smith E AmigonUnited KingdomXuxue Feng QUALIFIED
Faith K PaprockiFranceIoni Bowcher PROPOSAL
Maisha A BowleyAustraliaAsiya Javayant RENEWAL
Ashley A DarakjyBrazilIoni Bowcher UNQUALIFIED
Octavia Y VocelkaArgentinaBernardo Dominic RENEWAL
James Q FlosiRussiaIvan Magalhaes QUALIFIED
Clifford J AlbaresCanadaIoni Bowcher UNQUALIFIED
Aditya X PerinItalyStephen Shaw QUALIFIED
Emily A RimSpainAsiya Javayant PROPOSAL
Octavia C FigeroaAustraliaOnyama Limba NEGOTIATION
Leja C CaldareraJapanAmy Elsner QUALIFIED
Clifford Q MaletGermanyAsiya Javayant RENEWAL
Ricardo E BowleyUnited KingdomElwin Sharvill NEW
Mayumi S SergiJapanStephen Shaw RENEWAL
Emily O FlosiSpainBernardo Dominic PROPOSAL
Costa H MorascaIndiaAsiya Javayant NEGOTIATION
Claire Q MaletRussiaIoni Bowcher QUALIFIED
Kadeem N GlickArgentinaIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Sinclair R MaletAustraliaAsiya Javayant NEW
Antonio S AlbaresAustraliaAmy Elsner NEGOTIATION
Kaitlin E GauchoItalyAnna Fali PROPOSAL
Misaki T GillianAustraliaAnna Fali NEW
David U PaprockiGermanyAnna Fali QUALIFIED
Rodrigues T SaylorsCanadaOnyama Limba QUALIFIED
Julie F RutaJapanElwin Sharvill RENEWAL
Maisha R MacleadItalyOnyama Limba RENEWAL
Cody E SlusarskiGermanyAnna Fali PROPOSAL
Mayumi R OldroydJapanAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer K FigeroaUnited Kingdom2024-06-16Chemel, James L Cpa UNQUALIFIED56Elwin Sharvill
1001Aditya W BologniaArgentina2024-06-18Buckley Miller Wright RENEWAL39Amy Elsner
1002Leon X ShinkoItaly2024-06-17Dorl, James J Esq NEGOTIATION12Onyama Limba
1003Smith Q SaylorsFrance2024-05-26Chapman, Ross E Esq RENEWAL99Stephen Shaw
1004Izzy U AlbaresGermany2024-06-09Rousseaux, Michael Esq UNQUALIFIED43Ivan Magalhaes
1005Antonio N MorascaAustralia2024-06-07Commercial Press RENEWAL71Stephen Shaw
1006Misaki G InouyeCanada2024-06-06Printing Dimensions NEGOTIATION12Bernardo Dominic
1007Kaitlin W GlickIndia2024-06-05Feltz Printing Service PROPOSAL47Ioni Bowcher
1008Rodrigues L GarufiArgentina2024-06-22Rousseaux, Michael Esq RENEWAL89Ioni Bowcher
1009Isabel M RoysterCanada2024-06-17Feltz Printing Service PROPOSAL50Anna Fali
1010Leon K GillianIndia2024-05-25Feltz Printing Service RENEWAL40Stephen Shaw
1011David Q ShinkoBrazil2024-05-30Chemel, James L Cpa NEGOTIATION33Elwin Sharvill
1012Kaitlin J RoysterIndia2024-06-11Benton, John B Jr QUALIFIED72Anna Fali
1013Jeanfrancois Y SchemmerUnited Kingdom2024-05-31Morlong Associates UNQUALIFIED39Anna Fali
1014Johnson N VocelkaUnited Kingdom2024-06-10Commercial Press UNQUALIFIED83Ioni Bowcher
1015Misaki I MaletFrance2024-06-12Chemel, James L Cpa PROPOSAL87Anna Fali
1016Nicolas N MarrierAustralia2024-06-19Chapman, Ross E Esq RENEWAL13Stephen Shaw
1017Murillo J MorascaArgentina2024-05-25Commercial Press NEGOTIATION63Elwin Sharvill
1018Tony U OldroydGermany2024-05-31Rangoni Of Florence QUALIFIED2Ivan Magalhaes
1019James T CampainArgentina2024-06-07Feltz Printing Service QUALIFIED90Stephen Shaw
1020Aruna C MorascaArgentina2024-06-17Buckley Miller Wright PROPOSAL18Elwin Sharvill
1021Izzy V KuskoItaly2024-06-04Feiner Bros QUALIFIED99Asiya Javayant
1022Nicolas W PerinCanada2024-06-06Printing Dimensions RENEWAL40Elwin Sharvill
1023Maria T DarakjyBrazil2024-05-30Morlong Associates PROPOSAL10Bernardo Dominic
1024Octavia M VocelkaGermany2024-06-02Printing Dimensions NEGOTIATION70Ioni Bowcher
1025Ricardo I GillianJapan2024-06-13Dorl, James J Esq UNQUALIFIED31Ioni Bowcher
1026Arvin T WhobreyFrance2024-05-24Rousseaux, Michael Esq NEGOTIATION12Bernardo Dominic
1027Ivar Q MorascaIndia2024-06-09Rousseaux, Michael Esq RENEWAL0Ivan Magalhaes
1028Octavia Q GarufiAustralia2024-06-05Chanay, Jeffrey A Esq RENEWAL69Stephen Shaw
1029Cody T WhobreyBrazil2024-06-13King, Christopher A Esq PROPOSAL91Onyama Limba
1030Costa J RutaAustralia2024-06-01Rousseaux, Michael Esq NEW64Anna Fali
1031Emily A RimGermany2024-06-21Truhlar And Truhlar Attys NEGOTIATION78Bernardo Dominic
1032Maria U CampainSpain2024-06-21Rousseaux, Michael Esq RENEWAL47Elwin Sharvill
1033Claire F DilliardFrance2024-06-11Commercial Press NEGOTIATION79Anna Fali
1034Clifford X ButtJapan2024-06-06Benton, John B Jr NEGOTIATION85Amy Elsner
1035Octavia W RulapaughBrazil2024-06-11Chapman, Ross E Esq QUALIFIED90Xuxue Feng
1036Octavia E RulapaughCanada2024-06-03Feltz Printing Service NEW45Elwin Sharvill
1037Clifford H WaycottJapan2024-06-20Chanay, Jeffrey A Esq PROPOSAL46Xuxue Feng
1038Ivar U PoquetteRussia2024-06-19Feiner Bros NEW73Asiya Javayant
1039Tony F GillianRussia2024-06-07Rousseaux, Michael Esq QUALIFIED80Bernardo Dominic
1040Rodrigues E GillianBrazil2024-05-24Buckley Miller Wright RENEWAL78Stephen Shaw
1041James E CampainAustralia2024-05-31Chemel, James L Cpa RENEWAL49Ioni Bowcher
1042Aruna C AmigonUnited Kingdom2024-06-14Rousseaux, Michael Esq UNQUALIFIED55Anna Fali
1043Ashley Q DilliardGermany2024-05-27Rangoni Of Florence PROPOSAL39Ioni Bowcher
1044Deepesh Y AmigonRussia2024-06-09Benton, John B Jr UNQUALIFIED24Xuxue Feng
1045Kadeem C KolmetzFrance2024-06-21Benton, John B Jr NEGOTIATION76Xuxue Feng
1046Rodrigues D FlosiArgentina2024-06-12Rangoni Of Florence UNQUALIFIED32Ioni Bowcher
1047Ashley C WaycottCanada2024-05-31Rangoni Of Florence NEGOTIATION92Bernardo Dominic
1048Mayumi Y TollnerGermany2024-06-01Benton, John B Jr RENEWAL77Onyama Limba
1049Misaki K FigeroaJapan2024-05-24Dorl, James J Esq QUALIFIED27Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Misaki C MarrierArgentinaElwin Sharvill PROPOSAL
Kadeem X FlosiIndiaOnyama Limba RENEWAL
Ivar N RulapaughSpainAmy Elsner QUALIFIED
Isabel R IturbideItalyOnyama Limba NEGOTIATION
Rodrigues N FerenczFranceElwin Sharvill UNQUALIFIED
Darci K GillianRussiaOnyama Limba RENEWAL
Stacey F KolmetzFranceAmy Elsner UNQUALIFIED
Munro P WhobreySpainElwin Sharvill RENEWAL
Ricardo K KolmetzItalyOnyama Limba QUALIFIED
Mujtaba J OldroydUnited KingdomBernardo Dominic QUALIFIED
Maria L MorascaFranceOnyama Limba UNQUALIFIED
Octavia P DilliardIndiaXuxue Feng RENEWAL
Deepesh M FerenczCanadaXuxue Feng NEGOTIATION
Murillo N RulapaughFranceAsiya Javayant NEW
Aika R PaprockiUnited KingdomAnna Fali PROPOSAL
Costa B AmigonJapanStephen Shaw QUALIFIED
Aruna Z IturbideRussiaAsiya Javayant RENEWAL
Claire R AmigonItalyIoni Bowcher QUALIFIED
Greenwood E NestleJapanAsiya Javayant NEW
Mayumi E RutaItalyElwin Sharvill NEGOTIATION
Mayumi E AlbaresJapanXuxue Feng PROPOSAL
Juan C OstroskyArgentinaElwin Sharvill QUALIFIED
Greenwood C MaletCanadaAmy Elsner RENEWAL
Darci O GlickSpainBernardo Dominic UNQUALIFIED
Isabel I ButtAustraliaBernardo Dominic UNQUALIFIED
Mujtaba R InouyeFranceAnna Fali NEW
Costa P MaletUnited KingdomAsiya Javayant QUALIFIED
Tony Z RimIndiaAnna Fali PROPOSAL
Ivar U MaletJapanIoni Bowcher NEW
Julie V PoquetteIndiaAnna Fali UNQUALIFIED
Maisha I AmigonBrazilElwin Sharvill RENEWAL
Juan J SchemmerUnited KingdomStephen Shaw QUALIFIED
Emily R MaletItalyStephen Shaw QUALIFIED
Leon V GlickAustraliaIvan Magalhaes UNQUALIFIED
Johnson S VocelkaCanadaIoni Bowcher UNQUALIFIED
Chavez Y MorascaRussiaAmy Elsner PROPOSAL
Alejandro D WhobreyArgentinaStephen Shaw RENEWAL
Rodrigues Q FerenczCanadaIvan Magalhaes QUALIFIED
Deepesh A ButtBrazilAmy Elsner NEGOTIATION
Mayumi J RoysterRussiaAsiya Javayant NEW
Antonio B VenereFranceIvan Magalhaes PROPOSAL
Mayumi W IturbideUnited KingdomElwin Sharvill UNQUALIFIED
Aditya N SlusarskiSpainIoni Bowcher PROPOSAL
Mayumi V KuskoJapanOnyama Limba RENEWAL
Isabel P DoeCanadaXuxue Feng NEW
Francesco M PoquetteJapanBernardo Dominic UNQUALIFIED
Chavez V GarufiJapanAnna Fali UNQUALIFIED
Munro E KuskoJapanBernardo Dominic RENEWAL
Jones V MaletArgentinaAsiya Javayant NEGOTIATION
Antonio V RutaAustraliaAnna Fali RENEWAL
Frozen Columns
Name
Adams G Whobrey
Silvio J Kusko
Smith R Sergi
Francesco H Darakjy
Mayumi L Inouye
Ivar H Slusarski
Rodrigues E Ostrosky
Adams N Caldarera
Juan K Royster
Sinclair U Stenseth
Costa C Dilliard
Francesco M Kolmetz
Salvatore Y Inouye
Isabel J Royster
Ashley C Vocelka
Leja U Stenseth
Izzy B Whobrey
Leja R Waycott
Mujtaba K Schemmer
Faith T Sergi
Aika B Rim
Maisha V Oldroyd
Morrow R Chui
Mujtaba L Schemmer
Salvatore N Saylors
Clifford G Inouye
Deepesh O Kusko
Aruna C Stenseth
Izzy N Stockham
Isabel A Venere
Isabel I Campain
Clifford L Waycott
Maria V Iturbide
Smith L Gaucho
Antonio W Poquette
Ricardo L Nestle
James M Rim
Nicolas D Poquette
Jennifer T Waycott
Johnson N Oldroyd
Adams M Albares
Deepesh B Tollner
Mayumi U Morasca
Arvin R Caldarera
Mujtaba R Bolognia
Julie T Figeroa
Aditya B Marrier
Tony R Perin
Tony D Gillian
Chavez I Kolmetz
IdCountryDate
1000Brazil2024-06-12
1001India2024-05-30
1002Brazil2024-05-27
1003Japan2024-06-18
1004France2024-05-29
1005Spain2024-06-19
1006France2024-06-13
1007Germany2024-06-15
1008Italy2024-06-17
1009India2024-06-07
1010Brazil2024-05-30
1011Brazil2024-05-26
1012Argentina2024-05-24
1013Argentina2024-06-03
1014France2024-06-04
1015India2024-06-03
1016Spain2024-06-16
1017United Kingdom2024-06-08
1018Spain2024-05-28
1019Japan2024-06-10
1020Australia2024-06-13
1021United Kingdom2024-05-31
1022Italy2024-05-24
1023Brazil2024-06-04
1024Japan2024-06-14
1025Australia2024-06-12
1026United Kingdom2024-06-06
1027Russia2024-05-27
1028Japan2024-05-24
1029United Kingdom2024-06-08
1030India2024-06-22
1031Australia2024-06-12
1032France2024-06-07
1033Argentina2024-06-09
1034India2024-06-14
1035Russia2024-06-19
1036Argentina2024-06-16
1037United Kingdom2024-05-31
1038Russia2024-06-17
1039Spain2024-06-15
1040Japan2024-06-06
1041Japan2024-06-03
1042India2024-05-30
1043Australia2024-05-30
1044Russia2024-05-29
1045Germany2024-06-08
1046United Kingdom2024-05-27
1047Russia2024-05-26
1048Brazil2024-06-22
1049Australia2024-06-11

On-Demand Data

NameIdCountryDate
Kadeem M Stockham1000Canada2024-06-11
Ricardo S Caudy1001Germany2024-06-07
Aditya U Inouye1002Canada2024-06-21
Tony U Ostrosky1003Australia2024-05-28
Cody I Ruta1004Australia2024-06-09
Mayumi W Malet1005Brazil2024-06-09
Wickens J Slusarski1006Italy2024-06-05
Aika F Nicka1007India2024-06-21
Stacey G Bowley1008Brazil2024-06-06
Mayumi Q Butt1009Australia2024-05-28
Rodrigues Y Schemmer1010Spain2024-06-05
Murillo G Saylors1011Japan2024-06-08
Smith X Flosi1012India2024-05-28
Rodrigues G Garufi1013Japan2024-05-25
Alejandro B Garufi1014Japan2024-05-24
Deepesh M Butt1015India2024-06-09
Darci U Morasca1016Australia2024-06-05
Silvio H Ruta1017Australia2024-06-02
Izzy C Wieser1018United Kingdom2024-06-06
Ashley X Amigon1019Spain2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar B BriddickItalyAsiya Javayant QUALIFIED
Aruna Y KolmetzSpainStephen Shaw RENEWAL
Izzy H MorascaIndiaIvan Magalhaes RENEWAL
Leja M WhobreyGermanyXuxue Feng RENEWAL
Clifford J FerenczBrazilAsiya Javayant RENEWAL
Smith D GarufiItalyXuxue Feng UNQUALIFIED
Jennifer P CampainUnited KingdomBernardo Dominic NEGOTIATION
Costa Z SaylorsArgentinaAmy Elsner UNQUALIFIED
Sinclair R WaycottSpainOnyama Limba NEGOTIATION
Leja M BowleyBrazilXuxue Feng UNQUALIFIED
Maria W PoquetteUnited KingdomElwin Sharvill PROPOSAL
Jefferson X StensethGermanyAnna Fali UNQUALIFIED
Johnson Z FigeroaIndiaElwin Sharvill NEGOTIATION
Ivar F MaletIndiaAsiya Javayant RENEWAL
Misaki O PerinRussiaAmy Elsner RENEWAL
Claire B BologniaJapanOnyama Limba UNQUALIFIED
Antonio Q RulapaughCanadaXuxue Feng NEW
Claire Y RutaCanadaElwin Sharvill UNQUALIFIED
Murillo C RulapaughUnited KingdomBernardo Dominic QUALIFIED
James V OstroskyBrazilOnyama Limba QUALIFIED
Juan Q IturbideSpainIvan Magalhaes UNQUALIFIED
Izzy R AmigonIndiaIvan Magalhaes NEGOTIATION
Jeanfrancois P MorascaRussiaStephen Shaw NEW
Salvatore R ChuiArgentinaBernardo Dominic QUALIFIED
Jennifer M BriddickFranceIoni Bowcher RENEWAL
Smith C InouyeAustraliaIvan Magalhaes QUALIFIED
Silvio G IturbideFranceOnyama Limba NEGOTIATION
Jefferson X FerenczRussiaBernardo Dominic PROPOSAL
Adams Z KuskoBrazilXuxue Feng PROPOSAL
Octavia D VenereRussiaOnyama Limba NEW
Ashley S DilliardRussiaXuxue Feng NEW
Morrow T OldroydBrazilOnyama Limba NEW
Stacey K CaldareraRussiaIvan Magalhaes NEGOTIATION
Mujtaba J GlickArgentinaElwin Sharvill QUALIFIED
Leja H MacleadJapanElwin Sharvill NEGOTIATION
Jones P AlbaresBrazilElwin Sharvill PROPOSAL
Juan P ShinkoArgentinaAnna Fali NEW
Kadeem R MacleadJapanOnyama Limba UNQUALIFIED
Nicolas N MorascaArgentinaOnyama Limba RENEWAL
Smith M SlusarskiJapanElwin Sharvill NEW

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