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
Tony S KolmetzJapanOnyama Limba NEGOTIATION
Clifford R MaletFranceIoni Bowcher PROPOSAL
Sinclair K IturbideUnited KingdomAmy Elsner NEGOTIATION
Mayumi P MorascaFranceOnyama Limba NEGOTIATION
Octavia M FerenczRussiaAsiya Javayant NEGOTIATION
Ricardo M MacleadSpainAsiya Javayant PROPOSAL
Costa O InouyeCanadaBernardo Dominic PROPOSAL
Silvio X WieserCanadaAmy Elsner PROPOSAL
Murillo I StockhamRussiaIoni Bowcher UNQUALIFIED
Jefferson I GillianUnited KingdomXuxue Feng PROPOSAL
Leon K VenereGermanyElwin Sharvill RENEWAL
Salvatore L PerinRussiaIoni Bowcher PROPOSAL
Juan H DoeIndiaIvan Magalhaes QUALIFIED
Arvin I BowleyIndiaIoni Bowcher UNQUALIFIED
Claire Q MorascaAustraliaAmy Elsner UNQUALIFIED
Maisha B BowleyUnited KingdomElwin Sharvill RENEWAL
Jones X NickaUnited KingdomAsiya Javayant NEW
Chavez H FollerFranceStephen Shaw PROPOSAL
Jefferson X BowleyBrazilElwin Sharvill PROPOSAL
Leon V TollnerGermanyStephen Shaw NEW
Alejandro L GlickCanadaAmy Elsner PROPOSAL
Darci X KolmetzSpainAsiya Javayant NEGOTIATION
David M SlusarskiBrazilBernardo Dominic PROPOSAL
Arvin E SlusarskiItalyIvan Magalhaes RENEWAL
Murillo O SlusarskiItalyAmy Elsner UNQUALIFIED
Jennifer A SlusarskiSpainBernardo Dominic NEW
Ricardo R VocelkaAustraliaOnyama Limba NEGOTIATION
Misaki Z AlbaresIndiaElwin Sharvill PROPOSAL
Antonio X NickaAustraliaXuxue Feng NEW
Ivar O GauchoIndiaAmy Elsner NEW
Munro S GlickRussiaStephen Shaw NEGOTIATION
Jennifer Z MorascaAustraliaAmy Elsner NEW
Clifford Z InouyeCanadaIvan Magalhaes PROPOSAL
Ashley N KolmetzIndiaStephen Shaw NEW
Leja F MorascaArgentinaOnyama Limba NEGOTIATION
Octavia Z OstroskyUnited KingdomBernardo Dominic PROPOSAL
Darci M InouyeUnited KingdomIoni Bowcher UNQUALIFIED
Costa E MorascaAustraliaAnna Fali QUALIFIED
Smith R CampainUnited KingdomAsiya Javayant NEGOTIATION
James L PaprockiFranceOnyama Limba RENEWAL
Kadeem T BologniaCanadaIoni Bowcher NEGOTIATION
Arvin X GauchoFranceAmy Elsner QUALIFIED
Aika M NickaUnited KingdomAnna Fali NEGOTIATION
Aditya H MaletSpainXuxue Feng UNQUALIFIED
Nicolas E FlosiGermanyAmy Elsner RENEWAL
Kadeem M IturbideRussiaAsiya Javayant UNQUALIFIED
Jennifer U VenereBrazilAsiya Javayant RENEWAL
Ivar L RoysterFranceXuxue Feng QUALIFIED
Costa Z RutaIndiaOnyama Limba NEW
Emily D StockhamCanadaIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Chavez A PoquetteSpainStephen Shaw NEGOTIATION
Juan P CaudySpainIvan Magalhaes NEW
Isabel O PerinCanadaAnna Fali QUALIFIED
Salvatore R NestleFranceAnna Fali NEW
Ricardo U RutaGermanyBernardo Dominic QUALIFIED
Clifford M RoysterIndiaAmy Elsner UNQUALIFIED
Nicolas A NickaArgentinaStephen Shaw PROPOSAL
Greenwood T MaletRussiaStephen Shaw QUALIFIED
Emily E FerenczFranceIvan Magalhaes QUALIFIED
Juan Z RutaItalyIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody P CaldareraIndia2026-09-24Printing Dimensions NEW24Amy Elsner
1001Octavia A OldroydAustralia2026-10-18Morlong Associates NEW54Asiya Javayant
1002Arvin S NestleCanada2026-10-06Dorl, James J Esq PROPOSAL41Anna Fali
1003Tony A RutaItaly2026-10-16Chemel, James L Cpa RENEWAL15Bernardo Dominic
1004Salvatore W FigeroaGermany2026-09-26Buckley Miller Wright QUALIFIED66Asiya Javayant
1005Murillo N GarufiGermany2026-10-05Printing Dimensions PROPOSAL94Ioni Bowcher
1006Ricardo W MarrierGermany2026-10-06Truhlar And Truhlar Attys PROPOSAL94Amy Elsner
1007Salvatore R FerenczBrazil2026-10-08Buckley Miller Wright PROPOSAL18Anna Fali
1008Cody F NestleItaly2026-10-18Feltz Printing Service NEW57Ivan Magalhaes
1009Chavez V BologniaAustralia2026-09-29Commercial Press NEW55Xuxue Feng
1010Darci N GarufiSpain2026-10-20King, Christopher A Esq NEW11Xuxue Feng
1011James T SaylorsAustralia2026-09-21Benton, John B Jr QUALIFIED61Ivan Magalhaes
1012Clifford I PaprockiJapan2026-10-04Feltz Printing Service NEW23Bernardo Dominic
1013Misaki W FerenczArgentina2026-10-10Feltz Printing Service PROPOSAL19Stephen Shaw
1014Salvatore I MaletFrance2026-10-13Benton, John B Jr QUALIFIED96Ivan Magalhaes
1015Nicolas T VenereRussia2026-09-21Chapman, Ross E Esq RENEWAL20Ioni Bowcher
1016Kadeem Z PerinUnited Kingdom2026-10-04Commercial Press RENEWAL97Elwin Sharvill
1017Faith Z InouyeGermany2026-10-19King, Christopher A Esq PROPOSAL26Asiya Javayant
1018Leja W SaylorsArgentina2026-09-27Rousseaux, Michael Esq UNQUALIFIED22Ioni Bowcher
1019Mujtaba T InouyeCanada2026-10-19Dorl, James J Esq NEW17Stephen Shaw
1020Leja P BriddickJapan2026-09-24Rousseaux, Michael Esq RENEWAL36Onyama Limba
1021Smith H WieserItaly2026-10-15Printing Dimensions NEGOTIATION20Anna Fali
1022Adams O FollerAustralia2026-10-17Chanay, Jeffrey A Esq RENEWAL87Bernardo Dominic
1023Chavez T TollnerFrance2026-10-17Feiner Bros UNQUALIFIED99Onyama Limba
1024Aruna L PoquetteJapan2026-10-08Truhlar And Truhlar Attys PROPOSAL68Asiya Javayant
1025Johnson U NickaBrazil2026-10-16Morlong Associates NEW63Asiya Javayant
1026Cody P SchemmerBrazil2026-10-18Dorl, James J Esq PROPOSAL13Xuxue Feng
1027Faith F DoeUnited Kingdom2026-10-13King, Christopher A Esq RENEWAL80Stephen Shaw
1028James F MacleadAustralia2026-10-01Morlong Associates PROPOSAL40Asiya Javayant
1029Jefferson M FlosiRussia2026-10-12Printing Dimensions NEGOTIATION35Amy Elsner
1030Alejandro H DoeAustralia2026-09-27Chemel, James L Cpa NEW31Amy Elsner
1031James I FlosiItaly2026-10-06Rousseaux, Michael Esq NEW63Ivan Magalhaes
1032Sinclair Q CaldareraAustralia2026-09-30Morlong Associates PROPOSAL98Xuxue Feng
1033James W SlusarskiArgentina2026-10-09Feiner Bros PROPOSAL92Anna Fali
1034Darci G GauchoItaly2026-10-02King, Christopher A Esq PROPOSAL6Amy Elsner
1035Nicolas D PoquetteArgentina2026-10-11Buckley Miller Wright NEW64Anna Fali
1036Munro Z RulapaughUnited Kingdom2026-09-22Truhlar And Truhlar Attys RENEWAL4Onyama Limba
1037Maisha F MaletJapan2026-10-06Chanay, Jeffrey A Esq QUALIFIED71Asiya Javayant
1038Antonio E PerinIndia2026-10-03Commercial Press NEW34Xuxue Feng
1039Kaitlin X MorascaSpain2026-10-07Feiner Bros UNQUALIFIED80Amy Elsner
1040Chavez C StensethGermany2026-10-11Chapman, Ross E Esq NEGOTIATION53Ioni Bowcher
1041Johnson X DoeCanada2026-10-11Chanay, Jeffrey A Esq NEW78Elwin Sharvill
1042Tony L CaldareraSpain2026-10-09Feltz Printing Service NEW41Stephen Shaw
1043Clifford Z WieserBrazil2026-10-19Rousseaux, Michael Esq UNQUALIFIED76Ivan Magalhaes
1044Nicolas H FigeroaRussia2026-10-04Printing Dimensions NEGOTIATION31Stephen Shaw
1045Munro I MarrierSpain2026-10-05Morlong Associates QUALIFIED20Anna Fali
1046Arvin J NickaIndia2026-10-18Rousseaux, Michael Esq RENEWAL92Ioni Bowcher
1047Juan X RoysterAustralia2026-09-25Chanay, Jeffrey A Esq NEW8Ioni Bowcher
1048Morrow A MaletBrazil2026-10-06Feltz Printing Service NEGOTIATION67Ioni Bowcher
1049Darci B KuskoBrazil2026-10-17Rangoni Of Florence QUALIFIED51Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
James Q FigeroaArgentinaAsiya Javayant NEGOTIATION
Kadeem U AmigonRussiaOnyama Limba NEGOTIATION
Kaitlin W FigeroaCanadaXuxue Feng UNQUALIFIED
Ricardo T InouyeIndiaIvan Magalhaes RENEWAL
Jeanfrancois D AmigonCanadaStephen Shaw UNQUALIFIED
Johnson F DilliardSpainOnyama Limba QUALIFIED
Isabel R KolmetzArgentinaXuxue Feng NEW
Darci A PerinIndiaXuxue Feng QUALIFIED
Alejandro N WhobreyGermanyAmy Elsner QUALIFIED
Munro B FollerUnited KingdomElwin Sharvill PROPOSAL
Stacey O ShinkoItalyXuxue Feng PROPOSAL
Murillo T IturbideUnited KingdomOnyama Limba QUALIFIED
Aruna B StockhamUnited KingdomOnyama Limba NEGOTIATION
Costa Q MarrierJapanElwin Sharvill QUALIFIED
Stacey H RulapaughItalyBernardo Dominic NEGOTIATION
Octavia B MaletFranceBernardo Dominic QUALIFIED
Greenwood Q BriddickIndiaXuxue Feng UNQUALIFIED
Ricardo K VenereBrazilElwin Sharvill NEGOTIATION
Claire C FigeroaItalyBernardo Dominic UNQUALIFIED
Adams Y TollnerIndiaIvan Magalhaes NEW
Cody T GauchoFranceXuxue Feng RENEWAL
Arvin J DoeFranceIvan Magalhaes UNQUALIFIED
Adams F GarufiCanadaBernardo Dominic NEW
Juan J MarrierRussiaIvan Magalhaes NEGOTIATION
Juan C CaudyArgentinaIvan Magalhaes UNQUALIFIED
Rodrigues H SchemmerUnited KingdomXuxue Feng NEGOTIATION
Alejandro V ChuiUnited KingdomXuxue Feng NEGOTIATION
David I MarrierItalyAsiya Javayant NEW
Adams B GlickIndiaAnna Fali NEW
Deepesh D PaprockiJapanOnyama Limba NEGOTIATION
Arvin I FerenczJapanAnna Fali NEW
Leja M FlosiCanadaAnna Fali UNQUALIFIED
Jennifer E RimGermanyAnna Fali PROPOSAL
Greenwood V WhobreyBrazilAmy Elsner NEW
Jefferson V FollerAustraliaAnna Fali QUALIFIED
Kadeem S NestleItalyXuxue Feng RENEWAL
Rodrigues Q MarrierJapanElwin Sharvill PROPOSAL
Alejandro O CaudyRussiaAmy Elsner UNQUALIFIED
Julie D PerinIndiaAmy Elsner RENEWAL
Misaki M RimIndiaOnyama Limba NEGOTIATION
Leon C ButtFranceOnyama Limba UNQUALIFIED
Sinclair R WaycottJapanAnna Fali NEGOTIATION
Maria L KuskoJapanBernardo Dominic NEGOTIATION
Ashley W OstroskyArgentinaOnyama Limba RENEWAL
James C VocelkaArgentinaAnna Fali QUALIFIED
Salvatore C CampainFranceIoni Bowcher UNQUALIFIED
Johnson I CaudyGermanyOnyama Limba NEGOTIATION
Mujtaba Z BowleyBrazilOnyama Limba NEGOTIATION
Izzy L NestleFranceIoni Bowcher NEW
Nicolas D DarakjyIndiaOnyama Limba PROPOSAL
Frozen Columns
Name
Juan N Flosi
Greenwood Q Bolognia
Deepesh D Caldarera
Wickens J Darakjy
Silvio T Slusarski
Greenwood M Albares
Morrow W Foller
Juan O Inouye
Ivar P Maclead
Maisha W Venere
Smith R Whobrey
Faith T Glick
Faith O Shinko
Arvin T Darakjy
Cody K Gillian
Deepesh Y Venere
Alejandro D Maclead
Mayumi X Chui
David B Maclead
Chavez D Stenseth
David I Bowley
Francesco Z Paprocki
Greenwood L Caudy
Antonio Q Figeroa
Isabel K Maclead
Isabel U Glick
Alejandro E Rulapaugh
Octavia M Vocelka
Morrow R Doe
Izzy I Nicka
Jennifer Y Stockham
Jones H Paprocki
Deepesh G Ferencz
Adams U Vocelka
Izzy T Sergi
Faith G Amigon
Smith P Venere
Morrow V Saylors
Tony I Slusarski
Aika T Gaucho
Munro N Ostrosky
Morrow S Paprocki
Aika Z Albares
Emily U Sergi
Leja T Bolognia
Aruna R Darakjy
Jeanfrancois Z Malet
Aruna C Kolmetz
Cody I Shinko
Maisha V Bowley
IdCountryDate
1000Argentina2026-09-26
1001Canada2026-10-17
1002Germany2026-10-14
1003Russia2026-10-03
1004Canada2026-09-21
1005Italy2026-09-22
1006United Kingdom2026-10-11
1007United Kingdom2026-09-22
1008Australia2026-10-07
1009Spain2026-09-22
1010Japan2026-09-23
1011Australia2026-10-01
1012Russia2026-10-15
1013Australia2026-10-10
1014Italy2026-10-09
1015India2026-10-10
1016Japan2026-09-25
1017Canada2026-10-06
1018Canada2026-09-26
1019Brazil2026-10-20
1020Australia2026-10-12
1021Japan2026-10-02
1022Russia2026-10-18
1023Argentina2026-10-14
1024Russia2026-09-22
1025Brazil2026-10-02
1026Australia2026-10-16
1027Italy2026-09-22
1028Germany2026-10-15
1029France2026-09-25
1030Canada2026-09-21
1031Spain2026-09-30
1032Brazil2026-10-01
1033Italy2026-09-24
1034Spain2026-10-01
1035United Kingdom2026-09-21
1036Russia2026-10-15
1037Brazil2026-10-20
1038Germany2026-09-22
1039India2026-10-16
1040Italy2026-10-01
1041France2026-10-08
1042Canada2026-10-03
1043India2026-10-18
1044Russia2026-09-21
1045Italy2026-09-21
1046Canada2026-10-20
1047Russia2026-10-03
1048Canada2026-09-28
1049Brazil2026-09-26

