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
Stacey K SergiRussiaAnna Fali NEW
Francesco Q RimIndiaAnna Fali QUALIFIED
Leja J ShinkoArgentinaAmy Elsner UNQUALIFIED
Aditya C ChuiSpainAnna Fali RENEWAL
Smith F PerinBrazilXuxue Feng NEGOTIATION
Izzy K SaylorsIndiaIoni Bowcher NEW
Murillo Q StensethFranceIvan Magalhaes PROPOSAL
Murillo F VenereFranceIoni Bowcher UNQUALIFIED
Juan Z RulapaughUnited KingdomIvan Magalhaes NEW
Tony O CaldareraSpainOnyama Limba RENEWAL
Maria F NestleSpainElwin Sharvill QUALIFIED
Murillo L StensethItalyBernardo Dominic UNQUALIFIED
Tony P WieserFranceIvan Magalhaes NEW
Jeanfrancois F CaudyItalyIoni Bowcher UNQUALIFIED
Jeanfrancois Z SergiBrazilIvan Magalhaes RENEWAL
Arvin H GauchoRussiaAnna Fali UNQUALIFIED
Mayumi D NickaItalyIoni Bowcher NEW
Wickens M ChuiJapanAsiya Javayant UNQUALIFIED
Tony G StockhamCanadaAmy Elsner NEGOTIATION
Wickens H MorascaCanadaBernardo Dominic NEW
Jones U MorascaItalyAmy Elsner NEGOTIATION
Misaki P SchemmerArgentinaElwin Sharvill NEGOTIATION
Rodrigues C WieserUnited KingdomAsiya Javayant NEW
Julie H WaycottJapanIoni Bowcher QUALIFIED
Ivar F IturbideRussiaStephen Shaw UNQUALIFIED
Adams C DoeFranceBernardo Dominic UNQUALIFIED
Cody F SaylorsItalyOnyama Limba NEGOTIATION
Julie J FigeroaRussiaIoni Bowcher QUALIFIED
Jefferson E MaletItalyOnyama Limba RENEWAL
Darci W MorascaItalyStephen Shaw NEW
Claire S ChuiJapanOnyama Limba NEGOTIATION
Mayumi H FlosiBrazilOnyama Limba PROPOSAL
Stacey K SaylorsFranceAnna Fali NEGOTIATION
Isabel U RimFranceAsiya Javayant NEGOTIATION
Mujtaba H NestleAustraliaIoni Bowcher PROPOSAL
Clifford R BowleyItalyElwin Sharvill NEGOTIATION
Ricardo F FollerArgentinaIoni Bowcher NEGOTIATION
Chavez D PoquetteAustraliaBernardo Dominic PROPOSAL
Jones X PerinArgentinaIvan Magalhaes RENEWAL
Maisha D BologniaFranceElwin Sharvill RENEWAL
Munro B KolmetzFranceAsiya Javayant NEW
Izzy R CaudyAustraliaXuxue Feng NEW
Aika G RoysterBrazilOnyama Limba QUALIFIED
Emily H FlosiItalyOnyama Limba QUALIFIED
Kadeem Q NestleArgentinaOnyama Limba QUALIFIED
Ivar U CampainJapanXuxue Feng PROPOSAL
Cody W PerinGermanyAsiya Javayant UNQUALIFIED
Chavez X PoquetteBrazilAmy Elsner NEGOTIATION
James F MarrierSpainBernardo Dominic QUALIFIED
Octavia K WaycottAustraliaElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Antonio X OldroydIndiaAsiya Javayant UNQUALIFIED
Francesco G GillianIndiaStephen Shaw NEGOTIATION
Rodrigues G GlickGermanyElwin Sharvill PROPOSAL
Johnson I PoquetteIndiaStephen Shaw UNQUALIFIED
Deepesh G MacleadBrazilAsiya Javayant NEGOTIATION
Cody E PerinIndiaXuxue Feng QUALIFIED
Leon O VenereFranceIoni Bowcher UNQUALIFIED
Alejandro B RoysterSpainBernardo Dominic RENEWAL
Chavez Q PerinArgentinaIvan Magalhaes NEW
Greenwood W StensethFranceIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio E AlbaresBrazil2026-09-27Rangoni Of Florence UNQUALIFIED82Anna Fali
1001Silvio V PerinIndia2026-10-03Rousseaux, Michael Esq UNQUALIFIED58Bernardo Dominic
1002Maria X BriddickUnited Kingdom2026-10-06Buckley Miller Wright NEGOTIATION70Ioni Bowcher
1003Jefferson M PaprockiAustralia2026-10-08Feltz Printing Service QUALIFIED32Xuxue Feng
1004Julie Z MarrierCanada2026-10-02Morlong Associates RENEWAL60Ioni Bowcher
1005Leon J GarufiBrazil2026-10-04King, Christopher A Esq NEW6Asiya Javayant
1006Juan U BologniaGermany2026-09-29Buckley Miller Wright NEW83Bernardo Dominic
1007Morrow R PoquetteBrazil2026-10-03Morlong Associates NEGOTIATION99Onyama Limba
1008Claire Y VenereGermany2026-09-27Dorl, James J Esq RENEWAL9Amy Elsner
1009Salvatore S FigeroaJapan2026-10-21Morlong Associates QUALIFIED29Xuxue Feng
1010Ashley S SlusarskiUnited Kingdom2026-10-03Chapman, Ross E Esq RENEWAL32Bernardo Dominic
1011Silvio D IturbideAustralia2026-09-29King, Christopher A Esq NEGOTIATION13Elwin Sharvill
1012Salvatore M GarufiFrance2026-10-15Rangoni Of Florence NEGOTIATION2Ioni Bowcher
1013Greenwood P PaprockiAustralia2026-10-22Chapman, Ross E Esq NEW46Ioni Bowcher
1014Cody L MaletJapan2026-10-16Rousseaux, Michael Esq NEGOTIATION55Amy Elsner
1015Munro E BowleyCanada2026-10-07Truhlar And Truhlar Attys NEW18Stephen Shaw
1016Jefferson V KolmetzArgentina2026-10-17Chemel, James L Cpa UNQUALIFIED83Ioni Bowcher
1017Aika M FollerCanada2026-09-27Morlong Associates QUALIFIED18Ivan Magalhaes
1018Leon O PoquetteAustralia2026-10-23Dorl, James J Esq NEGOTIATION15Xuxue Feng
1019Chavez U BriddickGermany2026-09-29Chapman, Ross E Esq UNQUALIFIED94Ivan Magalhaes
1020Munro S PaprockiFrance2026-10-10Chapman, Ross E Esq QUALIFIED20Onyama Limba
1021Leja R VocelkaUnited Kingdom2026-10-24Dorl, James J Esq QUALIFIED45Xuxue Feng
1022Rodrigues T InouyeCanada2026-10-02King, Christopher A Esq PROPOSAL75Asiya Javayant
1023Octavia V FerenczItaly2026-09-28Chemel, James L Cpa QUALIFIED22Anna Fali
1024Deepesh V PerinItaly2026-10-15Morlong Associates NEGOTIATION83Onyama Limba
1025Kaitlin Q SaylorsCanada2026-10-02Buckley Miller Wright QUALIFIED35Stephen Shaw
1026Silvio O OldroydRussia2026-10-07Buckley Miller Wright NEGOTIATION91Onyama Limba
1027Izzy O BologniaAustralia2026-09-29Feiner Bros NEW5Stephen Shaw
1028Leja W MaletFrance2026-10-07Commercial Press UNQUALIFIED69Elwin Sharvill
1029Isabel O FerenczSpain2026-10-02Commercial Press UNQUALIFIED22Amy Elsner
1030Nicolas Y WieserBrazil2026-09-28Truhlar And Truhlar Attys PROPOSAL22Elwin Sharvill
1031Jones Q DarakjyItaly2026-10-12Rangoni Of Florence UNQUALIFIED35Elwin Sharvill
1032Aditya B FerenczGermany2026-10-02Chapman, Ross E Esq NEW18Amy Elsner
1033Adams W AlbaresItaly2026-10-10King, Christopher A Esq PROPOSAL9Amy Elsner
1034Cody I DilliardGermany2026-09-28Printing Dimensions NEGOTIATION20Bernardo Dominic
1035Francesco E OldroydGermany2026-10-10Truhlar And Truhlar Attys PROPOSAL71Anna Fali
1036Maria I PaprockiArgentina2026-10-05Feiner Bros PROPOSAL68Ivan Magalhaes
1037Cody Y IturbideAustralia2026-09-27Dorl, James J Esq NEW19Ivan Magalhaes
1038Ricardo Z BriddickRussia2026-10-02Chapman, Ross E Esq NEGOTIATION2Ivan Magalhaes
1039Silvio M InouyeArgentina2026-10-06Commercial Press NEW55Ivan Magalhaes
1040Octavia X WhobreyRussia2026-10-18Feiner Bros RENEWAL98Bernardo Dominic
1041Chavez W MacleadGermany2026-10-09Morlong Associates RENEWAL72Elwin Sharvill
1042Johnson D DilliardBrazil2026-10-09Chapman, Ross E Esq NEW54Stephen Shaw
1043Isabel Y KuskoAustralia2026-10-13Benton, John B Jr NEGOTIATION17Ioni Bowcher
1044Kaitlin B OldroydIndia2026-09-30Morlong Associates NEGOTIATION39Ioni Bowcher
1045Jennifer P AmigonAustralia2026-09-28Commercial Press NEGOTIATION96Elwin Sharvill
1046Aruna O ButtJapan2026-10-09King, Christopher A Esq NEW83Amy Elsner
1047Ashley D MaletSpain2026-10-19Chapman, Ross E Esq PROPOSAL62Onyama Limba
1048Aika X MorascaSpain2026-10-03King, Christopher A Esq PROPOSAL78Asiya Javayant
1049Tony N FigeroaRussia2026-10-19Morlong Associates PROPOSAL59Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Juan E GlickItalyAsiya Javayant RENEWAL
Stacey H InouyeArgentinaXuxue Feng RENEWAL
Julie N FigeroaCanadaAmy Elsner QUALIFIED
Smith T GauchoRussiaIvan Magalhaes RENEWAL
Antonio S ChuiRussiaIvan Magalhaes RENEWAL
Rodrigues J TollnerArgentinaAsiya Javayant PROPOSAL
Jeanfrancois M MaletGermanyAmy Elsner UNQUALIFIED
Murillo A MacleadRussiaIoni Bowcher RENEWAL
Ivar I CaldareraItalyAmy Elsner NEW
Alejandro G SaylorsArgentinaXuxue Feng PROPOSAL
Aika S SergiIndiaAmy Elsner NEW
Murillo J FigeroaIndiaOnyama Limba PROPOSAL
Deepesh M OstroskyItalyAmy Elsner QUALIFIED
Morrow Z GarufiBrazilElwin Sharvill RENEWAL
Izzy H GlickJapanAnna Fali NEW
Johnson J IturbideCanadaXuxue Feng RENEWAL
Jones I WaycottArgentinaXuxue Feng RENEWAL
Adams P GauchoGermanyAmy Elsner PROPOSAL
Jennifer J RutaUnited KingdomOnyama Limba RENEWAL
Aruna F AmigonJapanXuxue Feng NEW
Tony L MarrierBrazilStephen Shaw PROPOSAL
Deepesh O SchemmerBrazilAmy Elsner NEW
Ivar G GlickFranceAmy Elsner PROPOSAL
Ivar L VocelkaAustraliaStephen Shaw QUALIFIED
Leja F PaprockiArgentinaAnna Fali RENEWAL
Francesco K BriddickJapanBernardo Dominic NEGOTIATION
Deepesh X TollnerArgentinaIoni Bowcher UNQUALIFIED
Cody E RutaGermanyElwin Sharvill NEW
Izzy F CaudyIndiaIvan Magalhaes RENEWAL
Juan S SlusarskiIndiaElwin Sharvill NEW
Izzy P GlickBrazilAmy Elsner PROPOSAL
Silvio K DarakjyBrazilStephen Shaw NEGOTIATION
Julie T KolmetzFranceXuxue Feng UNQUALIFIED
Greenwood A InouyeCanadaIoni Bowcher NEW
Tony G WieserArgentinaIoni Bowcher UNQUALIFIED
James R GauchoArgentinaOnyama Limba RENEWAL
Octavia R TollnerItalyIoni Bowcher QUALIFIED
Morrow W RulapaughAustraliaAsiya Javayant UNQUALIFIED
Alejandro Q MorascaAustraliaStephen Shaw UNQUALIFIED
Costa F InouyeFranceXuxue Feng NEGOTIATION
Costa H FigeroaRussiaXuxue Feng RENEWAL
Clifford M BologniaGermanyBernardo Dominic QUALIFIED
Jones Y TollnerCanadaAmy Elsner PROPOSAL
Misaki C KolmetzIndiaXuxue Feng QUALIFIED
Leon A FerenczAustraliaStephen Shaw PROPOSAL
Wickens K MacleadCanadaIvan Magalhaes PROPOSAL
Maria G CaudyCanadaIoni Bowcher NEGOTIATION
Clifford A DilliardJapanOnyama Limba QUALIFIED
Mujtaba Q NickaUnited KingdomOnyama Limba QUALIFIED
Cody Q VenereFranceElwin Sharvill PROPOSAL
Frozen Columns
Name
Faith W Paprocki
Tony F Paprocki
Kaitlin G Stenseth
Francesco X Inouye
Rodrigues N Vocelka
Julie S Whobrey
Alejandro P Paprocki
Silvio U Rulapaugh
Salvatore U Rulapaugh
Octavia I Stenseth
Faith Z Inouye
Ashley Z Sergi
Sinclair Q Vocelka
Emily Z Royster
Juan Y Wieser
Misaki D Vocelka
Johnson B Flosi
Nicolas B Marrier
Johnson K Chui
Morrow Q Royster
Sinclair G Albares
Silvio B Kusko
Jeanfrancois D Glick
Darci W Foller
Murillo I Rim
Juan X Amigon
Kaitlin Z Poquette
Misaki P Gillian
Ivar X Slusarski
Chavez O Gillian
Faith P Gaucho
Costa Q Ferencz
Munro O Oldroyd
James G Butt
Antonio M Inouye
Kaitlin P Paprocki
Faith X Ferencz
Wickens R Dilliard
Leja O Nicka
Munro D Chui
Darci D Gillian
Kaitlin U Rulapaugh
Claire P Ruta
Jefferson U Morasca
Wickens L Royster
Rodrigues C Rim
Isabel M Malet
Faith X Darakjy
Faith S Kolmetz
Maria H Iturbide
IdCountryDate
1000United Kingdom2026-10-22
1001Italy2026-10-05
1002Japan2026-10-03
1003India2026-10-07
1004Germany2026-10-13
1005Germany2026-10-02
1006Brazil2026-10-15
1007Italy2026-10-08
1008United Kingdom2026-10-12
1009Spain2026-10-14
1010Canada2026-10-16
1011Italy2026-10-07
1012Australia2026-10-13
1013India2026-10-09
1014Japan2026-10-22
1015Russia2026-10-07
1016France2026-10-22
1017Spain2026-10-25
1018France2026-10-23
1019Japan2026-10-16
1020Italy2026-10-19
1021India2026-10-12
1022India2026-10-22
1023Italy2026-10-07
1024India2026-10-13
1025Brazil2026-10-07
1026Japan2026-10-23
1027Argentina2026-10-14
1028United Kingdom2026-10-02
1029Spain2026-10-20
1030Japan2026-10-18
1031Brazil2026-10-17
1032Spain2026-10-08
1033Argentina2026-10-08
1034Spain2026-10-18
1035Australia2026-10-25
1036Argentina2026-09-28
1037India2026-10-17
1038Russia2026-10-18
1039Russia2026-09-27
1040Spain2026-09-26
1041Brazil2026-10-20
1042Russia2026-10-07
1043Canada2026-10-21
1044India2026-09-26
1045Germany2026-09-30
1046Japan2026-10-22
1047Brazil2026-10-13
1048France2026-10-02
1049Japan2026-10-25

