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
Octavia Z CaudyArgentinaXuxue Feng PROPOSAL
Mujtaba G WhobreyJapanBernardo Dominic PROPOSAL
Emily Z AlbaresCanadaAsiya Javayant QUALIFIED
Silvio W WieserSpainElwin Sharvill RENEWAL
Aditya L OldroydGermanyAnna Fali NEGOTIATION
Mayumi I KuskoCanadaBernardo Dominic QUALIFIED
Faith O FollerSpainIvan Magalhaes QUALIFIED
Misaki J SergiGermanyXuxue Feng RENEWAL
Sinclair V FerenczArgentinaBernardo Dominic NEW
Aditya D RutaBrazilIoni Bowcher QUALIFIED
Sinclair R TollnerIndiaXuxue Feng NEW
Morrow J SchemmerIndiaAnna Fali QUALIFIED
Wickens G WaycottAustraliaAmy Elsner RENEWAL
Ricardo M StensethJapanOnyama Limba PROPOSAL
Stacey U FigeroaUnited KingdomIvan Magalhaes RENEWAL
Greenwood T ChuiRussiaOnyama Limba UNQUALIFIED
Leja S CaldareraArgentinaAsiya Javayant NEW
Kadeem Q DilliardAustraliaAsiya Javayant PROPOSAL
Silvio H ShinkoFranceAsiya Javayant NEW
Chavez B SergiSpainOnyama Limba NEW
Stacey J AmigonBrazilAsiya Javayant RENEWAL
Faith L DilliardItalyElwin Sharvill UNQUALIFIED
Alejandro U WieserUnited KingdomAnna Fali QUALIFIED
Aruna V GillianItalyAsiya Javayant PROPOSAL
Juan V SlusarskiArgentinaAsiya Javayant NEGOTIATION
Mayumi L DilliardItalyXuxue Feng UNQUALIFIED
David S InouyeRussiaAmy Elsner PROPOSAL
Mayumi V DarakjyItalyBernardo Dominic RENEWAL
Jefferson K AmigonFranceElwin Sharvill PROPOSAL
Faith E PaprockiArgentinaStephen Shaw RENEWAL
Costa C MacleadAustraliaElwin Sharvill RENEWAL
Jeanfrancois B WhobreyRussiaIvan Magalhaes PROPOSAL
Jeanfrancois Z TollnerGermanyIvan Magalhaes PROPOSAL
Leon B ButtIndiaAsiya Javayant QUALIFIED
Kadeem A PoquetteRussiaIoni Bowcher PROPOSAL
Clifford Y ChuiCanadaAnna Fali UNQUALIFIED
Kaitlin N CampainIndiaAsiya Javayant UNQUALIFIED
Silvio L BriddickIndiaOnyama Limba RENEWAL
Mayumi C VenereIndiaIoni Bowcher UNQUALIFIED
James I SchemmerItalyIvan Magalhaes NEW
Mujtaba P RimFranceElwin Sharvill RENEWAL
Leja F SergiFranceIvan Magalhaes NEW
Alejandro F BologniaFranceIoni Bowcher RENEWAL
Kadeem K BriddickFranceOnyama Limba NEW
Wickens A InouyeBrazilBernardo Dominic NEGOTIATION
Aditya M OstroskyItalyAsiya Javayant PROPOSAL
Claire T RulapaughUnited KingdomIvan Magalhaes NEW
Leon A WaycottJapanAnna Fali NEW
Jeanfrancois P GlickIndiaAmy Elsner RENEWAL
Silvio E DoeCanadaStephen Shaw RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois P GarufiArgentinaAnna Fali RENEWAL
Mayumi J KuskoSpainIvan Magalhaes RENEWAL
David Q AmigonJapanBernardo Dominic UNQUALIFIED
Nicolas Y OstroskyBrazilAmy Elsner NEGOTIATION
Francesco X WhobreyCanadaIvan Magalhaes PROPOSAL
Smith Q GauchoCanadaOnyama Limba NEW
Alejandro Q GauchoJapanXuxue Feng NEGOTIATION
Darci C SergiBrazilElwin Sharvill RENEWAL
Maria D DilliardFranceXuxue Feng QUALIFIED
Arvin W VocelkaSpainIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony N SlusarskiArgentina2025-04-07Chemel, James L Cpa NEW22Xuxue Feng
1001Mayumi H WieserJapan2025-04-18King, Christopher A Esq NEW0Xuxue Feng
1002Costa C MorascaArgentina2025-04-24Feiner Bros PROPOSAL49Bernardo Dominic
1003Munro P BriddickJapan2025-04-27Morlong Associates NEW98Stephen Shaw
1004Isabel I PerinFrance2025-04-15Chapman, Ross E Esq RENEWAL26Ivan Magalhaes
1005Jennifer Z SaylorsItaly2025-04-27Rangoni Of Florence UNQUALIFIED79Anna Fali
1006Faith G FerenczBrazil2025-03-31Rousseaux, Michael Esq UNQUALIFIED46Ioni Bowcher
1007Jeanfrancois Y BologniaUnited Kingdom2025-04-08Chanay, Jeffrey A Esq NEGOTIATION84Stephen Shaw
1008Rodrigues F GillianItaly2025-04-11Buckley Miller Wright NEGOTIATION55Elwin Sharvill
1009Julie H AlbaresIndia2025-04-14Feltz Printing Service NEGOTIATION60Ivan Magalhaes
1010Faith G DoeIndia2025-04-07Commercial Press NEW90Amy Elsner
1011James B RutaAustralia2025-04-14Chanay, Jeffrey A Esq NEGOTIATION17Anna Fali
1012Rodrigues J WaycottJapan2025-04-11Commercial Press UNQUALIFIED39Ivan Magalhaes
1013Isabel V CampainItaly2025-04-26Morlong Associates PROPOSAL86Ivan Magalhaes
1014Morrow L StensethBrazil2025-04-20Chemel, James L Cpa QUALIFIED15Xuxue Feng
1015Smith U MarrierIndia2025-04-18Feiner Bros NEGOTIATION25Asiya Javayant
1016Ricardo U WieserItaly2025-04-03Feiner Bros PROPOSAL12Amy Elsner
1017Morrow T DarakjyCanada2025-04-10Rousseaux, Michael Esq PROPOSAL18Anna Fali
1018Stacey A GlickUnited Kingdom2025-04-06Chemel, James L Cpa NEGOTIATION35Amy Elsner
1019Johnson Y WieserIndia2025-04-09Feiner Bros NEGOTIATION56Onyama Limba
1020Salvatore G FerenczUnited Kingdom2025-04-19Benton, John B Jr NEGOTIATION31Amy Elsner
1021Julie Z WaycottUnited Kingdom2025-04-28Feltz Printing Service QUALIFIED94Xuxue Feng
1022Salvatore I DoeBrazil2025-04-15Truhlar And Truhlar Attys RENEWAL63Elwin Sharvill
1023Nicolas M RutaArgentina2025-04-04King, Christopher A Esq NEW63Asiya Javayant
1024Julie P RimArgentina2025-04-14Rousseaux, Michael Esq QUALIFIED19Ivan Magalhaes
1025Chavez S OldroydIndia2025-04-27Buckley Miller Wright NEGOTIATION96Anna Fali
1026Faith G NickaSpain2025-04-21Chanay, Jeffrey A Esq UNQUALIFIED5Stephen Shaw
1027Juan V RulapaughIndia2025-04-10Chemel, James L Cpa QUALIFIED89Xuxue Feng
1028Misaki O KolmetzCanada2025-04-14Dorl, James J Esq RENEWAL43Onyama Limba
1029Sinclair Y MaletIndia2025-04-09Chapman, Ross E Esq UNQUALIFIED52Ioni Bowcher
1030Tony O KuskoAustralia2025-04-27Chemel, James L Cpa NEGOTIATION4Xuxue Feng
1031Nicolas H OstroskyAustralia2025-04-09Feiner Bros NEW73Xuxue Feng
1032Clifford O InouyeJapan2025-04-27Morlong Associates RENEWAL67Asiya Javayant
1033Nicolas C RoysterCanada2025-04-13Truhlar And Truhlar Attys QUALIFIED24Asiya Javayant
1034Sinclair Y BologniaCanada2025-04-17Chapman, Ross E Esq PROPOSAL35Stephen Shaw
1035Aditya V SaylorsSpain2025-03-31Buckley Miller Wright QUALIFIED95Asiya Javayant
1036Maisha Z PaprockiItaly2025-04-23Chemel, James L Cpa UNQUALIFIED35Anna Fali
1037Sinclair H SergiFrance2025-04-11Printing Dimensions NEW85Xuxue Feng
1038Leja L SchemmerAustralia2025-04-01King, Christopher A Esq RENEWAL82Ivan Magalhaes
1039Wickens R BologniaGermany2025-04-19Feiner Bros UNQUALIFIED1Ioni Bowcher
1040Maisha B KuskoUnited Kingdom2025-04-08Feiner Bros UNQUALIFIED42Ioni Bowcher
1041Julie Z FlosiArgentina2025-04-06Chanay, Jeffrey A Esq QUALIFIED65Ioni Bowcher
1042Sinclair E MaletJapan2025-04-25Chapman, Ross E Esq QUALIFIED47Bernardo Dominic
1043David F ButtGermany2025-04-20Benton, John B Jr RENEWAL48Ivan Magalhaes
1044Costa V InouyeGermany2025-04-03Commercial Press RENEWAL30Amy Elsner
1045Julie G DarakjyFrance2025-04-10Printing Dimensions NEGOTIATION29Stephen Shaw
1046Arvin F PoquetteFrance2025-04-11Buckley Miller Wright QUALIFIED34Ivan Magalhaes
1047Kadeem H ButtIndia2025-04-23Commercial Press NEGOTIATION44Asiya Javayant
1048Kadeem C PoquetteGermany2025-04-28Rangoni Of Florence NEGOTIATION44Elwin Sharvill
1049Mujtaba X FollerArgentina2025-04-04Buckley Miller Wright PROPOSAL48Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba N FigeroaSpainStephen Shaw UNQUALIFIED
Cody N FerenczFranceBernardo Dominic RENEWAL
Chavez C CaudyFranceBernardo Dominic PROPOSAL
Jeanfrancois J RoysterAustraliaStephen Shaw QUALIFIED
Silvio Y RimBrazilIvan Magalhaes RENEWAL
Jones T BriddickArgentinaStephen Shaw UNQUALIFIED
Smith Q IturbideGermanyElwin Sharvill NEW
Mujtaba Q SaylorsSpainStephen Shaw PROPOSAL
Arvin W KolmetzAustraliaStephen Shaw NEW
Johnson L MarrierBrazilIvan Magalhaes NEW
James Z MarrierFranceBernardo Dominic UNQUALIFIED
Emily E BologniaAustraliaXuxue Feng NEW
Rodrigues E DarakjyJapanAmy Elsner NEW
Clifford B FerenczSpainIoni Bowcher RENEWAL
Tony X IturbideArgentinaIoni Bowcher UNQUALIFIED
Jones X IturbideRussiaIvan Magalhaes UNQUALIFIED
Stacey T RimBrazilIvan Magalhaes RENEWAL
Nicolas S RulapaughCanadaIoni Bowcher UNQUALIFIED
Juan O ButtArgentinaAsiya Javayant PROPOSAL
Ivar Y BologniaIndiaAnna Fali NEW
Kaitlin Y RutaArgentinaAnna Fali NEGOTIATION
Kadeem L BologniaFranceAnna Fali RENEWAL
Aditya M DilliardFranceOnyama Limba NEW
Kadeem Y AmigonGermanyIvan Magalhaes QUALIFIED
Emily X DoeCanadaIoni Bowcher UNQUALIFIED
Jennifer G OldroydRussiaOnyama Limba RENEWAL
David P InouyeArgentinaBernardo Dominic RENEWAL
Chavez N CaudyBrazilAnna Fali NEGOTIATION
Juan N WhobreyItalyAmy Elsner NEGOTIATION
Antonio J DarakjyItalyIvan Magalhaes NEW
Salvatore Z DarakjyCanadaIoni Bowcher UNQUALIFIED
Murillo F TollnerItalyXuxue Feng NEW
Darci A PaprockiAustraliaElwin Sharvill UNQUALIFIED
Jefferson Q DoeBrazilAnna Fali NEW
Sinclair G FollerCanadaIvan Magalhaes UNQUALIFIED
Ivar R AmigonJapanAsiya Javayant UNQUALIFIED
Maisha R RoysterSpainElwin Sharvill RENEWAL
Julie Z VenereFranceIvan Magalhaes RENEWAL
Antonio Z DilliardUnited KingdomAmy Elsner NEW
Jones X NestleArgentinaStephen Shaw NEW
Izzy W BriddickArgentinaAmy Elsner NEW
Wickens B ButtIndiaXuxue Feng PROPOSAL
Murillo K NestleSpainAmy Elsner NEW
Arvin Q RulapaughItalyStephen Shaw NEW
Greenwood F VocelkaGermanyIvan Magalhaes PROPOSAL
Octavia D DilliardIndiaIvan Magalhaes RENEWAL
Kadeem T AlbaresCanadaAnna Fali NEW
James Z RimCanadaIvan Magalhaes RENEWAL
Salvatore S DarakjyBrazilAsiya Javayant UNQUALIFIED
Aika Q CaudyRussiaIvan Magalhaes QUALIFIED
Frozen Columns
Name
Maria F Gillian
Salvatore J Stockham
Ricardo G Schemmer
Darci K Inouye
Murillo G Foller
Aditya J Ostrosky
Morrow Q Marrier
Octavia X Albares
Morrow O Bowley
Leja Q Vocelka
Munro Z Garufi
Alejandro V Glick
Ashley E Rulapaugh
Kaitlin N Gillian
Mayumi G Butt
Arvin A Caldarera
Sinclair X Foller
Rodrigues P Wieser
Ashley M Vocelka
Cody T Rulapaugh
Leja G Paprocki
Clifford X Malet
Jeanfrancois F Doe
Juan C Briddick
Emily O Kolmetz
Tony W Waycott
Salvatore C Kusko
Silvio X Poquette
Jefferson P Campain
Murillo E Doe
Rodrigues J Albares
Misaki D Ruta
Jones R Campain
Cody G Campain
Claire F Figeroa
Costa E Gaucho
Greenwood V Iturbide
Maisha R Wieser
James H Vocelka
Aika C Glick
Claire K Dilliard
Julie J Garufi
Aika B Saylors
Leon J Gillian
Salvatore O Ruta
Faith D Royster
Greenwood Z Rim
Kadeem N Caudy
Misaki Q Caldarera
Silvio I Caldarera
IdCountryDate
1000India2025-04-18
1001France2025-04-24
1002India2025-04-20
1003Australia2025-04-28
1004Italy2025-04-11
1005Argentina2025-04-15
1006Russia2025-04-26
1007Brazil2025-04-26
1008Spain2025-04-23
1009Canada2025-04-22
1010Canada2025-04-21
1011Australia2025-04-13
1012Spain2025-04-05
1013Germany2025-04-28
1014Australia2025-04-08
1015Canada2025-04-15
1016Japan2025-04-21
1017Brazil2025-04-18
1018Russia2025-04-01
1019United Kingdom2025-04-15
1020Germany2025-04-20
1021Australia2025-04-17
1022Japan2025-04-02
1023Brazil2025-04-23
1024Canada2025-04-06
1025Italy2025-04-04
1026France2025-04-26
1027Japan2025-04-25
1028France2025-04-17
1029Russia2025-04-13
1030India2025-04-05
1031Spain2025-04-08
1032Brazil2025-04-27
1033Australia2025-04-03
1034France2025-04-24
1035Australia2025-04-03
1036Japan2025-04-05
1037Germany2025-04-01
1038Germany2025-04-20
1039Japan2025-04-04
1040United Kingdom2025-04-14
1041Argentina2025-04-11
1042Germany2025-04-01
1043Russia2025-04-26
1044Spain2025-04-03
1045France2025-04-26
1046Japan2025-04-02
1047Australia2025-04-03
1048Spain2025-04-18
1049Spain2025-04-25

