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
Claire P ChuiGermanyIvan Magalhaes UNQUALIFIED
Octavia Q FerenczFranceAmy Elsner NEGOTIATION
Francesco F GarufiCanadaXuxue Feng UNQUALIFIED
Darci T CaldareraBrazilStephen Shaw NEW
Silvio W WaycottIndiaAmy Elsner RENEWAL
Arvin B NestleItalyAmy Elsner NEW
Ashley R RimAustraliaBernardo Dominic RENEWAL
Mujtaba L ButtUnited KingdomAsiya Javayant NEW
Johnson C TollnerAustraliaIoni Bowcher NEW
Munro V DilliardArgentinaBernardo Dominic QUALIFIED
Leja K SchemmerUnited KingdomIvan Magalhaes PROPOSAL
Mujtaba E InouyeRussiaStephen Shaw QUALIFIED
Faith S FlosiGermanyIvan Magalhaes NEW
Morrow Y StensethJapanAsiya Javayant UNQUALIFIED
Deepesh N RoysterAustraliaOnyama Limba NEW
Misaki L BologniaSpainOnyama Limba RENEWAL
Mujtaba F CaldareraCanadaAsiya Javayant NEGOTIATION
Munro E DilliardItalyBernardo Dominic PROPOSAL
Smith S NickaCanadaOnyama Limba NEW
Sinclair Q VenereIndiaOnyama Limba QUALIFIED
Faith C AlbaresItalyOnyama Limba RENEWAL
Jeanfrancois D GarufiJapanAsiya Javayant PROPOSAL
Salvatore Q FigeroaFranceStephen Shaw NEGOTIATION
Jeanfrancois P GillianJapanElwin Sharvill UNQUALIFIED
Salvatore G StensethBrazilIvan Magalhaes QUALIFIED
Francesco Z CaldareraSpainBernardo Dominic UNQUALIFIED
Johnson W CaldareraIndiaStephen Shaw RENEWAL
Izzy Y GarufiSpainBernardo Dominic QUALIFIED
Jeanfrancois N CaldareraCanadaBernardo Dominic UNQUALIFIED
Rodrigues O GauchoUnited KingdomXuxue Feng PROPOSAL
Octavia Z WhobreyArgentinaAmy Elsner UNQUALIFIED
Stacey M RimArgentinaAmy Elsner NEW
Murillo W AlbaresCanadaOnyama Limba NEGOTIATION
Antonio N SchemmerIndiaAnna Fali UNQUALIFIED
Emily U SaylorsBrazilIoni Bowcher NEW
Mujtaba H RulapaughJapanElwin Sharvill PROPOSAL
Ashley Y FlosiSpainIoni Bowcher NEW
Octavia C RulapaughItalyAsiya Javayant PROPOSAL
Costa Z ButtJapanIoni Bowcher RENEWAL
Aruna Y MorascaArgentinaAnna Fali RENEWAL
Francesco C CampainGermanyIoni Bowcher NEGOTIATION
Ashley Q WaycottRussiaOnyama Limba UNQUALIFIED
Maria S MaletFranceOnyama Limba NEW
Silvio S CampainIndiaElwin Sharvill PROPOSAL
Jeanfrancois V AmigonUnited KingdomAnna Fali NEGOTIATION
Leon T CampainIndiaAmy Elsner UNQUALIFIED
Ricardo X VocelkaIndiaXuxue Feng NEW
Jeanfrancois I RutaUnited KingdomIoni Bowcher NEW
David V NestleIndiaElwin Sharvill NEGOTIATION
Tony Y StockhamUnited KingdomXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Clifford L FerenczFranceXuxue Feng UNQUALIFIED
Nicolas P CaudyBrazilElwin Sharvill UNQUALIFIED
Claire A CaldareraItalyIoni Bowcher QUALIFIED
Nicolas C CaldareraSpainOnyama Limba UNQUALIFIED
Tony X RulapaughGermanyIvan Magalhaes PROPOSAL
Munro P DarakjyRussiaAnna Fali UNQUALIFIED
Silvio I IturbideSpainAsiya Javayant RENEWAL
Arvin V RutaUnited KingdomIvan Magalhaes PROPOSAL
Mayumi X WaycottFranceElwin Sharvill RENEWAL
Cody M ShinkoBrazilElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez Q ButtAustralia2024-06-03Chanay, Jeffrey A Esq NEW31Bernardo Dominic
1001Chavez X NestleGermany2024-06-14Printing Dimensions QUALIFIED3Ioni Bowcher
1002Munro O GillianJapan2024-06-09Commercial Press UNQUALIFIED92Elwin Sharvill
1003Isabel J DarakjyJapan2024-06-12Rangoni Of Florence PROPOSAL59Xuxue Feng
1004Misaki X PerinAustralia2024-06-03Commercial Press QUALIFIED10Stephen Shaw
1005Greenwood Y StockhamIndia2024-06-12Benton, John B Jr QUALIFIED60Ioni Bowcher
1006David G FigeroaBrazil2024-05-31Dorl, James J Esq QUALIFIED11Stephen Shaw
1007Salvatore H VocelkaCanada2024-05-30Buckley Miller Wright NEW48Ioni Bowcher
1008Rodrigues J RulapaughArgentina2024-06-04Feltz Printing Service QUALIFIED60Stephen Shaw
1009Silvio W FigeroaUnited Kingdom2024-05-28Rousseaux, Michael Esq NEW11Stephen Shaw
1010Jeanfrancois E PerinUnited Kingdom2024-06-13Feiner Bros RENEWAL14Ioni Bowcher
1011Murillo H BologniaUnited Kingdom2024-06-05Printing Dimensions QUALIFIED68Amy Elsner
1012Chavez E PaprockiAustralia2024-06-16Chapman, Ross E Esq NEGOTIATION88Onyama Limba
1013Francesco A CaldareraFrance2024-06-15Benton, John B Jr QUALIFIED16Asiya Javayant
1014Antonio K IturbideGermany2024-05-24Feiner Bros NEGOTIATION7Xuxue Feng
1015Aika M CaudyAustralia2024-06-03Rousseaux, Michael Esq UNQUALIFIED14Asiya Javayant
1016Izzy Q SaylorsJapan2024-06-13Benton, John B Jr RENEWAL7Stephen Shaw
1017Cody N TollnerItaly2024-06-16Printing Dimensions NEW61Asiya Javayant
1018Ricardo R SchemmerAustralia2024-05-30Benton, John B Jr NEW72Amy Elsner
1019Deepesh Y ButtCanada2024-06-19Feltz Printing Service RENEWAL4Stephen Shaw
1020Jones L FlosiItaly2024-06-04Feiner Bros NEW48Elwin Sharvill
1021Juan J CaldareraJapan2024-05-29Chapman, Ross E Esq NEGOTIATION61Stephen Shaw
1022Aditya G RoysterJapan2024-06-22Rousseaux, Michael Esq PROPOSAL24Asiya Javayant
1023Alejandro T RutaRussia2024-06-07Commercial Press PROPOSAL71Amy Elsner
1024Munro D VenereAustralia2024-06-11Chemel, James L Cpa QUALIFIED63Onyama Limba
1025Antonio B SergiBrazil2024-05-29Rangoni Of Florence RENEWAL52Onyama Limba
1026Aditya G GarufiAustralia2024-06-21Dorl, James J Esq UNQUALIFIED11Anna Fali
1027Silvio T SlusarskiUnited Kingdom2024-06-09Chapman, Ross E Esq NEGOTIATION81Bernardo Dominic
1028Juan C RimFrance2024-06-19King, Christopher A Esq UNQUALIFIED10Stephen Shaw
1029David M WaycottGermany2024-06-20Printing Dimensions NEGOTIATION50Ioni Bowcher
1030Jeanfrancois S RutaJapan2024-06-18Commercial Press UNQUALIFIED0Bernardo Dominic
1031Claire U GarufiBrazil2024-06-02Benton, John B Jr RENEWAL51Anna Fali
1032Maisha T RoysterIndia2024-06-09Dorl, James J Esq NEW81Bernardo Dominic
1033Mujtaba D FigeroaBrazil2024-05-29Chapman, Ross E Esq RENEWAL99Ioni Bowcher
1034James O RutaIndia2024-06-19Chapman, Ross E Esq RENEWAL68Asiya Javayant
1035Ivar E AmigonArgentina2024-05-30Rousseaux, Michael Esq RENEWAL26Asiya Javayant
1036Kadeem S TollnerGermany2024-05-24Chanay, Jeffrey A Esq NEGOTIATION1Bernardo Dominic
1037Smith B GarufiCanada2024-06-15Truhlar And Truhlar Attys QUALIFIED37Bernardo Dominic
1038Octavia C PerinRussia2024-06-05Feltz Printing Service NEW76Ivan Magalhaes
1039Leon G WhobreyJapan2024-06-18Benton, John B Jr NEGOTIATION46Asiya Javayant
1040Murillo A BologniaAustralia2024-06-06Commercial Press RENEWAL87Onyama Limba
1041Leja F CaldareraGermany2024-06-19Morlong Associates QUALIFIED54Ivan Magalhaes
1042Darci F CaudyBrazil2024-06-07Commercial Press NEGOTIATION43Asiya Javayant
1043Chavez T BriddickIndia2024-05-26Chapman, Ross E Esq UNQUALIFIED55Anna Fali
1044Cody H NestleBrazil2024-05-28Chemel, James L Cpa QUALIFIED60Bernardo Dominic
1045Juan K DilliardIndia2024-06-20Feltz Printing Service RENEWAL75Asiya Javayant
1046Ricardo I MaletRussia2024-05-29Commercial Press NEW15Anna Fali
1047Alejandro P AmigonRussia2024-05-24Feiner Bros NEW59Xuxue Feng
1048David Q ButtArgentina2024-05-26Rousseaux, Michael Esq RENEWAL98Bernardo Dominic
1049Isabel V CaldareraBrazil2024-06-09King, Christopher A Esq PROPOSAL57Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Jones S FerenczUnited KingdomIvan Magalhaes PROPOSAL
Ricardo K OldroydBrazilAmy Elsner NEW
Silvio J NestleAustraliaOnyama Limba RENEWAL
Arvin H BologniaAustraliaAsiya Javayant UNQUALIFIED
Murillo K PoquetteArgentinaIoni Bowcher RENEWAL
Johnson H PoquetteItalyAnna Fali PROPOSAL
Nicolas J GauchoRussiaElwin Sharvill NEW
David Q AlbaresGermanyBernardo Dominic QUALIFIED
Kadeem D WieserGermanyOnyama Limba UNQUALIFIED
Alejandro Z StensethAustraliaStephen Shaw RENEWAL
Maria F AmigonIndiaIvan Magalhaes QUALIFIED
Juan O MaletBrazilBernardo Dominic RENEWAL
Salvatore V GlickIndiaElwin Sharvill NEW
Aditya L ChuiIndiaElwin Sharvill QUALIFIED
Ashley O FollerAustraliaAmy Elsner NEGOTIATION
Emily W MaletArgentinaStephen Shaw NEGOTIATION
Munro S VenereCanadaAnna Fali NEGOTIATION
Jeanfrancois B AlbaresUnited KingdomOnyama Limba UNQUALIFIED
Smith W NestleAustraliaAnna Fali NEW
Aditya G CaldareraCanadaBernardo Dominic UNQUALIFIED
Ashley N PoquetteAustraliaXuxue Feng PROPOSAL
Sinclair N MaletIndiaBernardo Dominic UNQUALIFIED
Munro A InouyeRussiaStephen Shaw NEGOTIATION
Clifford L ButtArgentinaIoni Bowcher RENEWAL
Izzy C RoysterFranceAmy Elsner PROPOSAL
Arvin P DilliardItalyAmy Elsner PROPOSAL
Isabel H FigeroaItalyAsiya Javayant NEW
Greenwood V VocelkaGermanyIvan Magalhaes NEW
Ricardo U RoysterArgentinaIvan Magalhaes NEGOTIATION
Julie M IturbideAustraliaOnyama Limba UNQUALIFIED
Mujtaba Y GarufiGermanyAmy Elsner RENEWAL
Aditya B FerenczArgentinaAsiya Javayant RENEWAL
Mayumi I DoeCanadaIoni Bowcher NEW
Jefferson X CaldareraGermanyAnna Fali QUALIFIED
Nicolas I FerenczIndiaAsiya Javayant PROPOSAL
Costa D KolmetzUnited KingdomBernardo Dominic NEGOTIATION
Aditya N WhobreySpainElwin Sharvill PROPOSAL
Aditya J CaudyIndiaAmy Elsner NEGOTIATION
Sinclair T MarrierBrazilIvan Magalhaes QUALIFIED
Faith P VocelkaItalyBernardo Dominic UNQUALIFIED
Ashley D VenereUnited KingdomAnna Fali NEW
Kaitlin M NestleCanadaElwin Sharvill PROPOSAL
Smith W GarufiGermanyStephen Shaw NEGOTIATION
Clifford J DilliardRussiaIoni Bowcher NEW
Kadeem K InouyeItalyAsiya Javayant RENEWAL
Kaitlin M CaudyAustraliaAnna Fali NEGOTIATION
Leja Q BowleyCanadaIvan Magalhaes QUALIFIED
Jennifer Z KolmetzUnited KingdomIvan Magalhaes QUALIFIED
Ivar Y DilliardItalyXuxue Feng QUALIFIED
Jefferson Q NestleBrazilIoni Bowcher QUALIFIED
Frozen Columns
Name
Salvatore R Foller
Mayumi K Waycott
Kaitlin B Figeroa
Stacey W Gaucho
Ricardo C Rulapaugh
Chavez K Bowley
Greenwood R Schemmer
Jeanfrancois W Wieser
Leon R Gillian
Misaki R Ferencz
Costa K Nestle
Antonio W Campain
Tony W Rim
Nicolas F Gillian
Juan K Malet
Munro Y Bowley
Misaki L Kolmetz
Morrow Z Garufi
Maria L Saylors
Costa I Doe
Aruna Y Perin
Arvin L Darakjy
Alejandro N Flosi
Deepesh G Morasca
Costa R Kolmetz
Murillo N Garufi
David N Foller
Mujtaba V Albares
Smith Q Maclead
Sinclair X Gaucho
Aruna P Sergi
Munro U Flosi
Deepesh O Bowley
Clifford E Ruta
Sinclair Q Kolmetz
Jeanfrancois N Doe
Morrow L Doe
Silvio U Garufi
Sinclair V Gaucho
Julie E Gaucho
Misaki J Malet
Ivar Z Flosi
Izzy J Stenseth
Cody I Marrier
Jones Q Tollner
Aditya H Marrier
Maisha L Marrier
Sinclair S Royster
Kadeem V Venere
Maisha Z Marrier
IdCountryDate
1000United Kingdom2024-06-21
1001United Kingdom2024-06-20
1002Japan2024-06-12
1003Canada2024-05-29
1004France2024-05-27
1005Germany2024-06-14
1006Russia2024-06-02
1007France2024-06-14
1008India2024-05-26
1009Spain2024-06-12
1010Italy2024-06-17
1011Brazil2024-06-19
1012India2024-06-22
1013Brazil2024-05-29
1014Japan2024-05-27
1015Japan2024-05-29
1016Italy2024-06-10
1017Brazil2024-06-02
1018Russia2024-05-30
1019Canada2024-06-08
1020Canada2024-05-31
1021Canada2024-06-14
1022Brazil2024-05-29
1023United Kingdom2024-06-02
1024Canada2024-06-20
1025Japan2024-05-30
1026Brazil2024-06-21
1027Argentina2024-05-29
1028Russia2024-06-19
1029Italy2024-05-31
1030India2024-06-03
1031Australia2024-06-16
1032Japan2024-06-03
1033Brazil2024-06-10
1034Argentina2024-06-21
1035Argentina2024-06-17
1036Spain2024-06-10
1037Italy2024-06-11
1038Italy2024-05-26
1039Argentina2024-05-31
1040United Kingdom2024-06-06
1041Russia2024-06-13
1042United Kingdom2024-05-30
1043Argentina2024-05-24
1044Italy2024-06-12
1045Australia2024-06-18
1046Spain2024-06-18
1047Russia2024-06-10
1048Russia2024-06-13
1049Japan2024-06-15

