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
James Y ChuiFranceIvan Magalhaes UNQUALIFIED
Francesco Z TollnerSpainAnna Fali PROPOSAL
Jefferson B VenereCanadaAmy Elsner UNQUALIFIED
Tony A GarufiRussiaAnna Fali UNQUALIFIED
Kadeem Y MorascaArgentinaAnna Fali NEGOTIATION
Kaitlin K FollerIndiaXuxue Feng UNQUALIFIED
Isabel S CaudyUnited KingdomAsiya Javayant NEGOTIATION
Izzy U GlickSpainXuxue Feng QUALIFIED
Johnson R CaldareraBrazilStephen Shaw QUALIFIED
Clifford G KolmetzCanadaIoni Bowcher PROPOSAL
Munro U SaylorsBrazilOnyama Limba NEGOTIATION
Antonio U VocelkaUnited KingdomXuxue Feng PROPOSAL
Aditya C PaprockiUnited KingdomAnna Fali PROPOSAL
Jennifer B FollerIndiaAmy Elsner UNQUALIFIED
Arvin U DoeAustraliaStephen Shaw RENEWAL
Deepesh B MarrierJapanAsiya Javayant PROPOSAL
Silvio M SaylorsArgentinaElwin Sharvill RENEWAL
Jeanfrancois K FigeroaIndiaBernardo Dominic RENEWAL
Stacey W ButtUnited KingdomIvan Magalhaes UNQUALIFIED
Rodrigues D TollnerUnited KingdomBernardo Dominic NEGOTIATION
Jones L InouyeFranceAmy Elsner PROPOSAL
Aika E CampainUnited KingdomAmy Elsner QUALIFIED
Ivar Z RutaFranceXuxue Feng UNQUALIFIED
Johnson R StockhamSpainStephen Shaw PROPOSAL
Maria H FollerArgentinaElwin Sharvill UNQUALIFIED
Octavia I KuskoUnited KingdomStephen Shaw RENEWAL
Jeanfrancois N NickaArgentinaIvan Magalhaes NEGOTIATION
Ricardo W RutaRussiaElwin Sharvill UNQUALIFIED
Faith S BologniaItalyIoni Bowcher NEW
Octavia W GillianFranceAmy Elsner QUALIFIED
Morrow F BriddickIndiaAsiya Javayant NEW
Leja H ShinkoRussiaAsiya Javayant PROPOSAL
Aditya F InouyeBrazilXuxue Feng QUALIFIED
Smith B DoeFranceAmy Elsner NEGOTIATION
Clifford T BologniaUnited KingdomAnna Fali NEW
Chavez H FerenczGermanyAmy Elsner PROPOSAL
Isabel L WaycottAustraliaAsiya Javayant NEGOTIATION
Maisha X PaprockiUnited KingdomAsiya Javayant QUALIFIED
Misaki Q SlusarskiSpainElwin Sharvill UNQUALIFIED
Costa P FlosiRussiaAmy Elsner NEW
Izzy D CaudyArgentinaAmy Elsner NEW
Misaki P VocelkaFranceElwin Sharvill NEW
Jones R TollnerBrazilAsiya Javayant NEW
Jennifer D MaletBrazilBernardo Dominic QUALIFIED
Clifford Y FlosiBrazilAsiya Javayant NEW
Deepesh O RimGermanyOnyama Limba RENEWAL
Francesco W GillianBrazilAnna Fali QUALIFIED
Clifford O InouyeIndiaXuxue Feng RENEWAL
Rodrigues B MarrierFranceElwin Sharvill QUALIFIED
James O StockhamBrazilIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Munro B TollnerFranceIoni Bowcher RENEWAL
Arvin W DoeCanadaIoni Bowcher NEW
Emily D KuskoIndiaStephen Shaw QUALIFIED
Misaki K RulapaughRussiaAnna Fali UNQUALIFIED
Emily K StockhamGermanyAnna Fali NEW
Ricardo E ShinkoJapanAnna Fali QUALIFIED
Claire K FlosiBrazilElwin Sharvill RENEWAL
Mayumi P VenereIndiaElwin Sharvill UNQUALIFIED
Greenwood H MaletJapanAnna Fali UNQUALIFIED
Jeanfrancois P GarufiSpainIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel Y CampainBrazil2024-05-31Chemel, James L Cpa PROPOSAL28Onyama Limba
1001David M VocelkaGermany2024-05-31Morlong Associates NEW80Ivan Magalhaes
1002Ricardo R KuskoFrance2024-06-12Truhlar And Truhlar Attys UNQUALIFIED86Ioni Bowcher
1003Clifford S VocelkaIndia2024-06-18Morlong Associates NEGOTIATION29Amy Elsner
1004Isabel M SaylorsAustralia2024-06-06Feiner Bros UNQUALIFIED79Amy Elsner
1005Octavia C DarakjyFrance2024-06-08Benton, John B Jr NEW65Anna Fali
1006Nicolas H VocelkaFrance2024-05-30Morlong Associates NEGOTIATION5Xuxue Feng
1007Jennifer I StensethItaly2024-06-15Benton, John B Jr NEW1Onyama Limba
1008Maria O MaletCanada2024-06-13Commercial Press PROPOSAL23Elwin Sharvill
1009Claire L BriddickGermany2024-05-26Rousseaux, Michael Esq QUALIFIED10Amy Elsner
1010Murillo E WaycottGermany2024-06-13Morlong Associates PROPOSAL10Anna Fali
1011Jones W SaylorsBrazil2024-06-04Morlong Associates NEGOTIATION8Onyama Limba
1012David K ChuiSpain2024-06-20Rangoni Of Florence RENEWAL38Ioni Bowcher
1013Isabel Q SchemmerSpain2024-05-31Printing Dimensions NEGOTIATION39Onyama Limba
1014Aruna Z ChuiFrance2024-06-22Rangoni Of Florence UNQUALIFIED71Amy Elsner
1015Adams L MorascaGermany2024-06-20Rousseaux, Michael Esq NEGOTIATION61Asiya Javayant
1016Misaki Z GauchoAustralia2024-06-17Commercial Press NEGOTIATION61Onyama Limba
1017Sinclair Z FigeroaRussia2024-06-15Morlong Associates UNQUALIFIED33Xuxue Feng
1018Maisha L StockhamCanada2024-06-15Chemel, James L Cpa NEGOTIATION6Ivan Magalhaes
1019Juan I DilliardGermany2024-06-17Morlong Associates RENEWAL98Onyama Limba
1020Sinclair Y ChuiAustralia2024-06-22Benton, John B Jr UNQUALIFIED46Ioni Bowcher
1021Faith T AmigonBrazil2024-06-03Feltz Printing Service RENEWAL46Amy Elsner
1022Darci F NestleFrance2024-06-15Benton, John B Jr NEGOTIATION1Bernardo Dominic
1023Aika P WaycottJapan2024-05-28Feiner Bros PROPOSAL83Stephen Shaw
1024Leja W CaudyJapan2024-05-29Chapman, Ross E Esq NEGOTIATION10Stephen Shaw
1025David A WaycottArgentina2024-05-25Feltz Printing Service UNQUALIFIED87Elwin Sharvill
1026Jennifer W CaldareraSpain2024-06-10Truhlar And Truhlar Attys NEW95Amy Elsner
1027Wickens I KuskoSpain2024-06-11Chemel, James L Cpa NEGOTIATION10Onyama Limba
1028Claire I FollerGermany2024-06-07King, Christopher A Esq PROPOSAL78Ivan Magalhaes
1029Kadeem X RoysterArgentina2024-06-14Chapman, Ross E Esq NEGOTIATION11Stephen Shaw
1030Clifford L VenereArgentina2024-06-02Chemel, James L Cpa NEW10Onyama Limba
1031Jennifer G NestleFrance2024-06-04Buckley Miller Wright UNQUALIFIED14Ivan Magalhaes
1032Julie E GillianItaly2024-05-24King, Christopher A Esq NEGOTIATION69Asiya Javayant
1033Salvatore X DarakjyCanada2024-06-11Dorl, James J Esq RENEWAL89Xuxue Feng
1034Maria Q CaudyRussia2024-06-18Truhlar And Truhlar Attys UNQUALIFIED14Asiya Javayant
1035Ashley V DarakjyItaly2024-06-10Chemel, James L Cpa RENEWAL10Amy Elsner
1036Morrow E TollnerCanada2024-05-30Truhlar And Truhlar Attys QUALIFIED2Elwin Sharvill
1037Mujtaba O SlusarskiRussia2024-06-21Feiner Bros PROPOSAL85Asiya Javayant
1038Murillo F CampainJapan2024-06-07Benton, John B Jr RENEWAL32Onyama Limba
1039Jefferson V IturbideIndia2024-06-18Benton, John B Jr QUALIFIED94Bernardo Dominic
1040Julie I KuskoCanada2024-06-17King, Christopher A Esq RENEWAL5Stephen Shaw
1041James E PoquetteAustralia2024-05-27Dorl, James J Esq PROPOSAL31Amy Elsner
1042Munro D GlickArgentina2024-05-27Truhlar And Truhlar Attys RENEWAL28Xuxue Feng
1043Ricardo D RoysterAustralia2024-06-07Chemel, James L Cpa UNQUALIFIED13Amy Elsner
1044Deepesh R CaldareraCanada2024-06-01Commercial Press UNQUALIFIED75Asiya Javayant
1045Isabel R FerenczJapan2024-06-08Buckley Miller Wright QUALIFIED5Stephen Shaw
1046Jefferson U PaprockiSpain2024-06-17Dorl, James J Esq UNQUALIFIED47Onyama Limba
1047Rodrigues H MacleadIndia2024-05-24Buckley Miller Wright NEW20Ivan Magalhaes
1048Antonio N SaylorsArgentina2024-06-07Feltz Printing Service NEW90Amy Elsner
1049Rodrigues I ShinkoAustralia2024-06-16Rangoni Of Florence PROPOSAL58Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
James L PerinCanadaAsiya Javayant NEGOTIATION
Ivar D InouyeAustraliaXuxue Feng NEW
Mujtaba K IturbideRussiaIoni Bowcher NEGOTIATION
Wickens F DoeRussiaStephen Shaw NEW
Emily B SergiGermanyBernardo Dominic UNQUALIFIED
Arvin L OstroskyJapanAsiya Javayant NEGOTIATION
Tony N WieserArgentinaAsiya Javayant QUALIFIED
Jefferson V WhobreyItalyIoni Bowcher RENEWAL
Munro Z FlosiJapanStephen Shaw QUALIFIED
Ricardo S BriddickUnited KingdomAmy Elsner NEW
Ivar H TollnerFranceIoni Bowcher PROPOSAL
Leja W FerenczIndiaXuxue Feng RENEWAL
Arvin C NickaUnited KingdomAsiya Javayant RENEWAL
Silvio O WhobreyGermanyIvan Magalhaes QUALIFIED
Munro B GlickGermanyAnna Fali QUALIFIED
Aruna O StensethFranceAsiya Javayant PROPOSAL
Jennifer V PaprockiGermanyAnna Fali RENEWAL
Aruna Q BriddickJapanAnna Fali UNQUALIFIED
Ricardo R MacleadRussiaXuxue Feng NEGOTIATION
Isabel K ShinkoIndiaAsiya Javayant UNQUALIFIED
Clifford B ShinkoIndiaIoni Bowcher NEGOTIATION
Chavez P AlbaresArgentinaElwin Sharvill NEGOTIATION
Mujtaba B TollnerIndiaStephen Shaw RENEWAL
Stacey N FerenczFranceAnna Fali UNQUALIFIED
Jeanfrancois J MacleadFranceAmy Elsner NEGOTIATION
Aruna C GarufiUnited KingdomBernardo Dominic NEW
Leon R MaletFranceStephen Shaw NEW
Aditya A DarakjyArgentinaStephen Shaw PROPOSAL
Sinclair Q PerinJapanXuxue Feng RENEWAL
Claire K MarrierCanadaAmy Elsner NEGOTIATION
Adams B ButtBrazilXuxue Feng UNQUALIFIED
Arvin S RoysterItalyOnyama Limba RENEWAL
Jennifer M SlusarskiGermanyAnna Fali NEGOTIATION
Jones F SergiCanadaAnna Fali UNQUALIFIED
Aditya G KolmetzSpainElwin Sharvill NEW
Maria Q VenereBrazilBernardo Dominic NEW
Wickens F MacleadBrazilIvan Magalhaes RENEWAL
Tony T MaletItalyStephen Shaw NEW
Rodrigues A MacleadRussiaAnna Fali PROPOSAL
Faith P AmigonSpainIoni Bowcher NEGOTIATION
Isabel A GarufiUnited KingdomOnyama Limba PROPOSAL
Faith F GarufiUnited KingdomAmy Elsner RENEWAL
Leja Q VenereItalyElwin Sharvill NEGOTIATION
Deepesh H SlusarskiJapanIoni Bowcher UNQUALIFIED
Darci S DarakjySpainIoni Bowcher RENEWAL
Munro F MorascaJapanXuxue Feng RENEWAL
Ricardo Z SergiJapanAmy Elsner NEW
Silvio F DoeUnited KingdomXuxue Feng UNQUALIFIED
Greenwood K MaletFranceIoni Bowcher QUALIFIED
Jones C DoeItalyAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Kaitlin X Caudy
Kadeem T Paprocki
Johnson I Iturbide
Jefferson R Ruta
Maisha L Venere
Wickens Z Maclead
Jeanfrancois N Ferencz
Faith G Wieser
Mujtaba Y Flosi
Misaki E Marrier
Tony V Royster
Costa Z Maclead
Smith F Ostrosky
David D Caldarera
Stacey W Dilliard
Faith X Tollner
Nicolas N Bolognia
James N Schemmer
Juan C Venere
Salvatore L Bolognia
Faith O Tollner
Tony N Bowley
Maisha Q Foller
Faith E Gaucho
Mujtaba U Butt
Aika F Stenseth
Alejandro D Slusarski
Nicolas S Caldarera
Salvatore J Chui
James G Inouye
Aditya G Vocelka
Maria V Nicka
Misaki Z Dilliard
Misaki R Bowley
Smith O Iturbide
Alejandro L Chui
Ivar I Rim
Aruna C Figeroa
Faith K Malet
Octavia V Maclead
Ivar X Rulapaugh
Aika W Maclead
Deepesh A Ruta
Jennifer O Gillian
Jones R Rulapaugh
Faith E Caldarera
Adams Z Marrier
Jeanfrancois J Campain
Aika E Venere
Sinclair B Morasca
IdCountryDate
1000Russia2024-06-14
1001Germany2024-06-20
1002Japan2024-05-31
1003Brazil2024-06-22
1004Japan2024-06-08
1005United Kingdom2024-06-01
1006Spain2024-06-07
1007Italy2024-05-25
1008India2024-05-24
1009Canada2024-06-19
1010United Kingdom2024-06-19
1011United Kingdom2024-06-02
1012Australia2024-06-13
1013Argentina2024-06-12
1014Australia2024-06-22
1015Argentina2024-06-04
1016Brazil2024-06-12
1017United Kingdom2024-06-19
1018United Kingdom2024-06-15
1019Australia2024-05-27
1020United Kingdom2024-06-04
1021India2024-05-29
1022Argentina2024-06-15
1023Russia2024-06-22
1024Australia2024-06-07
1025France2024-05-24
1026Canada2024-06-02
1027Brazil2024-06-20
1028India2024-05-28
1029Russia2024-06-06
1030Germany2024-06-17
1031Spain2024-06-22
1032Canada2024-06-20
1033Japan2024-06-17
1034United Kingdom2024-05-24
1035Argentina2024-06-01
1036Japan2024-05-25
1037United Kingdom2024-06-16
1038France2024-06-14
1039Italy2024-06-04
1040Brazil2024-06-13
1041Australia2024-05-30
1042India2024-06-17
1043Italy2024-05-28
1044Brazil2024-06-13
1045Italy2024-05-29
1046Brazil2024-06-07
1047Australia2024-06-16
1048Italy2024-05-25
1049Australia2024-06-05

