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 A ChuiIndiaBernardo Dominic QUALIFIED
Morrow E VocelkaSpainBernardo Dominic RENEWAL
Jefferson P RutaSpainOnyama Limba QUALIFIED
Smith K RoysterAustraliaXuxue Feng PROPOSAL
Murillo T NestleArgentinaAsiya Javayant PROPOSAL
Faith M GarufiJapanXuxue Feng PROPOSAL
Jennifer J WhobreyFranceAmy Elsner QUALIFIED
Darci E WhobreyIndiaElwin Sharvill NEGOTIATION
Julie B VocelkaUnited KingdomAnna Fali QUALIFIED
Nicolas K CaldareraAustraliaStephen Shaw UNQUALIFIED
Kaitlin H StockhamSpainIoni Bowcher PROPOSAL
Nicolas E MacleadJapanBernardo Dominic RENEWAL
Mujtaba C ChuiBrazilIoni Bowcher NEW
Misaki I MacleadSpainAsiya Javayant RENEWAL
Jeanfrancois Y CaudyGermanyBernardo Dominic PROPOSAL
Jones V PaprockiItalyStephen Shaw QUALIFIED
Leon I GauchoGermanyOnyama Limba NEGOTIATION
Munro P StensethSpainElwin Sharvill NEGOTIATION
Misaki I DarakjyCanadaXuxue Feng NEW
Kadeem P SchemmerItalyAnna Fali UNQUALIFIED
Mayumi L ShinkoIndiaElwin Sharvill NEW
Leja Q ShinkoArgentinaXuxue Feng QUALIFIED
Jefferson B CaldareraIndiaIvan Magalhaes NEW
Aruna V StensethGermanyIvan Magalhaes NEW
Jones J GarufiGermanyIvan Magalhaes UNQUALIFIED
Salvatore G OstroskyCanadaAmy Elsner NEW
Aika L InouyeJapanStephen Shaw NEGOTIATION
Misaki O MarrierUnited KingdomXuxue Feng RENEWAL
Aditya V RimCanadaAsiya Javayant NEGOTIATION
Claire K RutaBrazilOnyama Limba UNQUALIFIED
Deepesh O CaldareraAustraliaAmy Elsner UNQUALIFIED
Sinclair J BriddickBrazilIvan Magalhaes NEW
Clifford F AlbaresUnited KingdomElwin Sharvill NEW
Rodrigues A FerenczRussiaXuxue Feng PROPOSAL
Maisha X StockhamAustraliaElwin Sharvill QUALIFIED
Stacey L SergiJapanAmy Elsner QUALIFIED
Emily B BriddickGermanyAsiya Javayant NEW
Darci Z RulapaughIndiaElwin Sharvill NEGOTIATION
Antonio U DilliardIndiaXuxue Feng NEW
Wickens F NickaArgentinaIvan Magalhaes PROPOSAL
Jones R VenereJapanAnna Fali NEW
Ashley D OstroskyArgentinaAsiya Javayant PROPOSAL
Salvatore A PerinIndiaBernardo Dominic NEW
Emily R ButtUnited KingdomIoni Bowcher QUALIFIED
Aika P InouyeArgentinaAnna Fali PROPOSAL
Smith I ChuiGermanyAmy Elsner RENEWAL
Jennifer W StockhamCanadaAmy Elsner RENEWAL
Salvatore N VocelkaBrazilAmy Elsner RENEWAL
Jennifer S GillianRussiaXuxue Feng PROPOSAL
Claire Q WaycottBrazilAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Clifford I GillianSpainStephen Shaw NEW
Izzy J DoeRussiaStephen Shaw PROPOSAL
Isabel Y KolmetzSpainBernardo Dominic UNQUALIFIED
Jones S FlosiJapanIoni Bowcher NEW
Aika N RutaCanadaIvan Magalhaes NEGOTIATION
Antonio T FerenczItalyIoni Bowcher UNQUALIFIED
Jefferson F DilliardRussiaAnna Fali NEGOTIATION
Emily H IturbideBrazilIvan Magalhaes UNQUALIFIED
Francesco W MarrierGermanyIoni Bowcher NEW
Chavez J SaylorsSpainAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria I GarufiIndia2025-08-31Chanay, Jeffrey A Esq RENEWAL79Asiya Javayant
1001David P KuskoArgentina2025-09-01Truhlar And Truhlar Attys QUALIFIED17Ioni Bowcher
1002Mayumi Q ChuiBrazil2025-09-07Printing Dimensions UNQUALIFIED4Stephen Shaw
1003Tony B RutaGermany2025-08-20Morlong Associates RENEWAL75Stephen Shaw
1004Clifford T NickaSpain2025-08-26Commercial Press QUALIFIED85Amy Elsner
1005Arvin U RulapaughIndia2025-09-07Chapman, Ross E Esq RENEWAL28Ioni Bowcher
1006Ricardo Q WieserSpain2025-09-03Truhlar And Truhlar Attys RENEWAL98Ioni Bowcher
1007Ashley Z CaldareraArgentina2025-09-17Chemel, James L Cpa QUALIFIED48Anna Fali
1008Cody D RimFrance2025-08-21Commercial Press PROPOSAL23Anna Fali
1009Arvin L KuskoItaly2025-08-26Buckley Miller Wright QUALIFIED98Asiya Javayant
1010Juan E FlosiUnited Kingdom2025-08-20Benton, John B Jr PROPOSAL6Onyama Limba
1011Clifford P StensethFrance2025-08-28Morlong Associates QUALIFIED80Asiya Javayant
1012Claire W PoquetteArgentina2025-09-17Chanay, Jeffrey A Esq UNQUALIFIED79Xuxue Feng
1013Mujtaba V BowleyArgentina2025-09-05Dorl, James J Esq UNQUALIFIED61Ioni Bowcher
1014Claire N WieserFrance2025-08-21Chemel, James L Cpa NEGOTIATION84Bernardo Dominic
1015Izzy W GlickCanada2025-08-27Chapman, Ross E Esq UNQUALIFIED27Anna Fali
1016Nicolas U FerenczIndia2025-08-29Printing Dimensions UNQUALIFIED30Bernardo Dominic
1017Nicolas X MorascaCanada2025-08-23Chemel, James L Cpa NEW22Ivan Magalhaes
1018Jennifer J SchemmerUnited Kingdom2025-09-17Feltz Printing Service NEGOTIATION2Ivan Magalhaes
1019Mayumi K KuskoIndia2025-09-14Chanay, Jeffrey A Esq PROPOSAL37Anna Fali
1020Darci M MarrierRussia2025-08-25Morlong Associates QUALIFIED65Bernardo Dominic
1021Wickens Q WieserGermany2025-08-30Rousseaux, Michael Esq RENEWAL30Onyama Limba
1022Izzy M BologniaJapan2025-09-01Chapman, Ross E Esq RENEWAL93Asiya Javayant
1023Silvio T ChuiUnited Kingdom2025-08-26Feiner Bros NEW24Xuxue Feng
1024Juan N NestleJapan2025-08-26Feiner Bros UNQUALIFIED53Elwin Sharvill
1025Claire X CampainFrance2025-09-14Morlong Associates RENEWAL49Elwin Sharvill
1026Salvatore L BologniaGermany2025-08-26Rousseaux, Michael Esq PROPOSAL55Onyama Limba
1027Izzy Q BriddickGermany2025-09-08Dorl, James J Esq RENEWAL54Asiya Javayant
1028Greenwood G RimFrance2025-09-05Feltz Printing Service NEGOTIATION74Bernardo Dominic
1029Munro Z GarufiBrazil2025-09-14Buckley Miller Wright PROPOSAL7Amy Elsner
1030Ricardo Y WhobreyJapan2025-08-30Printing Dimensions RENEWAL29Stephen Shaw
1031Sinclair O WieserIndia2025-08-23Benton, John B Jr NEGOTIATION80Stephen Shaw
1032Maria S ShinkoCanada2025-08-19Rangoni Of Florence NEGOTIATION83Bernardo Dominic
1033Morrow X KolmetzGermany2025-08-26Commercial Press RENEWAL71Stephen Shaw
1034James I AlbaresAustralia2025-08-23Feiner Bros NEW15Ioni Bowcher
1035Ricardo A ButtJapan2025-09-14Chemel, James L Cpa PROPOSAL61Elwin Sharvill
1036Adams Z WieserIndia2025-09-07Morlong Associates QUALIFIED40Bernardo Dominic
1037Salvatore E RoysterCanada2025-09-02Rangoni Of Florence NEW56Bernardo Dominic
1038Aika N CaldareraBrazil2025-08-25Morlong Associates RENEWAL84Xuxue Feng
1039Stacey Z StockhamCanada2025-09-02Printing Dimensions NEW49Stephen Shaw
1040Sinclair H GlickArgentina2025-08-25King, Christopher A Esq QUALIFIED49Bernardo Dominic
1041James Q SaylorsFrance2025-09-07Benton, John B Jr PROPOSAL59Elwin Sharvill
1042David D DoeArgentina2025-08-28Dorl, James J Esq PROPOSAL31Stephen Shaw
1043Aika K DoeFrance2025-09-07Benton, John B Jr NEGOTIATION0Elwin Sharvill
1044Costa C AmigonBrazil2025-08-19Rousseaux, Michael Esq PROPOSAL79Xuxue Feng
1045Deepesh U AlbaresUnited Kingdom2025-08-24Feiner Bros NEGOTIATION14Ivan Magalhaes
1046Leon D InouyeFrance2025-09-02Dorl, James J Esq NEGOTIATION40Asiya Javayant
1047Salvatore K InouyeRussia2025-09-14Chemel, James L Cpa PROPOSAL39Xuxue Feng
1048Aditya F MaletBrazil2025-09-01Chapman, Ross E Esq RENEWAL63Bernardo Dominic
1049Cody J RutaItaly2025-08-29Rousseaux, Michael Esq RENEWAL12Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Francesco S FlosiGermanyIvan Magalhaes NEW
Aika W GlickCanadaIvan Magalhaes NEGOTIATION
Stacey F StensethGermanyIvan Magalhaes NEW
Smith V AlbaresCanadaOnyama Limba NEGOTIATION
Murillo C VenereCanadaAnna Fali UNQUALIFIED
Adams O NickaCanadaAnna Fali PROPOSAL
Maria E OldroydSpainOnyama Limba PROPOSAL
Claire A IturbideArgentinaIoni Bowcher QUALIFIED
Sinclair C BriddickRussiaIoni Bowcher PROPOSAL
Faith T OldroydIndiaOnyama Limba NEGOTIATION
Cody K NestleCanadaIvan Magalhaes RENEWAL
Nicolas H MaletIndiaXuxue Feng QUALIFIED
Octavia Z WaycottAustraliaAnna Fali NEW
Mujtaba B GlickAustraliaAnna Fali QUALIFIED
Wickens E AmigonAustraliaAnna Fali QUALIFIED
Aika X StensethCanadaBernardo Dominic UNQUALIFIED
Octavia X NestleArgentinaAmy Elsner NEGOTIATION
Claire M BriddickAustraliaAsiya Javayant QUALIFIED
Maria I GauchoGermanyAmy Elsner UNQUALIFIED
Munro R AmigonJapanAmy Elsner PROPOSAL
Morrow R OldroydAustraliaIvan Magalhaes RENEWAL
Aruna I RulapaughJapanBernardo Dominic NEW
Clifford J ChuiArgentinaIvan Magalhaes NEGOTIATION
Ashley P FigeroaCanadaBernardo Dominic NEW
Ricardo Y NickaRussiaIvan Magalhaes UNQUALIFIED
Maisha I PaprockiCanadaStephen Shaw NEGOTIATION
Wickens U ShinkoArgentinaElwin Sharvill NEGOTIATION
James U CaudyJapanBernardo Dominic QUALIFIED
Ashley M GarufiSpainIvan Magalhaes NEGOTIATION
Cody L VenereJapanIoni Bowcher RENEWAL
Stacey T VocelkaItalyAmy Elsner QUALIFIED
Murillo S MacleadUnited KingdomXuxue Feng NEGOTIATION
Wickens Z SergiCanadaBernardo Dominic RENEWAL
Ashley B NestleAustraliaXuxue Feng UNQUALIFIED
Arvin Q BowleyFranceElwin Sharvill RENEWAL
Aditya D MacleadFranceIoni Bowcher RENEWAL
Johnson O DarakjyFranceAnna Fali PROPOSAL
Jennifer F FerenczFranceXuxue Feng PROPOSAL
Clifford F SchemmerFranceIvan Magalhaes QUALIFIED
Aika M GlickRussiaStephen Shaw QUALIFIED
Leja L VocelkaAustraliaIvan Magalhaes NEW
Antonio I SlusarskiSpainAmy Elsner RENEWAL
Kaitlin I OstroskyJapanStephen Shaw QUALIFIED
Tony G KuskoIndiaXuxue Feng RENEWAL
Claire M SergiRussiaAmy Elsner UNQUALIFIED
Clifford J SchemmerArgentinaOnyama Limba NEGOTIATION
Mujtaba A AlbaresRussiaIoni Bowcher PROPOSAL
Costa K FlosiItalyIoni Bowcher PROPOSAL
Jeanfrancois C DoeAustraliaOnyama Limba QUALIFIED
Greenwood C NestleArgentinaXuxue Feng PROPOSAL
Frozen Columns
Name
David X Stenseth
Murillo Z Darakjy
Izzy C Poquette
Aditya Q Iturbide
Wickens N Nestle
Smith A Wieser
Misaki N Gillian
Deepesh L Perin
Sinclair V Sergi
Octavia U Waycott
Maria S Flosi
Jeanfrancois H Rim
Deepesh C Bowley
Wickens F Ferencz
Octavia H Morasca
Emily E Bolognia
Jeanfrancois N Maclead
Maisha M Bolognia
Deepesh V Sergi
Maria Q Wieser
David M Stenseth
David R Garufi
Faith G Butt
James J Wieser
Aditya B Stockham
Smith D Waycott
Aika X Shinko
Munro W Sergi
Stacey Z Ostrosky
Munro P Iturbide
Aruna C Perin
Clifford P Butt
David R Kolmetz
Arvin G Schemmer
Nicolas G Schemmer
Jefferson C Waycott
Antonio Y Bolognia
Costa H Saylors
Kaitlin H Dilliard
Jennifer I Caudy
Chavez A Glick
James A Morasca
Morrow G Ferencz
Nicolas L Oldroyd
Ricardo G Iturbide
Izzy X Gaucho
Rodrigues P Schemmer
Morrow N Oldroyd
Julie X Maclead
Nicolas G Gaucho
IdCountryDate
1000Russia2025-09-16
1001Russia2025-09-02
1002Russia2025-08-21
1003Canada2025-08-23
1004Brazil2025-09-09
1005Japan2025-08-24
1006Japan2025-09-02
1007Argentina2025-08-25
1008Australia2025-09-17
1009Spain2025-08-28
1010Spain2025-09-15
1011Spain2025-09-06
1012Spain2025-09-05
1013Japan2025-08-19
1014Spain2025-08-20
1015Russia2025-09-07
1016Russia2025-08-21
1017Brazil2025-08-24
1018Italy2025-08-25
1019Germany2025-08-27
1020Australia2025-08-24
1021Argentina2025-09-04
1022Canada2025-08-24
1023Russia2025-08-20
1024Canada2025-09-06
1025Canada2025-09-11
1026India2025-09-10
1027Brazil2025-08-23
1028Brazil2025-08-24
1029United Kingdom2025-08-19
1030United Kingdom2025-09-17
1031Japan2025-09-01
1032Italy2025-08-24
1033Italy2025-08-29
1034United Kingdom2025-08-22
1035Spain2025-08-19
1036Argentina2025-08-28
1037Brazil2025-08-25
1038Russia2025-09-16
1039Argentina2025-09-11
1040Spain2025-08-31
1041Russia2025-09-04
1042Germany2025-09-06
1043India2025-09-11
1044Australia2025-09-13
1045Japan2025-09-16
1046Brazil2025-09-07
1047United Kingdom2025-08-21
1048Russia2025-08-24
1049Japan2025-09-16

