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 Z RulapaughItalyAsiya Javayant PROPOSAL
Julie V PaprockiBrazilBernardo Dominic QUALIFIED
Rodrigues V CaudyItalyIoni Bowcher NEW
Stacey N CaldareraArgentinaXuxue Feng NEW
Misaki M StensethGermanyOnyama Limba RENEWAL
Claire S NickaCanadaAmy Elsner NEW
Munro Z KolmetzSpainBernardo Dominic NEGOTIATION
Kadeem Y KuskoRussiaStephen Shaw UNQUALIFIED
Octavia D MaletCanadaAsiya Javayant PROPOSAL
Jones P DarakjyAustraliaAmy Elsner RENEWAL
Tony N PerinAustraliaAsiya Javayant PROPOSAL
Ashley Y NestleRussiaOnyama Limba NEW
Greenwood S DarakjyArgentinaIvan Magalhaes PROPOSAL
Misaki P GlickUnited KingdomIvan Magalhaes QUALIFIED
Leja E FerenczGermanyAsiya Javayant NEGOTIATION
Isabel R GarufiSpainElwin Sharvill NEW
Chavez K RulapaughJapanIoni Bowcher QUALIFIED
Antonio V TollnerItalyStephen Shaw RENEWAL
Misaki D PoquetteUnited KingdomAnna Fali RENEWAL
Smith D AlbaresIndiaAnna Fali NEW
Aditya K CaudyAustraliaElwin Sharvill NEW
Darci F GarufiCanadaOnyama Limba PROPOSAL
Jones X MorascaGermanyAnna Fali NEW
Francesco Y VocelkaCanadaBernardo Dominic NEGOTIATION
Mujtaba O ButtArgentinaElwin Sharvill NEW
Claire B TollnerCanadaIoni Bowcher QUALIFIED
Rodrigues I BriddickAustraliaXuxue Feng PROPOSAL
Clifford A FigeroaItalyIvan Magalhaes RENEWAL
Johnson W AlbaresAustraliaStephen Shaw PROPOSAL
Maria V WieserJapanAsiya Javayant PROPOSAL
Tony Y CaudyFranceIoni Bowcher QUALIFIED
Nicolas H SergiSpainElwin Sharvill QUALIFIED
Mujtaba A KolmetzSpainAsiya Javayant UNQUALIFIED
Aruna D OstroskyIndiaElwin Sharvill NEGOTIATION
Deepesh N SlusarskiCanadaBernardo Dominic UNQUALIFIED
Aruna V DilliardRussiaAmy Elsner NEW
Cody E GarufiAustraliaAsiya Javayant NEW
Salvatore Y OldroydJapanXuxue Feng QUALIFIED
Maisha U DoeRussiaIvan Magalhaes QUALIFIED
Claire A RulapaughCanadaIoni Bowcher UNQUALIFIED
Smith X ButtCanadaIoni Bowcher UNQUALIFIED
Ivar V MarrierArgentinaIvan Magalhaes UNQUALIFIED
Jeanfrancois Q MarrierRussiaAsiya Javayant NEW
Mujtaba C PaprockiSpainXuxue Feng RENEWAL
Morrow P FlosiUnited KingdomAnna Fali UNQUALIFIED
Murillo C CaldareraRussiaAnna Fali PROPOSAL
Ashley E MaletRussiaIoni Bowcher NEGOTIATION
Munro Q InouyeRussiaBernardo Dominic NEGOTIATION
Jefferson E WieserFranceXuxue Feng QUALIFIED
Smith A MacleadIndiaXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Aditya A VocelkaJapanAmy Elsner NEW
Julie S MarrierAustraliaStephen Shaw QUALIFIED
David V IturbideFranceElwin Sharvill NEGOTIATION
Emily X MaletRussiaIoni Bowcher QUALIFIED
Sinclair M GlickCanadaElwin Sharvill NEGOTIATION
Isabel L DilliardBrazilStephen Shaw UNQUALIFIED
Kadeem H OstroskyIndiaIoni Bowcher QUALIFIED
Isabel O PerinUnited KingdomElwin Sharvill RENEWAL
Morrow M WhobreyUnited KingdomAnna Fali NEGOTIATION
Octavia V DoeUnited KingdomOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia W FigeroaArgentina2024-09-09Commercial Press QUALIFIED49Amy Elsner
1001Clifford U AlbaresUnited Kingdom2024-09-15Chapman, Ross E Esq NEGOTIATION98Amy Elsner
1002Arvin I SchemmerFrance2024-09-14Rangoni Of Florence PROPOSAL78Onyama Limba
1003Claire W GillianUnited Kingdom2024-09-05King, Christopher A Esq NEW86Stephen Shaw
1004Arvin E FigeroaUnited Kingdom2024-08-27Feltz Printing Service NEGOTIATION91Asiya Javayant
1005Aika F OstroskyUnited Kingdom2024-09-01Morlong Associates RENEWAL37Asiya Javayant
1006Alejandro M WieserJapan2024-09-18Feiner Bros PROPOSAL20Ivan Magalhaes
1007Ivar P VocelkaFrance2024-09-05Truhlar And Truhlar Attys PROPOSAL9Bernardo Dominic
1008Munro Q NickaArgentina2024-08-30Truhlar And Truhlar Attys RENEWAL14Onyama Limba
1009Sinclair G GarufiArgentina2024-09-15Morlong Associates NEW40Xuxue Feng
1010Jefferson A GlickIndia2024-09-07Printing Dimensions NEW30Anna Fali
1011Maisha K RulapaughJapan2024-09-06Feltz Printing Service NEGOTIATION95Xuxue Feng
1012Tony I CaldareraJapan2024-09-03Rangoni Of Florence RENEWAL81Asiya Javayant
1013Maisha L StensethGermany2024-08-31Buckley Miller Wright RENEWAL89Xuxue Feng
1014Aika Z KolmetzUnited Kingdom2024-09-02Chemel, James L Cpa UNQUALIFIED41Bernardo Dominic
1015Jefferson O DarakjyGermany2024-09-06Truhlar And Truhlar Attys PROPOSAL91Ivan Magalhaes
1016Mayumi A CaldareraUnited Kingdom2024-09-25Buckley Miller Wright PROPOSAL75Xuxue Feng
1017Maria S AmigonIndia2024-09-20Chanay, Jeffrey A Esq QUALIFIED29Ivan Magalhaes
1018Kadeem S NestleIndia2024-09-04Dorl, James J Esq UNQUALIFIED68Xuxue Feng
1019Darci R RutaJapan2024-09-18Chanay, Jeffrey A Esq QUALIFIED23Ioni Bowcher
1020Munro W CaldareraItaly2024-09-20Truhlar And Truhlar Attys QUALIFIED34Ioni Bowcher
1021Johnson Y BologniaCanada2024-08-30Chemel, James L Cpa UNQUALIFIED68Ivan Magalhaes
1022Tony N WhobreyFrance2024-09-03Rousseaux, Michael Esq RENEWAL97Anna Fali
1023Faith R NickaGermany2024-09-25Morlong Associates NEGOTIATION50Asiya Javayant
1024Leja W GauchoSpain2024-09-25Rousseaux, Michael Esq RENEWAL27Anna Fali
1025Cody Y GillianUnited Kingdom2024-09-06Dorl, James J Esq RENEWAL44Elwin Sharvill
1026Antonio M StockhamGermany2024-09-25Benton, John B Jr NEGOTIATION57Onyama Limba
1027Tony V DilliardIndia2024-09-06King, Christopher A Esq NEW93Stephen Shaw
1028Leon M CaudyUnited Kingdom2024-09-03Printing Dimensions NEGOTIATION32Bernardo Dominic
1029Isabel X KuskoFrance2024-09-10Printing Dimensions NEGOTIATION93Elwin Sharvill
1030Jefferson V NestleSpain2024-09-08Morlong Associates NEW57Xuxue Feng
1031Izzy W ShinkoGermany2024-09-21Truhlar And Truhlar Attys UNQUALIFIED0Onyama Limba
1032Munro V WhobreyItaly2024-08-31Rousseaux, Michael Esq PROPOSAL30Xuxue Feng
1033Morrow S CaldareraJapan2024-09-03Chemel, James L Cpa NEW33Anna Fali
1034Rodrigues S ButtBrazil2024-08-31Chanay, Jeffrey A Esq PROPOSAL63Amy Elsner
1035Tony Q StensethFrance2024-09-12Buckley Miller Wright RENEWAL45Xuxue Feng
1036Murillo X MaletCanada2024-08-28Truhlar And Truhlar Attys NEW12Stephen Shaw
1037Munro E MaletFrance2024-09-03Dorl, James J Esq UNQUALIFIED82Amy Elsner
1038Darci G ShinkoJapan2024-09-20Commercial Press NEW36Anna Fali
1039Mujtaba E GlickIndia2024-08-28Morlong Associates UNQUALIFIED10Xuxue Feng
1040Emily V MacleadBrazil2024-08-31Benton, John B Jr UNQUALIFIED55Amy Elsner
1041Stacey L FigeroaGermany2024-08-29Chanay, Jeffrey A Esq PROPOSAL12Elwin Sharvill
1042Aruna O CaldareraItaly2024-09-15Benton, John B Jr QUALIFIED92Bernardo Dominic
1043Munro P InouyeArgentina2024-09-06Dorl, James J Esq NEGOTIATION78Elwin Sharvill
1044Stacey S TollnerItaly2024-09-13Truhlar And Truhlar Attys UNQUALIFIED87Ioni Bowcher
1045Darci W DarakjyArgentina2024-09-13King, Christopher A Esq RENEWAL74Xuxue Feng
1046Izzy E FerenczUnited Kingdom2024-08-31Chemel, James L Cpa RENEWAL90Asiya Javayant
1047Rodrigues G FerenczAustralia2024-09-23Morlong Associates UNQUALIFIED61Stephen Shaw
1048Morrow E OldroydAustralia2024-09-06Dorl, James J Esq QUALIFIED74Elwin Sharvill
1049Misaki J PoquetteUnited Kingdom2024-09-03Morlong Associates UNQUALIFIED47Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Ashley Y ButtArgentinaBernardo Dominic RENEWAL
Jennifer E WieserGermanyElwin Sharvill PROPOSAL
Izzy U OstroskyBrazilAnna Fali RENEWAL
Faith Y CaudyItalyStephen Shaw UNQUALIFIED
Julie U SaylorsArgentinaXuxue Feng RENEWAL
Jeanfrancois J PerinRussiaIvan Magalhaes NEGOTIATION
Johnson W CaudyJapanAsiya Javayant PROPOSAL
Aika S SaylorsItalyStephen Shaw NEW
Leon K KuskoFranceElwin Sharvill UNQUALIFIED
Mayumi I VocelkaSpainAnna Fali PROPOSAL
Izzy O DoeBrazilIvan Magalhaes QUALIFIED
Misaki K SchemmerGermanyIoni Bowcher NEGOTIATION
Chavez Q MacleadGermanyStephen Shaw NEW
Salvatore J SergiGermanyXuxue Feng NEW
Greenwood M MorascaIndiaAsiya Javayant UNQUALIFIED
Deepesh P VocelkaIndiaAmy Elsner UNQUALIFIED
Jones I CaldareraCanadaAmy Elsner PROPOSAL
Jeanfrancois M ShinkoBrazilAnna Fali RENEWAL
Mayumi F ShinkoAustraliaIoni Bowcher RENEWAL
Francesco W GlickUnited KingdomElwin Sharvill NEW
Mayumi I CaldareraSpainAmy Elsner UNQUALIFIED
Deepesh F InouyeBrazilAnna Fali RENEWAL
Smith G MarrierItalyXuxue Feng RENEWAL
David Z CaudyBrazilAsiya Javayant UNQUALIFIED
Morrow X DoeBrazilElwin Sharvill NEGOTIATION
Darci M FigeroaSpainAnna Fali RENEWAL
Deepesh Q MarrierAustraliaAmy Elsner NEGOTIATION
Leon V ButtItalyElwin Sharvill NEW
Claire M BowleyArgentinaBernardo Dominic QUALIFIED
Smith Q FerenczBrazilBernardo Dominic QUALIFIED
Claire W WaycottGermanyAmy Elsner PROPOSAL
Maisha M SchemmerCanadaOnyama Limba RENEWAL
Isabel G FerenczItalyIvan Magalhaes RENEWAL
Julie L KuskoFranceAsiya Javayant QUALIFIED
Julie W GlickAustraliaIoni Bowcher RENEWAL
Ricardo H GlickAustraliaAsiya Javayant NEGOTIATION
Kaitlin M TollnerBrazilOnyama Limba PROPOSAL
Morrow N WieserSpainAnna Fali NEW
Greenwood N NickaSpainBernardo Dominic NEGOTIATION
Adams V ButtCanadaAnna Fali RENEWAL
Morrow J TollnerCanadaIoni Bowcher PROPOSAL
Kadeem Q PoquetteRussiaAnna Fali NEGOTIATION
Sinclair N ButtFranceAnna Fali PROPOSAL
Misaki V VocelkaCanadaAsiya Javayant QUALIFIED
Faith Q VocelkaArgentinaIvan Magalhaes NEW
Juan Y WaycottItalyIoni Bowcher RENEWAL
Maisha B FigeroaRussiaIoni Bowcher PROPOSAL
Jennifer R TollnerSpainAsiya Javayant QUALIFIED
Morrow Z AlbaresIndiaStephen Shaw PROPOSAL
Misaki K DoeArgentinaOnyama Limba QUALIFIED
Frozen Columns
Name
Morrow W Figeroa
Julie N Briddick
Munro E Vocelka
Emily R Perin
Deepesh B Iturbide
Ashley I Garufi
David G Butt
Adams R Ostrosky
Ivar C Caldarera
Juan D Marrier
Faith W Malet
Ashley C Kusko
Sinclair S Stenseth
Murillo K Sergi
Munro K Bowley
Jones G Ostrosky
Costa Z Dilliard
Aditya N Briddick
Nicolas V Briddick
Cody N Bolognia
Aruna Z Gaucho
Silvio V Morasca
Chavez C Chui
Maisha N Foller
Smith O Garufi
Clifford U Amigon
Jones E Nicka
Jennifer L Garufi
Aditya I Campain
Francesco X Caudy
Sinclair Z Foller
Stacey Q Caudy
Francesco P Ostrosky
Emily Q Rim
Nicolas J Whobrey
Greenwood C Whobrey
Cody N Ferencz
Smith L Caudy
Nicolas W Shinko
Isabel A Tollner
Kaitlin P Dilliard
Mayumi J Foller
James L Royster
Tony E Poquette
Chavez T Oldroyd
Juan A Kolmetz
Aditya C Rulapaugh
Mujtaba V Wieser
Ashley U Gaucho
Isabel R Chui
IdCountryDate
1000Canada2024-09-22
1001Argentina2024-08-30
1002United Kingdom2024-08-27
1003Spain2024-09-07
1004Spain2024-09-22
1005Japan2024-09-14
1006Japan2024-09-08
1007Argentina2024-09-18
1008Argentina2024-08-30
1009France2024-09-15
1010Brazil2024-08-27
1011France2024-08-31
1012Italy2024-09-23
1013Australia2024-09-25
1014Spain2024-09-24
1015Germany2024-09-15
1016Australia2024-09-11
1017Australia2024-09-06
1018Japan2024-08-29
1019India2024-09-19
1020Japan2024-08-28
1021Canada2024-09-19
1022Brazil2024-09-23
1023Italy2024-09-24
1024India2024-09-04
1025Italy2024-09-02
1026Germany2024-09-05
1027France2024-09-21
1028Brazil2024-08-28
1029Argentina2024-09-18
1030Australia2024-09-11
1031Brazil2024-09-22
1032Germany2024-09-13
1033France2024-08-29
1034Argentina2024-09-15
1035Argentina2024-09-09
1036Australia2024-09-16
1037Brazil2024-08-30
1038India2024-09-06
1039Argentina2024-09-15
1040Germany2024-09-07
1041France2024-09-16
1042Argentina2024-09-04
1043Canada2024-08-30
1044United Kingdom2024-09-21
1045Spain2024-09-10
1046Canada2024-09-24
1047Russia2024-09-03
1048Australia2024-09-08
1049Argentina2024-09-24

