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 X CaudyArgentinaElwin Sharvill NEW
Kadeem X RimJapanElwin Sharvill PROPOSAL
Julie O MaletCanadaIoni Bowcher PROPOSAL
Kadeem S RoysterRussiaStephen Shaw NEGOTIATION
Jeanfrancois Y PaprockiRussiaAnna Fali NEGOTIATION
Maisha Q WieserCanadaAsiya Javayant UNQUALIFIED
Deepesh R MacleadArgentinaOnyama Limba NEW
Smith C PoquetteRussiaAsiya Javayant RENEWAL
Francesco A OstroskySpainXuxue Feng NEGOTIATION
Jeanfrancois B FerenczJapanIvan Magalhaes QUALIFIED
Greenwood Z FerenczSpainOnyama Limba NEW
Sinclair Z RimRussiaOnyama Limba NEGOTIATION
Smith L ChuiIndiaIoni Bowcher QUALIFIED
Emily C ButtRussiaOnyama Limba NEGOTIATION
Claire H WieserFranceAmy Elsner PROPOSAL
Kadeem N RoysterArgentinaElwin Sharvill NEGOTIATION
Leon X StensethGermanyAnna Fali QUALIFIED
Leja M SergiItalyAsiya Javayant UNQUALIFIED
Cody X SchemmerUnited KingdomBernardo Dominic NEW
Juan B PerinUnited KingdomAmy Elsner QUALIFIED
Alejandro G GarufiFranceIvan Magalhaes PROPOSAL
Murillo L OldroydArgentinaIvan Magalhaes UNQUALIFIED
Mujtaba O FlosiFranceAnna Fali QUALIFIED
Silvio O SchemmerRussiaAmy Elsner RENEWAL
Johnson B BowleyUnited KingdomElwin Sharvill RENEWAL
Claire R FlosiAustraliaElwin Sharvill NEGOTIATION
Ashley V FlosiBrazilAnna Fali PROPOSAL
Jefferson Q InouyeBrazilXuxue Feng PROPOSAL
Leja P CaldareraFranceBernardo Dominic NEGOTIATION
Octavia H PaprockiGermanyElwin Sharvill QUALIFIED
Sinclair L FlosiRussiaIoni Bowcher NEW
Darci V CaldareraBrazilXuxue Feng NEW
Wickens O FlosiArgentinaElwin Sharvill NEW
Tony R OldroydRussiaBernardo Dominic NEW
Jeanfrancois F RutaFranceAnna Fali UNQUALIFIED
Wickens Y ChuiGermanyIoni Bowcher QUALIFIED
David B KolmetzCanadaAnna Fali NEGOTIATION
Morrow F FollerAustraliaAsiya Javayant RENEWAL
Nicolas M NestleJapanAmy Elsner QUALIFIED
Mayumi V PaprockiGermanyIvan Magalhaes NEW
Munro T CampainIndiaElwin Sharvill NEW
Alejandro L VenereBrazilIvan Magalhaes NEW
Silvio A FlosiAustraliaAsiya Javayant UNQUALIFIED
Ivar S TollnerGermanyStephen Shaw UNQUALIFIED
Murillo I ChuiGermanyAsiya Javayant QUALIFIED
Salvatore C DoeJapanOnyama Limba PROPOSAL
Murillo G SaylorsUnited KingdomOnyama Limba RENEWAL
Alejandro L AmigonRussiaAmy Elsner RENEWAL
Nicolas J OldroydBrazilElwin Sharvill PROPOSAL
Deepesh E RulapaughRussiaAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Aruna O DoeSpainAnna Fali NEGOTIATION
Jefferson D VocelkaBrazilAnna Fali NEGOTIATION
Isabel H BriddickBrazilIvan Magalhaes UNQUALIFIED
Julie M WieserGermanyAnna Fali RENEWAL
Arvin E WaycottAustraliaAmy Elsner QUALIFIED
Ashley R GarufiBrazilAmy Elsner NEW
Morrow U RulapaughJapanElwin Sharvill PROPOSAL
Arvin E SchemmerCanadaAnna Fali UNQUALIFIED
Murillo P TollnerGermanyOnyama Limba PROPOSAL
Isabel Z RoysterIndiaBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro D FerenczAustralia2025-09-25Truhlar And Truhlar Attys QUALIFIED98Ivan Magalhaes
1001Juan H SergiSpain2025-09-28Truhlar And Truhlar Attys NEGOTIATION66Xuxue Feng
1002Mayumi U MaletIndia2025-10-12King, Christopher A Esq QUALIFIED90Stephen Shaw
1003Alejandro N PaprockiFrance2025-10-17Rangoni Of Florence PROPOSAL86Xuxue Feng
1004Mujtaba B RutaIndia2025-10-04Rousseaux, Michael Esq QUALIFIED65Bernardo Dominic
1005Mayumi C CampainItaly2025-10-21King, Christopher A Esq NEW56Stephen Shaw
1006Aditya K CampainFrance2025-10-11Feiner Bros RENEWAL35Xuxue Feng
1007Adams O MarrierGermany2025-10-13Morlong Associates NEW92Ivan Magalhaes
1008Munro A IturbideRussia2025-10-08Feltz Printing Service QUALIFIED13Elwin Sharvill
1009Clifford M OstroskyRussia2025-09-25Chapman, Ross E Esq UNQUALIFIED14Onyama Limba
1010Aika H TollnerAustralia2025-10-03Dorl, James J Esq NEW75Stephen Shaw
1011Clifford O IturbideItaly2025-09-30Commercial Press NEW62Onyama Limba
1012Silvio Q StensethJapan2025-10-16Commercial Press NEGOTIATION0Elwin Sharvill
1013Francesco W AlbaresBrazil2025-10-01Truhlar And Truhlar Attys NEGOTIATION45Ivan Magalhaes
1014Francesco F MacleadFrance2025-10-10Commercial Press PROPOSAL55Ivan Magalhaes
1015Juan Y GauchoUnited Kingdom2025-10-05Dorl, James J Esq QUALIFIED6Onyama Limba
1016Aditya G MarrierAustralia2025-09-28Morlong Associates NEGOTIATION95Ioni Bowcher
1017Faith Z FigeroaBrazil2025-09-22Chanay, Jeffrey A Esq PROPOSAL68Bernardo Dominic
1018Silvio W KolmetzRussia2025-10-21Chemel, James L Cpa QUALIFIED21Elwin Sharvill
1019Ricardo Z RoysterItaly2025-10-11Buckley Miller Wright PROPOSAL51Ioni Bowcher
1020Johnson H CaldareraItaly2025-09-25Rangoni Of Florence NEW51Asiya Javayant
1021Jennifer G MorascaGermany2025-09-26Morlong Associates RENEWAL19Elwin Sharvill
1022Ivar J ChuiCanada2025-10-06Chapman, Ross E Esq NEW64Bernardo Dominic
1023Antonio W BologniaArgentina2025-09-29Morlong Associates UNQUALIFIED7Onyama Limba
1024Kadeem C VocelkaCanada2025-10-17Truhlar And Truhlar Attys QUALIFIED35Asiya Javayant
1025Deepesh V SlusarskiSpain2025-09-29Truhlar And Truhlar Attys RENEWAL43Ioni Bowcher
1026Deepesh A RulapaughSpain2025-10-18Rousseaux, Michael Esq NEW26Bernardo Dominic
1027Emily Z PaprockiUnited Kingdom2025-09-24Chapman, Ross E Esq PROPOSAL28Ivan Magalhaes
1028Isabel C RutaCanada2025-09-25Feltz Printing Service PROPOSAL8Xuxue Feng
1029Arvin N OldroydRussia2025-09-25Printing Dimensions NEW47Anna Fali
1030Juan E MarrierFrance2025-10-20Benton, John B Jr NEW10Elwin Sharvill
1031Chavez U RoysterFrance2025-10-05Truhlar And Truhlar Attys NEGOTIATION41Bernardo Dominic
1032Costa P RoysterCanada2025-10-13King, Christopher A Esq RENEWAL97Elwin Sharvill
1033Aruna E CaldareraGermany2025-10-19Chemel, James L Cpa NEGOTIATION46Bernardo Dominic
1034Isabel K InouyeArgentina2025-10-19Benton, John B Jr RENEWAL94Anna Fali
1035Cody K DoeUnited Kingdom2025-10-09Morlong Associates RENEWAL82Xuxue Feng
1036Kaitlin O OstroskyRussia2025-10-21Chapman, Ross E Esq UNQUALIFIED75Ivan Magalhaes
1037Misaki H BologniaBrazil2025-10-15Feiner Bros NEGOTIATION70Amy Elsner
1038Chavez W MaletRussia2025-10-20Chanay, Jeffrey A Esq NEW68Elwin Sharvill
1039James N OstroskyCanada2025-09-29Rousseaux, Michael Esq QUALIFIED17Anna Fali
1040Francesco C GillianArgentina2025-09-23Chemel, James L Cpa NEGOTIATION44Elwin Sharvill
1041Claire O KuskoIndia2025-10-14Feiner Bros UNQUALIFIED73Stephen Shaw
1042James P CaldareraArgentina2025-10-01Rousseaux, Michael Esq RENEWAL64Bernardo Dominic
1043Faith R RimRussia2025-10-10Buckley Miller Wright PROPOSAL54Ivan Magalhaes
1044Mayumi B VenereCanada2025-10-10Chapman, Ross E Esq PROPOSAL83Asiya Javayant
1045Izzy Q RoysterItaly2025-10-06Printing Dimensions RENEWAL45Ivan Magalhaes
1046Morrow B BologniaCanada2025-10-07Feltz Printing Service NEGOTIATION61Stephen Shaw
1047Mujtaba I NickaRussia2025-10-11Printing Dimensions QUALIFIED28Bernardo Dominic
1048Sinclair V ButtRussia2025-09-22Printing Dimensions RENEWAL30Onyama Limba
1049Deepesh H FigeroaFrance2025-10-04Feltz Printing Service UNQUALIFIED63Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Deepesh H KolmetzJapanIoni Bowcher RENEWAL
Costa V GlickGermanyIoni Bowcher NEGOTIATION
Juan J OldroydSpainAsiya Javayant NEW
Leja L MacleadGermanyElwin Sharvill QUALIFIED
Ashley X AlbaresAustraliaAmy Elsner UNQUALIFIED
Ricardo S OldroydFranceXuxue Feng NEW
Mayumi B CaudySpainAmy Elsner NEGOTIATION
Mujtaba B PoquetteUnited KingdomStephen Shaw NEGOTIATION
Mayumi S MaletArgentinaBernardo Dominic UNQUALIFIED
Isabel K VenereJapanAsiya Javayant NEW
Mayumi V RulapaughGermanyIoni Bowcher NEGOTIATION
James B WhobreyFranceIoni Bowcher RENEWAL
Costa K GauchoGermanyElwin Sharvill NEGOTIATION
David C CampainBrazilIvan Magalhaes QUALIFIED
Sinclair K RimItalyXuxue Feng PROPOSAL
Maisha Z DarakjySpainBernardo Dominic QUALIFIED
Aditya W RutaGermanyElwin Sharvill UNQUALIFIED
Mayumi J NickaIndiaBernardo Dominic RENEWAL
Tony W BriddickBrazilOnyama Limba QUALIFIED
Leon I SaylorsJapanAmy Elsner UNQUALIFIED
Alejandro U GlickUnited KingdomAnna Fali PROPOSAL
Ashley F WieserJapanIoni Bowcher RENEWAL
Ricardo K MorascaFranceIvan Magalhaes NEW
Munro F CaldareraJapanIoni Bowcher QUALIFIED
Clifford Q FlosiBrazilIvan Magalhaes QUALIFIED
Ivar J RoysterIndiaAsiya Javayant PROPOSAL
Jennifer A SergiAustraliaAsiya Javayant NEW
Salvatore X VocelkaBrazilBernardo Dominic NEGOTIATION
Aruna S OstroskyJapanIoni Bowcher UNQUALIFIED
Emily Z WaycottGermanyAnna Fali NEGOTIATION
Greenwood D InouyeRussiaElwin Sharvill QUALIFIED
Aika I SlusarskiCanadaOnyama Limba UNQUALIFIED
Kadeem R IturbideIndiaAnna Fali NEGOTIATION
Faith X FollerJapanXuxue Feng QUALIFIED
Ivar I AlbaresGermanyElwin Sharvill QUALIFIED
Darci H CaldareraBrazilElwin Sharvill RENEWAL
Aruna M MacleadRussiaAmy Elsner PROPOSAL
Cody F DoeJapanAnna Fali RENEWAL
Claire Z ShinkoFranceAnna Fali PROPOSAL
Leja J GauchoRussiaXuxue Feng QUALIFIED
Mayumi P SlusarskiUnited KingdomStephen Shaw RENEWAL
Mayumi G DoeFranceStephen Shaw NEGOTIATION
Leon R WaycottBrazilXuxue Feng QUALIFIED
Ashley R ShinkoGermanyIvan Magalhaes NEW
Darci E RulapaughJapanAmy Elsner UNQUALIFIED
Jeanfrancois E StockhamGermanyXuxue Feng UNQUALIFIED
Ashley G AlbaresAustraliaAsiya Javayant PROPOSAL
Faith E WieserUnited KingdomBernardo Dominic QUALIFIED
Mayumi F CampainGermanyIoni Bowcher RENEWAL
Mujtaba Q TollnerGermanyIoni Bowcher QUALIFIED
Frozen Columns
Name
David T Perin
Arvin J Dilliard
Silvio U Kolmetz
Jones M Maclead
Faith T Vocelka
Smith R Caudy
Emily V Doe
Sinclair G Figeroa
Salvatore U Dilliard
Izzy Y Darakjy
Ivar P Ruta
Nicolas O Doe
Munro Y Darakjy
Cody N Amigon
Ashley X Tollner
Rodrigues F Caldarera
James W Poquette
Aika M Oldroyd
Izzy H Darakjy
Maisha S Gaucho
Maria H Figeroa
Stacey T Caldarera
Jennifer R Inouye
Izzy V Perin
Julie W Inouye
Stacey L Kolmetz
Claire V Wieser
Faith H Iturbide
Rodrigues U Bowley
Jefferson X Albares
Misaki H Nestle
Rodrigues Y Gaucho
David C Perin
Maria M Chui
Ashley D Inouye
Murillo E Wieser
Darci C Whobrey
Leja L Vocelka
Jefferson P Caudy
Morrow Q Figeroa
Claire U Vocelka
Stacey T Marrier
Darci T Malet
Aruna G Inouye
Wickens J Rulapaugh
James C Ferencz
Nicolas O Kolmetz
Deepesh Y Saylors
Arvin U Inouye
Ashley F Tollner
IdCountryDate
1000Spain2025-09-30
1001Germany2025-10-08
1002Australia2025-10-14
1003Russia2025-09-29
1004France2025-09-26
1005Spain2025-09-29
1006Germany2025-10-15
1007Argentina2025-09-22
1008Canada2025-09-28
1009Spain2025-10-03
1010Russia2025-10-03
1011Russia2025-10-05
1012Brazil2025-10-14
1013Canada2025-10-11
1014Spain2025-09-26
1015Spain2025-10-14
1016Canada2025-10-06
1017Japan2025-09-24
1018United Kingdom2025-10-07
1019United Kingdom2025-10-21
1020Japan2025-09-26
1021Japan2025-09-24
1022United Kingdom2025-10-07
1023Spain2025-10-19
1024Australia2025-10-04
1025Russia2025-10-17
1026Japan2025-10-07
1027Russia2025-10-06
1028Russia2025-10-15
1029Argentina2025-09-22
1030Germany2025-10-04
1031Japan2025-10-11
1032Brazil2025-10-10
1033Russia2025-10-16
1034Brazil2025-10-14
1035Canada2025-10-18
1036Russia2025-10-01
1037Italy2025-10-07
1038United Kingdom2025-10-09
1039Brazil2025-09-26
1040Russia2025-09-27
1041Germany2025-10-12
1042Spain2025-10-05
1043India2025-09-28
1044Italy2025-10-09
1045Canada2025-09-22
1046Brazil2025-10-16
1047Germany2025-09-28
1048Germany2025-10-03
1049France2025-10-18

