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
Faith W PerinArgentinaElwin Sharvill PROPOSAL
Julie M SergiRussiaIoni Bowcher NEGOTIATION
Aika E ButtUnited KingdomIoni Bowcher PROPOSAL
Sinclair D ButtFranceAsiya Javayant NEGOTIATION
Rodrigues U PaprockiFranceStephen Shaw NEW
Jennifer T PerinFranceIvan Magalhaes NEW
Emily C AlbaresGermanyAmy Elsner RENEWAL
Alejandro T CaldareraItalyAmy Elsner NEGOTIATION
David T WaycottGermanyElwin Sharvill RENEWAL
Jefferson M SergiRussiaIoni Bowcher NEW
Stacey A WaycottJapanIvan Magalhaes NEGOTIATION
Maria S OldroydItalyOnyama Limba NEW
Munro Z BowleyArgentinaAmy Elsner QUALIFIED
Ashley R OldroydJapanOnyama Limba PROPOSAL
Darci K VenereItalyAmy Elsner RENEWAL
Antonio U WhobreyAustraliaIvan Magalhaes NEGOTIATION
Misaki Q CaldareraItalyAnna Fali UNQUALIFIED
Claire V MaletFranceIvan Magalhaes PROPOSAL
Aruna J WieserArgentinaElwin Sharvill RENEWAL
Rodrigues P WieserAustraliaIoni Bowcher UNQUALIFIED
Jennifer W NestleUnited KingdomXuxue Feng UNQUALIFIED
Claire U DarakjyArgentinaIvan Magalhaes NEGOTIATION
Izzy M WaycottBrazilStephen Shaw RENEWAL
Chavez F GauchoSpainIoni Bowcher NEW
Mujtaba C WhobreyItalyAmy Elsner UNQUALIFIED
Stacey S RulapaughAustraliaXuxue Feng RENEWAL
Cody U FollerAustraliaElwin Sharvill NEW
Smith R DilliardItalyElwin Sharvill QUALIFIED
Munro F MacleadJapanAmy Elsner NEGOTIATION
Octavia P DarakjyIndiaAmy Elsner RENEWAL
Leja A RimCanadaAnna Fali PROPOSAL
Murillo T WieserBrazilElwin Sharvill PROPOSAL
Wickens I WhobreyCanadaBernardo Dominic NEW
Maisha Q DilliardItalyIvan Magalhaes UNQUALIFIED
Stacey U FigeroaGermanyXuxue Feng RENEWAL
Mujtaba V SlusarskiFranceAnna Fali NEW
Mujtaba R ButtIndiaElwin Sharvill QUALIFIED
Munro N AlbaresSpainIoni Bowcher NEGOTIATION
Maisha Q SlusarskiItalyIoni Bowcher UNQUALIFIED
Jefferson E FollerRussiaXuxue Feng NEW
Arvin Q MarrierJapanXuxue Feng UNQUALIFIED
Ashley D KolmetzRussiaElwin Sharvill NEGOTIATION
Ricardo S StockhamRussiaStephen Shaw QUALIFIED
Jennifer H StockhamCanadaStephen Shaw NEGOTIATION
Ivar I WieserSpainAmy Elsner UNQUALIFIED
Maria A FerenczUnited KingdomAmy Elsner PROPOSAL
Mujtaba S BriddickSpainIvan Magalhaes QUALIFIED
Claire C KolmetzFranceXuxue Feng PROPOSAL
Sinclair G BologniaIndiaBernardo Dominic QUALIFIED
Emily R AlbaresUnited KingdomIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Antonio I OldroydJapanIvan Magalhaes NEW
Greenwood H KuskoRussiaAmy Elsner QUALIFIED
Jones W IturbideBrazilElwin Sharvill NEGOTIATION
Francesco G NestleCanadaElwin Sharvill NEGOTIATION
Leja X DoeUnited KingdomElwin Sharvill NEGOTIATION
James Z GillianArgentinaIvan Magalhaes NEW
Isabel Y GarufiArgentinaOnyama Limba NEW
Francesco E OldroydBrazilBernardo Dominic RENEWAL
Faith E GillianGermanyAsiya Javayant NEGOTIATION
Julie V BologniaJapanElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba P SaylorsItaly2024-06-05Feltz Printing Service UNQUALIFIED66Asiya Javayant
1001Adams O MacleadAustralia2024-06-07Dorl, James J Esq NEW93Asiya Javayant
1002Smith X ButtArgentina2024-06-15Chapman, Ross E Esq QUALIFIED77Amy Elsner
1003Cody Y SchemmerItaly2024-05-25Benton, John B Jr NEGOTIATION75Xuxue Feng
1004Misaki Z AmigonFrance2024-06-19Rangoni Of Florence RENEWAL55Onyama Limba
1005Leja W KuskoRussia2024-06-19Chanay, Jeffrey A Esq PROPOSAL5Onyama Limba
1006Stacey H MacleadRussia2024-06-17Chanay, Jeffrey A Esq NEGOTIATION49Stephen Shaw
1007Greenwood H ShinkoAustralia2024-06-09Morlong Associates RENEWAL56Onyama Limba
1008Julie C FollerFrance2024-06-10Rangoni Of Florence UNQUALIFIED39Amy Elsner
1009Antonio W FigeroaCanada2024-05-26Buckley Miller Wright RENEWAL25Stephen Shaw
1010Mujtaba F ChuiSpain2024-05-28Benton, John B Jr RENEWAL64Asiya Javayant
1011Izzy N SchemmerRussia2024-06-16Benton, John B Jr NEGOTIATION6Ioni Bowcher
1012Salvatore Q NestleSpain2024-05-29Chemel, James L Cpa NEW67Ivan Magalhaes
1013Munro D SlusarskiGermany2024-06-07Truhlar And Truhlar Attys RENEWAL15Xuxue Feng
1014Rodrigues J DarakjyCanada2024-05-26Dorl, James J Esq UNQUALIFIED66Elwin Sharvill
1015Antonio H FigeroaItaly2024-06-05Benton, John B Jr QUALIFIED60Elwin Sharvill
1016Kaitlin Y SlusarskiBrazil2024-06-21Chapman, Ross E Esq PROPOSAL5Bernardo Dominic
1017Octavia F KolmetzJapan2024-06-04Rousseaux, Michael Esq QUALIFIED46Ioni Bowcher
1018Ashley M GlickCanada2024-05-31Feiner Bros QUALIFIED67Ivan Magalhaes
1019Misaki D ShinkoGermany2024-06-15Feiner Bros RENEWAL35Amy Elsner
1020Aditya J CampainIndia2024-06-01Buckley Miller Wright NEW1Asiya Javayant
1021Ricardo D AlbaresCanada2024-06-18Rangoni Of Florence PROPOSAL64Elwin Sharvill
1022Antonio V SergiIndia2024-06-18Feltz Printing Service UNQUALIFIED55Asiya Javayant
1023Isabel R ButtCanada2024-06-11Rousseaux, Michael Esq QUALIFIED0Ioni Bowcher
1024Jefferson V GillianArgentina2024-05-31Chapman, Ross E Esq UNQUALIFIED95Ioni Bowcher
1025Adams B PerinSpain2024-06-04Dorl, James J Esq NEGOTIATION22Bernardo Dominic
1026Julie H GlickItaly2024-06-14King, Christopher A Esq PROPOSAL5Ivan Magalhaes
1027David V PoquetteItaly2024-05-23Chemel, James L Cpa QUALIFIED78Ivan Magalhaes
1028Wickens Y FlosiSpain2024-06-15Chapman, Ross E Esq NEW57Xuxue Feng
1029Maisha J NickaUnited Kingdom2024-06-16Printing Dimensions UNQUALIFIED5Stephen Shaw
1030Jeanfrancois M ButtBrazil2024-06-08Chapman, Ross E Esq UNQUALIFIED82Amy Elsner
1031Jeanfrancois F DoeCanada2024-06-12Printing Dimensions UNQUALIFIED94Amy Elsner
1032Julie K WhobreySpain2024-06-18Chanay, Jeffrey A Esq UNQUALIFIED35Onyama Limba
1033Tony T RoysterIndia2024-06-08Dorl, James J Esq UNQUALIFIED10Elwin Sharvill
1034Juan S WhobreySpain2024-05-27Commercial Press NEGOTIATION79Bernardo Dominic
1035Juan T CaudyIndia2024-06-17Commercial Press RENEWAL37Stephen Shaw
1036Munro B NestleAustralia2024-06-19Morlong Associates QUALIFIED80Elwin Sharvill
1037Jeanfrancois J RimIndia2024-06-08Rousseaux, Michael Esq NEGOTIATION55Onyama Limba
1038Jones Y GarufiGermany2024-06-03Commercial Press NEGOTIATION20Amy Elsner
1039Ivar X CaudyIndia2024-06-04Morlong Associates PROPOSAL56Asiya Javayant
1040Octavia A DoeAustralia2024-06-11Commercial Press UNQUALIFIED41Ioni Bowcher
1041Aruna D DoeGermany2024-05-27Printing Dimensions RENEWAL70Ioni Bowcher
1042Adams G MacleadItaly2024-06-18Buckley Miller Wright UNQUALIFIED38Stephen Shaw
1043Jefferson N BriddickBrazil2024-05-25King, Christopher A Esq NEW61Anna Fali
1044Ivar Z KuskoSpain2024-05-29Feltz Printing Service PROPOSAL14Ioni Bowcher
1045Ashley W WhobreySpain2024-06-21Printing Dimensions NEW17Ivan Magalhaes
1046Aruna N RoysterUnited Kingdom2024-06-18Benton, John B Jr RENEWAL64Ioni Bowcher
1047Cody D GillianArgentina2024-06-08Benton, John B Jr RENEWAL31Elwin Sharvill
1048Octavia K KuskoArgentina2024-06-19Chemel, James L Cpa UNQUALIFIED84Asiya Javayant
1049Misaki F IturbideAustralia2024-05-23Feltz Printing Service PROPOSAL26Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Deepesh H AlbaresFranceIoni Bowcher NEGOTIATION
Ivar A DilliardRussiaBernardo Dominic NEW
Johnson F WieserCanadaIoni Bowcher QUALIFIED
Darci Y SaylorsRussiaXuxue Feng NEGOTIATION
Jefferson Z DarakjyJapanAnna Fali RENEWAL
Leon J BowleyBrazilAmy Elsner NEW
Salvatore J CaldareraGermanyElwin Sharvill RENEWAL
Ivar Q SaylorsIndiaElwin Sharvill QUALIFIED
Salvatore L TollnerSpainAnna Fali NEW
Aika A WieserUnited KingdomStephen Shaw NEGOTIATION
Darci T BriddickUnited KingdomIvan Magalhaes QUALIFIED
James A PaprockiArgentinaStephen Shaw RENEWAL
Cody F ChuiRussiaXuxue Feng RENEWAL
Cody C KolmetzIndiaIoni Bowcher UNQUALIFIED
Deepesh J RoysterIndiaIvan Magalhaes NEGOTIATION
Faith R ButtIndiaStephen Shaw QUALIFIED
Claire R PerinRussiaStephen Shaw NEW
Deepesh G RulapaughArgentinaAsiya Javayant QUALIFIED
Maria R SergiSpainAnna Fali NEW
Cody I PaprockiItalyAsiya Javayant NEW
Francesco F VocelkaJapanIvan Magalhaes NEW
Leja Y BologniaIndiaOnyama Limba NEW
Francesco M AmigonUnited KingdomIvan Magalhaes RENEWAL
Leon L FerenczSpainXuxue Feng NEGOTIATION
Francesco W WhobreySpainIoni Bowcher NEW
Francesco W PoquetteSpainAsiya Javayant PROPOSAL
Isabel E SaylorsCanadaAnna Fali UNQUALIFIED
Aruna A ChuiUnited KingdomAnna Fali QUALIFIED
Aika G StockhamIndiaBernardo Dominic PROPOSAL
James U NestleSpainXuxue Feng RENEWAL
Nicolas J RulapaughFranceIvan Magalhaes NEGOTIATION
Octavia F DarakjyIndiaAmy Elsner UNQUALIFIED
Claire D BowleyRussiaElwin Sharvill NEW
Jefferson D RutaUnited KingdomBernardo Dominic PROPOSAL
Kadeem B FollerAustraliaElwin Sharvill QUALIFIED
Claire E SergiAustraliaAnna Fali NEW
Antonio B SchemmerRussiaIoni Bowcher NEW
Misaki E MaletUnited KingdomIvan Magalhaes NEGOTIATION
Ricardo U WhobreyRussiaElwin Sharvill RENEWAL
Mujtaba R NestleAustraliaOnyama Limba NEW
Julie Q InouyeBrazilStephen Shaw PROPOSAL
Chavez P MaletSpainIoni Bowcher QUALIFIED
Adams N GarufiAustraliaElwin Sharvill NEW
Aruna C VocelkaJapanElwin Sharvill NEGOTIATION
Adams I SchemmerItalyOnyama Limba UNQUALIFIED
Julie D AmigonJapanAnna Fali RENEWAL
Jeanfrancois F MaletSpainAnna Fali NEW
Octavia O RutaGermanyBernardo Dominic NEGOTIATION
Arvin K SchemmerSpainAmy Elsner NEW
Kaitlin J FigeroaRussiaIoni Bowcher NEGOTIATION
Frozen Columns
Name
Mujtaba R Bowley
Jefferson C Sergi
Cody P Briddick
Murillo I Briddick
Silvio N Doe
Sinclair Y Figeroa
Francesco G Waycott
Izzy H Ostrosky
Jones R Stenseth
Mujtaba Y Paprocki
Francesco I Flosi
Jennifer W Maclead
Mujtaba W Kolmetz
Arvin K Kolmetz
Johnson Z Whobrey
James X Waycott
Rodrigues R Doe
Leja Z Caudy
Mayumi D Caldarera
Sinclair M Nicka
Alejandro J Butt
Antonio H Malet
Chavez N Sergi
Greenwood T Foller
Rodrigues R Poquette
Ricardo S Saylors
Jennifer D Caldarera
Sinclair C Ruta
Mujtaba O Darakjy
Claire U Schemmer
Smith P Maclead
Arvin G Rulapaugh
Ricardo H Saylors
Arvin Y Shinko
Smith J Stockham
Aruna Q Sergi
Stacey Q Marrier
Alejandro B Doe
Francesco W Marrier
Munro G Foller
Adams S Royster
Salvatore C Iturbide
Faith T Chui
Morrow Y Wieser
Octavia I Vocelka
Stacey Y Perin
Morrow X Chui
Misaki C Malet
Adams T Flosi
Tony B Tollner
IdCountryDate
1000France2024-06-07
1001India2024-06-12
1002Italy2024-05-31
1003Russia2024-05-29
1004Russia2024-06-05
1005Italy2024-06-12
1006Brazil2024-06-13
1007Australia2024-06-15
1008Spain2024-05-23
1009Canada2024-05-28
1010Germany2024-05-29
1011Italy2024-06-13
1012India2024-06-21
1013Russia2024-06-07
1014India2024-06-08
1015United Kingdom2024-06-06
1016Germany2024-06-14
1017Canada2024-06-19
1018India2024-06-07
1019Germany2024-06-21
1020Spain2024-06-05
1021United Kingdom2024-05-28
1022Italy2024-05-27
1023Brazil2024-06-07
1024Spain2024-05-24
1025India2024-06-15
1026Argentina2024-06-12
1027Japan2024-06-17
1028India2024-06-17
1029Russia2024-06-02
1030Germany2024-06-21
1031Japan2024-06-19
1032Japan2024-06-18
1033United Kingdom2024-06-08
1034Brazil2024-05-30
1035Germany2024-06-08
1036Russia2024-05-23
1037Russia2024-06-17
1038Brazil2024-06-01
1039Canada2024-05-31
1040Canada2024-06-18
1041Argentina2024-06-10
1042Brazil2024-05-28
1043Canada2024-06-01
1044Spain2024-06-04
1045Russia2024-06-14
1046Argentina2024-06-17
1047Japan2024-05-30
1048Canada2024-05-30
1049Canada2024-06-02

