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
Leja W OldroydJapanStephen Shaw NEW
Stacey D BologniaGermanyAnna Fali UNQUALIFIED
Rodrigues U VocelkaItalyIvan Magalhaes NEW
Leon F MarrierGermanyAsiya Javayant QUALIFIED
Johnson V RoysterSpainOnyama Limba NEGOTIATION
Wickens Y MarrierGermanyAmy Elsner NEW
Kadeem N GarufiSpainAsiya Javayant RENEWAL
Aditya F WieserSpainAmy Elsner NEW
Morrow V NestleIndiaAmy Elsner PROPOSAL
Tony Z CampainFranceXuxue Feng UNQUALIFIED
James P SaylorsUnited KingdomAsiya Javayant NEGOTIATION
Stacey R SaylorsItalyStephen Shaw NEW
Costa P KolmetzAustraliaAsiya Javayant NEW
Greenwood R MorascaBrazilBernardo Dominic NEGOTIATION
Clifford X WhobreyCanadaStephen Shaw NEW
Francesco W SchemmerIndiaAnna Fali QUALIFIED
Julie E MacleadAustraliaIvan Magalhaes PROPOSAL
Emily T WhobreyBrazilElwin Sharvill QUALIFIED
Aditya X NickaGermanyAnna Fali RENEWAL
Rodrigues W MarrierJapanAnna Fali NEGOTIATION
Ashley L InouyeJapanBernardo Dominic NEW
Costa K ButtIndiaAsiya Javayant NEW
Leja O FigeroaCanadaAsiya Javayant QUALIFIED
Emily M AmigonSpainAnna Fali QUALIFIED
Silvio N PerinGermanyElwin Sharvill PROPOSAL
Aruna L CaudyFranceAnna Fali PROPOSAL
Ricardo E GillianCanadaIoni Bowcher RENEWAL
Morrow M BriddickArgentinaBernardo Dominic QUALIFIED
Smith D AmigonCanadaAmy Elsner RENEWAL
Greenwood J ChuiAustraliaAsiya Javayant NEW
Murillo D OstroskyUnited KingdomOnyama Limba UNQUALIFIED
Alejandro Z CaldareraRussiaAsiya Javayant RENEWAL
Aika G RulapaughRussiaBernardo Dominic UNQUALIFIED
Jennifer A RulapaughFranceBernardo Dominic QUALIFIED
Darci A DilliardCanadaAsiya Javayant UNQUALIFIED
Maisha A GarufiJapanOnyama Limba QUALIFIED
Wickens A WhobreyFranceBernardo Dominic PROPOSAL
Ricardo R InouyeGermanyIoni Bowcher NEGOTIATION
Adams G ShinkoArgentinaAsiya Javayant NEGOTIATION
Wickens D AmigonRussiaIoni Bowcher PROPOSAL
Johnson P FigeroaGermanyElwin Sharvill NEGOTIATION
Ricardo J VenereFranceIoni Bowcher UNQUALIFIED
Alejandro H GlickArgentinaOnyama Limba QUALIFIED
Wickens G PerinGermanyElwin Sharvill NEGOTIATION
Jennifer L BologniaAustraliaOnyama Limba UNQUALIFIED
Faith B RimCanadaElwin Sharvill NEGOTIATION
Salvatore L AmigonBrazilStephen Shaw UNQUALIFIED
Silvio B CaudyUnited KingdomOnyama Limba NEW
Maisha C CampainArgentinaElwin Sharvill QUALIFIED
Misaki P AlbaresJapanElwin Sharvill PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Claire A MaletItalyIvan Magalhaes RENEWAL
Jefferson G MaletFranceXuxue Feng PROPOSAL
Kaitlin R FigeroaCanadaStephen Shaw PROPOSAL
Ashley M SergiJapanStephen Shaw NEW
Misaki I MacleadRussiaAnna Fali UNQUALIFIED
Mujtaba W CaudyUnited KingdomStephen Shaw NEW
Munro Q SergiAustraliaIoni Bowcher PROPOSAL
Costa U PoquetteJapanStephen Shaw NEGOTIATION
Mayumi R ShinkoRussiaIoni Bowcher PROPOSAL
Stacey E GlickItalyOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin B RimItaly2024-05-08Feiner Bros UNQUALIFIED74Anna Fali
1001Faith X InouyeSpain2024-04-29Chemel, James L Cpa RENEWAL24Anna Fali
1002Juan L CaudyGermany2024-05-03Chapman, Ross E Esq QUALIFIED15Elwin Sharvill
1003Francesco V BowleyItaly2024-05-11Chapman, Ross E Esq RENEWAL33Xuxue Feng
1004Octavia W MacleadIndia2024-04-27Morlong Associates NEGOTIATION84Ivan Magalhaes
1005David H FerenczRussia2024-05-10Commercial Press PROPOSAL35Asiya Javayant
1006David J AmigonItaly2024-05-14Rousseaux, Michael Esq RENEWAL74Asiya Javayant
1007Tony J DoeCanada2024-05-14Morlong Associates RENEWAL54Amy Elsner
1008Cody P GarufiBrazil2024-05-16Feiner Bros NEW97Asiya Javayant
1009Maria M AlbaresFrance2024-05-20Truhlar And Truhlar Attys RENEWAL1Bernardo Dominic
1010Salvatore Q NickaArgentina2024-04-25Benton, John B Jr NEGOTIATION51Ivan Magalhaes
1011Nicolas O DoeCanada2024-05-03Morlong Associates UNQUALIFIED17Bernardo Dominic
1012Kaitlin U WaycottCanada2024-04-28Chemel, James L Cpa RENEWAL14Xuxue Feng
1013Maria H OstroskyUnited Kingdom2024-05-06Commercial Press NEW31Amy Elsner
1014Salvatore W WaycottUnited Kingdom2024-04-29Benton, John B Jr RENEWAL74Onyama Limba
1015Jeanfrancois Y KolmetzCanada2024-04-27Chemel, James L Cpa PROPOSAL42Ioni Bowcher
1016Cody C GauchoFrance2024-04-30Chanay, Jeffrey A Esq UNQUALIFIED42Onyama Limba
1017Stacey Y KolmetzFrance2024-05-15Commercial Press NEGOTIATION95Asiya Javayant
1018David E GarufiRussia2024-05-17Chanay, Jeffrey A Esq NEGOTIATION5Onyama Limba
1019Juan V FigeroaFrance2024-05-12Rangoni Of Florence NEGOTIATION78Onyama Limba
1020Smith U RimBrazil2024-05-06Chemel, James L Cpa NEW77Asiya Javayant
1021Ricardo B ShinkoSpain2024-05-09Rousseaux, Michael Esq NEW76Asiya Javayant
1022Morrow U KuskoJapan2024-05-17Buckley Miller Wright NEGOTIATION38Xuxue Feng
1023Chavez I InouyeFrance2024-05-04Rousseaux, Michael Esq RENEWAL84Onyama Limba
1024Leon S FerenczJapan2024-04-25Chemel, James L Cpa NEGOTIATION86Anna Fali
1025Tony K ButtAustralia2024-04-24Chemel, James L Cpa QUALIFIED32Anna Fali
1026Munro E VocelkaAustralia2024-05-04Feltz Printing Service RENEWAL65Elwin Sharvill
1027Kadeem E TollnerJapan2024-05-14King, Christopher A Esq NEGOTIATION71Elwin Sharvill
1028Sinclair S PoquetteSpain2024-04-25Morlong Associates QUALIFIED48Ioni Bowcher
1029Leon G TollnerFrance2024-04-25Printing Dimensions UNQUALIFIED39Asiya Javayant
1030Francesco H IturbideSpain2024-05-05Buckley Miller Wright UNQUALIFIED33Ivan Magalhaes
1031Stacey B GillianRussia2024-05-10Morlong Associates UNQUALIFIED48Anna Fali
1032Misaki V WieserSpain2024-05-02Rangoni Of Florence QUALIFIED1Elwin Sharvill
1033Octavia N PoquetteSpain2024-05-18Commercial Press NEGOTIATION78Amy Elsner
1034Ricardo Q CaudyFrance2024-05-06Printing Dimensions QUALIFIED85Bernardo Dominic
1035Ashley X AmigonArgentina2024-05-12Chapman, Ross E Esq QUALIFIED88Anna Fali
1036Rodrigues M ShinkoUnited Kingdom2024-05-23Feltz Printing Service NEGOTIATION81Asiya Javayant
1037Adams Q TollnerFrance2024-05-05Rangoni Of Florence UNQUALIFIED37Elwin Sharvill
1038Leja J CaudyRussia2024-05-19Chanay, Jeffrey A Esq QUALIFIED70Onyama Limba
1039Leja X GillianCanada2024-04-26Truhlar And Truhlar Attys NEGOTIATION62Stephen Shaw
1040Rodrigues Z RulapaughAustralia2024-05-22Truhlar And Truhlar Attys RENEWAL3Bernardo Dominic
1041Izzy V RimIndia2024-05-04Morlong Associates UNQUALIFIED15Amy Elsner
1042Arvin A MaletBrazil2024-05-16Truhlar And Truhlar Attys PROPOSAL20Anna Fali
1043Johnson R RoysterGermany2024-05-08Feiner Bros NEGOTIATION44Stephen Shaw
1044Claire R WaycottIndia2024-05-05Chanay, Jeffrey A Esq RENEWAL10Amy Elsner
1045Smith L StockhamAustralia2024-04-24Chapman, Ross E Esq UNQUALIFIED34Stephen Shaw
1046Cody D WhobreyBrazil2024-05-05Buckley Miller Wright PROPOSAL56Amy Elsner
1047Maria C MarrierCanada2024-05-04Buckley Miller Wright PROPOSAL53Onyama Limba
1048Deepesh Z MaletItaly2024-04-24Truhlar And Truhlar Attys RENEWAL56Ioni Bowcher
1049Isabel T SergiGermany2024-05-09Commercial Press RENEWAL38Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Munro T DarakjyJapanElwin Sharvill RENEWAL
Izzy Z CaldareraItalyAnna Fali QUALIFIED
Aika W BologniaBrazilOnyama Limba RENEWAL
Clifford L ChuiBrazilOnyama Limba UNQUALIFIED
Julie Q FigeroaIndiaXuxue Feng NEGOTIATION
Leon I IturbideFranceBernardo Dominic NEW
Antonio N StockhamJapanXuxue Feng UNQUALIFIED
Jeanfrancois Z StensethAustraliaOnyama Limba QUALIFIED
Sinclair T NestleArgentinaIoni Bowcher UNQUALIFIED
Deepesh J OldroydArgentinaXuxue Feng NEGOTIATION
Aruna J BriddickUnited KingdomIoni Bowcher QUALIFIED
Ricardo M RulapaughFranceStephen Shaw QUALIFIED
Nicolas V GlickFranceIvan Magalhaes UNQUALIFIED
Nicolas V WieserArgentinaXuxue Feng NEGOTIATION
Izzy T NickaUnited KingdomIoni Bowcher UNQUALIFIED
Chavez I ChuiSpainStephen Shaw PROPOSAL
Ashley A RoysterSpainAsiya Javayant UNQUALIFIED
Jefferson O KuskoItalyAnna Fali NEGOTIATION
Morrow R MorascaFranceAsiya Javayant NEGOTIATION
Izzy P DarakjyBrazilElwin Sharvill PROPOSAL
Adams Y OstroskyUnited KingdomIvan Magalhaes PROPOSAL
Nicolas E MaletRussiaAnna Fali RENEWAL
Emily Q GarufiIndiaAnna Fali PROPOSAL
Arvin X WhobreyJapanBernardo Dominic QUALIFIED
Salvatore R DilliardFranceIoni Bowcher PROPOSAL
Emily J VenereCanadaElwin Sharvill NEGOTIATION
Mujtaba F WaycottItalyOnyama Limba RENEWAL
Claire I MacleadCanadaIvan Magalhaes RENEWAL
Greenwood N FlosiCanadaOnyama Limba UNQUALIFIED
Mujtaba N SaylorsBrazilAnna Fali UNQUALIFIED
David J DarakjyGermanyIoni Bowcher QUALIFIED
Octavia E SergiRussiaAmy Elsner NEW
Munro M StensethAustraliaIoni Bowcher QUALIFIED
Aditya V FollerArgentinaStephen Shaw UNQUALIFIED
Murillo X MacleadAustraliaElwin Sharvill NEGOTIATION
Antonio U ShinkoSpainOnyama Limba PROPOSAL
Julie X DarakjyJapanBernardo Dominic NEW
Misaki G DilliardGermanyBernardo Dominic NEW
Antonio V SaylorsUnited KingdomBernardo Dominic NEW
David P WieserIndiaXuxue Feng PROPOSAL
Aruna X SergiAustraliaAmy Elsner RENEWAL
Ricardo D CampainUnited KingdomAsiya Javayant UNQUALIFIED
Jeanfrancois T GauchoUnited KingdomAnna Fali RENEWAL
Ashley X PoquetteCanadaBernardo Dominic NEW
Costa Y NestleAustraliaIoni Bowcher NEGOTIATION
Mujtaba J DarakjyFranceStephen Shaw PROPOSAL
Izzy K WhobreyItalyAsiya Javayant QUALIFIED
Isabel D DilliardUnited KingdomXuxue Feng NEGOTIATION
James I FerenczCanadaAsiya Javayant RENEWAL
Greenwood Q IturbideGermanyIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Costa J Darakjy
Costa C Wieser
Clifford D Flosi
Aruna Z Caldarera
Francesco X Wieser
Deepesh O Vocelka
Ricardo F Shinko
Izzy X Sergi
Nicolas D Paprocki
Arvin Y Malet
Tony Z Royster
Misaki E Darakjy
Smith V Poquette
Aruna J Briddick
Munro X Ruta
Alejandro O Inouye
Johnson C Garufi
Emily U Bowley
Kadeem M Paprocki
Greenwood I Chui
Munro M Gaucho
Mayumi J Garufi
Morrow X Sergi
Murillo X Figeroa
Francesco H Gillian
Smith T Nestle
Francesco V Morasca
Nicolas D Ruta
Octavia P Gaucho
Nicolas C Bolognia
Octavia F Ostrosky
Rodrigues R Maclead
Costa K Nestle
Aruna T Stenseth
Claire T Slusarski
Johnson N Vocelka
Emily U Rulapaugh
Silvio O Whobrey
Clifford L Poquette
Maisha D Inouye
David U Sergi
Tony Y Garufi
Claire K Sergi
Tony Q Sergi
Leon E Darakjy
Aditya Y Campain
Jennifer O Kusko
Alejandro G Saylors
Maisha B Malet
Silvio T Venere
IdCountryDate
1000Brazil2024-05-19
1001United Kingdom2024-05-17
1002Brazil2024-05-18
1003Brazil2024-05-21
1004Russia2024-05-03
1005Russia2024-05-22
1006Australia2024-05-21
1007Japan2024-05-10
1008Argentina2024-05-11
1009Brazil2024-05-12
1010Germany2024-05-05
1011United Kingdom2024-05-07
1012Canada2024-05-02
1013Japan2024-05-22
1014India2024-04-26
1015Russia2024-04-27
1016Italy2024-05-12
1017Brazil2024-04-28
1018Spain2024-05-13
1019Canada2024-05-20
1020France2024-05-17
1021Argentina2024-05-18
1022Russia2024-05-13
1023Spain2024-04-28
1024India2024-05-06
1025Argentina2024-05-14
1026Germany2024-05-23
1027Germany2024-05-20
1028Japan2024-05-05
1029France2024-05-14
1030France2024-04-25
1031Spain2024-05-11
1032Italy2024-05-07
1033India2024-05-19
1034Russia2024-04-30
1035Australia2024-05-05
1036India2024-05-04
1037Argentina2024-05-14
1038Argentina2024-05-15
1039Italy2024-05-19
1040Japan2024-05-23
1041United Kingdom2024-05-02
1042Australia2024-05-22
1043Russia2024-05-15
1044United Kingdom2024-04-25
1045Spain2024-05-10
1046Australia2024-05-11
1047Australia2024-05-21
1048Russia2024-04-26
1049Italy2024-05-19

