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
Greenwood C MarrierAustraliaStephen Shaw RENEWAL
Izzy T FerenczUnited KingdomStephen Shaw NEW
Greenwood G FigeroaSpainIoni Bowcher PROPOSAL
Ricardo F FerenczJapanAnna Fali QUALIFIED
Jones I GarufiItalyOnyama Limba QUALIFIED
Munro X GauchoJapanIvan Magalhaes QUALIFIED
Darci T AlbaresGermanyIvan Magalhaes NEW
Murillo H StockhamGermanyStephen Shaw NEGOTIATION
Maisha R CampainItalyOnyama Limba QUALIFIED
Antonio Y RimRussiaAsiya Javayant PROPOSAL
Arvin M StockhamItalyAnna Fali RENEWAL
Darci D BriddickBrazilIoni Bowcher QUALIFIED
David O WaycottIndiaBernardo Dominic PROPOSAL
Tony G KuskoAustraliaIvan Magalhaes PROPOSAL
Juan C VenereFranceAmy Elsner NEGOTIATION
Jennifer R KuskoGermanyXuxue Feng QUALIFIED
Greenwood B SaylorsCanadaAmy Elsner QUALIFIED
Jeanfrancois O IturbideGermanyIoni Bowcher NEGOTIATION
Maria U SergiSpainAnna Fali PROPOSAL
Mayumi H MaletRussiaIvan Magalhaes NEGOTIATION
Isabel P PoquetteUnited KingdomIvan Magalhaes RENEWAL
Ashley B SchemmerUnited KingdomOnyama Limba PROPOSAL
Alejandro Z RoysterRussiaElwin Sharvill PROPOSAL
Silvio X DilliardCanadaElwin Sharvill RENEWAL
Morrow N OldroydGermanyIoni Bowcher RENEWAL
Adams I AlbaresAustraliaIvan Magalhaes UNQUALIFIED
Emily A PoquetteJapanBernardo Dominic PROPOSAL
Munro I MacleadGermanyIoni Bowcher NEW
Jefferson N ButtJapanOnyama Limba RENEWAL
Wickens M RulapaughCanadaIoni Bowcher PROPOSAL
Jefferson T DilliardRussiaElwin Sharvill UNQUALIFIED
Mujtaba S BologniaAustraliaXuxue Feng NEGOTIATION
Adams V AlbaresAustraliaElwin Sharvill UNQUALIFIED
Mayumi X VenereArgentinaElwin Sharvill NEW
Isabel Q RimJapanAmy Elsner NEGOTIATION
Isabel J MacleadSpainAmy Elsner QUALIFIED
Jeanfrancois E AmigonGermanyAnna Fali NEW
Costa N SchemmerCanadaBernardo Dominic NEW
Ricardo S CampainGermanyAmy Elsner NEGOTIATION
Kadeem S CaldareraArgentinaStephen Shaw NEW
Aruna V OldroydGermanyIvan Magalhaes NEGOTIATION
Octavia G SergiAustraliaXuxue Feng QUALIFIED
Deepesh Z RimSpainAmy Elsner QUALIFIED
Adams Y FollerCanadaElwin Sharvill NEW
Costa G GarufiIndiaIoni Bowcher QUALIFIED
Julie K PaprockiUnited KingdomStephen Shaw NEGOTIATION
Francesco K SchemmerAustraliaStephen Shaw NEGOTIATION
Kadeem N RimIndiaStephen Shaw NEW
Munro F AmigonArgentinaAmy Elsner QUALIFIED
Rodrigues J KuskoJapanStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Francesco Q SlusarskiFranceAnna Fali UNQUALIFIED
Rodrigues V MarrierSpainAsiya Javayant QUALIFIED
Izzy D OstroskyIndiaIoni Bowcher NEGOTIATION
Aditya J WieserItalyIvan Magalhaes NEW
Antonio Y DarakjyItalyAnna Fali UNQUALIFIED
Nicolas K OldroydItalyAmy Elsner RENEWAL
Maisha H FigeroaArgentinaElwin Sharvill RENEWAL
Stacey Z VocelkaIndiaAnna Fali UNQUALIFIED
Stacey P NestleAustraliaBernardo Dominic NEW
Ricardo I CampainAustraliaStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha K GauchoSpain2025-07-07Rangoni Of Florence NEW88Anna Fali
1001Julie A BologniaRussia2025-07-19Rangoni Of Florence UNQUALIFIED24Ioni Bowcher
1002Faith J OstroskyArgentina2025-07-11Printing Dimensions QUALIFIED67Ivan Magalhaes
1003Claire V OldroydRussia2025-08-01Chemel, James L Cpa NEGOTIATION30Asiya Javayant
1004Misaki K FollerSpain2025-07-10Printing Dimensions UNQUALIFIED18Asiya Javayant
1005Arvin P RoysterIndia2025-07-24Morlong Associates NEW62Anna Fali
1006Chavez J RulapaughBrazil2025-07-08Rangoni Of Florence RENEWAL7Asiya Javayant
1007Costa F BologniaCanada2025-07-15King, Christopher A Esq UNQUALIFIED66Asiya Javayant
1008Izzy X CaudyBrazil2025-07-27Feiner Bros NEGOTIATION50Amy Elsner
1009Emily P FollerRussia2025-08-03Feiner Bros RENEWAL33Onyama Limba
1010Francesco B MaletBrazil2025-07-31Feltz Printing Service NEW19Onyama Limba
1011Jefferson I MorascaRussia2025-07-14Feiner Bros QUALIFIED14Amy Elsner
1012Jefferson N MacleadGermany2025-07-06Chanay, Jeffrey A Esq UNQUALIFIED42Elwin Sharvill
1013Ashley F NestleArgentina2025-07-15Feltz Printing Service PROPOSAL46Bernardo Dominic
1014Smith X BologniaGermany2025-07-07Chanay, Jeffrey A Esq PROPOSAL85Xuxue Feng
1015Morrow K SaylorsUnited Kingdom2025-08-03Chapman, Ross E Esq RENEWAL53Ivan Magalhaes
1016Morrow N BologniaSpain2025-07-22Commercial Press NEW76Ivan Magalhaes
1017Smith Q MaletGermany2025-07-20Morlong Associates RENEWAL1Onyama Limba
1018Aditya E FollerBrazil2025-07-17Rangoni Of Florence PROPOSAL22Anna Fali
1019Francesco G WieserBrazil2025-07-28Feiner Bros PROPOSAL60Xuxue Feng
1020Murillo Q StockhamGermany2025-07-06Printing Dimensions NEGOTIATION15Anna Fali
1021Jennifer I CaldareraAustralia2025-07-28Rousseaux, Michael Esq RENEWAL9Xuxue Feng
1022Misaki H GlickFrance2025-07-28Chanay, Jeffrey A Esq QUALIFIED29Stephen Shaw
1023Greenwood F GillianBrazil2025-08-01Rangoni Of Florence PROPOSAL31Stephen Shaw
1024Leja D GarufiFrance2025-07-17Rangoni Of Florence PROPOSAL3Bernardo Dominic
1025Octavia A VenereRussia2025-08-02Truhlar And Truhlar Attys NEW21Ivan Magalhaes
1026Aika X DilliardGermany2025-07-16Rangoni Of Florence RENEWAL56Asiya Javayant
1027Claire X RutaFrance2025-08-04Benton, John B Jr NEW97Asiya Javayant
1028Aditya G NickaCanada2025-08-04Chanay, Jeffrey A Esq NEGOTIATION54Amy Elsner
1029Kadeem P WaycottBrazil2025-07-22Rangoni Of Florence NEW7Asiya Javayant
1030Aditya R CaldareraUnited Kingdom2025-07-26Chemel, James L Cpa UNQUALIFIED55Ivan Magalhaes
1031Nicolas T KuskoAustralia2025-08-01Chapman, Ross E Esq QUALIFIED78Onyama Limba
1032Costa C StockhamJapan2025-07-19Chapman, Ross E Esq QUALIFIED46Xuxue Feng
1033Maisha H RimIndia2025-07-09Dorl, James J Esq QUALIFIED65Onyama Limba
1034Adams U NickaArgentina2025-07-28Buckley Miller Wright NEW61Ivan Magalhaes
1035Antonio F NickaArgentina2025-07-07Benton, John B Jr PROPOSAL43Asiya Javayant
1036Deepesh O AmigonFrance2025-07-17Dorl, James J Esq RENEWAL9Bernardo Dominic
1037Ricardo I RoysterGermany2025-07-12Commercial Press NEW7Xuxue Feng
1038Aditya Q OldroydRussia2025-08-02Printing Dimensions UNQUALIFIED70Anna Fali
1039Munro Q SlusarskiJapan2025-07-30Chapman, Ross E Esq NEW3Elwin Sharvill
1040Munro V PerinItaly2025-07-08Truhlar And Truhlar Attys UNQUALIFIED24Elwin Sharvill
1041Cody Q PoquetteGermany2025-07-26Truhlar And Truhlar Attys PROPOSAL12Ioni Bowcher
1042Deepesh Z MacleadAustralia2025-07-21Commercial Press PROPOSAL26Amy Elsner
1043Murillo L StensethItaly2025-07-23Feiner Bros QUALIFIED66Elwin Sharvill
1044Francesco R ButtCanada2025-07-23Printing Dimensions NEGOTIATION2Elwin Sharvill
1045David E PaprockiUnited Kingdom2025-07-17Truhlar And Truhlar Attys RENEWAL80Amy Elsner
1046Cody Q FlosiRussia2025-07-21Commercial Press PROPOSAL18Asiya Javayant
1047Ricardo B AmigonAustralia2025-07-10Feltz Printing Service PROPOSAL24Ioni Bowcher
1048Nicolas T FollerArgentina2025-07-11Buckley Miller Wright PROPOSAL42Stephen Shaw
1049Isabel B OstroskySpain2025-07-06Buckley Miller Wright NEGOTIATION21Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
David Z MarrierAustraliaStephen Shaw RENEWAL
Leja F GlickRussiaAsiya Javayant NEGOTIATION
Jennifer G FigeroaItalyAnna Fali RENEWAL
Morrow D FlosiArgentinaStephen Shaw PROPOSAL
Aditya T GillianSpainAnna Fali PROPOSAL
Maisha V BowleyAustraliaOnyama Limba QUALIFIED
Stacey K KuskoSpainBernardo Dominic PROPOSAL
Deepesh N MorascaArgentinaAnna Fali NEW
Izzy W MarrierCanadaOnyama Limba NEGOTIATION
Tony C MorascaRussiaXuxue Feng NEW
Jeanfrancois X MaletIndiaAnna Fali NEW
Smith L WaycottSpainAnna Fali PROPOSAL
Ricardo L InouyeRussiaIoni Bowcher NEW
Ashley K SergiArgentinaAmy Elsner NEGOTIATION
Faith F DilliardUnited KingdomAmy Elsner RENEWAL
Jeanfrancois B MacleadJapanAnna Fali PROPOSAL
Costa C AlbaresIndiaStephen Shaw RENEWAL
Julie H KuskoArgentinaIoni Bowcher NEW
Wickens K GauchoIndiaAmy Elsner UNQUALIFIED
Ashley K OstroskyCanadaStephen Shaw UNQUALIFIED
Darci H DilliardArgentinaIvan Magalhaes QUALIFIED
Maria E ButtItalyElwin Sharvill NEGOTIATION
Faith O VocelkaArgentinaElwin Sharvill PROPOSAL
Darci O MaletRussiaElwin Sharvill PROPOSAL
Smith O InouyeRussiaStephen Shaw QUALIFIED
Stacey H FerenczJapanAsiya Javayant QUALIFIED
Aruna V MorascaGermanyStephen Shaw RENEWAL
Ashley O KolmetzJapanAmy Elsner RENEWAL
Rodrigues P NickaBrazilStephen Shaw UNQUALIFIED
Kadeem N VocelkaGermanyAmy Elsner RENEWAL
David Z BowleyCanadaAnna Fali NEW
Maria G WaycottAustraliaIvan Magalhaes UNQUALIFIED
Jefferson I GlickCanadaXuxue Feng NEW
Darci I SergiGermanyAsiya Javayant RENEWAL
James F AlbaresArgentinaStephen Shaw RENEWAL
Jones R VenereUnited KingdomAsiya Javayant UNQUALIFIED
Antonio R SergiRussiaStephen Shaw UNQUALIFIED
Antonio O BowleyAustraliaBernardo Dominic NEGOTIATION
David W SlusarskiArgentinaElwin Sharvill QUALIFIED
Clifford T MorascaRussiaStephen Shaw PROPOSAL
Rodrigues R DoeAustraliaStephen Shaw NEGOTIATION
Alejandro D GlickGermanyAsiya Javayant QUALIFIED
James F DarakjyItalyElwin Sharvill NEW
Wickens V RoysterBrazilElwin Sharvill NEGOTIATION
Jeanfrancois C ShinkoBrazilIoni Bowcher QUALIFIED
Clifford U InouyeFranceAsiya Javayant QUALIFIED
Claire B FigeroaArgentinaElwin Sharvill PROPOSAL
Isabel Z PoquetteCanadaAmy Elsner NEW
Kaitlin V FollerArgentinaIvan Magalhaes UNQUALIFIED
Leon D NestleGermanyXuxue Feng QUALIFIED
Frozen Columns
Name
Emily X Wieser
Kaitlin N Maclead
Isabel H Glick
Johnson T Inouye
Mujtaba X Doe
Faith Q Schemmer
Misaki Y Garufi
Isabel B Malet
Cody N Amigon
Clifford B Paprocki
Jefferson N Morasca
Alejandro X Poquette
Aditya G Inouye
Alejandro L Campain
Rodrigues B Ostrosky
Leon S Oldroyd
David J Sergi
Claire G Marrier
Juan J Figeroa
Aika C Campain
Cody C Briddick
Tony C Glick
Nicolas F Caldarera
Clifford Z Kolmetz
Stacey A Gillian
Leon Y Inouye
Jones Q Dilliard
Kadeem R Campain
James O Paprocki
Aruna Y Saylors
Antonio D Kolmetz
Wickens B Nicka
Silvio R Malet
Tony Z Venere
Leja M Malet
Maisha K Royster
Jeanfrancois F Glick
Wickens Y Darakjy
Sinclair R Butt
Jeanfrancois E Stenseth
Wickens N Maclead
David L Bowley
Greenwood J Poquette
Jeanfrancois Y Morasca
Johnson X Venere
Maria B Amigon
Stacey U Figeroa
Jones S Marrier
Alejandro K Glick
Aditya J Albares
IdCountryDate
1000United Kingdom2025-07-06
1001Spain2025-07-31
1002United Kingdom2025-07-26
1003Italy2025-07-07
1004Spain2025-08-04
1005Spain2025-07-13
1006Italy2025-07-28
1007France2025-07-21
1008United Kingdom2025-07-20
1009Germany2025-07-08
1010Argentina2025-07-21
1011United Kingdom2025-07-28
1012Japan2025-08-03
1013Japan2025-07-12
1014Germany2025-08-02
1015Australia2025-08-04
1016Russia2025-08-03
1017Russia2025-07-09
1018Australia2025-07-14
1019Japan2025-07-26
1020Russia2025-07-16
1021Germany2025-07-23
1022Italy2025-07-18
1023Italy2025-07-16
1024Australia2025-07-28
1025Germany2025-07-08
1026Japan2025-07-14
1027Spain2025-07-26
1028Italy2025-07-28
1029Argentina2025-07-25
1030Italy2025-07-07
1031Italy2025-07-31
1032Japan2025-07-27
1033France2025-07-21
1034India2025-07-27
1035Italy2025-07-28
1036Argentina2025-07-14
1037Australia2025-07-24
1038France2025-07-27
1039India2025-07-25
1040Brazil2025-07-28
1041Canada2025-07-26
1042Spain2025-07-18
1043France2025-08-01
1044Germany2025-07-19
1045Spain2025-07-17
1046United Kingdom2025-07-29
1047United Kingdom2025-07-24
1048Russia2025-08-02
1049France2025-07-11

