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
Costa T WieserFranceAnna Fali QUALIFIED
David M StensethGermanyAmy Elsner RENEWAL
Mayumi T GillianAustraliaIvan Magalhaes QUALIFIED
Ricardo X ChuiArgentinaXuxue Feng NEGOTIATION
Kadeem I InouyeSpainStephen Shaw NEGOTIATION
Morrow L AlbaresGermanyAmy Elsner QUALIFIED
Faith Z RulapaughBrazilOnyama Limba NEW
James N GauchoAustraliaAnna Fali UNQUALIFIED
Jones H WieserAustraliaIvan Magalhaes RENEWAL
Antonio G StockhamCanadaBernardo Dominic NEW
Arvin A FerenczRussiaAnna Fali NEW
Sinclair U VocelkaCanadaBernardo Dominic UNQUALIFIED
Kadeem M KolmetzItalyOnyama Limba PROPOSAL
Costa A ShinkoJapanOnyama Limba UNQUALIFIED
Darci A FlosiBrazilOnyama Limba NEGOTIATION
Clifford V OstroskyGermanyOnyama Limba UNQUALIFIED
Izzy L PoquetteRussiaOnyama Limba UNQUALIFIED
Claire Z RulapaughGermanyElwin Sharvill QUALIFIED
Nicolas C FlosiAustraliaOnyama Limba QUALIFIED
Faith U NestleItalyStephen Shaw NEW
Ashley K IturbideArgentinaXuxue Feng NEGOTIATION
Faith F ShinkoGermanyOnyama Limba NEW
Jones J TollnerUnited KingdomAmy Elsner NEGOTIATION
David R RutaAustraliaElwin Sharvill QUALIFIED
Jennifer M StensethAustraliaElwin Sharvill QUALIFIED
Adams V AmigonUnited KingdomAmy Elsner PROPOSAL
Sinclair N WhobreyAustraliaAnna Fali NEGOTIATION
Aika Q SaylorsAustraliaBernardo Dominic RENEWAL
Adams W StensethArgentinaAnna Fali QUALIFIED
Misaki U OldroydBrazilBernardo Dominic NEGOTIATION
Stacey T StockhamUnited KingdomAnna Fali NEW
Costa B BologniaItalyIvan Magalhaes UNQUALIFIED
Rodrigues O KolmetzBrazilXuxue Feng QUALIFIED
Rodrigues C CaudyArgentinaBernardo Dominic NEGOTIATION
Julie Z GauchoAustraliaIvan Magalhaes NEW
David V PoquetteItalyIoni Bowcher QUALIFIED
Adams K ShinkoRussiaElwin Sharvill RENEWAL
Chavez Q SaylorsArgentinaAsiya Javayant RENEWAL
Smith X MorascaJapanAsiya Javayant NEW
Sinclair S VocelkaJapanElwin Sharvill PROPOSAL
Sinclair D KolmetzSpainIoni Bowcher RENEWAL
Alejandro D MaletGermanyAsiya Javayant NEGOTIATION
Misaki K NickaItalyAnna Fali QUALIFIED
Rodrigues F FigeroaBrazilXuxue Feng NEGOTIATION
Faith J GauchoItalyOnyama Limba QUALIFIED
Leon E MorascaItalyBernardo Dominic NEW
Kadeem M RutaUnited KingdomIvan Magalhaes RENEWAL
Faith Z MaletFranceStephen Shaw PROPOSAL
David D ShinkoJapanXuxue Feng PROPOSAL
Deepesh Q FlosiRussiaAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maria Y PerinIndiaStephen Shaw QUALIFIED
Darci X DilliardArgentinaAnna Fali QUALIFIED
Munro X SaylorsCanadaOnyama Limba NEW
Ivar Y PaprockiJapanOnyama Limba RENEWAL
Maisha B StensethBrazilAnna Fali PROPOSAL
Salvatore E BowleyCanadaOnyama Limba QUALIFIED
Kadeem G ShinkoJapanIoni Bowcher UNQUALIFIED
Ivar E VenereBrazilOnyama Limba NEW
Kaitlin T NickaSpainAsiya Javayant NEGOTIATION
Emily S GarufiGermanyOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria Y AlbaresArgentina2024-05-28King, Christopher A Esq QUALIFIED85Ioni Bowcher
1001Alejandro K KuskoCanada2024-06-15Chapman, Ross E Esq QUALIFIED28Amy Elsner
1002Greenwood C RulapaughBrazil2024-06-21Benton, John B Jr NEW37Onyama Limba
1003Chavez J DoeUnited Kingdom2024-05-25Feltz Printing Service NEW57Elwin Sharvill
1004Ivar H WaycottGermany2024-06-16Dorl, James J Esq RENEWAL89Asiya Javayant
1005Tony E IturbideRussia2024-06-03Chapman, Ross E Esq QUALIFIED93Xuxue Feng
1006David L VocelkaCanada2024-05-25Chemel, James L Cpa PROPOSAL28Amy Elsner
1007Francesco G RutaAustralia2024-06-05Buckley Miller Wright NEW92Ioni Bowcher
1008Aditya D AlbaresItaly2024-06-19Feiner Bros PROPOSAL27Asiya Javayant
1009Alejandro K FollerFrance2024-05-24Chemel, James L Cpa RENEWAL82Amy Elsner
1010Aika Y KuskoItaly2024-05-31Commercial Press QUALIFIED57Bernardo Dominic
1011Wickens D StensethAustralia2024-06-17Chanay, Jeffrey A Esq QUALIFIED94Elwin Sharvill
1012Clifford S VenereBrazil2024-05-30Truhlar And Truhlar Attys UNQUALIFIED77Amy Elsner
1013Alejandro C GarufiFrance2024-05-26Printing Dimensions UNQUALIFIED87Ioni Bowcher
1014Antonio E RimRussia2024-06-16Feltz Printing Service RENEWAL45Anna Fali
1015Mayumi H PoquetteSpain2024-05-23Commercial Press NEW22Elwin Sharvill
1016Ivar Y DarakjyUnited Kingdom2024-05-27Feiner Bros UNQUALIFIED29Amy Elsner
1017Mujtaba M BologniaAustralia2024-05-29Chanay, Jeffrey A Esq QUALIFIED6Bernardo Dominic
1018Faith Y BriddickArgentina2024-05-26Rousseaux, Michael Esq PROPOSAL36Stephen Shaw
1019Nicolas H DoeJapan2024-06-18Feiner Bros UNQUALIFIED51Ivan Magalhaes
1020Aika W RoysterSpain2024-05-30Benton, John B Jr QUALIFIED24Bernardo Dominic
1021Francesco N WaycottSpain2024-06-12Feltz Printing Service PROPOSAL35Stephen Shaw
1022Leja S FollerSpain2024-06-19Morlong Associates RENEWAL35Anna Fali
1023Kadeem J InouyeSpain2024-05-31Printing Dimensions NEW97Stephen Shaw
1024Rodrigues H DoeUnited Kingdom2024-05-26King, Christopher A Esq UNQUALIFIED52Ivan Magalhaes
1025Aika T WaycottItaly2024-05-30Buckley Miller Wright RENEWAL57Amy Elsner
1026Clifford I SaylorsArgentina2024-06-20Rousseaux, Michael Esq PROPOSAL74Anna Fali
1027Morrow G DilliardSpain2024-05-28King, Christopher A Esq QUALIFIED91Asiya Javayant
1028Tony N MaletCanada2024-06-13Feiner Bros PROPOSAL79Xuxue Feng
1029Francesco C ChuiCanada2024-06-09Chemel, James L Cpa UNQUALIFIED1Bernardo Dominic
1030James L ShinkoIndia2024-05-23Commercial Press NEW79Stephen Shaw
1031Silvio D WhobreySpain2024-05-28Buckley Miller Wright UNQUALIFIED99Asiya Javayant
1032Ricardo U RimFrance2024-06-13Chemel, James L Cpa PROPOSAL60Elwin Sharvill
1033Maisha G NickaBrazil2024-06-17Buckley Miller Wright UNQUALIFIED58Amy Elsner
1034Kaitlin E BriddickFrance2024-06-13Chanay, Jeffrey A Esq PROPOSAL79Elwin Sharvill
1035Aditya X CaudyBrazil2024-05-28Buckley Miller Wright RENEWAL44Onyama Limba
1036Silvio N TollnerItaly2024-06-05Feiner Bros QUALIFIED42Stephen Shaw
1037James F FlosiUnited Kingdom2024-05-24Chanay, Jeffrey A Esq RENEWAL37Ivan Magalhaes
1038Misaki J MaletIndia2024-06-08Chapman, Ross E Esq UNQUALIFIED23Onyama Limba
1039Juan N SergiFrance2024-06-06Dorl, James J Esq NEW64Ivan Magalhaes
1040Isabel Z ShinkoRussia2024-06-16Commercial Press UNQUALIFIED80Ivan Magalhaes
1041Antonio J RutaUnited Kingdom2024-06-19Truhlar And Truhlar Attys UNQUALIFIED64Amy Elsner
1042Sinclair Z InouyeItaly2024-05-29Rousseaux, Michael Esq NEGOTIATION33Ioni Bowcher
1043Alejandro I BriddickUnited Kingdom2024-05-29Chanay, Jeffrey A Esq PROPOSAL79Anna Fali
1044Maria F MaletFrance2024-05-29King, Christopher A Esq PROPOSAL39Anna Fali
1045Chavez P StockhamJapan2024-05-27Chemel, James L Cpa PROPOSAL6Ioni Bowcher
1046Wickens C RimArgentina2024-05-29Feltz Printing Service RENEWAL32Amy Elsner
1047Mujtaba F BologniaGermany2024-05-26Printing Dimensions UNQUALIFIED27Ivan Magalhaes
1048Smith I StockhamGermany2024-05-30Chanay, Jeffrey A Esq NEGOTIATION71Anna Fali
1049Costa U SlusarskiFrance2024-06-16Dorl, James J Esq QUALIFIED91Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
James N RoysterGermanyAnna Fali UNQUALIFIED
James W NickaSpainOnyama Limba NEW
Salvatore F DarakjyRussiaOnyama Limba NEGOTIATION
Cody D FerenczFranceXuxue Feng RENEWAL
Arvin L ShinkoItalyOnyama Limba NEGOTIATION
Arvin T GarufiSpainElwin Sharvill QUALIFIED
Smith D MacleadBrazilOnyama Limba RENEWAL
Murillo N WaycottArgentinaBernardo Dominic QUALIFIED
Ricardo E MacleadUnited KingdomStephen Shaw PROPOSAL
Cody J PoquetteBrazilStephen Shaw RENEWAL
Octavia K DoeCanadaBernardo Dominic NEGOTIATION
Costa M GarufiAustraliaAmy Elsner NEGOTIATION
Arvin W NickaGermanyElwin Sharvill UNQUALIFIED
Antonio K ShinkoRussiaXuxue Feng NEW
Jeanfrancois G AlbaresJapanAnna Fali RENEWAL
Silvio N MaletUnited KingdomIoni Bowcher NEGOTIATION
Isabel G WieserIndiaIoni Bowcher RENEWAL
Kadeem K WaycottAustraliaIvan Magalhaes PROPOSAL
Greenwood H SlusarskiBrazilOnyama Limba QUALIFIED
Juan E GlickItalyAsiya Javayant PROPOSAL
Maria L IturbideGermanyIvan Magalhaes NEGOTIATION
Jeanfrancois S VenereIndiaStephen Shaw UNQUALIFIED
Mayumi S PoquetteJapanBernardo Dominic NEW
Antonio A AlbaresRussiaXuxue Feng RENEWAL
Jefferson G MacleadArgentinaXuxue Feng UNQUALIFIED
Smith O RimUnited KingdomAnna Fali PROPOSAL
Smith L SlusarskiCanadaOnyama Limba UNQUALIFIED
Morrow M CampainItalyAsiya Javayant NEW
Rodrigues U KuskoGermanyOnyama Limba PROPOSAL
Juan F RoysterIndiaIvan Magalhaes NEW
Darci L GauchoJapanIvan Magalhaes QUALIFIED
Salvatore Y DoeSpainBernardo Dominic RENEWAL
Aditya Z BologniaGermanyAsiya Javayant QUALIFIED
Salvatore P CaudyCanadaAsiya Javayant QUALIFIED
Adams R SchemmerAustraliaAsiya Javayant QUALIFIED
Johnson K ShinkoAustraliaStephen Shaw UNQUALIFIED
Ashley Q KolmetzSpainIoni Bowcher RENEWAL
Nicolas E PerinJapanOnyama Limba RENEWAL
Chavez Y IturbideCanadaIoni Bowcher RENEWAL
Jones B ShinkoIndiaXuxue Feng RENEWAL
Johnson V OstroskyRussiaAmy Elsner NEW
Aditya P MaletRussiaIoni Bowcher UNQUALIFIED
Maisha R MorascaSpainIoni Bowcher PROPOSAL
Arvin K ButtSpainOnyama Limba UNQUALIFIED
Claire G PaprockiBrazilOnyama Limba NEGOTIATION
Aika J NickaRussiaAnna Fali RENEWAL
Ivar J WhobreyBrazilIvan Magalhaes RENEWAL
Greenwood U CaldareraFranceOnyama Limba PROPOSAL
Alejandro K AlbaresIndiaAnna Fali NEGOTIATION
Aika W GillianUnited KingdomStephen Shaw NEW
Frozen Columns
Name
Aruna A Rulapaugh
Greenwood R Morasca
Chavez C Rulapaugh
Tony Y Poquette
Morrow H Malet
Maisha C Saylors
James T Oldroyd
Silvio V Whobrey
Faith S Caldarera
Maisha Q Slusarski
Maria C Saylors
Costa C Amigon
Octavia J Caudy
Greenwood M Ferencz
Ricardo S Kolmetz
Ivar T Gillian
Greenwood R Kolmetz
Isabel X Campain
Maisha M Saylors
Wickens S Stockham
Julie I Dilliard
Francesco W Malet
Mayumi Z Darakjy
James T Doe
Munro A Marrier
Alejandro Q Sergi
Octavia M Stockham
Ivar T Morasca
Juan S Bowley
Leja N Dilliard
Johnson Q Malet
Nicolas C Nestle
Jefferson X Nestle
Misaki M Malet
Chavez N Saylors
Darci Y Malet
Maisha Y Waycott
Munro S Poquette
Silvio Q Waycott
Costa R Stenseth
Rodrigues B Perin
Leon Z Campain
Kaitlin F Foller
Leon Z Kusko
James Q Gillian
Emily D Schemmer
Maisha V Oldroyd
Antonio A Stockham
Johnson R Nestle
Emily I Garufi
IdCountryDate
1000Australia2024-05-23
1001United Kingdom2024-05-28
1002United Kingdom2024-06-17
1003Spain2024-05-23
1004United Kingdom2024-05-23
1005Russia2024-06-17
1006Italy2024-05-30
1007Russia2024-05-28
1008India2024-06-19
1009Australia2024-06-02
1010France2024-05-25
1011Australia2024-05-27
1012Spain2024-06-09
1013France2024-06-21
1014Italy2024-06-19
1015Russia2024-06-14
1016Germany2024-06-11
1017Japan2024-06-06
1018Brazil2024-05-25
1019Germany2024-06-05
1020Brazil2024-06-05
1021Italy2024-05-29
1022Argentina2024-06-13
1023France2024-06-07
1024Brazil2024-05-26
1025India2024-06-03
1026Japan2024-06-05
1027Australia2024-06-05
1028Australia2024-06-15
1029Russia2024-06-06
1030United Kingdom2024-06-17
1031Italy2024-06-12
1032France2024-06-01
1033Canada2024-06-12
1034Australia2024-06-11
1035Brazil2024-06-08
1036Argentina2024-06-11
1037India2024-06-20
1038Italy2024-06-15
1039Italy2024-06-14
1040Germany2024-05-24
1041Spain2024-06-20
1042France2024-05-31
1043United Kingdom2024-05-30
1044Argentina2024-06-05
1045United Kingdom2024-06-19
1046France2024-06-08
1047Germany2024-06-19
1048Brazil2024-06-18
1049Italy2024-06-03

