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
Silvio F MorascaItalyXuxue Feng NEW
Izzy H MacleadSpainAmy Elsner QUALIFIED
Kadeem J FigeroaSpainAnna Fali NEGOTIATION
Ashley G FigeroaItalyIoni Bowcher QUALIFIED
Tony C OldroydRussiaIoni Bowcher NEW
Costa B WaycottArgentinaAmy Elsner UNQUALIFIED
Alejandro Z DarakjyAustraliaAmy Elsner QUALIFIED
Kadeem I OstroskyArgentinaIoni Bowcher NEW
Izzy I MacleadUnited KingdomAsiya Javayant UNQUALIFIED
Jefferson M OldroydFranceStephen Shaw NEGOTIATION
Kaitlin N MacleadArgentinaOnyama Limba RENEWAL
Kaitlin S NestleAustraliaIvan Magalhaes UNQUALIFIED
Antonio A InouyeBrazilOnyama Limba RENEWAL
Mayumi W FigeroaFranceAnna Fali NEW
Tony G MaletJapanAnna Fali RENEWAL
Stacey V RutaRussiaAmy Elsner NEW
Izzy F AmigonUnited KingdomStephen Shaw PROPOSAL
Jennifer X CaudyGermanyAmy Elsner RENEWAL
Rodrigues A DilliardCanadaAsiya Javayant NEGOTIATION
Rodrigues F RulapaughJapanAnna Fali RENEWAL
Ricardo M ChuiBrazilAsiya Javayant NEGOTIATION
Ashley Q DilliardFranceAmy Elsner PROPOSAL
Ivar W PoquetteItalyBernardo Dominic QUALIFIED
Greenwood J GarufiRussiaXuxue Feng QUALIFIED
Clifford A CaldareraBrazilXuxue Feng QUALIFIED
Alejandro J NickaFranceBernardo Dominic NEGOTIATION
Isabel S DarakjyBrazilAmy Elsner QUALIFIED
Mayumi F SergiAustraliaIvan Magalhaes PROPOSAL
Morrow Z MorascaGermanyAmy Elsner NEW
Greenwood Z StensethSpainAnna Fali UNQUALIFIED
Munro U PerinBrazilIoni Bowcher PROPOSAL
Sinclair F SergiGermanyIvan Magalhaes NEGOTIATION
Chavez H ShinkoRussiaAmy Elsner RENEWAL
Adams I WaycottArgentinaAnna Fali NEGOTIATION
Costa W PaprockiJapanBernardo Dominic QUALIFIED
Johnson E AlbaresItalyIvan Magalhaes UNQUALIFIED
Aika H ShinkoItalyAsiya Javayant QUALIFIED
Ricardo L AmigonCanadaIoni Bowcher RENEWAL
Jeanfrancois L CaudyItalyOnyama Limba UNQUALIFIED
Chavez P MarrierArgentinaBernardo Dominic RENEWAL
Morrow Y BriddickItalyIoni Bowcher NEGOTIATION
Costa O RulapaughJapanBernardo Dominic PROPOSAL
Rodrigues E ShinkoUnited KingdomAmy Elsner UNQUALIFIED
Kadeem H DarakjySpainAsiya Javayant PROPOSAL
Rodrigues C ButtJapanElwin Sharvill QUALIFIED
Mujtaba D SergiSpainAnna Fali RENEWAL
Aditya E CaudyJapanAsiya Javayant QUALIFIED
Silvio B InouyeIndiaAnna Fali NEGOTIATION
Izzy O VocelkaUnited KingdomStephen Shaw QUALIFIED
Costa B GarufiRussiaAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jones K MorascaItalyXuxue Feng RENEWAL
Chavez C CampainBrazilBernardo Dominic UNQUALIFIED
James G AlbaresUnited KingdomAnna Fali QUALIFIED
Ricardo H VocelkaRussiaAmy Elsner RENEWAL
Jeanfrancois B SergiUnited KingdomBernardo Dominic NEW
Costa C ButtAustraliaElwin Sharvill UNQUALIFIED
Darci B SaylorsUnited KingdomElwin Sharvill NEW
David P AlbaresArgentinaIvan Magalhaes NEW
Leja L MorascaUnited KingdomBernardo Dominic QUALIFIED
Misaki I PerinIndiaXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow S SergiGermany2025-10-03Feltz Printing Service PROPOSAL36Ioni Bowcher
1001Francesco X GarufiCanada2025-10-16Rousseaux, Michael Esq PROPOSAL30Anna Fali
1002Julie R IturbideAustralia2025-10-07Benton, John B Jr NEGOTIATION91Amy Elsner
1003Aika V WaycottArgentina2025-09-30Chapman, Ross E Esq NEGOTIATION65Amy Elsner
1004Octavia L MorascaUnited Kingdom2025-10-14Truhlar And Truhlar Attys NEW62Xuxue Feng
1005Faith H VenereRussia2025-09-30Rousseaux, Michael Esq PROPOSAL66Ivan Magalhaes
1006Misaki P KuskoIndia2025-10-04King, Christopher A Esq QUALIFIED94Ioni Bowcher
1007Emily C SergiCanada2025-09-23Morlong Associates UNQUALIFIED4Elwin Sharvill
1008Salvatore X WaycottCanada2025-10-18Morlong Associates UNQUALIFIED62Amy Elsner
1009Murillo Y FlosiCanada2025-10-09Dorl, James J Esq NEW57Ioni Bowcher
1010Faith S GauchoGermany2025-09-28Commercial Press QUALIFIED32Xuxue Feng
1011Aditya L CampainSpain2025-10-08Chapman, Ross E Esq PROPOSAL74Asiya Javayant
1012Munro D WhobreyUnited Kingdom2025-10-10Truhlar And Truhlar Attys QUALIFIED17Anna Fali
1013Clifford T DilliardBrazil2025-09-23Chanay, Jeffrey A Esq QUALIFIED50Ioni Bowcher
1014Ashley M SaylorsIndia2025-09-27Morlong Associates QUALIFIED46Asiya Javayant
1015Sinclair Y GauchoRussia2025-10-10Printing Dimensions PROPOSAL10Ivan Magalhaes
1016James B RulapaughSpain2025-09-26Chemel, James L Cpa QUALIFIED5Bernardo Dominic
1017Cody O DoeArgentina2025-10-18Feltz Printing Service PROPOSAL54Anna Fali
1018Emily L VenereItaly2025-10-01King, Christopher A Esq NEGOTIATION74Onyama Limba
1019James A SchemmerCanada2025-10-02Commercial Press PROPOSAL91Anna Fali
1020Jeanfrancois C GillianUnited Kingdom2025-10-07Feltz Printing Service UNQUALIFIED31Xuxue Feng
1021Jefferson I OldroydUnited Kingdom2025-10-18Chanay, Jeffrey A Esq NEW32Elwin Sharvill
1022Munro Y OstroskyJapan2025-10-10Morlong Associates NEGOTIATION6Bernardo Dominic
1023Maisha V PaprockiJapan2025-10-09Chapman, Ross E Esq NEW29Onyama Limba
1024Costa Q OldroydItaly2025-10-02Benton, John B Jr QUALIFIED65Onyama Limba
1025Clifford M ChuiSpain2025-10-06Rousseaux, Michael Esq NEW40Onyama Limba
1026Aruna M NestleFrance2025-10-02Benton, John B Jr RENEWAL59Asiya Javayant
1027Clifford P PaprockiRussia2025-10-20Chemel, James L Cpa NEGOTIATION52Xuxue Feng
1028Munro T SaylorsArgentina2025-10-15Chanay, Jeffrey A Esq PROPOSAL54Amy Elsner
1029Wickens O NickaCanada2025-10-05Truhlar And Truhlar Attys RENEWAL73Amy Elsner
1030Kaitlin O RimItaly2025-10-07Dorl, James J Esq RENEWAL19Stephen Shaw
1031Smith X GillianIndia2025-10-06Morlong Associates NEW21Xuxue Feng
1032Aditya D FollerAustralia2025-10-15Truhlar And Truhlar Attys RENEWAL35Onyama Limba
1033Ashley X VocelkaArgentina2025-10-20Rousseaux, Michael Esq NEGOTIATION8Asiya Javayant
1034Mujtaba X DoeArgentina2025-10-09Rousseaux, Michael Esq RENEWAL12Xuxue Feng
1035Clifford R GlickJapan2025-10-17Rousseaux, Michael Esq RENEWAL6Onyama Limba
1036Mujtaba E FlosiGermany2025-10-16Rousseaux, Michael Esq UNQUALIFIED40Ioni Bowcher
1037Smith Z NickaFrance2025-10-16Buckley Miller Wright NEW28Ioni Bowcher
1038Emily S IturbideSpain2025-10-13Chapman, Ross E Esq PROPOSAL85Stephen Shaw
1039Aika Q RimJapan2025-09-27Morlong Associates RENEWAL30Asiya Javayant
1040Tony E VocelkaBrazil2025-10-07Rousseaux, Michael Esq PROPOSAL4Asiya Javayant
1041Aika C FigeroaAustralia2025-10-04Printing Dimensions QUALIFIED64Ioni Bowcher
1042Antonio P FollerRussia2025-10-12Dorl, James J Esq RENEWAL30Elwin Sharvill
1043Aika U BowleyAustralia2025-10-01Chanay, Jeffrey A Esq RENEWAL6Ioni Bowcher
1044Julie O RulapaughJapan2025-10-06Commercial Press NEW15Bernardo Dominic
1045Jones N IturbideCanada2025-09-29Benton, John B Jr NEW50Ivan Magalhaes
1046Ricardo C PerinFrance2025-10-08Commercial Press PROPOSAL21Anna Fali
1047Aruna C ButtCanada2025-10-09Dorl, James J Esq PROPOSAL22Anna Fali
1048Smith S NickaRussia2025-09-25Truhlar And Truhlar Attys QUALIFIED7Amy Elsner
1049Antonio Z GillianIndia2025-10-12Rangoni Of Florence QUALIFIED1Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Leon V NestleIndiaStephen Shaw NEGOTIATION
Silvio E VenereArgentinaIvan Magalhaes QUALIFIED
Octavia U RulapaughFranceBernardo Dominic RENEWAL
Jennifer Q MorascaItalyOnyama Limba RENEWAL
Ivar D GillianJapanAnna Fali PROPOSAL
Antonio I AmigonJapanStephen Shaw UNQUALIFIED
Cody S ButtJapanStephen Shaw QUALIFIED
Alejandro Y ChuiAustraliaAsiya Javayant UNQUALIFIED
Juan J GillianUnited KingdomStephen Shaw NEGOTIATION
Tony N SaylorsItalyIvan Magalhaes UNQUALIFIED
Mayumi C GauchoJapanElwin Sharvill NEGOTIATION
Juan P KuskoAustraliaElwin Sharvill NEW
Stacey D StockhamFranceAsiya Javayant RENEWAL
Faith I StockhamAustraliaXuxue Feng QUALIFIED
Jennifer J MaletCanadaStephen Shaw NEGOTIATION
Tony X VenereArgentinaAnna Fali PROPOSAL
Clifford B AlbaresJapanAnna Fali QUALIFIED
Maria V TollnerJapanIvan Magalhaes NEGOTIATION
Jeanfrancois G OstroskyCanadaOnyama Limba RENEWAL
Aruna Q PoquetteGermanyElwin Sharvill NEW
Emily F WaycottIndiaAnna Fali NEGOTIATION
Morrow C BowleySpainAsiya Javayant NEW
Chavez N RutaSpainIoni Bowcher PROPOSAL
Rodrigues D MorascaGermanyAsiya Javayant PROPOSAL
Johnson S FerenczJapanIoni Bowcher NEW
Maisha N StensethItalyOnyama Limba QUALIFIED
Mayumi P PerinFranceIvan Magalhaes UNQUALIFIED
Adams J BriddickFranceIoni Bowcher QUALIFIED
David H MarrierRussiaAmy Elsner NEW
Julie A WhobreyCanadaAsiya Javayant QUALIFIED
Jeanfrancois T SergiRussiaAmy Elsner RENEWAL
Juan P MaletSpainAnna Fali UNQUALIFIED
Salvatore B KolmetzGermanyBernardo Dominic RENEWAL
Stacey W ChuiGermanyElwin Sharvill PROPOSAL
Stacey G KuskoAustraliaIoni Bowcher QUALIFIED
Alejandro R MacleadIndiaXuxue Feng NEGOTIATION
Leja P InouyeJapanBernardo Dominic NEGOTIATION
Kaitlin O FlosiSpainXuxue Feng PROPOSAL
Adams G GillianFranceElwin Sharvill NEGOTIATION
Izzy R VocelkaCanadaAmy Elsner NEGOTIATION
Munro U GillianIndiaElwin Sharvill UNQUALIFIED
Sinclair Z CampainFranceAmy Elsner RENEWAL
Stacey B BowleyCanadaIvan Magalhaes UNQUALIFIED
Aruna K AlbaresGermanyXuxue Feng UNQUALIFIED
David M FollerCanadaIvan Magalhaes PROPOSAL
Darci M VenereIndiaAsiya Javayant PROPOSAL
Aika Y FollerIndiaIvan Magalhaes QUALIFIED
Stacey H FlosiCanadaXuxue Feng UNQUALIFIED
Claire E BriddickBrazilAsiya Javayant QUALIFIED
Emily W DoeItalyAnna Fali NEW
Frozen Columns
Name
Ivar U Ferencz
Sinclair S Figeroa
James X Bowley
Kadeem X Shinko
Emily R Ferencz
Antonio E Wieser
David W Rulapaugh
Silvio H Flosi
Aruna L Dilliard
Julie T Nestle
Costa G Kusko
Stacey Y Stenseth
Aditya Q Maclead
Mayumi A Nestle
James O Foller
Wickens Z Doe
Greenwood S Marrier
Ashley S Ruta
Silvio D Tollner
Costa H Oldroyd
Tony N Foller
Rodrigues R Morasca
Darci R Bowley
Isabel W Rulapaugh
Leon E Nestle
Juan J Glick
Aruna N Briddick
Ashley D Foller
Rodrigues F Morasca
Morrow G Bowley
Jennifer O Stockham
Smith P Dilliard
David H Poquette
Costa H Inouye
Smith Z Whobrey
Alejandro P Sergi
Clifford N Bowley
Deepesh W Maclead
Chavez K Stockham
Jennifer V Garufi
Aditya A Ostrosky
James P Darakjy
Francesco C Garufi
Sinclair Y Malet
Sinclair I Glick
Leja F Amigon
Silvio L Foller
Ricardo N Gillian
Antonio S Waycott
Kadeem J Doe
IdCountryDate
1000United Kingdom2025-10-12
1001Canada2025-10-16
1002Russia2025-10-20
1003United Kingdom2025-09-29
1004Spain2025-10-07
1005Germany2025-10-03
1006Italy2025-10-20
1007Canada2025-10-06
1008Germany2025-10-14
1009Argentina2025-09-30
1010Spain2025-09-24
1011Canada2025-09-25
1012Russia2025-10-10
1013India2025-09-30
1014India2025-10-17
1015Canada2025-10-06
1016Argentina2025-10-10
1017Italy2025-10-15
1018United Kingdom2025-10-04
1019France2025-10-06
1020Spain2025-10-09
1021Canada2025-10-01
1022Spain2025-10-01
1023Russia2025-10-17
1024Japan2025-10-02
1025Spain2025-10-14
1026United Kingdom2025-10-12
1027Japan2025-09-26
1028Canada2025-10-20
1029Spain2025-10-16
1030India2025-10-11
1031Spain2025-10-18
1032Italy2025-10-13
1033United Kingdom2025-10-16
1034Argentina2025-10-14
1035India2025-09-30
1036France2025-10-10
1037Russia2025-10-09
1038Argentina2025-09-29
1039France2025-10-11
1040Germany2025-10-08
1041Germany2025-09-29
1042Spain2025-09-26
1043Spain2025-10-20
1044Germany2025-10-05
1045Italy2025-09-29
1046Germany2025-10-05
1047France2025-10-01
1048Australia2025-10-12
1049France2025-10-01

