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
Faith U FlosiGermanyAmy Elsner RENEWAL
Cody G MaletIndiaIvan Magalhaes NEW
Antonio C RulapaughIndiaElwin Sharvill RENEWAL
Jones C DarakjyArgentinaIoni Bowcher RENEWAL
Salvatore J RimFranceIoni Bowcher QUALIFIED
Izzy M CampainRussiaIoni Bowcher NEGOTIATION
Ivar N FlosiGermanyOnyama Limba PROPOSAL
Antonio W InouyeRussiaAnna Fali UNQUALIFIED
Chavez O RimItalyIoni Bowcher RENEWAL
Aika S IturbideRussiaOnyama Limba NEGOTIATION
Clifford R ChuiGermanyIvan Magalhaes RENEWAL
Maria Z FigeroaIndiaAsiya Javayant QUALIFIED
Stacey V KuskoJapanIvan Magalhaes NEGOTIATION
Octavia U RoysterAustraliaXuxue Feng QUALIFIED
Smith T NestleGermanyStephen Shaw QUALIFIED
Johnson N StockhamGermanyAsiya Javayant NEGOTIATION
Salvatore V WieserCanadaBernardo Dominic NEW
Antonio P AlbaresUnited KingdomAsiya Javayant NEGOTIATION
Jennifer D GlickBrazilIoni Bowcher UNQUALIFIED
Tony Z AlbaresUnited KingdomStephen Shaw RENEWAL
Julie G VenereCanadaAnna Fali UNQUALIFIED
Clifford Y WaycottJapanIoni Bowcher PROPOSAL
Cody T MaletRussiaAnna Fali UNQUALIFIED
Tony G SaylorsIndiaAnna Fali NEW
Wickens H WaycottRussiaIoni Bowcher NEGOTIATION
Juan A FerenczFranceElwin Sharvill RENEWAL
Faith M TollnerAustraliaBernardo Dominic NEGOTIATION
Smith G StensethItalyIoni Bowcher QUALIFIED
Ashley W InouyeArgentinaAsiya Javayant NEW
Ricardo Q PoquetteUnited KingdomAnna Fali NEGOTIATION
Izzy C VocelkaItalyAmy Elsner RENEWAL
Chavez N RutaAustraliaAnna Fali QUALIFIED
Rodrigues M IturbideUnited KingdomXuxue Feng NEW
Costa C RulapaughAustraliaElwin Sharvill RENEWAL
Jefferson K KolmetzFranceAsiya Javayant NEGOTIATION
Aruna N GlickCanadaIoni Bowcher NEW
Kaitlin N RimFranceAmy Elsner NEW
Izzy D StockhamBrazilAsiya Javayant NEW
Sinclair E CaldareraCanadaAsiya Javayant PROPOSAL
Wickens B IturbideRussiaElwin Sharvill NEGOTIATION
Jeanfrancois A GlickBrazilXuxue Feng NEGOTIATION
Kadeem P MaletFranceOnyama Limba PROPOSAL
Darci I FollerGermanyAmy Elsner QUALIFIED
Chavez I StensethCanadaElwin Sharvill NEW
Claire F KolmetzFranceStephen Shaw UNQUALIFIED
Wickens B MaletGermanyOnyama Limba QUALIFIED
Aika A KuskoSpainElwin Sharvill PROPOSAL
Murillo A SlusarskiIndiaXuxue Feng NEGOTIATION
Ivar V ChuiRussiaElwin Sharvill NEGOTIATION
Sinclair F NestleAustraliaAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Rodrigues C MaletRussiaStephen Shaw RENEWAL
Cody P FigeroaSpainIvan Magalhaes NEGOTIATION
Ricardo O PerinBrazilElwin Sharvill NEGOTIATION
Ricardo E SergiJapanElwin Sharvill RENEWAL
Sinclair C BowleyFranceAsiya Javayant NEGOTIATION
Faith G RimArgentinaAmy Elsner NEGOTIATION
Ivar V FerenczBrazilBernardo Dominic PROPOSAL
Francesco E CaudyRussiaAnna Fali QUALIFIED
Arvin H RutaSpainAsiya Javayant PROPOSAL
Arvin O ButtSpainAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams L StensethGermany2024-06-22Rousseaux, Michael Esq QUALIFIED2Amy Elsner
1001Jones X PerinCanada2024-06-12Chanay, Jeffrey A Esq NEGOTIATION18Ivan Magalhaes
1002Ivar G SaylorsFrance2024-06-03Chemel, James L Cpa PROPOSAL10Amy Elsner
1003Aditya A VocelkaIndia2024-05-26Benton, John B Jr RENEWAL95Stephen Shaw
1004Johnson J FollerCanada2024-05-30Benton, John B Jr RENEWAL27Ivan Magalhaes
1005Rodrigues U MorascaCanada2024-06-09Buckley Miller Wright RENEWAL42Ioni Bowcher
1006Jennifer A RutaUnited Kingdom2024-06-06Chanay, Jeffrey A Esq QUALIFIED30Anna Fali
1007Alejandro Z MacleadRussia2024-06-22Chemel, James L Cpa UNQUALIFIED40Onyama Limba
1008David R MaletBrazil2024-06-21Chapman, Ross E Esq NEW1Stephen Shaw
1009Kaitlin W MorascaCanada2024-06-18Morlong Associates PROPOSAL52Anna Fali
1010Julie V VenereCanada2024-06-24Printing Dimensions UNQUALIFIED38Xuxue Feng
1011Maria J RulapaughBrazil2024-06-16Chemel, James L Cpa NEGOTIATION6Ivan Magalhaes
1012Ivar F RimAustralia2024-06-01Rangoni Of Florence NEGOTIATION2Bernardo Dominic
1013Misaki H WaycottFrance2024-05-27Chanay, Jeffrey A Esq PROPOSAL2Ivan Magalhaes
1014Maisha F VocelkaArgentina2024-05-27Feiner Bros NEGOTIATION57Bernardo Dominic
1015Ivar E SergiIndia2024-06-13King, Christopher A Esq QUALIFIED64Ivan Magalhaes
1016Jeanfrancois W PaprockiGermany2024-06-01Chapman, Ross E Esq RENEWAL12Ioni Bowcher
1017Izzy A DoeIndia2024-05-31Feltz Printing Service NEGOTIATION92Stephen Shaw
1018Leon U PerinSpain2024-06-10Dorl, James J Esq NEW97Anna Fali
1019Misaki S AlbaresJapan2024-06-15Buckley Miller Wright NEW89Ioni Bowcher
1020Maria X MarrierFrance2024-06-21Dorl, James J Esq UNQUALIFIED95Ioni Bowcher
1021Aika O DarakjyRussia2024-06-11Truhlar And Truhlar Attys UNQUALIFIED17Stephen Shaw
1022James F ButtGermany2024-06-05Commercial Press QUALIFIED81Stephen Shaw
1023Costa B OstroskyRussia2024-06-13Morlong Associates NEGOTIATION31Amy Elsner
1024Tony Q BologniaArgentina2024-05-29Buckley Miller Wright NEW88Ivan Magalhaes
1025Alejandro A DarakjySpain2024-06-22Dorl, James J Esq NEGOTIATION81Onyama Limba
1026Darci H GauchoBrazil2024-06-24Rousseaux, Michael Esq NEW55Xuxue Feng
1027Kaitlin B OldroydUnited Kingdom2024-06-21Buckley Miller Wright UNQUALIFIED85Ioni Bowcher
1028Alejandro M FlosiGermany2024-06-02Truhlar And Truhlar Attys UNQUALIFIED65Amy Elsner
1029Cody X BowleyGermany2024-06-12Chemel, James L Cpa NEW94Asiya Javayant
1030Greenwood M BologniaSpain2024-06-20Buckley Miller Wright PROPOSAL69Xuxue Feng
1031Leja G KuskoFrance2024-05-28Truhlar And Truhlar Attys NEW78Xuxue Feng
1032Stacey Q RimItaly2024-06-11Feltz Printing Service UNQUALIFIED3Amy Elsner
1033Adams K RutaRussia2024-06-02Chapman, Ross E Esq NEW3Xuxue Feng
1034Ricardo L CaudyFrance2024-06-01Buckley Miller Wright NEGOTIATION76Elwin Sharvill
1035Rodrigues N GlickGermany2024-06-11Chanay, Jeffrey A Esq NEGOTIATION20Stephen Shaw
1036Chavez Y WieserUnited Kingdom2024-06-12Truhlar And Truhlar Attys QUALIFIED42Anna Fali
1037Misaki H OldroydArgentina2024-06-24Printing Dimensions PROPOSAL93Asiya Javayant
1038Maria L FollerBrazil2024-06-12Dorl, James J Esq NEW18Ivan Magalhaes
1039Kadeem E NestleBrazil2024-05-29Feiner Bros NEW27Bernardo Dominic
1040Isabel O VocelkaRussia2024-05-27Rangoni Of Florence NEW92Stephen Shaw
1041Costa E WieserCanada2024-06-03Buckley Miller Wright QUALIFIED76Ivan Magalhaes
1042Mayumi E MacleadSpain2024-06-23Dorl, James J Esq NEGOTIATION8Bernardo Dominic
1043Ricardo D FollerSpain2024-06-15Benton, John B Jr UNQUALIFIED87Xuxue Feng
1044Smith M MorascaItaly2024-06-24Rangoni Of Florence UNQUALIFIED50Onyama Limba
1045Aruna H PerinGermany2024-06-11Dorl, James J Esq NEW29Ioni Bowcher
1046Faith T NickaJapan2024-06-05Rousseaux, Michael Esq RENEWAL65Asiya Javayant
1047James I StockhamUnited Kingdom2024-06-16Rousseaux, Michael Esq RENEWAL99Elwin Sharvill
1048Deepesh Q VocelkaItaly2024-06-13Chapman, Ross E Esq NEW72Elwin Sharvill
1049Murillo O SergiArgentina2024-05-31Printing Dimensions RENEWAL13Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Murillo X GarufiSpainIoni Bowcher NEGOTIATION
Jeanfrancois M AlbaresJapanOnyama Limba UNQUALIFIED
Johnson X BologniaJapanIoni Bowcher UNQUALIFIED
Smith Y FigeroaFranceIvan Magalhaes PROPOSAL
Jennifer C FlosiIndiaIoni Bowcher QUALIFIED
Aika Y DarakjyArgentinaIvan Magalhaes PROPOSAL
David E InouyeIndiaIoni Bowcher NEGOTIATION
Leon B WieserArgentinaBernardo Dominic NEGOTIATION
Alejandro H RutaGermanyBernardo Dominic NEW
Maisha X FlosiAustraliaIoni Bowcher QUALIFIED
Morrow X MorascaBrazilAsiya Javayant NEGOTIATION
Johnson A GlickAustraliaBernardo Dominic PROPOSAL
Maria U OldroydJapanAmy Elsner NEW
Faith N CaudyIndiaStephen Shaw QUALIFIED
Faith W BowleyBrazilAnna Fali PROPOSAL
Nicolas D PoquetteRussiaIvan Magalhaes RENEWAL
Aika L MarrierFranceOnyama Limba PROPOSAL
Mujtaba X RoysterIndiaIoni Bowcher UNQUALIFIED
Jennifer Y WaycottItalyElwin Sharvill NEW
Octavia S GlickItalyBernardo Dominic NEW
Alejandro O SlusarskiCanadaAnna Fali UNQUALIFIED
Francesco W GillianUnited KingdomAsiya Javayant QUALIFIED
Kadeem T NestleArgentinaElwin Sharvill UNQUALIFIED
Jennifer C OstroskyBrazilElwin Sharvill RENEWAL
Faith E ChuiArgentinaAmy Elsner NEGOTIATION
Costa Z SchemmerCanadaIvan Magalhaes RENEWAL
Jennifer N ButtSpainAnna Fali PROPOSAL
Leja M ShinkoBrazilAsiya Javayant NEGOTIATION
Kadeem Z IturbideRussiaStephen Shaw RENEWAL
Julie K OstroskyJapanAmy Elsner PROPOSAL
Jones J MorascaFranceAnna Fali QUALIFIED
Nicolas P CaldareraBrazilXuxue Feng NEW
Clifford Y OldroydItalyElwin Sharvill PROPOSAL
Emily A PerinUnited KingdomIoni Bowcher UNQUALIFIED
Octavia D MaletUnited KingdomIvan Magalhaes UNQUALIFIED
Stacey G StensethRussiaAmy Elsner NEGOTIATION
Alejandro J NestleGermanyAnna Fali NEGOTIATION
Emily H DarakjyArgentinaXuxue Feng UNQUALIFIED
Johnson R RimGermanyAsiya Javayant PROPOSAL
Salvatore M FlosiArgentinaAsiya Javayant RENEWAL
Jones F RimArgentinaBernardo Dominic UNQUALIFIED
Tony O BriddickBrazilStephen Shaw PROPOSAL
Stacey S ShinkoGermanyOnyama Limba UNQUALIFIED
James G KuskoRussiaAsiya Javayant RENEWAL
Nicolas R RimAustraliaOnyama Limba QUALIFIED
Clifford C WhobreyArgentinaOnyama Limba RENEWAL
Smith L ChuiFranceIvan Magalhaes NEGOTIATION
Wickens B FerenczGermanyAnna Fali QUALIFIED
Emily N DilliardFranceXuxue Feng UNQUALIFIED
Emily R GillianFranceStephen Shaw NEW
Frozen Columns
Name
Greenwood Y Wieser
Jennifer Z Tollner
Jefferson N Vocelka
Isabel A Vocelka
Wickens L Foller
Chavez K Nicka
Murillo V Ferencz
Costa T Wieser
Claire P Caldarera
James A Flosi
Claire J Stenseth
Mayumi V Gillian
Julie D Caldarera
Kadeem Z Stenseth
Mayumi Z Ferencz
Aruna A Rim
Juan L Morasca
Clifford R Poquette
Aruna K Paprocki
Ashley B Ruta
Smith X Figeroa
Francesco X Figeroa
Murillo Z Stenseth
Murillo T Maclead
Isabel P Darakjy
Francesco U Inouye
Stacey L Sergi
Jefferson Q Iturbide
Murillo M Tollner
Darci U Schemmer
Chavez I Maclead
Maisha M Stockham
Ashley B Ostrosky
Kaitlin H Iturbide
Leja C Venere
Nicolas O Bolognia
Jones T Malet
Deepesh T Figeroa
Costa B Caldarera
Murillo V Oldroyd
Aika X Morasca
Kaitlin Z Malet
Kaitlin C Campain
Emily T Kolmetz
Octavia V Morasca
Murillo Y Marrier
Cody R Morasca
Jennifer R Saylors
Kadeem J Gillian
Jones L Glick
IdCountryDate
1000Canada2024-05-31
1001Russia2024-06-07
1002Argentina2024-06-20
1003Brazil2024-05-27
1004Canada2024-06-15
1005France2024-05-28
1006Italy2024-06-16
1007Japan2024-05-30
1008France2024-06-20
1009Germany2024-06-11
1010India2024-06-15
1011Germany2024-06-16
1012Canada2024-06-17
1013Argentina2024-05-31
1014Spain2024-06-10
1015India2024-06-18
1016Brazil2024-06-03
1017India2024-06-24
1018Australia2024-06-06
1019Spain2024-06-03
1020Australia2024-06-03
1021Russia2024-06-17
1022Argentina2024-05-28
1023Italy2024-06-03
1024Russia2024-06-22
1025Germany2024-06-05
1026Australia2024-06-06
1027Italy2024-06-12
1028Brazil2024-06-07
1029Australia2024-06-10
1030Spain2024-06-07
1031Brazil2024-06-06
1032France2024-06-16
1033Australia2024-06-12
1034France2024-05-29
1035Argentina2024-06-05
1036Argentina2024-06-01
1037Germany2024-05-29
1038Japan2024-06-06
1039Brazil2024-05-27
1040India2024-06-06
1041United Kingdom2024-06-01
1042Russia2024-06-11
1043Russia2024-06-17
1044United Kingdom2024-05-30
1045Australia2024-06-16
1046France2024-06-05
1047India2024-06-11
1048India2024-06-03
1049Russia2024-06-24

