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
Kaitlin Z CaudySpainXuxue Feng PROPOSAL
Alejandro W KolmetzIndiaAnna Fali QUALIFIED
Wickens V BowleySpainOnyama Limba PROPOSAL
Stacey C KuskoUnited KingdomXuxue Feng NEGOTIATION
Wickens V RulapaughIndiaStephen Shaw NEW
Francesco N FerenczFranceAmy Elsner NEGOTIATION
Aika U BologniaCanadaAsiya Javayant RENEWAL
Wickens N AlbaresItalyIvan Magalhaes NEW
Nicolas F MorascaAustraliaIoni Bowcher PROPOSAL
Chavez M WhobreyItalyIoni Bowcher NEGOTIATION
Leon Z SchemmerFranceIvan Magalhaes PROPOSAL
Ashley Q PoquetteIndiaAnna Fali NEW
Jeanfrancois I FlosiAustraliaAnna Fali QUALIFIED
Juan Z TollnerRussiaIoni Bowcher UNQUALIFIED
Jeanfrancois E SchemmerRussiaAsiya Javayant PROPOSAL
Jennifer P OldroydArgentinaIoni Bowcher RENEWAL
Chavez G BriddickUnited KingdomStephen Shaw UNQUALIFIED
Jennifer P ShinkoJapanOnyama Limba NEW
Julie X ChuiJapanAnna Fali QUALIFIED
Clifford F NickaBrazilAsiya Javayant NEW
Faith Y FerenczAustraliaIvan Magalhaes NEW
Salvatore Q SergiRussiaIvan Magalhaes QUALIFIED
James P WhobreyJapanXuxue Feng UNQUALIFIED
Costa V GlickJapanElwin Sharvill UNQUALIFIED
Maisha N KolmetzCanadaElwin Sharvill NEGOTIATION
Aruna C GarufiSpainAmy Elsner PROPOSAL
Mayumi C AmigonCanadaIvan Magalhaes RENEWAL
Nicolas A MaletAustraliaIoni Bowcher UNQUALIFIED
Maria Y CampainCanadaIoni Bowcher RENEWAL
Jennifer O FigeroaBrazilIoni Bowcher RENEWAL
Aika S ChuiArgentinaIvan Magalhaes RENEWAL
Jefferson E IturbideRussiaAmy Elsner UNQUALIFIED
Salvatore V FlosiIndiaXuxue Feng RENEWAL
Kadeem R CampainUnited KingdomAmy Elsner QUALIFIED
Costa K BologniaArgentinaAnna Fali NEGOTIATION
Silvio Y RimSpainOnyama Limba PROPOSAL
Cody A NickaFranceOnyama Limba QUALIFIED
Juan G PoquetteUnited KingdomAnna Fali NEW
Morrow X GillianJapanAmy Elsner NEGOTIATION
Juan Z RulapaughArgentinaAnna Fali NEGOTIATION
Juan B DilliardCanadaStephen Shaw RENEWAL
Johnson K TollnerIndiaStephen Shaw QUALIFIED
Arvin D MaletJapanAmy Elsner PROPOSAL
Morrow J PoquetteFranceAnna Fali NEGOTIATION
Morrow R InouyeFranceIvan Magalhaes RENEWAL
Wickens R PoquetteUnited KingdomElwin Sharvill QUALIFIED
Jennifer I AmigonArgentinaIoni Bowcher NEGOTIATION
Greenwood G PerinGermanyXuxue Feng UNQUALIFIED
Stacey J GauchoBrazilAnna Fali RENEWAL
Morrow E SchemmerIndiaElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Silvio P KolmetzAustraliaElwin Sharvill QUALIFIED
Cody V DarakjyArgentinaAsiya Javayant PROPOSAL
Chavez Z AmigonRussiaXuxue Feng NEW
Isabel F GlickArgentinaBernardo Dominic NEW
Arvin J PerinJapanAmy Elsner UNQUALIFIED
Deepesh E IturbideAustraliaStephen Shaw UNQUALIFIED
Wickens J ButtCanadaStephen Shaw QUALIFIED
Mayumi U GillianUnited KingdomOnyama Limba PROPOSAL
Leja A NickaGermanyXuxue Feng PROPOSAL
Clifford L TollnerBrazilStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues Y NickaRussia2025-09-28Dorl, James J Esq PROPOSAL44Anna Fali
1001Rodrigues T OldroydBrazil2025-10-06Chapman, Ross E Esq RENEWAL43Stephen Shaw
1002Rodrigues D GarufiCanada2025-09-30Rangoni Of Florence NEGOTIATION67Asiya Javayant
1003Misaki A DarakjyJapan2025-10-13Printing Dimensions NEW61Ioni Bowcher
1004Sinclair D CampainGermany2025-10-01Chanay, Jeffrey A Esq PROPOSAL99Ivan Magalhaes
1005Ashley J PoquetteFrance2025-09-24Chemel, James L Cpa UNQUALIFIED62Xuxue Feng
1006Arvin Z RutaJapan2025-10-13Truhlar And Truhlar Attys NEW13Stephen Shaw
1007Adams S PerinJapan2025-10-17King, Christopher A Esq UNQUALIFIED30Xuxue Feng
1008Octavia P NickaFrance2025-09-30Rousseaux, Michael Esq PROPOSAL57Asiya Javayant
1009Emily A CaudyAustralia2025-10-11Chapman, Ross E Esq NEW96Xuxue Feng
1010Kaitlin Q PaprockiRussia2025-10-04Printing Dimensions QUALIFIED8Bernardo Dominic
1011Misaki F DarakjyItaly2025-10-14Truhlar And Truhlar Attys NEW46Bernardo Dominic
1012Morrow Y StockhamJapan2025-10-06Rangoni Of Florence NEGOTIATION35Ioni Bowcher
1013Arvin O KuskoUnited Kingdom2025-10-06Rangoni Of Florence QUALIFIED11Amy Elsner
1014Alejandro H ChuiItaly2025-10-15Buckley Miller Wright RENEWAL62Ivan Magalhaes
1015Salvatore Q InouyeCanada2025-10-02Feltz Printing Service NEGOTIATION60Stephen Shaw
1016Darci F MaletRussia2025-09-20Chanay, Jeffrey A Esq QUALIFIED35Bernardo Dominic
1017Octavia J PaprockiGermany2025-10-11Morlong Associates RENEWAL84Stephen Shaw
1018Smith R InouyeFrance2025-10-17Benton, John B Jr NEGOTIATION91Ivan Magalhaes
1019Antonio Y AlbaresGermany2025-10-10Dorl, James J Esq NEW42Anna Fali
1020Sinclair B CaldareraCanada2025-10-03Chanay, Jeffrey A Esq RENEWAL86Xuxue Feng
1021David O SergiCanada2025-10-18Printing Dimensions RENEWAL38Ioni Bowcher
1022James Y PerinUnited Kingdom2025-09-23King, Christopher A Esq NEGOTIATION13Ivan Magalhaes
1023Leja L MaletArgentina2025-09-30Dorl, James J Esq NEW71Onyama Limba
1024Ashley U ButtJapan2025-10-19Benton, John B Jr NEW86Onyama Limba
1025David R MaletIndia2025-09-26Chanay, Jeffrey A Esq NEGOTIATION15Asiya Javayant
1026Murillo V PerinCanada2025-10-09Morlong Associates QUALIFIED57Asiya Javayant
1027Chavez I DarakjyBrazil2025-10-13Truhlar And Truhlar Attys NEGOTIATION56Asiya Javayant
1028Greenwood T DarakjyBrazil2025-09-28Truhlar And Truhlar Attys UNQUALIFIED43Elwin Sharvill
1029Leon R RoysterFrance2025-10-18Rangoni Of Florence UNQUALIFIED79Anna Fali
1030Ivar D ShinkoArgentina2025-09-30Buckley Miller Wright NEW31Bernardo Dominic
1031Silvio K AlbaresAustralia2025-10-05Benton, John B Jr NEW0Ioni Bowcher
1032Chavez W CaudyRussia2025-09-23Morlong Associates UNQUALIFIED42Ioni Bowcher
1033Nicolas B ShinkoAustralia2025-09-25Feltz Printing Service NEW7Stephen Shaw
1034Stacey Y StockhamSpain2025-09-26Printing Dimensions RENEWAL52Anna Fali
1035Silvio J BriddickRussia2025-10-09Truhlar And Truhlar Attys NEGOTIATION20Xuxue Feng
1036Octavia Y GarufiJapan2025-10-03Dorl, James J Esq NEGOTIATION96Ivan Magalhaes
1037Jeanfrancois S DilliardJapan2025-10-06Printing Dimensions NEW99Stephen Shaw
1038Jefferson Q MarrierJapan2025-10-08Benton, John B Jr NEGOTIATION69Stephen Shaw
1039Clifford V PerinRussia2025-10-02Truhlar And Truhlar Attys NEW70Anna Fali
1040Aditya Q ShinkoSpain2025-10-11Truhlar And Truhlar Attys NEGOTIATION84Amy Elsner
1041Aruna P WhobreyItaly2025-10-14Chapman, Ross E Esq PROPOSAL55Ivan Magalhaes
1042Kaitlin Y RulapaughFrance2025-10-03Feiner Bros NEW70Bernardo Dominic
1043Jefferson E MaletArgentina2025-09-20Chapman, Ross E Esq RENEWAL87Bernardo Dominic
1044Jeanfrancois Y AmigonRussia2025-10-14Printing Dimensions UNQUALIFIED18Asiya Javayant
1045Cody Z OldroydSpain2025-10-01Rangoni Of Florence NEGOTIATION73Xuxue Feng
1046Jones N SlusarskiFrance2025-09-30Dorl, James J Esq PROPOSAL2Onyama Limba
1047Izzy N SergiSpain2025-10-10Feiner Bros NEGOTIATION67Stephen Shaw
1048David Q OstroskyArgentina2025-10-17Dorl, James J Esq PROPOSAL29Stephen Shaw
1049James S MorascaCanada2025-10-09Feiner Bros NEW6Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Leon G WhobreyAustraliaAmy Elsner UNQUALIFIED
Sinclair N WaycottGermanyOnyama Limba NEGOTIATION
Deepesh B FerenczAustraliaOnyama Limba NEGOTIATION
Antonio Z WaycottIndiaOnyama Limba RENEWAL
Izzy P RulapaughAustraliaElwin Sharvill NEW
Mujtaba I RimArgentinaStephen Shaw PROPOSAL
James H ChuiBrazilBernardo Dominic QUALIFIED
Munro C CaldareraUnited KingdomIoni Bowcher UNQUALIFIED
Salvatore Y DarakjyIndiaOnyama Limba NEW
Antonio D BriddickBrazilBernardo Dominic UNQUALIFIED
Claire O SchemmerArgentinaIoni Bowcher QUALIFIED
Nicolas S IturbideGermanyBernardo Dominic PROPOSAL
Ricardo J SlusarskiCanadaAnna Fali PROPOSAL
Jeanfrancois F DarakjyGermanyStephen Shaw NEW
Faith L PerinUnited KingdomStephen Shaw PROPOSAL
Emily P MacleadArgentinaIoni Bowcher NEGOTIATION
Julie D OldroydGermanyAsiya Javayant NEGOTIATION
Kadeem S PaprockiAustraliaAmy Elsner NEGOTIATION
Adams X WieserUnited KingdomAmy Elsner NEGOTIATION
Isabel W TollnerSpainIvan Magalhaes RENEWAL
Maisha L SergiUnited KingdomXuxue Feng PROPOSAL
Leon S MarrierGermanyOnyama Limba PROPOSAL
Ashley E ChuiItalyOnyama Limba NEW
Maria K CaudyGermanyBernardo Dominic QUALIFIED
Faith M NestleJapanIvan Magalhaes NEW
Stacey G ChuiCanadaIvan Magalhaes NEW
Ivar R SlusarskiItalyBernardo Dominic UNQUALIFIED
Clifford L RutaBrazilOnyama Limba NEGOTIATION
Adams M BowleyIndiaAnna Fali QUALIFIED
Deepesh Q RulapaughBrazilIvan Magalhaes NEGOTIATION
Nicolas E StensethJapanAnna Fali QUALIFIED
Wickens Y BriddickUnited KingdomElwin Sharvill PROPOSAL
Johnson N AmigonRussiaIvan Magalhaes PROPOSAL
Jennifer V CampainIndiaStephen Shaw PROPOSAL
Deepesh B WhobreyArgentinaIoni Bowcher NEW
Kadeem C OldroydCanadaBernardo Dominic QUALIFIED
Chavez Q RoysterArgentinaOnyama Limba UNQUALIFIED
Arvin H TollnerBrazilIoni Bowcher NEGOTIATION
Wickens H FerenczSpainAmy Elsner UNQUALIFIED
Kaitlin W DoeGermanyBernardo Dominic QUALIFIED
Claire J SlusarskiSpainAsiya Javayant NEW
Kaitlin N SchemmerRussiaBernardo Dominic RENEWAL
Aruna R BowleyBrazilBernardo Dominic NEGOTIATION
Deepesh Q PoquetteArgentinaAnna Fali QUALIFIED
Izzy Z MacleadArgentinaIvan Magalhaes PROPOSAL
Greenwood T GarufiBrazilAnna Fali QUALIFIED
Alejandro S GlickFranceAnna Fali NEGOTIATION
Nicolas V WhobreyFranceAsiya Javayant NEW
Smith Q PerinItalyBernardo Dominic PROPOSAL
Mujtaba Z FlosiJapanIoni Bowcher NEW
Frozen Columns
Name
Deepesh F Darakjy
Rodrigues D Campain
Misaki H Doe
Jefferson J Perin
Clifford E Inouye
Jeanfrancois F Amigon
Darci I Ferencz
Isabel V Oldroyd
Mujtaba P Ferencz
Mujtaba I Gaucho
Adams J Malet
Deepesh D Bowley
Darci X Caudy
Julie I Iturbide
Kaitlin N Briddick
Aditya L Oldroyd
Mayumi Q Stockham
Adams T Royster
Aruna R Iturbide
Izzy P Rulapaugh
Faith X Waycott
Cody S Oldroyd
Morrow V Venere
Costa F Rulapaugh
Rodrigues W Doe
Julie S Royster
Murillo G Iturbide
Ashley R Stockham
Smith P Amigon
Munro C Albares
Faith Q Saylors
Antonio Q Glick
Nicolas N Paprocki
Johnson N Amigon
Jones Z Flosi
Munro T Kusko
Chavez T Tollner
Maisha I Sergi
Adams E Caudy
Jeanfrancois N Caldarera
Faith X Foller
Murillo V Glick
Adams W Sergi
Rodrigues N Whobrey
Clifford A Inouye
Deepesh O Figeroa
Ivar H Malet
Rodrigues A Bowley
Leon F Gaucho
Kaitlin T Ruta
IdCountryDate
1000Japan2025-10-19
1001Russia2025-10-18
1002Spain2025-10-02
1003Canada2025-10-04
1004Brazil2025-09-24
1005Italy2025-10-19
1006India2025-09-25
1007Brazil2025-10-05
1008United Kingdom2025-09-30
1009Spain2025-10-06
1010Russia2025-09-29
1011Argentina2025-10-04
1012Spain2025-10-04
1013Argentina2025-10-02
1014Canada2025-10-17
1015Canada2025-09-20
1016Japan2025-10-13
1017India2025-10-04
1018Argentina2025-10-04
1019France2025-10-18
1020Germany2025-10-13
1021Argentina2025-09-30
1022France2025-10-11
1023Italy2025-10-16
1024India2025-09-24
1025Argentina2025-10-04
1026Italy2025-10-01
1027Canada2025-10-14
1028India2025-10-02
1029France2025-10-16
1030Brazil2025-10-17
1031Argentina2025-10-15
1032United Kingdom2025-10-10
1033India2025-10-13
1034Italy2025-09-30
1035United Kingdom2025-10-10
1036Argentina2025-10-01
1037Australia2025-10-04
1038Italy2025-10-17
1039Spain2025-09-23
1040France2025-10-09
1041Japan2025-10-01
1042Italy2025-10-09
1043Spain2025-10-05
1044Russia2025-10-01
1045Brazil2025-10-07
1046United Kingdom2025-09-29
1047Brazil2025-09-23
1048United Kingdom2025-10-15
1049France2025-09-28

