Summer Sale is here 🏖️ Get 50% off with code PRSM25 Learn More

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
Antonio O BologniaAustraliaIoni Bowcher RENEWAL
Claire C ShinkoJapanAnna Fali UNQUALIFIED
Antonio Q NickaGermanyOnyama Limba UNQUALIFIED
Wickens I PoquetteIndiaOnyama Limba NEW
Octavia J OstroskyArgentinaBernardo Dominic RENEWAL
Greenwood O IturbideAustraliaElwin Sharvill NEGOTIATION
Leja Q DilliardRussiaAsiya Javayant UNQUALIFIED
Maria B DarakjyAustraliaAmy Elsner UNQUALIFIED
Antonio G GarufiUnited KingdomIoni Bowcher RENEWAL
Jeanfrancois M KolmetzAustraliaXuxue Feng QUALIFIED
Jefferson Q MaletAustraliaStephen Shaw NEGOTIATION
Ricardo T ShinkoIndiaIoni Bowcher NEGOTIATION
Deepesh H GarufiBrazilBernardo Dominic UNQUALIFIED
Wickens K SlusarskiJapanStephen Shaw UNQUALIFIED
Smith R ButtJapanAnna Fali QUALIFIED
Rodrigues Q NestleItalyIvan Magalhaes NEGOTIATION
Emily A NestleAustraliaAmy Elsner RENEWAL
Greenwood T WaycottGermanyOnyama Limba NEW
Antonio Y RulapaughArgentinaBernardo Dominic NEW
Kaitlin G WieserRussiaAsiya Javayant UNQUALIFIED
Deepesh P MorascaAustraliaAsiya Javayant NEGOTIATION
David F CampainItalyOnyama Limba NEGOTIATION
Faith C FerenczCanadaAmy Elsner QUALIFIED
David P SergiFranceBernardo Dominic NEGOTIATION
Deepesh A InouyeRussiaElwin Sharvill RENEWAL
Silvio R DilliardFranceStephen Shaw NEGOTIATION
Silvio Y RulapaughCanadaBernardo Dominic PROPOSAL
Aruna P MarrierJapanStephen Shaw UNQUALIFIED
Johnson K VenereArgentinaElwin Sharvill NEW
Smith M NickaJapanAnna Fali NEW
Juan G MaletUnited KingdomElwin Sharvill QUALIFIED
Smith E SergiUnited KingdomAnna Fali RENEWAL
Maria E WhobreyGermanyIvan Magalhaes QUALIFIED
Jefferson H DoeSpainBernardo Dominic RENEWAL
Wickens A NestleAustraliaIvan Magalhaes NEW
Deepesh P StensethBrazilAnna Fali PROPOSAL
Darci B InouyeIndiaBernardo Dominic NEGOTIATION
Kaitlin S InouyeSpainXuxue Feng RENEWAL
Aditya T WaycottArgentinaBernardo Dominic NEW
Rodrigues N SlusarskiAustraliaBernardo Dominic QUALIFIED
Smith Q TollnerRussiaStephen Shaw NEW
Leon R FerenczFranceAsiya Javayant PROPOSAL
Darci U FollerItalyIvan Magalhaes RENEWAL
Francesco J StockhamBrazilBernardo Dominic UNQUALIFIED
Ivar Y CampainUnited KingdomIoni Bowcher RENEWAL
Julie W PerinIndiaElwin Sharvill UNQUALIFIED
Alejandro W ChuiAustraliaBernardo Dominic PROPOSAL
Chavez K SlusarskiSpainIvan Magalhaes NEW
Silvio E CaudyItalyAsiya Javayant NEW
Mayumi M FlosiItalyIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Mujtaba H IturbideRussiaAmy Elsner UNQUALIFIED
Julie U AlbaresGermanyXuxue Feng NEW
Smith H VocelkaArgentinaAnna Fali QUALIFIED
Johnson P FigeroaCanadaAsiya Javayant QUALIFIED
Adams I GillianFranceStephen Shaw PROPOSAL
Cody T SergiArgentinaBernardo Dominic QUALIFIED
Tony X DilliardArgentinaElwin Sharvill NEW
Mujtaba Z NickaJapanAsiya Javayant UNQUALIFIED
Darci V BowleyRussiaStephen Shaw RENEWAL
Kaitlin D TollnerJapanXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo H GlickCanada2025-10-18Benton, John B Jr NEW97Xuxue Feng
1001Smith G ChuiUnited Kingdom2025-10-14Rangoni Of Florence NEW71Onyama Limba
1002Salvatore V PerinSpain2025-10-11Feiner Bros NEGOTIATION97Onyama Limba
1003Ricardo D FigeroaJapan2025-09-21King, Christopher A Esq UNQUALIFIED44Asiya Javayant
1004Salvatore K MarrierFrance2025-10-15Feltz Printing Service QUALIFIED6Stephen Shaw
1005Munro E CaudyRussia2025-10-09Truhlar And Truhlar Attys UNQUALIFIED6Ivan Magalhaes
1006Morrow C SergiJapan2025-10-13Buckley Miller Wright QUALIFIED19Anna Fali
1007Stacey Q CampainGermany2025-10-17Rousseaux, Michael Esq RENEWAL34Asiya Javayant
1008Adams L RoysterAustralia2025-10-16Chemel, James L Cpa UNQUALIFIED26Ioni Bowcher
1009Jeanfrancois G RoysterFrance2025-10-15King, Christopher A Esq QUALIFIED87Ivan Magalhaes
1010Morrow F IturbideUnited Kingdom2025-09-26Printing Dimensions NEW23Ivan Magalhaes
1011Aditya G DoeArgentina2025-10-16Chanay, Jeffrey A Esq NEGOTIATION8Amy Elsner
1012Jefferson D ButtIndia2025-10-17Truhlar And Truhlar Attys QUALIFIED81Anna Fali
1013Clifford E NestleArgentina2025-09-26Chapman, Ross E Esq UNQUALIFIED28Bernardo Dominic
1014Juan C SchemmerJapan2025-10-14Chanay, Jeffrey A Esq NEGOTIATION62Ivan Magalhaes
1015Antonio X MorascaIndia2025-09-19King, Christopher A Esq RENEWAL90Elwin Sharvill
1016Wickens M SlusarskiFrance2025-10-16Rousseaux, Michael Esq QUALIFIED39Bernardo Dominic
1017Jeanfrancois F SaylorsBrazil2025-09-24Chemel, James L Cpa NEW78Onyama Limba
1018Isabel K CampainFrance2025-10-12Dorl, James J Esq QUALIFIED97Ivan Magalhaes
1019Izzy H DarakjyUnited Kingdom2025-09-20King, Christopher A Esq RENEWAL4Ivan Magalhaes
1020Sinclair M FerenczBrazil2025-10-14Dorl, James J Esq RENEWAL89Anna Fali
1021Leon Y SaylorsAustralia2025-10-18Rousseaux, Michael Esq QUALIFIED12Stephen Shaw
1022Faith E GillianGermany2025-10-18King, Christopher A Esq UNQUALIFIED72Stephen Shaw
1023Clifford F RulapaughFrance2025-10-01Chemel, James L Cpa UNQUALIFIED92Ioni Bowcher
1024Misaki N StensethFrance2025-10-14Chapman, Ross E Esq NEW73Xuxue Feng
1025Tony N OstroskyFrance2025-09-28Printing Dimensions RENEWAL83Asiya Javayant
1026Deepesh Y RulapaughCanada2025-09-25Truhlar And Truhlar Attys RENEWAL93Anna Fali
1027Leon J StockhamUnited Kingdom2025-09-27Feltz Printing Service UNQUALIFIED18Xuxue Feng
1028Kaitlin C PerinIndia2025-10-07Chapman, Ross E Esq UNQUALIFIED14Ivan Magalhaes
1029Juan D VocelkaSpain2025-10-03Rangoni Of Florence QUALIFIED21Elwin Sharvill
1030Kaitlin V FigeroaRussia2025-09-24Commercial Press NEGOTIATION0Asiya Javayant
1031Costa X ButtJapan2025-09-26Feltz Printing Service RENEWAL6Bernardo Dominic
1032Alejandro S MorascaItaly2025-10-01Feltz Printing Service NEGOTIATION70Stephen Shaw
1033Rodrigues M RutaGermany2025-10-11Feltz Printing Service NEW86Ivan Magalhaes
1034Deepesh B RimSpain2025-09-27Buckley Miller Wright NEGOTIATION40Onyama Limba
1035Izzy X DoeRussia2025-10-10Chemel, James L Cpa UNQUALIFIED0Onyama Limba
1036Kadeem Q MarrierFrance2025-10-13Chanay, Jeffrey A Esq NEW33Stephen Shaw
1037Tony N FollerSpain2025-09-19Chanay, Jeffrey A Esq UNQUALIFIED48Stephen Shaw
1038Claire W FollerSpain2025-10-10Chapman, Ross E Esq PROPOSAL98Onyama Limba
1039Izzy H AmigonFrance2025-10-08Morlong Associates NEW84Amy Elsner
1040Leja J PoquetteCanada2025-09-19Benton, John B Jr RENEWAL85Elwin Sharvill
1041Juan X RulapaughCanada2025-09-21Rousseaux, Michael Esq NEW46Elwin Sharvill
1042Deepesh F MarrierGermany2025-09-22Morlong Associates PROPOSAL41Asiya Javayant
1043Octavia A GarufiRussia2025-10-03Rangoni Of Florence QUALIFIED40Amy Elsner
1044Munro U SlusarskiArgentina2025-10-11Chapman, Ross E Esq RENEWAL85Asiya Javayant
1045Antonio B IturbideIndia2025-10-15Rangoni Of Florence NEGOTIATION98Onyama Limba
1046Claire H RoysterUnited Kingdom2025-09-21Chemel, James L Cpa QUALIFIED57Xuxue Feng
1047Ricardo L BriddickJapan2025-10-03Feltz Printing Service PROPOSAL48Stephen Shaw
1048Juan H StensethGermany2025-10-09Benton, John B Jr QUALIFIED85Bernardo Dominic
1049Ricardo O AmigonFrance2025-09-19Morlong Associates RENEWAL92Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
James I MacleadGermanyIoni Bowcher RENEWAL
Aruna I MaletJapanIvan Magalhaes QUALIFIED
Wickens Z MacleadBrazilAsiya Javayant PROPOSAL
Leon B DoeArgentinaIvan Magalhaes UNQUALIFIED
Kadeem L MaletAustraliaIvan Magalhaes RENEWAL
Smith P StockhamCanadaAsiya Javayant QUALIFIED
Deepesh T RimGermanyAsiya Javayant NEW
Mayumi E ShinkoAustraliaAnna Fali PROPOSAL
Jones Y MaletFranceAsiya Javayant PROPOSAL
Francesco X InouyeCanadaElwin Sharvill NEW
Kadeem G ShinkoJapanIoni Bowcher NEW
Isabel S PoquetteCanadaAmy Elsner QUALIFIED
Emily O ButtRussiaStephen Shaw QUALIFIED
Johnson P BriddickUnited KingdomXuxue Feng NEW
Mujtaba U RoysterAustraliaIvan Magalhaes UNQUALIFIED
Emily C GlickBrazilAnna Fali PROPOSAL
Munro F BriddickUnited KingdomAsiya Javayant RENEWAL
Izzy D VocelkaItalyElwin Sharvill RENEWAL
Silvio I BowleyFranceElwin Sharvill UNQUALIFIED
Antonio C GauchoSpainElwin Sharvill QUALIFIED
Emily Z SlusarskiArgentinaAnna Fali QUALIFIED
Cody G MaletUnited KingdomElwin Sharvill PROPOSAL
Nicolas G BologniaSpainIvan Magalhaes NEGOTIATION
Chavez A VenereUnited KingdomXuxue Feng NEGOTIATION
Nicolas A FigeroaCanadaElwin Sharvill PROPOSAL
Darci E CampainJapanElwin Sharvill UNQUALIFIED
Munro S GarufiBrazilIvan Magalhaes NEW
Deepesh I RulapaughJapanBernardo Dominic UNQUALIFIED
David A RulapaughItalyIoni Bowcher RENEWAL
Clifford C PoquetteSpainElwin Sharvill NEGOTIATION
Silvio A MaletBrazilIoni Bowcher NEW
Juan Y InouyeGermanyAsiya Javayant RENEWAL
Deepesh W GillianUnited KingdomBernardo Dominic NEW
Cody D SaylorsFranceAnna Fali NEGOTIATION
Johnson D DarakjyJapanOnyama Limba RENEWAL
Costa V VenereJapanStephen Shaw NEGOTIATION
Mujtaba E BologniaUnited KingdomIoni Bowcher PROPOSAL
Mayumi G MaletCanadaOnyama Limba RENEWAL
Jeanfrancois J MaletJapanOnyama Limba QUALIFIED
Kadeem C MaletGermanyIoni Bowcher QUALIFIED
Morrow Z GlickUnited KingdomIoni Bowcher QUALIFIED
Munro R InouyeSpainIoni Bowcher UNQUALIFIED
Sinclair C NestleFranceIoni Bowcher RENEWAL
Julie A PoquetteAustraliaAnna Fali UNQUALIFIED
Jefferson T MarrierAustraliaAmy Elsner PROPOSAL
Jeanfrancois H RulapaughSpainAmy Elsner PROPOSAL
Nicolas L ShinkoArgentinaBernardo Dominic NEW
Ivar R PaprockiItalyOnyama Limba QUALIFIED
Francesco M SaylorsRussiaAnna Fali NEGOTIATION
Emily Y AmigonAustraliaIoni Bowcher QUALIFIED
Frozen Columns
Name
Kaitlin N Marrier
Arvin A Butt
Claire L Nestle
Alejandro E Chui
Isabel E Vocelka
Jennifer H Poquette
Antonio Y Morasca
Morrow R Kusko
Nicolas H Kolmetz
Misaki Z Amigon
Mayumi J Paprocki
Alejandro Y Poquette
Leon G Gaucho
Jefferson R Dilliard
Kaitlin F Darakjy
Salvatore P Waycott
Smith T Paprocki
Izzy J Rim
Maria E Iturbide
Alejandro O Tollner
Darci X Inouye
Nicolas J Bolognia
Maisha T Vocelka
Kaitlin R Dilliard
Maisha N Butt
Tony P Albares
Faith F Flosi
Morrow C Campain
Cody W Gaucho
Julie W Stockham
Isabel L Darakjy
Stacey O Bowley
Leja N Ferencz
Smith V Waycott
Juan B Chui
Jeanfrancois V Nicka
Aika D Stenseth
Darci C Albares
David E Foller
Maisha V Vocelka
Greenwood V Inouye
Claire I Butt
Greenwood M Gaucho
Wickens I Doe
Jefferson T Bowley
Munro W Rulapaugh
Octavia P Oldroyd
Arvin V Gaucho
Costa C Marrier
Darci Y Rulapaugh
IdCountryDate
1000Argentina2025-09-28
1001United Kingdom2025-10-18
1002Canada2025-10-03
1003Russia2025-10-16
1004Australia2025-10-11
1005France2025-10-17
1006Brazil2025-10-15
1007Russia2025-10-01
1008Russia2025-09-26
1009Brazil2025-09-25
1010Japan2025-09-25
1011Russia2025-09-19
1012India2025-10-15
1013Australia2025-09-19
1014Canada2025-10-10
1015Italy2025-09-20
1016Australia2025-10-16
1017France2025-10-18
1018Canada2025-09-21
1019Argentina2025-10-09
1020Russia2025-09-29
1021Brazil2025-10-06
1022Australia2025-10-05
1023Germany2025-09-27
1024Russia2025-09-22
1025Canada2025-10-05
1026France2025-10-04
1027Spain2025-10-06
1028Argentina2025-10-11
1029Russia2025-09-28
1030Russia2025-09-23
1031Japan2025-10-15
1032Argentina2025-10-06
1033France2025-10-06
1034Spain2025-10-13
1035Spain2025-09-22
1036Canada2025-10-14
1037Italy2025-09-26
1038United Kingdom2025-10-15
1039Russia2025-09-19
1040France2025-10-10
1041India2025-10-04
1042Japan2025-09-30
1043India2025-10-09
1044Russia2025-09-25
1045Canada2025-10-12
1046Spain2025-10-11
1047United Kingdom2025-10-08
1048Brazil2025-09-19
1049Spain2025-10-16

