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
Smith H GillianItalyAsiya Javayant UNQUALIFIED
Ashley S VenereBrazilIoni Bowcher NEGOTIATION
Stacey S FlosiIndiaAnna Fali UNQUALIFIED
Izzy D StockhamIndiaOnyama Limba PROPOSAL
Stacey G InouyeUnited KingdomOnyama Limba QUALIFIED
Mayumi G PoquetteIndiaAmy Elsner NEGOTIATION
Faith M KuskoJapanAmy Elsner RENEWAL
Tony D RulapaughArgentinaIoni Bowcher NEW
Chavez R RoysterArgentinaOnyama Limba UNQUALIFIED
Salvatore S SchemmerGermanyIvan Magalhaes PROPOSAL
Alejandro Q VocelkaItalyAnna Fali UNQUALIFIED
Stacey H DilliardRussiaXuxue Feng NEW
Isabel B WaycottRussiaOnyama Limba RENEWAL
Mayumi Y NickaRussiaStephen Shaw PROPOSAL
Claire H FlosiItalyAnna Fali RENEWAL
Jones T InouyeUnited KingdomOnyama Limba QUALIFIED
Nicolas U KolmetzItalyElwin Sharvill QUALIFIED
Alejandro D SergiIndiaElwin Sharvill UNQUALIFIED
Emily Y RoysterItalyStephen Shaw QUALIFIED
Johnson Y BriddickCanadaAmy Elsner RENEWAL
Sinclair T IturbideIndiaOnyama Limba NEW
Juan D KolmetzCanadaIvan Magalhaes NEGOTIATION
Stacey I DilliardJapanElwin Sharvill NEW
Munro X StockhamSpainAmy Elsner UNQUALIFIED
Greenwood R BologniaUnited KingdomAnna Fali UNQUALIFIED
Faith C WhobreyUnited KingdomBernardo Dominic QUALIFIED
Silvio M MarrierItalyOnyama Limba NEW
Kaitlin S ChuiIndiaXuxue Feng QUALIFIED
Jeanfrancois A ShinkoBrazilStephen Shaw RENEWAL
Arvin N AlbaresBrazilOnyama Limba QUALIFIED
Ashley A PoquetteBrazilIvan Magalhaes NEGOTIATION
Octavia R MaletJapanBernardo Dominic PROPOSAL
Julie C MaletFranceAmy Elsner NEGOTIATION
Jefferson J RutaRussiaAmy Elsner UNQUALIFIED
Octavia T SlusarskiSpainAnna Fali UNQUALIFIED
Mujtaba V WieserGermanyBernardo Dominic QUALIFIED
Claire B RimSpainAsiya Javayant QUALIFIED
Maria B MorascaItalyXuxue Feng QUALIFIED
Johnson Q GauchoGermanyStephen Shaw NEGOTIATION
Julie T FigeroaUnited KingdomOnyama Limba PROPOSAL
Isabel F PaprockiIndiaXuxue Feng PROPOSAL
Isabel R IturbideRussiaIvan Magalhaes NEGOTIATION
Faith N GillianCanadaElwin Sharvill UNQUALIFIED
Munro S GauchoSpainXuxue Feng UNQUALIFIED
Misaki B BologniaJapanBernardo Dominic NEW
Misaki T TollnerFranceAmy Elsner QUALIFIED
Julie L RimArgentinaAmy Elsner NEW
Izzy E CampainGermanyOnyama Limba PROPOSAL
Ivar H SlusarskiSpainAsiya Javayant NEGOTIATION
Morrow G OstroskyJapanIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Misaki R GauchoSpainAmy Elsner QUALIFIED
Mujtaba O MacleadSpainStephen Shaw NEW
Aruna C AlbaresGermanyElwin Sharvill PROPOSAL
Chavez Q VocelkaUnited KingdomIoni Bowcher NEGOTIATION
Tony T FigeroaBrazilIoni Bowcher RENEWAL
Isabel Y PaprockiJapanElwin Sharvill NEGOTIATION
Aruna P RimArgentinaOnyama Limba QUALIFIED
Cody V OstroskyFranceStephen Shaw NEW
Munro Q CaldareraGermanyBernardo Dominic UNQUALIFIED
Francesco M VenereArgentinaOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson V MaletUnited Kingdom2026-10-05Chemel, James L Cpa QUALIFIED54Elwin Sharvill
1001Chavez L AmigonArgentina2026-10-19King, Christopher A Esq PROPOSAL21Stephen Shaw
1002Julie A KuskoAustralia2026-10-08Truhlar And Truhlar Attys UNQUALIFIED16Elwin Sharvill
1003David K PerinItaly2026-10-16Truhlar And Truhlar Attys UNQUALIFIED40Stephen Shaw
1004Tony K KuskoCanada2026-10-06Rangoni Of Florence QUALIFIED50Amy Elsner
1005Emily K PaprockiUnited Kingdom2026-10-08Buckley Miller Wright NEGOTIATION15Onyama Limba
1006Emily L ButtSpain2026-10-08Commercial Press QUALIFIED68Onyama Limba
1007David E SchemmerRussia2026-10-19Commercial Press NEW8Elwin Sharvill
1008Leon C RimItaly2026-10-02Dorl, James J Esq QUALIFIED9Asiya Javayant
1009Wickens E MaletRussia2026-10-15Buckley Miller Wright NEGOTIATION16Asiya Javayant
1010Darci R NickaAustralia2026-10-18Chemel, James L Cpa NEGOTIATION29Ivan Magalhaes
1011Ashley X StensethFrance2026-10-02Rangoni Of Florence PROPOSAL22Stephen Shaw
1012Wickens P PaprockiItaly2026-10-24Feiner Bros UNQUALIFIED56Xuxue Feng
1013Jeanfrancois U KolmetzFrance2026-10-02Truhlar And Truhlar Attys NEW55Elwin Sharvill
1014Jennifer L FollerSpain2026-10-05Buckley Miller Wright RENEWAL98Anna Fali
1015Kadeem R BriddickJapan2026-10-24Benton, John B Jr UNQUALIFIED44Ivan Magalhaes
1016David U RutaGermany2026-09-29Benton, John B Jr NEGOTIATION40Elwin Sharvill
1017Jefferson O BriddickAustralia2026-10-17Commercial Press PROPOSAL82Xuxue Feng
1018Ricardo U DoeCanada2026-10-10Morlong Associates UNQUALIFIED12Amy Elsner
1019Wickens D CaudyGermany2026-10-26Feiner Bros NEW50Stephen Shaw
1020Isabel J CampainIndia2026-09-28Benton, John B Jr RENEWAL47Xuxue Feng
1021Jones Y ButtCanada2026-10-06Rangoni Of Florence PROPOSAL97Ivan Magalhaes
1022Costa M TollnerUnited Kingdom2026-10-01Dorl, James J Esq NEW41Asiya Javayant
1023Ashley F GarufiGermany2026-10-23Benton, John B Jr QUALIFIED31Stephen Shaw
1024Alejandro X DarakjyCanada2026-10-14Rousseaux, Michael Esq QUALIFIED88Bernardo Dominic
1025Mujtaba C FlosiBrazil2026-10-21Benton, John B Jr QUALIFIED64Anna Fali
1026Arvin K NestleArgentina2026-10-19Chanay, Jeffrey A Esq PROPOSAL65Stephen Shaw
1027Deepesh H NickaUnited Kingdom2026-10-19Rangoni Of Florence PROPOSAL41Elwin Sharvill
1028Darci X MacleadJapan2026-10-14Dorl, James J Esq NEGOTIATION1Ivan Magalhaes
1029Murillo T InouyeArgentina2026-10-02Feltz Printing Service UNQUALIFIED34Bernardo Dominic
1030Kaitlin G MaletItaly2026-10-13Feiner Bros QUALIFIED78Asiya Javayant
1031Mayumi P DarakjyJapan2026-10-22Printing Dimensions NEGOTIATION87Elwin Sharvill
1032Aruna G FollerCanada2026-10-18Rangoni Of Florence PROPOSAL29Bernardo Dominic
1033Maisha R NickaAustralia2026-10-26Chapman, Ross E Esq UNQUALIFIED90Ioni Bowcher
1034Leon A GlickUnited Kingdom2026-10-07King, Christopher A Esq NEW51Amy Elsner
1035Sinclair O StockhamAustralia2026-10-09Dorl, James J Esq RENEWAL49Amy Elsner
1036Clifford I NestleArgentina2026-10-11Rangoni Of Florence NEGOTIATION18Anna Fali
1037Stacey S VenereSpain2026-10-09Commercial Press QUALIFIED65Stephen Shaw
1038Aruna J WaycottGermany2026-10-08Commercial Press PROPOSAL30Stephen Shaw
1039Adams Q InouyeGermany2026-10-12Feltz Printing Service NEW24Ioni Bowcher
1040Cody L VenereBrazil2026-09-30Chapman, Ross E Esq QUALIFIED20Xuxue Feng
1041Chavez S BowleyIndia2026-10-09Buckley Miller Wright RENEWAL79Amy Elsner
1042Munro Z GlickFrance2026-10-16Truhlar And Truhlar Attys NEGOTIATION47Onyama Limba
1043Francesco I GlickIndia2026-10-02Printing Dimensions UNQUALIFIED41Onyama Limba
1044Kaitlin G IturbideBrazil2026-10-16Chemel, James L Cpa UNQUALIFIED98Ivan Magalhaes
1045Julie I NestleItaly2026-10-20Printing Dimensions QUALIFIED38Amy Elsner
1046Isabel R FigeroaBrazil2026-10-25Commercial Press QUALIFIED60Ivan Magalhaes
1047Arvin J RimAustralia2026-10-09Rangoni Of Florence PROPOSAL99Elwin Sharvill
1048Silvio B GarufiItaly2026-10-07Dorl, James J Esq NEGOTIATION43Anna Fali
1049Cody H MaletArgentina2026-10-12Benton, John B Jr RENEWAL26Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Leja W MaletAustraliaIvan Magalhaes NEW
Ricardo A MorascaFranceXuxue Feng RENEWAL
Antonio J ButtJapanAsiya Javayant NEW
Ivar T AlbaresItalyAnna Fali QUALIFIED
James D RimItalyOnyama Limba NEGOTIATION
Misaki Y SergiJapanElwin Sharvill QUALIFIED
Nicolas V NestleItalyXuxue Feng NEW
Jeanfrancois W StensethCanadaIvan Magalhaes NEGOTIATION
Jennifer V FigeroaItalyAmy Elsner NEGOTIATION
Isabel W SchemmerJapanAsiya Javayant NEW
Deepesh V MacleadCanadaElwin Sharvill NEW
Tony K TollnerCanadaOnyama Limba NEGOTIATION
Rodrigues N FollerCanadaAsiya Javayant PROPOSAL
Morrow Y PerinFranceBernardo Dominic NEGOTIATION
Faith Z DarakjySpainBernardo Dominic UNQUALIFIED
Rodrigues M ChuiArgentinaIvan Magalhaes NEW
Maisha O CaldareraCanadaAsiya Javayant PROPOSAL
Jefferson C MorascaJapanAnna Fali NEW
Kadeem W FollerJapanOnyama Limba PROPOSAL
Johnson N SaylorsArgentinaAsiya Javayant PROPOSAL
Alejandro Q WhobreyGermanyElwin Sharvill NEGOTIATION
Alejandro U VenereArgentinaAnna Fali NEW
Jennifer O MacleadBrazilXuxue Feng RENEWAL
Jeanfrancois I CaldareraUnited KingdomXuxue Feng NEW
Chavez A VenereArgentinaIoni Bowcher QUALIFIED
Antonio P FigeroaBrazilElwin Sharvill NEW
Smith V StockhamSpainIvan Magalhaes RENEWAL
Francesco Z NickaRussiaOnyama Limba QUALIFIED
Jeanfrancois V InouyeBrazilBernardo Dominic RENEWAL
Isabel A WieserAustraliaOnyama Limba RENEWAL
Isabel B BowleyCanadaAsiya Javayant UNQUALIFIED
Mujtaba P StockhamCanadaXuxue Feng NEW
Mayumi T ButtUnited KingdomStephen Shaw NEW
Clifford K FerenczCanadaAnna Fali PROPOSAL
Arvin D MorascaGermanyAmy Elsner QUALIFIED
Aika D MarrierArgentinaBernardo Dominic QUALIFIED
Francesco V MaletArgentinaIoni Bowcher RENEWAL
Antonio Z ButtCanadaAmy Elsner NEW
Leja I GauchoIndiaAsiya Javayant PROPOSAL
Julie G MorascaArgentinaXuxue Feng QUALIFIED
Stacey H CaudyJapanIvan Magalhaes QUALIFIED
Jeanfrancois K BologniaCanadaOnyama Limba NEGOTIATION
Julie Z InouyeUnited KingdomXuxue Feng RENEWAL
Greenwood K FerenczArgentinaAsiya Javayant NEGOTIATION
Julie A IturbideGermanyAnna Fali PROPOSAL
Smith E KuskoItalyAsiya Javayant NEGOTIATION
Octavia S PaprockiBrazilStephen Shaw PROPOSAL
Aruna A RutaArgentinaAmy Elsner NEW
Maisha E MarrierAustraliaAmy Elsner PROPOSAL
Chavez V FollerJapanIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Julie N Caudy
Faith Z Morasca
Aika K Marrier
Claire W Glick
Deepesh Z Shinko
Greenwood S Wieser
Salvatore A Vocelka
Mayumi R Campain
Jones N Kolmetz
Salvatore K Ostrosky
Francesco O Rulapaugh
Rodrigues J Perin
Deepesh V Chui
Morrow H Schemmer
Mayumi T Ostrosky
Mayumi Y Doe
Juan G Royster
Leja C Gaucho
Aika K Ruta
Jones S Foller
Smith D Slusarski
Maisha J Briddick
Smith W Foller
Maria F Nestle
Alejandro T Figeroa
Salvatore J Maclead
Johnson X Glick
Nicolas U Amigon
Rodrigues S Dilliard
Izzy F Tollner
Leon D Inouye
Rodrigues N Foller
Jones H Waycott
Deepesh R Shinko
Costa P Bolognia
Juan V Ferencz
Kaitlin D Garufi
Chavez U Chui
Isabel K Slusarski
Octavia Y Oldroyd
Murillo B Gillian
Murillo D Darakjy
Ashley K Venere
Ricardo U Saylors
Julie I Vocelka
Wickens O Chui
Clifford I Rim
Clifford S Morasca
Ivar W Shinko
Antonio R Nicka
IdCountryDate
1000Japan2026-09-28
1001Canada2026-10-02
1002Italy2026-10-14
1003Canada2026-10-14
1004India2026-10-24
1005Japan2026-10-03
1006Canada2026-10-14
1007India2026-10-05
1008Italy2026-10-07
1009Australia2026-10-25
1010Brazil2026-10-24
1011Germany2026-10-18
1012Argentina2026-10-15
1013Germany2026-10-12
1014France2026-10-23
1015Spain2026-10-03
1016Japan2026-10-06
1017Japan2026-10-16
1018Australia2026-10-10
1019Australia2026-10-12
1020Italy2026-10-06
1021Germany2026-10-22
1022Spain2026-10-22
1023Japan2026-09-27
1024India2026-10-18
1025France2026-09-30
1026Italy2026-10-05
1027United Kingdom2026-10-17
1028Japan2026-10-03
1029France2026-10-15
1030Russia2026-10-04
1031Australia2026-09-30
1032Argentina2026-10-15
1033Italy2026-10-16
1034Italy2026-10-05
1035Spain2026-10-05
1036Brazil2026-10-26
1037Germany2026-09-30
1038Canada2026-10-18
1039Russia2026-09-27
1040Argentina2026-10-14
1041Italy2026-10-26
1042Japan2026-10-13
1043United Kingdom2026-10-09
1044Brazil2026-09-29
1045Russia2026-10-18
1046Germany2026-10-23
1047Argentina2026-09-30
1048Argentina2026-10-24
1049Italy2026-09-28

