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 H CampainCanadaElwin Sharvill PROPOSAL
Deepesh U WaycottFranceXuxue Feng UNQUALIFIED
Leon M SergiSpainAnna Fali PROPOSAL
Smith C WhobreyArgentinaStephen Shaw PROPOSAL
Salvatore O PerinUnited KingdomStephen Shaw NEW
Maria G FerenczItalyAmy Elsner NEGOTIATION
Nicolas J GlickAustraliaBernardo Dominic RENEWAL
Cody V WieserJapanIvan Magalhaes RENEWAL
David W VocelkaArgentinaAsiya Javayant PROPOSAL
Aika C AlbaresAustraliaAsiya Javayant PROPOSAL
Jones Y PaprockiJapanAsiya Javayant QUALIFIED
Aika E FerenczIndiaIoni Bowcher UNQUALIFIED
Arvin U DarakjyArgentinaStephen Shaw RENEWAL
James K BriddickGermanyAnna Fali RENEWAL
Salvatore L AlbaresIndiaIoni Bowcher UNQUALIFIED
Nicolas N FollerRussiaAmy Elsner PROPOSAL
Johnson B SlusarskiAustraliaIoni Bowcher NEGOTIATION
Izzy R TollnerBrazilAmy Elsner UNQUALIFIED
Jefferson S StensethRussiaElwin Sharvill UNQUALIFIED
Misaki N CaldareraUnited KingdomIoni Bowcher QUALIFIED
Tony E ChuiUnited KingdomStephen Shaw NEW
Sinclair U NickaUnited KingdomOnyama Limba PROPOSAL
Alejandro P GillianAustraliaStephen Shaw RENEWAL
Jefferson Y VenereIndiaStephen Shaw RENEWAL
Julie M IturbideItalyElwin Sharvill QUALIFIED
Salvatore T PaprockiArgentinaIvan Magalhaes QUALIFIED
James C StensethArgentinaAnna Fali UNQUALIFIED
Ricardo A StensethBrazilXuxue Feng QUALIFIED
Silvio T DoeAustraliaStephen Shaw QUALIFIED
Misaki D GillianGermanyOnyama Limba NEW
Claire O BologniaGermanyAmy Elsner UNQUALIFIED
Jeanfrancois K WieserJapanStephen Shaw NEW
Aruna Y RulapaughSpainIvan Magalhaes QUALIFIED
Jones I RoysterSpainAmy Elsner NEW
Misaki R OldroydAustraliaAmy Elsner PROPOSAL
Aruna O IturbideIndiaStephen Shaw NEGOTIATION
Ricardo E FollerFranceOnyama Limba QUALIFIED
Adams P SaylorsRussiaXuxue Feng PROPOSAL
Kadeem F RulapaughFranceAsiya Javayant RENEWAL
Arvin U PaprockiArgentinaXuxue Feng NEGOTIATION
Mayumi I MacleadGermanyBernardo Dominic RENEWAL
Jeanfrancois P GauchoGermanyAsiya Javayant NEGOTIATION
Clifford Z SlusarskiIndiaIvan Magalhaes PROPOSAL
Darci B FollerRussiaIoni Bowcher NEW
Francesco B GauchoSpainAmy Elsner RENEWAL
Smith N CaldareraIndiaElwin Sharvill QUALIFIED
Tony E CaldareraGermanyOnyama Limba PROPOSAL
Clifford E ButtGermanyAsiya Javayant UNQUALIFIED
Cody H MaletGermanyOnyama Limba QUALIFIED
Kadeem U VocelkaGermanyIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Murillo D ButtCanadaAsiya Javayant UNQUALIFIED
Morrow X RimAustraliaBernardo Dominic QUALIFIED
Rodrigues T WhobreyAustraliaOnyama Limba QUALIFIED
Jones U MaletFranceAsiya Javayant PROPOSAL
Kadeem E WaycottSpainIoni Bowcher NEGOTIATION
Salvatore A MarrierBrazilStephen Shaw PROPOSAL
Clifford Z DoeSpainAnna Fali PROPOSAL
Stacey A RoysterArgentinaAsiya Javayant NEW
Aika N KolmetzGermanyXuxue Feng PROPOSAL
Misaki G MorascaGermanyAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria P PerinArgentina2025-07-15Feiner Bros RENEWAL0Ivan Magalhaes
1001Clifford W MarrierGermany2025-07-06Chemel, James L Cpa UNQUALIFIED97Anna Fali
1002Deepesh I RulapaughCanada2025-08-04King, Christopher A Esq PROPOSAL78Ioni Bowcher
1003Julie V OstroskyUnited Kingdom2025-07-18Truhlar And Truhlar Attys NEW62Ioni Bowcher
1004Izzy A ChuiUnited Kingdom2025-07-13Benton, John B Jr QUALIFIED1Ivan Magalhaes
1005Aruna X DoeBrazil2025-07-09Chemel, James L Cpa NEW58Stephen Shaw
1006Izzy J CaldareraBrazil2025-07-26Truhlar And Truhlar Attys UNQUALIFIED20Xuxue Feng
1007Leon R RimArgentina2025-07-26Commercial Press QUALIFIED40Elwin Sharvill
1008Ricardo H PaprockiItaly2025-07-10Feiner Bros NEGOTIATION48Ivan Magalhaes
1009Darci V ButtCanada2025-07-06Printing Dimensions UNQUALIFIED65Stephen Shaw
1010Nicolas D FigeroaBrazil2025-07-13Dorl, James J Esq NEGOTIATION13Ivan Magalhaes
1011Clifford U SchemmerAustralia2025-07-10Feltz Printing Service UNQUALIFIED59Elwin Sharvill
1012Tony T WaycottIndia2025-07-23Printing Dimensions PROPOSAL0Stephen Shaw
1013Claire Z FerenczRussia2025-07-18Feiner Bros UNQUALIFIED21Bernardo Dominic
1014Claire N RulapaughGermany2025-07-28Feiner Bros RENEWAL98Asiya Javayant
1015Adams U BologniaFrance2025-07-28Truhlar And Truhlar Attys QUALIFIED56Elwin Sharvill
1016Leon D KolmetzGermany2025-07-12Feiner Bros PROPOSAL10Ivan Magalhaes
1017Clifford W IturbideSpain2025-07-07Commercial Press PROPOSAL47Anna Fali
1018Wickens E BologniaFrance2025-07-20Rangoni Of Florence UNQUALIFIED86Elwin Sharvill
1019Maisha V RutaJapan2025-07-26Commercial Press NEW1Anna Fali
1020Emily D ButtArgentina2025-07-06Benton, John B Jr QUALIFIED59Onyama Limba
1021Murillo M OstroskyAustralia2025-07-27Rangoni Of Florence NEW39Asiya Javayant
1022Izzy K WaycottAustralia2025-07-12King, Christopher A Esq RENEWAL75Onyama Limba
1023Ricardo H RulapaughCanada2025-07-31Morlong Associates UNQUALIFIED35Xuxue Feng
1024Francesco B CaldareraJapan2025-07-24Chemel, James L Cpa NEGOTIATION75Elwin Sharvill
1025Leja G WieserIndia2025-07-11Chemel, James L Cpa PROPOSAL74Anna Fali
1026Costa Y PaprockiArgentina2025-07-24Truhlar And Truhlar Attys PROPOSAL54Ivan Magalhaes
1027Aditya B AmigonCanada2025-07-12Truhlar And Truhlar Attys NEGOTIATION47Asiya Javayant
1028Costa X CampainSpain2025-07-08Rangoni Of Florence PROPOSAL33Elwin Sharvill
1029Murillo D StensethRussia2025-07-14Chapman, Ross E Esq NEW13Amy Elsner
1030Rodrigues J MorascaArgentina2025-07-18Chapman, Ross E Esq UNQUALIFIED28Xuxue Feng
1031Greenwood D ButtItaly2025-07-11King, Christopher A Esq QUALIFIED74Ivan Magalhaes
1032Arvin A MarrierIndia2025-07-10Chanay, Jeffrey A Esq RENEWAL89Anna Fali
1033Faith V RulapaughFrance2025-07-08Chanay, Jeffrey A Esq PROPOSAL48Onyama Limba
1034Johnson S IturbideCanada2025-07-31Buckley Miller Wright QUALIFIED17Stephen Shaw
1035Izzy M IturbideItaly2025-07-11Commercial Press PROPOSAL85Ioni Bowcher
1036Murillo P ChuiItaly2025-07-18Rangoni Of Florence QUALIFIED16Xuxue Feng
1037Jeanfrancois C MacleadAustralia2025-07-22Rousseaux, Michael Esq UNQUALIFIED62Asiya Javayant
1038Smith J AmigonRussia2025-08-02Rangoni Of Florence RENEWAL30Bernardo Dominic
1039Juan N VocelkaGermany2025-07-19Chanay, Jeffrey A Esq RENEWAL40Ioni Bowcher
1040Jefferson S ButtFrance2025-07-30King, Christopher A Esq UNQUALIFIED66Ioni Bowcher
1041Jefferson F BriddickRussia2025-07-21Rangoni Of Florence NEW74Ioni Bowcher
1042Claire R GarufiSpain2025-07-09Rangoni Of Florence PROPOSAL73Amy Elsner
1043Francesco P WieserUnited Kingdom2025-07-13King, Christopher A Esq UNQUALIFIED20Elwin Sharvill
1044Salvatore O WieserRussia2025-07-30Feltz Printing Service QUALIFIED35Xuxue Feng
1045Smith U PaprockiGermany2025-08-03Feltz Printing Service PROPOSAL81Onyama Limba
1046Wickens F TollnerSpain2025-07-23Rangoni Of Florence QUALIFIED47Ivan Magalhaes
1047Adams Y TollnerUnited Kingdom2025-07-24Feltz Printing Service NEGOTIATION25Anna Fali
1048Clifford N PaprockiSpain2025-07-06Morlong Associates PROPOSAL3Asiya Javayant
1049James X BologniaSpain2025-08-01Rousseaux, Michael Esq PROPOSAL16Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Aditya P RutaJapanAmy Elsner NEW
James U FigeroaIndiaElwin Sharvill UNQUALIFIED
Chavez P VenereIndiaOnyama Limba NEW
Munro D FerenczRussiaAnna Fali RENEWAL
Arvin O DarakjyIndiaBernardo Dominic RENEWAL
Jones G RutaGermanyXuxue Feng NEGOTIATION
Leja B PoquetteIndiaAsiya Javayant PROPOSAL
Izzy S SergiItalyOnyama Limba QUALIFIED
Wickens J MarrierFranceElwin Sharvill QUALIFIED
Kadeem I RutaAustraliaOnyama Limba RENEWAL
Izzy E KuskoUnited KingdomAnna Fali NEW
Arvin O SergiAustraliaStephen Shaw NEW
Stacey S GillianRussiaAnna Fali RENEWAL
Jefferson A FlosiAustraliaAnna Fali PROPOSAL
Faith B PaprockiArgentinaAmy Elsner NEW
Morrow V SchemmerUnited KingdomIoni Bowcher UNQUALIFIED
Ivar V AmigonIndiaIoni Bowcher QUALIFIED
Misaki G TollnerItalyAnna Fali QUALIFIED
Ivar J RimIndiaIoni Bowcher QUALIFIED
Ricardo N MarrierGermanyAsiya Javayant QUALIFIED
Ricardo R PaprockiSpainStephen Shaw NEGOTIATION
Aruna H ShinkoUnited KingdomElwin Sharvill RENEWAL
Costa R PaprockiGermanyBernardo Dominic RENEWAL
Rodrigues L PerinBrazilIoni Bowcher QUALIFIED
Aruna X DilliardIndiaIoni Bowcher NEW
Maria I MaletUnited KingdomAmy Elsner UNQUALIFIED
Francesco Z SaylorsUnited KingdomOnyama Limba NEW
James E RimJapanBernardo Dominic UNQUALIFIED
Murillo K DarakjyArgentinaIvan Magalhaes QUALIFIED
Maisha H GlickCanadaIoni Bowcher NEGOTIATION
Ricardo F KolmetzRussiaAnna Fali UNQUALIFIED
Claire H ShinkoSpainXuxue Feng QUALIFIED
Mujtaba Y CaudyAustraliaIoni Bowcher NEGOTIATION
Jefferson E GillianSpainBernardo Dominic NEGOTIATION
Darci N PoquetteBrazilBernardo Dominic QUALIFIED
Cody I SaylorsBrazilOnyama Limba UNQUALIFIED
Stacey H GarufiSpainXuxue Feng QUALIFIED
Isabel J PoquetteItalyAmy Elsner NEGOTIATION
Claire H CampainRussiaIoni Bowcher NEW
Smith V NestleJapanOnyama Limba NEW
Johnson J IturbideCanadaBernardo Dominic NEGOTIATION
Chavez D NickaIndiaAnna Fali NEGOTIATION
Jeanfrancois G PoquetteIndiaAmy Elsner UNQUALIFIED
Murillo Q VenereAustraliaOnyama Limba UNQUALIFIED
Morrow K SlusarskiSpainAsiya Javayant PROPOSAL
Mujtaba U KuskoCanadaIoni Bowcher NEW
Ashley W VocelkaRussiaBernardo Dominic NEGOTIATION
Jeanfrancois Y CampainSpainOnyama Limba NEGOTIATION
Tony J SchemmerJapanXuxue Feng UNQUALIFIED
Ivar A WhobreyFranceElwin Sharvill QUALIFIED
Frozen Columns
Name
Smith G Flosi
Chavez J Darakjy
Aditya S Schemmer
Octavia V Schemmer
Adams M Amigon
Claire K Inouye
Johnson M Royster
Aditya S Caldarera
Arvin B Foller
Arvin A Schemmer
Greenwood O Gaucho
Antonio J Amigon
Izzy P Caldarera
Faith A Perin
James A Schemmer
Maria X Waycott
Ricardo O Chui
Leja P Malet
Alejandro C Venere
Smith H Malet
Alejandro Z Ostrosky
Aditya A Saylors
Jefferson M Bolognia
James O Bowley
Jones O Venere
Leja K Iturbide
Ricardo C Oldroyd
Faith X Bowley
Aika C Darakjy
Wickens T Figeroa
Aruna O Waycott
Wickens Z Doe
Emily T Figeroa
Izzy Y Ferencz
Stacey J Vocelka
Mayumi X Maclead
Aditya L Iturbide
Leja Q Tollner
Aika L Whobrey
Antonio O Sergi
Sinclair Y Paprocki
Octavia J Wieser
Octavia S Waycott
Alejandro H Vocelka
Adams T Malet
Smith K Kusko
Cody Z Caudy
Juan P Kolmetz
Kaitlin U Marrier
Ricardo Z Paprocki
IdCountryDate
1000Canada2025-07-18
1001France2025-07-09
1002Spain2025-07-23
1003Australia2025-07-21
1004Australia2025-07-12
1005United Kingdom2025-07-24
1006Italy2025-08-04
1007Argentina2025-07-18
1008India2025-08-03
1009Argentina2025-07-12
1010Argentina2025-07-20
1011Argentina2025-07-07
1012Italy2025-07-27
1013United Kingdom2025-07-06
1014Spain2025-07-28
1015Canada2025-07-19
1016Australia2025-07-15
1017Germany2025-07-11
1018India2025-07-26
1019Argentina2025-07-28
1020Italy2025-07-09
1021Argentina2025-07-16
1022United Kingdom2025-07-25
1023Australia2025-07-09
1024Japan2025-07-07
1025Argentina2025-08-03
1026Canada2025-07-14
1027Italy2025-07-22
1028Italy2025-07-29
1029Argentina2025-07-21
1030Japan2025-07-11
1031Russia2025-07-26
1032Canada2025-07-27
1033Japan2025-07-20
1034Germany2025-07-13
1035India2025-08-04
1036Italy2025-07-27
1037Argentina2025-07-10
1038Russia2025-07-21
1039Canada2025-07-15
1040India2025-08-02
1041India2025-07-29
1042Japan2025-07-12
1043United Kingdom2025-07-27
1044Argentina2025-07-20
1045India2025-07-11
1046United Kingdom2025-07-22
1047Japan2025-07-22
1048Australia2025-07-13
1049Brazil2025-08-02

