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 A BologniaJapanElwin Sharvill QUALIFIED
Mujtaba D StensethAustraliaOnyama Limba RENEWAL
Octavia W SaylorsFranceAmy Elsner PROPOSAL
Clifford E SergiSpainBernardo Dominic NEGOTIATION
Aika V MorascaBrazilXuxue Feng UNQUALIFIED
Darci T FlosiGermanyOnyama Limba NEGOTIATION
Misaki D MaletRussiaAmy Elsner PROPOSAL
Mayumi B DilliardArgentinaAnna Fali UNQUALIFIED
Aruna D KolmetzGermanyOnyama Limba PROPOSAL
Jennifer E DoeJapanElwin Sharvill NEW
Emily M FlosiBrazilBernardo Dominic UNQUALIFIED
Faith D GauchoItalyOnyama Limba RENEWAL
Emily V DarakjyArgentinaIvan Magalhaes NEW
Stacey I VocelkaArgentinaIoni Bowcher RENEWAL
Costa X SergiItalyStephen Shaw QUALIFIED
Stacey M NickaGermanyAnna Fali PROPOSAL
Leja N SergiIndiaAmy Elsner RENEWAL
Juan E MorascaBrazilIoni Bowcher NEW
Jefferson G WaycottUnited KingdomAsiya Javayant RENEWAL
Misaki O BowleyArgentinaAsiya Javayant PROPOSAL
Arvin O PoquetteRussiaAmy Elsner RENEWAL
Maria S CaldareraSpainStephen Shaw PROPOSAL
Ashley Z NickaArgentinaStephen Shaw NEW
James Y BowleyArgentinaElwin Sharvill NEW
Ricardo Y StockhamGermanyAmy Elsner NEW
Maisha M MaletIndiaOnyama Limba RENEWAL
Rodrigues D MacleadBrazilAsiya Javayant UNQUALIFIED
Jennifer I SlusarskiJapanAmy Elsner NEW
Arvin Q WaycottArgentinaAmy Elsner NEGOTIATION
Antonio P MaletCanadaAnna Fali NEW
Silvio E CaldareraUnited KingdomStephen Shaw NEW
Izzy H ButtFranceOnyama Limba UNQUALIFIED
Darci H FerenczGermanyElwin Sharvill RENEWAL
Kadeem L WaycottAustraliaAmy Elsner UNQUALIFIED
Chavez W GillianSpainIvan Magalhaes NEGOTIATION
Arvin Q CaldareraBrazilElwin Sharvill NEGOTIATION
David W PerinFranceAnna Fali RENEWAL
Munro R GillianRussiaAmy Elsner UNQUALIFIED
Jennifer I GauchoGermanyElwin Sharvill NEW
Mayumi W WaycottRussiaStephen Shaw QUALIFIED
Antonio H NestleAustraliaBernardo Dominic UNQUALIFIED
Silvio R FlosiGermanyOnyama Limba PROPOSAL
Juan S VocelkaFranceElwin Sharvill UNQUALIFIED
Munro Z CaudyUnited KingdomXuxue Feng RENEWAL
Murillo Z DarakjyItalyXuxue Feng UNQUALIFIED
Ivar M MorascaBrazilStephen Shaw NEGOTIATION
Cody Y SlusarskiUnited KingdomAsiya Javayant UNQUALIFIED
Clifford E CampainFranceAnna Fali UNQUALIFIED
Tony J BologniaIndiaIoni Bowcher UNQUALIFIED
Arvin Z PerinJapanIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kaitlin B GarufiItalyIvan Magalhaes NEGOTIATION
Isabel P BowleySpainStephen Shaw UNQUALIFIED
Antonio N FigeroaCanadaIvan Magalhaes UNQUALIFIED
Izzy U CaudyRussiaAsiya Javayant PROPOSAL
Maisha M PaprockiItalyXuxue Feng NEGOTIATION
Maisha X MacleadArgentinaBernardo Dominic NEGOTIATION
Cody C GauchoGermanyAnna Fali RENEWAL
Mujtaba T CaldareraArgentinaIvan Magalhaes QUALIFIED
Aruna M DarakjyCanadaElwin Sharvill RENEWAL
Leja H DarakjyUnited KingdomAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody U WaycottCanada2026-09-30Printing Dimensions NEGOTIATION78Elwin Sharvill
1001Adams N MaletArgentina2026-09-14King, Christopher A Esq RENEWAL46Stephen Shaw
1002Cody V CampainJapan2026-09-13Morlong Associates RENEWAL3Asiya Javayant
1003Ashley Q GauchoArgentina2026-09-22Buckley Miller Wright NEGOTIATION23Ivan Magalhaes
1004Misaki X ShinkoSpain2026-09-14Rangoni Of Florence PROPOSAL55Bernardo Dominic
1005Darci M ChuiArgentina2026-09-21Truhlar And Truhlar Attys PROPOSAL23Stephen Shaw
1006Kadeem R KuskoUnited Kingdom2026-09-25Rousseaux, Michael Esq UNQUALIFIED60Ivan Magalhaes
1007Murillo J BriddickIndia2026-10-03Rangoni Of Florence PROPOSAL69Anna Fali
1008Juan Q SchemmerUnited Kingdom2026-10-07Chapman, Ross E Esq NEGOTIATION32Ioni Bowcher
1009Julie Q CaudySpain2026-10-01Rangoni Of Florence PROPOSAL5Bernardo Dominic
1010Adams B SchemmerJapan2026-09-19Buckley Miller Wright QUALIFIED49Stephen Shaw
1011Ivar Q BowleyBrazil2026-10-06Chapman, Ross E Esq NEW81Anna Fali
1012Jones K SergiUnited Kingdom2026-09-26Chanay, Jeffrey A Esq NEGOTIATION89Onyama Limba
1013Smith S MaletCanada2026-09-08Rousseaux, Michael Esq QUALIFIED34Ivan Magalhaes
1014David U RoysterGermany2026-09-30Morlong Associates NEGOTIATION22Asiya Javayant
1015Tony G GlickRussia2026-09-19Morlong Associates NEGOTIATION31Amy Elsner
1016James P GauchoJapan2026-09-28Chemel, James L Cpa QUALIFIED61Onyama Limba
1017Rodrigues F WaycottItaly2026-09-27Chapman, Ross E Esq PROPOSAL5Xuxue Feng
1018Ashley Q SaylorsBrazil2026-09-29Rangoni Of Florence RENEWAL48Xuxue Feng
1019Greenwood M OldroydCanada2026-10-05Morlong Associates RENEWAL74Elwin Sharvill
1020Salvatore D ShinkoUnited Kingdom2026-10-05Feltz Printing Service RENEWAL86Amy Elsner
1021Nicolas L GillianArgentina2026-10-01Truhlar And Truhlar Attys UNQUALIFIED10Asiya Javayant
1022Juan Z RimFrance2026-09-15Feiner Bros PROPOSAL23Xuxue Feng
1023Isabel A GarufiFrance2026-10-04Commercial Press UNQUALIFIED79Ivan Magalhaes
1024Ricardo H VocelkaFrance2026-10-05Printing Dimensions UNQUALIFIED47Anna Fali
1025Aruna P VenereJapan2026-09-10Chanay, Jeffrey A Esq NEGOTIATION91Elwin Sharvill
1026Wickens K GlickArgentina2026-09-12Benton, John B Jr NEW52Ioni Bowcher
1027Claire R GillianBrazil2026-09-09Truhlar And Truhlar Attys NEW92Bernardo Dominic
1028Jeanfrancois B MacleadCanada2026-10-07Truhlar And Truhlar Attys NEGOTIATION45Onyama Limba
1029Clifford J CampainUnited Kingdom2026-10-06Feiner Bros PROPOSAL42Bernardo Dominic
1030Emily X InouyeUnited Kingdom2026-09-28Chemel, James L Cpa RENEWAL82Onyama Limba
1031Alejandro W OstroskyUnited Kingdom2026-09-09Truhlar And Truhlar Attys NEW36Onyama Limba
1032Mujtaba U IturbideCanada2026-09-24King, Christopher A Esq NEGOTIATION25Amy Elsner
1033Claire M WieserAustralia2026-09-13Dorl, James J Esq QUALIFIED0Bernardo Dominic
1034Ashley G BowleyCanada2026-09-16Feiner Bros UNQUALIFIED16Ivan Magalhaes
1035Chavez Q CaldareraCanada2026-09-15Chanay, Jeffrey A Esq QUALIFIED91Amy Elsner
1036Jeanfrancois I AlbaresRussia2026-10-03Dorl, James J Esq NEW19Amy Elsner
1037Tony B DoeFrance2026-09-28Chemel, James L Cpa UNQUALIFIED12Onyama Limba
1038Ivar N AlbaresCanada2026-10-04Rangoni Of Florence NEGOTIATION26Xuxue Feng
1039Munro W OstroskyCanada2026-10-02King, Christopher A Esq UNQUALIFIED81Anna Fali
1040Murillo H TollnerBrazil2026-09-23Commercial Press NEGOTIATION15Onyama Limba
1041Greenwood U GlickJapan2026-09-11Rousseaux, Michael Esq NEGOTIATION2Stephen Shaw
1042Francesco J MarrierArgentina2026-09-21King, Christopher A Esq NEW74Ivan Magalhaes
1043Silvio P SergiBrazil2026-09-17Chemel, James L Cpa NEW44Ioni Bowcher
1044Adams N SlusarskiBrazil2026-09-26King, Christopher A Esq PROPOSAL49Elwin Sharvill
1045Smith S VenereItaly2026-09-30Printing Dimensions QUALIFIED27Bernardo Dominic
1046Jeanfrancois I PerinFrance2026-10-02Buckley Miller Wright NEGOTIATION46Amy Elsner
1047Darci S GlickSpain2026-09-16Rousseaux, Michael Esq QUALIFIED95Bernardo Dominic
1048Aruna F GarufiIndia2026-10-07Chemel, James L Cpa NEGOTIATION99Asiya Javayant
1049Nicolas Z BriddickItaly2026-09-27Rousseaux, Michael Esq QUALIFIED46Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Jefferson G DarakjyGermanyStephen Shaw NEGOTIATION
Misaki G DarakjyFranceIoni Bowcher NEW
Juan G MorascaRussiaAmy Elsner RENEWAL
Murillo J KuskoItalyIoni Bowcher QUALIFIED
Jeanfrancois O RutaRussiaStephen Shaw QUALIFIED
Faith K NickaRussiaBernardo Dominic RENEWAL
Chavez Q SergiIndiaAnna Fali NEGOTIATION
Kaitlin E GlickRussiaIoni Bowcher UNQUALIFIED
Ivar G SergiUnited KingdomStephen Shaw UNQUALIFIED
Kaitlin O RimRussiaAnna Fali NEW
Jennifer D NestleFranceXuxue Feng RENEWAL
Stacey Z NestleUnited KingdomStephen Shaw PROPOSAL
Antonio A GillianItalyOnyama Limba PROPOSAL
Tony T CaldareraBrazilIvan Magalhaes RENEWAL
Jefferson H ChuiCanadaElwin Sharvill NEW
Tony S BowleySpainAmy Elsner UNQUALIFIED
Silvio Z NestleRussiaOnyama Limba UNQUALIFIED
Murillo R DarakjyCanadaAmy Elsner UNQUALIFIED
Ivar B VenereSpainAsiya Javayant UNQUALIFIED
Munro E ChuiCanadaAmy Elsner PROPOSAL
Salvatore U ButtGermanyElwin Sharvill NEW
Alejandro T MaletIndiaIoni Bowcher QUALIFIED
Juan Z AmigonRussiaAnna Fali NEGOTIATION
Darci N MacleadUnited KingdomAmy Elsner NEGOTIATION
Jones P DarakjyRussiaBernardo Dominic RENEWAL
Sinclair H InouyeRussiaIoni Bowcher UNQUALIFIED
Alejandro H RulapaughRussiaIvan Magalhaes RENEWAL
Ricardo W GlickItalyElwin Sharvill UNQUALIFIED
Alejandro W ChuiItalyOnyama Limba QUALIFIED
Adams G GauchoRussiaIoni Bowcher UNQUALIFIED
Arvin Q GlickArgentinaAmy Elsner PROPOSAL
Alejandro V FollerFranceElwin Sharvill PROPOSAL
Murillo D InouyeSpainAnna Fali QUALIFIED
Antonio W WhobreyRussiaStephen Shaw RENEWAL
Deepesh K OstroskyIndiaStephen Shaw PROPOSAL
Alejandro B OstroskySpainAsiya Javayant NEGOTIATION
Johnson H PoquetteRussiaBernardo Dominic RENEWAL
Johnson Q GauchoRussiaStephen Shaw UNQUALIFIED
Sinclair Z CampainFranceIvan Magalhaes NEW
Cody Y RimUnited KingdomAnna Fali QUALIFIED
Wickens Q TollnerIndiaOnyama Limba RENEWAL
Leja W NestleGermanyElwin Sharvill NEW
Tony D MaletGermanyOnyama Limba RENEWAL
Nicolas J SergiRussiaIvan Magalhaes NEW
Arvin S StensethBrazilIvan Magalhaes QUALIFIED
Mujtaba I WieserJapanAnna Fali NEW
Salvatore F KuskoRussiaIoni Bowcher NEGOTIATION
Aditya I WhobreyAustraliaAsiya Javayant NEW
Chavez V KolmetzArgentinaAmy Elsner QUALIFIED
Aruna R RulapaughArgentinaAnna Fali RENEWAL
Frozen Columns
Name
Mayumi V Sergi
Francesco Z Doe
Cody U Perin
Deepesh W Rulapaugh
David T Foller
Juan Y Bowley
Ivar H Foller
Kadeem O Bowley
Smith C Paprocki
Julie W Rim
Leon Z Nestle
Octavia Q Albares
Silvio A Saylors
Cody S Paprocki
Mujtaba Z Bolognia
Jones Q Paprocki
Maria M Malet
Morrow W Doe
Kadeem T Dilliard
Misaki T Flosi
Aika F Morasca
Aruna M Venere
Aditya K Caldarera
Leon T Malet
Ivar S Bowley
Jeanfrancois B Malet
Faith C Schemmer
Juan N Amigon
Alejandro J Wieser
Cody S Bowley
Julie L Dilliard
Isabel B Briddick
James M Venere
Aika S Bolognia
Costa Q Nicka
Cody E Saylors
Munro G Maclead
Maisha Z Glick
Munro M Bowley
Smith D Ruta
Izzy U Campain
Kadeem L Nicka
Arvin P Wieser
Tony V Kusko
Juan B Schemmer
Ashley J Oldroyd
Maisha U Garufi
Nicolas H Gillian
Mayumi C Rulapaugh
Mujtaba J Ruta
IdCountryDate
1000United Kingdom2026-09-20
1001Australia2026-10-06
1002Argentina2026-09-17
1003Italy2026-09-08
1004United Kingdom2026-09-25
1005Brazil2026-09-17
1006Germany2026-09-09
1007United Kingdom2026-09-13
1008Germany2026-09-12
1009Japan2026-09-19
1010Japan2026-10-06
1011Germany2026-09-20
1012Japan2026-09-11
1013Russia2026-10-02
1014Australia2026-09-27
1015Argentina2026-09-25
1016United Kingdom2026-10-06
1017Japan2026-09-24
1018Spain2026-09-25
1019Germany2026-10-02
1020Argentina2026-09-26
1021United Kingdom2026-09-17
1022Italy2026-10-05
1023Russia2026-10-02
1024Japan2026-10-05
1025India2026-09-20
1026India2026-09-17
1027Germany2026-10-03
1028United Kingdom2026-09-10
1029Russia2026-10-01
1030Spain2026-09-24
1031Canada2026-09-15
1032Australia2026-09-26
1033Japan2026-09-24
1034Brazil2026-09-26
1035France2026-09-16
1036India2026-10-01
1037France2026-09-18
1038Argentina2026-09-22
1039India2026-09-16
1040Australia2026-09-27
1041Germany2026-09-11
1042Japan2026-10-06
1043Italy2026-09-13
1044Australia2026-09-09
1045Argentina2026-10-07
1046Japan2026-09-11
1047Brazil2026-09-10
1048Italy2026-10-02
1049France2026-09-20

