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
Smith N OstroskyBrazilStephen Shaw NEGOTIATION
Kaitlin O DoeBrazilXuxue Feng PROPOSAL
Costa O RimCanadaIoni Bowcher NEW
Deepesh Z PerinRussiaIoni Bowcher NEGOTIATION
Costa C OstroskyCanadaIoni Bowcher UNQUALIFIED
Jefferson V AmigonRussiaStephen Shaw UNQUALIFIED
Sinclair B BowleyUnited KingdomStephen Shaw NEW
Alejandro C VocelkaUnited KingdomBernardo Dominic QUALIFIED
James I AlbaresFranceXuxue Feng RENEWAL
Clifford I PerinUnited KingdomElwin Sharvill NEGOTIATION
Ricardo O DilliardCanadaIoni Bowcher NEGOTIATION
Octavia P AlbaresAustraliaAmy Elsner QUALIFIED
Mayumi F MorascaGermanyStephen Shaw PROPOSAL
Kaitlin F WieserSpainAsiya Javayant NEGOTIATION
Deepesh M BologniaCanadaOnyama Limba NEW
Maria U PoquetteIndiaXuxue Feng PROPOSAL
David J OstroskyRussiaIoni Bowcher UNQUALIFIED
James V ShinkoCanadaBernardo Dominic UNQUALIFIED
Arvin J SergiItalyOnyama Limba NEGOTIATION
Maria F WhobreyArgentinaOnyama Limba NEW
Ivar N SergiIndiaAmy Elsner RENEWAL
Juan E FerenczCanadaStephen Shaw RENEWAL
Izzy W CaldareraBrazilIoni Bowcher RENEWAL
Munro N MarrierFranceIvan Magalhaes NEW
Aruna S ShinkoUnited KingdomAnna Fali RENEWAL
Mujtaba K OldroydUnited KingdomIvan Magalhaes RENEWAL
Jefferson B OldroydCanadaAmy Elsner RENEWAL
Leon L SlusarskiFranceAmy Elsner PROPOSAL
Emily W MaletCanadaAmy Elsner UNQUALIFIED
Nicolas K AmigonBrazilElwin Sharvill QUALIFIED
Ivar E KolmetzArgentinaStephen Shaw QUALIFIED
David C GarufiCanadaAsiya Javayant QUALIFIED
Claire C SergiGermanyBernardo Dominic NEW
Adams O VenereGermanyOnyama Limba UNQUALIFIED
Stacey P SchemmerCanadaAnna Fali NEGOTIATION
Ashley N RulapaughCanadaIvan Magalhaes RENEWAL
Jefferson B VocelkaItalyStephen Shaw QUALIFIED
Morrow G SergiArgentinaAsiya Javayant PROPOSAL
Juan V NestleItalyStephen Shaw QUALIFIED
Jeanfrancois Z StensethGermanyStephen Shaw PROPOSAL
Aika P WaycottUnited KingdomIoni Bowcher PROPOSAL
Kadeem J KuskoGermanyAnna Fali PROPOSAL
Julie H AmigonBrazilOnyama Limba RENEWAL
Nicolas J CaldareraJapanAmy Elsner QUALIFIED
Mayumi X BriddickSpainAnna Fali RENEWAL
Wickens W KuskoFranceAsiya Javayant UNQUALIFIED
Wickens G InouyeFranceOnyama Limba RENEWAL
Morrow H InouyeIndiaIoni Bowcher UNQUALIFIED
Jones W NestleItalyIvan Magalhaes QUALIFIED
Munro W ShinkoJapanXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Emily O FigeroaJapanXuxue Feng PROPOSAL
Maria A BriddickSpainBernardo Dominic NEW
Claire E WieserCanadaOnyama Limba RENEWAL
Faith E SchemmerUnited KingdomOnyama Limba NEW
Faith C ButtFranceIvan Magalhaes NEW
Chavez T SergiUnited KingdomIvan Magalhaes NEW
David T FerenczIndiaStephen Shaw PROPOSAL
Kadeem E AlbaresBrazilStephen Shaw NEW
Munro I AlbaresGermanyElwin Sharvill PROPOSAL
Darci N CaudyAustraliaIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio S StensethJapan2024-06-05Feiner Bros RENEWAL49Xuxue Feng
1001Nicolas D SchemmerSpain2024-06-03Chanay, Jeffrey A Esq PROPOSAL43Stephen Shaw
1002Aruna I CaudySpain2024-06-22Printing Dimensions PROPOSAL63Elwin Sharvill
1003Sinclair Y MacleadItaly2024-05-24Truhlar And Truhlar Attys QUALIFIED66Asiya Javayant
1004Francesco Y NestleFrance2024-05-26Dorl, James J Esq PROPOSAL34Asiya Javayant
1005Adams H BologniaFrance2024-06-03Buckley Miller Wright PROPOSAL67Anna Fali
1006Greenwood A VenereBrazil2024-06-13Dorl, James J Esq NEGOTIATION35Bernardo Dominic
1007Wickens I BologniaBrazil2024-05-29Morlong Associates PROPOSAL25Ivan Magalhaes
1008Mayumi E OstroskyJapan2024-06-02Dorl, James J Esq QUALIFIED87Bernardo Dominic
1009Antonio S FollerUnited Kingdom2024-05-29Commercial Press UNQUALIFIED77Onyama Limba
1010Octavia Y SaylorsCanada2024-05-26Buckley Miller Wright QUALIFIED70Onyama Limba
1011Wickens V SergiSpain2024-05-31Dorl, James J Esq UNQUALIFIED75Onyama Limba
1012Sinclair C AlbaresFrance2024-06-11Chanay, Jeffrey A Esq PROPOSAL1Stephen Shaw
1013Salvatore X SchemmerFrance2024-06-11Chemel, James L Cpa NEW65Bernardo Dominic
1014Aruna V MorascaFrance2024-06-13Chemel, James L Cpa QUALIFIED21Stephen Shaw
1015Stacey Q RulapaughGermany2024-06-07Chanay, Jeffrey A Esq NEGOTIATION61Bernardo Dominic
1016Jennifer N AlbaresCanada2024-06-07Printing Dimensions UNQUALIFIED34Amy Elsner
1017Aika I FlosiAustralia2024-06-07Chanay, Jeffrey A Esq QUALIFIED90Elwin Sharvill
1018Clifford B SergiArgentina2024-05-25Morlong Associates NEW69Elwin Sharvill
1019Ashley L SergiGermany2024-05-31Chanay, Jeffrey A Esq NEW59Ioni Bowcher
1020Stacey D SergiIndia2024-06-12Rangoni Of Florence UNQUALIFIED90Bernardo Dominic
1021David R DarakjySpain2024-05-30Rousseaux, Michael Esq NEW29Anna Fali
1022Clifford U NickaIndia2024-06-21Chanay, Jeffrey A Esq QUALIFIED11Xuxue Feng
1023Emily Y OstroskySpain2024-05-28Truhlar And Truhlar Attys NEGOTIATION2Amy Elsner
1024Antonio Z VenereFrance2024-06-11Commercial Press RENEWAL75Ivan Magalhaes
1025Jennifer X DoeUnited Kingdom2024-05-28Chemel, James L Cpa NEGOTIATION2Onyama Limba
1026Aruna H KuskoJapan2024-06-09Commercial Press NEW86Xuxue Feng
1027Jennifer D DilliardUnited Kingdom2024-06-15Feltz Printing Service NEGOTIATION72Ivan Magalhaes
1028David O MarrierItaly2024-05-27King, Christopher A Esq QUALIFIED79Bernardo Dominic
1029Octavia X PoquetteSpain2024-06-12Printing Dimensions UNQUALIFIED73Stephen Shaw
1030Ivar S BriddickItaly2024-06-19Feiner Bros UNQUALIFIED16Amy Elsner
1031Ricardo S MorascaBrazil2024-05-26Benton, John B Jr UNQUALIFIED30Xuxue Feng
1032Johnson I StensethUnited Kingdom2024-06-22Chapman, Ross E Esq RENEWAL68Elwin Sharvill
1033Kaitlin B MaletRussia2024-06-19Benton, John B Jr PROPOSAL87Stephen Shaw
1034Salvatore U CaudyFrance2024-06-01Commercial Press PROPOSAL88Amy Elsner
1035Wickens P BowleyBrazil2024-06-04Commercial Press RENEWAL63Elwin Sharvill
1036Johnson K GauchoRussia2024-06-03Dorl, James J Esq RENEWAL31Stephen Shaw
1037Smith H AlbaresIndia2024-06-13Chapman, Ross E Esq QUALIFIED62Bernardo Dominic
1038Salvatore P FollerIndia2024-06-12Chemel, James L Cpa RENEWAL42Asiya Javayant
1039Tony Q OldroydIndia2024-06-08Benton, John B Jr NEW93Amy Elsner
1040Jennifer V MacleadFrance2024-05-29Chanay, Jeffrey A Esq RENEWAL17Onyama Limba
1041Salvatore H FigeroaGermany2024-05-30Buckley Miller Wright NEGOTIATION98Stephen Shaw
1042Tony B RutaRussia2024-06-16Rousseaux, Michael Esq UNQUALIFIED81Stephen Shaw
1043Misaki W VenereRussia2024-06-22Commercial Press RENEWAL60Bernardo Dominic
1044Greenwood A ButtItaly2024-05-24Morlong Associates RENEWAL36Ioni Bowcher
1045Clifford X NickaAustralia2024-06-16Commercial Press QUALIFIED19Anna Fali
1046Julie L GlickRussia2024-06-02Feltz Printing Service RENEWAL45Bernardo Dominic
1047Wickens N KolmetzCanada2024-06-04Rangoni Of Florence UNQUALIFIED27Anna Fali
1048Chavez V CaudyUnited Kingdom2024-05-26Feiner Bros RENEWAL4Ivan Magalhaes
1049Jennifer I WaycottRussia2024-06-05Rousseaux, Michael Esq QUALIFIED7Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Faith U NestleCanadaBernardo Dominic QUALIFIED
Juan A ChuiIndiaAsiya Javayant PROPOSAL
Sinclair G StensethRussiaIvan Magalhaes UNQUALIFIED
Antonio X CaldareraUnited KingdomIoni Bowcher RENEWAL
Nicolas Q DilliardFranceOnyama Limba PROPOSAL
Faith Z CaudyAustraliaAsiya Javayant UNQUALIFIED
Aditya M GauchoUnited KingdomBernardo Dominic NEGOTIATION
Misaki K ButtItalyAsiya Javayant QUALIFIED
Jennifer Z GarufiItalyIvan Magalhaes UNQUALIFIED
Julie R BriddickItalyAnna Fali QUALIFIED
Isabel F OldroydCanadaAmy Elsner UNQUALIFIED
Jefferson V GarufiAustraliaAsiya Javayant NEGOTIATION
Wickens R MarrierItalyXuxue Feng UNQUALIFIED
Juan S ChuiBrazilAsiya Javayant RENEWAL
Jeanfrancois O StensethGermanyBernardo Dominic UNQUALIFIED
Wickens E ShinkoIndiaAmy Elsner PROPOSAL
David L WhobreyArgentinaAsiya Javayant PROPOSAL
James H AmigonArgentinaAnna Fali PROPOSAL
Darci M CaldareraSpainAmy Elsner NEW
Claire K GlickArgentinaBernardo Dominic UNQUALIFIED
Antonio V FigeroaArgentinaXuxue Feng NEGOTIATION
Mujtaba Y SaylorsGermanyAmy Elsner NEW
Leon U SlusarskiIndiaAmy Elsner PROPOSAL
Chavez H CaudyBrazilAnna Fali NEW
Ashley M TollnerSpainStephen Shaw QUALIFIED
Tony F AlbaresAustraliaAsiya Javayant NEW
Jeanfrancois H GarufiCanadaStephen Shaw RENEWAL
Leja N BowleyItalyIvan Magalhaes PROPOSAL
Smith M StockhamItalyAnna Fali RENEWAL
Munro D FigeroaJapanAmy Elsner UNQUALIFIED
Greenwood V RulapaughAustraliaAsiya Javayant UNQUALIFIED
Leon E DarakjyArgentinaIoni Bowcher NEGOTIATION
Jennifer R PoquetteBrazilXuxue Feng RENEWAL
Jefferson U WieserSpainBernardo Dominic UNQUALIFIED
Ashley B ButtArgentinaAmy Elsner QUALIFIED
Juan O StensethItalyElwin Sharvill NEW
Octavia R InouyeBrazilOnyama Limba QUALIFIED
Johnson Q WaycottArgentinaAnna Fali NEGOTIATION
Izzy J CaldareraIndiaIvan Magalhaes QUALIFIED
Alejandro T OstroskyUnited KingdomAnna Fali NEW
Clifford P TollnerRussiaXuxue Feng UNQUALIFIED
Aika D PaprockiUnited KingdomAmy Elsner RENEWAL
Johnson B VocelkaItalyAnna Fali NEGOTIATION
Faith H WaycottSpainAnna Fali RENEWAL
Morrow K PoquetteItalyStephen Shaw NEW
Aika Q MarrierSpainAmy Elsner UNQUALIFIED
James G RulapaughItalyBernardo Dominic PROPOSAL
Octavia G DilliardAustraliaAmy Elsner RENEWAL
Jennifer T BowleyCanadaXuxue Feng PROPOSAL
Arvin R SlusarskiJapanOnyama Limba QUALIFIED
Frozen Columns
Name
James G Perin
Jefferson S Bowley
Kaitlin K Caudy
Stacey Z Caudy
Aruna A Stockham
Adams Q Gillian
Murillo Y Vocelka
Smith Q Bowley
Ivar K Figeroa
Antonio T Gillian
Nicolas D Whobrey
Faith V Ostrosky
Johnson V Marrier
Alejandro V Morasca
Salvatore D Vocelka
Chavez N Sergi
Murillo C Waycott
Leja F Stenseth
Tony Q Kusko
Octavia L Campain
Stacey Q Kolmetz
Morrow M Kolmetz
Leon K Gaucho
Salvatore E Dilliard
Ricardo I Rulapaugh
Ivar I Marrier
Ashley O Sergi
Stacey A Campain
Rodrigues X Glick
Clifford F Bolognia
Wickens E Butt
Johnson J Waycott
Greenwood G Chui
Clifford D Saylors
Mayumi U Malet
Kaitlin Q Whobrey
Jones T Chui
Ricardo Y Nestle
Rodrigues M Gillian
Alejandro M Paprocki
David Q Marrier
Kaitlin C Wieser
Julie Z Vocelka
Tony H Malet
Rodrigues K Malet
Smith B Bolognia
Wickens T Maclead
Chavez Y Inouye
Nicolas U Caudy
Emily A Chui
IdCountryDate
1000Russia2024-06-09
1001Japan2024-06-10
1002Germany2024-06-18
1003Canada2024-06-19
1004Italy2024-06-07
1005Germany2024-05-27
1006Russia2024-06-16
1007Canada2024-05-31
1008Australia2024-06-01
1009Argentina2024-06-10
1010United Kingdom2024-06-16
1011Brazil2024-06-06
1012United Kingdom2024-06-01
1013Japan2024-05-30
1014Australia2024-06-05
1015Argentina2024-05-27
1016Russia2024-06-14
1017India2024-06-08
1018Italy2024-06-09
1019Germany2024-06-19
1020Brazil2024-06-20
1021United Kingdom2024-06-09
1022United Kingdom2024-06-21
1023Brazil2024-06-12
1024Japan2024-06-02
1025Russia2024-05-26
1026France2024-06-17
1027Brazil2024-06-16
1028Japan2024-06-07
1029India2024-06-18
1030France2024-06-16
1031Canada2024-06-18
1032Russia2024-06-03
1033Spain2024-06-15
1034Australia2024-06-21
1035United Kingdom2024-05-28
1036Italy2024-05-28
1037Germany2024-06-15
1038Argentina2024-06-15
1039Russia2024-06-13
1040France2024-06-01
1041Italy2024-05-27
1042India2024-06-13
1043Brazil2024-05-27
1044Brazil2024-06-03
1045Russia2024-05-28
1046Germany2024-06-21
1047Germany2024-06-09
1048Brazil2024-06-07
1049Brazil2024-06-03

