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
Claire I ButtAustraliaStephen Shaw QUALIFIED
Juan S FlosiCanadaBernardo Dominic NEGOTIATION
Munro D PoquetteArgentinaIoni Bowcher UNQUALIFIED
Morrow W MarrierUnited KingdomStephen Shaw PROPOSAL
Claire C DoeItalyXuxue Feng UNQUALIFIED
Chavez G GauchoBrazilAmy Elsner NEW
Greenwood O MorascaBrazilOnyama Limba UNQUALIFIED
Munro W DilliardArgentinaIvan Magalhaes NEW
Munro U PoquetteFranceXuxue Feng NEW
Jefferson C OstroskyUnited KingdomIoni Bowcher RENEWAL
Claire U RoysterJapanIoni Bowcher RENEWAL
Rodrigues M RulapaughSpainIvan Magalhaes PROPOSAL
Francesco O NestleRussiaIvan Magalhaes PROPOSAL
Kaitlin Z BowleyBrazilBernardo Dominic QUALIFIED
Ivar G StockhamCanadaIoni Bowcher UNQUALIFIED
Maisha V CaldareraRussiaStephen Shaw PROPOSAL
Silvio O OldroydItalyIvan Magalhaes PROPOSAL
Tony S GillianFranceAsiya Javayant UNQUALIFIED
Rodrigues Y WhobreyFranceStephen Shaw NEGOTIATION
Jefferson Z VenereBrazilStephen Shaw RENEWAL
James K OstroskyAustraliaElwin Sharvill PROPOSAL
Juan B MacleadAustraliaElwin Sharvill NEGOTIATION
Tony C SchemmerRussiaOnyama Limba QUALIFIED
Morrow K MorascaItalyIoni Bowcher NEGOTIATION
Nicolas V RulapaughBrazilIvan Magalhaes PROPOSAL
Johnson P VocelkaBrazilElwin Sharvill RENEWAL
Jones K AlbaresItalyBernardo Dominic UNQUALIFIED
Julie Z RoysterAustraliaXuxue Feng NEGOTIATION
Ivar L ShinkoSpainIoni Bowcher PROPOSAL
Rodrigues P VenereRussiaIvan Magalhaes NEW
Emily D BologniaCanadaStephen Shaw PROPOSAL
Claire N DoeGermanyElwin Sharvill PROPOSAL
Sinclair I BriddickSpainOnyama Limba NEW
Francesco O MarrierFranceAmy Elsner PROPOSAL
Faith N GauchoFranceAnna Fali PROPOSAL
Maria Y SlusarskiItalyAsiya Javayant NEW
Jefferson W GauchoBrazilStephen Shaw QUALIFIED
Sinclair Q BowleyUnited KingdomBernardo Dominic UNQUALIFIED
Maria O InouyeFranceAsiya Javayant NEW
Costa N StockhamItalyOnyama Limba QUALIFIED
Jennifer D BowleyJapanIoni Bowcher PROPOSAL
Cody I SchemmerUnited KingdomElwin Sharvill QUALIFIED
Kaitlin I SchemmerRussiaOnyama Limba QUALIFIED
Aditya V BologniaJapanElwin Sharvill UNQUALIFIED
Salvatore V OstroskyIndiaAmy Elsner UNQUALIFIED
Kadeem X IturbideBrazilStephen Shaw UNQUALIFIED
Mujtaba Q NickaItalyIoni Bowcher NEW
Octavia W AlbaresJapanAnna Fali QUALIFIED
Francesco V MaletIndiaIvan Magalhaes NEW
Clifford B SergiCanadaStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Silvio F DoeBrazilBernardo Dominic UNQUALIFIED
Julie K SchemmerGermanyIvan Magalhaes QUALIFIED
Leon R PerinIndiaAnna Fali PROPOSAL
Jones D PoquetteAustraliaIvan Magalhaes UNQUALIFIED
Tony M MorascaSpainBernardo Dominic PROPOSAL
Tony P InouyeArgentinaOnyama Limba NEGOTIATION
Ashley Y FlosiUnited KingdomElwin Sharvill NEGOTIATION
Julie W PerinIndiaOnyama Limba NEGOTIATION
Leon L InouyeAustraliaXuxue Feng NEGOTIATION
Tony J GillianBrazilIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey G RutaJapan2024-06-17Morlong Associates RENEWAL91Elwin Sharvill
1001Jefferson T FigeroaBrazil2024-06-21Buckley Miller Wright QUALIFIED56Asiya Javayant
1002Adams G GlickJapan2024-05-28Dorl, James J Esq QUALIFIED74Onyama Limba
1003Julie M OldroydCanada2024-06-17Chanay, Jeffrey A Esq PROPOSAL1Stephen Shaw
1004Sinclair H VenereAustralia2024-06-24Benton, John B Jr UNQUALIFIED2Ioni Bowcher
1005Leja A NickaArgentina2024-06-20Chanay, Jeffrey A Esq UNQUALIFIED45Asiya Javayant
1006Jefferson Y AlbaresFrance2024-06-24Commercial Press NEW76Ioni Bowcher
1007Greenwood K BriddickJapan2024-05-26Chanay, Jeffrey A Esq PROPOSAL3Onyama Limba
1008Sinclair H FlosiAustralia2024-06-19Feiner Bros NEGOTIATION75Asiya Javayant
1009Leja A WieserItaly2024-05-29Dorl, James J Esq PROPOSAL56Amy Elsner
1010Faith W SergiFrance2024-05-26Commercial Press QUALIFIED76Stephen Shaw
1011Adams S CaldareraFrance2024-06-02Buckley Miller Wright NEW11Onyama Limba
1012Juan D InouyeIndia2024-06-18Printing Dimensions QUALIFIED8Anna Fali
1013Maisha M MorascaIndia2024-06-17Feiner Bros UNQUALIFIED42Ioni Bowcher
1014Salvatore Y AlbaresGermany2024-06-07Buckley Miller Wright NEGOTIATION94Elwin Sharvill
1015Munro L AlbaresJapan2024-05-27Buckley Miller Wright UNQUALIFIED5Ivan Magalhaes
1016Ivar X PoquetteRussia2024-05-27Rousseaux, Michael Esq RENEWAL20Ivan Magalhaes
1017David H WhobreyCanada2024-06-13Rangoni Of Florence QUALIFIED0Asiya Javayant
1018James G MacleadGermany2024-06-22Chanay, Jeffrey A Esq UNQUALIFIED73Ivan Magalhaes
1019Maisha J GillianIndia2024-06-23Feiner Bros PROPOSAL22Ivan Magalhaes
1020Octavia N RutaIndia2024-06-16Benton, John B Jr QUALIFIED24Elwin Sharvill
1021Chavez U SlusarskiBrazil2024-05-26Truhlar And Truhlar Attys QUALIFIED47Amy Elsner
1022Izzy G FollerJapan2024-06-15Dorl, James J Esq QUALIFIED77Anna Fali
1023Aika R WhobreyBrazil2024-06-18Dorl, James J Esq UNQUALIFIED47Elwin Sharvill
1024Leon P BriddickArgentina2024-06-14Truhlar And Truhlar Attys QUALIFIED16Ivan Magalhaes
1025Aruna D RutaAustralia2024-06-06Commercial Press UNQUALIFIED19Stephen Shaw
1026Rodrigues S CaudyBrazil2024-06-13Truhlar And Truhlar Attys QUALIFIED51Ioni Bowcher
1027Aika C MaletRussia2024-05-31Benton, John B Jr UNQUALIFIED65Amy Elsner
1028Mujtaba H OstroskySpain2024-06-07King, Christopher A Esq RENEWAL60Onyama Limba
1029Salvatore Y GillianSpain2024-06-24Printing Dimensions RENEWAL52Ioni Bowcher
1030James Y GillianSpain2024-06-10Commercial Press NEW25Onyama Limba
1031Deepesh Y OstroskySpain2024-06-09Chemel, James L Cpa NEW9Xuxue Feng
1032Darci G CaudyFrance2024-06-12Chemel, James L Cpa UNQUALIFIED63Stephen Shaw
1033Emily I WhobreyRussia2024-06-09Chemel, James L Cpa RENEWAL46Ivan Magalhaes
1034Silvio X CampainItaly2024-06-01Benton, John B Jr NEW26Onyama Limba
1035Kaitlin M NestleGermany2024-05-30Feiner Bros NEGOTIATION5Bernardo Dominic
1036Antonio K PerinCanada2024-06-16Chanay, Jeffrey A Esq UNQUALIFIED19Anna Fali
1037Leon G ChuiArgentina2024-06-15Morlong Associates UNQUALIFIED54Ioni Bowcher
1038Costa D ButtItaly2024-06-02Chanay, Jeffrey A Esq NEGOTIATION27Amy Elsner
1039Johnson O MaletJapan2024-06-12Rousseaux, Michael Esq RENEWAL98Ioni Bowcher
1040Rodrigues O WieserArgentina2024-05-27Rangoni Of Florence RENEWAL50Asiya Javayant
1041Misaki H VenereBrazil2024-06-02Feiner Bros NEW41Anna Fali
1042Francesco X NickaCanada2024-06-23Chapman, Ross E Esq RENEWAL33Xuxue Feng
1043Darci F SaylorsRussia2024-05-27Rousseaux, Michael Esq NEGOTIATION54Elwin Sharvill
1044Julie G MorascaGermany2024-06-20Dorl, James J Esq NEW56Amy Elsner
1045Mujtaba W PoquetteSpain2024-06-02Chapman, Ross E Esq RENEWAL88Ioni Bowcher
1046Kaitlin K VocelkaJapan2024-06-04Benton, John B Jr NEGOTIATION67Xuxue Feng
1047Jeanfrancois K SergiArgentina2024-06-20Chapman, Ross E Esq RENEWAL44Asiya Javayant
1048Nicolas Q InouyeItaly2024-05-28Truhlar And Truhlar Attys PROPOSAL8Amy Elsner
1049Jeanfrancois N SlusarskiItaly2024-06-04Feiner Bros PROPOSAL82Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Leon Q ButtFranceAnna Fali UNQUALIFIED
Morrow X DarakjyUnited KingdomIvan Magalhaes PROPOSAL
David M GarufiCanadaAnna Fali UNQUALIFIED
Silvio T DarakjySpainAnna Fali UNQUALIFIED
Mayumi C BowleyCanadaAnna Fali NEGOTIATION
Stacey V WhobreySpainElwin Sharvill NEW
Leon H KolmetzIndiaIoni Bowcher UNQUALIFIED
Aditya A WhobreyRussiaBernardo Dominic UNQUALIFIED
Sinclair N AlbaresIndiaIvan Magalhaes NEGOTIATION
Rodrigues Z VenereIndiaAnna Fali NEGOTIATION
Arvin C KuskoAustraliaIoni Bowcher NEGOTIATION
Adams Z FigeroaRussiaAmy Elsner NEGOTIATION
Salvatore Y PerinArgentinaAsiya Javayant NEW
Claire B GillianBrazilXuxue Feng NEGOTIATION
Tony K AmigonSpainXuxue Feng PROPOSAL
Ricardo F BriddickArgentinaStephen Shaw QUALIFIED
Greenwood V StensethJapanElwin Sharvill PROPOSAL
Greenwood S SchemmerAustraliaIvan Magalhaes QUALIFIED
Aruna F CaldareraUnited KingdomIoni Bowcher NEW
Juan U BologniaItalyAmy Elsner RENEWAL
Emily Z CaldareraGermanyAnna Fali RENEWAL
Nicolas V FerenczSpainStephen Shaw NEGOTIATION
James M BriddickArgentinaAnna Fali NEW
Francesco V GauchoIndiaStephen Shaw NEW
Emily T BologniaFranceStephen Shaw RENEWAL
Silvio V FlosiUnited KingdomAsiya Javayant NEW
Jefferson O DoeCanadaStephen Shaw NEGOTIATION
Emily F AlbaresAustraliaElwin Sharvill NEGOTIATION
Jennifer Y CaldareraAustraliaBernardo Dominic QUALIFIED
Cody X RimBrazilIvan Magalhaes PROPOSAL
Francesco Q GillianJapanBernardo Dominic UNQUALIFIED
Octavia K PerinIndiaBernardo Dominic RENEWAL
Greenwood Z ButtArgentinaAnna Fali QUALIFIED
Misaki N WieserIndiaBernardo Dominic UNQUALIFIED
Jefferson T OldroydCanadaAsiya Javayant NEW
Darci C MaletRussiaStephen Shaw QUALIFIED
Isabel L SlusarskiArgentinaStephen Shaw NEW
Jefferson C OldroydArgentinaIvan Magalhaes NEGOTIATION
Greenwood W GarufiGermanyAmy Elsner NEW
Greenwood E GauchoBrazilIvan Magalhaes NEW
Greenwood I GlickArgentinaXuxue Feng NEGOTIATION
Morrow X DarakjyItalyOnyama Limba NEW
Smith S RoysterRussiaOnyama Limba QUALIFIED
Kadeem B KuskoIndiaIoni Bowcher PROPOSAL
Tony E ShinkoGermanyElwin Sharvill RENEWAL
Maria B DarakjyBrazilAsiya Javayant UNQUALIFIED
Wickens D FlosiBrazilStephen Shaw QUALIFIED
Darci C BowleyBrazilAmy Elsner RENEWAL
Deepesh E GlickItalyAmy Elsner RENEWAL
Julie T AmigonArgentinaXuxue Feng NEGOTIATION
Frozen Columns
Name
Ricardo J Kolmetz
Jefferson N Marrier
Leja S Butt
Julie D Butt
Claire P Amigon
Claire N Perin
Salvatore X Caldarera
Munro S Briddick
Rodrigues U Butt
Nicolas V Caudy
Alejandro B Wieser
Claire S Kusko
James P Ostrosky
Munro T Tollner
Ricardo L Slusarski
Alejandro Q Morasca
Jones F Sergi
Sinclair T Gillian
Deepesh H Marrier
Izzy V Flosi
Ricardo A Marrier
Leon R Kolmetz
Jones I Venere
Juan G Shinko
Tony I Briddick
Leja M Waycott
Leja C Glick
Jennifer Z Flosi
Arvin D Shinko
Izzy P Bolognia
Claire W Saylors
Francesco E Inouye
Kaitlin Z Malet
Ashley R Kolmetz
Faith P Ferencz
Clifford L Stockham
Kadeem R Campain
Stacey Q Ruta
Leon A Bolognia
Nicolas A Doe
Jennifer E Iturbide
Kaitlin O Inouye
Emily P Oldroyd
Silvio U Glick
Wickens F Nicka
Greenwood T Dilliard
Sinclair K Briddick
Isabel V Stockham
Johnson O Stockham
Maria W Ruta
IdCountryDate
1000Argentina2024-06-11
1001Italy2024-06-24
1002France2024-06-22
1003Germany2024-05-31
1004Brazil2024-06-17
1005Argentina2024-05-31
1006France2024-06-11
1007Russia2024-06-12
1008Russia2024-06-08
1009Italy2024-06-04
1010Brazil2024-06-07
1011Australia2024-06-12
1012Australia2024-06-05
1013Japan2024-06-24
1014Spain2024-06-19
1015Brazil2024-06-13
1016Australia2024-06-01
1017Canada2024-06-17
1018India2024-06-02
1019Canada2024-06-13
1020Spain2024-06-14
1021France2024-06-09
1022Russia2024-06-23
1023United Kingdom2024-06-17
1024Germany2024-06-16
1025Italy2024-06-20
1026Argentina2024-06-09
1027United Kingdom2024-06-06
1028Argentina2024-05-30
1029Australia2024-06-05
1030Canada2024-06-16
1031Russia2024-06-01
1032Spain2024-06-07
1033Australia2024-06-05
1034Spain2024-06-17
1035Australia2024-06-01
1036Russia2024-06-12
1037United Kingdom2024-06-22
1038United Kingdom2024-06-02
1039Spain2024-06-06
1040Canada2024-06-22
1041Canada2024-06-11
1042Japan2024-06-12
1043Australia2024-06-04
1044Brazil2024-06-07
1045United Kingdom2024-06-19
1046India2024-05-28
1047Brazil2024-06-14
1048Canada2024-05-29
1049Germany2024-06-18

