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
Tony V WhobreyGermanyAnna Fali PROPOSAL
Silvio M StensethIndiaElwin Sharvill UNQUALIFIED
Leja X MacleadRussiaIvan Magalhaes RENEWAL
Jeanfrancois V KolmetzArgentinaOnyama Limba QUALIFIED
Smith D BowleyArgentinaXuxue Feng NEGOTIATION
Rodrigues A SergiFranceIvan Magalhaes RENEWAL
Morrow K VocelkaSpainBernardo Dominic RENEWAL
Jones H SaylorsCanadaStephen Shaw NEW
Murillo E SchemmerItalyElwin Sharvill NEW
Rodrigues R GauchoArgentinaAsiya Javayant PROPOSAL
Murillo V PaprockiJapanIoni Bowcher PROPOSAL
Chavez Z GlickBrazilXuxue Feng UNQUALIFIED
Juan M NickaCanadaStephen Shaw NEW
Clifford X CampainFranceIoni Bowcher NEGOTIATION
Mujtaba N DoeBrazilAnna Fali RENEWAL
Jefferson Z BologniaAustraliaXuxue Feng NEW
Alejandro X StockhamIndiaOnyama Limba NEW
Stacey Z VocelkaBrazilAsiya Javayant NEW
Darci S MacleadBrazilAmy Elsner QUALIFIED
Salvatore B GlickIndiaBernardo Dominic PROPOSAL
Maisha N MaletSpainAnna Fali QUALIFIED
Cody P MaletGermanyAmy Elsner UNQUALIFIED
Ivar L MorascaUnited KingdomIvan Magalhaes QUALIFIED
Tony E StockhamBrazilIoni Bowcher PROPOSAL
Wickens P SlusarskiIndiaAnna Fali RENEWAL
Johnson C KuskoIndiaStephen Shaw RENEWAL
Jeanfrancois U IturbideRussiaStephen Shaw PROPOSAL
Leon G FollerBrazilStephen Shaw PROPOSAL
Aditya Y MacleadItalyAnna Fali RENEWAL
Alejandro E FigeroaBrazilIoni Bowcher QUALIFIED
Faith P WieserJapanAmy Elsner QUALIFIED
Deepesh L MaletJapanIoni Bowcher RENEWAL
Mujtaba D ShinkoSpainElwin Sharvill NEGOTIATION
Wickens Q CaldareraSpainBernardo Dominic PROPOSAL
James N RulapaughSpainAsiya Javayant RENEWAL
Izzy L MaletFranceXuxue Feng UNQUALIFIED
Stacey U SchemmerFranceElwin Sharvill PROPOSAL
Maria J OstroskyBrazilStephen Shaw NEW
Aika A KuskoJapanIvan Magalhaes RENEWAL
Ashley N GlickSpainAmy Elsner QUALIFIED
Salvatore I DarakjyBrazilElwin Sharvill QUALIFIED
Misaki W KolmetzIndiaElwin Sharvill PROPOSAL
Jennifer M BowleyBrazilBernardo Dominic NEGOTIATION
Aruna P ButtCanadaAnna Fali NEW
Aditya C IturbideSpainAsiya Javayant NEGOTIATION
Adams N GlickRussiaAmy Elsner NEW
Munro J NickaFranceBernardo Dominic RENEWAL
Murillo J AlbaresGermanyIvan Magalhaes QUALIFIED
Silvio F PaprockiSpainElwin Sharvill RENEWAL
Emily O VocelkaArgentinaXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Wickens Y StockhamAustraliaStephen Shaw NEW
Maisha P NickaGermanyBernardo Dominic PROPOSAL
Claire R CampainIndiaBernardo Dominic NEW
Adams X SlusarskiGermanyOnyama Limba NEGOTIATION
Aditya Q KuskoCanadaXuxue Feng PROPOSAL
Jeanfrancois Z ShinkoBrazilOnyama Limba UNQUALIFIED
Darci D AlbaresItalyOnyama Limba UNQUALIFIED
Kaitlin C MaletFranceStephen Shaw NEGOTIATION
Costa L PoquetteBrazilAsiya Javayant PROPOSAL
Greenwood J OldroydUnited KingdomOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo I SchemmerSpain2025-08-21Chapman, Ross E Esq RENEWAL39Amy Elsner
1001Jefferson F DilliardSpain2025-08-18Benton, John B Jr PROPOSAL81Ioni Bowcher
1002Aika A FigeroaCanada2025-08-01Feiner Bros RENEWAL9Bernardo Dominic
1003Smith C WaycottGermany2025-08-17Feiner Bros UNQUALIFIED86Stephen Shaw
1004Jones J CaudyAustralia2025-08-24Chemel, James L Cpa NEGOTIATION41Ioni Bowcher
1005Cody Z WieserUnited Kingdom2025-08-08Chapman, Ross E Esq PROPOSAL40Amy Elsner
1006Munro Z NestleItaly2025-08-25Printing Dimensions NEGOTIATION98Onyama Limba
1007Aika B BowleyBrazil2025-07-29King, Christopher A Esq UNQUALIFIED9Bernardo Dominic
1008Jeanfrancois T PoquetteRussia2025-08-24Feltz Printing Service RENEWAL48Stephen Shaw
1009Jefferson X DoeFrance2025-08-15Printing Dimensions NEW37Bernardo Dominic
1010Johnson Z RulapaughSpain2025-07-28Rousseaux, Michael Esq PROPOSAL98Ioni Bowcher
1011Sinclair S BologniaSpain2025-08-02Buckley Miller Wright RENEWAL83Asiya Javayant
1012Kadeem I NickaArgentina2025-08-21Feiner Bros QUALIFIED19Asiya Javayant
1013Izzy E SergiUnited Kingdom2025-08-17Chemel, James L Cpa PROPOSAL16Asiya Javayant
1014Juan T AmigonCanada2025-08-21Chapman, Ross E Esq RENEWAL1Amy Elsner
1015Aditya Y AlbaresFrance2025-08-20Commercial Press UNQUALIFIED23Bernardo Dominic
1016Mujtaba T MaletBrazil2025-08-13Buckley Miller Wright PROPOSAL46Ivan Magalhaes
1017Leja O BologniaFrance2025-08-13King, Christopher A Esq UNQUALIFIED71Onyama Limba
1018Darci X RutaCanada2025-07-29Dorl, James J Esq RENEWAL83Asiya Javayant
1019Antonio B WhobreyJapan2025-08-07Feltz Printing Service UNQUALIFIED20Asiya Javayant
1020Stacey W BologniaAustralia2025-08-15Truhlar And Truhlar Attys NEW47Ivan Magalhaes
1021Sinclair L KuskoRussia2025-07-30Feltz Printing Service QUALIFIED38Asiya Javayant
1022Isabel V OstroskyFrance2025-08-17Rangoni Of Florence RENEWAL43Bernardo Dominic
1023Sinclair N AmigonIndia2025-07-30Chemel, James L Cpa PROPOSAL67Elwin Sharvill
1024Murillo K NickaAustralia2025-08-09King, Christopher A Esq RENEWAL5Elwin Sharvill
1025Aruna J PoquetteSpain2025-08-18Buckley Miller Wright NEGOTIATION64Bernardo Dominic
1026Salvatore Z RimIndia2025-08-25Printing Dimensions QUALIFIED48Ivan Magalhaes
1027Isabel Q GillianArgentina2025-08-26Morlong Associates NEGOTIATION34Asiya Javayant
1028Nicolas B BologniaArgentina2025-08-16Rousseaux, Michael Esq NEW56Anna Fali
1029Octavia G WhobreyJapan2025-08-06Morlong Associates NEGOTIATION31Anna Fali
1030Jennifer H FlosiGermany2025-08-23Chapman, Ross E Esq UNQUALIFIED27Ioni Bowcher
1031Mayumi U RoysterItaly2025-08-15Printing Dimensions QUALIFIED77Bernardo Dominic
1032Tony M WaycottItaly2025-08-03Buckley Miller Wright NEGOTIATION13Elwin Sharvill
1033Maria Q OldroydIndia2025-08-10Chanay, Jeffrey A Esq QUALIFIED64Bernardo Dominic
1034Faith W AlbaresGermany2025-08-09Printing Dimensions UNQUALIFIED80Xuxue Feng
1035Emily E MorascaAustralia2025-08-03Rousseaux, Michael Esq NEGOTIATION28Bernardo Dominic
1036Deepesh M KuskoItaly2025-08-02Commercial Press QUALIFIED8Asiya Javayant
1037Munro S ChuiSpain2025-08-05Chapman, Ross E Esq NEW21Onyama Limba
1038Morrow P KolmetzCanada2025-08-04Buckley Miller Wright NEGOTIATION2Stephen Shaw
1039Isabel J PerinUnited Kingdom2025-08-14Chanay, Jeffrey A Esq NEGOTIATION15Bernardo Dominic
1040Silvio N ButtCanada2025-08-10King, Christopher A Esq NEW19Onyama Limba
1041Claire U VocelkaAustralia2025-08-22Printing Dimensions UNQUALIFIED38Amy Elsner
1042Maisha X AlbaresCanada2025-08-23Rousseaux, Michael Esq QUALIFIED71Xuxue Feng
1043Greenwood R MarrierFrance2025-08-26Chanay, Jeffrey A Esq UNQUALIFIED11Ioni Bowcher
1044Aruna V AlbaresIndia2025-08-24Rousseaux, Michael Esq RENEWAL5Asiya Javayant
1045Cody S BriddickItaly2025-08-02Printing Dimensions PROPOSAL66Bernardo Dominic
1046Jones H BologniaArgentina2025-07-31Printing Dimensions UNQUALIFIED7Bernardo Dominic
1047Isabel Z SaylorsSpain2025-08-07Buckley Miller Wright UNQUALIFIED61Ivan Magalhaes
1048Aditya V AlbaresBrazil2025-07-31Truhlar And Truhlar Attys NEW53Amy Elsner
1049Julie W MaletUnited Kingdom2025-08-04Feiner Bros QUALIFIED29Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois J RulapaughJapanOnyama Limba UNQUALIFIED
Aditya T StockhamBrazilBernardo Dominic NEW
Leja T SergiSpainStephen Shaw NEGOTIATION
Alejandro A MorascaIndiaAmy Elsner QUALIFIED
Murillo J WieserBrazilAnna Fali RENEWAL
Claire F VenereCanadaAmy Elsner NEGOTIATION
Maisha S BowleyUnited KingdomAsiya Javayant NEGOTIATION
Sinclair H DoeUnited KingdomElwin Sharvill NEGOTIATION
Jefferson Z WhobreyIndiaXuxue Feng QUALIFIED
Jennifer S WaycottFranceAsiya Javayant RENEWAL
Emily I StensethRussiaAnna Fali RENEWAL
Aditya V NickaRussiaAnna Fali UNQUALIFIED
Wickens A TollnerUnited KingdomIvan Magalhaes RENEWAL
Johnson I FerenczRussiaOnyama Limba NEW
Deepesh R BologniaArgentinaXuxue Feng UNQUALIFIED
Leon J FerenczSpainAmy Elsner QUALIFIED
Chavez R OstroskyArgentinaXuxue Feng UNQUALIFIED
Silvio T VenereRussiaElwin Sharvill PROPOSAL
Aruna V StockhamIndiaAsiya Javayant QUALIFIED
Ashley L IturbideBrazilBernardo Dominic NEGOTIATION
Clifford F OldroydBrazilElwin Sharvill NEGOTIATION
Kaitlin F SaylorsCanadaStephen Shaw RENEWAL
Ashley A StensethArgentinaStephen Shaw PROPOSAL
Octavia T FlosiItalyBernardo Dominic QUALIFIED
Silvio P RulapaughBrazilIoni Bowcher UNQUALIFIED
Juan R ChuiUnited KingdomIvan Magalhaes UNQUALIFIED
Ivar V VocelkaRussiaAmy Elsner NEW
Faith T FerenczArgentinaIoni Bowcher QUALIFIED
Francesco S WaycottRussiaXuxue Feng QUALIFIED
Ivar G CaldareraSpainOnyama Limba NEGOTIATION
Leon L CampainAustraliaOnyama Limba UNQUALIFIED
Aika J GlickArgentinaAmy Elsner UNQUALIFIED
Rodrigues R ChuiGermanyAnna Fali NEW
Munro S SchemmerIndiaXuxue Feng NEW
Antonio S InouyeCanadaElwin Sharvill NEW
Deepesh E WieserIndiaBernardo Dominic RENEWAL
Nicolas E RulapaughItalyIoni Bowcher NEGOTIATION
Isabel Z RulapaughArgentinaIoni Bowcher QUALIFIED
Jones O PaprockiItalyElwin Sharvill RENEWAL
Antonio M DoeAustraliaXuxue Feng UNQUALIFIED
Smith S KolmetzCanadaIvan Magalhaes QUALIFIED
Kaitlin S KolmetzRussiaAnna Fali RENEWAL
Greenwood L AlbaresRussiaXuxue Feng NEGOTIATION
Mujtaba I MacleadCanadaElwin Sharvill PROPOSAL
Claire N FigeroaCanadaAmy Elsner UNQUALIFIED
Stacey W RimJapanElwin Sharvill UNQUALIFIED
Darci I BowleyCanadaAsiya Javayant UNQUALIFIED
Leja V PoquetteCanadaXuxue Feng NEGOTIATION
Costa U ShinkoAustraliaIoni Bowcher NEGOTIATION
Antonio F CaldareraIndiaAmy Elsner QUALIFIED
Frozen Columns
Name
Jennifer X Royster
Clifford E Flosi
Emily W Vocelka
Aika A Foller
Stacey N Nicka
Jeanfrancois F Venere
Aruna T Waycott
Stacey Z Ferencz
Smith S Sergi
Julie Q Nicka
Morrow T Malet
Mujtaba Y Foller
Murillo W Slusarski
Kaitlin J Poquette
Deepesh H Rim
Alejandro X Ferencz
Salvatore J Caudy
Nicolas G Perin
Jennifer P Campain
Kaitlin P Royster
Isabel X Ostrosky
Alejandro Q Doe
Alejandro F Poquette
Faith C Flosi
Kaitlin F Marrier
Izzy E Caldarera
Jeanfrancois F Venere
Leon X Poquette
Ivar S Malet
Aruna M Ruta
Mayumi Y Campain
Clifford U Ruta
Leja N Oldroyd
Kaitlin C Ruta
Sinclair T Whobrey
Francesco V Doe
Claire P Butt
Octavia Y Rulapaugh
Tony H Perin
Arvin U Caudy
Julie T Bolognia
Ashley E Foller
James C Whobrey
Kaitlin D Figeroa
Jeanfrancois U Briddick
Munro G Foller
Antonio F Shinko
Faith K Marrier
Julie T Wieser
Salvatore B Saylors
IdCountryDate
1000France2025-08-04
1001United Kingdom2025-08-08
1002United Kingdom2025-08-02
1003Japan2025-08-16
1004Japan2025-08-24
1005Japan2025-08-10
1006Canada2025-08-04
1007Argentina2025-08-10
1008United Kingdom2025-08-01
1009France2025-08-09
1010India2025-08-03
1011Australia2025-08-01
1012Japan2025-08-15
1013Germany2025-08-25
1014Germany2025-08-19
1015Australia2025-08-10
1016France2025-08-18
1017United Kingdom2025-08-18
1018Spain2025-08-08
1019Italy2025-08-03
1020Brazil2025-08-06
1021Canada2025-07-31
1022Brazil2025-08-17
1023Japan2025-08-25
1024Japan2025-08-18
1025Japan2025-08-18
1026Russia2025-08-05
1027Brazil2025-08-21
1028Japan2025-08-26
1029United Kingdom2025-08-09
1030Brazil2025-08-22
1031Brazil2025-08-04
1032Germany2025-08-08
1033United Kingdom2025-08-23
1034Japan2025-08-16
1035Canada2025-08-20
1036Japan2025-08-26
1037United Kingdom2025-08-19
1038France2025-08-05
1039Spain2025-08-09
1040Japan2025-08-06
1041France2025-08-22
1042Russia2025-07-31
1043France2025-08-04
1044France2025-08-04
1045Canada2025-08-17
1046Argentina2025-08-15
1047Russia2025-08-04
1048Japan2025-08-05
1049Japan2025-07-28