On-Demand Data

NameIdCountryDate
Octavia G Butt1000Russia2026-10-13
Juan U Caudy1001Italy2026-10-05
Costa A Malet1002Australia2026-10-23
Claire N Tollner1003Australia2026-10-05
Chavez C Butt1004Australia2026-10-06
Sinclair E Sergi1005Germany2026-10-23
Claire T Saylors1006Australia2026-10-01
Izzy B Tollner1007Argentina2026-09-28
Maisha A Inouye1008Italy2026-10-25
Julie L Royster1009Spain2026-10-21
Octavia Z Stockham1010Argentina2026-10-18
Murillo A Ferencz1011Canada2026-09-29
Kaitlin R Shinko1012Spain2026-10-15
Wickens T Gaucho1013Brazil2026-09-29
Nicolas I Stockham1014Canada2026-10-07
Jeanfrancois I Briddick1015Italy2026-10-23
Jefferson K Doe1016Japan2026-10-22
Clifford L Shinko1017United Kingdom2026-10-24
Maisha G Doe1018Australia2026-10-12
Clifford K Darakjy1019India2026-09-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin H TollnerFranceAsiya Javayant NEGOTIATION
Jeanfrancois S SergiIndiaStephen Shaw NEGOTIATION
Ivar X MorascaItalyElwin Sharvill NEGOTIATION
Greenwood U TollnerBrazilOnyama Limba UNQUALIFIED
James X RoysterSpainBernardo Dominic PROPOSAL
Kadeem K SchemmerBrazilOnyama Limba NEGOTIATION
Silvio H MorascaSpainIvan Magalhaes UNQUALIFIED
Silvio N BologniaCanadaElwin Sharvill NEGOTIATION
Maria F ChuiJapanStephen Shaw PROPOSAL
Smith X RutaRussiaOnyama Limba QUALIFIED
Julie N WhobreyBrazilAsiya Javayant NEW
Ricardo P StockhamArgentinaAmy Elsner NEW
Deepesh J GlickItalyXuxue Feng RENEWAL
Greenwood Y SlusarskiJapanIoni Bowcher PROPOSAL
Faith S MorascaUnited KingdomBernardo Dominic PROPOSAL
Stacey T CaudyRussiaStephen Shaw NEW
Ashley A CaudyArgentinaElwin Sharvill NEW
Faith M RimJapanAsiya Javayant RENEWAL
Nicolas D GillianJapanAmy Elsner NEGOTIATION
Darci F PerinJapanOnyama Limba NEW
Nicolas F FollerAustraliaAnna Fali QUALIFIED
Sinclair G VocelkaArgentinaOnyama Limba UNQUALIFIED
Jeanfrancois O WieserArgentinaStephen Shaw NEGOTIATION
Rodrigues C GlickUnited KingdomAmy Elsner NEGOTIATION
Mujtaba B RoysterIndiaBernardo Dominic NEW
Salvatore I ChuiRussiaStephen Shaw UNQUALIFIED
Octavia G WaycottIndiaOnyama Limba QUALIFIED
Mayumi Y TollnerBrazilOnyama Limba RENEWAL
Clifford S RutaBrazilAmy Elsner NEGOTIATION
Greenwood Y CampainItalyAmy Elsner QUALIFIED
Jefferson P DarakjyIndiaIvan Magalhaes RENEWAL
David N SlusarskiIndiaAsiya Javayant UNQUALIFIED
Julie A RulapaughCanadaAnna Fali RENEWAL
Chavez C RulapaughItalyElwin Sharvill PROPOSAL
Isabel W TollnerArgentinaIoni Bowcher RENEWAL
Salvatore O ButtGermanyXuxue Feng NEGOTIATION
Johnson K DarakjyGermanyAmy Elsner QUALIFIED
Nicolas F VenereFranceXuxue Feng UNQUALIFIED
Alejandro H RimJapanStephen Shaw RENEWAL
Costa G SchemmerBrazilAnna Fali 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>