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
Mayumi E CaldareraRussiaIvan Magalhaes NEGOTIATION
Arvin H WaycottAustraliaElwin Sharvill PROPOSAL
Adams J SchemmerJapanOnyama Limba NEW
Maria X RimRussiaBernardo Dominic NEW
Kadeem E FerenczSpainIoni Bowcher NEGOTIATION
Leja B GauchoUnited KingdomElwin Sharvill RENEWAL
Murillo G PaprockiRussiaOnyama Limba NEGOTIATION
Murillo R VocelkaUnited KingdomStephen Shaw PROPOSAL
Munro N AmigonRussiaIvan Magalhaes NEW
Aditya L PerinIndiaBernardo Dominic RENEWAL
Kaitlin Y DarakjyUnited KingdomAmy Elsner PROPOSAL
Mayumi N AmigonJapanAmy Elsner QUALIFIED
Munro L SchemmerCanadaAnna Fali RENEWAL
Wickens O DilliardSpainIoni Bowcher NEGOTIATION
Tony X IturbideIndiaAmy Elsner NEGOTIATION
Morrow D NestleUnited KingdomIoni Bowcher NEGOTIATION
Faith G ChuiCanadaAnna Fali QUALIFIED
Darci P DoeItalyAsiya Javayant NEW
Johnson H DilliardCanadaIoni Bowcher PROPOSAL
Alejandro R SchemmerUnited KingdomAsiya Javayant RENEWAL
Francesco N AlbaresIndiaOnyama Limba NEW
David D StensethCanadaAsiya Javayant NEW
Antonio C WieserItalyAnna Fali NEGOTIATION
Jones J MacleadAustraliaOnyama Limba UNQUALIFIED
Rodrigues F NestleIndiaIoni Bowcher QUALIFIED
Arvin N MaletItalyXuxue Feng QUALIFIED
Chavez J SchemmerBrazilAmy Elsner NEW
Octavia E FlosiCanadaAnna Fali PROPOSAL
James Z WaycottCanadaElwin Sharvill UNQUALIFIED
Mayumi R VocelkaRussiaElwin Sharvill UNQUALIFIED
Emily B FlosiGermanyAnna Fali NEGOTIATION
Jefferson C FigeroaItalyStephen Shaw PROPOSAL
Kadeem F OstroskyItalyXuxue Feng QUALIFIED
Izzy R ButtRussiaAnna Fali PROPOSAL
Salvatore O ButtFranceAnna Fali UNQUALIFIED
James U FollerCanadaIvan Magalhaes NEW
Ricardo B WaycottJapanAnna Fali RENEWAL
Smith D RimJapanElwin Sharvill UNQUALIFIED
Adams R StockhamGermanyXuxue Feng NEGOTIATION
Jefferson X MaletCanadaAnna Fali QUALIFIED
James T ChuiBrazilOnyama Limba RENEWAL
Tony A MaletUnited KingdomAmy Elsner PROPOSAL
Ivar U IturbideCanadaBernardo Dominic NEGOTIATION
David L RutaAustraliaAsiya Javayant PROPOSAL
Tony G OldroydCanadaElwin Sharvill NEGOTIATION
Ivar R StensethArgentinaAnna Fali NEW
Aruna K FollerGermanyIoni Bowcher RENEWAL
Aruna T BologniaUnited KingdomIvan Magalhaes UNQUALIFIED
Adams I PerinJapanElwin Sharvill NEGOTIATION
Johnson V WaycottJapanStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Wickens Y CampainRussiaXuxue Feng NEW
Clifford F GlickAustraliaAnna Fali UNQUALIFIED
Chavez V InouyeBrazilIoni Bowcher RENEWAL
Salvatore V CaldareraUnited KingdomAmy Elsner UNQUALIFIED
Sinclair H IturbideJapanBernardo Dominic NEW
Jeanfrancois J SchemmerCanadaOnyama Limba NEGOTIATION
Aditya I PaprockiRussiaAsiya Javayant UNQUALIFIED
Emily J RulapaughSpainAnna Fali NEW
Rodrigues Q BriddickArgentinaIoni Bowcher NEW
Tony F BologniaFranceIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco V FigeroaSpain2025-08-26Chanay, Jeffrey A Esq QUALIFIED19Ioni Bowcher
1001Ashley W TollnerUnited Kingdom2025-08-07Feiner Bros QUALIFIED86Ivan Magalhaes
1002Arvin L ChuiJapan2025-08-18Chanay, Jeffrey A Esq UNQUALIFIED75Elwin Sharvill
1003Rodrigues X WieserJapan2025-08-26Buckley Miller Wright QUALIFIED22Xuxue Feng
1004Izzy C RimGermany2025-08-07Chanay, Jeffrey A Esq NEGOTIATION86Bernardo Dominic
1005Kadeem A DilliardCanada2025-08-09Morlong Associates RENEWAL76Xuxue Feng
1006Octavia G GauchoIndia2025-07-30Feiner Bros UNQUALIFIED45Stephen Shaw
1007Ashley A FlosiIndia2025-08-06Rousseaux, Michael Esq UNQUALIFIED60Xuxue Feng
1008Nicolas Q DarakjyItaly2025-08-12Chapman, Ross E Esq UNQUALIFIED4Ivan Magalhaes
1009Murillo H CampainArgentina2025-08-25Rangoni Of Florence QUALIFIED48Asiya Javayant
1010Julie P MorascaArgentina2025-08-23Feltz Printing Service QUALIFIED36Amy Elsner
1011Munro D RulapaughItaly2025-08-03King, Christopher A Esq UNQUALIFIED62Amy Elsner
1012Costa F DarakjyItaly2025-08-10Printing Dimensions NEW80Elwin Sharvill
1013Claire B AlbaresUnited Kingdom2025-08-08King, Christopher A Esq RENEWAL45Amy Elsner
1014Maria P FlosiRussia2025-08-16Rousseaux, Michael Esq NEGOTIATION67Elwin Sharvill
1015Wickens X DilliardUnited Kingdom2025-08-02Commercial Press NEW16Stephen Shaw
1016Emily L CaudySpain2025-08-02Rangoni Of Florence NEGOTIATION54Xuxue Feng
1017Darci R VocelkaRussia2025-08-19Printing Dimensions UNQUALIFIED39Amy Elsner
1018Darci C ButtBrazil2025-08-06Chapman, Ross E Esq UNQUALIFIED36Elwin Sharvill
1019Aruna D TollnerArgentina2025-07-30Printing Dimensions NEGOTIATION78Anna Fali
1020Maisha D DilliardGermany2025-08-06Chanay, Jeffrey A Esq PROPOSAL41Bernardo Dominic
1021Maria E IturbideAustralia2025-08-24Morlong Associates NEW31Anna Fali
1022Rodrigues I MaletArgentina2025-08-21Printing Dimensions PROPOSAL1Anna Fali
1023Jeanfrancois F ButtGermany2025-08-21Dorl, James J Esq PROPOSAL49Anna Fali
1024Jeanfrancois H CaldareraFrance2025-08-12King, Christopher A Esq PROPOSAL80Asiya Javayant
1025Cody R RimItaly2025-08-06Rousseaux, Michael Esq UNQUALIFIED72Onyama Limba
1026Leja J AmigonIndia2025-08-04Morlong Associates RENEWAL30Amy Elsner
1027Nicolas B WaycottGermany2025-08-07Chanay, Jeffrey A Esq UNQUALIFIED94Onyama Limba
1028James O SlusarskiUnited Kingdom2025-07-30Chemel, James L Cpa PROPOSAL2Ioni Bowcher
1029Cody Q OstroskyRussia2025-07-31Chanay, Jeffrey A Esq QUALIFIED58Stephen Shaw
1030Isabel O GlickUnited Kingdom2025-08-04Printing Dimensions RENEWAL42Ioni Bowcher
1031Adams S MaletArgentina2025-08-15Buckley Miller Wright NEGOTIATION64Asiya Javayant
1032Deepesh D BriddickJapan2025-08-24Rangoni Of Florence UNQUALIFIED99Stephen Shaw
1033Julie J PaprockiJapan2025-08-26Feiner Bros NEW68Stephen Shaw
1034Ivar K MacleadAustralia2025-08-26King, Christopher A Esq QUALIFIED53Xuxue Feng
1035Sinclair Q RoysterGermany2025-08-16King, Christopher A Esq UNQUALIFIED25Ioni Bowcher
1036Izzy N NestleJapan2025-08-04Buckley Miller Wright QUALIFIED12Asiya Javayant
1037Greenwood M PaprockiAustralia2025-08-01Benton, John B Jr PROPOSAL95Anna Fali
1038Greenwood Y StensethAustralia2025-08-15Chemel, James L Cpa QUALIFIED53Anna Fali
1039Octavia K GauchoUnited Kingdom2025-08-10King, Christopher A Esq NEGOTIATION64Anna Fali
1040Deepesh E MaletJapan2025-08-21Truhlar And Truhlar Attys PROPOSAL63Elwin Sharvill
1041Aditya H GarufiJapan2025-08-03Chemel, James L Cpa UNQUALIFIED86Onyama Limba
1042Johnson D MaletAustralia2025-08-05Chapman, Ross E Esq UNQUALIFIED82Stephen Shaw
1043Morrow V FigeroaFrance2025-08-19Morlong Associates QUALIFIED12Xuxue Feng
1044Clifford U NestleGermany2025-08-14Truhlar And Truhlar Attys NEGOTIATION72Amy Elsner
1045Clifford I FerenczJapan2025-08-14Feltz Printing Service RENEWAL27Stephen Shaw
1046Mayumi V WaycottRussia2025-08-24Feiner Bros RENEWAL54Elwin Sharvill
1047Isabel Q PerinRussia2025-08-23Feiner Bros QUALIFIED75Stephen Shaw
1048Francesco Z BologniaAustralia2025-08-22Commercial Press PROPOSAL45Anna Fali
1049Juan U GarufiArgentina2025-08-07Rangoni Of Florence PROPOSAL45Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Ricardo R AmigonAustraliaIvan Magalhaes QUALIFIED
Maisha U NestleAustraliaIvan Magalhaes NEW
Mayumi U FollerBrazilAmy Elsner NEGOTIATION
Mujtaba T AlbaresItalyAmy Elsner PROPOSAL
Maisha K MorascaBrazilAsiya Javayant QUALIFIED
Murillo F GlickFranceOnyama Limba NEW
Juan U MaletGermanyIoni Bowcher UNQUALIFIED
Clifford H StockhamArgentinaIvan Magalhaes NEW
Costa Q SergiSpainElwin Sharvill NEGOTIATION
Greenwood F ButtArgentinaElwin Sharvill NEGOTIATION
Octavia R ButtUnited KingdomAmy Elsner PROPOSAL
Kaitlin J KolmetzSpainIvan Magalhaes QUALIFIED
Deepesh W CaldareraJapanStephen Shaw NEW
Darci F DilliardRussiaBernardo Dominic NEW
Rodrigues A CampainAustraliaAsiya Javayant PROPOSAL
Isabel W MarrierArgentinaOnyama Limba PROPOSAL
Izzy N StensethBrazilElwin Sharvill RENEWAL
Kadeem M RutaJapanElwin Sharvill QUALIFIED
James A FigeroaFranceStephen Shaw NEW
Leja W GarufiGermanyXuxue Feng RENEWAL
Rodrigues J IturbideSpainAmy Elsner PROPOSAL
Greenwood L SchemmerIndiaIvan Magalhaes NEGOTIATION
Johnson G VocelkaIndiaIvan Magalhaes NEW
Morrow C SaylorsIndiaAmy Elsner PROPOSAL
Juan A ShinkoFranceElwin Sharvill RENEWAL
Julie U VocelkaBrazilIoni Bowcher RENEWAL
Sinclair B MaletIndiaOnyama Limba RENEWAL
Jeanfrancois J StensethCanadaElwin Sharvill NEGOTIATION
Julie U WaycottArgentinaIoni Bowcher RENEWAL
Ricardo F WaycottAustraliaElwin Sharvill PROPOSAL
Munro M GauchoRussiaOnyama Limba NEGOTIATION
Izzy G RutaIndiaAnna Fali QUALIFIED
Johnson Z VenereFranceIoni Bowcher PROPOSAL
Cody Q WaycottIndiaStephen Shaw PROPOSAL
Sinclair Y GarufiBrazilAsiya Javayant RENEWAL
Cody C FlosiRussiaAsiya Javayant QUALIFIED
Maisha H StockhamSpainIvan Magalhaes RENEWAL
Maria Z BologniaFranceOnyama Limba NEW
Emily G CaldareraJapanIoni Bowcher NEGOTIATION
Leon B MaletRussiaIoni Bowcher QUALIFIED
Darci O MaletBrazilBernardo Dominic NEGOTIATION
Julie D CampainSpainElwin Sharvill NEW
Mayumi W FigeroaJapanIvan Magalhaes UNQUALIFIED
Kaitlin R PerinBrazilIvan Magalhaes NEGOTIATION
Morrow W BologniaBrazilBernardo Dominic UNQUALIFIED
Smith A RutaCanadaOnyama Limba RENEWAL
Costa U FlosiArgentinaElwin Sharvill PROPOSAL
Silvio T SlusarskiArgentinaIvan Magalhaes RENEWAL
Sinclair D GauchoCanadaIoni Bowcher UNQUALIFIED
Rodrigues P WhobreyFranceXuxue Feng PROPOSAL
Frozen Columns
Name
Cody L Shinko
Deepesh O Venere
Isabel R Inouye
Isabel P Amigon
Julie H Briddick
Salvatore A Shinko
Rodrigues W Glick
Maisha I Albares
Jeanfrancois U Garufi
Arvin T Wieser
Greenwood Y Malet
Ricardo O Perin
Clifford U Glick
Chavez X Briddick
Aika R Oldroyd
Faith M Malet
Francesco I Maclead
Costa G Inouye
Kadeem A Foller
Tony H Poquette
Adams R Ostrosky
Jefferson P Maclead
Mayumi L Flosi
Aika C Oldroyd
Juan T Shinko
Salvatore H Foller
Leon B Oldroyd
Kadeem N Waycott
Deepesh K Morasca
Rodrigues T Dilliard
Aruna T Sergi
Murillo X Briddick
Morrow I Royster
Jefferson O Albares
Aruna H Inouye
Kaitlin O Maclead
Smith J Caldarera
Wickens N Kolmetz
Morrow D Flosi
Deepesh Y Amigon
Morrow Q Garufi
Clifford P Figeroa
Greenwood H Ruta
Cody H Nestle
Salvatore A Gaucho
Mayumi X Inouye
Leja S Gillian
Jeanfrancois N Bowley
Wickens B Chui
Silvio R Stenseth
IdCountryDate
1000Canada2025-08-03
1001Canada2025-08-28
1002Italy2025-08-18
1003Italy2025-08-26
1004Japan2025-08-07
1005Canada2025-07-31
1006Germany2025-08-04
1007United Kingdom2025-08-26
1008France2025-08-28
1009Italy2025-08-09
1010Brazil2025-08-03
1011Italy2025-08-28
1012Brazil2025-08-28
1013Japan2025-08-14
1014Germany2025-08-17
1015France2025-08-01
1016Argentina2025-08-09
1017Italy2025-08-24
1018Spain2025-08-23
1019Spain2025-08-15
1020Canada2025-07-31
1021Spain2025-08-19
1022Brazil2025-08-14
1023Brazil2025-08-16
1024Japan2025-08-14
1025Germany2025-07-31
1026Australia2025-08-17
1027Brazil2025-08-10
1028Argentina2025-07-30
1029France2025-08-12
1030Canada2025-08-22
1031Russia2025-08-25
1032Argentina2025-08-18
1033Argentina2025-08-05
1034Russia2025-08-17
1035India2025-08-06
1036Russia2025-08-06
1037Argentina2025-08-22
1038Argentina2025-08-17
1039Brazil2025-08-27
1040United Kingdom2025-08-19
1041United Kingdom2025-08-17
1042Germany2025-08-21
1043Brazil2025-08-16
1044Japan2025-08-21
1045Japan2025-08-09
1046India2025-08-04
1047Russia2025-08-20
1048Argentina2025-08-26
1049Spain2025-08-19

