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
Nicolas N DilliardArgentinaBernardo Dominic UNQUALIFIED
Emily N SergiFranceAmy Elsner NEGOTIATION
Jones J CaldareraUnited KingdomAnna Fali UNQUALIFIED
Julie E CaldareraItalyOnyama Limba RENEWAL
Costa J WhobreyGermanyOnyama Limba QUALIFIED
Rodrigues Z KolmetzUnited KingdomBernardo Dominic PROPOSAL
Clifford F NestleSpainIvan Magalhaes PROPOSAL
Cody D KolmetzArgentinaIoni Bowcher QUALIFIED
Clifford P PaprockiArgentinaIvan Magalhaes NEW
Ivar R AmigonCanadaOnyama Limba QUALIFIED
Deepesh Z GarufiGermanyIoni Bowcher UNQUALIFIED
Cody S MarrierJapanAmy Elsner PROPOSAL
Stacey H CaudyCanadaAnna Fali NEW
Ricardo A CaudyCanadaAsiya Javayant NEGOTIATION
Murillo M FerenczCanadaAsiya Javayant QUALIFIED
Sinclair C MarrierFranceBernardo Dominic NEGOTIATION
Silvio Q ShinkoRussiaIvan Magalhaes UNQUALIFIED
Emily T AmigonAustraliaAsiya Javayant NEGOTIATION
Jeanfrancois J CaldareraAustraliaIvan Magalhaes NEW
David D KolmetzCanadaAmy Elsner QUALIFIED
Leja F SaylorsAustraliaBernardo Dominic NEGOTIATION
Silvio K PaprockiCanadaIoni Bowcher PROPOSAL
Wickens Q GillianArgentinaIvan Magalhaes UNQUALIFIED
Cody L WhobreyCanadaAmy Elsner UNQUALIFIED
Cody F GlickBrazilAsiya Javayant QUALIFIED
David O KolmetzBrazilStephen Shaw NEGOTIATION
Claire E CaudyUnited KingdomBernardo Dominic PROPOSAL
Darci W ButtArgentinaIvan Magalhaes NEW
Misaki Z SaylorsRussiaOnyama Limba UNQUALIFIED
Cody P ShinkoCanadaIoni Bowcher NEW
Jeanfrancois U ShinkoJapanIoni Bowcher NEW
Mujtaba D StockhamCanadaAnna Fali QUALIFIED
Sinclair C GlickArgentinaStephen Shaw UNQUALIFIED
Salvatore C DilliardSpainAnna Fali NEGOTIATION
Murillo E SlusarskiGermanyStephen Shaw NEW
Nicolas Z DilliardFranceElwin Sharvill PROPOSAL
Aditya X TollnerIndiaAsiya Javayant QUALIFIED
Aditya B AlbaresBrazilAsiya Javayant RENEWAL
Julie U OstroskyRussiaAsiya Javayant QUALIFIED
Antonio A TollnerItalyXuxue Feng UNQUALIFIED
Juan U GauchoJapanAsiya Javayant RENEWAL
Izzy U KuskoItalyXuxue Feng NEW
Greenwood S MarrierJapanAsiya Javayant PROPOSAL
Claire T RoysterBrazilAnna Fali QUALIFIED
Costa S FerenczRussiaBernardo Dominic UNQUALIFIED
Ashley J FlosiJapanAsiya Javayant RENEWAL
Leon R BologniaAustraliaAnna Fali QUALIFIED
Stacey B FigeroaGermanyOnyama Limba NEGOTIATION
Cody N RutaGermanyIoni Bowcher QUALIFIED
Antonio B OstroskyGermanyAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Stacey P ShinkoCanadaAmy Elsner QUALIFIED
Maria I ButtGermanyXuxue Feng UNQUALIFIED
Octavia O FlosiJapanElwin Sharvill PROPOSAL
Kaitlin S KolmetzAustraliaIvan Magalhaes PROPOSAL
Arvin L VocelkaFranceAnna Fali QUALIFIED
Isabel Q VocelkaItalyElwin Sharvill QUALIFIED
Francesco J ChuiBrazilAmy Elsner NEGOTIATION
Morrow R GlickBrazilAsiya Javayant NEGOTIATION
Darci P WieserAustraliaAsiya Javayant NEW
Clifford L ChuiIndiaAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon Z DilliardUnited Kingdom2025-04-27Buckley Miller Wright UNQUALIFIED16Ivan Magalhaes
1001Misaki M BowleyIndia2025-04-21Chemel, James L Cpa NEW62Stephen Shaw
1002Mujtaba L WaycottIndia2025-04-12Chemel, James L Cpa NEGOTIATION91Bernardo Dominic
1003Deepesh C DilliardGermany2025-04-21Rangoni Of Florence RENEWAL83Stephen Shaw
1004Jeanfrancois L WieserIndia2025-04-27Commercial Press NEGOTIATION28Ioni Bowcher
1005Emily H PoquetteBrazil2025-04-07Dorl, James J Esq NEGOTIATION72Bernardo Dominic
1006Deepesh C FollerBrazil2025-04-09Dorl, James J Esq RENEWAL71Anna Fali
1007Emily K CampainSpain2025-04-03Morlong Associates NEW87Elwin Sharvill
1008Kadeem Z WaycottSpain2025-04-01Buckley Miller Wright NEW74Ivan Magalhaes
1009Faith S VenereSpain2025-04-17Feiner Bros NEW18Anna Fali
1010Mujtaba F PerinItaly2025-04-09Feiner Bros QUALIFIED17Amy Elsner
1011Maisha V IturbideFrance2025-04-12Chanay, Jeffrey A Esq NEW70Bernardo Dominic
1012Murillo N VenereItaly2025-04-06Printing Dimensions NEW6Anna Fali
1013Adams M MaletGermany2025-04-10Printing Dimensions QUALIFIED57Ioni Bowcher
1014Morrow T StensethFrance2025-04-28Morlong Associates UNQUALIFIED87Ivan Magalhaes
1015Maria T NickaFrance2025-04-04Morlong Associates RENEWAL96Ioni Bowcher
1016Salvatore T MacleadRussia2025-04-25Chapman, Ross E Esq QUALIFIED13Bernardo Dominic
1017Stacey X MaletGermany2025-04-30Benton, John B Jr UNQUALIFIED10Stephen Shaw
1018Ivar U SergiUnited Kingdom2025-04-23Benton, John B Jr UNQUALIFIED90Elwin Sharvill
1019Aika V SergiUnited Kingdom2025-04-26Dorl, James J Esq NEGOTIATION20Xuxue Feng
1020Ivar P ChuiRussia2025-04-20Chemel, James L Cpa QUALIFIED52Xuxue Feng
1021Aika D CaldareraArgentina2025-04-24Commercial Press NEGOTIATION93Asiya Javayant
1022Mayumi M WieserBrazil2025-04-12Chemel, James L Cpa PROPOSAL31Elwin Sharvill
1023Chavez S AlbaresFrance2025-04-01Feiner Bros QUALIFIED13Bernardo Dominic
1024Costa H WhobreyRussia2025-04-29Chapman, Ross E Esq NEGOTIATION45Amy Elsner
1025Silvio A BowleyArgentina2025-04-24Buckley Miller Wright NEW4Bernardo Dominic
1026Tony R SaylorsUnited Kingdom2025-04-03Chapman, Ross E Esq UNQUALIFIED36Elwin Sharvill
1027Isabel B BologniaRussia2025-04-16King, Christopher A Esq RENEWAL38Xuxue Feng
1028Juan C ShinkoIndia2025-04-30Buckley Miller Wright UNQUALIFIED60Bernardo Dominic
1029Alejandro U MaletAustralia2025-04-09Buckley Miller Wright PROPOSAL72Anna Fali
1030Aditya Z CaudyFrance2025-04-29Feiner Bros QUALIFIED20Onyama Limba
1031Jones O DilliardAustralia2025-04-18Dorl, James J Esq NEW19Elwin Sharvill
1032Ashley L MaletCanada2025-04-21Commercial Press UNQUALIFIED17Xuxue Feng
1033Ricardo E CampainIndia2025-04-25Truhlar And Truhlar Attys NEW48Bernardo Dominic
1034Faith Z CaldareraGermany2025-04-21Chanay, Jeffrey A Esq PROPOSAL60Ioni Bowcher
1035Maisha O FollerJapan2025-04-17Dorl, James J Esq RENEWAL52Onyama Limba
1036Chavez O ButtJapan2025-04-03Feltz Printing Service RENEWAL12Amy Elsner
1037Izzy Z VocelkaJapan2025-04-10Buckley Miller Wright PROPOSAL20Bernardo Dominic
1038Salvatore M SergiSpain2025-04-08Morlong Associates QUALIFIED45Ivan Magalhaes
1039Silvio H GauchoFrance2025-04-06King, Christopher A Esq PROPOSAL58Elwin Sharvill
1040Claire R DilliardBrazil2025-04-26Printing Dimensions QUALIFIED45Anna Fali
1041Juan J FigeroaArgentina2025-04-17Chemel, James L Cpa RENEWAL9Elwin Sharvill
1042Wickens Y AlbaresBrazil2025-04-30Chapman, Ross E Esq RENEWAL77Asiya Javayant
1043Rodrigues E VenereAustralia2025-04-01Morlong Associates UNQUALIFIED62Asiya Javayant
1044Stacey I FollerItaly2025-04-17Chanay, Jeffrey A Esq UNQUALIFIED80Xuxue Feng
1045Kaitlin I ButtIndia2025-04-21Buckley Miller Wright QUALIFIED57Xuxue Feng
1046Arvin C ButtJapan2025-04-06Benton, John B Jr RENEWAL65Asiya Javayant
1047Misaki P TollnerItaly2025-04-20Chapman, Ross E Esq RENEWAL81Amy Elsner
1048Leja Z StensethCanada2025-04-25Commercial Press NEW96Stephen Shaw
1049Jefferson M WieserSpain2025-04-30Buckley Miller Wright RENEWAL17Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois Y WhobreyIndiaAmy Elsner NEW
Isabel S SlusarskiRussiaIoni Bowcher NEGOTIATION
Emily R MacleadFranceIoni Bowcher RENEWAL
Tony E GlickArgentinaOnyama Limba PROPOSAL
Ashley M ShinkoRussiaOnyama Limba NEGOTIATION
Octavia T MorascaItalyStephen Shaw RENEWAL
Ivar C MacleadIndiaXuxue Feng PROPOSAL
Munro F DilliardIndiaAnna Fali NEGOTIATION
Mujtaba V PerinFranceAmy Elsner RENEWAL
Morrow G StockhamRussiaAmy Elsner RENEWAL
Morrow X ButtUnited KingdomAnna Fali NEGOTIATION
Murillo E AmigonFranceIoni Bowcher UNQUALIFIED
Clifford V MarrierItalyAnna Fali NEGOTIATION
Adams H MaletItalyAmy Elsner NEW
Darci G RulapaughBrazilXuxue Feng PROPOSAL
Isabel A ButtCanadaOnyama Limba NEGOTIATION
Rodrigues A CampainGermanyAsiya Javayant RENEWAL
Arvin C RulapaughSpainElwin Sharvill PROPOSAL
Stacey R SlusarskiSpainStephen Shaw RENEWAL
Claire W MaletJapanBernardo Dominic UNQUALIFIED
Maisha J FollerCanadaBernardo Dominic NEW
Juan C GlickUnited KingdomIoni Bowcher NEW
Costa W BologniaIndiaAmy Elsner PROPOSAL
Aruna N ShinkoRussiaIvan Magalhaes UNQUALIFIED
Darci J OldroydJapanElwin Sharvill PROPOSAL
Chavez W FigeroaFranceAnna Fali QUALIFIED
Leja F VocelkaBrazilIoni Bowcher PROPOSAL
Isabel W WaycottSpainOnyama Limba PROPOSAL
Clifford B DilliardSpainStephen Shaw QUALIFIED
Leja N StockhamJapanXuxue Feng QUALIFIED
Kaitlin Y BowleyAustraliaIoni Bowcher QUALIFIED
Ivar X SaylorsJapanIvan Magalhaes NEW
Nicolas W CampainAustraliaXuxue Feng RENEWAL
Salvatore V VenereUnited KingdomOnyama Limba RENEWAL
Kaitlin I MaletAustraliaBernardo Dominic UNQUALIFIED
Clifford K ShinkoFranceIvan Magalhaes NEGOTIATION
Smith D ShinkoUnited KingdomIoni Bowcher UNQUALIFIED
Stacey E AmigonJapanAmy Elsner NEGOTIATION
Stacey U InouyeFranceAmy Elsner QUALIFIED
Alejandro N InouyeAustraliaXuxue Feng NEGOTIATION
Kaitlin A KuskoItalyOnyama Limba RENEWAL
Stacey B ShinkoJapanXuxue Feng QUALIFIED
Adams L FlosiItalyBernardo Dominic RENEWAL
Jones Z DilliardUnited KingdomXuxue Feng UNQUALIFIED
Munro S BologniaGermanyOnyama Limba RENEWAL
Faith M OldroydItalyAmy Elsner QUALIFIED
Jones A MaletGermanyAsiya Javayant NEW
Greenwood U FigeroaArgentinaIvan Magalhaes PROPOSAL
Ivar V OstroskyIndiaStephen Shaw NEW
Costa R GlickBrazilStephen Shaw PROPOSAL
Frozen Columns
Name
Mayumi K Doe
Aditya I Paprocki
James T Flosi
Smith Z Caudy
Rodrigues V Bolognia
Johnson J Foller
Isabel U Perin
Maisha K Flosi
Adams I Campain
Emily A Briddick
Greenwood Z Saylors
Smith G Figeroa
Smith F Dilliard
Maria M Rim
Jones H Ostrosky
Jennifer J Waycott
Cody W Caudy
Wickens P Stenseth
Chavez Z Shinko
Aruna N Inouye
Silvio R Kusko
Clifford M Oldroyd
Tony M Garufi
Costa Y Nestle
Faith W Caudy
Arvin D Gillian
Morrow Q Marrier
Mayumi W Oldroyd
Wickens J Tollner
Deepesh C Doe
Claire G Paprocki
Kaitlin P Ferencz
Clifford V Caldarera
Morrow I Perin
Emily B Malet
Mujtaba G Marrier
Antonio L Marrier
Silvio U Figeroa
James F Butt
Ricardo Q Sergi
Arvin K Maclead
Francesco X Saylors
Juan R Shinko
Morrow H Gaucho
Leon R Wieser
David H Stockham
Kadeem D Bolognia
Faith M Morasca
Tony H Bolognia
Aditya K Foller
IdCountryDate
1000Italy2025-04-29
1001Germany2025-04-03
1002France2025-04-26
1003Russia2025-04-18
1004Brazil2025-04-03
1005Australia2025-04-21
1006France2025-04-22
1007Canada2025-04-09
1008Germany2025-04-10
1009Brazil2025-04-19
1010United Kingdom2025-04-15
1011Italy2025-04-21
1012India2025-04-23
1013Canada2025-04-30
1014Brazil2025-04-29
1015Australia2025-04-24
1016Brazil2025-04-08
1017Australia2025-04-29
1018France2025-04-08
1019Spain2025-04-17
1020Argentina2025-04-20
1021Argentina2025-04-01
1022Spain2025-04-09
1023Spain2025-04-08
1024Spain2025-04-20
1025United Kingdom2025-04-17
1026Germany2025-04-17
1027United Kingdom2025-04-26
1028Brazil2025-04-02
1029Japan2025-04-28
1030Canada2025-04-06
1031Australia2025-04-04
1032Italy2025-04-23
1033Argentina2025-04-02
1034France2025-04-18
1035Canada2025-04-30
1036Japan2025-04-26
1037Argentina2025-04-14
1038France2025-04-14
1039Argentina2025-04-03
1040Argentina2025-04-01
1041Russia2025-04-30
1042United Kingdom2025-04-04
1043France2025-04-04
1044Italy2025-04-02
1045Russia2025-04-10
1046United Kingdom2025-04-11
1047Spain2025-04-30
1048Italy2025-04-26
1049India2025-04-16

