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
Ricardo B OstroskyIndiaBernardo Dominic NEGOTIATION
Smith G KuskoAustraliaAnna Fali UNQUALIFIED
Julie E StensethSpainStephen Shaw RENEWAL
Aditya E SaylorsRussiaBernardo Dominic NEW
Leja F GillianBrazilAsiya Javayant NEW
Kadeem Z MorascaAustraliaBernardo Dominic PROPOSAL
Octavia G NickaGermanyIvan Magalhaes NEW
Adams K NickaItalyBernardo Dominic NEW
Deepesh U InouyeSpainIvan Magalhaes RENEWAL
Kaitlin B InouyeIndiaOnyama Limba PROPOSAL
Leon F KolmetzSpainOnyama Limba QUALIFIED
Octavia Z FigeroaFranceAsiya Javayant QUALIFIED
Jennifer U MaletBrazilOnyama Limba NEW
Arvin D FollerSpainAmy Elsner NEGOTIATION
Munro T FerenczIndiaBernardo Dominic NEW
Cody W FollerGermanyElwin Sharvill UNQUALIFIED
Julie X CampainRussiaXuxue Feng PROPOSAL
Maisha I AlbaresArgentinaOnyama Limba UNQUALIFIED
Kaitlin C FigeroaUnited KingdomBernardo Dominic QUALIFIED
James M StensethIndiaElwin Sharvill PROPOSAL
Ashley T StensethJapanStephen Shaw UNQUALIFIED
Greenwood M BriddickSpainElwin Sharvill RENEWAL
Morrow P SlusarskiItalyIoni Bowcher PROPOSAL
Maria W FlosiArgentinaAmy Elsner QUALIFIED
Antonio F VenereFranceAmy Elsner PROPOSAL
Izzy O IturbideArgentinaXuxue Feng RENEWAL
Francesco W MacleadJapanAsiya Javayant QUALIFIED
Greenwood Z FigeroaFranceOnyama Limba NEGOTIATION
Morrow Y FlosiArgentinaAmy Elsner QUALIFIED
Faith U WhobreyRussiaElwin Sharvill NEGOTIATION
Ricardo T FollerCanadaXuxue Feng RENEWAL
Darci V AmigonFranceOnyama Limba NEW
Mujtaba H KolmetzIndiaOnyama Limba PROPOSAL
Sinclair B FollerAustraliaXuxue Feng PROPOSAL
Deepesh I DoeBrazilXuxue Feng UNQUALIFIED
Smith K VenereRussiaAsiya Javayant PROPOSAL
David D FlosiUnited KingdomAnna Fali NEW
Ricardo W SaylorsArgentinaIoni Bowcher PROPOSAL
Wickens G CampainBrazilXuxue Feng RENEWAL
Claire B DarakjyRussiaAsiya Javayant RENEWAL
Costa X GillianIndiaAnna Fali PROPOSAL
Salvatore L SlusarskiFranceOnyama Limba PROPOSAL
Chavez X CaldareraAustraliaAsiya Javayant NEGOTIATION
Morrow O KolmetzItalyXuxue Feng UNQUALIFIED
Munro L FigeroaJapanIvan Magalhaes QUALIFIED
Aruna X MaletFranceElwin Sharvill NEGOTIATION
Izzy K AlbaresIndiaStephen Shaw QUALIFIED
Munro I MaletBrazilIvan Magalhaes NEW
Silvio C TollnerAustraliaAnna Fali UNQUALIFIED
Adams T OldroydArgentinaXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Arvin U TollnerBrazilIvan Magalhaes NEW
Maisha B NickaJapanStephen Shaw RENEWAL
Faith N NestleArgentinaXuxue Feng UNQUALIFIED
Rodrigues Z ButtItalyIvan Magalhaes NEW
Nicolas B CaldareraGermanyIoni Bowcher PROPOSAL
James X FigeroaGermanyIoni Bowcher QUALIFIED
Morrow Z OstroskyIndiaOnyama Limba QUALIFIED
Johnson V WaycottJapanAsiya Javayant NEGOTIATION
Clifford N StensethCanadaAnna Fali NEGOTIATION
Jeanfrancois Z SchemmerItalyStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya N BowleySpain2025-09-28Truhlar And Truhlar Attys NEW71Anna Fali
1001Ashley D PerinArgentina2025-10-14Rangoni Of Florence NEW95Ioni Bowcher
1002Julie R GlickBrazil2025-10-16Rangoni Of Florence RENEWAL92Ioni Bowcher
1003Nicolas C RoysterItaly2025-09-27Rousseaux, Michael Esq NEW51Amy Elsner
1004Ivar W RimArgentina2025-10-15Commercial Press RENEWAL8Asiya Javayant
1005Johnson L IturbideIndia2025-10-16Commercial Press NEGOTIATION42Amy Elsner
1006Kadeem W AmigonRussia2025-10-14Chapman, Ross E Esq QUALIFIED69Bernardo Dominic
1007Darci J SergiAustralia2025-10-13Commercial Press PROPOSAL27Ioni Bowcher
1008Morrow O MorascaFrance2025-10-02Commercial Press NEW37Asiya Javayant
1009Aika S CaldareraUnited Kingdom2025-09-22Feltz Printing Service UNQUALIFIED54Anna Fali
1010Smith P StockhamRussia2025-10-16Chanay, Jeffrey A Esq NEW48Amy Elsner
1011Jefferson Z RulapaughFrance2025-10-08Chemel, James L Cpa PROPOSAL7Asiya Javayant
1012Aditya K CaldareraAustralia2025-09-23Morlong Associates PROPOSAL35Amy Elsner
1013Greenwood L MacleadJapan2025-10-02Benton, John B Jr NEW44Ivan Magalhaes
1014Juan L PerinArgentina2025-10-12Chanay, Jeffrey A Esq UNQUALIFIED27Ivan Magalhaes
1015Cody L PerinItaly2025-10-09Printing Dimensions UNQUALIFIED86Ioni Bowcher
1016Costa A WhobreyUnited Kingdom2025-10-15Feiner Bros UNQUALIFIED62Stephen Shaw
1017David O FigeroaItaly2025-10-08Chanay, Jeffrey A Esq NEW76Anna Fali
1018Kadeem P FollerAustralia2025-09-21Morlong Associates QUALIFIED38Amy Elsner
1019Munro E MaletAustralia2025-10-05Feltz Printing Service UNQUALIFIED85Elwin Sharvill
1020Jennifer D IturbideGermany2025-09-27Feiner Bros RENEWAL69Xuxue Feng
1021Morrow X OldroydItaly2025-10-16Buckley Miller Wright NEW30Elwin Sharvill
1022Salvatore J GlickJapan2025-10-04Morlong Associates NEW26Asiya Javayant
1023Munro M ShinkoItaly2025-10-17Commercial Press RENEWAL7Stephen Shaw
1024Alejandro T CaudyCanada2025-10-08Truhlar And Truhlar Attys PROPOSAL57Ivan Magalhaes
1025Maisha G FlosiGermany2025-10-04Buckley Miller Wright RENEWAL74Anna Fali
1026Faith K WieserAustralia2025-10-07Buckley Miller Wright RENEWAL74Ioni Bowcher
1027Julie N CaldareraArgentina2025-10-19Buckley Miller Wright NEGOTIATION94Onyama Limba
1028Greenwood T RutaGermany2025-10-17Feiner Bros NEGOTIATION81Elwin Sharvill
1029Octavia N ChuiCanada2025-09-22Chemel, James L Cpa NEW94Ivan Magalhaes
1030Octavia C ChuiJapan2025-10-02Chemel, James L Cpa NEW71Anna Fali
1031Cody G WieserRussia2025-09-21Feiner Bros QUALIFIED68Bernardo Dominic
1032David E DoeIndia2025-09-28King, Christopher A Esq PROPOSAL63Ivan Magalhaes
1033Rodrigues V RulapaughSpain2025-10-03Dorl, James J Esq NEGOTIATION98Ivan Magalhaes
1034Morrow D ShinkoItaly2025-10-01Dorl, James J Esq NEGOTIATION77Xuxue Feng
1035Silvio G MacleadGermany2025-09-20Rousseaux, Michael Esq QUALIFIED66Anna Fali
1036Rodrigues U PoquetteArgentina2025-10-02Commercial Press NEW69Elwin Sharvill
1037Munro M CaudyAustralia2025-09-25Feiner Bros NEGOTIATION54Asiya Javayant
1038Octavia V FollerRussia2025-10-07Truhlar And Truhlar Attys NEW52Xuxue Feng
1039Maria B MacleadJapan2025-09-25Truhlar And Truhlar Attys QUALIFIED95Onyama Limba
1040Rodrigues Y RutaItaly2025-09-30Rousseaux, Michael Esq NEGOTIATION3Asiya Javayant
1041Clifford J WaycottCanada2025-10-11Benton, John B Jr UNQUALIFIED19Elwin Sharvill
1042Aruna F GillianBrazil2025-09-27Rousseaux, Michael Esq PROPOSAL96Elwin Sharvill
1043Silvio H IturbideCanada2025-10-08Printing Dimensions NEW85Anna Fali
1044Emily F BowleyArgentina2025-10-06King, Christopher A Esq NEGOTIATION74Bernardo Dominic
1045Leja A ChuiAustralia2025-09-30Commercial Press UNQUALIFIED88Ioni Bowcher
1046Mujtaba G MaletBrazil2025-10-09King, Christopher A Esq RENEWAL95Elwin Sharvill
1047Ivar T GlickBrazil2025-09-26King, Christopher A Esq PROPOSAL0Stephen Shaw
1048Francesco P GarufiCanada2025-09-23Truhlar And Truhlar Attys PROPOSAL40Anna Fali
1049James E ChuiRussia2025-10-18Chemel, James L Cpa NEGOTIATION1Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
James T CaudySpainIoni Bowcher QUALIFIED
Ashley N MacleadIndiaAsiya Javayant UNQUALIFIED
Francesco K AmigonAustraliaAmy Elsner NEW
Francesco Z CampainUnited KingdomXuxue Feng UNQUALIFIED
Stacey N CaudyArgentinaStephen Shaw NEW
Smith L KuskoGermanyAnna Fali NEGOTIATION
Ricardo K MaletArgentinaAnna Fali NEW
Antonio Y RoysterJapanStephen Shaw PROPOSAL
Ricardo J DoeFranceIoni Bowcher QUALIFIED
Chavez T NickaRussiaOnyama Limba PROPOSAL
Maisha J BologniaArgentinaIvan Magalhaes RENEWAL
Misaki C CaudyRussiaElwin Sharvill NEW
Rodrigues J VocelkaArgentinaIvan Magalhaes QUALIFIED
David Y GlickUnited KingdomElwin Sharvill RENEWAL
Ivar J VocelkaItalyAnna Fali UNQUALIFIED
Tony B FlosiJapanIoni Bowcher UNQUALIFIED
Jefferson J SaylorsUnited KingdomOnyama Limba RENEWAL
Misaki F VenereItalyXuxue Feng NEGOTIATION
Leon U SergiFranceStephen Shaw UNQUALIFIED
Isabel Z GlickCanadaIvan Magalhaes QUALIFIED
Murillo U InouyeJapanBernardo Dominic QUALIFIED
Emily F WieserFranceXuxue Feng PROPOSAL
Salvatore X ShinkoUnited KingdomStephen Shaw NEW
Isabel S RutaAustraliaIoni Bowcher QUALIFIED
Claire B AlbaresBrazilAmy Elsner NEW
Mayumi J SergiArgentinaOnyama Limba UNQUALIFIED
Isabel F CaldareraUnited KingdomAmy Elsner UNQUALIFIED
Ashley D SergiGermanyElwin Sharvill PROPOSAL
Leon I KuskoSpainIoni Bowcher QUALIFIED
Munro V VenereAustraliaOnyama Limba NEW
Arvin L SergiArgentinaAmy Elsner QUALIFIED
Costa W GarufiArgentinaElwin Sharvill RENEWAL
Mujtaba I RutaArgentinaAmy Elsner UNQUALIFIED
Ricardo U SaylorsRussiaStephen Shaw QUALIFIED
Mujtaba N NickaCanadaXuxue Feng NEW
Nicolas P OstroskyBrazilStephen Shaw QUALIFIED
Adams O GarufiJapanAnna Fali QUALIFIED
Jefferson H NestleRussiaAmy Elsner PROPOSAL
James L KolmetzSpainAsiya Javayant UNQUALIFIED
Arvin K GauchoRussiaIvan Magalhaes NEGOTIATION
Leon R GauchoSpainIvan Magalhaes UNQUALIFIED
Juan Y SlusarskiGermanyStephen Shaw PROPOSAL
Costa J StockhamIndiaAmy Elsner QUALIFIED
James C AlbaresBrazilAnna Fali NEW
Adams F BologniaSpainAsiya Javayant PROPOSAL
Maisha B OldroydArgentinaBernardo Dominic QUALIFIED
Johnson R OldroydSpainXuxue Feng QUALIFIED
Emily H InouyeBrazilOnyama Limba PROPOSAL
Clifford N DoeArgentinaElwin Sharvill QUALIFIED
Morrow U WhobreyFranceStephen Shaw NEGOTIATION
Frozen Columns
Name
Emily C Stenseth
Faith S Dilliard
Johnson F Ostrosky
Clifford B Ferencz
Aditya Z Marrier
Misaki K Bolognia
James Z Saylors
Juan O Glick
Leja U Doe
Jones E Briddick
Ivar C Gillian
Arvin R Garufi
Izzy F Waycott
Leon R Gillian
Mayumi G Bowley
Munro L Bolognia
Johnson O Flosi
Salvatore W Whobrey
Murillo H Amigon
Julie P Nicka
Aditya N Figeroa
Deepesh J Inouye
Arvin A Rulapaugh
Leja Y Poquette
Juan H Stockham
Tony M Whobrey
Sinclair B Stockham
Aditya S Kusko
Jeanfrancois G Stenseth
Alejandro T Chui
Arvin M Garufi
Julie F Chui
Mujtaba A Rulapaugh
Deepesh H Perin
Tony R Wieser
Johnson G Glick
Deepesh V Ruta
Aruna H Chui
Mayumi O Chui
Morrow E Whobrey
Silvio J Bowley
Faith O Iturbide
Aika Z Maclead
Antonio G Marrier
Costa G Darakjy
Izzy Q Flosi
Claire B Waycott
Chavez L Ruta
Misaki X Whobrey
James T Rim
IdCountryDate
1000Australia2025-10-10
1001Italy2025-10-12
1002Germany2025-10-09
1003France2025-09-29
1004Italy2025-10-07
1005Argentina2025-09-24
1006Canada2025-10-06
1007Germany2025-10-17
1008Russia2025-10-13
1009Italy2025-10-04
1010United Kingdom2025-10-18
1011Argentina2025-10-11
1012Spain2025-09-25
1013Japan2025-10-14
1014Germany2025-10-17
1015United Kingdom2025-10-10
1016Italy2025-10-01
1017Argentina2025-10-08
1018Russia2025-09-27
1019United Kingdom2025-10-17
1020Canada2025-10-17
1021France2025-10-01
1022Brazil2025-10-07
1023United Kingdom2025-10-02
1024Brazil2025-10-05
1025Japan2025-10-13
1026Australia2025-10-07
1027Japan2025-10-19
1028United Kingdom2025-10-08
1029Germany2025-10-12
1030Germany2025-10-08
1031India2025-09-30
1032India2025-10-11
1033Russia2025-10-10
1034Canada2025-10-13
1035Spain2025-10-15
1036Canada2025-09-23
1037United Kingdom2025-10-04
1038United Kingdom2025-10-12
1039United Kingdom2025-10-10
1040Spain2025-09-28
1041Argentina2025-09-26
1042Russia2025-09-28
1043Russia2025-10-17
1044United Kingdom2025-10-05
1045Canada2025-10-03
1046Spain2025-10-11
1047Canada2025-10-18
1048Germany2025-10-19
1049Spain2025-09-25

