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
Chavez A MaletArgentinaStephen Shaw RENEWAL
Kaitlin F VocelkaItalyXuxue Feng NEGOTIATION
Deepesh N WaycottCanadaOnyama Limba RENEWAL
Maria P OstroskySpainBernardo Dominic NEW
Maria Q FigeroaIndiaAmy Elsner NEGOTIATION
Aruna X NickaUnited KingdomAnna Fali NEGOTIATION
Francesco W SlusarskiItalyBernardo Dominic UNQUALIFIED
Munro F WieserGermanyElwin Sharvill NEW
Wickens X BriddickBrazilBernardo Dominic NEW
Aditya Q GlickBrazilBernardo Dominic NEGOTIATION
Mujtaba N ShinkoArgentinaBernardo Dominic NEGOTIATION
James V CampainArgentinaAmy Elsner UNQUALIFIED
Aika J DoeSpainOnyama Limba NEGOTIATION
Kaitlin C AlbaresCanadaAmy Elsner NEGOTIATION
Tony G NestleCanadaXuxue Feng UNQUALIFIED
Octavia H IturbideCanadaIoni Bowcher RENEWAL
Costa Z NickaItalyIoni Bowcher QUALIFIED
Francesco J MacleadArgentinaIvan Magalhaes NEW
Darci V KolmetzGermanyAmy Elsner PROPOSAL
Ivar E BowleyAustraliaAnna Fali RENEWAL
Murillo A IturbideArgentinaElwin Sharvill UNQUALIFIED
Julie N BowleyGermanyElwin Sharvill NEGOTIATION
Jefferson X MarrierItalyOnyama Limba NEGOTIATION
Nicolas I PerinAustraliaIoni Bowcher RENEWAL
Sinclair T KolmetzFranceAmy Elsner NEGOTIATION
Jefferson V MacleadIndiaOnyama Limba NEW
Jones C NickaItalyBernardo Dominic PROPOSAL
Rodrigues U AmigonCanadaBernardo Dominic NEW
Ashley R IturbideSpainAnna Fali NEGOTIATION
Leja E DarakjyCanadaAnna Fali RENEWAL
Jeanfrancois W TollnerIndiaAnna Fali UNQUALIFIED
Chavez Y PoquetteUnited KingdomAsiya Javayant RENEWAL
Wickens D OldroydAustraliaOnyama Limba NEGOTIATION
Jeanfrancois Z VenereSpainAnna Fali NEGOTIATION
Greenwood N AmigonSpainElwin Sharvill RENEWAL
Francesco U FollerBrazilAnna Fali NEGOTIATION
Emily O ChuiItalyIvan Magalhaes NEW
Jones S ButtCanadaAsiya Javayant NEGOTIATION
Maisha K KuskoIndiaXuxue Feng NEW
Misaki R MaletRussiaAnna Fali QUALIFIED
Jeanfrancois D PaprockiRussiaIoni Bowcher QUALIFIED
Kaitlin L FlosiArgentinaAnna Fali NEW
Sinclair H MacleadGermanyAsiya Javayant NEW
Maria V RimBrazilElwin Sharvill NEW
Claire A RutaIndiaElwin Sharvill NEW
Wickens F BologniaUnited KingdomAsiya Javayant UNQUALIFIED
Misaki M FlosiFranceBernardo Dominic PROPOSAL
James U PerinJapanElwin Sharvill RENEWAL
Jennifer A CaldareraFranceIvan Magalhaes RENEWAL
Mayumi N WhobreyBrazilXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Tony M SaylorsCanadaAsiya Javayant NEW
Deepesh N VocelkaIndiaIvan Magalhaes QUALIFIED
Tony C NestleSpainElwin Sharvill RENEWAL
Adams H GillianGermanyElwin Sharvill RENEWAL
Aditya A StensethGermanyAmy Elsner PROPOSAL
Greenwood H FigeroaRussiaAnna Fali NEGOTIATION
Kadeem H SchemmerSpainIvan Magalhaes QUALIFIED
Ashley R GauchoAustraliaIoni Bowcher QUALIFIED
Silvio O CampainGermanyElwin Sharvill RENEWAL
Smith V SchemmerItalyAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer B PaprockiRussia2025-06-10Chanay, Jeffrey A Esq QUALIFIED29Bernardo Dominic
1001Emily D GarufiBrazil2025-05-26Commercial Press NEW72Stephen Shaw
1002Chavez X WhobreyCanada2025-06-14Chanay, Jeffrey A Esq QUALIFIED96Elwin Sharvill
1003Aruna N FollerJapan2025-05-25Chemel, James L Cpa PROPOSAL5Elwin Sharvill
1004Jefferson W PerinSpain2025-06-11Feiner Bros RENEWAL26Stephen Shaw
1005Ashley M StensethCanada2025-05-26Chanay, Jeffrey A Esq PROPOSAL43Ioni Bowcher
1006Silvio T PaprockiArgentina2025-06-05Chapman, Ross E Esq NEW37Xuxue Feng
1007Emily E ButtFrance2025-06-06Chapman, Ross E Esq PROPOSAL67Stephen Shaw
1008David Q SaylorsRussia2025-06-15Rangoni Of Florence RENEWAL82Onyama Limba
1009Stacey T MaletSpain2025-05-23Rangoni Of Florence NEGOTIATION25Ivan Magalhaes
1010Izzy J WhobreyCanada2025-06-02Rangoni Of Florence QUALIFIED72Bernardo Dominic
1011Claire Z VocelkaJapan2025-06-01Benton, John B Jr RENEWAL54Elwin Sharvill
1012Antonio F FigeroaArgentina2025-05-29Truhlar And Truhlar Attys UNQUALIFIED87Onyama Limba
1013Juan V VocelkaArgentina2025-06-16Chemel, James L Cpa UNQUALIFIED16Stephen Shaw
1014Sinclair Z PoquetteFrance2025-06-13Morlong Associates RENEWAL60Elwin Sharvill
1015Morrow F GlickCanada2025-05-29Dorl, James J Esq NEGOTIATION22Onyama Limba
1016Izzy C BologniaUnited Kingdom2025-06-07Chapman, Ross E Esq NEW66Onyama Limba
1017Maria O ButtIndia2025-06-16Chapman, Ross E Esq PROPOSAL92Bernardo Dominic
1018David U GarufiSpain2025-06-14Rangoni Of Florence PROPOSAL6Stephen Shaw
1019Ricardo G KolmetzIndia2025-05-30Commercial Press NEW78Ivan Magalhaes
1020Silvio Y OldroydIndia2025-05-23Feltz Printing Service RENEWAL58Ioni Bowcher
1021Leja F PoquetteGermany2025-06-03Buckley Miller Wright NEGOTIATION71Xuxue Feng
1022Claire V SlusarskiRussia2025-06-02Chemel, James L Cpa QUALIFIED87Stephen Shaw
1023Aika C StockhamArgentina2025-05-26Chanay, Jeffrey A Esq NEGOTIATION44Xuxue Feng
1024Jefferson I ButtBrazil2025-05-28Rangoni Of Florence QUALIFIED2Bernardo Dominic
1025Deepesh H WhobreyAustralia2025-06-04Chapman, Ross E Esq NEGOTIATION79Asiya Javayant
1026Kaitlin C TollnerJapan2025-06-07Rousseaux, Michael Esq UNQUALIFIED37Anna Fali
1027Smith O KolmetzIndia2025-06-15Truhlar And Truhlar Attys UNQUALIFIED0Asiya Javayant
1028Mayumi V VocelkaCanada2025-06-09Commercial Press NEW2Amy Elsner
1029David S GillianIndia2025-06-14Truhlar And Truhlar Attys QUALIFIED75Anna Fali
1030Alejandro L StensethJapan2025-06-14Chapman, Ross E Esq NEW31Ioni Bowcher
1031James X NickaCanada2025-06-12Truhlar And Truhlar Attys QUALIFIED8Anna Fali
1032Nicolas H NickaJapan2025-05-31King, Christopher A Esq QUALIFIED78Bernardo Dominic
1033David N PaprockiJapan2025-05-24Dorl, James J Esq UNQUALIFIED16Xuxue Feng
1034Aika D WhobreyFrance2025-06-08Buckley Miller Wright NEGOTIATION15Onyama Limba
1035Jefferson J VenereGermany2025-05-25Feltz Printing Service NEW38Xuxue Feng
1036Jefferson F MaletBrazil2025-06-06Benton, John B Jr QUALIFIED81Anna Fali
1037Octavia S BologniaUnited Kingdom2025-06-02King, Christopher A Esq PROPOSAL21Xuxue Feng
1038Wickens G RulapaughItaly2025-05-19Rousseaux, Michael Esq QUALIFIED76Bernardo Dominic
1039Cody Q PaprockiSpain2025-06-07Chemel, James L Cpa RENEWAL91Ioni Bowcher
1040Ashley Z BowleyIndia2025-06-02Chemel, James L Cpa QUALIFIED12Xuxue Feng
1041Jefferson Q PaprockiUnited Kingdom2025-06-07Chanay, Jeffrey A Esq NEGOTIATION71Elwin Sharvill
1042Clifford I MaletArgentina2025-05-18Benton, John B Jr PROPOSAL27Amy Elsner
1043Claire Y BriddickItaly2025-06-11Rousseaux, Michael Esq NEGOTIATION14Bernardo Dominic
1044James V TollnerSpain2025-06-07Benton, John B Jr QUALIFIED29Stephen Shaw
1045Claire W OstroskyItaly2025-06-01Rangoni Of Florence RENEWAL15Asiya Javayant
1046Octavia C FigeroaIndia2025-06-01Feltz Printing Service UNQUALIFIED93Bernardo Dominic
1047Rodrigues F BologniaFrance2025-06-09Rangoni Of Florence PROPOSAL62Anna Fali
1048Aditya I MaletFrance2025-05-23Printing Dimensions NEW75Bernardo Dominic
1049Arvin V CaldareraBrazil2025-06-07Buckley Miller Wright QUALIFIED62Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Alejandro N GarufiBrazilXuxue Feng PROPOSAL
Greenwood W CaldareraSpainAmy Elsner PROPOSAL
Rodrigues Q KolmetzRussiaElwin Sharvill RENEWAL
Chavez Q DilliardIndiaOnyama Limba RENEWAL
Wickens F CampainIndiaElwin Sharvill RENEWAL
David O WhobreyBrazilOnyama Limba PROPOSAL
Leja V RimArgentinaStephen Shaw NEGOTIATION
Adams Z BowleySpainXuxue Feng NEGOTIATION
Aika N GlickArgentinaOnyama Limba UNQUALIFIED
Sinclair J ShinkoIndiaIoni Bowcher NEGOTIATION
Maisha T CaldareraFranceIoni Bowcher QUALIFIED
Claire H MarrierJapanAmy Elsner NEW
James B MaletJapanIoni Bowcher NEGOTIATION
Mayumi O RutaGermanyIvan Magalhaes NEGOTIATION
Misaki Z SaylorsJapanAnna Fali UNQUALIFIED
Smith V DilliardFranceElwin Sharvill RENEWAL
Jefferson S InouyeRussiaBernardo Dominic NEGOTIATION
Mayumi G AmigonGermanyIvan Magalhaes QUALIFIED
Nicolas F BologniaJapanIvan Magalhaes NEGOTIATION
Misaki U TollnerFranceElwin Sharvill PROPOSAL
Greenwood C RutaSpainAsiya Javayant NEW
Deepesh D MarrierJapanBernardo Dominic UNQUALIFIED
Salvatore P GauchoGermanyStephen Shaw QUALIFIED
Ivar R BriddickFranceStephen Shaw UNQUALIFIED
Arvin U StockhamSpainAmy Elsner NEW
Octavia S SaylorsBrazilAsiya Javayant NEW
Leja Z SchemmerArgentinaAsiya Javayant PROPOSAL
Claire V GauchoArgentinaAmy Elsner UNQUALIFIED
Antonio E TollnerSpainAmy Elsner UNQUALIFIED
Ashley F SlusarskiGermanyElwin Sharvill UNQUALIFIED
Julie Z BologniaRussiaAnna Fali NEW
James C InouyeIndiaStephen Shaw RENEWAL
Morrow N GarufiBrazilIvan Magalhaes NEGOTIATION
Ricardo Z NickaRussiaXuxue Feng UNQUALIFIED
Aruna I AlbaresCanadaBernardo Dominic RENEWAL
Ricardo S WieserArgentinaIoni Bowcher NEGOTIATION
Ricardo L CaldareraArgentinaIvan Magalhaes PROPOSAL
Rodrigues R MorascaArgentinaXuxue Feng PROPOSAL
Aika C BowleySpainAnna Fali RENEWAL
Adams W IturbideIndiaStephen Shaw QUALIFIED
Darci F RimAustraliaXuxue Feng NEW
Julie I InouyeSpainBernardo Dominic NEGOTIATION
Smith R MarrierCanadaOnyama Limba UNQUALIFIED
Ivar C MaletRussiaXuxue Feng NEGOTIATION
Aika T AmigonFranceXuxue Feng QUALIFIED
James V SergiArgentinaElwin Sharvill NEGOTIATION
Ivar E AmigonIndiaAsiya Javayant UNQUALIFIED
Chavez U StensethBrazilAsiya Javayant UNQUALIFIED
Ashley G WhobreyBrazilStephen Shaw PROPOSAL
Cody E CampainItalyAsiya Javayant PROPOSAL
Frozen Columns
Name
Aruna I Stenseth
Faith Y Iturbide
Stacey N Rim
Isabel T Wieser
Juan F Glick
Mujtaba S Bowley
Aruna X Stenseth
Antonio I Paprocki
Juan Z Gaucho
Francesco D Malet
Antonio M Albares
Wickens F Dilliard
Emily B Whobrey
Maria M Butt
Costa Q Briddick
Mayumi E Morasca
Misaki Q Gillian
Nicolas U Dilliard
Maisha D Kusko
Johnson G Butt
Aika V Foller
Ashley P Garufi
Aditya D Gaucho
Alejandro S Caldarera
Kaitlin E Campain
Silvio I Rim
Wickens M Darakjy
Maisha A Vocelka
Jones F Rulapaugh
Jones A Bolognia
Smith W Morasca
Adams W Sergi
David C Glick
Wickens Y Saylors
Juan H Poquette
Salvatore K Maclead
Deepesh G Rulapaugh
Silvio B Vocelka
Murillo C Campain
Juan U Poquette
Stacey S Malet
Leon X Malet
Faith Q Inouye
Rodrigues G Bolognia
Munro F Glick
Mujtaba H Shinko
Aditya X Oldroyd
Leon D Bolognia
Adams L Stenseth
David W Dilliard
IdCountryDate
1000Argentina2025-06-09
1001Spain2025-05-23
1002Russia2025-05-29
1003India2025-05-29
1004Italy2025-06-03
1005Russia2025-05-27
1006Russia2025-06-11
1007Japan2025-06-11
1008Brazil2025-06-14
1009France2025-05-24
1010Germany2025-06-15
1011Australia2025-05-22
1012Japan2025-05-19
1013United Kingdom2025-05-28
1014Canada2025-06-07
1015Australia2025-05-26
1016Italy2025-05-28
1017France2025-05-30
1018Brazil2025-06-12
1019Russia2025-05-22
1020United Kingdom2025-06-03
1021India2025-06-12
1022Japan2025-06-06
1023Spain2025-06-04
1024Australia2025-05-23
1025Australia2025-06-10
1026Canada2025-05-27
1027Canada2025-06-11
1028Germany2025-06-04
1029Canada2025-05-30
1030Japan2025-06-11
1031Japan2025-06-13
1032Russia2025-06-16
1033Russia2025-05-30
1034Argentina2025-06-06
1035Brazil2025-05-31
1036United Kingdom2025-05-31
1037Italy2025-06-15
1038Japan2025-06-11
1039Brazil2025-05-19
1040Brazil2025-05-31
1041Italy2025-05-25
1042Spain2025-06-01
1043Russia2025-05-28
1044Brazil2025-05-27
1045France2025-06-08
1046Australia2025-06-09
1047Italy2025-06-15
1048Italy2025-05-20
1049Japan2025-06-14

