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
Arvin Y FigeroaArgentinaStephen Shaw PROPOSAL
Maria M MacleadGermanyAnna Fali QUALIFIED
Claire C SaylorsFranceXuxue Feng UNQUALIFIED
Juan T WaycottArgentinaStephen Shaw PROPOSAL
Aditya T GauchoArgentinaStephen Shaw UNQUALIFIED
Johnson A VenereAustraliaOnyama Limba RENEWAL
Kaitlin T CaldareraFranceBernardo Dominic NEGOTIATION
Salvatore E SergiBrazilElwin Sharvill NEW
Kadeem H SchemmerItalyBernardo Dominic NEGOTIATION
Rodrigues A AmigonCanadaElwin Sharvill QUALIFIED
Mayumi O MaletArgentinaXuxue Feng UNQUALIFIED
Ricardo Y GlickFranceXuxue Feng QUALIFIED
Rodrigues W WieserRussiaStephen Shaw QUALIFIED
Silvio R KolmetzArgentinaIvan Magalhaes NEW
Clifford O KuskoFranceAnna Fali NEW
Julie H NestleRussiaAnna Fali PROPOSAL
Jefferson N BologniaAustraliaIoni Bowcher NEGOTIATION
Arvin L RimCanadaOnyama Limba NEGOTIATION
Ricardo E BowleyCanadaElwin Sharvill RENEWAL
Leon B MaletItalyBernardo Dominic RENEWAL
Emily Q GlickItalyAsiya Javayant NEGOTIATION
Murillo F GarufiBrazilXuxue Feng NEGOTIATION
Leon Z CaldareraItalyStephen Shaw QUALIFIED
Smith C CampainCanadaBernardo Dominic QUALIFIED
David Z DoeAustraliaAsiya Javayant PROPOSAL
Kaitlin M StensethSpainXuxue Feng PROPOSAL
Tony J CaldareraItalyAsiya Javayant NEW
Ricardo I WhobreyFranceAnna Fali PROPOSAL
Clifford M RoysterUnited KingdomElwin Sharvill NEGOTIATION
Johnson G PerinItalyStephen Shaw RENEWAL
Jefferson K MaletUnited KingdomAnna Fali QUALIFIED
Rodrigues A OldroydIndiaIoni Bowcher NEW
Silvio Q KuskoUnited KingdomAnna Fali QUALIFIED
Sinclair S CaudySpainElwin Sharvill UNQUALIFIED
Jones Q KolmetzFranceStephen Shaw NEGOTIATION
Johnson I PerinJapanOnyama Limba RENEWAL
Costa M SchemmerSpainStephen Shaw NEGOTIATION
Faith D NickaSpainBernardo Dominic NEGOTIATION
Maria L GauchoArgentinaAnna Fali RENEWAL
Ashley T IturbideIndiaAmy Elsner PROPOSAL
David X TollnerRussiaAsiya Javayant PROPOSAL
Misaki S KolmetzBrazilAnna Fali UNQUALIFIED
Julie D DilliardUnited KingdomXuxue Feng PROPOSAL
Stacey K NestleFranceAsiya Javayant PROPOSAL
Kaitlin V PaprockiJapanBernardo Dominic QUALIFIED
Sinclair V SchemmerSpainAsiya Javayant UNQUALIFIED
Julie G MarrierFranceAmy Elsner RENEWAL
Jeanfrancois H GarufiSpainAnna Fali PROPOSAL
Jennifer T MaletFranceIvan Magalhaes QUALIFIED
Nicolas D CampainCanadaBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Wickens Z MorascaBrazilBernardo Dominic NEGOTIATION
Tony B PerinItalyXuxue Feng RENEWAL
Aruna E KuskoRussiaAnna Fali NEGOTIATION
Tony J DilliardBrazilIoni Bowcher UNQUALIFIED
Misaki O VocelkaGermanyIoni Bowcher NEW
Mujtaba U WaycottIndiaAsiya Javayant RENEWAL
Juan U VocelkaJapanOnyama Limba PROPOSAL
Aditya W SchemmerGermanyElwin Sharvill RENEWAL
Aika W CaudyRussiaAnna Fali NEW
David T SaylorsBrazilAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria D DarakjyJapan2025-09-17Rangoni Of Florence NEGOTIATION88Stephen Shaw
1001Jennifer L SaylorsSpain2025-09-19Morlong Associates NEGOTIATION72Anna Fali
1002Izzy H OstroskyIndia2025-09-24Dorl, James J Esq RENEWAL21Ioni Bowcher
1003Rodrigues S ChuiGermany2025-09-16Dorl, James J Esq RENEWAL3Ioni Bowcher
1004Jeanfrancois B AlbaresArgentina2025-10-08Rousseaux, Michael Esq NEW98Ioni Bowcher
1005Kaitlin H IturbideJapan2025-09-17Truhlar And Truhlar Attys NEW40Stephen Shaw
1006Stacey S TollnerJapan2025-10-11Chapman, Ross E Esq NEGOTIATION79Amy Elsner
1007Claire M DarakjyArgentina2025-09-23Printing Dimensions UNQUALIFIED45Ioni Bowcher
1008Aika F DoeArgentina2025-09-13Chapman, Ross E Esq RENEWAL95Asiya Javayant
1009David H ButtUnited Kingdom2025-10-12Buckley Miller Wright NEW46Stephen Shaw
1010Ivar P OstroskyFrance2025-10-12Morlong Associates NEGOTIATION29Anna Fali
1011Kadeem F FlosiSpain2025-10-09Truhlar And Truhlar Attys NEGOTIATION75Xuxue Feng
1012Emily D RutaFrance2025-09-30King, Christopher A Esq PROPOSAL87Elwin Sharvill
1013Darci J DoeJapan2025-10-09Chapman, Ross E Esq RENEWAL16Ioni Bowcher
1014Antonio W MaletUnited Kingdom2025-09-21Buckley Miller Wright UNQUALIFIED89Stephen Shaw
1015Isabel N CampainSpain2025-09-30Dorl, James J Esq PROPOSAL79Asiya Javayant
1016Aika T KolmetzCanada2025-09-15King, Christopher A Esq NEW10Xuxue Feng
1017Octavia Y BologniaJapan2025-09-13King, Christopher A Esq NEGOTIATION2Ivan Magalhaes
1018Stacey P CaudyGermany2025-09-27Chemel, James L Cpa NEW84Onyama Limba
1019Tony P BowleyBrazil2025-09-20Morlong Associates RENEWAL63Amy Elsner
1020Greenwood C PaprockiUnited Kingdom2025-09-16Buckley Miller Wright NEGOTIATION74Anna Fali
1021Murillo T OstroskyIndia2025-10-05Printing Dimensions NEGOTIATION25Stephen Shaw
1022Chavez N KolmetzUnited Kingdom2025-10-06King, Christopher A Esq NEGOTIATION20Onyama Limba
1023Smith A PoquetteBrazil2025-10-07Commercial Press UNQUALIFIED49Ivan Magalhaes
1024Silvio R SaylorsRussia2025-09-15Truhlar And Truhlar Attys PROPOSAL19Bernardo Dominic
1025Nicolas B InouyeSpain2025-09-30Dorl, James J Esq NEGOTIATION81Amy Elsner
1026Silvio H KuskoGermany2025-09-13Buckley Miller Wright QUALIFIED99Bernardo Dominic
1027Clifford Z RulapaughAustralia2025-09-29Buckley Miller Wright QUALIFIED55Onyama Limba
1028Kaitlin N SaylorsGermany2025-09-26Feiner Bros NEW87Stephen Shaw
1029Johnson V KuskoArgentina2025-09-26Buckley Miller Wright RENEWAL6Bernardo Dominic
1030Aika V CampainCanada2025-09-21Rousseaux, Michael Esq PROPOSAL20Bernardo Dominic
1031Isabel W CampainGermany2025-10-10Printing Dimensions QUALIFIED77Xuxue Feng
1032Rodrigues M CaudyUnited Kingdom2025-09-29Rousseaux, Michael Esq PROPOSAL31Amy Elsner
1033Murillo S StensethRussia2025-10-06Feltz Printing Service UNQUALIFIED21Amy Elsner
1034Isabel R VocelkaRussia2025-10-07Feltz Printing Service RENEWAL35Onyama Limba
1035Clifford I ShinkoJapan2025-10-05Feiner Bros UNQUALIFIED2Bernardo Dominic
1036Murillo D DoeUnited Kingdom2025-09-19Printing Dimensions QUALIFIED52Asiya Javayant
1037Leja G DarakjyJapan2025-09-30Chemel, James L Cpa PROPOSAL5Ioni Bowcher
1038Morrow M PerinGermany2025-10-02Feiner Bros NEGOTIATION54Anna Fali
1039Mayumi B VocelkaItaly2025-10-02Rangoni Of Florence RENEWAL3Bernardo Dominic
1040Nicolas D BriddickIndia2025-09-24Buckley Miller Wright UNQUALIFIED65Ioni Bowcher
1041Morrow U GarufiAustralia2025-09-13King, Christopher A Esq RENEWAL84Anna Fali
1042Greenwood T WhobreyGermany2025-10-02Feiner Bros NEW63Onyama Limba
1043Stacey F FerenczItaly2025-09-15Printing Dimensions RENEWAL44Stephen Shaw
1044Stacey I KolmetzArgentina2025-09-25Chemel, James L Cpa NEW35Elwin Sharvill
1045Adams L MarrierRussia2025-10-10Feltz Printing Service UNQUALIFIED10Amy Elsner
1046Jefferson E RutaAustralia2025-09-29Feltz Printing Service NEW51Ioni Bowcher
1047James N CampainFrance2025-10-06Feiner Bros PROPOSAL41Xuxue Feng
1048Nicolas A SaylorsJapan2025-09-16Chemel, James L Cpa RENEWAL64Ioni Bowcher
1049Smith H NickaGermany2025-09-17Rousseaux, Michael Esq QUALIFIED95Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
James M FerenczIndiaIoni Bowcher PROPOSAL
Rodrigues G CaldareraRussiaIvan Magalhaes NEW
Kadeem V SaylorsAustraliaAmy Elsner RENEWAL
Johnson Q WieserUnited KingdomXuxue Feng UNQUALIFIED
Maisha M VocelkaFranceAmy Elsner QUALIFIED
Maria V AlbaresItalyOnyama Limba RENEWAL
Aika E FlosiIndiaAmy Elsner NEW
Darci T FigeroaBrazilXuxue Feng RENEWAL
Deepesh T FerenczGermanyElwin Sharvill QUALIFIED
Kaitlin M RulapaughFranceAmy Elsner PROPOSAL
Adams H GlickUnited KingdomIoni Bowcher PROPOSAL
Munro M GauchoBrazilElwin Sharvill NEGOTIATION
Arvin Q OstroskyJapanElwin Sharvill QUALIFIED
Wickens W BowleyFranceOnyama Limba NEW
Chavez B OldroydSpainElwin Sharvill NEW
Kadeem Z KuskoRussiaElwin Sharvill NEW
Jennifer E BriddickUnited KingdomOnyama Limba NEW
Jeanfrancois O StockhamGermanyElwin Sharvill UNQUALIFIED
Alejandro U RoysterRussiaIoni Bowcher UNQUALIFIED
Murillo H DoeIndiaStephen Shaw RENEWAL
Maria H RutaBrazilStephen Shaw RENEWAL
Greenwood U RimAustraliaIvan Magalhaes NEW
Chavez N CaldareraGermanyOnyama Limba NEW
Clifford J PaprockiUnited KingdomBernardo Dominic NEW
Smith P FlosiJapanAmy Elsner NEGOTIATION
Kadeem V DarakjyJapanBernardo Dominic UNQUALIFIED
Sinclair M MorascaAustraliaStephen Shaw NEW
Faith P ShinkoJapanIvan Magalhaes UNQUALIFIED
Alejandro X MarrierBrazilElwin Sharvill NEW
Misaki K FlosiItalyBernardo Dominic PROPOSAL
Emily B SchemmerIndiaIoni Bowcher QUALIFIED
Greenwood T OstroskyCanadaBernardo Dominic NEGOTIATION
Wickens T ChuiArgentinaAmy Elsner PROPOSAL
Mujtaba C KuskoCanadaElwin Sharvill NEW
Smith B RoysterRussiaElwin Sharvill PROPOSAL
Jones E BowleyGermanyXuxue Feng UNQUALIFIED
Jeanfrancois P BologniaIndiaElwin Sharvill NEW
Jeanfrancois E VenereIndiaBernardo Dominic NEW
Kaitlin M VenereBrazilAnna Fali RENEWAL
David P NestleIndiaBernardo Dominic RENEWAL
Jones G SergiRussiaAmy Elsner NEGOTIATION
Ricardo M GillianRussiaOnyama Limba NEW
Salvatore S MaletJapanOnyama Limba NEW
Francesco T TollnerGermanyIvan Magalhaes QUALIFIED
Ashley L MarrierAustraliaAsiya Javayant QUALIFIED
Jeanfrancois Z ChuiFranceElwin Sharvill NEGOTIATION
David H FigeroaGermanyAmy Elsner NEW
Juan Y DilliardIndiaXuxue Feng RENEWAL
Adams U BriddickArgentinaIvan Magalhaes QUALIFIED
Sinclair V AmigonUnited KingdomOnyama Limba RENEWAL
Frozen Columns
Name
Stacey W Oldroyd
Adams N Poquette
Emily B Slusarski
Tony D Bolognia
Stacey A Campain
Aika M Garufi
Ricardo L Sergi
Izzy V Royster
Isabel G Iturbide
Leja W Iturbide
Julie L Kusko
Ivar K Vocelka
Isabel Y Schemmer
Jeanfrancois H Tollner
Arvin P Poquette
Costa R Darakjy
Isabel F Waycott
Cody I Albares
Aika J Kolmetz
Deepesh J Campain
Costa X Waycott
Costa W Waycott
Maria U Oldroyd
Julie S Kusko
Faith S Bowley
Clifford K Venere
Costa O Darakjy
Kaitlin B Bolognia
Costa J Doe
Johnson L Nestle
Clifford L Oldroyd
Mujtaba O Royster
Claire C Perin
Chavez O Morasca
Jones R Foller
Smith X Dilliard
Kaitlin E Slusarski
Julie S Perin
Cody L Caldarera
Jefferson E Vocelka
Misaki F Stenseth
Emily S Garufi
Costa J Figeroa
Murillo M Caldarera
Julie Q Figeroa
Juan W Darakjy
Clifford O Figeroa
Jones A Shinko
Costa N Inouye
Leja J Schemmer
IdCountryDate
1000Spain2025-09-24
1001United Kingdom2025-10-10
1002Italy2025-09-21
1003Japan2025-09-17
1004Russia2025-09-21
1005Russia2025-10-06
1006Germany2025-10-01
1007Canada2025-10-02
1008India2025-10-02
1009Spain2025-09-30
1010United Kingdom2025-09-22
1011Australia2025-09-18
1012Spain2025-09-26
1013Canada2025-09-22
1014France2025-09-29
1015United Kingdom2025-10-11
1016France2025-09-24
1017Argentina2025-09-13
1018Russia2025-09-24
1019Italy2025-09-23
1020Spain2025-09-28
1021Italy2025-09-25
1022Argentina2025-10-04
1023Australia2025-10-06
1024Germany2025-10-12
1025Australia2025-09-22
1026Russia2025-10-01
1027Spain2025-10-03
1028United Kingdom2025-10-06
1029Spain2025-10-02
1030Spain2025-10-09
1031India2025-10-06
1032Australia2025-09-22
1033Brazil2025-10-04
1034Japan2025-09-19
1035Russia2025-09-23
1036Australia2025-10-04
1037Canada2025-10-12
1038Russia2025-10-09
1039Spain2025-09-24
1040Canada2025-09-21
1041Argentina2025-10-08
1042United Kingdom2025-10-04
1043India2025-09-20
1044Germany2025-09-18
1045United Kingdom2025-09-23
1046Germany2025-09-19
1047Germany2025-09-16
1048France2025-10-02
1049France2025-09-14

