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
Kaitlin I OldroydGermanyAsiya Javayant NEW
Munro D GillianFranceStephen Shaw NEW
Kaitlin A ShinkoJapanXuxue Feng PROPOSAL
Jeanfrancois G RulapaughRussiaBernardo Dominic NEGOTIATION
Clifford A StockhamJapanXuxue Feng QUALIFIED
Tony G BowleyIndiaXuxue Feng UNQUALIFIED
Nicolas S GlickBrazilAmy Elsner NEW
Juan C PoquetteFranceOnyama Limba UNQUALIFIED
Alejandro W StensethUnited KingdomXuxue Feng UNQUALIFIED
Kadeem S FlosiItalyBernardo Dominic NEW
Johnson G StensethItalyXuxue Feng UNQUALIFIED
Ricardo I CampainSpainStephen Shaw PROPOSAL
Ricardo H SchemmerAustraliaAmy Elsner PROPOSAL
Greenwood Q OstroskyGermanyAnna Fali NEGOTIATION
Smith H PaprockiUnited KingdomStephen Shaw UNQUALIFIED
Isabel Y GillianBrazilIvan Magalhaes PROPOSAL
James A KuskoArgentinaElwin Sharvill NEW
Cody I StockhamSpainStephen Shaw NEGOTIATION
Sinclair I VenereIndiaIoni Bowcher NEGOTIATION
Deepesh O RimIndiaElwin Sharvill UNQUALIFIED
Johnson U VenereBrazilAmy Elsner RENEWAL
Leon P WieserAustraliaAsiya Javayant RENEWAL
Wickens Y ButtArgentinaElwin Sharvill RENEWAL
Emily D StockhamRussiaBernardo Dominic NEW
Alejandro V BowleyIndiaBernardo Dominic NEGOTIATION
Jennifer A OstroskyArgentinaStephen Shaw RENEWAL
Leon M BowleyCanadaElwin Sharvill RENEWAL
Cody J RulapaughSpainAnna Fali PROPOSAL
Tony B RoysterAustraliaXuxue Feng RENEWAL
Darci B RulapaughJapanElwin Sharvill QUALIFIED
Johnson O WieserItalyXuxue Feng NEW
Darci B MorascaJapanBernardo Dominic PROPOSAL
Jones D PaprockiSpainStephen Shaw NEW
David N SchemmerJapanElwin Sharvill UNQUALIFIED
Deepesh F GillianSpainAsiya Javayant RENEWAL
Munro K StockhamGermanyIoni Bowcher NEW
Jefferson Y GillianAustraliaAnna Fali NEGOTIATION
Aika N FlosiCanadaAsiya Javayant UNQUALIFIED
Julie L GillianItalyAmy Elsner NEW
Kaitlin P StensethAustraliaIvan Magalhaes UNQUALIFIED
Octavia U PoquetteItalyIoni Bowcher RENEWAL
Claire R RulapaughArgentinaAmy Elsner NEW
Isabel H VocelkaGermanyStephen Shaw RENEWAL
Aika Z GauchoArgentinaIvan Magalhaes UNQUALIFIED
Juan K BriddickCanadaElwin Sharvill PROPOSAL
Jefferson E CaudyArgentinaStephen Shaw PROPOSAL
Murillo Q MaletGermanyAmy Elsner PROPOSAL
Nicolas Q RimItalyElwin Sharvill NEGOTIATION
Sinclair H InouyeGermanyElwin Sharvill NEW
Emily K KolmetzGermanyXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maria B IturbideItalyAsiya Javayant QUALIFIED
Julie Y InouyeUnited KingdomXuxue Feng UNQUALIFIED
Jones T GlickGermanyAmy Elsner NEW
Ashley T MaletSpainIoni Bowcher UNQUALIFIED
Jones V KolmetzAustraliaAmy Elsner QUALIFIED
Maisha I VocelkaGermanyAmy Elsner RENEWAL
Ivar H SaylorsJapanOnyama Limba UNQUALIFIED
Antonio R MaletJapanAnna Fali NEGOTIATION
Nicolas G ChuiJapanIoni Bowcher NEGOTIATION
Ashley N ChuiAustraliaAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James P SaylorsSpain2025-08-03Buckley Miller Wright QUALIFIED30Stephen Shaw
1001Kadeem R MaletRussia2025-07-31Dorl, James J Esq NEW3Xuxue Feng
1002Adams Q MarrierFrance2025-07-10Chemel, James L Cpa QUALIFIED4Xuxue Feng
1003Kadeem U StensethSpain2025-08-04Rousseaux, Michael Esq NEW18Bernardo Dominic
1004Morrow T WieserUnited Kingdom2025-07-10Chemel, James L Cpa PROPOSAL54Xuxue Feng
1005Francesco H ShinkoSpain2025-07-16Feltz Printing Service UNQUALIFIED48Ioni Bowcher
1006Kaitlin W CaldareraRussia2025-07-21Truhlar And Truhlar Attys NEW83Ivan Magalhaes
1007Morrow K SaylorsSpain2025-07-16Feiner Bros NEGOTIATION14Xuxue Feng
1008Francesco E VenereRussia2025-07-28Morlong Associates UNQUALIFIED22Xuxue Feng
1009Alejandro P GlickCanada2025-07-09Rousseaux, Michael Esq PROPOSAL80Anna Fali
1010Misaki J GauchoRussia2025-07-14Chanay, Jeffrey A Esq NEGOTIATION55Ioni Bowcher
1011Tony U MorascaFrance2025-08-01Truhlar And Truhlar Attys NEGOTIATION75Amy Elsner
1012Maria U CampainGermany2025-07-17Chemel, James L Cpa PROPOSAL75Onyama Limba
1013Greenwood U SaylorsSpain2025-07-16Chemel, James L Cpa UNQUALIFIED73Ivan Magalhaes
1014Clifford S PaprockiSpain2025-07-07Printing Dimensions RENEWAL63Elwin Sharvill
1015Misaki X SlusarskiJapan2025-07-22Commercial Press RENEWAL52Asiya Javayant
1016Morrow P IturbideSpain2025-07-19Chapman, Ross E Esq RENEWAL7Bernardo Dominic
1017Kadeem T VenereRussia2025-07-07Benton, John B Jr RENEWAL91Asiya Javayant
1018Wickens X KolmetzIndia2025-08-01Rousseaux, Michael Esq NEW1Bernardo Dominic
1019Misaki R GlickCanada2025-07-26Rangoni Of Florence NEW90Bernardo Dominic
1020Maria U NickaSpain2025-07-15Feiner Bros NEGOTIATION80Asiya Javayant
1021Aika W FerenczRussia2025-08-02Feltz Printing Service UNQUALIFIED95Anna Fali
1022Cody L MarrierJapan2025-08-02Feiner Bros NEW67Ivan Magalhaes
1023David F PaprockiJapan2025-07-23Benton, John B Jr UNQUALIFIED44Xuxue Feng
1024Faith R TollnerArgentina2025-08-01Benton, John B Jr QUALIFIED15Asiya Javayant
1025Murillo T OstroskyFrance2025-08-04Morlong Associates UNQUALIFIED53Onyama Limba
1026Kaitlin I RutaSpain2025-07-13King, Christopher A Esq PROPOSAL64Bernardo Dominic
1027Smith P GlickFrance2025-07-10Truhlar And Truhlar Attys NEW44Bernardo Dominic
1028Alejandro P CampainArgentina2025-07-06Buckley Miller Wright NEW23Elwin Sharvill
1029Ivar J MarrierUnited Kingdom2025-08-03Printing Dimensions NEGOTIATION72Onyama Limba
1030Costa A RulapaughItaly2025-07-06Buckley Miller Wright NEGOTIATION90Ioni Bowcher
1031Julie H NickaAustralia2025-07-09Commercial Press QUALIFIED48Xuxue Feng
1032Maisha D BowleySpain2025-07-26Feiner Bros NEW12Stephen Shaw
1033Mayumi K KolmetzRussia2025-07-16Rangoni Of Florence RENEWAL97Xuxue Feng
1034Jones Q CaldareraUnited Kingdom2025-07-31Chemel, James L Cpa NEW94Onyama Limba
1035Silvio E FollerItaly2025-07-21Morlong Associates NEW35Bernardo Dominic
1036Nicolas L SergiBrazil2025-07-08King, Christopher A Esq RENEWAL90Ioni Bowcher
1037Rodrigues G FlosiIndia2025-07-13Morlong Associates NEGOTIATION54Ioni Bowcher
1038Juan W PaprockiItaly2025-07-06Commercial Press QUALIFIED25Onyama Limba
1039Jeanfrancois C WieserJapan2025-07-13Dorl, James J Esq NEW1Elwin Sharvill
1040Aruna M PoquetteBrazil2025-07-07Rousseaux, Michael Esq NEW26Elwin Sharvill
1041Julie C SlusarskiBrazil2025-07-26Printing Dimensions NEGOTIATION41Bernardo Dominic
1042Arvin N GillianAustralia2025-07-29Benton, John B Jr RENEWAL13Elwin Sharvill
1043Juan T GlickSpain2025-08-03Chemel, James L Cpa PROPOSAL19Bernardo Dominic
1044Wickens Y MaletSpain2025-07-26Printing Dimensions UNQUALIFIED43Amy Elsner
1045Leon X SlusarskiFrance2025-07-12King, Christopher A Esq RENEWAL17Onyama Limba
1046Leon J SchemmerItaly2025-07-13Rousseaux, Michael Esq NEGOTIATION85Stephen Shaw
1047Costa J RoysterGermany2025-07-28Rangoni Of Florence NEGOTIATION41Bernardo Dominic
1048Francesco T KuskoItaly2025-07-14Rangoni Of Florence NEGOTIATION87Amy Elsner
1049Adams M RulapaughFrance2025-08-04Feiner Bros UNQUALIFIED21Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Misaki A BologniaIndiaXuxue Feng PROPOSAL
Johnson H RoysterUnited KingdomAnna Fali QUALIFIED
Maisha P InouyeJapanOnyama Limba PROPOSAL
Darci C ChuiIndiaAmy Elsner UNQUALIFIED
Tony Q AlbaresRussiaBernardo Dominic RENEWAL
Sinclair H TollnerItalyAmy Elsner NEGOTIATION
Isabel U DarakjyArgentinaXuxue Feng QUALIFIED
Ashley F PerinIndiaAmy Elsner QUALIFIED
Silvio Y SergiRussiaXuxue Feng QUALIFIED
Kaitlin W WaycottRussiaBernardo Dominic QUALIFIED
Arvin C StensethFranceAnna Fali RENEWAL
Octavia X ButtCanadaIvan Magalhaes PROPOSAL
Maria W GauchoArgentinaAnna Fali NEW
Ivar D RutaCanadaStephen Shaw QUALIFIED
Julie J OldroydUnited KingdomBernardo Dominic NEW
Jones P VocelkaAustraliaIvan Magalhaes UNQUALIFIED
Mayumi A SaylorsJapanAnna Fali UNQUALIFIED
Smith O BologniaBrazilAmy Elsner NEGOTIATION
Johnson K ChuiJapanAsiya Javayant NEW
Chavez A RutaJapanXuxue Feng NEW
Alejandro J AlbaresItalyBernardo Dominic QUALIFIED
Johnson I IturbideCanadaIvan Magalhaes PROPOSAL
Faith C AlbaresBrazilXuxue Feng RENEWAL
Leon M BriddickItalyOnyama Limba QUALIFIED
Kaitlin I OldroydGermanyOnyama Limba RENEWAL
Jones O GlickAustraliaOnyama Limba UNQUALIFIED
James P BriddickIndiaStephen Shaw UNQUALIFIED
Munro N GauchoGermanyAmy Elsner UNQUALIFIED
Julie V AlbaresJapanStephen Shaw PROPOSAL
Juan R WieserUnited KingdomElwin Sharvill QUALIFIED
Cody K SlusarskiBrazilIvan Magalhaes QUALIFIED
Faith N VocelkaGermanyBernardo Dominic NEGOTIATION
Arvin W MaletUnited KingdomStephen Shaw NEW
Isabel O RimIndiaAmy Elsner UNQUALIFIED
Munro U WaycottRussiaXuxue Feng UNQUALIFIED
Greenwood B VocelkaAustraliaOnyama Limba RENEWAL
Jennifer W GlickIndiaOnyama Limba PROPOSAL
Izzy W PerinCanadaAsiya Javayant NEW
Jennifer Z PaprockiAustraliaIoni Bowcher NEGOTIATION
Salvatore E ChuiRussiaOnyama Limba NEGOTIATION
Francesco D SergiFranceAsiya Javayant NEW
Kaitlin R VenereBrazilAmy Elsner QUALIFIED
Morrow K DilliardFranceElwin Sharvill NEW
Isabel I WieserIndiaAnna Fali NEGOTIATION
Octavia M WhobreySpainAmy Elsner NEGOTIATION
Ashley Q CaudyCanadaAnna Fali PROPOSAL
Smith G RimJapanAmy Elsner QUALIFIED
Francesco I KolmetzJapanOnyama Limba QUALIFIED
Misaki L PerinUnited KingdomStephen Shaw UNQUALIFIED
Tony O GarufiUnited KingdomAnna Fali QUALIFIED
Frozen Columns
Name
Deepesh T Briddick
Alejandro B Caldarera
Ivar Y Ruta
Chavez G Doe
Costa P Chui
Maria Z Nestle
Rodrigues Q Nestle
Francesco E Stenseth
Misaki W Briddick
Maisha H Campain
Emily Y Nestle
Aruna X Shinko
Munro U Kusko
Murillo N Caudy
Leja M Sergi
Octavia A Gaucho
Isabel P Shinko
Murillo B Kusko
Jennifer Y Iturbide
Cody I Whobrey
Juan E Whobrey
Aika C Stenseth
Ivar C Rulapaugh
Jones V Flosi
Kadeem J Ostrosky
Ricardo C Doe
Jennifer T Doe
Rodrigues T Iturbide
Smith D Saylors
Morrow X Whobrey
Kadeem K Perin
Darci L Gaucho
Jefferson E Doe
Alejandro W Nestle
Maisha L Ferencz
Mayumi W Sergi
Claire D Nestle
Maria G Chui
Silvio I Malet
Julie M Gillian
Ricardo Y Maclead
Cody Q Marrier
Claire G Whobrey
Sinclair L Marrier
Maisha T Iturbide
Aditya Z Perin
Jones P Nicka
Alejandro X Butt
Murillo C Figeroa
Jones L Sergi
IdCountryDate
1000Australia2025-08-03
1001United Kingdom2025-07-22
1002Brazil2025-07-29
1003Brazil2025-07-23
1004Russia2025-07-07
1005Canada2025-08-03
1006Argentina2025-07-31
1007Germany2025-07-28
1008Russia2025-08-02
1009United Kingdom2025-07-09
1010Australia2025-08-03
1011Spain2025-08-01
1012Japan2025-07-07
1013Canada2025-08-03
1014Italy2025-07-10
1015Japan2025-07-28
1016Brazil2025-07-25
1017Australia2025-08-02
1018Germany2025-07-21
1019Canada2025-07-24
1020Brazil2025-07-07
1021Argentina2025-07-17
1022Spain2025-07-28
1023Japan2025-07-28
1024France2025-07-20
1025Japan2025-07-30
1026Italy2025-07-22
1027Brazil2025-07-25
1028Australia2025-07-15
1029Russia2025-07-08
1030Australia2025-07-14
1031Spain2025-07-19
1032Canada2025-08-01
1033India2025-07-18
1034India2025-07-31
1035Italy2025-07-25
1036Argentina2025-07-29
1037Argentina2025-08-01
1038Argentina2025-07-18
1039Brazil2025-07-13
1040India2025-07-09
1041United Kingdom2025-08-03
1042Spain2025-07-11
1043Australia2025-07-27
1044India2025-07-17
1045Argentina2025-07-07
1046Canada2025-07-08
1047Brazil2025-08-03
1048Australia2025-07-06
1049India2025-07-16

