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
Aditya Y PaprockiArgentinaBernardo Dominic NEGOTIATION
Ivar D PaprockiCanadaIvan Magalhaes UNQUALIFIED
Octavia A SergiCanadaIoni Bowcher UNQUALIFIED
Murillo M ShinkoFranceAnna Fali NEGOTIATION
Aika N GarufiFranceAmy Elsner QUALIFIED
Rodrigues J FerenczJapanIvan Magalhaes QUALIFIED
Jeanfrancois H MorascaAustraliaOnyama Limba RENEWAL
Mujtaba B NestleJapanIoni Bowcher UNQUALIFIED
Jeanfrancois W RutaAustraliaIoni Bowcher NEW
Adams J ChuiItalyXuxue Feng NEW
Maisha F FigeroaGermanyAmy Elsner PROPOSAL
Arvin R BriddickUnited KingdomAmy Elsner NEGOTIATION
Francesco R SergiIndiaStephen Shaw RENEWAL
Chavez D BologniaItalyBernardo Dominic PROPOSAL
Maisha S KuskoRussiaStephen Shaw RENEWAL
Deepesh D PoquetteIndiaIvan Magalhaes NEGOTIATION
Morrow K SergiBrazilIvan Magalhaes PROPOSAL
Julie O VenereGermanyIoni Bowcher NEW
Ivar M WaycottCanadaBernardo Dominic RENEWAL
Munro U SaylorsFranceStephen Shaw NEGOTIATION
Francesco C RoysterCanadaXuxue Feng NEGOTIATION
Sinclair Z VocelkaUnited KingdomBernardo Dominic UNQUALIFIED
Aika Z DilliardArgentinaOnyama Limba QUALIFIED
Aruna E AlbaresRussiaAnna Fali PROPOSAL
David X MacleadSpainBernardo Dominic PROPOSAL
Aditya O InouyeGermanyAmy Elsner NEGOTIATION
Johnson G SlusarskiUnited KingdomAsiya Javayant NEW
Jennifer K SchemmerCanadaIvan Magalhaes RENEWAL
Rodrigues H DarakjyBrazilIvan Magalhaes NEGOTIATION
Izzy Q MaletRussiaAsiya Javayant PROPOSAL
David M BologniaItalyAsiya Javayant UNQUALIFIED
Isabel Q MorascaArgentinaIoni Bowcher UNQUALIFIED
Johnson Z GarufiFranceXuxue Feng PROPOSAL
Mujtaba K KolmetzBrazilAsiya Javayant PROPOSAL
Jones C GauchoFranceAmy Elsner PROPOSAL
Ricardo N AmigonSpainXuxue Feng UNQUALIFIED
Ivar L AlbaresAustraliaAsiya Javayant NEW
Morrow R NickaUnited KingdomAsiya Javayant UNQUALIFIED
Clifford M RimIndiaXuxue Feng UNQUALIFIED
Maisha M InouyeArgentinaOnyama Limba UNQUALIFIED
Tony F WieserRussiaXuxue Feng NEGOTIATION
Mujtaba M GillianGermanyIvan Magalhaes RENEWAL
Kaitlin A WieserUnited KingdomAsiya Javayant NEW
Aika K RulapaughFranceXuxue Feng QUALIFIED
Maisha M InouyeAustraliaIoni Bowcher RENEWAL
Salvatore G CaudyCanadaElwin Sharvill NEW
Antonio B DoeGermanyElwin Sharvill NEW
David M SchemmerSpainAsiya Javayant PROPOSAL
Johnson J DilliardCanadaOnyama Limba UNQUALIFIED
Jefferson H NestleIndiaBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Murillo T CaudyArgentinaOnyama Limba NEGOTIATION
Salvatore Q GillianFranceAmy Elsner UNQUALIFIED
Jefferson V GarufiJapanIvan Magalhaes PROPOSAL
Ivar Y WieserFranceElwin Sharvill NEGOTIATION
Silvio H GarufiFranceAsiya Javayant UNQUALIFIED
Munro V SlusarskiIndiaIvan Magalhaes NEW
James M InouyeUnited KingdomStephen Shaw PROPOSAL
Munro H NestleCanadaOnyama Limba NEGOTIATION
Rodrigues C ButtJapanElwin Sharvill PROPOSAL
Sinclair M FlosiFranceStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James L GauchoGermany2026-10-03Benton, John B Jr QUALIFIED14Asiya Javayant
1001Murillo G RimBrazil2026-09-12Morlong Associates PROPOSAL73Amy Elsner
1002Murillo M RimJapan2026-09-15King, Christopher A Esq QUALIFIED95Amy Elsner
1003Jeanfrancois G MaletItaly2026-09-21Morlong Associates PROPOSAL54Ioni Bowcher
1004Arvin O SergiFrance2026-09-09Truhlar And Truhlar Attys RENEWAL41Ioni Bowcher
1005Ashley B FollerIndia2026-09-13Truhlar And Truhlar Attys NEW19Anna Fali
1006Isabel A VocelkaGermany2026-09-24Morlong Associates UNQUALIFIED53Ivan Magalhaes
1007Maisha B AmigonArgentina2026-09-14Benton, John B Jr RENEWAL75Anna Fali
1008Munro L SaylorsItaly2026-09-15Chanay, Jeffrey A Esq RENEWAL57Ioni Bowcher
1009Izzy T PaprockiFrance2026-09-28Feltz Printing Service PROPOSAL16Bernardo Dominic
1010James Q StensethGermany2026-09-22King, Christopher A Esq UNQUALIFIED4Xuxue Feng
1011Costa Z MacleadRussia2026-09-18Truhlar And Truhlar Attys NEGOTIATION87Bernardo Dominic
1012Costa T SergiUnited Kingdom2026-10-01Chapman, Ross E Esq RENEWAL73Ioni Bowcher
1013Izzy U TollnerJapan2026-09-28Commercial Press RENEWAL73Asiya Javayant
1014Antonio N WieserArgentina2026-09-09Rangoni Of Florence PROPOSAL76Asiya Javayant
1015Leon M MaletBrazil2026-09-28Truhlar And Truhlar Attys NEGOTIATION15Xuxue Feng
1016Deepesh H BriddickIndia2026-09-29Benton, John B Jr RENEWAL32Ioni Bowcher
1017Sinclair O SaylorsBrazil2026-10-02Buckley Miller Wright NEW99Bernardo Dominic
1018Ashley H NickaCanada2026-09-05Chapman, Ross E Esq UNQUALIFIED36Asiya Javayant
1019Alejandro E CaudyRussia2026-09-15Benton, John B Jr RENEWAL5Ioni Bowcher
1020Jefferson U GauchoJapan2026-09-06Commercial Press QUALIFIED98Amy Elsner
1021Jefferson W FlosiUnited Kingdom2026-09-06Commercial Press NEW34Onyama Limba
1022Jennifer O CaldareraFrance2026-09-30Buckley Miller Wright PROPOSAL54Asiya Javayant
1023Deepesh R MaletJapan2026-09-08Commercial Press NEGOTIATION15Asiya Javayant
1024Darci B CampainRussia2026-10-02Chapman, Ross E Esq RENEWAL57Asiya Javayant
1025Johnson R NickaAustralia2026-09-25Rousseaux, Michael Esq NEGOTIATION55Amy Elsner
1026Kaitlin L MorascaGermany2026-10-03Chemel, James L Cpa RENEWAL9Amy Elsner
1027Ashley I AlbaresUnited Kingdom2026-09-14Rangoni Of Florence QUALIFIED59Onyama Limba
1028Maria G FollerCanada2026-09-23Printing Dimensions UNQUALIFIED59Ivan Magalhaes
1029Johnson P RutaArgentina2026-09-19Commercial Press QUALIFIED90Bernardo Dominic
1030Mayumi C CaudyUnited Kingdom2026-10-01Chemel, James L Cpa UNQUALIFIED86Ioni Bowcher
1031Chavez E VocelkaUnited Kingdom2026-09-12Printing Dimensions NEGOTIATION41Amy Elsner
1032Mujtaba C WaycottCanada2026-09-18Dorl, James J Esq UNQUALIFIED66Xuxue Feng
1033Smith V ButtRussia2026-09-12Buckley Miller Wright UNQUALIFIED59Anna Fali
1034Ricardo D AmigonBrazil2026-09-13Morlong Associates UNQUALIFIED15Amy Elsner
1035Izzy H SaylorsUnited Kingdom2026-09-21Chanay, Jeffrey A Esq RENEWAL46Amy Elsner
1036Deepesh P MarrierRussia2026-09-17Printing Dimensions NEW31Stephen Shaw
1037Costa K MorascaSpain2026-09-08Feiner Bros NEGOTIATION58Xuxue Feng
1038Antonio B NickaAustralia2026-09-20Chapman, Ross E Esq PROPOSAL37Stephen Shaw
1039Ricardo J RimUnited Kingdom2026-09-27Chanay, Jeffrey A Esq NEW26Amy Elsner
1040Jeanfrancois A StockhamCanada2026-09-29Chanay, Jeffrey A Esq RENEWAL57Amy Elsner
1041Mayumi W OstroskyUnited Kingdom2026-10-01Commercial Press NEGOTIATION17Anna Fali
1042David Z DilliardAustralia2026-10-01Buckley Miller Wright PROPOSAL61Anna Fali
1043Nicolas F TollnerItaly2026-09-28Commercial Press NEGOTIATION84Bernardo Dominic
1044Alejandro O NestleBrazil2026-09-15Rousseaux, Michael Esq RENEWAL74Bernardo Dominic
1045Silvio U MorascaAustralia2026-09-30Feiner Bros NEW15Ivan Magalhaes
1046Jones R SergiCanada2026-09-20Rangoni Of Florence PROPOSAL58Xuxue Feng
1047Adams U KolmetzAustralia2026-09-26King, Christopher A Esq RENEWAL56Amy Elsner
1048Salvatore O MarrierAustralia2026-09-08Morlong Associates NEGOTIATION34Anna Fali
1049Ricardo B TollnerBrazil2026-09-30Buckley Miller Wright RENEWAL68Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Emily M VocelkaArgentinaIvan Magalhaes NEGOTIATION
Deepesh J AmigonIndiaStephen Shaw NEGOTIATION
Leja X OstroskyGermanyAmy Elsner QUALIFIED
Leja P SchemmerAustraliaBernardo Dominic QUALIFIED
Kaitlin M WhobreyBrazilStephen Shaw RENEWAL
Murillo I InouyeItalyAnna Fali NEW
Ricardo I CaldareraFranceIvan Magalhaes PROPOSAL
Alejandro I RulapaughItalyIoni Bowcher RENEWAL
Maria I WaycottUnited KingdomAsiya Javayant PROPOSAL
Ashley A IturbideFranceAmy Elsner NEGOTIATION
Faith D MaletItalyAmy Elsner NEW
Antonio N RimFranceOnyama Limba RENEWAL
Smith S ChuiArgentinaAmy Elsner NEW
Darci H KuskoItalyBernardo Dominic NEW
Cody V FigeroaItalyAnna Fali PROPOSAL
Nicolas O MarrierJapanStephen Shaw NEGOTIATION
Leja E StensethJapanStephen Shaw PROPOSAL
Aruna R StensethJapanElwin Sharvill QUALIFIED
Claire L WhobreyRussiaIvan Magalhaes NEW
Sinclair I BologniaRussiaAnna Fali QUALIFIED
James Z RulapaughCanadaAnna Fali NEW
Ricardo O GillianIndiaOnyama Limba PROPOSAL
Nicolas E WaycottJapanAsiya Javayant UNQUALIFIED
Adams N DarakjyRussiaIvan Magalhaes NEGOTIATION
Rodrigues J MaletRussiaAmy Elsner QUALIFIED
Julie M KuskoRussiaAmy Elsner PROPOSAL
Julie O NestleSpainBernardo Dominic UNQUALIFIED
Jennifer B FigeroaRussiaStephen Shaw NEGOTIATION
Greenwood Z BologniaSpainElwin Sharvill PROPOSAL
Aika W VocelkaFranceIoni Bowcher PROPOSAL
Morrow O ChuiGermanyAnna Fali NEW
Cody P MaletBrazilIvan Magalhaes NEGOTIATION
Jennifer O FlosiUnited KingdomIvan Magalhaes QUALIFIED
Aruna X RutaFranceAsiya Javayant RENEWAL
Greenwood H MorascaBrazilIvan Magalhaes NEW
Darci I ShinkoItalyIoni Bowcher QUALIFIED
Jones R SchemmerSpainElwin Sharvill PROPOSAL
Tony D BriddickCanadaOnyama Limba RENEWAL
Jones N PoquetteIndiaStephen Shaw UNQUALIFIED
Ashley D RimBrazilBernardo Dominic NEW
Julie Z OldroydItalyAmy Elsner PROPOSAL
Jones Y RulapaughBrazilStephen Shaw NEGOTIATION
Maria T AmigonSpainXuxue Feng NEGOTIATION
Rodrigues C ShinkoCanadaIoni Bowcher UNQUALIFIED
Julie U StensethAustraliaStephen Shaw RENEWAL
Aika V KolmetzRussiaIoni Bowcher NEW
Octavia B KuskoIndiaIvan Magalhaes NEW
Juan K KolmetzUnited KingdomAnna Fali RENEWAL
Aruna I DarakjyFranceOnyama Limba RENEWAL
Kaitlin A MorascaItalyXuxue Feng QUALIFIED
Frozen Columns
Name
Francesco J Chui
Clifford I Kolmetz
Faith D Perin
Sinclair B Glick
Tony A Glick
Francesco O Tollner
Maria Z Gaucho
Izzy D Paprocki
David B Schemmer
Cody O Tollner
Aika F Chui
Nicolas S Nestle
Stacey R Bolognia
Claire W Poquette
Aika F Perin
Isabel B Gaucho
Deepesh H Caldarera
James F Perin
Munro S Venere
Jennifer R Malet
Leon T Caldarera
Aruna H Ruta
Johnson U Butt
Claire C Saylors
Greenwood B Ruta
Aditya N Ruta
Rodrigues K Saylors
Jennifer B Bolognia
Ricardo V Nestle
Isabel V Malet
Aditya D Kusko
Morrow Q Campain
Aditya U Bolognia
Ivar Z Oldroyd
Ricardo N Stenseth
Chavez U Dilliard
Kaitlin E Morasca
Jefferson K Darakjy
Juan I Doe
Alejandro M Iturbide
Izzy B Ferencz
David W Amigon
Aika C Malet
Smith G Garufi
Jennifer X Royster
Jefferson O Ruta
Wickens H Glick
Chavez A Bowley
Isabel P Venere
Jefferson G Sergi
IdCountryDate
1000France2026-09-24
1001India2026-09-04
1002Brazil2026-09-21
1003Italy2026-09-20
1004Australia2026-09-24
1005Canada2026-09-24
1006India2026-10-02
1007Germany2026-09-28
1008Brazil2026-09-14
1009Canada2026-09-20
1010Russia2026-09-10
1011Japan2026-09-21
1012United Kingdom2026-09-22
1013France2026-10-01
1014Germany2026-09-26
1015Japan2026-09-23
1016Argentina2026-09-14
1017Australia2026-09-15
1018Canada2026-09-13
1019Italy2026-09-28
1020Germany2026-09-05
1021Japan2026-09-09
1022Italy2026-09-13
1023Italy2026-09-20
1024Russia2026-09-28
1025Brazil2026-10-03
1026Spain2026-09-13
1027United Kingdom2026-09-14
1028India2026-09-27
1029Australia2026-09-14
1030Australia2026-09-12
1031Australia2026-10-03
1032Spain2026-10-02
1033United Kingdom2026-09-14
1034Italy2026-10-02
1035Italy2026-09-08
1036Italy2026-09-24
1037Germany2026-09-23
1038Australia2026-09-11
1039India2026-09-15
1040Japan2026-09-24
1041Italy2026-09-07
1042Japan2026-09-19
1043Brazil2026-09-13
1044Argentina2026-09-21
1045Spain2026-09-26
1046Spain2026-09-07
1047Canada2026-09-29
1048Germany2026-09-22
1049Spain2026-10-01