On-Demand Data

NameIdCountryDate
Nicolas A Ostrosky1000Japan2025-09-29
Mujtaba E Amigon1001France2025-10-05
Jennifer Q Shinko1002India2025-10-19
Julie C Sergi1003France2025-09-25
Juan Q Caudy1004Japan2025-10-18
Maisha U Gillian1005Australia2025-10-16
Izzy C Tollner1006Germany2025-10-19
Julie G Wieser1007Argentina2025-10-19
Adams X Amigon1008Canada2025-10-12
Murillo J Marrier1009Japan2025-09-26
Misaki Z Stenseth1010India2025-10-03
Kadeem X Nestle1011Italy2025-09-23
Misaki H Briddick1012Brazil2025-10-11
Mayumi W Vocelka1013Canada2025-10-17
Kadeem G Briddick1014France2025-10-08
Antonio H Amigon1015Brazil2025-10-12
Maria K Kusko1016Brazil2025-10-11
Jones V Gillian1017Japan2025-10-13
Julie Q Doe1018Australia2025-10-02
Mujtaba S Morasca1019Spain2025-10-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Wickens E CampainFranceElwin Sharvill PROPOSAL
Octavia K GauchoFranceElwin Sharvill QUALIFIED
Munro V PaprockiArgentinaAmy Elsner NEW
Maisha O CaldareraFranceIoni Bowcher PROPOSAL
Jennifer E FerenczUnited KingdomAsiya Javayant QUALIFIED
Antonio O DarakjyIndiaOnyama Limba RENEWAL
Aditya A FollerUnited KingdomAmy Elsner UNQUALIFIED
Aika Y DoeBrazilAnna Fali NEW
Octavia S PaprockiAustraliaOnyama Limba QUALIFIED
Antonio M StensethCanadaIvan Magalhaes UNQUALIFIED
Johnson U SchemmerCanadaElwin Sharvill NEGOTIATION
Greenwood A SchemmerRussiaIvan Magalhaes NEGOTIATION
Claire Y NestleIndiaIvan Magalhaes UNQUALIFIED
Juan P SergiRussiaAmy Elsner PROPOSAL
Costa K RutaUnited KingdomOnyama Limba UNQUALIFIED
Emily U MaletBrazilAnna Fali NEW
Octavia E GlickIndiaElwin Sharvill NEW
Jeanfrancois M AmigonArgentinaStephen Shaw UNQUALIFIED
Maria H InouyeGermanyAnna Fali QUALIFIED
Aditya H ShinkoGermanyAmy Elsner NEW
Munro S NestleArgentinaBernardo Dominic QUALIFIED
Murillo A MacleadGermanyAsiya Javayant NEW
James I MacleadBrazilAmy Elsner QUALIFIED
Isabel X KuskoGermanyAmy Elsner QUALIFIED
Kaitlin K ChuiIndiaIvan Magalhaes RENEWAL
Murillo M VenereFranceStephen Shaw UNQUALIFIED
Mujtaba A ChuiGermanyIvan Magalhaes UNQUALIFIED
Emily Q OldroydArgentinaIvan Magalhaes QUALIFIED
Mayumi P MaletSpainAnna Fali PROPOSAL
Kadeem U MacleadGermanyIoni Bowcher NEW
Kaitlin Y RoysterGermanyOnyama Limba RENEWAL
Leon C FerenczUnited KingdomStephen Shaw PROPOSAL
Isabel F WhobreyGermanyOnyama Limba QUALIFIED
Leon U VocelkaIndiaAnna Fali NEGOTIATION
Chavez J CampainItalyStephen Shaw NEGOTIATION
Jennifer K CampainBrazilBernardo Dominic RENEWAL
Izzy T SergiArgentinaXuxue Feng NEGOTIATION
Antonio X GauchoGermanyAsiya Javayant RENEWAL
Aditya A DilliardArgentinaXuxue Feng NEW
Juan R FerenczSpainStephen Shaw 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>