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
Stacey L RoysterIndiaXuxue Feng QUALIFIED
Tony H PaprockiGermanyElwin Sharvill UNQUALIFIED
Costa H MaletCanadaIoni Bowcher RENEWAL
Leja J TollnerCanadaAnna Fali UNQUALIFIED
Isabel D GarufiAustraliaElwin Sharvill NEGOTIATION
Johnson O StensethJapanXuxue Feng RENEWAL
Costa E OstroskyArgentinaIoni Bowcher NEW
Kaitlin T SchemmerIndiaAnna Fali QUALIFIED
Emily W StensethFranceIoni Bowcher UNQUALIFIED
Kaitlin A FigeroaUnited KingdomBernardo Dominic RENEWAL
Alejandro I NickaSpainXuxue Feng PROPOSAL
Munro R ChuiRussiaAsiya Javayant QUALIFIED
Alejandro T SergiUnited KingdomElwin Sharvill QUALIFIED
Rodrigues K GauchoJapanIvan Magalhaes NEGOTIATION
Darci F FollerAustraliaBernardo Dominic PROPOSAL
Silvio Q WaycottFranceIoni Bowcher PROPOSAL
Cody V KuskoRussiaStephen Shaw PROPOSAL
Munro U ButtArgentinaXuxue Feng RENEWAL
Maria M OldroydBrazilAsiya Javayant RENEWAL
Cody H RulapaughGermanyOnyama Limba RENEWAL
Mujtaba G PerinAustraliaAmy Elsner NEGOTIATION
Rodrigues I SlusarskiGermanyBernardo Dominic QUALIFIED
Mujtaba R PoquetteSpainElwin Sharvill PROPOSAL
Claire L RutaIndiaXuxue Feng NEGOTIATION
Nicolas Q SaylorsFranceElwin Sharvill UNQUALIFIED
Emily J MaletJapanBernardo Dominic RENEWAL
Salvatore F FerenczRussiaOnyama Limba RENEWAL
Jones Q BologniaUnited KingdomBernardo Dominic PROPOSAL
Misaki Y WhobreyItalyOnyama Limba UNQUALIFIED
Francesco Y PerinAustraliaAsiya Javayant QUALIFIED
David G WieserBrazilAnna Fali RENEWAL
David U WieserUnited KingdomAmy Elsner PROPOSAL
Leon T KolmetzUnited KingdomBernardo Dominic RENEWAL
David W FlosiCanadaElwin Sharvill NEGOTIATION
Alejandro Q DilliardJapanAnna Fali PROPOSAL
Jones R FollerGermanyElwin Sharvill QUALIFIED
Salvatore B GarufiSpainBernardo Dominic UNQUALIFIED
Antonio O MarrierFranceIoni Bowcher PROPOSAL
Silvio N GillianItalyAnna Fali RENEWAL
Izzy Q FerenczGermanyAmy Elsner NEGOTIATION
Salvatore R FigeroaCanadaAmy Elsner NEW
Antonio X StensethSpainIoni Bowcher RENEWAL
Jennifer N KolmetzItalyAnna Fali NEGOTIATION
Isabel W SlusarskiIndiaBernardo Dominic QUALIFIED
Munro K SlusarskiIndiaAmy Elsner UNQUALIFIED
David B KolmetzUnited KingdomOnyama Limba RENEWAL
Claire Q MaletAustraliaAmy Elsner PROPOSAL
Leon S CampainBrazilAsiya Javayant QUALIFIED
Johnson P NickaItalyStephen Shaw NEGOTIATION
Smith G AlbaresJapanAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Juan P GauchoJapanIvan Magalhaes RENEWAL
Chavez P GarufiIndiaStephen Shaw NEW
Octavia V StockhamAustraliaIoni Bowcher UNQUALIFIED
Claire C InouyeIndiaAmy Elsner NEGOTIATION
Deepesh E CampainCanadaXuxue Feng NEGOTIATION
Ashley E AlbaresAustraliaAsiya Javayant QUALIFIED
Cody B PerinIndiaXuxue Feng PROPOSAL
Aruna H SchemmerAustraliaStephen Shaw PROPOSAL
Izzy D PaprockiFranceAsiya Javayant NEW
Jennifer Y WhobreyBrazilOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore X StensethRussia2025-09-29Commercial Press PROPOSAL96Elwin Sharvill
1001Octavia Q FerenczItaly2025-09-14King, Christopher A Esq QUALIFIED93Ioni Bowcher
1002Izzy X IturbideJapan2025-10-07Feiner Bros UNQUALIFIED87Ioni Bowcher
1003Ivar V BologniaAustralia2025-09-11Buckley Miller Wright RENEWAL10Amy Elsner
1004Darci F WieserAustralia2025-09-22Rousseaux, Michael Esq PROPOSAL76Stephen Shaw
1005James G WaycottBrazil2025-09-11Feltz Printing Service NEW64Anna Fali
1006Jeanfrancois T MaletUnited Kingdom2025-09-17Truhlar And Truhlar Attys QUALIFIED85Amy Elsner
1007Claire A WaycottItaly2025-10-02Benton, John B Jr NEW60Ioni Bowcher
1008Murillo O IturbideIndia2025-10-03King, Christopher A Esq RENEWAL16Elwin Sharvill
1009Aditya V OldroydGermany2025-09-18Dorl, James J Esq RENEWAL91Ivan Magalhaes
1010Kaitlin O IturbideArgentina2025-10-05Rousseaux, Michael Esq UNQUALIFIED28Ivan Magalhaes
1011Arvin W KuskoItaly2025-09-29Buckley Miller Wright UNQUALIFIED61Bernardo Dominic
1012Salvatore R ButtAustralia2025-10-02Benton, John B Jr QUALIFIED2Asiya Javayant
1013Ricardo F AlbaresGermany2025-09-27Dorl, James J Esq RENEWAL32Ivan Magalhaes
1014Salvatore H KuskoRussia2025-09-16Chanay, Jeffrey A Esq NEW32Anna Fali
1015Darci V PaprockiRussia2025-09-18Chanay, Jeffrey A Esq PROPOSAL17Ivan Magalhaes
1016Aditya W GauchoArgentina2025-09-27King, Christopher A Esq NEW78Amy Elsner
1017Izzy M AlbaresIndia2025-09-12King, Christopher A Esq QUALIFIED17Anna Fali
1018Jefferson N StockhamUnited Kingdom2025-10-09Benton, John B Jr RENEWAL81Onyama Limba
1019Greenwood S BologniaIndia2025-09-20Rangoni Of Florence NEGOTIATION92Elwin Sharvill
1020Juan M SchemmerAustralia2025-10-04Chemel, James L Cpa RENEWAL50Stephen Shaw
1021Munro M AlbaresIndia2025-09-11Morlong Associates PROPOSAL40Anna Fali
1022Misaki O ButtRussia2025-09-29Commercial Press QUALIFIED56Anna Fali
1023Maria I CaldareraGermany2025-09-29Printing Dimensions NEGOTIATION19Amy Elsner
1024Mujtaba Q GauchoItaly2025-09-19Feltz Printing Service NEW17Bernardo Dominic
1025Aruna F MorascaArgentina2025-09-15Truhlar And Truhlar Attys QUALIFIED39Asiya Javayant
1026Aditya U GillianBrazil2025-09-11Dorl, James J Esq NEW79Xuxue Feng
1027Deepesh J BologniaGermany2025-10-03Dorl, James J Esq QUALIFIED75Asiya Javayant
1028Morrow R ShinkoFrance2025-10-08Rangoni Of Florence PROPOSAL57Ioni Bowcher
1029Greenwood G OldroydBrazil2025-09-12Rangoni Of Florence RENEWAL77Amy Elsner
1030Rodrigues V WhobreyJapan2025-10-04Rangoni Of Florence PROPOSAL7Ioni Bowcher
1031Juan D MaletAustralia2025-10-04Commercial Press UNQUALIFIED84Ioni Bowcher
1032Isabel O GarufiCanada2025-09-11Chapman, Ross E Esq NEGOTIATION9Bernardo Dominic
1033Murillo G WaycottRussia2025-10-06Feiner Bros PROPOSAL96Asiya Javayant
1034Mayumi I MacleadJapan2025-09-29Commercial Press NEW85Ioni Bowcher
1035Maria O SlusarskiCanada2025-09-13King, Christopher A Esq QUALIFIED3Amy Elsner
1036Ricardo M WieserItaly2025-09-25Chapman, Ross E Esq QUALIFIED90Ioni Bowcher
1037Maisha H RulapaughFrance2025-10-03Chanay, Jeffrey A Esq NEW31Ivan Magalhaes
1038Maria T GauchoSpain2025-10-01Chanay, Jeffrey A Esq PROPOSAL44Bernardo Dominic
1039Leon B GauchoArgentina2025-09-28Chanay, Jeffrey A Esq QUALIFIED67Anna Fali
1040Munro Y PoquetteIndia2025-09-20Chemel, James L Cpa NEGOTIATION67Amy Elsner
1041Jeanfrancois B RulapaughItaly2025-09-14Printing Dimensions RENEWAL72Ivan Magalhaes
1042Arvin T MarrierAustralia2025-09-26Printing Dimensions RENEWAL94Bernardo Dominic
1043Maria Q CaudyJapan2025-09-29Buckley Miller Wright NEW88Ioni Bowcher
1044Morrow X AmigonJapan2025-09-27Rangoni Of Florence QUALIFIED29Onyama Limba
1045Silvio V SergiFrance2025-10-02Rangoni Of Florence NEW91Ivan Magalhaes
1046Stacey T BriddickIndia2025-09-10Dorl, James J Esq NEW59Anna Fali
1047Johnson M NestleCanada2025-09-18King, Christopher A Esq PROPOSAL15Stephen Shaw
1048Greenwood P FlosiUnited Kingdom2025-10-04Commercial Press PROPOSAL6Anna Fali
1049Rodrigues E GillianRussia2025-09-24Printing Dimensions UNQUALIFIED45Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Ricardo H FlosiUnited KingdomOnyama Limba NEW
Leja N CaudyFranceIoni Bowcher QUALIFIED
Morrow A MarrierGermanyOnyama Limba QUALIFIED
Jennifer Y ShinkoArgentinaAmy Elsner NEW
Alejandro N VenereGermanyAnna Fali RENEWAL
Maisha S BologniaArgentinaAmy Elsner RENEWAL
Faith R ChuiIndiaElwin Sharvill NEGOTIATION
Ashley D FlosiAustraliaBernardo Dominic UNQUALIFIED
Aruna O AlbaresIndiaXuxue Feng RENEWAL
Adams Z SchemmerArgentinaAsiya Javayant RENEWAL
Tony G GlickItalyAnna Fali UNQUALIFIED
Smith C AmigonItalyOnyama Limba QUALIFIED
Francesco B GillianGermanyAsiya Javayant NEGOTIATION
Antonio Z MorascaFranceAmy Elsner UNQUALIFIED
Leon Q DarakjyArgentinaIoni Bowcher UNQUALIFIED
Ivar P SlusarskiSpainIoni Bowcher UNQUALIFIED
David C OstroskyUnited KingdomStephen Shaw UNQUALIFIED
Ashley D InouyeSpainIvan Magalhaes PROPOSAL
Arvin U MorascaItalyAnna Fali RENEWAL
Costa W MorascaAustraliaOnyama Limba NEW
Maria E OldroydItalyIvan Magalhaes RENEWAL
Aditya L OldroydFranceBernardo Dominic QUALIFIED
Antonio L SchemmerArgentinaOnyama Limba UNQUALIFIED
Maisha T MaletSpainIoni Bowcher UNQUALIFIED
Nicolas I DilliardArgentinaIvan Magalhaes PROPOSAL
Salvatore S CampainBrazilAmy Elsner NEGOTIATION
Claire C GauchoJapanBernardo Dominic UNQUALIFIED
Faith R BowleyIndiaElwin Sharvill RENEWAL
Maria E ButtAustraliaAsiya Javayant RENEWAL
Wickens A ShinkoArgentinaAmy Elsner NEW
Jefferson D OstroskyJapanBernardo Dominic QUALIFIED
Aruna Z VocelkaIndiaBernardo Dominic NEGOTIATION
David K SchemmerJapanXuxue Feng RENEWAL
Claire V KuskoAustraliaBernardo Dominic NEGOTIATION
Nicolas G CaudyUnited KingdomIoni Bowcher QUALIFIED
Smith G WhobreyCanadaAmy Elsner QUALIFIED
James X WieserJapanIoni Bowcher NEGOTIATION
Jeanfrancois A StensethArgentinaAsiya Javayant QUALIFIED
Ivar W BriddickJapanXuxue Feng RENEWAL
Greenwood I MarrierJapanOnyama Limba PROPOSAL
Faith G ShinkoSpainIvan Magalhaes PROPOSAL
Maisha Y BowleyCanadaElwin Sharvill NEGOTIATION
Alejandro I InouyeGermanyIoni Bowcher UNQUALIFIED
Silvio E DilliardIndiaAmy Elsner NEGOTIATION
Ashley S AmigonSpainIoni Bowcher QUALIFIED
Izzy A GarufiItalyBernardo Dominic RENEWAL
Leja U MaletAustraliaElwin Sharvill UNQUALIFIED
Deepesh N PerinAustraliaBernardo Dominic NEGOTIATION
Alejandro Q NickaFranceXuxue Feng UNQUALIFIED
James N AlbaresArgentinaOnyama Limba NEW
Frozen Columns
Name
Stacey T Darakjy
Salvatore O Marrier
Julie A Flosi
Salvatore P Malet
Kadeem U Wieser
Mujtaba C Malet
Maria P Tollner
Costa S Maclead
Deepesh X Ferencz
Ivar K Vocelka
Deepesh B Ferencz
Jefferson R Kolmetz
Cody E Campain
Maisha W Paprocki
Nicolas Z Foller
Faith V Slusarski
Jefferson J Whobrey
Clifford S Figeroa
Francesco J Bowley
Jefferson W Stockham
Kadeem X Royster
Greenwood R Vocelka
Murillo K Slusarski
Greenwood E Poquette
Adams E Morasca
Smith N Gaucho
Jones H Bolognia
Maria Q Malet
Kadeem E Stockham
Maisha Y Doe
Ricardo H Doe
Jones Y Ferencz
Cody T Chui
Aika A Whobrey
Maisha H Morasca
Ivar Z Bolognia
Ricardo V Kolmetz
Darci W Garufi
Morrow Y Figeroa
Mujtaba C Rim
Misaki P Gaucho
Antonio E Morasca
James H Royster
Ivar U Poquette
Stacey L Venere
Cody W Oldroyd
Munro R Perin
Alejandro Y Malet
Jeanfrancois H Foller
Antonio D Marrier
IdCountryDate
1000Germany2025-09-15
1001France2025-09-20
1002Russia2025-10-06
1003Brazil2025-09-24
1004Australia2025-09-10
1005France2025-10-03
1006Canada2025-09-17
1007Canada2025-09-29
1008Germany2025-09-25
1009United Kingdom2025-10-05
1010India2025-09-25
1011Russia2025-10-08
1012Brazil2025-09-20
1013France2025-09-15
1014Germany2025-10-08
1015Australia2025-10-01
1016Argentina2025-09-15
1017India2025-09-20
1018Spain2025-09-15
1019Canada2025-09-17
1020France2025-09-10
1021France2025-10-07
1022Brazil2025-10-08
1023Italy2025-09-17
1024Russia2025-10-08
1025United Kingdom2025-09-16
1026Australia2025-10-02
1027Italy2025-09-14
1028Spain2025-09-22
1029India2025-10-04
1030Australia2025-09-25
1031United Kingdom2025-09-29
1032Germany2025-09-29
1033Brazil2025-10-01
1034France2025-09-25
1035Australia2025-09-15
1036United Kingdom2025-09-19
1037Spain2025-09-27
1038Germany2025-10-09
1039Germany2025-09-15
1040Canada2025-09-26
1041Australia2025-09-30
1042Japan2025-10-07
1043India2025-09-10
1044Canada2025-10-06
1045Japan2025-09-21
1046United Kingdom2025-09-27
1047India2025-09-20
1048Japan2025-09-10
1049France2025-09-16

