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
Alejandro F FollerRussiaOnyama Limba NEW
Sinclair R CampainCanadaAsiya Javayant UNQUALIFIED
Octavia D KuskoUnited KingdomIvan Magalhaes PROPOSAL
Deepesh T GlickIndiaAnna Fali QUALIFIED
Sinclair Z GlickBrazilAnna Fali NEGOTIATION
Greenwood P DarakjyBrazilAnna Fali NEGOTIATION
Johnson T FollerRussiaElwin Sharvill PROPOSAL
David N RoysterAustraliaStephen Shaw RENEWAL
Leja I NickaAustraliaXuxue Feng NEW
Silvio V BowleyFranceStephen Shaw NEGOTIATION
Jones Q AlbaresUnited KingdomAsiya Javayant QUALIFIED
Munro E SchemmerCanadaOnyama Limba PROPOSAL
Jefferson A RulapaughItalyElwin Sharvill PROPOSAL
Claire R WaycottFranceAsiya Javayant QUALIFIED
Clifford E FlosiJapanAmy Elsner NEGOTIATION
Maria Q OstroskyUnited KingdomAmy Elsner UNQUALIFIED
Tony H RimSpainOnyama Limba PROPOSAL
Aruna U MaletJapanOnyama Limba PROPOSAL
Munro T StensethSpainAmy Elsner NEGOTIATION
Aika O WhobreyJapanOnyama Limba UNQUALIFIED
Wickens F FerenczAustraliaIvan Magalhaes UNQUALIFIED
Juan V InouyeArgentinaAsiya Javayant RENEWAL
Maisha R IturbideFranceXuxue Feng NEGOTIATION
Julie Z MaletArgentinaElwin Sharvill NEW
Mujtaba G StockhamAustraliaAnna Fali QUALIFIED
Kaitlin M StensethFranceAmy Elsner NEGOTIATION
Juan R IturbideBrazilStephen Shaw RENEWAL
Chavez Z SchemmerRussiaIoni Bowcher QUALIFIED
Morrow X GauchoJapanElwin Sharvill NEGOTIATION
Adams Z DilliardRussiaAnna Fali PROPOSAL
Octavia I TollnerIndiaStephen Shaw NEW
Clifford X DarakjyBrazilAnna Fali QUALIFIED
Ashley Z FerenczItalyAmy Elsner QUALIFIED
Isabel U OldroydUnited KingdomAmy Elsner NEGOTIATION
Murillo A SchemmerItalyAsiya Javayant NEGOTIATION
Wickens A GauchoRussiaAsiya Javayant NEW
Ivar F VenereAustraliaIoni Bowcher UNQUALIFIED
Mayumi R OstroskyCanadaAsiya Javayant NEGOTIATION
Aditya V DarakjyItalyIoni Bowcher RENEWAL
James B RutaGermanyXuxue Feng NEGOTIATION
Aika U CaldareraArgentinaAnna Fali QUALIFIED
Murillo S OldroydArgentinaXuxue Feng NEW
Rodrigues I InouyeRussiaAmy Elsner PROPOSAL
Antonio O InouyeBrazilAnna Fali PROPOSAL
Leon S DilliardJapanElwin Sharvill RENEWAL
Mayumi I CaudyIndiaStephen Shaw NEW
Aditya J GlickSpainAsiya Javayant NEGOTIATION
Jennifer I PaprockiItalyOnyama Limba RENEWAL
Deepesh R MaletUnited KingdomAsiya Javayant RENEWAL
Misaki I RoysterAustraliaStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Izzy S MaletItalyAmy Elsner NEGOTIATION
Isabel G FigeroaBrazilElwin Sharvill QUALIFIED
Claire N CaudyCanadaAmy Elsner PROPOSAL
Ricardo O GauchoCanadaOnyama Limba UNQUALIFIED
Greenwood H OstroskyItalyAmy Elsner RENEWAL
Chavez A WhobreyAustraliaStephen Shaw NEW
Antonio P FerenczBrazilIvan Magalhaes QUALIFIED
Leon F AmigonUnited KingdomBernardo Dominic PROPOSAL
Salvatore V VocelkaUnited KingdomElwin Sharvill NEGOTIATION
Greenwood K BowleyRussiaAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith E MarrierUnited Kingdom2024-06-11Feiner Bros RENEWAL71Elwin Sharvill
1001Ashley D WieserAustralia2024-06-07Commercial Press RENEWAL23Amy Elsner
1002Costa P SergiArgentina2024-06-14Chanay, Jeffrey A Esq UNQUALIFIED67Bernardo Dominic
1003Murillo T OstroskyJapan2024-06-03Chanay, Jeffrey A Esq PROPOSAL48Xuxue Feng
1004Sinclair S MacleadAustralia2024-06-07Printing Dimensions NEW50Xuxue Feng
1005Darci I RimIndia2024-05-31Rousseaux, Michael Esq PROPOSAL11Elwin Sharvill
1006Johnson H GauchoRussia2024-06-10Chanay, Jeffrey A Esq NEW32Bernardo Dominic
1007Julie D WaycottCanada2024-06-11Feltz Printing Service NEW24Amy Elsner
1008Izzy H PoquetteAustralia2024-06-01Chemel, James L Cpa NEW18Onyama Limba
1009Mayumi W SchemmerIndia2024-06-19Morlong Associates UNQUALIFIED52Asiya Javayant
1010Morrow P InouyeRussia2024-06-18Chapman, Ross E Esq QUALIFIED24Xuxue Feng
1011Jones Z InouyeRussia2024-06-23Chemel, James L Cpa NEGOTIATION57Ivan Magalhaes
1012Alejandro Z KuskoBrazil2024-06-21Commercial Press UNQUALIFIED59Stephen Shaw
1013Johnson N MorascaGermany2024-06-13Chapman, Ross E Esq PROPOSAL34Ioni Bowcher
1014Mayumi P PerinIndia2024-05-28Buckley Miller Wright NEGOTIATION57Asiya Javayant
1015Nicolas M PoquetteJapan2024-06-17Commercial Press NEW20Onyama Limba
1016Francesco F DilliardSpain2024-06-07Feiner Bros PROPOSAL11Bernardo Dominic
1017Murillo W MacleadBrazil2024-06-06Rangoni Of Florence RENEWAL22Anna Fali
1018Jefferson D SergiGermany2024-06-18Dorl, James J Esq NEGOTIATION83Onyama Limba
1019Adams C AmigonUnited Kingdom2024-05-25Chemel, James L Cpa RENEWAL19Stephen Shaw
1020Jones E NickaSpain2024-06-05Commercial Press UNQUALIFIED93Stephen Shaw
1021Silvio J SergiItaly2024-05-30Rousseaux, Michael Esq NEGOTIATION71Bernardo Dominic
1022Greenwood P MorascaItaly2024-06-19Truhlar And Truhlar Attys NEW15Ivan Magalhaes
1023Aruna J SaylorsAustralia2024-06-07Rangoni Of Florence NEW45Ioni Bowcher
1024Maisha N CaldareraUnited Kingdom2024-05-29Commercial Press NEGOTIATION42Stephen Shaw
1025Smith Y ShinkoSpain2024-06-20King, Christopher A Esq QUALIFIED16Asiya Javayant
1026Jennifer O SergiIndia2024-05-30Buckley Miller Wright NEGOTIATION56Elwin Sharvill
1027David V MacleadArgentina2024-06-05Truhlar And Truhlar Attys NEGOTIATION22Anna Fali
1028Leon Y GillianJapan2024-06-16Chanay, Jeffrey A Esq NEW23Asiya Javayant
1029Wickens F SergiJapan2024-06-21Morlong Associates PROPOSAL81Ivan Magalhaes
1030Francesco P AmigonSpain2024-06-13Chanay, Jeffrey A Esq NEW77Ivan Magalhaes
1031Sinclair O KuskoBrazil2024-06-14Printing Dimensions UNQUALIFIED74Ivan Magalhaes
1032Maisha X ShinkoAustralia2024-06-05King, Christopher A Esq NEW77Elwin Sharvill
1033Jones C DarakjyRussia2024-05-28Buckley Miller Wright PROPOSAL22Amy Elsner
1034Deepesh R StockhamIndia2024-05-29Printing Dimensions RENEWAL32Ivan Magalhaes
1035Maisha K GauchoAustralia2024-06-03Commercial Press RENEWAL9Ivan Magalhaes
1036Adams W VocelkaIndia2024-06-07Morlong Associates QUALIFIED90Xuxue Feng
1037Alejandro E DoeItaly2024-06-09Dorl, James J Esq NEGOTIATION13Stephen Shaw
1038Morrow Z MaletIndia2024-06-05Rangoni Of Florence PROPOSAL67Anna Fali
1039Morrow E BologniaUnited Kingdom2024-06-04Printing Dimensions UNQUALIFIED53Asiya Javayant
1040Smith O DarakjyItaly2024-05-27Rangoni Of Florence NEGOTIATION2Bernardo Dominic
1041Isabel Y CaudyBrazil2024-06-22Truhlar And Truhlar Attys UNQUALIFIED11Xuxue Feng
1042Antonio Z DilliardGermany2024-06-06Rangoni Of Florence NEW80Ivan Magalhaes
1043Chavez D VenereFrance2024-06-02Truhlar And Truhlar Attys QUALIFIED55Anna Fali
1044Munro Z WhobreyBrazil2024-06-23Truhlar And Truhlar Attys NEGOTIATION69Ioni Bowcher
1045Julie N DarakjyBrazil2024-06-11Rangoni Of Florence NEGOTIATION45Anna Fali
1046Jefferson K OldroydSpain2024-06-18Commercial Press NEGOTIATION75Xuxue Feng
1047Octavia W GlickArgentina2024-05-27Morlong Associates NEW91Onyama Limba
1048Adams H CampainUnited Kingdom2024-05-28Printing Dimensions RENEWAL62Bernardo Dominic
1049Smith Z GillianJapan2024-05-25Morlong Associates QUALIFIED7Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues O CaudyItalyOnyama Limba NEW
Aruna N DoeFranceBernardo Dominic UNQUALIFIED
Sinclair Z IturbideBrazilXuxue Feng QUALIFIED
Stacey B StensethAustraliaOnyama Limba QUALIFIED
Aika M PerinCanadaIoni Bowcher RENEWAL
Morrow Q MorascaAustraliaAsiya Javayant NEW
Rodrigues Q TollnerArgentinaAnna Fali QUALIFIED
Jones D ButtSpainIoni Bowcher QUALIFIED
Darci H IturbideFranceAmy Elsner RENEWAL
Smith L GillianGermanyElwin Sharvill NEGOTIATION
Kaitlin Y FollerRussiaElwin Sharvill NEW
Chavez N WhobreyArgentinaAmy Elsner QUALIFIED
Arvin P VenereIndiaIoni Bowcher QUALIFIED
Salvatore K SlusarskiGermanyAsiya Javayant NEGOTIATION
Adams V VenereCanadaAnna Fali QUALIFIED
Leon I StensethUnited KingdomAnna Fali RENEWAL
Adams N FollerGermanyIvan Magalhaes NEW
Costa G MorascaCanadaBernardo Dominic NEW
Clifford J StockhamAustraliaIvan Magalhaes PROPOSAL
Leon J PaprockiCanadaBernardo Dominic QUALIFIED
Aditya U GlickBrazilIoni Bowcher RENEWAL
Morrow R IturbideGermanyAsiya Javayant NEW
Silvio H StensethArgentinaIoni Bowcher QUALIFIED
Faith X IturbideFranceElwin Sharvill PROPOSAL
Isabel V MaletItalyElwin Sharvill UNQUALIFIED
Francesco Z PoquetteJapanStephen Shaw NEGOTIATION
Juan J AmigonBrazilAsiya Javayant UNQUALIFIED
Jennifer I ButtCanadaIvan Magalhaes PROPOSAL
Murillo M ButtJapanOnyama Limba UNQUALIFIED
Claire Y CampainSpainIoni Bowcher RENEWAL
Greenwood W BologniaItalyElwin Sharvill QUALIFIED
Jefferson Z VenereRussiaXuxue Feng QUALIFIED
Aika K PerinRussiaBernardo Dominic NEW
Greenwood V SchemmerIndiaIoni Bowcher NEW
James E NestleGermanyElwin Sharvill PROPOSAL
Darci E GlickArgentinaIvan Magalhaes RENEWAL
Chavez Y TollnerGermanyAnna Fali RENEWAL
Johnson G KolmetzUnited KingdomBernardo Dominic NEGOTIATION
Stacey P FerenczCanadaAmy Elsner UNQUALIFIED
Salvatore H ButtGermanyBernardo Dominic PROPOSAL
James Q SchemmerAustraliaAsiya Javayant QUALIFIED
Johnson F PerinFranceOnyama Limba UNQUALIFIED
Arvin V ChuiAustraliaOnyama Limba NEGOTIATION
Chavez V NickaSpainIvan Magalhaes PROPOSAL
Rodrigues H WaycottUnited KingdomXuxue Feng NEW
Alejandro G IturbideBrazilElwin Sharvill NEW
Arvin C DarakjyAustraliaXuxue Feng PROPOSAL
Kadeem C OldroydJapanAnna Fali UNQUALIFIED
Clifford I SchemmerUnited KingdomIoni Bowcher QUALIFIED
Leon Q DarakjyGermanyXuxue Feng PROPOSAL
Frozen Columns
Name
Jones S Figeroa
Izzy O Bowley
Munro M Amigon
Mujtaba N Schemmer
Murillo F Foller
Aditya M Marrier
Faith Q Rim
Kaitlin G Royster
Maisha H Waycott
David E Inouye
Clifford E Rulapaugh
Stacey V Stockham
Munro T Wieser
David H Venere
Ivar Y Waycott
Maisha D Paprocki
Kadeem A Shinko
Ricardo K Ruta
Julie L Glick
Aditya J Caldarera
Adams G Bowley
Alejandro Y Butt
Mujtaba S Caudy
Octavia F Dilliard
Chavez H Malet
Costa U Garufi
Munro N Shinko
Kadeem I Flosi
Murillo N Rulapaugh
Isabel R Malet
Silvio P Saylors
Stacey L Wieser
Chavez Y Inouye
Ivar D Perin
Tony V Gaucho
Ashley I Stockham
Murillo R Bowley
Morrow A Caudy
Costa X Rulapaugh
Jeanfrancois B Venere
Aditya G Slusarski
Julie C Foller
Wickens V Marrier
Murillo E Rim
Leon D Darakjy
Leja M Waycott
Leon Z Ostrosky
Mayumi X Paprocki
Antonio N Campain
Rodrigues J Gaucho
IdCountryDate
1000Argentina2024-06-08
1001Brazil2024-05-27
1002Spain2024-06-01
1003Spain2024-06-22
1004India2024-06-15
1005Russia2024-05-31
1006France2024-05-25
1007Italy2024-06-20
1008France2024-05-29
1009Argentina2024-06-16
1010United Kingdom2024-06-02
1011Italy2024-06-13
1012Spain2024-06-20
1013Australia2024-06-06
1014Spain2024-06-10
1015Brazil2024-06-20
1016Brazil2024-05-27
1017Germany2024-06-16
1018Brazil2024-06-06
1019Australia2024-06-11
1020Japan2024-06-13
1021Germany2024-06-07
1022India2024-06-14
1023Canada2024-06-19
1024Brazil2024-06-05
1025India2024-06-16
1026Brazil2024-06-02
1027France2024-06-12
1028Spain2024-06-05
1029Argentina2024-06-15
1030Italy2024-05-27
1031Germany2024-06-16
1032United Kingdom2024-05-25
1033Germany2024-06-12
1034Argentina2024-06-12
1035Brazil2024-05-30
1036Russia2024-06-10
1037Brazil2024-06-21
1038Brazil2024-06-22
1039Germany2024-06-15
1040United Kingdom2024-06-09
1041India2024-06-19
1042Canada2024-06-15
1043Italy2024-05-26
1044Italy2024-06-02
1045Canada2024-06-16
1046France2024-06-07
1047Spain2024-05-27
1048India2024-06-01
1049Russia2024-05-25

