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
Mayumi Q FollerSpainIvan Magalhaes PROPOSAL
Leja H CaudyGermanyAsiya Javayant NEW
Kadeem S PerinUnited KingdomAnna Fali UNQUALIFIED
Rodrigues W InouyeIndiaElwin Sharvill QUALIFIED
Ivar H GlickArgentinaAnna Fali RENEWAL
Aruna B PoquetteRussiaAsiya Javayant QUALIFIED
Francesco V PoquetteCanadaIvan Magalhaes UNQUALIFIED
David W GarufiItalyStephen Shaw NEGOTIATION
James G DarakjyUnited KingdomAsiya Javayant UNQUALIFIED
Munro L GauchoRussiaIoni Bowcher UNQUALIFIED
Aditya I DarakjyAustraliaIvan Magalhaes QUALIFIED
Jefferson L GarufiAustraliaAmy Elsner QUALIFIED
Chavez B GauchoItalyBernardo Dominic NEW
Antonio R ShinkoFranceIvan Magalhaes NEW
Nicolas F DilliardGermanyElwin Sharvill QUALIFIED
Clifford R ShinkoIndiaStephen Shaw NEW
Maria L VocelkaIndiaIoni Bowcher PROPOSAL
Morrow U KolmetzArgentinaXuxue Feng NEW
Darci M StensethJapanElwin Sharvill NEW
Maisha X BowleyFranceIvan Magalhaes NEGOTIATION
Alejandro W IturbideAustraliaIoni Bowcher RENEWAL
Murillo S MaletJapanStephen Shaw PROPOSAL
Sinclair Q PaprockiFranceIvan Magalhaes QUALIFIED
Chavez M RulapaughFranceXuxue Feng RENEWAL
Mayumi U OstroskyBrazilStephen Shaw QUALIFIED
Izzy K VocelkaSpainXuxue Feng RENEWAL
Cody R MacleadSpainAmy Elsner RENEWAL
Maisha T GarufiGermanyAsiya Javayant RENEWAL
Misaki D GlickFranceIoni Bowcher NEW
Izzy H InouyeArgentinaBernardo Dominic NEW
Leja G ShinkoIndiaIvan Magalhaes NEW
Sinclair V DarakjyBrazilElwin Sharvill UNQUALIFIED
James A BowleyIndiaAmy Elsner NEW
Antonio X RutaFranceOnyama Limba PROPOSAL
Ricardo D FerenczAustraliaAnna Fali QUALIFIED
Wickens B RimFranceAsiya Javayant PROPOSAL
Kadeem Y StensethGermanyElwin Sharvill RENEWAL
Sinclair L InouyeItalyXuxue Feng NEW
Nicolas C KuskoRussiaXuxue Feng NEGOTIATION
Leon S StensethCanadaXuxue Feng RENEWAL
David Y NestleCanadaAnna Fali NEGOTIATION
Francesco E ShinkoBrazilElwin Sharvill NEGOTIATION
Mayumi C BowleyBrazilAsiya Javayant PROPOSAL
Smith N NickaItalyElwin Sharvill NEGOTIATION
Maisha L DilliardBrazilIoni Bowcher UNQUALIFIED
Aika Z WieserRussiaOnyama Limba QUALIFIED
Isabel S ShinkoRussiaIoni Bowcher NEGOTIATION
Darci F SlusarskiCanadaIvan Magalhaes PROPOSAL
Morrow I GlickCanadaIoni Bowcher QUALIFIED
Ivar G BologniaIndiaXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Costa E PerinAustraliaBernardo Dominic PROPOSAL
Aditya S MarrierArgentinaOnyama Limba PROPOSAL
Adams U MarrierBrazilXuxue Feng NEGOTIATION
Sinclair S MacleadSpainAnna Fali NEW
Aditya U FerenczItalyAmy Elsner PROPOSAL
Emily B GauchoArgentinaElwin Sharvill PROPOSAL
Jefferson G FigeroaItalyStephen Shaw RENEWAL
Maisha B AmigonRussiaBernardo Dominic UNQUALIFIED
Clifford A FlosiGermanyAsiya Javayant NEW
Arvin U OstroskyIndiaAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody A TollnerSpain2026-10-14Rangoni Of Florence NEW66Elwin Sharvill
1001Silvio T GarufiGermany2026-10-10Rousseaux, Michael Esq NEGOTIATION28Onyama Limba
1002Rodrigues A PaprockiCanada2026-10-14Rangoni Of Florence QUALIFIED43Asiya Javayant
1003Mujtaba N IturbideBrazil2026-10-01Chemel, James L Cpa PROPOSAL71Ivan Magalhaes
1004Arvin K GlickJapan2026-10-15Benton, John B Jr NEGOTIATION35Asiya Javayant
1005Jennifer J OstroskyJapan2026-10-06Feiner Bros QUALIFIED92Ioni Bowcher
1006Misaki R BriddickIndia2026-09-23Printing Dimensions PROPOSAL51Onyama Limba
1007Cody D MorascaFrance2026-10-10Buckley Miller Wright PROPOSAL12Asiya Javayant
1008Kadeem B GillianBrazil2026-10-14Morlong Associates PROPOSAL54Stephen Shaw
1009Jefferson W DoeItaly2026-10-04King, Christopher A Esq NEGOTIATION91Ivan Magalhaes
1010Juan F NestleSpain2026-09-26Chapman, Ross E Esq NEGOTIATION54Amy Elsner
1011Maisha G NestleSpain2026-09-27King, Christopher A Esq PROPOSAL10Xuxue Feng
1012Aditya T FlosiSpain2026-10-03Feiner Bros NEW83Anna Fali
1013Aruna K DilliardCanada2026-10-07Rangoni Of Florence QUALIFIED83Anna Fali
1014Darci D AlbaresAustralia2026-10-15Morlong Associates UNQUALIFIED21Xuxue Feng
1015Salvatore V RulapaughCanada2026-10-11Buckley Miller Wright RENEWAL69Stephen Shaw
1016Arvin B FlosiFrance2026-09-17Feiner Bros NEW8Elwin Sharvill
1017Maria R FlosiUnited Kingdom2026-10-02Chemel, James L Cpa NEGOTIATION56Elwin Sharvill
1018Aika Q OstroskyRussia2026-10-04King, Christopher A Esq PROPOSAL43Anna Fali
1019Aditya M MaletBrazil2026-09-30Chanay, Jeffrey A Esq NEW36Onyama Limba
1020Francesco H SergiCanada2026-10-01Rangoni Of Florence NEGOTIATION86Ivan Magalhaes
1021Jones A NickaSpain2026-09-27Feltz Printing Service RENEWAL33Onyama Limba
1022Greenwood L VenereSpain2026-09-22Rousseaux, Michael Esq UNQUALIFIED29Bernardo Dominic
1023Morrow S ButtGermany2026-10-05Benton, John B Jr UNQUALIFIED52Onyama Limba
1024Aditya E ButtSpain2026-09-21Buckley Miller Wright PROPOSAL53Stephen Shaw
1025Sinclair H GarufiGermany2026-09-23Rangoni Of Florence NEW0Bernardo Dominic
1026Kaitlin W GauchoCanada2026-10-01Feltz Printing Service UNQUALIFIED91Ioni Bowcher
1027Emily X ChuiCanada2026-09-25Morlong Associates RENEWAL6Elwin Sharvill
1028Arvin I AlbaresAustralia2026-10-07Chapman, Ross E Esq QUALIFIED73Amy Elsner
1029Munro A PoquetteIndia2026-09-17Printing Dimensions RENEWAL9Asiya Javayant
1030Costa B GauchoRussia2026-10-13Chapman, Ross E Esq QUALIFIED41Anna Fali
1031Nicolas Q VocelkaIndia2026-10-15Rangoni Of Florence PROPOSAL25Bernardo Dominic
1032Darci J NestleRussia2026-09-21Feiner Bros RENEWAL61Amy Elsner
1033Salvatore C FerenczJapan2026-09-23Chemel, James L Cpa NEW62Elwin Sharvill
1034Johnson I ChuiRussia2026-10-03Dorl, James J Esq QUALIFIED27Ivan Magalhaes
1035Aika R WieserJapan2026-09-27King, Christopher A Esq UNQUALIFIED40Onyama Limba
1036Mujtaba E OstroskyAustralia2026-10-13Feltz Printing Service PROPOSAL42Onyama Limba
1037Nicolas X VenereSpain2026-10-06Rousseaux, Michael Esq NEGOTIATION96Elwin Sharvill
1038Nicolas I FigeroaCanada2026-10-10Chemel, James L Cpa NEW13Stephen Shaw
1039Mayumi P RoysterCanada2026-09-28Morlong Associates UNQUALIFIED58Ioni Bowcher
1040Isabel H SlusarskiCanada2026-09-28Chanay, Jeffrey A Esq UNQUALIFIED20Onyama Limba
1041Francesco A StensethFrance2026-09-28Dorl, James J Esq UNQUALIFIED48Onyama Limba
1042Francesco H IturbideGermany2026-10-06Buckley Miller Wright NEGOTIATION74Stephen Shaw
1043Smith Q VocelkaJapan2026-10-13Dorl, James J Esq PROPOSAL16Ioni Bowcher
1044Jennifer M StensethIndia2026-10-03Rousseaux, Michael Esq RENEWAL15Ioni Bowcher
1045Johnson T PerinJapan2026-10-04Truhlar And Truhlar Attys RENEWAL55Anna Fali
1046Julie V GlickJapan2026-09-20Buckley Miller Wright PROPOSAL66Onyama Limba
1047Aika B WhobreyArgentina2026-10-02Commercial Press QUALIFIED93Ioni Bowcher
1048Emily P MorascaSpain2026-10-13Feiner Bros NEW75Bernardo Dominic
1049Leja Z BriddickRussia2026-09-21Morlong Associates UNQUALIFIED19Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Maria G SlusarskiItalyElwin Sharvill NEW
Morrow F InouyeRussiaOnyama Limba NEW
Kadeem M FigeroaGermanyElwin Sharvill PROPOSAL
Ivar Y NestleUnited KingdomIoni Bowcher QUALIFIED
Adams L MacleadFranceXuxue Feng RENEWAL
Jennifer G AmigonIndiaIvan Magalhaes NEW
Chavez X CaldareraUnited KingdomAsiya Javayant UNQUALIFIED
Morrow J CaudyBrazilXuxue Feng NEGOTIATION
Aditya G KolmetzFranceElwin Sharvill PROPOSAL
Nicolas D RutaAustraliaXuxue Feng PROPOSAL
Adams J StockhamIndiaStephen Shaw UNQUALIFIED
Ricardo Y DoeIndiaStephen Shaw PROPOSAL
Stacey K MaletSpainIoni Bowcher PROPOSAL
Jones W IturbideRussiaIvan Magalhaes NEGOTIATION
David R GlickCanadaAsiya Javayant QUALIFIED
Kaitlin H KolmetzIndiaAsiya Javayant UNQUALIFIED
Clifford I StensethIndiaOnyama Limba RENEWAL
Aruna M WieserAustraliaIvan Magalhaes UNQUALIFIED
Octavia Q GillianRussiaElwin Sharvill QUALIFIED
Aditya L FigeroaRussiaStephen Shaw NEW
Aruna N ChuiSpainXuxue Feng PROPOSAL
Antonio K SchemmerIndiaElwin Sharvill QUALIFIED
Adams A BologniaArgentinaXuxue Feng UNQUALIFIED
Ivar F MacleadRussiaOnyama Limba RENEWAL
Faith X VocelkaRussiaAnna Fali NEW
Stacey K KolmetzSpainIoni Bowcher RENEWAL
Johnson Z MacleadCanadaElwin Sharvill QUALIFIED
Deepesh J RoysterJapanIvan Magalhaes QUALIFIED
Francesco B MaletArgentinaIvan Magalhaes NEGOTIATION
Francesco X StensethArgentinaAnna Fali PROPOSAL
Jefferson R MaletGermanyAmy Elsner PROPOSAL
Sinclair A BriddickItalyIoni Bowcher QUALIFIED
Clifford Z InouyeGermanyOnyama Limba PROPOSAL
David D OstroskyCanadaIvan Magalhaes NEW
Ashley S SaylorsIndiaAsiya Javayant RENEWAL
Aika A BriddickJapanElwin Sharvill UNQUALIFIED
Julie N AmigonBrazilBernardo Dominic RENEWAL
Jefferson P FerenczRussiaOnyama Limba QUALIFIED
Juan I CampainUnited KingdomStephen Shaw UNQUALIFIED
Silvio P NestleSpainIoni Bowcher NEW
Jennifer F BowleyAustraliaBernardo Dominic UNQUALIFIED
Munro L ShinkoFranceAsiya Javayant QUALIFIED
Darci S ButtSpainAsiya Javayant QUALIFIED
Kaitlin M MarrierBrazilAnna Fali NEGOTIATION
Ivar H KolmetzJapanAsiya Javayant NEGOTIATION
Claire R NestleSpainIoni Bowcher PROPOSAL
Greenwood H AlbaresSpainAnna Fali NEW
Julie E SlusarskiFranceBernardo Dominic QUALIFIED
Salvatore W GarufiCanadaAsiya Javayant QUALIFIED
Kadeem L ShinkoCanadaBernardo Dominic NEGOTIATION
Frozen Columns
Name
Morrow X Flosi
Stacey N Gaucho
Misaki N Vocelka
Ricardo N Nicka
Darci O Poquette
Ashley C Bolognia
Stacey X Ferencz
Mayumi E Dilliard
Juan N Nicka
Aditya O Stenseth
Jefferson W Stockham
Stacey K Ostrosky
Isabel M Caldarera
Ivar A Rulapaugh
Izzy D Briddick
Leja L Wieser
Aruna I Glick
Morrow C Ostrosky
Faith E Tollner
Salvatore Q Doe
David O Stockham
Sinclair S Iturbide
Murillo V Bolognia
Claire V Rim
Wickens V Inouye
Emily M Nestle
Maria Q Butt
Smith K Stockham
Jefferson D Ruta
Johnson X Bowley
Octavia B Kusko
Leja A Maclead
Leon I Ferencz
Misaki U Flosi
Maria K Perin
Alejandro Z Morasca
Johnson H Maclead
James H Paprocki
Emily J Slusarski
Cody N Briddick
Juan Y Flosi
Emily D Saylors
Jefferson P Morasca
Emily I Figeroa
Leon Q Ferencz
Nicolas F Vocelka
Murillo R Albares
Jeanfrancois U Venere
Darci J Doe
Faith R Shinko
IdCountryDate
1000United Kingdom2026-10-12
1001India2026-10-09
1002United Kingdom2026-09-22
1003Argentina2026-10-09
1004Japan2026-10-01
1005India2026-09-28
1006Brazil2026-09-23
1007Brazil2026-09-17
1008Canada2026-09-30
1009France2026-10-01
1010United Kingdom2026-09-26
1011Germany2026-09-29
1012Russia2026-09-19
1013France2026-10-14
1014Russia2026-10-05
1015Argentina2026-10-04
1016Germany2026-10-04
1017Germany2026-10-14
1018Canada2026-09-20
1019Argentina2026-10-11
1020United Kingdom2026-10-13
1021Italy2026-09-27
1022Brazil2026-10-11
1023Australia2026-10-10
1024Canada2026-10-01
1025Argentina2026-10-12
1026Spain2026-09-28
1027Argentina2026-10-09
1028Argentina2026-10-01
1029United Kingdom2026-10-09
1030Australia2026-09-16
1031Japan2026-10-07
1032Argentina2026-09-17
1033United Kingdom2026-09-24
1034Brazil2026-10-15
1035Japan2026-10-08
1036Brazil2026-10-01
1037India2026-10-02
1038Argentina2026-09-22
1039Canada2026-09-16
1040United Kingdom2026-10-13
1041Italy2026-10-12
1042Argentina2026-10-01
1043Spain2026-10-03
1044United Kingdom2026-10-13
1045Germany2026-09-22
1046Argentina2026-10-15
1047Spain2026-10-07
1048Brazil2026-09-19
1049India2026-09-19

