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
Morrow E PerinFranceAnna Fali PROPOSAL
Jefferson E MarrierGermanyAmy Elsner QUALIFIED
Jennifer X FollerFranceAsiya Javayant NEGOTIATION
Costa W RoysterItalyIvan Magalhaes RENEWAL
Morrow K MaletItalyIoni Bowcher UNQUALIFIED
Silvio C DilliardCanadaIvan Magalhaes NEW
Antonio P BowleySpainStephen Shaw RENEWAL
Jennifer I FerenczCanadaXuxue Feng QUALIFIED
Deepesh H DoeBrazilOnyama Limba UNQUALIFIED
Emily O ShinkoSpainBernardo Dominic QUALIFIED
Octavia G FlosiBrazilIvan Magalhaes NEW
Jones T DarakjyItalyIvan Magalhaes QUALIFIED
Faith Q NestleGermanyAsiya Javayant UNQUALIFIED
Ivar X FollerFranceAmy Elsner NEW
Kaitlin N GillianAustraliaAnna Fali QUALIFIED
Kaitlin X PoquetteBrazilXuxue Feng RENEWAL
Misaki Y BologniaGermanyBernardo Dominic NEGOTIATION
Jeanfrancois L IturbideFranceAsiya Javayant QUALIFIED
Mayumi Q OldroydGermanyElwin Sharvill UNQUALIFIED
Kaitlin M StockhamGermanyOnyama Limba NEW
Francesco I StockhamJapanIoni Bowcher NEW
Silvio D VenereUnited KingdomElwin Sharvill NEW
Ricardo I PoquetteIndiaAnna Fali NEGOTIATION
Greenwood O NestleCanadaIvan Magalhaes PROPOSAL
Claire N IturbideArgentinaAnna Fali QUALIFIED
Izzy P RutaJapanStephen Shaw NEW
Sinclair H MarrierAustraliaStephen Shaw NEGOTIATION
Smith V NickaItalyStephen Shaw QUALIFIED
Emily K PoquetteGermanyBernardo Dominic PROPOSAL
Leja Z MaletBrazilAnna Fali RENEWAL
Aika G PaprockiIndiaIvan Magalhaes NEGOTIATION
Leon E ShinkoArgentinaAsiya Javayant NEW
Munro B GillianItalyAnna Fali RENEWAL
Julie V RimUnited KingdomStephen Shaw NEW
Jones M VenereJapanStephen Shaw RENEWAL
Kaitlin F MaletRussiaAsiya Javayant NEGOTIATION
Mayumi Y FerenczArgentinaBernardo Dominic UNQUALIFIED
Salvatore Z GauchoItalyElwin Sharvill RENEWAL
James A NickaJapanAnna Fali PROPOSAL
Aruna W StensethFranceAsiya Javayant NEGOTIATION
Rodrigues R GarufiRussiaXuxue Feng QUALIFIED
Mujtaba C RulapaughRussiaBernardo Dominic UNQUALIFIED
Chavez H CampainArgentinaIoni Bowcher UNQUALIFIED
Cody C CampainJapanIvan Magalhaes NEW
Izzy Q PaprockiUnited KingdomStephen Shaw QUALIFIED
Aditya N OldroydGermanyIvan Magalhaes UNQUALIFIED
Francesco P SergiIndiaBernardo Dominic QUALIFIED
Jennifer J MarrierGermanyAmy Elsner RENEWAL
Clifford L GillianItalyIoni Bowcher PROPOSAL
Salvatore G CaudyJapanElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Mujtaba Q DarakjyBrazilAsiya Javayant UNQUALIFIED
Misaki J OldroydFranceElwin Sharvill RENEWAL
Darci K KuskoFranceAnna Fali PROPOSAL
Munro O KolmetzIndiaOnyama Limba NEGOTIATION
Rodrigues J PerinUnited KingdomBernardo Dominic NEW
Alejandro O WieserRussiaAmy Elsner UNQUALIFIED
Tony V MaletBrazilAnna Fali PROPOSAL
Sinclair E WaycottUnited KingdomAmy Elsner RENEWAL
Wickens V StensethIndiaElwin Sharvill QUALIFIED
Claire N CampainItalyXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa V ButtSpain2026-09-26Dorl, James J Esq PROPOSAL11Ivan Magalhaes
1001Deepesh D ChuiBrazil2026-09-27Feiner Bros RENEWAL39Stephen Shaw
1002Faith R FerenczBrazil2026-09-05Rousseaux, Michael Esq PROPOSAL46Amy Elsner
1003Murillo V RoysterBrazil2026-10-01Morlong Associates UNQUALIFIED81Xuxue Feng
1004Munro N VocelkaFrance2026-09-22Feltz Printing Service RENEWAL75Xuxue Feng
1005Antonio O PaprockiGermany2026-09-17Chanay, Jeffrey A Esq NEGOTIATION13Bernardo Dominic
1006Smith R FigeroaSpain2026-09-20Rangoni Of Florence PROPOSAL82Elwin Sharvill
1007David L RulapaughBrazil2026-09-03Printing Dimensions RENEWAL47Ivan Magalhaes
1008Rodrigues E MarrierFrance2026-09-06Truhlar And Truhlar Attys NEGOTIATION66Elwin Sharvill
1009Antonio C SergiItaly2026-09-24Rangoni Of Florence QUALIFIED93Asiya Javayant
1010Morrow Y PoquetteItaly2026-09-06Feiner Bros NEW30Ioni Bowcher
1011Kaitlin B RutaRussia2026-09-23Rousseaux, Michael Esq RENEWAL70Anna Fali
1012Aditya Y GarufiIndia2026-09-07Chanay, Jeffrey A Esq QUALIFIED92Elwin Sharvill
1013Maisha I WaycottUnited Kingdom2026-09-10Commercial Press PROPOSAL87Asiya Javayant
1014Jeanfrancois I BriddickArgentina2026-09-06Dorl, James J Esq PROPOSAL61Bernardo Dominic
1015Emily O CampainGermany2026-09-15Chemel, James L Cpa NEW33Bernardo Dominic
1016Emily M BologniaArgentina2026-09-06Chanay, Jeffrey A Esq PROPOSAL89Amy Elsner
1017Claire M FerenczCanada2026-09-28Chapman, Ross E Esq RENEWAL93Anna Fali
1018Jennifer S AmigonSpain2026-09-09Morlong Associates NEW84Elwin Sharvill
1019Aruna W NickaJapan2026-09-12Rousseaux, Michael Esq RENEWAL70Onyama Limba
1020Izzy W IturbideJapan2026-09-30Morlong Associates UNQUALIFIED90Anna Fali
1021Ricardo Y ChuiBrazil2026-09-15Dorl, James J Esq RENEWAL25Ioni Bowcher
1022Faith Q GillianFrance2026-09-05Benton, John B Jr PROPOSAL93Stephen Shaw
1023Leon K RoysterFrance2026-09-06Feiner Bros QUALIFIED81Elwin Sharvill
1024Salvatore H StensethIndia2026-09-03Feltz Printing Service UNQUALIFIED72Ivan Magalhaes
1025Emily R CaudyArgentina2026-09-10Rousseaux, Michael Esq RENEWAL71Amy Elsner
1026Wickens K RutaAustralia2026-09-02Chanay, Jeffrey A Esq PROPOSAL34Ioni Bowcher
1027Arvin L FerenczSpain2026-09-24Rousseaux, Michael Esq NEW58Stephen Shaw
1028Arvin D WieserFrance2026-09-05Feltz Printing Service RENEWAL18Xuxue Feng
1029Ricardo D NickaItaly2026-09-28Truhlar And Truhlar Attys PROPOSAL30Ivan Magalhaes
1030Wickens M PoquetteItaly2026-09-30Rangoni Of Florence RENEWAL3Ivan Magalhaes
1031Alejandro C SaylorsRussia2026-09-13Feiner Bros NEGOTIATION29Amy Elsner
1032Deepesh K MaletJapan2026-09-26Rousseaux, Michael Esq QUALIFIED68Stephen Shaw
1033Mujtaba V VocelkaGermany2026-09-04Feltz Printing Service PROPOSAL36Elwin Sharvill
1034Ricardo T CampainCanada2026-09-24Dorl, James J Esq PROPOSAL37Bernardo Dominic
1035Smith A GillianArgentina2026-09-11Benton, John B Jr NEGOTIATION47Asiya Javayant
1036Greenwood C AmigonJapan2026-09-21Feiner Bros QUALIFIED52Onyama Limba
1037Tony U KuskoGermany2026-09-19Buckley Miller Wright NEW43Xuxue Feng
1038Jones W MorascaCanada2026-09-29Chapman, Ross E Esq PROPOSAL74Xuxue Feng
1039Leja R AmigonSpain2026-09-13Chemel, James L Cpa PROPOSAL56Asiya Javayant
1040David G OstroskyCanada2026-09-15Rousseaux, Michael Esq NEGOTIATION90Elwin Sharvill
1041Francesco B ChuiFrance2026-09-03Printing Dimensions NEW70Stephen Shaw
1042Deepesh G VocelkaIndia2026-09-13Feltz Printing Service NEGOTIATION48Stephen Shaw
1043Chavez P AmigonBrazil2026-09-17Chapman, Ross E Esq PROPOSAL28Onyama Limba
1044Silvio E RulapaughCanada2026-09-24Dorl, James J Esq NEGOTIATION19Elwin Sharvill
1045Leon P FerenczJapan2026-09-10Morlong Associates NEW15Elwin Sharvill
1046Kadeem D RulapaughGermany2026-09-09Morlong Associates RENEWAL94Anna Fali
1047Aruna O DarakjySpain2026-09-23Rousseaux, Michael Esq NEGOTIATION43Onyama Limba
1048James Q DoeBrazil2026-09-26Dorl, James J Esq UNQUALIFIED71Elwin Sharvill
1049Jones M MaletRussia2026-09-14Chanay, Jeffrey A Esq NEGOTIATION6Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jefferson E PaprockiBrazilStephen Shaw PROPOSAL
Salvatore N WieserBrazilAnna Fali UNQUALIFIED
Leja O WieserAustraliaAmy Elsner NEW
Costa G KolmetzArgentinaStephen Shaw RENEWAL
Deepesh U GauchoAustraliaIvan Magalhaes UNQUALIFIED
Munro B PaprockiArgentinaStephen Shaw QUALIFIED
Nicolas P DilliardCanadaBernardo Dominic PROPOSAL
Ivar V InouyeIndiaElwin Sharvill PROPOSAL
Salvatore Q ChuiJapanElwin Sharvill RENEWAL
Johnson F KuskoItalyAsiya Javayant PROPOSAL
Misaki R FigeroaGermanyElwin Sharvill PROPOSAL
Cody Z SchemmerIndiaStephen Shaw RENEWAL
Juan Y OstroskySpainStephen Shaw NEGOTIATION
Arvin K SaylorsIndiaStephen Shaw NEW
Juan A DoeUnited KingdomXuxue Feng PROPOSAL
Leon Z CaudyRussiaAnna Fali QUALIFIED
Emily U FlosiArgentinaAmy Elsner QUALIFIED
Deepesh Q AlbaresFranceElwin Sharvill UNQUALIFIED
Ivar Z FigeroaFranceAsiya Javayant UNQUALIFIED
Aditya S OstroskyIndiaXuxue Feng RENEWAL
Jones G InouyeGermanyAmy Elsner QUALIFIED
Rodrigues K DoeGermanyOnyama Limba UNQUALIFIED
Johnson I TollnerJapanAmy Elsner NEW
Munro F FollerItalyAnna Fali RENEWAL
Jones K CaudyJapanOnyama Limba QUALIFIED
Jefferson E DoeCanadaAmy Elsner RENEWAL
Cody H NickaGermanyBernardo Dominic NEW
Rodrigues C SergiJapanBernardo Dominic UNQUALIFIED
Chavez V GauchoArgentinaAnna Fali RENEWAL
Octavia G RimJapanIvan Magalhaes RENEWAL
Johnson T NestleItalyOnyama Limba NEW
Tony O KolmetzItalyAsiya Javayant RENEWAL
Francesco X MacleadBrazilAsiya Javayant UNQUALIFIED
Maisha X SaylorsBrazilXuxue Feng NEGOTIATION
Rodrigues F NickaGermanyXuxue Feng QUALIFIED
Smith G FlosiArgentinaAnna Fali RENEWAL
Claire Z WaycottJapanIoni Bowcher RENEWAL
Cody M FlosiIndiaElwin Sharvill NEW
Tony L MarrierUnited KingdomIvan Magalhaes NEW
Octavia F BologniaGermanyStephen Shaw UNQUALIFIED
Mayumi N VenereCanadaAsiya Javayant RENEWAL
Tony X ChuiAustraliaAnna Fali RENEWAL
Nicolas P MaletRussiaStephen Shaw PROPOSAL
Alejandro H PaprockiItalyOnyama Limba NEW
Clifford X KolmetzArgentinaElwin Sharvill RENEWAL
Julie O GarufiJapanIvan Magalhaes RENEWAL
Sinclair H NickaCanadaIoni Bowcher QUALIFIED
Stacey J NickaJapanAnna Fali NEW
Ivar U NickaIndiaAnna Fali PROPOSAL
Jefferson O NickaRussiaAsiya Javayant RENEWAL
Frozen Columns
Name
Stacey U Poquette
Nicolas I Garufi
Kadeem K Waycott
Nicolas M Bolognia
Isabel V Darakjy
Octavia U Marrier
Sinclair Z Tollner
Aditya L Venere
Costa E Campain
Jones L Kolmetz
David A Bolognia
Silvio S Slusarski
Alejandro O Venere
Rodrigues V Shinko
Mujtaba W Iturbide
Mujtaba U Figeroa
Wickens Z Tollner
Johnson C Gillian
Antonio D Wieser
Smith O Malet
Greenwood C Whobrey
Nicolas Z Slusarski
Alejandro G Dilliard
Cody W Gaucho
Misaki W Schemmer
Stacey R Sergi
Johnson C Venere
Juan X Waycott
Murillo I Caudy
Jennifer Y Ferencz
Juan Z Doe
Wickens B Foller
Morrow H Iturbide
Octavia S Paprocki
Chavez W Campain
Clifford N Bolognia
David L Darakjy
Silvio S Gillian
Ashley D Vocelka
David B Albares
Aruna H Glick
Claire I Butt
Leon B Foller
Octavia F Poquette
Greenwood F Ruta
Salvatore P Morasca
Ivar D Flosi
Greenwood C Rulapaugh
Maria P Foller
Silvio N Perin
IdCountryDate
1000Germany2026-09-02
1001Australia2026-09-03
1002Australia2026-09-07
1003Brazil2026-09-04
1004France2026-09-05
1005France2026-09-14
1006Spain2026-09-06
1007Brazil2026-09-03
1008Australia2026-09-28
1009Spain2026-09-25
1010Russia2026-09-14
1011Japan2026-09-29
1012Brazil2026-09-19
1013France2026-09-17
1014Germany2026-09-26
1015Japan2026-09-27
1016Spain2026-09-10
1017Brazil2026-09-17
1018Argentina2026-09-07
1019Germany2026-09-03
1020Canada2026-09-15
1021Canada2026-09-13
1022India2026-09-30
1023Italy2026-09-07
1024Australia2026-09-30
1025Australia2026-09-19
1026Japan2026-10-01
1027Japan2026-09-12
1028Brazil2026-09-12
1029France2026-09-25
1030United Kingdom2026-09-19
1031Brazil2026-09-30
1032Brazil2026-09-14
1033Russia2026-09-22
1034United Kingdom2026-09-18
1035Spain2026-09-05
1036Australia2026-09-13
1037Italy2026-09-22
1038India2026-09-20
1039Germany2026-09-02
1040Italy2026-09-24
1041India2026-09-07
1042Brazil2026-09-11
1043Brazil2026-09-04
1044Italy2026-09-14
1045France2026-09-24
1046France2026-09-19
1047Canada2026-09-19
1048Australia2026-09-10
1049Japan2026-09-14

