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
Kaitlin X FlosiAustraliaAnna Fali UNQUALIFIED
Arvin E FerenczRussiaBernardo Dominic RENEWAL
Arvin T OldroydSpainBernardo Dominic QUALIFIED
Aditya A AlbaresBrazilIoni Bowcher RENEWAL
Kaitlin Q SlusarskiGermanyAsiya Javayant NEGOTIATION
Cody X MaletGermanyXuxue Feng QUALIFIED
Clifford D FerenczCanadaXuxue Feng QUALIFIED
Clifford B ShinkoIndiaOnyama Limba PROPOSAL
Deepesh X MacleadFranceOnyama Limba QUALIFIED
Kaitlin U PaprockiSpainBernardo Dominic UNQUALIFIED
Nicolas O FlosiArgentinaBernardo Dominic PROPOSAL
Jennifer N GarufiBrazilElwin Sharvill RENEWAL
Ashley Q RimArgentinaAmy Elsner UNQUALIFIED
Leja C PoquetteAustraliaOnyama Limba QUALIFIED
Misaki D PerinJapanAnna Fali NEGOTIATION
Silvio E ChuiIndiaIoni Bowcher QUALIFIED
Kaitlin I VocelkaUnited KingdomAsiya Javayant QUALIFIED
Greenwood M DarakjyAustraliaIoni Bowcher PROPOSAL
Costa U BriddickIndiaElwin Sharvill QUALIFIED
Murillo E BologniaSpainOnyama Limba NEGOTIATION
Julie O OldroydGermanyIoni Bowcher UNQUALIFIED
Adams O IturbideFranceIoni Bowcher PROPOSAL
Johnson I FlosiAustraliaIoni Bowcher PROPOSAL
Tony E RimItalyOnyama Limba RENEWAL
Faith D StockhamItalyAsiya Javayant NEGOTIATION
Antonio V FollerJapanOnyama Limba NEGOTIATION
Wickens O PerinIndiaStephen Shaw UNQUALIFIED
Chavez V SlusarskiUnited KingdomOnyama Limba QUALIFIED
Aditya M RoysterIndiaOnyama Limba QUALIFIED
Mujtaba G MaletBrazilAmy Elsner NEGOTIATION
Leon U FollerCanadaAsiya Javayant PROPOSAL
Isabel S RoysterGermanyBernardo Dominic NEW
Octavia L DoeBrazilIoni Bowcher UNQUALIFIED
Leon W GillianGermanyElwin Sharvill QUALIFIED
Munro V WhobreySpainAsiya Javayant UNQUALIFIED
Rodrigues U ButtUnited KingdomAsiya Javayant NEW
Ivar E GauchoJapanIvan Magalhaes NEGOTIATION
Leon S GauchoIndiaXuxue Feng PROPOSAL
Leon W AmigonGermanyAnna Fali UNQUALIFIED
Silvio T SaylorsRussiaXuxue Feng NEGOTIATION
Aditya O FlosiFranceAmy Elsner NEGOTIATION
Izzy Z DoeIndiaOnyama Limba NEGOTIATION
Arvin L StockhamJapanIoni Bowcher NEGOTIATION
David S ShinkoGermanyOnyama Limba RENEWAL
Aruna J GlickJapanAsiya Javayant QUALIFIED
Darci L ChuiUnited KingdomIvan Magalhaes NEW
Misaki S CampainSpainAsiya Javayant NEGOTIATION
Tony L TollnerFranceIoni Bowcher PROPOSAL
Emily I AlbaresUnited KingdomIoni Bowcher NEW
Tony Z DarakjyFranceStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Adams F ShinkoSpainAmy Elsner UNQUALIFIED
Tony K IturbideIndiaElwin Sharvill PROPOSAL
Antonio V SchemmerIndiaIvan Magalhaes PROPOSAL
Nicolas P TollnerJapanAnna Fali NEW
Salvatore K NestleSpainElwin Sharvill UNQUALIFIED
Emily Y OstroskyGermanyAmy Elsner NEW
Julie M AlbaresJapanAmy Elsner RENEWAL
Silvio D MaletSpainIvan Magalhaes NEGOTIATION
Aika A BowleySpainStephen Shaw QUALIFIED
Darci F BologniaItalyIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood Z MacleadUnited Kingdom2024-06-05Printing Dimensions NEGOTIATION25Onyama Limba
1001Leja D SlusarskiIndia2024-05-30Buckley Miller Wright NEW95Ivan Magalhaes
1002Clifford P MaletAustralia2024-05-26Rousseaux, Michael Esq QUALIFIED69Amy Elsner
1003Aika Q CaudyRussia2024-06-16King, Christopher A Esq NEW54Amy Elsner
1004Greenwood G WaycottUnited Kingdom2024-05-29Feltz Printing Service NEW84Ioni Bowcher
1005Izzy Y OstroskyRussia2024-06-02Rangoni Of Florence RENEWAL62Elwin Sharvill
1006Jeanfrancois A FigeroaBrazil2024-06-07Chapman, Ross E Esq PROPOSAL24Asiya Javayant
1007Mujtaba L InouyeCanada2024-05-31Buckley Miller Wright NEGOTIATION21Elwin Sharvill
1008Rodrigues A StockhamArgentina2024-06-03Chemel, James L Cpa NEGOTIATION84Stephen Shaw
1009Morrow D WieserRussia2024-06-19Buckley Miller Wright UNQUALIFIED5Ioni Bowcher
1010Smith P StockhamSpain2024-06-02Printing Dimensions NEW28Asiya Javayant
1011Ricardo D WhobreyCanada2024-06-04Rousseaux, Michael Esq QUALIFIED73Ioni Bowcher
1012James V OldroydIndia2024-06-22Feiner Bros UNQUALIFIED92Asiya Javayant
1013Morrow M GlickBrazil2024-06-18Feltz Printing Service PROPOSAL28Ioni Bowcher
1014David E MaletUnited Kingdom2024-06-09Feltz Printing Service RENEWAL89Ioni Bowcher
1015Jennifer M ShinkoArgentina2024-06-16Printing Dimensions NEW47Anna Fali
1016Kaitlin V VenereCanada2024-06-11Morlong Associates PROPOSAL51Elwin Sharvill
1017Aruna C RimFrance2024-06-10Feltz Printing Service RENEWAL81Ioni Bowcher
1018Leon B MarrierGermany2024-06-18Rangoni Of Florence QUALIFIED6Anna Fali
1019Misaki Y CaldareraArgentina2024-06-19Feltz Printing Service PROPOSAL59Amy Elsner
1020Sinclair A DarakjyArgentina2024-05-25Rousseaux, Michael Esq UNQUALIFIED73Amy Elsner
1021Kaitlin X StensethAustralia2024-06-22Rousseaux, Michael Esq RENEWAL12Stephen Shaw
1022Sinclair I CaudyCanada2024-06-11Feiner Bros NEGOTIATION92Stephen Shaw
1023Deepesh E MacleadFrance2024-05-29Morlong Associates RENEWAL90Xuxue Feng
1024Tony J MarrierArgentina2024-05-28Morlong Associates NEW7Onyama Limba
1025Francesco K CaldareraGermany2024-06-05Feiner Bros NEW79Bernardo Dominic
1026Ricardo O OldroydJapan2024-06-07Feiner Bros UNQUALIFIED50Ivan Magalhaes
1027Mujtaba Z StockhamAustralia2024-05-31Dorl, James J Esq RENEWAL14Stephen Shaw
1028Ashley I SergiBrazil2024-05-28Benton, John B Jr QUALIFIED76Onyama Limba
1029Kaitlin N NickaFrance2024-06-06Benton, John B Jr PROPOSAL52Anna Fali
1030Aika E VocelkaIndia2024-06-03Commercial Press UNQUALIFIED73Anna Fali
1031Jennifer H GauchoIndia2024-06-18Dorl, James J Esq PROPOSAL66Bernardo Dominic
1032Kaitlin S ShinkoUnited Kingdom2024-06-07Buckley Miller Wright RENEWAL3Anna Fali
1033Nicolas M MorascaUnited Kingdom2024-06-10Commercial Press PROPOSAL46Bernardo Dominic
1034Maria Q FerenczItaly2024-06-07Commercial Press QUALIFIED87Bernardo Dominic
1035Tony Y StensethGermany2024-06-18Benton, John B Jr QUALIFIED85Ivan Magalhaes
1036Munro X MaletCanada2024-06-01Commercial Press NEGOTIATION33Amy Elsner
1037Faith B SlusarskiIndia2024-06-15Dorl, James J Esq QUALIFIED70Onyama Limba
1038Darci Y GauchoGermany2024-06-13King, Christopher A Esq NEW1Bernardo Dominic
1039Maisha G RimAustralia2024-06-21Rangoni Of Florence NEW34Ioni Bowcher
1040Maria A FlosiAustralia2024-06-13Rangoni Of Florence NEW75Ivan Magalhaes
1041Nicolas Y KuskoArgentina2024-06-15Feiner Bros QUALIFIED61Xuxue Feng
1042Silvio U PaprockiFrance2024-05-31King, Christopher A Esq QUALIFIED21Asiya Javayant
1043Mujtaba I RulapaughGermany2024-05-26Feiner Bros RENEWAL96Ivan Magalhaes
1044Juan Y OstroskyItaly2024-05-31Dorl, James J Esq PROPOSAL42Asiya Javayant
1045Clifford P NickaAustralia2024-06-14King, Christopher A Esq UNQUALIFIED8Ivan Magalhaes
1046Nicolas N InouyeFrance2024-06-22Chemel, James L Cpa NEGOTIATION24Onyama Limba
1047Jeanfrancois J CaldareraAustralia2024-05-27King, Christopher A Esq QUALIFIED89Ioni Bowcher
1048Claire N ShinkoAustralia2024-06-06Printing Dimensions UNQUALIFIED40Onyama Limba
1049Wickens B PerinIndia2024-06-05King, Christopher A Esq NEGOTIATION30Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Greenwood G TollnerIndiaAnna Fali RENEWAL
David V CaudyAustraliaIoni Bowcher UNQUALIFIED
Emily X FigeroaFranceAsiya Javayant NEW
Darci O WaycottCanadaIvan Magalhaes NEW
Nicolas E DilliardBrazilXuxue Feng QUALIFIED
Smith W FerenczSpainStephen Shaw NEGOTIATION
David A GauchoAustraliaOnyama Limba UNQUALIFIED
Francesco E SchemmerBrazilAsiya Javayant NEW
Cody E VenereCanadaElwin Sharvill RENEWAL
Antonio O WhobreyItalyAnna Fali QUALIFIED
Faith L FlosiRussiaBernardo Dominic RENEWAL
Deepesh P DilliardAustraliaIvan Magalhaes UNQUALIFIED
Silvio Q SlusarskiCanadaBernardo Dominic NEW
Jones G DarakjyBrazilBernardo Dominic UNQUALIFIED
Munro S VocelkaJapanXuxue Feng RENEWAL
Octavia U WaycottItalyBernardo Dominic QUALIFIED
Rodrigues M FerenczRussiaIoni Bowcher RENEWAL
Rodrigues X FlosiIndiaAmy Elsner UNQUALIFIED
Kadeem K OstroskyItalyOnyama Limba UNQUALIFIED
Costa F MaletFranceAsiya Javayant QUALIFIED
Kaitlin E SlusarskiFranceIoni Bowcher UNQUALIFIED
Jefferson Y SlusarskiRussiaOnyama Limba UNQUALIFIED
Mujtaba L WhobreyUnited KingdomXuxue Feng PROPOSAL
Ricardo B CaudyGermanyOnyama Limba RENEWAL
Munro V CaldareraBrazilBernardo Dominic QUALIFIED
Claire W RulapaughSpainAmy Elsner NEW
Munro F GauchoSpainXuxue Feng NEW
Faith Q RimCanadaIoni Bowcher QUALIFIED
Julie R FigeroaCanadaAnna Fali NEW
Misaki R CaldareraBrazilAmy Elsner UNQUALIFIED
Francesco U CaudyUnited KingdomAsiya Javayant UNQUALIFIED
Misaki P VocelkaBrazilIvan Magalhaes PROPOSAL
Octavia C NickaSpainXuxue Feng NEW
Murillo L VenereRussiaIoni Bowcher RENEWAL
Octavia P WieserRussiaBernardo Dominic QUALIFIED
Izzy J MaletArgentinaStephen Shaw QUALIFIED
Rodrigues Y FollerIndiaAnna Fali NEW
Darci V MacleadIndiaAsiya Javayant UNQUALIFIED
Faith U OldroydJapanElwin Sharvill NEW
James E KolmetzUnited KingdomAmy Elsner QUALIFIED
Greenwood B BowleyUnited KingdomAmy Elsner RENEWAL
David Z FigeroaSpainAnna Fali PROPOSAL
Johnson U GauchoSpainElwin Sharvill QUALIFIED
Faith R SergiCanadaBernardo Dominic NEW
Octavia S OldroydRussiaAsiya Javayant NEW
Claire C MaletItalyAnna Fali QUALIFIED
Maisha W ShinkoUnited KingdomIvan Magalhaes UNQUALIFIED
Ricardo K SergiIndiaAsiya Javayant NEGOTIATION
Darci K BologniaArgentinaIvan Magalhaes QUALIFIED
Greenwood P RulapaughBrazilOnyama Limba NEW
Frozen Columns
Name
Jefferson K Foller
Salvatore M Malet
Tony K Royster
Julie I Doe
Emily O Bowley
Jennifer E Stockham
Jones Q Campain
Ashley R Marrier
Mujtaba I Ruta
Leja J Butt
Claire Y Maclead
Clifford Z Perin
Smith P Poquette
Alejandro R Stockham
Deepesh O Gaucho
Mayumi P Maclead
Kaitlin R Stockham
Antonio O Perin
Adams X Briddick
Arvin D Albares
Juan I Iturbide
Mayumi B Amigon
Alejandro P Venere
Alejandro K Marrier
Chavez M Malet
Leon U Flosi
Clifford D Sergi
Cody S Kusko
James F Campain
Silvio Q Inouye
Emily U Maclead
Johnson H Venere
Julie B Oldroyd
David H Waycott
Maisha B Morasca
Stacey R Oldroyd
Clifford G Flosi
Alejandro O Doe
Maisha X Schemmer
David T Bowley
Mujtaba K Figeroa
Salvatore K Malet
Tony R Nicka
Jefferson D Poquette
Kadeem F Gaucho
Johnson S Glick
Costa O Albares
Claire W Garufi
Misaki C Rim
Octavia I Rim
IdCountryDate
1000Australia2024-05-29
1001India2024-06-08
1002Spain2024-05-26
1003Canada2024-06-18
1004France2024-06-10
1005Canada2024-06-07
1006United Kingdom2024-06-22
1007Japan2024-06-05
1008United Kingdom2024-06-20
1009France2024-06-05
1010Brazil2024-05-25
1011Japan2024-05-25
1012France2024-06-05
1013Canada2024-06-04
1014Australia2024-06-12
1015Brazil2024-06-02
1016Spain2024-05-31
1017France2024-05-30
1018Russia2024-06-19
1019India2024-06-20
1020Canada2024-05-28
1021Australia2024-06-14
1022Brazil2024-06-21
1023Germany2024-06-02
1024Russia2024-06-17
1025Russia2024-06-09
1026United Kingdom2024-06-13
1027Argentina2024-05-25
1028India2024-06-01
1029Germany2024-05-30
1030Japan2024-06-15
1031Japan2024-06-09
1032United Kingdom2024-06-06
1033Spain2024-06-11
1034Australia2024-06-09
1035Canada2024-06-12
1036United Kingdom2024-06-20
1037Russia2024-06-14
1038Russia2024-06-22
1039Brazil2024-06-04
1040Australia2024-06-18
1041France2024-06-22
1042Japan2024-06-05
1043Japan2024-05-27
1044Japan2024-06-02
1045India2024-06-15
1046Australia2024-06-09
1047Brazil2024-06-03
1048India2024-06-16
1049Italy2024-06-18

