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
Maisha V MaletCanadaXuxue Feng PROPOSAL
Aruna P MacleadAustraliaAmy Elsner QUALIFIED
Maisha W StensethArgentinaBernardo Dominic RENEWAL
Deepesh W TollnerJapanXuxue Feng NEW
Claire C BologniaIndiaXuxue Feng NEW
Kaitlin M MaletUnited KingdomXuxue Feng UNQUALIFIED
Wickens X CampainIndiaAmy Elsner NEGOTIATION
Clifford R WaycottAustraliaIoni Bowcher PROPOSAL
Emily K SaylorsBrazilXuxue Feng PROPOSAL
Ivar A BologniaJapanBernardo Dominic NEW
Kaitlin O StockhamIndiaAnna Fali QUALIFIED
Clifford Q GarufiIndiaXuxue Feng QUALIFIED
Arvin N SlusarskiGermanyXuxue Feng RENEWAL
David H AlbaresGermanyOnyama Limba RENEWAL
Rodrigues T PoquetteIndiaIvan Magalhaes UNQUALIFIED
Leon Q VocelkaUnited KingdomXuxue Feng NEW
Jeanfrancois G WhobreyArgentinaOnyama Limba NEW
Izzy L NickaUnited KingdomAsiya Javayant RENEWAL
Smith Z PerinGermanyIvan Magalhaes QUALIFIED
Jefferson R DoeFranceAmy Elsner QUALIFIED
Ricardo N DarakjyUnited KingdomIvan Magalhaes QUALIFIED
Jones K KolmetzFranceBernardo Dominic NEW
Deepesh T SchemmerArgentinaBernardo Dominic NEW
Cody I RutaCanadaIvan Magalhaes UNQUALIFIED
Sinclair T GarufiAustraliaAnna Fali QUALIFIED
Chavez Q WhobreyIndiaAsiya Javayant NEGOTIATION
Emily D MacleadRussiaIvan Magalhaes UNQUALIFIED
Emily C FollerIndiaAsiya Javayant QUALIFIED
Maria P FigeroaGermanyOnyama Limba QUALIFIED
Greenwood L CampainFranceElwin Sharvill UNQUALIFIED
Chavez F SaylorsAustraliaBernardo Dominic NEGOTIATION
Murillo I WaycottUnited KingdomBernardo Dominic PROPOSAL
Alejandro R SergiRussiaIoni Bowcher NEGOTIATION
Stacey Z OstroskyJapanIoni Bowcher UNQUALIFIED
Mujtaba F SergiJapanAnna Fali UNQUALIFIED
Jones V MacleadFranceAnna Fali UNQUALIFIED
Adams F CaudyRussiaAsiya Javayant NEW
Mayumi R InouyeIndiaIvan Magalhaes NEW
Costa Y CaldareraCanadaBernardo Dominic NEW
Costa E WhobreyFranceIoni Bowcher RENEWAL
Claire T VocelkaIndiaXuxue Feng PROPOSAL
Antonio D GauchoGermanyBernardo Dominic NEW
Munro Z SchemmerUnited KingdomBernardo Dominic PROPOSAL
Adams W SlusarskiBrazilElwin Sharvill QUALIFIED
Ivar Q MaletRussiaOnyama Limba PROPOSAL
Kaitlin G PoquetteIndiaBernardo Dominic PROPOSAL
Kaitlin O DarakjyRussiaOnyama Limba QUALIFIED
David H FigeroaIndiaStephen Shaw RENEWAL
Tony P WhobreyGermanyAsiya Javayant QUALIFIED
Clifford V KolmetzIndiaIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Smith A GauchoItalyAnna Fali UNQUALIFIED
Johnson I PerinJapanStephen Shaw QUALIFIED
Antonio A KuskoArgentinaAsiya Javayant QUALIFIED
Claire K ChuiSpainXuxue Feng NEW
Leon T AmigonAustraliaElwin Sharvill NEW
Wickens M KolmetzJapanOnyama Limba PROPOSAL
Chavez V FollerGermanyAsiya Javayant UNQUALIFIED
Ivar H NickaCanadaIoni Bowcher NEGOTIATION
Aditya O BriddickArgentinaAnna Fali PROPOSAL
Jefferson L KolmetzItalyAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin O CampainBrazil2026-09-21Chapman, Ross E Esq NEGOTIATION84Stephen Shaw
1001Izzy Y RimIndia2026-09-01Buckley Miller Wright UNQUALIFIED21Xuxue Feng
1002Murillo C ShinkoItaly2026-08-29Chanay, Jeffrey A Esq UNQUALIFIED89Xuxue Feng
1003Cody V TollnerRussia2026-08-25Chapman, Ross E Esq UNQUALIFIED62Xuxue Feng
1004Aditya L RutaIndia2026-09-06Chemel, James L Cpa PROPOSAL86Xuxue Feng
1005Darci V ShinkoCanada2026-09-02Printing Dimensions NEW5Asiya Javayant
1006Munro U InouyeFrance2026-08-31Chemel, James L Cpa PROPOSAL31Ioni Bowcher
1007Claire J FollerArgentina2026-09-21Benton, John B Jr QUALIFIED69Ivan Magalhaes
1008Darci U AlbaresAustralia2026-09-15Chapman, Ross E Esq UNQUALIFIED80Stephen Shaw
1009Nicolas U SaylorsUnited Kingdom2026-09-07Morlong Associates NEGOTIATION94Elwin Sharvill
1010Clifford H RutaFrance2026-08-30Printing Dimensions NEGOTIATION41Ivan Magalhaes
1011Arvin D MorascaGermany2026-09-01Buckley Miller Wright QUALIFIED66Ioni Bowcher
1012Jefferson V PaprockiJapan2026-08-31Dorl, James J Esq NEW56Xuxue Feng
1013Ricardo D KolmetzCanada2026-09-22King, Christopher A Esq UNQUALIFIED68Stephen Shaw
1014Jennifer O RoysterRussia2026-09-22Chapman, Ross E Esq PROPOSAL25Stephen Shaw
1015Sinclair K OldroydItaly2026-09-05King, Christopher A Esq UNQUALIFIED97Elwin Sharvill
1016Johnson Z SaylorsJapan2026-08-27Chanay, Jeffrey A Esq NEW22Ioni Bowcher
1017Arvin D StensethUnited Kingdom2026-09-12Printing Dimensions RENEWAL64Amy Elsner
1018Aika J DoeCanada2026-09-19Benton, John B Jr QUALIFIED8Bernardo Dominic
1019Julie I BologniaGermany2026-08-26Chemel, James L Cpa PROPOSAL27Ivan Magalhaes
1020Ivar O OstroskyIndia2026-09-03Truhlar And Truhlar Attys PROPOSAL36Elwin Sharvill
1021Johnson T BriddickArgentina2026-09-17Benton, John B Jr QUALIFIED75Xuxue Feng
1022Costa F VocelkaFrance2026-09-05Printing Dimensions UNQUALIFIED29Bernardo Dominic
1023Ashley U MaletCanada2026-09-22Commercial Press PROPOSAL37Ioni Bowcher
1024Claire B DoeFrance2026-08-28Truhlar And Truhlar Attys RENEWAL35Elwin Sharvill
1025James G SaylorsGermany2026-09-03Feltz Printing Service RENEWAL83Onyama Limba
1026Adams T FlosiFrance2026-09-08Truhlar And Truhlar Attys NEGOTIATION5Amy Elsner
1027Wickens H PerinAustralia2026-08-28Truhlar And Truhlar Attys NEGOTIATION71Ioni Bowcher
1028Tony T TollnerJapan2026-09-01Chanay, Jeffrey A Esq NEW77Ivan Magalhaes
1029Antonio I WaycottAustralia2026-08-25Rousseaux, Michael Esq NEGOTIATION90Bernardo Dominic
1030Deepesh I WhobreyAustralia2026-08-29King, Christopher A Esq NEGOTIATION33Amy Elsner
1031Aika T SaylorsRussia2026-08-27Commercial Press NEW51Elwin Sharvill
1032Misaki P PerinFrance2026-09-04Truhlar And Truhlar Attys RENEWAL30Amy Elsner
1033Misaki Y FigeroaSpain2026-09-03Printing Dimensions UNQUALIFIED37Elwin Sharvill
1034Juan M SlusarskiCanada2026-08-30King, Christopher A Esq QUALIFIED35Ioni Bowcher
1035Clifford O MaletJapan2026-08-29Rousseaux, Michael Esq NEW73Amy Elsner
1036Octavia H WieserBrazil2026-08-29Feltz Printing Service NEW64Elwin Sharvill
1037Munro H FigeroaIndia2026-09-05Benton, John B Jr NEW66Elwin Sharvill
1038Misaki B ButtAustralia2026-08-28Truhlar And Truhlar Attys PROPOSAL68Onyama Limba
1039Aika G CaldareraRussia2026-08-27King, Christopher A Esq PROPOSAL82Asiya Javayant
1040Misaki I ShinkoBrazil2026-09-15Morlong Associates QUALIFIED92Ioni Bowcher
1041Tony F PerinSpain2026-09-01Morlong Associates PROPOSAL20Elwin Sharvill
1042Izzy W SchemmerSpain2026-08-28Chapman, Ross E Esq PROPOSAL30Xuxue Feng
1043Darci J SergiArgentina2026-09-07Feltz Printing Service PROPOSAL38Amy Elsner
1044Mayumi U RimJapan2026-08-28Chemel, James L Cpa RENEWAL37Stephen Shaw
1045Costa J GauchoIndia2026-09-17Morlong Associates NEW87Ioni Bowcher
1046Isabel V IturbideUnited Kingdom2026-09-14Commercial Press UNQUALIFIED16Amy Elsner
1047Leon T OldroydSpain2026-09-03Buckley Miller Wright NEGOTIATION78Amy Elsner
1048Isabel X RoysterCanada2026-09-14Morlong Associates UNQUALIFIED92Ioni Bowcher
1049Darci X ShinkoItaly2026-09-07Chemel, James L Cpa QUALIFIED36Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Jennifer T ButtItalyOnyama Limba RENEWAL
Wickens L BriddickUnited KingdomStephen Shaw QUALIFIED
Nicolas V FigeroaCanadaXuxue Feng PROPOSAL
Kadeem O BriddickIndiaElwin Sharvill RENEWAL
Nicolas Q MarrierAustraliaOnyama Limba UNQUALIFIED
Isabel T BriddickCanadaIvan Magalhaes PROPOSAL
Clifford A KuskoArgentinaAnna Fali NEGOTIATION
Nicolas K WhobreyGermanyAmy Elsner QUALIFIED
Sinclair Y VocelkaItalyStephen Shaw NEGOTIATION
Cody J DarakjyAustraliaBernardo Dominic RENEWAL
Murillo L StockhamRussiaOnyama Limba UNQUALIFIED
Jones U WieserJapanBernardo Dominic NEGOTIATION
Aruna D SchemmerSpainOnyama Limba NEW
Misaki R MorascaJapanAsiya Javayant PROPOSAL
Alejandro G StensethItalyBernardo Dominic PROPOSAL
Johnson V CaudyCanadaAmy Elsner PROPOSAL
Kaitlin D FerenczRussiaStephen Shaw PROPOSAL
Misaki L PaprockiAustraliaAnna Fali QUALIFIED
Wickens F PaprockiAustraliaIoni Bowcher RENEWAL
Sinclair T PaprockiFranceAnna Fali QUALIFIED
Emily R TollnerItalyAnna Fali RENEWAL
Adams R GarufiRussiaXuxue Feng RENEWAL
Darci L BriddickBrazilIvan Magalhaes RENEWAL
Johnson V RulapaughCanadaIoni Bowcher QUALIFIED
Izzy B IturbideAustraliaAsiya Javayant UNQUALIFIED
Jones F KolmetzIndiaIoni Bowcher NEGOTIATION
Costa Z ShinkoItalyElwin Sharvill UNQUALIFIED
Juan K GillianGermanyAmy Elsner UNQUALIFIED
Mujtaba W InouyeArgentinaElwin Sharvill PROPOSAL
Kaitlin K BowleyRussiaAnna Fali QUALIFIED
Darci U AmigonGermanyIoni Bowcher RENEWAL
Ricardo U DarakjyCanadaBernardo Dominic UNQUALIFIED
Darci U KolmetzGermanyAsiya Javayant UNQUALIFIED
Kaitlin W WaycottUnited KingdomIvan Magalhaes UNQUALIFIED
Jefferson A CaudyJapanAsiya Javayant QUALIFIED
Arvin O MacleadAustraliaIoni Bowcher NEW
Adams V CaldareraJapanOnyama Limba NEW
Maisha W MorascaCanadaIoni Bowcher UNQUALIFIED
Julie W WhobreyCanadaAnna Fali UNQUALIFIED
Munro V DarakjyIndiaAsiya Javayant NEGOTIATION
Julie G InouyeJapanElwin Sharvill QUALIFIED
Antonio K BologniaBrazilIoni Bowcher NEW
Octavia Q DilliardRussiaAsiya Javayant PROPOSAL
Deepesh V MaletIndiaXuxue Feng NEW
Francesco U ChuiGermanyOnyama Limba NEW
Jeanfrancois C NestleJapanXuxue Feng NEW
Sinclair Z OldroydFranceAsiya Javayant RENEWAL
Aika B BowleyIndiaOnyama Limba NEW
Munro W CaldareraCanadaAnna Fali UNQUALIFIED
Francesco I IturbideFranceStephen Shaw NEW
Frozen Columns
Name
Stacey R Darakjy
Octavia Q Garufi
Maria C Dilliard
Isabel O Rulapaugh
Emily W Oldroyd
Clifford I Chui
Salvatore M Figeroa
Aruna M Sergi
Leja P Gillian
Jennifer F Inouye
Stacey B Whobrey
Aruna R Albares
Cody G Malet
Tony D Tollner
Jones O Figeroa
Johnson Z Tollner
Emily M Paprocki
Chavez H Rulapaugh
Stacey O Vocelka
Jennifer F Briddick
Mayumi E Saylors
Juan G Perin
Silvio W Butt
Jones M Paprocki
Jefferson I Doe
Juan I Saylors
Misaki H Rim
Octavia Z Paprocki
Munro C Gillian
Costa W Poquette
Silvio R Shinko
Ashley W Sergi
Costa C Ruta
Jones B Maclead
Johnson Z Royster
Morrow N Caudy
Aika E Whobrey
Claire Z Malet
Jefferson P Amigon
Claire R Chui
Kaitlin S Tollner
Clifford M Vocelka
Silvio G Bowley
Deepesh P Vocelka
Tony G Poquette
Jeanfrancois I Ostrosky
Aditya D Malet
Kaitlin E Garufi
Alejandro C Bolognia
Maria E Flosi
IdCountryDate
1000Argentina2026-09-13
1001Italy2026-09-19
1002Argentina2026-09-20
1003France2026-09-12
1004Italy2026-08-31
1005Spain2026-09-15
1006Italy2026-09-04
1007Japan2026-08-25
1008India2026-09-20
1009Russia2026-09-09
1010Canada2026-09-20
1011France2026-09-01
1012Japan2026-08-26
1013Brazil2026-09-05
1014Russia2026-09-08
1015Italy2026-09-15
1016United Kingdom2026-08-30
1017Russia2026-09-06
1018United Kingdom2026-09-03
1019Argentina2026-09-13
1020Germany2026-09-10
1021Russia2026-09-10
1022Spain2026-08-30
1023Argentina2026-09-03
1024United Kingdom2026-09-03
1025Russia2026-09-13
1026Argentina2026-09-08
1027India2026-09-21
1028Japan2026-08-27
1029India2026-09-19
1030Argentina2026-09-12
1031Canada2026-09-16
1032United Kingdom2026-08-25
1033Canada2026-09-20
1034Australia2026-09-02
1035India2026-09-09
1036Italy2026-09-05
1037France2026-09-06
1038Japan2026-09-01
1039France2026-09-21
1040India2026-08-30
1041Russia2026-09-22
1042India2026-09-03
1043United Kingdom2026-09-16
1044Japan2026-09-08
1045Italy2026-08-31
1046Russia2026-08-31
1047Spain2026-09-19
1048Brazil2026-09-09
1049France2026-09-22

