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
Francesco Z WieserCanadaAsiya Javayant RENEWAL
Faith Y ChuiBrazilXuxue Feng UNQUALIFIED
Murillo Z RutaArgentinaIoni Bowcher NEW
Silvio V DilliardGermanyAnna Fali NEGOTIATION
Murillo R FollerFranceStephen Shaw NEW
Deepesh Z RoysterUnited KingdomXuxue Feng QUALIFIED
Costa K GauchoJapanAnna Fali RENEWAL
Nicolas Q MarrierGermanyStephen Shaw NEW
Tony W RulapaughIndiaStephen Shaw PROPOSAL
Deepesh C FerenczAustraliaXuxue Feng QUALIFIED
Salvatore A CaldareraArgentinaElwin Sharvill QUALIFIED
Jeanfrancois V PaprockiJapanIvan Magalhaes NEGOTIATION
Mayumi L BriddickSpainIoni Bowcher RENEWAL
Maria O MorascaSpainXuxue Feng PROPOSAL
Salvatore R GauchoGermanyXuxue Feng QUALIFIED
Claire P GillianJapanAnna Fali RENEWAL
Leon O FlosiJapanBernardo Dominic PROPOSAL
Jeanfrancois H AmigonBrazilBernardo Dominic UNQUALIFIED
Salvatore F PaprockiSpainAsiya Javayant NEGOTIATION
Jennifer P VenereUnited KingdomAmy Elsner NEGOTIATION
David A KolmetzGermanyElwin Sharvill UNQUALIFIED
Wickens T IturbideRussiaAnna Fali NEGOTIATION
Izzy F AlbaresFranceAsiya Javayant NEW
Maisha I SaylorsBrazilBernardo Dominic NEW
Octavia W IturbideAustraliaIvan Magalhaes NEGOTIATION
Mayumi Q SlusarskiRussiaElwin Sharvill QUALIFIED
Julie Z KuskoSpainAmy Elsner NEGOTIATION
Adams G BowleyBrazilAmy Elsner PROPOSAL
Rodrigues N CampainIndiaOnyama Limba RENEWAL
Morrow L TollnerIndiaStephen Shaw RENEWAL
Mujtaba J CaldareraJapanXuxue Feng QUALIFIED
Deepesh P VocelkaSpainAsiya Javayant PROPOSAL
Aruna L RimSpainIoni Bowcher RENEWAL
Aditya M VocelkaGermanyBernardo Dominic PROPOSAL
Mayumi E AmigonFranceBernardo Dominic NEGOTIATION
Smith D OldroydCanadaIoni Bowcher RENEWAL
Stacey F StensethJapanIoni Bowcher NEGOTIATION
Maria T AmigonSpainAnna Fali UNQUALIFIED
Rodrigues P MaletSpainElwin Sharvill NEGOTIATION
Rodrigues U OstroskyGermanyAmy Elsner NEGOTIATION
Izzy B KuskoSpainAmy Elsner QUALIFIED
Francesco O OstroskyGermanyAmy Elsner QUALIFIED
Jennifer O InouyeUnited KingdomBernardo Dominic QUALIFIED
Alejandro O MarrierAustraliaAsiya Javayant UNQUALIFIED
Darci X BologniaRussiaAsiya Javayant QUALIFIED
Clifford I MarrierIndiaAmy Elsner NEGOTIATION
Izzy A NestleJapanIvan Magalhaes QUALIFIED
Kadeem M GauchoUnited KingdomOnyama Limba RENEWAL
Nicolas D PaprockiCanadaAmy Elsner UNQUALIFIED
Clifford V IturbideCanadaElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Maria T GarufiItalyElwin Sharvill QUALIFIED
Aika S MarrierRussiaAnna Fali UNQUALIFIED
Cody F IturbideArgentinaOnyama Limba NEW
Jones P WaycottBrazilElwin Sharvill NEW
Julie N NestleRussiaAnna Fali QUALIFIED
Juan L VocelkaRussiaOnyama Limba QUALIFIED
Adams B RimAustraliaBernardo Dominic UNQUALIFIED
Clifford E WieserItalyXuxue Feng UNQUALIFIED
Aditya I VenereCanadaElwin Sharvill PROPOSAL
Morrow C CaudyRussiaBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair Q FollerGermany2025-04-17Rangoni Of Florence RENEWAL1Ivan Magalhaes
1001Murillo Y CaudyGermany2025-04-29Feltz Printing Service QUALIFIED41Amy Elsner
1002Misaki B CaldareraJapan2025-04-22Printing Dimensions PROPOSAL79Xuxue Feng
1003Clifford N VocelkaSpain2025-04-27Truhlar And Truhlar Attys NEW31Amy Elsner
1004Izzy Z PerinArgentina2025-04-12Commercial Press UNQUALIFIED8Stephen Shaw
1005Claire S GlickRussia2025-04-10King, Christopher A Esq NEW52Asiya Javayant
1006Octavia N CaudyCanada2025-04-24Truhlar And Truhlar Attys QUALIFIED12Anna Fali
1007Maisha M KolmetzSpain2025-04-14Buckley Miller Wright PROPOSAL57Asiya Javayant
1008Maisha C BriddickIndia2025-04-19Chanay, Jeffrey A Esq NEW39Asiya Javayant
1009Costa E NestleGermany2025-05-04Rangoni Of Florence RENEWAL19Ioni Bowcher
1010Mayumi A AlbaresSpain2025-05-03Chemel, James L Cpa PROPOSAL99Stephen Shaw
1011Jeanfrancois Q PoquetteIndia2025-05-09Commercial Press RENEWAL41Elwin Sharvill
1012David H VocelkaRussia2025-05-06Commercial Press QUALIFIED65Elwin Sharvill
1013Ivar Y TollnerArgentina2025-05-03Chanay, Jeffrey A Esq UNQUALIFIED71Elwin Sharvill
1014Stacey R SlusarskiArgentina2025-04-16Feiner Bros NEW10Anna Fali
1015Ivar X MacleadGermany2025-04-12Benton, John B Jr UNQUALIFIED80Ivan Magalhaes
1016Tony V OstroskyJapan2025-04-12Buckley Miller Wright QUALIFIED18Onyama Limba
1017Emily I NickaAustralia2025-05-07Chapman, Ross E Esq UNQUALIFIED80Ioni Bowcher
1018Isabel A GauchoItaly2025-04-21King, Christopher A Esq NEGOTIATION73Stephen Shaw
1019Sinclair H StockhamArgentina2025-04-24Printing Dimensions PROPOSAL46Elwin Sharvill
1020Ashley O VenereUnited Kingdom2025-04-28King, Christopher A Esq RENEWAL62Onyama Limba
1021Clifford K GarufiRussia2025-04-11Morlong Associates UNQUALIFIED1Anna Fali
1022Wickens M InouyeIndia2025-05-04Dorl, James J Esq NEW7Asiya Javayant
1023Kadeem Q StockhamAustralia2025-04-16Truhlar And Truhlar Attys NEGOTIATION15Ioni Bowcher
1024Deepesh U ChuiSpain2025-04-19Buckley Miller Wright UNQUALIFIED31Onyama Limba
1025Rodrigues H NestleRussia2025-04-29Printing Dimensions RENEWAL79Anna Fali
1026Aruna D StockhamGermany2025-04-13Feiner Bros NEGOTIATION3Ivan Magalhaes
1027Clifford H AlbaresFrance2025-05-09Buckley Miller Wright PROPOSAL10Elwin Sharvill
1028Munro I PerinIndia2025-05-02Buckley Miller Wright QUALIFIED88Amy Elsner
1029Morrow D RulapaughCanada2025-04-29Benton, John B Jr NEGOTIATION18Ivan Magalhaes
1030Faith O CaldareraGermany2025-04-18Printing Dimensions PROPOSAL84Anna Fali
1031Maria P StockhamRussia2025-04-13Chemel, James L Cpa QUALIFIED61Xuxue Feng
1032Jeanfrancois J GauchoRussia2025-05-06Buckley Miller Wright RENEWAL88Elwin Sharvill
1033Deepesh V SergiAustralia2025-04-15Dorl, James J Esq RENEWAL11Bernardo Dominic
1034Julie M GauchoIndia2025-04-26Chapman, Ross E Esq NEW13Stephen Shaw
1035Francesco J SchemmerIndia2025-05-07Feiner Bros QUALIFIED17Anna Fali
1036Isabel F MaletIndia2025-04-25Feiner Bros NEGOTIATION69Asiya Javayant
1037Jennifer W ButtUnited Kingdom2025-04-12Chapman, Ross E Esq RENEWAL14Amy Elsner
1038Deepesh K KuskoJapan2025-05-08King, Christopher A Esq UNQUALIFIED60Ioni Bowcher
1039Maisha O GlickGermany2025-05-01Chemel, James L Cpa PROPOSAL53Onyama Limba
1040Izzy S BriddickRussia2025-05-04Chemel, James L Cpa PROPOSAL33Onyama Limba
1041Tony B SaylorsCanada2025-05-01Truhlar And Truhlar Attys QUALIFIED58Amy Elsner
1042Octavia I FerenczGermany2025-04-25Truhlar And Truhlar Attys UNQUALIFIED32Xuxue Feng
1043Alejandro O CaldareraCanada2025-04-13King, Christopher A Esq RENEWAL68Xuxue Feng
1044Clifford M InouyeGermany2025-04-21Feltz Printing Service UNQUALIFIED41Anna Fali
1045Emily N InouyeArgentina2025-04-17Commercial Press NEGOTIATION89Xuxue Feng
1046Deepesh J ChuiBrazil2025-04-17Buckley Miller Wright NEW31Asiya Javayant
1047Francesco R CampainBrazil2025-05-02Benton, John B Jr RENEWAL90Ioni Bowcher
1048Stacey G SchemmerBrazil2025-05-02Feltz Printing Service NEGOTIATION31Stephen Shaw
1049Ivar R FigeroaCanada2025-04-18Chapman, Ross E Esq UNQUALIFIED7Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Nicolas Z ShinkoAustraliaIoni Bowcher PROPOSAL
Jennifer X WhobreyFranceIoni Bowcher PROPOSAL
Maria Q SaylorsArgentinaOnyama Limba QUALIFIED
Francesco Q RimUnited KingdomBernardo Dominic NEW
Greenwood L NickaSpainBernardo Dominic PROPOSAL
Nicolas A FerenczFranceBernardo Dominic NEW
Wickens A MaletGermanyStephen Shaw RENEWAL
Ashley P StockhamAustraliaAmy Elsner PROPOSAL
Aika H WieserIndiaIoni Bowcher PROPOSAL
Aika I IturbideArgentinaAmy Elsner QUALIFIED
Nicolas B VenereArgentinaAmy Elsner NEW
Deepesh F PerinAustraliaXuxue Feng NEGOTIATION
Julie M PerinGermanyStephen Shaw NEW
Antonio W MaletRussiaAmy Elsner QUALIFIED
Faith O CaldareraJapanAnna Fali PROPOSAL
James W SchemmerGermanyAsiya Javayant QUALIFIED
David T CaldareraGermanyElwin Sharvill PROPOSAL
Isabel T AlbaresCanadaAnna Fali NEW
James Z BriddickUnited KingdomXuxue Feng UNQUALIFIED
Aruna B NestleBrazilBernardo Dominic NEW
Aika Y DarakjyJapanAmy Elsner RENEWAL
Ivar C FollerIndiaElwin Sharvill PROPOSAL
Aika M RutaJapanAmy Elsner UNQUALIFIED
Jones N RutaSpainIoni Bowcher NEGOTIATION
Claire E MorascaItalyBernardo Dominic RENEWAL
Maria A DoeArgentinaAmy Elsner NEGOTIATION
Claire X InouyeUnited KingdomStephen Shaw NEGOTIATION
Maria X KuskoRussiaAnna Fali RENEWAL
Stacey U SaylorsArgentinaBernardo Dominic QUALIFIED
Antonio P FigeroaCanadaOnyama Limba UNQUALIFIED
Murillo E BriddickUnited KingdomOnyama Limba PROPOSAL
Darci B MacleadBrazilAnna Fali QUALIFIED
Ashley U PerinGermanyBernardo Dominic UNQUALIFIED
Leon N FlosiJapanXuxue Feng NEGOTIATION
Ricardo D FigeroaArgentinaIoni Bowcher NEGOTIATION
Emily V WieserFranceAnna Fali PROPOSAL
Clifford L BowleySpainAsiya Javayant NEGOTIATION
David O WaycottUnited KingdomOnyama Limba RENEWAL
Jeanfrancois L InouyeRussiaStephen Shaw NEGOTIATION
Morrow A ButtSpainXuxue Feng RENEWAL
Johnson T FlosiFranceXuxue Feng UNQUALIFIED
Antonio M SlusarskiCanadaXuxue Feng UNQUALIFIED
Johnson F NestleFranceIoni Bowcher QUALIFIED
Maisha J WhobreySpainIvan Magalhaes NEGOTIATION
Maria V PerinItalyIvan Magalhaes NEGOTIATION
Isabel M StockhamItalyOnyama Limba RENEWAL
Kaitlin K GauchoJapanOnyama Limba NEW
Jefferson L SlusarskiFranceAnna Fali NEW
Mayumi B OstroskyIndiaStephen Shaw PROPOSAL
Jeanfrancois R WieserAustraliaAsiya Javayant PROPOSAL
Frozen Columns
Name
Wickens V Tollner
James N Stockham
Silvio J Saylors
Stacey D Campain
Deepesh N Foller
Julie E Rulapaugh
Antonio O Morasca
Smith N Whobrey
Jefferson I Venere
Jeanfrancois S Nicka
Izzy J Malet
Juan O Paprocki
Johnson D Rulapaugh
Munro J Rulapaugh
Kadeem N Kusko
Murillo P Nicka
Arvin V Stockham
Silvio N Morasca
Juan A Schemmer
Alejandro I Nicka
Emily D Whobrey
Jefferson J Marrier
Juan R Foller
Juan Z Ruta
Wickens B Perin
Maisha I Bowley
Wickens X Ferencz
Ivar C Gillian
Octavia S Malet
Deepesh N Morasca
James A Glick
Alejandro T Figeroa
Ashley W Oldroyd
Chavez N Stenseth
Jefferson V Marrier
Francesco Q Rulapaugh
Smith E Whobrey
Jones B Stenseth
Clifford N Stockham
Morrow S Tollner
Aruna U Schemmer
Cody K Ostrosky
Johnson W Chui
Faith Q Shinko
Ricardo M Bowley
Munro W Dilliard
Antonio Y Marrier
Clifford A Paprocki
Adams P Paprocki
Jefferson C Waycott
IdCountryDate
1000India2025-05-09
1001Australia2025-05-06
1002Russia2025-05-03
1003France2025-04-18
1004Germany2025-04-27
1005Russia2025-05-03
1006Spain2025-05-09
1007Brazil2025-04-24
1008Spain2025-04-23
1009Australia2025-05-09
1010Italy2025-04-18
1011Russia2025-04-27
1012Spain2025-04-26
1013Japan2025-04-27
1014Germany2025-04-29
1015Brazil2025-05-07
1016Spain2025-04-22
1017Spain2025-05-02
1018Spain2025-04-10
1019Brazil2025-05-02
1020India2025-05-06
1021Brazil2025-04-27
1022India2025-04-18
1023Italy2025-04-11
1024United Kingdom2025-04-22
1025Argentina2025-04-30
1026Germany2025-05-06
1027Argentina2025-05-01
1028Russia2025-04-22
1029Italy2025-04-26
1030Russia2025-04-16
1031Australia2025-04-30
1032Argentina2025-04-14
1033India2025-04-29
1034Australia2025-04-15
1035Italy2025-05-02
1036Canada2025-05-07
1037Germany2025-05-04
1038Australia2025-04-28
1039Spain2025-05-01
1040Australia2025-04-15
1041France2025-05-04
1042United Kingdom2025-04-15
1043United Kingdom2025-04-27
1044Brazil2025-04-12
1045United Kingdom2025-04-28
1046Brazil2025-04-25
1047Germany2025-04-30
1048Germany2025-04-21
1049Japan2025-05-02

