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
Jones E FigeroaFranceAsiya Javayant QUALIFIED
Morrow Z RimItalyAsiya Javayant NEW
David P WhobreyCanadaAsiya Javayant NEGOTIATION
Kadeem C PerinGermanyStephen Shaw NEGOTIATION
Arvin Q CaudyAustraliaAmy Elsner QUALIFIED
Adams I DarakjyGermanyXuxue Feng NEGOTIATION
Alejandro L KuskoFranceXuxue Feng NEW
Aditya C SlusarskiArgentinaBernardo Dominic QUALIFIED
Johnson Y PaprockiUnited KingdomIvan Magalhaes QUALIFIED
Faith U MacleadFranceElwin Sharvill RENEWAL
Kaitlin K IturbideAustraliaAsiya Javayant RENEWAL
Clifford D FigeroaCanadaStephen Shaw UNQUALIFIED
Tony W FigeroaJapanStephen Shaw NEGOTIATION
Murillo R MaletUnited KingdomBernardo Dominic NEGOTIATION
Tony R KolmetzGermanyIoni Bowcher NEGOTIATION
Jefferson T BowleyGermanyAsiya Javayant UNQUALIFIED
Jeanfrancois P DarakjyArgentinaAnna Fali RENEWAL
Aditya I GlickBrazilAnna Fali UNQUALIFIED
Jefferson F DarakjyArgentinaXuxue Feng NEGOTIATION
Silvio P NestleAustraliaStephen Shaw RENEWAL
Leon F GarufiSpainStephen Shaw NEGOTIATION
Rodrigues E PaprockiGermanyElwin Sharvill RENEWAL
Claire W AlbaresArgentinaXuxue Feng QUALIFIED
Francesco L DilliardJapanAsiya Javayant NEW
Silvio T MarrierRussiaBernardo Dominic RENEWAL
Murillo D FollerRussiaAmy Elsner PROPOSAL
Greenwood U SlusarskiAustraliaStephen Shaw PROPOSAL
James S TollnerUnited KingdomAsiya Javayant NEGOTIATION
Aika A GauchoCanadaIoni Bowcher NEGOTIATION
Silvio X GarufiArgentinaIvan Magalhaes NEW
Munro W RoysterArgentinaElwin Sharvill UNQUALIFIED
David R StensethBrazilAsiya Javayant PROPOSAL
Alejandro Y AmigonRussiaBernardo Dominic NEW
Claire V GlickItalyIoni Bowcher NEGOTIATION
Izzy E FerenczUnited KingdomAnna Fali NEW
Tony U VenereFranceIvan Magalhaes QUALIFIED
Faith C NickaIndiaStephen Shaw UNQUALIFIED
Aditya R ChuiArgentinaAsiya Javayant UNQUALIFIED
Aditya O ShinkoIndiaBernardo Dominic NEGOTIATION
Greenwood X SlusarskiFranceAsiya Javayant UNQUALIFIED
Isabel A TollnerUnited KingdomAsiya Javayant NEGOTIATION
David R VenereAustraliaAsiya Javayant RENEWAL
Jennifer G KolmetzRussiaIoni Bowcher QUALIFIED
Maria H MaletCanadaOnyama Limba NEGOTIATION
Smith W NickaSpainBernardo Dominic PROPOSAL
Aika U WaycottAustraliaBernardo Dominic NEGOTIATION
Isabel K MorascaSpainIoni Bowcher NEGOTIATION
Ricardo X RoysterUnited KingdomAmy Elsner QUALIFIED
Mayumi I KuskoGermanyXuxue Feng RENEWAL
Kadeem V CaldareraCanadaAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Isabel P StockhamRussiaAnna Fali PROPOSAL
Salvatore V PaprockiArgentinaOnyama Limba NEGOTIATION
Cody C RimIndiaBernardo Dominic NEGOTIATION
Faith M InouyeFranceIvan Magalhaes UNQUALIFIED
Tony B WieserRussiaAmy Elsner NEW
Ivar T ChuiGermanyBernardo Dominic NEW
Misaki L StockhamIndiaElwin Sharvill QUALIFIED
Stacey T CampainArgentinaAmy Elsner NEW
Tony G ShinkoArgentinaElwin Sharvill PROPOSAL
Ivar R VocelkaArgentinaOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro N RoysterAustralia2026-10-28Chemel, James L Cpa QUALIFIED17Anna Fali
1001Leon T MacleadGermany2026-10-17Truhlar And Truhlar Attys PROPOSAL25Xuxue Feng
1002Mujtaba L OldroydCanada2026-10-13Printing Dimensions QUALIFIED93Xuxue Feng
1003Alejandro Q MarrierAustralia2026-10-23Feltz Printing Service QUALIFIED25Stephen Shaw
1004Stacey Y StensethIndia2026-10-24Morlong Associates NEGOTIATION36Elwin Sharvill
1005Jefferson Y ButtJapan2026-10-15Chanay, Jeffrey A Esq UNQUALIFIED1Xuxue Feng
1006Smith T BologniaItaly2026-10-22Truhlar And Truhlar Attys RENEWAL90Ivan Magalhaes
1007Stacey Q FigeroaAustralia2026-10-31King, Christopher A Esq NEW74Asiya Javayant
1008Francesco C FlosiBrazil2026-10-12Feiner Bros NEGOTIATION93Onyama Limba
1009Clifford Y RoysterGermany2026-10-22Benton, John B Jr QUALIFIED14Onyama Limba
1010Leja O VocelkaIndia2026-10-16Printing Dimensions UNQUALIFIED7Ioni Bowcher
1011Murillo U PaprockiRussia2026-10-14King, Christopher A Esq PROPOSAL61Ivan Magalhaes
1012Ivar L BologniaJapan2026-10-13Buckley Miller Wright NEGOTIATION69Bernardo Dominic
1013Aruna H PaprockiRussia2026-10-04Rangoni Of Florence QUALIFIED40Ivan Magalhaes
1014Alejandro V AmigonIndia2026-10-17Rousseaux, Michael Esq PROPOSAL73Anna Fali
1015Darci V GillianRussia2026-10-04Printing Dimensions QUALIFIED31Amy Elsner
1016Antonio Q PaprockiFrance2026-10-11Chemel, James L Cpa RENEWAL28Onyama Limba
1017Ashley W GillianCanada2026-10-24Chapman, Ross E Esq NEGOTIATION44Onyama Limba
1018Misaki I ChuiUnited Kingdom2026-10-20Feltz Printing Service NEGOTIATION83Ivan Magalhaes
1019Antonio X MarrierAustralia2026-10-30Rousseaux, Michael Esq NEW73Stephen Shaw
1020Murillo J MaletGermany2026-10-04Rangoni Of Florence RENEWAL24Xuxue Feng
1021Adams Q PaprockiArgentina2026-10-09Truhlar And Truhlar Attys NEGOTIATION8Ivan Magalhaes
1022Mujtaba W SaylorsGermany2026-10-16Chapman, Ross E Esq NEGOTIATION41Bernardo Dominic
1023Morrow N SaylorsIndia2026-11-01Rousseaux, Michael Esq NEW61Stephen Shaw
1024James X BowleyIndia2026-10-18Rangoni Of Florence NEW36Xuxue Feng
1025Alejandro W ChuiItaly2026-10-13Buckley Miller Wright RENEWAL58Stephen Shaw
1026Smith A FigeroaCanada2026-11-01Buckley Miller Wright RENEWAL38Anna Fali
1027Silvio B FerenczArgentina2026-10-18Commercial Press UNQUALIFIED58Onyama Limba
1028David N MaletAustralia2026-10-24Feltz Printing Service QUALIFIED63Ivan Magalhaes
1029Cody K SchemmerBrazil2026-10-13Rangoni Of Florence QUALIFIED29Anna Fali
1030Morrow C FlosiArgentina2026-10-24Dorl, James J Esq NEGOTIATION11Ivan Magalhaes
1031Adams C GillianJapan2026-10-28Chemel, James L Cpa RENEWAL62Bernardo Dominic
1032Arvin G MaletJapan2026-10-15Printing Dimensions UNQUALIFIED22Xuxue Feng
1033Aditya G RutaArgentina2026-10-20Rangoni Of Florence NEW36Amy Elsner
1034Izzy P ButtItaly2026-10-17Rousseaux, Michael Esq RENEWAL25Ivan Magalhaes
1035Emily L SlusarskiItaly2026-10-07Morlong Associates NEW20Ioni Bowcher
1036Ricardo H PerinBrazil2026-10-17Feltz Printing Service NEW21Amy Elsner
1037Alejandro D DilliardFrance2026-10-07Printing Dimensions QUALIFIED88Onyama Limba
1038Faith B BowleyUnited Kingdom2026-10-24Dorl, James J Esq NEW9Ioni Bowcher
1039Faith Q ButtSpain2026-10-27Printing Dimensions PROPOSAL91Ivan Magalhaes
1040Sinclair N BowleyUnited Kingdom2026-10-10Rousseaux, Michael Esq NEW95Anna Fali
1041Stacey O ChuiRussia2026-10-09Feiner Bros QUALIFIED89Elwin Sharvill
1042Kaitlin M KolmetzJapan2026-10-29Commercial Press PROPOSAL70Amy Elsner
1043Maria O BriddickBrazil2026-11-01Rangoni Of Florence PROPOSAL23Xuxue Feng
1044Misaki Y RimBrazil2026-10-04Feltz Printing Service NEGOTIATION4Elwin Sharvill
1045Julie W VenereBrazil2026-10-12Printing Dimensions UNQUALIFIED83Ivan Magalhaes
1046Claire B OldroydBrazil2026-10-08Feiner Bros QUALIFIED9Xuxue Feng
1047Faith P StensethBrazil2026-11-01Chapman, Ross E Esq PROPOSAL19Anna Fali
1048Wickens R FollerBrazil2026-10-26Truhlar And Truhlar Attys NEW89Bernardo Dominic
1049Misaki B SergiFrance2026-10-11Feltz Printing Service RENEWAL49Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Aruna S CaldareraArgentinaOnyama Limba NEGOTIATION
Leja N VocelkaGermanyBernardo Dominic NEGOTIATION
Salvatore V MorascaJapanIvan Magalhaes RENEWAL
Faith T RimGermanyStephen Shaw UNQUALIFIED
Alejandro J MacleadItalyStephen Shaw PROPOSAL
Stacey R GauchoUnited KingdomElwin Sharvill QUALIFIED
Johnson B WhobreyArgentinaAnna Fali UNQUALIFIED
James M MacleadFranceAnna Fali QUALIFIED
Aditya K KolmetzItalyAnna Fali NEW
Jones B MarrierItalyElwin Sharvill RENEWAL
Aditya H StockhamSpainAmy Elsner UNQUALIFIED
Jennifer G DoeIndiaElwin Sharvill NEGOTIATION
Claire B OldroydArgentinaOnyama Limba RENEWAL
Antonio P MorascaSpainIvan Magalhaes NEW
Arvin X WieserItalyAsiya Javayant NEGOTIATION
Izzy G ShinkoUnited KingdomElwin Sharvill NEW
Mayumi W CaldareraJapanBernardo Dominic QUALIFIED
Wickens E AlbaresBrazilXuxue Feng RENEWAL
Aditya S PoquetteRussiaIvan Magalhaes QUALIFIED
Misaki U SlusarskiItalyAsiya Javayant PROPOSAL
Silvio D FlosiCanadaElwin Sharvill NEGOTIATION
Stacey F NestleRussiaBernardo Dominic UNQUALIFIED
Julie V PaprockiJapanOnyama Limba PROPOSAL
Chavez N BowleyUnited KingdomAsiya Javayant NEGOTIATION
James N AlbaresGermanyIoni Bowcher PROPOSAL
Wickens Y GlickCanadaIvan Magalhaes UNQUALIFIED
Chavez W OstroskyUnited KingdomAmy Elsner UNQUALIFIED
Jefferson Y GlickGermanyBernardo Dominic UNQUALIFIED
Jones R DilliardRussiaAsiya Javayant UNQUALIFIED
Leon G TollnerBrazilElwin Sharvill UNQUALIFIED
Darci V RutaGermanyAnna Fali RENEWAL
Wickens C PerinJapanXuxue Feng PROPOSAL
Stacey D BriddickItalyOnyama Limba RENEWAL
Nicolas L NickaArgentinaAmy Elsner NEW
Wickens J IturbideIndiaIoni Bowcher PROPOSAL
Rodrigues U BriddickFranceOnyama Limba NEW
Tony W OldroydArgentinaStephen Shaw UNQUALIFIED
Juan N FollerCanadaAsiya Javayant NEGOTIATION
Silvio H IturbideFranceStephen Shaw QUALIFIED
Costa R PoquetteIndiaAmy Elsner RENEWAL
Murillo M DarakjyCanadaIoni Bowcher NEGOTIATION
Mujtaba L DarakjyGermanyIoni Bowcher PROPOSAL
Isabel P OldroydCanadaAsiya Javayant QUALIFIED
Isabel V StensethGermanyBernardo Dominic PROPOSAL
Jones K AmigonIndiaStephen Shaw UNQUALIFIED
Chavez D SaylorsGermanyAnna Fali PROPOSAL
Isabel Q GauchoBrazilBernardo Dominic RENEWAL
Clifford I GlickCanadaAsiya Javayant UNQUALIFIED
Salvatore M MarrierGermanyAnna Fali RENEWAL
Arvin K GarufiGermanyIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Kadeem V Caldarera
Aditya O Caudy
Octavia I Campain
Wickens O Kolmetz
Jefferson A Ruta
Juan G Tollner
Cody W Kolmetz
Jefferson Y Nestle
Jennifer L Ostrosky
Misaki G Sergi
Jennifer X Oldroyd
Cody G Sergi
Munro C Wieser
Salvatore F Maclead
Munro N Amigon
Jennifer S Nestle
Faith Q Oldroyd
Aditya D Venere
Stacey A Oldroyd
Kadeem S Marrier
Murillo J Venere
Costa K Iturbide
Misaki Y Schemmer
Francesco L Amigon
Julie O Ostrosky
James N Butt
Antonio R Briddick
Jefferson R Albares
Ashley Q Saylors
Mujtaba N Caudy
Nicolas H Dilliard
Julie C Rulapaugh
Jones J Flosi
Ivar N Whobrey
Silvio N Garufi
Maisha C Darakjy
Julie A Ferencz
Rodrigues U Garufi
Ashley O Paprocki
Stacey O Stockham
Emily B Poquette
Rodrigues H Rim
Cody H Venere
Murillo Z Ruta
Tony M Caudy
David P Waycott
Cody P Bolognia
Salvatore F Tollner
Izzy L Gaucho
Jones Q Dilliard
IdCountryDate
1000Japan2026-10-16
1001Brazil2026-10-31
1002Argentina2026-10-27
1003Germany2026-10-24
1004Argentina2026-10-23
1005Brazil2026-10-12
1006Japan2026-10-08
1007France2026-10-25
1008France2026-10-05
1009India2026-10-15
1010Germany2026-10-25
1011India2026-10-31
1012France2026-10-11
1013Germany2026-10-09
1014India2026-11-01
1015Germany2026-10-09
1016India2026-10-08
1017France2026-10-28
1018Italy2026-10-04
1019Germany2026-10-23
1020Germany2026-10-19
1021Brazil2026-10-16
1022Spain2026-10-26
1023Australia2026-10-16
1024Japan2026-10-29
1025Spain2026-10-19
1026Canada2026-10-31
1027Australia2026-10-11
1028France2026-10-09
1029Argentina2026-10-10
1030Italy2026-10-19
1031Argentina2026-10-09
1032United Kingdom2026-10-07
1033Argentina2026-10-30
1034India2026-10-28
1035Japan2026-10-20
1036Argentina2026-10-05
1037Brazil2026-10-20
1038Japan2026-10-12
1039Australia2026-10-26
1040Russia2026-10-24
1041United Kingdom2026-10-20
1042Argentina2026-10-05
1043India2026-10-18
1044Canada2026-10-31
1045United Kingdom2026-10-30
1046France2026-10-31
1047Italy2026-10-31
1048Russia2026-10-06
1049United Kingdom2026-10-29