On-Demand Data

NameIdCountryDate
Morrow K Paprocki1000Canada2025-10-10
Isabel E Amigon1001Japan2025-10-17
Maisha R Ferencz1002France2025-10-04
Izzy Y Dilliard1003France2025-10-02
Ricardo T Darakjy1004Japan2025-09-23
Octavia A Malet1005Italy2025-09-29
Johnson O Rim1006France2025-10-14
David W Nestle1007Brazil2025-10-17
Juan W Schemmer1008Japan2025-10-15
James T Rulapaugh1009United Kingdom2025-10-04
Maisha M Butt1010Japan2025-09-23
Julie K Foller1011Canada2025-10-09
Misaki F Waycott1012Russia2025-10-03
Mayumi U Stenseth1013India2025-09-23
Octavia D Caudy1014Spain2025-09-22
Stacey E Chui1015France2025-10-05
Kaitlin O Paprocki1016Argentina2025-10-08
Aditya G Rim1017Brazil2025-10-15
Cody P Saylors1018India2025-10-09
Arvin H Ruta1019Spain2025-10-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel B SergiItalyXuxue Feng QUALIFIED
Arvin A BowleyGermanyIoni Bowcher UNQUALIFIED
Isabel S SaylorsItalyIoni Bowcher QUALIFIED
Clifford Q RoysterGermanyAnna Fali NEGOTIATION
Aika K DilliardItalyBernardo Dominic UNQUALIFIED
Johnson C FlosiUnited KingdomAnna Fali UNQUALIFIED
Ivar J DoeAustraliaIvan Magalhaes NEW
Jones P WaycottAustraliaIoni Bowcher QUALIFIED
Leon F RoysterCanadaAsiya Javayant NEW
Maria P CampainItalyIoni Bowcher NEGOTIATION
Stacey L CaldareraRussiaAmy Elsner NEW
Murillo Q GlickSpainIvan Magalhaes RENEWAL
Leja K StockhamJapanAsiya Javayant NEGOTIATION
Jeanfrancois Y OstroskyUnited KingdomStephen Shaw RENEWAL
Juan B CaldareraSpainAsiya Javayant NEGOTIATION
Jones I RutaIndiaOnyama Limba UNQUALIFIED
Costa U RutaIndiaAsiya Javayant NEGOTIATION
Costa U FollerUnited KingdomElwin Sharvill UNQUALIFIED
Ashley Y GauchoJapanAnna Fali NEGOTIATION
Izzy Q StensethBrazilAnna Fali NEGOTIATION
Kadeem E CaudyFranceXuxue Feng RENEWAL
Isabel K NestleRussiaIvan Magalhaes NEW
Salvatore F MorascaArgentinaBernardo Dominic NEGOTIATION
Misaki C NickaRussiaIvan Magalhaes NEGOTIATION
Mujtaba S CaudyJapanIvan Magalhaes UNQUALIFIED
Juan T MacleadArgentinaIoni Bowcher NEW
Rodrigues U CaudySpainAmy Elsner NEGOTIATION
Silvio H BologniaUnited KingdomAsiya Javayant PROPOSAL
Maria Y CaudyIndiaElwin Sharvill UNQUALIFIED
Munro A IturbideIndiaXuxue Feng PROPOSAL
Jennifer C MacleadFranceBernardo Dominic PROPOSAL
Ashley I InouyeIndiaAmy Elsner PROPOSAL
Salvatore G SaylorsArgentinaElwin Sharvill PROPOSAL
Chavez T SlusarskiArgentinaAnna Fali NEGOTIATION
Misaki U StockhamJapanAmy Elsner RENEWAL
Deepesh W RoysterRussiaAmy Elsner PROPOSAL
Jones Q AmigonJapanXuxue Feng RENEWAL
Munro K BriddickItalyBernardo Dominic UNQUALIFIED
Johnson X RimItalyAmy Elsner RENEWAL
Ashley G GlickAustraliaIvan Magalhaes QUALIFIED

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