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
Octavia O BologniaAustraliaIvan Magalhaes QUALIFIED
Juan J PerinSpainIvan Magalhaes RENEWAL
Octavia P BowleyIndiaAnna Fali PROPOSAL
Kaitlin P KolmetzJapanXuxue Feng NEW
Leon B WhobreyFranceBernardo Dominic PROPOSAL
Ivar N RulapaughJapanAmy Elsner NEGOTIATION
Wickens M FlosiRussiaStephen Shaw PROPOSAL
Nicolas K RutaIndiaElwin Sharvill QUALIFIED
Maria U SergiCanadaStephen Shaw PROPOSAL
Julie P BowleyAustraliaAsiya Javayant QUALIFIED
Jeanfrancois I SergiSpainIoni Bowcher QUALIFIED
Octavia H PerinSpainStephen Shaw PROPOSAL
Silvio D ShinkoCanadaAmy Elsner RENEWAL
Jeanfrancois B ShinkoAustraliaElwin Sharvill QUALIFIED
Jefferson K GillianItalyElwin Sharvill QUALIFIED
Tony N KuskoJapanAnna Fali PROPOSAL
Juan R SlusarskiArgentinaBernardo Dominic NEW
Chavez C PaprockiBrazilXuxue Feng NEW
Mayumi K FerenczJapanOnyama Limba NEGOTIATION
Arvin P WieserAustraliaElwin Sharvill NEGOTIATION
Tony C GauchoItalyStephen Shaw PROPOSAL
Kaitlin U MorascaUnited KingdomIoni Bowcher RENEWAL
Leja K CaldareraBrazilBernardo Dominic QUALIFIED
Maisha N CaudyJapanAnna Fali NEW
Kadeem J SergiRussiaBernardo Dominic UNQUALIFIED
Chavez P SlusarskiRussiaAsiya Javayant NEGOTIATION
Alejandro L TollnerJapanAsiya Javayant RENEWAL
Chavez C TollnerJapanAsiya Javayant QUALIFIED
Maisha D GillianJapanStephen Shaw PROPOSAL
Adams J MarrierFranceXuxue Feng NEGOTIATION
Ricardo C GlickItalyAsiya Javayant NEW
Costa S FigeroaBrazilIvan Magalhaes UNQUALIFIED
Morrow W KolmetzJapanXuxue Feng QUALIFIED
Julie A SergiGermanyAsiya Javayant NEW
Murillo A RimItalyBernardo Dominic NEW
Morrow K MarrierFranceElwin Sharvill UNQUALIFIED
Smith K GauchoBrazilIoni Bowcher RENEWAL
Munro K GlickArgentinaIoni Bowcher QUALIFIED
Kaitlin R KolmetzAustraliaOnyama Limba UNQUALIFIED
Kadeem M VocelkaFranceAsiya Javayant NEW
Deepesh Z NickaArgentinaXuxue Feng NEGOTIATION
Claire P MaletItalyAsiya Javayant NEW
Darci T BowleyItalyAmy Elsner NEGOTIATION
Kaitlin J FollerItalyOnyama Limba RENEWAL
David Y CaldareraAustraliaBernardo Dominic NEW
James V KuskoCanadaStephen Shaw PROPOSAL
Rodrigues O WieserArgentinaIvan Magalhaes RENEWAL
Adams S InouyeJapanElwin Sharvill NEGOTIATION
Misaki Q IturbideIndiaAnna Fali RENEWAL
Smith B CampainSpainIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Smith B AlbaresRussiaXuxue Feng NEW
Claire G CaudyUnited KingdomIvan Magalhaes QUALIFIED
Aditya G GlickFranceXuxue Feng NEGOTIATION
James L OldroydJapanStephen Shaw NEGOTIATION
Mujtaba T ShinkoUnited KingdomBernardo Dominic QUALIFIED
Faith E ShinkoJapanIoni Bowcher NEW
Jefferson P MorascaAustraliaOnyama Limba QUALIFIED
Aruna P RulapaughCanadaAnna Fali QUALIFIED
Rodrigues Z WieserRussiaAmy Elsner NEGOTIATION
Emily T KolmetzRussiaElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas V ButtIndia2025-07-30Morlong Associates NEGOTIATION66Xuxue Feng
1001Leon Y OldroydItaly2025-08-11Feltz Printing Service NEW50Ioni Bowcher
1002Francesco D KolmetzBrazil2025-07-22Feiner Bros PROPOSAL61Amy Elsner
1003Smith I KuskoRussia2025-07-25Chemel, James L Cpa NEW64Xuxue Feng
1004Greenwood N GarufiArgentina2025-07-17King, Christopher A Esq UNQUALIFIED36Anna Fali
1005Isabel D FerenczIndia2025-07-20King, Christopher A Esq RENEWAL56Anna Fali
1006Ivar R DarakjyAustralia2025-07-21Truhlar And Truhlar Attys RENEWAL91Onyama Limba
1007Octavia J MorascaJapan2025-08-09Truhlar And Truhlar Attys NEW96Anna Fali
1008Ashley Y SchemmerIndia2025-08-05Truhlar And Truhlar Attys RENEWAL69Anna Fali
1009Adams P StockhamJapan2025-08-05Chanay, Jeffrey A Esq NEW91Amy Elsner
1010Darci U GlickFrance2025-07-23Morlong Associates NEW44Ioni Bowcher
1011Faith Z PaprockiFrance2025-07-25Printing Dimensions PROPOSAL62Asiya Javayant
1012Sinclair W WieserAustralia2025-07-18Morlong Associates NEW49Elwin Sharvill
1013Clifford H MaletIndia2025-08-09Chanay, Jeffrey A Esq UNQUALIFIED77Elwin Sharvill
1014Aditya D RutaIndia2025-08-07Rousseaux, Michael Esq PROPOSAL32Ivan Magalhaes
1015Francesco D BriddickCanada2025-08-13Printing Dimensions PROPOSAL38Asiya Javayant
1016Rodrigues A NestleGermany2025-07-27Morlong Associates PROPOSAL70Anna Fali
1017Maria O DoeCanada2025-08-09Buckley Miller Wright QUALIFIED34Xuxue Feng
1018Jennifer N WieserItaly2025-08-10King, Christopher A Esq RENEWAL6Ioni Bowcher
1019Juan S RimBrazil2025-08-07Chapman, Ross E Esq NEGOTIATION86Amy Elsner
1020Adams J ChuiIndia2025-08-09Rousseaux, Michael Esq QUALIFIED3Amy Elsner
1021Octavia Q DarakjyIndia2025-08-12Feiner Bros NEGOTIATION51Stephen Shaw
1022Costa I DilliardUnited Kingdom2025-08-09Dorl, James J Esq QUALIFIED99Xuxue Feng
1023Faith V FollerUnited Kingdom2025-08-04Buckley Miller Wright NEGOTIATION62Asiya Javayant
1024Silvio N FigeroaItaly2025-08-13Chemel, James L Cpa RENEWAL87Anna Fali
1025Kaitlin U MorascaUnited Kingdom2025-08-06Rousseaux, Michael Esq RENEWAL76Elwin Sharvill
1026Maisha J PaprockiGermany2025-08-05Rousseaux, Michael Esq NEW34Ioni Bowcher
1027Emily U FollerIndia2025-07-17Truhlar And Truhlar Attys NEW77Asiya Javayant
1028Johnson T CampainIndia2025-07-22King, Christopher A Esq QUALIFIED92Xuxue Feng
1029Johnson O KolmetzSpain2025-08-06Chemel, James L Cpa RENEWAL94Bernardo Dominic
1030Adams W ChuiArgentina2025-08-04Rousseaux, Michael Esq NEGOTIATION4Onyama Limba
1031Jones S WhobreyJapan2025-07-17Benton, John B Jr UNQUALIFIED21Stephen Shaw
1032Greenwood K CaudyUnited Kingdom2025-07-17Commercial Press NEW56Stephen Shaw
1033Deepesh I FlosiBrazil2025-08-09Chemel, James L Cpa PROPOSAL70Onyama Limba
1034Ashley U ButtItaly2025-07-16Printing Dimensions UNQUALIFIED59Bernardo Dominic
1035Rodrigues T OldroydUnited Kingdom2025-07-19Printing Dimensions NEW34Asiya Javayant
1036Maria B KuskoArgentina2025-07-15Printing Dimensions RENEWAL61Anna Fali
1037Rodrigues U GillianUnited Kingdom2025-08-05Printing Dimensions PROPOSAL96Stephen Shaw
1038Aika M StockhamBrazil2025-08-02Rangoni Of Florence NEW85Ioni Bowcher
1039Francesco C AmigonIndia2025-08-05Rangoni Of Florence QUALIFIED51Ioni Bowcher
1040Juan M PoquetteBrazil2025-07-19Chanay, Jeffrey A Esq NEGOTIATION8Xuxue Feng
1041Aruna E WaycottRussia2025-07-23Benton, John B Jr NEGOTIATION11Xuxue Feng
1042Rodrigues P FigeroaUnited Kingdom2025-07-29Benton, John B Jr NEW94Ioni Bowcher
1043Clifford D SergiBrazil2025-07-26Truhlar And Truhlar Attys NEGOTIATION48Asiya Javayant
1044Wickens O RimFrance2025-07-24King, Christopher A Esq UNQUALIFIED27Asiya Javayant
1045Jefferson G BriddickBrazil2025-07-24Rangoni Of Florence NEGOTIATION34Elwin Sharvill
1046Rodrigues N MaletBrazil2025-08-09Rangoni Of Florence NEW59Ivan Magalhaes
1047Claire F MaletUnited Kingdom2025-08-03Morlong Associates RENEWAL49Bernardo Dominic
1048Julie L MaletItaly2025-08-03Buckley Miller Wright NEGOTIATION76Xuxue Feng
1049Leja U GarufiBrazil2025-07-23Truhlar And Truhlar Attys RENEWAL14Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Smith V SergiCanadaAmy Elsner UNQUALIFIED
Jefferson J WieserBrazilAnna Fali QUALIFIED
Jones V FigeroaUnited KingdomElwin Sharvill UNQUALIFIED
Juan U MaletUnited KingdomOnyama Limba UNQUALIFIED
Alejandro S WhobreyAustraliaOnyama Limba NEW
Silvio O CaldareraFranceAmy Elsner NEW
Juan Y DoeJapanXuxue Feng RENEWAL
Silvio U KuskoUnited KingdomXuxue Feng UNQUALIFIED
Jefferson Z SergiFranceBernardo Dominic QUALIFIED
Arvin F TollnerAustraliaOnyama Limba PROPOSAL
Greenwood I DarakjyUnited KingdomIoni Bowcher PROPOSAL
Aditya Y IturbideIndiaOnyama Limba UNQUALIFIED
Nicolas M CaudyRussiaOnyama Limba NEW
Arvin O StockhamCanadaAnna Fali PROPOSAL
Francesco O GauchoRussiaIvan Magalhaes NEW
Maria U RutaJapanAsiya Javayant RENEWAL
Johnson I MacleadSpainStephen Shaw QUALIFIED
Darci S SchemmerItalyAsiya Javayant PROPOSAL
Stacey T FigeroaBrazilElwin Sharvill UNQUALIFIED
Deepesh Z PoquetteArgentinaXuxue Feng NEW
Nicolas H IturbideGermanyElwin Sharvill RENEWAL
Morrow F FlosiItalyXuxue Feng UNQUALIFIED
Ivar C FigeroaIndiaBernardo Dominic RENEWAL
Mujtaba I ButtGermanyIoni Bowcher UNQUALIFIED
Leon N FerenczArgentinaXuxue Feng PROPOSAL
Adams H BologniaAustraliaBernardo Dominic PROPOSAL
Chavez A OstroskyRussiaStephen Shaw PROPOSAL
Costa D DoeCanadaBernardo Dominic QUALIFIED
Mujtaba P InouyeItalyBernardo Dominic PROPOSAL
James S RimArgentinaXuxue Feng NEW
Wickens K DilliardBrazilXuxue Feng RENEWAL
Darci D AmigonSpainIoni Bowcher NEW
Jeanfrancois K PoquetteItalyIoni Bowcher NEGOTIATION
Antonio D OldroydGermanyBernardo Dominic NEGOTIATION
Juan P DarakjyGermanyIoni Bowcher RENEWAL
Misaki O GlickJapanIvan Magalhaes NEGOTIATION
Cody V DilliardFranceXuxue Feng RENEWAL
Octavia K DarakjyArgentinaStephen Shaw QUALIFIED
Jennifer W GarufiIndiaStephen Shaw NEW
Kadeem K InouyeItalyStephen Shaw QUALIFIED
Juan E GarufiIndiaXuxue Feng NEW
Francesco Z StensethItalyIvan Magalhaes PROPOSAL
Arvin E CaudyRussiaAnna Fali NEGOTIATION
Octavia Z RimCanadaAsiya Javayant UNQUALIFIED
Isabel W PerinArgentinaAmy Elsner QUALIFIED
Mayumi I GauchoFranceIoni Bowcher NEW
Rodrigues X VocelkaIndiaAmy Elsner NEGOTIATION
Aditya I BowleyGermanyIvan Magalhaes UNQUALIFIED
James A StensethBrazilIvan Magalhaes QUALIFIED
Isabel Y CampainFranceBernardo Dominic QUALIFIED
Frozen Columns
Name
James E Maclead
Sinclair A Darakjy
Misaki Y Wieser
Sinclair W Rim
Cody L Bolognia
Emily F Ferencz
Johnson W Royster
Mayumi Y Stockham
Jeanfrancois U Doe
Kadeem H Rim
Leon R Rulapaugh
Tony K Gaucho
David S Saylors
Alejandro R Flosi
Darci S Shinko
Munro V Inouye
Deepesh J Paprocki
Misaki G Nestle
Arvin R Malet
Maria B Nicka
Darci P Shinko
Kadeem P Gillian
Aruna T Perin
Kaitlin C Royster
Kadeem T Waycott
Izzy C Morasca
Juan G Ruta
Jones R Briddick
Alejandro D Schemmer
Mujtaba B Garufi
Jennifer D Rulapaugh
Octavia D Paprocki
Arvin G Darakjy
Claire J Glick
James I Ruta
Aruna U Iturbide
Aruna L Garufi
Maria D Rulapaugh
Jeanfrancois K Perin
Ashley C Slusarski
Jennifer F Rim
Adams S Kolmetz
Aika K Kolmetz
Jennifer U Darakjy
Misaki J Iturbide
Jeanfrancois T Figeroa
James J Inouye
Adams Y Malet
Aika I Maclead
Silvio C Ostrosky
IdCountryDate
1000Canada2025-07-28
1001Australia2025-08-08
1002United Kingdom2025-07-22
1003United Kingdom2025-07-15
1004India2025-08-13
1005Canada2025-07-23
1006Brazil2025-08-04
1007Japan2025-07-17
1008Australia2025-08-07
1009India2025-08-06
1010Australia2025-07-24
1011Argentina2025-07-19
1012India2025-08-08
1013Australia2025-08-07
1014Italy2025-08-13
1015Brazil2025-07-31
1016Brazil2025-08-08
1017Russia2025-08-06
1018Russia2025-07-31
1019Germany2025-07-23
1020Japan2025-08-10
1021Russia2025-08-06
1022Canada2025-07-23
1023Brazil2025-08-05
1024Japan2025-08-04
1025Italy2025-07-18
1026Russia2025-08-02
1027Russia2025-07-23
1028Canada2025-07-24
1029Canada2025-07-25
1030Italy2025-08-01
1031Japan2025-07-16
1032France2025-07-30
1033India2025-07-31
1034Argentina2025-07-29
1035United Kingdom2025-07-28
1036Russia2025-07-15
1037Russia2025-07-30
1038Russia2025-07-29
1039Spain2025-08-03
1040Australia2025-08-03
1041Italy2025-07-29
1042Germany2025-07-21
1043Spain2025-08-02
1044India2025-07-19
1045France2025-07-29
1046Brazil2025-07-30
1047United Kingdom2025-08-11
1048Spain2025-07-18
1049Germany2025-07-20