On-Demand Data

NameIdCountryDate
Chavez T Sergi1000Spain2024-05-16
Rodrigues Q Inouye1001Australia2024-05-12
Morrow A Glick1002Canada2024-05-16
Antonio F Kusko1003Italy2024-05-02
Alejandro M Morasca1004France2024-05-13
Greenwood J Stockham1005Brazil2024-05-01
Misaki I Albares1006Australia2024-05-14
Alejandro G Ostrosky1007France2024-05-16
Cody T Wieser1008Australia2024-04-26
Smith I Maclead1009Japan2024-04-24
Leja Q Whobrey1010Spain2024-05-04
Mujtaba F Caudy1011United Kingdom2024-05-03
Rodrigues J Amigon1012Japan2024-04-27
Izzy N Chui1013Canada2024-05-13
Leon G Caudy1014Italy2024-05-11
Ashley F Ruta1015Argentina2024-05-21
Cody G Glick1016Australia2024-05-22
Clifford I Kolmetz1017Spain2024-04-28
Mayumi P Butt1018Italy2024-05-19
Aruna K Foller1019Australia2024-04-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika L WhobreyGermanyOnyama Limba NEW
Nicolas E MaletJapanOnyama Limba PROPOSAL
Munro V BowleyJapanIvan Magalhaes NEGOTIATION
Johnson O NickaFranceXuxue Feng NEGOTIATION
Sinclair S WhobreyBrazilElwin Sharvill PROPOSAL
Francesco C WieserCanadaElwin Sharvill UNQUALIFIED
Morrow W CampainJapanIoni Bowcher NEW
Murillo B AlbaresIndiaStephen Shaw PROPOSAL
Costa N DarakjySpainAnna Fali PROPOSAL
Leja N KolmetzSpainOnyama Limba NEGOTIATION
Wickens O BowleyRussiaBernardo Dominic PROPOSAL
Claire H DoeGermanyAsiya Javayant PROPOSAL
Darci Q VenereIndiaElwin Sharvill RENEWAL
Jefferson W GillianCanadaIoni Bowcher NEGOTIATION
Leja Q FlosiSpainStephen Shaw NEGOTIATION
Antonio L RutaRussiaBernardo Dominic PROPOSAL
Wickens I MorascaItalyIvan Magalhaes UNQUALIFIED
Aditya W ChuiAustraliaXuxue Feng PROPOSAL
Costa C GlickBrazilIoni Bowcher RENEWAL
Salvatore H DilliardBrazilStephen Shaw NEW
Alejandro P AlbaresItalyOnyama Limba UNQUALIFIED
Octavia A NickaIndiaAnna Fali UNQUALIFIED
Deepesh K MaletGermanyAmy Elsner QUALIFIED
Aika U ShinkoRussiaIoni Bowcher QUALIFIED
Misaki X BriddickItalyStephen Shaw UNQUALIFIED
Smith K AmigonFranceAmy Elsner NEW
James T DoeRussiaIoni Bowcher RENEWAL
Mayumi C FigeroaArgentinaAnna Fali QUALIFIED
Maria Q MorascaRussiaElwin Sharvill QUALIFIED
Emily J OldroydCanadaAmy Elsner RENEWAL
Kadeem D TollnerJapanOnyama Limba NEGOTIATION
Kaitlin S FerenczIndiaStephen Shaw RENEWAL
Murillo W AlbaresItalyBernardo Dominic RENEWAL
Johnson W MacleadIndiaAsiya Javayant PROPOSAL
Cody C AmigonSpainBernardo Dominic NEW
Francesco W MorascaUnited KingdomXuxue Feng UNQUALIFIED
Kadeem O RutaRussiaIoni Bowcher UNQUALIFIED
Isabel J AmigonAustraliaIoni Bowcher UNQUALIFIED
Tony U RoysterCanadaOnyama Limba UNQUALIFIED
Julie L DoeIndiaBernardo Dominic 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>