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
Maisha A ButtRussiaAmy Elsner NEW
Cody Z KolmetzItalyAmy Elsner PROPOSAL
Aruna C BologniaUnited KingdomBernardo Dominic RENEWAL
Munro U PoquetteFranceAsiya Javayant QUALIFIED
Ivar A WhobreyRussiaXuxue Feng UNQUALIFIED
Wickens V StensethBrazilBernardo Dominic UNQUALIFIED
Johnson B FlosiRussiaIvan Magalhaes UNQUALIFIED
Kadeem C RimBrazilIvan Magalhaes UNQUALIFIED
Greenwood R WaycottBrazilBernardo Dominic PROPOSAL
Faith F BriddickCanadaStephen Shaw RENEWAL
Leon D GauchoIndiaStephen Shaw PROPOSAL
Arvin U CaldareraIndiaStephen Shaw NEW
Costa H GarufiIndiaAnna Fali NEGOTIATION
Stacey V OldroydUnited KingdomBernardo Dominic UNQUALIFIED
Silvio A FollerUnited KingdomAnna Fali NEGOTIATION
Claire K WaycottIndiaStephen Shaw PROPOSAL
David G RulapaughAustraliaIoni Bowcher RENEWAL
Salvatore S SaylorsBrazilOnyama Limba NEGOTIATION
Kadeem D NestleItalyStephen Shaw QUALIFIED
Murillo Y WhobreySpainAsiya Javayant UNQUALIFIED
David T FollerSpainIoni Bowcher RENEWAL
Silvio Y MaletRussiaAnna Fali NEGOTIATION
Murillo C AmigonUnited KingdomOnyama Limba NEGOTIATION
Munro B VocelkaUnited KingdomStephen Shaw PROPOSAL
Juan Q RimSpainOnyama Limba PROPOSAL
Smith C MaletUnited KingdomXuxue Feng NEGOTIATION
Salvatore O IturbideUnited KingdomAmy Elsner NEW
Aika N FerenczBrazilAmy Elsner NEW
Cody F CaudyItalyXuxue Feng PROPOSAL
Munro H PaprockiRussiaAsiya Javayant NEGOTIATION
Salvatore A FlosiRussiaBernardo Dominic NEW
Maisha T PaprockiAustraliaStephen Shaw NEGOTIATION
Cody P MacleadAustraliaIoni Bowcher UNQUALIFIED
Faith M FerenczBrazilIoni Bowcher NEGOTIATION
Faith V GarufiGermanyAsiya Javayant UNQUALIFIED
Ivar P PoquetteIndiaBernardo Dominic QUALIFIED
Kadeem I OldroydArgentinaAmy Elsner QUALIFIED
Antonio O DilliardAustraliaElwin Sharvill RENEWAL
Sinclair O GarufiRussiaStephen Shaw PROPOSAL
Stacey G GillianFranceIvan Magalhaes UNQUALIFIED
Julie O BologniaUnited KingdomIvan Magalhaes RENEWAL
Ashley U RutaGermanyIoni Bowcher RENEWAL
Jennifer P IturbideUnited KingdomStephen Shaw PROPOSAL
Emily S StensethAustraliaOnyama Limba NEGOTIATION
Aditya K FerenczGermanyAmy Elsner RENEWAL
Mujtaba O GlickAustraliaAnna Fali NEW
Morrow D SlusarskiJapanOnyama Limba NEGOTIATION
Munro D GlickAustraliaIoni Bowcher NEGOTIATION
Maria Q MacleadBrazilAmy Elsner NEGOTIATION
Adams U DarakjySpainAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Morrow F NestleCanadaOnyama Limba RENEWAL
Julie H ButtCanadaOnyama Limba QUALIFIED
Morrow W CaldareraSpainBernardo Dominic RENEWAL
Deepesh M AmigonBrazilIvan Magalhaes NEW
Smith E FigeroaSpainOnyama Limba RENEWAL
Smith K SergiRussiaIvan Magalhaes NEGOTIATION
Wickens A WaycottAustraliaOnyama Limba NEGOTIATION
Maria Y PoquetteJapanBernardo Dominic RENEWAL
Smith U BologniaFranceAsiya Javayant QUALIFIED
Julie H NickaGermanyAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones B MacleadRussia2026-09-28Truhlar And Truhlar Attys UNQUALIFIED23Xuxue Feng
1001Antonio M AlbaresBrazil2026-09-06Commercial Press RENEWAL28Xuxue Feng
1002Chavez I CampainSpain2026-09-16Printing Dimensions PROPOSAL16Onyama Limba
1003Johnson C ShinkoBrazil2026-09-10Feltz Printing Service NEGOTIATION39Asiya Javayant
1004Leon S FlosiRussia2026-09-14King, Christopher A Esq UNQUALIFIED51Xuxue Feng
1005Octavia J WaycottBrazil2026-09-26Benton, John B Jr NEGOTIATION34Ivan Magalhaes
1006Costa M AmigonGermany2026-09-25Dorl, James J Esq NEW17Stephen Shaw
1007Ivar P RimRussia2026-09-28Dorl, James J Esq UNQUALIFIED98Onyama Limba
1008Misaki A SlusarskiGermany2026-09-21Morlong Associates UNQUALIFIED97Stephen Shaw
1009Kadeem R WaycottBrazil2026-09-13Commercial Press NEW92Xuxue Feng
1010Ricardo W PoquetteRussia2026-09-16Truhlar And Truhlar Attys NEGOTIATION2Anna Fali
1011Costa K PaprockiBrazil2026-09-19Rousseaux, Michael Esq UNQUALIFIED16Bernardo Dominic
1012Chavez B FollerJapan2026-09-01Commercial Press RENEWAL14Asiya Javayant
1013Mayumi R FerenczGermany2026-09-07Commercial Press UNQUALIFIED82Onyama Limba
1014Antonio Q DoeItaly2026-09-14Chapman, Ross E Esq NEW50Amy Elsner
1015Silvio J StockhamSpain2026-09-15Commercial Press PROPOSAL37Asiya Javayant
1016James S IturbideItaly2026-09-16King, Christopher A Esq QUALIFIED14Bernardo Dominic
1017Leja F ChuiSpain2026-09-25Truhlar And Truhlar Attys RENEWAL81Bernardo Dominic
1018Emily P SlusarskiIndia2026-09-15Truhlar And Truhlar Attys PROPOSAL69Asiya Javayant
1019Clifford U FollerArgentina2026-09-02Commercial Press UNQUALIFIED6Bernardo Dominic
1020Aruna D VocelkaIndia2026-09-16Rousseaux, Michael Esq PROPOSAL54Asiya Javayant
1021Faith T BowleySpain2026-09-22Morlong Associates QUALIFIED52Bernardo Dominic
1022Darci J CaldareraArgentina2026-09-13Chapman, Ross E Esq NEW31Onyama Limba
1023Leon A MarrierArgentina2026-09-04Feiner Bros RENEWAL58Asiya Javayant
1024Faith N GlickItaly2026-09-20King, Christopher A Esq RENEWAL69Anna Fali
1025Jennifer T OstroskyItaly2026-09-13Benton, John B Jr NEGOTIATION38Ioni Bowcher
1026Aruna P WaycottSpain2026-09-10Chemel, James L Cpa NEW31Anna Fali
1027Faith Y OldroydGermany2026-09-20Benton, John B Jr NEGOTIATION51Amy Elsner
1028Murillo X PaprockiArgentina2026-09-17Rousseaux, Michael Esq QUALIFIED69Xuxue Feng
1029Jefferson V MacleadBrazil2026-09-24King, Christopher A Esq NEW18Anna Fali
1030Adams J KuskoAustralia2026-09-08Truhlar And Truhlar Attys NEW28Elwin Sharvill
1031Julie W PoquetteItaly2026-09-25Feltz Printing Service UNQUALIFIED5Asiya Javayant
1032Leja H PaprockiAustralia2026-09-09Chanay, Jeffrey A Esq RENEWAL97Stephen Shaw
1033Antonio I PaprockiBrazil2026-09-10Morlong Associates PROPOSAL14Anna Fali
1034Darci F GarufiIndia2026-09-24Morlong Associates QUALIFIED45Stephen Shaw
1035James D MaletAustralia2026-09-27Chanay, Jeffrey A Esq RENEWAL41Xuxue Feng
1036Nicolas S GauchoCanada2026-09-13Commercial Press NEGOTIATION70Anna Fali
1037Aika F BologniaUnited Kingdom2026-09-18Dorl, James J Esq UNQUALIFIED79Elwin Sharvill
1038Murillo C SaylorsSpain2026-09-02Chanay, Jeffrey A Esq NEGOTIATION79Anna Fali
1039Maria D FlosiFrance2026-09-05Rangoni Of Florence NEGOTIATION49Onyama Limba
1040David H PerinItaly2026-09-16Feiner Bros UNQUALIFIED3Bernardo Dominic
1041Ricardo D MacleadGermany2026-09-13Chanay, Jeffrey A Esq NEW0Ivan Magalhaes
1042Rodrigues S ButtCanada2026-09-23Chapman, Ross E Esq NEW26Ioni Bowcher
1043Alejandro D SlusarskiItaly2026-09-20Truhlar And Truhlar Attys NEW96Amy Elsner
1044Jeanfrancois K GauchoGermany2026-09-27Truhlar And Truhlar Attys QUALIFIED67Ivan Magalhaes
1045Morrow V CampainRussia2026-08-30Chemel, James L Cpa NEGOTIATION29Ioni Bowcher
1046Wickens C KuskoRussia2026-09-25Rousseaux, Michael Esq UNQUALIFIED50Onyama Limba
1047Wickens N DarakjyCanada2026-09-23Feiner Bros QUALIFIED77Bernardo Dominic
1048Maisha Q AlbaresGermany2026-09-24Commercial Press UNQUALIFIED10Ioni Bowcher
1049Alejandro D DilliardRussia2026-09-05Chanay, Jeffrey A Esq NEW83Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Aditya C RulapaughIndiaAnna Fali UNQUALIFIED
Deepesh W IturbideCanadaAnna Fali QUALIFIED
David Q BriddickRussiaXuxue Feng RENEWAL
Wickens E CampainArgentinaOnyama Limba UNQUALIFIED
Leja W OstroskyRussiaStephen Shaw NEGOTIATION
Antonio Q SlusarskiUnited KingdomIvan Magalhaes NEGOTIATION
Mayumi S MaletCanadaIvan Magalhaes NEW
Greenwood O SaylorsAustraliaIvan Magalhaes RENEWAL
Salvatore E FerenczJapanXuxue Feng PROPOSAL
Costa O OldroydRussiaAnna Fali NEGOTIATION
Arvin Y RoysterArgentinaOnyama Limba QUALIFIED
Jeanfrancois G SlusarskiJapanStephen Shaw QUALIFIED
Ivar T SergiFranceAmy Elsner QUALIFIED
Aditya X DoeGermanyIvan Magalhaes NEW
James N MaletSpainOnyama Limba NEW
Stacey S AmigonUnited KingdomAsiya Javayant RENEWAL
Costa Z TollnerAustraliaStephen Shaw QUALIFIED
Aruna C CaldareraJapanBernardo Dominic PROPOSAL
Deepesh E ShinkoGermanyXuxue Feng UNQUALIFIED
Kadeem J WhobreyRussiaIvan Magalhaes NEGOTIATION
Stacey Y GlickJapanAnna Fali RENEWAL
James J SaylorsGermanyIoni Bowcher QUALIFIED
Alejandro B GillianItalyXuxue Feng QUALIFIED
Isabel O ButtJapanAnna Fali NEGOTIATION
Jones R PaprockiIndiaAsiya Javayant PROPOSAL
Leja T GauchoBrazilXuxue Feng RENEWAL
Sinclair W VocelkaJapanStephen Shaw QUALIFIED
Aruna Q CaldareraCanadaAnna Fali NEW
Julie K RulapaughBrazilElwin Sharvill NEW
Ivar V RimArgentinaAnna Fali PROPOSAL
Leja H SlusarskiGermanyElwin Sharvill NEGOTIATION
Aditya K CaldareraSpainBernardo Dominic NEGOTIATION
Kaitlin E FlosiGermanyAmy Elsner RENEWAL
Jeanfrancois T TollnerArgentinaStephen Shaw NEGOTIATION
Jones R WhobreyJapanIoni Bowcher NEW
Sinclair X CampainJapanIvan Magalhaes RENEWAL
Jeanfrancois O DarakjyAustraliaXuxue Feng RENEWAL
Francesco S ChuiUnited KingdomAnna Fali NEGOTIATION
Murillo T BowleyFranceBernardo Dominic UNQUALIFIED
Francesco R NickaUnited KingdomOnyama Limba RENEWAL
Jennifer N MarrierRussiaOnyama Limba PROPOSAL
Claire U NestleAustraliaAnna Fali QUALIFIED
Jennifer T BowleySpainAsiya Javayant RENEWAL
Leon O OldroydCanadaAsiya Javayant NEW
Alejandro R CaldareraBrazilAnna Fali UNQUALIFIED
Mujtaba F FollerArgentinaAsiya Javayant QUALIFIED
Clifford U RulapaughItalyXuxue Feng QUALIFIED
Ashley T ButtBrazilBernardo Dominic QUALIFIED
Deepesh V RoysterBrazilStephen Shaw NEW
Clifford V DarakjyItalyStephen Shaw UNQUALIFIED
Frozen Columns
Name
Leja L Oldroyd
Mujtaba A Kusko
Maria W Malet
Jones S Nicka
Aika O Chui
Aruna Q Chui
Darci S Campain
Mujtaba C Tollner
Faith Z Morasca
Clifford T Vocelka
Cody R Royster
Faith Y Rulapaugh
Wickens F Malet
Adams E Butt
Claire T Slusarski
Nicolas A Bowley
David G Royster
Ashley Q Ruta
Maria R Doe
Salvatore G Chui
Morrow B Rulapaugh
Ivar L Darakjy
Adams Z Morasca
Chavez X Saylors
Maisha Z Doe
Wickens K Poquette
Francesco Y Stockham
Aditya S Gillian
Jeanfrancois Q Kusko
Mujtaba F Saylors
Ivar R Iturbide
Ashley T Rim
Johnson Q Vocelka
Kaitlin V Rulapaugh
Clifford K Bowley
Silvio I Chui
Chavez C Glick
Juan H Butt
Kaitlin O Garufi
Izzy I Foller
Jeanfrancois U Malet
Alejandro E Garufi
Costa T Foller
Francesco G Caudy
Chavez H Kusko
Leja D Whobrey
Mayumi I Campain
Greenwood P Wieser
Kaitlin Q Vocelka
Izzy Y Venere
IdCountryDate
1000India2026-09-07
1001Japan2026-09-27
1002Argentina2026-09-22
1003Germany2026-09-20
1004Spain2026-09-19
1005Australia2026-09-02
1006Brazil2026-09-12
1007France2026-09-06
1008Russia2026-09-12
1009Australia2026-09-13
1010United Kingdom2026-09-12
1011India2026-09-12
1012United Kingdom2026-09-18
1013Japan2026-09-26
1014Brazil2026-09-19
1015Canada2026-09-18
1016Argentina2026-09-14
1017Italy2026-09-20
1018United Kingdom2026-08-31
1019United Kingdom2026-09-12
1020Canada2026-09-08
1021Russia2026-08-31
1022France2026-09-24
1023India2026-09-05
1024Russia2026-09-13
1025Canada2026-09-03
1026Italy2026-09-27
1027United Kingdom2026-09-01
1028Italy2026-09-06
1029Russia2026-09-22
1030Japan2026-09-18
1031Brazil2026-09-02
1032France2026-09-22
1033Japan2026-09-15
1034Russia2026-09-02
1035Japan2026-09-03
1036Japan2026-09-07
1037Italy2026-09-02
1038Japan2026-09-02
1039India2026-09-22
1040Spain2026-09-21
1041France2026-09-04
1042United Kingdom2026-09-20
1043India2026-09-27
1044Japan2026-09-07
1045Germany2026-09-17
1046India2026-09-25
1047Germany2026-09-08
1048Japan2026-09-01
1049Japan2026-09-18

