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
Kaitlin O MaletIndiaOnyama Limba RENEWAL
Munro O MaletFranceXuxue Feng QUALIFIED
Aika K FerenczArgentinaElwin Sharvill UNQUALIFIED
Murillo C PerinGermanyOnyama Limba QUALIFIED
Sinclair Z NickaItalyIoni Bowcher QUALIFIED
Salvatore L MaletArgentinaIoni Bowcher NEW
Faith L NestleAustraliaBernardo Dominic UNQUALIFIED
Cody D BologniaSpainElwin Sharvill NEW
Johnson E CampainIndiaBernardo Dominic NEW
Jeanfrancois N CampainCanadaXuxue Feng UNQUALIFIED
Munro I GillianItalyStephen Shaw NEGOTIATION
Kaitlin P DoeGermanyIoni Bowcher NEW
Costa G MaletRussiaElwin Sharvill QUALIFIED
Mayumi K MaletIndiaElwin Sharvill RENEWAL
Salvatore C RoysterBrazilXuxue Feng QUALIFIED
Aika C StockhamRussiaAmy Elsner NEW
Stacey E RutaItalyStephen Shaw QUALIFIED
Morrow X FerenczRussiaStephen Shaw NEGOTIATION
Aruna K StockhamUnited KingdomElwin Sharvill RENEWAL
Clifford R KolmetzCanadaAnna Fali QUALIFIED
Leon I GauchoSpainOnyama Limba QUALIFIED
Darci Q GillianItalyAnna Fali UNQUALIFIED
Adams D FerenczAustraliaAmy Elsner NEGOTIATION
Morrow F MacleadIndiaAnna Fali NEW
Tony S VenereGermanyElwin Sharvill RENEWAL
Maisha M AlbaresItalyIoni Bowcher UNQUALIFIED
Cody G RutaGermanyOnyama Limba PROPOSAL
Leon I DilliardRussiaXuxue Feng NEW
Ashley X IturbideFranceStephen Shaw QUALIFIED
Costa D FigeroaIndiaElwin Sharvill QUALIFIED
Francesco T SlusarskiSpainOnyama Limba NEGOTIATION
Octavia U AlbaresCanadaIvan Magalhaes NEW
Jennifer S CaldareraSpainXuxue Feng QUALIFIED
Mujtaba Y CaudyBrazilOnyama Limba NEGOTIATION
Maria N SchemmerFranceAnna Fali NEW
Kadeem Y NestleAustraliaIvan Magalhaes UNQUALIFIED
Stacey S RoysterBrazilXuxue Feng NEW
Greenwood S KuskoSpainIoni Bowcher PROPOSAL
Izzy Y WaycottAustraliaElwin Sharvill UNQUALIFIED
Sinclair Z DilliardItalyOnyama Limba QUALIFIED
Leja P StockhamArgentinaAsiya Javayant RENEWAL
Smith Y DarakjyArgentinaStephen Shaw RENEWAL
Julie J GlickSpainIvan Magalhaes PROPOSAL
Johnson L GauchoAustraliaBernardo Dominic RENEWAL
Darci U WhobreyItalyIoni Bowcher UNQUALIFIED
Morrow Z StensethUnited KingdomStephen Shaw PROPOSAL
Antonio U CaldareraCanadaAnna Fali PROPOSAL
Kadeem Q GillianUnited KingdomAnna Fali UNQUALIFIED
Jones P MarrierGermanyAnna Fali NEGOTIATION
Cody K KuskoCanadaIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Aruna L OstroskyGermanyAsiya Javayant QUALIFIED
Juan R AmigonJapanBernardo Dominic NEGOTIATION
Aditya T RulapaughFranceAnna Fali NEGOTIATION
Kadeem J SchemmerCanadaXuxue Feng NEW
Leja S CaudyFranceIoni Bowcher NEW
Adams J ButtRussiaOnyama Limba PROPOSAL
Kadeem K TollnerGermanyIoni Bowcher UNQUALIFIED
Ashley Z FlosiItalyAmy Elsner PROPOSAL
Isabel Z SaylorsCanadaBernardo Dominic NEW
Nicolas Q BowleyFranceOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin D RimArgentina2026-09-03Morlong Associates PROPOSAL10Bernardo Dominic
1001Stacey T BriddickItaly2026-09-03Chanay, Jeffrey A Esq PROPOSAL19Ioni Bowcher
1002Salvatore P SaylorsItaly2026-08-26Feltz Printing Service NEGOTIATION44Elwin Sharvill
1003James D FollerSpain2026-09-13Printing Dimensions RENEWAL84Ivan Magalhaes
1004Jeanfrancois F WaycottBrazil2026-09-13Dorl, James J Esq NEGOTIATION29Ivan Magalhaes
1005Juan H InouyeItaly2026-08-23Chemel, James L Cpa UNQUALIFIED8Stephen Shaw
1006Tony N CampainRussia2026-09-19Dorl, James J Esq RENEWAL95Amy Elsner
1007Faith O RoysterBrazil2026-09-02Truhlar And Truhlar Attys NEGOTIATION31Asiya Javayant
1008Ashley O KuskoUnited Kingdom2026-09-16Buckley Miller Wright NEGOTIATION52Stephen Shaw
1009Aditya F IturbideGermany2026-09-15Morlong Associates QUALIFIED89Elwin Sharvill
1010Octavia J VocelkaJapan2026-09-02Printing Dimensions NEW33Xuxue Feng
1011Salvatore Y VenereItaly2026-08-27Chapman, Ross E Esq UNQUALIFIED43Ivan Magalhaes
1012Kadeem S InouyeAustralia2026-09-03Buckley Miller Wright NEW46Ivan Magalhaes
1013Smith G RutaRussia2026-09-11Commercial Press NEW58Onyama Limba
1014Ivar C RutaRussia2026-08-23Chemel, James L Cpa QUALIFIED77Asiya Javayant
1015Munro T FerenczArgentina2026-09-03Dorl, James J Esq NEW11Amy Elsner
1016Clifford S StensethGermany2026-08-31Buckley Miller Wright NEGOTIATION90Bernardo Dominic
1017Deepesh V MarrierJapan2026-09-16Dorl, James J Esq NEW57Stephen Shaw
1018Jennifer J VocelkaIndia2026-09-11Rousseaux, Michael Esq RENEWAL83Xuxue Feng
1019Aruna R GlickIndia2026-08-26Commercial Press PROPOSAL45Anna Fali
1020Leja C FlosiJapan2026-09-14Rousseaux, Michael Esq NEW93Bernardo Dominic
1021Nicolas I ButtBrazil2026-09-12Feiner Bros PROPOSAL47Ivan Magalhaes
1022Mayumi N OstroskyBrazil2026-09-16Feltz Printing Service NEW44Bernardo Dominic
1023Costa H VocelkaIndia2026-08-22Chemel, James L Cpa QUALIFIED55Amy Elsner
1024Maisha V BriddickIndia2026-09-11Chanay, Jeffrey A Esq QUALIFIED61Stephen Shaw
1025Cody M AmigonIndia2026-08-24Benton, John B Jr RENEWAL74Asiya Javayant
1026Ashley R PaprockiArgentina2026-09-07Buckley Miller Wright UNQUALIFIED10Asiya Javayant
1027Chavez S PerinCanada2026-08-23Chemel, James L Cpa NEW12Elwin Sharvill
1028Ivar J RutaCanada2026-09-20Buckley Miller Wright NEW51Asiya Javayant
1029Leon X BriddickBrazil2026-09-12Feltz Printing Service RENEWAL84Amy Elsner
1030Arvin P TollnerItaly2026-08-30Chemel, James L Cpa PROPOSAL1Ioni Bowcher
1031Aditya U InouyeFrance2026-09-12Printing Dimensions NEW13Ioni Bowcher
1032Tony D RutaIndia2026-08-23Morlong Associates QUALIFIED96Ivan Magalhaes
1033Deepesh B MorascaSpain2026-08-27Printing Dimensions QUALIFIED74Anna Fali
1034Smith E BowleyArgentina2026-09-03Buckley Miller Wright RENEWAL80Elwin Sharvill
1035Maisha V RulapaughAustralia2026-08-24Benton, John B Jr NEW37Onyama Limba
1036Emily V MarrierBrazil2026-08-25Dorl, James J Esq UNQUALIFIED60Stephen Shaw
1037Ivar T DoeUnited Kingdom2026-09-10Dorl, James J Esq RENEWAL22Stephen Shaw
1038Jeanfrancois H FerenczItaly2026-09-06Rousseaux, Michael Esq RENEWAL96Amy Elsner
1039Chavez M NestleCanada2026-08-24Truhlar And Truhlar Attys NEW69Ivan Magalhaes
1040Aruna B MaletAustralia2026-08-25Buckley Miller Wright RENEWAL88Xuxue Feng
1041Darci Q DilliardAustralia2026-09-08Chanay, Jeffrey A Esq RENEWAL29Elwin Sharvill
1042Mujtaba H SlusarskiArgentina2026-09-13Chapman, Ross E Esq QUALIFIED1Ioni Bowcher
1043Arvin Y FigeroaBrazil2026-08-29Chemel, James L Cpa NEGOTIATION73Amy Elsner
1044Julie O CaldareraJapan2026-09-04Printing Dimensions UNQUALIFIED38Ioni Bowcher
1045Murillo J RoysterCanada2026-08-30Chemel, James L Cpa PROPOSAL35Xuxue Feng
1046Cody L StensethGermany2026-09-17Truhlar And Truhlar Attys UNQUALIFIED51Ioni Bowcher
1047Chavez I WieserArgentina2026-08-25Rousseaux, Michael Esq QUALIFIED86Ivan Magalhaes
1048Maisha E SlusarskiRussia2026-08-29Printing Dimensions UNQUALIFIED72Amy Elsner
1049Darci I FerenczSpain2026-09-06Feltz Printing Service NEW31Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Salvatore C FerenczFranceElwin Sharvill NEW
Aditya Z FerenczArgentinaAnna Fali NEGOTIATION
Octavia Z NestleFranceBernardo Dominic QUALIFIED
Jeanfrancois Y FlosiIndiaBernardo Dominic NEGOTIATION
Leja D OldroydSpainAmy Elsner RENEWAL
Deepesh N SaylorsGermanyAsiya Javayant PROPOSAL
Mujtaba K WaycottRussiaAnna Fali PROPOSAL
Aditya O RimJapanXuxue Feng NEGOTIATION
Smith Y CampainJapanAnna Fali PROPOSAL
Jones T SaylorsFranceBernardo Dominic NEGOTIATION
Clifford X OldroydGermanyIvan Magalhaes NEW
Claire R MarrierJapanXuxue Feng PROPOSAL
Smith U KuskoItalyXuxue Feng NEW
James T WaycottFranceStephen Shaw NEW
Munro I DarakjyJapanIoni Bowcher UNQUALIFIED
Faith D StensethBrazilAnna Fali QUALIFIED
Darci I GarufiIndiaAnna Fali NEGOTIATION
Wickens F PoquetteItalyOnyama Limba NEW
Johnson Z SlusarskiAustraliaAnna Fali PROPOSAL
Jefferson I PaprockiRussiaOnyama Limba QUALIFIED
Greenwood O MarrierArgentinaAmy Elsner NEW
Jefferson R KuskoAustraliaAmy Elsner PROPOSAL
Aruna Q CaudyFranceBernardo Dominic NEGOTIATION
Jennifer T ChuiRussiaXuxue Feng PROPOSAL
Emily R BowleyJapanBernardo Dominic RENEWAL
Claire X NestleItalyIoni Bowcher RENEWAL
Chavez C MaletIndiaStephen Shaw NEW
Clifford L OldroydItalyIvan Magalhaes RENEWAL
Wickens H NickaArgentinaIoni Bowcher NEGOTIATION
Jeanfrancois U RulapaughJapanElwin Sharvill PROPOSAL
Arvin E AmigonUnited KingdomOnyama Limba NEW
Darci Y BowleyCanadaAsiya Javayant QUALIFIED
Antonio V WhobreySpainXuxue Feng UNQUALIFIED
Ashley H FerenczArgentinaXuxue Feng NEW
Julie I NestleIndiaXuxue Feng PROPOSAL
Jennifer Y RutaItalyAmy Elsner NEW
Ashley U VenereItalyOnyama Limba NEGOTIATION
Arvin W VenereUnited KingdomBernardo Dominic NEW
David E AlbaresSpainAsiya Javayant UNQUALIFIED
Jones J SlusarskiCanadaAnna Fali NEGOTIATION
Sinclair I InouyeRussiaIvan Magalhaes PROPOSAL
Claire K PoquetteArgentinaIvan Magalhaes QUALIFIED
Kaitlin B RulapaughIndiaStephen Shaw UNQUALIFIED
Wickens K MorascaRussiaIoni Bowcher PROPOSAL
Salvatore A DarakjyCanadaAmy Elsner QUALIFIED
Stacey M FerenczFranceOnyama Limba RENEWAL
Jeanfrancois T CampainCanadaAsiya Javayant UNQUALIFIED
Maisha Z RoysterRussiaStephen Shaw UNQUALIFIED
Isabel T DilliardJapanIoni Bowcher QUALIFIED
Adams Q CaldareraSpainAnna Fali NEGOTIATION
Frozen Columns
Name
Ricardo Z Kolmetz
Rodrigues Y Malet
Isabel D Inouye
Emily W Gillian
Julie Y Kusko
James V Stockham
Francesco M Poquette
Aditya N Ostrosky
Johnson B Saylors
Leon W Stenseth
Ivar V Shinko
Deepesh G Poquette
James E Stenseth
Jeanfrancois P Kusko
Maisha H Ferencz
Wickens I Nicka
Ivar N Iturbide
Murillo V Campain
Morrow C Ostrosky
Alejandro N Perin
Rodrigues S Figeroa
Alejandro T Gaucho
Ivar L Whobrey
Mayumi W Stockham
Leja W Stenseth
Kadeem F Tollner
James E Stenseth
Adams T Garufi
Cody Z Schemmer
Munro O Malet
Nicolas W Saylors
Aditya K Nestle
Stacey T Waycott
Darci O Waycott
Juan M Glick
Rodrigues G Shinko
Claire Z Caudy
Isabel B Wieser
Mujtaba D Albares
Emily H Stockham
Misaki A Ruta
Sinclair I Campain
Salvatore B Albares
David K Stenseth
James G Rulapaugh
Johnson K Venere
Leon D Morasca
Leja S Malet
Adams A Morasca
Stacey S Briddick
IdCountryDate
1000Russia2026-08-30
1001Canada2026-08-24
1002India2026-08-23
1003Argentina2026-09-03
1004Canada2026-09-09
1005Australia2026-09-13
1006Italy2026-08-26
1007France2026-09-20
1008Canada2026-09-20
1009Russia2026-08-30
1010Argentina2026-08-31
1011Canada2026-08-28
1012France2026-09-17
1013France2026-09-18
1014Australia2026-08-22
1015Brazil2026-08-25
1016Brazil2026-09-12
1017France2026-09-05
1018India2026-09-07
1019Spain2026-09-08
1020Argentina2026-08-28
1021Italy2026-09-05
1022Australia2026-09-15
1023United Kingdom2026-09-07
1024France2026-09-03
1025Spain2026-09-16
1026Japan2026-08-23
1027India2026-09-10
1028Russia2026-09-16
1029Italy2026-09-17
1030Canada2026-09-02
1031France2026-09-20
1032Canada2026-09-02
1033France2026-09-17
1034Australia2026-09-07
1035India2026-09-15
1036Russia2026-09-05
1037France2026-09-05
1038France2026-09-10
1039Argentina2026-09-18
1040France2026-09-02
1041Canada2026-08-30
1042Argentina2026-08-29
1043France2026-09-18
1044Canada2026-08-28
1045Brazil2026-08-24
1046Russia2026-09-07
1047Italy2026-09-04
1048Canada2026-09-18
1049Australia2026-09-18

