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
Aruna T PerinAustraliaBernardo Dominic PROPOSAL
Deepesh I FollerJapanIoni Bowcher NEW
Salvatore Z NestleIndiaElwin Sharvill QUALIFIED
Cody V SaylorsAustraliaBernardo Dominic RENEWAL
Leja S ButtItalyAnna Fali NEW
James R OstroskyBrazilBernardo Dominic QUALIFIED
Claire U ChuiAustraliaAsiya Javayant QUALIFIED
Maisha L AmigonSpainStephen Shaw QUALIFIED
Kadeem L MorascaRussiaAnna Fali UNQUALIFIED
James I TollnerBrazilAmy Elsner NEGOTIATION
Kaitlin H CaldareraFranceIvan Magalhaes NEGOTIATION
Aditya Z WieserFranceStephen Shaw NEGOTIATION
Claire R CaudyAustraliaAnna Fali UNQUALIFIED
Arvin T PerinArgentinaBernardo Dominic NEW
Kaitlin N StensethAustraliaIoni Bowcher NEW
Silvio Q SchemmerItalyStephen Shaw PROPOSAL
Faith D ShinkoItalyStephen Shaw NEW
Kaitlin E ChuiJapanBernardo Dominic UNQUALIFIED
Johnson R FollerArgentinaElwin Sharvill PROPOSAL
Jennifer E AmigonGermanyXuxue Feng RENEWAL
Wickens K BologniaJapanIoni Bowcher RENEWAL
Leon R SergiUnited KingdomAmy Elsner QUALIFIED
Jennifer C MacleadSpainAnna Fali QUALIFIED
Salvatore S RutaItalyBernardo Dominic PROPOSAL
Maria X TollnerFranceBernardo Dominic RENEWAL
David T MarrierGermanyElwin Sharvill RENEWAL
Costa K DarakjySpainOnyama Limba RENEWAL
Jeanfrancois I RimGermanyAnna Fali RENEWAL
Kaitlin J ShinkoGermanyAsiya Javayant QUALIFIED
Francesco Q VocelkaFranceXuxue Feng NEGOTIATION
Antonio Q FigeroaSpainElwin Sharvill UNQUALIFIED
Chavez X IturbideCanadaBernardo Dominic NEGOTIATION
Misaki U CampainItalyOnyama Limba UNQUALIFIED
Juan H StensethSpainIoni Bowcher NEGOTIATION
Wickens O BologniaGermanyAmy Elsner RENEWAL
Murillo N GillianIndiaIoni Bowcher RENEWAL
Alejandro C WhobreyCanadaIvan Magalhaes RENEWAL
Mayumi G RutaFranceIoni Bowcher PROPOSAL
Mayumi I GlickFranceBernardo Dominic PROPOSAL
Julie I MarrierFranceBernardo Dominic QUALIFIED
Aditya C DilliardRussiaAnna Fali RENEWAL
Rodrigues H VocelkaIndiaXuxue Feng RENEWAL
Cody T RoysterRussiaIoni Bowcher UNQUALIFIED
Maria J FollerSpainAsiya Javayant UNQUALIFIED
Smith W AlbaresBrazilIoni Bowcher NEGOTIATION
Aika N RutaGermanyIoni Bowcher UNQUALIFIED
Jeanfrancois J GillianFranceIoni Bowcher PROPOSAL
Maria B PerinCanadaAnna Fali QUALIFIED
Rodrigues J CaldareraUnited KingdomIoni Bowcher NEGOTIATION
Smith J WieserJapanStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Juan N IturbideItalyBernardo Dominic QUALIFIED
Rodrigues X NestleRussiaIvan Magalhaes PROPOSAL
Julie P FigeroaGermanyAmy Elsner QUALIFIED
Clifford T DoeFranceAmy Elsner NEGOTIATION
Mayumi K VocelkaIndiaBernardo Dominic PROPOSAL
Stacey A ShinkoSpainIvan Magalhaes NEW
Jefferson B MarrierBrazilElwin Sharvill RENEWAL
Jennifer O FlosiBrazilAsiya Javayant NEW
Francesco W PoquetteArgentinaAmy Elsner NEGOTIATION
Jeanfrancois F MaletFranceXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair O NickaRussia2024-06-03Chanay, Jeffrey A Esq QUALIFIED25Amy Elsner
1001Misaki O MaletBrazil2024-06-13Commercial Press QUALIFIED87Onyama Limba
1002James M ChuiArgentina2024-06-18Chanay, Jeffrey A Esq RENEWAL56Amy Elsner
1003Wickens D ButtUnited Kingdom2024-06-08Chanay, Jeffrey A Esq PROPOSAL68Stephen Shaw
1004Emily D GlickUnited Kingdom2024-06-04Buckley Miller Wright UNQUALIFIED25Bernardo Dominic
1005Leon N PaprockiAustralia2024-06-05Dorl, James J Esq QUALIFIED71Xuxue Feng
1006Greenwood V CaudySpain2024-06-14Feltz Printing Service RENEWAL8Bernardo Dominic
1007Mayumi N GarufiAustralia2024-05-26Printing Dimensions PROPOSAL1Xuxue Feng
1008Juan E KolmetzGermany2024-05-27King, Christopher A Esq NEGOTIATION54Ivan Magalhaes
1009Alejandro J WieserItaly2024-06-20Chanay, Jeffrey A Esq PROPOSAL62Xuxue Feng
1010Jones G SaylorsSpain2024-05-27Chanay, Jeffrey A Esq QUALIFIED40Onyama Limba
1011James T WhobreyIndia2024-06-03King, Christopher A Esq PROPOSAL60Onyama Limba
1012Leon Q InouyeIndia2024-05-26Buckley Miller Wright PROPOSAL69Asiya Javayant
1013Morrow N GauchoBrazil2024-05-23Benton, John B Jr QUALIFIED28Amy Elsner
1014Mayumi C IturbideGermany2024-06-09Commercial Press RENEWAL36Anna Fali
1015Chavez H MacleadSpain2024-06-19King, Christopher A Esq UNQUALIFIED67Amy Elsner
1016Costa U RutaArgentina2024-05-26Feltz Printing Service QUALIFIED45Anna Fali
1017Antonio I GarufiIndia2024-05-23Benton, John B Jr NEGOTIATION34Asiya Javayant
1018Tony B SergiGermany2024-05-30Chemel, James L Cpa UNQUALIFIED79Bernardo Dominic
1019Alejandro S PoquetteGermany2024-05-28Buckley Miller Wright QUALIFIED24Anna Fali
1020Johnson D DarakjyRussia2024-06-12Chanay, Jeffrey A Esq NEGOTIATION96Ivan Magalhaes
1021Costa U KuskoRussia2024-06-11Rousseaux, Michael Esq UNQUALIFIED92Xuxue Feng
1022Julie L CampainGermany2024-05-26Rangoni Of Florence QUALIFIED50Ivan Magalhaes
1023Francesco J BowleySpain2024-06-20King, Christopher A Esq RENEWAL56Ioni Bowcher
1024Isabel G VocelkaItaly2024-06-02Chanay, Jeffrey A Esq UNQUALIFIED0Stephen Shaw
1025Rodrigues X BriddickBrazil2024-06-13Rousseaux, Michael Esq RENEWAL57Ivan Magalhaes
1026Isabel M MacleadBrazil2024-06-09Chanay, Jeffrey A Esq QUALIFIED31Amy Elsner
1027Jeanfrancois F SlusarskiFrance2024-05-23Chanay, Jeffrey A Esq PROPOSAL4Asiya Javayant
1028Chavez N DoeRussia2024-05-27Benton, John B Jr QUALIFIED47Xuxue Feng
1029Julie W NestleAustralia2024-06-11Printing Dimensions QUALIFIED86Anna Fali
1030Deepesh R PerinArgentina2024-05-28Dorl, James J Esq NEGOTIATION0Elwin Sharvill
1031Aruna P SlusarskiCanada2024-06-10Chanay, Jeffrey A Esq NEW73Anna Fali
1032Costa D FollerSpain2024-06-10Feltz Printing Service NEW39Onyama Limba
1033Wickens U KuskoAustralia2024-06-20Benton, John B Jr NEW99Bernardo Dominic
1034Munro X MacleadArgentina2024-06-11Printing Dimensions NEGOTIATION62Asiya Javayant
1035Ivar V WaycottRussia2024-06-08Dorl, James J Esq UNQUALIFIED64Anna Fali
1036Claire N MorascaBrazil2024-06-18Benton, John B Jr UNQUALIFIED36Ioni Bowcher
1037Cody K WieserFrance2024-06-12Rangoni Of Florence RENEWAL27Ioni Bowcher
1038Nicolas Q DoeIndia2024-05-23Chanay, Jeffrey A Esq NEW53Bernardo Dominic
1039Mujtaba L SaylorsGermany2024-06-04King, Christopher A Esq UNQUALIFIED61Amy Elsner
1040Jefferson V ChuiGermany2024-06-16Morlong Associates NEGOTIATION20Stephen Shaw
1041Silvio P ShinkoSpain2024-05-30Chapman, Ross E Esq NEW26Asiya Javayant
1042Silvio C MacleadArgentina2024-06-08Commercial Press UNQUALIFIED93Anna Fali
1043Morrow B ButtSpain2024-06-12Rousseaux, Michael Esq UNQUALIFIED48Anna Fali
1044Francesco M VocelkaFrance2024-06-16Printing Dimensions RENEWAL34Ivan Magalhaes
1045Octavia N SergiAustralia2024-05-29Rangoni Of Florence PROPOSAL98Bernardo Dominic
1046Aika P PoquetteBrazil2024-06-02Feltz Printing Service QUALIFIED94Ivan Magalhaes
1047Mayumi N ButtAustralia2024-05-28Rousseaux, Michael Esq NEW63Xuxue Feng
1048David D DarakjyIndia2024-06-04Printing Dimensions QUALIFIED90Amy Elsner
1049Nicolas K WieserFrance2024-06-11Chanay, Jeffrey A Esq QUALIFIED81Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Aruna X CampainSpainIoni Bowcher NEW
Jefferson D KolmetzRussiaAnna Fali RENEWAL
Salvatore Q AlbaresRussiaIvan Magalhaes UNQUALIFIED
James U DarakjyJapanXuxue Feng NEGOTIATION
Claire T DarakjyBrazilXuxue Feng RENEWAL
Rodrigues C CampainFranceAsiya Javayant NEGOTIATION
Leja L PerinCanadaAsiya Javayant NEW
Murillo N GauchoFranceAnna Fali NEGOTIATION
Francesco C AlbaresItalyStephen Shaw PROPOSAL
Munro M TollnerFranceAmy Elsner PROPOSAL
Nicolas E FlosiCanadaBernardo Dominic NEGOTIATION
Nicolas B DarakjyArgentinaXuxue Feng NEW
Kadeem S PaprockiUnited KingdomAnna Fali NEGOTIATION
Deepesh P RimItalyBernardo Dominic QUALIFIED
Silvio N OstroskyArgentinaIoni Bowcher QUALIFIED
Munro H NickaBrazilIoni Bowcher RENEWAL
Morrow O RutaJapanXuxue Feng PROPOSAL
Sinclair Z RulapaughBrazilIoni Bowcher NEW
Clifford Q DilliardRussiaStephen Shaw NEGOTIATION
Leja F ButtJapanOnyama Limba RENEWAL
Leja F WhobreyIndiaXuxue Feng NEW
James A MarrierCanadaStephen Shaw NEGOTIATION
Adams Y KolmetzFranceIoni Bowcher QUALIFIED
Aditya F RimBrazilXuxue Feng QUALIFIED
Silvio S GlickArgentinaIvan Magalhaes QUALIFIED
Arvin L GarufiRussiaIoni Bowcher QUALIFIED
Chavez A DoeAustraliaIoni Bowcher RENEWAL
Jones N SergiJapanAmy Elsner NEW
Kadeem M VocelkaItalyElwin Sharvill PROPOSAL
Emily G CampainUnited KingdomAmy Elsner NEGOTIATION
Chavez V StockhamIndiaStephen Shaw PROPOSAL
Sinclair X WhobreyAustraliaIoni Bowcher QUALIFIED
Antonio B DarakjyItalyAmy Elsner UNQUALIFIED
Ashley H RulapaughJapanIoni Bowcher RENEWAL
Jeanfrancois K OldroydJapanAmy Elsner PROPOSAL
Kadeem I MaletIndiaAnna Fali UNQUALIFIED
Jefferson P NickaCanadaOnyama Limba PROPOSAL
Greenwood A MorascaItalyBernardo Dominic PROPOSAL
Aditya Z InouyeFranceAmy Elsner NEGOTIATION
Kadeem Z RutaGermanyIvan Magalhaes NEW
David N DoeJapanIoni Bowcher RENEWAL
Costa M FlosiAustraliaIoni Bowcher NEGOTIATION
Rodrigues B GillianRussiaBernardo Dominic QUALIFIED
Ashley E VenereBrazilAsiya Javayant UNQUALIFIED
Wickens H CaldareraFranceOnyama Limba QUALIFIED
Julie G ButtJapanIvan Magalhaes NEGOTIATION
Octavia F IturbideFranceStephen Shaw NEGOTIATION
Jones G FerenczArgentinaIoni Bowcher UNQUALIFIED
Salvatore H IturbideUnited KingdomAnna Fali NEW
Aditya D IturbideSpainElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Sinclair J Amigon
Murillo B Perin
Aika Z Poquette
Clifford H Waycott
James Q Rulapaugh
Stacey J Nicka
Aruna V Bowley
Antonio W Briddick
Adams A Malet
Jennifer N Nicka
Costa Q Caudy
Aditya P Waycott
Antonio U Slusarski
Isabel J Albares
Aditya N Ruta
Sinclair P Stenseth
Aika X Inouye
Aika D Shinko
Leon G Gillian
Silvio I Kusko
Kaitlin Q Poquette
Adams I Stenseth
Jeanfrancois C Inouye
Leja A Garufi
Leon W Waycott
Wickens K Paprocki
Octavia V Butt
Costa U Perin
Clifford U Inouye
Octavia V Wieser
Ashley B Vocelka
Izzy Y Slusarski
Rodrigues R Glick
Darci F Albares
David U Ostrosky
Izzy A Ferencz
Sinclair A Albares
Costa U Malet
Murillo H Amigon
Cody X Foller
Antonio F Inouye
Stacey Y Darakjy
Kaitlin Q Flosi
Maisha Y Schemmer
Darci D Malet
Stacey O Waycott
Leja Z Royster
Salvatore R Kusko
Costa Y Wieser
Claire I Shinko
IdCountryDate
1000Russia2024-05-23
1001Spain2024-06-05
1002Russia2024-06-05
1003Australia2024-05-30
1004Brazil2024-05-24
1005Japan2024-06-14
1006Canada2024-06-17
1007India2024-06-09
1008India2024-05-25
1009Canada2024-05-29
1010Argentina2024-06-16
1011United Kingdom2024-06-13
1012Japan2024-06-09
1013Brazil2024-06-06
1014Russia2024-06-20
1015Russia2024-06-21
1016France2024-06-12
1017United Kingdom2024-06-20
1018Brazil2024-06-18
1019Canada2024-06-05
1020India2024-05-28
1021Spain2024-06-02
1022Russia2024-06-03
1023United Kingdom2024-05-31
1024Japan2024-06-19
1025France2024-06-13
1026Russia2024-06-21
1027Italy2024-06-07
1028United Kingdom2024-06-11
1029Spain2024-05-30
1030India2024-06-20
1031France2024-06-19
1032Japan2024-06-10
1033Australia2024-06-05
1034Russia2024-06-01
1035Canada2024-06-15
1036United Kingdom2024-06-01
1037Canada2024-06-19
1038Italy2024-06-19
1039Russia2024-06-04
1040Italy2024-06-04
1041Brazil2024-05-26
1042United Kingdom2024-05-25
1043Spain2024-06-06
1044India2024-06-10
1045France2024-06-08
1046India2024-06-01
1047Russia2024-05-29
1048Russia2024-06-05
1049Australia2024-06-10