On-Demand Data

NameIdCountryDate
Octavia K Waycott1000Canada2025-08-28
Aditya Z Amigon1001Brazil2025-08-27
Emily V Nicka1002Argentina2025-08-29
Faith C Glick1003Spain2025-09-06
Adams G Gillian1004Canada2025-09-07
Leja V Shinko1005Spain2025-08-31
Emily L Oldroyd1006Australia2025-09-04
Ricardo D Ostrosky1007Canada2025-08-20
Francesco L Whobrey1008Italy2025-09-04
Salvatore F Poquette1009Russia2025-09-09
Tony F Slusarski1010Italy2025-08-24
Smith O Malet1011Germany2025-08-24
Murillo M Kolmetz1012United Kingdom2025-08-26
Murillo M Doe1013Japan2025-09-11
Francesco K Sergi1014Russia2025-09-01
Clifford P Ostrosky1015Italy2025-09-07
Deepesh G Rim1016India2025-08-20
Ivar G Nestle1017Japan2025-08-23
Ashley T Saylors1018France2025-08-21
Johnson P Nicka1019Argentina2025-08-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez L ChuiAustraliaIvan Magalhaes PROPOSAL
Jones K DilliardUnited KingdomElwin Sharvill PROPOSAL
Julie U MaletSpainAsiya Javayant UNQUALIFIED
Sinclair A DoeJapanAnna Fali NEW
Greenwood B DilliardUnited KingdomElwin Sharvill UNQUALIFIED
Maria Z NickaGermanyAmy Elsner UNQUALIFIED
Jones J GauchoItalyXuxue Feng PROPOSAL
Aditya O RulapaughUnited KingdomStephen Shaw QUALIFIED
Ashley T DoeFranceXuxue Feng UNQUALIFIED
Greenwood D AlbaresRussiaAnna Fali RENEWAL
Maisha C RoysterBrazilAmy Elsner UNQUALIFIED
Mujtaba U WaycottJapanIoni Bowcher QUALIFIED
Rodrigues N FollerAustraliaAnna Fali UNQUALIFIED
Isabel C RimJapanIvan Magalhaes UNQUALIFIED
Claire Q FollerJapanAmy Elsner NEGOTIATION
Mujtaba V SchemmerCanadaBernardo Dominic QUALIFIED
Cody X FerenczSpainAnna Fali NEW
Silvio I DilliardJapanElwin Sharvill PROPOSAL
Cody A VenereGermanyXuxue Feng RENEWAL
Greenwood I OstroskyJapanAsiya Javayant RENEWAL
Johnson W SchemmerBrazilOnyama Limba NEW
Chavez V CaudyRussiaAmy Elsner PROPOSAL
Misaki Q DoeIndiaStephen Shaw NEW
Octavia N DarakjyRussiaAsiya Javayant UNQUALIFIED
Misaki H MacleadRussiaAnna Fali PROPOSAL
Johnson Z GarufiIndiaAsiya Javayant NEW
Greenwood F GauchoRussiaAnna Fali NEW
Aruna Q VocelkaCanadaIoni Bowcher PROPOSAL
Clifford W SaylorsCanadaOnyama Limba NEW
Octavia D TollnerIndiaBernardo Dominic NEW
Smith B VocelkaAustraliaIvan Magalhaes NEW
Adams V ShinkoArgentinaXuxue Feng RENEWAL
Murillo H DoeCanadaElwin Sharvill NEW
Juan U MacleadIndiaStephen Shaw NEW
Maria U KuskoGermanyStephen Shaw NEW
Kadeem F ButtSpainStephen Shaw PROPOSAL
Antonio P SlusarskiItalyOnyama Limba RENEWAL
Isabel L AmigonGermanyBernardo Dominic NEW
Darci C OldroydUnited KingdomAmy Elsner PROPOSAL
Octavia F BowleyFranceAnna Fali 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>