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
Johnson D InouyeJapanIvan Magalhaes QUALIFIED
Silvio H CaudyRussiaStephen Shaw UNQUALIFIED
Kadeem B RimArgentinaAsiya Javayant NEGOTIATION
Alejandro S DoeSpainIvan Magalhaes UNQUALIFIED
David W IturbideUnited KingdomElwin Sharvill NEW
Leon L InouyeItalyAnna Fali PROPOSAL
Maisha N SlusarskiJapanAnna Fali NEW
Aruna L BologniaItalyIoni Bowcher NEW
Faith E MaletJapanXuxue Feng UNQUALIFIED
Murillo H BriddickRussiaOnyama Limba RENEWAL
Wickens S RimAustraliaStephen Shaw NEGOTIATION
Maria E NickaFranceAsiya Javayant NEW
Silvio S CaldareraCanadaXuxue Feng NEW
Wickens N FlosiBrazilBernardo Dominic QUALIFIED
Maria E SaylorsItalyStephen Shaw NEW
Ashley N VenereJapanAnna Fali PROPOSAL
Leon G SchemmerArgentinaAnna Fali NEW
Nicolas M MarrierRussiaElwin Sharvill RENEWAL
Leon A PoquetteCanadaXuxue Feng RENEWAL
Nicolas G RulapaughCanadaOnyama Limba PROPOSAL
Morrow J DoeItalyStephen Shaw RENEWAL
Aruna C GauchoSpainIoni Bowcher PROPOSAL
Isabel Z CaldareraSpainElwin Sharvill UNQUALIFIED
Mujtaba O FollerRussiaStephen Shaw NEW
Greenwood F MorascaAustraliaIvan Magalhaes NEW
Cody K PaprockiFranceIoni Bowcher PROPOSAL
Rodrigues H FlosiIndiaElwin Sharvill UNQUALIFIED
Johnson W SaylorsCanadaStephen Shaw QUALIFIED
Faith G CaldareraItalyAnna Fali NEW
Claire B GillianBrazilAsiya Javayant UNQUALIFIED
Salvatore K ShinkoIndiaBernardo Dominic PROPOSAL
Arvin Z FerenczJapanXuxue Feng RENEWAL
Greenwood Z ButtAustraliaElwin Sharvill UNQUALIFIED
David Q RimFranceAsiya Javayant RENEWAL
Rodrigues M GauchoArgentinaBernardo Dominic UNQUALIFIED
Wickens V GillianSpainElwin Sharvill QUALIFIED
Faith U FollerRussiaAnna Fali NEW
Mayumi F SlusarskiBrazilElwin Sharvill NEW
Tony P MacleadRussiaAnna Fali QUALIFIED
Jefferson F SaylorsRussiaStephen Shaw PROPOSAL
Ivar L StockhamFranceIoni Bowcher UNQUALIFIED
Antonio J OldroydSpainOnyama Limba UNQUALIFIED
Cody P MaletJapanOnyama Limba UNQUALIFIED
Ashley T MarrierItalyStephen Shaw PROPOSAL
Leja N SergiRussiaXuxue Feng QUALIFIED
Smith B NickaGermanyElwin Sharvill QUALIFIED
Salvatore W AmigonFranceBernardo Dominic QUALIFIED
Jefferson S TollnerGermanyBernardo Dominic QUALIFIED
Octavia K VenereRussiaStephen Shaw NEGOTIATION
Aika G FigeroaFranceStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Silvio L CaldareraItalyStephen Shaw RENEWAL
Morrow M MorascaJapanOnyama Limba QUALIFIED
Rodrigues S SlusarskiRussiaStephen Shaw NEGOTIATION
Cody Z BowleyFranceStephen Shaw RENEWAL
Arvin M InouyeAustraliaAnna Fali RENEWAL
Sinclair J RulapaughBrazilIoni Bowcher UNQUALIFIED
Jeanfrancois K MorascaRussiaAnna Fali NEW
Aruna R ShinkoJapanAnna Fali NEW
Ivar S MaletItalyXuxue Feng NEGOTIATION
Claire K FigeroaItalyXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow K ButtRussia2025-08-07Buckley Miller Wright RENEWAL21Bernardo Dominic
1001Morrow Y ChuiUnited Kingdom2025-08-02Buckley Miller Wright PROPOSAL6Onyama Limba
1002Maria R PoquetteItaly2025-07-28Rousseaux, Michael Esq PROPOSAL19Ioni Bowcher
1003Rodrigues A MaletUnited Kingdom2025-07-29Chanay, Jeffrey A Esq UNQUALIFIED19Bernardo Dominic
1004Maria E OldroydIndia2025-08-15Chanay, Jeffrey A Esq NEGOTIATION23Bernardo Dominic
1005Jennifer R GillianGermany2025-07-31Feiner Bros RENEWAL96Asiya Javayant
1006Morrow P PoquetteJapan2025-08-09Feltz Printing Service PROPOSAL73Anna Fali
1007Julie C ChuiUnited Kingdom2025-08-20Feiner Bros UNQUALIFIED38Anna Fali
1008Adams L PoquetteBrazil2025-08-13Chemel, James L Cpa NEW60Ioni Bowcher
1009Salvatore S PerinUnited Kingdom2025-08-01Morlong Associates NEW84Xuxue Feng
1010Juan I CaudyAustralia2025-08-07Morlong Associates NEGOTIATION56Bernardo Dominic
1011Alejandro M DilliardRussia2025-08-21Chemel, James L Cpa PROPOSAL10Anna Fali
1012Emily F SaylorsGermany2025-08-17Benton, John B Jr RENEWAL77Bernardo Dominic
1013Misaki I MaletItaly2025-08-02Morlong Associates QUALIFIED99Elwin Sharvill
1014Julie K PerinCanada2025-08-12Rangoni Of Florence QUALIFIED47Elwin Sharvill
1015Juan S WieserItaly2025-08-06Commercial Press UNQUALIFIED21Anna Fali
1016James N FollerIndia2025-08-13Morlong Associates UNQUALIFIED47Amy Elsner
1017Julie I KuskoItaly2025-08-10Chapman, Ross E Esq PROPOSAL36Amy Elsner
1018Deepesh R GillianCanada2025-07-31Rousseaux, Michael Esq NEW94Ioni Bowcher
1019Munro G GlickCanada2025-08-25Rousseaux, Michael Esq PROPOSAL42Ioni Bowcher
1020Jeanfrancois L ShinkoGermany2025-08-06Dorl, James J Esq UNQUALIFIED20Amy Elsner
1021Greenwood B MaletJapan2025-08-15Printing Dimensions UNQUALIFIED78Xuxue Feng
1022Chavez L ButtRussia2025-08-10Chanay, Jeffrey A Esq QUALIFIED82Onyama Limba
1023David R NestleBrazil2025-08-19Rousseaux, Michael Esq NEW25Amy Elsner
1024Aika O OstroskySpain2025-08-04Feiner Bros RENEWAL37Ioni Bowcher
1025Mayumi V MorascaJapan2025-07-27Morlong Associates UNQUALIFIED59Amy Elsner
1026Tony O FlosiBrazil2025-08-16Rousseaux, Michael Esq UNQUALIFIED40Ivan Magalhaes
1027Maria P MacleadFrance2025-08-25Benton, John B Jr QUALIFIED27Onyama Limba
1028Octavia W CampainAustralia2025-08-21Printing Dimensions NEW29Anna Fali
1029Misaki Q GauchoAustralia2025-08-24Feltz Printing Service NEW6Bernardo Dominic
1030Juan F BowleyAustralia2025-07-27Benton, John B Jr QUALIFIED29Amy Elsner
1031Claire Y MacleadFrance2025-08-07Rangoni Of Florence RENEWAL53Elwin Sharvill
1032Antonio C MaletJapan2025-08-12Morlong Associates QUALIFIED79Xuxue Feng
1033Nicolas J AlbaresCanada2025-08-10Morlong Associates QUALIFIED80Asiya Javayant
1034Salvatore V FollerRussia2025-08-08Feiner Bros UNQUALIFIED87Stephen Shaw
1035Aika D RutaFrance2025-08-02King, Christopher A Esq QUALIFIED14Xuxue Feng
1036Juan A BriddickSpain2025-08-06Chapman, Ross E Esq NEW98Ioni Bowcher
1037Faith V CampainBrazil2025-07-30Rousseaux, Michael Esq NEW70Onyama Limba
1038Misaki H AmigonJapan2025-08-17Benton, John B Jr RENEWAL98Anna Fali
1039Juan C RutaSpain2025-08-18Rangoni Of Florence NEGOTIATION62Onyama Limba
1040Wickens Q ShinkoItaly2025-08-11Chanay, Jeffrey A Esq NEW60Ivan Magalhaes
1041Izzy O StensethGermany2025-08-22Chanay, Jeffrey A Esq QUALIFIED67Ioni Bowcher
1042Stacey P DarakjyCanada2025-08-17Commercial Press NEW85Asiya Javayant
1043Aditya G AmigonJapan2025-07-30Feltz Printing Service NEW99Xuxue Feng
1044Aika U GarufiSpain2025-08-12Chemel, James L Cpa NEGOTIATION74Asiya Javayant
1045Kaitlin U BologniaFrance2025-08-13Rangoni Of Florence RENEWAL5Bernardo Dominic
1046Aika N NestleItaly2025-08-04Chanay, Jeffrey A Esq UNQUALIFIED24Onyama Limba
1047Tony A IturbideRussia2025-08-02Rousseaux, Michael Esq QUALIFIED44Anna Fali
1048Antonio J GlickCanada2025-08-05Buckley Miller Wright UNQUALIFIED78Ioni Bowcher
1049James R GarufiFrance2025-08-12Commercial Press PROPOSAL82Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Ashley H ChuiRussiaAmy Elsner NEW
Adams Q WaycottFranceIvan Magalhaes NEGOTIATION
Jennifer P KuskoRussiaBernardo Dominic UNQUALIFIED
Kadeem O TollnerCanadaStephen Shaw UNQUALIFIED
Maisha S FollerIndiaIoni Bowcher RENEWAL
Chavez D OstroskySpainAmy Elsner RENEWAL
Deepesh C FollerJapanXuxue Feng NEW
Jones Y ChuiSpainBernardo Dominic NEW
Nicolas J CampainItalyAnna Fali PROPOSAL
Maria D ChuiCanadaXuxue Feng PROPOSAL
Cody D OstroskyJapanBernardo Dominic PROPOSAL
Adams I FlosiUnited KingdomOnyama Limba NEW
Alejandro A MarrierRussiaXuxue Feng RENEWAL
Antonio L SchemmerCanadaIvan Magalhaes NEGOTIATION
Stacey G MaletItalyStephen Shaw RENEWAL
Ivar K OstroskyCanadaAmy Elsner PROPOSAL
Salvatore M RoysterItalyElwin Sharvill NEGOTIATION
Munro G StockhamIndiaXuxue Feng RENEWAL
Silvio A PoquetteBrazilXuxue Feng UNQUALIFIED
Adams F IturbideJapanStephen Shaw NEGOTIATION
David N SchemmerJapanXuxue Feng NEW
Silvio A DoeSpainAnna Fali NEW
Jeanfrancois R SaylorsAustraliaStephen Shaw RENEWAL
Silvio E StockhamGermanyStephen Shaw NEW
Mayumi S DilliardIndiaBernardo Dominic QUALIFIED
Jennifer K ChuiUnited KingdomAsiya Javayant QUALIFIED
Clifford R PaprockiFranceAmy Elsner NEGOTIATION
Nicolas S NickaRussiaOnyama Limba NEGOTIATION
Munro Y FigeroaFranceAsiya Javayant PROPOSAL
Octavia P DilliardAustraliaOnyama Limba UNQUALIFIED
Wickens W MorascaIndiaIvan Magalhaes RENEWAL
Ivar P IturbideFranceAmy Elsner NEW
Murillo F OstroskyUnited KingdomOnyama Limba NEGOTIATION
Julie B FerenczBrazilAmy Elsner RENEWAL
Adams N WieserUnited KingdomElwin Sharvill NEGOTIATION
Aruna Y PoquetteRussiaIvan Magalhaes QUALIFIED
Jeanfrancois H DilliardCanadaAmy Elsner RENEWAL
Francesco Y RoysterArgentinaIoni Bowcher UNQUALIFIED
Silvio Z BologniaJapanAsiya Javayant QUALIFIED
Tony G MaletArgentinaOnyama Limba NEW
Ivar L CaudyJapanIoni Bowcher RENEWAL
Juan T KuskoAustraliaIoni Bowcher NEGOTIATION
Mayumi Q GlickJapanXuxue Feng QUALIFIED
Rodrigues Z AlbaresGermanyAmy Elsner PROPOSAL
Deepesh M StensethArgentinaStephen Shaw QUALIFIED
Izzy M BowleyCanadaBernardo Dominic NEGOTIATION
Antonio C DarakjyBrazilOnyama Limba NEW
Aruna Z RutaFranceElwin Sharvill PROPOSAL
Misaki O FigeroaIndiaStephen Shaw NEW
Izzy E CaudyRussiaStephen Shaw QUALIFIED
Frozen Columns
Name
Stacey X Morasca
Smith A Marrier
Faith C Stockham
Clifford Z Foller
Jeanfrancois B Caudy
Morrow K Whobrey
Mujtaba W Ruta
Alejandro D Amigon
Sinclair C Stenseth
Aika Y Campain
Adams L Foller
Adams O Iturbide
Sinclair S Darakjy
Aika T Perin
Costa H Stockham
Silvio X Ostrosky
Silvio Q Nestle
Aditya J Nestle
Munro N Dilliard
Munro I Malet
Wickens Y Stockham
Leon L Vocelka
Darci K Glick
Costa M Gillian
Nicolas G Foller
Francesco L Bowley
Maisha H Slusarski
Rodrigues T Malet
Aika M Inouye
Julie N Rim
Mayumi S Caudy
Julie T Iturbide
Kaitlin K Maclead
Misaki W Ruta
Kaitlin D Schemmer
Munro O Oldroyd
Greenwood C Gillian
Maisha R Caldarera
Jeanfrancois U Waycott
Aruna O Iturbide
Rodrigues X Wieser
Deepesh D Doe
Salvatore H Figeroa
Isabel P Iturbide
Jennifer R Garufi
Rodrigues D Flosi
Leja R Maclead
Jones T Ruta
Murillo M Nestle
James X Venere
IdCountryDate
1000Japan2025-08-08
1001Italy2025-07-27
1002Australia2025-08-04
1003Australia2025-08-17
1004Germany2025-08-21
1005France2025-08-24
1006Canada2025-08-17
1007Australia2025-08-14
1008Italy2025-08-06
1009Germany2025-08-02
1010France2025-08-20
1011Germany2025-08-04
1012Russia2025-07-31
1013Spain2025-08-16
1014India2025-08-08
1015Japan2025-08-15
1016Australia2025-08-21
1017Canada2025-08-07
1018Germany2025-08-03
1019Brazil2025-08-02
1020Argentina2025-08-05
1021Brazil2025-08-14
1022Italy2025-08-22
1023United Kingdom2025-07-28
1024United Kingdom2025-08-09
1025Italy2025-08-18
1026Russia2025-08-05
1027Argentina2025-08-09
1028Brazil2025-07-30
1029Japan2025-08-17
1030Italy2025-08-05
1031Australia2025-08-24
1032Argentina2025-07-29
1033United Kingdom2025-07-27
1034France2025-08-23
1035India2025-08-02
1036Italy2025-08-17
1037Russia2025-08-18
1038France2025-08-16
1039Russia2025-08-09
1040India2025-08-16
1041Argentina2025-08-16
1042Germany2025-07-27
1043Russia2025-08-04
1044Japan2025-08-18
1045Russia2025-08-04
1046Argentina2025-07-31
1047India2025-08-02
1048Japan2025-08-13
1049France2025-08-09