On-Demand Data

NameIdCountryDate
Mujtaba U Rim1000India2026-09-16
Salvatore G Garufi1001Canada2026-09-02
Adams K Sergi1002Japan2026-09-03
Morrow F Kusko1003Argentina2026-09-19
Julie K Iturbide1004Spain2026-08-26
Munro O Royster1005Canada2026-09-15
Salvatore W Gaucho1006Russia2026-09-16
Kadeem W Waycott1007France2026-08-25
Smith X Shinko1008Australia2026-09-21
Maria S Butt1009Canada2026-09-07
Juan Z Caudy1010France2026-09-05
Tony H Ferencz1011Brazil2026-08-27
Mayumi O Wieser1012Australia2026-08-27
Maisha K Caudy1013Brazil2026-09-17
Adams X Chui1014Australia2026-09-09
Maisha X Venere1015Australia2026-08-30
Kadeem H Inouye1016India2026-09-21
Nicolas M Vocelka1017Italy2026-09-05
Wickens F Butt1018India2026-09-01
Octavia D Glick1019Canada2026-09-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens O GlickBrazilXuxue Feng NEW
Emily Z FerenczAustraliaAmy Elsner PROPOSAL
Darci F StensethCanadaXuxue Feng NEW
Kaitlin K MacleadRussiaOnyama Limba QUALIFIED
Ricardo S SlusarskiAustraliaXuxue Feng UNQUALIFIED
Nicolas W VocelkaFranceBernardo Dominic RENEWAL
Isabel J PoquetteIndiaElwin Sharvill QUALIFIED
Deepesh Z StensethSpainIvan Magalhaes UNQUALIFIED
Salvatore F RutaIndiaXuxue Feng UNQUALIFIED
Jefferson P StensethItalyAnna Fali UNQUALIFIED
Juan F OstroskyJapanIoni Bowcher NEW
Mayumi Y AlbaresAustraliaIvan Magalhaes RENEWAL
Kadeem W DarakjyRussiaBernardo Dominic NEW
Morrow B VocelkaSpainElwin Sharvill QUALIFIED
Misaki A BologniaIndiaAsiya Javayant NEW
Leon M VenereRussiaBernardo Dominic RENEWAL
Arvin T IturbideBrazilIoni Bowcher NEGOTIATION
Mujtaba K SaylorsJapanOnyama Limba UNQUALIFIED
Kaitlin Z MarrierSpainBernardo Dominic UNQUALIFIED
Wickens U DoeCanadaAnna Fali QUALIFIED
Antonio E WaycottBrazilElwin Sharvill PROPOSAL
Costa Q DarakjyCanadaAsiya Javayant NEGOTIATION
Wickens U AlbaresArgentinaElwin Sharvill QUALIFIED
Ricardo A DilliardUnited KingdomAsiya Javayant NEGOTIATION
Octavia G CampainSpainBernardo Dominic RENEWAL
Clifford W ChuiItalyAmy Elsner NEGOTIATION
Julie P ShinkoJapanIoni Bowcher RENEWAL
Greenwood A PoquetteBrazilIoni Bowcher PROPOSAL
Emily X MarrierIndiaIoni Bowcher NEGOTIATION
Octavia L IturbideRussiaOnyama Limba RENEWAL
Smith T MaletSpainIoni Bowcher QUALIFIED
Leon E NickaItalyOnyama Limba UNQUALIFIED
Stacey I PoquetteArgentinaAmy Elsner NEW
David R SaylorsSpainAmy Elsner NEGOTIATION
Mujtaba E WaycottRussiaAmy Elsner RENEWAL
Aruna B AmigonFranceElwin Sharvill NEW
Isabel Y AlbaresSpainIoni Bowcher RENEWAL
Salvatore V BowleyRussiaIvan Magalhaes UNQUALIFIED
Aditya P NickaSpainAmy Elsner UNQUALIFIED
Ivar C CampainArgentinaAnna Fali 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>