On-Demand Data

NameIdCountryDate
Alejandro V Flosi1000Canada2025-07-18
Deepesh E Marrier1001Australia2025-07-16
Wickens W Waycott1002India2025-07-16
Aruna Y Perin1003Canada2025-07-11
Cody R Kusko1004Japan2025-07-29
Julie I Malet1005Italy2025-07-16
Jennifer H Marrier1006Brazil2025-07-16
Adams L Ferencz1007Canada2025-07-27
Francesco K Gaucho1008Argentina2025-07-17
Morrow T Tollner1009United Kingdom2025-07-25
Misaki H Malet1010Russia2025-07-27
Cody P Ruta1011Australia2025-07-10
Sinclair C Malet1012Argentina2025-08-04
Jefferson D Caldarera1013Brazil2025-07-19
James A Saylors1014Italy2025-08-04
James E Rim1015Canada2025-07-24
Murillo G Garufi1016India2025-07-18
Darci Z Rulapaugh1017Australia2025-07-21
Juan N Campain1018Spain2025-07-06
Smith K Rulapaugh1019India2025-07-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood D DoeItalyIoni Bowcher UNQUALIFIED
Murillo F FlosiJapanIoni Bowcher UNQUALIFIED
Tony B CaudyCanadaAnna Fali NEW
Francesco J KuskoUnited KingdomAmy Elsner QUALIFIED
Jeanfrancois W WhobreyCanadaIvan Magalhaes PROPOSAL
David Z DilliardSpainBernardo Dominic UNQUALIFIED
Silvio I AlbaresItalyStephen Shaw NEGOTIATION
Kaitlin K SchemmerFranceStephen Shaw NEGOTIATION
Aika S GlickUnited KingdomAsiya Javayant NEW
Jefferson Z KolmetzUnited KingdomBernardo Dominic UNQUALIFIED
Greenwood C NestleRussiaElwin Sharvill NEGOTIATION
Silvio C CampainSpainStephen Shaw NEW
David H CampainGermanyIoni Bowcher PROPOSAL
Kaitlin N IturbideArgentinaElwin Sharvill PROPOSAL
Faith K ShinkoJapanOnyama Limba NEGOTIATION
Salvatore F InouyeIndiaXuxue Feng UNQUALIFIED
Misaki F RoysterItalyIvan Magalhaes NEW
Clifford V WhobreyIndiaAmy Elsner PROPOSAL
Stacey B WieserGermanyStephen Shaw NEGOTIATION
Darci E MacleadIndiaAmy Elsner PROPOSAL
Mujtaba N WieserArgentinaIoni Bowcher QUALIFIED
Arvin T SaylorsUnited KingdomStephen Shaw UNQUALIFIED
Ashley A GarufiAustraliaStephen Shaw RENEWAL
David O PaprockiCanadaAsiya Javayant PROPOSAL
Kaitlin J WaycottRussiaAnna Fali NEW
Morrow S FlosiSpainOnyama Limba NEGOTIATION
Murillo B RutaSpainElwin Sharvill RENEWAL
Ricardo Z BowleyFranceBernardo Dominic RENEWAL
Costa U VocelkaIndiaIvan Magalhaes QUALIFIED
Antonio Y MaletCanadaIvan Magalhaes PROPOSAL
Greenwood C RulapaughIndiaAsiya Javayant QUALIFIED
Isabel E SaylorsBrazilAsiya Javayant QUALIFIED
Tony R RimGermanyOnyama Limba NEW
Francesco K OldroydAustraliaIvan Magalhaes NEW
Isabel Z OstroskyBrazilOnyama Limba NEW
Cody T MacleadUnited KingdomIvan Magalhaes NEGOTIATION
David M FlosiRussiaIoni Bowcher QUALIFIED
Julie G AmigonIndiaAmy Elsner NEGOTIATION
Julie Q SchemmerFranceIvan Magalhaes NEGOTIATION
Izzy H KuskoItalyXuxue Feng 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>