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 S VenereBrazilBernardo Dominic NEW
Ashley Q FollerItalyBernardo Dominic NEGOTIATION
Izzy U ButtSpainElwin Sharvill RENEWAL
Maisha A AmigonIndiaIvan Magalhaes NEGOTIATION
Francesco A WieserRussiaBernardo Dominic NEGOTIATION
Antonio A IturbideJapanIoni Bowcher NEGOTIATION
Isabel U MacleadArgentinaIoni Bowcher NEGOTIATION
Tony C MaletRussiaIvan Magalhaes NEGOTIATION
Silvio L StensethCanadaElwin Sharvill PROPOSAL
David V MarrierRussiaOnyama Limba QUALIFIED
Octavia C MacleadRussiaElwin Sharvill NEW
Johnson S OldroydSpainOnyama Limba NEW
Clifford U FollerItalyElwin Sharvill RENEWAL
Jefferson V SlusarskiFranceIoni Bowcher RENEWAL
Jefferson L ChuiArgentinaAsiya Javayant NEGOTIATION
Darci C PerinRussiaElwin Sharvill NEW
Claire D PerinJapanStephen Shaw RENEWAL
Deepesh Z PoquetteSpainAmy Elsner PROPOSAL
Smith F WhobreyAustraliaAsiya Javayant PROPOSAL
Ashley E AlbaresJapanXuxue Feng QUALIFIED
Greenwood S PerinIndiaAmy Elsner QUALIFIED
Alejandro W FigeroaBrazilAmy Elsner NEW
Aditya Z WhobreyFranceAsiya Javayant UNQUALIFIED
James E DarakjyGermanyIoni Bowcher PROPOSAL
Mayumi L KolmetzRussiaBernardo Dominic PROPOSAL
Silvio N RutaUnited KingdomAmy Elsner NEGOTIATION
Cody C KuskoRussiaIvan Magalhaes QUALIFIED
James C MarrierAustraliaElwin Sharvill RENEWAL
James W OldroydBrazilXuxue Feng UNQUALIFIED
Tony U PerinIndiaBernardo Dominic NEGOTIATION
Jennifer V CaldareraAustraliaAsiya Javayant NEW
Claire V StensethUnited KingdomIvan Magalhaes NEW
Jennifer N ShinkoUnited KingdomOnyama Limba PROPOSAL
Clifford Y SaylorsBrazilAsiya Javayant NEW
Stacey B PoquetteAustraliaIvan Magalhaes UNQUALIFIED
Johnson V FollerRussiaElwin Sharvill NEGOTIATION
Mayumi P AmigonItalyAmy Elsner PROPOSAL
Jefferson N FollerRussiaAnna Fali NEW
Smith G FlosiSpainStephen Shaw NEW
Izzy H DoeBrazilIvan Magalhaes PROPOSAL
Leon F SergiJapanIoni Bowcher NEW
Stacey J PerinItalyAmy Elsner PROPOSAL
Misaki H SchemmerCanadaBernardo Dominic UNQUALIFIED
Adams W RutaUnited KingdomIoni Bowcher PROPOSAL
Leon P RutaAustraliaStephen Shaw NEW
Misaki U PoquetteGermanyAsiya Javayant NEW
Kadeem S DilliardCanadaAmy Elsner PROPOSAL
Cody E KolmetzSpainIoni Bowcher UNQUALIFIED
Morrow Y VocelkaRussiaAsiya Javayant PROPOSAL
Faith L StensethJapanAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jones E CaldareraIndiaIvan Magalhaes PROPOSAL
Salvatore S SlusarskiFranceOnyama Limba NEW
Costa A BriddickUnited KingdomAsiya Javayant UNQUALIFIED
Jefferson L WieserUnited KingdomIvan Magalhaes QUALIFIED
Jones R MorascaJapanIvan Magalhaes PROPOSAL
Wickens F MacleadArgentinaElwin Sharvill NEW
Rodrigues K VocelkaArgentinaStephen Shaw UNQUALIFIED
Leon A BologniaGermanyXuxue Feng NEW
Maria U WhobreyCanadaElwin Sharvill RENEWAL
Johnson C DilliardItalyXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow P ShinkoRussia2025-04-20Printing Dimensions UNQUALIFIED33Elwin Sharvill
1001Mujtaba U NestleJapan2025-04-22Chanay, Jeffrey A Esq PROPOSAL51Bernardo Dominic
1002Mujtaba M DoeArgentina2025-04-30Rangoni Of Florence NEGOTIATION11Onyama Limba
1003David E PaprockiIndia2025-04-09King, Christopher A Esq NEW84Amy Elsner
1004Salvatore N DoeIndia2025-04-25Rousseaux, Michael Esq PROPOSAL19Asiya Javayant
1005Wickens V NestleIndia2025-04-19Printing Dimensions NEW29Asiya Javayant
1006Alejandro G ShinkoSpain2025-04-07Commercial Press RENEWAL45Ioni Bowcher
1007Chavez U PerinArgentina2025-04-05Commercial Press UNQUALIFIED91Xuxue Feng
1008Nicolas Y SchemmerGermany2025-04-18Benton, John B Jr QUALIFIED66Anna Fali
1009Kaitlin R OstroskyCanada2025-04-26Dorl, James J Esq PROPOSAL6Elwin Sharvill
1010Mayumi H MacleadItaly2025-04-07Buckley Miller Wright PROPOSAL87Xuxue Feng
1011Smith Q FerenczGermany2025-04-21Truhlar And Truhlar Attys NEW57Ivan Magalhaes
1012Mujtaba A RoysterIndia2025-04-17Chapman, Ross E Esq UNQUALIFIED72Onyama Limba
1013Adams Z FlosiArgentina2025-04-15Benton, John B Jr UNQUALIFIED80Amy Elsner
1014Octavia D OstroskyJapan2025-04-10Morlong Associates UNQUALIFIED83Stephen Shaw
1015Ricardo R GarufiRussia2025-04-05King, Christopher A Esq QUALIFIED29Amy Elsner
1016Costa H FollerGermany2025-04-09Feltz Printing Service NEW54Bernardo Dominic
1017Wickens V CaldareraItaly2025-04-20Dorl, James J Esq NEW39Elwin Sharvill
1018Deepesh X SlusarskiSpain2025-04-24Commercial Press QUALIFIED22Xuxue Feng
1019Ashley U ButtFrance2025-04-26Dorl, James J Esq RENEWAL89Stephen Shaw
1020Aditya O VocelkaRussia2025-04-15King, Christopher A Esq RENEWAL34Amy Elsner
1021Emily O OstroskyUnited Kingdom2025-04-21Rousseaux, Michael Esq NEW29Ivan Magalhaes
1022Ivar Z CaldareraAustralia2025-04-01Benton, John B Jr QUALIFIED73Asiya Javayant
1023Antonio A FlosiBrazil2025-04-29Feiner Bros RENEWAL28Bernardo Dominic
1024Johnson W PaprockiJapan2025-04-09Benton, John B Jr NEGOTIATION82Bernardo Dominic
1025Maisha S ChuiCanada2025-04-12Chemel, James L Cpa UNQUALIFIED7Stephen Shaw
1026Ricardo O GarufiArgentina2025-04-27Feiner Bros RENEWAL51Ivan Magalhaes
1027Murillo R AmigonCanada2025-04-08Chapman, Ross E Esq UNQUALIFIED85Anna Fali
1028Jennifer F WaycottFrance2025-04-05Rangoni Of Florence QUALIFIED48Xuxue Feng
1029Mujtaba L TollnerJapan2025-04-27Chemel, James L Cpa RENEWAL33Amy Elsner
1030Silvio E StockhamCanada2025-04-27Buckley Miller Wright NEW80Onyama Limba
1031Morrow B GillianJapan2025-04-15Rangoni Of Florence NEGOTIATION24Stephen Shaw
1032Ricardo O OstroskyCanada2025-04-08Chemel, James L Cpa NEGOTIATION47Anna Fali
1033Mujtaba L FlosiSpain2025-04-04Dorl, James J Esq RENEWAL64Asiya Javayant
1034Munro L RulapaughIndia2025-04-15Chapman, Ross E Esq PROPOSAL22Elwin Sharvill
1035Jefferson M KolmetzSpain2025-04-15Truhlar And Truhlar Attys NEGOTIATION90Bernardo Dominic
1036Ashley F CaudyIndia2025-04-22Benton, John B Jr RENEWAL1Anna Fali
1037Morrow F RoysterUnited Kingdom2025-04-19Rangoni Of Florence NEW61Stephen Shaw
1038Aruna I AmigonCanada2025-04-18Chapman, Ross E Esq NEGOTIATION71Ivan Magalhaes
1039Mujtaba U RimGermany2025-04-24Morlong Associates PROPOSAL92Anna Fali
1040Wickens Y OstroskyItaly2025-04-08Chanay, Jeffrey A Esq QUALIFIED46Onyama Limba
1041Salvatore M SlusarskiUnited Kingdom2025-04-26Dorl, James J Esq NEW46Elwin Sharvill
1042Julie N RimJapan2025-04-22Buckley Miller Wright PROPOSAL81Ioni Bowcher
1043Jones X InouyeArgentina2025-04-23Truhlar And Truhlar Attys NEW77Amy Elsner
1044Kaitlin Z RoysterArgentina2025-04-10Chapman, Ross E Esq UNQUALIFIED44Elwin Sharvill
1045Octavia S WhobreyIndia2025-04-06Rangoni Of Florence NEGOTIATION28Bernardo Dominic
1046Octavia Q BologniaIndia2025-04-18Printing Dimensions NEW96Ioni Bowcher
1047Munro G PerinUnited Kingdom2025-04-01Benton, John B Jr PROPOSAL5Stephen Shaw
1048Chavez S GauchoAustralia2025-04-21Rousseaux, Michael Esq QUALIFIED68Stephen Shaw
1049Jefferson P FerenczRussia2025-04-09Rousseaux, Michael Esq QUALIFIED16Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Aditya G SchemmerRussiaOnyama Limba PROPOSAL
Ricardo U CampainGermanyAsiya Javayant UNQUALIFIED
Smith S PoquetteItalyBernardo Dominic UNQUALIFIED
Misaki G BologniaUnited KingdomAmy Elsner QUALIFIED
James Z CampainIndiaAmy Elsner RENEWAL
Octavia U WhobreyJapanBernardo Dominic QUALIFIED
Antonio J CampainItalyAnna Fali RENEWAL
Jones K OstroskyJapanStephen Shaw NEGOTIATION
Murillo I AlbaresRussiaIvan Magalhaes RENEWAL
Sinclair C WhobreySpainAsiya Javayant QUALIFIED
Kadeem C NickaSpainIoni Bowcher QUALIFIED
Murillo Y DoeFranceElwin Sharvill PROPOSAL
Costa G GlickUnited KingdomIoni Bowcher NEW
Faith V TollnerGermanyIvan Magalhaes RENEWAL
Rodrigues T MaletRussiaAnna Fali NEGOTIATION
Jones K BriddickArgentinaStephen Shaw RENEWAL
Octavia P ChuiJapanElwin Sharvill UNQUALIFIED
Ricardo I VocelkaBrazilAsiya Javayant NEW
Leja E FerenczSpainIvan Magalhaes NEGOTIATION
Aditya S MacleadArgentinaOnyama Limba UNQUALIFIED
Isabel J IturbideAustraliaXuxue Feng NEW
Murillo J SaylorsUnited KingdomAmy Elsner PROPOSAL
Kaitlin H FerenczRussiaOnyama Limba NEGOTIATION
Smith D FollerSpainXuxue Feng NEGOTIATION
Ivar L RoysterAustraliaAmy Elsner PROPOSAL
Wickens X BriddickSpainStephen Shaw PROPOSAL
Isabel T MorascaJapanXuxue Feng NEW
Juan W FlosiCanadaOnyama Limba NEW
Faith X PaprockiSpainAnna Fali QUALIFIED
Clifford M FollerIndiaStephen Shaw NEGOTIATION
Jefferson P AlbaresCanadaBernardo Dominic PROPOSAL
Costa O ChuiAustraliaStephen Shaw UNQUALIFIED
Aruna Z TollnerArgentinaAnna Fali UNQUALIFIED
Kaitlin Z MaletCanadaAsiya Javayant UNQUALIFIED
Nicolas J KuskoSpainOnyama Limba NEGOTIATION
Maria Z SchemmerSpainIvan Magalhaes UNQUALIFIED
Maria X AmigonBrazilAsiya Javayant NEGOTIATION
Aika T BowleyUnited KingdomIvan Magalhaes NEGOTIATION
Murillo X DilliardBrazilElwin Sharvill QUALIFIED
Ashley R AmigonJapanBernardo Dominic UNQUALIFIED
Costa T FigeroaSpainXuxue Feng PROPOSAL
Darci M DilliardFranceAnna Fali PROPOSAL
Isabel W GlickUnited KingdomAmy Elsner RENEWAL
Greenwood L GarufiRussiaOnyama Limba QUALIFIED
Jones R SlusarskiJapanStephen Shaw RENEWAL
Maisha Q VenereCanadaAsiya Javayant UNQUALIFIED
Aika L GarufiAustraliaOnyama Limba RENEWAL
Murillo B PerinFranceIoni Bowcher NEGOTIATION
Jeanfrancois M InouyeFranceAsiya Javayant RENEWAL
Rodrigues K OstroskyGermanyOnyama Limba NEGOTIATION
Frozen Columns
Name
Smith O Wieser
Deepesh E Darakjy
Munro Y Maclead
Kadeem K Figeroa
Ivar C Rim
Darci J Amigon
Munro H Ferencz
Aruna F Rulapaugh
Wickens Z Waycott
Emily B Flosi
Darci T Saylors
Alejandro O Iturbide
Izzy G Ferencz
Julie W Marrier
Isabel F Gaucho
James J Dilliard
Izzy F Gaucho
Darci W Kolmetz
Ricardo L Stenseth
Octavia Z Stockham
Francesco C Doe
Ricardo N Stenseth
Aruna L Kusko
Clifford U Ostrosky
Jennifer N Kolmetz
Munro Z Chui
Misaki F Bolognia
Rodrigues E Foller
Ashley U Butt
Antonio C Kolmetz
Ivar W Wieser
Emily J Tollner
Tony R Shinko
Claire I Sergi
Smith S Poquette
Emily M Sergi
Alejandro Y Gillian
Mujtaba E Malet
Octavia W Butt
Alejandro K Paprocki
Aditya G Nicka
Rodrigues A Bolognia
Adams Q Vocelka
Stacey S Inouye
Octavia R Caudy
James P Vocelka
Cody A Bowley
Antonio U Chui
Maria Z Malet
Isabel Y Schemmer
IdCountryDate
1000France2025-04-15
1001Australia2025-04-04
1002India2025-04-17
1003Germany2025-04-18
1004Argentina2025-04-18
1005Brazil2025-04-19
1006Brazil2025-04-07
1007France2025-04-21
1008Italy2025-04-05
1009India2025-04-30
1010Argentina2025-04-19
1011Italy2025-04-11
1012Germany2025-04-18
1013Germany2025-04-14
1014Brazil2025-04-03
1015Japan2025-04-11
1016Spain2025-04-14
1017Argentina2025-04-13
1018Japan2025-04-10
1019Italy2025-04-20
1020Japan2025-04-27
1021Japan2025-04-29
1022Spain2025-04-06
1023Japan2025-04-24
1024Italy2025-04-13
1025Canada2025-04-23
1026Japan2025-04-04
1027Brazil2025-04-26
1028Brazil2025-04-03
1029France2025-04-04
1030Spain2025-04-02
1031India2025-04-04
1032France2025-04-29
1033Argentina2025-04-22
1034Canada2025-04-21
1035Australia2025-04-07
1036Japan2025-04-13
1037United Kingdom2025-04-12
1038Italy2025-04-03
1039Germany2025-04-23
1040Russia2025-04-15
1041Italy2025-04-12
1042Japan2025-04-09
1043Australia2025-04-10
1044Germany2025-04-05
1045Australia2025-04-29
1046Australia2025-04-30
1047Russia2025-04-19
1048Japan2025-04-19
1049Canada2025-04-07