On-Demand Data

NameIdCountryDate
Arvin W Rim1000Spain2025-07-24
Kaitlin T Albares1001India2025-07-26
Maria F Flosi1002Canada2025-07-19
Tony L Caudy1003United Kingdom2025-07-27
Smith L Oldroyd1004United Kingdom2025-07-18
Mayumi T Morasca1005Japan2025-07-20
Rodrigues W Ferencz1006Japan2025-07-08
Rodrigues B Figeroa1007United Kingdom2025-07-19
Isabel T Kolmetz1008Brazil2025-07-23
Jennifer K Bolognia1009Canada2025-07-30
Arvin D Chui1010Brazil2025-07-19
Tony U Briddick1011Spain2025-07-28
Leon E Bowley1012Japan2025-08-04
Aruna X Saylors1013Canada2025-07-11
Francesco B Nicka1014Japan2025-07-27
Faith P Doe1015France2025-07-07
Leon G Ruta1016Japan2025-08-04
Antonio C Foller1017Japan2025-07-06
Clifford U Waycott1018Canada2025-07-31
Nicolas J Malet1019Japan2025-07-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James V SchemmerUnited KingdomAnna Fali NEGOTIATION
Deepesh N PoquetteArgentinaOnyama Limba UNQUALIFIED
Cody D OstroskyRussiaXuxue Feng RENEWAL
Francesco V GlickFranceAnna Fali PROPOSAL
Jeanfrancois J SlusarskiRussiaAsiya Javayant QUALIFIED
Jones P MacleadItalyAmy Elsner NEW
Jefferson D FlosiRussiaStephen Shaw NEGOTIATION
Maria D CaldareraSpainAmy Elsner RENEWAL
Adams V BriddickBrazilXuxue Feng NEW
David M PoquetteRussiaIoni Bowcher QUALIFIED
Leon H FigeroaRussiaIoni Bowcher PROPOSAL
Mayumi I BowleyJapanXuxue Feng NEW
Costa I PoquetteCanadaElwin Sharvill UNQUALIFIED
Jones A GauchoJapanElwin Sharvill QUALIFIED
Smith W StensethSpainXuxue Feng NEW
Jones P BriddickRussiaIoni Bowcher NEGOTIATION
Murillo P StockhamRussiaOnyama Limba UNQUALIFIED
Clifford T KuskoItalyXuxue Feng RENEWAL
Kaitlin Y AlbaresItalyIoni Bowcher PROPOSAL
Faith K ShinkoUnited KingdomXuxue Feng PROPOSAL
Misaki L SaylorsCanadaIoni Bowcher NEW
Juan S IturbideCanadaAnna Fali NEGOTIATION
Julie D CampainBrazilElwin Sharvill NEGOTIATION
Faith D OstroskySpainXuxue Feng UNQUALIFIED
Kaitlin X PoquetteArgentinaStephen Shaw QUALIFIED
Wickens Y CaldareraJapanAmy Elsner RENEWAL
Emily L SaylorsAustraliaElwin Sharvill RENEWAL
Johnson Z GarufiGermanyAsiya Javayant NEW
Izzy Q FlosiGermanyElwin Sharvill UNQUALIFIED
Arvin R RulapaughJapanStephen Shaw UNQUALIFIED
Francesco I MaletIndiaAsiya Javayant RENEWAL
Kaitlin H SergiIndiaAsiya Javayant NEW
Jeanfrancois B AlbaresFranceElwin Sharvill RENEWAL
Nicolas P CampainArgentinaElwin Sharvill NEGOTIATION
Aika E FollerCanadaIoni Bowcher QUALIFIED
Kadeem X OldroydIndiaAsiya Javayant PROPOSAL
Johnson P WaycottBrazilStephen Shaw PROPOSAL
Greenwood S KuskoFranceIoni Bowcher RENEWAL
Kaitlin A VocelkaBrazilIoni Bowcher QUALIFIED
Emily X DarakjyJapanAmy Elsner PROPOSAL

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