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
Tony E KuskoAustraliaOnyama Limba QUALIFIED
David X KolmetzArgentinaStephen Shaw NEW
Wickens C VocelkaIndiaElwin Sharvill PROPOSAL
Mujtaba D NickaFranceXuxue Feng NEW
James N PaprockiRussiaIoni Bowcher NEW
Alejandro R IturbideUnited KingdomAnna Fali NEW
Murillo Z MacleadFranceIvan Magalhaes NEGOTIATION
Ivar E GlickSpainStephen Shaw RENEWAL
Ashley K MacleadFranceOnyama Limba QUALIFIED
Aruna N PerinItalyStephen Shaw RENEWAL
Isabel R TollnerIndiaIoni Bowcher UNQUALIFIED
Stacey P RoysterFranceAnna Fali UNQUALIFIED
Claire U PaprockiIndiaIoni Bowcher NEGOTIATION
James H FollerFranceAsiya Javayant PROPOSAL
Cody M WaycottItalyXuxue Feng QUALIFIED
Ricardo I SlusarskiJapanIoni Bowcher QUALIFIED
Sinclair Z SergiGermanyElwin Sharvill NEGOTIATION
Aruna H RimJapanBernardo Dominic NEW
Greenwood E WhobreySpainAmy Elsner RENEWAL
Aditya Q AlbaresFranceElwin Sharvill PROPOSAL
Ashley P VocelkaSpainBernardo Dominic UNQUALIFIED
Mujtaba Y WhobreyItalyStephen Shaw RENEWAL
Chavez P PoquetteIndiaAmy Elsner NEW
Mujtaba Y IturbideGermanyBernardo Dominic PROPOSAL
Octavia M MaletIndiaXuxue Feng UNQUALIFIED
Jones N CaudyIndiaIvan Magalhaes PROPOSAL
Mayumi J MaletIndiaAsiya Javayant QUALIFIED
Misaki Z ChuiBrazilIoni Bowcher UNQUALIFIED
Johnson D MacleadCanadaXuxue Feng PROPOSAL
Aruna M MarrierJapanAsiya Javayant PROPOSAL
Sinclair Z WhobreyBrazilIvan Magalhaes NEGOTIATION
Claire Z DilliardJapanStephen Shaw RENEWAL
Adams Q WhobreyIndiaBernardo Dominic UNQUALIFIED
Isabel J RoysterJapanOnyama Limba NEGOTIATION
Clifford G NestleUnited KingdomIoni Bowcher NEGOTIATION
James L BologniaRussiaBernardo Dominic QUALIFIED
Sinclair I VocelkaUnited KingdomAsiya Javayant PROPOSAL
Claire Z StockhamSpainBernardo Dominic NEGOTIATION
Cody Q MaletGermanyStephen Shaw PROPOSAL
Stacey U CampainCanadaAmy Elsner UNQUALIFIED
Kadeem G AmigonItalyOnyama Limba UNQUALIFIED
Francesco S OldroydItalyAnna Fali NEW
James U RulapaughBrazilAnna Fali RENEWAL
Mayumi I AmigonAustraliaAmy Elsner NEW
Jennifer H RutaAustraliaAnna Fali PROPOSAL
Leja H VocelkaSpainAmy Elsner PROPOSAL
Mayumi D DoeCanadaAsiya Javayant RENEWAL
Misaki T FigeroaAustraliaXuxue Feng RENEWAL
Chavez Q RulapaughArgentinaAnna Fali PROPOSAL
Kaitlin I StockhamJapanAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ivar F PerinBrazilIvan Magalhaes QUALIFIED
Alejandro H StensethIndiaIoni Bowcher RENEWAL
Isabel X RutaAustraliaStephen Shaw NEGOTIATION
Mujtaba O GillianItalyAmy Elsner PROPOSAL
Greenwood X MaletIndiaIoni Bowcher UNQUALIFIED
Jones Q PaprockiFranceAnna Fali UNQUALIFIED
Greenwood U MaletCanadaXuxue Feng PROPOSAL
Morrow L RoysterFranceXuxue Feng NEGOTIATION
David G InouyeItalyBernardo Dominic RENEWAL
Arvin D ChuiRussiaOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones N DoeUnited Kingdom2025-08-25Feiner Bros NEW29Xuxue Feng
1001Cody F GlickAustralia2025-07-27Commercial Press RENEWAL85Elwin Sharvill
1002Munro B FigeroaUnited Kingdom2025-08-16Rangoni Of Florence QUALIFIED83Ivan Magalhaes
1003Kadeem V BriddickRussia2025-08-05Buckley Miller Wright UNQUALIFIED96Ivan Magalhaes
1004Nicolas D WaycottJapan2025-08-25Benton, John B Jr UNQUALIFIED38Anna Fali
1005Smith N OstroskyRussia2025-08-08Chanay, Jeffrey A Esq RENEWAL73Stephen Shaw
1006Kadeem R WhobreyRussia2025-08-02Buckley Miller Wright NEW30Stephen Shaw
1007Jeanfrancois W GlickUnited Kingdom2025-07-28Commercial Press NEGOTIATION86Bernardo Dominic
1008James A FigeroaGermany2025-08-24Feiner Bros PROPOSAL84Bernardo Dominic
1009Johnson E FollerUnited Kingdom2025-08-02Commercial Press PROPOSAL27Onyama Limba
1010Mujtaba B StensethFrance2025-08-23Benton, John B Jr NEW8Stephen Shaw
1011Adams A NestleIndia2025-08-08Feltz Printing Service UNQUALIFIED16Ivan Magalhaes
1012Darci D SaylorsCanada2025-08-16Printing Dimensions NEGOTIATION35Ioni Bowcher
1013Alejandro L RulapaughBrazil2025-08-21Feiner Bros UNQUALIFIED78Ivan Magalhaes
1014Adams H RulapaughUnited Kingdom2025-07-27Morlong Associates RENEWAL40Amy Elsner
1015Arvin Q BowleyBrazil2025-08-15Dorl, James J Esq QUALIFIED43Stephen Shaw
1016Kadeem W WaycottAustralia2025-08-10Benton, John B Jr PROPOSAL33Bernardo Dominic
1017Jennifer K SergiIndia2025-08-07Printing Dimensions PROPOSAL49Onyama Limba
1018Clifford F WieserArgentina2025-08-20Rangoni Of Florence NEGOTIATION78Bernardo Dominic
1019Smith I GauchoAustralia2025-08-17Rangoni Of Florence PROPOSAL84Bernardo Dominic
1020Faith Z BriddickItaly2025-08-01Chanay, Jeffrey A Esq NEW53Xuxue Feng
1021Costa O AmigonSpain2025-08-18Rangoni Of Florence NEGOTIATION30Elwin Sharvill
1022Stacey K FerenczRussia2025-08-13Chanay, Jeffrey A Esq NEGOTIATION92Elwin Sharvill
1023Nicolas J FlosiRussia2025-07-28Chapman, Ross E Esq PROPOSAL59Bernardo Dominic
1024Jennifer L GarufiSpain2025-08-05Benton, John B Jr QUALIFIED55Ioni Bowcher
1025Sinclair X KuskoSpain2025-08-17Benton, John B Jr PROPOSAL60Bernardo Dominic
1026Misaki D OldroydBrazil2025-08-18Dorl, James J Esq PROPOSAL69Amy Elsner
1027Adams D RulapaughFrance2025-08-01Dorl, James J Esq QUALIFIED77Asiya Javayant
1028Darci I CampainItaly2025-08-05Chanay, Jeffrey A Esq PROPOSAL55Anna Fali
1029Izzy U SlusarskiItaly2025-08-15Rousseaux, Michael Esq NEGOTIATION88Ioni Bowcher
1030Maisha N OstroskyFrance2025-08-12Feiner Bros QUALIFIED57Onyama Limba
1031Kaitlin S ShinkoArgentina2025-08-25Morlong Associates NEGOTIATION29Ivan Magalhaes
1032Francesco P SlusarskiJapan2025-08-07Morlong Associates NEGOTIATION15Asiya Javayant
1033Mayumi G StensethGermany2025-08-02Printing Dimensions UNQUALIFIED72Bernardo Dominic
1034Deepesh O GarufiUnited Kingdom2025-08-19Printing Dimensions UNQUALIFIED13Asiya Javayant
1035Salvatore N DarakjyGermany2025-08-03Dorl, James J Esq PROPOSAL5Elwin Sharvill
1036Deepesh G RoysterGermany2025-08-12Chemel, James L Cpa RENEWAL22Bernardo Dominic
1037Antonio J OldroydSpain2025-08-05Buckley Miller Wright NEW95Anna Fali
1038Emily H DoeJapan2025-08-01Benton, John B Jr NEW74Xuxue Feng
1039Aruna L SchemmerIndia2025-08-04Commercial Press UNQUALIFIED63Amy Elsner
1040Mayumi Z MacleadArgentina2025-08-13Chanay, Jeffrey A Esq QUALIFIED39Asiya Javayant
1041Francesco U CampainGermany2025-08-20Chapman, Ross E Esq NEGOTIATION1Asiya Javayant
1042Smith Y FigeroaItaly2025-08-20Feiner Bros PROPOSAL84Ioni Bowcher
1043Clifford U FlosiJapan2025-08-23Truhlar And Truhlar Attys RENEWAL44Amy Elsner
1044Morrow L FlosiAustralia2025-08-02Feiner Bros UNQUALIFIED27Onyama Limba
1045James Y GauchoItaly2025-08-01Printing Dimensions NEGOTIATION80Bernardo Dominic
1046Jennifer V NickaIndia2025-07-28King, Christopher A Esq UNQUALIFIED20Anna Fali
1047Isabel I PoquetteFrance2025-07-30Feiner Bros NEGOTIATION54Anna Fali
1048Kaitlin S FollerIndia2025-08-16King, Christopher A Esq UNQUALIFIED75Xuxue Feng
1049Maria M RulapaughBrazil2025-08-08Chanay, Jeffrey A Esq QUALIFIED85Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Morrow G ButtBrazilBernardo Dominic NEW
Silvio R MorascaAustraliaElwin Sharvill PROPOSAL
Arvin R OstroskyIndiaStephen Shaw NEGOTIATION
Adams V DilliardFranceXuxue Feng UNQUALIFIED
Kaitlin K PerinFranceIoni Bowcher NEGOTIATION
Costa P GarufiBrazilXuxue Feng RENEWAL
Jefferson K NickaRussiaIvan Magalhaes NEW
Darci P WieserJapanOnyama Limba NEGOTIATION
Alejandro L NestleGermanyStephen Shaw UNQUALIFIED
Silvio H CaldareraBrazilIoni Bowcher RENEWAL
Jones X VenereAustraliaAnna Fali QUALIFIED
Costa C CampainAustraliaIoni Bowcher QUALIFIED
Ricardo E PaprockiSpainOnyama Limba UNQUALIFIED
Jones J GillianAustraliaOnyama Limba PROPOSAL
Rodrigues V BriddickFranceAsiya Javayant PROPOSAL
Kadeem J PaprockiJapanXuxue Feng NEW
Costa I SaylorsGermanyAnna Fali QUALIFIED
Morrow O SlusarskiArgentinaBernardo Dominic RENEWAL
Kadeem Y WaycottRussiaIoni Bowcher NEW
Morrow S SaylorsUnited KingdomXuxue Feng NEGOTIATION
Stacey N FollerBrazilAmy Elsner RENEWAL
Jones X RimBrazilAnna Fali NEGOTIATION
Stacey J MaletGermanyAnna Fali NEW
Mujtaba I SchemmerArgentinaBernardo Dominic NEGOTIATION
Morrow E RulapaughJapanOnyama Limba RENEWAL
Aruna Z FigeroaFranceIvan Magalhaes QUALIFIED
Ivar Y RutaCanadaOnyama Limba NEW
Wickens H GauchoGermanyBernardo Dominic NEW
Alejandro S WaycottArgentinaXuxue Feng UNQUALIFIED
Deepesh K WaycottCanadaBernardo Dominic PROPOSAL
Jones M TollnerGermanyAmy Elsner QUALIFIED
Antonio Y StockhamIndiaIoni Bowcher PROPOSAL
Aika C ChuiRussiaElwin Sharvill RENEWAL
Ivar V ShinkoCanadaAsiya Javayant NEW
Chavez M PerinUnited KingdomAsiya Javayant NEGOTIATION
Mujtaba D FlosiItalyIoni Bowcher QUALIFIED
Ivar J WieserGermanyElwin Sharvill RENEWAL
Chavez T PerinCanadaOnyama Limba NEW
Cody H ButtUnited KingdomAnna Fali UNQUALIFIED
Leja D InouyeBrazilIvan Magalhaes UNQUALIFIED
Clifford V RimBrazilAnna Fali RENEWAL
Jennifer C MarrierJapanElwin Sharvill UNQUALIFIED
Morrow W SergiUnited KingdomAnna Fali NEW
Alejandro T SergiBrazilAsiya Javayant PROPOSAL
Faith K PerinBrazilIoni Bowcher UNQUALIFIED
Salvatore S KolmetzSpainStephen Shaw NEW
Ricardo V PoquetteArgentinaElwin Sharvill PROPOSAL
Rodrigues M GlickCanadaAmy Elsner UNQUALIFIED
Wickens R AmigonBrazilIvan Magalhaes QUALIFIED
Maisha I BriddickItalyAnna Fali UNQUALIFIED
Frozen Columns
Name
Ashley W Dilliard
Mujtaba T Perin
Jones B Figeroa
Aditya D Kusko
Cody S Doe
Munro Y Doe
David B Perin
Ashley Q Saylors
Rodrigues Z Whobrey
Arvin A Nestle
Stacey E Oldroyd
Rodrigues R Foller
Costa H Waycott
Francesco V Dilliard
Francesco D Perin
Wickens S Caudy
Smith W Ferencz
Jeanfrancois N Campain
Aika L Malet
Aditya H Chui
Deepesh V Malet
Stacey N Ostrosky
Octavia V Morasca
Smith L Malet
Aditya Q Gaucho
Izzy W Dilliard
Nicolas M Wieser
Clifford Y Paprocki
Chavez F Oldroyd
Murillo K Bowley
Maisha G Oldroyd
Leon I Sergi
Ivar B Sergi
Salvatore T Darakjy
Aruna D Iturbide
Alejandro V Glick
Aika T Shinko
Izzy O Rim
Adams B Waycott
Aika A Saylors
Tony B Ferencz
Aruna I Kolmetz
Silvio D Iturbide
Wickens U Stockham
Ivar M Schemmer
Rodrigues E Campain
Mujtaba Q Kolmetz
Aditya X Darakjy
Nicolas K Royster
Emily D Stockham
IdCountryDate
1000Argentina2025-07-27
1001Argentina2025-08-12
1002Italy2025-08-23
1003United Kingdom2025-07-31
1004Australia2025-08-22
1005Argentina2025-08-10
1006Spain2025-07-29
1007Canada2025-08-22
1008Japan2025-07-27
1009Italy2025-08-12
1010Brazil2025-08-11
1011Japan2025-08-15
1012Canada2025-08-11
1013France2025-08-05
1014Russia2025-08-06
1015Italy2025-08-16
1016Brazil2025-08-13
1017Japan2025-08-16
1018France2025-08-02
1019Japan2025-07-30
1020Australia2025-08-07
1021Germany2025-08-24
1022Argentina2025-08-18
1023Australia2025-08-06
1024Russia2025-08-20
1025Germany2025-08-14
1026India2025-08-23
1027India2025-08-25
1028Italy2025-07-29
1029Spain2025-08-05
1030Brazil2025-08-14
1031India2025-08-19
1032Brazil2025-08-08
1033Australia2025-08-21
1034United Kingdom2025-08-02
1035Russia2025-08-23
1036France2025-07-27
1037Canada2025-08-20
1038India2025-07-28
1039United Kingdom2025-08-02
1040Australia2025-07-30
1041United Kingdom2025-08-07
1042Russia2025-08-01
1043Argentina2025-08-19
1044Canada2025-08-12
1045United Kingdom2025-07-29
1046Germany2025-08-02
1047Argentina2025-08-07
1048Canada2025-08-18
1049Canada2025-07-28