On-Demand Data

NameIdCountryDate
Misaki T Ruta1000Italy2026-09-04
Emily E Royster1001Canada2026-10-01
Aditya D Darakjy1002Australia2026-09-19
Ashley H Waycott1003Australia2026-09-23
Jefferson F Oldroyd1004Australia2026-09-30
Mujtaba V Iturbide1005Germany2026-09-25
Stacey U Caldarera1006Spain2026-09-26
Ashley D Marrier1007Canada2026-09-23
Leon K Stenseth1008Spain2026-09-02
Clifford U Maclead1009Argentina2026-09-08
Emily Q Foller1010Canada2026-09-18
Aruna R Oldroyd1011Spain2026-09-26
Aika M Butt1012Brazil2026-09-19
Maria I Ruta1013Canada2026-09-06
Jeanfrancois Y Sergi1014Russia2026-09-15
Jones T Marrier1015Canada2026-09-23
Octavia K Perin1016Italy2026-09-15
Munro R Sergi1017Australia2026-09-21
Jones I Tollner1018France2026-10-01
Claire M Dilliard1019Germany2026-09-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa L BriddickIndiaStephen Shaw QUALIFIED
Darci R AlbaresArgentinaElwin Sharvill NEW
Stacey O MacleadFranceAsiya Javayant UNQUALIFIED
Costa V RutaIndiaOnyama Limba QUALIFIED
Aika H KolmetzUnited KingdomAmy Elsner UNQUALIFIED
Greenwood R BowleyRussiaAmy Elsner UNQUALIFIED
Morrow H BowleyGermanyIvan Magalhaes QUALIFIED
Kadeem L SergiIndiaIoni Bowcher PROPOSAL
Leja F StockhamIndiaXuxue Feng NEW
Jennifer G MaletSpainElwin Sharvill PROPOSAL
Juan E SlusarskiUnited KingdomXuxue Feng QUALIFIED
Emily A KolmetzItalyElwin Sharvill PROPOSAL
Adams C GarufiRussiaAsiya Javayant UNQUALIFIED
Alejandro R VenereArgentinaAnna Fali UNQUALIFIED
Misaki O KuskoCanadaStephen Shaw NEGOTIATION
Ivar W MaletIndiaAmy Elsner QUALIFIED
Ivar N AlbaresUnited KingdomAmy Elsner RENEWAL
Maisha D CaudyGermanyAsiya Javayant RENEWAL
Juan O WieserUnited KingdomAsiya Javayant PROPOSAL
Alejandro H WaycottFranceXuxue Feng QUALIFIED
Costa N NestleFranceIoni Bowcher QUALIFIED
Wickens P FerenczCanadaXuxue Feng NEGOTIATION
Deepesh B VenereBrazilBernardo Dominic NEGOTIATION
Rodrigues G CaldareraIndiaAsiya Javayant QUALIFIED
Nicolas B GauchoBrazilAmy Elsner QUALIFIED
Chavez J KolmetzCanadaAnna Fali RENEWAL
Wickens O SlusarskiItalyBernardo Dominic PROPOSAL
Tony R ButtRussiaOnyama Limba RENEWAL
Salvatore W InouyeFranceAmy Elsner QUALIFIED
Salvatore I PaprockiArgentinaXuxue Feng PROPOSAL
Greenwood H FlosiGermanyIoni Bowcher NEW
Wickens Q SchemmerCanadaXuxue Feng RENEWAL
Murillo Q AlbaresCanadaStephen Shaw NEW
Claire D SaylorsFranceOnyama Limba PROPOSAL
Kadeem P FollerFranceAsiya Javayant NEGOTIATION
Salvatore N FigeroaSpainAnna Fali PROPOSAL
Julie Z GlickGermanyStephen Shaw NEW
Mayumi B FlosiIndiaElwin Sharvill NEW
Aruna R RimIndiaXuxue Feng NEW
Misaki I InouyeItalyIvan Magalhaes QUALIFIED

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