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
Claire C NickaUnited KingdomAmy Elsner RENEWAL
Aditya E RimArgentinaIoni Bowcher NEGOTIATION
Costa Y AmigonIndiaAmy Elsner NEGOTIATION
Silvio U FlosiItalyElwin Sharvill QUALIFIED
Ivar F RulapaughIndiaOnyama Limba QUALIFIED
Costa U FlosiGermanyElwin Sharvill NEW
Stacey X FigeroaUnited KingdomElwin Sharvill QUALIFIED
Aruna H GauchoJapanIoni Bowcher QUALIFIED
Antonio O GlickBrazilAnna Fali UNQUALIFIED
Octavia N OldroydSpainIvan Magalhaes PROPOSAL
Chavez E PerinArgentinaIvan Magalhaes RENEWAL
Aditya Z OstroskyJapanAmy Elsner NEW
Jennifer U VocelkaJapanXuxue Feng NEW
Smith G GillianUnited KingdomOnyama Limba RENEWAL
Aditya H MorascaBrazilXuxue Feng RENEWAL
Emily O WaycottJapanAmy Elsner NEGOTIATION
Mayumi X GauchoJapanXuxue Feng NEW
James S GarufiArgentinaIoni Bowcher UNQUALIFIED
Cody N BriddickCanadaBernardo Dominic PROPOSAL
Leon D FlosiArgentinaXuxue Feng UNQUALIFIED
Jeanfrancois Z NestleCanadaBernardo Dominic NEGOTIATION
Clifford X SaylorsItalyStephen Shaw PROPOSAL
Wickens F MorascaJapanIvan Magalhaes UNQUALIFIED
Leon F PaprockiAustraliaStephen Shaw QUALIFIED
Greenwood H MacleadFranceAnna Fali PROPOSAL
Jones F PoquetteGermanyStephen Shaw NEW
Francesco W ButtUnited KingdomXuxue Feng RENEWAL
Leja E DarakjyIndiaIvan Magalhaes NEGOTIATION
Kadeem C NestleFranceOnyama Limba QUALIFIED
Octavia K SaylorsGermanyAsiya Javayant RENEWAL
Emily N MarrierUnited KingdomXuxue Feng PROPOSAL
Kadeem E ShinkoRussiaOnyama Limba NEGOTIATION
Alejandro F CaldareraCanadaIvan Magalhaes QUALIFIED
Johnson Y ButtRussiaStephen Shaw PROPOSAL
Faith K WhobreyCanadaAmy Elsner NEGOTIATION
Aruna M KolmetzUnited KingdomElwin Sharvill UNQUALIFIED
Antonio M OldroydJapanBernardo Dominic NEGOTIATION
Jeanfrancois A CaudyFranceStephen Shaw NEW
Ricardo C StockhamUnited KingdomXuxue Feng QUALIFIED
Aditya A SergiGermanyIvan Magalhaes QUALIFIED
Mujtaba X WaycottRussiaIvan Magalhaes QUALIFIED
Arvin M VenereArgentinaAsiya Javayant RENEWAL
Maria Q MaletGermanyStephen Shaw NEGOTIATION
Leon O FigeroaCanadaStephen Shaw UNQUALIFIED
Aika R FollerRussiaXuxue Feng NEW
Ricardo W RulapaughGermanyAnna Fali QUALIFIED
Cody G DoeBrazilAsiya Javayant NEW
Smith C SlusarskiRussiaElwin Sharvill RENEWAL
Izzy D FerenczJapanElwin Sharvill UNQUALIFIED
Maria R VenereIndiaAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Leja V GauchoItalyBernardo Dominic NEW
Munro P SaylorsIndiaStephen Shaw NEGOTIATION
Alejandro S OstroskyRussiaXuxue Feng RENEWAL
James Y ChuiRussiaAmy Elsner NEGOTIATION
Stacey X RutaAustraliaIvan Magalhaes NEW
Clifford N GlickItalyBernardo Dominic NEW
Cody Z PoquetteUnited KingdomElwin Sharvill RENEWAL
Costa W CampainItalyIoni Bowcher PROPOSAL
Munro N NestleAustraliaStephen Shaw UNQUALIFIED
Misaki Z SergiGermanyIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel V PerinIndia2025-09-27Buckley Miller Wright PROPOSAL11Anna Fali
1001Antonio F CampainCanada2025-10-14Chanay, Jeffrey A Esq NEGOTIATION15Amy Elsner
1002Antonio T BologniaIndia2025-09-23Rangoni Of Florence RENEWAL66Asiya Javayant
1003Smith S FerenczUnited Kingdom2025-10-03Chemel, James L Cpa UNQUALIFIED41Stephen Shaw
1004Antonio Q CampainRussia2025-09-25Feltz Printing Service PROPOSAL55Bernardo Dominic
1005Izzy O ChuiRussia2025-10-09King, Christopher A Esq NEGOTIATION92Bernardo Dominic
1006Ricardo B DoeUnited Kingdom2025-10-03Morlong Associates QUALIFIED26Onyama Limba
1007Emily R MacleadBrazil2025-10-03Benton, John B Jr QUALIFIED28Bernardo Dominic
1008Chavez X WhobreyAustralia2025-10-09Rousseaux, Michael Esq RENEWAL88Ioni Bowcher
1009Silvio W TollnerUnited Kingdom2025-10-05Benton, John B Jr UNQUALIFIED58Anna Fali
1010David W MarrierArgentina2025-09-25Morlong Associates RENEWAL66Ioni Bowcher
1011Maisha X ChuiAustralia2025-10-04Chemel, James L Cpa PROPOSAL84Anna Fali
1012Francesco M OstroskyFrance2025-10-06Chemel, James L Cpa UNQUALIFIED40Stephen Shaw
1013Sinclair V DoeJapan2025-10-08Commercial Press PROPOSAL38Ivan Magalhaes
1014Clifford D WhobreyArgentina2025-09-29Printing Dimensions QUALIFIED90Ivan Magalhaes
1015Aditya L AmigonGermany2025-09-28Rousseaux, Michael Esq UNQUALIFIED91Anna Fali
1016Alejandro O PerinIndia2025-09-22Rousseaux, Michael Esq RENEWAL82Asiya Javayant
1017David X WhobreyUnited Kingdom2025-10-01Feiner Bros RENEWAL12Stephen Shaw
1018Maisha J GillianBrazil2025-10-02Feltz Printing Service NEW6Asiya Javayant
1019Ashley I MarrierAustralia2025-09-30King, Christopher A Esq PROPOSAL24Stephen Shaw
1020Morrow A NickaRussia2025-09-24Truhlar And Truhlar Attys QUALIFIED37Onyama Limba
1021Jefferson O BologniaGermany2025-09-25Rousseaux, Michael Esq UNQUALIFIED38Anna Fali
1022Antonio N FigeroaBrazil2025-10-07Commercial Press NEGOTIATION40Ivan Magalhaes
1023Mujtaba X MacleadFrance2025-10-14Dorl, James J Esq NEGOTIATION96Elwin Sharvill
1024Darci I WhobreyRussia2025-10-05Chemel, James L Cpa UNQUALIFIED40Asiya Javayant
1025Mayumi K RutaAustralia2025-10-13Dorl, James J Esq QUALIFIED13Elwin Sharvill
1026Clifford A ButtFrance2025-10-10Morlong Associates PROPOSAL90Stephen Shaw
1027Ashley Z InouyeAustralia2025-10-05Benton, John B Jr PROPOSAL57Onyama Limba
1028Munro E AlbaresAustralia2025-10-17Benton, John B Jr NEW74Asiya Javayant
1029Salvatore O IturbideItaly2025-09-19Chemel, James L Cpa NEW55Elwin Sharvill
1030Julie S ButtGermany2025-10-03Chanay, Jeffrey A Esq PROPOSAL10Bernardo Dominic
1031Stacey T ShinkoUnited Kingdom2025-10-05Commercial Press NEW56Anna Fali
1032James D RimGermany2025-09-29Truhlar And Truhlar Attys RENEWAL62Onyama Limba
1033Murillo U SchemmerBrazil2025-10-07Feiner Bros RENEWAL67Stephen Shaw
1034Misaki F PaprockiItaly2025-10-12Benton, John B Jr RENEWAL70Elwin Sharvill
1035Jones V CaudyGermany2025-10-02Buckley Miller Wright QUALIFIED66Bernardo Dominic
1036Antonio H StockhamFrance2025-10-15Chanay, Jeffrey A Esq QUALIFIED36Ivan Magalhaes
1037Sinclair J GauchoUnited Kingdom2025-09-28King, Christopher A Esq RENEWAL50Stephen Shaw
1038Murillo B MorascaFrance2025-10-16Feiner Bros UNQUALIFIED11Ioni Bowcher
1039Kadeem C OldroydAustralia2025-10-18Feiner Bros NEW10Amy Elsner
1040Faith K SaylorsItaly2025-10-04Benton, John B Jr NEGOTIATION16Onyama Limba
1041Munro U CampainBrazil2025-09-28Dorl, James J Esq QUALIFIED29Stephen Shaw
1042Stacey H KolmetzItaly2025-10-14King, Christopher A Esq RENEWAL80Bernardo Dominic
1043Misaki E ChuiJapan2025-10-12King, Christopher A Esq NEGOTIATION28Bernardo Dominic
1044Mujtaba F AlbaresGermany2025-10-05Truhlar And Truhlar Attys NEW55Amy Elsner
1045Ashley A CaudyRussia2025-09-19Morlong Associates UNQUALIFIED62Amy Elsner
1046Stacey U BowleyJapan2025-10-11Commercial Press UNQUALIFIED44Asiya Javayant
1047Leja B SaylorsCanada2025-10-14Chanay, Jeffrey A Esq NEW56Stephen Shaw
1048Morrow K WaycottRussia2025-09-19King, Christopher A Esq RENEWAL63Asiya Javayant
1049Morrow O FigeroaFrance2025-09-27Feiner Bros PROPOSAL21Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Johnson K ShinkoItalyAsiya Javayant UNQUALIFIED
Adams G RutaUnited KingdomBernardo Dominic NEW
Kaitlin H FollerFranceIoni Bowcher NEGOTIATION
Leon S GauchoBrazilElwin Sharvill UNQUALIFIED
Leon X AlbaresItalyAnna Fali NEW
Leon F SergiRussiaAnna Fali QUALIFIED
Johnson F AlbaresJapanAsiya Javayant RENEWAL
Jennifer W VocelkaBrazilAsiya Javayant NEGOTIATION
Jefferson F DoeGermanyAsiya Javayant PROPOSAL
Aditya T CaudyRussiaAmy Elsner QUALIFIED
Alejandro L CampainCanadaAnna Fali RENEWAL
Cody P MacleadAustraliaIvan Magalhaes UNQUALIFIED
Sinclair L RoysterBrazilIoni Bowcher UNQUALIFIED
Tony S VenereRussiaIoni Bowcher NEW
Cody Y BologniaBrazilAnna Fali PROPOSAL
Octavia T SchemmerFranceXuxue Feng NEGOTIATION
David S AlbaresAustraliaAnna Fali RENEWAL
Wickens Q SaylorsGermanyIoni Bowcher NEGOTIATION
Mujtaba Q SlusarskiAustraliaIoni Bowcher QUALIFIED
Silvio D CampainCanadaIoni Bowcher UNQUALIFIED
Julie W VocelkaRussiaAmy Elsner NEW
Jefferson D TollnerAustraliaAnna Fali NEGOTIATION
Johnson J GillianGermanyOnyama Limba UNQUALIFIED
Izzy F VenereJapanAnna Fali UNQUALIFIED
Julie D WaycottAustraliaStephen Shaw NEGOTIATION
David R DarakjyRussiaOnyama Limba QUALIFIED
Darci D KolmetzUnited KingdomXuxue Feng UNQUALIFIED
Maisha A NickaFranceXuxue Feng NEW
Julie O CampainAustraliaAsiya Javayant NEGOTIATION
Ivar G ButtIndiaAsiya Javayant NEGOTIATION
Juan M PerinUnited KingdomAmy Elsner PROPOSAL
Murillo S DilliardUnited KingdomAnna Fali NEGOTIATION
Izzy Z RutaItalyOnyama Limba PROPOSAL
Wickens E ButtGermanyBernardo Dominic NEW
Costa H DilliardGermanyAmy Elsner QUALIFIED
Antonio X FerenczUnited KingdomIvan Magalhaes NEW
Adams X NickaRussiaBernardo Dominic NEGOTIATION
Julie C CaudySpainAmy Elsner NEGOTIATION
Johnson S OldroydGermanyIoni Bowcher PROPOSAL
Deepesh Z NestleUnited KingdomIoni Bowcher QUALIFIED
Juan Y RimAustraliaElwin Sharvill NEW
Ricardo J ShinkoBrazilAmy Elsner RENEWAL
Juan U DilliardJapanIvan Magalhaes UNQUALIFIED
Mujtaba M WhobreyCanadaAnna Fali NEW
Maria N VocelkaUnited KingdomXuxue Feng PROPOSAL
Mayumi B FollerCanadaStephen Shaw PROPOSAL
Emily Y ShinkoRussiaXuxue Feng UNQUALIFIED
Ivar P InouyeGermanyAnna Fali NEGOTIATION
Aditya R FerenczFranceAsiya Javayant RENEWAL
Murillo P RoysterAustraliaAnna Fali PROPOSAL
Frozen Columns
Name
Stacey F Garufi
Costa O Figeroa
Mayumi I Caudy
Ivar I Butt
Greenwood Z Marrier
Aika U Royster
Leon A Marrier
Antonio V Figeroa
Aika M Oldroyd
Johnson X Waycott
Maisha T Slusarski
James U Kusko
Aditya H Stockham
Adams X Waycott
Clifford V Ostrosky
Costa J Ruta
Cody Z Tollner
Jeanfrancois H Glick
Smith W Shinko
Izzy Z Glick
Mayumi V Sergi
Emily R Tollner
Aditya H Shinko
Isabel C Bowley
Emily V Waycott
Morrow N Inouye
Munro J Iturbide
James C Malet
Juan Y Caudy
Kadeem R Butt
Murillo R Ferencz
Greenwood Y Poquette
Leon I Marrier
Julie G Nicka
Antonio D Ferencz
Antonio Z Malet
Greenwood U Morasca
David N Poquette
Clifford H Bowley
James L Maclead
Kadeem N Amigon
Ivar U Rim
Ivar D Chui
Ricardo Z Foller
Deepesh Z Amigon
Kaitlin X Saylors
Jeanfrancois U Stenseth
Jones T Ferencz
Cody X Stockham
Aruna K Stenseth
IdCountryDate
1000Brazil2025-10-17
1001Australia2025-10-14
1002Australia2025-10-13
1003Australia2025-10-14
1004Spain2025-09-29
1005Spain2025-09-21
1006Canada2025-09-20
1007United Kingdom2025-09-24
1008Canada2025-10-12
1009Brazil2025-10-08
1010Brazil2025-09-25
1011India2025-09-26
1012Australia2025-09-19
1013Canada2025-10-16
1014Canada2025-10-15
1015Italy2025-10-04
1016Argentina2025-09-25
1017Argentina2025-10-01
1018Australia2025-10-14
1019Germany2025-09-23
1020Spain2025-09-26
1021Brazil2025-09-23
1022Spain2025-10-10
1023Argentina2025-10-17
1024Germany2025-10-14
1025Argentina2025-10-10
1026Brazil2025-10-07
1027France2025-10-12
1028United Kingdom2025-10-02
1029Argentina2025-10-11
1030Argentina2025-09-27
1031France2025-10-10
1032Canada2025-10-04
1033Argentina2025-09-27
1034United Kingdom2025-10-05
1035Russia2025-09-26
1036Italy2025-10-06
1037Russia2025-09-24
1038France2025-09-23
1039Germany2025-10-01
1040Spain2025-09-23
1041Japan2025-10-08
1042France2025-10-13
1043Germany2025-10-02
1044Germany2025-09-20
1045Canada2025-10-12
1046Russia2025-10-17
1047France2025-09-20
1048India2025-10-17
1049Germany2025-09-24

