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
Darci H OldroydAustraliaElwin Sharvill UNQUALIFIED
Aditya V StockhamItalyStephen Shaw PROPOSAL
Kaitlin B GarufiJapanAsiya Javayant QUALIFIED
Antonio P DilliardJapanIvan Magalhaes NEW
Nicolas O WhobreyItalyIoni Bowcher UNQUALIFIED
Cody X GlickFranceIoni Bowcher UNQUALIFIED
Jennifer A VenereSpainAmy Elsner UNQUALIFIED
Leja K DoeItalyAmy Elsner NEW
Salvatore S WhobreyBrazilBernardo Dominic RENEWAL
Silvio O StockhamItalyOnyama Limba PROPOSAL
Misaki M GarufiArgentinaStephen Shaw PROPOSAL
Adams W NickaItalyOnyama Limba RENEWAL
Juan B ShinkoGermanyElwin Sharvill QUALIFIED
Nicolas C OstroskyRussiaIvan Magalhaes UNQUALIFIED
Cody C MorascaGermanyOnyama Limba NEGOTIATION
Maria V FerenczSpainIoni Bowcher NEGOTIATION
Smith D SergiGermanyBernardo Dominic NEGOTIATION
Murillo E GauchoJapanBernardo Dominic RENEWAL
Maria P GarufiUnited KingdomStephen Shaw NEGOTIATION
Mujtaba Z AmigonGermanyElwin Sharvill QUALIFIED
Francesco L DarakjyBrazilIvan Magalhaes NEGOTIATION
Julie M VocelkaCanadaIvan Magalhaes NEW
Claire B FigeroaIndiaXuxue Feng PROPOSAL
Tony J MaletSpainIvan Magalhaes NEW
Antonio K ButtJapanAmy Elsner RENEWAL
Kadeem S DoeCanadaAnna Fali UNQUALIFIED
Rodrigues F MorascaBrazilIvan Magalhaes UNQUALIFIED
Antonio O ChuiBrazilOnyama Limba NEGOTIATION
Alejandro I InouyeFranceXuxue Feng NEGOTIATION
Ashley C DoeRussiaAnna Fali PROPOSAL
Kaitlin Z OstroskyUnited KingdomAnna Fali NEW
Chavez E DoeSpainAmy Elsner QUALIFIED
Izzy R FigeroaBrazilAsiya Javayant NEGOTIATION
Misaki U VocelkaRussiaOnyama Limba NEW
Emily Z KuskoJapanAmy Elsner NEW
Julie S DarakjyRussiaOnyama Limba RENEWAL
Maisha T RutaArgentinaAnna Fali NEGOTIATION
Rodrigues M MaletBrazilOnyama Limba RENEWAL
Wickens D MaletFranceAnna Fali RENEWAL
Cody Y KolmetzGermanyIoni Bowcher QUALIFIED
Misaki Q OstroskyAustraliaStephen Shaw QUALIFIED
Kadeem D CampainCanadaElwin Sharvill UNQUALIFIED
Jennifer C SergiRussiaStephen Shaw NEW
Murillo K CaldareraIndiaIvan Magalhaes NEW
Mayumi O FlosiGermanyElwin Sharvill UNQUALIFIED
Leon T InouyeCanadaAsiya Javayant QUALIFIED
Claire C NickaCanadaBernardo Dominic NEGOTIATION
Alejandro S RulapaughRussiaOnyama Limba PROPOSAL
Wickens A SaylorsFranceElwin Sharvill PROPOSAL
Salvatore L DilliardArgentinaAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Wickens D MaletSpainStephen Shaw RENEWAL
Kadeem K NestleSpainAmy Elsner PROPOSAL
Murillo X SergiSpainIoni Bowcher PROPOSAL
Nicolas R FollerItalyBernardo Dominic NEW
Faith L CaldareraItalyIvan Magalhaes QUALIFIED
Tony V SergiAustraliaStephen Shaw UNQUALIFIED
Smith N VenereJapanStephen Shaw UNQUALIFIED
Tony P CaudyAustraliaXuxue Feng NEGOTIATION
Francesco Y CampainIndiaIoni Bowcher PROPOSAL
Sinclair N OldroydBrazilXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco S MarrierArgentina2025-10-16Feltz Printing Service NEGOTIATION43Xuxue Feng
1001Leja K FerenczFrance2025-10-09Morlong Associates RENEWAL17Xuxue Feng
1002Maisha P FigeroaRussia2025-09-30Chemel, James L Cpa NEGOTIATION23Asiya Javayant
1003Kadeem X RutaSpain2025-10-06Rangoni Of Florence NEGOTIATION35Bernardo Dominic
1004Leja I GillianJapan2025-10-08Chanay, Jeffrey A Esq QUALIFIED0Ioni Bowcher
1005Arvin Q KolmetzGermany2025-10-12Chanay, Jeffrey A Esq RENEWAL82Amy Elsner
1006Arvin J FerenczItaly2025-10-14Rangoni Of Florence RENEWAL5Onyama Limba
1007Salvatore E MarrierCanada2025-10-09Feltz Printing Service PROPOSAL78Stephen Shaw
1008James A GarufiItaly2025-10-18Truhlar And Truhlar Attys UNQUALIFIED67Asiya Javayant
1009Juan M CaldareraAustralia2025-09-22Truhlar And Truhlar Attys NEGOTIATION49Xuxue Feng
1010Maria M ChuiGermany2025-09-26Benton, John B Jr NEGOTIATION49Xuxue Feng
1011Aditya J BologniaUnited Kingdom2025-09-22Chapman, Ross E Esq PROPOSAL33Asiya Javayant
1012Kadeem B GarufiFrance2025-10-19Rousseaux, Michael Esq QUALIFIED72Onyama Limba
1013Tony R WaycottJapan2025-10-15Buckley Miller Wright QUALIFIED84Xuxue Feng
1014Francesco I StockhamIndia2025-10-04Feiner Bros NEGOTIATION37Elwin Sharvill
1015Maria M GillianAustralia2025-09-25Printing Dimensions RENEWAL26Elwin Sharvill
1016Salvatore Q InouyeUnited Kingdom2025-10-01Dorl, James J Esq RENEWAL62Asiya Javayant
1017Rodrigues C MacleadAustralia2025-10-07Chapman, Ross E Esq UNQUALIFIED44Ivan Magalhaes
1018Leon N InouyeSpain2025-10-05Printing Dimensions RENEWAL44Amy Elsner
1019Arvin K AmigonRussia2025-10-17Rousseaux, Michael Esq PROPOSAL89Anna Fali
1020Izzy T ShinkoJapan2025-10-18King, Christopher A Esq QUALIFIED65Xuxue Feng
1021Smith D RulapaughArgentina2025-10-06Rousseaux, Michael Esq NEGOTIATION45Bernardo Dominic
1022Chavez S OldroydArgentina2025-10-19Feiner Bros NEGOTIATION4Xuxue Feng
1023Mujtaba R SaylorsSpain2025-10-02Commercial Press QUALIFIED20Anna Fali
1024David D NestleCanada2025-10-19Commercial Press NEW74Amy Elsner
1025Isabel P WhobreyBrazil2025-09-21Feltz Printing Service PROPOSAL2Bernardo Dominic
1026David M AmigonAustralia2025-10-19Morlong Associates NEGOTIATION97Amy Elsner
1027Izzy F FigeroaCanada2025-10-14Benton, John B Jr PROPOSAL90Asiya Javayant
1028Misaki I WaycottSpain2025-09-29Morlong Associates NEW17Anna Fali
1029Ricardo X VenereArgentina2025-10-01Chapman, Ross E Esq NEGOTIATION17Asiya Javayant
1030Jefferson C RulapaughAustralia2025-10-14Benton, John B Jr NEW47Ioni Bowcher
1031Jones C RimItaly2025-10-05Benton, John B Jr UNQUALIFIED72Elwin Sharvill
1032Claire C BowleyFrance2025-10-09Feiner Bros NEGOTIATION34Xuxue Feng
1033Wickens H DilliardItaly2025-09-22Rousseaux, Michael Esq NEW11Amy Elsner
1034Kaitlin C WhobreyArgentina2025-09-22Dorl, James J Esq QUALIFIED18Ioni Bowcher
1035Aruna P DarakjyGermany2025-10-01Truhlar And Truhlar Attys PROPOSAL92Ivan Magalhaes
1036Julie N FollerItaly2025-09-24Benton, John B Jr NEW44Xuxue Feng
1037Francesco V StockhamGermany2025-09-27Chapman, Ross E Esq NEW81Amy Elsner
1038Silvio L SergiRussia2025-10-06King, Christopher A Esq QUALIFIED38Elwin Sharvill
1039Faith M RimArgentina2025-10-13Morlong Associates NEGOTIATION86Anna Fali
1040Smith E OldroydFrance2025-09-26Dorl, James J Esq NEW51Anna Fali
1041Octavia X MarrierSpain2025-09-25Chemel, James L Cpa RENEWAL35Onyama Limba
1042Francesco N PerinSpain2025-10-01Buckley Miller Wright PROPOSAL24Asiya Javayant
1043Aditya I DarakjyAustralia2025-10-12Feiner Bros NEW55Onyama Limba
1044Silvio T OstroskyRussia2025-10-02Chanay, Jeffrey A Esq QUALIFIED47Xuxue Feng
1045Claire G NestleBrazil2025-09-22Buckley Miller Wright NEGOTIATION47Amy Elsner
1046Octavia K DoeBrazil2025-10-03Benton, John B Jr PROPOSAL33Elwin Sharvill
1047Claire Q GlickFrance2025-10-02Benton, John B Jr RENEWAL48Bernardo Dominic
1048Emily S GlickBrazil2025-10-06Feiner Bros QUALIFIED40Ivan Magalhaes
1049Ricardo K GlickBrazil2025-09-29Chemel, James L Cpa RENEWAL68Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
James N OldroydGermanyAmy Elsner UNQUALIFIED
Ivar H MaletGermanyElwin Sharvill NEGOTIATION
Chavez G ButtArgentinaAnna Fali NEGOTIATION
Nicolas V MorascaRussiaBernardo Dominic QUALIFIED
Smith Z MaletJapanBernardo Dominic NEW
Nicolas P AlbaresRussiaAsiya Javayant PROPOSAL
Johnson C RoysterSpainElwin Sharvill NEW
Julie B PaprockiAustraliaStephen Shaw UNQUALIFIED
Costa O ShinkoGermanyAnna Fali RENEWAL
Emily R VenereUnited KingdomStephen Shaw PROPOSAL
Costa A PerinFranceAmy Elsner QUALIFIED
Ashley R RulapaughItalyAsiya Javayant UNQUALIFIED
Maisha P MaletRussiaAnna Fali PROPOSAL
Silvio K PerinItalyAnna Fali QUALIFIED
Aika X NestleArgentinaAmy Elsner UNQUALIFIED
Morrow O ShinkoRussiaAmy Elsner NEW
Ashley G ShinkoBrazilXuxue Feng NEW
Arvin Y TollnerJapanOnyama Limba NEW
Antonio W FerenczFranceAsiya Javayant QUALIFIED
David A MaletUnited KingdomStephen Shaw QUALIFIED
Arvin N DilliardJapanElwin Sharvill PROPOSAL
David D KolmetzArgentinaIoni Bowcher PROPOSAL
Stacey B CaldareraArgentinaElwin Sharvill NEW
Chavez Q MarrierUnited KingdomAsiya Javayant UNQUALIFIED
Nicolas J CampainGermanyXuxue Feng UNQUALIFIED
Aditya B IturbideAustraliaStephen Shaw QUALIFIED
Costa P VenereFranceIvan Magalhaes NEW
Smith Y MarrierIndiaAnna Fali QUALIFIED
Juan A SaylorsIndiaBernardo Dominic UNQUALIFIED
Salvatore V CampainArgentinaIvan Magalhaes RENEWAL
Faith P KolmetzCanadaIoni Bowcher QUALIFIED
Rodrigues P ShinkoIndiaIoni Bowcher NEGOTIATION
Misaki X NestleArgentinaStephen Shaw QUALIFIED
Francesco G MacleadJapanElwin Sharvill NEGOTIATION
Clifford L MaletJapanIvan Magalhaes UNQUALIFIED
Deepesh K RulapaughAustraliaBernardo Dominic QUALIFIED
Aditya A BologniaIndiaOnyama Limba UNQUALIFIED
Deepesh U ButtRussiaAmy Elsner PROPOSAL
Morrow R VocelkaBrazilAsiya Javayant QUALIFIED
Alejandro J PerinRussiaBernardo Dominic PROPOSAL
Faith K KuskoBrazilStephen Shaw NEGOTIATION
Aditya L TollnerAustraliaAmy Elsner UNQUALIFIED
Ivar A DilliardIndiaElwin Sharvill RENEWAL
Jennifer T RulapaughAustraliaElwin Sharvill RENEWAL
Murillo Y DilliardFranceIvan Magalhaes QUALIFIED
Antonio Z ButtRussiaAmy Elsner RENEWAL
Nicolas O SlusarskiSpainAsiya Javayant RENEWAL
Jefferson H IturbideIndiaOnyama Limba NEW
Aruna O KuskoIndiaOnyama Limba UNQUALIFIED
Munro S SlusarskiArgentinaIoni Bowcher QUALIFIED
Frozen Columns
Name
Mujtaba P Ostrosky
Munro T Venere
Aruna Y Darakjy
David Z Dilliard
Octavia G Schemmer
Wickens W Whobrey
Juan T Malet
Costa C Vocelka
Wickens B Gaucho
Aika S Iturbide
Rodrigues C Bolognia
Ashley P Darakjy
Aika X Briddick
Stacey X Shinko
Chavez K Vocelka
Juan Y Poquette
Clifford G Oldroyd
Alejandro W Morasca
Izzy H Ruta
Emily Z Garufi
Faith H Chui
Izzy C Iturbide
Misaki Z Amigon
Silvio R Waycott
Leon S Darakjy
Alejandro B Malet
Salvatore E Nestle
James V Amigon
Rodrigues I Kolmetz
Greenwood E Saylors
Leja G Perin
Adams R Caldarera
Mujtaba J Kusko
Morrow R Nicka
Izzy A Morasca
Misaki M Morasca
Silvio O Waycott
Misaki I Figeroa
Wickens V Chui
Jeanfrancois A Doe
Aruna U Malet
Kadeem Y Figeroa
Faith E Figeroa
Kadeem R Dilliard
Costa C Doe
Munro T Foller
Leja B Ruta
Jones C Sergi
Sinclair H Maclead
Aika I Oldroyd
IdCountryDate
1000Spain2025-09-29
1001United Kingdom2025-10-05
1002India2025-10-18
1003Japan2025-09-25
1004Brazil2025-09-25
1005Italy2025-09-23
1006France2025-09-21
1007Canada2025-10-13
1008Brazil2025-10-06
1009Russia2025-10-03
1010Brazil2025-10-02
1011Spain2025-10-07
1012Australia2025-10-05
1013Argentina2025-10-17
1014France2025-09-20
1015Spain2025-10-06
1016United Kingdom2025-10-19
1017Australia2025-10-07
1018United Kingdom2025-10-16
1019Russia2025-09-22
1020Brazil2025-10-16
1021Argentina2025-10-15
1022Australia2025-10-01
1023Germany2025-10-07
1024Italy2025-10-02
1025Australia2025-09-27
1026Japan2025-10-10
1027Brazil2025-10-04
1028Brazil2025-10-01
1029Germany2025-10-03
1030Italy2025-09-29
1031United Kingdom2025-10-09
1032Italy2025-09-22
1033United Kingdom2025-09-29
1034Australia2025-09-20
1035France2025-10-04
1036Germany2025-10-16
1037United Kingdom2025-10-07
1038Argentina2025-10-10
1039France2025-09-29
1040France2025-09-21
1041Australia2025-09-27
1042Germany2025-10-18
1043Australia2025-10-09
1044France2025-09-25
1045Argentina2025-10-14
1046India2025-09-24
1047Japan2025-09-24
1048India2025-10-18
1049Brazil2025-10-13

