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 K CaldareraSpainAmy Elsner NEW
Claire F RutaAustraliaIoni Bowcher NEW
Maisha W StockhamBrazilStephen Shaw NEW
Julie H RoysterAustraliaAmy Elsner RENEWAL
Aruna U CaudySpainAmy Elsner UNQUALIFIED
Salvatore K KolmetzCanadaAnna Fali QUALIFIED
Munro Z StockhamGermanyAmy Elsner UNQUALIFIED
Jefferson X GillianFranceBernardo Dominic QUALIFIED
Darci W VenereJapanAmy Elsner QUALIFIED
Salvatore N CampainJapanElwin Sharvill NEW
Adams Q SaylorsJapanStephen Shaw NEW
Jefferson N PerinItalyOnyama Limba UNQUALIFIED
Julie A WhobreySpainAnna Fali RENEWAL
Aruna W TollnerUnited KingdomIoni Bowcher RENEWAL
Morrow J NickaAustraliaAsiya Javayant RENEWAL
Murillo H RimUnited KingdomXuxue Feng RENEWAL
Greenwood J PaprockiUnited KingdomAmy Elsner QUALIFIED
Emily G SergiItalyAnna Fali NEW
Cody E NestleSpainXuxue Feng NEW
Kaitlin N StockhamCanadaElwin Sharvill NEW
Claire Y PaprockiItalyAmy Elsner QUALIFIED
Antonio N DarakjyFranceXuxue Feng RENEWAL
Smith V DoeBrazilXuxue Feng QUALIFIED
Octavia X PerinBrazilAsiya Javayant PROPOSAL
Rodrigues A MorascaAustraliaAmy Elsner QUALIFIED
Francesco T SlusarskiGermanyXuxue Feng NEGOTIATION
Ashley O MarrierItalyBernardo Dominic PROPOSAL
Octavia A FerenczArgentinaAsiya Javayant NEGOTIATION
Kadeem O PerinGermanyStephen Shaw PROPOSAL
Emily E WhobreyFranceAsiya Javayant NEW
Arvin P GlickGermanyStephen Shaw QUALIFIED
David L DoeCanadaXuxue Feng QUALIFIED
David N VenereAustraliaAsiya Javayant UNQUALIFIED
Jones S CaudySpainOnyama Limba PROPOSAL
Aruna D DarakjyIndiaBernardo Dominic PROPOSAL
Greenwood G SlusarskiGermanyOnyama Limba UNQUALIFIED
Jefferson N IturbideRussiaIvan Magalhaes NEGOTIATION
Aika N OldroydArgentinaStephen Shaw UNQUALIFIED
Silvio I DilliardCanadaAmy Elsner QUALIFIED
Isabel U ButtGermanyStephen Shaw QUALIFIED
Morrow F GillianIndiaBernardo Dominic UNQUALIFIED
Faith S DarakjyUnited KingdomXuxue Feng PROPOSAL
Silvio O ButtArgentinaElwin Sharvill NEW
Deepesh G ButtItalyBernardo Dominic PROPOSAL
Cody B KuskoRussiaXuxue Feng PROPOSAL
Salvatore L AlbaresCanadaIoni Bowcher NEW
Nicolas H FigeroaCanadaAnna Fali QUALIFIED
Emily K DarakjyArgentinaIoni Bowcher UNQUALIFIED
Munro J SlusarskiFranceXuxue Feng PROPOSAL
Johnson U SergiJapanIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Leon K RimSpainStephen Shaw UNQUALIFIED
Julie X FollerCanadaOnyama Limba PROPOSAL
Nicolas J ChuiBrazilOnyama Limba RENEWAL
Jeanfrancois P SlusarskiArgentinaBernardo Dominic NEGOTIATION
Clifford W InouyeBrazilOnyama Limba UNQUALIFIED
Chavez A VocelkaGermanyAmy Elsner NEW
Ricardo R ButtRussiaAsiya Javayant QUALIFIED
Ivar F GlickBrazilStephen Shaw UNQUALIFIED
Isabel A AmigonIndiaXuxue Feng NEW
Juan P PoquetteUnited KingdomIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens G AmigonFrance2025-10-19Buckley Miller Wright NEW36Stephen Shaw
1001Juan Q FerenczItaly2025-09-23Printing Dimensions NEW35Stephen Shaw
1002Francesco F CampainAustralia2025-10-10Chemel, James L Cpa NEGOTIATION4Elwin Sharvill
1003Smith V DoeRussia2025-09-27Benton, John B Jr RENEWAL25Xuxue Feng
1004Nicolas Q RoysterItaly2025-10-08Rousseaux, Michael Esq UNQUALIFIED35Bernardo Dominic
1005Izzy Z WieserUnited Kingdom2025-09-22Chanay, Jeffrey A Esq NEW80Amy Elsner
1006Cody H NestleIndia2025-09-24Commercial Press UNQUALIFIED58Ioni Bowcher
1007Chavez C BowleyArgentina2025-09-21Feiner Bros QUALIFIED77Asiya Javayant
1008Deepesh E AmigonCanada2025-10-13Benton, John B Jr PROPOSAL23Anna Fali
1009Johnson L SergiBrazil2025-10-05Benton, John B Jr PROPOSAL95Anna Fali
1010Aruna F DilliardIndia2025-09-25Printing Dimensions UNQUALIFIED92Ivan Magalhaes
1011Rodrigues B StockhamRussia2025-10-18Feiner Bros NEW24Elwin Sharvill
1012Mayumi T DilliardCanada2025-10-04Feiner Bros QUALIFIED87Onyama Limba
1013Maria E CaudyAustralia2025-10-13Truhlar And Truhlar Attys NEGOTIATION51Bernardo Dominic
1014Tony K CaldareraItaly2025-09-27Dorl, James J Esq NEW88Amy Elsner
1015Francesco D GillianRussia2025-09-20Chapman, Ross E Esq QUALIFIED67Elwin Sharvill
1016Isabel M PoquetteSpain2025-10-16Benton, John B Jr RENEWAL82Bernardo Dominic
1017Jeanfrancois E NickaJapan2025-09-30Feltz Printing Service UNQUALIFIED8Onyama Limba
1018Deepesh C OldroydSpain2025-10-08Rousseaux, Michael Esq QUALIFIED69Stephen Shaw
1019Leja M MaletArgentina2025-09-29Morlong Associates PROPOSAL77Onyama Limba
1020Leja R GillianRussia2025-09-30Chapman, Ross E Esq QUALIFIED42Asiya Javayant
1021Deepesh M StockhamBrazil2025-10-09Benton, John B Jr PROPOSAL4Anna Fali
1022Aruna P IturbideGermany2025-10-05Chemel, James L Cpa PROPOSAL13Ioni Bowcher
1023Alejandro L GillianGermany2025-10-14Rangoni Of Florence PROPOSAL55Stephen Shaw
1024Morrow R GauchoGermany2025-10-18King, Christopher A Esq NEGOTIATION94Amy Elsner
1025Clifford A IturbideFrance2025-10-13Dorl, James J Esq NEW49Elwin Sharvill
1026Wickens U MorascaRussia2025-10-05Printing Dimensions NEW33Ioni Bowcher
1027Johnson W FerenczArgentina2025-10-12Commercial Press NEGOTIATION53Elwin Sharvill
1028Chavez G InouyeJapan2025-09-29Feltz Printing Service NEGOTIATION93Asiya Javayant
1029Izzy H CaudyFrance2025-09-27Benton, John B Jr QUALIFIED51Ioni Bowcher
1030Aika G BriddickIndia2025-09-25Dorl, James J Esq NEGOTIATION63Ivan Magalhaes
1031Aruna A FollerFrance2025-09-28Printing Dimensions PROPOSAL47Onyama Limba
1032Clifford F MarrierItaly2025-09-29Benton, John B Jr QUALIFIED20Asiya Javayant
1033Tony B KuskoItaly2025-10-13Feiner Bros NEGOTIATION5Ivan Magalhaes
1034Mujtaba K BologniaItaly2025-10-12Rangoni Of Florence QUALIFIED55Onyama Limba
1035Francesco P MaletBrazil2025-09-25Dorl, James J Esq NEW18Ioni Bowcher
1036Clifford Q PerinIndia2025-09-27Printing Dimensions RENEWAL30Asiya Javayant
1037Nicolas W AlbaresRussia2025-10-04Printing Dimensions PROPOSAL78Onyama Limba
1038Chavez L GlickArgentina2025-10-15Feltz Printing Service NEW21Elwin Sharvill
1039Tony X NickaFrance2025-10-12Feltz Printing Service NEW7Anna Fali
1040Costa H GauchoGermany2025-10-13Morlong Associates NEW78Bernardo Dominic
1041Aika L BriddickRussia2025-10-08Printing Dimensions NEGOTIATION26Asiya Javayant
1042Ivar H CampainBrazil2025-10-06Rangoni Of Florence NEW0Onyama Limba
1043Octavia F ShinkoJapan2025-10-19Chapman, Ross E Esq NEGOTIATION84Stephen Shaw
1044Izzy L SlusarskiJapan2025-09-23Feiner Bros QUALIFIED22Ivan Magalhaes
1045Smith U InouyeIndia2025-10-14Morlong Associates NEW8Xuxue Feng
1046Tony G TollnerRussia2025-10-16Printing Dimensions PROPOSAL60Ioni Bowcher
1047Jennifer V OldroydArgentina2025-10-09Morlong Associates UNQUALIFIED94Anna Fali
1048Ashley C GlickGermany2025-09-26Morlong Associates NEGOTIATION48Amy Elsner
1049Maria N BriddickRussia2025-10-18Dorl, James J Esq NEW75Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Antonio A WhobreyGermanyElwin Sharvill PROPOSAL
Morrow Z PoquetteUnited KingdomStephen Shaw UNQUALIFIED
Ashley V CaudyJapanElwin Sharvill PROPOSAL
Claire R OldroydJapanIoni Bowcher UNQUALIFIED
Juan V FollerAustraliaAnna Fali QUALIFIED
Morrow E RimRussiaAsiya Javayant UNQUALIFIED
Jefferson H GlickFranceXuxue Feng PROPOSAL
Sinclair H FigeroaCanadaBernardo Dominic PROPOSAL
Aika B ChuiCanadaOnyama Limba NEW
Kaitlin C CaudyItalyAmy Elsner QUALIFIED
Silvio K OldroydGermanyAsiya Javayant UNQUALIFIED
Chavez J VenereJapanAsiya Javayant NEGOTIATION
Kaitlin G SchemmerUnited KingdomAnna Fali NEGOTIATION
Rodrigues M RimIndiaAsiya Javayant RENEWAL
David X OstroskyCanadaElwin Sharvill UNQUALIFIED
Ivar F RulapaughCanadaOnyama Limba NEW
David U WieserRussiaOnyama Limba UNQUALIFIED
Maisha P CaldareraIndiaAsiya Javayant UNQUALIFIED
Kadeem J PerinFranceBernardo Dominic NEW
Costa J StockhamBrazilStephen Shaw NEGOTIATION
Morrow C CaldareraJapanAsiya Javayant NEW
Faith Z DilliardJapanIvan Magalhaes QUALIFIED
Morrow Y VocelkaBrazilStephen Shaw PROPOSAL
Isabel R DarakjyUnited KingdomAsiya Javayant RENEWAL
Murillo A GlickArgentinaAsiya Javayant RENEWAL
Aruna P MarrierGermanyAmy Elsner UNQUALIFIED
Alejandro H ShinkoJapanAmy Elsner NEGOTIATION
Sinclair D SergiBrazilAnna Fali PROPOSAL
Emily B CaldareraGermanyXuxue Feng PROPOSAL
Wickens U SlusarskiGermanyStephen Shaw NEW
Silvio Y DarakjyAustraliaIvan Magalhaes PROPOSAL
Ricardo U WieserJapanElwin Sharvill PROPOSAL
Nicolas Z ButtItalyIoni Bowcher RENEWAL
Stacey L FigeroaBrazilAnna Fali QUALIFIED
Silvio U DoeBrazilStephen Shaw UNQUALIFIED
Isabel M MorascaAustraliaAsiya Javayant PROPOSAL
Smith C DarakjyUnited KingdomIvan Magalhaes PROPOSAL
Julie W WieserIndiaIvan Magalhaes UNQUALIFIED
Chavez L GauchoFranceIoni Bowcher NEW
Izzy J ChuiRussiaAmy Elsner NEW
Jefferson Q CaldareraSpainAnna Fali RENEWAL
David A GauchoIndiaAmy Elsner QUALIFIED
Aruna L PerinRussiaXuxue Feng UNQUALIFIED
Deepesh V RoysterItalyStephen Shaw QUALIFIED
Sinclair T KuskoBrazilStephen Shaw NEGOTIATION
Misaki D WaycottBrazilXuxue Feng QUALIFIED
Greenwood U InouyeRussiaElwin Sharvill RENEWAL
Costa I RoysterUnited KingdomIvan Magalhaes UNQUALIFIED
Kaitlin X CaudyUnited KingdomElwin Sharvill RENEWAL
Kaitlin D RutaArgentinaAmy Elsner QUALIFIED
Frozen Columns
Name
Julie Y Vocelka
Jefferson C Sergi
Isabel E Sergi
Julie L Iturbide
Izzy Y Chui
Clifford Z Foller
Arvin J Dilliard
Sinclair G Marrier
Rodrigues U Maclead
David Q Iturbide
Costa Q Chui
Salvatore F Malet
Sinclair R Whobrey
Johnson X Tollner
Maria P Morasca
Clifford Q Rim
Isabel T Gillian
Ashley T Perin
Arvin X Kusko
Smith X Marrier
Francesco P Sergi
Faith R Saylors
Nicolas S Bolognia
Adams G Flosi
Aika V Bolognia
Leja B Caldarera
Munro X Glick
Salvatore U Amigon
Sinclair X Sergi
Ashley Y Chui
Arvin Q Flosi
Claire J Doe
Jefferson V Inouye
Kadeem A Doe
Leja N Royster
Murillo T Dilliard
Alejandro I Venere
Mujtaba Y Stenseth
Ricardo T Doe
Darci U Venere
Tony V Rulapaugh
Alejandro P Iturbide
Costa R Bowley
Juan X Nestle
Clifford K Flosi
Aruna L Paprocki
Salvatore T Kolmetz
James M Marrier
Nicolas M Whobrey
Stacey Y Briddick
IdCountryDate
1000Japan2025-09-24
1001France2025-10-19
1002Russia2025-09-20
1003Germany2025-10-03
1004Australia2025-09-21
1005Australia2025-10-19
1006Australia2025-09-30
1007Japan2025-09-24
1008Germany2025-10-02
1009Brazil2025-10-02
1010Italy2025-09-20
1011Canada2025-09-20
1012Australia2025-09-23
1013Italy2025-09-22
1014Germany2025-09-21
1015India2025-10-12
1016Japan2025-10-18
1017Argentina2025-10-01
1018France2025-10-06
1019Argentina2025-10-06
1020Brazil2025-09-23
1021Japan2025-10-05
1022Italy2025-10-18
1023France2025-10-18
1024India2025-10-19
1025Canada2025-10-09
1026Canada2025-10-09
1027Italy2025-09-23
1028Australia2025-09-29
1029Argentina2025-09-24
1030India2025-10-01
1031France2025-09-28
1032United Kingdom2025-09-28
1033Brazil2025-10-17
1034Russia2025-10-16
1035Australia2025-10-08
1036Brazil2025-09-20
1037United Kingdom2025-09-28
1038France2025-10-16
1039Italy2025-10-18
1040Spain2025-10-14
1041Australia2025-10-16
1042Italy2025-09-25
1043Japan2025-10-07
1044Spain2025-10-02
1045Italy2025-10-12
1046Argentina2025-10-19
1047Japan2025-10-03
1048Russia2025-10-02
1049Australia2025-10-06

