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
Nicolas X PaprockiJapanXuxue Feng NEGOTIATION
Clifford E PerinFranceAnna Fali RENEWAL
Stacey R CampainItalyIoni Bowcher PROPOSAL
Aika P DilliardFranceAsiya Javayant RENEWAL
Maria U MaletCanadaAnna Fali PROPOSAL
Jennifer A AlbaresGermanyXuxue Feng RENEWAL
Nicolas X CaudyFranceOnyama Limba QUALIFIED
Antonio A GlickRussiaXuxue Feng NEGOTIATION
Jeanfrancois V KuskoRussiaAmy Elsner QUALIFIED
Chavez W KolmetzJapanXuxue Feng RENEWAL
Kadeem G KolmetzIndiaXuxue Feng RENEWAL
Julie N MaletBrazilXuxue Feng PROPOSAL
Sinclair H FlosiIndiaElwin Sharvill RENEWAL
Ashley S GauchoFranceStephen Shaw PROPOSAL
Emily I BologniaGermanyStephen Shaw QUALIFIED
Julie H RulapaughRussiaBernardo Dominic RENEWAL
Rodrigues M BriddickArgentinaIoni Bowcher RENEWAL
Nicolas I BologniaSpainIoni Bowcher RENEWAL
Francesco J MarrierArgentinaElwin Sharvill RENEWAL
Rodrigues Z GauchoAustraliaElwin Sharvill NEW
Maisha Y BologniaIndiaBernardo Dominic NEW
Salvatore Q MacleadItalyOnyama Limba NEW
Aruna T OstroskyAustraliaAnna Fali NEW
Clifford J PerinIndiaOnyama Limba NEGOTIATION
Leon Q MaletRussiaIoni Bowcher QUALIFIED
Octavia W BowleyAustraliaXuxue Feng UNQUALIFIED
Mujtaba L OldroydSpainElwin Sharvill RENEWAL
Jeanfrancois E IturbideUnited KingdomAnna Fali QUALIFIED
Chavez E WieserItalyIoni Bowcher RENEWAL
Julie O BologniaFranceXuxue Feng QUALIFIED
Chavez D StensethBrazilAmy Elsner QUALIFIED
Ashley O PerinItalyStephen Shaw PROPOSAL
Leon U CaldareraJapanElwin Sharvill QUALIFIED
Johnson D ButtItalyXuxue Feng NEW
Salvatore G CaldareraUnited KingdomAmy Elsner QUALIFIED
Kaitlin D PaprockiRussiaIoni Bowcher NEGOTIATION
Jones J CaudyBrazilXuxue Feng RENEWAL
Murillo B GarufiJapanIoni Bowcher QUALIFIED
Emily F DoeGermanyStephen Shaw QUALIFIED
Juan G OldroydItalyXuxue Feng PROPOSAL
Darci M RoysterBrazilBernardo Dominic QUALIFIED
Chavez T MarrierIndiaAsiya Javayant RENEWAL
Clifford Z KolmetzArgentinaBernardo Dominic UNQUALIFIED
Costa Z NestleRussiaAsiya Javayant NEW
Octavia G PerinBrazilXuxue Feng QUALIFIED
Ashley E ShinkoRussiaElwin Sharvill QUALIFIED
Sinclair B BologniaItalyBernardo Dominic NEGOTIATION
Misaki M FollerGermanyElwin Sharvill QUALIFIED
Ricardo E VenereItalyIvan Magalhaes QUALIFIED
Sinclair M WhobreySpainIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Silvio Z RutaSpainOnyama Limba NEGOTIATION
Murillo U NestleIndiaIvan Magalhaes NEW
Mujtaba W AmigonCanadaIvan Magalhaes NEGOTIATION
Isabel Q RoysterFranceIoni Bowcher RENEWAL
Claire E SlusarskiAustraliaIvan Magalhaes NEW
Izzy Z BologniaRussiaAsiya Javayant NEGOTIATION
Munro V NestleRussiaOnyama Limba RENEWAL
Johnson Z IturbideIndiaIoni Bowcher UNQUALIFIED
Ricardo M WhobreyBrazilXuxue Feng PROPOSAL
Nicolas J GlickArgentinaElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan Y PaprockiJapan2024-05-23Chanay, Jeffrey A Esq RENEWAL24Stephen Shaw
1001Leon L BriddickSpain2024-05-21Buckley Miller Wright NEW84Amy Elsner
1002Darci W GlickBrazil2024-05-21Chapman, Ross E Esq PROPOSAL58Elwin Sharvill
1003Mujtaba Q AlbaresRussia2024-05-25Chemel, James L Cpa PROPOSAL91Anna Fali
1004Munro R RutaAustralia2024-06-02Benton, John B Jr RENEWAL63Xuxue Feng
1005Jennifer N StensethIndia2024-06-05Feiner Bros QUALIFIED29Amy Elsner
1006David C WieserIndia2024-06-05Rangoni Of Florence NEW0Xuxue Feng
1007Claire E StockhamCanada2024-06-14Chemel, James L Cpa NEW61Ivan Magalhaes
1008Kaitlin U BowleyUnited Kingdom2024-05-26Dorl, James J Esq QUALIFIED77Elwin Sharvill
1009Maisha M NestleJapan2024-06-06Chapman, Ross E Esq PROPOSAL78Amy Elsner
1010Rodrigues U BowleyFrance2024-06-13Benton, John B Jr RENEWAL8Asiya Javayant
1011Julie I GillianAustralia2024-06-12Dorl, James J Esq NEW45Anna Fali
1012Ashley U MorascaBrazil2024-06-03Chapman, Ross E Esq NEW83Amy Elsner
1013Aruna O DarakjyUnited Kingdom2024-05-18Feiner Bros RENEWAL84Elwin Sharvill
1014Morrow C MaletIndia2024-06-15Dorl, James J Esq RENEWAL89Xuxue Feng
1015Juan Q OldroydArgentina2024-05-17Feiner Bros NEGOTIATION6Anna Fali
1016Darci R TollnerArgentina2024-06-07Feiner Bros PROPOSAL13Stephen Shaw
1017Murillo W SaylorsBrazil2024-05-31Rangoni Of Florence RENEWAL99Xuxue Feng
1018Tony Y AlbaresArgentina2024-06-14Commercial Press NEW3Bernardo Dominic
1019Alejandro I AmigonBrazil2024-05-26Chemel, James L Cpa NEW68Ivan Magalhaes
1020Aruna W MarrierAustralia2024-06-04Dorl, James J Esq RENEWAL53Amy Elsner
1021Ricardo G GarufiRussia2024-05-29Feiner Bros UNQUALIFIED99Bernardo Dominic
1022Morrow I FlosiAustralia2024-06-10King, Christopher A Esq NEW95Elwin Sharvill
1023Francesco K BologniaRussia2024-06-14Rangoni Of Florence UNQUALIFIED53Elwin Sharvill
1024Greenwood Z SchemmerRussia2024-06-11Chemel, James L Cpa UNQUALIFIED5Ivan Magalhaes
1025Sinclair E FollerArgentina2024-06-13Chemel, James L Cpa QUALIFIED71Xuxue Feng
1026Costa T GlickCanada2024-05-23Buckley Miller Wright PROPOSAL4Anna Fali
1027Jennifer M FigeroaItaly2024-06-13Feiner Bros NEGOTIATION82Ivan Magalhaes
1028Alejandro B BowleySpain2024-05-18Chemel, James L Cpa NEW87Elwin Sharvill
1029Chavez R MarrierRussia2024-05-25Truhlar And Truhlar Attys PROPOSAL19Amy Elsner
1030Jennifer T ShinkoSpain2024-06-05Rangoni Of Florence QUALIFIED22Asiya Javayant
1031Julie Z OldroydSpain2024-05-26Benton, John B Jr QUALIFIED85Bernardo Dominic
1032Faith N FlosiCanada2024-05-22Morlong Associates PROPOSAL87Bernardo Dominic
1033Misaki C RulapaughCanada2024-05-31Benton, John B Jr RENEWAL22Amy Elsner
1034Leja R GarufiGermany2024-05-23Benton, John B Jr PROPOSAL18Bernardo Dominic
1035Silvio E ButtGermany2024-05-29Feiner Bros NEW73Bernardo Dominic
1036Alejandro V DoeSpain2024-05-26Printing Dimensions RENEWAL17Amy Elsner
1037Francesco Q BologniaSpain2024-05-26Chemel, James L Cpa NEGOTIATION91Amy Elsner
1038Mayumi I PoquetteItaly2024-05-22Commercial Press RENEWAL51Asiya Javayant
1039Greenwood S NickaCanada2024-06-01Chanay, Jeffrey A Esq NEGOTIATION74Ioni Bowcher
1040Maria G FigeroaUnited Kingdom2024-06-08Chemel, James L Cpa RENEWAL9Asiya Javayant
1041Smith G NestleIndia2024-05-29Rangoni Of Florence NEGOTIATION14Asiya Javayant
1042Juan K MaletUnited Kingdom2024-06-13Chapman, Ross E Esq NEW71Elwin Sharvill
1043David S CampainItaly2024-06-04Dorl, James J Esq NEGOTIATION5Anna Fali
1044Leon N RoysterFrance2024-05-26Chanay, Jeffrey A Esq PROPOSAL99Asiya Javayant
1045Silvio E FigeroaCanada2024-05-21Feiner Bros QUALIFIED0Elwin Sharvill
1046Nicolas Y StensethCanada2024-06-13Commercial Press NEW63Xuxue Feng
1047Johnson X GlickGermany2024-06-06Commercial Press RENEWAL89Asiya Javayant
1048Juan X FlosiArgentina2024-06-09Feiner Bros RENEWAL59Bernardo Dominic
1049Leja H SergiGermany2024-06-01Rangoni Of Florence NEGOTIATION60Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Juan O FollerFranceAnna Fali NEGOTIATION
David P IturbideUnited KingdomStephen Shaw UNQUALIFIED
Ivar G WhobreyCanadaAmy Elsner UNQUALIFIED
Johnson L SergiJapanOnyama Limba QUALIFIED
Arvin V ChuiIndiaBernardo Dominic NEGOTIATION
Nicolas H ChuiAustraliaAmy Elsner RENEWAL
Munro I RulapaughItalyAsiya Javayant NEW
Emily M GarufiIndiaIvan Magalhaes NEW
Jefferson Q FerenczRussiaIoni Bowcher PROPOSAL
Antonio C DoeItalyElwin Sharvill PROPOSAL
Munro Y OldroydCanadaElwin Sharvill NEW
Alejandro Y SergiGermanyAsiya Javayant RENEWAL
Adams E GillianIndiaAmy Elsner NEGOTIATION
Arvin T AmigonAustraliaBernardo Dominic UNQUALIFIED
Aika N NickaCanadaAmy Elsner NEGOTIATION
Wickens S MacleadRussiaIvan Magalhaes PROPOSAL
Tony M RutaArgentinaStephen Shaw PROPOSAL
Maria E BologniaIndiaIoni Bowcher QUALIFIED
Costa E MarrierSpainIoni Bowcher NEGOTIATION
Munro I RulapaughUnited KingdomBernardo Dominic UNQUALIFIED
Tony R CaldareraFranceAmy Elsner NEGOTIATION
Mayumi M AlbaresCanadaBernardo Dominic NEW
Emily H AlbaresArgentinaStephen Shaw QUALIFIED
Octavia H FerenczAustraliaXuxue Feng QUALIFIED
Maisha F FollerSpainIvan Magalhaes NEGOTIATION
Kaitlin A SaylorsUnited KingdomIvan Magalhaes NEW
Faith F FlosiJapanBernardo Dominic PROPOSAL
Maisha T WhobreyFranceStephen Shaw QUALIFIED
David K PoquetteBrazilAsiya Javayant QUALIFIED
Izzy B FollerIndiaAnna Fali UNQUALIFIED
James L SchemmerFranceXuxue Feng QUALIFIED
Mujtaba T DoeJapanAsiya Javayant NEW
Aditya L GlickFranceAsiya Javayant NEW
Isabel H NickaUnited KingdomAsiya Javayant UNQUALIFIED
Misaki O BriddickSpainIvan Magalhaes UNQUALIFIED
Mujtaba K MaletBrazilStephen Shaw NEGOTIATION
Jennifer G RoysterIndiaOnyama Limba NEW
Ivar V AmigonGermanyIoni Bowcher PROPOSAL
James T SlusarskiBrazilAsiya Javayant NEGOTIATION
Antonio U ChuiRussiaBernardo Dominic UNQUALIFIED
Leja N VocelkaItalyAsiya Javayant PROPOSAL
David P CaudySpainOnyama Limba NEGOTIATION
Ivar Q TollnerRussiaXuxue Feng NEW
Octavia Q WhobreyRussiaIvan Magalhaes UNQUALIFIED
Salvatore P CaldareraGermanyAmy Elsner NEGOTIATION
Francesco K RulapaughAustraliaElwin Sharvill UNQUALIFIED
Julie T DilliardItalyStephen Shaw QUALIFIED
Wickens W PoquetteUnited KingdomBernardo Dominic UNQUALIFIED
Izzy F MorascaArgentinaAmy Elsner PROPOSAL
Ashley J BowleyIndiaOnyama Limba QUALIFIED
Frozen Columns
Name
Morrow Q Doe
Chavez A Bolognia
Claire P Shinko
Aruna Z Schemmer
Munro V Malet
Octavia H Bolognia
Murillo B Briddick
Sinclair Q Garufi
Silvio D Iturbide
Maisha A Wieser
Jones F Stenseth
Rodrigues L Darakjy
Claire F Shinko
Nicolas P Dilliard
Morrow M Royster
Sinclair B Ferencz
Morrow I Darakjy
Octavia C Dilliard
Mujtaba F Ostrosky
Leja R Sergi
Silvio S Glick
Chavez Y Briddick
Ashley E Schemmer
Kaitlin T Malet
Jennifer K Ruta
Leon N Campain
Aika D Whobrey
Salvatore C Poquette
Costa T Stockham
Kadeem M Waycott
Maria Y Glick
Cody K Sergi
Sinclair W Stenseth
Murillo W Briddick
David D Malet
Johnson W Iturbide
Morrow J Nestle
Smith B Chui
Johnson I Glick
Claire B Whobrey
Aruna I Iturbide
Izzy S Waycott
Salvatore M Caudy
Maria O Ferencz
Salvatore A Ferencz
Jeanfrancois W Caudy
Chavez D Venere
Stacey C Paprocki
Izzy V Waycott
Ivar I Malet
IdCountryDate
1000Canada2024-05-29
1001Japan2024-06-10
1002India2024-05-31
1003Russia2024-06-06
1004Russia2024-05-29
1005France2024-06-14
1006Australia2024-05-20
1007United Kingdom2024-06-06
1008Japan2024-06-03
1009Germany2024-06-11
1010Russia2024-05-25
1011Canada2024-05-20
1012Argentina2024-05-17
1013India2024-06-07
1014Japan2024-06-06
1015Argentina2024-05-24
1016India2024-05-24
1017Argentina2024-06-09
1018France2024-05-17
1019Italy2024-05-28
1020United Kingdom2024-06-08
1021Italy2024-06-05
1022France2024-05-23
1023United Kingdom2024-06-09
1024Japan2024-06-13
1025Argentina2024-06-02
1026Argentina2024-06-05
1027Australia2024-06-01
1028Russia2024-05-27
1029Russia2024-06-05
1030Australia2024-05-27
1031Brazil2024-06-11
1032Brazil2024-06-11
1033Japan2024-06-01
1034Japan2024-05-21
1035Spain2024-05-29
1036Brazil2024-05-28
1037Canada2024-06-11
1038United Kingdom2024-06-03
1039Japan2024-06-09
1040Japan2024-05-24
1041Italy2024-06-11
1042Spain2024-06-12
1043Italy2024-06-04
1044Argentina2024-05-31
1045Italy2024-06-01
1046Argentina2024-06-13
1047France2024-05-25
1048Argentina2024-06-04
1049United Kingdom2024-06-14

