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 I CaudyCanadaAmy Elsner PROPOSAL
Clifford K GlickCanadaBernardo Dominic PROPOSAL
Ivar J BriddickGermanyAnna Fali QUALIFIED
Aruna H WhobreyArgentinaAsiya Javayant NEW
Chavez T NickaBrazilAnna Fali QUALIFIED
Aditya T MaletJapanAnna Fali NEW
Isabel C OldroydSpainIoni Bowcher UNQUALIFIED
Ashley U MaletSpainAmy Elsner UNQUALIFIED
Kaitlin X BowleyCanadaAnna Fali NEGOTIATION
Juan V ShinkoFranceElwin Sharvill NEW
Deepesh W FollerRussiaBernardo Dominic QUALIFIED
Isabel F AmigonSpainAnna Fali UNQUALIFIED
Morrow X AlbaresRussiaOnyama Limba PROPOSAL
Sinclair T OldroydItalyIoni Bowcher UNQUALIFIED
Ivar B AmigonUnited KingdomAmy Elsner NEGOTIATION
Julie I OldroydCanadaXuxue Feng PROPOSAL
James K GauchoArgentinaIvan Magalhaes PROPOSAL
Rodrigues D StockhamGermanyXuxue Feng NEGOTIATION
James S KuskoGermanyXuxue Feng NEGOTIATION
Clifford Q BowleyJapanElwin Sharvill UNQUALIFIED
Izzy V CaldareraItalyElwin Sharvill QUALIFIED
Jones E MarrierAustraliaStephen Shaw PROPOSAL
Clifford N KolmetzUnited KingdomOnyama Limba QUALIFIED
Misaki K NickaItalyIvan Magalhaes PROPOSAL
Deepesh I FlosiArgentinaOnyama Limba NEW
Mayumi F ButtBrazilAsiya Javayant NEGOTIATION
Kadeem K VocelkaJapanIoni Bowcher QUALIFIED
Smith I MorascaCanadaStephen Shaw RENEWAL
Leja E TollnerIndiaOnyama Limba RENEWAL
Mayumi V MarrierGermanyIoni Bowcher RENEWAL
Maria U SergiRussiaIoni Bowcher PROPOSAL
Julie F RimRussiaAmy Elsner PROPOSAL
Aruna B IturbideCanadaIoni Bowcher QUALIFIED
Ashley R TollnerCanadaAnna Fali UNQUALIFIED
Jones J IturbideJapanElwin Sharvill RENEWAL
Izzy Q NestleFranceStephen Shaw NEW
Jennifer K FigeroaFranceBernardo Dominic NEGOTIATION
Adams X OldroydFranceElwin Sharvill QUALIFIED
Izzy P CampainSpainIvan Magalhaes UNQUALIFIED
Silvio N ShinkoBrazilIvan Magalhaes RENEWAL
Wickens S CaudyItalyStephen Shaw NEW
Stacey Q MaletSpainIoni Bowcher NEW
Deepesh E MaletCanadaAmy Elsner NEGOTIATION
Claire J StockhamSpainAmy Elsner PROPOSAL
Jones B StensethAustraliaIoni Bowcher QUALIFIED
Jeanfrancois H VocelkaJapanAsiya Javayant PROPOSAL
Smith H VenereItalyAnna Fali RENEWAL
Kadeem J GillianBrazilAnna Fali NEGOTIATION
Maisha T SergiJapanAmy Elsner UNQUALIFIED
Tony Y GlickArgentinaBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Darci V SchemmerGermanyOnyama Limba PROPOSAL
Silvio T ButtIndiaAsiya Javayant NEGOTIATION
Faith Q StensethUnited KingdomIoni Bowcher NEGOTIATION
Ricardo D RimArgentinaElwin Sharvill PROPOSAL
Darci I GlickIndiaAmy Elsner NEGOTIATION
Sinclair A SchemmerArgentinaIvan Magalhaes QUALIFIED
Cody U CaudyGermanyXuxue Feng UNQUALIFIED
Smith D WaycottJapanAsiya Javayant PROPOSAL
Aruna V GauchoArgentinaIoni Bowcher UNQUALIFIED
Alejandro E WaycottRussiaOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh C PerinRussia2024-06-17Rousseaux, Michael Esq RENEWAL48Ioni Bowcher
1001Jones Y MaletItaly2024-06-22Morlong Associates QUALIFIED67Ioni Bowcher
1002Kadeem F StensethJapan2024-05-29Buckley Miller Wright UNQUALIFIED0Amy Elsner
1003Munro F PoquetteGermany2024-06-12Rangoni Of Florence PROPOSAL1Anna Fali
1004Adams D SaylorsAustralia2024-06-22Feiner Bros NEW19Stephen Shaw
1005Deepesh L MaletUnited Kingdom2024-06-19Rangoni Of Florence NEW23Amy Elsner
1006Chavez R WaycottIndia2024-06-21Chapman, Ross E Esq NEW49Elwin Sharvill
1007James C OldroydFrance2024-06-09King, Christopher A Esq NEW84Amy Elsner
1008Leon S ShinkoSpain2024-06-06Truhlar And Truhlar Attys UNQUALIFIED43Onyama Limba
1009Chavez O KuskoJapan2024-05-29Feiner Bros QUALIFIED0Bernardo Dominic
1010Munro W CampainGermany2024-06-22Rangoni Of Florence NEGOTIATION41Stephen Shaw
1011Darci B TollnerArgentina2024-05-31Commercial Press NEW63Elwin Sharvill
1012Munro X FollerSpain2024-06-10Morlong Associates NEW70Asiya Javayant
1013Murillo E RimSpain2024-06-08Printing Dimensions NEGOTIATION73Ioni Bowcher
1014Alejandro C ButtRussia2024-06-22Dorl, James J Esq NEW26Asiya Javayant
1015Nicolas B StockhamSpain2024-06-12Chemel, James L Cpa PROPOSAL15Anna Fali
1016Arvin G SaylorsRussia2024-06-14Buckley Miller Wright UNQUALIFIED67Bernardo Dominic
1017Maria M SergiAustralia2024-06-17Rangoni Of Florence NEW58Onyama Limba
1018Darci W CaudyJapan2024-06-13Commercial Press NEW0Xuxue Feng
1019Julie Q PoquetteBrazil2024-06-22Chanay, Jeffrey A Esq PROPOSAL27Ivan Magalhaes
1020Darci H BriddickCanada2024-06-16Commercial Press RENEWAL70Bernardo Dominic
1021Ashley U FollerGermany2024-06-18Chemel, James L Cpa QUALIFIED38Xuxue Feng
1022Munro V AlbaresBrazil2024-05-31Dorl, James J Esq RENEWAL81Anna Fali
1023Octavia S WieserGermany2024-06-11Commercial Press NEGOTIATION30Asiya Javayant
1024Misaki D StockhamGermany2024-06-08Morlong Associates PROPOSAL11Bernardo Dominic
1025Jennifer O MaletSpain2024-06-03Dorl, James J Esq PROPOSAL53Amy Elsner
1026Mayumi J SlusarskiJapan2024-06-22Buckley Miller Wright RENEWAL88Xuxue Feng
1027Clifford N OldroydArgentina2024-05-27Feltz Printing Service UNQUALIFIED49Stephen Shaw
1028Tony X MaletBrazil2024-05-28Chemel, James L Cpa QUALIFIED72Amy Elsner
1029Sinclair L AlbaresIndia2024-06-06Chanay, Jeffrey A Esq NEGOTIATION21Xuxue Feng
1030Isabel I BriddickUnited Kingdom2024-05-30Buckley Miller Wright RENEWAL89Ivan Magalhaes
1031Rodrigues Z ShinkoJapan2024-06-12Chanay, Jeffrey A Esq RENEWAL66Asiya Javayant
1032Kaitlin J BowleyBrazil2024-06-22Buckley Miller Wright NEW70Onyama Limba
1033Morrow Q CampainBrazil2024-06-10Rousseaux, Michael Esq UNQUALIFIED95Anna Fali
1034Leon T CaudyCanada2024-05-27Buckley Miller Wright NEW67Stephen Shaw
1035Munro K IturbideJapan2024-06-10Rangoni Of Florence QUALIFIED88Bernardo Dominic
1036Claire O WhobreyUnited Kingdom2024-05-26Chanay, Jeffrey A Esq NEGOTIATION75Stephen Shaw
1037Tony N SlusarskiArgentina2024-06-15Rousseaux, Michael Esq NEGOTIATION63Ioni Bowcher
1038Jones D BowleyIndia2024-06-06Morlong Associates NEW26Xuxue Feng
1039Ivar V RulapaughSpain2024-06-16Buckley Miller Wright UNQUALIFIED11Stephen Shaw
1040Maria S FollerFrance2024-05-30Dorl, James J Esq PROPOSAL16Ivan Magalhaes
1041Jones G CampainAustralia2024-05-27Morlong Associates NEGOTIATION7Xuxue Feng
1042Leon I GauchoBrazil2024-06-03Buckley Miller Wright RENEWAL72Stephen Shaw
1043Ricardo V GillianBrazil2024-06-08Feiner Bros NEGOTIATION23Amy Elsner
1044Salvatore Z AlbaresSpain2024-06-18Commercial Press UNQUALIFIED39Elwin Sharvill
1045Costa S ShinkoFrance2024-06-13Benton, John B Jr UNQUALIFIED49Bernardo Dominic
1046Kadeem M ButtCanada2024-06-19Chemel, James L Cpa NEGOTIATION69Xuxue Feng
1047Maisha G CaudyGermany2024-06-19Printing Dimensions PROPOSAL7Elwin Sharvill
1048Wickens H MorascaCanada2024-06-18Commercial Press QUALIFIED99Asiya Javayant
1049Costa L SergiBrazil2024-05-28Morlong Associates UNQUALIFIED66Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Alejandro O SergiJapanBernardo Dominic QUALIFIED
Ivar E PaprockiItalyAmy Elsner NEW
Arvin R VenereGermanyElwin Sharvill PROPOSAL
Wickens V FigeroaRussiaBernardo Dominic NEGOTIATION
Munro S GillianJapanStephen Shaw NEGOTIATION
Leon K RimSpainOnyama Limba NEW
Stacey C GauchoRussiaAnna Fali NEGOTIATION
Octavia K SaylorsFranceAmy Elsner NEGOTIATION
Johnson P MaletGermanyXuxue Feng NEW
Costa B DilliardSpainAmy Elsner UNQUALIFIED
Leon W DilliardItalyStephen Shaw RENEWAL
Izzy S DoeUnited KingdomAmy Elsner PROPOSAL
Ricardo Q WhobreyBrazilAsiya Javayant NEGOTIATION
Jennifer O OstroskyBrazilOnyama Limba NEW
Chavez U GlickJapanAnna Fali PROPOSAL
Munro O AlbaresSpainAmy Elsner UNQUALIFIED
Mujtaba D FerenczIndiaBernardo Dominic PROPOSAL
Antonio I BowleyUnited KingdomIvan Magalhaes PROPOSAL
Salvatore E TollnerAustraliaIvan Magalhaes RENEWAL
Nicolas O CaudyUnited KingdomAmy Elsner UNQUALIFIED
Juan J GauchoCanadaOnyama Limba NEW
Izzy E CaudyJapanAsiya Javayant UNQUALIFIED
Antonio M MarrierRussiaOnyama Limba QUALIFIED
Cody C GlickRussiaIoni Bowcher PROPOSAL
James Y MaletItalyAnna Fali PROPOSAL
Morrow G RulapaughIndiaIoni Bowcher UNQUALIFIED
Ivar B NickaItalyAsiya Javayant PROPOSAL
Aditya G SchemmerGermanyXuxue Feng RENEWAL
Chavez W SlusarskiAustraliaAnna Fali QUALIFIED
Kadeem B KolmetzBrazilElwin Sharvill NEGOTIATION
Sinclair Q RoysterRussiaElwin Sharvill UNQUALIFIED
Nicolas A GillianSpainAnna Fali NEW
Smith M InouyeSpainXuxue Feng QUALIFIED
Ivar Q PaprockiItalyAnna Fali QUALIFIED
Jones U VenereUnited KingdomStephen Shaw NEW
Ricardo B KuskoRussiaAmy Elsner RENEWAL
Greenwood P StockhamCanadaXuxue Feng NEW
Costa T VenereArgentinaStephen Shaw QUALIFIED
Ricardo O NickaRussiaStephen Shaw RENEWAL
Arvin J KuskoBrazilBernardo Dominic UNQUALIFIED
Chavez P SchemmerJapanIoni Bowcher NEW
Juan N ShinkoSpainIoni Bowcher RENEWAL
Wickens V BowleySpainElwin Sharvill QUALIFIED
Aditya G VocelkaBrazilXuxue Feng NEW
Adams Y MacleadIndiaAnna Fali PROPOSAL
Aika A MaletUnited KingdomBernardo Dominic UNQUALIFIED
Kaitlin U GlickItalyAnna Fali PROPOSAL
Morrow V GauchoIndiaBernardo Dominic PROPOSAL
Ricardo C SchemmerItalyOnyama Limba NEW
Rodrigues Q NickaItalyOnyama Limba NEGOTIATION
Frozen Columns
Name
Kadeem L Albares
Chavez V Glick
Jones Y Stenseth
Wickens J Ostrosky
Alejandro Z Malet
Darci C Stenseth
Claire P Nicka
Julie X Royster
Stacey N Inouye
Isabel A Marrier
Leja P Paprocki
Mujtaba U Stenseth
Cody I Malet
Darci O Bowley
Jeanfrancois H Sergi
Claire W Rulapaugh
Morrow D Stenseth
Clifford J Waycott
Leja U Ostrosky
Rodrigues M Ruta
Kadeem I Figeroa
Nicolas V Caldarera
Juan J Gaucho
Alejandro M Garufi
Ivar T Poquette
Jeanfrancois K Garufi
Claire B Bolognia
James S Rulapaugh
Jeanfrancois J Tollner
Mujtaba Y Inouye
Antonio C Gaucho
David C Butt
Kadeem C Royster
Wickens M Ostrosky
James G Flosi
Adams X Albares
Smith F Ostrosky
Mujtaba Q Briddick
Murillo M Venere
Deepesh U Bowley
Claire B Inouye
Leon M Dilliard
Faith T Briddick
Rodrigues B Stenseth
Claire D Inouye
Leja I Stockham
Clifford I Ferencz
Adams D Shinko
Greenwood N Rim
Wickens Q Gaucho
IdCountryDate
1000Italy2024-06-03
1001Argentina2024-05-30
1002Canada2024-06-03
1003Italy2024-06-03
1004Brazil2024-06-15
1005Italy2024-06-01
1006Spain2024-06-06
1007Japan2024-06-15
1008Germany2024-06-21
1009Russia2024-06-18
1010Japan2024-05-29
1011Canada2024-05-29
1012Argentina2024-05-26
1013Russia2024-06-04
1014India2024-06-23
1015Russia2024-05-27
1016Italy2024-06-05
1017United Kingdom2024-06-23
1018Germany2024-06-12
1019Argentina2024-06-18
1020Argentina2024-06-22
1021Spain2024-06-12
1022Germany2024-06-21
1023India2024-06-10
1024India2024-06-19
1025India2024-06-13
1026France2024-06-16
1027Canada2024-06-13
1028Argentina2024-05-26
1029Brazil2024-06-20
1030Russia2024-06-14
1031Brazil2024-06-20
1032Brazil2024-06-11
1033India2024-05-27
1034India2024-06-22
1035India2024-06-03
1036Spain2024-06-12
1037Canada2024-05-30
1038Russia2024-06-22
1039Brazil2024-06-22
1040Canada2024-06-11
1041Canada2024-05-28
1042Spain2024-06-08
1043United Kingdom2024-06-18
1044Brazil2024-06-22
1045Russia2024-05-31
1046Japan2024-06-05
1047Russia2024-05-29
1048Japan2024-06-24
1049Brazil2024-06-10

