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
Munro A AlbaresItalyIvan Magalhaes PROPOSAL
Clifford B KolmetzIndiaElwin Sharvill RENEWAL
Ricardo I PerinGermanyAmy Elsner NEGOTIATION
Nicolas D VenereGermanyIoni Bowcher UNQUALIFIED
Deepesh H NickaItalyAmy Elsner RENEWAL
Isabel P RimFranceAsiya Javayant PROPOSAL
Sinclair F PaprockiArgentinaOnyama Limba QUALIFIED
Jefferson C OstroskyJapanIoni Bowcher NEW
Ivar J KolmetzGermanyAnna Fali NEGOTIATION
Adams X RoysterRussiaBernardo Dominic NEW
Claire Z CampainAustraliaBernardo Dominic UNQUALIFIED
Emily W WhobreyRussiaAsiya Javayant UNQUALIFIED
Faith Q FlosiSpainIvan Magalhaes QUALIFIED
Stacey Q DoeArgentinaAsiya Javayant PROPOSAL
Nicolas W KuskoJapanAsiya Javayant RENEWAL
Octavia K BowleyUnited KingdomAmy Elsner RENEWAL
Munro E DilliardJapanOnyama Limba NEGOTIATION
Jefferson M RimIndiaXuxue Feng NEW
Adams L InouyeArgentinaStephen Shaw UNQUALIFIED
Jones M GarufiUnited KingdomAnna Fali NEGOTIATION
Murillo A PaprockiFranceIoni Bowcher UNQUALIFIED
Claire G SchemmerFranceOnyama Limba NEGOTIATION
Maisha B SchemmerFranceXuxue Feng NEW
Aruna Z DarakjyBrazilAmy Elsner RENEWAL
Munro O CaldareraIndiaAmy Elsner UNQUALIFIED
Stacey G SaylorsItalyOnyama Limba RENEWAL
Mujtaba T KuskoRussiaAmy Elsner PROPOSAL
Octavia E ShinkoRussiaXuxue Feng RENEWAL
Ivar X MacleadBrazilIoni Bowcher NEGOTIATION
Adams C DoeGermanyAsiya Javayant RENEWAL
Antonio M GillianIndiaAmy Elsner RENEWAL
Aditya Y FlosiAustraliaAmy Elsner PROPOSAL
Juan J GauchoCanadaAsiya Javayant NEGOTIATION
Mayumi V MacleadRussiaBernardo Dominic NEGOTIATION
Darci C PoquetteAustraliaAsiya Javayant QUALIFIED
Munro U RutaRussiaAsiya Javayant NEGOTIATION
Ricardo U NestleIndiaStephen Shaw NEGOTIATION
Chavez N SaylorsItalyElwin Sharvill QUALIFIED
Sinclair J MaletAustraliaElwin Sharvill QUALIFIED
Nicolas V FlosiUnited KingdomStephen Shaw QUALIFIED
Wickens C FigeroaCanadaBernardo Dominic QUALIFIED
Aika N FollerArgentinaBernardo Dominic PROPOSAL
Claire B VenereAustraliaAmy Elsner NEW
Faith A RutaArgentinaAmy Elsner NEGOTIATION
Claire C DarakjyFranceElwin Sharvill UNQUALIFIED
Smith N GarufiJapanElwin Sharvill QUALIFIED
Salvatore P KolmetzArgentinaBernardo Dominic PROPOSAL
Julie Y RutaItalyStephen Shaw UNQUALIFIED
James I CaudyCanadaAnna Fali RENEWAL
Cody Y GarufiIndiaIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Cody A FigeroaJapanIvan Magalhaes PROPOSAL
Kadeem Q VenereRussiaIvan Magalhaes NEGOTIATION
Izzy W FlosiGermanyXuxue Feng NEW
Ashley U StockhamSpainIvan Magalhaes QUALIFIED
Alejandro U GauchoBrazilAnna Fali QUALIFIED
Tony T MorascaArgentinaIvan Magalhaes UNQUALIFIED
Murillo F GauchoFranceOnyama Limba RENEWAL
Octavia E FlosiBrazilXuxue Feng UNQUALIFIED
Julie M AlbaresGermanyAsiya Javayant RENEWAL
Izzy H WhobreyJapanXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas D CaldareraBrazil2024-04-29Morlong Associates NEGOTIATION72Stephen Shaw
1001Stacey M FollerCanada2024-05-05Printing Dimensions RENEWAL35Stephen Shaw
1002Aika P StensethSpain2024-05-16Commercial Press QUALIFIED14Amy Elsner
1003Chavez Q StockhamBrazil2024-05-26Dorl, James J Esq QUALIFIED51Anna Fali
1004Julie Q MaletJapan2024-05-09Rangoni Of Florence QUALIFIED89Ioni Bowcher
1005Darci S GlickJapan2024-05-17Chanay, Jeffrey A Esq NEGOTIATION25Bernardo Dominic
1006Ashley H SlusarskiSpain2024-05-22King, Christopher A Esq QUALIFIED91Ivan Magalhaes
1007Claire M VenereAustralia2024-05-08Chemel, James L Cpa PROPOSAL1Asiya Javayant
1008Kaitlin V KolmetzArgentina2024-05-10Chapman, Ross E Esq UNQUALIFIED67Bernardo Dominic
1009Greenwood Q AmigonUnited Kingdom2024-05-07Dorl, James J Esq NEGOTIATION72Anna Fali
1010Jeanfrancois E BowleyCanada2024-05-12Commercial Press NEW94Ioni Bowcher
1011David S DilliardJapan2024-05-08Feiner Bros RENEWAL80Amy Elsner
1012Greenwood K TollnerRussia2024-05-08Chemel, James L Cpa PROPOSAL21Bernardo Dominic
1013Costa J AlbaresJapan2024-05-21Commercial Press RENEWAL63Ioni Bowcher
1014Maisha K PaprockiArgentina2024-05-22Feiner Bros RENEWAL73Amy Elsner
1015Wickens V MacleadSpain2024-05-03Chanay, Jeffrey A Esq NEGOTIATION1Xuxue Feng
1016Maria M OstroskyItaly2024-05-08Rousseaux, Michael Esq PROPOSAL28Elwin Sharvill
1017Arvin S MaletUnited Kingdom2024-04-30Rangoni Of Florence QUALIFIED66Elwin Sharvill
1018Cody E DarakjyUnited Kingdom2024-05-08Morlong Associates PROPOSAL0Ivan Magalhaes
1019Mujtaba Z GlickBrazil2024-05-24Dorl, James J Esq RENEWAL55Onyama Limba
1020Jennifer Y GillianCanada2024-05-14Buckley Miller Wright PROPOSAL33Xuxue Feng
1021Aditya J MarrierGermany2024-05-26Rousseaux, Michael Esq QUALIFIED40Anna Fali
1022James U VenereRussia2024-05-20Rangoni Of Florence PROPOSAL51Asiya Javayant
1023Greenwood T FollerRussia2024-05-27King, Christopher A Esq PROPOSAL78Xuxue Feng
1024Clifford W CaldareraCanada2024-04-30Chanay, Jeffrey A Esq PROPOSAL26Stephen Shaw
1025David V GauchoJapan2024-05-01Printing Dimensions NEW25Elwin Sharvill
1026Claire Q BologniaCanada2024-05-20Chapman, Ross E Esq NEW72Ioni Bowcher
1027Sinclair E ShinkoJapan2024-05-26Rousseaux, Michael Esq QUALIFIED89Bernardo Dominic
1028Claire N SlusarskiItaly2024-04-29Rangoni Of Florence QUALIFIED11Ioni Bowcher
1029Aruna T CaudyIndia2024-04-28Benton, John B Jr UNQUALIFIED72Ivan Magalhaes
1030Sinclair R AlbaresIndia2024-04-30Buckley Miller Wright NEW14Anna Fali
1031James S SlusarskiAustralia2024-05-22Truhlar And Truhlar Attys NEW40Ioni Bowcher
1032Ivar X BriddickGermany2024-04-28Rangoni Of Florence NEGOTIATION3Elwin Sharvill
1033Jennifer V FlosiRussia2024-05-27Morlong Associates PROPOSAL93Asiya Javayant
1034James H BowleyFrance2024-05-03Printing Dimensions UNQUALIFIED35Xuxue Feng
1035Julie P ChuiJapan2024-05-19Rangoni Of Florence QUALIFIED12Ivan Magalhaes
1036Sinclair Q ButtSpain2024-05-04King, Christopher A Esq PROPOSAL62Asiya Javayant
1037Mujtaba D SlusarskiArgentina2024-05-07Rangoni Of Florence PROPOSAL76Xuxue Feng
1038Sinclair Z NestleBrazil2024-05-11King, Christopher A Esq RENEWAL91Bernardo Dominic
1039Isabel G CaldareraCanada2024-04-28King, Christopher A Esq RENEWAL7Ioni Bowcher
1040Julie U WieserGermany2024-05-26Chemel, James L Cpa NEGOTIATION12Bernardo Dominic
1041Smith C DoeJapan2024-05-06Printing Dimensions QUALIFIED18Bernardo Dominic
1042Antonio U FollerBrazil2024-05-23Feiner Bros RENEWAL99Ioni Bowcher
1043Octavia O SaylorsAustralia2024-05-03Truhlar And Truhlar Attys NEGOTIATION80Elwin Sharvill
1044Ricardo X IturbideJapan2024-05-12Chemel, James L Cpa UNQUALIFIED3Bernardo Dominic
1045Leja Q WieserItaly2024-05-24Printing Dimensions QUALIFIED36Stephen Shaw
1046Jeanfrancois O CaldareraIndia2024-05-17King, Christopher A Esq NEW52Xuxue Feng
1047Isabel K IturbideIndia2024-05-07Dorl, James J Esq UNQUALIFIED41Elwin Sharvill
1048Leja O WieserSpain2024-05-17Rangoni Of Florence PROPOSAL18Xuxue Feng
1049Kadeem T ChuiFrance2024-05-15Truhlar And Truhlar Attys PROPOSAL24Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Leja C DarakjyItalyIvan Magalhaes NEGOTIATION
Jefferson N FigeroaGermanyStephen Shaw RENEWAL
Jefferson P ChuiFranceAmy Elsner UNQUALIFIED
Jennifer W DilliardJapanAnna Fali NEGOTIATION
Sinclair E DilliardSpainElwin Sharvill NEGOTIATION
Antonio Y MarrierUnited KingdomElwin Sharvill RENEWAL
Johnson P SchemmerArgentinaXuxue Feng NEW
Cody X CaldareraItalyXuxue Feng PROPOSAL
Murillo Q FollerGermanyIoni Bowcher RENEWAL
Emily H TollnerUnited KingdomOnyama Limba RENEWAL
Wickens T IturbideItalyAnna Fali PROPOSAL
Morrow E ButtFranceElwin Sharvill PROPOSAL
Ivar Z ShinkoSpainIoni Bowcher QUALIFIED
Arvin V FollerAustraliaAmy Elsner QUALIFIED
Maria W WieserSpainIoni Bowcher QUALIFIED
Maisha S RoysterItalyAsiya Javayant QUALIFIED
Tony K CampainAustraliaIoni Bowcher UNQUALIFIED
Aditya T BowleyItalyAsiya Javayant UNQUALIFIED
Clifford H RoysterAustraliaXuxue Feng NEGOTIATION
Wickens N BowleyArgentinaElwin Sharvill NEW
Aditya G SlusarskiBrazilElwin Sharvill NEGOTIATION
Jefferson M FerenczAustraliaIvan Magalhaes QUALIFIED
Alejandro N KolmetzItalyStephen Shaw RENEWAL
Julie P BowleyArgentinaIvan Magalhaes NEW
Aruna P MorascaItalyIvan Magalhaes PROPOSAL
James E CaudyBrazilAsiya Javayant PROPOSAL
Julie L VenereItalyAsiya Javayant PROPOSAL
Kaitlin W DoeArgentinaOnyama Limba NEGOTIATION
Adams C AlbaresIndiaAmy Elsner UNQUALIFIED
Jeanfrancois Y InouyeGermanyIoni Bowcher UNQUALIFIED
Murillo C GillianGermanyAsiya Javayant QUALIFIED
Faith J GlickSpainAmy Elsner RENEWAL
Salvatore D SlusarskiIndiaOnyama Limba PROPOSAL
Isabel F MacleadItalyBernardo Dominic QUALIFIED
Johnson J DilliardItalyBernardo Dominic UNQUALIFIED
Smith P AmigonItalyIvan Magalhaes RENEWAL
Sinclair S NickaBrazilAsiya Javayant PROPOSAL
Johnson U OstroskyBrazilElwin Sharvill PROPOSAL
Aditya G FigeroaGermanyElwin Sharvill UNQUALIFIED
Darci Y ChuiSpainElwin Sharvill QUALIFIED
Mujtaba Q PerinFranceIoni Bowcher UNQUALIFIED
Jones X PoquetteJapanXuxue Feng NEGOTIATION
David A DarakjyGermanyBernardo Dominic RENEWAL
Ivar J MarrierUnited KingdomIoni Bowcher PROPOSAL
Ivar Q GillianBrazilAsiya Javayant NEW
Julie V CampainGermanyAmy Elsner NEW
Francesco N MaletItalyElwin Sharvill NEGOTIATION
Ashley P FerenczArgentinaElwin Sharvill QUALIFIED
James M FlosiIndiaStephen Shaw PROPOSAL
James A CaudyCanadaAsiya Javayant RENEWAL
Frozen Columns
Name
Deepesh A Rulapaugh
Mayumi A Oldroyd
Izzy U Chui
Sinclair W Royster
Maisha E Flosi
Antonio H Foller
Rodrigues G Sergi
David H Schemmer
Alejandro C Schemmer
Maria S Caudy
Julie G Venere
Antonio Z Iturbide
Tony F Tollner
Claire Q Waycott
Maisha H Venere
David J Butt
Mayumi W Maclead
Mayumi V Doe
Aditya V Caldarera
Clifford S Rulapaugh
Ashley D Wieser
Francesco X Inouye
Munro M Venere
Jones N Rulapaugh
Rodrigues J Darakjy
Faith C Oldroyd
Aditya M Bowley
Alejandro T Dilliard
Ricardo Z Darakjy
Kadeem T Schemmer
Aditya U Briddick
Costa W Whobrey
Jeanfrancois G Venere
Stacey V Schemmer
James N Dilliard
Silvio Y Campain
Ashley D Bowley
Silvio K Flosi
Arvin O Saylors
Octavia P Chui
Ivar W Malet
Ivar O Marrier
Jefferson U Shinko
Francesco E Flosi
Maisha W Ruta
Juan W Maclead
Jefferson O Ruta
Stacey M Stenseth
Mujtaba U Stenseth
Cody U Garufi
IdCountryDate
1000United Kingdom2024-05-22
1001Brazil2024-05-20
1002United Kingdom2024-05-15
1003Spain2024-05-08
1004Spain2024-05-24
1005United Kingdom2024-05-27
1006France2024-05-08
1007Spain2024-05-11
1008Germany2024-05-10
1009Argentina2024-05-25
1010Canada2024-05-24
1011Italy2024-05-24
1012Canada2024-05-27
1013France2024-05-12
1014Russia2024-04-29
1015India2024-05-14
1016Germany2024-04-30
1017India2024-05-14
1018Japan2024-05-22
1019Australia2024-05-05
1020Germany2024-05-13
1021Canada2024-05-24
1022France2024-05-08
1023Spain2024-05-15
1024Australia2024-05-04
1025France2024-05-03
1026India2024-04-30
1027Japan2024-05-13
1028Japan2024-05-04
1029Japan2024-05-10
1030India2024-05-04
1031Spain2024-05-04
1032Argentina2024-05-07
1033Canada2024-05-12
1034Brazil2024-05-10
1035Germany2024-05-07
1036Brazil2024-05-27
1037Spain2024-04-30
1038Argentina2024-05-16
1039Germany2024-05-12
1040Russia2024-05-23
1041Japan2024-05-20
1042Brazil2024-04-29
1043Italy2024-05-16
1044Italy2024-05-01
1045Spain2024-04-29
1046Canada2024-04-29
1047France2024-05-22
1048Russia2024-05-09
1049Germany2024-05-21

