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
Octavia R DilliardSpainAnna Fali QUALIFIED
Sinclair T OldroydFranceBernardo Dominic NEGOTIATION
Stacey S ShinkoArgentinaOnyama Limba PROPOSAL
Octavia K RimAustraliaElwin Sharvill NEGOTIATION
Stacey D BriddickIndiaIvan Magalhaes RENEWAL
Antonio B ChuiFranceStephen Shaw UNQUALIFIED
Jeanfrancois E DarakjyGermanyOnyama Limba UNQUALIFIED
Ricardo Q GauchoItalyOnyama Limba UNQUALIFIED
Antonio I StockhamSpainIoni Bowcher RENEWAL
Costa F ChuiUnited KingdomElwin Sharvill PROPOSAL
Isabel J BriddickSpainStephen Shaw RENEWAL
Deepesh F KuskoSpainAnna Fali QUALIFIED
Stacey L FigeroaGermanyAmy Elsner UNQUALIFIED
Cody U SaylorsArgentinaIvan Magalhaes NEGOTIATION
Aruna C SchemmerJapanAmy Elsner QUALIFIED
James H AmigonJapanIvan Magalhaes RENEWAL
Kadeem A PerinRussiaStephen Shaw RENEWAL
James P BowleyJapanBernardo Dominic PROPOSAL
Nicolas U IturbideSpainAmy Elsner NEW
Salvatore C PaprockiFranceAsiya Javayant NEW
Alejandro I MaletUnited KingdomBernardo Dominic NEGOTIATION
Munro A OstroskyBrazilOnyama Limba UNQUALIFIED
Kadeem W AmigonGermanyElwin Sharvill QUALIFIED
Maria C CampainGermanyIvan Magalhaes PROPOSAL
Clifford P CaudyGermanyBernardo Dominic PROPOSAL
Emily I RutaIndiaAmy Elsner NEW
Faith X FerenczRussiaAnna Fali RENEWAL
Faith J CaudyArgentinaElwin Sharvill QUALIFIED
Jeanfrancois T WaycottArgentinaAsiya Javayant PROPOSAL
Antonio M FigeroaJapanElwin Sharvill QUALIFIED
Morrow V StockhamGermanyOnyama Limba NEW
Mujtaba Z MorascaSpainXuxue Feng QUALIFIED
Salvatore L NickaRussiaIoni Bowcher NEGOTIATION
Johnson N FollerJapanBernardo Dominic NEGOTIATION
Mujtaba M DarakjyGermanyIoni Bowcher PROPOSAL
Tony C VocelkaJapanAnna Fali NEGOTIATION
Nicolas X RutaArgentinaStephen Shaw NEGOTIATION
Stacey Z MarrierBrazilAmy Elsner QUALIFIED
Kaitlin W DarakjyCanadaIvan Magalhaes UNQUALIFIED
Leon D FigeroaItalyAsiya Javayant RENEWAL
Cody E StockhamAustraliaElwin Sharvill RENEWAL
Silvio R MaletUnited KingdomIoni Bowcher UNQUALIFIED
Izzy B BowleyGermanyXuxue Feng NEGOTIATION
Kaitlin V MaletIndiaIvan Magalhaes PROPOSAL
Cody S VenereCanadaStephen Shaw NEW
Mayumi J FollerSpainBernardo Dominic NEGOTIATION
Juan F DarakjyGermanyAnna Fali QUALIFIED
Murillo M KolmetzJapanBernardo Dominic UNQUALIFIED
Chavez Q OstroskyFranceIvan Magalhaes NEGOTIATION
Faith V GillianFranceElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Aruna V RulapaughCanadaXuxue Feng RENEWAL
Greenwood L RulapaughAustraliaAnna Fali UNQUALIFIED
Sinclair F SlusarskiItalyIvan Magalhaes RENEWAL
Misaki P WhobreyAustraliaElwin Sharvill PROPOSAL
Ivar D GillianCanadaStephen Shaw PROPOSAL
Kadeem B AmigonArgentinaStephen Shaw NEW
Stacey U CaldareraSpainElwin Sharvill QUALIFIED
Aruna C DoeSpainAnna Fali RENEWAL
Cody S DoeItalyElwin Sharvill PROPOSAL
Antonio N OstroskyUnited KingdomElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo H BowleyJapan2025-05-01Rousseaux, Michael Esq NEGOTIATION46Asiya Javayant
1001Aditya R TollnerUnited Kingdom2025-05-01Feiner Bros PROPOSAL11Anna Fali
1002Deepesh P AlbaresCanada2025-04-27Printing Dimensions RENEWAL10Anna Fali
1003Jennifer D RulapaughUnited Kingdom2025-04-10Rousseaux, Michael Esq PROPOSAL28Bernardo Dominic
1004Faith D TollnerArgentina2025-04-26Truhlar And Truhlar Attys QUALIFIED45Elwin Sharvill
1005Smith T TollnerIndia2025-04-27Printing Dimensions UNQUALIFIED48Bernardo Dominic
1006Costa K PaprockiFrance2025-04-25Rangoni Of Florence RENEWAL62Xuxue Feng
1007Costa E MacleadSpain2025-04-26Truhlar And Truhlar Attys NEW19Anna Fali
1008Kadeem E DilliardCanada2025-05-01Feltz Printing Service UNQUALIFIED97Ivan Magalhaes
1009Adams G NestleJapan2025-05-01Feiner Bros NEGOTIATION11Asiya Javayant
1010Maisha P MorascaItaly2025-05-04Buckley Miller Wright UNQUALIFIED56Asiya Javayant
1011Ashley V MarrierRussia2025-04-25Morlong Associates PROPOSAL97Asiya Javayant
1012Antonio W RimCanada2025-04-27Morlong Associates NEW61Ioni Bowcher
1013Adams H RimSpain2025-05-05Commercial Press RENEWAL70Bernardo Dominic
1014Mayumi C PoquetteRussia2025-04-09Chemel, James L Cpa QUALIFIED61Ivan Magalhaes
1015Johnson R PerinCanada2025-04-15Rangoni Of Florence UNQUALIFIED62Bernardo Dominic
1016David C PaprockiRussia2025-05-05Dorl, James J Esq NEGOTIATION95Bernardo Dominic
1017Jeanfrancois A SlusarskiArgentina2025-05-03Rangoni Of Florence PROPOSAL44Xuxue Feng
1018Antonio U IturbideSpain2025-04-13Chanay, Jeffrey A Esq UNQUALIFIED63Amy Elsner
1019Antonio O CampainJapan2025-04-16Rousseaux, Michael Esq RENEWAL34Ivan Magalhaes
1020Octavia U DoeSpain2025-04-25Feiner Bros NEW27Onyama Limba
1021Faith U KolmetzArgentina2025-04-19Printing Dimensions UNQUALIFIED57Anna Fali
1022Jefferson J GillianGermany2025-05-08Chanay, Jeffrey A Esq QUALIFIED24Xuxue Feng
1023Wickens D MorascaArgentina2025-04-27Feiner Bros NEGOTIATION71Elwin Sharvill
1024Julie Y KolmetzGermany2025-05-05Buckley Miller Wright NEGOTIATION20Bernardo Dominic
1025Ricardo Q NestleItaly2025-04-28Feiner Bros NEGOTIATION60Ioni Bowcher
1026Kaitlin G DoeGermany2025-04-16Morlong Associates RENEWAL15Asiya Javayant
1027Greenwood D PerinItaly2025-04-15Truhlar And Truhlar Attys QUALIFIED27Amy Elsner
1028Morrow D KolmetzIndia2025-04-11Commercial Press PROPOSAL39Elwin Sharvill
1029Isabel I ButtItaly2025-04-28Feiner Bros NEW76Elwin Sharvill
1030Sinclair T SaylorsRussia2025-04-13Feltz Printing Service PROPOSAL19Anna Fali
1031Aruna R SlusarskiRussia2025-04-29Rangoni Of Florence NEGOTIATION14Asiya Javayant
1032Aditya O MaletJapan2025-05-02Morlong Associates NEGOTIATION20Amy Elsner
1033Silvio I KuskoBrazil2025-04-14Morlong Associates NEW37Onyama Limba
1034Stacey B DilliardCanada2025-04-14Truhlar And Truhlar Attys NEGOTIATION86Stephen Shaw
1035Greenwood R FlosiItaly2025-04-19Truhlar And Truhlar Attys PROPOSAL54Asiya Javayant
1036Darci I FollerAustralia2025-04-29Commercial Press UNQUALIFIED96Stephen Shaw
1037Salvatore A StockhamJapan2025-04-26Chapman, Ross E Esq NEGOTIATION85Stephen Shaw
1038Juan Q GauchoIndia2025-05-03Benton, John B Jr QUALIFIED10Xuxue Feng
1039Adams H VocelkaSpain2025-04-30Chapman, Ross E Esq PROPOSAL94Asiya Javayant
1040Johnson Z OldroydUnited Kingdom2025-04-17Truhlar And Truhlar Attys RENEWAL72Ioni Bowcher
1041Costa G RoysterItaly2025-04-28Rousseaux, Michael Esq PROPOSAL21Bernardo Dominic
1042Juan S ChuiGermany2025-04-13Rangoni Of Florence NEW15Anna Fali
1043Darci U FlosiSpain2025-04-11Buckley Miller Wright PROPOSAL17Amy Elsner
1044Chavez B DarakjyFrance2025-04-22Chanay, Jeffrey A Esq UNQUALIFIED65Ivan Magalhaes
1045Aruna K FerenczAustralia2025-04-23Chemel, James L Cpa NEW51Amy Elsner
1046Faith C AlbaresAustralia2025-04-12Chapman, Ross E Esq PROPOSAL85Bernardo Dominic
1047Jennifer W OstroskySpain2025-04-27Printing Dimensions PROPOSAL17Bernardo Dominic
1048Aika J ShinkoBrazil2025-05-08Chapman, Ross E Esq UNQUALIFIED72Ivan Magalhaes
1049Morrow T DarakjyFrance2025-05-05Buckley Miller Wright NEW13Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Octavia M WhobreySpainBernardo Dominic NEGOTIATION
Aruna G RutaGermanyAsiya Javayant PROPOSAL
Claire K MorascaSpainStephen Shaw QUALIFIED
Claire H IturbideFranceBernardo Dominic NEW
Maria G NickaFranceXuxue Feng UNQUALIFIED
Ricardo X DarakjyIndiaElwin Sharvill NEW
Leja M KuskoJapanAnna Fali QUALIFIED
Isabel N ChuiJapanAnna Fali NEGOTIATION
Leja E SlusarskiItalyIoni Bowcher NEGOTIATION
Aruna M PerinAustraliaBernardo Dominic NEW
Ivar G NestleSpainStephen Shaw NEGOTIATION
Izzy K NickaArgentinaStephen Shaw QUALIFIED
Sinclair C BologniaCanadaAmy Elsner RENEWAL
Ashley Y WaycottFranceStephen Shaw PROPOSAL
Jennifer Z CaldareraArgentinaIvan Magalhaes QUALIFIED
Costa D WieserItalyIvan Magalhaes RENEWAL
Ricardo K TollnerArgentinaIoni Bowcher QUALIFIED
Morrow H MarrierIndiaAnna Fali PROPOSAL
Salvatore V MacleadAustraliaXuxue Feng RENEWAL
Julie N MacleadUnited KingdomElwin Sharvill QUALIFIED
Wickens A RoysterJapanXuxue Feng QUALIFIED
Julie S SchemmerJapanElwin Sharvill QUALIFIED
Jones J ChuiItalyAsiya Javayant NEW
Nicolas R MorascaBrazilAsiya Javayant NEGOTIATION
Mujtaba S GlickGermanyOnyama Limba PROPOSAL
Wickens P StensethRussiaXuxue Feng RENEWAL
Claire K KuskoItalyAnna Fali NEW
Mujtaba J FerenczJapanAsiya Javayant QUALIFIED
Francesco A MarrierBrazilIvan Magalhaes NEW
Mujtaba P NestleArgentinaXuxue Feng RENEWAL
Ivar O BriddickGermanyAmy Elsner QUALIFIED
Isabel T CaudyGermanyBernardo Dominic UNQUALIFIED
Francesco R SchemmerJapanAmy Elsner NEW
Kaitlin X BowleyFranceIvan Magalhaes UNQUALIFIED
Leja N ButtJapanOnyama Limba RENEWAL
Claire R KolmetzArgentinaAnna Fali UNQUALIFIED
Clifford T GillianBrazilElwin Sharvill QUALIFIED
Tony D FigeroaCanadaAnna Fali RENEWAL
Isabel N RutaBrazilElwin Sharvill NEGOTIATION
Stacey P InouyeGermanyAsiya Javayant QUALIFIED
Kadeem Q MacleadItalyStephen Shaw UNQUALIFIED
Juan W ChuiAustraliaIoni Bowcher NEGOTIATION
Octavia E NickaIndiaStephen Shaw NEW
Clifford S WieserFranceElwin Sharvill NEW
Maisha X CaldareraAustraliaElwin Sharvill NEW
Ricardo R VocelkaSpainAnna Fali UNQUALIFIED
Alejandro C ButtGermanyXuxue Feng UNQUALIFIED
Julie M GlickBrazilBernardo Dominic NEGOTIATION
Alejandro B WieserFranceAnna Fali PROPOSAL
Aditya S BriddickIndiaElwin Sharvill QUALIFIED
Frozen Columns
Name
Juan E Venere
Emily C Rim
Wickens V Royster
Ricardo J Maclead
Antonio Q Iturbide
Greenwood A Rulapaugh
Munro T Figeroa
Juan J Ruta
Stacey Q Briddick
Murillo G Amigon
Aditya Q Oldroyd
Greenwood Y Inouye
Arvin K Ostrosky
Claire K Marrier
Ashley R Doe
Murillo F Bolognia
James Z Caudy
Kadeem Z Vocelka
Morrow U Whobrey
Stacey N Morasca
Izzy L Royster
Ivar O Tollner
Deepesh T Paprocki
Costa M Glick
Nicolas X Wieser
Darci N Gaucho
Chavez N Butt
Antonio K Amigon
Johnson F Briddick
Izzy K Marrier
James J Kusko
Johnson N Shinko
Alejandro V Tollner
Isabel L Tollner
Ashley N Amigon
Francesco R Kusko
Rodrigues X Bowley
Julie H Shinko
Misaki Z Campain
Alejandro B Saylors
Claire E Ostrosky
Rodrigues C Rim
David R Sergi
Jefferson O Paprocki
Ivar R Amigon
Jefferson M Malet
Salvatore V Bowley
Silvio P Flosi
Misaki J Campain
Claire D Kusko
IdCountryDate
1000Argentina2025-04-22
1001Canada2025-04-30
1002Japan2025-05-06
1003Brazil2025-05-02
1004Argentina2025-04-29
1005Argentina2025-04-19
1006United Kingdom2025-04-09
1007Germany2025-05-05
1008United Kingdom2025-04-09
1009India2025-04-24
1010Argentina2025-05-06
1011Argentina2025-04-10
1012Russia2025-05-03
1013Spain2025-04-25
1014Russia2025-04-23
1015France2025-04-25
1016Italy2025-04-12
1017Spain2025-05-02
1018Argentina2025-04-12
1019United Kingdom2025-04-22
1020Spain2025-05-03
1021Germany2025-04-18
1022France2025-04-12
1023India2025-04-18
1024United Kingdom2025-04-16
1025India2025-04-26
1026Italy2025-04-15
1027India2025-05-06
1028France2025-04-28
1029France2025-04-14
1030Russia2025-04-27
1031Italy2025-04-22
1032India2025-04-20
1033Canada2025-04-17
1034France2025-04-09
1035Japan2025-05-06
1036Brazil2025-04-26
1037France2025-05-02
1038Spain2025-04-17
1039Spain2025-04-24
1040Japan2025-04-29
1041Italy2025-04-12
1042Spain2025-04-19
1043Brazil2025-04-28
1044Russia2025-04-09
1045Australia2025-04-14
1046United Kingdom2025-05-06
1047Germany2025-04-09
1048Australia2025-04-25
1049Australia2025-04-24

