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
Aika J NickaArgentinaIoni Bowcher UNQUALIFIED
Leja O CaudyGermanyIoni Bowcher UNQUALIFIED
Adams A NestleIndiaElwin Sharvill PROPOSAL
Maisha Q ChuiUnited KingdomBernardo Dominic NEW
Greenwood K SchemmerItalyAnna Fali UNQUALIFIED
Juan I PerinSpainBernardo Dominic NEW
Octavia J NestleAustraliaIvan Magalhaes NEGOTIATION
Stacey Q OstroskySpainOnyama Limba QUALIFIED
Wickens M MaletRussiaIoni Bowcher NEW
Aditya D PerinFranceIvan Magalhaes NEW
Tony S DilliardCanadaStephen Shaw QUALIFIED
David H AmigonRussiaXuxue Feng UNQUALIFIED
Rodrigues B BologniaItalyAmy Elsner UNQUALIFIED
Claire N GauchoJapanOnyama Limba NEW
Cody R BologniaArgentinaStephen Shaw NEW
Mujtaba Y CaldareraJapanIvan Magalhaes PROPOSAL
Aruna K SlusarskiArgentinaBernardo Dominic PROPOSAL
Octavia J OldroydJapanAsiya Javayant QUALIFIED
Maisha L FigeroaUnited KingdomBernardo Dominic QUALIFIED
Deepesh Q SaylorsJapanXuxue Feng UNQUALIFIED
Emily M WaycottUnited KingdomBernardo Dominic RENEWAL
Smith R MorascaItalyStephen Shaw NEW
Francesco Y ShinkoIndiaAnna Fali PROPOSAL
Salvatore K GillianUnited KingdomIoni Bowcher QUALIFIED
Maria N MacleadSpainAsiya Javayant QUALIFIED
Wickens Y IturbideCanadaAsiya Javayant NEW
Aika U AmigonCanadaAsiya Javayant NEW
Chavez C TollnerBrazilXuxue Feng NEW
Maria D GlickCanadaStephen Shaw PROPOSAL
Claire B StensethSpainAmy Elsner QUALIFIED
Jefferson L WieserItalyOnyama Limba PROPOSAL
Morrow O KuskoCanadaElwin Sharvill NEGOTIATION
Sinclair I CaudySpainXuxue Feng UNQUALIFIED
Stacey I ButtCanadaXuxue Feng RENEWAL
Mayumi P RimFranceAsiya Javayant NEW
Maisha C InouyeCanadaIvan Magalhaes NEGOTIATION
Julie O WhobreyGermanyAsiya Javayant RENEWAL
Ashley B InouyeGermanyXuxue Feng NEGOTIATION
James I FerenczItalyStephen Shaw NEW
Faith N FigeroaItalyBernardo Dominic QUALIFIED
Juan W AlbaresItalyXuxue Feng RENEWAL
Sinclair R RutaSpainAmy Elsner QUALIFIED
Juan M CampainBrazilXuxue Feng RENEWAL
Johnson Q RulapaughUnited KingdomAnna Fali RENEWAL
Mujtaba R NickaArgentinaOnyama Limba NEW
Julie M OldroydRussiaStephen Shaw QUALIFIED
Isabel H SlusarskiSpainIoni Bowcher RENEWAL
Johnson T InouyeGermanyXuxue Feng PROPOSAL
Jefferson D FigeroaAustraliaIvan Magalhaes NEW
Mayumi I MarrierArgentinaAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Rodrigues N WhobreyJapanXuxue Feng NEGOTIATION
Tony X SlusarskiItalyElwin Sharvill NEW
James J PerinSpainOnyama Limba QUALIFIED
Jennifer E KolmetzUnited KingdomOnyama Limba UNQUALIFIED
Mayumi X WieserSpainBernardo Dominic RENEWAL
Darci N OstroskyItalyAsiya Javayant QUALIFIED
Mayumi E IturbideFranceOnyama Limba PROPOSAL
Chavez A PaprockiGermanyXuxue Feng QUALIFIED
Isabel L AmigonUnited KingdomIvan Magalhaes NEGOTIATION
Deepesh E RutaAustraliaElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha A TollnerUnited Kingdom2025-10-15Chemel, James L Cpa NEW68Ioni Bowcher
1001Munro I PoquetteAustralia2025-10-30King, Christopher A Esq NEGOTIATION88Bernardo Dominic
1002Deepesh U KolmetzSpain2025-10-27Rangoni Of Florence PROPOSAL7Xuxue Feng
1003Salvatore P PaprockiAustralia2025-10-11Rangoni Of Florence UNQUALIFIED86Ivan Magalhaes
1004Stacey Y RulapaughUnited Kingdom2025-10-25Chemel, James L Cpa UNQUALIFIED63Bernardo Dominic
1005Ricardo Y ButtArgentina2025-11-02Rangoni Of Florence UNQUALIFIED77Asiya Javayant
1006Arvin D CaudyAustralia2025-10-22Chapman, Ross E Esq PROPOSAL1Onyama Limba
1007Antonio V DilliardCanada2025-10-23Feiner Bros NEW61Ivan Magalhaes
1008James X KolmetzJapan2025-10-28Printing Dimensions RENEWAL16Xuxue Feng
1009Rodrigues J MacleadFrance2025-10-16Chanay, Jeffrey A Esq RENEWAL93Ivan Magalhaes
1010Stacey T BowleyBrazil2025-10-17Chemel, James L Cpa NEGOTIATION22Onyama Limba
1011Sinclair X AlbaresArgentina2025-10-07Commercial Press RENEWAL20Elwin Sharvill
1012Johnson M MaletUnited Kingdom2025-10-31Rousseaux, Michael Esq QUALIFIED77Ivan Magalhaes
1013Tony Q InouyeFrance2025-10-15Feltz Printing Service QUALIFIED92Onyama Limba
1014James F KuskoCanada2025-10-09Morlong Associates NEW30Xuxue Feng
1015Misaki Z StockhamCanada2025-10-12Truhlar And Truhlar Attys NEW70Onyama Limba
1016Stacey K ChuiAustralia2025-10-29Chemel, James L Cpa NEW82Anna Fali
1017Darci H BowleyGermany2025-10-25Chapman, Ross E Esq RENEWAL25Anna Fali
1018Sinclair M MarrierGermany2025-10-30Rangoni Of Florence QUALIFIED3Asiya Javayant
1019Darci A WaycottArgentina2025-11-03Commercial Press NEW16Anna Fali
1020Ashley R SlusarskiAustralia2025-10-26Feiner Bros NEGOTIATION56Bernardo Dominic
1021Kaitlin Q FerenczBrazil2025-10-29Dorl, James J Esq NEGOTIATION62Elwin Sharvill
1022Darci Y CampainRussia2025-11-03Chapman, Ross E Esq NEGOTIATION24Ioni Bowcher
1023Alejandro V RoysterSpain2025-10-10Feiner Bros NEW63Ioni Bowcher
1024Ivar P AlbaresArgentina2025-10-16Truhlar And Truhlar Attys NEW10Ivan Magalhaes
1025Nicolas M AmigonAustralia2025-10-27Chemel, James L Cpa QUALIFIED69Asiya Javayant
1026Salvatore X NestleIndia2025-10-31Truhlar And Truhlar Attys UNQUALIFIED4Stephen Shaw
1027Clifford E MarrierUnited Kingdom2025-10-12Buckley Miller Wright RENEWAL29Bernardo Dominic
1028Antonio Z MaletIndia2025-10-20Chanay, Jeffrey A Esq PROPOSAL4Ioni Bowcher
1029Morrow T ShinkoJapan2025-10-19Benton, John B Jr NEGOTIATION14Stephen Shaw
1030James Q BriddickUnited Kingdom2025-10-20Rousseaux, Michael Esq QUALIFIED12Bernardo Dominic
1031Antonio F RutaCanada2025-10-30Dorl, James J Esq RENEWAL25Xuxue Feng
1032Francesco B DoeJapan2025-10-11Chapman, Ross E Esq PROPOSAL62Bernardo Dominic
1033Smith X FollerArgentina2025-10-23Dorl, James J Esq RENEWAL7Xuxue Feng
1034Chavez J WieserSpain2025-10-30Morlong Associates UNQUALIFIED41Xuxue Feng
1035Nicolas R ShinkoFrance2025-10-29Morlong Associates NEW89Stephen Shaw
1036Salvatore G RulapaughFrance2025-11-02King, Christopher A Esq UNQUALIFIED45Elwin Sharvill
1037Juan K RutaIndia2025-11-05Feiner Bros NEGOTIATION61Asiya Javayant
1038Jennifer I OldroydItaly2025-10-17Rousseaux, Michael Esq NEW85Ivan Magalhaes
1039Chavez F TollnerItaly2025-10-30Benton, John B Jr NEGOTIATION13Stephen Shaw
1040Isabel J GlickBrazil2025-10-11Truhlar And Truhlar Attys UNQUALIFIED30Anna Fali
1041Rodrigues Z StockhamItaly2025-11-02Rangoni Of Florence NEGOTIATION11Anna Fali
1042Alejandro Z WhobreyRussia2025-10-28Morlong Associates UNQUALIFIED96Elwin Sharvill
1043Morrow I WieserSpain2025-10-13Printing Dimensions NEW5Stephen Shaw
1044Jennifer X KuskoAustralia2025-10-18Printing Dimensions NEGOTIATION42Ioni Bowcher
1045Juan D ChuiRussia2025-10-21Chapman, Ross E Esq UNQUALIFIED58Elwin Sharvill
1046Emily T SlusarskiIndia2025-10-12Chapman, Ross E Esq QUALIFIED30Ivan Magalhaes
1047Kadeem K NickaAustralia2025-10-30Morlong Associates NEGOTIATION79Amy Elsner
1048Sinclair A RimCanada2025-11-04Chapman, Ross E Esq QUALIFIED29Ioni Bowcher
1049Johnson N AmigonIndia2025-11-04Printing Dimensions RENEWAL73Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Francesco H FlosiItalyIoni Bowcher NEGOTIATION
Sinclair W IturbideGermanyBernardo Dominic UNQUALIFIED
Aditya L MorascaAustraliaOnyama Limba NEGOTIATION
Ivar C DarakjyFranceXuxue Feng QUALIFIED
Jefferson S DoeArgentinaXuxue Feng NEGOTIATION
Mujtaba B MarrierBrazilIoni Bowcher NEW
Salvatore Y ChuiSpainIvan Magalhaes NEW
Cody P WieserUnited KingdomIvan Magalhaes RENEWAL
Mayumi A PerinBrazilBernardo Dominic NEW
Jones O TollnerJapanStephen Shaw RENEWAL
Misaki B SergiUnited KingdomOnyama Limba RENEWAL
Izzy D ButtAustraliaXuxue Feng UNQUALIFIED
Leja U RulapaughBrazilXuxue Feng UNQUALIFIED
Darci G BowleyJapanBernardo Dominic RENEWAL
Ricardo L AmigonIndiaAnna Fali PROPOSAL
Cody H WhobreySpainAsiya Javayant PROPOSAL
Francesco B VenereUnited KingdomAsiya Javayant QUALIFIED
Jennifer Q CampainUnited KingdomStephen Shaw PROPOSAL
Sinclair U RoysterCanadaAmy Elsner RENEWAL
Morrow W ButtIndiaIoni Bowcher UNQUALIFIED
Faith F AlbaresUnited KingdomElwin Sharvill NEGOTIATION
Octavia Q ButtCanadaAnna Fali NEW
Kadeem O MaletBrazilBernardo Dominic UNQUALIFIED
Mayumi H FlosiGermanyElwin Sharvill PROPOSAL
Darci M CampainIndiaXuxue Feng NEW
Aika Q BriddickUnited KingdomOnyama Limba NEGOTIATION
Jennifer L MorascaIndiaIoni Bowcher NEW
Sinclair X RoysterBrazilAnna Fali NEW
Smith H FigeroaBrazilIoni Bowcher PROPOSAL
Ivar N GlickFranceElwin Sharvill RENEWAL
David X SlusarskiCanadaIvan Magalhaes UNQUALIFIED
Murillo Y KuskoSpainAnna Fali PROPOSAL
Arvin V WaycottCanadaOnyama Limba NEW
Octavia Y FlosiItalyAnna Fali PROPOSAL
Tony W VenereGermanyIoni Bowcher NEW
Misaki O GauchoGermanyOnyama Limba NEGOTIATION
Emily U ButtRussiaIvan Magalhaes RENEWAL
Nicolas U StensethBrazilAmy Elsner RENEWAL
Munro Z AlbaresItalyElwin Sharvill QUALIFIED
Sinclair P PoquetteSpainStephen Shaw RENEWAL
Kadeem D RimAustraliaXuxue Feng QUALIFIED
Mayumi C ButtGermanyAmy Elsner PROPOSAL
Wickens A DilliardAustraliaStephen Shaw PROPOSAL
Leon F ButtGermanyIoni Bowcher NEGOTIATION
Smith T RoysterJapanIvan Magalhaes PROPOSAL
Isabel Z FlosiCanadaStephen Shaw QUALIFIED
Misaki O PaprockiJapanOnyama Limba UNQUALIFIED
Francesco H VocelkaIndiaOnyama Limba NEGOTIATION
Morrow X BologniaUnited KingdomOnyama Limba QUALIFIED
Rodrigues Z VocelkaFranceIvan Magalhaes QUALIFIED
Frozen Columns
Name
Adams J Gillian
Jones M Morasca
Faith C Kolmetz
Kaitlin V Saylors
Kadeem F Caudy
Julie E Wieser
Smith B Glick
Julie V Doe
Aruna B Iturbide
Kadeem I Royster
Claire M Perin
Francesco K Kolmetz
Wickens B Butt
Misaki X Gaucho
Costa T Gaucho
Chavez M Gaucho
Mujtaba P Perin
Juan I Foller
Julie R Sergi
Smith D Oldroyd
Sinclair L Marrier
Sinclair D Rim
Smith W Bowley
Ashley W Bolognia
Aditya O Rim
Antonio G Albares
Mujtaba F Shinko
Murillo T Flosi
Aika Y Flosi
Claire N Inouye
Rodrigues T Figeroa
Salvatore R Malet
Tony M Morasca
Ivar R Garufi
Leja V Figeroa
Julie X Maclead
Julie M Kusko
Julie L Marrier
Murillo Q Albares
Ricardo G Stockham
Ashley Z Royster
Jones M Ostrosky
Chavez I Paprocki
Munro D Maclead
Murillo F Briddick
Morrow X Slusarski
Adams M Stockham
Wickens Y Bowley
David T Ostrosky
Leja C Marrier
IdCountryDate
1000Canada2025-10-27
1001Spain2025-10-30
1002Spain2025-10-31
1003Brazil2025-10-18
1004France2025-10-27
1005Russia2025-10-12
1006Brazil2025-10-19
1007France2025-11-01
1008Spain2025-10-22
1009United Kingdom2025-11-01
1010Italy2025-10-30
1011Germany2025-10-07
1012France2025-10-21
1013Canada2025-10-09
1014Russia2025-10-26
1015Japan2025-10-18
1016Spain2025-10-30
1017Germany2025-10-25
1018India2025-10-14
1019Japan2025-10-11
1020Spain2025-10-15
1021India2025-10-15
1022Spain2025-10-14
1023Brazil2025-11-01
1024Germany2025-10-14
1025Australia2025-10-27
1026Russia2025-10-19
1027Germany2025-11-05
1028Australia2025-10-07
1029France2025-10-15
1030Japan2025-10-28
1031Russia2025-11-04
1032Canada2025-10-27
1033Argentina2025-10-12
1034Spain2025-10-12
1035France2025-10-23
1036Australia2025-10-14
1037Germany2025-10-07
1038India2025-10-31
1039Italy2025-10-09
1040France2025-10-19
1041Germany2025-10-25
1042Australia2025-10-21
1043United Kingdom2025-10-19
1044France2025-11-02
1045Canada2025-10-16
1046India2025-10-29
1047Spain2025-10-23
1048Argentina2025-10-15
1049Spain2025-10-11

