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
Nicolas T ShinkoItalyBernardo Dominic NEGOTIATION
Julie S StockhamAustraliaBernardo Dominic NEW
Ivar Q RoysterItalyBernardo Dominic NEGOTIATION
Mayumi N TollnerSpainStephen Shaw PROPOSAL
Ivar M StensethUnited KingdomStephen Shaw NEGOTIATION
Octavia N WaycottJapanAmy Elsner NEW
Cody W BriddickAustraliaElwin Sharvill NEGOTIATION
Smith P NestleGermanyAmy Elsner QUALIFIED
Alejandro H RutaJapanAmy Elsner NEW
Smith N ShinkoItalyBernardo Dominic NEGOTIATION
Smith Q PerinFranceElwin Sharvill QUALIFIED
Munro O FigeroaUnited KingdomIvan Magalhaes NEW
Adams H OldroydFranceBernardo Dominic NEW
Darci N StensethItalyAsiya Javayant RENEWAL
Clifford B SaylorsAustraliaOnyama Limba UNQUALIFIED
Octavia L RulapaughFranceIoni Bowcher PROPOSAL
Aditya F RimSpainAsiya Javayant NEGOTIATION
Leon G FlosiUnited KingdomOnyama Limba UNQUALIFIED
Kadeem I ButtGermanyStephen Shaw UNQUALIFIED
Isabel P IturbideJapanOnyama Limba UNQUALIFIED
Isabel E VenereCanadaIvan Magalhaes NEW
Cody O FigeroaGermanyStephen Shaw UNQUALIFIED
Mayumi R KuskoUnited KingdomBernardo Dominic UNQUALIFIED
Francesco D StockhamBrazilBernardo Dominic UNQUALIFIED
Maria Q NestleRussiaAsiya Javayant NEGOTIATION
Arvin E AmigonBrazilAmy Elsner QUALIFIED
Leon P StensethCanadaAmy Elsner UNQUALIFIED
Alejandro W IturbideRussiaAnna Fali PROPOSAL
Francesco V GillianGermanyIoni Bowcher UNQUALIFIED
James J GillianIndiaAsiya Javayant UNQUALIFIED
Darci B SergiArgentinaBernardo Dominic RENEWAL
Aika U WaycottCanadaXuxue Feng PROPOSAL
Munro O GarufiBrazilElwin Sharvill NEW
Wickens G DilliardSpainAsiya Javayant QUALIFIED
Silvio E OldroydRussiaXuxue Feng QUALIFIED
Alejandro P WieserAustraliaAsiya Javayant NEW
Julie N RimJapanOnyama Limba RENEWAL
Faith R RutaSpainAmy Elsner PROPOSAL
Arvin F PoquetteAustraliaIoni Bowcher UNQUALIFIED
Octavia A IturbideIndiaAsiya Javayant NEGOTIATION
Costa J BriddickSpainIvan Magalhaes PROPOSAL
Emily S GarufiAustraliaAsiya Javayant RENEWAL
Mujtaba T MorascaBrazilXuxue Feng RENEWAL
Jones X FerenczCanadaAnna Fali NEGOTIATION
Murillo M StensethJapanAmy Elsner NEGOTIATION
Jefferson H AlbaresGermanyAnna Fali PROPOSAL
Emily I GauchoAustraliaBernardo Dominic QUALIFIED
Antonio G GlickRussiaIoni Bowcher RENEWAL
Faith F OldroydIndiaElwin Sharvill NEW
Deepesh B GauchoBrazilOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Silvio E MaletFranceAsiya Javayant PROPOSAL
Smith B DoeArgentinaAnna Fali QUALIFIED
Darci J RimIndiaIoni Bowcher NEW
Leon X GillianSpainAsiya Javayant PROPOSAL
Alejandro P SergiGermanyIoni Bowcher NEGOTIATION
Leon P ChuiUnited KingdomAsiya Javayant QUALIFIED
Aditya Y VenereFranceIoni Bowcher NEGOTIATION
Ricardo M GillianIndiaOnyama Limba RENEWAL
Leon P WaycottItalyAmy Elsner NEW
Antonio J SaylorsAustraliaOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood Z CampainRussia2026-09-14Buckley Miller Wright NEGOTIATION57Amy Elsner
1001Arvin H MaletBrazil2026-09-15Printing Dimensions NEW6Anna Fali
1002Jefferson H SergiAustralia2026-09-23Rousseaux, Michael Esq NEGOTIATION60Elwin Sharvill
1003Murillo S GauchoUnited Kingdom2026-09-15Buckley Miller Wright RENEWAL86Elwin Sharvill
1004Morrow N CampainUnited Kingdom2026-09-17Rangoni Of Florence PROPOSAL68Elwin Sharvill
1005Adams X VenereUnited Kingdom2026-09-22King, Christopher A Esq RENEWAL41Amy Elsner
1006Silvio K VenereJapan2026-09-08Chemel, James L Cpa NEW83Stephen Shaw
1007Clifford U SaylorsAustralia2026-09-13Chemel, James L Cpa PROPOSAL20Asiya Javayant
1008Greenwood Y MorascaItaly2026-09-16Printing Dimensions NEW26Amy Elsner
1009Salvatore F SchemmerIndia2026-09-28Commercial Press PROPOSAL5Elwin Sharvill
1010Greenwood G WieserAustralia2026-09-02Chapman, Ross E Esq RENEWAL59Elwin Sharvill
1011Francesco P WhobreyIndia2026-09-02Morlong Associates UNQUALIFIED89Anna Fali
1012Wickens D DilliardIndia2026-09-17Rousseaux, Michael Esq QUALIFIED4Xuxue Feng
1013Deepesh G TollnerIndia2026-09-16Buckley Miller Wright PROPOSAL48Anna Fali
1014Johnson E OstroskyUnited Kingdom2026-09-12Morlong Associates NEW17Ivan Magalhaes
1015Wickens A GauchoSpain2026-09-03Chapman, Ross E Esq NEGOTIATION40Ivan Magalhaes
1016Leon K MarrierSpain2026-09-13Feltz Printing Service NEW47Stephen Shaw
1017Johnson H VenereAustralia2026-08-31Benton, John B Jr QUALIFIED64Ioni Bowcher
1018Rodrigues T SergiArgentina2026-09-26Morlong Associates PROPOSAL30Ivan Magalhaes
1019Maria C GillianJapan2026-09-09Dorl, James J Esq NEGOTIATION26Ioni Bowcher
1020Stacey F InouyeBrazil2026-09-28Chapman, Ross E Esq NEGOTIATION44Xuxue Feng
1021Aruna B MorascaJapan2026-09-15King, Christopher A Esq PROPOSAL31Asiya Javayant
1022Adams Z WhobreyGermany2026-09-13Chapman, Ross E Esq PROPOSAL33Stephen Shaw
1023Emily W PerinSpain2026-09-05Chemel, James L Cpa NEW22Ioni Bowcher
1024Emily L MaletJapan2026-09-12Truhlar And Truhlar Attys NEW61Asiya Javayant
1025Kaitlin A KuskoBrazil2026-09-28Feltz Printing Service QUALIFIED12Xuxue Feng
1026Mujtaba R RulapaughItaly2026-09-23King, Christopher A Esq UNQUALIFIED70Amy Elsner
1027Rodrigues H WhobreyRussia2026-09-01Rangoni Of Florence UNQUALIFIED40Asiya Javayant
1028Ashley B FollerSpain2026-09-25Benton, John B Jr UNQUALIFIED29Elwin Sharvill
1029Ricardo H MaletBrazil2026-09-10Rangoni Of Florence NEGOTIATION32Asiya Javayant
1030Aika J MacleadBrazil2026-09-05Truhlar And Truhlar Attys UNQUALIFIED59Stephen Shaw
1031Aditya N GillianIndia2026-09-03King, Christopher A Esq RENEWAL63Asiya Javayant
1032Murillo E PoquetteGermany2026-09-28Commercial Press NEW90Stephen Shaw
1033Leon J CaldareraGermany2026-09-13Truhlar And Truhlar Attys NEGOTIATION98Asiya Javayant
1034Mayumi F CaudyUnited Kingdom2026-08-31Morlong Associates UNQUALIFIED74Amy Elsner
1035Leja G FlosiUnited Kingdom2026-09-04Feiner Bros NEW82Ioni Bowcher
1036Rodrigues Q OldroydRussia2026-09-14Rangoni Of Florence NEW92Amy Elsner
1037Kaitlin D NestleCanada2026-09-07Rousseaux, Michael Esq NEGOTIATION18Asiya Javayant
1038Adams W DilliardUnited Kingdom2026-09-03Commercial Press NEGOTIATION58Stephen Shaw
1039Salvatore W ShinkoUnited Kingdom2026-09-21Benton, John B Jr NEGOTIATION43Asiya Javayant
1040Mujtaba R RulapaughRussia2026-09-18King, Christopher A Esq QUALIFIED26Xuxue Feng
1041Isabel A DarakjyUnited Kingdom2026-09-10Morlong Associates NEGOTIATION78Amy Elsner
1042Salvatore J MacleadAustralia2026-09-16King, Christopher A Esq NEW43Anna Fali
1043Misaki Q MaletArgentina2026-09-04Truhlar And Truhlar Attys NEW22Xuxue Feng
1044Ricardo V FigeroaGermany2026-09-23Benton, John B Jr NEW83Amy Elsner
1045Mujtaba L MorascaCanada2026-09-13Chapman, Ross E Esq NEGOTIATION0Elwin Sharvill
1046Francesco L KolmetzJapan2026-08-31Chapman, Ross E Esq UNQUALIFIED52Anna Fali
1047Antonio A GillianAustralia2026-09-03Benton, John B Jr NEGOTIATION94Onyama Limba
1048Wickens D GillianSpain2026-08-30Chanay, Jeffrey A Esq PROPOSAL23Asiya Javayant
1049Julie M KuskoItaly2026-09-06Dorl, James J Esq UNQUALIFIED18Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Cody W GauchoRussiaXuxue Feng UNQUALIFIED
Murillo A RutaCanadaIvan Magalhaes NEW
David J PoquetteRussiaIvan Magalhaes UNQUALIFIED
James P ButtFranceBernardo Dominic RENEWAL
Stacey L VenereArgentinaStephen Shaw RENEWAL
Emily U OstroskyItalyStephen Shaw NEW
Ashley M GillianRussiaAmy Elsner NEW
Isabel O GauchoAustraliaIoni Bowcher NEGOTIATION
Octavia W ButtArgentinaStephen Shaw NEW
Adams G ShinkoFranceOnyama Limba QUALIFIED
Antonio C MorascaCanadaIoni Bowcher RENEWAL
Ashley L SaylorsFranceAnna Fali UNQUALIFIED
Leon Z RoysterAustraliaAmy Elsner QUALIFIED
Leon J StockhamBrazilStephen Shaw RENEWAL
Ricardo T KuskoAustraliaIvan Magalhaes NEW
Silvio R MacleadArgentinaAmy Elsner UNQUALIFIED
Francesco F KuskoJapanStephen Shaw NEW
Isabel B WieserJapanXuxue Feng UNQUALIFIED
Mayumi R SaylorsItalyStephen Shaw PROPOSAL
Greenwood M KolmetzGermanyStephen Shaw NEW
Juan P StensethRussiaElwin Sharvill NEW
Maisha M KuskoJapanAsiya Javayant UNQUALIFIED
Deepesh R CaudyItalyAsiya Javayant UNQUALIFIED
Morrow L SergiFranceAnna Fali NEW
Cody V CaldareraAustraliaOnyama Limba NEW
Silvio H GauchoAustraliaStephen Shaw UNQUALIFIED
Izzy C CaudyArgentinaBernardo Dominic PROPOSAL
Nicolas Y GillianGermanyBernardo Dominic QUALIFIED
Silvio U GauchoSpainAmy Elsner NEGOTIATION
Octavia X ShinkoSpainAmy Elsner QUALIFIED
Jeanfrancois H MorascaIndiaAmy Elsner UNQUALIFIED
Antonio Z DilliardArgentinaAnna Fali QUALIFIED
Ivar P DilliardIndiaAmy Elsner QUALIFIED
Antonio J GillianUnited KingdomIvan Magalhaes PROPOSAL
Morrow E BologniaRussiaBernardo Dominic PROPOSAL
Clifford H WaycottCanadaIoni Bowcher QUALIFIED
Adams N StockhamAustraliaStephen Shaw NEW
Murillo B PerinJapanStephen Shaw PROPOSAL
Juan E DoeRussiaBernardo Dominic NEGOTIATION
Antonio J BologniaItalyStephen Shaw PROPOSAL
Aditya H AlbaresJapanAnna Fali QUALIFIED
Munro C BologniaBrazilXuxue Feng RENEWAL
Claire W KolmetzFranceElwin Sharvill NEGOTIATION
Antonio P ChuiItalyXuxue Feng QUALIFIED
Isabel H StensethRussiaAmy Elsner RENEWAL
Sinclair D FollerArgentinaIvan Magalhaes NEGOTIATION
Clifford J DilliardGermanyElwin Sharvill UNQUALIFIED
Francesco L KuskoFranceOnyama Limba PROPOSAL
Clifford S ButtUnited KingdomXuxue Feng NEW
Cody H MaletJapanIoni Bowcher QUALIFIED
Frozen Columns
Name
Clifford C Ferencz
Aika P Ferencz
Ivar A Gaucho
David M Paprocki
Emily O Foller
Aika F Figeroa
Julie W Briddick
Arvin J Darakjy
Mujtaba E Stockham
Nicolas U Caudy
Salvatore U Nicka
Silvio G Oldroyd
David R Foller
Alejandro P Maclead
Greenwood P Amigon
Cody U Ferencz
Ivar U Rulapaugh
Aruna G Maclead
Kaitlin Z Shinko
Isabel A Ostrosky
Octavia V Darakjy
Deepesh P Malet
Aika R Stenseth
Misaki N Saylors
Arvin I Doe
Misaki Z Gaucho
Costa Y Bolognia
James M Gillian
Jeanfrancois X Chui
Claire Y Slusarski
Rodrigues U Marrier
Smith C Rulapaugh
Emily X Amigon
Stacey V Inouye
Munro V Gillian
Silvio M Poquette
James W Wieser
Munro V Shinko
Isabel T Ruta
Octavia V Rulapaugh
Munro C Dilliard
Kaitlin M Malet
Mujtaba V Butt
Claire C Stockham
Aika P Garufi
Sinclair V Wieser
Jones P Paprocki
Julie S Albares
Silvio K Marrier
Chavez H Waycott
IdCountryDate
1000Spain2026-08-30
1001Germany2026-08-30
1002Germany2026-09-22
1003Canada2026-09-26
1004Canada2026-09-19
1005Brazil2026-08-30
1006Germany2026-09-10
1007Russia2026-09-08
1008Italy2026-09-04
1009Italy2026-09-12
1010Australia2026-09-01
1011Spain2026-09-23
1012Australia2026-08-31
1013United Kingdom2026-08-31
1014France2026-09-13
1015Russia2026-09-06
1016Argentina2026-09-03
1017France2026-09-04
1018India2026-09-06
1019Argentina2026-08-31
1020India2026-08-30
1021Australia2026-09-25
1022Germany2026-09-03
1023India2026-09-06
1024Italy2026-09-17
1025Germany2026-09-03
1026Argentina2026-09-16
1027Italy2026-09-16
1028United Kingdom2026-09-16
1029Australia2026-09-20
1030France2026-09-01
1031Japan2026-09-02
1032Australia2026-09-20
1033Australia2026-09-03
1034India2026-09-11
1035Australia2026-09-20
1036Germany2026-09-15
1037United Kingdom2026-09-14
1038Japan2026-09-03
1039Japan2026-09-02
1040Germany2026-09-05
1041Japan2026-09-09
1042France2026-09-03
1043India2026-09-09
1044Argentina2026-09-04
1045Russia2026-09-13
1046Russia2026-09-18
1047Spain2026-09-09
1048France2026-08-31
1049Canada2026-09-12

