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
Jones Q SergiAustraliaOnyama Limba PROPOSAL
Deepesh P CampainBrazilXuxue Feng RENEWAL
Ricardo Z AlbaresBrazilElwin Sharvill UNQUALIFIED
David Y OldroydRussiaAsiya Javayant NEW
Ashley U MaletAustraliaStephen Shaw UNQUALIFIED
Clifford P MacleadUnited KingdomBernardo Dominic UNQUALIFIED
Kaitlin O StensethIndiaBernardo Dominic QUALIFIED
Alejandro F GlickIndiaAmy Elsner RENEWAL
Octavia U MarrierGermanyElwin Sharvill NEGOTIATION
Misaki W WhobreyBrazilBernardo Dominic UNQUALIFIED
Greenwood K KuskoJapanOnyama Limba RENEWAL
Izzy J MaletItalyAmy Elsner RENEWAL
Silvio G GauchoGermanyAnna Fali UNQUALIFIED
Ashley T MorascaGermanyAsiya Javayant QUALIFIED
Misaki O FigeroaBrazilBernardo Dominic QUALIFIED
Chavez Z DilliardRussiaElwin Sharvill RENEWAL
Emily M GillianSpainIvan Magalhaes UNQUALIFIED
Morrow S PaprockiAustraliaBernardo Dominic RENEWAL
Greenwood O InouyeAustraliaOnyama Limba RENEWAL
Nicolas W MaletArgentinaXuxue Feng NEGOTIATION
Arvin N SergiGermanyAsiya Javayant UNQUALIFIED
Maria A GarufiFranceAnna Fali UNQUALIFIED
Maria H SlusarskiIndiaIvan Magalhaes RENEWAL
Ricardo O CaudyIndiaElwin Sharvill NEW
Smith R StockhamAustraliaIvan Magalhaes NEGOTIATION
Smith T NestleItalyAsiya Javayant RENEWAL
Juan Q VocelkaIndiaAnna Fali PROPOSAL
Antonio G ShinkoUnited KingdomIvan Magalhaes PROPOSAL
David Q IturbideAustraliaStephen Shaw QUALIFIED
Morrow B DarakjyBrazilAsiya Javayant NEW
Adams G BriddickUnited KingdomElwin Sharvill QUALIFIED
Alejandro I RutaUnited KingdomAsiya Javayant QUALIFIED
Morrow M WieserSpainElwin Sharvill PROPOSAL
Misaki U PerinJapanAmy Elsner PROPOSAL
Kaitlin N SlusarskiFranceBernardo Dominic UNQUALIFIED
Rodrigues I ChuiFranceStephen Shaw QUALIFIED
Kaitlin D FigeroaJapanStephen Shaw RENEWAL
Francesco N VocelkaFranceElwin Sharvill RENEWAL
Francesco S AmigonBrazilAnna Fali QUALIFIED
Jennifer A VenereFranceIvan Magalhaes NEGOTIATION
Ricardo F BriddickArgentinaAsiya Javayant PROPOSAL
Ricardo S SlusarskiUnited KingdomStephen Shaw QUALIFIED
Morrow S CaudySpainIoni Bowcher RENEWAL
Adams M WhobreyFranceElwin Sharvill UNQUALIFIED
Deepesh S FollerArgentinaBernardo Dominic PROPOSAL
Faith C AlbaresGermanyAsiya Javayant NEW
Aditya R OldroydFranceAnna Fali QUALIFIED
Leon W AlbaresFranceAsiya Javayant RENEWAL
Aika B DarakjyJapanOnyama Limba PROPOSAL
Silvio N StensethCanadaBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Munro I CaldareraCanadaXuxue Feng NEW
David X MaletRussiaAnna Fali NEGOTIATION
Kaitlin F AmigonIndiaBernardo Dominic PROPOSAL
Adams D MaletUnited KingdomIoni Bowcher RENEWAL
Tony V SergiIndiaXuxue Feng NEW
Chavez S ChuiCanadaElwin Sharvill RENEWAL
Wickens I KolmetzCanadaIoni Bowcher PROPOSAL
Leon T ShinkoFranceIvan Magalhaes UNQUALIFIED
Wickens R BologniaCanadaAsiya Javayant UNQUALIFIED
Clifford D AmigonArgentinaAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki N IturbideItaly2024-06-14Feltz Printing Service NEW7Ioni Bowcher
1001Adams H SergiFrance2024-06-10Benton, John B Jr PROPOSAL34Amy Elsner
1002Izzy C OldroydBrazil2024-05-24Feiner Bros NEW70Onyama Limba
1003Chavez A MaletArgentina2024-06-02Feltz Printing Service PROPOSAL41Anna Fali
1004Silvio M IturbideArgentina2024-05-25Chemel, James L Cpa QUALIFIED51Ioni Bowcher
1005Mayumi I VenereItaly2024-06-03Chanay, Jeffrey A Esq NEW66Elwin Sharvill
1006David K StensethSpain2024-05-27Buckley Miller Wright NEGOTIATION79Elwin Sharvill
1007Kadeem I WieserBrazil2024-06-03Dorl, James J Esq NEW88Ioni Bowcher
1008Greenwood V GillianBrazil2024-05-30Benton, John B Jr UNQUALIFIED4Anna Fali
1009Jones G PaprockiAustralia2024-06-06Rangoni Of Florence NEW27Onyama Limba
1010Julie X SergiArgentina2024-06-16Chanay, Jeffrey A Esq NEGOTIATION9Anna Fali
1011Octavia S GlickRussia2024-06-12Chemel, James L Cpa NEW44Amy Elsner
1012Kaitlin Z MaletIndia2024-06-13Truhlar And Truhlar Attys NEW4Ioni Bowcher
1013Clifford X ShinkoJapan2024-05-26Commercial Press QUALIFIED37Anna Fali
1014Costa K ChuiUnited Kingdom2024-06-21Commercial Press PROPOSAL85Elwin Sharvill
1015Salvatore D KolmetzJapan2024-06-09Truhlar And Truhlar Attys UNQUALIFIED41Anna Fali
1016Sinclair M OstroskyArgentina2024-06-04Dorl, James J Esq UNQUALIFIED26Amy Elsner
1017Morrow Y GlickAustralia2024-06-17Chemel, James L Cpa UNQUALIFIED99Ivan Magalhaes
1018Octavia X AmigonArgentina2024-06-20Feltz Printing Service NEW14Ivan Magalhaes
1019Claire P SchemmerFrance2024-06-02Truhlar And Truhlar Attys QUALIFIED49Ioni Bowcher
1020Sinclair O ChuiJapan2024-05-26Chapman, Ross E Esq QUALIFIED8Ioni Bowcher
1021Leja W PerinArgentina2024-06-08King, Christopher A Esq QUALIFIED51Amy Elsner
1022Ashley X MaletItaly2024-05-30Commercial Press RENEWAL0Ivan Magalhaes
1023Arvin G FollerItaly2024-06-18Chapman, Ross E Esq NEGOTIATION50Stephen Shaw
1024Darci Z MarrierGermany2024-06-07King, Christopher A Esq PROPOSAL24Stephen Shaw
1025Tony T MaletAustralia2024-05-30Feiner Bros PROPOSAL77Ioni Bowcher
1026Maisha I AlbaresBrazil2024-06-14Printing Dimensions RENEWAL35Asiya Javayant
1027Ricardo N MorascaItaly2024-06-08Chanay, Jeffrey A Esq NEW39Bernardo Dominic
1028Darci L ShinkoBrazil2024-06-17Buckley Miller Wright PROPOSAL81Stephen Shaw
1029Leja J WieserGermany2024-06-11Benton, John B Jr RENEWAL76Xuxue Feng
1030Johnson L ShinkoFrance2024-06-05Rousseaux, Michael Esq NEW87Asiya Javayant
1031Julie C OldroydItaly2024-05-31Rangoni Of Florence NEW36Anna Fali
1032Costa D StensethAustralia2024-06-11Chapman, Ross E Esq RENEWAL41Ioni Bowcher
1033Mayumi B GlickIndia2024-05-26Printing Dimensions NEW60Xuxue Feng
1034Adams A MaletRussia2024-05-25Rangoni Of Florence NEGOTIATION85Bernardo Dominic
1035Smith U RimItaly2024-05-24Chanay, Jeffrey A Esq NEW3Amy Elsner
1036Claire T AlbaresJapan2024-06-14Feltz Printing Service UNQUALIFIED29Anna Fali
1037Morrow L MorascaBrazil2024-05-25Chanay, Jeffrey A Esq QUALIFIED71Bernardo Dominic
1038Clifford D MarrierRussia2024-06-05Benton, John B Jr UNQUALIFIED74Bernardo Dominic
1039Ricardo F MaletSpain2024-06-09Chemel, James L Cpa NEGOTIATION96Onyama Limba
1040Stacey V PaprockiFrance2024-06-10Morlong Associates RENEWAL69Anna Fali
1041Aruna M FollerAustralia2024-06-06Chapman, Ross E Esq QUALIFIED6Amy Elsner
1042Ivar G GillianJapan2024-06-02Chanay, Jeffrey A Esq PROPOSAL12Stephen Shaw
1043Costa Q MacleadUnited Kingdom2024-06-21Feltz Printing Service NEW80Onyama Limba
1044Salvatore N ChuiIndia2024-06-07King, Christopher A Esq NEW23Ioni Bowcher
1045Adams P ShinkoItaly2024-06-13Chapman, Ross E Esq PROPOSAL77Stephen Shaw
1046Deepesh J NestleIndia2024-06-02Rangoni Of Florence PROPOSAL18Ivan Magalhaes
1047Kadeem A RulapaughArgentina2024-06-02Commercial Press UNQUALIFIED38Xuxue Feng
1048Costa Z ChuiItaly2024-06-10Feiner Bros QUALIFIED8Onyama Limba
1049Arvin T RutaArgentina2024-05-29Buckley Miller Wright NEGOTIATION73Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Claire J ChuiGermanyOnyama Limba PROPOSAL
Morrow L SchemmerGermanyStephen Shaw RENEWAL
Juan R SaylorsCanadaAmy Elsner NEGOTIATION
Julie P MaletCanadaElwin Sharvill UNQUALIFIED
Kaitlin X MaletArgentinaBernardo Dominic RENEWAL
Aika Y MarrierBrazilIvan Magalhaes UNQUALIFIED
Ricardo M BologniaUnited KingdomOnyama Limba NEGOTIATION
James Y DarakjyItalyAmy Elsner QUALIFIED
Murillo R StensethItalyIoni Bowcher UNQUALIFIED
Morrow C VocelkaAustraliaBernardo Dominic UNQUALIFIED
Claire L ShinkoFranceIvan Magalhaes PROPOSAL
Misaki L GlickIndiaAmy Elsner NEGOTIATION
Antonio C SergiCanadaAnna Fali PROPOSAL
Sinclair P StockhamFranceIoni Bowcher RENEWAL
Smith H WieserSpainAmy Elsner UNQUALIFIED
Aika O BriddickSpainOnyama Limba RENEWAL
Juan F GillianJapanBernardo Dominic UNQUALIFIED
Smith C SaylorsArgentinaIoni Bowcher UNQUALIFIED
Munro Q NestleBrazilOnyama Limba PROPOSAL
Francesco S IturbideGermanyAsiya Javayant QUALIFIED
Ashley G GillianUnited KingdomAnna Fali RENEWAL
Deepesh K DoeAustraliaXuxue Feng QUALIFIED
Mujtaba R RoysterGermanyStephen Shaw RENEWAL
Nicolas F ButtUnited KingdomAsiya Javayant RENEWAL
Darci D SergiFranceOnyama Limba PROPOSAL
Morrow V VenereFranceOnyama Limba PROPOSAL
Ivar I KuskoBrazilAnna Fali QUALIFIED
Antonio Z BriddickSpainAsiya Javayant QUALIFIED
Octavia W IturbideJapanElwin Sharvill RENEWAL
Wickens M WhobreySpainXuxue Feng QUALIFIED
Wickens R StockhamArgentinaBernardo Dominic UNQUALIFIED
Misaki V SaylorsUnited KingdomStephen Shaw PROPOSAL
Emily B NickaAustraliaIoni Bowcher NEGOTIATION
Mujtaba K DoeGermanyIoni Bowcher UNQUALIFIED
Jones O RoysterItalyAmy Elsner UNQUALIFIED
Arvin X DilliardCanadaAsiya Javayant UNQUALIFIED
Johnson Q CaldareraFranceIvan Magalhaes PROPOSAL
Aruna D FlosiUnited KingdomBernardo Dominic UNQUALIFIED
Octavia C CampainRussiaIvan Magalhaes RENEWAL
Juan K SergiIndiaBernardo Dominic UNQUALIFIED
Munro A DilliardJapanOnyama Limba UNQUALIFIED
Arvin U CaldareraGermanyIoni Bowcher QUALIFIED
Deepesh P StockhamCanadaOnyama Limba NEGOTIATION
Stacey X MaletItalyAnna Fali PROPOSAL
Kaitlin Q ChuiAustraliaXuxue Feng UNQUALIFIED
Mujtaba P GarufiGermanyAmy Elsner PROPOSAL
Mayumi S BowleyFranceElwin Sharvill NEW
Faith F MorascaAustraliaAsiya Javayant NEGOTIATION
Tony J DilliardIndiaElwin Sharvill UNQUALIFIED
Morrow T PerinUnited KingdomAmy Elsner UNQUALIFIED
Frozen Columns
Name
Clifford D Bolognia
Deepesh B Shinko
Morrow C Tollner
Greenwood R Dilliard
Clifford U Campain
Chavez S Kolmetz
Adams F Shinko
Morrow D Tollner
Silvio O Stenseth
Nicolas Z Iturbide
Stacey X Nestle
Leja O Morasca
Jones F Chui
Salvatore P Shinko
Maisha K Nicka
Alejandro Z Malet
Misaki A Shinko
Aruna V Stockham
Jefferson I Garufi
Costa L Ruta
Johnson E Foller
Francesco J Gaucho
Antonio F Iturbide
Murillo O Waycott
Sinclair U Sergi
Izzy X Foller
Jones B Gillian
Stacey A Maclead
Jefferson I Kusko
Stacey Q Bolognia
Cody X Oldroyd
Kadeem P Venere
Mayumi X Bowley
Maisha W Glick
Cody F Morasca
Salvatore C Slusarski
Clifford P Malet
Tony R Rulapaugh
Deepesh N Maclead
Johnson F Chui
David S Gaucho
Ricardo E Sergi
Costa H Kolmetz
Misaki V Iturbide
Jefferson S Foller
Maisha P Royster
Rodrigues X Bowley
Jeanfrancois K Shinko
Aruna V Bolognia
Stacey B Oldroyd
IdCountryDate
1000United Kingdom2024-06-08
1001Argentina2024-06-17
1002Russia2024-05-28
1003Italy2024-06-08
1004France2024-05-25
1005Japan2024-06-14
1006Germany2024-05-26
1007Germany2024-05-27
1008Japan2024-05-24
1009Japan2024-05-31
1010United Kingdom2024-06-06
1011Argentina2024-06-17
1012Italy2024-06-05
1013Italy2024-06-03
1014Spain2024-06-03
1015Argentina2024-06-14
1016Russia2024-05-28
1017Brazil2024-06-18
1018Australia2024-06-03
1019Argentina2024-06-21
1020Germany2024-06-20
1021Germany2024-06-07
1022France2024-06-13
1023Canada2024-06-18
1024Argentina2024-05-26
1025Brazil2024-06-04
1026Italy2024-06-17
1027Japan2024-06-11
1028Canada2024-06-15
1029Australia2024-05-29
1030Germany2024-06-06
1031Japan2024-06-09
1032France2024-06-10
1033United Kingdom2024-06-19
1034Argentina2024-05-23
1035Russia2024-06-21
1036Brazil2024-05-30
1037France2024-06-03
1038Japan2024-05-28
1039France2024-05-25
1040France2024-06-09
1041India2024-06-05
1042France2024-05-26
1043India2024-05-27
1044United Kingdom2024-05-26
1045Italy2024-05-30
1046Brazil2024-06-04
1047Australia2024-06-04
1048India2024-05-31
1049Argentina2024-06-12

