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
Chavez P TollnerJapanStephen Shaw PROPOSAL
Misaki J AmigonItalyBernardo Dominic UNQUALIFIED
Wickens W FerenczJapanElwin Sharvill PROPOSAL
Aruna A SlusarskiCanadaXuxue Feng QUALIFIED
Wickens M ButtUnited KingdomElwin Sharvill RENEWAL
Maisha G MorascaItalyBernardo Dominic NEGOTIATION
Jefferson N MacleadUnited KingdomAsiya Javayant UNQUALIFIED
Chavez C CaldareraUnited KingdomAsiya Javayant PROPOSAL
Misaki R OldroydSpainElwin Sharvill UNQUALIFIED
Adams E VocelkaGermanyXuxue Feng UNQUALIFIED
Greenwood G DarakjyBrazilStephen Shaw UNQUALIFIED
Greenwood E StensethSpainIoni Bowcher NEGOTIATION
Munro R StensethFranceAsiya Javayant PROPOSAL
Salvatore S RutaGermanyIvan Magalhaes NEW
David D MaletJapanIvan Magalhaes NEGOTIATION
Morrow Q BowleyRussiaStephen Shaw NEW
Chavez A MorascaBrazilStephen Shaw PROPOSAL
Isabel O StockhamItalyIoni Bowcher QUALIFIED
Jeanfrancois Y VocelkaFranceAnna Fali NEW
Murillo I NickaBrazilStephen Shaw QUALIFIED
Mujtaba E NestleArgentinaAsiya Javayant QUALIFIED
Claire T AlbaresItalyAsiya Javayant UNQUALIFIED
Aruna M CaudyIndiaElwin Sharvill UNQUALIFIED
Aditya R PoquetteGermanyBernardo Dominic UNQUALIFIED
Silvio N DilliardBrazilAmy Elsner UNQUALIFIED
Faith D RimAustraliaStephen Shaw PROPOSAL
Greenwood E ShinkoArgentinaElwin Sharvill NEGOTIATION
Greenwood V AlbaresSpainOnyama Limba QUALIFIED
Tony C OldroydUnited KingdomElwin Sharvill NEGOTIATION
Stacey K OstroskyItalyIoni Bowcher QUALIFIED
Munro V RimRussiaAsiya Javayant NEW
Francesco M SergiJapanIvan Magalhaes NEGOTIATION
Rodrigues L SlusarskiBrazilAsiya Javayant PROPOSAL
Aruna J OldroydArgentinaXuxue Feng PROPOSAL
Jennifer U GlickSpainAmy Elsner UNQUALIFIED
Antonio X OstroskyRussiaIoni Bowcher NEW
Alejandro A CaudyArgentinaXuxue Feng NEGOTIATION
Adams W BriddickUnited KingdomElwin Sharvill UNQUALIFIED
Ricardo L GlickArgentinaElwin Sharvill UNQUALIFIED
Isabel K PoquetteJapanIoni Bowcher UNQUALIFIED
Maria W WaycottRussiaAnna Fali PROPOSAL
Ivar O WaycottUnited KingdomElwin Sharvill UNQUALIFIED
Sinclair I MacleadBrazilOnyama Limba RENEWAL
Munro O NickaCanadaIoni Bowcher NEW
Leja N RoysterItalyStephen Shaw UNQUALIFIED
Johnson O OldroydSpainAnna Fali NEW
Costa B RutaItalyBernardo Dominic QUALIFIED
Munro E KuskoCanadaAmy Elsner NEW
Ashley B NestleCanadaOnyama Limba PROPOSAL
Emily V WieserArgentinaXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Maria D NickaRussiaStephen Shaw NEW
Juan P FollerAustraliaElwin Sharvill UNQUALIFIED
Murillo I AmigonBrazilElwin Sharvill QUALIFIED
Wickens J WhobreyGermanyOnyama Limba RENEWAL
Antonio T FlosiSpainIoni Bowcher RENEWAL
Sinclair N AmigonGermanyAsiya Javayant PROPOSAL
Misaki H StensethIndiaAnna Fali RENEWAL
Juan S AmigonArgentinaOnyama Limba NEGOTIATION
Ricardo D ChuiCanadaBernardo Dominic NEGOTIATION
Kaitlin V MarrierSpainStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki D ShinkoSpain2026-10-08Rousseaux, Michael Esq RENEWAL95Amy Elsner
1001Cody T BologniaRussia2026-10-22Printing Dimensions RENEWAL80Onyama Limba
1002Nicolas S DilliardGermany2026-10-14Rangoni Of Florence RENEWAL18Anna Fali
1003Sinclair G IturbideArgentina2026-10-20Chemel, James L Cpa NEW64Onyama Limba
1004Salvatore P FollerSpain2026-10-26Printing Dimensions UNQUALIFIED61Elwin Sharvill
1005James V WhobreyBrazil2026-10-02Chemel, James L Cpa NEGOTIATION96Xuxue Feng
1006Clifford A ButtRussia2026-10-04Chanay, Jeffrey A Esq RENEWAL92Anna Fali
1007Jefferson X NestleFrance2026-10-17Rangoni Of Florence UNQUALIFIED94Elwin Sharvill
1008Deepesh W MaletItaly2026-10-07Rousseaux, Michael Esq RENEWAL88Amy Elsner
1009Leja X RulapaughCanada2026-10-24Truhlar And Truhlar Attys QUALIFIED66Xuxue Feng
1010Silvio J PaprockiRussia2026-10-29Morlong Associates RENEWAL55Anna Fali
1011Deepesh P MaletAustralia2026-10-04Truhlar And Truhlar Attys PROPOSAL16Elwin Sharvill
1012Aditya S MarrierGermany2026-10-07Printing Dimensions QUALIFIED72Stephen Shaw
1013James G InouyeIndia2026-10-07Feltz Printing Service NEGOTIATION26Ioni Bowcher
1014Wickens A SchemmerSpain2026-10-17Dorl, James J Esq RENEWAL70Ivan Magalhaes
1015Adams X GlickItaly2026-10-02Morlong Associates NEW25Bernardo Dominic
1016Misaki Z GillianIndia2026-10-27Chemel, James L Cpa NEW18Ivan Magalhaes
1017Isabel S WhobreyItaly2026-10-17Benton, John B Jr UNQUALIFIED9Elwin Sharvill
1018Nicolas U CaldareraFrance2026-10-27Rangoni Of Florence PROPOSAL84Amy Elsner
1019Mujtaba L FerenczAustralia2026-10-23Dorl, James J Esq PROPOSAL2Onyama Limba
1020Sinclair K GauchoFrance2026-10-28Feltz Printing Service RENEWAL78Ivan Magalhaes
1021Arvin G OstroskyJapan2026-10-07Commercial Press QUALIFIED42Amy Elsner
1022Deepesh U DilliardCanada2026-10-08Chemel, James L Cpa RENEWAL72Ioni Bowcher
1023Claire Z FigeroaSpain2026-10-11Truhlar And Truhlar Attys UNQUALIFIED12Asiya Javayant
1024James I ShinkoJapan2026-10-07Commercial Press NEW65Anna Fali
1025Emily J GillianFrance2026-10-18Benton, John B Jr UNQUALIFIED65Bernardo Dominic
1026Alejandro T SchemmerRussia2026-10-01Chapman, Ross E Esq NEW2Anna Fali
1027Rodrigues U AmigonRussia2026-10-08King, Christopher A Esq NEW27Ivan Magalhaes
1028Kaitlin P BowleyJapan2026-10-14Printing Dimensions RENEWAL11Xuxue Feng
1029Johnson P DarakjyArgentina2026-10-01Feltz Printing Service NEGOTIATION62Xuxue Feng
1030Jeanfrancois F TollnerUnited Kingdom2026-10-11Dorl, James J Esq NEW41Elwin Sharvill
1031Mayumi I GillianArgentina2026-10-21Chemel, James L Cpa PROPOSAL18Asiya Javayant
1032Clifford V MarrierAustralia2026-10-26Truhlar And Truhlar Attys NEW83Ivan Magalhaes
1033Mayumi M DarakjyJapan2026-10-03Chemel, James L Cpa RENEWAL11Asiya Javayant
1034Murillo Z ChuiCanada2026-10-27Morlong Associates RENEWAL61Anna Fali
1035Jones W SergiCanada2026-10-12Morlong Associates PROPOSAL22Amy Elsner
1036Mayumi W WaycottArgentina2026-10-21Chemel, James L Cpa NEW73Asiya Javayant
1037Faith M ChuiArgentina2026-10-05Morlong Associates RENEWAL95Onyama Limba
1038Rodrigues E MacleadItaly2026-10-11Chapman, Ross E Esq PROPOSAL86Ioni Bowcher
1039Johnson A VocelkaItaly2026-10-13Benton, John B Jr PROPOSAL83Anna Fali
1040Ashley T FlosiItaly2026-10-03Commercial Press QUALIFIED34Elwin Sharvill
1041David K StockhamUnited Kingdom2026-10-22Chemel, James L Cpa NEW52Elwin Sharvill
1042Claire V SlusarskiCanada2026-10-17Chapman, Ross E Esq RENEWAL84Anna Fali
1043David Z InouyeAustralia2026-10-23Buckley Miller Wright NEW33Bernardo Dominic
1044Aditya Z ChuiRussia2026-10-18Buckley Miller Wright NEW9Bernardo Dominic
1045Misaki U SlusarskiJapan2026-10-19Rousseaux, Michael Esq QUALIFIED89Onyama Limba
1046Greenwood H VocelkaItaly2026-10-01Commercial Press UNQUALIFIED99Onyama Limba
1047Jones V AmigonIndia2026-10-25Commercial Press PROPOSAL20Amy Elsner
1048Kadeem J DarakjyCanada2026-10-01Feiner Bros UNQUALIFIED40Ivan Magalhaes
1049Claire Z ButtSpain2026-10-14Rangoni Of Florence NEGOTIATION57Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Tony T StockhamRussiaOnyama Limba NEW
Izzy I GarufiArgentinaBernardo Dominic NEW
Costa B BologniaJapanAnna Fali NEW
Darci I GlickCanadaBernardo Dominic RENEWAL
Julie Y BowleyFranceIvan Magalhaes QUALIFIED
Cody K FollerBrazilAmy Elsner RENEWAL
Aditya R VenereRussiaIoni Bowcher NEGOTIATION
Juan I GlickCanadaAsiya Javayant UNQUALIFIED
Stacey S SergiItalyOnyama Limba PROPOSAL
Aruna J FollerCanadaXuxue Feng PROPOSAL
Arvin R BologniaUnited KingdomAsiya Javayant NEGOTIATION
Aditya I FollerBrazilXuxue Feng RENEWAL
Chavez C DarakjyJapanIvan Magalhaes NEGOTIATION
Smith P BriddickIndiaAsiya Javayant QUALIFIED
Murillo A MorascaUnited KingdomXuxue Feng QUALIFIED
Octavia T CaudySpainAmy Elsner NEW
Isabel Q VocelkaCanadaAsiya Javayant NEW
Tony W AmigonGermanyAmy Elsner PROPOSAL
Johnson K StensethRussiaIoni Bowcher QUALIFIED
Cody F ShinkoItalyAmy Elsner UNQUALIFIED
Cody W InouyeSpainStephen Shaw QUALIFIED
Emily L StensethRussiaOnyama Limba PROPOSAL
Claire E RutaItalyIoni Bowcher NEW
James V VenereAustraliaXuxue Feng PROPOSAL
Kaitlin Q CampainAustraliaOnyama Limba NEW
Aika O StockhamRussiaIvan Magalhaes NEW
Mayumi L DoeCanadaIoni Bowcher QUALIFIED
Mayumi X FollerCanadaBernardo Dominic UNQUALIFIED
Aditya C FlosiFranceOnyama Limba PROPOSAL
Isabel X TollnerCanadaXuxue Feng UNQUALIFIED
Morrow O MorascaIndiaAnna Fali NEGOTIATION
Izzy V BologniaSpainIvan Magalhaes NEW
Jones D GarufiRussiaXuxue Feng NEGOTIATION
Costa U PaprockiGermanyStephen Shaw RENEWAL
Aika M GauchoBrazilIoni Bowcher NEW
Adams R DoeJapanIoni Bowcher NEGOTIATION
Misaki W OldroydGermanyAmy Elsner NEW
Greenwood P BologniaAustraliaStephen Shaw QUALIFIED
Munro L GlickArgentinaOnyama Limba NEW
Maisha M BowleyArgentinaAmy Elsner NEW
Cody K RulapaughSpainStephen Shaw NEW
Emily P FigeroaJapanIoni Bowcher NEW
Kaitlin R SergiUnited KingdomXuxue Feng PROPOSAL
Maisha Y WhobreyArgentinaStephen Shaw QUALIFIED
Aruna U OldroydSpainAsiya Javayant NEW
Nicolas L PerinAustraliaIoni Bowcher NEGOTIATION
Morrow F ButtItalyAnna Fali PROPOSAL
Costa D CaldareraAustraliaStephen Shaw NEGOTIATION
Tony S DoeUnited KingdomBernardo Dominic NEW
Jeanfrancois H FerenczSpainElwin Sharvill QUALIFIED
Frozen Columns
Name
Chavez R Oldroyd
Sinclair P Rim
Salvatore C Perin
Leja Q Tollner
Costa L Doe
Kaitlin U Stenseth
Cody U Maclead
Tony N Wieser
Rodrigues H Garufi
Nicolas I Rulapaugh
Isabel Q Royster
Mujtaba E Briddick
Arvin S Ostrosky
Aditya W Bolognia
Octavia Q Paprocki
Chavez H Rulapaugh
Jeanfrancois N Wieser
Claire D Foller
Wickens P Paprocki
Stacey L Doe
David U Whobrey
Juan N Foller
James U Rim
Sinclair Z Rim
Munro O Caldarera
Adams Z Briddick
Leja C Foller
Mujtaba T Marrier
Aika P Dilliard
Silvio G Sergi
Chavez B Caudy
Cody J Garufi
Ricardo U Morasca
Izzy Y Malet
Misaki I Dilliard
Izzy T Malet
Morrow T Bolognia
Ricardo K Garufi
Maria Y Paprocki
Aditya H Stenseth
Leon C Gillian
Alejandro L Briddick
Claire Y Bolognia
Misaki N Ostrosky
Greenwood W Flosi
Silvio A Venere
Juan N Gillian
Misaki F Nicka
Aditya N Caldarera
Jefferson R Paprocki
IdCountryDate
1000Italy2026-10-16
1001Japan2026-10-20
1002Russia2026-10-12
1003Spain2026-10-19
1004United Kingdom2026-10-09
1005France2026-10-26
1006Brazil2026-10-04
1007India2026-09-30
1008United Kingdom2026-10-22
1009Spain2026-10-21
1010Spain2026-10-26
1011Italy2026-10-27
1012Canada2026-10-21
1013Japan2026-10-18
1014India2026-10-09
1015United Kingdom2026-10-09
1016Russia2026-10-22
1017Italy2026-10-22
1018Argentina2026-10-02
1019Germany2026-10-13
1020Japan2026-10-10
1021Australia2026-10-20
1022Brazil2026-10-29
1023United Kingdom2026-10-19
1024Italy2026-10-27
1025Germany2026-10-13
1026Brazil2026-10-03
1027Brazil2026-10-01
1028Japan2026-10-06
1029Brazil2026-10-17
1030Canada2026-10-14
1031Argentina2026-10-23
1032Germany2026-10-13
1033Italy2026-10-03
1034Argentina2026-10-11
1035Spain2026-10-20
1036Australia2026-10-16
1037United Kingdom2026-10-21
1038Spain2026-10-15
1039India2026-10-04
1040France2026-10-05
1041Japan2026-10-08
1042Italy2026-10-19
1043Argentina2026-09-30
1044Australia2026-10-21
1045India2026-10-18
1046India2026-10-25
1047Australia2026-10-29
1048Germany2026-10-26
1049Canada2026-10-04

