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
David P AlbaresJapanXuxue Feng NEGOTIATION
Jeanfrancois G AlbaresJapanElwin Sharvill UNQUALIFIED
Tony Q BowleyBrazilElwin Sharvill UNQUALIFIED
Aika N MaletGermanyOnyama Limba NEGOTIATION
Morrow Y VenereCanadaBernardo Dominic QUALIFIED
Smith F MorascaUnited KingdomXuxue Feng PROPOSAL
Leon T StockhamBrazilBernardo Dominic RENEWAL
Aruna K WaycottRussiaAnna Fali PROPOSAL
Ivar H CaudyBrazilAsiya Javayant PROPOSAL
Aika Q KolmetzItalyStephen Shaw QUALIFIED
Maria F PaprockiIndiaAsiya Javayant NEGOTIATION
Antonio L ShinkoAustraliaStephen Shaw NEGOTIATION
Faith Q WieserRussiaStephen Shaw NEGOTIATION
Tony S FollerJapanStephen Shaw RENEWAL
Murillo G GillianCanadaOnyama Limba UNQUALIFIED
Nicolas X AlbaresIndiaXuxue Feng NEGOTIATION
Stacey W KolmetzBrazilStephen Shaw NEW
Jefferson N KolmetzBrazilAmy Elsner NEW
Nicolas L SaylorsFranceIoni Bowcher PROPOSAL
Murillo V VocelkaIndiaBernardo Dominic NEW
Maisha S OldroydFranceAsiya Javayant NEW
Maria G KolmetzRussiaAsiya Javayant NEGOTIATION
James N ButtUnited KingdomBernardo Dominic NEGOTIATION
Nicolas N MaletBrazilStephen Shaw NEW
Maisha F RulapaughBrazilOnyama Limba NEW
Salvatore E KolmetzIndiaElwin Sharvill NEW
Kadeem S DarakjyRussiaElwin Sharvill QUALIFIED
Faith T DilliardAustraliaIvan Magalhaes UNQUALIFIED
Maisha Z CaldareraUnited KingdomAnna Fali NEGOTIATION
Smith H CaldareraUnited KingdomOnyama Limba NEGOTIATION
Munro Q ShinkoAustraliaXuxue Feng NEW
Jennifer N BowleyRussiaIvan Magalhaes PROPOSAL
Aruna W MaletSpainXuxue Feng QUALIFIED
Faith J SchemmerArgentinaIvan Magalhaes NEGOTIATION
Mujtaba E CaldareraItalyStephen Shaw RENEWAL
Leon M BowleyCanadaStephen Shaw PROPOSAL
Wickens W OstroskyArgentinaAsiya Javayant NEGOTIATION
David W IturbideGermanyAsiya Javayant QUALIFIED
Isabel Z MacleadItalyStephen Shaw QUALIFIED
Murillo I StockhamRussiaStephen Shaw QUALIFIED
Costa N StockhamFranceStephen Shaw NEW
Faith U InouyeGermanyStephen Shaw RENEWAL
Deepesh K OldroydIndiaAnna Fali QUALIFIED
Arvin I CaldareraGermanyBernardo Dominic PROPOSAL
Greenwood P BowleyCanadaAmy Elsner NEW
Darci F InouyeRussiaOnyama Limba UNQUALIFIED
Chavez F RutaAustraliaXuxue Feng QUALIFIED
Aruna Y GarufiRussiaIoni Bowcher UNQUALIFIED
Johnson M StockhamUnited KingdomAnna Fali NEW
Mujtaba C FollerAustraliaOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Maria T FollerAustraliaBernardo Dominic QUALIFIED
Jeanfrancois F RutaGermanyStephen Shaw UNQUALIFIED
Misaki X KuskoItalyXuxue Feng UNQUALIFIED
James D CampainFranceAsiya Javayant RENEWAL
Claire S OstroskyArgentinaStephen Shaw UNQUALIFIED
Cody J PerinBrazilOnyama Limba UNQUALIFIED
Ivar W StockhamItalyAnna Fali NEGOTIATION
Isabel G DilliardArgentinaIvan Magalhaes RENEWAL
Costa C DoeRussiaBernardo Dominic PROPOSAL
Clifford V FerenczItalyAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa F BriddickBrazil2025-07-27Truhlar And Truhlar Attys NEW67Onyama Limba
1001Darci W MarrierJapan2025-07-30Buckley Miller Wright PROPOSAL84Asiya Javayant
1002Jefferson I DoeItaly2025-08-14Dorl, James J Esq QUALIFIED15Ioni Bowcher
1003Leja F WieserGermany2025-08-01Rousseaux, Michael Esq RENEWAL8Ivan Magalhaes
1004Antonio N BologniaItaly2025-08-11Rangoni Of Florence RENEWAL28Amy Elsner
1005Maria U AlbaresSpain2025-08-13Buckley Miller Wright PROPOSAL67Bernardo Dominic
1006Jones Q ButtIndia2025-07-29Benton, John B Jr QUALIFIED29Asiya Javayant
1007Sinclair M AlbaresIndia2025-08-18Rousseaux, Michael Esq RENEWAL87Xuxue Feng
1008Salvatore Y DoeCanada2025-07-25Commercial Press RENEWAL24Elwin Sharvill
1009Silvio Q PerinGermany2025-07-24Rousseaux, Michael Esq PROPOSAL30Xuxue Feng
1010Wickens V PerinFrance2025-08-15Chapman, Ross E Esq PROPOSAL49Onyama Limba
1011Juan B VocelkaItaly2025-07-26Buckley Miller Wright QUALIFIED48Onyama Limba
1012Leja G InouyeCanada2025-08-01Rousseaux, Michael Esq PROPOSAL33Amy Elsner
1013Maisha M MorascaFrance2025-08-10Dorl, James J Esq UNQUALIFIED91Stephen Shaw
1014Stacey O ButtJapan2025-08-01Printing Dimensions NEW63Ivan Magalhaes
1015Deepesh G ChuiCanada2025-07-29Commercial Press RENEWAL44Ioni Bowcher
1016Alejandro F StockhamItaly2025-08-18King, Christopher A Esq NEW17Bernardo Dominic
1017Kaitlin X FerenczUnited Kingdom2025-08-13Printing Dimensions NEGOTIATION42Anna Fali
1018Juan L OldroydJapan2025-08-12Chapman, Ross E Esq PROPOSAL18Ioni Bowcher
1019Maria V SaylorsRussia2025-07-26Feltz Printing Service NEGOTIATION10Anna Fali
1020Mayumi E PerinIndia2025-08-12Printing Dimensions UNQUALIFIED28Stephen Shaw
1021Izzy G PaprockiArgentina2025-08-04Feltz Printing Service NEW19Ioni Bowcher
1022Maisha T DarakjyArgentina2025-08-05King, Christopher A Esq NEGOTIATION39Ioni Bowcher
1023Antonio W DilliardGermany2025-08-17Rousseaux, Michael Esq NEW72Ioni Bowcher
1024Arvin G IturbideIndia2025-08-17Truhlar And Truhlar Attys UNQUALIFIED30Ioni Bowcher
1025Izzy M WhobreyFrance2025-08-08Commercial Press UNQUALIFIED3Ioni Bowcher
1026Jeanfrancois U MaletItaly2025-08-13Rangoni Of Florence QUALIFIED91Bernardo Dominic
1027Ricardo Y SchemmerSpain2025-08-13Printing Dimensions PROPOSAL23Ioni Bowcher
1028Octavia X RutaSpain2025-07-26Chemel, James L Cpa QUALIFIED52Ioni Bowcher
1029Maisha T VenereGermany2025-08-21Dorl, James J Esq QUALIFIED24Xuxue Feng
1030Faith N FollerIndia2025-08-18Chapman, Ross E Esq PROPOSAL68Amy Elsner
1031Tony Y ButtGermany2025-08-22Printing Dimensions UNQUALIFIED97Elwin Sharvill
1032Chavez Z GillianCanada2025-08-05Truhlar And Truhlar Attys RENEWAL67Stephen Shaw
1033Isabel W PerinSpain2025-08-21Benton, John B Jr QUALIFIED18Amy Elsner
1034Chavez A GlickGermany2025-07-29Dorl, James J Esq RENEWAL31Asiya Javayant
1035Rodrigues K DilliardCanada2025-08-11King, Christopher A Esq UNQUALIFIED95Elwin Sharvill
1036Ricardo O DilliardFrance2025-07-24Dorl, James J Esq NEGOTIATION31Ioni Bowcher
1037Mujtaba A SlusarskiItaly2025-08-05Chemel, James L Cpa QUALIFIED61Ivan Magalhaes
1038Claire R MaletUnited Kingdom2025-07-28Rangoni Of Florence UNQUALIFIED62Onyama Limba
1039Faith H MorascaFrance2025-08-17Dorl, James J Esq QUALIFIED61Anna Fali
1040Clifford F DarakjyItaly2025-08-16Buckley Miller Wright PROPOSAL78Ivan Magalhaes
1041Costa Y CaudyCanada2025-08-10Chapman, Ross E Esq NEGOTIATION7Bernardo Dominic
1042Tony L WaycottBrazil2025-07-28Rangoni Of Florence RENEWAL94Ioni Bowcher
1043Kaitlin K NestleIndia2025-08-08Benton, John B Jr UNQUALIFIED68Asiya Javayant
1044Leon C BriddickGermany2025-07-30Chapman, Ross E Esq RENEWAL36Amy Elsner
1045Maria G OldroydArgentina2025-08-22Dorl, James J Esq UNQUALIFIED97Anna Fali
1046Misaki U BriddickItaly2025-08-18Dorl, James J Esq NEW64Ioni Bowcher
1047David D SergiCanada2025-08-01Chemel, James L Cpa QUALIFIED2Asiya Javayant
1048Chavez R DoeSpain2025-08-22King, Christopher A Esq PROPOSAL12Amy Elsner
1049Faith R PoquetteUnited Kingdom2025-07-30Truhlar And Truhlar Attys PROPOSAL3Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Ricardo Y TollnerArgentinaBernardo Dominic UNQUALIFIED
Johnson Q WhobreyCanadaAnna Fali QUALIFIED
Greenwood F ShinkoFranceAsiya Javayant RENEWAL
Juan Q AmigonCanadaOnyama Limba QUALIFIED
Murillo J SchemmerJapanIoni Bowcher QUALIFIED
Ricardo V CaudySpainAnna Fali NEGOTIATION
Morrow T IturbideArgentinaStephen Shaw NEW
Darci M SergiAustraliaBernardo Dominic RENEWAL
Isabel O BowleyCanadaStephen Shaw RENEWAL
Alejandro O BriddickRussiaIvan Magalhaes RENEWAL
Mujtaba B ChuiItalyElwin Sharvill NEW
Salvatore G CaudyUnited KingdomOnyama Limba NEGOTIATION
Alejandro O WieserBrazilOnyama Limba PROPOSAL
Leja B RutaIndiaOnyama Limba NEGOTIATION
Alejandro C GillianGermanyOnyama Limba RENEWAL
Deepesh K WaycottJapanIoni Bowcher PROPOSAL
Izzy G MorascaCanadaXuxue Feng NEW
Maisha M BowleyFranceStephen Shaw QUALIFIED
Izzy K IturbideArgentinaIvan Magalhaes NEW
Aruna T MarrierRussiaStephen Shaw NEW
Tony K ChuiUnited KingdomAmy Elsner PROPOSAL
Leon X RoysterItalyStephen Shaw NEGOTIATION
Stacey K SchemmerIndiaIoni Bowcher UNQUALIFIED
Faith D WaycottUnited KingdomAsiya Javayant UNQUALIFIED
Aditya E SlusarskiCanadaStephen Shaw NEW
Kaitlin J DarakjyJapanXuxue Feng NEW
Arvin B VocelkaFranceElwin Sharvill NEGOTIATION
Antonio R OldroydAustraliaIoni Bowcher NEW
Nicolas O MacleadUnited KingdomIoni Bowcher NEW
Julie D RoysterSpainBernardo Dominic NEW
Smith K PaprockiCanadaIvan Magalhaes RENEWAL
Mujtaba E KolmetzJapanAsiya Javayant NEW
Wickens C GlickRussiaIoni Bowcher NEGOTIATION
Leon V FerenczSpainBernardo Dominic QUALIFIED
Deepesh S StockhamAustraliaXuxue Feng RENEWAL
Morrow B VenereCanadaBernardo Dominic NEGOTIATION
Greenwood B StensethIndiaStephen Shaw UNQUALIFIED
Adams K RoysterItalyStephen Shaw NEW
Kadeem N WaycottIndiaAnna Fali PROPOSAL
Rodrigues Z MorascaItalyXuxue Feng QUALIFIED
Alejandro Z WhobreyUnited KingdomOnyama Limba QUALIFIED
Jones E GillianUnited KingdomXuxue Feng NEW
Munro C ChuiIndiaOnyama Limba RENEWAL
Kadeem V AmigonCanadaXuxue Feng UNQUALIFIED
Kadeem B VocelkaAustraliaOnyama Limba NEW
Silvio Q RutaCanadaStephen Shaw NEGOTIATION
Morrow B MarrierBrazilOnyama Limba UNQUALIFIED
Murillo D DilliardGermanyAsiya Javayant PROPOSAL
Jefferson K BowleyBrazilAmy Elsner RENEWAL
Sinclair C StockhamCanadaBernardo Dominic QUALIFIED
Frozen Columns
Name
Ashley T Whobrey
Clifford J Malet
Maisha P Venere
Arvin N Schemmer
Nicolas X Shinko
Chavez Y Maclead
Johnson F Malet
Salvatore P Bolognia
Juan M Bolognia
Aruna G Butt
Aruna L Rim
Mayumi I Morasca
Kadeem E Shinko
Ricardo B Stockham
Jones F Rulapaugh
Leja L Iturbide
Leon T Tollner
Alejandro O Glick
Ashley S Gillian
Nicolas Q Ruta
Murillo T Morasca
Greenwood E Albares
Munro E Royster
Chavez O Flosi
Leon Z Kusko
Alejandro O Campain
Aruna Y Briddick
Costa X Kolmetz
Juan U Nestle
Morrow Y Royster
Jefferson B Chui
Murillo X Nestle
Arvin H Butt
Sinclair D Kolmetz
Murillo U Ruta
Cody F Waycott
Costa R Rulapaugh
Ashley B Oldroyd
Clifford W Ostrosky
Ashley M Chui
Salvatore E Kolmetz
Julie D Marrier
Ashley J Maclead
Greenwood M Marrier
Costa O Bolognia
Silvio X Oldroyd
Izzy M Albares
Ivar N Glick
Faith Y Darakjy
Ricardo S Shinko
IdCountryDate
1000Canada2025-08-05
1001Canada2025-07-24
1002Brazil2025-08-04
1003France2025-08-14
1004Germany2025-08-03
1005Brazil2025-07-27
1006Russia2025-08-16
1007France2025-07-27
1008Italy2025-08-08
1009India2025-07-30
1010Canada2025-07-26
1011Japan2025-08-13
1012India2025-07-31
1013Canada2025-07-26
1014Argentina2025-08-20
1015India2025-08-03
1016Argentina2025-08-22
1017Argentina2025-08-06
1018Russia2025-08-05
1019Russia2025-08-02
1020France2025-08-01
1021Australia2025-08-15
1022Spain2025-08-20
1023Italy2025-08-05
1024Brazil2025-08-01
1025India2025-08-08
1026Australia2025-08-14
1027United Kingdom2025-08-19
1028Japan2025-08-21
1029Japan2025-08-12
1030Germany2025-08-17
1031Brazil2025-08-18
1032Italy2025-08-21
1033Australia2025-08-15
1034India2025-07-31
1035Spain2025-08-11
1036Argentina2025-08-18
1037Italy2025-08-08
1038United Kingdom2025-07-26
1039Italy2025-08-05
1040Italy2025-08-14
1041Australia2025-08-02
1042Germany2025-08-09
1043Russia2025-08-17
1044United Kingdom2025-08-07
1045Australia2025-08-11
1046Canada2025-08-05
1047Russia2025-07-29
1048United Kingdom2025-08-05
1049United Kingdom2025-08-15

