November Deals: Limited Coupons Available! 🎁 Claim Your Coupon

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
Maria Z RutaFranceIvan Magalhaes NEW
Aruna T KolmetzFranceXuxue Feng NEW
Aika U StockhamAustraliaBernardo Dominic NEGOTIATION
Izzy Q RimUnited KingdomAnna Fali NEW
Arvin T PoquetteArgentinaIvan Magalhaes UNQUALIFIED
Tony W StensethFranceStephen Shaw RENEWAL
Izzy H VenereCanadaXuxue Feng PROPOSAL
Octavia I SergiItalyIvan Magalhaes RENEWAL
Emily R InouyeSpainAmy Elsner NEW
Izzy L BriddickJapanIoni Bowcher QUALIFIED
Darci V GauchoArgentinaAmy Elsner NEGOTIATION
Smith P WhobreyGermanyStephen Shaw QUALIFIED
Maria C ButtBrazilOnyama Limba NEW
Mujtaba W GarufiSpainStephen Shaw UNQUALIFIED
Chavez E GauchoItalyStephen Shaw PROPOSAL
Faith Z WieserSpainAmy Elsner PROPOSAL
Arvin J SlusarskiBrazilAsiya Javayant NEGOTIATION
Jones G BologniaCanadaElwin Sharvill PROPOSAL
Leon O BowleySpainAnna Fali NEW
Costa V GauchoAustraliaXuxue Feng PROPOSAL
Murillo R WaycottAustraliaAnna Fali PROPOSAL
Wickens U WaycottArgentinaStephen Shaw NEW
Jefferson X PoquetteArgentinaIoni Bowcher RENEWAL
Johnson U KolmetzFranceXuxue Feng QUALIFIED
Salvatore S KuskoSpainIoni Bowcher UNQUALIFIED
Jefferson L OstroskyJapanAmy Elsner QUALIFIED
Faith H KolmetzCanadaOnyama Limba NEW
Alejandro P PaprockiUnited KingdomIoni Bowcher RENEWAL
James Q CaudyUnited KingdomIoni Bowcher NEW
Stacey D MarrierRussiaXuxue Feng NEW
Francesco P MorascaUnited KingdomIoni Bowcher RENEWAL
Juan O BriddickUnited KingdomAsiya Javayant NEGOTIATION
Arvin Z RimArgentinaIvan Magalhaes RENEWAL
Ricardo X CampainGermanyAsiya Javayant UNQUALIFIED
Smith S AlbaresArgentinaOnyama Limba QUALIFIED
Misaki G MaletRussiaAsiya Javayant NEGOTIATION
Leja S CaldareraUnited KingdomBernardo Dominic RENEWAL
Octavia O IturbideBrazilIvan Magalhaes NEW
Costa Z KuskoJapanBernardo Dominic QUALIFIED
Jeanfrancois V InouyeCanadaElwin Sharvill RENEWAL
Cody J AlbaresSpainIvan Magalhaes PROPOSAL
Sinclair U WieserFranceIoni Bowcher NEW
Nicolas S DoeIndiaElwin Sharvill PROPOSAL
Isabel A CampainFranceIoni Bowcher PROPOSAL
Leon V MacleadGermanyStephen Shaw NEGOTIATION
Faith Y WaycottItalyIoni Bowcher QUALIFIED
Stacey D WieserRussiaAsiya Javayant QUALIFIED
Rodrigues Z DoeUnited KingdomBernardo Dominic PROPOSAL
Aditya K GauchoCanadaAsiya Javayant QUALIFIED
Darci X MaletAustraliaBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Deepesh P PoquetteJapanAsiya Javayant UNQUALIFIED
Mayumi O SlusarskiIndiaAsiya Javayant UNQUALIFIED
Cody T FlosiUnited KingdomStephen Shaw NEW
Ricardo C AlbaresUnited KingdomOnyama Limba UNQUALIFIED
Mujtaba G VenereRussiaIvan Magalhaes RENEWAL
Adams Y VenereGermanyXuxue Feng NEW
Claire P SergiIndiaStephen Shaw NEGOTIATION
Arvin V GillianArgentinaStephen Shaw UNQUALIFIED
Maisha P GlickAustraliaAnna Fali QUALIFIED
Ashley V GauchoGermanyIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh G CaudyFrance2026-09-18Rousseaux, Michael Esq RENEWAL56Stephen Shaw
1001Nicolas K GarufiGermany2026-10-12Buckley Miller Wright QUALIFIED62Ivan Magalhaes
1002Kadeem H KolmetzSpain2026-09-21Feiner Bros PROPOSAL66Ivan Magalhaes
1003Ivar I KolmetzFrance2026-09-28Commercial Press UNQUALIFIED17Elwin Sharvill
1004Johnson F OstroskyFrance2026-09-25Feltz Printing Service NEW80Amy Elsner
1005James M MaletBrazil2026-09-28Dorl, James J Esq RENEWAL43Bernardo Dominic
1006Ashley W GillianArgentina2026-09-18Printing Dimensions PROPOSAL8Ioni Bowcher
1007Alejandro I FollerJapan2026-09-14Morlong Associates RENEWAL88Xuxue Feng
1008Kadeem Y VocelkaAustralia2026-10-07Dorl, James J Esq NEW92Anna Fali
1009Faith I RimUnited Kingdom2026-10-10Morlong Associates NEGOTIATION83Elwin Sharvill
1010Jefferson X ShinkoRussia2026-09-15Rangoni Of Florence RENEWAL44Ioni Bowcher
1011Maria L StensethAustralia2026-09-16Commercial Press NEGOTIATION69Ioni Bowcher
1012Darci N WaycottBrazil2026-10-10Chanay, Jeffrey A Esq RENEWAL69Bernardo Dominic
1013James M NickaAustralia2026-10-12Chapman, Ross E Esq UNQUALIFIED74Elwin Sharvill
1014Chavez A MaletSpain2026-10-07Benton, John B Jr UNQUALIFIED49Onyama Limba
1015Kadeem G VocelkaGermany2026-10-11Commercial Press UNQUALIFIED16Ioni Bowcher
1016Jones I WieserBrazil2026-09-27Chemel, James L Cpa NEW95Xuxue Feng
1017Aika I AlbaresAustralia2026-10-09Dorl, James J Esq NEW49Asiya Javayant
1018Darci Q MarrierGermany2026-09-21Printing Dimensions QUALIFIED86Amy Elsner
1019Leon G InouyeBrazil2026-09-19King, Christopher A Esq UNQUALIFIED74Ivan Magalhaes
1020Costa I FigeroaFrance2026-10-03Chemel, James L Cpa NEGOTIATION85Elwin Sharvill
1021Misaki K SchemmerArgentina2026-09-29Printing Dimensions NEW14Ivan Magalhaes
1022Smith B AmigonGermany2026-10-05Commercial Press UNQUALIFIED16Anna Fali
1023Alejandro C GlickJapan2026-09-20Buckley Miller Wright QUALIFIED89Bernardo Dominic
1024Emily R DoeArgentina2026-09-17Printing Dimensions NEGOTIATION4Xuxue Feng
1025Aruna H KuskoArgentina2026-10-12Printing Dimensions PROPOSAL1Xuxue Feng
1026Chavez F RimJapan2026-09-19Chanay, Jeffrey A Esq UNQUALIFIED24Xuxue Feng
1027Morrow P IturbideGermany2026-09-30Commercial Press PROPOSAL62Ioni Bowcher
1028Clifford H TollnerItaly2026-09-17Chemel, James L Cpa NEGOTIATION52Ioni Bowcher
1029Murillo X FollerUnited Kingdom2026-09-20Chemel, James L Cpa NEW11Asiya Javayant
1030Stacey M SaylorsUnited Kingdom2026-10-05Buckley Miller Wright UNQUALIFIED38Bernardo Dominic
1031Clifford Q DoeSpain2026-10-01Commercial Press QUALIFIED7Stephen Shaw
1032Ivar X CampainGermany2026-09-21Commercial Press QUALIFIED87Onyama Limba
1033Julie J RulapaughIndia2026-10-03Truhlar And Truhlar Attys NEGOTIATION20Onyama Limba
1034Alejandro I KuskoUnited Kingdom2026-09-17Chanay, Jeffrey A Esq PROPOSAL53Ioni Bowcher
1035David Z MorascaJapan2026-10-09Chapman, Ross E Esq QUALIFIED97Amy Elsner
1036Ashley D WaycottRussia2026-10-11Feltz Printing Service PROPOSAL86Anna Fali
1037Jeanfrancois X MorascaSpain2026-09-23Printing Dimensions UNQUALIFIED27Bernardo Dominic
1038Clifford W BowleyCanada2026-09-17Feiner Bros UNQUALIFIED30Elwin Sharvill
1039Sinclair X RoysterAustralia2026-09-14Buckley Miller Wright UNQUALIFIED25Xuxue Feng
1040Maria Q FigeroaBrazil2026-10-05Chapman, Ross E Esq UNQUALIFIED29Bernardo Dominic
1041Isabel I NickaCanada2026-10-11Commercial Press RENEWAL12Stephen Shaw
1042Salvatore X CampainAustralia2026-10-09Printing Dimensions NEGOTIATION64Anna Fali
1043James C StensethUnited Kingdom2026-09-16Buckley Miller Wright RENEWAL29Elwin Sharvill
1044Jones O NickaRussia2026-09-22Buckley Miller Wright NEGOTIATION7Stephen Shaw
1045Greenwood S OstroskySpain2026-09-24King, Christopher A Esq NEGOTIATION74Anna Fali
1046Claire C VocelkaIndia2026-09-14Dorl, James J Esq NEGOTIATION34Elwin Sharvill
1047Leja E DoeAustralia2026-09-20Rangoni Of Florence PROPOSAL77Ioni Bowcher
1048Rodrigues L CaldareraItaly2026-09-22Benton, John B Jr NEGOTIATION25Xuxue Feng
1049Murillo K ShinkoItaly2026-10-05Printing Dimensions PROPOSAL97Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Smith V CaudyItalyXuxue Feng NEGOTIATION
Ricardo T DarakjyBrazilIvan Magalhaes NEW
Juan A GlickFranceXuxue Feng PROPOSAL
Izzy W GillianCanadaElwin Sharvill NEGOTIATION
Darci U InouyeArgentinaIvan Magalhaes NEGOTIATION
Leja G ChuiCanadaIvan Magalhaes PROPOSAL
David U VocelkaBrazilBernardo Dominic NEGOTIATION
Isabel P DoeCanadaIoni Bowcher PROPOSAL
Jennifer T StensethRussiaBernardo Dominic QUALIFIED
Isabel P DoeCanadaXuxue Feng NEGOTIATION
Arvin U MacleadUnited KingdomIvan Magalhaes RENEWAL
Munro I MorascaArgentinaAsiya Javayant PROPOSAL
Leon F StockhamUnited KingdomAnna Fali NEW
Morrow U AlbaresRussiaIvan Magalhaes NEW
Leon E DilliardFranceXuxue Feng NEW
Darci N NickaGermanyAsiya Javayant NEW
Darci M RulapaughBrazilBernardo Dominic UNQUALIFIED
Faith P SergiIndiaIvan Magalhaes RENEWAL
Ashley B CaldareraRussiaIvan Magalhaes UNQUALIFIED
Mujtaba P ChuiCanadaAmy Elsner RENEWAL
Emily M GauchoFranceAsiya Javayant NEGOTIATION
Greenwood T WieserRussiaBernardo Dominic NEGOTIATION
Mujtaba V PerinGermanyAmy Elsner NEW
Murillo Y VocelkaSpainXuxue Feng NEW
Darci T WieserJapanStephen Shaw UNQUALIFIED
Julie J WaycottIndiaAmy Elsner PROPOSAL
Jennifer T WieserJapanAsiya Javayant RENEWAL
Jeanfrancois K VenereAustraliaElwin Sharvill NEW
Silvio W NickaRussiaIvan Magalhaes UNQUALIFIED
Morrow X ButtUnited KingdomIoni Bowcher PROPOSAL
Rodrigues J SaylorsItalyAmy Elsner QUALIFIED
Jennifer L FigeroaCanadaElwin Sharvill NEW
Octavia T DarakjyGermanyStephen Shaw UNQUALIFIED
Aruna E FerenczBrazilOnyama Limba RENEWAL
Stacey Z FigeroaJapanAnna Fali QUALIFIED
Aika J DoeGermanyOnyama Limba QUALIFIED
Leon U AlbaresCanadaStephen Shaw NEW
Ashley D KolmetzBrazilIoni Bowcher PROPOSAL
Maisha D GlickItalyBernardo Dominic NEGOTIATION
Nicolas P ShinkoGermanyIvan Magalhaes PROPOSAL
David S DarakjyGermanyAmy Elsner UNQUALIFIED
Chavez N PaprockiBrazilBernardo Dominic UNQUALIFIED
Jennifer W CaudySpainElwin Sharvill QUALIFIED
Kadeem K BologniaArgentinaXuxue Feng RENEWAL
Tony P RimUnited KingdomBernardo Dominic PROPOSAL
Stacey G MacleadItalyIvan Magalhaes PROPOSAL
Darci W RoysterGermanyXuxue Feng NEGOTIATION
Darci Z DilliardIndiaStephen Shaw RENEWAL
Kaitlin O RulapaughRussiaAnna Fali NEW
Salvatore U IturbideJapanAsiya Javayant NEGOTIATION
Frozen Columns
Name
Leja O Flosi
Tony C Inouye
Sinclair K Ferencz
Nicolas G Slusarski
Costa D Marrier
Kaitlin D Whobrey
Misaki T Gillian
Murillo L Paprocki
Clifford Z Albares
Adams N Paprocki
Deepesh Y Ruta
Claire F Inouye
David M Ferencz
Aika X Waycott
Isabel P Morasca
Tony F Flosi
Misaki M Caudy
Smith S Royster
Mayumi Y Royster
Ricardo W Stenseth
Aika I Iturbide
Jefferson P Albares
Costa Q Chui
Nicolas U Chui
Arvin Y Saylors
Aditya I Paprocki
Claire E Dilliard
Greenwood E Shinko
Aika H Bolognia
Clifford R Paprocki
Ricardo H Schemmer
Sinclair R Perin
Francesco J Flosi
Kaitlin X Slusarski
Isabel H Sergi
Salvatore Q Stockham
Mayumi D Caudy
Ivar V Stockham
Francesco J Glick
Ivar D Gillian
Murillo L Inouye
Julie O Stenseth
Misaki J Iturbide
Mayumi R Gaucho
James H Dilliard
Mujtaba W Malet
Ivar X Malet
Stacey T Garufi
Wickens H Sergi
Juan X Slusarski
IdCountryDate
1000Spain2026-10-02
1001India2026-09-26
1002Argentina2026-10-02
1003Germany2026-10-01
1004Japan2026-09-17
1005Italy2026-09-22
1006Spain2026-09-27
1007Australia2026-10-06
1008Germany2026-10-03
1009France2026-09-23
1010Canada2026-09-21
1011Japan2026-09-21
1012Brazil2026-10-01
1013Italy2026-09-18
1014France2026-09-20
1015Germany2026-09-29
1016Russia2026-10-09
1017India2026-10-01
1018Australia2026-10-05
1019Spain2026-10-04
1020Argentina2026-09-24
1021Germany2026-10-04
1022Spain2026-10-06
1023Brazil2026-09-21
1024Spain2026-09-23
1025Germany2026-10-08
1026Japan2026-09-20
1027India2026-09-17
1028Canada2026-09-30
1029Japan2026-09-14
1030Spain2026-10-03
1031Germany2026-09-21
1032Spain2026-09-17
1033Australia2026-10-07
1034Italy2026-10-07
1035Canada2026-10-03
1036Australia2026-09-22
1037India2026-10-02
1038Russia2026-09-24
1039Germany2026-09-19
1040Brazil2026-09-24
1041Spain2026-10-06
1042Argentina2026-10-04
1043Australia2026-09-25
1044Argentina2026-10-01
1045Italy2026-10-10
1046Spain2026-10-02
1047Argentina2026-10-02
1048Germany2026-10-04
1049India2026-09-21

