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
Leon Z RutaJapanAnna Fali NEW
Greenwood X FerenczIndiaAsiya Javayant UNQUALIFIED
Munro F TollnerJapanStephen Shaw NEW
Jefferson N FlosiRussiaElwin Sharvill RENEWAL
Greenwood R ButtIndiaOnyama Limba QUALIFIED
Octavia Q RoysterSpainStephen Shaw RENEWAL
Octavia K AmigonGermanyXuxue Feng QUALIFIED
Tony X PaprockiBrazilXuxue Feng UNQUALIFIED
David A StockhamArgentinaBernardo Dominic NEW
Antonio B StensethFranceAnna Fali PROPOSAL
Aruna B DoeArgentinaBernardo Dominic NEGOTIATION
Misaki G RoysterArgentinaAnna Fali UNQUALIFIED
Mayumi X PoquetteGermanyIoni Bowcher NEGOTIATION
Ricardo W WaycottUnited KingdomBernardo Dominic QUALIFIED
Aika C WieserBrazilXuxue Feng QUALIFIED
Jennifer E KuskoGermanyAmy Elsner NEGOTIATION
Izzy P ShinkoArgentinaIvan Magalhaes NEW
Murillo I NestleBrazilAnna Fali NEGOTIATION
Darci K BriddickArgentinaStephen Shaw NEGOTIATION
Aditya M SchemmerBrazilAmy Elsner QUALIFIED
Juan Y WhobreyCanadaStephen Shaw RENEWAL
Alejandro E FerenczIndiaOnyama Limba RENEWAL
Faith F KolmetzRussiaBernardo Dominic NEGOTIATION
Julie P CampainBrazilXuxue Feng NEW
Claire I DarakjyCanadaAsiya Javayant NEGOTIATION
Silvio V WhobreyUnited KingdomBernardo Dominic QUALIFIED
Greenwood B ButtUnited KingdomAmy Elsner NEW
Aditya Z VenereRussiaXuxue Feng UNQUALIFIED
Jeanfrancois N GauchoAustraliaAsiya Javayant QUALIFIED
Alejandro D RimCanadaBernardo Dominic RENEWAL
Murillo X RulapaughJapanXuxue Feng PROPOSAL
Murillo J WhobreyArgentinaAsiya Javayant PROPOSAL
Leja K AlbaresIndiaElwin Sharvill UNQUALIFIED
Clifford P MarrierRussiaXuxue Feng QUALIFIED
Jones H FollerCanadaXuxue Feng NEGOTIATION
Jones W PaprockiUnited KingdomIoni Bowcher UNQUALIFIED
Aika E RimGermanyBernardo Dominic RENEWAL
Misaki Z PerinUnited KingdomBernardo Dominic NEW
Maisha J InouyeUnited KingdomOnyama Limba PROPOSAL
Emily C FerenczUnited KingdomOnyama Limba UNQUALIFIED
Izzy C MorascaFranceAsiya Javayant UNQUALIFIED
Alejandro D MacleadIndiaAmy Elsner PROPOSAL
Octavia Z AmigonArgentinaIoni Bowcher NEGOTIATION
Emily K CaldareraIndiaBernardo Dominic RENEWAL
Deepesh X BowleyArgentinaBernardo Dominic QUALIFIED
Maria X MaletRussiaXuxue Feng NEW
Leja B MacleadFranceIoni Bowcher RENEWAL
Jefferson V FigeroaCanadaElwin Sharvill NEGOTIATION
Emily H MacleadUnited KingdomAmy Elsner NEGOTIATION
Jeanfrancois P MorascaArgentinaOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Tony H TollnerItalyAsiya Javayant NEGOTIATION
Tony S DilliardBrazilElwin Sharvill PROPOSAL
Mayumi Z WhobreyRussiaStephen Shaw QUALIFIED
Julie F OstroskyCanadaIoni Bowcher NEW
Juan E MorascaCanadaBernardo Dominic PROPOSAL
Jennifer A FollerAustraliaXuxue Feng NEW
Alejandro T FollerJapanAnna Fali PROPOSAL
James N MarrierFranceIvan Magalhaes NEGOTIATION
Leja N KolmetzCanadaAnna Fali NEW
Murillo Y MarrierRussiaElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony M StensethCanada2025-06-15Truhlar And Truhlar Attys RENEWAL82Amy Elsner
1001Juan Y RimJapan2025-06-14Chemel, James L Cpa QUALIFIED66Ivan Magalhaes
1002Darci L WieserSpain2025-05-22Chemel, James L Cpa QUALIFIED90Amy Elsner
1003Alejandro Z DoeJapan2025-05-23Chanay, Jeffrey A Esq RENEWAL67Xuxue Feng
1004Kaitlin J CampainFrance2025-05-31Rangoni Of Florence PROPOSAL92Amy Elsner
1005Ashley K ChuiAustralia2025-05-24Commercial Press NEGOTIATION30Asiya Javayant
1006Izzy R BriddickSpain2025-05-29Benton, John B Jr NEW78Amy Elsner
1007Mujtaba O BowleyUnited Kingdom2025-05-29Feltz Printing Service NEGOTIATION4Bernardo Dominic
1008Murillo I FerenczArgentina2025-06-06Chemel, James L Cpa RENEWAL23Stephen Shaw
1009Juan D BriddickArgentina2025-05-28Chapman, Ross E Esq PROPOSAL18Asiya Javayant
1010Leon V VocelkaFrance2025-06-13Chanay, Jeffrey A Esq NEGOTIATION3Asiya Javayant
1011Mayumi E VenereArgentina2025-06-15Feltz Printing Service RENEWAL24Ioni Bowcher
1012Jeanfrancois R GlickFrance2025-05-26Truhlar And Truhlar Attys UNQUALIFIED20Anna Fali
1013Leon N RimJapan2025-06-06Feiner Bros QUALIFIED65Bernardo Dominic
1014Claire F CampainGermany2025-06-14Rousseaux, Michael Esq UNQUALIFIED6Asiya Javayant
1015Alejandro W BologniaAustralia2025-06-10Dorl, James J Esq NEGOTIATION89Bernardo Dominic
1016Antonio X AlbaresGermany2025-05-25Benton, John B Jr UNQUALIFIED64Bernardo Dominic
1017Kadeem H BriddickSpain2025-06-13Feltz Printing Service UNQUALIFIED20Anna Fali
1018David V NickaRussia2025-05-28King, Christopher A Esq QUALIFIED39Asiya Javayant
1019Leon A DilliardArgentina2025-06-01Chanay, Jeffrey A Esq QUALIFIED31Stephen Shaw
1020Francesco E IturbideGermany2025-05-28Chemel, James L Cpa PROPOSAL24Asiya Javayant
1021Kaitlin U FigeroaGermany2025-06-14Chemel, James L Cpa QUALIFIED17Stephen Shaw
1022Leja Y ChuiCanada2025-06-13Printing Dimensions UNQUALIFIED20Bernardo Dominic
1023Jefferson W MarrierItaly2025-06-13Benton, John B Jr UNQUALIFIED11Asiya Javayant
1024David O BologniaItaly2025-06-13Commercial Press NEGOTIATION39Ioni Bowcher
1025Antonio O RimArgentina2025-06-06Chemel, James L Cpa NEGOTIATION49Bernardo Dominic
1026Julie Z ShinkoBrazil2025-06-07Chanay, Jeffrey A Esq NEW25Amy Elsner
1027Antonio Q OldroydAustralia2025-05-21Truhlar And Truhlar Attys QUALIFIED89Onyama Limba
1028Cody F WaycottAustralia2025-06-13Truhlar And Truhlar Attys UNQUALIFIED7Anna Fali
1029Kadeem G WhobreySpain2025-05-20Truhlar And Truhlar Attys PROPOSAL84Ioni Bowcher
1030Claire X WhobreyIndia2025-06-12Rangoni Of Florence PROPOSAL60Ioni Bowcher
1031Mayumi D MaletUnited Kingdom2025-05-23Chemel, James L Cpa UNQUALIFIED67Asiya Javayant
1032Cody F WieserFrance2025-06-04Chemel, James L Cpa PROPOSAL22Bernardo Dominic
1033David V NickaGermany2025-06-09Rousseaux, Michael Esq PROPOSAL41Amy Elsner
1034Rodrigues O ButtIndia2025-05-28Buckley Miller Wright RENEWAL88Anna Fali
1035Aditya Y DoeRussia2025-05-23Truhlar And Truhlar Attys PROPOSAL23Onyama Limba
1036Kaitlin T RoysterIndia2025-05-25Rousseaux, Michael Esq NEW50Anna Fali
1037Kaitlin W MorascaItaly2025-06-03Chemel, James L Cpa NEGOTIATION75Anna Fali
1038Misaki T OldroydGermany2025-06-06Chanay, Jeffrey A Esq RENEWAL98Bernardo Dominic
1039Faith B FollerBrazil2025-06-05Chapman, Ross E Esq NEGOTIATION12Asiya Javayant
1040Morrow B VocelkaItaly2025-06-11Commercial Press NEW6Elwin Sharvill
1041Isabel N SlusarskiGermany2025-05-24Rousseaux, Michael Esq QUALIFIED32Xuxue Feng
1042Stacey H GarufiItaly2025-06-15Commercial Press NEW76Anna Fali
1043Maria B BriddickRussia2025-05-29Benton, John B Jr PROPOSAL17Ioni Bowcher
1044Arvin T VenereItaly2025-06-07Printing Dimensions PROPOSAL40Amy Elsner
1045Chavez O RimItaly2025-05-27Rangoni Of Florence NEGOTIATION50Anna Fali
1046Francesco Q InouyeIndia2025-05-24Dorl, James J Esq UNQUALIFIED79Amy Elsner
1047Kadeem H InouyeArgentina2025-06-15Dorl, James J Esq UNQUALIFIED53Ivan Magalhaes
1048Johnson G BowleyRussia2025-06-15Truhlar And Truhlar Attys PROPOSAL84Bernardo Dominic
1049Murillo F FigeroaBrazil2025-05-27Feltz Printing Service NEGOTIATION14Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Ashley O SchemmerUnited KingdomOnyama Limba UNQUALIFIED
Leon G GlickBrazilStephen Shaw QUALIFIED
Ivar N FigeroaCanadaXuxue Feng RENEWAL
Leon S IturbideGermanyAnna Fali NEGOTIATION
Maisha P SchemmerItalyIvan Magalhaes QUALIFIED
Mayumi P FollerAustraliaAnna Fali QUALIFIED
Morrow P SaylorsItalyAsiya Javayant NEW
Adams O MarrierItalyStephen Shaw UNQUALIFIED
Isabel O FerenczAustraliaIvan Magalhaes UNQUALIFIED
Ashley W FerenczBrazilIvan Magalhaes NEW
Tony N VocelkaArgentinaOnyama Limba NEW
Deepesh I CaudyGermanyAnna Fali UNQUALIFIED
Nicolas N DilliardSpainIoni Bowcher QUALIFIED
James A CampainRussiaAnna Fali UNQUALIFIED
Arvin F PoquetteSpainBernardo Dominic PROPOSAL
Ricardo K GillianIndiaOnyama Limba RENEWAL
Kadeem I WhobreySpainAmy Elsner NEW
Jeanfrancois Q ButtArgentinaAnna Fali NEW
Maria I SergiCanadaAnna Fali QUALIFIED
Octavia G OldroydGermanyOnyama Limba QUALIFIED
Ashley O StockhamArgentinaAnna Fali QUALIFIED
Greenwood A MorascaIndiaAsiya Javayant UNQUALIFIED
Maisha S KolmetzJapanAsiya Javayant NEW
Murillo I BologniaItalyOnyama Limba QUALIFIED
Leon F IturbideFranceStephen Shaw UNQUALIFIED
Arvin Q CaudyArgentinaAnna Fali NEW
Johnson J WieserRussiaIvan Magalhaes RENEWAL
Izzy K NickaCanadaElwin Sharvill NEW
Jeanfrancois P WieserFranceOnyama Limba QUALIFIED
Aruna O PaprockiJapanStephen Shaw NEW
Claire R DarakjyFranceAnna Fali NEW
Octavia A BriddickAustraliaIoni Bowcher NEGOTIATION
Leja M OstroskySpainBernardo Dominic QUALIFIED
Octavia K FigeroaArgentinaAmy Elsner NEGOTIATION
Chavez F FigeroaBrazilIoni Bowcher UNQUALIFIED
Leja E KuskoFranceElwin Sharvill PROPOSAL
Adams K FigeroaArgentinaIvan Magalhaes NEW
Nicolas J CaudyUnited KingdomIoni Bowcher NEGOTIATION
Maisha A VocelkaItalyAsiya Javayant NEGOTIATION
Ivar O MaletFranceIvan Magalhaes RENEWAL
Aika X BriddickBrazilAnna Fali QUALIFIED
Kadeem R NickaArgentinaIoni Bowcher NEW
Misaki L BriddickItalyStephen Shaw PROPOSAL
Chavez V BologniaCanadaElwin Sharvill UNQUALIFIED
Smith E BriddickSpainOnyama Limba RENEWAL
Ashley N SchemmerItalyElwin Sharvill UNQUALIFIED
James H MaletRussiaOnyama Limba NEW
Leon G WaycottCanadaStephen Shaw NEGOTIATION
Costa O DarakjyArgentinaBernardo Dominic NEGOTIATION
Wickens H FerenczBrazilIoni Bowcher PROPOSAL
Frozen Columns
Name
Isabel V Ferencz
Arvin P Vocelka
Morrow X Kolmetz
Adams D Albares
Jones W Flosi
Isabel I Nicka
Leon W Stenseth
Costa C Rulapaugh
David E Wieser
Johnson I Oldroyd
Emily H Darakjy
Alejandro V Venere
Murillo J Poquette
Maisha A Waycott
Aruna Q Malet
Julie L Venere
Sinclair G Caldarera
Antonio U Waycott
Stacey M Foller
Costa N Ferencz
Francesco N Morasca
Murillo V Figeroa
Silvio W Sergi
Juan B Gillian
Juan O Albares
Francesco H Glick
Salvatore G Chui
Juan G Flosi
Johnson K Maclead
Julie N Chui
Misaki J Albares
Costa K Campain
Sinclair N Tollner
Aruna B Gillian
Clifford I Maclead
Costa C Maclead
Ricardo C Wieser
Julie I Caldarera
Claire M Rulapaugh
Rodrigues Y Morasca
Jones U Maclead
Octavia N Morasca
Francesco R Saylors
Chavez V Amigon
Antonio Y Ruta
Wickens Z Glick
Salvatore N Kolmetz
Jefferson V Schemmer
Munro S Caudy
Leja K Marrier
IdCountryDate
1000Australia2025-05-24
1001Russia2025-05-31
1002Brazil2025-05-30
1003Canada2025-05-22
1004United Kingdom2025-06-05
1005Italy2025-06-09
1006Japan2025-05-22
1007Brazil2025-05-22
1008India2025-06-11
1009France2025-06-15
1010United Kingdom2025-05-23
1011Russia2025-06-04
1012Canada2025-05-29
1013United Kingdom2025-05-23
1014Canada2025-06-05
1015India2025-06-08
1016Canada2025-06-03
1017Canada2025-05-24
1018India2025-05-23
1019India2025-06-09
1020Japan2025-05-27
1021Italy2025-05-29
1022Germany2025-06-10
1023Argentina2025-05-27
1024Canada2025-05-26
1025Japan2025-06-09
1026Russia2025-06-03
1027Canada2025-06-01
1028Canada2025-06-05
1029Germany2025-06-11
1030India2025-05-26
1031Argentina2025-05-23
1032Japan2025-05-30
1033France2025-06-12
1034Germany2025-05-29
1035Japan2025-05-23
1036Germany2025-05-20
1037Canada2025-05-30
1038Germany2025-06-06
1039India2025-06-06
1040France2025-06-08
1041United Kingdom2025-05-29
1042Australia2025-05-27
1043Canada2025-06-13
1044United Kingdom2025-06-05
1045Germany2025-05-23
1046Argentina2025-06-09
1047Brazil2025-06-13
1048Italy2025-06-03
1049Russia2025-05-30

