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
Mayumi J SlusarskiRussiaAmy Elsner NEW
Jeanfrancois U FollerArgentinaAnna Fali NEGOTIATION
Cody X CaudyJapanAmy Elsner NEW
Isabel Z FlosiUnited KingdomIvan Magalhaes PROPOSAL
Rodrigues M KolmetzGermanyAsiya Javayant NEGOTIATION
Jones L PaprockiBrazilBernardo Dominic NEW
Ashley A MaletAustraliaStephen Shaw UNQUALIFIED
Wickens E AmigonIndiaAnna Fali RENEWAL
Arvin X PoquetteArgentinaOnyama Limba UNQUALIFIED
Stacey M DilliardJapanOnyama Limba QUALIFIED
Aruna Z SaylorsItalyStephen Shaw QUALIFIED
Jeanfrancois T OstroskyUnited KingdomBernardo Dominic QUALIFIED
Munro J SergiJapanAnna Fali UNQUALIFIED
Antonio F DilliardItalyIoni Bowcher QUALIFIED
Munro A MaletIndiaAnna Fali RENEWAL
James E RutaGermanyAnna Fali UNQUALIFIED
Kaitlin P GlickRussiaOnyama Limba RENEWAL
Isabel S CaldareraItalyElwin Sharvill NEGOTIATION
Alejandro J PoquetteSpainAmy Elsner PROPOSAL
Chavez N KuskoItalyBernardo Dominic QUALIFIED
Wickens A GillianIndiaAnna Fali NEW
James Y SaylorsAustraliaIoni Bowcher PROPOSAL
Kadeem D RutaSpainStephen Shaw NEW
Mujtaba S WieserArgentinaStephen Shaw NEW
Salvatore H PerinIndiaBernardo Dominic NEGOTIATION
Mayumi B DoeIndiaXuxue Feng UNQUALIFIED
Jefferson J SlusarskiCanadaIoni Bowcher NEW
Johnson P OstroskyUnited KingdomAsiya Javayant RENEWAL
Chavez I BowleyBrazilElwin Sharvill NEGOTIATION
Munro X AmigonFranceIoni Bowcher RENEWAL
Salvatore O StockhamArgentinaAmy Elsner UNQUALIFIED
James A IturbideUnited KingdomElwin Sharvill QUALIFIED
Faith P FollerRussiaElwin Sharvill NEW
Juan G ButtAustraliaAnna Fali NEGOTIATION
Nicolas D NestleArgentinaStephen Shaw NEW
Emily C BologniaJapanAnna Fali RENEWAL
Francesco T MacleadGermanyIoni Bowcher NEW
Morrow G IturbideFranceAsiya Javayant RENEWAL
Izzy F RoysterBrazilAsiya Javayant PROPOSAL
Chavez H MaletSpainAnna Fali PROPOSAL
Salvatore M ButtBrazilStephen Shaw UNQUALIFIED
Aruna H GauchoIndiaXuxue Feng UNQUALIFIED
Cody L DarakjyFranceAmy Elsner PROPOSAL
David N RimUnited KingdomIvan Magalhaes NEGOTIATION
Antonio P OstroskyFranceAnna Fali NEW
Morrow O PoquetteBrazilAsiya Javayant PROPOSAL
Stacey V InouyeArgentinaStephen Shaw RENEWAL
Chavez O MarrierFranceElwin Sharvill QUALIFIED
Kaitlin Y CaldareraJapanOnyama Limba PROPOSAL
Chavez L RulapaughCanadaAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Aruna J OstroskyBrazilElwin Sharvill RENEWAL
Kaitlin S CampainArgentinaIvan Magalhaes UNQUALIFIED
Kaitlin K DilliardIndiaXuxue Feng QUALIFIED
Misaki Q SlusarskiSpainIoni Bowcher QUALIFIED
Darci G NestleRussiaIoni Bowcher NEGOTIATION
Leon G CaudySpainAnna Fali NEGOTIATION
Ricardo U ChuiRussiaAnna Fali NEW
Munro J ButtGermanyElwin Sharvill NEW
Ashley J CaldareraCanadaXuxue Feng NEGOTIATION
James F DilliardJapanOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer Q BologniaBrazil2025-08-02Buckley Miller Wright NEGOTIATION45Stephen Shaw
1001Darci V NestleBrazil2025-08-06Rangoni Of Florence RENEWAL85Amy Elsner
1002Stacey W CaldareraFrance2025-08-28Chanay, Jeffrey A Esq QUALIFIED19Bernardo Dominic
1003Aditya O FerenczUnited Kingdom2025-08-04Truhlar And Truhlar Attys QUALIFIED51Xuxue Feng
1004David N MorascaItaly2025-08-07Rousseaux, Michael Esq RENEWAL93Asiya Javayant
1005Johnson Y MaletBrazil2025-08-05Feiner Bros UNQUALIFIED96Onyama Limba
1006Chavez O TollnerRussia2025-08-10Rangoni Of Florence RENEWAL21Amy Elsner
1007Leon Z SchemmerAustralia2025-08-05Dorl, James J Esq RENEWAL39Asiya Javayant
1008Mujtaba K AmigonIndia2025-08-11Truhlar And Truhlar Attys UNQUALIFIED59Stephen Shaw
1009Clifford S PoquetteSpain2025-08-11Rousseaux, Michael Esq NEGOTIATION43Asiya Javayant
1010Mayumi D FollerAustralia2025-08-19Rousseaux, Michael Esq NEGOTIATION77Amy Elsner
1011Silvio A RimFrance2025-08-22King, Christopher A Esq PROPOSAL77Anna Fali
1012Stacey M BriddickUnited Kingdom2025-08-18Chapman, Ross E Esq QUALIFIED21Bernardo Dominic
1013Sinclair Y ButtBrazil2025-08-26Benton, John B Jr NEGOTIATION61Anna Fali
1014Morrow T NickaAustralia2025-08-23Benton, John B Jr NEW41Bernardo Dominic
1015Greenwood R FigeroaJapan2025-08-01Rangoni Of Florence UNQUALIFIED29Asiya Javayant
1016Francesco U NickaArgentina2025-08-12Buckley Miller Wright UNQUALIFIED88Xuxue Feng
1017Clifford T GlickUnited Kingdom2025-08-27King, Christopher A Esq NEW33Anna Fali
1018Misaki V GarufiAustralia2025-08-01Chapman, Ross E Esq RENEWAL22Anna Fali
1019Clifford C SchemmerRussia2025-08-21Morlong Associates NEW43Amy Elsner
1020Ivar I TollnerItaly2025-08-09Buckley Miller Wright UNQUALIFIED48Ioni Bowcher
1021Emily V VenereFrance2025-08-14Commercial Press UNQUALIFIED62Anna Fali
1022Aruna T FigeroaUnited Kingdom2025-08-18Chanay, Jeffrey A Esq NEW30Amy Elsner
1023Silvio W MaletAustralia2025-08-11Feltz Printing Service NEGOTIATION90Stephen Shaw
1024Kadeem R AmigonRussia2025-08-27Rangoni Of Florence PROPOSAL61Asiya Javayant
1025Rodrigues M CaldareraIndia2025-08-17Printing Dimensions UNQUALIFIED49Stephen Shaw
1026Darci H VenereRussia2025-08-17Rousseaux, Michael Esq UNQUALIFIED66Onyama Limba
1027Maisha Y TollnerBrazil2025-08-24Chemel, James L Cpa NEW22Ivan Magalhaes
1028Maria Z FerenczBrazil2025-08-26Commercial Press UNQUALIFIED3Stephen Shaw
1029Smith X TollnerAustralia2025-08-18Dorl, James J Esq RENEWAL10Bernardo Dominic
1030David N RoysterRussia2025-07-30Printing Dimensions NEGOTIATION67Asiya Javayant
1031Adams V SaylorsUnited Kingdom2025-08-12Chanay, Jeffrey A Esq RENEWAL64Ioni Bowcher
1032Nicolas M FlosiUnited Kingdom2025-08-10Commercial Press NEGOTIATION34Bernardo Dominic
1033Aika A KuskoSpain2025-08-11Dorl, James J Esq UNQUALIFIED1Stephen Shaw
1034Kaitlin F RulapaughJapan2025-08-05Feltz Printing Service RENEWAL11Ivan Magalhaes
1035Johnson Y KuskoItaly2025-08-22Printing Dimensions PROPOSAL66Elwin Sharvill
1036Salvatore C StensethGermany2025-08-04Morlong Associates NEW34Onyama Limba
1037Ricardo X KolmetzBrazil2025-08-03Benton, John B Jr RENEWAL87Anna Fali
1038Wickens Y RimUnited Kingdom2025-08-28Rangoni Of Florence QUALIFIED47Bernardo Dominic
1039Jones O CaudyAustralia2025-08-22Benton, John B Jr NEGOTIATION24Ivan Magalhaes
1040Darci P RulapaughUnited Kingdom2025-08-18Chapman, Ross E Esq RENEWAL17Amy Elsner
1041Maria O MacleadJapan2025-08-16Chemel, James L Cpa QUALIFIED63Asiya Javayant
1042Aika K MaletUnited Kingdom2025-08-09Dorl, James J Esq NEGOTIATION70Asiya Javayant
1043Emily O CampainRussia2025-08-01Chemel, James L Cpa RENEWAL39Xuxue Feng
1044Arvin F ShinkoJapan2025-08-06Chemel, James L Cpa QUALIFIED17Amy Elsner
1045Cody L MarrierJapan2025-08-05Feltz Printing Service NEGOTIATION90Stephen Shaw
1046Antonio B GlickBrazil2025-08-14Feiner Bros PROPOSAL23Asiya Javayant
1047Smith V VocelkaItaly2025-08-16Morlong Associates PROPOSAL68Elwin Sharvill
1048Darci Z FlosiCanada2025-08-05Buckley Miller Wright NEGOTIATION63Bernardo Dominic
1049Ricardo V CaudyIndia2025-08-08Feiner Bros NEGOTIATION41Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Chavez I PaprockiIndiaAnna Fali NEW
Chavez C DarakjyGermanyAsiya Javayant QUALIFIED
Aruna D WaycottIndiaIvan Magalhaes PROPOSAL
Rodrigues S VocelkaCanadaOnyama Limba RENEWAL
Smith I BriddickCanadaOnyama Limba NEGOTIATION
Mayumi G NickaFranceIoni Bowcher PROPOSAL
Smith B BriddickIndiaAmy Elsner PROPOSAL
Aditya S WhobreyAustraliaElwin Sharvill RENEWAL
Maria D RutaFranceAnna Fali PROPOSAL
Antonio S RoysterItalyStephen Shaw RENEWAL
Wickens P SaylorsRussiaElwin Sharvill NEGOTIATION
Jones O SaylorsRussiaIoni Bowcher QUALIFIED
Jefferson R VocelkaArgentinaIvan Magalhaes NEGOTIATION
Rodrigues D WhobreyCanadaAmy Elsner NEGOTIATION
Rodrigues G AmigonIndiaAmy Elsner UNQUALIFIED
James O ShinkoJapanAnna Fali PROPOSAL
Francesco L FerenczArgentinaStephen Shaw UNQUALIFIED
Aika S KuskoRussiaAnna Fali RENEWAL
Jefferson X PaprockiItalyIoni Bowcher PROPOSAL
Mujtaba H RutaRussiaElwin Sharvill NEW
Jennifer O FlosiAustraliaBernardo Dominic NEGOTIATION
Costa M ChuiArgentinaElwin Sharvill RENEWAL
Greenwood Q MarrierGermanyAsiya Javayant PROPOSAL
Clifford W MacleadArgentinaIvan Magalhaes QUALIFIED
Jeanfrancois B WaycottGermanyAsiya Javayant NEGOTIATION
Adams S KolmetzUnited KingdomOnyama Limba UNQUALIFIED
Mayumi R FlosiJapanIvan Magalhaes QUALIFIED
Stacey J KuskoBrazilAnna Fali QUALIFIED
Wickens J RoysterRussiaStephen Shaw NEW
Francesco O ShinkoAustraliaElwin Sharvill QUALIFIED
Chavez J AlbaresSpainElwin Sharvill NEGOTIATION
Johnson Q MorascaSpainXuxue Feng NEGOTIATION
Darci R RoysterCanadaIoni Bowcher UNQUALIFIED
Francesco F PerinGermanyOnyama Limba PROPOSAL
Aika F SaylorsItalyAnna Fali UNQUALIFIED
Juan Y CaldareraArgentinaIvan Magalhaes PROPOSAL
Jeanfrancois V VenereCanadaStephen Shaw NEW
Juan P SlusarskiItalyAnna Fali NEW
Kadeem D StensethRussiaBernardo Dominic QUALIFIED
Maria E SlusarskiGermanyXuxue Feng UNQUALIFIED
Nicolas S BriddickUnited KingdomStephen Shaw NEGOTIATION
Chavez C NestleIndiaAnna Fali QUALIFIED
Kaitlin X MacleadIndiaIoni Bowcher PROPOSAL
Clifford J RutaAustraliaAmy Elsner NEW
Ricardo G FigeroaGermanyOnyama Limba RENEWAL
Rodrigues Y NestleCanadaAmy Elsner PROPOSAL
Ricardo S BowleyBrazilIoni Bowcher UNQUALIFIED
David N CaudyArgentinaIvan Magalhaes UNQUALIFIED
Jefferson Y MaletArgentinaXuxue Feng UNQUALIFIED
Aika X WieserSpainAnna Fali RENEWAL
Frozen Columns
Name
Ivar X Caudy
Tony H Tollner
Emily E Briddick
Octavia P Foller
Murillo B Butt
Ivar C Ostrosky
Stacey Q Waycott
Julie S Kolmetz
Francesco T Kolmetz
Nicolas A Schemmer
Nicolas K Caudy
Jeanfrancois W Venere
Izzy T Rim
Arvin U Perin
Francesco I Caudy
Arvin R Glick
Darci Q Malet
Deepesh C Gaucho
Clifford W Briddick
Chavez L Kusko
Ashley K Caldarera
Sinclair S Darakjy
Octavia W Marrier
Claire J Figeroa
Octavia L Royster
Greenwood T Kolmetz
Tony L Bowley
Izzy V Kusko
Salvatore E Malet
Antonio U Glick
Costa A Whobrey
Munro M Ostrosky
Jones H Venere
Izzy Q Whobrey
Stacey B Oldroyd
Murillo S Campain
Julie Y Chui
Silvio W Iturbide
Faith G Oldroyd
Wickens R Caldarera
Leon K Glick
Tony A Sergi
Smith M Figeroa
Mayumi L Venere
Clifford N Bolognia
Nicolas I Schemmer
Stacey V Wieser
Aika Z Darakjy
Rodrigues B Inouye
Francesco U Bowley
IdCountryDate
1000Germany2025-08-08
1001Spain2025-07-30
1002India2025-08-25
1003Australia2025-08-17
1004Argentina2025-08-05
1005Canada2025-08-22
1006Spain2025-08-11
1007Russia2025-08-02
1008Australia2025-08-23
1009United Kingdom2025-08-11
1010Canada2025-08-12
1011Germany2025-08-11
1012Germany2025-08-22
1013France2025-08-02
1014Japan2025-08-03
1015Argentina2025-08-26
1016Russia2025-08-10
1017Australia2025-08-27
1018Japan2025-08-18
1019Australia2025-08-08
1020United Kingdom2025-08-19
1021Germany2025-08-03
1022Japan2025-08-17
1023Russia2025-07-31
1024Russia2025-08-13
1025Japan2025-08-15
1026Japan2025-08-19
1027France2025-08-12
1028Argentina2025-08-16
1029Brazil2025-08-09
1030Argentina2025-08-03
1031Germany2025-08-20
1032Australia2025-08-01
1033Japan2025-08-23
1034Brazil2025-08-07
1035Canada2025-08-14
1036Germany2025-08-04
1037Argentina2025-08-11
1038France2025-08-08
1039Australia2025-08-20
1040India2025-08-07
1041Canada2025-08-01
1042Germany2025-08-20
1043Canada2025-08-12
1044Spain2025-08-05
1045France2025-08-11
1046India2025-08-19
1047Russia2025-08-10
1048Italy2025-08-22
1049Russia2025-08-13

