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
Faith P MarrierGermanyIvan Magalhaes PROPOSAL
Chavez F GlickArgentinaOnyama Limba NEW
Jennifer P CaudyGermanyBernardo Dominic NEW
Tony J MorascaBrazilBernardo Dominic NEGOTIATION
Tony G CampainAustraliaElwin Sharvill UNQUALIFIED
Cody O AlbaresRussiaIoni Bowcher NEW
Smith S KuskoCanadaAmy Elsner RENEWAL
Cody J RoysterArgentinaAsiya Javayant RENEWAL
Claire O StockhamBrazilStephen Shaw UNQUALIFIED
David T AlbaresFranceElwin Sharvill NEW
Costa M RoysterJapanStephen Shaw UNQUALIFIED
Octavia T RimArgentinaOnyama Limba UNQUALIFIED
Chavez P StockhamCanadaXuxue Feng NEGOTIATION
Izzy Q VocelkaGermanyOnyama Limba UNQUALIFIED
Maisha J SergiArgentinaAmy Elsner RENEWAL
Tony B MarrierSpainIvan Magalhaes RENEWAL
Leon C WhobreyJapanElwin Sharvill NEGOTIATION
Ashley S KuskoItalyOnyama Limba QUALIFIED
Sinclair O NickaUnited KingdomAnna Fali PROPOSAL
Francesco I MacleadSpainIvan Magalhaes UNQUALIFIED
Ricardo F BologniaArgentinaAnna Fali UNQUALIFIED
Aruna D SergiAustraliaAsiya Javayant RENEWAL
Faith F MorascaAustraliaStephen Shaw RENEWAL
Emily Y MarrierGermanyAmy Elsner PROPOSAL
David M PaprockiRussiaAmy Elsner NEGOTIATION
Murillo J GauchoUnited KingdomAsiya Javayant NEW
Sinclair M NickaRussiaAnna Fali NEGOTIATION
Antonio H AmigonCanadaAsiya Javayant NEW
Sinclair S DilliardFranceAnna Fali NEW
Jennifer Z VocelkaGermanyAsiya Javayant UNQUALIFIED
Isabel X MarrierFranceBernardo Dominic PROPOSAL
Mayumi X FerenczIndiaIoni Bowcher NEW
Murillo H PerinAustraliaIoni Bowcher NEGOTIATION
Ivar E NickaJapanAmy Elsner QUALIFIED
Tony C GlickUnited KingdomStephen Shaw NEW
Maisha E GauchoItalyAmy Elsner NEGOTIATION
Greenwood Q DilliardUnited KingdomBernardo Dominic NEW
Jones O GarufiJapanAsiya Javayant NEW
Ricardo G DarakjyJapanOnyama Limba PROPOSAL
Leja I BologniaFranceAsiya Javayant RENEWAL
Misaki J VocelkaRussiaXuxue Feng UNQUALIFIED
Morrow E RoysterFranceXuxue Feng RENEWAL
Sinclair G SchemmerItalyAsiya Javayant UNQUALIFIED
Jones U NestleJapanBernardo Dominic NEGOTIATION
Aruna A SaylorsSpainIoni Bowcher NEGOTIATION
Wickens Z SergiArgentinaXuxue Feng QUALIFIED
Maisha H MacleadSpainAmy Elsner RENEWAL
Smith Z FlosiRussiaBernardo Dominic NEGOTIATION
Ricardo L CaudyArgentinaAsiya Javayant QUALIFIED
Sinclair D MaletJapanAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mayumi W VocelkaBrazilIvan Magalhaes NEGOTIATION
Maisha A BologniaCanadaAsiya Javayant QUALIFIED
Alejandro S SlusarskiItalyIoni Bowcher UNQUALIFIED
Munro T SchemmerArgentinaXuxue Feng UNQUALIFIED
Leja B AlbaresIndiaOnyama Limba UNQUALIFIED
Cody Q PerinArgentinaElwin Sharvill NEW
Adams H CaldareraItalyAsiya Javayant UNQUALIFIED
Murillo N AlbaresIndiaIvan Magalhaes PROPOSAL
Ashley S FigeroaBrazilIvan Magalhaes RENEWAL
Johnson J BologniaCanadaXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily T PerinJapan2026-10-01Truhlar And Truhlar Attys RENEWAL52Amy Elsner
1001Arvin L GarufiUnited Kingdom2026-10-17Rousseaux, Michael Esq NEGOTIATION74Asiya Javayant
1002Adams N FollerBrazil2026-10-08Rangoni Of Florence NEGOTIATION3Xuxue Feng
1003Jefferson V DilliardAustralia2026-10-08Chemel, James L Cpa QUALIFIED99Asiya Javayant
1004Alejandro D CaldareraGermany2026-10-24King, Christopher A Esq NEGOTIATION17Ivan Magalhaes
1005Greenwood C MaletBrazil2026-10-20Rangoni Of Florence RENEWAL97Anna Fali
1006Wickens V GillianSpain2026-10-24Chemel, James L Cpa RENEWAL18Amy Elsner
1007Leja B WaycottItaly2026-10-24Rousseaux, Michael Esq UNQUALIFIED82Amy Elsner
1008Jeanfrancois X CampainItaly2026-10-11Rangoni Of Florence QUALIFIED47Onyama Limba
1009Jones I NestleIndia2026-10-26Feltz Printing Service QUALIFIED22Onyama Limba
1010Jeanfrancois F OldroydSpain2026-10-02Printing Dimensions RENEWAL60Elwin Sharvill
1011Deepesh L GauchoUnited Kingdom2026-10-04King, Christopher A Esq PROPOSAL0Stephen Shaw
1012Isabel J KuskoFrance2026-10-26Truhlar And Truhlar Attys PROPOSAL22Ivan Magalhaes
1013Emily Q CaudyRussia2026-10-20Chapman, Ross E Esq RENEWAL65Ioni Bowcher
1014David V PoquetteCanada2026-10-05Chapman, Ross E Esq RENEWAL10Bernardo Dominic
1015Jones J InouyeJapan2026-10-24Chemel, James L Cpa QUALIFIED86Elwin Sharvill
1016Faith X FlosiRussia2026-10-21Feiner Bros NEGOTIATION20Ivan Magalhaes
1017Izzy A ShinkoFrance2026-10-04Morlong Associates NEGOTIATION7Stephen Shaw
1018Leon W MorascaJapan2026-10-05Rousseaux, Michael Esq UNQUALIFIED7Asiya Javayant
1019Jefferson Z GlickSpain2026-10-22Feltz Printing Service PROPOSAL89Elwin Sharvill
1020Aika L DarakjyGermany2026-10-23Feiner Bros NEGOTIATION24Ioni Bowcher
1021Maria I RimFrance2026-10-16Morlong Associates UNQUALIFIED1Elwin Sharvill
1022Silvio M ChuiJapan2026-10-02Chanay, Jeffrey A Esq QUALIFIED32Stephen Shaw
1023Juan J WieserUnited Kingdom2026-10-15Commercial Press RENEWAL97Stephen Shaw
1024Nicolas Z PerinIndia2026-10-21King, Christopher A Esq UNQUALIFIED48Anna Fali
1025Arvin Q WhobreyFrance2026-10-20Rousseaux, Michael Esq QUALIFIED87Ioni Bowcher
1026Wickens H MaletJapan2026-10-03Feltz Printing Service NEGOTIATION82Ioni Bowcher
1027Leja C ShinkoIndia2026-10-30Buckley Miller Wright NEW55Stephen Shaw
1028Leon D CaudyIndia2026-10-15Chanay, Jeffrey A Esq NEGOTIATION3Ivan Magalhaes
1029Cody X RoysterBrazil2026-10-30Chapman, Ross E Esq RENEWAL54Ivan Magalhaes
1030Costa V SlusarskiItaly2026-10-08Feltz Printing Service RENEWAL43Ivan Magalhaes
1031Sinclair S RoysterFrance2026-10-21Feiner Bros NEGOTIATION46Asiya Javayant
1032Alejandro Y WhobreyAustralia2026-10-19Chanay, Jeffrey A Esq RENEWAL62Anna Fali
1033Emily Y BriddickRussia2026-10-23Dorl, James J Esq RENEWAL22Amy Elsner
1034Morrow A CampainCanada2026-10-24Benton, John B Jr NEGOTIATION64Ivan Magalhaes
1035Faith T RutaGermany2026-10-11Commercial Press NEGOTIATION32Onyama Limba
1036Arvin C SaylorsGermany2026-10-15Rangoni Of Florence PROPOSAL98Onyama Limba
1037Nicolas Z StensethArgentina2026-10-09Benton, John B Jr PROPOSAL69Asiya Javayant
1038Adams K GillianFrance2026-10-25King, Christopher A Esq NEW38Xuxue Feng
1039Clifford G MaletGermany2026-10-29Printing Dimensions RENEWAL10Anna Fali
1040Aika M WieserCanada2026-10-03Truhlar And Truhlar Attys UNQUALIFIED54Anna Fali
1041Jefferson T KolmetzBrazil2026-10-07Feltz Printing Service QUALIFIED68Ivan Magalhaes
1042Antonio R WaycottBrazil2026-10-20King, Christopher A Esq NEGOTIATION47Ivan Magalhaes
1043Arvin J BriddickSpain2026-10-23Rousseaux, Michael Esq UNQUALIFIED64Amy Elsner
1044Ricardo W BowleyAustralia2026-10-28Commercial Press PROPOSAL94Xuxue Feng
1045Octavia D ButtBrazil2026-10-12Chapman, Ross E Esq NEW88Amy Elsner
1046Jones J BriddickCanada2026-10-09Rousseaux, Michael Esq NEGOTIATION52Onyama Limba
1047Maria E WhobreyUnited Kingdom2026-10-16Printing Dimensions QUALIFIED14Amy Elsner
1048Maisha M NestleBrazil2026-10-21Morlong Associates QUALIFIED43Xuxue Feng
1049Salvatore Z WaycottAustralia2026-10-27King, Christopher A Esq PROPOSAL64Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Antonio B BowleyUnited KingdomAmy Elsner NEGOTIATION
Misaki Q DoeCanadaIvan Magalhaes RENEWAL
Costa H BriddickIndiaAmy Elsner QUALIFIED
Deepesh R WaycottAustraliaOnyama Limba UNQUALIFIED
Jefferson J OstroskyUnited KingdomStephen Shaw RENEWAL
Octavia L FerenczUnited KingdomBernardo Dominic PROPOSAL
Darci C NickaIndiaStephen Shaw UNQUALIFIED
Alejandro T StockhamBrazilBernardo Dominic RENEWAL
Greenwood O PerinUnited KingdomIvan Magalhaes NEGOTIATION
Kadeem I ButtGermanyXuxue Feng NEGOTIATION
Jones J RimGermanyIvan Magalhaes PROPOSAL
Maria W DilliardGermanyElwin Sharvill QUALIFIED
Claire R FigeroaSpainAmy Elsner UNQUALIFIED
Munro V MacleadAustraliaBernardo Dominic RENEWAL
Claire G ButtFranceBernardo Dominic RENEWAL
Johnson L SchemmerSpainAsiya Javayant PROPOSAL
Isabel J RimUnited KingdomAsiya Javayant PROPOSAL
Deepesh Q GillianCanadaElwin Sharvill NEW
Johnson C PoquetteUnited KingdomXuxue Feng NEGOTIATION
Mayumi T RulapaughSpainOnyama Limba NEGOTIATION
Julie W IturbideRussiaIvan Magalhaes RENEWAL
Sinclair V OstroskyGermanyIvan Magalhaes RENEWAL
Ricardo Y FlosiArgentinaXuxue Feng UNQUALIFIED
Chavez L WhobreyRussiaXuxue Feng RENEWAL
David X FigeroaBrazilXuxue Feng PROPOSAL
Johnson G ChuiJapanOnyama Limba RENEWAL
Claire T DoeSpainStephen Shaw UNQUALIFIED
Alejandro W FlosiBrazilBernardo Dominic QUALIFIED
Misaki C VenereArgentinaAnna Fali RENEWAL
Francesco O GlickIndiaAsiya Javayant NEGOTIATION
Antonio H RutaItalyIoni Bowcher QUALIFIED
Jones W ButtIndiaXuxue Feng RENEWAL
Cody A BologniaItalyOnyama Limba NEW
Aditya Q NickaJapanBernardo Dominic RENEWAL
Maisha R NickaAustraliaIvan Magalhaes RENEWAL
Julie R FerenczJapanAsiya Javayant PROPOSAL
Deepesh Y NickaRussiaAnna Fali QUALIFIED
Silvio H BologniaGermanyIoni Bowcher PROPOSAL
Greenwood C TollnerRussiaAsiya Javayant NEGOTIATION
Claire N SchemmerIndiaIoni Bowcher PROPOSAL
Octavia N PoquetteJapanAsiya Javayant NEW
Smith A BologniaSpainXuxue Feng UNQUALIFIED
Adams J TollnerGermanyXuxue Feng RENEWAL
Antonio Z RimIndiaAsiya Javayant UNQUALIFIED
Ricardo F FollerGermanyAmy Elsner RENEWAL
Darci D KuskoFranceXuxue Feng QUALIFIED
Aruna D CampainIndiaXuxue Feng QUALIFIED
Darci B SaylorsArgentinaBernardo Dominic PROPOSAL
Jones A WaycottIndiaIvan Magalhaes NEW
Smith E MacleadCanadaAnna Fali RENEWAL
Frozen Columns
Name
Jefferson M Foller
Sinclair Y Dilliard
Maria E Oldroyd
Antonio V Briddick
Jennifer H Venere
Juan F Garufi
Leon Z Marrier
Chavez K Iturbide
Claire Z Doe
Sinclair A Rim
Julie R Ostrosky
Antonio B Gillian
Rodrigues R Butt
Izzy L Poquette
Smith J Rulapaugh
James Z Maclead
James H Garufi
Munro V Gaucho
Kaitlin S Malet
Isabel Q Garufi
Nicolas H Iturbide
Juan L Doe
Johnson S Venere
Octavia G Bolognia
Munro I Doe
Mayumi J Dilliard
Octavia W Waycott
Izzy S Perin
Mayumi J Foller
Kaitlin U Gillian
Julie P Shinko
Alejandro P Ostrosky
Stacey Z Schemmer
Leon W Maclead
Claire F Rim
Mayumi N Caudy
David D Briddick
Mayumi J Figeroa
Maria D Darakjy
Murillo K Nicka
Francesco E Figeroa
Kaitlin Z Schemmer
Murillo Z Malet
Chavez L Bolognia
Francesco G Bowley
Leon Y Albares
Misaki P Butt
Deepesh A Iturbide
Leon Z Figeroa
Francesco Y Ostrosky
IdCountryDate
1000France2026-10-22
1001Argentina2026-10-15
1002Australia2026-10-29
1003Spain2026-10-22
1004France2026-10-10
1005Italy2026-10-18
1006Italy2026-10-25
1007Canada2026-10-03
1008India2026-10-22
1009India2026-10-27
1010Japan2026-10-27
1011Germany2026-10-07
1012Australia2026-10-16
1013Canada2026-10-24
1014United Kingdom2026-10-08
1015Canada2026-10-23
1016United Kingdom2026-10-26
1017Japan2026-10-26
1018India2026-10-16
1019Canada2026-10-22
1020Australia2026-10-03
1021Canada2026-10-25
1022Brazil2026-10-12
1023India2026-10-05
1024France2026-10-20
1025Brazil2026-10-06
1026France2026-10-12
1027France2026-10-20
1028Japan2026-10-07
1029United Kingdom2026-10-21
1030United Kingdom2026-10-10
1031Argentina2026-10-29
1032Australia2026-10-23
1033Italy2026-10-21
1034Canada2026-10-25
1035Italy2026-10-29
1036Russia2026-10-28
1037Canada2026-10-11
1038Russia2026-10-01
1039Germany2026-10-01
1040Italy2026-10-06
1041Brazil2026-10-05
1042Germany2026-10-14
1043United Kingdom2026-10-06
1044France2026-10-02
1045Australia2026-10-29
1046Germany2026-10-07
1047Canada2026-10-18
1048Argentina2026-10-22
1049Spain2026-10-06

