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
Misaki H InouyeAustraliaBernardo Dominic NEW
James O StockhamRussiaAnna Fali NEGOTIATION
Chavez Q PoquetteBrazilAsiya Javayant UNQUALIFIED
Jennifer O BowleyAustraliaOnyama Limba NEW
Adams E OstroskyItalyIvan Magalhaes NEW
Rodrigues N SchemmerJapanXuxue Feng UNQUALIFIED
Smith H NestleBrazilBernardo Dominic QUALIFIED
Maria G BriddickCanadaIvan Magalhaes UNQUALIFIED
Jeanfrancois R MaletFranceIoni Bowcher UNQUALIFIED
Isabel V OstroskySpainAmy Elsner RENEWAL
Chavez M RimArgentinaIoni Bowcher NEGOTIATION
Claire Y DarakjySpainXuxue Feng NEW
Aruna J SergiBrazilXuxue Feng NEW
Clifford B RimRussiaBernardo Dominic NEGOTIATION
Izzy P FerenczCanadaIvan Magalhaes NEGOTIATION
Nicolas Y DarakjyGermanyIoni Bowcher PROPOSAL
James Z OldroydSpainXuxue Feng QUALIFIED
Chavez L PaprockiAustraliaAmy Elsner NEGOTIATION
Antonio Y GauchoIndiaStephen Shaw NEGOTIATION
Mayumi B CampainItalyAsiya Javayant QUALIFIED
David L OstroskyJapanIoni Bowcher NEGOTIATION
Aruna G SergiUnited KingdomIoni Bowcher RENEWAL
Emily X PaprockiJapanAmy Elsner RENEWAL
Ivar D FlosiSpainAsiya Javayant RENEWAL
Aruna T KuskoFranceOnyama Limba NEW
Aruna O VenereBrazilAsiya Javayant QUALIFIED
Maisha F TollnerJapanBernardo Dominic QUALIFIED
Maisha H BowleyItalyStephen Shaw UNQUALIFIED
Smith P FlosiJapanAmy Elsner RENEWAL
Darci L CaldareraRussiaStephen Shaw QUALIFIED
Chavez I KolmetzAustraliaOnyama Limba NEW
Jones T MarrierGermanyAsiya Javayant NEW
Nicolas V SergiRussiaStephen Shaw NEW
Salvatore G ButtIndiaIoni Bowcher UNQUALIFIED
Arvin Q RoysterRussiaXuxue Feng NEW
Munro P DarakjyGermanyBernardo Dominic PROPOSAL
Arvin H NestleArgentinaIvan Magalhaes NEW
Arvin F GillianIndiaAsiya Javayant QUALIFIED
Stacey A SchemmerCanadaStephen Shaw UNQUALIFIED
Kaitlin X NestleGermanyOnyama Limba QUALIFIED
Costa I SlusarskiBrazilStephen Shaw PROPOSAL
Antonio O DoeGermanyIvan Magalhaes NEW
Mayumi I IturbideAustraliaOnyama Limba RENEWAL
Silvio G StockhamJapanAmy Elsner QUALIFIED
Juan F AmigonSpainIvan Magalhaes RENEWAL
Wickens A MarrierIndiaBernardo Dominic QUALIFIED
Claire U KolmetzAustraliaStephen Shaw NEGOTIATION
Julie S FollerJapanAnna Fali PROPOSAL
David E CaldareraRussiaElwin Sharvill UNQUALIFIED
Greenwood U VocelkaIndiaIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jones O NestleArgentinaIvan Magalhaes PROPOSAL
Emily V CaudyAustraliaStephen Shaw NEGOTIATION
Smith T MaletRussiaAnna Fali PROPOSAL
Mujtaba D VenereArgentinaStephen Shaw PROPOSAL
Rodrigues Y OstroskyCanadaAsiya Javayant NEW
Salvatore K FerenczArgentinaIvan Magalhaes QUALIFIED
Emily X BowleyFranceIvan Magalhaes NEW
Jefferson I NestleIndiaAmy Elsner NEW
Maisha Y SergiSpainElwin Sharvill QUALIFIED
Wickens E MarrierUnited KingdomAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia U InouyeFrance2024-05-27Printing Dimensions NEW26Elwin Sharvill
1001Sinclair M MacleadRussia2024-06-09Rangoni Of Florence PROPOSAL10Anna Fali
1002Ivar X OstroskyIndia2024-05-26Feltz Printing Service NEGOTIATION35Xuxue Feng
1003Maria D CaldareraUnited Kingdom2024-06-03King, Christopher A Esq PROPOSAL60Elwin Sharvill
1004Smith P PerinItaly2024-06-03Printing Dimensions NEGOTIATION57Onyama Limba
1005Juan F NickaUnited Kingdom2024-06-09Feiner Bros UNQUALIFIED79Onyama Limba
1006Silvio Y PoquetteBrazil2024-05-15Feiner Bros NEGOTIATION6Asiya Javayant
1007Aditya Z AlbaresBrazil2024-06-12Rangoni Of Florence RENEWAL53Amy Elsner
1008David W BowleyGermany2024-06-02Benton, John B Jr QUALIFIED66Stephen Shaw
1009Tony P GillianSpain2024-05-16Printing Dimensions NEGOTIATION72Onyama Limba
1010James F BriddickUnited Kingdom2024-05-24King, Christopher A Esq NEGOTIATION55Xuxue Feng
1011Claire O CaudyUnited Kingdom2024-05-17Morlong Associates NEW53Bernardo Dominic
1012Chavez D ButtGermany2024-05-26Printing Dimensions PROPOSAL94Asiya Javayant
1013Ricardo B InouyeJapan2024-05-30Chemel, James L Cpa RENEWAL60Asiya Javayant
1014Sinclair A SchemmerCanada2024-05-20Dorl, James J Esq RENEWAL96Amy Elsner
1015Mayumi Z PaprockiFrance2024-05-21Morlong Associates UNQUALIFIED16Xuxue Feng
1016Leon O BriddickCanada2024-05-15Morlong Associates NEW91Ivan Magalhaes
1017Nicolas Y TollnerSpain2024-06-12Commercial Press PROPOSAL78Anna Fali
1018Maria O RoysterGermany2024-06-02Feiner Bros NEW96Ioni Bowcher
1019Munro B MorascaGermany2024-06-08Feltz Printing Service NEGOTIATION55Ivan Magalhaes
1020Arvin K ChuiAustralia2024-05-27Feltz Printing Service NEGOTIATION26Ivan Magalhaes
1021Johnson B SchemmerBrazil2024-05-19King, Christopher A Esq UNQUALIFIED25Xuxue Feng
1022Alejandro B RimCanada2024-05-16Rangoni Of Florence RENEWAL56Asiya Javayant
1023Smith B KolmetzIndia2024-05-21Morlong Associates UNQUALIFIED44Amy Elsner
1024Leon O WieserSpain2024-06-05Commercial Press PROPOSAL71Stephen Shaw
1025Antonio H CaudyBrazil2024-06-08Chemel, James L Cpa UNQUALIFIED89Amy Elsner
1026Jefferson G BriddickIndia2024-05-24Chanay, Jeffrey A Esq NEW92Elwin Sharvill
1027Francesco V CaudyCanada2024-05-31Benton, John B Jr NEW83Ioni Bowcher
1028Chavez N SergiAustralia2024-05-25Benton, John B Jr UNQUALIFIED32Bernardo Dominic
1029Costa K WaycottUnited Kingdom2024-06-11Chapman, Ross E Esq QUALIFIED75Elwin Sharvill
1030Francesco N OstroskyCanada2024-06-07Printing Dimensions QUALIFIED54Amy Elsner
1031Ricardo S RoysterJapan2024-06-13Printing Dimensions NEW19Anna Fali
1032Jones A FigeroaBrazil2024-06-07King, Christopher A Esq UNQUALIFIED76Anna Fali
1033Silvio D BriddickAustralia2024-06-13Commercial Press QUALIFIED30Amy Elsner
1034Tony R VenereBrazil2024-05-19Truhlar And Truhlar Attys QUALIFIED56Anna Fali
1035Arvin B OldroydUnited Kingdom2024-05-30Commercial Press PROPOSAL17Ivan Magalhaes
1036Mujtaba F CaldareraJapan2024-06-13Printing Dimensions UNQUALIFIED45Stephen Shaw
1037Jennifer X FollerRussia2024-06-01Dorl, James J Esq PROPOSAL29Elwin Sharvill
1038Kadeem E SchemmerSpain2024-05-24Morlong Associates UNQUALIFIED79Elwin Sharvill
1039Julie Q GillianAustralia2024-05-19Chanay, Jeffrey A Esq UNQUALIFIED34Amy Elsner
1040Aika N IturbideArgentina2024-05-19Feltz Printing Service QUALIFIED44Ioni Bowcher
1041Faith L BowleyItaly2024-05-25Truhlar And Truhlar Attys UNQUALIFIED59Bernardo Dominic
1042Misaki I InouyeItaly2024-06-06Morlong Associates NEGOTIATION85Elwin Sharvill
1043Jones J AlbaresItaly2024-06-01Benton, John B Jr NEW26Elwin Sharvill
1044Kadeem N RoysterJapan2024-05-25Rousseaux, Michael Esq PROPOSAL35Bernardo Dominic
1045Kadeem J CaldareraRussia2024-06-11Morlong Associates PROPOSAL50Amy Elsner
1046Silvio W ButtFrance2024-05-30Feltz Printing Service QUALIFIED43Bernardo Dominic
1047Kaitlin O DoeSpain2024-05-31Truhlar And Truhlar Attys NEGOTIATION52Anna Fali
1048Kaitlin E SlusarskiFrance2024-06-02Printing Dimensions NEGOTIATION90Bernardo Dominic
1049Jones P CaudyBrazil2024-06-11Rousseaux, Michael Esq NEW9Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Maria V MaletBrazilAmy Elsner UNQUALIFIED
Francesco S RutaGermanyStephen Shaw UNQUALIFIED
Rodrigues B CaudyJapanOnyama Limba NEW
Morrow Z PerinSpainAnna Fali NEGOTIATION
Clifford P WieserAustraliaBernardo Dominic NEW
Emily R VenereBrazilIoni Bowcher RENEWAL
James N StockhamItalyBernardo Dominic RENEWAL
Mayumi W BriddickFranceAsiya Javayant QUALIFIED
Adams C WieserRussiaXuxue Feng UNQUALIFIED
Juan B NestleArgentinaAnna Fali UNQUALIFIED
Jeanfrancois H PoquetteCanadaOnyama Limba UNQUALIFIED
Kaitlin S NickaRussiaAmy Elsner PROPOSAL
Misaki Z FigeroaRussiaXuxue Feng NEW
Sinclair Y PoquetteBrazilAnna Fali NEW
Arvin B BologniaFranceStephen Shaw QUALIFIED
Maria S GauchoJapanStephen Shaw QUALIFIED
Tony W BriddickSpainStephen Shaw PROPOSAL
Isabel X AlbaresIndiaAmy Elsner NEW
Mujtaba D FlosiArgentinaOnyama Limba RENEWAL
Deepesh P WieserArgentinaXuxue Feng QUALIFIED
Jeanfrancois J MacleadArgentinaStephen Shaw RENEWAL
Mujtaba U WhobreyCanadaAmy Elsner NEW
Maria A GauchoRussiaAmy Elsner QUALIFIED
Faith F DilliardUnited KingdomAmy Elsner RENEWAL
Emily K InouyeFranceIoni Bowcher NEW
Murillo Q PerinBrazilXuxue Feng PROPOSAL
James H BowleyIndiaXuxue Feng QUALIFIED
Darci F PoquetteIndiaIvan Magalhaes NEW
Aruna L AmigonItalyAsiya Javayant NEGOTIATION
Murillo S MarrierFranceAnna Fali NEGOTIATION
Jennifer J AmigonArgentinaAnna Fali NEGOTIATION
Greenwood H RoysterArgentinaAsiya Javayant NEW
Jeanfrancois W SchemmerBrazilBernardo Dominic NEGOTIATION
Mayumi H FerenczGermanyOnyama Limba NEGOTIATION
Mayumi L GillianUnited KingdomAmy Elsner NEGOTIATION
Chavez K OstroskyJapanOnyama Limba PROPOSAL
Maria X CaudySpainOnyama Limba QUALIFIED
Adams R WaycottIndiaStephen Shaw NEW
Aruna W DilliardFranceBernardo Dominic PROPOSAL
Rodrigues M DoeGermanyAnna Fali NEGOTIATION
Mayumi H FigeroaGermanyAsiya Javayant NEGOTIATION
Julie I ShinkoBrazilIvan Magalhaes UNQUALIFIED
Ricardo Z PoquetteFranceIvan Magalhaes NEGOTIATION
Francesco I SergiBrazilIvan Magalhaes QUALIFIED
Ivar Z FerenczAustraliaXuxue Feng UNQUALIFIED
Octavia L GlickItalyOnyama Limba PROPOSAL
Maria M BologniaJapanStephen Shaw NEGOTIATION
Maria N VenereItalyAmy Elsner RENEWAL
Deepesh Z CaldareraSpainXuxue Feng RENEWAL
Octavia Y PaprockiAustraliaAmy Elsner UNQUALIFIED
Frozen Columns
Name
Aditya M Rim
Maria Q Caldarera
Johnson G Oldroyd
Stacey A Inouye
Emily J Inouye
Emily K Foller
Izzy W Ferencz
Arvin K Morasca
Jeanfrancois H Sergi
Aika Q Paprocki
Deepesh X Darakjy
Clifford M Iturbide
Izzy T Nicka
Johnson Z Stenseth
Ivar I Waycott
Greenwood U Butt
Arvin P Figeroa
Wickens R Chui
Nicolas Q Gillian
Julie R Vocelka
Adams E Slusarski
Maria N Venere
Ivar A Kolmetz
Chavez I Wieser
Jefferson S Amigon
Chavez I Schemmer
Costa U Stockham
Octavia J Flosi
Mujtaba F Rim
Jones U Gaucho
Ivar P Nestle
James I Poquette
Faith N Ferencz
James C Schemmer
David E Bolognia
Arvin A Whobrey
Stacey C Darakjy
Antonio X Venere
Julie O Ostrosky
Leja C Doe
Maisha P Morasca
Izzy J Rim
Antonio Q Wieser
Julie D Ruta
Murillo E Poquette
Leon K Royster
Cody F Dilliard
Jones O Nestle
Adams L Amigon
Francesco I Venere
IdCountryDate
1000Brazil2024-05-25
1001Russia2024-06-01
1002Germany2024-05-21
1003Japan2024-05-16
1004India2024-06-04
1005Argentina2024-05-24
1006Japan2024-05-18
1007Germany2024-06-05
1008India2024-06-05
1009France2024-06-10
1010United Kingdom2024-05-31
1011Germany2024-05-27
1012Italy2024-06-07
1013United Kingdom2024-05-31
1014Brazil2024-05-18
1015Australia2024-05-15
1016Japan2024-06-06
1017Australia2024-05-26
1018Italy2024-06-01
1019Australia2024-06-08
1020Argentina2024-05-15
1021United Kingdom2024-05-18
1022France2024-05-15
1023Japan2024-06-03
1024Italy2024-05-16
1025Spain2024-05-26
1026Japan2024-06-02
1027Spain2024-06-06
1028Australia2024-06-13
1029Italy2024-06-04
1030Germany2024-06-05
1031Germany2024-05-15
1032Russia2024-06-11
1033India2024-05-31
1034India2024-05-19
1035Italy2024-06-01
1036Australia2024-06-12
1037Argentina2024-06-11
1038Russia2024-05-23
1039Canada2024-05-18
1040Canada2024-06-06
1041Italy2024-06-09
1042Brazil2024-05-20
1043Russia2024-05-29
1044Spain2024-05-22
1045Brazil2024-05-26
1046Spain2024-06-12
1047Spain2024-05-30
1048India2024-05-17
1049Canada2024-05-21