On-Demand Data

NameIdCountryDate
Octavia I Malet1000Germany2025-08-21
Kaitlin S Flosi1001India2025-08-09
Mayumi Y Paprocki1002Argentina2025-08-23
Isabel Q Sergi1003United Kingdom2025-08-25
Antonio K Nicka1004United Kingdom2025-08-06
Jeanfrancois Y Bowley1005United Kingdom2025-07-28
Kadeem F Ruta1006Italy2025-08-04
Nicolas V Bowley1007India2025-08-12
Adams X Caudy1008Brazil2025-08-26
Johnson G Briddick1009Japan2025-08-09
Johnson W Slusarski1010Spain2025-08-22
Faith R Butt1011France2025-07-31
Jefferson H Chui1012Australia2025-08-03
David L Schemmer1013Canada2025-08-14
Ivar C Royster1014Russia2025-08-22
Salvatore U Waycott1015Italy2025-08-09
Rodrigues K Sergi1016Brazil2025-08-15
Murillo Q Malet1017Australia2025-08-21
Costa R Foller1018United Kingdom2025-08-26
Emily K Saylors1019Australia2025-08-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair V MarrierUnited KingdomIvan Magalhaes QUALIFIED
Mayumi O AlbaresSpainAmy Elsner UNQUALIFIED
Sinclair B KolmetzItalyBernardo Dominic PROPOSAL
Isabel N MaletUnited KingdomXuxue Feng RENEWAL
David A SlusarskiGermanyAmy Elsner QUALIFIED
Rodrigues C GillianFranceAsiya Javayant QUALIFIED
Misaki S ShinkoGermanyAmy Elsner QUALIFIED
Jeanfrancois C RoysterUnited KingdomOnyama Limba RENEWAL
Aditya U StockhamAustraliaBernardo Dominic NEGOTIATION
Juan F AmigonAustraliaAsiya Javayant NEGOTIATION
Johnson P DilliardJapanAnna Fali UNQUALIFIED
Ricardo K AmigonBrazilIoni Bowcher PROPOSAL
Tony U CaldareraRussiaOnyama Limba QUALIFIED
Salvatore O PaprockiSpainBernardo Dominic UNQUALIFIED
Ricardo J RimUnited KingdomXuxue Feng QUALIFIED
Rodrigues W GauchoBrazilElwin Sharvill NEW
Maisha B VenereGermanyAmy Elsner NEW
Maria H RulapaughAustraliaXuxue Feng UNQUALIFIED
Jennifer S FollerUnited KingdomIvan Magalhaes NEW
David C MaletSpainStephen Shaw UNQUALIFIED
David Y OstroskyUnited KingdomIoni Bowcher NEW
Alejandro S MorascaRussiaAnna Fali PROPOSAL
Greenwood A SergiRussiaAmy Elsner PROPOSAL
Ivar Q DarakjyUnited KingdomAnna Fali NEW
Aditya C CampainCanadaIvan Magalhaes RENEWAL
Juan I CaudySpainIoni Bowcher NEW
Maria Y ShinkoIndiaStephen Shaw NEGOTIATION
Munro Y GarufiArgentinaAmy Elsner NEGOTIATION
Mayumi R MorascaArgentinaIvan Magalhaes QUALIFIED
Sinclair A ChuiBrazilIoni Bowcher RENEWAL
Darci X SaylorsAustraliaStephen Shaw NEW
Rodrigues E WhobreyGermanyStephen Shaw NEGOTIATION
Kadeem G CaudyFranceElwin Sharvill RENEWAL
Salvatore P FigeroaUnited KingdomOnyama Limba PROPOSAL
Cody C BologniaAustraliaBernardo Dominic UNQUALIFIED
Mayumi B GlickJapanElwin Sharvill PROPOSAL
Costa C StockhamIndiaAnna Fali RENEWAL
Morrow O StensethItalyAmy Elsner QUALIFIED
Aditya T OldroydRussiaBernardo Dominic NEW
Ashley L NickaUnited KingdomIoni Bowcher 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>