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
Kaitlin T AlbaresSpainAsiya Javayant UNQUALIFIED
Julie U DilliardIndiaXuxue Feng RENEWAL
Jeanfrancois Y WieserUnited KingdomOnyama Limba NEW
Deepesh B WieserJapanAnna Fali UNQUALIFIED
Faith F FlosiUnited KingdomOnyama Limba UNQUALIFIED
Chavez F DarakjyFranceBernardo Dominic NEW
Sinclair Z CampainGermanyStephen Shaw QUALIFIED
Juan F WhobreyFranceBernardo Dominic PROPOSAL
Jennifer X CaudyGermanyIoni Bowcher NEGOTIATION
Salvatore V NickaGermanyXuxue Feng NEW
Salvatore B GarufiUnited KingdomBernardo Dominic NEW
Clifford E AlbaresItalyBernardo Dominic PROPOSAL
Murillo O InouyeRussiaAnna Fali NEW
Kaitlin C SergiRussiaStephen Shaw NEW
Maisha G MaletItalyAmy Elsner NEW
Mujtaba Q NickaUnited KingdomAnna Fali QUALIFIED
Jeanfrancois I BologniaJapanAnna Fali UNQUALIFIED
Mayumi Z StensethCanadaAnna Fali UNQUALIFIED
Isabel Z FollerArgentinaAsiya Javayant QUALIFIED
Ricardo I DoeAustraliaElwin Sharvill NEW
James I RoysterItalyElwin Sharvill UNQUALIFIED
Faith X ChuiFranceXuxue Feng NEGOTIATION
Silvio S GarufiIndiaBernardo Dominic NEGOTIATION
Ashley C NestleCanadaElwin Sharvill UNQUALIFIED
James C StensethAustraliaXuxue Feng PROPOSAL
Tony B CaldareraCanadaAnna Fali RENEWAL
Ricardo U GarufiSpainElwin Sharvill NEW
Aika B WhobreySpainElwin Sharvill RENEWAL
Leja G WhobreyGermanyOnyama Limba NEW
Salvatore G WhobreyIndiaAnna Fali UNQUALIFIED
Jeanfrancois L TollnerCanadaElwin Sharvill QUALIFIED
David Y TollnerGermanyAmy Elsner NEGOTIATION
Murillo G SergiSpainIvan Magalhaes RENEWAL
Ivar W GarufiUnited KingdomAmy Elsner PROPOSAL
Deepesh A GarufiIndiaElwin Sharvill UNQUALIFIED
Ricardo I ChuiBrazilAsiya Javayant RENEWAL
James I GarufiFranceAmy Elsner PROPOSAL
Adams F NestleGermanyOnyama Limba UNQUALIFIED
Kaitlin M AmigonRussiaElwin Sharvill QUALIFIED
Leon M ButtBrazilAmy Elsner NEGOTIATION
Claire I SlusarskiJapanOnyama Limba PROPOSAL
Jones U RutaIndiaIvan Magalhaes PROPOSAL
Cody Y OstroskySpainIoni Bowcher UNQUALIFIED
Kadeem Y KolmetzAustraliaXuxue Feng RENEWAL
Isabel R CampainBrazilAsiya Javayant NEW
Deepesh I MarrierFranceIoni Bowcher NEGOTIATION
Octavia P WieserJapanXuxue Feng QUALIFIED
Francesco X PaprockiIndiaAmy Elsner NEW
Munro F MaletSpainIvan Magalhaes QUALIFIED
Izzy T SlusarskiSpainXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aruna Y CaldareraCanadaXuxue Feng NEGOTIATION
Deepesh B BriddickFranceBernardo Dominic PROPOSAL
Leja G GarufiCanadaAsiya Javayant QUALIFIED
Ivar U GarufiArgentinaXuxue Feng QUALIFIED
Aruna Z CampainCanadaStephen Shaw PROPOSAL
Kadeem N TollnerJapanAmy Elsner PROPOSAL
Claire S ButtRussiaAnna Fali PROPOSAL
Salvatore K RimBrazilXuxue Feng PROPOSAL
Juan X FigeroaIndiaAsiya Javayant NEW
Isabel Y GauchoCanadaOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh Z StockhamSpain2025-04-19Dorl, James J Esq NEGOTIATION8Onyama Limba
1001Stacey C WhobreyCanada2025-04-28Commercial Press NEW21Bernardo Dominic
1002Maria S DoeBrazil2025-04-27Dorl, James J Esq PROPOSAL74Bernardo Dominic
1003Antonio T CampainArgentina2025-04-05Chanay, Jeffrey A Esq RENEWAL94Xuxue Feng
1004Munro Y AlbaresFrance2025-04-16Benton, John B Jr NEW80Bernardo Dominic
1005Jones V ChuiUnited Kingdom2025-04-16Chemel, James L Cpa NEGOTIATION88Ioni Bowcher
1006David D KuskoUnited Kingdom2025-04-24Morlong Associates NEW33Elwin Sharvill
1007Adams K SaylorsCanada2025-04-21Morlong Associates NEGOTIATION25Asiya Javayant
1008Jones Z GarufiIndia2025-04-05Morlong Associates UNQUALIFIED66Elwin Sharvill
1009Morrow K WhobreyAustralia2025-04-16Benton, John B Jr RENEWAL92Ivan Magalhaes
1010Aditya T NickaItaly2025-04-02Feiner Bros RENEWAL51Anna Fali
1011Jefferson B SchemmerUnited Kingdom2025-04-09Truhlar And Truhlar Attys QUALIFIED28Asiya Javayant
1012Jones N ShinkoBrazil2025-04-06Rousseaux, Michael Esq QUALIFIED39Asiya Javayant
1013Cody V PaprockiIndia2025-03-31Truhlar And Truhlar Attys QUALIFIED44Elwin Sharvill
1014Arvin O RulapaughGermany2025-04-05King, Christopher A Esq NEW52Ivan Magalhaes
1015Ivar N WaycottFrance2025-04-26Truhlar And Truhlar Attys NEW13Bernardo Dominic
1016Alejandro Z AmigonAustralia2025-04-22Printing Dimensions QUALIFIED8Ioni Bowcher
1017Silvio Q WieserSpain2025-04-28Printing Dimensions NEGOTIATION68Anna Fali
1018Claire F PerinCanada2025-04-04Dorl, James J Esq NEW81Ioni Bowcher
1019Stacey H MaletCanada2025-04-10Buckley Miller Wright NEW78Ioni Bowcher
1020Ashley L GlickUnited Kingdom2025-04-27Chemel, James L Cpa UNQUALIFIED55Elwin Sharvill
1021Jennifer F IturbideSpain2025-04-16Feltz Printing Service NEW38Asiya Javayant
1022Jeanfrancois A RimIndia2025-04-01Dorl, James J Esq RENEWAL80Asiya Javayant
1023Aika Y ButtGermany2025-04-13Chanay, Jeffrey A Esq QUALIFIED62Asiya Javayant
1024Stacey G ChuiFrance2025-04-05Printing Dimensions RENEWAL98Asiya Javayant
1025Aruna C MarrierItaly2025-04-11King, Christopher A Esq QUALIFIED85Asiya Javayant
1026Darci I SergiBrazil2025-03-31Printing Dimensions QUALIFIED74Onyama Limba
1027Adams U MorascaCanada2025-04-18Chanay, Jeffrey A Esq NEGOTIATION49Ivan Magalhaes
1028Silvio Q WieserUnited Kingdom2025-04-27Feltz Printing Service NEGOTIATION9Elwin Sharvill
1029Clifford V TollnerArgentina2025-04-27Chanay, Jeffrey A Esq QUALIFIED37Amy Elsner
1030Greenwood M SchemmerBrazil2025-04-07Rousseaux, Michael Esq PROPOSAL63Stephen Shaw
1031Ashley C CaldareraJapan2025-04-08Feltz Printing Service PROPOSAL9Ioni Bowcher
1032Jones V AlbaresAustralia2025-04-17Rangoni Of Florence UNQUALIFIED41Onyama Limba
1033Francesco U BologniaItaly2025-04-22Truhlar And Truhlar Attys NEW90Elwin Sharvill
1034Emily A PoquetteBrazil2025-04-25Chanay, Jeffrey A Esq PROPOSAL43Amy Elsner
1035Jeanfrancois F TollnerAustralia2025-04-02Commercial Press QUALIFIED98Stephen Shaw
1036Ricardo M OldroydJapan2025-04-23Feiner Bros NEW70Asiya Javayant
1037Misaki H KuskoSpain2025-04-23Dorl, James J Esq NEGOTIATION49Ivan Magalhaes
1038Jeanfrancois Y TollnerGermany2025-04-15Benton, John B Jr PROPOSAL83Bernardo Dominic
1039Aditya H GarufiAustralia2025-04-12Printing Dimensions PROPOSAL7Bernardo Dominic
1040Jennifer O FollerGermany2025-04-08Printing Dimensions NEGOTIATION0Bernardo Dominic
1041Munro W RoysterArgentina2025-04-12Commercial Press PROPOSAL64Asiya Javayant
1042Julie P ButtFrance2025-04-05Printing Dimensions QUALIFIED66Xuxue Feng
1043Salvatore P GillianJapan2025-04-05Printing Dimensions NEW81Ioni Bowcher
1044Julie X BologniaUnited Kingdom2025-03-31Commercial Press NEW79Anna Fali
1045Faith Q StockhamAustralia2025-04-19Commercial Press NEGOTIATION57Stephen Shaw
1046Clifford D GlickJapan2025-04-23Truhlar And Truhlar Attys RENEWAL7Xuxue Feng
1047Alejandro N FollerAustralia2025-04-14Benton, John B Jr NEGOTIATION16Elwin Sharvill
1048Silvio O ShinkoUnited Kingdom2025-04-20Rousseaux, Michael Esq UNQUALIFIED16Ioni Bowcher
1049Tony V StockhamGermany2025-04-14Morlong Associates UNQUALIFIED84Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Adams D PerinUnited KingdomIoni Bowcher RENEWAL
Morrow F GlickIndiaStephen Shaw NEW
Francesco B WaycottCanadaIvan Magalhaes NEGOTIATION
Ivar U StensethAustraliaIvan Magalhaes PROPOSAL
Alejandro T FlosiIndiaXuxue Feng QUALIFIED
Murillo K ChuiIndiaBernardo Dominic QUALIFIED
Mujtaba O MorascaBrazilOnyama Limba NEW
Maisha M PerinIndiaBernardo Dominic QUALIFIED
Octavia O StockhamFranceOnyama Limba UNQUALIFIED
Johnson B RimUnited KingdomAnna Fali RENEWAL
Leon B OldroydBrazilAnna Fali NEW
Smith P MacleadRussiaIoni Bowcher NEW
Maisha V NickaGermanyOnyama Limba PROPOSAL
Izzy V ShinkoUnited KingdomAnna Fali RENEWAL
Leja N RulapaughAustraliaIvan Magalhaes RENEWAL
Faith C RulapaughArgentinaBernardo Dominic NEGOTIATION
Aika T RimJapanElwin Sharvill RENEWAL
Aruna F SlusarskiBrazilAsiya Javayant UNQUALIFIED
Morrow H IturbideBrazilAmy Elsner PROPOSAL
Aika D NestleCanadaOnyama Limba UNQUALIFIED
Aruna U KolmetzJapanIvan Magalhaes PROPOSAL
Jefferson Z DilliardFranceIoni Bowcher RENEWAL
Jeanfrancois T PerinBrazilIoni Bowcher NEGOTIATION
Jeanfrancois T WaycottAustraliaBernardo Dominic NEGOTIATION
Faith D ShinkoUnited KingdomBernardo Dominic RENEWAL
Misaki R NickaBrazilAnna Fali NEW
Ricardo H ChuiIndiaStephen Shaw PROPOSAL
Darci D GillianItalyAmy Elsner RENEWAL
Claire S VenereIndiaElwin Sharvill RENEWAL
Aika U FollerSpainIoni Bowcher UNQUALIFIED
Octavia H FigeroaBrazilOnyama Limba QUALIFIED
Faith X StockhamGermanyXuxue Feng QUALIFIED
Jones Y MarrierJapanOnyama Limba UNQUALIFIED
Sinclair O NestleItalyBernardo Dominic UNQUALIFIED
Aruna B RoysterBrazilAnna Fali RENEWAL
Greenwood G WaycottCanadaStephen Shaw NEW
Kaitlin M MaletCanadaAnna Fali QUALIFIED
Emily F CampainSpainXuxue Feng PROPOSAL
Jeanfrancois V ChuiUnited KingdomStephen Shaw NEW
Tony Q BologniaUnited KingdomOnyama Limba PROPOSAL
Octavia E MorascaArgentinaIvan Magalhaes UNQUALIFIED
Jones R RutaJapanAmy Elsner UNQUALIFIED
Jefferson Q SlusarskiBrazilAnna Fali QUALIFIED
Faith Y GauchoIndiaStephen Shaw UNQUALIFIED
Octavia A ButtJapanXuxue Feng UNQUALIFIED
Kadeem O DarakjyRussiaBernardo Dominic RENEWAL
Darci M VenereIndiaXuxue Feng UNQUALIFIED
Misaki O DilliardSpainOnyama Limba RENEWAL
Alejandro V GlickFranceStephen Shaw QUALIFIED
Izzy D FigeroaArgentinaBernardo Dominic RENEWAL
Frozen Columns
Name
Kaitlin L Poquette
Leon D Maclead
Murillo G Caldarera
Cody Y Butt
Sinclair L Briddick
Izzy V Butt
Murillo G Chui
Antonio O Ruta
Kaitlin K Whobrey
Jefferson J Gillian
Clifford Q Garufi
Greenwood V Ferencz
Munro J Garufi
Johnson K Bowley
James N Royster
Darci T Rim
Ivar X Albares
Antonio O Vocelka
Ivar B Caudy
Emily E Schemmer
Mayumi J Vocelka
Ashley E Caldarera
Izzy I Tollner
Darci N Nestle
Antonio K Oldroyd
Francesco C Gillian
Alejandro Q Rim
Alejandro W Waycott
Jennifer V Briddick
Mujtaba O Saylors
Mayumi H Saylors
Deepesh Y Figeroa
Sinclair J Maclead
Izzy J Oldroyd
Rodrigues O Venere
Izzy L Caudy
Ivar F Iturbide
Darci P Marrier
Izzy V Foller
Izzy I Malet
Mayumi M Kusko
Misaki D Doe
Jeanfrancois M Rim
Kaitlin A Marrier
Morrow X Tollner
Murillo B Malet
Cody K Butt
Ashley M Ferencz
Murillo Q Bowley
Juan J Amigon
IdCountryDate
1000India2025-04-21
1001Spain2025-03-31
1002India2025-04-08
1003Spain2025-04-21
1004Australia2025-04-16
1005United Kingdom2025-04-12
1006Brazil2025-04-14
1007France2025-04-19
1008India2025-04-07
1009Germany2025-04-22
1010Japan2025-04-18
1011Argentina2025-04-07
1012Italy2025-04-15
1013Russia2025-04-05
1014India2025-04-12
1015United Kingdom2025-03-31
1016Germany2025-04-03
1017Canada2025-04-11
1018Japan2025-04-29
1019Japan2025-04-15
1020Canada2025-04-12
1021Spain2025-04-08
1022Australia2025-04-28
1023Russia2025-04-18
1024Italy2025-04-11
1025United Kingdom2025-04-03
1026Argentina2025-04-05
1027India2025-04-18
1028United Kingdom2025-04-16
1029Argentina2025-04-18
1030India2025-04-07
1031Spain2025-04-18
1032France2025-04-11
1033Italy2025-04-13
1034Japan2025-04-17
1035Japan2025-04-29
1036Argentina2025-04-09
1037Japan2025-04-25
1038Russia2025-04-13
1039Japan2025-04-04
1040United Kingdom2025-04-17
1041Argentina2025-04-17
1042Spain2025-04-23
1043India2025-04-27
1044Russia2025-03-31
1045Spain2025-04-04
1046Russia2025-04-03
1047Argentina2025-04-20
1048Russia2025-04-20
1049India2025-04-11