On-Demand Data

NameIdCountryDate
Claire S Chui1000Italy2024-06-12
Claire Q Gaucho1001Brazil2024-06-08
Antonio L Ferencz1002Australia2024-05-31
Tony O Marrier1003Argentina2024-06-14
Stacey N Morasca1004Russia2024-05-31
Izzy X Venere1005Brazil2024-06-02
Sinclair W Malet1006Brazil2024-05-29
Faith O Nestle1007India2024-06-15
Ricardo D Malet1008Germany2024-06-16
Alejandro F Malet1009India2024-05-29
Isabel V Kolmetz1010Australia2024-05-28
Morrow B Ferencz1011Japan2024-05-30
Ricardo V Dilliard1012Italy2024-05-26
Arvin Y Chui1013Spain2024-06-01
Johnson A Garufi1014Australia2024-05-30
Ashley S Caudy1015Canada2024-06-16
Aditya A Royster1016Argentina2024-05-29
Deepesh J Foller1017France2024-06-21
Jennifer O Kusko1018Germany2024-06-07
Claire P Kolmetz1019Canada2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha Y ButtUnited KingdomOnyama Limba NEW
Aditya I WieserRussiaAnna Fali NEGOTIATION
Faith M StensethAustraliaAmy Elsner UNQUALIFIED
Leja V StensethAustraliaStephen Shaw RENEWAL
James X StensethCanadaXuxue Feng QUALIFIED
Nicolas W MarrierJapanIoni Bowcher UNQUALIFIED
Aika U RoysterJapanOnyama Limba QUALIFIED
Julie Z PaprockiSpainAsiya Javayant RENEWAL
Arvin T PaprockiGermanyOnyama Limba UNQUALIFIED
Julie V RimArgentinaAmy Elsner QUALIFIED
Salvatore N GauchoItalyAmy Elsner PROPOSAL
Leon L SchemmerIndiaIvan Magalhaes PROPOSAL
Silvio M PerinBrazilAsiya Javayant UNQUALIFIED
Jefferson I SchemmerSpainAmy Elsner NEW
Faith O FlosiArgentinaAnna Fali UNQUALIFIED
Francesco H SlusarskiBrazilOnyama Limba RENEWAL
Izzy H ButtFranceAnna Fali RENEWAL
Rodrigues R FigeroaGermanyElwin Sharvill RENEWAL
Adams A ChuiIndiaAnna Fali UNQUALIFIED
Jefferson W FollerFranceAmy Elsner NEGOTIATION
Leon G SlusarskiArgentinaAsiya Javayant RENEWAL
Leja N CampainGermanyElwin Sharvill NEW
Adams N KuskoArgentinaElwin Sharvill RENEWAL
Kaitlin F RulapaughItalyOnyama Limba QUALIFIED
Rodrigues D OstroskyIndiaElwin Sharvill NEW
Rodrigues N ShinkoJapanOnyama Limba RENEWAL
Aruna W NickaUnited KingdomElwin Sharvill NEW
Jennifer A MarrierFranceStephen Shaw QUALIFIED
Mayumi Y FollerUnited KingdomElwin Sharvill NEW
Nicolas N NickaJapanStephen Shaw UNQUALIFIED
Antonio V StockhamJapanBernardo Dominic UNQUALIFIED
Sinclair F GlickJapanXuxue Feng UNQUALIFIED
Leon E GauchoArgentinaAsiya Javayant UNQUALIFIED
Jefferson Z KolmetzSpainAmy Elsner NEGOTIATION
Morrow O RulapaughIndiaIvan Magalhaes QUALIFIED
Maisha F PaprockiCanadaBernardo Dominic QUALIFIED
Ricardo J MaletSpainBernardo Dominic NEW
Alejandro O WieserUnited KingdomIoni Bowcher RENEWAL
Nicolas Q GillianArgentinaIoni Bowcher NEW
Clifford E BowleyFranceOnyama Limba NEGOTIATION

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