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
Salvatore G StockhamItalyIvan Magalhaes NEGOTIATION
Emily O DoeBrazilAsiya Javayant UNQUALIFIED
Jennifer C FigeroaCanadaStephen Shaw UNQUALIFIED
Costa U OstroskyJapanAsiya Javayant UNQUALIFIED
Darci Y RutaBrazilIvan Magalhaes NEW
Clifford D MaletSpainXuxue Feng PROPOSAL
Ricardo H MacleadRussiaStephen Shaw NEGOTIATION
Jennifer L GauchoCanadaAnna Fali NEGOTIATION
David X VocelkaFranceStephen Shaw NEW
Wickens J OstroskyAustraliaBernardo Dominic PROPOSAL
Kaitlin B AlbaresFranceAnna Fali RENEWAL
Arvin N FlosiAustraliaStephen Shaw PROPOSAL
Stacey L NestleFranceIoni Bowcher QUALIFIED
Johnson Q CaldareraItalyStephen Shaw QUALIFIED
Maisha D SlusarskiJapanXuxue Feng UNQUALIFIED
Misaki H AlbaresItalyOnyama Limba UNQUALIFIED
Maria I MarrierIndiaStephen Shaw RENEWAL
Kaitlin O MacleadFranceStephen Shaw UNQUALIFIED
Emily C RoysterIndiaIvan Magalhaes NEW
Juan W WaycottSpainAsiya Javayant PROPOSAL
Juan I OldroydFranceIvan Magalhaes PROPOSAL
Ricardo Y MacleadCanadaStephen Shaw NEGOTIATION
Jeanfrancois Y AlbaresArgentinaAnna Fali UNQUALIFIED
Juan A GarufiAustraliaAnna Fali NEGOTIATION
Juan V WaycottArgentinaAmy Elsner NEW
Jeanfrancois W KolmetzIndiaIoni Bowcher QUALIFIED
Wickens T StockhamGermanyStephen Shaw NEW
Jeanfrancois L DarakjyJapanAsiya Javayant RENEWAL
Nicolas Q DarakjyGermanyAsiya Javayant QUALIFIED
Salvatore P RutaItalyElwin Sharvill NEGOTIATION
Aditya N CaldareraCanadaIoni Bowcher QUALIFIED
Ivar L MarrierArgentinaIvan Magalhaes UNQUALIFIED
Cody E InouyeSpainOnyama Limba PROPOSAL
Wickens H StockhamSpainXuxue Feng UNQUALIFIED
Emily T WieserItalyIvan Magalhaes NEW
Chavez B FollerItalyAsiya Javayant RENEWAL
Munro O GillianAustraliaAnna Fali NEW
Isabel P ChuiSpainStephen Shaw QUALIFIED
Rodrigues P RutaBrazilIvan Magalhaes PROPOSAL
Jones L SaylorsJapanBernardo Dominic UNQUALIFIED
Jones W DilliardRussiaOnyama Limba PROPOSAL
Francesco D StockhamBrazilBernardo Dominic RENEWAL
Darci X CaudyRussiaAmy Elsner NEGOTIATION
Johnson V MarrierIndiaElwin Sharvill PROPOSAL
Ricardo P OldroydFranceAsiya Javayant NEGOTIATION
Adams C MorascaIndiaIvan Magalhaes QUALIFIED
Julie J DoeSpainIvan Magalhaes NEGOTIATION
Cody Y FollerJapanOnyama Limba QUALIFIED
Johnson U RulapaughArgentinaIoni Bowcher PROPOSAL
Emily C InouyeCanadaAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Wickens G MaletRussiaAmy Elsner QUALIFIED
Misaki W FerenczJapanAnna Fali QUALIFIED
Kaitlin F KolmetzArgentinaAsiya Javayant RENEWAL
Aika G SergiItalyIoni Bowcher NEW
Silvio P WhobreyBrazilIvan Magalhaes NEW
Misaki R BriddickUnited KingdomElwin Sharvill QUALIFIED
Deepesh E MaletSpainAmy Elsner NEGOTIATION
Octavia Q ShinkoRussiaAnna Fali PROPOSAL
Greenwood D RoysterItalyXuxue Feng QUALIFIED
Izzy L SaylorsJapanElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues Y KolmetzCanada2026-10-25Morlong Associates NEW36Ioni Bowcher
1001Aika Q MacleadBrazil2026-10-26Buckley Miller Wright UNQUALIFIED45Onyama Limba
1002Morrow M ShinkoJapan2026-10-16Rousseaux, Michael Esq RENEWAL32Elwin Sharvill
1003Alejandro I MarrierRussia2026-10-22Feltz Printing Service NEW65Bernardo Dominic
1004Aika E DilliardGermany2026-10-28Chemel, James L Cpa UNQUALIFIED30Ivan Magalhaes
1005Isabel X FollerBrazil2026-10-07Buckley Miller Wright NEW78Elwin Sharvill
1006Ivar V StensethFrance2026-10-20Chemel, James L Cpa QUALIFIED68Bernardo Dominic
1007Salvatore J GarufiGermany2026-10-28Feiner Bros UNQUALIFIED68Amy Elsner
1008Morrow J NestleIndia2026-10-19Feltz Printing Service QUALIFIED63Xuxue Feng
1009Greenwood N DarakjySpain2026-10-22Chemel, James L Cpa NEGOTIATION14Amy Elsner
1010Izzy D FerenczJapan2026-10-17Feiner Bros QUALIFIED67Anna Fali
1011Maisha Q WhobreyGermany2026-10-15Morlong Associates PROPOSAL43Bernardo Dominic
1012Adams J RimItaly2026-10-24Truhlar And Truhlar Attys UNQUALIFIED96Xuxue Feng
1013Silvio S MarrierUnited Kingdom2026-10-26Benton, John B Jr UNQUALIFIED17Xuxue Feng
1014Antonio G PaprockiGermany2026-10-09Chemel, James L Cpa RENEWAL59Asiya Javayant
1015Maisha L GarufiUnited Kingdom2026-11-01Chapman, Ross E Esq RENEWAL16Bernardo Dominic
1016Clifford Y FlosiRussia2026-10-12Printing Dimensions NEW87Ioni Bowcher
1017Stacey H MorascaSpain2026-11-03Truhlar And Truhlar Attys NEW83Onyama Limba
1018Octavia Q WaycottFrance2026-10-31Truhlar And Truhlar Attys NEW76Bernardo Dominic
1019Clifford N GauchoUnited Kingdom2026-10-17King, Christopher A Esq QUALIFIED6Onyama Limba
1020Leon O GarufiUnited Kingdom2026-11-04Feiner Bros RENEWAL16Asiya Javayant
1021Arvin D FerenczFrance2026-11-03Rousseaux, Michael Esq PROPOSAL68Anna Fali
1022Ashley D VocelkaIndia2026-10-10Rangoni Of Florence QUALIFIED82Anna Fali
1023Morrow B ChuiArgentina2026-10-22Dorl, James J Esq UNQUALIFIED78Anna Fali
1024Greenwood U FigeroaAustralia2026-10-12Benton, John B Jr PROPOSAL46Amy Elsner
1025Wickens A InouyeAustralia2026-10-14Feiner Bros NEW57Ioni Bowcher
1026Francesco E ChuiRussia2026-10-07Rousseaux, Michael Esq UNQUALIFIED1Asiya Javayant
1027Silvio N NickaArgentina2026-10-30Chanay, Jeffrey A Esq PROPOSAL67Elwin Sharvill
1028Silvio V CampainBrazil2026-10-24Rousseaux, Michael Esq UNQUALIFIED50Elwin Sharvill
1029Mayumi F DilliardFrance2026-11-02Commercial Press NEGOTIATION32Onyama Limba
1030Nicolas Y FerenczJapan2026-10-23Rangoni Of Florence QUALIFIED17Xuxue Feng
1031Stacey M SaylorsGermany2026-10-31Chemel, James L Cpa RENEWAL61Ivan Magalhaes
1032Faith X StensethCanada2026-10-09Feltz Printing Service RENEWAL17Elwin Sharvill
1033Costa R NickaFrance2026-10-30Feiner Bros QUALIFIED41Onyama Limba
1034Maria G NestleJapan2026-10-09Truhlar And Truhlar Attys NEGOTIATION8Bernardo Dominic
1035Juan N WhobreyRussia2026-10-19Chapman, Ross E Esq RENEWAL96Xuxue Feng
1036Misaki V ChuiItaly2026-10-07Dorl, James J Esq RENEWAL3Anna Fali
1037Deepesh L AlbaresGermany2026-10-28Feltz Printing Service NEW11Ivan Magalhaes
1038Maria L WhobreyCanada2026-10-31Dorl, James J Esq PROPOSAL68Onyama Limba
1039Antonio R RimItaly2026-10-21Chapman, Ross E Esq NEGOTIATION11Bernardo Dominic
1040Misaki R SlusarskiFrance2026-10-17Truhlar And Truhlar Attys NEGOTIATION88Asiya Javayant
1041Julie K WhobreyArgentina2026-10-16Chanay, Jeffrey A Esq NEW58Ioni Bowcher
1042Kadeem Y SaylorsFrance2026-10-30Buckley Miller Wright PROPOSAL19Stephen Shaw
1043Greenwood U AlbaresSpain2026-11-03King, Christopher A Esq QUALIFIED83Ivan Magalhaes
1044Aika O PaprockiRussia2026-10-26Chapman, Ross E Esq PROPOSAL71Bernardo Dominic
1045Greenwood O CaldareraIndia2026-10-13Morlong Associates NEGOTIATION42Xuxue Feng
1046David C SaylorsUnited Kingdom2026-11-04Rangoni Of Florence UNQUALIFIED66Amy Elsner
1047Jones G FlosiRussia2026-10-22Dorl, James J Esq QUALIFIED40Amy Elsner
1048Izzy L RulapaughBrazil2026-10-12Chanay, Jeffrey A Esq UNQUALIFIED78Onyama Limba
1049Emily V RimRussia2026-10-28Benton, John B Jr NEW61Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Faith E RutaFranceOnyama Limba UNQUALIFIED
Emily D FerenczAustraliaStephen Shaw NEGOTIATION
Morrow M AmigonIndiaElwin Sharvill PROPOSAL
Silvio Z SlusarskiSpainElwin Sharvill NEGOTIATION
Isabel C MaletUnited KingdomOnyama Limba NEGOTIATION
Emily T RulapaughFranceAmy Elsner UNQUALIFIED
Darci I GlickJapanXuxue Feng RENEWAL
Tony X MaletIndiaAnna Fali NEW
Antonio R BowleyItalyAmy Elsner PROPOSAL
Darci K CaudyAustraliaAsiya Javayant RENEWAL
James J InouyeBrazilIvan Magalhaes QUALIFIED
Adams I RulapaughRussiaOnyama Limba NEGOTIATION
Aditya V StockhamJapanAmy Elsner NEGOTIATION
Alejandro H MarrierIndiaAnna Fali QUALIFIED
Darci T VenereIndiaIoni Bowcher QUALIFIED
Kaitlin S OstroskyCanadaIoni Bowcher UNQUALIFIED
Jennifer E WieserRussiaElwin Sharvill QUALIFIED
Julie N PerinFranceBernardo Dominic QUALIFIED
Aruna G ButtUnited KingdomElwin Sharvill PROPOSAL
Emily Q BowleyGermanyBernardo Dominic NEW
Ricardo Z KuskoCanadaAnna Fali RENEWAL
Faith F CaudyUnited KingdomAnna Fali PROPOSAL
Greenwood U RimAustraliaBernardo Dominic NEW
David M BriddickUnited KingdomAnna Fali QUALIFIED
Leja Z KolmetzAustraliaBernardo Dominic QUALIFIED
Arvin H MacleadAustraliaIvan Magalhaes NEW
Kaitlin S GarufiGermanyElwin Sharvill RENEWAL
Juan K MaletAustraliaIvan Magalhaes NEW
Octavia C WieserAustraliaBernardo Dominic NEGOTIATION
Francesco E DoeIndiaElwin Sharvill NEGOTIATION
Rodrigues U WieserRussiaIoni Bowcher UNQUALIFIED
Jennifer R GauchoSpainOnyama Limba UNQUALIFIED
Adams R DarakjyCanadaIoni Bowcher NEW
Claire B KolmetzArgentinaOnyama Limba QUALIFIED
Isabel V ShinkoAustraliaXuxue Feng UNQUALIFIED
Tony A FollerIndiaBernardo Dominic UNQUALIFIED
Adams B FlosiItalyIvan Magalhaes PROPOSAL
Misaki H NickaFranceAmy Elsner UNQUALIFIED
Jennifer K KolmetzUnited KingdomAmy Elsner UNQUALIFIED
Darci Q KolmetzCanadaIvan Magalhaes NEW
Nicolas Z WieserBrazilOnyama Limba NEGOTIATION
Smith C MacleadGermanyElwin Sharvill UNQUALIFIED
Alejandro V SergiFranceAmy Elsner PROPOSAL
James Y ChuiArgentinaAsiya Javayant NEGOTIATION
Salvatore E DoeSpainAsiya Javayant UNQUALIFIED
David D MarrierIndiaStephen Shaw NEW
Jennifer I SchemmerIndiaXuxue Feng QUALIFIED
Rodrigues D MaletAustraliaAmy Elsner RENEWAL
Ashley V PoquetteIndiaAsiya Javayant QUALIFIED
Jennifer F VocelkaCanadaAsiya Javayant QUALIFIED
Frozen Columns
Name
Johnson K Caldarera
Maisha J Oldroyd
Jefferson M Venere
Sinclair Z Vocelka
Faith H Malet
Emily J Amigon
Julie B Slusarski
Wickens O Marrier
Costa A Butt
Cody G Dilliard
Izzy N Chui
Jennifer D Paprocki
Emily D Malet
James I Maclead
Jones N Amigon
Jones D Kusko
Antonio I Slusarski
Antonio G Kusko
Jeanfrancois C Doe
Adams K Perin
Claire C Wieser
Jennifer W Ruta
Octavia L Waycott
Morrow B Slusarski
Murillo P Poquette
Salvatore N Darakjy
Deepesh V Poquette
Leja P Oldroyd
Rodrigues J Iturbide
Octavia P Paprocki
Stacey D Gaucho
Maria O Gillian
Wickens W Dilliard
Antonio D Ruta
Faith K Whobrey
Emily G Nicka
Francesco R Stenseth
Antonio H Gillian
Greenwood T Bolognia
Jeanfrancois B Malet
Greenwood S Garufi
James U Sergi
Darci V Sergi
Claire E Doe
Silvio V Amigon
Sinclair N Dilliard
Leja Q Campain
Francesco J Marrier
Aditya L Malet
Antonio D Briddick
IdCountryDate
1000India2026-10-07
1001Spain2026-11-03
1002Spain2026-10-12
1003Russia2026-10-11
1004Australia2026-10-26
1005Spain2026-10-12
1006India2026-11-04
1007Brazil2026-10-28
1008Germany2026-10-31
1009India2026-10-15
1010Canada2026-10-13
1011Australia2026-10-28
1012Argentina2026-10-29
1013Russia2026-11-04
1014United Kingdom2026-10-13
1015Argentina2026-11-02
1016Australia2026-11-03
1017India2026-10-07
1018United Kingdom2026-10-25
1019Japan2026-10-13
1020Argentina2026-10-16
1021Brazil2026-10-31
1022Argentina2026-10-06
1023Canada2026-10-30
1024Argentina2026-10-08
1025Canada2026-10-20
1026India2026-10-29
1027Brazil2026-10-27
1028Russia2026-10-09
1029Argentina2026-10-29
1030Argentina2026-11-03
1031Canada2026-10-25
1032United Kingdom2026-10-10
1033Australia2026-10-07
1034Japan2026-10-25
1035Spain2026-10-20
1036Argentina2026-10-14
1037Australia2026-11-02
1038Brazil2026-10-08
1039Italy2026-10-17
1040Germany2026-10-30
1041United Kingdom2026-11-02
1042Japan2026-10-07
1043Russia2026-10-25
1044Spain2026-10-10
1045Australia2026-10-25
1046Italy2026-10-29
1047United Kingdom2026-10-20
1048India2026-10-10
1049Russia2026-10-18

