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
Silvio U VocelkaGermanyAnna Fali RENEWAL
Julie K AlbaresAustraliaElwin Sharvill NEW
James Z AmigonCanadaIvan Magalhaes NEW
Deepesh L MorascaBrazilIoni Bowcher RENEWAL
Isabel A SaylorsUnited KingdomAsiya Javayant QUALIFIED
Rodrigues L RutaFranceBernardo Dominic PROPOSAL
Alejandro H ShinkoIndiaXuxue Feng PROPOSAL
Ashley S NickaBrazilIvan Magalhaes RENEWAL
Clifford K AlbaresAustraliaOnyama Limba NEW
Chavez U StockhamUnited KingdomOnyama Limba UNQUALIFIED
Adams Y WaycottCanadaIvan Magalhaes QUALIFIED
Maisha R MaletGermanyAsiya Javayant RENEWAL
Arvin M StockhamItalyOnyama Limba UNQUALIFIED
Claire H PoquetteBrazilBernardo Dominic NEGOTIATION
Mayumi B WaycottIndiaIoni Bowcher PROPOSAL
Chavez N AmigonSpainXuxue Feng QUALIFIED
Clifford Z WhobreyAustraliaXuxue Feng UNQUALIFIED
Maisha M VocelkaBrazilBernardo Dominic NEW
Aika X StensethItalyAmy Elsner NEGOTIATION
Salvatore B TollnerRussiaIoni Bowcher QUALIFIED
Jefferson D PoquetteIndiaAsiya Javayant NEW
Julie M WieserAustraliaAmy Elsner NEW
Isabel O MorascaJapanAmy Elsner PROPOSAL
Ricardo C MorascaRussiaBernardo Dominic NEGOTIATION
Smith D OstroskyAustraliaOnyama Limba RENEWAL
Francesco W StensethAustraliaBernardo Dominic RENEWAL
Claire M KuskoCanadaBernardo Dominic PROPOSAL
Mujtaba W InouyeGermanyXuxue Feng NEGOTIATION
Claire R CaudyUnited KingdomAmy Elsner UNQUALIFIED
Maria I MacleadBrazilAsiya Javayant RENEWAL
Munro T AmigonGermanyAnna Fali NEW
Jeanfrancois S KuskoUnited KingdomIvan Magalhaes UNQUALIFIED
Smith A BologniaSpainAnna Fali QUALIFIED
Cody I InouyeFranceAmy Elsner RENEWAL
Ashley J WhobreySpainElwin Sharvill NEGOTIATION
Kadeem U InouyeUnited KingdomIoni Bowcher NEW
Ricardo U FerenczBrazilOnyama Limba NEGOTIATION
Smith Y InouyeArgentinaAsiya Javayant RENEWAL
Ivar X SaylorsBrazilIvan Magalhaes UNQUALIFIED
Francesco H RimFranceElwin Sharvill RENEWAL
Izzy E FlosiUnited KingdomIoni Bowcher QUALIFIED
Johnson A CampainCanadaBernardo Dominic UNQUALIFIED
Darci U TollnerFranceXuxue Feng NEW
Kadeem K GlickGermanyAsiya Javayant PROPOSAL
Misaki U PaprockiFranceAmy Elsner RENEWAL
Mujtaba Z CaudyCanadaXuxue Feng NEGOTIATION
Greenwood G PerinGermanyAsiya Javayant UNQUALIFIED
Sinclair W CaudyJapanBernardo Dominic QUALIFIED
Mujtaba D GarufiIndiaElwin Sharvill NEGOTIATION
Greenwood H FigeroaAustraliaAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Aditya N CaudySpainIvan Magalhaes NEGOTIATION
Emily U RutaFranceIvan Magalhaes UNQUALIFIED
Munro Z AlbaresRussiaIvan Magalhaes UNQUALIFIED
Kadeem P MarrierSpainAsiya Javayant NEGOTIATION
Isabel S OstroskyUnited KingdomBernardo Dominic NEGOTIATION
Salvatore Y KuskoUnited KingdomOnyama Limba NEGOTIATION
Emily M DarakjySpainIoni Bowcher QUALIFIED
Jennifer Z PaprockiCanadaElwin Sharvill RENEWAL
Octavia H SlusarskiIndiaAsiya Javayant NEW
Greenwood X NestleArgentinaIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin O SergiBrazil2026-09-27Benton, John B Jr RENEWAL24Xuxue Feng
1001Claire R StockhamBrazil2026-09-28Commercial Press PROPOSAL55Bernardo Dominic
1002Leon U WhobreyIndia2026-09-21Dorl, James J Esq QUALIFIED40Stephen Shaw
1003Adams U ButtBrazil2026-10-03Commercial Press QUALIFIED93Elwin Sharvill
1004Emily X IturbideGermany2026-09-21Chemel, James L Cpa RENEWAL45Ivan Magalhaes
1005Clifford I CaudyRussia2026-09-08Rousseaux, Michael Esq RENEWAL62Ivan Magalhaes
1006Aditya Z DilliardJapan2026-09-18Rangoni Of Florence UNQUALIFIED20Bernardo Dominic
1007Julie M AmigonRussia2026-09-11Commercial Press RENEWAL86Ioni Bowcher
1008James J KolmetzGermany2026-09-12Buckley Miller Wright PROPOSAL96Xuxue Feng
1009Aditya T ButtCanada2026-09-25Benton, John B Jr QUALIFIED11Anna Fali
1010Misaki S PaprockiRussia2026-09-25Rousseaux, Michael Esq NEW5Elwin Sharvill
1011Ashley R FerenczCanada2026-09-27Feltz Printing Service NEGOTIATION52Asiya Javayant
1012David J GauchoFrance2026-09-13Printing Dimensions RENEWAL12Bernardo Dominic
1013Ivar U GlickIndia2026-09-26Chanay, Jeffrey A Esq QUALIFIED10Xuxue Feng
1014Juan D KolmetzIndia2026-10-03King, Christopher A Esq PROPOSAL76Ioni Bowcher
1015Jones M MarrierRussia2026-09-06Benton, John B Jr RENEWAL88Ioni Bowcher
1016Nicolas E RimBrazil2026-09-10King, Christopher A Esq UNQUALIFIED92Ioni Bowcher
1017Mayumi H MacleadCanada2026-09-21Feiner Bros QUALIFIED98Xuxue Feng
1018Clifford K StockhamRussia2026-09-18King, Christopher A Esq UNQUALIFIED12Elwin Sharvill
1019Murillo P StensethRussia2026-09-23Rangoni Of Florence RENEWAL84Ioni Bowcher
1020Kaitlin E MaletCanada2026-09-29Chanay, Jeffrey A Esq PROPOSAL95Bernardo Dominic
1021Emily D TollnerUnited Kingdom2026-09-16Dorl, James J Esq UNQUALIFIED45Onyama Limba
1022Ivar Q WhobreyArgentina2026-09-27Truhlar And Truhlar Attys RENEWAL22Ivan Magalhaes
1023Chavez P DoeItaly2026-09-22Morlong Associates QUALIFIED11Asiya Javayant
1024Tony I RutaSpain2026-10-01Rousseaux, Michael Esq UNQUALIFIED78Amy Elsner
1025Leon I ChuiGermany2026-10-04Truhlar And Truhlar Attys PROPOSAL63Xuxue Feng
1026Alejandro T BowleySpain2026-10-02Dorl, James J Esq NEGOTIATION75Bernardo Dominic
1027Adams G FigeroaItaly2026-09-30Truhlar And Truhlar Attys QUALIFIED7Amy Elsner
1028Darci T GlickItaly2026-09-11Feltz Printing Service QUALIFIED3Elwin Sharvill
1029Stacey K ButtArgentina2026-10-05Rousseaux, Michael Esq QUALIFIED87Amy Elsner
1030Emily Z RoysterUnited Kingdom2026-09-09Rangoni Of Florence NEW16Onyama Limba
1031Maisha R RutaSpain2026-09-19Chemel, James L Cpa NEW78Elwin Sharvill
1032Kadeem J BologniaAustralia2026-09-25Benton, John B Jr NEW26Asiya Javayant
1033Isabel S AlbaresUnited Kingdom2026-09-21King, Christopher A Esq PROPOSAL2Ivan Magalhaes
1034Alejandro S StockhamIndia2026-09-16Printing Dimensions NEGOTIATION28Anna Fali
1035Maisha X SlusarskiSpain2026-09-22Rangoni Of Florence UNQUALIFIED24Ioni Bowcher
1036Mayumi G GillianSpain2026-09-14Dorl, James J Esq QUALIFIED7Amy Elsner
1037Ashley W OldroydAustralia2026-10-03Morlong Associates NEGOTIATION64Asiya Javayant
1038Ivar K SaylorsGermany2026-10-03Buckley Miller Wright NEW47Stephen Shaw
1039Morrow Q WieserFrance2026-09-24Chapman, Ross E Esq NEW79Xuxue Feng
1040Morrow O DilliardArgentina2026-09-25Chapman, Ross E Esq NEW66Asiya Javayant
1041Juan D OstroskyFrance2026-09-19Feltz Printing Service PROPOSAL83Onyama Limba
1042Leon F FigeroaItaly2026-09-21Chanay, Jeffrey A Esq NEW9Onyama Limba
1043Octavia F IturbideGermany2026-09-29Benton, John B Jr PROPOSAL26Elwin Sharvill
1044James Q RimAustralia2026-09-12Chanay, Jeffrey A Esq RENEWAL42Bernardo Dominic
1045Izzy F SlusarskiIndia2026-10-01Feiner Bros PROPOSAL15Ioni Bowcher
1046Morrow I MorascaIndia2026-09-17Commercial Press RENEWAL75Xuxue Feng
1047Johnson A WaycottFrance2026-09-20Dorl, James J Esq RENEWAL98Anna Fali
1048Deepesh S TollnerJapan2026-09-29Morlong Associates UNQUALIFIED26Asiya Javayant
1049Rodrigues X MaletItaly2026-09-09Dorl, James J Esq NEGOTIATION41Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Greenwood G ShinkoCanadaElwin Sharvill NEW
Alejandro W BriddickArgentinaAsiya Javayant QUALIFIED
Wickens I BowleyRussiaIoni Bowcher NEGOTIATION
Wickens H CaudyBrazilStephen Shaw PROPOSAL
Arvin P NickaCanadaAnna Fali NEGOTIATION
Ricardo L FerenczAustraliaBernardo Dominic QUALIFIED
Julie F NestleItalyAsiya Javayant QUALIFIED
Mayumi J WhobreySpainBernardo Dominic RENEWAL
Munro L KolmetzSpainAnna Fali RENEWAL
Maria N BologniaSpainXuxue Feng RENEWAL
Leja V RimBrazilAmy Elsner NEGOTIATION
Leon O PaprockiAustraliaStephen Shaw QUALIFIED
Mujtaba P SchemmerFranceAsiya Javayant NEW
Mayumi U ButtItalyElwin Sharvill NEW
Murillo C PoquetteItalyElwin Sharvill QUALIFIED
Maria V FigeroaItalyIvan Magalhaes NEW
Greenwood F AmigonArgentinaElwin Sharvill RENEWAL
Tony R WaycottIndiaIvan Magalhaes NEW
David P MacleadIndiaAsiya Javayant NEW
Sinclair S StensethSpainAnna Fali UNQUALIFIED
Smith W SchemmerBrazilAmy Elsner NEW
Misaki T ChuiRussiaElwin Sharvill UNQUALIFIED
Aika D ChuiIndiaAmy Elsner NEGOTIATION
Wickens B MacleadGermanyXuxue Feng NEW
Jeanfrancois L RimArgentinaIoni Bowcher PROPOSAL
Jeanfrancois O FlosiRussiaBernardo Dominic NEW
Claire D BologniaItalyIoni Bowcher PROPOSAL
James A PerinFranceStephen Shaw RENEWAL
Julie P GauchoRussiaAnna Fali UNQUALIFIED
Cody T AlbaresRussiaStephen Shaw NEW
Francesco E MarrierBrazilAnna Fali NEW
Greenwood L GillianArgentinaBernardo Dominic NEW
Munro E ButtCanadaAsiya Javayant UNQUALIFIED
Clifford S SchemmerGermanyIoni Bowcher UNQUALIFIED
Munro D RimUnited KingdomElwin Sharvill PROPOSAL
Johnson A PoquetteRussiaIvan Magalhaes RENEWAL
Kaitlin S RimCanadaIoni Bowcher QUALIFIED
Octavia K BowleyGermanyIvan Magalhaes NEW
Clifford H FlosiBrazilIvan Magalhaes PROPOSAL
Munro B SaylorsArgentinaOnyama Limba UNQUALIFIED
Morrow C WieserGermanyOnyama Limba RENEWAL
Darci Y SergiAustraliaAnna Fali QUALIFIED
Ricardo W CampainAustraliaIoni Bowcher NEGOTIATION
Smith M GauchoRussiaBernardo Dominic QUALIFIED
Munro A RutaRussiaAnna Fali NEW
David Z PoquetteJapanElwin Sharvill UNQUALIFIED
Johnson A FollerAustraliaOnyama Limba PROPOSAL
Aditya V CampainBrazilElwin Sharvill PROPOSAL
Ricardo J WaycottAustraliaIoni Bowcher RENEWAL
Ashley X StensethSpainBernardo Dominic NEGOTIATION
Frozen Columns
Name
Rodrigues E Glick
Aditya F Chui
Cody Q Inouye
Johnson P Poquette
David C Foller
Emily M Amigon
Silvio S Maclead
Alejandro W Perin
Ashley B Butt
Juan F Flosi
Leon B Dilliard
Jennifer S Flosi
Munro M Schemmer
Jones S Venere
Aruna O Glick
Julie R Saylors
Murillo F Glick
Rodrigues D Amigon
Sinclair Y Whobrey
Alejandro S Slusarski
Ricardo V Flosi
Julie K Briddick
Francesco E Dilliard
Costa Q Inouye
Maria S Maclead
Claire C Poquette
Deepesh Q Gaucho
Morrow P Marrier
Faith B Wieser
Chavez F Maclead
Wickens F Figeroa
Kaitlin K Foller
Leja R Campain
Salvatore O Maclead
Alejandro K Morasca
Jones K Iturbide
Tony O Campain
Costa A Kolmetz
Izzy C Oldroyd
Kaitlin T Slusarski
Ashley B Iturbide
Maria W Schemmer
Ashley G Foller
Munro N Slusarski
Ricardo C Tollner
Isabel O Saylors
Sinclair A Slusarski
Mujtaba B Figeroa
Aika R Doe
Arvin X Bolognia
IdCountryDate
1000Russia2026-09-18
1001Brazil2026-09-16
1002Italy2026-09-12
1003United Kingdom2026-09-09
1004Canada2026-09-30
1005Italy2026-09-10
1006India2026-09-19
1007Australia2026-09-28
1008Canada2026-10-04
1009Russia2026-09-27
1010United Kingdom2026-09-07
1011Spain2026-09-18
1012Germany2026-09-26
1013Australia2026-09-09
1014United Kingdom2026-09-24
1015Australia2026-09-07
1016Japan2026-09-06
1017Japan2026-09-30
1018Italy2026-09-26
1019Russia2026-09-24
1020India2026-09-14
1021Germany2026-09-06
1022Spain2026-09-25
1023Italy2026-09-14
1024France2026-09-18
1025United Kingdom2026-09-07
1026Japan2026-09-21
1027Australia2026-09-18
1028Australia2026-10-02
1029United Kingdom2026-09-07
1030Argentina2026-09-25
1031Italy2026-09-07
1032United Kingdom2026-09-23
1033United Kingdom2026-09-30
1034Germany2026-09-07
1035Australia2026-09-27
1036Australia2026-09-19
1037Japan2026-09-23
1038Canada2026-10-02
1039Argentina2026-10-01
1040Japan2026-09-12
1041Germany2026-09-11
1042Japan2026-10-01
1043Italy2026-10-04
1044Germany2026-10-04
1045Spain2026-10-01
1046Canada2026-09-17
1047India2026-09-10
1048Japan2026-09-14
1049Russia2026-09-28

