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 R WaycottBrazilAmy Elsner PROPOSAL
Darci T MorascaBrazilIoni Bowcher NEGOTIATION
Leon Y WhobreyAustraliaXuxue Feng UNQUALIFIED
Tony W OldroydIndiaElwin Sharvill PROPOSAL
Deepesh Z KuskoCanadaStephen Shaw NEGOTIATION
Deepesh M DarakjyArgentinaIvan Magalhaes RENEWAL
Octavia D OstroskyArgentinaBernardo Dominic QUALIFIED
Juan B MaletRussiaElwin Sharvill RENEWAL
Rodrigues V StockhamGermanyStephen Shaw QUALIFIED
Jones A StockhamBrazilAnna Fali NEW
Jennifer E RimSpainBernardo Dominic UNQUALIFIED
Ricardo L FlosiSpainAnna Fali PROPOSAL
Morrow S AmigonAustraliaAmy Elsner PROPOSAL
Cody O KolmetzAustraliaXuxue Feng PROPOSAL
Darci V WieserArgentinaIoni Bowcher NEW
Francesco G IturbideAustraliaAmy Elsner UNQUALIFIED
Chavez I RutaGermanyAmy Elsner RENEWAL
Leja P MorascaArgentinaElwin Sharvill PROPOSAL
Octavia Q KolmetzFranceOnyama Limba QUALIFIED
Faith F PoquetteRussiaIoni Bowcher NEGOTIATION
Greenwood C BriddickRussiaAsiya Javayant RENEWAL
Johnson L ShinkoUnited KingdomStephen Shaw QUALIFIED
Munro K RoysterJapanOnyama Limba QUALIFIED
Mayumi G StensethGermanyIoni Bowcher PROPOSAL
Tony Q KolmetzFranceIoni Bowcher UNQUALIFIED
Tony T ButtRussiaOnyama Limba RENEWAL
Leon J IturbideAustraliaOnyama Limba UNQUALIFIED
Cody P PerinBrazilAnna Fali UNQUALIFIED
Mujtaba E InouyeGermanyIvan Magalhaes QUALIFIED
Julie R RoysterJapanAsiya Javayant RENEWAL
Darci X AmigonArgentinaStephen Shaw RENEWAL
Adams B MarrierArgentinaXuxue Feng PROPOSAL
Antonio F KuskoJapanBernardo Dominic RENEWAL
Mujtaba T DarakjyJapanElwin Sharvill NEW
Kadeem K NickaItalyIoni Bowcher NEW
Silvio F RoysterSpainAnna Fali NEGOTIATION
Stacey P DarakjyJapanAmy Elsner PROPOSAL
Claire H GarufiCanadaXuxue Feng NEGOTIATION
David B InouyeItalyElwin Sharvill PROPOSAL
Ashley J DoeUnited KingdomXuxue Feng NEW
Greenwood H ButtCanadaAnna Fali PROPOSAL
Costa W ChuiFranceIoni Bowcher PROPOSAL
Kaitlin R CampainGermanyAsiya Javayant QUALIFIED
Jennifer A GlickGermanyElwin Sharvill NEGOTIATION
Sinclair Y RulapaughBrazilElwin Sharvill NEGOTIATION
Wickens R FlosiAustraliaElwin Sharvill QUALIFIED
Izzy W RutaBrazilBernardo Dominic RENEWAL
Claire G GlickIndiaXuxue Feng PROPOSAL
Leja X NickaFranceXuxue Feng RENEWAL
Tony F SergiFranceOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Izzy I MacleadIndiaAsiya Javayant NEW
Jeanfrancois R AmigonItalyStephen Shaw NEGOTIATION
Chavez J StockhamArgentinaElwin Sharvill NEW
Ricardo L GauchoGermanyAsiya Javayant QUALIFIED
Aditya X RimRussiaIoni Bowcher QUALIFIED
Aika M FollerJapanAnna Fali NEW
Jennifer N MacleadUnited KingdomBernardo Dominic PROPOSAL
Salvatore F MaletSpainStephen Shaw UNQUALIFIED
Stacey U KuskoGermanyAsiya Javayant NEW
Maisha I MacleadSpainBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith H DoeBrazil2025-09-27Morlong Associates UNQUALIFIED91Onyama Limba
1001Clifford S ChuiIndia2025-09-21Truhlar And Truhlar Attys QUALIFIED85Stephen Shaw
1002Mayumi H ShinkoCanada2025-10-18Chapman, Ross E Esq NEGOTIATION81Ivan Magalhaes
1003Arvin P VocelkaJapan2025-10-08Rangoni Of Florence UNQUALIFIED81Bernardo Dominic
1004Maria E CampainUnited Kingdom2025-09-28Rangoni Of Florence QUALIFIED80Ioni Bowcher
1005Wickens K AmigonCanada2025-10-12Chemel, James L Cpa NEW73Asiya Javayant
1006Deepesh D StockhamJapan2025-10-16Buckley Miller Wright QUALIFIED24Amy Elsner
1007Aika A KuskoAustralia2025-10-04Printing Dimensions NEW23Ivan Magalhaes
1008Octavia Y OstroskyIndia2025-10-09Buckley Miller Wright NEW40Bernardo Dominic
1009Adams J RimSpain2025-09-20Feiner Bros UNQUALIFIED46Stephen Shaw
1010Costa D BriddickRussia2025-10-10Feltz Printing Service NEGOTIATION11Asiya Javayant
1011Jeanfrancois L BriddickSpain2025-10-10Truhlar And Truhlar Attys PROPOSAL44Ivan Magalhaes
1012Mujtaba P GarufiIndia2025-10-12Printing Dimensions NEW74Asiya Javayant
1013Francesco X KuskoArgentina2025-10-06Rousseaux, Michael Esq QUALIFIED3Ioni Bowcher
1014Aruna J BologniaGermany2025-10-16Rangoni Of Florence QUALIFIED23Stephen Shaw
1015Jefferson E OldroydCanada2025-10-13Benton, John B Jr UNQUALIFIED11Amy Elsner
1016Munro E PaprockiBrazil2025-09-20Morlong Associates NEW76Bernardo Dominic
1017Darci M CampainJapan2025-10-10Morlong Associates RENEWAL63Onyama Limba
1018Alejandro M MaletItaly2025-09-20Buckley Miller Wright NEW10Bernardo Dominic
1019Deepesh Z GarufiJapan2025-10-05Buckley Miller Wright NEW59Onyama Limba
1020Tony C ButtRussia2025-10-19Commercial Press QUALIFIED33Stephen Shaw
1021Greenwood P RimJapan2025-10-14Feltz Printing Service NEW77Bernardo Dominic
1022Mujtaba W StockhamJapan2025-10-02Chapman, Ross E Esq NEW33Amy Elsner
1023Morrow Z GauchoFrance2025-09-23Truhlar And Truhlar Attys RENEWAL38Onyama Limba
1024Claire G AmigonCanada2025-10-14Buckley Miller Wright PROPOSAL7Amy Elsner
1025Leja S PoquetteGermany2025-10-13Truhlar And Truhlar Attys PROPOSAL91Amy Elsner
1026Arvin Q FigeroaBrazil2025-09-24Truhlar And Truhlar Attys QUALIFIED5Xuxue Feng
1027Izzy I GauchoArgentina2025-09-29Buckley Miller Wright NEW28Stephen Shaw
1028Kaitlin R MaletRussia2025-10-14Truhlar And Truhlar Attys RENEWAL43Amy Elsner
1029Tony N PoquetteItaly2025-10-17Dorl, James J Esq NEGOTIATION92Bernardo Dominic
1030Munro A BriddickItaly2025-09-21Chemel, James L Cpa RENEWAL23Onyama Limba
1031Adams O WaycottAustralia2025-10-16Chanay, Jeffrey A Esq PROPOSAL43Anna Fali
1032Stacey S FigeroaIndia2025-10-14Dorl, James J Esq NEGOTIATION76Onyama Limba
1033Arvin M WieserGermany2025-10-08Buckley Miller Wright UNQUALIFIED45Amy Elsner
1034Jennifer V GlickSpain2025-10-12Chemel, James L Cpa NEW28Stephen Shaw
1035Jones S DilliardFrance2025-10-05Feiner Bros UNQUALIFIED0Ivan Magalhaes
1036Maisha I CaldareraSpain2025-10-16Feltz Printing Service PROPOSAL30Amy Elsner
1037Alejandro D RimArgentina2025-09-25Benton, John B Jr NEGOTIATION76Ivan Magalhaes
1038Jeanfrancois N SchemmerGermany2025-10-10Dorl, James J Esq NEGOTIATION32Ioni Bowcher
1039Claire B CampainItaly2025-10-05Dorl, James J Esq UNQUALIFIED88Ioni Bowcher
1040Aika A VocelkaCanada2025-10-15Feiner Bros NEGOTIATION44Onyama Limba
1041Stacey U WieserUnited Kingdom2025-09-20Chemel, James L Cpa NEW59Onyama Limba
1042Octavia O SlusarskiUnited Kingdom2025-10-09Chapman, Ross E Esq RENEWAL67Ioni Bowcher
1043Silvio Y AmigonRussia2025-10-14Rangoni Of Florence PROPOSAL97Bernardo Dominic
1044Tony X PerinSpain2025-10-02Chanay, Jeffrey A Esq PROPOSAL67Elwin Sharvill
1045Kaitlin I GauchoCanada2025-09-26King, Christopher A Esq QUALIFIED29Amy Elsner
1046Jennifer C NestleArgentina2025-10-07King, Christopher A Esq RENEWAL31Anna Fali
1047Kaitlin M VocelkaArgentina2025-10-10Buckley Miller Wright UNQUALIFIED27Stephen Shaw
1048Smith G OstroskyFrance2025-09-22Truhlar And Truhlar Attys NEGOTIATION84Amy Elsner
1049Juan L InouyeGermany2025-09-20Chemel, James L Cpa PROPOSAL9Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Darci C WieserFranceOnyama Limba UNQUALIFIED
Costa P MarrierAustraliaElwin Sharvill NEW
Jennifer J PoquetteArgentinaAmy Elsner NEGOTIATION
Rodrigues I SchemmerAustraliaIoni Bowcher QUALIFIED
James B OstroskyUnited KingdomOnyama Limba RENEWAL
Ashley A SergiArgentinaAmy Elsner NEW
Mujtaba O DoeBrazilIoni Bowcher PROPOSAL
Juan F RoysterRussiaAnna Fali QUALIFIED
Mayumi K KolmetzIndiaAmy Elsner NEW
Salvatore N GillianGermanyElwin Sharvill RENEWAL
Aditya T StensethSpainXuxue Feng RENEWAL
David J DilliardUnited KingdomAmy Elsner RENEWAL
Adams N DoeJapanStephen Shaw NEW
Wickens W BologniaSpainAsiya Javayant PROPOSAL
Stacey N BowleyAustraliaAmy Elsner NEGOTIATION
Sinclair P ChuiItalyXuxue Feng NEGOTIATION
Faith H SergiJapanXuxue Feng NEGOTIATION
Francesco C MarrierUnited KingdomAsiya Javayant UNQUALIFIED
Julie S RulapaughItalyXuxue Feng NEW
Antonio N RulapaughFranceXuxue Feng RENEWAL
Kadeem U DoeCanadaStephen Shaw NEGOTIATION
Aruna M SaylorsFranceAsiya Javayant QUALIFIED
Johnson E MaletAustraliaAnna Fali NEGOTIATION
David H MorascaGermanyXuxue Feng NEW
Costa I FlosiIndiaBernardo Dominic QUALIFIED
Munro H AlbaresFranceElwin Sharvill QUALIFIED
Clifford F BowleySpainAnna Fali QUALIFIED
Aditya Y OstroskyItalyElwin Sharvill NEW
Alejandro H MacleadCanadaXuxue Feng UNQUALIFIED
Jeanfrancois T MacleadUnited KingdomStephen Shaw RENEWAL
Silvio C RimBrazilAnna Fali UNQUALIFIED
Morrow M VocelkaJapanElwin Sharvill PROPOSAL
Ricardo U MacleadRussiaAsiya Javayant NEW
Mujtaba W ChuiAustraliaAmy Elsner RENEWAL
Rodrigues Y SchemmerFranceAnna Fali NEW
Mujtaba X DoeArgentinaOnyama Limba UNQUALIFIED
Silvio Z SergiJapanElwin Sharvill NEGOTIATION
Adams K DoeSpainAnna Fali UNQUALIFIED
Francesco R StensethCanadaAmy Elsner NEGOTIATION
James V PaprockiCanadaIoni Bowcher NEW
Nicolas A RulapaughIndiaBernardo Dominic NEGOTIATION
Nicolas S RoysterGermanyAnna Fali PROPOSAL
David U CampainJapanAnna Fali QUALIFIED
Smith T RutaSpainAsiya Javayant NEW
Aditya Q SchemmerFranceOnyama Limba UNQUALIFIED
Octavia D OldroydSpainIvan Magalhaes PROPOSAL
Claire L WieserJapanAmy Elsner PROPOSAL
Cody P WaycottIndiaAsiya Javayant UNQUALIFIED
Murillo D OldroydAustraliaIoni Bowcher RENEWAL
Adams I StensethBrazilIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Arvin V Gillian
Darci N Inouye
Maria M Stenseth
Jeanfrancois P Nestle
Silvio R Doe
Deepesh C Marrier
Kadeem A Doe
Arvin E Inouye
Jefferson L Nicka
Johnson P Paprocki
Francesco N Nicka
Mujtaba H Campain
Jones A Doe
Juan J Paprocki
Maria W Kolmetz
Kaitlin D Tollner
James U Garufi
Munro X Bowley
Adams E Tollner
Octavia S Stockham
Murillo H Poquette
Aruna D Kolmetz
Emily G Doe
Nicolas B Gillian
Munro W Rulapaugh
Jefferson P Garufi
Antonio G Ostrosky
Leja L Wieser
Wickens R Wieser
Costa A Garufi
Maisha M Figeroa
Emily U Figeroa
Silvio N Paprocki
Alejandro S Gaucho
Emily E Tollner
Ivar W Perin
Greenwood G Gillian
Arvin A Wieser
Aditya J Kusko
Isabel J Perin
Clifford M Whobrey
Faith Z Inouye
Julie U Rulapaugh
Alejandro O Briddick
Izzy I Rulapaugh
Rodrigues R Stenseth
Salvatore P Maclead
Maisha J Stockham
Leon L Butt
Morrow D Rim
IdCountryDate
1000Germany2025-10-08
1001Russia2025-09-20
1002Australia2025-10-16
1003Brazil2025-10-05
1004France2025-09-24
1005Australia2025-10-14
1006Italy2025-10-15
1007Russia2025-09-26
1008Italy2025-09-28
1009Spain2025-10-09
1010India2025-10-04
1011Russia2025-10-14
1012France2025-10-11
1013France2025-09-30
1014Australia2025-09-24
1015France2025-10-18
1016Germany2025-09-21
1017Japan2025-09-22
1018France2025-10-15
1019India2025-09-22
1020Australia2025-09-23
1021Germany2025-09-26
1022India2025-10-19
1023Germany2025-09-25
1024Japan2025-10-15
1025Canada2025-10-17
1026France2025-09-27
1027United Kingdom2025-09-23
1028Canada2025-09-24
1029Canada2025-09-24
1030Russia2025-10-01
1031United Kingdom2025-09-22
1032United Kingdom2025-10-05
1033Germany2025-10-07
1034Japan2025-10-18
1035Japan2025-09-25
1036India2025-09-21
1037Russia2025-10-18
1038Japan2025-10-06
1039Japan2025-10-06
1040Germany2025-10-16
1041Canada2025-10-01
1042Germany2025-09-25
1043France2025-09-20
1044Japan2025-10-15
1045France2025-09-22
1046Russia2025-09-23
1047France2025-10-01
1048Germany2025-10-13
1049United Kingdom2025-10-01

