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
Chavez U CampainItalyElwin Sharvill RENEWAL
David X TollnerSpainOnyama Limba NEGOTIATION
Johnson I NickaItalyElwin Sharvill UNQUALIFIED
Jeanfrancois J OstroskyGermanyAmy Elsner NEGOTIATION
Sinclair A GlickUnited KingdomIoni Bowcher UNQUALIFIED
Isabel N FollerBrazilOnyama Limba PROPOSAL
Mujtaba Q InouyeItalyXuxue Feng PROPOSAL
Stacey H GarufiRussiaOnyama Limba RENEWAL
Aruna L GillianUnited KingdomAnna Fali NEW
Murillo Y MarrierGermanyAmy Elsner QUALIFIED
Silvio X AmigonSpainElwin Sharvill NEW
Munro Q KolmetzFranceXuxue Feng QUALIFIED
Adams L FollerJapanIoni Bowcher PROPOSAL
Johnson I NestleBrazilElwin Sharvill NEW
Claire F TollnerGermanyBernardo Dominic QUALIFIED
Aika U BriddickSpainIoni Bowcher RENEWAL
Octavia X ButtBrazilIvan Magalhaes NEGOTIATION
Faith M WieserUnited KingdomAnna Fali PROPOSAL
Deepesh L BriddickUnited KingdomAnna Fali NEGOTIATION
Darci J SlusarskiFranceAsiya Javayant QUALIFIED
Mayumi S BriddickRussiaIvan Magalhaes NEGOTIATION
Isabel Q ChuiArgentinaStephen Shaw UNQUALIFIED
Ricardo X PoquetteJapanElwin Sharvill UNQUALIFIED
Wickens I BriddickRussiaAnna Fali NEGOTIATION
Arvin U RimIndiaIoni Bowcher NEGOTIATION
Murillo W CaudyJapanXuxue Feng QUALIFIED
Rodrigues Z GillianIndiaOnyama Limba PROPOSAL
James L SchemmerJapanElwin Sharvill QUALIFIED
Stacey A FigeroaArgentinaAmy Elsner QUALIFIED
Maisha X GarufiSpainXuxue Feng NEW
Salvatore Z CaudyItalyBernardo Dominic QUALIFIED
Ashley V MorascaAustraliaOnyama Limba PROPOSAL
Jennifer S RutaAustraliaAmy Elsner PROPOSAL
Misaki Q ButtArgentinaAnna Fali NEGOTIATION
Deepesh C OldroydAustraliaIvan Magalhaes PROPOSAL
Morrow B VenereGermanyAsiya Javayant UNQUALIFIED
Silvio P MaletIndiaAnna Fali RENEWAL
Greenwood S ChuiUnited KingdomAnna Fali QUALIFIED
Salvatore O MaletUnited KingdomElwin Sharvill PROPOSAL
Jennifer X FigeroaCanadaXuxue Feng QUALIFIED
Izzy U NestleSpainAsiya Javayant PROPOSAL
Kaitlin F RutaUnited KingdomOnyama Limba NEW
Octavia H CaudyItalyXuxue Feng NEGOTIATION
Cody M WaycottItalyIvan Magalhaes RENEWAL
Alejandro G PoquetteGermanyElwin Sharvill PROPOSAL
Adams I MaletItalyAmy Elsner PROPOSAL
Jennifer D GlickSpainBernardo Dominic RENEWAL
Rodrigues M DarakjyBrazilStephen Shaw QUALIFIED
Ricardo B PerinArgentinaIoni Bowcher PROPOSAL
Ivar K SaylorsIndiaOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Salvatore W DilliardCanadaElwin Sharvill NEGOTIATION
Darci Z RulapaughAustraliaIoni Bowcher UNQUALIFIED
Misaki X StockhamGermanyElwin Sharvill NEW
Darci H PerinUnited KingdomIoni Bowcher NEW
Aditya I WieserBrazilIvan Magalhaes QUALIFIED
Alejandro M GauchoRussiaStephen Shaw NEW
Salvatore N BologniaUnited KingdomAmy Elsner UNQUALIFIED
Greenwood W MacleadBrazilBernardo Dominic NEW
Emily S MorascaAustraliaIvan Magalhaes PROPOSAL
Arvin L MorascaSpainAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar W BriddickFrance2024-05-20Dorl, James J Esq RENEWAL49Ioni Bowcher
1001Kadeem O FigeroaIndia2024-05-12Chapman, Ross E Esq QUALIFIED12Amy Elsner
1002Ivar F ChuiFrance2024-05-19Truhlar And Truhlar Attys RENEWAL24Onyama Limba
1003Francesco L KolmetzItaly2024-05-09Morlong Associates NEW57Stephen Shaw
1004Munro A AmigonItaly2024-05-18Rangoni Of Florence QUALIFIED56Xuxue Feng
1005Darci X GarufiItaly2024-05-07Dorl, James J Esq UNQUALIFIED6Anna Fali
1006Maria Z DarakjyArgentina2024-05-17King, Christopher A Esq PROPOSAL10Ioni Bowcher
1007Darci V SlusarskiJapan2024-05-22Dorl, James J Esq UNQUALIFIED99Anna Fali
1008Ivar M ShinkoAustralia2024-05-17Buckley Miller Wright NEGOTIATION4Asiya Javayant
1009Adams B CampainSpain2024-05-09Feltz Printing Service QUALIFIED47Bernardo Dominic
1010Maisha W GillianSpain2024-05-13Printing Dimensions UNQUALIFIED2Onyama Limba
1011Deepesh Z BowleyArgentina2024-04-27Chapman, Ross E Esq RENEWAL63Stephen Shaw
1012Jeanfrancois B FollerGermany2024-05-14King, Christopher A Esq NEW78Bernardo Dominic
1013Faith U VenereRussia2024-05-02Commercial Press PROPOSAL80Anna Fali
1014Leon G NestleItaly2024-05-10Rangoni Of Florence UNQUALIFIED38Onyama Limba
1015Claire O CampainFrance2024-04-29Rousseaux, Michael Esq NEW74Stephen Shaw
1016Ricardo A KolmetzSpain2024-05-14Chanay, Jeffrey A Esq NEW30Anna Fali
1017Kadeem H ButtAustralia2024-04-27Benton, John B Jr UNQUALIFIED47Amy Elsner
1018Maisha K MarrierFrance2024-05-08Chapman, Ross E Esq PROPOSAL87Ivan Magalhaes
1019Mayumi M PaprockiCanada2024-05-22Feltz Printing Service UNQUALIFIED97Amy Elsner
1020Julie S KolmetzBrazil2024-05-02Morlong Associates NEGOTIATION44Xuxue Feng
1021Jefferson I SergiIndia2024-05-13Dorl, James J Esq NEW60Stephen Shaw
1022Maria X MarrierBrazil2024-05-22Chanay, Jeffrey A Esq NEW13Amy Elsner
1023Tony V RutaFrance2024-05-24Feltz Printing Service UNQUALIFIED76Xuxue Feng
1024Adams Q StockhamJapan2024-05-16Printing Dimensions NEW64Bernardo Dominic
1025Sinclair K WieserRussia2024-04-28King, Christopher A Esq PROPOSAL56Elwin Sharvill
1026David V FollerCanada2024-05-22Chapman, Ross E Esq RENEWAL52Anna Fali
1027Ivar Z GillianJapan2024-04-30Dorl, James J Esq RENEWAL26Bernardo Dominic
1028Munro U OldroydItaly2024-05-05Feltz Printing Service NEW11Elwin Sharvill
1029Antonio M NestleSpain2024-05-01Benton, John B Jr PROPOSAL27Xuxue Feng
1030Aruna S WhobreyFrance2024-05-01Chapman, Ross E Esq RENEWAL5Asiya Javayant
1031Jefferson U WaycottRussia2024-05-10Buckley Miller Wright NEW31Ioni Bowcher
1032Morrow E RoysterArgentina2024-05-14Benton, John B Jr RENEWAL99Anna Fali
1033Emily D KolmetzGermany2024-05-23Chemel, James L Cpa PROPOSAL24Amy Elsner
1034Tony G RimAustralia2024-05-11Chanay, Jeffrey A Esq QUALIFIED81Stephen Shaw
1035Faith R VocelkaBrazil2024-05-18King, Christopher A Esq NEW51Onyama Limba
1036James N WaycottItaly2024-05-08Rangoni Of Florence QUALIFIED46Xuxue Feng
1037Ashley M StockhamAustralia2024-05-16Feiner Bros NEW8Amy Elsner
1038Izzy R OldroydUnited Kingdom2024-05-20Chanay, Jeffrey A Esq QUALIFIED91Bernardo Dominic
1039Murillo I DilliardBrazil2024-05-05King, Christopher A Esq NEGOTIATION42Ioni Bowcher
1040Rodrigues Y ButtIndia2024-05-19Rousseaux, Michael Esq PROPOSAL89Stephen Shaw
1041Jefferson F WieserSpain2024-05-01Feltz Printing Service UNQUALIFIED12Asiya Javayant
1042Morrow C KuskoFrance2024-05-19Rangoni Of Florence RENEWAL86Xuxue Feng
1043Jefferson E RimItaly2024-05-14Printing Dimensions QUALIFIED91Anna Fali
1044Juan P BologniaSpain2024-04-28Printing Dimensions QUALIFIED67Ivan Magalhaes
1045Clifford L OldroydCanada2024-04-27Benton, John B Jr PROPOSAL62Elwin Sharvill
1046Jones S VocelkaRussia2024-05-23Morlong Associates PROPOSAL61Bernardo Dominic
1047Wickens M NickaBrazil2024-04-27Dorl, James J Esq PROPOSAL78Asiya Javayant
1048Darci L DilliardBrazil2024-04-25Buckley Miller Wright NEW96Amy Elsner
1049Jennifer Y KolmetzCanada2024-05-05Chanay, Jeffrey A Esq PROPOSAL13Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Johnson N BowleyFranceAmy Elsner UNQUALIFIED
Johnson J GlickCanadaElwin Sharvill NEGOTIATION
Ricardo I SlusarskiGermanyIoni Bowcher NEGOTIATION
Greenwood D VenereBrazilIoni Bowcher NEW
Misaki Q SlusarskiAustraliaIvan Magalhaes QUALIFIED
Nicolas R PaprockiGermanyAnna Fali UNQUALIFIED
Morrow M AlbaresArgentinaStephen Shaw PROPOSAL
Octavia T VocelkaBrazilIoni Bowcher UNQUALIFIED
Deepesh D KuskoBrazilXuxue Feng PROPOSAL
Stacey O VenereGermanyStephen Shaw NEGOTIATION
Jefferson Y SlusarskiGermanyAnna Fali NEGOTIATION
Smith H KolmetzIndiaElwin Sharvill UNQUALIFIED
Clifford V ButtAustraliaOnyama Limba NEW
Juan Z FollerCanadaBernardo Dominic PROPOSAL
Francesco T BologniaGermanyOnyama Limba UNQUALIFIED
Maisha N StockhamJapanElwin Sharvill QUALIFIED
Salvatore C ButtIndiaIvan Magalhaes NEGOTIATION
Juan E KuskoAustraliaIvan Magalhaes NEGOTIATION
Jefferson I MarrierSpainAnna Fali QUALIFIED
Kaitlin D BriddickCanadaAsiya Javayant PROPOSAL
Clifford I OldroydJapanAnna Fali PROPOSAL
Ricardo H AmigonSpainAsiya Javayant UNQUALIFIED
Silvio M ButtRussiaBernardo Dominic QUALIFIED
Costa Y IturbideAustraliaXuxue Feng UNQUALIFIED
Murillo W FigeroaAustraliaIoni Bowcher NEGOTIATION
Francesco W VocelkaFranceElwin Sharvill UNQUALIFIED
Aika U SchemmerCanadaIvan Magalhaes QUALIFIED
Greenwood F RutaFranceIoni Bowcher NEGOTIATION
Rodrigues J NickaSpainBernardo Dominic UNQUALIFIED
Ricardo D StensethAustraliaStephen Shaw UNQUALIFIED
Deepesh I FigeroaSpainIvan Magalhaes UNQUALIFIED
Juan Y KuskoGermanyAsiya Javayant RENEWAL
Stacey D KuskoUnited KingdomIvan Magalhaes NEGOTIATION
Clifford Y FerenczIndiaAsiya Javayant QUALIFIED
Smith U SlusarskiJapanStephen Shaw QUALIFIED
Morrow X AmigonUnited KingdomStephen Shaw NEGOTIATION
Emily Q IturbideItalyIoni Bowcher UNQUALIFIED
Octavia V ChuiCanadaAnna Fali PROPOSAL
Jones B GauchoGermanyStephen Shaw QUALIFIED
Chavez F SergiItalyAnna Fali RENEWAL
David V AmigonItalyElwin Sharvill PROPOSAL
Murillo W ButtCanadaAnna Fali QUALIFIED
Alejandro C FlosiFranceAnna Fali QUALIFIED
Leja K VenereCanadaAnna Fali UNQUALIFIED
Isabel S RimRussiaOnyama Limba UNQUALIFIED
Munro E TollnerFranceElwin Sharvill UNQUALIFIED
Murillo I RimJapanAnna Fali PROPOSAL
Alejandro Q ShinkoGermanyAmy Elsner NEW
Cody H BologniaCanadaBernardo Dominic RENEWAL
Leja T WieserItalyIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Emily Y Waycott
Octavia M Amigon
Ivar S Figeroa
Leon F Poquette
Salvatore B Flosi
Aruna Z Sergi
Stacey I Oldroyd
Julie C Gaucho
Darci S Royster
Leja L Vocelka
Antonio I Slusarski
Deepesh F Figeroa
Smith G Foller
Chavez A Rim
Alejandro M Vocelka
Adams R Schemmer
Wickens A Rulapaugh
Emily A Darakjy
David Q Morasca
Maria S Darakjy
Jefferson O Ostrosky
Deepesh O Amigon
Chavez S Maclead
Claire N Oldroyd
Rodrigues N Paprocki
James X Venere
Julie K Dilliard
Kadeem H Stenseth
Murillo C Kusko
Clifford N Shinko
Murillo V Saylors
Cody Q Caudy
Faith U Venere
Costa P Albares
Tony L Briddick
Misaki F Morasca
Tony I Paprocki
Emily I Bolognia
Adams L Figeroa
Stacey G Caudy
Julie J Morasca
Silvio C Bowley
Darci D Ferencz
Claire Q Wieser
Morrow D Nestle
Stacey F Gaucho
Ricardo D Malet
Clifford J Nestle
Johnson H Paprocki
Deepesh J Perin
IdCountryDate
1000Italy2024-05-02
1001Japan2024-05-24
1002Italy2024-05-07
1003India2024-05-17
1004Germany2024-05-23
1005Italy2024-05-11
1006Australia2024-05-06
1007Russia2024-05-21
1008Argentina2024-05-13
1009France2024-05-12
1010Russia2024-05-04
1011Italy2024-04-30
1012Canada2024-05-12
1013United Kingdom2024-05-21
1014United Kingdom2024-05-15
1015Germany2024-05-15
1016United Kingdom2024-05-06
1017Japan2024-05-13
1018Spain2024-05-03
1019Australia2024-04-27
1020Russia2024-05-09
1021Australia2024-05-04
1022Italy2024-05-15
1023India2024-05-12
1024Italy2024-05-17
1025Germany2024-05-09
1026Germany2024-05-20
1027Spain2024-05-01
1028Italy2024-05-09
1029Russia2024-05-15
1030Brazil2024-05-08
1031Italy2024-05-13
1032Canada2024-04-26
1033Spain2024-05-04
1034Japan2024-04-28
1035Germany2024-05-17
1036Japan2024-05-10
1037Italy2024-05-14
1038Italy2024-05-15
1039Canada2024-05-09
1040Russia2024-05-20
1041Spain2024-05-18
1042Canada2024-05-04
1043United Kingdom2024-05-09
1044Australia2024-04-28
1045Brazil2024-04-26
1046Japan2024-05-02
1047Germany2024-05-09
1048Canada2024-04-30
1049Spain2024-05-18

