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
Jennifer P MorascaJapanStephen Shaw UNQUALIFIED
Jeanfrancois U CaldareraArgentinaElwin Sharvill PROPOSAL
Jennifer Z InouyeFranceXuxue Feng RENEWAL
Kaitlin Z CampainIndiaOnyama Limba NEW
Isabel T FerenczRussiaIvan Magalhaes PROPOSAL
Nicolas V FigeroaBrazilAsiya Javayant UNQUALIFIED
Morrow W GillianFranceXuxue Feng RENEWAL
Ashley L SlusarskiArgentinaAsiya Javayant PROPOSAL
Ashley I GillianAustraliaStephen Shaw UNQUALIFIED
Misaki J KolmetzSpainOnyama Limba QUALIFIED
Francesco J GarufiGermanyStephen Shaw NEGOTIATION
Jennifer S AlbaresFranceIoni Bowcher RENEWAL
Juan J DoeCanadaStephen Shaw NEGOTIATION
Wickens Y PerinItalyAmy Elsner RENEWAL
Deepesh O FigeroaIndiaXuxue Feng NEW
Murillo U OldroydArgentinaOnyama Limba RENEWAL
David W MorascaArgentinaIoni Bowcher NEW
Jennifer B TollnerBrazilAsiya Javayant QUALIFIED
Cody S FerenczSpainAnna Fali UNQUALIFIED
Alejandro Z BologniaJapanAmy Elsner PROPOSAL
Greenwood F DilliardJapanAsiya Javayant UNQUALIFIED
Cody H MacleadFranceOnyama Limba NEGOTIATION
Leon P AmigonArgentinaAmy Elsner UNQUALIFIED
Ricardo H WhobreyCanadaStephen Shaw UNQUALIFIED
Maria K MorascaGermanyIvan Magalhaes PROPOSAL
Francesco D NestleIndiaXuxue Feng QUALIFIED
Ashley K FerenczSpainStephen Shaw UNQUALIFIED
Jefferson T RoysterArgentinaIoni Bowcher PROPOSAL
Deepesh K ShinkoAustraliaAsiya Javayant RENEWAL
Chavez K MorascaRussiaIoni Bowcher NEGOTIATION
Tony I FollerItalyAnna Fali RENEWAL
Cody F KuskoItalyBernardo Dominic NEGOTIATION
Kadeem X VocelkaBrazilAnna Fali PROPOSAL
David W SchemmerIndiaOnyama Limba QUALIFIED
Jennifer T GlickSpainAsiya Javayant NEW
Jeanfrancois D IturbideArgentinaStephen Shaw PROPOSAL
Stacey K CampainArgentinaAmy Elsner NEW
Kaitlin T RutaItalyAsiya Javayant PROPOSAL
Alejandro O GillianUnited KingdomBernardo Dominic NEW
Alejandro D SaylorsCanadaOnyama Limba UNQUALIFIED
Ashley D ShinkoArgentinaAmy Elsner RENEWAL
Jeanfrancois R SchemmerItalyElwin Sharvill RENEWAL
Greenwood F CaldareraSpainOnyama Limba PROPOSAL
Kaitlin C NickaAustraliaIoni Bowcher NEGOTIATION
Aika C GauchoFranceOnyama Limba NEGOTIATION
Jones A MacleadUnited KingdomAsiya Javayant NEGOTIATION
Greenwood C ShinkoIndiaStephen Shaw UNQUALIFIED
Mayumi T FigeroaJapanIvan Magalhaes QUALIFIED
Kadeem C FollerFranceOnyama Limba NEW
Sinclair P DilliardJapanAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Morrow M WaycottUnited KingdomAmy Elsner QUALIFIED
Mujtaba C BriddickBrazilIvan Magalhaes NEW
David O GauchoJapanStephen Shaw RENEWAL
Isabel B DoeFranceStephen Shaw QUALIFIED
James I OldroydItalyXuxue Feng PROPOSAL
Ricardo W NestleJapanStephen Shaw QUALIFIED
Cody H FlosiArgentinaStephen Shaw RENEWAL
Francesco A VocelkaRussiaAmy Elsner NEGOTIATION
Ricardo P VenereCanadaBernardo Dominic NEW
Smith R BowleyJapanBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair V ShinkoCanada2026-10-02Chanay, Jeffrey A Esq UNQUALIFIED88Ioni Bowcher
1001Adams Z BologniaArgentina2026-10-20Rousseaux, Michael Esq QUALIFIED71Onyama Limba
1002Francesco G CampainArgentina2026-09-28Truhlar And Truhlar Attys NEGOTIATION8Stephen Shaw
1003Jones K GillianRussia2026-10-23Truhlar And Truhlar Attys QUALIFIED19Asiya Javayant
1004Maisha Z SchemmerRussia2026-10-09Rangoni Of Florence NEGOTIATION33Onyama Limba
1005Kadeem B KolmetzUnited Kingdom2026-10-16Truhlar And Truhlar Attys QUALIFIED83Bernardo Dominic
1006Cody G MaletGermany2026-10-15Chemel, James L Cpa RENEWAL4Stephen Shaw
1007David T MaletGermany2026-10-21Dorl, James J Esq NEW17Ivan Magalhaes
1008Adams C GlickFrance2026-10-02Dorl, James J Esq UNQUALIFIED67Amy Elsner
1009Aruna K KolmetzJapan2026-10-03Chapman, Ross E Esq UNQUALIFIED21Elwin Sharvill
1010Maria K NestleGermany2026-10-16Morlong Associates NEW86Ivan Magalhaes
1011Maisha O InouyeAustralia2026-10-16Buckley Miller Wright NEW58Stephen Shaw
1012Silvio J WaycottFrance2026-10-23Chanay, Jeffrey A Esq RENEWAL32Amy Elsner
1013Jeanfrancois W BriddickIndia2026-09-29Benton, John B Jr RENEWAL19Xuxue Feng
1014Ashley A ButtBrazil2026-10-09Rousseaux, Michael Esq NEW79Bernardo Dominic
1015Juan Y KuskoAustralia2026-10-16Morlong Associates UNQUALIFIED89Amy Elsner
1016Chavez G FigeroaJapan2026-10-21Morlong Associates NEGOTIATION76Ioni Bowcher
1017Munro X MaletBrazil2026-10-13Chemel, James L Cpa QUALIFIED23Onyama Limba
1018Aditya V CaudyIndia2026-10-05King, Christopher A Esq UNQUALIFIED30Xuxue Feng
1019Cody Z RoysterFrance2026-09-27Feiner Bros NEGOTIATION12Ivan Magalhaes
1020Ashley K StockhamSpain2026-10-26Chapman, Ross E Esq UNQUALIFIED87Xuxue Feng
1021Alejandro N PaprockiSpain2026-10-04Truhlar And Truhlar Attys UNQUALIFIED70Asiya Javayant
1022Maisha N WhobreyAustralia2026-10-10Chemel, James L Cpa RENEWAL7Amy Elsner
1023Jennifer W MaletFrance2026-10-07Printing Dimensions NEGOTIATION84Onyama Limba
1024Faith P SlusarskiItaly2026-10-17Truhlar And Truhlar Attys QUALIFIED1Amy Elsner
1025Isabel V IturbideGermany2026-10-14Morlong Associates RENEWAL60Elwin Sharvill
1026Costa B RulapaughCanada2026-10-08Dorl, James J Esq NEW27Bernardo Dominic
1027Faith Y FollerItaly2026-10-05Chemel, James L Cpa QUALIFIED59Xuxue Feng
1028Adams W SaylorsIndia2026-10-01King, Christopher A Esq RENEWAL66Ioni Bowcher
1029Chavez G VocelkaFrance2026-10-16Rousseaux, Michael Esq PROPOSAL67Asiya Javayant
1030Murillo F BologniaFrance2026-10-20Buckley Miller Wright NEGOTIATION57Bernardo Dominic
1031Ivar J GarufiItaly2026-10-05Chemel, James L Cpa NEW21Anna Fali
1032Darci C BriddickAustralia2026-10-16Chemel, James L Cpa PROPOSAL62Ioni Bowcher
1033Morrow F PoquetteGermany2026-09-29Morlong Associates RENEWAL94Bernardo Dominic
1034Emily B CampainIndia2026-10-18Truhlar And Truhlar Attys QUALIFIED88Xuxue Feng
1035Cody O GauchoCanada2026-10-14Chapman, Ross E Esq PROPOSAL60Bernardo Dominic
1036Adams U VocelkaSpain2026-10-12Printing Dimensions NEW31Anna Fali
1037Murillo Z WhobreyUnited Kingdom2026-10-21Morlong Associates RENEWAL85Onyama Limba
1038Chavez O KuskoJapan2026-10-13Dorl, James J Esq NEGOTIATION48Elwin Sharvill
1039Leon J MarrierUnited Kingdom2026-10-09Printing Dimensions PROPOSAL95Ioni Bowcher
1040Maria G TollnerBrazil2026-10-03Chemel, James L Cpa NEGOTIATION7Bernardo Dominic
1041Jeanfrancois O SergiGermany2026-10-02Chanay, Jeffrey A Esq NEW54Xuxue Feng
1042Aruna A RulapaughItaly2026-10-22Truhlar And Truhlar Attys RENEWAL59Ivan Magalhaes
1043Chavez I InouyeRussia2026-10-07Chanay, Jeffrey A Esq RENEWAL36Ioni Bowcher
1044Aditya G PaprockiBrazil2026-10-20Chanay, Jeffrey A Esq NEW80Xuxue Feng
1045Mayumi T OstroskyItaly2026-10-18Chanay, Jeffrey A Esq UNQUALIFIED88Onyama Limba
1046Salvatore O MarrierItaly2026-10-22Chapman, Ross E Esq QUALIFIED86Onyama Limba
1047Isabel K WaycottUnited Kingdom2026-10-23Chemel, James L Cpa UNQUALIFIED75Xuxue Feng
1048Claire N TollnerUnited Kingdom2026-09-27Feiner Bros PROPOSAL12Anna Fali
1049Clifford K OldroydArgentina2026-10-14Morlong Associates PROPOSAL70Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Francesco Z RulapaughCanadaXuxue Feng QUALIFIED
Ricardo D RulapaughJapanElwin Sharvill NEGOTIATION
Juan P TollnerArgentinaStephen Shaw NEW
Leja E WaycottItalyIvan Magalhaes PROPOSAL
Leja K FollerAustraliaStephen Shaw NEGOTIATION
Aruna W RoysterBrazilOnyama Limba RENEWAL
Jones M CaldareraRussiaAnna Fali QUALIFIED
Julie U OldroydFranceAmy Elsner RENEWAL
Munro K NickaUnited KingdomXuxue Feng UNQUALIFIED
Antonio G CaldareraArgentinaStephen Shaw UNQUALIFIED
Munro C BowleyJapanStephen Shaw QUALIFIED
Smith C VenereAustraliaXuxue Feng NEW
Nicolas T NickaJapanIoni Bowcher QUALIFIED
Ivar T NickaIndiaBernardo Dominic PROPOSAL
Smith F WieserItalyAmy Elsner UNQUALIFIED
Wickens N PoquetteUnited KingdomAsiya Javayant QUALIFIED
Maisha B KuskoGermanyAnna Fali RENEWAL
Jones M KuskoArgentinaAmy Elsner PROPOSAL
Murillo Q VenereSpainXuxue Feng QUALIFIED
Silvio J AmigonIndiaIoni Bowcher NEW
Octavia D PoquetteRussiaBernardo Dominic NEGOTIATION
Claire Z GarufiItalyAsiya Javayant NEW
Julie N DarakjyIndiaOnyama Limba RENEWAL
Maria H CaldareraFranceAnna Fali RENEWAL
David G GauchoSpainAsiya Javayant NEGOTIATION
Leja V WaycottRussiaAsiya Javayant UNQUALIFIED
Kadeem P IturbideArgentinaAsiya Javayant NEW
Chavez J FigeroaCanadaIoni Bowcher UNQUALIFIED
Johnson X KolmetzBrazilAsiya Javayant PROPOSAL
Kadeem A WieserAustraliaIoni Bowcher NEGOTIATION
Ricardo S RimGermanyIvan Magalhaes UNQUALIFIED
Francesco L NickaSpainOnyama Limba NEW
Murillo D SergiSpainStephen Shaw PROPOSAL
Stacey C DilliardRussiaElwin Sharvill QUALIFIED
Francesco O FlosiBrazilElwin Sharvill UNQUALIFIED
Rodrigues B RutaJapanAmy Elsner NEGOTIATION
Wickens Z MaletRussiaBernardo Dominic NEW
Isabel C OldroydCanadaBernardo Dominic NEGOTIATION
Juan E ButtUnited KingdomAsiya Javayant NEGOTIATION
Jennifer I OldroydArgentinaStephen Shaw NEGOTIATION
Francesco Y CaudyFranceAsiya Javayant NEGOTIATION
Cody H MaletGermanyXuxue Feng PROPOSAL
Darci T ChuiIndiaBernardo Dominic QUALIFIED
Wickens J SergiIndiaAsiya Javayant PROPOSAL
Wickens P AmigonAustraliaAsiya Javayant QUALIFIED
Cody H ShinkoArgentinaIvan Magalhaes NEW
Jefferson R TollnerUnited KingdomAnna Fali NEW
Ricardo G StensethUnited KingdomXuxue Feng UNQUALIFIED
Tony B PerinBrazilAsiya Javayant UNQUALIFIED
Cody V VocelkaUnited KingdomElwin Sharvill RENEWAL
Frozen Columns
Name
Costa X Ruta
Mayumi C Iturbide
Misaki T Chui
Leja B Figeroa
Julie P Slusarski
Silvio N Inouye
Chavez C Butt
Emily Y Waycott
Faith C Ostrosky
Aditya A Doe
Mayumi T Wieser
Deepesh A Marrier
Cody O Shinko
Jeanfrancois T Vocelka
Mayumi E Paprocki
Johnson Q Vocelka
Stacey X Rim
Cody E Amigon
Misaki X Nicka
Nicolas B Waycott
Wickens G Wieser
Rodrigues U Nestle
David H Paprocki
Mayumi C Perin
Antonio U Morasca
Cody N Shinko
Julie B Whobrey
Greenwood A Shinko
Sinclair H Chui
Costa K Rulapaugh
Leja D Kusko
Tony E Chui
Silvio W Amigon
Tony F Ferencz
Silvio K Albares
Faith H Maclead
Adams E Garufi
Octavia W Stenseth
Octavia U Stenseth
Leon Z Kusko
Juan R Whobrey
David Y Bowley
Nicolas G Iturbide
Stacey J Ostrosky
Arvin N Marrier
Silvio F Stenseth
Silvio N Royster
Octavia K Morasca
Greenwood V Whobrey
Stacey X Flosi
IdCountryDate
1000Japan2026-10-04
1001United Kingdom2026-10-10
1002Germany2026-10-01
1003France2026-09-27
1004Russia2026-09-30
1005Germany2026-10-10
1006India2026-10-02
1007Brazil2026-10-02
1008Spain2026-10-12
1009Italy2026-10-13
1010Russia2026-09-30
1011Canada2026-10-05
1012India2026-10-03
1013Australia2026-10-22
1014Japan2026-10-12
1015India2026-10-20
1016Germany2026-10-26
1017Canada2026-10-06
1018Australia2026-10-24
1019Australia2026-10-26
1020Spain2026-10-11
1021Russia2026-10-17
1022Japan2026-10-13
1023Spain2026-10-25
1024Spain2026-09-30
1025Argentina2026-10-11
1026Russia2026-10-11
1027United Kingdom2026-10-17
1028Canada2026-09-28
1029United Kingdom2026-10-26
1030Japan2026-10-07
1031India2026-10-01
1032Spain2026-10-11
1033India2026-10-06
1034Germany2026-10-18
1035Spain2026-10-14
1036Canada2026-09-30
1037Argentina2026-10-04
1038Australia2026-09-29
1039Japan2026-10-19
1040Argentina2026-10-14
1041Italy2026-10-11
1042Spain2026-09-27
1043Spain2026-09-27
1044France2026-10-19
1045United Kingdom2026-10-09
1046Brazil2026-09-30
1047United Kingdom2026-10-12
1048Australia2026-10-06
1049Canada2026-10-24

