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
Sinclair A FlosiSpainBernardo Dominic QUALIFIED
Julie A FlosiIndiaStephen Shaw PROPOSAL
Maria D RutaFranceElwin Sharvill NEW
Johnson T MarrierSpainStephen Shaw PROPOSAL
Izzy D MacleadAustraliaStephen Shaw NEW
Maisha B StensethSpainAnna Fali QUALIFIED
Maria S DarakjyJapanAmy Elsner PROPOSAL
Ashley Z RulapaughBrazilOnyama Limba RENEWAL
Ashley J NickaArgentinaAmy Elsner QUALIFIED
Kadeem R RutaFranceXuxue Feng QUALIFIED
Faith K MaletRussiaBernardo Dominic UNQUALIFIED
Costa C RutaAustraliaOnyama Limba PROPOSAL
Claire C OstroskyFranceStephen Shaw PROPOSAL
Deepesh O BowleyJapanIoni Bowcher PROPOSAL
Deepesh J DilliardFranceIoni Bowcher UNQUALIFIED
Julie L BologniaCanadaBernardo Dominic UNQUALIFIED
Isabel E WhobreyArgentinaBernardo Dominic NEW
Kadeem X CaldareraRussiaIvan Magalhaes QUALIFIED
Johnson Y WhobreyBrazilElwin Sharvill RENEWAL
Claire I AmigonBrazilOnyama Limba QUALIFIED
Jennifer C KolmetzArgentinaStephen Shaw RENEWAL
Ivar R RutaJapanAsiya Javayant RENEWAL
Emily K SergiItalyStephen Shaw RENEWAL
Mayumi Z NestleCanadaIvan Magalhaes NEW
Jones Y PerinItalyElwin Sharvill NEW
Stacey M StensethItalyElwin Sharvill PROPOSAL
Maisha A MacleadIndiaAnna Fali QUALIFIED
Juan U FollerAustraliaElwin Sharvill NEW
Darci Z KolmetzSpainStephen Shaw PROPOSAL
Faith H GillianFranceAnna Fali RENEWAL
Aruna J ShinkoIndiaElwin Sharvill PROPOSAL
Julie X ButtCanadaStephen Shaw RENEWAL
Smith Q NestleItalyXuxue Feng QUALIFIED
Alejandro I MorascaIndiaAsiya Javayant PROPOSAL
Murillo H RutaSpainStephen Shaw UNQUALIFIED
Kadeem B PoquetteItalyBernardo Dominic PROPOSAL
Claire P GarufiRussiaOnyama Limba QUALIFIED
Murillo Q VocelkaItalyIvan Magalhaes UNQUALIFIED
Juan M NickaCanadaAsiya Javayant NEW
Claire L WaycottArgentinaElwin Sharvill RENEWAL
Leja W PoquetteBrazilAsiya Javayant UNQUALIFIED
Salvatore I RimCanadaStephen Shaw NEGOTIATION
Leja H DoeGermanyXuxue Feng NEW
Ricardo K InouyeArgentinaOnyama Limba RENEWAL
Julie U DoeGermanyBernardo Dominic PROPOSAL
Johnson A StensethBrazilAmy Elsner NEW
Cody S WhobreyIndiaIoni Bowcher NEGOTIATION
Leja X AmigonCanadaIoni Bowcher QUALIFIED
Jennifer Z NestleFranceAmy Elsner PROPOSAL
Leon N KuskoArgentinaAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Emily Q OstroskyGermanyIoni Bowcher PROPOSAL
Julie O RutaGermanyAsiya Javayant QUALIFIED
David L TollnerCanadaIvan Magalhaes UNQUALIFIED
Izzy U VenereJapanAsiya Javayant PROPOSAL
Johnson O StensethRussiaElwin Sharvill PROPOSAL
Mayumi Y ChuiJapanIoni Bowcher PROPOSAL
Julie Q IturbideFranceOnyama Limba PROPOSAL
Kaitlin I AlbaresSpainIvan Magalhaes QUALIFIED
Cody C PerinAustraliaOnyama Limba PROPOSAL
Aruna H CaldareraCanadaStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha L DilliardJapan2025-08-13Feiner Bros NEW93Elwin Sharvill
1001Octavia F NickaBrazil2025-08-25Feiner Bros RENEWAL10Ioni Bowcher
1002Izzy W CaudyAustralia2025-08-26Buckley Miller Wright NEGOTIATION82Ioni Bowcher
1003Mujtaba D AmigonCanada2025-08-06King, Christopher A Esq RENEWAL1Bernardo Dominic
1004Chavez D IturbideSpain2025-08-24Feltz Printing Service UNQUALIFIED87Ivan Magalhaes
1005Izzy D WaycottCanada2025-08-23Benton, John B Jr PROPOSAL19Ivan Magalhaes
1006Cody U GillianFrance2025-08-16Printing Dimensions QUALIFIED55Elwin Sharvill
1007Jeanfrancois E FerenczIndia2025-08-24Commercial Press NEW17Bernardo Dominic
1008Francesco H StensethCanada2025-08-17Commercial Press UNQUALIFIED64Amy Elsner
1009Aruna E VenereRussia2025-08-05Chanay, Jeffrey A Esq UNQUALIFIED86Xuxue Feng
1010Wickens P BologniaFrance2025-08-21Chanay, Jeffrey A Esq QUALIFIED69Elwin Sharvill
1011Silvio C NestleItaly2025-08-24Printing Dimensions RENEWAL71Asiya Javayant
1012Deepesh W CampainUnited Kingdom2025-08-06Feiner Bros UNQUALIFIED81Elwin Sharvill
1013Nicolas B FigeroaIndia2025-08-05Truhlar And Truhlar Attys PROPOSAL35Xuxue Feng
1014Kaitlin G TollnerItaly2025-08-10Dorl, James J Esq NEGOTIATION81Elwin Sharvill
1015Wickens X WieserBrazil2025-07-30Benton, John B Jr QUALIFIED5Onyama Limba
1016Claire V VocelkaAustralia2025-08-12Feiner Bros QUALIFIED1Elwin Sharvill
1017Emily D WaycottSpain2025-08-01Feiner Bros QUALIFIED0Ioni Bowcher
1018Cody U FigeroaFrance2025-08-08Commercial Press NEW23Anna Fali
1019Kaitlin S BologniaSpain2025-08-11Truhlar And Truhlar Attys PROPOSAL5Amy Elsner
1020Jeanfrancois M WhobreyBrazil2025-08-23Rousseaux, Michael Esq UNQUALIFIED84Asiya Javayant
1021Arvin E BowleyItaly2025-07-31Buckley Miller Wright PROPOSAL4Ioni Bowcher
1022Misaki A BriddickIndia2025-08-05Dorl, James J Esq RENEWAL29Amy Elsner
1023Adams D GauchoBrazil2025-08-12Rousseaux, Michael Esq RENEWAL24Ioni Bowcher
1024Murillo Y DarakjyRussia2025-08-23Morlong Associates QUALIFIED86Anna Fali
1025Kaitlin I PoquetteArgentina2025-08-11Buckley Miller Wright RENEWAL91Asiya Javayant
1026Clifford W OldroydAustralia2025-08-21Truhlar And Truhlar Attys RENEWAL55Elwin Sharvill
1027Chavez O OstroskyUnited Kingdom2025-08-28Truhlar And Truhlar Attys QUALIFIED65Ioni Bowcher
1028Juan R GillianBrazil2025-08-26Chemel, James L Cpa NEGOTIATION65Amy Elsner
1029Kaitlin J FigeroaFrance2025-08-21Chapman, Ross E Esq NEGOTIATION66Anna Fali
1030Leon Z MacleadBrazil2025-08-16Feiner Bros UNQUALIFIED84Amy Elsner
1031Antonio L MaletRussia2025-08-26Dorl, James J Esq RENEWAL22Asiya Javayant
1032James T PerinRussia2025-08-08Truhlar And Truhlar Attys QUALIFIED84Bernardo Dominic
1033Morrow J MaletSpain2025-08-11Printing Dimensions NEW92Bernardo Dominic
1034Nicolas D StockhamItaly2025-08-04Benton, John B Jr NEGOTIATION43Stephen Shaw
1035Isabel V SergiArgentina2025-08-22Chanay, Jeffrey A Esq QUALIFIED9Amy Elsner
1036Jones D TollnerUnited Kingdom2025-08-16Printing Dimensions QUALIFIED7Stephen Shaw
1037Clifford I SchemmerUnited Kingdom2025-07-31King, Christopher A Esq NEGOTIATION55Onyama Limba
1038Munro I BologniaBrazil2025-08-07King, Christopher A Esq UNQUALIFIED83Ioni Bowcher
1039Izzy W VocelkaCanada2025-08-15Dorl, James J Esq NEGOTIATION90Anna Fali
1040Arvin R SlusarskiGermany2025-08-09Benton, John B Jr RENEWAL83Stephen Shaw
1041Deepesh T NickaUnited Kingdom2025-07-31Truhlar And Truhlar Attys NEGOTIATION13Xuxue Feng
1042Ivar N ChuiFrance2025-08-19Buckley Miller Wright RENEWAL28Ioni Bowcher
1043Arvin S StockhamGermany2025-08-23Morlong Associates PROPOSAL23Elwin Sharvill
1044Greenwood H PaprockiItaly2025-08-19Benton, John B Jr RENEWAL53Onyama Limba
1045Julie W NestleBrazil2025-08-25Rangoni Of Florence RENEWAL87Stephen Shaw
1046Johnson M MaletFrance2025-08-19Printing Dimensions RENEWAL61Elwin Sharvill
1047Kaitlin Z CaldareraIndia2025-08-04Commercial Press UNQUALIFIED11Asiya Javayant
1048Munro T GlickUnited Kingdom2025-08-15Commercial Press QUALIFIED90Stephen Shaw
1049James X MaletRussia2025-08-24Dorl, James J Esq QUALIFIED66Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Cody K FlosiGermanyOnyama Limba NEGOTIATION
Costa I MarrierItalyBernardo Dominic UNQUALIFIED
Smith J RutaUnited KingdomIvan Magalhaes NEGOTIATION
Sinclair G WaycottUnited KingdomStephen Shaw UNQUALIFIED
Leon J KuskoBrazilAsiya Javayant RENEWAL
Darci U MacleadCanadaIoni Bowcher UNQUALIFIED
Alejandro A RimBrazilStephen Shaw UNQUALIFIED
Maisha W GlickJapanAnna Fali NEGOTIATION
Jennifer P MaletUnited KingdomIoni Bowcher UNQUALIFIED
Chavez V IturbideRussiaIoni Bowcher RENEWAL
Octavia Y VocelkaArgentinaIoni Bowcher NEW
Nicolas U DarakjyBrazilIoni Bowcher UNQUALIFIED
Wickens P InouyeItalyAsiya Javayant PROPOSAL
Munro K PerinBrazilXuxue Feng NEW
Jones V GillianRussiaXuxue Feng UNQUALIFIED
Wickens V KolmetzGermanyXuxue Feng NEGOTIATION
Stacey R DoeRussiaStephen Shaw RENEWAL
Misaki B FerenczGermanyOnyama Limba QUALIFIED
Stacey Y NickaJapanIvan Magalhaes QUALIFIED
Kadeem D GlickIndiaAmy Elsner RENEWAL
Faith F PaprockiArgentinaAnna Fali NEW
Misaki R ButtCanadaOnyama Limba QUALIFIED
Maria G MaletArgentinaAnna Fali QUALIFIED
Deepesh R NickaCanadaElwin Sharvill QUALIFIED
David J FollerArgentinaAsiya Javayant QUALIFIED
Adams N IturbideJapanOnyama Limba RENEWAL
Aditya H MacleadBrazilElwin Sharvill PROPOSAL
Smith G NickaFranceBernardo Dominic UNQUALIFIED
Antonio X FerenczIndiaBernardo Dominic NEW
Claire S FlosiAustraliaAnna Fali PROPOSAL
Adams D PerinArgentinaAnna Fali PROPOSAL
Rodrigues D MorascaIndiaIoni Bowcher UNQUALIFIED
Jennifer Q MaletFranceIvan Magalhaes NEGOTIATION
Jefferson T StockhamBrazilOnyama Limba NEW
Nicolas R PerinRussiaAsiya Javayant RENEWAL
Kaitlin Y GauchoAustraliaAnna Fali PROPOSAL
Jones S AlbaresJapanOnyama Limba UNQUALIFIED
Stacey A AmigonJapanAsiya Javayant QUALIFIED
Francesco I CaldareraIndiaAnna Fali RENEWAL
Cody F FlosiRussiaStephen Shaw NEGOTIATION
Misaki V DilliardRussiaAsiya Javayant NEGOTIATION
Mayumi L OstroskyAustraliaElwin Sharvill UNQUALIFIED
Nicolas Q MaletFranceIoni Bowcher QUALIFIED
Alejandro I DilliardJapanIoni Bowcher NEGOTIATION
David G MarrierFranceElwin Sharvill QUALIFIED
Misaki U MarrierJapanAnna Fali RENEWAL
Costa C DarakjyFranceBernardo Dominic QUALIFIED
Faith Q InouyeFranceOnyama Limba UNQUALIFIED
Aditya L DilliardAustraliaIvan Magalhaes QUALIFIED
Nicolas Q BowleyIndiaElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Julie R Bolognia
Juan Q Poquette
Mujtaba F Figeroa
Nicolas C Gaucho
Nicolas S Malet
Stacey W Caudy
Wickens L Chui
Mayumi N Malet
Jefferson E Perin
Jefferson B Iturbide
Aruna J Nestle
Kadeem J Kolmetz
Costa Z Tollner
Sinclair D Dilliard
Kaitlin M Maclead
Sinclair L Ruta
Clifford N Wieser
Leon I Nestle
Chavez H Rulapaugh
Octavia K Caudy
Smith X Whobrey
Francesco P Doe
Silvio W Whobrey
Misaki J Glick
Juan P Iturbide
Wickens J Flosi
Kaitlin N Gillian
Maria F Shinko
Izzy E Malet
Octavia L Waycott
Wickens G Figeroa
Stacey O Tollner
Stacey T Rulapaugh
Izzy X Doe
Kadeem Q Shinko
Maria W Albares
Morrow I Paprocki
Octavia A Saylors
Ivar U Ferencz
Salvatore D Nestle
Ivar G Nestle
Silvio R Wieser
Leja I Doe
Isabel K Darakjy
Costa Y Bolognia
James E Glick
Silvio P Venere
Izzy N Vocelka
Ashley R Kolmetz
Aika F Venere
IdCountryDate
1000Australia2025-08-17
1001Australia2025-08-12
1002France2025-08-27
1003India2025-08-02
1004Canada2025-08-08
1005United Kingdom2025-08-06
1006Spain2025-08-18
1007Russia2025-08-02
1008Brazil2025-08-10
1009Australia2025-07-30
1010Australia2025-08-27
1011Japan2025-08-28
1012India2025-08-03
1013Brazil2025-08-24
1014Russia2025-08-24
1015Russia2025-08-02
1016India2025-08-18
1017Germany2025-08-02
1018Argentina2025-08-18
1019Russia2025-08-06
1020United Kingdom2025-08-20
1021Brazil2025-08-08
1022Italy2025-08-26
1023United Kingdom2025-08-16
1024India2025-07-30
1025United Kingdom2025-08-23
1026India2025-08-05
1027Brazil2025-08-02
1028Japan2025-08-21
1029France2025-08-20
1030Japan2025-08-05
1031Argentina2025-08-24
1032Japan2025-08-09
1033Australia2025-08-04
1034India2025-08-13
1035Canada2025-08-27
1036Italy2025-08-25
1037Spain2025-08-09
1038France2025-08-07
1039Argentina2025-08-15
1040India2025-08-24
1041Italy2025-08-18
1042Japan2025-08-26
1043Germany2025-08-15
1044Australia2025-08-16
1045Canada2025-08-22
1046Brazil2025-08-18
1047Canada2025-08-04
1048Japan2025-08-04
1049France2025-08-17

