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
Stacey F RulapaughBrazilIoni Bowcher NEW
Jones Q PerinGermanyAmy Elsner RENEWAL
Jefferson J WhobreyAustraliaAsiya Javayant NEW
David D MarrierAustraliaElwin Sharvill UNQUALIFIED
Izzy F MarrierItalyElwin Sharvill PROPOSAL
Adams P SergiCanadaBernardo Dominic QUALIFIED
Jennifer V FerenczFranceAsiya Javayant QUALIFIED
Juan W SaylorsItalyBernardo Dominic NEGOTIATION
Deepesh P PoquetteFranceOnyama Limba NEW
Antonio K VocelkaIndiaAnna Fali RENEWAL
Smith N CampainIndiaElwin Sharvill RENEWAL
Antonio Y RimBrazilAnna Fali NEW
James K BriddickIndiaIoni Bowcher NEW
Francesco O AmigonArgentinaAnna Fali PROPOSAL
Silvio R CaldareraGermanyStephen Shaw NEW
Mayumi L BriddickFranceBernardo Dominic RENEWAL
Jennifer K InouyeGermanyXuxue Feng PROPOSAL
Leon M GarufiFranceAmy Elsner NEW
Octavia B SchemmerAustraliaIoni Bowcher NEGOTIATION
Morrow W CaudyIndiaElwin Sharvill UNQUALIFIED
Jennifer V GarufiFranceBernardo Dominic NEGOTIATION
Tony A BriddickFranceBernardo Dominic UNQUALIFIED
Wickens Y ChuiArgentinaAmy Elsner UNQUALIFIED
Jefferson T RulapaughJapanStephen Shaw PROPOSAL
Cody M MaletFranceAsiya Javayant NEGOTIATION
Ashley H FerenczSpainIvan Magalhaes QUALIFIED
Munro K InouyeSpainElwin Sharvill UNQUALIFIED
Claire E GarufiBrazilElwin Sharvill NEW
Leon O SchemmerUnited KingdomElwin Sharvill PROPOSAL
Sinclair V SergiRussiaBernardo Dominic PROPOSAL
Ricardo J RulapaughRussiaAsiya Javayant UNQUALIFIED
Jennifer C WaycottUnited KingdomBernardo Dominic PROPOSAL
Ricardo I OldroydRussiaAmy Elsner QUALIFIED
Darci D MaletCanadaElwin Sharvill RENEWAL
Claire V VenereItalyAmy Elsner UNQUALIFIED
Izzy C RimBrazilStephen Shaw NEW
Jones P CaldareraSpainAsiya Javayant NEW
Kaitlin P FlosiAustraliaXuxue Feng NEW
Silvio X ButtUnited KingdomIoni Bowcher RENEWAL
Alejandro H DoeAustraliaIoni Bowcher PROPOSAL
Ricardo I FigeroaAustraliaBernardo Dominic RENEWAL
Nicolas V BriddickRussiaAmy Elsner NEW
Jones I RutaUnited KingdomOnyama Limba PROPOSAL
Aditya M GauchoFranceXuxue Feng QUALIFIED
Murillo C TollnerSpainAnna Fali QUALIFIED
Chavez Q WieserRussiaElwin Sharvill QUALIFIED
Adams B MaletAustraliaIoni Bowcher UNQUALIFIED
Leon N AlbaresRussiaAmy Elsner RENEWAL
Aditya K BowleyUnited KingdomIvan Magalhaes NEGOTIATION
Darci M DoeJapanElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maria J MacleadCanadaIvan Magalhaes PROPOSAL
Francesco R BologniaBrazilAnna Fali QUALIFIED
Silvio U BologniaItalyIoni Bowcher RENEWAL
Chavez A BowleyGermanyBernardo Dominic PROPOSAL
Jefferson G VocelkaJapanIvan Magalhaes QUALIFIED
Antonio M TollnerSpainAmy Elsner RENEWAL
Jones R KuskoBrazilAsiya Javayant NEGOTIATION
Jones S GlickCanadaOnyama Limba RENEWAL
Kaitlin V SlusarskiBrazilAsiya Javayant NEW
Maisha S BowleyAustraliaXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar A WhobreyUnited Kingdom2025-09-26Rousseaux, Michael Esq QUALIFIED35Xuxue Feng
1001Izzy X BriddickUnited Kingdom2025-09-29Printing Dimensions UNQUALIFIED72Ioni Bowcher
1002Ivar G MacleadFrance2025-10-10Chapman, Ross E Esq PROPOSAL21Ivan Magalhaes
1003Isabel K MacleadJapan2025-09-26Commercial Press RENEWAL66Asiya Javayant
1004Greenwood V ChuiBrazil2025-09-18Chemel, James L Cpa NEGOTIATION0Bernardo Dominic
1005Cody J DilliardBrazil2025-10-07Printing Dimensions NEW35Elwin Sharvill
1006Claire O BowleyIndia2025-09-29Feltz Printing Service PROPOSAL32Asiya Javayant
1007Kaitlin B OldroydBrazil2025-09-30Chapman, Ross E Esq RENEWAL51Onyama Limba
1008Leja U SchemmerSpain2025-10-03Chapman, Ross E Esq NEW89Elwin Sharvill
1009Mayumi F GauchoArgentina2025-09-19Chemel, James L Cpa RENEWAL72Anna Fali
1010Mujtaba U WieserItaly2025-10-08Printing Dimensions NEW98Ivan Magalhaes
1011Stacey N FollerCanada2025-09-17Feiner Bros RENEWAL71Ioni Bowcher
1012Munro U TollnerFrance2025-10-03Chanay, Jeffrey A Esq QUALIFIED52Anna Fali
1013Aditya W StensethSpain2025-10-06Chapman, Ross E Esq NEW90Amy Elsner
1014Alejandro M MaletIndia2025-10-10King, Christopher A Esq UNQUALIFIED3Onyama Limba
1015Kadeem A NickaItaly2025-10-13Chanay, Jeffrey A Esq NEW84Xuxue Feng
1016Jones W WieserUnited Kingdom2025-09-18King, Christopher A Esq UNQUALIFIED17Xuxue Feng
1017Leja O IturbideFrance2025-09-19Commercial Press PROPOSAL90Amy Elsner
1018Cody P TollnerCanada2025-10-11Benton, John B Jr RENEWAL55Anna Fali
1019Johnson Q FigeroaArgentina2025-10-11Printing Dimensions QUALIFIED40Ivan Magalhaes
1020Francesco F PaprockiArgentina2025-09-20Truhlar And Truhlar Attys NEGOTIATION90Onyama Limba
1021Rodrigues H ShinkoUnited Kingdom2025-09-29Chapman, Ross E Esq NEW46Onyama Limba
1022Claire N WhobreyItaly2025-09-16Feiner Bros RENEWAL42Amy Elsner
1023Izzy W FlosiAustralia2025-09-16Printing Dimensions NEGOTIATION9Stephen Shaw
1024Ricardo E RimUnited Kingdom2025-09-19Commercial Press QUALIFIED5Elwin Sharvill
1025Munro S ButtFrance2025-09-20Benton, John B Jr QUALIFIED86Stephen Shaw
1026Chavez A GillianUnited Kingdom2025-09-16Buckley Miller Wright QUALIFIED48Ioni Bowcher
1027Ricardo A GarufiCanada2025-09-18King, Christopher A Esq QUALIFIED43Onyama Limba
1028Ricardo I SlusarskiSpain2025-10-12Rangoni Of Florence PROPOSAL14Onyama Limba
1029David W WieserArgentina2025-09-15Feiner Bros NEW71Bernardo Dominic
1030Chavez L AlbaresIndia2025-09-18King, Christopher A Esq PROPOSAL57Onyama Limba
1031Juan W MarrierIndia2025-09-18Morlong Associates RENEWAL84Onyama Limba
1032David A MorascaIndia2025-09-20Benton, John B Jr PROPOSAL36Elwin Sharvill
1033Claire B KuskoItaly2025-10-01Rousseaux, Michael Esq RENEWAL18Asiya Javayant
1034Octavia B RoysterItaly2025-10-14Chanay, Jeffrey A Esq UNQUALIFIED41Bernardo Dominic
1035Antonio Z RimArgentina2025-09-15Buckley Miller Wright RENEWAL61Elwin Sharvill
1036Rodrigues C SergiSpain2025-09-28Benton, John B Jr RENEWAL77Anna Fali
1037Costa Y DilliardFrance2025-09-19Rousseaux, Michael Esq NEW97Ivan Magalhaes
1038Aruna I ShinkoAustralia2025-10-14Benton, John B Jr UNQUALIFIED2Anna Fali
1039Silvio U MaletArgentina2025-09-23Commercial Press NEW80Anna Fali
1040Jones U OldroydAustralia2025-10-10Truhlar And Truhlar Attys QUALIFIED13Asiya Javayant
1041Ashley B PaprockiUnited Kingdom2025-10-06Benton, John B Jr PROPOSAL74Stephen Shaw
1042Ashley H DilliardRussia2025-09-28Printing Dimensions RENEWAL10Bernardo Dominic
1043Juan V AlbaresRussia2025-09-17Rousseaux, Michael Esq PROPOSAL77Anna Fali
1044Misaki G DoeUnited Kingdom2025-10-01Feltz Printing Service PROPOSAL2Anna Fali
1045Arvin B MaletJapan2025-09-24Rangoni Of Florence NEGOTIATION34Bernardo Dominic
1046Kadeem Q CaldareraArgentina2025-09-18Buckley Miller Wright PROPOSAL42Asiya Javayant
1047Salvatore J MarrierGermany2025-09-25Truhlar And Truhlar Attys NEGOTIATION71Ioni Bowcher
1048Ivar R MarrierArgentina2025-10-01Dorl, James J Esq RENEWAL91Asiya Javayant
1049Faith C CaldareraGermany2025-09-22Rangoni Of Florence PROPOSAL17Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Kadeem H ShinkoJapanStephen Shaw UNQUALIFIED
Deepesh K WieserUnited KingdomBernardo Dominic UNQUALIFIED
Smith K PerinSpainElwin Sharvill NEGOTIATION
Costa P SlusarskiJapanElwin Sharvill RENEWAL
Julie L GillianCanadaStephen Shaw RENEWAL
Stacey A MacleadIndiaIvan Magalhaes NEW
Murillo Q NickaBrazilIvan Magalhaes UNQUALIFIED
Aditya C BowleyGermanyStephen Shaw UNQUALIFIED
Ricardo C CaldareraFranceXuxue Feng UNQUALIFIED
Salvatore Q DoeUnited KingdomOnyama Limba NEW
Ashley D PaprockiUnited KingdomBernardo Dominic QUALIFIED
Adams M RulapaughAustraliaIoni Bowcher UNQUALIFIED
Kadeem Q OldroydRussiaElwin Sharvill QUALIFIED
Murillo L CaudyBrazilAnna Fali NEW
Claire J AlbaresUnited KingdomElwin Sharvill PROPOSAL
Murillo D ChuiItalyElwin Sharvill UNQUALIFIED
Ricardo U NestleSpainIoni Bowcher PROPOSAL
Kaitlin B SaylorsCanadaElwin Sharvill QUALIFIED
Claire B WhobreyBrazilElwin Sharvill QUALIFIED
Tony Y DarakjyFranceAmy Elsner NEGOTIATION
Nicolas M FigeroaGermanyAnna Fali QUALIFIED
Octavia F ShinkoArgentinaIoni Bowcher QUALIFIED
Smith H BologniaGermanyAsiya Javayant RENEWAL
James P KolmetzUnited KingdomAnna Fali RENEWAL
Munro O BriddickBrazilAnna Fali QUALIFIED
Arvin X RutaGermanyOnyama Limba QUALIFIED
Aika T RoysterArgentinaBernardo Dominic PROPOSAL
Mujtaba E BowleyBrazilAmy Elsner NEW
Smith S TollnerIndiaBernardo Dominic PROPOSAL
Maisha A MorascaBrazilIvan Magalhaes UNQUALIFIED
Octavia P MaletUnited KingdomAnna Fali PROPOSAL
Johnson R ChuiJapanIvan Magalhaes NEW
Claire F FlosiJapanOnyama Limba UNQUALIFIED
Julie K BriddickFranceBernardo Dominic PROPOSAL
James P PaprockiBrazilIvan Magalhaes QUALIFIED
James X WaycottIndiaOnyama Limba NEW
Jones D BowleySpainBernardo Dominic NEW
David F GarufiSpainIvan Magalhaes QUALIFIED
Stacey Z DilliardGermanyAnna Fali QUALIFIED
Rodrigues Y PoquetteBrazilAmy Elsner RENEWAL
Octavia Y CaldareraBrazilElwin Sharvill NEW
Mayumi V WieserJapanXuxue Feng RENEWAL
Aditya N GarufiSpainIvan Magalhaes NEGOTIATION
David N MarrierBrazilIvan Magalhaes RENEWAL
Stacey X CaudyGermanyAsiya Javayant NEGOTIATION
Alejandro Q MacleadSpainElwin Sharvill QUALIFIED
Wickens L SergiFranceAmy Elsner NEW
Smith L StensethItalyXuxue Feng NEGOTIATION
Maisha C StensethBrazilStephen Shaw NEW
Ricardo A BowleyRussiaIvan Magalhaes RENEWAL
Frozen Columns
Name
Leon T Oldroyd
Alejandro O Stenseth
Maria U Malet
Munro Q Malet
Cody Z Saylors
Emily L Sergi
Maisha W Slusarski
Claire J Waycott
James X Amigon
James D Oldroyd
Jefferson N Venere
Ashley H Butt
Silvio H Paprocki
Mujtaba T Rulapaugh
Antonio D Shinko
Clifford G Waycott
Chavez N Shinko
Leja S Saylors
Emily F Slusarski
Leja U Kusko
David Y Garufi
Maisha Q Marrier
David L Campain
Jefferson P Rim
Alejandro U Inouye
David A Schemmer
Mujtaba A Sergi
Maisha N Garufi
Francesco Q Venere
Munro U Oldroyd
Chavez J Gaucho
Kaitlin M Whobrey
Smith M Kolmetz
Jeanfrancois R Maclead
Maria S Ostrosky
Wickens U Stockham
Alejandro Z Malet
Cody H Venere
Deepesh Q Sergi
Stacey W Paprocki
Julie W Paprocki
Clifford P Waycott
Claire X Sergi
Ashley E Rulapaugh
Leon E Nicka
Maria G Flosi
Mujtaba H Shinko
Julie G Garufi
Tony B Poquette
Mayumi A Stenseth
IdCountryDate
1000Japan2025-10-03
1001France2025-10-11
1002Australia2025-09-18
1003Australia2025-09-20
1004Germany2025-09-19
1005India2025-10-14
1006Italy2025-10-03
1007Germany2025-09-23
1008Russia2025-10-03
1009France2025-09-20
1010Argentina2025-09-24
1011India2025-10-04
1012Japan2025-09-25
1013India2025-09-28
1014Brazil2025-09-28
1015Germany2025-10-12
1016Russia2025-09-21
1017Canada2025-10-09
1018France2025-09-22
1019Argentina2025-09-24
1020Brazil2025-10-05
1021Brazil2025-10-05
1022Canada2025-10-14
1023Argentina2025-10-04
1024France2025-09-18
1025Japan2025-10-02
1026Canada2025-10-04
1027Japan2025-10-02
1028Germany2025-09-22
1029Germany2025-09-29
1030Russia2025-09-17
1031Argentina2025-10-11
1032Brazil2025-09-24
1033Spain2025-10-04
1034Germany2025-10-12
1035France2025-10-12
1036Russia2025-09-24
1037Italy2025-10-13
1038Spain2025-09-26
1039Germany2025-10-05
1040Spain2025-09-19
1041Italy2025-09-20
1042Russia2025-10-04
1043France2025-09-24
1044Canada2025-10-01
1045United Kingdom2025-09-15
1046Spain2025-10-14
1047Canada2025-10-02
1048Argentina2025-10-05
1049Germany2025-10-10

