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
Clifford J GlickFranceElwin Sharvill UNQUALIFIED
Izzy Y AmigonItalyAmy Elsner RENEWAL
Salvatore V RimFranceAnna Fali PROPOSAL
James S GillianItalyBernardo Dominic RENEWAL
Silvio D GlickAustraliaIvan Magalhaes NEGOTIATION
Ivar A MaletRussiaXuxue Feng NEGOTIATION
Costa G IturbideItalyXuxue Feng NEW
Greenwood P DilliardSpainAnna Fali UNQUALIFIED
Octavia O FerenczItalyBernardo Dominic NEW
Antonio Q ChuiUnited KingdomAsiya Javayant UNQUALIFIED
Munro M SchemmerUnited KingdomIoni Bowcher QUALIFIED
James H RutaAustraliaElwin Sharvill NEGOTIATION
Maisha A AlbaresJapanAmy Elsner QUALIFIED
Smith D AmigonItalyElwin Sharvill PROPOSAL
Emily L RutaCanadaElwin Sharvill RENEWAL
Aditya V BowleyCanadaAnna Fali UNQUALIFIED
Izzy T FollerUnited KingdomBernardo Dominic PROPOSAL
Leon I AmigonGermanyAsiya Javayant UNQUALIFIED
Antonio C FerenczFranceElwin Sharvill NEW
Adams N TollnerBrazilBernardo Dominic UNQUALIFIED
Cody X OldroydSpainStephen Shaw RENEWAL
Kadeem U MaletJapanOnyama Limba NEGOTIATION
Sinclair P AmigonAustraliaAmy Elsner PROPOSAL
Silvio K FigeroaBrazilAsiya Javayant UNQUALIFIED
Darci Y TollnerArgentinaElwin Sharvill UNQUALIFIED
Deepesh Y PoquetteFranceIoni Bowcher PROPOSAL
Faith S BowleyAustraliaElwin Sharvill NEW
Faith W AmigonUnited KingdomIvan Magalhaes NEW
Izzy V PoquetteItalyOnyama Limba NEW
Aika G SchemmerUnited KingdomBernardo Dominic RENEWAL
Ivar Z MarrierRussiaStephen Shaw NEW
Murillo S CampainIndiaXuxue Feng NEGOTIATION
Juan N SlusarskiIndiaAsiya Javayant PROPOSAL
Cody D MaletFranceStephen Shaw QUALIFIED
Kaitlin Z PoquetteAustraliaAnna Fali PROPOSAL
Jennifer R VenereRussiaIvan Magalhaes NEGOTIATION
Octavia Y KuskoAustraliaOnyama Limba RENEWAL
Francesco X GauchoAustraliaIvan Magalhaes NEW
James N BologniaAustraliaXuxue Feng NEGOTIATION
Morrow X ChuiSpainXuxue Feng QUALIFIED
Leja E SlusarskiBrazilAsiya Javayant NEW
Ashley B MacleadCanadaStephen Shaw NEGOTIATION
Tony D MorascaAustraliaElwin Sharvill QUALIFIED
Isabel I KuskoUnited KingdomXuxue Feng QUALIFIED
Murillo Z MorascaBrazilElwin Sharvill NEGOTIATION
Tony N PaprockiAustraliaAnna Fali QUALIFIED
Cody F ButtJapanAsiya Javayant UNQUALIFIED
Antonio V DoeFranceStephen Shaw NEGOTIATION
Costa V KuskoSpainIoni Bowcher UNQUALIFIED
Emily T WhobreyAustraliaAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Greenwood A RutaIndiaElwin Sharvill PROPOSAL
Kaitlin H GillianCanadaAsiya Javayant RENEWAL
David S BowleySpainAnna Fali NEW
Salvatore T MacleadBrazilIvan Magalhaes RENEWAL
Arvin R InouyeBrazilElwin Sharvill UNQUALIFIED
Izzy A NestleItalyOnyama Limba RENEWAL
Munro M PaprockiGermanyXuxue Feng RENEWAL
Jones O NestleAustraliaIoni Bowcher UNQUALIFIED
Juan P BowleySpainBernardo Dominic QUALIFIED
Faith Y VenereRussiaElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba T PerinGermany2025-05-20Chemel, James L Cpa NEGOTIATION32Amy Elsner
1001Francesco P GlickItaly2025-05-29Chanay, Jeffrey A Esq NEGOTIATION42Elwin Sharvill
1002Tony Y StockhamBrazil2025-05-21Feiner Bros QUALIFIED28Stephen Shaw
1003Ricardo E SlusarskiRussia2025-06-13Chapman, Ross E Esq UNQUALIFIED32Elwin Sharvill
1004Ivar U BowleyFrance2025-05-30Rangoni Of Florence NEW51Stephen Shaw
1005Munro I SchemmerBrazil2025-06-03Chemel, James L Cpa NEW71Ivan Magalhaes
1006Chavez L OldroydJapan2025-05-27Feiner Bros NEW85Stephen Shaw
1007Maisha U GauchoCanada2025-06-05Printing Dimensions NEGOTIATION58Amy Elsner
1008Kaitlin M OstroskyFrance2025-06-03Benton, John B Jr PROPOSAL79Onyama Limba
1009Darci M MorascaGermany2025-06-13Rousseaux, Michael Esq QUALIFIED69Xuxue Feng
1010Mayumi M KolmetzSpain2025-05-27Dorl, James J Esq PROPOSAL98Stephen Shaw
1011Jennifer M VocelkaUnited Kingdom2025-05-21Morlong Associates PROPOSAL0Onyama Limba
1012Darci K PerinAustralia2025-06-05Feiner Bros UNQUALIFIED77Ioni Bowcher
1013Claire I VocelkaUnited Kingdom2025-05-18Buckley Miller Wright NEW45Elwin Sharvill
1014Kaitlin Q SlusarskiIndia2025-06-05Chanay, Jeffrey A Esq NEGOTIATION55Amy Elsner
1015Jefferson M StockhamFrance2025-05-19Commercial Press RENEWAL83Asiya Javayant
1016Murillo U MaletFrance2025-05-25Chemel, James L Cpa NEW72Stephen Shaw
1017Francesco Q CaudyItaly2025-06-02Morlong Associates QUALIFIED67Asiya Javayant
1018Octavia U VocelkaRussia2025-05-21Benton, John B Jr NEGOTIATION76Bernardo Dominic
1019Leon M KolmetzSpain2025-05-17King, Christopher A Esq NEW88Asiya Javayant
1020Ivar U OstroskyGermany2025-05-24Chanay, Jeffrey A Esq QUALIFIED12Xuxue Feng
1021Antonio Y MaletCanada2025-05-26Dorl, James J Esq UNQUALIFIED22Ivan Magalhaes
1022Emily C MaletItaly2025-06-04Truhlar And Truhlar Attys PROPOSAL51Elwin Sharvill
1023Maria U ButtArgentina2025-06-05Dorl, James J Esq RENEWAL94Onyama Limba
1024Chavez P SlusarskiIndia2025-05-21Chanay, Jeffrey A Esq RENEWAL58Stephen Shaw
1025Salvatore R MaletCanada2025-06-01Rousseaux, Michael Esq RENEWAL85Asiya Javayant
1026Mayumi O DilliardGermany2025-05-22Feltz Printing Service NEGOTIATION91Ivan Magalhaes
1027Wickens W CaldareraJapan2025-06-05Chapman, Ross E Esq QUALIFIED30Elwin Sharvill
1028Octavia L OstroskyGermany2025-06-15Feltz Printing Service NEGOTIATION88Stephen Shaw
1029Wickens C FlosiGermany2025-06-11Morlong Associates UNQUALIFIED63Asiya Javayant
1030Isabel C KuskoRussia2025-05-23Chapman, Ross E Esq NEGOTIATION57Xuxue Feng
1031Johnson C TollnerItaly2025-05-26Rangoni Of Florence QUALIFIED21Stephen Shaw
1032Faith F BriddickIndia2025-06-13Printing Dimensions UNQUALIFIED18Onyama Limba
1033Costa O DoeSpain2025-05-31Commercial Press NEGOTIATION94Anna Fali
1034Ivar S CaldareraIndia2025-06-12Printing Dimensions NEW95Ioni Bowcher
1035Juan F SergiFrance2025-06-14Chanay, Jeffrey A Esq NEGOTIATION57Amy Elsner
1036Ashley E ChuiIndia2025-05-23Buckley Miller Wright QUALIFIED72Bernardo Dominic
1037Aruna Y MarrierAustralia2025-05-25Feltz Printing Service UNQUALIFIED86Elwin Sharvill
1038Mujtaba S FerenczJapan2025-05-21King, Christopher A Esq NEGOTIATION84Ivan Magalhaes
1039Jennifer C MaletAustralia2025-06-06Chapman, Ross E Esq PROPOSAL8Xuxue Feng
1040Ashley B SergiBrazil2025-06-09Truhlar And Truhlar Attys PROPOSAL31Stephen Shaw
1041James T BriddickRussia2025-05-17Rousseaux, Michael Esq QUALIFIED18Asiya Javayant
1042Aika K RulapaughJapan2025-06-07Truhlar And Truhlar Attys UNQUALIFIED98Stephen Shaw
1043Juan J VenereFrance2025-06-05Chemel, James L Cpa NEGOTIATION45Anna Fali
1044Nicolas Z ButtSpain2025-05-20Dorl, James J Esq QUALIFIED35Amy Elsner
1045Sinclair C KuskoGermany2025-05-25Commercial Press QUALIFIED78Asiya Javayant
1046Clifford U RulapaughFrance2025-05-19Morlong Associates NEW95Bernardo Dominic
1047Kaitlin N StensethRussia2025-06-14Buckley Miller Wright RENEWAL39Ivan Magalhaes
1048Juan C ShinkoRussia2025-05-22King, Christopher A Esq PROPOSAL62Stephen Shaw
1049Mujtaba C NickaSpain2025-06-14Benton, John B Jr UNQUALIFIED59Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Darci E MacleadItalyStephen Shaw QUALIFIED
Darci Z WieserCanadaAnna Fali NEW
Murillo G KolmetzIndiaIvan Magalhaes RENEWAL
Alejandro D BologniaUnited KingdomIoni Bowcher RENEWAL
Faith M InouyeRussiaBernardo Dominic PROPOSAL
Smith S FerenczSpainStephen Shaw PROPOSAL
Ricardo R WieserBrazilStephen Shaw NEW
James D SlusarskiCanadaStephen Shaw QUALIFIED
Smith J PerinItalyElwin Sharvill QUALIFIED
Munro G PaprockiAustraliaElwin Sharvill UNQUALIFIED
Costa N FerenczArgentinaAmy Elsner NEGOTIATION
Jefferson P CaldareraUnited KingdomIoni Bowcher PROPOSAL
Leon D WieserUnited KingdomIvan Magalhaes QUALIFIED
Ricardo W FlosiAustraliaIvan Magalhaes RENEWAL
Antonio U ShinkoArgentinaStephen Shaw RENEWAL
Greenwood H MarrierArgentinaIvan Magalhaes RENEWAL
Nicolas U MaletAustraliaAnna Fali NEW
David I FerenczBrazilStephen Shaw UNQUALIFIED
Juan B ChuiItalyElwin Sharvill PROPOSAL
Jones Y StockhamGermanyElwin Sharvill QUALIFIED
Costa H FigeroaSpainXuxue Feng NEGOTIATION
Kaitlin N StensethJapanIoni Bowcher RENEWAL
Isabel F RulapaughCanadaIvan Magalhaes QUALIFIED
Kadeem O KolmetzJapanAsiya Javayant NEGOTIATION
Munro S DoeIndiaBernardo Dominic NEW
Arvin M AmigonAustraliaIoni Bowcher PROPOSAL
Ivar F PerinFranceOnyama Limba RENEWAL
Deepesh V AlbaresJapanAnna Fali PROPOSAL
Francesco H FlosiSpainAmy Elsner NEW
Jones P BriddickGermanyOnyama Limba UNQUALIFIED
Alejandro R SchemmerCanadaIvan Magalhaes UNQUALIFIED
Maisha R ChuiGermanyIoni Bowcher PROPOSAL
Costa W NickaSpainIoni Bowcher NEGOTIATION
Ashley J StensethSpainOnyama Limba NEW
Julie W CaudyRussiaIvan Magalhaes UNQUALIFIED
Kadeem Q MaletAustraliaElwin Sharvill UNQUALIFIED
Ashley J WhobreyAustraliaIoni Bowcher NEW
Faith H GillianCanadaXuxue Feng PROPOSAL
Johnson E GauchoRussiaIvan Magalhaes RENEWAL
Izzy P FerenczArgentinaAnna Fali NEW
Silvio N BriddickCanadaXuxue Feng NEW
Chavez I RimArgentinaStephen Shaw PROPOSAL
Greenwood O PaprockiSpainElwin Sharvill NEGOTIATION
Maisha R PaprockiSpainIoni Bowcher PROPOSAL
Johnson T TollnerSpainAnna Fali QUALIFIED
Isabel I SergiFranceIvan Magalhaes UNQUALIFIED
Aruna M SaylorsUnited KingdomXuxue Feng NEGOTIATION
Juan T SlusarskiRussiaStephen Shaw NEW
Costa L FigeroaJapanStephen Shaw NEGOTIATION
Greenwood L OldroydBrazilAsiya Javayant NEGOTIATION
Frozen Columns
Name
Claire V Iturbide
Isabel R Royster
Salvatore S Gaucho
Murillo R Venere
Johnson K Nestle
Deepesh P Figeroa
Greenwood Z Whobrey
Greenwood R Poquette
Faith P Shinko
David H Marrier
Ashley B Foller
Ricardo Q Foller
Misaki Q Ferencz
Nicolas C Figeroa
Murillo T Albares
Jennifer E Iturbide
Salvatore L Dilliard
Isabel W Glick
Isabel R Schemmer
Maria Y Butt
Izzy V Waycott
Maria L Malet
Mujtaba S Waycott
Aditya F Nestle
Francesco P Ostrosky
Jennifer W Bolognia
Jefferson V Briddick
Maria S Oldroyd
Jefferson P Perin
Mayumi A Ostrosky
Salvatore K Garufi
Ivar C Sergi
Emily O Venere
Claire R Glick
Darci U Ostrosky
Morrow G Doe
Emily V Gillian
Jeanfrancois X Oldroyd
Jeanfrancois Z Paprocki
Francesco B Garufi
James G Nestle
Nicolas M Stenseth
Tony S Rulapaugh
Antonio F Venere
Chavez V Saylors
Maria Z Rim
Leon D Ostrosky
Clifford X Perin
Izzy F Bowley
Mujtaba V Paprocki
IdCountryDate
1000Japan2025-06-13
1001Brazil2025-05-28
1002Australia2025-05-28
1003Spain2025-06-04
1004Russia2025-05-28
1005Japan2025-05-18
1006Japan2025-05-18
1007United Kingdom2025-05-17
1008Australia2025-06-14
1009Canada2025-06-14
1010Italy2025-06-01
1011France2025-05-30
1012Canada2025-05-27
1013United Kingdom2025-05-21
1014France2025-06-01
1015Canada2025-05-26
1016Japan2025-06-15
1017Brazil2025-05-21
1018Japan2025-06-09
1019Argentina2025-06-09
1020Argentina2025-06-02
1021Argentina2025-06-06
1022Brazil2025-05-21
1023France2025-05-25
1024Japan2025-05-25
1025Australia2025-05-31
1026Canada2025-05-28
1027Brazil2025-05-24
1028Russia2025-05-26
1029Canada2025-05-26
1030Italy2025-05-25
1031Brazil2025-05-20
1032Italy2025-05-17
1033Russia2025-05-18
1034Russia2025-06-12
1035Italy2025-05-24
1036Spain2025-06-13
1037Italy2025-05-21
1038India2025-06-11
1039Australia2025-05-24
1040United Kingdom2025-05-27
1041Spain2025-06-06
1042Australia2025-05-27
1043Germany2025-05-22
1044Italy2025-05-24
1045United Kingdom2025-05-29
1046France2025-05-21
1047Argentina2025-05-23
1048Brazil2025-05-29
1049Canada2025-05-17