On-Demand Data

NameIdCountryDate
Misaki E Perin1000Spain2024-06-10
Kaitlin C Kolmetz1001Spain2024-05-24
Greenwood F Flosi1002Spain2024-06-12
David K Caldarera1003Canada2024-06-11
Mujtaba X Perin1004Japan2024-06-11
Octavia A Caudy1005Canada2024-06-17
Alejandro D Schemmer1006Australia2024-06-06
Leon Q Iturbide1007Japan2024-06-18
Darci X Malet1008Canada2024-06-07
Claire W Malet1009Spain2024-06-13
Deepesh Y Saylors1010Canada2024-06-07
Rodrigues E Foller1011Japan2024-06-22
Ricardo E Malet1012Germany2024-06-17
Sinclair E Gaucho1013Japan2024-05-31
Cody G Wieser1014Spain2024-06-22
Kadeem I Darakjy1015United Kingdom2024-06-11
Octavia E Rulapaugh1016Argentina2024-05-31
Antonio V Figeroa1017Japan2024-05-30
Misaki P Rim1018Italy2024-05-30
Jeanfrancois A Gillian1019Canada2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow D GillianFranceAmy Elsner QUALIFIED
Julie L SlusarskiFranceStephen Shaw UNQUALIFIED
Misaki J MarrierFranceAnna Fali RENEWAL
Izzy J WaycottArgentinaAsiya Javayant NEW
Leja Q WieserBrazilStephen Shaw NEW
Aika X CaldareraBrazilBernardo Dominic RENEWAL
Leja B ChuiJapanOnyama Limba PROPOSAL
Jeanfrancois A MaletIndiaAmy Elsner PROPOSAL
Faith X PoquetteIndiaElwin Sharvill NEW
Faith R SlusarskiBrazilElwin Sharvill QUALIFIED
Johnson I RoysterArgentinaXuxue Feng UNQUALIFIED
Leja C VenereCanadaBernardo Dominic NEGOTIATION
Julie B StockhamCanadaOnyama Limba PROPOSAL
Aika I ChuiFranceXuxue Feng NEW
Ashley I ChuiFranceIoni Bowcher QUALIFIED
Kaitlin C MarrierCanadaXuxue Feng PROPOSAL
Smith E PerinJapanOnyama Limba QUALIFIED
Leon V MacleadItalyIoni Bowcher PROPOSAL
Aruna B StockhamUnited KingdomBernardo Dominic NEW
Clifford Y KuskoCanadaAmy Elsner QUALIFIED
Antonio Y MacleadRussiaOnyama Limba UNQUALIFIED
Kadeem P GillianAustraliaBernardo Dominic UNQUALIFIED
Salvatore A DarakjySpainAsiya Javayant NEGOTIATION
Leja P FigeroaBrazilXuxue Feng NEW
Mujtaba K WaycottRussiaIoni Bowcher NEGOTIATION
Kadeem R CaudyJapanXuxue Feng UNQUALIFIED
Sinclair S OstroskyCanadaAmy Elsner QUALIFIED
Ivar J ChuiArgentinaBernardo Dominic NEW
Isabel S RulapaughAustraliaIvan Magalhaes RENEWAL
David R ShinkoJapanBernardo Dominic QUALIFIED
Francesco W SchemmerGermanyXuxue Feng RENEWAL
Octavia B FigeroaSpainStephen Shaw PROPOSAL
Silvio Q SaylorsUnited KingdomAsiya Javayant QUALIFIED
Munro F CampainAustraliaBernardo Dominic NEW
Salvatore V RulapaughRussiaOnyama Limba PROPOSAL
Aruna Y OstroskyAustraliaAmy Elsner RENEWAL
Mujtaba B RutaGermanyAmy Elsner UNQUALIFIED
Jones B SchemmerUnited KingdomIoni Bowcher RENEWAL
Francesco R PoquetteUnited KingdomBernardo Dominic PROPOSAL
Munro I AmigonFranceElwin Sharvill 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>