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
Nicolas T ButtAustraliaIvan Magalhaes QUALIFIED
Nicolas Q BologniaRussiaIoni Bowcher RENEWAL
Maria P ButtRussiaAnna Fali NEGOTIATION
David Y BriddickBrazilAmy Elsner PROPOSAL
Adams T RulapaughUnited KingdomAnna Fali NEGOTIATION
Morrow S DoeAustraliaStephen Shaw NEW
Maisha I RimCanadaOnyama Limba NEW
Aditya G MorascaCanadaStephen Shaw NEW
Leon O CaldareraUnited KingdomElwin Sharvill NEW
Jeanfrancois Q FigeroaUnited KingdomXuxue Feng QUALIFIED
Morrow C NestleSpainXuxue Feng UNQUALIFIED
Julie Q MorascaGermanyElwin Sharvill RENEWAL
Claire W OstroskyIndiaIoni Bowcher QUALIFIED
Ashley G OldroydCanadaBernardo Dominic NEGOTIATION
Faith Q TollnerUnited KingdomAnna Fali UNQUALIFIED
Costa Z WieserCanadaXuxue Feng NEW
Jefferson A SergiUnited KingdomStephen Shaw RENEWAL
Salvatore O FollerArgentinaIvan Magalhaes PROPOSAL
Maria L GlickSpainStephen Shaw NEW
Mayumi E ChuiFranceIoni Bowcher PROPOSAL
Darci Y WaycottIndiaIvan Magalhaes UNQUALIFIED
Kaitlin S ButtCanadaElwin Sharvill NEW
Kadeem R DarakjyRussiaXuxue Feng RENEWAL
Mayumi E RutaGermanyAmy Elsner UNQUALIFIED
Leja S RutaArgentinaBernardo Dominic NEGOTIATION
Jennifer C MacleadIndiaXuxue Feng QUALIFIED
Wickens M FlosiIndiaOnyama Limba NEW
Arvin X BologniaUnited KingdomElwin Sharvill UNQUALIFIED
Darci E NickaRussiaBernardo Dominic RENEWAL
Darci B TollnerArgentinaAnna Fali UNQUALIFIED
Deepesh V WaycottBrazilXuxue Feng RENEWAL
Misaki R VocelkaFranceElwin Sharvill NEGOTIATION
Jennifer I TollnerCanadaAnna Fali QUALIFIED
Clifford B BowleyFranceXuxue Feng PROPOSAL
Murillo X PaprockiJapanXuxue Feng NEGOTIATION
Morrow T SaylorsJapanOnyama Limba NEGOTIATION
Leja F ShinkoFranceOnyama Limba UNQUALIFIED
Cody Q ShinkoBrazilBernardo Dominic NEW
Jennifer I DoeFranceBernardo Dominic QUALIFIED
Costa B StockhamBrazilAsiya Javayant NEGOTIATION
Jennifer F AmigonIndiaAmy Elsner PROPOSAL
Izzy N CaldareraFranceIvan Magalhaes UNQUALIFIED
Sinclair C OstroskySpainAmy Elsner PROPOSAL
Francesco Z StensethUnited KingdomBernardo Dominic QUALIFIED
Kaitlin W CaldareraFranceAsiya Javayant RENEWAL
Jefferson R RimCanadaXuxue Feng UNQUALIFIED
Maisha E FerenczFranceAmy Elsner UNQUALIFIED
Francesco Y StensethBrazilElwin Sharvill PROPOSAL
Mujtaba C WhobreySpainAnna Fali NEGOTIATION
David S VenereBrazilXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Johnson H RimIndiaIoni Bowcher UNQUALIFIED
Leon I WieserJapanBernardo Dominic RENEWAL
Claire F DilliardSpainBernardo Dominic NEW
Emily C VenereFranceStephen Shaw RENEWAL
Aika P MacleadSpainIvan Magalhaes NEGOTIATION
Aruna U DoeGermanyStephen Shaw NEGOTIATION
Isabel P RimFranceIvan Magalhaes UNQUALIFIED
Nicolas X PoquetteSpainStephen Shaw QUALIFIED
Leja V SergiAustraliaIoni Bowcher QUALIFIED
Claire M RutaBrazilIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika I DarakjyIndia2025-08-01Chapman, Ross E Esq RENEWAL1Asiya Javayant
1001Munro I WieserBrazil2025-08-05Dorl, James J Esq UNQUALIFIED58Elwin Sharvill
1002Darci T InouyeCanada2025-08-17Benton, John B Jr RENEWAL62Amy Elsner
1003Alejandro U AlbaresAustralia2025-07-26Chemel, James L Cpa UNQUALIFIED44Amy Elsner
1004Johnson M FigeroaItaly2025-08-10Benton, John B Jr UNQUALIFIED10Bernardo Dominic
1005Misaki L ShinkoAustralia2025-08-22Chemel, James L Cpa RENEWAL41Elwin Sharvill
1006Leja R RulapaughBrazil2025-08-03Truhlar And Truhlar Attys UNQUALIFIED70Amy Elsner
1007Sinclair G NestleItaly2025-08-19Feiner Bros UNQUALIFIED23Asiya Javayant
1008Greenwood K SchemmerCanada2025-08-17Morlong Associates NEW35Asiya Javayant
1009Leja N PerinGermany2025-08-06Rangoni Of Florence NEGOTIATION27Asiya Javayant
1010Leon K KolmetzArgentina2025-08-16Buckley Miller Wright QUALIFIED23Anna Fali
1011Deepesh X BowleyFrance2025-07-29King, Christopher A Esq PROPOSAL25Anna Fali
1012Wickens C OldroydUnited Kingdom2025-07-30Rangoni Of Florence UNQUALIFIED90Asiya Javayant
1013Jefferson F DoeUnited Kingdom2025-07-30Chapman, Ross E Esq RENEWAL2Ioni Bowcher
1014Rodrigues N StockhamAustralia2025-08-06Rousseaux, Michael Esq QUALIFIED36Ivan Magalhaes
1015James H ChuiCanada2025-08-12Printing Dimensions NEW64Elwin Sharvill
1016Juan D WaycottFrance2025-07-24Feiner Bros PROPOSAL84Amy Elsner
1017Rodrigues S MorascaFrance2025-08-22Rousseaux, Michael Esq RENEWAL48Asiya Javayant
1018Octavia Y MarrierItaly2025-08-09Morlong Associates QUALIFIED23Ioni Bowcher
1019Salvatore L DarakjyGermany2025-07-26Chapman, Ross E Esq NEW43Ivan Magalhaes
1020Aruna R PerinGermany2025-08-11Rousseaux, Michael Esq PROPOSAL15Asiya Javayant
1021Costa L RoysterBrazil2025-07-27Printing Dimensions PROPOSAL33Ioni Bowcher
1022Stacey T GauchoJapan2025-07-30Chemel, James L Cpa NEGOTIATION73Bernardo Dominic
1023Juan C WaycottCanada2025-07-26Benton, John B Jr QUALIFIED51Ioni Bowcher
1024Clifford P NickaBrazil2025-08-19Chanay, Jeffrey A Esq NEGOTIATION88Anna Fali
1025Sinclair S PaprockiCanada2025-08-09Chapman, Ross E Esq QUALIFIED26Xuxue Feng
1026Rodrigues B WieserSpain2025-08-21Morlong Associates UNQUALIFIED0Ioni Bowcher
1027David K CaudyJapan2025-08-10Feiner Bros UNQUALIFIED17Ivan Magalhaes
1028David V RimGermany2025-08-07Chapman, Ross E Esq UNQUALIFIED60Elwin Sharvill
1029Clifford T GarufiIndia2025-07-25Rousseaux, Michael Esq PROPOSAL6Asiya Javayant
1030Aruna C ChuiArgentina2025-07-27Rousseaux, Michael Esq NEGOTIATION25Amy Elsner
1031David S AmigonJapan2025-08-20Truhlar And Truhlar Attys QUALIFIED12Elwin Sharvill
1032Darci I RutaGermany2025-08-04Morlong Associates PROPOSAL62Ioni Bowcher
1033Sinclair A BologniaUnited Kingdom2025-07-25King, Christopher A Esq NEW70Xuxue Feng
1034James C VenereUnited Kingdom2025-08-10Rangoni Of Florence RENEWAL44Ioni Bowcher
1035Leon F StensethSpain2025-07-31Buckley Miller Wright NEGOTIATION92Ivan Magalhaes
1036Clifford L ShinkoSpain2025-08-11Chanay, Jeffrey A Esq PROPOSAL41Anna Fali
1037Adams M GauchoFrance2025-07-31Feltz Printing Service NEW59Anna Fali
1038David F OldroydFrance2025-08-06Truhlar And Truhlar Attys QUALIFIED36Onyama Limba
1039Ashley H GillianAustralia2025-08-17Chemel, James L Cpa NEGOTIATION30Onyama Limba
1040Juan W BowleyAustralia2025-08-13Chanay, Jeffrey A Esq PROPOSAL0Ivan Magalhaes
1041Faith J NickaGermany2025-08-16Morlong Associates UNQUALIFIED11Elwin Sharvill
1042Sinclair I MaletRussia2025-08-04Chanay, Jeffrey A Esq NEGOTIATION10Onyama Limba
1043Isabel Z MorascaFrance2025-08-21Feltz Printing Service QUALIFIED4Stephen Shaw
1044Octavia T ButtFrance2025-08-21Morlong Associates PROPOSAL34Amy Elsner
1045James B PoquetteFrance2025-07-24Morlong Associates PROPOSAL63Stephen Shaw
1046Alejandro H CaudyJapan2025-08-06Feiner Bros PROPOSAL47Stephen Shaw
1047Arvin B FerenczIndia2025-08-01Chapman, Ross E Esq QUALIFIED76Anna Fali
1048Isabel F WieserItaly2025-08-05Benton, John B Jr UNQUALIFIED6Amy Elsner
1049Jeanfrancois N NickaFrance2025-08-10Feiner Bros NEW28Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Aruna B WhobreyItalyIvan Magalhaes NEGOTIATION
Maisha S VenereUnited KingdomIvan Magalhaes UNQUALIFIED
Aruna J GauchoIndiaOnyama Limba RENEWAL
Tony J CampainIndiaAmy Elsner PROPOSAL
Murillo A OstroskySpainStephen Shaw NEGOTIATION
Faith W ChuiGermanyAsiya Javayant NEW
Arvin L MacleadCanadaStephen Shaw PROPOSAL
Mujtaba M KuskoUnited KingdomAmy Elsner RENEWAL
Maisha H StockhamItalyIvan Magalhaes RENEWAL
Octavia N IturbideJapanBernardo Dominic NEW
Ricardo P MorascaAustraliaAmy Elsner QUALIFIED
James M FigeroaUnited KingdomIvan Magalhaes PROPOSAL
Deepesh K MarrierArgentinaStephen Shaw PROPOSAL
Alejandro H CaudySpainElwin Sharvill NEW
Emily H RutaCanadaAsiya Javayant NEGOTIATION
Aditya Q RulapaughJapanAsiya Javayant RENEWAL
Nicolas O WaycottBrazilXuxue Feng NEGOTIATION
Tony A NestleRussiaAsiya Javayant QUALIFIED
Aruna D BologniaCanadaIoni Bowcher UNQUALIFIED
Jones L VenereItalyIvan Magalhaes NEW
Izzy U DoeBrazilXuxue Feng RENEWAL
Stacey B BriddickJapanXuxue Feng QUALIFIED
Deepesh X CaudyAustraliaBernardo Dominic QUALIFIED
Jefferson N SchemmerIndiaIvan Magalhaes UNQUALIFIED
Nicolas X InouyeRussiaIvan Magalhaes UNQUALIFIED
Jefferson C RulapaughJapanElwin Sharvill PROPOSAL
Izzy G OldroydIndiaStephen Shaw PROPOSAL
Johnson F ChuiItalyXuxue Feng NEGOTIATION
Aditya H SergiFranceAnna Fali NEGOTIATION
James J BowleySpainOnyama Limba PROPOSAL
Mujtaba D KuskoCanadaIoni Bowcher QUALIFIED
Arvin F WieserIndiaStephen Shaw QUALIFIED
Francesco J SchemmerFranceAmy Elsner NEW
Claire C OldroydBrazilAnna Fali NEW
Darci S RoysterItalyOnyama Limba RENEWAL
Aditya U VenereCanadaAmy Elsner UNQUALIFIED
Darci H DarakjyIndiaBernardo Dominic PROPOSAL
Leja J RoysterItalyBernardo Dominic PROPOSAL
Costa O FlosiRussiaAsiya Javayant RENEWAL
Silvio K BriddickIndiaStephen Shaw UNQUALIFIED
Chavez T BologniaItalyBernardo Dominic PROPOSAL
Jones L SlusarskiRussiaXuxue Feng NEGOTIATION
Jones P MaletItalyAmy Elsner NEW
Deepesh W NickaCanadaElwin Sharvill QUALIFIED
Greenwood S KolmetzBrazilIvan Magalhaes PROPOSAL
Juan N WieserSpainElwin Sharvill NEW
Chavez C PaprockiAustraliaBernardo Dominic NEW
Mujtaba I DilliardJapanIvan Magalhaes QUALIFIED
Aika L BriddickBrazilOnyama Limba NEGOTIATION
Claire M SchemmerRussiaXuxue Feng NEGOTIATION
Frozen Columns
Name
Faith Y Foller
Jennifer V Waycott
Arvin O Wieser
Clifford D Iturbide
Emily C Dilliard
Ricardo A Whobrey
Adams V Albares
Mayumi A Campain
Jones C Rulapaugh
Murillo D Inouye
Ivar N Marrier
Isabel Y Nicka
Munro C Gillian
Ivar S Butt
Greenwood S Tollner
Smith T Gaucho
Kadeem K Kusko
Antonio W Oldroyd
Arvin G Foller
Deepesh J Doe
Costa J Venere
Ashley Z Malet
Izzy T Perin
Mayumi D Glick
Clifford C Waycott
Kadeem A Malet
Ivar M Nicka
Kadeem F Glick
Darci N Flosi
Mayumi D Ruta
Leon V Nicka
Murillo Q Dilliard
Arvin P Chui
Izzy B Rulapaugh
Aika O Ferencz
Greenwood I Waycott
Costa O Doe
Aruna C Oldroyd
Cody Q Dilliard
Maria M Stockham
Izzy L Bolognia
Salvatore K Nicka
Alejandro B Foller
Ashley W Butt
Tony H Flosi
Deepesh B Glick
Jefferson L Oldroyd
David E Glick
Costa F Oldroyd
Francesco O Amigon
IdCountryDate
1000Brazil2025-08-16
1001Canada2025-08-19
1002Canada2025-07-28
1003India2025-07-24
1004United Kingdom2025-08-07
1005India2025-08-01
1006Spain2025-07-30
1007Japan2025-08-15
1008Japan2025-07-28
1009Italy2025-08-21
1010United Kingdom2025-08-18
1011India2025-08-03
1012Germany2025-08-15
1013Australia2025-08-17
1014Russia2025-07-25
1015France2025-08-14
1016Italy2025-08-11
1017Russia2025-08-16
1018Japan2025-07-28
1019Spain2025-08-03
1020Australia2025-07-26
1021United Kingdom2025-08-16
1022Australia2025-08-15
1023Canada2025-08-04
1024United Kingdom2025-08-12
1025Germany2025-08-03
1026Brazil2025-08-11
1027Russia2025-07-28
1028Germany2025-08-19
1029Australia2025-08-09
1030Argentina2025-07-31
1031France2025-07-27
1032Canada2025-08-14
1033Italy2025-07-29
1034Japan2025-08-17
1035Canada2025-07-26
1036France2025-08-09
1037Australia2025-08-07
1038Argentina2025-08-02
1039Japan2025-08-20
1040United Kingdom2025-08-15
1041Japan2025-08-18
1042Argentina2025-08-16
1043Italy2025-08-18
1044India2025-07-29
1045Russia2025-08-21
1046Australia2025-08-13
1047France2025-08-13
1048Canada2025-08-22
1049India2025-08-15