On-Demand Data

NameIdCountryDate
Jones W Stenseth1000Argentina2024-06-19
Ivar R Ruta1001Argentina2024-06-04
Antonio S Ruta1002Japan2024-06-05
Juan R Albares1003Germany2024-05-26
Murillo Z Ferencz1004Spain2024-05-29
Aika J Chui1005India2024-06-22
Munro E Royster1006Canada2024-05-31
Juan Q Waycott1007Argentina2024-06-04
Smith T Doe1008Argentina2024-05-29
Adams M Figeroa1009Canada2024-06-01
Sinclair N Gillian1010Germany2024-05-25
Mujtaba D Stockham1011Canada2024-06-20
Emily X Wieser1012Spain2024-05-29
Clifford I Campain1013Japan2024-06-21
Ivar L Nestle1014Germany2024-05-27
Claire J Poquette1015Canada2024-05-29
Leja L Darakjy1016Italy2024-05-29
Isabel I Saylors1017Spain2024-06-01
Adams Y Gaucho1018Canada2024-06-13
Tony B Ruta1019Italy2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh S ChuiBrazilIvan Magalhaes NEW
Misaki R PerinIndiaBernardo Dominic RENEWAL
Alejandro E GlickFranceBernardo Dominic NEW
Maria C FlosiUnited KingdomAnna Fali UNQUALIFIED
Julie L KolmetzBrazilAnna Fali UNQUALIFIED
Mayumi C RoysterFranceOnyama Limba PROPOSAL
Sinclair L RutaItalyIvan Magalhaes PROPOSAL
Juan F MacleadBrazilAmy Elsner RENEWAL
Julie J ChuiUnited KingdomIvan Magalhaes QUALIFIED
Jefferson C VenereSpainStephen Shaw UNQUALIFIED
Salvatore B FlosiAustraliaAsiya Javayant QUALIFIED
Mayumi H CampainSpainXuxue Feng UNQUALIFIED
Jennifer A RimFranceElwin Sharvill QUALIFIED
Antonio O ChuiUnited KingdomAnna Fali QUALIFIED
Emily Q PaprockiJapanAnna Fali UNQUALIFIED
Ivar S CaldareraJapanXuxue Feng QUALIFIED
Murillo W AlbaresBrazilXuxue Feng RENEWAL
Smith C GarufiAustraliaBernardo Dominic NEW
Costa G RimAustraliaIoni Bowcher PROPOSAL
Antonio M WhobreyAustraliaXuxue Feng NEGOTIATION
Murillo N MaletJapanAmy Elsner UNQUALIFIED
Aika O VocelkaUnited KingdomIvan Magalhaes RENEWAL
Aika L GauchoBrazilStephen Shaw UNQUALIFIED
Johnson X StockhamAustraliaElwin Sharvill NEW
Izzy B PoquetteSpainAnna Fali PROPOSAL
David Z SlusarskiRussiaStephen Shaw QUALIFIED
Izzy W BriddickRussiaStephen Shaw PROPOSAL
Tony J VocelkaAustraliaIvan Magalhaes UNQUALIFIED
Maisha B CaldareraSpainAmy Elsner RENEWAL
Leja I WaycottIndiaXuxue Feng PROPOSAL
Kadeem X ButtRussiaIvan Magalhaes QUALIFIED
Antonio C WaycottSpainOnyama Limba RENEWAL
Maria S GillianItalyElwin Sharvill QUALIFIED
Emily U KuskoFranceIoni Bowcher NEW
Octavia V BriddickSpainIvan Magalhaes QUALIFIED
Cody U RoysterRussiaIvan Magalhaes NEGOTIATION
Arvin L ButtItalyAsiya Javayant NEGOTIATION
Aditya K KuskoAustraliaAnna Fali UNQUALIFIED
Johnson K GillianJapanAmy Elsner QUALIFIED
Mujtaba I FigeroaArgentinaOnyama 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>