On-Demand Data

NameIdCountryDate
Chavez I Schemmer1000Brazil2025-08-07
Isabel N Tollner1001Argentina2025-08-21
Maisha F Ostrosky1002France2025-08-10
Morrow S Perin1003Argentina2025-07-31
Murillo K Rulapaugh1004United Kingdom2025-08-28
Jennifer Q Gaucho1005United Kingdom2025-08-20
Tony M Maclead1006Russia2025-08-06
Julie Q Shinko1007Brazil2025-08-24
Octavia R Saylors1008India2025-08-01
Rodrigues L Whobrey1009France2025-07-31
Smith J Marrier1010United Kingdom2025-08-09
Murillo U Stenseth1011Spain2025-08-12
Maisha U Maclead1012Canada2025-07-30
Clifford J Dilliard1013Brazil2025-08-21
Kadeem B Kusko1014Japan2025-08-06
Ashley Y Flosi1015France2025-08-23
Misaki S Gaucho1016Australia2025-08-23
Alejandro R Dilliard1017Russia2025-08-21
Aruna C Shinko1018Spain2025-07-31
Wickens D Stockham1019Argentina2025-08-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika A MaletIndiaXuxue Feng UNQUALIFIED
Jennifer J RimCanadaOnyama Limba RENEWAL
Rodrigues W PoquetteArgentinaIvan Magalhaes PROPOSAL
Munro L MacleadUnited KingdomIvan Magalhaes NEGOTIATION
Misaki V CaudyArgentinaOnyama Limba NEW
Aditya R KuskoUnited KingdomAsiya Javayant QUALIFIED
Octavia S PaprockiItalyOnyama Limba NEW
Kadeem Z AmigonCanadaAmy Elsner UNQUALIFIED
Nicolas K AmigonAustraliaBernardo Dominic UNQUALIFIED
Ricardo Y MaletArgentinaXuxue Feng NEW
Maisha M InouyeArgentinaIvan Magalhaes NEW
Francesco G IturbideRussiaElwin Sharvill RENEWAL
Chavez Y StockhamUnited KingdomStephen Shaw PROPOSAL
Faith Q RulapaughJapanStephen Shaw NEW
Deepesh N SchemmerAustraliaOnyama Limba UNQUALIFIED
Murillo E RoysterGermanyElwin Sharvill NEGOTIATION
Antonio S ChuiJapanStephen Shaw NEW
Murillo K WieserFranceBernardo Dominic QUALIFIED
Rodrigues I RimRussiaBernardo Dominic RENEWAL
Mayumi F MarrierRussiaStephen Shaw NEW
Johnson Q AlbaresBrazilBernardo Dominic NEGOTIATION
Izzy J AlbaresIndiaIvan Magalhaes RENEWAL
Octavia Q GarufiItalyOnyama Limba UNQUALIFIED
Mayumi X MarrierUnited KingdomAsiya Javayant QUALIFIED
Emily P DoeItalyStephen Shaw PROPOSAL
Aruna O IturbideAustraliaAnna Fali PROPOSAL
Julie M StockhamArgentinaAmy Elsner UNQUALIFIED
Misaki Z SaylorsItalyAnna Fali NEW
Julie E FerenczAustraliaAnna Fali PROPOSAL
David F DilliardBrazilStephen Shaw UNQUALIFIED
Isabel T ShinkoCanadaBernardo Dominic PROPOSAL
Cody O FerenczCanadaAmy Elsner QUALIFIED
Cody T GarufiUnited KingdomIvan Magalhaes PROPOSAL
Jefferson V CampainArgentinaAnna Fali PROPOSAL
Munro K MacleadFranceAmy Elsner UNQUALIFIED
Mayumi V FerenczIndiaAsiya Javayant RENEWAL
Greenwood L IturbideRussiaIoni Bowcher UNQUALIFIED
Mayumi T RulapaughCanadaIoni Bowcher NEGOTIATION
Salvatore F MarrierIndiaAsiya Javayant NEGOTIATION
Arvin Y StockhamFranceElwin Sharvill NEW

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