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
Jefferson F ShinkoGermanyIoni Bowcher RENEWAL
Clifford W FerenczFranceOnyama Limba RENEWAL
Alejandro M BriddickItalyIoni Bowcher RENEWAL
Francesco O WhobreyCanadaAmy Elsner NEGOTIATION
James Z GauchoIndiaElwin Sharvill NEW
Misaki L PoquetteSpainStephen Shaw UNQUALIFIED
Kadeem Z GarufiRussiaOnyama Limba QUALIFIED
Maisha E CaudyFranceOnyama Limba PROPOSAL
Claire I StockhamJapanStephen Shaw NEW
Izzy M DilliardBrazilAnna Fali UNQUALIFIED
Antonio M CaudyAustraliaXuxue Feng QUALIFIED
Juan B AmigonUnited KingdomAmy Elsner NEW
Murillo C TollnerFranceElwin Sharvill NEGOTIATION
Jefferson H FlosiSpainOnyama Limba NEW
Kaitlin V TollnerAustraliaXuxue Feng QUALIFIED
Tony Z KuskoUnited KingdomStephen Shaw QUALIFIED
Juan T WaycottSpainOnyama Limba NEW
Nicolas W SchemmerAustraliaElwin Sharvill RENEWAL
Jefferson H StensethBrazilAsiya Javayant NEW
Leon O BowleyCanadaAnna Fali NEGOTIATION
Isabel U DoeFranceElwin Sharvill UNQUALIFIED
Julie K RutaAustraliaOnyama Limba QUALIFIED
Aruna X WhobreyJapanIoni Bowcher NEW
Darci I SlusarskiGermanyXuxue Feng UNQUALIFIED
Wickens Y MaletCanadaIoni Bowcher RENEWAL
Costa Z WaycottIndiaBernardo Dominic UNQUALIFIED
Julie Z BologniaGermanyBernardo Dominic NEGOTIATION
Jeanfrancois Z RutaJapanIoni Bowcher UNQUALIFIED
Jones R MaletSpainStephen Shaw NEW
Emily R WaycottJapanBernardo Dominic RENEWAL
Wickens O ButtArgentinaAnna Fali RENEWAL
Mayumi G NestleAustraliaAsiya Javayant UNQUALIFIED
Kaitlin F ShinkoItalyXuxue Feng NEW
Mayumi H CaudyGermanyAnna Fali NEGOTIATION
Tony S WhobreyRussiaIvan Magalhaes UNQUALIFIED
Aditya O PerinUnited KingdomXuxue Feng NEW
Alejandro M MacleadCanadaOnyama Limba QUALIFIED
Jennifer C TollnerFranceAsiya Javayant UNQUALIFIED
Maria J CaudyItalyXuxue Feng RENEWAL
Octavia X FigeroaGermanyOnyama Limba RENEWAL
Alejandro Q SergiBrazilXuxue Feng UNQUALIFIED
Leon S GauchoSpainBernardo Dominic NEW
Kadeem S FerenczGermanyIoni Bowcher RENEWAL
Claire S SergiAustraliaIoni Bowcher NEW
Leon A FerenczFranceXuxue Feng PROPOSAL
Claire E StensethSpainXuxue Feng NEW
Mayumi Z BologniaRussiaBernardo Dominic NEW
Maria C FlosiJapanIoni Bowcher NEW
Alejandro S NickaBrazilIoni Bowcher QUALIFIED
Izzy F FlosiCanadaStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jefferson A KolmetzJapanIoni Bowcher UNQUALIFIED
Sinclair A SergiFranceStephen Shaw UNQUALIFIED
Silvio G RulapaughIndiaElwin Sharvill RENEWAL
Maisha T TollnerCanadaXuxue Feng UNQUALIFIED
Julie K MaletRussiaElwin Sharvill UNQUALIFIED
Ivar B MorascaIndiaAnna Fali NEGOTIATION
Smith L DoeAustraliaIvan Magalhaes NEGOTIATION
Ricardo G ChuiCanadaIvan Magalhaes NEW
Leon Z SlusarskiFranceElwin Sharvill NEGOTIATION
Stacey M VocelkaItalyElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood S FlosiSpain2025-07-22Benton, John B Jr NEGOTIATION56Ioni Bowcher
1001Ashley N DoeBrazil2025-07-17Commercial Press NEW13Stephen Shaw
1002Adams P MaletFrance2025-07-16Rousseaux, Michael Esq QUALIFIED5Asiya Javayant
1003Arvin J ChuiItaly2025-08-04Feiner Bros UNQUALIFIED75Stephen Shaw
1004Octavia I GauchoUnited Kingdom2025-07-12Feiner Bros NEW89Stephen Shaw
1005Faith J GarufiSpain2025-07-13Rangoni Of Florence QUALIFIED22Amy Elsner
1006Smith N RulapaughRussia2025-07-17Printing Dimensions UNQUALIFIED84Anna Fali
1007Stacey I KolmetzFrance2025-08-03Feiner Bros PROPOSAL85Xuxue Feng
1008James D MaletRussia2025-07-21Truhlar And Truhlar Attys RENEWAL11Ioni Bowcher
1009Ricardo B BologniaUnited Kingdom2025-07-27Rangoni Of Florence QUALIFIED1Anna Fali
1010Aditya W IturbideItaly2025-07-25Commercial Press RENEWAL50Asiya Javayant
1011Smith X VocelkaArgentina2025-08-03Chemel, James L Cpa UNQUALIFIED68Asiya Javayant
1012Maisha D BowleyCanada2025-08-02Printing Dimensions NEGOTIATION34Bernardo Dominic
1013Ashley L PoquetteItaly2025-07-25Chapman, Ross E Esq RENEWAL33Xuxue Feng
1014Adams O InouyeItaly2025-07-24Benton, John B Jr NEW9Asiya Javayant
1015Chavez A BologniaUnited Kingdom2025-07-08Chemel, James L Cpa RENEWAL99Elwin Sharvill
1016Leon C SergiJapan2025-07-29Buckley Miller Wright NEW31Ivan Magalhaes
1017Munro U OldroydRussia2025-07-27Chanay, Jeffrey A Esq NEW46Onyama Limba
1018Munro T PaprockiFrance2025-07-09King, Christopher A Esq RENEWAL23Ioni Bowcher
1019Leja Q NickaRussia2025-07-19Morlong Associates RENEWAL59Asiya Javayant
1020Jeanfrancois P DarakjyJapan2025-07-09Feiner Bros UNQUALIFIED62Onyama Limba
1021Julie X CampainItaly2025-07-31Morlong Associates PROPOSAL23Ioni Bowcher
1022Juan F SlusarskiJapan2025-07-22Chanay, Jeffrey A Esq NEGOTIATION10Elwin Sharvill
1023Aruna S NickaUnited Kingdom2025-07-18King, Christopher A Esq QUALIFIED66Anna Fali
1024Johnson A GauchoCanada2025-07-13Truhlar And Truhlar Attys UNQUALIFIED67Xuxue Feng
1025Rodrigues I NestleSpain2025-07-20Commercial Press RENEWAL27Xuxue Feng
1026Chavez Z InouyeAustralia2025-08-01Rousseaux, Michael Esq QUALIFIED63Xuxue Feng
1027Leja S FollerArgentina2025-07-13Feiner Bros QUALIFIED74Onyama Limba
1028Izzy F RulapaughItaly2025-07-31Morlong Associates NEW26Amy Elsner
1029Darci Q VenereJapan2025-07-08Printing Dimensions PROPOSAL52Asiya Javayant
1030Octavia D WaycottCanada2025-07-16Benton, John B Jr PROPOSAL23Anna Fali
1031Silvio M CaldareraJapan2025-07-25Commercial Press RENEWAL73Amy Elsner
1032Stacey I AmigonUnited Kingdom2025-07-19Dorl, James J Esq QUALIFIED75Anna Fali
1033Darci L InouyeCanada2025-07-19King, Christopher A Esq RENEWAL9Anna Fali
1034Claire Y StensethItaly2025-08-02Rangoni Of Florence NEW64Amy Elsner
1035Francesco D FlosiIndia2025-07-08Printing Dimensions NEW45Anna Fali
1036Kadeem Z DarakjyGermany2025-07-22Rangoni Of Florence NEW13Asiya Javayant
1037Izzy M RulapaughItaly2025-08-01Truhlar And Truhlar Attys NEGOTIATION85Asiya Javayant
1038Ricardo C CaudySpain2025-07-24Printing Dimensions QUALIFIED9Ioni Bowcher
1039Darci D IturbideIndia2025-07-31Rousseaux, Michael Esq UNQUALIFIED95Bernardo Dominic
1040Johnson K IturbideCanada2025-08-04Commercial Press UNQUALIFIED4Asiya Javayant
1041Greenwood I ButtCanada2025-07-28Dorl, James J Esq NEGOTIATION29Onyama Limba
1042Darci V WieserSpain2025-08-02Buckley Miller Wright NEGOTIATION38Bernardo Dominic
1043Silvio E PerinArgentina2025-07-09Morlong Associates NEW4Stephen Shaw
1044Isabel F RimIndia2025-08-02Feltz Printing Service RENEWAL2Onyama Limba
1045Antonio J StockhamItaly2025-08-04Benton, John B Jr RENEWAL20Xuxue Feng
1046Julie F DoeIndia2025-07-14Rousseaux, Michael Esq PROPOSAL40Amy Elsner
1047Deepesh S VocelkaJapan2025-07-13Feltz Printing Service NEW85Xuxue Feng
1048Mujtaba T GarufiAustralia2025-07-07Morlong Associates QUALIFIED21Stephen Shaw
1049Octavia Z ShinkoItaly2025-07-16Benton, John B Jr NEW58Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Ashley V GlickItalyAsiya Javayant QUALIFIED
Leja Q BologniaGermanyIoni Bowcher PROPOSAL
Greenwood L SergiUnited KingdomStephen Shaw PROPOSAL
Jones W IturbideGermanyAsiya Javayant PROPOSAL
Clifford J OstroskyJapanIvan Magalhaes QUALIFIED
Ricardo K WaycottUnited KingdomAnna Fali NEW
Octavia T BologniaSpainOnyama Limba RENEWAL
Nicolas P PaprockiFranceXuxue Feng NEW
Mayumi B OldroydCanadaStephen Shaw RENEWAL
Alejandro W AmigonAustraliaAsiya Javayant QUALIFIED
Ricardo S StockhamFranceIvan Magalhaes QUALIFIED
Silvio Q AlbaresAustraliaElwin Sharvill QUALIFIED
Juan S ShinkoUnited KingdomOnyama Limba UNQUALIFIED
Leja P MaletArgentinaIvan Magalhaes NEW
Cody A RutaJapanAsiya Javayant QUALIFIED
Octavia V BowleyCanadaIoni Bowcher NEGOTIATION
Darci D SlusarskiUnited KingdomAsiya Javayant NEGOTIATION
Francesco G PoquetteUnited KingdomElwin Sharvill QUALIFIED
Emily Y CampainIndiaAsiya Javayant UNQUALIFIED
Antonio R VocelkaArgentinaStephen Shaw QUALIFIED
Wickens P DoeCanadaOnyama Limba QUALIFIED
Octavia W DilliardGermanyOnyama Limba UNQUALIFIED
Ricardo N VocelkaItalyAsiya Javayant RENEWAL
Clifford G GarufiBrazilElwin Sharvill UNQUALIFIED
Jeanfrancois E TollnerCanadaStephen Shaw RENEWAL
Adams L ShinkoGermanyAsiya Javayant QUALIFIED
Emily L GlickGermanyAmy Elsner RENEWAL
Johnson K MorascaIndiaXuxue Feng QUALIFIED
Aika J SaylorsAustraliaAmy Elsner NEW
Ricardo G PerinArgentinaIoni Bowcher QUALIFIED
Murillo O StensethSpainStephen Shaw RENEWAL
Salvatore Y CaudyJapanAsiya Javayant RENEWAL
Octavia J KolmetzArgentinaAnna Fali UNQUALIFIED
Jones S OstroskyUnited KingdomBernardo Dominic PROPOSAL
Murillo U VocelkaUnited KingdomXuxue Feng NEGOTIATION
Julie C MaletRussiaXuxue Feng PROPOSAL
Kadeem X RutaUnited KingdomOnyama Limba QUALIFIED
Mujtaba K AmigonFranceIvan Magalhaes QUALIFIED
Ricardo A GlickJapanAnna Fali PROPOSAL
Ashley Z CaudyUnited KingdomAnna Fali NEGOTIATION
Leja Z OstroskyUnited KingdomStephen Shaw PROPOSAL
Costa S StockhamJapanBernardo Dominic NEGOTIATION
Silvio Z MaletGermanyAsiya Javayant UNQUALIFIED
Munro C FigeroaItalyBernardo Dominic NEGOTIATION
Aditya H OldroydFranceOnyama Limba NEGOTIATION
Darci A BologniaFranceXuxue Feng QUALIFIED
Mujtaba B IturbideBrazilAsiya Javayant NEGOTIATION
Johnson J CampainGermanyIoni Bowcher UNQUALIFIED
David V DilliardItalyOnyama Limba PROPOSAL
Misaki M OldroydAustraliaElwin Sharvill RENEWAL
Frozen Columns
Name
Ricardo O Dilliard
Johnson E Ostrosky
Mayumi R Figeroa
Stacey V Briddick
Costa H Doe
Alejandro D Maclead
Francesco T Malet
Silvio O Sergi
Cody B Albares
Munro I Nicka
Jefferson H Kolmetz
Aruna J Ferencz
Maisha E Darakjy
Ivar E Ferencz
Wickens D Wieser
Munro A Foller
Julie M Nicka
Julie C Nestle
Rodrigues O Vocelka
Deepesh O Morasca
Leon N Gaucho
Murillo O Butt
Misaki D Butt
Stacey I Bowley
Johnson W Wieser
Adams U Saylors
Rodrigues G Paprocki
Misaki O Foller
Aruna C Poquette
Salvatore K Tollner
Leon N Gillian
Izzy H Malet
Munro A Stockham
Mujtaba G Dilliard
Darci B Kolmetz
Wickens D Shinko
Tony E Butt
Chavez E Bowley
Wickens D Butt
Kaitlin J Dilliard
Cody P Royster
Sinclair Z Malet
Murillo X Gaucho
Clifford V Inouye
Smith F Nicka
Faith H Kusko
Salvatore U Morasca
Mayumi D Wieser
Julie D Glick
Alejandro B Gillian
IdCountryDate
1000Brazil2025-07-06
1001Germany2025-07-31
1002France2025-08-02
1003United Kingdom2025-07-20
1004Spain2025-07-18
1005Canada2025-07-08
1006Australia2025-08-04
1007Russia2025-07-23
1008India2025-07-09
1009Argentina2025-08-03
1010France2025-07-16
1011United Kingdom2025-07-18
1012Japan2025-07-22
1013Argentina2025-07-11
1014Canada2025-08-01
1015France2025-07-20
1016India2025-07-16
1017Germany2025-08-03
1018Spain2025-07-26
1019Brazil2025-07-14
1020Italy2025-07-27
1021India2025-07-08
1022Japan2025-07-06
1023Argentina2025-07-13
1024Germany2025-07-18
1025Italy2025-07-06
1026India2025-07-24
1027Germany2025-08-01
1028Spain2025-07-31
1029Canada2025-07-24
1030France2025-07-15
1031Argentina2025-07-15
1032Australia2025-07-28
1033Canada2025-07-26
1034Italy2025-07-21
1035Japan2025-07-24
1036United Kingdom2025-08-01
1037Brazil2025-07-28
1038Australia2025-07-14
1039India2025-07-29
1040Brazil2025-07-29
1041Spain2025-07-31
1042Japan2025-07-12
1043Spain2025-08-03
1044Australia2025-07-12
1045India2025-07-23
1046Russia2025-08-03
1047Spain2025-07-19
1048Russia2025-07-13
1049Canada2025-07-11