On-Demand Data

NameIdCountryDate
Ashley J Doe1000Russia2024-05-31
Ashley N Iturbide1001Germany2024-05-20
Arvin S Waycott1002India2024-06-04
Isabel U Bolognia1003Brazil2024-06-14
Aika N Foller1004Spain2024-06-10
Emily O Paprocki1005Australia2024-06-08
Aruna J Campain1006Canada2024-06-01
Darci F Tollner1007Canada2024-05-23
Costa S Figeroa1008Germany2024-06-11
Alejandro L Schemmer1009Argentina2024-05-22
Jefferson V Bolognia1010Germany2024-06-09
Adams V Nicka1011Argentina2024-06-02
Alejandro Z Darakjy1012Russia2024-05-29
Juan I Marrier1013Canada2024-06-13
Francesco K Paprocki1014Russia2024-05-28
James U Nicka1015Brazil2024-06-10
Jefferson M Poquette1016United Kingdom2024-06-11
Kadeem P Nicka1017Australia2024-06-02
Greenwood Z Waycott1018United Kingdom2024-06-01
Jeanfrancois B Caldarera1019Japan2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo E CaldareraFranceStephen Shaw PROPOSAL
James D ChuiFranceStephen Shaw NEGOTIATION
Morrow D RoysterRussiaStephen Shaw NEGOTIATION
Ashley H AmigonIndiaAmy Elsner RENEWAL
Kaitlin Z RutaUnited KingdomXuxue Feng NEGOTIATION
Izzy V MaletAustraliaXuxue Feng UNQUALIFIED
Antonio O CaudyArgentinaStephen Shaw UNQUALIFIED
Johnson S InouyeArgentinaIvan Magalhaes NEW
Tony H CaudyItalyXuxue Feng NEGOTIATION
Leon X MorascaCanadaIvan Magalhaes UNQUALIFIED
Rodrigues V PaprockiItalyIoni Bowcher UNQUALIFIED
Faith K RulapaughItalyElwin Sharvill QUALIFIED
Johnson Z CaudyUnited KingdomAsiya Javayant RENEWAL
Johnson X DilliardItalyAnna Fali RENEWAL
Izzy Y WieserJapanAnna Fali RENEWAL
Leja I StockhamGermanyAsiya Javayant NEW
Stacey E WieserItalyOnyama Limba NEGOTIATION
Arvin Z FerenczJapanXuxue Feng QUALIFIED
Jennifer B MacleadBrazilStephen Shaw RENEWAL
Octavia Q BriddickBrazilAsiya Javayant PROPOSAL
Leja K MaletGermanyXuxue Feng NEW
Stacey U GarufiItalyElwin Sharvill PROPOSAL
Tony V GarufiArgentinaBernardo Dominic RENEWAL
Rodrigues F KuskoRussiaBernardo Dominic PROPOSAL
Adams V NestleRussiaAnna Fali PROPOSAL
Leja M PoquetteItalyXuxue Feng PROPOSAL
Mayumi H WieserJapanXuxue Feng NEW
Octavia B GarufiJapanXuxue Feng NEGOTIATION
Maria X RulapaughUnited KingdomAmy Elsner RENEWAL
David K AmigonJapanIvan Magalhaes RENEWAL
Jeanfrancois O StockhamIndiaElwin Sharvill UNQUALIFIED
Maria G BologniaAustraliaIvan Magalhaes RENEWAL
Nicolas V VenereCanadaOnyama Limba QUALIFIED
Juan E RoysterBrazilIoni Bowcher NEW
Jeanfrancois W DilliardRussiaIvan Magalhaes UNQUALIFIED
Aika H CampainCanadaAmy Elsner RENEWAL
Murillo R InouyeSpainIvan Magalhaes RENEWAL
Smith H OstroskyGermanyAnna Fali NEW
Jefferson Z MorascaRussiaXuxue Feng RENEWAL
Chavez S OstroskyFranceIvan Magalhaes QUALIFIED

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