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
Antonio D KolmetzIndiaAnna Fali NEGOTIATION
Ricardo X BologniaGermanyAsiya Javayant UNQUALIFIED
Ivar S DoeArgentinaIoni Bowcher QUALIFIED
Sinclair Q StockhamAustraliaStephen Shaw NEGOTIATION
Aika Z IturbideIndiaElwin Sharvill NEGOTIATION
James J MacleadAustraliaAmy Elsner UNQUALIFIED
Deepesh O BriddickUnited KingdomIvan Magalhaes PROPOSAL
Aika O FlosiRussiaOnyama Limba RENEWAL
Mayumi Q ShinkoAustraliaIvan Magalhaes QUALIFIED
Jefferson E BologniaUnited KingdomAsiya Javayant UNQUALIFIED
Kadeem U TollnerSpainAmy Elsner NEGOTIATION
Jeanfrancois I SaylorsCanadaXuxue Feng NEW
Isabel Z SlusarskiJapanAmy Elsner QUALIFIED
Emily C MacleadRussiaAsiya Javayant QUALIFIED
Jeanfrancois G ShinkoItalyOnyama Limba PROPOSAL
Smith O StensethFranceIoni Bowcher UNQUALIFIED
Octavia A PoquetteJapanAsiya Javayant UNQUALIFIED
Jones Q WhobreyBrazilXuxue Feng NEW
Munro B OstroskyUnited KingdomIvan Magalhaes PROPOSAL
Ivar Y WieserFranceElwin Sharvill NEGOTIATION
Aika P OldroydJapanOnyama Limba NEGOTIATION
Faith F MaletGermanyOnyama Limba NEW
Ricardo T MorascaUnited KingdomIoni Bowcher RENEWAL
Murillo E KolmetzArgentinaIvan Magalhaes NEW
Munro Q GillianCanadaBernardo Dominic UNQUALIFIED
Aditya M ButtJapanIoni Bowcher NEGOTIATION
Juan T SlusarskiRussiaAsiya Javayant UNQUALIFIED
Ashley A SchemmerBrazilStephen Shaw UNQUALIFIED
Maisha V SergiIndiaStephen Shaw PROPOSAL
Salvatore L AlbaresGermanyElwin Sharvill RENEWAL
Clifford I WieserFranceIoni Bowcher NEGOTIATION
Alejandro Y GlickItalyIoni Bowcher NEGOTIATION
Francesco K DoeArgentinaStephen Shaw RENEWAL
Kadeem D CampainAustraliaAmy Elsner QUALIFIED
Maisha B SlusarskiRussiaAsiya Javayant UNQUALIFIED
Octavia U RulapaughArgentinaAsiya Javayant PROPOSAL
Kadeem D GillianAustraliaIvan Magalhaes NEW
Kaitlin U MorascaGermanyAnna Fali RENEWAL
Leja D RimItalyAmy Elsner RENEWAL
Ricardo G MaletJapanAnna Fali NEW
Ashley J GlickBrazilIvan Magalhaes RENEWAL
Claire R DarakjyArgentinaIoni Bowcher UNQUALIFIED
Jefferson A RulapaughIndiaIvan Magalhaes RENEWAL
Maisha Z GarufiGermanyIoni Bowcher QUALIFIED
Darci R CampainAustraliaStephen Shaw NEW
Mayumi Z CaudyAustraliaIoni Bowcher QUALIFIED
Morrow X CaudyUnited KingdomStephen Shaw NEGOTIATION
Francesco I RoysterJapanXuxue Feng NEW
Claire J VocelkaCanadaIvan Magalhaes QUALIFIED
David B StensethFranceOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Stacey S MacleadSpainElwin Sharvill UNQUALIFIED
Clifford Q PaprockiAustraliaIoni Bowcher PROPOSAL
Adams D FigeroaJapanAmy Elsner QUALIFIED
Ricardo N OstroskyUnited KingdomAnna Fali UNQUALIFIED
James V PerinGermanyXuxue Feng NEW
Rodrigues D SlusarskiCanadaAnna Fali QUALIFIED
Stacey D GillianGermanyAmy Elsner UNQUALIFIED
Isabel F KolmetzSpainOnyama Limba UNQUALIFIED
Maria O OldroydRussiaAmy Elsner QUALIFIED
Ivar V BologniaArgentinaXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar Y WhobreyRussia2024-06-16Printing Dimensions PROPOSAL50Anna Fali
1001Aika M GillianCanada2024-06-13Commercial Press UNQUALIFIED16Amy Elsner
1002Murillo E KolmetzBrazil2024-06-02Rousseaux, Michael Esq NEGOTIATION7Ivan Magalhaes
1003James J WaycottItaly2024-06-12Chanay, Jeffrey A Esq UNQUALIFIED4Ioni Bowcher
1004Arvin D SlusarskiArgentina2024-06-13Rangoni Of Florence UNQUALIFIED45Xuxue Feng
1005Aditya Y DilliardJapan2024-06-01Chapman, Ross E Esq QUALIFIED39Asiya Javayant
1006Faith S ShinkoSpain2024-05-30Benton, John B Jr PROPOSAL91Elwin Sharvill
1007Chavez D CaudyAustralia2024-06-16Dorl, James J Esq QUALIFIED77Xuxue Feng
1008Clifford K FigeroaRussia2024-06-21Dorl, James J Esq RENEWAL50Xuxue Feng
1009Izzy A RutaCanada2024-06-21King, Christopher A Esq PROPOSAL79Elwin Sharvill
1010Izzy X RulapaughBrazil2024-06-22Buckley Miller Wright RENEWAL23Elwin Sharvill
1011Emily N RulapaughAustralia2024-06-19Chapman, Ross E Esq QUALIFIED57Onyama Limba
1012Stacey M NestleCanada2024-05-29Rangoni Of Florence UNQUALIFIED86Elwin Sharvill
1013Leon O RoysterIndia2024-06-07Morlong Associates UNQUALIFIED26Asiya Javayant
1014Claire M DoeGermany2024-06-20Chanay, Jeffrey A Esq RENEWAL40Stephen Shaw
1015Jefferson I GauchoRussia2024-06-18Rousseaux, Michael Esq UNQUALIFIED57Stephen Shaw
1016Faith L InouyeArgentina2024-06-03Feltz Printing Service RENEWAL28Xuxue Feng
1017Jennifer T MaletSpain2024-05-29Feltz Printing Service RENEWAL29Bernardo Dominic
1018Jeanfrancois Z FollerUnited Kingdom2024-06-13King, Christopher A Esq NEGOTIATION54Ioni Bowcher
1019Maria H GillianIndia2024-06-12Chemel, James L Cpa RENEWAL29Xuxue Feng
1020Mayumi J WieserIndia2024-06-03Printing Dimensions NEGOTIATION6Anna Fali
1021Aditya K AmigonAustralia2024-05-28Rousseaux, Michael Esq PROPOSAL98Asiya Javayant
1022Costa W MorascaFrance2024-05-30Feiner Bros NEGOTIATION46Anna Fali
1023Aditya W InouyeSpain2024-06-05Rousseaux, Michael Esq UNQUALIFIED99Onyama Limba
1024Jefferson T GillianUnited Kingdom2024-06-05Rousseaux, Michael Esq UNQUALIFIED59Onyama Limba
1025Juan Z MorascaFrance2024-06-06Chapman, Ross E Esq QUALIFIED46Ioni Bowcher
1026Aika U MacleadUnited Kingdom2024-06-12Rousseaux, Michael Esq QUALIFIED81Bernardo Dominic
1027Morrow T BologniaUnited Kingdom2024-06-23Feltz Printing Service NEW70Amy Elsner
1028Misaki P BologniaArgentina2024-06-10Feltz Printing Service QUALIFIED49Asiya Javayant
1029Aditya Q PoquetteIndia2024-06-21Printing Dimensions QUALIFIED24Amy Elsner
1030Sinclair Z MaletRussia2024-05-30Printing Dimensions RENEWAL24Elwin Sharvill
1031Murillo P SlusarskiIndia2024-06-19Chapman, Ross E Esq QUALIFIED27Xuxue Feng
1032Maria T MaletIndia2024-06-19Rangoni Of Florence UNQUALIFIED65Ivan Magalhaes
1033Emily C RimIndia2024-06-12Rangoni Of Florence NEGOTIATION90Elwin Sharvill
1034David R KolmetzIndia2024-06-07Buckley Miller Wright NEW62Xuxue Feng
1035Wickens L GillianJapan2024-06-09Dorl, James J Esq NEGOTIATION85Onyama Limba
1036Octavia G FlosiUnited Kingdom2024-06-23Rousseaux, Michael Esq PROPOSAL65Amy Elsner
1037Kaitlin L DilliardBrazil2024-06-02Chemel, James L Cpa NEGOTIATION65Elwin Sharvill
1038Antonio L VenereIndia2024-05-30Benton, John B Jr NEGOTIATION99Onyama Limba
1039Faith T FlosiAustralia2024-05-31Dorl, James J Esq PROPOSAL45Ivan Magalhaes
1040Tony N BowleyBrazil2024-06-22Feltz Printing Service QUALIFIED6Bernardo Dominic
1041Leja I GillianBrazil2024-06-13Feiner Bros PROPOSAL21Xuxue Feng
1042Jefferson M BowleySpain2024-06-20Chanay, Jeffrey A Esq RENEWAL34Bernardo Dominic
1043Aditya W DoeItaly2024-05-29Commercial Press PROPOSAL13Ivan Magalhaes
1044Aruna S CampainCanada2024-06-11Buckley Miller Wright RENEWAL14Xuxue Feng
1045Clifford D RimArgentina2024-06-10Feltz Printing Service NEGOTIATION47Ivan Magalhaes
1046Antonio B NestleSpain2024-06-06Dorl, James J Esq QUALIFIED73Anna Fali
1047Chavez K GarufiFrance2024-06-23Rousseaux, Michael Esq PROPOSAL5Stephen Shaw
1048Aditya O RulapaughCanada2024-05-31Feltz Printing Service NEGOTIATION13Xuxue Feng
1049Sinclair Z GauchoAustralia2024-06-02King, Christopher A Esq RENEWAL98Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Misaki F GarufiSpainAnna Fali UNQUALIFIED
David G CampainFranceAsiya Javayant QUALIFIED
Wickens J PaprockiSpainAnna Fali RENEWAL
Smith J StensethItalyIoni Bowcher NEW
Chavez D RulapaughRussiaIoni Bowcher NEW
David Z WieserArgentinaIoni Bowcher RENEWAL
Octavia P BologniaRussiaIvan Magalhaes NEW
Izzy R CampainArgentinaXuxue Feng UNQUALIFIED
Ashley P StensethFranceIvan Magalhaes PROPOSAL
James S VocelkaGermanyBernardo Dominic PROPOSAL
Jones P InouyeCanadaAnna Fali NEW
Silvio W TollnerBrazilAsiya Javayant NEW
Chavez T RutaItalyStephen Shaw NEGOTIATION
Isabel I BowleyFranceAsiya Javayant NEGOTIATION
Antonio Y PaprockiGermanyAsiya Javayant RENEWAL
Arvin G IturbideFranceOnyama Limba NEGOTIATION
David V RoysterGermanyBernardo Dominic QUALIFIED
Aditya H CampainRussiaBernardo Dominic UNQUALIFIED
Jeanfrancois Z PerinGermanyElwin Sharvill RENEWAL
Ashley U StensethJapanIvan Magalhaes NEW
Ashley Y MaletFranceStephen Shaw UNQUALIFIED
Jeanfrancois X BowleyFranceStephen Shaw PROPOSAL
Clifford W WaycottIndiaIoni Bowcher RENEWAL
Antonio D RoysterBrazilElwin Sharvill UNQUALIFIED
Julie V NestleUnited KingdomBernardo Dominic UNQUALIFIED
Emily V MaletUnited KingdomOnyama Limba QUALIFIED
Kadeem E PoquetteCanadaBernardo Dominic UNQUALIFIED
Francesco N CaldareraCanadaStephen Shaw NEW
Ashley G GillianItalyStephen Shaw QUALIFIED
Mujtaba O ButtItalyIvan Magalhaes NEGOTIATION
Costa J WaycottIndiaElwin Sharvill UNQUALIFIED
Octavia C RulapaughUnited KingdomAmy Elsner NEW
Juan P DilliardArgentinaIoni Bowcher PROPOSAL
Rodrigues C SchemmerRussiaStephen Shaw NEGOTIATION
Costa K CaldareraAustraliaElwin Sharvill QUALIFIED
Misaki I MaletJapanAsiya Javayant NEW
Adams I ShinkoItalyElwin Sharvill QUALIFIED
Darci L ButtSpainOnyama Limba QUALIFIED
Darci I PaprockiFranceElwin Sharvill NEGOTIATION
Sinclair M CaudyFranceXuxue Feng QUALIFIED
Munro U RutaFranceIoni Bowcher QUALIFIED
Ricardo U WieserCanadaIoni Bowcher NEW
Silvio L PaprockiFranceIoni Bowcher PROPOSAL
Kaitlin P SaylorsBrazilAnna Fali UNQUALIFIED
Stacey Y SlusarskiSpainIvan Magalhaes PROPOSAL
Maria I StockhamSpainStephen Shaw UNQUALIFIED
Maisha G RulapaughIndiaXuxue Feng UNQUALIFIED
Mujtaba O GarufiBrazilIvan Magalhaes NEGOTIATION
Kadeem Y GauchoUnited KingdomElwin Sharvill NEGOTIATION
Costa I InouyeBrazilStephen Shaw RENEWAL
Frozen Columns
Name
Deepesh G Vocelka
Antonio A Kusko
Julie D Rim
Ivar A Slusarski
Tony N Stenseth
Maria I Inouye
Salvatore U Kusko
Alejandro L Nestle
Ricardo G Wieser
Octavia V Venere
Emily U Chui
Sinclair H Gaucho
David H Dilliard
Deepesh J Foller
David L Stockham
Aditya Q Malet
Leon Q Rim
Ricardo J Gillian
Aika O Malet
Stacey S Chui
Aditya X Caudy
Murillo Y Kolmetz
Deepesh K Stockham
Murillo J Inouye
Francesco A Bolognia
Aruna Q Bolognia
Francesco Y Waycott
Leon M Iturbide
Arvin G Malet
Izzy M Bolognia
Rodrigues W Foller
Chavez A Figeroa
Maisha R Caudy
Jones P Whobrey
Aika T Tollner
Francesco C Venere
Antonio J Sergi
Deepesh C Iturbide
Aruna C Saylors
Jones F Ruta
Cody H Perin
Cody N Stenseth
Leon D Nicka
Deepesh M Rim
Kadeem D Whobrey
Greenwood Y Gaucho
Misaki P Schemmer
Maria B Gillian
James O Butt
Izzy P Darakjy
IdCountryDate
1000Brazil2024-06-19
1001Russia2024-06-13
1002India2024-05-26
1003France2024-06-18
1004India2024-06-06
1005Italy2024-06-07
1006Germany2024-06-15
1007Japan2024-05-31
1008Argentina2024-06-21
1009United Kingdom2024-06-08
1010Italy2024-06-16
1011Japan2024-06-03
1012Australia2024-06-18
1013Canada2024-06-03
1014United Kingdom2024-05-26
1015Australia2024-06-19
1016Canada2024-06-07
1017France2024-06-05
1018Japan2024-06-05
1019Argentina2024-06-10
1020Spain2024-06-04
1021France2024-06-22
1022Argentina2024-05-28
1023Italy2024-06-06
1024France2024-06-21
1025Russia2024-06-09
1026France2024-05-26
1027France2024-06-19
1028Italy2024-06-21
1029India2024-06-09
1030France2024-06-12
1031Canada2024-06-10
1032Spain2024-06-10
1033Japan2024-06-23
1034France2024-06-05
1035Italy2024-06-08
1036Australia2024-06-06
1037Brazil2024-06-14
1038Brazil2024-05-29
1039Canada2024-05-28
1040India2024-06-04
1041Spain2024-06-20
1042United Kingdom2024-06-07
1043Argentina2024-06-22
1044Australia2024-06-20
1045India2024-06-09
1046Italy2024-05-31
1047Brazil2024-06-03
1048Canada2024-06-06
1049India2024-06-21

