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
Aruna Q DarakjyArgentinaAmy Elsner PROPOSAL
Claire J SchemmerUnited KingdomIvan Magalhaes RENEWAL
Ricardo F SaylorsArgentinaAmy Elsner UNQUALIFIED
Misaki T NestleRussiaBernardo Dominic RENEWAL
Murillo U AmigonFranceElwin Sharvill NEW
Murillo J WhobreyAustraliaXuxue Feng QUALIFIED
Izzy S SergiAustraliaOnyama Limba QUALIFIED
Rodrigues N BowleyCanadaAsiya Javayant PROPOSAL
Darci Z AlbaresGermanyOnyama Limba NEGOTIATION
Johnson I AmigonJapanStephen Shaw RENEWAL
Adams C InouyeArgentinaIvan Magalhaes NEW
Alejandro M MorascaAustraliaIvan Magalhaes PROPOSAL
Sinclair J NestleAustraliaElwin Sharvill PROPOSAL
Leja W WieserCanadaIvan Magalhaes NEGOTIATION
Mayumi Q SaylorsArgentinaStephen Shaw NEGOTIATION
Alejandro V ChuiAustraliaAmy Elsner RENEWAL
Wickens Q RutaIndiaAmy Elsner NEW
Arvin S PaprockiUnited KingdomIoni Bowcher NEW
Aruna M RulapaughArgentinaIoni Bowcher NEW
Jeanfrancois L GarufiRussiaBernardo Dominic RENEWAL
Emily S KolmetzCanadaAsiya Javayant RENEWAL
Antonio I WieserRussiaBernardo Dominic PROPOSAL
Chavez H MaletUnited KingdomAnna Fali QUALIFIED
Munro D CaldareraUnited KingdomAmy Elsner UNQUALIFIED
Emily L MorascaIndiaAmy Elsner NEW
Jones A FigeroaSpainBernardo Dominic NEGOTIATION
Isabel B WieserJapanOnyama Limba UNQUALIFIED
Emily C BriddickArgentinaElwin Sharvill NEGOTIATION
Darci T DarakjyBrazilAsiya Javayant NEGOTIATION
Aditya Q MarrierUnited KingdomIoni Bowcher RENEWAL
Smith D GauchoCanadaAmy Elsner NEW
Aruna E AlbaresSpainElwin Sharvill RENEWAL
Jennifer V ShinkoItalyIvan Magalhaes QUALIFIED
Jones X ButtJapanIoni Bowcher QUALIFIED
Kaitlin N TollnerIndiaAmy Elsner NEGOTIATION
Mayumi M KolmetzIndiaAnna Fali NEGOTIATION
Deepesh I ButtIndiaAsiya Javayant QUALIFIED
Aditya F InouyeRussiaOnyama Limba NEW
Juan J CaldareraCanadaAmy Elsner QUALIFIED
Izzy W BriddickIndiaXuxue Feng NEW
Juan G BriddickUnited KingdomBernardo Dominic PROPOSAL
Francesco W BologniaBrazilAmy Elsner UNQUALIFIED
Wickens K SchemmerGermanyIvan Magalhaes NEW
Izzy R StensethJapanXuxue Feng RENEWAL
Kadeem S FollerFranceAsiya Javayant NEGOTIATION
Arvin G DarakjyUnited KingdomOnyama Limba NEGOTIATION
Adams X OldroydFranceStephen Shaw NEGOTIATION
Maisha L GarufiCanadaAnna Fali NEGOTIATION
Octavia T MacleadAustraliaIoni Bowcher NEGOTIATION
Faith L SlusarskiSpainBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ivar J OstroskyRussiaElwin Sharvill PROPOSAL
Jefferson U MaletGermanyOnyama Limba RENEWAL
Costa E NestleGermanyElwin Sharvill QUALIFIED
Kaitlin B MacleadBrazilElwin Sharvill QUALIFIED
Morrow T KuskoGermanyStephen Shaw NEGOTIATION
Julie N StockhamJapanAnna Fali PROPOSAL
Jones B GarufiAustraliaIoni Bowcher UNQUALIFIED
Maria K FerenczItalyAnna Fali PROPOSAL
Munro C SergiAustraliaElwin Sharvill PROPOSAL
Jefferson W WieserAustraliaAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith W NestleSpain2026-09-03Chapman, Ross E Esq NEGOTIATION29Amy Elsner
1001Johnson S VenereBrazil2026-09-21Printing Dimensions QUALIFIED24Amy Elsner
1002Leja B SergiRussia2026-09-07Chemel, James L Cpa QUALIFIED69Ivan Magalhaes
1003Nicolas E MorascaFrance2026-09-13Morlong Associates PROPOSAL64Bernardo Dominic
1004Arvin Q RimSpain2026-09-25Chemel, James L Cpa RENEWAL69Amy Elsner
1005Isabel W ChuiBrazil2026-09-24Buckley Miller Wright UNQUALIFIED8Ioni Bowcher
1006Francesco L PerinRussia2026-09-17Rousseaux, Michael Esq NEGOTIATION59Xuxue Feng
1007Isabel Q FlosiBrazil2026-09-20Truhlar And Truhlar Attys QUALIFIED67Amy Elsner
1008Mujtaba O DoeCanada2026-09-27Printing Dimensions QUALIFIED14Xuxue Feng
1009Arvin J VenereCanada2026-09-03Truhlar And Truhlar Attys RENEWAL10Onyama Limba
1010Arvin C MarrierItaly2026-09-11Dorl, James J Esq NEW6Onyama Limba
1011Misaki D RimArgentina2026-09-08Rousseaux, Michael Esq PROPOSAL10Xuxue Feng
1012Sinclair Z BowleyArgentina2026-09-15Feiner Bros NEGOTIATION88Anna Fali
1013Ashley E NestleItaly2026-09-19Commercial Press NEGOTIATION62Asiya Javayant
1014Greenwood N GlickItaly2026-09-17Rousseaux, Michael Esq QUALIFIED56Stephen Shaw
1015Chavez T PerinItaly2026-09-13Feltz Printing Service RENEWAL19Onyama Limba
1016Costa A ShinkoAustralia2026-09-09Truhlar And Truhlar Attys RENEWAL51Amy Elsner
1017Rodrigues I MaletUnited Kingdom2026-09-22Chemel, James L Cpa UNQUALIFIED24Onyama Limba
1018Kadeem F RoysterCanada2026-09-22Feiner Bros NEW36Anna Fali
1019Misaki H DoeItaly2026-09-14Chapman, Ross E Esq UNQUALIFIED10Xuxue Feng
1020Mujtaba D DoeBrazil2026-08-30Dorl, James J Esq NEW41Xuxue Feng
1021Wickens F WieserRussia2026-09-04Buckley Miller Wright QUALIFIED22Asiya Javayant
1022Faith C MacleadItaly2026-09-01Truhlar And Truhlar Attys QUALIFIED29Stephen Shaw
1023Maisha L SergiArgentina2026-09-13Chemel, James L Cpa QUALIFIED31Stephen Shaw
1024Clifford T RimItaly2026-09-17Benton, John B Jr PROPOSAL91Bernardo Dominic
1025Aika I PerinIndia2026-09-14Chemel, James L Cpa UNQUALIFIED46Asiya Javayant
1026Ricardo N WieserFrance2026-08-29Dorl, James J Esq QUALIFIED78Ivan Magalhaes
1027Julie B NickaAustralia2026-09-07Rangoni Of Florence PROPOSAL97Anna Fali
1028Darci Y DilliardArgentina2026-09-19Feiner Bros RENEWAL33Elwin Sharvill
1029Greenwood E ShinkoAustralia2026-09-02Rousseaux, Michael Esq UNQUALIFIED89Bernardo Dominic
1030Julie J FlosiIndia2026-09-11King, Christopher A Esq QUALIFIED42Onyama Limba
1031Wickens T WaycottArgentina2026-09-27Feiner Bros UNQUALIFIED95Elwin Sharvill
1032Aditya T DoeUnited Kingdom2026-09-03Chapman, Ross E Esq QUALIFIED82Bernardo Dominic
1033Chavez W CampainItaly2026-09-16Rousseaux, Michael Esq NEGOTIATION93Anna Fali
1034Smith C StensethJapan2026-09-26Truhlar And Truhlar Attys NEGOTIATION21Bernardo Dominic
1035Jeanfrancois S NestleArgentina2026-09-23Chapman, Ross E Esq NEW26Elwin Sharvill
1036Munro J MacleadCanada2026-09-06Feltz Printing Service RENEWAL64Asiya Javayant
1037Arvin F SchemmerItaly2026-09-08Chanay, Jeffrey A Esq QUALIFIED30Ivan Magalhaes
1038Octavia T StensethBrazil2026-09-22Chemel, James L Cpa NEW66Ivan Magalhaes
1039James G BowleyArgentina2026-09-27Chapman, Ross E Esq PROPOSAL46Elwin Sharvill
1040Johnson W GarufiCanada2026-09-20Dorl, James J Esq PROPOSAL87Stephen Shaw
1041Johnson F BologniaItaly2026-09-19Morlong Associates NEW89Asiya Javayant
1042Octavia A MaletGermany2026-09-20Chemel, James L Cpa UNQUALIFIED76Onyama Limba
1043Izzy X MorascaGermany2026-09-10Buckley Miller Wright PROPOSAL10Onyama Limba
1044Jennifer H OldroydAustralia2026-09-23Rousseaux, Michael Esq RENEWAL73Ivan Magalhaes
1045Jefferson C ButtRussia2026-09-14Rousseaux, Michael Esq QUALIFIED72Xuxue Feng
1046Julie D DarakjyUnited Kingdom2026-09-05Feiner Bros UNQUALIFIED36Onyama Limba
1047Misaki E BowleyJapan2026-09-22Chapman, Ross E Esq NEW17Amy Elsner
1048Faith D AlbaresSpain2026-09-26King, Christopher A Esq PROPOSAL58Anna Fali
1049Sinclair P GillianIndia2026-09-09Chemel, James L Cpa UNQUALIFIED60Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Deepesh Q PaprockiBrazilAmy Elsner UNQUALIFIED
James E CaldareraJapanIoni Bowcher QUALIFIED
Arvin D MacleadItalyXuxue Feng PROPOSAL
Alejandro B WhobreyCanadaStephen Shaw NEW
Aditya V AmigonItalyXuxue Feng NEW
Smith T AlbaresRussiaOnyama Limba PROPOSAL
Costa D ChuiSpainStephen Shaw QUALIFIED
Antonio S RoysterJapanXuxue Feng QUALIFIED
Ashley T KuskoRussiaAnna Fali QUALIFIED
Johnson F CaudyGermanyIoni Bowcher RENEWAL
Isabel J InouyeAustraliaXuxue Feng RENEWAL
Costa W VenereJapanAmy Elsner UNQUALIFIED
James L ChuiCanadaStephen Shaw QUALIFIED
Alejandro I GlickUnited KingdomIvan Magalhaes UNQUALIFIED
Murillo N AmigonItalyXuxue Feng RENEWAL
Smith V FlosiFranceIoni Bowcher PROPOSAL
Adams M WhobreyItalyOnyama Limba UNQUALIFIED
Chavez M VenereItalyIoni Bowcher RENEWAL
Aruna W NestleItalyBernardo Dominic UNQUALIFIED
Isabel P DoeItalyIvan Magalhaes NEW
Kaitlin L DoeFranceIvan Magalhaes NEW
Smith T CampainAustraliaIoni Bowcher QUALIFIED
Chavez M GlickUnited KingdomIvan Magalhaes UNQUALIFIED
Cody Y FerenczSpainOnyama Limba NEW
Johnson L BologniaAustraliaOnyama Limba NEGOTIATION
Silvio C MaletSpainOnyama Limba UNQUALIFIED
Leon C NestleArgentinaOnyama Limba NEW
Juan X MacleadGermanyAmy Elsner UNQUALIFIED
Morrow U FerenczJapanStephen Shaw QUALIFIED
Morrow Y IturbideFranceElwin Sharvill QUALIFIED
Murillo C WhobreyIndiaBernardo Dominic NEGOTIATION
Munro Q FlosiIndiaIvan Magalhaes PROPOSAL
Morrow D GillianItalyIvan Magalhaes RENEWAL
Silvio E ButtIndiaAnna Fali PROPOSAL
Ivar H KolmetzAustraliaStephen Shaw NEGOTIATION
James F VocelkaGermanyElwin Sharvill PROPOSAL
Wickens P FigeroaJapanElwin Sharvill NEW
Mayumi E FerenczCanadaIvan Magalhaes NEW
Wickens K CampainJapanOnyama Limba PROPOSAL
Arvin U FigeroaFranceOnyama Limba QUALIFIED
Deepesh N DilliardGermanyAsiya Javayant NEW
Kadeem J DoeSpainElwin Sharvill UNQUALIFIED
Alejandro C MacleadBrazilAsiya Javayant QUALIFIED
Jennifer L NickaFranceIvan Magalhaes NEW
Adams F GlickAustraliaStephen Shaw RENEWAL
Sinclair M WhobreySpainStephen Shaw PROPOSAL
Izzy S GillianArgentinaAnna Fali RENEWAL
Murillo A GlickIndiaAsiya Javayant NEW
Mayumi F NestleUnited KingdomOnyama Limba PROPOSAL
Maria V FigeroaIndiaOnyama Limba PROPOSAL
Frozen Columns
Name
David G Briddick
Darci Y Morasca
Morrow J Sergi
Nicolas L Saylors
Greenwood R Whobrey
Aditya F Stockham
Salvatore I Kolmetz
Antonio C Whobrey
Jefferson R Tollner
Chavez C Perin
Leja F Ostrosky
Costa W Perin
David D Vocelka
Johnson N Saylors
David W Stockham
Salvatore N Saylors
Leon A Albares
Rodrigues H Ostrosky
Jennifer O Bowley
Juan C Bowley
Smith Q Oldroyd
Jeanfrancois R Flosi
Chavez S Bolognia
Francesco G Stenseth
Leon B Nicka
Deepesh T Garufi
Alejandro T Shinko
Maria D Malet
Darci K Darakjy
Leon K Butt
Julie R Shinko
Maisha H Caudy
Jefferson V Campain
Kaitlin F Shinko
Maria R Darakjy
Alejandro Q Sergi
Emily K Flosi
Ashley T Rulapaugh
Munro H Inouye
Ivar C Bowley
Aditya S Ruta
Deepesh C Stockham
Faith A Inouye
Leja B Poquette
Juan Y Marrier
David Y Perin
Wickens A Doe
David I Inouye
Sinclair A Tollner
Wickens J Foller
IdCountryDate
1000Germany2026-09-01
1001Russia2026-09-01
1002Italy2026-09-27
1003Brazil2026-09-25
1004Australia2026-09-24
1005Italy2026-09-23
1006Canada2026-09-14
1007Spain2026-09-10
1008Brazil2026-08-29
1009Argentina2026-09-12
1010Germany2026-09-16
1011France2026-09-05
1012Japan2026-09-14
1013Brazil2026-09-07
1014India2026-09-25
1015Australia2026-09-19
1016France2026-09-23
1017Germany2026-09-14
1018Russia2026-09-03
1019Brazil2026-09-15
1020Brazil2026-09-23
1021Italy2026-09-11
1022Japan2026-09-17
1023France2026-09-23
1024Japan2026-09-25
1025France2026-09-17
1026France2026-09-05
1027Russia2026-09-17
1028Italy2026-09-09
1029France2026-09-01
1030Canada2026-09-02
1031Germany2026-09-08
1032Japan2026-09-26
1033Italy2026-09-07
1034Australia2026-09-14
1035India2026-09-04
1036India2026-09-24
1037Japan2026-09-19
1038India2026-09-26
1039France2026-09-14
1040Australia2026-09-16
1041India2026-09-10
1042United Kingdom2026-09-16
1043Japan2026-09-12
1044Australia2026-09-04
1045Italy2026-09-19
1046India2026-09-04
1047Spain2026-09-03
1048Brazil2026-09-09
1049Japan2026-08-29

