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 X FollerIndiaXuxue Feng NEW
Juan O StensethCanadaBernardo Dominic RENEWAL
Ricardo H NickaBrazilAsiya Javayant QUALIFIED
Octavia F MorascaArgentinaAsiya Javayant NEGOTIATION
David H FigeroaItalyIoni Bowcher NEW
Costa B ButtItalyElwin Sharvill UNQUALIFIED
Greenwood H ShinkoRussiaAnna Fali RENEWAL
Claire J SlusarskiSpainIvan Magalhaes QUALIFIED
Costa X GlickBrazilAmy Elsner PROPOSAL
Octavia K VenereJapanAsiya Javayant PROPOSAL
Aruna P RoysterSpainStephen Shaw RENEWAL
Salvatore Y CaudyIndiaStephen Shaw QUALIFIED
Tony J CaldareraCanadaOnyama Limba NEGOTIATION
Maria T DoeUnited KingdomElwin Sharvill UNQUALIFIED
Sinclair L RulapaughSpainElwin Sharvill NEGOTIATION
Jeanfrancois X InouyeRussiaElwin Sharvill NEGOTIATION
Aika U StensethArgentinaIvan Magalhaes RENEWAL
Alejandro Q FollerUnited KingdomXuxue Feng RENEWAL
Kadeem D VenereRussiaBernardo Dominic QUALIFIED
James Q SaylorsIndiaIvan Magalhaes UNQUALIFIED
Johnson A RutaGermanyIoni Bowcher NEW
Izzy T IturbideRussiaIoni Bowcher PROPOSAL
Chavez E StockhamArgentinaOnyama Limba RENEWAL
Jones Z FigeroaSpainElwin Sharvill NEW
Silvio Z RoysterSpainAmy Elsner QUALIFIED
Morrow R CaldareraAustraliaIvan Magalhaes UNQUALIFIED
Aditya H ShinkoBrazilBernardo Dominic QUALIFIED
Clifford I NickaCanadaOnyama Limba QUALIFIED
David W OstroskyFranceXuxue Feng RENEWAL
Morrow X NickaSpainAmy Elsner NEGOTIATION
Claire S MacleadUnited KingdomAnna Fali QUALIFIED
Stacey F ShinkoItalyXuxue Feng NEGOTIATION
Jefferson S MaletArgentinaIoni Bowcher PROPOSAL
Costa V SergiItalyXuxue Feng NEW
James B PaprockiBrazilElwin Sharvill NEGOTIATION
Salvatore N SlusarskiIndiaAmy Elsner NEW
Izzy W FerenczBrazilAsiya Javayant PROPOSAL
Jefferson W CampainCanadaElwin Sharvill PROPOSAL
Claire R FollerFranceAsiya Javayant PROPOSAL
Murillo Z CaldareraUnited KingdomElwin Sharvill NEW
Munro S FigeroaJapanBernardo Dominic NEGOTIATION
Claire L FerenczCanadaAnna Fali PROPOSAL
Ricardo F FigeroaJapanIvan Magalhaes NEW
Juan M SergiBrazilIoni Bowcher NEW
Emily D PoquetteItalyAsiya Javayant QUALIFIED
Deepesh R StockhamBrazilXuxue Feng NEGOTIATION
Ivar E NestleAustraliaAmy Elsner QUALIFIED
Silvio S OstroskyJapanAnna Fali PROPOSAL
Stacey X FigeroaIndiaBernardo Dominic NEGOTIATION
Tony Z BriddickArgentinaAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Clifford J BowleySpainAnna Fali QUALIFIED
Jennifer Y RutaBrazilBernardo Dominic PROPOSAL
Maisha P MaletArgentinaStephen Shaw QUALIFIED
Ricardo O AmigonIndiaAsiya Javayant NEGOTIATION
Aika X MacleadFranceElwin Sharvill RENEWAL
Aruna C GillianItalyAnna Fali PROPOSAL
Kaitlin W SaylorsUnited KingdomAnna Fali NEW
Johnson Z PoquetteUnited KingdomAmy Elsner UNQUALIFIED
Jennifer C DilliardFranceStephen Shaw UNQUALIFIED
Smith E InouyeUnited KingdomOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco S StockhamUnited Kingdom2026-10-24Buckley Miller Wright NEW75Xuxue Feng
1001Silvio G RoysterItaly2026-10-09Truhlar And Truhlar Attys PROPOSAL90Elwin Sharvill
1002Stacey C BologniaUnited Kingdom2026-10-18Morlong Associates RENEWAL58Xuxue Feng
1003Emily J GarufiIndia2026-10-06Rousseaux, Michael Esq PROPOSAL64Amy Elsner
1004Octavia R OstroskyBrazil2026-10-18King, Christopher A Esq RENEWAL95Ioni Bowcher
1005Johnson W CampainItaly2026-10-13Rousseaux, Michael Esq UNQUALIFIED13Xuxue Feng
1006Sinclair T GauchoItaly2026-10-15Dorl, James J Esq PROPOSAL55Onyama Limba
1007Izzy P CaldareraGermany2026-10-23Feiner Bros PROPOSAL67Amy Elsner
1008Ashley D PerinBrazil2026-10-02Feltz Printing Service PROPOSAL72Xuxue Feng
1009Johnson P TollnerCanada2026-10-19Morlong Associates RENEWAL43Elwin Sharvill
1010Nicolas V AlbaresItaly2026-10-26Buckley Miller Wright QUALIFIED17Ivan Magalhaes
1011Adams O NickaArgentina2026-10-05Rousseaux, Michael Esq NEGOTIATION28Elwin Sharvill
1012Adams U RoysterArgentina2026-10-01Dorl, James J Esq QUALIFIED43Onyama Limba
1013Kaitlin T DilliardSpain2026-10-29Feiner Bros RENEWAL34Asiya Javayant
1014Darci R BriddickGermany2026-10-05Feltz Printing Service UNQUALIFIED87Bernardo Dominic
1015Arvin B WaycottIndia2026-10-30Benton, John B Jr UNQUALIFIED62Ioni Bowcher
1016Misaki D BriddickItaly2026-10-09Dorl, James J Esq RENEWAL81Anna Fali
1017Izzy K NickaGermany2026-10-11Rousseaux, Michael Esq UNQUALIFIED71Anna Fali
1018Ivar P NestleUnited Kingdom2026-10-22Commercial Press RENEWAL8Xuxue Feng
1019Jeanfrancois R CaldareraCanada2026-10-01Printing Dimensions RENEWAL46Anna Fali
1020Francesco M FlosiFrance2026-10-09Rangoni Of Florence NEW8Anna Fali
1021Jones D RimCanada2026-10-06Chapman, Ross E Esq NEGOTIATION68Bernardo Dominic
1022Aditya I PoquetteUnited Kingdom2026-10-28King, Christopher A Esq NEGOTIATION88Onyama Limba
1023Johnson H RoysterUnited Kingdom2026-10-02Chapman, Ross E Esq NEW38Stephen Shaw
1024Ricardo K SaylorsGermany2026-10-27Dorl, James J Esq NEW84Ioni Bowcher
1025Johnson T TollnerSpain2026-10-10Truhlar And Truhlar Attys NEGOTIATION75Ivan Magalhaes
1026Darci J AmigonCanada2026-10-11Feltz Printing Service PROPOSAL76Bernardo Dominic
1027Jones C KuskoGermany2026-10-08Chanay, Jeffrey A Esq NEW7Bernardo Dominic
1028Nicolas O SlusarskiIndia2026-10-24Printing Dimensions RENEWAL94Stephen Shaw
1029Costa Z StensethRussia2026-10-08Chapman, Ross E Esq QUALIFIED9Amy Elsner
1030Alejandro T WaycottGermany2026-10-08Buckley Miller Wright QUALIFIED95Asiya Javayant
1031Jefferson W GauchoItaly2026-10-14Rangoni Of Florence PROPOSAL73Anna Fali
1032Murillo W RimArgentina2026-10-08Chanay, Jeffrey A Esq NEGOTIATION52Stephen Shaw
1033Leja Z KolmetzBrazil2026-10-10Buckley Miller Wright NEW81Ivan Magalhaes
1034Murillo J AlbaresUnited Kingdom2026-10-05Buckley Miller Wright RENEWAL28Elwin Sharvill
1035Murillo Q InouyeSpain2026-10-13Printing Dimensions UNQUALIFIED83Asiya Javayant
1036Leja J WaycottUnited Kingdom2026-10-29Feiner Bros QUALIFIED71Xuxue Feng
1037Jeanfrancois E ShinkoGermany2026-10-04Commercial Press PROPOSAL62Onyama Limba
1038Jones Z GarufiJapan2026-10-28Dorl, James J Esq UNQUALIFIED90Onyama Limba
1039Salvatore T MacleadItaly2026-10-03Chanay, Jeffrey A Esq UNQUALIFIED23Anna Fali
1040Aika Y FigeroaGermany2026-10-24Chemel, James L Cpa UNQUALIFIED97Onyama Limba
1041Sinclair W SergiGermany2026-10-04Buckley Miller Wright RENEWAL15Bernardo Dominic
1042Ricardo N RutaRussia2026-10-15Chemel, James L Cpa QUALIFIED2Ioni Bowcher
1043Wickens T WaycottFrance2026-10-16Buckley Miller Wright PROPOSAL31Elwin Sharvill
1044Ivar A FerenczSpain2026-10-11Commercial Press NEGOTIATION34Ioni Bowcher
1045Aika Q WieserItaly2026-10-26Chanay, Jeffrey A Esq NEGOTIATION79Elwin Sharvill
1046Murillo J InouyeRussia2026-10-05Rousseaux, Michael Esq PROPOSAL38Stephen Shaw
1047Antonio T WhobreyUnited Kingdom2026-10-06King, Christopher A Esq UNQUALIFIED92Onyama Limba
1048Salvatore J VocelkaIndia2026-10-10Feiner Bros PROPOSAL88Anna Fali
1049Nicolas F DilliardIndia2026-10-03King, Christopher A Esq UNQUALIFIED25Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Morrow H MorascaAustraliaIoni Bowcher NEW
Aika C GarufiArgentinaAsiya Javayant PROPOSAL
Mayumi P SlusarskiGermanyXuxue Feng QUALIFIED
Smith Q SchemmerJapanAnna Fali NEGOTIATION
Greenwood H DoeJapanBernardo Dominic RENEWAL
Arvin Q BriddickUnited KingdomAnna Fali RENEWAL
Smith S ShinkoFranceOnyama Limba PROPOSAL
Chavez I NickaJapanOnyama Limba NEGOTIATION
Mayumi E TollnerBrazilAsiya Javayant NEW
Salvatore Q MaletArgentinaAsiya Javayant RENEWAL
Mujtaba B GlickCanadaAsiya Javayant QUALIFIED
Jones T BowleyAustraliaBernardo Dominic PROPOSAL
Jeanfrancois A FlosiGermanyXuxue Feng RENEWAL
Aika X PerinAustraliaAmy Elsner NEW
Isabel A PoquetteIndiaIvan Magalhaes PROPOSAL
Morrow H BowleyAustraliaElwin Sharvill RENEWAL
Julie C MorascaBrazilIoni Bowcher NEGOTIATION
Wickens D PerinAustraliaIoni Bowcher PROPOSAL
Misaki C PaprockiUnited KingdomBernardo Dominic NEGOTIATION
Deepesh M MaletBrazilStephen Shaw PROPOSAL
Silvio K BowleySpainOnyama Limba NEGOTIATION
Ashley C VocelkaItalyIoni Bowcher RENEWAL
Maria Z IturbideGermanyXuxue Feng NEW
Tony Z VenereItalyIvan Magalhaes PROPOSAL
Maria G NickaFranceBernardo Dominic UNQUALIFIED
Leon L SergiJapanAnna Fali PROPOSAL
Jeanfrancois W StockhamRussiaXuxue Feng RENEWAL
Sinclair Y RulapaughItalyAnna Fali NEGOTIATION
Clifford W PaprockiItalyIvan Magalhaes PROPOSAL
Murillo O CaudyIndiaAsiya Javayant PROPOSAL
Maisha J GarufiSpainStephen Shaw UNQUALIFIED
Francesco H StensethBrazilAsiya Javayant PROPOSAL
Deepesh A BriddickSpainAmy Elsner UNQUALIFIED
Clifford D MarrierUnited KingdomAmy Elsner PROPOSAL
Costa N TollnerBrazilBernardo Dominic RENEWAL
Kaitlin N DarakjySpainAnna Fali RENEWAL
Misaki S MorascaRussiaIvan Magalhaes QUALIFIED
Stacey D WieserCanadaAmy Elsner NEGOTIATION
Francesco V IturbideSpainIvan Magalhaes NEW
Silvio M NestleUnited KingdomBernardo Dominic NEW
Alejandro I InouyeBrazilOnyama Limba RENEWAL
Misaki D GarufiJapanIvan Magalhaes RENEWAL
Cody T SchemmerBrazilIvan Magalhaes NEGOTIATION
James Q MorascaJapanAsiya Javayant QUALIFIED
Silvio G StensethArgentinaAsiya Javayant UNQUALIFIED
Claire P AlbaresBrazilXuxue Feng UNQUALIFIED
Faith D CampainRussiaIoni Bowcher UNQUALIFIED
Ashley V FerenczJapanIvan Magalhaes QUALIFIED
Misaki Q IturbideUnited KingdomBernardo Dominic PROPOSAL
Leon O InouyeRussiaOnyama Limba UNQUALIFIED
Frozen Columns
Name
Adams F Bolognia
Maisha F Stenseth
Ricardo S Garufi
Aditya P Butt
Munro Z Bowley
Kadeem P Ruta
David H Dilliard
Aika M Figeroa
Antonio V Dilliard
Isabel S Caudy
Wickens Q Amigon
Jones B Nestle
Arvin M Foller
Johnson G Nicka
Ricardo M Paprocki
Sinclair S Ruta
Julie F Slusarski
Kadeem T Garufi
Jones Y Albares
Jeanfrancois R Marrier
Kaitlin L Tollner
Tony E Venere
Cody I Doe
Kadeem O Saylors
Adams X Kusko
Kaitlin L Tollner
Leon R Albares
Juan Q Perin
Octavia V Malet
Ashley D Amigon
Deepesh D Ruta
Leon S Chui
Jones I Marrier
Aruna B Campain
Emily Y Gaucho
James D Morasca
Chavez G Flosi
Maria O Albares
Ivar Y Waycott
Chavez Z Stenseth
Smith B Kusko
Juan G Flosi
Rodrigues I Garufi
Kadeem Y Dilliard
Aruna K Foller
Octavia G Caudy
Chavez P Maclead
Darci U Chui
Nicolas Y Marrier
David Y Marrier
IdCountryDate
1000France2026-10-12
1001United Kingdom2026-10-17
1002France2026-10-29
1003France2026-10-09
1004Australia2026-10-10
1005United Kingdom2026-10-16
1006Spain2026-10-26
1007Brazil2026-10-05
1008Japan2026-10-28
1009United Kingdom2026-10-21
1010Russia2026-10-08
1011Canada2026-10-04
1012Brazil2026-10-23
1013Canada2026-10-08
1014India2026-10-03
1015Brazil2026-10-16
1016Brazil2026-10-27
1017India2026-10-29
1018Russia2026-10-06
1019Italy2026-10-25
1020Italy2026-10-02
1021Spain2026-10-02
1022Italy2026-10-07
1023Australia2026-10-24
1024Argentina2026-10-11
1025Italy2026-10-03
1026United Kingdom2026-10-11
1027Argentina2026-10-05
1028Australia2026-10-25
1029Brazil2026-10-16
1030Italy2026-10-16
1031Russia2026-10-14
1032France2026-10-15
1033Italy2026-10-25
1034Russia2026-10-15
1035Argentina2026-10-03
1036Japan2026-10-10
1037Brazil2026-10-19
1038Argentina2026-10-05
1039United Kingdom2026-10-01
1040United Kingdom2026-10-12
1041Japan2026-10-22
1042Brazil2026-10-25
1043Australia2026-10-25
1044Argentina2026-10-04
1045Spain2026-10-17
1046Brazil2026-10-05
1047Brazil2026-10-08
1048France2026-10-13
1049France2026-10-20

