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
Darci P BriddickFranceStephen Shaw NEW
Mujtaba O KolmetzJapanBernardo Dominic QUALIFIED
Nicolas W WaycottAustraliaElwin Sharvill NEGOTIATION
Isabel A GarufiSpainAnna Fali PROPOSAL
Morrow F TollnerSpainStephen Shaw UNQUALIFIED
Jennifer D ButtArgentinaIvan Magalhaes PROPOSAL
Arvin O KuskoCanadaAnna Fali NEGOTIATION
Morrow K AmigonSpainStephen Shaw PROPOSAL
Leon O SaylorsGermanyIoni Bowcher NEW
Silvio R WaycottFranceIoni Bowcher RENEWAL
Munro V ChuiArgentinaBernardo Dominic QUALIFIED
Sinclair Z SaylorsSpainAsiya Javayant PROPOSAL
Nicolas P CampainBrazilAnna Fali PROPOSAL
Aruna O VocelkaCanadaAnna Fali NEW
Sinclair O TollnerJapanAnna Fali NEW
Ashley R GlickJapanIvan Magalhaes QUALIFIED
Jennifer Z VocelkaItalyAnna Fali QUALIFIED
Maria E RimUnited KingdomAsiya Javayant NEGOTIATION
Aruna M PoquetteArgentinaAmy Elsner UNQUALIFIED
Morrow Q DoeJapanAsiya Javayant PROPOSAL
Darci V KolmetzItalyBernardo Dominic NEW
Nicolas R ChuiCanadaAmy Elsner NEGOTIATION
Nicolas P MacleadSpainIvan Magalhaes PROPOSAL
Costa Z CaudyCanadaIvan Magalhaes NEW
Mujtaba Z WieserGermanyIvan Magalhaes PROPOSAL
Isabel V AlbaresUnited KingdomAnna Fali NEGOTIATION
Octavia M DarakjyIndiaElwin Sharvill NEW
Jones O SaylorsJapanIoni Bowcher NEGOTIATION
Jennifer Y PaprockiSpainAmy Elsner PROPOSAL
Octavia J SlusarskiRussiaAmy Elsner NEGOTIATION
Silvio S MaletArgentinaStephen Shaw UNQUALIFIED
Wickens I SlusarskiArgentinaIvan Magalhaes PROPOSAL
Kadeem W GillianJapanElwin Sharvill QUALIFIED
Adams N VenereBrazilAsiya Javayant NEW
Alejandro G DilliardGermanyIoni Bowcher RENEWAL
Izzy Z ShinkoSpainOnyama Limba PROPOSAL
Julie M BriddickGermanyAnna Fali UNQUALIFIED
Kadeem M KuskoIndiaAsiya Javayant RENEWAL
Mujtaba X StensethArgentinaIoni Bowcher PROPOSAL
Octavia W StensethBrazilAnna Fali UNQUALIFIED
Jefferson D KolmetzCanadaElwin Sharvill NEW
Emily P StockhamJapanIvan Magalhaes NEGOTIATION
Aika Y BologniaBrazilOnyama Limba NEW
Jennifer N DoeBrazilAnna Fali UNQUALIFIED
Kadeem X SchemmerCanadaAsiya Javayant UNQUALIFIED
Arvin S BologniaFranceXuxue Feng NEW
Cody G DarakjyGermanyOnyama Limba PROPOSAL
Chavez C MarrierJapanElwin Sharvill RENEWAL
Maisha F StensethItalyStephen Shaw NEW
Leon N StockhamSpainAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Francesco G DoeBrazilOnyama Limba PROPOSAL
Mujtaba W TollnerRussiaIvan Magalhaes PROPOSAL
Tony X VocelkaSpainBernardo Dominic UNQUALIFIED
Rodrigues O FollerCanadaAsiya Javayant RENEWAL
Salvatore Z OstroskyJapanElwin Sharvill NEW
Aditya K OldroydCanadaElwin Sharvill NEGOTIATION
Stacey X ButtItalyStephen Shaw PROPOSAL
Morrow C AlbaresGermanyBernardo Dominic UNQUALIFIED
Stacey V NestleGermanyIoni Bowcher NEW
Ashley T NickaIndiaIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens A AlbaresBrazil2024-05-29Buckley Miller Wright QUALIFIED45Asiya Javayant
1001Clifford E RoysterArgentina2024-06-18Rousseaux, Michael Esq NEGOTIATION15Elwin Sharvill
1002Sinclair I NickaArgentina2024-06-06Buckley Miller Wright PROPOSAL68Xuxue Feng
1003Kadeem G IturbideGermany2024-06-05Commercial Press RENEWAL33Elwin Sharvill
1004Clifford G FigeroaBrazil2024-05-28Rousseaux, Michael Esq UNQUALIFIED43Anna Fali
1005Misaki S BriddickSpain2024-06-11Feiner Bros QUALIFIED34Ioni Bowcher
1006Emily U FerenczRussia2024-06-22Benton, John B Jr UNQUALIFIED84Ioni Bowcher
1007Nicolas N MaletFrance2024-05-24Chemel, James L Cpa NEW82Onyama Limba
1008Nicolas X WhobreyItaly2024-06-22Rousseaux, Michael Esq NEW56Stephen Shaw
1009Deepesh Z GillianGermany2024-05-27Commercial Press QUALIFIED55Bernardo Dominic
1010Jefferson W RulapaughCanada2024-05-26Rangoni Of Florence UNQUALIFIED11Anna Fali
1011Costa S GauchoUnited Kingdom2024-06-04King, Christopher A Esq QUALIFIED61Amy Elsner
1012David C NestleRussia2024-06-11Truhlar And Truhlar Attys QUALIFIED46Stephen Shaw
1013Morrow B FigeroaRussia2024-05-24Chapman, Ross E Esq NEW42Stephen Shaw
1014Deepesh H SaylorsGermany2024-06-11Feltz Printing Service NEGOTIATION52Anna Fali
1015Aika B KolmetzCanada2024-06-04Chemel, James L Cpa PROPOSAL31Xuxue Feng
1016James Z GauchoBrazil2024-06-20Feiner Bros PROPOSAL78Ivan Magalhaes
1017Deepesh C DoeUnited Kingdom2024-05-25Chapman, Ross E Esq UNQUALIFIED75Anna Fali
1018Octavia G OstroskyJapan2024-06-16Printing Dimensions NEW16Ioni Bowcher
1019Julie M CampainArgentina2024-06-16Chapman, Ross E Esq QUALIFIED55Asiya Javayant
1020Aditya P VocelkaBrazil2024-06-21Chapman, Ross E Esq NEGOTIATION63Ivan Magalhaes
1021Aruna G RutaAustralia2024-06-14Morlong Associates RENEWAL26Stephen Shaw
1022Emily L ButtBrazil2024-05-25Chemel, James L Cpa NEW88Amy Elsner
1023Stacey I NickaIndia2024-06-14Rousseaux, Michael Esq PROPOSAL70Asiya Javayant
1024Sinclair D StockhamUnited Kingdom2024-06-02Feltz Printing Service NEW57Anna Fali
1025Darci G OldroydCanada2024-06-22Dorl, James J Esq QUALIFIED46Elwin Sharvill
1026Leon Y GarufiItaly2024-05-31Buckley Miller Wright NEGOTIATION16Stephen Shaw
1027Kaitlin C OstroskyItaly2024-06-12Chemel, James L Cpa RENEWAL86Anna Fali
1028Jennifer H MaletJapan2024-06-20Feltz Printing Service UNQUALIFIED0Onyama Limba
1029Munro U FerenczSpain2024-06-21Feltz Printing Service PROPOSAL5Asiya Javayant
1030Faith A SlusarskiArgentina2024-05-30Rousseaux, Michael Esq UNQUALIFIED36Ioni Bowcher
1031Salvatore M RulapaughAustralia2024-06-03Rousseaux, Michael Esq QUALIFIED68Ioni Bowcher
1032Leja U StensethIndia2024-06-02Feltz Printing Service NEW25Stephen Shaw
1033Ricardo A BologniaCanada2024-06-21Chapman, Ross E Esq UNQUALIFIED13Bernardo Dominic
1034Darci U ChuiSpain2024-06-04Buckley Miller Wright PROPOSAL57Amy Elsner
1035Mujtaba D MarrierRussia2024-06-16Buckley Miller Wright QUALIFIED60Stephen Shaw
1036Aditya J ChuiCanada2024-06-03Truhlar And Truhlar Attys UNQUALIFIED15Asiya Javayant
1037Morrow M StensethArgentina2024-05-31Morlong Associates NEW85Anna Fali
1038Deepesh T SergiArgentina2024-06-20Buckley Miller Wright PROPOSAL7Xuxue Feng
1039Mayumi Y KuskoArgentina2024-05-30Feiner Bros NEGOTIATION52Xuxue Feng
1040Isabel N TollnerAustralia2024-06-05Chanay, Jeffrey A Esq PROPOSAL8Xuxue Feng
1041Aika M AlbaresIndia2024-06-12Chapman, Ross E Esq RENEWAL52Stephen Shaw
1042Antonio A RutaCanada2024-06-17Printing Dimensions NEW20Stephen Shaw
1043Jefferson T WieserCanada2024-06-13Morlong Associates NEW39Bernardo Dominic
1044Francesco T MaletAustralia2024-06-22Morlong Associates PROPOSAL84Ivan Magalhaes
1045Isabel B MacleadArgentina2024-06-18Feiner Bros QUALIFIED13Asiya Javayant
1046Ricardo X NickaBrazil2024-06-19Chapman, Ross E Esq RENEWAL69Amy Elsner
1047Leon R GlickUnited Kingdom2024-06-19Chapman, Ross E Esq PROPOSAL45Asiya Javayant
1048David T GlickRussia2024-06-18Printing Dimensions RENEWAL27Xuxue Feng
1049Greenwood I MarrierCanada2024-06-15Feltz Printing Service RENEWAL90Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Salvatore T RimUnited KingdomIoni Bowcher QUALIFIED
Wickens H MaletArgentinaElwin Sharvill UNQUALIFIED
Ashley K GauchoCanadaAnna Fali NEGOTIATION
Johnson F VenereBrazilAmy Elsner PROPOSAL
Isabel D StensethBrazilIoni Bowcher PROPOSAL
Antonio M RulapaughFranceOnyama Limba QUALIFIED
Kaitlin S GillianItalyIoni Bowcher UNQUALIFIED
Ivar Q FollerAustraliaStephen Shaw NEGOTIATION
Nicolas S AmigonRussiaAsiya Javayant PROPOSAL
Sinclair K SaylorsBrazilXuxue Feng UNQUALIFIED
Aditya Y DoeRussiaBernardo Dominic NEW
Tony M RulapaughBrazilAnna Fali NEGOTIATION
Jennifer Y BriddickRussiaElwin Sharvill RENEWAL
Tony V RulapaughSpainXuxue Feng NEGOTIATION
Leja L SaylorsUnited KingdomOnyama Limba NEGOTIATION
Chavez H SchemmerJapanIoni Bowcher QUALIFIED
Rodrigues E DarakjyJapanStephen Shaw UNQUALIFIED
Clifford U VocelkaItalyStephen Shaw UNQUALIFIED
Stacey Q RoysterArgentinaAsiya Javayant NEW
Aruna R DilliardIndiaAmy Elsner UNQUALIFIED
Jefferson X FollerGermanyAnna Fali QUALIFIED
Ashley K SchemmerCanadaOnyama Limba UNQUALIFIED
Ricardo T BowleyAustraliaBernardo Dominic UNQUALIFIED
Tony R GarufiCanadaAmy Elsner QUALIFIED
Smith D KolmetzItalyIvan Magalhaes NEGOTIATION
Clifford Z MarrierBrazilIvan Magalhaes UNQUALIFIED
Aruna L DilliardAustraliaXuxue Feng RENEWAL
Kaitlin S SaylorsJapanAnna Fali QUALIFIED
Deepesh C BologniaAustraliaXuxue Feng NEGOTIATION
David G IturbideFranceOnyama Limba NEGOTIATION
Mujtaba Z PerinCanadaOnyama Limba NEGOTIATION
Jennifer G OldroydGermanyAsiya Javayant PROPOSAL
Juan C MacleadJapanXuxue Feng PROPOSAL
Mujtaba G CampainBrazilIvan Magalhaes NEGOTIATION
Misaki Y IturbideSpainAsiya Javayant PROPOSAL
Juan C GauchoCanadaElwin Sharvill UNQUALIFIED
Darci Q KolmetzArgentinaAnna Fali NEW
Ashley T FollerUnited KingdomIvan Magalhaes NEGOTIATION
Salvatore Z BologniaJapanIoni Bowcher RENEWAL
Kaitlin G OstroskyArgentinaAmy Elsner RENEWAL
Costa V SchemmerGermanyAmy Elsner NEW
Kadeem Q FigeroaBrazilIvan Magalhaes UNQUALIFIED
Jones T GlickJapanAmy Elsner NEW
Aika C KolmetzCanadaXuxue Feng PROPOSAL
Stacey S GarufiItalyIoni Bowcher RENEWAL
Silvio P CaldareraArgentinaStephen Shaw QUALIFIED
Aika P VocelkaJapanIoni Bowcher RENEWAL
Jennifer S NestleItalyBernardo Dominic QUALIFIED
Aditya E VocelkaGermanyAsiya Javayant NEW
Leja K DarakjyAustraliaAnna Fali PROPOSAL
Frozen Columns
Name
Aruna G Sergi
Mujtaba Y Chui
Darci M Marrier
Julie B Gaucho
Aika S Tollner
Cody G Royster
Faith R Malet
Emily H Darakjy
Nicolas A Butt
Murillo K Doe
Sinclair Y Marrier
Salvatore M Paprocki
Juan E Royster
Maria P Ruta
Julie K Saylors
Rodrigues K Butt
Ivar S Poquette
Stacey P Ruta
Mujtaba S Ferencz
Chavez Y Ruta
Faith V Caldarera
Leja T Caldarera
Maisha L Morasca
James T Bolognia
Jeanfrancois B Flosi
Leja A Sergi
Francesco K Bolognia
Darci V Flosi
Julie B Caudy
Ricardo S Foller
Leja K Saylors
Adams W Darakjy
Cody O Figeroa
Francesco X Doe
Faith P Royster
Antonio O Whobrey
Emily P Doe
Faith X Saylors
Johnson I Schemmer
Aika L Slusarski
Misaki B Doe
Greenwood X Rim
Munro T Malet
Darci H Gillian
Wickens B Oldroyd
Tony O Tollner
Octavia G Garufi
Leja T Foller
Wickens E Vocelka
Leon S Nicka
IdCountryDate
1000Russia2024-05-30
1001Germany2024-06-08
1002Spain2024-05-27
1003United Kingdom2024-05-26
1004Argentina2024-06-07
1005Australia2024-06-10
1006Germany2024-06-18
1007United Kingdom2024-06-09
1008Germany2024-06-12
1009Italy2024-06-22
1010India2024-06-08
1011Germany2024-05-29
1012Australia2024-06-06
1013India2024-06-05
1014Spain2024-06-17
1015United Kingdom2024-06-05
1016Australia2024-05-26
1017Spain2024-06-11
1018Russia2024-06-21
1019Japan2024-06-17
1020Germany2024-05-27
1021United Kingdom2024-06-20
1022India2024-06-21
1023Argentina2024-06-22
1024Germany2024-06-07
1025Italy2024-06-04
1026France2024-06-20
1027United Kingdom2024-06-20
1028Russia2024-06-16
1029Brazil2024-06-10
1030India2024-06-22
1031Italy2024-06-15
1032Russia2024-05-31
1033Australia2024-06-11
1034France2024-05-27
1035Argentina2024-06-08
1036India2024-05-31
1037France2024-05-24
1038Australia2024-06-21
1039United Kingdom2024-06-17
1040United Kingdom2024-06-14
1041Japan2024-06-04
1042France2024-05-27
1043Australia2024-05-31
1044Germany2024-06-21
1045Argentina2024-05-25
1046Brazil2024-05-24
1047Japan2024-06-21
1048Australia2024-06-11
1049United Kingdom2024-06-10

