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
James Z WhobreyFranceIoni Bowcher UNQUALIFIED
Leon Q AlbaresSpainAnna Fali RENEWAL
Cody H FollerUnited KingdomXuxue Feng PROPOSAL
Wickens W CampainArgentinaElwin Sharvill NEGOTIATION
Mujtaba I VenereItalyAnna Fali PROPOSAL
Stacey Z BowleyCanadaOnyama Limba PROPOSAL
Wickens Z MarrierUnited KingdomElwin Sharvill UNQUALIFIED
Stacey F AlbaresSpainOnyama Limba PROPOSAL
Julie Z SlusarskiRussiaStephen Shaw PROPOSAL
Juan R AmigonArgentinaAmy Elsner RENEWAL
Mujtaba A KolmetzRussiaOnyama Limba UNQUALIFIED
Deepesh D PaprockiAustraliaOnyama Limba PROPOSAL
Murillo G OstroskyGermanyAnna Fali PROPOSAL
David C RoysterIndiaAnna Fali NEGOTIATION
Clifford H SergiBrazilXuxue Feng UNQUALIFIED
Tony C VenereSpainElwin Sharvill RENEWAL
Tony D MaletJapanIvan Magalhaes RENEWAL
Jefferson K AmigonIndiaAsiya Javayant RENEWAL
Wickens H GauchoGermanyAmy Elsner RENEWAL
Francesco C VenereCanadaElwin Sharvill PROPOSAL
Darci M KuskoCanadaAsiya Javayant NEGOTIATION
Leja W RoysterAustraliaIoni Bowcher PROPOSAL
Darci R SaylorsFranceXuxue Feng UNQUALIFIED
Antonio I RoysterIndiaOnyama Limba UNQUALIFIED
Costa J GillianArgentinaAsiya Javayant NEGOTIATION
Wickens O StockhamGermanyAsiya Javayant UNQUALIFIED
Clifford V GillianAustraliaOnyama Limba RENEWAL
Silvio U CaldareraUnited KingdomIoni Bowcher NEW
Silvio F MaletIndiaElwin Sharvill NEGOTIATION
Alejandro C FigeroaIndiaAmy Elsner PROPOSAL
Leja A MorascaIndiaXuxue Feng PROPOSAL
Arvin C SchemmerAustraliaElwin Sharvill NEW
Morrow K OldroydGermanyAsiya Javayant PROPOSAL
Kaitlin E CaudyBrazilXuxue Feng NEW
Deepesh G RutaArgentinaIoni Bowcher UNQUALIFIED
Jones S MacleadIndiaOnyama Limba NEGOTIATION
Faith S FollerGermanyAnna Fali NEGOTIATION
Greenwood L NestleUnited KingdomAmy Elsner NEGOTIATION
Octavia L FollerAustraliaIoni Bowcher QUALIFIED
Julie Z AlbaresAustraliaAnna Fali QUALIFIED
Kaitlin X PerinRussiaXuxue Feng NEW
Rodrigues N ChuiJapanBernardo Dominic NEW
Salvatore Q InouyeFranceOnyama Limba NEGOTIATION
Leon X PoquetteAustraliaAsiya Javayant RENEWAL
Munro B SaylorsAustraliaOnyama Limba QUALIFIED
Nicolas Q GillianAustraliaAmy Elsner QUALIFIED
Cody M SlusarskiFranceIvan Magalhaes QUALIFIED
Izzy P MorascaItalyXuxue Feng PROPOSAL
Salvatore U MarrierGermanyIoni Bowcher NEGOTIATION
Leon L InouyeAustraliaAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Adams H KolmetzUnited KingdomIvan Magalhaes NEW
Smith G NickaItalyXuxue Feng UNQUALIFIED
Maria Z SlusarskiBrazilXuxue Feng NEGOTIATION
Kaitlin Y FlosiGermanyIoni Bowcher UNQUALIFIED
Claire L DoeFranceAnna Fali NEGOTIATION
Mayumi F InouyeAustraliaXuxue Feng UNQUALIFIED
Wickens Z WieserAustraliaAmy Elsner UNQUALIFIED
Clifford N GillianCanadaStephen Shaw PROPOSAL
Kaitlin J NestleFranceIvan Magalhaes PROPOSAL
Nicolas M StockhamIndiaBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair C DoeJapan2025-07-29Chemel, James L Cpa RENEWAL76Ioni Bowcher
1001Maisha A PerinArgentina2025-07-16Morlong Associates QUALIFIED42Amy Elsner
1002Arvin P MaletGermany2025-08-04Morlong Associates RENEWAL78Ivan Magalhaes
1003Clifford Q BriddickIndia2025-07-29Feiner Bros UNQUALIFIED50Asiya Javayant
1004Jennifer V StensethAustralia2025-07-27Printing Dimensions PROPOSAL4Ivan Magalhaes
1005Jones G WieserBrazil2025-07-26Chapman, Ross E Esq UNQUALIFIED77Bernardo Dominic
1006Morrow P VenereCanada2025-07-17Morlong Associates QUALIFIED7Ivan Magalhaes
1007Tony O NestleArgentina2025-08-04Printing Dimensions UNQUALIFIED8Stephen Shaw
1008Wickens O SlusarskiJapan2025-08-01Chanay, Jeffrey A Esq NEW54Ioni Bowcher
1009Aika U FigeroaFrance2025-07-28Chemel, James L Cpa UNQUALIFIED54Stephen Shaw
1010Salvatore M SchemmerFrance2025-07-29Truhlar And Truhlar Attys NEGOTIATION36Onyama Limba
1011David Y GlickSpain2025-08-09Rousseaux, Michael Esq RENEWAL14Xuxue Feng
1012Isabel D VenereUnited Kingdom2025-07-24Chemel, James L Cpa NEW18Asiya Javayant
1013Chavez H GauchoBrazil2025-07-25Dorl, James J Esq QUALIFIED63Ivan Magalhaes
1014Rodrigues F WaycottBrazil2025-08-09Buckley Miller Wright UNQUALIFIED75Onyama Limba
1015Murillo F ButtBrazil2025-08-02Morlong Associates PROPOSAL66Bernardo Dominic
1016Clifford I OldroydIndia2025-08-13Benton, John B Jr QUALIFIED9Amy Elsner
1017Rodrigues E GillianAustralia2025-07-23Chapman, Ross E Esq NEW64Amy Elsner
1018Julie I DilliardFrance2025-08-11Rangoni Of Florence UNQUALIFIED66Anna Fali
1019Isabel S CampainCanada2025-08-01Chemel, James L Cpa PROPOSAL23Xuxue Feng
1020Mayumi R StensethUnited Kingdom2025-07-17Chanay, Jeffrey A Esq RENEWAL90Xuxue Feng
1021Silvio J DarakjyUnited Kingdom2025-07-15Truhlar And Truhlar Attys NEW67Stephen Shaw
1022Adams R FlosiCanada2025-08-01King, Christopher A Esq QUALIFIED71Ivan Magalhaes
1023Ashley W KuskoSpain2025-07-27Dorl, James J Esq NEGOTIATION89Anna Fali
1024Francesco H GlickArgentina2025-08-09Benton, John B Jr UNQUALIFIED61Anna Fali
1025James J WieserBrazil2025-08-07Benton, John B Jr PROPOSAL70Amy Elsner
1026Johnson G KolmetzGermany2025-07-25Dorl, James J Esq RENEWAL56Elwin Sharvill
1027Francesco W StockhamFrance2025-08-11King, Christopher A Esq QUALIFIED0Bernardo Dominic
1028Ricardo X SergiIndia2025-08-05Feiner Bros PROPOSAL87Xuxue Feng
1029Izzy T PerinUnited Kingdom2025-07-21Dorl, James J Esq QUALIFIED85Bernardo Dominic
1030Deepesh Y OstroskyArgentina2025-07-21Chanay, Jeffrey A Esq RENEWAL27Ioni Bowcher
1031Rodrigues V CaldareraIndia2025-08-07Morlong Associates NEGOTIATION63Anna Fali
1032Emily D RutaFrance2025-07-25Commercial Press PROPOSAL82Amy Elsner
1033Ivar W InouyeBrazil2025-08-08Morlong Associates UNQUALIFIED39Bernardo Dominic
1034Aika W SaylorsRussia2025-08-10Feiner Bros NEGOTIATION15Elwin Sharvill
1035Chavez C MacleadCanada2025-08-12Rousseaux, Michael Esq RENEWAL48Anna Fali
1036Jefferson X NickaSpain2025-07-31Benton, John B Jr UNQUALIFIED10Ivan Magalhaes
1037Ricardo R OstroskyCanada2025-08-12Chemel, James L Cpa UNQUALIFIED20Xuxue Feng
1038Morrow R FerenczArgentina2025-07-23Chapman, Ross E Esq RENEWAL4Ivan Magalhaes
1039Isabel U RoysterAustralia2025-08-06Chapman, Ross E Esq UNQUALIFIED17Amy Elsner
1040Jefferson S PerinBrazil2025-07-24Chapman, Ross E Esq PROPOSAL20Asiya Javayant
1041Izzy M CaldareraSpain2025-07-22Dorl, James J Esq NEW74Ioni Bowcher
1042Faith Z OstroskyArgentina2025-07-19King, Christopher A Esq RENEWAL37Asiya Javayant
1043Leon T MacleadAustralia2025-07-25Benton, John B Jr NEW97Elwin Sharvill
1044Aruna L MaletSpain2025-07-21Buckley Miller Wright NEW14Xuxue Feng
1045Nicolas I PerinIndia2025-08-04Rousseaux, Michael Esq NEGOTIATION38Ioni Bowcher
1046Munro T GauchoSpain2025-07-21Morlong Associates RENEWAL80Ioni Bowcher
1047Julie P BriddickFrance2025-07-25Rousseaux, Michael Esq QUALIFIED27Anna Fali
1048Emily K SaylorsAustralia2025-07-17Feltz Printing Service NEW70Bernardo Dominic
1049Cody Y ButtJapan2025-08-04Benton, John B Jr NEGOTIATION53Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Aruna V RulapaughUnited KingdomOnyama Limba PROPOSAL
Julie U InouyeRussiaAmy Elsner UNQUALIFIED
Kadeem D MarrierSpainAsiya Javayant QUALIFIED
Claire M FollerArgentinaElwin Sharvill RENEWAL
Julie H GillianCanadaAsiya Javayant QUALIFIED
Jennifer X AlbaresItalyIvan Magalhaes UNQUALIFIED
Murillo S OldroydSpainIoni Bowcher RENEWAL
Greenwood Q RutaBrazilElwin Sharvill RENEWAL
Mayumi Q KolmetzRussiaXuxue Feng QUALIFIED
Rodrigues Z RutaJapanBernardo Dominic RENEWAL
Johnson R AmigonFranceOnyama Limba NEGOTIATION
Aruna X OldroydSpainIvan Magalhaes UNQUALIFIED
Adams T KolmetzJapanElwin Sharvill QUALIFIED
Wickens F DilliardArgentinaIvan Magalhaes PROPOSAL
Sinclair S NickaArgentinaBernardo Dominic RENEWAL
Sinclair G RoysterBrazilBernardo Dominic NEW
Antonio A KuskoItalyIvan Magalhaes RENEWAL
Deepesh M FlosiRussiaXuxue Feng NEGOTIATION
Juan V GillianItalyAnna Fali NEW
Leja N WieserJapanIvan Magalhaes QUALIFIED
Jennifer Z OstroskyItalyIvan Magalhaes NEW
Clifford O PoquetteUnited KingdomOnyama Limba RENEWAL
Johnson X FollerBrazilStephen Shaw NEW
Wickens H MorascaBrazilAsiya Javayant RENEWAL
Adams E DilliardArgentinaStephen Shaw RENEWAL
Isabel P FigeroaRussiaAmy Elsner NEW
Rodrigues R VocelkaAustraliaBernardo Dominic RENEWAL
Jennifer M RulapaughFranceIvan Magalhaes PROPOSAL
Stacey P ChuiGermanyBernardo Dominic NEGOTIATION
Munro B StockhamFranceAsiya Javayant UNQUALIFIED
Antonio D WieserUnited KingdomAmy Elsner PROPOSAL
Wickens I NickaRussiaOnyama Limba QUALIFIED
Ashley E MorascaItalyIvan Magalhaes NEGOTIATION
Aika J SergiBrazilAsiya Javayant RENEWAL
Izzy A ShinkoBrazilOnyama Limba RENEWAL
Morrow M SchemmerRussiaAmy Elsner NEGOTIATION
Juan K FigeroaCanadaBernardo Dominic NEW
Francesco S WhobreyBrazilBernardo Dominic QUALIFIED
David R MacleadGermanyAsiya Javayant NEGOTIATION
Munro C StensethFranceBernardo Dominic NEW
Francesco R KolmetzAustraliaXuxue Feng NEW
David N SaylorsJapanIoni Bowcher NEW
Morrow Z MorascaIndiaIoni Bowcher RENEWAL
Isabel M MorascaSpainElwin Sharvill PROPOSAL
Faith A ButtIndiaAnna Fali NEGOTIATION
Cody M MorascaAustraliaStephen Shaw PROPOSAL
Costa X RutaBrazilBernardo Dominic QUALIFIED
Aruna L CaldareraItalyAmy Elsner RENEWAL
Chavez P WieserSpainIvan Magalhaes NEGOTIATION
Tony R ShinkoAustraliaXuxue Feng PROPOSAL
Frozen Columns
Name
Alejandro T Butt
Darci L Butt
Izzy J Inouye
Julie H Kolmetz
Jefferson V Schemmer
Nicolas Y Shinko
Munro M Iturbide
Ivar K Bolognia
Leon K Kolmetz
Costa F Ferencz
Claire S Schemmer
Sinclair I Gaucho
Darci I Rulapaugh
Wickens S Venere
Francesco W Darakjy
Jennifer Q Garufi
Nicolas D Foller
Julie Q Schemmer
Stacey S Foller
Jeanfrancois Z Ferencz
Maisha D Briddick
Francesco H Slusarski
Munro D Rim
Jennifer B Albares
Francesco P Doe
Salvatore D Kolmetz
Stacey J Flosi
Emily J Darakjy
Munro A Whobrey
Greenwood M Rim
Smith L Waycott
Leon G Maclead
Antonio G Campain
Adams S Campain
Kaitlin O Schemmer
Mayumi Q Glick
Maisha E Dilliard
Mayumi G Waycott
Ricardo E Ostrosky
Julie V Vocelka
Izzy H Flosi
Jeanfrancois A Glick
Mayumi J Kolmetz
Aruna Q Rulapaugh
Leon B Iturbide
Mayumi D Darakjy
Deepesh E Saylors
Chavez Y Foller
Ricardo A Royster
Aika R Venere
IdCountryDate
1000Australia2025-08-05
1001Japan2025-08-07
1002Italy2025-08-10
1003India2025-08-01
1004Spain2025-08-10
1005Brazil2025-07-16
1006Australia2025-07-18
1007Germany2025-07-27
1008Japan2025-08-01
1009Canada2025-07-15
1010Argentina2025-07-19
1011Spain2025-08-02
1012Italy2025-08-09
1013Spain2025-07-31
1014Spain2025-07-26
1015France2025-08-13
1016Canada2025-08-10
1017India2025-07-27
1018Italy2025-08-06
1019Canada2025-07-27
1020United Kingdom2025-08-10
1021France2025-08-02
1022Italy2025-07-21
1023France2025-07-24
1024Japan2025-07-31
1025Argentina2025-08-09
1026Japan2025-07-27
1027Argentina2025-07-16
1028India2025-07-25
1029Brazil2025-08-07
1030Brazil2025-08-06
1031Italy2025-07-25
1032Canada2025-07-30
1033India2025-08-09
1034Japan2025-08-02
1035Japan2025-07-15
1036Canada2025-08-03
1037India2025-07-30
1038Italy2025-08-12
1039Russia2025-08-10
1040United Kingdom2025-07-16
1041Italy2025-08-07
1042India2025-07-18
1043France2025-07-31
1044Canada2025-08-03
1045Argentina2025-07-23
1046India2025-07-27
1047Argentina2025-07-20
1048Canada2025-07-18
1049France2025-08-04

