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
Jeanfrancois O IturbideBrazilElwin Sharvill NEW
Alejandro W RulapaughFranceBernardo Dominic RENEWAL
Ricardo A CaudyJapanIoni Bowcher RENEWAL
Mayumi C MaletBrazilAsiya Javayant PROPOSAL
Francesco H DilliardIndiaAnna Fali RENEWAL
Leja C FigeroaGermanyIvan Magalhaes RENEWAL
Johnson T GauchoBrazilStephen Shaw QUALIFIED
Octavia X MaletRussiaBernardo Dominic UNQUALIFIED
Emily Q WaycottUnited KingdomAsiya Javayant NEW
Sinclair Q VocelkaSpainBernardo Dominic RENEWAL
Octavia L VenereAustraliaBernardo Dominic RENEWAL
Alejandro S RulapaughJapanElwin Sharvill NEW
Deepesh P SergiAustraliaBernardo Dominic QUALIFIED
Greenwood F BriddickUnited KingdomAmy Elsner QUALIFIED
Emily B FerenczJapanElwin Sharvill RENEWAL
Rodrigues H GauchoIndiaAnna Fali RENEWAL
Leon X NestleFranceIoni Bowcher RENEWAL
Arvin S VenereBrazilOnyama Limba NEGOTIATION
Arvin J RoysterJapanAsiya Javayant PROPOSAL
Silvio T WhobreyCanadaAnna Fali NEGOTIATION
Chavez D VenereBrazilAmy Elsner UNQUALIFIED
Cody A VocelkaAustraliaAnna Fali RENEWAL
Ivar Q ChuiFranceAsiya Javayant RENEWAL
Leon H OstroskyGermanyOnyama Limba QUALIFIED
Costa Q KuskoItalyStephen Shaw QUALIFIED
Deepesh E FigeroaUnited KingdomIvan Magalhaes UNQUALIFIED
Rodrigues S GauchoAustraliaIoni Bowcher QUALIFIED
Jennifer R RulapaughFranceXuxue Feng QUALIFIED
Francesco S GillianRussiaStephen Shaw NEW
Morrow F WieserUnited KingdomIvan Magalhaes PROPOSAL
Octavia R PerinJapanElwin Sharvill PROPOSAL
Antonio Q AlbaresFranceAsiya Javayant PROPOSAL
Tony L MaletGermanyBernardo Dominic PROPOSAL
Jefferson O DarakjyRussiaIoni Bowcher NEW
Stacey Y MacleadItalyIvan Magalhaes UNQUALIFIED
Aditya K NickaCanadaAnna Fali NEW
Faith E GarufiIndiaAmy Elsner RENEWAL
Izzy Y RutaSpainBernardo Dominic NEW
Ricardo N WaycottRussiaXuxue Feng NEW
Ivar S CaldareraUnited KingdomElwin Sharvill NEW
Sinclair R VenereJapanAnna Fali NEGOTIATION
Morrow Z MaletUnited KingdomIvan Magalhaes NEGOTIATION
Octavia Z SaylorsJapanIoni Bowcher PROPOSAL
Aruna I FigeroaUnited KingdomIvan Magalhaes PROPOSAL
Greenwood E TollnerGermanyIvan Magalhaes PROPOSAL
Leon U OldroydCanadaAnna Fali QUALIFIED
Isabel F StockhamIndiaElwin Sharvill NEGOTIATION
Francesco R CaldareraGermanyOnyama Limba NEGOTIATION
Leja S RoysterJapanAnna Fali RENEWAL
Francesco B GauchoIndiaBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mujtaba H BriddickArgentinaAnna Fali RENEWAL
Costa I DilliardItalyOnyama Limba NEW
Ricardo X DoeFranceAnna Fali RENEWAL
Aika P ChuiIndiaElwin Sharvill PROPOSAL
Jeanfrancois J WhobreyAustraliaBernardo Dominic NEW
Ricardo D KolmetzUnited KingdomOnyama Limba PROPOSAL
Kadeem B StockhamGermanyIvan Magalhaes RENEWAL
Kadeem G AmigonIndiaIvan Magalhaes NEGOTIATION
Cody D OldroydArgentinaIoni Bowcher RENEWAL
Deepesh Q SlusarskiCanadaBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna A MacleadFrance2026-09-17Morlong Associates PROPOSAL17Stephen Shaw
1001Cody M StensethCanada2026-09-24Feiner Bros NEW62Ioni Bowcher
1002Sinclair K VenereRussia2026-10-14Chapman, Ross E Esq NEGOTIATION75Xuxue Feng
1003Darci L CaudyRussia2026-10-15Dorl, James J Esq RENEWAL89Asiya Javayant
1004Antonio K SaylorsRussia2026-10-15Printing Dimensions NEGOTIATION38Xuxue Feng
1005Ivar Z GarufiItaly2026-09-19Chemel, James L Cpa NEW62Stephen Shaw
1006Morrow I VenereJapan2026-10-07Feiner Bros NEW3Bernardo Dominic
1007Leon H KolmetzRussia2026-09-24Chapman, Ross E Esq RENEWAL0Stephen Shaw
1008Maisha S MarrierArgentina2026-09-28Truhlar And Truhlar Attys UNQUALIFIED40Xuxue Feng
1009Chavez L VocelkaFrance2026-10-04Printing Dimensions PROPOSAL0Anna Fali
1010Izzy A InouyeAustralia2026-10-06Buckley Miller Wright UNQUALIFIED62Ivan Magalhaes
1011Maisha W FlosiItaly2026-10-09Truhlar And Truhlar Attys RENEWAL4Asiya Javayant
1012Chavez H StensethRussia2026-10-01Benton, John B Jr PROPOSAL39Asiya Javayant
1013Ivar E StockhamIndia2026-09-30Chanay, Jeffrey A Esq NEGOTIATION82Elwin Sharvill
1014Morrow Q ChuiJapan2026-10-02Feiner Bros RENEWAL31Anna Fali
1015Darci C MaletRussia2026-10-12Rousseaux, Michael Esq NEW83Xuxue Feng
1016Leja H AlbaresSpain2026-10-12Rousseaux, Michael Esq NEW16Amy Elsner
1017Munro M BowleyRussia2026-09-25Rousseaux, Michael Esq PROPOSAL73Asiya Javayant
1018Ivar E PerinBrazil2026-10-02Chanay, Jeffrey A Esq UNQUALIFIED62Bernardo Dominic
1019Stacey E SchemmerCanada2026-09-17Chapman, Ross E Esq NEGOTIATION45Onyama Limba
1020Salvatore N DilliardCanada2026-09-25Commercial Press NEW65Asiya Javayant
1021Murillo W ShinkoBrazil2026-10-09Chanay, Jeffrey A Esq QUALIFIED8Xuxue Feng
1022Octavia U SlusarskiAustralia2026-09-28Rangoni Of Florence NEW79Elwin Sharvill
1023Adams W OldroydUnited Kingdom2026-10-12Chemel, James L Cpa RENEWAL8Stephen Shaw
1024Sinclair S PaprockiIndia2026-09-20Rousseaux, Michael Esq QUALIFIED73Bernardo Dominic
1025Claire W MacleadItaly2026-09-18Rousseaux, Michael Esq QUALIFIED85Onyama Limba
1026Octavia I NickaAustralia2026-10-13Rangoni Of Florence RENEWAL44Bernardo Dominic
1027Cody P FigeroaJapan2026-09-19Feiner Bros NEW65Ivan Magalhaes
1028Salvatore K BologniaArgentina2026-10-03Buckley Miller Wright PROPOSAL2Anna Fali
1029Aruna G FlosiGermany2026-10-05Dorl, James J Esq PROPOSAL87Xuxue Feng
1030Greenwood B BologniaJapan2026-10-01Morlong Associates NEGOTIATION96Stephen Shaw
1031Tony T PoquetteSpain2026-10-12Printing Dimensions UNQUALIFIED3Onyama Limba
1032Julie J AlbaresAustralia2026-10-01Chemel, James L Cpa RENEWAL63Asiya Javayant
1033Greenwood I RulapaughJapan2026-10-03Buckley Miller Wright NEW25Elwin Sharvill
1034Izzy Y InouyeAustralia2026-09-25King, Christopher A Esq RENEWAL8Onyama Limba
1035Juan H StockhamIndia2026-09-26Feiner Bros UNQUALIFIED50Asiya Javayant
1036Maisha X OldroydAustralia2026-09-18Benton, John B Jr UNQUALIFIED49Xuxue Feng
1037Izzy G ChuiAustralia2026-09-26Chapman, Ross E Esq PROPOSAL35Anna Fali
1038Morrow D BologniaJapan2026-10-09Feltz Printing Service NEGOTIATION82Anna Fali
1039Kadeem R AmigonBrazil2026-10-04Rousseaux, Michael Esq QUALIFIED3Ioni Bowcher
1040Jeanfrancois P SlusarskiCanada2026-09-27Benton, John B Jr UNQUALIFIED36Amy Elsner
1041Izzy X OldroydAustralia2026-10-04Buckley Miller Wright RENEWAL70Anna Fali
1042Smith J NestleUnited Kingdom2026-10-15Feiner Bros PROPOSAL43Asiya Javayant
1043Jeanfrancois X CampainAustralia2026-10-03King, Christopher A Esq NEGOTIATION73Bernardo Dominic
1044David O VenereGermany2026-10-12Morlong Associates QUALIFIED34Asiya Javayant
1045James D RutaAustralia2026-09-28Chemel, James L Cpa RENEWAL4Bernardo Dominic
1046David R SchemmerIndia2026-10-01Morlong Associates NEW16Ioni Bowcher
1047Jones H MaletJapan2026-10-07Chanay, Jeffrey A Esq QUALIFIED35Amy Elsner
1048Izzy M IturbideRussia2026-09-23Dorl, James J Esq NEW58Asiya Javayant
1049Kadeem G MorascaBrazil2026-10-03Feiner Bros QUALIFIED52Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Munro G CaudyFranceStephen Shaw UNQUALIFIED
Juan T FollerSpainAnna Fali NEW
Aika N NestleJapanElwin Sharvill RENEWAL
Nicolas S SchemmerBrazilOnyama Limba NEW
Ivar S WaycottJapanOnyama Limba QUALIFIED
Johnson P SaylorsAustraliaBernardo Dominic QUALIFIED
Jennifer G IturbideArgentinaElwin Sharvill PROPOSAL
Isabel B AlbaresIndiaBernardo Dominic NEW
Jones E SlusarskiAustraliaIoni Bowcher UNQUALIFIED
Izzy B DarakjyFranceXuxue Feng NEW
Aruna L NickaBrazilIvan Magalhaes UNQUALIFIED
Leon P RimAustraliaAnna Fali PROPOSAL
Munro F MorascaIndiaXuxue Feng NEGOTIATION
Aruna T BowleyFranceStephen Shaw PROPOSAL
Ivar U RulapaughCanadaIoni Bowcher NEW
Octavia K FerenczRussiaXuxue Feng UNQUALIFIED
Salvatore Q DoeItalyAmy Elsner NEGOTIATION
Misaki E PaprockiCanadaAsiya Javayant NEW
Emily G TollnerFranceXuxue Feng UNQUALIFIED
Cody F PaprockiItalyAnna Fali UNQUALIFIED
Morrow Z AmigonGermanyStephen Shaw RENEWAL
Rodrigues N FigeroaAustraliaIoni Bowcher PROPOSAL
Kaitlin E ShinkoCanadaElwin Sharvill RENEWAL
Darci A StensethRussiaBernardo Dominic PROPOSAL
Chavez J MarrierSpainAnna Fali NEW
Darci V WieserRussiaAnna Fali PROPOSAL
Nicolas L NickaBrazilOnyama Limba QUALIFIED
Deepesh Y InouyeJapanAmy Elsner RENEWAL
Deepesh I BowleyBrazilOnyama Limba UNQUALIFIED
James Y WhobreyArgentinaAmy Elsner NEGOTIATION
Cody C MarrierFranceIoni Bowcher UNQUALIFIED
Costa L FollerJapanOnyama Limba NEGOTIATION
Chavez H AmigonItalyAsiya Javayant UNQUALIFIED
Jefferson Q AmigonIndiaIoni Bowcher QUALIFIED
Jeanfrancois E ShinkoJapanOnyama Limba UNQUALIFIED
Aditya W StockhamAustraliaAmy Elsner UNQUALIFIED
Adams O FigeroaSpainOnyama Limba QUALIFIED
Jennifer I RulapaughRussiaXuxue Feng QUALIFIED
Juan D FerenczCanadaIvan Magalhaes QUALIFIED
Chavez I CaldareraAustraliaAmy Elsner QUALIFIED
Julie N DoeGermanyOnyama Limba PROPOSAL
Cody C ShinkoCanadaAsiya Javayant NEW
Silvio V SchemmerRussiaElwin Sharvill PROPOSAL
Jones G GillianUnited KingdomBernardo Dominic NEGOTIATION
Julie C VenereIndiaOnyama Limba QUALIFIED
Adams V StensethGermanyOnyama Limba QUALIFIED
Kadeem W FlosiJapanElwin Sharvill QUALIFIED
Greenwood I GarufiUnited KingdomAnna Fali NEGOTIATION
Jones P GlickItalyAsiya Javayant UNQUALIFIED
Alejandro H SergiFranceBernardo Dominic QUALIFIED
Frozen Columns
Name
Clifford U Caudy
Jefferson W Gaucho
Claire Q Darakjy
Faith E Bolognia
Aika O Garufi
Faith M Doe
Cody O Doe
Clifford K Caudy
Antonio I Malet
Jeanfrancois Z Butt
Ricardo G Kolmetz
Greenwood Q Whobrey
Murillo U Ferencz
Francesco N Garufi
Smith C Caldarera
Faith O Schemmer
Jennifer A Wieser
Ivar S Ruta
Ricardo E Royster
Mayumi R Vocelka
Antonio J Saylors
Kaitlin Z Albares
Juan J Bowley
Izzy V Ostrosky
Nicolas F Rim
Aika C Amigon
Deepesh A Gillian
Francesco U Wieser
Munro Y Ostrosky
Leja O Doe
Aruna I Sergi
Aika X Albares
Izzy D Sergi
Deepesh L Royster
Aditya F Wieser
James X Darakjy
Johnson Z Perin
Salvatore S Chui
Emily K Gillian
Ivar R Albares
James P Campain
Rodrigues X Schemmer
Jones Y Malet
Murillo M Flosi
Munro L Figeroa
Greenwood K Inouye
Jefferson C Stenseth
Cody L Gillian
Faith D Morasca
Aika K Tollner
IdCountryDate
1000Russia2026-09-26
1001Argentina2026-10-03
1002Spain2026-10-01
1003India2026-10-05
1004Canada2026-09-27
1005Canada2026-09-27
1006Germany2026-10-06
1007Argentina2026-09-25
1008United Kingdom2026-10-12
1009Argentina2026-10-08
1010Argentina2026-10-12
1011Argentina2026-09-24
1012United Kingdom2026-09-26
1013Brazil2026-09-21
1014Brazil2026-09-18
1015Argentina2026-10-14
1016France2026-10-15
1017Russia2026-10-14
1018Russia2026-09-25
1019India2026-09-25
1020Russia2026-09-27
1021Australia2026-09-28
1022Australia2026-10-13
1023Italy2026-10-09
1024India2026-09-28
1025Russia2026-09-19
1026Argentina2026-10-04
1027India2026-10-11
1028India2026-10-04
1029Brazil2026-10-12
1030Argentina2026-09-16
1031United Kingdom2026-09-29
1032France2026-10-10
1033Australia2026-09-26
1034Australia2026-09-17
1035Germany2026-09-30
1036Spain2026-09-26
1037Australia2026-10-10
1038France2026-10-09
1039Brazil2026-10-02
1040Australia2026-09-22
1041Canada2026-10-01
1042France2026-10-06
1043Italy2026-09-29
1044Japan2026-09-22
1045United Kingdom2026-10-13
1046Italy2026-10-12
1047Italy2026-09-28
1048France2026-09-19
1049Japan2026-09-16