On-Demand Data

NameIdCountryDate
Emily I Maclead1000Italy2024-05-26
Ivar M Nicka1001Spain2024-05-26
Antonio G Oldroyd1002Australia2024-05-30
Chavez C Wieser1003India2024-05-27
Maisha T Glick1004Spain2024-06-17
Greenwood N Dilliard1005Russia2024-05-26
Nicolas M Dilliard1006Germany2024-06-14
Deepesh W Kusko1007Argentina2024-06-13
Maria V Campain1008United Kingdom2024-06-09
Munro Q Ferencz1009India2024-06-12
Julie K Bolognia1010Australia2024-06-19
Arvin C Kusko1011Spain2024-05-29
Francesco H Kusko1012Australia2024-05-24
James U Butt1013Russia2024-05-28
Murillo K Saylors1014United Kingdom2024-06-21
Munro W Nicka1015Spain2024-06-05
Maisha P Caldarera1016Germany2024-06-21
Jones B Doe1017France2024-05-29
Claire F Campain1018India2024-06-18
Silvio Y Rulapaugh1019Germany2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki F NestleArgentinaXuxue Feng NEW
Faith H StockhamBrazilStephen Shaw NEGOTIATION
Greenwood N NickaGermanyElwin Sharvill PROPOSAL
Nicolas Y BologniaItalyAmy Elsner QUALIFIED
Ivar W WhobreyArgentinaAmy Elsner PROPOSAL
Sinclair P RulapaughRussiaAsiya Javayant QUALIFIED
Arvin B NickaItalyXuxue Feng NEW
Antonio I NestleJapanStephen Shaw NEW
Wickens R DoeRussiaElwin Sharvill NEGOTIATION
Emily O SaylorsAustraliaIoni Bowcher PROPOSAL
Silvio P NestleGermanyAsiya Javayant NEGOTIATION
Leon S MaletSpainElwin Sharvill UNQUALIFIED
Emily V KuskoAustraliaIvan Magalhaes QUALIFIED
Kadeem D BowleyCanadaBernardo Dominic NEGOTIATION
Ashley K GauchoFranceIvan Magalhaes UNQUALIFIED
Johnson Z WaycottArgentinaElwin Sharvill QUALIFIED
Munro J PaprockiBrazilIvan Magalhaes NEGOTIATION
Aruna V RulapaughGermanyOnyama Limba PROPOSAL
Sinclair P BologniaRussiaAnna Fali PROPOSAL
Ashley E VenereIndiaAsiya Javayant UNQUALIFIED
Chavez O RimSpainAmy Elsner NEGOTIATION
Maisha P NickaGermanyAnna Fali NEW
Cody Y VenereCanadaAnna Fali NEGOTIATION
Jeanfrancois H OstroskyArgentinaIoni Bowcher PROPOSAL
Jefferson H KuskoCanadaAmy Elsner QUALIFIED
Octavia Q ButtSpainXuxue Feng NEGOTIATION
Jones N RimUnited KingdomAsiya Javayant NEW
Stacey N SaylorsGermanyXuxue Feng UNQUALIFIED
Ashley C ShinkoGermanyAnna Fali NEW
Silvio V KuskoBrazilIoni Bowcher NEW
Ivar B StensethRussiaStephen Shaw RENEWAL
Izzy Q SchemmerFranceOnyama Limba RENEWAL
Izzy R VenereGermanyAnna Fali RENEWAL
Stacey I WhobreyCanadaXuxue Feng NEGOTIATION
Rodrigues O TollnerCanadaIoni Bowcher QUALIFIED
Silvio S CaldareraRussiaAnna Fali UNQUALIFIED
Aruna B SchemmerGermanyElwin Sharvill QUALIFIED
Greenwood Z PaprockiGermanyIoni Bowcher QUALIFIED
Kadeem N PoquetteItalyStephen Shaw NEW
Cody R RutaGermanyBernardo Dominic 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>