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
Isabel M BowleySpainAmy Elsner UNQUALIFIED
Stacey W KolmetzSpainAnna Fali UNQUALIFIED
Chavez M FigeroaGermanyStephen Shaw UNQUALIFIED
Julie C GauchoBrazilAnna Fali NEGOTIATION
Aika N KuskoAustraliaOnyama Limba NEW
Misaki Q IturbideJapanAmy Elsner NEGOTIATION
Emily F SchemmerArgentinaXuxue Feng QUALIFIED
Jefferson O TollnerItalyIoni Bowcher NEW
Octavia H StockhamFranceIvan Magalhaes RENEWAL
Costa Q RutaAustraliaIoni Bowcher NEW
Costa S PaprockiJapanIvan Magalhaes NEGOTIATION
Octavia V StockhamIndiaElwin Sharvill NEGOTIATION
Cody J FerenczCanadaIoni Bowcher UNQUALIFIED
James Q AmigonFranceAnna Fali UNQUALIFIED
Alejandro E MacleadSpainAsiya Javayant UNQUALIFIED
Juan J NickaBrazilAsiya Javayant PROPOSAL
Leja E FerenczJapanAmy Elsner RENEWAL
Wickens V BowleyAustraliaIoni Bowcher RENEWAL
Ashley S DoeCanadaAmy Elsner RENEWAL
Misaki E NickaUnited KingdomIvan Magalhaes NEW
Smith I CampainBrazilIvan Magalhaes QUALIFIED
Mujtaba S FlosiFranceBernardo Dominic NEW
Smith S KolmetzRussiaAnna Fali QUALIFIED
Wickens V AlbaresFranceElwin Sharvill UNQUALIFIED
Murillo M RimAustraliaStephen Shaw NEGOTIATION
Emily X BowleyGermanyXuxue Feng NEGOTIATION
Salvatore Q PaprockiRussiaIoni Bowcher RENEWAL
Jennifer O PoquetteAustraliaXuxue Feng RENEWAL
Cody O VenereUnited KingdomAmy Elsner PROPOSAL
Jefferson X RulapaughJapanAmy Elsner NEGOTIATION
Francesco H MaletBrazilIvan Magalhaes QUALIFIED
Chavez T SergiGermanyStephen Shaw PROPOSAL
Jeanfrancois A AmigonJapanIoni Bowcher PROPOSAL
Emily N SaylorsGermanyOnyama Limba RENEWAL
Maisha T KolmetzUnited KingdomXuxue Feng PROPOSAL
Adams H MorascaIndiaAsiya Javayant NEW
Jefferson K FlosiIndiaBernardo Dominic PROPOSAL
Izzy T KolmetzIndiaStephen Shaw QUALIFIED
Chavez C WieserItalyIoni Bowcher PROPOSAL
Cody O PoquetteBrazilBernardo Dominic RENEWAL
Antonio Z OstroskyGermanyAmy Elsner RENEWAL
Adams X MaletBrazilAmy Elsner RENEWAL
Kadeem H RoysterRussiaAmy Elsner UNQUALIFIED
Maria D TollnerIndiaIvan Magalhaes NEGOTIATION
Claire J KolmetzFranceAmy Elsner UNQUALIFIED
Julie T BowleyJapanElwin Sharvill PROPOSAL
Aika I StockhamAustraliaIvan Magalhaes QUALIFIED
Morrow M NestleAustraliaOnyama Limba NEW
Francesco U CaldareraItalyStephen Shaw NEW
Isabel T MaletIndiaElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Kadeem A GauchoArgentinaXuxue Feng NEGOTIATION
Jeanfrancois H PaprockiJapanStephen Shaw QUALIFIED
Jeanfrancois T TollnerItalyElwin Sharvill UNQUALIFIED
Maria I StockhamIndiaAsiya Javayant NEW
Johnson D StockhamSpainStephen Shaw QUALIFIED
Kadeem L AmigonItalyIvan Magalhaes QUALIFIED
Maria T RimFranceElwin Sharvill UNQUALIFIED
Rodrigues N WaycottRussiaOnyama Limba UNQUALIFIED
Johnson K FerenczRussiaAnna Fali NEW
James Z PerinRussiaBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez J GillianSpain2026-10-11Truhlar And Truhlar Attys QUALIFIED13Amy Elsner
1001Juan M MaletFrance2026-10-12Chapman, Ross E Esq PROPOSAL40Ioni Bowcher
1002Tony X OldroydRussia2026-10-04Truhlar And Truhlar Attys QUALIFIED31Amy Elsner
1003Claire R DilliardAustralia2026-10-02Buckley Miller Wright NEGOTIATION59Asiya Javayant
1004Nicolas H AlbaresUnited Kingdom2026-10-18Benton, John B Jr RENEWAL17Stephen Shaw
1005Sinclair Q SlusarskiFrance2026-10-10Truhlar And Truhlar Attys NEGOTIATION76Bernardo Dominic
1006Julie Y WhobreyFrance2026-10-13Commercial Press RENEWAL52Amy Elsner
1007James K StockhamGermany2026-10-01Chemel, James L Cpa QUALIFIED75Elwin Sharvill
1008Smith O OstroskyCanada2026-10-01Rousseaux, Michael Esq NEGOTIATION7Anna Fali
1009Claire V StensethFrance2026-10-04Commercial Press RENEWAL57Xuxue Feng
1010Leja W GillianUnited Kingdom2026-10-19Feiner Bros RENEWAL25Xuxue Feng
1011Adams N FerenczGermany2026-10-25Truhlar And Truhlar Attys RENEWAL5Elwin Sharvill
1012James I CampainSpain2026-10-08Printing Dimensions NEW82Ivan Magalhaes
1013Aruna O MaletJapan2026-10-26Rangoni Of Florence RENEWAL50Amy Elsner
1014Cody N OstroskyCanada2026-09-27Benton, John B Jr UNQUALIFIED52Ioni Bowcher
1015Aruna E KuskoIndia2026-10-08Chanay, Jeffrey A Esq RENEWAL36Bernardo Dominic
1016Jeanfrancois S RimFrance2026-09-27Rousseaux, Michael Esq PROPOSAL60Anna Fali
1017Sinclair R GlickFrance2026-10-26Buckley Miller Wright QUALIFIED84Bernardo Dominic
1018David A OstroskyJapan2026-09-27Rangoni Of Florence UNQUALIFIED79Ivan Magalhaes
1019Silvio N CampainGermany2026-10-24King, Christopher A Esq RENEWAL92Ivan Magalhaes
1020Adams I NestleFrance2026-10-07Chemel, James L Cpa NEW96Amy Elsner
1021Jennifer A MorascaItaly2026-10-08King, Christopher A Esq PROPOSAL45Asiya Javayant
1022Leon N NestleBrazil2026-10-01Printing Dimensions UNQUALIFIED30Bernardo Dominic
1023Wickens J KuskoArgentina2026-10-07King, Christopher A Esq NEW32Onyama Limba
1024Jeanfrancois Y NestleFrance2026-10-15Rousseaux, Michael Esq QUALIFIED54Elwin Sharvill
1025Chavez R CampainFrance2026-10-19Feiner Bros RENEWAL91Ivan Magalhaes
1026Jeanfrancois B FigeroaIndia2026-10-06Rousseaux, Michael Esq UNQUALIFIED92Elwin Sharvill
1027Stacey D CaudyUnited Kingdom2026-09-29Chapman, Ross E Esq QUALIFIED50Anna Fali
1028Ivar P InouyeJapan2026-10-23Dorl, James J Esq UNQUALIFIED8Ivan Magalhaes
1029Greenwood E FigeroaItaly2026-10-15Truhlar And Truhlar Attys QUALIFIED50Xuxue Feng
1030Sinclair V BowleyFrance2026-10-13Feltz Printing Service NEW69Xuxue Feng
1031Smith I SaylorsFrance2026-10-16Rousseaux, Michael Esq RENEWAL22Onyama Limba
1032David E FlosiItaly2026-10-05Rangoni Of Florence NEW86Amy Elsner
1033Tony L NestleIndia2026-10-15Benton, John B Jr UNQUALIFIED9Ivan Magalhaes
1034Alejandro F NickaItaly2026-10-22Rousseaux, Michael Esq QUALIFIED85Ivan Magalhaes
1035James Q MarrierGermany2026-10-12Chemel, James L Cpa NEW9Asiya Javayant
1036Adams V AmigonFrance2026-10-10Feltz Printing Service NEW33Ivan Magalhaes
1037Rodrigues P NestleGermany2026-10-12Feltz Printing Service UNQUALIFIED69Onyama Limba
1038Francesco R SergiJapan2026-09-27Rousseaux, Michael Esq QUALIFIED97Anna Fali
1039Isabel O ShinkoArgentina2026-10-20Benton, John B Jr RENEWAL29Ioni Bowcher
1040Antonio S TollnerAustralia2026-09-27Feltz Printing Service UNQUALIFIED90Asiya Javayant
1041Izzy O BowleySpain2026-10-09Chapman, Ross E Esq QUALIFIED6Elwin Sharvill
1042Juan X PaprockiArgentina2026-10-16Benton, John B Jr RENEWAL99Amy Elsner
1043Faith N SlusarskiRussia2026-10-23Buckley Miller Wright PROPOSAL38Ioni Bowcher
1044Stacey Z StensethIndia2026-10-09Dorl, James J Esq NEW41Xuxue Feng
1045Salvatore B OstroskyFrance2026-10-10Benton, John B Jr QUALIFIED59Xuxue Feng
1046Ashley Z DoeItaly2026-09-29Rangoni Of Florence PROPOSAL44Onyama Limba
1047Aika G DarakjyBrazil2026-10-08Printing Dimensions UNQUALIFIED2Asiya Javayant
1048Greenwood W FollerJapan2026-09-27Commercial Press UNQUALIFIED58Ioni Bowcher
1049Rodrigues E RulapaughIndia2026-10-11Chapman, Ross E Esq NEW27Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Stacey T FerenczFranceXuxue Feng UNQUALIFIED
Jones T BologniaRussiaXuxue Feng NEW
Julie P DoeSpainElwin Sharvill UNQUALIFIED
Morrow T ChuiArgentinaBernardo Dominic RENEWAL
Faith A ShinkoItalyAsiya Javayant QUALIFIED
Claire D AmigonGermanyStephen Shaw NEW
Murillo H BowleyAustraliaOnyama Limba NEW
Isabel S PerinUnited KingdomElwin Sharvill RENEWAL
Alejandro E FollerGermanyStephen Shaw PROPOSAL
Ashley R IturbideIndiaAsiya Javayant NEGOTIATION
Jefferson Q AmigonCanadaXuxue Feng RENEWAL
Jeanfrancois I TollnerAustraliaBernardo Dominic PROPOSAL
Isabel G ChuiBrazilStephen Shaw NEW
Aditya P CaldareraBrazilOnyama Limba UNQUALIFIED
Aditya N FollerJapanAsiya Javayant NEGOTIATION
Johnson F BowleyJapanIvan Magalhaes UNQUALIFIED
Leon V DilliardGermanyIvan Magalhaes QUALIFIED
Morrow R OstroskyIndiaXuxue Feng QUALIFIED
Emily O StensethRussiaAsiya Javayant UNQUALIFIED
Aruna M MarrierBrazilBernardo Dominic QUALIFIED
Tony T DarakjyIndiaElwin Sharvill NEGOTIATION
Aditya K MarrierAustraliaElwin Sharvill RENEWAL
Darci E VocelkaBrazilAmy Elsner PROPOSAL
Cody W SergiItalyOnyama Limba UNQUALIFIED
Ricardo M IturbideSpainAsiya Javayant NEW
Leon Y KuskoUnited KingdomStephen Shaw PROPOSAL
Mayumi B OstroskyGermanyIoni Bowcher RENEWAL
Adams J AmigonAustraliaOnyama Limba UNQUALIFIED
Ricardo G AlbaresArgentinaXuxue Feng UNQUALIFIED
Darci B DarakjyUnited KingdomAmy Elsner UNQUALIFIED
Deepesh C SchemmerBrazilAnna Fali NEGOTIATION
Maisha O SlusarskiBrazilOnyama Limba NEGOTIATION
Cody L FlosiFranceOnyama Limba RENEWAL
Ivar V InouyeGermanyAsiya Javayant QUALIFIED
Chavez C ChuiBrazilAsiya Javayant PROPOSAL
James R FlosiCanadaXuxue Feng NEW
Emily H WieserItalyElwin Sharvill RENEWAL
Tony Y BowleyUnited KingdomIoni Bowcher QUALIFIED
Aika Y GauchoSpainXuxue Feng RENEWAL
Costa Y AmigonRussiaIvan Magalhaes NEW
Ricardo J TollnerCanadaAnna Fali UNQUALIFIED
Alejandro E OstroskyIndiaAsiya Javayant QUALIFIED
Juan U FerenczCanadaStephen Shaw NEW
Octavia K AlbaresSpainElwin Sharvill RENEWAL
Izzy D VocelkaGermanyIoni Bowcher RENEWAL
Francesco G KolmetzFranceIoni Bowcher QUALIFIED
Jennifer K VenereFranceIoni Bowcher PROPOSAL
Arvin O SergiSpainBernardo Dominic QUALIFIED
Murillo N MarrierGermanyStephen Shaw NEW
Jennifer Z PoquetteRussiaIoni Bowcher RENEWAL
Frozen Columns
Name
Izzy X Bolognia
Francesco R Royster
Rodrigues W Glick
Silvio C Figeroa
Misaki T Perin
Julie H Oldroyd
Tony G Nestle
Ashley A Glick
Costa J Wieser
James H Nicka
Rodrigues F Morasca
Kaitlin W Nicka
Sinclair W Amigon
Faith L Nicka
Ricardo S Chui
Julie T Dilliard
Izzy F Gaucho
Jennifer T Bowley
Chavez A Malet
Mujtaba D Gillian
Jones S Stenseth
Kaitlin L Gaucho
Darci C Ferencz
Stacey B Caldarera
Silvio T Bowley
Arvin X Saylors
Morrow Y Saylors
James Z Stockham
Mayumi Z Butt
Jeanfrancois O Stenseth
Greenwood E Ruta
Sinclair Z Marrier
Arvin K Venere
Izzy V Ostrosky
Aditya L Butt
Adams A Ostrosky
Kaitlin Z Malet
Munro O Glick
Misaki Q Butt
Izzy O Campain
Emily T Rulapaugh
Aika Y Ruta
Juan F Ferencz
Octavia J Rim
Costa A Marrier
Isabel J Caldarera
James T Garufi
Isabel S Bolognia
Alejandro U Ostrosky
Maria F Whobrey
IdCountryDate
1000Germany2026-10-03
1001Italy2026-10-16
1002Argentina2026-10-17
1003India2026-10-10
1004Brazil2026-10-20
1005Canada2026-10-18
1006United Kingdom2026-10-24
1007France2026-10-14
1008Canada2026-09-29
1009Japan2026-10-02
1010France2026-10-25
1011India2026-10-03
1012Australia2026-10-23
1013Brazil2026-10-09
1014France2026-10-09
1015Italy2026-10-19
1016Argentina2026-10-19
1017Russia2026-10-07
1018Spain2026-10-16
1019Italy2026-10-13
1020Spain2026-10-24
1021India2026-10-17
1022United Kingdom2026-10-08
1023Japan2026-10-06
1024France2026-09-29
1025Italy2026-10-14
1026Canada2026-10-03
1027United Kingdom2026-10-01
1028Germany2026-10-16
1029United Kingdom2026-10-15
1030United Kingdom2026-10-07
1031Italy2026-10-19
1032Italy2026-10-14
1033United Kingdom2026-10-08
1034France2026-10-16
1035United Kingdom2026-10-24
1036Italy2026-10-19
1037Japan2026-10-24
1038Australia2026-09-27
1039France2026-10-12
1040Spain2026-10-16
1041Australia2026-09-29
1042United Kingdom2026-10-04
1043Australia2026-10-13
1044Italy2026-09-28
1045France2026-10-22
1046France2026-10-04
1047Japan2026-09-27
1048Italy2026-09-30
1049Canada2026-10-17

