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
Sinclair K WaycottAustraliaElwin Sharvill NEGOTIATION
Munro T WaycottIndiaBernardo Dominic RENEWAL
Silvio P IturbideGermanyAsiya Javayant PROPOSAL
Aruna P VocelkaCanadaIoni Bowcher PROPOSAL
Tony B GauchoRussiaAsiya Javayant PROPOSAL
Leja L VenereAustraliaAmy Elsner NEGOTIATION
Costa Y SergiSpainIoni Bowcher UNQUALIFIED
Darci F DilliardUnited KingdomXuxue Feng RENEWAL
Isabel M AlbaresRussiaElwin Sharvill RENEWAL
Clifford V StockhamBrazilBernardo Dominic PROPOSAL
Tony V KuskoJapanElwin Sharvill NEGOTIATION
Francesco X ChuiUnited KingdomOnyama Limba RENEWAL
Julie G DoeIndiaAsiya Javayant NEGOTIATION
Murillo M InouyeArgentinaStephen Shaw NEGOTIATION
Darci D SaylorsFranceXuxue Feng PROPOSAL
James A ChuiIndiaXuxue Feng UNQUALIFIED
David K BowleyFranceAsiya Javayant RENEWAL
Stacey S WhobreyItalyAsiya Javayant UNQUALIFIED
Francesco X ButtRussiaAsiya Javayant RENEWAL
Leja J InouyeArgentinaXuxue Feng UNQUALIFIED
Deepesh U KuskoSpainIoni Bowcher NEGOTIATION
Leon S AlbaresArgentinaAnna Fali NEW
Mujtaba B SaylorsGermanyStephen Shaw NEGOTIATION
Stacey P PerinRussiaAmy Elsner RENEWAL
Antonio L CampainUnited KingdomStephen Shaw UNQUALIFIED
Rodrigues E KuskoIndiaBernardo Dominic NEW
Aika R WhobreyItalyStephen Shaw NEGOTIATION
James K PaprockiCanadaElwin Sharvill PROPOSAL
Octavia V ChuiGermanyIvan Magalhaes NEW
Juan M PoquetteArgentinaIvan Magalhaes NEW
Faith L BologniaJapanAsiya Javayant NEW
Julie I PaprockiIndiaStephen Shaw UNQUALIFIED
James C OldroydRussiaXuxue Feng QUALIFIED
David I AlbaresIndiaIvan Magalhaes QUALIFIED
Juan T RoysterCanadaXuxue Feng QUALIFIED
Greenwood S MacleadAustraliaAmy Elsner NEW
Claire T AmigonRussiaAmy Elsner RENEWAL
Juan F ButtBrazilAsiya Javayant QUALIFIED
Leja L SlusarskiAustraliaAmy Elsner UNQUALIFIED
Claire V ButtUnited KingdomAmy Elsner UNQUALIFIED
Salvatore A ButtIndiaBernardo Dominic RENEWAL
Deepesh N KuskoFranceElwin Sharvill PROPOSAL
Kadeem C SaylorsSpainStephen Shaw NEGOTIATION
Deepesh D SlusarskiCanadaAmy Elsner UNQUALIFIED
Leon M GauchoIndiaBernardo Dominic UNQUALIFIED
Greenwood X CampainFranceBernardo Dominic QUALIFIED
Clifford Z BowleyArgentinaAnna Fali QUALIFIED
Francesco C ChuiCanadaElwin Sharvill NEW
Maisha H MacleadItalyAsiya Javayant QUALIFIED
Alejandro U RulapaughAustraliaIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Adams X BologniaAustraliaBernardo Dominic RENEWAL
Aditya C CaldareraArgentinaXuxue Feng NEW
Morrow U WhobreyRussiaAsiya Javayant RENEWAL
Ricardo V GlickBrazilXuxue Feng RENEWAL
Deepesh X KolmetzUnited KingdomIoni Bowcher NEGOTIATION
Emily G RutaFranceElwin Sharvill UNQUALIFIED
Jennifer F VocelkaItalyXuxue Feng NEGOTIATION
James G CaudyFranceAnna Fali QUALIFIED
Darci A AmigonJapanOnyama Limba PROPOSAL
Faith O SergiBrazilOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa M NestleItaly2026-10-03Truhlar And Truhlar Attys PROPOSAL94Elwin Sharvill
1001Greenwood P SchemmerRussia2026-10-11King, Christopher A Esq UNQUALIFIED89Onyama Limba
1002Johnson Y MaletAustralia2026-09-22Truhlar And Truhlar Attys RENEWAL19Ioni Bowcher
1003Jennifer G RoysterCanada2026-10-01Feiner Bros UNQUALIFIED99Amy Elsner
1004Maria B KolmetzCanada2026-09-27Chapman, Ross E Esq NEW77Stephen Shaw
1005Jones Q DilliardCanada2026-10-16Commercial Press RENEWAL72Asiya Javayant
1006James L ShinkoSpain2026-10-09Truhlar And Truhlar Attys QUALIFIED5Anna Fali
1007Isabel T GlickIndia2026-10-12Feiner Bros QUALIFIED57Ioni Bowcher
1008Salvatore X InouyeBrazil2026-10-18Commercial Press QUALIFIED56Elwin Sharvill
1009Ivar U MaletItaly2026-09-19Truhlar And Truhlar Attys NEW49Xuxue Feng
1010Jefferson T SlusarskiRussia2026-10-18Morlong Associates RENEWAL64Ioni Bowcher
1011Darci K CampainFrance2026-10-08Buckley Miller Wright NEGOTIATION39Elwin Sharvill
1012David X RulapaughAustralia2026-10-08Chemel, James L Cpa PROPOSAL18Ioni Bowcher
1013Nicolas M ButtJapan2026-10-10Buckley Miller Wright UNQUALIFIED31Ivan Magalhaes
1014Morrow H MaletRussia2026-10-02Truhlar And Truhlar Attys PROPOSAL21Anna Fali
1015Darci O MorascaSpain2026-10-05Chemel, James L Cpa NEGOTIATION3Stephen Shaw
1016Silvio F PerinUnited Kingdom2026-10-16Chapman, Ross E Esq UNQUALIFIED89Onyama Limba
1017Tony Q SergiItaly2026-10-05Feiner Bros NEW11Onyama Limba
1018Kaitlin L RutaAustralia2026-09-21Buckley Miller Wright RENEWAL73Anna Fali
1019Mayumi H RoysterGermany2026-09-21Printing Dimensions UNQUALIFIED38Anna Fali
1020Wickens H MaletSpain2026-10-08Buckley Miller Wright QUALIFIED53Anna Fali
1021Francesco O PoquetteJapan2026-09-28Feiner Bros PROPOSAL87Onyama Limba
1022Mayumi K SchemmerArgentina2026-09-28Buckley Miller Wright QUALIFIED46Xuxue Feng
1023Morrow A CaldareraAustralia2026-10-08Truhlar And Truhlar Attys UNQUALIFIED88Anna Fali
1024Octavia Q MorascaJapan2026-10-14Chapman, Ross E Esq RENEWAL73Stephen Shaw
1025Jones Y PerinJapan2026-10-09Printing Dimensions NEW14Asiya Javayant
1026Maisha L BologniaArgentina2026-10-05Chapman, Ross E Esq NEW69Ioni Bowcher
1027Maria M MorascaArgentina2026-10-10Rangoni Of Florence RENEWAL2Ioni Bowcher
1028Kaitlin M MacleadArgentina2026-09-20Commercial Press RENEWAL30Elwin Sharvill
1029Cody O InouyeFrance2026-10-11Feltz Printing Service PROPOSAL50Anna Fali
1030Munro N MarrierIndia2026-09-24Benton, John B Jr NEW63Asiya Javayant
1031Misaki C SchemmerCanada2026-10-06Benton, John B Jr NEGOTIATION26Stephen Shaw
1032Morrow E SlusarskiArgentina2026-09-23Feiner Bros UNQUALIFIED24Elwin Sharvill
1033Jefferson K RutaIndia2026-09-21Feiner Bros PROPOSAL20Ioni Bowcher
1034Maria R FerenczAustralia2026-10-03Buckley Miller Wright NEGOTIATION66Onyama Limba
1035Kadeem T MacleadItaly2026-09-30Rangoni Of Florence NEGOTIATION77Anna Fali
1036Octavia B PoquetteCanada2026-10-05Chapman, Ross E Esq UNQUALIFIED91Elwin Sharvill
1037Maisha X TollnerSpain2026-09-19Rangoni Of Florence QUALIFIED95Ivan Magalhaes
1038Chavez M FigeroaSpain2026-09-23Truhlar And Truhlar Attys NEW31Bernardo Dominic
1039Darci U MacleadJapan2026-09-19Buckley Miller Wright PROPOSAL19Xuxue Feng
1040Kadeem K VocelkaItaly2026-10-10Feltz Printing Service RENEWAL34Stephen Shaw
1041Aditya U ButtRussia2026-10-09Feltz Printing Service QUALIFIED32Anna Fali
1042Octavia U FlosiSpain2026-10-10Morlong Associates NEW52Bernardo Dominic
1043Jeanfrancois R MacleadAustralia2026-10-04Commercial Press NEW68Anna Fali
1044Morrow K GarufiItaly2026-10-03Dorl, James J Esq UNQUALIFIED93Ivan Magalhaes
1045Aditya Z CaudyAustralia2026-09-19Chemel, James L Cpa QUALIFIED48Bernardo Dominic
1046Wickens S RoysterArgentina2026-10-10Benton, John B Jr QUALIFIED15Amy Elsner
1047Maria M CaldareraIndia2026-10-05Truhlar And Truhlar Attys QUALIFIED29Ivan Magalhaes
1048Jefferson Q MarrierJapan2026-10-12Chanay, Jeffrey A Esq RENEWAL65Amy Elsner
1049Maria L CaldareraAustralia2026-09-23Buckley Miller Wright UNQUALIFIED48Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Morrow M DilliardFranceAmy Elsner NEW
Kaitlin F PaprockiFranceIvan Magalhaes UNQUALIFIED
Octavia U CampainFranceBernardo Dominic UNQUALIFIED
Mujtaba O GarufiRussiaElwin Sharvill NEGOTIATION
Clifford X RutaUnited KingdomIoni Bowcher UNQUALIFIED
Aruna O RutaArgentinaAmy Elsner PROPOSAL
Antonio G FollerGermanyIoni Bowcher NEW
Claire P KuskoIndiaOnyama Limba QUALIFIED
Aruna Z DoeJapanAnna Fali UNQUALIFIED
Arvin M ButtFranceStephen Shaw RENEWAL
Ashley P StockhamIndiaElwin Sharvill QUALIFIED
Julie N DoeItalyOnyama Limba QUALIFIED
Clifford T RimBrazilXuxue Feng NEGOTIATION
Costa X BologniaGermanyAsiya Javayant PROPOSAL
Johnson K WaycottJapanIvan Magalhaes NEW
Darci Z ButtSpainAnna Fali QUALIFIED
Deepesh U SchemmerItalyOnyama Limba NEGOTIATION
Ashley W ShinkoUnited KingdomBernardo Dominic NEW
Alejandro A WaycottAustraliaBernardo Dominic NEGOTIATION
Tony C SergiItalyIoni Bowcher QUALIFIED
Aditya K AlbaresRussiaAnna Fali NEW
Costa A DilliardGermanyAsiya Javayant UNQUALIFIED
Deepesh Y DilliardJapanAnna Fali NEW
Faith T FlosiCanadaIvan Magalhaes RENEWAL
Leja R GauchoJapanAmy Elsner RENEWAL
Juan D VocelkaAustraliaStephen Shaw PROPOSAL
Maria V SaylorsArgentinaBernardo Dominic UNQUALIFIED
Claire L RulapaughItalyAsiya Javayant NEGOTIATION
Adams K PerinAustraliaAmy Elsner NEW
Aditya G PerinIndiaXuxue Feng PROPOSAL
Antonio I RoysterFranceBernardo Dominic QUALIFIED
James A RoysterSpainIoni Bowcher PROPOSAL
Greenwood O WhobreyArgentinaXuxue Feng NEW
Aditya I MacleadUnited KingdomBernardo Dominic PROPOSAL
Jeanfrancois O RutaCanadaAsiya Javayant RENEWAL
Murillo L NestleArgentinaElwin Sharvill QUALIFIED
Clifford P VenereArgentinaBernardo Dominic NEW
Kadeem K KolmetzCanadaAnna Fali RENEWAL
Maria P GillianIndiaIoni Bowcher NEGOTIATION
Murillo R FollerItalyIvan Magalhaes RENEWAL
Maria R GarufiItalyAsiya Javayant QUALIFIED
Alejandro V ChuiSpainXuxue Feng UNQUALIFIED
Tony C SergiUnited KingdomStephen Shaw UNQUALIFIED
Maria O GillianGermanyAmy Elsner RENEWAL
Kadeem U ChuiSpainAnna Fali UNQUALIFIED
Maria H WhobreyJapanXuxue Feng NEGOTIATION
Darci L SergiItalyOnyama Limba UNQUALIFIED
Jones N BologniaItalyElwin Sharvill QUALIFIED
Greenwood C KolmetzJapanAsiya Javayant NEW
Julie V WhobreyUnited KingdomBernardo Dominic RENEWAL
Frozen Columns
Name
Jones T Kolmetz
Aika W Dilliard
Costa Q Whobrey
Mujtaba R Kolmetz
Emily V Inouye
Arvin Q Whobrey
Mujtaba K Caldarera
Chavez W Bolognia
Silvio B Ostrosky
Sinclair B Royster
Nicolas S Rulapaugh
Munro C Wieser
Darci Q Foller
Jeanfrancois M Malet
Jones E Kusko
Nicolas G Amigon
Izzy X Foller
Salvatore D Shinko
Nicolas Y Chui
Faith V Briddick
Chavez M Stockham
Jefferson Y Kolmetz
Emily V Morasca
Ivar W Whobrey
Antonio D Morasca
Murillo R Ostrosky
Aruna V Figeroa
Octavia S Ferencz
Claire X Ruta
Alejandro P Tollner
Rodrigues Q Shinko
Adams T Malet
Jeanfrancois L Stenseth
Rodrigues C Malet
Clifford L Malet
Stacey X Dilliard
Greenwood G Bolognia
Leon P Flosi
Nicolas W Bowley
Nicolas Z Saylors
Silvio U Garufi
Kaitlin Y Rim
Kadeem K Chui
Mujtaba U Saylors
Murillo F Bolognia
Salvatore T Butt
Sinclair T Caldarera
Francesco F Figeroa
Maria H Tollner
Jeanfrancois R Venere
IdCountryDate
1000Spain2026-10-01
1001Japan2026-10-18
1002Japan2026-10-10
1003Australia2026-09-25
1004Italy2026-10-05
1005India2026-09-24
1006Germany2026-10-10
1007Australia2026-09-30
1008Australia2026-10-10
1009United Kingdom2026-09-28
1010Russia2026-10-04
1011Spain2026-09-23
1012Argentina2026-09-26
1013Russia2026-09-26
1014Brazil2026-09-25
1015Germany2026-10-01
1016Argentina2026-10-16
1017Australia2026-10-06
1018France2026-10-02
1019Argentina2026-10-11
1020Australia2026-10-14
1021Spain2026-10-05
1022Argentina2026-09-28
1023France2026-09-27
1024United Kingdom2026-09-22
1025India2026-10-02
1026India2026-09-30
1027Germany2026-10-09
1028Japan2026-10-06
1029Australia2026-09-30
1030Argentina2026-10-05
1031Brazil2026-10-16
1032India2026-10-06
1033India2026-10-12
1034Argentina2026-09-26
1035United Kingdom2026-10-15
1036France2026-10-10
1037Brazil2026-10-14
1038Argentina2026-10-11
1039Argentina2026-09-20
1040Spain2026-10-04
1041United Kingdom2026-10-01
1042Brazil2026-10-17
1043Germany2026-09-30
1044Canada2026-09-20
1045Brazil2026-10-05
1046Australia2026-09-19
1047Brazil2026-09-30
1048Russia2026-10-04
1049Canada2026-10-11

