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
Julie W GlickIndiaElwin Sharvill UNQUALIFIED
Arvin H BriddickIndiaAsiya Javayant NEW
Arvin O NickaUnited KingdomAnna Fali NEGOTIATION
David W NestleUnited KingdomAmy Elsner PROPOSAL
David L CaudyAustraliaIoni Bowcher NEGOTIATION
Morrow S CaldareraIndiaXuxue Feng UNQUALIFIED
Adams V GarufiSpainStephen Shaw RENEWAL
Morrow O GillianFranceXuxue Feng PROPOSAL
Leon T GillianSpainStephen Shaw UNQUALIFIED
Arvin A MacleadFranceStephen Shaw RENEWAL
Kaitlin P FollerItalyStephen Shaw PROPOSAL
Isabel M GlickFranceXuxue Feng NEW
Murillo G ButtCanadaIoni Bowcher QUALIFIED
Misaki U WaycottFranceElwin Sharvill NEGOTIATION
Julie Q PaprockiGermanyIoni Bowcher UNQUALIFIED
Aika G RulapaughBrazilAnna Fali PROPOSAL
Sinclair G RutaUnited KingdomAsiya Javayant PROPOSAL
Darci K SaylorsGermanyBernardo Dominic UNQUALIFIED
James D MaletBrazilStephen Shaw NEW
Kaitlin X SergiCanadaXuxue Feng NEW
Silvio Y BologniaBrazilAsiya Javayant PROPOSAL
Salvatore A CaudyFranceElwin Sharvill NEGOTIATION
Misaki A KuskoFranceStephen Shaw NEW
Faith N StensethItalyAmy Elsner RENEWAL
Adams Y MarrierSpainAnna Fali RENEWAL
Jones T MorascaItalyStephen Shaw NEGOTIATION
Alejandro D InouyeAustraliaIoni Bowcher NEGOTIATION
Aditya S WaycottFranceOnyama Limba UNQUALIFIED
Mujtaba A KolmetzJapanAnna Fali PROPOSAL
Darci D FerenczItalyBernardo Dominic QUALIFIED
Chavez E BowleyUnited KingdomOnyama Limba QUALIFIED
Jones E CaudyUnited KingdomElwin Sharvill NEW
Chavez P GauchoUnited KingdomBernardo Dominic RENEWAL
Claire P AmigonUnited KingdomIvan Magalhaes NEGOTIATION
Aika S CampainSpainIoni Bowcher PROPOSAL
Ivar V RoysterAustraliaOnyama Limba PROPOSAL
Juan I RutaArgentinaAsiya Javayant NEW
Jones Q NickaUnited KingdomOnyama Limba UNQUALIFIED
David R MacleadGermanyAnna Fali UNQUALIFIED
Kadeem R SaylorsIndiaIoni Bowcher RENEWAL
Ashley O BowleyBrazilIvan Magalhaes UNQUALIFIED
Maisha T RimJapanAmy Elsner PROPOSAL
Arvin Y CaldareraUnited KingdomAmy Elsner QUALIFIED
Arvin V ShinkoJapanBernardo Dominic NEGOTIATION
Jones L SergiIndiaIvan Magalhaes NEGOTIATION
David P BriddickGermanyIvan Magalhaes NEGOTIATION
Stacey S AmigonItalyAmy Elsner NEW
Isabel T BowleyJapanIoni Bowcher UNQUALIFIED
Juan T RimFranceIoni Bowcher NEGOTIATION
Jeanfrancois G FerenczArgentinaElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Morrow M FlosiItalyAmy Elsner RENEWAL
Faith J GauchoArgentinaOnyama Limba RENEWAL
James E SaylorsSpainIoni Bowcher RENEWAL
Emily G MarrierBrazilStephen Shaw RENEWAL
Johnson H MaletIndiaAmy Elsner NEGOTIATION
Francesco M KuskoRussiaAsiya Javayant NEW
Tony K FigeroaIndiaElwin Sharvill RENEWAL
James C CaudyCanadaXuxue Feng NEW
Morrow J GauchoAustraliaAmy Elsner PROPOSAL
Claire P VocelkaSpainXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones J BowleyCanada2025-10-05Buckley Miller Wright NEGOTIATION88Elwin Sharvill
1001Emily F WaycottAustralia2025-10-14Chemel, James L Cpa QUALIFIED16Asiya Javayant
1002Wickens U DarakjyAustralia2025-10-05Truhlar And Truhlar Attys RENEWAL65Bernardo Dominic
1003Stacey W FigeroaUnited Kingdom2025-09-24Buckley Miller Wright PROPOSAL16Stephen Shaw
1004Mayumi O ChuiRussia2025-09-25Buckley Miller Wright NEGOTIATION88Anna Fali
1005Aika I SlusarskiJapan2025-10-16Buckley Miller Wright NEW87Ivan Magalhaes
1006Silvio F VocelkaAustralia2025-10-14Morlong Associates RENEWAL6Onyama Limba
1007Aditya N OstroskyGermany2025-09-21Rousseaux, Michael Esq QUALIFIED58Stephen Shaw
1008Wickens X CaudyCanada2025-10-08Chanay, Jeffrey A Esq UNQUALIFIED8Xuxue Feng
1009Salvatore J BologniaUnited Kingdom2025-10-14Feiner Bros NEW70Asiya Javayant
1010Darci F SchemmerGermany2025-09-21Morlong Associates NEGOTIATION19Onyama Limba
1011Ashley E WieserGermany2025-10-16Printing Dimensions NEW98Asiya Javayant
1012Adams O ButtCanada2025-10-08Benton, John B Jr PROPOSAL66Xuxue Feng
1013Sinclair Q GarufiFrance2025-10-06Rangoni Of Florence PROPOSAL45Xuxue Feng
1014Isabel F GillianIndia2025-10-15Benton, John B Jr PROPOSAL57Elwin Sharvill
1015Francesco S FlosiAustralia2025-09-23Rousseaux, Michael Esq RENEWAL4Bernardo Dominic
1016Clifford C VocelkaSpain2025-10-02Feltz Printing Service UNQUALIFIED1Ivan Magalhaes
1017Wickens G DarakjyBrazil2025-10-05Feiner Bros UNQUALIFIED49Asiya Javayant
1018Adams P BriddickRussia2025-09-25Benton, John B Jr QUALIFIED16Stephen Shaw
1019Juan G SergiBrazil2025-09-30Benton, John B Jr NEW13Ioni Bowcher
1020Clifford Y NestleRussia2025-10-15Morlong Associates NEGOTIATION25Xuxue Feng
1021Murillo I SaylorsBrazil2025-10-04Chemel, James L Cpa NEW62Anna Fali
1022Tony H SchemmerJapan2025-09-23Rousseaux, Michael Esq NEGOTIATION34Xuxue Feng
1023Ricardo U ButtFrance2025-10-07Commercial Press RENEWAL68Ioni Bowcher
1024Antonio I MaletGermany2025-09-26Printing Dimensions NEGOTIATION72Amy Elsner
1025Adams G PerinBrazil2025-10-08Dorl, James J Esq RENEWAL35Amy Elsner
1026Johnson A MorascaFrance2025-10-12Chanay, Jeffrey A Esq QUALIFIED30Elwin Sharvill
1027Jeanfrancois D WieserSpain2025-10-09Truhlar And Truhlar Attys NEW10Ioni Bowcher
1028Murillo B GillianItaly2025-10-17Printing Dimensions UNQUALIFIED56Elwin Sharvill
1029Emily P KuskoGermany2025-10-16Dorl, James J Esq RENEWAL66Asiya Javayant
1030Johnson U CampainCanada2025-10-05Rousseaux, Michael Esq NEW52Elwin Sharvill
1031Darci K NestleCanada2025-10-08Chemel, James L Cpa PROPOSAL6Xuxue Feng
1032Murillo G BologniaJapan2025-09-29Feltz Printing Service NEGOTIATION82Asiya Javayant
1033Sinclair R RutaUnited Kingdom2025-09-21Commercial Press RENEWAL53Asiya Javayant
1034Tony E CampainRussia2025-10-02Chapman, Ross E Esq RENEWAL93Elwin Sharvill
1035Francesco D RutaFrance2025-10-09Buckley Miller Wright NEW35Xuxue Feng
1036Jennifer C RutaBrazil2025-10-11Rousseaux, Michael Esq QUALIFIED75Stephen Shaw
1037Sinclair C GlickRussia2025-10-11Chanay, Jeffrey A Esq NEW55Anna Fali
1038Cody O FigeroaBrazil2025-09-24Benton, John B Jr QUALIFIED8Amy Elsner
1039Kaitlin F CaudyCanada2025-09-20Dorl, James J Esq RENEWAL78Onyama Limba
1040Cody F GarufiSpain2025-10-05Feiner Bros QUALIFIED64Stephen Shaw
1041Maria G FlosiIndia2025-10-02King, Christopher A Esq NEW87Amy Elsner
1042Ivar N ButtFrance2025-10-17King, Christopher A Esq UNQUALIFIED95Amy Elsner
1043Maisha D AmigonUnited Kingdom2025-10-17Chapman, Ross E Esq PROPOSAL45Ioni Bowcher
1044David N WaycottIndia2025-09-30Truhlar And Truhlar Attys RENEWAL32Onyama Limba
1045Juan T PoquetteSpain2025-10-18Benton, John B Jr UNQUALIFIED87Onyama Limba
1046Smith Y WieserRussia2025-09-28Rangoni Of Florence PROPOSAL28Asiya Javayant
1047Maisha Z BriddickAustralia2025-09-28Rangoni Of Florence UNQUALIFIED38Ivan Magalhaes
1048Ashley O SchemmerItaly2025-10-06Benton, John B Jr UNQUALIFIED14Stephen Shaw
1049Silvio H MorascaArgentina2025-10-17Benton, John B Jr NEW42Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Misaki I MacleadRussiaElwin Sharvill PROPOSAL
Misaki J GlickJapanBernardo Dominic PROPOSAL
Mujtaba Q NestleUnited KingdomAnna Fali UNQUALIFIED
Ricardo Q GauchoFranceBernardo Dominic NEW
Salvatore S SlusarskiItalyAsiya Javayant NEGOTIATION
Smith S MorascaRussiaAmy Elsner NEGOTIATION
Octavia Z DoeIndiaIoni Bowcher NEW
Faith O MarrierBrazilAnna Fali QUALIFIED
Jones H GauchoJapanStephen Shaw QUALIFIED
Julie Y StockhamIndiaAnna Fali NEGOTIATION
Ashley Z NestleSpainAsiya Javayant RENEWAL
Julie K ShinkoArgentinaXuxue Feng NEW
Wickens J WaycottAustraliaXuxue Feng PROPOSAL
Ricardo G NestleCanadaStephen Shaw NEGOTIATION
Smith R StockhamSpainIvan Magalhaes PROPOSAL
Sinclair S PoquetteAustraliaAnna Fali QUALIFIED
Sinclair W MorascaJapanBernardo Dominic NEGOTIATION
Kadeem Y PaprockiGermanyAmy Elsner NEGOTIATION
Claire U OldroydJapanIvan Magalhaes NEGOTIATION
Juan V InouyeSpainIoni Bowcher QUALIFIED
Izzy R DilliardBrazilAsiya Javayant QUALIFIED
Mujtaba I WhobreySpainElwin Sharvill QUALIFIED
Maisha C CaldareraUnited KingdomXuxue Feng PROPOSAL
Maria A InouyeJapanAmy Elsner QUALIFIED
Mayumi C MaletAustraliaElwin Sharvill NEGOTIATION
Kadeem R RoysterSpainAsiya Javayant QUALIFIED
Munro Y GarufiUnited KingdomAnna Fali NEW
Emily L DilliardBrazilIoni Bowcher UNQUALIFIED
Murillo Q RulapaughGermanyStephen Shaw RENEWAL
Mujtaba F IturbideBrazilAsiya Javayant RENEWAL
Mayumi E TollnerArgentinaIoni Bowcher UNQUALIFIED
Ricardo P ShinkoArgentinaIvan Magalhaes RENEWAL
Antonio E WhobreyAustraliaElwin Sharvill NEW
Isabel P CaudyCanadaElwin Sharvill RENEWAL
Juan A AmigonUnited KingdomAsiya Javayant UNQUALIFIED
Aika X VocelkaCanadaElwin Sharvill UNQUALIFIED
Jefferson K DilliardArgentinaXuxue Feng RENEWAL
Chavez K FlosiJapanElwin Sharvill QUALIFIED
Arvin Z GauchoFranceAnna Fali RENEWAL
Smith P CampainArgentinaStephen Shaw PROPOSAL
Jefferson T NestleUnited KingdomElwin Sharvill RENEWAL
Aditya C BologniaJapanAsiya Javayant PROPOSAL
Mayumi J SlusarskiBrazilAmy Elsner PROPOSAL
Faith A BowleyJapanXuxue Feng NEGOTIATION
James M DarakjyGermanyAnna Fali UNQUALIFIED
Johnson A ChuiUnited KingdomXuxue Feng NEW
Murillo E NestleSpainXuxue Feng PROPOSAL
Jefferson V TollnerBrazilOnyama Limba QUALIFIED
Isabel A PoquetteBrazilIoni Bowcher NEW
Murillo M ShinkoAustraliaAmy Elsner UNQUALIFIED
Frozen Columns
Name
Emily M Paprocki
Tony Q Stockham
Octavia X Chui
Ivar C Butt
Kadeem K Figeroa
Francesco Z Kolmetz
Costa T Stockham
Octavia B Caudy
Octavia Z Gillian
Ricardo F Darakjy
Francesco J Ostrosky
Maria C Briddick
Antonio E Bowley
Chavez B Inouye
Jefferson R Nestle
Julie M Chui
Wickens I Albares
Murillo C Perin
Morrow J Rim
Stacey S Schemmer
Kadeem G Maclead
Aruna X Caudy
Wickens F Caldarera
Jones D Inouye
Stacey K Poquette
James H Chui
Tony B Caudy
Darci I Shinko
Smith Y Doe
Emily Y Slusarski
Juan J Malet
Cody E Nestle
Smith R Gillian
Darci F Foller
Aika T Morasca
Izzy U Bowley
Ivar I Chui
Ricardo P Doe
Rodrigues P Poquette
Costa W Stockham
Juan U Garufi
Wickens X Sergi
Juan F Marrier
Costa W Figeroa
Kadeem A Nestle
Octavia D Malet
Tony G Bolognia
Ashley R Kolmetz
Jones C Venere
Nicolas G Malet
IdCountryDate
1000Australia2025-09-21
1001Germany2025-09-20
1002Argentina2025-10-11
1003Australia2025-10-06
1004Canada2025-10-15
1005Australia2025-09-27
1006India2025-10-08
1007Canada2025-10-07
1008Australia2025-10-04
1009Japan2025-10-13
1010Japan2025-10-01
1011India2025-10-02
1012Spain2025-10-18
1013India2025-09-24
1014France2025-10-09
1015France2025-09-20
1016Japan2025-09-22
1017France2025-10-02
1018Germany2025-10-14
1019Japan2025-09-23
1020Russia2025-10-03
1021Russia2025-10-09
1022India2025-09-30
1023Australia2025-10-11
1024Russia2025-10-09
1025Russia2025-10-08
1026France2025-10-17
1027Canada2025-09-25
1028United Kingdom2025-10-11
1029Argentina2025-10-02
1030India2025-10-10
1031Russia2025-09-22
1032United Kingdom2025-09-23
1033Australia2025-10-02
1034Brazil2025-09-24
1035Argentina2025-10-10
1036United Kingdom2025-09-23
1037Japan2025-09-30
1038India2025-10-08
1039Argentina2025-09-28
1040Spain2025-10-09
1041Brazil2025-09-30
1042Australia2025-10-06
1043Germany2025-10-12
1044Japan2025-10-08
1045Spain2025-10-03
1046Canada2025-09-27
1047Spain2025-09-22
1048Brazil2025-10-14
1049Germany2025-10-07

