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
Alejandro U DarakjyBrazilIvan Magalhaes PROPOSAL
Francesco O KuskoArgentinaIoni Bowcher UNQUALIFIED
Darci A CampainAustraliaOnyama Limba RENEWAL
Claire A SergiAustraliaAnna Fali UNQUALIFIED
Costa T WieserBrazilAmy Elsner PROPOSAL
Ashley M SergiSpainAnna Fali RENEWAL
Chavez E PoquetteCanadaAsiya Javayant PROPOSAL
Izzy H StensethAustraliaBernardo Dominic NEW
Kaitlin V StensethItalyIoni Bowcher PROPOSAL
Mujtaba N MarrierCanadaStephen Shaw RENEWAL
Isabel L ButtUnited KingdomAsiya Javayant QUALIFIED
Arvin F CampainBrazilIoni Bowcher PROPOSAL
Arvin O SlusarskiJapanStephen Shaw UNQUALIFIED
Jeanfrancois N PaprockiRussiaAmy Elsner NEW
Juan D GauchoBrazilAmy Elsner QUALIFIED
Misaki R OldroydBrazilAsiya Javayant PROPOSAL
Maria X SaylorsItalyIoni Bowcher NEW
Emily D DoeRussiaOnyama Limba QUALIFIED
Leja T NickaIndiaAsiya Javayant NEGOTIATION
Jeanfrancois D CaudyIndiaAmy Elsner UNQUALIFIED
Johnson B MaletFranceStephen Shaw RENEWAL
Mayumi C VenereArgentinaIvan Magalhaes UNQUALIFIED
Chavez V VenereSpainStephen Shaw NEW
Johnson V GarufiUnited KingdomStephen Shaw UNQUALIFIED
Maisha Z AmigonItalyOnyama Limba NEGOTIATION
Jeanfrancois H MorascaAustraliaOnyama Limba PROPOSAL
Leon T IturbideRussiaXuxue Feng RENEWAL
Rodrigues U MaletCanadaAmy Elsner NEGOTIATION
David I NickaUnited KingdomOnyama Limba PROPOSAL
Smith N MaletRussiaAmy Elsner NEW
Emily O WhobreyRussiaIvan Magalhaes RENEWAL
Tony A PoquetteBrazilIoni Bowcher QUALIFIED
Julie Q IturbideArgentinaAsiya Javayant UNQUALIFIED
Wickens M BriddickUnited KingdomOnyama Limba NEGOTIATION
Ivar Y ChuiIndiaAmy Elsner QUALIFIED
Deepesh U NickaFranceElwin Sharvill RENEWAL
Silvio T SaylorsUnited KingdomBernardo Dominic NEGOTIATION
Ashley R PerinUnited KingdomIoni Bowcher PROPOSAL
Aika Y NickaAustraliaAsiya Javayant UNQUALIFIED
Ivar C DoeItalyIvan Magalhaes RENEWAL
Munro K KolmetzBrazilBernardo Dominic RENEWAL
Stacey Q RimIndiaStephen Shaw NEGOTIATION
Chavez R OstroskyGermanyAsiya Javayant RENEWAL
Leja Z VocelkaAustraliaOnyama Limba UNQUALIFIED
Faith U TollnerCanadaIoni Bowcher QUALIFIED
Ivar Q RutaJapanElwin Sharvill RENEWAL
Sinclair J DilliardFranceAmy Elsner NEW
Murillo H InouyeAustraliaElwin Sharvill QUALIFIED
Morrow K BowleyJapanIoni Bowcher NEW
Ivar L FerenczRussiaStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Salvatore P ShinkoFranceAmy Elsner NEW
Chavez I RutaCanadaBernardo Dominic PROPOSAL
Darci E MaletRussiaStephen Shaw PROPOSAL
Mujtaba C WieserIndiaOnyama Limba NEGOTIATION
Murillo T PaprockiAustraliaElwin Sharvill RENEWAL
Wickens M FigeroaBrazilOnyama Limba QUALIFIED
Aruna C CaudyIndiaAsiya Javayant NEGOTIATION
Tony H WieserArgentinaIoni Bowcher RENEWAL
Leja F ShinkoJapanAsiya Javayant UNQUALIFIED
Aika R MaletCanadaOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson E CampainCanada2026-10-11Dorl, James J Esq NEW72Amy Elsner
1001David F RulapaughSpain2026-10-03Buckley Miller Wright NEGOTIATION9Stephen Shaw
1002Stacey S IturbideRussia2026-10-23Truhlar And Truhlar Attys QUALIFIED79Bernardo Dominic
1003Clifford V CaudyItaly2026-10-23Rangoni Of Florence PROPOSAL25Ivan Magalhaes
1004Rodrigues D OstroskyBrazil2026-10-13Feiner Bros NEW95Elwin Sharvill
1005Kadeem H SlusarskiItaly2026-10-29Benton, John B Jr NEGOTIATION21Onyama Limba
1006Tony N AmigonRussia2026-10-29Rousseaux, Michael Esq RENEWAL82Asiya Javayant
1007Mayumi Q FlosiRussia2026-10-17Chapman, Ross E Esq QUALIFIED85Ivan Magalhaes
1008Maisha A RutaArgentina2026-10-10Chanay, Jeffrey A Esq NEW71Anna Fali
1009Darci L SaylorsBrazil2026-10-12Chanay, Jeffrey A Esq RENEWAL65Amy Elsner
1010Alejandro Y ButtArgentina2026-10-31Buckley Miller Wright PROPOSAL89Stephen Shaw
1011Munro K WaycottBrazil2026-10-06Morlong Associates NEGOTIATION22Elwin Sharvill
1012Aika P FollerGermany2026-10-22Feltz Printing Service PROPOSAL92Asiya Javayant
1013Clifford M MacleadIndia2026-10-27Chemel, James L Cpa NEGOTIATION78Asiya Javayant
1014Maisha E DoeItaly2026-10-20Truhlar And Truhlar Attys NEGOTIATION3Elwin Sharvill
1015Rodrigues N VenereCanada2026-10-30Buckley Miller Wright RENEWAL86Stephen Shaw
1016Deepesh H CampainIndia2026-10-14Rangoni Of Florence QUALIFIED4Onyama Limba
1017Leon M BowleyBrazil2026-10-23Printing Dimensions NEW15Ivan Magalhaes
1018Leon I MacleadSpain2026-10-20Truhlar And Truhlar Attys NEW49Stephen Shaw
1019Maria R ShinkoBrazil2026-10-16Printing Dimensions QUALIFIED54Onyama Limba
1020Jeanfrancois Z IturbideFrance2026-10-18Rangoni Of Florence QUALIFIED81Onyama Limba
1021Murillo Z WhobreySpain2026-10-30Printing Dimensions PROPOSAL4Asiya Javayant
1022Emily T SlusarskiGermany2026-10-18Chapman, Ross E Esq RENEWAL35Onyama Limba
1023Adams N VenereIndia2026-10-20Chapman, Ross E Esq NEW27Elwin Sharvill
1024Misaki T InouyeJapan2026-10-14Feiner Bros QUALIFIED57Elwin Sharvill
1025Juan V GarufiUnited Kingdom2026-10-18Buckley Miller Wright NEGOTIATION88Ivan Magalhaes
1026Murillo F MaletUnited Kingdom2026-10-10Chanay, Jeffrey A Esq NEGOTIATION97Amy Elsner
1027Maria E RutaCanada2026-11-01Morlong Associates PROPOSAL69Ivan Magalhaes
1028Mayumi S MaletRussia2026-10-26Printing Dimensions UNQUALIFIED9Ivan Magalhaes
1029Maisha P RimGermany2026-10-03Feiner Bros UNQUALIFIED91Stephen Shaw
1030Jefferson H NickaArgentina2026-10-18Chanay, Jeffrey A Esq RENEWAL22Onyama Limba
1031Alejandro C AlbaresIndia2026-10-05Benton, John B Jr NEW92Xuxue Feng
1032Misaki P SchemmerGermany2026-11-01Buckley Miller Wright RENEWAL20Ivan Magalhaes
1033Darci D MacleadFrance2026-10-27Buckley Miller Wright NEGOTIATION47Ioni Bowcher
1034Darci L GillianCanada2026-10-08Rousseaux, Michael Esq UNQUALIFIED56Stephen Shaw
1035Tony C BologniaGermany2026-10-21Chapman, Ross E Esq PROPOSAL86Anna Fali
1036Sinclair N FigeroaBrazil2026-10-25Chapman, Ross E Esq UNQUALIFIED99Ioni Bowcher
1037Aika W CaldareraAustralia2026-10-20Morlong Associates NEGOTIATION91Ioni Bowcher
1038Leja M FerenczArgentina2026-10-13Morlong Associates RENEWAL8Amy Elsner
1039Stacey H OstroskyItaly2026-10-12Feltz Printing Service QUALIFIED98Ioni Bowcher
1040Kadeem T DarakjySpain2026-10-13Benton, John B Jr NEW48Amy Elsner
1041Adams C RimArgentina2026-10-24Feltz Printing Service RENEWAL36Ivan Magalhaes
1042Deepesh H DoeItaly2026-10-18Rangoni Of Florence RENEWAL23Onyama Limba
1043Mayumi N StensethAustralia2026-10-04Commercial Press RENEWAL25Bernardo Dominic
1044Kadeem F FerenczJapan2026-10-11King, Christopher A Esq NEGOTIATION40Elwin Sharvill
1045Ashley O SchemmerRussia2026-10-26Rangoni Of Florence UNQUALIFIED44Bernardo Dominic
1046Julie G BowleyGermany2026-10-03Chapman, Ross E Esq NEW50Stephen Shaw
1047Emily J ShinkoIndia2026-10-16Chanay, Jeffrey A Esq QUALIFIED8Anna Fali
1048Wickens A AlbaresJapan2026-10-25Dorl, James J Esq PROPOSAL62Stephen Shaw
1049Smith R VocelkaUnited Kingdom2026-10-03Chemel, James L Cpa NEGOTIATION28Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Morrow M KuskoRussiaOnyama Limba UNQUALIFIED
Ashley O MorascaAustraliaAmy Elsner QUALIFIED
Maria W CaldareraBrazilAmy Elsner NEGOTIATION
Juan J GlickJapanElwin Sharvill NEW
Ivar S FlosiArgentinaAmy Elsner NEW
Izzy M BologniaArgentinaStephen Shaw PROPOSAL
Chavez C RimJapanOnyama Limba PROPOSAL
Chavez Y BologniaUnited KingdomOnyama Limba RENEWAL
Jones Q ButtArgentinaElwin Sharvill PROPOSAL
Clifford P MaletCanadaStephen Shaw NEGOTIATION
Leon H CaldareraBrazilElwin Sharvill NEW
Claire G SergiBrazilIoni Bowcher QUALIFIED
Aditya P CaldareraFranceAsiya Javayant QUALIFIED
Maria L WieserAustraliaAnna Fali NEW
Johnson E RimSpainStephen Shaw UNQUALIFIED
Aika H BriddickAustraliaStephen Shaw UNQUALIFIED
Mujtaba S CaudySpainXuxue Feng PROPOSAL
Emily R NestleJapanAsiya Javayant NEW
Octavia H CampainGermanyStephen Shaw NEGOTIATION
Leja C MacleadBrazilAsiya Javayant PROPOSAL
Deepesh L MaletUnited KingdomStephen Shaw UNQUALIFIED
Aika E WhobreyArgentinaIvan Magalhaes NEW
Kaitlin Z CampainAustraliaAmy Elsner RENEWAL
Aika R WaycottSpainXuxue Feng QUALIFIED
Kadeem X MarrierIndiaOnyama Limba NEW
Maisha D FerenczGermanyStephen Shaw PROPOSAL
Stacey F SergiSpainBernardo Dominic RENEWAL
Jones O RimBrazilIvan Magalhaes UNQUALIFIED
Munro V RulapaughArgentinaAnna Fali PROPOSAL
Salvatore W WieserAustraliaXuxue Feng PROPOSAL
Ricardo J NestleBrazilOnyama Limba NEGOTIATION
Francesco X RulapaughFranceElwin Sharvill NEGOTIATION
Wickens Q SaylorsArgentinaAmy Elsner QUALIFIED
Ashley B AlbaresArgentinaIoni Bowcher RENEWAL
Stacey D SlusarskiUnited KingdomIvan Magalhaes UNQUALIFIED
Jeanfrancois V BowleyJapanXuxue Feng PROPOSAL
Julie X GarufiArgentinaIoni Bowcher QUALIFIED
Emily V RoysterIndiaStephen Shaw RENEWAL
Murillo N StensethAustraliaIoni Bowcher QUALIFIED
Emily R SlusarskiGermanyAnna Fali NEW
Morrow E MaletFranceAsiya Javayant RENEWAL
Antonio H GlickIndiaAmy Elsner UNQUALIFIED
Wickens T NestleRussiaElwin Sharvill RENEWAL
Silvio J CaldareraCanadaAsiya Javayant RENEWAL
Jefferson C GlickGermanyBernardo Dominic PROPOSAL
Jefferson T VocelkaAustraliaIvan Magalhaes QUALIFIED
Clifford A MaletGermanyIvan Magalhaes NEGOTIATION
David F MaletJapanOnyama Limba NEW
Arvin P InouyeGermanyIoni Bowcher PROPOSAL
Misaki M CaudyItalyAsiya Javayant QUALIFIED
Frozen Columns
Name
Jennifer Z Bolognia
Faith J Kusko
Greenwood P Butt
Juan C Malet
Antonio A Poquette
Jefferson D Briddick
Wickens V Chui
Stacey K Morasca
Smith Y Kolmetz
Costa T Nestle
Misaki X Paprocki
Juan T Caudy
Jennifer Y Poquette
Izzy C Whobrey
Emily Y Albares
Kadeem C Wieser
Aika U Butt
Izzy B Inouye
Clifford I Gillian
Arvin L Malet
Kadeem J Whobrey
Cody B Bowley
Cody F Tollner
Cody A Briddick
Maisha F Chui
Leja P Gillian
Maria F Iturbide
Jeanfrancois P Darakjy
Darci N Oldroyd
Isabel E Shinko
Arvin M Garufi
Leon Z Poquette
Aruna I Bowley
Morrow M Morasca
Johnson X Ferencz
Costa W Campain
Tony Z Bolognia
Murillo A Nicka
Rodrigues O Venere
Jennifer T Darakjy
Aruna G Marrier
Kadeem P Bolognia
Kadeem W Malet
Stacey R Wieser
Arvin M Perin
Wickens R Nestle
Leon X Kusko
Nicolas H Kolmetz
Sinclair I Dilliard
Wickens U Paprocki
IdCountryDate
1000Australia2026-10-11
1001Australia2026-10-07
1002Italy2026-10-23
1003Brazil2026-10-21
1004Japan2026-10-08
1005Italy2026-10-19
1006Italy2026-10-09
1007Italy2026-10-07
1008Spain2026-10-24
1009Australia2026-10-22
1010Argentina2026-10-26
1011Russia2026-10-26
1012Canada2026-10-20
1013Australia2026-11-01
1014Japan2026-10-11
1015Australia2026-10-07
1016Argentina2026-10-24
1017Australia2026-10-26
1018India2026-10-19
1019Spain2026-10-21
1020Japan2026-10-22
1021Australia2026-10-03
1022Japan2026-10-12
1023Australia2026-10-04
1024United Kingdom2026-10-28
1025Russia2026-10-26
1026United Kingdom2026-10-06
1027Japan2026-10-07
1028Italy2026-10-05
1029India2026-10-25
1030Canada2026-10-27
1031Australia2026-10-19
1032Brazil2026-10-05
1033Canada2026-10-05
1034Germany2026-10-04
1035Japan2026-10-05
1036India2026-10-18
1037United Kingdom2026-10-16
1038Germany2026-10-15
1039United Kingdom2026-10-09
1040Germany2026-10-06
1041Canada2026-10-16
1042Brazil2026-10-25
1043India2026-10-08
1044Japan2026-10-24
1045Russia2026-10-06
1046India2026-10-19
1047Japan2026-10-17
1048Canada2026-11-01
1049India2026-10-16