On-Demand Data

NameIdCountryDate
Jennifer J Malet1000Canada2025-08-08
Aika Z Poquette1001Brazil2025-07-26
Stacey A Marrier1002Japan2025-08-20
Jefferson X Ferencz1003Argentina2025-08-11
Kadeem X Stockham1004Argentina2025-08-17
Deepesh J Perin1005Australia2025-08-21
Silvio M Campain1006Argentina2025-07-31
Mayumi U Paprocki1007Italy2025-07-27
Juan H Iturbide1008Germany2025-08-15
Antonio U Garufi1009Canada2025-07-25
Jennifer O Gaucho1010Italy2025-08-13
Tony O Sergi1011India2025-08-13
Kadeem T Malet1012Germany2025-07-24
Antonio A Schemmer1013United Kingdom2025-08-14
Misaki L Saylors1014Japan2025-07-29
Cody A Sergi1015Germany2025-08-18
Mujtaba O Paprocki1016Spain2025-08-22
Leja N Morasca1017Spain2025-07-26
Johnson G Campain1018United Kingdom2025-07-25
Isabel J Poquette1019Canada2025-08-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro S StensethRussiaAmy Elsner NEGOTIATION
Arvin O PaprockiGermanyAnna Fali RENEWAL
Stacey P KuskoItalyAmy Elsner PROPOSAL
Ricardo J BologniaRussiaBernardo Dominic PROPOSAL
Leja R NestleGermanyIvan Magalhaes NEGOTIATION
Johnson U MorascaCanadaBernardo Dominic QUALIFIED
Silvio W InouyeArgentinaXuxue Feng PROPOSAL
Misaki K WieserGermanyXuxue Feng NEGOTIATION
Ashley Z SchemmerBrazilStephen Shaw NEGOTIATION
Deepesh F VocelkaFranceAmy Elsner NEW
Mujtaba R OstroskyRussiaXuxue Feng NEW
Deepesh Y MorascaSpainOnyama Limba RENEWAL
Morrow B KuskoFranceBernardo Dominic NEW
Munro X IturbideGermanyElwin Sharvill RENEWAL
Johnson H CampainArgentinaElwin Sharvill UNQUALIFIED
Octavia O DoeGermanyElwin Sharvill PROPOSAL
Wickens U GillianUnited KingdomAnna Fali PROPOSAL
Ricardo A MacleadItalyStephen Shaw PROPOSAL
Johnson F MacleadArgentinaXuxue Feng PROPOSAL
Murillo J CaudySpainAmy Elsner NEGOTIATION
Smith V SchemmerJapanIoni Bowcher QUALIFIED
Johnson C DoeItalyBernardo Dominic NEW
Deepesh O RutaBrazilAsiya Javayant PROPOSAL
Kadeem A WieserIndiaXuxue Feng RENEWAL
Izzy E ButtGermanyBernardo Dominic UNQUALIFIED
Salvatore N TollnerIndiaStephen Shaw QUALIFIED
Kadeem G BowleyIndiaOnyama Limba UNQUALIFIED
Maisha M VenereAustraliaOnyama Limba PROPOSAL
Aditya S KolmetzJapanAnna Fali QUALIFIED
Wickens V BologniaSpainIvan Magalhaes PROPOSAL
Deepesh F TollnerSpainBernardo Dominic NEW
Darci G SaylorsFranceIvan Magalhaes PROPOSAL
Claire E StockhamCanadaAsiya Javayant UNQUALIFIED
Ivar S AlbaresBrazilXuxue Feng QUALIFIED
Costa Y RutaIndiaAmy Elsner NEGOTIATION
Misaki M KolmetzIndiaIvan Magalhaes RENEWAL
Faith Z CampainBrazilElwin Sharvill NEW
Antonio A GauchoArgentinaStephen Shaw RENEWAL
Jones B PoquetteBrazilIvan Magalhaes RENEWAL
Maria H CaldareraSpainAnna Fali 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>