Summer Sale is here 🏖️ Get 50% off with code PRSM25 Learn More

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
Bangla
Bosnian
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
Uzbek
Vietnamese
Chinese
Chinese

Input Style

Themes

PrimeOne
Saga Blue Saga Blue
Vela Blue Vela Blue
Arya Blue Arya Blue
Bootstrap
Bootstrap Blue Light Bootstrap Blue Light
Bootstrap Purple Light Bootstrap Purple Light
Bootstrap Blue Dark Bootstrap Blue Dark
Bootstrap Purple Dark Bootstrap Purple Dark
Material Design
Material Indigo Light Material Indigo Light
Material Deep Purple Light Material Deep Purple Light
Material Indigo Dark Material Indigo Dark
Material Deep Purple Dark Material Deep Purple Dark
Material Design Compact
Material Compact Indigo Light Material Compact Indigo Light
Material Compact Deep Purple Light Material Compact Deep Purple Light
Material Compact Indigo Dark Material Compact Indigo Dark
Material Compact Deep Purple Dark Material Compact Deep Purple Dark
Legacy
Nova Light Nova Light
Nova Dark Nova Dark
Nova Colored Nova Colored
Luna Amber Luna Amber
Luna Blue Luna Blue
Luna Green Luna Green
Luna Pink Luna Pink

DataTable Scroll

Both vertical and horizontal scrolling of the data is supported with optional frozen rows-columns and on-demand loading features.