On-Demand Data

NameIdCountryDate
Sinclair A Ruta1000Australia2025-10-05
Jennifer Z Maclead1001Argentina2025-09-27
Leja T Doe1002Germany2025-09-24
Leon W Gillian1003Russia2025-10-14
Johnson X Glick1004Australia2025-10-15
Ricardo N Rim1005Germany2025-09-23
Mayumi C Poquette1006France2025-09-22
Aruna Q Vocelka1007Australia2025-09-30
Maisha H Shinko1008Australia2025-10-05
Aditya B Figeroa1009Russia2025-09-30
Morrow K Albares1010Italy2025-10-03
Stacey C Stockham1011France2025-10-08
Alejandro F Stenseth1012Canada2025-10-09
Misaki K Figeroa1013Brazil2025-09-25
Mayumi Q Shinko1014India2025-10-14
Aditya K Vocelka1015Brazil2025-10-10
Arvin G Royster1016Spain2025-10-07
Munro L Glick1017Argentina2025-09-23
Claire A Shinko1018Spain2025-09-26
Francesco V Bowley1019Japan2025-10-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James S PaprockiRussiaAmy Elsner QUALIFIED
Juan D RimRussiaOnyama Limba NEW
Salvatore A ChuiItalyOnyama Limba PROPOSAL
Darci E SaylorsRussiaStephen Shaw NEGOTIATION
Munro G FlosiItalyIvan Magalhaes UNQUALIFIED
Costa X PerinGermanyElwin Sharvill PROPOSAL
Nicolas Q GlickIndiaStephen Shaw QUALIFIED
Smith O MaletUnited KingdomAnna Fali NEGOTIATION
Clifford U ShinkoCanadaElwin Sharvill RENEWAL
Cody D DoeAustraliaXuxue Feng NEGOTIATION
Clifford K AmigonJapanIvan Magalhaes QUALIFIED
Rodrigues B CampainGermanyAsiya Javayant PROPOSAL
Wickens Q MaletRussiaStephen Shaw NEW
Francesco F CaudyIndiaAnna Fali NEW
Rodrigues C SergiRussiaElwin Sharvill PROPOSAL
Greenwood W SlusarskiFranceIoni Bowcher NEW
Alejandro Y WaycottAustraliaIoni Bowcher PROPOSAL
Aditya C SlusarskiGermanyOnyama Limba RENEWAL
Leja X FlosiAustraliaAmy Elsner UNQUALIFIED
Jefferson X DilliardFranceAnna Fali PROPOSAL
Stacey Q FollerFranceElwin Sharvill PROPOSAL
Jones Y WhobreyArgentinaAnna Fali UNQUALIFIED
Jefferson O WaycottItalyStephen Shaw QUALIFIED
Ashley K WaycottItalyAmy Elsner NEGOTIATION
Francesco L RimIndiaStephen Shaw NEW
Aditya B StensethAustraliaAnna Fali RENEWAL
Octavia S FigeroaRussiaXuxue Feng UNQUALIFIED
Aditya Q AlbaresArgentinaBernardo Dominic QUALIFIED
James L GlickArgentinaAsiya Javayant NEW
Maisha J ShinkoItalyAsiya Javayant NEW
Faith O CaldareraCanadaIoni Bowcher NEGOTIATION
Ricardo H BriddickIndiaAsiya Javayant NEW
Adams D MaletIndiaElwin Sharvill RENEWAL
Kadeem W DilliardAustraliaAmy Elsner NEGOTIATION
Nicolas B FlosiArgentinaOnyama Limba NEW
Aditya R RulapaughFranceAnna Fali NEGOTIATION
Deepesh C GarufiGermanyStephen Shaw PROPOSAL
Rodrigues J OstroskyUnited KingdomStephen Shaw QUALIFIED
Adams S InouyeArgentinaOnyama Limba QUALIFIED
Emily V BologniaJapanAmy Elsner QUALIFIED

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