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
Arvin L VenereAustraliaElwin Sharvill RENEWAL
Deepesh R SaylorsGermanyIoni Bowcher QUALIFIED
Clifford N MaletArgentinaAsiya Javayant NEW
Jefferson D DoeSpainElwin Sharvill NEW
Aika D RutaArgentinaElwin Sharvill UNQUALIFIED
Adams S OldroydUnited KingdomElwin Sharvill NEW
Izzy M MaletJapanBernardo Dominic QUALIFIED
Aditya H SchemmerItalyOnyama Limba QUALIFIED
Chavez E NestleIndiaIoni Bowcher QUALIFIED
Smith D GillianArgentinaOnyama Limba QUALIFIED
Emily U IturbideIndiaOnyama Limba QUALIFIED
Sinclair S MorascaBrazilAnna Fali RENEWAL
Ricardo T FollerCanadaBernardo Dominic NEGOTIATION
Alejandro Q RoysterAustraliaElwin Sharvill QUALIFIED
Juan U StockhamFranceOnyama Limba RENEWAL
Ivar D InouyeCanadaAmy Elsner NEGOTIATION
Ricardo R OldroydRussiaIvan Magalhaes UNQUALIFIED
Ricardo O KuskoIndiaIoni Bowcher NEGOTIATION
Clifford S MorascaJapanOnyama Limba PROPOSAL
Stacey Z MaletCanadaAsiya Javayant QUALIFIED
Sinclair Q DoeItalyBernardo Dominic PROPOSAL
Aruna J MarrierFranceAmy Elsner QUALIFIED
Jennifer A KuskoArgentinaElwin Sharvill NEW
Maria X RutaBrazilIvan Magalhaes UNQUALIFIED
Alejandro Z GlickAustraliaAnna Fali NEGOTIATION
Ivar O MarrierBrazilIvan Magalhaes NEW
Adams O VocelkaAustraliaElwin Sharvill NEGOTIATION
Ashley B DarakjyArgentinaElwin Sharvill PROPOSAL
Jennifer Q PoquetteJapanAsiya Javayant RENEWAL
Leon J DoeRussiaAmy Elsner UNQUALIFIED
Tony Z ChuiSpainElwin Sharvill NEW
Maria R RimArgentinaElwin Sharvill NEW
David U MacleadCanadaIvan Magalhaes UNQUALIFIED
Isabel G FlosiSpainBernardo Dominic NEW
Maria Y PaprockiUnited KingdomAsiya Javayant QUALIFIED
Ricardo R ButtJapanXuxue Feng NEGOTIATION
Jefferson K VenereJapanStephen Shaw PROPOSAL
Jefferson M PaprockiBrazilIvan Magalhaes RENEWAL
Aika F AmigonAustraliaXuxue Feng NEW
Maria J NickaFranceAmy Elsner UNQUALIFIED
Aditya Z DarakjySpainIoni Bowcher RENEWAL
Nicolas H SaylorsFranceStephen Shaw QUALIFIED
Emily X MacleadJapanAmy Elsner QUALIFIED
Jones I ShinkoUnited KingdomIvan Magalhaes NEGOTIATION
Salvatore A BowleyJapanOnyama Limba RENEWAL
Ivar D FlosiBrazilAmy Elsner NEGOTIATION
Morrow I GlickItalyElwin Sharvill UNQUALIFIED
Maisha U CampainSpainIoni Bowcher NEGOTIATION
Aditya T MacleadJapanAnna Fali NEGOTIATION
Murillo V IturbideGermanyAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Antonio I WhobreyItalyAmy Elsner UNQUALIFIED
Juan Q FollerSpainAmy Elsner NEGOTIATION
Ricardo A RoysterJapanAsiya Javayant QUALIFIED
Isabel X MorascaArgentinaIvan Magalhaes NEGOTIATION
Misaki T MaletIndiaOnyama Limba RENEWAL
Cody H ButtJapanBernardo Dominic NEGOTIATION
Aika I PoquetteItalyElwin Sharvill NEW
Antonio G KuskoJapanAsiya Javayant QUALIFIED
Nicolas M VocelkaUnited KingdomStephen Shaw RENEWAL
Claire R OstroskyAustraliaIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi T InouyeRussia2025-08-27Printing Dimensions UNQUALIFIED0Xuxue Feng
1001Tony R TollnerRussia2025-08-05King, Christopher A Esq NEW37Xuxue Feng
1002Mayumi Q CaldareraItaly2025-08-22Buckley Miller Wright NEW59Elwin Sharvill
1003Jones K GillianArgentina2025-08-27Feiner Bros NEGOTIATION40Onyama Limba
1004Ashley O GlickCanada2025-08-15King, Christopher A Esq PROPOSAL79Ioni Bowcher
1005Mujtaba G FlosiUnited Kingdom2025-08-05King, Christopher A Esq RENEWAL51Anna Fali
1006Aditya H GauchoIndia2025-08-26Chemel, James L Cpa PROPOSAL79Anna Fali
1007Kaitlin C RutaJapan2025-08-11Morlong Associates NEGOTIATION40Amy Elsner
1008Salvatore B FlosiArgentina2025-08-15Dorl, James J Esq UNQUALIFIED24Elwin Sharvill
1009James U RulapaughUnited Kingdom2025-08-26Feltz Printing Service RENEWAL43Asiya Javayant
1010Leja V GauchoItaly2025-08-08Printing Dimensions UNQUALIFIED60Elwin Sharvill
1011Antonio P AlbaresFrance2025-08-24King, Christopher A Esq NEW83Ioni Bowcher
1012Juan U DarakjyCanada2025-07-30Chapman, Ross E Esq NEW69Stephen Shaw
1013Alejandro I MaletGermany2025-08-19King, Christopher A Esq QUALIFIED62Anna Fali
1014Emily D MorascaItaly2025-08-11Chanay, Jeffrey A Esq NEGOTIATION87Xuxue Feng
1015Mayumi M SchemmerJapan2025-08-07Chapman, Ross E Esq RENEWAL27Stephen Shaw
1016Deepesh P DarakjyJapan2025-08-17Rousseaux, Michael Esq NEW60Xuxue Feng
1017Claire R DoeSpain2025-08-26Morlong Associates NEGOTIATION86Ivan Magalhaes
1018Leja I ChuiRussia2025-08-03Truhlar And Truhlar Attys PROPOSAL66Xuxue Feng
1019Johnson R RutaArgentina2025-08-06Chanay, Jeffrey A Esq UNQUALIFIED78Anna Fali
1020Leon C MaletIndia2025-08-24Chanay, Jeffrey A Esq NEGOTIATION23Stephen Shaw
1021Izzy Z NickaJapan2025-08-25Rangoni Of Florence UNQUALIFIED66Elwin Sharvill
1022Arvin X RutaGermany2025-08-20Feltz Printing Service RENEWAL90Stephen Shaw
1023Smith G PaprockiRussia2025-08-18Rousseaux, Michael Esq NEW2Elwin Sharvill
1024Smith R VenereBrazil2025-08-24Printing Dimensions NEGOTIATION88Bernardo Dominic
1025Smith W GarufiFrance2025-08-12Truhlar And Truhlar Attys NEW14Anna Fali
1026Aruna P KuskoItaly2025-08-19Feltz Printing Service QUALIFIED35Xuxue Feng
1027Jones U AlbaresBrazil2025-08-10Chapman, Ross E Esq UNQUALIFIED86Ioni Bowcher
1028Mayumi R StensethCanada2025-08-05Buckley Miller Wright UNQUALIFIED40Anna Fali
1029Leon U FollerSpain2025-08-17Morlong Associates RENEWAL56Amy Elsner
1030Misaki K CaldareraItaly2025-08-02Buckley Miller Wright QUALIFIED45Elwin Sharvill
1031Ivar L DarakjyJapan2025-08-06King, Christopher A Esq QUALIFIED2Anna Fali
1032Nicolas Y PerinFrance2025-08-13Chemel, James L Cpa RENEWAL42Onyama Limba
1033Arvin X MaletAustralia2025-08-15Printing Dimensions PROPOSAL88Elwin Sharvill
1034Sinclair F KuskoFrance2025-08-12Buckley Miller Wright UNQUALIFIED28Anna Fali
1035Salvatore U WieserRussia2025-08-17Feltz Printing Service NEW1Xuxue Feng
1036Cody O OldroydIndia2025-08-20Printing Dimensions NEW2Anna Fali
1037Smith A FerenczCanada2025-08-16Chanay, Jeffrey A Esq RENEWAL42Onyama Limba
1038Greenwood X WaycottUnited Kingdom2025-08-08Rangoni Of Florence PROPOSAL6Anna Fali
1039Nicolas C AlbaresJapan2025-08-17King, Christopher A Esq NEGOTIATION39Stephen Shaw
1040Arvin H SergiIndia2025-08-07Chapman, Ross E Esq NEGOTIATION88Ioni Bowcher
1041Munro P MacleadGermany2025-08-03Morlong Associates RENEWAL91Ioni Bowcher
1042Leja F FollerSpain2025-08-05Dorl, James J Esq NEW86Ivan Magalhaes
1043Ivar B DilliardJapan2025-08-25King, Christopher A Esq RENEWAL23Asiya Javayant
1044Murillo B MorascaItaly2025-07-30Morlong Associates PROPOSAL36Ivan Magalhaes
1045Leja S ChuiAustralia2025-08-09Dorl, James J Esq QUALIFIED83Onyama Limba
1046Tony B MaletJapan2025-08-01Dorl, James J Esq NEGOTIATION38Elwin Sharvill
1047Ashley R CaudyBrazil2025-08-08Chemel, James L Cpa RENEWAL84Elwin Sharvill
1048Antonio C DoeBrazil2025-08-21Benton, John B Jr NEGOTIATION11Asiya Javayant
1049Jones J GillianAustralia2025-08-14Buckley Miller Wright RENEWAL29Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Adams K GillianSpainOnyama Limba UNQUALIFIED
Mayumi H WieserUnited KingdomAsiya Javayant QUALIFIED
Julie D FerenczItalyElwin Sharvill NEW
Darci E PaprockiSpainAsiya Javayant UNQUALIFIED
Salvatore Z CaudyGermanyElwin Sharvill QUALIFIED
Octavia Z SchemmerIndiaIvan Magalhaes NEW
Jefferson U SaylorsItalyAnna Fali UNQUALIFIED
Aruna Q DarakjySpainXuxue Feng NEW
Munro O MarrierRussiaXuxue Feng UNQUALIFIED
Jefferson J ShinkoIndiaOnyama Limba NEGOTIATION
Ricardo T VocelkaIndiaOnyama Limba UNQUALIFIED
Sinclair Y CampainRussiaIvan Magalhaes RENEWAL
Izzy E FollerUnited KingdomOnyama Limba UNQUALIFIED
Chavez R BologniaItalyOnyama Limba QUALIFIED
Isabel V MaletAustraliaBernardo Dominic RENEWAL
Arvin T OldroydRussiaAnna Fali NEW
Misaki H ButtBrazilBernardo Dominic QUALIFIED
Costa X SaylorsGermanyIvan Magalhaes NEW
Aika S FollerFranceXuxue Feng PROPOSAL
Arvin U MacleadFranceIoni Bowcher RENEWAL
Aika T NestleJapanBernardo Dominic NEGOTIATION
Jones D IturbideAustraliaStephen Shaw QUALIFIED
Silvio S SlusarskiAustraliaBernardo Dominic RENEWAL
Jones E VenereRussiaOnyama Limba UNQUALIFIED
Jennifer Q AlbaresFranceAmy Elsner QUALIFIED
Kadeem C CaudyArgentinaXuxue Feng PROPOSAL
Cody K MarrierSpainBernardo Dominic UNQUALIFIED
Octavia G DilliardFranceAsiya Javayant PROPOSAL
Misaki O KolmetzBrazilIoni Bowcher RENEWAL
Julie U StensethAustraliaAsiya Javayant PROPOSAL
Isabel J SlusarskiGermanyBernardo Dominic NEW
Juan U GlickJapanElwin Sharvill NEW
James X OstroskyCanadaXuxue Feng QUALIFIED
Costa L SlusarskiCanadaAnna Fali PROPOSAL
Jefferson W KolmetzSpainXuxue Feng RENEWAL
Rodrigues B RimArgentinaIoni Bowcher UNQUALIFIED
Jennifer W StensethRussiaXuxue Feng UNQUALIFIED
Kaitlin O IturbideSpainAmy Elsner NEW
Ricardo Z ButtUnited KingdomBernardo Dominic QUALIFIED
Cody L GlickGermanyOnyama Limba NEW
Adams T MarrierBrazilBernardo Dominic UNQUALIFIED
Misaki L PoquetteJapanIvan Magalhaes PROPOSAL
Smith V GlickIndiaXuxue Feng PROPOSAL
Morrow U SaylorsFranceAmy Elsner NEW
Mujtaba F OldroydFranceElwin Sharvill PROPOSAL
James O FlosiItalyAnna Fali NEGOTIATION
Cody I AlbaresFranceStephen Shaw UNQUALIFIED
Ricardo G NickaItalyOnyama Limba UNQUALIFIED
Morrow V ShinkoCanadaBernardo Dominic PROPOSAL
Rodrigues V InouyeFranceIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Ivar M Albares
Emily Q Garufi
Izzy R Dilliard
Costa I Nestle
Maria O Oldroyd
Juan B Gaucho
Chavez J Wieser
Silvio N Bowley
Ashley U Campain
Alejandro P Vocelka
Claire X Butt
Aditya G Shinko
Silvio X Briddick
Jeanfrancois K Gillian
Juan P Royster
Jefferson F Iturbide
Chavez Y Saylors
Rodrigues B Malet
Greenwood B Stenseth
Izzy F Ruta
Johnson I Slusarski
Greenwood T Malet
Faith Q Gillian
Deepesh E Gillian
Aruna B Marrier
Leja L Kusko
Alejandro U Venere
Ricardo D Wieser
Julie X Inouye
Darci X Shinko
Munro I Darakjy
Stacey O Caudy
Clifford R Vocelka
Adams K Vocelka
Nicolas P Bolognia
Smith K Bowley
Greenwood U Ruta
Mujtaba T Malet
Deepesh R Ruta
Alejandro B Rulapaugh
Smith V Vocelka
Faith G Garufi
Emily S Venere
James P Campain
Silvio N Shinko
Ashley A Rulapaugh
Aika D Caldarera
Smith N Bolognia
Maisha O Ostrosky
Francesco Y Stenseth
IdCountryDate
1000United Kingdom2025-08-12
1001Italy2025-08-06
1002Canada2025-08-28
1003Australia2025-08-01
1004Germany2025-08-16
1005Japan2025-08-24
1006France2025-07-31
1007Germany2025-08-06
1008Spain2025-07-30
1009Japan2025-08-18
1010United Kingdom2025-08-26
1011Australia2025-08-14
1012Germany2025-08-06
1013Germany2025-08-13
1014Russia2025-08-08
1015Japan2025-07-31
1016France2025-07-30
1017Australia2025-07-30
1018Russia2025-08-27
1019Canada2025-08-15
1020Spain2025-08-14
1021Germany2025-08-02
1022Germany2025-08-14
1023Germany2025-08-22
1024Brazil2025-08-17
1025Canada2025-07-30
1026India2025-08-19
1027India2025-08-02
1028India2025-08-28
1029United Kingdom2025-08-23
1030Russia2025-08-22
1031Australia2025-08-28
1032France2025-08-27
1033France2025-08-14
1034France2025-08-03
1035Spain2025-08-01
1036United Kingdom2025-08-25
1037Italy2025-08-11
1038Russia2025-08-15
1039Spain2025-08-18
1040France2025-08-01
1041United Kingdom2025-08-05
1042France2025-08-03
1043Argentina2025-08-24
1044Canada2025-08-19
1045Germany2025-08-24
1046Spain2025-08-03
1047Argentina2025-08-19
1048Argentina2025-08-06
1049India2025-08-22