On-Demand Data

NameIdCountryDate
Silvio B Nicka1000Germany2024-05-23
Ivar Q Vocelka1001France2024-06-20
Izzy W Wieser1002Japan2024-06-02
Clifford H Malet1003United Kingdom2024-06-19
Murillo V Wieser1004Japan2024-06-02
David E Slusarski1005Brazil2024-06-06
Jefferson K Whobrey1006Japan2024-05-23
Misaki N Gaucho1007Spain2024-05-25
Ivar G Maclead1008Australia2024-06-12
Mujtaba Z Chui1009Russia2024-06-14
Jefferson T Chui1010United Kingdom2024-06-18
Jefferson W Shinko1011Spain2024-06-10
Aditya P Darakjy1012France2024-06-19
James X Perin1013Australia2024-06-21
Greenwood A Royster1014Australia2024-05-23
Munro D Perin1015United Kingdom2024-06-02
Costa Y Malet1016United Kingdom2024-06-11
Costa Z Rulapaugh1017Australia2024-06-05
Stacey K Rim1018United Kingdom2024-06-09
Silvio L Dilliard1019France2024-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford J MorascaItalyIvan Magalhaes UNQUALIFIED
Arvin Q MaletUnited KingdomAsiya Javayant QUALIFIED
Faith W StensethItalyIoni Bowcher NEGOTIATION
Silvio G PerinFranceStephen Shaw QUALIFIED
Emily I RutaRussiaOnyama Limba PROPOSAL
Octavia K RoysterSpainIoni Bowcher NEW
Kaitlin J MaletBrazilStephen Shaw UNQUALIFIED
Cody L InouyeBrazilAmy Elsner PROPOSAL
Silvio J SlusarskiSpainXuxue Feng NEW
Morrow N MorascaSpainAmy Elsner QUALIFIED
Smith O AlbaresRussiaAsiya Javayant UNQUALIFIED
Antonio Z RimRussiaIoni Bowcher RENEWAL
Sinclair W DilliardItalyAmy Elsner NEGOTIATION
Octavia K RulapaughBrazilStephen Shaw NEW
Maisha Q TollnerAustraliaXuxue Feng PROPOSAL
Wickens W WaycottGermanyElwin Sharvill QUALIFIED
Smith X MorascaAustraliaOnyama Limba NEGOTIATION
David E RoysterFranceElwin Sharvill PROPOSAL
Octavia B VocelkaCanadaIvan Magalhaes QUALIFIED
Adams Q ShinkoFranceBernardo Dominic QUALIFIED
Wickens M PoquetteArgentinaAsiya Javayant PROPOSAL
Stacey W PerinCanadaBernardo Dominic NEW
Antonio D RulapaughGermanyIoni Bowcher PROPOSAL
Jones Z BriddickIndiaAnna Fali NEW
Jones Y SlusarskiBrazilAsiya Javayant UNQUALIFIED
Juan U ShinkoItalyIvan Magalhaes PROPOSAL
Maria I VenereBrazilBernardo Dominic PROPOSAL
Jones G OldroydUnited KingdomAsiya Javayant PROPOSAL
Aika U OldroydUnited KingdomAsiya Javayant RENEWAL
Smith Z FigeroaFranceAmy Elsner UNQUALIFIED
Emily D ButtFranceIoni Bowcher NEW
Julie U GlickIndiaXuxue Feng QUALIFIED
Silvio G OstroskyArgentinaOnyama Limba NEGOTIATION
Cody Y KolmetzItalyAsiya Javayant NEGOTIATION
Maria H DilliardGermanyBernardo Dominic UNQUALIFIED
Salvatore E IturbideSpainAsiya Javayant QUALIFIED
Maisha V AlbaresIndiaXuxue Feng RENEWAL
Jones Y TollnerSpainIoni Bowcher NEGOTIATION
Nicolas G PaprockiBrazilXuxue Feng QUALIFIED
Faith P VocelkaRussiaBernardo 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>