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
Cody O PaprockiItalyAsiya Javayant UNQUALIFIED
Alejandro Y PoquetteRussiaAnna Fali NEGOTIATION
Nicolas Z GarufiJapanIoni Bowcher QUALIFIED
Murillo K AmigonCanadaOnyama Limba NEW
Ricardo Y FlosiUnited KingdomAmy Elsner PROPOSAL
Smith M BologniaRussiaXuxue Feng QUALIFIED
Ashley J PaprockiUnited KingdomElwin Sharvill UNQUALIFIED
Mujtaba C DoeSpainXuxue Feng NEW
Misaki I AmigonFranceElwin Sharvill PROPOSAL
Kadeem N ShinkoBrazilIoni Bowcher RENEWAL
Leon K OstroskyRussiaElwin Sharvill PROPOSAL
Deepesh C AlbaresItalyIvan Magalhaes PROPOSAL
Alejandro O RimArgentinaOnyama Limba PROPOSAL
Antonio H ButtRussiaStephen Shaw NEW
Octavia D DilliardArgentinaIvan Magalhaes NEW
Murillo B ShinkoJapanAnna Fali RENEWAL
Mujtaba M SlusarskiJapanStephen Shaw PROPOSAL
Mayumi U FigeroaBrazilIoni Bowcher PROPOSAL
Aika W RulapaughRussiaAnna Fali NEGOTIATION
Johnson X KuskoIndiaAsiya Javayant NEGOTIATION
Isabel H CaldareraAustraliaOnyama Limba NEW
Octavia W WieserBrazilElwin Sharvill UNQUALIFIED
Ivar Y MaletBrazilAsiya Javayant NEGOTIATION
Isabel L GillianFranceBernardo Dominic QUALIFIED
Costa J PerinGermanyBernardo Dominic UNQUALIFIED
Emily S GillianAustraliaIvan Magalhaes UNQUALIFIED
Aditya J NickaCanadaStephen Shaw NEW
Ricardo Y SaylorsRussiaAsiya Javayant NEW
David L DoeItalyAmy Elsner UNQUALIFIED
Emily K IturbideUnited KingdomXuxue Feng PROPOSAL
Ashley W RimFranceIvan Magalhaes NEGOTIATION
Salvatore D NickaBrazilXuxue Feng NEGOTIATION
Aditya V WhobreyArgentinaBernardo Dominic UNQUALIFIED
Adams A SergiJapanIvan Magalhaes RENEWAL
Aika W TollnerBrazilOnyama Limba QUALIFIED
David V SergiArgentinaOnyama Limba QUALIFIED
Costa H ChuiAustraliaAsiya Javayant RENEWAL
Mujtaba P WaycottArgentinaXuxue Feng QUALIFIED
Aika U WaycottUnited KingdomAsiya Javayant NEW
Cody L FollerCanadaStephen Shaw NEW
James R KuskoUnited KingdomElwin Sharvill PROPOSAL
Stacey T DarakjyRussiaIvan Magalhaes NEW
Arvin N RoysterCanadaIoni Bowcher NEW
Maria U ChuiCanadaAsiya Javayant QUALIFIED
Greenwood D SlusarskiArgentinaBernardo Dominic NEW
Johnson P ShinkoCanadaOnyama Limba UNQUALIFIED
Deepesh M OldroydRussiaBernardo Dominic PROPOSAL
Ricardo J PerinCanadaAnna Fali NEGOTIATION
Salvatore L BologniaIndiaStephen Shaw NEGOTIATION
Murillo Y RulapaughRussiaAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ivar R FigeroaFranceStephen Shaw UNQUALIFIED
Munro H SergiFranceIoni Bowcher NEGOTIATION
Chavez J WhobreyJapanAsiya Javayant RENEWAL
Chavez G MacleadJapanStephen Shaw UNQUALIFIED
Isabel B PoquetteRussiaAmy Elsner UNQUALIFIED
Ricardo N AlbaresGermanyIvan Magalhaes RENEWAL
Costa P AmigonRussiaBernardo Dominic NEGOTIATION
Kaitlin G AmigonGermanyOnyama Limba NEW
Izzy V BowleyUnited KingdomElwin Sharvill RENEWAL
Rodrigues M NickaJapanStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria F PaprockiCanada2025-09-21Chapman, Ross E Esq PROPOSAL15Anna Fali
1001Leja Z RimUnited Kingdom2025-09-11Rangoni Of Florence RENEWAL64Amy Elsner
1002Adams W CaldareraJapan2025-09-16Chapman, Ross E Esq RENEWAL78Amy Elsner
1003Tony X SergiIndia2025-09-15Chapman, Ross E Esq UNQUALIFIED56Amy Elsner
1004Adams R BowleyIndia2025-09-14Rousseaux, Michael Esq UNQUALIFIED36Bernardo Dominic
1005Johnson S VocelkaUnited Kingdom2025-08-28Commercial Press NEGOTIATION91Anna Fali
1006Emily C AlbaresItaly2025-09-09Commercial Press UNQUALIFIED77Ivan Magalhaes
1007Emily T AmigonGermany2025-09-16Morlong Associates UNQUALIFIED75Anna Fali
1008Leja G MarrierArgentina2025-09-03Chemel, James L Cpa NEW93Ioni Bowcher
1009David P MaletArgentina2025-09-10Chemel, James L Cpa UNQUALIFIED72Elwin Sharvill
1010Munro J FlosiFrance2025-09-04Truhlar And Truhlar Attys NEGOTIATION61Xuxue Feng
1011Mayumi O FollerAustralia2025-09-05Dorl, James J Esq NEW25Bernardo Dominic
1012David I CaudyGermany2025-09-05Feltz Printing Service NEW92Ioni Bowcher
1013Jeanfrancois T MaletCanada2025-09-16Commercial Press NEW78Bernardo Dominic
1014Emily M WhobreyItaly2025-09-01Benton, John B Jr RENEWAL48Anna Fali
1015Johnson T MarrierRussia2025-09-13Truhlar And Truhlar Attys QUALIFIED28Stephen Shaw
1016Isabel J InouyeRussia2025-08-25King, Christopher A Esq QUALIFIED7Elwin Sharvill
1017Ivar N GarufiAustralia2025-09-17Buckley Miller Wright RENEWAL1Bernardo Dominic
1018Claire K FerenczUnited Kingdom2025-09-19Chapman, Ross E Esq QUALIFIED83Ivan Magalhaes
1019Adams I ButtGermany2025-08-29Dorl, James J Esq QUALIFIED78Amy Elsner
1020Jones W RulapaughGermany2025-08-25Rousseaux, Michael Esq NEW9Xuxue Feng
1021Jones E ChuiJapan2025-08-29Printing Dimensions NEGOTIATION67Xuxue Feng
1022Adams G GillianUnited Kingdom2025-09-13Truhlar And Truhlar Attys QUALIFIED70Ivan Magalhaes
1023David Q GarufiUnited Kingdom2025-09-07Chemel, James L Cpa QUALIFIED37Elwin Sharvill
1024Jones U SergiGermany2025-09-20Printing Dimensions RENEWAL30Onyama Limba
1025Aruna Q ButtAustralia2025-09-21Printing Dimensions QUALIFIED9Stephen Shaw
1026Francesco I TollnerIndia2025-09-21Rousseaux, Michael Esq RENEWAL71Bernardo Dominic
1027Greenwood B MaletUnited Kingdom2025-08-30Morlong Associates QUALIFIED36Ivan Magalhaes
1028Murillo M MaletRussia2025-09-18Morlong Associates RENEWAL50Stephen Shaw
1029Salvatore X TollnerUnited Kingdom2025-09-13King, Christopher A Esq QUALIFIED94Ioni Bowcher
1030Julie L BriddickArgentina2025-09-02Rangoni Of Florence RENEWAL90Elwin Sharvill
1031Faith K MacleadJapan2025-08-30Rangoni Of Florence NEW49Anna Fali
1032Aditya Q WaycottBrazil2025-09-06Feiner Bros UNQUALIFIED31Elwin Sharvill
1033Jones T SaylorsRussia2025-08-28Morlong Associates UNQUALIFIED6Xuxue Feng
1034James C FlosiUnited Kingdom2025-08-28Commercial Press RENEWAL71Ioni Bowcher
1035Murillo A PaprockiSpain2025-09-11Buckley Miller Wright QUALIFIED76Anna Fali
1036Jennifer Q SergiItaly2025-08-27Chanay, Jeffrey A Esq NEGOTIATION0Ivan Magalhaes
1037Clifford I GillianFrance2025-09-16Rousseaux, Michael Esq RENEWAL39Xuxue Feng
1038Ricardo O DilliardUnited Kingdom2025-08-30Chemel, James L Cpa PROPOSAL66Xuxue Feng
1039Ricardo C MaletArgentina2025-08-27Rousseaux, Michael Esq PROPOSAL41Asiya Javayant
1040Adams T VocelkaAustralia2025-08-26Benton, John B Jr UNQUALIFIED82Anna Fali
1041Deepesh F CampainBrazil2025-08-27Buckley Miller Wright QUALIFIED54Elwin Sharvill
1042Jennifer D KuskoRussia2025-08-29Feiner Bros PROPOSAL7Bernardo Dominic
1043Ashley U CampainJapan2025-09-10Chanay, Jeffrey A Esq NEGOTIATION53Xuxue Feng
1044Smith Z OldroydItaly2025-08-27Benton, John B Jr UNQUALIFIED49Amy Elsner
1045Francesco M OldroydRussia2025-09-12Benton, John B Jr RENEWAL34Ivan Magalhaes
1046Claire Y VocelkaAustralia2025-08-25Morlong Associates PROPOSAL85Ioni Bowcher
1047Jefferson I KolmetzFrance2025-09-19King, Christopher A Esq NEGOTIATION79Stephen Shaw
1048Cody T NestleAustralia2025-09-16Commercial Press PROPOSAL95Amy Elsner
1049Johnson L ButtJapan2025-09-15Chanay, Jeffrey A Esq QUALIFIED62Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Cody Y VocelkaGermanyIvan Magalhaes RENEWAL
Aruna U RulapaughArgentinaAnna Fali QUALIFIED
Mayumi L OldroydArgentinaStephen Shaw PROPOSAL
Izzy A SergiFranceElwin Sharvill QUALIFIED
Clifford B CampainFranceAnna Fali PROPOSAL
Julie K PerinCanadaIoni Bowcher NEGOTIATION
Jefferson R KuskoArgentinaAmy Elsner QUALIFIED
Ivar R GauchoItalyIoni Bowcher QUALIFIED
Murillo S MorascaCanadaAmy Elsner UNQUALIFIED
Aika C StockhamItalyIoni Bowcher RENEWAL
Morrow M ButtArgentinaAmy Elsner RENEWAL
Kadeem R RutaFranceIoni Bowcher QUALIFIED
Arvin C ShinkoFranceAnna Fali QUALIFIED
Deepesh H VenereSpainIoni Bowcher UNQUALIFIED
Costa E CampainGermanyIoni Bowcher RENEWAL
Johnson C CaldareraRussiaXuxue Feng PROPOSAL
Antonio I TollnerBrazilAmy Elsner NEGOTIATION
Francesco J GarufiFranceAnna Fali RENEWAL
Murillo U MorascaGermanyIoni Bowcher QUALIFIED
Jones H OstroskyArgentinaIoni Bowcher UNQUALIFIED
Ricardo O RimArgentinaIvan Magalhaes PROPOSAL
Sinclair R DarakjySpainAmy Elsner PROPOSAL
Deepesh A TollnerSpainAmy Elsner PROPOSAL
James H InouyeArgentinaAnna Fali NEW
Costa M RoysterItalyStephen Shaw QUALIFIED
Nicolas X GarufiFranceAmy Elsner PROPOSAL
Mayumi Z RoysterSpainXuxue Feng NEW
Isabel M SaylorsItalyXuxue Feng QUALIFIED
Silvio B GarufiSpainAnna Fali UNQUALIFIED
Claire G WieserIndiaOnyama Limba UNQUALIFIED
Ashley B WhobreyItalyIoni Bowcher RENEWAL
James P RimArgentinaAmy Elsner UNQUALIFIED
Salvatore U PerinIndiaStephen Shaw NEW
Aditya A SaylorsBrazilIvan Magalhaes PROPOSAL
Clifford A WhobreyItalyAmy Elsner RENEWAL
Adams P CaudyArgentinaAmy Elsner NEGOTIATION
Kadeem P MaletIndiaXuxue Feng RENEWAL
Jones Y FollerRussiaIvan Magalhaes NEGOTIATION
Clifford M PoquetteSpainElwin Sharvill UNQUALIFIED
Leja L FlosiItalyBernardo Dominic UNQUALIFIED
Stacey F GauchoArgentinaOnyama Limba RENEWAL
Mujtaba Z AmigonRussiaOnyama Limba NEW
Chavez R IturbideGermanyBernardo Dominic RENEWAL
Johnson W AlbaresUnited KingdomElwin Sharvill NEGOTIATION
Ivar O CampainCanadaAmy Elsner NEGOTIATION
Wickens Z MaletJapanIoni Bowcher NEW
Jefferson D CaudyCanadaAsiya Javayant PROPOSAL
Chavez O MaletCanadaAsiya Javayant NEW
Jennifer Y GlickJapanAmy Elsner QUALIFIED
Nicolas T WhobreyCanadaAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Morrow U Vocelka
Faith F Perin
Cody S Gillian
Alejandro T Rulapaugh
Maisha P Slusarski
Aditya N Caldarera
Octavia R Bowley
Claire Q Schemmer
Stacey O Butt
Maisha B Ruta
Antonio L Amigon
Johnson S Wieser
Maria D Shinko
Aditya E Rim
Aditya P Briddick
Izzy N Campain
Emily S Saylors
Tony Q Caldarera
Costa B Inouye
Tony D Venere
Jones M Rulapaugh
Maisha H Ferencz
Munro A Bolognia
Murillo M Rim
Ivar O Foller
James J Doe
Silvio J Albares
Nicolas X Stenseth
Wickens V Chui
Jefferson P Garufi
David O Tollner
Morrow B Ferencz
Aditya V Butt
Cody O Waycott
Adams N Rulapaugh
Maisha T Albares
Maisha I Vocelka
David U Albares
Emily P Garufi
Jefferson G Kusko
Jones F Kolmetz
Antonio N Bolognia
Emily G Chui
Juan T Poquette
Mayumi V Flosi
Juan R Tollner
Leon S Ruta
Kadeem A Rulapaugh
Antonio Z Inouye
Jefferson G Dilliard
IdCountryDate
1000France2025-08-25
1001Germany2025-09-21
1002Italy2025-09-04
1003Canada2025-09-22
1004Argentina2025-09-23
1005Canada2025-09-21
1006Germany2025-08-26
1007France2025-08-31
1008Japan2025-09-14
1009Russia2025-09-04
1010Argentina2025-09-17
1011India2025-09-02
1012Germany2025-09-21
1013Japan2025-09-23
1014Canada2025-08-30
1015Italy2025-09-04
1016Australia2025-09-11
1017Russia2025-09-09
1018Italy2025-09-10
1019India2025-09-05
1020Germany2025-09-03
1021Australia2025-08-27
1022Argentina2025-09-09
1023United Kingdom2025-09-03
1024Japan2025-09-18
1025Italy2025-09-19
1026France2025-09-15
1027Australia2025-08-25
1028Japan2025-09-22
1029India2025-08-25
1030Australia2025-09-14
1031Germany2025-09-14
1032Canada2025-08-30
1033India2025-08-30
1034Brazil2025-09-14
1035Brazil2025-09-09
1036Japan2025-09-19
1037Brazil2025-08-29
1038France2025-09-23
1039Australia2025-09-04
1040United Kingdom2025-09-20
1041Australia2025-08-26
1042Japan2025-09-18
1043France2025-08-30
1044Spain2025-08-30
1045Russia2025-09-21
1046Russia2025-08-30
1047Australia2025-09-15
1048Spain2025-09-22
1049Japan2025-09-02

