November Deals: Limited Coupons Available! 🎁 Claim Your Coupon

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
Leon L FerenczCanadaAmy Elsner NEW
Cody O PerinCanadaElwin Sharvill NEGOTIATION
Aditya D RoysterSpainAsiya Javayant NEW
Juan M BologniaFranceXuxue Feng UNQUALIFIED
Kadeem Q GauchoArgentinaAnna Fali RENEWAL
Aika O GauchoItalyIvan Magalhaes UNQUALIFIED
Stacey A KolmetzJapanIoni Bowcher PROPOSAL
Antonio J FerenczUnited KingdomOnyama Limba NEW
Jefferson L SchemmerJapanOnyama Limba UNQUALIFIED
Isabel Q CaldareraCanadaElwin Sharvill UNQUALIFIED
Stacey D CaudyUnited KingdomXuxue Feng QUALIFIED
Julie I KolmetzIndiaOnyama Limba RENEWAL
David H SaylorsItalyAnna Fali RENEWAL
Ricardo N MaletArgentinaAsiya Javayant RENEWAL
Johnson H InouyeArgentinaElwin Sharvill NEGOTIATION
Francesco W NestleSpainAmy Elsner NEGOTIATION
Kadeem L MaletAustraliaAmy Elsner UNQUALIFIED
Arvin I PoquetteFranceAnna Fali NEGOTIATION
Jeanfrancois N SergiJapanElwin Sharvill RENEWAL
Maria I VenereCanadaBernardo Dominic NEGOTIATION
Isabel P GlickSpainAsiya Javayant PROPOSAL
Wickens V OstroskyBrazilAsiya Javayant NEW
Kadeem N GauchoCanadaStephen Shaw PROPOSAL
Juan U BologniaIndiaStephen Shaw QUALIFIED
Aika H GarufiSpainElwin Sharvill RENEWAL
Cody C BriddickGermanyAmy Elsner NEGOTIATION
Aruna C RutaUnited KingdomStephen Shaw NEW
Maisha R CaldareraRussiaStephen Shaw NEGOTIATION
Jefferson C BologniaFranceAnna Fali QUALIFIED
Sinclair R DarakjyItalyBernardo Dominic QUALIFIED
Cody S GarufiRussiaBernardo Dominic PROPOSAL
Aruna G InouyeIndiaElwin Sharvill RENEWAL
Murillo B MaletFranceXuxue Feng RENEWAL
Adams O CaudyFranceIoni Bowcher QUALIFIED
Costa U PerinItalyAsiya Javayant QUALIFIED
Morrow H InouyeGermanyAnna Fali PROPOSAL
Alejandro A FerenczItalyElwin Sharvill QUALIFIED
Kadeem Y CampainBrazilElwin Sharvill UNQUALIFIED
Antonio R DoeItalyXuxue Feng UNQUALIFIED
Misaki V MaletIndiaElwin Sharvill PROPOSAL
Munro O SaylorsRussiaOnyama Limba UNQUALIFIED
Deepesh L ShinkoIndiaBernardo Dominic NEW
James Y MarrierArgentinaIvan Magalhaes UNQUALIFIED
Antonio C KolmetzGermanyOnyama Limba UNQUALIFIED
Costa E StockhamIndiaAmy Elsner NEW
Smith I StensethGermanyAsiya Javayant RENEWAL
Murillo W GarufiSpainOnyama Limba QUALIFIED
Sinclair J VenereSpainIvan Magalhaes RENEWAL
Maisha W OstroskyItalyAsiya Javayant NEGOTIATION
Mujtaba C GauchoBrazilIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Juan K RimUnited KingdomOnyama Limba QUALIFIED
Greenwood Y MorascaFranceIoni Bowcher NEGOTIATION
Rodrigues D FollerArgentinaIvan Magalhaes PROPOSAL
Maria X RimBrazilBernardo Dominic UNQUALIFIED
Tony W InouyeArgentinaBernardo Dominic NEGOTIATION
Munro F ButtGermanyElwin Sharvill NEGOTIATION
Smith I MaletUnited KingdomAmy Elsner NEGOTIATION
Jennifer Q CaldareraCanadaAmy Elsner QUALIFIED
Juan I FigeroaGermanyIvan Magalhaes NEGOTIATION
Adams T DilliardCanadaBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David Q RimJapan2026-09-15Rousseaux, Michael Esq RENEWAL6Xuxue Feng
1001Jeanfrancois D ShinkoBrazil2026-10-06Truhlar And Truhlar Attys PROPOSAL81Xuxue Feng
1002Mayumi L MorascaAustralia2026-10-01Rousseaux, Michael Esq RENEWAL55Elwin Sharvill
1003Darci Z CaldareraArgentina2026-09-18Chanay, Jeffrey A Esq UNQUALIFIED17Ivan Magalhaes
1004Mujtaba G SaylorsJapan2026-09-11Feiner Bros PROPOSAL66Ioni Bowcher
1005Cody Y BriddickCanada2026-10-02King, Christopher A Esq PROPOSAL14Ivan Magalhaes
1006Octavia L MarrierSpain2026-09-26King, Christopher A Esq UNQUALIFIED12Asiya Javayant
1007James P GauchoUnited Kingdom2026-09-23King, Christopher A Esq RENEWAL71Elwin Sharvill
1008Sinclair Y VocelkaSpain2026-09-30Printing Dimensions UNQUALIFIED96Asiya Javayant
1009Kaitlin I CaudyFrance2026-10-01Dorl, James J Esq PROPOSAL17Ivan Magalhaes
1010Faith N FollerCanada2026-10-06Chapman, Ross E Esq UNQUALIFIED38Amy Elsner
1011Kadeem Z MaletRussia2026-09-12Chapman, Ross E Esq RENEWAL3Onyama Limba
1012Nicolas W PoquetteJapan2026-09-26Truhlar And Truhlar Attys QUALIFIED9Elwin Sharvill
1013Jones M RulapaughAustralia2026-10-01Buckley Miller Wright NEGOTIATION2Anna Fali
1014Mayumi A SlusarskiRussia2026-09-15Truhlar And Truhlar Attys NEW89Amy Elsner
1015Rodrigues I RulapaughItaly2026-10-08Rousseaux, Michael Esq NEW85Xuxue Feng
1016Mujtaba R StockhamAustralia2026-09-14Morlong Associates QUALIFIED18Onyama Limba
1017Isabel K DarakjyBrazil2026-09-15Chemel, James L Cpa UNQUALIFIED56Ioni Bowcher
1018Jones R RoysterItaly2026-09-16Dorl, James J Esq NEW62Amy Elsner
1019Silvio B PerinBrazil2026-09-15Feltz Printing Service UNQUALIFIED13Stephen Shaw
1020Costa I OldroydAustralia2026-09-14King, Christopher A Esq NEW19Anna Fali
1021Jones W SaylorsGermany2026-09-11King, Christopher A Esq QUALIFIED16Xuxue Feng
1022Juan K CaudyAustralia2026-10-03Chemel, James L Cpa QUALIFIED19Xuxue Feng
1023Wickens Y MaletAustralia2026-10-04Commercial Press NEGOTIATION86Ioni Bowcher
1024Rodrigues L AmigonItaly2026-09-20King, Christopher A Esq PROPOSAL14Amy Elsner
1025Leon M KolmetzJapan2026-09-30King, Christopher A Esq NEGOTIATION87Stephen Shaw
1026Mujtaba Z NestleJapan2026-09-20Chapman, Ross E Esq NEW43Elwin Sharvill
1027Misaki L StensethGermany2026-09-26King, Christopher A Esq UNQUALIFIED53Ioni Bowcher
1028Ivar J BologniaRussia2026-09-18Feltz Printing Service QUALIFIED34Bernardo Dominic
1029Isabel N GarufiIndia2026-09-27Benton, John B Jr PROPOSAL85Amy Elsner
1030Darci F SchemmerRussia2026-09-10Feltz Printing Service RENEWAL57Elwin Sharvill
1031Deepesh A AlbaresFrance2026-09-24Benton, John B Jr RENEWAL65Stephen Shaw
1032Octavia T SergiCanada2026-09-20Commercial Press PROPOSAL68Onyama Limba
1033Mujtaba O NickaUnited Kingdom2026-09-14Rangoni Of Florence UNQUALIFIED10Elwin Sharvill
1034Faith A KuskoArgentina2026-09-11Morlong Associates PROPOSAL33Bernardo Dominic
1035David C MacleadUnited Kingdom2026-09-29Truhlar And Truhlar Attys QUALIFIED48Elwin Sharvill
1036Chavez I FerenczItaly2026-10-02Printing Dimensions QUALIFIED18Amy Elsner
1037Isabel X StockhamRussia2026-09-13Truhlar And Truhlar Attys RENEWAL66Elwin Sharvill
1038Darci R FerenczBrazil2026-10-09Chanay, Jeffrey A Esq QUALIFIED14Xuxue Feng
1039Aditya G BologniaFrance2026-09-22Dorl, James J Esq UNQUALIFIED61Stephen Shaw
1040Julie Z MaletCanada2026-09-22Commercial Press UNQUALIFIED60Ivan Magalhaes
1041Izzy O RutaAustralia2026-09-10Commercial Press NEW19Ioni Bowcher
1042Maria A OldroydItaly2026-09-13Buckley Miller Wright QUALIFIED7Xuxue Feng
1043Kadeem Q SaylorsArgentina2026-09-20Dorl, James J Esq QUALIFIED53Ivan Magalhaes
1044Leja B MacleadFrance2026-09-22Rangoni Of Florence NEGOTIATION61Elwin Sharvill
1045Julie A MaletIndia2026-10-08Chapman, Ross E Esq QUALIFIED45Ivan Magalhaes
1046Kaitlin O RoysterCanada2026-09-18Feiner Bros QUALIFIED47Elwin Sharvill
1047Jefferson P CaudyArgentina2026-10-09Rousseaux, Michael Esq QUALIFIED71Ioni Bowcher
1048Emily L RutaJapan2026-09-20Commercial Press PROPOSAL62Ivan Magalhaes
1049Morrow B WaycottGermany2026-10-02Feltz Printing Service QUALIFIED32Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Ricardo U CaldareraArgentinaStephen Shaw PROPOSAL
Ashley Z MaletBrazilElwin Sharvill UNQUALIFIED
Faith L FlosiFranceBernardo Dominic NEW
Darci B VenereFranceAnna Fali PROPOSAL
Izzy N GillianAustraliaIvan Magalhaes RENEWAL
Jennifer T VocelkaJapanXuxue Feng NEW
Maisha E MorascaBrazilAmy Elsner PROPOSAL
Nicolas H IturbideBrazilAmy Elsner NEW
Silvio O GarufiCanadaAnna Fali NEGOTIATION
Maisha A RulapaughUnited KingdomStephen Shaw QUALIFIED
Chavez S SchemmerCanadaBernardo Dominic UNQUALIFIED
Emily L InouyeBrazilBernardo Dominic NEW
Julie D DoeBrazilXuxue Feng PROPOSAL
Isabel R TollnerArgentinaXuxue Feng RENEWAL
Mujtaba F PerinAustraliaElwin Sharvill PROPOSAL
Ivar H RutaArgentinaElwin Sharvill UNQUALIFIED
Mayumi F RulapaughUnited KingdomOnyama Limba NEW
Claire J GillianAustraliaStephen Shaw NEW
David I ShinkoBrazilBernardo Dominic PROPOSAL
Mujtaba K IturbideItalyStephen Shaw QUALIFIED
Mayumi A BowleyGermanyStephen Shaw RENEWAL
Ashley O DilliardBrazilAsiya Javayant QUALIFIED
Costa U ShinkoBrazilIvan Magalhaes NEW
Costa O GauchoCanadaAmy Elsner RENEWAL
Johnson H DoeFranceIoni Bowcher UNQUALIFIED
David Y BologniaItalyElwin Sharvill NEGOTIATION
Jones M MacleadFranceAnna Fali NEGOTIATION
Nicolas C StensethBrazilXuxue Feng QUALIFIED
Jennifer A AlbaresSpainElwin Sharvill RENEWAL
Leon D ChuiIndiaElwin Sharvill UNQUALIFIED
Jennifer H VenereFranceAmy Elsner RENEWAL
Jefferson F BriddickJapanElwin Sharvill RENEWAL
Alejandro B RimUnited KingdomXuxue Feng NEGOTIATION
Johnson Z AmigonCanadaAmy Elsner RENEWAL
Jefferson T MarrierArgentinaAsiya Javayant RENEWAL
Mujtaba Q AmigonFranceOnyama Limba RENEWAL
Antonio L RimFranceAsiya Javayant PROPOSAL
Rodrigues O CaldareraUnited KingdomBernardo Dominic QUALIFIED
Smith G PaprockiFranceOnyama Limba NEW
Darci N RutaAustraliaStephen Shaw RENEWAL
Ricardo X PoquetteArgentinaXuxue Feng NEW
Ricardo D SchemmerUnited KingdomOnyama Limba NEGOTIATION
Claire D TollnerGermanyIoni Bowcher UNQUALIFIED
Costa A TollnerBrazilStephen Shaw NEGOTIATION
Jefferson U FerenczFranceIoni Bowcher PROPOSAL
Maisha G MarrierFranceXuxue Feng UNQUALIFIED
Maisha C BowleySpainAnna Fali PROPOSAL
Wickens X PerinItalyOnyama Limba UNQUALIFIED
Johnson O GillianArgentinaAmy Elsner NEW
Johnson Q GauchoCanadaIoni Bowcher NEW
Frozen Columns
Name
Izzy R Poquette
Izzy W Albares
Cody I Maclead
Tony E Whobrey
Sinclair C Royster
Deepesh R Briddick
Rodrigues K Whobrey
Ashley W Royster
Faith N Wieser
Ivar Z Inouye
Murillo K Sergi
Stacey F Schemmer
Misaki F Vocelka
Ricardo K Waycott
Leon D Waycott
Chavez V Schemmer
Aruna T Paprocki
Faith R Albares
Salvatore M Stenseth
Aruna G Chui
Smith E Bolognia
Salvatore L Campain
Aika S Doe
Aditya M Caldarera
Rodrigues Y Ferencz
Aika N Inouye
Emily S Nicka
David N Schemmer
Murillo L Whobrey
Morrow W Royster
Jefferson C Saylors
Darci O Caudy
Salvatore N Shinko
Kadeem W Briddick
Ivar J Figeroa
Mayumi K Schemmer
Claire H Ruta
Mujtaba T Chui
Munro D Briddick
Maisha K Gillian
Rodrigues S Butt
Mayumi I Perin
Murillo C Malet
Munro B Schemmer
Cody Y Poquette
Faith A Ostrosky
Johnson N Malet
Munro O Ruta
Isabel J Morasca
Octavia J Wieser
IdCountryDate
1000Germany2026-09-18
1001Japan2026-09-23
1002Brazil2026-09-11
1003Russia2026-09-14
1004France2026-09-23
1005India2026-09-16
1006Russia2026-09-29
1007India2026-09-11
1008India2026-10-07
1009France2026-09-29
1010France2026-09-27
1011Russia2026-10-03
1012Spain2026-09-27
1013United Kingdom2026-10-03
1014Germany2026-09-22
1015Italy2026-09-15
1016United Kingdom2026-10-04
1017Brazil2026-10-04
1018Russia2026-09-17
1019Germany2026-09-18
1020Brazil2026-10-08
1021Spain2026-09-10
1022Canada2026-10-02
1023Japan2026-10-05
1024Italy2026-10-02
1025Spain2026-09-12
1026Canada2026-09-14
1027Japan2026-10-05
1028Japan2026-09-15
1029Russia2026-10-06
1030Italy2026-10-03
1031Japan2026-10-04
1032Russia2026-09-12
1033Brazil2026-09-24
1034France2026-09-10
1035Italy2026-09-13
1036Brazil2026-09-26
1037Spain2026-09-23
1038Spain2026-09-22
1039Argentina2026-09-29
1040Germany2026-09-26
1041Italy2026-09-26
1042Brazil2026-09-28
1043Brazil2026-09-18
1044Japan2026-09-10
1045Germany2026-09-13
1046Japan2026-09-30
1047Italy2026-09-27
1048Italy2026-10-04
1049Germany2026-09-14