On-Demand Data

NameIdCountryDate
Cody N Glick1000Brazil2026-09-09
James K Rim1001Spain2026-09-26
Tony J Vocelka1002Argentina2026-09-09
Izzy Y Slusarski1003Spain2026-09-22
Greenwood R Campain1004Brazil2026-09-28
Maisha K Caldarera1005Australia2026-09-12
Leon H Inouye1006Australia2026-09-11
Adams Z Nicka1007Argentina2026-09-20
Morrow S Caudy1008Japan2026-09-25
Julie E Kusko1009Italy2026-09-26
Deepesh A Schemmer1010India2026-09-16
Ricardo I Dilliard1011Spain2026-09-08
Emily C Doe1012Germany2026-09-30
Maisha V Darakjy1013Spain2026-09-04
Ashley F Sergi1014India2026-09-19
Julie Y Perin1015Germany2026-09-22
Adams N Ferencz1016Japan2026-09-14
Munro K Albares1017Japan2026-09-20
Murillo C Saylors1018Japan2026-09-06
Julie D Gaucho1019United Kingdom2026-09-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer W DoeIndiaAnna Fali PROPOSAL
Kadeem A GarufiGermanyBernardo Dominic NEGOTIATION
Kaitlin M GillianUnited KingdomAmy Elsner NEGOTIATION
Alejandro U VocelkaAustraliaElwin Sharvill NEGOTIATION
Antonio V FollerArgentinaStephen Shaw UNQUALIFIED
Francesco Z GauchoAustraliaOnyama Limba RENEWAL
Nicolas B DarakjyGermanyBernardo Dominic NEGOTIATION
Smith E PaprockiIndiaIoni Bowcher NEGOTIATION
Darci I RoysterIndiaBernardo Dominic PROPOSAL
Tony C FollerGermanyStephen Shaw UNQUALIFIED
James L ButtAustraliaIvan Magalhaes UNQUALIFIED
Rodrigues M RulapaughIndiaAnna Fali RENEWAL
Claire Q FlosiAustraliaStephen Shaw NEW
Faith X PaprockiCanadaAnna Fali RENEWAL
Greenwood Z FlosiUnited KingdomBernardo Dominic NEGOTIATION
Maria L WaycottArgentinaAmy Elsner PROPOSAL
Maria N PerinGermanyIoni Bowcher QUALIFIED
Morrow W NestleAustraliaAmy Elsner RENEWAL
Ricardo Y MacleadAustraliaStephen Shaw NEGOTIATION
Maisha E RulapaughAustraliaXuxue Feng UNQUALIFIED
Rodrigues I AmigonAustraliaElwin Sharvill NEW
Munro Z NickaArgentinaAmy Elsner PROPOSAL
Stacey L ButtBrazilAmy Elsner UNQUALIFIED
Ivar O BologniaIndiaAsiya Javayant NEGOTIATION
Leon J PaprockiCanadaIoni Bowcher NEGOTIATION
Jeanfrancois T GauchoIndiaIvan Magalhaes UNQUALIFIED
Deepesh F AlbaresIndiaAmy Elsner NEW
Izzy C VocelkaAustraliaAmy Elsner UNQUALIFIED
Kaitlin O FigeroaBrazilAnna Fali UNQUALIFIED
Leon I PaprockiFranceAsiya Javayant NEGOTIATION
Costa N RimJapanIvan Magalhaes UNQUALIFIED
Emily S FollerFranceIoni Bowcher RENEWAL
Maisha J FerenczCanadaAsiya Javayant PROPOSAL
Emily P FigeroaSpainAnna Fali PROPOSAL
Kadeem W PerinJapanBernardo Dominic RENEWAL
Cody G FlosiArgentinaAnna Fali UNQUALIFIED
Rodrigues Y RutaRussiaAnna Fali UNQUALIFIED
Mujtaba R SlusarskiCanadaAsiya Javayant RENEWAL
Izzy B BowleyAustraliaBernardo Dominic PROPOSAL
Stacey Z TollnerBrazilAmy Elsner 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>