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
Maisha W VocelkaBrazilIvan Magalhaes PROPOSAL
Ashley S StensethCanadaOnyama Limba RENEWAL
Maisha O ShinkoGermanyAmy Elsner QUALIFIED
Leon R ButtBrazilAsiya Javayant NEW
Aika G ChuiBrazilXuxue Feng PROPOSAL
Jones G WhobreyUnited KingdomOnyama Limba RENEWAL
Isabel M WaycottJapanElwin Sharvill NEGOTIATION
Mujtaba J InouyeItalyAsiya Javayant RENEWAL
Sinclair O PerinIndiaAmy Elsner NEGOTIATION
Leon Y MaletIndiaAsiya Javayant NEW
Leon W StockhamUnited KingdomXuxue Feng UNQUALIFIED
Alejandro I BowleyUnited KingdomXuxue Feng QUALIFIED
Maisha L GarufiJapanElwin Sharvill NEGOTIATION
Mayumi K GauchoGermanyStephen Shaw RENEWAL
Aditya L MaletArgentinaIoni Bowcher PROPOSAL
Kadeem E MacleadRussiaAsiya Javayant RENEWAL
Darci N StockhamGermanyXuxue Feng NEW
Tony S DarakjyUnited KingdomAnna Fali NEGOTIATION
Sinclair Z MaletGermanyAmy Elsner RENEWAL
Izzy H StensethArgentinaAmy Elsner RENEWAL
Jennifer A DarakjyCanadaBernardo Dominic PROPOSAL
Aika R NickaUnited KingdomAsiya Javayant PROPOSAL
Adams K RimIndiaIoni Bowcher NEGOTIATION
Chavez Z GlickFranceIvan Magalhaes NEGOTIATION
Isabel E BriddickBrazilIvan Magalhaes PROPOSAL
Juan Q KolmetzGermanyAmy Elsner NEW
Ricardo I MaletJapanAmy Elsner NEW
Aika J OldroydArgentinaXuxue Feng PROPOSAL
Aruna T IturbideSpainAsiya Javayant NEGOTIATION
Jennifer W GauchoFranceXuxue Feng NEGOTIATION
Mayumi Y MarrierCanadaXuxue Feng QUALIFIED
Emily A NickaIndiaAnna Fali NEW
Aika N GlickCanadaXuxue Feng PROPOSAL
Cody R FollerArgentinaAmy Elsner QUALIFIED
Ashley A FerenczRussiaAmy Elsner NEGOTIATION
Aditya R AlbaresIndiaBernardo Dominic NEGOTIATION
Misaki X CaudyIndiaAmy Elsner QUALIFIED
Rodrigues Q OldroydCanadaElwin Sharvill NEW
Octavia F NickaArgentinaOnyama Limba UNQUALIFIED
Wickens S BriddickRussiaOnyama Limba PROPOSAL
Darci N DoeSpainXuxue Feng UNQUALIFIED
Isabel R WhobreyRussiaBernardo Dominic QUALIFIED
Sinclair W StockhamGermanyAnna Fali NEGOTIATION
Ricardo C WaycottAustraliaAsiya Javayant PROPOSAL
Arvin V DoeIndiaAsiya Javayant UNQUALIFIED
Morrow O InouyeArgentinaBernardo Dominic NEW
Maria H BriddickAustraliaOnyama Limba UNQUALIFIED
Clifford Z PaprockiJapanStephen Shaw RENEWAL
Mayumi E MacleadSpainAmy Elsner UNQUALIFIED
Cody T PaprockiSpainIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Octavia F SlusarskiIndiaAmy Elsner UNQUALIFIED
Izzy D RimBrazilElwin Sharvill NEW
Cody I WaycottArgentinaAsiya Javayant NEGOTIATION
Johnson C SergiJapanBernardo Dominic NEW
Leon W GauchoCanadaXuxue Feng QUALIFIED
Silvio V FlosiItalyAnna Fali QUALIFIED
Leja G AlbaresSpainAnna Fali NEGOTIATION
Smith S VenereJapanIoni Bowcher NEGOTIATION
Emily X PoquetteSpainOnyama Limba UNQUALIFIED
Silvio V RimItalyOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois E CampainRussia2025-04-21Benton, John B Jr UNQUALIFIED26Stephen Shaw
1001Emily P AmigonBrazil2025-04-13Printing Dimensions UNQUALIFIED31Amy Elsner
1002Greenwood Q RimUnited Kingdom2025-04-26Truhlar And Truhlar Attys PROPOSAL24Ivan Magalhaes
1003Ivar H BowleyJapan2025-04-15Benton, John B Jr PROPOSAL76Onyama Limba
1004Mayumi C VenereAustralia2025-04-23Buckley Miller Wright QUALIFIED48Bernardo Dominic
1005Jefferson R GillianItaly2025-04-27Chapman, Ross E Esq QUALIFIED40Ioni Bowcher
1006Sinclair J StensethBrazil2025-04-11Dorl, James J Esq PROPOSAL96Anna Fali
1007Nicolas B FlosiSpain2025-04-26Commercial Press NEGOTIATION1Anna Fali
1008Darci G SlusarskiIndia2025-04-09Printing Dimensions NEW40Elwin Sharvill
1009Murillo D MarrierCanada2025-04-10Dorl, James J Esq NEW84Amy Elsner
1010Jefferson L RulapaughSpain2025-04-21Feltz Printing Service NEW53Elwin Sharvill
1011Maisha F RoysterUnited Kingdom2025-04-24Chanay, Jeffrey A Esq NEGOTIATION34Asiya Javayant
1012Maisha W GlickFrance2025-04-18Buckley Miller Wright RENEWAL70Ioni Bowcher
1013Munro O SchemmerBrazil2025-04-12Rangoni Of Florence PROPOSAL29Ivan Magalhaes
1014Johnson C KuskoUnited Kingdom2025-04-18Rangoni Of Florence PROPOSAL66Amy Elsner
1015Smith N FerenczRussia2025-04-24Commercial Press RENEWAL13Stephen Shaw
1016Greenwood R DoeArgentina2025-04-06King, Christopher A Esq RENEWAL22Elwin Sharvill
1017Munro D ShinkoIndia2025-04-20Printing Dimensions NEW88Stephen Shaw
1018Francesco M RulapaughRussia2025-04-11Rousseaux, Michael Esq RENEWAL87Bernardo Dominic
1019Isabel W MaletGermany2025-04-07Commercial Press NEW68Bernardo Dominic
1020Sinclair Y DoeUnited Kingdom2025-04-14Feltz Printing Service RENEWAL88Ivan Magalhaes
1021Silvio M PerinFrance2025-04-01Morlong Associates PROPOSAL56Amy Elsner
1022Maria B FlosiRussia2025-04-29Chapman, Ross E Esq QUALIFIED97Anna Fali
1023Nicolas S PerinItaly2025-04-18Chapman, Ross E Esq RENEWAL61Bernardo Dominic
1024Chavez V NickaRussia2025-04-28Dorl, James J Esq QUALIFIED4Bernardo Dominic
1025Faith N FollerJapan2025-04-24Feltz Printing Service QUALIFIED45Stephen Shaw
1026Faith D MaletFrance2025-04-06Commercial Press RENEWAL8Onyama Limba
1027Faith G SlusarskiBrazil2025-04-18Buckley Miller Wright UNQUALIFIED33Amy Elsner
1028Morrow F RutaUnited Kingdom2025-04-15Rousseaux, Michael Esq RENEWAL16Ioni Bowcher
1029Mayumi K VenereJapan2025-04-10Chapman, Ross E Esq NEGOTIATION6Bernardo Dominic
1030Rodrigues K MaletFrance2025-04-20Rousseaux, Michael Esq RENEWAL37Amy Elsner
1031Ashley P GillianIndia2025-04-22Morlong Associates QUALIFIED28Ivan Magalhaes
1032Darci H OstroskySpain2025-04-30Buckley Miller Wright RENEWAL26Amy Elsner
1033Sinclair Z WieserFrance2025-04-28Feiner Bros RENEWAL40Anna Fali
1034Munro L SlusarskiJapan2025-04-05Rousseaux, Michael Esq NEW10Bernardo Dominic
1035Sinclair D SaylorsRussia2025-04-11Morlong Associates UNQUALIFIED27Anna Fali
1036Izzy S NestleIndia2025-04-25Truhlar And Truhlar Attys NEGOTIATION41Anna Fali
1037Juan E SchemmerIndia2025-04-02Feltz Printing Service RENEWAL55Onyama Limba
1038Clifford G ButtFrance2025-04-06Morlong Associates NEGOTIATION32Xuxue Feng
1039David H InouyeFrance2025-04-01Rousseaux, Michael Esq PROPOSAL54Amy Elsner
1040Aditya Z SergiUnited Kingdom2025-04-25Chanay, Jeffrey A Esq QUALIFIED45Elwin Sharvill
1041Arvin C BologniaCanada2025-04-07Dorl, James J Esq PROPOSAL17Bernardo Dominic
1042Costa F KuskoGermany2025-04-25Chemel, James L Cpa UNQUALIFIED55Anna Fali
1043Misaki U WhobreyIndia2025-04-06Feiner Bros NEW52Amy Elsner
1044Francesco O OstroskyJapan2025-04-02Chapman, Ross E Esq RENEWAL9Anna Fali
1045Munro F VenereItaly2025-04-01Morlong Associates QUALIFIED29Ivan Magalhaes
1046Silvio M RulapaughAustralia2025-04-18Chanay, Jeffrey A Esq NEGOTIATION5Ioni Bowcher
1047Emily H IturbideIndia2025-04-03Feiner Bros QUALIFIED93Onyama Limba
1048Tony L CaudyAustralia2025-04-05Feiner Bros RENEWAL55Onyama Limba
1049Deepesh F GlickGermany2025-04-24Chanay, Jeffrey A Esq NEW71Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Sinclair M RimGermanyBernardo Dominic PROPOSAL
Claire I BologniaSpainStephen Shaw QUALIFIED
Smith P CaldareraGermanyIoni Bowcher QUALIFIED
Jennifer U PoquetteSpainStephen Shaw RENEWAL
Silvio D NestleItalyAnna Fali PROPOSAL
Maisha Y CampainIndiaStephen Shaw QUALIFIED
Ricardo H NestleArgentinaElwin Sharvill QUALIFIED
Chavez Q FollerItalyIvan Magalhaes PROPOSAL
Rodrigues C ButtGermanyIoni Bowcher QUALIFIED
Darci G ButtSpainOnyama Limba NEW
Ricardo L CaudyArgentinaOnyama Limba QUALIFIED
Murillo I WaycottItalyAsiya Javayant UNQUALIFIED
Johnson S WhobreyBrazilAmy Elsner NEGOTIATION
Alejandro Y KolmetzBrazilIoni Bowcher UNQUALIFIED
Johnson Y MarrierSpainAnna Fali UNQUALIFIED
Adams J CaudyItalyStephen Shaw NEW
Francesco I KolmetzBrazilIvan Magalhaes PROPOSAL
Morrow E MorascaJapanElwin Sharvill QUALIFIED
Deepesh M SchemmerGermanyElwin Sharvill QUALIFIED
Greenwood S BologniaArgentinaElwin Sharvill UNQUALIFIED
Octavia A MaletRussiaBernardo Dominic NEGOTIATION
James T WhobreyGermanyAnna Fali QUALIFIED
Morrow B TollnerItalyAsiya Javayant QUALIFIED
Antonio H NestleItalyStephen Shaw QUALIFIED
Kaitlin J CaldareraGermanyStephen Shaw QUALIFIED
Cody O DilliardFranceBernardo Dominic QUALIFIED
Maria J CaldareraAustraliaOnyama Limba NEW
Clifford R InouyeFranceAmy Elsner UNQUALIFIED
Clifford C KolmetzJapanAnna Fali NEGOTIATION
Mayumi Z MacleadSpainAsiya Javayant RENEWAL
Misaki Z GillianBrazilAmy Elsner PROPOSAL
Clifford W CaldareraUnited KingdomElwin Sharvill RENEWAL
Juan M PerinFranceOnyama Limba PROPOSAL
Faith P BriddickItalyAsiya Javayant NEGOTIATION
Jeanfrancois T PoquetteUnited KingdomIvan Magalhaes UNQUALIFIED
Leon G MorascaIndiaAnna Fali QUALIFIED
Julie T FigeroaIndiaOnyama Limba NEGOTIATION
Tony J NickaSpainIvan Magalhaes NEW
Antonio J NickaCanadaAmy Elsner QUALIFIED
Isabel D ChuiJapanStephen Shaw QUALIFIED
Emily D FerenczAustraliaIoni Bowcher NEGOTIATION
Morrow A ShinkoSpainAnna Fali UNQUALIFIED
Deepesh V FlosiSpainAnna Fali QUALIFIED
Silvio X WhobreySpainXuxue Feng RENEWAL
James M DarakjyGermanyOnyama Limba QUALIFIED
Octavia G CaudyJapanElwin Sharvill UNQUALIFIED
Antonio I FlosiBrazilAsiya Javayant UNQUALIFIED
Nicolas P BowleyCanadaOnyama Limba NEW
Alejandro L CaudyGermanyXuxue Feng NEW
Tony E MarrierArgentinaAmy Elsner RENEWAL
Frozen Columns
Name
Izzy D Marrier
Maria O Gillian
Misaki M Chui
David P Waycott
Claire F Inouye
Aruna M Oldroyd
Mayumi P Bowley
Jeanfrancois O Rim
Jones U Perin
Morrow F Maclead
Rodrigues J Oldroyd
Kadeem E Saylors
Costa B Caudy
Tony X Albares
Julie N Royster
Juan V Venere
Maria P Morasca
Jeanfrancois Y Nestle
Francesco E Stockham
Morrow I Amigon
James E Perin
Juan B Whobrey
Jefferson A Marrier
Ivar W Saylors
Ivar I Royster
Alejandro U Poquette
Jones P Vocelka
Mujtaba B Oldroyd
Julie T Bowley
Kadeem I Flosi
Adams M Marrier
Greenwood E Sergi
Mayumi V Nestle
Aika W Marrier
Julie W Wieser
Claire V Figeroa
Leja F Dilliard
Greenwood I Caldarera
Kaitlin F Morasca
Rodrigues N Butt
Johnson D Briddick
Costa F Butt
Munro K Bowley
Emily A Doe
Maria J Nestle
Rodrigues X Oldroyd
Emily F Gillian
Cody A Kolmetz
Julie I Paprocki
Maria V Stockham
IdCountryDate
1000Germany2025-04-09
1001France2025-04-03
1002Germany2025-04-14
1003Russia2025-04-10
1004Australia2025-04-07
1005United Kingdom2025-04-19
1006Russia2025-04-29
1007Italy2025-04-10
1008Australia2025-04-01
1009Canada2025-04-28
1010India2025-04-13
1011Russia2025-04-27
1012India2025-04-26
1013Brazil2025-04-03
1014United Kingdom2025-04-06
1015Japan2025-04-03
1016Japan2025-04-06
1017United Kingdom2025-04-12
1018Spain2025-04-19
1019Canada2025-04-02
1020United Kingdom2025-04-07
1021Japan2025-04-08
1022France2025-04-08
1023Brazil2025-04-09
1024Spain2025-04-27
1025Russia2025-04-05
1026Japan2025-04-30
1027Australia2025-04-28
1028Australia2025-04-19
1029Brazil2025-04-19
1030India2025-04-06
1031India2025-04-29
1032United Kingdom2025-04-26
1033Brazil2025-04-19
1034Russia2025-04-24
1035Germany2025-04-18
1036India2025-04-27
1037Germany2025-04-01
1038Italy2025-04-24
1039France2025-04-21
1040United Kingdom2025-04-08
1041United Kingdom2025-04-10
1042Germany2025-04-16
1043Argentina2025-04-25
1044Germany2025-04-03
1045Argentina2025-04-15
1046Japan2025-04-15
1047Brazil2025-04-22
1048Japan2025-04-16
1049India2025-04-10