On-Demand Data

NameIdCountryDate
Leon M Dilliard1000Russia2026-10-04
Stacey G Sergi1001Argentina2026-09-23
Arvin O Morasca1002Spain2026-09-26
Nicolas A Stockham1003Italy2026-10-03
David D Whobrey1004France2026-09-27
Jefferson D Iturbide1005Germany2026-10-10
Kaitlin T Oldroyd1006United Kingdom2026-09-25
Maria O Rim1007Spain2026-10-09
Alejandro D Gaucho1008France2026-10-05
Greenwood J Kusko1009Canada2026-09-27
Julie L Wieser1010Italy2026-10-12
Aruna C Glick1011Brazil2026-10-03
Tony Y Stenseth1012Australia2026-10-12
Aruna C Albares1013Argentina2026-09-25
Izzy Z Rulapaugh1014India2026-09-23
Smith X Caudy1015France2026-10-03
Julie P Vocelka1016Spain2026-10-08
Jones E Inouye1017Brazil2026-10-15
Sinclair G Nestle1018United Kingdom2026-09-16
Murillo H Waycott1019Italy2026-10-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues U AmigonAustraliaBernardo Dominic RENEWAL
Morrow Y AmigonBrazilAsiya Javayant QUALIFIED
Johnson U GlickCanadaXuxue Feng RENEWAL
Smith J TollnerCanadaAnna Fali NEW
Isabel Z OldroydGermanyOnyama Limba NEW
Leon C RimJapanAmy Elsner RENEWAL
Leja O WaycottAustraliaAsiya Javayant NEGOTIATION
Rodrigues T ShinkoIndiaElwin Sharvill UNQUALIFIED
Misaki T StockhamSpainOnyama Limba NEW
Aruna O CampainAustraliaAmy Elsner NEW
Leon I WieserCanadaOnyama Limba PROPOSAL
Aika T PaprockiFranceStephen Shaw RENEWAL
Arvin K OldroydUnited KingdomAsiya Javayant UNQUALIFIED
Clifford B AlbaresIndiaIoni Bowcher RENEWAL
Ricardo C SlusarskiSpainStephen Shaw NEW
Mujtaba B IturbideFranceAnna Fali UNQUALIFIED
Octavia E MaletIndiaIoni Bowcher RENEWAL
Aditya R AlbaresIndiaElwin Sharvill PROPOSAL
Silvio F StensethFranceAmy Elsner PROPOSAL
Darci J WhobreyFranceXuxue Feng PROPOSAL
Claire C WhobreySpainAsiya Javayant RENEWAL
Alejandro Q BriddickBrazilElwin Sharvill PROPOSAL
Chavez F PoquetteUnited KingdomStephen Shaw NEW
Morrow X RulapaughGermanyStephen Shaw UNQUALIFIED
Kaitlin L DarakjyRussiaStephen Shaw UNQUALIFIED
Leon D DoeSpainXuxue Feng PROPOSAL
Emily C FerenczItalyXuxue Feng UNQUALIFIED
Johnson K VenereArgentinaAmy Elsner PROPOSAL
Johnson D ButtBrazilIvan Magalhaes PROPOSAL
Chavez K PoquetteIndiaElwin Sharvill RENEWAL
Jefferson N BriddickItalyXuxue Feng PROPOSAL
Leja S PoquetteArgentinaXuxue Feng NEW
Darci Z BriddickUnited KingdomElwin Sharvill RENEWAL
Salvatore H VocelkaAustraliaXuxue Feng UNQUALIFIED
Leja X MacleadUnited KingdomOnyama Limba QUALIFIED
Ashley B BologniaJapanIvan Magalhaes RENEWAL
Morrow Q PaprockiSpainAmy Elsner PROPOSAL
Maria K InouyeArgentinaIvan Magalhaes UNQUALIFIED
Misaki L MaletGermanyIvan Magalhaes NEGOTIATION
Morrow B ChuiBrazilAnna Fali PROPOSAL

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