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
Faith P VenereBrazilStephen Shaw UNQUALIFIED
Nicolas G ShinkoArgentinaStephen Shaw RENEWAL
Kadeem T FigeroaUnited KingdomElwin Sharvill UNQUALIFIED
Ashley O IturbideItalyXuxue Feng RENEWAL
Emily R RulapaughJapanAmy Elsner RENEWAL
Aika S BologniaItalyBernardo Dominic RENEWAL
Maria Q DoeRussiaAmy Elsner RENEWAL
Jennifer A MorascaCanadaAnna Fali RENEWAL
Arvin A AlbaresRussiaXuxue Feng UNQUALIFIED
Adams P SergiRussiaElwin Sharvill RENEWAL
Mujtaba X AlbaresFranceBernardo Dominic PROPOSAL
Maisha P MaletCanadaAsiya Javayant UNQUALIFIED
Jones X CaudyRussiaBernardo Dominic PROPOSAL
Nicolas S RulapaughSpainAsiya Javayant PROPOSAL
Kaitlin V SergiRussiaIoni Bowcher PROPOSAL
Mujtaba K InouyeGermanyElwin Sharvill PROPOSAL
Johnson J FerenczAustraliaAsiya Javayant PROPOSAL
Mayumi J PaprockiCanadaOnyama Limba RENEWAL
Julie C OstroskyFranceStephen Shaw UNQUALIFIED
Arvin F NestleSpainStephen Shaw NEW
Maria Y StockhamGermanyXuxue Feng NEGOTIATION
Claire O CampainRussiaXuxue Feng UNQUALIFIED
Claire I BologniaIndiaStephen Shaw UNQUALIFIED
Jones R DoeUnited KingdomOnyama Limba UNQUALIFIED
Leja G VocelkaAustraliaXuxue Feng RENEWAL
Julie H PoquetteGermanyIoni Bowcher UNQUALIFIED
Smith V MaletArgentinaBernardo Dominic UNQUALIFIED
Leon K WieserBrazilAsiya Javayant RENEWAL
Silvio N RimAustraliaIvan Magalhaes QUALIFIED
Smith N WhobreyUnited KingdomElwin Sharvill UNQUALIFIED
Johnson O SchemmerFranceXuxue Feng NEGOTIATION
Darci I SergiArgentinaXuxue Feng RENEWAL
Ivar H ShinkoItalyBernardo Dominic QUALIFIED
Mujtaba Q OldroydFranceAmy Elsner QUALIFIED
Smith W OldroydBrazilAnna Fali QUALIFIED
Sinclair D SlusarskiGermanyAsiya Javayant RENEWAL
Jennifer A WaycottFranceIoni Bowcher QUALIFIED
Wickens D VenereFranceIvan Magalhaes RENEWAL
Claire U ChuiCanadaBernardo Dominic RENEWAL
Ricardo X RoysterFranceIvan Magalhaes QUALIFIED
Johnson F FigeroaBrazilAsiya Javayant QUALIFIED
Maisha D MaletIndiaAsiya Javayant PROPOSAL
Tony G StensethArgentinaAsiya Javayant UNQUALIFIED
Jefferson S OldroydUnited KingdomBernardo Dominic NEW
Deepesh R KuskoItalyIvan Magalhaes NEGOTIATION
Greenwood A RoysterUnited KingdomIvan Magalhaes QUALIFIED
Ashley N DilliardUnited KingdomIvan Magalhaes PROPOSAL
Izzy N DoeSpainElwin Sharvill UNQUALIFIED
Ricardo R GillianAustraliaAsiya Javayant NEW
Wickens D OstroskyRussiaXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
David P WaycottUnited KingdomOnyama Limba UNQUALIFIED
Jefferson E OldroydArgentinaIoni Bowcher QUALIFIED
Leja J SergiCanadaAnna Fali NEGOTIATION
Aditya V PerinIndiaAmy Elsner NEW
Ashley G DilliardRussiaAnna Fali NEGOTIATION
Ivar X DarakjyGermanyAmy Elsner UNQUALIFIED
Julie L ButtCanadaOnyama Limba QUALIFIED
Kaitlin T AlbaresJapanStephen Shaw UNQUALIFIED
Aditya O VocelkaBrazilAsiya Javayant NEGOTIATION
Isabel K StensethUnited KingdomBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David P RutaFrance2024-06-02Morlong Associates NEW92Anna Fali
1001Aditya D MaletArgentina2024-06-03Chanay, Jeffrey A Esq UNQUALIFIED72Ioni Bowcher
1002Chavez P FollerGermany2024-06-17Feltz Printing Service NEGOTIATION63Amy Elsner
1003Costa W WieserAustralia2024-06-19Chapman, Ross E Esq NEW96Elwin Sharvill
1004Kadeem P ChuiArgentina2024-06-16Rousseaux, Michael Esq RENEWAL92Ioni Bowcher
1005Mujtaba O VenereArgentina2024-06-21King, Christopher A Esq PROPOSAL51Onyama Limba
1006Silvio Y BriddickArgentina2024-05-27Chanay, Jeffrey A Esq UNQUALIFIED51Amy Elsner
1007Mujtaba U BriddickJapan2024-05-27Chemel, James L Cpa RENEWAL5Anna Fali
1008Cody R IturbideItaly2024-06-01Rousseaux, Michael Esq NEGOTIATION79Anna Fali
1009Tony I FollerRussia2024-06-09Chemel, James L Cpa QUALIFIED27Amy Elsner
1010Johnson A DarakjyUnited Kingdom2024-06-21King, Christopher A Esq QUALIFIED55Xuxue Feng
1011Alejandro O ChuiCanada2024-06-21Rangoni Of Florence UNQUALIFIED35Ivan Magalhaes
1012Arvin X PaprockiArgentina2024-05-31Feltz Printing Service RENEWAL37Amy Elsner
1013Ivar X MaletArgentina2024-05-29Morlong Associates NEGOTIATION35Amy Elsner
1014James S BowleyItaly2024-05-28Chanay, Jeffrey A Esq RENEWAL2Bernardo Dominic
1015Deepesh H SchemmerCanada2024-05-29Printing Dimensions NEGOTIATION90Onyama Limba
1016David L OldroydRussia2024-05-25Printing Dimensions NEGOTIATION10Anna Fali
1017Leon C ButtJapan2024-06-22Rangoni Of Florence PROPOSAL39Asiya Javayant
1018Faith M SchemmerItaly2024-05-29Commercial Press RENEWAL33Asiya Javayant
1019Salvatore A AlbaresJapan2024-06-05Chapman, Ross E Esq QUALIFIED79Bernardo Dominic
1020James I SlusarskiSpain2024-06-13Buckley Miller Wright NEGOTIATION84Onyama Limba
1021Alejandro Q CaldareraArgentina2024-06-22Printing Dimensions NEW33Bernardo Dominic
1022Emily A MorascaGermany2024-06-02Benton, John B Jr NEGOTIATION51Ivan Magalhaes
1023Tony O ShinkoSpain2024-06-12Feltz Printing Service UNQUALIFIED93Xuxue Feng
1024Salvatore M FlosiRussia2024-06-05Truhlar And Truhlar Attys RENEWAL8Anna Fali
1025Deepesh R NestleSpain2024-06-09Buckley Miller Wright UNQUALIFIED27Ivan Magalhaes
1026Juan Y PaprockiSpain2024-06-08Commercial Press RENEWAL2Onyama Limba
1027Maisha B IturbideAustralia2024-06-08Commercial Press PROPOSAL76Onyama Limba
1028Jefferson K ButtSpain2024-06-21Rangoni Of Florence NEGOTIATION24Ioni Bowcher
1029Julie R MarrierBrazil2024-06-19Dorl, James J Esq UNQUALIFIED45Anna Fali
1030Sinclair L PaprockiUnited Kingdom2024-05-30Rangoni Of Florence NEGOTIATION47Xuxue Feng
1031Adams H GlickJapan2024-06-13Feltz Printing Service NEGOTIATION39Amy Elsner
1032Ashley I BologniaRussia2024-06-07Feltz Printing Service PROPOSAL57Bernardo Dominic
1033Cody T ButtArgentina2024-06-03Dorl, James J Esq UNQUALIFIED94Elwin Sharvill
1034Aika U MarrierRussia2024-06-03Commercial Press QUALIFIED13Xuxue Feng
1035Isabel F PoquetteAustralia2024-06-03Chanay, Jeffrey A Esq RENEWAL37Onyama Limba
1036Alejandro O BologniaIndia2024-05-27Buckley Miller Wright NEGOTIATION7Ivan Magalhaes
1037Kadeem H PaprockiSpain2024-06-18Buckley Miller Wright QUALIFIED55Bernardo Dominic
1038Smith T RimGermany2024-06-16Dorl, James J Esq NEGOTIATION9Elwin Sharvill
1039Jeanfrancois B RutaArgentina2024-05-31Chapman, Ross E Esq NEW43Amy Elsner
1040Greenwood C VocelkaCanada2024-06-08Chanay, Jeffrey A Esq UNQUALIFIED48Ivan Magalhaes
1041Stacey Q DilliardSpain2024-05-25Printing Dimensions RENEWAL7Anna Fali
1042Leon C ButtUnited Kingdom2024-05-31Rousseaux, Michael Esq UNQUALIFIED77Asiya Javayant
1043Aika Y PaprockiJapan2024-06-03Printing Dimensions PROPOSAL11Stephen Shaw
1044Jones P RutaUnited Kingdom2024-06-21Morlong Associates RENEWAL17Onyama Limba
1045Munro T CaudyAustralia2024-06-13Dorl, James J Esq UNQUALIFIED26Onyama Limba
1046Mujtaba Y ChuiCanada2024-06-03Chanay, Jeffrey A Esq NEGOTIATION19Elwin Sharvill
1047Kadeem S VocelkaGermany2024-05-31Rangoni Of Florence UNQUALIFIED95Amy Elsner
1048Deepesh B AmigonIndia2024-06-06Chapman, Ross E Esq QUALIFIED89Ioni Bowcher
1049Izzy G FerenczFrance2024-06-13Dorl, James J Esq PROPOSAL74Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Alejandro R OstroskyRussiaAnna Fali NEGOTIATION
Kadeem K ChuiCanadaStephen Shaw UNQUALIFIED
Greenwood W MacleadIndiaOnyama Limba NEW
Arvin A RoysterAustraliaAnna Fali PROPOSAL
Izzy T PaprockiSpainStephen Shaw NEW
Cody K RoysterRussiaElwin Sharvill PROPOSAL
Nicolas Z DarakjyRussiaElwin Sharvill NEW
Morrow B CampainBrazilAmy Elsner QUALIFIED
Antonio I CaldareraArgentinaXuxue Feng NEW
Silvio C NickaUnited KingdomOnyama Limba RENEWAL
Alejandro Q SaylorsAustraliaStephen Shaw NEGOTIATION
Tony J MaletGermanyAsiya Javayant NEGOTIATION
Munro Z RoysterArgentinaElwin Sharvill RENEWAL
Johnson K NestleCanadaIvan Magalhaes RENEWAL
Aditya E ShinkoAustraliaIoni Bowcher UNQUALIFIED
Claire H AlbaresRussiaXuxue Feng PROPOSAL
Salvatore M RimCanadaOnyama Limba NEW
Wickens R SergiBrazilOnyama Limba NEW
Tony E FlosiIndiaStephen Shaw NEW
Smith M KuskoGermanyElwin Sharvill NEGOTIATION
Leon K GarufiRussiaAmy Elsner RENEWAL
Juan G DarakjyBrazilAmy Elsner NEGOTIATION
Tony S CaldareraItalyIvan Magalhaes RENEWAL
Mujtaba Q VenereRussiaOnyama Limba RENEWAL
Ivar X GarufiCanadaStephen Shaw UNQUALIFIED
Jennifer Q GlickUnited KingdomOnyama Limba NEGOTIATION
Jennifer K VenereUnited KingdomAmy Elsner RENEWAL
Jones Y MarrierJapanAnna Fali PROPOSAL
Murillo M SaylorsIndiaAsiya Javayant UNQUALIFIED
Aditya D KuskoIndiaOnyama Limba NEGOTIATION
Cody K NickaIndiaIoni Bowcher RENEWAL
Sinclair H BowleyBrazilBernardo Dominic NEGOTIATION
Morrow Q RulapaughJapanIoni Bowcher UNQUALIFIED
Stacey J FollerGermanyAsiya Javayant RENEWAL
Adams B KolmetzIndiaOnyama Limba QUALIFIED
Claire O MacleadItalyAsiya Javayant NEGOTIATION
Maria F SergiCanadaAsiya Javayant NEW
Munro G VenereArgentinaXuxue Feng UNQUALIFIED
David M AlbaresGermanyElwin Sharvill UNQUALIFIED
Chavez M KuskoItalyXuxue Feng UNQUALIFIED
Greenwood H RoysterItalyStephen Shaw NEGOTIATION
Aika Y GauchoSpainAnna Fali PROPOSAL
Mujtaba S OstroskyBrazilOnyama Limba QUALIFIED
Ivar U MarrierGermanyAsiya Javayant QUALIFIED
Claire C ShinkoIndiaBernardo Dominic QUALIFIED
Julie A InouyeBrazilIoni Bowcher QUALIFIED
Costa I TollnerUnited KingdomAmy Elsner NEW
Morrow C WieserArgentinaStephen Shaw QUALIFIED
Julie W MarrierFranceOnyama Limba NEGOTIATION
Ashley U SergiJapanXuxue Feng PROPOSAL
Frozen Columns
Name
Kaitlin V Bolognia
Costa R Stockham
Misaki I Darakjy
Julie E Royster
Wickens H Stenseth
Jefferson Z Saylors
James E Garufi
Sinclair Y Morasca
Aditya U Doe
Ricardo P Maclead
Darci O Royster
Julie A Malet
Wickens N Nicka
Juan B Malet
Julie Y Briddick
Jones U Rulapaugh
Smith P Nestle
Costa P Flosi
Misaki W Iturbide
Mujtaba M Tollner
Nicolas W Morasca
Kaitlin V Maclead
Aditya P Malet
Ashley J Stockham
Aika X Stenseth
Octavia N Malet
Cody T Malet
Antonio P Bolognia
Julie X Glick
Isabel T Garufi
Costa M Briddick
Stacey H Bowley
Faith Q Doe
Rodrigues S Ferencz
Mujtaba T Saylors
Chavez K Shinko
Darci Y Sergi
Adams M Doe
James U Rim
Francesco I Slusarski
Morrow S Nestle
Stacey G Slusarski
Aika X Doe
Francesco L Doe
Mujtaba I Malet
Maria A Dilliard
Leon K Whobrey
Jones O Dilliard
Misaki W Nicka
Adams Z Albares
IdCountryDate
1000Argentina2024-06-18
1001Brazil2024-06-18
1002United Kingdom2024-05-24
1003Russia2024-06-18
1004Brazil2024-05-26
1005Spain2024-06-15
1006Germany2024-05-27
1007France2024-05-28
1008Brazil2024-06-19
1009Argentina2024-06-11
1010Canada2024-05-26
1011India2024-06-11
1012Japan2024-06-19
1013India2024-06-02
1014Argentina2024-06-07
1015France2024-06-14
1016Brazil2024-05-26
1017India2024-05-28
1018United Kingdom2024-05-25
1019Germany2024-06-21
1020United Kingdom2024-06-22
1021Argentina2024-06-06
1022United Kingdom2024-05-29
1023Canada2024-06-12
1024Germany2024-06-10
1025India2024-06-13
1026Argentina2024-06-20
1027Italy2024-06-02
1028France2024-06-03
1029Italy2024-06-13
1030Russia2024-06-20
1031India2024-05-25
1032Russia2024-05-26
1033France2024-06-01
1034Japan2024-06-01
1035Canada2024-06-15
1036United Kingdom2024-06-05
1037Brazil2024-06-14
1038Canada2024-06-03
1039Russia2024-06-18
1040Brazil2024-05-31
1041United Kingdom2024-06-18
1042Canada2024-06-10
1043Italy2024-06-22
1044Germany2024-05-24
1045United Kingdom2024-06-08
1046Canada2024-05-31
1047Russia2024-05-25
1048Italy2024-06-03
1049India2024-06-18

