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
Kaitlin O StensethSpainXuxue Feng NEW
Juan P BriddickArgentinaOnyama Limba NEW
Clifford E SlusarskiRussiaOnyama Limba RENEWAL
Faith B GauchoGermanyXuxue Feng NEW
Kadeem Q DarakjyBrazilOnyama Limba PROPOSAL
Smith K CampainUnited KingdomIvan Magalhaes PROPOSAL
Chavez B ButtJapanIoni Bowcher QUALIFIED
Isabel O RutaSpainStephen Shaw NEW
Murillo O InouyeGermanyStephen Shaw QUALIFIED
Chavez F GillianRussiaBernardo Dominic PROPOSAL
Izzy Y MorascaAustraliaAsiya Javayant NEGOTIATION
Sinclair T VocelkaJapanAnna Fali PROPOSAL
Jones N NickaArgentinaAsiya Javayant PROPOSAL
Jennifer Q KuskoArgentinaIvan Magalhaes PROPOSAL
Adams G ChuiCanadaAnna Fali PROPOSAL
Ivar V AmigonArgentinaOnyama Limba PROPOSAL
Kaitlin C StockhamItalyBernardo Dominic QUALIFIED
Faith F VocelkaFranceStephen Shaw NEGOTIATION
Cody Y CampainAustraliaAnna Fali NEW
Adams B ChuiIndiaIoni Bowcher PROPOSAL
Greenwood W MaletRussiaAmy Elsner PROPOSAL
Salvatore K FlosiIndiaXuxue Feng QUALIFIED
Juan X WieserBrazilXuxue Feng PROPOSAL
Aditya K BologniaArgentinaIvan Magalhaes PROPOSAL
Costa A ShinkoItalyIoni Bowcher UNQUALIFIED
Kadeem C MarrierItalyOnyama Limba UNQUALIFIED
Arvin W GarufiCanadaStephen Shaw NEW
Maisha U CampainIndiaIoni Bowcher NEGOTIATION
Faith C BowleyBrazilAsiya Javayant QUALIFIED
Darci M BowleyFranceIoni Bowcher PROPOSAL
Jefferson M WieserIndiaOnyama Limba QUALIFIED
Ashley G OstroskyArgentinaAsiya Javayant UNQUALIFIED
Munro V SergiRussiaElwin Sharvill NEGOTIATION
David E GauchoFranceStephen Shaw UNQUALIFIED
Aruna C NickaRussiaBernardo Dominic UNQUALIFIED
Emily Q SlusarskiRussiaAnna Fali NEGOTIATION
Sinclair W KolmetzFranceAnna Fali NEGOTIATION
Wickens Z MacleadCanadaStephen Shaw NEGOTIATION
Mayumi B FigeroaGermanyAsiya Javayant PROPOSAL
Darci I AlbaresBrazilXuxue Feng NEW
Salvatore Z DarakjyUnited KingdomBernardo Dominic RENEWAL
Octavia C VocelkaCanadaIvan Magalhaes PROPOSAL
Juan X PaprockiItalyBernardo Dominic UNQUALIFIED
Silvio U AmigonAustraliaIvan Magalhaes UNQUALIFIED
Wickens E RoysterItalyOnyama Limba QUALIFIED
Cody U WieserCanadaBernardo Dominic NEGOTIATION
Chavez A DilliardItalyXuxue Feng UNQUALIFIED
Adams B OldroydUnited KingdomIvan Magalhaes NEGOTIATION
Jefferson G SchemmerUnited KingdomElwin Sharvill RENEWAL
Jones R TollnerJapanOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Francesco H BriddickCanadaStephen Shaw NEW
Chavez N SlusarskiBrazilXuxue Feng UNQUALIFIED
Aditya Z MorascaJapanIoni Bowcher NEGOTIATION
Izzy T VenereArgentinaOnyama Limba PROPOSAL
Murillo T RoysterUnited KingdomAmy Elsner QUALIFIED
Francesco F FollerRussiaElwin Sharvill UNQUALIFIED
Cody C GauchoGermanyOnyama Limba RENEWAL
Aditya H SchemmerGermanyIvan Magalhaes RENEWAL
Maisha H KuskoFranceBernardo Dominic NEW
Smith Z DoeJapanStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya C FlosiGermany2025-08-24Rousseaux, Michael Esq PROPOSAL67Xuxue Feng
1001Isabel I OstroskyRussia2025-08-01Feltz Printing Service PROPOSAL18Bernardo Dominic
1002Isabel I FlosiArgentina2025-08-19Dorl, James J Esq UNQUALIFIED29Xuxue Feng
1003Mayumi I SaylorsBrazil2025-08-21Commercial Press QUALIFIED13Xuxue Feng
1004Juan Q IturbideCanada2025-08-25Rousseaux, Michael Esq QUALIFIED96Ivan Magalhaes
1005Maisha A MorascaAustralia2025-08-26Benton, John B Jr NEW29Anna Fali
1006Kaitlin J NickaGermany2025-08-17Feiner Bros NEW86Elwin Sharvill
1007Stacey D InouyeCanada2025-08-03Rangoni Of Florence RENEWAL93Asiya Javayant
1008Alejandro K CampainSpain2025-08-27Buckley Miller Wright RENEWAL66Xuxue Feng
1009Aika K CaldareraJapan2025-07-31Feiner Bros QUALIFIED81Anna Fali
1010Maria U FlosiBrazil2025-08-09Feiner Bros RENEWAL11Anna Fali
1011Stacey U NickaIndia2025-08-01Buckley Miller Wright NEGOTIATION92Asiya Javayant
1012Cody Y InouyeRussia2025-08-12Dorl, James J Esq PROPOSAL17Xuxue Feng
1013Greenwood X CaldareraArgentina2025-08-19Morlong Associates NEGOTIATION46Ivan Magalhaes
1014Darci D WieserAustralia2025-08-10Feiner Bros QUALIFIED73Xuxue Feng
1015Kadeem X BowleyUnited Kingdom2025-08-26Feiner Bros RENEWAL91Onyama Limba
1016Ashley A MorascaBrazil2025-07-31Morlong Associates NEGOTIATION90Elwin Sharvill
1017Juan I TollnerJapan2025-08-11Rousseaux, Michael Esq NEGOTIATION30Amy Elsner
1018Sinclair J ChuiJapan2025-08-08Feiner Bros NEGOTIATION81Xuxue Feng
1019Aditya Y ButtArgentina2025-07-31Morlong Associates RENEWAL82Asiya Javayant
1020Chavez N MaletAustralia2025-08-17Truhlar And Truhlar Attys QUALIFIED93Ioni Bowcher
1021Ashley W CaudyAustralia2025-08-06Feiner Bros QUALIFIED76Anna Fali
1022Nicolas W RoysterIndia2025-08-06Buckley Miller Wright PROPOSAL78Stephen Shaw
1023Nicolas E FollerBrazil2025-08-04Commercial Press NEW56Ivan Magalhaes
1024Juan B PoquetteArgentina2025-08-26Chapman, Ross E Esq NEGOTIATION71Elwin Sharvill
1025Smith F FollerGermany2025-08-17Feiner Bros QUALIFIED79Onyama Limba
1026Costa M FlosiCanada2025-08-25Printing Dimensions RENEWAL87Anna Fali
1027Maisha D RoysterJapan2025-08-21Chanay, Jeffrey A Esq NEW14Xuxue Feng
1028Misaki J CaudyFrance2025-08-03Buckley Miller Wright NEW97Onyama Limba
1029Leja I SaylorsSpain2025-08-10Chemel, James L Cpa RENEWAL64Bernardo Dominic
1030Ashley N StensethBrazil2025-08-06Buckley Miller Wright UNQUALIFIED84Bernardo Dominic
1031Tony L PerinUnited Kingdom2025-08-25Commercial Press NEGOTIATION79Onyama Limba
1032Darci I DilliardRussia2025-08-22Buckley Miller Wright UNQUALIFIED8Elwin Sharvill
1033Nicolas T RutaCanada2025-08-05Chanay, Jeffrey A Esq PROPOSAL73Anna Fali
1034Murillo I GauchoBrazil2025-08-04Chemel, James L Cpa QUALIFIED57Xuxue Feng
1035Salvatore G PoquetteItaly2025-08-28Buckley Miller Wright RENEWAL9Elwin Sharvill
1036Jeanfrancois H BriddickJapan2025-08-11Commercial Press PROPOSAL55Bernardo Dominic
1037Stacey V MorascaFrance2025-08-08Rousseaux, Michael Esq NEW63Elwin Sharvill
1038Jeanfrancois F RutaCanada2025-07-31Printing Dimensions RENEWAL98Ivan Magalhaes
1039Wickens I RutaUnited Kingdom2025-08-24Morlong Associates RENEWAL3Ivan Magalhaes
1040Aditya H FollerGermany2025-08-12Chapman, Ross E Esq RENEWAL29Stephen Shaw
1041Aika A KolmetzCanada2025-08-12Printing Dimensions UNQUALIFIED35Elwin Sharvill
1042Ricardo K OstroskyUnited Kingdom2025-08-05Morlong Associates RENEWAL49Xuxue Feng
1043Darci J NickaCanada2025-08-14Chapman, Ross E Esq NEGOTIATION13Asiya Javayant
1044Munro O GillianGermany2025-08-28Rousseaux, Michael Esq NEW64Ivan Magalhaes
1045Darci O WaycottItaly2025-08-05Morlong Associates UNQUALIFIED11Bernardo Dominic
1046Arvin I FlosiIndia2025-08-28Truhlar And Truhlar Attys RENEWAL83Stephen Shaw
1047Clifford V BowleyIndia2025-08-02Chapman, Ross E Esq NEW41Anna Fali
1048Kaitlin Y BriddickRussia2025-08-24Commercial Press NEW76Ioni Bowcher
1049Jones R MaletIndia2025-08-20Rousseaux, Michael Esq QUALIFIED78Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Aika D StensethRussiaXuxue Feng UNQUALIFIED
Ricardo O StensethBrazilIvan Magalhaes NEW
Faith K CampainGermanyAmy Elsner NEGOTIATION
Murillo G RutaArgentinaOnyama Limba PROPOSAL
Jones R PerinBrazilOnyama Limba NEGOTIATION
Francesco G InouyeJapanBernardo Dominic NEW
Ivar S SchemmerGermanyAsiya Javayant NEGOTIATION
Cody Z PoquetteJapanBernardo Dominic QUALIFIED
Aruna H StensethRussiaAnna Fali NEW
Mujtaba G IturbideItalyAsiya Javayant NEGOTIATION
Jefferson M NickaRussiaElwin Sharvill QUALIFIED
Izzy I InouyeJapanIvan Magalhaes PROPOSAL
Maisha L CampainRussiaElwin Sharvill NEGOTIATION
Tony J BriddickFranceIvan Magalhaes QUALIFIED
Julie J DoeSpainAnna Fali UNQUALIFIED
Tony R RoysterAustraliaAsiya Javayant NEW
Costa R AlbaresArgentinaStephen Shaw PROPOSAL
Aika A MaletIndiaIoni Bowcher UNQUALIFIED
Murillo Q MarrierFranceBernardo Dominic UNQUALIFIED
Deepesh H FigeroaFranceIvan Magalhaes NEGOTIATION
Leon N RulapaughSpainOnyama Limba QUALIFIED
Leja C VocelkaArgentinaIoni Bowcher NEW
Ivar J SlusarskiJapanAnna Fali RENEWAL
Stacey U FerenczItalyBernardo Dominic QUALIFIED
Johnson P OstroskyJapanOnyama Limba RENEWAL
Nicolas T ShinkoUnited KingdomXuxue Feng NEGOTIATION
Maisha P SchemmerAustraliaOnyama Limba UNQUALIFIED
Jefferson N FlosiFranceIvan Magalhaes NEW
Leon M VocelkaCanadaStephen Shaw NEGOTIATION
Cody X RulapaughIndiaBernardo Dominic PROPOSAL
David R ButtCanadaBernardo Dominic UNQUALIFIED
Aditya K PerinBrazilOnyama Limba UNQUALIFIED
Stacey R CaldareraUnited KingdomAmy Elsner UNQUALIFIED
Silvio S FigeroaArgentinaAsiya Javayant PROPOSAL
Mujtaba M MorascaBrazilAnna Fali NEW
Munro S MorascaSpainElwin Sharvill NEGOTIATION
Maisha W WaycottArgentinaOnyama Limba UNQUALIFIED
Isabel C KuskoItalyStephen Shaw QUALIFIED
Kaitlin U WieserSpainAsiya Javayant PROPOSAL
Kadeem L PoquetteUnited KingdomStephen Shaw QUALIFIED
Maisha T GauchoArgentinaIoni Bowcher RENEWAL
Smith N WieserSpainAmy Elsner NEW
Wickens F MarrierFranceAnna Fali QUALIFIED
Deepesh V FigeroaUnited KingdomIvan Magalhaes PROPOSAL
David Z MorascaCanadaIoni Bowcher QUALIFIED
Nicolas H IturbideUnited KingdomIoni Bowcher NEGOTIATION
Mayumi B SergiUnited KingdomAnna Fali UNQUALIFIED
Julie B FlosiJapanXuxue Feng QUALIFIED
Nicolas E FlosiAustraliaElwin Sharvill NEW
Greenwood M IturbideCanadaAnna Fali RENEWAL
Frozen Columns
Name
James Q Perin
Wickens W Dilliard
Murillo I Stenseth
Clifford W Malet
Antonio C Darakjy
Kaitlin B Amigon
Francesco H Sergi
Nicolas W Vocelka
Darci L Garufi
Izzy B Inouye
Smith N Kolmetz
Silvio G Bowley
Leja X Poquette
Smith Y Venere
Ashley K Poquette
Munro Q Malet
Octavia K Maclead
Francesco L Shinko
Silvio F Ferencz
Stacey L Caldarera
Silvio A Inouye
Cody C Iturbide
Tony G Oldroyd
Faith U Tollner
Leja J Stockham
Misaki E Perin
Salvatore Z Shinko
Jeanfrancois A Kolmetz
Jones Y Briddick
Kadeem V Royster
Wickens L Bolognia
Mayumi P Ferencz
Aruna F Inouye
Misaki H Rulapaugh
Ricardo M Perin
Kaitlin E Royster
Cody A Nicka
Ricardo K Ostrosky
Ashley A Wieser
Izzy S Inouye
Maria G Vocelka
Morrow U Nestle
Aika K Tollner
Tony H Amigon
Leja L Doe
Francesco E Schemmer
Misaki K Sergi
Misaki Y Maclead
Izzy D Rulapaugh
Misaki S Morasca
IdCountryDate
1000France2025-08-06
1001Brazil2025-08-27
1002Germany2025-08-07
1003United Kingdom2025-08-17
1004Australia2025-08-24
1005Brazil2025-08-04
1006Italy2025-08-12
1007United Kingdom2025-08-15
1008Germany2025-08-24
1009India2025-08-21
1010Germany2025-08-14
1011Canada2025-08-18
1012Brazil2025-08-13
1013Russia2025-08-22
1014Russia2025-08-26
1015Australia2025-08-05
1016United Kingdom2025-08-12
1017United Kingdom2025-08-17
1018Brazil2025-08-17
1019Russia2025-08-24
1020Japan2025-08-13
1021Spain2025-08-05
1022Brazil2025-08-03
1023Italy2025-07-30
1024France2025-08-16
1025Italy2025-08-21
1026Russia2025-08-22
1027India2025-08-10
1028Germany2025-08-06
1029Italy2025-08-13
1030Canada2025-08-09
1031India2025-08-09
1032Russia2025-08-10
1033India2025-08-21
1034Argentina2025-08-17
1035Italy2025-08-06
1036France2025-08-14
1037United Kingdom2025-08-24
1038Brazil2025-08-18
1039United Kingdom2025-08-26
1040Germany2025-08-21
1041Canada2025-08-27
1042India2025-08-26
1043Germany2025-08-09
1044Brazil2025-08-26
1045Argentina2025-08-11
1046Japan2025-08-25
1047Argentina2025-08-18
1048Spain2025-08-09
1049Canada2025-08-14

