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
Leon Z GillianBrazilOnyama Limba PROPOSAL
Adams T DilliardJapanAmy Elsner QUALIFIED
Greenwood Y PaprockiGermanyAsiya Javayant PROPOSAL
Aika H CampainFranceOnyama Limba UNQUALIFIED
Smith S MarrierSpainAmy Elsner UNQUALIFIED
Munro Z FollerRussiaAnna Fali RENEWAL
Faith K SchemmerSpainAnna Fali UNQUALIFIED
Smith K DilliardSpainElwin Sharvill RENEWAL
Kadeem I DoeIndiaAmy Elsner NEW
Aika Z DarakjyCanadaAnna Fali RENEWAL
Antonio W OstroskyAustraliaBernardo Dominic NEW
Sinclair V RulapaughUnited KingdomIvan Magalhaes UNQUALIFIED
Antonio S OstroskyArgentinaElwin Sharvill NEW
Arvin X RimUnited KingdomXuxue Feng PROPOSAL
Claire J VenereJapanAmy Elsner QUALIFIED
Maria T FerenczCanadaBernardo Dominic PROPOSAL
Smith T TollnerBrazilBernardo Dominic NEW
Juan W OldroydJapanIvan Magalhaes RENEWAL
Aika P WaycottArgentinaElwin Sharvill UNQUALIFIED
Izzy Q BologniaAustraliaAsiya Javayant NEW
Adams O GarufiJapanStephen Shaw PROPOSAL
Johnson B KolmetzFranceIvan Magalhaes PROPOSAL
Cody B OstroskyIndiaIoni Bowcher QUALIFIED
Alejandro C GauchoSpainAnna Fali PROPOSAL
Sinclair Z OstroskyArgentinaAsiya Javayant QUALIFIED
Mayumi M FigeroaUnited KingdomElwin Sharvill NEW
Smith A SchemmerSpainStephen Shaw QUALIFIED
Aruna U GauchoGermanyElwin Sharvill NEGOTIATION
Mayumi T WieserAustraliaIoni Bowcher UNQUALIFIED
Jennifer S SergiItalyIvan Magalhaes NEGOTIATION
Darci M RulapaughUnited KingdomStephen Shaw UNQUALIFIED
Nicolas L PerinUnited KingdomElwin Sharvill QUALIFIED
Ricardo P ShinkoArgentinaOnyama Limba RENEWAL
Maisha L CaudyItalyStephen Shaw QUALIFIED
Nicolas T InouyeAustraliaElwin Sharvill QUALIFIED
Aika B DoeCanadaAnna Fali NEGOTIATION
Tony N AmigonBrazilAsiya Javayant QUALIFIED
Nicolas X StensethItalyAmy Elsner UNQUALIFIED
Mayumi L PerinItalyAmy Elsner PROPOSAL
Isabel L SaylorsBrazilStephen Shaw RENEWAL
Mayumi C FigeroaFranceAmy Elsner QUALIFIED
Morrow K ButtItalyOnyama Limba PROPOSAL
David S PoquetteFranceXuxue Feng UNQUALIFIED
Claire T DarakjyGermanyElwin Sharvill NEW
Smith C MarrierAustraliaAsiya Javayant QUALIFIED
Aditya Y RoysterGermanyIvan Magalhaes NEGOTIATION
James X RulapaughCanadaBernardo Dominic PROPOSAL
Claire R CaudyIndiaIoni Bowcher NEGOTIATION
Maisha G MaletJapanXuxue Feng QUALIFIED
Aditya H TollnerJapanAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Arvin O MaletIndiaAnna Fali RENEWAL
David U CampainItalyXuxue Feng NEW
Jefferson E StensethSpainXuxue Feng NEW
Claire G CaudyGermanyBernardo Dominic UNQUALIFIED
Adams B ShinkoBrazilStephen Shaw NEGOTIATION
Clifford W PoquetteItalyIoni Bowcher RENEWAL
Murillo F StockhamIndiaBernardo Dominic PROPOSAL
Stacey K RulapaughAustraliaElwin Sharvill RENEWAL
Jefferson I WhobreyIndiaStephen Shaw QUALIFIED
Misaki M RulapaughUnited KingdomIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel L FlosiUnited Kingdom2026-10-12Feltz Printing Service PROPOSAL51Onyama Limba
1001Morrow I OldroydArgentina2026-09-25Chemel, James L Cpa NEW0Stephen Shaw
1002Arvin P AlbaresGermany2026-09-25Feltz Printing Service NEGOTIATION73Ioni Bowcher
1003Sinclair T FigeroaBrazil2026-10-08Chanay, Jeffrey A Esq UNQUALIFIED4Elwin Sharvill
1004David M GillianCanada2026-09-25Commercial Press NEW31Amy Elsner
1005Faith J BologniaGermany2026-10-08Buckley Miller Wright PROPOSAL32Stephen Shaw
1006Sinclair B StockhamBrazil2026-09-29King, Christopher A Esq QUALIFIED49Asiya Javayant
1007Silvio X TollnerRussia2026-09-23Truhlar And Truhlar Attys RENEWAL46Onyama Limba
1008Sinclair F SaylorsIndia2026-09-22Rousseaux, Michael Esq PROPOSAL24Asiya Javayant
1009Izzy Y RimFrance2026-10-07Dorl, James J Esq NEGOTIATION3Ioni Bowcher
1010Sinclair E DilliardUnited Kingdom2026-10-07Chanay, Jeffrey A Esq UNQUALIFIED7Ioni Bowcher
1011Rodrigues H MacleadGermany2026-09-27Feltz Printing Service UNQUALIFIED90Amy Elsner
1012Antonio S WhobreyGermany2026-09-25Feltz Printing Service UNQUALIFIED79Bernardo Dominic
1013Octavia S OldroydCanada2026-10-12Chanay, Jeffrey A Esq NEW38Xuxue Feng
1014Ricardo R BowleyAustralia2026-09-23Rousseaux, Michael Esq QUALIFIED8Amy Elsner
1015Isabel S DilliardRussia2026-10-10Rousseaux, Michael Esq RENEWAL87Asiya Javayant
1016Smith I TollnerRussia2026-09-21Truhlar And Truhlar Attys QUALIFIED2Ivan Magalhaes
1017Darci U MacleadArgentina2026-09-30Chapman, Ross E Esq RENEWAL3Asiya Javayant
1018Mujtaba M ButtJapan2026-10-17Truhlar And Truhlar Attys QUALIFIED21Amy Elsner
1019Cody R IturbideJapan2026-10-07Chanay, Jeffrey A Esq NEGOTIATION2Bernardo Dominic
1020Munro C RoysterAustralia2026-10-16Dorl, James J Esq RENEWAL83Bernardo Dominic
1021Izzy Z FollerIndia2026-10-20Benton, John B Jr UNQUALIFIED36Elwin Sharvill
1022Alejandro T GarufiIndia2026-10-11Rousseaux, Michael Esq NEGOTIATION20Elwin Sharvill
1023Jeanfrancois W MaletAustralia2026-10-06Truhlar And Truhlar Attys NEGOTIATION3Ioni Bowcher
1024Rodrigues G RoysterUnited Kingdom2026-09-22Benton, John B Jr NEW41Elwin Sharvill
1025Izzy A RutaSpain2026-10-07Rangoni Of Florence NEW73Onyama Limba
1026Munro O OstroskyFrance2026-10-11Dorl, James J Esq QUALIFIED68Asiya Javayant
1027Deepesh D ShinkoBrazil2026-10-07Commercial Press UNQUALIFIED43Ivan Magalhaes
1028Misaki I GillianUnited Kingdom2026-10-20Benton, John B Jr UNQUALIFIED45Ivan Magalhaes
1029Faith J AmigonRussia2026-09-23Buckley Miller Wright NEW41Onyama Limba
1030Cody W GarufiFrance2026-10-03Chapman, Ross E Esq RENEWAL47Xuxue Feng
1031Silvio M NestleBrazil2026-09-26Chanay, Jeffrey A Esq NEW6Amy Elsner
1032Jeanfrancois M AlbaresJapan2026-09-27Truhlar And Truhlar Attys RENEWAL15Elwin Sharvill
1033Aika W ButtIndia2026-10-18Commercial Press RENEWAL66Anna Fali
1034Juan V DarakjyIndia2026-10-11Rousseaux, Michael Esq PROPOSAL80Stephen Shaw
1035Morrow H OstroskySpain2026-10-14Dorl, James J Esq RENEWAL81Amy Elsner
1036Julie D MarrierFrance2026-10-19Chanay, Jeffrey A Esq NEW76Onyama Limba
1037Kadeem T AlbaresGermany2026-10-06King, Christopher A Esq QUALIFIED20Ivan Magalhaes
1038David K GillianFrance2026-10-02King, Christopher A Esq NEGOTIATION58Amy Elsner
1039Faith R FerenczUnited Kingdom2026-10-06King, Christopher A Esq NEGOTIATION37Elwin Sharvill
1040James Q WaycottSpain2026-10-05Truhlar And Truhlar Attys UNQUALIFIED26Ivan Magalhaes
1041Jones G MaletUnited Kingdom2026-10-06Benton, John B Jr NEW78Bernardo Dominic
1042Aditya E SaylorsUnited Kingdom2026-10-16Chemel, James L Cpa NEGOTIATION69Onyama Limba
1043Jones H SergiArgentina2026-09-22Rangoni Of Florence NEGOTIATION59Stephen Shaw
1044Misaki O StensethUnited Kingdom2026-10-19Chanay, Jeffrey A Esq PROPOSAL85Elwin Sharvill
1045Rodrigues C MaletCanada2026-10-07Truhlar And Truhlar Attys NEGOTIATION33Xuxue Feng
1046Claire K NickaBrazil2026-10-11Chemel, James L Cpa UNQUALIFIED24Xuxue Feng
1047Wickens U FlosiItaly2026-10-04Feltz Printing Service UNQUALIFIED84Onyama Limba
1048Aditya V GarufiSpain2026-10-13Rousseaux, Michael Esq NEGOTIATION75Anna Fali
1049Deepesh E RoysterUnited Kingdom2026-10-14Buckley Miller Wright UNQUALIFIED73Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Maisha G KolmetzRussiaElwin Sharvill PROPOSAL
Adams E RutaJapanIvan Magalhaes UNQUALIFIED
Julie O WieserSpainOnyama Limba PROPOSAL
David X RutaArgentinaAsiya Javayant NEGOTIATION
Aruna S ButtGermanyStephen Shaw PROPOSAL
Leja X OldroydIndiaAmy Elsner PROPOSAL
Kadeem L CampainFranceStephen Shaw RENEWAL
Morrow J MaletIndiaStephen Shaw RENEWAL
Stacey D AmigonRussiaAsiya Javayant QUALIFIED
Aruna P VenereGermanyIvan Magalhaes RENEWAL
Ashley K CaudyGermanyIoni Bowcher RENEWAL
David F StensethIndiaOnyama Limba NEW
Maria A RutaBrazilIoni Bowcher UNQUALIFIED
Greenwood S GarufiItalyAmy Elsner QUALIFIED
Clifford Y RulapaughFranceElwin Sharvill NEW
Greenwood O WieserAustraliaIvan Magalhaes NEW
Rodrigues F PaprockiItalyXuxue Feng QUALIFIED
Maisha A GauchoSpainBernardo Dominic UNQUALIFIED
Deepesh I BriddickUnited KingdomOnyama Limba RENEWAL
Jefferson N MorascaCanadaBernardo Dominic NEW
David T RimArgentinaElwin Sharvill UNQUALIFIED
Nicolas Z WieserFranceIoni Bowcher PROPOSAL
Stacey L RulapaughGermanyXuxue Feng RENEWAL
Cody B FerenczGermanyAnna Fali NEW
Wickens N DarakjyFranceAnna Fali NEGOTIATION
Munro A RutaAustraliaOnyama Limba NEGOTIATION
Juan P KolmetzSpainAnna Fali NEW
Aruna A FerenczSpainAnna Fali NEGOTIATION
Ricardo Z ChuiCanadaAnna Fali NEGOTIATION
Maisha O FerenczArgentinaBernardo Dominic UNQUALIFIED
Greenwood G InouyeGermanyAmy Elsner UNQUALIFIED
Leon S TollnerSpainAsiya Javayant PROPOSAL
Nicolas F CampainFranceElwin Sharvill PROPOSAL
Salvatore T RulapaughItalyXuxue Feng QUALIFIED
Deepesh T TollnerIndiaElwin Sharvill NEGOTIATION
Stacey J StensethRussiaAsiya Javayant NEGOTIATION
David S FlosiItalyXuxue Feng NEGOTIATION
Mujtaba D FollerRussiaStephen Shaw UNQUALIFIED
Leja N InouyeJapanAsiya Javayant PROPOSAL
Tony W CaldareraJapanStephen Shaw NEW
Munro J KuskoUnited KingdomXuxue Feng QUALIFIED
Costa I MaletItalyIvan Magalhaes QUALIFIED
Ashley J VocelkaAustraliaAmy Elsner PROPOSAL
Mujtaba J RutaIndiaIoni Bowcher PROPOSAL
Kaitlin S AlbaresCanadaAsiya Javayant NEGOTIATION
Jefferson J RutaBrazilIoni Bowcher UNQUALIFIED
Aruna E RoysterCanadaElwin Sharvill RENEWAL
Izzy C SlusarskiBrazilXuxue Feng RENEWAL
Arvin N BriddickArgentinaBernardo Dominic RENEWAL
Aruna W WaycottCanadaAnna Fali NEGOTIATION
Frozen Columns
Name
Isabel X Bowley
Kadeem Y Vocelka
James M Albares
Leja K Tollner
Kaitlin N Gaucho
Mujtaba H Ruta
Jones L Bolognia
David F Rim
Tony A Wieser
Stacey B Ruta
Ashley W Kusko
Antonio N Venere
Nicolas Q Marrier
Claire I Malet
Jones W Bolognia
Jones O Amigon
Murillo U Paprocki
Tony V Kolmetz
Leon U Figeroa
Aditya U Maclead
Sinclair V Darakjy
Arvin V Morasca
Greenwood W Marrier
Cody O Sergi
Rodrigues V Albares
Jeanfrancois U Rim
Costa Y Darakjy
Juan L Schemmer
Aika D Amigon
Jeanfrancois P Iturbide
Salvatore S Rim
Octavia L Bolognia
Mayumi C Maclead
Silvio G Morasca
Jones U Wieser
Jennifer U Stenseth
Ricardo Y Stenseth
Emily G Vocelka
Francesco Q Foller
Jones X Bolognia
Ricardo M Stockham
Sinclair Z Slusarski
Ricardo M Shinko
Jeanfrancois N Amigon
Cody J Caudy
Stacey F Oldroyd
Jeanfrancois Z Albares
Morrow J Bowley
Jefferson W Stenseth
Morrow O Saylors
IdCountryDate
1000Brazil2026-10-17
1001Japan2026-10-20
1002Japan2026-09-22
1003United Kingdom2026-10-10
1004Japan2026-09-27
1005Japan2026-10-04
1006Brazil2026-09-30
1007United Kingdom2026-09-27
1008Brazil2026-10-03
1009Canada2026-10-10
1010Argentina2026-10-15
1011Australia2026-09-21
1012Australia2026-10-02
1013Germany2026-10-15
1014Russia2026-10-11
1015Argentina2026-10-05
1016Canada2026-10-04
1017France2026-09-22
1018Germany2026-09-28
1019Australia2026-10-13
1020Australia2026-09-29
1021Russia2026-09-28
1022Japan2026-09-25
1023United Kingdom2026-09-25
1024Germany2026-10-10
1025Russia2026-10-05
1026United Kingdom2026-10-04
1027Argentina2026-10-03
1028Russia2026-09-27
1029Japan2026-10-09
1030India2026-10-01
1031Russia2026-09-25
1032Argentina2026-10-16
1033Argentina2026-10-16
1034Germany2026-10-18
1035Australia2026-10-05
1036Argentina2026-10-15
1037Spain2026-10-17
1038Russia2026-10-01
1039Russia2026-09-27
1040Russia2026-10-02
1041Russia2026-09-24
1042Argentina2026-09-25
1043Brazil2026-10-16
1044Argentina2026-09-21
1045France2026-10-07
1046Japan2026-10-16
1047Japan2026-09-23
1048Canada2026-09-26
1049Germany2026-09-21

