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
Misaki E KuskoAustraliaIvan Magalhaes PROPOSAL
Munro L GauchoUnited KingdomIvan Magalhaes NEGOTIATION
Mayumi X GauchoFranceXuxue Feng QUALIFIED
Mayumi W BowleyIndiaAnna Fali NEGOTIATION
Darci S PoquetteUnited KingdomStephen Shaw NEW
Arvin Z CaldareraBrazilBernardo Dominic QUALIFIED
Juan L PoquetteUnited KingdomXuxue Feng UNQUALIFIED
David C GlickIndiaStephen Shaw PROPOSAL
Aruna U FerenczGermanyAsiya Javayant NEGOTIATION
Claire B RoysterUnited KingdomOnyama Limba QUALIFIED
Smith L VenereRussiaAmy Elsner RENEWAL
Jones X MarrierRussiaIoni Bowcher NEGOTIATION
Wickens H MarrierBrazilIoni Bowcher QUALIFIED
Leja F AlbaresBrazilXuxue Feng RENEWAL
Claire T AlbaresArgentinaAnna Fali UNQUALIFIED
Clifford P FigeroaJapanAmy Elsner NEW
Mayumi N TollnerBrazilXuxue Feng PROPOSAL
Izzy N SergiBrazilAnna Fali RENEWAL
Kaitlin E SergiUnited KingdomXuxue Feng NEGOTIATION
Darci P KolmetzAustraliaAmy Elsner NEGOTIATION
Cody W VenereUnited KingdomAnna Fali QUALIFIED
Alejandro W RutaGermanyStephen Shaw NEGOTIATION
Stacey I FerenczItalyOnyama Limba NEW
Darci Y ShinkoIndiaIoni Bowcher QUALIFIED
Jefferson J AlbaresArgentinaOnyama Limba UNQUALIFIED
Kaitlin I OldroydUnited KingdomBernardo Dominic PROPOSAL
Emily O TollnerAustraliaIvan Magalhaes UNQUALIFIED
Arvin K AmigonRussiaBernardo Dominic RENEWAL
Alejandro K KuskoCanadaElwin Sharvill UNQUALIFIED
Ashley X KuskoIndiaAnna Fali NEGOTIATION
Costa Q AmigonFranceBernardo Dominic NEW
Claire A SchemmerArgentinaAsiya Javayant NEW
Clifford A MorascaJapanStephen Shaw NEW
Ashley D RimUnited KingdomAmy Elsner QUALIFIED
Jennifer M BriddickItalyBernardo Dominic NEW
Ivar W FollerSpainIvan Magalhaes PROPOSAL
Chavez J PoquetteSpainAnna Fali NEW
Izzy E PerinSpainAsiya Javayant PROPOSAL
Ashley D CaudyBrazilBernardo Dominic NEW
Claire W MacleadArgentinaOnyama Limba UNQUALIFIED
Faith T CampainAustraliaIvan Magalhaes PROPOSAL
Julie A WieserCanadaAnna Fali QUALIFIED
Leja R PerinIndiaOnyama Limba UNQUALIFIED
Jones B WaycottArgentinaAnna Fali UNQUALIFIED
James X FerenczItalyStephen Shaw NEGOTIATION
Jefferson G DarakjyArgentinaStephen Shaw RENEWAL
Jones V CaudyArgentinaOnyama Limba PROPOSAL
Murillo D SaylorsSpainStephen Shaw NEW
Tony Y GlickBrazilElwin Sharvill PROPOSAL
Leja W NickaSpainElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Ivar K WieserRussiaAsiya Javayant QUALIFIED
Jefferson C RoysterArgentinaIvan Magalhaes QUALIFIED
Rodrigues V FollerFranceAnna Fali PROPOSAL
Kaitlin U VocelkaUnited KingdomIvan Magalhaes UNQUALIFIED
Isabel V AmigonSpainElwin Sharvill UNQUALIFIED
Wickens R GauchoUnited KingdomBernardo Dominic NEW
Arvin X StockhamItalyStephen Shaw RENEWAL
Smith S WieserSpainStephen Shaw UNQUALIFIED
Rodrigues N TollnerCanadaXuxue Feng UNQUALIFIED
Morrow L WaycottSpainElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro W GlickFrance2025-09-20Feiner Bros PROPOSAL19Anna Fali
1001Arvin Z TollnerArgentina2025-09-29Feltz Printing Service NEW34Asiya Javayant
1002Adams Z WieserItaly2025-09-19Buckley Miller Wright RENEWAL71Ioni Bowcher
1003Smith T KolmetzIndia2025-09-03Printing Dimensions UNQUALIFIED26Asiya Javayant
1004Aika J GarufiItaly2025-09-10Chanay, Jeffrey A Esq NEW35Ioni Bowcher
1005Antonio Z CaudyFrance2025-09-21Rangoni Of Florence NEW88Onyama Limba
1006Morrow V PoquetteUnited Kingdom2025-09-23King, Christopher A Esq QUALIFIED50Ioni Bowcher
1007Sinclair W InouyeUnited Kingdom2025-09-24Truhlar And Truhlar Attys UNQUALIFIED0Ivan Magalhaes
1008Stacey F TollnerCanada2025-09-25Dorl, James J Esq NEGOTIATION25Elwin Sharvill
1009Stacey T WaycottJapan2025-09-21King, Christopher A Esq NEW91Bernardo Dominic
1010Kadeem V TollnerAustralia2025-09-12Feiner Bros PROPOSAL90Ivan Magalhaes
1011Jeanfrancois A PoquetteAustralia2025-09-09Chapman, Ross E Esq RENEWAL95Anna Fali
1012Morrow M MaletGermany2025-09-22Chanay, Jeffrey A Esq RENEWAL87Ioni Bowcher
1013Faith H FlosiAustralia2025-09-16Chemel, James L Cpa UNQUALIFIED6Ioni Bowcher
1014Jennifer G CaudyUnited Kingdom2025-09-21Truhlar And Truhlar Attys NEGOTIATION16Asiya Javayant
1015Francesco N IturbideIndia2025-09-04Morlong Associates QUALIFIED10Ioni Bowcher
1016Francesco Y GauchoCanada2025-09-29Rousseaux, Michael Esq PROPOSAL96Stephen Shaw
1017Misaki T CaudyJapan2025-09-23King, Christopher A Esq QUALIFIED71Ivan Magalhaes
1018Misaki R RulapaughUnited Kingdom2025-09-18Rangoni Of Florence NEW45Amy Elsner
1019Ashley A VocelkaIndia2025-09-27Chanay, Jeffrey A Esq PROPOSAL52Xuxue Feng
1020Leon P WieserGermany2025-09-18King, Christopher A Esq UNQUALIFIED53Stephen Shaw
1021Octavia C BowleyRussia2025-09-28Rangoni Of Florence NEW30Onyama Limba
1022Nicolas N NickaFrance2025-09-20Chapman, Ross E Esq NEGOTIATION65Stephen Shaw
1023Faith K KuskoArgentina2025-09-18Printing Dimensions NEGOTIATION4Anna Fali
1024Leon Z StensethArgentina2025-09-14Dorl, James J Esq RENEWAL50Elwin Sharvill
1025Aika O RimBrazil2025-09-14Rangoni Of Florence PROPOSAL15Onyama Limba
1026Kadeem V RulapaughItaly2025-09-04Commercial Press UNQUALIFIED46Xuxue Feng
1027Claire O PaprockiFrance2025-09-15Printing Dimensions QUALIFIED34Amy Elsner
1028Chavez F FollerJapan2025-09-04Rousseaux, Michael Esq UNQUALIFIED17Amy Elsner
1029Julie J MarrierItaly2025-09-30Chapman, Ross E Esq NEGOTIATION20Onyama Limba
1030Juan K CaudyAustralia2025-09-05Feiner Bros NEW75Elwin Sharvill
1031Johnson G AmigonJapan2025-09-17Dorl, James J Esq QUALIFIED60Xuxue Feng
1032Octavia O KuskoUnited Kingdom2025-09-09Rangoni Of Florence UNQUALIFIED96Stephen Shaw
1033Ricardo N GauchoIndia2025-09-24Benton, John B Jr QUALIFIED36Bernardo Dominic
1034Octavia V IturbideUnited Kingdom2025-09-29Rousseaux, Michael Esq QUALIFIED22Ioni Bowcher
1035Morrow O AlbaresSpain2025-09-11King, Christopher A Esq RENEWAL17Ivan Magalhaes
1036Leon A CaldareraRussia2025-09-07Feiner Bros NEW42Ioni Bowcher
1037Izzy W ButtUnited Kingdom2025-09-30Benton, John B Jr NEW45Asiya Javayant
1038Isabel L MarrierUnited Kingdom2025-09-09Rangoni Of Florence PROPOSAL32Amy Elsner
1039Francesco F AmigonBrazil2025-09-24Feltz Printing Service PROPOSAL95Elwin Sharvill
1040Misaki I FigeroaCanada2025-09-26Feltz Printing Service UNQUALIFIED51Ioni Bowcher
1041Alejandro O MaletSpain2025-09-18Rangoni Of Florence QUALIFIED38Stephen Shaw
1042Jones C MacleadFrance2025-09-05Dorl, James J Esq RENEWAL31Bernardo Dominic
1043Octavia E IturbideCanada2025-09-13King, Christopher A Esq QUALIFIED21Stephen Shaw
1044Jennifer A NickaSpain2025-09-29Morlong Associates QUALIFIED44Asiya Javayant
1045Claire T FollerArgentina2025-09-10Benton, John B Jr PROPOSAL95Elwin Sharvill
1046Clifford J BologniaUnited Kingdom2025-09-06Rousseaux, Michael Esq QUALIFIED53Anna Fali
1047Mayumi I NestleAustralia2025-09-25Buckley Miller Wright NEW91Bernardo Dominic
1048Leon L DilliardFrance2025-09-17Feltz Printing Service NEGOTIATION18Xuxue Feng
1049James S FerenczUnited Kingdom2025-09-08Chemel, James L Cpa QUALIFIED91Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Darci H SchemmerBrazilOnyama Limba QUALIFIED
Morrow L MarrierArgentinaAnna Fali NEGOTIATION
Smith H BologniaFranceAmy Elsner NEW
Morrow N CampainJapanOnyama Limba PROPOSAL
Murillo A OstroskyGermanyOnyama Limba PROPOSAL
Misaki A InouyeJapanIoni Bowcher NEGOTIATION
Nicolas I FigeroaBrazilAmy Elsner PROPOSAL
Nicolas Z FigeroaRussiaBernardo Dominic PROPOSAL
Munro M RutaAustraliaIvan Magalhaes UNQUALIFIED
James F FerenczItalyAsiya Javayant NEW
Cody J FigeroaUnited KingdomIvan Magalhaes QUALIFIED
Jeanfrancois I FerenczSpainIoni Bowcher PROPOSAL
Aika G MorascaCanadaAmy Elsner PROPOSAL
James K ButtGermanyIvan Magalhaes NEW
Leja I MaletRussiaOnyama Limba QUALIFIED
Francesco R IturbideIndiaElwin Sharvill NEGOTIATION
Kaitlin M SergiBrazilBernardo Dominic NEGOTIATION
Chavez C MacleadSpainIoni Bowcher NEW
Kaitlin U FollerItalyAsiya Javayant PROPOSAL
Nicolas N MacleadArgentinaIvan Magalhaes NEW
Silvio M KolmetzJapanAnna Fali QUALIFIED
Kadeem A SlusarskiGermanyXuxue Feng NEGOTIATION
Clifford Q RutaRussiaIoni Bowcher QUALIFIED
Nicolas X PaprockiUnited KingdomAmy Elsner PROPOSAL
Antonio R BriddickUnited KingdomIvan Magalhaes RENEWAL
Munro Q WaycottJapanIoni Bowcher QUALIFIED
Silvio V SergiArgentinaIvan Magalhaes UNQUALIFIED
Ivar Z OldroydItalyOnyama Limba NEW
Jefferson P BologniaArgentinaOnyama Limba RENEWAL
Wickens S WhobreyGermanyAmy Elsner NEGOTIATION
Jennifer T PerinAustraliaIvan Magalhaes UNQUALIFIED
Aika C FerenczUnited KingdomXuxue Feng QUALIFIED
Jefferson N RoysterBrazilAmy Elsner RENEWAL
Jefferson E MorascaJapanBernardo Dominic NEGOTIATION
Juan Y SchemmerFranceAsiya Javayant RENEWAL
Francesco E GillianIndiaOnyama Limba NEW
Misaki N OstroskyAustraliaOnyama Limba PROPOSAL
Octavia U DilliardArgentinaAnna Fali NEGOTIATION
Alejandro G ButtItalyAnna Fali NEW
Mayumi K BriddickAustraliaStephen Shaw PROPOSAL
Juan P SaylorsFranceElwin Sharvill UNQUALIFIED
Salvatore A WaycottSpainIoni Bowcher QUALIFIED
Izzy E GlickJapanAmy Elsner UNQUALIFIED
Aika J CaudyBrazilAnna Fali UNQUALIFIED
Aika I SchemmerJapanIoni Bowcher RENEWAL
Maria M SchemmerSpainAmy Elsner QUALIFIED
Juan M ButtGermanyIvan Magalhaes UNQUALIFIED
Ivar P InouyeGermanyIoni Bowcher RENEWAL
Stacey T WaycottGermanyAmy Elsner NEGOTIATION
Chavez I PaprockiAustraliaAsiya Javayant RENEWAL
Frozen Columns
Name
Jones G Albares
Stacey P Tollner
Maria Z Marrier
Izzy G Sergi
Kadeem I Inouye
Munro X Darakjy
Juan G Malet
Ivar I Saylors
Leon J Figeroa
Johnson C Maclead
Jefferson S Caudy
Aditya Z Tollner
Francesco Q Kusko
Deepesh H Poquette
Smith T Saylors
Munro A Shinko
Misaki Q Caudy
Izzy D Butt
Rodrigues S Doe
Cody U Darakjy
Adams Q Rim
Antonio D Ferencz
Deepesh T Sergi
Greenwood X Schemmer
Smith H Malet
Johnson V Nestle
Jennifer X Malet
Chavez O Caldarera
Greenwood C Gillian
Chavez E Ostrosky
Leja K Amigon
Maisha A Whobrey
Jefferson F Inouye
Jones W Whobrey
Kadeem S Ostrosky
Juan A Flosi
Faith K Perin
Stacey G Foller
Aruna A Darakjy
Antonio C Gaucho
Wickens O Malet
Aditya O Caldarera
Munro V Whobrey
Mujtaba A Briddick
Emily T Foller
Jefferson X Glick
Aika M Ruta
Kadeem T Kolmetz
Rodrigues D Morasca
Octavia Z Butt
IdCountryDate
1000Russia2025-09-27
1001Japan2025-09-17
1002Japan2025-09-18
1003India2025-09-16
1004Japan2025-09-04
1005Brazil2025-09-27
1006India2025-09-20
1007Germany2025-09-07
1008Russia2025-09-21
1009United Kingdom2025-09-11
1010Germany2025-09-12
1011Brazil2025-09-10
1012France2025-09-14
1013Russia2025-09-17
1014India2025-09-25
1015Russia2025-09-14
1016India2025-09-03
1017Argentina2025-09-07
1018Germany2025-09-25
1019Japan2025-09-26
1020Brazil2025-09-28
1021Japan2025-09-16
1022France2025-09-05
1023United Kingdom2025-09-02
1024France2025-09-08
1025Canada2025-09-03
1026India2025-09-05
1027Argentina2025-09-25
1028Argentina2025-09-30
1029Italy2025-09-28
1030Australia2025-09-08
1031Japan2025-09-21
1032Brazil2025-09-22
1033Japan2025-09-25
1034Russia2025-09-26
1035Canada2025-09-06
1036Germany2025-09-07
1037Italy2025-09-20
1038Germany2025-09-05
1039Russia2025-09-22
1040India2025-09-14
1041United Kingdom2025-09-26
1042Spain2025-09-19
1043Brazil2025-09-14
1044Spain2025-09-18
1045Italy2025-09-09
1046Japan2025-09-05
1047Japan2025-09-16
1048Australia2025-09-10
1049United Kingdom2025-09-30