On-Demand Data

NameIdCountryDate
Morrow V Bolognia1000United Kingdom2025-10-05
Maisha J Slusarski1001Spain2025-09-30
Costa I Glick1002Australia2025-10-09
Izzy P Campain1003Japan2025-10-01
Julie J Iturbide1004India2025-10-12
Kaitlin J Schemmer1005France2025-10-02
Aditya Y Chui1006Argentina2025-09-22
Leon X Rim1007Brazil2025-09-27
Stacey C Waycott1008Canada2025-09-21
Juan M Darakjy1009France2025-10-04
Juan B Caldarera1010United Kingdom2025-09-25
Kadeem E Morasca1011United Kingdom2025-09-22
Mayumi B Kolmetz1012Germany2025-10-10
Deepesh D Saylors1013Italy2025-09-14
Aruna G Butt1014Russia2025-09-27
Morrow P Slusarski1015Italy2025-10-10
Emily N Kusko1016Australia2025-09-20
Cody C Inouye1017France2025-09-21
Aika F Campain1018Italy2025-10-03
Costa T Caudy1019Spain2025-09-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore G FollerGermanyIoni Bowcher UNQUALIFIED
Ashley Y MorascaBrazilBernardo Dominic UNQUALIFIED
Aditya I NestleBrazilAnna Fali UNQUALIFIED
Ivar C IturbideGermanyXuxue Feng NEW
Mayumi X MaletCanadaOnyama Limba PROPOSAL
Izzy B FerenczGermanyAnna Fali UNQUALIFIED
Wickens E GillianGermanyAnna Fali NEW
Julie L CaldareraCanadaIvan Magalhaes QUALIFIED
Octavia L GarufiArgentinaAnna Fali NEGOTIATION
Silvio E PaprockiSpainBernardo Dominic UNQUALIFIED
Octavia L ChuiCanadaAmy Elsner QUALIFIED
Aika P CampainFranceXuxue Feng RENEWAL
Sinclair A DoeItalyBernardo Dominic NEGOTIATION
Deepesh Q GillianCanadaBernardo Dominic NEGOTIATION
Aika A PerinGermanyElwin Sharvill UNQUALIFIED
Deepesh Z SlusarskiGermanyAnna Fali NEGOTIATION
Stacey Y PerinArgentinaStephen Shaw RENEWAL
Munro W StensethSpainXuxue Feng QUALIFIED
Clifford A CampainJapanBernardo Dominic NEW
Tony E GauchoAustraliaXuxue Feng QUALIFIED
Aika K CaudyArgentinaOnyama Limba PROPOSAL
Tony W TollnerBrazilAsiya Javayant QUALIFIED
David Q BologniaCanadaAsiya Javayant NEW
Kadeem V StensethBrazilOnyama Limba NEGOTIATION
Sinclair T GlickJapanIvan Magalhaes QUALIFIED
Jeanfrancois D MaletSpainAsiya Javayant RENEWAL
Antonio H AlbaresIndiaXuxue Feng PROPOSAL
Aika L WhobreyJapanIoni Bowcher QUALIFIED
Jennifer I RimItalyAmy Elsner NEGOTIATION
Munro E CampainJapanIvan Magalhaes PROPOSAL
Ivar R DoeJapanIoni Bowcher PROPOSAL
Darci X StockhamFranceOnyama Limba QUALIFIED
Stacey A WaycottFranceIoni Bowcher UNQUALIFIED
Nicolas K MarrierItalyElwin Sharvill NEGOTIATION
Ashley U VocelkaItalyStephen Shaw PROPOSAL
Munro F MarrierSpainAsiya Javayant NEW
Kadeem Q AlbaresSpainXuxue Feng UNQUALIFIED
Jeanfrancois B PerinSpainXuxue Feng QUALIFIED
Silvio S PerinGermanyAsiya Javayant RENEWAL
Ashley S RulapaughCanadaElwin Sharvill 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>