On-Demand Data

NameIdCountryDate
Adams Z Inouye1000United Kingdom2026-09-23
Juan G Ruta1001Argentina2026-10-19
Juan C Stockham1002Germany2026-09-29
Rodrigues P Paprocki1003Spain2026-09-22
Mujtaba N Ruta1004Germany2026-10-11
Octavia F Shinko1005Canada2026-09-25
Aditya Y Campain1006United Kingdom2026-10-11
Deepesh Q Saylors1007France2026-10-17
Maria G Paprocki1008Russia2026-10-08
Julie V Sergi1009Italy2026-10-07
Cody U Chui1010India2026-10-14
Smith A Iturbide1011Japan2026-10-18
Costa V Bolognia1012Germany2026-10-18
Aditya O Inouye1013Brazil2026-10-03
Kadeem X Iturbide1014Argentina2026-10-12
Murillo O Garufi1015Germany2026-10-18
Jefferson S Stenseth1016Russia2026-09-27
Sinclair R Rim1017Spain2026-10-09
Francesco W Ostrosky1018Brazil2026-09-30
Antonio C Venere1019Spain2026-10-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley Z KolmetzCanadaIvan Magalhaes NEGOTIATION
Darci Y MacleadUnited KingdomElwin Sharvill NEGOTIATION
Antonio D ShinkoItalyElwin Sharvill NEW
Deepesh U ChuiAustraliaBernardo Dominic PROPOSAL
Rodrigues X InouyeSpainOnyama Limba QUALIFIED
Salvatore J DilliardItalyAmy Elsner QUALIFIED
Tony W GarufiItalyAmy Elsner RENEWAL
Johnson H MaletAustraliaAsiya Javayant QUALIFIED
James M DilliardBrazilAsiya Javayant PROPOSAL
Claire C AmigonRussiaAnna Fali RENEWAL
Darci K MorascaJapanAnna Fali QUALIFIED
Jones T SergiArgentinaAsiya Javayant UNQUALIFIED
Cody L CaldareraGermanyElwin Sharvill NEW
Juan U SchemmerRussiaAnna Fali NEGOTIATION
James F CampainJapanIoni Bowcher PROPOSAL
Chavez S ChuiIndiaOnyama Limba NEGOTIATION
Stacey Z VocelkaAustraliaAsiya Javayant RENEWAL
Izzy Q GarufiUnited KingdomBernardo Dominic UNQUALIFIED
Ricardo X TollnerRussiaBernardo Dominic NEW
Deepesh P FerenczBrazilIoni Bowcher UNQUALIFIED
Smith Y PoquetteCanadaStephen Shaw NEGOTIATION
Misaki J WhobreyGermanyIoni Bowcher RENEWAL
Costa N RulapaughArgentinaAsiya Javayant NEGOTIATION
Maisha H PaprockiFranceIvan Magalhaes NEW
Misaki J WhobreyCanadaIvan Magalhaes NEGOTIATION
Francesco C GillianAustraliaElwin Sharvill NEGOTIATION
Kaitlin Q IturbideFranceBernardo Dominic NEW
Munro G MaletJapanAnna Fali RENEWAL
Emily T KolmetzBrazilAsiya Javayant QUALIFIED
Ashley G DilliardRussiaIvan Magalhaes NEGOTIATION
Nicolas D FlosiAustraliaStephen Shaw UNQUALIFIED
Sinclair B GlickJapanAmy Elsner NEGOTIATION
Costa E GlickCanadaIvan Magalhaes UNQUALIFIED
Emily P GarufiArgentinaOnyama Limba UNQUALIFIED
Emily W AlbaresGermanyXuxue Feng NEGOTIATION
Octavia S VenereJapanStephen Shaw UNQUALIFIED
Jones V MacleadFranceStephen Shaw QUALIFIED
Ivar E GarufiItalyAmy Elsner PROPOSAL
Nicolas U CaudyFranceStephen Shaw NEW
Emily V KolmetzIndiaStephen Shaw 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>