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
Clifford N PoquetteGermanyAnna Fali UNQUALIFIED
Munro N IturbideJapanAmy Elsner RENEWAL
Misaki X VocelkaBrazilAmy Elsner RENEWAL
Kadeem M DoeItalyBernardo Dominic QUALIFIED
Stacey W FigeroaAustraliaOnyama Limba QUALIFIED
Chavez Q DarakjySpainStephen Shaw RENEWAL
Rodrigues N DoeBrazilXuxue Feng PROPOSAL
Jeanfrancois A SchemmerJapanStephen Shaw PROPOSAL
Francesco G AmigonItalyOnyama Limba NEGOTIATION
Sinclair S FerenczAustraliaAmy Elsner NEW
Jefferson P CaldareraGermanyOnyama Limba NEW
Jeanfrancois I DoeSpainAsiya Javayant RENEWAL
Faith G WaycottUnited KingdomAsiya Javayant UNQUALIFIED
Chavez P BowleyJapanAnna Fali NEW
Jeanfrancois E RulapaughBrazilIoni Bowcher QUALIFIED
Aruna B CampainUnited KingdomElwin Sharvill NEGOTIATION
Ashley A BowleyCanadaElwin Sharvill UNQUALIFIED
Aditya V OldroydSpainAmy Elsner PROPOSAL
Cody R GlickCanadaBernardo Dominic RENEWAL
Aika A FollerArgentinaAmy Elsner NEW
Salvatore Q VocelkaIndiaAmy Elsner NEW
Arvin O DilliardIndiaIvan Magalhaes NEW
Aditya N FigeroaArgentinaOnyama Limba NEGOTIATION
Maisha F GauchoSpainAmy Elsner QUALIFIED
Morrow V PaprockiIndiaStephen Shaw RENEWAL
Darci H CaudySpainAsiya Javayant UNQUALIFIED
Francesco P DoeItalyOnyama Limba UNQUALIFIED
Alejandro A SlusarskiSpainIoni Bowcher NEW
James V SchemmerAustraliaAmy Elsner NEGOTIATION
Sinclair D AlbaresGermanyIoni Bowcher NEW
Izzy Y StockhamGermanyAnna Fali RENEWAL
Mujtaba I MaletCanadaAsiya Javayant RENEWAL
Wickens Y ChuiIndiaStephen Shaw QUALIFIED
Salvatore L FerenczRussiaElwin Sharvill PROPOSAL
Francesco T BologniaJapanIoni Bowcher NEW
Silvio X StockhamFranceBernardo Dominic NEW
Morrow D GillianSpainAnna Fali NEW
Stacey N MacleadRussiaIvan Magalhaes NEW
Jones F NestleSpainBernardo Dominic UNQUALIFIED
Munro A StockhamRussiaElwin Sharvill QUALIFIED
Juan E IturbideArgentinaOnyama Limba RENEWAL
Claire J MarrierCanadaOnyama Limba QUALIFIED
Leja Q RutaFranceBernardo Dominic UNQUALIFIED
Jones A PaprockiArgentinaOnyama Limba QUALIFIED
Faith U FollerArgentinaAmy Elsner NEGOTIATION
Kaitlin J SergiFranceAnna Fali UNQUALIFIED
James N FlosiItalyAsiya Javayant UNQUALIFIED
Leja V TollnerItalyOnyama Limba UNQUALIFIED
Kadeem L WhobreyUnited KingdomElwin Sharvill UNQUALIFIED
Misaki D ButtGermanyStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Wickens G RulapaughSpainOnyama Limba PROPOSAL
Francesco J OstroskyGermanyAnna Fali QUALIFIED
Faith I BriddickAustraliaAmy Elsner NEGOTIATION
Jefferson Q MaletGermanyXuxue Feng RENEWAL
Isabel G CaldareraFranceAsiya Javayant NEW
Isabel G OstroskyAustraliaOnyama Limba UNQUALIFIED
Tony P SergiSpainOnyama Limba UNQUALIFIED
Nicolas X MorascaFranceIoni Bowcher UNQUALIFIED
Darci E SaylorsJapanOnyama Limba PROPOSAL
Nicolas Z AlbaresAustraliaAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith X TollnerIndia2025-07-30King, Christopher A Esq PROPOSAL96Amy Elsner
1001Jefferson U AlbaresArgentina2025-07-11Morlong Associates NEW43Stephen Shaw
1002Salvatore I ShinkoJapan2025-07-21Chanay, Jeffrey A Esq NEGOTIATION74Amy Elsner
1003Jones D NestleFrance2025-07-22Truhlar And Truhlar Attys PROPOSAL84Bernardo Dominic
1004Greenwood E PaprockiBrazil2025-07-17Rangoni Of Florence UNQUALIFIED22Onyama Limba
1005Isabel U AlbaresAustralia2025-07-28Chemel, James L Cpa RENEWAL50Anna Fali
1006Ivar F OldroydIndia2025-08-03Rousseaux, Michael Esq RENEWAL97Stephen Shaw
1007Alejandro N RulapaughAustralia2025-07-18Dorl, James J Esq PROPOSAL64Ioni Bowcher
1008Isabel A IturbideGermany2025-07-09Commercial Press PROPOSAL74Bernardo Dominic
1009Jones X MorascaFrance2025-07-31Feltz Printing Service UNQUALIFIED16Anna Fali
1010Sinclair A BowleyGermany2025-07-27Dorl, James J Esq NEGOTIATION27Ioni Bowcher
1011Silvio G RulapaughArgentina2025-07-17Chapman, Ross E Esq NEW84Anna Fali
1012Ricardo Z WieserJapan2025-07-10Chemel, James L Cpa PROPOSAL91Xuxue Feng
1013Emily P DarakjyArgentina2025-08-02King, Christopher A Esq NEGOTIATION68Anna Fali
1014James V RimBrazil2025-07-10Chemel, James L Cpa QUALIFIED68Bernardo Dominic
1015Maria O BologniaAustralia2025-07-06Chapman, Ross E Esq NEGOTIATION29Onyama Limba
1016Ricardo V CaldareraIndia2025-07-14Feiner Bros RENEWAL79Onyama Limba
1017Cody Y FerenczRussia2025-07-11Truhlar And Truhlar Attys PROPOSAL63Ioni Bowcher
1018Aruna M MaletCanada2025-07-11Chanay, Jeffrey A Esq PROPOSAL94Ivan Magalhaes
1019Silvio B FlosiItaly2025-07-21Buckley Miller Wright PROPOSAL21Ivan Magalhaes
1020James B WaycottArgentina2025-07-22King, Christopher A Esq NEGOTIATION45Ioni Bowcher
1021Munro W GillianUnited Kingdom2025-07-16Rangoni Of Florence NEW4Amy Elsner
1022David H BriddickAustralia2025-07-24King, Christopher A Esq RENEWAL99Asiya Javayant
1023Leon K GauchoFrance2025-07-26Printing Dimensions UNQUALIFIED39Asiya Javayant
1024Claire A ButtJapan2025-07-13Truhlar And Truhlar Attys RENEWAL89Ivan Magalhaes
1025Mayumi T AlbaresFrance2025-07-15Chemel, James L Cpa RENEWAL8Xuxue Feng
1026Leja D AlbaresJapan2025-07-17Morlong Associates RENEWAL60Bernardo Dominic
1027Sinclair T DilliardJapan2025-08-01Printing Dimensions QUALIFIED20Xuxue Feng
1028Adams Q GarufiBrazil2025-07-18Buckley Miller Wright NEGOTIATION64Onyama Limba
1029Cody Q FigeroaRussia2025-08-04Feiner Bros NEW28Amy Elsner
1030Leon N RimAustralia2025-07-06Rousseaux, Michael Esq QUALIFIED29Anna Fali
1031Juan U ChuiIndia2025-07-14Commercial Press NEW43Anna Fali
1032Cody E RimFrance2025-07-17Chapman, Ross E Esq RENEWAL18Stephen Shaw
1033Isabel W NestleCanada2025-07-24Feltz Printing Service UNQUALIFIED31Ivan Magalhaes
1034Adams C ChuiArgentina2025-07-06Printing Dimensions NEW94Stephen Shaw
1035Faith V DarakjyBrazil2025-07-19Buckley Miller Wright NEGOTIATION23Onyama Limba
1036Jennifer J SaylorsBrazil2025-07-12Rangoni Of Florence NEGOTIATION63Onyama Limba
1037Mayumi T VocelkaFrance2025-07-15Chemel, James L Cpa UNQUALIFIED98Xuxue Feng
1038Isabel B StockhamBrazil2025-07-23Feltz Printing Service NEW41Xuxue Feng
1039Adams O GillianArgentina2025-07-11Feiner Bros NEGOTIATION17Ivan Magalhaes
1040Ivar L RutaBrazil2025-07-06Buckley Miller Wright RENEWAL5Ivan Magalhaes
1041Maisha X OldroydJapan2025-07-18Chemel, James L Cpa UNQUALIFIED17Ioni Bowcher
1042Stacey Z BologniaCanada2025-08-04Buckley Miller Wright NEGOTIATION6Elwin Sharvill
1043Maisha N FigeroaIndia2025-08-01King, Christopher A Esq QUALIFIED41Ivan Magalhaes
1044Juan A OldroydItaly2025-08-04Printing Dimensions UNQUALIFIED12Amy Elsner
1045Misaki Z GlickIndia2025-07-25Chemel, James L Cpa NEGOTIATION40Asiya Javayant
1046Silvio S AmigonUnited Kingdom2025-07-11Rousseaux, Michael Esq NEW53Ivan Magalhaes
1047Jeanfrancois O GillianBrazil2025-07-14Feltz Printing Service UNQUALIFIED14Asiya Javayant
1048Smith E GillianCanada2025-07-14Benton, John B Jr UNQUALIFIED45Stephen Shaw
1049Silvio T SergiJapan2025-07-09Dorl, James J Esq RENEWAL38Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin F DilliardRussiaOnyama Limba UNQUALIFIED
Alejandro I FigeroaIndiaOnyama Limba NEGOTIATION
Aika B DilliardRussiaOnyama Limba RENEWAL
Aika Q RimItalyStephen Shaw PROPOSAL
Murillo V CaldareraRussiaStephen Shaw PROPOSAL
Wickens N FerenczJapanAsiya Javayant RENEWAL
Jennifer S GillianRussiaIvan Magalhaes QUALIFIED
Antonio W BriddickUnited KingdomXuxue Feng NEW
Emily Q MorascaBrazilAmy Elsner QUALIFIED
Faith M RulapaughBrazilIoni Bowcher NEW
David T RutaItalyIvan Magalhaes PROPOSAL
Francesco Q MorascaGermanyIvan Magalhaes UNQUALIFIED
Kadeem Z FigeroaSpainElwin Sharvill UNQUALIFIED
Aruna A KuskoArgentinaAsiya Javayant NEGOTIATION
Jennifer F AlbaresItalyOnyama Limba PROPOSAL
Leja A CaudySpainAsiya Javayant NEW
Ashley J PaprockiGermanyIvan Magalhaes QUALIFIED
Alejandro L StensethAustraliaIoni Bowcher PROPOSAL
Silvio O MorascaRussiaXuxue Feng NEGOTIATION
Kaitlin K RutaBrazilIvan Magalhaes PROPOSAL
Emily O GlickGermanyIoni Bowcher NEGOTIATION
Izzy W RoysterGermanyStephen Shaw RENEWAL
Arvin V InouyeGermanyAsiya Javayant NEW
Darci V IturbideAustraliaAsiya Javayant RENEWAL
Wickens M AmigonUnited KingdomIvan Magalhaes NEW
Leja K CaudyRussiaAmy Elsner UNQUALIFIED
Alejandro U ShinkoUnited KingdomElwin Sharvill NEW
Jones R OstroskyJapanXuxue Feng UNQUALIFIED
Nicolas S StockhamRussiaAsiya Javayant QUALIFIED
Misaki H FollerAustraliaAsiya Javayant PROPOSAL
Deepesh N CaldareraJapanXuxue Feng NEGOTIATION
Antonio C FlosiJapanIoni Bowcher UNQUALIFIED
Deepesh C SergiArgentinaIvan Magalhaes QUALIFIED
Jeanfrancois M ShinkoJapanAsiya Javayant NEW
Maisha F IturbideGermanyXuxue Feng RENEWAL
Octavia J WhobreyRussiaIoni Bowcher NEW
Smith K FollerGermanyStephen Shaw UNQUALIFIED
Wickens Z BriddickBrazilStephen Shaw RENEWAL
Isabel C GarufiGermanyAnna Fali NEW
Munro W NestleRussiaOnyama Limba QUALIFIED
Murillo I TollnerArgentinaStephen Shaw NEW
Sinclair D MarrierArgentinaElwin Sharvill NEW
Smith A StockhamJapanElwin Sharvill RENEWAL
Morrow J MorascaSpainStephen Shaw UNQUALIFIED
Julie Q DoeJapanStephen Shaw QUALIFIED
Rodrigues N MacleadGermanyXuxue Feng RENEWAL
Costa E WaycottItalyBernardo Dominic NEW
Aditya E DoeAustraliaElwin Sharvill UNQUALIFIED
Ivar N IturbideJapanIoni Bowcher RENEWAL
Greenwood D ChuiRussiaBernardo Dominic NEW
Frozen Columns
Name
Stacey S Ferencz
Salvatore P Nicka
Ricardo K Ostrosky
Maisha F Sergi
Costa Q Oldroyd
Johnson P Foller
Juan U Bowley
Mayumi K Vocelka
Jefferson U Maclead
Ricardo R Paprocki
David R Schemmer
Kadeem P Butt
David K Dilliard
Julie W Campain
Kadeem C Saylors
Antonio S Caudy
Izzy V Ruta
Nicolas K Caldarera
Clifford B Bowley
Aika X Kolmetz
Ricardo X Stockham
Francesco Z Gaucho
Johnson Q Chui
Maria Q Kusko
Greenwood U Waycott
Francesco J Stockham
Kadeem O Bowley
Izzy G Shinko
Tony W Dilliard
Octavia W Rim
Alejandro G Rim
Octavia T Garufi
Silvio U Maclead
Izzy A Shinko
Ricardo O Nestle
Salvatore P Nicka
Tony O Paprocki
Jeanfrancois K Caldarera
Johnson P Malet
Mayumi E Figeroa
Aika Z Foller
Cody O Vocelka
Maisha I Sergi
Ricardo K Marrier
Jefferson M Gillian
Izzy Q Saylors
Rodrigues L Rim
Chavez Y Sergi
James N Inouye
Mayumi W Schemmer
IdCountryDate
1000Brazil2025-07-12
1001Brazil2025-07-24
1002Argentina2025-07-25
1003Brazil2025-07-15
1004France2025-07-10
1005Canada2025-07-18
1006Germany2025-07-08
1007Brazil2025-08-03
1008Argentina2025-07-12
1009Spain2025-07-11
1010Canada2025-08-03
1011Australia2025-07-29
1012Spain2025-07-08
1013Germany2025-08-03
1014India2025-07-15
1015Australia2025-07-19
1016Germany2025-07-20
1017Japan2025-07-11
1018Russia2025-07-12
1019France2025-07-07
1020Canada2025-07-30
1021Argentina2025-07-23
1022Germany2025-07-28
1023Italy2025-07-06
1024Canada2025-07-30
1025Canada2025-07-23
1026Australia2025-07-13
1027Spain2025-07-20
1028Russia2025-07-24
1029Russia2025-07-08
1030Italy2025-07-08
1031Germany2025-07-16
1032India2025-07-25
1033Brazil2025-07-09
1034Australia2025-07-21
1035India2025-07-23
1036United Kingdom2025-07-15
1037Spain2025-07-07
1038Germany2025-07-18
1039Japan2025-07-18
1040Brazil2025-07-19
1041India2025-07-16
1042Argentina2025-08-02
1043United Kingdom2025-07-18
1044Russia2025-07-31
1045Brazil2025-07-15
1046United Kingdom2025-08-03
1047United Kingdom2025-07-31
1048Canada2025-07-11
1049Russia2025-07-27