On-Demand Data

NameIdCountryDate
Nicolas J Stenseth1000India2026-10-06
Darci F Rulapaugh1001Brazil2026-09-25
Emily R Kusko1002Germany2026-09-29
Munro C Dilliard1003France2026-10-07
Ivar H Shinko1004Argentina2026-09-12
Jefferson E Ostrosky1005France2026-09-12
Clifford E Morasca1006Brazil2026-09-09
Francesco H Garufi1007Germany2026-09-27
Aditya L Rim1008Japan2026-10-05
Rodrigues P Schemmer1009Australia2026-09-26
Isabel M Ferencz1010Spain2026-10-03
Jefferson W Dilliard1011France2026-10-03
Julie Y Bolognia1012Canada2026-09-12
David X Iturbide1013United Kingdom2026-10-04
Jeanfrancois W Waycott1014France2026-09-26
Octavia D Briddick1015Italy2026-09-10
Smith D Shinko1016Argentina2026-09-15
Octavia I Ruta1017Australia2026-09-30
Smith P Glick1018Argentina2026-09-12
Francesco C Royster1019Canada2026-10-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony O CampainJapanAmy Elsner PROPOSAL
Rodrigues Z MorascaArgentinaIoni Bowcher PROPOSAL
Murillo R IturbideCanadaStephen Shaw PROPOSAL
Deepesh Z StensethItalyIvan Magalhaes RENEWAL
Smith V MaletCanadaBernardo Dominic NEGOTIATION
Emily J StensethCanadaOnyama Limba QUALIFIED
Costa G DilliardRussiaIoni Bowcher NEGOTIATION
Maisha D BologniaBrazilXuxue Feng UNQUALIFIED
Smith T WieserIndiaBernardo Dominic PROPOSAL
Antonio K KolmetzIndiaIoni Bowcher NEW
Maria L KuskoIndiaIoni Bowcher UNQUALIFIED
Leja I PaprockiItalyStephen Shaw PROPOSAL
Leon O RimItalyStephen Shaw RENEWAL
Darci S MarrierArgentinaElwin Sharvill QUALIFIED
Stacey D VocelkaBrazilIvan Magalhaes PROPOSAL
Ricardo M SaylorsGermanyBernardo Dominic RENEWAL
Emily C DarakjyGermanyBernardo Dominic QUALIFIED
Emily P BowleyArgentinaAsiya Javayant UNQUALIFIED
Jennifer I BriddickJapanAnna Fali RENEWAL
Tony B WaycottArgentinaIvan Magalhaes UNQUALIFIED
Adams V IturbideSpainIvan Magalhaes RENEWAL
Antonio H InouyeIndiaIvan Magalhaes PROPOSAL
Ricardo W BriddickArgentinaIvan Magalhaes NEGOTIATION
Kaitlin B OldroydSpainAnna Fali NEW
Salvatore V PaprockiItalyXuxue Feng NEGOTIATION
Clifford K MaletAustraliaBernardo Dominic UNQUALIFIED
Adams F StockhamUnited KingdomIvan Magalhaes PROPOSAL
Aika Q MarrierJapanAnna Fali RENEWAL
Stacey A KuskoItalyAnna Fali PROPOSAL
Cody E WhobreyCanadaAnna Fali RENEWAL
Greenwood N RoysterRussiaXuxue Feng RENEWAL
Faith F GarufiUnited KingdomOnyama Limba NEW
Chavez W CampainCanadaAnna Fali UNQUALIFIED
Faith R WhobreyGermanyAmy Elsner UNQUALIFIED
Rodrigues W MarrierArgentinaAsiya Javayant NEW
Misaki Y ShinkoSpainIoni Bowcher RENEWAL
Jennifer R MorascaItalyElwin Sharvill NEW
Ricardo C FlosiRussiaOnyama Limba RENEWAL
Johnson J IturbideAustraliaXuxue Feng PROPOSAL
Wickens Y OstroskyJapanBernardo Dominic 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>