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
Octavia A KuskoSpainIoni Bowcher QUALIFIED
Munro X WaycottGermanyBernardo Dominic PROPOSAL
Costa M FigeroaFranceXuxue Feng PROPOSAL
Jefferson O OstroskyJapanElwin Sharvill UNQUALIFIED
Mujtaba S RulapaughAustraliaAsiya Javayant QUALIFIED
Misaki W ButtIndiaXuxue Feng RENEWAL
Jefferson K KolmetzSpainElwin Sharvill NEW
Antonio P StockhamBrazilElwin Sharvill NEW
Jeanfrancois P GlickGermanyIvan Magalhaes QUALIFIED
Clifford O GillianRussiaOnyama Limba PROPOSAL
Ricardo M NestleCanadaAmy Elsner NEW
Mujtaba X BowleySpainIoni Bowcher NEW
Murillo V IturbideIndiaOnyama Limba UNQUALIFIED
Nicolas B WieserCanadaOnyama Limba NEGOTIATION
Kaitlin S PaprockiArgentinaBernardo Dominic QUALIFIED
Sinclair S BriddickFranceElwin Sharvill NEW
Greenwood Z DilliardRussiaBernardo Dominic NEW
Leon I FerenczAustraliaIoni Bowcher QUALIFIED
Aruna X VenereItalyAsiya Javayant RENEWAL
Greenwood O DilliardIndiaAnna Fali NEW
Chavez H IturbideFranceOnyama Limba RENEWAL
Antonio Q PoquetteGermanyIoni Bowcher NEGOTIATION
Misaki O InouyeBrazilOnyama Limba QUALIFIED
Julie T IturbideArgentinaAmy Elsner NEW
Claire E PoquetteJapanOnyama Limba RENEWAL
Costa L CaldareraIndiaIoni Bowcher NEGOTIATION
Misaki J TollnerItalyIoni Bowcher UNQUALIFIED
Claire H PerinSpainStephen Shaw NEGOTIATION
Claire J BriddickCanadaXuxue Feng QUALIFIED
Jennifer J MarrierItalyAnna Fali NEW
Sinclair B WieserAustraliaAnna Fali NEW
Emily W InouyeArgentinaIoni Bowcher RENEWAL
Claire M CampainAustraliaIoni Bowcher NEW
Ricardo C StockhamIndiaAmy Elsner UNQUALIFIED
Jones G GauchoIndiaIvan Magalhaes NEGOTIATION
Claire N SlusarskiSpainBernardo Dominic RENEWAL
Faith S AmigonSpainBernardo Dominic RENEWAL
Costa R FlosiGermanyIvan Magalhaes UNQUALIFIED
Clifford I NestleIndiaElwin Sharvill PROPOSAL
Claire I SlusarskiUnited KingdomAmy Elsner NEW
Darci N KolmetzCanadaIvan Magalhaes PROPOSAL
James V FigeroaIndiaIvan Magalhaes RENEWAL
Mujtaba W InouyeIndiaOnyama Limba PROPOSAL
Leon V BowleyFranceOnyama Limba UNQUALIFIED
Antonio X PaprockiCanadaStephen Shaw RENEWAL
Murillo U NestleRussiaElwin Sharvill UNQUALIFIED
Darci L StockhamJapanAnna Fali UNQUALIFIED
Aika U SchemmerIndiaElwin Sharvill RENEWAL
Jeanfrancois G BriddickSpainXuxue Feng UNQUALIFIED
Arvin D DilliardRussiaXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Julie E ChuiItalyAsiya Javayant PROPOSAL
Darci F OstroskyIndiaIvan Magalhaes PROPOSAL
Deepesh R PerinAustraliaAnna Fali RENEWAL
Jennifer R MaletGermanyStephen Shaw RENEWAL
Izzy M GillianFranceXuxue Feng NEGOTIATION
Ivar V VocelkaCanadaOnyama Limba NEW
Ricardo R FigeroaSpainElwin Sharvill PROPOSAL
Wickens S KolmetzUnited KingdomBernardo Dominic PROPOSAL
Arvin K CaldareraFranceIvan Magalhaes NEGOTIATION
Mayumi I PoquetteJapanIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia U MarrierItaly2025-09-26Buckley Miller Wright NEGOTIATION96Amy Elsner
1001Aditya H MacleadItaly2025-10-15King, Christopher A Esq RENEWAL31Ivan Magalhaes
1002Darci K VocelkaBrazil2025-10-13Chapman, Ross E Esq RENEWAL81Xuxue Feng
1003Morrow Y RulapaughJapan2025-10-10Chanay, Jeffrey A Esq NEW77Xuxue Feng
1004Greenwood T VenereIndia2025-10-17Truhlar And Truhlar Attys NEW47Bernardo Dominic
1005Ricardo D VenereFrance2025-10-12Printing Dimensions NEW81Xuxue Feng
1006Julie Q PoquetteArgentina2025-10-02Dorl, James J Esq QUALIFIED15Asiya Javayant
1007Kaitlin I CaudySpain2025-10-12Rousseaux, Michael Esq RENEWAL8Ioni Bowcher
1008Deepesh Y SaylorsIndia2025-10-14Feiner Bros RENEWAL99Xuxue Feng
1009Adams C GarufiItaly2025-10-03Rangoni Of Florence PROPOSAL23Amy Elsner
1010Maria W GarufiIndia2025-09-18Truhlar And Truhlar Attys RENEWAL39Asiya Javayant
1011Izzy Y VocelkaSpain2025-09-19Commercial Press PROPOSAL5Xuxue Feng
1012Morrow C VocelkaSpain2025-10-13Commercial Press UNQUALIFIED57Xuxue Feng
1013Ivar G StockhamGermany2025-10-09Rangoni Of Florence NEW11Onyama Limba
1014Sinclair O OldroydArgentina2025-10-07King, Christopher A Esq NEGOTIATION31Stephen Shaw
1015Wickens J GlickItaly2025-09-28Chemel, James L Cpa QUALIFIED11Ioni Bowcher
1016Aditya S AmigonSpain2025-10-17Truhlar And Truhlar Attys NEGOTIATION46Asiya Javayant
1017Claire G AlbaresAustralia2025-09-28Feiner Bros QUALIFIED21Stephen Shaw
1018Johnson Q BriddickUnited Kingdom2025-09-21Feltz Printing Service RENEWAL27Stephen Shaw
1019Chavez G SlusarskiJapan2025-10-04Commercial Press QUALIFIED11Elwin Sharvill
1020Aika C StockhamRussia2025-10-07Feltz Printing Service UNQUALIFIED27Xuxue Feng
1021Murillo F PoquetteItaly2025-09-28Buckley Miller Wright NEW46Ioni Bowcher
1022Jones A BriddickCanada2025-09-26Chanay, Jeffrey A Esq QUALIFIED86Asiya Javayant
1023Stacey S GillianAustralia2025-10-14Morlong Associates RENEWAL8Ioni Bowcher
1024Claire G ShinkoItaly2025-10-09Rousseaux, Michael Esq UNQUALIFIED25Ivan Magalhaes
1025Octavia P WaycottIndia2025-09-26Chanay, Jeffrey A Esq NEGOTIATION19Amy Elsner
1026Jones S CaudyJapan2025-10-14Chapman, Ross E Esq PROPOSAL77Amy Elsner
1027Isabel R ButtUnited Kingdom2025-10-02Chanay, Jeffrey A Esq NEW65Asiya Javayant
1028Nicolas W BowleyGermany2025-09-22Morlong Associates NEW1Onyama Limba
1029Tony P SaylorsAustralia2025-09-29Truhlar And Truhlar Attys NEW37Ioni Bowcher
1030Arvin B PoquetteItaly2025-10-03Benton, John B Jr UNQUALIFIED30Amy Elsner
1031Mujtaba I RutaAustralia2025-09-18Dorl, James J Esq NEW40Amy Elsner
1032Ricardo S ButtSpain2025-09-27Truhlar And Truhlar Attys UNQUALIFIED71Ivan Magalhaes
1033Rodrigues W SlusarskiFrance2025-09-22Morlong Associates RENEWAL67Stephen Shaw
1034Jefferson B VocelkaAustralia2025-09-23Dorl, James J Esq PROPOSAL58Anna Fali
1035Antonio V RutaAustralia2025-10-10Chapman, Ross E Esq UNQUALIFIED96Stephen Shaw
1036Julie Z NestleArgentina2025-09-27Rangoni Of Florence PROPOSAL96Ivan Magalhaes
1037Maria K VocelkaRussia2025-09-28Rangoni Of Florence RENEWAL82Asiya Javayant
1038Izzy Q CaldareraGermany2025-10-15Dorl, James J Esq QUALIFIED54Elwin Sharvill
1039Clifford Q ShinkoBrazil2025-09-28Buckley Miller Wright PROPOSAL81Stephen Shaw
1040Maria T BologniaAustralia2025-10-07Feltz Printing Service NEW66Ivan Magalhaes
1041Sinclair A FigeroaAustralia2025-09-29King, Christopher A Esq QUALIFIED66Asiya Javayant
1042Mujtaba K MaletBrazil2025-09-28Chanay, Jeffrey A Esq NEW95Elwin Sharvill
1043Munro E SaylorsGermany2025-10-17Dorl, James J Esq NEW15Xuxue Feng
1044Izzy C PaprockiFrance2025-10-05Buckley Miller Wright PROPOSAL85Stephen Shaw
1045Sinclair U RutaCanada2025-10-08King, Christopher A Esq QUALIFIED62Amy Elsner
1046Munro T FigeroaFrance2025-09-20Chanay, Jeffrey A Esq UNQUALIFIED88Ioni Bowcher
1047Leja D VocelkaFrance2025-10-15Commercial Press PROPOSAL90Bernardo Dominic
1048Leja Y InouyeItaly2025-09-28Buckley Miller Wright NEW50Asiya Javayant
1049Alejandro X BologniaJapan2025-09-23Truhlar And Truhlar Attys NEW8Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Leon P WieserRussiaElwin Sharvill NEW
Ashley K AmigonUnited KingdomAmy Elsner UNQUALIFIED
Adams G NestleSpainElwin Sharvill NEGOTIATION
Stacey T SergiJapanXuxue Feng PROPOSAL
Greenwood T PaprockiJapanIoni Bowcher RENEWAL
Clifford F GauchoSpainAnna Fali NEGOTIATION
Aditya Z StensethArgentinaBernardo Dominic NEW
Costa D GillianIndiaOnyama Limba NEW
Kaitlin E InouyeGermanyAnna Fali NEW
Leja M BriddickJapanAmy Elsner NEGOTIATION
Isabel B DarakjyUnited KingdomStephen Shaw QUALIFIED
David G AmigonJapanStephen Shaw RENEWAL
Jennifer M WieserItalyXuxue Feng RENEWAL
Ivar H NickaArgentinaBernardo Dominic NEGOTIATION
Deepesh Z GlickGermanyIoni Bowcher NEW
Jones K ChuiAustraliaStephen Shaw UNQUALIFIED
Jeanfrancois X OstroskyBrazilAsiya Javayant RENEWAL
Murillo P OldroydFranceElwin Sharvill QUALIFIED
Juan H RimRussiaAnna Fali UNQUALIFIED
Murillo H ButtAustraliaElwin Sharvill RENEWAL
Wickens N SchemmerBrazilBernardo Dominic QUALIFIED
Ivar D CampainGermanyElwin Sharvill PROPOSAL
Antonio P CampainCanadaAsiya Javayant RENEWAL
Murillo G FlosiIndiaIvan Magalhaes UNQUALIFIED
Clifford S WhobreyBrazilAnna Fali PROPOSAL
Ivar Y PaprockiCanadaStephen Shaw NEW
Juan X WieserIndiaIvan Magalhaes PROPOSAL
Juan O MaletBrazilIvan Magalhaes QUALIFIED
Tony Q PaprockiCanadaIvan Magalhaes RENEWAL
Stacey L OldroydArgentinaAnna Fali QUALIFIED
Octavia O ChuiSpainXuxue Feng NEW
Costa E PerinRussiaAmy Elsner QUALIFIED
Salvatore H GlickSpainAnna Fali UNQUALIFIED
Francesco D FlosiSpainAnna Fali PROPOSAL
Claire Z BologniaBrazilXuxue Feng PROPOSAL
Izzy L VenereJapanIvan Magalhaes NEGOTIATION
Ivar U DarakjyUnited KingdomAsiya Javayant NEGOTIATION
Aruna O FigeroaIndiaIvan Magalhaes NEW
Alejandro A WhobreyGermanyElwin Sharvill NEW
Claire S BologniaGermanyXuxue Feng NEGOTIATION
Isabel G MaletSpainStephen Shaw NEGOTIATION
Ricardo P RimGermanyXuxue Feng UNQUALIFIED
Silvio C RulapaughArgentinaBernardo Dominic PROPOSAL
Isabel N GauchoGermanyAsiya Javayant QUALIFIED
Chavez X AmigonCanadaBernardo Dominic NEW
Claire Y FollerItalyAmy Elsner RENEWAL
Octavia L PerinItalyElwin Sharvill QUALIFIED
Costa E AmigonRussiaXuxue Feng RENEWAL
Sinclair B BowleyRussiaIvan Magalhaes PROPOSAL
Emily Q InouyeArgentinaIoni Bowcher NEGOTIATION
Frozen Columns
Name
Ricardo Z Maclead
Murillo L Caldarera
Cody Y Foller
Smith P Caldarera
Ricardo H Gaucho
Maisha W Paprocki
Smith R Rulapaugh
Aika S Stenseth
Morrow J Foller
Kadeem M Sergi
Misaki Z Inouye
Ashley B Albares
Leon V Marrier
Julie U Flosi
Chavez M Morasca
Maisha R Gillian
David Q Perin
Mayumi L Marrier
Mujtaba M Glick
Maisha E Glick
Jennifer V Caldarera
Ashley E Nicka
Izzy I Stenseth
Morrow R Nicka
Jefferson I Tollner
Alejandro E Doe
Maisha X Malet
Maisha F Flosi
Tony Q Rim
Ricardo D Paprocki
Izzy L Perin
Silvio W Sergi
Leon H Rim
Rodrigues Y Doe
Izzy A Tollner
Stacey G Darakjy
Murillo K Perin
Kaitlin O Dilliard
Emily E Paprocki
Kaitlin Q Amigon
Greenwood W Ferencz
Alejandro R Inouye
Juan E Wieser
Smith L Oldroyd
Arvin I Marrier
Silvio T Whobrey
Claire L Rim
Ricardo L Perin
Misaki L Paprocki
David Q Whobrey
IdCountryDate
1000Australia2025-09-23
1001Australia2025-09-21
1002Canada2025-10-09
1003Brazil2025-09-27
1004Russia2025-10-08
1005Italy2025-09-22
1006India2025-09-21
1007United Kingdom2025-10-17
1008Brazil2025-10-14
1009Canada2025-10-17
1010India2025-10-02
1011Russia2025-10-07
1012Russia2025-09-18
1013Brazil2025-10-16
1014Japan2025-10-09
1015Brazil2025-10-15
1016Japan2025-10-08
1017Russia2025-10-08
1018Australia2025-10-14
1019United Kingdom2025-10-09
1020Brazil2025-10-11
1021Germany2025-10-03
1022Brazil2025-09-29
1023Canada2025-09-27
1024Australia2025-10-11
1025Italy2025-10-11
1026Spain2025-09-28
1027Germany2025-10-05
1028Spain2025-10-17
1029Russia2025-10-10
1030United Kingdom2025-09-29
1031Argentina2025-10-11
1032Brazil2025-10-02
1033Russia2025-10-11
1034Italy2025-09-22
1035Canada2025-09-25
1036Germany2025-09-27
1037Brazil2025-09-28
1038Italy2025-10-17
1039India2025-10-08
1040Russia2025-10-03
1041Russia2025-10-13
1042Russia2025-10-03
1043Italy2025-10-07
1044Spain2025-09-25
1045Italy2025-10-12
1046Spain2025-10-06
1047Germany2025-09-22
1048United Kingdom2025-10-16
1049Spain2025-09-28

