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
Chavez F DarakjyIndiaElwin Sharvill QUALIFIED
Jennifer E PoquetteAustraliaIvan Magalhaes NEW
Maria D KolmetzIndiaBernardo Dominic QUALIFIED
Misaki R PaprockiCanadaAnna Fali NEGOTIATION
Emily B BriddickAustraliaAsiya Javayant PROPOSAL
Nicolas W DarakjyIndiaAnna Fali NEW
Rodrigues R SaylorsRussiaStephen Shaw QUALIFIED
Cody X MacleadCanadaAmy Elsner NEGOTIATION
Silvio D RimAustraliaAsiya Javayant NEW
Izzy O WieserBrazilAmy Elsner QUALIFIED
Clifford W FigeroaArgentinaAnna Fali RENEWAL
Ricardo M DilliardFranceOnyama Limba NEW
Jones C InouyeIndiaOnyama Limba NEW
Aditya I KolmetzAustraliaStephen Shaw NEW
Maisha S BologniaJapanElwin Sharvill PROPOSAL
Clifford P BologniaCanadaStephen Shaw QUALIFIED
Kaitlin V KolmetzSpainElwin Sharvill RENEWAL
Sinclair S MarrierSpainAnna Fali NEW
Ashley E VocelkaAustraliaAnna Fali NEW
Misaki Y KolmetzBrazilAnna Fali RENEWAL
Silvio S FerenczBrazilElwin Sharvill NEW
Stacey R WaycottArgentinaAmy Elsner RENEWAL
Arvin C BriddickFranceElwin Sharvill NEW
Aika F MorascaJapanIvan Magalhaes PROPOSAL
Jeanfrancois Q VenereUnited KingdomStephen Shaw PROPOSAL
Arvin P GillianCanadaStephen Shaw QUALIFIED
David J MarrierAustraliaElwin Sharvill NEW
Johnson L ChuiJapanAnna Fali NEGOTIATION
Jeanfrancois R DoeUnited KingdomIoni Bowcher QUALIFIED
Claire O CampainIndiaBernardo Dominic NEGOTIATION
Aditya B StockhamGermanyBernardo Dominic NEW
Rodrigues K VocelkaAustraliaOnyama Limba PROPOSAL
Tony V GarufiCanadaOnyama Limba PROPOSAL
Juan G MaletItalyOnyama Limba QUALIFIED
Arvin G CaldareraJapanElwin Sharvill RENEWAL
Julie A OldroydRussiaStephen Shaw UNQUALIFIED
Julie S GlickUnited KingdomIoni Bowcher NEGOTIATION
Greenwood A KolmetzArgentinaAnna Fali PROPOSAL
Mujtaba Q CaudySpainXuxue Feng RENEWAL
Smith B ButtRussiaAmy Elsner NEW
Leon N RutaItalyStephen Shaw QUALIFIED
Octavia G SlusarskiIndiaIvan Magalhaes NEGOTIATION
Morrow D AmigonRussiaIvan Magalhaes RENEWAL
Maisha E MarrierJapanAmy Elsner RENEWAL
Chavez T AmigonCanadaAmy Elsner NEW
Tony X VenereCanadaIvan Magalhaes NEW
Izzy B CampainSpainBernardo Dominic NEW
Chavez W KuskoItalyXuxue Feng NEGOTIATION
Jones S NickaUnited KingdomIoni Bowcher UNQUALIFIED
Mujtaba S RoysterBrazilBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Alejandro J CampainAustraliaIvan Magalhaes NEGOTIATION
Wickens Q DilliardUnited KingdomStephen Shaw NEGOTIATION
Sinclair U PoquetteSpainAsiya Javayant NEW
Johnson P OldroydCanadaOnyama Limba NEGOTIATION
Adams M RulapaughArgentinaIoni Bowcher NEW
Murillo W PaprockiGermanyAnna Fali NEGOTIATION
Izzy E SchemmerCanadaAmy Elsner UNQUALIFIED
Maisha K RulapaughRussiaStephen Shaw RENEWAL
Julie Y PaprockiRussiaElwin Sharvill NEW
Darci P WhobreyArgentinaIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey X SchemmerBrazil2025-07-21King, Christopher A Esq UNQUALIFIED59Elwin Sharvill
1001Maisha K FigeroaGermany2025-07-19Chapman, Ross E Esq PROPOSAL93Asiya Javayant
1002Rodrigues R ShinkoGermany2025-07-20Feltz Printing Service UNQUALIFIED77Amy Elsner
1003Jones E GarufiFrance2025-07-29Chemel, James L Cpa NEW42Xuxue Feng
1004Mujtaba U AmigonRussia2025-08-04Truhlar And Truhlar Attys NEW8Ivan Magalhaes
1005Sinclair S GauchoRussia2025-07-24Truhlar And Truhlar Attys PROPOSAL16Onyama Limba
1006Izzy J OldroydGermany2025-07-30Rangoni Of Florence NEGOTIATION9Amy Elsner
1007Cody L ChuiSpain2025-07-28Buckley Miller Wright UNQUALIFIED80Ioni Bowcher
1008Sinclair B KolmetzBrazil2025-07-25Dorl, James J Esq PROPOSAL60Asiya Javayant
1009Julie A OstroskyFrance2025-07-30Buckley Miller Wright QUALIFIED14Anna Fali
1010Leja V FerenczCanada2025-08-08Buckley Miller Wright NEW46Onyama Limba
1011Juan X PerinUnited Kingdom2025-07-28Chemel, James L Cpa NEW74Stephen Shaw
1012Wickens J FlosiSpain2025-08-01Benton, John B Jr UNQUALIFIED93Stephen Shaw
1013Sinclair W BowleyUnited Kingdom2025-08-06Rousseaux, Michael Esq NEGOTIATION45Amy Elsner
1014Jones A CaudyCanada2025-07-24Dorl, James J Esq NEW77Bernardo Dominic
1015Cody V GarufiJapan2025-07-27Feiner Bros NEW49Stephen Shaw
1016Ashley V MorascaItaly2025-07-16Feltz Printing Service UNQUALIFIED75Ioni Bowcher
1017Aditya I SchemmerItaly2025-07-20Rangoni Of Florence RENEWAL20Amy Elsner
1018Kadeem A OstroskyCanada2025-07-23Truhlar And Truhlar Attys NEW43Ivan Magalhaes
1019Octavia K WhobreyArgentina2025-07-31Dorl, James J Esq UNQUALIFIED7Ivan Magalhaes
1020Francesco I BriddickItaly2025-07-14Chanay, Jeffrey A Esq RENEWAL61Stephen Shaw
1021Nicolas J KuskoSpain2025-07-17King, Christopher A Esq UNQUALIFIED74Bernardo Dominic
1022Juan L MaletCanada2025-08-12Printing Dimensions PROPOSAL49Asiya Javayant
1023Smith U TollnerCanada2025-07-24Chapman, Ross E Esq NEW42Xuxue Feng
1024Munro J WaycottIndia2025-07-31Chemel, James L Cpa QUALIFIED27Ivan Magalhaes
1025Aruna L BowleyFrance2025-07-30Chemel, James L Cpa QUALIFIED18Onyama Limba
1026Johnson I InouyeGermany2025-07-21Feiner Bros PROPOSAL37Ioni Bowcher
1027David P BologniaCanada2025-07-16Chanay, Jeffrey A Esq UNQUALIFIED45Xuxue Feng
1028Munro M WieserBrazil2025-08-05Chapman, Ross E Esq UNQUALIFIED55Elwin Sharvill
1029Ricardo U CampainCanada2025-07-17Benton, John B Jr QUALIFIED92Ivan Magalhaes
1030Jefferson A WhobreyJapan2025-07-27Commercial Press RENEWAL47Amy Elsner
1031Alejandro Z MacleadJapan2025-07-29Feiner Bros UNQUALIFIED23Xuxue Feng
1032Juan G BowleyCanada2025-08-03Chemel, James L Cpa PROPOSAL19Ivan Magalhaes
1033Julie H IturbideGermany2025-08-05Benton, John B Jr QUALIFIED9Asiya Javayant
1034Deepesh W WieserItaly2025-07-30Feltz Printing Service UNQUALIFIED54Xuxue Feng
1035Munro H GillianGermany2025-07-27Feiner Bros NEGOTIATION99Ioni Bowcher
1036Salvatore C GarufiArgentina2025-07-29Commercial Press UNQUALIFIED12Onyama Limba
1037Arvin V BologniaUnited Kingdom2025-07-23Rousseaux, Michael Esq QUALIFIED31Asiya Javayant
1038Emily N MacleadCanada2025-08-07Feltz Printing Service PROPOSAL14Anna Fali
1039Emily C MaletArgentina2025-07-29Rousseaux, Michael Esq UNQUALIFIED21Anna Fali
1040Leon V MaletItaly2025-08-09Feltz Printing Service PROPOSAL27Asiya Javayant
1041Jones J IturbideBrazil2025-07-14Benton, John B Jr NEW65Onyama Limba
1042Murillo K SlusarskiBrazil2025-07-28King, Christopher A Esq UNQUALIFIED72Stephen Shaw
1043Arvin S IturbideArgentina2025-07-28Commercial Press RENEWAL29Elwin Sharvill
1044Maria Y BowleyJapan2025-08-08Morlong Associates PROPOSAL67Asiya Javayant
1045Octavia V KuskoAustralia2025-08-08Feiner Bros NEW64Ioni Bowcher
1046Salvatore W AmigonRussia2025-08-05Morlong Associates QUALIFIED36Elwin Sharvill
1047Faith Q DilliardItaly2025-08-05Feltz Printing Service NEGOTIATION93Elwin Sharvill
1048Morrow P SergiItaly2025-07-18Chapman, Ross E Esq QUALIFIED15Ioni Bowcher
1049Aruna R KuskoSpain2025-07-22Benton, John B Jr NEGOTIATION81Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Munro P SergiFranceOnyama Limba RENEWAL
Aditya U PerinJapanXuxue Feng PROPOSAL
Aditya L PerinBrazilIoni Bowcher NEGOTIATION
Johnson I DoeIndiaAsiya Javayant NEW
Wickens W ChuiUnited KingdomBernardo Dominic RENEWAL
Ashley S PerinAustraliaBernardo Dominic RENEWAL
Jefferson K BologniaIndiaIoni Bowcher UNQUALIFIED
Kaitlin P InouyeCanadaOnyama Limba UNQUALIFIED
Ashley Z IturbideArgentinaOnyama Limba NEW
Munro A WaycottBrazilAsiya Javayant PROPOSAL
Maisha N NickaArgentinaIoni Bowcher NEW
Octavia H KolmetzJapanElwin Sharvill PROPOSAL
Izzy B WieserCanadaIoni Bowcher NEW
Faith R OldroydSpainXuxue Feng RENEWAL
Kaitlin F GlickAustraliaIoni Bowcher NEGOTIATION
Claire J ButtItalyBernardo Dominic NEGOTIATION
Deepesh Y PerinFranceStephen Shaw NEW
Kadeem D FerenczFranceIoni Bowcher NEGOTIATION
Wickens R CampainJapanAmy Elsner PROPOSAL
Smith W InouyeRussiaElwin Sharvill NEW
Aika K RutaGermanyAmy Elsner NEGOTIATION
Deepesh X PaprockiAustraliaAsiya Javayant UNQUALIFIED
Darci C DarakjyBrazilXuxue Feng QUALIFIED
Leja P TollnerFranceIoni Bowcher NEGOTIATION
Chavez L FigeroaBrazilIvan Magalhaes RENEWAL
Mayumi Z StockhamCanadaAsiya Javayant RENEWAL
Isabel S DilliardFranceAmy Elsner UNQUALIFIED
Juan U WieserIndiaAmy Elsner RENEWAL
Isabel G RutaJapanStephen Shaw PROPOSAL
Kaitlin H FlosiCanadaAsiya Javayant NEGOTIATION
Greenwood H KolmetzIndiaAnna Fali NEW
Maria V TollnerUnited KingdomXuxue Feng QUALIFIED
Murillo C PerinArgentinaAsiya Javayant NEW
Chavez S TollnerJapanStephen Shaw QUALIFIED
David N BowleyItalyStephen Shaw UNQUALIFIED
Maria F GillianGermanyAmy Elsner NEW
Kaitlin P GarufiFranceAnna Fali NEGOTIATION
Ricardo S TollnerJapanAmy Elsner NEGOTIATION
Chavez C MacleadRussiaAnna Fali NEGOTIATION
Misaki F DarakjyArgentinaAmy Elsner PROPOSAL
Johnson Y VenereJapanStephen Shaw NEW
Johnson R BriddickAustraliaBernardo Dominic NEGOTIATION
Kadeem S RulapaughCanadaElwin Sharvill QUALIFIED
Alejandro P PerinArgentinaAnna Fali PROPOSAL
Johnson U SaylorsAustraliaIvan Magalhaes NEGOTIATION
Emily F PaprockiFranceAnna Fali QUALIFIED
Alejandro F ButtSpainAnna Fali RENEWAL
Smith I GauchoBrazilStephen Shaw NEGOTIATION
Ricardo J RutaUnited KingdomBernardo Dominic NEW
Francesco C BriddickSpainIoni Bowcher NEGOTIATION
Frozen Columns
Name
Aruna J Glick
Johnson X Nestle
Salvatore L Malet
Silvio N Gaucho
Chavez W Inouye
Julie S Nicka
Aika L Bolognia
Jefferson Y Tollner
Juan K Ostrosky
Faith K Sergi
Aika N Kusko
Mujtaba S Whobrey
Kaitlin O Whobrey
Antonio I Rim
Alejandro P Bolognia
Salvatore K Bolognia
Darci X Inouye
Sinclair V Caudy
Jones R Bowley
Ashley L Bolognia
Kaitlin E Maclead
Jennifer I Amigon
David Q Bolognia
Smith Y Bowley
Juan R Oldroyd
Jeanfrancois F Gaucho
Murillo N Slusarski
Leja A Stockham
Jefferson F Kolmetz
Chavez S Chui
Darci B Nestle
Deepesh D Venere
Maisha W Nicka
Mujtaba S Garufi
Maisha A Caldarera
Isabel B Caldarera
Leon W Stockham
Ivar Y Poquette
Mujtaba M Gillian
Aruna W Sergi
Isabel Z Waycott
Cody S Gillian
Sinclair S Briddick
Francesco Z Stockham
Jefferson Z Nestle
Deepesh E Foller
Jeanfrancois F Sergi
Isabel C Rim
Claire K Malet
Sinclair X Whobrey
IdCountryDate
1000Russia2025-07-20
1001Germany2025-07-21
1002France2025-08-05
1003India2025-07-14
1004Russia2025-08-03
1005Argentina2025-08-06
1006Russia2025-08-07
1007Spain2025-07-24
1008Argentina2025-08-08
1009Canada2025-07-20
1010Canada2025-08-10
1011India2025-08-02
1012Canada2025-07-14
1013Japan2025-07-24
1014Spain2025-07-24
1015Argentina2025-07-22
1016Brazil2025-07-30
1017Spain2025-08-04
1018Spain2025-07-20
1019Russia2025-08-05
1020Japan2025-07-25
1021France2025-08-05
1022Italy2025-07-22
1023Japan2025-07-15
1024Australia2025-08-08
1025Russia2025-07-30
1026Argentina2025-08-09
1027India2025-08-04
1028Brazil2025-08-08
1029Argentina2025-07-17
1030Argentina2025-08-02
1031Canada2025-07-28
1032India2025-08-02
1033Canada2025-07-20
1034Australia2025-07-24
1035Russia2025-08-08
1036United Kingdom2025-07-25
1037Spain2025-07-30
1038United Kingdom2025-08-05
1039Australia2025-08-12
1040France2025-07-28
1041Russia2025-08-01
1042Canada2025-07-23
1043Japan2025-07-20
1044Spain2025-08-06
1045Australia2025-07-14
1046India2025-07-23
1047India2025-08-05
1048Argentina2025-07-18
1049Brazil2025-07-27

