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
Aditya W IturbideFranceIoni Bowcher PROPOSAL
Darci K CampainCanadaAmy Elsner QUALIFIED
Ashley Z ShinkoRussiaAmy Elsner QUALIFIED
Emily B KuskoAustraliaAnna Fali NEW
Aditya K MarrierUnited KingdomStephen Shaw UNQUALIFIED
Munro H VenereUnited KingdomAnna Fali NEGOTIATION
Cody Y IturbideJapanIvan Magalhaes RENEWAL
Jennifer J KuskoJapanOnyama Limba NEGOTIATION
Chavez O MaletRussiaOnyama Limba UNQUALIFIED
Aditya D DilliardIndiaStephen Shaw RENEWAL
Clifford G SaylorsItalyIoni Bowcher NEGOTIATION
Ricardo W SchemmerIndiaAnna Fali NEGOTIATION
Maisha Z TollnerBrazilElwin Sharvill UNQUALIFIED
Jennifer M VocelkaCanadaStephen Shaw RENEWAL
Mayumi Q AlbaresRussiaAmy Elsner PROPOSAL
Faith E RimRussiaElwin Sharvill NEGOTIATION
Mujtaba Q InouyeRussiaOnyama Limba RENEWAL
Aruna M SlusarskiAustraliaAsiya Javayant NEW
Faith J WieserArgentinaXuxue Feng NEGOTIATION
Emily B IturbideJapanBernardo Dominic QUALIFIED
Jones Z ShinkoJapanAnna Fali NEGOTIATION
Mujtaba X MacleadRussiaIvan Magalhaes NEGOTIATION
Murillo C WieserUnited KingdomAmy Elsner QUALIFIED
Maisha C SchemmerIndiaBernardo Dominic UNQUALIFIED
Jeanfrancois Q FlosiSpainElwin Sharvill NEW
Julie D ShinkoGermanyStephen Shaw PROPOSAL
Misaki V FollerItalyIvan Magalhaes UNQUALIFIED
Smith L MacleadAustraliaOnyama Limba NEW
Kaitlin B BologniaArgentinaIoni Bowcher NEW
Smith S ChuiSpainStephen Shaw UNQUALIFIED
David W KolmetzArgentinaIoni Bowcher NEW
Cody Q VenereCanadaIvan Magalhaes NEW
Ashley Z AmigonBrazilIvan Magalhaes NEW
Jeanfrancois F DarakjyRussiaAsiya Javayant NEW
Izzy S RoysterJapanElwin Sharvill NEGOTIATION
Jennifer S FerenczGermanyIvan Magalhaes RENEWAL
Jennifer O FigeroaArgentinaAnna Fali NEGOTIATION
Jefferson A VenereSpainXuxue Feng NEW
Stacey X InouyeGermanyXuxue Feng NEW
Johnson F WieserBrazilAmy Elsner RENEWAL
Kaitlin M IturbideUnited KingdomStephen Shaw NEW
Nicolas P StockhamIndiaAsiya Javayant UNQUALIFIED
Smith C FlosiAustraliaAmy Elsner UNQUALIFIED
Tony D DilliardFranceElwin Sharvill QUALIFIED
Sinclair P VenereSpainElwin Sharvill UNQUALIFIED
Leon C MaletItalyBernardo Dominic NEW
Stacey D SchemmerSpainIvan Magalhaes RENEWAL
Wickens A RimRussiaIoni Bowcher NEGOTIATION
Sinclair A NestleFranceStephen Shaw NEGOTIATION
Octavia R RulapaughUnited KingdomElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Aruna V RulapaughGermanyAmy Elsner NEGOTIATION
Ricardo Q SchemmerGermanyAsiya Javayant NEW
Jefferson K MaletRussiaOnyama Limba RENEWAL
Clifford A PaprockiFranceXuxue Feng RENEWAL
Wickens C SlusarskiGermanyStephen Shaw RENEWAL
Jones D SaylorsSpainIvan Magalhaes NEW
Maisha Z StensethIndiaStephen Shaw NEGOTIATION
Alejandro D OstroskyJapanIvan Magalhaes RENEWAL
Faith E GauchoItalyStephen Shaw NEGOTIATION
Leon V ChuiBrazilStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna Y MaletBrazil2025-10-03Chanay, Jeffrey A Esq NEGOTIATION65Asiya Javayant
1001Kaitlin M FollerRussia2025-09-22Buckley Miller Wright QUALIFIED46Onyama Limba
1002Misaki E FollerArgentina2025-09-16Chanay, Jeffrey A Esq RENEWAL32Stephen Shaw
1003Misaki Q MaletBrazil2025-09-24Chapman, Ross E Esq NEW9Amy Elsner
1004Isabel P PoquetteRussia2025-09-18Morlong Associates NEGOTIATION4Xuxue Feng
1005Alejandro D ButtRussia2025-10-09Chemel, James L Cpa PROPOSAL99Ioni Bowcher
1006Clifford T ChuiItaly2025-10-11Feiner Bros UNQUALIFIED69Xuxue Feng
1007Jennifer V GauchoCanada2025-09-18King, Christopher A Esq PROPOSAL98Elwin Sharvill
1008Silvio C OstroskyCanada2025-10-10Buckley Miller Wright RENEWAL6Ivan Magalhaes
1009Silvio K MaletUnited Kingdom2025-10-11Feiner Bros NEW5Elwin Sharvill
1010Smith I GillianFrance2025-10-09Rousseaux, Michael Esq RENEWAL17Onyama Limba
1011James T PoquetteArgentina2025-09-18Feiner Bros PROPOSAL8Elwin Sharvill
1012Francesco O SlusarskiJapan2025-09-26Feiner Bros UNQUALIFIED50Ivan Magalhaes
1013Arvin M PerinIndia2025-09-25Feiner Bros UNQUALIFIED57Asiya Javayant
1014Wickens X RimFrance2025-10-07Truhlar And Truhlar Attys PROPOSAL13Ioni Bowcher
1015Izzy V TollnerJapan2025-09-17Truhlar And Truhlar Attys UNQUALIFIED86Ivan Magalhaes
1016Murillo U SergiRussia2025-10-06Dorl, James J Esq RENEWAL99Elwin Sharvill
1017Darci R BologniaItaly2025-10-04Buckley Miller Wright UNQUALIFIED10Anna Fali
1018Izzy X AmigonGermany2025-10-14Morlong Associates PROPOSAL92Anna Fali
1019Jones X FerenczArgentina2025-10-06Chanay, Jeffrey A Esq PROPOSAL22Onyama Limba
1020Greenwood Z PaprockiJapan2025-09-25Feltz Printing Service NEW41Ioni Bowcher
1021Rodrigues C FerenczArgentina2025-10-11Rangoni Of Florence RENEWAL87Amy Elsner
1022Darci N SaylorsItaly2025-09-22Rangoni Of Florence PROPOSAL85Ivan Magalhaes
1023Arvin C WaycottBrazil2025-10-12Truhlar And Truhlar Attys NEW51Amy Elsner
1024Ashley K WhobreyJapan2025-10-07Feltz Printing Service UNQUALIFIED58Bernardo Dominic
1025Isabel Z PerinAustralia2025-10-04Chemel, James L Cpa QUALIFIED53Ioni Bowcher
1026Murillo I ShinkoCanada2025-09-15Dorl, James J Esq UNQUALIFIED40Xuxue Feng
1027Morrow G SchemmerArgentina2025-10-08Feiner Bros NEW9Bernardo Dominic
1028Darci D CaldareraSpain2025-09-20Chapman, Ross E Esq QUALIFIED0Xuxue Feng
1029Octavia Y WhobreyCanada2025-09-23Morlong Associates QUALIFIED56Bernardo Dominic
1030Ivar B GillianAustralia2025-10-04Printing Dimensions NEGOTIATION99Ioni Bowcher
1031Ivar Z WaycottJapan2025-09-25Printing Dimensions PROPOSAL26Onyama Limba
1032Aruna C VocelkaFrance2025-09-24Commercial Press PROPOSAL36Amy Elsner
1033Darci C VenereAustralia2025-10-11Morlong Associates UNQUALIFIED24Ioni Bowcher
1034Morrow C PerinFrance2025-09-28Truhlar And Truhlar Attys QUALIFIED77Stephen Shaw
1035Emily W StockhamCanada2025-10-08Buckley Miller Wright QUALIFIED25Amy Elsner
1036Cody W NestleBrazil2025-10-03Morlong Associates QUALIFIED24Amy Elsner
1037Misaki U WieserRussia2025-10-02Feltz Printing Service NEW27Bernardo Dominic
1038Murillo Q InouyeBrazil2025-09-20Printing Dimensions NEW56Anna Fali
1039Misaki J MaletUnited Kingdom2025-09-17Buckley Miller Wright RENEWAL87Elwin Sharvill
1040Misaki H SergiBrazil2025-09-22Rousseaux, Michael Esq NEGOTIATION34Amy Elsner
1041Munro N KuskoJapan2025-09-27Printing Dimensions QUALIFIED86Ivan Magalhaes
1042Ricardo B MarrierRussia2025-10-10Commercial Press NEW64Xuxue Feng
1043Stacey J BologniaItaly2025-10-03Buckley Miller Wright UNQUALIFIED77Ioni Bowcher
1044Izzy W KolmetzItaly2025-10-04Feltz Printing Service QUALIFIED8Amy Elsner
1045Ashley Q KolmetzFrance2025-10-10Buckley Miller Wright NEW82Bernardo Dominic
1046Alejandro A InouyeAustralia2025-09-18Benton, John B Jr RENEWAL50Asiya Javayant
1047Aruna G SaylorsUnited Kingdom2025-10-05Commercial Press NEW32Asiya Javayant
1048Salvatore C CaldareraItaly2025-09-19Rousseaux, Michael Esq PROPOSAL91Asiya Javayant
1049Ricardo G PaprockiCanada2025-09-15Rangoni Of Florence QUALIFIED20Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Sinclair A FollerCanadaOnyama Limba NEW
Nicolas G PaprockiRussiaIoni Bowcher PROPOSAL
Faith H KuskoJapanIoni Bowcher RENEWAL
David X FlosiFranceIoni Bowcher PROPOSAL
Costa H VenereSpainAsiya Javayant RENEWAL
Ashley E IturbideGermanyElwin Sharvill UNQUALIFIED
Leja X ButtBrazilIoni Bowcher RENEWAL
Jefferson R KolmetzJapanOnyama Limba RENEWAL
Johnson X GillianRussiaElwin Sharvill UNQUALIFIED
Greenwood G SlusarskiArgentinaXuxue Feng NEW
Aruna D StensethItalyIvan Magalhaes QUALIFIED
Mayumi M WhobreyBrazilAmy Elsner RENEWAL
Maisha N SlusarskiGermanyBernardo Dominic NEGOTIATION
Alejandro N MacleadGermanyOnyama Limba QUALIFIED
Jefferson Q FigeroaFranceXuxue Feng PROPOSAL
Cody Q VocelkaGermanyXuxue Feng NEW
Izzy R SergiSpainAmy Elsner UNQUALIFIED
Octavia M VenereFranceIvan Magalhaes UNQUALIFIED
Salvatore S VocelkaRussiaIoni Bowcher PROPOSAL
Jennifer N MorascaUnited KingdomAnna Fali RENEWAL
Alejandro G StensethAustraliaIoni Bowcher NEW
Leon U ShinkoIndiaAnna Fali UNQUALIFIED
Silvio X MorascaCanadaStephen Shaw UNQUALIFIED
Claire A OstroskyJapanIoni Bowcher RENEWAL
Kadeem K KolmetzArgentinaIoni Bowcher NEGOTIATION
Wickens D CampainRussiaIvan Magalhaes NEGOTIATION
Sinclair Q DarakjyAustraliaBernardo Dominic NEW
Jones R StensethCanadaBernardo Dominic PROPOSAL
Munro U StensethCanadaIoni Bowcher RENEWAL
Maria G MaletAustraliaAmy Elsner PROPOSAL
Clifford E SchemmerFranceAmy Elsner NEW
Cody F OldroydIndiaStephen Shaw NEW
Juan K CampainAustraliaStephen Shaw NEW
Jeanfrancois F CaudyAustraliaStephen Shaw RENEWAL
Aditya K ButtUnited KingdomAnna Fali NEGOTIATION
Emily B WieserBrazilStephen Shaw NEW
Isabel T FerenczCanadaAnna Fali QUALIFIED
Wickens X CampainIndiaBernardo Dominic NEW
Greenwood S CaldareraSpainAnna Fali UNQUALIFIED
Tony F BriddickUnited KingdomAmy Elsner RENEWAL
Johnson P FlosiIndiaIoni Bowcher QUALIFIED
Claire Y GarufiJapanOnyama Limba NEW
Kaitlin M RulapaughRussiaAnna Fali NEGOTIATION
Cody S SergiJapanAsiya Javayant RENEWAL
Misaki F BologniaRussiaAsiya Javayant RENEWAL
Murillo B SlusarskiUnited KingdomIvan Magalhaes RENEWAL
Ivar H WieserJapanIoni Bowcher NEGOTIATION
Silvio C FollerBrazilXuxue Feng QUALIFIED
Leon X MorascaIndiaStephen Shaw NEGOTIATION
Johnson M SchemmerAustraliaOnyama Limba QUALIFIED
Frozen Columns
Name
Chavez G Gillian
Silvio W Nestle
Costa B Ferencz
Jeanfrancois S Stockham
Morrow G Kolmetz
Julie W Rulapaugh
Tony S Butt
James T Nicka
Aika P Gaucho
Ivar X Inouye
Cody H Dilliard
Smith U Briddick
Smith B Tollner
Alejandro R Dilliard
Munro E Shinko
Emily U Chui
Maria S Glick
Kaitlin S Schemmer
Jones C Garufi
Smith D Kusko
Darci H Saylors
Mujtaba J Inouye
Darci R Poquette
Francesco H Waycott
Kadeem J Morasca
Morrow B Bowley
James N Caudy
Murillo O Schemmer
Smith M Kolmetz
Claire D Stockham
Stacey O Flosi
Morrow D Dilliard
Jeanfrancois V Amigon
Leon T Bolognia
Greenwood P Bowley
Morrow H Sergi
Claire C Campain
Misaki A Perin
Jeanfrancois F Venere
Ricardo X Doe
James U Briddick
Jones I Ostrosky
Silvio J Flosi
Aditya U Briddick
Maisha E Butt
Kadeem F Gillian
Ashley K Gillian
Octavia D Malet
Francesco N Marrier
Chavez X Campain
IdCountryDate
1000India2025-09-30
1001France2025-10-05
1002Spain2025-10-05
1003Australia2025-09-18
1004Russia2025-10-05
1005France2025-10-03
1006Australia2025-09-15
1007Japan2025-09-26
1008Argentina2025-10-11
1009Australia2025-09-21
1010Spain2025-09-29
1011United Kingdom2025-09-18
1012France2025-09-25
1013Italy2025-10-10
1014France2025-09-22
1015Argentina2025-10-07
1016Japan2025-09-16
1017Spain2025-10-05
1018France2025-10-03
1019Canada2025-10-06
1020Japan2025-10-10
1021Japan2025-10-03
1022Canada2025-09-26
1023India2025-09-21
1024United Kingdom2025-10-02
1025Australia2025-10-11
1026India2025-09-18
1027Brazil2025-09-24
1028India2025-10-11
1029Australia2025-10-13
1030Canada2025-09-20
1031United Kingdom2025-10-02
1032Italy2025-10-10
1033Spain2025-10-06
1034France2025-10-02
1035France2025-10-01
1036Australia2025-09-22
1037Russia2025-10-03
1038Canada2025-09-21
1039India2025-09-24
1040Brazil2025-10-07
1041Argentina2025-09-28
1042United Kingdom2025-10-08
1043Japan2025-10-10
1044United Kingdom2025-10-11
1045Australia2025-10-07
1046Russia2025-09-27
1047Germany2025-09-26
1048Germany2025-09-20
1049Italy2025-09-22

