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
Maria Q PoquetteBrazilAnna Fali UNQUALIFIED
Jennifer O GarufiUnited KingdomBernardo Dominic PROPOSAL
Jones K CampainSpainIoni Bowcher UNQUALIFIED
Mujtaba Q RulapaughSpainAmy Elsner NEW
Misaki Z CaudyFranceAsiya Javayant NEGOTIATION
Leon L IturbideFranceBernardo Dominic NEW
Kaitlin S StockhamCanadaOnyama Limba UNQUALIFIED
Stacey X BologniaBrazilAnna Fali QUALIFIED
Octavia Y IturbideItalyElwin Sharvill UNQUALIFIED
Jones F StensethUnited KingdomAnna Fali NEW
Kadeem K FlosiCanadaAsiya Javayant NEW
Nicolas R FerenczSpainXuxue Feng PROPOSAL
Izzy Y FollerGermanyOnyama Limba PROPOSAL
Aika T ButtGermanyOnyama Limba QUALIFIED
Kadeem C BowleyRussiaAmy Elsner QUALIFIED
Misaki E FollerFranceIoni Bowcher UNQUALIFIED
Mujtaba E OstroskyGermanyIoni Bowcher QUALIFIED
Mayumi W SlusarskiRussiaBernardo Dominic PROPOSAL
Izzy P MarrierFranceXuxue Feng RENEWAL
Aika E WhobreyItalyAnna Fali UNQUALIFIED
Rodrigues W PerinArgentinaStephen Shaw UNQUALIFIED
Rodrigues Q KuskoSpainStephen Shaw RENEWAL
Salvatore M FlosiUnited KingdomElwin Sharvill RENEWAL
Leja G RoysterItalyAmy Elsner PROPOSAL
Costa E RimFranceBernardo Dominic UNQUALIFIED
Adams E BologniaJapanIoni Bowcher QUALIFIED
Alejandro E GauchoRussiaIvan Magalhaes UNQUALIFIED
Silvio S MorascaCanadaElwin Sharvill PROPOSAL
Rodrigues C SergiGermanyIoni Bowcher UNQUALIFIED
Silvio Z ChuiJapanXuxue Feng RENEWAL
Smith L DilliardFranceXuxue Feng UNQUALIFIED
Jefferson C SchemmerSpainXuxue Feng PROPOSAL
Leon S ButtArgentinaIoni Bowcher PROPOSAL
Murillo K VenereArgentinaAsiya Javayant RENEWAL
Darci G DarakjyBrazilAnna Fali PROPOSAL
Johnson T RulapaughCanadaBernardo Dominic NEGOTIATION
Rodrigues E SlusarskiRussiaElwin Sharvill UNQUALIFIED
James Y SergiJapanAnna Fali QUALIFIED
Leon A FollerArgentinaElwin Sharvill RENEWAL
Murillo Y NickaCanadaAsiya Javayant RENEWAL
Arvin P BologniaRussiaXuxue Feng PROPOSAL
Isabel I DilliardAustraliaIvan Magalhaes RENEWAL
Mujtaba Y MaletRussiaAmy Elsner PROPOSAL
Jeanfrancois U PaprockiItalyAnna Fali UNQUALIFIED
Clifford X VocelkaBrazilXuxue Feng UNQUALIFIED
Faith I FigeroaSpainElwin Sharvill NEW
Maisha L CaldareraItalyElwin Sharvill PROPOSAL
Alejandro Z BowleyBrazilXuxue Feng NEW
Aruna J OstroskyAustraliaIoni Bowcher QUALIFIED
Isabel P MaletAustraliaIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jefferson H DoeCanadaIoni Bowcher PROPOSAL
Cody P StockhamSpainElwin Sharvill QUALIFIED
Aruna K MaletRussiaStephen Shaw UNQUALIFIED
Arvin H FigeroaIndiaBernardo Dominic UNQUALIFIED
Ashley J MaletGermanyStephen Shaw RENEWAL
Aditya V StockhamRussiaStephen Shaw NEGOTIATION
Maisha R NestleIndiaElwin Sharvill NEGOTIATION
Antonio A DoeIndiaAsiya Javayant NEW
Julie W AmigonSpainElwin Sharvill RENEWAL
Wickens U VenereFranceAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson H CaudyRussia2025-10-16Feiner Bros RENEWAL15Anna Fali
1001Maria T PerinRussia2025-09-27Rousseaux, Michael Esq NEGOTIATION73Amy Elsner
1002Nicolas O DilliardSpain2025-10-01Truhlar And Truhlar Attys NEGOTIATION53Amy Elsner
1003Isabel W BowleyRussia2025-10-01Feiner Bros NEW84Elwin Sharvill
1004Smith V WaycottIndia2025-10-15Morlong Associates NEW70Ioni Bowcher
1005Stacey U RulapaughUnited Kingdom2025-10-13Rousseaux, Michael Esq NEW31Bernardo Dominic
1006Francesco N FlosiItaly2025-10-06Feiner Bros UNQUALIFIED83Stephen Shaw
1007Izzy Z SergiCanada2025-09-26Feiner Bros NEGOTIATION75Ioni Bowcher
1008James A GillianBrazil2025-10-13Feiner Bros RENEWAL8Stephen Shaw
1009Octavia K IturbideItaly2025-10-19King, Christopher A Esq QUALIFIED1Xuxue Feng
1010Octavia Z InouyeIndia2025-10-16Printing Dimensions QUALIFIED69Bernardo Dominic
1011Stacey W AmigonJapan2025-10-10Commercial Press UNQUALIFIED14Elwin Sharvill
1012Faith U FollerUnited Kingdom2025-10-01Chanay, Jeffrey A Esq RENEWAL74Ivan Magalhaes
1013Mujtaba G StockhamSpain2025-10-20Feiner Bros RENEWAL3Ioni Bowcher
1014Izzy O BriddickBrazil2025-10-14Rangoni Of Florence NEGOTIATION84Ivan Magalhaes
1015Julie J SaylorsJapan2025-09-29Benton, John B Jr NEGOTIATION54Xuxue Feng
1016Adams L RoysterItaly2025-09-30Truhlar And Truhlar Attys NEW68Stephen Shaw
1017Greenwood G DilliardJapan2025-10-17Buckley Miller Wright NEGOTIATION5Anna Fali
1018Mayumi F GarufiRussia2025-09-21Morlong Associates QUALIFIED42Bernardo Dominic
1019Stacey V PerinRussia2025-10-06Rousseaux, Michael Esq PROPOSAL70Ioni Bowcher
1020Murillo Q FlosiRussia2025-10-09Commercial Press RENEWAL20Bernardo Dominic
1021Chavez P BologniaItaly2025-09-27Chemel, James L Cpa QUALIFIED9Amy Elsner
1022Munro L AmigonRussia2025-09-27Chapman, Ross E Esq UNQUALIFIED51Ioni Bowcher
1023Octavia S MacleadRussia2025-10-04Dorl, James J Esq NEGOTIATION1Asiya Javayant
1024David R KuskoGermany2025-10-20Chanay, Jeffrey A Esq RENEWAL35Amy Elsner
1025Silvio X StockhamIndia2025-10-09Printing Dimensions RENEWAL50Ivan Magalhaes
1026Antonio V ShinkoCanada2025-09-24Rangoni Of Florence PROPOSAL71Onyama Limba
1027Misaki C MaletArgentina2025-10-05Morlong Associates RENEWAL77Xuxue Feng
1028Salvatore J AlbaresCanada2025-10-07Chapman, Ross E Esq QUALIFIED88Stephen Shaw
1029Emily Q NickaAustralia2025-09-27Morlong Associates QUALIFIED24Ioni Bowcher
1030Munro P CaldareraRussia2025-09-28Feltz Printing Service RENEWAL7Ivan Magalhaes
1031Deepesh J TollnerBrazil2025-09-28Dorl, James J Esq QUALIFIED36Asiya Javayant
1032Isabel F CaudyBrazil2025-10-16Rousseaux, Michael Esq QUALIFIED79Onyama Limba
1033Aditya Z GarufiIndia2025-09-27Feltz Printing Service PROPOSAL96Onyama Limba
1034Mayumi M PerinAustralia2025-10-19Feiner Bros NEGOTIATION2Anna Fali
1035Jones T KuskoUnited Kingdom2025-09-24Rangoni Of Florence UNQUALIFIED70Amy Elsner
1036Antonio V CaudyCanada2025-10-04Buckley Miller Wright NEGOTIATION88Ioni Bowcher
1037Johnson W MacleadUnited Kingdom2025-10-17Truhlar And Truhlar Attys RENEWAL81Elwin Sharvill
1038David T RoysterIndia2025-09-26Chapman, Ross E Esq QUALIFIED44Elwin Sharvill
1039Smith P PerinItaly2025-09-30Benton, John B Jr RENEWAL26Onyama Limba
1040Isabel A RimIndia2025-10-01Morlong Associates UNQUALIFIED94Xuxue Feng
1041Faith O KolmetzUnited Kingdom2025-09-21Truhlar And Truhlar Attys QUALIFIED90Onyama Limba
1042Chavez P MacleadCanada2025-09-30Chapman, Ross E Esq NEGOTIATION48Ivan Magalhaes
1043Sinclair N FollerBrazil2025-10-10Feiner Bros NEGOTIATION27Bernardo Dominic
1044Claire B KolmetzUnited Kingdom2025-10-15Morlong Associates NEGOTIATION30Asiya Javayant
1045Johnson N CaudyBrazil2025-09-21Buckley Miller Wright NEGOTIATION6Anna Fali
1046Munro M MaletAustralia2025-09-23Rousseaux, Michael Esq NEW19Ivan Magalhaes
1047Greenwood K FerenczCanada2025-10-05Printing Dimensions NEW61Xuxue Feng
1048Julie A KuskoUnited Kingdom2025-10-14Chapman, Ross E Esq NEGOTIATION7Stephen Shaw
1049Juan O InouyeUnited Kingdom2025-10-03Morlong Associates QUALIFIED28Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Nicolas N IturbideIndiaIvan Magalhaes QUALIFIED
James F AlbaresGermanyIvan Magalhaes PROPOSAL
Nicolas G BologniaUnited KingdomAmy Elsner UNQUALIFIED
Deepesh W PoquetteBrazilIvan Magalhaes NEW
Wickens P NestleGermanyAnna Fali NEW
Cody P ChuiJapanOnyama Limba RENEWAL
Munro W MaletAustraliaAsiya Javayant NEW
Maisha I CampainCanadaStephen Shaw UNQUALIFIED
Jeanfrancois Y MaletBrazilAmy Elsner UNQUALIFIED
Wickens E AlbaresFranceAsiya Javayant QUALIFIED
Francesco N SchemmerAustraliaOnyama Limba PROPOSAL
Greenwood L SaylorsGermanyBernardo Dominic NEW
Munro M AlbaresJapanOnyama Limba RENEWAL
Jones R GillianArgentinaAsiya Javayant PROPOSAL
Adams W DarakjyRussiaAmy Elsner QUALIFIED
Francesco I NickaCanadaBernardo Dominic QUALIFIED
Salvatore M OldroydRussiaAsiya Javayant UNQUALIFIED
Smith F IturbideRussiaStephen Shaw QUALIFIED
James O DilliardIndiaBernardo Dominic NEW
Juan L VenereItalyIvan Magalhaes QUALIFIED
Kadeem Z CaldareraBrazilIoni Bowcher NEGOTIATION
Chavez Y RoysterBrazilAnna Fali RENEWAL
Julie N FigeroaArgentinaElwin Sharvill NEGOTIATION
Antonio I DoeArgentinaIoni Bowcher NEGOTIATION
Johnson U PoquetteArgentinaIoni Bowcher UNQUALIFIED
Mayumi C SchemmerJapanIvan Magalhaes QUALIFIED
Smith U GarufiJapanAsiya Javayant RENEWAL
Alejandro B FigeroaUnited KingdomAmy Elsner NEGOTIATION
Jeanfrancois N GillianSpainXuxue Feng QUALIFIED
Johnson S AlbaresGermanyAmy Elsner RENEWAL
Stacey G GlickUnited KingdomXuxue Feng NEW
Rodrigues A FollerJapanOnyama Limba UNQUALIFIED
Chavez O CampainBrazilOnyama Limba PROPOSAL
Faith K WieserArgentinaIoni Bowcher PROPOSAL
Sinclair R NestleCanadaIvan Magalhaes RENEWAL
Darci Y AmigonGermanyIvan Magalhaes NEW
Jefferson I RulapaughUnited KingdomIoni Bowcher UNQUALIFIED
Rodrigues T NickaArgentinaAnna Fali UNQUALIFIED
Ricardo I CampainUnited KingdomAsiya Javayant NEW
Cody I NickaArgentinaIvan Magalhaes NEW
Francesco Y ChuiRussiaElwin Sharvill NEW
Stacey Z VocelkaItalyIoni Bowcher PROPOSAL
Claire N AlbaresCanadaAnna Fali PROPOSAL
Greenwood Z BologniaGermanyElwin Sharvill NEW
Mujtaba J NickaSpainElwin Sharvill NEW
David W WaycottFranceStephen Shaw NEGOTIATION
Francesco P MarrierCanadaIvan Magalhaes RENEWAL
Aruna V MorascaSpainStephen Shaw PROPOSAL
Francesco P NestleAustraliaAsiya Javayant RENEWAL
Misaki R FerenczItalyIvan Magalhaes QUALIFIED
Frozen Columns
Name
Leon T Waycott
Johnson J Amigon
Clifford V Royster
Wickens U Morasca
Deepesh P Foller
Aditya Y Albares
Stacey X Morasca
Juan T Wieser
Sinclair M Slusarski
Ivar U Sergi
Isabel C Perin
Chavez C Darakjy
Tony P Doe
Silvio W Foller
Salvatore Y Whobrey
Emily J Ferencz
Nicolas Z Shinko
Wickens B Sergi
Rodrigues J Wieser
Nicolas F Butt
Aruna F Rim
Antonio Z Perin
Rodrigues K Garufi
Faith L Figeroa
Julie D Caudy
Johnson S Campain
Chavez Y Shinko
Antonio T Doe
Leja C Maclead
Jones E Stockham
Faith L Iturbide
James H Gillian
Arvin E Amigon
Cody T Tollner
Julie J Figeroa
Greenwood J Schemmer
Mayumi L Amigon
Ashley A Kolmetz
Alejandro A Doe
Alejandro D Rulapaugh
Nicolas I Garufi
Maisha P Perin
Clifford H Schemmer
Jefferson L Royster
Tony A Malet
Tony L Amigon
Ricardo O Schemmer
Aruna W Nicka
Aika E Figeroa
Julie E Maclead
IdCountryDate
1000United Kingdom2025-10-20
1001Italy2025-10-05
1002Spain2025-09-25
1003United Kingdom2025-10-01
1004Australia2025-10-19
1005France2025-10-18
1006Japan2025-10-09
1007United Kingdom2025-10-16
1008France2025-10-16
1009Russia2025-10-08
1010Argentina2025-10-17
1011India2025-10-16
1012Argentina2025-10-20
1013Argentina2025-10-07
1014Spain2025-10-01
1015Italy2025-09-25
1016Russia2025-10-09
1017Spain2025-10-03
1018India2025-10-11
1019India2025-10-09
1020India2025-09-21
1021Canada2025-09-28
1022Germany2025-10-15
1023Argentina2025-10-05
1024Brazil2025-10-06
1025Argentina2025-09-26
1026Brazil2025-10-10
1027Russia2025-10-10
1028Brazil2025-10-03
1029United Kingdom2025-10-18
1030France2025-10-17
1031Germany2025-10-13
1032Japan2025-09-23
1033Brazil2025-09-21
1034Australia2025-10-16
1035Brazil2025-09-26
1036United Kingdom2025-09-21
1037Russia2025-09-24
1038Japan2025-10-06
1039Germany2025-09-25
1040United Kingdom2025-10-18
1041Germany2025-10-15
1042Italy2025-10-20
1043United Kingdom2025-10-20
1044France2025-10-18
1045Italy2025-10-07
1046Australia2025-10-04
1047Argentina2025-10-10
1048Australia2025-10-05
1049Russia2025-10-10