On-Demand Data

NameIdCountryDate
Darci T Ferencz1000India2025-07-23
Misaki V Marrier1001France2025-07-12
Darci K Glick1002United Kingdom2025-07-28
Misaki L Wieser1003Japan2025-07-08
Costa B Whobrey1004Argentina2025-07-23
Maisha G Venere1005Australia2025-07-12
Johnson J Amigon1006Canada2025-07-25
Octavia S Briddick1007Brazil2025-07-19
Smith X Briddick1008Argentina2025-07-09
Jennifer Z Darakjy1009Australia2025-07-08
Deepesh U Perin1010Germany2025-08-03
Jefferson E Darakjy1011Germany2025-08-04
Aika Y Schemmer1012Germany2025-07-11
Ricardo C Campain1013India2025-07-07
Claire Y Poquette1014Canada2025-07-20
Isabel M Campain1015Australia2025-07-13
Leja E Amigon1016Australia2025-07-06
Nicolas S Ostrosky1017Italy2025-07-22
Maria H Royster1018Italy2025-08-04
Tony E Kolmetz1019India2025-08-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith C MaletJapanAmy Elsner NEW
Jones R IturbideArgentinaAsiya Javayant RENEWAL
Tony U MaletAustraliaAsiya Javayant QUALIFIED
Adams A ButtRussiaIoni Bowcher NEGOTIATION
Jones X DarakjyCanadaStephen Shaw PROPOSAL
Kadeem B KuskoJapanAmy Elsner NEGOTIATION
Kaitlin S BowleyRussiaOnyama Limba NEW
Costa P TollnerBrazilAsiya Javayant UNQUALIFIED
Jefferson P MacleadBrazilAsiya Javayant QUALIFIED
Ivar B MacleadAustraliaElwin Sharvill PROPOSAL
Cody C VocelkaGermanyAsiya Javayant QUALIFIED
Ashley O BriddickFranceAnna Fali NEW
Leon M CampainIndiaStephen Shaw RENEWAL
Aruna S RutaCanadaIoni Bowcher UNQUALIFIED
Aruna V StockhamFranceStephen Shaw NEGOTIATION
Izzy F BriddickRussiaAmy Elsner UNQUALIFIED
Deepesh U WhobreyUnited KingdomBernardo Dominic QUALIFIED
Adams I PerinGermanyStephen Shaw NEW
Faith R StockhamJapanAsiya Javayant UNQUALIFIED
Silvio U WieserFranceBernardo Dominic PROPOSAL
Jeanfrancois U AmigonRussiaAnna Fali NEGOTIATION
Aika Z AmigonRussiaIoni Bowcher NEGOTIATION
Deepesh N FerenczBrazilStephen Shaw NEGOTIATION
Chavez D PerinSpainAnna Fali NEW
Nicolas I RimUnited KingdomBernardo Dominic RENEWAL
Antonio J GauchoAustraliaStephen Shaw NEGOTIATION
Mayumi J PerinUnited KingdomXuxue Feng QUALIFIED
Leja Q CaldareraCanadaIoni Bowcher PROPOSAL
Ricardo I KolmetzAustraliaIoni Bowcher PROPOSAL
Ricardo T GarufiFranceIvan Magalhaes NEGOTIATION
Jennifer Q BologniaCanadaOnyama Limba UNQUALIFIED
Kadeem S NestleItalyAmy Elsner UNQUALIFIED
Smith P FollerIndiaAmy Elsner RENEWAL
Johnson E GillianUnited KingdomElwin Sharvill PROPOSAL
Rodrigues Z StensethUnited KingdomElwin Sharvill QUALIFIED
Sinclair Z WieserArgentinaIvan Magalhaes NEW
Mayumi F FlosiRussiaOnyama Limba NEGOTIATION
Morrow D FollerUnited KingdomIoni Bowcher RENEWAL
Murillo X WhobreyGermanyIoni Bowcher PROPOSAL
Maisha U RoysterBrazilAmy Elsner NEGOTIATION

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