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
Jefferson U RimJapanAnna Fali UNQUALIFIED
Munro J RimGermanyStephen Shaw PROPOSAL
Isabel Y RutaAustraliaElwin Sharvill UNQUALIFIED
Jennifer D ChuiCanadaOnyama Limba NEGOTIATION
Claire U RutaGermanyBernardo Dominic UNQUALIFIED
Rodrigues C BowleyJapanElwin Sharvill RENEWAL
Claire E CampainAustraliaOnyama Limba QUALIFIED
Deepesh L TollnerGermanyStephen Shaw NEGOTIATION
Aruna R StockhamIndiaXuxue Feng NEGOTIATION
Claire O BowleyJapanStephen Shaw PROPOSAL
Kaitlin O KolmetzUnited KingdomElwin Sharvill NEGOTIATION
Nicolas M VenereGermanyIvan Magalhaes UNQUALIFIED
Jones L GarufiAustraliaAmy Elsner NEW
Mujtaba D RutaFranceAnna Fali QUALIFIED
Silvio J MacleadAustraliaAmy Elsner PROPOSAL
Kadeem U CaudyItalyAnna Fali NEW
Juan F BologniaUnited KingdomIvan Magalhaes UNQUALIFIED
Isabel P WieserCanadaIoni Bowcher NEW
Arvin J WaycottJapanAmy Elsner QUALIFIED
Arvin C MarrierAustraliaIvan Magalhaes PROPOSAL
Cody P RulapaughCanadaAnna Fali QUALIFIED
Misaki T SlusarskiAustraliaOnyama Limba PROPOSAL
Salvatore G GarufiRussiaElwin Sharvill NEGOTIATION
Octavia F GlickCanadaElwin Sharvill NEGOTIATION
Sinclair N WieserGermanyStephen Shaw NEW
Kaitlin B KolmetzItalyIvan Magalhaes RENEWAL
Julie X RimJapanIoni Bowcher RENEWAL
Chavez V RimUnited KingdomBernardo Dominic PROPOSAL
Mayumi G InouyeSpainXuxue Feng RENEWAL
James O PaprockiSpainIoni Bowcher NEGOTIATION
Antonio T SlusarskiBrazilAmy Elsner PROPOSAL
Misaki J SergiGermanyAmy Elsner QUALIFIED
Kadeem W OldroydItalyAnna Fali QUALIFIED
Jeanfrancois P CampainAustraliaIvan Magalhaes QUALIFIED
Faith C GauchoRussiaElwin Sharvill NEGOTIATION
Nicolas Z MarrierGermanyStephen Shaw RENEWAL
Isabel U KolmetzItalyBernardo Dominic NEW
Jeanfrancois K GauchoAustraliaBernardo Dominic NEGOTIATION
Jeanfrancois T OldroydFranceBernardo Dominic QUALIFIED
Aditya V NestleBrazilXuxue Feng NEGOTIATION
Tony W WaycottGermanyIvan Magalhaes QUALIFIED
Greenwood R MarrierAustraliaOnyama Limba PROPOSAL
David S CaldareraGermanyXuxue Feng PROPOSAL
Clifford D RutaCanadaAnna Fali QUALIFIED
Julie M GlickFranceIoni Bowcher PROPOSAL
Maisha U PaprockiJapanBernardo Dominic NEGOTIATION
Salvatore H FigeroaFranceIvan Magalhaes PROPOSAL
Ashley E BologniaAustraliaXuxue Feng RENEWAL
Jefferson U RimFranceElwin Sharvill RENEWAL
Jefferson K KuskoFranceStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Sinclair O GlickJapanElwin Sharvill NEGOTIATION
Emily J CaudyGermanyAnna Fali NEW
Izzy F WieserCanadaAnna Fali PROPOSAL
Stacey V MaletSpainOnyama Limba NEW
Izzy M NestleGermanyAnna Fali RENEWAL
Johnson A MarrierCanadaOnyama Limba RENEWAL
Deepesh N WieserFranceAnna Fali NEW
James C BologniaCanadaBernardo Dominic NEGOTIATION
Wickens L OstroskySpainBernardo Dominic NEW
Adams E BriddickIndiaBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie T GillianBrazil2025-09-09Benton, John B Jr NEGOTIATION30Amy Elsner
1001Faith Y GarufiCanada2025-08-30Chemel, James L Cpa NEW67Ioni Bowcher
1002Mayumi R RutaAustralia2025-09-07Feiner Bros PROPOSAL16Bernardo Dominic
1003James T SergiAustralia2025-09-03Chemel, James L Cpa QUALIFIED16Asiya Javayant
1004Leon Y CaldareraFrance2025-08-25Rousseaux, Michael Esq NEW16Bernardo Dominic
1005Julie H RimRussia2025-09-14Chanay, Jeffrey A Esq RENEWAL1Bernardo Dominic
1006Mujtaba F PoquetteRussia2025-09-17Printing Dimensions QUALIFIED31Anna Fali
1007Jones N BriddickUnited Kingdom2025-08-30Feltz Printing Service NEGOTIATION99Asiya Javayant
1008Wickens N WhobreySpain2025-09-02Benton, John B Jr NEW25Ioni Bowcher
1009Darci W MaletFrance2025-08-27Rangoni Of Florence RENEWAL66Ioni Bowcher
1010Greenwood R BowleyFrance2025-09-03Commercial Press QUALIFIED4Onyama Limba
1011Aruna D FollerIndia2025-09-04Buckley Miller Wright UNQUALIFIED61Elwin Sharvill
1012Smith N VenereCanada2025-08-19Printing Dimensions NEGOTIATION60Elwin Sharvill
1013Julie D ButtFrance2025-09-06Commercial Press RENEWAL33Onyama Limba
1014Mayumi K StensethJapan2025-08-30Chanay, Jeffrey A Esq PROPOSAL82Asiya Javayant
1015Jennifer Q FollerGermany2025-08-27Commercial Press QUALIFIED14Xuxue Feng
1016Jeanfrancois R MaletIndia2025-08-20Printing Dimensions RENEWAL90Xuxue Feng
1017Stacey M ShinkoJapan2025-08-20Chanay, Jeffrey A Esq NEW10Elwin Sharvill
1018Maria H VocelkaCanada2025-09-12Truhlar And Truhlar Attys RENEWAL87Stephen Shaw
1019Nicolas N SaylorsFrance2025-08-27Dorl, James J Esq NEGOTIATION14Onyama Limba
1020Izzy G MaletJapan2025-09-14Feiner Bros PROPOSAL22Elwin Sharvill
1021Tony G CaudyFrance2025-08-20Chapman, Ross E Esq NEW72Xuxue Feng
1022Kadeem D WhobreyFrance2025-08-24Feltz Printing Service PROPOSAL89Anna Fali
1023Chavez K AlbaresBrazil2025-09-16Rousseaux, Michael Esq NEW4Anna Fali
1024Arvin E AlbaresBrazil2025-09-13Commercial Press PROPOSAL52Bernardo Dominic
1025Aika Y BriddickIndia2025-09-07Chanay, Jeffrey A Esq UNQUALIFIED45Elwin Sharvill
1026Nicolas D StockhamArgentina2025-08-30Morlong Associates QUALIFIED74Onyama Limba
1027Francesco D OldroydBrazil2025-09-14King, Christopher A Esq NEW80Anna Fali
1028Jones R CaldareraArgentina2025-08-31Dorl, James J Esq UNQUALIFIED54Elwin Sharvill
1029Rodrigues V VocelkaIndia2025-08-21Buckley Miller Wright PROPOSAL55Stephen Shaw
1030Tony C NestleRussia2025-08-30Chemel, James L Cpa NEW54Onyama Limba
1031Francesco O OstroskyJapan2025-08-27King, Christopher A Esq RENEWAL4Asiya Javayant
1032Claire M OstroskyCanada2025-09-05Morlong Associates PROPOSAL12Elwin Sharvill
1033Claire C StockhamArgentina2025-09-04King, Christopher A Esq QUALIFIED41Asiya Javayant
1034Costa S WaycottRussia2025-08-30Feiner Bros QUALIFIED62Asiya Javayant
1035Mujtaba M AmigonBrazil2025-09-08King, Christopher A Esq NEW42Asiya Javayant
1036James F RulapaughFrance2025-09-16Buckley Miller Wright UNQUALIFIED20Anna Fali
1037Darci E AmigonUnited Kingdom2025-08-27Benton, John B Jr RENEWAL3Ioni Bowcher
1038Aditya F WhobreyCanada2025-08-23Commercial Press NEGOTIATION74Xuxue Feng
1039Rodrigues X StockhamGermany2025-08-19Printing Dimensions NEGOTIATION85Ivan Magalhaes
1040Octavia A GillianUnited Kingdom2025-09-02Feltz Printing Service PROPOSAL50Onyama Limba
1041Smith L StensethRussia2025-09-01Buckley Miller Wright NEGOTIATION95Anna Fali
1042Chavez Z ShinkoSpain2025-08-23Dorl, James J Esq NEW96Ivan Magalhaes
1043Isabel N AlbaresAustralia2025-08-20Printing Dimensions PROPOSAL0Amy Elsner
1044Stacey P SergiGermany2025-09-09Truhlar And Truhlar Attys RENEWAL14Elwin Sharvill
1045Ashley B FerenczBrazil2025-09-02Chapman, Ross E Esq NEW78Elwin Sharvill
1046Deepesh V IturbideBrazil2025-08-24Chanay, Jeffrey A Esq QUALIFIED11Stephen Shaw
1047Antonio V StockhamItaly2025-09-08Feltz Printing Service PROPOSAL7Ioni Bowcher
1048Aruna W IturbideIndia2025-09-01Dorl, James J Esq NEW50Stephen Shaw
1049Mayumi Q GarufiGermany2025-09-07Rousseaux, Michael Esq RENEWAL74Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Aika F MaletArgentinaAnna Fali NEW
Maria L ButtRussiaStephen Shaw RENEWAL
Kadeem J RulapaughAustraliaAnna Fali UNQUALIFIED
Leon Z SlusarskiIndiaIoni Bowcher UNQUALIFIED
Clifford O RutaArgentinaAnna Fali PROPOSAL
Leja X OldroydAustraliaIoni Bowcher QUALIFIED
Kadeem B FollerIndiaOnyama Limba RENEWAL
Murillo K KuskoAustraliaAsiya Javayant QUALIFIED
Izzy P KolmetzUnited KingdomIoni Bowcher NEW
Leon K KuskoAustraliaIvan Magalhaes RENEWAL
Alejandro U CaldareraSpainBernardo Dominic RENEWAL
Munro G AmigonBrazilOnyama Limba RENEWAL
Aditya T GlickJapanElwin Sharvill QUALIFIED
Rodrigues X BologniaGermanyXuxue Feng PROPOSAL
Adams K MaletRussiaIoni Bowcher UNQUALIFIED
Jeanfrancois X AmigonAustraliaElwin Sharvill RENEWAL
Alejandro F KolmetzGermanyXuxue Feng PROPOSAL
James M OldroydIndiaElwin Sharvill NEGOTIATION
Ivar P DarakjyRussiaIoni Bowcher RENEWAL
Stacey P GlickJapanAnna Fali RENEWAL
Aika N ChuiJapanOnyama Limba QUALIFIED
Murillo Y MarrierJapanOnyama Limba QUALIFIED
James Z PaprockiArgentinaIvan Magalhaes RENEWAL
Clifford F NickaItalyStephen Shaw NEW
Ricardo V RutaGermanyAmy Elsner RENEWAL
Cody Y MorascaJapanOnyama Limba NEW
Clifford C MaletSpainAsiya Javayant UNQUALIFIED
Stacey A SchemmerSpainXuxue Feng NEGOTIATION
Mayumi M CaudyUnited KingdomIvan Magalhaes NEGOTIATION
Salvatore D DarakjyFranceAnna Fali NEW
Jones U BowleyCanadaElwin Sharvill NEW
Stacey W ChuiUnited KingdomAmy Elsner QUALIFIED
Claire H FerenczBrazilIoni Bowcher NEGOTIATION
Isabel X RimJapanStephen Shaw QUALIFIED
Munro P ChuiSpainElwin Sharvill NEW
Sinclair R NestleGermanyElwin Sharvill NEGOTIATION
Maisha I NickaBrazilAmy Elsner UNQUALIFIED
Leja M SergiJapanIoni Bowcher NEW
Nicolas C WaycottItalyOnyama Limba PROPOSAL
Mujtaba A KolmetzBrazilXuxue Feng RENEWAL
Arvin M WhobreyItalyXuxue Feng NEW
Ashley N MaletFranceAnna Fali UNQUALIFIED
Ashley U BologniaAustraliaAmy Elsner NEGOTIATION
Isabel P ShinkoBrazilAsiya Javayant NEGOTIATION
Misaki S CaudyJapanIvan Magalhaes NEW
Darci E SergiGermanyAmy Elsner PROPOSAL
Morrow N PaprockiRussiaStephen Shaw RENEWAL
Darci P PerinArgentinaOnyama Limba QUALIFIED
Faith Z BriddickSpainAsiya Javayant RENEWAL
Johnson J SchemmerItalyIoni Bowcher QUALIFIED
Frozen Columns
Name
Costa Y Caudy
Clifford X Ostrosky
Octavia X Bolognia
Ricardo Z Sergi
Cody V Gaucho
James B Tollner
Emily Y Poquette
Tony G Royster
Aika Q Sergi
Juan J Sergi
James Y Rim
Stacey P Caudy
James G Venere
Kaitlin J Gaucho
Mujtaba C Marrier
Emily X Poquette
Maisha O Ferencz
Emily T Gaucho
Emily M Briddick
James C Royster
Leon Y Briddick
Claire H Royster
Mujtaba J Rulapaugh
Francesco H Ferencz
Morrow S Shinko
Nicolas U Kusko
Munro C Slusarski
Jennifer L Stenseth
Maria X Bolognia
Izzy T Sergi
James X Kusko
David J Vocelka
Murillo Z Poquette
Costa C Rulapaugh
Jefferson Q Stenseth
Alejandro G Amigon
Emily J Stenseth
Chavez X Kolmetz
Morrow A Morasca
Aditya E Caudy
Mayumi T Maclead
Stacey E Rulapaugh
Kadeem M Malet
Izzy G Inouye
Emily D Paprocki
Cody M Iturbide
Alejandro Z Kusko
Antonio E Campain
Darci Q Nicka
Chavez G Darakjy
IdCountryDate
1000Japan2025-08-27
1001Canada2025-09-16
1002Russia2025-09-15
1003Argentina2025-08-28
1004Germany2025-09-03
1005Italy2025-09-09
1006Italy2025-08-24
1007France2025-08-21
1008Brazil2025-09-01
1009Germany2025-09-05
1010Canada2025-09-11
1011Argentina2025-09-03
1012Australia2025-08-31
1013United Kingdom2025-08-30
1014Germany2025-09-13
1015Spain2025-08-29
1016United Kingdom2025-08-30
1017France2025-09-09
1018Spain2025-09-09
1019Brazil2025-08-25
1020United Kingdom2025-09-05
1021India2025-09-07
1022Russia2025-09-05
1023Italy2025-09-05
1024Spain2025-09-07
1025Germany2025-08-30
1026Canada2025-08-21
1027Argentina2025-09-04
1028Spain2025-09-05
1029Spain2025-09-17
1030Brazil2025-09-11
1031India2025-08-22
1032United Kingdom2025-08-20
1033Japan2025-09-16
1034India2025-08-26
1035Argentina2025-09-01
1036Australia2025-09-07
1037Brazil2025-08-23
1038Germany2025-09-09
1039Germany2025-09-10
1040Spain2025-08-20
1041Japan2025-09-07
1042Germany2025-09-06
1043Japan2025-09-14
1044Russia2025-08-29
1045Argentina2025-09-11
1046Italy2025-09-05
1047Australia2025-09-08
1048Canada2025-08-25
1049India2025-08-23

