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
Emily A WaycottCanadaAnna Fali UNQUALIFIED
Leon S PerinItalyStephen Shaw NEGOTIATION
Stacey J RulapaughSpainOnyama Limba UNQUALIFIED
Emily N ChuiSpainIvan Magalhaes PROPOSAL
Isabel E DarakjyAustraliaIoni Bowcher RENEWAL
Darci Y SergiGermanyOnyama Limba RENEWAL
Jones V CaldareraBrazilIvan Magalhaes RENEWAL
Darci Z CampainFranceXuxue Feng UNQUALIFIED
Aditya T NickaAustraliaIvan Magalhaes RENEWAL
Adams S GarufiUnited KingdomElwin Sharvill PROPOSAL
Maria Q RimBrazilIvan Magalhaes UNQUALIFIED
Alejandro U WhobreyUnited KingdomAnna Fali QUALIFIED
Arvin M StockhamRussiaAnna Fali PROPOSAL
Isabel S BriddickFranceIoni Bowcher QUALIFIED
Ricardo R RimAustraliaStephen Shaw NEGOTIATION
Wickens B GauchoRussiaXuxue Feng QUALIFIED
Julie M PerinAustraliaElwin Sharvill QUALIFIED
Kaitlin X RutaCanadaOnyama Limba PROPOSAL
Aruna A RoysterAustraliaBernardo Dominic UNQUALIFIED
Leon H SergiIndiaAmy Elsner NEW
Ricardo C WaycottJapanXuxue Feng UNQUALIFIED
Stacey A DilliardArgentinaIvan Magalhaes NEW
Sinclair W FigeroaJapanAmy Elsner NEW
David E SaylorsGermanyBernardo Dominic UNQUALIFIED
Darci M PerinSpainElwin Sharvill RENEWAL
Cody B CaldareraJapanIoni Bowcher NEW
Rodrigues T FlosiAustraliaAsiya Javayant UNQUALIFIED
Ivar L PaprockiAustraliaStephen Shaw QUALIFIED
Alejandro V FerenczArgentinaOnyama Limba RENEWAL
Jennifer E PerinFranceAsiya Javayant RENEWAL
Ashley N DarakjyFranceOnyama Limba NEW
Juan X SlusarskiBrazilOnyama Limba PROPOSAL
Ivar N IturbideSpainBernardo Dominic NEW
Darci L RulapaughItalyAsiya Javayant NEW
Rodrigues R BowleyGermanyIoni Bowcher UNQUALIFIED
Kaitlin Z TollnerItalyIvan Magalhaes QUALIFIED
Claire T AlbaresUnited KingdomAsiya Javayant NEGOTIATION
Kaitlin Q GillianArgentinaXuxue Feng NEGOTIATION
Leon E MarrierRussiaStephen Shaw NEW
Adams E WhobreyFranceIoni Bowcher NEW
Kadeem K PaprockiIndiaAnna Fali UNQUALIFIED
Jones X BowleyArgentinaAsiya Javayant NEGOTIATION
Clifford M MaletGermanyXuxue Feng RENEWAL
David R WaycottAustraliaElwin Sharvill PROPOSAL
Emily F SaylorsSpainBernardo Dominic QUALIFIED
David O ShinkoSpainIvan Magalhaes NEGOTIATION
Aika B MaletUnited KingdomAmy Elsner QUALIFIED
Munro G RimCanadaElwin Sharvill RENEWAL
Chavez J GarufiAustraliaElwin Sharvill PROPOSAL
Ivar T MorascaAustraliaBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mayumi V VenereFranceAsiya Javayant UNQUALIFIED
Jefferson B SlusarskiBrazilStephen Shaw QUALIFIED
Costa V WhobreyCanadaAmy Elsner RENEWAL
Rodrigues N StensethGermanyAsiya Javayant NEW
Chavez K FigeroaUnited KingdomStephen Shaw PROPOSAL
Clifford K KuskoAustraliaIvan Magalhaes PROPOSAL
Darci S NickaRussiaXuxue Feng NEGOTIATION
Ricardo T ShinkoBrazilIoni Bowcher QUALIFIED
Clifford N SergiBrazilElwin Sharvill NEGOTIATION
Smith N OldroydCanadaOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo I FerenczGermany2025-09-20Feltz Printing Service NEGOTIATION21Xuxue Feng
1001Sinclair S RimCanada2025-10-17Buckley Miller Wright UNQUALIFIED16Anna Fali
1002Maria C OstroskyItaly2025-10-03Printing Dimensions NEGOTIATION29Xuxue Feng
1003Stacey Y IturbideGermany2025-10-14King, Christopher A Esq PROPOSAL66Onyama Limba
1004Rodrigues H CampainArgentina2025-10-15Rousseaux, Michael Esq PROPOSAL27Amy Elsner
1005Arvin U ButtUnited Kingdom2025-10-04Feiner Bros NEW1Anna Fali
1006Alejandro Q MaletAustralia2025-10-15Chapman, Ross E Esq NEW63Elwin Sharvill
1007Ricardo L WieserSpain2025-10-14King, Christopher A Esq PROPOSAL50Xuxue Feng
1008Tony P NickaSpain2025-10-01King, Christopher A Esq QUALIFIED47Elwin Sharvill
1009Aruna Y WhobreyGermany2025-10-16Truhlar And Truhlar Attys QUALIFIED19Elwin Sharvill
1010Claire V ButtRussia2025-09-27Chanay, Jeffrey A Esq UNQUALIFIED59Ivan Magalhaes
1011Ashley I GauchoFrance2025-10-11Morlong Associates NEW54Onyama Limba
1012Leja C KolmetzRussia2025-09-22Chemel, James L Cpa UNQUALIFIED58Ioni Bowcher
1013Jefferson I FlosiArgentina2025-10-06Morlong Associates QUALIFIED79Elwin Sharvill
1014Nicolas H MarrierJapan2025-10-06Morlong Associates QUALIFIED23Asiya Javayant
1015Leon L SchemmerFrance2025-09-27Chemel, James L Cpa PROPOSAL27Bernardo Dominic
1016Jennifer P WhobreyFrance2025-09-21Dorl, James J Esq NEGOTIATION75Xuxue Feng
1017David D CaudySpain2025-09-26Chanay, Jeffrey A Esq PROPOSAL30Ivan Magalhaes
1018Isabel Z SchemmerRussia2025-10-05Dorl, James J Esq PROPOSAL34Asiya Javayant
1019Alejandro J SaylorsCanada2025-09-26King, Christopher A Esq RENEWAL93Asiya Javayant
1020Aditya D CaldareraUnited Kingdom2025-09-29Rangoni Of Florence NEW49Xuxue Feng
1021Jennifer U MacleadGermany2025-10-08Morlong Associates NEGOTIATION2Anna Fali
1022James O RutaBrazil2025-09-30Chemel, James L Cpa QUALIFIED9Amy Elsner
1023Smith Z FlosiFrance2025-10-02Feltz Printing Service PROPOSAL10Bernardo Dominic
1024Kadeem W GauchoFrance2025-09-29Truhlar And Truhlar Attys NEW26Asiya Javayant
1025Aditya G GlickRussia2025-10-05Commercial Press NEW55Bernardo Dominic
1026Murillo W SergiRussia2025-09-27Commercial Press UNQUALIFIED14Asiya Javayant
1027Misaki P MarrierRussia2025-09-26Rangoni Of Florence NEW78Ivan Magalhaes
1028Salvatore K MaletCanada2025-10-17Printing Dimensions RENEWAL31Onyama Limba
1029Jennifer X FerenczBrazil2025-10-15Commercial Press UNQUALIFIED77Ioni Bowcher
1030Aruna C DoeIndia2025-10-13Morlong Associates PROPOSAL33Anna Fali
1031Antonio N FigeroaJapan2025-09-19Dorl, James J Esq NEGOTIATION24Ioni Bowcher
1032Julie M KuskoRussia2025-09-25Chanay, Jeffrey A Esq QUALIFIED9Ivan Magalhaes
1033Jennifer O CaudyRussia2025-09-26Truhlar And Truhlar Attys PROPOSAL27Ivan Magalhaes
1034Maisha M DilliardSpain2025-10-13Truhlar And Truhlar Attys NEW13Amy Elsner
1035Ricardo E PoquetteAustralia2025-10-13King, Christopher A Esq UNQUALIFIED47Bernardo Dominic
1036Octavia Y DarakjyIndia2025-09-22Commercial Press QUALIFIED52Xuxue Feng
1037Ashley A NickaArgentina2025-10-13Chemel, James L Cpa NEW85Stephen Shaw
1038Mujtaba D NestleAustralia2025-10-12Truhlar And Truhlar Attys PROPOSAL26Elwin Sharvill
1039Maisha R MaletBrazil2025-10-02King, Christopher A Esq UNQUALIFIED62Elwin Sharvill
1040Claire Q ChuiAustralia2025-10-13Chanay, Jeffrey A Esq RENEWAL88Amy Elsner
1041Ricardo C CaldareraArgentina2025-10-17Rangoni Of Florence NEGOTIATION54Asiya Javayant
1042Tony J AlbaresCanada2025-10-09Commercial Press UNQUALIFIED25Xuxue Feng
1043Kaitlin E KuskoArgentina2025-10-17Dorl, James J Esq QUALIFIED18Asiya Javayant
1044Claire Q FigeroaSpain2025-10-02Dorl, James J Esq NEW90Anna Fali
1045Maria C RoysterIndia2025-09-30Benton, John B Jr UNQUALIFIED48Ioni Bowcher
1046Rodrigues C AmigonCanada2025-10-06Truhlar And Truhlar Attys NEW39Asiya Javayant
1047Munro T SergiAustralia2025-09-24Feiner Bros QUALIFIED36Stephen Shaw
1048Maisha V PaprockiBrazil2025-09-28Printing Dimensions NEGOTIATION97Asiya Javayant
1049Costa F ChuiGermany2025-09-26Buckley Miller Wright QUALIFIED7Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Clifford R ButtArgentinaIvan Magalhaes QUALIFIED
Salvatore E RulapaughCanadaAmy Elsner QUALIFIED
Adams O ShinkoCanadaElwin Sharvill NEGOTIATION
Jennifer L AlbaresUnited KingdomAmy Elsner NEGOTIATION
Silvio E OldroydAustraliaElwin Sharvill UNQUALIFIED
Antonio E CaudyCanadaAnna Fali NEGOTIATION
Aditya R RimBrazilAsiya Javayant RENEWAL
Deepesh E StockhamJapanOnyama Limba NEGOTIATION
Salvatore C FerenczRussiaElwin Sharvill QUALIFIED
Aika M WaycottGermanyStephen Shaw RENEWAL
Jeanfrancois I BriddickSpainElwin Sharvill PROPOSAL
Julie D ChuiBrazilIvan Magalhaes PROPOSAL
Leja H BriddickIndiaBernardo Dominic UNQUALIFIED
Deepesh B KuskoRussiaIoni Bowcher PROPOSAL
Morrow T PaprockiUnited KingdomXuxue Feng PROPOSAL
Chavez K PerinCanadaOnyama Limba UNQUALIFIED
Leon J RulapaughItalyIvan Magalhaes NEW
Sinclair O SchemmerIndiaXuxue Feng UNQUALIFIED
Faith R MorascaCanadaIoni Bowcher UNQUALIFIED
Aditya I AlbaresRussiaOnyama Limba QUALIFIED
Juan G GauchoArgentinaElwin Sharvill UNQUALIFIED
Aditya U MorascaFranceOnyama Limba PROPOSAL
Sinclair F MarrierAustraliaElwin Sharvill QUALIFIED
Francesco Q PoquetteBrazilXuxue Feng PROPOSAL
Sinclair K VenereFranceBernardo Dominic QUALIFIED
Chavez S FollerIndiaIoni Bowcher NEW
Darci T PerinFranceElwin Sharvill PROPOSAL
Leja P SchemmerBrazilOnyama Limba QUALIFIED
Kaitlin U FlosiGermanyAsiya Javayant NEGOTIATION
Aruna B FigeroaSpainAmy Elsner PROPOSAL
Cody T FlosiAustraliaElwin Sharvill NEGOTIATION
Sinclair R NestleSpainIvan Magalhaes NEW
Kadeem J FlosiJapanIvan Magalhaes QUALIFIED
Clifford Q OstroskyRussiaStephen Shaw NEGOTIATION
Juan H PaprockiIndiaOnyama Limba PROPOSAL
Munro W RimBrazilIoni Bowcher NEW
Arvin J FigeroaJapanElwin Sharvill NEGOTIATION
Jeanfrancois G OldroydAustraliaOnyama Limba UNQUALIFIED
Morrow E FollerRussiaAsiya Javayant PROPOSAL
Ricardo D AlbaresAustraliaAmy Elsner PROPOSAL
Darci I NickaItalyIvan Magalhaes PROPOSAL
Kaitlin G SlusarskiBrazilAsiya Javayant QUALIFIED
Smith B BologniaItalyElwin Sharvill NEW
Aditya J StockhamGermanyOnyama Limba NEW
Jones H BowleyIndiaIoni Bowcher PROPOSAL
Faith T ChuiIndiaIoni Bowcher UNQUALIFIED
Johnson N PerinAustraliaBernardo Dominic RENEWAL
Jennifer O DoeUnited KingdomStephen Shaw QUALIFIED
Alejandro O WieserItalyXuxue Feng PROPOSAL
Smith M AlbaresBrazilAsiya Javayant NEGOTIATION
Frozen Columns
Name
Ricardo D Nicka
Ricardo E Kusko
Faith V Marrier
Emily O Nicka
Greenwood L Perin
Jefferson F Ferencz
Johnson A Schemmer
Stacey D Vocelka
Jennifer F Marrier
Alejandro M Maclead
Jeanfrancois W Kolmetz
Antonio C Nicka
Greenwood U Doe
Isabel Z Campain
Alejandro E Malet
Aruna D Malet
Julie A Nestle
Stacey B Maclead
Jefferson J Glick
Costa K Slusarski
Izzy D Rim
Jones R Tollner
Silvio N Chui
Johnson L Ferencz
Mujtaba K Saylors
Mayumi K Bowley
Aika X Kusko
Emily J Gillian
Isabel N Oldroyd
Wickens F Caudy
Johnson Y Perin
Isabel U Garufi
Maria P Figeroa
Wickens B Marrier
Clifford S Stockham
Silvio U Albares
Arvin H Garufi
Maisha I Maclead
Silvio S Nicka
Darci U Albares
Jeanfrancois U Schemmer
Murillo C Rulapaugh
Mayumi T Bowley
Darci A Waycott
Salvatore N Nestle
Deepesh D Figeroa
Adams O Tollner
Kadeem X Gaucho
Jones V Gillian
Maisha U Shinko
IdCountryDate
1000France2025-09-24
1001Italy2025-10-04
1002Japan2025-10-08
1003France2025-10-02
1004Italy2025-10-14
1005Japan2025-10-10
1006Russia2025-10-01
1007Spain2025-10-05
1008Spain2025-09-30
1009Germany2025-09-30
1010Russia2025-10-01
1011Italy2025-09-29
1012Brazil2025-09-19
1013India2025-10-06
1014Japan2025-10-07
1015Canada2025-10-11
1016Canada2025-09-19
1017Spain2025-09-21
1018Australia2025-10-18
1019Canada2025-10-07
1020Italy2025-09-24
1021India2025-10-11
1022Argentina2025-10-09
1023Russia2025-10-07
1024Australia2025-09-20
1025Japan2025-10-18
1026France2025-10-17
1027India2025-10-07
1028Italy2025-10-07
1029United Kingdom2025-10-16
1030Italy2025-10-12
1031India2025-10-10
1032Brazil2025-10-07
1033Japan2025-10-14
1034India2025-10-03
1035Germany2025-10-18
1036Italy2025-09-19
1037Italy2025-10-06
1038Spain2025-10-03
1039India2025-09-30
1040Canada2025-10-14
1041Brazil2025-10-02
1042United Kingdom2025-10-16
1043Australia2025-09-27
1044United Kingdom2025-10-09
1045United Kingdom2025-10-18
1046Russia2025-10-14
1047Germany2025-10-15
1048Germany2025-10-16
1049Germany2025-10-18

