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
James D SlusarskiGermanyElwin Sharvill NEW
Tony R KolmetzGermanyElwin Sharvill UNQUALIFIED
Stacey H VenereArgentinaBernardo Dominic NEGOTIATION
Ricardo K BriddickBrazilAsiya Javayant RENEWAL
Izzy E MaletIndiaElwin Sharvill PROPOSAL
Morrow N VenereJapanAnna Fali PROPOSAL
Adams B SchemmerIndiaOnyama Limba NEW
Kaitlin I MorascaUnited KingdomAnna Fali NEW
Alejandro O KolmetzIndiaAmy Elsner UNQUALIFIED
Murillo O CaudySpainStephen Shaw NEW
Murillo C KuskoItalyAmy Elsner NEGOTIATION
Murillo V ButtUnited KingdomOnyama Limba NEW
Adams K NickaJapanAmy Elsner NEGOTIATION
Silvio Y GarufiUnited KingdomOnyama Limba PROPOSAL
Wickens B GauchoRussiaAmy Elsner UNQUALIFIED
Costa A ChuiArgentinaIvan Magalhaes NEGOTIATION
Ricardo U SaylorsItalyAmy Elsner RENEWAL
Nicolas B CampainJapanAsiya Javayant RENEWAL
Jeanfrancois O BologniaCanadaAnna Fali RENEWAL
Darci O DarakjyIndiaElwin Sharvill PROPOSAL
Jennifer J ShinkoArgentinaAmy Elsner RENEWAL
Clifford W InouyeAustraliaStephen Shaw NEW
Leja U SchemmerBrazilStephen Shaw NEW
Costa Y ChuiUnited KingdomBernardo Dominic UNQUALIFIED
Leja Z OstroskySpainXuxue Feng NEGOTIATION
Kaitlin U RoysterFranceAmy Elsner PROPOSAL
Jefferson S NickaRussiaXuxue Feng QUALIFIED
Adams N GauchoBrazilStephen Shaw NEW
Cody B MaletUnited KingdomElwin Sharvill PROPOSAL
Clifford R SergiGermanyBernardo Dominic NEW
Adams Y AlbaresBrazilElwin Sharvill NEGOTIATION
Jennifer J RimFranceElwin Sharvill NEGOTIATION
Clifford Y SlusarskiAustraliaIvan Magalhaes QUALIFIED
Aika I StockhamJapanXuxue Feng QUALIFIED
Claire D GillianJapanBernardo Dominic PROPOSAL
Maria G GillianArgentinaOnyama Limba QUALIFIED
Misaki E DilliardJapanAnna Fali RENEWAL
Costa K MaletRussiaOnyama Limba NEGOTIATION
Maisha V KolmetzCanadaAmy Elsner UNQUALIFIED
Nicolas R AlbaresAustraliaAsiya Javayant NEGOTIATION
Ricardo S MaletCanadaIvan Magalhaes NEW
Ivar A IturbideJapanAmy Elsner NEW
Aika P DilliardAustraliaElwin Sharvill QUALIFIED
Kadeem G SlusarskiRussiaAmy Elsner UNQUALIFIED
Sinclair L NestleGermanyStephen Shaw QUALIFIED
Jones U InouyeRussiaStephen Shaw NEGOTIATION
Rodrigues O FigeroaIndiaIoni Bowcher NEW
Jones U GlickJapanOnyama Limba NEGOTIATION
Rodrigues F ShinkoRussiaIvan Magalhaes RENEWAL
Smith Y AlbaresItalyAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Darci Q SaylorsIndiaOnyama Limba UNQUALIFIED
Aika E MarrierRussiaAmy Elsner UNQUALIFIED
Juan K AmigonCanadaOnyama Limba RENEWAL
Tony S ChuiJapanAmy Elsner RENEWAL
David Z MarrierGermanyAmy Elsner QUALIFIED
Mujtaba N CaudyGermanyXuxue Feng UNQUALIFIED
Jones G SlusarskiUnited KingdomAnna Fali RENEWAL
Clifford B MorascaItalyStephen Shaw UNQUALIFIED
Aditya R VocelkaArgentinaXuxue Feng NEGOTIATION
Stacey B MarrierUnited KingdomAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair U DoeGermany2026-10-16Benton, John B Jr PROPOSAL80Ioni Bowcher
1001Ivar A ShinkoGermany2026-11-10Truhlar And Truhlar Attys NEW66Elwin Sharvill
1002Jeanfrancois P GauchoBrazil2026-10-17Dorl, James J Esq NEGOTIATION65Asiya Javayant
1003Jones T PoquetteFrance2026-11-11Rousseaux, Michael Esq NEW81Bernardo Dominic
1004Johnson S ChuiFrance2026-10-29Chanay, Jeffrey A Esq PROPOSAL58Bernardo Dominic
1005Costa X BriddickFrance2026-11-02Benton, John B Jr QUALIFIED59Onyama Limba
1006Francesco R GlickUnited Kingdom2026-10-24Chemel, James L Cpa PROPOSAL95Stephen Shaw
1007Maisha G InouyeUnited Kingdom2026-10-18Chapman, Ross E Esq PROPOSAL43Ioni Bowcher
1008Leon D KolmetzUnited Kingdom2026-10-27Chanay, Jeffrey A Esq NEGOTIATION85Amy Elsner
1009Sinclair Q FigeroaIndia2026-10-31Feltz Printing Service RENEWAL52Asiya Javayant
1010Alejandro C PaprockiRussia2026-10-17Buckley Miller Wright PROPOSAL75Stephen Shaw
1011Julie U PoquetteJapan2026-10-29Chemel, James L Cpa UNQUALIFIED53Elwin Sharvill
1012Kaitlin I ButtArgentina2026-10-27Feiner Bros NEGOTIATION85Anna Fali
1013Kaitlin X BriddickBrazil2026-10-27Commercial Press QUALIFIED75Anna Fali
1014Francesco E MorascaIndia2026-10-25Commercial Press QUALIFIED44Onyama Limba
1015Stacey I PoquetteIndia2026-10-20Rousseaux, Michael Esq QUALIFIED26Xuxue Feng
1016Wickens F GauchoBrazil2026-11-01Chanay, Jeffrey A Esq NEGOTIATION28Bernardo Dominic
1017Mujtaba K SergiItaly2026-11-12Buckley Miller Wright NEW97Asiya Javayant
1018Clifford B AmigonSpain2026-10-14Dorl, James J Esq UNQUALIFIED4Ioni Bowcher
1019Johnson K StensethRussia2026-10-24Rousseaux, Michael Esq NEGOTIATION83Ivan Magalhaes
1020Emily N IturbideRussia2026-10-14Commercial Press RENEWAL47Bernardo Dominic
1021Jennifer I StockhamGermany2026-11-10Buckley Miller Wright NEW98Amy Elsner
1022Leon B GauchoCanada2026-10-28Chapman, Ross E Esq RENEWAL57Xuxue Feng
1023Leon J StockhamCanada2026-10-25Feiner Bros QUALIFIED67Anna Fali
1024Claire H KolmetzCanada2026-11-06Morlong Associates QUALIFIED43Bernardo Dominic
1025Antonio Q StensethFrance2026-11-05Chemel, James L Cpa RENEWAL41Asiya Javayant
1026Octavia M IturbideBrazil2026-10-20Morlong Associates UNQUALIFIED6Bernardo Dominic
1027Mujtaba E CaldareraIndia2026-10-26Morlong Associates RENEWAL72Asiya Javayant
1028Munro S StensethFrance2026-11-10Commercial Press NEGOTIATION5Anna Fali
1029Ivar H CampainFrance2026-11-12Commercial Press PROPOSAL23Bernardo Dominic
1030Ivar U WieserSpain2026-10-22Benton, John B Jr QUALIFIED70Amy Elsner
1031Deepesh R FollerJapan2026-10-22Truhlar And Truhlar Attys UNQUALIFIED27Ivan Magalhaes
1032Isabel V CaldareraJapan2026-11-12Benton, John B Jr QUALIFIED26Bernardo Dominic
1033Costa G AmigonBrazil2026-11-01Truhlar And Truhlar Attys UNQUALIFIED39Anna Fali
1034Stacey X MacleadItaly2026-10-16Commercial Press PROPOSAL91Stephen Shaw
1035Munro S PerinIndia2026-11-11Feiner Bros UNQUALIFIED11Onyama Limba
1036Murillo J MacleadCanada2026-11-12Buckley Miller Wright RENEWAL87Elwin Sharvill
1037Chavez R BowleyRussia2026-10-19Rangoni Of Florence NEGOTIATION30Asiya Javayant
1038Chavez S PaprockiSpain2026-10-18Printing Dimensions UNQUALIFIED72Bernardo Dominic
1039Aika F IturbideFrance2026-10-28Feltz Printing Service RENEWAL88Xuxue Feng
1040James W AmigonUnited Kingdom2026-10-21Feiner Bros NEW73Xuxue Feng
1041Nicolas Q MarrierJapan2026-11-04Benton, John B Jr QUALIFIED22Anna Fali
1042Francesco K DilliardSpain2026-11-05Dorl, James J Esq RENEWAL41Onyama Limba
1043Sinclair H FlosiRussia2026-10-22Printing Dimensions PROPOSAL88Asiya Javayant
1044Munro D WieserBrazil2026-10-15King, Christopher A Esq NEW48Amy Elsner
1045Jeanfrancois F StensethGermany2026-10-30Rangoni Of Florence NEW27Amy Elsner
1046Ashley S BriddickAustralia2026-10-28Commercial Press NEGOTIATION93Ivan Magalhaes
1047Ricardo C RulapaughCanada2026-11-03Rousseaux, Michael Esq RENEWAL10Asiya Javayant
1048Rodrigues J WieserIndia2026-11-02Truhlar And Truhlar Attys PROPOSAL69Onyama Limba
1049Octavia Y ShinkoItaly2026-11-12Chanay, Jeffrey A Esq QUALIFIED79Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Aruna K VenereJapanElwin Sharvill PROPOSAL
Ricardo J StensethGermanyStephen Shaw UNQUALIFIED
Greenwood J FollerGermanyBernardo Dominic NEW
Tony B ButtRussiaOnyama Limba UNQUALIFIED
Aika X FlosiAustraliaAsiya Javayant NEW
James G RulapaughAustraliaXuxue Feng NEGOTIATION
Misaki S KolmetzGermanyBernardo Dominic QUALIFIED
Octavia Q StockhamIndiaAnna Fali UNQUALIFIED
Isabel E SergiItalyIvan Magalhaes RENEWAL
Aruna G SlusarskiArgentinaXuxue Feng QUALIFIED
Sinclair E MaletCanadaIoni Bowcher NEGOTIATION
Ricardo I GauchoGermanyXuxue Feng NEGOTIATION
Leon N SergiGermanyXuxue Feng RENEWAL
Jennifer I DoeGermanyAnna Fali PROPOSAL
Octavia I BriddickItalyOnyama Limba UNQUALIFIED
Clifford U KolmetzCanadaElwin Sharvill NEW
Maisha S MorascaIndiaIoni Bowcher NEW
Clifford C KolmetzJapanAnna Fali PROPOSAL
Wickens U NickaUnited KingdomAnna Fali QUALIFIED
Ricardo N MorascaBrazilStephen Shaw QUALIFIED
Rodrigues F PaprockiCanadaAmy Elsner UNQUALIFIED
Ricardo H WieserAustraliaAnna Fali NEGOTIATION
Octavia C PaprockiUnited KingdomBernardo Dominic NEW
Ricardo D OstroskyArgentinaAsiya Javayant NEW
Jeanfrancois T MorascaAustraliaIoni Bowcher RENEWAL
Isabel S PaprockiBrazilAmy Elsner RENEWAL
Kadeem D RimItalyBernardo Dominic RENEWAL
Munro O RoysterUnited KingdomAmy Elsner RENEWAL
Jennifer Y MacleadRussiaAnna Fali PROPOSAL
Juan Z KolmetzCanadaBernardo Dominic NEGOTIATION
Ashley Z KolmetzSpainAnna Fali PROPOSAL
Alejandro F FlosiSpainElwin Sharvill PROPOSAL
Wickens R GarufiGermanyBernardo Dominic QUALIFIED
Mayumi U VenereIndiaIoni Bowcher RENEWAL
Morrow G DilliardGermanyBernardo Dominic NEGOTIATION
Leja E RimBrazilAnna Fali RENEWAL
Mayumi K MarrierBrazilStephen Shaw QUALIFIED
Francesco W IturbideSpainAnna Fali RENEWAL
Johnson H GauchoRussiaAsiya Javayant UNQUALIFIED
Arvin U FigeroaRussiaXuxue Feng RENEWAL
Ricardo R VocelkaGermanyBernardo Dominic PROPOSAL
Maisha B IturbideFranceBernardo Dominic UNQUALIFIED
Murillo U BowleyArgentinaAmy Elsner NEW
Leon B BologniaBrazilAsiya Javayant UNQUALIFIED
Silvio L MaletBrazilIoni Bowcher UNQUALIFIED
Munro P FlosiGermanyXuxue Feng QUALIFIED
Sinclair C MacleadFranceOnyama Limba PROPOSAL
Chavez S RimBrazilBernardo Dominic NEW
Sinclair N IturbideAustraliaAsiya Javayant QUALIFIED
Emily H CaldareraItalyOnyama Limba NEW
Frozen Columns
Name
Jones F Sergi
Misaki S Gillian
Izzy K Flosi
Ivar N Briddick
Aruna W Kusko
Faith S Kolmetz
Johnson Z Paprocki
Ivar H Tollner
Jennifer O Amigon
Rodrigues P Albares
Murillo Y Malet
Leon G Malet
Leon T Inouye
Salvatore V Bolognia
David O Flosi
Claire G Ruta
Costa I Oldroyd
James K Waycott
Jones P Morasca
Munro A Inouye
Darci C Chui
Jones I Stockham
Aruna X Stenseth
Deepesh A Darakjy
Leja K Darakjy
Kaitlin B Poquette
Nicolas C Saylors
Juan B Maclead
Darci P Waycott
Cody D Nestle
James L Gaucho
Salvatore Y Shinko
Deepesh T Iturbide
Darci D Nicka
Maisha B Gaucho
Jones L Rim
David M Oldroyd
Sinclair X Whobrey
Jones V Royster
Julie U Campain
Ivar X Doe
Aika G Kusko
Murillo O Glick
Aika W Albares
Aditya D Schemmer
Mayumi J Venere
Misaki T Paprocki
Jeanfrancois W Sergi
Arvin B Garufi
Salvatore I Figeroa
IdCountryDate
1000India2026-10-15
1001Brazil2026-10-26
1002Australia2026-10-17
1003United Kingdom2026-10-15
1004Germany2026-10-15
1005Germany2026-11-10
1006United Kingdom2026-11-04
1007Canada2026-10-16
1008United Kingdom2026-10-31
1009Argentina2026-10-14
1010India2026-10-19
1011Japan2026-10-27
1012Germany2026-11-11
1013Canada2026-11-07
1014United Kingdom2026-11-04
1015Japan2026-10-24
1016Italy2026-10-16
1017Australia2026-10-23
1018Australia2026-10-25
1019Russia2026-10-17
1020Brazil2026-10-22
1021Japan2026-10-15
1022India2026-10-25
1023Japan2026-10-18
1024Japan2026-11-07
1025Italy2026-10-14
1026Australia2026-10-23
1027Brazil2026-11-12
1028Argentina2026-10-24
1029Germany2026-10-29
1030Russia2026-11-01
1031India2026-10-25
1032France2026-11-05
1033India2026-10-23
1034France2026-11-10
1035Italy2026-11-02
1036France2026-11-07
1037Russia2026-11-08
1038Brazil2026-11-08
1039Italy2026-10-27
1040Brazil2026-11-09
1041Germany2026-10-24
1042Russia2026-10-16
1043India2026-11-04
1044Japan2026-10-27
1045Germany2026-10-23
1046Argentina2026-11-03
1047Italy2026-10-20
1048Italy2026-10-21
1049United Kingdom2026-11-07

