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
Costa U RimSpainElwin Sharvill RENEWAL
Julie Y CaudyBrazilXuxue Feng NEGOTIATION
Leja H TollnerAustraliaAnna Fali UNQUALIFIED
Aruna W ButtFranceOnyama Limba NEW
Arvin K AmigonSpainStephen Shaw RENEWAL
Chavez X ButtBrazilAsiya Javayant UNQUALIFIED
Kadeem Q BowleyIndiaIoni Bowcher NEGOTIATION
Nicolas G TollnerBrazilAmy Elsner UNQUALIFIED
Misaki E FlosiIndiaXuxue Feng UNQUALIFIED
Leon C PaprockiSpainOnyama Limba RENEWAL
Silvio A GarufiGermanyXuxue Feng PROPOSAL
Kadeem V RutaArgentinaElwin Sharvill NEGOTIATION
Sinclair Y ShinkoFranceStephen Shaw RENEWAL
James K MaletBrazilAnna Fali NEGOTIATION
Julie R DilliardUnited KingdomAnna Fali NEGOTIATION
Kadeem U BologniaJapanAmy Elsner QUALIFIED
Darci G OldroydIndiaAmy Elsner QUALIFIED
Leon E BologniaArgentinaStephen Shaw NEW
Jones E SlusarskiJapanElwin Sharvill PROPOSAL
Jones N KolmetzCanadaAnna Fali PROPOSAL
Costa U FollerCanadaXuxue Feng PROPOSAL
David T RimRussiaAsiya Javayant PROPOSAL
James R KolmetzSpainAmy Elsner NEW
Faith O FerenczRussiaAsiya Javayant NEW
Mayumi C GillianArgentinaAnna Fali UNQUALIFIED
Johnson Y InouyeFranceAmy Elsner NEGOTIATION
Sinclair L MaletUnited KingdomElwin Sharvill UNQUALIFIED
Greenwood I WieserGermanyAmy Elsner QUALIFIED
Nicolas I RulapaughUnited KingdomIvan Magalhaes NEGOTIATION
Smith D GlickFranceIoni Bowcher NEW
Maria D WhobreyGermanyAnna Fali UNQUALIFIED
Isabel T OldroydIndiaAnna Fali NEW
Alejandro R SlusarskiRussiaElwin Sharvill UNQUALIFIED
Jefferson M StensethUnited KingdomAmy Elsner UNQUALIFIED
Julie L RutaIndiaIoni Bowcher NEGOTIATION
Ashley G AmigonBrazilAsiya Javayant RENEWAL
James S CampainJapanBernardo Dominic NEGOTIATION
Jones M WieserIndiaAnna Fali NEGOTIATION
Cody Q PerinBrazilAnna Fali NEGOTIATION
Ashley N StensethUnited KingdomElwin Sharvill UNQUALIFIED
Maria F WaycottRussiaIvan Magalhaes UNQUALIFIED
Jones G SchemmerJapanAmy Elsner QUALIFIED
Ivar S MacleadIndiaOnyama Limba NEW
Leja D MarrierGermanyIoni Bowcher NEW
Juan L FerenczFranceXuxue Feng RENEWAL
Claire Q PerinAustraliaAnna Fali RENEWAL
Jefferson W IturbideArgentinaBernardo Dominic RENEWAL
Claire O RoysterIndiaStephen Shaw UNQUALIFIED
Adams W WieserJapanBernardo Dominic RENEWAL
Tony W SlusarskiIndiaXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Salvatore W KolmetzIndiaAnna Fali UNQUALIFIED
Morrow Y MarrierGermanyIoni Bowcher QUALIFIED
Clifford U WieserArgentinaAsiya Javayant PROPOSAL
Salvatore G VenereFranceStephen Shaw NEGOTIATION
Kaitlin N VocelkaAustraliaIoni Bowcher RENEWAL
Izzy G CaudyCanadaOnyama Limba UNQUALIFIED
Mayumi Q TollnerRussiaOnyama Limba QUALIFIED
Misaki C NickaJapanXuxue Feng UNQUALIFIED
Kaitlin S CaudyFranceAsiya Javayant NEGOTIATION
Costa B CampainCanadaBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie K IturbideRussia2024-06-04Chapman, Ross E Esq UNQUALIFIED91Anna Fali
1001Mayumi L WieserItaly2024-06-02Feltz Printing Service QUALIFIED25Xuxue Feng
1002Chavez E DilliardItaly2024-05-25Rousseaux, Michael Esq RENEWAL64Ivan Magalhaes
1003Ivar A ButtCanada2024-06-03Rousseaux, Michael Esq PROPOSAL15Amy Elsner
1004Stacey O VenereCanada2024-06-11Feltz Printing Service RENEWAL44Anna Fali
1005Salvatore E CaldareraIndia2024-06-03Chanay, Jeffrey A Esq NEGOTIATION84Anna Fali
1006Leja S NickaCanada2024-06-19Feltz Printing Service NEW72Elwin Sharvill
1007Sinclair V GauchoGermany2024-06-20Chemel, James L Cpa NEGOTIATION5Stephen Shaw
1008Ivar T StensethCanada2024-06-09Rangoni Of Florence NEW42Ivan Magalhaes
1009Ricardo C CaudyBrazil2024-05-25Rousseaux, Michael Esq NEW68Elwin Sharvill
1010David O NickaRussia2024-05-30Chanay, Jeffrey A Esq NEW14Amy Elsner
1011Costa M ButtArgentina2024-05-31Dorl, James J Esq QUALIFIED1Ioni Bowcher
1012Emily W RutaAustralia2024-06-22Rousseaux, Michael Esq PROPOSAL92Onyama Limba
1013Wickens H GauchoCanada2024-05-27Printing Dimensions NEGOTIATION50Bernardo Dominic
1014Chavez K StockhamAustralia2024-05-29Truhlar And Truhlar Attys UNQUALIFIED38Onyama Limba
1015Ashley S VenereIndia2024-06-02Feltz Printing Service RENEWAL89Ivan Magalhaes
1016Aika R OstroskyAustralia2024-06-07Chapman, Ross E Esq PROPOSAL76Ioni Bowcher
1017Claire E GauchoRussia2024-06-12Rousseaux, Michael Esq PROPOSAL76Xuxue Feng
1018Leja H MacleadUnited Kingdom2024-06-15Rousseaux, Michael Esq RENEWAL54Stephen Shaw
1019Cody N RimUnited Kingdom2024-06-20Buckley Miller Wright NEW29Onyama Limba
1020Tony E RimGermany2024-05-25Chemel, James L Cpa NEW17Asiya Javayant
1021Cody T ShinkoGermany2024-06-19Chemel, James L Cpa UNQUALIFIED59Asiya Javayant
1022Jones O NickaJapan2024-06-12King, Christopher A Esq UNQUALIFIED75Stephen Shaw
1023Arvin X SchemmerJapan2024-06-13Feiner Bros RENEWAL70Asiya Javayant
1024Stacey F SergiItaly2024-06-14Morlong Associates PROPOSAL3Stephen Shaw
1025Kadeem G KolmetzAustralia2024-05-31Morlong Associates NEW36Stephen Shaw
1026Izzy C CaudyUnited Kingdom2024-06-06Truhlar And Truhlar Attys PROPOSAL54Onyama Limba
1027Johnson H KuskoBrazil2024-06-22Benton, John B Jr NEGOTIATION90Stephen Shaw
1028Costa U RutaUnited Kingdom2024-05-26Morlong Associates NEW59Onyama Limba
1029Darci N IturbideUnited Kingdom2024-05-29Buckley Miller Wright QUALIFIED21Stephen Shaw
1030Isabel Q DarakjyBrazil2024-05-31Truhlar And Truhlar Attys NEGOTIATION81Bernardo Dominic
1031Morrow X OldroydIndia2024-06-05Rousseaux, Michael Esq PROPOSAL62Anna Fali
1032Adams J GillianSpain2024-05-30Feltz Printing Service QUALIFIED60Ivan Magalhaes
1033Munro G NickaJapan2024-06-11Truhlar And Truhlar Attys RENEWAL68Bernardo Dominic
1034Julie T PerinItaly2024-05-27Feltz Printing Service NEGOTIATION92Bernardo Dominic
1035Cody L WhobreyRussia2024-06-03Feiner Bros NEGOTIATION18Onyama Limba
1036Arvin B TollnerAustralia2024-06-15Truhlar And Truhlar Attys UNQUALIFIED64Elwin Sharvill
1037Leja K MorascaRussia2024-05-24Feiner Bros NEW42Bernardo Dominic
1038Arvin S IturbideJapan2024-05-27Dorl, James J Esq QUALIFIED17Ivan Magalhaes
1039Mayumi Z FerenczCanada2024-06-18Rangoni Of Florence UNQUALIFIED53Ivan Magalhaes
1040Aditya D MaletItaly2024-06-20Truhlar And Truhlar Attys PROPOSAL59Bernardo Dominic
1041Ricardo E WieserUnited Kingdom2024-06-20Truhlar And Truhlar Attys NEGOTIATION66Onyama Limba
1042Deepesh W SlusarskiCanada2024-06-09Benton, John B Jr NEGOTIATION57Ioni Bowcher
1043Adams O MacleadArgentina2024-06-13Chanay, Jeffrey A Esq NEGOTIATION58Stephen Shaw
1044Claire U RulapaughBrazil2024-06-18Benton, John B Jr PROPOSAL11Bernardo Dominic
1045Darci F DilliardIndia2024-06-15Morlong Associates NEW73Ivan Magalhaes
1046Stacey U StensethRussia2024-06-09Printing Dimensions NEGOTIATION20Ioni Bowcher
1047Tony K WaycottArgentina2024-06-22Rangoni Of Florence PROPOSAL27Anna Fali
1048David G IturbideUnited Kingdom2024-06-20Dorl, James J Esq RENEWAL75Amy Elsner
1049James Q SaylorsRussia2024-06-18Commercial Press NEW70Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Francesco C SchemmerBrazilElwin Sharvill PROPOSAL
Salvatore Z CampainCanadaBernardo Dominic NEW
Octavia B RimSpainStephen Shaw UNQUALIFIED
Julie K WhobreyJapanStephen Shaw RENEWAL
Chavez Z CaudyIndiaElwin Sharvill UNQUALIFIED
Alejandro D ButtCanadaAmy Elsner UNQUALIFIED
Jeanfrancois T SergiItalyAmy Elsner NEW
Leja X VenereSpainBernardo Dominic PROPOSAL
Octavia M DilliardRussiaXuxue Feng UNQUALIFIED
Rodrigues E FigeroaSpainOnyama Limba UNQUALIFIED
Jennifer I SergiUnited KingdomBernardo Dominic UNQUALIFIED
Aika U KuskoUnited KingdomBernardo Dominic NEGOTIATION
Silvio I ButtItalyAmy Elsner UNQUALIFIED
Jones O OstroskyCanadaAmy Elsner RENEWAL
Ricardo U WieserCanadaXuxue Feng UNQUALIFIED
Aika N NickaFranceAmy Elsner RENEWAL
Emily K SlusarskiFranceStephen Shaw RENEWAL
Jennifer U OstroskyIndiaIvan Magalhaes RENEWAL
Jeanfrancois S MarrierCanadaIvan Magalhaes NEGOTIATION
Salvatore U WieserBrazilStephen Shaw RENEWAL
Misaki L KolmetzJapanIvan Magalhaes QUALIFIED
Chavez V SchemmerCanadaAsiya Javayant NEW
Octavia O GlickIndiaOnyama Limba RENEWAL
Leja X BowleyUnited KingdomStephen Shaw UNQUALIFIED
Stacey J RulapaughGermanyIoni Bowcher PROPOSAL
Octavia J VocelkaSpainIoni Bowcher QUALIFIED
Clifford O PerinItalyBernardo Dominic NEGOTIATION
Kadeem C InouyeIndiaOnyama Limba NEGOTIATION
Aditya S GarufiFranceAmy Elsner RENEWAL
Mayumi G GillianBrazilIvan Magalhaes UNQUALIFIED
Isabel W WhobreyCanadaBernardo Dominic RENEWAL
Mujtaba R StensethJapanIoni Bowcher RENEWAL
Leon A WaycottAustraliaBernardo Dominic QUALIFIED
Silvio D NickaCanadaStephen Shaw UNQUALIFIED
Leon Q ButtFranceIoni Bowcher NEGOTIATION
Ivar K ShinkoArgentinaAsiya Javayant NEW
Francesco I WaycottIndiaStephen Shaw NEGOTIATION
Costa R MaletSpainAnna Fali NEGOTIATION
Isabel Y VocelkaFranceIvan Magalhaes UNQUALIFIED
Octavia I GauchoItalyAnna Fali PROPOSAL
Jennifer D FigeroaFranceIoni Bowcher PROPOSAL
Maria P SaylorsGermanyAnna Fali UNQUALIFIED
Murillo Z OstroskyItalyOnyama Limba RENEWAL
Wickens Z MarrierAustraliaXuxue Feng PROPOSAL
Leja K MaletGermanyOnyama Limba PROPOSAL
Leon Q KuskoArgentinaAsiya Javayant NEW
Munro U GillianUnited KingdomStephen Shaw RENEWAL
Julie X MarrierBrazilOnyama Limba PROPOSAL
Claire R RulapaughSpainAsiya Javayant RENEWAL
Jones N RutaGermanyAsiya Javayant PROPOSAL
Frozen Columns
Name
Greenwood T Gaucho
Alejandro H Kusko
Rodrigues O Butt
Leja I Figeroa
Sinclair P Poquette
Kaitlin J Saylors
Kaitlin T Paprocki
Maria A Schemmer
Smith X Wieser
Aruna O Sergi
Emily A Caldarera
Antonio M Maclead
Izzy A Oldroyd
Julie I Maclead
Johnson J Tollner
Mujtaba U Gaucho
Jennifer Y Stockham
Jeanfrancois Z Kolmetz
Greenwood B Stenseth
Ivar D Ruta
Aika S Rulapaugh
Alejandro C Campain
David L Kolmetz
Juan H Shinko
Deepesh R Wieser
Deepesh J Amigon
Munro H Rulapaugh
Kadeem P Caudy
Ricardo N Vocelka
Leon O Stenseth
Deepesh X Shinko
Kaitlin O Venere
Maria I Malet
Jones J Oldroyd
Claire F Darakjy
Alejandro H Albares
Rodrigues I Amigon
David N Kusko
Jeanfrancois V Gaucho
Jeanfrancois T Oldroyd
Francesco C Darakjy
Rodrigues Q Bolognia
Jefferson K Poquette
Smith X Rulapaugh
Aruna X Caldarera
Costa K Morasca
Julie U Inouye
Jones W Rulapaugh
Morrow T Morasca
Murillo K Amigon
IdCountryDate
1000Japan2024-06-03
1001Brazil2024-06-01
1002Spain2024-06-05
1003Germany2024-06-16
1004France2024-06-09
1005Spain2024-05-30
1006France2024-05-29
1007Argentina2024-05-27
1008Canada2024-05-30
1009Germany2024-06-12
1010Australia2024-06-11
1011Argentina2024-06-21
1012Australia2024-06-22
1013Italy2024-06-01
1014Germany2024-06-22
1015India2024-06-15
1016Germany2024-05-30
1017Spain2024-06-09
1018Spain2024-06-02
1019Canada2024-05-26
1020Germany2024-06-19
1021India2024-06-14
1022India2024-06-01
1023Spain2024-06-15
1024Japan2024-06-21
1025Germany2024-06-22
1026Brazil2024-06-07
1027United Kingdom2024-05-27
1028Italy2024-06-04
1029France2024-06-17
1030Japan2024-05-26
1031Italy2024-06-22
1032Argentina2024-06-18
1033Germany2024-06-02
1034Italy2024-05-24
1035Canada2024-06-10
1036Russia2024-06-08
1037Japan2024-06-14
1038Russia2024-06-01
1039Australia2024-06-05
1040Brazil2024-06-15
1041France2024-06-15
1042Brazil2024-05-24
1043Australia2024-06-12
1044Brazil2024-06-13
1045Spain2024-05-31
1046India2024-06-21
1047Canada2024-05-28
1048Australia2024-05-31
1049Russia2024-06-16

