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
Silvio W FlosiUnited KingdomElwin Sharvill PROPOSAL
Jones G SergiJapanBernardo Dominic RENEWAL
Aika L SchemmerCanadaXuxue Feng NEGOTIATION
Leja B SchemmerBrazilStephen Shaw NEW
Aika B WhobreyFranceOnyama Limba RENEWAL
Francesco O InouyeArgentinaIvan Magalhaes NEW
Leja W VenereCanadaAmy Elsner QUALIFIED
Alejandro K NestleAustraliaAnna Fali RENEWAL
Leja N WaycottGermanyAmy Elsner UNQUALIFIED
Ashley W InouyeGermanyAmy Elsner QUALIFIED
Antonio B WhobreyUnited KingdomOnyama Limba NEGOTIATION
Aditya Q AmigonFranceAmy Elsner RENEWAL
Francesco E GauchoJapanBernardo Dominic UNQUALIFIED
Izzy I RutaIndiaAsiya Javayant NEGOTIATION
Maisha L RulapaughUnited KingdomAnna Fali QUALIFIED
Ricardo H PerinBrazilElwin Sharvill RENEWAL
Smith M FollerUnited KingdomAmy Elsner NEW
Ashley C InouyeSpainIvan Magalhaes QUALIFIED
Cody E RoysterSpainOnyama Limba PROPOSAL
Ashley C VenereFranceStephen Shaw RENEWAL
Nicolas G RutaArgentinaAsiya Javayant UNQUALIFIED
James I RoysterArgentinaXuxue Feng UNQUALIFIED
Chavez T StensethAustraliaIvan Magalhaes PROPOSAL
Greenwood Y VenereSpainAnna Fali UNQUALIFIED
Darci B RulapaughGermanyBernardo Dominic NEW
David D PaprockiUnited KingdomElwin Sharvill NEW
Leon G FigeroaSpainBernardo Dominic NEW
Alejandro R CaudyAustraliaOnyama Limba UNQUALIFIED
Deepesh X FollerUnited KingdomAnna Fali NEW
Faith V NickaAustraliaAnna Fali PROPOSAL
Arvin A CampainUnited KingdomElwin Sharvill NEGOTIATION
Wickens N FerenczAustraliaElwin Sharvill QUALIFIED
Francesco K WaycottUnited KingdomOnyama Limba RENEWAL
Jones X StensethGermanyAnna Fali NEGOTIATION
Leon D GlickFranceIvan Magalhaes NEGOTIATION
Mujtaba X GlickIndiaAmy Elsner UNQUALIFIED
Deepesh R DilliardRussiaElwin Sharvill UNQUALIFIED
Greenwood J StockhamCanadaStephen Shaw QUALIFIED
Julie K WaycottCanadaStephen Shaw UNQUALIFIED
Emily Z MorascaRussiaBernardo Dominic NEW
Faith F PoquetteBrazilStephen Shaw UNQUALIFIED
Arvin E GarufiIndiaIoni Bowcher QUALIFIED
Morrow H MarrierItalyElwin Sharvill PROPOSAL
Chavez G GarufiItalyAsiya Javayant NEW
Rodrigues W KolmetzCanadaStephen Shaw QUALIFIED
Smith M StensethItalyAnna Fali PROPOSAL
Darci K PaprockiRussiaBernardo Dominic PROPOSAL
Claire Q StockhamCanadaXuxue Feng RENEWAL
Emily A ChuiJapanAsiya Javayant RENEWAL
Johnson M CampainArgentinaIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Mayumi X CaldareraBrazilElwin Sharvill QUALIFIED
Greenwood W NickaArgentinaBernardo Dominic NEW
Morrow G MarrierJapanElwin Sharvill RENEWAL
Jones E IturbideIndiaOnyama Limba PROPOSAL
James T KuskoUnited KingdomIvan Magalhaes PROPOSAL
Alejandro C CaudyItalyIvan Magalhaes NEGOTIATION
Adams R DoeRussiaStephen Shaw QUALIFIED
Aditya M MarrierBrazilStephen Shaw QUALIFIED
Deepesh U CaldareraSpainIvan Magalhaes UNQUALIFIED
Mayumi S SchemmerItalyAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro W MaletBrazil2025-09-28Morlong Associates PROPOSAL1Asiya Javayant
1001Misaki J ShinkoSpain2025-09-23Commercial Press RENEWAL87Onyama Limba
1002Ashley X SergiAustralia2025-09-25Feltz Printing Service QUALIFIED25Xuxue Feng
1003Arvin Z KuskoItaly2025-09-23King, Christopher A Esq NEW54Anna Fali
1004Nicolas D OstroskyCanada2025-09-23Buckley Miller Wright NEW93Stephen Shaw
1005Jones W KolmetzRussia2025-09-21Chapman, Ross E Esq NEW6Bernardo Dominic
1006Faith O GauchoArgentina2025-09-29Commercial Press NEGOTIATION15Ivan Magalhaes
1007Emily T GlickRussia2025-08-31Dorl, James J Esq UNQUALIFIED98Asiya Javayant
1008Deepesh F ShinkoBrazil2025-09-21Chemel, James L Cpa UNQUALIFIED49Ioni Bowcher
1009Izzy M FlosiAustralia2025-09-01Rousseaux, Michael Esq UNQUALIFIED46Anna Fali
1010Aruna U TollnerCanada2025-09-22Chanay, Jeffrey A Esq PROPOSAL43Asiya Javayant
1011Arvin D FollerUnited Kingdom2025-09-11Printing Dimensions RENEWAL15Asiya Javayant
1012Arvin J FigeroaRussia2025-09-07Chapman, Ross E Esq PROPOSAL31Ivan Magalhaes
1013Arvin T AlbaresGermany2025-09-27Commercial Press RENEWAL99Anna Fali
1014Mujtaba I MorascaRussia2025-09-11Chapman, Ross E Esq RENEWAL28Anna Fali
1015Claire S FigeroaIndia2025-09-28Rousseaux, Michael Esq QUALIFIED8Xuxue Feng
1016Jefferson I WieserArgentina2025-09-08Printing Dimensions NEGOTIATION45Ivan Magalhaes
1017Mayumi H OldroydJapan2025-09-21Truhlar And Truhlar Attys QUALIFIED56Onyama Limba
1018Izzy E BriddickRussia2025-09-21Commercial Press PROPOSAL86Xuxue Feng
1019Antonio W CaudySpain2025-09-06Commercial Press PROPOSAL51Ivan Magalhaes
1020Leon X MaletIndia2025-09-01Feiner Bros NEW80Ioni Bowcher
1021Johnson S StockhamSpain2025-09-13Morlong Associates NEGOTIATION30Bernardo Dominic
1022Misaki M RulapaughBrazil2025-09-01Commercial Press UNQUALIFIED70Ioni Bowcher
1023Ricardo U FollerCanada2025-09-10King, Christopher A Esq UNQUALIFIED1Elwin Sharvill
1024Nicolas H GarufiSpain2025-09-13Printing Dimensions NEW28Amy Elsner
1025Maria S FollerJapan2025-09-04Feiner Bros RENEWAL74Anna Fali
1026Jones X MorascaJapan2025-09-11Truhlar And Truhlar Attys NEW29Anna Fali
1027Salvatore G WaycottUnited Kingdom2025-09-21King, Christopher A Esq QUALIFIED96Ioni Bowcher
1028James S ShinkoUnited Kingdom2025-09-28Commercial Press QUALIFIED92Ioni Bowcher
1029Mujtaba U GauchoJapan2025-09-08Commercial Press QUALIFIED26Ivan Magalhaes
1030Alejandro V WaycottSpain2025-09-20Chanay, Jeffrey A Esq PROPOSAL79Asiya Javayant
1031Wickens E KuskoArgentina2025-09-24Dorl, James J Esq NEGOTIATION85Onyama Limba
1032Maisha P NickaItaly2025-09-19Dorl, James J Esq UNQUALIFIED81Xuxue Feng
1033James M ShinkoRussia2025-09-03Feiner Bros NEW45Elwin Sharvill
1034Sinclair T WieserArgentina2025-09-23Feiner Bros RENEWAL14Anna Fali
1035Jones L RimSpain2025-09-16Commercial Press NEGOTIATION33Elwin Sharvill
1036Mujtaba E MarrierBrazil2025-09-28Feltz Printing Service PROPOSAL58Onyama Limba
1037Izzy R DoeArgentina2025-09-05Feiner Bros NEW93Asiya Javayant
1038Octavia D GlickGermany2025-09-27Printing Dimensions NEGOTIATION99Bernardo Dominic
1039Izzy R ButtIndia2025-08-31Chanay, Jeffrey A Esq NEGOTIATION76Anna Fali
1040Clifford E ShinkoGermany2025-09-25Chemel, James L Cpa NEW45Stephen Shaw
1041Mayumi J FlosiBrazil2025-09-16Chanay, Jeffrey A Esq NEW12Bernardo Dominic
1042Jones J AmigonJapan2025-09-12Benton, John B Jr UNQUALIFIED45Amy Elsner
1043David Q IturbideJapan2025-09-27Rangoni Of Florence RENEWAL97Ioni Bowcher
1044Ivar F DilliardAustralia2025-09-29Chemel, James L Cpa PROPOSAL21Elwin Sharvill
1045Morrow L GlickAustralia2025-09-15Buckley Miller Wright RENEWAL13Asiya Javayant
1046Maisha Q RimSpain2025-09-25Buckley Miller Wright UNQUALIFIED22Xuxue Feng
1047Alejandro N RimCanada2025-09-03Rangoni Of Florence QUALIFIED81Ivan Magalhaes
1048Francesco T MarrierRussia2025-09-03Commercial Press NEGOTIATION38Asiya Javayant
1049Stacey H GarufiAustralia2025-09-27Feltz Printing Service PROPOSAL54Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jones C FigeroaJapanStephen Shaw RENEWAL
Mujtaba E SaylorsCanadaAmy Elsner RENEWAL
Claire T SergiJapanIvan Magalhaes NEW
Claire M GillianFranceOnyama Limba QUALIFIED
Aruna S IturbideUnited KingdomIoni Bowcher QUALIFIED
Jefferson K StensethGermanyIvan Magalhaes NEW
Wickens F CampainFranceOnyama Limba QUALIFIED
Darci X InouyeFranceAsiya Javayant RENEWAL
Murillo H GillianItalyAmy Elsner PROPOSAL
Alejandro B MaletFranceIoni Bowcher NEGOTIATION
Francesco I GauchoFranceStephen Shaw RENEWAL
Maria L SlusarskiJapanStephen Shaw RENEWAL
Emily T DilliardJapanAnna Fali NEGOTIATION
Ashley G FerenczRussiaStephen Shaw NEW
Costa Y WaycottItalyAsiya Javayant QUALIFIED
Ashley V AlbaresItalyAnna Fali UNQUALIFIED
Jeanfrancois N RoysterJapanIvan Magalhaes PROPOSAL
Ashley Q BologniaFranceAmy Elsner PROPOSAL
Leja Z FerenczCanadaIvan Magalhaes NEW
Cody L WaycottUnited KingdomBernardo Dominic NEW
Tony S WhobreyUnited KingdomIvan Magalhaes RENEWAL
Mayumi D KuskoUnited KingdomIoni Bowcher UNQUALIFIED
Isabel H SaylorsRussiaIoni Bowcher NEGOTIATION
Arvin P VenereRussiaAmy Elsner PROPOSAL
Salvatore Y PaprockiArgentinaAnna Fali NEW
Munro X DoeJapanStephen Shaw PROPOSAL
Darci A FlosiFranceAnna Fali UNQUALIFIED
James F MaletItalyAnna Fali NEGOTIATION
Nicolas J AlbaresGermanyElwin Sharvill QUALIFIED
Smith A MorascaJapanElwin Sharvill RENEWAL
Emily G FigeroaItalyIvan Magalhaes NEW
Jones J SergiArgentinaAmy Elsner RENEWAL
Leon A WhobreyIndiaAmy Elsner NEW
Leon T SchemmerBrazilBernardo Dominic QUALIFIED
Stacey X AmigonCanadaOnyama Limba UNQUALIFIED
Adams J CampainRussiaStephen Shaw RENEWAL
Faith P DarakjyAustraliaElwin Sharvill PROPOSAL
Alejandro K GarufiAustraliaBernardo Dominic RENEWAL
Mayumi X SaylorsUnited KingdomIvan Magalhaes QUALIFIED
Smith Q BowleyBrazilAnna Fali NEW
Tony R DarakjyAustraliaBernardo Dominic RENEWAL
Munro H GauchoSpainIvan Magalhaes UNQUALIFIED
Aika Q OstroskyIndiaAnna Fali QUALIFIED
Tony F RutaAustraliaStephen Shaw NEGOTIATION
Juan B DoeSpainIvan Magalhaes RENEWAL
Aika G OstroskyAustraliaBernardo Dominic RENEWAL
Jefferson Y GlickFranceXuxue Feng RENEWAL
Cody F RutaCanadaIoni Bowcher NEW
Aika P GauchoArgentinaIvan Magalhaes PROPOSAL
Darci X StockhamSpainOnyama Limba PROPOSAL
Frozen Columns
Name
Deepesh O Briddick
Johnson H Nestle
Tony F Venere
Juan Z Waycott
Aika A Paprocki
Rodrigues W Iturbide
Francesco N Figeroa
Nicolas Y Sergi
Jefferson K Whobrey
Mujtaba Z Poquette
Jones N Venere
Faith O Bolognia
Ivar J Stockham
Izzy G Bowley
Jones V Royster
Rodrigues A Butt
Jones Z Caudy
Jones T Doe
Jennifer X Marrier
Ashley E Stockham
Misaki R Iturbide
Alejandro P Foller
Silvio Z Inouye
Arvin K Wieser
Deepesh L Tollner
Deepesh M Saylors
Faith A Kusko
Aditya R Gillian
Cody D Waycott
Claire T Wieser
Leon P Gaucho
Costa Y Slusarski
Ashley D Glick
Antonio K Foller
Aika W Inouye
Aditya P Kolmetz
Johnson R Garufi
Mayumi C Flosi
Arvin D Sergi
Claire L Campain
Costa I Shinko
Murillo Z Stenseth
Costa P Chui
Greenwood J Waycott
Nicolas O Shinko
Wickens S Marrier
Octavia Q Venere
Stacey J Ferencz
David K Butt
Ricardo T Nicka
IdCountryDate
1000Japan2025-09-14
1001Canada2025-09-07
1002Russia2025-09-02
1003Canada2025-09-19
1004Canada2025-09-26
1005Spain2025-09-17
1006Spain2025-09-05
1007France2025-09-23
1008France2025-09-27
1009Russia2025-09-05
1010Canada2025-09-28
1011Russia2025-09-16
1012Brazil2025-09-01
1013Brazil2025-09-09
1014Argentina2025-09-11
1015Canada2025-09-25
1016Japan2025-09-05
1017France2025-09-25
1018Australia2025-09-05
1019Russia2025-09-05
1020Japan2025-09-14
1021Russia2025-08-31
1022Italy2025-09-23
1023Russia2025-09-28
1024Argentina2025-09-04
1025United Kingdom2025-08-31
1026United Kingdom2025-09-06
1027Italy2025-09-24
1028Brazil2025-09-13
1029Japan2025-09-10
1030Spain2025-09-21
1031Germany2025-09-11
1032France2025-09-02
1033Australia2025-09-26
1034Spain2025-09-21
1035France2025-09-07
1036Japan2025-09-25
1037France2025-09-22
1038India2025-09-06
1039Japan2025-09-20
1040Brazil2025-09-18
1041Canada2025-09-29
1042India2025-09-12
1043Japan2025-09-29
1044United Kingdom2025-09-12
1045Argentina2025-09-18
1046Italy2025-09-09
1047Spain2025-09-21
1048Argentina2025-09-26
1049France2025-09-28