On-Demand Data

NameIdCountryDate
Ashley D Poquette1000Italy2025-08-08
Greenwood B Waycott1001Canada2025-07-25
Faith H Caudy1002Germany2025-07-29
Cody T Poquette1003India2025-08-09
Maisha X Morasca1004Germany2025-08-13
Darci E Bowley1005Russia2025-08-07
Jefferson H Caudy1006Germany2025-07-28
Clifford C Ruta1007Brazil2025-08-03
Maisha R Ostrosky1008Argentina2025-07-20
Leja R Amigon1009Germany2025-07-22
Greenwood I Paprocki1010Argentina2025-07-20
Emily H Shinko1011Japan2025-08-07
Octavia W Waycott1012Italy2025-08-05
Sinclair I Garufi1013India2025-08-05
Ashley W Dilliard1014Japan2025-07-17
Jeanfrancois C Glick1015Australia2025-08-09
Aruna M Saylors1016France2025-08-13
Johnson M Iturbide1017India2025-08-13
Emily Y Chui1018Canada2025-07-19
Faith H Butt1019Australia2025-07-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi Z DoeJapanElwin Sharvill RENEWAL
Aditya G BriddickFranceAnna Fali PROPOSAL
Antonio L RoysterUnited KingdomStephen Shaw UNQUALIFIED
Darci F ShinkoJapanIvan Magalhaes UNQUALIFIED
Ivar B FollerJapanBernardo Dominic UNQUALIFIED
Aditya B StockhamBrazilIoni Bowcher NEW
Leja F WieserItalyIoni Bowcher NEW
Kadeem N StensethGermanyIoni Bowcher NEGOTIATION
Silvio O SlusarskiArgentinaBernardo Dominic PROPOSAL
Alejandro K NestleJapanAmy Elsner QUALIFIED
Ashley O DilliardJapanAnna Fali NEGOTIATION
Isabel O FlosiUnited KingdomStephen Shaw RENEWAL
Silvio R CaudyRussiaIvan Magalhaes UNQUALIFIED
Morrow O AlbaresSpainElwin Sharvill QUALIFIED
Kadeem Z SergiArgentinaOnyama Limba NEW
Ricardo S ButtSpainAmy Elsner RENEWAL
Stacey G RulapaughBrazilIoni Bowcher QUALIFIED
Ivar M BowleyGermanyBernardo Dominic UNQUALIFIED
Costa C GlickArgentinaStephen Shaw RENEWAL
Cody I DoeRussiaStephen Shaw UNQUALIFIED
Julie D FerenczGermanyIvan Magalhaes UNQUALIFIED
Greenwood V VenereIndiaOnyama Limba RENEWAL
Francesco Y SlusarskiFranceAmy Elsner PROPOSAL
Murillo I SlusarskiIndiaStephen Shaw NEW
Ivar U PaprockiItalyBernardo Dominic NEW
Jeanfrancois E DarakjyJapanXuxue Feng UNQUALIFIED
Jennifer F MorascaCanadaStephen Shaw QUALIFIED
Morrow G WhobreyArgentinaAmy Elsner QUALIFIED
Stacey G WieserRussiaStephen Shaw NEW
Darci B BriddickAustraliaAnna Fali UNQUALIFIED
Stacey W RimBrazilAmy Elsner NEGOTIATION
Emily G FlosiAustraliaXuxue Feng RENEWAL
Francesco N StockhamItalyStephen Shaw NEGOTIATION
Jeanfrancois S VocelkaGermanyElwin Sharvill NEW
Izzy E AlbaresAustraliaIvan Magalhaes PROPOSAL
Mujtaba Q MaletArgentinaXuxue Feng NEW
Deepesh Y CampainCanadaIoni Bowcher RENEWAL
Rodrigues H CaudyCanadaAsiya Javayant RENEWAL
Ashley E KolmetzSpainAmy Elsner NEW
Adams K MacleadBrazilStephen Shaw 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>