On-Demand Data

NameIdCountryDate
Munro I Saylors1000India2025-08-05
Deepesh W Saylors1001United Kingdom2025-07-28
Ivar W Poquette1002Russia2025-08-10
Mayumi D Caudy1003Russia2025-07-30
Aika Y Morasca1004France2025-08-13
Adams S Gillian1005Canada2025-07-31
Rodrigues C Stenseth1006Italy2025-08-18
Jennifer B Campain1007France2025-08-01
Sinclair I Kolmetz1008Argentina2025-07-30
Johnson A Malet1009Italy2025-08-20
Salvatore M Malet1010Spain2025-07-24
Jones H Gillian1011Russia2025-08-11
Aruna L Royster1012Brazil2025-07-30
Octavia Y Inouye1013Argentina2025-08-18
Nicolas L Venere1014Spain2025-08-11
Wickens O Inouye1015Japan2025-08-03
Emily P Saylors1016Spain2025-07-25
Aika K Chui1017Italy2025-08-14
Ashley X Amigon1018Japan2025-08-05
Julie W Shinko1019Brazil2025-08-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo I StockhamGermanyAmy Elsner PROPOSAL
Claire X FollerCanadaOnyama Limba NEW
Rodrigues P OldroydCanadaAnna Fali PROPOSAL
Faith L FigeroaAustraliaXuxue Feng NEGOTIATION
Maria Y MacleadJapanIoni Bowcher RENEWAL
Jones A WhobreyIndiaAsiya Javayant NEW
Tony V FerenczJapanOnyama Limba NEW
Faith O BologniaGermanyBernardo Dominic PROPOSAL
Mayumi H CaldareraRussiaElwin Sharvill PROPOSAL
Munro G PoquetteAustraliaBernardo Dominic NEGOTIATION
Isabel T BologniaJapanIvan Magalhaes NEGOTIATION
Julie C DarakjySpainAsiya Javayant NEGOTIATION
Darci A MorascaJapanIoni Bowcher NEW
Julie C SaylorsAustraliaAmy Elsner NEW
Tony X CampainIndiaOnyama Limba NEGOTIATION
Adams Q RoysterFranceIoni Bowcher NEGOTIATION
Octavia D WieserJapanIoni Bowcher NEW
Isabel G ButtAustraliaIoni Bowcher RENEWAL
Wickens U InouyeArgentinaAmy Elsner NEGOTIATION
Kaitlin J SergiArgentinaAmy Elsner NEW
Mayumi W BowleyArgentinaIoni Bowcher QUALIFIED
Darci K WhobreyCanadaAsiya Javayant QUALIFIED
Jeanfrancois X MaletAustraliaElwin Sharvill RENEWAL
Ricardo G NickaItalyIoni Bowcher NEW
Maisha B VenereFranceAnna Fali PROPOSAL
Adams K PerinSpainAsiya Javayant QUALIFIED
Aditya H VenereRussiaIoni Bowcher QUALIFIED
Morrow L CampainArgentinaIoni Bowcher NEGOTIATION
Morrow Q KolmetzJapanElwin Sharvill NEGOTIATION
Stacey G CaldareraFranceXuxue Feng QUALIFIED
Emily W PaprockiUnited KingdomBernardo Dominic NEW
Claire D FigeroaBrazilAsiya Javayant PROPOSAL
Greenwood S MacleadAustraliaAsiya Javayant NEGOTIATION
Leon E RulapaughRussiaIoni Bowcher QUALIFIED
Faith B GillianArgentinaXuxue Feng PROPOSAL
Maisha T CampainIndiaIoni Bowcher QUALIFIED
Ivar S RutaItalyIvan Magalhaes QUALIFIED
Greenwood C FollerBrazilStephen Shaw QUALIFIED
Deepesh X GarufiBrazilAnna Fali PROPOSAL
Aika P BowleyCanadaAnna Fali PROPOSAL

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