On-Demand Data

NameIdCountryDate
Chavez A Foller1000Russia2025-07-28
Jones T Stenseth1001Brazil2025-07-26
Claire B Kusko1002Russia2025-07-11
Salvatore F Darakjy1003India2025-08-04
Izzy K Marrier1004Russia2025-07-14
Munro W Chui1005Germany2025-08-04
Costa P Butt1006United Kingdom2025-07-09
Alejandro Z Ruta1007India2025-07-17
Cody R Figeroa1008Spain2025-07-11
Tony M Dilliard1009India2025-07-28
Jeanfrancois J Wieser1010Italy2025-07-14
Jennifer W Saylors1011Australia2025-07-16
Clifford X Stenseth1012United Kingdom2025-07-28
Antonio C Figeroa1013India2025-07-23
Francesco W Gaucho1014Canada2025-07-16
Costa T Iturbide1015Russia2025-07-23
Clifford U Morasca1016Japan2025-07-13
Kaitlin A Caldarera1017Italy2025-07-16
Salvatore P Schemmer1018Germany2025-07-10
Rodrigues Q Rim1019Russia2025-07-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues B StensethFranceOnyama Limba QUALIFIED
Jones H InouyeFranceAsiya Javayant QUALIFIED
Octavia M PaprockiIndiaIvan Magalhaes RENEWAL
Jeanfrancois A FigeroaUnited KingdomOnyama Limba UNQUALIFIED
Greenwood K RimAustraliaXuxue Feng NEGOTIATION
Juan A VocelkaUnited KingdomOnyama Limba PROPOSAL
Aditya E MaletGermanyXuxue Feng NEW
Francesco C MaletIndiaAsiya Javayant NEGOTIATION
Mujtaba P KolmetzBrazilIvan Magalhaes NEW
Izzy B DoeAustraliaAmy Elsner NEW
Sinclair A RoysterGermanyAmy Elsner NEW
Leon E FigeroaRussiaAnna Fali UNQUALIFIED
Costa X FigeroaIndiaAnna Fali UNQUALIFIED
Costa B MarrierUnited KingdomXuxue Feng UNQUALIFIED
Claire I AmigonRussiaElwin Sharvill QUALIFIED
Claire Z SergiSpainAsiya Javayant QUALIFIED
Emily T BowleySpainIoni Bowcher NEW
Murillo I SaylorsUnited KingdomElwin Sharvill UNQUALIFIED
Clifford A WieserGermanyElwin Sharvill QUALIFIED
Julie T SaylorsJapanBernardo Dominic PROPOSAL
Emily L MacleadItalyOnyama Limba PROPOSAL
Ivar A DilliardArgentinaXuxue Feng RENEWAL
Izzy J GarufiArgentinaIoni Bowcher QUALIFIED
Costa I OstroskyArgentinaOnyama Limba UNQUALIFIED
Octavia R KuskoAustraliaIvan Magalhaes NEGOTIATION
Jeanfrancois B MarrierItalyOnyama Limba PROPOSAL
Kadeem Q FollerSpainBernardo Dominic QUALIFIED
Jennifer Y ShinkoArgentinaAmy Elsner NEW
Kadeem Q DoeSpainAnna Fali QUALIFIED
Jeanfrancois Q PoquetteIndiaAnna Fali RENEWAL
Sinclair V RutaGermanyStephen Shaw PROPOSAL
Chavez Y AlbaresJapanStephen Shaw NEW
Aruna P KuskoItalyAmy Elsner NEW
Octavia V TollnerUnited KingdomXuxue Feng NEW
Antonio E GarufiJapanStephen Shaw UNQUALIFIED
Aditya T DoeCanadaBernardo Dominic NEW
Tony A RutaUnited KingdomElwin Sharvill NEW
Jennifer J StensethFranceIvan Magalhaes PROPOSAL
Antonio E RoysterGermanyAmy Elsner RENEWAL
Mayumi C WhobreyBrazilAsiya Javayant 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>