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
Costa U FollerUnited KingdomBernardo Dominic UNQUALIFIED
Juan I GauchoGermanyIvan Magalhaes NEW
Kadeem C GarufiSpainXuxue Feng NEW
David C DilliardBrazilAsiya Javayant RENEWAL
Greenwood J GlickCanadaXuxue Feng NEGOTIATION
Isabel S MarrierJapanAnna Fali UNQUALIFIED
Aditya L RutaFranceOnyama Limba NEW
Nicolas A FerenczItalyAnna Fali NEGOTIATION
Sinclair U FigeroaBrazilAmy Elsner UNQUALIFIED
Octavia R PerinRussiaAsiya Javayant RENEWAL
David T VenereItalyXuxue Feng NEW
James R ChuiItalyIvan Magalhaes NEGOTIATION
Deepesh I DilliardGermanyElwin Sharvill RENEWAL
Stacey B CaudyArgentinaXuxue Feng NEW
Faith K BologniaArgentinaBernardo Dominic NEW
Juan A FollerAustraliaXuxue Feng NEW
Tony L VocelkaItalyAnna Fali NEW
Cody K VenereCanadaIoni Bowcher QUALIFIED
Aika Z SaylorsUnited KingdomXuxue Feng UNQUALIFIED
David J AmigonRussiaElwin Sharvill UNQUALIFIED
Chavez O MarrierJapanAmy Elsner QUALIFIED
Johnson J FlosiBrazilBernardo Dominic NEGOTIATION
Julie S OldroydFranceXuxue Feng NEGOTIATION
Juan Y CaudyArgentinaAmy Elsner NEW
Maria Z DoeSpainStephen Shaw NEW
Arvin D KuskoFranceIoni Bowcher QUALIFIED
Deepesh S WaycottRussiaAsiya Javayant RENEWAL
Leja L GauchoBrazilBernardo Dominic QUALIFIED
Kaitlin K GarufiArgentinaIvan Magalhaes NEGOTIATION
James P DilliardCanadaOnyama Limba NEW
Alejandro L KuskoGermanyIoni Bowcher PROPOSAL
Jeanfrancois P IturbideJapanXuxue Feng NEGOTIATION
Alejandro W StensethIndiaAnna Fali NEW
Deepesh I FerenczJapanAsiya Javayant UNQUALIFIED
Leon D DarakjyCanadaAsiya Javayant NEW
Misaki A PoquetteRussiaOnyama Limba UNQUALIFIED
Silvio Z OldroydArgentinaXuxue Feng RENEWAL
Ricardo Q RutaJapanBernardo Dominic NEGOTIATION
Rodrigues N GlickIndiaAmy Elsner NEW
Salvatore K FerenczRussiaXuxue Feng QUALIFIED
Aruna D StensethItalyElwin Sharvill RENEWAL
Chavez Y RulapaughJapanAsiya Javayant RENEWAL
Morrow Y BologniaItalyAsiya Javayant QUALIFIED
Ashley H FlosiSpainElwin Sharvill QUALIFIED
Aruna Z BologniaBrazilElwin Sharvill UNQUALIFIED
Morrow L MacleadUnited KingdomOnyama Limba UNQUALIFIED
Darci Y PerinCanadaXuxue Feng RENEWAL
Maisha A KolmetzRussiaAmy Elsner NEGOTIATION
Costa R ButtJapanElwin Sharvill PROPOSAL
Jennifer O MarrierItalyAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Antonio A RulapaughAustraliaAmy Elsner QUALIFIED
Aika O ButtSpainAmy Elsner PROPOSAL
Alejandro P FollerJapanOnyama Limba NEW
Smith U StensethIndiaElwin Sharvill RENEWAL
Silvio R OstroskyIndiaAsiya Javayant QUALIFIED
Jefferson A ShinkoSpainOnyama Limba RENEWAL
Jefferson V SchemmerCanadaBernardo Dominic UNQUALIFIED
Darci Q DoeUnited KingdomOnyama Limba NEW
Costa X MacleadBrazilStephen Shaw RENEWAL
Kadeem K GarufiGermanyIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford M WieserCanada2025-09-21Feltz Printing Service NEW75Asiya Javayant
1001Wickens S BologniaGermany2025-09-26Rangoni Of Florence NEW43Amy Elsner
1002Ricardo V CaldareraArgentina2025-10-05Benton, John B Jr RENEWAL36Ioni Bowcher
1003Greenwood U KolmetzUnited Kingdom2025-10-07Commercial Press RENEWAL1Xuxue Feng
1004Arvin Q CampainArgentina2025-09-22Chapman, Ross E Esq RENEWAL62Xuxue Feng
1005Kaitlin F BriddickRussia2025-10-13Rousseaux, Michael Esq UNQUALIFIED27Ivan Magalhaes
1006Ashley M SchemmerCanada2025-10-11Commercial Press QUALIFIED10Ivan Magalhaes
1007Ricardo R GauchoGermany2025-09-23Benton, John B Jr UNQUALIFIED29Ivan Magalhaes
1008Murillo Z WaycottAustralia2025-10-07King, Christopher A Esq NEW43Xuxue Feng
1009Adams R AmigonItaly2025-09-19Chapman, Ross E Esq UNQUALIFIED94Ioni Bowcher
1010Maisha W AmigonBrazil2025-09-20Feltz Printing Service NEGOTIATION66Xuxue Feng
1011Antonio V CaudyCanada2025-10-07Buckley Miller Wright NEW71Amy Elsner
1012Jefferson I SchemmerJapan2025-10-15Truhlar And Truhlar Attys NEGOTIATION56Onyama Limba
1013Clifford X DilliardRussia2025-10-07Chanay, Jeffrey A Esq QUALIFIED96Asiya Javayant
1014Aruna U WaycottArgentina2025-09-27Rousseaux, Michael Esq QUALIFIED88Elwin Sharvill
1015Rodrigues T MarrierJapan2025-10-11Chanay, Jeffrey A Esq PROPOSAL64Ioni Bowcher
1016Morrow F BowleyCanada2025-10-04Truhlar And Truhlar Attys NEW85Anna Fali
1017Stacey Q WhobreyGermany2025-10-15Feltz Printing Service NEGOTIATION46Bernardo Dominic
1018Misaki H KuskoRussia2025-10-11Commercial Press PROPOSAL75Bernardo Dominic
1019Julie D ButtSpain2025-09-22King, Christopher A Esq UNQUALIFIED89Ivan Magalhaes
1020Claire C DilliardAustralia2025-10-08Feiner Bros UNQUALIFIED70Xuxue Feng
1021Ashley W ButtFrance2025-10-04Printing Dimensions UNQUALIFIED90Xuxue Feng
1022Kaitlin O CaldareraJapan2025-09-30Feiner Bros PROPOSAL5Asiya Javayant
1023Arvin O ShinkoCanada2025-09-19Morlong Associates RENEWAL41Elwin Sharvill
1024Maisha B DoeUnited Kingdom2025-10-14Feiner Bros QUALIFIED3Onyama Limba
1025Murillo Z WieserGermany2025-10-05Feltz Printing Service QUALIFIED31Ioni Bowcher
1026Murillo W IturbideAustralia2025-10-03Feltz Printing Service PROPOSAL50Elwin Sharvill
1027Alejandro T TollnerArgentina2025-10-06Commercial Press UNQUALIFIED48Asiya Javayant
1028Salvatore E FlosiArgentina2025-10-07Dorl, James J Esq PROPOSAL59Stephen Shaw
1029Salvatore V CaudyArgentina2025-09-27Buckley Miller Wright RENEWAL19Bernardo Dominic
1030Adams S WieserSpain2025-09-24Printing Dimensions NEW95Asiya Javayant
1031Ashley V TollnerArgentina2025-09-16Commercial Press UNQUALIFIED27Anna Fali
1032Ivar Y TollnerArgentina2025-10-10Truhlar And Truhlar Attys RENEWAL79Bernardo Dominic
1033Jefferson V MacleadRussia2025-09-21Buckley Miller Wright NEGOTIATION73Ivan Magalhaes
1034Ashley G PoquetteSpain2025-09-22King, Christopher A Esq PROPOSAL58Stephen Shaw
1035Jennifer B VenereUnited Kingdom2025-10-12Dorl, James J Esq PROPOSAL61Onyama Limba
1036Claire A RimAustralia2025-09-16King, Christopher A Esq UNQUALIFIED16Ivan Magalhaes
1037Adams O RimIndia2025-09-22Dorl, James J Esq PROPOSAL2Onyama Limba
1038Jefferson F SlusarskiSpain2025-10-07Chapman, Ross E Esq QUALIFIED81Onyama Limba
1039Wickens O StockhamArgentina2025-10-14Buckley Miller Wright QUALIFIED71Asiya Javayant
1040Kaitlin D BriddickAustralia2025-10-10Benton, John B Jr NEW47Xuxue Feng
1041Aruna D KuskoBrazil2025-10-09Rangoni Of Florence UNQUALIFIED44Amy Elsner
1042Juan X MacleadItaly2025-10-06Feltz Printing Service UNQUALIFIED57Xuxue Feng
1043Aruna V AmigonJapan2025-09-18Printing Dimensions UNQUALIFIED88Ivan Magalhaes
1044Maria K OldroydJapan2025-10-12King, Christopher A Esq NEW27Elwin Sharvill
1045Isabel P IturbideItaly2025-09-20Chanay, Jeffrey A Esq QUALIFIED35Ioni Bowcher
1046Sinclair L GlickGermany2025-09-21Truhlar And Truhlar Attys RENEWAL50Bernardo Dominic
1047Aditya V FerenczGermany2025-10-10Chemel, James L Cpa RENEWAL88Asiya Javayant
1048Jones Q ShinkoRussia2025-10-07Buckley Miller Wright RENEWAL50Onyama Limba
1049Jones U NestleAustralia2025-10-13Buckley Miller Wright PROPOSAL35Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Ricardo T StensethFranceAmy Elsner RENEWAL
Faith K CaldareraGermanyIoni Bowcher RENEWAL
Aika J OldroydIndiaIoni Bowcher PROPOSAL
Ricardo C MarrierJapanIvan Magalhaes NEW
Morrow W GarufiArgentinaAnna Fali NEGOTIATION
Tony H PaprockiGermanyStephen Shaw UNQUALIFIED
Silvio V NickaCanadaXuxue Feng RENEWAL
Costa H NickaCanadaAnna Fali NEGOTIATION
Ashley H GauchoIndiaElwin Sharvill QUALIFIED
Alejandro W SaylorsItalyAmy Elsner QUALIFIED
Mujtaba Z BologniaBrazilIvan Magalhaes UNQUALIFIED
Aika Y VocelkaSpainOnyama Limba QUALIFIED
Kadeem J StensethSpainOnyama Limba QUALIFIED
Juan S OldroydFranceElwin Sharvill UNQUALIFIED
Jennifer R CaudyUnited KingdomAsiya Javayant UNQUALIFIED
Chavez A IturbideUnited KingdomOnyama Limba QUALIFIED
Sinclair E MaletBrazilElwin Sharvill NEW
Chavez S BologniaUnited KingdomIoni Bowcher PROPOSAL
Ashley R MaletJapanStephen Shaw QUALIFIED
Salvatore A PerinFranceAmy Elsner NEW
James A MarrierRussiaOnyama Limba PROPOSAL
Kadeem R DarakjyAustraliaElwin Sharvill PROPOSAL
Ivar H VenereGermanyAmy Elsner NEGOTIATION
Stacey R AmigonAustraliaBernardo Dominic NEW
Aditya K VocelkaJapanStephen Shaw UNQUALIFIED
Rodrigues J GarufiRussiaElwin Sharvill QUALIFIED
Murillo I PoquetteArgentinaAmy Elsner QUALIFIED
Claire G AmigonGermanyIvan Magalhaes UNQUALIFIED
Mayumi C FollerSpainAnna Fali NEW
Clifford K GlickCanadaOnyama Limba PROPOSAL
Ashley Z StockhamAustraliaXuxue Feng UNQUALIFIED
Chavez B GlickFranceOnyama Limba NEW
Leja L KolmetzItalyAsiya Javayant NEGOTIATION
Jones Y MaletGermanyBernardo Dominic NEGOTIATION
Kadeem J KolmetzRussiaStephen Shaw RENEWAL
Jeanfrancois D FerenczArgentinaAsiya Javayant PROPOSAL
Jones L PerinArgentinaAsiya Javayant PROPOSAL
Murillo X VenereGermanyOnyama Limba NEW
Aruna Y CampainJapanIvan Magalhaes RENEWAL
Greenwood W TollnerItalyStephen Shaw NEGOTIATION
Deepesh I SlusarskiJapanStephen Shaw RENEWAL
Misaki S OstroskyIndiaAmy Elsner NEW
Aditya R ChuiIndiaAmy Elsner NEGOTIATION
Tony V MaletAustraliaStephen Shaw RENEWAL
Rodrigues A CaldareraSpainStephen Shaw PROPOSAL
Arvin C KolmetzUnited KingdomElwin Sharvill UNQUALIFIED
Leon H AlbaresCanadaAnna Fali NEW
Leja C GlickIndiaOnyama Limba QUALIFIED
Morrow W ButtRussiaStephen Shaw QUALIFIED
Kaitlin R FlosiRussiaIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Julie F Kolmetz
Juan Z Briddick
Faith D Venere
Maisha C Iturbide
Greenwood O Bowley
Darci Q Rulapaugh
Jefferson X Maclead
Stacey K Whobrey
Jones J Darakjy
Izzy G Tollner
Jennifer D Wieser
Isabel B Stenseth
Clifford E Caudy
Stacey E Chui
Leja T Stockham
Murillo O Malet
Sinclair M Amigon
Tony I Royster
Kadeem A Stenseth
Juan T Figeroa
Maria K Waycott
Misaki L Gaucho
Ivar C Amigon
Ashley N Venere
Antonio R Figeroa
Leja O Malet
Cody G Schemmer
Jefferson K Perin
Octavia O Morasca
Claire R Tollner
Antonio S Stenseth
Jones H Darakjy
Sinclair H Gillian
Aditya X Royster
Jones I Shinko
Clifford B Albares
Stacey W Marrier
Antonio X Marrier
Deepesh K Flosi
Stacey Z Inouye
Ivar K Schemmer
Misaki R Tollner
Claire L Marrier
Leon E Stockham
Nicolas N Royster
Murillo B Royster
Clifford G Albares
Isabel R Inouye
Kaitlin P Doe
Chavez E Ruta
IdCountryDate
1000Australia2025-09-25
1001Argentina2025-09-26
1002Russia2025-09-29
1003Russia2025-09-28
1004Canada2025-10-11
1005Argentina2025-09-22
1006Russia2025-09-28
1007United Kingdom2025-10-09
1008France2025-10-05
1009Canada2025-10-03
1010Australia2025-09-22
1011Spain2025-10-04
1012India2025-10-01
1013Japan2025-09-30
1014Australia2025-10-03
1015Canada2025-10-10
1016Japan2025-09-22
1017Brazil2025-10-12
1018Russia2025-10-04
1019Argentina2025-10-04
1020Argentina2025-10-01
1021Italy2025-09-28
1022Germany2025-10-06
1023Spain2025-10-11
1024Argentina2025-09-28
1025Japan2025-10-02
1026France2025-10-07
1027Russia2025-09-18
1028Russia2025-10-06
1029Germany2025-10-05
1030France2025-10-05
1031United Kingdom2025-10-06
1032United Kingdom2025-09-24
1033Australia2025-10-15
1034Spain2025-10-09
1035Germany2025-10-04
1036Argentina2025-09-21
1037Russia2025-09-16
1038Germany2025-09-18
1039India2025-09-18
1040India2025-10-05
1041Spain2025-09-17
1042Canada2025-09-28
1043Germany2025-10-01
1044Brazil2025-10-10
1045Australia2025-10-12
1046Russia2025-10-14
1047Australia2025-09-19
1048Italy2025-10-14
1049Japan2025-10-14

