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 B KuskoItalyAnna Fali QUALIFIED
Ashley E WaycottIndiaBernardo Dominic NEGOTIATION
Mujtaba D BriddickBrazilElwin Sharvill UNQUALIFIED
Kadeem I FlosiCanadaIvan Magalhaes NEW
Isabel L BowleyFranceIvan Magalhaes PROPOSAL
David R BologniaFranceIvan Magalhaes QUALIFIED
Aditya C FlosiCanadaIvan Magalhaes RENEWAL
Maria G ChuiItalyBernardo Dominic NEGOTIATION
Aditya S GauchoArgentinaAmy Elsner PROPOSAL
Emily Z OstroskyArgentinaOnyama Limba RENEWAL
Clifford Q WaycottGermanyIoni Bowcher QUALIFIED
Mujtaba H GauchoCanadaAnna Fali NEGOTIATION
Antonio N KolmetzItalyAsiya Javayant PROPOSAL
Wickens S AlbaresCanadaElwin Sharvill QUALIFIED
Munro H MaletCanadaElwin Sharvill QUALIFIED
Leon E ShinkoArgentinaElwin Sharvill UNQUALIFIED
Sinclair D SergiItalyAnna Fali NEGOTIATION
Mujtaba V TollnerBrazilXuxue Feng UNQUALIFIED
Francesco Q CaudyRussiaIoni Bowcher UNQUALIFIED
Chavez S GauchoAustraliaIvan Magalhaes UNQUALIFIED
Kaitlin Q StockhamArgentinaAnna Fali UNQUALIFIED
Aditya F DilliardSpainIoni Bowcher RENEWAL
Kaitlin H CampainItalyXuxue Feng NEW
Silvio D DilliardArgentinaIvan Magalhaes UNQUALIFIED
Aika J MacleadGermanyStephen Shaw RENEWAL
Sinclair O MaletBrazilElwin Sharvill NEGOTIATION
Arvin K SchemmerCanadaStephen Shaw RENEWAL
Kadeem E FlosiAustraliaAnna Fali RENEWAL
Izzy L MorascaSpainAsiya Javayant UNQUALIFIED
Jeanfrancois U OstroskyCanadaBernardo Dominic RENEWAL
Jeanfrancois P DarakjyBrazilAmy Elsner NEW
Murillo U GarufiFranceElwin Sharvill QUALIFIED
Ivar D RoysterFranceBernardo Dominic RENEWAL
Costa M GillianUnited KingdomAsiya Javayant RENEWAL
Smith P DilliardGermanyOnyama Limba NEW
Murillo E SchemmerBrazilAmy Elsner NEGOTIATION
Johnson C StockhamArgentinaElwin Sharvill UNQUALIFIED
Leja Q VenereBrazilStephen Shaw PROPOSAL
Aika N WhobreyArgentinaStephen Shaw PROPOSAL
Mujtaba D VocelkaBrazilBernardo Dominic UNQUALIFIED
Claire X SlusarskiSpainElwin Sharvill QUALIFIED
Morrow Z PoquetteBrazilElwin Sharvill QUALIFIED
Ashley E PaprockiArgentinaIoni Bowcher NEGOTIATION
Maria C MarrierRussiaElwin Sharvill PROPOSAL
David Q RoysterCanadaBernardo Dominic PROPOSAL
Deepesh F DarakjyFranceAnna Fali QUALIFIED
Claire Z KolmetzJapanOnyama Limba RENEWAL
Smith I MacleadRussiaOnyama Limba UNQUALIFIED
Arvin F InouyeArgentinaIvan Magalhaes PROPOSAL
Darci A ChuiAustraliaOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Claire T MarrierSpainBernardo Dominic PROPOSAL
Sinclair D GarufiFranceXuxue Feng NEW
Stacey O VocelkaAustraliaBernardo Dominic UNQUALIFIED
Mujtaba K GarufiSpainOnyama Limba NEW
Maisha Q GarufiSpainBernardo Dominic UNQUALIFIED
Aditya Y RutaUnited KingdomOnyama Limba PROPOSAL
Octavia T PaprockiCanadaOnyama Limba PROPOSAL
Leja V ShinkoUnited KingdomIvan Magalhaes NEGOTIATION
Darci P CampainSpainIvan Magalhaes RENEWAL
Deepesh G VocelkaUnited KingdomIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois N SergiCanada2025-08-12Rangoni Of Florence NEW71Xuxue Feng
1001Deepesh X FlosiJapan2025-08-02Commercial Press PROPOSAL27Amy Elsner
1002Wickens N GauchoJapan2025-08-10Commercial Press PROPOSAL54Ivan Magalhaes
1003Juan B AmigonBrazil2025-08-20Feltz Printing Service QUALIFIED31Asiya Javayant
1004Jeanfrancois X ShinkoFrance2025-08-01Rousseaux, Michael Esq NEGOTIATION36Ivan Magalhaes
1005Aika W MarrierCanada2025-08-15King, Christopher A Esq NEGOTIATION1Xuxue Feng
1006Mujtaba G ButtUnited Kingdom2025-08-20Feiner Bros PROPOSAL90Ioni Bowcher
1007Leon K IturbideBrazil2025-07-28Rousseaux, Michael Esq NEGOTIATION70Amy Elsner
1008Silvio W GauchoAustralia2025-07-26Chemel, James L Cpa NEW20Anna Fali
1009Stacey E MaletJapan2025-08-04Commercial Press RENEWAL50Asiya Javayant
1010Jennifer Q SergiUnited Kingdom2025-08-13Chemel, James L Cpa NEW9Ivan Magalhaes
1011Murillo S SlusarskiItaly2025-07-28Dorl, James J Esq QUALIFIED20Onyama Limba
1012Aditya Y GillianUnited Kingdom2025-08-02Commercial Press NEW8Stephen Shaw
1013Aika W WieserItaly2025-07-31Commercial Press NEGOTIATION61Xuxue Feng
1014Jennifer L FlosiRussia2025-07-29Rousseaux, Michael Esq PROPOSAL79Ioni Bowcher
1015Greenwood R GlickRussia2025-08-03Morlong Associates QUALIFIED62Elwin Sharvill
1016Arvin V SchemmerGermany2025-07-31Feltz Printing Service QUALIFIED22Anna Fali
1017Rodrigues M BologniaRussia2025-07-24Morlong Associates RENEWAL29Anna Fali
1018Smith P IturbideIndia2025-08-18Rangoni Of Florence PROPOSAL93Xuxue Feng
1019Juan P RulapaughGermany2025-08-21Rangoni Of Florence UNQUALIFIED40Ioni Bowcher
1020Nicolas H CampainJapan2025-08-13Morlong Associates NEW40Anna Fali
1021Arvin T DarakjyGermany2025-08-18Rousseaux, Michael Esq UNQUALIFIED90Amy Elsner
1022Emily R KuskoArgentina2025-08-08Morlong Associates PROPOSAL23Stephen Shaw
1023Ricardo A VocelkaAustralia2025-08-01Rangoni Of Florence NEGOTIATION36Onyama Limba
1024Greenwood Q VocelkaItaly2025-08-16Morlong Associates RENEWAL61Bernardo Dominic
1025Misaki A BriddickArgentina2025-07-31Printing Dimensions QUALIFIED26Elwin Sharvill
1026Chavez A BologniaFrance2025-08-07Rangoni Of Florence QUALIFIED8Stephen Shaw
1027Alejandro A FerenczBrazil2025-07-29Chanay, Jeffrey A Esq NEGOTIATION95Ioni Bowcher
1028Costa H SaylorsRussia2025-07-26Printing Dimensions UNQUALIFIED12Bernardo Dominic
1029Clifford C FollerSpain2025-07-29Commercial Press NEGOTIATION13Xuxue Feng
1030Claire M SlusarskiAustralia2025-08-06Feltz Printing Service NEGOTIATION16Ioni Bowcher
1031Murillo Y GillianIndia2025-07-26Feltz Printing Service NEGOTIATION37Amy Elsner
1032Jeanfrancois W WieserIndia2025-07-24Printing Dimensions PROPOSAL48Xuxue Feng
1033James D PerinSpain2025-08-09King, Christopher A Esq NEW61Onyama Limba
1034Aditya Z ShinkoJapan2025-08-22Rousseaux, Michael Esq QUALIFIED95Stephen Shaw
1035Greenwood Z ChuiSpain2025-07-24Feiner Bros NEW11Stephen Shaw
1036Chavez M AmigonBrazil2025-07-26Rousseaux, Michael Esq NEW95Anna Fali
1037Claire R MaletArgentina2025-08-13Rangoni Of Florence NEGOTIATION60Bernardo Dominic
1038Jefferson J RimIndia2025-08-02Rangoni Of Florence NEW29Onyama Limba
1039Aditya F SergiItaly2025-08-18Truhlar And Truhlar Attys UNQUALIFIED63Onyama Limba
1040Cody X ButtGermany2025-08-18Rousseaux, Michael Esq RENEWAL90Bernardo Dominic
1041Deepesh U VenereSpain2025-08-03Printing Dimensions PROPOSAL38Stephen Shaw
1042Jones O BowleyUnited Kingdom2025-08-07Rangoni Of Florence RENEWAL76Bernardo Dominic
1043Kaitlin G WhobreyUnited Kingdom2025-08-11Printing Dimensions RENEWAL16Elwin Sharvill
1044Clifford O DilliardArgentina2025-08-12Printing Dimensions NEW41Bernardo Dominic
1045Juan V StensethAustralia2025-08-15Buckley Miller Wright NEGOTIATION41Xuxue Feng
1046Aruna M CaudySpain2025-08-07King, Christopher A Esq NEGOTIATION41Elwin Sharvill
1047Mujtaba G KuskoGermany2025-08-22Rangoni Of Florence UNQUALIFIED3Onyama Limba
1048Francesco T FigeroaIndia2025-08-04King, Christopher A Esq QUALIFIED42Ivan Magalhaes
1049Costa O ShinkoArgentina2025-08-14Feltz Printing Service NEGOTIATION35Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Ashley M NickaGermanyXuxue Feng QUALIFIED
Kadeem F PaprockiGermanyXuxue Feng UNQUALIFIED
Emily Y SaylorsSpainAnna Fali NEW
Isabel L WieserCanadaOnyama Limba UNQUALIFIED
Claire H ShinkoRussiaIvan Magalhaes PROPOSAL
Alejandro W SchemmerCanadaOnyama Limba RENEWAL
Morrow C CampainItalyIoni Bowcher UNQUALIFIED
Salvatore P WhobreyRussiaIvan Magalhaes PROPOSAL
Emily I MaletUnited KingdomAnna Fali RENEWAL
Stacey P MaletItalyIoni Bowcher PROPOSAL
Maisha L DarakjyIndiaElwin Sharvill QUALIFIED
Jefferson D DoeBrazilAnna Fali UNQUALIFIED
David Y ChuiSpainXuxue Feng QUALIFIED
Jeanfrancois H NickaGermanyIvan Magalhaes QUALIFIED
Smith C GlickIndiaXuxue Feng PROPOSAL
Tony S RulapaughCanadaXuxue Feng UNQUALIFIED
David W DoeArgentinaBernardo Dominic QUALIFIED
Mujtaba J RimUnited KingdomElwin Sharvill NEGOTIATION
Salvatore W WaycottIndiaAnna Fali RENEWAL
Murillo D SlusarskiItalyAmy Elsner QUALIFIED
Mujtaba W SergiIndiaAsiya Javayant NEGOTIATION
Faith S KolmetzItalyIoni Bowcher UNQUALIFIED
Sinclair S InouyeSpainIoni Bowcher UNQUALIFIED
Emily P RimCanadaStephen Shaw PROPOSAL
Jennifer N ButtGermanyElwin Sharvill PROPOSAL
Faith W ShinkoIndiaOnyama Limba PROPOSAL
Maria M FlosiGermanyIvan Magalhaes PROPOSAL
David R RutaIndiaAmy Elsner NEW
Smith L OstroskyFranceAnna Fali NEW
Wickens X CaldareraItalyAmy Elsner UNQUALIFIED
Jones F MaletArgentinaAsiya Javayant QUALIFIED
Claire O RoysterUnited KingdomAnna Fali PROPOSAL
Silvio T StockhamJapanAsiya Javayant NEGOTIATION
Maisha T DarakjyCanadaOnyama Limba NEW
Tony C KolmetzItalyIvan Magalhaes QUALIFIED
Clifford V NestleJapanElwin Sharvill NEW
Smith G KuskoBrazilAmy Elsner NEGOTIATION
Isabel S PoquetteSpainIvan Magalhaes QUALIFIED
Alejandro O RoysterGermanyAnna Fali RENEWAL
Octavia O RoysterAustraliaAmy Elsner NEGOTIATION
Maria L AmigonCanadaAsiya Javayant UNQUALIFIED
Silvio C PoquetteRussiaXuxue Feng NEGOTIATION
Salvatore F RoysterUnited KingdomOnyama Limba NEGOTIATION
Ashley C WieserItalyAsiya Javayant UNQUALIFIED
Juan T MarrierRussiaStephen Shaw QUALIFIED
Aditya Y KuskoGermanyOnyama Limba NEW
Maria E AmigonArgentinaIoni Bowcher NEW
Deepesh N ShinkoSpainAsiya Javayant RENEWAL
Clifford R FigeroaFranceIoni Bowcher QUALIFIED
Jefferson N SaylorsJapanAsiya Javayant NEGOTIATION
Frozen Columns
Name
Stacey T Venere
Rodrigues J Briddick
Costa J Inouye
Kaitlin F Whobrey
Tony P Oldroyd
Salvatore S Rim
Maria F Rim
Ricardo N Darakjy
Stacey A Stockham
Leon L Vocelka
Clifford A Iturbide
Darci Q Iturbide
Morrow X Malet
Jones P Briddick
Faith I Oldroyd
Morrow N Gillian
Kaitlin L Whobrey
Adams L Darakjy
Jeanfrancois X Butt
Ricardo C Nicka
Stacey U Saylors
Jennifer X Ferencz
Octavia P Perin
Aika T Figeroa
James R Shinko
Wickens V Kusko
Maisha G Nestle
Jeanfrancois B Darakjy
Greenwood T Rulapaugh
Juan S Malet
Ashley I Vocelka
Juan N Oldroyd
Kadeem J Darakjy
Misaki L Caudy
Julie V Gaucho
Darci B Bowley
Isabel G Whobrey
Ivar L Butt
Ashley P Darakjy
Julie V Tollner
Octavia G Campain
Antonio E Butt
Chavez I Oldroyd
Isabel X Sergi
Aika J Caldarera
Sinclair O Inouye
Jefferson E Gaucho
Faith W Foller
Octavia L Rulapaugh
Emily F Bowley
IdCountryDate
1000United Kingdom2025-08-09
1001United Kingdom2025-07-24
1002Spain2025-07-31
1003Australia2025-08-20
1004India2025-08-08
1005Spain2025-07-24
1006Canada2025-07-26
1007Australia2025-07-29
1008India2025-07-31
1009Australia2025-08-06
1010Spain2025-08-21
1011Japan2025-07-28
1012United Kingdom2025-08-20
1013Canada2025-08-12
1014Argentina2025-07-26
1015India2025-07-25
1016Germany2025-08-01
1017Brazil2025-08-01
1018Spain2025-08-11
1019United Kingdom2025-08-13
1020India2025-07-26
1021Italy2025-08-22
1022Canada2025-08-11
1023Spain2025-08-08
1024Australia2025-08-22
1025Brazil2025-07-29
1026Australia2025-08-22
1027Russia2025-08-20
1028India2025-08-14
1029United Kingdom2025-08-08
1030Spain2025-07-28
1031India2025-08-16
1032Italy2025-08-06
1033Russia2025-07-26
1034Brazil2025-08-12
1035United Kingdom2025-08-15
1036Australia2025-08-12
1037Spain2025-08-21
1038Germany2025-08-02
1039Brazil2025-08-14
1040Russia2025-07-25
1041Argentina2025-08-11
1042Russia2025-08-08
1043Canada2025-08-06
1044Japan2025-07-26
1045Russia2025-08-05
1046India2025-07-31
1047Australia2025-08-02
1048Spain2025-08-06
1049Germany2025-08-01