On-Demand Data

NameIdCountryDate
Jeanfrancois R Bowley1000Brazil2026-10-05
Mujtaba E Foller1001Germany2026-10-09
Rodrigues C Rulapaugh1002Argentina2026-10-23
Arvin O Slusarski1003Germany2026-10-07
Emily K Bolognia1004Germany2026-10-08
Francesco F Doe1005Australia2026-10-21
Antonio B Saylors1006Spain2026-10-05
Emily L Rim1007Italy2026-10-18
Murillo X Foller1008Canada2026-10-25
Greenwood T Briddick1009Spain2026-10-19
Jones F Royster1010Japan2026-10-09
Leon F Rulapaugh1011Japan2026-10-25
Clifford U Morasca1012Russia2026-10-13
Darci I Stockham1013France2026-10-24
Aika D Darakjy1014Australia2026-10-21
Ricardo M Malet1015India2026-10-27
Emily E Rulapaugh1016Argentina2026-10-26
Chavez G Bolognia1017Russia2026-10-04
Rodrigues J Stenseth1018Brazil2026-10-01
Silvio Q Foller1019India2026-10-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez J VenereUnited KingdomBernardo Dominic RENEWAL
Smith T PerinSpainAmy Elsner NEGOTIATION
Jennifer R GarufiAustraliaStephen Shaw UNQUALIFIED
Jefferson C SlusarskiGermanyBernardo Dominic NEW
Aika S WaycottBrazilAnna Fali QUALIFIED
Juan U StensethItalyAmy Elsner UNQUALIFIED
Kadeem S WaycottCanadaStephen Shaw QUALIFIED
Cody S FollerItalyAmy Elsner PROPOSAL
Costa V NickaJapanAsiya Javayant RENEWAL
Jennifer I KuskoUnited KingdomAmy Elsner QUALIFIED
Leon J DarakjyAustraliaXuxue Feng QUALIFIED
Mujtaba E FigeroaIndiaAnna Fali UNQUALIFIED
Mayumi U FollerCanadaXuxue Feng RENEWAL
Arvin M DarakjyItalyIoni Bowcher PROPOSAL
Tony C OstroskyIndiaAsiya Javayant QUALIFIED
Johnson D AlbaresFranceElwin Sharvill RENEWAL
Smith X StensethJapanAsiya Javayant UNQUALIFIED
Jefferson T GauchoJapanAmy Elsner QUALIFIED
Arvin I PoquetteIndiaStephen Shaw QUALIFIED
Rodrigues L OldroydCanadaStephen Shaw PROPOSAL
Darci F SaylorsGermanyIvan Magalhaes NEW
Emily X OldroydArgentinaAsiya Javayant NEGOTIATION
Johnson K VenereCanadaAmy Elsner QUALIFIED
Silvio O RulapaughGermanyAnna Fali PROPOSAL
Aditya B RutaAustraliaIoni Bowcher UNQUALIFIED
Jones E InouyeBrazilXuxue Feng NEW
Maria C WhobreyCanadaXuxue Feng QUALIFIED
Octavia G KuskoIndiaIvan Magalhaes PROPOSAL
Johnson O MorascaFranceAnna Fali NEW
Greenwood Z MacleadFranceOnyama Limba NEGOTIATION
Juan E GlickIndiaIoni Bowcher NEW
Adams E RimFranceXuxue Feng RENEWAL
James Z TollnerArgentinaOnyama Limba PROPOSAL
Silvio X BowleySpainAnna Fali UNQUALIFIED
Johnson A OldroydRussiaElwin Sharvill PROPOSAL
Adams N SchemmerJapanIvan Magalhaes PROPOSAL
Francesco F MarrierJapanOnyama Limba NEW
Clifford L WaycottUnited KingdomStephen Shaw NEW
Tony J AlbaresArgentinaAnna Fali NEW
Jeanfrancois T WhobreyItalyBernardo Dominic NEW

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