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
Sinclair H AmigonGermanyAsiya Javayant QUALIFIED
Johnson S FlosiJapanAmy Elsner NEGOTIATION
Maria H SaylorsBrazilStephen Shaw NEGOTIATION
Juan P PaprockiRussiaXuxue Feng QUALIFIED
Alejandro Z TollnerIndiaElwin Sharvill UNQUALIFIED
Sinclair E RoysterBrazilBernardo Dominic QUALIFIED
Leja E VocelkaRussiaIoni Bowcher QUALIFIED
Cody X MaletFranceIoni Bowcher NEW
Munro T DoeGermanyOnyama Limba NEGOTIATION
Izzy Q PoquetteCanadaAnna Fali QUALIFIED
Kadeem E RimCanadaXuxue Feng UNQUALIFIED
Maisha V GlickArgentinaOnyama Limba PROPOSAL
Julie H MaletGermanyXuxue Feng PROPOSAL
Sinclair I GarufiUnited KingdomOnyama Limba NEW
Ivar R RoysterCanadaBernardo Dominic NEW
Ivar W OstroskyArgentinaIoni Bowcher RENEWAL
Leon H MaletJapanXuxue Feng UNQUALIFIED
Maisha F RulapaughIndiaAsiya Javayant UNQUALIFIED
Misaki L NestleRussiaStephen Shaw RENEWAL
Murillo S DilliardUnited KingdomStephen Shaw UNQUALIFIED
Clifford G GauchoArgentinaIoni Bowcher PROPOSAL
Arvin Y SergiSpainOnyama Limba NEGOTIATION
Clifford K CampainUnited KingdomBernardo Dominic QUALIFIED
Clifford O BologniaFranceBernardo Dominic RENEWAL
Stacey L TollnerArgentinaStephen Shaw UNQUALIFIED
Alejandro O MorascaArgentinaAsiya Javayant PROPOSAL
Wickens D AlbaresCanadaAsiya Javayant PROPOSAL
Jeanfrancois P MacleadArgentinaAnna Fali QUALIFIED
Jennifer Q DoeGermanyIoni Bowcher PROPOSAL
Julie Z WaycottBrazilElwin Sharvill NEGOTIATION
Aditya F ShinkoUnited KingdomIvan Magalhaes NEGOTIATION
Murillo Q PerinAustraliaAsiya Javayant UNQUALIFIED
Greenwood G DilliardAustraliaIoni Bowcher QUALIFIED
Salvatore J SchemmerFranceOnyama Limba PROPOSAL
Aika Z CampainFranceAnna Fali PROPOSAL
James R FollerCanadaIvan Magalhaes NEW
Izzy Z GillianBrazilBernardo Dominic QUALIFIED
Octavia S WhobreyUnited KingdomBernardo Dominic PROPOSAL
Salvatore I OstroskyAustraliaIvan Magalhaes NEW
Costa N VenereUnited KingdomBernardo Dominic QUALIFIED
Cody Y BowleyUnited KingdomStephen Shaw QUALIFIED
Rodrigues F InouyeJapanOnyama Limba RENEWAL
Costa W MacleadCanadaAsiya Javayant RENEWAL
Tony I RulapaughBrazilIoni Bowcher NEGOTIATION
Chavez R WaycottItalyIoni Bowcher NEW
Wickens E GillianGermanyXuxue Feng NEW
Silvio K BriddickRussiaXuxue Feng NEGOTIATION
Maria S OstroskyArgentinaAmy Elsner UNQUALIFIED
Leon X BriddickAustraliaIoni Bowcher NEW
Salvatore P VocelkaIndiaElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Nicolas T DoeRussiaBernardo Dominic UNQUALIFIED
Maisha R MarrierGermanyAnna Fali RENEWAL
Ivar Y FlosiGermanyBernardo Dominic NEW
Sinclair H BowleyUnited KingdomStephen Shaw UNQUALIFIED
David Q CaldareraFranceAmy Elsner NEGOTIATION
Antonio M VocelkaIndiaAsiya Javayant PROPOSAL
Chavez Y OstroskyArgentinaAnna Fali NEGOTIATION
Munro M CampainCanadaStephen Shaw QUALIFIED
Octavia K CaldareraAustraliaAmy Elsner NEW
Ashley B MarrierItalyAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas Z FlosiBrazil2025-10-11Rangoni Of Florence UNQUALIFIED64Stephen Shaw
1001Silvio M OldroydBrazil2025-10-07Chanay, Jeffrey A Esq PROPOSAL14Ioni Bowcher
1002Ivar L RutaAustralia2025-09-21Printing Dimensions UNQUALIFIED24Stephen Shaw
1003Juan A StockhamArgentina2025-10-16Truhlar And Truhlar Attys QUALIFIED88Bernardo Dominic
1004Deepesh S RutaBrazil2025-09-23Benton, John B Jr NEW58Bernardo Dominic
1005Ashley O DilliardAustralia2025-09-21Truhlar And Truhlar Attys UNQUALIFIED22Ioni Bowcher
1006Chavez X IturbideCanada2025-10-16King, Christopher A Esq UNQUALIFIED94Anna Fali
1007Aruna A DilliardSpain2025-10-10King, Christopher A Esq RENEWAL8Bernardo Dominic
1008Alejandro W OldroydIndia2025-10-18Dorl, James J Esq NEW87Ivan Magalhaes
1009Leja D RimUnited Kingdom2025-10-02Morlong Associates NEGOTIATION21Elwin Sharvill
1010Leja X TollnerSpain2025-10-03Commercial Press PROPOSAL31Elwin Sharvill
1011Ashley G DilliardUnited Kingdom2025-09-27King, Christopher A Esq QUALIFIED99Amy Elsner
1012Clifford O RimFrance2025-09-20Commercial Press NEW1Xuxue Feng
1013Alejandro Q FollerBrazil2025-09-29Benton, John B Jr NEGOTIATION85Onyama Limba
1014Leja B RoysterBrazil2025-10-01Dorl, James J Esq QUALIFIED51Xuxue Feng
1015Stacey M OldroydAustralia2025-10-14Commercial Press QUALIFIED12Onyama Limba
1016Nicolas W RutaCanada2025-09-27Chapman, Ross E Esq NEW69Elwin Sharvill
1017Kadeem B FigeroaUnited Kingdom2025-10-06King, Christopher A Esq UNQUALIFIED83Elwin Sharvill
1018Antonio L GlickIndia2025-10-08Commercial Press QUALIFIED46Amy Elsner
1019Jennifer P MaletGermany2025-09-22Printing Dimensions RENEWAL28Asiya Javayant
1020Antonio V SchemmerCanada2025-09-29Chanay, Jeffrey A Esq UNQUALIFIED41Amy Elsner
1021Darci W BowleyIndia2025-10-09Benton, John B Jr QUALIFIED45Bernardo Dominic
1022Chavez L MaletRussia2025-09-29Chapman, Ross E Esq PROPOSAL16Onyama Limba
1023Jennifer M VocelkaSpain2025-10-07Dorl, James J Esq RENEWAL59Xuxue Feng
1024Cody M KolmetzCanada2025-10-09Feltz Printing Service PROPOSAL72Ioni Bowcher
1025Leja N MaletFrance2025-10-06Printing Dimensions NEGOTIATION75Xuxue Feng
1026Ashley H BologniaUnited Kingdom2025-09-27Chapman, Ross E Esq RENEWAL45Anna Fali
1027Arvin M OstroskyAustralia2025-09-29Rangoni Of Florence NEW42Elwin Sharvill
1028Leja T DilliardCanada2025-10-18Commercial Press RENEWAL42Onyama Limba
1029Aruna O OstroskyIndia2025-09-21Printing Dimensions QUALIFIED57Amy Elsner
1030Isabel O BowleyArgentina2025-10-09Buckley Miller Wright NEGOTIATION7Anna Fali
1031Adams P SchemmerUnited Kingdom2025-10-05Truhlar And Truhlar Attys NEGOTIATION91Onyama Limba
1032Cody Q WhobreyGermany2025-10-03Chapman, Ross E Esq QUALIFIED51Bernardo Dominic
1033Ivar Y CampainRussia2025-10-02Printing Dimensions PROPOSAL25Ivan Magalhaes
1034Leja C GillianAustralia2025-10-11Rousseaux, Michael Esq NEGOTIATION71Xuxue Feng
1035Smith Q MarrierFrance2025-10-15Feiner Bros RENEWAL30Asiya Javayant
1036Salvatore E BriddickBrazil2025-10-04King, Christopher A Esq PROPOSAL71Amy Elsner
1037Smith M AmigonRussia2025-10-05Rousseaux, Michael Esq NEGOTIATION66Asiya Javayant
1038Emily F WhobreyGermany2025-10-10Chapman, Ross E Esq PROPOSAL63Amy Elsner
1039Salvatore N PaprockiBrazil2025-09-26Chemel, James L Cpa UNQUALIFIED37Elwin Sharvill
1040Adams U MaletItaly2025-10-14Chemel, James L Cpa NEGOTIATION31Onyama Limba
1041Sinclair U WhobreyIndia2025-09-30Truhlar And Truhlar Attys RENEWAL8Elwin Sharvill
1042Jefferson M CaldareraSpain2025-09-27Benton, John B Jr NEGOTIATION85Amy Elsner
1043Francesco V AlbaresGermany2025-10-11Benton, John B Jr NEW47Anna Fali
1044Aika Z BriddickBrazil2025-10-01Chanay, Jeffrey A Esq NEGOTIATION64Ioni Bowcher
1045Jeanfrancois C CaldareraUnited Kingdom2025-10-02Truhlar And Truhlar Attys UNQUALIFIED28Amy Elsner
1046Mayumi Y NickaArgentina2025-09-21Chanay, Jeffrey A Esq QUALIFIED55Bernardo Dominic
1047Morrow G AmigonIndia2025-09-28Buckley Miller Wright UNQUALIFIED31Elwin Sharvill
1048Wickens U NestleBrazil2025-09-27Chemel, James L Cpa RENEWAL51Ioni Bowcher
1049Ricardo G KolmetzBrazil2025-10-06Benton, John B Jr PROPOSAL15Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Aditya A KuskoIndiaAnna Fali RENEWAL
Aditya F DoeItalyStephen Shaw NEGOTIATION
Jefferson W OldroydFranceAnna Fali UNQUALIFIED
Tony L DilliardItalyAnna Fali PROPOSAL
Salvatore Z GlickFranceIvan Magalhaes UNQUALIFIED
Faith I TollnerRussiaIvan Magalhaes NEGOTIATION
Costa Q FollerCanadaAsiya Javayant NEW
Izzy K ButtItalyElwin Sharvill NEW
Isabel R GillianRussiaBernardo Dominic UNQUALIFIED
Clifford P BriddickSpainIvan Magalhaes QUALIFIED
Jones E WaycottFranceIoni Bowcher QUALIFIED
Chavez H InouyeRussiaIoni Bowcher NEW
Ricardo U ChuiItalyIoni Bowcher NEGOTIATION
Maisha O GarufiAustraliaAnna Fali PROPOSAL
Morrow K WieserArgentinaAsiya Javayant QUALIFIED
Kadeem O WaycottUnited KingdomStephen Shaw UNQUALIFIED
Emily Y RimAustraliaElwin Sharvill NEGOTIATION
Nicolas T StensethRussiaIoni Bowcher PROPOSAL
Munro A MaletBrazilIvan Magalhaes RENEWAL
Kaitlin F WhobreyGermanyAsiya Javayant RENEWAL
Ashley E AlbaresArgentinaIvan Magalhaes NEW
Leja S SergiCanadaAmy Elsner NEGOTIATION
Mujtaba S CaldareraJapanXuxue Feng RENEWAL
Jefferson C InouyeAustraliaElwin Sharvill PROPOSAL
Murillo A PaprockiJapanOnyama Limba QUALIFIED
Morrow J DoeItalyXuxue Feng NEW
Cody C FerenczCanadaAnna Fali PROPOSAL
Rodrigues B ShinkoIndiaOnyama Limba NEW
Alejandro T MacleadBrazilAmy Elsner PROPOSAL
Leon Y VenereGermanyStephen Shaw QUALIFIED
Leon I WieserArgentinaAmy Elsner UNQUALIFIED
Antonio O NickaSpainBernardo Dominic UNQUALIFIED
Alejandro P BologniaArgentinaAmy Elsner NEW
Smith H BologniaItalyBernardo Dominic NEGOTIATION
Isabel V DoeBrazilElwin Sharvill QUALIFIED
Salvatore U VenereUnited KingdomAsiya Javayant QUALIFIED
Octavia T ChuiItalyAmy Elsner QUALIFIED
Johnson V GarufiUnited KingdomElwin Sharvill NEGOTIATION
Jennifer Q StensethAustraliaIvan Magalhaes NEW
Octavia D CaudyCanadaXuxue Feng NEW
Maria Y GillianGermanyXuxue Feng PROPOSAL
Cody P KuskoBrazilAmy Elsner NEGOTIATION
James E DoeAustraliaElwin Sharvill UNQUALIFIED
Aika Q GauchoItalyAnna Fali PROPOSAL
Kadeem J InouyeSpainBernardo Dominic NEGOTIATION
Munro B RutaAustraliaStephen Shaw QUALIFIED
Kadeem L DarakjyAustraliaIoni Bowcher PROPOSAL
Wickens O KuskoGermanyXuxue Feng QUALIFIED
Sinclair O RoysterGermanyOnyama Limba NEW
Kadeem L VocelkaGermanyAmy Elsner NEW
Frozen Columns
Name
Rodrigues Y Nestle
Rodrigues Y Butt
Izzy R Maclead
Julie C Royster
Kaitlin V Malet
Clifford A Albares
Murillo Y Venere
Ashley U Flosi
Francesco D Nestle
Silvio N Figeroa
Izzy O Gaucho
Aditya S Rim
Jefferson S Waycott
Isabel P Sergi
Rodrigues Q Bowley
Claire H Stenseth
Stacey Z Briddick
Mujtaba K Caudy
Jefferson V Malet
Morrow J Figeroa
Darci R Maclead
Greenwood A Albares
Arvin M Nicka
Alejandro C Inouye
Jeanfrancois H Kusko
Emily P Nestle
Darci K Nestle
Salvatore Q Nicka
Chavez T Campain
Jones A Amigon
Cody T Malet
Tony M Inouye
Salvatore L Ruta
Jennifer U Iturbide
Stacey A Bowley
Jennifer T Tollner
Silvio X Gaucho
Munro S Iturbide
Costa W Ruta
Jennifer B Poquette
Mujtaba L Caudy
Octavia Q Ferencz
Munro V Oldroyd
Wickens F Morasca
Darci M Butt
Claire A Iturbide
Leon H Ostrosky
Clifford T Stockham
Claire M Whobrey
Costa T Inouye
IdCountryDate
1000Canada2025-10-14
1001Canada2025-10-17
1002Argentina2025-10-12
1003Argentina2025-10-01
1004Argentina2025-09-30
1005Italy2025-09-30
1006Australia2025-10-10
1007Japan2025-09-25
1008Russia2025-10-10
1009India2025-10-13
1010Italy2025-09-29
1011Russia2025-10-12
1012Germany2025-10-16
1013Canada2025-10-15
1014Russia2025-10-06
1015United Kingdom2025-09-22
1016Russia2025-10-14
1017Canada2025-10-04
1018United Kingdom2025-09-28
1019Spain2025-10-10
1020Spain2025-10-08
1021United Kingdom2025-09-28
1022France2025-09-21
1023Spain2025-10-14
1024Brazil2025-09-20
1025United Kingdom2025-09-21
1026Spain2025-10-02
1027United Kingdom2025-10-02
1028France2025-10-17
1029United Kingdom2025-09-22
1030Canada2025-10-06
1031France2025-10-05
1032India2025-10-17
1033Spain2025-10-18
1034Germany2025-10-07
1035Spain2025-10-06
1036Germany2025-09-29
1037Italy2025-10-17
1038Canada2025-10-05
1039Canada2025-10-01
1040France2025-10-07
1041France2025-09-29
1042Argentina2025-10-11
1043United Kingdom2025-10-07
1044United Kingdom2025-10-01
1045Australia2025-09-30
1046Australia2025-10-17
1047India2025-10-16
1048Australia2025-09-21
1049Spain2025-10-07