On-Demand Data

NameIdCountryDate
Francesco F Caudy1000Germany2026-10-25
Murillo O Figeroa1001Spain2026-10-05
Mujtaba N Darakjy1002India2026-10-16
Arvin M Caudy1003Russia2026-10-02
Ashley P Inouye1004Argentina2026-10-18
Alejandro C Maclead1005Argentina2026-10-24
Smith P Sergi1006United Kingdom2026-10-17
Izzy S Vocelka1007Argentina2026-10-03
Octavia V Morasca1008Australia2026-10-23
Aika E Iturbide1009Spain2026-10-18
James X Venere1010Germany2026-10-06
Wickens N Kusko1011Italy2026-10-17
Morrow L Doe1012Italy2026-09-28
Aditya C Royster1013Argentina2026-10-18
Alejandro V Caldarera1014Argentina2026-10-20
Julie C Malet1015Canada2026-10-03
Faith A Stenseth1016France2026-10-10
Clifford K Stockham1017Canada2026-10-23
Costa Q Stenseth1018Brazil2026-09-29
Izzy V Sergi1019Japan2026-09-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas I AlbaresUnited KingdomOnyama Limba NEW
Smith H TollnerRussiaXuxue Feng PROPOSAL
Kadeem W PerinGermanyOnyama Limba QUALIFIED
Maria A BologniaItalyAsiya Javayant NEW
David V BowleyBrazilAmy Elsner NEW
Arvin F ButtItalyAnna Fali RENEWAL
Johnson F MarrierRussiaIvan Magalhaes QUALIFIED
Kaitlin K WhobreyRussiaElwin Sharvill UNQUALIFIED
Morrow M CaudyArgentinaAmy Elsner NEW
Leja V PaprockiSpainAnna Fali UNQUALIFIED
Tony C SchemmerSpainBernardo Dominic PROPOSAL
Antonio Q SlusarskiCanadaBernardo Dominic RENEWAL
Darci Q WaycottArgentinaAsiya Javayant NEW
Munro Z BologniaItalyStephen Shaw UNQUALIFIED
Arvin Z DoeCanadaElwin Sharvill UNQUALIFIED
Antonio X RutaArgentinaIoni Bowcher RENEWAL
Aruna N InouyeFranceAmy Elsner RENEWAL
Faith B WhobreyIndiaStephen Shaw QUALIFIED
Costa R VenereRussiaAsiya Javayant NEGOTIATION
Mayumi I TollnerRussiaElwin Sharvill QUALIFIED
Kaitlin O MaletFranceStephen Shaw UNQUALIFIED
Jones M BowleyArgentinaAsiya Javayant PROPOSAL
Costa Z KolmetzGermanyBernardo Dominic PROPOSAL
Smith C NickaItalyAnna Fali NEGOTIATION
Darci O BologniaAustraliaIvan Magalhaes NEGOTIATION
Tony L MarrierSpainXuxue Feng PROPOSAL
Francesco G RutaItalyIoni Bowcher UNQUALIFIED
Mujtaba U NestleJapanIoni Bowcher RENEWAL
Clifford K AlbaresAustraliaOnyama Limba RENEWAL
Silvio P WaycottItalyAmy Elsner NEGOTIATION
Greenwood Q KolmetzItalyIoni Bowcher NEW
Claire R BologniaIndiaAnna Fali NEGOTIATION
Octavia E MarrierRussiaBernardo Dominic NEW
Aditya S WhobreyFranceAnna Fali QUALIFIED
Jones Y SlusarskiCanadaBernardo Dominic RENEWAL
Tony R SlusarskiRussiaStephen Shaw NEGOTIATION
Morrow C PerinJapanIvan Magalhaes NEW
Sinclair A VocelkaAustraliaIoni Bowcher UNQUALIFIED
Stacey X GillianCanadaOnyama Limba QUALIFIED
Antonio Y GillianArgentinaBernardo Dominic 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>