On-Demand Data

NameIdCountryDate
Salvatore A Ruta1000Canada2025-08-26
Alejandro K Gillian1001United Kingdom2025-09-05
Sinclair F Gaucho1002France2025-09-05
Greenwood R Amigon1003United Kingdom2025-09-20
Nicolas N Figeroa1004Canada2025-09-18
Stacey C Kusko1005Japan2025-08-27
Izzy J Gillian1006Canada2025-09-07
Alejandro B Inouye1007India2025-09-18
Aika X Whobrey1008Argentina2025-09-18
Ivar R Malet1009France2025-09-22
Julie U Stenseth1010Brazil2025-09-23
Greenwood B Whobrey1011India2025-08-29
Aika U Slusarski1012India2025-09-07
Murillo C Wieser1013Spain2025-09-10
Rodrigues U Figeroa1014United Kingdom2025-09-14
Deepesh O Glick1015United Kingdom2025-08-31
Silvio I Slusarski1016Japan2025-09-21
Darci R Flosi1017India2025-08-29
Sinclair H Doe1018United Kingdom2025-09-14
Rodrigues F Caudy1019Canada2025-09-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow P RulapaughAustraliaAmy Elsner RENEWAL
Darci Z MacleadIndiaXuxue Feng QUALIFIED
Julie M RutaGermanyAsiya Javayant QUALIFIED
Stacey M AmigonAustraliaIoni Bowcher RENEWAL
Clifford N MorascaCanadaAmy Elsner NEGOTIATION
Adams L IturbideAustraliaOnyama Limba NEW
Adams U NestleAustraliaIoni Bowcher NEW
Julie T GlickIndiaIvan Magalhaes PROPOSAL
Rodrigues D RoysterAustraliaAnna Fali PROPOSAL
Ashley E ChuiJapanAmy Elsner QUALIFIED
James D IturbideArgentinaBernardo Dominic QUALIFIED
Claire Q SergiJapanAsiya Javayant PROPOSAL
Mujtaba I RimIndiaBernardo Dominic UNQUALIFIED
Claire J RoysterUnited KingdomAmy Elsner RENEWAL
Jennifer U DoeArgentinaOnyama Limba NEGOTIATION
Arvin C RutaFranceXuxue Feng PROPOSAL
Wickens L NestleUnited KingdomOnyama Limba NEW
Chavez K AmigonJapanAsiya Javayant QUALIFIED
Mujtaba S MaletItalyAsiya Javayant PROPOSAL
Misaki V CampainItalyAsiya Javayant NEGOTIATION
Smith H NestleFranceBernardo Dominic RENEWAL
Antonio G FerenczFranceXuxue Feng NEGOTIATION
Isabel Q BowleyJapanAsiya Javayant NEW
Costa C VenereItalyXuxue Feng RENEWAL
Silvio X DilliardCanadaOnyama Limba NEGOTIATION
Clifford O RoysterSpainElwin Sharvill UNQUALIFIED
Mujtaba J MaletRussiaAsiya Javayant UNQUALIFIED
Kaitlin D KuskoAustraliaElwin Sharvill NEGOTIATION
Morrow M RutaArgentinaIvan Magalhaes RENEWAL
Aika X RimSpainOnyama Limba RENEWAL
David R KolmetzBrazilAnna Fali QUALIFIED
Jones N ShinkoArgentinaIoni Bowcher QUALIFIED
Greenwood E CaudyIndiaXuxue Feng QUALIFIED
Cody X CaldareraSpainIvan Magalhaes NEW
Alejandro L PoquetteJapanAnna Fali PROPOSAL
Emily T FigeroaSpainBernardo Dominic NEW
Isabel G DarakjyAustraliaAmy Elsner UNQUALIFIED
Jefferson I ChuiGermanyXuxue Feng NEGOTIATION
Aditya A KolmetzFranceAsiya Javayant UNQUALIFIED
Aditya Y MacleadGermanyAmy 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>