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
Julie F CaldareraAustraliaAmy Elsner PROPOSAL
Cody K GauchoArgentinaAsiya Javayant UNQUALIFIED
Alejandro G BologniaGermanyStephen Shaw PROPOSAL
Julie B BologniaCanadaOnyama Limba PROPOSAL
Rodrigues X IturbideCanadaAmy Elsner QUALIFIED
James F MaletAustraliaAnna Fali UNQUALIFIED
Arvin U MorascaUnited KingdomElwin Sharvill NEGOTIATION
Nicolas Z KolmetzBrazilAnna Fali PROPOSAL
Kaitlin R FollerIndiaIvan Magalhaes UNQUALIFIED
Octavia D CaudyJapanStephen Shaw NEW
Jones E KolmetzRussiaAsiya Javayant UNQUALIFIED
Mujtaba B WieserSpainIoni Bowcher NEW
Costa C RoysterJapanStephen Shaw NEW
Silvio W KolmetzUnited KingdomIvan Magalhaes RENEWAL
Octavia U SchemmerArgentinaStephen Shaw NEW
Cody Y KolmetzArgentinaIvan Magalhaes NEGOTIATION
Murillo T AmigonIndiaAnna Fali RENEWAL
Clifford S OstroskyArgentinaAsiya Javayant PROPOSAL
Izzy E GauchoFranceElwin Sharvill NEGOTIATION
Morrow Y VenereSpainAsiya Javayant QUALIFIED
Stacey L SergiIndiaAnna Fali QUALIFIED
Faith Q DilliardRussiaElwin Sharvill QUALIFIED
Murillo Q SergiJapanAsiya Javayant RENEWAL
Mayumi M BriddickSpainIoni Bowcher NEGOTIATION
Smith I AmigonFranceElwin Sharvill RENEWAL
Darci P RimCanadaElwin Sharvill NEW
Juan V CaldareraGermanyBernardo Dominic UNQUALIFIED
Izzy W PoquetteJapanBernardo Dominic QUALIFIED
Ivar P WhobreyItalyAsiya Javayant UNQUALIFIED
Munro D GlickArgentinaOnyama Limba NEW
Ivar U DoeCanadaElwin Sharvill NEGOTIATION
Alejandro F MorascaItalyElwin Sharvill QUALIFIED
James V FollerFranceOnyama Limba NEW
Costa H PoquetteGermanyOnyama Limba RENEWAL
Jones T VocelkaUnited KingdomAmy Elsner QUALIFIED
Leon R RimSpainAmy Elsner QUALIFIED
Deepesh F VenereRussiaXuxue Feng QUALIFIED
Costa H DoeAustraliaIoni Bowcher NEGOTIATION
Maisha M BriddickGermanyOnyama Limba NEW
Salvatore E MaletAustraliaElwin Sharvill UNQUALIFIED
Nicolas E MaletGermanyIvan Magalhaes NEGOTIATION
Rodrigues K KuskoUnited KingdomXuxue Feng RENEWAL
Mujtaba H KuskoUnited KingdomElwin Sharvill NEW
Sinclair V GlickArgentinaIoni Bowcher NEW
Cody H FollerGermanyAsiya Javayant PROPOSAL
Isabel Y StensethJapanAnna Fali NEW
Ivar E SchemmerArgentinaAmy Elsner NEW
James U PoquetteJapanAnna Fali QUALIFIED
Julie C AlbaresJapanIoni Bowcher NEGOTIATION
Aika W VenereIndiaOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Aruna L TollnerIndiaOnyama Limba NEGOTIATION
Jefferson J OstroskyJapanAmy Elsner NEW
Tony K PerinRussiaOnyama Limba PROPOSAL
Misaki V ButtAustraliaAnna Fali RENEWAL
Jennifer D SlusarskiRussiaBernardo Dominic PROPOSAL
Kadeem I VocelkaFranceOnyama Limba RENEWAL
Adams Y BologniaFranceAnna Fali UNQUALIFIED
Maria V DoeFranceAsiya Javayant RENEWAL
Stacey K KolmetzAustraliaAnna Fali RENEWAL
Francesco Y BologniaFranceXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin L SaylorsRussia2024-06-12King, Christopher A Esq QUALIFIED97Bernardo Dominic
1001Tony Y BowleyIndia2024-06-08Dorl, James J Esq NEGOTIATION65Bernardo Dominic
1002James N CampainUnited Kingdom2024-06-12Rousseaux, Michael Esq NEW65Onyama Limba
1003Sinclair Y FerenczUnited Kingdom2024-05-30Chemel, James L Cpa RENEWAL44Xuxue Feng
1004Ivar E SlusarskiBrazil2024-06-16Truhlar And Truhlar Attys NEW29Xuxue Feng
1005Emily U MorascaArgentina2024-06-07Rousseaux, Michael Esq PROPOSAL24Amy Elsner
1006Salvatore K PerinJapan2024-05-29Printing Dimensions UNQUALIFIED32Xuxue Feng
1007Murillo X MacleadGermany2024-05-30Chanay, Jeffrey A Esq PROPOSAL42Elwin Sharvill
1008Mujtaba Q RulapaughJapan2024-06-19Buckley Miller Wright PROPOSAL83Asiya Javayant
1009Rodrigues J InouyeItaly2024-06-15Commercial Press NEGOTIATION24Xuxue Feng
1010James O CaudyGermany2024-05-30Chapman, Ross E Esq NEW87Asiya Javayant
1011Cody Q InouyeGermany2024-06-12Rangoni Of Florence NEW76Ioni Bowcher
1012Jennifer E FlosiFrance2024-05-29Chapman, Ross E Esq NEW50Onyama Limba
1013Arvin M DilliardRussia2024-06-05Chemel, James L Cpa PROPOSAL5Stephen Shaw
1014Claire E StockhamAustralia2024-06-17Dorl, James J Esq RENEWAL89Anna Fali
1015Chavez W MorascaJapan2024-06-18Truhlar And Truhlar Attys UNQUALIFIED25Ivan Magalhaes
1016Ashley D GlickUnited Kingdom2024-06-10Chemel, James L Cpa QUALIFIED19Bernardo Dominic
1017Maisha W MacleadAustralia2024-06-11Benton, John B Jr QUALIFIED96Onyama Limba
1018Faith J PoquetteArgentina2024-05-31Benton, John B Jr QUALIFIED43Onyama Limba
1019Julie U GlickFrance2024-06-16Buckley Miller Wright RENEWAL35Anna Fali
1020Kadeem F MaletJapan2024-06-11Rangoni Of Florence PROPOSAL17Ivan Magalhaes
1021Emily B PoquetteIndia2024-05-28Morlong Associates UNQUALIFIED56Xuxue Feng
1022Claire C NestleItaly2024-06-04Dorl, James J Esq PROPOSAL16Xuxue Feng
1023Leon A MaletUnited Kingdom2024-06-14Chemel, James L Cpa UNQUALIFIED28Asiya Javayant
1024Antonio L MorascaCanada2024-06-18Rangoni Of Florence UNQUALIFIED39Ivan Magalhaes
1025Nicolas G WaycottGermany2024-06-12Printing Dimensions UNQUALIFIED1Ivan Magalhaes
1026Silvio X WaycottUnited Kingdom2024-06-10Buckley Miller Wright QUALIFIED52Onyama Limba
1027Faith J KuskoAustralia2024-06-20Buckley Miller Wright NEGOTIATION24Xuxue Feng
1028Claire V VocelkaItaly2024-06-22Printing Dimensions NEW68Ioni Bowcher
1029Kaitlin A StensethUnited Kingdom2024-05-30Chapman, Ross E Esq QUALIFIED9Stephen Shaw
1030Nicolas Q SaylorsJapan2024-05-30Buckley Miller Wright RENEWAL18Stephen Shaw
1031Kadeem K NickaBrazil2024-06-21Chemel, James L Cpa NEW92Stephen Shaw
1032Emily W GillianIndia2024-06-22Rousseaux, Michael Esq UNQUALIFIED48Onyama Limba
1033Murillo G StockhamRussia2024-06-22Rousseaux, Michael Esq NEGOTIATION16Ioni Bowcher
1034Kadeem R AmigonBrazil2024-06-10Chapman, Ross E Esq NEW58Onyama Limba
1035Misaki L GarufiGermany2024-06-22Benton, John B Jr RENEWAL14Elwin Sharvill
1036Darci O PerinAustralia2024-06-16King, Christopher A Esq QUALIFIED51Stephen Shaw
1037Morrow S VocelkaUnited Kingdom2024-06-03Commercial Press NEW88Amy Elsner
1038Silvio Y FigeroaSpain2024-06-11Rangoni Of Florence NEW71Xuxue Feng
1039Silvio K RoysterFrance2024-06-08Rousseaux, Michael Esq NEGOTIATION28Elwin Sharvill
1040Mujtaba W ChuiSpain2024-06-10Commercial Press RENEWAL24Xuxue Feng
1041Antonio X KolmetzIndia2024-06-02Benton, John B Jr UNQUALIFIED27Onyama Limba
1042Wickens C KolmetzGermany2024-06-11Commercial Press QUALIFIED28Ioni Bowcher
1043Ashley W GauchoIndia2024-06-01Morlong Associates NEGOTIATION85Bernardo Dominic
1044David A NickaRussia2024-06-21Rangoni Of Florence NEW59Stephen Shaw
1045Jeanfrancois A StockhamJapan2024-06-02Rousseaux, Michael Esq QUALIFIED60Asiya Javayant
1046Maria Y KolmetzAustralia2024-06-21Rousseaux, Michael Esq UNQUALIFIED35Anna Fali
1047Jones O WaycottBrazil2024-06-07Truhlar And Truhlar Attys NEGOTIATION17Stephen Shaw
1048Izzy T ChuiFrance2024-05-27Morlong Associates UNQUALIFIED59Stephen Shaw
1049Nicolas R ButtUnited Kingdom2024-06-07Rangoni Of Florence QUALIFIED77Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Jefferson L OstroskyItalyIoni Bowcher QUALIFIED
Maisha Y RulapaughSpainAnna Fali PROPOSAL
Julie Z KolmetzJapanElwin Sharvill NEW
Ricardo R PaprockiSpainElwin Sharvill QUALIFIED
Francesco U CaldareraArgentinaXuxue Feng QUALIFIED
Francesco K CampainIndiaBernardo Dominic RENEWAL
Morrow O TollnerJapanOnyama Limba UNQUALIFIED
Jefferson T GillianSpainXuxue Feng QUALIFIED
Adams V DarakjyIndiaXuxue Feng QUALIFIED
Munro O BowleyRussiaBernardo Dominic NEGOTIATION
Cody B VocelkaItalyAnna Fali NEW
Julie N CampainItalyBernardo Dominic PROPOSAL
Jeanfrancois E VocelkaGermanyXuxue Feng NEGOTIATION
Francesco F FigeroaGermanyElwin Sharvill PROPOSAL
Johnson N PaprockiUnited KingdomIvan Magalhaes RENEWAL
Claire N GarufiBrazilAmy Elsner NEW
Chavez W GlickJapanIvan Magalhaes RENEWAL
James A SaylorsFranceIoni Bowcher UNQUALIFIED
Faith M MarrierIndiaElwin Sharvill UNQUALIFIED
Francesco D ChuiBrazilElwin Sharvill PROPOSAL
Aruna N StockhamArgentinaXuxue Feng PROPOSAL
David F StockhamUnited KingdomAmy Elsner RENEWAL
Aruna A ShinkoItalyElwin Sharvill UNQUALIFIED
Wickens Z PaprockiRussiaStephen Shaw RENEWAL
Antonio C OldroydJapanBernardo Dominic QUALIFIED
Ricardo Z SlusarskiUnited KingdomAnna Fali RENEWAL
Darci V BologniaItalyStephen Shaw NEW
Silvio C MacleadGermanyAmy Elsner QUALIFIED
Misaki Z ShinkoRussiaIvan Magalhaes UNQUALIFIED
Morrow L MorascaSpainAmy Elsner QUALIFIED
Rodrigues O MorascaArgentinaIvan Magalhaes QUALIFIED
Nicolas R TollnerBrazilAmy Elsner QUALIFIED
Izzy H DoeArgentinaIvan Magalhaes NEW
Cody W WhobreyItalyStephen Shaw PROPOSAL
Octavia P AlbaresRussiaIoni Bowcher RENEWAL
Mayumi F MaletIndiaIvan Magalhaes PROPOSAL
Johnson I MaletBrazilElwin Sharvill RENEWAL
Nicolas D BologniaBrazilAmy Elsner NEW
James V OldroydUnited KingdomIvan Magalhaes QUALIFIED
Aika B WieserRussiaAmy Elsner NEW
Leja F CaldareraBrazilAnna Fali RENEWAL
Smith G WieserJapanBernardo Dominic NEGOTIATION
Izzy T FerenczItalyXuxue Feng QUALIFIED
Jeanfrancois Y NestleSpainIvan Magalhaes UNQUALIFIED
Tony V SchemmerGermanyOnyama Limba RENEWAL
Smith L InouyeRussiaXuxue Feng QUALIFIED
Mujtaba Z SaylorsCanadaAsiya Javayant QUALIFIED
Izzy W SlusarskiCanadaStephen Shaw NEW
Deepesh J WhobreyRussiaAmy Elsner RENEWAL
Antonio T MaletSpainXuxue Feng NEW
Frozen Columns
Name
Rodrigues T Stenseth
Sinclair N Dilliard
James O Rulapaugh
James W Nicka
Kaitlin G Paprocki
Adams M Maclead
Juan F Slusarski
Smith H Bowley
James X Glick
Tony G Paprocki
Costa I Glick
Leja F Bowley
Ashley G Schemmer
Rodrigues F Wieser
Murillo G Sergi
Emily D Perin
Costa L Iturbide
Murillo A Malet
Morrow T Waycott
Greenwood T Nestle
Adams S Slusarski
Juan L Campain
Juan J Foller
Aika C Malet
Kaitlin H Kolmetz
Leja L Glick
Nicolas M Gaucho
Julie Y Foller
Mujtaba R Campain
Greenwood W Oldroyd
Costa Y Flosi
Francesco G Foller
Faith D Chui
Antonio V Slusarski
Misaki Z Perin
Salvatore O Doe
Juan E Campain
Jefferson S Foller
Leja K Amigon
Arvin Y Gillian
Smith I Gaucho
Leja W Rim
Izzy U Sergi
Sinclair I Inouye
Juan V Paprocki
James O Kolmetz
Kaitlin C Royster
Nicolas Q Garufi
Tony J Tollner
Mujtaba F Stenseth
IdCountryDate
1000Australia2024-06-13
1001Brazil2024-06-20
1002India2024-06-16
1003Canada2024-06-19
1004Argentina2024-06-04
1005United Kingdom2024-06-21
1006Brazil2024-05-28
1007United Kingdom2024-06-19
1008Australia2024-05-30
1009Australia2024-06-21
1010Japan2024-06-06
1011France2024-06-07
1012Argentina2024-06-15
1013Argentina2024-05-27
1014Spain2024-05-28
1015Italy2024-06-03
1016Spain2024-06-22
1017Canada2024-05-27
1018Canada2024-06-23
1019Russia2024-06-23
1020Australia2024-05-28
1021Australia2024-05-29
1022United Kingdom2024-06-22
1023Australia2024-06-01
1024Spain2024-06-08
1025Germany2024-05-31
1026Canada2024-06-19
1027Brazil2024-06-21
1028Spain2024-06-14
1029Brazil2024-05-30
1030Spain2024-06-23
1031Spain2024-05-31
1032Canada2024-06-15
1033Australia2024-05-26
1034France2024-05-27
1035Russia2024-06-24
1036Argentina2024-06-16
1037Canada2024-06-17
1038Germany2024-06-06
1039Argentina2024-06-24
1040Canada2024-06-24
1041Italy2024-06-11
1042Italy2024-05-27
1043Japan2024-05-27
1044India2024-06-12
1045Canada2024-06-07
1046Argentina2024-06-15
1047India2024-06-22
1048Germany2024-05-27
1049France2024-06-15

