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
Emily O MorascaArgentinaBernardo Dominic RENEWAL
Chavez C WieserRussiaElwin Sharvill QUALIFIED
Clifford D AmigonArgentinaStephen Shaw NEW
Mujtaba M PaprockiIndiaStephen Shaw PROPOSAL
Leon P FlosiGermanyAnna Fali PROPOSAL
Faith H StensethCanadaXuxue Feng NEGOTIATION
Arvin S BowleyBrazilIoni Bowcher UNQUALIFIED
David E NickaItalyStephen Shaw NEW
Sinclair O RoysterJapanBernardo Dominic UNQUALIFIED
Smith D DarakjyRussiaBernardo Dominic QUALIFIED
Jefferson M BologniaRussiaStephen Shaw NEGOTIATION
Tony N FigeroaArgentinaIoni Bowcher UNQUALIFIED
Munro D WieserSpainIoni Bowcher PROPOSAL
Greenwood N SaylorsRussiaElwin Sharvill RENEWAL
Aika N OstroskyRussiaXuxue Feng UNQUALIFIED
Aruna Y CaldareraFranceIoni Bowcher PROPOSAL
Leja X CaldareraArgentinaIvan Magalhaes QUALIFIED
Aditya Q GillianSpainBernardo Dominic QUALIFIED
Izzy W GauchoRussiaIoni Bowcher QUALIFIED
Francesco A StockhamCanadaAnna Fali UNQUALIFIED
Murillo D RutaJapanAsiya Javayant NEW
Tony T MaletFranceXuxue Feng RENEWAL
Ricardo N SergiFranceStephen Shaw RENEWAL
Murillo P FerenczBrazilIvan Magalhaes QUALIFIED
Kaitlin S RimJapanAmy Elsner UNQUALIFIED
Kaitlin L DilliardItalyXuxue Feng RENEWAL
Rodrigues H FerenczGermanyXuxue Feng NEW
Maisha E MacleadBrazilElwin Sharvill RENEWAL
Mujtaba O KuskoFranceElwin Sharvill PROPOSAL
Leon T OldroydFranceOnyama Limba NEGOTIATION
Silvio C GarufiIndiaStephen Shaw UNQUALIFIED
Silvio W NickaRussiaStephen Shaw NEW
Misaki M ShinkoJapanElwin Sharvill NEGOTIATION
Cody U PaprockiUnited KingdomXuxue Feng NEW
Julie Z IturbideArgentinaXuxue Feng NEGOTIATION
Francesco U FollerBrazilBernardo Dominic NEGOTIATION
Kaitlin V KolmetzAustraliaOnyama Limba QUALIFIED
Salvatore S AmigonUnited KingdomIvan Magalhaes UNQUALIFIED
Jennifer R VocelkaRussiaBernardo Dominic QUALIFIED
Misaki X WieserFranceXuxue Feng NEW
Clifford N RoysterCanadaIoni Bowcher NEW
Sinclair O InouyeCanadaIoni Bowcher UNQUALIFIED
Nicolas D ShinkoBrazilOnyama Limba NEGOTIATION
Alejandro T DilliardUnited KingdomOnyama Limba QUALIFIED
Octavia X NickaArgentinaBernardo Dominic PROPOSAL
Octavia Z BriddickIndiaBernardo Dominic NEW
Kadeem Y GlickFranceStephen Shaw NEGOTIATION
Julie D KolmetzUnited KingdomAmy Elsner NEW
Costa K DarakjySpainStephen Shaw PROPOSAL
Julie M AlbaresRussiaOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Silvio V SchemmerJapanStephen Shaw QUALIFIED
Cody B ButtUnited KingdomIvan Magalhaes NEW
Salvatore X StensethCanadaIvan Magalhaes UNQUALIFIED
Wickens C MaletArgentinaIoni Bowcher UNQUALIFIED
Misaki I RutaCanadaXuxue Feng NEW
Adams G WaycottCanadaIvan Magalhaes NEGOTIATION
Aika E CaldareraJapanXuxue Feng NEW
Octavia B DoeBrazilIvan Magalhaes NEGOTIATION
Ashley Q PoquetteSpainIvan Magalhaes NEGOTIATION
Isabel J ButtIndiaAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo B FollerArgentina2026-10-15Chemel, James L Cpa UNQUALIFIED62Amy Elsner
1001Ricardo U DarakjyCanada2026-10-20King, Christopher A Esq PROPOSAL91Elwin Sharvill
1002Alejandro V StockhamGermany2026-10-30Rangoni Of Florence UNQUALIFIED40Ivan Magalhaes
1003Juan T DarakjyCanada2026-11-02Commercial Press NEW80Elwin Sharvill
1004Aruna N DoeUnited Kingdom2026-10-07Benton, John B Jr NEW51Anna Fali
1005Octavia B VocelkaArgentina2026-11-02Feiner Bros UNQUALIFIED55Bernardo Dominic
1006Arvin I RulapaughBrazil2026-10-16Chemel, James L Cpa UNQUALIFIED41Amy Elsner
1007Misaki F FigeroaSpain2026-10-21Chanay, Jeffrey A Esq PROPOSAL4Ivan Magalhaes
1008Leja R ShinkoCanada2026-10-30Benton, John B Jr UNQUALIFIED54Xuxue Feng
1009Ashley F DilliardUnited Kingdom2026-10-12Chapman, Ross E Esq RENEWAL10Ivan Magalhaes
1010Emily Q TollnerFrance2026-10-30Benton, John B Jr PROPOSAL25Xuxue Feng
1011Aika M GlickSpain2026-10-25Truhlar And Truhlar Attys RENEWAL97Amy Elsner
1012Jefferson T BologniaRussia2026-10-16Chemel, James L Cpa PROPOSAL85Asiya Javayant
1013Leja T KuskoBrazil2026-10-27Buckley Miller Wright RENEWAL74Elwin Sharvill
1014Ashley T RimGermany2026-10-25King, Christopher A Esq RENEWAL12Anna Fali
1015Alejandro E KolmetzBrazil2026-10-24Chanay, Jeffrey A Esq NEGOTIATION51Amy Elsner
1016Jeanfrancois K CaudyAustralia2026-10-16King, Christopher A Esq RENEWAL14Stephen Shaw
1017Wickens F StensethSpain2026-10-13Chapman, Ross E Esq NEGOTIATION12Xuxue Feng
1018Deepesh Q WhobreyGermany2026-11-01Truhlar And Truhlar Attys NEW65Stephen Shaw
1019James D RulapaughUnited Kingdom2026-10-28Truhlar And Truhlar Attys NEGOTIATION11Amy Elsner
1020Rodrigues S MaletArgentina2026-10-09Rousseaux, Michael Esq UNQUALIFIED60Asiya Javayant
1021Misaki X CampainFrance2026-11-02Truhlar And Truhlar Attys NEW22Stephen Shaw
1022Isabel N VenereItaly2026-10-16Commercial Press QUALIFIED28Bernardo Dominic
1023Johnson O WhobreySpain2026-10-16Rousseaux, Michael Esq QUALIFIED69Ioni Bowcher
1024Tony A CaudyRussia2026-10-29Printing Dimensions PROPOSAL62Onyama Limba
1025Isabel T BologniaFrance2026-10-30Buckley Miller Wright UNQUALIFIED93Anna Fali
1026Antonio B OstroskySpain2026-10-12Morlong Associates QUALIFIED33Bernardo Dominic
1027Johnson G PoquetteAustralia2026-10-07Dorl, James J Esq NEW62Stephen Shaw
1028Kaitlin I TollnerUnited Kingdom2026-10-19Chanay, Jeffrey A Esq NEW94Elwin Sharvill
1029Murillo C MorascaItaly2026-10-17Chemel, James L Cpa PROPOSAL42Xuxue Feng
1030Emily P DarakjyJapan2026-11-02Printing Dimensions RENEWAL42Anna Fali
1031Chavez Y NickaSpain2026-10-22Chapman, Ross E Esq PROPOSAL31Asiya Javayant
1032Stacey N ButtUnited Kingdom2026-10-22Feiner Bros UNQUALIFIED66Ivan Magalhaes
1033Johnson E PaprockiCanada2026-10-29Chemel, James L Cpa NEW73Ioni Bowcher
1034Isabel J WieserArgentina2026-10-09Rousseaux, Michael Esq NEGOTIATION33Amy Elsner
1035Maria M CaudyArgentina2026-10-15Feiner Bros PROPOSAL83Asiya Javayant
1036Izzy I FerenczRussia2026-10-10Rousseaux, Michael Esq QUALIFIED72Amy Elsner
1037Faith X PaprockiIndia2026-10-26Chapman, Ross E Esq PROPOSAL35Xuxue Feng
1038Francesco L CampainRussia2026-10-09Rangoni Of Florence RENEWAL5Xuxue Feng
1039Aruna W AmigonSpain2026-10-12Printing Dimensions UNQUALIFIED13Xuxue Feng
1040Juan K FollerFrance2026-10-05Chapman, Ross E Esq UNQUALIFIED56Xuxue Feng
1041Adams I MacleadAustralia2026-10-26Commercial Press RENEWAL23Asiya Javayant
1042Jennifer G PoquetteCanada2026-10-17Chapman, Ross E Esq QUALIFIED61Elwin Sharvill
1043Ashley G CampainBrazil2026-10-11Printing Dimensions UNQUALIFIED46Elwin Sharvill
1044Kadeem J SlusarskiCanada2026-10-05Feltz Printing Service RENEWAL70Stephen Shaw
1045Morrow G MacleadSpain2026-10-18Chemel, James L Cpa RENEWAL4Elwin Sharvill
1046Stacey J OldroydArgentina2026-10-12Morlong Associates NEW60Ioni Bowcher
1047Munro S BowleyIndia2026-10-27Rousseaux, Michael Esq QUALIFIED22Xuxue Feng
1048Ashley W PaprockiRussia2026-10-15Truhlar And Truhlar Attys NEW45Asiya Javayant
1049Kaitlin J PoquetteItaly2026-10-08Chemel, James L Cpa RENEWAL68Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Chavez B ChuiBrazilBernardo Dominic UNQUALIFIED
Leja Y ButtSpainIoni Bowcher NEW
Octavia L KuskoArgentinaIvan Magalhaes QUALIFIED
James Y NickaFranceIoni Bowcher PROPOSAL
Rodrigues M KuskoCanadaAsiya Javayant NEGOTIATION
Kadeem B WaycottItalyOnyama Limba UNQUALIFIED
Ashley C MacleadJapanStephen Shaw NEW
Murillo N SergiCanadaIoni Bowcher QUALIFIED
Alejandro T RimJapanAnna Fali QUALIFIED
James R MorascaSpainAsiya Javayant QUALIFIED
Aruna W MorascaJapanXuxue Feng RENEWAL
Smith G MaletCanadaElwin Sharvill PROPOSAL
Maisha S BowleyArgentinaOnyama Limba NEGOTIATION
Rodrigues C NestleFranceElwin Sharvill NEW
Jefferson I OstroskyCanadaAnna Fali NEGOTIATION
Johnson V DoeJapanIvan Magalhaes QUALIFIED
Jefferson J ShinkoCanadaIvan Magalhaes NEGOTIATION
Julie Y StockhamBrazilAnna Fali PROPOSAL
Adams G DilliardFranceElwin Sharvill QUALIFIED
Maria D WhobreySpainAsiya Javayant NEW
Maria Z AmigonFranceOnyama Limba RENEWAL
Arvin K CaldareraBrazilAnna Fali PROPOSAL
Arvin H MaletUnited KingdomAnna Fali NEW
Johnson F AmigonIndiaElwin Sharvill UNQUALIFIED
Deepesh X PaprockiIndiaStephen Shaw UNQUALIFIED
Arvin C FollerSpainBernardo Dominic QUALIFIED
Ricardo U ChuiGermanyAmy Elsner QUALIFIED
Julie B CampainItalyAnna Fali RENEWAL
Greenwood B BriddickItalyIoni Bowcher PROPOSAL
Emily L PerinBrazilOnyama Limba UNQUALIFIED
Emily B KolmetzSpainAmy Elsner NEGOTIATION
Darci K PerinJapanStephen Shaw QUALIFIED
Leon J RimRussiaAsiya Javayant PROPOSAL
Kaitlin Z MaletJapanOnyama Limba NEGOTIATION
Juan B ButtGermanyAnna Fali PROPOSAL
Faith N SchemmerArgentinaAmy Elsner NEW
David F ButtCanadaAnna Fali PROPOSAL
Leja C SergiAustraliaStephen Shaw UNQUALIFIED
Alejandro O FlosiJapanAnna Fali QUALIFIED
Wickens S DilliardArgentinaBernardo Dominic PROPOSAL
Adams U KolmetzAustraliaElwin Sharvill PROPOSAL
James F DarakjyArgentinaAmy Elsner NEW
Munro K CampainAustraliaAnna Fali PROPOSAL
Smith Q GlickJapanStephen Shaw PROPOSAL
Octavia Y RimGermanyElwin Sharvill QUALIFIED
Ricardo V RulapaughUnited KingdomBernardo Dominic NEW
James G SchemmerJapanIvan Magalhaes NEW
Isabel S BologniaFranceAmy Elsner NEW
Ricardo N AmigonGermanyXuxue Feng NEW
Antonio P SchemmerArgentinaIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Nicolas G Garufi
Silvio A Vocelka
Misaki A Waycott
Aditya R Shinko
Francesco L Royster
Maisha F Darakjy
James Y Glick
Mayumi U Kolmetz
Misaki S Paprocki
Alejandro Q Caldarera
Darci U Briddick
Ashley H Kolmetz
Arvin T Slusarski
Deepesh V Amigon
Adams T Amigon
Octavia N Royster
Cody A Rim
Deepesh S Morasca
Jones Q Garufi
David H Chui
Francesco Y Inouye
Costa F Albares
David B Caudy
Leja E Gaucho
Maria Q Slusarski
Kaitlin N Rim
Cody M Amigon
Johnson D Wieser
Julie T Garufi
Stacey V Chui
Octavia Z Stockham
Ashley B Morasca
Jones R Doe
Sinclair B Nestle
Jeanfrancois Q Poquette
Ashley Z Whobrey
Clifford I Wieser
Octavia H Gaucho
Clifford V Campain
Ricardo O Amigon
Adams O Rulapaugh
Nicolas R Malet
Emily D Marrier
Antonio M Paprocki
David S Paprocki
Wickens K Nestle
Maria V Wieser
Nicolas I Ruta
Mujtaba I Shinko
James C Whobrey
IdCountryDate
1000Brazil2026-10-22
1001Russia2026-10-23
1002Germany2026-10-19
1003United Kingdom2026-10-31
1004Australia2026-10-14
1005Canada2026-10-15
1006Australia2026-10-10
1007Russia2026-11-02
1008Italy2026-10-08
1009Italy2026-10-15
1010Spain2026-10-12
1011Italy2026-11-01
1012Japan2026-10-21
1013France2026-10-08
1014Spain2026-10-22
1015Italy2026-10-23
1016Japan2026-10-23
1017United Kingdom2026-10-11
1018Russia2026-10-25
1019India2026-11-02
1020India2026-10-20
1021Spain2026-10-09
1022Japan2026-10-07
1023Italy2026-10-23
1024Canada2026-10-11
1025Spain2026-10-25
1026Argentina2026-10-06
1027Italy2026-10-14
1028Russia2026-10-11
1029United Kingdom2026-10-08
1030Argentina2026-10-22
1031India2026-10-25
1032Australia2026-10-07
1033Argentina2026-10-09
1034Australia2026-10-26
1035Spain2026-10-27
1036Argentina2026-10-15
1037France2026-10-05
1038Brazil2026-10-20
1039Australia2026-10-25
1040India2026-10-21
1041Brazil2026-10-23
1042Argentina2026-10-07
1043Spain2026-10-11
1044Japan2026-10-15
1045Russia2026-10-13
1046France2026-10-20
1047India2026-10-22
1048United Kingdom2026-10-20
1049Italy2026-10-31