On-Demand Data

NameIdCountryDate
Mayumi Z Glick1000Spain2026-10-02
Greenwood I Doe1001Argentina2026-10-11
Ashley U Waycott1002Brazil2026-10-22
Jefferson C Bowley1003Spain2026-10-26
Jennifer G Venere1004Argentina2026-10-30
Darci W Chui1005Germany2026-10-08
Aruna V Schemmer1006Spain2026-10-15
Maria B Albares1007India2026-10-30
Munro S Whobrey1008Australia2026-10-20
Ivar W Tollner1009Brazil2026-10-07
David W Tollner1010Japan2026-10-04
Julie D Kusko1011France2026-10-19
Rodrigues J Maclead1012Germany2026-10-24
Jeanfrancois N Glick1013United Kingdom2026-10-01
Misaki E Perin1014Argentina2026-10-11
Costa B Poquette1015Spain2026-10-08
Tony C Ferencz1016Canada2026-10-12
Jefferson G Sergi1017Italy2026-10-24
Morrow F Nestle1018Germany2026-10-18
Cody W Bowley1019Spain2026-10-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer B RoysterArgentinaStephen Shaw PROPOSAL
Faith E SlusarskiIndiaOnyama Limba QUALIFIED
Tony L BriddickSpainAnna Fali QUALIFIED
Aika Z NickaAustraliaAmy Elsner NEW
Ricardo U DarakjyItalyOnyama Limba NEW
Antonio T MaletRussiaElwin Sharvill NEGOTIATION
Leja Z InouyeRussiaStephen Shaw PROPOSAL
Costa E MacleadCanadaAmy Elsner RENEWAL
Ashley Z FigeroaBrazilStephen Shaw PROPOSAL
Stacey L OstroskyFranceXuxue Feng NEGOTIATION
Jennifer T BriddickGermanyAsiya Javayant NEW
Greenwood R PerinIndiaAmy Elsner PROPOSAL
Deepesh Q PaprockiGermanyIoni Bowcher NEGOTIATION
Silvio X IturbideCanadaIvan Magalhaes QUALIFIED
James A BologniaIndiaStephen Shaw RENEWAL
Francesco U FigeroaGermanyAmy Elsner NEGOTIATION
Tony L AmigonGermanyIvan Magalhaes QUALIFIED
David C NestleUnited KingdomAnna Fali RENEWAL
Rodrigues W RimRussiaStephen Shaw RENEWAL
Aditya B FigeroaItalyOnyama Limba UNQUALIFIED
James B InouyeArgentinaBernardo Dominic PROPOSAL
Claire Q FollerBrazilIoni Bowcher QUALIFIED
Leon F FerenczSpainOnyama Limba QUALIFIED
Jeanfrancois B IturbideGermanyAsiya Javayant NEW
Izzy T IturbideArgentinaIvan Magalhaes RENEWAL
Kadeem R AmigonRussiaXuxue Feng NEW
David T KuskoRussiaElwin Sharvill PROPOSAL
Aruna D FerenczSpainStephen Shaw RENEWAL
Aruna U GarufiUnited KingdomAmy Elsner UNQUALIFIED
Deepesh K BologniaSpainIvan Magalhaes NEGOTIATION
Jones Z InouyeAustraliaIvan Magalhaes QUALIFIED
Murillo A GillianIndiaElwin Sharvill QUALIFIED
Aruna C DoeCanadaXuxue Feng NEW
Tony R ShinkoIndiaBernardo Dominic NEGOTIATION
Alejandro R SergiUnited KingdomIoni Bowcher QUALIFIED
Maisha A SaylorsBrazilElwin Sharvill RENEWAL
Jennifer L GarufiIndiaIoni Bowcher NEGOTIATION
Silvio Y VenereUnited KingdomIoni Bowcher RENEWAL
Sinclair N BriddickCanadaXuxue Feng RENEWAL
Ivar E IturbideSpainIoni Bowcher 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>