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
Johnson Q PaprockiItalyIoni Bowcher UNQUALIFIED
Greenwood W PoquetteJapanIoni Bowcher PROPOSAL
Octavia T BriddickGermanyIoni Bowcher QUALIFIED
Jeanfrancois G DilliardIndiaAmy Elsner RENEWAL
Smith T WieserItalyAmy Elsner NEGOTIATION
Morrow E VenereIndiaIvan Magalhaes PROPOSAL
Emily M BriddickItalyIvan Magalhaes PROPOSAL
Julie O SchemmerFranceXuxue Feng QUALIFIED
Emily R FlosiFranceOnyama Limba PROPOSAL
Ricardo W StockhamGermanyAsiya Javayant PROPOSAL
Mayumi X BowleyAustraliaOnyama Limba RENEWAL
Sinclair O SlusarskiArgentinaIvan Magalhaes PROPOSAL
Aika A IturbideSpainIoni Bowcher PROPOSAL
Silvio O VenereCanadaBernardo Dominic QUALIFIED
Jennifer D PerinIndiaIvan Magalhaes NEW
Clifford X CaudyItalyAmy Elsner RENEWAL
Ashley R KolmetzIndiaIoni Bowcher QUALIFIED
Munro W MaletIndiaAnna Fali RENEWAL
Leon H RutaGermanyStephen Shaw UNQUALIFIED
Emily M AmigonRussiaStephen Shaw PROPOSAL
Kaitlin B PaprockiArgentinaAnna Fali NEGOTIATION
Stacey A FollerIndiaBernardo Dominic UNQUALIFIED
Chavez G GarufiSpainIvan Magalhaes NEGOTIATION
Juan Q NickaItalyOnyama Limba NEGOTIATION
Mayumi K ShinkoBrazilAnna Fali QUALIFIED
Mayumi T OldroydJapanAnna Fali RENEWAL
Adams K GauchoBrazilAnna Fali NEGOTIATION
Stacey L FerenczIndiaStephen Shaw RENEWAL
Aika E MacleadFranceElwin Sharvill NEGOTIATION
Nicolas I GlickGermanyXuxue Feng PROPOSAL
Ricardo X KolmetzCanadaBernardo Dominic UNQUALIFIED
Costa O NickaJapanIoni Bowcher PROPOSAL
Smith D InouyeUnited KingdomAmy Elsner RENEWAL
Ivar V DoeCanadaAnna Fali PROPOSAL
Darci I MaletIndiaIvan Magalhaes NEGOTIATION
Clifford E PoquetteBrazilXuxue Feng UNQUALIFIED
Jeanfrancois G InouyeBrazilXuxue Feng NEGOTIATION
Claire Q TollnerIndiaAsiya Javayant PROPOSAL
Cody C AlbaresJapanAmy Elsner RENEWAL
Sinclair A WaycottJapanIoni Bowcher PROPOSAL
Kadeem L InouyeUnited KingdomElwin Sharvill NEGOTIATION
Leja B ChuiSpainXuxue Feng UNQUALIFIED
Misaki S ShinkoFranceAnna Fali QUALIFIED
Octavia R OstroskyGermanyAmy Elsner RENEWAL
Clifford T StensethJapanAnna Fali NEGOTIATION
Jefferson P GauchoFranceXuxue Feng NEW
Isabel S InouyeFranceBernardo Dominic NEW
Cody W IturbideBrazilAnna Fali UNQUALIFIED
Clifford F CaudyGermanyAnna Fali NEGOTIATION
Adams Z PoquetteSpainElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ricardo E SchemmerSpainAmy Elsner NEGOTIATION
Jefferson T FollerBrazilElwin Sharvill QUALIFIED
Cody P GlickItalyIoni Bowcher NEW
Deepesh A AlbaresSpainIoni Bowcher NEW
Ricardo N CampainFranceElwin Sharvill NEGOTIATION
Arvin H ChuiJapanAnna Fali PROPOSAL
Chavez B OstroskySpainXuxue Feng RENEWAL
Mujtaba U StensethUnited KingdomAsiya Javayant NEW
Aruna P PerinAustraliaXuxue Feng QUALIFIED
Wickens O RutaIndiaIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford L PerinSpain2024-05-17Truhlar And Truhlar Attys RENEWAL77Elwin Sharvill
1001Costa A VocelkaFrance2024-05-20Rangoni Of Florence RENEWAL36Elwin Sharvill
1002Antonio V FigeroaIndia2024-05-24Chanay, Jeffrey A Esq UNQUALIFIED4Onyama Limba
1003Wickens P PerinUnited Kingdom2024-05-29Truhlar And Truhlar Attys UNQUALIFIED38Bernardo Dominic
1004Francesco M FigeroaIndia2024-06-02Chemel, James L Cpa NEW79Anna Fali
1005Faith Z TollnerFrance2024-06-07Buckley Miller Wright PROPOSAL61Anna Fali
1006Deepesh R BowleyItaly2024-05-24Rangoni Of Florence PROPOSAL49Stephen Shaw
1007David T IturbideGermany2024-06-12Printing Dimensions QUALIFIED24Ivan Magalhaes
1008Smith S SaylorsGermany2024-05-25Chapman, Ross E Esq RENEWAL66Elwin Sharvill
1009Izzy Y MacleadCanada2024-05-16Rousseaux, Michael Esq UNQUALIFIED77Asiya Javayant
1010Greenwood V KolmetzAustralia2024-06-04Feiner Bros RENEWAL41Elwin Sharvill
1011Chavez H NestleBrazil2024-06-04Dorl, James J Esq PROPOSAL5Ioni Bowcher
1012Jones S TollnerGermany2024-05-16Feiner Bros UNQUALIFIED60Elwin Sharvill
1013Mayumi W AmigonItaly2024-06-02Morlong Associates NEGOTIATION25Elwin Sharvill
1014Mujtaba S VenereArgentina2024-06-11Dorl, James J Esq RENEWAL25Ivan Magalhaes
1015Aruna I WaycottAustralia2024-06-06Feiner Bros UNQUALIFIED66Asiya Javayant
1016Mujtaba W MarrierBrazil2024-05-18Feiner Bros PROPOSAL57Amy Elsner
1017Adams A DarakjyGermany2024-05-16King, Christopher A Esq QUALIFIED66Stephen Shaw
1018Aika D AlbaresJapan2024-06-01Feltz Printing Service QUALIFIED18Xuxue Feng
1019Isabel G MacleadRussia2024-05-29Buckley Miller Wright UNQUALIFIED98Xuxue Feng
1020Aditya T MarrierFrance2024-05-20Buckley Miller Wright NEGOTIATION13Bernardo Dominic
1021Francesco U MaletRussia2024-05-19Printing Dimensions NEGOTIATION7Asiya Javayant
1022Izzy B WieserCanada2024-06-12Benton, John B Jr UNQUALIFIED73Elwin Sharvill
1023Greenwood A AlbaresGermany2024-06-05Feiner Bros NEGOTIATION18Ioni Bowcher
1024Salvatore X CaudySpain2024-06-07Commercial Press UNQUALIFIED39Amy Elsner
1025Chavez Q ButtSpain2024-05-19Feltz Printing Service PROPOSAL45Amy Elsner
1026Kadeem D FollerFrance2024-05-15Rousseaux, Michael Esq PROPOSAL55Ivan Magalhaes
1027James G VenereSpain2024-05-15Buckley Miller Wright QUALIFIED65Ioni Bowcher
1028Misaki M FollerUnited Kingdom2024-06-02Chapman, Ross E Esq QUALIFIED18Ivan Magalhaes
1029Kadeem Y InouyeFrance2024-05-31Benton, John B Jr QUALIFIED74Ivan Magalhaes
1030Nicolas P WieserCanada2024-05-15Printing Dimensions RENEWAL80Ioni Bowcher
1031Jennifer I WieserFrance2024-06-10Dorl, James J Esq QUALIFIED1Ivan Magalhaes
1032James X AlbaresAustralia2024-06-13Morlong Associates NEGOTIATION36Xuxue Feng
1033Wickens R MaletUnited Kingdom2024-05-28Feltz Printing Service UNQUALIFIED81Bernardo Dominic
1034Deepesh O RoysterFrance2024-05-30Truhlar And Truhlar Attys NEW72Ioni Bowcher
1035Emily Y MorascaSpain2024-05-27Chapman, Ross E Esq UNQUALIFIED1Elwin Sharvill
1036Morrow K FollerAustralia2024-05-31Feltz Printing Service RENEWAL36Ioni Bowcher
1037David Z WaycottUnited Kingdom2024-06-08Feltz Printing Service RENEWAL61Ioni Bowcher
1038Isabel X GauchoSpain2024-06-08Rousseaux, Michael Esq UNQUALIFIED22Xuxue Feng
1039Izzy S ButtFrance2024-06-06Chemel, James L Cpa NEGOTIATION90Ivan Magalhaes
1040Ricardo N FlosiFrance2024-06-06Buckley Miller Wright PROPOSAL97Xuxue Feng
1041Aditya K KuskoFrance2024-06-06King, Christopher A Esq NEW36Ioni Bowcher
1042Rodrigues B WieserSpain2024-05-29Feltz Printing Service NEW52Onyama Limba
1043Izzy A MarrierCanada2024-05-27Rousseaux, Michael Esq NEGOTIATION73Xuxue Feng
1044Jennifer Y FlosiFrance2024-05-29Buckley Miller Wright PROPOSAL85Xuxue Feng
1045Nicolas B ShinkoArgentina2024-05-18King, Christopher A Esq NEGOTIATION70Xuxue Feng
1046Maisha Q DilliardArgentina2024-05-19Printing Dimensions RENEWAL10Onyama Limba
1047Ricardo S ShinkoSpain2024-06-11King, Christopher A Esq NEGOTIATION47Bernardo Dominic
1048Francesco U WaycottUnited Kingdom2024-06-01Rousseaux, Michael Esq UNQUALIFIED60Onyama Limba
1049Johnson B FigeroaJapan2024-05-28Rousseaux, Michael Esq NEW14Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Aditya V FollerUnited KingdomIvan Magalhaes NEGOTIATION
Murillo L ChuiJapanAnna Fali NEGOTIATION
Claire W BriddickFranceIvan Magalhaes QUALIFIED
Maria Z AlbaresFranceAsiya Javayant RENEWAL
Mujtaba D ShinkoUnited KingdomXuxue Feng QUALIFIED
Misaki X InouyeIndiaXuxue Feng PROPOSAL
Alejandro T PerinFranceIoni Bowcher NEW
Mayumi I FerenczFranceAsiya Javayant RENEWAL
Faith P AmigonArgentinaElwin Sharvill RENEWAL
Izzy V GauchoGermanyElwin Sharvill PROPOSAL
Morrow N FerenczJapanStephen Shaw NEW
Izzy M StockhamGermanyAsiya Javayant RENEWAL
Aruna B RutaIndiaElwin Sharvill RENEWAL
Leja H FlosiGermanyOnyama Limba NEGOTIATION
Claire G BowleyAustraliaXuxue Feng NEGOTIATION
Aruna V DarakjySpainAmy Elsner QUALIFIED
Leon D MacleadAustraliaAnna Fali PROPOSAL
Ricardo K MaletBrazilAnna Fali PROPOSAL
Jones J NestleBrazilOnyama Limba RENEWAL
Faith F BowleyBrazilAsiya Javayant UNQUALIFIED
Jones W SergiUnited KingdomAsiya Javayant NEGOTIATION
Stacey U SchemmerIndiaStephen Shaw NEGOTIATION
Morrow X VenereAustraliaAnna Fali NEW
Maisha Z GlickIndiaIvan Magalhaes UNQUALIFIED
Mayumi P CampainJapanAnna Fali NEGOTIATION
Izzy F IturbideJapanAsiya Javayant PROPOSAL
Isabel K WhobreyArgentinaElwin Sharvill NEGOTIATION
Antonio B FerenczGermanyAsiya Javayant RENEWAL
Wickens K FlosiJapanXuxue Feng QUALIFIED
Faith J OldroydJapanAnna Fali UNQUALIFIED
Maisha N VocelkaFranceXuxue Feng QUALIFIED
Cody X SlusarskiItalyIoni Bowcher PROPOSAL
Cody D BowleyCanadaIoni Bowcher NEGOTIATION
Kaitlin W ShinkoItalyAmy Elsner RENEWAL
Juan P CaudyUnited KingdomStephen Shaw UNQUALIFIED
Jeanfrancois O AlbaresSpainOnyama Limba PROPOSAL
Smith H MarrierBrazilXuxue Feng UNQUALIFIED
Juan H FollerUnited KingdomAnna Fali NEW
Deepesh U FerenczGermanyElwin Sharvill RENEWAL
Aruna U AlbaresArgentinaIoni Bowcher PROPOSAL
Stacey S AmigonFranceAnna Fali PROPOSAL
Antonio B SchemmerCanadaStephen Shaw QUALIFIED
Leon E GillianFranceIvan Magalhaes PROPOSAL
Johnson I ChuiFranceElwin Sharvill NEW
Darci C OstroskyBrazilBernardo Dominic QUALIFIED
Stacey G BologniaRussiaBernardo Dominic NEW
Maisha F IturbideArgentinaAnna Fali RENEWAL
Chavez E PaprockiAustraliaAsiya Javayant RENEWAL
Greenwood V GauchoUnited KingdomOnyama Limba RENEWAL
Kadeem B SergiUnited KingdomAnna Fali QUALIFIED
Frozen Columns
Name
Arvin E Malet
Tony R Iturbide
David Z Rim
Faith Z Wieser
Maisha W Perin
Mayumi M Vocelka
Rodrigues U Ferencz
Mayumi F Poquette
Mayumi F Briddick
Deepesh K Briddick
Julie B Nestle
Salvatore E Gaucho
Tony K Caldarera
Darci I Gillian
Claire J Kolmetz
Aditya U Glick
Cody H Rim
Arvin Y Dilliard
Ricardo V Slusarski
Murillo G Maclead
Antonio X Inouye
Isabel F Kusko
Leon P Iturbide
Smith P Wieser
Stacey X Marrier
Kadeem S Briddick
Leja V Venere
Kaitlin H Campain
Deepesh U Vocelka
Nicolas Z Stenseth
Aruna O Kusko
Kadeem B Stockham
Maisha U Marrier
Cody M Amigon
Jefferson O Venere
Wickens L Paprocki
Ashley Q Flosi
Morrow P Stockham
Arvin A Schemmer
Silvio Z Bolognia
Salvatore K Perin
Deepesh D Nicka
Aika T Nicka
Clifford H Campain
Mayumi D Dilliard
Juan P Amigon
Smith N Stenseth
Clifford A Ferencz
James G Paprocki
Deepesh Q Campain
IdCountryDate
1000Germany2024-05-29
1001Italy2024-06-04
1002France2024-05-17
1003India2024-05-20
1004Italy2024-05-22
1005Argentina2024-06-09
1006Spain2024-05-23
1007United Kingdom2024-05-22
1008India2024-05-17
1009France2024-05-15
1010Germany2024-05-15
1011Russia2024-05-18
1012Canada2024-06-09
1013Brazil2024-06-01
1014Brazil2024-05-18
1015Italy2024-06-09
1016Argentina2024-05-26
1017Japan2024-05-15
1018Spain2024-05-28
1019Germany2024-05-16
1020India2024-06-10
1021France2024-05-29
1022India2024-05-27
1023Canada2024-05-23
1024Italy2024-06-02
1025Canada2024-06-13
1026Japan2024-05-20
1027Japan2024-05-24
1028Australia2024-05-16
1029Spain2024-05-22
1030Russia2024-06-11
1031Spain2024-06-05
1032Canada2024-06-08
1033Italy2024-05-19
1034France2024-06-11
1035Japan2024-05-27
1036Brazil2024-05-25
1037Japan2024-06-11
1038India2024-05-31
1039Russia2024-06-07
1040Germany2024-05-30
1041Brazil2024-06-05
1042Argentina2024-05-15
1043Argentina2024-05-15
1044Germany2024-05-17
1045Japan2024-05-21
1046France2024-05-31
1047Brazil2024-06-03
1048Russia2024-06-10
1049India2024-05-26

