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
Mayumi P NestleItalyIvan Magalhaes UNQUALIFIED
Chavez Y DilliardIndiaBernardo Dominic QUALIFIED
Johnson C RimAustraliaAmy Elsner NEGOTIATION
Cody H StockhamArgentinaAsiya Javayant UNQUALIFIED
Francesco N DilliardRussiaXuxue Feng NEGOTIATION
Deepesh W RimGermanyAnna Fali RENEWAL
Antonio N SaylorsJapanIvan Magalhaes RENEWAL
Silvio Z BologniaGermanyElwin Sharvill NEW
Adams C RulapaughSpainBernardo Dominic UNQUALIFIED
Rodrigues M CaudyFranceAsiya Javayant UNQUALIFIED
Alejandro D MorascaGermanyAmy Elsner NEGOTIATION
Cody S OstroskyUnited KingdomOnyama Limba PROPOSAL
Ricardo Q CaudyBrazilOnyama Limba RENEWAL
Murillo E PerinBrazilAmy Elsner NEW
Greenwood P KuskoIndiaAsiya Javayant UNQUALIFIED
Munro F StensethAustraliaElwin Sharvill UNQUALIFIED
Jones L StockhamCanadaElwin Sharvill UNQUALIFIED
Isabel B MacleadArgentinaOnyama Limba QUALIFIED
Ashley Y FlosiGermanyIvan Magalhaes PROPOSAL
Salvatore E MarrierItalyBernardo Dominic PROPOSAL
Claire N NestleJapanXuxue Feng PROPOSAL
Leja P NickaIndiaIvan Magalhaes NEW
Jeanfrancois P SchemmerCanadaBernardo Dominic QUALIFIED
Arvin F SchemmerAustraliaAmy Elsner QUALIFIED
Smith C IturbideJapanIvan Magalhaes PROPOSAL
Aika T MaletAustraliaIvan Magalhaes NEW
Emily X AlbaresSpainAsiya Javayant UNQUALIFIED
Jeanfrancois V GillianRussiaAsiya Javayant RENEWAL
Julie U GlickBrazilElwin Sharvill RENEWAL
Darci G WieserJapanStephen Shaw RENEWAL
Juan S ShinkoSpainIoni Bowcher RENEWAL
Claire C FlosiGermanyOnyama Limba QUALIFIED
Adams B TollnerItalyAnna Fali RENEWAL
Arvin G ButtRussiaAnna Fali QUALIFIED
Julie Y KolmetzFranceIoni Bowcher UNQUALIFIED
Wickens P MarrierAustraliaXuxue Feng UNQUALIFIED
Leon J NestleCanadaBernardo Dominic RENEWAL
David D ChuiSpainIvan Magalhaes NEW
Johnson T FlosiCanadaXuxue Feng PROPOSAL
Greenwood R MaletBrazilIvan Magalhaes QUALIFIED
Aruna B OldroydUnited KingdomAsiya Javayant RENEWAL
Francesco F CaudyIndiaBernardo Dominic PROPOSAL
Jones H MaletArgentinaOnyama Limba PROPOSAL
Adams T WhobreyRussiaStephen Shaw UNQUALIFIED
Mujtaba C RoysterGermanyStephen Shaw QUALIFIED
Mujtaba R DilliardAustraliaXuxue Feng PROPOSAL
Francesco B FollerGermanyIvan Magalhaes RENEWAL
Murillo A CaudyAustraliaOnyama Limba UNQUALIFIED
Johnson S FerenczFranceIoni Bowcher QUALIFIED
Johnson W RimJapanAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Morrow B RoysterArgentinaStephen Shaw RENEWAL
Leja K GlickFranceAmy Elsner QUALIFIED
Ricardo E MaletJapanAsiya Javayant QUALIFIED
Adams X FigeroaGermanyAnna Fali PROPOSAL
Sinclair S GlickRussiaOnyama Limba UNQUALIFIED
Aika E KuskoUnited KingdomAmy Elsner NEW
Ricardo D ShinkoItalyElwin Sharvill QUALIFIED
Morrow N TollnerItalyIoni Bowcher NEW
Jeanfrancois K CampainSpainXuxue Feng NEGOTIATION
Leon I GlickCanadaIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel L SaylorsArgentina2026-10-08Commercial Press UNQUALIFIED96Anna Fali
1001Darci N KolmetzUnited Kingdom2026-10-02Chemel, James L Cpa NEW47Xuxue Feng
1002Jennifer I FerenczJapan2026-09-28Truhlar And Truhlar Attys PROPOSAL37Onyama Limba
1003Aruna P StensethBrazil2026-09-18Buckley Miller Wright UNQUALIFIED99Ivan Magalhaes
1004Deepesh X OldroydFrance2026-09-17Rangoni Of Florence PROPOSAL81Ivan Magalhaes
1005Smith W RoysterBrazil2026-10-12Feiner Bros NEGOTIATION41Amy Elsner
1006Rodrigues Y InouyeBrazil2026-10-02King, Christopher A Esq UNQUALIFIED7Onyama Limba
1007Deepesh M GauchoItaly2026-10-05Feiner Bros UNQUALIFIED10Elwin Sharvill
1008Mujtaba K TollnerJapan2026-10-05Chapman, Ross E Esq QUALIFIED16Ioni Bowcher
1009Maria C GauchoArgentina2026-09-24Dorl, James J Esq NEW56Asiya Javayant
1010Emily R StockhamJapan2026-10-05Chemel, James L Cpa QUALIFIED84Onyama Limba
1011Salvatore I CampainUnited Kingdom2026-09-28Chapman, Ross E Esq QUALIFIED83Elwin Sharvill
1012Cody I CaudyGermany2026-10-07Benton, John B Jr QUALIFIED42Asiya Javayant
1013Jones X MarrierSpain2026-10-02Truhlar And Truhlar Attys PROPOSAL89Stephen Shaw
1014Tony H BologniaUnited Kingdom2026-09-23Dorl, James J Esq PROPOSAL38Ioni Bowcher
1015Cody N ChuiArgentina2026-09-24Chanay, Jeffrey A Esq PROPOSAL0Asiya Javayant
1016Arvin I ButtGermany2026-09-23Chapman, Ross E Esq NEGOTIATION12Xuxue Feng
1017Kadeem C NestleFrance2026-09-19Chapman, Ross E Esq NEW46Xuxue Feng
1018Nicolas D GillianBrazil2026-10-07Chapman, Ross E Esq QUALIFIED42Xuxue Feng
1019Octavia J GillianBrazil2026-09-22Morlong Associates QUALIFIED57Bernardo Dominic
1020Maria R FigeroaBrazil2026-09-28Chapman, Ross E Esq NEW60Anna Fali
1021Wickens V KolmetzFrance2026-10-01Dorl, James J Esq NEGOTIATION13Xuxue Feng
1022Wickens D FollerItaly2026-09-17Feiner Bros NEGOTIATION3Xuxue Feng
1023Mayumi X ShinkoGermany2026-09-28Morlong Associates QUALIFIED73Elwin Sharvill
1024Stacey X SaylorsCanada2026-09-25Truhlar And Truhlar Attys NEGOTIATION70Asiya Javayant
1025Morrow I SlusarskiAustralia2026-09-24Chapman, Ross E Esq PROPOSAL44Stephen Shaw
1026Johnson Q RimUnited Kingdom2026-10-05Printing Dimensions QUALIFIED28Asiya Javayant
1027Alejandro R MarrierFrance2026-09-20Dorl, James J Esq UNQUALIFIED67Amy Elsner
1028Maria V FlosiItaly2026-10-01Chapman, Ross E Esq NEW83Ivan Magalhaes
1029Jennifer H DoeSpain2026-09-27Feiner Bros UNQUALIFIED66Onyama Limba
1030Ivar K SlusarskiIndia2026-09-24Feltz Printing Service QUALIFIED60Stephen Shaw
1031Misaki K SergiJapan2026-09-18Chanay, Jeffrey A Esq PROPOSAL2Onyama Limba
1032Stacey X KolmetzCanada2026-09-27Truhlar And Truhlar Attys QUALIFIED4Xuxue Feng
1033Maisha A MaletItaly2026-09-24Benton, John B Jr NEGOTIATION26Ivan Magalhaes
1034Kadeem M CampainJapan2026-09-17Printing Dimensions QUALIFIED73Xuxue Feng
1035David P PaprockiFrance2026-10-12Buckley Miller Wright PROPOSAL59Bernardo Dominic
1036Jeanfrancois F AlbaresCanada2026-10-03Feiner Bros PROPOSAL76Asiya Javayant
1037Greenwood Z PerinArgentina2026-09-24Printing Dimensions QUALIFIED44Stephen Shaw
1038Aika V DarakjyArgentina2026-09-23Printing Dimensions NEGOTIATION11Stephen Shaw
1039Alejandro S MaletBrazil2026-09-16Morlong Associates UNQUALIFIED32Xuxue Feng
1040Aditya T InouyeUnited Kingdom2026-09-17Morlong Associates UNQUALIFIED9Asiya Javayant
1041Munro N VocelkaFrance2026-09-27Dorl, James J Esq QUALIFIED39Asiya Javayant
1042Stacey C GlickAustralia2026-10-01Chemel, James L Cpa QUALIFIED3Asiya Javayant
1043Alejandro R CampainFrance2026-09-20Morlong Associates NEW98Onyama Limba
1044Jefferson T WaycottIndia2026-10-14Chemel, James L Cpa RENEWAL98Ioni Bowcher
1045Chavez N GarufiSpain2026-10-01Feiner Bros RENEWAL38Asiya Javayant
1046Stacey G BriddickCanada2026-10-03Chanay, Jeffrey A Esq NEW6Anna Fali
1047Claire Q FollerArgentina2026-09-27Dorl, James J Esq RENEWAL49Onyama Limba
1048David N KuskoGermany2026-10-01Rousseaux, Michael Esq RENEWAL64Bernardo Dominic
1049Jennifer I SaylorsBrazil2026-10-14Benton, John B Jr PROPOSAL48Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Maisha C NestleBrazilIvan Magalhaes NEW
Isabel W GauchoRussiaAnna Fali NEGOTIATION
Leja H FigeroaCanadaAmy Elsner RENEWAL
Francesco B OstroskyRussiaIoni Bowcher PROPOSAL
Clifford P DarakjyIndiaXuxue Feng NEGOTIATION
Tony Q FerenczSpainAnna Fali RENEWAL
Sinclair S SlusarskiGermanyXuxue Feng NEGOTIATION
Arvin V KolmetzArgentinaAsiya Javayant NEGOTIATION
James B StockhamUnited KingdomStephen Shaw NEGOTIATION
Nicolas O StockhamArgentinaElwin Sharvill UNQUALIFIED
Ashley L NestleBrazilXuxue Feng NEW
James M ShinkoAustraliaAsiya Javayant UNQUALIFIED
Adams B TollnerAustraliaStephen Shaw NEGOTIATION
Alejandro C StockhamGermanyElwin Sharvill PROPOSAL
James I RutaAustraliaAnna Fali NEGOTIATION
Jennifer W SlusarskiArgentinaStephen Shaw RENEWAL
Wickens Z GauchoFranceAsiya Javayant QUALIFIED
Jeanfrancois A IturbideSpainIvan Magalhaes NEW
Julie T MorascaCanadaStephen Shaw PROPOSAL
Alejandro K CaldareraAustraliaAmy Elsner NEGOTIATION
Salvatore E WieserGermanyIvan Magalhaes UNQUALIFIED
Leja Q SchemmerRussiaOnyama Limba NEW
Misaki C OstroskyJapanStephen Shaw NEW
James W NickaAustraliaAnna Fali RENEWAL
Salvatore E SergiIndiaAsiya Javayant RENEWAL
Munro X FigeroaSpainStephen Shaw PROPOSAL
Ricardo M NestleArgentinaElwin Sharvill NEW
Jones S CaudySpainStephen Shaw QUALIFIED
Alejandro Q AlbaresArgentinaElwin Sharvill QUALIFIED
Clifford R GillianIndiaElwin Sharvill PROPOSAL
Julie M MaletArgentinaElwin Sharvill QUALIFIED
Jefferson Z MacleadArgentinaBernardo Dominic PROPOSAL
Ivar W AlbaresFranceAnna Fali UNQUALIFIED
Izzy S SchemmerUnited KingdomXuxue Feng NEGOTIATION
Morrow Q SchemmerGermanyXuxue Feng UNQUALIFIED
Izzy O ButtJapanAsiya Javayant QUALIFIED
Sinclair L NestleCanadaElwin Sharvill NEW
Jennifer Z MacleadItalyIvan Magalhaes NEW
Adams W MarrierItalyOnyama Limba NEGOTIATION
Salvatore J RimArgentinaBernardo Dominic NEW
Chavez W SlusarskiRussiaStephen Shaw UNQUALIFIED
Wickens S DoeUnited KingdomElwin Sharvill PROPOSAL
Maisha Q StensethArgentinaIoni Bowcher QUALIFIED
Nicolas M RulapaughIndiaOnyama Limba RENEWAL
Chavez T FerenczArgentinaAmy Elsner PROPOSAL
Jones E NickaAustraliaXuxue Feng PROPOSAL
Jennifer U AlbaresCanadaXuxue Feng RENEWAL
Leja I RulapaughJapanOnyama Limba NEGOTIATION
Tony M ButtFranceStephen Shaw UNQUALIFIED
Claire E FlosiRussiaOnyama Limba UNQUALIFIED
Frozen Columns
Name
Arvin G Bowley
Izzy G Paprocki
Tony I Glick
Kadeem B Slusarski
Jennifer K Poquette
Isabel V Darakjy
James E Slusarski
Claire V Rim
Smith F Perin
Chavez J Stockham
Smith U Butt
David J Rim
Darci V Saylors
Adams B Perin
Maisha N Garufi
Leon E Waycott
Deepesh Y Kolmetz
Cody T Ostrosky
Tony I Malet
Octavia L Malet
Emily H Ostrosky
Chavez V Tollner
Johnson J Slusarski
Munro B Ruta
Adams P Saylors
Mujtaba H Amigon
Isabel L Inouye
Sinclair U Dilliard
Misaki H Bowley
Aika V Briddick
Murillo G Rim
Aika F Schemmer
Octavia G Inouye
Murillo G Waycott
Kaitlin X Iturbide
David L Marrier
Antonio C Caudy
Mujtaba L Flosi
Chavez C Perin
Izzy L Gillian
Greenwood Y Nicka
Deepesh Z Schemmer
Misaki O Vocelka
Ashley V Royster
Stacey F Darakjy
Emily M Iturbide
Deepesh Q Rim
Greenwood V Saylors
Faith W Rim
Jones Y Stockham
IdCountryDate
1000Spain2026-10-08
1001Argentina2026-10-13
1002Brazil2026-09-28
1003Canada2026-10-02
1004United Kingdom2026-10-12
1005France2026-09-20
1006United Kingdom2026-09-19
1007Spain2026-10-01
1008Japan2026-10-10
1009Spain2026-10-01
1010Russia2026-09-25
1011Brazil2026-10-13
1012Japan2026-09-28
1013Australia2026-10-10
1014India2026-09-30
1015France2026-10-13
1016Spain2026-09-22
1017Canada2026-10-13
1018India2026-09-21
1019Australia2026-09-28
1020Japan2026-09-28
1021Brazil2026-10-01
1022India2026-09-22
1023France2026-09-25
1024Brazil2026-09-18
1025Italy2026-10-02
1026Japan2026-10-07
1027France2026-10-10
1028Australia2026-09-25
1029Spain2026-10-10
1030Spain2026-10-03
1031Canada2026-10-03
1032Japan2026-10-13
1033United Kingdom2026-09-30
1034Argentina2026-09-16
1035United Kingdom2026-10-08
1036Spain2026-09-27
1037Canada2026-10-02
1038Italy2026-10-11
1039Brazil2026-09-24
1040Spain2026-09-21
1041Italy2026-09-17
1042Argentina2026-09-24
1043Argentina2026-09-25
1044Argentina2026-10-05
1045Canada2026-09-30
1046Russia2026-09-26
1047United Kingdom2026-09-21
1048United Kingdom2026-10-05
1049Germany2026-09-18