On-Demand Data

NameIdCountryDate
Leon H Tollner1000Spain2025-04-30
Greenwood N Malet1001Germany2025-04-14
David K Inouye1002Germany2025-04-25
Ivar W Ruta1003Argentina2025-04-24
Leja F Campain1004India2025-04-28
Clifford N Bolognia1005Japan2025-05-08
Stacey E Flosi1006Australia2025-04-26
Emily L Vocelka1007Australia2025-04-13
Alejandro P Bolognia1008Russia2025-04-27
Munro P Foller1009United Kingdom2025-04-13
Ricardo P Bolognia1010Germany2025-05-06
Munro V Briddick1011Brazil2025-04-14
Maria S Rulapaugh1012Australia2025-04-27
Francesco Q Wieser1013France2025-04-29
Salvatore E Saylors1014United Kingdom2025-04-24
Maisha I Bolognia1015Germany2025-04-25
Octavia D Oldroyd1016Russia2025-05-06
Leon O Perin1017Russia2025-05-02
Mujtaba H Malet1018India2025-05-07
Francesco F Paprocki1019United Kingdom2025-04-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie B MaletRussiaXuxue Feng PROPOSAL
Kadeem Z MorascaAustraliaIvan Magalhaes QUALIFIED
Rodrigues T FollerBrazilElwin Sharvill QUALIFIED
Tony G DoeSpainAsiya Javayant QUALIFIED
Murillo G FollerFranceBernardo Dominic NEW
Maria C VenereIndiaIvan Magalhaes NEW
Kaitlin X FerenczIndiaXuxue Feng NEGOTIATION
Aditya M GillianIndiaOnyama Limba QUALIFIED
Julie J FollerGermanyBernardo Dominic QUALIFIED
James B DoeBrazilBernardo Dominic NEW
Adams C RutaArgentinaAsiya Javayant NEGOTIATION
Rodrigues O VocelkaAustraliaIoni Bowcher PROPOSAL
Maisha H SaylorsBrazilOnyama Limba QUALIFIED
Jones X GauchoBrazilIvan Magalhaes QUALIFIED
Mayumi O SchemmerCanadaOnyama Limba PROPOSAL
Kadeem K IturbideGermanyAnna Fali QUALIFIED
Deepesh D DilliardRussiaStephen Shaw NEGOTIATION
Johnson M FollerUnited KingdomStephen Shaw RENEWAL
Johnson X RoysterGermanyElwin Sharvill UNQUALIFIED
Deepesh N BowleyUnited KingdomStephen Shaw RENEWAL
Nicolas S AlbaresItalyBernardo Dominic UNQUALIFIED
Julie H InouyeBrazilBernardo Dominic NEGOTIATION
Jeanfrancois I IturbideIndiaXuxue Feng RENEWAL
Sinclair I IturbideGermanyIvan Magalhaes NEW
Juan B ShinkoItalyAsiya Javayant UNQUALIFIED
Ashley N MorascaSpainAsiya Javayant PROPOSAL
Isabel S FollerIndiaAmy Elsner NEGOTIATION
Salvatore K RulapaughIndiaOnyama Limba PROPOSAL
Greenwood F RoysterBrazilAnna Fali QUALIFIED
James K BriddickFranceIoni Bowcher QUALIFIED
Kaitlin N MarrierBrazilIoni Bowcher NEGOTIATION
Kaitlin U InouyeFranceXuxue Feng NEGOTIATION
Deepesh I MacleadIndiaBernardo Dominic RENEWAL
Adams M RoysterJapanBernardo Dominic RENEWAL
Stacey I OldroydUnited KingdomXuxue Feng NEGOTIATION
Deepesh K GarufiArgentinaXuxue Feng PROPOSAL
Emily P PerinSpainXuxue Feng NEW
Alejandro V GauchoGermanyOnyama Limba RENEWAL
Jones Y FlosiFranceAmy Elsner NEGOTIATION
Kaitlin P NestleUnited KingdomIoni Bowcher RENEWAL

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