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
Darci W DoeArgentinaXuxue Feng PROPOSAL
Jefferson U CaldareraCanadaOnyama Limba UNQUALIFIED
Silvio E TollnerArgentinaStephen Shaw RENEWAL
Alejandro J RulapaughGermanyOnyama Limba PROPOSAL
Silvio G PoquetteRussiaIvan Magalhaes PROPOSAL
Greenwood N GlickGermanyXuxue Feng NEW
Aika Q OstroskyFranceAnna Fali NEGOTIATION
Faith A RutaArgentinaAmy Elsner RENEWAL
Juan L TollnerAustraliaIvan Magalhaes NEW
Adams G MaletFranceAnna Fali RENEWAL
Leja G WhobreyFranceElwin Sharvill QUALIFIED
Ivar K DarakjyIndiaElwin Sharvill NEGOTIATION
Morrow J MorascaUnited KingdomStephen Shaw QUALIFIED
James D VenereFranceXuxue Feng PROPOSAL
Leon Q PoquetteFranceAmy Elsner QUALIFIED
Costa L InouyeIndiaIvan Magalhaes NEW
Aditya Z DoeRussiaAsiya Javayant QUALIFIED
Julie N CampainJapanAsiya Javayant RENEWAL
Wickens E MacleadCanadaAsiya Javayant PROPOSAL
James F StensethIndiaBernardo Dominic NEW
Aditya O MaletSpainAnna Fali PROPOSAL
Antonio B InouyeFranceXuxue Feng PROPOSAL
Izzy O OstroskyJapanIoni Bowcher QUALIFIED
Chavez I FlosiUnited KingdomBernardo Dominic NEW
Maisha G RoysterArgentinaElwin Sharvill PROPOSAL
Jones E CaudyCanadaAmy Elsner RENEWAL
Johnson I GauchoArgentinaStephen Shaw RENEWAL
Deepesh E WieserArgentinaOnyama Limba QUALIFIED
Rodrigues T SaylorsBrazilIvan Magalhaes RENEWAL
Maisha Y DarakjyAustraliaIvan Magalhaes QUALIFIED
Munro E IturbideJapanAmy Elsner UNQUALIFIED
Alejandro W GlickSpainXuxue Feng QUALIFIED
Aika G ButtRussiaIoni Bowcher NEGOTIATION
Aditya W NickaFranceAsiya Javayant NEW
Ricardo T RulapaughItalyIoni Bowcher QUALIFIED
Jennifer T AlbaresSpainXuxue Feng PROPOSAL
Jennifer D DoeArgentinaElwin Sharvill QUALIFIED
Kaitlin M FlosiRussiaOnyama Limba NEGOTIATION
Antonio V RoysterArgentinaElwin Sharvill UNQUALIFIED
Faith B AlbaresIndiaXuxue Feng UNQUALIFIED
Mujtaba X CampainUnited KingdomElwin Sharvill PROPOSAL
Darci N GarufiIndiaAnna Fali PROPOSAL
Jefferson D MaletCanadaIoni Bowcher UNQUALIFIED
Stacey P FollerFranceBernardo Dominic PROPOSAL
Mujtaba H WhobreyJapanIvan Magalhaes NEW
Smith S MaletCanadaIvan Magalhaes PROPOSAL
Juan N MorascaIndiaBernardo Dominic QUALIFIED
Greenwood S FollerArgentinaOnyama Limba RENEWAL
Izzy E StockhamItalyIoni Bowcher PROPOSAL
Salvatore C StockhamCanadaBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Stacey R GlickIndiaBernardo Dominic NEGOTIATION
Murillo L DoeFranceAsiya Javayant PROPOSAL
Clifford U BowleyJapanAsiya Javayant UNQUALIFIED
Salvatore O SaylorsCanadaAmy Elsner UNQUALIFIED
David Z SaylorsItalyAnna Fali UNQUALIFIED
Kadeem Q PerinArgentinaAnna Fali NEGOTIATION
Jones M VocelkaCanadaOnyama Limba RENEWAL
Alejandro Q WieserJapanBernardo Dominic RENEWAL
Maisha X TollnerGermanyAnna Fali NEGOTIATION
Tony H KolmetzJapanIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin I MaletRussia2025-09-23Truhlar And Truhlar Attys NEGOTIATION83Bernardo Dominic
1001Antonio X VocelkaSpain2025-09-29Benton, John B Jr UNQUALIFIED88Xuxue Feng
1002Jeanfrancois T FigeroaItaly2025-09-28Printing Dimensions NEGOTIATION5Anna Fali
1003David Y MaletAustralia2025-09-30Dorl, James J Esq NEW95Anna Fali
1004Munro F ChuiBrazil2025-09-12Feiner Bros RENEWAL92Xuxue Feng
1005Aditya Y KuskoAustralia2025-10-11Buckley Miller Wright NEGOTIATION50Xuxue Feng
1006Salvatore E FigeroaSpain2025-10-09Rangoni Of Florence PROPOSAL20Bernardo Dominic
1007Faith S StensethArgentina2025-10-07Chemel, James L Cpa NEGOTIATION8Xuxue Feng
1008Aruna B GarufiFrance2025-09-13Chapman, Ross E Esq PROPOSAL60Bernardo Dominic
1009Kadeem S RoysterArgentina2025-10-01Dorl, James J Esq QUALIFIED5Anna Fali
1010Aika S ShinkoRussia2025-09-15Chemel, James L Cpa RENEWAL30Elwin Sharvill
1011Ricardo G ChuiCanada2025-10-05Buckley Miller Wright QUALIFIED48Ivan Magalhaes
1012Kaitlin A CaldareraGermany2025-09-13Chemel, James L Cpa QUALIFIED69Elwin Sharvill
1013Leja J SchemmerAustralia2025-09-23Feiner Bros RENEWAL77Stephen Shaw
1014Leon U WhobreyItaly2025-09-30Buckley Miller Wright PROPOSAL53Xuxue Feng
1015Arvin I VocelkaSpain2025-10-09King, Christopher A Esq QUALIFIED91Ioni Bowcher
1016Johnson C BologniaUnited Kingdom2025-09-19Benton, John B Jr PROPOSAL6Anna Fali
1017Isabel F InouyeAustralia2025-09-15Chapman, Ross E Esq RENEWAL25Amy Elsner
1018Chavez Q MaletArgentina2025-10-10Buckley Miller Wright UNQUALIFIED7Amy Elsner
1019Julie F VocelkaArgentina2025-10-05Feiner Bros PROPOSAL61Onyama Limba
1020Smith A PoquetteItaly2025-09-24Feiner Bros NEW78Asiya Javayant
1021Julie A RulapaughFrance2025-09-23Dorl, James J Esq UNQUALIFIED85Anna Fali
1022Deepesh V VocelkaCanada2025-10-08Truhlar And Truhlar Attys NEGOTIATION30Onyama Limba
1023Jones H BowleySpain2025-10-01Rousseaux, Michael Esq UNQUALIFIED66Stephen Shaw
1024Leja V GauchoIndia2025-09-29Rangoni Of Florence NEGOTIATION12Anna Fali
1025Sinclair X SlusarskiBrazil2025-10-09Chemel, James L Cpa UNQUALIFIED85Bernardo Dominic
1026Emily A PoquetteSpain2025-09-20Dorl, James J Esq QUALIFIED78Stephen Shaw
1027Rodrigues N GarufiGermany2025-09-15Feltz Printing Service NEGOTIATION29Xuxue Feng
1028Jefferson R KuskoArgentina2025-09-24Chanay, Jeffrey A Esq NEW0Onyama Limba
1029Munro X OstroskyCanada2025-09-23Printing Dimensions PROPOSAL90Bernardo Dominic
1030Wickens S CampainUnited Kingdom2025-09-24Feiner Bros NEW80Ioni Bowcher
1031Francesco H MarrierIndia2025-10-08Truhlar And Truhlar Attys PROPOSAL5Ioni Bowcher
1032Nicolas O GarufiGermany2025-09-19Commercial Press UNQUALIFIED90Elwin Sharvill
1033Aruna E BriddickSpain2025-09-22Chanay, Jeffrey A Esq PROPOSAL27Asiya Javayant
1034David T WaycottUnited Kingdom2025-10-11Commercial Press UNQUALIFIED7Asiya Javayant
1035Ivar O MaletCanada2025-09-16Feiner Bros QUALIFIED38Onyama Limba
1036Maria N MacleadIndia2025-10-06Commercial Press PROPOSAL6Elwin Sharvill
1037Ricardo Y KolmetzBrazil2025-10-05Rousseaux, Michael Esq NEGOTIATION48Onyama Limba
1038Jennifer S AmigonBrazil2025-09-30Feltz Printing Service NEW39Asiya Javayant
1039Ricardo W GlickGermany2025-09-30King, Christopher A Esq NEGOTIATION14Onyama Limba
1040Darci I RulapaughCanada2025-09-12Chanay, Jeffrey A Esq QUALIFIED56Anna Fali
1041Kadeem P ShinkoItaly2025-09-23Morlong Associates UNQUALIFIED62Ioni Bowcher
1042James X PaprockiGermany2025-10-05Benton, John B Jr NEGOTIATION81Onyama Limba
1043Stacey F ShinkoIndia2025-09-13Commercial Press QUALIFIED1Ivan Magalhaes
1044Leja L InouyeFrance2025-09-23Chemel, James L Cpa UNQUALIFIED60Bernardo Dominic
1045Francesco A OstroskySpain2025-10-09Commercial Press PROPOSAL79Ioni Bowcher
1046James C BriddickAustralia2025-09-26Chanay, Jeffrey A Esq QUALIFIED16Asiya Javayant
1047Ashley P SchemmerCanada2025-10-02Rangoni Of Florence NEW70Asiya Javayant
1048Munro S OstroskyIndia2025-09-12Chapman, Ross E Esq RENEWAL15Amy Elsner
1049Jennifer L BriddickAustralia2025-09-30Buckley Miller Wright RENEWAL23Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Murillo S PoquetteFranceElwin Sharvill PROPOSAL
Mayumi W GauchoItalyOnyama Limba QUALIFIED
Maria R StockhamCanadaStephen Shaw NEGOTIATION
David A MaletUnited KingdomIvan Magalhaes RENEWAL
Arvin I FlosiBrazilXuxue Feng UNQUALIFIED
Julie T RoysterGermanyAsiya Javayant RENEWAL
Aruna Y ShinkoIndiaBernardo Dominic NEW
Sinclair D CaldareraCanadaAsiya Javayant UNQUALIFIED
Mayumi Y FlosiSpainIoni Bowcher NEW
Leja F MaletSpainAnna Fali PROPOSAL
Stacey C GarufiRussiaAsiya Javayant RENEWAL
Salvatore T FerenczAustraliaIvan Magalhaes PROPOSAL
Emily Y BriddickAustraliaStephen Shaw UNQUALIFIED
Tony F BriddickIndiaBernardo Dominic NEW
Aruna G CaudyBrazilAmy Elsner NEGOTIATION
Wickens U GarufiAustraliaAsiya Javayant PROPOSAL
Arvin D BriddickRussiaXuxue Feng NEW
Costa K DarakjyBrazilElwin Sharvill QUALIFIED
Aruna F AmigonArgentinaXuxue Feng RENEWAL
Maisha W ShinkoRussiaIvan Magalhaes NEW
Leja X ShinkoCanadaAsiya Javayant QUALIFIED
Mujtaba A MorascaRussiaAnna Fali PROPOSAL
Mayumi K KuskoIndiaAnna Fali NEW
Claire A MaletFranceStephen Shaw RENEWAL
Murillo N StensethSpainStephen Shaw QUALIFIED
Tony X SergiIndiaAmy Elsner NEW
Murillo N WhobreyAustraliaAsiya Javayant RENEWAL
Leon F KuskoSpainBernardo Dominic UNQUALIFIED
Aika G FerenczItalyAmy Elsner RENEWAL
Costa D MorascaItalyIoni Bowcher UNQUALIFIED
Faith A StockhamBrazilOnyama Limba UNQUALIFIED
Johnson U TollnerRussiaOnyama Limba NEW
Jefferson M GauchoRussiaIoni Bowcher NEGOTIATION
Antonio A MaletIndiaXuxue Feng QUALIFIED
Faith U CaldareraGermanyStephen Shaw NEGOTIATION
Nicolas V DilliardArgentinaStephen Shaw NEGOTIATION
Stacey N IturbideFranceAnna Fali UNQUALIFIED
Antonio Y KuskoJapanAnna Fali NEGOTIATION
Chavez Y RimFranceElwin Sharvill NEGOTIATION
Chavez T RulapaughSpainAmy Elsner NEGOTIATION
Nicolas U FollerCanadaElwin Sharvill PROPOSAL
Stacey C RoysterFranceXuxue Feng NEW
Silvio Z WaycottSpainAsiya Javayant UNQUALIFIED
Jefferson N StensethUnited KingdomIvan Magalhaes UNQUALIFIED
Alejandro I BologniaFranceOnyama Limba PROPOSAL
Ricardo Q FigeroaSpainOnyama Limba RENEWAL
Aika A DoeArgentinaIoni Bowcher NEGOTIATION
Arvin M FigeroaItalyBernardo Dominic UNQUALIFIED
Rodrigues V NickaSpainAsiya Javayant NEGOTIATION
Clifford N MorascaCanadaIvan Magalhaes NEW
Frozen Columns
Name
Jefferson N Slusarski
Tony C Bolognia
Isabel V Campain
Faith R Glick
Ivar M Inouye
Faith T Oldroyd
Arvin I Malet
Cody D Gaucho
Tony U Doe
Izzy X Bolognia
Ashley L Malet
Claire F Rim
Ricardo A Campain
Wickens E Campain
Isabel D Rulapaugh
Misaki O Oldroyd
Salvatore E Amigon
Leon J Garufi
Izzy H Saylors
Emily M Paprocki
Deepesh K Ruta
Jeanfrancois T Kolmetz
Aditya Z Sergi
Claire G Flosi
Cody Y Darakjy
Emily T Figeroa
Rodrigues J Inouye
David X Maclead
Leja O Royster
Jeanfrancois P Stockham
Costa Z Maclead
Nicolas T Royster
Johnson L Shinko
Murillo T Oldroyd
Francesco V Schemmer
Maria M Darakjy
Sinclair O Nicka
David W Bolognia
Francesco V Campain
Murillo G Kusko
Mujtaba M Glick
Maisha G Stockham
Isabel I Royster
Juan S Dilliard
Wickens A Glick
Francesco K Nestle
Salvatore Q Figeroa
Ivar H Garufi
Munro W Vocelka
Leon W Butt
IdCountryDate
1000Australia2025-10-11
1001Russia2025-09-29
1002Canada2025-09-24
1003India2025-10-05
1004Brazil2025-09-24
1005Germany2025-10-07
1006Australia2025-09-23
1007United Kingdom2025-09-30
1008United Kingdom2025-10-11
1009Brazil2025-09-26
1010Spain2025-09-18
1011Brazil2025-09-17
1012Russia2025-10-07
1013India2025-10-03
1014Brazil2025-10-09
1015India2025-09-18
1016United Kingdom2025-09-30
1017Germany2025-10-03
1018Spain2025-10-02
1019France2025-10-08
1020United Kingdom2025-09-15
1021France2025-09-19
1022Spain2025-10-02
1023Canada2025-10-05
1024Brazil2025-10-08
1025Germany2025-09-14
1026Italy2025-09-21
1027India2025-10-08
1028Argentina2025-09-24
1029India2025-09-13
1030Germany2025-09-28
1031United Kingdom2025-10-01
1032Italy2025-09-27
1033Germany2025-09-14
1034Australia2025-09-23
1035Canada2025-09-21
1036Australia2025-09-25
1037India2025-09-13
1038Italy2025-10-11
1039Canada2025-09-30
1040France2025-10-04
1041United Kingdom2025-09-16
1042Germany2025-09-28
1043Spain2025-09-21
1044France2025-10-11
1045United Kingdom2025-09-25
1046Brazil2025-09-22
1047Russia2025-10-06
1048Japan2025-09-12
1049Canada2025-09-28