On-Demand Data

NameIdCountryDate
Mujtaba O Paprocki1000Italy2025-08-28
Costa W Morasca1001Italy2025-08-24
Clifford F Bolognia1002Japan2025-08-23
Munro T Foller1003India2025-08-26
Aditya Y Ruta1004Japan2025-08-26
Leon Y Briddick1005Russia2025-09-16
Claire S Stockham1006Australia2025-08-27
Francesco M Saylors1007United Kingdom2025-08-24
Aika N Doe1008United Kingdom2025-08-31
Greenwood I Chui1009Spain2025-08-19
Leon Q Maclead1010Canada2025-08-20
Izzy F Schemmer1011United Kingdom2025-09-07
Smith Y Wieser1012Italy2025-08-20
David F Malet1013Italy2025-08-20
Jefferson A Caudy1014Germany2025-08-27
Jeanfrancois M Briddick1015Argentina2025-09-10
Arvin K Ferencz1016Canada2025-09-09
Alejandro E Rim1017United Kingdom2025-09-15
Adams D Gaucho1018Germany2025-09-14
Mayumi V Oldroyd1019Brazil2025-08-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David L ShinkoRussiaElwin Sharvill QUALIFIED
Maisha R GillianUnited KingdomXuxue Feng NEGOTIATION
Chavez L MarrierBrazilAnna Fali QUALIFIED
Costa X VocelkaIndiaIvan Magalhaes PROPOSAL
Arvin A RoysterIndiaAnna Fali RENEWAL
Silvio I VocelkaJapanAmy Elsner RENEWAL
Maisha N MaletJapanXuxue Feng PROPOSAL
Rodrigues S StockhamCanadaAsiya Javayant NEGOTIATION
Isabel M SchemmerJapanIoni Bowcher NEGOTIATION
Jeanfrancois N GlickArgentinaElwin Sharvill NEGOTIATION
Tony M StockhamSpainOnyama Limba RENEWAL
Isabel L MaletSpainAsiya Javayant RENEWAL
Wickens M ShinkoUnited KingdomAmy Elsner RENEWAL
Munro B CaudyFranceAnna Fali UNQUALIFIED
Rodrigues L GauchoJapanElwin Sharvill NEGOTIATION
Octavia O IturbideUnited KingdomIoni Bowcher UNQUALIFIED
Stacey E ChuiUnited KingdomBernardo Dominic RENEWAL
Alejandro H TollnerAustraliaIvan Magalhaes PROPOSAL
Jefferson F NestleGermanyXuxue Feng PROPOSAL
Sinclair H RutaFranceAnna Fali NEGOTIATION
Aruna M MaletArgentinaAsiya Javayant NEW
Salvatore H BowleyJapanAmy Elsner QUALIFIED
Salvatore Q StockhamFranceIvan Magalhaes QUALIFIED
Tony S DilliardAustraliaBernardo Dominic RENEWAL
Adams T VocelkaSpainBernardo Dominic UNQUALIFIED
Isabel S AlbaresAustraliaOnyama Limba PROPOSAL
Jones O KolmetzItalyOnyama Limba RENEWAL
Kadeem V MacleadBrazilBernardo Dominic QUALIFIED
Alejandro G IturbideAustraliaStephen Shaw NEGOTIATION
Francesco E WaycottRussiaStephen Shaw UNQUALIFIED
Julie J CaudyFranceIvan Magalhaes PROPOSAL
Jeanfrancois J PerinBrazilBernardo Dominic QUALIFIED
Deepesh O PoquetteGermanyOnyama Limba NEGOTIATION
Clifford K PoquetteBrazilIvan Magalhaes RENEWAL
Antonio X BologniaIndiaAnna Fali NEW
Faith D InouyeSpainElwin Sharvill QUALIFIED
Jefferson C CaudyUnited KingdomBernardo Dominic UNQUALIFIED
Mujtaba L NickaJapanAnna Fali UNQUALIFIED
Leon Q RulapaughCanadaElwin Sharvill PROPOSAL
Adams Q SaylorsBrazilIoni Bowcher UNQUALIFIED

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