On-Demand Data

NameIdCountryDate
Maisha T Paprocki1000Argentina2025-08-03
Wickens R Paprocki1001Italy2025-08-05
David U Butt1002Australia2025-08-01
Jennifer V Poquette1003Japan2025-08-13
Costa H Iturbide1004Japan2025-08-16
Sinclair Z Paprocki1005Japan2025-08-03
David D Gillian1006Japan2025-08-13
Jeanfrancois B Tollner1007Spain2025-08-07
Ashley F Tollner1008India2025-08-04
Smith Y Marrier1009Japan2025-08-03
Isabel E Nicka1010Russia2025-08-21
Nicolas T Figeroa1011United Kingdom2025-08-19
Wickens P Amigon1012Germany2025-08-27
Adams G Gaucho1013Germany2025-08-04
Misaki Y Ruta1014Canada2025-08-25
Ricardo Y Campain1015Japan2025-08-04
Darci G Kusko1016Spain2025-08-03
Leon I Bowley1017Germany2025-08-07
Deepesh Q Glick1018Canada2025-08-21
Morrow E Gaucho1019Brazil2025-08-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair H MacleadAustraliaBernardo Dominic QUALIFIED
Aditya D InouyeJapanAmy Elsner RENEWAL
Sinclair C OstroskyBrazilIvan Magalhaes PROPOSAL
Julie J SaylorsRussiaOnyama Limba NEGOTIATION
Tony S CaudyRussiaXuxue Feng PROPOSAL
Leja A AmigonBrazilElwin Sharvill NEGOTIATION
James Y StensethCanadaOnyama Limba UNQUALIFIED
Alejandro J AlbaresBrazilOnyama Limba PROPOSAL
Alejandro A FigeroaArgentinaStephen Shaw PROPOSAL
Stacey J CaudyItalyBernardo Dominic NEGOTIATION
Misaki M MarrierItalyBernardo Dominic UNQUALIFIED
Sinclair Z NickaGermanyIoni Bowcher UNQUALIFIED
Misaki L PaprockiFranceAmy Elsner QUALIFIED
Emily O IturbideRussiaStephen Shaw NEGOTIATION
Kaitlin D StensethIndiaXuxue Feng NEGOTIATION
Isabel H NestleSpainAsiya Javayant RENEWAL
Mayumi O GarufiItalyOnyama Limba PROPOSAL
Antonio T WieserFranceIvan Magalhaes UNQUALIFIED
Kaitlin Y PoquetteFranceBernardo Dominic PROPOSAL
Silvio F AmigonCanadaStephen Shaw UNQUALIFIED
Isabel D MarrierBrazilStephen Shaw RENEWAL
Claire J MacleadGermanyIvan Magalhaes RENEWAL
Rodrigues B KuskoJapanAsiya Javayant QUALIFIED
Murillo V MacleadJapanOnyama Limba QUALIFIED
Maria D ButtGermanyXuxue Feng NEGOTIATION
Mujtaba F PaprockiSpainIvan Magalhaes QUALIFIED
Mayumi B GauchoRussiaAnna Fali NEW
Ashley C MaletGermanyOnyama Limba NEW
Jefferson P MacleadArgentinaIvan Magalhaes UNQUALIFIED
Adams F WaycottCanadaIoni Bowcher NEGOTIATION
Munro Q WieserUnited KingdomBernardo Dominic RENEWAL
Rodrigues F FerenczJapanElwin Sharvill NEW
Misaki M MarrierCanadaIoni Bowcher RENEWAL
Greenwood K ShinkoRussiaIoni Bowcher QUALIFIED
Misaki P KolmetzRussiaIvan Magalhaes QUALIFIED
Rodrigues T WieserUnited KingdomElwin Sharvill UNQUALIFIED
Emily Y KuskoBrazilElwin Sharvill NEGOTIATION
Ashley N OldroydBrazilElwin Sharvill RENEWAL
Mayumi T InouyeUnited KingdomXuxue Feng UNQUALIFIED
Rodrigues N StensethBrazilAmy Elsner NEGOTIATION

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