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 U NickaJapanOnyama Limba NEGOTIATION
Ricardo Y OldroydFranceOnyama Limba NEGOTIATION
Smith U GillianArgentinaIvan Magalhaes PROPOSAL
Maisha U IturbideArgentinaIvan Magalhaes NEW
Juan F OldroydIndiaAsiya Javayant NEW
Greenwood A NickaArgentinaBernardo Dominic QUALIFIED
David O NestleRussiaElwin Sharvill UNQUALIFIED
Aditya J DilliardCanadaAmy Elsner PROPOSAL
Nicolas H FollerIndiaXuxue Feng PROPOSAL
Claire E ShinkoGermanyIoni Bowcher RENEWAL
Kadeem Y MacleadUnited KingdomIoni Bowcher RENEWAL
Jefferson I ChuiSpainStephen Shaw RENEWAL
Juan O SchemmerSpainAsiya Javayant QUALIFIED
Adams J NestleItalyOnyama Limba RENEWAL
Kaitlin H FigeroaBrazilIoni Bowcher PROPOSAL
Julie P FlosiItalyAnna Fali PROPOSAL
Cody D MaletAustraliaStephen Shaw UNQUALIFIED
Kadeem S WieserFranceXuxue Feng PROPOSAL
Antonio E GlickUnited KingdomStephen Shaw UNQUALIFIED
Stacey C PaprockiJapanAmy Elsner UNQUALIFIED
Emily S DilliardAustraliaIvan Magalhaes NEGOTIATION
Tony T VenereCanadaStephen Shaw QUALIFIED
Darci C DilliardItalyIoni Bowcher UNQUALIFIED
Ivar D MacleadUnited KingdomOnyama Limba PROPOSAL
Tony T WaycottAustraliaAmy Elsner RENEWAL
Faith I CaldareraRussiaBernardo Dominic PROPOSAL
Alejandro Q FigeroaAustraliaStephen Shaw PROPOSAL
Johnson C RoysterArgentinaXuxue Feng QUALIFIED
Kadeem J TollnerArgentinaIvan Magalhaes NEW
Greenwood D CampainUnited KingdomStephen Shaw NEW
Jones T BriddickArgentinaAnna Fali UNQUALIFIED
Leja E TollnerCanadaElwin Sharvill UNQUALIFIED
Francesco Y WaycottSpainBernardo Dominic UNQUALIFIED
Julie E OldroydUnited KingdomBernardo Dominic NEGOTIATION
Sinclair B VocelkaGermanyStephen Shaw UNQUALIFIED
Ashley R SergiItalyBernardo Dominic RENEWAL
Julie A BriddickGermanyIvan Magalhaes PROPOSAL
David H DilliardUnited KingdomBernardo Dominic PROPOSAL
Faith W DoeCanadaIoni Bowcher QUALIFIED
Arvin T ShinkoSpainIvan Magalhaes NEGOTIATION
Emily U KolmetzFranceElwin Sharvill NEGOTIATION
Wickens R NickaAustraliaBernardo Dominic UNQUALIFIED
Jennifer P FollerFranceIoni Bowcher PROPOSAL
Leon Y GauchoRussiaBernardo Dominic PROPOSAL
Emily K OldroydJapanBernardo Dominic NEW
Ivar Y WieserArgentinaAsiya Javayant UNQUALIFIED
Darci Y MorascaBrazilAsiya Javayant NEW
Maisha T BriddickAustraliaBernardo Dominic RENEWAL
Wickens D NickaItalyElwin Sharvill UNQUALIFIED
Mujtaba I GauchoArgentinaIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Juan H StockhamRussiaAmy Elsner UNQUALIFIED
Costa R BowleyUnited KingdomStephen Shaw PROPOSAL
Silvio J AlbaresArgentinaElwin Sharvill NEGOTIATION
Jones J FigeroaIndiaIoni Bowcher NEW
Morrow W PerinAustraliaElwin Sharvill NEGOTIATION
Sinclair C SlusarskiCanadaAmy Elsner NEW
Kaitlin G VocelkaJapanStephen Shaw NEGOTIATION
Jennifer V StensethArgentinaElwin Sharvill QUALIFIED
Silvio P ButtJapanOnyama Limba NEW
Sinclair F ShinkoAustraliaAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire D MaletAustralia2024-05-21Feltz Printing Service UNQUALIFIED16Asiya Javayant
1001Kadeem G IturbideArgentina2024-05-28Printing Dimensions RENEWAL14Amy Elsner
1002Sinclair D MacleadGermany2024-05-27Truhlar And Truhlar Attys PROPOSAL83Stephen Shaw
1003Julie D VenereJapan2024-05-25Commercial Press NEW43Ioni Bowcher
1004Jones G GillianAustralia2024-05-25Truhlar And Truhlar Attys UNQUALIFIED69Amy Elsner
1005Claire I MacleadCanada2024-06-10Rangoni Of Florence NEGOTIATION99Elwin Sharvill
1006Sinclair C SergiSpain2024-05-31Chanay, Jeffrey A Esq PROPOSAL89Bernardo Dominic
1007James S MacleadCanada2024-06-16Chapman, Ross E Esq QUALIFIED51Anna Fali
1008Rodrigues G FigeroaItaly2024-05-22Feiner Bros RENEWAL68Asiya Javayant
1009Emily I ShinkoArgentina2024-05-25Dorl, James J Esq NEGOTIATION28Xuxue Feng
1010Adams H IturbideRussia2024-06-18Chapman, Ross E Esq QUALIFIED15Onyama Limba
1011Ashley K KuskoRussia2024-05-21Benton, John B Jr PROPOSAL13Xuxue Feng
1012Mujtaba Z GauchoSpain2024-06-05Chemel, James L Cpa RENEWAL56Onyama Limba
1013Clifford H RimArgentina2024-05-28Feltz Printing Service RENEWAL57Elwin Sharvill
1014Greenwood Z DarakjyFrance2024-06-07Commercial Press RENEWAL35Xuxue Feng
1015Octavia W PerinAustralia2024-06-04Morlong Associates RENEWAL91Asiya Javayant
1016Ivar Q DoeAustralia2024-05-28Printing Dimensions QUALIFIED23Ioni Bowcher
1017Rodrigues V NestleRussia2024-05-31Morlong Associates NEW42Stephen Shaw
1018Aika E PoquetteAustralia2024-06-15Benton, John B Jr RENEWAL29Anna Fali
1019Julie J DoeUnited Kingdom2024-05-21Truhlar And Truhlar Attys UNQUALIFIED34Amy Elsner
1020Jefferson E BologniaRussia2024-06-07Rangoni Of Florence NEW68Anna Fali
1021Nicolas D AmigonItaly2024-05-26Chemel, James L Cpa PROPOSAL79Bernardo Dominic
1022Maisha A BologniaCanada2024-05-29Chemel, James L Cpa RENEWAL12Ivan Magalhaes
1023Cody M MaletRussia2024-06-07Truhlar And Truhlar Attys QUALIFIED23Amy Elsner
1024Aditya Z MaletFrance2024-05-29Chanay, Jeffrey A Esq NEGOTIATION63Elwin Sharvill
1025Kadeem Y MaletRussia2024-06-06Chapman, Ross E Esq UNQUALIFIED85Asiya Javayant
1026Morrow Y CaudyCanada2024-05-22Feiner Bros UNQUALIFIED19Ioni Bowcher
1027Aika T GillianFrance2024-05-23Commercial Press UNQUALIFIED98Elwin Sharvill
1028Aditya G SchemmerIndia2024-06-13Chanay, Jeffrey A Esq QUALIFIED48Asiya Javayant
1029Costa T WhobreyJapan2024-06-06Chemel, James L Cpa QUALIFIED52Amy Elsner
1030Smith E FollerAustralia2024-06-14Truhlar And Truhlar Attys NEGOTIATION50Stephen Shaw
1031Faith T ShinkoJapan2024-05-25Commercial Press NEGOTIATION59Xuxue Feng
1032Ivar K PerinIndia2024-06-13Rangoni Of Florence NEW79Stephen Shaw
1033Cody H StockhamGermany2024-05-20Truhlar And Truhlar Attys RENEWAL86Elwin Sharvill
1034James O CaudyAustralia2024-06-18Truhlar And Truhlar Attys NEGOTIATION43Stephen Shaw
1035Morrow F OstroskyJapan2024-05-21Buckley Miller Wright RENEWAL72Amy Elsner
1036Faith N KuskoGermany2024-06-18Rangoni Of Florence NEW64Asiya Javayant
1037Wickens H GarufiArgentina2024-05-21Commercial Press UNQUALIFIED7Xuxue Feng
1038Ashley C PaprockiIndia2024-06-05Feltz Printing Service RENEWAL15Stephen Shaw
1039Aika Q StockhamCanada2024-06-04Truhlar And Truhlar Attys UNQUALIFIED66Xuxue Feng
1040Jefferson D OldroydSpain2024-06-16Chemel, James L Cpa QUALIFIED74Elwin Sharvill
1041Claire Y PaprockiSpain2024-05-27Truhlar And Truhlar Attys UNQUALIFIED38Onyama Limba
1042Murillo S DarakjyItaly2024-05-28Printing Dimensions UNQUALIFIED72Ioni Bowcher
1043Misaki T WaycottBrazil2024-06-18Rousseaux, Michael Esq UNQUALIFIED42Asiya Javayant
1044Mujtaba S BriddickGermany2024-06-12Rangoni Of Florence NEW63Asiya Javayant
1045Nicolas D ShinkoItaly2024-06-05Chemel, James L Cpa RENEWAL24Anna Fali
1046Jeanfrancois F OstroskyRussia2024-05-21Rousseaux, Michael Esq PROPOSAL93Elwin Sharvill
1047Johnson R RimGermany2024-06-04King, Christopher A Esq QUALIFIED64Elwin Sharvill
1048Claire T MarrierGermany2024-06-06Feltz Printing Service PROPOSAL72Xuxue Feng
1049Ivar Y MaletSpain2024-05-22Dorl, James J Esq NEGOTIATION25Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Arvin Q NickaJapanIvan Magalhaes QUALIFIED
Jefferson J DilliardUnited KingdomAsiya Javayant PROPOSAL
Smith K AmigonArgentinaBernardo Dominic NEW
Mujtaba J MaletGermanyIvan Magalhaes QUALIFIED
Francesco C WhobreyArgentinaXuxue Feng PROPOSAL
Clifford I GlickUnited KingdomAmy Elsner QUALIFIED
Sinclair G SergiUnited KingdomAnna Fali QUALIFIED
Murillo V AmigonItalyBernardo Dominic QUALIFIED
Deepesh X AlbaresAustraliaIvan Magalhaes NEGOTIATION
Jennifer Y CaldareraIndiaAnna Fali PROPOSAL
Jennifer W MaletFranceStephen Shaw UNQUALIFIED
Leja U FerenczIndiaIvan Magalhaes QUALIFIED
Aruna M AlbaresSpainBernardo Dominic NEGOTIATION
Kaitlin N FollerAustraliaAnna Fali QUALIFIED
Emily J InouyeBrazilAnna Fali UNQUALIFIED
Adams T AlbaresSpainAmy Elsner UNQUALIFIED
Faith T BriddickCanadaXuxue Feng PROPOSAL
Antonio F AmigonFranceIoni Bowcher RENEWAL
Costa E RimGermanyAnna Fali UNQUALIFIED
Morrow N PoquetteAustraliaAnna Fali RENEWAL
Jones E BowleySpainIoni Bowcher UNQUALIFIED
Johnson P MaletUnited KingdomAsiya Javayant PROPOSAL
James G MarrierFranceBernardo Dominic UNQUALIFIED
Salvatore P BowleyFranceAmy Elsner UNQUALIFIED
Murillo O OldroydArgentinaAmy Elsner PROPOSAL
Misaki V IturbideFranceAnna Fali NEW
Jones Q InouyeBrazilAnna Fali NEW
Murillo G NestleGermanyXuxue Feng RENEWAL
Alejandro G TollnerItalyIvan Magalhaes NEGOTIATION
Kadeem T MacleadAustraliaIvan Magalhaes UNQUALIFIED
Rodrigues W RutaArgentinaAmy Elsner NEGOTIATION
Cody F SaylorsAustraliaIvan Magalhaes NEW
Arvin Z SlusarskiJapanXuxue Feng QUALIFIED
Mayumi N FollerArgentinaBernardo Dominic PROPOSAL
Francesco L KuskoGermanyXuxue Feng NEW
Nicolas V RoysterCanadaBernardo Dominic NEGOTIATION
Rodrigues A InouyeFranceAnna Fali PROPOSAL
Murillo W SaylorsJapanStephen Shaw QUALIFIED
Johnson I RimItalyBernardo Dominic NEW
Kaitlin A DoeIndiaBernardo Dominic NEW
Aruna E InouyeAustraliaIvan Magalhaes PROPOSAL
Cody K RulapaughRussiaAmy Elsner NEW
Isabel W ChuiRussiaXuxue Feng QUALIFIED
Antonio H FerenczSpainAnna Fali PROPOSAL
Adams P MaletGermanyAsiya Javayant PROPOSAL
Cody M PoquetteGermanyIvan Magalhaes RENEWAL
Cody X BriddickItalyIoni Bowcher NEGOTIATION
Faith J RutaAustraliaBernardo Dominic UNQUALIFIED
Salvatore J ButtRussiaStephen Shaw QUALIFIED
Francesco F KuskoItalyStephen Shaw NEGOTIATION
Frozen Columns
Name
Mujtaba D Chui
Adams C Kolmetz
Leon D Sergi
Ivar P Schemmer
Mujtaba T Vocelka
Salvatore D Bolognia
Francesco J Venere
Morrow E Glick
Jeanfrancois Z Flosi
Aika K Ferencz
Mujtaba O Marrier
Silvio Y Wieser
Greenwood A Gaucho
Misaki Z Royster
Kadeem N Gillian
Kadeem K Paprocki
David V Nicka
Isabel E Malet
Emily S Shinko
Emily G Iturbide
Adams Q Caldarera
Maisha W Kusko
Chavez O Rim
Munro G Saylors
Arvin T Ferencz
Nicolas G Garufi
Juan D Poquette
Costa D Inouye
Emily C Oldroyd
Ashley M Kolmetz
Silvio G Chui
Maria J Chui
Mujtaba X Venere
Faith X Shinko
Arvin P Venere
Leon C Morasca
Leon T Doe
Octavia J Rulapaugh
Izzy W Briddick
Kadeem G Chui
Leon Q Rim
Smith F Gaucho
Ricardo O Kolmetz
Nicolas S Venere
Rodrigues Y Waycott
Murillo A Nestle
Arvin O Figeroa
David R Campain
Sinclair L Poquette
James S Poquette
IdCountryDate
1000Spain2024-06-05
1001India2024-06-06
1002Russia2024-06-17
1003Germany2024-06-08
1004France2024-06-05
1005Canada2024-06-18
1006India2024-06-05
1007Canada2024-06-08
1008Spain2024-06-17
1009Germany2024-06-15
1010Japan2024-06-07
1011Canada2024-06-01
1012Argentina2024-06-07
1013Italy2024-06-11
1014Russia2024-06-13
1015Russia2024-06-16
1016Brazil2024-06-02
1017Russia2024-05-22
1018Argentina2024-06-12
1019Italy2024-05-21
1020Spain2024-05-27
1021Australia2024-05-23
1022France2024-05-23
1023India2024-05-23
1024Italy2024-06-10
1025Spain2024-05-21
1026Germany2024-06-13
1027United Kingdom2024-05-31
1028Argentina2024-06-02
1029Russia2024-05-30
1030Spain2024-06-13
1031Spain2024-06-12
1032Argentina2024-06-04
1033France2024-06-05
1034Canada2024-05-26
1035Brazil2024-06-13
1036France2024-06-03
1037Australia2024-05-21
1038Australia2024-06-16
1039Australia2024-05-29
1040France2024-05-29
1041Canada2024-06-15
1042Argentina2024-06-15
1043Canada2024-06-17
1044United Kingdom2024-06-01
1045India2024-05-28
1046Argentina2024-06-09
1047Russia2024-06-06
1048Italy2024-06-13
1049Argentina2024-05-27

