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
Emily O MorascaFranceIvan Magalhaes PROPOSAL
Smith Z AmigonCanadaIoni Bowcher RENEWAL
Ashley Y ShinkoAustraliaIvan Magalhaes PROPOSAL
Johnson E MarrierFranceBernardo Dominic NEW
Silvio F BriddickJapanIvan Magalhaes NEW
Francesco S DilliardJapanElwin Sharvill UNQUALIFIED
Emily U OldroydItalyIvan Magalhaes UNQUALIFIED
Greenwood B RutaArgentinaBernardo Dominic RENEWAL
Emily Z GarufiRussiaIvan Magalhaes PROPOSAL
Antonio I NestleCanadaAsiya Javayant NEGOTIATION
Aditya V TollnerSpainIvan Magalhaes NEGOTIATION
Misaki H SergiBrazilOnyama Limba NEW
Ivar A RulapaughIndiaOnyama Limba QUALIFIED
Tony Q ButtCanadaIvan Magalhaes NEGOTIATION
Silvio D CaudyArgentinaOnyama Limba NEGOTIATION
Faith N PerinBrazilIvan Magalhaes PROPOSAL
Ivar G GlickRussiaIvan Magalhaes NEGOTIATION
Emily T VocelkaArgentinaAsiya Javayant NEW
Maisha L DoeJapanOnyama Limba UNQUALIFIED
Nicolas E IturbideFranceIoni Bowcher UNQUALIFIED
Cody F SchemmerAustraliaIoni Bowcher UNQUALIFIED
Alejandro O DilliardBrazilOnyama Limba QUALIFIED
Arvin O DilliardRussiaBernardo Dominic RENEWAL
Jeanfrancois U CaudyCanadaStephen Shaw NEW
Maisha T OldroydSpainAmy Elsner NEW
Aditya S RoysterUnited KingdomElwin Sharvill UNQUALIFIED
Maisha G DarakjyAustraliaXuxue Feng UNQUALIFIED
Silvio C DoeArgentinaElwin Sharvill UNQUALIFIED
Smith U PoquetteGermanyAsiya Javayant PROPOSAL
Mujtaba F CaldareraSpainIoni Bowcher UNQUALIFIED
Leon P AlbaresSpainIvan Magalhaes PROPOSAL
Chavez J MaletCanadaXuxue Feng UNQUALIFIED
Stacey A RoysterRussiaXuxue Feng RENEWAL
Sinclair L DilliardArgentinaXuxue Feng NEGOTIATION
Sinclair X KolmetzIndiaElwin Sharvill NEW
Ricardo L OldroydItalyIvan Magalhaes NEW
Arvin Y AlbaresRussiaElwin Sharvill QUALIFIED
Jennifer M OstroskyBrazilIvan Magalhaes RENEWAL
Juan L MarrierItalyXuxue Feng NEGOTIATION
Maisha X ButtRussiaStephen Shaw RENEWAL
Silvio T MorascaIndiaAsiya Javayant NEGOTIATION
Nicolas U MaletSpainIvan Magalhaes NEGOTIATION
Adams W AlbaresGermanyAsiya Javayant QUALIFIED
Smith Y CaldareraIndiaIvan Magalhaes RENEWAL
Claire K CampainGermanyAnna Fali UNQUALIFIED
Aditya M IturbideBrazilBernardo Dominic NEGOTIATION
Emily W RimItalyIvan Magalhaes NEW
Costa R ShinkoGermanyIoni Bowcher QUALIFIED
Stacey C FerenczUnited KingdomIoni Bowcher UNQUALIFIED
Wickens P OldroydBrazilAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Aditya W MaletJapanAnna Fali RENEWAL
Johnson H CaudyArgentinaOnyama Limba PROPOSAL
Aruna Q PaprockiAustraliaIoni Bowcher NEW
Chavez D KuskoArgentinaBernardo Dominic PROPOSAL
Maisha Q MaletJapanAsiya Javayant QUALIFIED
Maisha H DarakjyUnited KingdomAmy Elsner QUALIFIED
James F CaudyItalyAsiya Javayant RENEWAL
Darci R SlusarskiItalyElwin Sharvill RENEWAL
Chavez V StockhamGermanyElwin Sharvill NEGOTIATION
Aruna E SergiSpainStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford B VenereCanada2024-05-17Morlong Associates NEW51Asiya Javayant
1001Wickens E RulapaughJapan2024-05-21Feltz Printing Service RENEWAL22Ivan Magalhaes
1002Smith H MaletRussia2024-05-10Feltz Printing Service UNQUALIFIED27Amy Elsner
1003Izzy Y VenereAustralia2024-05-08Feiner Bros NEW60Elwin Sharvill
1004Octavia H AmigonArgentina2024-05-22Printing Dimensions QUALIFIED46Ioni Bowcher
1005Francesco Z MarrierArgentina2024-06-06Printing Dimensions PROPOSAL43Anna Fali
1006James Y DilliardIndia2024-05-25Feltz Printing Service UNQUALIFIED40Ioni Bowcher
1007Claire G GarufiGermany2024-05-11Commercial Press NEW18Anna Fali
1008Maria C FlosiBrazil2024-05-14Truhlar And Truhlar Attys UNQUALIFIED29Onyama Limba
1009Isabel Q SchemmerBrazil2024-06-04Truhlar And Truhlar Attys RENEWAL62Stephen Shaw
1010Wickens L PaprockiGermany2024-05-30Feiner Bros QUALIFIED0Xuxue Feng
1011Maria V IturbideItaly2024-05-14Morlong Associates QUALIFIED8Elwin Sharvill
1012Munro R FollerJapan2024-05-14Truhlar And Truhlar Attys NEW52Xuxue Feng
1013Arvin N GlickBrazil2024-06-03Buckley Miller Wright RENEWAL67Stephen Shaw
1014Jennifer U CaldareraBrazil2024-05-17King, Christopher A Esq RENEWAL51Stephen Shaw
1015Salvatore J NestleArgentina2024-05-17Truhlar And Truhlar Attys UNQUALIFIED57Amy Elsner
1016Costa E PaprockiArgentina2024-06-03Chapman, Ross E Esq QUALIFIED6Stephen Shaw
1017David Y RutaFrance2024-05-09King, Christopher A Esq RENEWAL26Elwin Sharvill
1018Ivar F VocelkaJapan2024-05-11Morlong Associates PROPOSAL24Elwin Sharvill
1019Faith M RoysterJapan2024-05-30Printing Dimensions QUALIFIED18Amy Elsner
1020James M FigeroaBrazil2024-05-19Chanay, Jeffrey A Esq RENEWAL25Anna Fali
1021Kadeem L SergiFrance2024-05-08Chanay, Jeffrey A Esq NEGOTIATION27Xuxue Feng
1022Octavia C MarrierAustralia2024-05-17Printing Dimensions RENEWAL17Xuxue Feng
1023Adams W SergiUnited Kingdom2024-06-03Benton, John B Jr NEGOTIATION76Xuxue Feng
1024David A ShinkoAustralia2024-05-28King, Christopher A Esq PROPOSAL83Elwin Sharvill
1025Arvin V OstroskyCanada2024-06-02Printing Dimensions RENEWAL22Onyama Limba
1026Jefferson V WieserArgentina2024-05-10Truhlar And Truhlar Attys RENEWAL55Bernardo Dominic
1027Leja F DilliardBrazil2024-05-30Chanay, Jeffrey A Esq UNQUALIFIED32Amy Elsner
1028Morrow D SaylorsGermany2024-06-03Truhlar And Truhlar Attys RENEWAL47Stephen Shaw
1029Deepesh S VocelkaCanada2024-05-24Buckley Miller Wright NEGOTIATION22Stephen Shaw
1030Julie N MaletSpain2024-05-08Dorl, James J Esq RENEWAL55Asiya Javayant
1031Sinclair A ButtSpain2024-05-13Chanay, Jeffrey A Esq QUALIFIED76Asiya Javayant
1032Antonio F GarufiJapan2024-05-18King, Christopher A Esq PROPOSAL66Anna Fali
1033Tony L WaycottItaly2024-05-14King, Christopher A Esq QUALIFIED34Stephen Shaw
1034Ashley T AmigonItaly2024-05-17Chapman, Ross E Esq NEW41Stephen Shaw
1035Aruna G MarrierFrance2024-05-17Printing Dimensions NEGOTIATION71Stephen Shaw
1036Rodrigues E CampainIndia2024-05-31Rangoni Of Florence UNQUALIFIED80Onyama Limba
1037Kaitlin T RutaCanada2024-05-13Chanay, Jeffrey A Esq NEGOTIATION65Onyama Limba
1038Smith X RutaBrazil2024-05-17Benton, John B Jr QUALIFIED61Amy Elsner
1039Octavia K KuskoFrance2024-05-19Printing Dimensions RENEWAL34Bernardo Dominic
1040Alejandro R GlickFrance2024-05-25Buckley Miller Wright UNQUALIFIED11Ioni Bowcher
1041Isabel N TollnerBrazil2024-05-15Truhlar And Truhlar Attys RENEWAL48Bernardo Dominic
1042Maria I ChuiUnited Kingdom2024-06-06Chemel, James L Cpa RENEWAL36Ioni Bowcher
1043David M RoysterItaly2024-05-31Dorl, James J Esq QUALIFIED44Amy Elsner
1044Chavez N NestleFrance2024-05-11Chemel, James L Cpa NEGOTIATION75Asiya Javayant
1045Alejandro L KolmetzUnited Kingdom2024-05-10Feltz Printing Service UNQUALIFIED83Ioni Bowcher
1046Ashley S AmigonAustralia2024-05-28Rangoni Of Florence RENEWAL37Onyama Limba
1047Isabel V MarrierUnited Kingdom2024-05-18Feltz Printing Service QUALIFIED71Xuxue Feng
1048Francesco F MarrierItaly2024-05-28Commercial Press QUALIFIED79Anna Fali
1049Aditya U MorascaJapan2024-06-04Feiner Bros NEGOTIATION51Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Juan I SchemmerArgentinaIoni Bowcher PROPOSAL
Arvin S BriddickGermanyElwin Sharvill UNQUALIFIED
Leon I PaprockiArgentinaAnna Fali PROPOSAL
Claire A SergiSpainAmy Elsner RENEWAL
Mujtaba S CaudyFranceElwin Sharvill NEGOTIATION
Mayumi D GarufiSpainElwin Sharvill UNQUALIFIED
Jefferson A SlusarskiUnited KingdomIvan Magalhaes NEGOTIATION
Nicolas O PerinItalyIvan Magalhaes NEGOTIATION
Cody U FollerRussiaAmy Elsner NEGOTIATION
Johnson Z InouyeFranceBernardo Dominic RENEWAL
Nicolas M FerenczFranceBernardo Dominic NEW
Adams R CaldareraAustraliaIvan Magalhaes UNQUALIFIED
Costa S KuskoRussiaAmy Elsner NEGOTIATION
Sinclair M MaletArgentinaAsiya Javayant NEGOTIATION
Tony E StensethAustraliaIoni Bowcher QUALIFIED
Silvio I CaldareraFranceElwin Sharvill QUALIFIED
Faith I AlbaresJapanOnyama Limba NEGOTIATION
Juan Y GauchoGermanyXuxue Feng QUALIFIED
Darci N NickaUnited KingdomAmy Elsner NEW
Ashley U VocelkaGermanyOnyama Limba NEGOTIATION
Greenwood K KuskoAustraliaOnyama Limba QUALIFIED
Jones M AmigonItalyBernardo Dominic QUALIFIED
Juan L StensethUnited KingdomOnyama Limba PROPOSAL
Mayumi C BologniaJapanIvan Magalhaes NEW
Murillo P SlusarskiItalyIoni Bowcher RENEWAL
Mujtaba R StensethRussiaAnna Fali PROPOSAL
Adams Q DilliardFranceStephen Shaw QUALIFIED
Faith O ShinkoJapanOnyama Limba NEGOTIATION
Octavia W OstroskyJapanIvan Magalhaes PROPOSAL
Octavia R PoquetteAustraliaBernardo Dominic RENEWAL
Tony H PerinIndiaOnyama Limba PROPOSAL
Maria I StensethBrazilAmy Elsner PROPOSAL
Ivar B OldroydAustraliaXuxue Feng NEW
Sinclair N DilliardItalyIoni Bowcher NEW
Faith C StensethUnited KingdomAnna Fali NEW
Salvatore F WhobreyArgentinaXuxue Feng NEW
Rodrigues Q WieserSpainStephen Shaw QUALIFIED
Smith M PerinSpainAsiya Javayant UNQUALIFIED
Jefferson Y PerinIndiaOnyama Limba PROPOSAL
Maisha I VocelkaRussiaAmy Elsner QUALIFIED
Clifford V OstroskyFranceXuxue Feng NEW
Julie A RutaAustraliaBernardo Dominic NEGOTIATION
Maisha X TollnerFranceBernardo Dominic RENEWAL
Juan L InouyeJapanIvan Magalhaes UNQUALIFIED
Maria X CampainFranceOnyama Limba PROPOSAL
Mayumi H NestleItalyAsiya Javayant QUALIFIED
Adams O PerinItalyAmy Elsner NEW
James Y ButtCanadaIoni Bowcher RENEWAL
Izzy Z WieserFranceOnyama Limba PROPOSAL
Emily H DarakjyJapanElwin Sharvill QUALIFIED
Frozen Columns
Name
Leja D Ferencz
Isabel Y Perin
Stacey A Gaucho
Octavia B Perin
Jennifer Z Royster
Mujtaba N Figeroa
Darci P Kolmetz
Tony Q Doe
James C Doe
Ivar T Briddick
Claire I Sergi
Emily O Paprocki
Salvatore A Flosi
Adams C Figeroa
Izzy L Rim
Sinclair I Kusko
Chavez C Morasca
Izzy C Amigon
Smith C Rulapaugh
Morrow W Foller
Sinclair R Poquette
Mujtaba J Whobrey
Ricardo A Morasca
Kadeem M Figeroa
Isabel A Inouye
Rodrigues R Vocelka
Ricardo U Ruta
Faith S Rim
Leja Y Malet
Octavia K Whobrey
Ivar Z Caudy
Ivar M Dilliard
Rodrigues Q Poquette
Aditya Z Amigon
Julie G Royster
Mujtaba Y Wieser
Kadeem W Wieser
Nicolas R Perin
Francesco D Flosi
Murillo B Ferencz
Juan O Campain
Jeanfrancois T Inouye
Leon D Gillian
Mujtaba W Tollner
Kadeem T Waycott
Juan H Malet
Leja A Malet
Mayumi R Chui
Murillo U Garufi
Kaitlin R Albares
IdCountryDate
1000Germany2024-05-28
1001Russia2024-06-05
1002Russia2024-05-21
1003France2024-05-27
1004United Kingdom2024-05-15
1005Spain2024-05-25
1006Germany2024-05-11
1007Brazil2024-05-28
1008Spain2024-06-03
1009Japan2024-05-10
1010Russia2024-05-30
1011India2024-05-16
1012Japan2024-05-26
1013France2024-06-06
1014Japan2024-05-10
1015Argentina2024-05-16
1016Spain2024-05-28
1017United Kingdom2024-05-09
1018Argentina2024-06-04
1019India2024-05-12
1020Russia2024-05-18
1021France2024-05-10
1022United Kingdom2024-05-11
1023Brazil2024-05-14
1024Japan2024-05-16
1025Spain2024-05-21
1026Spain2024-05-24
1027Brazil2024-05-14
1028France2024-06-06
1029Russia2024-05-08
1030Japan2024-05-15
1031Germany2024-06-03
1032Russia2024-05-18
1033Brazil2024-05-29
1034Italy2024-05-10
1035Australia2024-05-27
1036Japan2024-06-03
1037Russia2024-05-27
1038Japan2024-05-10
1039Canada2024-05-09
1040India2024-05-15
1041Australia2024-05-24
1042Canada2024-05-18
1043India2024-05-23
1044Australia2024-05-08
1045Japan2024-05-14
1046Canada2024-05-12
1047Germany2024-05-18
1048Brazil2024-05-12
1049United Kingdom2024-05-17