On-Demand Data

NameIdCountryDate
Tony T Shinko1000Canada2025-10-11
Jefferson T Rim1001Australia2025-10-01
Kaitlin S Chui1002Canada2025-10-12
Wickens J Iturbide1003Japan2025-10-12
Francesco Y Oldroyd1004Brazil2025-10-11
Claire S Malet1005Italy2025-09-26
Sinclair O Royster1006Germany2025-10-15
Darci C Poquette1007Brazil2025-10-10
Octavia M Bolognia1008Australia2025-09-30
Wickens I Shinko1009Italy2025-09-25
Sinclair K Malet1010Australia2025-10-13
Maria T Stenseth1011Argentina2025-10-16
Ivar Q Garufi1012Russia2025-10-01
Mayumi Z Nestle1013France2025-09-30
Darci U Stenseth1014Russia2025-10-01
Francesco B Dilliard1015Russia2025-09-25
Cody T Bolognia1016Germany2025-09-30
Leon Q Briddick1017France2025-09-28
Izzy P Gillian1018Russia2025-09-20
Mayumi C Iturbide1019Australia2025-09-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair H KolmetzGermanyElwin Sharvill RENEWAL
Salvatore O SlusarskiJapanXuxue Feng RENEWAL
Morrow M PoquetteCanadaAnna Fali NEW
Aditya V NickaBrazilIvan Magalhaes NEGOTIATION
Smith O RulapaughFranceXuxue Feng QUALIFIED
Silvio G OldroydRussiaIvan Magalhaes UNQUALIFIED
Jones N RutaJapanElwin Sharvill RENEWAL
Julie O VenereUnited KingdomXuxue Feng NEGOTIATION
Octavia X CaldareraAustraliaStephen Shaw RENEWAL
Faith H RimCanadaAsiya Javayant PROPOSAL
Francesco R InouyeFranceIvan Magalhaes RENEWAL
Deepesh U DilliardRussiaAmy Elsner QUALIFIED
Jefferson U VenereGermanyIoni Bowcher NEGOTIATION
Ricardo J DilliardAustraliaXuxue Feng QUALIFIED
Misaki C RulapaughIndiaAsiya Javayant NEGOTIATION
Cody H KolmetzUnited KingdomAnna Fali NEW
Aruna M SlusarskiJapanElwin Sharvill NEGOTIATION
Adams S GauchoJapanAnna Fali QUALIFIED
Smith T NestleIndiaIoni Bowcher RENEWAL
Kaitlin O KuskoItalyElwin Sharvill UNQUALIFIED
Antonio S OstroskyGermanyOnyama Limba QUALIFIED
David R NickaCanadaIvan Magalhaes QUALIFIED
Darci P CampainArgentinaIvan Magalhaes RENEWAL
Darci H WaycottBrazilAnna Fali PROPOSAL
Silvio X CaldareraAustraliaAsiya Javayant NEW
Silvio E ShinkoJapanOnyama Limba UNQUALIFIED
Rodrigues S VocelkaGermanyOnyama Limba QUALIFIED
Faith Y WieserSpainBernardo Dominic UNQUALIFIED
Kaitlin F AlbaresBrazilOnyama Limba NEGOTIATION
Leja B WhobreyCanadaXuxue Feng QUALIFIED
Stacey I BriddickItalyElwin Sharvill RENEWAL
Ricardo H WieserSpainStephen Shaw QUALIFIED
Greenwood C DoeFranceIvan Magalhaes NEGOTIATION
Chavez R MaletGermanyXuxue Feng PROPOSAL
Salvatore G GlickArgentinaAsiya Javayant NEGOTIATION
David F NestleSpainAmy Elsner QUALIFIED
Ashley S ShinkoGermanyIoni Bowcher NEGOTIATION
Aditya L StockhamBrazilIvan Magalhaes QUALIFIED
Misaki M SergiArgentinaOnyama Limba RENEWAL
Nicolas V DarakjyArgentinaIoni Bowcher PROPOSAL

<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>