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
Silvio N GillianFranceStephen Shaw UNQUALIFIED
Kadeem P MacleadIndiaXuxue Feng RENEWAL
Faith S GillianGermanyAmy Elsner NEW
Aika Y WaycottCanadaAnna Fali QUALIFIED
Faith U CaudyCanadaAmy Elsner NEGOTIATION
Morrow C RutaGermanyAmy Elsner QUALIFIED
Rodrigues J StensethItalyAsiya Javayant NEGOTIATION
Aruna B ShinkoJapanBernardo Dominic QUALIFIED
Clifford Y IturbideSpainBernardo Dominic PROPOSAL
Chavez W StensethSpainElwin Sharvill PROPOSAL
Jeanfrancois N FlosiFranceOnyama Limba NEW
Munro Q InouyeAustraliaAnna Fali NEGOTIATION
Salvatore X PaprockiIndiaAnna Fali NEGOTIATION
Alejandro G MacleadJapanIoni Bowcher RENEWAL
Maria R OstroskyCanadaStephen Shaw NEGOTIATION
Maisha K WhobreyFranceXuxue Feng PROPOSAL
Tony K NickaRussiaIvan Magalhaes NEW
Misaki H SaylorsUnited KingdomOnyama Limba PROPOSAL
Kaitlin R DilliardJapanXuxue Feng NEW
Kadeem I DilliardIndiaXuxue Feng PROPOSAL
Ricardo V BowleyAustraliaIoni Bowcher PROPOSAL
Aditya Z DoeAustraliaAsiya Javayant QUALIFIED
Ivar F RutaRussiaAnna Fali NEGOTIATION
Faith A OstroskySpainIoni Bowcher QUALIFIED
Mujtaba W VocelkaItalyAsiya Javayant UNQUALIFIED
Maria J SergiFranceElwin Sharvill PROPOSAL
Claire K GarufiJapanOnyama Limba UNQUALIFIED
Chavez H MaletSpainOnyama Limba RENEWAL
Morrow Q FerenczBrazilXuxue Feng NEGOTIATION
Darci X GarufiCanadaXuxue Feng RENEWAL
Octavia T WhobreyUnited KingdomAsiya Javayant NEW
Jones P WhobreyGermanyIoni Bowcher NEGOTIATION
Maisha B MacleadJapanXuxue Feng RENEWAL
Octavia R MaletJapanIvan Magalhaes QUALIFIED
Mayumi F IturbideSpainOnyama Limba UNQUALIFIED
Octavia C WhobreyBrazilElwin Sharvill QUALIFIED
Silvio U AlbaresBrazilOnyama Limba NEGOTIATION
Darci E SchemmerCanadaOnyama Limba QUALIFIED
Arvin P PerinAustraliaElwin Sharvill QUALIFIED
Misaki S SlusarskiIndiaIvan Magalhaes NEW
Emily S VenereJapanXuxue Feng NEW
Misaki P BologniaCanadaIoni Bowcher NEW
Clifford G RoysterUnited KingdomAmy Elsner RENEWAL
Maisha U NickaBrazilIvan Magalhaes QUALIFIED
Nicolas R IturbideCanadaAmy Elsner PROPOSAL
Maisha X SlusarskiGermanyElwin Sharvill UNQUALIFIED
Maria U MorascaUnited KingdomAmy Elsner NEGOTIATION
Darci Q CampainAustraliaBernardo Dominic PROPOSAL
Jeanfrancois R RoysterBrazilAsiya Javayant UNQUALIFIED
Nicolas E ButtJapanXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Maria C SaylorsArgentinaOnyama Limba QUALIFIED
Ashley F MaletAustraliaIvan Magalhaes NEW
Ashley G CaldareraAustraliaIoni Bowcher PROPOSAL
Octavia V WieserBrazilElwin Sharvill NEGOTIATION
Leon R IturbideRussiaAmy Elsner NEW
Clifford K KolmetzGermanyIoni Bowcher NEGOTIATION
Claire M ChuiRussiaAmy Elsner QUALIFIED
Aika A OldroydRussiaOnyama Limba QUALIFIED
Alejandro H StockhamArgentinaBernardo Dominic UNQUALIFIED
Sinclair I TollnerUnited KingdomIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha B CaldareraAustralia2026-09-03Chemel, James L Cpa UNQUALIFIED51Onyama Limba
1001Jeanfrancois E DoeGermany2026-09-04Rousseaux, Michael Esq PROPOSAL29Ivan Magalhaes
1002Wickens A RulapaughIndia2026-08-25Feiner Bros NEW73Onyama Limba
1003Stacey U InouyeRussia2026-09-02Buckley Miller Wright UNQUALIFIED30Asiya Javayant
1004Claire L FerenczGermany2026-09-02Chapman, Ross E Esq NEW3Bernardo Dominic
1005Claire R MarrierUnited Kingdom2026-08-22Chapman, Ross E Esq RENEWAL33Ioni Bowcher
1006Stacey Y DoeJapan2026-09-13Buckley Miller Wright NEGOTIATION46Xuxue Feng
1007Ivar K SergiIndia2026-08-30Buckley Miller Wright NEGOTIATION72Ivan Magalhaes
1008James R MacleadBrazil2026-08-25Chapman, Ross E Esq PROPOSAL66Anna Fali
1009Rodrigues N BriddickGermany2026-09-19Chanay, Jeffrey A Esq NEGOTIATION96Stephen Shaw
1010Johnson J WieserRussia2026-08-29King, Christopher A Esq NEGOTIATION19Ioni Bowcher
1011Maria O CaudyIndia2026-09-16Rangoni Of Florence NEGOTIATION47Xuxue Feng
1012Salvatore U StockhamGermany2026-09-19Benton, John B Jr PROPOSAL45Ioni Bowcher
1013Salvatore P PoquetteFrance2026-09-16Dorl, James J Esq QUALIFIED15Xuxue Feng
1014Jeanfrancois M IturbideCanada2026-08-29Chanay, Jeffrey A Esq QUALIFIED19Stephen Shaw
1015David D MarrierIndia2026-09-11Feiner Bros RENEWAL96Ioni Bowcher
1016Maisha Q GarufiItaly2026-09-08Rousseaux, Michael Esq UNQUALIFIED79Xuxue Feng
1017Wickens E NickaArgentina2026-09-18Chemel, James L Cpa PROPOSAL75Asiya Javayant
1018Francesco N GarufiBrazil2026-08-25Feiner Bros QUALIFIED7Ioni Bowcher
1019Alejandro Y StockhamSpain2026-08-29Printing Dimensions QUALIFIED40Ioni Bowcher
1020Ricardo G ButtAustralia2026-09-18Truhlar And Truhlar Attys PROPOSAL3Ivan Magalhaes
1021Maisha T SaylorsArgentina2026-08-27Feiner Bros NEW54Xuxue Feng
1022Mayumi N SlusarskiItaly2026-09-12Buckley Miller Wright QUALIFIED59Onyama Limba
1023Octavia A RoysterJapan2026-08-30Dorl, James J Esq QUALIFIED16Amy Elsner
1024Stacey C CaldareraCanada2026-09-19King, Christopher A Esq RENEWAL88Elwin Sharvill
1025Deepesh O SchemmerJapan2026-09-03Rousseaux, Michael Esq NEGOTIATION85Stephen Shaw
1026Stacey V NickaArgentina2026-09-17Chanay, Jeffrey A Esq RENEWAL26Onyama Limba
1027Johnson Q RoysterIndia2026-09-14Morlong Associates RENEWAL77Xuxue Feng
1028Smith Z BowleyUnited Kingdom2026-08-28Commercial Press PROPOSAL13Elwin Sharvill
1029Silvio L RutaArgentina2026-08-23Feltz Printing Service PROPOSAL29Ivan Magalhaes
1030Munro H SergiBrazil2026-09-16Chapman, Ross E Esq NEGOTIATION2Onyama Limba
1031Jeanfrancois T VocelkaJapan2026-08-29Morlong Associates NEW76Elwin Sharvill
1032Maria Y KuskoGermany2026-09-07Benton, John B Jr QUALIFIED65Anna Fali
1033Costa Z IturbideSpain2026-09-15Feiner Bros NEGOTIATION31Bernardo Dominic
1034Ivar G SergiArgentina2026-08-27Chapman, Ross E Esq NEW42Xuxue Feng
1035Johnson V OldroydAustralia2026-08-25Morlong Associates PROPOSAL95Anna Fali
1036Deepesh I RutaGermany2026-08-28Chanay, Jeffrey A Esq RENEWAL63Asiya Javayant
1037Darci Y NickaCanada2026-09-15Dorl, James J Esq QUALIFIED56Xuxue Feng
1038Jones S MacleadUnited Kingdom2026-09-04Truhlar And Truhlar Attys QUALIFIED84Ivan Magalhaes
1039Chavez K KuskoCanada2026-09-13Chapman, Ross E Esq NEGOTIATION2Ioni Bowcher
1040Ricardo G BologniaSpain2026-09-05Rousseaux, Michael Esq NEGOTIATION3Elwin Sharvill
1041Maria E StockhamGermany2026-08-24Commercial Press PROPOSAL80Anna Fali
1042Emily X FlosiGermany2026-09-15Morlong Associates NEW27Amy Elsner
1043Ivar U DoeArgentina2026-09-17Chanay, Jeffrey A Esq UNQUALIFIED3Xuxue Feng
1044Mujtaba B OstroskyItaly2026-09-04King, Christopher A Esq UNQUALIFIED53Xuxue Feng
1045Costa G SaylorsJapan2026-09-19Rousseaux, Michael Esq QUALIFIED35Elwin Sharvill
1046Alejandro O WhobreyAustralia2026-09-08Feiner Bros QUALIFIED48Onyama Limba
1047Jennifer Z WaycottFrance2026-08-26Chanay, Jeffrey A Esq NEW88Ioni Bowcher
1048Juan J IturbideItaly2026-08-25Chemel, James L Cpa NEW42Anna Fali
1049Salvatore M DarakjyJapan2026-09-12Chapman, Ross E Esq RENEWAL36Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Smith I SlusarskiGermanyStephen Shaw NEW
Maisha G IturbideRussiaAnna Fali RENEWAL
Ashley U CampainSpainIvan Magalhaes QUALIFIED
Costa Y StockhamIndiaIvan Magalhaes QUALIFIED
Claire V AmigonRussiaXuxue Feng NEGOTIATION
Sinclair A DoeArgentinaElwin Sharvill NEW
Antonio H VocelkaCanadaAmy Elsner RENEWAL
Izzy O PoquetteBrazilAsiya Javayant NEW
Silvio M MaletSpainStephen Shaw PROPOSAL
Cody V MacleadArgentinaStephen Shaw QUALIFIED
Johnson I PoquetteCanadaAsiya Javayant RENEWAL
Izzy V RulapaughFranceIvan Magalhaes QUALIFIED
Jeanfrancois N NickaCanadaBernardo Dominic RENEWAL
Ivar S InouyeItalyIoni Bowcher RENEWAL
Costa F VocelkaArgentinaIvan Magalhaes UNQUALIFIED
Emily N NickaCanadaElwin Sharvill NEGOTIATION
Maisha Y SchemmerBrazilAnna Fali PROPOSAL
Alejandro L GauchoIndiaAmy Elsner RENEWAL
Maisha K BriddickBrazilIvan Magalhaes RENEWAL
Leon J NickaUnited KingdomAmy Elsner NEW
Jeanfrancois C PoquetteFranceAnna Fali QUALIFIED
Aditya S KolmetzItalyIvan Magalhaes QUALIFIED
Isabel I NestleBrazilElwin Sharvill NEW
Kadeem F MaletBrazilOnyama Limba PROPOSAL
Claire K MaletUnited KingdomIoni Bowcher UNQUALIFIED
Misaki R SaylorsJapanAmy Elsner NEGOTIATION
Greenwood M WhobreyCanadaElwin Sharvill NEW
Alejandro L FollerArgentinaElwin Sharvill UNQUALIFIED
Tony I MarrierFranceOnyama Limba UNQUALIFIED
Jeanfrancois G CampainIndiaIoni Bowcher QUALIFIED
Izzy T KolmetzAustraliaXuxue Feng NEW
Antonio N AmigonBrazilStephen Shaw PROPOSAL
Izzy E VenereAustraliaAsiya Javayant NEGOTIATION
Aruna V CampainGermanyXuxue Feng NEGOTIATION
Isabel F CampainAustraliaIvan Magalhaes NEW
Misaki R MarrierGermanyAsiya Javayant RENEWAL
Maisha I RutaBrazilBernardo Dominic QUALIFIED
Salvatore L GarufiIndiaIoni Bowcher QUALIFIED
Aditya T PoquetteBrazilOnyama Limba UNQUALIFIED
Ivar R NickaJapanElwin Sharvill PROPOSAL
Nicolas Z SergiGermanyAmy Elsner NEGOTIATION
Morrow O StockhamUnited KingdomIoni Bowcher RENEWAL
Nicolas P BowleyCanadaXuxue Feng PROPOSAL
Isabel O ButtUnited KingdomBernardo Dominic RENEWAL
Kaitlin K MacleadGermanyIvan Magalhaes NEGOTIATION
Adams U InouyeIndiaOnyama Limba UNQUALIFIED
Salvatore C RimFranceXuxue Feng UNQUALIFIED
Murillo V StensethIndiaIvan Magalhaes NEGOTIATION
Stacey J RulapaughRussiaIoni Bowcher NEW
Jennifer H AmigonSpainElwin Sharvill NEW
Frozen Columns
Name
Smith R Caudy
Murillo P Butt
Faith I Kusko
Greenwood L Butt
Faith R Tollner
Greenwood B Malet
Stacey L Rim
Cody W Kusko
Sinclair N Poquette
Mayumi M Sergi
Jeanfrancois R Glick
Misaki K Saylors
Silvio W Gillian
Arvin P Garufi
Costa K Kusko
Munro J Whobrey
Julie D Caudy
Octavia L Nestle
Izzy F Bowley
Wickens Q Vocelka
Emily S Glick
Cody I Morasca
Tony C Nicka
Cody Y Schemmer
Juan X Nestle
Darci U Butt
Stacey M Slusarski
Faith H Poquette
Adams X Chui
Costa D Doe
Aruna Y Campain
Salvatore G Rulapaugh
Leja L Ruta
Sinclair X Bowley
Smith R Tollner
Murillo H Foller
Isabel D Morasca
Leon O Perin
Jefferson A Foller
Ivar N Saylors
Silvio B Nicka
Jeanfrancois M Kolmetz
Chavez S Caldarera
Deepesh E Kolmetz
Julie F Sergi
Kaitlin O Oldroyd
James W Campain
Aika E Morasca
Octavia E Bolognia
Izzy O Kolmetz
IdCountryDate
1000Germany2026-09-16
1001Japan2026-09-12
1002France2026-09-10
1003Brazil2026-09-07
1004Spain2026-09-01
1005Japan2026-09-10
1006Russia2026-09-20
1007Japan2026-09-10
1008Italy2026-08-30
1009United Kingdom2026-09-07
1010Argentina2026-09-10
1011Australia2026-09-18
1012Germany2026-08-30
1013Australia2026-09-12
1014Russia2026-09-18
1015Italy2026-09-04
1016United Kingdom2026-09-04
1017Japan2026-08-23
1018Australia2026-09-11
1019Italy2026-08-25
1020Brazil2026-09-19
1021Australia2026-09-14
1022India2026-08-25
1023Germany2026-08-28
1024France2026-09-15
1025Japan2026-09-20
1026India2026-09-13
1027Japan2026-08-22
1028Australia2026-09-19
1029Spain2026-09-12
1030Italy2026-09-17
1031France2026-08-31
1032Brazil2026-09-20
1033France2026-08-30
1034Japan2026-09-16
1035Spain2026-08-28
1036United Kingdom2026-08-25
1037United Kingdom2026-09-18
1038France2026-09-12
1039Canada2026-09-11
1040France2026-09-18
1041India2026-09-09
1042Australia2026-09-10
1043Canada2026-08-30
1044Brazil2026-08-28
1045Italy2026-09-17
1046Argentina2026-08-22
1047Germany2026-09-17
1048United Kingdom2026-08-22
1049Spain2026-09-12

