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
Izzy V MorascaUnited KingdomIoni Bowcher NEW
Maria M PaprockiJapanIvan Magalhaes UNQUALIFIED
Leja X BriddickJapanStephen Shaw NEGOTIATION
Deepesh T WaycottItalyAsiya Javayant RENEWAL
Stacey A ShinkoArgentinaIvan Magalhaes RENEWAL
Aditya Z RulapaughSpainIvan Magalhaes UNQUALIFIED
Mujtaba L GillianRussiaIvan Magalhaes PROPOSAL
Aruna S CaudyJapanBernardo Dominic QUALIFIED
Leon N BologniaSpainXuxue Feng PROPOSAL
Aruna Z DarakjyCanadaAmy Elsner UNQUALIFIED
Clifford X DarakjyBrazilIoni Bowcher QUALIFIED
James P RutaSpainStephen Shaw PROPOSAL
Tony X TollnerAustraliaBernardo Dominic PROPOSAL
Murillo J StensethIndiaStephen Shaw RENEWAL
Kaitlin U RoysterAustraliaOnyama Limba RENEWAL
Arvin O AlbaresBrazilXuxue Feng NEGOTIATION
Chavez Y GauchoItalyXuxue Feng NEW
Kaitlin M IturbideJapanXuxue Feng NEGOTIATION
Juan U CampainUnited KingdomStephen Shaw RENEWAL
Costa C CaldareraJapanAmy Elsner NEGOTIATION
Cody E FlosiFranceIvan Magalhaes NEGOTIATION
Jennifer D NickaAustraliaElwin Sharvill NEW
Greenwood C RulapaughArgentinaOnyama Limba NEW
Salvatore M VocelkaAustraliaElwin Sharvill QUALIFIED
Francesco Q CaudyFranceAmy Elsner QUALIFIED
Kadeem T MaletBrazilAnna Fali PROPOSAL
Mayumi W VenereItalyAsiya Javayant RENEWAL
Maisha K RimRussiaAsiya Javayant QUALIFIED
Maria H IturbideUnited KingdomStephen Shaw NEW
Ashley R WaycottGermanyIvan Magalhaes RENEWAL
Claire Y VocelkaUnited KingdomIoni Bowcher PROPOSAL
Emily F StockhamUnited KingdomOnyama Limba PROPOSAL
Isabel A CampainIndiaStephen Shaw UNQUALIFIED
Munro P StockhamUnited KingdomIoni Bowcher NEGOTIATION
Aditya W DarakjyArgentinaAmy Elsner PROPOSAL
Tony X BowleyGermanyAnna Fali PROPOSAL
Munro U VenereGermanyOnyama Limba PROPOSAL
Munro M BriddickArgentinaStephen Shaw QUALIFIED
Misaki G CaldareraGermanyXuxue Feng NEGOTIATION
Tony K WhobreyJapanAmy Elsner UNQUALIFIED
Darci B FerenczUnited KingdomOnyama Limba RENEWAL
Aika R InouyeItalyAsiya Javayant PROPOSAL
Maisha P GillianFranceAsiya Javayant QUALIFIED
Julie B SaylorsFranceIoni Bowcher QUALIFIED
Deepesh Q PaprockiGermanyBernardo Dominic QUALIFIED
Salvatore J IturbideGermanyAmy Elsner UNQUALIFIED
Rodrigues R FerenczCanadaAmy Elsner PROPOSAL
Isabel H FerenczRussiaElwin Sharvill RENEWAL
Faith J DarakjyArgentinaXuxue Feng PROPOSAL
Tony H DilliardBrazilIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Stacey M ShinkoAustraliaAmy Elsner QUALIFIED
Mayumi C BologniaJapanOnyama Limba UNQUALIFIED
Clifford E VenereRussiaIoni Bowcher RENEWAL
Ricardo G WieserSpainOnyama Limba NEGOTIATION
Jeanfrancois X MacleadIndiaAnna Fali NEW
Silvio L CaldareraItalyAmy Elsner PROPOSAL
Greenwood D WaycottBrazilXuxue Feng UNQUALIFIED
Maria U PoquetteRussiaAnna Fali NEW
Isabel G NickaCanadaOnyama Limba NEW
Salvatore K NickaCanadaAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro H OldroydItaly2024-05-24Feltz Printing Service PROPOSAL51Amy Elsner
1001Ivar H GlickRussia2024-06-17Rangoni Of Florence RENEWAL51Ivan Magalhaes
1002Greenwood S MarrierCanada2024-05-22Commercial Press UNQUALIFIED52Xuxue Feng
1003Morrow J StensethAustralia2024-05-22Benton, John B Jr RENEWAL20Asiya Javayant
1004James J AmigonJapan2024-06-02King, Christopher A Esq NEGOTIATION18Xuxue Feng
1005Francesco O BowleyRussia2024-06-12Rangoni Of Florence QUALIFIED82Asiya Javayant
1006Stacey U RimUnited Kingdom2024-06-02Chapman, Ross E Esq UNQUALIFIED62Ioni Bowcher
1007Aruna U WaycottRussia2024-05-19Chapman, Ross E Esq NEGOTIATION69Onyama Limba
1008Claire O DilliardRussia2024-05-26Chanay, Jeffrey A Esq UNQUALIFIED96Stephen Shaw
1009Julie Q RoysterArgentina2024-06-12Chapman, Ross E Esq NEW74Amy Elsner
1010Sinclair H NestleArgentina2024-05-29King, Christopher A Esq PROPOSAL46Elwin Sharvill
1011Jefferson D GlickRussia2024-06-04Rangoni Of Florence NEGOTIATION38Amy Elsner
1012Leja E MacleadBrazil2024-06-05Morlong Associates NEW43Xuxue Feng
1013Stacey Z RutaIndia2024-05-20Dorl, James J Esq NEGOTIATION66Ioni Bowcher
1014Leon T PerinGermany2024-05-27Printing Dimensions NEGOTIATION89Onyama Limba
1015David J IturbideFrance2024-05-26Rangoni Of Florence NEGOTIATION3Bernardo Dominic
1016Jones N VenereBrazil2024-06-04Buckley Miller Wright NEW40Asiya Javayant
1017Emily Q ShinkoGermany2024-06-04Buckley Miller Wright QUALIFIED45Elwin Sharvill
1018Kaitlin M VenereSpain2024-06-07Benton, John B Jr NEW41Xuxue Feng
1019Arvin C DilliardIndia2024-05-20Truhlar And Truhlar Attys PROPOSAL15Amy Elsner
1020Ashley B GillianJapan2024-06-13Chapman, Ross E Esq NEGOTIATION86Xuxue Feng
1021Aika M FlosiJapan2024-06-11Feltz Printing Service NEW21Ivan Magalhaes
1022Ricardo E WhobreyItaly2024-05-20Truhlar And Truhlar Attys QUALIFIED34Ioni Bowcher
1023Munro R StensethGermany2024-05-31Buckley Miller Wright PROPOSAL85Onyama Limba
1024Aditya X ShinkoArgentina2024-06-14Commercial Press RENEWAL84Asiya Javayant
1025Deepesh V GillianRussia2024-06-03Morlong Associates NEGOTIATION3Onyama Limba
1026Munro T RimCanada2024-05-28Printing Dimensions PROPOSAL72Elwin Sharvill
1027Darci Y FerenczBrazil2024-05-22Feiner Bros PROPOSAL80Elwin Sharvill
1028Wickens H BriddickItaly2024-05-23Printing Dimensions PROPOSAL81Ioni Bowcher
1029Kaitlin A ChuiItaly2024-06-06Buckley Miller Wright NEW3Amy Elsner
1030Leon N AlbaresFrance2024-05-24Chanay, Jeffrey A Esq PROPOSAL73Ioni Bowcher
1031Tony T CampainArgentina2024-06-11Morlong Associates PROPOSAL42Asiya Javayant
1032Nicolas Y PaprockiFrance2024-06-01Commercial Press RENEWAL8Ivan Magalhaes
1033Adams A ShinkoArgentina2024-06-15Buckley Miller Wright NEW46Anna Fali
1034Misaki T VocelkaArgentina2024-05-28Rangoni Of Florence UNQUALIFIED22Elwin Sharvill
1035Juan L DoeIndia2024-06-16Benton, John B Jr RENEWAL89Bernardo Dominic
1036Kadeem Y PoquetteUnited Kingdom2024-06-16Rangoni Of Florence QUALIFIED2Elwin Sharvill
1037Nicolas W CampainCanada2024-06-04Benton, John B Jr QUALIFIED6Asiya Javayant
1038Misaki N SergiGermany2024-06-13Chanay, Jeffrey A Esq RENEWAL77Amy Elsner
1039Misaki A WieserCanada2024-05-19Morlong Associates RENEWAL18Ioni Bowcher
1040Stacey P RoysterAustralia2024-05-25Dorl, James J Esq PROPOSAL25Ioni Bowcher
1041Arvin S SergiAustralia2024-06-15Dorl, James J Esq NEGOTIATION5Bernardo Dominic
1042Greenwood M RimGermany2024-05-19Dorl, James J Esq RENEWAL7Bernardo Dominic
1043Arvin A SaylorsArgentina2024-05-29Chapman, Ross E Esq NEGOTIATION90Anna Fali
1044Octavia V TollnerItaly2024-06-03Chemel, James L Cpa UNQUALIFIED31Xuxue Feng
1045Kadeem H WieserRussia2024-05-22Dorl, James J Esq NEGOTIATION15Anna Fali
1046Ricardo L MorascaJapan2024-05-21Rangoni Of Florence NEGOTIATION96Stephen Shaw
1047Deepesh G BowleyArgentina2024-05-26King, Christopher A Esq RENEWAL64Ivan Magalhaes
1048Claire A GauchoIndia2024-05-24Rousseaux, Michael Esq NEGOTIATION97Ioni Bowcher
1049Ricardo M SlusarskiUnited Kingdom2024-06-02Commercial Press UNQUALIFIED27Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin Z NickaUnited KingdomBernardo Dominic UNQUALIFIED
Jeanfrancois T ShinkoFranceStephen Shaw RENEWAL
Leja D MorascaIndiaElwin Sharvill QUALIFIED
Julie Z OstroskyRussiaOnyama Limba QUALIFIED
Munro G BowleyGermanyElwin Sharvill NEW
Costa L FigeroaItalyIvan Magalhaes UNQUALIFIED
James F SergiIndiaXuxue Feng RENEWAL
Costa P BologniaUnited KingdomElwin Sharvill NEGOTIATION
Arvin E BowleyRussiaElwin Sharvill RENEWAL
Mujtaba O WieserItalyIvan Magalhaes NEGOTIATION
Morrow F FerenczUnited KingdomElwin Sharvill PROPOSAL
Maisha E WhobreyIndiaBernardo Dominic PROPOSAL
Jefferson V CaldareraCanadaIvan Magalhaes RENEWAL
Jefferson W NestleJapanAsiya Javayant UNQUALIFIED
Alejandro T FlosiGermanyOnyama Limba PROPOSAL
Juan L FerenczItalyElwin Sharvill NEW
Murillo L SaylorsRussiaElwin Sharvill RENEWAL
Francesco H GillianBrazilXuxue Feng PROPOSAL
Wickens U BowleyAustraliaIvan Magalhaes UNQUALIFIED
Adams O PaprockiCanadaAnna Fali PROPOSAL
Munro X RoysterSpainIoni Bowcher NEGOTIATION
Alejandro J FollerSpainXuxue Feng RENEWAL
Greenwood W DilliardGermanyIoni Bowcher PROPOSAL
Smith P DarakjyBrazilAnna Fali NEGOTIATION
Julie V BologniaArgentinaXuxue Feng NEW
Silvio A GauchoAustraliaIvan Magalhaes RENEWAL
Alejandro K DoeArgentinaOnyama Limba UNQUALIFIED
Misaki S PoquetteSpainXuxue Feng PROPOSAL
Juan N MorascaJapanBernardo Dominic RENEWAL
Deepesh B StensethCanadaAsiya Javayant QUALIFIED
Maisha U SlusarskiSpainAsiya Javayant RENEWAL
Mujtaba S GillianCanadaAnna Fali QUALIFIED
Claire G SchemmerRussiaIvan Magalhaes PROPOSAL
Ivar T AmigonItalyIvan Magalhaes UNQUALIFIED
Greenwood K WieserIndiaIoni Bowcher NEW
Deepesh D WhobreyRussiaXuxue Feng UNQUALIFIED
Leon V SlusarskiSpainElwin Sharvill RENEWAL
Murillo Q MorascaItalyElwin Sharvill RENEWAL
David N ButtCanadaIvan Magalhaes UNQUALIFIED
Faith N InouyeGermanyXuxue Feng NEW
Rodrigues S VenereIndiaElwin Sharvill UNQUALIFIED
Aika O OstroskyBrazilAnna Fali QUALIFIED
Faith Q SergiCanadaElwin Sharvill NEW
Leon I MorascaIndiaIoni Bowcher UNQUALIFIED
Jeanfrancois P FlosiRussiaAsiya Javayant UNQUALIFIED
Maisha H KuskoFranceElwin Sharvill UNQUALIFIED
Arvin A MaletFranceIoni Bowcher UNQUALIFIED
Cody J SlusarskiUnited KingdomAsiya Javayant NEW
Jones D SlusarskiSpainIoni Bowcher QUALIFIED
Deepesh Z ChuiGermanyOnyama Limba UNQUALIFIED
Frozen Columns
Name
Emily T Ruta
Sinclair O Ruta
Kaitlin U Malet
Maisha D Foller
Deepesh X Doe
Rodrigues V Sergi
Maisha B Schemmer
Jeanfrancois G Stockham
Mayumi P Sergi
Leon X Shinko
Rodrigues R Foller
Wickens Y Kusko
Emily V Inouye
Arvin W Maclead
Leon O Darakjy
Aditya D Foller
Leja B Vocelka
Claire M Ferencz
James C Kolmetz
Antonio O Maclead
Julie D Waycott
Emily F Gaucho
Jefferson V Rulapaugh
Johnson P Foller
Juan Q Tollner
Adams R Albares
Izzy V Royster
Leja F Rim
Cody P Darakjy
Jennifer B Nicka
David H Caudy
Morrow Q Iturbide
Adams P Kusko
Greenwood X Briddick
Mujtaba F Chui
David I Oldroyd
James M Butt
Faith O Maclead
Murillo D Caudy
Juan H Wieser
Nicolas U Stockham
Julie H Dilliard
Silvio N Chui
Jeanfrancois Q Foller
Nicolas T Rulapaugh
Leja V Amigon
Rodrigues S Iturbide
Juan U Rulapaugh
Kaitlin A Stenseth
Julie R Waycott
IdCountryDate
1000Argentina2024-05-27
1001Germany2024-06-13
1002Australia2024-06-08
1003India2024-06-14
1004Russia2024-06-08
1005Australia2024-06-05
1006Italy2024-05-28
1007Spain2024-05-26
1008United Kingdom2024-06-13
1009Brazil2024-05-19
1010Spain2024-06-15
1011Japan2024-05-19
1012Canada2024-06-11
1013Canada2024-06-14
1014Spain2024-06-06
1015Australia2024-06-16
1016Spain2024-06-15
1017United Kingdom2024-06-06
1018Argentina2024-05-20
1019Germany2024-06-01
1020India2024-06-06
1021Australia2024-06-01
1022Argentina2024-06-04
1023Canada2024-06-08
1024Brazil2024-05-28
1025France2024-05-25
1026Russia2024-06-11
1027Brazil2024-05-20
1028Japan2024-05-29
1029Argentina2024-06-11
1030Japan2024-06-05
1031Spain2024-06-14
1032Argentina2024-06-05
1033Australia2024-06-16
1034Australia2024-05-31
1035Brazil2024-06-07
1036Brazil2024-06-11
1037Italy2024-05-31
1038India2024-06-06
1039India2024-05-31
1040Canada2024-06-04
1041Australia2024-05-20
1042Russia2024-05-24
1043Brazil2024-05-30
1044Italy2024-05-19
1045France2024-05-26
1046Spain2024-05-23
1047Canada2024-05-31
1048India2024-05-20
1049Spain2024-06-01