On-Demand Data

NameIdCountryDate
Morrow C Garufi1000Italy2025-10-09
Mujtaba P Tollner1001Brazil2025-09-26
Nicolas K Malet1002Germany2025-10-09
Izzy O Ferencz1003India2025-09-22
Salvatore W Saylors1004Spain2025-10-04
Arvin C Saylors1005Argentina2025-10-05
Antonio O Flosi1006Brazil2025-09-29
Johnson A Caudy1007Australia2025-10-02
Adams H Stenseth1008Canada2025-09-15
Ivar L Waycott1009Russia2025-10-09
Smith X Royster1010Germany2025-09-22
Jeanfrancois S Oldroyd1011United Kingdom2025-09-30
Jennifer A Nicka1012India2025-09-27
Ivar Z Poquette1013Australia2025-09-30
Aika S Schemmer1014France2025-09-16
Aditya V Nicka1015Australia2025-09-26
Greenwood X Gillian1016Russia2025-09-30
Clifford I Butt1017Spain2025-09-21
Jennifer Q Oldroyd1018Japan2025-10-06
Tony W Morasca1019Australia2025-10-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar Z CaldareraIndiaOnyama Limba RENEWAL
Clifford R KolmetzAustraliaAmy Elsner NEGOTIATION
Arvin R OstroskyFranceAsiya Javayant NEW
Juan Y SergiIndiaAsiya Javayant PROPOSAL
James V VenereAustraliaAsiya Javayant NEW
Jones V GauchoCanadaOnyama Limba RENEWAL
Jefferson O PaprockiSpainStephen Shaw UNQUALIFIED
Francesco G RutaAustraliaAmy Elsner UNQUALIFIED
Chavez F MarrierArgentinaOnyama Limba PROPOSAL
Faith P VenereUnited KingdomAmy Elsner PROPOSAL
Jeanfrancois B TollnerUnited KingdomAmy Elsner PROPOSAL
Alejandro Y WhobreyFranceStephen Shaw QUALIFIED
Octavia D SlusarskiIndiaIoni Bowcher NEW
Mujtaba V GauchoBrazilAsiya Javayant PROPOSAL
Greenwood Z AlbaresJapanIoni Bowcher NEW
Aruna W FollerIndiaXuxue Feng PROPOSAL
Darci J DilliardItalyIvan Magalhaes UNQUALIFIED
Aruna X RutaAustraliaAmy Elsner QUALIFIED
Jennifer Y DilliardRussiaAmy Elsner PROPOSAL
Arvin C SaylorsGermanyAsiya Javayant NEGOTIATION
Adams E PoquetteCanadaOnyama Limba NEW
David W BowleyGermanyOnyama Limba RENEWAL
Costa Q ShinkoItalyStephen Shaw PROPOSAL
James K MacleadGermanyXuxue Feng UNQUALIFIED
Ricardo L NickaSpainAsiya Javayant NEGOTIATION
Faith C RulapaughIndiaAnna Fali UNQUALIFIED
Adams U MarrierCanadaElwin Sharvill NEGOTIATION
Aika Y WhobreyBrazilElwin Sharvill PROPOSAL
Nicolas J NickaRussiaXuxue Feng NEGOTIATION
Salvatore X KolmetzArgentinaAsiya Javayant QUALIFIED
Clifford D ChuiSpainAmy Elsner NEGOTIATION
Ricardo Q CaudyUnited KingdomIoni Bowcher NEW
Murillo I GillianArgentinaOnyama Limba PROPOSAL
Jones H StensethCanadaAsiya Javayant UNQUALIFIED
Adams Z CaudyFranceAsiya Javayant QUALIFIED
Octavia C AmigonJapanStephen Shaw RENEWAL
Antonio A AlbaresRussiaAmy Elsner RENEWAL
Izzy N MacleadUnited KingdomXuxue Feng QUALIFIED
Cody J FlosiRussiaOnyama Limba QUALIFIED
Aruna J CampainItalyXuxue Feng NEW

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