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
Mayumi A WaycottArgentinaIoni Bowcher PROPOSAL
Tony O SergiGermanyIoni Bowcher UNQUALIFIED
Smith H ShinkoSpainStephen Shaw PROPOSAL
Mayumi V AlbaresArgentinaXuxue Feng RENEWAL
Alejandro A SaylorsUnited KingdomAnna Fali NEGOTIATION
Octavia F MaletIndiaXuxue Feng QUALIFIED
Costa W SlusarskiAustraliaBernardo Dominic PROPOSAL
Octavia P BowleyFranceStephen Shaw UNQUALIFIED
Ashley T WieserIndiaAnna Fali RENEWAL
Adams T SaylorsArgentinaBernardo Dominic NEW
Mayumi I RulapaughFranceIvan Magalhaes PROPOSAL
Cody C GillianIndiaBernardo Dominic QUALIFIED
Julie S VocelkaAustraliaIoni Bowcher NEGOTIATION
Isabel B SlusarskiUnited KingdomIoni Bowcher NEW
Greenwood C RimUnited KingdomBernardo Dominic UNQUALIFIED
Sinclair D VocelkaUnited KingdomAnna Fali UNQUALIFIED
Claire L WhobreyRussiaAnna Fali QUALIFIED
Isabel A MorascaGermanyIvan Magalhaes NEGOTIATION
Faith R RulapaughSpainIvan Magalhaes QUALIFIED
Leja Y GillianArgentinaAsiya Javayant UNQUALIFIED
Smith Q NestleItalyIoni Bowcher NEGOTIATION
Aruna F NickaItalyAnna Fali RENEWAL
Misaki V DarakjyFranceAmy Elsner PROPOSAL
Deepesh E NickaSpainIoni Bowcher PROPOSAL
Salvatore U MaletJapanAnna Fali QUALIFIED
Mujtaba T GlickFranceIvan Magalhaes UNQUALIFIED
Alejandro G VocelkaIndiaElwin Sharvill NEGOTIATION
Wickens T PaprockiGermanyBernardo Dominic UNQUALIFIED
Sinclair U FlosiJapanBernardo Dominic QUALIFIED
Izzy B ChuiGermanyStephen Shaw UNQUALIFIED
Antonio V FollerBrazilElwin Sharvill NEW
Jefferson U DarakjyItalyIoni Bowcher NEGOTIATION
Alejandro R BologniaArgentinaAnna Fali UNQUALIFIED
Mujtaba G OldroydRussiaElwin Sharvill RENEWAL
Izzy B VenereArgentinaOnyama Limba NEW
Greenwood B CaldareraArgentinaAsiya Javayant NEGOTIATION
Julie F BowleyIndiaOnyama Limba NEGOTIATION
Johnson P PerinGermanyElwin Sharvill RENEWAL
Mayumi Y GlickUnited KingdomElwin Sharvill NEW
Aditya U BowleySpainAmy Elsner UNQUALIFIED
Salvatore J SergiItalyXuxue Feng PROPOSAL
Darci E IturbideRussiaElwin Sharvill RENEWAL
Claire H StockhamGermanyStephen Shaw NEW
Ricardo L OldroydCanadaElwin Sharvill UNQUALIFIED
Stacey W DarakjyCanadaElwin Sharvill NEW
David H ButtCanadaXuxue Feng RENEWAL
Aditya W MacleadArgentinaIvan Magalhaes PROPOSAL
Faith O FerenczArgentinaElwin Sharvill QUALIFIED
Darci G SergiCanadaXuxue Feng UNQUALIFIED
Ivar P PerinUnited KingdomIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aruna Y OldroydJapanIvan Magalhaes QUALIFIED
Julie X KolmetzGermanyIoni Bowcher RENEWAL
Maisha Y KuskoUnited KingdomBernardo Dominic QUALIFIED
Faith Z MaletItalyAmy Elsner NEGOTIATION
Johnson P BologniaIndiaOnyama Limba PROPOSAL
Francesco Y RutaJapanOnyama Limba PROPOSAL
Aruna K SaylorsJapanOnyama Limba PROPOSAL
Juan F DilliardJapanElwin Sharvill RENEWAL
Darci J AlbaresFranceAsiya Javayant PROPOSAL
Aruna A WhobreyAustraliaElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro A VenereAustralia2025-09-14Dorl, James J Esq RENEWAL66Asiya Javayant
1001Tony W CaldareraGermany2025-09-17Truhlar And Truhlar Attys NEGOTIATION89Stephen Shaw
1002Greenwood Z SergiFrance2025-09-28Morlong Associates NEGOTIATION65Elwin Sharvill
1003Stacey S CampainFrance2025-09-10Feltz Printing Service NEGOTIATION43Xuxue Feng
1004Jefferson G TollnerAustralia2025-09-09King, Christopher A Esq NEW7Bernardo Dominic
1005Maria F InouyeJapan2025-09-14Commercial Press QUALIFIED98Bernardo Dominic
1006Cody H CaudyItaly2025-09-23Printing Dimensions PROPOSAL32Onyama Limba
1007Faith D StensethGermany2025-09-08Chanay, Jeffrey A Esq RENEWAL8Asiya Javayant
1008Claire G RimCanada2025-09-15Rangoni Of Florence PROPOSAL24Ivan Magalhaes
1009Francesco H GarufiUnited Kingdom2025-09-20Benton, John B Jr QUALIFIED50Ioni Bowcher
1010Misaki Q NickaJapan2025-09-08Printing Dimensions RENEWAL48Xuxue Feng
1011Mayumi F DarakjyCanada2025-09-07Chapman, Ross E Esq NEGOTIATION74Onyama Limba
1012Aruna O DarakjyIndia2025-09-10King, Christopher A Esq QUALIFIED82Asiya Javayant
1013Emily K WhobreyIndia2025-09-05Rangoni Of Florence UNQUALIFIED45Anna Fali
1014James M AlbaresUnited Kingdom2025-08-31Benton, John B Jr PROPOSAL64Ivan Magalhaes
1015Jeanfrancois O FigeroaBrazil2025-09-15King, Christopher A Esq PROPOSAL16Ioni Bowcher
1016Deepesh F WhobreyRussia2025-09-03Dorl, James J Esq PROPOSAL85Xuxue Feng
1017Izzy U TollnerItaly2025-09-13Chapman, Ross E Esq PROPOSAL3Amy Elsner
1018Ricardo J VenereUnited Kingdom2025-09-04Buckley Miller Wright NEW34Anna Fali
1019Nicolas T PoquetteBrazil2025-09-08Feiner Bros PROPOSAL50Anna Fali
1020Emily V ButtItaly2025-09-29Chapman, Ross E Esq RENEWAL94Bernardo Dominic
1021Adams G SergiFrance2025-09-19Commercial Press QUALIFIED21Xuxue Feng
1022Alejandro X AmigonRussia2025-09-25Commercial Press PROPOSAL99Asiya Javayant
1023Morrow O StensethBrazil2025-09-05King, Christopher A Esq RENEWAL22Elwin Sharvill
1024Mayumi H NestleJapan2025-08-31Feiner Bros QUALIFIED4Onyama Limba
1025Deepesh M GauchoUnited Kingdom2025-09-01Feltz Printing Service UNQUALIFIED67Bernardo Dominic
1026Leon O RoysterJapan2025-09-22King, Christopher A Esq PROPOSAL4Asiya Javayant
1027Kadeem Y FlosiCanada2025-09-22Chanay, Jeffrey A Esq RENEWAL79Ioni Bowcher
1028Greenwood X CaldareraCanada2025-09-20Feltz Printing Service NEW47Onyama Limba
1029Wickens Q SergiFrance2025-09-06Printing Dimensions RENEWAL6Amy Elsner
1030Aika O WieserAustralia2025-09-05King, Christopher A Esq NEGOTIATION36Elwin Sharvill
1031Emily W PoquetteRussia2025-09-08Truhlar And Truhlar Attys NEW19Amy Elsner
1032Tony M BowleyBrazil2025-09-12Dorl, James J Esq UNQUALIFIED53Stephen Shaw
1033Aika K PaprockiJapan2025-09-03Truhlar And Truhlar Attys PROPOSAL54Asiya Javayant
1034Jones X MorascaGermany2025-09-17Buckley Miller Wright NEW61Anna Fali
1035Octavia P CaudySpain2025-09-24Commercial Press NEW79Stephen Shaw
1036Claire P ChuiCanada2025-09-09Rousseaux, Michael Esq QUALIFIED17Asiya Javayant
1037Ivar Q RoysterBrazil2025-09-23Truhlar And Truhlar Attys NEW37Asiya Javayant
1038Cody Y GlickGermany2025-09-10Printing Dimensions PROPOSAL72Ivan Magalhaes
1039James H AlbaresAustralia2025-09-05Printing Dimensions NEW68Anna Fali
1040Nicolas K InouyeUnited Kingdom2025-09-07Feltz Printing Service QUALIFIED94Elwin Sharvill
1041Salvatore O KolmetzUnited Kingdom2025-09-28King, Christopher A Esq RENEWAL68Asiya Javayant
1042Claire F WhobreyCanada2025-09-21Benton, John B Jr RENEWAL73Elwin Sharvill
1043Chavez Z DarakjyItaly2025-09-13Rousseaux, Michael Esq NEW48Amy Elsner
1044Chavez L WaycottSpain2025-09-12Chanay, Jeffrey A Esq NEGOTIATION72Elwin Sharvill
1045Munro W MaletJapan2025-09-27Chemel, James L Cpa UNQUALIFIED16Onyama Limba
1046Aruna M PoquetteRussia2025-09-02Commercial Press PROPOSAL11Ivan Magalhaes
1047Wickens F OldroydFrance2025-09-26Feltz Printing Service NEGOTIATION98Anna Fali
1048Faith G MaletCanada2025-09-12Rangoni Of Florence NEGOTIATION7Asiya Javayant
1049Chavez H BriddickIndia2025-09-13Rousseaux, Michael Esq NEW41Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Maria Y CampainJapanStephen Shaw NEGOTIATION
Darci O TollnerUnited KingdomAsiya Javayant NEW
Morrow Y ShinkoUnited KingdomAnna Fali UNQUALIFIED
Wickens K ChuiCanadaAnna Fali QUALIFIED
Mujtaba M GauchoSpainIvan Magalhaes NEGOTIATION
Nicolas C DilliardItalyIvan Magalhaes PROPOSAL
Deepesh W FigeroaSpainAnna Fali RENEWAL
Jones C StockhamIndiaElwin Sharvill PROPOSAL
Nicolas R ChuiArgentinaStephen Shaw PROPOSAL
Rodrigues J WaycottUnited KingdomElwin Sharvill RENEWAL
Jeanfrancois I NestleItalyOnyama Limba QUALIFIED
Sinclair E KolmetzItalyIoni Bowcher NEW
Salvatore K GarufiSpainStephen Shaw NEW
Aika M RutaSpainOnyama Limba PROPOSAL
Leon D InouyeJapanAmy Elsner QUALIFIED
Aruna M MacleadItalyElwin Sharvill NEW
Johnson T StockhamCanadaStephen Shaw PROPOSAL
Clifford N DarakjySpainAnna Fali UNQUALIFIED
Juan P PoquetteJapanOnyama Limba RENEWAL
Aika G VenereCanadaBernardo Dominic NEGOTIATION
Claire I DilliardGermanyXuxue Feng RENEWAL
Izzy M SergiCanadaIoni Bowcher PROPOSAL
Aditya D IturbideFranceXuxue Feng RENEWAL
Izzy C FerenczJapanAmy Elsner NEGOTIATION
Isabel S DilliardItalyAnna Fali UNQUALIFIED
James H PoquetteItalyIoni Bowcher RENEWAL
Emily J NickaBrazilAsiya Javayant NEGOTIATION
Ashley R FerenczSpainAsiya Javayant RENEWAL
Ricardo M OstroskyArgentinaAsiya Javayant NEW
Ivar Q AlbaresArgentinaOnyama Limba PROPOSAL
Antonio D FollerFranceAnna Fali QUALIFIED
Kaitlin A StensethBrazilBernardo Dominic NEW
Stacey O WaycottGermanyXuxue Feng NEGOTIATION
Kadeem J GauchoItalyAmy Elsner UNQUALIFIED
Julie J KolmetzAustraliaAsiya Javayant PROPOSAL
Nicolas T CaldareraJapanOnyama Limba PROPOSAL
Francesco L AlbaresCanadaIoni Bowcher PROPOSAL
Munro E BowleyArgentinaAsiya Javayant NEW
Munro J NestleArgentinaAsiya Javayant UNQUALIFIED
Jennifer S MacleadRussiaAmy Elsner NEGOTIATION
Tony A OstroskyItalyAnna Fali PROPOSAL
Mayumi W MarrierItalyAsiya Javayant QUALIFIED
Leon W RutaIndiaXuxue Feng UNQUALIFIED
Silvio I OstroskySpainStephen Shaw QUALIFIED
Stacey M StensethJapanAsiya Javayant QUALIFIED
Jennifer D CampainIndiaIoni Bowcher UNQUALIFIED
James W GauchoCanadaIvan Magalhaes UNQUALIFIED
Faith T DoeArgentinaIvan Magalhaes UNQUALIFIED
Aika C MaletGermanyBernardo Dominic UNQUALIFIED
Arvin G SergiIndiaIvan Magalhaes PROPOSAL
Frozen Columns
Name
Chavez A Slusarski
Jefferson T Oldroyd
Stacey B Wieser
Juan U Marrier
Jennifer J Amigon
David M Tollner
Isabel Q Foller
Mujtaba C Flosi
Ricardo Z Butt
Maisha L Malet
Rodrigues Q Glick
Jeanfrancois S Gillian
Izzy V Venere
Costa Y Garufi
Misaki U Maclead
Kaitlin N Stockham
Ivar T Kusko
Tony U Rim
Juan F Malet
Leja A Slusarski
Francesco E Perin
Morrow X Malet
Salvatore R Caudy
Octavia F Paprocki
Adams D Kolmetz
Jennifer A Schemmer
Salvatore Q Wieser
Darci Y Campain
Clifford B Stenseth
David L Poquette
Deepesh G Malet
Munro Z Albares
David J Malet
Jeanfrancois Z Doe
Jennifer K Vocelka
Aditya X Amigon
Emily Q Paprocki
Greenwood C Bolognia
Jeanfrancois U Sergi
Claire B Gillian
Stacey Q Paprocki
Kadeem W Dilliard
Smith T Kusko
Clifford D Shinko
Silvio Q Rim
Antonio O Paprocki
Deepesh C Darakjy
Octavia L Campain
Jones Q Schemmer
Isabel E Maclead
IdCountryDate
1000Germany2025-09-01
1001France2025-09-22
1002Japan2025-09-26
1003France2025-09-12
1004India2025-09-09
1005India2025-09-01
1006Russia2025-09-01
1007France2025-09-11
1008Russia2025-09-04
1009Brazil2025-09-25
1010Argentina2025-09-18
1011Argentina2025-09-16
1012Japan2025-09-28
1013United Kingdom2025-09-29
1014Canada2025-09-26
1015Italy2025-09-06
1016Spain2025-09-13
1017Brazil2025-08-31
1018Spain2025-09-06
1019Brazil2025-09-15
1020Spain2025-09-26
1021Russia2025-09-05
1022Russia2025-09-26
1023Canada2025-09-28
1024Russia2025-09-11
1025Argentina2025-09-26
1026Spain2025-09-05
1027Germany2025-09-07
1028Italy2025-09-17
1029Spain2025-09-20
1030Japan2025-09-14
1031Italy2025-09-15
1032Italy2025-09-08
1033India2025-09-06
1034Australia2025-09-26
1035Japan2025-09-12
1036Brazil2025-09-17
1037Argentina2025-09-03
1038Canada2025-09-19
1039Canada2025-09-14
1040Spain2025-09-04
1041Spain2025-09-18
1042United Kingdom2025-09-04
1043France2025-09-27
1044Canada2025-09-01
1045United Kingdom2025-09-13
1046Italy2025-09-21
1047Spain2025-09-21
1048Germany2025-09-24
1049Italy2025-09-04