On-Demand Data

NameIdCountryDate
Kadeem N Morasca1000Russia2025-04-06
Misaki C Chui1001Germany2025-04-03
Maria J Slusarski1002Argentina2025-04-22
David D Inouye1003Japan2025-04-07
Isabel U Venere1004Germany2025-04-10
Aika W Amigon1005Germany2025-04-27
Aika X Schemmer1006Germany2025-04-06
Aika M Bowley1007Germany2025-04-06
Jefferson Z Bowley1008Spain2025-04-16
Jennifer N Schemmer1009Russia2025-04-08
Aruna B Oldroyd1010Canada2025-04-17
Chavez V Flosi1011Argentina2025-04-15
Kadeem A Caldarera1012Spain2025-04-21
Isabel M Amigon1013France2025-04-09
David O Vocelka1014United Kingdom2025-04-13
Octavia E Kusko1015Italy2025-04-20
Antonio Y Campain1016United Kingdom2025-04-22
Chavez N Schemmer1017Spain2025-04-26
Arvin E Waycott1018Japan2025-04-22
Wickens I Rim1019Italy2025-04-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues Y GarufiGermanyOnyama Limba RENEWAL
Emily S RimUnited KingdomXuxue Feng QUALIFIED
Juan Y GillianIndiaIvan Magalhaes PROPOSAL
Smith R MarrierBrazilAmy Elsner NEW
Chavez A WaycottCanadaElwin Sharvill NEW
Kaitlin J VenereUnited KingdomAnna Fali QUALIFIED
Faith P CampainAustraliaAsiya Javayant NEGOTIATION
Jennifer Y GarufiRussiaElwin Sharvill NEGOTIATION
Aika V GarufiCanadaElwin Sharvill PROPOSAL
Chavez J OldroydUnited KingdomElwin Sharvill UNQUALIFIED
Johnson L MarrierUnited KingdomOnyama Limba RENEWAL
Mujtaba B GillianSpainOnyama Limba NEGOTIATION
Aditya B OstroskyBrazilAnna Fali PROPOSAL
Misaki Z SchemmerRussiaBernardo Dominic PROPOSAL
Julie H VocelkaItalyAmy Elsner NEW
Emily G SergiCanadaStephen Shaw NEGOTIATION
Stacey I MorascaIndiaOnyama Limba NEW
David H StensethItalyAnna Fali PROPOSAL
Darci Z WieserIndiaOnyama Limba QUALIFIED
Mujtaba L FlosiItalyIoni Bowcher NEW
Alejandro M DilliardSpainIoni Bowcher QUALIFIED
Stacey I RutaUnited KingdomAsiya Javayant NEGOTIATION
Deepesh T GlickJapanIvan Magalhaes NEGOTIATION
Emily U FollerUnited KingdomBernardo Dominic UNQUALIFIED
Kaitlin L PoquetteSpainIvan Magalhaes QUALIFIED
Darci G BowleyCanadaAsiya Javayant UNQUALIFIED
Leja F MaletUnited KingdomIvan Magalhaes PROPOSAL
Maisha O RulapaughCanadaAmy Elsner NEGOTIATION
Julie H StockhamItalyOnyama Limba QUALIFIED
Cody M FerenczFranceIvan Magalhaes UNQUALIFIED
Octavia O MarrierUnited KingdomStephen Shaw PROPOSAL
Kaitlin Q PaprockiAustraliaAmy Elsner NEW
Chavez D FigeroaItalyAnna Fali NEW
Murillo P CaudyArgentinaIoni Bowcher PROPOSAL
Deepesh H PerinArgentinaOnyama Limba NEW
Aruna L FlosiItalyElwin Sharvill NEGOTIATION
Maisha Y MaletRussiaAnna Fali UNQUALIFIED
Ricardo R MorascaJapanAnna Fali RENEWAL
Greenwood P StensethSpainAnna Fali NEW
Emily X TollnerRussiaBernardo Dominic NEGOTIATION

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