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
Leja M OstroskySpainAmy Elsner UNQUALIFIED
Costa L FigeroaUnited KingdomIvan Magalhaes QUALIFIED
Leon K FerenczJapanAsiya Javayant RENEWAL
Nicolas Y SaylorsBrazilAmy Elsner UNQUALIFIED
Sinclair F FigeroaIndiaAsiya Javayant NEW
Morrow E RoysterArgentinaStephen Shaw PROPOSAL
Mayumi P CaldareraSpainXuxue Feng QUALIFIED
Leon V TollnerCanadaXuxue Feng PROPOSAL
Ivar L FigeroaSpainAnna Fali UNQUALIFIED
Izzy B PaprockiAustraliaAmy Elsner QUALIFIED
Maria X SaylorsJapanElwin Sharvill PROPOSAL
Aruna K StensethFranceOnyama Limba NEGOTIATION
Nicolas D DarakjySpainIvan Magalhaes QUALIFIED
Octavia V GauchoCanadaElwin Sharvill QUALIFIED
Juan G NestleJapanElwin Sharvill QUALIFIED
Smith U AmigonBrazilElwin Sharvill NEGOTIATION
Izzy J RutaFranceAnna Fali NEGOTIATION
Deepesh C DilliardFranceAmy Elsner PROPOSAL
Arvin K RulapaughBrazilAmy Elsner UNQUALIFIED
Wickens J FerenczRussiaIvan Magalhaes QUALIFIED
Tony A ShinkoJapanIvan Magalhaes QUALIFIED
Jones N FerenczGermanyOnyama Limba PROPOSAL
Isabel Z VenereCanadaIoni Bowcher RENEWAL
Leja Q CaudyAustraliaAsiya Javayant UNQUALIFIED
Morrow F FerenczItalyAsiya Javayant RENEWAL
Greenwood A AlbaresCanadaAmy Elsner NEW
Juan Z RimRussiaXuxue Feng NEGOTIATION
Misaki T TollnerRussiaAnna Fali NEW
Isabel Y RutaItalyIoni Bowcher UNQUALIFIED
Mujtaba P FigeroaArgentinaAnna Fali PROPOSAL
Stacey A VocelkaBrazilAsiya Javayant QUALIFIED
Isabel Y IturbideBrazilAsiya Javayant RENEWAL
Claire C FlosiRussiaOnyama Limba NEGOTIATION
Morrow Y VocelkaIndiaAmy Elsner NEGOTIATION
Morrow B FlosiFranceXuxue Feng PROPOSAL
Nicolas U KolmetzRussiaBernardo Dominic RENEWAL
Claire X DarakjyUnited KingdomElwin Sharvill NEGOTIATION
Ricardo K SaylorsRussiaElwin Sharvill PROPOSAL
Smith P CaudyRussiaAnna Fali NEGOTIATION
Darci C WieserArgentinaAsiya Javayant UNQUALIFIED
Morrow V GillianIndiaAsiya Javayant QUALIFIED
Juan R FigeroaGermanyIoni Bowcher RENEWAL
Ricardo J GillianArgentinaBernardo Dominic NEGOTIATION
Rodrigues O WaycottCanadaAnna Fali PROPOSAL
Faith Z SaylorsAustraliaOnyama Limba QUALIFIED
Francesco U WieserItalyIvan Magalhaes PROPOSAL
Izzy E SlusarskiFranceStephen Shaw NEW
Mujtaba X RulapaughAustraliaStephen Shaw UNQUALIFIED
Costa P StensethCanadaIoni Bowcher PROPOSAL
Ashley U OstroskyUnited KingdomAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Wickens G OldroydJapanIvan Magalhaes PROPOSAL
Leja Y GarufiIndiaAsiya Javayant UNQUALIFIED
James G KuskoSpainOnyama Limba QUALIFIED
James S AlbaresArgentinaAmy Elsner UNQUALIFIED
Morrow K IturbideIndiaIvan Magalhaes UNQUALIFIED
Kadeem R OldroydFranceOnyama Limba NEGOTIATION
Cody G OldroydArgentinaBernardo Dominic NEW
Maria V OstroskyGermanyBernardo Dominic QUALIFIED
Aditya W GauchoUnited KingdomBernardo Dominic PROPOSAL
Darci H VenereItalyElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika M DilliardSpain2024-06-08Dorl, James J Esq QUALIFIED59Onyama Limba
1001Munro V CaudyItaly2024-06-17Feiner Bros NEW19Xuxue Feng
1002Misaki M InouyeFrance2024-06-06Commercial Press RENEWAL76Anna Fali
1003Johnson C RulapaughUnited Kingdom2024-05-23Dorl, James J Esq NEW44Stephen Shaw
1004Kadeem F ShinkoUnited Kingdom2024-05-25Benton, John B Jr QUALIFIED15Bernardo Dominic
1005Jones X OstroskyArgentina2024-05-27Dorl, James J Esq RENEWAL43Amy Elsner
1006Tony C RimArgentina2024-05-23Benton, John B Jr NEGOTIATION5Onyama Limba
1007Mujtaba Y PerinRussia2024-06-15Printing Dimensions NEGOTIATION47Anna Fali
1008Aika M RutaUnited Kingdom2024-06-14Rangoni Of Florence UNQUALIFIED1Xuxue Feng
1009Francesco K DarakjyBrazil2024-05-26Chanay, Jeffrey A Esq QUALIFIED48Ivan Magalhaes
1010Salvatore B MacleadUnited Kingdom2024-05-26Printing Dimensions PROPOSAL70Elwin Sharvill
1011Tony A FerenczCanada2024-05-31Feiner Bros QUALIFIED72Ioni Bowcher
1012Deepesh A WieserJapan2024-06-04Rangoni Of Florence NEW26Anna Fali
1013David G AlbaresUnited Kingdom2024-06-14Truhlar And Truhlar Attys RENEWAL38Elwin Sharvill
1014Jefferson N RulapaughCanada2024-05-30King, Christopher A Esq UNQUALIFIED15Onyama Limba
1015Sinclair R WaycottUnited Kingdom2024-06-15Morlong Associates PROPOSAL3Ivan Magalhaes
1016Ashley B BriddickFrance2024-06-13King, Christopher A Esq NEW14Xuxue Feng
1017Kaitlin X OldroydAustralia2024-06-05Commercial Press NEGOTIATION60Anna Fali
1018Ivar V PaprockiItaly2024-05-29Chemel, James L Cpa QUALIFIED14Onyama Limba
1019Smith M WaycottArgentina2024-06-01Dorl, James J Esq UNQUALIFIED73Asiya Javayant
1020Francesco Y TollnerIndia2024-06-18Commercial Press NEW51Bernardo Dominic
1021Faith G VocelkaCanada2024-06-08Chapman, Ross E Esq QUALIFIED56Asiya Javayant
1022Ivar L TollnerFrance2024-06-07Buckley Miller Wright QUALIFIED74Bernardo Dominic
1023Maria Q SchemmerBrazil2024-06-13Printing Dimensions NEGOTIATION85Amy Elsner
1024Faith E WieserAustralia2024-06-13Chanay, Jeffrey A Esq UNQUALIFIED79Xuxue Feng
1025Kadeem R PoquetteGermany2024-06-14Printing Dimensions QUALIFIED77Xuxue Feng
1026Leja H InouyeItaly2024-05-29Truhlar And Truhlar Attys UNQUALIFIED84Xuxue Feng
1027Sinclair F BologniaIndia2024-06-02Chanay, Jeffrey A Esq NEW8Onyama Limba
1028Munro G GillianSpain2024-06-10Chanay, Jeffrey A Esq NEW86Ivan Magalhaes
1029Octavia C SchemmerJapan2024-05-23Buckley Miller Wright RENEWAL93Anna Fali
1030Aditya B GlickGermany2024-06-18Benton, John B Jr RENEWAL59Xuxue Feng
1031Mujtaba H MarrierBrazil2024-06-15Printing Dimensions QUALIFIED30Bernardo Dominic
1032Aika I FlosiBrazil2024-06-09Chanay, Jeffrey A Esq PROPOSAL76Ioni Bowcher
1033David M KuskoJapan2024-06-04Dorl, James J Esq NEW72Anna Fali
1034Cody M BowleyGermany2024-05-22Dorl, James J Esq PROPOSAL94Onyama Limba
1035Chavez X WaycottSpain2024-06-12Chapman, Ross E Esq RENEWAL14Ioni Bowcher
1036Juan O BologniaAustralia2024-05-26Dorl, James J Esq NEGOTIATION40Ivan Magalhaes
1037Octavia B VocelkaGermany2024-06-08Feiner Bros NEW69Ioni Bowcher
1038Aruna D AmigonUnited Kingdom2024-05-23Chemel, James L Cpa NEGOTIATION96Amy Elsner
1039Juan I CaudyBrazil2024-05-23Commercial Press NEGOTIATION29Amy Elsner
1040Nicolas D DilliardUnited Kingdom2024-06-11Dorl, James J Esq QUALIFIED99Onyama Limba
1041Mayumi P MacleadCanada2024-06-09Feltz Printing Service RENEWAL15Amy Elsner
1042Wickens A MorascaFrance2024-06-15King, Christopher A Esq PROPOSAL99Anna Fali
1043Greenwood D CampainUnited Kingdom2024-06-09Benton, John B Jr QUALIFIED62Onyama Limba
1044Sinclair B InouyeSpain2024-05-24Feiner Bros UNQUALIFIED30Amy Elsner
1045Jefferson B SaylorsArgentina2024-06-02Chapman, Ross E Esq RENEWAL35Asiya Javayant
1046Cody U StockhamIndia2024-05-28Chapman, Ross E Esq UNQUALIFIED33Ivan Magalhaes
1047Wickens R VenereAustralia2024-06-10Chanay, Jeffrey A Esq NEW39Anna Fali
1048Ivar H SaylorsJapan2024-05-31Feltz Printing Service UNQUALIFIED93Elwin Sharvill
1049Johnson N MaletFrance2024-06-09Chemel, James L Cpa NEGOTIATION81Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin Q BowleyJapanAnna Fali NEGOTIATION
Mujtaba M NickaBrazilElwin Sharvill UNQUALIFIED
Alejandro R OldroydFranceIvan Magalhaes NEW
Nicolas E VocelkaUnited KingdomBernardo Dominic QUALIFIED
Kadeem Q CampainBrazilIoni Bowcher NEW
Isabel L VenereFranceAmy Elsner RENEWAL
Cody X StensethFranceIvan Magalhaes RENEWAL
Julie D BowleyRussiaAnna Fali NEW
Munro B ChuiCanadaAmy Elsner PROPOSAL
Cody R RulapaughRussiaXuxue Feng NEW
Salvatore F VenereCanadaAmy Elsner UNQUALIFIED
Chavez G StensethBrazilStephen Shaw RENEWAL
Sinclair U WieserGermanyStephen Shaw UNQUALIFIED
David W FerenczAustraliaIvan Magalhaes NEW
Kadeem C MacleadSpainOnyama Limba UNQUALIFIED
James K DoeSpainIvan Magalhaes NEGOTIATION
Aditya U VenereCanadaAnna Fali RENEWAL
Johnson L BowleyArgentinaXuxue Feng UNQUALIFIED
Munro H GillianIndiaAmy Elsner PROPOSAL
Silvio F VocelkaFranceAnna Fali QUALIFIED
Tony S SlusarskiArgentinaIoni Bowcher NEGOTIATION
Rodrigues W MacleadGermanyStephen Shaw NEGOTIATION
Costa F FerenczSpainAnna Fali NEW
Octavia A GlickArgentinaAmy Elsner NEW
Jones W RulapaughFranceOnyama Limba NEGOTIATION
Julie W NestleArgentinaIvan Magalhaes UNQUALIFIED
Murillo L ButtGermanyBernardo Dominic UNQUALIFIED
Leja X OldroydSpainOnyama Limba UNQUALIFIED
Julie Y SlusarskiJapanIoni Bowcher NEW
Nicolas L GillianRussiaAnna Fali NEGOTIATION
Maisha U GarufiBrazilOnyama Limba NEW
Leon Z CampainJapanAsiya Javayant UNQUALIFIED
Misaki B FlosiBrazilBernardo Dominic UNQUALIFIED
Octavia Y AmigonAustraliaElwin Sharvill NEW
Stacey U MorascaIndiaElwin Sharvill NEGOTIATION
Rodrigues M SchemmerCanadaIvan Magalhaes NEW
Octavia C FigeroaAustraliaAmy Elsner NEW
Antonio L GauchoUnited KingdomElwin Sharvill NEGOTIATION
Maria T NestleRussiaAnna Fali QUALIFIED
Johnson L ButtCanadaElwin Sharvill NEGOTIATION
Kadeem C WaycottIndiaIvan Magalhaes PROPOSAL
Ricardo O MaletIndiaOnyama Limba QUALIFIED
Ivar Q FollerIndiaAnna Fali NEGOTIATION
Ivar M BriddickIndiaBernardo Dominic PROPOSAL
Kaitlin G PaprockiUnited KingdomOnyama Limba UNQUALIFIED
Emily B ShinkoUnited KingdomAsiya Javayant UNQUALIFIED
Maisha H GarufiRussiaBernardo Dominic QUALIFIED
Ricardo R InouyeAustraliaAsiya Javayant PROPOSAL
Julie M WaycottRussiaAnna Fali NEGOTIATION
Misaki A GarufiBrazilAmy Elsner NEW
Frozen Columns
Name
Sinclair Y Whobrey
Deepesh Y Doe
Smith S Wieser
Kadeem J Doe
Johnson D Schemmer
Aruna P Morasca
Ivar R Figeroa
Aditya H Briddick
Kadeem B Schemmer
Mayumi K Stenseth
Ricardo A Glick
Jones C Paprocki
Julie B Caudy
Aika W Waycott
Ricardo X Iturbide
Costa O Morasca
Izzy T Malet
Deepesh U Foller
Jennifer G Saylors
Leja W Wieser
Arvin E Caldarera
Ashley T Rim
Cody E Nestle
Ivar A Stenseth
Arvin R Amigon
James B Wieser
Sinclair R Rulapaugh
Murillo H Kolmetz
Jennifer O Schemmer
Kaitlin Z Malet
Clifford K Slusarski
Leja D Rim
Kaitlin Q Gaucho
Murillo R Stenseth
Octavia D Tollner
Jeanfrancois C Poquette
Costa Q Wieser
Leja U Paprocki
Arvin A Nestle
Kaitlin G Kolmetz
Rodrigues L Perin
Nicolas M Malet
Mujtaba O Malet
Cody U Iturbide
Alejandro N Schemmer
Izzy A Stockham
Antonio V Ruta
Morrow M Stockham
Francesco A Venere
Misaki D Venere
IdCountryDate
1000Brazil2024-05-30
1001France2024-06-07
1002Australia2024-05-28
1003India2024-06-05
1004Spain2024-06-04
1005Germany2024-06-12
1006Canada2024-05-23
1007United Kingdom2024-05-29
1008Canada2024-06-09
1009France2024-06-14
1010India2024-06-07
1011Brazil2024-06-18
1012India2024-06-14
1013Brazil2024-06-04
1014Australia2024-05-31
1015Canada2024-05-23
1016Italy2024-06-07
1017Canada2024-06-02
1018Spain2024-05-21
1019Australia2024-05-22
1020Canada2024-06-12
1021Japan2024-06-09
1022Germany2024-06-18
1023Australia2024-06-12
1024Spain2024-05-26
1025United Kingdom2024-06-17
1026Italy2024-06-13
1027Japan2024-06-02
1028France2024-06-08
1029Spain2024-06-14
1030Russia2024-05-31
1031Spain2024-06-01
1032India2024-05-24
1033Brazil2024-05-20
1034United Kingdom2024-06-17
1035Brazil2024-06-17
1036United Kingdom2024-05-23
1037Japan2024-06-05
1038Argentina2024-05-20
1039Brazil2024-05-26
1040Italy2024-06-13
1041Spain2024-05-29
1042Spain2024-06-09
1043Russia2024-05-26
1044Japan2024-06-15
1045Spain2024-06-02
1046Brazil2024-05-26
1047France2024-06-09
1048Germany2024-05-28
1049Japan2024-05-23

