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
Ashley Y CaudyRussiaElwin Sharvill NEW
Cody L SlusarskiSpainXuxue Feng PROPOSAL
Julie C PaprockiIndiaBernardo Dominic NEGOTIATION
Mayumi K MorascaAustraliaXuxue Feng QUALIFIED
Alejandro O AlbaresSpainAnna Fali NEGOTIATION
Aika A IturbideBrazilAsiya Javayant RENEWAL
Rodrigues A SergiIndiaAmy Elsner NEGOTIATION
Ivar E SchemmerCanadaIvan Magalhaes RENEWAL
Jeanfrancois A PaprockiRussiaElwin Sharvill RENEWAL
Sinclair Q BologniaSpainStephen Shaw NEGOTIATION
Leja N SchemmerSpainAmy Elsner QUALIFIED
Juan M VocelkaCanadaOnyama Limba QUALIFIED
Claire Z BriddickItalyIvan Magalhaes NEGOTIATION
Francesco W StensethArgentinaAmy Elsner QUALIFIED
Johnson P MorascaRussiaIoni Bowcher NEGOTIATION
James V KolmetzAustraliaIoni Bowcher QUALIFIED
Clifford I PerinJapanAsiya Javayant RENEWAL
Ashley A ShinkoGermanyElwin Sharvill NEGOTIATION
Greenwood F OldroydBrazilBernardo Dominic NEGOTIATION
Julie Y AmigonUnited KingdomStephen Shaw QUALIFIED
Octavia A DoeAustraliaOnyama Limba NEW
Johnson R SaylorsSpainOnyama Limba RENEWAL
Tony A InouyeGermanyStephen Shaw QUALIFIED
Adams M ShinkoAustraliaIvan Magalhaes NEW
Claire Z RulapaughJapanIoni Bowcher UNQUALIFIED
Tony B VocelkaRussiaAnna Fali RENEWAL
Mayumi A DilliardJapanIoni Bowcher QUALIFIED
Morrow M GillianAustraliaElwin Sharvill NEW
Aruna M PerinJapanBernardo Dominic NEGOTIATION
Emily T PoquetteBrazilXuxue Feng NEW
Cody N GarufiGermanyOnyama Limba NEW
Aika V GlickGermanyAnna Fali NEW
Jennifer E NickaRussiaAmy Elsner UNQUALIFIED
Maria S GarufiUnited KingdomOnyama Limba UNQUALIFIED
Claire M MorascaJapanElwin Sharvill PROPOSAL
Juan R MaletArgentinaAsiya Javayant NEW
Stacey Q WhobreyJapanIvan Magalhaes NEW
Jefferson F IturbideSpainIoni Bowcher UNQUALIFIED
Faith R ShinkoJapanElwin Sharvill PROPOSAL
Cody T CaudyUnited KingdomXuxue Feng NEGOTIATION
Ricardo U IturbideGermanyBernardo Dominic PROPOSAL
Maria O GillianJapanStephen Shaw PROPOSAL
Kadeem B SaylorsUnited KingdomAnna Fali NEW
Antonio Z OldroydSpainStephen Shaw PROPOSAL
Francesco L CaldareraFranceIoni Bowcher NEW
Munro I TollnerUnited KingdomAsiya Javayant NEW
Antonio X DoeItalyXuxue Feng NEW
Antonio N InouyeBrazilAsiya Javayant PROPOSAL
Jeanfrancois H SaylorsIndiaStephen Shaw QUALIFIED
Alejandro Q SlusarskiJapanIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Rodrigues B ShinkoArgentinaAnna Fali NEW
Faith K FerenczItalyOnyama Limba UNQUALIFIED
Maria M AlbaresAustraliaOnyama Limba RENEWAL
Wickens B RutaItalyXuxue Feng NEW
Cody X GillianBrazilIoni Bowcher PROPOSAL
Wickens S WaycottUnited KingdomXuxue Feng NEW
Leja A BriddickItalyAsiya Javayant RENEWAL
Emily J BologniaIndiaElwin Sharvill NEGOTIATION
Jefferson J OstroskyAustraliaXuxue Feng UNQUALIFIED
Claire H KuskoUnited KingdomStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia E ChuiBrazil2025-08-06Buckley Miller Wright UNQUALIFIED83Onyama Limba
1001James U VenereJapan2025-08-12Commercial Press NEW13Elwin Sharvill
1002Maria I RulapaughCanada2025-08-01Feiner Bros NEW75Elwin Sharvill
1003Octavia W WhobreyBrazil2025-08-04Commercial Press UNQUALIFIED14Stephen Shaw
1004Jeanfrancois B GillianGermany2025-08-26Morlong Associates NEW97Elwin Sharvill
1005Tony G DilliardJapan2025-08-05Rangoni Of Florence NEW62Anna Fali
1006Rodrigues L MacleadUnited Kingdom2025-08-24Morlong Associates NEGOTIATION42Ioni Bowcher
1007Mujtaba Z FlosiAustralia2025-08-05Buckley Miller Wright NEW23Ivan Magalhaes
1008Maria Z KuskoGermany2025-08-26King, Christopher A Esq QUALIFIED18Elwin Sharvill
1009Jennifer L AlbaresCanada2025-07-30Rangoni Of Florence NEGOTIATION1Onyama Limba
1010Faith Z ButtGermany2025-08-20Printing Dimensions UNQUALIFIED25Asiya Javayant
1011Ricardo K FlosiBrazil2025-08-09Benton, John B Jr UNQUALIFIED55Elwin Sharvill
1012Maria A PoquetteIndia2025-08-18Commercial Press NEW52Anna Fali
1013Jennifer T AlbaresUnited Kingdom2025-08-02Truhlar And Truhlar Attys NEW96Xuxue Feng
1014Nicolas H RutaIndia2025-08-07Feltz Printing Service RENEWAL7Onyama Limba
1015Claire H TollnerFrance2025-08-01Feltz Printing Service QUALIFIED73Asiya Javayant
1016Emily A OldroydCanada2025-08-28Benton, John B Jr UNQUALIFIED91Anna Fali
1017Cody K SchemmerIndia2025-08-26Dorl, James J Esq RENEWAL5Stephen Shaw
1018Jones Y SaylorsItaly2025-08-27Chemel, James L Cpa PROPOSAL45Bernardo Dominic
1019Emily G ShinkoItaly2025-08-17Commercial Press PROPOSAL81Bernardo Dominic
1020Ivar N MorascaUnited Kingdom2025-08-10King, Christopher A Esq UNQUALIFIED48Asiya Javayant
1021Tony B MarrierFrance2025-08-12Morlong Associates RENEWAL25Elwin Sharvill
1022David U AlbaresAustralia2025-08-08Rousseaux, Michael Esq RENEWAL39Anna Fali
1023Rodrigues E AlbaresIndia2025-08-01Chanay, Jeffrey A Esq PROPOSAL17Onyama Limba
1024Leon E StensethJapan2025-08-23Commercial Press NEGOTIATION51Anna Fali
1025Mujtaba J MaletSpain2025-08-13Buckley Miller Wright UNQUALIFIED65Bernardo Dominic
1026David N StensethIndia2025-08-05Printing Dimensions NEW18Ioni Bowcher
1027Misaki T WaycottSpain2025-07-30Benton, John B Jr NEW85Anna Fali
1028Cody M FerenczSpain2025-08-24Chanay, Jeffrey A Esq NEW20Onyama Limba
1029Adams O WaycottFrance2025-08-02Printing Dimensions NEGOTIATION73Anna Fali
1030Antonio M StockhamAustralia2025-08-06Feiner Bros QUALIFIED37Bernardo Dominic
1031Jones P TollnerRussia2025-08-16Dorl, James J Esq RENEWAL60Xuxue Feng
1032Claire W OldroydSpain2025-08-10Benton, John B Jr QUALIFIED51Ioni Bowcher
1033Isabel U GlickFrance2025-08-08Chemel, James L Cpa PROPOSAL39Elwin Sharvill
1034Ricardo A NestleSpain2025-08-17Printing Dimensions RENEWAL86Onyama Limba
1035Wickens U FigeroaBrazil2025-08-07Buckley Miller Wright PROPOSAL33Ivan Magalhaes
1036Johnson Z PerinSpain2025-08-19Commercial Press NEGOTIATION52Ioni Bowcher
1037Clifford N StensethIndia2025-08-06Dorl, James J Esq UNQUALIFIED54Stephen Shaw
1038Darci Y MarrierIndia2025-08-22Buckley Miller Wright UNQUALIFIED70Xuxue Feng
1039Murillo D GarufiIndia2025-08-06Morlong Associates NEGOTIATION71Ivan Magalhaes
1040Murillo B CampainItaly2025-08-24Feltz Printing Service PROPOSAL56Xuxue Feng
1041David K WieserBrazil2025-08-27Buckley Miller Wright NEGOTIATION62Onyama Limba
1042Arvin E CaldareraRussia2025-08-11Benton, John B Jr NEGOTIATION21Amy Elsner
1043Maria V MaletItaly2025-08-24Feiner Bros PROPOSAL42Asiya Javayant
1044Rodrigues B SlusarskiSpain2025-08-21Rousseaux, Michael Esq UNQUALIFIED89Elwin Sharvill
1045Misaki F GillianCanada2025-08-15Feiner Bros QUALIFIED7Elwin Sharvill
1046Jennifer A RutaArgentina2025-07-31Feltz Printing Service RENEWAL49Amy Elsner
1047Antonio H KolmetzBrazil2025-08-22Buckley Miller Wright QUALIFIED80Stephen Shaw
1048Leon I CaldareraCanada2025-08-22Printing Dimensions UNQUALIFIED94Asiya Javayant
1049Tony S GillianGermany2025-08-12Commercial Press QUALIFIED65Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Greenwood R RulapaughFranceIoni Bowcher NEGOTIATION
Clifford H ShinkoUnited KingdomIvan Magalhaes NEGOTIATION
Deepesh R MaletGermanyAnna Fali QUALIFIED
Sinclair R KolmetzSpainXuxue Feng RENEWAL
Tony Z BologniaArgentinaIvan Magalhaes NEGOTIATION
Clifford H SchemmerArgentinaOnyama Limba UNQUALIFIED
Aruna D PoquetteFranceIvan Magalhaes NEW
Antonio G ShinkoCanadaAsiya Javayant PROPOSAL
Murillo M OldroydIndiaAsiya Javayant UNQUALIFIED
Kaitlin N DoeAustraliaBernardo Dominic PROPOSAL
Leja G InouyeAustraliaAsiya Javayant PROPOSAL
Smith R BologniaCanadaElwin Sharvill RENEWAL
Misaki O SaylorsGermanyStephen Shaw PROPOSAL
Cody R RulapaughFranceXuxue Feng NEGOTIATION
Leon Z MarrierAustraliaIvan Magalhaes PROPOSAL
Aika Q DarakjyBrazilAmy Elsner PROPOSAL
Julie G CaudyJapanIvan Magalhaes PROPOSAL
Clifford Y BowleyGermanyBernardo Dominic NEW
Ashley Q FerenczItalyStephen Shaw QUALIFIED
Julie D NickaBrazilAmy Elsner RENEWAL
Maisha H GarufiSpainAmy Elsner RENEWAL
Ricardo O FollerArgentinaStephen Shaw PROPOSAL
Faith M FigeroaAustraliaOnyama Limba NEGOTIATION
Kadeem H AmigonBrazilStephen Shaw RENEWAL
Smith R ChuiCanadaXuxue Feng RENEWAL
Izzy L ChuiSpainIoni Bowcher QUALIFIED
James F CampainAustraliaAsiya Javayant QUALIFIED
Salvatore D ButtIndiaElwin Sharvill PROPOSAL
Smith C AlbaresJapanAsiya Javayant UNQUALIFIED
Morrow H VocelkaCanadaIoni Bowcher PROPOSAL
Ricardo H KuskoAustraliaAmy Elsner QUALIFIED
Octavia Z BriddickRussiaStephen Shaw NEGOTIATION
Clifford G GarufiUnited KingdomAnna Fali NEGOTIATION
Greenwood B MorascaAustraliaElwin Sharvill NEGOTIATION
Antonio W CaldareraJapanBernardo Dominic UNQUALIFIED
Aruna V NestleCanadaBernardo Dominic RENEWAL
Darci W MaletItalyAsiya Javayant NEGOTIATION
Leja J DoeBrazilIvan Magalhaes NEW
Clifford I MaletJapanAnna Fali UNQUALIFIED
James Y FigeroaJapanXuxue Feng RENEWAL
Francesco H BowleySpainStephen Shaw NEW
Salvatore T SlusarskiCanadaStephen Shaw PROPOSAL
Claire N FerenczItalyIoni Bowcher PROPOSAL
Julie K AlbaresAustraliaOnyama Limba RENEWAL
Kaitlin J ChuiUnited KingdomOnyama Limba NEW
Aruna B NickaBrazilAsiya Javayant PROPOSAL
Johnson U VenereAustraliaElwin Sharvill RENEWAL
Cody D DilliardJapanXuxue Feng RENEWAL
Darci O PaprockiUnited KingdomIvan Magalhaes QUALIFIED
Jefferson S SaylorsCanadaAmy Elsner RENEWAL
Frozen Columns
Name
Juan A Oldroyd
Aika H Bowley
Maisha K Butt
Jefferson M Inouye
Silvio M Rulapaugh
Emily K Maclead
Wickens B Nicka
Greenwood N Schemmer
Cody C Malet
Arvin Z Glick
Faith Z Paprocki
Rodrigues E Waycott
Murillo Q Malet
Arvin Z Bolognia
Smith U Nicka
Aruna M Paprocki
Salvatore O Campain
Emily T Gillian
Isabel Z Royster
Rodrigues X Perin
Greenwood W Marrier
Chavez G Gillian
Faith I Caldarera
Clifford M Ostrosky
Mayumi T Perin
Jefferson Q Dilliard
Murillo V Tollner
Silvio J Gaucho
Antonio H Malet
Adams C Stockham
Aditya W Gaucho
Clifford D Malet
Aditya E Poquette
Jennifer M Morasca
Rodrigues A Marrier
Antonio S Bowley
Chavez G Maclead
Costa E Garufi
Claire X Whobrey
Claire L Flosi
Alejandro K Foller
Francesco O Shinko
Jefferson G Chui
Kadeem D Waycott
Clifford C Schemmer
David J Malet
Jeanfrancois S Tollner
Ricardo C Rim
Julie Y Wieser
Nicolas B Flosi
IdCountryDate
1000Japan2025-08-19
1001Argentina2025-08-11
1002Spain2025-08-17
1003Canada2025-08-19
1004Australia2025-08-10
1005France2025-08-18
1006Germany2025-08-12
1007France2025-08-03
1008Japan2025-08-26
1009Australia2025-08-19
1010Canada2025-08-26
1011Russia2025-08-22
1012Russia2025-08-21
1013Italy2025-08-02
1014Brazil2025-08-22
1015Australia2025-08-25
1016Spain2025-08-12
1017Australia2025-08-22
1018Spain2025-08-12
1019Russia2025-08-05
1020India2025-08-16
1021India2025-08-06
1022Russia2025-08-08
1023Italy2025-08-05
1024India2025-08-12
1025India2025-08-07
1026Brazil2025-08-27
1027Italy2025-08-23
1028Canada2025-07-30
1029Argentina2025-08-11
1030United Kingdom2025-08-12
1031Australia2025-08-28
1032Russia2025-08-19
1033Brazil2025-08-10
1034Germany2025-08-01
1035United Kingdom2025-08-04
1036United Kingdom2025-08-17
1037Canada2025-08-26
1038Australia2025-08-05
1039India2025-08-18
1040Brazil2025-08-17
1041Italy2025-08-22
1042France2025-08-25
1043Italy2025-08-27
1044France2025-08-03
1045France2025-08-19
1046Canada2025-08-25
1047Argentina2025-08-08
1048France2025-08-23
1049Russia2025-08-02

