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
Juan N GillianGermanyStephen Shaw QUALIFIED
Jennifer M BriddickIndiaStephen Shaw UNQUALIFIED
Jefferson O OldroydGermanyStephen Shaw PROPOSAL
Salvatore C WieserRussiaAmy Elsner PROPOSAL
Deepesh D MacleadIndiaElwin Sharvill PROPOSAL
Adams Y WieserFranceBernardo Dominic NEGOTIATION
Rodrigues D CaudySpainIvan Magalhaes NEW
Izzy Y MacleadBrazilIoni Bowcher RENEWAL
Morrow V PerinSpainIvan Magalhaes NEGOTIATION
Arvin O CampainSpainXuxue Feng QUALIFIED
James Q CaldareraRussiaAsiya Javayant NEW
Kaitlin M BriddickFranceAnna Fali NEGOTIATION
Stacey I CaudyRussiaAnna Fali QUALIFIED
Adams T ButtGermanyOnyama Limba NEW
Kadeem V GlickCanadaStephen Shaw UNQUALIFIED
Costa V MaletSpainOnyama Limba RENEWAL
Arvin V RulapaughRussiaOnyama Limba UNQUALIFIED
Cody T CaudySpainXuxue Feng UNQUALIFIED
Adams P MarrierCanadaIoni Bowcher NEW
Stacey H CampainCanadaElwin Sharvill RENEWAL
Wickens C ShinkoBrazilOnyama Limba NEGOTIATION
Tony O KolmetzSpainAsiya Javayant NEW
Jones N VocelkaIndiaAsiya Javayant NEGOTIATION
Maria O MaletIndiaAnna Fali PROPOSAL
Aruna H ShinkoIndiaAnna Fali UNQUALIFIED
Greenwood Y SaylorsItalyAnna Fali NEW
Faith A FollerRussiaStephen Shaw NEW
Ashley O VocelkaFranceBernardo Dominic NEGOTIATION
Stacey Q StensethBrazilIvan Magalhaes PROPOSAL
Tony F AmigonJapanAmy Elsner PROPOSAL
Mujtaba W SchemmerItalyAsiya Javayant RENEWAL
Jefferson E GlickArgentinaXuxue Feng NEGOTIATION
Wickens L AmigonCanadaIvan Magalhaes NEGOTIATION
Juan L InouyeUnited KingdomIoni Bowcher NEGOTIATION
Arvin N RutaIndiaAmy Elsner RENEWAL
Kadeem Z MaletCanadaElwin Sharvill NEGOTIATION
Tony Y FollerAustraliaOnyama Limba RENEWAL
Izzy S CaldareraCanadaElwin Sharvill QUALIFIED
Julie Q CaldareraBrazilOnyama Limba RENEWAL
Murillo U DarakjyCanadaIvan Magalhaes PROPOSAL
Julie Q MarrierJapanStephen Shaw QUALIFIED
Maisha R OldroydArgentinaAnna Fali UNQUALIFIED
Maria X StensethItalyIvan Magalhaes NEGOTIATION
Ashley N WaycottSpainOnyama Limba PROPOSAL
Maria Q MarrierArgentinaOnyama Limba QUALIFIED
Aika A DoeBrazilIoni Bowcher PROPOSAL
Claire R RulapaughFranceIoni Bowcher NEGOTIATION
Misaki L GlickSpainAmy Elsner RENEWAL
Jones V CaldareraAustraliaAsiya Javayant UNQUALIFIED
Ricardo S RimBrazilAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Darci U ShinkoUnited KingdomAsiya Javayant PROPOSAL
Maisha J SergiUnited KingdomStephen Shaw NEW
Claire E CaudyJapanOnyama Limba UNQUALIFIED
Chavez F IturbideCanadaAnna Fali NEGOTIATION
Aditya L AlbaresUnited KingdomElwin Sharvill PROPOSAL
Izzy Z WhobreyIndiaStephen Shaw PROPOSAL
Maisha O CaudyRussiaIoni Bowcher RENEWAL
Mayumi G BologniaCanadaIoni Bowcher UNQUALIFIED
Octavia X NestleJapanStephen Shaw RENEWAL
Kaitlin R KolmetzJapanAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson T FollerSpain2026-10-02Rangoni Of Florence RENEWAL27Onyama Limba
1001Antonio M PerinGermany2026-10-16Feltz Printing Service QUALIFIED54Stephen Shaw
1002Izzy Y StockhamBrazil2026-10-29Chanay, Jeffrey A Esq RENEWAL7Elwin Sharvill
1003Maria R OstroskyGermany2026-10-12Commercial Press QUALIFIED9Asiya Javayant
1004Murillo B PoquetteBrazil2026-10-20Rousseaux, Michael Esq RENEWAL35Onyama Limba
1005Chavez F SergiGermany2026-10-16King, Christopher A Esq UNQUALIFIED67Onyama Limba
1006Faith M StockhamBrazil2026-10-11Benton, John B Jr NEW71Stephen Shaw
1007Morrow V GillianRussia2026-10-04Chemel, James L Cpa RENEWAL42Ioni Bowcher
1008Misaki W GauchoJapan2026-10-04Rousseaux, Michael Esq PROPOSAL41Ivan Magalhaes
1009Maria N SchemmerFrance2026-10-09Feltz Printing Service PROPOSAL88Onyama Limba
1010Jefferson T SlusarskiJapan2026-10-06Chanay, Jeffrey A Esq NEW75Elwin Sharvill
1011Mujtaba G PerinItaly2026-10-28Buckley Miller Wright QUALIFIED49Xuxue Feng
1012Aruna W StensethAustralia2026-10-10Rangoni Of Florence NEGOTIATION14Onyama Limba
1013Leja A CaudyBrazil2026-10-17King, Christopher A Esq QUALIFIED69Anna Fali
1014Deepesh C StensethGermany2026-10-25Rangoni Of Florence QUALIFIED55Anna Fali
1015Jennifer G WaycottCanada2026-10-05Rangoni Of Florence UNQUALIFIED64Bernardo Dominic
1016Juan X WieserGermany2026-10-16Truhlar And Truhlar Attys RENEWAL68Onyama Limba
1017Izzy N VenereUnited Kingdom2026-10-03Chapman, Ross E Esq NEGOTIATION46Ioni Bowcher
1018Mayumi Y FerenczArgentina2026-10-24Truhlar And Truhlar Attys PROPOSAL4Ivan Magalhaes
1019Aditya V RimBrazil2026-10-11Morlong Associates QUALIFIED14Xuxue Feng
1020Costa P NickaJapan2026-10-13Chapman, Ross E Esq RENEWAL49Elwin Sharvill
1021Silvio Z AlbaresIndia2026-10-12Chapman, Ross E Esq RENEWAL49Anna Fali
1022Greenwood X InouyeArgentina2026-10-30Chanay, Jeffrey A Esq PROPOSAL77Anna Fali
1023James J CampainSpain2026-10-20Morlong Associates NEGOTIATION36Asiya Javayant
1024Arvin D RutaRussia2026-10-19Chapman, Ross E Esq QUALIFIED8Elwin Sharvill
1025Octavia V VenereItaly2026-10-11Dorl, James J Esq RENEWAL65Xuxue Feng
1026Emily A VenereCanada2026-10-31Benton, John B Jr QUALIFIED98Onyama Limba
1027Smith Z WhobreyCanada2026-10-17Commercial Press RENEWAL97Anna Fali
1028Rodrigues I GillianJapan2026-10-10Buckley Miller Wright NEGOTIATION15Xuxue Feng
1029Octavia K ShinkoBrazil2026-10-16Morlong Associates QUALIFIED80Xuxue Feng
1030Misaki S WhobreyAustralia2026-10-15Rangoni Of Florence QUALIFIED35Stephen Shaw
1031Rodrigues D VenereItaly2026-10-13Buckley Miller Wright NEW24Ioni Bowcher
1032Leon F GarufiIndia2026-10-15Chapman, Ross E Esq NEGOTIATION32Bernardo Dominic
1033Silvio E MarrierAustralia2026-10-14Truhlar And Truhlar Attys QUALIFIED16Anna Fali
1034Maria U IturbideAustralia2026-10-12Benton, John B Jr NEW44Anna Fali
1035Jones U StensethSpain2026-10-09Chanay, Jeffrey A Esq NEGOTIATION82Elwin Sharvill
1036David Q DarakjyAustralia2026-10-26Benton, John B Jr PROPOSAL72Ivan Magalhaes
1037Juan V BologniaGermany2026-10-15Chapman, Ross E Esq NEW84Anna Fali
1038Johnson X ButtAustralia2026-10-03Dorl, James J Esq RENEWAL83Amy Elsner
1039Morrow G RutaCanada2026-10-26Chanay, Jeffrey A Esq RENEWAL15Amy Elsner
1040Deepesh I PoquetteItaly2026-10-16Dorl, James J Esq QUALIFIED13Xuxue Feng
1041Octavia I RutaArgentina2026-10-18Feiner Bros NEW18Amy Elsner
1042Aditya T GillianAustralia2026-10-11Rousseaux, Michael Esq QUALIFIED30Bernardo Dominic
1043Kaitlin I GlickJapan2026-10-04Rousseaux, Michael Esq UNQUALIFIED76Anna Fali
1044Isabel O StockhamUnited Kingdom2026-10-29King, Christopher A Esq RENEWAL71Bernardo Dominic
1045Sinclair D MorascaAustralia2026-10-04Chapman, Ross E Esq QUALIFIED69Asiya Javayant
1046Tony J SlusarskiSpain2026-10-18Morlong Associates PROPOSAL44Anna Fali
1047Ivar J DarakjyBrazil2026-10-09Truhlar And Truhlar Attys PROPOSAL42Onyama Limba
1048Leja T NickaAustralia2026-10-13Morlong Associates NEW0Xuxue Feng
1049Leon M StockhamFrance2026-10-05Chanay, Jeffrey A Esq QUALIFIED16Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Mayumi E SergiUnited KingdomIvan Magalhaes NEGOTIATION
Nicolas S BriddickBrazilIoni Bowcher RENEWAL
Stacey M AlbaresSpainAmy Elsner UNQUALIFIED
Aditya X CaldareraAustraliaStephen Shaw UNQUALIFIED
Claire G OldroydJapanAmy Elsner PROPOSAL
Arvin E VenereArgentinaAsiya Javayant QUALIFIED
Leon F WhobreyItalyAsiya Javayant UNQUALIFIED
Claire Z VocelkaAustraliaAsiya Javayant NEW
Silvio X VocelkaArgentinaXuxue Feng NEW
Claire T FigeroaJapanElwin Sharvill UNQUALIFIED
Rodrigues J ShinkoAustraliaBernardo Dominic NEW
Greenwood H SergiGermanyAmy Elsner PROPOSAL
Leja P FlosiBrazilAnna Fali NEGOTIATION
Clifford N OldroydUnited KingdomOnyama Limba QUALIFIED
Kadeem F ButtJapanAmy Elsner UNQUALIFIED
Cody M MacleadGermanyStephen Shaw PROPOSAL
Kaitlin D KolmetzUnited KingdomBernardo Dominic RENEWAL
Alejandro A FigeroaFranceAmy Elsner NEGOTIATION
Leja Z PoquetteFranceAnna Fali RENEWAL
Faith A DoeArgentinaAmy Elsner NEGOTIATION
Jennifer C TollnerSpainIvan Magalhaes NEW
Izzy J BologniaJapanAnna Fali QUALIFIED
Smith G RoysterFranceIvan Magalhaes NEW
Costa Q MaletBrazilOnyama Limba RENEWAL
Greenwood V VenereCanadaOnyama Limba RENEWAL
Salvatore V GlickSpainAmy Elsner RENEWAL
Izzy Z PerinArgentinaAnna Fali UNQUALIFIED
Claire X FerenczItalyIvan Magalhaes NEGOTIATION
Emily G VocelkaUnited KingdomAsiya Javayant UNQUALIFIED
Jones X AlbaresRussiaAmy Elsner NEW
Jennifer G StensethSpainStephen Shaw PROPOSAL
Johnson P MarrierJapanAsiya Javayant PROPOSAL
Chavez Z PerinGermanyAnna Fali UNQUALIFIED
Salvatore Z KolmetzIndiaOnyama Limba NEW
Ivar P VocelkaFranceIoni Bowcher UNQUALIFIED
Clifford B BriddickUnited KingdomIoni Bowcher NEGOTIATION
Deepesh A GlickBrazilIvan Magalhaes PROPOSAL
Octavia V FerenczIndiaOnyama Limba UNQUALIFIED
Leja Y KolmetzCanadaElwin Sharvill QUALIFIED
Leon D DoeJapanStephen Shaw RENEWAL
Wickens D StensethArgentinaStephen Shaw QUALIFIED
Tony O PerinRussiaIoni Bowcher NEW
Stacey O ChuiRussiaIoni Bowcher UNQUALIFIED
Maria R ButtIndiaAsiya Javayant RENEWAL
Silvio I CampainJapanElwin Sharvill PROPOSAL
Costa R PoquetteJapanIoni Bowcher NEW
Juan K VenereUnited KingdomIoni Bowcher QUALIFIED
Mujtaba A FlosiAustraliaAnna Fali UNQUALIFIED
Wickens W NestleRussiaStephen Shaw UNQUALIFIED
Leon L GillianAustraliaAmy Elsner UNQUALIFIED
Frozen Columns
Name
Kaitlin Q Rim
Ivar M Campain
Greenwood I Rim
Leon Z Oldroyd
Silvio F Waycott
Kaitlin P Whobrey
Adams B Shinko
Stacey C Saylors
Costa T Maclead
Isabel B Schemmer
Deepesh O Darakjy
Stacey D Flosi
Murillo U Malet
Chavez F Foller
Arvin N Rulapaugh
Munro A Garufi
David O Nicka
Aruna R Albares
Ricardo B Foller
Johnson S Gaucho
Darci I Kolmetz
James A Bolognia
Misaki L Sergi
Misaki Z Marrier
Claire K Figeroa
Smith A Albares
Ivar E Tollner
Misaki W Marrier
Smith U Paprocki
Wickens M Bolognia
Darci H Sergi
James U Stockham
Nicolas Z Poquette
Faith R Briddick
Greenwood L Ruta
Kadeem Z Garufi
Aditya P Glick
Mayumi X Nicka
Francesco X Bolognia
Tony L Tollner
Adams Y Bowley
Faith I Rulapaugh
Smith A Campain
Leon G Iturbide
Morrow A Rim
Mujtaba K Perin
Munro B Flosi
Maisha B Kusko
Cody V Vocelka
Maisha V Waycott
IdCountryDate
1000Argentina2026-10-29
1001United Kingdom2026-10-30
1002Argentina2026-10-26
1003Australia2026-10-30
1004Russia2026-10-19
1005Canada2026-10-24
1006Brazil2026-10-16
1007Canada2026-10-29
1008Germany2026-10-13
1009Italy2026-10-31
1010Australia2026-10-02
1011Argentina2026-10-11
1012United Kingdom2026-10-16
1013Spain2026-10-13
1014Australia2026-10-07
1015United Kingdom2026-10-31
1016Russia2026-10-10
1017Russia2026-10-28
1018India2026-10-25
1019France2026-10-10
1020France2026-10-19
1021Japan2026-10-15
1022France2026-10-22
1023Argentina2026-10-27
1024Germany2026-10-11
1025Argentina2026-10-29
1026Japan2026-10-26
1027Brazil2026-10-27
1028Brazil2026-10-08
1029Argentina2026-10-17
1030India2026-10-05
1031Russia2026-10-22
1032India2026-10-30
1033Russia2026-10-13
1034Argentina2026-10-04
1035Spain2026-10-05
1036France2026-10-07
1037Russia2026-10-28
1038Italy2026-10-02
1039Italy2026-10-25
1040Australia2026-10-27
1041United Kingdom2026-10-06
1042Brazil2026-10-24
1043Japan2026-10-20
1044Argentina2026-10-16
1045Brazil2026-10-29
1046Canada2026-10-27
1047Australia2026-10-05
1048Brazil2026-10-11
1049Brazil2026-10-09