On-Demand Data

NameIdCountryDate
Arvin K Oldroyd1000Brazil2026-10-21
Claire I Malet1001Canada2026-10-08
Clifford Y Kusko1002Japan2026-10-16
Salvatore F Morasca1003Germany2026-10-09
Julie X Figeroa1004Italy2026-10-06
Faith H Bolognia1005United Kingdom2026-10-01
Jones D Bolognia1006Spain2026-09-29
Aditya B Whobrey1007Australia2026-10-03
Izzy T Maclead1008Australia2026-10-26
Izzy L Ruta1009Argentina2026-10-14
Claire G Whobrey1010Russia2026-10-18
Jeanfrancois W Doe1011Russia2026-10-23
Antonio V Paprocki1012Germany2026-10-26
Aika F Ostrosky1013Italy2026-10-06
Mujtaba Z Slusarski1014Australia2026-09-30
Arvin S Vocelka1015Canada2026-10-25
Stacey Q Albares1016Spain2026-10-13
Maria I Kusko1017Germany2026-10-04
Salvatore C Royster1018Germany2026-10-20
Mayumi O Oldroyd1019Argentina2026-10-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily R BowleySpainOnyama Limba PROPOSAL
Salvatore R NickaRussiaXuxue Feng PROPOSAL
Misaki O ChuiIndiaAmy Elsner QUALIFIED
Kaitlin V AlbaresBrazilAnna Fali NEGOTIATION
Aditya D BriddickUnited KingdomXuxue Feng NEGOTIATION
Alejandro L PaprockiRussiaIoni Bowcher QUALIFIED
Darci J PerinArgentinaAnna Fali RENEWAL
Sinclair Z CaudyArgentinaIoni Bowcher PROPOSAL
Maria J WaycottItalyElwin Sharvill PROPOSAL
Leon V TollnerFranceXuxue Feng NEW
Silvio K ButtJapanElwin Sharvill NEGOTIATION
Deepesh O BowleyUnited KingdomOnyama Limba PROPOSAL
Aika C GillianFranceAmy Elsner NEGOTIATION
Alejandro H GillianUnited KingdomXuxue Feng UNQUALIFIED
Costa F CaudyGermanyStephen Shaw QUALIFIED
Alejandro F ChuiIndiaAnna Fali NEW
Smith K CampainCanadaBernardo Dominic NEGOTIATION
Cody J BriddickFranceElwin Sharvill NEGOTIATION
Izzy M KolmetzRussiaIvan Magalhaes UNQUALIFIED
Jones T ButtAustraliaAnna Fali NEGOTIATION
Kaitlin W WhobreyItalyIvan Magalhaes RENEWAL
Greenwood I TollnerGermanyBernardo Dominic UNQUALIFIED
Ricardo X BologniaUnited KingdomIvan Magalhaes NEW
Stacey O CaldareraItalyAnna Fali NEW
Kaitlin Z GillianFranceElwin Sharvill UNQUALIFIED
Izzy V FollerCanadaBernardo Dominic PROPOSAL
Maisha C OstroskyAustraliaAmy Elsner RENEWAL
Greenwood L SergiJapanStephen Shaw QUALIFIED
Morrow I WieserUnited KingdomAmy Elsner QUALIFIED
Chavez K MaletCanadaAmy Elsner NEW
Ivar M MorascaUnited KingdomAmy Elsner QUALIFIED
Deepesh I VocelkaSpainIoni Bowcher RENEWAL
Nicolas G NickaUnited KingdomBernardo Dominic QUALIFIED
Misaki S GarufiUnited KingdomElwin Sharvill NEGOTIATION
Maisha Q FlosiCanadaIvan Magalhaes UNQUALIFIED
Rodrigues A OldroydUnited KingdomIoni Bowcher QUALIFIED
Jennifer S GillianGermanyOnyama Limba PROPOSAL
Misaki E ShinkoFranceAmy Elsner PROPOSAL
Aruna F KolmetzRussiaIoni Bowcher QUALIFIED
Munro C WieserAustraliaIoni Bowcher NEGOTIATION

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