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
Aditya Y CaudyRussiaAmy Elsner NEGOTIATION
Darci U ButtItalyAnna Fali QUALIFIED
Adams V SlusarskiAustraliaAnna Fali NEGOTIATION
Chavez E BriddickSpainIoni Bowcher PROPOSAL
Mayumi C PaprockiGermanyElwin Sharvill NEW
Stacey K OldroydCanadaIoni Bowcher UNQUALIFIED
Mayumi K FollerBrazilBernardo Dominic UNQUALIFIED
Deepesh Z VenereFranceElwin Sharvill RENEWAL
Claire O StensethIndiaXuxue Feng PROPOSAL
Wickens T WaycottBrazilElwin Sharvill NEGOTIATION
Sinclair J VocelkaJapanXuxue Feng PROPOSAL
David S WaycottRussiaStephen Shaw UNQUALIFIED
Rodrigues B AlbaresGermanyAnna Fali NEW
Salvatore R PoquetteCanadaAnna Fali UNQUALIFIED
Silvio N NickaCanadaAnna Fali NEGOTIATION
Kaitlin Q RoysterFranceAmy Elsner RENEWAL
Chavez J TollnerAustraliaAmy Elsner NEGOTIATION
Nicolas W GarufiRussiaAsiya Javayant QUALIFIED
Leon A TollnerItalyOnyama Limba QUALIFIED
Munro T TollnerGermanyAmy Elsner RENEWAL
David L VocelkaGermanyAmy Elsner RENEWAL
Johnson F RoysterJapanAsiya Javayant UNQUALIFIED
Munro Z BowleyGermanyAsiya Javayant RENEWAL
Ricardo K CaldareraUnited KingdomOnyama Limba NEGOTIATION
Kadeem K OldroydBrazilIoni Bowcher NEGOTIATION
Salvatore K GlickArgentinaStephen Shaw NEW
Johnson L CaldareraRussiaXuxue Feng RENEWAL
Juan U KolmetzCanadaIoni Bowcher PROPOSAL
Faith G SergiIndiaStephen Shaw NEGOTIATION
Munro Y ButtSpainElwin Sharvill NEGOTIATION
Maisha R BologniaJapanIvan Magalhaes QUALIFIED
Leja H MarrierGermanyAnna Fali UNQUALIFIED
Jennifer J OldroydCanadaBernardo Dominic UNQUALIFIED
Costa J MarrierFranceAsiya Javayant PROPOSAL
Murillo L CaudyUnited KingdomXuxue Feng RENEWAL
Misaki R DoeArgentinaElwin Sharvill QUALIFIED
Adams R CampainGermanyAnna Fali PROPOSAL
Murillo N RulapaughAustraliaXuxue Feng NEW
Rodrigues H OldroydBrazilElwin Sharvill RENEWAL
Sinclair M PoquetteRussiaIoni Bowcher PROPOSAL
Jefferson F MaletCanadaBernardo Dominic RENEWAL
Antonio G CaldareraGermanyBernardo Dominic NEGOTIATION
Munro E GlickCanadaIvan Magalhaes UNQUALIFIED
Faith E IturbideRussiaIvan Magalhaes NEW
Ricardo Z WieserBrazilAnna Fali QUALIFIED
Aika S DoeRussiaBernardo Dominic NEGOTIATION
Salvatore J DarakjyUnited KingdomOnyama Limba NEW
Jeanfrancois C MacleadCanadaAmy Elsner NEGOTIATION
Faith K DarakjyJapanAmy Elsner PROPOSAL
Jeanfrancois C GauchoItalyAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Arvin C OstroskyItalyAsiya Javayant RENEWAL
Arvin N AmigonAustraliaStephen Shaw UNQUALIFIED
Adams A BologniaSpainIvan Magalhaes UNQUALIFIED
Ashley G GarufiJapanStephen Shaw PROPOSAL
Emily Y NickaAustraliaBernardo Dominic RENEWAL
Mujtaba X SaylorsGermanyElwin Sharvill RENEWAL
Johnson O NestleAustraliaBernardo Dominic PROPOSAL
Jones Y GlickUnited KingdomAmy Elsner NEW
Tony T TollnerFranceAsiya Javayant PROPOSAL
Cody H DarakjyJapanXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy D BriddickSpain2026-08-31Buckley Miller Wright UNQUALIFIED57Asiya Javayant
1001Ivar C VocelkaIndia2026-09-02Benton, John B Jr QUALIFIED24Ivan Magalhaes
1002Johnson P DarakjyItaly2026-09-16Truhlar And Truhlar Attys NEW89Stephen Shaw
1003Stacey U TollnerGermany2026-09-02Chemel, James L Cpa RENEWAL97Ioni Bowcher
1004Alejandro Y FerenczArgentina2026-08-31Feiner Bros QUALIFIED49Ivan Magalhaes
1005Juan M ButtGermany2026-09-10Chemel, James L Cpa UNQUALIFIED57Amy Elsner
1006Jeanfrancois T RimSpain2026-09-01Rangoni Of Florence UNQUALIFIED94Bernardo Dominic
1007Francesco L NickaRussia2026-09-18Dorl, James J Esq NEGOTIATION49Xuxue Feng
1008Jennifer X SchemmerJapan2026-09-19Rousseaux, Michael Esq RENEWAL75Ivan Magalhaes
1009Julie W CaudyJapan2026-09-07Feiner Bros NEW17Ivan Magalhaes
1010Chavez W TollnerGermany2026-09-03Rangoni Of Florence NEW93Stephen Shaw
1011Izzy H NestleItaly2026-09-21Truhlar And Truhlar Attys PROPOSAL72Anna Fali
1012Leja V BologniaGermany2026-09-18Dorl, James J Esq QUALIFIED49Xuxue Feng
1013Smith H VocelkaRussia2026-09-21Chanay, Jeffrey A Esq RENEWAL6Anna Fali
1014Chavez C OldroydSpain2026-09-06Printing Dimensions QUALIFIED92Elwin Sharvill
1015Mujtaba T GarufiBrazil2026-08-25Commercial Press NEW46Asiya Javayant
1016Francesco R GauchoArgentina2026-09-09Benton, John B Jr PROPOSAL6Amy Elsner
1017Johnson Z OstroskyArgentina2026-09-05Buckley Miller Wright PROPOSAL86Xuxue Feng
1018Antonio V SlusarskiIndia2026-09-16Commercial Press UNQUALIFIED14Stephen Shaw
1019Misaki I InouyeSpain2026-09-08Commercial Press PROPOSAL90Amy Elsner
1020Leon Z RulapaughItaly2026-09-09Chemel, James L Cpa PROPOSAL66Amy Elsner
1021Jefferson M GarufiRussia2026-09-18Rousseaux, Michael Esq NEGOTIATION9Stephen Shaw
1022Octavia U PaprockiCanada2026-09-06Commercial Press NEGOTIATION79Ioni Bowcher
1023Antonio G BologniaJapan2026-09-15Chapman, Ross E Esq NEW89Xuxue Feng
1024Mujtaba G OstroskyArgentina2026-09-21Buckley Miller Wright QUALIFIED81Asiya Javayant
1025Aika E StensethFrance2026-08-25Benton, John B Jr RENEWAL62Ivan Magalhaes
1026Jefferson J DoeArgentina2026-09-20Feltz Printing Service QUALIFIED69Bernardo Dominic
1027David U CaldareraBrazil2026-08-27Benton, John B Jr UNQUALIFIED56Anna Fali
1028Chavez E RutaItaly2026-09-03Chemel, James L Cpa NEGOTIATION65Amy Elsner
1029Aika Z RutaJapan2026-08-29Chapman, Ross E Esq UNQUALIFIED30Bernardo Dominic
1030Stacey T FlosiCanada2026-08-26Rousseaux, Michael Esq RENEWAL31Onyama Limba
1031Ricardo E PaprockiRussia2026-08-27Dorl, James J Esq RENEWAL82Elwin Sharvill
1032Izzy B OldroydArgentina2026-09-10Feiner Bros NEW54Ioni Bowcher
1033Silvio T StockhamSpain2026-09-17Chemel, James L Cpa RENEWAL96Elwin Sharvill
1034Faith W FigeroaJapan2026-09-12Dorl, James J Esq RENEWAL11Ivan Magalhaes
1035Adams Y BowleyRussia2026-09-12Chapman, Ross E Esq PROPOSAL13Bernardo Dominic
1036Darci C MacleadIndia2026-08-26Benton, John B Jr UNQUALIFIED3Elwin Sharvill
1037Murillo C FollerGermany2026-09-09Benton, John B Jr UNQUALIFIED15Stephen Shaw
1038Alejandro M SaylorsJapan2026-09-17Feltz Printing Service RENEWAL8Onyama Limba
1039Wickens W VenereUnited Kingdom2026-08-30Morlong Associates PROPOSAL37Asiya Javayant
1040Nicolas B StensethAustralia2026-09-05Rangoni Of Florence QUALIFIED62Ioni Bowcher
1041Octavia J SlusarskiGermany2026-09-06Truhlar And Truhlar Attys QUALIFIED85Elwin Sharvill
1042Jeanfrancois X GauchoAustralia2026-09-03Printing Dimensions PROPOSAL59Amy Elsner
1043Adams N FollerItaly2026-09-09King, Christopher A Esq UNQUALIFIED34Xuxue Feng
1044Leja V GillianArgentina2026-09-20Benton, John B Jr NEW25Elwin Sharvill
1045Leon W NestleRussia2026-09-06Chanay, Jeffrey A Esq QUALIFIED68Asiya Javayant
1046Mujtaba E SaylorsFrance2026-09-08Feiner Bros QUALIFIED97Anna Fali
1047Francesco V InouyeArgentina2026-08-23Rangoni Of Florence QUALIFIED39Ioni Bowcher
1048Ivar B SaylorsUnited Kingdom2026-09-13Morlong Associates QUALIFIED70Onyama Limba
1049Mayumi R InouyeUnited Kingdom2026-08-23Commercial Press PROPOSAL22Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Jefferson A CaldareraJapanXuxue Feng NEW
Kaitlin B ButtBrazilAnna Fali PROPOSAL
Aditya R ChuiItalyXuxue Feng NEW
Chavez U KuskoFranceIoni Bowcher PROPOSAL
Aruna A OstroskyBrazilElwin Sharvill PROPOSAL
Rodrigues G ButtSpainAnna Fali QUALIFIED
James H FlosiAustraliaOnyama Limba QUALIFIED
Greenwood O FigeroaBrazilElwin Sharvill PROPOSAL
Wickens X BologniaIndiaAmy Elsner NEGOTIATION
Costa S WieserIndiaXuxue Feng UNQUALIFIED
James Q IturbideRussiaAnna Fali NEGOTIATION
Nicolas U PaprockiFranceAnna Fali QUALIFIED
Izzy D OldroydJapanStephen Shaw QUALIFIED
Octavia T MorascaItalyStephen Shaw NEW
Izzy W SchemmerItalyStephen Shaw NEGOTIATION
Alejandro W NestleSpainOnyama Limba NEGOTIATION
Morrow U MorascaCanadaAsiya Javayant RENEWAL
Aditya T SaylorsJapanIvan Magalhaes QUALIFIED
Sinclair F DoeGermanyIvan Magalhaes NEGOTIATION
Izzy A FerenczBrazilAmy Elsner UNQUALIFIED
Murillo L FlosiGermanyOnyama Limba UNQUALIFIED
Chavez P MaletItalyElwin Sharvill RENEWAL
Ivar A SlusarskiSpainAmy Elsner NEGOTIATION
Isabel F ChuiItalyIvan Magalhaes RENEWAL
Arvin L RoysterItalyElwin Sharvill NEGOTIATION
Claire I MacleadRussiaElwin Sharvill RENEWAL
Adams E BriddickSpainIoni Bowcher RENEWAL
Deepesh P DoeCanadaAsiya Javayant NEGOTIATION
Jeanfrancois V KuskoGermanyOnyama Limba UNQUALIFIED
Rodrigues W FerenczFranceStephen Shaw RENEWAL
Antonio Z GauchoGermanyAmy Elsner PROPOSAL
Adams Q RutaSpainOnyama Limba NEW
Ashley G FollerUnited KingdomElwin Sharvill PROPOSAL
Tony A RulapaughUnited KingdomAnna Fali NEW
Juan N MaletCanadaIvan Magalhaes UNQUALIFIED
Adams M AmigonCanadaIvan Magalhaes RENEWAL
Ivar J MarrierCanadaOnyama Limba QUALIFIED
Jefferson E MorascaJapanAsiya Javayant UNQUALIFIED
Jennifer O SaylorsFranceOnyama Limba NEW
Clifford A NestleRussiaStephen Shaw PROPOSAL
Mayumi V NickaFranceIoni Bowcher NEW
Misaki U VenereBrazilStephen Shaw NEGOTIATION
Jeanfrancois F MorascaRussiaStephen Shaw UNQUALIFIED
Leon P SaylorsFranceStephen Shaw QUALIFIED
Octavia E OstroskyGermanyStephen Shaw QUALIFIED
Ricardo I ShinkoAustraliaAnna Fali RENEWAL
Antonio Q StockhamCanadaStephen Shaw RENEWAL
Mujtaba O NickaGermanyAsiya Javayant NEGOTIATION
Francesco Z DoeCanadaAnna Fali PROPOSAL
Smith J StockhamUnited KingdomElwin Sharvill NEGOTIATION
Frozen Columns
Name
Juan S Butt
Aika V Schemmer
Juan G Venere
Kadeem O Slusarski
Darci V Campain
Octavia X Shinko
Jennifer P Gillian
Misaki U Kolmetz
Jefferson U Butt
Alejandro O Briddick
Emily K Morasca
Emily Z Nestle
Misaki U Amigon
Maisha W Poquette
Salvatore I Waycott
Greenwood C Iturbide
Kadeem C Briddick
Izzy B Oldroyd
Greenwood N Nestle
Salvatore O Amigon
David W Whobrey
Aditya B Bolognia
Salvatore D Rim
Greenwood C Albares
Alejandro K Ostrosky
Octavia A Saylors
Cody B Malet
Silvio C Tollner
Faith J Tollner
Morrow S Briddick
Jones B Dilliard
Kadeem N Bolognia
Aditya E Ferencz
Mujtaba F Poquette
Aruna C Darakjy
Munro Z Bolognia
Morrow O Oldroyd
Jones L Sergi
Julie X Foller
Leja I Shinko
Nicolas X Paprocki
Faith T Kusko
Munro J Slusarski
Clifford J Ferencz
Julie R Sergi
Johnson G Bowley
Greenwood D Sergi
Murillo G Rulapaugh
Salvatore O Shinko
Ricardo W Maclead
IdCountryDate
1000Argentina2026-08-27
1001Italy2026-09-20
1002France2026-09-08
1003Italy2026-08-26
1004Spain2026-09-17
1005Canada2026-09-10
1006Italy2026-09-13
1007Australia2026-09-11
1008Brazil2026-09-19
1009Spain2026-09-01
1010Canada2026-09-02
1011Germany2026-08-25
1012United Kingdom2026-08-31
1013Russia2026-08-24
1014Spain2026-09-21
1015France2026-08-30
1016United Kingdom2026-09-19
1017Russia2026-09-20
1018Italy2026-09-01
1019France2026-09-09
1020Russia2026-08-23
1021Brazil2026-08-31
1022Canada2026-09-05
1023Italy2026-09-03
1024Japan2026-09-05
1025Japan2026-09-03
1026India2026-09-11
1027India2026-09-13
1028France2026-09-13
1029Brazil2026-09-07
1030France2026-09-09
1031Japan2026-08-26
1032Spain2026-08-29
1033Spain2026-09-16
1034Russia2026-09-19
1035Italy2026-09-13
1036Canada2026-09-17
1037Japan2026-08-28
1038Russia2026-09-10
1039Russia2026-08-30
1040France2026-08-28
1041Australia2026-09-12
1042Germany2026-09-21
1043United Kingdom2026-09-10
1044Argentina2026-08-31
1045Italy2026-08-24
1046Australia2026-09-20
1047Spain2026-09-21
1048Italy2026-09-10
1049France2026-09-13

