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
Arvin H SchemmerBrazilStephen Shaw PROPOSAL
Mayumi B OstroskyItalyAmy Elsner NEGOTIATION
Greenwood L IturbideIndiaBernardo Dominic NEGOTIATION
Arvin A NestleRussiaOnyama Limba PROPOSAL
Julie T DoeCanadaStephen Shaw NEW
Nicolas E AmigonUnited KingdomAsiya Javayant RENEWAL
Leja Z SergiSpainOnyama Limba PROPOSAL
Mayumi N OldroydBrazilAmy Elsner QUALIFIED
Ricardo M TollnerCanadaElwin Sharvill UNQUALIFIED
Rodrigues W ShinkoBrazilAnna Fali QUALIFIED
Adams I KolmetzBrazilOnyama Limba RENEWAL
Jefferson O NestleFranceOnyama Limba NEGOTIATION
Maria D AlbaresIndiaAmy Elsner NEW
Cody N IturbideBrazilAmy Elsner NEW
Octavia F GauchoArgentinaAsiya Javayant PROPOSAL
Morrow S BriddickUnited KingdomXuxue Feng QUALIFIED
Izzy W OldroydGermanyIvan Magalhaes UNQUALIFIED
Nicolas U DoeUnited KingdomXuxue Feng QUALIFIED
Rodrigues I ShinkoUnited KingdomAmy Elsner RENEWAL
Chavez P BologniaGermanyAsiya Javayant RENEWAL
Ashley O CaudyRussiaAmy Elsner RENEWAL
Costa Y DilliardItalyOnyama Limba RENEWAL
Munro P GarufiUnited KingdomAsiya Javayant NEGOTIATION
Tony W ButtArgentinaBernardo Dominic QUALIFIED
Claire Z SergiItalyBernardo Dominic QUALIFIED
Arvin J AmigonBrazilElwin Sharvill NEW
Arvin B WhobreyGermanyBernardo Dominic PROPOSAL
David G SchemmerCanadaBernardo Dominic NEW
Jennifer U BologniaBrazilBernardo Dominic NEGOTIATION
Mujtaba N IturbideSpainBernardo Dominic RENEWAL
Aruna A VocelkaAustraliaAmy Elsner QUALIFIED
Leon C StensethArgentinaAnna Fali QUALIFIED
Greenwood F FlosiSpainElwin Sharvill QUALIFIED
Faith N IturbideJapanAsiya Javayant UNQUALIFIED
Alejandro L AmigonSpainStephen Shaw NEW
Nicolas J FerenczJapanElwin Sharvill NEW
Alejandro D WaycottSpainIvan Magalhaes NEGOTIATION
Claire I ButtArgentinaBernardo Dominic NEGOTIATION
David H VenereIndiaElwin Sharvill QUALIFIED
Morrow A BologniaFranceAsiya Javayant UNQUALIFIED
Ricardo A KolmetzItalyBernardo Dominic RENEWAL
Costa A AlbaresFranceAmy Elsner NEGOTIATION
Deepesh T MorascaCanadaAmy Elsner RENEWAL
Adams Y FollerItalyElwin Sharvill NEW
Johnson W FerenczRussiaXuxue Feng NEW
Greenwood N PerinIndiaIoni Bowcher NEW
Aruna G KolmetzCanadaAmy Elsner NEGOTIATION
Claire I MaletUnited KingdomOnyama Limba NEGOTIATION
Leja P MacleadUnited KingdomAmy Elsner PROPOSAL
Murillo P OstroskyFranceElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Alejandro V PerinSpainStephen Shaw NEW
Nicolas C StensethGermanyOnyama Limba UNQUALIFIED
James F FerenczItalyIvan Magalhaes RENEWAL
Izzy D FigeroaFranceIoni Bowcher NEW
Murillo C FerenczCanadaIoni Bowcher NEGOTIATION
Isabel U IturbideJapanAmy Elsner UNQUALIFIED
Mujtaba F InouyeIndiaIvan Magalhaes PROPOSAL
Sinclair G OldroydCanadaXuxue Feng NEW
Salvatore T MaletItalyAnna Fali NEW
Leon U DarakjyGermanyBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily N WhobreyBrazil2024-06-08Chanay, Jeffrey A Esq RENEWAL30Asiya Javayant
1001Faith N CaldareraSpain2024-06-01Feltz Printing Service QUALIFIED91Amy Elsner
1002Rodrigues A RimIndia2024-05-27Buckley Miller Wright UNQUALIFIED58Xuxue Feng
1003Deepesh U NickaBrazil2024-05-30Truhlar And Truhlar Attys NEW45Xuxue Feng
1004Ivar J BowleyBrazil2024-06-24Printing Dimensions QUALIFIED28Amy Elsner
1005Ricardo E FigeroaJapan2024-06-10Feiner Bros QUALIFIED56Stephen Shaw
1006Octavia P NickaFrance2024-06-04Dorl, James J Esq QUALIFIED49Amy Elsner
1007Faith J OstroskyJapan2024-06-08Dorl, James J Esq NEW22Ivan Magalhaes
1008Aditya E AlbaresSpain2024-05-26Chemel, James L Cpa PROPOSAL68Asiya Javayant
1009Emily X InouyeIndia2024-06-22Dorl, James J Esq QUALIFIED83Amy Elsner
1010Isabel U DarakjyArgentina2024-06-18Chanay, Jeffrey A Esq NEW57Bernardo Dominic
1011Wickens S GauchoItaly2024-06-07Morlong Associates NEW66Elwin Sharvill
1012Costa M AlbaresIndia2024-06-10King, Christopher A Esq PROPOSAL51Xuxue Feng
1013Deepesh E VenereJapan2024-06-17Commercial Press RENEWAL24Asiya Javayant
1014Alejandro L CaldareraBrazil2024-06-19Buckley Miller Wright NEGOTIATION14Asiya Javayant
1015Arvin W BologniaRussia2024-06-14Chanay, Jeffrey A Esq NEW66Stephen Shaw
1016Julie C ShinkoAustralia2024-05-26Chanay, Jeffrey A Esq PROPOSAL8Ioni Bowcher
1017Wickens Z PerinFrance2024-06-05King, Christopher A Esq RENEWAL96Xuxue Feng
1018Julie E SergiAustralia2024-06-03Printing Dimensions NEGOTIATION98Onyama Limba
1019Julie J OldroydRussia2024-05-31Feiner Bros UNQUALIFIED92Amy Elsner
1020Ricardo S TollnerGermany2024-06-23Commercial Press PROPOSAL70Ioni Bowcher
1021Greenwood V InouyeAustralia2024-06-09Morlong Associates NEW89Asiya Javayant
1022Silvio E SaylorsUnited Kingdom2024-06-08Dorl, James J Esq UNQUALIFIED48Xuxue Feng
1023Aruna F ChuiSpain2024-06-16Feltz Printing Service UNQUALIFIED60Ioni Bowcher
1024Leon Y DoeUnited Kingdom2024-06-13Benton, John B Jr NEGOTIATION64Ioni Bowcher
1025Arvin F MaletGermany2024-06-10Dorl, James J Esq NEGOTIATION9Asiya Javayant
1026Aruna Q PerinGermany2024-06-10Rousseaux, Michael Esq QUALIFIED40Anna Fali
1027Chavez N StockhamUnited Kingdom2024-06-13Rangoni Of Florence NEW21Asiya Javayant
1028Isabel V SaylorsItaly2024-06-02Dorl, James J Esq RENEWAL52Anna Fali
1029Clifford H MorascaFrance2024-06-05Dorl, James J Esq QUALIFIED88Amy Elsner
1030Misaki Y InouyeJapan2024-06-22Chemel, James L Cpa PROPOSAL74Asiya Javayant
1031Alejandro K RimBrazil2024-06-15Dorl, James J Esq NEGOTIATION41Asiya Javayant
1032Misaki D BowleyUnited Kingdom2024-05-29Printing Dimensions UNQUALIFIED2Elwin Sharvill
1033Maria W BriddickSpain2024-05-28Chapman, Ross E Esq QUALIFIED96Amy Elsner
1034Cody H CaldareraJapan2024-05-31Chanay, Jeffrey A Esq RENEWAL96Ioni Bowcher
1035Sinclair D ChuiUnited Kingdom2024-06-08Morlong Associates NEW41Ivan Magalhaes
1036Sinclair T PoquetteRussia2024-06-24Feltz Printing Service NEGOTIATION49Asiya Javayant
1037Octavia Q PaprockiItaly2024-06-18Feltz Printing Service PROPOSAL33Stephen Shaw
1038Murillo H DilliardRussia2024-06-19Commercial Press NEGOTIATION6Elwin Sharvill
1039Misaki Q NickaItaly2024-05-31Dorl, James J Esq NEW29Bernardo Dominic
1040Leja R ChuiUnited Kingdom2024-05-30Chemel, James L Cpa NEGOTIATION10Bernardo Dominic
1041Cody I VocelkaJapan2024-05-26King, Christopher A Esq RENEWAL39Ivan Magalhaes
1042Emily J NickaGermany2024-06-23Commercial Press NEGOTIATION42Elwin Sharvill
1043Isabel X OstroskyJapan2024-06-05Chapman, Ross E Esq NEGOTIATION69Ivan Magalhaes
1044Cody Q CaudyArgentina2024-06-14Dorl, James J Esq NEW12Ioni Bowcher
1045Deepesh W OstroskySpain2024-06-10King, Christopher A Esq PROPOSAL6Onyama Limba
1046Kadeem T WhobreyArgentina2024-06-02Feltz Printing Service QUALIFIED57Elwin Sharvill
1047Aruna B NickaBrazil2024-06-13Rangoni Of Florence QUALIFIED29Ivan Magalhaes
1048Jefferson I RoysterArgentina2024-06-06Benton, John B Jr NEW48Stephen Shaw
1049Faith P GlickItaly2024-05-29Benton, John B Jr PROPOSAL25Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Juan B InouyeItalyAsiya Javayant UNQUALIFIED
Mayumi U GauchoBrazilBernardo Dominic QUALIFIED
Ivar G RimRussiaIvan Magalhaes NEGOTIATION
Greenwood T InouyeBrazilIoni Bowcher NEW
Adams Y GauchoRussiaStephen Shaw UNQUALIFIED
Aditya R CaldareraBrazilAsiya Javayant QUALIFIED
Isabel L ShinkoArgentinaBernardo Dominic PROPOSAL
Tony R MaletAustraliaBernardo Dominic NEW
Jeanfrancois T KuskoFranceElwin Sharvill UNQUALIFIED
Smith L InouyeJapanOnyama Limba PROPOSAL
Maisha H NestleJapanIoni Bowcher PROPOSAL
Leja U TollnerIndiaIoni Bowcher PROPOSAL
Johnson P GarufiGermanyIvan Magalhaes UNQUALIFIED
Jefferson F NickaUnited KingdomAsiya Javayant NEW
Salvatore U FlosiBrazilAsiya Javayant PROPOSAL
Ricardo E BowleySpainIvan Magalhaes RENEWAL
Deepesh Z OstroskyBrazilIvan Magalhaes QUALIFIED
James F AlbaresSpainXuxue Feng PROPOSAL
Stacey F WaycottItalyIvan Magalhaes UNQUALIFIED
Cody N TollnerFranceAsiya Javayant RENEWAL
Jeanfrancois G ButtCanadaElwin Sharvill QUALIFIED
Ashley Y OstroskySpainOnyama Limba PROPOSAL
Munro E FigeroaBrazilXuxue Feng NEW
Jennifer P OldroydSpainAmy Elsner PROPOSAL
Jeanfrancois M GarufiCanadaElwin Sharvill PROPOSAL
Silvio O GauchoFranceAsiya Javayant UNQUALIFIED
Antonio K AlbaresItalyAnna Fali NEW
Ivar M PaprockiGermanyAmy Elsner NEW
Faith H StensethJapanIoni Bowcher UNQUALIFIED
Mayumi T MaletFranceStephen Shaw PROPOSAL
Antonio D ShinkoSpainStephen Shaw RENEWAL
Johnson T KuskoItalyXuxue Feng NEW
Aika N TollnerArgentinaXuxue Feng RENEWAL
Jones F RoysterRussiaStephen Shaw NEGOTIATION
Emily S InouyeGermanyAmy Elsner RENEWAL
James G FollerCanadaAmy Elsner PROPOSAL
Jefferson N MarrierBrazilOnyama Limba NEGOTIATION
Nicolas Z FerenczUnited KingdomAnna Fali NEGOTIATION
Johnson C RulapaughIndiaStephen Shaw UNQUALIFIED
Sinclair P SaylorsSpainIoni Bowcher NEW
Julie L PaprockiFranceStephen Shaw RENEWAL
Izzy S PaprockiIndiaIvan Magalhaes NEGOTIATION
Misaki Q MarrierJapanIvan Magalhaes NEGOTIATION
Rodrigues X GlickArgentinaAnna Fali NEW
Murillo M DarakjySpainAnna Fali NEGOTIATION
Leon V MacleadCanadaXuxue Feng RENEWAL
Leja Y StensethCanadaAsiya Javayant NEW
Kaitlin V GauchoItalyBernardo Dominic RENEWAL
Wickens Z PaprockiUnited KingdomAmy Elsner RENEWAL
Octavia I OldroydJapanIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
David R Venere
Adams F Chui
Julie P Chui
Faith Q Whobrey
Leja K Flosi
Jeanfrancois G Amigon
Ricardo P Nestle
Antonio N Dilliard
Morrow S Gillian
Munro H Perin
Mayumi Z Shinko
Emily M Schemmer
Stacey W Garufi
Juan W Wieser
Izzy B Glick
Wickens X Tollner
David P Shinko
Julie W Royster
Arvin C Dilliard
Sinclair B Chui
Mujtaba P Dilliard
Rodrigues S Caudy
Juan N Caldarera
James J Amigon
Nicolas S Chui
Alejandro A Caudy
Deepesh L Kusko
Leja V Gillian
Greenwood V Bolognia
Nicolas B Tollner
Claire M Oldroyd
Izzy T Kusko
Sinclair P Campain
James O Briddick
Kadeem V Slusarski
Misaki U Rim
Jeanfrancois Q Morasca
Jones L Campain
Maria D Kusko
Adams K Morasca
Julie M Sergi
Morrow U Chui
Stacey I Inouye
Sinclair R Albares
Leja V Foller
Ricardo H Wieser
Silvio X Caldarera
Mayumi Z Glick
Kaitlin S Kolmetz
James K Gaucho
IdCountryDate
1000United Kingdom2024-06-08
1001India2024-05-27
1002Spain2024-06-09
1003Spain2024-05-27
1004France2024-06-15
1005India2024-06-01
1006India2024-06-05
1007Canada2024-06-22
1008Germany2024-06-03
1009Italy2024-06-04
1010India2024-06-01
1011Canada2024-06-17
1012United Kingdom2024-06-22
1013Italy2024-06-13
1014Argentina2024-06-16
1015Brazil2024-06-23
1016Japan2024-06-03
1017Australia2024-06-23
1018India2024-06-16
1019Canada2024-06-09
1020Argentina2024-06-08
1021India2024-06-07
1022Italy2024-06-22
1023United Kingdom2024-06-14
1024Argentina2024-06-13
1025United Kingdom2024-06-13
1026Brazil2024-05-27
1027Brazil2024-06-08
1028Italy2024-06-23
1029Argentina2024-05-27
1030Spain2024-06-03
1031Spain2024-05-28
1032Canada2024-06-09
1033India2024-06-23
1034Italy2024-05-29
1035Argentina2024-06-19
1036Italy2024-05-31
1037Italy2024-06-22
1038Germany2024-06-14
1039Brazil2024-06-21
1040Russia2024-05-28
1041France2024-06-07
1042Brazil2024-06-03
1043Germany2024-06-17
1044Canada2024-05-26
1045India2024-06-17
1046Germany2024-06-03
1047United Kingdom2024-06-19
1048Australia2024-05-30
1049Japan2024-06-03