On-Demand Data

NameIdCountryDate
Juan N Saylors1000India2025-09-29
Aditya F Stockham1001Argentina2025-09-08
Ivar X Paprocki1002Australia2025-09-03
Cody C Venere1003France2025-09-20
Julie E Kusko1004Argentina2025-09-26
Maria G Ferencz1005France2025-09-07
Clifford X Flosi1006Australia2025-09-01
Ashley R Darakjy1007India2025-09-16
Misaki U Nestle1008Canada2025-09-23
Alejandro S Caldarera1009Australia2025-09-16
Smith T Flosi1010Argentina2025-09-02
Jefferson V Flosi1011Brazil2025-09-01
Nicolas A Morasca1012United Kingdom2025-09-10
Leja Z Amigon1013Australia2025-09-25
Johnson S Glick1014Germany2025-09-15
Deepesh N Briddick1015Canada2025-09-25
Faith Q Nicka1016Argentina2025-09-28
Aika Q Ferencz1017Canada2025-09-06
Tony U Rim1018Australia2025-09-16
Julie G Wieser1019Argentina2025-09-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow L KuskoFranceOnyama Limba NEGOTIATION
Jefferson E StockhamCanadaAnna Fali NEW
Ashley N DarakjyFranceIvan Magalhaes UNQUALIFIED
Aika C NickaUnited KingdomAmy Elsner NEW
Julie H MorascaAustraliaAmy Elsner NEW
Ashley E DilliardCanadaStephen Shaw PROPOSAL
Arvin H GlickBrazilAsiya Javayant NEGOTIATION
Antonio U NickaRussiaIoni Bowcher NEGOTIATION
Ricardo V MacleadItalyIoni Bowcher RENEWAL
Maria F CampainBrazilOnyama Limba QUALIFIED
Salvatore A RutaSpainAnna Fali PROPOSAL
Claire L DilliardItalyAsiya Javayant UNQUALIFIED
Leja J DarakjyFranceElwin Sharvill NEW
Kadeem K MorascaItalyAmy Elsner UNQUALIFIED
Jones V DarakjyRussiaBernardo Dominic PROPOSAL
Misaki S RimAustraliaAnna Fali UNQUALIFIED
Maisha I MaletIndiaElwin Sharvill NEGOTIATION
Kaitlin V DilliardAustraliaBernardo Dominic UNQUALIFIED
Octavia K WhobreyRussiaStephen Shaw RENEWAL
Aditya D RulapaughFranceIoni Bowcher NEW
Johnson P SlusarskiSpainStephen Shaw PROPOSAL
Mujtaba N StockhamJapanIoni Bowcher RENEWAL
Ashley V GauchoRussiaBernardo Dominic RENEWAL
Adams D ButtIndiaBernardo Dominic NEW
Rodrigues X CampainIndiaAnna Fali UNQUALIFIED
Antonio S PaprockiAustraliaAmy Elsner RENEWAL
Maria K ShinkoIndiaStephen Shaw NEW
Costa R StockhamFranceStephen Shaw NEW
Silvio N ChuiArgentinaAmy Elsner QUALIFIED
David F NickaItalyElwin Sharvill RENEWAL
Mujtaba I SergiFranceStephen Shaw RENEWAL
Antonio J CaldareraGermanyIoni Bowcher UNQUALIFIED
Maisha P MaletSpainIvan Magalhaes PROPOSAL
Faith K WieserRussiaXuxue Feng UNQUALIFIED
Smith H SaylorsArgentinaAsiya Javayant QUALIFIED
Johnson J GarufiItalyElwin Sharvill RENEWAL
Jeanfrancois A ChuiArgentinaBernardo Dominic PROPOSAL
Tony T BowleyRussiaIvan Magalhaes QUALIFIED
Deepesh V MacleadSpainBernardo Dominic NEW
Jones D PaprockiBrazilAmy Elsner 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>