On-Demand Data

NameIdCountryDate
Costa N Schemmer1000Canada2024-06-06
Leon D Stockham1001United Kingdom2024-05-26
James R Oldroyd1002India2024-05-28
Ivar I Bolognia1003Australia2024-06-11
Sinclair Y Vocelka1004Spain2024-06-03
Ricardo A Caldarera1005France2024-06-13
Jeanfrancois P Garufi1006Spain2024-05-17
David N Poquette1007Argentina2024-05-18
Chavez G Gaucho1008Spain2024-06-05
Silvio I Poquette1009United Kingdom2024-06-13
Arvin D Malet1010Argentina2024-06-06
Chavez V Whobrey1011France2024-05-28
Greenwood T Royster1012India2024-05-29
Mayumi Y Figeroa1013Russia2024-05-21
Darci Z Bowley1014Canada2024-05-31
Arvin I Amigon1015Italy2024-05-24
Misaki D Ferencz1016Australia2024-05-28
Murillo U Malet1017Spain2024-05-27
Silvio S Dilliard1018Russia2024-05-25
Ricardo C Ferencz1019Japan2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo H RoysterBrazilIoni Bowcher PROPOSAL
Julie U RulapaughItalyBernardo Dominic UNQUALIFIED
Stacey M ChuiIndiaAmy Elsner QUALIFIED
Julie B AlbaresRussiaAmy Elsner NEGOTIATION
Jefferson K OstroskyCanadaXuxue Feng RENEWAL
Aika G FollerAustraliaBernardo Dominic UNQUALIFIED
Ivar S FerenczBrazilAnna Fali QUALIFIED
Ricardo S GauchoArgentinaElwin Sharvill UNQUALIFIED
Jones W DilliardSpainIoni Bowcher UNQUALIFIED
Nicolas A RutaFranceIvan Magalhaes NEGOTIATION
Cody E FlosiItalyStephen Shaw PROPOSAL
Ricardo X WhobreyArgentinaIoni Bowcher NEGOTIATION
Mujtaba L IturbideRussiaAnna Fali NEW
Aditya I MacleadUnited KingdomStephen Shaw PROPOSAL
Adams U AlbaresAustraliaXuxue Feng NEW
Izzy O KolmetzItalyBernardo Dominic NEGOTIATION
Morrow Y BriddickFranceAsiya Javayant UNQUALIFIED
Emily F RimUnited KingdomOnyama Limba UNQUALIFIED
Darci S OstroskyArgentinaIvan Magalhaes RENEWAL
Juan L BowleyFranceStephen Shaw RENEWAL
Juan Z BriddickUnited KingdomBernardo Dominic NEW
Nicolas Z BriddickJapanIvan Magalhaes UNQUALIFIED
Chavez A NickaFranceElwin Sharvill PROPOSAL
Ashley E InouyeCanadaAnna Fali NEW
Kadeem K CampainFranceAnna Fali PROPOSAL
Costa X PerinUnited KingdomElwin Sharvill QUALIFIED
Kadeem O VenereBrazilAsiya Javayant NEGOTIATION
Ivar I RulapaughSpainBernardo Dominic QUALIFIED
Salvatore P NestleIndiaAsiya Javayant NEW
Rodrigues R GillianSpainOnyama Limba NEW
Julie V GauchoGermanyOnyama Limba QUALIFIED
Alejandro M FollerItalyOnyama Limba NEW
David P FerenczArgentinaXuxue Feng NEGOTIATION
Kadeem F TollnerGermanyBernardo Dominic NEGOTIATION
Jones W StockhamIndiaElwin Sharvill PROPOSAL
Antonio B SaylorsSpainStephen Shaw RENEWAL
Costa P AlbaresArgentinaAsiya Javayant NEGOTIATION
Clifford K PaprockiBrazilXuxue Feng PROPOSAL
Clifford D AlbaresFranceIoni Bowcher UNQUALIFIED
Emily W SchemmerAustraliaAmy Elsner 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>