On-Demand Data

NameIdCountryDate
Jones C Inouye1000Spain2024-05-22
Jefferson X Ruta1001Italy2024-06-09
Nicolas G Schemmer1002Australia2024-06-07
Cody C Oldroyd1003Australia2024-05-31
Misaki O Nestle1004Russia2024-06-03
Julie L Royster1005Russia2024-05-19
Morrow A Chui1006Spain2024-05-26
Jeanfrancois D Paprocki1007United Kingdom2024-05-18
Octavia Z Bowley1008Russia2024-05-28
Costa R Poquette1009Australia2024-06-09
Deepesh Y Waycott1010Germany2024-06-04
Jeanfrancois M Campain1011Brazil2024-05-16
Tony J Slusarski1012Canada2024-06-05
Francesco A Caldarera1013Italy2024-05-18
Juan F Dilliard1014Spain2024-06-06
Mayumi Z Schemmer1015France2024-06-10
Maria D Flosi1016Russia2024-05-26
Isabel M Slusarski1017Germany2024-05-28
Julie B Albares1018Canada2024-05-17
Ricardo F Royster1019France2024-05-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia N FollerGermanyAnna Fali NEGOTIATION
Mayumi B DilliardJapanIoni Bowcher PROPOSAL
Kaitlin U SergiSpainElwin Sharvill QUALIFIED
Kaitlin M AmigonCanadaStephen Shaw NEGOTIATION
Ricardo Y DarakjyIndiaAnna Fali PROPOSAL
Salvatore X VenereBrazilStephen Shaw NEW
Faith W SlusarskiItalyAnna Fali NEGOTIATION
Silvio F FerenczItalyOnyama Limba UNQUALIFIED
Mayumi O VocelkaUnited KingdomStephen Shaw NEGOTIATION
Ivar F BriddickSpainAsiya Javayant RENEWAL
Mayumi R PerinIndiaAnna Fali PROPOSAL
James K SlusarskiGermanyAnna Fali NEW
James D KuskoCanadaBernardo Dominic PROPOSAL
Mayumi H DoeUnited KingdomElwin Sharvill QUALIFIED
Claire E KuskoCanadaAmy Elsner NEGOTIATION
Tony R BologniaIndiaIvan Magalhaes QUALIFIED
Sinclair A MacleadItalyXuxue Feng NEW
Faith G MaletCanadaElwin Sharvill NEW
Silvio W WieserFranceOnyama Limba QUALIFIED
Darci F AmigonCanadaAnna Fali QUALIFIED
Smith X SchemmerArgentinaOnyama Limba NEW
Ivar Z RoysterRussiaOnyama Limba RENEWAL
Wickens W WieserFranceXuxue Feng RENEWAL
Johnson P KolmetzSpainAsiya Javayant UNQUALIFIED
Maria V StockhamCanadaIvan Magalhaes RENEWAL
Ricardo I OstroskySpainOnyama Limba QUALIFIED
Ricardo G MacleadJapanStephen Shaw UNQUALIFIED
Stacey G MaletIndiaIoni Bowcher RENEWAL
Clifford A StensethSpainIvan Magalhaes NEGOTIATION
Sinclair I BriddickFranceOnyama Limba PROPOSAL
Jones M CampainSpainIoni Bowcher UNQUALIFIED
Izzy R WhobreyCanadaStephen Shaw NEGOTIATION
Costa M AlbaresCanadaBernardo Dominic NEGOTIATION
Murillo Z VocelkaArgentinaStephen Shaw UNQUALIFIED
Johnson W StockhamArgentinaIoni Bowcher RENEWAL
Cody D AlbaresAustraliaIoni Bowcher NEW
Murillo K RulapaughGermanyXuxue Feng NEW
Emily I MaletAustraliaXuxue Feng QUALIFIED
Jefferson M AlbaresIndiaIoni Bowcher RENEWAL
Johnson E NestleFranceIvan Magalhaes 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>