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
Leon V OstroskyFranceIoni Bowcher NEGOTIATION
Clifford D WaycottSpainIoni Bowcher UNQUALIFIED
Stacey M WaycottSpainIoni Bowcher QUALIFIED
Jeanfrancois I StensethCanadaOnyama Limba RENEWAL
Jeanfrancois N SaylorsBrazilAsiya Javayant UNQUALIFIED
Stacey J VenereRussiaAsiya Javayant PROPOSAL
Costa G CampainAustraliaBernardo Dominic QUALIFIED
Darci H MaletArgentinaBernardo Dominic NEW
Arvin Y NickaGermanyOnyama Limba NEW
Mayumi Q WaycottRussiaIvan Magalhaes PROPOSAL
Murillo N FigeroaItalyXuxue Feng NEW
Nicolas Q MacleadFranceAmy Elsner RENEWAL
Misaki U KolmetzSpainAmy Elsner PROPOSAL
Misaki Y RimItalyElwin Sharvill UNQUALIFIED
Tony T VenereIndiaAsiya Javayant NEGOTIATION
Rodrigues G BowleyUnited KingdomBernardo Dominic RENEWAL
Costa T GarufiFranceOnyama Limba NEW
Rodrigues F TollnerJapanAnna Fali NEW
Aruna Z FlosiItalyBernardo Dominic RENEWAL
Stacey I PaprockiArgentinaIoni Bowcher RENEWAL
Octavia E GillianItalyStephen Shaw UNQUALIFIED
Faith J AmigonSpainElwin Sharvill RENEWAL
Kaitlin U BologniaArgentinaOnyama Limba UNQUALIFIED
Jones L RulapaughUnited KingdomElwin Sharvill QUALIFIED
Ivar A VocelkaItalyIoni Bowcher QUALIFIED
Isabel P FigeroaUnited KingdomElwin Sharvill QUALIFIED
Arvin B SaylorsSpainXuxue Feng RENEWAL
Jefferson G GarufiArgentinaElwin Sharvill PROPOSAL
Greenwood Y CaldareraCanadaAsiya Javayant RENEWAL
Costa I GarufiBrazilAmy Elsner PROPOSAL
Jones Q GauchoAustraliaAsiya Javayant PROPOSAL
Chavez X GauchoAustraliaIvan Magalhaes PROPOSAL
Jeanfrancois A AlbaresJapanStephen Shaw NEW
Jones H DilliardCanadaBernardo Dominic NEW
Greenwood Q MarrierFranceIvan Magalhaes QUALIFIED
Claire G SlusarskiJapanElwin Sharvill PROPOSAL
Francesco N AlbaresCanadaIvan Magalhaes NEW
Maisha D RimFranceXuxue Feng NEW
Kaitlin T SergiAustraliaIvan Magalhaes NEW
Wickens O RimCanadaElwin Sharvill NEW
Rodrigues I NestleArgentinaAsiya Javayant RENEWAL
Ivar U RutaArgentinaOnyama Limba PROPOSAL
Costa J StockhamBrazilAnna Fali RENEWAL
Faith L VenereBrazilElwin Sharvill NEGOTIATION
Morrow S BriddickRussiaAsiya Javayant NEW
Nicolas X SaylorsAustraliaStephen Shaw PROPOSAL
Leon G DarakjyJapanStephen Shaw PROPOSAL
Octavia B KolmetzAustraliaXuxue Feng UNQUALIFIED
Misaki E FollerBrazilXuxue Feng UNQUALIFIED
Mujtaba N InouyeFranceAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Antonio G GillianJapanOnyama Limba NEGOTIATION
Silvio X CaudySpainElwin Sharvill NEW
Clifford J FigeroaItalyAmy Elsner UNQUALIFIED
Chavez E BowleyAustraliaElwin Sharvill PROPOSAL
Munro B OldroydSpainAsiya Javayant NEGOTIATION
Jennifer W StockhamBrazilXuxue Feng RENEWAL
Maisha W BriddickArgentinaIoni Bowcher PROPOSAL
Kaitlin Z PerinCanadaStephen Shaw NEW
Jones P ShinkoSpainBernardo Dominic UNQUALIFIED
Alejandro G PaprockiIndiaOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James V RutaJapan2024-06-12Feiner Bros NEW29Anna Fali
1001Clifford X GarufiIndia2024-06-03Dorl, James J Esq PROPOSAL98Ioni Bowcher
1002Claire W RulapaughSpain2024-05-31Printing Dimensions PROPOSAL71Anna Fali
1003Aika L OstroskyCanada2024-05-30Rousseaux, Michael Esq RENEWAL45Xuxue Feng
1004Arvin D StensethRussia2024-06-10Feltz Printing Service NEW50Stephen Shaw
1005Mayumi C GarufiAustralia2024-06-06Printing Dimensions RENEWAL37Ioni Bowcher
1006Smith V DilliardBrazil2024-05-22Chanay, Jeffrey A Esq PROPOSAL1Elwin Sharvill
1007Aika U OldroydSpain2024-05-31Chanay, Jeffrey A Esq NEW50Stephen Shaw
1008Antonio I StensethArgentina2024-05-17Dorl, James J Esq NEW68Ivan Magalhaes
1009Mujtaba X DarakjyRussia2024-06-01Truhlar And Truhlar Attys PROPOSAL21Amy Elsner
1010Aruna M MaletGermany2024-05-22Morlong Associates NEW65Ivan Magalhaes
1011Leon D SlusarskiAustralia2024-06-12Chapman, Ross E Esq RENEWAL6Asiya Javayant
1012Ricardo A CaudyBrazil2024-06-11Printing Dimensions NEGOTIATION38Xuxue Feng
1013Jennifer G TollnerUnited Kingdom2024-05-20Benton, John B Jr RENEWAL65Anna Fali
1014Sinclair D FollerSpain2024-05-29Feiner Bros NEGOTIATION11Stephen Shaw
1015Faith U SaylorsFrance2024-06-01Rangoni Of Florence NEW6Ivan Magalhaes
1016Antonio J StockhamSpain2024-05-21Chemel, James L Cpa NEW67Ivan Magalhaes
1017Emily J MaletItaly2024-05-24Truhlar And Truhlar Attys QUALIFIED88Asiya Javayant
1018Antonio S PerinCanada2024-06-14Benton, John B Jr NEGOTIATION24Amy Elsner
1019Tony J SchemmerFrance2024-06-04Feltz Printing Service RENEWAL27Elwin Sharvill
1020Silvio A FerenczArgentina2024-05-29Dorl, James J Esq NEW42Amy Elsner
1021Ivar F CaudySpain2024-05-30Buckley Miller Wright UNQUALIFIED96Onyama Limba
1022Juan B FlosiAustralia2024-05-26Rangoni Of Florence QUALIFIED63Asiya Javayant
1023Julie C MorascaJapan2024-05-17Rousseaux, Michael Esq NEW18Bernardo Dominic
1024Misaki H GauchoJapan2024-05-26Chanay, Jeffrey A Esq NEW38Amy Elsner
1025Antonio B GlickIndia2024-06-07Printing Dimensions NEGOTIATION24Onyama Limba
1026Munro W ShinkoIndia2024-05-19Feiner Bros PROPOSAL30Ivan Magalhaes
1027Ivar M NickaUnited Kingdom2024-06-11Rousseaux, Michael Esq NEGOTIATION89Bernardo Dominic
1028Maisha C KuskoArgentina2024-05-31Feiner Bros PROPOSAL29Ioni Bowcher
1029Jefferson Q DoeRussia2024-05-19Buckley Miller Wright PROPOSAL82Amy Elsner
1030Misaki A AlbaresUnited Kingdom2024-06-02Rangoni Of Florence UNQUALIFIED84Onyama Limba
1031Isabel K CaudyIndia2024-06-10Buckley Miller Wright UNQUALIFIED46Asiya Javayant
1032Maria C AlbaresAustralia2024-06-10King, Christopher A Esq QUALIFIED30Asiya Javayant
1033Rodrigues R RulapaughSpain2024-05-21Feltz Printing Service NEW99Xuxue Feng
1034David M PerinArgentina2024-06-06Rousseaux, Michael Esq PROPOSAL41Onyama Limba
1035Mayumi P VocelkaRussia2024-06-11Commercial Press NEGOTIATION3Elwin Sharvill
1036Leon H NickaAustralia2024-06-10Printing Dimensions NEW51Ivan Magalhaes
1037Darci M MorascaAustralia2024-06-11Chemel, James L Cpa UNQUALIFIED86Xuxue Feng
1038Aika W VocelkaGermany2024-05-25Printing Dimensions NEW24Anna Fali
1039Sinclair T KolmetzUnited Kingdom2024-05-27Feiner Bros NEW97Ioni Bowcher
1040Arvin K SlusarskiCanada2024-05-23Feiner Bros QUALIFIED27Stephen Shaw
1041Kadeem R CaldareraIndia2024-06-05Feltz Printing Service UNQUALIFIED13Elwin Sharvill
1042David I DarakjyJapan2024-06-07Dorl, James J Esq NEW39Anna Fali
1043Tony R WaycottIndia2024-06-06Printing Dimensions NEW0Anna Fali
1044Leon T MaletIndia2024-05-29Chemel, James L Cpa NEGOTIATION97Ioni Bowcher
1045Murillo C RoysterFrance2024-06-01Chanay, Jeffrey A Esq UNQUALIFIED34Amy Elsner
1046Costa M AlbaresGermany2024-05-31Truhlar And Truhlar Attys NEGOTIATION83Xuxue Feng
1047Kaitlin S GarufiSpain2024-05-29Printing Dimensions QUALIFIED68Ivan Magalhaes
1048Smith B PerinSpain2024-06-13Benton, John B Jr QUALIFIED54Ioni Bowcher
1049Clifford O PerinGermany2024-06-12Dorl, James J Esq NEW7Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Maisha H SlusarskiItalyXuxue Feng UNQUALIFIED
Nicolas O WaycottFranceIvan Magalhaes NEW
Faith Q SaylorsGermanyIvan Magalhaes QUALIFIED
Murillo Z ButtSpainAmy Elsner PROPOSAL
Octavia Y FigeroaSpainAnna Fali QUALIFIED
Chavez O VenereFranceBernardo Dominic NEGOTIATION
David N GlickBrazilBernardo Dominic PROPOSAL
Francesco C SergiRussiaXuxue Feng NEW
Kaitlin T NestleBrazilAsiya Javayant RENEWAL
Darci Z RoysterItalyOnyama Limba QUALIFIED
Cody K WieserCanadaAsiya Javayant NEGOTIATION
Ivar G CaudyItalyIoni Bowcher NEW
Jones X SlusarskiUnited KingdomElwin Sharvill NEW
Stacey S FlosiBrazilStephen Shaw UNQUALIFIED
Aditya V KolmetzCanadaAmy Elsner QUALIFIED
Leja S KolmetzAustraliaBernardo Dominic QUALIFIED
Mujtaba K FigeroaFranceAsiya Javayant NEW
Munro G MaletArgentinaElwin Sharvill NEGOTIATION
Antonio F SlusarskiSpainIvan Magalhaes PROPOSAL
Aika L MaletArgentinaStephen Shaw NEGOTIATION
Chavez Q FollerArgentinaXuxue Feng NEW
Ivar H VocelkaGermanyAsiya Javayant NEW
Aditya O MorascaSpainAsiya Javayant NEW
Stacey L FigeroaItalyAnna Fali QUALIFIED
Chavez C BologniaJapanAmy Elsner NEGOTIATION
Morrow E RulapaughAustraliaElwin Sharvill UNQUALIFIED
Murillo P BowleyIndiaOnyama Limba NEW
Tony S RutaCanadaIoni Bowcher PROPOSAL
David P BowleyFranceAsiya Javayant RENEWAL
Greenwood M GlickArgentinaAsiya Javayant RENEWAL
Smith L WaycottAustraliaOnyama Limba NEW
Maisha E RimIndiaOnyama Limba RENEWAL
James O TollnerGermanyOnyama Limba PROPOSAL
Maisha H MarrierBrazilOnyama Limba NEW
Isabel J GarufiBrazilAnna Fali RENEWAL
Chavez R FollerArgentinaOnyama Limba UNQUALIFIED
Juan Y KuskoArgentinaIvan Magalhaes RENEWAL
Faith B MorascaUnited KingdomIoni Bowcher UNQUALIFIED
Antonio V CaldareraAustraliaOnyama Limba PROPOSAL
Mayumi O FollerBrazilStephen Shaw RENEWAL
Cody J InouyeItalyAmy Elsner RENEWAL
Jefferson Y FerenczIndiaElwin Sharvill UNQUALIFIED
Silvio W MaletUnited KingdomAnna Fali UNQUALIFIED
Ricardo V DarakjyIndiaXuxue Feng QUALIFIED
Francesco P BowleyUnited KingdomIoni Bowcher PROPOSAL
Murillo Y GarufiArgentinaIoni Bowcher QUALIFIED
Misaki U DoeCanadaIvan Magalhaes QUALIFIED
Sinclair H CaldareraJapanElwin Sharvill UNQUALIFIED
Chavez N RulapaughItalyAmy Elsner UNQUALIFIED
Arvin X PoquetteJapanBernardo Dominic QUALIFIED
Frozen Columns
Name
Izzy B Ostrosky
Wickens T Royster
Kadeem H Tollner
Faith I Malet
Julie W Schemmer
Antonio G Vocelka
Faith C Nicka
Juan C Gillian
Julie S Figeroa
Maisha L Caudy
Aika F Rulapaugh
Sinclair A Inouye
Ashley K Slusarski
Emily Q Garufi
Salvatore R Saylors
Leja H Doe
Cody I Stockham
Alejandro C Wieser
Octavia W Glick
Adams U Garufi
Darci N Briddick
Mujtaba M Gillian
Julie P Chui
Mayumi W Gaucho
Maria M Wieser
Aika D Marrier
Chavez Z Glick
Cody T Stockham
Jones B Ostrosky
Silvio D Wieser
Emily I Nicka
Jones G Shinko
Aditya P Dilliard
Aika W Dilliard
Mujtaba R Butt
Jones E Stockham
Chavez P Waycott
Claire S Albares
Clifford H Ferencz
Aika J Doe
Ivar V Stenseth
Faith I Poquette
Kaitlin Q Paprocki
Misaki P Poquette
Costa Y Venere
Jennifer I Caldarera
Emily E Iturbide
Leja L Paprocki
James C Flosi
Arvin I Butt
IdCountryDate
1000Russia2024-05-16
1001Canada2024-05-27
1002Spain2024-05-28
1003Italy2024-05-24
1004France2024-06-02
1005Germany2024-06-08
1006Argentina2024-06-05
1007Russia2024-06-08
1008Argentina2024-06-11
1009India2024-06-03
1010Japan2024-06-06
1011Russia2024-05-30
1012Argentina2024-06-04
1013Spain2024-06-07
1014Canada2024-06-01
1015United Kingdom2024-05-28
1016Russia2024-05-17
1017Canada2024-06-11
1018Brazil2024-06-06
1019Brazil2024-05-28
1020Germany2024-05-23
1021Italy2024-05-21
1022Canada2024-06-02
1023Brazil2024-06-13
1024Australia2024-06-14
1025Australia2024-06-12
1026France2024-06-14
1027India2024-05-30
1028Italy2024-05-26
1029France2024-06-12
1030Australia2024-05-20
1031Australia2024-05-27
1032India2024-05-30
1033Italy2024-05-30
1034India2024-06-01
1035Canada2024-06-07
1036Italy2024-05-27
1037Argentina2024-06-12
1038Australia2024-06-04
1039United Kingdom2024-05-21
1040Brazil2024-05-23
1041United Kingdom2024-06-12
1042Brazil2024-05-23
1043Italy2024-05-16
1044Australia2024-05-22
1045India2024-06-05
1046Australia2024-06-11
1047United Kingdom2024-05-28
1048Japan2024-06-01
1049United Kingdom2024-05-17

