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 M SaylorsAustraliaOnyama Limba PROPOSAL
Emily O SchemmerFranceOnyama Limba NEW
Sinclair X BriddickSpainAsiya Javayant RENEWAL
Kaitlin O PaprockiCanadaAsiya Javayant UNQUALIFIED
Ashley J WhobreyCanadaElwin Sharvill QUALIFIED
Misaki B IturbideBrazilXuxue Feng RENEWAL
Mayumi W WaycottUnited KingdomAmy Elsner NEW
David I ButtIndiaIvan Magalhaes PROPOSAL
Silvio Q FollerUnited KingdomStephen Shaw RENEWAL
Adams V AmigonCanadaOnyama Limba NEW
Mujtaba U OstroskyFranceElwin Sharvill PROPOSAL
Jennifer R ShinkoUnited KingdomOnyama Limba PROPOSAL
Greenwood A MorascaSpainAsiya Javayant QUALIFIED
Octavia D NickaItalyAnna Fali NEGOTIATION
Darci K WaycottArgentinaElwin Sharvill QUALIFIED
Julie J GlickItalyBernardo Dominic NEW
Aruna W SaylorsArgentinaXuxue Feng NEW
Juan Y WhobreyCanadaAsiya Javayant RENEWAL
Jones L RutaUnited KingdomAsiya Javayant PROPOSAL
Mayumi J RulapaughAustraliaAnna Fali NEGOTIATION
Munro U RulapaughJapanXuxue Feng QUALIFIED
Munro B StockhamSpainElwin Sharvill RENEWAL
Murillo Z CaudyGermanyAsiya Javayant NEGOTIATION
Aditya Y ShinkoRussiaOnyama Limba UNQUALIFIED
Mujtaba P KolmetzRussiaOnyama Limba NEGOTIATION
Kaitlin M IturbideSpainOnyama Limba QUALIFIED
Francesco W InouyeIndiaAmy Elsner NEW
Salvatore P InouyeBrazilAmy Elsner NEGOTIATION
Morrow R InouyeCanadaIvan Magalhaes NEW
Jennifer A NickaItalyAsiya Javayant QUALIFIED
Clifford L RimIndiaOnyama Limba NEW
Mayumi S MorascaCanadaIoni Bowcher RENEWAL
Misaki N IturbideItalyIvan Magalhaes PROPOSAL
Greenwood E RulapaughRussiaIvan Magalhaes RENEWAL
Ashley Q StensethArgentinaAmy Elsner NEGOTIATION
Izzy U BriddickRussiaAnna Fali NEW
Mujtaba N TollnerJapanAsiya Javayant NEGOTIATION
Francesco F BowleyAustraliaXuxue Feng PROPOSAL
Jones P AmigonIndiaAsiya Javayant NEW
Ricardo U AmigonRussiaAmy Elsner QUALIFIED
Salvatore A KuskoIndiaIvan Magalhaes PROPOSAL
Adams B FlosiGermanyBernardo Dominic PROPOSAL
Murillo E GauchoFranceElwin Sharvill QUALIFIED
Misaki B GarufiBrazilOnyama Limba PROPOSAL
Emily J BologniaFranceIoni Bowcher QUALIFIED
Murillo A OstroskyAustraliaAmy Elsner QUALIFIED
Faith T WhobreySpainIvan Magalhaes PROPOSAL
Isabel P IturbideItalyOnyama Limba NEGOTIATION
Ivar C NestleArgentinaElwin Sharvill UNQUALIFIED
Emily O RulapaughBrazilXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Darci M RutaJapanStephen Shaw NEGOTIATION
Kaitlin X OstroskyBrazilIoni Bowcher PROPOSAL
Deepesh V MaletFranceAnna Fali NEGOTIATION
Juan A BologniaCanadaOnyama Limba PROPOSAL
Kaitlin A RulapaughSpainIvan Magalhaes RENEWAL
Alejandro Q CaldareraArgentinaBernardo Dominic UNQUALIFIED
Ivar T MacleadFranceElwin Sharvill NEW
Maisha I MaletJapanAnna Fali QUALIFIED
Julie E TollnerItalyAsiya Javayant NEW
Clifford Q RulapaughIndiaElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson S StensethIndia2026-06-30Printing Dimensions RENEWAL72Ioni Bowcher
1001Maisha Z SlusarskiIndia2026-06-26Morlong Associates RENEWAL14Ioni Bowcher
1002Murillo Y BologniaBrazil2026-06-06Rangoni Of Florence QUALIFIED25Elwin Sharvill
1003Deepesh E FerenczArgentina2026-06-17Commercial Press UNQUALIFIED79Ivan Magalhaes
1004Munro X PerinIndia2026-06-22Buckley Miller Wright UNQUALIFIED86Elwin Sharvill
1005Arvin I VocelkaSpain2026-06-11Rousseaux, Michael Esq NEW16Ioni Bowcher
1006James K DilliardAustralia2026-06-14Commercial Press NEGOTIATION32Anna Fali
1007Mujtaba V RimCanada2026-06-28Dorl, James J Esq QUALIFIED58Amy Elsner
1008Leon Q MorascaItaly2026-06-17Morlong Associates UNQUALIFIED83Anna Fali
1009Ashley V IturbideArgentina2026-06-07Rangoni Of Florence NEGOTIATION34Elwin Sharvill
1010Greenwood F SaylorsIndia2026-06-09King, Christopher A Esq UNQUALIFIED88Bernardo Dominic
1011Ivar E MacleadUnited Kingdom2026-06-14King, Christopher A Esq RENEWAL74Xuxue Feng
1012Jones J ShinkoItaly2026-06-19Printing Dimensions NEGOTIATION7Amy Elsner
1013Kaitlin E TollnerGermany2026-06-27Dorl, James J Esq PROPOSAL25Ivan Magalhaes
1014Smith D DoeBrazil2026-06-26Dorl, James J Esq QUALIFIED62Xuxue Feng
1015Jennifer L RoysterJapan2026-06-18Truhlar And Truhlar Attys UNQUALIFIED92Xuxue Feng
1016Jones S BologniaIndia2026-06-05Buckley Miller Wright PROPOSAL90Ivan Magalhaes
1017Adams T SergiAustralia2026-06-30Morlong Associates UNQUALIFIED81Xuxue Feng
1018Johnson P SlusarskiFrance2026-07-03Dorl, James J Esq NEW27Ioni Bowcher
1019Smith G BriddickJapan2026-06-07Morlong Associates UNQUALIFIED42Ivan Magalhaes
1020Izzy O NestleItaly2026-06-28Rousseaux, Michael Esq NEW98Amy Elsner
1021Greenwood O MaletJapan2026-06-24Chemel, James L Cpa UNQUALIFIED79Asiya Javayant
1022Leja H AlbaresUnited Kingdom2026-06-23Truhlar And Truhlar Attys UNQUALIFIED94Stephen Shaw
1023Arvin Q SaylorsUnited Kingdom2026-06-06King, Christopher A Esq UNQUALIFIED98Anna Fali
1024Jefferson K OstroskyCanada2026-06-07Rousseaux, Michael Esq RENEWAL23Ivan Magalhaes
1025Francesco I StensethCanada2026-06-17Rousseaux, Michael Esq NEW12Asiya Javayant
1026Deepesh T MaletAustralia2026-07-01Chapman, Ross E Esq NEGOTIATION52Asiya Javayant
1027Greenwood I SchemmerArgentina2026-06-28Chapman, Ross E Esq UNQUALIFIED55Asiya Javayant
1028Mujtaba J IturbideBrazil2026-06-24Chanay, Jeffrey A Esq RENEWAL33Anna Fali
1029Julie M ButtArgentina2026-06-07Morlong Associates QUALIFIED3Xuxue Feng
1030Mayumi P OstroskyRussia2026-06-18Feiner Bros RENEWAL45Xuxue Feng
1031James D KuskoRussia2026-06-22Morlong Associates QUALIFIED40Amy Elsner
1032Deepesh U GarufiItaly2026-06-05Commercial Press UNQUALIFIED31Bernardo Dominic
1033Nicolas L InouyeFrance2026-06-06Dorl, James J Esq UNQUALIFIED18Stephen Shaw
1034Clifford N BologniaBrazil2026-06-29Chanay, Jeffrey A Esq NEW45Anna Fali
1035Antonio V BowleyGermany2026-06-13Morlong Associates QUALIFIED0Ioni Bowcher
1036Maria B StensethRussia2026-06-25Feiner Bros RENEWAL19Elwin Sharvill
1037Emily Q FlosiIndia2026-06-15Morlong Associates QUALIFIED25Stephen Shaw
1038Clifford H SergiBrazil2026-06-07Morlong Associates QUALIFIED23Anna Fali
1039Octavia K ButtSpain2026-06-22Truhlar And Truhlar Attys UNQUALIFIED52Onyama Limba
1040Misaki P PaprockiAustralia2026-06-18King, Christopher A Esq QUALIFIED28Anna Fali
1041Clifford O SergiUnited Kingdom2026-06-09Printing Dimensions PROPOSAL31Amy Elsner
1042Kaitlin W GlickArgentina2026-06-30King, Christopher A Esq NEGOTIATION24Onyama Limba
1043James C RimSpain2026-06-21Chapman, Ross E Esq NEGOTIATION38Bernardo Dominic
1044Kaitlin F RoysterCanada2026-06-26Feltz Printing Service UNQUALIFIED92Bernardo Dominic
1045Johnson J CaudyJapan2026-06-27Rangoni Of Florence QUALIFIED21Bernardo Dominic
1046Aika W ChuiArgentina2026-06-30Chemel, James L Cpa PROPOSAL77Ivan Magalhaes
1047James T MaletIndia2026-06-21Feltz Printing Service RENEWAL38Ioni Bowcher
1048Alejandro N WhobreyJapan2026-06-09Morlong Associates RENEWAL98Bernardo Dominic
1049Jeanfrancois V DoeAustralia2026-06-17Truhlar And Truhlar Attys RENEWAL6Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Leja B VocelkaSpainIvan Magalhaes RENEWAL
Nicolas G SergiArgentinaIoni Bowcher PROPOSAL
Misaki U DoeBrazilAsiya Javayant UNQUALIFIED
Jennifer Y VenereRussiaIvan Magalhaes PROPOSAL
Morrow T OstroskyCanadaIoni Bowcher PROPOSAL
Rodrigues V FigeroaBrazilAnna Fali QUALIFIED
Tony T WaycottUnited KingdomIvan Magalhaes RENEWAL
Mayumi X StockhamCanadaIvan Magalhaes NEGOTIATION
Nicolas B NestleAustraliaAnna Fali NEW
Octavia O StensethAustraliaOnyama Limba QUALIFIED
Munro G TollnerIndiaAsiya Javayant QUALIFIED
Izzy V VenereFranceStephen Shaw QUALIFIED
Wickens F CaudyGermanyOnyama Limba RENEWAL
Antonio Y FlosiAustraliaStephen Shaw NEGOTIATION
Izzy U FollerJapanStephen Shaw QUALIFIED
Cody F MorascaIndiaXuxue Feng PROPOSAL
Jennifer Q OstroskySpainIvan Magalhaes QUALIFIED
Johnson H WieserGermanyAmy Elsner UNQUALIFIED
Tony U GlickIndiaAmy Elsner NEW
David P KuskoCanadaBernardo Dominic RENEWAL
Morrow F GillianUnited KingdomAsiya Javayant PROPOSAL
Rodrigues Y FigeroaRussiaElwin Sharvill UNQUALIFIED
Costa V TollnerIndiaAnna Fali RENEWAL
Maisha I VocelkaGermanyAnna Fali RENEWAL
Ivar Q TollnerArgentinaBernardo Dominic PROPOSAL
Johnson C ShinkoSpainAmy Elsner NEW
Claire X DilliardUnited KingdomAnna Fali QUALIFIED
Izzy S BologniaFranceBernardo Dominic UNQUALIFIED
Aruna H DarakjyFranceAsiya Javayant NEGOTIATION
Rodrigues U MarrierUnited KingdomOnyama Limba NEW
Greenwood Z OldroydFranceAnna Fali UNQUALIFIED
Faith B FlosiItalyAsiya Javayant NEGOTIATION
Izzy N InouyeFranceAsiya Javayant NEW
Salvatore T FollerRussiaBernardo Dominic NEW
Cody U RoysterCanadaAmy Elsner QUALIFIED
Leon H NestleGermanyOnyama Limba UNQUALIFIED
Cody M FollerGermanyStephen Shaw QUALIFIED
Stacey T RimArgentinaIoni Bowcher UNQUALIFIED
Mujtaba T WieserUnited KingdomIoni Bowcher RENEWAL
Julie J PoquetteCanadaStephen Shaw NEW
Jones N GillianGermanyStephen Shaw UNQUALIFIED
Tony L MorascaBrazilStephen Shaw PROPOSAL
Arvin X WhobreySpainAnna Fali NEW
Adams T InouyeUnited KingdomIvan Magalhaes RENEWAL
Clifford E ButtUnited KingdomAsiya Javayant UNQUALIFIED
Aika C NickaFranceXuxue Feng NEW
Munro M SchemmerSpainAsiya Javayant NEW
Darci D FigeroaSpainStephen Shaw NEGOTIATION
Jeanfrancois B TollnerBrazilBernardo Dominic NEW
Darci F FerenczCanadaAmy Elsner QUALIFIED
Frozen Columns
Name
Juan K Malet
Silvio I Kolmetz
Jefferson S Wieser
Mujtaba J Slusarski
Ricardo B Malet
Kaitlin Z Oldroyd
Antonio U Garufi
Juan V Albares
Costa M Caudy
Cody N Royster
Maisha U Doe
Antonio H Stenseth
Ricardo J Caldarera
Isabel P Marrier
Rodrigues X Morasca
Nicolas I Venere
Leon I Morasca
Maria C Sergi
Francesco L Perin
James X Caudy
Munro A Paprocki
Ashley S Malet
Juan V Royster
Munro W Flosi
Silvio E Campain
Morrow W Saylors
Juan O Glick
Aruna N Wieser
Tony W Maclead
Ivar Z Albares
Ricardo M Bolognia
Chavez F Flosi
Claire V Chui
Wickens K Nicka
Jones I Sergi
Leon G Darakjy
Ricardo J Tollner
Leon K Flosi
Ashley Z Nicka
Chavez R Flosi
Mujtaba N Flosi
Greenwood Q Perin
Smith K Caudy
Salvatore B Malet
Johnson I Gaucho
Chavez L Stenseth
Leon V Venere
Salvatore Y Butt
Greenwood M Gaucho
Ricardo U Butt
IdCountryDate
1000Spain2026-06-11
1001Italy2026-06-06
1002India2026-06-28
1003Spain2026-06-22
1004India2026-06-07
1005Russia2026-06-14
1006Italy2026-07-02
1007Russia2026-07-01
1008Italy2026-06-24
1009Germany2026-06-20
1010Japan2026-06-21
1011Australia2026-07-01
1012United Kingdom2026-06-19
1013Canada2026-06-27
1014India2026-06-23
1015Spain2026-06-22
1016Brazil2026-06-29
1017Argentina2026-07-02
1018Brazil2026-06-11
1019Germany2026-06-09
1020Spain2026-07-02
1021Australia2026-06-22
1022Japan2026-06-25
1023Canada2026-06-19
1024India2026-06-20
1025Brazil2026-06-06
1026India2026-07-01
1027United Kingdom2026-06-29
1028Brazil2026-07-03
1029Brazil2026-06-29
1030Canada2026-06-16
1031Spain2026-06-30
1032Australia2026-06-29
1033France2026-06-12
1034Canada2026-06-24
1035Italy2026-06-27
1036India2026-06-16
1037Argentina2026-06-25
1038Japan2026-06-23
1039Spain2026-06-16
1040India2026-06-25
1041Argentina2026-06-30
1042Italy2026-06-08
1043France2026-07-01
1044Japan2026-06-28
1045Canada2026-06-08
1046Canada2026-06-28
1047Spain2026-06-11
1048Brazil2026-06-07
1049Argentina2026-06-05

