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
Tony O KolmetzAustraliaAnna Fali QUALIFIED
Deepesh J WhobreyAustraliaElwin Sharvill RENEWAL
Emily S FerenczJapanStephen Shaw RENEWAL
Wickens U AlbaresFranceElwin Sharvill NEW
Rodrigues O IturbideAustraliaOnyama Limba NEGOTIATION
Kaitlin H DarakjyCanadaAmy Elsner NEW
Izzy X VenereBrazilStephen Shaw NEW
Greenwood K FlosiFranceIoni Bowcher UNQUALIFIED
Costa G GauchoUnited KingdomXuxue Feng NEGOTIATION
Jeanfrancois S InouyeAustraliaAnna Fali QUALIFIED
Kadeem I DarakjyIndiaBernardo Dominic RENEWAL
Mayumi R WhobreyAustraliaOnyama Limba PROPOSAL
Munro K WieserSpainStephen Shaw QUALIFIED
Leon C GlickCanadaBernardo Dominic NEW
Jennifer H StensethArgentinaOnyama Limba NEW
Deepesh V MaletAustraliaIoni Bowcher RENEWAL
Ashley D KolmetzBrazilAsiya Javayant RENEWAL
Aruna Q FerenczRussiaAmy Elsner NEW
Maria G MacleadItalyBernardo Dominic QUALIFIED
Costa Z FigeroaFranceAnna Fali PROPOSAL
Julie Y VocelkaSpainIvan Magalhaes QUALIFIED
Mujtaba W GarufiJapanAsiya Javayant RENEWAL
Johnson U FigeroaRussiaAnna Fali RENEWAL
Smith M MaletBrazilAnna Fali QUALIFIED
Clifford V ButtGermanyAsiya Javayant QUALIFIED
Deepesh G GarufiAustraliaAsiya Javayant NEW
Mujtaba F BowleyCanadaAsiya Javayant NEGOTIATION
Misaki F NestleRussiaIvan Magalhaes NEGOTIATION
Arvin J MacleadArgentinaStephen Shaw QUALIFIED
David D ShinkoJapanStephen Shaw PROPOSAL
Mayumi G ChuiGermanyAnna Fali NEW
Morrow M RimGermanyAmy Elsner UNQUALIFIED
Leon Y MorascaIndiaIoni Bowcher UNQUALIFIED
Darci P DarakjyItalyXuxue Feng NEW
Misaki I SchemmerJapanIoni Bowcher RENEWAL
Costa K IturbideGermanyXuxue Feng UNQUALIFIED
Ivar R BriddickJapanAmy Elsner PROPOSAL
Darci P GauchoArgentinaAmy Elsner NEGOTIATION
Leja Q SlusarskiIndiaOnyama Limba QUALIFIED
Claire R NestleRussiaAnna Fali RENEWAL
Kadeem M KuskoSpainIvan Magalhaes RENEWAL
Juan A ButtIndiaIvan Magalhaes NEW
James R GlickUnited KingdomAsiya Javayant NEW
Clifford M FlosiCanadaOnyama Limba NEGOTIATION
Jennifer R ChuiIndiaXuxue Feng QUALIFIED
Juan D FigeroaFranceIvan Magalhaes UNQUALIFIED
Mujtaba W AmigonUnited KingdomAmy Elsner RENEWAL
Rodrigues A MacleadCanadaIoni Bowcher NEW
Faith Y SaylorsGermanyIoni Bowcher UNQUALIFIED
Julie O CampainFranceStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Arvin V SaylorsRussiaStephen Shaw NEW
Johnson J InouyeGermanyBernardo Dominic QUALIFIED
Arvin F StockhamUnited KingdomOnyama Limba RENEWAL
Johnson A InouyeSpainIvan Magalhaes UNQUALIFIED
Chavez B VocelkaSpainXuxue Feng PROPOSAL
Aruna L GillianBrazilAmy Elsner NEW
Salvatore B OstroskyRussiaOnyama Limba PROPOSAL
Arvin Z MarrierRussiaElwin Sharvill NEGOTIATION
Deepesh A SchemmerSpainOnyama Limba PROPOSAL
Adams I CampainJapanIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy Y TollnerBrazil2025-08-21Benton, John B Jr QUALIFIED53Stephen Shaw
1001Claire E AmigonBrazil2025-09-12Rangoni Of Florence UNQUALIFIED46Stephen Shaw
1002Salvatore T MaletJapan2025-09-04Rangoni Of Florence UNQUALIFIED74Stephen Shaw
1003Arvin D DoeBrazil2025-08-27Truhlar And Truhlar Attys PROPOSAL15Amy Elsner
1004Aruna Z MaletItaly2025-09-08Rangoni Of Florence PROPOSAL23Ioni Bowcher
1005Deepesh Y DoeFrance2025-09-09Rousseaux, Michael Esq PROPOSAL91Stephen Shaw
1006Leja F MacleadGermany2025-09-04Feiner Bros RENEWAL31Xuxue Feng
1007Chavez B GillianIndia2025-08-23King, Christopher A Esq UNQUALIFIED78Bernardo Dominic
1008Tony A BriddickJapan2025-09-05Commercial Press NEGOTIATION63Amy Elsner
1009Silvio J CaudyFrance2025-08-20Chanay, Jeffrey A Esq UNQUALIFIED89Amy Elsner
1010Octavia N SergiFrance2025-09-12Feiner Bros PROPOSAL42Asiya Javayant
1011Kaitlin G StockhamFrance2025-09-14Benton, John B Jr NEW75Elwin Sharvill
1012Arvin X MaletItaly2025-09-07Printing Dimensions QUALIFIED79Amy Elsner
1013Costa Q PoquetteGermany2025-08-24Rousseaux, Michael Esq PROPOSAL92Ioni Bowcher
1014Alejandro N ChuiSpain2025-09-08King, Christopher A Esq RENEWAL57Anna Fali
1015Misaki Q DoeRussia2025-08-26Morlong Associates RENEWAL31Anna Fali
1016Tony X CaldareraBrazil2025-08-31Chapman, Ross E Esq RENEWAL15Ivan Magalhaes
1017Aditya I GillianGermany2025-09-07Chapman, Ross E Esq NEGOTIATION40Stephen Shaw
1018Ivar D InouyeFrance2025-09-13Truhlar And Truhlar Attys RENEWAL73Stephen Shaw
1019Wickens F MaletArgentina2025-09-11King, Christopher A Esq UNQUALIFIED54Amy Elsner
1020Cody O PoquetteSpain2025-09-03Commercial Press UNQUALIFIED68Xuxue Feng
1021Clifford K InouyeSpain2025-09-10Commercial Press NEW24Bernardo Dominic
1022Aika Z CaudyIndia2025-08-23Rangoni Of Florence QUALIFIED92Bernardo Dominic
1023Isabel N VenereRussia2025-08-25Chemel, James L Cpa NEW92Xuxue Feng
1024Costa E BologniaItaly2025-09-18Rousseaux, Michael Esq QUALIFIED67Anna Fali
1025Wickens T KolmetzFrance2025-08-22King, Christopher A Esq NEW90Ioni Bowcher
1026Jennifer B GlickGermany2025-09-10Rangoni Of Florence PROPOSAL89Ioni Bowcher
1027Smith K KuskoArgentina2025-09-15Chanay, Jeffrey A Esq PROPOSAL52Amy Elsner
1028Mayumi B RulapaughUnited Kingdom2025-09-03Truhlar And Truhlar Attys NEW61Asiya Javayant
1029Smith X VocelkaCanada2025-08-25Morlong Associates RENEWAL18Amy Elsner
1030Isabel Q RoysterItaly2025-09-05Morlong Associates NEGOTIATION5Xuxue Feng
1031Emily L StockhamRussia2025-09-02Morlong Associates UNQUALIFIED1Anna Fali
1032Johnson A GauchoFrance2025-09-14Chapman, Ross E Esq NEW99Bernardo Dominic
1033Tony U ButtGermany2025-09-03Truhlar And Truhlar Attys UNQUALIFIED11Amy Elsner
1034Ivar M SaylorsArgentina2025-09-01Rousseaux, Michael Esq NEW67Ioni Bowcher
1035David G StensethItaly2025-09-04Truhlar And Truhlar Attys UNQUALIFIED60Elwin Sharvill
1036Johnson V StensethCanada2025-08-23Chemel, James L Cpa RENEWAL68Bernardo Dominic
1037Cody W VenereArgentina2025-08-27Chanay, Jeffrey A Esq NEGOTIATION7Ivan Magalhaes
1038Aika U KolmetzIndia2025-08-31Feiner Bros PROPOSAL85Ioni Bowcher
1039Francesco Z MaletGermany2025-08-28Printing Dimensions NEW57Anna Fali
1040Nicolas Q DoeUnited Kingdom2025-09-12Chanay, Jeffrey A Esq NEW90Anna Fali
1041Ricardo H VenereRussia2025-09-01Truhlar And Truhlar Attys RENEWAL49Amy Elsner
1042Arvin N BriddickFrance2025-09-10Dorl, James J Esq RENEWAL68Elwin Sharvill
1043James M IturbideBrazil2025-08-27Benton, John B Jr QUALIFIED92Elwin Sharvill
1044Arvin J PaprockiSpain2025-09-13Printing Dimensions PROPOSAL66Asiya Javayant
1045Stacey U KuskoJapan2025-09-17Benton, John B Jr QUALIFIED69Asiya Javayant
1046Emily R NestleSpain2025-09-11Commercial Press UNQUALIFIED49Anna Fali
1047Izzy Z GlickRussia2025-08-28Commercial Press NEW89Anna Fali
1048Ashley K GarufiJapan2025-08-28King, Christopher A Esq NEW19Stephen Shaw
1049Tony J CampainUnited Kingdom2025-09-06Feiner Bros PROPOSAL38Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Munro C FerenczItalyXuxue Feng NEGOTIATION
David G RutaIndiaStephen Shaw PROPOSAL
Rodrigues V CampainArgentinaBernardo Dominic NEW
Kaitlin B NestleRussiaOnyama Limba PROPOSAL
Chavez V CampainCanadaXuxue Feng NEGOTIATION
Kadeem L DilliardItalyBernardo Dominic QUALIFIED
Clifford G StensethArgentinaXuxue Feng UNQUALIFIED
Jeanfrancois V BriddickRussiaStephen Shaw NEW
Chavez S RutaArgentinaIoni Bowcher PROPOSAL
Izzy T OstroskySpainAnna Fali RENEWAL
Chavez P ButtFranceAnna Fali QUALIFIED
Costa W StockhamItalyAsiya Javayant NEW
Silvio V TollnerFranceElwin Sharvill UNQUALIFIED
Chavez W PerinArgentinaAmy Elsner UNQUALIFIED
Salvatore T IturbideAustraliaAnna Fali NEGOTIATION
Mayumi B GlickFranceAmy Elsner NEGOTIATION
Jefferson P PaprockiGermanyIvan Magalhaes NEW
Stacey D RutaArgentinaIvan Magalhaes UNQUALIFIED
Alejandro F FerenczUnited KingdomXuxue Feng QUALIFIED
Francesco A OldroydBrazilAmy Elsner QUALIFIED
Jones A SaylorsRussiaOnyama Limba PROPOSAL
Kaitlin T SergiUnited KingdomAmy Elsner NEGOTIATION
Greenwood Y BologniaCanadaAnna Fali RENEWAL
Clifford E InouyeSpainOnyama Limba NEGOTIATION
Aditya U MarrierSpainIoni Bowcher UNQUALIFIED
Chavez X MarrierRussiaOnyama Limba NEW
Maisha Y ButtItalyXuxue Feng NEW
Leon P FlosiItalyOnyama Limba RENEWAL
Clifford I GauchoItalyBernardo Dominic QUALIFIED
Aruna Q WhobreyArgentinaOnyama Limba QUALIFIED
Nicolas Y RulapaughAustraliaAmy Elsner NEW
Arvin Q PaprockiArgentinaIoni Bowcher UNQUALIFIED
Kadeem M TollnerJapanElwin Sharvill NEGOTIATION
Sinclair W StockhamAustraliaAsiya Javayant PROPOSAL
Leja F GauchoIndiaElwin Sharvill RENEWAL
Isabel N SchemmerCanadaBernardo Dominic PROPOSAL
Cody H SchemmerFranceAnna Fali QUALIFIED
Deepesh P KuskoRussiaAnna Fali QUALIFIED
Stacey H GauchoSpainElwin Sharvill QUALIFIED
Morrow X MorascaJapanOnyama Limba NEGOTIATION
Aika C MaletBrazilXuxue Feng NEW
Izzy K RutaUnited KingdomStephen Shaw PROPOSAL
Misaki G RutaArgentinaBernardo Dominic RENEWAL
Aika B SaylorsItalyStephen Shaw PROPOSAL
Maria J DilliardFranceAsiya Javayant QUALIFIED
Claire T WaycottItalyBernardo Dominic PROPOSAL
Jennifer J AlbaresAustraliaOnyama Limba NEGOTIATION
Ricardo H InouyeJapanOnyama Limba UNQUALIFIED
Greenwood Z RulapaughSpainXuxue Feng NEGOTIATION
Leja L TollnerIndiaIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Maria I Slusarski
Sinclair D Caldarera
Claire N Sergi
Kaitlin K Oldroyd
Aika V Caldarera
Julie K Nicka
Murillo P Chui
Maisha P Saylors
Clifford I Rulapaugh
Aditya Q Waycott
Leon I Ostrosky
Faith R Amigon
Ivar G Albares
Arvin T Royster
Leon V Waycott
Jefferson H Ferencz
Silvio B Gillian
Stacey Q Caldarera
Mujtaba E Gaucho
Izzy W Flosi
Arvin V Albares
Deepesh O Vocelka
Clifford B Bolognia
Smith C Glick
James Z Oldroyd
Misaki E Saylors
Darci A Wieser
Morrow O Ostrosky
Greenwood Z Campain
Sinclair N Gillian
Kaitlin O Morasca
Sinclair C Iturbide
Wickens T Ostrosky
Jennifer X Nestle
Sinclair I Paprocki
Wickens Z Venere
Emily P Briddick
Faith N Waycott
Ashley N Oldroyd
Adams O Stockham
Izzy G Wieser
Sinclair C Flosi
Leon X Dilliard
Chavez R Gaucho
Sinclair D Ostrosky
Julie J Wieser
Cody D Garufi
Nicolas R Kusko
James R Bolognia
Alejandro E Saylors
IdCountryDate
1000Spain2025-09-06
1001Japan2025-09-02
1002Australia2025-09-16
1003United Kingdom2025-09-11
1004Japan2025-08-29
1005Spain2025-08-26
1006Argentina2025-08-28
1007United Kingdom2025-08-25
1008Brazil2025-08-20
1009Italy2025-08-20
1010Germany2025-08-29
1011Brazil2025-09-14
1012Italy2025-09-07
1013Germany2025-09-01
1014India2025-09-07
1015Argentina2025-08-20
1016Canada2025-09-11
1017Japan2025-09-06
1018India2025-09-06
1019United Kingdom2025-09-17
1020Japan2025-09-03
1021Germany2025-09-13
1022Argentina2025-08-24
1023Argentina2025-09-03
1024Russia2025-08-24
1025United Kingdom2025-09-05
1026India2025-08-26
1027United Kingdom2025-09-12
1028United Kingdom2025-09-16
1029India2025-08-23
1030France2025-08-22
1031Brazil2025-08-23
1032Italy2025-09-06
1033Australia2025-09-15
1034United Kingdom2025-09-05
1035Germany2025-09-03
1036United Kingdom2025-09-12
1037Spain2025-09-15
1038Spain2025-09-08
1039India2025-09-05
1040Germany2025-09-01
1041Canada2025-09-13
1042Russia2025-08-30
1043India2025-09-14
1044Brazil2025-09-10
1045Spain2025-08-28
1046Russia2025-08-30
1047Italy2025-08-21
1048Brazil2025-09-18
1049Australia2025-08-26