On-Demand Data

NameIdCountryDate
Nicolas X Malet1000India2025-05-01
Alejandro B Poquette1001India2025-04-22
Cody B Venere1002Japan2025-04-14
Salvatore W Rim1003India2025-04-20
Jeanfrancois U Inouye1004Australia2025-05-03
Jennifer D Albares1005India2025-04-10
Costa W Rim1006Spain2025-04-17
Kadeem J Stockham1007Canada2025-04-25
Mayumi H Campain1008Spain2025-04-26
Salvatore F Caldarera1009Argentina2025-04-12
Darci P Stockham1010Russia2025-04-21
Mayumi O Amigon1011Australia2025-04-16
Octavia U Morasca1012Italy2025-04-27
Johnson W Schemmer1013Spain2025-04-22
Johnson E Caudy1014Argentina2025-04-11
Smith P Bolognia1015Italy2025-04-13
Izzy L Caudy1016Russia2025-04-10
Misaki Z Morasca1017Japan2025-04-27
Isabel X Gaucho1018Germany2025-04-21
Ashley V Amigon1019Spain2025-05-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody Z OstroskyJapanAmy Elsner QUALIFIED
Sinclair N RimBrazilAnna Fali PROPOSAL
Francesco T WieserGermanyIvan Magalhaes PROPOSAL
Leon V RimAustraliaBernardo Dominic NEGOTIATION
Stacey F OstroskySpainBernardo Dominic PROPOSAL
Tony K DarakjyCanadaAmy Elsner PROPOSAL
Kaitlin V StensethItalyStephen Shaw UNQUALIFIED
Faith S NickaCanadaXuxue Feng NEGOTIATION
Greenwood S StensethRussiaXuxue Feng NEGOTIATION
Rodrigues Z DoeRussiaXuxue Feng UNQUALIFIED
Aika S RulapaughFranceElwin Sharvill PROPOSAL
Ricardo U BowleyJapanAnna Fali NEGOTIATION
Aditya L GarufiFranceIvan Magalhaes PROPOSAL
Mayumi J KolmetzAustraliaXuxue Feng NEGOTIATION
Izzy S NestleFranceXuxue Feng QUALIFIED
Leja D IturbideGermanyOnyama Limba NEW
Aruna U OstroskyJapanAmy Elsner NEGOTIATION
Octavia V ShinkoFranceAnna Fali UNQUALIFIED
Isabel T DarakjyAustraliaIvan Magalhaes UNQUALIFIED
Jeanfrancois I WhobreyRussiaOnyama Limba NEW
Ashley C KolmetzIndiaIoni Bowcher PROPOSAL
Murillo E PoquetteGermanyOnyama Limba QUALIFIED
Julie B FerenczArgentinaElwin Sharvill NEW
Mujtaba R WieserGermanyXuxue Feng UNQUALIFIED
Jefferson Q KuskoGermanyAsiya Javayant UNQUALIFIED
James S BologniaIndiaOnyama Limba NEW
Aditya T NickaArgentinaXuxue Feng UNQUALIFIED
Wickens X DilliardBrazilXuxue Feng PROPOSAL
Greenwood S PerinSpainAsiya Javayant QUALIFIED
Ricardo Q RutaRussiaStephen Shaw NEW
Aditya V DoeUnited KingdomIvan Magalhaes UNQUALIFIED
Ricardo X FigeroaItalyAnna Fali RENEWAL
Emily M OldroydBrazilAsiya Javayant NEGOTIATION
Maisha H RulapaughGermanyOnyama Limba RENEWAL
Nicolas X PerinUnited KingdomIvan Magalhaes QUALIFIED
Wickens V GauchoItalyXuxue Feng NEGOTIATION
Ricardo X CaldareraIndiaBernardo Dominic PROPOSAL
Izzy T StensethBrazilXuxue Feng QUALIFIED
Aruna U KuskoCanadaAnna Fali PROPOSAL
Jones V StensethItalyAnna Fali PROPOSAL

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