On-Demand Data

NameIdCountryDate
Kadeem E Inouye1000France2026-10-04
Jefferson K Chui1001India2026-10-08
Mujtaba X Nicka1002United Kingdom2026-09-23
James K Bolognia1003Argentina2026-10-12
Sinclair C Stenseth1004Argentina2026-10-02
Costa C Venere1005Italy2026-09-20
Smith V Paprocki1006United Kingdom2026-09-27
Octavia F Albares1007Argentina2026-10-06
Munro R Bowley1008Brazil2026-09-22
David W Albares1009Australia2026-09-26
Greenwood W Vocelka1010Australia2026-09-21
Julie S Stockham1011Australia2026-09-19
Jeanfrancois L Venere1012United Kingdom2026-09-21
Nicolas W Poquette1013India2026-10-03
Emily K Rim1014Germany2026-10-08
Aruna Z Royster1015United Kingdom2026-09-27
Kaitlin F Doe1016France2026-09-17
Emily S Figeroa1017France2026-10-06
Misaki K Butt1018India2026-09-18
Munro Y Albares1019France2026-09-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith F CaldareraUnited KingdomAsiya Javayant NEGOTIATION
Alejandro J KuskoUnited KingdomAnna Fali NEGOTIATION
Salvatore A PerinIndiaXuxue Feng NEW
Aditya Y SlusarskiCanadaAmy Elsner QUALIFIED
Clifford I MarrierItalyStephen Shaw NEGOTIATION
Aruna T StensethJapanBernardo Dominic RENEWAL
Jones T BriddickGermanyElwin Sharvill QUALIFIED
Smith S SergiCanadaAmy Elsner RENEWAL
Nicolas J SaylorsBrazilIoni Bowcher UNQUALIFIED
Adams G BologniaJapanAmy Elsner RENEWAL
Costa H WieserJapanElwin Sharvill UNQUALIFIED
Smith O RulapaughJapanOnyama Limba NEW
Murillo E GarufiBrazilXuxue Feng RENEWAL
Aika F RoysterFranceAmy Elsner NEW
Costa Q SchemmerRussiaAsiya Javayant NEW
Jones N OstroskyUnited KingdomAmy Elsner UNQUALIFIED
Kadeem M TollnerGermanyOnyama Limba UNQUALIFIED
Darci N MorascaItalyXuxue Feng NEGOTIATION
Arvin S FollerAustraliaIvan Magalhaes PROPOSAL
Mujtaba O BriddickIndiaIoni Bowcher NEGOTIATION
Wickens V WieserUnited KingdomElwin Sharvill NEW
Adams N RoysterArgentinaAsiya Javayant QUALIFIED
Kaitlin H BologniaItalyAmy Elsner UNQUALIFIED
Jeanfrancois Y TollnerFranceElwin Sharvill QUALIFIED
Maria Q OldroydJapanElwin Sharvill UNQUALIFIED
Darci Y FollerIndiaAnna Fali NEW
Arvin E KuskoArgentinaStephen Shaw NEGOTIATION
Ricardo R WaycottBrazilOnyama Limba RENEWAL
Leja F ShinkoArgentinaAmy Elsner PROPOSAL
Chavez J KolmetzBrazilOnyama Limba NEW
Nicolas W DarakjyCanadaIvan Magalhaes NEW
Aditya E GlickCanadaXuxue Feng RENEWAL
Jefferson M GlickBrazilXuxue Feng RENEWAL
Leon T ChuiRussiaAnna Fali NEW
Murillo C NestleCanadaAnna Fali RENEWAL
Leja B OldroydRussiaStephen Shaw QUALIFIED
Silvio J GillianIndiaOnyama Limba NEW
Alejandro K StockhamIndiaOnyama Limba RENEWAL
Nicolas X CaldareraArgentinaIoni Bowcher PROPOSAL
Alejandro F MacleadBrazilStephen Shaw 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>