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
Morrow J ShinkoAustraliaAnna Fali PROPOSAL
Darci E PoquetteItalyStephen Shaw QUALIFIED
Aruna C KolmetzGermanyAsiya Javayant QUALIFIED
Kadeem J DilliardArgentinaIoni Bowcher RENEWAL
Murillo T BriddickUnited KingdomStephen Shaw UNQUALIFIED
Ricardo H NickaFranceAnna Fali RENEWAL
Stacey M PerinSpainAsiya Javayant UNQUALIFIED
Wickens Z SergiArgentinaAmy Elsner QUALIFIED
Murillo Z CampainAustraliaStephen Shaw NEGOTIATION
Octavia Q WhobreyFranceAmy Elsner NEGOTIATION
Izzy I OldroydFranceIvan Magalhaes RENEWAL
Mayumi T FigeroaCanadaAnna Fali NEW
Aika H SchemmerSpainBernardo Dominic PROPOSAL
Adams K VocelkaBrazilAsiya Javayant NEW
Clifford H FigeroaIndiaXuxue Feng NEW
Kadeem P NickaSpainElwin Sharvill UNQUALIFIED
Deepesh N SchemmerArgentinaAnna Fali NEGOTIATION
Faith N AmigonJapanStephen Shaw NEW
Wickens V WieserCanadaAnna Fali UNQUALIFIED
Greenwood K ShinkoIndiaElwin Sharvill NEW
Chavez H RoysterAustraliaBernardo Dominic PROPOSAL
Claire E OstroskyIndiaElwin Sharvill QUALIFIED
Johnson G OstroskySpainElwin Sharvill RENEWAL
Murillo H StockhamCanadaAnna Fali QUALIFIED
Octavia G PaprockiJapanBernardo Dominic UNQUALIFIED
Misaki V PerinGermanyAnna Fali PROPOSAL
Cody P FigeroaIndiaAnna Fali QUALIFIED
Izzy O CampainRussiaBernardo Dominic PROPOSAL
Morrow T ChuiCanadaAmy Elsner NEGOTIATION
Aika Y MacleadJapanIoni Bowcher UNQUALIFIED
Maisha H AlbaresIndiaIoni Bowcher RENEWAL
Darci R SaylorsAustraliaElwin Sharvill NEW
Tony B RulapaughFranceBernardo Dominic UNQUALIFIED
Kadeem N WieserCanadaAnna Fali UNQUALIFIED
Munro K PoquetteIndiaElwin Sharvill QUALIFIED
Nicolas E MacleadAustraliaIvan Magalhaes NEGOTIATION
Cody E DilliardUnited KingdomStephen Shaw RENEWAL
Johnson H DilliardGermanyBernardo Dominic NEGOTIATION
Murillo U WhobreyUnited KingdomAmy Elsner NEW
Mujtaba S GauchoFranceAnna Fali PROPOSAL
Stacey B AmigonItalyBernardo Dominic PROPOSAL
Ivar C CampainCanadaIoni Bowcher NEGOTIATION
Mayumi L NickaGermanyOnyama Limba NEGOTIATION
Clifford L OldroydArgentinaBernardo Dominic RENEWAL
Johnson T PerinCanadaStephen Shaw UNQUALIFIED
Adams J FollerFranceIvan Magalhaes NEW
Ricardo A GlickArgentinaElwin Sharvill UNQUALIFIED
Ivar B GlickRussiaXuxue Feng NEGOTIATION
Deepesh M RimSpainAmy Elsner RENEWAL
Adams T SaylorsAustraliaAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Mujtaba R GarufiGermanyAsiya Javayant RENEWAL
Octavia J IturbideGermanyAmy Elsner PROPOSAL
Faith Z BowleyCanadaIvan Magalhaes NEW
Morrow E IturbideGermanyAsiya Javayant PROPOSAL
Arvin F IturbideItalyIoni Bowcher NEW
Isabel G TollnerCanadaElwin Sharvill QUALIFIED
Leja A MarrierSpainElwin Sharvill PROPOSAL
Ivar X CampainJapanIoni Bowcher UNQUALIFIED
Izzy V MarrierSpainStephen Shaw NEW
Rodrigues K SlusarskiBrazilAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford S SaylorsCanada2025-10-18Chanay, Jeffrey A Esq NEGOTIATION66Onyama Limba
1001Izzy L KuskoBrazil2025-10-11Feiner Bros QUALIFIED67Amy Elsner
1002Murillo I CampainIndia2025-10-15Dorl, James J Esq NEGOTIATION5Onyama Limba
1003Misaki N SlusarskiArgentina2025-10-13Rousseaux, Michael Esq PROPOSAL78Onyama Limba
1004Jefferson K MacleadBrazil2025-09-30Buckley Miller Wright PROPOSAL82Xuxue Feng
1005Munro P FigeroaGermany2025-10-09Truhlar And Truhlar Attys NEGOTIATION17Ivan Magalhaes
1006Sinclair W MarrierFrance2025-10-17Dorl, James J Esq PROPOSAL84Xuxue Feng
1007Octavia B OstroskyItaly2025-10-19King, Christopher A Esq QUALIFIED76Ioni Bowcher
1008Francesco D NestleItaly2025-10-18Rangoni Of Florence RENEWAL50Onyama Limba
1009Francesco N WhobreyGermany2025-10-07Morlong Associates NEGOTIATION94Ivan Magalhaes
1010Cody N NestleArgentina2025-10-03Chemel, James L Cpa NEW82Stephen Shaw
1011Ivar E PerinBrazil2025-10-20Feiner Bros NEGOTIATION96Ivan Magalhaes
1012Izzy U SaylorsArgentina2025-10-10King, Christopher A Esq QUALIFIED9Onyama Limba
1013Ivar W AlbaresArgentina2025-10-04Printing Dimensions RENEWAL82Bernardo Dominic
1014Murillo W RoysterItaly2025-09-23Rangoni Of Florence UNQUALIFIED85Onyama Limba
1015Claire R GillianGermany2025-10-20Truhlar And Truhlar Attys UNQUALIFIED53Amy Elsner
1016Claire J NestleSpain2025-09-22Commercial Press QUALIFIED83Onyama Limba
1017Chavez J ButtGermany2025-10-06Feiner Bros NEGOTIATION79Ivan Magalhaes
1018David B ButtGermany2025-10-12Chemel, James L Cpa PROPOSAL18Asiya Javayant
1019Francesco R PaprockiSpain2025-09-27Buckley Miller Wright UNQUALIFIED57Ioni Bowcher
1020Stacey I TollnerBrazil2025-09-28Feltz Printing Service UNQUALIFIED46Bernardo Dominic
1021Misaki K RoysterIndia2025-10-01Commercial Press UNQUALIFIED6Onyama Limba
1022Emily G GlickAustralia2025-10-14Printing Dimensions PROPOSAL83Elwin Sharvill
1023Leja H FerenczIndia2025-09-23Buckley Miller Wright UNQUALIFIED9Anna Fali
1024Salvatore I OstroskySpain2025-09-29Feiner Bros NEGOTIATION28Onyama Limba
1025Maria L BriddickArgentina2025-10-01Chanay, Jeffrey A Esq RENEWAL16Onyama Limba
1026David P BowleyGermany2025-10-14Commercial Press NEW35Elwin Sharvill
1027Alejandro N WhobreyIndia2025-09-26Chanay, Jeffrey A Esq PROPOSAL9Ioni Bowcher
1028Alejandro K VenereRussia2025-10-01Truhlar And Truhlar Attys UNQUALIFIED66Xuxue Feng
1029Aditya F MaletArgentina2025-09-25Feiner Bros NEW67Amy Elsner
1030Ricardo W StockhamItaly2025-10-12Commercial Press QUALIFIED84Ivan Magalhaes
1031Smith V PoquetteJapan2025-10-11Truhlar And Truhlar Attys UNQUALIFIED11Onyama Limba
1032Stacey I DarakjyFrance2025-10-12Commercial Press UNQUALIFIED29Asiya Javayant
1033Cody Z CaldareraArgentina2025-10-18King, Christopher A Esq PROPOSAL58Bernardo Dominic
1034Arvin O RutaJapan2025-10-20Truhlar And Truhlar Attys RENEWAL28Onyama Limba
1035James D MaletArgentina2025-10-01Chanay, Jeffrey A Esq RENEWAL74Bernardo Dominic
1036Silvio W NickaSpain2025-10-15Feltz Printing Service NEGOTIATION14Ioni Bowcher
1037James O OstroskyIndia2025-10-15Benton, John B Jr NEGOTIATION68Amy Elsner
1038Aditya G InouyeUnited Kingdom2025-09-22Feiner Bros UNQUALIFIED56Asiya Javayant
1039Costa Q AlbaresItaly2025-09-27King, Christopher A Esq NEW86Xuxue Feng
1040Rodrigues M NickaFrance2025-10-09Printing Dimensions NEW71Anna Fali
1041Chavez W AlbaresGermany2025-09-22Morlong Associates RENEWAL42Xuxue Feng
1042Arvin U AmigonFrance2025-10-05Feiner Bros NEW16Anna Fali
1043Silvio R SergiGermany2025-10-18Chanay, Jeffrey A Esq UNQUALIFIED12Amy Elsner
1044Chavez I WhobreyRussia2025-09-30Feiner Bros QUALIFIED52Bernardo Dominic
1045Greenwood F PoquetteRussia2025-10-14Dorl, James J Esq QUALIFIED81Anna Fali
1046Juan Z FigeroaUnited Kingdom2025-10-05King, Christopher A Esq RENEWAL78Asiya Javayant
1047Juan K BriddickBrazil2025-10-13Printing Dimensions NEGOTIATION18Ioni Bowcher
1048Isabel F GauchoJapan2025-09-29King, Christopher A Esq PROPOSAL4Ivan Magalhaes
1049Julie M FlosiItaly2025-10-15King, Christopher A Esq PROPOSAL99Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Tony E GauchoRussiaIvan Magalhaes QUALIFIED
Clifford Z GillianIndiaIvan Magalhaes PROPOSAL
Mayumi R GillianItalyOnyama Limba PROPOSAL
Sinclair L DoeFranceXuxue Feng PROPOSAL
Jennifer H FerenczArgentinaAnna Fali NEGOTIATION
Clifford P VocelkaRussiaIvan Magalhaes RENEWAL
Jefferson J WieserIndiaAmy Elsner QUALIFIED
Jones S BriddickUnited KingdomAsiya Javayant PROPOSAL
Misaki O PaprockiGermanyAnna Fali NEW
Darci R KolmetzGermanyElwin Sharvill UNQUALIFIED
Adams I MaletItalyStephen Shaw NEGOTIATION
Ricardo K OldroydItalyIoni Bowcher UNQUALIFIED
Rodrigues A CaldareraJapanAnna Fali NEW
Adams Q RimUnited KingdomBernardo Dominic PROPOSAL
Mayumi N FollerBrazilStephen Shaw NEW
Cody S MaletAustraliaIvan Magalhaes UNQUALIFIED
Kaitlin L PoquetteIndiaStephen Shaw NEGOTIATION
David L MorascaSpainAnna Fali NEGOTIATION
Maria W GauchoAustraliaOnyama Limba NEW
Ashley H RoysterIndiaIoni Bowcher QUALIFIED
Chavez B RutaAustraliaAsiya Javayant PROPOSAL
Wickens M GlickRussiaAsiya Javayant UNQUALIFIED
James L FerenczCanadaAsiya Javayant NEGOTIATION
Juan J GauchoBrazilXuxue Feng NEW
Jennifer L AlbaresFranceAsiya Javayant RENEWAL
Juan T PaprockiBrazilAnna Fali NEGOTIATION
Ivar V FerenczFranceAmy Elsner NEGOTIATION
Nicolas M CampainItalyIoni Bowcher NEW
Aruna J RutaAustraliaAmy Elsner UNQUALIFIED
Silvio V WieserBrazilXuxue Feng RENEWAL
Deepesh R AmigonCanadaAnna Fali RENEWAL
Leja D IturbideIndiaAnna Fali QUALIFIED
Deepesh J DarakjyRussiaAnna Fali UNQUALIFIED
Isabel K DarakjyRussiaAsiya Javayant QUALIFIED
Jeanfrancois Q InouyeUnited KingdomIvan Magalhaes NEGOTIATION
Arvin F OstroskyRussiaAsiya Javayant QUALIFIED
Leja O GarufiIndiaIvan Magalhaes PROPOSAL
Alejandro Z FigeroaSpainIvan Magalhaes NEW
Jeanfrancois J KolmetzSpainIvan Magalhaes NEW
Jefferson C SaylorsAustraliaXuxue Feng QUALIFIED
Ricardo X MaletArgentinaAsiya Javayant PROPOSAL
Ivar N AlbaresFranceBernardo Dominic NEW
Morrow R ShinkoRussiaXuxue Feng PROPOSAL
Salvatore M NickaGermanyIoni Bowcher RENEWAL
Stacey G PaprockiRussiaStephen Shaw PROPOSAL
Rodrigues Q MorascaArgentinaAnna Fali NEGOTIATION
David N CaudyUnited KingdomStephen Shaw PROPOSAL
Chavez R OldroydJapanBernardo Dominic NEW
Maria T AlbaresGermanyBernardo Dominic RENEWAL
Chavez F ButtAustraliaAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Jeanfrancois F Slusarski
Deepesh A Campain
Izzy W Caudy
Ivar J Kusko
Octavia C Poquette
Emily B Inouye
James P Malet
David D Nicka
Kaitlin S Perin
Silvio V Doe
Ricardo N Stenseth
Leja S Caldarera
James T Sergi
Clifford C Malet
Silvio H Venere
Kadeem K Campain
Salvatore P Saylors
Chavez M Stockham
Mayumi J Malet
Misaki L Tollner
Aditya L Malet
Costa T Stockham
Mujtaba R Poquette
Maisha R Flosi
Ashley F Malet
Deepesh M Ruta
Jeanfrancois S Stenseth
Morrow L Maclead
Jeanfrancois M Figeroa
Munro J Stockham
Silvio S Stenseth
Adams H Sergi
Jones H Schemmer
Arvin Y Nicka
Salvatore G Oldroyd
Kadeem I Glick
Costa Y Morasca
Nicolas G Schemmer
Ivar H Shinko
Sinclair W Iturbide
Johnson F Perin
Jefferson D Chui
Maria L Waycott
Mujtaba K Rim
Cody Z Whobrey
Ashley L Darakjy
Antonio G Amigon
Aruna W Amigon
Clifford E Whobrey
David K Malet
IdCountryDate
1000Russia2025-10-07
1001France2025-10-11
1002Italy2025-10-07
1003Australia2025-10-07
1004Australia2025-09-21
1005France2025-09-24
1006Brazil2025-10-08
1007Russia2025-10-06
1008Canada2025-10-08
1009Russia2025-10-07
1010Australia2025-09-22
1011Spain2025-10-20
1012United Kingdom2025-10-04
1013Spain2025-10-20
1014Italy2025-10-14
1015Japan2025-09-26
1016Brazil2025-10-01
1017Japan2025-10-01
1018Russia2025-10-19
1019Argentina2025-10-03
1020Canada2025-10-11
1021India2025-10-15
1022France2025-10-11
1023Canada2025-10-19
1024Italy2025-09-27
1025France2025-10-04
1026Australia2025-10-19
1027Canada2025-10-14
1028Canada2025-09-23
1029Japan2025-09-21
1030Italy2025-10-12
1031Australia2025-10-18
1032Canada2025-10-07
1033France2025-10-18
1034United Kingdom2025-09-23
1035United Kingdom2025-10-16
1036Brazil2025-10-01
1037United Kingdom2025-10-19
1038Argentina2025-10-09
1039Spain2025-09-29
1040Australia2025-10-02
1041Italy2025-09-22
1042United Kingdom2025-10-05
1043Germany2025-10-19
1044India2025-09-27
1045United Kingdom2025-09-30
1046United Kingdom2025-10-10
1047India2025-10-08
1048United Kingdom2025-09-21
1049Spain2025-10-12