On-Demand Data

NameIdCountryDate
Emily J Bowley1000Australia2024-06-09
Adams I Ferencz1001Russia2024-06-07
Kaitlin C Maclead1002France2024-06-17
Wickens X Poquette1003Japan2024-05-25
Murillo B Sergi1004Spain2024-06-18
Juan I Butt1005Australia2024-06-13
Jones H Briddick1006Spain2024-06-17
Aruna J Tollner1007Germany2024-06-13
Octavia H Gillian1008Germany2024-06-11
Sinclair H Campain1009Germany2024-06-11
Smith A Stockham1010United Kingdom2024-05-25
Julie T Stenseth1011Brazil2024-06-02
Nicolas U Briddick1012Australia2024-06-13
Sinclair L Tollner1013Japan2024-05-27
Misaki U Glick1014Italy2024-06-06
Julie S Schemmer1015Russia2024-06-05
Maria C Sergi1016Japan2024-06-19
Leon S Paprocki1017Germany2024-06-22
Tony G Perin1018France2024-06-22
Sinclair O Garufi1019Argentina2024-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson H FlosiArgentinaXuxue Feng NEGOTIATION
Rodrigues A RulapaughAustraliaXuxue Feng PROPOSAL
Morrow E CampainBrazilAsiya Javayant UNQUALIFIED
Leon X ButtItalyAnna Fali QUALIFIED
Clifford Q StockhamJapanIoni Bowcher UNQUALIFIED
Maisha M GlickArgentinaAsiya Javayant PROPOSAL
David R StockhamGermanyIoni Bowcher RENEWAL
Ashley A NestleCanadaOnyama Limba NEW
Aika S CaldareraArgentinaBernardo Dominic UNQUALIFIED
Deepesh H BowleyArgentinaIvan Magalhaes QUALIFIED
Nicolas H DarakjyAustraliaIvan Magalhaes RENEWAL
Jones Y GauchoArgentinaBernardo Dominic RENEWAL
Claire X RulapaughFranceStephen Shaw QUALIFIED
James V MaletGermanyAsiya Javayant NEW
Maria E RimItalyBernardo Dominic PROPOSAL
Stacey S CaldareraFranceAsiya Javayant NEW
Leon F KuskoCanadaIoni Bowcher NEW
Wickens X SchemmerArgentinaBernardo Dominic RENEWAL
Johnson Z ButtItalyOnyama Limba RENEWAL
Kadeem L SlusarskiCanadaAsiya Javayant PROPOSAL
Adams G WhobreyArgentinaAsiya Javayant NEW
Mayumi Y MacleadFranceStephen Shaw NEW
Murillo Q PoquetteBrazilIoni Bowcher QUALIFIED
Rodrigues R GauchoRussiaAsiya Javayant PROPOSAL
Ivar X GlickArgentinaIoni Bowcher RENEWAL
Jefferson B CaudyAustraliaElwin Sharvill UNQUALIFIED
Misaki E PerinUnited KingdomXuxue Feng QUALIFIED
Ivar G DarakjyItalyAsiya Javayant PROPOSAL
Kadeem V MacleadRussiaXuxue Feng NEGOTIATION
Ashley H CaldareraAustraliaIoni Bowcher NEGOTIATION
David J CaldareraBrazilBernardo Dominic NEGOTIATION
Darci I RutaAustraliaIoni Bowcher QUALIFIED
Ivar I SlusarskiIndiaIvan Magalhaes NEW
Salvatore L GarufiFranceStephen Shaw NEGOTIATION
Ivar M PoquetteFranceXuxue Feng PROPOSAL
Juan F MarrierArgentinaAnna Fali QUALIFIED
Nicolas A WhobreyFranceAsiya Javayant RENEWAL
Aruna W KuskoGermanyAnna Fali PROPOSAL
Costa F StensethArgentinaBernardo Dominic RENEWAL
Faith G KuskoSpainAsiya Javayant RENEWAL

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