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
Kaitlin J PoquetteAustraliaAsiya Javayant NEGOTIATION
Izzy J IturbideIndiaBernardo Dominic RENEWAL
Maria G OldroydUnited KingdomAmy Elsner UNQUALIFIED
Ricardo S KolmetzCanadaXuxue Feng NEGOTIATION
Mayumi L FerenczRussiaOnyama Limba UNQUALIFIED
Isabel N RulapaughBrazilBernardo Dominic NEW
Costa D FollerItalyStephen Shaw NEW
Claire O OstroskyBrazilBernardo Dominic UNQUALIFIED
Munro T InouyeAustraliaOnyama Limba NEW
Silvio Z BologniaArgentinaBernardo Dominic RENEWAL
Faith W DarakjyRussiaAmy Elsner QUALIFIED
Kaitlin X MaletJapanElwin Sharvill NEGOTIATION
Salvatore J ShinkoSpainStephen Shaw UNQUALIFIED
Ricardo N VocelkaSpainBernardo Dominic UNQUALIFIED
Mayumi J BowleyGermanyStephen Shaw RENEWAL
Leon G TollnerCanadaOnyama Limba NEGOTIATION
Aruna O InouyeGermanyAsiya Javayant UNQUALIFIED
Arvin G FlosiArgentinaXuxue Feng QUALIFIED
Leon V ChuiGermanyBernardo Dominic QUALIFIED
Misaki W OldroydUnited KingdomAnna Fali NEGOTIATION
Aika U InouyeJapanIoni Bowcher NEGOTIATION
Izzy Q RutaRussiaBernardo Dominic QUALIFIED
Maria Y StensethJapanIoni Bowcher NEGOTIATION
Ashley B SaylorsSpainAnna Fali QUALIFIED
Sinclair Q ButtIndiaIvan Magalhaes QUALIFIED
Munro F RulapaughGermanyElwin Sharvill PROPOSAL
Emily B MaletRussiaStephen Shaw PROPOSAL
Sinclair E CaldareraSpainIoni Bowcher QUALIFIED
Julie H ChuiUnited KingdomAmy Elsner UNQUALIFIED
Kadeem D AlbaresSpainBernardo Dominic NEGOTIATION
Jones Q NickaArgentinaIoni Bowcher QUALIFIED
Francesco P FlosiIndiaOnyama Limba NEW
Murillo A PerinAustraliaXuxue Feng RENEWAL
Tony F DarakjyAustraliaAnna Fali UNQUALIFIED
Faith I GauchoFranceOnyama Limba QUALIFIED
Adams M MorascaGermanyIvan Magalhaes PROPOSAL
Juan L FollerGermanyBernardo Dominic QUALIFIED
Kadeem Z IturbideGermanyStephen Shaw UNQUALIFIED
Deepesh Q GarufiSpainAnna Fali NEW
James J SlusarskiArgentinaBernardo Dominic RENEWAL
Rodrigues F GillianAustraliaAsiya Javayant QUALIFIED
Morrow E StensethIndiaXuxue Feng PROPOSAL
Jones B BowleyIndiaAnna Fali RENEWAL
Johnson M PaprockiArgentinaBernardo Dominic NEW
Kaitlin M WieserIndiaAnna Fali RENEWAL
Munro W PerinUnited KingdomOnyama Limba RENEWAL
Emily T MacleadBrazilXuxue Feng RENEWAL
Jeanfrancois I RutaFranceAsiya Javayant NEGOTIATION
Stacey Y OldroydFranceXuxue Feng RENEWAL
Chavez E StockhamRussiaStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ashley I BriddickBrazilAmy Elsner RENEWAL
Mujtaba P RulapaughArgentinaAmy Elsner QUALIFIED
Jennifer R OldroydBrazilElwin Sharvill NEW
Morrow V NickaBrazilAsiya Javayant RENEWAL
Costa E BowleyArgentinaIvan Magalhaes NEW
Ivar Y ButtAustraliaElwin Sharvill RENEWAL
Ashley M CaudyFranceStephen Shaw PROPOSAL
Julie P WhobreyItalyIvan Magalhaes QUALIFIED
Alejandro S TollnerRussiaAsiya Javayant UNQUALIFIED
Munro D FigeroaJapanAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria O ShinkoBrazil2026-09-17King, Christopher A Esq UNQUALIFIED69Anna Fali
1001Emily M MarrierRussia2026-10-08Feltz Printing Service RENEWAL1Elwin Sharvill
1002Maria U KolmetzUnited Kingdom2026-10-10Morlong Associates UNQUALIFIED27Elwin Sharvill
1003Morrow D DarakjyIndia2026-09-24Commercial Press PROPOSAL85Onyama Limba
1004Faith V MorascaArgentina2026-10-11Rousseaux, Michael Esq RENEWAL20Ioni Bowcher
1005Kadeem J DoeItaly2026-09-26Chemel, James L Cpa UNQUALIFIED31Ioni Bowcher
1006Aditya R FlosiGermany2026-09-17Dorl, James J Esq NEGOTIATION20Ioni Bowcher
1007Claire W StockhamUnited Kingdom2026-10-11Printing Dimensions UNQUALIFIED22Xuxue Feng
1008Deepesh K RulapaughIndia2026-09-26Feiner Bros NEGOTIATION25Anna Fali
1009Mujtaba U SlusarskiJapan2026-10-15Buckley Miller Wright NEW22Anna Fali
1010Darci X FerenczIndia2026-09-22Feltz Printing Service UNQUALIFIED51Onyama Limba
1011James R DoeJapan2026-10-11Chemel, James L Cpa NEW98Elwin Sharvill
1012Maisha T NestleRussia2026-09-30Chapman, Ross E Esq NEW35Anna Fali
1013Claire B GauchoItaly2026-09-17Truhlar And Truhlar Attys PROPOSAL8Elwin Sharvill
1014Nicolas B AmigonAustralia2026-09-30Printing Dimensions NEGOTIATION14Ivan Magalhaes
1015Antonio Z RoysterCanada2026-09-22Chemel, James L Cpa RENEWAL23Stephen Shaw
1016Antonio W CaudySpain2026-09-21Chapman, Ross E Esq NEW75Xuxue Feng
1017Arvin H PerinGermany2026-10-05Dorl, James J Esq QUALIFIED12Amy Elsner
1018Costa B IturbideBrazil2026-09-25Feltz Printing Service UNQUALIFIED3Anna Fali
1019David P TollnerJapan2026-10-02Feiner Bros RENEWAL89Ivan Magalhaes
1020Wickens I NestleGermany2026-10-09Chanay, Jeffrey A Esq UNQUALIFIED51Amy Elsner
1021Darci B SaylorsCanada2026-09-24Chemel, James L Cpa PROPOSAL38Amy Elsner
1022Ricardo J NestleUnited Kingdom2026-10-11Commercial Press NEW84Elwin Sharvill
1023Greenwood N BowleyCanada2026-09-22Chemel, James L Cpa RENEWAL75Amy Elsner
1024Octavia C BriddickGermany2026-10-05Rousseaux, Michael Esq QUALIFIED83Ivan Magalhaes
1025Morrow K FollerGermany2026-10-05Chapman, Ross E Esq PROPOSAL97Elwin Sharvill
1026Mayumi K NickaBrazil2026-10-13Rousseaux, Michael Esq QUALIFIED14Amy Elsner
1027Stacey A GauchoArgentina2026-10-03Chapman, Ross E Esq NEGOTIATION2Asiya Javayant
1028Costa B ShinkoJapan2026-10-03Truhlar And Truhlar Attys NEGOTIATION4Asiya Javayant
1029Misaki N WieserItaly2026-10-02King, Christopher A Esq RENEWAL73Onyama Limba
1030Aruna Y StensethSpain2026-09-19Chapman, Ross E Esq NEW66Asiya Javayant
1031Stacey S VenereItaly2026-09-18Benton, John B Jr RENEWAL20Amy Elsner
1032Maria H SergiGermany2026-10-02Rousseaux, Michael Esq NEGOTIATION72Ioni Bowcher
1033Faith H FigeroaIndia2026-09-23Benton, John B Jr PROPOSAL85Stephen Shaw
1034Munro B OstroskyArgentina2026-10-05King, Christopher A Esq QUALIFIED91Elwin Sharvill
1035Jefferson B GillianRussia2026-10-02Feltz Printing Service PROPOSAL98Bernardo Dominic
1036Wickens Z RutaSpain2026-09-26Benton, John B Jr RENEWAL44Ivan Magalhaes
1037Antonio Q CampainIndia2026-09-16Chapman, Ross E Esq UNQUALIFIED6Onyama Limba
1038Murillo O ChuiSpain2026-10-15Chapman, Ross E Esq UNQUALIFIED59Elwin Sharvill
1039Stacey R FigeroaFrance2026-10-03Rousseaux, Michael Esq UNQUALIFIED6Stephen Shaw
1040Silvio I GauchoSpain2026-09-19Benton, John B Jr NEW61Bernardo Dominic
1041Francesco J StensethJapan2026-09-20Feltz Printing Service PROPOSAL64Amy Elsner
1042James T MacleadFrance2026-09-20Rangoni Of Florence QUALIFIED82Anna Fali
1043Johnson R FlosiRussia2026-09-19Morlong Associates UNQUALIFIED26Asiya Javayant
1044Mujtaba Y DoeUnited Kingdom2026-10-07Feltz Printing Service NEW46Bernardo Dominic
1045Cody I SaylorsCanada2026-09-25Chapman, Ross E Esq NEW87Asiya Javayant
1046Jennifer D SchemmerSpain2026-10-05Printing Dimensions NEGOTIATION67Amy Elsner
1047Faith O RulapaughSpain2026-09-20Rangoni Of Florence QUALIFIED9Stephen Shaw
1048Isabel N RimItaly2026-10-08Chemel, James L Cpa RENEWAL62Onyama Limba
1049Ivar S MaletItaly2026-09-25Printing Dimensions PROPOSAL56Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Kadeem T DarakjyRussiaXuxue Feng NEGOTIATION
Leja F SaylorsUnited KingdomAmy Elsner QUALIFIED
Faith X OldroydGermanyXuxue Feng NEW
Aika K StensethAustraliaAnna Fali UNQUALIFIED
Ricardo N SlusarskiIndiaIoni Bowcher UNQUALIFIED
Tony L BriddickJapanElwin Sharvill PROPOSAL
Ashley M KuskoUnited KingdomAsiya Javayant RENEWAL
Silvio B WhobreyBrazilXuxue Feng NEW
Mujtaba V RulapaughSpainIvan Magalhaes RENEWAL
Mayumi J BowleyRussiaIvan Magalhaes UNQUALIFIED
Chavez S MorascaRussiaAmy Elsner NEW
Stacey W MaletSpainBernardo Dominic RENEWAL
Claire Z ChuiArgentinaAmy Elsner PROPOSAL
Jones J ButtAustraliaStephen Shaw UNQUALIFIED
Salvatore L FlosiGermanyXuxue Feng RENEWAL
James J RimArgentinaStephen Shaw UNQUALIFIED
Nicolas U ButtRussiaAmy Elsner RENEWAL
James I BologniaRussiaOnyama Limba PROPOSAL
Maria W PerinBrazilIoni Bowcher UNQUALIFIED
Julie Q DilliardRussiaAnna Fali PROPOSAL
Izzy C VocelkaArgentinaIoni Bowcher RENEWAL
Isabel W CaldareraFranceStephen Shaw PROPOSAL
Darci D WieserRussiaOnyama Limba NEGOTIATION
Mujtaba F MorascaRussiaStephen Shaw NEGOTIATION
Misaki Y FerenczFranceXuxue Feng NEW
Stacey U NestleFranceIoni Bowcher UNQUALIFIED
Adams F AmigonGermanyBernardo Dominic PROPOSAL
Adams T WaycottItalyAmy Elsner UNQUALIFIED
Maisha Q NestleUnited KingdomIoni Bowcher RENEWAL
Clifford Z StensethUnited KingdomBernardo Dominic QUALIFIED
Tony J GauchoRussiaAnna Fali NEGOTIATION
Jefferson J GarufiItalyAmy Elsner NEGOTIATION
Francesco Y FerenczUnited KingdomOnyama Limba RENEWAL
Tony P WhobreyRussiaElwin Sharvill QUALIFIED
Adams S ShinkoRussiaAmy Elsner UNQUALIFIED
Juan S StensethFranceAnna Fali UNQUALIFIED
Jones V StensethAustraliaIvan Magalhaes PROPOSAL
Julie A VenereCanadaBernardo Dominic NEGOTIATION
Costa E InouyeUnited KingdomBernardo Dominic RENEWAL
Octavia B PoquetteSpainAsiya Javayant NEGOTIATION
Munro F ButtCanadaAnna Fali NEW
Kaitlin L GarufiSpainOnyama Limba UNQUALIFIED
Jones U RoysterGermanyXuxue Feng QUALIFIED
Rodrigues K FigeroaArgentinaXuxue Feng RENEWAL
Kadeem A MaletSpainAmy Elsner PROPOSAL
Morrow B DarakjyItalyStephen Shaw NEGOTIATION
Cody C RimCanadaStephen Shaw NEW
Morrow D PoquetteRussiaBernardo Dominic RENEWAL
Mayumi K CaldareraItalyBernardo Dominic QUALIFIED
Izzy R VocelkaSpainIoni Bowcher QUALIFIED
Frozen Columns
Name
Faith W Albares
Jeanfrancois V Oldroyd
Mujtaba B Stockham
Arvin W Campain
Maisha A Saylors
James F Amigon
Claire Y Kolmetz
Johnson Q Maclead
Aika E Wieser
Jones B Royster
Greenwood U Caudy
Octavia H Kolmetz
Cody Q Darakjy
Ashley R Gaucho
Octavia O Gaucho
Rodrigues X Nicka
Silvio V Bowley
Munro K Poquette
Tony N Darakjy
Costa G Rim
Morrow M Glick
Murillo U Malet
Francesco M Campain
David G Whobrey
Wickens W Doe
James J Rim
Octavia W Maclead
Isabel P Caldarera
Alejandro F Caldarera
Octavia J Bowley
Mujtaba G Rim
Munro O Schemmer
Deepesh N Darakjy
Adams X Stenseth
David P Slusarski
Aruna K Stenseth
Maria U Butt
Mayumi N Perin
Darci E Venere
Faith I Kusko
Jennifer N Gaucho
Alejandro I Albares
Juan I Doe
Cody I Iturbide
Faith J Vocelka
Clifford V Oldroyd
Leon W Inouye
Ricardo S Glick
Costa A Doe
Cody I Morasca
IdCountryDate
1000Argentina2026-10-06
1001France2026-10-15
1002United Kingdom2026-10-13
1003Italy2026-09-20
1004Australia2026-10-12
1005Argentina2026-10-08
1006United Kingdom2026-10-01
1007Australia2026-10-10
1008Canada2026-10-15
1009Canada2026-09-18
1010Brazil2026-09-27
1011Germany2026-10-02
1012Canada2026-09-20
1013Brazil2026-09-25
1014Brazil2026-09-19
1015United Kingdom2026-10-03
1016Spain2026-10-06
1017Australia2026-10-07
1018Spain2026-09-18
1019Russia2026-10-05
1020India2026-09-27
1021Russia2026-10-15
1022Brazil2026-09-17
1023Spain2026-09-28
1024Russia2026-09-20
1025France2026-10-09
1026Spain2026-09-24
1027Brazil2026-10-05
1028Spain2026-10-03
1029Brazil2026-09-16
1030India2026-09-23
1031Italy2026-09-19
1032India2026-10-01
1033Japan2026-09-16
1034India2026-09-19
1035Brazil2026-09-20
1036Australia2026-10-10
1037Argentina2026-10-02
1038India2026-09-30
1039Canada2026-09-19
1040Canada2026-10-05
1041Brazil2026-09-18
1042Germany2026-10-06
1043Spain2026-09-20
1044Brazil2026-10-13
1045France2026-10-02
1046India2026-10-11
1047Brazil2026-10-11
1048United Kingdom2026-10-07
1049India2026-09-25