On-Demand Data

NameIdCountryDate
Maisha U Vocelka1000United Kingdom2025-10-19
Murillo R Stockham1001United Kingdom2025-10-16
Nicolas L Wieser1002Germany2025-10-01
Costa M Caldarera1003Germany2025-10-08
Smith X Schemmer1004India2025-10-03
Ivar V Venere1005Australia2025-10-18
Antonio M Tollner1006India2025-10-03
Jefferson T Figeroa1007Argentina2025-09-23
Cody V Briddick1008Brazil2025-10-17
Claire W Paprocki1009United Kingdom2025-10-17
Maria X Amigon1010Spain2025-10-02
Octavia Q Gaucho1011Brazil2025-10-04
Darci B Venere1012India2025-10-20
Sinclair H Garufi1013Canada2025-09-25
James L Caudy1014India2025-09-30
Izzy R Campain1015Australia2025-09-22
Antonio Z Briddick1016France2025-10-19
Faith A Inouye1017Germany2025-10-09
Wickens D Ruta1018Canada2025-10-18
Adams B Saylors1019Argentina2025-10-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna D FollerGermanyBernardo Dominic UNQUALIFIED
Salvatore N VocelkaItalyAnna Fali NEW
Rodrigues K StensethUnited KingdomIoni Bowcher PROPOSAL
Clifford D CaldareraIndiaAnna Fali QUALIFIED
Arvin N MacleadAustraliaAmy Elsner QUALIFIED
Mujtaba K KolmetzFranceAmy Elsner QUALIFIED
Ashley V AlbaresJapanIoni Bowcher PROPOSAL
Faith N AmigonItalyIoni Bowcher PROPOSAL
Mayumi I InouyeArgentinaIoni Bowcher NEW
Julie T SchemmerGermanyAmy Elsner NEGOTIATION
Munro H PerinFranceAsiya Javayant NEW
Tony L VocelkaJapanXuxue Feng QUALIFIED
Francesco P ButtCanadaElwin Sharvill QUALIFIED
Greenwood G FigeroaArgentinaBernardo Dominic QUALIFIED
Deepesh H InouyeJapanOnyama Limba QUALIFIED
Munro G GillianSpainAnna Fali NEGOTIATION
Kadeem X BriddickUnited KingdomIvan Magalhaes PROPOSAL
Leja S StockhamGermanyElwin Sharvill NEW
Cody Z SaylorsAustraliaAmy Elsner NEGOTIATION
David T CaldareraFranceOnyama Limba UNQUALIFIED
Johnson K CaudyGermanyOnyama Limba NEW
Jones A MaletItalyAnna Fali UNQUALIFIED
Adams E GlickFranceIvan Magalhaes UNQUALIFIED
Maisha M AmigonAustraliaBernardo Dominic QUALIFIED
Ricardo D IturbideUnited KingdomXuxue Feng UNQUALIFIED
Salvatore X GauchoCanadaOnyama Limba NEW
Kadeem S MorascaAustraliaAsiya Javayant NEGOTIATION
Cody Y CampainItalyElwin Sharvill PROPOSAL
Kadeem C FollerItalyBernardo Dominic NEW
Stacey J PoquetteSpainElwin Sharvill RENEWAL
Maria F SlusarskiRussiaXuxue Feng NEW
Aruna T SchemmerGermanyOnyama Limba QUALIFIED
Octavia B MorascaRussiaElwin Sharvill NEGOTIATION
Octavia N WieserIndiaBernardo Dominic PROPOSAL
Adams O PerinFranceAnna Fali NEGOTIATION
Octavia W NestleAustraliaBernardo Dominic NEGOTIATION
Sinclair U AmigonSpainAmy Elsner PROPOSAL
Johnson S RutaFranceStephen Shaw NEW
Stacey Q BologniaBrazilAnna Fali PROPOSAL
Murillo V GillianSpainOnyama Limba 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>