On-Demand Data

NameIdCountryDate
Smith F Glick1000France2025-10-11
Aruna E Ostrosky1001Argentina2025-09-19
Misaki L Schemmer1002Australia2025-10-08
James E Darakjy1003Russia2025-09-22
Tony K Garufi1004Italy2025-09-20
Aditya C Malet1005United Kingdom2025-09-18
Johnson I Doe1006Russia2025-09-17
Deepesh V Bolognia1007Brazil2025-09-29
Claire M Garufi1008Canada2025-09-22
Munro Q Vocelka1009Italy2025-09-23
Aruna R Venere1010Canada2025-09-30
Greenwood B Iturbide1011France2025-09-30
Morrow Y Flosi1012France2025-09-21
Leon T Caudy1013United Kingdom2025-09-30
Smith F Maclead1014India2025-10-08
Arvin T Malet1015United Kingdom2025-10-10
Isabel Z Poquette1016Argentina2025-09-17
Julie H Slusarski1017Brazil2025-09-25
Jones V Morasca1018Germany2025-10-04
Antonio U Bolognia1019Germany2025-09-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith B CaldareraIndiaBernardo Dominic QUALIFIED
Johnson Z PoquetteIndiaXuxue Feng NEW
Ricardo Q AlbaresJapanAnna Fali NEGOTIATION
Wickens C StockhamRussiaElwin Sharvill NEW
Tony M GillianSpainOnyama Limba NEW
Emily F PaprockiBrazilIoni Bowcher UNQUALIFIED
Sinclair O RimArgentinaBernardo Dominic NEW
Costa Y SlusarskiAustraliaXuxue Feng QUALIFIED
Sinclair T ButtGermanyAsiya Javayant NEW
Arvin Z WhobreyIndiaStephen Shaw QUALIFIED
Aruna U FigeroaAustraliaOnyama Limba UNQUALIFIED
Jeanfrancois J FigeroaJapanAmy Elsner NEGOTIATION
Murillo D CaudyArgentinaStephen Shaw NEW
James R InouyeArgentinaIvan Magalhaes RENEWAL
Salvatore Q PoquetteAustraliaOnyama Limba NEGOTIATION
Ivar K OstroskyIndiaStephen Shaw NEGOTIATION
Alejandro U SchemmerUnited KingdomAnna Fali RENEWAL
Aruna E StockhamGermanyBernardo Dominic NEW
Rodrigues U WhobreyRussiaIoni Bowcher QUALIFIED
Francesco L PerinUnited KingdomIvan Magalhaes NEW
Clifford T DarakjyBrazilIvan Magalhaes NEGOTIATION
Claire P GauchoIndiaAmy Elsner NEW
Darci U DilliardBrazilBernardo Dominic NEGOTIATION
Octavia Q DilliardSpainAnna Fali NEGOTIATION
Leja B CampainArgentinaAmy Elsner QUALIFIED
Salvatore G AmigonCanadaOnyama Limba QUALIFIED
Julie G RutaCanadaIvan Magalhaes PROPOSAL
Chavez M FerenczUnited KingdomElwin Sharvill NEGOTIATION
Jennifer U GarufiJapanStephen Shaw UNQUALIFIED
Jennifer M FollerBrazilOnyama Limba QUALIFIED
Jennifer A MarrierArgentinaAmy Elsner UNQUALIFIED
Costa U StensethArgentinaAnna Fali PROPOSAL
Cody Q SergiSpainIoni Bowcher RENEWAL
Francesco L SaylorsGermanyElwin Sharvill QUALIFIED
Jeanfrancois T CampainCanadaXuxue Feng RENEWAL
Aditya L AlbaresAustraliaStephen Shaw PROPOSAL
Faith E SchemmerSpainOnyama Limba RENEWAL
Salvatore V OldroydJapanAsiya Javayant QUALIFIED
Sinclair K TollnerFranceElwin Sharvill RENEWAL
Sinclair N InouyeFranceElwin Sharvill 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>