On-Demand Data

NameIdCountryDate
Sinclair D Poquette1000Spain2026-10-21
Maria W Oldroyd1001United Kingdom2026-10-10
Ivar C Gaucho1002Germany2026-10-19
Mayumi L Figeroa1003Argentina2026-10-19
Julie J Morasca1004United Kingdom2026-10-13
Wickens B Stenseth1005France2026-10-13
Francesco W Caudy1006Australia2026-10-16
Morrow H Dilliard1007Germany2026-10-07
Kaitlin Y Bowley1008Brazil2026-10-28
Claire K Flosi1009Brazil2026-10-10
David H Marrier1010India2026-10-14
Jeanfrancois W Royster1011Canada2026-10-18
Stacey L Whobrey1012Australia2026-10-14
Tony L Stockham1013Germany2026-11-03
Mayumi B Gillian1014France2026-11-03
Maria I Foller1015Spain2026-10-08
Claire S Saylors1016Japan2026-10-07
Kadeem D Royster1017France2026-10-23
Leja R Amigon1018Germany2026-10-11
Leja C Caudy1019Canada2026-10-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro H FerenczItalyAmy Elsner QUALIFIED
Maisha M PaprockiArgentinaIoni Bowcher RENEWAL
Isabel M RulapaughIndiaIvan Magalhaes PROPOSAL
Octavia L PerinFranceAsiya Javayant QUALIFIED
Smith M SergiGermanyIvan Magalhaes QUALIFIED
Nicolas O KuskoItalyIvan Magalhaes PROPOSAL
Aika I DarakjyRussiaElwin Sharvill QUALIFIED
Maisha U BriddickItalyAsiya Javayant NEGOTIATION
Misaki H GlickAustraliaAnna Fali PROPOSAL
Sinclair S KuskoIndiaStephen Shaw NEGOTIATION
Costa H BriddickRussiaElwin Sharvill QUALIFIED
Jefferson D RoysterUnited KingdomXuxue Feng RENEWAL
Jefferson I FollerBrazilStephen Shaw UNQUALIFIED
Julie Z GarufiSpainAmy Elsner NEW
Faith O OstroskyRussiaStephen Shaw NEW
Greenwood H BriddickAustraliaBernardo Dominic NEGOTIATION
Adams C InouyeCanadaIoni Bowcher UNQUALIFIED
Tony R PerinBrazilBernardo Dominic NEGOTIATION
Juan P BriddickCanadaIvan Magalhaes NEW
Maria N MaletRussiaBernardo Dominic UNQUALIFIED
Sinclair G DilliardRussiaOnyama Limba NEW
Mujtaba B RutaCanadaStephen Shaw PROPOSAL
Jones J ShinkoAustraliaIvan Magalhaes QUALIFIED
Claire J DarakjyIndiaIvan Magalhaes NEW
Cody E PaprockiUnited KingdomAsiya Javayant UNQUALIFIED
Ricardo E DoeBrazilIoni Bowcher NEW
Darci C RimBrazilOnyama Limba UNQUALIFIED
Ashley V PoquetteFranceAsiya Javayant PROPOSAL
Murillo F GlickJapanAmy Elsner QUALIFIED
Misaki Q VocelkaGermanyAnna Fali UNQUALIFIED
Claire E DoeGermanyXuxue Feng NEGOTIATION
Izzy I TollnerRussiaStephen Shaw QUALIFIED
Mayumi Y FollerGermanyAmy Elsner PROPOSAL
David H KolmetzArgentinaIvan Magalhaes PROPOSAL
Misaki M WhobreyBrazilXuxue Feng NEGOTIATION
Clifford T SlusarskiSpainAnna Fali QUALIFIED
Francesco N GillianArgentinaIoni Bowcher UNQUALIFIED
Jeanfrancois H BowleySpainAnna Fali UNQUALIFIED
Clifford X PaprockiBrazilBernardo Dominic PROPOSAL
Cody Y DarakjyUnited KingdomAmy Elsner 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>