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
Ashley X FigeroaFranceXuxue Feng NEW
Jennifer W DarakjyJapanBernardo Dominic RENEWAL
Kadeem W SlusarskiSpainAnna Fali RENEWAL
Kadeem P CaudyRussiaIoni Bowcher RENEWAL
Octavia X RoysterAustraliaIvan Magalhaes RENEWAL
Wickens L PoquetteAustraliaAnna Fali NEW
Cody H GlickGermanyOnyama Limba QUALIFIED
Morrow F ButtGermanyAsiya Javayant NEW
Leon X BowleyArgentinaAnna Fali RENEWAL
James W ChuiSpainAnna Fali PROPOSAL
Leon H MaletRussiaBernardo Dominic RENEWAL
Ashley S SergiCanadaAsiya Javayant UNQUALIFIED
Maisha F WhobreyGermanyAnna Fali PROPOSAL
Chavez S SergiItalyAnna Fali NEW
Sinclair Y AlbaresFranceIvan Magalhaes NEW
Wickens C RutaArgentinaAsiya Javayant RENEWAL
James P MacleadJapanIoni Bowcher RENEWAL
David E SaylorsGermanyAmy Elsner NEW
Sinclair M PerinFranceAsiya Javayant NEGOTIATION
Greenwood M SaylorsFranceBernardo Dominic RENEWAL
Costa F CampainCanadaAnna Fali NEGOTIATION
Maria I NestleAustraliaStephen Shaw NEW
David J IturbideAustraliaIoni Bowcher PROPOSAL
Leon N NestleFranceAsiya Javayant QUALIFIED
Nicolas X BriddickSpainAmy Elsner RENEWAL
Kadeem A StensethSpainBernardo Dominic RENEWAL
Morrow Y StockhamGermanyAnna Fali PROPOSAL
Jefferson D SchemmerItalyIvan Magalhaes NEGOTIATION
Nicolas L StockhamJapanXuxue Feng QUALIFIED
Jones I GauchoGermanyOnyama Limba NEW
Octavia C StensethUnited KingdomAnna Fali PROPOSAL
Emily U DilliardArgentinaIoni Bowcher QUALIFIED
Maria N PaprockiCanadaAnna Fali NEW
Wickens W BowleyGermanyAmy Elsner QUALIFIED
Salvatore W MarrierJapanAmy Elsner PROPOSAL
Isabel Q DoeSpainOnyama Limba PROPOSAL
Deepesh B BriddickRussiaAmy Elsner QUALIFIED
Stacey E SlusarskiCanadaStephen Shaw NEGOTIATION
Leon X BriddickGermanyIoni Bowcher NEGOTIATION
James S MorascaGermanyOnyama Limba UNQUALIFIED
Mujtaba A NickaCanadaAnna Fali NEGOTIATION
Darci H BriddickAustraliaIvan Magalhaes PROPOSAL
Isabel V NickaCanadaAsiya Javayant QUALIFIED
Antonio D GarufiBrazilAsiya Javayant QUALIFIED
Ashley O MaletSpainElwin Sharvill RENEWAL
Chavez U MacleadFranceOnyama Limba NEW
Rodrigues U PaprockiGermanyBernardo Dominic QUALIFIED
Claire Z StensethArgentinaBernardo Dominic UNQUALIFIED
Chavez D CampainGermanyXuxue Feng UNQUALIFIED
David K TollnerCanadaXuxue Feng NEW
Horizontal
NameCountryRepresentativeStatus
Aditya E BowleyBrazilStephen Shaw NEGOTIATION
Izzy G PaprockiRussiaAmy Elsner QUALIFIED
Izzy D MacleadFranceElwin Sharvill QUALIFIED
Salvatore M CaldareraGermanyXuxue Feng UNQUALIFIED
Isabel R FerenczJapanIvan Magalhaes NEGOTIATION
Greenwood Y ChuiFranceOnyama Limba UNQUALIFIED
Stacey H ShinkoRussiaOnyama Limba UNQUALIFIED
Ashley T SaylorsSpainXuxue Feng UNQUALIFIED
Adams M StensethAustraliaAsiya Javayant QUALIFIED
Kaitlin O MacleadFranceXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar D RimJapan2024-05-30Commercial Press RENEWAL57Ivan Magalhaes
1001Deepesh Q SchemmerCanada2024-05-31Buckley Miller Wright QUALIFIED20Ivan Magalhaes
1002Wickens M ShinkoItaly2024-06-12Truhlar And Truhlar Attys NEGOTIATION80Ivan Magalhaes
1003Cody O WaycottSpain2024-06-20King, Christopher A Esq NEW99Anna Fali
1004Silvio J FerenczIndia2024-06-14Rousseaux, Michael Esq UNQUALIFIED78Onyama Limba
1005Morrow U DoeBrazil2024-06-06Rousseaux, Michael Esq PROPOSAL66Amy Elsner
1006Francesco W RulapaughCanada2024-06-13Printing Dimensions PROPOSAL19Onyama Limba
1007Emily B RulapaughArgentina2024-06-20Chemel, James L Cpa NEGOTIATION21Ioni Bowcher
1008Leja B MaletFrance2024-05-28Chemel, James L Cpa RENEWAL2Xuxue Feng
1009Francesco M IturbideArgentina2024-06-04Chanay, Jeffrey A Esq UNQUALIFIED89Onyama Limba
1010Johnson J VocelkaFrance2024-06-24Benton, John B Jr UNQUALIFIED39Stephen Shaw
1011Claire L SergiIndia2024-06-22Commercial Press PROPOSAL61Stephen Shaw
1012Misaki G FollerJapan2024-06-05Chanay, Jeffrey A Esq PROPOSAL63Stephen Shaw
1013Cody A SergiJapan2024-06-20Feltz Printing Service QUALIFIED83Elwin Sharvill
1014Greenwood X NestleIndia2024-06-02Dorl, James J Esq NEGOTIATION89Anna Fali
1015Arvin D BriddickSpain2024-06-05Buckley Miller Wright PROPOSAL58Anna Fali
1016Faith K BriddickItaly2024-06-05Chanay, Jeffrey A Esq NEW3Anna Fali
1017Smith D KolmetzIndia2024-06-12Benton, John B Jr QUALIFIED45Ivan Magalhaes
1018Ivar P GillianArgentina2024-06-08Chanay, Jeffrey A Esq UNQUALIFIED18Xuxue Feng
1019Cody C AlbaresSpain2024-06-06Rangoni Of Florence NEGOTIATION87Bernardo Dominic
1020Chavez P FerenczIndia2024-06-06Feltz Printing Service UNQUALIFIED50Ivan Magalhaes
1021Ashley Y SchemmerIndia2024-06-21Rangoni Of Florence UNQUALIFIED86Bernardo Dominic
1022Chavez G BologniaIndia2024-05-27Morlong Associates NEW16Anna Fali
1023Cody E BriddickIndia2024-05-28Commercial Press PROPOSAL82Xuxue Feng
1024Ricardo Z FigeroaCanada2024-06-19Feltz Printing Service QUALIFIED96Asiya Javayant
1025Stacey E RutaItaly2024-06-12Commercial Press UNQUALIFIED86Asiya Javayant
1026Mayumi W NickaJapan2024-06-01Rangoni Of Florence NEGOTIATION83Onyama Limba
1027Jefferson Q MorascaArgentina2024-06-24Chanay, Jeffrey A Esq UNQUALIFIED50Ivan Magalhaes
1028Clifford V RulapaughRussia2024-06-20Rangoni Of Florence UNQUALIFIED70Ivan Magalhaes
1029Jefferson M WieserFrance2024-05-26Dorl, James J Esq RENEWAL86Ivan Magalhaes
1030Darci X CaudyRussia2024-06-19Feiner Bros UNQUALIFIED92Ioni Bowcher
1031Wickens Y GillianIndia2024-06-19Chanay, Jeffrey A Esq QUALIFIED73Stephen Shaw
1032Arvin Y ShinkoCanada2024-06-13Chanay, Jeffrey A Esq PROPOSAL30Ioni Bowcher
1033Darci R CampainUnited Kingdom2024-06-08Chanay, Jeffrey A Esq NEW9Xuxue Feng
1034Aika J NickaFrance2024-06-16Dorl, James J Esq QUALIFIED69Xuxue Feng
1035Alejandro Y SlusarskiIndia2024-06-22Feiner Bros PROPOSAL53Bernardo Dominic
1036Deepesh A CampainCanada2024-06-05Feltz Printing Service RENEWAL77Stephen Shaw
1037Stacey D CaldareraSpain2024-06-19Printing Dimensions UNQUALIFIED69Asiya Javayant
1038Aruna E ButtUnited Kingdom2024-06-07Chemel, James L Cpa UNQUALIFIED2Ivan Magalhaes
1039Smith A StensethItaly2024-05-28Printing Dimensions NEW7Asiya Javayant
1040Murillo B OstroskyAustralia2024-06-23Printing Dimensions NEW8Elwin Sharvill
1041Jennifer W KolmetzBrazil2024-06-06Feiner Bros NEW54Bernardo Dominic
1042Munro G CampainSpain2024-06-17Feiner Bros NEW40Onyama Limba
1043Julie T NestleAustralia2024-06-16Commercial Press RENEWAL93Stephen Shaw
1044Murillo H PoquetteArgentina2024-06-22Buckley Miller Wright NEGOTIATION91Onyama Limba
1045Silvio Y GarufiArgentina2024-05-26Commercial Press QUALIFIED19Stephen Shaw
1046Julie Z TollnerUnited Kingdom2024-06-05King, Christopher A Esq QUALIFIED83Xuxue Feng
1047Francesco F GillianUnited Kingdom2024-06-15Feiner Bros NEW24Onyama Limba
1048Morrow P VocelkaIndia2024-06-11Printing Dimensions NEW3Ivan Magalhaes
1049Rodrigues I ChuiFrance2024-05-28Rangoni Of Florence NEW41Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin N SchemmerItalyElwin Sharvill PROPOSAL
Kadeem I SlusarskiSpainElwin Sharvill QUALIFIED
Johnson O GauchoCanadaStephen Shaw PROPOSAL
Stacey G FollerGermanyIoni Bowcher PROPOSAL
Izzy Q CampainFranceStephen Shaw QUALIFIED
Aika R SlusarskiCanadaAnna Fali UNQUALIFIED
Greenwood M WhobreyFranceOnyama Limba RENEWAL
Jeanfrancois X VenereRussiaBernardo Dominic NEGOTIATION
Juan R RulapaughCanadaStephen Shaw PROPOSAL
Sinclair X MaletAustraliaIoni Bowcher UNQUALIFIED
Smith O ShinkoBrazilBernardo Dominic NEW
Smith D RimItalyAsiya Javayant PROPOSAL
Murillo E ShinkoBrazilAmy Elsner NEW
Smith E IturbideRussiaIvan Magalhaes NEW
Clifford J KolmetzArgentinaAmy Elsner UNQUALIFIED
Jennifer G IturbideSpainOnyama Limba UNQUALIFIED
James S PoquetteGermanyXuxue Feng NEGOTIATION
Leja Y MorascaIndiaStephen Shaw PROPOSAL
Alejandro L ButtAustraliaAsiya Javayant NEW
James U GarufiRussiaIvan Magalhaes NEGOTIATION
Ricardo J StockhamItalyXuxue Feng PROPOSAL
Francesco F ShinkoItalyIoni Bowcher NEGOTIATION
Darci B CampainArgentinaStephen Shaw QUALIFIED
Juan J DarakjyJapanOnyama Limba NEGOTIATION
Tony Y FlosiItalyElwin Sharvill RENEWAL
Kadeem V SergiIndiaAmy Elsner NEW
Octavia H MarrierItalyAsiya Javayant QUALIFIED
Silvio Y ChuiRussiaElwin Sharvill RENEWAL
Smith Y SlusarskiFranceElwin Sharvill QUALIFIED
Leja K MaletSpainIoni Bowcher QUALIFIED
Ashley F ButtRussiaOnyama Limba UNQUALIFIED
Darci A BowleyBrazilStephen Shaw PROPOSAL
Arvin X NestleGermanyAsiya Javayant QUALIFIED
Sinclair B VocelkaItalyAnna Fali PROPOSAL
Nicolas S GillianUnited KingdomAsiya Javayant PROPOSAL
Isabel S InouyeRussiaIoni Bowcher QUALIFIED
Costa Z VocelkaFranceAmy Elsner RENEWAL
Chavez H VenereAustraliaBernardo Dominic NEW
Silvio K PerinRussiaIoni Bowcher NEW
Juan P DoeCanadaStephen Shaw NEW
James L DarakjyItalyAnna Fali NEGOTIATION
Jennifer D RulapaughItalyAmy Elsner NEGOTIATION
Maisha C GlickFranceBernardo Dominic UNQUALIFIED
Jones G DarakjyGermanyBernardo Dominic PROPOSAL
Stacey K DilliardFranceXuxue Feng NEGOTIATION
Rodrigues L GillianJapanAnna Fali QUALIFIED
Claire C WieserArgentinaAsiya Javayant NEW
Claire M ShinkoItalyAmy Elsner QUALIFIED
Mujtaba F VenereJapanIvan Magalhaes UNQUALIFIED
Jennifer U RutaAustraliaAmy Elsner PROPOSAL
Frozen Columns
Name
Tony K Garufi
Kaitlin W Saylors
Claire V Inouye
Maisha C Marrier
Kaitlin C Bowley
Emily Z Oldroyd
Smith K Stenseth
James Z Rim
Ricardo W Shinko
Murillo L Chui
Tony J Paprocki
Ricardo N Marrier
Tony X Schemmer
Maria R Slusarski
Antonio A Whobrey
Murillo Y Marrier
Maria P Amigon
Wickens B Garufi
Ivar C Gaucho
David F Ruta
Kadeem J Inouye
Murillo L Waycott
Salvatore K Rulapaugh
Clifford Z Darakjy
Leon P Marrier
Chavez T Tollner
Emily A Saylors
Mujtaba A Ruta
Juan E Maclead
Nicolas W Waycott
Mayumi M Shinko
Greenwood Y Inouye
Maisha C Glick
Aika T Amigon
Kadeem Q Caudy
Ivar C Sergi
Leon K Stenseth
Maisha K Ruta
Aditya I Wieser
Juan K Glick
Greenwood D Gaucho
Isabel T Caldarera
Morrow E Iturbide
Munro A Caudy
Johnson Z Shinko
Clifford T Amigon
Leon T Waycott
Stacey H Iturbide
Claire Q Gillian
Aruna K Butt
IdCountryDate
1000Canada2024-06-24
1001Argentina2024-06-18
1002India2024-05-31
1003Australia2024-06-13
1004United Kingdom2024-05-28
1005Italy2024-06-07
1006Brazil2024-05-27
1007Russia2024-06-10
1008India2024-06-01
1009India2024-06-15
1010Russia2024-06-16
1011Italy2024-06-04
1012France2024-05-28
1013Japan2024-06-18
1014India2024-06-18
1015Italy2024-06-21
1016Spain2024-06-20
1017Japan2024-06-22
1018Australia2024-06-19
1019Russia2024-06-07
1020Japan2024-06-24
1021Spain2024-05-31
1022Germany2024-06-05
1023United Kingdom2024-06-20
1024Brazil2024-06-07
1025Spain2024-06-05
1026Italy2024-06-16
1027India2024-06-10
1028Canada2024-06-10
1029Italy2024-06-08
1030Argentina2024-06-19
1031Spain2024-06-06
1032United Kingdom2024-05-31
1033Australia2024-05-27
1034France2024-06-04
1035India2024-06-17
1036Canada2024-06-12
1037Spain2024-05-31
1038France2024-05-31
1039United Kingdom2024-06-08
1040India2024-06-19
1041Italy2024-06-15
1042Argentina2024-06-20
1043United Kingdom2024-06-01
1044India2024-06-10
1045India2024-06-04
1046Italy2024-06-24
1047Australia2024-06-01
1048France2024-06-12
1049Australia2024-05-26

