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

Input Style

Themes

PrimeOne
Saga Saga
Vela Vela
Arya Arya
Bootstrap
bootstrap4-blue-light Bootstrap Blue
bootstrap4-purple-light Bootstrap Purple
bootstrap4-blue-dark Bootstrap Blue
bootstrap4-purple-dark Bootstrap Purple
Material Design
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple
Material Design Compact
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple

DataTable Scroll

Both vertical and horizontal scrolling of the data is supported with optional frozen rows-columns and on-demand loading features.

Vertical
NameCountryRepresentativeStatus
Jones M SaylorsJapanStephen Shaw NEW
Cody N MorascaCanadaElwin Sharvill PROPOSAL
Greenwood F InouyeArgentinaBernardo Dominic NEGOTIATION
Ivar I CaudyRussiaIvan Magalhaes UNQUALIFIED
David O RulapaughCanadaXuxue Feng PROPOSAL
Greenwood K SlusarskiArgentinaBernardo Dominic RENEWAL
Izzy Q AlbaresArgentinaAsiya Javayant RENEWAL
Ricardo V OldroydCanadaStephen Shaw NEGOTIATION
Jones G TollnerRussiaBernardo Dominic RENEWAL
Rodrigues H CaudySpainAnna Fali PROPOSAL
Aika X MaletIndiaElwin Sharvill UNQUALIFIED
Juan Z MarrierItalyAsiya Javayant PROPOSAL
Aika Z SlusarskiBrazilAsiya Javayant PROPOSAL
Arvin N ShinkoGermanyIvan Magalhaes UNQUALIFIED
Ashley C IturbideRussiaOnyama Limba RENEWAL
Maisha R KuskoUnited KingdomXuxue Feng NEW
Aruna X KuskoCanadaIvan Magalhaes NEW
Juan O BowleyAustraliaAmy Elsner UNQUALIFIED
Greenwood M GarufiUnited KingdomIoni Bowcher RENEWAL
Morrow K FlosiFranceElwin Sharvill NEGOTIATION
Maisha L OldroydRussiaAmy Elsner NEGOTIATION
Cody Q OstroskyAustraliaAsiya Javayant PROPOSAL
Greenwood U GauchoRussiaIvan Magalhaes UNQUALIFIED
Isabel Q BowleyBrazilIvan Magalhaes QUALIFIED
Nicolas I GlickGermanyIoni Bowcher NEW
Nicolas K VocelkaSpainIvan Magalhaes PROPOSAL
Ricardo X DarakjyGermanyAsiya Javayant NEGOTIATION
Costa G PoquetteJapanAmy Elsner NEW
Rodrigues P WhobreySpainAsiya Javayant RENEWAL
Chavez J PaprockiIndiaOnyama Limba QUALIFIED
Antonio F CaldareraCanadaStephen Shaw NEGOTIATION
Emily S RoysterJapanAnna Fali UNQUALIFIED
Antonio S ShinkoSpainAmy Elsner UNQUALIFIED
Kaitlin S ChuiUnited KingdomAmy Elsner UNQUALIFIED
Stacey C KuskoJapanIoni Bowcher NEW
Sinclair Y MarrierAustraliaAmy Elsner QUALIFIED
Stacey K ChuiArgentinaStephen Shaw QUALIFIED
Arvin K SlusarskiGermanyBernardo Dominic UNQUALIFIED
Jefferson U MacleadBrazilAnna Fali NEW
Ivar K OstroskyAustraliaAnna Fali PROPOSAL
Octavia T NickaIndiaElwin Sharvill QUALIFIED
Maria D CaudyIndiaIvan Magalhaes NEGOTIATION
Sinclair S GillianRussiaAsiya Javayant NEW
Tony A FollerGermanyBernardo Dominic NEGOTIATION
Arvin E AlbaresSpainIoni Bowcher QUALIFIED
Ivar O NickaGermanyAnna Fali QUALIFIED
Jones G WaycottJapanBernardo Dominic NEW
Aruna U OldroydIndiaXuxue Feng RENEWAL
David D PaprockiUnited KingdomXuxue Feng UNQUALIFIED
Jennifer L MorascaCanadaAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
David E NickaItalyAmy Elsner QUALIFIED
Johnson C DarakjyItalyAnna Fali RENEWAL
Deepesh K PerinUnited KingdomIvan Magalhaes PROPOSAL
Jefferson Z WieserArgentinaElwin Sharvill PROPOSAL
Costa P SaylorsRussiaOnyama Limba PROPOSAL
Clifford G VocelkaSpainOnyama Limba RENEWAL
Wickens V SergiFranceXuxue Feng QUALIFIED
Emily P FollerArgentinaAnna Fali NEW
Claire E DarakjyFranceStephen Shaw UNQUALIFIED
Aditya R BologniaItalyOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez N KolmetzIndia2024-06-13Chemel, James L Cpa UNQUALIFIED94Xuxue Feng
1001Rodrigues F OldroydAustralia2024-06-20Chanay, Jeffrey A Esq UNQUALIFIED61Ioni Bowcher
1002Antonio E MaletIndia2024-05-26Buckley Miller Wright QUALIFIED47Asiya Javayant
1003James S RoysterArgentina2024-06-09Feltz Printing Service NEGOTIATION7Onyama Limba
1004Faith K TollnerGermany2024-05-24Morlong Associates UNQUALIFIED61Ivan Magalhaes
1005Jefferson G SlusarskiFrance2024-06-10King, Christopher A Esq NEGOTIATION63Bernardo Dominic
1006Rodrigues M DilliardBrazil2024-05-28Rangoni Of Florence NEGOTIATION40Bernardo Dominic
1007Mujtaba X MarrierGermany2024-06-20Buckley Miller Wright NEGOTIATION34Xuxue Feng
1008Murillo U GillianSpain2024-05-28Buckley Miller Wright NEW44Asiya Javayant
1009Maisha K ShinkoBrazil2024-06-14Rousseaux, Michael Esq PROPOSAL74Bernardo Dominic
1010Faith T SaylorsFrance2024-06-04Feiner Bros QUALIFIED69Bernardo Dominic
1011Aditya V KuskoBrazil2024-06-01Benton, John B Jr NEW8Onyama Limba
1012Maria Y VocelkaRussia2024-06-03Benton, John B Jr UNQUALIFIED37Xuxue Feng
1013Misaki J PerinRussia2024-05-31Chemel, James L Cpa PROPOSAL19Ivan Magalhaes
1014Emily M DarakjyGermany2024-06-09Rangoni Of Florence PROPOSAL70Asiya Javayant
1015Johnson L MaletUnited Kingdom2024-06-12Feiner Bros RENEWAL70Ioni Bowcher
1016Greenwood T PoquetteUnited Kingdom2024-06-01Chanay, Jeffrey A Esq QUALIFIED77Anna Fali
1017Deepesh R KuskoJapan2024-05-31Truhlar And Truhlar Attys NEGOTIATION7Asiya Javayant
1018Costa E DarakjySpain2024-06-05Chanay, Jeffrey A Esq RENEWAL78Xuxue Feng
1019Aika E FlosiFrance2024-06-14Feltz Printing Service UNQUALIFIED97Bernardo Dominic
1020Johnson K GillianGermany2024-06-20Chanay, Jeffrey A Esq NEW12Ivan Magalhaes
1021Smith U SergiAustralia2024-06-13King, Christopher A Esq PROPOSAL63Bernardo Dominic
1022Arvin I SergiRussia2024-05-24Rousseaux, Michael Esq RENEWAL56Elwin Sharvill
1023Misaki E BowleyAustralia2024-06-19Rangoni Of Florence UNQUALIFIED32Elwin Sharvill
1024Rodrigues R SlusarskiJapan2024-06-21Buckley Miller Wright UNQUALIFIED72Xuxue Feng
1025Murillo H MorascaArgentina2024-06-15Chanay, Jeffrey A Esq PROPOSAL32Onyama Limba
1026Adams Y StockhamCanada2024-06-01Buckley Miller Wright QUALIFIED12Amy Elsner
1027Clifford Z BriddickGermany2024-06-13Buckley Miller Wright QUALIFIED67Stephen Shaw
1028Munro A MorascaFrance2024-06-14Rangoni Of Florence QUALIFIED18Xuxue Feng
1029Octavia F WhobreyItaly2024-06-11Feiner Bros RENEWAL95Bernardo Dominic
1030Alejandro B MacleadJapan2024-06-04Rangoni Of Florence NEW62Bernardo Dominic
1031Chavez I NestleIndia2024-06-14Feltz Printing Service UNQUALIFIED79Ioni Bowcher
1032Ricardo O FollerJapan2024-06-17Chapman, Ross E Esq RENEWAL3Bernardo Dominic
1033Julie D OstroskyBrazil2024-05-28Feiner Bros NEGOTIATION29Elwin Sharvill
1034Mayumi T StockhamUnited Kingdom2024-06-21Feiner Bros NEW91Ioni Bowcher
1035Maisha R MaletCanada2024-05-30Rangoni Of Florence NEW7Anna Fali
1036Kaitlin U DoeAustralia2024-06-14Rangoni Of Florence RENEWAL33Bernardo Dominic
1037Leja F CampainRussia2024-06-03Truhlar And Truhlar Attys UNQUALIFIED85Onyama Limba
1038Misaki V GarufiCanada2024-06-14Chapman, Ross E Esq NEGOTIATION53Onyama Limba
1039Silvio C FigeroaRussia2024-06-11Feltz Printing Service UNQUALIFIED97Asiya Javayant
1040Leon C WieserBrazil2024-05-27Morlong Associates UNQUALIFIED71Anna Fali
1041Aika F InouyeCanada2024-05-31Rousseaux, Michael Esq NEGOTIATION71Amy Elsner
1042Murillo P PerinRussia2024-06-08Buckley Miller Wright NEGOTIATION8Anna Fali
1043Morrow B VenereCanada2024-06-14Buckley Miller Wright PROPOSAL24Elwin Sharvill
1044Antonio A FlosiItaly2024-05-29Chemel, James L Cpa RENEWAL18Stephen Shaw
1045Jefferson H DoeArgentina2024-06-07Rousseaux, Michael Esq PROPOSAL24Ivan Magalhaes
1046Jennifer M RoysterBrazil2024-06-16Rangoni Of Florence NEW97Elwin Sharvill
1047Jeanfrancois R RimBrazil2024-06-08Dorl, James J Esq UNQUALIFIED78Bernardo Dominic
1048Tony N GlickItaly2024-05-24Morlong Associates PROPOSAL25Anna Fali
1049Julie N MacleadItaly2024-06-07Printing Dimensions NEGOTIATION62Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Mayumi H KolmetzCanadaIvan Magalhaes PROPOSAL
Rodrigues J FerenczItalyAmy Elsner NEW
Isabel B BriddickSpainElwin Sharvill PROPOSAL
Maisha S IturbideGermanyAsiya Javayant RENEWAL
Silvio E MaletGermanyAmy Elsner RENEWAL
Izzy D BowleyJapanIoni Bowcher NEW
Maisha Z SaylorsCanadaBernardo Dominic UNQUALIFIED
Darci N FigeroaRussiaOnyama Limba NEW
Nicolas B DilliardItalyElwin Sharvill PROPOSAL
Darci Y FlosiUnited KingdomElwin Sharvill UNQUALIFIED
Morrow D VocelkaItalyIvan Magalhaes QUALIFIED
Arvin F IturbideCanadaAnna Fali NEGOTIATION
Mayumi I FigeroaUnited KingdomAmy Elsner QUALIFIED
James J RulapaughCanadaElwin Sharvill PROPOSAL
David X TollnerBrazilAsiya Javayant QUALIFIED
Ivar X CaldareraJapanAmy Elsner NEW
Arvin C ShinkoSpainAnna Fali QUALIFIED
Smith F PerinUnited KingdomAsiya Javayant RENEWAL
Maisha T RoysterUnited KingdomStephen Shaw QUALIFIED
Jeanfrancois X BologniaGermanyIvan Magalhaes PROPOSAL
Cody M VocelkaBrazilAnna Fali PROPOSAL
Ivar A SlusarskiJapanElwin Sharvill QUALIFIED
Johnson Y FerenczRussiaXuxue Feng PROPOSAL
Murillo Y DarakjyGermanyBernardo Dominic NEW
Jeanfrancois P MarrierGermanyStephen Shaw RENEWAL
Murillo N WaycottJapanAnna Fali PROPOSAL
Murillo C FigeroaIndiaOnyama Limba UNQUALIFIED
Adams Y AmigonJapanAmy Elsner NEW
Costa Q WaycottBrazilOnyama Limba NEGOTIATION
Ashley M WieserAustraliaAnna Fali QUALIFIED
Nicolas O SchemmerSpainIoni Bowcher QUALIFIED
Smith W NickaUnited KingdomAmy Elsner NEGOTIATION
Munro V WaycottSpainAmy Elsner NEW
Munro X OldroydAustraliaIoni Bowcher QUALIFIED
Juan A KuskoAustraliaElwin Sharvill QUALIFIED
Clifford L AmigonGermanyAmy Elsner NEW
James W FollerAustraliaIoni Bowcher UNQUALIFIED
Leon I SchemmerItalyElwin Sharvill RENEWAL
Wickens Z RutaSpainBernardo Dominic PROPOSAL
Murillo A FollerFranceAnna Fali NEW
Munro Z MaletJapanIvan Magalhaes PROPOSAL
Rodrigues N WieserAustraliaAnna Fali QUALIFIED
Jennifer T CampainUnited KingdomAmy Elsner NEW
Aditya W WhobreyArgentinaOnyama Limba QUALIFIED
Leon F MaletUnited KingdomAmy Elsner PROPOSAL
Salvatore I RoysterGermanyIvan Magalhaes PROPOSAL
Wickens G WieserBrazilXuxue Feng UNQUALIFIED
Costa B GauchoArgentinaOnyama Limba UNQUALIFIED
Mujtaba T GlickRussiaAsiya Javayant RENEWAL
Julie U RimBrazilBernardo Dominic NEW
Frozen Columns
Name
Juan N Darakjy
Deepesh H Amigon
Octavia C Garufi
Chavez O Waycott
Munro P Malet
Darci R Bowley
James V Perin
Misaki L Garufi
Jefferson U Bolognia
Emily Y Glick
Silvio G Slusarski
Jennifer A Stenseth
Jones F Saylors
Jefferson R Butt
Emily I Paprocki
Alejandro I Iturbide
Octavia E Maclead
Ricardo M Perin
Leja Q Butt
Arvin T Sergi
Misaki N Malet
Greenwood W Schemmer
Isabel M Gaucho
Cody O Nicka
Wickens G Slusarski
Munro K Rulapaugh
Tony G Inouye
Tony R Stenseth
Isabel I Chui
Antonio R Saylors
David G Darakjy
Leon D Chui
Morrow Y Gillian
Juan L Kusko
Ashley O Foller
Leon R Wieser
Nicolas I Iturbide
Silvio P Whobrey
Aruna S Maclead
Morrow B Gillian
Clifford C Flosi
Jones X Kusko
Isabel N Ostrosky
Faith I Schemmer
Jones M Flosi
Maria E Nestle
Cody W Garufi
Aruna N Butt
Jones Z Waycott
Aika M Vocelka
IdCountryDate
1000France2024-06-05
1001Russia2024-06-18
1002Brazil2024-05-30
1003Japan2024-06-21
1004Russia2024-05-27
1005Canada2024-06-17
1006India2024-06-22
1007Argentina2024-06-10
1008Russia2024-05-31
1009France2024-06-16
1010Argentina2024-06-21
1011Spain2024-05-26
1012Brazil2024-06-03
1013Canada2024-06-11
1014Japan2024-05-24
1015Spain2024-06-04
1016Brazil2024-06-09
1017Spain2024-05-30
1018United Kingdom2024-05-30
1019Australia2024-05-25
1020Italy2024-06-15
1021Brazil2024-06-15
1022Australia2024-05-26
1023Russia2024-05-28
1024Spain2024-06-14
1025Australia2024-06-07
1026India2024-06-06
1027Germany2024-06-12
1028France2024-05-30
1029Japan2024-05-31
1030Brazil2024-06-02
1031Australia2024-06-19
1032Japan2024-06-05
1033Canada2024-06-04
1034United Kingdom2024-06-05
1035Spain2024-06-17
1036Argentina2024-06-05
1037India2024-05-31
1038Australia2024-06-05
1039India2024-06-07
1040Italy2024-06-03
1041Australia2024-06-05
1042Spain2024-05-31
1043Russia2024-05-28
1044Russia2024-05-31
1045Argentina2024-06-02
1046Italy2024-06-04
1047Brazil2024-06-03
1048Italy2024-06-08
1049Japan2024-06-05