On-Demand Data

NameIdCountryDate
Julie O Perin1000Australia2026-09-29
Morrow S Glick1001Brazil2026-09-29
Aditya G Nestle1002Australia2026-09-30
Ricardo G Malet1003Argentina2026-09-14
Faith A Schemmer1004Spain2026-09-17
Smith H Garufi1005Spain2026-09-22
Adams U Glick1006United Kingdom2026-10-01
Jeanfrancois J Kusko1007Australia2026-09-11
Aruna B Ostrosky1008Brazil2026-10-05
Greenwood M Bowley1009France2026-09-16
Julie H Perin1010Canada2026-09-18
Jefferson O Campain1011Spain2026-09-07
David T Kusko1012Australia2026-10-01
Costa S Sergi1013Australia2026-10-05
Arvin V Figeroa1014Germany2026-09-17
Jefferson P Shinko1015Spain2026-09-23
Deepesh V Glick1016Russia2026-10-05
Ricardo T Doe1017Italy2026-09-06
Darci I Whobrey1018Germany2026-09-13
Aditya G Waycott1019United Kingdom2026-09-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi D StockhamAustraliaAnna Fali PROPOSAL
Kadeem X RimSpainOnyama Limba NEW
Jennifer V RimJapanXuxue Feng PROPOSAL
Smith B RulapaughUnited KingdomIvan Magalhaes NEW
Mayumi J ShinkoItalyAnna Fali PROPOSAL
James W MaletItalyAnna Fali UNQUALIFIED
Claire Q ShinkoArgentinaXuxue Feng PROPOSAL
Costa Y FollerGermanyElwin Sharvill QUALIFIED
Chavez O KolmetzSpainIvan Magalhaes QUALIFIED
Rodrigues L MaletAustraliaBernardo Dominic RENEWAL
Ricardo R NestleSpainOnyama Limba RENEWAL
Mayumi D BriddickRussiaStephen Shaw NEGOTIATION
Claire R FollerCanadaBernardo Dominic NEW
Aditya A RoysterJapanAmy Elsner PROPOSAL
Wickens B FerenczSpainBernardo Dominic RENEWAL
Aika V MaletBrazilXuxue Feng NEW
Jeanfrancois F IturbideRussiaOnyama Limba QUALIFIED
Arvin B IturbideAustraliaAnna Fali NEGOTIATION
Sinclair A OstroskyGermanyBernardo Dominic NEW
Jones L RimFranceAnna Fali RENEWAL
Stacey T NickaItalyBernardo Dominic NEW
Morrow T ShinkoJapanStephen Shaw NEGOTIATION
Emily P BologniaRussiaAnna Fali UNQUALIFIED
Ricardo B MorascaFranceAsiya Javayant PROPOSAL
David V MaletAustraliaIvan Magalhaes RENEWAL
Jeanfrancois E TollnerFranceAmy Elsner PROPOSAL
Izzy W AlbaresGermanyAmy Elsner NEW
Stacey N CaldareraRussiaXuxue Feng PROPOSAL
Aika E NestleRussiaBernardo Dominic UNQUALIFIED
Mujtaba L KuskoAustraliaBernardo Dominic UNQUALIFIED
Ashley X NickaArgentinaAmy Elsner UNQUALIFIED
Silvio M GauchoIndiaIoni Bowcher NEW
Morrow N MaletBrazilElwin Sharvill QUALIFIED
Maisha W VenereBrazilAmy Elsner QUALIFIED
Adams W MacleadCanadaAnna Fali RENEWAL
Aditya Q OstroskyGermanyStephen Shaw NEGOTIATION
Claire Y DoeIndiaAmy Elsner NEW
Cody V RoysterIndiaAmy Elsner NEW
Salvatore L FollerJapanXuxue Feng RENEWAL
Izzy T MacleadGermanyElwin Sharvill 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>