On-Demand Data

NameIdCountryDate
Kadeem G Waycott1000Australia2024-06-17
Kadeem Y Sergi1001Russia2024-06-18
Clifford M Perin1002Canada2024-06-03
Francesco T Rim1003Brazil2024-06-16
Sinclair N Royster1004India2024-06-10
Jefferson U Ferencz1005Germany2024-05-30
Francesco J Perin1006Russia2024-06-16
Jeanfrancois B Malet1007Japan2024-06-11
Chavez Q Bolognia1008Italy2024-06-16
Francesco Y Paprocki1009Canada2024-06-15
Ashley R Foller1010India2024-06-17
Faith D Chui1011United Kingdom2024-06-08
Ashley F Figeroa1012India2024-05-31
Silvio L Stenseth1013India2024-06-08
Ashley M Wieser1014Italy2024-06-11
Maisha B Royster1015Germany2024-06-07
Adams P Albares1016Argentina2024-06-19
Salvatore L Amigon1017Japan2024-06-06
Chavez X Paprocki1018Canada2024-05-27
Silvio W Gillian1019Italy2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia E GillianCanadaIvan Magalhaes UNQUALIFIED
Julie K InouyeUnited KingdomStephen Shaw UNQUALIFIED
Izzy I KolmetzIndiaAmy Elsner UNQUALIFIED
Leon C MaletGermanyXuxue Feng UNQUALIFIED
Maisha S DarakjyBrazilIvan Magalhaes PROPOSAL
Ashley A OldroydItalyIvan Magalhaes NEGOTIATION
Faith I SlusarskiUnited KingdomIvan Magalhaes QUALIFIED
Rodrigues F SaylorsItalyIvan Magalhaes RENEWAL
Munro K SchemmerBrazilElwin Sharvill NEW
Maisha U CaudyCanadaAmy Elsner PROPOSAL
Silvio V VenereFranceAnna Fali NEW
Maisha R StensethUnited KingdomAmy Elsner NEW
Deepesh P KuskoFranceBernardo Dominic PROPOSAL
Adams O WaycottSpainAmy Elsner QUALIFIED
Jennifer T CaldareraRussiaIvan Magalhaes PROPOSAL
Tony N MaletCanadaBernardo Dominic UNQUALIFIED
Cody C PerinCanadaIvan Magalhaes RENEWAL
Aruna L RutaSpainStephen Shaw UNQUALIFIED
Morrow L RutaSpainStephen Shaw NEW
Jefferson C WieserArgentinaAsiya Javayant PROPOSAL
Munro G RoysterArgentinaStephen Shaw NEGOTIATION
Salvatore L StockhamRussiaAsiya Javayant RENEWAL
Johnson U WaycottRussiaBernardo Dominic UNQUALIFIED
Emily V GarufiItalyIvan Magalhaes NEW
David F NestleBrazilOnyama Limba NEGOTIATION
Tony Y OldroydRussiaAnna Fali UNQUALIFIED
Julie T KolmetzCanadaBernardo Dominic NEW
Antonio I NickaArgentinaStephen Shaw NEW
Izzy P KuskoRussiaXuxue Feng QUALIFIED
Clifford W RulapaughJapanElwin Sharvill NEW
Wickens Z BowleyRussiaAnna Fali NEW
Chavez M ChuiIndiaElwin Sharvill PROPOSAL
Chavez O KuskoUnited KingdomIoni Bowcher UNQUALIFIED
Francesco O RoysterUnited KingdomStephen Shaw NEW
Leja U AlbaresUnited KingdomOnyama Limba PROPOSAL
Octavia G KuskoGermanyOnyama Limba UNQUALIFIED
Izzy V MaletCanadaXuxue Feng RENEWAL
Maria G NickaAustraliaIoni Bowcher UNQUALIFIED
Silvio C FlosiFranceIoni Bowcher PROPOSAL
Kadeem H PoquetteUnited KingdomIvan 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>