Summer Sale is here 🏖️ Get 50% off with code PRSM25 Learn More

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
Wickens Y OldroydItalyAnna Fali PROPOSAL
Francesco B ButtUnited KingdomAmy Elsner UNQUALIFIED
Mayumi P KolmetzItalyIoni Bowcher NEGOTIATION
Aditya M MaletJapanElwin Sharvill RENEWAL
Clifford G FlosiFranceAnna Fali NEGOTIATION
Munro O AmigonUnited KingdomElwin Sharvill UNQUALIFIED
Wickens E GarufiUnited KingdomAsiya Javayant RENEWAL
Aditya I OstroskyItalyBernardo Dominic RENEWAL
Clifford R CaudyRussiaStephen Shaw QUALIFIED
David K DarakjyIndiaAnna Fali RENEWAL
Costa Z BriddickFranceIoni Bowcher PROPOSAL
Claire Q RulapaughCanadaAsiya Javayant PROPOSAL
Jennifer W RimJapanAnna Fali NEW
Munro E KuskoCanadaXuxue Feng PROPOSAL
Arvin F GillianJapanAmy Elsner UNQUALIFIED
Maisha K InouyeIndiaAnna Fali NEW
Tony M CaldareraGermanyElwin Sharvill UNQUALIFIED
Murillo D GlickUnited KingdomOnyama Limba PROPOSAL
Silvio B AlbaresBrazilElwin Sharvill RENEWAL
Emily Y VocelkaIndiaIvan Magalhaes PROPOSAL
Aruna Z MaletFranceAsiya Javayant RENEWAL
Cody E MarrierIndiaOnyama Limba QUALIFIED
Adams N SlusarskiCanadaAmy Elsner QUALIFIED
Izzy Z BriddickBrazilElwin Sharvill NEGOTIATION
Silvio C SergiBrazilAsiya Javayant NEGOTIATION
Ashley V ButtRussiaAsiya Javayant NEGOTIATION
Emily D MaletGermanyAsiya Javayant PROPOSAL
Cody R MaletCanadaIvan Magalhaes PROPOSAL
Clifford L BriddickUnited KingdomOnyama Limba NEGOTIATION
Ashley E ShinkoIndiaIvan Magalhaes RENEWAL
Ivar X IturbideJapanIoni Bowcher PROPOSAL
Aika A SlusarskiGermanyXuxue Feng PROPOSAL
Misaki W OldroydBrazilIvan Magalhaes UNQUALIFIED
Julie P InouyeItalyIoni Bowcher PROPOSAL
Cody K NestleFranceOnyama Limba PROPOSAL
Morrow T BowleyCanadaOnyama Limba NEGOTIATION
Munro N DoeRussiaIoni Bowcher NEGOTIATION
Leja K SaylorsUnited KingdomAnna Fali PROPOSAL
Antonio B CaudyBrazilElwin Sharvill UNQUALIFIED
Clifford Y InouyeUnited KingdomAmy Elsner PROPOSAL
James V RulapaughArgentinaElwin Sharvill NEGOTIATION
Adams A MaletCanadaAmy Elsner RENEWAL
Mujtaba E AlbaresGermanyStephen Shaw RENEWAL
Arvin K KuskoJapanElwin Sharvill NEW
Sinclair S FlosiBrazilAsiya Javayant NEW
Francesco D GarufiRussiaIoni Bowcher UNQUALIFIED
Ashley E DoeFranceElwin Sharvill PROPOSAL
Morrow U FerenczJapanIvan Magalhaes NEGOTIATION
Jennifer X RimRussiaAmy Elsner QUALIFIED
Leja O WaycottFranceElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Francesco S NestleFranceAmy Elsner RENEWAL
Arvin M VocelkaAustraliaAmy Elsner NEGOTIATION
Darci Q StockhamFranceIoni Bowcher UNQUALIFIED
Jones N DilliardUnited KingdomOnyama Limba NEW
Aika B WieserItalyAnna Fali UNQUALIFIED
Emily B VenereSpainOnyama Limba UNQUALIFIED
James G DoeRussiaStephen Shaw PROPOSAL
Octavia B StensethIndiaXuxue Feng PROPOSAL
Murillo T FollerGermanyBernardo Dominic PROPOSAL
Salvatore L ChuiRussiaAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith R StockhamBrazil2025-08-17Rousseaux, Michael Esq UNQUALIFIED51Asiya Javayant
1001Leon C SchemmerItaly2025-08-02Rousseaux, Michael Esq RENEWAL7Anna Fali
1002Morrow T NickaJapan2025-08-06Benton, John B Jr NEGOTIATION55Elwin Sharvill
1003Emily E KolmetzRussia2025-07-27Dorl, James J Esq QUALIFIED65Ivan Magalhaes
1004Morrow T IturbideJapan2025-08-20Chanay, Jeffrey A Esq UNQUALIFIED83Onyama Limba
1005James J TollnerSpain2025-08-12Rousseaux, Michael Esq NEGOTIATION33Stephen Shaw
1006Jeanfrancois Z PaprockiGermany2025-08-06King, Christopher A Esq NEW72Anna Fali
1007David P ChuiArgentina2025-08-15Dorl, James J Esq NEGOTIATION98Amy Elsner
1008Aika I FlosiFrance2025-08-14Buckley Miller Wright NEGOTIATION54Amy Elsner
1009Mayumi F KuskoJapan2025-08-23Rousseaux, Michael Esq RENEWAL46Stephen Shaw
1010Aditya P PoquetteJapan2025-08-23Rangoni Of Florence QUALIFIED20Stephen Shaw
1011Salvatore Z PaprockiRussia2025-08-07Chapman, Ross E Esq PROPOSAL12Bernardo Dominic
1012Jefferson U RulapaughItaly2025-08-16Printing Dimensions NEW22Ivan Magalhaes
1013Aditya A OstroskyGermany2025-08-16Feltz Printing Service NEW66Ivan Magalhaes
1014Nicolas F VocelkaFrance2025-07-29Feltz Printing Service QUALIFIED25Amy Elsner
1015Darci L ChuiCanada2025-07-26Chanay, Jeffrey A Esq NEW68Onyama Limba
1016Jennifer A RutaGermany2025-07-27Feltz Printing Service NEW74Xuxue Feng
1017Leon Q MaletAustralia2025-08-22Chapman, Ross E Esq PROPOSAL56Amy Elsner
1018Smith X VenereIndia2025-07-30Rousseaux, Michael Esq PROPOSAL65Xuxue Feng
1019Ricardo Y CampainArgentina2025-08-18Chapman, Ross E Esq QUALIFIED72Ivan Magalhaes
1020Cody X RimAustralia2025-07-28Chapman, Ross E Esq NEW84Ivan Magalhaes
1021Smith O CampainBrazil2025-08-03King, Christopher A Esq QUALIFIED41Stephen Shaw
1022Wickens R StockhamSpain2025-08-19Chanay, Jeffrey A Esq NEW46Xuxue Feng
1023Claire R SergiGermany2025-08-03Commercial Press UNQUALIFIED33Xuxue Feng
1024Deepesh U CampainRussia2025-08-13Printing Dimensions UNQUALIFIED61Bernardo Dominic
1025Jones R ShinkoGermany2025-08-03Chemel, James L Cpa PROPOSAL86Xuxue Feng
1026Nicolas G ButtSpain2025-08-05Truhlar And Truhlar Attys PROPOSAL98Amy Elsner
1027David S CaudySpain2025-08-09King, Christopher A Esq UNQUALIFIED48Amy Elsner
1028James Z CaldareraBrazil2025-07-30Chapman, Ross E Esq NEGOTIATION19Ivan Magalhaes
1029Rodrigues V KolmetzRussia2025-08-17Feltz Printing Service QUALIFIED33Amy Elsner
1030Maisha Q FlosiAustralia2025-08-22Chanay, Jeffrey A Esq NEGOTIATION27Xuxue Feng
1031Clifford G FollerSpain2025-07-31Buckley Miller Wright PROPOSAL11Ioni Bowcher
1032Wickens N AmigonItaly2025-08-12Dorl, James J Esq NEW43Stephen Shaw
1033Mayumi E BologniaSpain2025-07-31Buckley Miller Wright NEW51Ioni Bowcher
1034Maisha N SaylorsItaly2025-07-30Printing Dimensions PROPOSAL68Stephen Shaw
1035Jones Q WhobreyUnited Kingdom2025-08-22Printing Dimensions NEW27Ioni Bowcher
1036Kadeem S FollerBrazil2025-08-09Chanay, Jeffrey A Esq QUALIFIED85Elwin Sharvill
1037Deepesh D PoquetteAustralia2025-08-15King, Christopher A Esq UNQUALIFIED75Elwin Sharvill
1038Mayumi K RulapaughCanada2025-08-06Feltz Printing Service QUALIFIED27Onyama Limba
1039James V IturbideUnited Kingdom2025-08-19Feiner Bros QUALIFIED70Anna Fali
1040Maisha C CaudyUnited Kingdom2025-08-17Morlong Associates RENEWAL82Bernardo Dominic
1041Izzy C RutaItaly2025-08-14Feltz Printing Service NEGOTIATION77Stephen Shaw
1042Silvio R MarrierIndia2025-08-11Truhlar And Truhlar Attys NEGOTIATION51Elwin Sharvill
1043Deepesh V SergiItaly2025-08-04King, Christopher A Esq RENEWAL77Ioni Bowcher
1044Mujtaba U GillianCanada2025-08-10Feiner Bros QUALIFIED55Xuxue Feng
1045Leon N WhobreyGermany2025-08-05Truhlar And Truhlar Attys NEW12Ivan Magalhaes
1046Aruna J SergiIndia2025-08-18Feiner Bros PROPOSAL97Amy Elsner
1047Morrow L SaylorsJapan2025-08-05Buckley Miller Wright QUALIFIED60Onyama Limba
1048Nicolas O BologniaAustralia2025-08-06Benton, John B Jr QUALIFIED38Elwin Sharvill
1049Aika M FollerJapan2025-08-12Chanay, Jeffrey A Esq NEW53Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Faith B ShinkoGermanyAmy Elsner QUALIFIED
Alejandro Q KuskoRussiaBernardo Dominic NEGOTIATION
Adams C MarrierUnited KingdomXuxue Feng QUALIFIED
Leon K CaldareraIndiaIvan Magalhaes NEGOTIATION
Wickens N CampainCanadaAnna Fali NEGOTIATION
Misaki M WieserSpainAnna Fali PROPOSAL
Adams W AmigonItalyBernardo Dominic QUALIFIED
Kadeem B SaylorsSpainAmy Elsner PROPOSAL
Chavez E KuskoGermanyElwin Sharvill RENEWAL
Wickens F RulapaughSpainBernardo Dominic RENEWAL
Isabel C StockhamCanadaAmy Elsner NEW
Jeanfrancois T PoquetteItalyAsiya Javayant RENEWAL
Smith N RoysterFranceStephen Shaw NEGOTIATION
Maisha J WhobreyUnited KingdomOnyama Limba PROPOSAL
Wickens K IturbideUnited KingdomIoni Bowcher NEGOTIATION
Aditya T BowleyIndiaAmy Elsner RENEWAL
Juan A CaudyArgentinaBernardo Dominic UNQUALIFIED
Adams S DoeCanadaAsiya Javayant RENEWAL
Leon S GlickItalyAsiya Javayant NEW
Johnson Y IturbideUnited KingdomOnyama Limba PROPOSAL
Costa W AlbaresIndiaIvan Magalhaes NEGOTIATION
James S CaldareraBrazilIvan Magalhaes NEGOTIATION
Aditya M RimArgentinaAsiya Javayant NEW
Murillo N FlosiUnited KingdomIoni Bowcher RENEWAL
Alejandro D ButtIndiaXuxue Feng NEW
Chavez G BowleyCanadaIoni Bowcher NEGOTIATION
Jennifer M DarakjyIndiaIvan Magalhaes RENEWAL
Octavia K MacleadAustraliaIoni Bowcher UNQUALIFIED
Maisha N FerenczBrazilStephen Shaw PROPOSAL
Murillo B GillianBrazilAsiya Javayant RENEWAL
Silvio J MorascaAustraliaAmy Elsner UNQUALIFIED
Greenwood J DilliardCanadaBernardo Dominic NEGOTIATION
David O MacleadAustraliaIoni Bowcher PROPOSAL
Mayumi U MacleadIndiaAnna Fali PROPOSAL
Jefferson O VenereAustraliaIoni Bowcher QUALIFIED
Emily Z DarakjyArgentinaIvan Magalhaes NEGOTIATION
Morrow L WhobreyItalyOnyama Limba NEGOTIATION
Rodrigues M RoysterBrazilAmy Elsner NEGOTIATION
Costa B BologniaAustraliaAnna Fali QUALIFIED
Leja H BologniaAustraliaAmy Elsner PROPOSAL
Leon Y VocelkaArgentinaElwin Sharvill QUALIFIED
Leon E BologniaBrazilBernardo Dominic NEW
Nicolas R CaudySpainAsiya Javayant QUALIFIED
Alejandro F PaprockiIndiaXuxue Feng NEGOTIATION
Nicolas V BriddickGermanyOnyama Limba PROPOSAL
Faith H SlusarskiItalyBernardo Dominic NEW
Octavia L NickaSpainAsiya Javayant RENEWAL
Sinclair X GillianGermanyBernardo Dominic PROPOSAL
Isabel P PaprockiIndiaIoni Bowcher RENEWAL
Mayumi M MaletFranceStephen Shaw UNQUALIFIED
Frozen Columns
Name
Deepesh Z Bowley
Jones A Venere
Tony P Perin
Nicolas N Glick
Alejandro L Maclead
Costa A Wieser
Sinclair P Flosi
Mujtaba Q Foller
Izzy N Figeroa
Leon X Foller
Maria U Iturbide
Greenwood M Dilliard
Antonio U Rim
James D Poquette
Kadeem R Gillian
Francesco Q Wieser
Francesco L Amigon
Claire D Foller
Deepesh T Malet
Kaitlin B Rulapaugh
Alejandro S Poquette
Clifford X Shinko
Jeanfrancois F Flosi
Aika N Venere
Antonio C Wieser
Leja Y Malet
Aruna J Foller
Leja E Inouye
Murillo G Iturbide
Smith Q Oldroyd
Chavez E Albares
Maisha D Butt
Clifford O Iturbide
Sinclair D Venere
Leja N Foller
James F Stockham
Francesco A Sergi
Costa A Perin
Munro D Ruta
Kadeem U Kolmetz
Francesco V Schemmer
Faith X Morasca
Claire L Oldroyd
Kaitlin H Inouye
Mayumi B Gillian
Adams A Gillian
Octavia V Saylors
Maisha I Sergi
Costa O Inouye
Mujtaba A Whobrey
IdCountryDate
1000Germany2025-07-27
1001India2025-07-27
1002United Kingdom2025-07-26
1003Australia2025-08-23
1004Australia2025-08-04
1005Italy2025-08-09
1006Italy2025-07-28
1007Brazil2025-07-31
1008Australia2025-07-26
1009India2025-08-06
1010Germany2025-08-08
1011United Kingdom2025-08-13
1012Spain2025-07-28
1013Japan2025-07-29
1014United Kingdom2025-08-11
1015Italy2025-08-13
1016Canada2025-08-02
1017Canada2025-08-07
1018Brazil2025-08-04
1019Italy2025-08-01
1020France2025-08-09
1021United Kingdom2025-08-17
1022France2025-08-17
1023Canada2025-08-22
1024Brazil2025-08-22
1025Russia2025-07-30
1026Australia2025-08-10
1027Australia2025-08-17
1028Spain2025-08-05
1029France2025-08-17
1030Japan2025-08-16
1031Brazil2025-08-08
1032Italy2025-08-17
1033Spain2025-08-11
1034Japan2025-08-06
1035India2025-08-24
1036Brazil2025-08-13
1037Italy2025-08-11
1038Russia2025-08-09
1039Canada2025-08-19
1040Argentina2025-08-21
1041Germany2025-08-08
1042Italy2025-08-23
1043United Kingdom2025-08-20
1044Brazil2025-08-04
1045Italy2025-08-11
1046Germany2025-08-04
1047Canada2025-08-09
1048Argentina2025-08-05
1049United Kingdom2025-08-10

