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
Jennifer P SergiRussiaIoni Bowcher PROPOSAL
Izzy K FerenczSpainStephen Shaw UNQUALIFIED
Cody T ShinkoFranceStephen Shaw NEW
Rodrigues A FollerItalyAnna Fali PROPOSAL
Stacey G FlosiFranceAsiya Javayant RENEWAL
Aika W GarufiIndiaAnna Fali RENEWAL
Wickens R FigeroaIndiaXuxue Feng NEW
Ricardo L StensethBrazilBernardo Dominic PROPOSAL
Alejandro G CaudyCanadaStephen Shaw NEW
Greenwood U VenereGermanyOnyama Limba NEW
Greenwood N DilliardRussiaStephen Shaw UNQUALIFIED
Kaitlin D StensethRussiaIoni Bowcher QUALIFIED
Stacey I VocelkaSpainAnna Fali NEGOTIATION
Misaki T WieserAustraliaStephen Shaw QUALIFIED
Julie C StockhamJapanElwin Sharvill NEGOTIATION
Julie O PaprockiCanadaStephen Shaw UNQUALIFIED
Silvio U PoquetteItalyXuxue Feng QUALIFIED
Jennifer D MaletJapanAsiya Javayant NEW
Salvatore N BriddickFranceElwin Sharvill UNQUALIFIED
Jennifer P IturbideRussiaOnyama Limba QUALIFIED
Juan A StensethRussiaIoni Bowcher QUALIFIED
Octavia B AlbaresItalyAsiya Javayant PROPOSAL
Izzy V AlbaresArgentinaAsiya Javayant QUALIFIED
Sinclair A CaudyIndiaIvan Magalhaes PROPOSAL
Juan D SaylorsGermanyElwin Sharvill NEW
Kadeem I RimUnited KingdomOnyama Limba UNQUALIFIED
Jeanfrancois N NickaUnited KingdomStephen Shaw RENEWAL
Isabel R ButtFranceXuxue Feng RENEWAL
Leon B FerenczJapanXuxue Feng UNQUALIFIED
Greenwood Z BologniaFranceElwin Sharvill PROPOSAL
Jennifer E BriddickRussiaOnyama Limba RENEWAL
Mayumi N BowleyFranceAmy Elsner QUALIFIED
James Q SaylorsIndiaOnyama Limba PROPOSAL
Nicolas F WhobreyGermanyOnyama Limba PROPOSAL
Salvatore L ShinkoCanadaIvan Magalhaes NEGOTIATION
Darci M StensethBrazilAnna Fali UNQUALIFIED
Wickens K ShinkoSpainBernardo Dominic UNQUALIFIED
Jeanfrancois V WieserRussiaAmy Elsner PROPOSAL
Jefferson X MacleadFranceAsiya Javayant PROPOSAL
Johnson I RulapaughBrazilIvan Magalhaes NEGOTIATION
Darci J GlickJapanAsiya Javayant UNQUALIFIED
Maria N RutaIndiaStephen Shaw PROPOSAL
Deepesh M WaycottRussiaIoni Bowcher PROPOSAL
Murillo C ShinkoRussiaXuxue Feng NEGOTIATION
Julie K GlickArgentinaIvan Magalhaes NEGOTIATION
Kadeem V WhobreyCanadaBernardo Dominic UNQUALIFIED
Smith G KolmetzBrazilStephen Shaw NEW
Nicolas R SlusarskiFranceAsiya Javayant RENEWAL
Mayumi M BriddickUnited KingdomIvan Magalhaes RENEWAL
Morrow I IturbideAustraliaBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Julie I GillianAustraliaAnna Fali NEW
Munro O GarufiBrazilAmy Elsner QUALIFIED
Aruna S FigeroaJapanBernardo Dominic NEGOTIATION
Clifford P NickaItalyStephen Shaw RENEWAL
Octavia K FigeroaRussiaIvan Magalhaes PROPOSAL
Nicolas V BologniaArgentinaElwin Sharvill NEW
Costa J DarakjyBrazilIoni Bowcher UNQUALIFIED
David P GauchoRussiaAmy Elsner NEW
Claire P GillianCanadaAnna Fali NEW
Juan Z ButtUnited KingdomXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aditya Q PerinArgentina2025-10-18Feiner Bros QUALIFIED25Bernardo Dominic
1001Jones O StockhamRussia2025-10-18Feltz Printing Service NEGOTIATION47Anna Fali
1002Alejandro V SergiGermany2025-10-11Rangoni Of Florence UNQUALIFIED30Amy Elsner
1003Jefferson F GlickCanada2025-09-26Rangoni Of Florence PROPOSAL27Ivan Magalhaes
1004Stacey T KuskoCanada2025-10-19Chemel, James L Cpa PROPOSAL37Elwin Sharvill
1005Johnson B MarrierBrazil2025-09-21Rousseaux, Michael Esq PROPOSAL88Elwin Sharvill
1006Silvio I MacleadRussia2025-10-10Benton, John B Jr QUALIFIED9Elwin Sharvill
1007Ivar M SaylorsSpain2025-10-18Buckley Miller Wright QUALIFIED81Onyama Limba
1008Sinclair L KuskoAustralia2025-10-14Morlong Associates UNQUALIFIED98Ioni Bowcher
1009Isabel H FerenczUnited Kingdom2025-10-14Chanay, Jeffrey A Esq NEW52Asiya Javayant
1010James E MaletBrazil2025-10-15Commercial Press PROPOSAL11Ioni Bowcher
1011Antonio I VocelkaAustralia2025-09-22Dorl, James J Esq NEGOTIATION98Asiya Javayant
1012Maria J DarakjyCanada2025-10-06Rousseaux, Michael Esq UNQUALIFIED86Bernardo Dominic
1013Octavia N GarufiUnited Kingdom2025-10-12Chapman, Ross E Esq QUALIFIED7Ioni Bowcher
1014Juan F SaylorsSpain2025-09-20Truhlar And Truhlar Attys NEW95Bernardo Dominic
1015Salvatore V NestleIndia2025-09-20Chanay, Jeffrey A Esq NEW15Stephen Shaw
1016Julie I MorascaSpain2025-10-12Chanay, Jeffrey A Esq QUALIFIED7Amy Elsner
1017Salvatore L GillianItaly2025-09-30Morlong Associates QUALIFIED75Onyama Limba
1018Morrow M KuskoAustralia2025-10-18Chanay, Jeffrey A Esq UNQUALIFIED25Onyama Limba
1019Johnson Q RutaFrance2025-10-19Printing Dimensions NEW9Amy Elsner
1020Morrow H RimItaly2025-10-04King, Christopher A Esq RENEWAL35Elwin Sharvill
1021Juan V StockhamRussia2025-10-01Buckley Miller Wright UNQUALIFIED17Ioni Bowcher
1022Isabel H GauchoUnited Kingdom2025-09-20Dorl, James J Esq PROPOSAL85Onyama Limba
1023Faith F MorascaSpain2025-10-04Rousseaux, Michael Esq RENEWAL78Onyama Limba
1024Stacey U WhobreyGermany2025-09-27Benton, John B Jr NEW14Bernardo Dominic
1025Arvin C OstroskyFrance2025-10-12Rousseaux, Michael Esq NEW25Elwin Sharvill
1026Sinclair L FigeroaSpain2025-10-12Feltz Printing Service RENEWAL19Ioni Bowcher
1027Emily Q BologniaItaly2025-10-08Dorl, James J Esq NEW28Elwin Sharvill
1028Julie F InouyeGermany2025-09-26Chemel, James L Cpa UNQUALIFIED88Onyama Limba
1029Izzy O WhobreyCanada2025-10-02Truhlar And Truhlar Attys NEGOTIATION65Stephen Shaw
1030Stacey P CampainSpain2025-09-26Feiner Bros RENEWAL52Elwin Sharvill
1031Kadeem I MacleadUnited Kingdom2025-09-26Rangoni Of Florence NEGOTIATION59Onyama Limba
1032Cody R ButtUnited Kingdom2025-10-13Truhlar And Truhlar Attys PROPOSAL20Amy Elsner
1033Aruna G RoysterIndia2025-09-27Benton, John B Jr NEW11Elwin Sharvill
1034Leja V OldroydAustralia2025-10-11Morlong Associates PROPOSAL86Stephen Shaw
1035Ricardo Z CaudyAustralia2025-10-05Rousseaux, Michael Esq NEW32Elwin Sharvill
1036Salvatore Q RimItaly2025-10-17Buckley Miller Wright NEW89Ioni Bowcher
1037Mujtaba M MaletArgentina2025-10-03Rangoni Of Florence QUALIFIED93Ivan Magalhaes
1038Sinclair H MarrierRussia2025-10-05Rangoni Of Florence PROPOSAL28Ioni Bowcher
1039Wickens A AlbaresArgentina2025-10-05Morlong Associates NEW0Bernardo Dominic
1040Aditya W RimAustralia2025-09-24Chapman, Ross E Esq RENEWAL19Ivan Magalhaes
1041Wickens M PerinItaly2025-09-27Chanay, Jeffrey A Esq PROPOSAL48Stephen Shaw
1042Isabel B MarrierBrazil2025-10-01Benton, John B Jr QUALIFIED98Amy Elsner
1043Jennifer U OldroydJapan2025-09-29Dorl, James J Esq NEGOTIATION12Asiya Javayant
1044Chavez O FigeroaUnited Kingdom2025-09-28Chapman, Ross E Esq NEW52Anna Fali
1045David E PoquetteIndia2025-10-16Commercial Press NEGOTIATION71Onyama Limba
1046Munro P SlusarskiRussia2025-10-08Dorl, James J Esq UNQUALIFIED60Elwin Sharvill
1047Claire A ChuiGermany2025-09-23Chapman, Ross E Esq UNQUALIFIED10Amy Elsner
1048Izzy H GillianArgentina2025-09-22King, Christopher A Esq NEGOTIATION95Elwin Sharvill
1049Aditya S CaldareraIndia2025-09-24Chapman, Ross E Esq RENEWAL20Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Maria G KolmetzGermanyXuxue Feng PROPOSAL
Costa Q CaldareraRussiaAnna Fali NEW
James B ShinkoRussiaIoni Bowcher RENEWAL
Mayumi J KolmetzArgentinaAsiya Javayant QUALIFIED
Stacey D MarrierRussiaStephen Shaw PROPOSAL
Jennifer X GauchoJapanStephen Shaw UNQUALIFIED
Jefferson D CaudyJapanOnyama Limba UNQUALIFIED
Mayumi J SchemmerItalyElwin Sharvill NEW
Nicolas N RutaBrazilIoni Bowcher NEW
Sinclair T SaylorsArgentinaAsiya Javayant RENEWAL
James H NickaSpainElwin Sharvill UNQUALIFIED
Alejandro N IturbideAustraliaXuxue Feng NEW
Munro P WieserItalyOnyama Limba NEGOTIATION
Kadeem X SlusarskiArgentinaXuxue Feng QUALIFIED
David V GarufiIndiaAsiya Javayant QUALIFIED
Emily D ChuiJapanAsiya Javayant RENEWAL
Misaki S DoeGermanyBernardo Dominic NEW
Stacey W VenereBrazilAsiya Javayant NEGOTIATION
Salvatore H AmigonSpainOnyama Limba RENEWAL
Munro O FlosiItalyBernardo Dominic QUALIFIED
Sinclair E SergiCanadaIvan Magalhaes NEW
Murillo H SchemmerItalyElwin Sharvill PROPOSAL
Juan J MaletRussiaOnyama Limba PROPOSAL
Jeanfrancois H WieserRussiaIvan Magalhaes QUALIFIED
Faith E DarakjyRussiaStephen Shaw NEW
David M VenereCanadaElwin Sharvill PROPOSAL
Claire G CaudyItalyXuxue Feng UNQUALIFIED
Jones A AlbaresUnited KingdomXuxue Feng NEW
Tony G SaylorsUnited KingdomOnyama Limba PROPOSAL
David Z DilliardIndiaOnyama Limba NEW
Octavia Q KuskoSpainIoni Bowcher PROPOSAL
Munro N SaylorsCanadaElwin Sharvill NEGOTIATION
Faith A StensethBrazilXuxue Feng RENEWAL
Chavez K VocelkaRussiaBernardo Dominic PROPOSAL
Ricardo X PaprockiItalyElwin Sharvill NEW
Leja O SaylorsArgentinaAmy Elsner NEGOTIATION
Mujtaba D CampainGermanyBernardo Dominic RENEWAL
Salvatore F DarakjyArgentinaIvan Magalhaes UNQUALIFIED
Octavia G GauchoJapanXuxue Feng RENEWAL
Nicolas P WieserJapanAnna Fali UNQUALIFIED
Johnson T SergiItalyElwin Sharvill NEW
Adams T SergiAustraliaElwin Sharvill QUALIFIED
Faith Z NickaFranceAsiya Javayant RENEWAL
James U DarakjyFranceStephen Shaw UNQUALIFIED
Jefferson F GlickCanadaStephen Shaw NEW
Darci A VocelkaJapanOnyama Limba PROPOSAL
Nicolas S ChuiArgentinaElwin Sharvill RENEWAL
Nicolas W MorascaIndiaAsiya Javayant PROPOSAL
Leon W RutaSpainXuxue Feng PROPOSAL
Ivar O PoquetteSpainElwin Sharvill PROPOSAL
Frozen Columns
Name
Chavez G Nestle
Claire E Gaucho
James S Marrier
Misaki Z Paprocki
Smith T Wieser
Munro R Gaucho
Ashley I Vocelka
Faith F Foller
Francesco U Oldroyd
Octavia T Doe
Maisha U Foller
Julie W Saylors
Mujtaba R Malet
Nicolas A Caldarera
Rodrigues J Whobrey
Morrow Y Stockham
Francesco I Stockham
Munro N Malet
Morrow L Vocelka
David Q Paprocki
Clifford O Stockham
Antonio E Amigon
Alejandro I Campain
Izzy R Wieser
Rodrigues Y Venere
Murillo H Maclead
Mujtaba Z Tollner
David N Amigon
Greenwood E Tollner
Arvin S Figeroa
Jones T Darakjy
Jennifer R Kolmetz
Leon L Nestle
Francesco E Venere
Emily L Wieser
Leon F Foller
Sinclair S Sergi
Jeanfrancois X Paprocki
Ashley Q Bowley
Rodrigues Q Dilliard
Arvin K Paprocki
Johnson B Oldroyd
Emily O Doe
Maisha Q Caldarera
Jefferson S Glick
Rodrigues Y Kusko
Ricardo M Shinko
Claire W Perin
Morrow F Stenseth
Isabel U Flosi
IdCountryDate
1000Australia2025-09-30
1001Germany2025-10-10
1002Germany2025-09-22
1003Spain2025-10-17
1004Brazil2025-09-25
1005Russia2025-09-27
1006Canada2025-09-29
1007Brazil2025-09-23
1008Argentina2025-09-23
1009United Kingdom2025-09-29
1010India2025-10-17
1011Canada2025-10-08
1012United Kingdom2025-10-06
1013Spain2025-10-08
1014India2025-09-21
1015United Kingdom2025-09-25
1016Australia2025-10-19
1017Argentina2025-09-21
1018Australia2025-10-07
1019France2025-10-04
1020Germany2025-10-13
1021India2025-09-25
1022Russia2025-10-11
1023Russia2025-10-02
1024Canada2025-10-16
1025Canada2025-10-04
1026Russia2025-09-22
1027United Kingdom2025-10-06
1028India2025-09-28
1029France2025-10-14
1030Italy2025-10-02
1031Canada2025-09-21
1032Spain2025-10-13
1033Australia2025-09-25
1034Italy2025-10-10
1035Brazil2025-10-01
1036India2025-09-26
1037Japan2025-10-02
1038Russia2025-10-09
1039Spain2025-10-17
1040France2025-10-08
1041Argentina2025-10-04
1042Argentina2025-10-11
1043Japan2025-10-17
1044Spain2025-10-08
1045Russia2025-10-03
1046Japan2025-09-24
1047Japan2025-10-07
1048United Kingdom2025-10-04
1049Australia2025-09-29