On-Demand Data

NameIdCountryDate
Deepesh K Nicka1000United Kingdom2025-09-04
Mayumi R Perin1001United Kingdom2025-09-03
Sinclair I Marrier1002Italy2025-09-04
Costa L Briddick1003France2025-09-16
Deepesh J Butt1004Australia2025-09-05
Murillo W Paprocki1005Japan2025-09-05
Stacey U Dilliard1006Russia2025-08-24
Nicolas N Shinko1007Italy2025-09-05
Maria P Slusarski1008Italy2025-09-09
Stacey U Doe1009Australia2025-09-07
Tony I Stockham1010Japan2025-09-02
Aruna B Marrier1011Russia2025-09-03
Mujtaba W Caldarera1012Germany2025-09-08
Stacey N Bolognia1013Spain2025-09-14
Octavia U Garufi1014Germany2025-09-11
Leon L Kusko1015Germany2025-09-08
Kadeem X Nestle1016Japan2025-09-06
Murillo B Malet1017Italy2025-08-28
Sinclair Z Ferencz1018Germany2025-09-16
Isabel M Chui1019Brazil2025-09-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco T InouyeJapanIoni Bowcher NEGOTIATION
Johnson B PoquetteIndiaIvan Magalhaes PROPOSAL
Aruna A PaprockiFranceXuxue Feng RENEWAL
Francesco M NestleCanadaAsiya Javayant QUALIFIED
Kaitlin B AlbaresSpainBernardo Dominic NEW
Aditya E BologniaAustraliaOnyama Limba UNQUALIFIED
James K InouyeJapanBernardo Dominic UNQUALIFIED
Emily V DoeItalyXuxue Feng RENEWAL
Antonio S ButtIndiaElwin Sharvill PROPOSAL
Mujtaba P ShinkoItalyAmy Elsner QUALIFIED
David J GlickRussiaStephen Shaw NEW
Jennifer U StensethJapanStephen Shaw QUALIFIED
Cody D CaudyIndiaAsiya Javayant UNQUALIFIED
Leon E InouyeBrazilAsiya Javayant QUALIFIED
Arvin G BowleyAustraliaElwin Sharvill UNQUALIFIED
Arvin B SlusarskiItalyXuxue Feng PROPOSAL
Darci G StockhamGermanyStephen Shaw UNQUALIFIED
Julie D ShinkoIndiaXuxue Feng UNQUALIFIED
Adams S WaycottItalyAsiya Javayant NEGOTIATION
Munro F RoysterArgentinaOnyama Limba RENEWAL
Johnson U RoysterArgentinaBernardo Dominic RENEWAL
Arvin Q PerinUnited KingdomOnyama Limba UNQUALIFIED
Darci I MaletRussiaElwin Sharvill RENEWAL
Clifford Q SaylorsCanadaBernardo Dominic UNQUALIFIED
Izzy Y MaletAustraliaAnna Fali QUALIFIED
Leon M StockhamItalyStephen Shaw QUALIFIED
Stacey C TollnerAustraliaElwin Sharvill RENEWAL
Francesco L MaletGermanyAnna Fali QUALIFIED
Wickens E VocelkaArgentinaBernardo Dominic RENEWAL
Faith L MaletRussiaXuxue Feng RENEWAL
Leon P DarakjyIndiaAsiya Javayant RENEWAL
Costa F BowleyItalyStephen Shaw PROPOSAL
Silvio U GlickRussiaIoni Bowcher NEGOTIATION
Munro Z MaletSpainAsiya Javayant UNQUALIFIED
Wickens B FerenczAustraliaBernardo Dominic UNQUALIFIED
Emily U PoquetteGermanyIoni Bowcher RENEWAL
Johnson S SaylorsAustraliaXuxue Feng NEW
Maisha V GarufiIndiaStephen Shaw NEGOTIATION
Johnson D MaletJapanIvan Magalhaes RENEWAL
Leon R KolmetzCanadaAnna Fali RENEWAL

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