On-Demand Data

NameIdCountryDate
Murillo R Malet1000Argentina2026-10-24
Julie N Gillian1001Brazil2026-10-25
Jones K Dilliard1002India2026-10-12
Johnson J Slusarski1003Brazil2026-10-16
Clifford I Oldroyd1004Germany2026-10-15
Octavia X Inouye1005Australia2026-10-07
Jennifer P Vocelka1006Spain2026-10-13
Aditya K Iturbide1007Canada2026-10-29
Octavia J Waycott1008India2026-10-22
Nicolas O Rim1009Spain2026-10-23
Jefferson B Malet1010India2026-10-20
Arvin D Saylors1011Brazil2026-10-05
Deepesh G Stenseth1012Brazil2026-10-05
Clifford N Bolognia1013Russia2026-10-21
Johnson V Malet1014Japan2026-10-14
Claire N Vocelka1015India2026-10-18
Cody K Figeroa1016Spain2026-10-24
Johnson S Bolognia1017Canada2026-10-28
Ashley T Rim1018Japan2026-10-15
Jones U Briddick1019India2026-10-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon R WhobreyJapanOnyama Limba QUALIFIED
Maria E DilliardGermanyAsiya Javayant UNQUALIFIED
Deepesh S ButtRussiaXuxue Feng NEGOTIATION
Tony S RimSpainAnna Fali NEW
Murillo T VenereUnited KingdomIvan Magalhaes UNQUALIFIED
Darci N BriddickFranceXuxue Feng RENEWAL
Emily V AlbaresSpainAsiya Javayant QUALIFIED
Costa W WhobreyArgentinaAmy Elsner NEGOTIATION
Deepesh W MorascaItalyXuxue Feng NEW
James Q PaprockiUnited KingdomElwin Sharvill NEGOTIATION
Aruna S PoquetteIndiaIvan Magalhaes QUALIFIED
Rodrigues C StensethCanadaBernardo Dominic PROPOSAL
Kaitlin I MorascaIndiaBernardo Dominic QUALIFIED
Alejandro M MarrierIndiaElwin Sharvill UNQUALIFIED
Emily Y ShinkoAustraliaAsiya Javayant RENEWAL
Claire V FerenczUnited KingdomStephen Shaw PROPOSAL
Ricardo Q OldroydCanadaIoni Bowcher QUALIFIED
Jennifer O SaylorsUnited KingdomElwin Sharvill RENEWAL
Munro X DilliardSpainAmy Elsner NEGOTIATION
Johnson N BologniaBrazilElwin Sharvill QUALIFIED
Maisha V PaprockiSpainElwin Sharvill UNQUALIFIED
Wickens Z GarufiFranceIoni Bowcher PROPOSAL
Ivar D RimFranceIoni Bowcher PROPOSAL
Jennifer B StockhamSpainAmy Elsner UNQUALIFIED
Cody J WaycottRussiaStephen Shaw NEW
Morrow F KolmetzUnited KingdomXuxue Feng QUALIFIED
Nicolas D VocelkaGermanyXuxue Feng PROPOSAL
Mujtaba W DarakjyArgentinaAnna Fali RENEWAL
Aruna X MorascaFranceAnna Fali NEW
Mayumi N MorascaCanadaAsiya Javayant QUALIFIED
Alejandro D RutaCanadaBernardo Dominic PROPOSAL
Jones R SergiSpainAmy Elsner PROPOSAL
Chavez K SchemmerRussiaBernardo Dominic NEW
Wickens A FlosiItalyAnna Fali NEW
Leja O SaylorsGermanyAnna Fali QUALIFIED
Arvin M SlusarskiRussiaAnna Fali PROPOSAL
Cody F FlosiUnited KingdomIvan Magalhaes NEGOTIATION
Aruna W CaudyUnited KingdomStephen Shaw QUALIFIED
Kadeem W AlbaresItalyElwin Sharvill PROPOSAL
Stacey G BowleyIndiaElwin Sharvill 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>