On-Demand Data

NameIdCountryDate
Darci D Caldarera1000United Kingdom2024-06-15
Kaitlin U Stockham1001France2024-06-21
Costa N Gaucho1002Japan2024-06-21
Julie X Gillian1003India2024-06-02
Wickens H Gaucho1004Spain2024-05-26
Stacey O Sergi1005Argentina2024-05-25
Mujtaba R Rim1006India2024-05-30
Costa S Dilliard1007Japan2024-06-07
Tony G Amigon1008Canada2024-06-09
Emily Y Bowley1009France2024-06-09
Greenwood X Ferencz1010Argentina2024-05-26
Aika T Slusarski1011Argentina2024-06-07
Aika E Ferencz1012Spain2024-06-08
Greenwood K Saylors1013India2024-06-14
Tony Z Marrier1014France2024-06-16
Stacey G Poquette1015France2024-06-10
Smith V Stenseth1016Germany2024-05-31
Chavez P Foller1017Russia2024-05-26
Jefferson C Oldroyd1018Italy2024-06-09
Izzy J Slusarski1019Spain2024-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro O ButtItalyAnna Fali RENEWAL
Darci D IturbideAustraliaAmy Elsner NEW
Tony Q BologniaSpainBernardo Dominic UNQUALIFIED
Maisha O SergiGermanyXuxue Feng NEW
Silvio A PerinRussiaBernardo Dominic QUALIFIED
Aruna N GauchoSpainXuxue Feng QUALIFIED
Deepesh M VenereRussiaAmy Elsner QUALIFIED
Maria C DilliardGermanyIoni Bowcher PROPOSAL
Francesco U SergiGermanyAmy Elsner PROPOSAL
Morrow K GauchoArgentinaBernardo Dominic QUALIFIED
Adams D AmigonUnited KingdomStephen Shaw QUALIFIED
Jefferson M AmigonFranceElwin Sharvill RENEWAL
Silvio E WaycottBrazilOnyama Limba NEW
Sinclair V CampainRussiaIoni Bowcher UNQUALIFIED
Jefferson M VocelkaUnited KingdomAnna Fali QUALIFIED
Chavez V RutaBrazilAsiya Javayant PROPOSAL
Ashley B KolmetzCanadaIvan Magalhaes UNQUALIFIED
Murillo J RutaUnited KingdomElwin Sharvill UNQUALIFIED
Izzy M InouyeGermanyIoni Bowcher NEW
Arvin E BowleyItalyStephen Shaw UNQUALIFIED
Darci P FlosiGermanyStephen Shaw QUALIFIED
David B MarrierRussiaOnyama Limba UNQUALIFIED
Faith C SaylorsCanadaBernardo Dominic UNQUALIFIED
Leja M SchemmerCanadaStephen Shaw NEGOTIATION
Arvin L MorascaCanadaBernardo Dominic QUALIFIED
Nicolas T BriddickRussiaElwin Sharvill RENEWAL
Leja F ButtFranceIoni Bowcher PROPOSAL
Alejandro O ChuiArgentinaAnna Fali RENEWAL
Munro G VocelkaSpainAsiya Javayant QUALIFIED
Cody D MarrierItalyAsiya Javayant NEW
Julie P WieserJapanXuxue Feng RENEWAL
Rodrigues M RimJapanAmy Elsner QUALIFIED
Maria M FollerIndiaOnyama Limba NEW
Costa R VenereSpainOnyama Limba NEGOTIATION
Ivar U BriddickAustraliaAnna Fali RENEWAL
Alejandro G BowleyGermanyOnyama Limba NEW
Jefferson P DarakjyJapanOnyama Limba PROPOSAL
Jeanfrancois V NestleCanadaAsiya Javayant RENEWAL
Maria P SaylorsFranceIoni Bowcher UNQUALIFIED
Aruna E FlosiBrazilElwin Sharvill NEW

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