On-Demand Data

NameIdCountryDate
Misaki F Kusko1000Russia2025-09-16
Aika E Maclead1001Brazil2025-09-29
Emily J Schemmer1002Germany2025-09-24
Isabel U Butt1003India2025-10-03
Isabel Y Wieser1004Argentina2025-10-11
Kadeem C Stenseth1005Germany2025-09-26
Costa Z Gillian1006United Kingdom2025-09-27
Izzy D Shinko1007Brazil2025-09-23
Leon D Butt1008Germany2025-09-22
Antonio V Whobrey1009Italy2025-10-10
Ricardo R Morasca1010Australia2025-10-12
Adams A Figeroa1011Argentina2025-09-22
Kaitlin W Amigon1012India2025-10-02
Cody D Glick1013Italy2025-10-03
Tony D Marrier1014Argentina2025-10-03
James N Bowley1015Germany2025-09-23
Faith R Nicka1016India2025-10-14
Jones R Marrier1017Japan2025-10-10
Ashley M Foller1018Russia2025-09-21
Tony U Morasca1019France2025-10-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow Z StockhamGermanyIvan Magalhaes NEW
Julie R CampainUnited KingdomBernardo Dominic QUALIFIED
Isabel Y CampainIndiaElwin Sharvill NEW
Jefferson D BologniaBrazilAsiya Javayant QUALIFIED
Deepesh H DoeIndiaOnyama Limba RENEWAL
Izzy S MarrierRussiaBernardo Dominic PROPOSAL
Julie V SergiJapanBernardo Dominic PROPOSAL
Rodrigues C BologniaBrazilStephen Shaw PROPOSAL
Juan K ButtSpainAmy Elsner UNQUALIFIED
Juan W MaletJapanStephen Shaw QUALIFIED
Leja G MacleadAustraliaXuxue Feng RENEWAL
Ashley O AlbaresCanadaElwin Sharvill RENEWAL
Rodrigues D AlbaresBrazilIoni Bowcher RENEWAL
Izzy Y KuskoFranceElwin Sharvill NEW
Leon D TollnerFranceAmy Elsner RENEWAL
Izzy I DoeIndiaIoni Bowcher RENEWAL
Francesco N MaletIndiaStephen Shaw NEW
Chavez U FerenczItalyBernardo Dominic RENEWAL
Francesco U FerenczCanadaXuxue Feng UNQUALIFIED
Munro F OstroskyUnited KingdomAsiya Javayant RENEWAL
Sinclair A ShinkoIndiaAmy Elsner NEGOTIATION
Leja R DarakjyUnited KingdomOnyama Limba RENEWAL
Aruna T DilliardGermanyElwin Sharvill NEW
Rodrigues U BowleyArgentinaAsiya Javayant QUALIFIED
Kaitlin C InouyeItalyXuxue Feng RENEWAL
Aditya N CampainGermanyIoni Bowcher NEGOTIATION
Aika T RulapaughFranceOnyama Limba UNQUALIFIED
Morrow K MacleadRussiaElwin Sharvill UNQUALIFIED
Morrow O FerenczCanadaIoni Bowcher NEW
Aika B CaldareraCanadaElwin Sharvill PROPOSAL
Alejandro G PaprockiItalyOnyama Limba PROPOSAL
Juan S IturbideRussiaBernardo Dominic UNQUALIFIED
Nicolas T CampainGermanyOnyama Limba NEW
Faith D FlosiRussiaBernardo Dominic QUALIFIED
Faith T SergiAustraliaXuxue Feng UNQUALIFIED
Octavia Y NickaBrazilIvan Magalhaes PROPOSAL
Smith Q MaletCanadaXuxue Feng PROPOSAL
Deepesh K BowleyRussiaAsiya Javayant QUALIFIED
Emily L WhobreyUnited KingdomIvan Magalhaes NEW
Wickens L MorascaIndiaOnyama Limba RENEWAL

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