On-Demand Data

NameIdCountryDate
Francesco G Ostrosky1000Australia2026-08-23
Morrow T Glick1001Brazil2026-08-31
Leja Z Dilliard1002Australia2026-08-23
Stacey W Glick1003Australia2026-09-16
Jones K Doe1004United Kingdom2026-09-13
Sinclair Y Darakjy1005Russia2026-09-16
Silvio M Amigon1006France2026-08-28
Mayumi Z Amigon1007Canada2026-09-12
Jeanfrancois Q Briddick1008Australia2026-09-19
Francesco Y Morasca1009Spain2026-09-03
Clifford A Maclead1010Spain2026-09-09
Munro X Darakjy1011India2026-09-03
Kadeem O Butt1012Argentina2026-09-03
Francesco O Campain1013Canada2026-09-04
Johnson F Slusarski1014Canada2026-08-28
Johnson F Inouye1015France2026-09-19
Darci A Nestle1016India2026-08-25
Alejandro R Inouye1017Australia2026-09-11
Maria T Butt1018France2026-09-04
Jones S Wieser1019Russia2026-09-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire X MarrierIndiaAsiya Javayant QUALIFIED
Rodrigues O KolmetzCanadaElwin Sharvill NEGOTIATION
Aruna J SergiCanadaElwin Sharvill RENEWAL
Faith N GillianRussiaElwin Sharvill QUALIFIED
Francesco L FerenczUnited KingdomAnna Fali NEGOTIATION
Munro M MacleadCanadaStephen Shaw UNQUALIFIED
Greenwood H SlusarskiCanadaAnna Fali PROPOSAL
Aruna W AlbaresFranceStephen Shaw RENEWAL
Munro X RoysterArgentinaStephen Shaw PROPOSAL
Misaki H WaycottArgentinaOnyama Limba NEW
Misaki J ButtBrazilAmy Elsner QUALIFIED
Nicolas M OldroydFranceAnna Fali UNQUALIFIED
Rodrigues S VocelkaArgentinaXuxue Feng NEGOTIATION
Emily H CaudySpainAsiya Javayant QUALIFIED
Mayumi T PoquetteArgentinaAsiya Javayant RENEWAL
Leon W MacleadAustraliaElwin Sharvill UNQUALIFIED
Wickens A StockhamUnited KingdomStephen Shaw QUALIFIED
Mujtaba E GillianGermanyStephen Shaw NEGOTIATION
Mujtaba N WaycottUnited KingdomIoni Bowcher UNQUALIFIED
Faith J PaprockiGermanyXuxue Feng PROPOSAL
Mujtaba X DilliardUnited KingdomStephen Shaw NEGOTIATION
Salvatore C DarakjyBrazilIvan Magalhaes PROPOSAL
Mayumi I RulapaughAustraliaXuxue Feng UNQUALIFIED
Jones O StensethRussiaStephen Shaw NEGOTIATION
Claire P MacleadCanadaIoni Bowcher QUALIFIED
Misaki T ShinkoArgentinaIvan Magalhaes NEGOTIATION
Rodrigues A SchemmerGermanyAnna Fali NEGOTIATION
Aruna G SlusarskiUnited KingdomStephen Shaw QUALIFIED
Misaki F DarakjyIndiaXuxue Feng NEW
Francesco P GillianGermanyAmy Elsner NEW
Ashley H InouyeFranceOnyama Limba NEW
Mujtaba B OstroskyFranceIvan Magalhaes UNQUALIFIED
Wickens Z PoquetteItalyAsiya Javayant NEW
Stacey J CaldareraGermanyOnyama Limba PROPOSAL
James A SergiUnited KingdomOnyama Limba NEW
Leon H AlbaresSpainStephen Shaw QUALIFIED
Costa H CampainUnited KingdomXuxue Feng UNQUALIFIED
Ivar M WieserSpainElwin Sharvill QUALIFIED
Wickens Z CaldareraCanadaElwin Sharvill NEGOTIATION
Salvatore V IturbideItalyIoni Bowcher UNQUALIFIED

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