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
Octavia O GillianItalyAnna Fali NEGOTIATION
Clifford N KolmetzBrazilAsiya Javayant NEGOTIATION
Stacey J DoeItalyXuxue Feng RENEWAL
James H AlbaresGermanyIvan Magalhaes NEW
Adams Y PoquetteBrazilAmy Elsner NEGOTIATION
Mayumi T MacleadIndiaXuxue Feng NEW
Sinclair Y SchemmerAustraliaXuxue Feng NEW
Darci T FerenczBrazilIoni Bowcher PROPOSAL
Aruna X WieserAustraliaAmy Elsner NEW
Faith L InouyeSpainAnna Fali NEW
Deepesh Y VocelkaItalyAnna Fali NEGOTIATION
Alejandro Z CaudyRussiaAsiya Javayant NEW
Morrow C IturbideArgentinaStephen Shaw UNQUALIFIED
Costa N MarrierGermanyAnna Fali NEGOTIATION
Isabel J ShinkoGermanyAmy Elsner RENEWAL
Morrow G BowleyJapanAsiya Javayant UNQUALIFIED
Isabel J VenereSpainStephen Shaw RENEWAL
Izzy Q AlbaresSpainAmy Elsner UNQUALIFIED
Clifford V ButtRussiaAmy Elsner PROPOSAL
Murillo E BowleyCanadaXuxue Feng QUALIFIED
Jefferson U BologniaCanadaAmy Elsner PROPOSAL
Deepesh U PoquetteItalyAnna Fali RENEWAL
Juan W KuskoUnited KingdomIoni Bowcher PROPOSAL
Antonio T NickaGermanyIvan Magalhaes RENEWAL
Jeanfrancois D VocelkaGermanyBernardo Dominic NEW
Chavez I MaletFranceAsiya Javayant NEW
Adams L StockhamItalyAmy Elsner NEW
Aruna L BriddickAustraliaBernardo Dominic NEGOTIATION
Ashley K RutaAustraliaIoni Bowcher PROPOSAL
Clifford L RutaBrazilAsiya Javayant RENEWAL
Cody X GauchoUnited KingdomXuxue Feng QUALIFIED
Mujtaba J RoysterItalyOnyama Limba NEW
Johnson S WieserGermanyBernardo Dominic RENEWAL
Salvatore K PerinCanadaBernardo Dominic UNQUALIFIED
Leja S RoysterArgentinaStephen Shaw NEGOTIATION
Faith X SchemmerSpainAmy Elsner RENEWAL
Cody G FerenczItalyIoni Bowcher NEGOTIATION
Claire Q StensethRussiaXuxue Feng UNQUALIFIED
Maisha F RimBrazilIvan Magalhaes NEW
Stacey L CampainGermanyIvan Magalhaes QUALIFIED
Murillo H SergiBrazilAsiya Javayant PROPOSAL
Costa B WieserAustraliaElwin Sharvill UNQUALIFIED
Antonio M FerenczGermanyBernardo Dominic UNQUALIFIED
Nicolas S ShinkoSpainIvan Magalhaes RENEWAL
David U RulapaughUnited KingdomStephen Shaw UNQUALIFIED
Arvin K OldroydGermanyXuxue Feng NEGOTIATION
Maisha L FlosiRussiaAnna Fali NEW
David G MorascaAustraliaOnyama Limba RENEWAL
Maisha I InouyeCanadaAnna Fali NEW
David F StockhamIndiaAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Claire B OldroydAustraliaStephen Shaw QUALIFIED
Chavez Z MaletArgentinaOnyama Limba QUALIFIED
Greenwood O PoquetteBrazilOnyama Limba RENEWAL
Emily K KolmetzAustraliaOnyama Limba QUALIFIED
Salvatore B FollerFranceElwin Sharvill RENEWAL
Mujtaba H OstroskyItalyXuxue Feng QUALIFIED
Octavia Z SergiFranceElwin Sharvill NEW
Ricardo X StensethItalyIoni Bowcher QUALIFIED
Kadeem U SchemmerCanadaIoni Bowcher PROPOSAL
Greenwood E ButtCanadaXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie D SaylorsGermany2026-09-05Feltz Printing Service UNQUALIFIED87Asiya Javayant
1001Nicolas T VenereAustralia2026-09-29Chanay, Jeffrey A Esq QUALIFIED82Stephen Shaw
1002Ashley F BowleyCanada2026-09-23Truhlar And Truhlar Attys RENEWAL90Onyama Limba
1003Kadeem Q VenereBrazil2026-09-02Truhlar And Truhlar Attys NEW72Bernardo Dominic
1004Leon E MacleadGermany2026-09-01Printing Dimensions RENEWAL48Onyama Limba
1005Juan J SlusarskiIndia2026-09-29Buckley Miller Wright PROPOSAL2Ivan Magalhaes
1006Leja G VocelkaSpain2026-09-05Dorl, James J Esq UNQUALIFIED0Asiya Javayant
1007Johnson N StensethIndia2026-09-30Chemel, James L Cpa NEW5Amy Elsner
1008Maria Q KolmetzGermany2026-09-04Feltz Printing Service UNQUALIFIED66Elwin Sharvill
1009Silvio X CaldareraItaly2026-09-07Truhlar And Truhlar Attys NEW33Asiya Javayant
1010Aditya B RulapaughSpain2026-09-15King, Christopher A Esq NEW65Ivan Magalhaes
1011Antonio C RutaJapan2026-09-04Feiner Bros NEW18Stephen Shaw
1012Nicolas Y RoysterRussia2026-09-28Rangoni Of Florence QUALIFIED59Anna Fali
1013James I MarrierIndia2026-09-07Chanay, Jeffrey A Esq RENEWAL26Bernardo Dominic
1014Salvatore R StensethRussia2026-09-27Chanay, Jeffrey A Esq QUALIFIED34Anna Fali
1015James G MorascaGermany2026-09-14Benton, John B Jr NEW93Bernardo Dominic
1016Clifford K KolmetzArgentina2026-09-01Truhlar And Truhlar Attys NEW27Onyama Limba
1017Leon D WieserAustralia2026-09-26Feiner Bros NEW40Ivan Magalhaes
1018Deepesh Z RutaJapan2026-09-25Chanay, Jeffrey A Esq NEW93Ioni Bowcher
1019Faith Q KuskoJapan2026-09-23Rangoni Of Florence NEW38Stephen Shaw
1020Silvio S IturbideSpain2026-09-15Chanay, Jeffrey A Esq RENEWAL68Amy Elsner
1021Kaitlin F SlusarskiAustralia2026-09-15Chapman, Ross E Esq NEGOTIATION99Anna Fali
1022Ricardo R GillianGermany2026-09-11Printing Dimensions NEGOTIATION57Amy Elsner
1023Misaki L WieserAustralia2026-09-03Chapman, Ross E Esq NEW91Ioni Bowcher
1024Aika O KuskoCanada2026-09-18Chapman, Ross E Esq RENEWAL15Anna Fali
1025Maisha E PerinItaly2026-09-15Feltz Printing Service PROPOSAL42Ivan Magalhaes
1026Deepesh E ShinkoSpain2026-09-09Commercial Press PROPOSAL35Ioni Bowcher
1027Jefferson N BologniaGermany2026-09-27Chapman, Ross E Esq RENEWAL47Anna Fali
1028Mujtaba O FollerCanada2026-09-02Chapman, Ross E Esq UNQUALIFIED31Ioni Bowcher
1029Smith L SergiItaly2026-09-03Feltz Printing Service QUALIFIED47Bernardo Dominic
1030Francesco R WieserItaly2026-09-22Buckley Miller Wright RENEWAL8Bernardo Dominic
1031Jones E OldroydRussia2026-09-27Chemel, James L Cpa QUALIFIED88Bernardo Dominic
1032Jeanfrancois J RimJapan2026-09-09Rousseaux, Michael Esq NEGOTIATION38Ioni Bowcher
1033Ivar K BriddickArgentina2026-09-13Chanay, Jeffrey A Esq NEGOTIATION89Asiya Javayant
1034Stacey V StensethArgentina2026-09-12Rangoni Of Florence QUALIFIED22Amy Elsner
1035Sinclair Z OldroydJapan2026-09-09Feltz Printing Service RENEWAL97Ivan Magalhaes
1036Leon A MaletRussia2026-09-04Printing Dimensions UNQUALIFIED67Ivan Magalhaes
1037Aditya K FlosiBrazil2026-09-06Truhlar And Truhlar Attys RENEWAL44Xuxue Feng
1038Francesco W CampainGermany2026-09-09Morlong Associates QUALIFIED76Elwin Sharvill
1039Faith T MaletItaly2026-09-21Dorl, James J Esq QUALIFIED12Ioni Bowcher
1040Maisha Z TollnerFrance2026-09-02Dorl, James J Esq NEGOTIATION71Onyama Limba
1041Costa L GarufiUnited Kingdom2026-09-05Buckley Miller Wright NEW69Anna Fali
1042Jeanfrancois B OstroskyJapan2026-09-22King, Christopher A Esq NEGOTIATION60Onyama Limba
1043Leja Y IturbideSpain2026-09-17Morlong Associates NEW10Elwin Sharvill
1044James C NestleFrance2026-09-27Chemel, James L Cpa UNQUALIFIED44Asiya Javayant
1045Wickens Q BologniaItaly2026-09-02Chapman, Ross E Esq QUALIFIED21Ioni Bowcher
1046Munro A DoeFrance2026-09-20Chanay, Jeffrey A Esq QUALIFIED9Ioni Bowcher
1047Leja P KuskoRussia2026-09-28Feiner Bros NEGOTIATION6Bernardo Dominic
1048Antonio R MacleadSpain2026-09-22Feltz Printing Service NEGOTIATION13Bernardo Dominic
1049David G WieserIndia2026-09-04Commercial Press UNQUALIFIED25Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Ashley X FerenczBrazilIvan Magalhaes RENEWAL
Arvin S FollerCanadaIvan Magalhaes NEGOTIATION
Claire M GauchoJapanBernardo Dominic UNQUALIFIED
Murillo U NickaItalyBernardo Dominic PROPOSAL
Deepesh A BologniaRussiaStephen Shaw PROPOSAL
Arvin U MaletAustraliaBernardo Dominic QUALIFIED
Octavia R SchemmerUnited KingdomOnyama Limba RENEWAL
Maria S InouyeItalyXuxue Feng RENEWAL
Smith Z ChuiSpainXuxue Feng RENEWAL
Leon C BriddickUnited KingdomBernardo Dominic RENEWAL
Murillo G DoeGermanyXuxue Feng NEGOTIATION
Smith C ButtBrazilAmy Elsner NEW
Sinclair B StensethGermanyAnna Fali UNQUALIFIED
Darci P WhobreyGermanyIoni Bowcher UNQUALIFIED
Leon G MaletIndiaIoni Bowcher PROPOSAL
Ricardo A BologniaRussiaXuxue Feng PROPOSAL
Clifford X FlosiBrazilAnna Fali NEGOTIATION
Ricardo S WieserBrazilXuxue Feng NEGOTIATION
Ashley P MaletAustraliaIvan Magalhaes PROPOSAL
Smith M MarrierIndiaAmy Elsner QUALIFIED
Aika Z BowleyBrazilAmy Elsner NEGOTIATION
Smith Z WaycottIndiaIoni Bowcher NEW
Smith Q CaudyCanadaXuxue Feng RENEWAL
Francesco R AlbaresUnited KingdomXuxue Feng UNQUALIFIED
Tony X OldroydRussiaAmy Elsner RENEWAL
Aika O SlusarskiUnited KingdomOnyama Limba NEGOTIATION
Jones O DarakjyIndiaIvan Magalhaes QUALIFIED
Jeanfrancois G FollerBrazilOnyama Limba NEW
Wickens E CampainBrazilAmy Elsner NEGOTIATION
Aditya B KolmetzItalyAmy Elsner PROPOSAL
Silvio R ButtRussiaAmy Elsner PROPOSAL
Costa U MaletAustraliaElwin Sharvill PROPOSAL
Kadeem N FlosiBrazilOnyama Limba NEW
Murillo T SaylorsItalyAsiya Javayant PROPOSAL
Maisha L PaprockiArgentinaOnyama Limba PROPOSAL
Greenwood U CaldareraJapanAsiya Javayant QUALIFIED
Munro V ShinkoUnited KingdomStephen Shaw PROPOSAL
Jeanfrancois L GarufiCanadaXuxue Feng PROPOSAL
Claire L RoysterSpainAnna Fali PROPOSAL
Silvio L ShinkoIndiaAnna Fali UNQUALIFIED
Alejandro P SchemmerFranceXuxue Feng QUALIFIED
Francesco N MorascaIndiaElwin Sharvill NEGOTIATION
Isabel G WhobreyArgentinaIoni Bowcher PROPOSAL
Ivar P IturbideUnited KingdomBernardo Dominic PROPOSAL
Smith L KuskoIndiaStephen Shaw RENEWAL
Alejandro V MaletGermanyAnna Fali UNQUALIFIED
Aika U SaylorsIndiaXuxue Feng PROPOSAL
Leja J GauchoBrazilAsiya Javayant UNQUALIFIED
Tony Q MarrierItalyAmy Elsner NEGOTIATION
Stacey G KuskoCanadaStephen Shaw RENEWAL
Frozen Columns
Name
Jennifer Z Gillian
Izzy Q Shinko
Salvatore A Rulapaugh
Mayumi K Kolmetz
Octavia M Iturbide
Darci R Ferencz
Adams F Ostrosky
Johnson A Doe
Juan H Paprocki
Ivar I Venere
Francesco H Morasca
James N Whobrey
Murillo O Nestle
Jones X Malet
Kaitlin W Doe
Deepesh H Briddick
Salvatore P Dilliard
Kaitlin T Chui
Faith M Foller
Salvatore E Nicka
Arvin L Inouye
Mayumi U Rim
Sinclair E Paprocki
Ricardo L Bowley
Ivar L Rim
Silvio O Sergi
Jennifer T Poquette
Ricardo Z Malet
Deepesh X Ruta
Stacey C Inouye
Costa V Stenseth
Jones Q Iturbide
Morrow H Iturbide
Jones E Glick
Emily L Campain
Johnson M Nicka
Mayumi V Amigon
Antonio H Shinko
Nicolas X Flosi
Greenwood K Campain
Kaitlin U Kusko
Aditya R Darakjy
Clifford D Gillian
Francesco G Paprocki
Juan B Whobrey
Cody F Perin
Mujtaba S Flosi
Ashley Y Stenseth
David X Kolmetz
Deepesh H Paprocki
IdCountryDate
1000Spain2026-09-14
1001France2026-09-22
1002Argentina2026-09-09
1003Australia2026-09-06
1004India2026-09-19
1005Australia2026-09-01
1006France2026-09-05
1007Argentina2026-09-05
1008Russia2026-09-03
1009Italy2026-09-22
1010India2026-09-12
1011France2026-09-26
1012Canada2026-09-20
1013Brazil2026-09-20
1014Australia2026-09-19
1015Spain2026-09-26
1016Australia2026-09-23
1017Germany2026-09-04
1018Canada2026-09-28
1019Spain2026-09-06
1020Germany2026-09-24
1021Brazil2026-09-27
1022France2026-09-25
1023Argentina2026-09-19
1024India2026-09-26
1025Argentina2026-09-08
1026Australia2026-09-22
1027Italy2026-09-12
1028Australia2026-09-11
1029Brazil2026-09-29
1030Japan2026-09-23
1031Italy2026-09-25
1032Australia2026-09-05
1033Brazil2026-09-09
1034Australia2026-09-03
1035India2026-09-07
1036Australia2026-09-25
1037Spain2026-09-17
1038Japan2026-09-02
1039Japan2026-09-06
1040Spain2026-09-26
1041Russia2026-09-10
1042France2026-09-27
1043Australia2026-09-06
1044India2026-09-06
1045Australia2026-09-17
1046Australia2026-09-21
1047France2026-09-02
1048Argentina2026-09-15
1049France2026-09-15

