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
Aika E CaldareraJapanBernardo Dominic NEW
Salvatore D NestleRussiaXuxue Feng NEGOTIATION
Johnson D MaletAustraliaElwin Sharvill RENEWAL
Costa J RutaIndiaAnna Fali NEGOTIATION
Maisha O MorascaCanadaElwin Sharvill UNQUALIFIED
Octavia N NickaIndiaElwin Sharvill QUALIFIED
Juan M KolmetzBrazilAsiya Javayant NEW
Ivar I KuskoSpainBernardo Dominic QUALIFIED
Greenwood T FigeroaSpainBernardo Dominic RENEWAL
Octavia A VocelkaUnited KingdomStephen Shaw NEGOTIATION
Misaki I FigeroaAustraliaAsiya Javayant UNQUALIFIED
Emily L KolmetzUnited KingdomAmy Elsner QUALIFIED
James I DarakjyFranceIvan Magalhaes UNQUALIFIED
Jennifer R CaudyCanadaAnna Fali UNQUALIFIED
Wickens A KolmetzBrazilAnna Fali PROPOSAL
Faith B BowleyBrazilXuxue Feng NEGOTIATION
Leon V KolmetzCanadaElwin Sharvill QUALIFIED
Rodrigues H OstroskyCanadaElwin Sharvill NEGOTIATION
Rodrigues J NickaRussiaIvan Magalhaes QUALIFIED
Kaitlin O MarrierBrazilXuxue Feng NEW
Stacey V GlickItalyAmy Elsner PROPOSAL
Julie J RutaGermanyStephen Shaw QUALIFIED
Maria M NestleAustraliaOnyama Limba NEGOTIATION
Murillo E IturbideRussiaStephen Shaw PROPOSAL
Faith G DarakjyUnited KingdomBernardo Dominic NEW
Arvin N PaprockiBrazilIoni Bowcher RENEWAL
Jeanfrancois R ShinkoArgentinaIvan Magalhaes RENEWAL
Arvin I WieserAustraliaXuxue Feng UNQUALIFIED
Jeanfrancois W ChuiRussiaIoni Bowcher NEW
Jefferson Q GlickFranceElwin Sharvill PROPOSAL
Aika Q DoeGermanyIoni Bowcher NEW
Adams C PaprockiItalyStephen Shaw RENEWAL
Morrow B FigeroaFranceAmy Elsner RENEWAL
Clifford L DoeRussiaStephen Shaw NEW
Leon W InouyeSpainIoni Bowcher PROPOSAL
Jennifer L SchemmerCanadaOnyama Limba NEGOTIATION
Alejandro F ButtGermanyIoni Bowcher RENEWAL
Claire V DilliardCanadaStephen Shaw RENEWAL
Mayumi N ChuiGermanyIvan Magalhaes NEGOTIATION
Munro G VocelkaUnited KingdomAmy Elsner RENEWAL
Silvio E NickaBrazilBernardo Dominic NEGOTIATION
Ricardo U OldroydRussiaBernardo Dominic NEGOTIATION
Johnson G MacleadGermanyStephen Shaw NEW
Cody U BologniaArgentinaOnyama Limba NEW
Faith I CaudyIndiaIvan Magalhaes NEW
Ivar A FlosiCanadaXuxue Feng PROPOSAL
Jennifer Y MacleadIndiaXuxue Feng RENEWAL
Juan X BowleyItalyIvan Magalhaes NEW
Izzy X RimRussiaBernardo Dominic RENEWAL
Mayumi B ShinkoGermanyStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Salvatore Y GauchoUnited KingdomElwin Sharvill PROPOSAL
Juan W DoeArgentinaXuxue Feng UNQUALIFIED
Leja J VocelkaRussiaAmy Elsner NEGOTIATION
Sinclair N AlbaresAustraliaIoni Bowcher RENEWAL
Clifford L GarufiBrazilStephen Shaw PROPOSAL
Darci D IturbideUnited KingdomAnna Fali UNQUALIFIED
Faith Y GlickCanadaIvan Magalhaes PROPOSAL
Chavez T RulapaughJapanOnyama Limba RENEWAL
Jefferson C KolmetzRussiaBernardo Dominic NEW
Maria M StensethIndiaIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones P FerenczArgentina2024-05-08Printing Dimensions UNQUALIFIED63Ivan Magalhaes
1001Jefferson O GarufiAustralia2024-05-17Chanay, Jeffrey A Esq RENEWAL16Stephen Shaw
1002Chavez A DarakjyUnited Kingdom2024-04-28Chemel, James L Cpa NEGOTIATION51Amy Elsner
1003Arvin I GauchoSpain2024-05-14Chapman, Ross E Esq RENEWAL37Bernardo Dominic
1004Aditya G CampainJapan2024-05-17Chapman, Ross E Esq NEW13Elwin Sharvill
1005Jones K VenereBrazil2024-05-01Commercial Press QUALIFIED51Bernardo Dominic
1006Munro M InouyeBrazil2024-05-09Feiner Bros UNQUALIFIED77Bernardo Dominic
1007Maria Q WaycottItaly2024-05-24Dorl, James J Esq QUALIFIED59Anna Fali
1008Alejandro G AlbaresFrance2024-05-06Feltz Printing Service RENEWAL28Onyama Limba
1009Darci Q OldroydRussia2024-05-12Benton, John B Jr NEW18Amy Elsner
1010Johnson G NestleAustralia2024-05-14Morlong Associates QUALIFIED67Ivan Magalhaes
1011Antonio P CampainJapan2024-05-19Buckley Miller Wright RENEWAL40Elwin Sharvill
1012Deepesh S ShinkoAustralia2024-05-15Chapman, Ross E Esq UNQUALIFIED96Anna Fali
1013Greenwood U GarufiCanada2024-05-01Rousseaux, Michael Esq RENEWAL8Onyama Limba
1014Izzy C CaldareraBrazil2024-05-12Rangoni Of Florence PROPOSAL31Xuxue Feng
1015Ivar M CampainGermany2024-05-05Rousseaux, Michael Esq PROPOSAL52Ioni Bowcher
1016Clifford E AmigonGermany2024-05-16Truhlar And Truhlar Attys PROPOSAL68Elwin Sharvill
1017Deepesh Z WieserJapan2024-05-16Chapman, Ross E Esq UNQUALIFIED9Bernardo Dominic
1018Munro Y DarakjyRussia2024-05-20Benton, John B Jr NEW11Ioni Bowcher
1019David G GarufiAustralia2024-05-09Feiner Bros NEGOTIATION85Xuxue Feng
1020Johnson K CaldareraGermany2024-05-26Morlong Associates PROPOSAL70Stephen Shaw
1021Aditya I TollnerJapan2024-05-17Buckley Miller Wright QUALIFIED84Asiya Javayant
1022Ricardo H SergiJapan2024-05-02Dorl, James J Esq RENEWAL25Ioni Bowcher
1023Kaitlin M MaletIndia2024-05-18Chemel, James L Cpa RENEWAL29Amy Elsner
1024Jennifer N MaletSpain2024-05-04Buckley Miller Wright NEGOTIATION7Asiya Javayant
1025Kaitlin P TollnerItaly2024-05-02Morlong Associates QUALIFIED60Bernardo Dominic
1026Stacey H GauchoBrazil2024-04-29Dorl, James J Esq UNQUALIFIED90Asiya Javayant
1027Rodrigues N MorascaRussia2024-05-17Benton, John B Jr QUALIFIED92Onyama Limba
1028Octavia M KolmetzFrance2024-05-17King, Christopher A Esq NEW43Onyama Limba
1029Jones H MacleadCanada2024-05-22Benton, John B Jr RENEWAL60Stephen Shaw
1030Maria P AlbaresGermany2024-05-20Chanay, Jeffrey A Esq QUALIFIED29Ioni Bowcher
1031Ashley O SaylorsAustralia2024-05-24Chanay, Jeffrey A Esq PROPOSAL57Ioni Bowcher
1032Murillo S BologniaGermany2024-05-10Chemel, James L Cpa NEW29Onyama Limba
1033Mujtaba X PaprockiSpain2024-05-05Dorl, James J Esq QUALIFIED70Elwin Sharvill
1034Mujtaba Q ChuiJapan2024-05-11Buckley Miller Wright NEGOTIATION77Ioni Bowcher
1035Mayumi A TollnerGermany2024-05-17Buckley Miller Wright PROPOSAL17Xuxue Feng
1036Kadeem S IturbideFrance2024-05-27Buckley Miller Wright QUALIFIED7Xuxue Feng
1037Izzy P DarakjyArgentina2024-05-13Rousseaux, Michael Esq NEGOTIATION67Ivan Magalhaes
1038Aika L RimIndia2024-05-16King, Christopher A Esq RENEWAL34Elwin Sharvill
1039Maria L RulapaughRussia2024-05-24Morlong Associates NEGOTIATION11Stephen Shaw
1040Emily W ShinkoUnited Kingdom2024-05-05Chemel, James L Cpa QUALIFIED89Asiya Javayant
1041Antonio S MarrierUnited Kingdom2024-05-08Benton, John B Jr QUALIFIED42Amy Elsner
1042Aruna W CaldareraCanada2024-05-19Rousseaux, Michael Esq QUALIFIED90Bernardo Dominic
1043Ivar C SaylorsBrazil2024-05-04Commercial Press NEW7Xuxue Feng
1044Jefferson X IturbideBrazil2024-05-19King, Christopher A Esq QUALIFIED65Bernardo Dominic
1045Ashley Q DoeIndia2024-05-23Chanay, Jeffrey A Esq UNQUALIFIED64Onyama Limba
1046Stacey F MacleadArgentina2024-05-07Rangoni Of Florence NEGOTIATION0Bernardo Dominic
1047Ashley X WhobreyGermany2024-05-16Commercial Press UNQUALIFIED96Asiya Javayant
1048Darci S MorascaArgentina2024-05-23Benton, John B Jr NEW61Ioni Bowcher
1049Aruna Q MacleadBrazil2024-05-05Dorl, James J Esq PROPOSAL89Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Ivar D FerenczCanadaAmy Elsner NEGOTIATION
Julie V BowleyAustraliaBernardo Dominic NEGOTIATION
Claire Q PoquetteGermanyOnyama Limba UNQUALIFIED
Ivar E WieserAustraliaAnna Fali RENEWAL
Antonio S KuskoFranceAnna Fali UNQUALIFIED
Kadeem U MarrierItalyStephen Shaw PROPOSAL
Aditya G WaycottItalyIvan Magalhaes UNQUALIFIED
Adams U SaylorsSpainBernardo Dominic QUALIFIED
Juan L TollnerUnited KingdomAsiya Javayant UNQUALIFIED
Isabel I FerenczUnited KingdomIoni Bowcher PROPOSAL
Ivar F RoysterJapanIvan Magalhaes QUALIFIED
Cody C ShinkoGermanyAmy Elsner PROPOSAL
Deepesh N BologniaJapanStephen Shaw PROPOSAL
Jones O KolmetzAustraliaIoni Bowcher PROPOSAL
Faith B BologniaCanadaStephen Shaw RENEWAL
Kaitlin M SlusarskiUnited KingdomXuxue Feng RENEWAL
Cody U CaudyRussiaIoni Bowcher NEGOTIATION
Octavia W ButtSpainBernardo Dominic RENEWAL
Octavia I BriddickArgentinaElwin Sharvill NEW
Izzy S OldroydUnited KingdomAmy Elsner NEW
Kaitlin E SaylorsAustraliaBernardo Dominic RENEWAL
Nicolas G SlusarskiArgentinaOnyama Limba UNQUALIFIED
Isabel W RimItalyAnna Fali UNQUALIFIED
Kadeem S VenereBrazilElwin Sharvill NEGOTIATION
Aditya G AlbaresFranceStephen Shaw RENEWAL
Jeanfrancois J GauchoIndiaBernardo Dominic QUALIFIED
Jones G MaletUnited KingdomIvan Magalhaes QUALIFIED
Kadeem P GauchoRussiaElwin Sharvill UNQUALIFIED
Kaitlin G GillianCanadaIoni Bowcher NEW
Kadeem W GauchoAustraliaElwin Sharvill NEGOTIATION
Morrow W CaudyCanadaIoni Bowcher NEGOTIATION
Ashley T StockhamAustraliaIoni Bowcher NEW
Chavez Z BowleyBrazilElwin Sharvill QUALIFIED
Misaki R StensethFranceAsiya Javayant UNQUALIFIED
Smith Q WieserIndiaOnyama Limba RENEWAL
Clifford Z FollerBrazilIoni Bowcher RENEWAL
Francesco D SlusarskiFranceIoni Bowcher QUALIFIED
Ivar L WaycottRussiaAsiya Javayant PROPOSAL
Leon J FerenczGermanyAsiya Javayant QUALIFIED
Greenwood E GlickUnited KingdomOnyama Limba RENEWAL
Smith P CaudyFranceBernardo Dominic NEGOTIATION
Jennifer T StensethAustraliaBernardo Dominic PROPOSAL
Francesco R BriddickSpainIvan Magalhaes PROPOSAL
Kadeem H PoquetteArgentinaXuxue Feng NEW
Leon P SchemmerBrazilAmy Elsner QUALIFIED
Antonio Z AmigonArgentinaAsiya Javayant QUALIFIED
Adams A BologniaAustraliaOnyama Limba UNQUALIFIED
Leon K GlickArgentinaXuxue Feng NEGOTIATION
Maisha O IturbideArgentinaStephen Shaw UNQUALIFIED
Darci I BowleyRussiaBernardo Dominic RENEWAL
Frozen Columns
Name
Leon I Malet
Jennifer B Morasca
Wickens T Flosi
Adams L Tollner
Sinclair O Amigon
Maria T Vocelka
Antonio Z Kusko
Izzy V Rulapaugh
Faith J Maclead
Tony J Inouye
Stacey V Bolognia
Claire N Nestle
Sinclair V Rim
Juan D Figeroa
Smith W Kusko
Misaki D Gaucho
Arvin I Shinko
David G Amigon
Francesco J Sergi
Rodrigues H Whobrey
Ivar U Slusarski
Stacey A Schemmer
Rodrigues K Bowley
Adams B Kusko
Tony J Slusarski
Arvin R Gaucho
Silvio B Kolmetz
Julie P Poquette
Alejandro J Royster
Misaki G Morasca
Adams C Kolmetz
Clifford L Campain
Deepesh L Ostrosky
Maria B Flosi
Claire C Caldarera
Leja A Rulapaugh
Jennifer V Briddick
Isabel S Poquette
Darci U Poquette
Francesco Y Inouye
Claire K Waycott
David Z Wieser
Morrow I Rim
Octavia C Stenseth
Emily R Slusarski
Ivar O Ruta
Munro F Vocelka
Wickens Q Flosi
Mayumi C Inouye
Izzy G Doe
IdCountryDate
1000Russia2024-05-20
1001Spain2024-05-26
1002India2024-05-05
1003India2024-05-01
1004United Kingdom2024-05-05
1005India2024-05-19
1006United Kingdom2024-05-19
1007Japan2024-05-08
1008Russia2024-05-08
1009United Kingdom2024-05-17
1010Australia2024-05-18
1011Brazil2024-05-11
1012Canada2024-05-18
1013Spain2024-05-14
1014France2024-05-27
1015Germany2024-05-07
1016Japan2024-05-25
1017Canada2024-05-14
1018France2024-05-12
1019United Kingdom2024-04-29
1020Canada2024-05-23
1021France2024-05-08
1022Russia2024-05-18
1023Brazil2024-05-12
1024Germany2024-05-27
1025Spain2024-05-17
1026United Kingdom2024-05-08
1027Brazil2024-05-11
1028France2024-05-20
1029Italy2024-05-12
1030Brazil2024-05-22
1031Brazil2024-05-04
1032United Kingdom2024-05-02
1033Spain2024-05-05
1034Japan2024-05-06
1035United Kingdom2024-05-13
1036Italy2024-05-26
1037Argentina2024-05-08
1038France2024-04-28
1039Brazil2024-05-11
1040Italy2024-05-01
1041United Kingdom2024-05-05
1042Canada2024-05-08
1043Italy2024-05-02
1044Japan2024-05-19
1045Argentina2024-05-05
1046Canada2024-05-20
1047Spain2024-05-19
1048India2024-05-15
1049Russia2024-04-30