On-Demand Data

NameIdCountryDate
Antonio Z Bowley1000Australia2025-10-13
Munro O Nicka1001Japan2025-10-05
Jennifer X Poquette1002Brazil2025-10-05
Faith T Venere1003Germany2025-10-14
Mayumi C Darakjy1004Argentina2025-10-04
Cody K Briddick1005France2025-10-19
Leon P Flosi1006Japan2025-10-02
Cody R Poquette1007Australia2025-10-20
Morrow H Foller1008United Kingdom2025-09-22
Faith W Tollner1009Italy2025-10-07
Wickens A Wieser1010Spain2025-10-17
Cody E Dilliard1011Japan2025-09-24
Aditya W Wieser1012Australia2025-10-17
Emily Z Maclead1013Argentina2025-10-19
Johnson O Doe1014Spain2025-09-21
Morrow F Stockham1015Spain2025-09-22
Ricardo H Rim1016United Kingdom2025-10-18
Julie X Maclead1017Argentina2025-10-13
Leja X Malet1018Germany2025-10-04
Sinclair E Oldroyd1019Italy2025-10-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith R BriddickJapanAnna Fali NEGOTIATION
Emily X BowleyAustraliaIoni Bowcher NEW
Munro Q DarakjyJapanIoni Bowcher NEGOTIATION
Adams B InouyeAustraliaElwin Sharvill PROPOSAL
Kadeem X VenereBrazilStephen Shaw RENEWAL
Smith J DoeIndiaAmy Elsner NEGOTIATION
Aditya Y AmigonFranceAnna Fali UNQUALIFIED
David I VocelkaCanadaIvan Magalhaes RENEWAL
Kaitlin H KolmetzIndiaStephen Shaw UNQUALIFIED
Juan X KuskoIndiaAmy Elsner UNQUALIFIED
Leon D RutaRussiaIoni Bowcher UNQUALIFIED
Ivar C WieserIndiaIoni Bowcher NEW
Mujtaba N OldroydSpainAnna Fali RENEWAL
Isabel Y KuskoSpainOnyama Limba NEGOTIATION
Francesco S RoysterArgentinaElwin Sharvill NEGOTIATION
Emily Q FigeroaBrazilXuxue Feng NEGOTIATION
Aruna U PerinAustraliaAnna Fali NEGOTIATION
Ivar Q BriddickIndiaAsiya Javayant PROPOSAL
Deepesh M DarakjyJapanElwin Sharvill NEGOTIATION
Wickens A StockhamAustraliaAmy Elsner QUALIFIED
Izzy A VocelkaGermanyOnyama Limba UNQUALIFIED
Misaki G MarrierSpainIoni Bowcher QUALIFIED
Munro J GauchoJapanOnyama Limba RENEWAL
Maisha Q WieserAustraliaElwin Sharvill NEW
Kadeem Y SchemmerAustraliaAnna Fali QUALIFIED
Greenwood Y DilliardCanadaElwin Sharvill PROPOSAL
Kadeem D StensethItalyAnna Fali UNQUALIFIED
Isabel D FlosiUnited KingdomIvan Magalhaes PROPOSAL
Aditya H RulapaughJapanBernardo Dominic PROPOSAL
Antonio Q StockhamSpainOnyama Limba UNQUALIFIED
Emily O FollerUnited KingdomIoni Bowcher PROPOSAL
Aika D SchemmerUnited KingdomStephen Shaw NEW
Ivar Q GauchoItalyElwin Sharvill RENEWAL
Darci C ButtItalyAsiya Javayant QUALIFIED
Salvatore X BologniaFranceAnna Fali UNQUALIFIED
Juan D DilliardCanadaOnyama Limba PROPOSAL
Sinclair U MorascaSpainAsiya Javayant RENEWAL
Nicolas Z KolmetzArgentinaAsiya Javayant RENEWAL
Leon A StockhamGermanyStephen Shaw QUALIFIED
Emily Z FollerAustraliaOnyama Limba 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>