On-Demand Data

NameIdCountryDate
Rodrigues V Morasca1000France2024-06-09
Ivar O Wieser1001Australia2024-06-06
Emily T Ostrosky1002United Kingdom2024-06-08
Julie L Figeroa1003Canada2024-06-22
Jefferson L Stenseth1004Germany2024-06-03
Leon N Ferencz1005Canada2024-06-06
Johnson R Chui1006Italy2024-06-15
Leon T Schemmer1007Italy2024-06-09
Salvatore G Malet1008India2024-06-16
Cody C Malet1009Brazil2024-06-08
Mujtaba C Sergi1010Japan2024-06-12
Tony D Saylors1011Argentina2024-06-23
Jones R Amigon1012Canada2024-06-20
Greenwood P Albares1013Russia2024-06-21
Sinclair P Nestle1014Germany2024-06-23
Juan P Garufi1015Canada2024-05-31
Faith U Maclead1016Spain2024-06-01
Izzy U Kolmetz1017Australia2024-06-13
Cody N Stockham1018United Kingdom2024-06-22
Tony H Bolognia1019United Kingdom2024-06-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones Z ChuiArgentinaOnyama Limba QUALIFIED
Mayumi J OstroskyJapanXuxue Feng UNQUALIFIED
Mujtaba U TollnerFranceAnna Fali PROPOSAL
Jones H VenereAustraliaAnna Fali RENEWAL
Costa Z CaldareraFranceBernardo Dominic NEGOTIATION
Claire C WieserCanadaIoni Bowcher PROPOSAL
Leon B ShinkoGermanyBernardo Dominic PROPOSAL
Greenwood U RimBrazilBernardo Dominic NEGOTIATION
Darci U InouyeAustraliaOnyama Limba NEGOTIATION
Leja D GarufiArgentinaBernardo Dominic UNQUALIFIED
Kaitlin F RutaFranceIvan Magalhaes RENEWAL
Rodrigues S RutaCanadaIvan Magalhaes RENEWAL
Kadeem T ButtUnited KingdomAsiya Javayant UNQUALIFIED
Leon F WieserSpainBernardo Dominic PROPOSAL
Jennifer R RulapaughJapanAsiya Javayant NEGOTIATION
Emily S BologniaJapanAnna Fali UNQUALIFIED
Mayumi T DoeIndiaXuxue Feng PROPOSAL
Mayumi F AmigonAustraliaAnna Fali NEW
Ashley Y GlickBrazilIoni Bowcher RENEWAL
Leja D InouyeJapanIoni Bowcher NEGOTIATION
Aditya O CaudyFranceAnna Fali NEW
Francesco B VenereJapanAnna Fali RENEWAL
Silvio V NickaRussiaBernardo Dominic UNQUALIFIED
Jefferson P VenereBrazilAnna Fali PROPOSAL
Jeanfrancois H NestleBrazilIvan Magalhaes RENEWAL
Francesco Q AmigonJapanOnyama Limba RENEWAL
Julie Q AmigonArgentinaStephen Shaw NEW
James I WaycottBrazilBernardo Dominic PROPOSAL
Adams H OldroydItalyOnyama Limba NEGOTIATION
Darci Z FollerCanadaIvan Magalhaes RENEWAL
Munro R DarakjyCanadaIoni Bowcher NEGOTIATION
Ricardo P AmigonSpainAmy Elsner NEGOTIATION
Jones R AlbaresFranceXuxue Feng PROPOSAL
Jeanfrancois H AmigonUnited KingdomXuxue Feng PROPOSAL
Mujtaba C BowleyItalyOnyama Limba PROPOSAL
Chavez K MaletJapanAmy Elsner PROPOSAL
Juan A CaldareraIndiaIvan Magalhaes PROPOSAL
Mayumi L WhobreyAustraliaXuxue Feng QUALIFIED
Claire C ShinkoArgentinaIvan Magalhaes PROPOSAL
Johnson S OstroskyIndiaXuxue Feng QUALIFIED

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