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
Leja V PoquetteGermanyAnna Fali QUALIFIED
Faith J MorascaSpainXuxue Feng PROPOSAL
Maisha X GauchoRussiaAmy Elsner UNQUALIFIED
Juan P FlosiCanadaXuxue Feng NEGOTIATION
Juan Y FerenczJapanIoni Bowcher NEW
Greenwood U GauchoItalyBernardo Dominic NEGOTIATION
Sinclair U CaldareraRussiaIoni Bowcher PROPOSAL
Costa H DarakjyJapanOnyama Limba NEW
Deepesh X InouyeAustraliaXuxue Feng NEW
Kaitlin W DilliardAustraliaAnna Fali RENEWAL
Wickens A BowleyArgentinaIvan Magalhaes RENEWAL
Chavez P GauchoUnited KingdomBernardo Dominic RENEWAL
Mayumi N RutaFranceXuxue Feng NEW
Silvio B AlbaresAustraliaStephen Shaw QUALIFIED
Deepesh V DilliardArgentinaStephen Shaw NEW
Clifford C GillianIndiaOnyama Limba QUALIFIED
Greenwood V DoeAustraliaOnyama Limba NEW
Jeanfrancois Z MorascaBrazilBernardo Dominic UNQUALIFIED
Nicolas I VocelkaFranceStephen Shaw UNQUALIFIED
Jones M MorascaIndiaXuxue Feng NEGOTIATION
Jefferson V RulapaughSpainAnna Fali UNQUALIFIED
Ashley K NickaItalyStephen Shaw NEW
Costa E CaudyBrazilAnna Fali NEW
Smith U FigeroaItalyAsiya Javayant PROPOSAL
Jeanfrancois O CaudyUnited KingdomXuxue Feng PROPOSAL
Aika R CampainRussiaAsiya Javayant NEGOTIATION
Sinclair B DarakjyCanadaAnna Fali NEGOTIATION
David B ChuiRussiaAnna Fali NEW
Cody R BriddickArgentinaAnna Fali NEW
Maria U SchemmerJapanStephen Shaw QUALIFIED
Morrow G ChuiArgentinaBernardo Dominic RENEWAL
Nicolas A RimUnited KingdomAmy Elsner RENEWAL
Salvatore K MaletArgentinaIvan Magalhaes NEGOTIATION
Johnson H ChuiSpainIoni Bowcher RENEWAL
Sinclair I VocelkaCanadaIvan Magalhaes PROPOSAL
Deepesh Q InouyeGermanyIoni Bowcher RENEWAL
Stacey N AmigonAustraliaAmy Elsner QUALIFIED
Mayumi B TollnerFranceIvan Magalhaes UNQUALIFIED
Salvatore R RimFranceIoni Bowcher UNQUALIFIED
Ivar G DilliardIndiaElwin Sharvill QUALIFIED
Tony D OldroydFranceIvan Magalhaes RENEWAL
David Y DilliardBrazilOnyama Limba UNQUALIFIED
Greenwood M StockhamRussiaIoni Bowcher NEW
Mujtaba J RutaIndiaBernardo Dominic UNQUALIFIED
Smith H SergiRussiaOnyama Limba RENEWAL
Claire Z BologniaFranceAnna Fali PROPOSAL
Cody J FlosiFranceOnyama Limba NEGOTIATION
Maisha T RimRussiaAmy Elsner QUALIFIED
Claire Z IturbideFranceElwin Sharvill RENEWAL
Claire X PaprockiJapanIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mayumi S MaletIndiaAsiya Javayant UNQUALIFIED
Darci Z ChuiJapanStephen Shaw RENEWAL
Chavez Z InouyeRussiaStephen Shaw PROPOSAL
Ashley D InouyeArgentinaXuxue Feng PROPOSAL
Jeanfrancois M OstroskyGermanyIoni Bowcher RENEWAL
Francesco B DoeAustraliaAsiya Javayant NEW
Sinclair O BowleySpainOnyama Limba NEGOTIATION
Claire A StensethItalyAmy Elsner PROPOSAL
Claire V ChuiJapanElwin Sharvill NEGOTIATION
Kadeem Q MaletItalyIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha X PoquetteFrance2026-07-23Morlong Associates QUALIFIED46Stephen Shaw
1001Deepesh J BowleyCanada2026-07-31Rangoni Of Florence QUALIFIED46Ioni Bowcher
1002Costa Y MaletFrance2026-07-17Commercial Press NEGOTIATION42Onyama Limba
1003Cody H PoquetteIndia2026-07-11Chapman, Ross E Esq PROPOSAL87Bernardo Dominic
1004Chavez J OstroskyAustralia2026-07-21Feiner Bros UNQUALIFIED0Xuxue Feng
1005Julie V InouyeIndia2026-07-26Chemel, James L Cpa PROPOSAL43Ioni Bowcher
1006Nicolas A MorascaJapan2026-08-08Benton, John B Jr QUALIFIED6Anna Fali
1007Ashley M AlbaresIndia2026-07-24Benton, John B Jr NEGOTIATION95Ivan Magalhaes
1008Jennifer J FlosiArgentina2026-08-05King, Christopher A Esq PROPOSAL41Elwin Sharvill
1009Greenwood J NickaAustralia2026-08-04Dorl, James J Esq NEW7Xuxue Feng
1010Tony A RimIndia2026-07-24Feltz Printing Service RENEWAL60Ioni Bowcher
1011Wickens U NickaRussia2026-07-11Chapman, Ross E Esq UNQUALIFIED89Amy Elsner
1012Johnson W BowleyJapan2026-07-30Rangoni Of Florence NEGOTIATION58Xuxue Feng
1013Jennifer Q IturbideCanada2026-07-11Feiner Bros QUALIFIED28Bernardo Dominic
1014Leon E SchemmerGermany2026-08-06Commercial Press NEW95Anna Fali
1015Juan J CaldareraSpain2026-08-02Dorl, James J Esq NEW41Anna Fali
1016Leon Z GillianRussia2026-08-08Printing Dimensions RENEWAL49Ioni Bowcher
1017Greenwood C CaudyAustralia2026-07-20Dorl, James J Esq QUALIFIED84Anna Fali
1018Jennifer I FlosiBrazil2026-07-20Dorl, James J Esq UNQUALIFIED0Amy Elsner
1019Morrow T TollnerRussia2026-08-05Rangoni Of Florence RENEWAL52Amy Elsner
1020Salvatore K PerinFrance2026-07-26King, Christopher A Esq NEGOTIATION27Ioni Bowcher
1021Mujtaba B AmigonCanada2026-08-06Buckley Miller Wright RENEWAL4Onyama Limba
1022Izzy Y MaletJapan2026-08-04Commercial Press RENEWAL8Ioni Bowcher
1023Leon W FerenczJapan2026-07-31Chapman, Ross E Esq NEGOTIATION65Elwin Sharvill
1024Smith B RulapaughArgentina2026-07-18Dorl, James J Esq QUALIFIED56Asiya Javayant
1025Salvatore J MaletBrazil2026-07-30King, Christopher A Esq UNQUALIFIED71Asiya Javayant
1026Murillo H FerenczBrazil2026-07-12Morlong Associates RENEWAL9Asiya Javayant
1027Chavez P MacleadArgentina2026-08-01Rousseaux, Michael Esq NEW26Amy Elsner
1028Adams C RimGermany2026-07-23Commercial Press QUALIFIED32Ioni Bowcher
1029David S WaycottIndia2026-07-18Benton, John B Jr UNQUALIFIED73Ioni Bowcher
1030Izzy J StensethBrazil2026-07-31King, Christopher A Esq NEGOTIATION47Ivan Magalhaes
1031Isabel J SaylorsAustralia2026-07-24Truhlar And Truhlar Attys NEW5Onyama Limba
1032David H CaldareraArgentina2026-07-19Printing Dimensions NEGOTIATION25Onyama Limba
1033Clifford N FigeroaSpain2026-07-26Feltz Printing Service PROPOSAL41Bernardo Dominic
1034Izzy M CaldareraCanada2026-07-11Chanay, Jeffrey A Esq NEW89Elwin Sharvill
1035Nicolas T RimItaly2026-08-03Truhlar And Truhlar Attys PROPOSAL53Onyama Limba
1036Francesco N BriddickSpain2026-08-02Chanay, Jeffrey A Esq RENEWAL32Anna Fali
1037Juan P RimSpain2026-07-31Benton, John B Jr UNQUALIFIED52Bernardo Dominic
1038Maria B ChuiUnited Kingdom2026-08-06Rousseaux, Michael Esq PROPOSAL92Elwin Sharvill
1039Adams U CampainItaly2026-07-24Feiner Bros QUALIFIED15Bernardo Dominic
1040Wickens I DoeJapan2026-08-09Rangoni Of Florence UNQUALIFIED93Bernardo Dominic
1041Antonio R CaudyArgentina2026-07-12Printing Dimensions PROPOSAL40Stephen Shaw
1042Jefferson Y DarakjyAustralia2026-08-03Commercial Press UNQUALIFIED44Ivan Magalhaes
1043Antonio I PerinArgentina2026-07-18Feiner Bros QUALIFIED17Bernardo Dominic
1044Ashley I NestleBrazil2026-07-21Truhlar And Truhlar Attys NEW13Anna Fali
1045Ivar K MorascaArgentina2026-08-06Feiner Bros UNQUALIFIED97Xuxue Feng
1046Darci H MacleadIndia2026-07-26Chanay, Jeffrey A Esq RENEWAL19Elwin Sharvill
1047James L KuskoUnited Kingdom2026-07-25Truhlar And Truhlar Attys PROPOSAL63Asiya Javayant
1048Octavia I PaprockiRussia2026-07-23Rousseaux, Michael Esq PROPOSAL21Anna Fali
1049Misaki W CaldareraGermany2026-07-27Chapman, Ross E Esq PROPOSAL24Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Adams C PoquetteBrazilIvan Magalhaes NEGOTIATION
Deepesh L RutaSpainAsiya Javayant NEGOTIATION
Stacey U MaletJapanIoni Bowcher RENEWAL
Silvio Z SchemmerJapanElwin Sharvill PROPOSAL
Ricardo E CampainSpainXuxue Feng QUALIFIED
Ashley Q IturbideJapanBernardo Dominic RENEWAL
Aruna W GillianArgentinaXuxue Feng NEW
Jeanfrancois D RoysterUnited KingdomAmy Elsner NEW
Jones L MorascaFranceAnna Fali NEW
Rodrigues W KolmetzItalyStephen Shaw QUALIFIED
Smith V GlickItalyBernardo Dominic QUALIFIED
Sinclair X SergiBrazilOnyama Limba UNQUALIFIED
Leon C TollnerCanadaIoni Bowcher NEGOTIATION
Nicolas A FigeroaIndiaIoni Bowcher QUALIFIED
Mayumi G WaycottArgentinaOnyama Limba QUALIFIED
Mujtaba C PoquetteUnited KingdomAnna Fali RENEWAL
Greenwood F WieserUnited KingdomStephen Shaw UNQUALIFIED
Arvin F SaylorsSpainOnyama Limba RENEWAL
Faith B PaprockiGermanyAsiya Javayant NEGOTIATION
Greenwood Y InouyeJapanXuxue Feng PROPOSAL
Smith F ShinkoJapanOnyama Limba RENEWAL
Aruna B FollerArgentinaAsiya Javayant QUALIFIED
Jeanfrancois X TollnerJapanIvan Magalhaes QUALIFIED
Leja B IturbideUnited KingdomXuxue Feng UNQUALIFIED
Juan N WaycottFranceOnyama Limba QUALIFIED
Jefferson K PoquetteGermanyBernardo Dominic NEGOTIATION
Julie D DilliardFranceElwin Sharvill PROPOSAL
Munro T GlickArgentinaOnyama Limba RENEWAL
Adams K RutaBrazilElwin Sharvill PROPOSAL
James B RimCanadaStephen Shaw NEW
Ivar J CaudyItalyAmy Elsner QUALIFIED
Stacey J VenereFranceIoni Bowcher NEW
Juan W SlusarskiCanadaOnyama Limba NEW
Antonio T FlosiCanadaIvan Magalhaes PROPOSAL
Ricardo N SchemmerBrazilXuxue Feng NEGOTIATION
Izzy L CaldareraCanadaOnyama Limba NEW
Aditya F GarufiItalyOnyama Limba PROPOSAL
Ashley F WhobreyFranceBernardo Dominic RENEWAL
Aika P ButtSpainBernardo Dominic PROPOSAL
Aditya S StensethArgentinaIvan Magalhaes PROPOSAL
Costa J DarakjyUnited KingdomXuxue Feng NEW
Kaitlin Y SchemmerBrazilIoni Bowcher RENEWAL
Sinclair F MacleadJapanAnna Fali RENEWAL
Sinclair H RimJapanStephen Shaw NEW
Antonio B PaprockiIndiaXuxue Feng UNQUALIFIED
Izzy Y MaletCanadaStephen Shaw RENEWAL
Costa B CaldareraGermanyIvan Magalhaes PROPOSAL
Jones H MacleadItalyBernardo Dominic RENEWAL
Misaki U AmigonAustraliaAmy Elsner NEGOTIATION
Johnson C BriddickRussiaIvan Magalhaes RENEWAL
Frozen Columns
Name
Arvin V Nicka
Mayumi L Campain
Kadeem O Albares
Morrow A Butt
Juan T Bolognia
Faith G Rulapaugh
Deepesh O Saylors
Antonio Y Whobrey
Jeanfrancois O Ostrosky
Alejandro D Bowley
Leja S Morasca
Arvin D Ruta
Johnson W Kolmetz
Octavia A Flosi
Francesco F Saylors
Morrow P Briddick
Isabel E Bowley
Isabel J Sergi
Chavez P Figeroa
Leja N Caldarera
Emily I Venere
Ricardo E Rulapaugh
Wickens V Dilliard
Julie D Perin
James U Iturbide
Johnson K Glick
Mayumi Q Butt
Stacey T Dilliard
Salvatore I Bowley
Costa J Stockham
Antonio W Chui
Antonio S Whobrey
Jeanfrancois R Figeroa
Antonio E Whobrey
Claire A Chui
Jones P Maclead
Jeanfrancois X Kolmetz
Alejandro E Butt
Costa W Figeroa
Chavez Z Tollner
Sinclair C Whobrey
Leon P Malet
Jones H Kusko
Rodrigues T Caldarera
Aruna E Tollner
Kaitlin C Waycott
Kadeem K Nicka
James R Perin
Johnson W Morasca
Aditya N Marrier
IdCountryDate
1000Italy2026-07-24
1001Australia2026-07-26
1002France2026-08-06
1003Argentina2026-07-21
1004Italy2026-07-23
1005Italy2026-07-25
1006United Kingdom2026-07-18
1007United Kingdom2026-07-21
1008India2026-07-12
1009India2026-07-30
1010Spain2026-07-30
1011Germany2026-07-15
1012Spain2026-07-21
1013United Kingdom2026-07-28
1014Russia2026-07-20
1015Russia2026-07-29
1016Australia2026-07-13
1017France2026-07-17
1018Japan2026-07-16
1019Japan2026-08-05
1020United Kingdom2026-07-21
1021United Kingdom2026-07-13
1022Australia2026-07-28
1023Argentina2026-08-02
1024Canada2026-07-14
1025Argentina2026-08-04
1026India2026-07-16
1027Russia2026-07-31
1028France2026-07-15
1029France2026-08-03
1030Argentina2026-07-15
1031Russia2026-08-01
1032Russia2026-07-20
1033Argentina2026-07-15
1034France2026-07-29
1035Argentina2026-07-26
1036Canada2026-07-28
1037France2026-07-31
1038France2026-07-29
1039Spain2026-08-06
1040Canada2026-07-17
1041France2026-08-02
1042India2026-07-16
1043France2026-08-08
1044Canada2026-08-03
1045India2026-08-07
1046United Kingdom2026-07-22
1047Argentina2026-07-29
1048Spain2026-08-09
1049Argentina2026-07-14

