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
Stacey Q ButtAustraliaAnna Fali NEGOTIATION
Ivar M TollnerIndiaElwin Sharvill UNQUALIFIED
Jefferson N OldroydSpainXuxue Feng NEGOTIATION
Rodrigues Y BriddickAustraliaOnyama Limba UNQUALIFIED
Sinclair T KuskoBrazilAnna Fali UNQUALIFIED
Aika V VocelkaGermanyElwin Sharvill RENEWAL
Alejandro V NestleUnited KingdomBernardo Dominic NEGOTIATION
Francesco C RulapaughJapanBernardo Dominic NEGOTIATION
Maria Q GillianBrazilOnyama Limba QUALIFIED
Jones V GillianUnited KingdomOnyama Limba PROPOSAL
Ashley J GillianIndiaBernardo Dominic NEW
Jennifer C KolmetzGermanyBernardo Dominic QUALIFIED
Aika W AlbaresIndiaIvan Magalhaes UNQUALIFIED
Maria R ShinkoSpainIvan Magalhaes RENEWAL
Johnson N AlbaresGermanyIvan Magalhaes UNQUALIFIED
Stacey X PaprockiJapanAnna Fali RENEWAL
Ivar F MaletArgentinaAsiya Javayant UNQUALIFIED
Greenwood B GauchoJapanElwin Sharvill NEGOTIATION
Salvatore R VocelkaUnited KingdomElwin Sharvill NEW
Nicolas M StensethIndiaAmy Elsner PROPOSAL
Arvin Q DilliardCanadaAnna Fali UNQUALIFIED
Wickens J CaldareraBrazilStephen Shaw NEW
Smith L CaldareraIndiaOnyama Limba RENEWAL
Murillo T RulapaughRussiaAmy Elsner QUALIFIED
Jefferson X IturbideUnited KingdomAsiya Javayant NEGOTIATION
Leja K MaletCanadaStephen Shaw NEGOTIATION
Claire Q SaylorsIndiaStephen Shaw NEW
Kadeem V MacleadRussiaElwin Sharvill QUALIFIED
Jeanfrancois C MarrierGermanyBernardo Dominic NEGOTIATION
Maisha I ChuiRussiaAnna Fali QUALIFIED
Leon C DilliardRussiaAsiya Javayant NEGOTIATION
Sinclair R WaycottSpainXuxue Feng UNQUALIFIED
Maria W MaletCanadaElwin Sharvill UNQUALIFIED
Chavez A NickaBrazilAnna Fali PROPOSAL
Ricardo H NestleGermanyOnyama Limba PROPOSAL
David M FigeroaGermanyStephen Shaw NEGOTIATION
Clifford J TollnerJapanElwin Sharvill NEGOTIATION
Greenwood B MacleadCanadaIvan Magalhaes NEGOTIATION
Greenwood C InouyeJapanElwin Sharvill UNQUALIFIED
Deepesh S TollnerAustraliaElwin Sharvill PROPOSAL
Salvatore G SlusarskiItalyIvan Magalhaes QUALIFIED
Clifford Q BowleyFranceOnyama Limba NEGOTIATION
Wickens A ChuiAustraliaIvan Magalhaes RENEWAL
Kadeem L FerenczAustraliaOnyama Limba UNQUALIFIED
Izzy V CaldareraJapanElwin Sharvill QUALIFIED
Maria C AlbaresBrazilXuxue Feng NEW
Munro B FollerIndiaStephen Shaw PROPOSAL
Tony B NickaSpainXuxue Feng NEGOTIATION
Ashley H IturbideAustraliaAnna Fali QUALIFIED
Greenwood N MaletBrazilOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ivar G MaletBrazilAnna Fali NEW
Antonio R WaycottFranceIvan Magalhaes PROPOSAL
Morrow V DarakjyJapanAmy Elsner NEW
Silvio C MacleadItalyIvan Magalhaes NEGOTIATION
Misaki R NickaItalyAsiya Javayant QUALIFIED
Rodrigues N RulapaughFranceIvan Magalhaes QUALIFIED
Maria W SchemmerSpainAnna Fali NEGOTIATION
Adams U FerenczIndiaAmy Elsner NEW
Murillo U PoquetteRussiaElwin Sharvill RENEWAL
Claire S CampainItalyAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar M RulapaughJapan2026-09-20King, Christopher A Esq NEGOTIATION41Bernardo Dominic
1001Leon S ButtBrazil2026-08-30Rousseaux, Michael Esq RENEWAL15Onyama Limba
1002Munro A FerenczBrazil2026-09-04Commercial Press QUALIFIED96Ioni Bowcher
1003Octavia J BologniaArgentina2026-09-06Chapman, Ross E Esq PROPOSAL29Stephen Shaw
1004Munro S ShinkoFrance2026-08-25Truhlar And Truhlar Attys QUALIFIED94Anna Fali
1005Murillo B NestleArgentina2026-09-08Chemel, James L Cpa QUALIFIED30Anna Fali
1006Chavez H PoquetteItaly2026-09-15Rangoni Of Florence PROPOSAL34Anna Fali
1007Darci H NestleUnited Kingdom2026-09-02King, Christopher A Esq UNQUALIFIED4Ioni Bowcher
1008Maria U IturbideJapan2026-09-13Rousseaux, Michael Esq PROPOSAL88Anna Fali
1009Deepesh V SaylorsItaly2026-08-25Dorl, James J Esq RENEWAL14Onyama Limba
1010Smith Z InouyeBrazil2026-09-11Truhlar And Truhlar Attys RENEWAL32Stephen Shaw
1011Smith H VenereRussia2026-09-18Truhlar And Truhlar Attys UNQUALIFIED7Asiya Javayant
1012Stacey U WhobreyBrazil2026-08-26Truhlar And Truhlar Attys UNQUALIFIED97Stephen Shaw
1013David B NickaUnited Kingdom2026-09-19Chanay, Jeffrey A Esq PROPOSAL56Xuxue Feng
1014Antonio L ShinkoGermany2026-09-13Buckley Miller Wright RENEWAL33Ivan Magalhaes
1015Faith W StockhamFrance2026-09-16Benton, John B Jr QUALIFIED89Ioni Bowcher
1016Rodrigues D KuskoCanada2026-09-17King, Christopher A Esq NEGOTIATION40Amy Elsner
1017Murillo A RoysterArgentina2026-08-25Benton, John B Jr NEGOTIATION18Bernardo Dominic
1018Alejandro E MaletArgentina2026-09-06Printing Dimensions PROPOSAL49Ioni Bowcher
1019Morrow U CaudyIndia2026-09-16Rousseaux, Michael Esq RENEWAL37Ioni Bowcher
1020Francesco R WhobreyGermany2026-09-03King, Christopher A Esq NEGOTIATION33Asiya Javayant
1021Julie U FollerFrance2026-08-28Printing Dimensions UNQUALIFIED53Ioni Bowcher
1022Isabel S RimSpain2026-08-30Feiner Bros RENEWAL47Asiya Javayant
1023Mayumi Z StockhamGermany2026-09-18Morlong Associates RENEWAL62Onyama Limba
1024Jefferson W VenereItaly2026-08-27King, Christopher A Esq UNQUALIFIED73Stephen Shaw
1025Tony O CaudyIndia2026-09-07King, Christopher A Esq UNQUALIFIED93Stephen Shaw
1026Antonio V GarufiRussia2026-09-07Feiner Bros PROPOSAL98Ivan Magalhaes
1027Wickens R GillianArgentina2026-09-17Commercial Press NEGOTIATION95Stephen Shaw
1028Smith W IturbideAustralia2026-08-31Chanay, Jeffrey A Esq NEW93Elwin Sharvill
1029Adams X AmigonItaly2026-09-01Feltz Printing Service NEW44Asiya Javayant
1030Tony C BologniaCanada2026-09-08Buckley Miller Wright NEGOTIATION76Bernardo Dominic
1031Clifford F StensethIndia2026-09-18Printing Dimensions PROPOSAL40Asiya Javayant
1032Julie U CampainJapan2026-09-06Morlong Associates RENEWAL55Xuxue Feng
1033Munro S FlosiJapan2026-08-22Printing Dimensions UNQUALIFIED56Ivan Magalhaes
1034Munro S OstroskyJapan2026-08-22Feltz Printing Service RENEWAL62Ivan Magalhaes
1035Deepesh P GillianUnited Kingdom2026-09-02Chanay, Jeffrey A Esq RENEWAL39Elwin Sharvill
1036Costa N AlbaresSpain2026-08-31Commercial Press QUALIFIED97Anna Fali
1037Cody K GlickItaly2026-09-12King, Christopher A Esq QUALIFIED64Stephen Shaw
1038Julie S WhobreyJapan2026-09-10Printing Dimensions RENEWAL6Elwin Sharvill
1039Aika B MorascaIndia2026-09-14Feiner Bros UNQUALIFIED49Elwin Sharvill
1040Juan B WieserItaly2026-09-20Benton, John B Jr NEW4Asiya Javayant
1041Aruna X CaudyIndia2026-08-29Chapman, Ross E Esq NEW27Stephen Shaw
1042Morrow F IturbideArgentina2026-09-04Rangoni Of Florence PROPOSAL49Ivan Magalhaes
1043Claire C FollerRussia2026-08-25Truhlar And Truhlar Attys RENEWAL91Onyama Limba
1044Silvio C PaprockiAustralia2026-09-02Morlong Associates QUALIFIED43Asiya Javayant
1045Ivar Q WieserGermany2026-09-18Morlong Associates NEGOTIATION18Stephen Shaw
1046Deepesh T CaldareraJapan2026-08-26Truhlar And Truhlar Attys NEGOTIATION39Onyama Limba
1047Sinclair R AlbaresJapan2026-08-23Feltz Printing Service NEGOTIATION28Ioni Bowcher
1048Claire S OstroskyAustralia2026-08-28Rousseaux, Michael Esq NEGOTIATION31Asiya Javayant
1049Claire G DarakjyFrance2026-09-05Rangoni Of Florence QUALIFIED92Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Jones G MacleadAustraliaStephen Shaw RENEWAL
Sinclair O AlbaresSpainIvan Magalhaes NEGOTIATION
Greenwood L SaylorsGermanyBernardo Dominic NEW
Ricardo Z SergiArgentinaElwin Sharvill UNQUALIFIED
Clifford U MarrierCanadaIoni Bowcher UNQUALIFIED
Greenwood S IturbideItalyAsiya Javayant NEGOTIATION
Faith I GauchoAustraliaIoni Bowcher PROPOSAL
Stacey Q ShinkoUnited KingdomBernardo Dominic QUALIFIED
Sinclair O MarrierFranceOnyama Limba NEW
Silvio L RulapaughAustraliaXuxue Feng NEW
Stacey W VocelkaFranceAnna Fali PROPOSAL
Nicolas T GauchoGermanyIoni Bowcher NEW
Jones I SlusarskiRussiaAmy Elsner QUALIFIED
Kadeem G StockhamRussiaAsiya Javayant RENEWAL
Adams K RimAustraliaAsiya Javayant QUALIFIED
Greenwood Z IturbideItalyOnyama Limba NEGOTIATION
Ashley Z RulapaughJapanStephen Shaw QUALIFIED
Chavez X CaldareraIndiaAmy Elsner UNQUALIFIED
Antonio G DoeArgentinaOnyama Limba PROPOSAL
Jones A VenereItalyBernardo Dominic NEW
Salvatore O MorascaBrazilBernardo Dominic UNQUALIFIED
Cody S CampainJapanBernardo Dominic NEW
Juan L MorascaItalyAsiya Javayant QUALIFIED
Cody B IturbideJapanXuxue Feng PROPOSAL
Silvio K DarakjyBrazilAmy Elsner NEW
Rodrigues L RulapaughSpainElwin Sharvill RENEWAL
Jefferson M CaudySpainOnyama Limba UNQUALIFIED
Jones X KuskoArgentinaAsiya Javayant PROPOSAL
Jeanfrancois J AlbaresUnited KingdomElwin Sharvill QUALIFIED
Juan C FerenczJapanXuxue Feng NEW
Deepesh J FerenczGermanyXuxue Feng PROPOSAL
Rodrigues E BologniaSpainStephen Shaw NEW
Maria C SergiUnited KingdomIvan Magalhaes RENEWAL
Maria Q RulapaughBrazilElwin Sharvill PROPOSAL
Faith K RoysterArgentinaOnyama Limba UNQUALIFIED
Mayumi V StockhamFranceIvan Magalhaes RENEWAL
Nicolas V MaletGermanyAmy Elsner RENEWAL
Jones P FlosiUnited KingdomElwin Sharvill QUALIFIED
Mujtaba G SaylorsArgentinaAnna Fali PROPOSAL
Leon V SlusarskiUnited KingdomStephen Shaw QUALIFIED
Ricardo N SaylorsGermanyIvan Magalhaes PROPOSAL
Maria V NickaItalyIoni Bowcher UNQUALIFIED
Sinclair W PaprockiBrazilIoni Bowcher UNQUALIFIED
Emily M GarufiGermanyBernardo Dominic NEW
Clifford D NestleAustraliaOnyama Limba PROPOSAL
Darci T CampainFranceIvan Magalhaes UNQUALIFIED
Leja K NestleGermanyElwin Sharvill PROPOSAL
Smith P WieserArgentinaAmy Elsner PROPOSAL
Chavez M WhobreyGermanyElwin Sharvill PROPOSAL
Mayumi R MaletGermanyAsiya Javayant PROPOSAL
Frozen Columns
Name
Alejandro C Malet
Maria C Waycott
Darci H Slusarski
James U Amigon
Octavia U Poquette
Mujtaba Y Rim
Misaki C Glick
Jeanfrancois D Whobrey
Silvio G Poquette
Clifford Z Doe
Francesco J Doe
Costa Q Sergi
Arvin V Bolognia
Ricardo G Morasca
Maisha N Tollner
Isabel O Ruta
Kaitlin V Doe
Costa X Kolmetz
Wickens G Malet
Wickens N Darakjy
Arvin S Waycott
Francesco G Bowley
Aika V Vocelka
Jefferson Q Nicka
Sinclair Z Waycott
Maisha Y Morasca
Jones L Albares
Leon A Gaucho
Aditya B Inouye
Wickens V Nestle
Misaki E Perin
Ricardo K Kolmetz
Chavez N Malet
Costa X Poquette
Alejandro O Waycott
Alejandro C Gillian
Murillo I Butt
Julie L Bowley
Nicolas K Inouye
Salvatore E Saylors
Leja Y Caldarera
Ashley Z Oldroyd
Jennifer I Shinko
Aika F Kolmetz
Izzy Y Tollner
Mayumi N Rulapaugh
Morrow A Inouye
Chavez Q Rulapaugh
Smith U Garufi
Leja F Kolmetz
IdCountryDate
1000Australia2026-09-19
1001France2026-08-31
1002India2026-09-19
1003Brazil2026-09-07
1004Germany2026-09-16
1005Japan2026-09-12
1006India2026-08-23
1007Argentina2026-08-27
1008United Kingdom2026-09-07
1009Brazil2026-08-24
1010Argentina2026-09-12
1011Canada2026-09-16
1012Germany2026-09-07
1013Russia2026-08-28
1014Japan2026-08-22
1015France2026-09-15
1016Germany2026-09-20
1017United Kingdom2026-08-30
1018France2026-09-17
1019India2026-09-17
1020Spain2026-09-08
1021Spain2026-09-20
1022Russia2026-08-29
1023Australia2026-09-04
1024India2026-08-29
1025France2026-09-17
1026Japan2026-08-27
1027Italy2026-09-08
1028Canada2026-09-16
1029Italy2026-09-11
1030Italy2026-08-27
1031United Kingdom2026-08-23
1032Japan2026-08-31
1033Germany2026-09-17
1034Brazil2026-08-29
1035Canada2026-08-23
1036Argentina2026-09-05
1037Germany2026-09-11
1038Spain2026-08-22
1039Germany2026-09-19
1040France2026-08-28
1041Canada2026-09-19
1042Argentina2026-09-06
1043Italy2026-08-24
1044Argentina2026-08-23
1045Spain2026-08-27
1046Canada2026-09-13
1047Spain2026-09-16
1048Germany2026-09-08
1049Russia2026-08-27