On-Demand Data

NameIdCountryDate
Arvin L Inouye1000India2024-05-19
Antonio A Shinko1001France2024-05-07
Chavez A Oldroyd1002Australia2024-05-11
Emily B Tollner1003Japan2024-05-20
Salvatore C Figeroa1004India2024-05-19
Smith K Kusko1005Spain2024-05-09
Octavia N Kolmetz1006India2024-05-24
David K Foller1007Russia2024-05-04
Cody H Amigon1008Argentina2024-05-09
Julie K Kolmetz1009Germany2024-05-19
Clifford J Ferencz1010France2024-05-13
Maisha U Shinko1011Argentina2024-05-09
Wickens I Kusko1012Canada2024-05-16
Kadeem I Amigon1013Spain2024-05-07
Costa J Albares1014India2024-05-08
Aruna J Chui1015Italy2024-05-02
Mayumi Y Gaucho1016Canada2024-05-07
Chavez S Amigon1017Argentina2024-05-10
Stacey D Malet1018Australia2024-04-28
Costa J Iturbide1019Russia2024-04-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin Y OldroydRussiaStephen Shaw QUALIFIED
Munro Q StensethJapanAmy Elsner UNQUALIFIED
Morrow E NestleRussiaIoni Bowcher PROPOSAL
Kaitlin T GillianIndiaIvan Magalhaes NEGOTIATION
Isabel E SchemmerGermanyAnna Fali UNQUALIFIED
Ivar C AmigonFranceAnna Fali UNQUALIFIED
Kadeem W FollerCanadaAsiya Javayant NEGOTIATION
Morrow Y KuskoUnited KingdomIoni Bowcher UNQUALIFIED
Kadeem F PerinBrazilIoni Bowcher QUALIFIED
Aditya K SchemmerAustraliaXuxue Feng RENEWAL
Mayumi P BologniaBrazilAmy Elsner QUALIFIED
James F DarakjyAustraliaIoni Bowcher PROPOSAL
Greenwood J OstroskyCanadaAnna Fali NEGOTIATION
Cody H BowleyCanadaIoni Bowcher RENEWAL
Faith O CampainJapanIvan Magalhaes UNQUALIFIED
Darci H RimCanadaXuxue Feng RENEWAL
Sinclair L SlusarskiArgentinaBernardo Dominic RENEWAL
Cody D GillianGermanyAsiya Javayant QUALIFIED
Stacey H GillianSpainBernardo Dominic RENEWAL
Alejandro A SergiSpainIoni Bowcher UNQUALIFIED
Smith L SchemmerRussiaAmy Elsner QUALIFIED
Clifford J VenereAustraliaIoni Bowcher RENEWAL
James Y VenereArgentinaAsiya Javayant NEW
Kaitlin G GauchoJapanIoni Bowcher RENEWAL
Misaki X DilliardGermanyAsiya Javayant QUALIFIED
Darci L RimGermanyElwin Sharvill PROPOSAL
Emily I FollerUnited KingdomIvan Magalhaes UNQUALIFIED
James K SlusarskiBrazilAsiya Javayant UNQUALIFIED
Antonio V OldroydUnited KingdomBernardo Dominic PROPOSAL
Faith H RutaItalyOnyama Limba QUALIFIED
Juan P GarufiAustraliaIoni Bowcher PROPOSAL
Aika W SlusarskiCanadaIvan Magalhaes QUALIFIED
Julie P GauchoGermanyIoni Bowcher UNQUALIFIED
Alejandro H BologniaGermanyAmy Elsner NEGOTIATION
Salvatore N AlbaresBrazilIvan Magalhaes NEGOTIATION
Jefferson L OstroskyFranceAsiya Javayant NEGOTIATION
Izzy O ShinkoCanadaAnna Fali PROPOSAL
Jeanfrancois S DoeItalyIoni Bowcher NEW
Jennifer I RutaSpainStephen Shaw QUALIFIED
Mujtaba B BriddickCanadaXuxue Feng 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>