Vertical
NameCountryRepresentativeStatus
Jones B GillianAustraliaXuxue Feng UNQUALIFIED
David Q MacleadSpainAmy Elsner NEW
Leon J DilliardAustraliaElwin Sharvill PROPOSAL
Leja H NickaSpainXuxue Feng QUALIFIED
Mayumi B ButtItalyAmy Elsner NEGOTIATION
Faith Y RutaIndiaXuxue Feng RENEWAL
Morrow U PaprockiArgentinaBernardo Dominic PROPOSAL
Maisha A BologniaFranceAnna Fali NEW
Faith L GauchoRussiaBernardo Dominic NEGOTIATION
Francesco O DilliardRussiaElwin Sharvill PROPOSAL
Clifford Z ButtCanadaAnna Fali QUALIFIED
Deepesh I FlosiRussiaBernardo Dominic NEGOTIATION
Ivar J PaprockiUnited KingdomIoni Bowcher UNQUALIFIED
Stacey V FerenczIndiaAmy Elsner PROPOSAL
Silvio B InouyeRussiaIoni Bowcher QUALIFIED
Mujtaba A CaldareraJapanAmy Elsner NEGOTIATION
Sinclair L MarrierUnited KingdomAnna Fali NEGOTIATION
Julie F FigeroaUnited KingdomXuxue Feng PROPOSAL
Julie R ShinkoGermanyOnyama Limba NEGOTIATION
Julie G StockhamItalyXuxue Feng QUALIFIED
Nicolas N RutaArgentinaAnna Fali NEGOTIATION
Ricardo H FerenczJapanOnyama Limba NEW
Misaki K AmigonAustraliaStephen Shaw RENEWAL
Leon E WhobreyRussiaStephen Shaw PROPOSAL
Faith F DarakjyGermanyStephen Shaw PROPOSAL
Deepesh B CampainGermanyStephen Shaw RENEWAL
Jefferson N GlickArgentinaAsiya Javayant PROPOSAL
Clifford C IturbideGermanyElwin Sharvill QUALIFIED
Ricardo R CaudyGermanyIvan Magalhaes QUALIFIED
Jefferson E MacleadIndiaStephen Shaw NEW
Costa R AmigonRussiaIvan Magalhaes RENEWAL
Stacey E NestleIndiaIvan Magalhaes RENEWAL
Adams J PoquetteGermanyAmy Elsner NEGOTIATION
Mayumi C WhobreyItalyIoni Bowcher UNQUALIFIED
Nicolas V VenereBrazilIoni Bowcher NEW
James T StensethCanadaIoni Bowcher RENEWAL
Jeanfrancois D DilliardUnited KingdomElwin Sharvill QUALIFIED
Greenwood K DilliardJapanElwin Sharvill QUALIFIED
Silvio V DoeIndiaAnna Fali NEW
Sinclair S SaylorsJapanStephen Shaw UNQUALIFIED
Jefferson L NestleGermanyElwin Sharvill QUALIFIED
Julie Q PaprockiJapanStephen Shaw NEGOTIATION
Leon P VenereRussiaOnyama Limba RENEWAL
Ricardo Z NickaFranceBernardo Dominic PROPOSAL
James K MacleadBrazilElwin Sharvill UNQUALIFIED
Nicolas Y AlbaresAustraliaIoni Bowcher QUALIFIED
Jefferson D SergiSpainElwin Sharvill UNQUALIFIED
Clifford B KuskoJapanBernardo Dominic UNQUALIFIED
Ricardo T ButtAustraliaIvan Magalhaes UNQUALIFIED
Nicolas T VenereUnited KingdomAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Chavez V KolmetzSpainIvan Magalhaes QUALIFIED
Jones I SergiSpainXuxue Feng RENEWAL
Misaki F SlusarskiJapanAnna Fali NEW
Misaki J DilliardSpainXuxue Feng RENEWAL
Morrow Y PerinAustraliaXuxue Feng NEW
Faith Q CaldareraUnited KingdomAmy Elsner QUALIFIED
Chavez B VenereFranceIoni Bowcher QUALIFIED
Misaki Q RulapaughIndiaAsiya Javayant QUALIFIED
Claire M VenereGermanyXuxue Feng RENEWAL
Octavia H AmigonAustraliaAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony P CaldareraAustralia2025-07-11Benton, John B Jr QUALIFIED14Stephen Shaw
1001Tony P MarrierFrance2025-07-20Truhlar And Truhlar Attys NEW95Stephen Shaw
1002Salvatore Z DarakjySpain2025-07-06Benton, John B Jr QUALIFIED12Asiya Javayant
1003Antonio Q KolmetzItaly2025-08-03Feiner Bros RENEWAL76Asiya Javayant
1004Alejandro H MacleadFrance2025-07-26Chapman, Ross E Esq QUALIFIED93Stephen Shaw
1005Aditya W AlbaresJapan2025-07-15Rousseaux, Michael Esq NEGOTIATION2Ivan Magalhaes
1006Silvio J GlickAustralia2025-07-10Dorl, James J Esq UNQUALIFIED65Ivan Magalhaes
1007Francesco E FollerItaly2025-08-04Dorl, James J Esq NEW94Ioni Bowcher
1008Francesco P DoeIndia2025-07-22Truhlar And Truhlar Attys NEGOTIATION76Anna Fali
1009Adams V SchemmerGermany2025-07-07Feltz Printing Service QUALIFIED40Stephen Shaw
1010Cody I CaldareraGermany2025-07-12Feiner Bros UNQUALIFIED75Bernardo Dominic
1011Salvatore C ButtItaly2025-07-23Morlong Associates NEW59Bernardo Dominic
1012Isabel O AmigonGermany2025-08-04Printing Dimensions UNQUALIFIED90Stephen Shaw
1013Murillo D WhobreySpain2025-07-22Chanay, Jeffrey A Esq PROPOSAL67Amy Elsner
1014Deepesh L BriddickBrazil2025-07-24Rousseaux, Michael Esq RENEWAL0Bernardo Dominic
1015Ashley O DilliardGermany2025-07-11Chapman, Ross E Esq PROPOSAL41Bernardo Dominic
1016Faith Y FerenczUnited Kingdom2025-08-03Truhlar And Truhlar Attys UNQUALIFIED97Elwin Sharvill
1017David Z OldroydSpain2025-08-03Chanay, Jeffrey A Esq PROPOSAL67Anna Fali
1018Morrow D FlosiFrance2025-08-03Chemel, James L Cpa RENEWAL49Stephen Shaw
1019Isabel C MarrierUnited Kingdom2025-07-21Feiner Bros NEGOTIATION99Onyama Limba
1020Ashley C VocelkaBrazil2025-07-08Commercial Press RENEWAL93Bernardo Dominic
1021Adams G GlickRussia2025-07-14Commercial Press QUALIFIED52Xuxue Feng
1022Johnson F GillianBrazil2025-07-20Rangoni Of Florence NEW92Ioni Bowcher
1023Francesco N WhobreyGermany2025-07-09Benton, John B Jr RENEWAL40Elwin Sharvill
1024Murillo P KuskoAustralia2025-07-13Morlong Associates UNQUALIFIED95Amy Elsner
1025Antonio P GillianBrazil2025-07-20Truhlar And Truhlar Attys PROPOSAL29Elwin Sharvill
1026Sinclair T ButtUnited Kingdom2025-07-19Dorl, James J Esq NEGOTIATION7Anna Fali
1027Aika R SchemmerJapan2025-08-02Feltz Printing Service RENEWAL13Ioni Bowcher
1028Deepesh X SlusarskiIndia2025-07-11Chapman, Ross E Esq RENEWAL53Ivan Magalhaes
1029Morrow F SchemmerGermany2025-07-06Buckley Miller Wright PROPOSAL99Amy Elsner
1030Costa A TollnerAustralia2025-07-12Feltz Printing Service NEGOTIATION72Xuxue Feng
1031Deepesh S RutaIndia2025-07-14Chapman, Ross E Esq UNQUALIFIED72Anna Fali
1032James W VenereBrazil2025-07-10King, Christopher A Esq NEW70Ioni Bowcher
1033Maisha I OldroydIndia2025-07-10Chanay, Jeffrey A Esq RENEWAL8Amy Elsner
1034Salvatore C DoeArgentina2025-07-06Dorl, James J Esq RENEWAL27Asiya Javayant
1035Juan V KolmetzRussia2025-07-26Benton, John B Jr NEGOTIATION93Xuxue Feng
1036Jennifer W WieserCanada2025-07-16Printing Dimensions NEGOTIATION82Asiya Javayant
1037Murillo Y ChuiArgentina2025-07-13Feiner Bros QUALIFIED61Stephen Shaw
1038Leon W OldroydCanada2025-07-15Morlong Associates NEGOTIATION38Ioni Bowcher
1039Silvio O CaudyBrazil2025-07-08Rangoni Of Florence RENEWAL64Elwin Sharvill
1040Julie T PaprockiAustralia2025-07-07Truhlar And Truhlar Attys NEGOTIATION99Ioni Bowcher
1041Octavia R DarakjyJapan2025-07-06Feltz Printing Service PROPOSAL54Elwin Sharvill
1042Maria A RulapaughBrazil2025-07-31Truhlar And Truhlar Attys PROPOSAL60Xuxue Feng
1043Chavez N DarakjyAustralia2025-08-01Morlong Associates UNQUALIFIED63Onyama Limba
1044Sinclair V CaldareraFrance2025-07-13Feltz Printing Service QUALIFIED84Anna Fali
1045Leja E FlosiArgentina2025-07-15Rangoni Of Florence UNQUALIFIED26Stephen Shaw
1046Faith W ButtItaly2025-07-12Truhlar And Truhlar Attys PROPOSAL96Asiya Javayant
1047Cody F SchemmerArgentina2025-07-30Commercial Press NEW36Stephen Shaw
1048Izzy C MaletFrance2025-08-04Commercial Press UNQUALIFIED26Xuxue Feng
1049Isabel K GlickCanada2025-07-06Commercial Press UNQUALIFIED5Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
David Z PerinUnited KingdomOnyama Limba PROPOSAL
Maria N ButtArgentinaAnna Fali UNQUALIFIED
Maisha W NestleCanadaStephen Shaw QUALIFIED
Maria J MarrierUnited KingdomIoni Bowcher UNQUALIFIED
Leon Q WaycottSpainIoni Bowcher PROPOSAL
Emily E VocelkaSpainIvan Magalhaes NEGOTIATION
Adams R BriddickBrazilXuxue Feng UNQUALIFIED
Maisha X StockhamBrazilXuxue Feng RENEWAL
Aika B StockhamRussiaBernardo Dominic NEGOTIATION
Izzy P CaudySpainIoni Bowcher PROPOSAL
Aika Q GauchoFranceXuxue Feng QUALIFIED
Juan D PerinAustraliaIvan Magalhaes RENEWAL
Leja J AlbaresJapanIoni Bowcher QUALIFIED
Leon N KolmetzIndiaXuxue Feng PROPOSAL
Juan T CaldareraJapanBernardo Dominic UNQUALIFIED
Darci S FigeroaRussiaAnna Fali PROPOSAL
Faith V PoquetteRussiaAnna Fali RENEWAL
Deepesh F NestleUnited KingdomIvan Magalhaes NEW
Munro G CaudyCanadaOnyama Limba QUALIFIED
Aruna B BologniaGermanyElwin Sharvill UNQUALIFIED
Arvin E OldroydArgentinaStephen Shaw PROPOSAL
Salvatore J OstroskyAustraliaElwin Sharvill NEGOTIATION
Deepesh P GlickIndiaElwin Sharvill QUALIFIED
Isabel B ButtAustraliaStephen Shaw NEGOTIATION
Nicolas J BologniaUnited KingdomIoni Bowcher UNQUALIFIED
Mayumi D SaylorsSpainOnyama Limba QUALIFIED
Stacey I SergiUnited KingdomIvan Magalhaes NEW
Mayumi N VenereSpainIoni Bowcher UNQUALIFIED
Munro W WieserRussiaAnna Fali NEW
Maisha I RimCanadaXuxue Feng NEW
Rodrigues C WhobreyRussiaIoni Bowcher RENEWAL
Cody F StensethItalyElwin Sharvill RENEWAL
Rodrigues A RulapaughBrazilOnyama Limba QUALIFIED
Arvin E DilliardItalyAnna Fali UNQUALIFIED
Tony N GauchoArgentinaStephen Shaw PROPOSAL
Johnson K VenereIndiaAsiya Javayant UNQUALIFIED
Wickens N TollnerRussiaAsiya Javayant QUALIFIED
Clifford H SergiIndiaIoni Bowcher NEGOTIATION
Isabel I ChuiIndiaIoni Bowcher UNQUALIFIED
Wickens Y GarufiCanadaAnna Fali QUALIFIED
Kadeem V VenereCanadaIvan Magalhaes NEGOTIATION
Darci B BowleyRussiaOnyama Limba RENEWAL
Jefferson Z FollerArgentinaStephen Shaw QUALIFIED
Jeanfrancois N CaudyRussiaOnyama Limba UNQUALIFIED
Morrow V DarakjyBrazilIoni Bowcher RENEWAL
Ivar D GauchoArgentinaIvan Magalhaes PROPOSAL
Sinclair E CaldareraJapanIvan Magalhaes NEW
Aditya F CaldareraCanadaStephen Shaw QUALIFIED
Salvatore M RulapaughIndiaIoni Bowcher UNQUALIFIED
Leja L InouyeAustraliaStephen Shaw PROPOSAL
Frozen Columns
Name
Juan Q Figeroa
Wickens N Stockham
Salvatore B Caldarera
Octavia V Kusko
Wickens T Malet
Murillo U Morasca
Munro M Flosi
Darci F Saylors
Jeanfrancois B Maclead
Mayumi W Dilliard
Izzy H Bowley
James T Tollner
Jefferson E Shinko
Deepesh F Briddick
Ivar B Briddick
Maria F Inouye
Isabel R Darakjy
Maria V Oldroyd
Tony L Briddick
Izzy S Stenseth
Johnson V Kusko
Rodrigues D Vocelka
Jeanfrancois R Venere
Izzy G Campain
Munro W Ferencz
Aruna S Iturbide
Octavia R Dilliard
Misaki K Inouye
Wickens H Foller
Kaitlin X Amigon
Alejandro T Maclead
Aruna A Stockham
Clifford C Albares
Silvio X Inouye
Maria X Shinko
Salvatore M Paprocki
Leon W Stenseth
Clifford L Malet
Misaki U Iturbide
Isabel F Amigon
Aruna K Kolmetz
Maria P Venere
Clifford N Rim
Octavia E Rim
Tony O Bowley
Greenwood E Royster
Arvin G Maclead
Ashley G Inouye
Kadeem C Stenseth
Jones Y Malet
IdCountryDate
1000Australia2025-07-08
1001Brazil2025-07-09
1002Brazil2025-07-17
1003Japan2025-07-27
1004France2025-07-09
1005Canada2025-07-17
1006Japan2025-07-13
1007Spain2025-07-11
1008Germany2025-07-10
1009Canada2025-07-21
1010India2025-07-20
1011United Kingdom2025-07-12
1012Japan2025-08-04
1013India2025-07-31
1014Brazil2025-07-29
1015India2025-07-25
1016Brazil2025-08-01
1017Germany2025-07-30
1018United Kingdom2025-07-09
1019Australia2025-07-11
1020Russia2025-07-09
1021Australia2025-07-07
1022Brazil2025-07-19
1023India2025-07-06
1024Brazil2025-07-18
1025Brazil2025-07-10
1026Japan2025-07-27
1027United Kingdom2025-07-19
1028Japan2025-07-07
1029United Kingdom2025-07-10
1030Brazil2025-08-04
1031France2025-07-26
1032France2025-07-10
1033Japan2025-07-23
1034Spain2025-07-30
1035Argentina2025-07-19
1036Japan2025-07-21
1037United Kingdom2025-07-23
1038Russia2025-07-23
1039Japan2025-08-02
1040Argentina2025-07-12
1041Brazil2025-07-31
1042United Kingdom2025-07-15
1043United Kingdom2025-07-07
1044Argentina2025-07-12
1045France2025-07-30
1046Argentina2025-07-23
1047Germany2025-07-26
1048France2025-07-31
1049Italy2025-07-26