On-Demand Data

NameIdCountryDate
Darci A Darakjy1000India2024-05-30
Alejandro D Rim1001Germany2024-06-11
Leja B Rulapaugh1002Argentina2024-05-26
Munro T Tollner1003Japan2024-06-08
Sinclair M Oldroyd1004Spain2024-05-29
Johnson R Amigon1005Brazil2024-06-14
Faith B Ruta1006Italy2024-05-29
Kaitlin J Albares1007Spain2024-06-19
Stacey P Royster1008Brazil2024-06-19
Wickens C Briddick1009Argentina2024-06-14
Salvatore G Malet1010United Kingdom2024-06-13
Greenwood M Waycott1011Argentina2024-06-18
Salvatore I Iturbide1012Japan2024-06-09
Aruna H Tollner1013France2024-06-10
Kadeem Q Shinko1014Brazil2024-05-29
Smith R Oldroyd1015Argentina2024-06-05
Maisha O Albares1016India2024-06-23
Deepesh U Albares1017United Kingdom2024-06-15
Claire J Tollner1018Germany2024-06-12
Rodrigues N Venere1019Germany2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha Y ButtAustraliaXuxue Feng NEW
Kadeem B StockhamItalyElwin Sharvill NEW
Munro V RulapaughAustraliaElwin Sharvill NEGOTIATION
Julie A ShinkoSpainBernardo Dominic NEGOTIATION
Maisha Z KuskoArgentinaElwin Sharvill UNQUALIFIED
Tony F TollnerBrazilBernardo Dominic UNQUALIFIED
Leja X WaycottUnited KingdomBernardo Dominic RENEWAL
David C CampainBrazilIoni Bowcher PROPOSAL
Wickens F KolmetzCanadaBernardo Dominic UNQUALIFIED
Tony D BologniaJapanBernardo Dominic NEW
Mayumi H PoquetteUnited KingdomAsiya Javayant QUALIFIED
Julie D ChuiCanadaAmy Elsner RENEWAL
Leja J PoquetteAustraliaStephen Shaw QUALIFIED
Antonio L SlusarskiIndiaIvan Magalhaes UNQUALIFIED
Arvin N OstroskyItalyIoni Bowcher RENEWAL
Tony O FollerRussiaBernardo Dominic NEW
Julie K PaprockiBrazilStephen Shaw NEW
Clifford P BowleyItalyBernardo Dominic QUALIFIED
Emily P CampainAustraliaStephen Shaw UNQUALIFIED
Nicolas L FollerBrazilAsiya Javayant NEW
Jennifer F OstroskyRussiaBernardo Dominic NEGOTIATION
Johnson F WhobreyGermanyOnyama Limba RENEWAL
Antonio A OldroydUnited KingdomIvan Magalhaes UNQUALIFIED
Izzy Q BowleyItalyAnna Fali PROPOSAL
Maisha K DarakjyGermanyXuxue Feng NEW
Ashley C WieserCanadaIvan Magalhaes NEW
Munro B GauchoItalyStephen Shaw QUALIFIED
Jones S VocelkaFranceAnna Fali NEW
Ivar C MaletJapanAmy Elsner NEGOTIATION
Julie R RimBrazilAsiya Javayant RENEWAL
Arvin U BriddickUnited KingdomIvan Magalhaes QUALIFIED
Wickens F WhobreyRussiaStephen Shaw NEGOTIATION
Maisha Z PerinArgentinaIvan Magalhaes RENEWAL
Kadeem I SchemmerGermanyAnna Fali UNQUALIFIED
Jefferson D OldroydSpainAmy Elsner UNQUALIFIED
Mayumi M InouyeSpainIoni Bowcher RENEWAL
Arvin E WaycottSpainXuxue Feng NEGOTIATION
Ashley D TollnerArgentinaAmy Elsner UNQUALIFIED
Smith E ChuiCanadaIoni Bowcher PROPOSAL
David R KolmetzJapanOnyama Limba 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>