On-Demand Data

NameIdCountryDate
Sinclair U Caudy1000Argentina2024-06-11
Claire R Glick1001Germany2024-06-11
Aika K Foller1002Brazil2024-06-20
Kadeem Z Garufi1003Japan2024-06-20
Ricardo H Rulapaugh1004Canada2024-06-02
Morrow U Maclead1005Australia2024-06-01
Salvatore I Nicka1006United Kingdom2024-06-19
Darci T Kusko1007France2024-05-26
Aruna U Kolmetz1008Italy2024-06-11
Claire S Dilliard1009Brazil2024-06-14
Deepesh K Oldroyd1010Brazil2024-06-18
Morrow Q Bowley1011Canada2024-06-16
Alejandro T Albares1012Spain2024-06-02
Jefferson Q Vocelka1013Australia2024-06-07
Antonio L Bolognia1014France2024-06-11
Clifford U Wieser1015Canada2024-06-21
Costa E Glick1016Brazil2024-05-31
Ricardo O Vocelka1017United Kingdom2024-06-16
Aika J Sergi1018Argentina2024-06-04
David A Rulapaugh1019Spain2024-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith H PerinSpainAnna Fali QUALIFIED
Johnson J MarrierItalyAmy Elsner RENEWAL
Izzy W ButtSpainElwin Sharvill NEW
Wickens O DilliardUnited KingdomAsiya Javayant QUALIFIED
Leon G MacleadCanadaIoni Bowcher NEW
Ashley F MaletGermanyXuxue Feng QUALIFIED
Jefferson K SchemmerRussiaAnna Fali UNQUALIFIED
Jennifer L AmigonGermanyXuxue Feng NEW
Morrow J BriddickBrazilAmy Elsner UNQUALIFIED
Johnson U SergiArgentinaBernardo Dominic NEGOTIATION
Adams P CaudyAustraliaOnyama Limba QUALIFIED
Antonio P SlusarskiAustraliaElwin Sharvill UNQUALIFIED
Wickens U FigeroaAustraliaIvan Magalhaes QUALIFIED
Leon M SchemmerRussiaAsiya Javayant UNQUALIFIED
Clifford S BologniaBrazilXuxue Feng NEW
Juan F OldroydFranceAnna Fali QUALIFIED
Jones O BologniaCanadaAmy Elsner UNQUALIFIED
Juan S GauchoAustraliaBernardo Dominic NEGOTIATION
Aditya R SlusarskiUnited KingdomAmy Elsner RENEWAL
Kaitlin W MorascaBrazilAsiya Javayant NEW
Leon Z MacleadUnited KingdomAsiya Javayant UNQUALIFIED
Johnson C RoysterRussiaXuxue Feng PROPOSAL
Tony N DarakjyIndiaIoni Bowcher NEW
Maisha B DoeFranceIoni Bowcher NEW
Silvio N BowleyGermanyAnna Fali QUALIFIED
Munro D DarakjyRussiaAsiya Javayant NEGOTIATION
Clifford N OldroydJapanIvan Magalhaes NEGOTIATION
Cody L MaletSpainBernardo Dominic QUALIFIED
Octavia K SchemmerUnited KingdomOnyama Limba UNQUALIFIED
Ashley R PaprockiBrazilXuxue Feng RENEWAL
Nicolas X OldroydJapanAsiya Javayant NEGOTIATION
Misaki S ChuiGermanyElwin Sharvill QUALIFIED
Stacey Y GarufiIndiaAnna Fali QUALIFIED
Darci B NestleBrazilAmy Elsner QUALIFIED
Morrow W SaylorsSpainIoni Bowcher PROPOSAL
Jones H StensethGermanyStephen Shaw QUALIFIED
Isabel H DilliardItalyBernardo Dominic NEW
Clifford N DoeJapanAnna Fali PROPOSAL
Morrow E StensethIndiaIvan Magalhaes PROPOSAL
Johnson C OldroydGermanyAnna Fali PROPOSAL

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