On-Demand Data

NameIdCountryDate
Izzy X Whobrey1000Germany2024-05-26
Julie O Poquette1001Canada2024-06-06
Jones E Oldroyd1002Japan2024-06-07
Aika Y Campain1003Australia2024-05-29
Octavia S Stenseth1004Russia2024-05-26
Adams W Caldarera1005Australia2024-06-14
Adams I Inouye1006Brazil2024-06-11
Nicolas M Ostrosky1007Argentina2024-06-22
Johnson J Chui1008France2024-06-14
David Z Dilliard1009United Kingdom2024-05-31
Julie Q Whobrey1010Germany2024-06-17
Kadeem K Glick1011Italy2024-06-14
Johnson R Nestle1012India2024-06-12
Stacey V Kolmetz1013United Kingdom2024-06-13
Morrow D Flosi1014United Kingdom2024-06-01
Arvin R Iturbide1015Japan2024-06-21
Aditya O Kusko1016Italy2024-06-02
Morrow I Iturbide1017France2024-06-04
Izzy G Albares1018France2024-06-09
Misaki T Ferencz1019Germany2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki W OldroydFranceIoni Bowcher UNQUALIFIED
Mayumi H CaldareraItalyAnna Fali NEGOTIATION
Greenwood V SchemmerRussiaXuxue Feng PROPOSAL
Octavia T PerinUnited KingdomAnna Fali PROPOSAL
Costa R VenereBrazilAsiya Javayant NEW
Munro V SaylorsIndiaAnna Fali QUALIFIED
Cody A SaylorsAustraliaIvan Magalhaes QUALIFIED
Adams K BriddickSpainIoni Bowcher NEW
Izzy J GarufiSpainAnna Fali NEGOTIATION
Darci L RimCanadaBernardo Dominic RENEWAL
Aika A OldroydFranceAsiya Javayant QUALIFIED
Jeanfrancois T WhobreyGermanyIvan Magalhaes QUALIFIED
Leja O StockhamAustraliaXuxue Feng PROPOSAL
Stacey D DoeArgentinaAnna Fali PROPOSAL
Misaki N OstroskyAustraliaIvan Magalhaes RENEWAL
Stacey E GarufiUnited KingdomElwin Sharvill QUALIFIED
Stacey H FlosiBrazilBernardo Dominic PROPOSAL
Mujtaba P GlickArgentinaBernardo Dominic NEGOTIATION
Mayumi H MaletGermanyAmy Elsner QUALIFIED
Arvin R RoysterUnited KingdomOnyama Limba UNQUALIFIED
Aruna X VenereItalyIvan Magalhaes NEGOTIATION
Faith P WieserRussiaElwin Sharvill UNQUALIFIED
Jefferson A OldroydBrazilStephen Shaw QUALIFIED
Salvatore D NickaArgentinaStephen Shaw NEGOTIATION
Kaitlin A SergiAustraliaIvan Magalhaes NEGOTIATION
Misaki D MorascaGermanyElwin Sharvill NEGOTIATION
Claire G VocelkaGermanyStephen Shaw PROPOSAL
Nicolas C AlbaresSpainIvan Magalhaes NEW
Aruna E FerenczCanadaStephen Shaw RENEWAL
Francesco L GillianArgentinaXuxue Feng PROPOSAL
Clifford L WaycottCanadaElwin Sharvill RENEWAL
Julie I PoquetteSpainIoni Bowcher QUALIFIED
Morrow J BowleyJapanBernardo Dominic UNQUALIFIED
Arvin M DoeIndiaOnyama Limba PROPOSAL
Clifford F GlickFranceIoni Bowcher RENEWAL
Isabel R SaylorsItalyIoni Bowcher NEGOTIATION
Maria E MaletBrazilXuxue Feng NEW
Kadeem J KuskoIndiaAsiya Javayant NEGOTIATION
James R GlickSpainAnna Fali RENEWAL
Mayumi A CaudyRussiaIoni Bowcher 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>