On-Demand Data

NameIdCountryDate
Clifford G Dilliard1000Canada2026-09-18
Mayumi F Royster1001Germany2026-09-16
Claire F Ruta1002Canada2026-09-27
Emily G Schemmer1003Australia2026-09-05
Aika H Chui1004France2026-09-04
Francesco N Chui1005United Kingdom2026-09-17
David C Saylors1006Canada2026-09-13
Octavia N Stenseth1007Australia2026-09-09
Clifford O Caudy1008United Kingdom2026-09-07
Stacey S Ferencz1009Brazil2026-09-25
Leja P Chui1010Russia2026-09-11
Morrow S Nicka1011Japan2026-09-20
Nicolas I Rim1012Argentina2026-09-01
Ashley J Oldroyd1013India2026-09-13
Cody Y Venere1014India2026-09-27
Darci W Royster1015Japan2026-09-09
Kaitlin S Paprocki1016India2026-09-15
Alejandro J Caudy1017Brazil2026-09-25
Tony P Poquette1018United Kingdom2026-09-16
Julie C Stockham1019India2026-09-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin P MorascaIndiaIvan Magalhaes NEGOTIATION
Jeanfrancois P PerinRussiaOnyama Limba QUALIFIED
Cody Z DoeUnited KingdomBernardo Dominic RENEWAL
Morrow D BriddickIndiaAsiya Javayant RENEWAL
Chavez W BowleyFranceAsiya Javayant PROPOSAL
Tony K SlusarskiUnited KingdomIvan Magalhaes NEGOTIATION
Nicolas J StockhamIndiaXuxue Feng UNQUALIFIED
Murillo J GillianGermanyAmy Elsner NEGOTIATION
Kaitlin B TollnerAustraliaElwin Sharvill NEW
Kaitlin Y OstroskyUnited KingdomElwin Sharvill NEGOTIATION
Silvio A SaylorsArgentinaAnna Fali NEGOTIATION
Jefferson N FollerCanadaIoni Bowcher QUALIFIED
Julie B NickaFranceBernardo Dominic PROPOSAL
Kaitlin L CaudyUnited KingdomAnna Fali RENEWAL
Ricardo G TollnerUnited KingdomAnna Fali RENEWAL
Emily C NickaItalyIvan Magalhaes RENEWAL
Johnson N ShinkoGermanyAsiya Javayant QUALIFIED
Leja C ShinkoUnited KingdomIvan Magalhaes QUALIFIED
Chavez X PoquetteJapanElwin Sharvill RENEWAL
Silvio E MacleadCanadaStephen Shaw UNQUALIFIED
Cody R DilliardCanadaBernardo Dominic RENEWAL
Maisha M BriddickJapanIoni Bowcher NEGOTIATION
Leon K VocelkaArgentinaAmy Elsner UNQUALIFIED
Aruna E ButtArgentinaOnyama Limba QUALIFIED
Kaitlin D FlosiFranceAnna Fali PROPOSAL
Sinclair W DilliardSpainOnyama Limba RENEWAL
Jennifer M DarakjyJapanBernardo Dominic RENEWAL
Mayumi C RoysterBrazilBernardo Dominic NEW
Izzy J IturbideRussiaIvan Magalhaes RENEWAL
David Y StensethArgentinaIvan Magalhaes NEGOTIATION
Adams A OldroydUnited KingdomIoni Bowcher RENEWAL
Jones N WieserRussiaOnyama Limba QUALIFIED
Aika G NickaItalyBernardo Dominic NEW
Silvio J BologniaSpainXuxue Feng RENEWAL
Jeanfrancois Q VocelkaBrazilIvan Magalhaes QUALIFIED
Antonio H GlickJapanOnyama Limba QUALIFIED
Jones T VenereFranceIvan Magalhaes NEW
Alejandro L OstroskyCanadaAnna Fali QUALIFIED
Misaki Z CaudySpainOnyama Limba PROPOSAL
Antonio Z SergiItalyAmy Elsner 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>