On-Demand Data

NameIdCountryDate
Jefferson G Sergi1000France2024-09-07
Rodrigues M Campain1001France2024-09-22
Mujtaba P Bolognia1002Canada2024-09-11
Faith Z Vocelka1003India2024-09-23
Ivar H Stockham1004Russia2024-08-29
Misaki N Paprocki1005France2024-09-12
Jefferson G Foller1006Germany2024-09-19
Maria G Saylors1007Canada2024-09-19
Jefferson M Perin1008Italy2024-09-05
Ashley W Venere1009France2024-08-29
Emily W Schemmer1010United Kingdom2024-09-18
Sinclair K Malet1011India2024-09-09
Jones P Iturbide1012India2024-09-04
Mayumi J Royster1013Japan2024-09-22
Johnson L Doe1014Australia2024-09-05
Johnson Q Bolognia1015Russia2024-09-20
Ricardo U Shinko1016Germany2024-09-20
Kaitlin T Doe1017Russia2024-08-28
Johnson H Vocelka1018Australia2024-09-17
Kadeem Z Amigon1019Argentina2024-09-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja M FollerIndiaIvan Magalhaes UNQUALIFIED
Silvio X BriddickArgentinaBernardo Dominic NEW
Greenwood E VenereAustraliaBernardo Dominic NEW
Izzy K ShinkoCanadaIoni Bowcher QUALIFIED
Wickens E TollnerIndiaAsiya Javayant NEW
David P SchemmerRussiaElwin Sharvill QUALIFIED
Darci K DoeFranceAsiya Javayant NEGOTIATION
Aruna M IturbideArgentinaAnna Fali RENEWAL
Jeanfrancois J VenereIndiaAmy Elsner QUALIFIED
Stacey F MaletFranceOnyama Limba NEW
Leon N TollnerIndiaStephen Shaw NEGOTIATION
Chavez F OstroskyBrazilElwin Sharvill NEW
Julie L SergiBrazilIoni Bowcher PROPOSAL
Isabel E WhobreyIndiaStephen Shaw NEGOTIATION
David P GillianItalyElwin Sharvill QUALIFIED
Silvio B StensethCanadaAnna Fali NEW
Adams Q ButtBrazilAmy Elsner UNQUALIFIED
Mujtaba F CampainArgentinaStephen Shaw QUALIFIED
Jefferson I StensethArgentinaOnyama Limba UNQUALIFIED
Kaitlin R CampainJapanAnna Fali UNQUALIFIED
Ashley O DarakjyGermanyIoni Bowcher QUALIFIED
Cody X NestleItalyIoni Bowcher QUALIFIED
Octavia G BowleyItalyIvan Magalhaes RENEWAL
Munro I RutaRussiaAmy Elsner PROPOSAL
Aika S VocelkaSpainStephen Shaw NEGOTIATION
Johnson N IturbideSpainElwin Sharvill NEGOTIATION
Nicolas N RulapaughFranceAnna Fali NEGOTIATION
Kadeem Q RimSpainStephen Shaw NEW
Greenwood S AmigonBrazilAsiya Javayant NEGOTIATION
Johnson V CampainCanadaAsiya Javayant NEGOTIATION
Leja X BowleyArgentinaAnna Fali QUALIFIED
Chavez I BologniaFranceIvan Magalhaes RENEWAL
Misaki K DoeRussiaAsiya Javayant NEGOTIATION
Johnson L IturbideSpainAmy Elsner RENEWAL
Johnson K CampainIndiaAsiya Javayant RENEWAL
Mayumi Z IturbideIndiaOnyama Limba NEGOTIATION
Antonio P DarakjyGermanyStephen Shaw UNQUALIFIED
Emily H CaldareraIndiaOnyama Limba QUALIFIED
Ivar E VocelkaCanadaIvan Magalhaes UNQUALIFIED
Salvatore Q IturbideGermanyIoni Bowcher 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>