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
Jones C KolmetzFranceIoni Bowcher NEW
Mayumi W BriddickSpainAsiya Javayant PROPOSAL
Leja Z PaprockiBrazilIvan Magalhaes RENEWAL
Mayumi T SchemmerAustraliaAmy Elsner UNQUALIFIED
Clifford S SaylorsJapanBernardo Dominic NEW
Faith E MaletBrazilAnna Fali UNQUALIFIED
Kaitlin V CaudyAustraliaStephen Shaw NEGOTIATION
Deepesh D MaletRussiaXuxue Feng QUALIFIED
Silvio D MaletUnited KingdomXuxue Feng RENEWAL
Cody L FerenczJapanBernardo Dominic NEW
Leon Y GarufiFranceAnna Fali QUALIFIED
Kaitlin X RutaJapanBernardo Dominic RENEWAL
Murillo E RutaUnited KingdomIvan Magalhaes UNQUALIFIED
Ivar U CampainUnited KingdomStephen Shaw UNQUALIFIED
Morrow A StensethIndiaOnyama Limba NEGOTIATION
Cody J MaletItalyElwin Sharvill NEW
Juan L WaycottSpainAmy Elsner UNQUALIFIED
Salvatore M TollnerGermanyIoni Bowcher NEGOTIATION
Johnson R AmigonJapanAnna Fali QUALIFIED
Francesco P ButtJapanStephen Shaw QUALIFIED
Adams S RulapaughCanadaOnyama Limba NEGOTIATION
Nicolas A WhobreyUnited KingdomAsiya Javayant NEW
Faith S MarrierAustraliaAmy Elsner RENEWAL
Leon D SaylorsCanadaAnna Fali RENEWAL
Greenwood Q SergiCanadaAmy Elsner NEGOTIATION
Nicolas N OstroskyAustraliaXuxue Feng QUALIFIED
Jennifer G PerinAustraliaElwin Sharvill UNQUALIFIED
Adams D RimArgentinaOnyama Limba NEW
David X FigeroaBrazilIvan Magalhaes PROPOSAL
Jones K KolmetzSpainXuxue Feng RENEWAL
Jefferson R ButtGermanyIvan Magalhaes NEGOTIATION
Ricardo K GarufiIndiaOnyama Limba QUALIFIED
Jennifer B VenereSpainIoni Bowcher QUALIFIED
Ashley F MorascaItalyIvan Magalhaes NEGOTIATION
Rodrigues F KolmetzUnited KingdomIvan Magalhaes RENEWAL
Johnson A CaldareraAustraliaElwin Sharvill NEGOTIATION
Faith C CampainUnited KingdomAsiya Javayant NEGOTIATION
Silvio X OldroydItalyBernardo Dominic RENEWAL
Greenwood X ChuiSpainStephen Shaw NEGOTIATION
Kaitlin L RulapaughIndiaStephen Shaw PROPOSAL
David X FigeroaFranceAnna Fali NEW
Leja Y TollnerCanadaXuxue Feng UNQUALIFIED
Johnson N ShinkoFranceElwin Sharvill UNQUALIFIED
Cody U OstroskyIndiaBernardo Dominic QUALIFIED
Jefferson Z SlusarskiGermanyElwin Sharvill RENEWAL
Aika K BriddickJapanAnna Fali NEW
Alejandro W InouyeIndiaIvan Magalhaes PROPOSAL
Adams L ButtJapanOnyama Limba NEGOTIATION
Julie G ChuiArgentinaIvan Magalhaes QUALIFIED
Arvin C SlusarskiUnited KingdomBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Munro E MacleadBrazilElwin Sharvill QUALIFIED
David R SaylorsArgentinaIoni Bowcher UNQUALIFIED
Silvio S StensethItalyAnna Fali UNQUALIFIED
Jones V CampainRussiaAsiya Javayant NEGOTIATION
James N GauchoRussiaIoni Bowcher NEW
Clifford U VocelkaItalyAsiya Javayant NEW
Faith F PoquetteFranceElwin Sharvill NEW
Costa M WhobreyBrazilBernardo Dominic PROPOSAL
Ashley R VocelkaGermanyAsiya Javayant QUALIFIED
Munro D WhobreyBrazilXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo G SlusarskiCanada2024-06-06Dorl, James J Esq NEW79Onyama Limba
1001Kaitlin A VocelkaUnited Kingdom2024-06-05Chemel, James L Cpa NEW73Elwin Sharvill
1002Silvio K MacleadGermany2024-05-09Chapman, Ross E Esq NEW27Asiya Javayant
1003Isabel O RulapaughSpain2024-05-11Buckley Miller Wright NEW42Xuxue Feng
1004Adams E MaletUnited Kingdom2024-05-16Chanay, Jeffrey A Esq NEGOTIATION84Anna Fali
1005Kadeem U FigeroaIndia2024-05-14Benton, John B Jr UNQUALIFIED23Onyama Limba
1006Arvin W GlickArgentina2024-05-28Commercial Press RENEWAL80Xuxue Feng
1007Jefferson P StensethSpain2024-05-22King, Christopher A Esq UNQUALIFIED36Stephen Shaw
1008Leon X StockhamSpain2024-05-25King, Christopher A Esq NEGOTIATION14Asiya Javayant
1009Johnson K OldroydSpain2024-05-12King, Christopher A Esq NEGOTIATION84Elwin Sharvill
1010Kaitlin Z KolmetzItaly2024-05-14Morlong Associates NEGOTIATION70Onyama Limba
1011Jennifer N SlusarskiSpain2024-05-26Feiner Bros QUALIFIED54Xuxue Feng
1012Antonio K CaudyAustralia2024-05-23Feltz Printing Service RENEWAL50Stephen Shaw
1013Ivar E PaprockiJapan2024-05-12Buckley Miller Wright NEGOTIATION29Ivan Magalhaes
1014Kadeem C VenereGermany2024-05-15Rousseaux, Michael Esq NEGOTIATION76Elwin Sharvill
1015Greenwood X MaletFrance2024-05-09Rousseaux, Michael Esq UNQUALIFIED50Stephen Shaw
1016Cody I InouyeJapan2024-06-05Feiner Bros UNQUALIFIED9Bernardo Dominic
1017Leja D InouyeItaly2024-05-10Truhlar And Truhlar Attys RENEWAL79Elwin Sharvill
1018Deepesh N PaprockiGermany2024-05-29Commercial Press NEGOTIATION57Anna Fali
1019Johnson F PaprockiAustralia2024-06-02Commercial Press NEW88Ioni Bowcher
1020Aditya C MaletIndia2024-05-12Chanay, Jeffrey A Esq NEGOTIATION60Elwin Sharvill
1021Mujtaba B AlbaresFrance2024-05-15Printing Dimensions PROPOSAL89Onyama Limba
1022Clifford G BologniaIndia2024-05-23Dorl, James J Esq UNQUALIFIED35Asiya Javayant
1023Greenwood I ButtGermany2024-05-17Printing Dimensions UNQUALIFIED21Onyama Limba
1024Aika F VocelkaRussia2024-05-30King, Christopher A Esq UNQUALIFIED60Amy Elsner
1025Nicolas Y ShinkoCanada2024-05-31Chanay, Jeffrey A Esq QUALIFIED19Asiya Javayant
1026Claire F SlusarskiAustralia2024-05-20Rangoni Of Florence NEGOTIATION30Amy Elsner
1027Salvatore B VenereItaly2024-05-17Dorl, James J Esq RENEWAL68Xuxue Feng
1028Ricardo C KuskoCanada2024-05-14Truhlar And Truhlar Attys PROPOSAL75Stephen Shaw
1029Jennifer Y FlosiArgentina2024-05-13Printing Dimensions NEW40Bernardo Dominic
1030Aruna L BriddickJapan2024-05-25Feltz Printing Service PROPOSAL18Ivan Magalhaes
1031Cody Q VenereAustralia2024-06-03Commercial Press PROPOSAL91Xuxue Feng
1032Nicolas G GauchoSpain2024-06-01Feltz Printing Service NEGOTIATION48Ivan Magalhaes
1033James S MorascaCanada2024-05-25Benton, John B Jr UNQUALIFIED7Asiya Javayant
1034Kaitlin V GarufiIndia2024-05-11Buckley Miller Wright UNQUALIFIED3Bernardo Dominic
1035Stacey Q MarrierSpain2024-05-27Truhlar And Truhlar Attys UNQUALIFIED17Anna Fali
1036Maria G SchemmerUnited Kingdom2024-05-22Commercial Press RENEWAL19Xuxue Feng
1037Leja N GarufiAustralia2024-06-01Dorl, James J Esq NEGOTIATION57Ioni Bowcher
1038Ricardo E MaletItaly2024-05-27Feltz Printing Service PROPOSAL91Onyama Limba
1039Leja K ChuiCanada2024-05-11Feiner Bros QUALIFIED10Asiya Javayant
1040Misaki I OldroydAustralia2024-05-21Feltz Printing Service NEGOTIATION3Onyama Limba
1041Ivar N AlbaresArgentina2024-05-09Commercial Press NEGOTIATION83Elwin Sharvill
1042Jones W StockhamUnited Kingdom2024-05-18Morlong Associates QUALIFIED53Amy Elsner
1043Arvin T PaprockiBrazil2024-05-25Truhlar And Truhlar Attys QUALIFIED27Onyama Limba
1044Silvio I KuskoItaly2024-06-06Chanay, Jeffrey A Esq NEW60Anna Fali
1045Isabel P TollnerBrazil2024-05-15Chemel, James L Cpa NEGOTIATION9Amy Elsner
1046Aika H DarakjyCanada2024-05-23Rousseaux, Michael Esq RENEWAL95Bernardo Dominic
1047Faith J PerinJapan2024-05-29Feltz Printing Service PROPOSAL96Onyama Limba
1048Kadeem E RoysterUnited Kingdom2024-06-06Buckley Miller Wright PROPOSAL93Ioni Bowcher
1049Emily R SaylorsCanada2024-05-12Feltz Printing Service NEGOTIATION75Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Misaki E RulapaughArgentinaAsiya Javayant PROPOSAL
Deepesh M GlickIndiaAnna Fali QUALIFIED
Greenwood U VocelkaRussiaIvan Magalhaes NEW
Izzy M MaletGermanyIoni Bowcher RENEWAL
Chavez B RoysterIndiaAnna Fali UNQUALIFIED
Silvio X SergiRussiaElwin Sharvill RENEWAL
Juan I NestleJapanAsiya Javayant UNQUALIFIED
Silvio B GillianArgentinaAsiya Javayant QUALIFIED
Arvin Q DoeFranceAsiya Javayant UNQUALIFIED
Aika B SlusarskiItalyOnyama Limba RENEWAL
Aditya W AmigonSpainIvan Magalhaes PROPOSAL
Costa G OldroydSpainAmy Elsner NEGOTIATION
Murillo I WaycottUnited KingdomIvan Magalhaes RENEWAL
Sinclair A GauchoUnited KingdomXuxue Feng NEW
Emily H GlickCanadaElwin Sharvill QUALIFIED
Antonio X GillianCanadaOnyama Limba NEW
Smith R BowleyGermanyXuxue Feng PROPOSAL
Misaki S RulapaughIndiaXuxue Feng UNQUALIFIED
Leja L GlickSpainAmy Elsner RENEWAL
Sinclair N RimItalyAmy Elsner NEGOTIATION
Deepesh T OldroydGermanyXuxue Feng NEW
Jones Z RoysterUnited KingdomIoni Bowcher NEGOTIATION
Octavia D PaprockiBrazilIoni Bowcher NEW
Morrow H KolmetzCanadaAnna Fali NEW
Stacey M SergiAustraliaIvan Magalhaes PROPOSAL
Jones D GlickIndiaAnna Fali NEW
Mayumi J KuskoUnited KingdomOnyama Limba NEGOTIATION
Mayumi V RulapaughRussiaAnna Fali UNQUALIFIED
Izzy R KolmetzSpainStephen Shaw NEW
Clifford W ShinkoUnited KingdomBernardo Dominic QUALIFIED
Stacey V SchemmerItalyElwin Sharvill PROPOSAL
Salvatore I FigeroaBrazilElwin Sharvill RENEWAL
Munro Z VenereFranceIoni Bowcher NEGOTIATION
Faith Q CaldareraJapanAmy Elsner PROPOSAL
Alejandro D ShinkoGermanyElwin Sharvill NEGOTIATION
Sinclair H OstroskyCanadaAnna Fali NEGOTIATION
Emily S ShinkoFranceIoni Bowcher QUALIFIED
Nicolas R CaudyIndiaAsiya Javayant RENEWAL
Darci X TollnerGermanyAnna Fali PROPOSAL
Claire P PoquetteUnited KingdomAmy Elsner RENEWAL
Mayumi R TollnerArgentinaAmy Elsner PROPOSAL
Deepesh B ChuiGermanyStephen Shaw NEGOTIATION
Kaitlin Z PaprockiRussiaXuxue Feng NEW
David Z MaletBrazilOnyama Limba NEW
Johnson E CaudyAustraliaOnyama Limba RENEWAL
Aika I BologniaFranceXuxue Feng PROPOSAL
Alejandro D RulapaughArgentinaXuxue Feng RENEWAL
Sinclair F PerinGermanyXuxue Feng RENEWAL
Kadeem L OstroskyFranceOnyama Limba RENEWAL
Cody T PerinUnited KingdomAnna Fali UNQUALIFIED
Frozen Columns
Name
Chavez U Campain
Tony S Caudy
Claire M Ostrosky
Tony K Venere
Munro X Garufi
Jennifer W Slusarski
Darci D Stenseth
Isabel P Briddick
Silvio W Gillian
Munro J Briddick
Leja C Stockham
Greenwood X Malet
Smith K Royster
Mujtaba A Caldarera
Cody G Perin
Octavia G Sergi
Arvin P Rim
Maisha Y Rulapaugh
Cody K Rim
Rodrigues I Flosi
Misaki J Inouye
Julie V Ruta
Juan D Rulapaugh
Adams F Sergi
Salvatore S Kolmetz
Antonio H Waycott
Jefferson W Sergi
Aika D Nestle
Jefferson S Dilliard
Misaki K Saylors
Silvio E Garufi
Isabel L Inouye
Antonio U Dilliard
Julie E Nicka
Antonio W Kusko
Leja A Bowley
Cody P Saylors
Emily T Malet
Mujtaba B Inouye
Juan A Slusarski
Silvio S Vocelka
Munro C Whobrey
Tony D Briddick
Ashley U Vocelka
Octavia K Marrier
Mayumi G Foller
Darci Y Flosi
Alejandro K Butt
Clifford M Inouye
James G Nestle
IdCountryDate
1000Brazil2024-06-04
1001Italy2024-06-05
1002Italy2024-06-05
1003Canada2024-05-12
1004Russia2024-05-10
1005United Kingdom2024-06-03
1006Spain2024-05-22
1007France2024-05-12
1008Japan2024-05-29
1009Argentina2024-06-07
1010Germany2024-05-21
1011Spain2024-05-11
1012Canada2024-05-19
1013Spain2024-05-21
1014Russia2024-06-02
1015Russia2024-05-19
1016Canada2024-05-29
1017Germany2024-06-06
1018Germany2024-06-05
1019Brazil2024-05-19
1020Japan2024-05-17
1021Australia2024-05-22
1022Japan2024-05-25
1023France2024-05-19
1024Japan2024-05-13
1025India2024-05-29
1026Argentina2024-05-26
1027Japan2024-05-13
1028Germany2024-05-22
1029Japan2024-05-30
1030Germany2024-05-20
1031Germany2024-05-20
1032Russia2024-05-25
1033Spain2024-05-16
1034India2024-05-15
1035Canada2024-06-06
1036Argentina2024-05-24
1037Japan2024-05-20
1038Russia2024-05-25
1039India2024-06-06
1040United Kingdom2024-06-07
1041France2024-05-28
1042Brazil2024-05-12
1043Spain2024-05-30
1044Germany2024-05-19
1045Spain2024-05-24
1046United Kingdom2024-05-20
1047Russia2024-05-11
1048Russia2024-05-23
1049Spain2024-05-11

