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
James G CampainFranceOnyama Limba PROPOSAL
Morrow P RoysterIndiaXuxue Feng QUALIFIED
Arvin S MaletAustraliaXuxue Feng NEGOTIATION
Leja U FigeroaAustraliaAsiya Javayant UNQUALIFIED
Wickens I PoquetteRussiaStephen Shaw NEW
Emily L IturbideFranceXuxue Feng NEGOTIATION
Jefferson F FerenczFranceAnna Fali UNQUALIFIED
Clifford W RutaUnited KingdomBernardo Dominic UNQUALIFIED
Ashley U GauchoAustraliaXuxue Feng NEW
Leja F PoquetteGermanyOnyama Limba QUALIFIED
Antonio F KolmetzItalyStephen Shaw UNQUALIFIED
Maria C StensethArgentinaOnyama Limba PROPOSAL
Munro Q MacleadIndiaAnna Fali NEW
Mujtaba V VenereJapanXuxue Feng NEGOTIATION
Stacey Z BowleyAustraliaIvan Magalhaes RENEWAL
Claire H FigeroaArgentinaStephen Shaw QUALIFIED
Chavez S RoysterAustraliaBernardo Dominic PROPOSAL
Kadeem C ChuiBrazilAsiya Javayant NEW
Leja Z MaletSpainIvan Magalhaes NEGOTIATION
Maisha Y SchemmerFranceElwin Sharvill QUALIFIED
Emily Q WaycottJapanAnna Fali QUALIFIED
Juan M GauchoRussiaIoni Bowcher RENEWAL
Ivar N VenereAustraliaIvan Magalhaes UNQUALIFIED
Leon U BriddickFranceElwin Sharvill PROPOSAL
Aruna A PerinArgentinaStephen Shaw RENEWAL
Greenwood B RulapaughSpainElwin Sharvill NEW
Jefferson I MacleadBrazilStephen Shaw RENEWAL
Alejandro S PoquetteBrazilXuxue Feng UNQUALIFIED
Chavez I FlosiItalyAmy Elsner RENEWAL
James R OstroskySpainAsiya Javayant UNQUALIFIED
Morrow Y SlusarskiIndiaAmy Elsner NEW
Claire J BologniaIndiaStephen Shaw UNQUALIFIED
Aruna E ChuiRussiaAnna Fali UNQUALIFIED
Ashley V ShinkoArgentinaIoni Bowcher NEGOTIATION
Octavia P ChuiRussiaAsiya Javayant QUALIFIED
Antonio D RoysterItalyAsiya Javayant NEW
Kadeem J KuskoFranceAsiya Javayant NEW
Isabel O BriddickCanadaElwin Sharvill NEW
Emily A RulapaughBrazilXuxue Feng RENEWAL
Alejandro I ShinkoCanadaIoni Bowcher NEGOTIATION
Salvatore W GillianAustraliaIoni Bowcher RENEWAL
Isabel I IturbideArgentinaStephen Shaw NEW
Darci H KuskoFranceAsiya Javayant QUALIFIED
Juan B SchemmerCanadaIvan Magalhaes NEW
Murillo U BriddickSpainStephen Shaw NEW
David U StockhamGermanyOnyama Limba RENEWAL
Greenwood Z StockhamCanadaXuxue Feng QUALIFIED
Rodrigues H KolmetzUnited KingdomOnyama Limba QUALIFIED
Silvio F RimItalyIoni Bowcher UNQUALIFIED
Francesco A MaletFranceIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jefferson D WaycottBrazilAnna Fali QUALIFIED
Aruna K GillianIndiaIvan Magalhaes QUALIFIED
Mujtaba R PerinJapanXuxue Feng NEW
Wickens H PerinAustraliaXuxue Feng UNQUALIFIED
Ricardo H WhobreyAustraliaAsiya Javayant RENEWAL
Alejandro W MaletCanadaXuxue Feng NEW
Wickens Y PoquetteFranceStephen Shaw NEW
Julie Z RoysterArgentinaElwin Sharvill RENEWAL
Costa S VocelkaGermanyStephen Shaw PROPOSAL
Maisha H BowleyArgentinaAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna I RutaArgentina2026-09-27Rangoni Of Florence QUALIFIED56Bernardo Dominic
1001Maria D FerenczGermany2026-09-11Chanay, Jeffrey A Esq NEGOTIATION19Amy Elsner
1002Maria J NickaGermany2026-09-22Truhlar And Truhlar Attys UNQUALIFIED56Anna Fali
1003Mujtaba B WhobreyRussia2026-09-27Chemel, James L Cpa UNQUALIFIED41Onyama Limba
1004Alejandro M FollerItaly2026-09-12Chapman, Ross E Esq PROPOSAL94Stephen Shaw
1005Stacey H InouyeItaly2026-09-11Benton, John B Jr NEW94Asiya Javayant
1006Jeanfrancois B GlickUnited Kingdom2026-09-15Buckley Miller Wright UNQUALIFIED94Ioni Bowcher
1007Aika I SergiBrazil2026-09-23Chanay, Jeffrey A Esq UNQUALIFIED30Xuxue Feng
1008Johnson J OstroskyGermany2026-09-29Feiner Bros NEGOTIATION31Asiya Javayant
1009Salvatore U NickaIndia2026-09-17Rangoni Of Florence QUALIFIED48Anna Fali
1010Ricardo Q StockhamJapan2026-09-18Feltz Printing Service PROPOSAL43Ivan Magalhaes
1011Francesco S ButtAustralia2026-09-07Rousseaux, Michael Esq RENEWAL30Elwin Sharvill
1012Maisha Q StensethItaly2026-09-30Morlong Associates PROPOSAL55Ioni Bowcher
1013Stacey X MaletAustralia2026-10-04Benton, John B Jr PROPOSAL44Anna Fali
1014Greenwood Z KolmetzAustralia2026-09-18Chanay, Jeffrey A Esq PROPOSAL94Xuxue Feng
1015Francesco H FerenczAustralia2026-09-05King, Christopher A Esq PROPOSAL80Bernardo Dominic
1016Jennifer U PerinFrance2026-09-10Dorl, James J Esq NEGOTIATION63Asiya Javayant
1017Octavia E SlusarskiIndia2026-09-21Buckley Miller Wright NEGOTIATION35Stephen Shaw
1018Jefferson Q PaprockiCanada2026-09-10Benton, John B Jr NEGOTIATION87Elwin Sharvill
1019Ivar I DoeRussia2026-10-03Feltz Printing Service PROPOSAL42Bernardo Dominic
1020Murillo V KolmetzSpain2026-09-14Printing Dimensions UNQUALIFIED61Stephen Shaw
1021Isabel C GauchoGermany2026-09-10Feiner Bros UNQUALIFIED18Asiya Javayant
1022Stacey R MacleadUnited Kingdom2026-10-01Rangoni Of Florence NEGOTIATION40Asiya Javayant
1023Ricardo I StensethIndia2026-09-26Buckley Miller Wright UNQUALIFIED71Anna Fali
1024Aika C BologniaRussia2026-10-04Chemel, James L Cpa PROPOSAL48Stephen Shaw
1025Jones D OstroskySpain2026-09-26Rousseaux, Michael Esq QUALIFIED80Amy Elsner
1026Salvatore F OldroydSpain2026-10-04Buckley Miller Wright NEGOTIATION88Anna Fali
1027James O FigeroaJapan2026-09-16Feiner Bros UNQUALIFIED94Ivan Magalhaes
1028Nicolas M FlosiBrazil2026-09-05Chanay, Jeffrey A Esq UNQUALIFIED82Amy Elsner
1029Jones J DilliardAustralia2026-09-27Dorl, James J Esq NEW99Ivan Magalhaes
1030Jennifer Q MarrierRussia2026-09-08Commercial Press PROPOSAL37Amy Elsner
1031Kadeem V RulapaughSpain2026-09-11Truhlar And Truhlar Attys PROPOSAL12Elwin Sharvill
1032Izzy I DoeBrazil2026-09-16Feiner Bros PROPOSAL79Bernardo Dominic
1033Chavez R MarrierAustralia2026-09-18Feltz Printing Service PROPOSAL10Elwin Sharvill
1034Jeanfrancois F PaprockiUnited Kingdom2026-09-11Chanay, Jeffrey A Esq UNQUALIFIED52Stephen Shaw
1035Faith N BriddickBrazil2026-09-08Buckley Miller Wright RENEWAL81Xuxue Feng
1036Isabel H RulapaughCanada2026-09-21King, Christopher A Esq QUALIFIED48Xuxue Feng
1037Ivar Z PerinAustralia2026-09-27Chapman, Ross E Esq UNQUALIFIED45Amy Elsner
1038Ricardo X StockhamSpain2026-09-29Printing Dimensions RENEWAL19Onyama Limba
1039Kadeem E WhobreyUnited Kingdom2026-09-09King, Christopher A Esq QUALIFIED85Onyama Limba
1040Aika T BologniaFrance2026-09-10Truhlar And Truhlar Attys RENEWAL82Asiya Javayant
1041Munro L BriddickBrazil2026-09-25Rangoni Of Florence NEGOTIATION56Anna Fali
1042Julie J PerinGermany2026-09-16Feiner Bros NEGOTIATION77Elwin Sharvill
1043Maisha G IturbideJapan2026-09-28Feiner Bros UNQUALIFIED45Bernardo Dominic
1044Stacey R OldroydCanada2026-09-05Dorl, James J Esq NEW98Ivan Magalhaes
1045Sinclair Z BriddickBrazil2026-09-11Buckley Miller Wright QUALIFIED44Onyama Limba
1046Ivar D ButtAustralia2026-09-16Chanay, Jeffrey A Esq UNQUALIFIED23Xuxue Feng
1047Morrow B WieserRussia2026-09-07Rousseaux, Michael Esq NEGOTIATION23Bernardo Dominic
1048Kadeem P RoysterArgentina2026-09-18Commercial Press NEW93Onyama Limba
1049Claire W MaletAustralia2026-09-30Benton, John B Jr PROPOSAL42Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Maria P PerinRussiaIoni Bowcher RENEWAL
Julie A KuskoCanadaXuxue Feng RENEWAL
Faith K AlbaresRussiaAsiya Javayant NEW
Antonio F RutaJapanIoni Bowcher PROPOSAL
Nicolas Z DarakjyUnited KingdomAmy Elsner NEW
Isabel U AlbaresItalyIvan Magalhaes QUALIFIED
Aditya E PerinRussiaAsiya Javayant NEW
Juan U RoysterItalyBernardo Dominic NEW
Arvin I DoeIndiaXuxue Feng NEGOTIATION
Jones H StensethIndiaIvan Magalhaes NEGOTIATION
Jeanfrancois D PoquetteSpainOnyama Limba PROPOSAL
Alejandro E AmigonItalyOnyama Limba QUALIFIED
Julie T CampainRussiaElwin Sharvill NEW
Aika R CaldareraRussiaOnyama Limba NEW
Costa O CaldareraUnited KingdomAnna Fali QUALIFIED
Maria V StockhamBrazilAmy Elsner QUALIFIED
Faith D SchemmerArgentinaAnna Fali NEGOTIATION
Aika R RoysterSpainStephen Shaw PROPOSAL
James U WhobreyAustraliaAmy Elsner NEGOTIATION
Tony V FerenczGermanyAmy Elsner NEW
David N IturbideJapanOnyama Limba NEGOTIATION
Wickens D SlusarskiSpainIoni Bowcher NEW
Wickens R GillianAustraliaAsiya Javayant NEW
Juan Y DarakjyGermanyIvan Magalhaes PROPOSAL
Darci C BowleyGermanyElwin Sharvill PROPOSAL
Sinclair C RulapaughGermanyAmy Elsner NEW
Tony U RimUnited KingdomElwin Sharvill UNQUALIFIED
Murillo S InouyeAustraliaAnna Fali PROPOSAL
Mujtaba H ChuiIndiaBernardo Dominic QUALIFIED
Arvin I CaudyIndiaAnna Fali QUALIFIED
Sinclair P FollerRussiaStephen Shaw RENEWAL
Ricardo L ChuiRussiaBernardo Dominic QUALIFIED
Darci P PaprockiRussiaAnna Fali QUALIFIED
Jones N BriddickAustraliaIvan Magalhaes QUALIFIED
Maria C SergiItalyOnyama Limba NEW
Adams A GauchoJapanAmy Elsner NEGOTIATION
James C PoquetteRussiaAsiya Javayant PROPOSAL
Ashley C BologniaUnited KingdomBernardo Dominic PROPOSAL
Morrow R BriddickUnited KingdomIoni Bowcher NEGOTIATION
Rodrigues Y RulapaughSpainOnyama Limba QUALIFIED
Deepesh N KolmetzSpainXuxue Feng RENEWAL
James O PoquetteUnited KingdomElwin Sharvill NEW
Murillo M BowleyJapanAsiya Javayant NEW
Rodrigues V DilliardCanadaIoni Bowcher NEGOTIATION
Maisha I MorascaBrazilIoni Bowcher UNQUALIFIED
Deepesh W InouyeCanadaXuxue Feng QUALIFIED
David Q TollnerGermanyOnyama Limba PROPOSAL
Aika A NickaSpainStephen Shaw NEW
Isabel X DoeJapanElwin Sharvill NEGOTIATION
Tony D FerenczIndiaOnyama Limba NEGOTIATION
Frozen Columns
Name
Maria E Vocelka
Jones G Inouye
Ricardo M Caldarera
Arvin X Royster
Darci R Malet
Ashley F Albares
Francesco T Gillian
Octavia I Briddick
Antonio P Whobrey
Salvatore I Venere
Adams L Ruta
Octavia R Slusarski
Nicolas F Chui
Antonio I Stockham
Arvin D Paprocki
Octavia V Nicka
Sinclair A Sergi
Tony A Iturbide
Maisha U Malet
Faith T Amigon
Wickens A Slusarski
Silvio S Maclead
Tony H Butt
Mayumi P Nicka
Alejandro D Whobrey
Salvatore X Dilliard
Cody B Marrier
Ivar I Albares
Octavia U Perin
Maria R Gaucho
Darci K Gillian
Aika C Rulapaugh
Leon N Waycott
Silvio K Doe
David O Albares
Arvin D Campain
Tony O Vocelka
Maisha X Butt
Kadeem P Flosi
James C Kolmetz
Julie J Saylors
Chavez T Shinko
Jeanfrancois E Nicka
Costa C Ferencz
Aruna J Ruta
Leon N Poquette
Isabel R Slusarski
Salvatore H Kusko
Chavez V Foller
Kaitlin E Waycott
IdCountryDate
1000Germany2026-09-22
1001Germany2026-09-20
1002India2026-09-29
1003Italy2026-09-24
1004Canada2026-09-17
1005Australia2026-09-21
1006Germany2026-09-13
1007India2026-09-29
1008Russia2026-09-12
1009Brazil2026-09-19
1010France2026-09-14
1011Italy2026-09-21
1012Australia2026-09-08
1013France2026-09-29
1014Japan2026-09-07
1015Australia2026-09-11
1016Spain2026-09-27
1017Australia2026-09-07
1018Italy2026-09-27
1019Japan2026-09-12
1020Brazil2026-09-06
1021Japan2026-09-22
1022France2026-09-19
1023Japan2026-09-30
1024United Kingdom2026-09-06
1025Japan2026-09-09
1026Brazil2026-09-21
1027Spain2026-10-03
1028United Kingdom2026-09-11
1029Spain2026-09-05
1030Japan2026-09-08
1031United Kingdom2026-09-22
1032Germany2026-10-03
1033United Kingdom2026-09-16
1034Italy2026-09-27
1035India2026-09-13
1036India2026-09-13
1037Argentina2026-09-05
1038Argentina2026-09-15
1039Canada2026-09-10
1040France2026-09-11
1041Spain2026-09-15
1042United Kingdom2026-09-15
1043Brazil2026-09-29
1044Spain2026-09-27
1045Australia2026-09-07
1046Canada2026-09-06
1047Argentina2026-09-20
1048Argentina2026-09-25
1049Canada2026-09-05