On-Demand Data

NameIdCountryDate
David D Flosi1000India2025-08-22
Jones F Gaucho1001Argentina2025-08-12
Clifford H Gaucho1002France2025-08-19
Munro Y Marrier1003Argentina2025-08-27
Jones Z Ruta1004Japan2025-08-03
Misaki R Campain1005Brazil2025-08-25
Ivar O Kusko1006United Kingdom2025-08-10
Izzy O Amigon1007Germany2025-08-02
Antonio V Malet1008Italy2025-08-11
Isabel C Venere1009Australia2025-08-06
Izzy A Caudy1010United Kingdom2025-08-20
Izzy S Morasca1011France2025-08-25
Maisha A Schemmer1012Russia2025-08-03
Jefferson D Dilliard1013Germany2025-08-27
Izzy O Iturbide1014United Kingdom2025-07-30
Faith X Nicka1015Germany2025-07-31
Leon K Shinko1016France2025-08-26
Leja E Stenseth1017Russia2025-08-22
Mujtaba Q Schemmer1018Canada2025-08-18
Maria C Saylors1019Spain2025-08-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa V IturbideItalyElwin Sharvill PROPOSAL
Sinclair K FigeroaRussiaOnyama Limba NEGOTIATION
Smith Q FollerJapanXuxue Feng PROPOSAL
Greenwood I WaycottIndiaAmy Elsner UNQUALIFIED
Mayumi S NickaBrazilAmy Elsner UNQUALIFIED
Cody P RoysterFranceAnna Fali NEGOTIATION
Juan X GillianFranceIoni Bowcher PROPOSAL
Julie E BriddickGermanyAnna Fali NEGOTIATION
Aruna H CaudyAustraliaElwin Sharvill UNQUALIFIED
Maria K NestleGermanyStephen Shaw PROPOSAL
Izzy B BologniaBrazilAmy Elsner QUALIFIED
Murillo J PoquetteCanadaXuxue Feng UNQUALIFIED
Murillo U PaprockiUnited KingdomAsiya Javayant QUALIFIED
Isabel Z NestleBrazilBernardo Dominic UNQUALIFIED
Kadeem I RulapaughFranceXuxue Feng NEGOTIATION
Wickens E FlosiArgentinaElwin Sharvill RENEWAL
Johnson E StensethJapanElwin Sharvill NEGOTIATION
Jeanfrancois G IturbideFranceXuxue Feng PROPOSAL
Darci K DarakjyIndiaXuxue Feng RENEWAL
Smith I CaudyItalyXuxue Feng RENEWAL
Mayumi O OstroskyBrazilStephen Shaw QUALIFIED
Juan W FigeroaArgentinaAnna Fali QUALIFIED
Darci O PaprockiIndiaOnyama Limba QUALIFIED
Leon K TollnerAustraliaBernardo Dominic RENEWAL
Mujtaba I BologniaBrazilIoni Bowcher PROPOSAL
Munro X ShinkoFranceXuxue Feng NEW
Clifford I ChuiItalyAmy Elsner NEGOTIATION
Ashley R RimCanadaOnyama Limba UNQUALIFIED
Emily X InouyeGermanyIoni Bowcher RENEWAL
Mayumi P SergiJapanOnyama Limba RENEWAL
Mujtaba S WaycottItalyIvan Magalhaes QUALIFIED
Aika D RulapaughFranceBernardo Dominic NEW
Kaitlin Q FerenczRussiaAmy Elsner UNQUALIFIED
Kaitlin O InouyeSpainXuxue Feng NEGOTIATION
Smith L InouyeBrazilOnyama Limba QUALIFIED
Jeanfrancois S PerinAustraliaIoni Bowcher NEW
Faith T CaudyJapanAmy Elsner PROPOSAL
Murillo U GillianIndiaAsiya Javayant UNQUALIFIED
Stacey Z VocelkaIndiaXuxue Feng UNQUALIFIED
Leja H GarufiBrazilAmy Elsner 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>