On-Demand Data

NameIdCountryDate
Arvin M Royster1000Spain2025-06-02
Leja L Ostrosky1001Spain2025-06-02
Chavez P Nestle1002Spain2025-05-21
Maria T Flosi1003Brazil2025-05-18
Isabel S Ferencz1004Canada2025-06-10
Izzy J Royster1005France2025-05-21
Clifford D Garufi1006France2025-06-09
David B Sergi1007Russia2025-06-03
Sinclair O Darakjy1008Italy2025-06-04
Misaki A Kolmetz1009United Kingdom2025-06-01
Cody G Poquette1010Brazil2025-05-25
Octavia Y Bowley1011Germany2025-05-26
Wickens R Ruta1012Australia2025-05-31
Chavez A Bowley1013Argentina2025-05-23
Isabel Z Slusarski1014Russia2025-06-14
David C Rulapaugh1015Russia2025-05-25
David L Ferencz1016Spain2025-06-02
Salvatore Q Royster1017France2025-05-21
Kadeem D Nicka1018Brazil2025-05-20
Aika Y Malet1019Argentina2025-05-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones I StensethAustraliaIvan Magalhaes NEGOTIATION
Alejandro B SchemmerFranceIoni Bowcher NEGOTIATION
Rodrigues K AlbaresRussiaOnyama Limba UNQUALIFIED
Ricardo N TollnerSpainOnyama Limba UNQUALIFIED
Jefferson L RimIndiaOnyama Limba UNQUALIFIED
Ashley M CaudyArgentinaStephen Shaw UNQUALIFIED
Juan Z MaletSpainIoni Bowcher NEW
Emily M WaycottItalyXuxue Feng NEW
Octavia H SergiAustraliaAmy Elsner NEW
Julie J DoeFranceAmy Elsner UNQUALIFIED
Faith C FollerGermanyAnna Fali NEW
Claire H SchemmerBrazilAnna Fali RENEWAL
Aruna U BriddickFranceBernardo Dominic NEGOTIATION
Kaitlin L CaudyItalyXuxue Feng PROPOSAL
Clifford H PoquetteGermanyElwin Sharvill QUALIFIED
Aruna Q TollnerItalyAsiya Javayant RENEWAL
Emily R MarrierSpainIoni Bowcher QUALIFIED
Ivar O StockhamAustraliaIvan Magalhaes QUALIFIED
Juan E WaycottJapanAsiya Javayant UNQUALIFIED
Izzy Z NestleRussiaAmy Elsner PROPOSAL
Silvio W DarakjyFranceIoni Bowcher NEGOTIATION
Johnson D InouyeIndiaIoni Bowcher UNQUALIFIED
Ricardo X GarufiUnited KingdomOnyama Limba RENEWAL
Clifford N PerinAustraliaXuxue Feng NEGOTIATION
Juan Q WhobreyRussiaElwin Sharvill NEW
Jefferson V PaprockiBrazilIoni Bowcher NEW
Sinclair I StensethSpainStephen Shaw RENEWAL
James C AlbaresAustraliaAsiya Javayant RENEWAL
Ashley A SlusarskiIndiaBernardo Dominic UNQUALIFIED
Faith E GlickGermanyAmy Elsner NEW
Munro O SaylorsCanadaXuxue Feng UNQUALIFIED
Murillo O WhobreyIndiaElwin Sharvill UNQUALIFIED
Kaitlin J StensethGermanyXuxue Feng NEGOTIATION
Ashley Z MarrierIndiaElwin Sharvill NEW
Jennifer F CampainCanadaIvan Magalhaes UNQUALIFIED
Clifford J SlusarskiUnited KingdomBernardo Dominic NEW
Maria V GlickJapanBernardo Dominic RENEWAL
Octavia H FerenczUnited KingdomOnyama Limba UNQUALIFIED
Murillo N StockhamCanadaOnyama Limba PROPOSAL
Nicolas O DilliardUnited KingdomAmy Elsner 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>