On-Demand Data

NameIdCountryDate
David G Amigon1000Canada2026-09-25
Deepesh Y Maclead1001Brazil2026-09-28
Munro S Garufi1002United Kingdom2026-09-15
Faith O Bolognia1003United Kingdom2026-09-24
Aditya E Foller1004United Kingdom2026-09-16
Izzy F Marrier1005United Kingdom2026-09-27
Murillo X Oldroyd1006Japan2026-09-15
Faith D Gaucho1007Japan2026-10-03
Alejandro F Royster1008Spain2026-10-03
Leja E Venere1009Australia2026-10-09
James Y Oldroyd1010Spain2026-09-28
Antonio N Garufi1011Germany2026-10-04
Aika N Chui1012Canada2026-10-11
Isabel U Inouye1013Italy2026-09-17
Maria X Chui1014United Kingdom2026-09-27
Silvio Y Darakjy1015Japan2026-10-04
Aika Q Darakjy1016Italy2026-10-09
David C Waycott1017Australia2026-09-24
Misaki I Flosi1018Argentina2026-10-09
Aditya B Albares1019United Kingdom2026-10-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa M RulapaughFranceIvan Magalhaes NEGOTIATION
Clifford O WhobreyRussiaIoni Bowcher QUALIFIED
Antonio H NickaAustraliaBernardo Dominic QUALIFIED
Julie D RutaBrazilStephen Shaw QUALIFIED
Kaitlin V RulapaughItalyElwin Sharvill NEGOTIATION
Francesco T RulapaughArgentinaAmy Elsner NEW
Jennifer Q RimAustraliaAnna Fali RENEWAL
Antonio H CampainArgentinaAmy Elsner PROPOSAL
Julie X MorascaItalyAmy Elsner NEW
David N BriddickItalyIoni Bowcher RENEWAL
Tony N SaylorsFranceAmy Elsner QUALIFIED
Emily P RulapaughFranceAmy Elsner QUALIFIED
Chavez X SlusarskiGermanyStephen Shaw NEGOTIATION
Alejandro P WieserItalyBernardo Dominic UNQUALIFIED
Kaitlin P NickaGermanyAsiya Javayant PROPOSAL
Johnson H MaletItalyAsiya Javayant RENEWAL
Jeanfrancois C SaylorsUnited KingdomBernardo Dominic NEGOTIATION
Maisha V GauchoRussiaElwin Sharvill NEW
Juan C SlusarskiCanadaAsiya Javayant NEW
Maisha M KuskoItalyAsiya Javayant NEGOTIATION
Mujtaba M GillianIndiaIoni Bowcher PROPOSAL
Juan Z SchemmerGermanyStephen Shaw RENEWAL
Kaitlin T DarakjyFranceAsiya Javayant UNQUALIFIED
Isabel N OldroydUnited KingdomElwin Sharvill NEW
Morrow N GarufiFranceIvan Magalhaes NEGOTIATION
Isabel Y SergiIndiaAmy Elsner QUALIFIED
Isabel L WhobreyRussiaAmy Elsner QUALIFIED
Munro F SergiCanadaBernardo Dominic NEGOTIATION
Costa T ShinkoSpainXuxue Feng UNQUALIFIED
Mayumi K WaycottGermanyAnna Fali NEGOTIATION
Arvin P WaycottGermanyAmy Elsner UNQUALIFIED
Faith E CaldareraItalyIoni Bowcher NEW
Costa Z ShinkoJapanIoni Bowcher NEGOTIATION
Ashley E PaprockiCanadaIoni Bowcher QUALIFIED
Leon E PerinArgentinaAmy Elsner QUALIFIED
Leja L GlickCanadaStephen Shaw PROPOSAL
Maisha H DarakjyIndiaStephen Shaw PROPOSAL
Sinclair B KuskoUnited KingdomBernardo Dominic RENEWAL
Claire N MaletJapanAnna Fali NEW
Jeanfrancois M NestleCanadaStephen Shaw NEGOTIATION

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