On-Demand Data

NameIdCountryDate
David W Bolognia1000Japan2024-06-18
Aditya X Stenseth1001Russia2024-06-02
Ricardo M Oldroyd1002India2024-05-30
Octavia N Kolmetz1003Japan2024-05-30
Greenwood G Maclead1004Spain2024-06-03
Smith N Wieser1005India2024-06-12
Murillo E Caldarera1006Australia2024-06-05
Mayumi F Shinko1007Spain2024-06-14
Jones H Amigon1008France2024-06-09
Chavez S Wieser1009Canada2024-05-31
Salvatore D Royster1010Italy2024-05-31
Stacey M Nestle1011Japan2024-06-02
Maisha E Whobrey1012Japan2024-06-19
Cody X Gillian1013Spain2024-05-25
Kadeem H Figeroa1014Italy2024-06-04
Nicolas Q Albares1015Germany2024-05-30
Tony B Rim1016Brazil2024-06-16
Octavia M Schemmer1017Japan2024-06-10
Stacey W Schemmer1018France2024-05-27
Johnson N Bowley1019Argentina2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez K BologniaCanadaIvan Magalhaes QUALIFIED
Morrow I FollerBrazilOnyama Limba RENEWAL
Claire I SchemmerJapanAsiya Javayant PROPOSAL
Rodrigues L KuskoAustraliaAnna Fali PROPOSAL
Nicolas U MaletArgentinaIvan Magalhaes NEGOTIATION
Mujtaba T TollnerAustraliaIoni Bowcher NEW
Julie C SchemmerSpainXuxue Feng PROPOSAL
Izzy K WieserItalyAmy Elsner NEGOTIATION
Julie C WieserCanadaIvan Magalhaes NEW
Deepesh O NestleItalyBernardo Dominic PROPOSAL
Julie P TollnerIndiaElwin Sharvill NEW
Salvatore A RulapaughRussiaAsiya Javayant UNQUALIFIED
David P RulapaughSpainAnna Fali PROPOSAL
Deepesh R DilliardArgentinaXuxue Feng RENEWAL
Claire N BriddickAustraliaBernardo Dominic PROPOSAL
Tony Z OstroskyRussiaXuxue Feng NEW
Ricardo Z GlickGermanyElwin Sharvill QUALIFIED
Kadeem S WieserIndiaBernardo Dominic RENEWAL
Maria D MaletArgentinaElwin Sharvill QUALIFIED
Isabel F MarrierIndiaOnyama Limba UNQUALIFIED
Aruna S AmigonJapanIvan Magalhaes PROPOSAL
Sinclair T MaletIndiaStephen Shaw RENEWAL
Sinclair W GarufiAustraliaAnna Fali NEGOTIATION
Antonio V PaprockiItalyElwin Sharvill NEGOTIATION
Jennifer Q BriddickRussiaStephen Shaw NEW
Kaitlin L PaprockiUnited KingdomOnyama Limba PROPOSAL
Costa P FigeroaUnited KingdomIoni Bowcher QUALIFIED
Costa D KuskoUnited KingdomIoni Bowcher NEW
Murillo O RutaRussiaAnna Fali QUALIFIED
Ivar G KuskoIndiaBernardo Dominic RENEWAL
Rodrigues X RutaArgentinaStephen Shaw PROPOSAL
Maria K PoquetteBrazilAnna Fali PROPOSAL
Misaki L AmigonGermanyAsiya Javayant NEGOTIATION
Mayumi N CaudyUnited KingdomBernardo Dominic NEW
Morrow X AlbaresItalyXuxue Feng NEGOTIATION
Silvio H GillianIndiaStephen Shaw UNQUALIFIED
James Y AmigonSpainAnna Fali PROPOSAL
Tony U ShinkoSpainIvan Magalhaes UNQUALIFIED
Julie J RimRussiaAsiya Javayant PROPOSAL
Darci L AlbaresArgentinaOnyama Limba 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>