On-Demand Data

NameIdCountryDate
Costa P Royster1000Spain2024-05-24
Johnson A Venere1001Spain2024-06-13
Arvin S Figeroa1002Russia2024-06-08
Ivar W Vocelka1003France2024-06-08
Ivar L Foller1004United Kingdom2024-06-06
Juan N Rulapaugh1005Brazil2024-06-07
Ivar O Ruta1006Japan2024-05-30
Wickens N Doe1007Argentina2024-05-23
Mujtaba N Oldroyd1008Russia2024-06-19
Ricardo R Briddick1009Spain2024-05-27
Mujtaba F Maclead1010India2024-05-26
Alejandro Q Ferencz1011Brazil2024-05-26
Jefferson V Saylors1012Australia2024-05-28
Antonio M Stockham1013Germany2024-05-26
Aika O Chui1014France2024-05-23
Misaki A Figeroa1015Germany2024-06-07
Rodrigues V Malet1016Argentina2024-06-11
Misaki S Stenseth1017India2024-06-09
Arvin V Glick1018Canada2024-05-28
Aruna T Maclead1019India2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa Z SlusarskiItalyAmy Elsner NEW
Jeanfrancois I CampainCanadaAsiya Javayant UNQUALIFIED
Jones Z GillianAustraliaIvan Magalhaes NEGOTIATION
Isabel G DoeJapanAmy Elsner PROPOSAL
Clifford W KuskoFranceElwin Sharvill QUALIFIED
Sinclair Q CampainJapanAnna Fali UNQUALIFIED
Mujtaba S MacleadFranceStephen Shaw NEGOTIATION
Aika E FigeroaItalyXuxue Feng PROPOSAL
Leja G FigeroaRussiaElwin Sharvill PROPOSAL
Francesco N WhobreyArgentinaBernardo Dominic RENEWAL
Sinclair H GillianArgentinaIoni Bowcher PROPOSAL
Faith C WieserRussiaStephen Shaw PROPOSAL
Jennifer U MarrierAustraliaOnyama Limba UNQUALIFIED
Claire W FigeroaItalyIvan Magalhaes UNQUALIFIED
Ricardo U FerenczGermanyAmy Elsner NEW
Emily I GarufiRussiaElwin Sharvill UNQUALIFIED
Murillo D GauchoBrazilAnna Fali NEGOTIATION
Adams Q CampainGermanyXuxue Feng QUALIFIED
Kadeem U FollerArgentinaAsiya Javayant RENEWAL
Mujtaba B WieserFranceAmy Elsner UNQUALIFIED
Leja F SchemmerSpainBernardo Dominic PROPOSAL
Deepesh Z DoeCanadaAmy Elsner RENEWAL
Johnson L WhobreyArgentinaBernardo Dominic QUALIFIED
Murillo K CaudyAustraliaAsiya Javayant NEW
David X MaletCanadaIvan Magalhaes UNQUALIFIED
Isabel A GlickFranceOnyama Limba UNQUALIFIED
Antonio W KolmetzSpainAnna Fali NEGOTIATION
Kaitlin G NestleItalyAnna Fali PROPOSAL
Aika H OstroskyUnited KingdomIoni Bowcher RENEWAL
Francesco Y OldroydIndiaOnyama Limba NEGOTIATION
Murillo X CaudyArgentinaBernardo Dominic RENEWAL
Jefferson E CampainCanadaAnna Fali UNQUALIFIED
David P SlusarskiItalyIvan Magalhaes RENEWAL
Arvin F SlusarskiUnited KingdomStephen Shaw QUALIFIED
Munro G MaletGermanyAnna Fali UNQUALIFIED
Costa Z PaprockiAustraliaAnna Fali RENEWAL
Juan A MorascaUnited KingdomStephen Shaw UNQUALIFIED
Maisha H CaudyRussiaBernardo Dominic RENEWAL
James R ButtSpainBernardo Dominic RENEWAL
Claire X CampainFranceElwin Sharvill 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>