On-Demand Data

NameIdCountryDate
Arvin O Dilliard1000Canada2025-08-12
Ricardo M Glick1001Germany2025-08-05
Maisha M Butt1002France2025-08-17
Kaitlin G Chui1003Canada2025-07-30
Julie A Paprocki1004Argentina2025-08-15
Claire Z Ostrosky1005France2025-07-30
Silvio U Amigon1006Brazil2025-08-19
Stacey J Wieser1007Canada2025-08-09
Maisha K Maclead1008Russia2025-08-24
Kadeem E Malet1009United Kingdom2025-08-25
Leon T Malet1010Russia2025-08-27
Mujtaba G Marrier1011Germany2025-08-20
Maria R Schemmer1012Germany2025-08-24
Ricardo P Bolognia1013Germany2025-07-31
Deepesh D Bolognia1014Italy2025-08-24
Aditya W Albares1015Argentina2025-08-04
Jones L Albares1016United Kingdom2025-08-26
Ashley T Schemmer1017Spain2025-08-10
Clifford X Ruta1018Canada2025-08-23
Ashley C Kolmetz1019Italy2025-08-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya G FollerArgentinaIvan Magalhaes UNQUALIFIED
Cody C RoysterSpainElwin Sharvill RENEWAL
Leja E DoeGermanyAnna Fali RENEWAL
Leon F MorascaAustraliaXuxue Feng RENEWAL
Aruna L IturbideCanadaXuxue Feng UNQUALIFIED
Izzy K ButtJapanOnyama Limba RENEWAL
Alejandro V CaldareraJapanIvan Magalhaes QUALIFIED
Jennifer F SlusarskiUnited KingdomAmy Elsner PROPOSAL
Aika Y GlickIndiaIvan Magalhaes UNQUALIFIED
Adams N MarrierArgentinaElwin Sharvill PROPOSAL
Jones J WhobreyCanadaIoni Bowcher UNQUALIFIED
Kaitlin W NestleItalyAnna Fali UNQUALIFIED
David O RoysterUnited KingdomIvan Magalhaes UNQUALIFIED
Murillo F StensethJapanIvan Magalhaes QUALIFIED
Alejandro R FerenczIndiaElwin Sharvill QUALIFIED
Costa V GillianAustraliaXuxue Feng QUALIFIED
Aruna H MarrierUnited KingdomIoni Bowcher PROPOSAL
Jefferson A SergiUnited KingdomOnyama Limba NEGOTIATION
Murillo D SlusarskiSpainXuxue Feng NEGOTIATION
Clifford N AlbaresAustraliaOnyama Limba QUALIFIED
Alejandro S GauchoArgentinaBernardo Dominic QUALIFIED
Johnson A RimRussiaElwin Sharvill PROPOSAL
Jeanfrancois E StockhamArgentinaXuxue Feng UNQUALIFIED
Cody U RutaJapanXuxue Feng NEW
David O NestleFranceAmy Elsner UNQUALIFIED
Stacey A ShinkoUnited KingdomAmy Elsner NEW
Deepesh W NickaAustraliaAsiya Javayant UNQUALIFIED
Stacey P BowleyRussiaXuxue Feng PROPOSAL
Kadeem D GauchoGermanyBernardo Dominic RENEWAL
Ivar S KuskoFranceIvan Magalhaes QUALIFIED
Aditya C WieserCanadaAnna Fali QUALIFIED
Jeanfrancois H TollnerItalyAnna Fali UNQUALIFIED
Mujtaba D GlickArgentinaIvan Magalhaes PROPOSAL
Claire I TollnerIndiaStephen Shaw PROPOSAL
Aika Q StockhamBrazilStephen Shaw NEGOTIATION
Claire E OldroydAustraliaStephen Shaw RENEWAL
Aditya B ChuiBrazilOnyama Limba UNQUALIFIED
Sinclair G PerinItalyStephen Shaw UNQUALIFIED
Deepesh B DilliardRussiaBernardo Dominic NEW
Stacey W StockhamBrazilIoni 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>