On-Demand Data

NameIdCountryDate
Misaki U Dilliard1000Australia2026-06-11
Adams L Saylors1001France2026-06-25
Alejandro C Glick1002Brazil2026-06-23
Antonio P Malet1003Argentina2026-06-23
Salvatore W Sergi1004Italy2026-06-24
Ivar F Bowley1005Japan2026-06-20
Cody G Malet1006Argentina2026-06-13
Jones C Darakjy1007Russia2026-06-24
Johnson V Shinko1008Australia2026-06-30
Maisha B Nicka1009France2026-06-10
Jones U Caudy1010Canada2026-06-19
Octavia F Campain1011Russia2026-06-17
Francesco T Schemmer1012Australia2026-06-28
Sinclair X Rulapaugh1013India2026-06-11
Antonio D Gaucho1014United Kingdom2026-06-11
Chavez R Caudy1015United Kingdom2026-06-08
Jones S Caldarera1016Spain2026-06-06
Aruna W Poquette1017Brazil2026-06-08
Ashley J Ruta1018Russia2026-06-12
Maisha I Whobrey1019Japan2026-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo C AlbaresRussiaAnna Fali PROPOSAL
Maisha E WaycottSpainAsiya Javayant RENEWAL
James B BowleyRussiaIoni Bowcher RENEWAL
Salvatore Y FlosiAustraliaIvan Magalhaes PROPOSAL
Kaitlin Z MacleadBrazilAmy Elsner PROPOSAL
Mujtaba O MacleadAustraliaStephen Shaw NEGOTIATION
Arvin Q GarufiRussiaIvan Magalhaes NEGOTIATION
Francesco Q RulapaughBrazilIoni Bowcher NEW
Misaki E FollerUnited KingdomBernardo Dominic RENEWAL
Misaki O PaprockiArgentinaIoni Bowcher UNQUALIFIED
Francesco C ShinkoUnited KingdomElwin Sharvill UNQUALIFIED
Izzy L InouyeArgentinaIoni Bowcher RENEWAL
Antonio M DoeFranceAnna Fali QUALIFIED
Octavia D RulapaughCanadaElwin Sharvill RENEWAL
Deepesh A AmigonCanadaIoni Bowcher NEGOTIATION
Greenwood D WhobreyItalyXuxue Feng NEGOTIATION
Nicolas I MaletFranceAnna Fali RENEWAL
Aika O MaletRussiaBernardo Dominic PROPOSAL
Ivar F WhobreyFranceIvan Magalhaes NEGOTIATION
Claire K TollnerIndiaAnna Fali UNQUALIFIED
Claire R RulapaughAustraliaAmy Elsner NEW
Sinclair D AlbaresUnited KingdomStephen Shaw UNQUALIFIED
Alejandro Y ButtItalyOnyama Limba NEW
Silvio B GlickArgentinaOnyama Limba QUALIFIED
Jefferson G FlosiCanadaAmy Elsner UNQUALIFIED
Leon C WaycottFranceAmy Elsner QUALIFIED
Julie M DilliardCanadaBernardo Dominic QUALIFIED
Juan W StensethAustraliaStephen Shaw UNQUALIFIED
Morrow S MorascaArgentinaElwin Sharvill NEW
Faith D MaletIndiaIvan Magalhaes PROPOSAL
Claire K WhobreyArgentinaIoni Bowcher QUALIFIED
Clifford C FigeroaBrazilAsiya Javayant PROPOSAL
Wickens U RimArgentinaXuxue Feng RENEWAL
Silvio O WhobreyGermanyAmy Elsner RENEWAL
Maisha A RimUnited KingdomAmy Elsner QUALIFIED
Rodrigues R WhobreyAustraliaAnna Fali NEGOTIATION
Morrow H BologniaFranceIvan Magalhaes NEGOTIATION
Kadeem R RutaUnited KingdomElwin Sharvill PROPOSAL
Clifford M KuskoSpainBernardo Dominic NEW
Izzy A KuskoUnited KingdomBernardo Dominic NEGOTIATION

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