On-Demand Data

NameIdCountryDate
Maisha P Nestle1000Japan2024-05-28
Francesco S Nestle1001Argentina2024-06-07
Jeanfrancois Z Poquette1002Japan2024-05-26
Silvio R Shinko1003Germany2024-06-15
Faith T Gaucho1004Japan2024-06-24
Octavia B Inouye1005United Kingdom2024-06-12
Leon N Oldroyd1006Spain2024-06-04
Murillo B Poquette1007Argentina2024-06-20
Kaitlin J Sergi1008Brazil2024-06-14
Salvatore Y Garufi1009United Kingdom2024-06-09
Leon O Figeroa1010Italy2024-06-07
Izzy Z Butt1011Italy2024-06-12
Emily C Inouye1012India2024-06-12
Johnson L Malet1013Russia2024-06-22
Francesco F Chui1014Argentina2024-06-11
Ashley Q Nicka1015Argentina2024-06-11
Chavez P Morasca1016Italy2024-06-20
Jefferson P Caldarera1017France2024-06-07
Misaki Z Ferencz1018Japan2024-05-30
Kadeem L Ostrosky1019Italy2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley C WhobreyJapanIoni Bowcher PROPOSAL
Munro N MaletSpainAnna Fali PROPOSAL
Johnson O ButtFranceElwin Sharvill QUALIFIED
David V IturbideUnited KingdomAsiya Javayant RENEWAL
Emily M ChuiItalyIoni Bowcher RENEWAL
Darci F MorascaAustraliaElwin Sharvill PROPOSAL
Stacey J SaylorsCanadaXuxue Feng NEGOTIATION
Juan Z GauchoUnited KingdomAmy Elsner UNQUALIFIED
Costa Q BologniaSpainXuxue Feng NEGOTIATION
Silvio G PerinSpainIoni Bowcher NEGOTIATION
David D VenereFranceElwin Sharvill PROPOSAL
Aditya B MarrierSpainIvan Magalhaes NEW
Chavez G GlickGermanyIoni Bowcher NEW
Misaki P GauchoIndiaStephen Shaw PROPOSAL
Izzy P TollnerGermanyStephen Shaw NEGOTIATION
Aditya J AmigonArgentinaStephen Shaw NEW
Kaitlin Z CaudyRussiaIvan Magalhaes UNQUALIFIED
Alejandro X ShinkoRussiaOnyama Limba PROPOSAL
Kaitlin O NickaSpainAmy Elsner RENEWAL
Jefferson H FerenczRussiaOnyama Limba UNQUALIFIED
Cody M RutaJapanIvan Magalhaes PROPOSAL
Adams Q InouyeSpainIoni Bowcher QUALIFIED
Munro Z AlbaresJapanAsiya Javayant QUALIFIED
David O CaudyFranceIvan Magalhaes UNQUALIFIED
Alejandro X MaletGermanyAnna Fali RENEWAL
Clifford T WieserRussiaBernardo Dominic NEGOTIATION
Leja C OldroydGermanyXuxue Feng PROPOSAL
Darci F OstroskyBrazilBernardo Dominic UNQUALIFIED
Claire U CaudySpainElwin Sharvill NEGOTIATION
Francesco X KolmetzGermanyOnyama Limba NEGOTIATION
Julie P RimSpainAmy Elsner RENEWAL
Leja B CaldareraRussiaIvan Magalhaes RENEWAL
Clifford D CampainFranceBernardo Dominic PROPOSAL
Kadeem D ChuiGermanyAnna Fali PROPOSAL
Morrow D MaletRussiaOnyama Limba NEW
Murillo A AlbaresGermanyOnyama Limba UNQUALIFIED
Silvio J OldroydArgentinaXuxue Feng QUALIFIED
Greenwood T KuskoSpainBernardo Dominic NEGOTIATION
Ivar R MaletItalyIoni Bowcher NEW
Ashley G RimAustraliaBernardo Dominic PROPOSAL

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