On-Demand Data

NameIdCountryDate
Arvin L Ruta1000United Kingdom2026-10-06
Smith A Bowley1001Spain2026-10-07
Jeanfrancois S Bolognia1002Italy2026-10-28
Costa Q Figeroa1003Italy2026-10-16
Isabel G Amigon1004France2026-10-20
Jeanfrancois P Amigon1005Spain2026-10-08
Ricardo Q Dilliard1006Australia2026-10-17
Juan J Sergi1007Australia2026-10-04
Faith J Doe1008Brazil2026-10-23
Antonio M Whobrey1009Argentina2026-10-12
David S Nicka1010Japan2026-10-13
Adams Q Garufi1011Japan2026-10-05
Leja Z Sergi1012Japan2026-10-26
Julie Z Maclead1013Argentina2026-10-12
James H Perin1014Italy2026-10-24
Smith W Gillian1015Germany2026-10-12
Jennifer E Tollner1016Brazil2026-10-12
Munro H Slusarski1017Canada2026-10-04
Aditya W Nestle1018Canada2026-10-16
Ashley M Perin1019Argentina2026-10-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha K StensethIndiaOnyama Limba RENEWAL
Aditya M DoeCanadaBernardo Dominic PROPOSAL
Rodrigues Y CaudyUnited KingdomAnna Fali UNQUALIFIED
Aruna R FlosiGermanyIvan Magalhaes UNQUALIFIED
Claire M GauchoBrazilIvan Magalhaes QUALIFIED
Maria N StensethCanadaAsiya Javayant RENEWAL
Jones E GlickItalyAsiya Javayant NEW
Murillo J AlbaresBrazilOnyama Limba NEW
Deepesh I PerinSpainOnyama Limba RENEWAL
Maria M GlickFranceStephen Shaw QUALIFIED
Costa V StensethJapanIoni Bowcher RENEWAL
Ashley Q AlbaresBrazilElwin Sharvill NEW
Francesco J RulapaughIndiaXuxue Feng NEW
Clifford L ChuiJapanAmy Elsner RENEWAL
Alejandro G MaletAustraliaXuxue Feng QUALIFIED
Adams H BowleyArgentinaIoni Bowcher QUALIFIED
Silvio B WhobreyIndiaAnna Fali UNQUALIFIED
Nicolas I ButtItalyAmy Elsner NEGOTIATION
Stacey X StensethJapanIvan Magalhaes QUALIFIED
Adams L MacleadSpainIvan Magalhaes UNQUALIFIED
Kaitlin U CaldareraBrazilAnna Fali NEW
Jeanfrancois U VocelkaGermanyIvan Magalhaes NEW
Ivar I CaldareraArgentinaAmy Elsner RENEWAL
Alejandro L RoysterArgentinaAmy Elsner RENEWAL
Salvatore E VenereCanadaIoni Bowcher QUALIFIED
Mayumi U VocelkaBrazilBernardo Dominic RENEWAL
Octavia E VenereItalyElwin Sharvill UNQUALIFIED
Jefferson T MaletRussiaElwin Sharvill NEW
Misaki J PaprockiUnited KingdomAnna Fali RENEWAL
Octavia J SlusarskiArgentinaIvan Magalhaes NEGOTIATION
James U RulapaughFranceAmy Elsner RENEWAL
Greenwood I MacleadRussiaAmy Elsner NEGOTIATION
Costa A OstroskyAustraliaAmy Elsner QUALIFIED
Leon S FerenczJapanAsiya Javayant NEW
Jeanfrancois Z ChuiGermanyBernardo Dominic QUALIFIED
Adams F MacleadCanadaStephen Shaw UNQUALIFIED
Maria Y FerenczRussiaStephen Shaw PROPOSAL
Misaki I BriddickAustraliaOnyama Limba UNQUALIFIED
Morrow Z ShinkoSpainAnna Fali QUALIFIED
Emily Y RulapaughSpainAnna Fali QUALIFIED

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