On-Demand Data

NameIdCountryDate
Julie U Darakjy1000Australia2025-05-21
David S Garufi1001Russia2025-05-24
Clifford E Maclead1002India2025-05-27
Munro E Doe1003France2025-06-14
Salvatore P Poquette1004Argentina2025-05-23
Alejandro P Shinko1005Spain2025-06-15
Morrow G Gaucho1006India2025-05-30
Julie D Gillian1007Italy2025-05-25
Wickens V Glick1008Canada2025-06-03
Isabel L Bowley1009India2025-05-26
Ashley A Dilliard1010Argentina2025-05-21
Jefferson K Morasca1011Argentina2025-05-18
Johnson I Campain1012India2025-06-05
Murillo N Bolognia1013Germany2025-05-22
Maisha L Figeroa1014France2025-05-17
Maisha L Morasca1015Japan2025-05-29
Stacey J Malet1016Argentina2025-06-08
Leja N Darakjy1017Spain2025-06-07
Antonio G Dilliard1018Brazil2025-05-18
Smith U Figeroa1019Argentina2025-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey H WieserBrazilBernardo Dominic UNQUALIFIED
Misaki E ChuiCanadaXuxue Feng UNQUALIFIED
Maisha U TollnerItalyOnyama Limba NEW
Ricardo D MaletAustraliaIvan Magalhaes QUALIFIED
Leja V ChuiUnited KingdomAmy Elsner NEGOTIATION
Aika K FigeroaCanadaAnna Fali UNQUALIFIED
Stacey I StockhamFranceBernardo Dominic NEW
Claire A RutaAustraliaOnyama Limba UNQUALIFIED
Jeanfrancois W MaletBrazilIoni Bowcher PROPOSAL
Johnson U GlickBrazilStephen Shaw QUALIFIED
Murillo K SchemmerGermanyAsiya Javayant PROPOSAL
Aika J RoysterIndiaIvan Magalhaes PROPOSAL
Aditya B InouyeArgentinaOnyama Limba QUALIFIED
Ashley S SaylorsItalyAnna Fali NEGOTIATION
Jeanfrancois J NestleJapanElwin Sharvill QUALIFIED
Arvin L CaudyIndiaIoni Bowcher PROPOSAL
Izzy L StensethAustraliaAnna Fali UNQUALIFIED
Costa C GauchoFranceOnyama Limba QUALIFIED
Jones L RoysterUnited KingdomStephen Shaw NEGOTIATION
Mujtaba U PerinGermanyAsiya Javayant PROPOSAL
Stacey G StockhamFranceAmy Elsner NEW
Morrow T SaylorsArgentinaElwin Sharvill RENEWAL
Julie Q RimArgentinaStephen Shaw NEGOTIATION
Chavez M ShinkoItalyOnyama Limba NEW
Kadeem N KuskoJapanBernardo Dominic RENEWAL
Smith A DilliardUnited KingdomElwin Sharvill QUALIFIED
Claire W RoysterArgentinaIoni Bowcher QUALIFIED
Octavia V SlusarskiCanadaAmy Elsner NEGOTIATION
Deepesh R OstroskyItalyStephen Shaw PROPOSAL
Sinclair G RulapaughRussiaAsiya Javayant PROPOSAL
Jones G OldroydCanadaAnna Fali NEGOTIATION
Emily X IturbideRussiaIvan Magalhaes RENEWAL
Aruna E DoeItalyAmy Elsner PROPOSAL
Leon T DilliardCanadaBernardo Dominic NEGOTIATION
Mujtaba V InouyeCanadaOnyama Limba UNQUALIFIED
Juan V MaletRussiaXuxue Feng QUALIFIED
Francesco X ChuiBrazilIoni Bowcher PROPOSAL
Smith K GillianBrazilBernardo Dominic NEW
Clifford G GlickJapanXuxue Feng RENEWAL
Jennifer M ButtRussiaAsiya Javayant 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>