On-Demand Data

NameIdCountryDate
Ivar Q Royster1000Argentina2026-09-30
Leon Q Butt1001Russia2026-09-30
James N Amigon1002Canada2026-10-04
Rodrigues Q Briddick1003Italy2026-10-04
Wickens I Darakjy1004Spain2026-09-20
Jones W Venere1005Spain2026-09-24
Rodrigues J Poquette1006Brazil2026-09-10
Sinclair C Amigon1007France2026-09-10
Kadeem U Nestle1008Japan2026-09-19
Murillo T Chui1009India2026-10-06
Aruna V Albares1010India2026-10-01
Francesco I Glick1011Brazil2026-10-03
Munro G Morasca1012Italy2026-09-23
Rodrigues Q Garufi1013Argentina2026-09-12
Clifford F Albares1014France2026-09-30
Faith K Briddick1015Argentina2026-09-23
Sinclair V Paprocki1016Japan2026-09-24
David E Glick1017Spain2026-09-12
Izzy Y Wieser1018Australia2026-10-02
Isabel S Darakjy1019Canada2026-10-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith L OstroskyArgentinaIoni Bowcher NEW
Tony U MaletItalyOnyama Limba QUALIFIED
James G NestleRussiaIvan Magalhaes UNQUALIFIED
Clifford X BologniaItalyXuxue Feng PROPOSAL
Deepesh I ChuiArgentinaXuxue Feng QUALIFIED
Kadeem C WhobreyFranceAsiya Javayant NEGOTIATION
Ivar S AlbaresFranceOnyama Limba PROPOSAL
Smith Z KuskoJapanAmy Elsner PROPOSAL
Antonio R CaudyJapanOnyama Limba QUALIFIED
Clifford D GlickSpainElwin Sharvill NEGOTIATION
Silvio N SlusarskiIndiaIvan Magalhaes NEGOTIATION
Claire I GillianGermanyElwin Sharvill PROPOSAL
Silvio D TollnerJapanAmy Elsner PROPOSAL
Aruna Z NickaSpainAnna Fali RENEWAL
Ivar Y GarufiAustraliaIvan Magalhaes UNQUALIFIED
Emily E DilliardIndiaStephen Shaw QUALIFIED
Leja J DarakjyJapanIvan Magalhaes UNQUALIFIED
Ricardo K OldroydBrazilAmy Elsner NEGOTIATION
Nicolas N PoquetteAustraliaIvan Magalhaes NEW
Aditya L RoysterSpainStephen Shaw RENEWAL
Arvin S PaprockiCanadaAnna Fali QUALIFIED
Ricardo G BriddickCanadaStephen Shaw RENEWAL
Sinclair T FollerAustraliaIvan Magalhaes NEW
Jones K CaldareraCanadaStephen Shaw NEW
Ricardo X GlickRussiaElwin Sharvill NEGOTIATION
Darci K PerinBrazilOnyama Limba NEW
Wickens O BologniaCanadaAmy Elsner NEW
Isabel R SlusarskiJapanAsiya Javayant PROPOSAL
Deepesh E AlbaresSpainElwin Sharvill NEGOTIATION
Faith O OldroydItalyStephen Shaw NEW
Misaki L NestleRussiaBernardo Dominic RENEWAL
Greenwood H CaldareraArgentinaElwin Sharvill QUALIFIED
Leja K FerenczUnited KingdomElwin Sharvill NEGOTIATION
Antonio S CaldareraAustraliaAsiya Javayant RENEWAL
Izzy O DoeUnited KingdomStephen Shaw NEW
Aditya B PaprockiJapanStephen Shaw NEGOTIATION
Faith D ButtSpainAnna Fali NEGOTIATION
Smith Y GillianIndiaOnyama Limba UNQUALIFIED
Rodrigues D ButtGermanyOnyama Limba NEW
Claire T AmigonAustraliaAsiya Javayant 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" 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>