On-Demand Data

NameIdCountryDate
Jeanfrancois Q Ruta1000India2025-10-16
Arvin U Sergi1001Germany2025-09-27
Mayumi Y Ferencz1002Russia2025-10-19
Faith M Figeroa1003Canada2025-09-23
Arvin D Inouye1004Japan2025-10-06
Juan A Malet1005Italy2025-10-12
Jones E Gaucho1006Germany2025-09-25
David P Stockham1007Spain2025-10-06
Arvin A Marrier1008Brazil2025-10-10
Salvatore H Nestle1009Russia2025-10-18
James X Briddick1010Germany2025-09-28
Costa R Kusko1011Australia2025-10-15
Ivar P Bolognia1012United Kingdom2025-10-09
Arvin H Tollner1013France2025-09-23
Jennifer P Tollner1014India2025-10-09
Arvin N Ostrosky1015Argentina2025-10-11
Ricardo M Rulapaugh1016Italy2025-10-18
Aruna O Marrier1017Canada2025-09-20
Mujtaba P Rulapaugh1018Russia2025-10-06
Maisha J Paprocki1019United Kingdom2025-10-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro I OldroydItalyAnna Fali NEGOTIATION
Aditya C ChuiFranceAnna Fali NEGOTIATION
Adams Q OldroydJapanIvan Magalhaes RENEWAL
Claire Q DarakjyIndiaAsiya Javayant UNQUALIFIED
Johnson M SchemmerSpainBernardo Dominic PROPOSAL
Alejandro P FollerAustraliaAnna Fali PROPOSAL
Salvatore T SaylorsAustraliaXuxue Feng NEGOTIATION
Aruna L SaylorsSpainAmy Elsner PROPOSAL
Murillo T VocelkaIndiaAmy Elsner NEGOTIATION
Jeanfrancois Q ShinkoUnited KingdomAsiya Javayant RENEWAL
Mayumi Z WieserItalyBernardo Dominic UNQUALIFIED
Morrow G WieserRussiaStephen Shaw NEGOTIATION
Murillo P FollerUnited KingdomElwin Sharvill NEW
Mujtaba C MaletCanadaXuxue Feng QUALIFIED
Kaitlin F CaldareraJapanAnna Fali PROPOSAL
Nicolas X GillianRussiaElwin Sharvill QUALIFIED
Stacey B PerinSpainStephen Shaw QUALIFIED
Jeanfrancois F WieserIndiaOnyama Limba QUALIFIED
Cody B FerenczItalyBernardo Dominic NEGOTIATION
Leon N WieserCanadaIoni Bowcher QUALIFIED
Darci K GarufiBrazilBernardo Dominic NEW
Maisha H ChuiUnited KingdomIoni Bowcher NEW
Ashley P FigeroaIndiaAmy Elsner NEGOTIATION
Aditya Z RutaIndiaIvan Magalhaes UNQUALIFIED
Rodrigues L MaletFranceAnna Fali QUALIFIED
Aika N KuskoFranceAmy Elsner QUALIFIED
Kadeem W MaletItalyStephen Shaw NEW
Deepesh E ShinkoCanadaIoni Bowcher NEW
Emily V DarakjyAustraliaElwin Sharvill NEGOTIATION
Isabel D GarufiSpainAnna Fali QUALIFIED
Arvin W PoquetteCanadaElwin Sharvill UNQUALIFIED
Faith L InouyeFranceBernardo Dominic NEW
Mayumi D DarakjyFranceStephen Shaw NEW
James P MaletArgentinaAsiya Javayant NEGOTIATION
Octavia H PerinJapanAsiya Javayant NEGOTIATION
Chavez Q AmigonArgentinaElwin Sharvill RENEWAL
Tony A NickaAustraliaElwin Sharvill QUALIFIED
Leja G BologniaRussiaIoni Bowcher NEW
Octavia U CampainUnited KingdomIvan Magalhaes PROPOSAL
Aika Z RoysterCanadaBernardo Dominic RENEWAL

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