On-Demand Data

NameIdCountryDate
Greenwood Q Chui1000United Kingdom2026-09-28
Faith O Oldroyd1001Japan2026-10-06
Faith C Poquette1002India2026-10-17
Izzy B Marrier1003Germany2026-09-26
Julie P Doe1004Italy2026-09-28
Faith O Ostrosky1005Australia2026-10-11
Jones N Malet1006Germany2026-10-12
Leja V Dilliard1007Canada2026-10-01
Deepesh B Briddick1008India2026-09-21
Kadeem C Royster1009Italy2026-10-17
Antonio Q Ostrosky1010Italy2026-10-18
David D Bolognia1011Germany2026-09-25
Leja K Inouye1012Germany2026-09-26
Johnson W Waycott1013Australia2026-10-01
Aika J Doe1014Canada2026-10-13
Munro U Ostrosky1015Italy2026-09-30
Maisha O Caudy1016France2026-10-18
Aruna P Darakjy1017United Kingdom2026-09-22
Kadeem O Gillian1018Germany2026-09-25
Jeanfrancois F Gillian1019Brazil2026-10-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa C WhobreyGermanyOnyama Limba PROPOSAL
Munro Y InouyeBrazilStephen Shaw NEW
Mayumi A WieserRussiaOnyama Limba NEW
James D GarufiArgentinaStephen Shaw UNQUALIFIED
Maisha O CaudyUnited KingdomIoni Bowcher NEGOTIATION
Julie B WieserSpainAsiya Javayant RENEWAL
Arvin R TollnerJapanXuxue Feng QUALIFIED
Maisha H WhobreyIndiaAsiya Javayant PROPOSAL
Morrow V OldroydGermanyAmy Elsner QUALIFIED
Izzy K GillianUnited KingdomAnna Fali NEGOTIATION
Kaitlin D InouyeUnited KingdomOnyama Limba RENEWAL
Tony Y WaycottRussiaIoni Bowcher PROPOSAL
Emily I SlusarskiAustraliaXuxue Feng UNQUALIFIED
Kadeem Z RimJapanIvan Magalhaes NEW
Aruna F AmigonItalyAmy Elsner NEGOTIATION
Arvin R WaycottItalyAnna Fali UNQUALIFIED
Leon N DilliardCanadaIoni Bowcher NEW
Leon N ButtSpainAnna Fali QUALIFIED
Salvatore X PerinGermanyOnyama Limba UNQUALIFIED
Kaitlin O WieserRussiaIoni Bowcher UNQUALIFIED
Kadeem X AmigonGermanyXuxue Feng QUALIFIED
Cody H BologniaFranceOnyama Limba PROPOSAL
Francesco H AlbaresGermanyAmy Elsner RENEWAL
Faith U KuskoItalyAnna Fali NEGOTIATION
Munro W DarakjyGermanyAnna Fali PROPOSAL
Costa W SchemmerIndiaIvan Magalhaes QUALIFIED
Costa R FollerJapanXuxue Feng RENEWAL
Smith L FlosiJapanAnna Fali RENEWAL
Darci R GillianIndiaBernardo Dominic PROPOSAL
Mayumi U IturbideUnited KingdomXuxue Feng NEGOTIATION
Arvin F VocelkaRussiaXuxue Feng NEW
Leon U MaletAustraliaBernardo Dominic UNQUALIFIED
Ashley D MaletCanadaAsiya Javayant QUALIFIED
Aditya P MaletIndiaXuxue Feng NEW
Aika C CampainIndiaAnna Fali RENEWAL
Nicolas A ChuiCanadaBernardo Dominic NEW
Juan F FerenczItalyIoni Bowcher UNQUALIFIED
Clifford P GarufiAustraliaXuxue Feng QUALIFIED
Mujtaba X PoquetteFranceIoni Bowcher QUALIFIED
Emily X SaylorsAustraliaStephen Shaw 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>