On-Demand Data

NameIdCountryDate
Ivar S Bowley1000Brazil2025-09-25
Arvin C Foller1001France2025-09-16
Ashley B Perin1002Russia2025-09-30
Smith A Vocelka1003Japan2025-09-18
Kadeem F Gaucho1004Japan2025-09-20
Misaki H Vocelka1005Germany2025-09-28
Silvio I Maclead1006Germany2025-10-02
Isabel R Bowley1007France2025-10-12
Octavia S Iturbide1008Australia2025-09-16
Mayumi Y Paprocki1009Argentina2025-09-17
James M Tollner1010Spain2025-09-20
Jennifer I Inouye1011Spain2025-09-22
Aika Y Schemmer1012Spain2025-10-03
Jones L Stockham1013India2025-09-20
David C Venere1014Germany2025-09-27
Greenwood H Slusarski1015Italy2025-09-28
Faith Y Briddick1016United Kingdom2025-10-14
Tony B Caldarera1017France2025-10-15
Nicolas Z Schemmer1018India2025-10-08
Claire J Briddick1019Canada2025-10-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy P KuskoJapanIoni Bowcher UNQUALIFIED
Ivar O InouyeIndiaIoni Bowcher QUALIFIED
Adams L RutaAustraliaXuxue Feng RENEWAL
Mujtaba R GlickUnited KingdomIoni Bowcher NEGOTIATION
Tony X WieserAustraliaBernardo Dominic QUALIFIED
Darci Y NickaItalyOnyama Limba QUALIFIED
Greenwood R AmigonAustraliaXuxue Feng QUALIFIED
Clifford X FigeroaCanadaIvan Magalhaes NEW
Kaitlin Y StensethGermanyAnna Fali NEW
Tony L DarakjyCanadaStephen Shaw QUALIFIED
David Z VenereArgentinaIvan Magalhaes QUALIFIED
Francesco A MaletRussiaIoni Bowcher RENEWAL
Salvatore I DoeGermanyAsiya Javayant RENEWAL
Sinclair O SlusarskiRussiaElwin Sharvill NEGOTIATION
Ricardo K MacleadUnited KingdomAnna Fali PROPOSAL
Darci L IturbideRussiaAsiya Javayant PROPOSAL
Misaki Q RutaAustraliaAnna Fali QUALIFIED
Chavez R GarufiRussiaElwin Sharvill PROPOSAL
Juan G ButtUnited KingdomElwin Sharvill UNQUALIFIED
Leon F CaudyIndiaBernardo Dominic NEW
Izzy Z VocelkaArgentinaAnna Fali RENEWAL
Maria F ButtBrazilAnna Fali UNQUALIFIED
Jennifer E CampainRussiaStephen Shaw QUALIFIED
Aditya X StockhamJapanIoni Bowcher NEW
Kadeem U MarrierCanadaAsiya Javayant QUALIFIED
Morrow B CampainRussiaAsiya Javayant QUALIFIED
Smith L CaudyAustraliaIvan Magalhaes QUALIFIED
Kaitlin S AlbaresItalyIvan Magalhaes UNQUALIFIED
Mujtaba J DarakjyCanadaXuxue Feng RENEWAL
Salvatore S ShinkoGermanyStephen Shaw PROPOSAL
Ashley X FigeroaRussiaAmy Elsner NEGOTIATION
Silvio B FigeroaSpainStephen Shaw QUALIFIED
Salvatore O IturbideJapanElwin Sharvill UNQUALIFIED
Smith U FlosiJapanBernardo Dominic QUALIFIED
Mujtaba B OldroydBrazilIvan Magalhaes QUALIFIED
Clifford I FlosiSpainAmy Elsner UNQUALIFIED
David P BologniaGermanyAsiya Javayant UNQUALIFIED
Stacey F RoysterJapanBernardo Dominic NEGOTIATION
Jefferson Z MarrierCanadaStephen Shaw UNQUALIFIED
Costa M KolmetzGermanyIvan Magalhaes NEW

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