On-Demand Data

NameIdCountryDate
Greenwood F Glick1000Russia2025-07-27
Darci O Rim1001United Kingdom2025-07-31
Salvatore M Butt1002Argentina2025-08-13
Clifford S Poquette1003United Kingdom2025-08-15
Octavia W Doe1004United Kingdom2025-07-27
Faith V Marrier1005Argentina2025-08-09
Murillo L Poquette1006Spain2025-08-06
Jefferson U Vocelka1007Canada2025-08-19
Alejandro D Ostrosky1008Japan2025-08-16
Mayumi D Vocelka1009Argentina2025-08-01
Maisha P Shinko1010Russia2025-08-18
Leon Z Albares1011Australia2025-07-29
Aditya H Caldarera1012Japan2025-08-14
Jones S Garufi1013Australia2025-07-31
Kadeem X Ferencz1014India2025-07-29
Deepesh R Rulapaugh1015Italy2025-08-24
Smith E Perin1016United Kingdom2025-08-14
Munro A Royster1017India2025-08-02
Cody I Briddick1018Italy2025-08-11
Francesco U Oldroyd1019France2025-08-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore T RoysterSpainBernardo Dominic UNQUALIFIED
David G PoquetteRussiaOnyama Limba NEGOTIATION
Jeanfrancois U VenereUnited KingdomXuxue Feng QUALIFIED
Aditya U MorascaJapanOnyama Limba NEGOTIATION
Maisha E ChuiSpainAsiya Javayant UNQUALIFIED
Aditya W KuskoCanadaElwin Sharvill NEGOTIATION
Stacey A MacleadItalyAsiya Javayant UNQUALIFIED
Alejandro S CampainAustraliaIoni Bowcher NEGOTIATION
Morrow H WhobreyRussiaBernardo Dominic NEW
Clifford N ShinkoFranceIvan Magalhaes RENEWAL
Munro D KuskoArgentinaStephen Shaw RENEWAL
Antonio E GillianFranceElwin Sharvill QUALIFIED
Julie I RoysterBrazilIoni Bowcher PROPOSAL
Claire D KuskoArgentinaBernardo Dominic PROPOSAL
Francesco R ShinkoJapanIoni Bowcher NEGOTIATION
Jennifer W PerinFranceIoni Bowcher PROPOSAL
Antonio Y OldroydGermanyStephen Shaw PROPOSAL
Morrow O InouyeArgentinaAsiya Javayant UNQUALIFIED
Julie I SaylorsJapanElwin Sharvill RENEWAL
Ricardo Z MaletUnited KingdomAsiya Javayant RENEWAL
Rodrigues Z OstroskyGermanyStephen Shaw QUALIFIED
Salvatore I SergiItalyIoni Bowcher QUALIFIED
David F PerinSpainIoni Bowcher QUALIFIED
Mayumi L GlickJapanIoni Bowcher RENEWAL
Costa D ChuiItalyAnna Fali NEW
Emily R SchemmerFranceStephen Shaw UNQUALIFIED
Alejandro C GarufiItalyBernardo Dominic QUALIFIED
Julie E VocelkaIndiaElwin Sharvill UNQUALIFIED
Maria K SergiAustraliaAmy Elsner NEW
Morrow A BologniaJapanXuxue Feng QUALIFIED
Nicolas K IturbideJapanOnyama Limba UNQUALIFIED
Smith A DilliardArgentinaIvan Magalhaes RENEWAL
Leon I PerinJapanBernardo Dominic PROPOSAL
Ivar H GlickGermanyAsiya Javayant QUALIFIED
Munro O PoquetteCanadaAnna Fali UNQUALIFIED
Misaki O AmigonArgentinaElwin Sharvill NEGOTIATION
Chavez Z BowleySpainStephen Shaw RENEWAL
Kadeem H SlusarskiJapanAnna Fali RENEWAL
Deepesh Q SlusarskiAustraliaXuxue Feng UNQUALIFIED
Faith Y SchemmerBrazilElwin Sharvill UNQUALIFIED

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