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
Stacey A MacleadGermanyBernardo Dominic NEGOTIATION
Aditya K TollnerRussiaIvan Magalhaes PROPOSAL
Francesco T BriddickArgentinaElwin Sharvill UNQUALIFIED
James B SlusarskiJapanAsiya Javayant QUALIFIED
Darci Q DilliardItalyXuxue Feng RENEWAL
Antonio X AmigonSpainStephen Shaw RENEWAL
Smith Y PerinGermanyOnyama Limba QUALIFIED
Clifford S NestleIndiaXuxue Feng UNQUALIFIED
Antonio K AmigonBrazilAsiya Javayant QUALIFIED
Morrow F PoquetteUnited KingdomXuxue Feng PROPOSAL
Munro Y WaycottSpainAsiya Javayant UNQUALIFIED
Antonio U NickaArgentinaOnyama Limba UNQUALIFIED
Salvatore D OldroydIndiaIvan Magalhaes PROPOSAL
Tony M RimBrazilIvan Magalhaes NEW
Isabel O StensethAustraliaAsiya Javayant RENEWAL
Antonio S ButtRussiaStephen Shaw RENEWAL
Ashley T MaletJapanIoni Bowcher QUALIFIED
Francesco J GauchoUnited KingdomIoni Bowcher PROPOSAL
Sinclair X MarrierArgentinaBernardo Dominic QUALIFIED
Claire V FollerBrazilXuxue Feng QUALIFIED
Adams W WieserGermanyAmy Elsner QUALIFIED
Kadeem U RutaGermanyAnna Fali RENEWAL
Cody R NestleUnited KingdomAmy Elsner NEW
Silvio X StensethArgentinaAsiya Javayant QUALIFIED
Johnson V DilliardItalyIoni Bowcher QUALIFIED
Jeanfrancois Z FigeroaUnited KingdomBernardo Dominic PROPOSAL
Chavez G BologniaUnited KingdomBernardo Dominic QUALIFIED
Aditya P PaprockiUnited KingdomAnna Fali NEW
Leon F CampainSpainAsiya Javayant UNQUALIFIED
Stacey O KolmetzItalyOnyama Limba NEW
Morrow G VocelkaCanadaBernardo Dominic NEGOTIATION
Greenwood X TollnerRussiaElwin Sharvill QUALIFIED
Adams O BriddickUnited KingdomOnyama Limba PROPOSAL
Munro X MacleadAustraliaIvan Magalhaes RENEWAL
Ivar J GarufiJapanXuxue Feng UNQUALIFIED
Jennifer B NestleItalyIoni Bowcher QUALIFIED
Claire C DilliardJapanIoni Bowcher PROPOSAL
Aruna A KuskoSpainIvan Magalhaes NEGOTIATION
Morrow T FollerIndiaStephen Shaw NEGOTIATION
Darci A OstroskyRussiaStephen Shaw RENEWAL
Darci L VocelkaCanadaAnna Fali NEGOTIATION
Aruna Z RimRussiaElwin Sharvill QUALIFIED
Antonio Z DoeGermanyBernardo Dominic QUALIFIED
Faith K NickaItalyOnyama Limba NEGOTIATION
Ivar R InouyeSpainAnna Fali NEW
Murillo T WaycottRussiaStephen Shaw UNQUALIFIED
Arvin U BriddickFranceIvan Magalhaes NEGOTIATION
Ashley C StensethIndiaElwin Sharvill RENEWAL
Alejandro E CaldareraSpainElwin Sharvill UNQUALIFIED
Chavez E StensethJapanAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Silvio S SergiRussiaIvan Magalhaes QUALIFIED
Deepesh D DoeBrazilOnyama Limba QUALIFIED
Cody L FigeroaSpainIvan Magalhaes RENEWAL
Costa M ChuiItalyIvan Magalhaes UNQUALIFIED
Kaitlin D CaudyCanadaIoni Bowcher QUALIFIED
Leja G MarrierUnited KingdomOnyama Limba PROPOSAL
Wickens S GauchoIndiaAsiya Javayant RENEWAL
James Y FlosiSpainStephen Shaw QUALIFIED
Ivar C FigeroaCanadaIoni Bowcher PROPOSAL
Ashley A StockhamItalyBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci C RulapaughSpain2026-09-27Chapman, Ross E Esq PROPOSAL30Ioni Bowcher
1001Kaitlin F RoysterGermany2026-09-08Rangoni Of Florence RENEWAL40Xuxue Feng
1002Chavez F BowleyArgentina2026-09-09Benton, John B Jr NEGOTIATION87Asiya Javayant
1003James N RimArgentina2026-09-13King, Christopher A Esq UNQUALIFIED19Bernardo Dominic
1004Ashley H WhobreyArgentina2026-09-27Benton, John B Jr UNQUALIFIED68Onyama Limba
1005Ashley L CaldareraBrazil2026-09-02Truhlar And Truhlar Attys QUALIFIED88Ivan Magalhaes
1006Clifford P BologniaUnited Kingdom2026-09-17Chapman, Ross E Esq UNQUALIFIED19Anna Fali
1007Faith C KolmetzArgentina2026-09-26Truhlar And Truhlar Attys UNQUALIFIED9Anna Fali
1008Tony S FigeroaFrance2026-09-14Commercial Press RENEWAL86Stephen Shaw
1009James D MacleadArgentina2026-09-19Chapman, Ross E Esq UNQUALIFIED15Onyama Limba
1010Darci O PoquetteFrance2026-09-02Printing Dimensions NEGOTIATION62Onyama Limba
1011Aika Y BologniaUnited Kingdom2026-09-23Feiner Bros NEW56Ivan Magalhaes
1012Leja F OldroydGermany2026-09-25Buckley Miller Wright QUALIFIED43Xuxue Feng
1013Tony P IturbideCanada2026-09-18Chanay, Jeffrey A Esq NEW62Amy Elsner
1014Jones K ChuiJapan2026-09-17Benton, John B Jr PROPOSAL95Anna Fali
1015Francesco K FigeroaGermany2026-09-03Feiner Bros PROPOSAL70Xuxue Feng
1016Kadeem L BologniaBrazil2026-09-02Feltz Printing Service RENEWAL58Stephen Shaw
1017Antonio Y CampainJapan2026-09-16Rousseaux, Michael Esq PROPOSAL46Ivan Magalhaes
1018Silvio D ButtBrazil2026-09-15Chanay, Jeffrey A Esq RENEWAL1Anna Fali
1019Darci W FigeroaCanada2026-08-29Feiner Bros PROPOSAL45Onyama Limba
1020Leja W WhobreyJapan2026-09-07Dorl, James J Esq QUALIFIED82Bernardo Dominic
1021Deepesh G CaldareraIndia2026-09-11Rangoni Of Florence QUALIFIED13Ioni Bowcher
1022Isabel E RutaJapan2026-09-22Chanay, Jeffrey A Esq PROPOSAL91Ivan Magalhaes
1023Rodrigues Q OstroskyIndia2026-09-12Chemel, James L Cpa RENEWAL67Xuxue Feng
1024Morrow K OstroskyGermany2026-09-09Morlong Associates NEW61Onyama Limba
1025Murillo U MaletCanada2026-09-01Chapman, Ross E Esq QUALIFIED29Anna Fali
1026Murillo U ChuiGermany2026-09-17King, Christopher A Esq NEW99Ivan Magalhaes
1027Faith Y IturbideItaly2026-09-24King, Christopher A Esq PROPOSAL21Xuxue Feng
1028Emily R RutaItaly2026-09-10Chapman, Ross E Esq PROPOSAL94Bernardo Dominic
1029Deepesh R KuskoRussia2026-09-20Buckley Miller Wright NEW18Elwin Sharvill
1030Mujtaba Y DilliardRussia2026-09-19Commercial Press QUALIFIED71Anna Fali
1031Clifford Q GarufiJapan2026-09-27Rousseaux, Michael Esq PROPOSAL89Anna Fali
1032Darci W ButtBrazil2026-09-22Truhlar And Truhlar Attys RENEWAL32Stephen Shaw
1033Ashley Z DoeCanada2026-09-08Feltz Printing Service UNQUALIFIED22Asiya Javayant
1034Maria E WaycottRussia2026-09-16Buckley Miller Wright NEW39Elwin Sharvill
1035Julie N DilliardUnited Kingdom2026-09-02Truhlar And Truhlar Attys NEGOTIATION0Ioni Bowcher
1036Costa L StockhamSpain2026-09-20Morlong Associates PROPOSAL85Ioni Bowcher
1037Aruna J InouyeSpain2026-09-23Morlong Associates PROPOSAL18Xuxue Feng
1038Ricardo E DoeBrazil2026-09-11Printing Dimensions PROPOSAL46Asiya Javayant
1039Jeanfrancois P WieserSpain2026-09-05Feltz Printing Service QUALIFIED74Onyama Limba
1040Greenwood H VenereIndia2026-09-18Buckley Miller Wright NEGOTIATION4Stephen Shaw
1041Rodrigues F FerenczCanada2026-09-21King, Christopher A Esq NEW40Onyama Limba
1042Leja K FerenczIndia2026-09-15Feiner Bros UNQUALIFIED4Stephen Shaw
1043Johnson E GillianFrance2026-09-20Dorl, James J Esq PROPOSAL1Asiya Javayant
1044Jennifer S CaldareraGermany2026-09-17Rangoni Of Florence QUALIFIED0Anna Fali
1045Sinclair J FollerIndia2026-09-15Rangoni Of Florence RENEWAL52Onyama Limba
1046Cody Z ChuiJapan2026-09-25Rousseaux, Michael Esq NEW93Stephen Shaw
1047Misaki C VenereFrance2026-09-26Truhlar And Truhlar Attys PROPOSAL6Stephen Shaw
1048James R MacleadFrance2026-08-29Rousseaux, Michael Esq PROPOSAL75Amy Elsner
1049Jefferson O StockhamUnited Kingdom2026-09-18King, Christopher A Esq NEW80Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Jones K StensethIndiaOnyama Limba NEW
Jefferson P ButtSpainElwin Sharvill NEW
Jennifer I SlusarskiAustraliaAmy Elsner RENEWAL
Smith B SchemmerBrazilOnyama Limba UNQUALIFIED
Izzy G ChuiFranceOnyama Limba NEW
Octavia U MaletBrazilOnyama Limba QUALIFIED
Jeanfrancois N CampainRussiaOnyama Limba RENEWAL
Juan I FerenczSpainStephen Shaw UNQUALIFIED
Munro J GauchoJapanBernardo Dominic UNQUALIFIED
Morrow A NestleUnited KingdomElwin Sharvill QUALIFIED
Smith Z OldroydIndiaStephen Shaw UNQUALIFIED
Ricardo V GillianRussiaElwin Sharvill NEGOTIATION
Emily F VocelkaUnited KingdomAnna Fali QUALIFIED
Ivar Z PerinAustraliaStephen Shaw QUALIFIED
Clifford S RoysterJapanElwin Sharvill UNQUALIFIED
Salvatore P IturbideGermanyElwin Sharvill QUALIFIED
Mayumi I FollerArgentinaBernardo Dominic UNQUALIFIED
Darci A FigeroaJapanXuxue Feng NEW
Jefferson O MarrierArgentinaXuxue Feng PROPOSAL
Darci E KuskoSpainAnna Fali NEGOTIATION
Aditya R WhobreyFranceAsiya Javayant NEGOTIATION
Nicolas V StensethFranceOnyama Limba NEGOTIATION
Aditya U StensethJapanElwin Sharvill QUALIFIED
Mayumi D CaldareraItalyIvan Magalhaes PROPOSAL
Sinclair V RulapaughBrazilBernardo Dominic QUALIFIED
Smith V FigeroaAustraliaAmy Elsner PROPOSAL
Smith O RoysterAustraliaElwin Sharvill PROPOSAL
Jennifer A DoeBrazilIvan Magalhaes RENEWAL
Claire Y MorascaJapanIoni Bowcher NEW
Clifford E KolmetzIndiaIoni Bowcher PROPOSAL
Alejandro E NickaAustraliaStephen Shaw NEW
Stacey N VenereGermanyIoni Bowcher PROPOSAL
Chavez W MaletItalyIoni Bowcher NEW
Greenwood N ButtIndiaElwin Sharvill RENEWAL
Jeanfrancois U BriddickAustraliaAsiya Javayant QUALIFIED
Ashley P StensethArgentinaElwin Sharvill UNQUALIFIED
Leja P FlosiSpainXuxue Feng UNQUALIFIED
Ricardo B DarakjyIndiaAsiya Javayant NEGOTIATION
Johnson N CaldareraGermanyAmy Elsner NEW
Jennifer V KolmetzJapanAmy Elsner NEGOTIATION
Julie D FollerUnited KingdomOnyama Limba PROPOSAL
Francesco F BowleyArgentinaElwin Sharvill RENEWAL
Munro K NickaBrazilAnna Fali QUALIFIED
Izzy V TollnerSpainIoni Bowcher RENEWAL
Jeanfrancois Q CaldareraCanadaAmy Elsner NEGOTIATION
David X BologniaUnited KingdomXuxue Feng NEW
Jeanfrancois F MacleadJapanOnyama Limba QUALIFIED
Arvin F RulapaughGermanyElwin Sharvill UNQUALIFIED
Jeanfrancois P BologniaUnited KingdomBernardo Dominic NEW
James Z MacleadAustraliaAnna Fali PROPOSAL
Frozen Columns
Name
Julie D Morasca
Johnson K Stenseth
Smith T Oldroyd
Jones N Campain
Greenwood M Nestle
Stacey X Venere
Jennifer I Schemmer
Emily D Oldroyd
Nicolas X Stenseth
Darci J Rim
Cody P Malet
Ricardo J Paprocki
Tony Z Chui
Leja R Schemmer
Sinclair Y Slusarski
Jeanfrancois Q Glick
Silvio K Campain
Wickens G Caudy
Smith L Nestle
Aika L Dilliard
Claire C Inouye
Silvio H Wieser
Maisha Q Schemmer
Aika G Schemmer
Rodrigues C Darakjy
Clifford V Briddick
Cody H Caudy
Wickens B Gillian
Antonio A Schemmer
Salvatore K Darakjy
Kadeem O Saylors
Wickens B Albares
Clifford N Maclead
Kaitlin M Doe
Isabel D Poquette
Clifford O Glick
Wickens M Chui
Arvin C Flosi
James Y Kolmetz
Leja Y Kolmetz
Jefferson K Flosi
Isabel X Briddick
Leja E Glick
James V Perin
Rodrigues K Doe
Ivar E Glick
Leon C Maclead
Darci K Kusko
Ashley F Slusarski
Aruna Z Darakjy
IdCountryDate
1000Brazil2026-09-15
1001Australia2026-09-16
1002United Kingdom2026-09-09
1003Germany2026-09-01
1004Germany2026-09-18
1005Japan2026-09-19
1006Brazil2026-09-24
1007France2026-09-17
1008France2026-09-26
1009Argentina2026-09-08
1010France2026-09-07
1011India2026-09-18
1012Australia2026-08-31
1013Russia2026-09-05
1014Argentina2026-09-11
1015Russia2026-09-15
1016Australia2026-09-24
1017Spain2026-09-12
1018Italy2026-09-11
1019Germany2026-09-18
1020Brazil2026-09-25
1021Italy2026-09-24
1022Argentina2026-09-16
1023Germany2026-09-01
1024United Kingdom2026-08-31
1025United Kingdom2026-09-25
1026Russia2026-09-05
1027India2026-09-23
1028Italy2026-09-08
1029Italy2026-09-03
1030Spain2026-09-18
1031Germany2026-09-06
1032United Kingdom2026-09-18
1033Canada2026-09-25
1034India2026-08-30
1035Brazil2026-09-18
1036Brazil2026-09-20
1037Australia2026-09-15
1038France2026-09-20
1039India2026-09-15
1040Australia2026-09-10
1041Italy2026-09-06
1042Canada2026-09-23
1043Argentina2026-09-04
1044Italy2026-09-10
1045Russia2026-08-31
1046Canada2026-09-17
1047India2026-08-29
1048India2026-09-24
1049France2026-09-23

