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
Darci F RimGermanyXuxue Feng UNQUALIFIED
Julie U WhobreyIndiaBernardo Dominic QUALIFIED
Darci V VocelkaSpainAmy Elsner NEW
Julie H ButtArgentinaBernardo Dominic NEW
Emily U PaprockiAustraliaXuxue Feng RENEWAL
Stacey E ButtRussiaElwin Sharvill QUALIFIED
Isabel E FigeroaUnited KingdomAnna Fali NEGOTIATION
Ricardo T PoquetteArgentinaOnyama Limba PROPOSAL
Rodrigues V KuskoFranceIoni Bowcher NEGOTIATION
Kaitlin J SchemmerBrazilXuxue Feng PROPOSAL
Cody R SchemmerSpainAmy Elsner RENEWAL
Aika R BowleyIndiaIoni Bowcher PROPOSAL
Darci U SlusarskiBrazilAsiya Javayant QUALIFIED
Greenwood P CampainRussiaIvan Magalhaes PROPOSAL
Sinclair N MaletBrazilIoni Bowcher QUALIFIED
Munro F KuskoRussiaAsiya Javayant QUALIFIED
Antonio T SlusarskiUnited KingdomAmy Elsner PROPOSAL
Cody K BowleyAustraliaStephen Shaw PROPOSAL
Octavia A NestleUnited KingdomAnna Fali QUALIFIED
Maisha X AmigonBrazilXuxue Feng UNQUALIFIED
Mayumi O RimJapanAnna Fali UNQUALIFIED
Greenwood K GlickArgentinaElwin Sharvill NEW
Julie L WieserUnited KingdomXuxue Feng UNQUALIFIED
Ricardo L CampainAustraliaAnna Fali RENEWAL
David X FlosiGermanyIoni Bowcher PROPOSAL
Misaki X VocelkaGermanyAmy Elsner NEGOTIATION
Kadeem R FollerBrazilIvan Magalhaes RENEWAL
Misaki D MorascaSpainOnyama Limba NEGOTIATION
Nicolas J VenereGermanyXuxue Feng NEW
Jones Z WieserItalyAmy Elsner NEW
Aruna M WhobreyIndiaXuxue Feng RENEWAL
Jeanfrancois F GillianJapanOnyama Limba RENEWAL
Octavia I StockhamCanadaAsiya Javayant UNQUALIFIED
Adams V DilliardBrazilAmy Elsner PROPOSAL
Darci W WhobreyFranceStephen Shaw QUALIFIED
Aika O StensethItalyOnyama Limba PROPOSAL
Stacey Q DarakjyItalyBernardo Dominic UNQUALIFIED
Antonio C SergiSpainAsiya Javayant UNQUALIFIED
Izzy I MaletJapanIvan Magalhaes PROPOSAL
Francesco D SlusarskiSpainBernardo Dominic RENEWAL
Silvio R MaletBrazilIoni Bowcher NEGOTIATION
James S CampainRussiaOnyama Limba QUALIFIED
Salvatore Z InouyeGermanyXuxue Feng UNQUALIFIED
Wickens W MorascaUnited KingdomStephen Shaw NEGOTIATION
Deepesh Y StensethJapanOnyama Limba QUALIFIED
Kaitlin Q IturbideIndiaOnyama Limba UNQUALIFIED
David I MacleadSpainOnyama Limba QUALIFIED
Alejandro Z ShinkoArgentinaOnyama Limba UNQUALIFIED
Smith A VenereCanadaBernardo Dominic NEW
Costa U InouyeItalyAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Faith X WieserJapanOnyama Limba RENEWAL
Arvin B AlbaresJapanXuxue Feng NEGOTIATION
Munro C ButtGermanyAnna Fali RENEWAL
Nicolas G FigeroaItalyElwin Sharvill UNQUALIFIED
Jeanfrancois K StensethJapanOnyama Limba PROPOSAL
James S MarrierBrazilElwin Sharvill NEW
Deepesh O ButtRussiaOnyama Limba RENEWAL
Claire K KolmetzFranceElwin Sharvill NEGOTIATION
Tony U BologniaArgentinaBernardo Dominic NEW
Aruna Z OldroydAustraliaElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha B SchemmerBrazil2025-05-23Chanay, Jeffrey A Esq PROPOSAL10Xuxue Feng
1001Salvatore H VenereArgentina2025-05-21Feltz Printing Service RENEWAL60Bernardo Dominic
1002Aditya I GillianItaly2025-06-04Rousseaux, Michael Esq NEGOTIATION44Bernardo Dominic
1003Faith H MarrierSpain2025-06-06Printing Dimensions UNQUALIFIED33Anna Fali
1004Aika O VocelkaSpain2025-06-14Truhlar And Truhlar Attys RENEWAL16Elwin Sharvill
1005Clifford W PerinJapan2025-05-24Chemel, James L Cpa PROPOSAL56Elwin Sharvill
1006Silvio T ButtCanada2025-05-29Chapman, Ross E Esq NEW24Anna Fali
1007Julie Z TollnerCanada2025-05-20Chapman, Ross E Esq NEGOTIATION0Amy Elsner
1008Stacey X IturbideCanada2025-06-15Printing Dimensions PROPOSAL51Elwin Sharvill
1009Ashley A ShinkoRussia2025-06-16Buckley Miller Wright RENEWAL88Onyama Limba
1010Rodrigues Z MaletAustralia2025-06-12Chanay, Jeffrey A Esq NEGOTIATION27Ioni Bowcher
1011Emily B ButtFrance2025-05-24Morlong Associates PROPOSAL91Ivan Magalhaes
1012Ivar H GarufiUnited Kingdom2025-05-18Feiner Bros RENEWAL62Elwin Sharvill
1013Deepesh D MaletAustralia2025-05-25Benton, John B Jr PROPOSAL58Anna Fali
1014Antonio I TollnerAustralia2025-05-24King, Christopher A Esq UNQUALIFIED38Amy Elsner
1015Arvin N ShinkoArgentina2025-05-24Morlong Associates RENEWAL47Amy Elsner
1016Jefferson V GauchoSpain2025-05-20Printing Dimensions NEW68Ivan Magalhaes
1017Salvatore J FlosiUnited Kingdom2025-06-16Commercial Press UNQUALIFIED78Stephen Shaw
1018Adams Q VenereBrazil2025-05-25Dorl, James J Esq NEGOTIATION31Elwin Sharvill
1019Leja Z RimGermany2025-06-10Truhlar And Truhlar Attys NEGOTIATION8Ioni Bowcher
1020James K FlosiItaly2025-06-02Rousseaux, Michael Esq NEGOTIATION12Ivan Magalhaes
1021Morrow R PaprockiArgentina2025-05-27Rousseaux, Michael Esq QUALIFIED70Xuxue Feng
1022Maria V FerenczArgentina2025-06-11Feltz Printing Service NEGOTIATION63Anna Fali
1023Ricardo A GillianArgentina2025-06-13Feltz Printing Service NEGOTIATION76Onyama Limba
1024Chavez O PerinRussia2025-06-07Dorl, James J Esq UNQUALIFIED89Xuxue Feng
1025Salvatore O SlusarskiArgentina2025-06-11Benton, John B Jr QUALIFIED16Ivan Magalhaes
1026Emily Y ShinkoAustralia2025-05-29Chanay, Jeffrey A Esq PROPOSAL36Onyama Limba
1027Tony G StensethFrance2025-06-09Truhlar And Truhlar Attys RENEWAL93Bernardo Dominic
1028Julie X RoysterUnited Kingdom2025-06-10Chemel, James L Cpa NEGOTIATION2Elwin Sharvill
1029Kadeem U MacleadCanada2025-05-20Feltz Printing Service NEGOTIATION18Asiya Javayant
1030Jefferson D ButtAustralia2025-06-15Benton, John B Jr UNQUALIFIED84Anna Fali
1031Nicolas Q DilliardRussia2025-06-08King, Christopher A Esq NEGOTIATION56Ioni Bowcher
1032Jennifer T RutaUnited Kingdom2025-05-31Morlong Associates RENEWAL74Ioni Bowcher
1033Arvin R InouyeIndia2025-06-15Rangoni Of Florence RENEWAL23Elwin Sharvill
1034Mayumi V DilliardBrazil2025-05-31Truhlar And Truhlar Attys NEW89Xuxue Feng
1035Claire A CaudyRussia2025-05-26King, Christopher A Esq RENEWAL83Onyama Limba
1036Greenwood F PaprockiUnited Kingdom2025-06-10Rousseaux, Michael Esq NEW94Elwin Sharvill
1037Jefferson R FerenczSpain2025-05-19Rangoni Of Florence UNQUALIFIED3Xuxue Feng
1038Leja V FigeroaSpain2025-05-24Morlong Associates QUALIFIED55Xuxue Feng
1039Mayumi Q PaprockiFrance2025-06-03Chapman, Ross E Esq NEW21Asiya Javayant
1040Maria B GlickGermany2025-05-28King, Christopher A Esq NEW17Elwin Sharvill
1041Sinclair M NickaArgentina2025-06-06King, Christopher A Esq NEW70Onyama Limba
1042Nicolas P BowleyItaly2025-06-05Truhlar And Truhlar Attys RENEWAL78Xuxue Feng
1043Mujtaba A SchemmerAustralia2025-05-22King, Christopher A Esq UNQUALIFIED10Ioni Bowcher
1044Leja L FerenczArgentina2025-05-31Buckley Miller Wright UNQUALIFIED65Elwin Sharvill
1045Leja G NestleIndia2025-06-08Chanay, Jeffrey A Esq UNQUALIFIED52Amy Elsner
1046Smith K DilliardIndia2025-05-22Benton, John B Jr NEW46Stephen Shaw
1047Leon B MaletUnited Kingdom2025-05-19Chapman, Ross E Esq QUALIFIED69Xuxue Feng
1048Misaki W RulapaughGermany2025-06-12Chapman, Ross E Esq RENEWAL95Xuxue Feng
1049Francesco F BowleyJapan2025-05-20Printing Dimensions QUALIFIED51Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Alejandro A VocelkaIndiaBernardo Dominic PROPOSAL
Murillo G VocelkaItalyAsiya Javayant QUALIFIED
Maria Y GauchoCanadaAmy Elsner UNQUALIFIED
Alejandro G DilliardSpainElwin Sharvill PROPOSAL
Morrow D SlusarskiFranceAsiya Javayant NEGOTIATION
James C RoysterArgentinaAmy Elsner QUALIFIED
Leon Y OldroydBrazilAnna Fali NEW
Clifford C StensethRussiaBernardo Dominic NEGOTIATION
Johnson V ButtIndiaIoni Bowcher QUALIFIED
Clifford J MorascaIndiaStephen Shaw PROPOSAL
Silvio M AmigonFranceElwin Sharvill RENEWAL
Mujtaba I DarakjyArgentinaElwin Sharvill NEW
David L PerinBrazilAsiya Javayant QUALIFIED
Alejandro J VenereArgentinaBernardo Dominic QUALIFIED
Stacey D MorascaSpainBernardo Dominic UNQUALIFIED
Johnson L RoysterJapanXuxue Feng PROPOSAL
Stacey S WhobreyJapanAsiya Javayant QUALIFIED
Jeanfrancois U VocelkaJapanAsiya Javayant QUALIFIED
Ashley C GlickJapanStephen Shaw NEW
Ricardo X DarakjyRussiaAmy Elsner NEGOTIATION
Aditya R WaycottArgentinaAsiya Javayant NEGOTIATION
Munro I RoysterItalyIvan Magalhaes PROPOSAL
Sinclair W SchemmerCanadaElwin Sharvill PROPOSAL
Johnson S OstroskyArgentinaElwin Sharvill PROPOSAL
Costa Q OldroydSpainStephen Shaw NEW
Murillo F KolmetzBrazilXuxue Feng QUALIFIED
Munro T WhobreyIndiaXuxue Feng NEGOTIATION
Isabel B SergiItalyIvan Magalhaes NEGOTIATION
Jefferson F StensethAustraliaAmy Elsner PROPOSAL
Leon P KuskoAustraliaStephen Shaw NEGOTIATION
James J IturbideCanadaAmy Elsner UNQUALIFIED
Aditya F StockhamAustraliaElwin Sharvill RENEWAL
Aditya E WhobreyFranceOnyama Limba RENEWAL
Wickens M KuskoRussiaAsiya Javayant NEGOTIATION
Ashley J GarufiAustraliaIvan Magalhaes PROPOSAL
Isabel Q RoysterUnited KingdomIvan Magalhaes NEGOTIATION
Costa F RoysterRussiaIoni Bowcher PROPOSAL
Aruna R CaldareraUnited KingdomElwin Sharvill NEW
Francesco U AlbaresJapanIvan Magalhaes PROPOSAL
Aika O AmigonItalyStephen Shaw RENEWAL
Darci H SlusarskiFranceAnna Fali RENEWAL
Maria D InouyeFranceIvan Magalhaes NEGOTIATION
Deepesh C BologniaJapanElwin Sharvill NEGOTIATION
Arvin B GlickUnited KingdomStephen Shaw PROPOSAL
Antonio N KolmetzFranceStephen Shaw NEW
Juan K RulapaughJapanElwin Sharvill PROPOSAL
Kadeem L KolmetzBrazilOnyama Limba QUALIFIED
Faith I RoysterUnited KingdomXuxue Feng RENEWAL
Silvio B MacleadUnited KingdomStephen Shaw RENEWAL
Munro G PoquetteUnited KingdomElwin Sharvill QUALIFIED
Frozen Columns
Name
Morrow X Amigon
James P Wieser
Maria D Gaucho
Maisha H Stockham
Leja P Dilliard
Faith U Ferencz
Maisha R Malet
Deepesh I Inouye
Juan I Malet
Misaki Q Shinko
Rodrigues H Rim
Chavez Q Gaucho
Misaki D Flosi
Leja O Inouye
Chavez Q Inouye
Deepesh J Malet
Izzy W Bowley
Cody G Butt
Murillo Y Venere
Johnson I Slusarski
Aika C Ferencz
Octavia Y Ostrosky
Salvatore S Malet
Jones Y Wieser
Aruna F Stockham
Clifford M Slusarski
Nicolas Z Dilliard
Leja D Campain
Mayumi T Dilliard
Darci M Doe
Faith M Chui
Greenwood Z Darakjy
Tony V Albares
Emily B Morasca
Morrow E Schemmer
Alejandro A Kolmetz
Murillo J Maclead
Cody V Albares
David O Foller
Nicolas M Perin
Jefferson D Dilliard
Johnson B Caudy
Adams J Nicka
Mayumi M Kolmetz
Faith Y Slusarski
Darci F Ostrosky
Kadeem H Perin
Ricardo R Amigon
Mujtaba H Bolognia
Rodrigues I Nicka
IdCountryDate
1000Germany2025-06-02
1001Germany2025-06-03
1002United Kingdom2025-06-11
1003Brazil2025-05-19
1004France2025-05-18
1005Spain2025-05-31
1006Italy2025-06-08
1007Germany2025-06-01
1008Argentina2025-06-02
1009Russia2025-06-14
1010Russia2025-05-27
1011France2025-06-10
1012Canada2025-06-03
1013India2025-05-29
1014Italy2025-06-05
1015Germany2025-05-21
1016Brazil2025-05-19
1017Japan2025-05-30
1018Brazil2025-06-05
1019Brazil2025-05-19
1020Brazil2025-06-08
1021Brazil2025-06-08
1022Brazil2025-06-10
1023Brazil2025-06-07
1024Australia2025-06-16
1025Brazil2025-06-08
1026Brazil2025-06-14
1027India2025-06-02
1028Australia2025-05-20
1029Italy2025-05-28
1030India2025-05-31
1031Brazil2025-06-06
1032United Kingdom2025-05-20
1033Italy2025-05-26
1034Australia2025-06-11
1035Japan2025-06-03
1036Spain2025-05-19
1037France2025-05-23
1038Brazil2025-06-16
1039Russia2025-05-29
1040Australia2025-06-10
1041Italy2025-06-05
1042Spain2025-05-25
1043United Kingdom2025-06-08
1044United Kingdom2025-05-27
1045United Kingdom2025-05-25
1046Japan2025-06-14
1047Canada2025-05-19
1048Germany2025-05-29
1049France2025-06-11