On-Demand Data

NameIdCountryDate
Aditya M Shinko1000Italy2026-09-30
Jennifer T Kolmetz1001France2026-10-15
Sinclair W Gaucho1002Germany2026-10-04
Munro Q Rulapaugh1003Canada2026-10-04
Arvin Q Caldarera1004Spain2026-10-17
Emily D Venere1005United Kingdom2026-10-10
Antonio Z Ostrosky1006Germany2026-09-22
Misaki K Poquette1007Australia2026-09-21
Greenwood Z Malet1008Italy2026-10-20
Emily Z Stenseth1009Brazil2026-10-08
Maisha O Glick1010Spain2026-09-28
Clifford Z Caudy1011Russia2026-09-30
Izzy Q Bowley1012Spain2026-10-17
Ivar R Maclead1013Germany2026-10-06
Juan I Amigon1014Italy2026-09-29
Jones H Bolognia1015Canada2026-10-15
James F Caldarera1016Japan2026-09-24
Leja R Oldroyd1017Italy2026-10-14
Juan G Glick1018Russia2026-09-23
Deepesh L Amigon1019Germany2026-09-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin D MarrierJapanOnyama Limba UNQUALIFIED
Darci C NestleCanadaStephen Shaw NEGOTIATION
Aika O DilliardJapanOnyama Limba QUALIFIED
Clifford O MarrierFranceIoni Bowcher QUALIFIED
Costa X FlosiRussiaBernardo Dominic QUALIFIED
Jefferson X FollerGermanyBernardo Dominic QUALIFIED
Jefferson F CaldareraGermanyBernardo Dominic UNQUALIFIED
Ivar Z CaudyFranceXuxue Feng RENEWAL
Francesco Q DoeItalyElwin Sharvill PROPOSAL
Salvatore G WieserCanadaXuxue Feng PROPOSAL
Costa C PerinUnited KingdomXuxue Feng QUALIFIED
Alejandro N FigeroaFranceAsiya Javayant QUALIFIED
Leon Q SchemmerAustraliaXuxue Feng NEW
Jennifer W FigeroaCanadaAnna Fali NEGOTIATION
Nicolas H WaycottFranceIoni Bowcher PROPOSAL
Jefferson L CaudyArgentinaAmy Elsner RENEWAL
Alejandro P NestleItalyAsiya Javayant NEW
Arvin R BologniaAustraliaOnyama Limba UNQUALIFIED
Maisha L VocelkaJapanIoni Bowcher NEW
Wickens F TollnerGermanyElwin Sharvill RENEWAL
Stacey Q WaycottBrazilXuxue Feng PROPOSAL
Wickens V PoquetteFranceBernardo Dominic PROPOSAL
Rodrigues Y MaletCanadaIoni Bowcher NEGOTIATION
Jefferson R BowleyBrazilAnna Fali UNQUALIFIED
Maria P ChuiFranceElwin Sharvill UNQUALIFIED
Arvin L InouyeArgentinaXuxue Feng NEGOTIATION
Darci V SchemmerFranceXuxue Feng UNQUALIFIED
Munro Z NestleBrazilIoni Bowcher QUALIFIED
Ashley H IturbideJapanXuxue Feng NEW
Ivar E WaycottArgentinaStephen Shaw QUALIFIED
Izzy T InouyeCanadaAsiya Javayant UNQUALIFIED
Nicolas U BowleyRussiaBernardo Dominic NEGOTIATION
Chavez C AlbaresAustraliaAnna Fali NEGOTIATION
Aruna Z VocelkaFranceAmy Elsner NEGOTIATION
Octavia H BologniaGermanyIvan Magalhaes UNQUALIFIED
Ivar T ButtFranceIvan Magalhaes RENEWAL
Munro V IturbideIndiaBernardo Dominic QUALIFIED
Maisha L KuskoArgentinaStephen Shaw QUALIFIED
Alejandro N NickaArgentinaXuxue Feng NEGOTIATION
Salvatore X NickaIndiaStephen Shaw 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>