On-Demand Data

NameIdCountryDate
Greenwood B Wieser1000Canada2024-05-24
Ashley C Perin1001India2024-05-30
Maria F Dilliard1002India2024-05-26
Silvio T Gillian1003Germany2024-06-12
Tony N Sergi1004United Kingdom2024-06-11
Misaki K Kusko1005Russia2024-05-26
Jennifer H Nestle1006United Kingdom2024-06-03
Mujtaba F Kusko1007Italy2024-05-25
Aruna K Slusarski1008India2024-06-12
Johnson I Morasca1009Brazil2024-06-11
Leon I Waycott1010United Kingdom2024-06-14
Aruna I Ruta1011France2024-06-10
Leon T Paprocki1012France2024-05-22
Aditya S Waycott1013United Kingdom2024-06-04
Johnson D Wieser1014Canada2024-05-22
Deepesh B Figeroa1015Argentina2024-05-23
Aditya F Waycott1016Italy2024-05-30
Leja E Poquette1017Italy2024-05-27
Claire S Tollner1018Spain2024-06-01
Mujtaba U Glick1019Brazil2024-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore I SergiItalyBernardo Dominic NEGOTIATION
Johnson G StockhamItalyBernardo Dominic NEW
Ashley R MaletGermanyStephen Shaw UNQUALIFIED
Mujtaba A IturbideBrazilAsiya Javayant PROPOSAL
Isabel X BriddickIndiaXuxue Feng PROPOSAL
Johnson P StockhamIndiaXuxue Feng RENEWAL
Kaitlin O InouyeIndiaAmy Elsner NEGOTIATION
Emily D RimJapanAsiya Javayant NEW
Tony S IturbideRussiaBernardo Dominic NEGOTIATION
Silvio R FerenczAustraliaIvan Magalhaes NEW
Alejandro M ChuiArgentinaAnna Fali NEW
Isabel L OldroydCanadaIoni Bowcher RENEWAL
Wickens N ShinkoSpainBernardo Dominic NEW
Jones R SergiSpainAnna Fali UNQUALIFIED
Darci B PerinIndiaIvan Magalhaes NEW
Leja D SlusarskiCanadaOnyama Limba QUALIFIED
Stacey C DilliardAustraliaIvan Magalhaes NEW
Ashley L RoysterIndiaAmy Elsner PROPOSAL
Greenwood F VocelkaAustraliaIvan Magalhaes RENEWAL
Rodrigues K OstroskyFranceOnyama Limba UNQUALIFIED
Ricardo E BowleySpainAnna Fali QUALIFIED
Jefferson N BowleyGermanyIvan Magalhaes NEGOTIATION
Alejandro N RulapaughRussiaStephen Shaw PROPOSAL
Munro B ChuiGermanyAsiya Javayant RENEWAL
Deepesh P StockhamItalyAmy Elsner RENEWAL
David L MarrierArgentinaElwin Sharvill NEGOTIATION
Mayumi H MaletFranceAnna Fali NEW
James U PaprockiItalyBernardo Dominic UNQUALIFIED
Mujtaba T NickaGermanyBernardo Dominic UNQUALIFIED
Darci V KolmetzCanadaIoni Bowcher QUALIFIED
Antonio E FigeroaRussiaAnna Fali RENEWAL
James F BriddickRussiaIoni Bowcher QUALIFIED
Octavia W NestleSpainBernardo Dominic PROPOSAL
Darci O MacleadUnited KingdomElwin Sharvill RENEWAL
Octavia I MaletIndiaOnyama Limba NEW
Morrow B KuskoGermanyIoni Bowcher QUALIFIED
Clifford Y MorascaSpainIoni Bowcher NEGOTIATION
Sinclair A ButtAustraliaElwin Sharvill PROPOSAL
Arvin Y BologniaRussiaXuxue Feng NEW
Juan Q MacleadJapanStephen Shaw RENEWAL

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