On-Demand Data

NameIdCountryDate
Adams W Oldroyd1000Spain2026-09-11
Greenwood M Dilliard1001Brazil2026-09-13
Maria M Slusarski1002Canada2026-09-04
Misaki G Rulapaugh1003France2026-09-14
Deepesh G Saylors1004Italy2026-09-08
James D Perin1005Canada2026-09-20
Claire Q Ostrosky1006Brazil2026-09-24
Morrow O Nicka1007Germany2026-09-11
Murillo J Nicka1008Russia2026-09-13
Greenwood U Rim1009France2026-09-25
Juan H Nicka1010India2026-09-22
Julie G Dilliard1011Canada2026-09-26
David Q Oldroyd1012Spain2026-09-03
James B Morasca1013Spain2026-09-05
Aika X Dilliard1014Spain2026-09-09
Arvin Q Sergi1015France2026-09-17
Smith E Kusko1016India2026-09-14
Jeanfrancois P Schemmer1017Brazil2026-09-19
Silvio I Iturbide1018Germany2026-09-13
Emily A Dilliard1019Spain2026-09-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika B ButtCanadaElwin Sharvill NEW
Jones B MorascaItalyIoni Bowcher RENEWAL
Kadeem G RulapaughBrazilAnna Fali PROPOSAL
Rodrigues K OstroskyAustraliaOnyama Limba PROPOSAL
Aruna M PaprockiSpainAmy Elsner QUALIFIED
Jeanfrancois K SaylorsIndiaIoni Bowcher UNQUALIFIED
Antonio Q RimBrazilOnyama Limba QUALIFIED
Claire J RutaIndiaIoni Bowcher RENEWAL
Ricardo H AlbaresItalyAnna Fali NEW
Julie K BriddickArgentinaAnna Fali PROPOSAL
Sinclair C FerenczArgentinaAsiya Javayant NEW
Morrow A BowleyCanadaStephen Shaw NEW
Greenwood Q OldroydGermanyStephen Shaw UNQUALIFIED
Leon H StensethUnited KingdomIvan Magalhaes RENEWAL
Chavez W GarufiJapanBernardo Dominic UNQUALIFIED
Juan S PerinAustraliaBernardo Dominic UNQUALIFIED
Wickens Z CampainFranceAmy Elsner PROPOSAL
Silvio E FlosiJapanElwin Sharvill NEGOTIATION
Rodrigues N MaletItalyXuxue Feng NEW
Nicolas B OldroydJapanStephen Shaw NEW
Smith U GauchoItalyAmy Elsner PROPOSAL
Juan D ButtCanadaIoni Bowcher PROPOSAL
Munro X CampainSpainAnna Fali PROPOSAL
Deepesh T MaletIndiaElwin Sharvill NEW
Silvio B SchemmerItalyAnna Fali PROPOSAL
Jennifer E DoeIndiaIvan Magalhaes UNQUALIFIED
Leja R WaycottAustraliaOnyama Limba PROPOSAL
Julie I SergiArgentinaXuxue Feng QUALIFIED
Adams B RutaUnited KingdomOnyama Limba NEGOTIATION
Ivar N OldroydArgentinaElwin Sharvill RENEWAL
Izzy H MarrierRussiaXuxue Feng NEW
Rodrigues Z CaldareraUnited KingdomIoni Bowcher RENEWAL
Tony W BologniaCanadaAmy Elsner RENEWAL
Greenwood S NestleCanadaIoni Bowcher UNQUALIFIED
Leja M PoquetteSpainOnyama Limba UNQUALIFIED
Aika Q DilliardRussiaElwin Sharvill RENEWAL
Adams B ButtGermanyBernardo Dominic NEW
Jeanfrancois I BowleyIndiaAmy Elsner NEW
Costa E KolmetzCanadaBernardo Dominic RENEWAL
Greenwood F MaletAustraliaOnyama Limba 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>