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
Kadeem J RoysterAustraliaAsiya Javayant NEGOTIATION
Leja I BowleyAustraliaIoni Bowcher RENEWAL
Rodrigues R NestleJapanXuxue Feng UNQUALIFIED
Leon K TollnerJapanElwin Sharvill UNQUALIFIED
Jones D RulapaughAustraliaAsiya Javayant NEGOTIATION
Ashley A MorascaBrazilStephen Shaw NEW
Munro P MorascaGermanyStephen Shaw UNQUALIFIED
Aika U AlbaresRussiaIoni Bowcher UNQUALIFIED
Aditya F RimUnited KingdomAmy Elsner PROPOSAL
Ashley E RulapaughItalyStephen Shaw QUALIFIED
Octavia Q RoysterCanadaStephen Shaw RENEWAL
Murillo S StensethIndiaIoni Bowcher NEW
Maria X SergiArgentinaBernardo Dominic QUALIFIED
Alejandro P StockhamBrazilXuxue Feng NEGOTIATION
Jeanfrancois T FlosiSpainXuxue Feng PROPOSAL
Ivar A BowleyItalyElwin Sharvill PROPOSAL
Greenwood G CampainArgentinaAsiya Javayant NEW
Claire E MorascaUnited KingdomIoni Bowcher NEW
Aruna R StockhamArgentinaXuxue Feng NEW
Francesco I CampainIndiaStephen Shaw UNQUALIFIED
Mayumi N BowleyItalyAsiya Javayant PROPOSAL
Greenwood J WhobreyCanadaElwin Sharvill QUALIFIED
Murillo P CampainSpainXuxue Feng PROPOSAL
Francesco T FlosiAustraliaStephen Shaw NEGOTIATION
Arvin E DoeItalyIvan Magalhaes NEGOTIATION
Octavia N SergiItalyElwin Sharvill QUALIFIED
Chavez W MaletBrazilIvan Magalhaes PROPOSAL
Aditya F VocelkaCanadaStephen Shaw NEGOTIATION
Deepesh M KuskoJapanAmy Elsner NEW
Claire P FigeroaRussiaIoni Bowcher RENEWAL
Arvin T KolmetzCanadaAsiya Javayant QUALIFIED
Jones O BriddickSpainIoni Bowcher RENEWAL
Jefferson K MacleadJapanXuxue Feng NEW
Aditya K DarakjyIndiaIvan Magalhaes NEGOTIATION
Octavia U KolmetzCanadaAsiya Javayant PROPOSAL
Mujtaba D StensethBrazilAsiya Javayant UNQUALIFIED
Alejandro H DoeItalyAmy Elsner PROPOSAL
Rodrigues W StockhamIndiaXuxue Feng NEGOTIATION
Clifford Q CampainRussiaIoni Bowcher UNQUALIFIED
Aika F NickaSpainAsiya Javayant PROPOSAL
Emily G StockhamAustraliaBernardo Dominic NEW
Claire A ButtFranceIoni Bowcher RENEWAL
Isabel S StensethUnited KingdomAsiya Javayant RENEWAL
Maria G VenereFranceIvan Magalhaes RENEWAL
Faith X SergiGermanyAmy Elsner RENEWAL
Rodrigues U ChuiCanadaStephen Shaw NEW
Leon G DoeItalyOnyama Limba UNQUALIFIED
Isabel N CampainItalyIvan Magalhaes UNQUALIFIED
Juan I OldroydItalyBernardo Dominic NEW
Juan U VenereJapanStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Nicolas P GarufiJapanAmy Elsner QUALIFIED
David U PoquetteJapanElwin Sharvill RENEWAL
Mujtaba U BologniaIndiaAsiya Javayant QUALIFIED
Aditya S InouyeFranceIoni Bowcher NEGOTIATION
Jeanfrancois K CaldareraIndiaAsiya Javayant RENEWAL
Mayumi L MaletBrazilXuxue Feng UNQUALIFIED
Johnson T GlickSpainIoni Bowcher PROPOSAL
Deepesh B AlbaresIndiaAsiya Javayant PROPOSAL
Francesco H CaudySpainIoni Bowcher QUALIFIED
Aditya W GillianItalyBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore B CaudyIndia2026-09-18Benton, John B Jr QUALIFIED83Stephen Shaw
1001Aika V SlusarskiFrance2026-08-31Chanay, Jeffrey A Esq PROPOSAL50Elwin Sharvill
1002Jeanfrancois G InouyeSpain2026-09-11Rangoni Of Florence UNQUALIFIED76Asiya Javayant
1003Octavia D SaylorsFrance2026-08-30Feiner Bros PROPOSAL74Asiya Javayant
1004Stacey Q MacleadSpain2026-09-22Rousseaux, Michael Esq RENEWAL16Ivan Magalhaes
1005Darci J WieserFrance2026-09-15Commercial Press PROPOSAL14Elwin Sharvill
1006Morrow N AlbaresCanada2026-09-04Truhlar And Truhlar Attys QUALIFIED88Amy Elsner
1007Mayumi T SaylorsAustralia2026-09-02Chapman, Ross E Esq PROPOSAL97Onyama Limba
1008Faith P ButtAustralia2026-09-21Buckley Miller Wright NEW57Anna Fali
1009Antonio E DarakjyArgentina2026-09-02King, Christopher A Esq NEW59Xuxue Feng
1010Jones D InouyeSpain2026-09-25Feiner Bros NEGOTIATION9Ioni Bowcher
1011Isabel M DoeRussia2026-09-10Morlong Associates UNQUALIFIED64Anna Fali
1012Misaki X ShinkoBrazil2026-09-04Dorl, James J Esq PROPOSAL56Onyama Limba
1013Stacey S BowleySpain2026-09-13King, Christopher A Esq NEGOTIATION33Xuxue Feng
1014Aruna B PoquetteUnited Kingdom2026-09-21Dorl, James J Esq PROPOSAL33Ivan Magalhaes
1015Deepesh V KuskoArgentina2026-08-31King, Christopher A Esq RENEWAL32Anna Fali
1016Greenwood P SchemmerAustralia2026-09-07Feltz Printing Service UNQUALIFIED54Anna Fali
1017Jefferson K GlickRussia2026-09-06Chemel, James L Cpa NEW79Elwin Sharvill
1018Johnson T KolmetzJapan2026-09-10Buckley Miller Wright UNQUALIFIED93Amy Elsner
1019Antonio C OstroskyFrance2026-09-14Buckley Miller Wright RENEWAL78Elwin Sharvill
1020Mayumi T ShinkoAustralia2026-09-04Commercial Press QUALIFIED68Anna Fali
1021Nicolas O NestleUnited Kingdom2026-09-17Benton, John B Jr RENEWAL12Anna Fali
1022Leja T KuskoUnited Kingdom2026-09-13Chemel, James L Cpa UNQUALIFIED51Onyama Limba
1023Darci K WaycottGermany2026-09-08Dorl, James J Esq RENEWAL18Stephen Shaw
1024Kaitlin Q AmigonItaly2026-09-25King, Christopher A Esq RENEWAL27Amy Elsner
1025Misaki C DoeAustralia2026-09-23Truhlar And Truhlar Attys QUALIFIED73Ivan Magalhaes
1026Cody F DoeSpain2026-09-23Benton, John B Jr QUALIFIED72Ivan Magalhaes
1027Silvio R MorascaJapan2026-09-25Commercial Press UNQUALIFIED50Elwin Sharvill
1028Aika G SaylorsAustralia2026-09-19Benton, John B Jr NEW86Asiya Javayant
1029Maisha G ShinkoCanada2026-09-11Rangoni Of Florence QUALIFIED64Asiya Javayant
1030Faith A FlosiAustralia2026-09-23Chanay, Jeffrey A Esq PROPOSAL58Stephen Shaw
1031Antonio K InouyeGermany2026-09-09Chanay, Jeffrey A Esq NEW27Asiya Javayant
1032Julie O FerenczGermany2026-09-13Benton, John B Jr NEGOTIATION52Bernardo Dominic
1033Izzy A KolmetzAustralia2026-09-18Truhlar And Truhlar Attys RENEWAL42Bernardo Dominic
1034Nicolas D GillianGermany2026-08-29Dorl, James J Esq RENEWAL74Stephen Shaw
1035Clifford U FerenczJapan2026-09-06Feltz Printing Service PROPOSAL65Ioni Bowcher
1036Isabel E ButtBrazil2026-08-27Chapman, Ross E Esq NEW6Bernardo Dominic
1037Ivar R DoeUnited Kingdom2026-09-07Morlong Associates RENEWAL70Xuxue Feng
1038Emily P MacleadBrazil2026-08-30Rangoni Of Florence QUALIFIED88Ivan Magalhaes
1039Aruna Z RulapaughRussia2026-08-28Truhlar And Truhlar Attys RENEWAL95Amy Elsner
1040Munro T SchemmerArgentina2026-09-19Buckley Miller Wright NEW9Xuxue Feng
1041Mayumi G ChuiCanada2026-09-10Chanay, Jeffrey A Esq NEW98Asiya Javayant
1042Juan G PaprockiSpain2026-09-05Rangoni Of Florence NEW27Elwin Sharvill
1043Rodrigues U MacleadBrazil2026-08-29Chemel, James L Cpa PROPOSAL63Onyama Limba
1044Johnson N RulapaughJapan2026-09-06Feltz Printing Service NEGOTIATION92Anna Fali
1045Alejandro T NestleCanada2026-09-06Printing Dimensions NEGOTIATION47Ivan Magalhaes
1046Jeanfrancois G CaldareraCanada2026-08-29Printing Dimensions QUALIFIED42Xuxue Feng
1047Aika N ChuiFrance2026-09-06Morlong Associates UNQUALIFIED46Elwin Sharvill
1048Salvatore O GarufiArgentina2026-08-31Chapman, Ross E Esq QUALIFIED59Anna Fali
1049Costa O GarufiFrance2026-09-04Benton, John B Jr NEGOTIATION69Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Chavez B GauchoCanadaElwin Sharvill PROPOSAL
Munro N FigeroaArgentinaOnyama Limba RENEWAL
Murillo T FigeroaFranceStephen Shaw PROPOSAL
Ricardo H GlickItalyElwin Sharvill QUALIFIED
Johnson E GarufiFranceAmy Elsner QUALIFIED
Ashley F SchemmerRussiaOnyama Limba NEW
Chavez E GauchoSpainIvan Magalhaes RENEWAL
Jennifer N BowleyJapanAsiya Javayant NEW
Sinclair W RutaArgentinaAsiya Javayant UNQUALIFIED
Aruna L NestleCanadaAsiya Javayant PROPOSAL
Costa P KuskoFranceXuxue Feng RENEWAL
Kadeem K FerenczGermanyAnna Fali RENEWAL
James F SergiBrazilOnyama Limba NEGOTIATION
Silvio K DilliardGermanyIoni Bowcher PROPOSAL
Claire Q FlosiBrazilStephen Shaw PROPOSAL
Ivar K RimFranceBernardo Dominic RENEWAL
Rodrigues O FerenczCanadaIoni Bowcher RENEWAL
Isabel P BologniaRussiaAsiya Javayant NEW
Leon W ChuiGermanyBernardo Dominic PROPOSAL
Arvin A NickaIndiaIvan Magalhaes NEGOTIATION
Adams Z NestleIndiaStephen Shaw UNQUALIFIED
James O DoeUnited KingdomElwin Sharvill NEGOTIATION
Juan R MaletIndiaXuxue Feng NEW
Emily C BriddickIndiaAmy Elsner PROPOSAL
Cody A FigeroaRussiaAsiya Javayant NEW
Clifford D MarrierFranceElwin Sharvill NEGOTIATION
Jones D TollnerIndiaAsiya Javayant UNQUALIFIED
Ivar L StockhamItalyStephen Shaw NEGOTIATION
Ashley C DarakjyGermanyXuxue Feng NEW
Rodrigues U ShinkoItalyOnyama Limba NEW
Adams O PaprockiFranceIoni Bowcher RENEWAL
Claire M GlickItalyAmy Elsner NEW
Smith D BowleyBrazilStephen Shaw NEGOTIATION
Misaki E RutaGermanyIoni Bowcher NEGOTIATION
Mujtaba I PoquetteArgentinaIvan Magalhaes NEGOTIATION
Jefferson X SchemmerAustraliaAsiya Javayant NEGOTIATION
Chavez G SlusarskiJapanStephen Shaw QUALIFIED
Francesco M BologniaGermanyIvan Magalhaes QUALIFIED
Maria C NickaArgentinaAnna Fali NEGOTIATION
Claire W MaletArgentinaIvan Magalhaes NEW
Kaitlin S DarakjyCanadaStephen Shaw QUALIFIED
Jennifer J BowleyJapanAmy Elsner PROPOSAL
Chavez D KuskoUnited KingdomAmy Elsner NEW
Juan U FollerSpainXuxue Feng QUALIFIED
Salvatore C CampainCanadaAsiya Javayant NEW
Faith E MarrierItalyAmy Elsner PROPOSAL
Maria D PerinIndiaXuxue Feng PROPOSAL
Maisha S ButtFranceAmy Elsner PROPOSAL
Greenwood B CaldareraFranceAsiya Javayant PROPOSAL
Aruna B DoeRussiaStephen Shaw NEGOTIATION
Frozen Columns
Name
Arvin J Campain
Juan D Shinko
Leon H Gillian
Sinclair S Waycott
Sinclair M Venere
Kaitlin T Campain
Jeanfrancois W Perin
Munro H Malet
Kaitlin N Butt
Aruna E Butt
Nicolas G Briddick
Jones G Glick
Jefferson E Inouye
Darci A Tollner
Maria H Bowley
Mujtaba E Waycott
Aika H Rim
Kadeem I Stockham
Rodrigues Y Schemmer
Ivar A Rulapaugh
Munro L Inouye
Salvatore N Venere
Maisha T Figeroa
Wickens A Iturbide
Ashley M Caudy
David C Nestle
Aditya E Rim
Isabel D Doe
Isabel J Marrier
Jefferson J Malet
Aika J Sergi
Greenwood A Glick
Kadeem U Whobrey
Salvatore G Flosi
Izzy J Stenseth
David N Chui
Munro N Stenseth
Ivar R Perin
Jeanfrancois I Sergi
Ashley K Maclead
Clifford I Ostrosky
Smith R Gillian
Emily E Ostrosky
Jennifer G Chui
Mayumi Q Ostrosky
Adams X Saylors
Ivar F Bowley
Costa U Caldarera
Tony O Doe
Jeanfrancois P Rulapaugh
IdCountryDate
1000Germany2026-09-02
1001Canada2026-09-23
1002Canada2026-09-12
1003Spain2026-09-16
1004Canada2026-08-28
1005United Kingdom2026-09-03
1006Japan2026-09-17
1007Spain2026-09-15
1008Brazil2026-09-23
1009France2026-09-07
1010United Kingdom2026-09-03
1011India2026-09-09
1012Argentina2026-09-19
1013Japan2026-09-12
1014United Kingdom2026-09-21
1015Brazil2026-09-10
1016United Kingdom2026-09-10
1017Argentina2026-09-21
1018India2026-09-06
1019Argentina2026-08-31
1020Argentina2026-09-05
1021Australia2026-09-07
1022Japan2026-09-08
1023Germany2026-09-02
1024Japan2026-09-08
1025Canada2026-09-14
1026Germany2026-09-11
1027India2026-09-23
1028Russia2026-09-14
1029Canada2026-09-10
1030France2026-09-23
1031Japan2026-09-12
1032Germany2026-09-09
1033Italy2026-09-25
1034Russia2026-09-02
1035Australia2026-09-02
1036Brazil2026-09-08
1037Russia2026-08-31
1038Italy2026-08-30
1039India2026-09-17
1040Brazil2026-09-24
1041Argentina2026-09-07
1042Brazil2026-09-17
1043Russia2026-08-28
1044Argentina2026-09-02
1045Spain2026-09-06
1046Russia2026-09-22
1047Australia2026-09-23
1048Argentina2026-09-14
1049Russia2026-09-17