On-Demand Data

NameIdCountryDate
Clifford K Foller1000Australia2026-09-09
Kaitlin H Royster1001Japan2026-09-03
Adams G Amigon1002France2026-09-09
Salvatore P Maclead1003Japan2026-09-04
Cody N Flosi1004Canada2026-09-13
Leja I Ostrosky1005Argentina2026-09-12
Wickens G Slusarski1006United Kingdom2026-09-19
Emily J Malet1007Australia2026-09-22
Mayumi D Briddick1008France2026-09-12
James H Iturbide1009Germany2026-09-27
Misaki G Foller1010France2026-09-06
Alejandro U Glick1011Italy2026-09-01
Morrow Q Morasca1012Canada2026-09-03
Clifford J Ferencz1013India2026-09-13
Silvio W Dilliard1014Australia2026-09-04
Morrow G Darakjy1015Brazil2026-09-18
Misaki Y Saylors1016Australia2026-09-17
Julie Y Albares1017Russia2026-09-25
James S Marrier1018India2026-09-14
Chavez Q Ruta1019Germany2026-09-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja S GauchoSpainBernardo Dominic UNQUALIFIED
Octavia I KolmetzAustraliaBernardo Dominic RENEWAL
Munro N DarakjyItalyIvan Magalhaes NEW
Leon T GauchoFranceAmy Elsner PROPOSAL
Claire Y BriddickSpainStephen Shaw RENEWAL
Jeanfrancois D TollnerIndiaIvan Magalhaes PROPOSAL
Julie H OldroydGermanyAsiya Javayant PROPOSAL
Mujtaba B MaletArgentinaIoni Bowcher RENEWAL
Aditya S AlbaresSpainXuxue Feng PROPOSAL
Jennifer C MarrierAustraliaIvan Magalhaes NEW
Francesco L StensethSpainStephen Shaw UNQUALIFIED
Kaitlin X CaudySpainAmy Elsner QUALIFIED
Aika R MaletBrazilAmy Elsner NEGOTIATION
Maria R PaprockiSpainOnyama Limba PROPOSAL
Claire A GlickAustraliaBernardo Dominic PROPOSAL
Maisha I WieserBrazilStephen Shaw NEGOTIATION
Aruna B RulapaughBrazilAnna Fali QUALIFIED
Morrow W OstroskyGermanyElwin Sharvill UNQUALIFIED
Nicolas J SergiItalyStephen Shaw RENEWAL
Jones L PerinItalyElwin Sharvill NEGOTIATION
Aruna T CaudyGermanyStephen Shaw QUALIFIED
Mujtaba W OldroydGermanyXuxue Feng NEW
Adams W RutaArgentinaIvan Magalhaes NEGOTIATION
Juan H WhobreyUnited KingdomAnna Fali NEW
Stacey A ChuiIndiaAmy Elsner RENEWAL
Costa W AmigonArgentinaAsiya Javayant NEGOTIATION
Adams P ChuiIndiaElwin Sharvill PROPOSAL
Ivar Y SlusarskiUnited KingdomIvan Magalhaes QUALIFIED
Clifford A DarakjyItalyAsiya Javayant PROPOSAL
Jones M RulapaughGermanyXuxue Feng PROPOSAL
Munro A StockhamAustraliaElwin Sharvill UNQUALIFIED
Deepesh P InouyeItalyXuxue Feng RENEWAL
Costa B KolmetzSpainAnna Fali NEW
Claire P StockhamItalyAnna Fali QUALIFIED
Leja G SergiArgentinaElwin Sharvill UNQUALIFIED
Darci O WaycottBrazilIvan Magalhaes NEGOTIATION
Julie Y GillianItalyAmy Elsner NEW
Kaitlin O GillianUnited KingdomElwin Sharvill RENEWAL
Jennifer E DoeItalyOnyama Limba UNQUALIFIED
Octavia B CaldareraItalyOnyama Limba 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>