On-Demand Data

NameIdCountryDate
Tony B Dilliard1000Japan2025-06-01
Juan O Venere1001Germany2025-05-21
Munro O Kolmetz1002Argentina2025-05-29
Morrow V Doe1003Italy2025-06-03
Misaki N Paprocki1004Russia2025-06-05
Francesco X Venere1005France2025-05-18
Octavia U Slusarski1006Australia2025-05-21
Rodrigues F Paprocki1007Germany2025-06-06
Juan T Waycott1008France2025-06-12
Leja X Doe1009Brazil2025-06-05
Mujtaba C Royster1010France2025-05-19
Isabel Q Whobrey1011Argentina2025-06-13
Antonio O Caldarera1012Australia2025-05-31
Emily P Schemmer1013Canada2025-05-31
Clifford E Glick1014Italy2025-05-24
Wickens L Tollner1015Brazil2025-06-09
Costa S Poquette1016Argentina2025-06-14
Ivar P Albares1017Canada2025-05-26
Alejandro Y Paprocki1018Italy2025-05-26
Faith Q Iturbide1019Australia2025-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin X SchemmerAustraliaIvan Magalhaes UNQUALIFIED
Jeanfrancois K SlusarskiAustraliaElwin Sharvill PROPOSAL
Mayumi I MaletIndiaOnyama Limba NEGOTIATION
Ivar U BriddickUnited KingdomAmy Elsner PROPOSAL
Sinclair Y RutaRussiaXuxue Feng NEW
Johnson N TollnerIndiaAmy Elsner NEW
Deepesh O SchemmerItalyElwin Sharvill NEGOTIATION
Isabel P KolmetzCanadaAmy Elsner NEGOTIATION
Antonio J KolmetzUnited KingdomElwin Sharvill PROPOSAL
Aika I PaprockiItalyOnyama Limba PROPOSAL
Sinclair X SchemmerBrazilAmy Elsner UNQUALIFIED
Aditya U DoeUnited KingdomAsiya Javayant UNQUALIFIED
Maria R AlbaresCanadaElwin Sharvill UNQUALIFIED
Maria Y GauchoIndiaIoni Bowcher UNQUALIFIED
Murillo E KuskoGermanyIvan Magalhaes UNQUALIFIED
Jones S AlbaresItalyIoni Bowcher NEW
Adams K NestleCanadaAsiya Javayant PROPOSAL
Mayumi F VocelkaJapanAsiya Javayant NEW
Emily J RutaUnited KingdomIoni Bowcher QUALIFIED
Leja S SergiGermanyBernardo Dominic NEGOTIATION
Kadeem H DarakjyUnited KingdomOnyama Limba UNQUALIFIED
Isabel P InouyeSpainOnyama Limba RENEWAL
Kadeem G FerenczGermanyAnna Fali NEW
Jones G BologniaJapanIvan Magalhaes NEGOTIATION
Johnson X PoquetteUnited KingdomIoni Bowcher PROPOSAL
Aika J GillianSpainAsiya Javayant RENEWAL
Misaki I RimJapanAnna Fali PROPOSAL
Arvin P NestleItalyAmy Elsner QUALIFIED
Salvatore O PerinCanadaXuxue Feng NEGOTIATION
Sinclair Z OldroydCanadaElwin Sharvill NEGOTIATION
Costa P BriddickCanadaAmy Elsner QUALIFIED
Wickens U SergiAustraliaAnna Fali NEW
Izzy D SlusarskiBrazilOnyama Limba PROPOSAL
Salvatore Y OldroydItalyOnyama Limba NEGOTIATION
Johnson Z WaycottBrazilStephen Shaw UNQUALIFIED
James Y NickaRussiaIoni Bowcher PROPOSAL
Leon I AlbaresSpainAnna Fali QUALIFIED
Darci C PoquetteUnited KingdomElwin Sharvill NEGOTIATION
Tony O RimFranceIvan Magalhaes NEW
Antonio Q MarrierUnited KingdomIvan Magalhaes 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>