On-Demand Data

NameIdCountryDate
Wickens M Chui1000Spain2025-09-07
Izzy N Venere1001India2025-09-22
Julie K Butt1002France2025-09-19
Aditya J Paprocki1003Italy2025-09-29
Smith C Oldroyd1004Russia2025-09-21
Adams L Ferencz1005India2025-09-03
Antonio J Iturbide1006Brazil2025-09-15
Johnson A Saylors1007Brazil2025-09-09
Chavez B Paprocki1008United Kingdom2025-09-24
Aditya C Royster1009Germany2025-09-09
Juan Y Royster1010Brazil2025-09-17
Munro N Butt1011Argentina2025-09-12
Antonio E Flosi1012Russia2025-09-07
Greenwood V Butt1013Brazil2025-09-03
Smith D Dilliard1014Canada2025-09-24
Rodrigues P Ruta1015United Kingdom2025-09-22
Maisha Z Perin1016Australia2025-09-23
Leon W Darakjy1017Argentina2025-09-23
Darci R Poquette1018United Kingdom2025-09-11
Jones Z Glick1019United Kingdom2025-09-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody T BowleyJapanStephen Shaw PROPOSAL
Alejandro L IturbideBrazilIoni Bowcher QUALIFIED
Kaitlin H CaudyItalyOnyama Limba NEW
David X PerinRussiaAsiya Javayant QUALIFIED
Wickens Y PaprockiBrazilBernardo Dominic RENEWAL
Salvatore L RulapaughBrazilAmy Elsner NEW
Darci X RulapaughIndiaElwin Sharvill PROPOSAL
Izzy U FollerCanadaAsiya Javayant NEW
Wickens D WaycottFranceAmy Elsner PROPOSAL
James O CaldareraItalyStephen Shaw UNQUALIFIED
Jennifer V FollerArgentinaAnna Fali RENEWAL
Leon W BologniaSpainAsiya Javayant NEW
Tony I GillianBrazilXuxue Feng UNQUALIFIED
Morrow O FerenczSpainElwin Sharvill PROPOSAL
Sinclair B StensethAustraliaStephen Shaw NEGOTIATION
Smith Y ChuiBrazilAsiya Javayant PROPOSAL
Nicolas W FlosiSpainElwin Sharvill UNQUALIFIED
Jones J InouyeUnited KingdomAnna Fali UNQUALIFIED
Nicolas N GlickUnited KingdomAsiya Javayant PROPOSAL
Nicolas X DilliardAustraliaAnna Fali UNQUALIFIED
Ivar Q SaylorsIndiaXuxue Feng RENEWAL
Ashley P CaudySpainIvan Magalhaes RENEWAL
Murillo K RutaJapanAmy Elsner NEW
Julie Q MorascaGermanyAsiya Javayant PROPOSAL
Morrow Q AlbaresIndiaAnna Fali NEGOTIATION
Arvin H GillianJapanOnyama Limba PROPOSAL
Deepesh J RimUnited KingdomBernardo Dominic NEGOTIATION
Kadeem R KuskoBrazilBernardo Dominic QUALIFIED
Chavez G StensethItalyElwin Sharvill PROPOSAL
Ashley L BologniaUnited KingdomStephen Shaw UNQUALIFIED
Maria N MacleadJapanStephen Shaw PROPOSAL
Francesco Y AlbaresJapanAmy Elsner RENEWAL
Kadeem N TollnerJapanAnna Fali NEGOTIATION
Alejandro P SchemmerUnited KingdomBernardo Dominic NEGOTIATION
Antonio F FigeroaGermanyBernardo Dominic PROPOSAL
Isabel H FollerItalyOnyama Limba RENEWAL
Silvio B BriddickGermanyBernardo Dominic UNQUALIFIED
Murillo F MaletSpainAmy Elsner NEW
Clifford H FigeroaFranceBernardo Dominic RENEWAL
Maisha G RutaUnited KingdomIvan Magalhaes 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>