On-Demand Data

NameIdCountryDate
Wickens P Maclead1000United Kingdom2026-10-25
David V Rulapaugh1001United Kingdom2026-10-22
Sinclair H Chui1002Spain2026-10-25
Sinclair K Paprocki1003Spain2026-10-12
Cody G Gaucho1004India2026-10-07
Murillo G Bowley1005Germany2026-10-06
Francesco O Chui1006India2026-10-23
Antonio O Tollner1007Japan2026-10-16
Ricardo D Campain1008Spain2026-10-27
Jefferson Q Bolognia1009India2026-10-24
Misaki C Gaucho1010Canada2026-10-12
Jeanfrancois T Briddick1011India2026-10-28
Jennifer G Maclead1012Argentina2026-10-07
Claire J Gaucho1013Canada2026-10-15
Sinclair P Caldarera1014Russia2026-10-08
Aruna U Nicka1015Argentina2026-10-31
Deepesh T Oldroyd1016Italy2026-11-02
Jefferson V Darakjy1017Russia2026-10-14
Misaki Z Dilliard1018Germany2026-10-15
Antonio I Albares1019Germany2026-10-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki J WhobreyUnited KingdomStephen Shaw RENEWAL
Octavia Q OldroydItalyStephen Shaw PROPOSAL
Faith X PerinRussiaAnna Fali UNQUALIFIED
Aruna Q VocelkaBrazilAnna Fali RENEWAL
Tony M RimAustraliaOnyama Limba NEW
Kaitlin B OldroydItalyOnyama Limba RENEWAL
Ricardo B RoysterUnited KingdomIvan Magalhaes RENEWAL
Misaki W NestleAustraliaOnyama Limba RENEWAL
Munro Q OstroskyJapanStephen Shaw NEGOTIATION
Chavez N MacleadSpainElwin Sharvill NEW
Jones H PaprockiIndiaIoni Bowcher RENEWAL
Maisha L ButtJapanElwin Sharvill UNQUALIFIED
Antonio M SchemmerAustraliaAmy Elsner PROPOSAL
Leja N AlbaresItalyIoni Bowcher UNQUALIFIED
Ivar M VocelkaArgentinaStephen Shaw UNQUALIFIED
David P MorascaAustraliaAnna Fali UNQUALIFIED
Jeanfrancois Z AlbaresSpainStephen Shaw RENEWAL
Clifford Y NestleGermanyBernardo Dominic QUALIFIED
Darci Q InouyeGermanyAmy Elsner QUALIFIED
Claire P CaudyRussiaElwin Sharvill UNQUALIFIED
Jennifer W FigeroaAustraliaStephen Shaw RENEWAL
Morrow I DarakjyFranceStephen Shaw PROPOSAL
Octavia W AlbaresIndiaAnna Fali QUALIFIED
Maisha W FerenczRussiaBernardo Dominic NEGOTIATION
Ivar B PaprockiRussiaAnna Fali NEGOTIATION
Costa U RoysterBrazilAnna Fali QUALIFIED
Salvatore T StockhamFranceAmy Elsner NEGOTIATION
Ricardo L SaylorsCanadaAmy Elsner NEW
Greenwood U VenereArgentinaBernardo Dominic NEW
Juan C MacleadItalyElwin Sharvill NEW
Francesco U MorascaBrazilStephen Shaw PROPOSAL
James X KolmetzCanadaElwin Sharvill NEW
Maria A MaletJapanIoni Bowcher QUALIFIED
Adams R BologniaSpainAsiya Javayant RENEWAL
Johnson W ShinkoArgentinaElwin Sharvill PROPOSAL
Johnson L DoeAustraliaIvan Magalhaes NEW
Deepesh M GauchoJapanIoni Bowcher UNQUALIFIED
Aruna B MorascaUnited KingdomAmy Elsner NEW
Smith C OldroydSpainBernardo Dominic NEGOTIATION
Nicolas N VocelkaArgentinaOnyama Limba NEW

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