On-Demand Data

NameIdCountryDate
Greenwood M Waycott1000Argentina2026-09-25
Murillo E Nestle1001Germany2026-09-24
Clifford M Royster1002India2026-09-01
Leon H Bowley1003Italy2026-09-21
Wickens V Kusko1004Italy2026-09-28
Emily G Tollner1005Italy2026-09-12
Adams B Nicka1006France2026-09-12
Misaki A Morasca1007Canada2026-09-16
Mujtaba L Morasca1008Brazil2026-09-08
Cody Y Slusarski1009India2026-09-05
Chavez C Rim1010Spain2026-09-15
David T Slusarski1011Australia2026-09-18
Jeanfrancois P Saylors1012Australia2026-09-23
Isabel Z Shinko1013Spain2026-09-22
Aruna I Kolmetz1014Brazil2026-09-28
Antonio V Perin1015France2026-08-30
Stacey Q Waycott1016Brazil2026-09-25
Clifford D Schemmer1017Argentina2026-09-16
Jennifer M Schemmer1018Canada2026-09-09
Johnson F Nestle1019India2026-09-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey E CaldareraBrazilStephen Shaw QUALIFIED
Francesco G CaudyFranceStephen Shaw NEW
Sinclair M RulapaughItalyStephen Shaw NEGOTIATION
Smith G PoquetteSpainIoni Bowcher NEGOTIATION
Clifford N BowleyUnited KingdomBernardo Dominic PROPOSAL
Aditya Q NickaSpainBernardo Dominic NEGOTIATION
Isabel I WieserAustraliaAsiya Javayant UNQUALIFIED
Darci M MorascaUnited KingdomStephen Shaw RENEWAL
Darci M NickaIndiaOnyama Limba NEGOTIATION
David K NickaJapanXuxue Feng NEW
Mujtaba G RimUnited KingdomElwin Sharvill RENEWAL
Aika V WhobreyUnited KingdomIvan Magalhaes NEW
Maria L DoeSpainBernardo Dominic NEGOTIATION
James N ButtItalyElwin Sharvill PROPOSAL
Jones F FigeroaUnited KingdomElwin Sharvill NEW
Smith L PoquetteRussiaAmy Elsner NEW
Tony N CaudyRussiaXuxue Feng UNQUALIFIED
Johnson E DilliardItalyAnna Fali QUALIFIED
Emily O ChuiUnited KingdomAsiya Javayant QUALIFIED
Arvin O StockhamRussiaAnna Fali UNQUALIFIED
Ricardo T SlusarskiSpainElwin Sharvill NEGOTIATION
Salvatore F MarrierIndiaIoni Bowcher NEW
Arvin A ButtBrazilElwin Sharvill QUALIFIED
Leon K ShinkoJapanAsiya Javayant UNQUALIFIED
Aditya O RutaFranceXuxue Feng PROPOSAL
Octavia G CaldareraJapanElwin Sharvill RENEWAL
Wickens K GlickBrazilAsiya Javayant QUALIFIED
Faith R WaycottFranceIoni Bowcher UNQUALIFIED
Juan Z DarakjyJapanBernardo Dominic QUALIFIED
Munro T RutaBrazilStephen Shaw RENEWAL
Smith U AmigonCanadaAsiya Javayant RENEWAL
Kadeem V WieserIndiaElwin Sharvill UNQUALIFIED
Leja N BriddickAustraliaStephen Shaw UNQUALIFIED
Alejandro V WieserGermanyOnyama Limba NEGOTIATION
Arvin Q GarufiSpainIvan Magalhaes UNQUALIFIED
Arvin F DoeArgentinaAmy Elsner NEGOTIATION
Kaitlin R SlusarskiUnited KingdomStephen Shaw RENEWAL
Alejandro G PerinFranceAmy Elsner NEW
Smith F RutaFranceOnyama Limba QUALIFIED
Arvin J MacleadItalyBernardo Dominic 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>