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
Ivar I DarakjyRussiaElwin Sharvill NEW
Cody Z PaprockiSpainIvan Magalhaes UNQUALIFIED
Aruna L BriddickBrazilXuxue Feng UNQUALIFIED
Ivar T RimJapanIvan Magalhaes NEW
Leon U ButtItalyAnna Fali UNQUALIFIED
Kadeem B GlickGermanyStephen Shaw RENEWAL
Emily C StockhamFranceIoni Bowcher QUALIFIED
David I RutaRussiaStephen Shaw PROPOSAL
Octavia J ShinkoFranceAmy Elsner NEGOTIATION
Leon E KolmetzSpainAmy Elsner RENEWAL
Deepesh D BowleyItalyAsiya Javayant QUALIFIED
Maria E StensethUnited KingdomOnyama Limba RENEWAL
Rodrigues P BriddickUnited KingdomIvan Magalhaes NEW
Tony Z FigeroaJapanIoni Bowcher PROPOSAL
Mujtaba E VocelkaCanadaBernardo Dominic NEW
Kaitlin C CaudyCanadaIoni Bowcher NEGOTIATION
Mujtaba K KuskoJapanAmy Elsner QUALIFIED
Arvin F FollerBrazilIvan Magalhaes PROPOSAL
Julie L WhobreyRussiaStephen Shaw PROPOSAL
Deepesh D DarakjyCanadaIvan Magalhaes UNQUALIFIED
Julie L StensethFranceBernardo Dominic QUALIFIED
Stacey H GauchoIndiaAmy Elsner PROPOSAL
Morrow D FlosiCanadaXuxue Feng NEW
Munro J SergiGermanyAnna Fali NEGOTIATION
Arvin L ShinkoAustraliaIvan Magalhaes QUALIFIED
Izzy C DilliardCanadaAsiya Javayant QUALIFIED
Silvio V GauchoItalyIoni Bowcher NEGOTIATION
Aruna W GillianUnited KingdomAnna Fali NEGOTIATION
Juan M TollnerBrazilStephen Shaw UNQUALIFIED
Faith N PoquetteIndiaStephen Shaw NEGOTIATION
Tony F MarrierUnited KingdomIvan Magalhaes UNQUALIFIED
Morrow K GauchoBrazilOnyama Limba NEGOTIATION
James R StensethFranceAmy Elsner NEGOTIATION
Darci H FlosiIndiaOnyama Limba RENEWAL
Maisha V SlusarskiJapanBernardo Dominic RENEWAL
Deepesh M MorascaCanadaAsiya Javayant NEW
Smith T WaycottGermanyBernardo Dominic RENEWAL
Izzy O AmigonJapanOnyama Limba PROPOSAL
Jefferson Y FerenczIndiaElwin Sharvill UNQUALIFIED
Silvio P KolmetzGermanyBernardo Dominic QUALIFIED
Aika R OstroskyAustraliaIoni Bowcher UNQUALIFIED
Salvatore X MorascaJapanBernardo Dominic UNQUALIFIED
Leja P SergiItalyXuxue Feng UNQUALIFIED
Costa V IturbideArgentinaBernardo Dominic RENEWAL
Tony N PoquetteBrazilElwin Sharvill NEW
Jefferson O MarrierIndiaBernardo Dominic RENEWAL
Darci F CaldareraJapanAmy Elsner UNQUALIFIED
Aika C StensethSpainXuxue Feng RENEWAL
Clifford R VocelkaRussiaIvan Magalhaes RENEWAL
Kaitlin L FlosiGermanyOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jones B NestleAustraliaAsiya Javayant RENEWAL
Jefferson L KuskoItalyXuxue Feng PROPOSAL
Stacey A CaudyBrazilIvan Magalhaes QUALIFIED
Mujtaba N IturbideItalyOnyama Limba UNQUALIFIED
Chavez E ChuiFranceAsiya Javayant QUALIFIED
Costa U FerenczIndiaIoni Bowcher NEW
Izzy S GlickJapanXuxue Feng UNQUALIFIED
Misaki D DarakjyArgentinaAmy Elsner UNQUALIFIED
Maria H DilliardSpainIoni Bowcher RENEWAL
Nicolas X FlosiArgentinaXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow J ButtGermany2025-09-26Dorl, James J Esq NEW72Bernardo Dominic
1001Antonio J VenereGermany2025-10-02Dorl, James J Esq UNQUALIFIED19Ioni Bowcher
1002Mujtaba D MacleadUnited Kingdom2025-09-13Buckley Miller Wright NEW31Xuxue Feng
1003Ricardo K PoquetteIndia2025-10-07Chemel, James L Cpa PROPOSAL89Bernardo Dominic
1004Rodrigues Q RoysterRussia2025-10-02Rousseaux, Michael Esq RENEWAL5Xuxue Feng
1005Izzy A MaletJapan2025-09-20Commercial Press NEGOTIATION4Asiya Javayant
1006Ricardo Y WaycottSpain2025-09-20Printing Dimensions NEW88Onyama Limba
1007Johnson T CampainJapan2025-09-29Printing Dimensions NEGOTIATION96Xuxue Feng
1008Deepesh A DilliardRussia2025-10-02King, Christopher A Esq RENEWAL47Ivan Magalhaes
1009Leon E DoeArgentina2025-09-12Benton, John B Jr PROPOSAL70Stephen Shaw
1010Aditya I ButtArgentina2025-10-05Truhlar And Truhlar Attys RENEWAL95Ioni Bowcher
1011Ivar M ChuiBrazil2025-10-03Dorl, James J Esq NEGOTIATION57Stephen Shaw
1012Arvin U NickaArgentina2025-09-14Feiner Bros QUALIFIED96Stephen Shaw
1013Chavez T VenereArgentina2025-09-27Benton, John B Jr NEGOTIATION28Bernardo Dominic
1014Maisha F BriddickSpain2025-09-15Chemel, James L Cpa NEGOTIATION79Anna Fali
1015Ivar S MaletJapan2025-09-18Rousseaux, Michael Esq NEW99Asiya Javayant
1016Juan U MorascaUnited Kingdom2025-09-10Feiner Bros QUALIFIED41Asiya Javayant
1017Alejandro Z SchemmerFrance2025-09-29Morlong Associates PROPOSAL70Xuxue Feng
1018Aika X AmigonUnited Kingdom2025-09-15Feiner Bros NEGOTIATION92Xuxue Feng
1019Faith O ChuiIndia2025-10-03Printing Dimensions NEW99Bernardo Dominic
1020Antonio W GlickRussia2025-09-22Dorl, James J Esq PROPOSAL93Anna Fali
1021Claire I AmigonIndia2025-09-09Chanay, Jeffrey A Esq NEW95Elwin Sharvill
1022Wickens P VenereCanada2025-10-02Commercial Press NEGOTIATION92Elwin Sharvill
1023Morrow V CampainGermany2025-09-28Chapman, Ross E Esq QUALIFIED75Amy Elsner
1024Misaki M MaletJapan2025-10-06Commercial Press RENEWAL85Bernardo Dominic
1025Francesco K ShinkoJapan2025-10-03Chemel, James L Cpa QUALIFIED17Stephen Shaw
1026Clifford N SaylorsIndia2025-09-27Truhlar And Truhlar Attys UNQUALIFIED39Elwin Sharvill
1027Mujtaba J BriddickGermany2025-09-14Commercial Press PROPOSAL67Elwin Sharvill
1028Aditya N RulapaughRussia2025-10-07Dorl, James J Esq NEW86Ioni Bowcher
1029Juan I RutaFrance2025-09-23Chapman, Ross E Esq UNQUALIFIED94Onyama Limba
1030Leon N MarrierAustralia2025-09-10Buckley Miller Wright NEW13Anna Fali
1031Smith Y VenereBrazil2025-09-17Rousseaux, Michael Esq NEW22Bernardo Dominic
1032Johnson Q SaylorsIndia2025-09-21Feiner Bros NEGOTIATION20Asiya Javayant
1033Julie R RulapaughArgentina2025-09-22Morlong Associates UNQUALIFIED76Stephen Shaw
1034Kaitlin V ShinkoRussia2025-09-28Benton, John B Jr NEGOTIATION35Anna Fali
1035Mujtaba U RimItaly2025-09-24Morlong Associates NEW57Ivan Magalhaes
1036Rodrigues O GauchoRussia2025-09-30Printing Dimensions NEW15Ivan Magalhaes
1037Mujtaba R NickaIndia2025-09-22King, Christopher A Esq NEGOTIATION61Ioni Bowcher
1038Alejandro I AlbaresCanada2025-09-27Chemel, James L Cpa RENEWAL85Ivan Magalhaes
1039Leja W MaletIndia2025-09-10Printing Dimensions PROPOSAL24Stephen Shaw
1040Costa K CaudyFrance2025-09-24King, Christopher A Esq QUALIFIED5Amy Elsner
1041Johnson P FerenczArgentina2025-09-17Chanay, Jeffrey A Esq NEGOTIATION73Asiya Javayant
1042Aruna Y OldroydCanada2025-09-15Dorl, James J Esq NEW85Asiya Javayant
1043Morrow E GauchoRussia2025-10-02Chanay, Jeffrey A Esq NEW32Xuxue Feng
1044Arvin V MarrierItaly2025-09-29Morlong Associates RENEWAL40Stephen Shaw
1045Juan H OldroydFrance2025-09-11Commercial Press UNQUALIFIED31Xuxue Feng
1046Kaitlin R MarrierUnited Kingdom2025-09-27King, Christopher A Esq RENEWAL22Xuxue Feng
1047Faith N MorascaJapan2025-09-30Commercial Press QUALIFIED87Stephen Shaw
1048Sinclair F MarrierGermany2025-10-08Chapman, Ross E Esq NEGOTIATION28Bernardo Dominic
1049Ivar L NickaIndia2025-09-10Truhlar And Truhlar Attys PROPOSAL54Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Morrow Q CampainAustraliaElwin Sharvill UNQUALIFIED
Isabel G VenereIndiaAsiya Javayant UNQUALIFIED
Ivar R InouyeGermanyAsiya Javayant NEGOTIATION
Octavia Z GillianGermanyBernardo Dominic RENEWAL
Silvio L MaletJapanXuxue Feng PROPOSAL
Adams H PaprockiJapanAnna Fali UNQUALIFIED
Aruna X NestleAustraliaAmy Elsner RENEWAL
Francesco Q FerenczFranceOnyama Limba UNQUALIFIED
Clifford G SaylorsIndiaIoni Bowcher PROPOSAL
Jeanfrancois W VenereRussiaStephen Shaw RENEWAL
Juan H PoquetteAustraliaAmy Elsner UNQUALIFIED
Arvin W MaletJapanElwin Sharvill NEGOTIATION
Jennifer V SlusarskiGermanyXuxue Feng NEW
Darci F AmigonGermanyIvan Magalhaes RENEWAL
Munro P CaudyAustraliaXuxue Feng UNQUALIFIED
Juan C FerenczItalyIoni Bowcher RENEWAL
Murillo W RimUnited KingdomBernardo Dominic UNQUALIFIED
Murillo D FigeroaSpainElwin Sharvill NEW
Munro Y GlickCanadaIoni Bowcher RENEWAL
Salvatore T IturbideBrazilAmy Elsner PROPOSAL
Sinclair S NestleGermanyXuxue Feng RENEWAL
Chavez U PaprockiRussiaOnyama Limba NEW
Maria D BriddickGermanyStephen Shaw RENEWAL
Izzy M NestleJapanStephen Shaw NEGOTIATION
Kaitlin H GarufiCanadaAmy Elsner NEW
Arvin Y ChuiGermanyStephen Shaw RENEWAL
Ashley Z DilliardRussiaStephen Shaw PROPOSAL
Costa C WhobreyRussiaIvan Magalhaes PROPOSAL
Silvio Q VocelkaIndiaAsiya Javayant NEW
Stacey S CaudyArgentinaIvan Magalhaes RENEWAL
Stacey B AlbaresUnited KingdomAsiya Javayant NEW
Adams O MorascaRussiaStephen Shaw PROPOSAL
Adams R MorascaSpainAsiya Javayant RENEWAL
Octavia Q BologniaIndiaElwin Sharvill NEW
Silvio L RutaCanadaIvan Magalhaes NEW
Isabel E FigeroaItalyAnna Fali NEW
Kaitlin A FerenczUnited KingdomElwin Sharvill PROPOSAL
Francesco A MorascaCanadaIvan Magalhaes PROPOSAL
David O SlusarskiAustraliaAsiya Javayant NEW
Smith T SlusarskiCanadaBernardo Dominic QUALIFIED
Juan M PoquetteSpainIvan Magalhaes RENEWAL
Alejandro A DoeCanadaAsiya Javayant NEGOTIATION
Faith J AlbaresBrazilElwin Sharvill UNQUALIFIED
Kadeem P CampainUnited KingdomStephen Shaw UNQUALIFIED
Leja M RutaArgentinaAnna Fali NEGOTIATION
Leja Y WaycottArgentinaStephen Shaw QUALIFIED
Jeanfrancois P MorascaBrazilIvan Magalhaes NEW
Kaitlin E VenereCanadaAsiya Javayant UNQUALIFIED
Stacey M SchemmerJapanAnna Fali PROPOSAL
Aika P MorascaAustraliaAmy Elsner UNQUALIFIED
Frozen Columns
Name
Emily M Gillian
Leon S Rulapaugh
Octavia O Rim
Leon H Glick
Rodrigues K Ferencz
Mayumi M Gaucho
Stacey X Maclead
Darci E Maclead
Mayumi P Figeroa
Tony J Nestle
Aditya O Rim
Costa E Royster
Stacey O Gillian
Misaki K Rim
Wickens O Paprocki
Maisha O Butt
Greenwood J Shinko
Izzy E Poquette
Francesco C Nestle
Arvin M Inouye
Mayumi U Figeroa
Misaki V Morasca
Maisha H Iturbide
Leon X Tollner
Deepesh W Ostrosky
Juan R Bolognia
Tony L Kolmetz
Faith F Wieser
Maria C Tollner
Jeanfrancois J Maclead
Kaitlin S Garufi
Murillo C Ferencz
Rodrigues X Bolognia
Arvin Z Gillian
Antonio W Butt
Johnson I Maclead
Arvin I Kolmetz
Maisha U Tollner
Sinclair Z Oldroyd
Mujtaba N Glick
Aika D Ferencz
Tony T Doe
Francesco H Malet
Leon I Figeroa
Chavez A Saylors
Cody Z Morasca
Deepesh U Sergi
Jennifer K Amigon
Costa W Gillian
Munro D Malet
IdCountryDate
1000Russia2025-09-22
1001Italy2025-09-12
1002France2025-09-26
1003Brazil2025-10-04
1004Canada2025-10-02
1005Argentina2025-10-07
1006Germany2025-09-16
1007Brazil2025-10-06
1008Brazil2025-09-27
1009Australia2025-09-24
1010Canada2025-09-17
1011France2025-10-02
1012Canada2025-09-25
1013Argentina2025-09-27
1014India2025-09-09
1015Argentina2025-09-16
1016Japan2025-09-12
1017Canada2025-09-27
1018Canada2025-09-10
1019United Kingdom2025-09-09
1020Russia2025-10-03
1021France2025-09-21
1022Japan2025-09-24
1023Argentina2025-09-09
1024Russia2025-09-10
1025Russia2025-10-04
1026United Kingdom2025-09-27
1027United Kingdom2025-10-02
1028Japan2025-09-29
1029India2025-09-30
1030Argentina2025-10-08
1031India2025-09-23
1032France2025-10-05
1033United Kingdom2025-09-26
1034Brazil2025-10-07
1035France2025-10-07
1036Canada2025-09-10
1037United Kingdom2025-10-05
1038India2025-09-16
1039Russia2025-09-12
1040Argentina2025-09-20
1041Russia2025-09-09
1042Italy2025-10-01
1043Italy2025-09-25
1044Germany2025-10-01
1045India2025-09-27
1046Argentina2025-09-24
1047India2025-09-12
1048Argentina2025-09-26
1049Japan2025-10-06