On-Demand Data

NameIdCountryDate
Wickens F Darakjy1000Italy2024-05-13
Adams M Campain1001India2024-05-11
Mujtaba P Marrier1002United Kingdom2024-05-08
David N Whobrey1003Germany2024-06-06
Chavez H Flosi1004Canada2024-05-29
Maria E Darakjy1005Russia2024-05-29
Murillo T Poquette1006Spain2024-05-25
Johnson I Malet1007India2024-05-10
Murillo H Maclead1008Spain2024-05-24
Munro N Caldarera1009Spain2024-05-16
Rodrigues L Briddick1010Germany2024-05-13
Jennifer B Royster1011France2024-06-03
Murillo M Paprocki1012Spain2024-05-27
Morrow D Caldarera1013Russia2024-05-08
Francesco P Butt1014Germany2024-05-19
Tony C Sergi1015Spain2024-06-06
James I Stockham1016Japan2024-05-21
Silvio H Gaucho1017Germany2024-05-27
Juan O Whobrey1018Russia2024-05-10
Chavez D Bowley1019Spain2024-05-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois X NickaFranceElwin Sharvill NEW
Munro G MacleadCanadaAnna Fali UNQUALIFIED
Greenwood H KuskoBrazilAmy Elsner UNQUALIFIED
Maria U FigeroaFranceAsiya Javayant UNQUALIFIED
Faith F MacleadRussiaIoni Bowcher NEW
Jennifer O RulapaughIndiaIoni Bowcher RENEWAL
Nicolas O PoquetteFranceIvan Magalhaes RENEWAL
Jones N MacleadFranceIoni Bowcher NEW
Mujtaba X AlbaresIndiaAnna Fali UNQUALIFIED
Clifford T RulapaughItalyXuxue Feng QUALIFIED
Murillo L DoeArgentinaOnyama Limba NEW
Jones K OldroydJapanElwin Sharvill UNQUALIFIED
Maisha R FlosiIndiaAmy Elsner NEGOTIATION
Arvin Y PoquetteJapanOnyama Limba UNQUALIFIED
Salvatore N ChuiUnited KingdomAsiya Javayant RENEWAL
Aika Z PoquetteItalyElwin Sharvill RENEWAL
Faith I MaletArgentinaIvan Magalhaes QUALIFIED
Ricardo C WhobreyUnited KingdomBernardo Dominic UNQUALIFIED
Emily M PoquetteAustraliaElwin Sharvill QUALIFIED
Rodrigues F ButtArgentinaOnyama Limba QUALIFIED
Tony K PerinFranceIvan Magalhaes NEW
Misaki Z RulapaughArgentinaIoni Bowcher PROPOSAL
Juan E VenereSpainBernardo Dominic QUALIFIED
Ricardo F NickaUnited KingdomAsiya Javayant PROPOSAL
Alejandro S MacleadRussiaAmy Elsner PROPOSAL
Wickens N OstroskyCanadaBernardo Dominic PROPOSAL
Murillo G BologniaSpainIoni Bowcher PROPOSAL
Ricardo M DilliardGermanyAnna Fali NEW
Salvatore E FlosiItalyIvan Magalhaes NEW
Greenwood M ChuiJapanXuxue Feng NEGOTIATION
Munro A OstroskyAustraliaStephen Shaw QUALIFIED
Izzy A GauchoAustraliaAmy Elsner NEGOTIATION
Arvin R FigeroaRussiaBernardo Dominic NEW
Silvio X FlosiIndiaAnna Fali NEGOTIATION
Alejandro M VenereIndiaIvan Magalhaes RENEWAL
Maria Z CampainAustraliaOnyama Limba NEW
Johnson J OldroydRussiaOnyama Limba PROPOSAL
Antonio W StensethRussiaAnna Fali RENEWAL
Rodrigues X SergiRussiaElwin Sharvill QUALIFIED
Claire Y OstroskyFranceAmy Elsner 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>