On-Demand Data

NameIdCountryDate
Emily M Wieser1000Italy2025-09-20
Ricardo H Gillian1001India2025-10-09
Sinclair L Gaucho1002Brazil2025-10-09
Kaitlin D Kusko1003Spain2025-09-30
Costa Q Venere1004Italy2025-09-26
Chavez A Poquette1005Canada2025-10-09
Wickens X Foller1006Australia2025-09-22
Misaki M Caudy1007United Kingdom2025-10-11
Deepesh Y Marrier1008Russia2025-10-19
Rodrigues L Wieser1009France2025-10-05
Ivar I Stockham1010Russia2025-09-26
Ricardo T Sergi1011Spain2025-10-13
Alejandro Q Oldroyd1012Germany2025-10-13
James H Tollner1013United Kingdom2025-09-25
Maria H Paprocki1014France2025-10-01
Ricardo V Waycott1015Italy2025-10-14
Aditya G Campain1016United Kingdom2025-10-08
Leja D Whobrey1017Japan2025-10-08
Ashley H Shinko1018France2025-10-07
Kadeem K Malet1019Spain2025-10-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio N FlosiBrazilAsiya Javayant NEW
Misaki D DoeSpainXuxue Feng PROPOSAL
Jeanfrancois H PerinFranceAnna Fali NEGOTIATION
Tony B InouyeBrazilIoni Bowcher QUALIFIED
Sinclair J MacleadFranceXuxue Feng UNQUALIFIED
Silvio N GillianGermanyElwin Sharvill QUALIFIED
Emily X InouyeItalyBernardo Dominic PROPOSAL
Maria P CampainRussiaIvan Magalhaes PROPOSAL
Chavez Y KuskoSpainAnna Fali UNQUALIFIED
Ricardo M GlickJapanElwin Sharvill NEGOTIATION
Greenwood A SchemmerGermanyIvan Magalhaes NEGOTIATION
Kaitlin F MarrierCanadaAsiya Javayant NEGOTIATION
Jefferson U AmigonArgentinaOnyama Limba PROPOSAL
Antonio A BowleyCanadaOnyama Limba NEW
Adams H TollnerBrazilBernardo Dominic NEW
Aika U BriddickRussiaIoni Bowcher PROPOSAL
Faith Q KolmetzFranceOnyama Limba QUALIFIED
Isabel C TollnerItalyIoni Bowcher PROPOSAL
Salvatore J RoysterBrazilAmy Elsner UNQUALIFIED
James E CampainJapanXuxue Feng UNQUALIFIED
Antonio P FollerSpainIvan Magalhaes NEGOTIATION
Mayumi J OldroydSpainElwin Sharvill RENEWAL
Alejandro X SaylorsUnited KingdomBernardo Dominic RENEWAL
Murillo V FerenczIndiaBernardo Dominic NEW
Murillo B AlbaresUnited KingdomAnna Fali PROPOSAL
Aditya O MacleadIndiaBernardo Dominic NEGOTIATION
Greenwood T MaletCanadaIoni Bowcher PROPOSAL
Mayumi W BriddickBrazilAsiya Javayant PROPOSAL
Alejandro T SergiGermanyStephen Shaw PROPOSAL
Greenwood M VenereUnited KingdomAnna Fali NEGOTIATION
Mujtaba S BriddickBrazilAmy Elsner NEGOTIATION
Ivar W BologniaRussiaIoni Bowcher QUALIFIED
Nicolas H MaletJapanXuxue Feng NEW
Ricardo U ButtSpainStephen Shaw UNQUALIFIED
Izzy M FigeroaBrazilXuxue Feng RENEWAL
Silvio C NickaSpainBernardo Dominic PROPOSAL
Jefferson X PoquetteArgentinaIoni Bowcher QUALIFIED
Juan S RutaItalyAsiya Javayant PROPOSAL
Wickens A CaudyUnited KingdomIvan Magalhaes RENEWAL
Mayumi K WhobreyArgentinaIoni Bowcher RENEWAL

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