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
Kadeem N MaletUnited KingdomIoni Bowcher PROPOSAL
Aika G VenereUnited KingdomAsiya Javayant UNQUALIFIED
Jeanfrancois J BriddickIndiaStephen Shaw QUALIFIED
Sinclair L NestleArgentinaIoni Bowcher NEW
Chavez H MaletRussiaBernardo Dominic QUALIFIED
Ivar O StensethRussiaXuxue Feng RENEWAL
Adams Y BologniaIndiaBernardo Dominic NEW
Aruna R SchemmerCanadaBernardo Dominic RENEWAL
Ricardo G RulapaughAustraliaOnyama Limba UNQUALIFIED
Leon O GlickArgentinaAnna Fali UNQUALIFIED
Rodrigues L TollnerAustraliaXuxue Feng NEGOTIATION
Cody O MorascaFranceOnyama Limba RENEWAL
Aika N AlbaresIndiaBernardo Dominic NEGOTIATION
Stacey K WhobreyUnited KingdomAsiya Javayant NEGOTIATION
Jefferson M ButtItalyOnyama Limba UNQUALIFIED
Darci T AmigonRussiaElwin Sharvill QUALIFIED
Nicolas M FigeroaRussiaStephen Shaw NEGOTIATION
Maisha T BowleySpainIvan Magalhaes NEW
Cody B IturbideCanadaIvan Magalhaes PROPOSAL
Julie H MorascaRussiaAmy Elsner NEGOTIATION
Faith X RimGermanyAsiya Javayant NEGOTIATION
Smith C BologniaCanadaAnna Fali QUALIFIED
Nicolas B RimFranceXuxue Feng RENEWAL
Isabel R NestleRussiaStephen Shaw PROPOSAL
Arvin K WaycottIndiaStephen Shaw QUALIFIED
Leja I StockhamUnited KingdomBernardo Dominic NEW
Jones F NickaItalyXuxue Feng RENEWAL
Maria Q ChuiItalyAmy Elsner QUALIFIED
Munro P CaldareraUnited KingdomBernardo Dominic UNQUALIFIED
David F GarufiFranceAsiya Javayant QUALIFIED
Greenwood M TollnerJapanIvan Magalhaes PROPOSAL
Julie H GauchoFranceXuxue Feng RENEWAL
Kadeem L RutaJapanXuxue Feng QUALIFIED
Deepesh O VenereBrazilIoni Bowcher PROPOSAL
Deepesh D IturbideFranceIvan Magalhaes NEGOTIATION
Alejandro U PaprockiGermanyIoni Bowcher QUALIFIED
Tony T BriddickCanadaIvan Magalhaes UNQUALIFIED
Isabel N SaylorsItalyElwin Sharvill NEGOTIATION
Adams A AlbaresJapanXuxue Feng QUALIFIED
Kaitlin S OldroydRussiaElwin Sharvill PROPOSAL
Francesco M FollerSpainIvan Magalhaes RENEWAL
Faith K MorascaSpainOnyama Limba PROPOSAL
Rodrigues W ButtUnited KingdomXuxue Feng RENEWAL
Costa O SchemmerJapanAmy Elsner QUALIFIED
Ivar I SlusarskiGermanyAnna Fali NEW
Maria Y BowleyCanadaStephen Shaw UNQUALIFIED
Nicolas G FollerJapanOnyama Limba NEGOTIATION
Rodrigues Y KuskoItalyIoni Bowcher RENEWAL
Leon A BriddickArgentinaAmy Elsner PROPOSAL
Claire M KuskoRussiaAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Ricardo O WieserJapanXuxue Feng RENEWAL
Jeanfrancois L BologniaJapanOnyama Limba NEW
Kaitlin Y SchemmerSpainXuxue Feng QUALIFIED
Aika R NickaSpainAmy Elsner QUALIFIED
Darci C TollnerArgentinaStephen Shaw QUALIFIED
Maria X NestleIndiaIvan Magalhaes UNQUALIFIED
Darci W MaletIndiaIvan Magalhaes NEGOTIATION
Deepesh I CampainArgentinaElwin Sharvill QUALIFIED
Smith U IturbideItalyXuxue Feng NEW
Darci F GillianAustraliaAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin X CaldareraJapan2026-09-13Feiner Bros NEGOTIATION3Bernardo Dominic
1001Aditya B MacleadRussia2026-09-26Feltz Printing Service NEW66Bernardo Dominic
1002Kaitlin J FollerGermany2026-09-28Chemel, James L Cpa RENEWAL94Amy Elsner
1003Ivar O SchemmerSpain2026-09-19Benton, John B Jr RENEWAL71Anna Fali
1004Adams V NickaIndia2026-09-17Morlong Associates NEGOTIATION71Xuxue Feng
1005James V MacleadArgentina2026-09-11Commercial Press NEW33Elwin Sharvill
1006Jeanfrancois K BologniaGermany2026-09-29Rousseaux, Michael Esq RENEWAL18Elwin Sharvill
1007Adams W WaycottArgentina2026-09-10Rangoni Of Florence RENEWAL62Amy Elsner
1008Misaki S KolmetzUnited Kingdom2026-09-13Buckley Miller Wright RENEWAL38Stephen Shaw
1009Deepesh V GillianBrazil2026-10-07Dorl, James J Esq NEGOTIATION40Asiya Javayant
1010Faith E SlusarskiIndia2026-09-19Morlong Associates UNQUALIFIED10Anna Fali
1011Kaitlin U GlickAustralia2026-10-07King, Christopher A Esq NEW75Stephen Shaw
1012Costa Y SergiGermany2026-09-25Truhlar And Truhlar Attys NEGOTIATION45Asiya Javayant
1013Maria X CampainBrazil2026-10-04Rousseaux, Michael Esq UNQUALIFIED2Ivan Magalhaes
1014Salvatore P StockhamRussia2026-09-27Dorl, James J Esq QUALIFIED59Ioni Bowcher
1015Francesco I RoysterItaly2026-09-28Morlong Associates UNQUALIFIED55Anna Fali
1016Claire A AmigonCanada2026-09-30Printing Dimensions PROPOSAL37Bernardo Dominic
1017Munro S InouyeIndia2026-10-04Commercial Press RENEWAL96Ivan Magalhaes
1018Antonio G TollnerFrance2026-09-29Printing Dimensions QUALIFIED71Asiya Javayant
1019Claire W ChuiItaly2026-09-12Chemel, James L Cpa QUALIFIED59Bernardo Dominic
1020James Q PaprockiJapan2026-09-12Feiner Bros NEW41Bernardo Dominic
1021Isabel D FollerArgentina2026-09-11Feltz Printing Service QUALIFIED25Onyama Limba
1022Chavez B WieserAustralia2026-09-20Truhlar And Truhlar Attys PROPOSAL82Ivan Magalhaes
1023David T KolmetzSpain2026-09-09Printing Dimensions NEGOTIATION23Anna Fali
1024Costa M ButtArgentina2026-10-08Buckley Miller Wright RENEWAL41Amy Elsner
1025Leon B ButtUnited Kingdom2026-09-19Feiner Bros QUALIFIED21Elwin Sharvill
1026James H OstroskyJapan2026-09-10Rangoni Of Florence NEW45Onyama Limba
1027Arvin X FerenczGermany2026-10-08King, Christopher A Esq NEGOTIATION91Elwin Sharvill
1028David A SergiArgentina2026-09-23Printing Dimensions RENEWAL48Onyama Limba
1029Jones V CaldareraBrazil2026-09-26Dorl, James J Esq RENEWAL39Stephen Shaw
1030Claire Z FerenczBrazil2026-09-26Rousseaux, Michael Esq PROPOSAL23Ivan Magalhaes
1031James U RoysterIndia2026-09-28Benton, John B Jr RENEWAL0Elwin Sharvill
1032Jennifer S BologniaFrance2026-09-18Morlong Associates NEGOTIATION10Xuxue Feng
1033Antonio A DilliardIndia2026-10-06Rousseaux, Michael Esq UNQUALIFIED5Anna Fali
1034Antonio L ChuiAustralia2026-10-06Feiner Bros UNQUALIFIED15Asiya Javayant
1035Izzy I RulapaughFrance2026-09-11Morlong Associates PROPOSAL60Amy Elsner
1036Costa Z FerenczFrance2026-09-10Chapman, Ross E Esq QUALIFIED39Ivan Magalhaes
1037Deepesh L RulapaughCanada2026-10-04Rousseaux, Michael Esq NEW73Amy Elsner
1038Ricardo R RoysterBrazil2026-09-23Rousseaux, Michael Esq QUALIFIED10Elwin Sharvill
1039Julie U PaprockiUnited Kingdom2026-09-09Chapman, Ross E Esq PROPOSAL77Xuxue Feng
1040Stacey I CampainJapan2026-09-11Commercial Press RENEWAL19Elwin Sharvill
1041Julie L KuskoCanada2026-09-23Truhlar And Truhlar Attys NEGOTIATION79Stephen Shaw
1042Ashley O MorascaAustralia2026-09-21Commercial Press NEGOTIATION80Stephen Shaw
1043Misaki B PoquetteUnited Kingdom2026-09-12Rousseaux, Michael Esq PROPOSAL75Amy Elsner
1044Rodrigues Z MarrierAustralia2026-09-10Truhlar And Truhlar Attys PROPOSAL13Bernardo Dominic
1045Leja S MorascaUnited Kingdom2026-09-21Printing Dimensions RENEWAL9Xuxue Feng
1046Julie V MarrierSpain2026-09-16King, Christopher A Esq NEGOTIATION18Asiya Javayant
1047Mujtaba S DoeCanada2026-09-14Feiner Bros PROPOSAL79Elwin Sharvill
1048Silvio K MacleadRussia2026-09-09Buckley Miller Wright NEW28Asiya Javayant
1049Jefferson O DoeCanada2026-09-28Chemel, James L Cpa RENEWAL19Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Maria Q NestleArgentinaIvan Magalhaes QUALIFIED
James V DarakjySpainBernardo Dominic PROPOSAL
Jones Q InouyeJapanElwin Sharvill PROPOSAL
Aditya X MarrierGermanyAnna Fali QUALIFIED
Nicolas F SergiUnited KingdomOnyama Limba UNQUALIFIED
Kaitlin O CaudyJapanAsiya Javayant NEW
Julie H BologniaBrazilXuxue Feng QUALIFIED
Leon U CaudyAustraliaIoni Bowcher UNQUALIFIED
Stacey V InouyeCanadaOnyama Limba NEW
Adams I OldroydJapanAnna Fali UNQUALIFIED
Rodrigues V RutaFranceIvan Magalhaes RENEWAL
Tony T MorascaArgentinaAsiya Javayant NEW
David F VenereRussiaBernardo Dominic QUALIFIED
Mujtaba T ChuiItalyBernardo Dominic PROPOSAL
Octavia P RimCanadaXuxue Feng QUALIFIED
Juan D BriddickItalyElwin Sharvill PROPOSAL
Julie M PaprockiAustraliaIvan Magalhaes UNQUALIFIED
Jones S OstroskyIndiaBernardo Dominic UNQUALIFIED
Smith Q VenereGermanyAnna Fali NEW
Munro D OstroskyRussiaXuxue Feng UNQUALIFIED
Aditya P StensethIndiaElwin Sharvill PROPOSAL
Nicolas L NestleCanadaAsiya Javayant PROPOSAL
Jones Q DilliardSpainAmy Elsner QUALIFIED
Francesco O IturbideBrazilIvan Magalhaes UNQUALIFIED
Deepesh G OldroydBrazilBernardo Dominic PROPOSAL
Costa C TollnerItalyAmy Elsner RENEWAL
Clifford T IturbideJapanBernardo Dominic NEGOTIATION
Jennifer I ShinkoItalyAnna Fali NEW
Faith U OldroydGermanyOnyama Limba PROPOSAL
Sinclair A CaudyArgentinaStephen Shaw QUALIFIED
Emily L StockhamItalyStephen Shaw NEGOTIATION
Mayumi U ChuiCanadaIvan Magalhaes NEGOTIATION
Salvatore E InouyeIndiaAnna Fali UNQUALIFIED
Arvin Z TollnerSpainElwin Sharvill UNQUALIFIED
Misaki C IturbideBrazilIvan Magalhaes QUALIFIED
Emily L DarakjyRussiaElwin Sharvill QUALIFIED
Kadeem Z FollerCanadaStephen Shaw QUALIFIED
Salvatore K FigeroaFranceOnyama Limba UNQUALIFIED
Aditya G MaletCanadaOnyama Limba NEW
Ricardo O FigeroaFranceAsiya Javayant UNQUALIFIED
Smith O SergiGermanyOnyama Limba QUALIFIED
Murillo M GlickGermanyIoni Bowcher UNQUALIFIED
Leon Y PaprockiArgentinaElwin Sharvill PROPOSAL
Mayumi X WaycottFranceAmy Elsner PROPOSAL
Leon T ChuiGermanyAnna Fali NEGOTIATION
Aditya E FlosiCanadaXuxue Feng QUALIFIED
Isabel Y TollnerJapanStephen Shaw PROPOSAL
Nicolas A PoquetteSpainElwin Sharvill UNQUALIFIED
Silvio K GarufiItalyIoni Bowcher RENEWAL
Antonio E RimUnited KingdomIoni Bowcher PROPOSAL
Frozen Columns
Name
Sinclair A Foller
Mayumi Z Oldroyd
Cody Y Maclead
Claire I Whobrey
David X Kusko
Nicolas P Iturbide
David F Stenseth
Johnson K Rulapaugh
Leon Y Amigon
Greenwood M Garufi
Cody L Ostrosky
Maria J Marrier
Costa W Ferencz
Silvio F Stockham
Wickens K Sergi
Leja X Foller
Jeanfrancois I Rulapaugh
Rodrigues Z Rim
Clifford F Tollner
Greenwood R Gillian
Juan Z Malet
Isabel S Tollner
Jennifer V Wieser
Kadeem Z Kusko
Juan K Briddick
Aruna T Saylors
Adams M Inouye
Murillo O Flosi
Stacey S Ostrosky
David Z Maclead
Greenwood C Stockham
Mujtaba R Stenseth
Sinclair P Maclead
Izzy W Slusarski
Octavia P Rulapaugh
Mayumi W Poquette
Francesco Q Figeroa
Wickens P Inouye
Darci G Marrier
Faith X Tollner
Ashley P Kusko
Ashley M Albares
Deepesh U Garufi
Maria V Albares
Smith F Garufi
Ivar B Nicka
Adams X Oldroyd
Misaki G Sergi
Misaki G Rim
Kadeem A Butt
IdCountryDate
1000Brazil2026-09-13
1001France2026-09-30
1002India2026-09-18
1003India2026-09-09
1004Australia2026-09-12
1005France2026-09-20
1006Australia2026-09-15
1007France2026-09-30
1008Canada2026-09-18
1009Brazil2026-09-13
1010Japan2026-09-18
1011Italy2026-10-03
1012United Kingdom2026-09-14
1013Italy2026-09-24
1014Australia2026-09-13
1015France2026-09-19
1016Japan2026-09-23
1017Brazil2026-09-13
1018Germany2026-10-06
1019Japan2026-09-15
1020France2026-09-12
1021United Kingdom2026-10-07
1022United Kingdom2026-09-25
1023Japan2026-09-23
1024Argentina2026-09-15
1025France2026-09-19
1026India2026-09-18
1027Germany2026-10-07
1028Australia2026-10-06
1029Russia2026-09-28
1030India2026-09-15
1031Argentina2026-09-23
1032United Kingdom2026-10-04
1033India2026-09-26
1034Brazil2026-09-09
1035Australia2026-09-24
1036Italy2026-09-21
1037Australia2026-10-04
1038Australia2026-09-18
1039Argentina2026-10-07
1040India2026-09-20
1041Argentina2026-09-15
1042Japan2026-10-01
1043Australia2026-09-16
1044Japan2026-09-29
1045Germany2026-10-01
1046Australia2026-09-10
1047Brazil2026-09-22
1048Spain2026-10-04
1049Canada2026-09-14