On-Demand Data

NameIdCountryDate
Adams O Shinko1000India2025-09-16
Wickens O Poquette1001Canada2025-10-02
Aruna M Rulapaugh1002Argentina2025-09-24
Faith Y Ruta1003Italy2025-09-23
Rodrigues V Paprocki1004Australia2025-10-03
Munro W Rulapaugh1005Brazil2025-09-10
Darci K Wieser1006France2025-09-20
Maisha W Poquette1007Australia2025-09-30
Jennifer Q Ostrosky1008Brazil2025-09-23
Costa X Ruta1009Italy2025-09-20
Aika I Garufi1010Russia2025-09-18
Arvin G Malet1011India2025-09-20
James M Royster1012United Kingdom2025-10-06
Aruna U Chui1013France2025-09-15
Morrow S Waycott1014Russia2025-10-08
Mujtaba Z Bowley1015Brazil2025-09-16
Juan W Garufi1016Italy2025-10-06
Silvio H Royster1017France2025-10-01
Mujtaba A Waycott1018Russia2025-09-27
Sinclair Z Nestle1019United Kingdom2025-10-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel G StensethGermanyXuxue Feng UNQUALIFIED
Emily K ButtUnited KingdomIvan Magalhaes NEGOTIATION
Smith Q NickaFranceIoni Bowcher NEW
Mujtaba F WhobreyIndiaIoni Bowcher UNQUALIFIED
Wickens J FollerIndiaAsiya Javayant NEW
Kadeem K ChuiUnited KingdomAnna Fali RENEWAL
Arvin P FollerJapanAnna Fali QUALIFIED
Octavia I PerinRussiaOnyama Limba QUALIFIED
Darci M RulapaughIndiaStephen Shaw PROPOSAL
Emily H GauchoRussiaBernardo Dominic NEW
Izzy X AlbaresBrazilIoni Bowcher QUALIFIED
Murillo D DarakjyBrazilAnna Fali QUALIFIED
Alejandro F DoeBrazilStephen Shaw UNQUALIFIED
Leja D GillianJapanXuxue Feng RENEWAL
Aditya B NestleItalyAmy Elsner PROPOSAL
Stacey H MacleadCanadaElwin Sharvill NEGOTIATION
Faith N PoquetteIndiaStephen Shaw UNQUALIFIED
Jones H StensethUnited KingdomElwin Sharvill UNQUALIFIED
Cody N KolmetzJapanIoni Bowcher NEGOTIATION
Aruna X ChuiJapanIvan Magalhaes UNQUALIFIED
Silvio S FlosiGermanyElwin Sharvill QUALIFIED
Ricardo U IturbideCanadaAmy Elsner QUALIFIED
Ricardo O FollerGermanyIoni Bowcher NEW
Stacey Y GauchoIndiaAmy Elsner PROPOSAL
Julie M AmigonRussiaStephen Shaw RENEWAL
Murillo D BowleyJapanAsiya Javayant NEGOTIATION
Antonio D TollnerBrazilIoni Bowcher NEGOTIATION
Greenwood A DarakjyAustraliaElwin Sharvill NEGOTIATION
Darci Y ButtSpainOnyama Limba PROPOSAL
Aika F MacleadArgentinaAsiya Javayant PROPOSAL
Misaki L PoquetteItalyXuxue Feng QUALIFIED
Octavia K DarakjyArgentinaAnna Fali NEGOTIATION
Morrow P PoquetteIndiaAnna Fali PROPOSAL
Rodrigues O WieserRussiaBernardo Dominic NEW
Isabel R GillianBrazilAmy Elsner PROPOSAL
Jones G BowleyUnited KingdomAmy Elsner PROPOSAL
Adams Z ButtRussiaIoni Bowcher NEGOTIATION
Juan T BowleyAustraliaAnna Fali QUALIFIED
Aruna R InouyeArgentinaStephen Shaw RENEWAL
Juan G DilliardSpainBernardo 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>