On-Demand Data

NameIdCountryDate
Morrow F Campain1000Brazil2025-04-02
Aruna T Foller1001Spain2025-04-07
Misaki H Dilliard1002Japan2025-04-16
Mujtaba P Caudy1003Italy2025-04-26
Tony I Royster1004United Kingdom2025-04-24
Darci N Flosi1005Spain2025-04-08
Johnson W Marrier1006Japan2025-04-11
Silvio A Perin1007Germany2025-04-08
Chavez S Shinko1008Germany2025-04-28
Kaitlin N Poquette1009Brazil2025-04-30
Tony K Rim1010Spain2025-04-28
Clifford E Ostrosky1011Italy2025-04-03
Juan Z Stenseth1012India2025-04-12
Alejandro H Nestle1013Germany2025-04-03
Silvio P Wieser1014Argentina2025-04-30
Chavez K Paprocki1015France2025-04-14
Jeanfrancois N Bowley1016India2025-04-12
Stacey R Kolmetz1017Japan2025-04-30
Wickens J Caudy1018Canada2025-04-23
James W Stockham1019Australia2025-04-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia M FigeroaGermanyStephen Shaw PROPOSAL
Claire G OstroskyFranceAmy Elsner UNQUALIFIED
Faith N MorascaAustraliaIoni Bowcher QUALIFIED
Aruna N MaletRussiaElwin Sharvill RENEWAL
James P TollnerSpainXuxue Feng UNQUALIFIED
Clifford A FollerBrazilStephen Shaw UNQUALIFIED
Kadeem Z RimUnited KingdomIvan Magalhaes RENEWAL
Aditya Y CaldareraArgentinaAsiya Javayant UNQUALIFIED
Ashley S MacleadAustraliaIvan Magalhaes PROPOSAL
Greenwood Q TollnerBrazilIvan Magalhaes NEW
Julie X FerenczAustraliaElwin Sharvill PROPOSAL
Salvatore F BriddickAustraliaXuxue Feng NEW
Octavia B DilliardArgentinaIoni Bowcher UNQUALIFIED
Faith U RulapaughAustraliaXuxue Feng QUALIFIED
Murillo K GauchoCanadaOnyama Limba RENEWAL
Mayumi B NestleJapanXuxue Feng QUALIFIED
Adams J RutaFranceOnyama Limba UNQUALIFIED
Silvio V SergiAustraliaBernardo Dominic PROPOSAL
Misaki O ChuiCanadaAsiya Javayant QUALIFIED
Faith G ChuiRussiaIoni Bowcher UNQUALIFIED
Smith A FlosiGermanyAsiya Javayant NEGOTIATION
Julie R BologniaIndiaBernardo Dominic QUALIFIED
Ashley K RulapaughArgentinaAmy Elsner NEGOTIATION
Cody U ButtRussiaAmy Elsner QUALIFIED
Stacey I DoeBrazilStephen Shaw QUALIFIED
Aika U WaycottArgentinaIoni Bowcher NEW
Darci H CaudySpainAmy Elsner NEGOTIATION
Jennifer D MarrierUnited KingdomAnna Fali PROPOSAL
Cody Q DoeItalyIvan Magalhaes QUALIFIED
Octavia B AmigonItalyAnna Fali QUALIFIED
Mayumi C MaletRussiaXuxue Feng NEW
Ashley H WieserUnited KingdomIoni Bowcher QUALIFIED
Francesco X ChuiUnited KingdomAmy Elsner NEGOTIATION
Maria D RoysterJapanXuxue Feng PROPOSAL
Izzy U DilliardJapanBernardo Dominic NEGOTIATION
Johnson R RoysterIndiaStephen Shaw NEGOTIATION
Nicolas E PerinJapanBernardo Dominic RENEWAL
Munro F StensethArgentinaIoni Bowcher RENEWAL
Deepesh J RimCanadaAnna Fali UNQUALIFIED
Cody Q VocelkaItalyIvan Magalhaes UNQUALIFIED

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