On-Demand Data

NameIdCountryDate
Jennifer T Waycott1000Japan2026-09-12
Isabel A Dilliard1001Canada2026-09-17
Antonio Y Bowley1002Italy2026-10-02
Chavez W Iturbide1003Brazil2026-09-20
Morrow Y Amigon1004Australia2026-09-22
Kadeem E Caudy1005Spain2026-09-26
Arvin M Maclead1006Germany2026-10-03
Costa R Caudy1007Spain2026-09-15
Wickens E Schemmer1008Russia2026-09-26
Darci S Gillian1009India2026-09-11
Clifford P Oldroyd1010Spain2026-10-07
Greenwood H Darakjy1011Argentina2026-10-06
Clifford S Tollner1012Canada2026-09-30
Aditya W Ferencz1013Japan2026-09-28
Morrow C Albares1014Brazil2026-10-07
Salvatore N Marrier1015United Kingdom2026-10-07
Emily A Caldarera1016Russia2026-09-13
Silvio H Tollner1017Japan2026-09-12
Kadeem U Doe1018India2026-10-05
Costa L Flosi1019Spain2026-09-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer A GauchoItalyAmy Elsner RENEWAL
Maisha U KuskoCanadaElwin Sharvill PROPOSAL
Tony Z SergiRussiaAsiya Javayant NEW
Julie R ButtJapanAmy Elsner UNQUALIFIED
Ricardo G DarakjyGermanyXuxue Feng QUALIFIED
Wickens E SchemmerArgentinaIvan Magalhaes PROPOSAL
Nicolas O InouyeBrazilElwin Sharvill QUALIFIED
Tony B FerenczJapanIoni Bowcher PROPOSAL
Salvatore S SergiIndiaStephen Shaw NEW
Kaitlin L MaletArgentinaBernardo Dominic UNQUALIFIED
Julie T BriddickItalyIvan Magalhaes RENEWAL
David U RimItalyIvan Magalhaes NEW
Ivar C OldroydItalyAnna Fali UNQUALIFIED
Maisha X RulapaughFranceElwin Sharvill RENEWAL
Octavia M AlbaresIndiaElwin Sharvill UNQUALIFIED
Mayumi Y FerenczUnited KingdomElwin Sharvill NEW
Antonio D MaletArgentinaAsiya Javayant RENEWAL
Nicolas P MarrierIndiaElwin Sharvill NEGOTIATION
Munro W VenereFranceAsiya Javayant NEW
Murillo Y RoysterAustraliaBernardo Dominic UNQUALIFIED
Izzy Y SlusarskiArgentinaXuxue Feng RENEWAL
Kaitlin S NestleArgentinaIoni Bowcher UNQUALIFIED
Costa Z OstroskyIndiaStephen Shaw RENEWAL
Jeanfrancois P TollnerSpainAmy Elsner QUALIFIED
James E KuskoBrazilXuxue Feng QUALIFIED
Octavia T KuskoIndiaAnna Fali RENEWAL
James S CaldareraUnited KingdomOnyama Limba PROPOSAL
Johnson X GauchoCanadaOnyama Limba RENEWAL
Wickens V BologniaAustraliaAmy Elsner QUALIFIED
Deepesh Z GlickFranceIoni Bowcher NEW
Francesco Z MarrierFranceAnna Fali RENEWAL
Clifford C DoeFranceAmy Elsner QUALIFIED
Jeanfrancois L WaycottArgentinaIvan Magalhaes NEW
Wickens S SaylorsCanadaOnyama Limba RENEWAL
Murillo O DilliardItalyAmy Elsner PROPOSAL
Morrow Y DarakjySpainOnyama Limba RENEWAL
Faith R IturbideBrazilIoni Bowcher PROPOSAL
Kadeem I IturbideCanadaBernardo Dominic NEGOTIATION
Rodrigues N OldroydFranceAnna Fali NEW
Kaitlin Q TollnerSpainAnna Fali 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>