On-Demand Data

NameIdCountryDate
Leon X Whobrey1000Russia2026-10-23
Izzy F Oldroyd1001Japan2026-11-06
Leja E Whobrey1002France2026-10-17
Aruna S Waycott1003Spain2026-10-20
Darci L Briddick1004France2026-10-16
Faith G Albares1005United Kingdom2026-10-17
Smith E Chui1006Italy2026-11-07
Adams P Schemmer1007Argentina2026-11-11
Deepesh Q Campain1008Australia2026-11-08
Arvin U Campain1009Canada2026-10-18
Costa E Figeroa1010Argentina2026-10-16
Emily G Rulapaugh1011Japan2026-11-07
Ivar F Iturbide1012Canada2026-10-27
Maisha J Poquette1013Argentina2026-10-27
Emily J Bowley1014France2026-10-22
David L Ferencz1015Australia2026-10-17
Kaitlin Q Gillian1016France2026-10-25
Nicolas K Schemmer1017Argentina2026-10-14
Mayumi O Rulapaugh1018Spain2026-10-28
Faith V Caldarera1019Italy2026-10-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow V NickaIndiaOnyama Limba UNQUALIFIED
Octavia V RoysterRussiaOnyama Limba PROPOSAL
Mujtaba Y FigeroaGermanyAmy Elsner RENEWAL
Rodrigues I RulapaughFranceIoni Bowcher NEGOTIATION
Julie T BologniaItalyXuxue Feng RENEWAL
Aruna I GauchoRussiaAmy Elsner QUALIFIED
Salvatore X DoeArgentinaXuxue Feng NEW
Leja E MarrierBrazilAnna Fali UNQUALIFIED
Aika N IturbideSpainStephen Shaw NEGOTIATION
Darci M WieserFranceIvan Magalhaes RENEWAL
Johnson Q PaprockiSpainBernardo Dominic NEGOTIATION
Juan P CaudyJapanAsiya Javayant QUALIFIED
Greenwood A NestleJapanOnyama Limba PROPOSAL
Isabel J CaudyCanadaAmy Elsner RENEWAL
Johnson B DoeArgentinaAnna Fali QUALIFIED
Maisha J OstroskyBrazilIvan Magalhaes QUALIFIED
Jennifer C GarufiArgentinaIvan Magalhaes RENEWAL
Jefferson B NickaIndiaIoni Bowcher NEGOTIATION
Murillo H StensethSpainAnna Fali QUALIFIED
Izzy I GauchoGermanyElwin Sharvill NEW
Munro E TollnerArgentinaAmy Elsner QUALIFIED
Kaitlin L GarufiRussiaStephen Shaw UNQUALIFIED
Silvio K WaycottBrazilIoni Bowcher RENEWAL
Tony V BologniaBrazilXuxue Feng UNQUALIFIED
Octavia P WieserItalyAnna Fali PROPOSAL
Morrow W GillianItalyIvan Magalhaes UNQUALIFIED
Kaitlin K OstroskyUnited KingdomOnyama Limba NEGOTIATION
Jeanfrancois S CaudyCanadaOnyama Limba UNQUALIFIED
Leja I ButtArgentinaStephen Shaw UNQUALIFIED
Morrow U ButtBrazilOnyama Limba NEGOTIATION
Mujtaba E SaylorsIndiaIoni Bowcher NEW
Darci Q ShinkoCanadaIoni Bowcher UNQUALIFIED
Jones U WieserJapanXuxue Feng NEGOTIATION
Francesco N OldroydItalyIvan Magalhaes NEW
Julie M NestleItalyIoni Bowcher UNQUALIFIED
Sinclair S GauchoUnited KingdomAsiya Javayant RENEWAL
Jennifer P AlbaresIndiaIoni Bowcher UNQUALIFIED
Misaki B ButtSpainElwin Sharvill RENEWAL
Antonio J VocelkaGermanyElwin Sharvill RENEWAL
Leon U NestleItalyOnyama Limba NEGOTIATION

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