On-Demand Data

NameIdCountryDate
Nicolas Y Schemmer1000Brazil2024-06-13
Smith J Nestle1001Argentina2024-06-16
Aditya Z Paprocki1002France2024-06-04
Claire S Sergi1003Canada2024-06-21
Emily B Bowley1004Japan2024-06-06
Greenwood D Kusko1005Brazil2024-05-27
Aika V Marrier1006Japan2024-06-16
James F Iturbide1007France2024-06-03
Claire B Iturbide1008United Kingdom2024-06-20
Ricardo T Garufi1009Spain2024-06-10
Octavia J Oldroyd1010France2024-06-01
Murillo X Glick1011Japan2024-06-08
Wickens O Chui1012Canada2024-06-18
Wickens V Ferencz1013Argentina2024-06-11
Kaitlin A Wieser1014India2024-06-03
Deepesh Y Ruta1015India2024-05-31
Tony F Maclead1016Canada2024-06-05
Aruna O Foller1017Japan2024-06-18
Mujtaba M Foller1018Brazil2024-06-12
Ricardo X Nestle1019United Kingdom2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem F BowleyArgentinaElwin Sharvill RENEWAL
Juan U DarakjyBrazilElwin Sharvill RENEWAL
Nicolas Z SaylorsJapanAsiya Javayant NEGOTIATION
Ivar I RoysterGermanyXuxue Feng UNQUALIFIED
Stacey Q StensethAustraliaAmy Elsner NEW
David Z TollnerGermanyIoni Bowcher RENEWAL
Wickens G PerinSpainIoni Bowcher PROPOSAL
James Z SergiJapanBernardo Dominic UNQUALIFIED
Mayumi K FerenczArgentinaBernardo Dominic RENEWAL
Wickens L KuskoGermanyOnyama Limba NEGOTIATION
David E OldroydArgentinaStephen Shaw NEGOTIATION
Sinclair J RulapaughIndiaBernardo Dominic QUALIFIED
Octavia Q DilliardJapanOnyama Limba UNQUALIFIED
Leja G ChuiFranceStephen Shaw NEGOTIATION
Ricardo E MacleadUnited KingdomXuxue Feng NEW
Mayumi Q GarufiUnited KingdomBernardo Dominic QUALIFIED
Mayumi L GillianCanadaAnna Fali QUALIFIED
Juan M GlickRussiaAsiya Javayant PROPOSAL
Octavia F MaletArgentinaXuxue Feng NEGOTIATION
Mujtaba B PaprockiUnited KingdomIoni Bowcher PROPOSAL
Sinclair P BriddickSpainElwin Sharvill NEGOTIATION
Morrow E ShinkoCanadaAsiya Javayant RENEWAL
Clifford H TollnerSpainIvan Magalhaes UNQUALIFIED
Munro C MaletIndiaAsiya Javayant UNQUALIFIED
Faith P VocelkaBrazilBernardo Dominic PROPOSAL
Ivar L FollerAustraliaAsiya Javayant PROPOSAL
Wickens M VocelkaCanadaElwin Sharvill UNQUALIFIED
Clifford P PaprockiJapanAsiya Javayant UNQUALIFIED
Murillo F FollerSpainAsiya Javayant PROPOSAL
Maria Q PaprockiGermanyXuxue Feng RENEWAL
Faith Q CaudyArgentinaElwin Sharvill NEGOTIATION
Jones A KuskoCanadaStephen Shaw NEGOTIATION
Alejandro E MarrierArgentinaStephen Shaw NEGOTIATION
James E BowleyGermanyIoni Bowcher NEW
Juan S CaudyBrazilIoni Bowcher NEGOTIATION
Aditya C GlickAustraliaIvan Magalhaes PROPOSAL
Ricardo P RulapaughFranceIvan Magalhaes UNQUALIFIED
Ivar E FerenczArgentinaAsiya Javayant NEW
Cody W NickaBrazilAsiya Javayant NEGOTIATION
Greenwood R PerinCanadaIvan Magalhaes NEGOTIATION

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