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
Johnson T GillianAustraliaBernardo Dominic NEW
Smith H ButtJapanIvan Magalhaes QUALIFIED
Isabel G FlosiArgentinaXuxue Feng QUALIFIED
Maisha K CaudyRussiaBernardo Dominic NEGOTIATION
Emily Y MaletAustraliaOnyama Limba PROPOSAL
Emily A RoysterGermanyIvan Magalhaes NEW
Octavia R SaylorsSpainElwin Sharvill PROPOSAL
Kaitlin L SergiJapanElwin Sharvill NEGOTIATION
Silvio D SlusarskiCanadaAmy Elsner NEGOTIATION
Ashley M MaletArgentinaXuxue Feng NEGOTIATION
David L TollnerRussiaAnna Fali NEW
Francesco D RoysterCanadaXuxue Feng NEGOTIATION
Silvio J CaudyJapanXuxue Feng UNQUALIFIED
Misaki V CaudyGermanyAnna Fali NEGOTIATION
Aruna K PaprockiIndiaXuxue Feng UNQUALIFIED
Nicolas O WieserItalyBernardo Dominic NEW
Rodrigues T AmigonItalyAnna Fali NEGOTIATION
Munro W ShinkoGermanyXuxue Feng UNQUALIFIED
Greenwood B PaprockiSpainOnyama Limba QUALIFIED
Francesco P CampainGermanyIvan Magalhaes UNQUALIFIED
Cody P IturbideItalyIoni Bowcher NEW
Stacey Z CampainRussiaOnyama Limba PROPOSAL
Stacey M NickaCanadaIoni Bowcher NEGOTIATION
Salvatore X PoquetteIndiaIvan Magalhaes PROPOSAL
Darci P SaylorsSpainAmy Elsner UNQUALIFIED
Ricardo K GauchoRussiaOnyama Limba NEW
Faith G StensethRussiaAmy Elsner NEGOTIATION
Maria R RoysterArgentinaXuxue Feng PROPOSAL
Mujtaba P CampainItalyAmy Elsner PROPOSAL
Arvin L CampainSpainStephen Shaw PROPOSAL
Deepesh I GauchoArgentinaBernardo Dominic PROPOSAL
Aditya Y GarufiGermanyIoni Bowcher NEGOTIATION
Maria I BologniaItalyAsiya Javayant RENEWAL
Ricardo B MaletJapanAmy Elsner QUALIFIED
Greenwood F MacleadItalyXuxue Feng QUALIFIED
Adams V GillianArgentinaOnyama Limba NEW
David S SchemmerGermanyStephen Shaw QUALIFIED
Jones H VenereItalyAnna Fali QUALIFIED
Clifford H AlbaresBrazilAnna Fali QUALIFIED
Jeanfrancois H SlusarskiSpainStephen Shaw PROPOSAL
Costa G KolmetzIndiaIvan Magalhaes RENEWAL
Juan E GlickSpainBernardo Dominic QUALIFIED
Munro D PerinItalyIoni Bowcher PROPOSAL
David S FerenczItalyStephen Shaw QUALIFIED
Clifford E RulapaughSpainAnna Fali PROPOSAL
Misaki V MaletJapanElwin Sharvill UNQUALIFIED
Francesco U ChuiIndiaBernardo Dominic NEGOTIATION
Chavez B VenereJapanIoni Bowcher NEGOTIATION
Johnson C RutaIndiaOnyama Limba UNQUALIFIED
Juan V FlosiBrazilIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Mujtaba G CaldareraSpainElwin Sharvill NEGOTIATION
Maria Y GlickSpainAmy Elsner NEW
David F AmigonBrazilXuxue Feng NEGOTIATION
Aruna Z StockhamJapanAmy Elsner RENEWAL
Darci H GauchoBrazilXuxue Feng NEGOTIATION
Deepesh B WaycottAustraliaStephen Shaw RENEWAL
Adams N RoysterAustraliaBernardo Dominic NEGOTIATION
Jones T WieserArgentinaAmy Elsner UNQUALIFIED
Deepesh B FerenczRussiaIvan Magalhaes RENEWAL
Alejandro G DarakjyCanadaElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith X AlbaresJapan2025-07-24Commercial Press QUALIFIED46Stephen Shaw
1001Faith P WieserUnited Kingdom2025-07-24Rousseaux, Michael Esq NEW93Onyama Limba
1002Mujtaba I GlickGermany2025-08-03Truhlar And Truhlar Attys UNQUALIFIED71Asiya Javayant
1003Jennifer U StockhamAustralia2025-07-24Chemel, James L Cpa QUALIFIED94Ioni Bowcher
1004Emily N BologniaItaly2025-07-28Chapman, Ross E Esq NEGOTIATION68Ioni Bowcher
1005Ricardo U RutaBrazil2025-07-31Morlong Associates PROPOSAL9Stephen Shaw
1006Jennifer X WaycottGermany2025-08-03Morlong Associates RENEWAL34Elwin Sharvill
1007James Q StensethGermany2025-07-06Rousseaux, Michael Esq RENEWAL2Ioni Bowcher
1008Aruna A RimBrazil2025-07-23Rousseaux, Michael Esq PROPOSAL83Bernardo Dominic
1009Johnson P OstroskyRussia2025-07-09Rangoni Of Florence NEW16Ioni Bowcher
1010Murillo M OstroskyItaly2025-07-20Buckley Miller Wright QUALIFIED70Amy Elsner
1011Smith N WieserCanada2025-08-03Feiner Bros NEW31Elwin Sharvill
1012Sinclair T VenereGermany2025-07-06Feiner Bros NEW24Ivan Magalhaes
1013James S RulapaughIndia2025-07-30Buckley Miller Wright QUALIFIED28Ioni Bowcher
1014Silvio R BriddickBrazil2025-07-23Buckley Miller Wright NEW69Asiya Javayant
1015Nicolas D SergiItaly2025-07-30King, Christopher A Esq NEW3Bernardo Dominic
1016Ashley O KolmetzUnited Kingdom2025-07-20Buckley Miller Wright NEW48Ioni Bowcher
1017Wickens D PerinRussia2025-07-18King, Christopher A Esq PROPOSAL30Elwin Sharvill
1018Ashley E RoysterCanada2025-08-02Rangoni Of Florence QUALIFIED48Anna Fali
1019Jeanfrancois E PaprockiJapan2025-07-20Chemel, James L Cpa RENEWAL85Anna Fali
1020Octavia Y GarufiGermany2025-07-11Chanay, Jeffrey A Esq NEW7Xuxue Feng
1021Mujtaba U ShinkoUnited Kingdom2025-07-07Printing Dimensions RENEWAL62Elwin Sharvill
1022Misaki L RoysterJapan2025-07-12Rousseaux, Michael Esq QUALIFIED47Anna Fali
1023Ivar U ShinkoIndia2025-07-06Truhlar And Truhlar Attys NEW18Onyama Limba
1024Isabel G WhobreyRussia2025-08-02Buckley Miller Wright NEW80Ivan Magalhaes
1025Isabel F MaletAustralia2025-07-09Rousseaux, Michael Esq UNQUALIFIED35Stephen Shaw
1026Deepesh F VenereCanada2025-08-02Feltz Printing Service QUALIFIED44Ioni Bowcher
1027Tony G MaletUnited Kingdom2025-07-29Dorl, James J Esq QUALIFIED15Bernardo Dominic
1028Mayumi U ButtItaly2025-07-20Chanay, Jeffrey A Esq QUALIFIED83Elwin Sharvill
1029James Z PerinRussia2025-08-01Chapman, Ross E Esq QUALIFIED23Amy Elsner
1030Kadeem I DarakjySpain2025-08-02Rangoni Of Florence RENEWAL79Asiya Javayant
1031Rodrigues U WhobreyArgentina2025-07-23Truhlar And Truhlar Attys QUALIFIED20Amy Elsner
1032Costa E VenereBrazil2025-07-14Printing Dimensions RENEWAL64Amy Elsner
1033Adams O FerenczJapan2025-08-03Morlong Associates PROPOSAL60Amy Elsner
1034Alejandro W BologniaBrazil2025-07-15Feiner Bros NEW14Ivan Magalhaes
1035Juan D GarufiSpain2025-07-26Feltz Printing Service QUALIFIED24Xuxue Feng
1036Jefferson K StensethGermany2025-07-10Feiner Bros PROPOSAL55Onyama Limba
1037Ashley D ChuiAustralia2025-07-24Commercial Press NEW34Amy Elsner
1038Stacey J StockhamAustralia2025-07-20Dorl, James J Esq QUALIFIED28Stephen Shaw
1039Jeanfrancois B VenereIndia2025-07-24Rousseaux, Michael Esq UNQUALIFIED33Ioni Bowcher
1040Jefferson O PoquetteUnited Kingdom2025-07-17Rangoni Of Florence UNQUALIFIED53Bernardo Dominic
1041Chavez Q OldroydBrazil2025-07-10King, Christopher A Esq RENEWAL98Asiya Javayant
1042Jefferson P AlbaresSpain2025-07-24Feltz Printing Service NEW37Onyama Limba
1043Maria O AlbaresBrazil2025-07-24King, Christopher A Esq UNQUALIFIED80Amy Elsner
1044Aruna W RutaIndia2025-07-22Rangoni Of Florence UNQUALIFIED14Ioni Bowcher
1045Clifford K FigeroaIndia2025-07-13Morlong Associates UNQUALIFIED72Xuxue Feng
1046Leon U CaudyFrance2025-07-18Chanay, Jeffrey A Esq RENEWAL49Onyama Limba
1047James I KuskoBrazil2025-07-16Dorl, James J Esq RENEWAL33Elwin Sharvill
1048Julie L MarrierGermany2025-07-28Feiner Bros NEW26Ioni Bowcher
1049Morrow J CampainJapan2025-07-10Printing Dimensions QUALIFIED71Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Alejandro X DoeBrazilAsiya Javayant NEW
Arvin Z NestleCanadaStephen Shaw RENEWAL
Stacey L AmigonArgentinaAnna Fali NEGOTIATION
Mujtaba M AlbaresAustraliaAmy Elsner RENEWAL
Octavia H PoquetteFranceAmy Elsner NEW
Izzy U WhobreyBrazilIoni Bowcher PROPOSAL
Julie D GlickBrazilBernardo Dominic NEW
Kadeem P SlusarskiIndiaIoni Bowcher PROPOSAL
Leon L IturbideCanadaOnyama Limba NEW
Adams S SergiRussiaAsiya Javayant NEW
Kadeem C NickaArgentinaOnyama Limba PROPOSAL
Chavez I SergiUnited KingdomElwin Sharvill NEW
Cody K BologniaRussiaOnyama Limba NEGOTIATION
Ricardo R InouyeRussiaElwin Sharvill UNQUALIFIED
Costa C WieserBrazilElwin Sharvill NEW
Antonio U SchemmerCanadaIvan Magalhaes PROPOSAL
Maria B DoeRussiaIoni Bowcher NEGOTIATION
Ashley V NickaFranceAmy Elsner PROPOSAL
David K SlusarskiFranceStephen Shaw RENEWAL
Salvatore K NickaFranceBernardo Dominic RENEWAL
Darci N MaletUnited KingdomBernardo Dominic UNQUALIFIED
Rodrigues I ChuiItalyElwin Sharvill QUALIFIED
Jennifer I MacleadGermanyAnna Fali UNQUALIFIED
Deepesh X BologniaGermanyStephen Shaw PROPOSAL
Leon H StensethItalyElwin Sharvill UNQUALIFIED
Johnson X GlickSpainAmy Elsner PROPOSAL
Maria N DoeAustraliaAmy Elsner RENEWAL
Kadeem I FigeroaCanadaOnyama Limba NEGOTIATION
Antonio I RimJapanStephen Shaw NEGOTIATION
Costa V RoysterSpainIoni Bowcher RENEWAL
Aditya M FlosiArgentinaOnyama Limba NEGOTIATION
Murillo Y StensethSpainStephen Shaw RENEWAL
Ivar L GillianRussiaElwin Sharvill RENEWAL
Deepesh G AmigonSpainIoni Bowcher NEW
Greenwood V DarakjyIndiaElwin Sharvill NEW
Tony W VenereJapanAnna Fali NEW
Munro W NestleRussiaIvan Magalhaes PROPOSAL
Julie B FollerCanadaStephen Shaw UNQUALIFIED
Ashley O RulapaughJapanStephen Shaw UNQUALIFIED
James G FigeroaItalyIvan Magalhaes NEW
Mujtaba T StensethJapanBernardo Dominic NEW
Tony X CaudyAustraliaStephen Shaw NEW
Francesco R BriddickSpainAsiya Javayant UNQUALIFIED
Nicolas K CampainArgentinaIoni Bowcher NEGOTIATION
Deepesh P RimAustraliaIvan Magalhaes UNQUALIFIED
Arvin L TollnerUnited KingdomStephen Shaw RENEWAL
Faith S TollnerAustraliaElwin Sharvill QUALIFIED
Isabel Z FigeroaItalyXuxue Feng QUALIFIED
Cody P FerenczUnited KingdomAmy Elsner RENEWAL
Greenwood Y BowleySpainStephen Shaw NEW
Frozen Columns
Name
Aditya P Marrier
Rodrigues H Paprocki
Faith P Malet
Claire J Shinko
Nicolas P Caldarera
Wickens G Morasca
Tony V Poquette
David E Bolognia
Aika E Saylors
Ashley Q Saylors
Jefferson I Kusko
James M Garufi
Kaitlin V Dilliard
Greenwood Y Shinko
Deepesh R Darakjy
Munro Y Foller
Munro H Nicka
Alejandro I Nicka
Salvatore E Caudy
Kadeem U Darakjy
Kadeem B Sergi
Juan U Vocelka
Jefferson F Briddick
Isabel Y Poquette
Kaitlin X Schemmer
Jennifer O Caldarera
Alejandro Y Bowley
Izzy J Foller
Isabel H Kusko
Stacey C Darakjy
Aika Q Foller
Kaitlin X Ruta
Sinclair B Stockham
Murillo V Wieser
Faith B Amigon
Wickens D Perin
Ashley T Sergi
Octavia V Ostrosky
Jeanfrancois B Briddick
Aruna H Kusko
Deepesh H Ruta
Stacey R Nicka
Adams F Campain
Mayumi Z Ostrosky
Alejandro V Stockham
Kaitlin M Whobrey
Deepesh S Shinko
Juan W Glick
Jennifer W Chui
Leja N Bolognia
IdCountryDate
1000India2025-07-28
1001Brazil2025-07-10
1002Russia2025-07-14
1003India2025-08-04
1004Argentina2025-07-19
1005France2025-07-21
1006Germany2025-07-08
1007France2025-07-31
1008Argentina2025-07-12
1009United Kingdom2025-07-22
1010India2025-08-02
1011Germany2025-07-10
1012France2025-07-29
1013Russia2025-07-08
1014Argentina2025-07-11
1015Spain2025-08-02
1016Australia2025-07-31
1017Italy2025-07-16
1018Italy2025-07-23
1019Spain2025-07-30
1020Germany2025-07-22
1021Japan2025-07-12
1022Germany2025-07-28
1023Spain2025-07-25
1024Germany2025-07-19
1025Australia2025-07-29
1026United Kingdom2025-08-02
1027Japan2025-07-11
1028Germany2025-07-19
1029Germany2025-07-18
1030Canada2025-07-28
1031Japan2025-07-29
1032Japan2025-07-10
1033United Kingdom2025-07-06
1034Australia2025-07-07
1035Canada2025-07-09
1036India2025-07-17
1037Spain2025-07-22
1038Germany2025-08-03
1039Australia2025-07-26
1040Italy2025-07-26
1041Italy2025-07-15
1042India2025-07-14
1043Australia2025-07-23
1044France2025-07-29
1045Italy2025-07-20
1046Italy2025-08-02
1047Brazil2025-07-17
1048Australia2025-08-02
1049Argentina2025-07-12

