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
Maisha S SlusarskiSpainIvan Magalhaes NEGOTIATION
Juan K IturbideRussiaXuxue Feng PROPOSAL
Arvin F WhobreyRussiaAmy Elsner RENEWAL
Maisha I GillianUnited KingdomBernardo Dominic NEW
Kaitlin F DilliardGermanyElwin Sharvill QUALIFIED
Alejandro R FlosiIndiaXuxue Feng RENEWAL
Ivar R RimIndiaOnyama Limba QUALIFIED
Greenwood G MaletCanadaOnyama Limba RENEWAL
Ricardo S MaletUnited KingdomIvan Magalhaes RENEWAL
Costa K DarakjyAustraliaXuxue Feng PROPOSAL
Francesco R VocelkaFranceAsiya Javayant NEGOTIATION
Octavia I StensethRussiaAmy Elsner NEGOTIATION
Murillo T DilliardAustraliaXuxue Feng UNQUALIFIED
Murillo H SlusarskiFranceStephen Shaw NEGOTIATION
Leon Q CampainRussiaAsiya Javayant NEW
Arvin A RulapaughItalyIoni Bowcher NEGOTIATION
Murillo U CaudyIndiaElwin Sharvill UNQUALIFIED
Tony U GauchoUnited KingdomBernardo Dominic PROPOSAL
Izzy O KuskoBrazilOnyama Limba NEW
Morrow O GarufiUnited KingdomXuxue Feng UNQUALIFIED
Aruna S PoquetteIndiaAnna Fali QUALIFIED
Jones X CampainFranceIvan Magalhaes QUALIFIED
Greenwood V VocelkaItalyElwin Sharvill NEW
Salvatore N DarakjyItalyAnna Fali NEGOTIATION
Aika Y TollnerRussiaStephen Shaw RENEWAL
Salvatore Z KolmetzCanadaOnyama Limba NEW
Wickens A NickaSpainElwin Sharvill NEGOTIATION
Arvin N RutaArgentinaAmy Elsner PROPOSAL
Morrow B IturbideBrazilBernardo Dominic RENEWAL
Chavez E MorascaIndiaAnna Fali UNQUALIFIED
Claire U NestleGermanyAsiya Javayant PROPOSAL
Rodrigues E WieserRussiaOnyama Limba NEGOTIATION
Aruna V BowleyArgentinaAsiya Javayant NEGOTIATION
Leon A DoeAustraliaIoni Bowcher UNQUALIFIED
Jefferson J SergiIndiaIoni Bowcher NEW
Leon W GauchoArgentinaXuxue Feng NEW
Alejandro Z InouyeSpainIvan Magalhaes UNQUALIFIED
Alejandro H MorascaRussiaAmy Elsner NEGOTIATION
Nicolas T CaudyFranceIvan Magalhaes QUALIFIED
Leja S MacleadUnited KingdomAsiya Javayant PROPOSAL
Octavia Y PerinArgentinaAmy Elsner PROPOSAL
Costa W CaldareraRussiaBernardo Dominic UNQUALIFIED
Jones Q VenereArgentinaAnna Fali PROPOSAL
Kadeem P AlbaresSpainElwin Sharvill NEGOTIATION
Tony Y VenereGermanyIvan Magalhaes NEW
David M BologniaCanadaAmy Elsner PROPOSAL
Antonio Y SlusarskiArgentinaXuxue Feng NEGOTIATION
Claire X SergiItalyOnyama Limba NEW
Jeanfrancois M MaletCanadaStephen Shaw NEGOTIATION
Nicolas K GauchoIndiaStephen Shaw RENEWAL
Horizontal
NameCountryRepresentativeStatus
Octavia G MarrierBrazilAmy Elsner NEGOTIATION
Jefferson O VocelkaGermanyOnyama Limba NEW
Ricardo V SchemmerFranceIvan Magalhaes UNQUALIFIED
James P TollnerGermanyAsiya Javayant RENEWAL
Jefferson O DoeArgentinaBernardo Dominic NEW
Costa M MaletIndiaAnna Fali QUALIFIED
Jeanfrancois R AlbaresItalyAnna Fali QUALIFIED
James T BologniaItalyAmy Elsner PROPOSAL
Jeanfrancois L ShinkoCanadaIoni Bowcher RENEWAL
Tony P BriddickJapanAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David C CaudySpain2025-07-31Chanay, Jeffrey A Esq PROPOSAL12Bernardo Dominic
1001Ivar T KolmetzSpain2025-08-02Rousseaux, Michael Esq NEW75Stephen Shaw
1002Aditya Y CaudyFrance2025-07-16Benton, John B Jr PROPOSAL43Onyama Limba
1003Izzy S FerenczGermany2025-07-21Morlong Associates QUALIFIED28Bernardo Dominic
1004Izzy I MaletJapan2025-07-25Commercial Press RENEWAL70Xuxue Feng
1005Maisha O AmigonArgentina2025-07-05King, Christopher A Esq RENEWAL41Amy Elsner
1006Emily G RutaBrazil2025-08-03Commercial Press QUALIFIED89Anna Fali
1007Wickens W NestleItaly2025-07-06Chanay, Jeffrey A Esq NEW68Asiya Javayant
1008Mujtaba W RimJapan2025-07-25Printing Dimensions RENEWAL48Asiya Javayant
1009David S RimIndia2025-07-09Buckley Miller Wright RENEWAL97Stephen Shaw
1010Isabel F DoeBrazil2025-07-21Benton, John B Jr NEW36Onyama Limba
1011Greenwood I SergiRussia2025-07-18Morlong Associates NEW8Ivan Magalhaes
1012Leon R VenereArgentina2025-07-23Chanay, Jeffrey A Esq QUALIFIED55Xuxue Feng
1013Kadeem I RimCanada2025-07-13Feiner Bros UNQUALIFIED23Anna Fali
1014Aika M PaprockiUnited Kingdom2025-07-08Chemel, James L Cpa NEW32Xuxue Feng
1015Julie J IturbideSpain2025-07-05King, Christopher A Esq NEGOTIATION10Bernardo Dominic
1016Munro R FigeroaGermany2025-07-05Dorl, James J Esq NEW29Xuxue Feng
1017James S PoquetteRussia2025-07-17Rousseaux, Michael Esq UNQUALIFIED53Anna Fali
1018Ricardo Y MarrierItaly2025-07-25Commercial Press PROPOSAL36Asiya Javayant
1019Morrow B PerinIndia2025-07-20Rangoni Of Florence NEW76Ivan Magalhaes
1020Clifford V StensethCanada2025-07-13Printing Dimensions NEGOTIATION64Asiya Javayant
1021Munro V CampainJapan2025-07-05Chanay, Jeffrey A Esq NEW85Bernardo Dominic
1022Sinclair G BowleyAustralia2025-08-03Dorl, James J Esq PROPOSAL9Stephen Shaw
1023Octavia D OstroskyJapan2025-07-15Rangoni Of Florence QUALIFIED56Ivan Magalhaes
1024Ashley L AmigonCanada2025-07-11Benton, John B Jr PROPOSAL10Elwin Sharvill
1025Aruna X PoquetteArgentina2025-07-22Buckley Miller Wright NEW65Ivan Magalhaes
1026Salvatore M WhobreyArgentina2025-07-21Feltz Printing Service QUALIFIED42Stephen Shaw
1027Alejandro W PaprockiSpain2025-07-09Feiner Bros NEW71Amy Elsner
1028Antonio A BologniaBrazil2025-07-30Commercial Press RENEWAL89Bernardo Dominic
1029Julie S MorascaIndia2025-07-19Chanay, Jeffrey A Esq NEGOTIATION84Amy Elsner
1030Adams Q StensethSpain2025-07-09Chemel, James L Cpa NEW16Bernardo Dominic
1031Sinclair I RutaBrazil2025-07-15Dorl, James J Esq NEGOTIATION10Elwin Sharvill
1032Leja H PerinCanada2025-07-06Benton, John B Jr RENEWAL60Onyama Limba
1033Alejandro S FollerIndia2025-07-22Commercial Press NEGOTIATION66Amy Elsner
1034Costa T RoysterArgentina2025-07-31King, Christopher A Esq NEGOTIATION28Onyama Limba
1035Francesco N CampainGermany2025-07-30Truhlar And Truhlar Attys NEW90Xuxue Feng
1036Julie K KolmetzGermany2025-08-02Rangoni Of Florence QUALIFIED62Elwin Sharvill
1037Kaitlin Z WaycottGermany2025-07-17Feltz Printing Service NEW46Stephen Shaw
1038Alejandro Y FigeroaRussia2025-07-07Feltz Printing Service NEW29Xuxue Feng
1039Morrow P DilliardJapan2025-07-31Buckley Miller Wright NEW2Stephen Shaw
1040Greenwood M WhobreyBrazil2025-07-10Commercial Press RENEWAL70Ivan Magalhaes
1041Faith J MacleadJapan2025-07-28Feltz Printing Service QUALIFIED9Elwin Sharvill
1042Maisha A AmigonRussia2025-07-11Benton, John B Jr PROPOSAL10Bernardo Dominic
1043Chavez U WhobreyItaly2025-07-25Feiner Bros UNQUALIFIED16Ioni Bowcher
1044Murillo N SaylorsItaly2025-07-10Rangoni Of Florence UNQUALIFIED43Anna Fali
1045Jones I TollnerBrazil2025-07-20Chemel, James L Cpa NEW76Amy Elsner
1046Francesco F FollerUnited Kingdom2025-07-17Chanay, Jeffrey A Esq PROPOSAL12Onyama Limba
1047Rodrigues Q BowleyAustralia2025-07-18Commercial Press NEW1Ioni Bowcher
1048Aruna L InouyeItaly2025-07-18Printing Dimensions NEW68Stephen Shaw
1049Clifford H MarrierBrazil2025-07-24Feiner Bros NEW18Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Mayumi S SaylorsGermanyOnyama Limba QUALIFIED
Murillo O CampainRussiaAmy Elsner QUALIFIED
Aditya J InouyeGermanyAnna Fali NEGOTIATION
David N RutaGermanyAsiya Javayant NEW
Leon X TollnerIndiaAmy Elsner RENEWAL
David R FigeroaAustraliaOnyama Limba NEGOTIATION
Murillo D PaprockiItalyIoni Bowcher UNQUALIFIED
Mayumi T CaudyRussiaAsiya Javayant NEW
Antonio H WhobreyItalyXuxue Feng QUALIFIED
Maria T RutaArgentinaAmy Elsner RENEWAL
Leja E VenereFranceOnyama Limba QUALIFIED
Alejandro J MacleadRussiaAnna Fali QUALIFIED
Munro M ChuiArgentinaOnyama Limba UNQUALIFIED
Salvatore T MacleadRussiaAsiya Javayant NEW
Leon V VocelkaIndiaIvan Magalhaes NEW
Chavez E CaldareraCanadaAmy Elsner NEW
Jones E PoquetteCanadaAmy Elsner RENEWAL
Ivar T MorascaJapanOnyama Limba RENEWAL
Francesco I RimCanadaAmy Elsner QUALIFIED
Darci C FollerUnited KingdomXuxue Feng RENEWAL
Faith P ButtJapanElwin Sharvill PROPOSAL
Antonio J WhobreyBrazilAnna Fali NEGOTIATION
Mayumi H FollerIndiaBernardo Dominic RENEWAL
Jennifer A InouyeUnited KingdomOnyama Limba NEGOTIATION
Misaki M FerenczSpainBernardo Dominic QUALIFIED
Julie F StensethBrazilXuxue Feng PROPOSAL
Wickens V PerinSpainAmy Elsner PROPOSAL
Silvio U SlusarskiGermanyElwin Sharvill NEGOTIATION
Munro C TollnerRussiaAnna Fali NEW
Maisha J GillianRussiaIvan Magalhaes NEW
Wickens C PerinFranceAnna Fali NEGOTIATION
Greenwood Y DoeUnited KingdomAmy Elsner PROPOSAL
Salvatore A SaylorsRussiaStephen Shaw NEGOTIATION
Antonio O FollerRussiaAnna Fali PROPOSAL
Antonio K BowleyBrazilIvan Magalhaes QUALIFIED
Johnson J WaycottGermanyOnyama Limba NEGOTIATION
Costa E FigeroaCanadaAmy Elsner NEW
Octavia X OldroydCanadaAmy Elsner PROPOSAL
Maria H SaylorsArgentinaIoni Bowcher NEGOTIATION
Faith X SlusarskiRussiaIoni Bowcher NEW
Ricardo S OstroskyRussiaAnna Fali PROPOSAL
Adams M MacleadBrazilElwin Sharvill NEGOTIATION
Cody Q CaudyCanadaIoni Bowcher PROPOSAL
Jeanfrancois Y ButtRussiaXuxue Feng NEGOTIATION
Alejandro S GarufiCanadaBernardo Dominic NEW
Julie A WhobreyIndiaIvan Magalhaes QUALIFIED
Munro Y BologniaJapanIoni Bowcher NEGOTIATION
Octavia K RutaSpainIoni Bowcher NEGOTIATION
Tony G FlosiAustraliaOnyama Limba RENEWAL
Murillo W OstroskyRussiaXuxue Feng PROPOSAL
Frozen Columns
Name
Kadeem L Glick
Juan O Glick
Murillo U Amigon
Octavia D Ferencz
Juan X Flosi
Jones Q Amigon
Munro B Morasca
Jones A Butt
Emily K Bowley
Silvio B Inouye
Sinclair S Inouye
Aditya J Dilliard
Jones A Stenseth
Francesco D Nicka
Faith M Gillian
Tony W Waycott
Rodrigues W Butt
Morrow T Paprocki
Rodrigues U Sergi
Morrow O Paprocki
Misaki H Rim
Cody J Butt
Isabel O Whobrey
Leja U Chui
Aditya X Schemmer
Johnson J Briddick
Maisha A Stenseth
Jefferson T Wieser
Tony G Caldarera
Aruna G Waycott
Adams N Oldroyd
Leon P Figeroa
Johnson A Ferencz
Octavia G Stenseth
Aruna X Ostrosky
Maisha K Butt
Ivar K Vocelka
Julie V Malet
Juan G Wieser
Aditya C Wieser
Salvatore B Morasca
Munro V Vocelka
Leja Q Darakjy
Aditya V Chui
Ashley B Caldarera
Kadeem E Garufi
Jefferson V Briddick
Leja P Poquette
Chavez H Vocelka
Izzy G Ostrosky
IdCountryDate
1000Germany2025-07-09
1001France2025-07-29
1002France2025-07-27
1003Australia2025-07-24
1004India2025-07-08
1005Spain2025-07-20
1006Canada2025-07-07
1007Canada2025-07-20
1008United Kingdom2025-07-16
1009Australia2025-07-07
1010France2025-07-19
1011Germany2025-07-24
1012Argentina2025-07-19
1013Canada2025-07-18
1014United Kingdom2025-07-24
1015Brazil2025-07-12
1016Italy2025-07-07
1017Argentina2025-07-09
1018France2025-07-24
1019Russia2025-07-29
1020Japan2025-07-09
1021Australia2025-07-17
1022France2025-07-06
1023Italy2025-07-28
1024Brazil2025-07-19
1025France2025-07-07
1026Germany2025-07-22
1027Japan2025-07-08
1028Russia2025-07-30
1029Australia2025-07-23
1030Japan2025-07-07
1031United Kingdom2025-07-10
1032India2025-07-05
1033Italy2025-07-19
1034United Kingdom2025-08-02
1035Spain2025-07-24
1036Spain2025-07-07
1037Russia2025-07-27
1038Italy2025-07-13
1039Spain2025-07-13
1040India2025-07-22
1041Spain2025-07-30
1042India2025-07-24
1043India2025-07-05
1044India2025-07-20
1045India2025-07-26
1046United Kingdom2025-07-21
1047Italy2025-07-10
1048India2025-07-27
1049Canada2025-07-05