On-Demand Data

NameIdCountryDate
Alejandro T Nestle1000Australia2024-06-08
Munro G Saylors1001France2024-06-05
Aika K Kusko1002Argentina2024-06-06
Cody M Waycott1003United Kingdom2024-06-03
Wickens K Stenseth1004Germany2024-05-25
Salvatore Y Flosi1005Spain2024-05-27
Morrow W Nestle1006Japan2024-06-13
Arvin M Inouye1007Canada2024-06-02
Greenwood H Bowley1008Russia2024-06-19
Emily D Malet1009Germany2024-05-30
Jefferson K Briddick1010Germany2024-06-07
Julie O Amigon1011France2024-05-26
James O Briddick1012India2024-06-03
David O Kolmetz1013Russia2024-05-28
Maria R Oldroyd1014Germany2024-05-25
Jennifer Q Perin1015Spain2024-06-09
Faith Y Campain1016Spain2024-06-03
Rodrigues L Bowley1017Australia2024-06-19
Deepesh F Gillian1018France2024-06-13
Sinclair G Nestle1019Australia2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily C TollnerArgentinaAmy Elsner QUALIFIED
Leon K CaldareraAustraliaBernardo Dominic QUALIFIED
Juan M DoeAustraliaElwin Sharvill NEGOTIATION
Ashley I IturbideRussiaElwin Sharvill NEGOTIATION
Juan C PerinCanadaAmy Elsner PROPOSAL
Rodrigues Y WieserFranceIvan Magalhaes QUALIFIED
Isabel F FigeroaIndiaAnna Fali NEGOTIATION
Smith K ChuiFranceAsiya Javayant PROPOSAL
Adams U RulapaughFranceOnyama Limba RENEWAL
Deepesh C CaudyRussiaStephen Shaw NEW
Murillo S GauchoRussiaOnyama Limba NEGOTIATION
Isabel D IturbideFranceAmy Elsner NEGOTIATION
Chavez B GauchoSpainAsiya Javayant QUALIFIED
Izzy E InouyeUnited KingdomElwin Sharvill RENEWAL
Aditya Q RulapaughCanadaElwin Sharvill NEW
Julie R FollerCanadaIvan Magalhaes QUALIFIED
Jeanfrancois X RoysterCanadaAnna Fali NEW
Emily V CampainFranceAmy Elsner PROPOSAL
Misaki H MacleadItalyXuxue Feng PROPOSAL
Rodrigues M CaldareraBrazilOnyama Limba NEGOTIATION
Cody Y NestleSpainIvan Magalhaes RENEWAL
Cody E MarrierRussiaElwin Sharvill UNQUALIFIED
Juan H DoeIndiaAnna Fali QUALIFIED
Antonio W SchemmerRussiaStephen Shaw NEW
Mujtaba O WieserRussiaXuxue Feng PROPOSAL
Emily A GlickSpainBernardo Dominic RENEWAL
Arvin E BologniaGermanyAmy Elsner NEGOTIATION
Leja B ShinkoFranceBernardo Dominic QUALIFIED
Deepesh I NestleAustraliaOnyama Limba RENEWAL
Jeanfrancois O NestleIndiaElwin Sharvill PROPOSAL
Clifford G FerenczIndiaBernardo Dominic NEW
David U PaprockiSpainBernardo Dominic PROPOSAL
Jones V CampainArgentinaAnna Fali NEW
Nicolas D GlickCanadaAsiya Javayant UNQUALIFIED
Deepesh J RimItalyOnyama Limba PROPOSAL
Arvin N GlickArgentinaOnyama Limba QUALIFIED
Adams P WieserItalyBernardo Dominic NEW
Izzy H MorascaArgentinaXuxue Feng RENEWAL
Johnson E WhobreyGermanyAsiya Javayant NEGOTIATION
Jones O CaldareraRussiaXuxue Feng QUALIFIED

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