On-Demand Data

NameIdCountryDate
Isabel M Dilliard1000Japan2025-04-27
Clifford M Bowley1001Germany2025-04-15
Morrow D Perin1002Canada2025-04-04
Johnson J Glick1003Japan2025-04-25
Ashley J Ruta1004Argentina2025-04-11
Nicolas W Vocelka1005Italy2025-04-25
Silvio F Malet1006Germany2025-03-31
Silvio V Morasca1007Germany2025-04-17
Ricardo T Garufi1008Spain2025-04-17
Salvatore X Ruta1009Canada2025-04-08
Arvin I Shinko1010Spain2025-04-09
Smith B Doe1011Brazil2025-04-11
Juan S Slusarski1012United Kingdom2025-04-15
Aruna Q Royster1013Spain2025-04-06
Arvin I Bowley1014Japan2025-04-28
Jefferson X Tollner1015France2025-04-13
James R Chui1016Italy2025-04-26
Aditya X Caudy1017Brazil2025-04-06
Aditya G Briddick1018Russia2025-04-06
Clifford L Malet1019United Kingdom2025-04-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David W WhobreySpainOnyama Limba QUALIFIED
Misaki J KuskoIndiaAnna Fali RENEWAL
Ashley M BowleyItalyAnna Fali NEGOTIATION
Tony X SaylorsGermanyIvan Magalhaes NEW
Aruna I FlosiJapanAsiya Javayant NEGOTIATION
Faith S DoeGermanyAmy Elsner NEW
Deepesh S NestleBrazilStephen Shaw PROPOSAL
David Q ButtSpainIvan Magalhaes NEGOTIATION
Nicolas P ChuiFranceAsiya Javayant QUALIFIED
Murillo M SlusarskiFranceElwin Sharvill RENEWAL
Aditya N PoquetteAustraliaOnyama Limba NEGOTIATION
Maisha K DarakjyAustraliaAmy Elsner UNQUALIFIED
Jefferson X StockhamGermanyAsiya Javayant PROPOSAL
Ivar O NestleArgentinaOnyama Limba NEGOTIATION
Leon M DilliardUnited KingdomIoni Bowcher QUALIFIED
Isabel E PerinUnited KingdomElwin Sharvill NEW
Ivar J OldroydCanadaIvan Magalhaes PROPOSAL
Ivar D DarakjySpainXuxue Feng NEGOTIATION
Jeanfrancois C CaldareraCanadaStephen Shaw RENEWAL
Antonio Q StockhamItalyAmy Elsner UNQUALIFIED
Rodrigues O RulapaughIndiaAnna Fali PROPOSAL
Leja P MaletIndiaAnna Fali RENEWAL
Rodrigues B GarufiJapanIvan Magalhaes PROPOSAL
Emily X CaudyIndiaAmy Elsner PROPOSAL
Cody U VocelkaUnited KingdomAnna Fali UNQUALIFIED
Jeanfrancois E CaldareraAustraliaXuxue Feng PROPOSAL
Ivar H SchemmerFranceIvan Magalhaes NEGOTIATION
Sinclair N ShinkoCanadaIoni Bowcher UNQUALIFIED
Claire U CaldareraUnited KingdomBernardo Dominic QUALIFIED
Mujtaba V GarufiUnited KingdomIoni Bowcher PROPOSAL
Stacey X MarrierAustraliaIoni Bowcher NEGOTIATION
Clifford I RimGermanyAmy Elsner UNQUALIFIED
Mujtaba B AmigonUnited KingdomAmy Elsner NEW
Stacey E DarakjyBrazilXuxue Feng RENEWAL
Emily N FlosiJapanIvan Magalhaes RENEWAL
Cody T DarakjyItalyStephen Shaw UNQUALIFIED
Kadeem K MorascaItalyOnyama Limba RENEWAL
Silvio W GarufiFranceBernardo Dominic RENEWAL
Morrow B WhobreyRussiaAsiya Javayant NEGOTIATION
Salvatore Y BriddickUnited KingdomElwin Sharvill 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>