On-Demand Data

NameIdCountryDate
Ivar B Nicka1000Australia2025-10-17
Emily M Ostrosky1001Japan2025-09-24
Chavez X Shinko1002Australia2025-10-19
Julie A Foller1003United Kingdom2025-10-09
Aruna Y Poquette1004Japan2025-10-16
Izzy M Doe1005Canada2025-09-28
Smith U Flosi1006Spain2025-10-17
Murillo A Amigon1007India2025-10-06
James A Doe1008Russia2025-09-25
Ashley U Stenseth1009France2025-10-16
Kaitlin I Foller1010Italy2025-10-16
Mayumi A Ruta1011Japan2025-09-20
Murillo K Venere1012Russia2025-10-11
Kaitlin I Kusko1013India2025-10-04
Jeanfrancois W Maclead1014Germany2025-10-06
Silvio G Perin1015Japan2025-09-27
Sinclair D Waycott1016Italy2025-09-30
Smith E Nicka1017Australia2025-09-20
Leon E Maclead1018Spain2025-10-01
Ivar P Morasca1019Japan2025-10-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem O RimUnited KingdomIvan Magalhaes RENEWAL
Tony E NickaArgentinaStephen Shaw QUALIFIED
David O GarufiJapanAmy Elsner QUALIFIED
Maisha X ButtItalyBernardo Dominic NEGOTIATION
Ivar D BowleyItalyBernardo Dominic UNQUALIFIED
Claire S WaycottJapanAnna Fali PROPOSAL
Jennifer N WaycottSpainOnyama Limba RENEWAL
Salvatore B SaylorsIndiaElwin Sharvill QUALIFIED
Julie U ChuiArgentinaStephen Shaw QUALIFIED
Sinclair B PerinFranceIoni Bowcher NEGOTIATION
Greenwood G MaletAustraliaStephen Shaw NEGOTIATION
Francesco L SchemmerJapanAmy Elsner NEW
Adams G SlusarskiFranceAnna Fali RENEWAL
Salvatore V PoquetteJapanIoni Bowcher QUALIFIED
Aditya Q MaletItalyOnyama Limba RENEWAL
Ashley Q StockhamAustraliaAnna Fali NEW
Ivar H MarrierJapanBernardo Dominic PROPOSAL
Nicolas K PoquetteUnited KingdomAnna Fali NEW
Misaki Y FerenczCanadaXuxue Feng QUALIFIED
Mujtaba B VenereRussiaOnyama Limba NEGOTIATION
Silvio Y FlosiArgentinaAnna Fali NEGOTIATION
Cody M InouyeAustraliaAnna Fali NEW
Mayumi P WaycottGermanyBernardo Dominic UNQUALIFIED
Maisha W WhobreyJapanStephen Shaw QUALIFIED
Adams P GlickCanadaStephen Shaw UNQUALIFIED
Kaitlin C InouyeRussiaAmy Elsner NEW
Tony D BologniaCanadaXuxue Feng NEGOTIATION
Julie J AlbaresGermanyAsiya Javayant RENEWAL
Leon K DoeArgentinaAmy Elsner RENEWAL
Ashley X FlosiSpainBernardo Dominic UNQUALIFIED
Antonio E DarakjyCanadaElwin Sharvill UNQUALIFIED
Smith U FigeroaAustraliaIoni Bowcher QUALIFIED
James D CaudyJapanIoni Bowcher NEW
Salvatore C PaprockiBrazilIoni Bowcher NEGOTIATION
Juan D GauchoRussiaIoni Bowcher PROPOSAL
Isabel X MaletUnited KingdomIvan Magalhaes NEW
Rodrigues J OldroydBrazilAmy Elsner QUALIFIED
Wickens G RimBrazilAnna Fali QUALIFIED
Aditya X OstroskyAustraliaXuxue Feng QUALIFIED
Ashley A KuskoItalyOnyama Limba UNQUALIFIED

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