On-Demand Data

NameIdCountryDate
Emily M Sergi1000Australia2026-10-04
Stacey I Butt1001Japan2026-09-26
Jennifer Z Ostrosky1002India2026-09-20
Ivar G Schemmer1003Japan2026-09-14
Murillo D Malet1004Russia2026-09-21
Morrow E Bowley1005Canada2026-09-17
Morrow Q Perin1006United Kingdom2026-09-26
Isabel R Shinko1007Spain2026-09-26
Morrow D Gillian1008France2026-09-15
Salvatore W Stockham1009Japan2026-09-07
Smith E Glick1010United Kingdom2026-09-24
Aruna E Oldroyd1011Canada2026-09-30
Misaki Z Foller1012Spain2026-10-02
David Y Briddick1013India2026-09-29
Jeanfrancois G Kusko1014Spain2026-09-26
Aditya B Paprocki1015Canada2026-09-24
Adams A Slusarski1016India2026-09-30
Ashley A Amigon1017Russia2026-09-22
Antonio G Bolognia1018Germany2026-09-29
Johnson Y Nestle1019Argentina2026-09-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David X PerinRussiaOnyama Limba NEGOTIATION
Arvin S FigeroaIndiaXuxue Feng NEGOTIATION
Kadeem T NestleAustraliaAsiya Javayant QUALIFIED
Mayumi E NestleGermanyAnna Fali NEGOTIATION
Aruna V AlbaresBrazilIvan Magalhaes NEW
Alejandro V MaletAustraliaAmy Elsner UNQUALIFIED
Maria H WieserFranceBernardo Dominic QUALIFIED
Greenwood W MacleadRussiaAnna Fali PROPOSAL
Antonio I FlosiGermanyAsiya Javayant NEW
Jones Y AmigonJapanIvan Magalhaes QUALIFIED
Greenwood G RutaGermanyAmy Elsner QUALIFIED
Octavia R GlickBrazilAsiya Javayant NEW
Misaki H BologniaAustraliaOnyama Limba UNQUALIFIED
Kadeem Z VenereCanadaOnyama Limba UNQUALIFIED
Aika X MorascaFranceBernardo Dominic NEW
Aruna K NickaArgentinaXuxue Feng UNQUALIFIED
Juan B PaprockiFranceIoni Bowcher UNQUALIFIED
Greenwood I StockhamGermanyAnna Fali NEW
Morrow Z WhobreyBrazilStephen Shaw PROPOSAL
Maisha V RutaGermanyElwin Sharvill RENEWAL
Izzy N SaylorsJapanStephen Shaw PROPOSAL
Munro J ChuiJapanIvan Magalhaes RENEWAL
Chavez A CampainIndiaStephen Shaw PROPOSAL
David I FigeroaArgentinaIvan Magalhaes QUALIFIED
Leon Y TollnerSpainStephen Shaw RENEWAL
Johnson T SergiAustraliaElwin Sharvill RENEWAL
Sinclair K WhobreyRussiaXuxue Feng NEW
Sinclair O VocelkaRussiaBernardo Dominic NEGOTIATION
Murillo C PoquetteItalyAmy Elsner NEGOTIATION
Munro R OstroskyFranceElwin Sharvill NEW
Emily B InouyeGermanyAmy Elsner PROPOSAL
Tony K WieserArgentinaElwin Sharvill NEW
Mujtaba Q PerinCanadaAmy Elsner UNQUALIFIED
Salvatore A PaprockiFranceIvan Magalhaes UNQUALIFIED
David P FlosiJapanElwin Sharvill NEGOTIATION
Kadeem E MaletIndiaAmy Elsner NEGOTIATION
Deepesh J OstroskyAustraliaXuxue Feng RENEWAL
Alejandro H OldroydGermanyXuxue Feng PROPOSAL
David D NestleAustraliaIvan Magalhaes PROPOSAL
Isabel W CampainJapanAsiya Javayant 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>