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
Deepesh N BriddickAustraliaIvan Magalhaes PROPOSAL
Izzy U AmigonItalyBernardo Dominic NEGOTIATION
Claire N InouyeCanadaElwin Sharvill QUALIFIED
James F BologniaItalyAsiya Javayant NEGOTIATION
Aruna I ShinkoJapanXuxue Feng NEW
Silvio Y MarrierAustraliaIvan Magalhaes NEGOTIATION
Wickens H KuskoArgentinaAsiya Javayant PROPOSAL
Misaki S FerenczAustraliaOnyama Limba NEW
Costa M BologniaRussiaIvan Magalhaes RENEWAL
Aditya D MaletSpainIvan Magalhaes RENEWAL
Jeanfrancois W TollnerJapanElwin Sharvill PROPOSAL
Murillo I StensethGermanyAsiya Javayant PROPOSAL
Octavia L DoeUnited KingdomIoni Bowcher NEW
Deepesh S SergiAustraliaElwin Sharvill PROPOSAL
Clifford D StockhamUnited KingdomAsiya Javayant RENEWAL
Clifford N PaprockiUnited KingdomBernardo Dominic NEW
Rodrigues Z MorascaArgentinaStephen Shaw NEW
Maisha T RoysterBrazilAsiya Javayant PROPOSAL
Smith P InouyeRussiaOnyama Limba NEW
Darci J SergiJapanAsiya Javayant NEW
Kaitlin K PerinCanadaStephen Shaw NEW
Ivar R AlbaresFranceBernardo Dominic QUALIFIED
Ashley F ChuiCanadaXuxue Feng QUALIFIED
Kadeem O GillianRussiaIvan Magalhaes NEW
Adams S FollerArgentinaXuxue Feng NEGOTIATION
Leon T PerinIndiaIvan Magalhaes UNQUALIFIED
Julie T VocelkaFranceOnyama Limba UNQUALIFIED
Jeanfrancois L CampainUnited KingdomAnna Fali UNQUALIFIED
Faith D NickaAustraliaAsiya Javayant NEW
James P NestleArgentinaStephen Shaw QUALIFIED
Ashley X VenereRussiaIvan Magalhaes QUALIFIED
Silvio P VocelkaAustraliaAnna Fali QUALIFIED
Aika B DarakjyGermanyOnyama Limba NEW
Costa B VocelkaJapanAsiya Javayant PROPOSAL
Smith P WaycottIndiaIvan Magalhaes RENEWAL
Wickens R DarakjyIndiaAnna Fali QUALIFIED
Ivar R VenereItalyAnna Fali UNQUALIFIED
Morrow P VocelkaFranceAmy Elsner PROPOSAL
Octavia Q SchemmerIndiaElwin Sharvill NEW
Stacey T WieserIndiaXuxue Feng RENEWAL
Deepesh P CaldareraRussiaAsiya Javayant QUALIFIED
Misaki D WieserIndiaIvan Magalhaes PROPOSAL
Aditya J VenereBrazilAmy Elsner UNQUALIFIED
Misaki R InouyeCanadaIoni Bowcher RENEWAL
Claire Z MorascaUnited KingdomStephen Shaw NEGOTIATION
Francesco L FigeroaArgentinaAsiya Javayant NEW
Ashley J ShinkoCanadaElwin Sharvill NEGOTIATION
Maria A GillianGermanyIoni Bowcher QUALIFIED
Faith X FollerRussiaIvan Magalhaes NEGOTIATION
Leon L GarufiRussiaAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Leon Y PerinUnited KingdomAsiya Javayant RENEWAL
Misaki L MacleadCanadaAsiya Javayant NEGOTIATION
Munro I BriddickIndiaBernardo Dominic NEW
Jefferson A IturbideSpainStephen Shaw RENEWAL
Maisha D WhobreyAustraliaAnna Fali RENEWAL
Emily F CampainIndiaAsiya Javayant NEGOTIATION
Munro I AmigonCanadaXuxue Feng NEGOTIATION
Jefferson M StockhamRussiaAnna Fali RENEWAL
Nicolas X AmigonJapanElwin Sharvill NEGOTIATION
Deepesh R DoeBrazilIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha V ButtSpain2025-05-31Rousseaux, Michael Esq NEW23Bernardo Dominic
1001Johnson U BologniaAustralia2025-06-11Rangoni Of Florence NEGOTIATION51Stephen Shaw
1002Johnson R SergiArgentina2025-05-18Morlong Associates QUALIFIED37Stephen Shaw
1003Cody X VenereSpain2025-06-13Feiner Bros NEW22Onyama Limba
1004Antonio D MarrierRussia2025-05-24Feltz Printing Service RENEWAL1Anna Fali
1005Wickens M PerinBrazil2025-06-05Chapman, Ross E Esq UNQUALIFIED25Bernardo Dominic
1006Jones D ButtBrazil2025-05-26Rangoni Of Florence PROPOSAL46Amy Elsner
1007Rodrigues U BriddickBrazil2025-06-09Rangoni Of Florence NEW60Bernardo Dominic
1008Claire I MaletFrance2025-06-08Feltz Printing Service QUALIFIED96Elwin Sharvill
1009Greenwood H StensethUnited Kingdom2025-05-22Feltz Printing Service RENEWAL2Onyama Limba
1010Francesco Z AmigonSpain2025-05-28Feltz Printing Service NEGOTIATION77Elwin Sharvill
1011Greenwood C BriddickItaly2025-06-13Commercial Press PROPOSAL71Ioni Bowcher
1012Morrow Q StensethArgentina2025-06-02Rousseaux, Michael Esq QUALIFIED17Asiya Javayant
1013Ricardo M SergiSpain2025-05-28Chanay, Jeffrey A Esq NEGOTIATION83Onyama Limba
1014Deepesh E IturbideRussia2025-05-26Buckley Miller Wright PROPOSAL8Ivan Magalhaes
1015Jones K FlosiRussia2025-06-15Printing Dimensions PROPOSAL36Ivan Magalhaes
1016Maisha K CaldareraAustralia2025-05-30Printing Dimensions UNQUALIFIED0Anna Fali
1017Misaki H OstroskyUnited Kingdom2025-06-12Printing Dimensions UNQUALIFIED27Bernardo Dominic
1018Emily M RoysterIndia2025-06-09Truhlar And Truhlar Attys NEW37Elwin Sharvill
1019Tony V KolmetzCanada2025-06-12Commercial Press NEGOTIATION42Bernardo Dominic
1020Smith A FollerItaly2025-06-16Dorl, James J Esq PROPOSAL72Amy Elsner
1021Izzy Q GillianBrazil2025-05-20Morlong Associates QUALIFIED81Anna Fali
1022Rodrigues I BriddickArgentina2025-05-23Feltz Printing Service UNQUALIFIED81Asiya Javayant
1023Jeanfrancois W ChuiFrance2025-05-20Chanay, Jeffrey A Esq RENEWAL16Bernardo Dominic
1024Aditya S DilliardJapan2025-05-22Morlong Associates PROPOSAL67Amy Elsner
1025Juan F MarrierUnited Kingdom2025-05-25King, Christopher A Esq PROPOSAL83Bernardo Dominic
1026Chavez G GauchoItaly2025-05-18Morlong Associates RENEWAL47Anna Fali
1027Deepesh J SergiGermany2025-05-18Chemel, James L Cpa QUALIFIED99Xuxue Feng
1028Cody M SlusarskiGermany2025-05-18Feltz Printing Service NEW53Anna Fali
1029Maria H BriddickSpain2025-06-03Chemel, James L Cpa NEGOTIATION45Stephen Shaw
1030Murillo E AlbaresUnited Kingdom2025-05-24Commercial Press NEGOTIATION27Anna Fali
1031Sinclair Q WhobreyRussia2025-06-02Buckley Miller Wright QUALIFIED83Anna Fali
1032Adams R ButtRussia2025-05-19Buckley Miller Wright PROPOSAL76Anna Fali
1033Smith F RimSpain2025-06-02King, Christopher A Esq UNQUALIFIED83Amy Elsner
1034Juan P StensethIndia2025-06-06Chemel, James L Cpa NEW16Bernardo Dominic
1035Costa C KuskoFrance2025-06-11Dorl, James J Esq NEGOTIATION21Bernardo Dominic
1036Smith T MaletGermany2025-06-10Benton, John B Jr PROPOSAL95Bernardo Dominic
1037Juan W DoeFrance2025-05-24Buckley Miller Wright PROPOSAL20Anna Fali
1038Octavia G SaylorsRussia2025-06-08Dorl, James J Esq NEGOTIATION23Elwin Sharvill
1039Greenwood A WaycottGermany2025-05-22Rousseaux, Michael Esq RENEWAL20Xuxue Feng
1040Mujtaba T AlbaresJapan2025-06-02Commercial Press UNQUALIFIED44Ioni Bowcher
1041Munro W OstroskyFrance2025-05-26Morlong Associates RENEWAL11Elwin Sharvill
1042Clifford A MacleadItaly2025-05-27Printing Dimensions QUALIFIED30Stephen Shaw
1043Leja D BriddickJapan2025-05-24Feltz Printing Service UNQUALIFIED99Xuxue Feng
1044Darci K OstroskyCanada2025-05-24Commercial Press NEW91Ivan Magalhaes
1045Silvio D MarrierIndia2025-05-22Chapman, Ross E Esq NEW5Amy Elsner
1046Ashley N VenereItaly2025-06-03Feiner Bros RENEWAL60Elwin Sharvill
1047Jones T MaletItaly2025-05-30Commercial Press PROPOSAL45Ivan Magalhaes
1048Murillo M GillianGermany2025-05-23Benton, John B Jr NEW36Ioni Bowcher
1049Jefferson R MorascaGermany2025-05-22Dorl, James J Esq RENEWAL68Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Adams A GarufiJapanAmy Elsner UNQUALIFIED
Jennifer H GillianJapanStephen Shaw NEGOTIATION
Isabel M SaylorsRussiaIoni Bowcher QUALIFIED
Cody O VenereItalyElwin Sharvill QUALIFIED
Cody W InouyeArgentinaIoni Bowcher UNQUALIFIED
Isabel Q VenereBrazilIvan Magalhaes UNQUALIFIED
Deepesh S WaycottIndiaIoni Bowcher NEGOTIATION
Greenwood T MaletBrazilStephen Shaw RENEWAL
Mujtaba I InouyeCanadaOnyama Limba PROPOSAL
Morrow R SlusarskiArgentinaAmy Elsner RENEWAL
Sinclair X MaletRussiaElwin Sharvill QUALIFIED
Claire B SergiBrazilAnna Fali RENEWAL
Kaitlin S TollnerIndiaAsiya Javayant NEW
Munro O PerinRussiaIvan Magalhaes RENEWAL
Kadeem H BriddickSpainAmy Elsner UNQUALIFIED
Maria Q RimIndiaElwin Sharvill RENEWAL
Maria D NickaIndiaXuxue Feng UNQUALIFIED
Alejandro H KuskoFranceIoni Bowcher QUALIFIED
Jennifer P SergiGermanyElwin Sharvill NEGOTIATION
David P GillianBrazilAmy Elsner NEGOTIATION
Leja G PaprockiUnited KingdomStephen Shaw UNQUALIFIED
Ivar K ButtItalyAnna Fali NEW
Jones O RimGermanyIvan Magalhaes PROPOSAL
Murillo J SchemmerRussiaXuxue Feng UNQUALIFIED
Greenwood P PerinRussiaIoni Bowcher NEW
Clifford Z RutaBrazilOnyama Limba UNQUALIFIED
Maisha C PaprockiIndiaElwin Sharvill QUALIFIED
Darci K CaldareraFranceAnna Fali QUALIFIED
Julie P PoquetteUnited KingdomAmy Elsner NEW
Mujtaba E AlbaresCanadaAmy Elsner NEGOTIATION
Juan Q RoysterJapanAnna Fali NEGOTIATION
Aditya W SlusarskiGermanyAsiya Javayant RENEWAL
Sinclair M PaprockiUnited KingdomIoni Bowcher UNQUALIFIED
Ricardo N NickaAustraliaIvan Magalhaes NEGOTIATION
Greenwood E WhobreyUnited KingdomIvan Magalhaes QUALIFIED
Chavez M BologniaIndiaAsiya Javayant PROPOSAL
Misaki U WieserIndiaBernardo Dominic QUALIFIED
Clifford K VocelkaJapanOnyama Limba UNQUALIFIED
Wickens O SchemmerJapanOnyama Limba UNQUALIFIED
David L DilliardBrazilElwin Sharvill NEGOTIATION
Claire Q BriddickBrazilStephen Shaw NEW
Octavia S InouyeCanadaElwin Sharvill UNQUALIFIED
Munro M FerenczIndiaIoni Bowcher PROPOSAL
Chavez H OldroydArgentinaElwin Sharvill UNQUALIFIED
Jennifer F PaprockiSpainIoni Bowcher PROPOSAL
Leja N FollerIndiaIoni Bowcher NEGOTIATION
Maisha C RoysterBrazilElwin Sharvill UNQUALIFIED
Kadeem X OstroskyItalyAsiya Javayant NEGOTIATION
Johnson R GillianJapanStephen Shaw NEW
Murillo V FollerUnited KingdomOnyama Limba NEGOTIATION
Frozen Columns
Name
Maisha P Royster
Tony R Bolognia
Darci O Briddick
Misaki Y Figeroa
Leja D Flosi
Francesco P Ostrosky
Alejandro K Iturbide
Francesco O Kolmetz
Darci M Bowley
Faith Y Campain
Deepesh T Vocelka
Leon W Ruta
Maria L Stockham
Munro V Gillian
Misaki P Perin
Darci S Sergi
Maria V Malet
Ivar J Tollner
Misaki R Maclead
Leon P Bowley
Alejandro W Kusko
Morrow I Albares
Jefferson W Paprocki
Alejandro J Doe
Leja R Figeroa
Costa H Malet
Deepesh K Wieser
Maisha S Nestle
Kadeem R Caldarera
Greenwood S Amigon
Nicolas A Malet
Silvio P Sergi
Rodrigues R Morasca
Clifford T Amigon
Claire A Ostrosky
Kaitlin C Inouye
Isabel Z Gillian
Aika C Wieser
Arvin F Iturbide
Rodrigues N Ferencz
Misaki M Amigon
Sinclair H Gaucho
Jefferson Q Malet
Aruna H Tollner
Leja M Briddick
Kaitlin E Paprocki
Chavez R Tollner
Jefferson F Caldarera
Alejandro B Caudy
Darci F Venere
IdCountryDate
1000United Kingdom2025-05-27
1001Australia2025-05-24
1002Germany2025-06-13
1003France2025-05-29
1004France2025-06-12
1005France2025-05-18
1006United Kingdom2025-05-28
1007Argentina2025-06-16
1008Russia2025-05-25
1009Spain2025-05-23
1010United Kingdom2025-06-14
1011Brazil2025-05-29
1012France2025-06-14
1013Brazil2025-06-02
1014Argentina2025-06-08
1015Canada2025-05-26
1016Argentina2025-05-28
1017Canada2025-06-07
1018Canada2025-06-12
1019Japan2025-06-13
1020Japan2025-06-08
1021Germany2025-05-28
1022Australia2025-06-14
1023Italy2025-06-12
1024France2025-06-13
1025Japan2025-06-15
1026France2025-06-08
1027Japan2025-06-02
1028Japan2025-05-28
1029Japan2025-06-10
1030Brazil2025-05-20
1031France2025-05-26
1032France2025-05-20
1033Canada2025-05-19
1034Spain2025-06-02
1035Spain2025-06-08
1036India2025-05-27
1037Brazil2025-06-02
1038Argentina2025-05-31
1039Japan2025-05-19
1040Canada2025-05-18
1041Germany2025-06-15
1042Spain2025-05-31
1043France2025-06-04
1044Germany2025-05-27
1045Australia2025-06-12
1046Canada2025-06-06
1047Canada2025-06-07
1048Germany2025-06-03
1049Australia2025-06-02