On-Demand Data

NameIdCountryDate
Ivar R Nestle1000Japan2025-09-30
Morrow C Stenseth1001France2025-10-13
Kadeem O Saylors1002Brazil2025-09-22
Julie J Venere1003Japan2025-09-24
Morrow O Schemmer1004Brazil2025-09-19
Munro T Malet1005India2025-09-23
Smith M Maclead1006Australia2025-10-15
Leja Q Schemmer1007Spain2025-10-01
Silvio I Gillian1008Australia2025-09-27
Rodrigues M Chui1009United Kingdom2025-10-10
Misaki E Royster1010Canada2025-09-27
Smith X Garufi1011Russia2025-10-16
Sinclair F Bowley1012France2025-10-14
Emily C Gillian1013Italy2025-10-02
Cody H Stockham1014Australia2025-09-19
Costa Q Campain1015Japan2025-09-20
Aruna T Whobrey1016France2025-10-11
Silvio N Glick1017Argentina2025-10-06
Francesco S Tollner1018Japan2025-10-07
Sinclair K Royster1019United Kingdom2025-09-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki L WaycottGermanyElwin Sharvill NEW
Johnson Z DoeFranceXuxue Feng NEGOTIATION
Francesco U MacleadBrazilAnna Fali RENEWAL
Leja H GlickCanadaBernardo Dominic NEW
Isabel V KuskoItalyAnna Fali UNQUALIFIED
Rodrigues V ButtArgentinaAnna Fali RENEWAL
Mayumi U PaprockiUnited KingdomBernardo Dominic QUALIFIED
Claire S CampainAustraliaOnyama Limba NEW
Francesco P GlickIndiaOnyama Limba NEGOTIATION
Costa M DoeBrazilXuxue Feng NEGOTIATION
Claire Y BowleySpainAsiya Javayant UNQUALIFIED
Maisha Z FigeroaBrazilXuxue Feng UNQUALIFIED
Izzy E PoquetteFranceBernardo Dominic PROPOSAL
Costa R FollerBrazilXuxue Feng RENEWAL
Mujtaba K ShinkoBrazilOnyama Limba NEW
Francesco L SlusarskiUnited KingdomXuxue Feng RENEWAL
Rodrigues U RoysterUnited KingdomStephen Shaw QUALIFIED
Smith Q BologniaIndiaOnyama Limba PROPOSAL
Kaitlin I RulapaughFranceIvan Magalhaes PROPOSAL
Izzy P AmigonSpainAnna Fali NEGOTIATION
Adams C SaylorsJapanElwin Sharvill PROPOSAL
Greenwood U SlusarskiItalyElwin Sharvill PROPOSAL
Juan Y RulapaughSpainStephen Shaw UNQUALIFIED
Ivar B KolmetzJapanAmy Elsner RENEWAL
Ashley Y MacleadBrazilAnna Fali NEGOTIATION
Salvatore J CaldareraUnited KingdomXuxue Feng UNQUALIFIED
Murillo Y SchemmerJapanStephen Shaw NEGOTIATION
Ashley D WieserAustraliaIvan Magalhaes UNQUALIFIED
Claire F CaudyRussiaIoni Bowcher NEW
Kaitlin E SchemmerRussiaAmy Elsner NEW
Murillo P StensethGermanyAsiya Javayant QUALIFIED
Mujtaba P RoysterSpainAsiya Javayant UNQUALIFIED
Adams G StensethSpainOnyama Limba PROPOSAL
Leon Y AmigonGermanyBernardo Dominic NEGOTIATION
Wickens I WieserSpainStephen Shaw QUALIFIED
Alejandro Q MaletUnited KingdomAnna Fali QUALIFIED
Mayumi H WhobreyGermanyAnna Fali UNQUALIFIED
Kadeem K RulapaughRussiaIvan Magalhaes QUALIFIED
David R WaycottGermanyAsiya Javayant RENEWAL
Aika G GillianRussiaStephen Shaw 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>