On-Demand Data

NameIdCountryDate
Faith E Albares1000Russia2024-06-12
James G Amigon1001Argentina2024-06-11
Francesco L Rim1002Brazil2024-05-26
Mujtaba F Malet1003Australia2024-05-24
Salvatore A Doe1004United Kingdom2024-06-18
Ricardo D Royster1005Australia2024-06-09
Antonio Z Venere1006United Kingdom2024-06-14
Costa L Nestle1007Japan2024-06-16
Emily J Dilliard1008Canada2024-06-10
Aika R Amigon1009Spain2024-05-22
Nicolas F Ostrosky1010Germany2024-05-24
Jeanfrancois H Kolmetz1011Argentina2024-06-13
Antonio V Paprocki1012Australia2024-05-25
Juan O Ostrosky1013Brazil2024-05-27
Stacey S Vocelka1014India2024-06-03
Juan G Rim1015Italy2024-06-08
Faith F Oldroyd1016Russia2024-05-30
Salvatore S Malet1017Japan2024-06-06
Maisha B Albares1018Italy2024-06-08
Antonio Y Flosi1019Italy2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues H BriddickArgentinaXuxue Feng NEGOTIATION
Salvatore R AmigonIndiaIvan Magalhaes QUALIFIED
Izzy J SaylorsItalyOnyama Limba QUALIFIED
Johnson L CaudyBrazilAnna Fali UNQUALIFIED
Aruna V RulapaughCanadaOnyama Limba UNQUALIFIED
Kaitlin D MaletAustraliaOnyama Limba RENEWAL
Salvatore O WhobreyCanadaXuxue Feng NEGOTIATION
Isabel H MaletAustraliaIoni Bowcher QUALIFIED
Leja M PaprockiSpainAsiya Javayant RENEWAL
Smith X ButtSpainAnna Fali UNQUALIFIED
Jones B OstroskyFranceBernardo Dominic NEW
Kaitlin F RutaJapanAmy Elsner NEW
Izzy P MorascaUnited KingdomElwin Sharvill NEGOTIATION
Silvio M RimBrazilIoni Bowcher RENEWAL
Misaki N SaylorsRussiaElwin Sharvill NEGOTIATION
Misaki R NickaAustraliaElwin Sharvill UNQUALIFIED
Faith Y WhobreyGermanyElwin Sharvill NEW
Cody T CaldareraJapanBernardo Dominic QUALIFIED
Ivar V WhobreyArgentinaAnna Fali QUALIFIED
Jeanfrancois N ButtSpainOnyama Limba QUALIFIED
Kaitlin T NestleItalyStephen Shaw UNQUALIFIED
Greenwood Y ButtBrazilAsiya Javayant UNQUALIFIED
Aruna A TollnerArgentinaIoni Bowcher PROPOSAL
James Q GauchoBrazilAmy Elsner RENEWAL
Leja M KolmetzFranceAsiya Javayant QUALIFIED
Leja D AlbaresFranceIoni Bowcher PROPOSAL
Leon P KolmetzCanadaAmy Elsner QUALIFIED
David F WhobreyAustraliaOnyama Limba RENEWAL
Emily A IturbideAustraliaStephen Shaw QUALIFIED
Aika A SlusarskiArgentinaBernardo Dominic RENEWAL
Murillo P FlosiIndiaIvan Magalhaes RENEWAL
Maria L VenereJapanXuxue Feng QUALIFIED
Faith Y AmigonCanadaAmy Elsner PROPOSAL
Sinclair P CampainAustraliaBernardo Dominic RENEWAL
Johnson Q RulapaughRussiaIvan Magalhaes UNQUALIFIED
Sinclair V MorascaBrazilXuxue Feng PROPOSAL
Silvio R DoeRussiaIoni Bowcher PROPOSAL
Emily J FerenczIndiaXuxue Feng PROPOSAL
Alejandro O BriddickGermanyIoni Bowcher PROPOSAL
Jones O WhobreySpainOnyama Limba 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>