On-Demand Data

NameIdCountryDate
Isabel U Saylors1000France2025-04-28
Francesco R Marrier1001Japan2025-04-18
Nicolas B Vocelka1002France2025-04-17
Arvin S Waycott1003Australia2025-04-23
Nicolas H Whobrey1004Spain2025-04-25
Aditya K Caldarera1005France2025-04-14
Izzy Z Iturbide1006Argentina2025-04-19
Juan A Kolmetz1007Canada2025-04-15
David Y Vocelka1008Argentina2025-04-14
James P Ferencz1009Russia2025-04-24
Octavia J Nicka1010India2025-04-27
Wickens E Iturbide1011Brazil2025-04-01
Sinclair A Bowley1012Argentina2025-04-15
Mujtaba C Waycott1013India2025-04-30
Faith M Nestle1014Japan2025-04-18
Chavez Z Iturbide1015Canada2025-04-06
Leja Y Shinko1016Canada2025-04-28
Chavez F Vocelka1017Argentina2025-04-26
Isabel X Stockham1018Spain2025-04-15
Faith Q Schemmer1019Australia2025-04-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues M TollnerJapanElwin Sharvill QUALIFIED
Kadeem C SchemmerJapanAmy Elsner QUALIFIED
Morrow O SaylorsCanadaStephen Shaw PROPOSAL
Smith A NestleUnited KingdomXuxue Feng RENEWAL
Greenwood S RimArgentinaIvan Magalhaes PROPOSAL
Rodrigues Z GauchoAustraliaElwin Sharvill PROPOSAL
Jefferson H BologniaUnited KingdomStephen Shaw RENEWAL
Misaki I StensethCanadaIvan Magalhaes UNQUALIFIED
Kaitlin J InouyeFranceElwin Sharvill RENEWAL
Octavia H NickaFranceStephen Shaw NEGOTIATION
Wickens G BologniaRussiaBernardo Dominic UNQUALIFIED
Johnson Z PoquetteAustraliaElwin Sharvill NEW
Claire O FerenczAustraliaIoni Bowcher PROPOSAL
Juan L GillianItalyAsiya Javayant UNQUALIFIED
Darci F GauchoSpainAsiya Javayant PROPOSAL
Salvatore I StockhamIndiaBernardo Dominic NEW
Morrow V MarrierIndiaIoni Bowcher NEW
Nicolas M FerenczGermanyElwin Sharvill QUALIFIED
Isabel I GauchoAustraliaOnyama Limba QUALIFIED
Chavez E RimCanadaIoni Bowcher RENEWAL
Nicolas B StockhamItalyElwin Sharvill PROPOSAL
Juan F MorascaRussiaOnyama Limba RENEWAL
David N SaylorsGermanyBernardo Dominic NEGOTIATION
Rodrigues U DilliardRussiaOnyama Limba PROPOSAL
Jennifer T OstroskyBrazilBernardo Dominic RENEWAL
Costa Z CampainAustraliaXuxue Feng NEW
Jefferson A DarakjyBrazilAsiya Javayant NEGOTIATION
Francesco X AlbaresGermanyElwin Sharvill NEW
Mayumi W SaylorsAustraliaXuxue Feng RENEWAL
Claire U SaylorsRussiaAmy Elsner UNQUALIFIED
Johnson B VocelkaItalyAmy Elsner NEGOTIATION
Silvio E MaletSpainBernardo Dominic QUALIFIED
Wickens W MaletCanadaOnyama Limba NEW
Claire M WieserSpainStephen Shaw NEW
Aditya F MarrierArgentinaXuxue Feng RENEWAL
Arvin M OstroskyUnited KingdomStephen Shaw NEW
Munro U OldroydArgentinaIvan Magalhaes NEGOTIATION
Ashley L WhobreySpainIoni Bowcher RENEWAL
James Y OldroydCanadaAmy Elsner PROPOSAL
Wickens P MarrierBrazilIoni Bowcher NEGOTIATION

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