On-Demand Data

NameIdCountryDate
Salvatore M Tollner1000Italy2024-05-10
Misaki B Foller1001Australia2024-06-03
Chavez W Malet1002Spain2024-05-21
Claire L Malet1003Russia2024-05-17
Wickens D Morasca1004Germany2024-05-29
Cody R Kusko1005Italy2024-05-26
Leon I Nestle1006Russia2024-05-13
Kaitlin Q Amigon1007Italy2024-06-05
Sinclair B Venere1008Japan2024-05-28
Aruna M Slusarski1009India2024-05-17
Misaki E Maclead1010Germany2024-05-22
Juan W Schemmer1011India2024-05-29
Julie H Rulapaugh1012Brazil2024-05-11
Adams A Malet1013Italy2024-05-16
Claire P Dilliard1014Russia2024-05-24
Nicolas C Malet1015Brazil2024-05-18
Francesco I Glick1016Australia2024-05-16
Izzy G Slusarski1017Italy2024-05-29
Greenwood W Ferencz1018Italy2024-06-06
Claire K Malet1019India2024-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo F PoquetteGermanyIoni Bowcher QUALIFIED
Mayumi H CampainArgentinaBernardo Dominic NEGOTIATION
Sinclair I BowleyAustraliaBernardo Dominic NEW
Sinclair M OstroskyJapanBernardo Dominic NEGOTIATION
Morrow G FigeroaRussiaAsiya Javayant NEGOTIATION
Jefferson J SergiCanadaAmy Elsner QUALIFIED
Jennifer A DarakjyCanadaAsiya Javayant RENEWAL
Kadeem W SaylorsArgentinaOnyama Limba NEGOTIATION
Aditya N BriddickGermanyAnna Fali QUALIFIED
Juan L StensethCanadaBernardo Dominic NEGOTIATION
Smith U KolmetzIndiaIoni Bowcher PROPOSAL
Kaitlin X RimBrazilStephen Shaw NEW
Rodrigues Y ChuiCanadaIvan Magalhaes RENEWAL
Mayumi O StockhamBrazilOnyama Limba PROPOSAL
Jennifer Y SaylorsGermanyAmy Elsner NEW
James W PerinItalyStephen Shaw PROPOSAL
Murillo C CampainCanadaXuxue Feng NEW
Maisha H RimCanadaStephen Shaw UNQUALIFIED
Jeanfrancois R AlbaresItalyAnna Fali RENEWAL
Leon N RoysterFranceElwin Sharvill PROPOSAL
Murillo F MaletFranceOnyama Limba NEW
Ashley N PerinBrazilAmy Elsner PROPOSAL
Chavez B MaletBrazilElwin Sharvill RENEWAL
Smith K DilliardFranceXuxue Feng UNQUALIFIED
Leon E DilliardSpainBernardo Dominic NEW
Francesco I RutaAustraliaXuxue Feng PROPOSAL
Johnson A MacleadAustraliaIoni Bowcher UNQUALIFIED
Emily F VenereJapanOnyama Limba NEW
Silvio M AlbaresSpainIvan Magalhaes UNQUALIFIED
Clifford Q ButtJapanAmy Elsner UNQUALIFIED
Alejandro J KolmetzIndiaAmy Elsner QUALIFIED
Faith N OldroydBrazilXuxue Feng UNQUALIFIED
Silvio J NickaItalyIvan Magalhaes QUALIFIED
Jennifer Y SchemmerJapanIvan Magalhaes NEW
Greenwood F PoquetteUnited KingdomBernardo Dominic PROPOSAL
Izzy D WieserSpainXuxue Feng RENEWAL
Maisha V CampainFranceStephen Shaw NEW
Izzy X SergiArgentinaIvan Magalhaes RENEWAL
Chavez J CaldareraFranceAnna Fali NEW
Munro X StensethGermanyIoni Bowcher 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>