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
Tony G TollnerBrazilAnna Fali RENEWAL
Mayumi D StensethSpainAnna Fali PROPOSAL
Maisha C TollnerArgentinaAnna Fali RENEWAL
Izzy F FerenczJapanStephen Shaw NEW
Clifford M NickaBrazilAnna Fali UNQUALIFIED
Smith X BriddickSpainIoni Bowcher QUALIFIED
Jefferson R MaletGermanyBernardo Dominic NEW
Rodrigues G OldroydGermanyIoni Bowcher NEW
Wickens H BriddickBrazilAnna Fali PROPOSAL
Maisha F NestleUnited KingdomElwin Sharvill NEGOTIATION
Faith J SlusarskiGermanyStephen Shaw UNQUALIFIED
Johnson D CaudyBrazilAsiya Javayant PROPOSAL
Costa S StensethIndiaIvan Magalhaes RENEWAL
Chavez C BologniaCanadaStephen Shaw RENEWAL
Aika F MarrierGermanyIoni Bowcher UNQUALIFIED
Clifford H PoquetteFranceAnna Fali RENEWAL
Salvatore D FlosiIndiaOnyama Limba RENEWAL
Kaitlin Z ShinkoFranceBernardo Dominic NEW
Darci P GillianRussiaBernardo Dominic NEGOTIATION
Johnson D FollerUnited KingdomAsiya Javayant PROPOSAL
Octavia W OstroskyRussiaOnyama Limba RENEWAL
Johnson E SaylorsSpainAnna Fali RENEWAL
Chavez Q IturbideJapanAnna Fali RENEWAL
Cody X MacleadRussiaIvan Magalhaes UNQUALIFIED
Wickens T WieserFranceElwin Sharvill UNQUALIFIED
Adams E GarufiRussiaBernardo Dominic NEGOTIATION
Deepesh Z KuskoJapanIvan Magalhaes PROPOSAL
Munro T ShinkoSpainStephen Shaw RENEWAL
Chavez G WhobreySpainXuxue Feng UNQUALIFIED
Maisha F GauchoFranceIoni Bowcher PROPOSAL
Ivar C StensethRussiaStephen Shaw RENEWAL
Wickens Z BriddickItalyElwin Sharvill QUALIFIED
Deepesh V IturbideSpainOnyama Limba UNQUALIFIED
Mujtaba M MacleadFranceAsiya Javayant RENEWAL
Aika T StensethSpainOnyama Limba RENEWAL
Ivar B KuskoFranceOnyama Limba RENEWAL
Morrow Q CaldareraSpainAsiya Javayant QUALIFIED
David L RimBrazilXuxue Feng QUALIFIED
Octavia Z CaudyJapanAmy Elsner UNQUALIFIED
Smith K FerenczIndiaXuxue Feng NEGOTIATION
Ivar X WhobreyIndiaXuxue Feng QUALIFIED
Stacey D PoquetteBrazilIvan Magalhaes QUALIFIED
Darci M InouyeArgentinaAnna Fali PROPOSAL
Leon A GlickSpainXuxue Feng UNQUALIFIED
Faith W GlickRussiaOnyama Limba NEW
Leja B RutaArgentinaAmy Elsner QUALIFIED
Kaitlin Y CaldareraUnited KingdomIvan Magalhaes UNQUALIFIED
Morrow N VocelkaItalyAsiya Javayant UNQUALIFIED
Mujtaba N BowleyCanadaAmy Elsner NEW
Munro G BowleyAustraliaIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
David G MacleadItalyAnna Fali UNQUALIFIED
Stacey S ChuiSpainElwin Sharvill PROPOSAL
Alejandro D RimBrazilXuxue Feng UNQUALIFIED
Nicolas S DilliardAustraliaOnyama Limba NEW
Nicolas F OstroskyCanadaBernardo Dominic QUALIFIED
Francesco Z CampainJapanAnna Fali QUALIFIED
Misaki I DarakjyIndiaIoni Bowcher NEW
Antonio Y SergiRussiaIoni Bowcher PROPOSAL
Leja B BowleyGermanyIoni Bowcher NEW
Leja M BriddickCanadaElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas L SchemmerAustralia2024-05-29Chapman, Ross E Esq NEW21Amy Elsner
1001Leon U DilliardSpain2024-06-23Rousseaux, Michael Esq NEGOTIATION77Xuxue Feng
1002Morrow Q BriddickIndia2024-06-21Chemel, James L Cpa NEW85Amy Elsner
1003Munro M FlosiAustralia2024-06-01Chemel, James L Cpa RENEWAL53Bernardo Dominic
1004Julie J StensethJapan2024-06-08Rousseaux, Michael Esq UNQUALIFIED84Ioni Bowcher
1005Clifford X RimCanada2024-06-05Morlong Associates RENEWAL42Xuxue Feng
1006Clifford D StensethJapan2024-06-21Rousseaux, Michael Esq NEW65Amy Elsner
1007Maisha I GlickSpain2024-06-20Chemel, James L Cpa NEGOTIATION54Bernardo Dominic
1008Smith D GauchoCanada2024-06-15Buckley Miller Wright UNQUALIFIED89Onyama Limba
1009Johnson J FerenczIndia2024-06-08Morlong Associates PROPOSAL64Ivan Magalhaes
1010Costa Z SlusarskiAustralia2024-06-03Chanay, Jeffrey A Esq PROPOSAL76Amy Elsner
1011Aditya L VocelkaJapan2024-06-08Dorl, James J Esq NEGOTIATION77Elwin Sharvill
1012Smith B GlickBrazil2024-06-21King, Christopher A Esq NEGOTIATION19Stephen Shaw
1013Salvatore A RimItaly2024-06-13Feiner Bros QUALIFIED4Bernardo Dominic
1014Aika W BowleySpain2024-06-18Feltz Printing Service PROPOSAL18Ioni Bowcher
1015Claire C GauchoSpain2024-06-12Dorl, James J Esq RENEWAL21Xuxue Feng
1016Clifford W FlosiItaly2024-06-08Morlong Associates NEGOTIATION74Ioni Bowcher
1017Clifford A RutaJapan2024-06-22Dorl, James J Esq NEGOTIATION6Anna Fali
1018Leon N DoeUnited Kingdom2024-06-18Truhlar And Truhlar Attys QUALIFIED25Asiya Javayant
1019Costa Z DilliardRussia2024-06-01Feltz Printing Service NEGOTIATION26Ivan Magalhaes
1020James W PerinFrance2024-06-04Printing Dimensions NEW83Asiya Javayant
1021Isabel J TollnerFrance2024-06-14Chanay, Jeffrey A Esq NEW79Stephen Shaw
1022Silvio I DilliardBrazil2024-06-15Truhlar And Truhlar Attys UNQUALIFIED65Onyama Limba
1023Leon V CampainBrazil2024-05-30Feltz Printing Service PROPOSAL59Ioni Bowcher
1024Ricardo W FerenczJapan2024-06-12Printing Dimensions UNQUALIFIED27Ioni Bowcher
1025Ashley L PaprockiAustralia2024-06-10Dorl, James J Esq QUALIFIED30Ioni Bowcher
1026Nicolas R IturbideGermany2024-05-27Dorl, James J Esq RENEWAL90Amy Elsner
1027Greenwood J ShinkoAustralia2024-06-11Morlong Associates RENEWAL40Anna Fali
1028Aika X BowleyJapan2024-06-14Rangoni Of Florence PROPOSAL35Onyama Limba
1029Tony B DarakjyAustralia2024-06-16Rangoni Of Florence PROPOSAL93Xuxue Feng
1030Salvatore C PerinItaly2024-06-24Benton, John B Jr RENEWAL47Onyama Limba
1031Ashley C MorascaUnited Kingdom2024-06-14Chanay, Jeffrey A Esq UNQUALIFIED25Amy Elsner
1032Smith M IturbideJapan2024-06-14Printing Dimensions UNQUALIFIED9Onyama Limba
1033Sinclair K RulapaughGermany2024-06-17Chemel, James L Cpa QUALIFIED79Ivan Magalhaes
1034Salvatore T WhobreyGermany2024-06-14Chanay, Jeffrey A Esq RENEWAL93Asiya Javayant
1035Juan V InouyeRussia2024-06-17Rousseaux, Michael Esq UNQUALIFIED1Asiya Javayant
1036Chavez M VocelkaRussia2024-06-01Feiner Bros NEW1Amy Elsner
1037Maisha P RimAustralia2024-06-22Rousseaux, Michael Esq NEGOTIATION54Elwin Sharvill
1038Francesco F GarufiBrazil2024-06-01Chapman, Ross E Esq UNQUALIFIED19Xuxue Feng
1039Johnson L NestleArgentina2024-05-28Chemel, James L Cpa QUALIFIED0Elwin Sharvill
1040Cody J DoeJapan2024-06-05Benton, John B Jr PROPOSAL91Xuxue Feng
1041Misaki I RutaRussia2024-06-01Chemel, James L Cpa UNQUALIFIED65Bernardo Dominic
1042Munro C AmigonAustralia2024-06-10Truhlar And Truhlar Attys NEGOTIATION92Asiya Javayant
1043Francesco K BologniaIndia2024-06-01Buckley Miller Wright NEGOTIATION66Onyama Limba
1044Morrow Q FollerCanada2024-05-28Truhlar And Truhlar Attys RENEWAL69Stephen Shaw
1045Aruna S FlosiJapan2024-06-03Truhlar And Truhlar Attys QUALIFIED19Anna Fali
1046Ashley O FlosiItaly2024-06-14Feltz Printing Service PROPOSAL89Stephen Shaw
1047Cody S FigeroaAustralia2024-06-24Truhlar And Truhlar Attys QUALIFIED81Ioni Bowcher
1048Salvatore N CaldareraSpain2024-06-17Commercial Press NEGOTIATION70Ioni Bowcher
1049Octavia D GarufiGermany2024-06-03Benton, John B Jr NEGOTIATION42Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Silvio Y StockhamItalyStephen Shaw QUALIFIED
Isabel Q StockhamGermanyIoni Bowcher NEGOTIATION
Faith A NickaUnited KingdomAsiya Javayant NEW
Maria O PoquetteArgentinaAnna Fali NEW
Murillo S KolmetzItalyBernardo Dominic NEGOTIATION
Murillo M AmigonFranceStephen Shaw NEW
Jennifer W MorascaFranceAmy Elsner NEW
Costa Z VenereUnited KingdomOnyama Limba NEW
Aditya L StensethRussiaAmy Elsner PROPOSAL
Maria A MaletArgentinaElwin Sharvill NEGOTIATION
Isabel Q WieserJapanAmy Elsner PROPOSAL
Rodrigues Z ButtAustraliaOnyama Limba QUALIFIED
Francesco H GarufiCanadaBernardo Dominic RENEWAL
Izzy T ButtIndiaAsiya Javayant NEGOTIATION
Claire V InouyeSpainAnna Fali QUALIFIED
Jennifer J ChuiCanadaIoni Bowcher PROPOSAL
Rodrigues L SlusarskiCanadaStephen Shaw NEW
Morrow O WhobreyArgentinaIvan Magalhaes UNQUALIFIED
Jones S BowleyRussiaXuxue Feng UNQUALIFIED
Ivar I DilliardIndiaXuxue Feng NEW
Aruna M DilliardArgentinaOnyama Limba RENEWAL
Cody L DoeGermanyElwin Sharvill NEW
Aditya H CaudyCanadaIoni Bowcher QUALIFIED
Clifford X PoquetteArgentinaElwin Sharvill NEW
Emily R StensethJapanIoni Bowcher QUALIFIED
Maisha P BologniaRussiaIvan Magalhaes NEGOTIATION
Jones B CaudyIndiaElwin Sharvill PROPOSAL
Adams A AlbaresUnited KingdomAmy Elsner RENEWAL
Morrow E WhobreyRussiaStephen Shaw NEW
Adams E AlbaresCanadaIoni Bowcher QUALIFIED
Greenwood I PoquetteGermanyXuxue Feng NEGOTIATION
Tony W WaycottAustraliaIoni Bowcher NEGOTIATION
Aditya P CaldareraSpainBernardo Dominic RENEWAL
Smith Z StockhamGermanyIoni Bowcher PROPOSAL
Maisha C BologniaIndiaOnyama Limba RENEWAL
Aruna M FerenczArgentinaAmy Elsner NEW
Murillo F BowleyGermanyAnna Fali UNQUALIFIED
Octavia R DarakjyAustraliaIoni Bowcher PROPOSAL
Juan U KuskoUnited KingdomElwin Sharvill UNQUALIFIED
Ivar A MorascaSpainXuxue Feng QUALIFIED
Maria M KolmetzArgentinaXuxue Feng NEW
Murillo J BowleyFranceAnna Fali PROPOSAL
Antonio R ShinkoArgentinaAmy Elsner NEW
Juan V OstroskyUnited KingdomXuxue Feng NEGOTIATION
Cody O KolmetzUnited KingdomXuxue Feng UNQUALIFIED
Nicolas K NestleGermanyBernardo Dominic NEGOTIATION
Jefferson J RoysterJapanXuxue Feng PROPOSAL
Morrow Y GlickAustraliaAmy Elsner NEW
Aika J WieserAustraliaOnyama Limba NEGOTIATION
Mujtaba H MacleadBrazilIvan Magalhaes QUALIFIED
Frozen Columns
Name
Alejandro Q Flosi
Clifford X Iturbide
Munro Q Albares
Izzy R Ferencz
Aditya F Ostrosky
Ashley O Caldarera
Morrow N Malet
Octavia V Tollner
Cody J Dilliard
Morrow K Gillian
Ricardo R Poquette
Stacey G Glick
Tony W Paprocki
Jefferson T Vocelka
Kadeem V Malet
Ashley G Butt
Nicolas D Doe
Kadeem S Caudy
Antonio N Ostrosky
Ricardo U Foller
Greenwood G Chui
Izzy H Venere
Faith R Vocelka
Wickens F Kusko
David K Flosi
Tony E Rim
Mayumi U Malet
Misaki N Darakjy
Johnson P Bolognia
Misaki B Flosi
Munro G Caudy
Juan B Caudy
Isabel J Caudy
Rodrigues U Poquette
Munro Y Amigon
Jennifer X Marrier
Smith X Rulapaugh
Mujtaba S Caldarera
Maisha W Butt
Nicolas O Maclead
Greenwood F Butt
Tony E Amigon
Julie S Malet
Maria R Rim
Mayumi Z Kusko
Jennifer Z Dilliard
Antonio E Nicka
Leon F Oldroyd
Faith S Butt
Chavez R Butt
IdCountryDate
1000Spain2024-06-10
1001France2024-06-11
1002Japan2024-06-13
1003India2024-06-13
1004Germany2024-06-21
1005Canada2024-05-27
1006Germany2024-05-29
1007United Kingdom2024-06-16
1008France2024-05-29
1009Spain2024-06-20
1010Russia2024-06-10
1011Italy2024-06-11
1012Australia2024-06-10
1013France2024-05-30
1014Russia2024-05-30
1015India2024-05-28
1016Argentina2024-06-02
1017France2024-06-05
1018Canada2024-06-03
1019Argentina2024-05-30
1020Brazil2024-06-01
1021United Kingdom2024-05-26
1022Brazil2024-06-23
1023France2024-05-28
1024Canada2024-06-14
1025Brazil2024-05-29
1026France2024-06-19
1027France2024-05-29
1028Japan2024-06-04
1029Germany2024-05-27
1030Australia2024-06-03
1031India2024-06-01
1032India2024-06-12
1033United Kingdom2024-05-30
1034Japan2024-06-09
1035Argentina2024-06-03
1036Canada2024-06-09
1037Brazil2024-05-31
1038Japan2024-06-02
1039Italy2024-06-05
1040Brazil2024-06-11
1041United Kingdom2024-05-26
1042India2024-06-21
1043Canada2024-06-06
1044Russia2024-06-08
1045Spain2024-05-31
1046Russia2024-06-24
1047Brazil2024-05-27
1048Russia2024-06-22
1049Brazil2024-06-10