On-Demand Data

NameIdCountryDate
James F Nestle1000Japan2026-09-12
Julie U Kusko1001Japan2026-09-07
Munro V Morasca1002Canada2026-09-21
Adams F Venere1003Japan2026-08-24
Isabel G Caudy1004Brazil2026-08-23
Jones V Dilliard1005Brazil2026-09-01
David A Slusarski1006Australia2026-09-04
Francesco K Bolognia1007Australia2026-09-17
Aruna M Saylors1008Russia2026-09-04
Greenwood Y Flosi1009Germany2026-09-06
Jones Z Chui1010India2026-09-03
Izzy Q Poquette1011France2026-09-06
Deepesh I Perin1012France2026-09-04
Maria K Doe1013Russia2026-08-27
Maria G Paprocki1014United Kingdom2026-09-02
Alejandro I Vocelka1015France2026-08-31
Leon P Stenseth1016India2026-09-20
Mujtaba N Nicka1017Australia2026-09-17
Maria I Slusarski1018Argentina2026-09-14
Mujtaba P Sergi1019India2026-09-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria F CaldareraJapanAsiya Javayant QUALIFIED
Nicolas N FerenczRussiaAsiya Javayant RENEWAL
Smith K NestleSpainXuxue Feng UNQUALIFIED
Chavez L ShinkoGermanyAsiya Javayant NEGOTIATION
Wickens J PoquetteAustraliaStephen Shaw PROPOSAL
Leja K RoysterFranceElwin Sharvill RENEWAL
Claire Q TollnerRussiaIvan Magalhaes PROPOSAL
Tony E ButtUnited KingdomStephen Shaw UNQUALIFIED
Greenwood V FollerAustraliaIvan Magalhaes PROPOSAL
Mujtaba D VocelkaCanadaBernardo Dominic PROPOSAL
Munro B KuskoJapanIvan Magalhaes UNQUALIFIED
Greenwood M PerinGermanyElwin Sharvill QUALIFIED
Leon P MaletGermanyAnna Fali NEW
Jennifer E VenereItalyAsiya Javayant NEW
Emily L SaylorsFranceAmy Elsner UNQUALIFIED
Chavez C WaycottAustraliaAsiya Javayant PROPOSAL
Kadeem O CampainBrazilOnyama Limba PROPOSAL
Aika J WieserFranceElwin Sharvill NEGOTIATION
Deepesh I MaletItalyBernardo Dominic NEGOTIATION
Morrow K GillianJapanElwin Sharvill QUALIFIED
James A BowleyFranceElwin Sharvill PROPOSAL
Antonio S WieserSpainStephen Shaw PROPOSAL
Jeanfrancois I InouyeFranceXuxue Feng NEW
Kadeem U BriddickFranceBernardo Dominic RENEWAL
Leja R RimSpainBernardo Dominic QUALIFIED
Maisha S DilliardCanadaXuxue Feng NEW
Wickens N KolmetzRussiaBernardo Dominic RENEWAL
Isabel A GarufiGermanyAmy Elsner RENEWAL
David M OldroydIndiaIvan Magalhaes NEGOTIATION
Isabel X MaletJapanElwin Sharvill QUALIFIED
Tony R VocelkaCanadaBernardo Dominic UNQUALIFIED
Wickens A RulapaughBrazilBernardo Dominic QUALIFIED
Salvatore T FigeroaIndiaXuxue Feng NEW
Alejandro D RutaAustraliaIvan Magalhaes NEW
Aditya I FigeroaArgentinaAnna Fali UNQUALIFIED
Tony S ButtUnited KingdomAmy Elsner PROPOSAL
Sinclair K StockhamUnited KingdomAsiya Javayant PROPOSAL
David F DoeRussiaElwin Sharvill UNQUALIFIED
Maisha I MaletArgentinaAmy Elsner NEGOTIATION
Chavez G PerinArgentinaAmy Elsner NEW

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