On-Demand Data

NameIdCountryDate
Nicolas Q Oldroyd1000United Kingdom2025-08-27
Salvatore J Stenseth1001Italy2025-08-22
Chavez X Sergi1002Russia2025-08-12
Jeanfrancois F Ruta1003Germany2025-08-25
Smith A Saylors1004Spain2025-08-01
Smith J Darakjy1005Germany2025-08-24
Chavez R Nicka1006Argentina2025-08-20
Munro B Garufi1007United Kingdom2025-08-11
Silvio T Royster1008Germany2025-07-31
Ivar K Glick1009Japan2025-08-02
Clifford D Stockham1010Canada2025-08-11
Maisha S Rulapaugh1011Canada2025-08-15
Salvatore E Figeroa1012Germany2025-08-09
Ricardo V Nicka1013Argentina2025-08-03
Izzy V Vocelka1014Italy2025-08-23
Stacey H Wieser1015Brazil2025-08-07
Antonio O Nestle1016India2025-08-28
Deepesh C Dilliard1017India2025-08-20
Kaitlin Z Vocelka1018India2025-08-26
Deepesh V Flosi1019France2025-08-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna Y GarufiAustraliaXuxue Feng NEW
Mayumi L FlosiSpainXuxue Feng UNQUALIFIED
Clifford K KolmetzGermanyXuxue Feng UNQUALIFIED
Claire A RulapaughJapanOnyama Limba NEGOTIATION
Arvin L GillianAustraliaOnyama Limba RENEWAL
Leja X GillianIndiaAmy Elsner RENEWAL
Faith L FerenczCanadaAnna Fali QUALIFIED
Antonio M RutaRussiaIoni Bowcher RENEWAL
Mayumi U PoquetteIndiaAnna Fali UNQUALIFIED
Leja D PaprockiSpainAmy Elsner NEGOTIATION
Silvio P StockhamRussiaOnyama Limba NEW
Deepesh S InouyeUnited KingdomIvan Magalhaes RENEWAL
Misaki S DilliardFranceAnna Fali UNQUALIFIED
Rodrigues R DilliardCanadaOnyama Limba PROPOSAL
Kaitlin E KuskoRussiaBernardo Dominic QUALIFIED
Rodrigues E FlosiIndiaAsiya Javayant NEW
Ricardo C FigeroaAustraliaElwin Sharvill UNQUALIFIED
Salvatore J RutaSpainStephen Shaw NEGOTIATION
Octavia U NestleRussiaIoni Bowcher NEW
Murillo F PoquetteSpainElwin Sharvill PROPOSAL
Jeanfrancois T GillianFranceOnyama Limba PROPOSAL
Ashley Y SlusarskiArgentinaIoni Bowcher QUALIFIED
Tony A DarakjyGermanyIvan Magalhaes PROPOSAL
Murillo P AmigonArgentinaXuxue Feng NEW
Costa L FerenczItalyAnna Fali RENEWAL
Misaki N BologniaAustraliaOnyama Limba QUALIFIED
Aika H InouyeRussiaStephen Shaw NEW
Salvatore M OstroskyUnited KingdomAnna Fali RENEWAL
Adams Z MorascaArgentinaStephen Shaw RENEWAL
Kadeem P FlosiUnited KingdomBernardo Dominic NEW
Nicolas V FlosiSpainElwin Sharvill QUALIFIED
Antonio E OldroydCanadaOnyama Limba RENEWAL
Aika J WhobreySpainElwin Sharvill NEW
Wickens G DilliardAustraliaAnna Fali NEGOTIATION
Costa K FigeroaItalyIvan Magalhaes NEGOTIATION
Stacey O RulapaughFranceAnna Fali QUALIFIED
Johnson N BriddickRussiaStephen Shaw RENEWAL
Mayumi R RutaAustraliaIvan Magalhaes NEGOTIATION
Kaitlin Y NickaAustraliaElwin Sharvill NEW
Juan T KolmetzJapanAnna 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>