On-Demand Data

NameIdCountryDate
Mujtaba T Chui1000Russia2025-08-06
Mujtaba Z Flosi1001United Kingdom2025-08-11
Nicolas G Stockham1002Canada2025-08-23
Octavia J Darakjy1003India2025-07-30
Maria O Nestle1004Germany2025-08-05
Emily L Campain1005Italy2025-08-13
Smith G Maclead1006Canada2025-08-07
Aruna F Briddick1007Japan2025-08-17
Cody J Nicka1008Japan2025-08-05
Aditya B Stockham1009Russia2025-08-03
Chavez Y Perin1010Japan2025-08-24
Mayumi M Foller1011Brazil2025-08-14
Antonio F Morasca1012Germany2025-08-03
Johnson S Paprocki1013Argentina2025-08-01
Isabel X Doe1014Germany2025-08-23
Kadeem A Gaucho1015India2025-08-18
Stacey J Ruta1016Argentina2025-08-24
Aika R Briddick1017Germany2025-08-11
Antonio Y Poquette1018France2025-07-27
Johnson X Bowley1019India2025-08-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois C VocelkaUnited KingdomAmy Elsner RENEWAL
Maria T KolmetzBrazilElwin Sharvill NEGOTIATION
Alejandro Q CaldareraUnited KingdomAnna Fali UNQUALIFIED
Darci K CaldareraArgentinaIoni Bowcher NEW
Ivar H GillianAustraliaElwin Sharvill QUALIFIED
Misaki Y AlbaresBrazilIoni Bowcher UNQUALIFIED
Francesco S MacleadRussiaBernardo Dominic QUALIFIED
Silvio A RoysterIndiaIoni Bowcher RENEWAL
Chavez T FigeroaGermanyAsiya Javayant NEGOTIATION
Chavez Z AlbaresItalyOnyama Limba RENEWAL
Sinclair S AmigonRussiaElwin Sharvill QUALIFIED
Aruna O FigeroaJapanOnyama Limba UNQUALIFIED
Chavez A GauchoArgentinaAmy Elsner RENEWAL
Smith R NestleJapanStephen Shaw NEGOTIATION
Mayumi R TollnerArgentinaAnna Fali NEW
Izzy P RimJapanAsiya Javayant NEGOTIATION
Mayumi K BowleyIndiaXuxue Feng PROPOSAL
Clifford R CampainCanadaAnna Fali UNQUALIFIED
Tony W IturbideCanadaAmy Elsner UNQUALIFIED
Leon W BologniaJapanXuxue Feng UNQUALIFIED
Mayumi F VenereAustraliaIvan Magalhaes PROPOSAL
Maisha V SchemmerFranceBernardo Dominic RENEWAL
Mujtaba D BologniaSpainIoni Bowcher NEW
Cody T KuskoBrazilAnna Fali NEW
Maria L GlickFranceBernardo Dominic PROPOSAL
Salvatore E MaletUnited KingdomIvan Magalhaes RENEWAL
Stacey P CaudyCanadaIvan Magalhaes PROPOSAL
Jennifer T WaycottFranceAsiya Javayant NEW
Jeanfrancois Z NestleFranceIvan Magalhaes UNQUALIFIED
David X FollerSpainAnna Fali QUALIFIED
Deepesh P WieserAustraliaBernardo Dominic NEW
Chavez X MorascaFranceXuxue Feng NEW
Tony C RimCanadaAsiya Javayant PROPOSAL
Adams P KuskoItalyIvan Magalhaes RENEWAL
Costa J VenereIndiaIvan Magalhaes RENEWAL
Aditya D KuskoIndiaAnna Fali NEGOTIATION
Adams B WieserBrazilIoni Bowcher NEGOTIATION
Nicolas A PoquetteAustraliaIoni Bowcher RENEWAL
Faith X DarakjySpainElwin Sharvill RENEWAL
Maria P DoeRussiaIoni Bowcher 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>