On-Demand Data

NameIdCountryDate
Aruna X Wieser1000France2024-06-09
Izzy I Maclead1001Spain2024-06-21
Faith O Kusko1002United Kingdom2024-06-21
Stacey I Paprocki1003Argentina2024-06-15
James Z Butt1004Canada2024-05-31
Ricardo K Bolognia1005France2024-06-21
Chavez A Amigon1006Japan2024-06-06
Silvio D Glick1007United Kingdom2024-06-08
Ricardo N Campain1008Japan2024-05-31
Smith N Stenseth1009Spain2024-06-02
Mayumi K Rulapaugh1010Canada2024-06-14
Morrow J Glick1011Japan2024-06-04
Arvin Z Wieser1012Germany2024-06-07
Kadeem N Glick1013Brazil2024-05-31
Jennifer O Poquette1014Spain2024-06-17
David S Slusarski1015Russia2024-06-13
Kaitlin G Tollner1016Brazil2024-06-04
Aditya N Amigon1017Canada2024-06-05
Wickens X Waycott1018Italy2024-06-09
Leja B Royster1019Germany2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson Y MacleadUnited KingdomAnna Fali NEW
Isabel P MacleadRussiaIvan Magalhaes UNQUALIFIED
Morrow R PaprockiItalyBernardo Dominic PROPOSAL
Sinclair P FigeroaItalyXuxue Feng NEW
Juan I GillianArgentinaAnna Fali NEGOTIATION
Julie M PaprockiIndiaIoni Bowcher PROPOSAL
Greenwood S BriddickJapanElwin Sharvill NEGOTIATION
Ricardo H CaldareraIndiaStephen Shaw QUALIFIED
Maria P SlusarskiCanadaXuxue Feng NEW
Jefferson N StensethItalyIvan Magalhaes UNQUALIFIED
Johnson H SaylorsRussiaIvan Magalhaes PROPOSAL
Aika T MaletIndiaAnna Fali PROPOSAL
Isabel D MaletAustraliaIoni Bowcher NEGOTIATION
Wickens K PaprockiBrazilOnyama Limba RENEWAL
Julie F CaudyGermanyAnna Fali UNQUALIFIED
David U SlusarskiSpainIvan Magalhaes UNQUALIFIED
Stacey W StensethArgentinaAmy Elsner NEW
Darci F WhobreyCanadaIoni Bowcher UNQUALIFIED
Leon D InouyeRussiaBernardo Dominic QUALIFIED
Sinclair F DarakjyRussiaBernardo Dominic NEW
Silvio M ChuiCanadaStephen Shaw NEW
Murillo S RoysterItalyIoni Bowcher PROPOSAL
Smith N CampainJapanIoni Bowcher NEW
Aika T FigeroaItalyStephen Shaw QUALIFIED
Silvio N WhobreyGermanyAnna Fali NEW
Jennifer F OldroydUnited KingdomOnyama Limba UNQUALIFIED
Aika S MaletArgentinaIoni Bowcher NEGOTIATION
Johnson O MaletBrazilAmy Elsner NEGOTIATION
Francesco F SlusarskiGermanyAnna Fali PROPOSAL
Emily K VocelkaFranceXuxue Feng UNQUALIFIED
Kaitlin V RutaBrazilElwin Sharvill NEW
Mayumi Q MaletBrazilAmy Elsner NEW
James S PerinArgentinaStephen Shaw RENEWAL
Greenwood D OstroskyAustraliaIvan Magalhaes UNQUALIFIED
James W ChuiSpainOnyama Limba PROPOSAL
Leon P KolmetzUnited KingdomIvan Magalhaes UNQUALIFIED
Darci B WieserSpainXuxue Feng QUALIFIED
Ricardo P OldroydGermanyStephen Shaw RENEWAL
Leon U RimRussiaAmy Elsner RENEWAL
Silvio E NestleUnited KingdomIvan Magalhaes QUALIFIED

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