On-Demand Data

NameIdCountryDate
Faith Y Slusarski1000Argentina2025-07-30
Mayumi I Slusarski1001Canada2025-07-25
Faith W Ferencz1002Argentina2025-08-05
Stacey J Garufi1003Australia2025-08-09
Jones S Paprocki1004Russia2025-07-26
Smith S Tollner1005Russia2025-08-22
Jeanfrancois S Tollner1006Germany2025-08-10
Salvatore D Vocelka1007Spain2025-08-15
Isabel K Royster1008Germany2025-08-11
Leon S Sergi1009Russia2025-08-06
Octavia S Shinko1010United Kingdom2025-08-14
Clifford H Poquette1011Brazil2025-07-24
Arvin O Malet1012Australia2025-08-03
Silvio U Schemmer1013Italy2025-08-09
Juan G Ostrosky1014Australia2025-07-24
Clifford E Darakjy1015Australia2025-08-16
Jennifer S Ferencz1016Brazil2025-08-18
Salvatore V Marrier1017Brazil2025-08-05
Wickens R Saylors1018Brazil2025-08-15
Munro S Doe1019Germany2025-08-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois R StockhamJapanXuxue Feng UNQUALIFIED
Izzy H KuskoAustraliaAnna Fali PROPOSAL
Faith Z BologniaRussiaStephen Shaw NEGOTIATION
Morrow X NestleJapanIvan Magalhaes UNQUALIFIED
Juan N StockhamFranceAnna Fali QUALIFIED
Jones Q MarrierSpainBernardo Dominic QUALIFIED
Faith J FigeroaFranceIvan Magalhaes RENEWAL
Maria Z TollnerRussiaIvan Magalhaes UNQUALIFIED
Nicolas Y FigeroaBrazilOnyama Limba QUALIFIED
Stacey B FerenczGermanyBernardo Dominic UNQUALIFIED
Maria A RulapaughAustraliaAsiya Javayant QUALIFIED
Jones S SchemmerBrazilAnna Fali RENEWAL
Greenwood D PaprockiArgentinaBernardo Dominic UNQUALIFIED
Nicolas B GlickJapanAsiya Javayant NEGOTIATION
Murillo L IturbideIndiaElwin Sharvill UNQUALIFIED
Aditya R VocelkaSpainBernardo Dominic NEW
Morrow Z RulapaughGermanyAmy Elsner NEGOTIATION
Jennifer D CampainJapanIoni Bowcher PROPOSAL
Stacey Y RulapaughIndiaIoni Bowcher NEGOTIATION
Antonio Q GillianUnited KingdomElwin Sharvill UNQUALIFIED
Francesco P SergiAustraliaXuxue Feng RENEWAL
Chavez T FollerGermanyIvan Magalhaes NEGOTIATION
Leja G PerinBrazilAsiya Javayant PROPOSAL
Murillo Q MacleadFranceBernardo Dominic UNQUALIFIED
Jefferson O IturbideUnited KingdomAmy Elsner UNQUALIFIED
Morrow T StockhamArgentinaAmy Elsner RENEWAL
Maria W StensethSpainAmy Elsner QUALIFIED
Jeanfrancois R FerenczAustraliaOnyama Limba UNQUALIFIED
Greenwood B RimFranceAmy Elsner QUALIFIED
James A RulapaughBrazilStephen Shaw UNQUALIFIED
James D GauchoArgentinaOnyama Limba PROPOSAL
Maisha I FlosiCanadaAsiya Javayant RENEWAL
Deepesh A GlickItalyStephen Shaw PROPOSAL
Tony U ChuiFranceBernardo Dominic RENEWAL
Deepesh H FerenczUnited KingdomOnyama Limba NEW
Wickens F AmigonCanadaOnyama Limba RENEWAL
Maisha E DilliardIndiaIvan Magalhaes RENEWAL
Mujtaba K GarufiCanadaBernardo Dominic UNQUALIFIED
Ashley L InouyeSpainElwin Sharvill PROPOSAL
Leon K MarrierSpainIvan Magalhaes PROPOSAL

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