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
Rodrigues X GillianIndiaIvan Magalhaes NEGOTIATION
Isabel D ButtUnited KingdomIvan Magalhaes NEGOTIATION
Aruna O KolmetzAustraliaXuxue Feng RENEWAL
Deepesh M GauchoUnited KingdomBernardo Dominic NEGOTIATION
Izzy C FlosiUnited KingdomXuxue Feng QUALIFIED
Aika J ChuiSpainAnna Fali QUALIFIED
Rodrigues Y SlusarskiIndiaAmy Elsner QUALIFIED
Munro B MaletGermanyElwin Sharvill NEW
Aruna Q MarrierFranceAsiya Javayant QUALIFIED
Octavia B BowleyBrazilIvan Magalhaes NEGOTIATION
Nicolas V GlickRussiaAsiya Javayant NEW
Ivar X DarakjySpainOnyama Limba UNQUALIFIED
Mujtaba X FollerCanadaXuxue Feng NEGOTIATION
Francesco Y CaudyRussiaIvan Magalhaes RENEWAL
Johnson Z MaletArgentinaIoni Bowcher QUALIFIED
Jennifer G DoeBrazilStephen Shaw UNQUALIFIED
Emily S ButtIndiaIoni Bowcher RENEWAL
Greenwood L WhobreyUnited KingdomIoni Bowcher UNQUALIFIED
Clifford X KolmetzGermanyAsiya Javayant QUALIFIED
Kadeem E SaylorsGermanyStephen Shaw QUALIFIED
Salvatore T StockhamIndiaElwin Sharvill QUALIFIED
Munro S VocelkaBrazilIoni Bowcher PROPOSAL
David U DarakjyJapanXuxue Feng UNQUALIFIED
Costa I BowleyUnited KingdomOnyama Limba PROPOSAL
Chavez A VenereJapanIvan Magalhaes NEW
Aika O TollnerRussiaIvan Magalhaes PROPOSAL
Silvio Z GauchoGermanyAnna Fali NEGOTIATION
Kaitlin O SchemmerSpainStephen Shaw QUALIFIED
Greenwood G StensethUnited KingdomBernardo Dominic PROPOSAL
Jones Z StockhamAustraliaAmy Elsner PROPOSAL
Claire V OldroydIndiaStephen Shaw NEW
Leon D SaylorsRussiaElwin Sharvill RENEWAL
Aruna R WhobreyItalyOnyama Limba NEGOTIATION
Rodrigues O InouyeBrazilIoni Bowcher NEW
David W VenereBrazilOnyama Limba QUALIFIED
Maria B DilliardCanadaAnna Fali NEW
Jones Y WieserUnited KingdomAsiya Javayant NEGOTIATION
Darci Y CampainGermanyIvan Magalhaes UNQUALIFIED
Tony U ShinkoRussiaXuxue Feng RENEWAL
Mujtaba C MaletCanadaStephen Shaw UNQUALIFIED
Chavez T PoquetteJapanStephen Shaw NEGOTIATION
Arvin Q BowleyAustraliaAmy Elsner RENEWAL
Smith Q GauchoFranceAmy Elsner NEGOTIATION
Costa B WaycottSpainAnna Fali QUALIFIED
Maisha B AlbaresRussiaOnyama Limba UNQUALIFIED
Octavia K WieserSpainIoni Bowcher NEW
Claire H VenereUnited KingdomAnna Fali NEGOTIATION
Deepesh A WaycottFranceAmy Elsner NEGOTIATION
Jefferson I VenereJapanBernardo Dominic NEW
Jefferson I FlosiIndiaIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Ricardo C PerinBrazilAnna Fali QUALIFIED
Johnson S BowleyCanadaIoni Bowcher NEW
Kadeem W AlbaresArgentinaStephen Shaw NEW
Smith F RutaIndiaXuxue Feng UNQUALIFIED
Aruna K DarakjyBrazilXuxue Feng RENEWAL
Claire C GlickRussiaXuxue Feng RENEWAL
Antonio U MorascaArgentinaAmy Elsner QUALIFIED
Izzy B IturbideUnited KingdomAmy Elsner RENEWAL
Mujtaba J MaletCanadaIoni Bowcher NEW
Kadeem G BologniaAustraliaIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem L CampainItaly2025-04-08Commercial Press RENEWAL42Xuxue Feng
1001Rodrigues W GlickCanada2025-04-26Rousseaux, Michael Esq QUALIFIED47Elwin Sharvill
1002Julie K DoeArgentina2025-04-19Benton, John B Jr RENEWAL14Elwin Sharvill
1003Darci I StensethCanada2025-04-22Commercial Press NEW56Elwin Sharvill
1004Munro U DoeArgentina2025-05-01Feiner Bros UNQUALIFIED29Stephen Shaw
1005Murillo Z StockhamSpain2025-04-25Buckley Miller Wright NEW9Anna Fali
1006Cody M DarakjyIndia2025-04-15Chapman, Ross E Esq QUALIFIED53Xuxue Feng
1007Aditya M GlickCanada2025-04-28Feltz Printing Service PROPOSAL6Onyama Limba
1008Ivar P BologniaArgentina2025-04-17Chanay, Jeffrey A Esq NEGOTIATION41Bernardo Dominic
1009Jones M InouyeRussia2025-04-24Rousseaux, Michael Esq PROPOSAL27Stephen Shaw
1010Maria J WhobreyGermany2025-04-05Morlong Associates NEGOTIATION61Amy Elsner
1011Greenwood N GillianBrazil2025-04-17Morlong Associates UNQUALIFIED7Onyama Limba
1012Sinclair L ButtGermany2025-04-12Feiner Bros PROPOSAL79Amy Elsner
1013Aditya W SchemmerCanada2025-04-15Commercial Press NEW77Ivan Magalhaes
1014Juan K FigeroaFrance2025-04-28Truhlar And Truhlar Attys PROPOSAL1Bernardo Dominic
1015Francesco A SchemmerBrazil2025-04-28Chanay, Jeffrey A Esq UNQUALIFIED52Ioni Bowcher
1016Emily J CaldareraArgentina2025-04-09Chanay, Jeffrey A Esq PROPOSAL61Onyama Limba
1017Arvin C PoquetteRussia2025-05-04Commercial Press PROPOSAL83Ioni Bowcher
1018Leja A StockhamArgentina2025-04-15Rangoni Of Florence UNQUALIFIED80Asiya Javayant
1019Claire O MaletCanada2025-04-27Morlong Associates UNQUALIFIED40Ioni Bowcher
1020Ivar Y SlusarskiIndia2025-04-14Commercial Press RENEWAL21Ioni Bowcher
1021Aditya K BologniaSpain2025-04-20Truhlar And Truhlar Attys NEGOTIATION42Amy Elsner
1022Tony I GillianItaly2025-05-01Printing Dimensions RENEWAL99Xuxue Feng
1023Murillo N InouyeJapan2025-04-08Feltz Printing Service NEGOTIATION47Onyama Limba
1024Antonio D VocelkaSpain2025-04-29Commercial Press PROPOSAL75Ivan Magalhaes
1025Faith U VenereUnited Kingdom2025-04-11Benton, John B Jr NEGOTIATION86Asiya Javayant
1026Silvio H AlbaresBrazil2025-04-23Truhlar And Truhlar Attys UNQUALIFIED58Xuxue Feng
1027Juan U PaprockiUnited Kingdom2025-05-02Buckley Miller Wright NEW7Elwin Sharvill
1028Wickens A VocelkaSpain2025-05-02Dorl, James J Esq UNQUALIFIED69Anna Fali
1029Jeanfrancois R FollerItaly2025-04-05Chanay, Jeffrey A Esq NEGOTIATION71Elwin Sharvill
1030Johnson A SchemmerSpain2025-04-17Benton, John B Jr UNQUALIFIED8Bernardo Dominic
1031Costa M MorascaIndia2025-04-21Feiner Bros NEGOTIATION51Amy Elsner
1032Ashley E GarufiRussia2025-04-23Dorl, James J Esq UNQUALIFIED33Ioni Bowcher
1033David L FlosiUnited Kingdom2025-04-05Commercial Press PROPOSAL34Stephen Shaw
1034Adams E ChuiGermany2025-05-04Benton, John B Jr RENEWAL0Anna Fali
1035Sinclair O FigeroaIndia2025-04-07Truhlar And Truhlar Attys UNQUALIFIED70Xuxue Feng
1036Deepesh X SlusarskiIndia2025-04-25Feltz Printing Service NEGOTIATION49Amy Elsner
1037Murillo L OldroydArgentina2025-05-03Benton, John B Jr NEGOTIATION87Ioni Bowcher
1038Kadeem S PaprockiAustralia2025-04-21Feltz Printing Service RENEWAL91Ivan Magalhaes
1039Arvin T OldroydSpain2025-04-20Chapman, Ross E Esq QUALIFIED61Ioni Bowcher
1040Maria G SaylorsFrance2025-04-15Chemel, James L Cpa RENEWAL25Stephen Shaw
1041Ricardo Y KuskoIndia2025-04-11King, Christopher A Esq NEW83Onyama Limba
1042Rodrigues P FollerArgentina2025-04-17Feiner Bros QUALIFIED79Amy Elsner
1043Aruna K ShinkoSpain2025-04-17Feiner Bros QUALIFIED48Stephen Shaw
1044Chavez X AlbaresBrazil2025-04-19Chanay, Jeffrey A Esq NEW87Ioni Bowcher
1045Izzy H VenereJapan2025-04-28Chemel, James L Cpa RENEWAL51Asiya Javayant
1046Ashley E WhobreyRussia2025-04-17Dorl, James J Esq RENEWAL37Ivan Magalhaes
1047Adams G VocelkaRussia2025-04-17Morlong Associates NEW4Onyama Limba
1048Rodrigues O FerenczFrance2025-04-15Printing Dimensions RENEWAL42Ioni Bowcher
1049Maria D PoquetteBrazil2025-04-08Feltz Printing Service RENEWAL4Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Misaki U RimFranceIvan Magalhaes PROPOSAL
Munro G StockhamItalyAmy Elsner UNQUALIFIED
Faith S KuskoFranceAmy Elsner NEGOTIATION
Silvio Y WieserFranceAsiya Javayant NEW
Aditya R FerenczArgentinaIoni Bowcher PROPOSAL
Kadeem N StensethGermanyIoni Bowcher NEW
Aruna A InouyeRussiaAsiya Javayant QUALIFIED
Ashley V PerinJapanXuxue Feng NEW
Octavia C SergiRussiaOnyama Limba PROPOSAL
Juan W RimCanadaStephen Shaw NEGOTIATION
Maisha A ShinkoGermanyStephen Shaw QUALIFIED
Clifford Q BowleyItalyXuxue Feng RENEWAL
Munro S PaprockiItalyOnyama Limba UNQUALIFIED
Wickens B OstroskySpainElwin Sharvill NEW
Deepesh E KuskoGermanyAmy Elsner NEGOTIATION
Wickens W KuskoArgentinaAsiya Javayant RENEWAL
Stacey B RutaFranceIvan Magalhaes NEGOTIATION
Kadeem Z BriddickItalyBernardo Dominic PROPOSAL
Morrow K GillianSpainAmy Elsner PROPOSAL
Izzy U AmigonJapanAmy Elsner NEW
Julie H DarakjyBrazilElwin Sharvill NEW
Munro L DilliardGermanyIoni Bowcher RENEWAL
Isabel R InouyeArgentinaAmy Elsner PROPOSAL
Maria N FigeroaCanadaAmy Elsner UNQUALIFIED
James W ShinkoIndiaXuxue Feng RENEWAL
Isabel A MarrierItalyElwin Sharvill PROPOSAL
Morrow B OstroskyBrazilElwin Sharvill NEW
Jennifer D SchemmerRussiaXuxue Feng PROPOSAL
Mayumi D ShinkoAustraliaAmy Elsner PROPOSAL
Leon I NickaBrazilStephen Shaw QUALIFIED
Adams B FigeroaIndiaAsiya Javayant QUALIFIED
Murillo P GillianArgentinaAsiya Javayant UNQUALIFIED
Sinclair Y FlosiSpainIvan Magalhaes NEGOTIATION
Faith L WhobreyBrazilBernardo Dominic QUALIFIED
Arvin A CaldareraJapanIoni Bowcher PROPOSAL
Aruna C OldroydJapanAmy Elsner QUALIFIED
Leon C BowleyBrazilAnna Fali PROPOSAL
Aika T BowleyAustraliaAnna Fali UNQUALIFIED
Jeanfrancois H CaudyRussiaStephen Shaw RENEWAL
Jennifer U StockhamAustraliaAsiya Javayant NEGOTIATION
Jones G SchemmerJapanAnna Fali RENEWAL
Greenwood H IturbideGermanyIoni Bowcher UNQUALIFIED
Stacey P KuskoItalyElwin Sharvill PROPOSAL
Leja Z RutaFranceOnyama Limba PROPOSAL
Ivar Y VenereIndiaStephen Shaw UNQUALIFIED
Aditya N ButtArgentinaStephen Shaw PROPOSAL
Sinclair Z VocelkaCanadaAsiya Javayant QUALIFIED
Ivar L IturbideIndiaAsiya Javayant NEGOTIATION
Johnson V RimCanadaAmy Elsner NEW
Ashley W StockhamRussiaAmy Elsner UNQUALIFIED
Frozen Columns
Name
Silvio T Tollner
Alejandro U Poquette
Jefferson A Bowley
Arvin M Foller
Mayumi J Vocelka
Francesco T Bolognia
Julie C Albares
Jennifer O Whobrey
Izzy P Paprocki
Cody H Caldarera
Arvin U Ostrosky
Darci U Butt
Ivar S Stenseth
Leja I Ostrosky
Faith R Marrier
Emily P Flosi
Octavia O Wieser
Octavia M Marrier
Aruna Z Whobrey
Jefferson Q Tollner
Mujtaba H Slusarski
Tony N Venere
Emily B Bolognia
Jeanfrancois A Foller
Salvatore D Briddick
Rodrigues V Stockham
Leja B Ruta
Rodrigues A Saylors
Leja I Marrier
Izzy Q Briddick
Octavia L Perin
Munro L Kusko
Mujtaba B Iturbide
Arvin R Vocelka
Juan D Oldroyd
Johnson E Stockham
Mayumi W Ostrosky
Sinclair O Glick
Greenwood I Royster
Silvio C Waycott
Maisha Z Malet
Aruna A Morasca
Faith N Bowley
Aditya R Oldroyd
Emily X Briddick
Octavia E Garufi
Jones A Slusarski
Jennifer H Morasca
Francesco F Glick
Jefferson X Flosi
IdCountryDate
1000Italy2025-04-15
1001Japan2025-04-22
1002United Kingdom2025-04-06
1003Australia2025-04-19
1004France2025-04-24
1005Canada2025-05-01
1006United Kingdom2025-04-27
1007Spain2025-04-17
1008Spain2025-04-05
1009Japan2025-05-02
1010United Kingdom2025-04-05
1011Australia2025-05-02
1012France2025-04-30
1013United Kingdom2025-04-19
1014Argentina2025-04-08
1015United Kingdom2025-04-27
1016Italy2025-04-24
1017Germany2025-04-06
1018Spain2025-04-10
1019France2025-04-16
1020Italy2025-05-04
1021United Kingdom2025-04-29
1022India2025-04-18
1023France2025-04-25
1024United Kingdom2025-04-24
1025Argentina2025-04-25
1026Japan2025-05-03
1027Brazil2025-04-10
1028Japan2025-04-26
1029Australia2025-04-18
1030Germany2025-04-14
1031Spain2025-04-30
1032India2025-04-06
1033Russia2025-04-11
1034Brazil2025-04-24
1035Italy2025-04-11
1036India2025-04-06
1037Russia2025-05-03
1038Argentina2025-04-07
1039Italy2025-04-12
1040Brazil2025-04-27
1041Australia2025-04-18
1042United Kingdom2025-04-09
1043Germany2025-04-11
1044Italy2025-04-27
1045Australia2025-05-04
1046Germany2025-04-18
1047Canada2025-04-05
1048Brazil2025-04-28
1049Russia2025-04-09