On-Demand Data

NameIdCountryDate
Alejandro D Campain1000France2026-09-19
Ivar L Inouye1001Russia2026-09-13
Aruna Y Stockham1002United Kingdom2026-08-22
Octavia R Wieser1003Spain2026-09-08
Johnson G Vocelka1004Brazil2026-09-13
Aika U Garufi1005Spain2026-09-13
Wickens S Bolognia1006India2026-08-23
Faith F Bolognia1007United Kingdom2026-08-23
Tony A Kolmetz1008Germany2026-09-09
Aika Z Chui1009Japan2026-09-04
Costa N Oldroyd1010Argentina2026-08-30
Jones M Stenseth1011Argentina2026-09-06
Costa A Kusko1012Canada2026-09-11
Aditya G Paprocki1013United Kingdom2026-09-11
Jefferson F Stockham1014Australia2026-09-14
Deepesh Q Tollner1015Australia2026-09-14
Julie Z Ruta1016Italy2026-09-04
Jennifer I Gaucho1017Brazil2026-09-15
Maria B Caldarera1018Australia2026-08-28
Kaitlin L Malet1019Spain2026-08-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez X ChuiUnited KingdomAsiya Javayant UNQUALIFIED
Juan H RulapaughJapanAsiya Javayant QUALIFIED
Leja Z WaycottCanadaAmy Elsner PROPOSAL
Mujtaba H NickaIndiaIoni Bowcher PROPOSAL
Isabel I DoeFranceOnyama Limba NEW
David E InouyeUnited KingdomAnna Fali UNQUALIFIED
Chavez H ButtSpainStephen Shaw NEGOTIATION
Maisha Y BowleyItalyAnna Fali RENEWAL
Ivar G SaylorsSpainBernardo Dominic NEW
Morrow X SchemmerCanadaElwin Sharvill PROPOSAL
Mayumi O VenereBrazilXuxue Feng QUALIFIED
Kaitlin R VenereRussiaIvan Magalhaes PROPOSAL
Misaki L BowleyGermanyOnyama Limba RENEWAL
Wickens Q StockhamGermanyIoni Bowcher RENEWAL
Antonio J SaylorsFranceAnna Fali NEW
Juan F NickaRussiaStephen Shaw PROPOSAL
Morrow O FlosiGermanyBernardo Dominic UNQUALIFIED
Leja N CaldareraAustraliaBernardo Dominic NEW
Johnson Q BriddickCanadaOnyama Limba PROPOSAL
Aika J BriddickJapanElwin Sharvill RENEWAL
Morrow V SlusarskiFranceElwin Sharvill NEW
Isabel I CaudySpainXuxue Feng NEW
Jefferson P FlosiIndiaAsiya Javayant RENEWAL
Aika Q MacleadFranceStephen Shaw UNQUALIFIED
Claire R KuskoItalyAnna Fali NEW
Adams H GlickRussiaAnna Fali RENEWAL
Morrow Z GauchoFranceBernardo Dominic QUALIFIED
Emily E WieserJapanAsiya Javayant PROPOSAL
Aika M RutaIndiaElwin Sharvill RENEWAL
Johnson W RoysterGermanyAnna Fali PROPOSAL
Antonio U InouyeBrazilIoni Bowcher PROPOSAL
Murillo C SaylorsJapanStephen Shaw QUALIFIED
Aditya Q AlbaresSpainStephen Shaw QUALIFIED
Alejandro R AlbaresIndiaIvan Magalhaes PROPOSAL
Francesco R FerenczItalyAmy Elsner NEGOTIATION
Rodrigues D WhobreyUnited KingdomAmy Elsner PROPOSAL
Julie H SergiCanadaIvan Magalhaes NEW
Greenwood M SchemmerBrazilAsiya Javayant RENEWAL
Silvio B AlbaresIndiaIoni Bowcher NEGOTIATION
Aditya F MacleadAustraliaBernardo Dominic 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>