On-Demand Data

NameIdCountryDate
Aditya M Poquette1000Japan2025-10-29
Cody M Stenseth1001Russia2025-10-13
Chavez S Ferencz1002France2025-10-29
Jeanfrancois J Wieser1003Russia2025-10-28
Rodrigues N Butt1004Italy2025-11-02
Emily Y Figeroa1005India2025-10-16
Costa P Iturbide1006Italy2025-10-31
Morrow E Caudy1007India2025-10-13
Jennifer M Ruta1008Brazil2025-10-26
Smith K Flosi1009United Kingdom2025-10-25
Chavez S Glick1010Argentina2025-10-08
Aditya N Venere1011Germany2025-10-29
Adams Z Ruta1012India2025-10-14
Jones F Maclead1013Brazil2025-10-17
Ivar E Foller1014Italy2025-10-29
Aruna B Stenseth1015Japan2025-10-29
Johnson P Amigon1016India2025-11-05
Emily E Garufi1017United Kingdom2025-10-07
Salvatore W Ostrosky1018India2025-10-13
Misaki G Poquette1019Argentina2025-10-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson N MaletCanadaAnna Fali QUALIFIED
Deepesh A PoquetteArgentinaIvan Magalhaes UNQUALIFIED
Johnson B FerenczUnited KingdomOnyama Limba QUALIFIED
Mayumi K KolmetzIndiaXuxue Feng QUALIFIED
Aruna K ShinkoFranceAnna Fali NEGOTIATION
Octavia X BologniaIndiaAnna Fali UNQUALIFIED
Greenwood G RutaIndiaAnna Fali UNQUALIFIED
Leon Q CaldareraRussiaOnyama Limba NEW
Kadeem K VenereItalyAnna Fali UNQUALIFIED
Darci T StockhamAustraliaIvan Magalhaes NEW
Darci T IturbideArgentinaAmy Elsner NEW
Jones O IturbideAustraliaBernardo Dominic QUALIFIED
Costa Y RimIndiaAmy Elsner UNQUALIFIED
Smith O DoeFranceElwin Sharvill RENEWAL
Leon H VocelkaJapanAsiya Javayant PROPOSAL
Wickens W DarakjyAustraliaStephen Shaw PROPOSAL
Leon Q SaylorsSpainIvan Magalhaes PROPOSAL
Ricardo S BowleyAustraliaBernardo Dominic NEW
James A OldroydIndiaIvan Magalhaes NEW
Antonio M NickaJapanStephen Shaw RENEWAL
Kadeem N AlbaresAustraliaAmy Elsner NEW
Maria T KolmetzCanadaAsiya Javayant PROPOSAL
Ashley K BriddickSpainAmy Elsner NEGOTIATION
Francesco O MaletArgentinaAnna Fali NEW
Mayumi R KuskoFranceAmy Elsner UNQUALIFIED
Arvin E KuskoIndiaIvan Magalhaes NEW
Francesco O RimCanadaAmy Elsner PROPOSAL
Claire L VenereAustraliaIvan Magalhaes NEGOTIATION
Jefferson P MaletArgentinaOnyama Limba UNQUALIFIED
Mujtaba H AmigonBrazilOnyama Limba QUALIFIED
Sinclair Y StensethUnited KingdomOnyama Limba NEGOTIATION
Murillo P FerenczIndiaIvan Magalhaes RENEWAL
Rodrigues I GlickFranceStephen Shaw UNQUALIFIED
Costa S PaprockiJapanXuxue Feng NEGOTIATION
Claire N KuskoItalyElwin Sharvill PROPOSAL
Mujtaba Q MaletGermanyAnna Fali PROPOSAL
Ricardo I MacleadFranceXuxue Feng NEGOTIATION
Chavez T IturbideItalyAmy Elsner NEGOTIATION
Faith C RimCanadaOnyama Limba NEW
Salvatore I RutaArgentinaAmy Elsner 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>