On-Demand Data

NameIdCountryDate
Jefferson T Glick1000Germany2025-05-29
Chavez B Oldroyd1001Italy2025-06-08
Claire J Darakjy1002Germany2025-05-26
David N Oldroyd1003Brazil2025-05-19
James B Kusko1004Spain2025-06-03
James E Iturbide1005Brazil2025-05-28
Mujtaba K Waycott1006Argentina2025-05-20
Stacey N Kusko1007India2025-05-28
David O Marrier1008Russia2025-05-31
Munro R Slusarski1009Argentina2025-06-03
Alejandro V Malet1010Brazil2025-06-14
Smith B Maclead1011Spain2025-05-29
Kadeem I Briddick1012Brazil2025-05-19
Ivar P Figeroa1013Brazil2025-05-19
Ashley X Whobrey1014Spain2025-06-10
Chavez P Ostrosky1015United Kingdom2025-05-30
Juan F Butt1016India2025-06-15
Julie C Whobrey1017Spain2025-06-10
Kaitlin Y Marrier1018Canada2025-05-23
Jefferson F Whobrey1019Italy2025-05-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci Y MarrierBrazilXuxue Feng RENEWAL
Darci E CaldareraRussiaAnna Fali UNQUALIFIED
Ricardo P RulapaughArgentinaXuxue Feng UNQUALIFIED
Izzy K KolmetzCanadaAnna Fali UNQUALIFIED
Ashley E GlickGermanyStephen Shaw UNQUALIFIED
Julie K MarrierCanadaOnyama Limba UNQUALIFIED
Alejandro V MaletJapanBernardo Dominic QUALIFIED
Tony D GarufiGermanyXuxue Feng UNQUALIFIED
Silvio M GauchoIndiaOnyama Limba NEGOTIATION
Chavez O MaletItalyIvan Magalhaes PROPOSAL
Ashley P FerenczIndiaXuxue Feng RENEWAL
Tony K GauchoRussiaAmy Elsner QUALIFIED
Wickens X AmigonBrazilXuxue Feng NEGOTIATION
Jones Z CaudySpainAsiya Javayant NEGOTIATION
Aditya Y GillianBrazilOnyama Limba UNQUALIFIED
Leja O KolmetzSpainIoni Bowcher NEGOTIATION
Mujtaba F OldroydJapanBernardo Dominic PROPOSAL
Arvin R GarufiFranceAsiya Javayant UNQUALIFIED
Munro Q ShinkoArgentinaIvan Magalhaes NEW
Stacey X RimArgentinaStephen Shaw UNQUALIFIED
Sinclair W MaletJapanElwin Sharvill RENEWAL
Maria P MacleadGermanyOnyama Limba RENEWAL
Cody V GillianArgentinaAnna Fali RENEWAL
Emily Z FollerJapanAmy Elsner NEW
Mayumi K FerenczCanadaOnyama Limba QUALIFIED
Morrow C OstroskyItalyAmy Elsner PROPOSAL
Costa A MorascaCanadaAnna Fali PROPOSAL
Wickens N SchemmerFranceXuxue Feng NEGOTIATION
Ashley Z AmigonGermanyStephen Shaw QUALIFIED
Leon T CampainJapanElwin Sharvill RENEWAL
Faith P MorascaAustraliaIoni Bowcher QUALIFIED
James V NestleRussiaAmy Elsner RENEWAL
Julie O FigeroaCanadaAmy Elsner QUALIFIED
Aruna D CaldareraAustraliaAnna Fali UNQUALIFIED
Misaki O WhobreyArgentinaXuxue Feng RENEWAL
Faith S RutaCanadaAnna Fali RENEWAL
Misaki F SaylorsIndiaOnyama Limba NEGOTIATION
Munro E WieserUnited KingdomXuxue Feng UNQUALIFIED
Jefferson D MorascaAustraliaStephen Shaw NEW
Mayumi T RimBrazilOnyama Limba 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>