On-Demand Data

NameIdCountryDate
Smith B Vocelka1000India2024-06-03
Johnson Z Stockham1001Australia2024-06-02
Salvatore K Stockham1002Argentina2024-06-08
Nicolas E Ostrosky1003India2024-06-24
Deepesh W Royster1004Canada2024-05-31
Jennifer O Oldroyd1005Australia2024-06-03
Silvio E Doe1006Germany2024-05-27
Ricardo S Stenseth1007Spain2024-05-29
Kadeem N Campain1008France2024-05-27
Maria H Malet1009Germany2024-06-07
Ivar W Bolognia1010Japan2024-06-13
Tony P Bowley1011France2024-05-29
Jennifer V Waycott1012Italy2024-06-13
Wickens B Dilliard1013Argentina2024-05-26
Aruna Z Ostrosky1014Canada2024-05-31
Tony F Bolognia1015Spain2024-05-26
Deepesh B Saylors1016France2024-06-12
Costa K Glick1017Italy2024-06-23
Silvio O Rim1018Argentina2024-06-05
Aika F Perin1019Brazil2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley L SaylorsBrazilIvan Magalhaes QUALIFIED
Jones J OldroydRussiaBernardo Dominic PROPOSAL
Wickens J StockhamCanadaAsiya Javayant RENEWAL
Wickens Z AlbaresJapanAmy Elsner RENEWAL
Antonio L IturbideJapanAmy Elsner NEW
Faith F GillianUnited KingdomAnna Fali NEW
Aruna S RutaCanadaOnyama Limba UNQUALIFIED
Salvatore O AlbaresJapanIoni Bowcher NEW
Maria F MaletBrazilIoni Bowcher RENEWAL
Tony F GlickIndiaOnyama Limba PROPOSAL
Faith C RulapaughCanadaIoni Bowcher PROPOSAL
Antonio X MacleadCanadaOnyama Limba RENEWAL
Alejandro H SergiBrazilIoni Bowcher RENEWAL
James F SlusarskiCanadaIvan Magalhaes NEW
Cody X BriddickBrazilXuxue Feng NEW
Faith H BowleyUnited KingdomElwin Sharvill RENEWAL
Arvin H FigeroaIndiaIoni Bowcher UNQUALIFIED
Mayumi G BologniaBrazilElwin Sharvill NEGOTIATION
Aruna P AlbaresCanadaElwin Sharvill QUALIFIED
Octavia J DilliardAustraliaAnna Fali PROPOSAL
Stacey I MaletRussiaAmy Elsner PROPOSAL
Salvatore C VocelkaArgentinaIoni Bowcher UNQUALIFIED
David Y GarufiJapanAnna Fali NEW
Deepesh A MorascaRussiaAmy Elsner RENEWAL
Emily R BowleyCanadaAsiya Javayant QUALIFIED
James M RulapaughIndiaBernardo Dominic NEW
Kaitlin P MacleadAustraliaIoni Bowcher NEW
Costa B KuskoFranceStephen Shaw PROPOSAL
Claire Z VenereUnited KingdomOnyama Limba UNQUALIFIED
Rodrigues U GauchoIndiaOnyama Limba UNQUALIFIED
Clifford B WieserBrazilAmy Elsner RENEWAL
Wickens D MaletItalyAnna Fali NEGOTIATION
Maria F DarakjyGermanyIvan Magalhaes RENEWAL
Faith E DilliardArgentinaIoni Bowcher QUALIFIED
Aditya G RulapaughRussiaOnyama Limba PROPOSAL
Mujtaba C WaycottRussiaBernardo Dominic UNQUALIFIED
Jefferson L FerenczGermanyXuxue Feng NEGOTIATION
Ashley S InouyeItalyStephen Shaw UNQUALIFIED
Rodrigues C ButtCanadaAsiya Javayant RENEWAL
Leja J SlusarskiGermanyBernardo Dominic 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>