On-Demand Data

NameIdCountryDate
Silvio R Ostrosky1000India2025-04-11
Kaitlin P Caudy1001Canada2025-04-01
Misaki V Morasca1002Canada2025-04-29
Adams A Maclead1003Brazil2025-04-21
Aditya S Shinko1004United Kingdom2025-04-06
Aruna A Bowley1005France2025-04-11
Smith N Stockham1006Japan2025-04-06
Ivar O Glick1007Italy2025-04-16
Greenwood V Amigon1008Germany2025-04-20
Deepesh I Caudy1009Russia2025-04-16
Isabel C Kolmetz1010United Kingdom2025-04-24
Leon O Rim1011France2025-04-07
Wickens S Caudy1012Argentina2025-04-14
Kaitlin Y Inouye1013France2025-04-24
James Y Stenseth1014Japan2025-04-08
Jeanfrancois E Stenseth1015Japan2025-04-10
Mujtaba V Briddick1016Australia2025-04-12
Salvatore I Nestle1017Russia2025-04-14
Deepesh T Nestle1018Australia2025-04-27
Maria A Garufi1019United Kingdom2025-04-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki X MaletIndiaXuxue Feng NEGOTIATION
Tony J FollerAustraliaIoni Bowcher QUALIFIED
Jefferson S AmigonIndiaElwin Sharvill QUALIFIED
Salvatore C ButtRussiaIvan Magalhaes QUALIFIED
Maisha S ChuiAustraliaIvan Magalhaes RENEWAL
Aditya L BologniaItalyAnna Fali NEW
Kadeem O SlusarskiSpainAmy Elsner PROPOSAL
Leja Z TollnerBrazilElwin Sharvill RENEWAL
Jones S MaletUnited KingdomIoni Bowcher UNQUALIFIED
Jones A ShinkoArgentinaStephen Shaw UNQUALIFIED
Alejandro V StockhamIndiaBernardo Dominic QUALIFIED
Silvio H FigeroaAustraliaAnna Fali PROPOSAL
Ashley B OstroskyFranceXuxue Feng RENEWAL
Juan A CaudyFranceAmy Elsner NEGOTIATION
Jennifer S PoquetteCanadaAnna Fali NEW
Octavia P RoysterAustraliaXuxue Feng NEGOTIATION
Ricardo Y StockhamArgentinaOnyama Limba QUALIFIED
Adams G SlusarskiCanadaIvan Magalhaes PROPOSAL
Francesco C DilliardFranceStephen Shaw QUALIFIED
Aruna M BologniaGermanyStephen Shaw NEGOTIATION
Morrow E CaudySpainAsiya Javayant UNQUALIFIED
Faith K OldroydAustraliaIvan Magalhaes QUALIFIED
Mujtaba R GarufiRussiaXuxue Feng NEGOTIATION
Darci B MaletItalyIoni Bowcher NEW
Francesco W DilliardGermanyStephen Shaw NEW
Jefferson C RulapaughArgentinaElwin Sharvill UNQUALIFIED
Octavia Z SaylorsFranceBernardo Dominic PROPOSAL
Munro B CaldareraRussiaIvan Magalhaes NEW
Jefferson O KuskoBrazilAmy Elsner NEW
Misaki A BowleyBrazilAmy Elsner NEGOTIATION
Maria R DarakjyRussiaIvan Magalhaes NEW
Jefferson L TollnerCanadaAsiya Javayant RENEWAL
Wickens E VenereRussiaOnyama Limba RENEWAL
Aika U GarufiBrazilBernardo Dominic NEGOTIATION
Octavia J SergiFranceStephen Shaw NEGOTIATION
Adams H RimGermanyIoni Bowcher NEW
Darci W MorascaGermanyXuxue Feng QUALIFIED
Maria S MorascaItalyIoni Bowcher UNQUALIFIED
Wickens U NestleFranceXuxue Feng UNQUALIFIED
Rodrigues M FerenczBrazilOnyama Limba 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>