On-Demand Data

NameIdCountryDate
Darci Q Foller1000Australia2026-09-29
Mayumi E Marrier1001Japan2026-10-17
Jefferson R Schemmer1002Japan2026-10-20
Mujtaba B Garufi1003Argentina2026-10-24
Clifford P Ruta1004Italy2026-09-27
Rodrigues D Bowley1005Brazil2026-10-01
Tony U Nestle1006Australia2026-10-03
Aruna J Albares1007Australia2026-10-18
Darci G Shinko1008Russia2026-10-22
Nicolas C Caudy1009India2026-10-04
Ricardo X Nestle1010Japan2026-10-14
Juan C Rulapaugh1011Germany2026-10-15
Silvio U Iturbide1012India2026-10-02
Faith L Figeroa1013Japan2026-10-17
Francesco L Doe1014Canada2026-10-05
Arvin K Foller1015Spain2026-10-13
James Y Chui1016Argentina2026-10-11
Julie Q Gillian1017Canada2026-10-24
Cody D Foller1018Italy2026-09-29
Mayumi C Caldarera1019Canada2026-10-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley W NestleUnited KingdomBernardo Dominic NEGOTIATION
Stacey E VenereBrazilStephen Shaw NEW
Chavez S GillianArgentinaElwin Sharvill UNQUALIFIED
Emily G KolmetzArgentinaStephen Shaw RENEWAL
Rodrigues I FigeroaCanadaStephen Shaw NEW
Mayumi U GillianUnited KingdomBernardo Dominic NEGOTIATION
Sinclair F NickaItalyStephen Shaw NEW
Stacey Z OstroskyIndiaElwin Sharvill RENEWAL
Aika F TollnerItalyElwin Sharvill NEW
Kaitlin D MorascaUnited KingdomXuxue Feng NEGOTIATION
Isabel X WieserIndiaOnyama Limba NEGOTIATION
Jennifer J MaletJapanStephen Shaw NEW
Ashley R GauchoGermanyIoni Bowcher NEW
Munro J WhobreyRussiaAsiya Javayant NEGOTIATION
Silvio B MorascaUnited KingdomStephen Shaw UNQUALIFIED
Octavia T KuskoSpainXuxue Feng UNQUALIFIED
Emily O AlbaresCanadaXuxue Feng NEGOTIATION
Clifford E InouyeArgentinaIoni Bowcher QUALIFIED
Kaitlin V MaletAustraliaAsiya Javayant NEGOTIATION
Julie I RulapaughArgentinaStephen Shaw RENEWAL
Morrow O DoeRussiaElwin Sharvill PROPOSAL
Tony I PoquetteJapanAmy Elsner UNQUALIFIED
Johnson D SaylorsBrazilIoni Bowcher NEGOTIATION
Kaitlin I WhobreyFranceAsiya Javayant NEGOTIATION
Emily O FigeroaRussiaOnyama Limba NEGOTIATION
Arvin I WieserBrazilElwin Sharvill PROPOSAL
Francesco P SlusarskiArgentinaAnna Fali RENEWAL
Adams V ButtSpainOnyama Limba NEW
Silvio I PaprockiItalyBernardo Dominic UNQUALIFIED
Octavia I PaprockiRussiaBernardo Dominic UNQUALIFIED
Costa B DarakjyAustraliaIvan Magalhaes QUALIFIED
James I RulapaughBrazilBernardo Dominic QUALIFIED
Stacey X SchemmerBrazilAsiya Javayant NEW
Kadeem H ShinkoRussiaAsiya Javayant NEW
Darci O AmigonCanadaIoni Bowcher RENEWAL
Misaki B GauchoUnited KingdomIvan Magalhaes PROPOSAL
Ricardo K InouyeFranceIvan Magalhaes NEGOTIATION
Silvio Z DilliardSpainElwin Sharvill UNQUALIFIED
Izzy G FigeroaAustraliaAmy Elsner RENEWAL
Francesco C CaldareraSpainBernardo Dominic QUALIFIED

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