On-Demand Data

NameIdCountryDate
Izzy I Dilliard1000France2024-05-25
Wickens I Vocelka1001Russia2024-05-12
Misaki T Rulapaugh1002India2024-05-05
David V Chui1003Germany2024-05-20
Kadeem N Figeroa1004Spain2024-05-18
Aditya M Ostrosky1005Australia2024-04-30
Adams D Ruta1006United Kingdom2024-05-09
Nicolas N Ferencz1007Australia2024-05-12
Mayumi E Flosi1008Japan2024-04-29
Salvatore Q Poquette1009Argentina2024-05-23
Morrow X Inouye1010Brazil2024-04-30
Leja V Gaucho1011Canada2024-05-06
Costa Y Chui1012Japan2024-05-27
Ricardo O Glick1013Australia2024-05-08
Wickens T Caudy1014United Kingdom2024-05-22
Clifford K Nicka1015Germany2024-05-04
Izzy H Morasca1016France2024-05-08
Aika K Oldroyd1017United Kingdom2024-05-04
Darci K Gaucho1018Argentina2024-05-23
Tony L Inouye1019India2024-05-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi Q FlosiCanadaAsiya Javayant NEW
Jones O ButtGermanyElwin Sharvill RENEWAL
Johnson M TollnerAustraliaStephen Shaw QUALIFIED
Isabel C BologniaCanadaStephen Shaw NEW
Leja X IturbideArgentinaIvan Magalhaes NEW
Costa J SergiItalyBernardo Dominic NEW
Maria S NestleCanadaStephen Shaw QUALIFIED
David Q FigeroaCanadaIoni Bowcher NEGOTIATION
Ivar R ChuiItalyAsiya Javayant NEGOTIATION
Wickens O WaycottFranceElwin Sharvill NEGOTIATION
Wickens K BologniaAustraliaAmy Elsner UNQUALIFIED
Silvio U MorascaGermanyBernardo Dominic UNQUALIFIED
Aika B MaletCanadaAsiya Javayant PROPOSAL
Stacey D MorascaIndiaOnyama Limba NEW
Deepesh Z BologniaRussiaIvan Magalhaes QUALIFIED
Leon A DoeArgentinaIvan Magalhaes RENEWAL
Juan W NestleBrazilAnna Fali PROPOSAL
Deepesh A WhobreyUnited KingdomIvan Magalhaes UNQUALIFIED
Aditya J CaldareraGermanyXuxue Feng NEW
Aika L FlosiCanadaXuxue Feng NEW
Isabel X ShinkoAustraliaElwin Sharvill UNQUALIFIED
James H StockhamSpainAnna Fali QUALIFIED
Smith V ChuiJapanAsiya Javayant QUALIFIED
Chavez I DilliardJapanBernardo Dominic RENEWAL
Juan F VocelkaBrazilOnyama Limba NEGOTIATION
Salvatore A BowleyItalyXuxue Feng NEW
Aruna Y PerinUnited KingdomAsiya Javayant NEW
Munro R OldroydIndiaElwin Sharvill NEGOTIATION
Aditya O SaylorsFranceElwin Sharvill PROPOSAL
Wickens H OstroskyIndiaAnna Fali QUALIFIED
Aruna W NickaGermanyOnyama Limba RENEWAL
Alejandro G WaycottGermanyXuxue Feng PROPOSAL
Antonio V FollerGermanyIoni Bowcher UNQUALIFIED
Morrow B StockhamUnited KingdomAsiya Javayant UNQUALIFIED
Cody V BologniaGermanyIoni Bowcher PROPOSAL
Ricardo A RutaFranceAnna Fali QUALIFIED
Morrow K WieserArgentinaAmy Elsner PROPOSAL
Tony K PaprockiRussiaAnna Fali RENEWAL
Antonio C SergiJapanStephen Shaw NEGOTIATION
Mayumi Z RoysterArgentinaBernardo Dominic UNQUALIFIED

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