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
Mujtaba V NickaRussiaAsiya Javayant QUALIFIED
Maria U SlusarskiAustraliaOnyama Limba QUALIFIED
Julie H FigeroaFranceIvan Magalhaes PROPOSAL
Rodrigues K SlusarskiAustraliaAnna Fali PROPOSAL
Octavia T OstroskyAustraliaIvan Magalhaes NEGOTIATION
Francesco B AmigonIndiaIoni Bowcher NEGOTIATION
Julie V VocelkaAustraliaBernardo Dominic PROPOSAL
Wickens C RoysterCanadaOnyama Limba PROPOSAL
Silvio E InouyeIndiaAmy Elsner NEGOTIATION
Chavez M RulapaughItalyAsiya Javayant PROPOSAL
Munro M GarufiCanadaAsiya Javayant NEGOTIATION
Maria N VenereCanadaIvan Magalhaes NEW
Francesco G NickaAustraliaBernardo Dominic NEW
Juan Q NickaAustraliaBernardo Dominic UNQUALIFIED
Kadeem R GauchoFranceIoni Bowcher QUALIFIED
Chavez S WhobreyItalyIvan Magalhaes UNQUALIFIED
Isabel J GillianRussiaAmy Elsner PROPOSAL
Ivar D CaudyBrazilBernardo Dominic QUALIFIED
Mayumi A FollerRussiaElwin Sharvill NEGOTIATION
Munro H RoysterGermanyAsiya Javayant NEGOTIATION
Isabel L MaletCanadaBernardo Dominic NEW
Arvin R MaletFranceStephen Shaw NEW
Maria E RimRussiaIvan Magalhaes RENEWAL
Darci W SlusarskiAustraliaBernardo Dominic QUALIFIED
Julie N PerinCanadaStephen Shaw RENEWAL
Deepesh M FigeroaIndiaElwin Sharvill QUALIFIED
Antonio E PaprockiSpainAmy Elsner PROPOSAL
Aruna M PoquetteCanadaAnna Fali PROPOSAL
Misaki I StensethUnited KingdomElwin Sharvill UNQUALIFIED
Smith P FollerBrazilAmy Elsner PROPOSAL
Francesco S StensethAustraliaXuxue Feng RENEWAL
Silvio E AlbaresIndiaAmy Elsner PROPOSAL
Isabel Q MarrierGermanyOnyama Limba NEW
Greenwood S TollnerIndiaIoni Bowcher PROPOSAL
Deepesh Y FlosiUnited KingdomAnna Fali PROPOSAL
Leja N CampainItalyBernardo Dominic RENEWAL
Costa E KuskoJapanAsiya Javayant NEGOTIATION
Darci T ChuiAustraliaAmy Elsner RENEWAL
Smith C CaldareraBrazilIvan Magalhaes PROPOSAL
Jefferson P RoysterRussiaXuxue Feng NEGOTIATION
David L SergiRussiaBernardo Dominic QUALIFIED
Ashley A RoysterBrazilElwin Sharvill UNQUALIFIED
Maria O PerinSpainAmy Elsner PROPOSAL
Morrow L PaprockiFranceStephen Shaw NEGOTIATION
Smith A StensethJapanXuxue Feng QUALIFIED
Izzy D RulapaughAustraliaAsiya Javayant QUALIFIED
Francesco G PoquetteGermanyAnna Fali UNQUALIFIED
Deepesh G GauchoArgentinaAnna Fali NEGOTIATION
Alejandro I SchemmerItalyAmy Elsner RENEWAL
Sinclair B ChuiJapanOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Faith X GarufiItalyXuxue Feng UNQUALIFIED
Ivar H SlusarskiArgentinaIoni Bowcher UNQUALIFIED
Izzy G DoeRussiaAnna Fali RENEWAL
Alejandro Z BriddickSpainStephen Shaw PROPOSAL
Maria S IturbideJapanBernardo Dominic PROPOSAL
Sinclair S ChuiArgentinaElwin Sharvill PROPOSAL
Julie G DarakjyItalyIoni Bowcher UNQUALIFIED
Deepesh T CaldareraFranceIoni Bowcher RENEWAL
Mayumi L DarakjyAustraliaXuxue Feng UNQUALIFIED
Kaitlin J CampainRussiaAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan A GillianBrazil2025-07-30Buckley Miller Wright UNQUALIFIED41Xuxue Feng
1001Octavia W BowleyUnited Kingdom2025-08-03Chanay, Jeffrey A Esq PROPOSAL63Ivan Magalhaes
1002Silvio G StockhamUnited Kingdom2025-08-08Buckley Miller Wright RENEWAL18Ioni Bowcher
1003Alejandro W FollerSpain2025-08-08King, Christopher A Esq RENEWAL99Xuxue Feng
1004Wickens F RulapaughItaly2025-07-26Rousseaux, Michael Esq UNQUALIFIED69Elwin Sharvill
1005Misaki C DarakjyCanada2025-08-12Chemel, James L Cpa NEGOTIATION23Bernardo Dominic
1006Jefferson N FlosiIndia2025-08-17Printing Dimensions NEGOTIATION11Bernardo Dominic
1007Johnson J CaudyGermany2025-08-21Dorl, James J Esq NEGOTIATION8Ivan Magalhaes
1008Alejandro L MacleadBrazil2025-08-03Commercial Press UNQUALIFIED49Stephen Shaw
1009Aika L DarakjyFrance2025-08-16Buckley Miller Wright QUALIFIED57Asiya Javayant
1010Aika C SchemmerGermany2025-08-02Commercial Press RENEWAL61Onyama Limba
1011Misaki B VenereRussia2025-08-11Benton, John B Jr NEW81Amy Elsner
1012Alejandro R SergiUnited Kingdom2025-08-05Rangoni Of Florence NEGOTIATION31Anna Fali
1013Emily H PerinSpain2025-08-10Chapman, Ross E Esq NEW30Ioni Bowcher
1014Ivar D CaldareraRussia2025-08-16Morlong Associates PROPOSAL17Anna Fali
1015Mujtaba R FerenczArgentina2025-07-27Benton, John B Jr NEW93Bernardo Dominic
1016Adams H RoysterArgentina2025-08-22Morlong Associates NEW47Stephen Shaw
1017Leon M FerenczIndia2025-08-11Buckley Miller Wright NEGOTIATION86Ioni Bowcher
1018Juan C ButtUnited Kingdom2025-08-10Morlong Associates UNQUALIFIED67Amy Elsner
1019Ivar U WieserGermany2025-08-13Benton, John B Jr NEW72Amy Elsner
1020Alejandro H PerinBrazil2025-07-29Chemel, James L Cpa QUALIFIED31Elwin Sharvill
1021Antonio L KolmetzCanada2025-08-22Morlong Associates NEGOTIATION72Ivan Magalhaes
1022Chavez I AlbaresJapan2025-08-21Commercial Press UNQUALIFIED73Ivan Magalhaes
1023Leja I OstroskySpain2025-08-22Dorl, James J Esq NEGOTIATION91Anna Fali
1024Murillo P InouyeFrance2025-08-06Rangoni Of Florence PROPOSAL63Bernardo Dominic
1025Jefferson H GlickJapan2025-08-22Chemel, James L Cpa QUALIFIED65Xuxue Feng
1026Darci E NestleFrance2025-08-19Chapman, Ross E Esq QUALIFIED63Amy Elsner
1027Kadeem I FigeroaItaly2025-08-16Rangoni Of Florence RENEWAL72Anna Fali
1028Maria S OstroskySpain2025-08-18Morlong Associates RENEWAL84Asiya Javayant
1029Juan Y TollnerItaly2025-07-31Chemel, James L Cpa QUALIFIED30Anna Fali
1030Kadeem A DarakjySpain2025-08-11Morlong Associates UNQUALIFIED23Stephen Shaw
1031James C RoysterIndia2025-08-17Dorl, James J Esq PROPOSAL95Ivan Magalhaes
1032Adams Y SaylorsArgentina2025-08-02Rangoni Of Florence QUALIFIED72Onyama Limba
1033Kadeem M BriddickArgentina2025-08-12Morlong Associates NEW93Onyama Limba
1034Adams N ButtItaly2025-08-01Dorl, James J Esq PROPOSAL5Bernardo Dominic
1035Clifford X ChuiRussia2025-08-10Printing Dimensions PROPOSAL15Anna Fali
1036Ashley F ButtGermany2025-07-31Chemel, James L Cpa RENEWAL14Asiya Javayant
1037Clifford T AmigonCanada2025-07-27Chanay, Jeffrey A Esq QUALIFIED84Stephen Shaw
1038Deepesh O MarrierFrance2025-08-12Dorl, James J Esq RENEWAL1Elwin Sharvill
1039Kaitlin W TollnerGermany2025-08-22King, Christopher A Esq RENEWAL85Ivan Magalhaes
1040Maisha Q ShinkoCanada2025-08-08Chemel, James L Cpa QUALIFIED90Asiya Javayant
1041Alejandro X WhobreyFrance2025-08-12Chapman, Ross E Esq RENEWAL42Ivan Magalhaes
1042Francesco G SergiRussia2025-07-26Rangoni Of Florence UNQUALIFIED92Bernardo Dominic
1043Claire I SchemmerGermany2025-08-02Chanay, Jeffrey A Esq UNQUALIFIED64Elwin Sharvill
1044Ashley W OldroydItaly2025-08-10Chemel, James L Cpa QUALIFIED63Amy Elsner
1045Octavia N AmigonAustralia2025-08-07King, Christopher A Esq QUALIFIED97Elwin Sharvill
1046Jennifer O MarrierArgentina2025-08-19Feiner Bros NEGOTIATION61Onyama Limba
1047David K MaletArgentina2025-08-11King, Christopher A Esq UNQUALIFIED80Xuxue Feng
1048Mayumi G RutaGermany2025-08-04King, Christopher A Esq RENEWAL16Elwin Sharvill
1049Julie J WieserGermany2025-07-25Benton, John B Jr QUALIFIED15Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Mayumi I BriddickCanadaElwin Sharvill NEGOTIATION
Julie A MaletArgentinaBernardo Dominic UNQUALIFIED
Aruna F CampainAustraliaAnna Fali RENEWAL
Emily U RutaCanadaXuxue Feng PROPOSAL
Jones X InouyeFranceAsiya Javayant PROPOSAL
Murillo V TollnerRussiaOnyama Limba NEGOTIATION
Darci L GauchoIndiaAsiya Javayant RENEWAL
Kadeem I BowleyIndiaOnyama Limba QUALIFIED
Jennifer K KuskoIndiaXuxue Feng NEGOTIATION
Rodrigues U OldroydAustraliaIvan Magalhaes PROPOSAL
Jefferson G PerinBrazilOnyama Limba RENEWAL
Deepesh W SchemmerCanadaElwin Sharvill QUALIFIED
Jeanfrancois A BologniaJapanIoni Bowcher PROPOSAL
Cody N SlusarskiUnited KingdomAmy Elsner QUALIFIED
Jennifer A RoysterAustraliaIoni Bowcher UNQUALIFIED
Deepesh A MaletRussiaStephen Shaw QUALIFIED
Adams L BriddickArgentinaElwin Sharvill PROPOSAL
Juan O GarufiSpainAsiya Javayant PROPOSAL
Juan Z GillianBrazilAnna Fali QUALIFIED
Ricardo C TollnerIndiaIvan Magalhaes NEGOTIATION
Kadeem U RutaAustraliaAmy Elsner UNQUALIFIED
Ashley W FigeroaRussiaAnna Fali RENEWAL
Mujtaba K MacleadArgentinaAsiya Javayant RENEWAL
Emily W SlusarskiJapanOnyama Limba RENEWAL
Morrow C FigeroaArgentinaBernardo Dominic PROPOSAL
Ivar T FollerArgentinaXuxue Feng NEW
Stacey U RoysterCanadaAmy Elsner RENEWAL
Claire W PerinUnited KingdomIvan Magalhaes QUALIFIED
Julie X VenereJapanBernardo Dominic UNQUALIFIED
Aruna F GarufiFranceIoni Bowcher NEW
Salvatore S KolmetzArgentinaOnyama Limba UNQUALIFIED
Clifford I CampainGermanyElwin Sharvill PROPOSAL
Stacey L KolmetzGermanyElwin Sharvill PROPOSAL
Kaitlin W ChuiFranceXuxue Feng QUALIFIED
Leon V FerenczArgentinaXuxue Feng RENEWAL
Octavia A MacleadFranceIoni Bowcher UNQUALIFIED
Francesco W MaletRussiaAnna Fali UNQUALIFIED
Leon J AlbaresRussiaElwin Sharvill RENEWAL
Emily P OldroydAustraliaOnyama Limba NEW
Ashley Q BologniaCanadaAmy Elsner QUALIFIED
Isabel C RulapaughArgentinaIoni Bowcher NEGOTIATION
Deepesh L FollerItalyAmy Elsner QUALIFIED
Isabel U GauchoSpainStephen Shaw UNQUALIFIED
Nicolas S SergiItalyAnna Fali NEW
Smith D ButtFranceAsiya Javayant RENEWAL
Jones W RoysterArgentinaAsiya Javayant NEW
Aika O InouyeItalyElwin Sharvill QUALIFIED
Mayumi N AlbaresIndiaIvan Magalhaes NEW
Isabel M DoeAustraliaAsiya Javayant QUALIFIED
Emily G GauchoUnited KingdomAnna Fali PROPOSAL
Frozen Columns
Name
Julie U Chui
Nicolas V Marrier
Smith H Nestle
Jennifer K Whobrey
Deepesh F Foller
Misaki X Wieser
Chavez Z Paprocki
Cody U Nicka
Munro G Perin
Silvio N Waycott
Faith R Iturbide
Faith P Iturbide
Rodrigues R Figeroa
Darci M Ostrosky
Silvio D Butt
Darci K Venere
Munro J Stenseth
Leon D Whobrey
Clifford R Albares
Mujtaba T Morasca
Kadeem Y Royster
Izzy G Poquette
Julie W Ruta
Mayumi Q Stenseth
Chavez X Foller
Leja M Albares
Clifford P Foller
Mayumi A Bolognia
Francesco D Bowley
Wickens O Campain
Greenwood W Amigon
Mayumi P Kusko
Mujtaba E Vocelka
Johnson M Kusko
David O Schemmer
Mujtaba B Chui
Jones E Campain
Leja X Garufi
Kadeem S Marrier
Octavia E Rim
Darci I Figeroa
Smith L Venere
Leon U Briddick
Salvatore W Ferencz
Jennifer K Oldroyd
Smith G Dilliard
Sinclair D Ruta
Antonio S Wieser
Maria Q Stenseth
Nicolas W Dilliard
IdCountryDate
1000Russia2025-08-12
1001Italy2025-08-18
1002Russia2025-07-25
1003Spain2025-08-14
1004Argentina2025-08-20
1005United Kingdom2025-08-22
1006Japan2025-07-28
1007Australia2025-07-26
1008Spain2025-08-09
1009Spain2025-08-09
1010India2025-08-19
1011United Kingdom2025-08-16
1012Italy2025-08-02
1013Italy2025-07-31
1014Spain2025-08-02
1015Japan2025-08-23
1016Canada2025-07-26
1017Brazil2025-08-16
1018India2025-07-27
1019Spain2025-08-07
1020United Kingdom2025-08-01
1021Spain2025-08-22
1022India2025-08-07
1023Canada2025-08-20
1024Brazil2025-08-23
1025Spain2025-07-28
1026Argentina2025-08-21
1027Germany2025-08-05
1028Russia2025-07-27
1029Russia2025-07-28
1030Canada2025-08-21
1031Germany2025-07-29
1032Spain2025-08-15
1033Argentina2025-08-03
1034Italy2025-08-16
1035Brazil2025-08-03
1036Brazil2025-08-06
1037Russia2025-07-28
1038Australia2025-07-27
1039Russia2025-08-10
1040United Kingdom2025-08-12
1041Brazil2025-08-14
1042Argentina2025-08-12
1043Canada2025-08-22
1044Argentina2025-08-13
1045Australia2025-08-01
1046Russia2025-08-11
1047Australia2025-08-07
1048United Kingdom2025-07-31
1049Brazil2025-07-25