On-Demand Data

NameIdCountryDate
Murillo V Caudy1000United Kingdom2025-07-11
Mayumi N Caudy1001Italy2025-07-14
Ashley J Inouye1002Australia2025-07-18
Izzy D Whobrey1003Canada2025-07-17
Izzy R Maclead1004United Kingdom2025-07-13
Leja M Gillian1005Spain2025-08-02
Jennifer M Whobrey1006United Kingdom2025-07-21
Deepesh E Malet1007Argentina2025-08-02
Darci T Ferencz1008Canada2025-07-07
Aruna R Iturbide1009Italy2025-07-06
Salvatore N Bolognia1010Germany2025-07-11
Claire S Caldarera1011Russia2025-07-14
Leon U Whobrey1012Spain2025-07-28
Chavez N Malet1013Canada2025-07-08
Isabel L Sergi1014Japan2025-07-30
Salvatore I Foller1015Australia2025-07-26
Cody R Garufi1016Brazil2025-07-24
Octavia F Venere1017India2025-07-23
Murillo X Caldarera1018France2025-07-26
Ivar U Doe1019United Kingdom2025-07-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy O FlosiCanadaElwin Sharvill NEGOTIATION
Sinclair I MacleadArgentinaStephen Shaw QUALIFIED
Mujtaba F WhobreyAustraliaIoni Bowcher PROPOSAL
Isabel O FigeroaBrazilAsiya Javayant PROPOSAL
Leja P MarrierBrazilElwin Sharvill NEW
James O GlickArgentinaElwin Sharvill PROPOSAL
Kaitlin B AmigonFranceStephen Shaw NEW
Chavez H VenereFranceAnna Fali PROPOSAL
Kaitlin T WieserFranceElwin Sharvill UNQUALIFIED
Cody T BologniaSpainXuxue Feng NEW
Leon M FigeroaSpainBernardo Dominic NEGOTIATION
Izzy X WhobreyCanadaAnna Fali NEW
Smith M RimUnited KingdomIvan Magalhaes RENEWAL
Darci M ShinkoGermanyXuxue Feng QUALIFIED
Claire W SergiGermanyOnyama Limba UNQUALIFIED
Juan L ButtRussiaBernardo Dominic NEGOTIATION
Silvio N PaprockiSpainOnyama Limba PROPOSAL
Faith D FlosiItalyStephen Shaw RENEWAL
Salvatore B MorascaCanadaBernardo Dominic RENEWAL
Costa E NickaIndiaBernardo Dominic UNQUALIFIED
Deepesh P VenereAustraliaXuxue Feng NEGOTIATION
Costa B KolmetzArgentinaAnna Fali RENEWAL
Nicolas H GauchoCanadaAmy Elsner QUALIFIED
Rodrigues U NickaJapanXuxue Feng RENEWAL
Maria S GauchoIndiaXuxue Feng RENEWAL
Murillo N DoeAustraliaElwin Sharvill QUALIFIED
Juan Z OstroskyAustraliaAnna Fali RENEWAL
Kaitlin T OstroskyUnited KingdomBernardo Dominic UNQUALIFIED
Misaki U CampainBrazilStephen Shaw QUALIFIED
Julie E CaudyFranceXuxue Feng QUALIFIED
Aditya S RoysterUnited KingdomAsiya Javayant NEW
Clifford C StensethAustraliaXuxue Feng RENEWAL
Clifford C FlosiFranceAsiya Javayant RENEWAL
Antonio H OstroskyJapanBernardo Dominic QUALIFIED
Stacey S MaletBrazilIoni Bowcher PROPOSAL
Isabel Y SchemmerUnited KingdomBernardo Dominic UNQUALIFIED
Aika X BriddickSpainAnna Fali RENEWAL
Aruna R GillianRussiaXuxue Feng RENEWAL
Aditya F GauchoItalyStephen Shaw NEGOTIATION
Greenwood B AmigonArgentinaAmy 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>