On-Demand Data

NameIdCountryDate
James E Foller1000France2025-05-03
Rodrigues G Sergi1001Italy2025-04-20
Aruna V Wieser1002Australia2025-04-10
Adams O Sergi1003France2025-04-08
Darci Q Rulapaugh1004Spain2025-04-24
Maria F Wieser1005France2025-04-16
Ivar Z Campain1006United Kingdom2025-04-11
Tony H Perin1007Brazil2025-04-22
Julie P Campain1008Spain2025-04-25
Ricardo V Amigon1009India2025-04-18
Alejandro C Schemmer1010Argentina2025-04-06
Izzy L Albares1011Germany2025-05-01
Munro R Figeroa1012India2025-04-05
Cody B Wieser1013Russia2025-04-18
Cody A Iturbide1014Spain2025-04-26
Murillo Z Ostrosky1015United Kingdom2025-04-29
Maisha S Morasca1016India2025-04-11
Jeanfrancois T Morasca1017Russia2025-04-16
Adams A Kusko1018Russia2025-04-25
Tony N Gillian1019Australia2025-05-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro U CaudyJapanStephen Shaw RENEWAL
Stacey O BriddickBrazilAsiya Javayant PROPOSAL
James M MaletJapanIoni Bowcher NEW
Johnson N RoysterIndiaXuxue Feng UNQUALIFIED
Munro J AmigonFranceElwin Sharvill NEW
Tony B DarakjyUnited KingdomOnyama Limba RENEWAL
Aruna Z ButtCanadaAnna Fali QUALIFIED
Rodrigues Q CaldareraItalyOnyama Limba PROPOSAL
Leja V SlusarskiGermanyStephen Shaw NEGOTIATION
Misaki F InouyeSpainElwin Sharvill QUALIFIED
Murillo X OstroskyFranceIoni Bowcher NEGOTIATION
Aika U CampainBrazilOnyama Limba PROPOSAL
Jefferson W GauchoItalyStephen Shaw NEGOTIATION
Isabel E MacleadBrazilBernardo Dominic UNQUALIFIED
Francesco V SchemmerArgentinaAnna Fali UNQUALIFIED
Antonio K CampainArgentinaIvan Magalhaes NEGOTIATION
Ricardo Q FigeroaIndiaIoni Bowcher NEW
Aditya V BriddickRussiaAmy Elsner QUALIFIED
Salvatore J CaudyUnited KingdomBernardo Dominic UNQUALIFIED
Greenwood Q WieserUnited KingdomOnyama Limba NEW
Jeanfrancois J GlickAustraliaAnna Fali RENEWAL
Morrow M SergiItalyAsiya Javayant RENEWAL
Ivar O SlusarskiCanadaElwin Sharvill UNQUALIFIED
Leja P BologniaGermanyIoni Bowcher UNQUALIFIED
Aruna C PerinItalyBernardo Dominic UNQUALIFIED
Isabel B BowleyRussiaStephen Shaw UNQUALIFIED
Murillo J RulapaughSpainAmy Elsner RENEWAL
Darci C CaudyCanadaOnyama Limba UNQUALIFIED
Cody X RoysterArgentinaOnyama Limba NEW
Darci I FlosiAustraliaAmy Elsner UNQUALIFIED
Ashley U MacleadCanadaStephen Shaw NEW
Francesco H AlbaresBrazilElwin Sharvill NEGOTIATION
Izzy S BologniaCanadaXuxue Feng NEW
Ivar C TollnerItalyElwin Sharvill NEGOTIATION
Juan O BologniaUnited KingdomIoni Bowcher RENEWAL
Silvio Q CaldareraFranceIvan Magalhaes RENEWAL
Kadeem B DoeIndiaAsiya Javayant PROPOSAL
Ricardo X SlusarskiGermanyOnyama Limba UNQUALIFIED
Jefferson S GlickIndiaAmy Elsner NEW
Cody A TollnerGermanyIvan Magalhaes 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">
            <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>