On-Demand Data

NameIdCountryDate
Silvio R Flosi1000Japan2026-10-12
Mujtaba C Nestle1001Germany2026-10-07
James S Poquette1002Germany2026-10-02
Ricardo Y Malet1003Brazil2026-10-10
Juan R Ruta1004Brazil2026-10-14
Julie Y Marrier1005India2026-09-22
Murillo M Malet1006Brazil2026-10-10
Arvin E Royster1007Argentina2026-09-21
James E Paprocki1008Japan2026-09-30
Mayumi I Rulapaugh1009United Kingdom2026-10-08
Julie W Kolmetz1010Canada2026-10-13
Ricardo G Paprocki1011France2026-09-18
Leon U Maclead1012France2026-10-07
Johnson J Slusarski1013Japan2026-09-25
David R Foller1014United Kingdom2026-09-18
Maisha Q Malet1015India2026-10-14
Costa R Nicka1016Russia2026-10-15
Jones C Ruta1017Japan2026-10-10
James G Rim1018Germany2026-09-16
Tony X Campain1019India2026-10-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily J PoquetteUnited KingdomOnyama Limba NEW
David Q FerenczJapanAsiya Javayant UNQUALIFIED
Clifford P IturbideItalyIoni Bowcher PROPOSAL
Tony N PoquetteItalyXuxue Feng QUALIFIED
Juan S GauchoUnited KingdomBernardo Dominic PROPOSAL
Nicolas M PoquetteItalyBernardo Dominic QUALIFIED
Aditya N CaldareraBrazilAmy Elsner RENEWAL
Aika G RutaGermanyAmy Elsner UNQUALIFIED
Jefferson K VenereFranceAsiya Javayant NEGOTIATION
Isabel F AmigonSpainAmy Elsner NEW
Ivar K AmigonGermanyAnna Fali QUALIFIED
Claire N GlickGermanyStephen Shaw PROPOSAL
Isabel Q NestleUnited KingdomIvan Magalhaes RENEWAL
Deepesh T VenereBrazilElwin Sharvill QUALIFIED
Alejandro I SergiGermanyStephen Shaw RENEWAL
Costa N RulapaughCanadaAmy Elsner NEGOTIATION
Smith R PaprockiJapanIoni Bowcher UNQUALIFIED
Cody L KolmetzArgentinaBernardo Dominic UNQUALIFIED
Octavia Q SchemmerItalyStephen Shaw RENEWAL
Jones T StensethBrazilStephen Shaw PROPOSAL
Jefferson U StockhamRussiaOnyama Limba PROPOSAL
Antonio R BriddickCanadaOnyama Limba RENEWAL
Juan Y PaprockiAustraliaIvan Magalhaes UNQUALIFIED
Tony I FollerArgentinaAsiya Javayant RENEWAL
Octavia R BowleyItalyAsiya Javayant NEW
Cody G InouyeJapanXuxue Feng QUALIFIED
Silvio U MaletFranceIvan Magalhaes NEGOTIATION
Alejandro E OldroydAustraliaBernardo Dominic QUALIFIED
Claire G FigeroaRussiaAsiya Javayant UNQUALIFIED
Claire F BowleyGermanyElwin Sharvill NEW
Emily H InouyeItalyStephen Shaw QUALIFIED
Aruna S RimSpainElwin Sharvill NEW
Izzy G WaycottGermanyIvan Magalhaes NEW
Jeanfrancois Y MacleadCanadaElwin Sharvill QUALIFIED
Jeanfrancois S ChuiFranceOnyama Limba NEW
Adams O IturbideJapanIoni Bowcher QUALIFIED
Mujtaba A FollerUnited KingdomAnna Fali NEW
Aditya B BriddickGermanyXuxue Feng NEGOTIATION
Johnson H BriddickRussiaElwin Sharvill PROPOSAL
Clifford Q MaletArgentinaAsiya 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>