On-Demand Data

NameIdCountryDate
Munro B Tollner1000Italy2025-07-28
Kaitlin M Figeroa1001Russia2025-08-04
Aditya P Glick1002India2025-07-26
Darci Q Gaucho1003Argentina2025-07-18
Juan T Rim1004India2025-07-30
Emily K Paprocki1005Brazil2025-08-01
Munro N Butt1006Russia2025-07-06
Mayumi A Ostrosky1007Brazil2025-07-06
Silvio U Bolognia1008Australia2025-07-13
Wickens G Ferencz1009France2025-07-23
Deepesh D Chui1010France2025-07-16
Francesco X Ostrosky1011Brazil2025-07-09
Francesco R Venere1012Japan2025-07-28
James Z Venere1013Brazil2025-07-20
Aika L Malet1014Australia2025-07-17
Mujtaba A Briddick1015India2025-07-11
Smith A Tollner1016Australia2025-07-06
Costa T Nicka1017India2025-07-21
Octavia S Marrier1018Germany2025-07-12
Sinclair O Gaucho1019India2025-07-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore R VenereFranceXuxue Feng UNQUALIFIED
Adams R RimFranceAnna Fali PROPOSAL
Kaitlin K AmigonItalyAsiya Javayant RENEWAL
Isabel G SergiFranceAnna Fali RENEWAL
Juan P MaletUnited KingdomAmy Elsner RENEWAL
Murillo N BriddickGermanyIoni Bowcher NEW
Jefferson R InouyeItalyIoni Bowcher NEW
Emily B RutaCanadaAsiya Javayant NEW
Darci Q FollerGermanyElwin Sharvill RENEWAL
Antonio S RimRussiaIoni Bowcher NEW
Leon N WaycottAustraliaOnyama Limba NEGOTIATION
Isabel Y AlbaresFranceIoni Bowcher QUALIFIED
Murillo L SergiCanadaIoni Bowcher PROPOSAL
Arvin U VocelkaCanadaIvan Magalhaes NEW
Jefferson N DilliardSpainIoni Bowcher UNQUALIFIED
Mayumi S VocelkaCanadaXuxue Feng UNQUALIFIED
Jennifer E StensethBrazilIoni Bowcher UNQUALIFIED
Ricardo Q MacleadUnited KingdomXuxue Feng UNQUALIFIED
Tony A RimSpainIvan Magalhaes RENEWAL
Chavez W VocelkaSpainBernardo Dominic NEGOTIATION
Kaitlin B AmigonItalyElwin Sharvill UNQUALIFIED
Mujtaba T RutaArgentinaElwin Sharvill PROPOSAL
Faith R AlbaresCanadaAmy Elsner NEGOTIATION
Chavez V BologniaArgentinaIoni Bowcher NEGOTIATION
Izzy Z CampainItalyIvan Magalhaes NEGOTIATION
Mujtaba S GauchoFranceStephen Shaw QUALIFIED
Misaki A DarakjyAustraliaAmy Elsner NEW
Arvin I DarakjyAustraliaOnyama Limba NEW
Isabel Q DoeRussiaStephen Shaw NEW
Isabel I SaylorsArgentinaElwin Sharvill NEGOTIATION
Julie V MaletUnited KingdomBernardo Dominic QUALIFIED
Leon V CaudyAustraliaIoni Bowcher NEW
Rodrigues Q WieserGermanyBernardo Dominic NEGOTIATION
Maria U DarakjySpainIvan Magalhaes QUALIFIED
Kaitlin M GauchoIndiaOnyama Limba PROPOSAL
James S CaldareraFranceIvan Magalhaes QUALIFIED
Octavia D SchemmerItalyAnna Fali NEGOTIATION
Sinclair C StockhamFranceIoni Bowcher UNQUALIFIED
Jeanfrancois G TollnerSpainIvan Magalhaes UNQUALIFIED
Rodrigues H FerenczJapanIvan Magalhaes 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" frozenColumnsAlignment="left">
            <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>