On-Demand Data

NameIdCountryDate
Silvio J Kusko1000Australia2026-07-14
Aditya R Oldroyd1001Italy2026-08-03
Silvio W Stenseth1002Italy2026-08-03
Aika M Glick1003France2026-07-27
David X Caldarera1004Brazil2026-07-28
Adams D Stenseth1005France2026-07-19
Antonio C Oldroyd1006Argentina2026-07-13
Murillo H Waycott1007Canada2026-07-21
Ivar M Shinko1008Argentina2026-08-06
Alejandro V Saylors1009Brazil2026-07-26
Morrow O Ruta1010India2026-08-08
Deepesh S Gaucho1011Australia2026-07-15
Stacey P Foller1012Australia2026-07-29
Morrow B Nicka1013United Kingdom2026-08-03
Kadeem I Rim1014United Kingdom2026-07-20
Munro P Ostrosky1015Argentina2026-07-14
Salvatore W Ruta1016Argentina2026-08-07
Aruna Q Bowley1017Canada2026-07-13
Mayumi C Rim1018India2026-08-03
Aika A Sergi1019Russia2026-07-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika U SergiGermanyAnna Fali NEGOTIATION
Julie P KuskoGermanyAmy Elsner UNQUALIFIED
Ashley X VocelkaItalyAnna Fali NEW
Ashley F NickaArgentinaXuxue Feng UNQUALIFIED
Octavia H FerenczCanadaElwin Sharvill PROPOSAL
Izzy W CampainFranceAsiya Javayant NEW
Faith M VocelkaBrazilOnyama Limba PROPOSAL
Stacey Z ShinkoArgentinaAsiya Javayant RENEWAL
Adams A BowleyIndiaStephen Shaw NEW
Jones U OldroydUnited KingdomBernardo Dominic PROPOSAL
Murillo S CaldareraRussiaStephen Shaw UNQUALIFIED
Nicolas U RulapaughUnited KingdomBernardo Dominic PROPOSAL
Jeanfrancois V SergiFranceAnna Fali UNQUALIFIED
Antonio E FerenczFranceAmy Elsner PROPOSAL
Ricardo A InouyeJapanOnyama Limba RENEWAL
Adams H SaylorsItalyAmy Elsner UNQUALIFIED
Emily H SaylorsCanadaBernardo Dominic RENEWAL
Greenwood O RutaCanadaIoni Bowcher NEW
Jones E PaprockiItalyElwin Sharvill UNQUALIFIED
Francesco U KolmetzItalyElwin Sharvill QUALIFIED
Juan B StensethItalyElwin Sharvill UNQUALIFIED
Arvin X WhobreyRussiaAsiya Javayant QUALIFIED
Julie B FollerSpainBernardo Dominic QUALIFIED
Deepesh E RoysterIndiaIvan Magalhaes PROPOSAL
Ivar L BowleyFranceXuxue Feng UNQUALIFIED
Ricardo F SergiBrazilElwin Sharvill PROPOSAL
Arvin D ShinkoGermanyBernardo Dominic NEGOTIATION
Sinclair K FlosiRussiaBernardo Dominic NEGOTIATION
Ashley O FlosiArgentinaElwin Sharvill NEW
Jeanfrancois D ShinkoAustraliaOnyama Limba NEW
Morrow T FigeroaFranceAnna Fali QUALIFIED
Maisha R WhobreyGermanyOnyama Limba QUALIFIED
Costa G PoquetteGermanyXuxue Feng NEGOTIATION
Nicolas G NickaCanadaIoni Bowcher NEW
Isabel K CaudyFranceXuxue Feng NEGOTIATION
Stacey C FigeroaItalyElwin Sharvill RENEWAL
Misaki Z OldroydRussiaAnna Fali NEW
Alejandro R VenereCanadaXuxue Feng NEW
Faith C WhobreyAustraliaXuxue Feng NEW
Jones I ButtRussiaIoni Bowcher 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>