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
Maria K DilliardArgentinaStephen Shaw NEW
Kaitlin T CampainIndiaIvan Magalhaes NEW
Smith Y MarrierBrazilElwin Sharvill PROPOSAL
Wickens E StockhamArgentinaIvan Magalhaes PROPOSAL
Chavez G ButtArgentinaIoni Bowcher RENEWAL
Arvin W FollerSpainAmy Elsner QUALIFIED
Aruna U ShinkoJapanStephen Shaw NEGOTIATION
Alejandro H GlickJapanXuxue Feng QUALIFIED
David Z RutaArgentinaAmy Elsner RENEWAL
Salvatore C RoysterIndiaAnna Fali NEW
Faith A MaletFranceOnyama Limba NEW
Smith W KuskoFranceAmy Elsner QUALIFIED
Morrow H BriddickJapanAmy Elsner QUALIFIED
Costa B DoeArgentinaOnyama Limba NEGOTIATION
Claire Q DilliardItalyElwin Sharvill NEW
Silvio X PaprockiFranceXuxue Feng NEW
Clifford J ChuiSpainIoni Bowcher RENEWAL
Alejandro D GlickJapanElwin Sharvill NEW
Mujtaba I FigeroaAustraliaAmy Elsner QUALIFIED
Adams Q SergiUnited KingdomBernardo Dominic NEGOTIATION
Costa G GlickBrazilAsiya Javayant QUALIFIED
Isabel Y OstroskySpainBernardo Dominic RENEWAL
Ivar G OldroydGermanyStephen Shaw PROPOSAL
Kaitlin Y CaldareraUnited KingdomAsiya Javayant NEGOTIATION
Jennifer J SlusarskiCanadaAnna Fali NEGOTIATION
Emily D CampainArgentinaAnna Fali NEW
Leja Z FlosiArgentinaElwin Sharvill QUALIFIED
Costa T AlbaresRussiaIoni Bowcher PROPOSAL
Morrow W MarrierSpainIoni Bowcher RENEWAL
Rodrigues O FollerAustraliaAmy Elsner RENEWAL
Antonio X SlusarskiIndiaElwin Sharvill PROPOSAL
Sinclair B KuskoRussiaIvan Magalhaes NEW
Costa X FlosiJapanAnna Fali UNQUALIFIED
Ivar L SergiSpainIoni Bowcher UNQUALIFIED
Maisha N ShinkoBrazilBernardo Dominic NEGOTIATION
Jones D MarrierFranceIoni Bowcher NEGOTIATION
Faith D KolmetzAustraliaAmy Elsner QUALIFIED
Darci U AmigonAustraliaBernardo Dominic QUALIFIED
Jefferson J StockhamJapanAmy Elsner NEGOTIATION
Tony J FigeroaFranceIoni Bowcher NEW
Darci J CampainJapanBernardo Dominic NEW
Johnson N CaldareraItalyAnna Fali NEW
Alejandro H FlosiItalyAmy Elsner QUALIFIED
Darci L KuskoBrazilBernardo Dominic UNQUALIFIED
Francesco R FigeroaBrazilBernardo Dominic NEW
Kaitlin L AmigonBrazilAmy Elsner NEGOTIATION
Smith H FigeroaGermanyIvan Magalhaes RENEWAL
Salvatore K RulapaughArgentinaStephen Shaw PROPOSAL
Maisha B FigeroaAustraliaAsiya Javayant UNQUALIFIED
Kadeem M GarufiItalyIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Johnson I VenereBrazilElwin Sharvill NEW
Adams H AmigonGermanyOnyama Limba QUALIFIED
Octavia V BologniaJapanAnna Fali QUALIFIED
Adams U GlickUnited KingdomAsiya Javayant PROPOSAL
Faith C RulapaughFranceOnyama Limba PROPOSAL
David M StensethGermanyAnna Fali RENEWAL
Arvin Z StensethUnited KingdomIvan Magalhaes PROPOSAL
Costa S DilliardIndiaXuxue Feng NEGOTIATION
Ivar K GarufiIndiaIoni Bowcher RENEWAL
Costa T WaycottAustraliaBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna B BologniaAustralia2026-10-12Benton, John B Jr QUALIFIED1Xuxue Feng
1001Kaitlin Y DarakjyCanada2026-10-30Dorl, James J Esq NEGOTIATION75Anna Fali
1002Aika J CampainCanada2026-10-27Chemel, James L Cpa UNQUALIFIED7Ivan Magalhaes
1003Jennifer H CaudyJapan2026-10-24Buckley Miller Wright NEW76Amy Elsner
1004Maria L CaudyFrance2026-10-04Chapman, Ross E Esq PROPOSAL34Ioni Bowcher
1005Isabel M MaletCanada2026-10-10Rangoni Of Florence QUALIFIED53Anna Fali
1006Kadeem P OstroskyItaly2026-10-11Morlong Associates NEW98Elwin Sharvill
1007Maria S RulapaughArgentina2026-10-14Chapman, Ross E Esq QUALIFIED62Xuxue Feng
1008Tony Q CaudyUnited Kingdom2026-10-05King, Christopher A Esq QUALIFIED28Elwin Sharvill
1009Jones C KuskoUnited Kingdom2026-10-28Morlong Associates PROPOSAL43Onyama Limba
1010Claire C PoquetteBrazil2026-10-26Chemel, James L Cpa PROPOSAL4Asiya Javayant
1011Antonio E KolmetzBrazil2026-10-30Chanay, Jeffrey A Esq UNQUALIFIED11Bernardo Dominic
1012Silvio J ShinkoUnited Kingdom2026-10-30Printing Dimensions NEGOTIATION74Amy Elsner
1013Greenwood R ButtAustralia2026-10-16Chemel, James L Cpa NEW34Onyama Limba
1014Kadeem H OldroydSpain2026-10-08Truhlar And Truhlar Attys NEW8Onyama Limba
1015Costa N StensethCanada2026-10-14Buckley Miller Wright UNQUALIFIED45Anna Fali
1016Julie R CampainUnited Kingdom2026-10-27Chemel, James L Cpa RENEWAL33Stephen Shaw
1017Wickens T NickaCanada2026-10-15Truhlar And Truhlar Attys UNQUALIFIED32Xuxue Feng
1018Faith O GarufiIndia2026-10-27Truhlar And Truhlar Attys RENEWAL84Ioni Bowcher
1019Ricardo K FlosiGermany2026-10-20Rangoni Of Florence PROPOSAL13Xuxue Feng
1020Antonio L SergiCanada2026-10-29Morlong Associates PROPOSAL19Asiya Javayant
1021Faith D SchemmerGermany2026-10-25Dorl, James J Esq QUALIFIED37Anna Fali
1022Wickens E BriddickItaly2026-10-04Feltz Printing Service RENEWAL55Asiya Javayant
1023Sinclair X CampainAustralia2026-10-23Printing Dimensions NEGOTIATION68Onyama Limba
1024James Q ShinkoAustralia2026-10-29Dorl, James J Esq NEGOTIATION15Stephen Shaw
1025Leon T RulapaughJapan2026-10-15Benton, John B Jr RENEWAL53Ivan Magalhaes
1026Costa B CaudyItaly2026-10-10Chanay, Jeffrey A Esq NEW45Ivan Magalhaes
1027Costa R AmigonCanada2026-10-20Feltz Printing Service NEW92Bernardo Dominic
1028Rodrigues P NestleRussia2026-10-03Benton, John B Jr PROPOSAL57Asiya Javayant
1029Alejandro I VenereSpain2026-10-16Feltz Printing Service NEGOTIATION97Bernardo Dominic
1030Wickens H BriddickUnited Kingdom2026-10-17Rousseaux, Michael Esq PROPOSAL14Amy Elsner
1031Ivar O GauchoSpain2026-10-16Rousseaux, Michael Esq QUALIFIED45Amy Elsner
1032Greenwood S MaletItaly2026-10-11Rousseaux, Michael Esq QUALIFIED63Asiya Javayant
1033Darci F StockhamItaly2026-10-27Rousseaux, Michael Esq UNQUALIFIED16Asiya Javayant
1034Izzy J GillianFrance2026-10-29Benton, John B Jr RENEWAL65Anna Fali
1035Jones K CampainArgentina2026-10-03Dorl, James J Esq PROPOSAL82Bernardo Dominic
1036Deepesh J RoysterItaly2026-10-17Feltz Printing Service NEW72Amy Elsner
1037Nicolas O BriddickAustralia2026-11-01Morlong Associates RENEWAL78Amy Elsner
1038James H AmigonIndia2026-10-10Benton, John B Jr PROPOSAL79Anna Fali
1039Munro T PerinIndia2026-10-24Buckley Miller Wright UNQUALIFIED34Amy Elsner
1040Francesco I GarufiFrance2026-10-28Buckley Miller Wright QUALIFIED70Bernardo Dominic
1041Kaitlin J FollerUnited Kingdom2026-10-25Truhlar And Truhlar Attys UNQUALIFIED40Xuxue Feng
1042Jennifer Z OldroydAustralia2026-10-21Rangoni Of Florence NEW79Ivan Magalhaes
1043Deepesh Z WhobreyItaly2026-10-09Printing Dimensions QUALIFIED27Anna Fali
1044Silvio G GillianBrazil2026-10-06Buckley Miller Wright NEGOTIATION28Elwin Sharvill
1045Costa J CaldareraFrance2026-10-06Feiner Bros UNQUALIFIED76Xuxue Feng
1046Ricardo Y MaletRussia2026-10-06Commercial Press UNQUALIFIED68Amy Elsner
1047Antonio S PaprockiItaly2026-10-29Truhlar And Truhlar Attys QUALIFIED6Ivan Magalhaes
1048Adams X StensethUnited Kingdom2026-10-08King, Christopher A Esq NEGOTIATION87Stephen Shaw
1049Ricardo Q MarrierJapan2026-10-25Buckley Miller Wright QUALIFIED2Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Murillo Z RoysterItalyOnyama Limba QUALIFIED
Rodrigues U MaletAustraliaAmy Elsner PROPOSAL
Emily R MorascaSpainStephen Shaw NEGOTIATION
Morrow Y IturbideJapanElwin Sharvill RENEWAL
James E RulapaughAustraliaIvan Magalhaes QUALIFIED
Aruna H CaudyUnited KingdomXuxue Feng QUALIFIED
Jones D SlusarskiFranceBernardo Dominic PROPOSAL
Darci E PaprockiIndiaAnna Fali NEW
Faith M BowleyIndiaIoni Bowcher NEGOTIATION
Emily M FollerBrazilAnna Fali UNQUALIFIED
Maria N AmigonBrazilXuxue Feng UNQUALIFIED
Jones X FlosiBrazilStephen Shaw PROPOSAL
Murillo X MorascaArgentinaXuxue Feng RENEWAL
Faith M AlbaresUnited KingdomAnna Fali NEW
Darci U GlickIndiaOnyama Limba UNQUALIFIED
Leon I SchemmerSpainIoni Bowcher QUALIFIED
Jennifer Z InouyeJapanAmy Elsner QUALIFIED
Maisha G OldroydRussiaBernardo Dominic NEW
Sinclair G OstroskyAustraliaXuxue Feng QUALIFIED
Faith K CaudyIndiaXuxue Feng PROPOSAL
Rodrigues D SergiRussiaAnna Fali PROPOSAL
Tony O WieserJapanAmy Elsner NEW
Kaitlin X MorascaJapanBernardo Dominic PROPOSAL
Francesco P CaldareraBrazilStephen Shaw NEW
Jennifer R BologniaArgentinaElwin Sharvill RENEWAL
Jefferson R BriddickAustraliaIvan Magalhaes NEGOTIATION
Tony S DoeUnited KingdomElwin Sharvill RENEWAL
Costa U RutaUnited KingdomElwin Sharvill QUALIFIED
Chavez G MorascaFranceAsiya Javayant NEGOTIATION
Greenwood L TollnerIndiaOnyama Limba NEGOTIATION
Munro U MaletGermanyXuxue Feng NEW
Izzy L BriddickAustraliaBernardo Dominic PROPOSAL
Deepesh B FollerItalyAsiya Javayant PROPOSAL
Ashley R KolmetzJapanIvan Magalhaes NEW
Johnson A BriddickAustraliaIoni Bowcher QUALIFIED
Leon M BologniaRussiaXuxue Feng UNQUALIFIED
Maisha E AmigonJapanAmy Elsner QUALIFIED
Aditya M NestleIndiaBernardo Dominic QUALIFIED
Misaki I InouyeRussiaXuxue Feng UNQUALIFIED
Salvatore N CampainItalyStephen Shaw UNQUALIFIED
Maisha H SlusarskiCanadaStephen Shaw QUALIFIED
Octavia U WaycottCanadaStephen Shaw QUALIFIED
Ricardo D SergiUnited KingdomOnyama Limba PROPOSAL
Isabel T NickaBrazilElwin Sharvill NEW
Nicolas U KolmetzBrazilIoni Bowcher NEW
Jefferson M SaylorsAustraliaXuxue Feng UNQUALIFIED
Wickens R FerenczUnited KingdomAsiya Javayant NEGOTIATION
Maisha J CaudyIndiaIoni Bowcher PROPOSAL
Isabel X GlickFranceBernardo Dominic NEGOTIATION
Octavia X MaletAustraliaOnyama Limba NEW
Frozen Columns
Name
Munro E Ruta
Octavia Z Whobrey
Sinclair P Butt
Alejandro P Stenseth
Silvio G Ostrosky
Stacey R Ruta
Murillo K Figeroa
Rodrigues B Morasca
Juan L Darakjy
Francesco A Bolognia
Arvin Y Saylors
Emily N Nicka
Morrow B Stockham
Tony X Flosi
Munro U Inouye
Mujtaba C Oldroyd
Greenwood I Dilliard
Alejandro V Poquette
Juan Q Bolognia
Greenwood V Flosi
Cody E Iturbide
Johnson G Gillian
Johnson R Venere
Maisha D Rim
Leja W Kusko
Aditya J Figeroa
Adams B Perin
James F Schemmer
Izzy N Figeroa
Kadeem I Kolmetz
Leon L Ferencz
Greenwood W Caldarera
Costa I Perin
Ricardo G Caldarera
Deepesh L Ostrosky
Tony O Stockham
Salvatore V Malet
Darci L Morasca
Murillo J Gillian
Misaki Y Albares
James W Ostrosky
Wickens L Whobrey
Maisha H Albares
Ricardo T Caudy
Arvin D Briddick
Salvatore G Bolognia
Mujtaba R Figeroa
Leja M Ruta
Kaitlin I Briddick
Costa B Darakjy
IdCountryDate
1000India2026-11-01
1001Germany2026-10-22
1002France2026-10-23
1003Italy2026-10-29
1004Russia2026-10-25
1005Brazil2026-10-09
1006Canada2026-10-15
1007India2026-10-15
1008Australia2026-10-29
1009Spain2026-10-16
1010Russia2026-10-06
1011Australia2026-10-04
1012Australia2026-10-03
1013Canada2026-10-10
1014India2026-10-29
1015Argentina2026-10-27
1016Australia2026-10-31
1017United Kingdom2026-10-11
1018Australia2026-10-16
1019United Kingdom2026-10-30
1020Australia2026-10-30
1021Japan2026-10-16
1022Italy2026-10-15
1023France2026-10-07
1024India2026-10-21
1025United Kingdom2026-10-08
1026France2026-10-10
1027Brazil2026-10-26
1028Germany2026-10-13
1029Italy2026-10-16
1030Australia2026-10-12
1031Canada2026-10-20
1032Brazil2026-10-05
1033United Kingdom2026-10-26
1034Brazil2026-10-23
1035Japan2026-10-05
1036Japan2026-10-12
1037Spain2026-10-13
1038Japan2026-10-15
1039Japan2026-10-31
1040Spain2026-10-29
1041Russia2026-10-14
1042Spain2026-10-15
1043United Kingdom2026-10-10
1044Germany2026-10-20
1045United Kingdom2026-10-06
1046Australia2026-11-01
1047Canada2026-10-28
1048Russia2026-10-20
1049Brazil2026-11-01