On-Demand Data

NameIdCountryDate
Antonio K Malet1000Spain2025-09-24
Mujtaba U Ferencz1001India2025-10-16
Faith N Schemmer1002India2025-10-04
Isabel N Perin1003United Kingdom2025-10-03
Juan K Morasca1004France2025-10-08
Kadeem Z Nestle1005India2025-10-15
Clifford Z Figeroa1006Germany2025-09-22
Antonio K Caldarera1007Spain2025-09-20
Jones S Tollner1008Russia2025-10-01
James P Gillian1009United Kingdom2025-09-24
Maisha M Saylors1010Brazil2025-10-08
Mujtaba K Rulapaugh1011Italy2025-10-03
Rodrigues M Wieser1012United Kingdom2025-10-03
Mayumi P Nicka1013Germany2025-10-02
Emily S Whobrey1014United Kingdom2025-10-09
Ricardo R Paprocki1015Italy2025-09-25
Misaki K Poquette1016Russia2025-10-02
Ashley C Rulapaugh1017Russia2025-10-10
Mayumi A Foller1018Canada2025-10-18
Tony T Doe1019France2025-09-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer H MacleadCanadaStephen Shaw UNQUALIFIED
Costa E BologniaSpainAsiya Javayant PROPOSAL
Silvio R RutaArgentinaBernardo Dominic UNQUALIFIED
Ivar J SergiSpainAmy Elsner PROPOSAL
Mayumi L PaprockiGermanyOnyama Limba PROPOSAL
Aruna S AlbaresBrazilOnyama Limba RENEWAL
Kadeem T RimAustraliaXuxue Feng QUALIFIED
Rodrigues X GauchoJapanAsiya Javayant RENEWAL
Faith F MaletGermanyIoni Bowcher QUALIFIED
Aruna O MorascaCanadaElwin Sharvill UNQUALIFIED
Tony B ButtUnited KingdomOnyama Limba RENEWAL
Salvatore I OldroydAustraliaIoni Bowcher NEW
Antonio F KolmetzArgentinaXuxue Feng QUALIFIED
Jeanfrancois I WieserSpainBernardo Dominic NEGOTIATION
Misaki K NestleRussiaXuxue Feng NEGOTIATION
Salvatore U DilliardBrazilAnna Fali PROPOSAL
Salvatore M WieserGermanyIvan Magalhaes NEW
Adams F ChuiFranceAnna Fali RENEWAL
Leon V GlickItalyElwin Sharvill RENEWAL
Octavia N StockhamJapanBernardo Dominic PROPOSAL
Adams S BowleyFranceAmy Elsner UNQUALIFIED
Ashley I BriddickItalyAsiya Javayant NEW
Johnson P KuskoArgentinaBernardo Dominic UNQUALIFIED
Ivar Z SlusarskiBrazilStephen Shaw UNQUALIFIED
Leon C DoeUnited KingdomAnna Fali UNQUALIFIED
Isabel C SaylorsArgentinaStephen Shaw QUALIFIED
Johnson A BowleyIndiaAnna Fali NEGOTIATION
Jones X GarufiFranceAsiya Javayant NEW
Costa J BriddickIndiaOnyama Limba PROPOSAL
Misaki R MaletBrazilAsiya Javayant NEW
Jones P PaprockiArgentinaAsiya Javayant RENEWAL
Stacey K AlbaresItalyOnyama Limba NEW
Ashley R WhobreyAustraliaXuxue Feng NEW
Chavez W ButtRussiaStephen Shaw NEW
David C RimBrazilElwin Sharvill NEW
Arvin X StockhamBrazilAnna Fali QUALIFIED
Smith C ChuiSpainElwin Sharvill NEW
Jones V PaprockiRussiaAnna Fali PROPOSAL
Izzy N PerinItalyOnyama Limba PROPOSAL
Munro R RulapaughRussiaElwin Sharvill 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>