On-Demand Data

NameIdCountryDate
Leja D Campain1000Argentina2025-10-04
Stacey M Slusarski1001Russia2025-10-04
Deepesh S Albares1002Canada2025-09-21
Chavez E Flosi1003France2025-09-22
Murillo A Garufi1004Germany2025-10-07
Stacey B Shinko1005Italy2025-09-17
Clifford O Perin1006Russia2025-10-02
Ricardo Y Gillian1007Russia2025-09-30
Francesco D Royster1008France2025-10-06
Octavia U Figeroa1009Germany2025-09-18
Murillo J Caudy1010Germany2025-10-06
Jeanfrancois A Stenseth1011Italy2025-09-16
Isabel A Perin1012United Kingdom2025-10-01
Julie G Albares1013Germany2025-09-12
Darci X Darakjy1014Spain2025-09-26
Arvin J Amigon1015Japan2025-09-12
Aruna Y Garufi1016Japan2025-09-21
Tony R Stockham1017United Kingdom2025-10-11
Misaki G Campain1018Argentina2025-09-15
Emily L Waycott1019France2025-10-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones P SaylorsRussiaAnna Fali QUALIFIED
Juan Q DoeIndiaOnyama Limba UNQUALIFIED
Isabel P PerinFranceAsiya Javayant NEW
Darci U SaylorsCanadaOnyama Limba RENEWAL
Munro O BriddickItalyIoni Bowcher PROPOSAL
Stacey V BowleyItalyXuxue Feng UNQUALIFIED
Misaki X OstroskyAustraliaIoni Bowcher RENEWAL
David K MarrierFranceIvan Magalhaes RENEWAL
Tony S GillianSpainElwin Sharvill PROPOSAL
Adams P NestleGermanyAnna Fali NEW
Francesco T RoysterItalyAmy Elsner NEW
Clifford B SaylorsUnited KingdomXuxue Feng NEGOTIATION
Stacey B RulapaughArgentinaStephen Shaw QUALIFIED
Aika X MacleadIndiaAnna Fali PROPOSAL
Deepesh M FlosiArgentinaXuxue Feng UNQUALIFIED
Ivar D BowleyJapanAnna Fali NEW
Ashley K SaylorsArgentinaElwin Sharvill UNQUALIFIED
Sinclair Y PaprockiAustraliaOnyama Limba RENEWAL
Deepesh N GillianJapanElwin Sharvill NEW
Mujtaba W ChuiArgentinaElwin Sharvill PROPOSAL
Aditya Q IturbideJapanIvan Magalhaes QUALIFIED
Ashley S CaudyGermanyIoni Bowcher RENEWAL
Mujtaba C CampainSpainIvan Magalhaes QUALIFIED
Sinclair B AlbaresJapanStephen Shaw PROPOSAL
Jones C ChuiBrazilElwin Sharvill RENEWAL
Clifford V RulapaughSpainAsiya Javayant QUALIFIED
Francesco T ButtCanadaXuxue Feng RENEWAL
Clifford I WieserFranceXuxue Feng RENEWAL
Francesco X DilliardGermanyXuxue Feng NEGOTIATION
Murillo L MarrierRussiaElwin Sharvill UNQUALIFIED
Cody A StockhamRussiaAmy Elsner PROPOSAL
Chavez J SlusarskiRussiaBernardo Dominic QUALIFIED
Antonio M PerinIndiaStephen Shaw QUALIFIED
Kaitlin J CaldareraJapanAsiya Javayant NEGOTIATION
James H AmigonGermanyElwin Sharvill PROPOSAL
Leja W KolmetzJapanAmy Elsner NEW
Silvio Y SchemmerIndiaIoni Bowcher RENEWAL
Octavia I OstroskyAustraliaAmy Elsner QUALIFIED
Emily Y SchemmerFranceStephen Shaw QUALIFIED
Francesco E VocelkaBrazilXuxue Feng PROPOSAL

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