On-Demand Data

NameIdCountryDate
Julie L Paprocki1000Canada2025-07-23
Sinclair L Morasca1001Russia2025-07-22
Stacey I Ostrosky1002France2025-07-29
Kaitlin O Inouye1003Italy2025-07-29
Mujtaba T Vocelka1004United Kingdom2025-07-29
Aditya Q Amigon1005Canada2025-08-02
Cody H Venere1006Argentina2025-07-22
Misaki G Chui1007Germany2025-07-06
Ashley T Gaucho1008Spain2025-08-04
Claire D Shinko1009Germany2025-07-28
Cody Y Maclead1010Canada2025-07-28
Greenwood K Glick1011United Kingdom2025-07-12
Leon T Gillian1012Japan2025-08-02
Munro I Caldarera1013Spain2025-08-04
Misaki H Royster1014Argentina2025-07-09
Greenwood E Perin1015Germany2025-07-18
Murillo G Dilliard1016Japan2025-07-14
Chavez B Amigon1017Brazil2025-07-14
Claire A Malet1018France2025-07-25
Arvin U Venere1019Australia2025-07-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro Z GarufiCanadaStephen Shaw UNQUALIFIED
Sinclair O StockhamBrazilStephen Shaw NEW
Francesco B PoquetteItalyXuxue Feng NEGOTIATION
David D OstroskySpainXuxue Feng PROPOSAL
Greenwood K SergiIndiaAmy Elsner QUALIFIED
Clifford A MaletAustraliaAnna Fali PROPOSAL
Aika Q SaylorsGermanyElwin Sharvill NEGOTIATION
Antonio H BologniaBrazilBernardo Dominic NEW
Isabel B AmigonAustraliaStephen Shaw RENEWAL
Ashley Z GarufiSpainOnyama Limba NEGOTIATION
Smith O DoeBrazilBernardo Dominic UNQUALIFIED
Faith P OldroydUnited KingdomOnyama Limba NEGOTIATION
Nicolas C ButtJapanBernardo Dominic NEW
Salvatore U GlickItalyIvan Magalhaes QUALIFIED
Adams F NickaUnited KingdomXuxue Feng UNQUALIFIED
Aditya U BologniaBrazilStephen Shaw UNQUALIFIED
Faith F RoysterBrazilElwin Sharvill RENEWAL
Isabel X RutaArgentinaAnna Fali QUALIFIED
Murillo Q WaycottUnited KingdomAnna Fali UNQUALIFIED
Alejandro C VenereAustraliaOnyama Limba NEW
Smith B WieserSpainAsiya Javayant NEGOTIATION
Greenwood I BologniaUnited KingdomXuxue Feng PROPOSAL
Izzy F FlosiJapanAmy Elsner RENEWAL
Kadeem Y StensethGermanyXuxue Feng UNQUALIFIED
Ashley N FerenczBrazilAmy Elsner NEGOTIATION
Kadeem Z SlusarskiItalyIvan Magalhaes UNQUALIFIED
Adams N DoeRussiaOnyama Limba NEGOTIATION
Isabel F ChuiGermanyBernardo Dominic NEW
Aika Q NestleJapanOnyama Limba NEW
Antonio C StensethCanadaAnna Fali PROPOSAL
Smith K KolmetzFranceElwin Sharvill NEW
Sinclair F MacleadFranceStephen Shaw NEW
Aruna U StensethRussiaAsiya Javayant NEGOTIATION
Chavez W CaudyJapanXuxue Feng NEGOTIATION
Ricardo S NickaCanadaStephen Shaw NEW
Mujtaba X RutaCanadaAnna Fali RENEWAL
Rodrigues E RutaUnited KingdomOnyama Limba RENEWAL
Claire L RoysterRussiaBernardo Dominic QUALIFIED
Costa L RulapaughArgentinaBernardo Dominic UNQUALIFIED
Cody O RulapaughAustraliaIvan Magalhaes 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>