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
Cody G DilliardGermanyXuxue Feng PROPOSAL
Tony K SergiSpainAsiya Javayant UNQUALIFIED
Stacey K CampainAustraliaBernardo Dominic UNQUALIFIED
Sinclair F MaletFranceStephen Shaw PROPOSAL
Ivar F AmigonRussiaIoni Bowcher QUALIFIED
Octavia Y GlickCanadaStephen Shaw NEGOTIATION
Misaki Q DoeCanadaElwin Sharvill RENEWAL
Costa Y RimArgentinaOnyama Limba UNQUALIFIED
Misaki M StockhamFranceOnyama Limba NEGOTIATION
Leja A MorascaAustraliaBernardo Dominic RENEWAL
Octavia Q PerinRussiaAsiya Javayant NEW
Maria N KolmetzCanadaElwin Sharvill NEGOTIATION
David I AmigonArgentinaAsiya Javayant NEW
Claire P PaprockiArgentinaAnna Fali NEW
Silvio P MarrierAustraliaAmy Elsner QUALIFIED
Ricardo I FerenczJapanStephen Shaw PROPOSAL
Cody X WaycottGermanyAmy Elsner NEW
Izzy E MacleadFranceBernardo Dominic NEGOTIATION
Costa Z KolmetzUnited KingdomAnna Fali PROPOSAL
Nicolas B MaletBrazilXuxue Feng QUALIFIED
Darci Q AmigonIndiaIoni Bowcher UNQUALIFIED
Mujtaba L KolmetzJapanStephen Shaw PROPOSAL
Francesco B MacleadIndiaXuxue Feng PROPOSAL
Clifford J VenereItalyOnyama Limba PROPOSAL
Salvatore L DoeSpainBernardo Dominic NEW
Mayumi A WieserCanadaAmy Elsner RENEWAL
Wickens X KolmetzGermanyIoni Bowcher NEW
David Y StensethRussiaBernardo Dominic NEGOTIATION
Mujtaba N SchemmerJapanBernardo Dominic RENEWAL
Aditya B OldroydAustraliaAsiya Javayant RENEWAL
Francesco P GlickArgentinaXuxue Feng PROPOSAL
Faith U MorascaItalyStephen Shaw NEGOTIATION
Darci Z OstroskyJapanBernardo Dominic PROPOSAL
Smith F WaycottItalyStephen Shaw RENEWAL
Aika I WaycottCanadaElwin Sharvill PROPOSAL
Claire M PerinGermanyOnyama Limba RENEWAL
James Q NestleBrazilIoni Bowcher QUALIFIED
Jones Y GauchoArgentinaXuxue Feng UNQUALIFIED
Murillo A SlusarskiJapanOnyama Limba NEW
Sinclair A IturbideAustraliaAnna Fali UNQUALIFIED
Leja W WhobreyIndiaAsiya Javayant UNQUALIFIED
Arvin M WaycottBrazilIvan Magalhaes NEW
Maria G SergiArgentinaStephen Shaw PROPOSAL
Emily Q CaldareraUnited KingdomIvan Magalhaes NEGOTIATION
Adams T MaletGermanyAsiya Javayant QUALIFIED
Deepesh C PerinFranceAnna Fali RENEWAL
Francesco O BriddickItalyIoni Bowcher RENEWAL
Munro Q FigeroaArgentinaIvan Magalhaes QUALIFIED
Chavez F VenereAustraliaOnyama Limba RENEWAL
Emily M VenereGermanyAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aditya J AmigonBrazilIvan Magalhaes NEGOTIATION
Mayumi T FerenczSpainIoni Bowcher PROPOSAL
Cody Z TollnerIndiaAsiya Javayant NEGOTIATION
Clifford N KolmetzBrazilStephen Shaw NEW
Deepesh X AmigonSpainXuxue Feng PROPOSAL
Aruna S RimUnited KingdomIvan Magalhaes RENEWAL
Ricardo I ButtUnited KingdomAmy Elsner RENEWAL
Morrow L GauchoArgentinaAmy Elsner PROPOSAL
Clifford T MacleadArgentinaStephen Shaw NEW
Salvatore U SergiIndiaAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony K PaprockiBrazil2026-09-22Benton, John B Jr QUALIFIED13Onyama Limba
1001Sinclair S StensethUnited Kingdom2026-10-02King, Christopher A Esq NEW53Amy Elsner
1002James C BologniaRussia2026-09-14Printing Dimensions QUALIFIED36Asiya Javayant
1003Johnson G MorascaArgentina2026-09-03Chapman, Ross E Esq QUALIFIED68Ioni Bowcher
1004Ashley R MaletSpain2026-09-11Buckley Miller Wright NEW81Ivan Magalhaes
1005Mayumi O BriddickGermany2026-09-13Buckley Miller Wright QUALIFIED1Anna Fali
1006Kadeem U GauchoJapan2026-09-10Feiner Bros UNQUALIFIED95Anna Fali
1007Morrow K MarrierSpain2026-09-10Commercial Press NEGOTIATION4Elwin Sharvill
1008Smith R ButtBrazil2026-09-25Benton, John B Jr NEW46Ioni Bowcher
1009Rodrigues Q GlickItaly2026-10-01Benton, John B Jr UNQUALIFIED69Xuxue Feng
1010Stacey A ButtFrance2026-09-14Feltz Printing Service QUALIFIED30Onyama Limba
1011Leja Q GarufiRussia2026-09-29Feiner Bros QUALIFIED73Asiya Javayant
1012Mayumi L GillianJapan2026-09-25Feltz Printing Service PROPOSAL38Elwin Sharvill
1013Antonio R RimCanada2026-09-14Buckley Miller Wright NEW94Amy Elsner
1014Misaki Y VenereItaly2026-09-18Morlong Associates UNQUALIFIED37Ivan Magalhaes
1015Johnson H DilliardIndia2026-09-08Rousseaux, Michael Esq NEW16Asiya Javayant
1016Clifford T TollnerItaly2026-09-16Commercial Press QUALIFIED39Elwin Sharvill
1017Rodrigues L CampainGermany2026-09-10Truhlar And Truhlar Attys NEGOTIATION50Onyama Limba
1018Nicolas O MacleadUnited Kingdom2026-09-06Chanay, Jeffrey A Esq PROPOSAL13Ioni Bowcher
1019Maisha V DarakjyJapan2026-09-29Rangoni Of Florence PROPOSAL25Stephen Shaw
1020Emily G MaletCanada2026-10-02Dorl, James J Esq UNQUALIFIED68Onyama Limba
1021Mayumi V RoysterSpain2026-09-16Truhlar And Truhlar Attys NEGOTIATION34Onyama Limba
1022Jones Q RutaSpain2026-09-21Feiner Bros NEW51Ioni Bowcher
1023Johnson F GlickFrance2026-09-17Chapman, Ross E Esq PROPOSAL33Ioni Bowcher
1024Greenwood T InouyeArgentina2026-09-17Commercial Press QUALIFIED29Ivan Magalhaes
1025Leja Q FigeroaFrance2026-09-04Dorl, James J Esq NEGOTIATION43Stephen Shaw
1026Murillo B BologniaFrance2026-09-14Chanay, Jeffrey A Esq QUALIFIED30Asiya Javayant
1027Aruna B DilliardSpain2026-09-14Feiner Bros NEGOTIATION2Onyama Limba
1028Isabel A SlusarskiJapan2026-09-09Feltz Printing Service NEW82Xuxue Feng
1029Leon R VenereItaly2026-09-26Feltz Printing Service UNQUALIFIED49Amy Elsner
1030Greenwood K VenereUnited Kingdom2026-09-09Chemel, James L Cpa PROPOSAL37Ioni Bowcher
1031Clifford P FlosiItaly2026-09-15Buckley Miller Wright UNQUALIFIED16Amy Elsner
1032James O MarrierFrance2026-10-02Rangoni Of Florence PROPOSAL92Stephen Shaw
1033Aruna O WaycottAustralia2026-09-18Morlong Associates NEGOTIATION76Ioni Bowcher
1034Clifford R TollnerFrance2026-09-14Chanay, Jeffrey A Esq QUALIFIED27Elwin Sharvill
1035Misaki O RoysterSpain2026-09-19Benton, John B Jr QUALIFIED31Bernardo Dominic
1036Aika M RutaUnited Kingdom2026-09-11Truhlar And Truhlar Attys NEGOTIATION66Xuxue Feng
1037Claire K DarakjyAustralia2026-09-16Feiner Bros NEGOTIATION95Ivan Magalhaes
1038Clifford X RimBrazil2026-10-02Feltz Printing Service RENEWAL69Stephen Shaw
1039Faith S OldroydRussia2026-09-11Chapman, Ross E Esq QUALIFIED1Stephen Shaw
1040Leja Z KuskoBrazil2026-09-18Dorl, James J Esq RENEWAL28Anna Fali
1041Octavia K GillianItaly2026-09-08Commercial Press NEGOTIATION33Onyama Limba
1042Jennifer Z SlusarskiAustralia2026-09-26Rousseaux, Michael Esq QUALIFIED98Stephen Shaw
1043Izzy C CampainIndia2026-09-27Benton, John B Jr QUALIFIED43Ioni Bowcher
1044Leon I InouyeSpain2026-09-08Benton, John B Jr NEW79Xuxue Feng
1045Greenwood G DarakjyUnited Kingdom2026-09-03Chanay, Jeffrey A Esq UNQUALIFIED24Onyama Limba
1046Johnson Y DilliardUnited Kingdom2026-09-17Truhlar And Truhlar Attys QUALIFIED70Anna Fali
1047Clifford C CampainCanada2026-09-14King, Christopher A Esq UNQUALIFIED46Anna Fali
1048Antonio J NestleItaly2026-09-29Printing Dimensions PROPOSAL91Asiya Javayant
1049Aika X FerenczBrazil2026-09-24Truhlar And Truhlar Attys NEW48Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba N BowleyJapanAmy Elsner NEW
Emily Q VenereItalyBernardo Dominic UNQUALIFIED
Jeanfrancois X DoeItalyIvan Magalhaes RENEWAL
Julie U MorascaGermanyOnyama Limba NEGOTIATION
Julie Q DoeBrazilBernardo Dominic NEW
Rodrigues D GarufiIndiaElwin Sharvill NEGOTIATION
Juan G VocelkaUnited KingdomBernardo Dominic QUALIFIED
Claire T StensethIndiaElwin Sharvill RENEWAL
Antonio T ChuiItalyIvan Magalhaes NEGOTIATION
Izzy M CaudyFranceAnna Fali RENEWAL
Morrow E RutaRussiaIoni Bowcher QUALIFIED
Aika V DoeItalyAnna Fali UNQUALIFIED
Misaki L RoysterFranceAsiya Javayant QUALIFIED
Tony F DilliardBrazilBernardo Dominic NEW
Clifford G WhobreySpainStephen Shaw RENEWAL
Faith I KolmetzArgentinaStephen Shaw RENEWAL
Leja V AmigonSpainIvan Magalhaes NEW
Johnson C BowleyCanadaIoni Bowcher RENEWAL
Ricardo N SchemmerUnited KingdomXuxue Feng NEW
Jones Q OldroydArgentinaOnyama Limba RENEWAL
Claire O BowleyUnited KingdomXuxue Feng NEW
Aruna H GarufiIndiaBernardo Dominic NEW
Izzy M FlosiArgentinaXuxue Feng PROPOSAL
Johnson S FerenczJapanBernardo Dominic NEGOTIATION
Emily D PerinItalyAsiya Javayant NEGOTIATION
Silvio F RoysterUnited KingdomElwin Sharvill RENEWAL
Wickens A GauchoGermanyIoni Bowcher QUALIFIED
Claire C SaylorsJapanBernardo Dominic QUALIFIED
Adams O SchemmerFranceElwin Sharvill QUALIFIED
Octavia Z WaycottJapanAsiya Javayant NEW
Deepesh U FlosiItalyXuxue Feng UNQUALIFIED
Greenwood X MaletItalyXuxue Feng QUALIFIED
Maisha L VocelkaAustraliaAsiya Javayant NEW
Izzy L MaletRussiaAnna Fali RENEWAL
Aika Y InouyeRussiaAmy Elsner PROPOSAL
Stacey I PerinSpainStephen Shaw NEW
Arvin Y OstroskyRussiaBernardo Dominic RENEWAL
Alejandro Y GillianSpainAmy Elsner NEW
Smith Z WieserGermanyOnyama Limba NEGOTIATION
Aika I NestleCanadaStephen Shaw QUALIFIED
Chavez W VenereItalyStephen Shaw PROPOSAL
Adams I VenereSpainAsiya Javayant PROPOSAL
Wickens S AlbaresUnited KingdomIvan Magalhaes NEW
Aika P CaldareraJapanIoni Bowcher QUALIFIED
Octavia P RutaGermanyAmy Elsner NEGOTIATION
Jefferson S SlusarskiUnited KingdomAsiya Javayant QUALIFIED
Morrow S MarrierUnited KingdomBernardo Dominic UNQUALIFIED
Aruna P PoquetteIndiaAmy Elsner RENEWAL
Johnson I NickaArgentinaIvan Magalhaes QUALIFIED
Francesco X BologniaSpainAnna Fali NEGOTIATION
Frozen Columns
Name
Izzy Y Glick
Jones R Flosi
Johnson Q Oldroyd
Rodrigues R Doe
Faith C Malet
Rodrigues X Ostrosky
Octavia Y Campain
Leon P Maclead
Sinclair S Nestle
Cody C Gaucho
Jennifer O Tollner
Claire C Ferencz
Stacey H Amigon
Jones J Bolognia
Emily X Malet
Isabel J Campain
Johnson S Dilliard
Salvatore C Shinko
Adams C Flosi
Misaki A Gillian
Mayumi Y Stockham
Maisha M Oldroyd
Claire A Kusko
Clifford C Albares
Murillo C Slusarski
Costa Y Stenseth
Leon P Caudy
Faith H Inouye
Francesco G Dilliard
Antonio D Doe
Deepesh V Vocelka
Kaitlin X Maclead
Juan Z Tollner
Maisha H Chui
Aruna B Rulapaugh
Murillo O Poquette
Mayumi C Morasca
Johnson P Ruta
Rodrigues W Gillian
David Y Paprocki
Ricardo Q Vocelka
Isabel G Amigon
Arvin F Maclead
Jeanfrancois P Paprocki
Arvin M Iturbide
Aruna S Malet
Aditya W Morasca
Maisha F Stockham
Aruna Z Slusarski
James T Ostrosky
IdCountryDate
1000Spain2026-09-05
1001India2026-09-03
1002Brazil2026-09-28
1003Italy2026-09-14
1004Italy2026-09-12
1005France2026-09-15
1006Japan2026-09-23
1007France2026-09-14
1008France2026-09-30
1009India2026-09-06
1010Spain2026-09-28
1011Canada2026-09-10
1012Russia2026-09-07
1013Germany2026-09-27
1014Spain2026-09-08
1015Canada2026-09-09
1016India2026-09-16
1017Spain2026-09-10
1018United Kingdom2026-09-07
1019Germany2026-09-26
1020Brazil2026-09-24
1021Russia2026-09-16
1022Brazil2026-09-17
1023Italy2026-10-02
1024Canada2026-09-08
1025France2026-09-13
1026Spain2026-09-18
1027France2026-09-15
1028Brazil2026-09-18
1029Australia2026-09-16
1030India2026-09-12
1031Australia2026-09-05
1032Brazil2026-09-27
1033Argentina2026-09-05
1034Russia2026-09-23
1035Spain2026-09-27
1036Germany2026-09-21
1037France2026-09-21
1038Argentina2026-09-17
1039India2026-09-20
1040France2026-09-08
1041Brazil2026-09-29
1042India2026-09-06
1043Italy2026-09-26
1044Spain2026-09-22
1045Spain2026-09-25
1046Spain2026-09-12
1047Brazil2026-09-25
1048Japan2026-09-25
1049Japan2026-09-19