On-Demand Data

NameIdCountryDate
Kadeem U Inouye1000Russia2026-09-27
Greenwood N Shinko1001Germany2026-09-25
Johnson U Caudy1002France2026-09-29
Ashley X Ruta1003Argentina2026-09-26
Emily P Iturbide1004India2026-09-24
Jones S Saylors1005United Kingdom2026-10-02
Adams F Wieser1006United Kingdom2026-10-06
Jennifer I Bowley1007Brazil2026-09-24
Mujtaba C Shinko1008Brazil2026-10-08
Ricardo N Sergi1009Russia2026-09-19
Clifford D Ferencz1010Russia2026-10-09
Clifford U Stenseth1011France2026-10-02
Arvin K Kolmetz1012Germany2026-10-13
Aika A Schemmer1013United Kingdom2026-10-08
Aika A Gaucho1014Russia2026-10-10
Silvio Y Iturbide1015Canada2026-09-23
Salvatore C Malet1016Canada2026-09-25
Octavia A Waycott1017Canada2026-10-05
Aditya G Nicka1018Italy2026-10-06
Aruna H Inouye1019France2026-10-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia A VocelkaSpainStephen Shaw UNQUALIFIED
Costa O GauchoJapanXuxue Feng NEGOTIATION
Mayumi E InouyeGermanyIvan Magalhaes QUALIFIED
Smith V OldroydArgentinaAnna Fali PROPOSAL
Greenwood P GauchoGermanyAsiya Javayant NEGOTIATION
Mayumi G StockhamSpainIoni Bowcher PROPOSAL
Stacey Y StensethGermanyIvan Magalhaes PROPOSAL
Nicolas D GillianAustraliaElwin Sharvill NEW
Leja V VocelkaBrazilIvan Magalhaes PROPOSAL
Silvio F OstroskyBrazilBernardo Dominic UNQUALIFIED
Costa J BologniaJapanElwin Sharvill QUALIFIED
Ricardo M NestleItalyXuxue Feng PROPOSAL
Juan S RimBrazilOnyama Limba NEGOTIATION
Clifford V TollnerAustraliaElwin Sharvill NEW
Arvin J ButtGermanyIvan Magalhaes UNQUALIFIED
Wickens F AmigonBrazilElwin Sharvill PROPOSAL
Emily R CaudyFranceStephen Shaw QUALIFIED
Aruna S OstroskyIndiaElwin Sharvill RENEWAL
Aika C StockhamGermanyOnyama Limba NEGOTIATION
Kadeem F RutaArgentinaStephen Shaw QUALIFIED
Arvin V ChuiUnited KingdomAsiya Javayant QUALIFIED
Misaki C MaletSpainStephen Shaw NEGOTIATION
Chavez D NickaJapanElwin Sharvill UNQUALIFIED
Antonio E CaldareraGermanyAsiya Javayant PROPOSAL
David L MacleadCanadaIvan Magalhaes NEW
Misaki C GarufiSpainIvan Magalhaes QUALIFIED
Murillo G CaudyGermanyXuxue Feng NEW
Mayumi B OldroydSpainXuxue Feng UNQUALIFIED
Emily P FollerJapanAsiya Javayant NEGOTIATION
Deepesh V RimSpainXuxue Feng UNQUALIFIED
Leon A WaycottGermanyElwin Sharvill UNQUALIFIED
Munro G WhobreyItalyAnna Fali QUALIFIED
Stacey G MorascaItalyBernardo Dominic NEW
Adams C FerenczAustraliaIvan Magalhaes QUALIFIED
Julie S MaletJapanBernardo Dominic QUALIFIED
Aika Y DilliardSpainAmy Elsner QUALIFIED
Deepesh D SaylorsGermanyIvan Magalhaes NEW
Costa N WaycottUnited KingdomIoni Bowcher NEW
Chavez K DoeAustraliaOnyama Limba UNQUALIFIED
David W GillianIndiaAnna Fali 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>