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
Mujtaba K RimJapanIoni Bowcher QUALIFIED
Antonio F MarrierArgentinaAmy Elsner UNQUALIFIED
Cody M FigeroaUnited KingdomAnna Fali NEW
Salvatore F ShinkoJapanBernardo Dominic QUALIFIED
Arvin U FigeroaAustraliaAnna Fali NEW
Ivar G RulapaughIndiaElwin Sharvill NEW
Murillo P SlusarskiArgentinaOnyama Limba NEW
Chavez G RutaRussiaIvan Magalhaes PROPOSAL
Francesco V KuskoArgentinaIoni Bowcher NEW
Julie U InouyeItalyStephen Shaw PROPOSAL
Ivar B TollnerAustraliaOnyama Limba RENEWAL
Alejandro X ChuiUnited KingdomIvan Magalhaes UNQUALIFIED
Silvio Y VocelkaCanadaAmy Elsner NEW
Claire R MaletGermanyStephen Shaw UNQUALIFIED
Chavez G StockhamIndiaStephen Shaw NEW
Claire H MacleadArgentinaIoni Bowcher NEW
Rodrigues H MacleadArgentinaElwin Sharvill UNQUALIFIED
Maria F AlbaresUnited KingdomBernardo Dominic QUALIFIED
Darci B GauchoJapanElwin Sharvill NEW
Francesco O CaldareraGermanyAmy Elsner NEGOTIATION
Ricardo G WieserFranceAmy Elsner QUALIFIED
Juan Y TollnerUnited KingdomOnyama Limba RENEWAL
Nicolas V SlusarskiItalyAmy Elsner PROPOSAL
Aditya X FlosiJapanElwin Sharvill UNQUALIFIED
Maisha X PaprockiFranceAnna Fali RENEWAL
Claire U BologniaRussiaIvan Magalhaes NEGOTIATION
Mujtaba K DarakjyJapanAsiya Javayant NEW
Emily Y FollerIndiaElwin Sharvill RENEWAL
Mayumi J RoysterItalyIvan Magalhaes NEW
Jones O WieserGermanyElwin Sharvill NEGOTIATION
Ashley B AlbaresUnited KingdomOnyama Limba RENEWAL
Aika G IturbideCanadaStephen Shaw QUALIFIED
Claire J DarakjyIndiaAsiya Javayant QUALIFIED
Clifford C RutaSpainIoni Bowcher UNQUALIFIED
David Q InouyeUnited KingdomIoni Bowcher UNQUALIFIED
James A PaprockiAustraliaAmy Elsner QUALIFIED
Salvatore W TollnerAustraliaAmy Elsner NEW
Silvio I BowleyAustraliaBernardo Dominic RENEWAL
Jennifer B WhobreySpainBernardo Dominic PROPOSAL
Johnson Z ChuiUnited KingdomOnyama Limba PROPOSAL
Costa Z AlbaresIndiaAmy Elsner PROPOSAL
Morrow S GarufiItalyBernardo Dominic PROPOSAL
Mujtaba A VenereJapanIoni Bowcher QUALIFIED
Chavez I MarrierJapanIvan Magalhaes RENEWAL
Nicolas N SchemmerFranceElwin Sharvill NEGOTIATION
Kadeem D BologniaItalyStephen Shaw NEW
Tony N VocelkaArgentinaAnna Fali NEW
Mayumi P AmigonItalyAmy Elsner NEW
Julie F RoysterItalyBernardo Dominic PROPOSAL
Greenwood A FigeroaAustraliaAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Aika L FerenczAustraliaAnna Fali UNQUALIFIED
Cody T AmigonGermanyAsiya Javayant PROPOSAL
Tony G SaylorsArgentinaIvan Magalhaes NEW
Morrow J VenereFranceElwin Sharvill UNQUALIFIED
Izzy N ChuiArgentinaXuxue Feng NEGOTIATION
Faith D OstroskyAustraliaBernardo Dominic UNQUALIFIED
Julie B WieserGermanyAmy Elsner RENEWAL
Wickens Y OstroskyJapanBernardo Dominic PROPOSAL
Aika V OstroskyUnited KingdomOnyama Limba NEGOTIATION
Claire E RulapaughJapanIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro K AlbaresCanada2024-06-21Chanay, Jeffrey A Esq RENEWAL15Xuxue Feng
1001Alejandro R OldroydIndia2024-05-24Rousseaux, Michael Esq NEGOTIATION21Anna Fali
1002Salvatore B MorascaFrance2024-05-25Truhlar And Truhlar Attys UNQUALIFIED20Onyama Limba
1003Ivar H KuskoJapan2024-06-22Feltz Printing Service PROPOSAL37Onyama Limba
1004Johnson G BologniaJapan2024-06-17Rousseaux, Michael Esq NEGOTIATION72Xuxue Feng
1005Arvin U RimGermany2024-06-18Buckley Miller Wright RENEWAL86Anna Fali
1006Kadeem K DilliardItaly2024-06-12Feiner Bros QUALIFIED87Amy Elsner
1007Mayumi C StensethJapan2024-06-15Morlong Associates QUALIFIED56Amy Elsner
1008Morrow J MacleadRussia2024-06-22Dorl, James J Esq PROPOSAL59Elwin Sharvill
1009Jeanfrancois N IturbideUnited Kingdom2024-05-29Chanay, Jeffrey A Esq UNQUALIFIED15Anna Fali
1010Smith C AmigonSpain2024-06-14Printing Dimensions NEGOTIATION14Asiya Javayant
1011Stacey N BologniaIndia2024-06-10Feiner Bros NEGOTIATION95Xuxue Feng
1012Arvin K ButtGermany2024-06-14Printing Dimensions NEW87Asiya Javayant
1013Maisha F PerinJapan2024-05-27Rangoni Of Florence NEW50Anna Fali
1014Stacey R NickaJapan2024-05-26Morlong Associates NEW75Elwin Sharvill
1015Aika U OldroydItaly2024-06-08Rousseaux, Michael Esq QUALIFIED90Stephen Shaw
1016Cody S TollnerGermany2024-05-29King, Christopher A Esq NEGOTIATION36Ivan Magalhaes
1017Maisha D RulapaughItaly2024-06-05Morlong Associates PROPOSAL50Onyama Limba
1018Julie K RimRussia2024-05-31Chapman, Ross E Esq NEGOTIATION77Elwin Sharvill
1019Antonio N ChuiUnited Kingdom2024-06-14Morlong Associates QUALIFIED59Asiya Javayant
1020Alejandro V IturbideAustralia2024-06-18King, Christopher A Esq PROPOSAL73Onyama Limba
1021Maria W WhobreyArgentina2024-06-08Feiner Bros RENEWAL97Amy Elsner
1022Nicolas Y PerinGermany2024-06-20Chanay, Jeffrey A Esq UNQUALIFIED73Ivan Magalhaes
1023Aika P SlusarskiCanada2024-06-04Commercial Press NEW20Elwin Sharvill
1024Francesco O MacleadIndia2024-06-06Dorl, James J Esq PROPOSAL32Bernardo Dominic
1025Jeanfrancois D RulapaughFrance2024-06-07Chapman, Ross E Esq UNQUALIFIED4Amy Elsner
1026Francesco Z SchemmerIndia2024-06-12Printing Dimensions NEW36Xuxue Feng
1027Clifford O PoquetteFrance2024-06-13Rangoni Of Florence UNQUALIFIED61Ioni Bowcher
1028Sinclair N BowleyItaly2024-06-06King, Christopher A Esq NEGOTIATION62Xuxue Feng
1029Smith L WhobreyFrance2024-05-30Benton, John B Jr QUALIFIED75Anna Fali
1030Alejandro G TollnerGermany2024-06-18Buckley Miller Wright UNQUALIFIED5Elwin Sharvill
1031Aika Y SergiItaly2024-06-04Printing Dimensions QUALIFIED94Anna Fali
1032Julie O KolmetzJapan2024-05-24Benton, John B Jr NEW68Ivan Magalhaes
1033Juan K RulapaughUnited Kingdom2024-06-02Printing Dimensions NEGOTIATION62Stephen Shaw
1034Maria T WhobreyFrance2024-05-24Benton, John B Jr RENEWAL95Bernardo Dominic
1035Faith K TollnerCanada2024-05-27Chanay, Jeffrey A Esq RENEWAL0Elwin Sharvill
1036Murillo N RulapaughJapan2024-06-19Feltz Printing Service PROPOSAL42Amy Elsner
1037Jennifer Z BowleyBrazil2024-06-10Chemel, James L Cpa RENEWAL14Ioni Bowcher
1038Nicolas A SergiSpain2024-05-31Rousseaux, Michael Esq NEW59Ivan Magalhaes
1039Stacey M SlusarskiUnited Kingdom2024-06-06Feiner Bros NEGOTIATION23Asiya Javayant
1040Rodrigues D OldroydUnited Kingdom2024-06-01King, Christopher A Esq UNQUALIFIED99Anna Fali
1041Kadeem D ChuiJapan2024-06-17Printing Dimensions NEW76Ioni Bowcher
1042Munro Y MarrierGermany2024-06-11Morlong Associates NEW89Onyama Limba
1043Antonio G OstroskyUnited Kingdom2024-05-25Chapman, Ross E Esq PROPOSAL90Elwin Sharvill
1044Antonio A OldroydJapan2024-06-11Rousseaux, Michael Esq QUALIFIED55Stephen Shaw
1045Antonio I DarakjyUnited Kingdom2024-06-16Dorl, James J Esq QUALIFIED54Ivan Magalhaes
1046Kadeem P OldroydBrazil2024-06-09Truhlar And Truhlar Attys PROPOSAL58Ivan Magalhaes
1047Darci V IturbideAustralia2024-05-31Printing Dimensions RENEWAL86Ivan Magalhaes
1048Stacey N WhobreySpain2024-06-13Rangoni Of Florence NEW51Bernardo Dominic
1049Morrow Z NestleBrazil2024-06-14Morlong Associates QUALIFIED96Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Faith C OldroydRussiaAsiya Javayant UNQUALIFIED
Maisha P MaletIndiaAmy Elsner QUALIFIED
Aruna N AlbaresJapanXuxue Feng NEW
Deepesh N NickaRussiaAnna Fali RENEWAL
James Z RulapaughItalyIvan Magalhaes QUALIFIED
Julie Y VenereItalyIoni Bowcher QUALIFIED
Faith F StockhamIndiaStephen Shaw NEGOTIATION
Ricardo U PaprockiCanadaOnyama Limba UNQUALIFIED
Aika N WhobreyRussiaIoni Bowcher NEW
Costa Y NickaFranceIoni Bowcher UNQUALIFIED
Aika G SlusarskiFranceAnna Fali NEGOTIATION
Ivar G WhobreyArgentinaIoni Bowcher PROPOSAL
Maria F InouyeJapanAsiya Javayant QUALIFIED
Mayumi P CaldareraArgentinaAnna Fali NEW
Chavez P GauchoItalyIvan Magalhaes QUALIFIED
Alejandro H StockhamRussiaAnna Fali QUALIFIED
Jones E StockhamSpainStephen Shaw RENEWAL
Ashley C NickaJapanAnna Fali NEGOTIATION
Aditya Y VocelkaJapanXuxue Feng RENEWAL
Smith K FigeroaAustraliaAmy Elsner RENEWAL
Stacey T DarakjyJapanBernardo Dominic UNQUALIFIED
Sinclair K MacleadIndiaIvan Magalhaes NEGOTIATION
Cody R RimIndiaAmy Elsner RENEWAL
Wickens W VocelkaItalyStephen Shaw QUALIFIED
Leja N MorascaFranceXuxue Feng UNQUALIFIED
Kadeem I AlbaresItalyBernardo Dominic QUALIFIED
Darci Q BologniaItalyAsiya Javayant QUALIFIED
Smith D StockhamUnited KingdomOnyama Limba NEW
Misaki O SchemmerSpainAsiya Javayant RENEWAL
Octavia V DoeSpainIvan Magalhaes PROPOSAL
Claire C SergiAustraliaOnyama Limba UNQUALIFIED
Antonio F WhobreyRussiaAsiya Javayant QUALIFIED
Ashley K WieserBrazilOnyama Limba UNQUALIFIED
Cody G CampainJapanStephen Shaw QUALIFIED
James G MaletArgentinaElwin Sharvill NEGOTIATION
Morrow Y CampainCanadaAnna Fali RENEWAL
Silvio R KolmetzBrazilXuxue Feng QUALIFIED
James O BologniaBrazilStephen Shaw QUALIFIED
Stacey B IturbideItalyXuxue Feng NEW
Darci G BologniaItalyElwin Sharvill RENEWAL
Maria G DoeSpainAmy Elsner PROPOSAL
Greenwood W FollerAustraliaXuxue Feng RENEWAL
Leon T SergiJapanBernardo Dominic RENEWAL
Mujtaba N MaletFranceOnyama Limba PROPOSAL
Aika H StensethItalyBernardo Dominic UNQUALIFIED
Ricardo T CaldareraRussiaStephen Shaw RENEWAL
Maria B DilliardGermanyIoni Bowcher NEGOTIATION
Leon Q ShinkoCanadaIoni Bowcher PROPOSAL
Arvin H FollerCanadaXuxue Feng RENEWAL
Johnson D GarufiIndiaAmy Elsner RENEWAL
Frozen Columns
Name
Misaki H Wieser
Cody G Amigon
Misaki D Royster
Sinclair J Amigon
Silvio I Nestle
Chavez C Poquette
Rodrigues O Ferencz
Tony V Kolmetz
Darci I Vocelka
Leja F Bolognia
Nicolas A Malet
Tony Y Ruta
Kadeem K Waycott
Mujtaba N Doe
Costa W Rulapaugh
Antonio G Oldroyd
Faith N Bolognia
Claire K Stenseth
Ivar V Maclead
Ivar Z Wieser
Izzy P Maclead
Maisha Z Perin
Juan D Nestle
Faith H Foller
Nicolas T Ruta
Jeanfrancois F Bowley
Greenwood P Schemmer
Adams E Amigon
Tony O Doe
David D Saylors
Clifford G Ruta
Morrow W Chui
Julie C Kusko
Munro S Foller
Jefferson Z Foller
Juan R Nicka
Nicolas I Gillian
Claire M Rim
Jefferson E Caldarera
Stacey L Kolmetz
Kadeem N Garufi
Cody R Tollner
Ashley J Oldroyd
Jeanfrancois U Nestle
Kaitlin X Flosi
Rodrigues Q Ostrosky
Salvatore C Tollner
Smith S Whobrey
Mujtaba S Nestle
Costa F Chui
IdCountryDate
1000Australia2024-06-15
1001India2024-06-21
1002Japan2024-06-20
1003Italy2024-05-31
1004Japan2024-06-12
1005Canada2024-06-07
1006Germany2024-05-31
1007Australia2024-06-01
1008Canada2024-06-18
1009Canada2024-06-05
1010France2024-05-31
1011Italy2024-06-17
1012Russia2024-06-10
1013United Kingdom2024-06-21
1014Italy2024-05-24
1015Italy2024-06-17
1016Spain2024-06-04
1017India2024-05-30
1018India2024-06-12
1019Australia2024-06-04
1020India2024-05-31
1021Russia2024-06-11
1022Italy2024-06-16
1023Australia2024-06-17
1024Argentina2024-06-17
1025India2024-05-27
1026Spain2024-06-12
1027Canada2024-06-22
1028Spain2024-06-17
1029Spain2024-06-16
1030Argentina2024-06-17
1031Italy2024-06-16
1032India2024-06-10
1033Italy2024-05-30
1034France2024-06-04
1035Australia2024-05-30
1036United Kingdom2024-06-19
1037Canada2024-06-01
1038Australia2024-06-19
1039Australia2024-06-02
1040Brazil2024-06-19
1041Italy2024-05-31
1042Canada2024-06-07
1043Italy2024-06-06
1044Australia2024-05-28
1045Argentina2024-06-19
1046Spain2024-06-06
1047Germany2024-06-11
1048Canada2024-05-27
1049United Kingdom2024-06-14