On-Demand Data

NameIdCountryDate
Silvio N Chui1000Japan2025-08-25
James V Stockham1001Russia2025-08-25
Greenwood D Chui1002United Kingdom2025-07-30
Aika C Tollner1003India2025-08-13
Juan E Butt1004France2025-08-23
Silvio B Doe1005Brazil2025-08-10
Emily B Kolmetz1006Italy2025-08-03
Greenwood D Rim1007France2025-07-30
Isabel Z Caudy1008Japan2025-08-13
Misaki I Inouye1009United Kingdom2025-08-13
Wickens D Chui1010India2025-08-01
Octavia T Marrier1011Russia2025-08-17
Aditya Q Rulapaugh1012Italy2025-08-07
Arvin D Gillian1013Japan2025-08-12
Isabel F Waycott1014Italy2025-08-13
Chavez E Gaucho1015France2025-08-22
Claire I Foller1016France2025-08-23
Deepesh X Iturbide1017Japan2025-07-31
Cody B Morasca1018France2025-08-17
Alejandro N Bowley1019Germany2025-08-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio U GlickRussiaAsiya Javayant UNQUALIFIED
Ricardo S KolmetzRussiaIvan Magalhaes NEGOTIATION
Chavez H AmigonBrazilAnna Fali PROPOSAL
Isabel O RimJapanXuxue Feng NEW
Mujtaba C PerinSpainIvan Magalhaes RENEWAL
Isabel B RulapaughSpainElwin Sharvill RENEWAL
Jones C SlusarskiIndiaAmy Elsner PROPOSAL
Jeanfrancois X AmigonRussiaAmy Elsner QUALIFIED
Isabel Q SlusarskiUnited KingdomBernardo Dominic NEW
Faith U MorascaAustraliaAmy Elsner NEGOTIATION
Julie C VenereFranceElwin Sharvill NEGOTIATION
Jefferson R RimFranceXuxue Feng UNQUALIFIED
Kaitlin Y TollnerIndiaBernardo Dominic PROPOSAL
Kaitlin N PaprockiAustraliaIoni Bowcher RENEWAL
Nicolas Y MaletAustraliaOnyama Limba RENEWAL
Leja S StensethCanadaAsiya Javayant NEGOTIATION
Antonio A BriddickRussiaIoni Bowcher UNQUALIFIED
Smith N SergiItalyAsiya Javayant UNQUALIFIED
Francesco B WhobreyGermanyElwin Sharvill PROPOSAL
David W AmigonRussiaAmy Elsner NEW
Misaki G RoysterAustraliaAsiya Javayant NEW
Munro X StensethArgentinaAsiya Javayant QUALIFIED
Jefferson V WhobreyItalyIoni Bowcher UNQUALIFIED
David L DarakjyIndiaStephen Shaw PROPOSAL
Jeanfrancois N PaprockiSpainAmy Elsner NEGOTIATION
Aditya G ChuiGermanyXuxue Feng QUALIFIED
Aditya J VocelkaGermanyAnna Fali NEGOTIATION
Johnson L GarufiJapanOnyama Limba RENEWAL
Johnson W ButtJapanOnyama Limba QUALIFIED
James E OstroskyCanadaStephen Shaw NEW
Stacey B RulapaughSpainAsiya Javayant UNQUALIFIED
Jeanfrancois Z VenereFranceStephen Shaw UNQUALIFIED
Aruna C StockhamAustraliaAmy Elsner NEW
Francesco D WhobreyUnited KingdomAnna Fali NEW
Morrow H PoquetteJapanXuxue Feng RENEWAL
Jennifer S GlickJapanIvan Magalhaes RENEWAL
Alejandro L StockhamArgentinaElwin Sharvill UNQUALIFIED
Ashley N GlickGermanyAmy Elsner UNQUALIFIED
Ricardo N VocelkaRussiaElwin Sharvill RENEWAL
Claire D BologniaIndiaStephen Shaw QUALIFIED

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