On-Demand Data

NameIdCountryDate
Jefferson U Malet1000Australia2024-05-23
Munro A Royster1001Australia2024-06-06
Stacey A Bolognia1002United Kingdom2024-06-13
Stacey Y Wieser1003Brazil2024-06-13
Morrow W Paprocki1004France2024-05-25
Costa P Slusarski1005Russia2024-05-27
Ivar S Ruta1006Japan2024-06-09
Leon L Maclead1007United Kingdom2024-06-17
Maisha M Oldroyd1008Australia2024-05-29
Emily H Kolmetz1009India2024-05-26
Silvio G Caldarera1010Germany2024-05-31
Tony F Malet1011United Kingdom2024-06-03
Greenwood O Slusarski1012France2024-06-14
Aditya T Nestle1013Brazil2024-06-06
Silvio N Glick1014Canada2024-06-01
Cody N Figeroa1015France2024-06-01
Ivar P Marrier1016Japan2024-06-03
Morrow R Oldroyd1017Russia2024-06-03
Kadeem N Oldroyd1018India2024-06-10
Cody Y Stenseth1019Russia2024-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow S VocelkaCanadaAnna Fali NEW
Johnson B RulapaughSpainStephen Shaw RENEWAL
Clifford S RulapaughJapanOnyama Limba NEGOTIATION
David R BowleyGermanyAnna Fali PROPOSAL
Smith G SchemmerIndiaAnna Fali QUALIFIED
Rodrigues S CaudyRussiaAmy Elsner NEGOTIATION
Arvin K StensethUnited KingdomAsiya Javayant RENEWAL
Ivar J RoysterAustraliaElwin Sharvill NEW
Tony E WhobreyCanadaBernardo Dominic UNQUALIFIED
Francesco N BologniaBrazilIoni Bowcher NEGOTIATION
Darci K WieserFranceXuxue Feng NEGOTIATION
Arvin L ShinkoAustraliaXuxue Feng RENEWAL
Nicolas V SchemmerFranceIoni Bowcher PROPOSAL
Ashley P RimAustraliaXuxue Feng PROPOSAL
Murillo E OstroskyGermanyBernardo Dominic UNQUALIFIED
Jones Q FollerAustraliaOnyama Limba UNQUALIFIED
Costa R ChuiFranceIvan Magalhaes PROPOSAL
Rodrigues E DarakjySpainBernardo Dominic PROPOSAL
Alejandro E FollerItalyIoni Bowcher QUALIFIED
Faith W SaylorsAustraliaOnyama Limba QUALIFIED
Murillo O RimRussiaElwin Sharvill QUALIFIED
Aditya T CaudyArgentinaAnna Fali RENEWAL
Kaitlin K SaylorsGermanyStephen Shaw PROPOSAL
Aditya E WaycottGermanyAsiya Javayant QUALIFIED
Adams D RutaGermanyStephen Shaw QUALIFIED
Munro W DilliardCanadaIvan Magalhaes RENEWAL
Ivar K FerenczUnited KingdomIvan Magalhaes NEGOTIATION
Wickens K AlbaresFranceAsiya Javayant QUALIFIED
Octavia F RulapaughAustraliaAsiya Javayant RENEWAL
Adams L ShinkoGermanyOnyama Limba QUALIFIED
Julie P BologniaIndiaXuxue Feng QUALIFIED
Smith A FollerItalyOnyama Limba UNQUALIFIED
Adams M CampainJapanAmy Elsner NEGOTIATION
Misaki M FlosiBrazilElwin Sharvill NEW
Clifford S MaletRussiaAnna Fali QUALIFIED
Claire O FollerAustraliaIvan Magalhaes UNQUALIFIED
Maisha Q StensethJapanIoni Bowcher NEW
Izzy Q VenereRussiaAnna Fali UNQUALIFIED
Cody J BriddickGermanyIvan Magalhaes PROPOSAL
Silvio E OldroydArgentinaXuxue Feng UNQUALIFIED

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