On-Demand Data

NameIdCountryDate
Kaitlin N Saylors1000Germany2025-10-13
Smith J Figeroa1001Argentina2025-10-01
James E Figeroa1002India2025-10-11
Aditya R Sergi1003Spain2025-10-03
Sinclair Z Poquette1004India2025-10-13
Deepesh V Ostrosky1005Italy2025-10-15
Juan K Maclead1006Canada2025-09-23
Johnson U Tollner1007Japan2025-09-25
Jennifer W Dilliard1008France2025-09-22
Nicolas V Campain1009Spain2025-10-08
Juan B Gillian1010Argentina2025-09-23
Wickens Q Marrier1011Spain2025-10-04
Izzy E Waycott1012United Kingdom2025-09-21
Kaitlin W Nestle1013Japan2025-10-05
Jefferson S Bowley1014Germany2025-10-14
Smith O Marrier1015India2025-10-19
Julie F Morasca1016Japan2025-10-05
Jefferson U Gillian1017Germany2025-10-08
Smith Z Iturbide1018Spain2025-09-27
Jennifer F Shinko1019Argentina2025-10-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi K CaudyBrazilElwin Sharvill RENEWAL
Costa J BriddickUnited KingdomIoni Bowcher NEW
Deepesh H OstroskyAustraliaAmy Elsner UNQUALIFIED
Juan U InouyeCanadaAmy Elsner UNQUALIFIED
Greenwood Y KuskoBrazilOnyama Limba PROPOSAL
James U BologniaAustraliaAnna Fali NEW
Kadeem L GlickCanadaStephen Shaw RENEWAL
Clifford Z RoysterIndiaIoni Bowcher PROPOSAL
Maisha N NestleRussiaAsiya Javayant QUALIFIED
Kadeem U GauchoSpainBernardo Dominic QUALIFIED
Adams F WaycottRussiaIvan Magalhaes QUALIFIED
Arvin H MacleadFranceElwin Sharvill NEGOTIATION
Emily H AlbaresAustraliaOnyama Limba NEGOTIATION
Juan U TollnerFranceIoni Bowcher NEGOTIATION
Jefferson W AmigonBrazilAnna Fali UNQUALIFIED
Johnson I SergiItalyElwin Sharvill QUALIFIED
Costa T MarrierArgentinaElwin Sharvill RENEWAL
Arvin X SchemmerArgentinaOnyama Limba NEW
Clifford D WieserGermanyXuxue Feng PROPOSAL
Aruna Z GlickSpainAmy Elsner RENEWAL
Claire I DoeBrazilBernardo Dominic UNQUALIFIED
Darci H OldroydIndiaAsiya Javayant RENEWAL
Mujtaba H PerinGermanyIoni Bowcher NEGOTIATION
Ashley U SaylorsJapanAsiya Javayant RENEWAL
Claire D FollerGermanyIvan Magalhaes QUALIFIED
Deepesh P SaylorsAustraliaStephen Shaw PROPOSAL
Izzy D PoquetteArgentinaBernardo Dominic NEGOTIATION
Julie F RulapaughCanadaIvan Magalhaes NEW
Misaki F IturbideGermanyAnna Fali NEW
Juan N AlbaresBrazilElwin Sharvill NEW
Octavia E PaprockiIndiaBernardo Dominic UNQUALIFIED
Antonio J GauchoAustraliaStephen Shaw NEW
Costa N SlusarskiBrazilElwin Sharvill PROPOSAL
Alejandro F DoeItalyStephen Shaw PROPOSAL
Greenwood A CampainItalyStephen Shaw PROPOSAL
Izzy R CampainArgentinaAmy Elsner NEW
Wickens W CaudyRussiaElwin Sharvill UNQUALIFIED
James L SaylorsGermanyBernardo Dominic PROPOSAL
Ashley D PaprockiUnited KingdomElwin Sharvill UNQUALIFIED
Arvin K OstroskyArgentinaOnyama Limba 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>