On-Demand Data

NameIdCountryDate
Maisha G Bowley1000Argentina2025-08-11
Jefferson E Flosi1001Canada2025-08-16
Deepesh H Slusarski1002Germany2025-08-19
Maisha G Malet1003India2025-08-12
Deepesh R Gillian1004Japan2025-08-02
Greenwood W Gaucho1005Germany2025-08-06
Wickens I Ruta1006France2025-08-21
Morrow A Waycott1007France2025-08-24
Tony H Ruta1008Argentina2025-08-10
Maisha G Malet1009Spain2025-08-16
Darci I Ferencz1010Japan2025-08-18
Jeanfrancois E Tollner1011Japan2025-08-14
Stacey C Iturbide1012Italy2025-08-14
Ashley M Flosi1013Japan2025-08-13
Wickens B Kusko1014Canada2025-08-01
Chavez L Gaucho1015Japan2025-08-16
Aruna B Waycott1016Australia2025-08-08
Maisha Q Caudy1017Canada2025-08-14
Jones N Maclead1018Canada2025-08-25
Kadeem W Garufi1019India2025-07-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro Z AlbaresSpainBernardo Dominic PROPOSAL
Aditya J KuskoItalyStephen Shaw UNQUALIFIED
Deepesh F RimCanadaOnyama Limba UNQUALIFIED
Mayumi I CaldareraIndiaBernardo Dominic RENEWAL
Arvin Q RutaCanadaIoni Bowcher NEGOTIATION
Arvin S ChuiAustraliaAmy Elsner NEW
Adams C RutaCanadaBernardo Dominic PROPOSAL
Chavez D BowleySpainAsiya Javayant UNQUALIFIED
Juan Z VocelkaJapanAnna Fali NEW
Munro C SergiArgentinaBernardo Dominic NEW
Munro B WaycottAustraliaIvan Magalhaes NEW
Isabel F KolmetzItalyBernardo Dominic UNQUALIFIED
Isabel P MacleadJapanIoni Bowcher UNQUALIFIED
Aika I PaprockiBrazilAsiya Javayant NEW
Stacey T FollerGermanyXuxue Feng PROPOSAL
Maria M StockhamCanadaAnna Fali NEW
Jeanfrancois P PoquetteIndiaAsiya Javayant QUALIFIED
James Y DilliardSpainXuxue Feng NEW
Ivar K FigeroaIndiaStephen Shaw NEGOTIATION
Sinclair K GarufiUnited KingdomStephen Shaw RENEWAL
Emily H PaprockiArgentinaXuxue Feng PROPOSAL
Deepesh C BowleySpainAnna Fali UNQUALIFIED
Jefferson O NickaIndiaBernardo Dominic NEGOTIATION
Wickens L WhobreyRussiaAmy Elsner NEGOTIATION
Leja V ShinkoGermanyAnna Fali QUALIFIED
Ricardo S FigeroaArgentinaAnna Fali UNQUALIFIED
Costa M NickaItalyBernardo Dominic NEGOTIATION
Mayumi M GarufiJapanXuxue Feng NEW
Silvio J DarakjyCanadaAmy Elsner PROPOSAL
Emily A NickaJapanOnyama Limba RENEWAL
Wickens A RoysterAustraliaIvan Magalhaes QUALIFIED
Nicolas N BologniaArgentinaAnna Fali NEGOTIATION
Rodrigues R RimAustraliaBernardo Dominic NEW
Johnson V SaylorsBrazilIvan Magalhaes NEGOTIATION
Izzy W ChuiItalyAsiya Javayant NEGOTIATION
Mayumi M WaycottIndiaIvan Magalhaes PROPOSAL
Mayumi U KuskoJapanElwin Sharvill PROPOSAL
Aditya A GarufiFranceXuxue Feng UNQUALIFIED
Salvatore V ButtGermanyStephen Shaw UNQUALIFIED
Misaki B BowleyUnited KingdomIoni Bowcher 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>