On-Demand Data

NameIdCountryDate
Sinclair Y Shinko1000Canada2025-10-14
Jennifer N Whobrey1001Argentina2025-10-12
Costa X Rim1002Argentina2025-09-29
Salvatore F Butt1003Spain2025-10-12
Francesco Q Stockham1004Canada2025-10-09
Jeanfrancois S Doe1005Canada2025-10-07
Leon G Rim1006Canada2025-10-03
Jefferson W Ostrosky1007Brazil2025-10-18
Aruna S Figeroa1008Japan2025-10-07
Jeanfrancois F Kolmetz1009Canada2025-10-12
Jennifer N Glick1010Italy2025-10-06
Munro B Perin1011Argentina2025-10-12
Jeanfrancois C Caldarera1012France2025-10-07
Clifford B Perin1013Russia2025-09-25
Isabel A Dilliard1014Russia2025-10-15
Leja Q Ferencz1015Japan2025-09-28
Ivar Q Sergi1016Italy2025-09-27
Maria V Gillian1017Russia2025-10-08
Leja J Schemmer1018United Kingdom2025-10-15
Emily D Perin1019Russia2025-10-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer Y ButtGermanyStephen Shaw NEGOTIATION
Mayumi N KuskoItalyAnna Fali PROPOSAL
Jones H TollnerBrazilAsiya Javayant NEGOTIATION
Mayumi M GauchoSpainIvan Magalhaes NEGOTIATION
Julie F InouyeIndiaIoni Bowcher UNQUALIFIED
Isabel X BriddickUnited KingdomXuxue Feng NEGOTIATION
Maria W GauchoSpainOnyama Limba PROPOSAL
Juan O VocelkaCanadaXuxue Feng NEGOTIATION
Aruna Q OstroskyIndiaElwin Sharvill RENEWAL
Mayumi Y MarrierGermanyBernardo Dominic RENEWAL
Johnson O CaldareraJapanStephen Shaw NEGOTIATION
Leja O RulapaughJapanAnna Fali RENEWAL
Cody O MaletArgentinaIvan Magalhaes UNQUALIFIED
Greenwood F InouyeGermanyAnna Fali NEW
Misaki R GillianSpainBernardo Dominic PROPOSAL
Cody N GarufiUnited KingdomIoni Bowcher UNQUALIFIED
Clifford Q BologniaSpainAsiya Javayant NEW
Stacey A SlusarskiItalyXuxue Feng NEGOTIATION
Emily K GauchoArgentinaAsiya Javayant RENEWAL
Aika Y RutaAustraliaIvan Magalhaes NEW
Ashley E SchemmerAustraliaAmy Elsner QUALIFIED
Antonio X DarakjyGermanyIoni Bowcher UNQUALIFIED
Octavia W MorascaFranceXuxue Feng NEW
Silvio C CaldareraCanadaXuxue Feng PROPOSAL
Ashley A GauchoGermanyStephen Shaw NEW
Antonio X DarakjyFranceAsiya Javayant QUALIFIED
Munro D PaprockiUnited KingdomElwin Sharvill PROPOSAL
Juan Z PaprockiUnited KingdomIvan Magalhaes QUALIFIED
Costa A SaylorsRussiaAmy Elsner RENEWAL
Julie G WieserUnited KingdomStephen Shaw NEGOTIATION
Sinclair R StockhamIndiaStephen Shaw QUALIFIED
Silvio P ButtUnited KingdomBernardo Dominic UNQUALIFIED
Maisha E ButtFranceStephen Shaw RENEWAL
Stacey O RoysterBrazilAmy Elsner PROPOSAL
Emily F KuskoCanadaOnyama Limba RENEWAL
Misaki A IturbideAustraliaAsiya Javayant UNQUALIFIED
Jennifer E GarufiJapanAnna Fali NEW
Morrow J IturbideIndiaStephen Shaw PROPOSAL
Ashley U DilliardIndiaXuxue Feng NEGOTIATION
Murillo I ChuiSpainIoni Bowcher 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>