On-Demand Data

NameIdCountryDate
Wickens M Wieser1000Japan2025-10-19
Alejandro R Foller1001Canada2025-10-18
Arvin Q Nestle1002India2025-10-12
Salvatore I Ostrosky1003Germany2025-09-23
Emily E Caudy1004Italy2025-09-20
Juan B Paprocki1005Italy2025-10-18
Izzy A Foller1006Japan2025-10-04
Jennifer A Gaucho1007Australia2025-10-10
Darci B Briddick1008India2025-10-12
Izzy H Schemmer1009United Kingdom2025-10-19
Octavia Z Campain1010Japan2025-10-13
Jones H Rim1011Argentina2025-10-10
Ricardo B Royster1012Russia2025-10-16
Octavia B Vocelka1013Canada2025-10-19
Adams D Perin1014France2025-09-25
Kaitlin Z Briddick1015Argentina2025-09-23
Jennifer N Briddick1016Canada2025-10-07
Faith Q Poquette1017Australia2025-09-20
Arvin M Poquette1018Spain2025-09-30
Francesco H Shinko1019Italy2025-09-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha R KuskoItalyIoni Bowcher NEW
Rodrigues O SchemmerBrazilAnna Fali NEGOTIATION
Deepesh L RulapaughItalyBernardo Dominic RENEWAL
Munro X FigeroaIndiaXuxue Feng QUALIFIED
Smith W BologniaAustraliaIvan Magalhaes RENEWAL
Cody J MarrierRussiaElwin Sharvill NEGOTIATION
James P SaylorsGermanyElwin Sharvill QUALIFIED
Arvin K DilliardFranceStephen Shaw NEW
Alejandro Z BologniaRussiaIoni Bowcher UNQUALIFIED
Costa R MaletArgentinaAsiya Javayant UNQUALIFIED
Maisha M FollerJapanOnyama Limba PROPOSAL
Munro T KolmetzGermanyBernardo Dominic QUALIFIED
Izzy P PaprockiArgentinaIoni Bowcher NEGOTIATION
Julie B GillianSpainOnyama Limba PROPOSAL
Julie W FerenczJapanStephen Shaw PROPOSAL
Leon K OstroskyArgentinaAsiya Javayant QUALIFIED
Chavez O ChuiJapanBernardo Dominic PROPOSAL
Chavez L AmigonGermanyIoni Bowcher UNQUALIFIED
Tony R InouyeFranceAnna Fali RENEWAL
Isabel P GarufiIndiaOnyama Limba QUALIFIED
Izzy Q OldroydItalyOnyama Limba NEGOTIATION
Isabel S SchemmerFranceOnyama Limba QUALIFIED
Emily M SchemmerItalyIoni Bowcher NEW
Mujtaba N SchemmerCanadaStephen Shaw PROPOSAL
Jones P FerenczIndiaXuxue Feng UNQUALIFIED
Darci X MarrierGermanyAnna Fali NEGOTIATION
Jeanfrancois M SaylorsRussiaAnna Fali NEW
Mujtaba F CampainFranceAmy Elsner RENEWAL
Wickens C PerinGermanyAmy Elsner NEGOTIATION
Octavia K ButtIndiaIvan Magalhaes NEGOTIATION
Sinclair V MaletGermanyAmy Elsner QUALIFIED
Salvatore N SchemmerFranceStephen Shaw PROPOSAL
Misaki S SlusarskiAustraliaElwin Sharvill NEGOTIATION
Alejandro W PerinJapanAmy Elsner NEW
Aruna B AmigonArgentinaAsiya Javayant NEW
Sinclair S NestleSpainStephen Shaw UNQUALIFIED
Deepesh X TollnerAustraliaIoni Bowcher QUALIFIED
Clifford P CampainGermanyElwin Sharvill UNQUALIFIED
Kadeem V DoeArgentinaAsiya Javayant UNQUALIFIED
Maisha D RutaFranceAmy Elsner 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>