On-Demand Data

NameIdCountryDate
Nicolas V Royster1000Argentina2026-10-20
Munro M Kolmetz1001Russia2026-10-19
Costa Z Ostrosky1002United Kingdom2026-10-27
Darci E Venere1003United Kingdom2026-10-23
Alejandro E Malet1004Russia2026-10-17
Deepesh R Foller1005United Kingdom2026-10-20
Julie K Bolognia1006France2026-11-01
Munro D Malet1007Japan2026-10-15
Chavez B Kusko1008Australia2026-10-11
Aditya Q Nestle1009France2026-10-09
Maria G Malet1010Brazil2026-10-04
Alejandro F Malet1011Argentina2026-11-01
Smith S Malet1012India2026-10-27
Salvatore O Sergi1013Australia2026-10-12
Kadeem W Figeroa1014Japan2026-10-27
Sinclair W Maclead1015Italy2026-11-01
Aruna L Inouye1016Brazil2026-10-17
Faith K Marrier1017India2026-10-18
Munro U Marrier1018United Kingdom2026-10-06
Faith H Tollner1019Germany2026-10-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel W RimIndiaStephen Shaw QUALIFIED
Aruna F VenereArgentinaXuxue Feng NEW
Isabel X StensethFranceIvan Magalhaes RENEWAL
Smith X SchemmerCanadaIoni Bowcher UNQUALIFIED
Silvio Y ShinkoArgentinaAsiya Javayant NEW
Kadeem A ButtIndiaIoni Bowcher PROPOSAL
Aika M DarakjySpainAsiya Javayant QUALIFIED
Deepesh Z GillianGermanyIoni Bowcher UNQUALIFIED
Chavez N RoysterCanadaAnna Fali NEW
Claire D MacleadJapanElwin Sharvill NEW
Aika O BriddickRussiaOnyama Limba RENEWAL
Izzy G SlusarskiItalyElwin Sharvill PROPOSAL
Antonio R OldroydArgentinaStephen Shaw QUALIFIED
Faith A StockhamAustraliaAsiya Javayant QUALIFIED
Morrow D PoquetteJapanElwin Sharvill PROPOSAL
Sinclair A RulapaughRussiaIvan Magalhaes NEW
Nicolas T OldroydArgentinaIoni Bowcher PROPOSAL
Sinclair W VocelkaItalyStephen Shaw PROPOSAL
Morrow E FlosiItalyAsiya Javayant PROPOSAL
Antonio S AmigonArgentinaAsiya Javayant PROPOSAL
Maisha D RimIndiaStephen Shaw UNQUALIFIED
James G AmigonBrazilAsiya Javayant PROPOSAL
Alejandro T BriddickAustraliaElwin Sharvill RENEWAL
Deepesh X WieserSpainIvan Magalhaes QUALIFIED
Kadeem U KolmetzItalyAsiya Javayant PROPOSAL
Chavez O StockhamBrazilXuxue Feng NEGOTIATION
Salvatore V FlosiCanadaAnna Fali NEGOTIATION
Alejandro V OstroskyCanadaAnna Fali UNQUALIFIED
Murillo U FigeroaCanadaXuxue Feng NEW
Octavia C IturbideArgentinaXuxue Feng UNQUALIFIED
Cody N InouyeRussiaAmy Elsner NEW
Cody G OldroydJapanAsiya Javayant QUALIFIED
Deepesh O FigeroaBrazilElwin Sharvill RENEWAL
Smith T IturbideRussiaXuxue Feng UNQUALIFIED
Maisha F PoquetteArgentinaIvan Magalhaes RENEWAL
Leja Z BologniaRussiaBernardo Dominic QUALIFIED
Adams E GillianBrazilElwin Sharvill QUALIFIED
Aika B InouyeItalyAsiya Javayant NEGOTIATION
Munro R MacleadSpainOnyama Limba PROPOSAL
Chavez L GauchoAustraliaAsiya Javayant 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>