On-Demand Data

NameIdCountryDate
Ashley U Ostrosky1000United Kingdom2024-06-03
Faith G Perin1001Spain2024-05-30
Adams Z Inouye1002Russia2024-06-06
Isabel H Albares1003Russia2024-06-05
Johnson O Paprocki1004Italy2024-05-16
Silvio O Chui1005Germany2024-05-24
Tony C Dilliard1006France2024-05-19
Maria S Bowley1007Japan2024-05-30
Cody Y Butt1008Spain2024-06-11
Cody B Wieser1009Brazil2024-06-05
Octavia V Saylors1010Canada2024-05-21
Tony D Campain1011Brazil2024-06-06
Jennifer B Ruta1012Italy2024-06-13
Ricardo O Oldroyd1013Italy2024-06-10
Ivar W Caudy1014Brazil2024-06-01
Salvatore I Gillian1015Australia2024-05-22
Aika I Flosi1016United Kingdom2024-05-24
Mayumi S Ferencz1017Spain2024-06-14
Ricardo E Maclead1018India2024-05-27
Sinclair O Chui1019Brazil2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna N NestleBrazilAnna Fali QUALIFIED
Jones G SlusarskiRussiaXuxue Feng UNQUALIFIED
Murillo F SaylorsArgentinaAnna Fali PROPOSAL
Munro N ButtAustraliaIvan Magalhaes RENEWAL
Wickens L PoquetteSpainElwin Sharvill QUALIFIED
Jennifer C CaudySpainIoni Bowcher QUALIFIED
Mujtaba D StockhamGermanyElwin Sharvill PROPOSAL
Izzy J VocelkaAustraliaStephen Shaw PROPOSAL
Adams B SergiRussiaAnna Fali QUALIFIED
Adams L FollerSpainElwin Sharvill NEW
Mujtaba K BriddickSpainBernardo Dominic NEW
Greenwood R MacleadIndiaOnyama Limba UNQUALIFIED
Mayumi W RulapaughFranceIvan Magalhaes QUALIFIED
Maria P NestleSpainXuxue Feng QUALIFIED
Morrow C DoeSpainOnyama Limba QUALIFIED
Morrow G PerinFranceIvan Magalhaes QUALIFIED
Silvio D VenereAustraliaBernardo Dominic PROPOSAL
Leja Q StensethIndiaXuxue Feng RENEWAL
Clifford P IturbideSpainIoni Bowcher QUALIFIED
Emily E WaycottGermanyAnna Fali NEGOTIATION
Arvin I GlickUnited KingdomElwin Sharvill NEGOTIATION
Jones U WhobreyIndiaOnyama Limba RENEWAL
Arvin T KolmetzFranceAsiya Javayant NEGOTIATION
Isabel Y CaudySpainAsiya Javayant NEGOTIATION
Julie N PaprockiBrazilElwin Sharvill NEW
Kadeem K CampainGermanyStephen Shaw UNQUALIFIED
Leon R SlusarskiGermanyElwin Sharvill QUALIFIED
Adams D KolmetzItalyAmy Elsner NEGOTIATION
Isabel A AmigonItalyAnna Fali NEW
Jefferson L VenereRussiaXuxue Feng UNQUALIFIED
Misaki M FollerItalyAnna Fali PROPOSAL
Antonio S FerenczBrazilAnna Fali UNQUALIFIED
Mayumi K NickaFranceAmy Elsner NEGOTIATION
Isabel L IturbideSpainXuxue Feng QUALIFIED
Aika E SergiCanadaIoni Bowcher QUALIFIED
Darci F WaycottSpainElwin Sharvill UNQUALIFIED
Salvatore M GauchoRussiaAsiya Javayant NEW
Maria L PaprockiArgentinaIvan Magalhaes PROPOSAL
Misaki P RoysterBrazilAsiya Javayant QUALIFIED
Chavez F PoquetteSpainElwin Sharvill 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">
            <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>