On-Demand Data

NameIdCountryDate
Ashley R Waycott1000France2025-07-09
James Q Dilliard1001Argentina2025-07-27
Mayumi G Wieser1002Brazil2025-07-06
Smith Q Saylors1003Canada2025-07-31
Antonio B Caldarera1004Brazil2025-07-10
Leon F Rim1005Germany2025-07-08
Arvin E Stockham1006Russia2025-07-08
Morrow H Tollner1007United Kingdom2025-07-11
Costa Y Schemmer1008Japan2025-07-14
Ashley P Chui1009Russia2025-07-18
Octavia X Butt1010Germany2025-07-15
Mayumi Q Garufi1011Italy2025-07-09
Alejandro V Kolmetz1012India2025-07-07
Arvin O Rim1013Brazil2025-07-30
Mayumi B Whobrey1014Spain2025-07-29
Cody J Tollner1015Spain2025-07-08
Julie U Vocelka1016Italy2025-07-20
Arvin Q Chui1017Japan2025-08-02
Francesco Z Stockham1018France2025-07-22
Leja H Caldarera1019Japan2025-07-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa Z PoquetteJapanStephen Shaw UNQUALIFIED
Rodrigues A CaudyGermanyAsiya Javayant RENEWAL
Maisha W NestleGermanyIoni Bowcher NEGOTIATION
Smith E CaudyGermanyXuxue Feng NEW
Emily W BowleyFranceAmy Elsner NEW
Costa P MaletSpainAmy Elsner NEGOTIATION
Johnson M InouyeSpainIvan Magalhaes QUALIFIED
Claire T SergiSpainOnyama Limba NEW
Jeanfrancois L DilliardItalyElwin Sharvill UNQUALIFIED
Jennifer S NestleArgentinaAmy Elsner RENEWAL
Sinclair N GarufiJapanAmy Elsner NEGOTIATION
Kaitlin L VenereCanadaStephen Shaw NEW
Smith Q StensethGermanyAnna Fali UNQUALIFIED
Johnson V WaycottIndiaAnna Fali PROPOSAL
Ricardo D SchemmerCanadaElwin Sharvill RENEWAL
Francesco F RimSpainXuxue Feng QUALIFIED
Cody O ButtArgentinaBernardo Dominic PROPOSAL
Kadeem Y GillianJapanElwin Sharvill QUALIFIED
David D DarakjyArgentinaAsiya Javayant UNQUALIFIED
Aika O StockhamItalyOnyama Limba PROPOSAL
Greenwood N WieserRussiaIoni Bowcher PROPOSAL
Aruna I MarrierSpainElwin Sharvill PROPOSAL
Maria W ChuiAustraliaStephen Shaw QUALIFIED
Stacey M RulapaughIndiaOnyama Limba NEW
James S VocelkaGermanyAnna Fali PROPOSAL
Isabel R StensethUnited KingdomOnyama Limba UNQUALIFIED
Jennifer J OldroydBrazilIoni Bowcher RENEWAL
Salvatore Z FlosiFranceXuxue Feng UNQUALIFIED
Jennifer T FigeroaGermanyIoni Bowcher QUALIFIED
Chavez I PerinArgentinaXuxue Feng RENEWAL
David B AmigonFranceXuxue Feng UNQUALIFIED
Johnson Y MaletCanadaIoni Bowcher RENEWAL
Kadeem A MarrierAustraliaAmy Elsner QUALIFIED
Ricardo Z ButtJapanStephen Shaw NEW
Jennifer M SchemmerGermanyAsiya Javayant QUALIFIED
Arvin M DarakjyGermanyAsiya Javayant PROPOSAL
Maria Q FerenczGermanyAsiya Javayant NEGOTIATION
Jeanfrancois C AmigonIndiaIvan Magalhaes NEW
Claire G OstroskyBrazilStephen Shaw NEGOTIATION
Jennifer X WieserUnited KingdomAmy Elsner NEW

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