On-Demand Data

NameIdCountryDate
Deepesh E Iturbide1000Germany2026-09-30
Isabel C Butt1001Brazil2026-09-10
Mayumi Z Darakjy1002Russia2026-09-09
Leja E Nicka1003Japan2026-09-12
Murillo X Saylors1004France2026-09-15
Kaitlin J Campain1005Germany2026-09-27
David T Gaucho1006Canada2026-09-21
Ashley W Foller1007Brazil2026-09-03
Faith Q Caudy1008Australia2026-09-01
Sinclair I Flosi1009India2026-09-25
Maisha C Doe1010Russia2026-09-14
Octavia D Maclead1011France2026-09-27
Maisha A Saylors1012Spain2026-09-19
Faith M Kusko1013Japan2026-09-01
Ivar L Waycott1014India2026-09-25
Aruna Y Caldarera1015Canada2026-09-27
Jefferson Z Iturbide1016Argentina2026-09-15
Leja D Dilliard1017Spain2026-09-30
James Y Nestle1018Spain2026-09-13
Isabel Y Malet1019Russia2026-09-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony K RutaGermanyOnyama Limba PROPOSAL
Emily T CaldareraRussiaIvan Magalhaes NEW
Julie M NestleRussiaElwin Sharvill PROPOSAL
Alejandro C StockhamBrazilBernardo Dominic QUALIFIED
Clifford Q FerenczAustraliaAsiya Javayant QUALIFIED
Stacey S BowleyUnited KingdomAmy Elsner NEGOTIATION
Kadeem U AlbaresSpainAnna Fali NEW
Arvin U StockhamItalyElwin Sharvill RENEWAL
Salvatore B CaldareraAustraliaBernardo Dominic PROPOSAL
Morrow H NickaArgentinaOnyama Limba NEW
Greenwood Y NickaIndiaIvan Magalhaes NEW
Chavez V PoquetteAustraliaAsiya Javayant PROPOSAL
Ivar J InouyeArgentinaOnyama Limba PROPOSAL
Kaitlin E KuskoUnited KingdomStephen Shaw PROPOSAL
Jones Q GlickItalyIoni Bowcher NEW
Leon O BologniaArgentinaOnyama Limba UNQUALIFIED
Mayumi X ChuiRussiaStephen Shaw UNQUALIFIED
Arvin K KuskoItalyAmy Elsner NEW
Emily X SaylorsAustraliaAnna Fali UNQUALIFIED
Stacey T RimAustraliaIvan Magalhaes NEGOTIATION
Munro Q KolmetzSpainIoni Bowcher NEGOTIATION
Jones R MaletAustraliaBernardo Dominic QUALIFIED
Juan J NestleArgentinaXuxue Feng QUALIFIED
Ricardo Z CampainCanadaAmy Elsner UNQUALIFIED
David L ShinkoUnited KingdomIoni Bowcher NEGOTIATION
Ivar R CaudyIndiaIvan Magalhaes QUALIFIED
Claire W MaletArgentinaIoni Bowcher RENEWAL
Munro W MarrierArgentinaIoni Bowcher QUALIFIED
Wickens M ButtArgentinaStephen Shaw QUALIFIED
Munro R SchemmerRussiaBernardo Dominic PROPOSAL
Francesco Y IturbideUnited KingdomIoni Bowcher NEGOTIATION
Claire L CaudyUnited KingdomIvan Magalhaes QUALIFIED
Arvin K CampainFranceStephen Shaw NEGOTIATION
Chavez I CaldareraRussiaElwin Sharvill QUALIFIED
Johnson H CaudyJapanStephen Shaw PROPOSAL
Chavez U BowleyRussiaElwin Sharvill NEGOTIATION
Chavez U WieserAustraliaElwin Sharvill RENEWAL
Ricardo V VenereFranceElwin Sharvill UNQUALIFIED
Rodrigues R RimUnited KingdomBernardo Dominic RENEWAL
Faith X MorascaAustraliaXuxue Feng UNQUALIFIED

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