On-Demand Data

NameIdCountryDate
Emily W Butt1000United Kingdom2025-09-11
Salvatore X Malet1001Argentina2025-09-14
Leja T Albares1002Japan2025-09-08
Kadeem B Darakjy1003Japan2025-09-23
Smith L Slusarski1004Brazil2025-09-06
Misaki F Ferencz1005Argentina2025-09-19
Ivar Z Foller1006Australia2025-09-08
Antonio Y Campain1007United Kingdom2025-09-05
Johnson C Figeroa1008Spain2025-09-17
Maria K Perin1009Japan2025-09-17
Misaki L Slusarski1010United Kingdom2025-09-07
Ricardo L Nicka1011Canada2025-09-24
Emily G Butt1012India2025-09-10
Leja L Paprocki1013India2025-09-27
Smith D Iturbide1014United Kingdom2025-09-20
Misaki X Kolmetz1015India2025-09-23
Morrow D Stockham1016Argentina2025-09-27
Rodrigues V Iturbide1017Italy2025-09-26
Murillo H Venere1018India2025-09-29
Mayumi O Perin1019India2025-09-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy S PerinItalyOnyama Limba NEGOTIATION
Misaki W SlusarskiRussiaAnna Fali NEGOTIATION
Faith W VocelkaGermanyAmy Elsner QUALIFIED
Izzy X VocelkaArgentinaAnna Fali UNQUALIFIED
Juan I WhobreyFranceIvan Magalhaes QUALIFIED
Aruna N TollnerAustraliaBernardo Dominic RENEWAL
Ricardo P MaletAustraliaXuxue Feng PROPOSAL
Emily G RutaUnited KingdomBernardo Dominic PROPOSAL
Leon K FerenczSpainElwin Sharvill UNQUALIFIED
Darci Q OstroskyItalyXuxue Feng UNQUALIFIED
Kaitlin A RimAustraliaOnyama Limba NEW
Kadeem X PaprockiIndiaIvan Magalhaes QUALIFIED
Juan U MorascaGermanyElwin Sharvill NEGOTIATION
Claire I StockhamAustraliaElwin Sharvill NEGOTIATION
Misaki T BriddickCanadaIvan Magalhaes NEW
Greenwood R GarufiUnited KingdomAnna Fali RENEWAL
Kaitlin Y OldroydRussiaAnna Fali QUALIFIED
Wickens W RulapaughUnited KingdomIoni Bowcher PROPOSAL
Mujtaba H MarrierArgentinaXuxue Feng PROPOSAL
Tony F BowleyUnited KingdomIoni Bowcher RENEWAL
Stacey R VocelkaUnited KingdomStephen Shaw NEGOTIATION
Murillo J AmigonGermanyAnna Fali PROPOSAL
Silvio D StockhamArgentinaXuxue Feng RENEWAL
Aruna P BologniaArgentinaOnyama Limba NEGOTIATION
Munro L DarakjyJapanBernardo Dominic PROPOSAL
James R DarakjyUnited KingdomAsiya Javayant NEGOTIATION
Murillo Z BologniaAustraliaXuxue Feng NEW
Salvatore T WaycottUnited KingdomAnna Fali PROPOSAL
Sinclair C StockhamRussiaOnyama Limba UNQUALIFIED
Misaki Z WhobreySpainIoni Bowcher PROPOSAL
Stacey Z StensethCanadaBernardo Dominic RENEWAL
Octavia W StockhamJapanOnyama Limba NEW
Chavez V MorascaFranceAsiya Javayant PROPOSAL
Darci O NestleItalyElwin Sharvill PROPOSAL
Ricardo C RulapaughJapanIvan Magalhaes NEGOTIATION
Isabel V BologniaAustraliaAmy Elsner RENEWAL
Murillo C PerinIndiaIoni Bowcher RENEWAL
Maria B WaycottSpainBernardo Dominic NEGOTIATION
Greenwood G WhobreyAustraliaXuxue Feng UNQUALIFIED
Jones V IturbideArgentinaAmy Elsner 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>