On-Demand Data

NameIdCountryDate
Arvin V Maclead1000Italy2026-10-11
Misaki H Sergi1001India2026-10-13
Smith H Gaucho1002United Kingdom2026-10-17
Isabel D Nestle1003Canada2026-10-14
Nicolas D Stockham1004Argentina2026-11-01
Salvatore O Marrier1005Australia2026-10-11
Emily G Butt1006Japan2026-10-10
Chavez L Wieser1007India2026-10-13
Juan M Kusko1008Germany2026-10-04
Maria A Nicka1009India2026-10-25
Salvatore V Ruta1010Russia2026-10-22
Leja G Saylors1011Japan2026-10-14
Deepesh F Figeroa1012Germany2026-10-15
Tony Y Morasca1013Australia2026-10-17
Wickens F Kolmetz1014Brazil2026-10-28
Alejandro M Bolognia1015United Kingdom2026-10-31
Leon O Chui1016Russia2026-10-15
Nicolas Y Royster1017United Kingdom2026-10-21
Clifford Z Inouye1018India2026-10-25
Johnson C Amigon1019Spain2026-10-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David J WaycottJapanOnyama Limba NEGOTIATION
Ivar A SchemmerIndiaIoni Bowcher NEGOTIATION
Izzy A StensethSpainStephen Shaw NEGOTIATION
Alejandro E VenereUnited KingdomStephen Shaw RENEWAL
Darci X VocelkaFranceXuxue Feng PROPOSAL
Clifford Z RimAustraliaStephen Shaw NEGOTIATION
Chavez A WaycottIndiaElwin Sharvill NEGOTIATION
Leja O RutaCanadaIvan Magalhaes UNQUALIFIED
Ivar S PaprockiGermanyXuxue Feng NEW
James A WieserIndiaAmy Elsner UNQUALIFIED
Rodrigues U KuskoJapanStephen Shaw NEGOTIATION
Alejandro L RulapaughArgentinaOnyama Limba RENEWAL
Salvatore H CampainBrazilElwin Sharvill RENEWAL
Munro V CaudyAustraliaBernardo Dominic UNQUALIFIED
Aditya N DilliardBrazilBernardo Dominic RENEWAL
Jones D MarrierRussiaBernardo Dominic NEGOTIATION
Kaitlin S FerenczUnited KingdomAsiya Javayant PROPOSAL
Jeanfrancois Q BowleyBrazilIoni Bowcher UNQUALIFIED
Silvio E SergiArgentinaStephen Shaw PROPOSAL
Mayumi O GauchoCanadaAnna Fali RENEWAL
Juan N MaletArgentinaAmy Elsner QUALIFIED
Clifford N RutaBrazilBernardo Dominic QUALIFIED
Aditya E GillianArgentinaIvan Magalhaes NEW
Johnson D GillianItalyXuxue Feng NEGOTIATION
Izzy D InouyeCanadaStephen Shaw UNQUALIFIED
Chavez O ChuiRussiaElwin Sharvill QUALIFIED
Nicolas S OldroydCanadaXuxue Feng NEW
Faith A WaycottAustraliaAmy Elsner NEGOTIATION
Aditya U WhobreySpainStephen Shaw PROPOSAL
Costa I NickaCanadaAnna Fali NEW
Aruna I TollnerBrazilAnna Fali PROPOSAL
Maria A DilliardArgentinaAnna Fali UNQUALIFIED
Aika O ChuiGermanyOnyama Limba QUALIFIED
Silvio Y CaudyIndiaAnna Fali QUALIFIED
Silvio J CaldareraJapanAsiya Javayant NEGOTIATION
Jones O InouyeFranceAsiya Javayant NEW
Antonio G CaudyBrazilOnyama Limba NEW
Clifford Z SergiUnited KingdomOnyama Limba RENEWAL
Leja J NestleFranceAmy Elsner NEGOTIATION
Adams M StockhamGermanyAnna Fali QUALIFIED

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