On-Demand Data

NameIdCountryDate
Rodrigues Z Campain1000Spain2025-08-08
Maria Y Sergi1001Russia2025-08-02
Ashley T Venere1002Canada2025-07-26
Maisha Y Poquette1003Spain2025-08-09
Kadeem H Ferencz1004Spain2025-07-20
Maisha Y Malet1005France2025-08-02
Nicolas I Doe1006Argentina2025-07-23
Arvin K Maclead1007Brazil2025-07-16
Octavia D Flosi1008France2025-07-21
Cody I Morasca1009Italy2025-07-16
Leja G Morasca1010Argentina2025-08-13
Deepesh J Schemmer1011Italy2025-08-12
Adams D Rim1012Canada2025-08-05
Silvio K Caudy1013Japan2025-08-09
Salvatore J Perin1014Spain2025-08-11
Juan Q Nicka1015Russia2025-08-08
Rodrigues G Rim1016Canada2025-08-04
Stacey M Rim1017Japan2025-08-12
Silvio R Malet1018Brazil2025-08-03
Tony Q Foller1019Spain2025-08-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith Q RulapaughItalyIvan Magalhaes NEGOTIATION
Tony B KolmetzJapanIvan Magalhaes QUALIFIED
Antonio L OldroydIndiaIvan Magalhaes NEW
Kaitlin A KolmetzFranceAsiya Javayant NEGOTIATION
Mujtaba Y StockhamFranceAmy Elsner RENEWAL
Faith N FlosiFranceStephen Shaw PROPOSAL
Greenwood X NestleSpainAsiya Javayant NEW
Claire T GlickCanadaAmy Elsner NEGOTIATION
David H GlickSpainStephen Shaw NEGOTIATION
Murillo F WaycottJapanOnyama Limba QUALIFIED
Kaitlin O MaletCanadaIvan Magalhaes NEW
Arvin M PaprockiIndiaElwin Sharvill RENEWAL
Claire K RulapaughItalyAmy Elsner PROPOSAL
James C KuskoRussiaAmy Elsner NEGOTIATION
Deepesh L SergiFranceXuxue Feng PROPOSAL
Adams F ShinkoSpainBernardo Dominic NEW
Ashley Y BriddickRussiaElwin Sharvill NEW
Deepesh S GlickRussiaAmy Elsner UNQUALIFIED
Stacey G DarakjyJapanAnna Fali QUALIFIED
Ivar F WieserAustraliaAsiya Javayant PROPOSAL
Jennifer I FigeroaCanadaAnna Fali PROPOSAL
Silvio W CampainSpainOnyama Limba PROPOSAL
Ivar C VocelkaArgentinaIvan Magalhaes QUALIFIED
Smith O AmigonItalyBernardo Dominic QUALIFIED
Adams U SchemmerBrazilIoni Bowcher UNQUALIFIED
David W AlbaresItalyBernardo Dominic PROPOSAL
Cody Q RulapaughJapanXuxue Feng UNQUALIFIED
Deepesh Z DoeJapanElwin Sharvill NEGOTIATION
Alejandro V SchemmerFranceOnyama Limba UNQUALIFIED
Misaki S VenereUnited KingdomIoni Bowcher NEW
David F MorascaBrazilAsiya Javayant QUALIFIED
Claire V ShinkoIndiaIoni Bowcher RENEWAL
Claire Q WhobreyRussiaIvan Magalhaes NEGOTIATION
Murillo U StockhamFranceAsiya Javayant RENEWAL
Francesco E FigeroaUnited KingdomBernardo Dominic NEGOTIATION
Murillo T DoeIndiaAnna Fali NEGOTIATION
Jones L PoquetteArgentinaAsiya Javayant NEGOTIATION
Morrow X RimFranceAsiya Javayant NEGOTIATION
Aditya Y RimRussiaIoni Bowcher RENEWAL
James V PaprockiIndiaAnna Fali QUALIFIED

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