On-Demand Data

NameIdCountryDate
Leon Q Amigon1000Russia2025-06-15
Kadeem A Briddick1001Canada2025-06-06
Mujtaba P Sergi1002Russia2025-06-02
Adams Z Doe1003France2025-06-06
Smith Z Garufi1004Canada2025-05-28
Clifford R Marrier1005Japan2025-06-09
Emily K Flosi1006Canada2025-05-30
Octavia I Ostrosky1007Russia2025-06-12
Kadeem W Stockham1008Brazil2025-06-08
Mayumi N Whobrey1009Australia2025-05-20
Ashley T Gillian1010United Kingdom2025-06-07
Leon H Caldarera1011United Kingdom2025-06-07
David F Garufi1012Canada2025-06-13
Rodrigues J Bowley1013Australia2025-05-24
Jefferson F Morasca1014Italy2025-06-14
Costa A Doe1015Spain2025-06-01
James S Garufi1016Russia2025-06-14
Antonio W Briddick1017Italy2025-06-14
Julie E Ruta1018Australia2025-06-16
Aruna F Inouye1019India2025-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson B RutaCanadaElwin Sharvill NEGOTIATION
Costa Z VenereArgentinaElwin Sharvill RENEWAL
Leja X AlbaresJapanIvan Magalhaes RENEWAL
David G VocelkaCanadaXuxue Feng QUALIFIED
Maisha W WaycottRussiaElwin Sharvill NEW
Chavez X RimGermanyOnyama Limba NEGOTIATION
Tony Q FollerBrazilAnna Fali NEW
Izzy X VocelkaItalyAnna Fali NEGOTIATION
Leja B FigeroaArgentinaElwin Sharvill UNQUALIFIED
Cody G GauchoIndiaOnyama Limba RENEWAL
Antonio J SchemmerIndiaIoni Bowcher UNQUALIFIED
Jeanfrancois L FollerFranceElwin Sharvill PROPOSAL
Alejandro I AmigonRussiaAmy Elsner QUALIFIED
James E MarrierUnited KingdomStephen Shaw RENEWAL
David O AlbaresGermanyBernardo Dominic NEGOTIATION
Juan T ChuiRussiaAnna Fali PROPOSAL
Mujtaba V PaprockiUnited KingdomIvan Magalhaes NEGOTIATION
Morrow B FlosiSpainBernardo Dominic NEGOTIATION
Ricardo T OstroskyFranceXuxue Feng NEGOTIATION
Misaki M TollnerItalyAnna Fali UNQUALIFIED
Aruna F PaprockiFranceAsiya Javayant UNQUALIFIED
Rodrigues U DoeFranceIoni Bowcher NEGOTIATION
Tony Q CaldareraJapanAsiya Javayant UNQUALIFIED
Izzy U OldroydJapanAsiya Javayant UNQUALIFIED
Deepesh A GauchoGermanyIvan Magalhaes UNQUALIFIED
Johnson W SchemmerSpainAsiya Javayant NEW
Mujtaba F MaletSpainIoni Bowcher PROPOSAL
Misaki B KuskoIndiaBernardo Dominic NEGOTIATION
Juan R MorascaArgentinaIvan Magalhaes PROPOSAL
Misaki E ChuiGermanyOnyama Limba QUALIFIED
Julie S SchemmerCanadaElwin Sharvill RENEWAL
Rodrigues G VenereBrazilBernardo Dominic PROPOSAL
Sinclair A SlusarskiUnited KingdomAsiya Javayant PROPOSAL
Jones B NestleSpainXuxue Feng QUALIFIED
Wickens Y SaylorsJapanAsiya Javayant QUALIFIED
Kadeem K GlickCanadaStephen Shaw NEW
Aika T SchemmerAustraliaIvan Magalhaes UNQUALIFIED
Aruna N VocelkaUnited KingdomXuxue Feng RENEWAL
Cody K GarufiFranceIoni Bowcher NEGOTIATION
James D NickaFranceAmy Elsner 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>