On-Demand Data

NameIdCountryDate
Alejandro O Waycott1000Brazil2025-10-07
Ivar A Oldroyd1001India2025-10-19
Claire B Royster1002India2025-09-27
Greenwood Z Darakjy1003France2025-10-15
Ashley A Wieser1004Russia2025-10-07
Antonio B Wieser1005India2025-10-07
Greenwood C Maclead1006Germany2025-09-27
Johnson U Figeroa1007Argentina2025-10-06
Kaitlin I Glick1008Italy2025-10-16
Mujtaba D Gillian1009Italy2025-10-18
David V Bolognia1010Canada2025-10-02
Rodrigues L Kusko1011Italy2025-09-22
Wickens P Dilliard1012France2025-10-02
Arvin P Slusarski1013United Kingdom2025-09-30
Smith I Malet1014India2025-09-27
Maria Z Nicka1015United Kingdom2025-10-04
Murillo Z Saylors1016Argentina2025-09-27
Jefferson H Wieser1017Brazil2025-10-08
Clifford N Slusarski1018Germany2025-10-10
Juan S Chui1019Spain2025-09-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer S IturbideJapanAnna Fali UNQUALIFIED
Jennifer Z PaprockiCanadaIoni Bowcher QUALIFIED
Cody T CampainSpainIoni Bowcher UNQUALIFIED
Stacey R CampainCanadaAmy Elsner RENEWAL
Murillo Z NickaItalyElwin Sharvill PROPOSAL
Faith B MorascaAustraliaXuxue Feng PROPOSAL
Kaitlin P FerenczBrazilAmy Elsner QUALIFIED
Munro Z GarufiIndiaAmy Elsner QUALIFIED
Isabel O SlusarskiSpainIvan Magalhaes NEW
Smith W CaldareraJapanAnna Fali NEGOTIATION
Morrow J BriddickUnited KingdomOnyama Limba QUALIFIED
Jennifer O GlickSpainAmy Elsner NEW
Ricardo P MacleadIndiaAnna Fali NEGOTIATION
Leja T RoysterItalyElwin Sharvill NEGOTIATION
Arvin K PerinIndiaStephen Shaw QUALIFIED
Mujtaba M NickaSpainIvan Magalhaes NEW
Aditya Z MacleadSpainBernardo Dominic PROPOSAL
Emily A DilliardUnited KingdomAnna Fali NEW
Salvatore Z CampainFranceIoni Bowcher PROPOSAL
Ivar Q StensethGermanyOnyama Limba QUALIFIED
Aruna S FigeroaArgentinaOnyama Limba NEW
Alejandro U MacleadGermanyBernardo Dominic PROPOSAL
Jeanfrancois V MarrierArgentinaStephen Shaw QUALIFIED
Jefferson M WaycottUnited KingdomIvan Magalhaes QUALIFIED
Ricardo F CaldareraBrazilOnyama Limba PROPOSAL
Arvin F AmigonFranceAsiya Javayant NEW
Juan U DilliardJapanIvan Magalhaes NEGOTIATION
Silvio D TollnerArgentinaXuxue Feng QUALIFIED
Ivar J FigeroaSpainOnyama Limba PROPOSAL
Antonio P FlosiUnited KingdomAsiya Javayant PROPOSAL
Izzy Z WieserItalyElwin Sharvill RENEWAL
Misaki E DilliardCanadaAmy Elsner RENEWAL
Wickens I MacleadBrazilElwin Sharvill QUALIFIED
Juan I BowleyCanadaBernardo Dominic PROPOSAL
Emily D BologniaUnited KingdomIoni Bowcher QUALIFIED
Cody F SchemmerItalyAsiya Javayant PROPOSAL
Jennifer O StensethArgentinaAmy Elsner RENEWAL
Adams E SlusarskiArgentinaIoni Bowcher PROPOSAL
Izzy I CaudyItalyOnyama Limba QUALIFIED
Mujtaba J FerenczSpainOnyama Limba UNQUALIFIED

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