On-Demand Data

NameIdCountryDate
Octavia X Schemmer1000Brazil2024-06-16
Wickens M Tollner1001Spain2024-05-27
Francesco D Marrier1002Australia2024-06-13
Murillo J Ruta1003Russia2024-06-10
Arvin K Gillian1004India2024-06-14
Greenwood U Campain1005Spain2024-05-29
Leon N Flosi1006United Kingdom2024-06-16
Salvatore U Venere1007France2024-06-15
Silvio C Butt1008Germany2024-06-02
Juan C Nestle1009Russia2024-06-14
Jones D Tollner1010India2024-06-21
Mujtaba C Chui1011France2024-06-07
Maisha D Amigon1012Brazil2024-06-10
Deepesh Z Nestle1013Italy2024-06-20
Maria W Schemmer1014India2024-06-03
Isabel O Paprocki1015Germany2024-05-31
Wickens L Kolmetz1016India2024-06-10
James J Whobrey1017Brazil2024-06-12
Jennifer P Figeroa1018Canada2024-06-10
Silvio R Schemmer1019Japan2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya E RulapaughArgentinaElwin Sharvill UNQUALIFIED
Octavia T SergiBrazilAmy Elsner RENEWAL
Salvatore S RulapaughIndiaIvan Magalhaes NEW
Johnson H RulapaughBrazilStephen Shaw NEGOTIATION
Johnson S MacleadCanadaElwin Sharvill RENEWAL
Aruna X InouyeArgentinaIoni Bowcher QUALIFIED
Aruna T BologniaCanadaIvan Magalhaes PROPOSAL
James K GillianUnited KingdomAnna Fali RENEWAL
Leon T TollnerCanadaAsiya Javayant NEGOTIATION
Chavez A WieserItalyElwin Sharvill NEGOTIATION
Isabel L WieserJapanAsiya Javayant NEW
Chavez F SlusarskiUnited KingdomElwin Sharvill UNQUALIFIED
Greenwood S PoquetteRussiaAmy Elsner UNQUALIFIED
Silvio V VenereAustraliaIvan Magalhaes NEGOTIATION
Ivar C NestleGermanyAsiya Javayant RENEWAL
Claire P MarrierSpainAnna Fali QUALIFIED
Alejandro D TollnerSpainIoni Bowcher QUALIFIED
Misaki H VocelkaFranceElwin Sharvill QUALIFIED
Claire L SchemmerBrazilIvan Magalhaes NEW
Wickens A OstroskyAustraliaIvan Magalhaes NEW
Greenwood U TollnerSpainIoni Bowcher NEGOTIATION
Costa U PoquetteItalyOnyama Limba NEGOTIATION
Maria G PerinRussiaIoni Bowcher UNQUALIFIED
Silvio B PaprockiItalyStephen Shaw QUALIFIED
Nicolas M IturbideCanadaAnna Fali PROPOSAL
Jennifer U BowleyUnited KingdomXuxue Feng NEGOTIATION
Jefferson E SchemmerFranceAmy Elsner PROPOSAL
Jefferson P PoquetteFranceOnyama Limba QUALIFIED
Emily N CaudyUnited KingdomAnna Fali NEGOTIATION
Misaki U OstroskyRussiaBernardo Dominic UNQUALIFIED
Kadeem C CampainFranceIoni Bowcher RENEWAL
Maria H GarufiIndiaBernardo Dominic QUALIFIED
Costa Q FlosiItalyXuxue Feng RENEWAL
Stacey Y MacleadRussiaAmy Elsner RENEWAL
Octavia I GillianIndiaAsiya Javayant NEGOTIATION
Claire S InouyeRussiaAsiya Javayant PROPOSAL
Aruna K WhobreyJapanAsiya Javayant PROPOSAL
Jeanfrancois S DoeCanadaIoni Bowcher UNQUALIFIED
Alejandro T IturbideGermanyAnna Fali NEW
Leja S ButtCanadaBernardo Dominic NEW

<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>