On-Demand Data

NameIdCountryDate
Alejandro A Waycott1000Germany2026-09-22
Faith N Caldarera1001India2026-09-30
Aditya N Nestle1002Italy2026-09-04
Izzy S Sergi1003United Kingdom2026-09-28
Misaki V Chui1004Italy2026-09-20
Greenwood M Glick1005United Kingdom2026-09-25
Deepesh G Inouye1006Brazil2026-09-18
James Z Schemmer1007Australia2026-09-20
Stacey I Rulapaugh1008Canada2026-09-18
Darci J Stenseth1009India2026-09-10
Maisha P Amigon1010Brazil2026-09-18
Jeanfrancois A Caudy1011Argentina2026-09-11
Izzy F Inouye1012Japan2026-09-03
Jefferson H Gaucho1013France2026-09-20
Wickens L Darakjy1014Germany2026-09-13
Stacey O Royster1015Germany2026-09-28
Leon J Oldroyd1016Italy2026-09-27
Johnson C Campain1017Argentina2026-09-09
Antonio Q Perin1018France2026-09-30
Costa T Campain1019Germany2026-09-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow O TollnerGermanyStephen Shaw NEW
Chavez B DarakjyGermanyStephen Shaw QUALIFIED
Morrow S AmigonAustraliaXuxue Feng PROPOSAL
Aika D ChuiUnited KingdomStephen Shaw NEGOTIATION
Greenwood G StensethGermanyXuxue Feng QUALIFIED
Adams T RoysterFranceOnyama Limba UNQUALIFIED
Stacey R MacleadIndiaOnyama Limba UNQUALIFIED
Jeanfrancois M VocelkaSpainIvan Magalhaes NEGOTIATION
Mujtaba L MaletGermanyAsiya Javayant NEGOTIATION
Julie O PoquetteFranceIoni Bowcher RENEWAL
Ricardo K RimArgentinaStephen Shaw RENEWAL
Tony P WieserRussiaOnyama Limba PROPOSAL
Juan T RoysterBrazilAnna Fali NEGOTIATION
Smith Z StensethCanadaXuxue Feng UNQUALIFIED
Darci L RoysterCanadaAnna Fali PROPOSAL
Antonio C FerenczRussiaElwin Sharvill PROPOSAL
Mujtaba K AmigonGermanyXuxue Feng RENEWAL
Aruna G AlbaresSpainOnyama Limba NEW
Izzy O MorascaIndiaElwin Sharvill QUALIFIED
Munro X KolmetzArgentinaAmy Elsner NEW
Morrow A RoysterJapanAsiya Javayant UNQUALIFIED
Murillo L MorascaBrazilIvan Magalhaes NEW
Deepesh O CaldareraBrazilStephen Shaw UNQUALIFIED
Costa D PoquetteArgentinaAmy Elsner QUALIFIED
Julie H StensethJapanIvan Magalhaes RENEWAL
Tony W SchemmerIndiaIoni Bowcher PROPOSAL
Silvio A RulapaughRussiaOnyama Limba UNQUALIFIED
James L VocelkaAustraliaAmy Elsner NEW
Munro H StockhamCanadaAnna Fali UNQUALIFIED
Jennifer Q VenereCanadaElwin Sharvill NEW
Leon N MaletSpainAsiya Javayant QUALIFIED
Alejandro H MorascaFranceIoni Bowcher QUALIFIED
Adams O FlosiJapanElwin Sharvill QUALIFIED
Aruna L ButtIndiaAnna Fali QUALIFIED
Julie S TollnerArgentinaElwin Sharvill UNQUALIFIED
Johnson A MacleadRussiaOnyama Limba NEGOTIATION
Francesco X MorascaAustraliaAmy Elsner RENEWAL
Darci Z RoysterUnited KingdomXuxue Feng QUALIFIED
Mujtaba G WhobreyGermanyBernardo Dominic NEGOTIATION
Jones X WhobreyRussiaIoni Bowcher 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>