On-Demand Data

NameIdCountryDate
Arvin H Gaucho1000Brazil2026-08-27
Jennifer Q Amigon1001Argentina2026-09-14
Maisha W Inouye1002Spain2026-09-02
Antonio W Morasca1003Canada2026-09-20
Chavez G Kolmetz1004Brazil2026-09-15
Cody B Dilliard1005Brazil2026-09-02
Sinclair V Schemmer1006Brazil2026-08-23
Stacey V Campain1007Germany2026-08-31
Kadeem F Nestle1008Brazil2026-08-23
Juan L Marrier1009France2026-08-24
Ricardo M Nestle1010Germany2026-09-15
Munro L Caldarera1011Argentina2026-08-28
Isabel L Maclead1012Japan2026-08-28
Murillo W Caldarera1013Australia2026-09-01
Wickens I Wieser1014France2026-08-29
Francesco R Rulapaugh1015Japan2026-08-27
Munro D Inouye1016Brazil2026-09-08
Jefferson L Garufi1017Japan2026-09-17
Francesco J Malet1018Brazil2026-08-28
Johnson C Perin1019Australia2026-08-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro X DoeGermanyXuxue Feng QUALIFIED
Leja Y SlusarskiSpainAnna Fali UNQUALIFIED
Maria Y DarakjyRussiaAmy Elsner PROPOSAL
Sinclair R MacleadBrazilStephen Shaw UNQUALIFIED
Morrow C KuskoAustraliaAsiya Javayant NEW
Sinclair J WhobreyItalyAnna Fali UNQUALIFIED
Faith X DilliardGermanyElwin Sharvill UNQUALIFIED
Faith F WaycottFranceIvan Magalhaes NEGOTIATION
Morrow H RoysterIndiaOnyama Limba NEGOTIATION
James N SergiBrazilBernardo Dominic RENEWAL
Aika C AlbaresItalyAsiya Javayant QUALIFIED
Izzy P MorascaArgentinaAnna Fali NEW
Nicolas G CaudyJapanXuxue Feng RENEWAL
Nicolas P AmigonRussiaIvan Magalhaes QUALIFIED
Costa E GauchoSpainOnyama Limba UNQUALIFIED
Tony N VocelkaArgentinaAnna Fali NEW
Ashley W AlbaresRussiaOnyama Limba RENEWAL
Leon Z TollnerArgentinaIoni Bowcher RENEWAL
Aditya J PerinFranceElwin Sharvill NEW
Julie B GauchoBrazilIoni Bowcher QUALIFIED
Silvio Q FerenczCanadaIvan Magalhaes UNQUALIFIED
Ashley O WhobreyCanadaAmy Elsner NEGOTIATION
Claire A WaycottJapanIoni Bowcher QUALIFIED
Johnson T DoeCanadaAsiya Javayant PROPOSAL
Mayumi X DarakjyCanadaIvan Magalhaes NEGOTIATION
Tony A MarrierJapanStephen Shaw NEW
Jennifer J DoeSpainOnyama Limba NEGOTIATION
Faith Q GauchoCanadaIoni Bowcher NEW
Jeanfrancois X ShinkoUnited KingdomElwin Sharvill QUALIFIED
Silvio T KuskoAustraliaIoni Bowcher QUALIFIED
Jones A VocelkaJapanIvan Magalhaes NEW
Wickens M RutaRussiaElwin Sharvill NEGOTIATION
David O DilliardAustraliaBernardo Dominic NEGOTIATION
Chavez W GauchoCanadaAsiya Javayant RENEWAL
Stacey Z ChuiIndiaIvan Magalhaes UNQUALIFIED
Wickens D WhobreyIndiaAmy Elsner UNQUALIFIED
Adams T FigeroaSpainElwin Sharvill UNQUALIFIED
Aika F TollnerGermanyIvan Magalhaes RENEWAL
Jones F GlickArgentinaAmy Elsner QUALIFIED
Tony E PerinCanadaStephen Shaw RENEWAL

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