On-Demand Data

NameIdCountryDate
Silvio D Flosi1000Russia2025-08-06
Smith H Stenseth1001Italy2025-07-30
Claire X Nicka1002Canada2025-07-29
Deepesh M Ruta1003United Kingdom2025-08-08
Silvio T Doe1004India2025-07-20
Stacey I Foller1005Australia2025-08-07
Munro O Ruta1006Germany2025-07-22
Sinclair P Royster1007Spain2025-07-15
Ivar H Albares1008Germany2025-07-24
Francesco K Flosi1009Japan2025-07-29
Sinclair I Bowley1010Japan2025-07-16
Izzy M Ruta1011United Kingdom2025-07-30
Aditya L Bowley1012United Kingdom2025-07-30
Chavez S Vocelka1013India2025-07-30
Aditya L Iturbide1014Brazil2025-08-04
Darci X Foller1015Japan2025-07-17
Darci F Poquette1016Spain2025-07-26
Julie N Oldroyd1017Russia2025-07-30
Leja E Bowley1018Japan2025-07-20
Cody D Butt1019Germany2025-07-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna O TollnerFranceXuxue Feng UNQUALIFIED
Kaitlin G MaletFranceBernardo Dominic RENEWAL
Murillo V BologniaGermanyStephen Shaw RENEWAL
Wickens Y MaletArgentinaElwin Sharvill PROPOSAL
Ricardo U CaldareraBrazilOnyama Limba QUALIFIED
Rodrigues K AlbaresGermanyOnyama Limba NEW
Morrow C VocelkaCanadaAmy Elsner UNQUALIFIED
Mujtaba E VocelkaBrazilElwin Sharvill NEGOTIATION
Emily D DoeFranceAsiya Javayant PROPOSAL
Juan C FlosiItalyAmy Elsner NEGOTIATION
Maria G GauchoIndiaIvan Magalhaes NEW
Kaitlin H CaudyJapanAsiya Javayant UNQUALIFIED
Antonio G FigeroaBrazilIvan Magalhaes NEW
Deepesh V MorascaRussiaAsiya Javayant NEGOTIATION
Kadeem L PerinCanadaAsiya Javayant NEGOTIATION
Deepesh U DilliardIndiaAmy Elsner QUALIFIED
Silvio Z RimArgentinaAsiya Javayant QUALIFIED
Kaitlin K MorascaArgentinaOnyama Limba PROPOSAL
Antonio O StensethUnited KingdomBernardo Dominic UNQUALIFIED
Arvin G ChuiAustraliaXuxue Feng NEGOTIATION
Izzy H StensethAustraliaXuxue Feng NEW
Claire Q SaylorsCanadaIvan Magalhaes QUALIFIED
Jones U ButtCanadaXuxue Feng RENEWAL
Sinclair T AlbaresJapanAmy Elsner RENEWAL
Izzy H VocelkaIndiaElwin Sharvill NEW
David H ChuiSpainAmy Elsner UNQUALIFIED
Salvatore O ButtRussiaAmy Elsner PROPOSAL
Johnson U GlickRussiaElwin Sharvill PROPOSAL
Johnson T GauchoIndiaIoni Bowcher PROPOSAL
Emily G AlbaresFranceIoni Bowcher NEW
Silvio L ChuiGermanyOnyama Limba RENEWAL
Alejandro S CaudyUnited KingdomAsiya Javayant NEW
Jefferson R KolmetzSpainIvan Magalhaes RENEWAL
Leon W TollnerJapanAmy Elsner NEW
Kaitlin P DarakjyArgentinaAsiya Javayant QUALIFIED
David Y DoeBrazilBernardo Dominic UNQUALIFIED
Stacey Z DilliardGermanyOnyama Limba UNQUALIFIED
Octavia A BriddickArgentinaAnna Fali RENEWAL
Mujtaba D RutaBrazilOnyama Limba QUALIFIED
Maria G GauchoItalyAnna 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>