On-Demand Data

NameIdCountryDate
Murillo M Kusko1000Argentina2026-10-20
Aditya Z Nicka1001Canada2026-11-01
Maisha H Inouye1002Argentina2026-10-04
Jones B Rim1003France2026-10-16
Chavez V Chui1004Brazil2026-10-25
Francesco N Royster1005Germany2026-10-30
Octavia I Caldarera1006United Kingdom2026-10-08
Deepesh I Garufi1007Canada2026-10-19
Antonio Z Poquette1008Italy2026-11-02
Greenwood X Chui1009United Kingdom2026-10-11
Murillo N Caldarera1010Canada2026-10-16
Arvin J Morasca1011France2026-11-02
Stacey T Slusarski1012India2026-10-28
Jones Q Bolognia1013Germany2026-10-12
Ricardo K Morasca1014Australia2026-10-22
Adams K Perin1015Japan2026-10-18
Julie G Albares1016Russia2026-10-09
Jeanfrancois J Rulapaugh1017Canada2026-11-01
Morrow F Doe1018Argentina2026-10-21
Ricardo C Tollner1019India2026-10-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore D KolmetzAustraliaAnna Fali NEW
Silvio U GauchoIndiaAmy Elsner UNQUALIFIED
Mujtaba P AmigonBrazilElwin Sharvill RENEWAL
Emily U MorascaIndiaIvan Magalhaes RENEWAL
Antonio M FollerIndiaIoni Bowcher NEGOTIATION
Leja D FerenczUnited KingdomAnna Fali QUALIFIED
Deepesh W InouyeSpainElwin Sharvill NEW
Aruna X SaylorsFranceIvan Magalhaes NEGOTIATION
Arvin O CampainSpainOnyama Limba RENEWAL
Ricardo L ShinkoIndiaIvan Magalhaes RENEWAL
Adams Y PerinGermanyStephen Shaw RENEWAL
Kadeem M AmigonItalyOnyama Limba RENEWAL
Faith M NestleArgentinaXuxue Feng RENEWAL
Leja M InouyeBrazilAnna Fali QUALIFIED
Julie H DoeBrazilXuxue Feng NEW
Julie I MaletJapanOnyama Limba NEW
Sinclair S BowleyGermanyIoni Bowcher UNQUALIFIED
Ashley N WieserAustraliaIoni Bowcher UNQUALIFIED
Julie R FerenczArgentinaBernardo Dominic NEGOTIATION
Jones S FollerBrazilOnyama Limba NEGOTIATION
Alejandro M MaletUnited KingdomXuxue Feng PROPOSAL
Ivar C FlosiFranceXuxue Feng PROPOSAL
Antonio F FerenczGermanyBernardo Dominic UNQUALIFIED
Leon H MacleadIndiaIvan Magalhaes QUALIFIED
Greenwood J RulapaughBrazilBernardo Dominic QUALIFIED
Julie X ButtAustraliaAsiya Javayant UNQUALIFIED
Kaitlin J IturbideSpainIoni Bowcher UNQUALIFIED
Jones Z SchemmerArgentinaIvan Magalhaes NEW
Smith W SaylorsUnited KingdomAsiya Javayant UNQUALIFIED
Leja I DoeFranceAnna Fali NEGOTIATION
David Y KolmetzJapanBernardo Dominic PROPOSAL
Nicolas F PerinJapanStephen Shaw UNQUALIFIED
Jefferson D DarakjyCanadaAsiya Javayant RENEWAL
Maria R AlbaresItalyAmy Elsner RENEWAL
Francesco M StensethAustraliaIoni Bowcher RENEWAL
Maisha B CaudyFranceOnyama Limba RENEWAL
Stacey F AmigonIndiaIoni Bowcher PROPOSAL
Jones F RulapaughFranceIoni Bowcher RENEWAL
Leon P ButtJapanOnyama Limba PROPOSAL
Emily U VocelkaAustraliaXuxue Feng 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>