On-Demand Data

NameIdCountryDate
Ivar K Caldarera1000Brazil2024-05-31
Smith Y Nicka1001Argentina2024-05-24
Kadeem G Morasca1002United Kingdom2024-06-03
Izzy O Doe1003Germany2024-06-21
Jeanfrancois N Bolognia1004Brazil2024-06-22
Mujtaba L Nestle1005Russia2024-05-24
Ivar A Campain1006Russia2024-06-05
Faith I Vocelka1007Japan2024-06-02
Smith U Kolmetz1008Japan2024-06-14
Kaitlin H Stenseth1009Argentina2024-06-01
Jennifer C Paprocki1010Japan2024-06-14
Smith G Darakjy1011Spain2024-06-04
Jeanfrancois L Butt1012United Kingdom2024-06-07
Jones M Paprocki1013Brazil2024-06-05
Maisha Q Garufi1014Japan2024-05-29
Johnson S Caudy1015Russia2024-06-18
Izzy L Rulapaugh1016France2024-06-12
Munro X Stockham1017Argentina2024-06-17
Kaitlin X Oldroyd1018Japan2024-06-17
Nicolas O Venere1019Argentina2024-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna V NickaRussiaAsiya Javayant NEW
Emily P InouyeAustraliaElwin Sharvill NEW
Faith X VenereFranceIvan Magalhaes NEW
Murillo O SchemmerFranceAsiya Javayant PROPOSAL
Morrow V OstroskySpainElwin Sharvill PROPOSAL
Ashley V ShinkoGermanyOnyama Limba NEGOTIATION
Alejandro E RulapaughCanadaAsiya Javayant UNQUALIFIED
Ashley F MaletArgentinaAsiya Javayant NEGOTIATION
Salvatore Q RimSpainOnyama Limba RENEWAL
Cody C CaldareraFranceAmy Elsner QUALIFIED
Tony W GlickUnited KingdomAmy Elsner NEGOTIATION
Emily J KuskoCanadaAmy Elsner QUALIFIED
Izzy Y CaudyIndiaStephen Shaw UNQUALIFIED
Munro M MaletUnited KingdomBernardo Dominic NEGOTIATION
Rodrigues H PerinCanadaElwin Sharvill RENEWAL
Greenwood V FerenczRussiaAsiya Javayant NEW
Jennifer U RimBrazilOnyama Limba UNQUALIFIED
Aditya S MaletGermanyXuxue Feng QUALIFIED
Julie K MaletItalyStephen Shaw PROPOSAL
Chavez S SaylorsJapanXuxue Feng NEW
Aditya K SchemmerArgentinaBernardo Dominic UNQUALIFIED
Emily Y PerinAustraliaOnyama Limba UNQUALIFIED
Jones U ButtGermanyAnna Fali NEW
Misaki P FigeroaAustraliaIvan Magalhaes NEGOTIATION
Johnson P KuskoArgentinaAsiya Javayant NEW
Nicolas I StensethGermanyElwin Sharvill RENEWAL
Munro I StensethFranceAmy Elsner RENEWAL
Claire C GillianJapanBernardo Dominic QUALIFIED
Murillo P TollnerRussiaAsiya Javayant NEGOTIATION
Darci B VocelkaCanadaAnna Fali NEW
Jones C SlusarskiIndiaAmy Elsner PROPOSAL
Claire K PoquetteJapanIoni Bowcher NEW
Chavez V RutaItalyAnna Fali NEW
Rodrigues C MorascaItalyAnna Fali UNQUALIFIED
David F NickaSpainAsiya Javayant NEGOTIATION
Rodrigues O StockhamBrazilIvan Magalhaes QUALIFIED
Cody M GillianCanadaBernardo Dominic NEW
Leon Q BologniaIndiaIoni Bowcher UNQUALIFIED
Morrow H VenereFranceXuxue Feng PROPOSAL
Aika X DoeUnited KingdomBernardo Dominic NEW

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