On-Demand Data

NameIdCountryDate
Murillo L Slusarski1000Canada2025-09-23
Costa B Waycott1001India2025-10-01
Faith E Doe1002United Kingdom2025-10-06
Jones X Maclead1003Japan2025-10-10
Maisha Q Gillian1004Brazil2025-10-12
Octavia F Stenseth1005Australia2025-09-23
Ivar M Malet1006Canada2025-09-20
Faith J Stenseth1007India2025-09-23
Alejandro U Saylors1008Italy2025-09-25
Aditya B Gillian1009France2025-09-18
Juan T Briddick1010Japan2025-10-05
Octavia I Campain1011Germany2025-09-22
Arvin A Slusarski1012Argentina2025-09-20
Isabel O Butt1013Spain2025-09-26
Mayumi O Nicka1014Argentina2025-09-25
David D Foller1015United Kingdom2025-10-01
Aika B Rim1016Italy2025-10-04
David Q Darakjy1017Canada2025-10-14
Smith C Gaucho1018Brazil2025-09-20
Munro S Ruta1019Spain2025-10-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois N FollerCanadaBernardo Dominic PROPOSAL
Antonio L DilliardAustraliaOnyama Limba RENEWAL
Juan Z GauchoArgentinaOnyama Limba NEGOTIATION
Alejandro Z WieserUnited KingdomElwin Sharvill QUALIFIED
David T BowleyIndiaIoni Bowcher RENEWAL
Arvin P FigeroaAustraliaAnna Fali NEW
Juan I MarrierIndiaIvan Magalhaes NEW
Silvio J AmigonBrazilStephen Shaw NEW
Isabel X WhobreyBrazilIvan Magalhaes NEGOTIATION
Adams M CaudyAustraliaAnna Fali RENEWAL
Mujtaba A IturbideIndiaXuxue Feng NEW
Octavia T NickaFranceBernardo Dominic UNQUALIFIED
Salvatore E MorascaItalyIvan Magalhaes NEW
Tony A KolmetzItalyElwin Sharvill UNQUALIFIED
Jennifer A BriddickBrazilIvan Magalhaes NEGOTIATION
Clifford H RimCanadaAmy Elsner UNQUALIFIED
Aruna O ShinkoGermanyXuxue Feng UNQUALIFIED
Maisha D MacleadFranceAsiya Javayant QUALIFIED
Rodrigues Y GlickRussiaIoni Bowcher RENEWAL
David G RoysterJapanXuxue Feng UNQUALIFIED
Kaitlin W AlbaresFranceStephen Shaw RENEWAL
Misaki P WhobreyRussiaXuxue Feng NEW
Costa E WieserArgentinaAmy Elsner QUALIFIED
Jefferson N GarufiAustraliaOnyama Limba QUALIFIED
Chavez B StockhamSpainAmy Elsner UNQUALIFIED
Greenwood K InouyeJapanBernardo Dominic NEW
Mujtaba X ShinkoFranceStephen Shaw PROPOSAL
Adams K PaprockiArgentinaOnyama Limba NEGOTIATION
Costa H BriddickArgentinaAmy Elsner RENEWAL
Isabel U BologniaFranceElwin Sharvill QUALIFIED
Ivar W FerenczUnited KingdomStephen Shaw NEW
Ashley D PoquetteArgentinaIvan Magalhaes QUALIFIED
Silvio B AlbaresBrazilOnyama Limba QUALIFIED
Mayumi R KolmetzJapanIvan Magalhaes RENEWAL
Jennifer G DarakjyUnited KingdomIvan Magalhaes NEW
Munro W SchemmerItalyIvan Magalhaes NEGOTIATION
Francesco E MorascaFranceIoni Bowcher QUALIFIED
Leon N WaycottBrazilElwin Sharvill NEW
Faith L GarufiBrazilAsiya Javayant QUALIFIED
Tony Z ChuiGermanyStephen Shaw UNQUALIFIED

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