On-Demand Data

NameIdCountryDate
Costa R Glick1000Russia2025-08-20
Rodrigues H Kolmetz1001Canada2025-08-16
Kaitlin T Waycott1002Argentina2025-08-09
Arvin V Iturbide1003Brazil2025-07-31
Tony A Sergi1004Australia2025-08-13
Francesco N Poquette1005United Kingdom2025-08-20
Claire T Glick1006United Kingdom2025-08-22
Adams L Nicka1007Argentina2025-08-05
Ivar P Ostrosky1008United Kingdom2025-08-21
Octavia M Schemmer1009Japan2025-08-05
Maria Z Shinko1010India2025-07-29
Kaitlin D Maclead1011Russia2025-08-17
Ivar F Bowley1012Spain2025-08-11
Julie R Rulapaugh1013India2025-08-18
Ashley K Maclead1014Brazil2025-08-09
Salvatore L Inouye1015Japan2025-08-09
Faith G Schemmer1016Australia2025-08-04
Ivar A Nestle1017Canada2025-08-18
Kadeem I Bowley1018Canada2025-08-12
Leon Q Gillian1019Russia2025-08-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith C RoysterAustraliaAmy Elsner NEGOTIATION
Jeanfrancois K PaprockiArgentinaElwin Sharvill NEW
Ricardo V VenereArgentinaIvan Magalhaes UNQUALIFIED
Greenwood A WieserIndiaAmy Elsner PROPOSAL
Wickens A PerinSpainAnna Fali RENEWAL
Aika W BowleyGermanyBernardo Dominic NEGOTIATION
Isabel I MarrierBrazilStephen Shaw PROPOSAL
Johnson D FerenczIndiaIvan Magalhaes UNQUALIFIED
Ricardo C CampainJapanAnna Fali NEGOTIATION
Johnson X RulapaughSpainIoni Bowcher QUALIFIED
Nicolas Z WaycottAustraliaXuxue Feng PROPOSAL
Faith Q OstroskyGermanyAsiya Javayant UNQUALIFIED
Jennifer O BriddickArgentinaElwin Sharvill QUALIFIED
Leon F SaylorsArgentinaElwin Sharvill NEGOTIATION
Faith U NestleJapanStephen Shaw UNQUALIFIED
Jefferson G VocelkaJapanElwin Sharvill PROPOSAL
Johnson U GlickJapanIvan Magalhaes NEW
Tony Y KuskoUnited KingdomOnyama Limba RENEWAL
Greenwood G MarrierItalyAmy Elsner UNQUALIFIED
David G DoeJapanAmy Elsner NEGOTIATION
Sinclair H GillianAustraliaAsiya Javayant RENEWAL
Rodrigues T PerinItalyAsiya Javayant NEGOTIATION
Francesco Z RoysterRussiaStephen Shaw RENEWAL
Emily O MaletJapanAnna Fali NEW
Leon C VocelkaJapanXuxue Feng QUALIFIED
Kaitlin C VenereFranceIoni Bowcher RENEWAL
Aditya W RutaArgentinaAnna Fali UNQUALIFIED
Smith E ShinkoArgentinaAnna Fali NEW
Isabel O StockhamItalyStephen Shaw PROPOSAL
Darci H WieserArgentinaElwin Sharvill PROPOSAL
Costa M ButtCanadaBernardo Dominic RENEWAL
Sinclair X GlickCanadaOnyama Limba RENEWAL
Aditya V OstroskyBrazilXuxue Feng NEGOTIATION
Izzy D CampainItalyStephen Shaw NEW
Aditya S DarakjyUnited KingdomOnyama Limba RENEWAL
Johnson W MorascaArgentinaStephen Shaw NEGOTIATION
Izzy T WhobreyIndiaStephen Shaw UNQUALIFIED
Leja N DoeAustraliaElwin Sharvill NEW
David P OldroydBrazilAsiya Javayant NEW
Deepesh C FollerAustraliaIvan Magalhaes RENEWAL

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