On-Demand Data

NameIdCountryDate
Rodrigues C Venere1000Russia2026-09-03
Maria X Kolmetz1001India2026-09-03
Costa M Gillian1002Canada2026-09-24
Ricardo D Kolmetz1003Italy2026-09-18
Ashley Q Stenseth1004Argentina2026-09-25
Antonio Y Maclead1005Argentina2026-09-22
Aika D Foller1006Japan2026-09-02
Isabel E Malet1007Russia2026-09-17
Maisha Z Flosi1008Argentina2026-09-01
Chavez P Whobrey1009Spain2026-09-13
Chavez H Stenseth1010Germany2026-09-04
Antonio C Venere1011Spain2026-08-29
Costa D Inouye1012Australia2026-09-14
Maria Z Glick1013Russia2026-09-24
Faith G Schemmer1014Russia2026-08-27
Maria F Kusko1015Japan2026-09-12
Juan I Butt1016Brazil2026-09-23
Aika B Marrier1017Canada2026-08-27
Aruna I Ruta1018Spain2026-09-11
Claire Y Campain1019Japan2026-09-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody Y MarrierArgentinaBernardo Dominic QUALIFIED
Claire Q FigeroaBrazilAsiya Javayant PROPOSAL
Aika P IturbideCanadaIvan Magalhaes NEW
Kadeem P StensethBrazilAmy Elsner RENEWAL
Wickens M NickaItalyAnna Fali NEGOTIATION
Stacey A OstroskyGermanyAnna Fali QUALIFIED
Smith V ButtJapanIoni Bowcher PROPOSAL
Stacey Q AlbaresGermanyOnyama Limba NEW
Nicolas O MaletUnited KingdomOnyama Limba QUALIFIED
Adams U MaletRussiaIvan Magalhaes NEW
Sinclair U AlbaresItalyElwin Sharvill PROPOSAL
Aika D FlosiBrazilAmy Elsner QUALIFIED
Maisha L CaudyJapanIvan Magalhaes UNQUALIFIED
Adams T SchemmerAustraliaElwin Sharvill NEGOTIATION
Ricardo J MarrierJapanXuxue Feng NEW
Smith V SlusarskiAustraliaIvan Magalhaes NEGOTIATION
Clifford C GarufiRussiaIvan Magalhaes RENEWAL
Juan B PerinArgentinaOnyama Limba PROPOSAL
Nicolas Y MaletGermanyElwin Sharvill QUALIFIED
Sinclair F FigeroaItalyIvan Magalhaes NEGOTIATION
Juan R InouyeJapanIoni Bowcher RENEWAL
Ricardo Q MaletBrazilIoni Bowcher NEW
Ivar D ChuiJapanIoni Bowcher NEW
David S NestleIndiaIvan Magalhaes RENEWAL
Claire G VocelkaRussiaElwin Sharvill PROPOSAL
Johnson P MacleadGermanyStephen Shaw PROPOSAL
Francesco J CaudyCanadaXuxue Feng RENEWAL
Adams B BologniaItalyIvan Magalhaes PROPOSAL
Leon P CaldareraUnited KingdomElwin Sharvill QUALIFIED
Adams H WaycottFranceBernardo Dominic QUALIFIED
Claire S NestleItalyAsiya Javayant NEW
Jeanfrancois K AlbaresIndiaIoni Bowcher NEW
Salvatore M GarufiUnited KingdomOnyama Limba RENEWAL
Mayumi M SergiFranceStephen Shaw PROPOSAL
Francesco Z RoysterBrazilIvan Magalhaes NEGOTIATION
Rodrigues U GauchoIndiaStephen Shaw UNQUALIFIED
Alejandro P WieserSpainOnyama Limba NEW
Juan Z PoquetteArgentinaIoni Bowcher RENEWAL
Julie Y OstroskyBrazilBernardo Dominic UNQUALIFIED
Ashley M GlickCanadaIvan Magalhaes RENEWAL

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