On-Demand Data

NameIdCountryDate
Kaitlin A Nicka1000Argentina2024-05-12
Claire Z Ruta1001Italy2024-05-19
Maisha T Ruta1002Russia2024-05-15
Stacey B Campain1003Australia2024-05-14
David Y Maclead1004Australia2024-05-15
Aditya Z Gillian1005Australia2024-05-19
Morrow R Rulapaugh1006Germany2024-05-05
Julie M Marrier1007Brazil2024-05-15
Aditya W Maclead1008Canada2024-05-11
Morrow I Ruta1009Spain2024-05-15
Chavez Y Glick1010Italy2024-05-14
Faith E Glick1011Canada2024-05-18
Ivar F Darakjy1012Italy2024-04-29
Smith O Flosi1013Germany2024-05-14
Nicolas Q Slusarski1014United Kingdom2024-05-27
Misaki K Morasca1015France2024-05-02
Claire G Kolmetz1016Brazil2024-05-15
Rodrigues T Figeroa1017Brazil2024-05-25
David E Butt1018Canada2024-04-30
Deepesh D Ruta1019Canada2024-05-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood T BriddickSpainBernardo Dominic PROPOSAL
Costa Y CaldareraArgentinaIvan Magalhaes NEW
Murillo X NestleRussiaElwin Sharvill UNQUALIFIED
Jeanfrancois T BriddickBrazilOnyama Limba UNQUALIFIED
James G NestleBrazilAnna Fali UNQUALIFIED
Kadeem T GillianFranceElwin Sharvill QUALIFIED
Julie A BowleyCanadaStephen Shaw RENEWAL
Greenwood Z DilliardGermanyStephen Shaw NEGOTIATION
Murillo G CaldareraItalyAsiya Javayant PROPOSAL
Rodrigues Q BriddickSpainAnna Fali PROPOSAL
Kaitlin I GauchoIndiaAsiya Javayant NEGOTIATION
Emily M DilliardIndiaElwin Sharvill NEW
Arvin Z GillianIndiaAnna Fali PROPOSAL
Kaitlin L DoeFranceAnna Fali RENEWAL
Wickens W SergiCanadaStephen Shaw QUALIFIED
Emily M GauchoJapanElwin Sharvill NEW
Tony B BriddickIndiaIoni Bowcher PROPOSAL
James K RutaBrazilBernardo Dominic UNQUALIFIED
Sinclair Q PaprockiUnited KingdomStephen Shaw UNQUALIFIED
Greenwood K ButtUnited KingdomXuxue Feng NEW
Greenwood K RutaIndiaAnna Fali PROPOSAL
Wickens Z SlusarskiUnited KingdomStephen Shaw NEW
Darci B WhobreyItalyBernardo Dominic QUALIFIED
Arvin K AmigonSpainAmy Elsner NEW
Adams F WaycottJapanElwin Sharvill UNQUALIFIED
Clifford G KuskoUnited KingdomAsiya Javayant NEW
Chavez V SergiItalyIvan Magalhaes NEW
Faith Z SaylorsArgentinaAnna Fali RENEWAL
Mujtaba P RoysterRussiaAmy Elsner NEGOTIATION
Aruna N OldroydAustraliaElwin Sharvill UNQUALIFIED
Silvio H WaycottRussiaOnyama Limba PROPOSAL
Aika L MacleadAustraliaAmy Elsner PROPOSAL
Darci C CampainFranceStephen Shaw RENEWAL
Aika A NickaAustraliaStephen Shaw NEW
Claire O DoeCanadaXuxue Feng NEW
Francesco C OldroydFranceXuxue Feng RENEWAL
Silvio W SlusarskiGermanyOnyama Limba PROPOSAL
Sinclair K FollerArgentinaAmy Elsner NEGOTIATION
Darci W GillianGermanyAnna Fali RENEWAL
Jennifer X WhobreyAustraliaIoni Bowcher NEW

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