On-Demand Data

NameIdCountryDate
Clifford K Butt1000Germany2024-06-08
Ricardo I Vocelka1001Australia2024-06-19
Jones S Darakjy1002Argentina2024-06-17
Maria F Ostrosky1003France2024-06-13
Deepesh J Dilliard1004Brazil2024-06-11
Jones E Sergi1005Canada2024-06-11
Mujtaba W Ferencz1006Canada2024-06-14
Arvin L Venere1007Japan2024-06-22
Claire D Waycott1008Australia2024-06-04
Julie U Figeroa1009Brazil2024-05-29
Munro A Inouye1010Brazil2024-05-31
Greenwood W Shinko1011Spain2024-06-08
Mayumi Q Ostrosky1012Russia2024-06-16
Smith M Iturbide1013Spain2024-05-26
Octavia O Dilliard1014Australia2024-06-01
Misaki A Royster1015India2024-06-13
David D Whobrey1016Australia2024-06-11
Aika S Inouye1017Australia2024-06-05
Morrow W Kolmetz1018Japan2024-06-06
Mujtaba E Poquette1019Canada2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya P AlbaresUnited KingdomAsiya Javayant NEW
Nicolas E ButtAustraliaIvan Magalhaes NEGOTIATION
Aditya C StockhamItalyIvan Magalhaes QUALIFIED
Murillo P DilliardGermanyAsiya Javayant QUALIFIED
Julie Q AmigonRussiaIvan Magalhaes NEW
Mujtaba H WieserFranceElwin Sharvill PROPOSAL
Kaitlin D MorascaSpainXuxue Feng QUALIFIED
Johnson L GauchoIndiaElwin Sharvill NEW
Aruna D OstroskyJapanAnna Fali UNQUALIFIED
Mujtaba I GillianArgentinaAsiya Javayant QUALIFIED
Deepesh T ButtIndiaXuxue Feng NEW
Smith X InouyeUnited KingdomXuxue Feng PROPOSAL
Aruna L KuskoBrazilBernardo Dominic RENEWAL
Murillo N NestleGermanyOnyama Limba QUALIFIED
Adams U ButtIndiaBernardo Dominic UNQUALIFIED
Rodrigues C MarrierIndiaElwin Sharvill QUALIFIED
Antonio M DilliardRussiaAnna Fali PROPOSAL
Ashley W GillianFranceBernardo Dominic RENEWAL
Sinclair E GauchoFranceIvan Magalhaes UNQUALIFIED
Arvin E VenereUnited KingdomAsiya Javayant NEW
Stacey I FerenczIndiaAnna Fali PROPOSAL
Munro E GlickFranceAnna Fali NEW
Greenwood D IturbideUnited KingdomBernardo Dominic RENEWAL
Stacey M OstroskyRussiaOnyama Limba NEW
Deepesh Q SlusarskiBrazilBernardo Dominic PROPOSAL
Leon N FerenczGermanyBernardo Dominic QUALIFIED
Jeanfrancois W PoquetteUnited KingdomStephen Shaw UNQUALIFIED
Deepesh O OldroydItalyIvan Magalhaes NEW
David E MorascaArgentinaStephen Shaw NEW
Faith H DarakjySpainAsiya Javayant NEW
Silvio L GauchoRussiaBernardo Dominic NEGOTIATION
Jeanfrancois R WieserCanadaIvan Magalhaes RENEWAL
Alejandro D MarrierAustraliaOnyama Limba PROPOSAL
Misaki B OstroskyJapanBernardo Dominic NEGOTIATION
Ashley A OldroydIndiaOnyama Limba RENEWAL
Leja D ShinkoArgentinaIvan Magalhaes QUALIFIED
Maisha P FerenczArgentinaIvan Magalhaes NEW
Alejandro K FollerSpainAmy Elsner NEGOTIATION
Costa R TollnerRussiaXuxue Feng NEW
Arvin S StockhamArgentinaOnyama Limba 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>