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
Maisha C BologniaFranceAmy Elsner RENEWAL
Wickens M MorascaRussiaAsiya Javayant NEGOTIATION
Izzy U PoquetteSpainIoni Bowcher NEW
Kaitlin N CaldareraGermanyIoni Bowcher QUALIFIED
David M FerenczGermanyIvan Magalhaes RENEWAL
Stacey M VocelkaGermanyAsiya Javayant NEGOTIATION
Mayumi R ChuiArgentinaStephen Shaw UNQUALIFIED
David T VenereFranceAnna Fali NEW
Munro U BowleyArgentinaXuxue Feng RENEWAL
Julie T MorascaIndiaIoni Bowcher RENEWAL
Nicolas T FerenczCanadaAmy Elsner QUALIFIED
Johnson M GarufiUnited KingdomBernardo Dominic QUALIFIED
David Y WaycottUnited KingdomAnna Fali NEW
Maisha Z PoquetteJapanAsiya Javayant QUALIFIED
Chavez L DoeRussiaStephen Shaw RENEWAL
Darci R ButtAustraliaStephen Shaw UNQUALIFIED
Ivar O ShinkoFranceStephen Shaw QUALIFIED
Morrow C VocelkaSpainOnyama Limba PROPOSAL
Leja U GlickArgentinaAsiya Javayant NEGOTIATION
Kaitlin O ChuiRussiaBernardo Dominic UNQUALIFIED
Kadeem V PerinBrazilBernardo Dominic PROPOSAL
Munro Y WaycottCanadaBernardo Dominic UNQUALIFIED
Adams N PoquetteSpainBernardo Dominic NEGOTIATION
Chavez H DilliardJapanBernardo Dominic NEW
Mujtaba Q ShinkoIndiaElwin Sharvill QUALIFIED
David V VocelkaFranceIvan Magalhaes PROPOSAL
Juan S WhobreyIndiaAnna Fali UNQUALIFIED
Nicolas D SergiAustraliaStephen Shaw QUALIFIED
Leon D GillianGermanyIvan Magalhaes PROPOSAL
Greenwood F RutaJapanIvan Magalhaes RENEWAL
Johnson J GillianFranceAmy Elsner RENEWAL
Nicolas O OstroskyJapanElwin Sharvill UNQUALIFIED
Jefferson J MorascaBrazilIoni Bowcher NEW
Jennifer L AmigonCanadaOnyama Limba QUALIFIED
Izzy P BriddickRussiaIvan Magalhaes NEGOTIATION
David H RoysterArgentinaAmy Elsner RENEWAL
Izzy G FerenczJapanElwin Sharvill PROPOSAL
Kadeem X StockhamGermanyOnyama Limba RENEWAL
Tony L WieserAustraliaAsiya Javayant UNQUALIFIED
Aruna N InouyeCanadaIvan Magalhaes NEGOTIATION
Arvin K TollnerCanadaAmy Elsner RENEWAL
Jennifer M MacleadFranceAnna Fali UNQUALIFIED
James W DarakjySpainBernardo Dominic NEW
Deepesh Z SchemmerUnited KingdomIvan Magalhaes UNQUALIFIED
Murillo N WieserSpainXuxue Feng PROPOSAL
David Q SaylorsArgentinaAmy Elsner PROPOSAL
Nicolas D NestleJapanStephen Shaw UNQUALIFIED
Jefferson I GlickItalyIvan Magalhaes NEGOTIATION
Greenwood H CaudyUnited KingdomAnna Fali UNQUALIFIED
Octavia A ButtItalyAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Nicolas C CaldareraItalyXuxue Feng NEGOTIATION
Rodrigues Y SaylorsFranceAmy Elsner NEGOTIATION
David V AmigonBrazilAnna Fali QUALIFIED
Sinclair X OldroydItalyIvan Magalhaes NEGOTIATION
Francesco S PerinAustraliaStephen Shaw PROPOSAL
Leon L NestleIndiaAmy Elsner NEGOTIATION
Stacey U KolmetzCanadaOnyama Limba QUALIFIED
Octavia L MaletFranceAmy Elsner NEGOTIATION
Aditya S WaycottSpainIvan Magalhaes QUALIFIED
Ricardo F GlickRussiaAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues R PaprockiSpain2024-05-26Feltz Printing Service QUALIFIED3Anna Fali
1001Francesco Z FigeroaSpain2024-05-31Chanay, Jeffrey A Esq PROPOSAL29Stephen Shaw
1002David L GillianSpain2024-06-13Rousseaux, Michael Esq PROPOSAL8Bernardo Dominic
1003Stacey N AlbaresAustralia2024-05-27Rousseaux, Michael Esq QUALIFIED60Bernardo Dominic
1004Alejandro I InouyeItaly2024-05-23King, Christopher A Esq NEGOTIATION83Anna Fali
1005Maria M BowleySpain2024-06-13Buckley Miller Wright NEGOTIATION83Asiya Javayant
1006Alejandro J NestleBrazil2024-05-29Printing Dimensions PROPOSAL88Onyama Limba
1007Mayumi R SchemmerJapan2024-05-22Benton, John B Jr NEGOTIATION98Elwin Sharvill
1008Leja O KolmetzArgentina2024-06-10Morlong Associates RENEWAL96Onyama Limba
1009Munro Y IturbideUnited Kingdom2024-06-05Truhlar And Truhlar Attys UNQUALIFIED20Xuxue Feng
1010Greenwood O FlosiSpain2024-06-05Rangoni Of Florence NEW72Onyama Limba
1011Alejandro N PerinUnited Kingdom2024-06-01Rangoni Of Florence PROPOSAL60Anna Fali
1012Faith E DarakjyGermany2024-06-06Buckley Miller Wright UNQUALIFIED76Amy Elsner
1013Mujtaba E VocelkaFrance2024-05-25Morlong Associates PROPOSAL78Xuxue Feng
1014Ricardo M FerenczIndia2024-05-27Truhlar And Truhlar Attys UNQUALIFIED6Onyama Limba
1015Jennifer W AmigonItaly2024-05-18Morlong Associates QUALIFIED23Elwin Sharvill
1016Mujtaba K IturbideCanada2024-06-06Benton, John B Jr NEGOTIATION61Asiya Javayant
1017Sinclair Z ChuiIndia2024-05-26Feltz Printing Service RENEWAL16Xuxue Feng
1018Stacey A RoysterGermany2024-05-21Feltz Printing Service QUALIFIED81Asiya Javayant
1019Nicolas N PaprockiAustralia2024-06-14Morlong Associates NEW57Elwin Sharvill
1020Stacey G CaldareraCanada2024-05-26Feltz Printing Service UNQUALIFIED17Onyama Limba
1021Claire X CampainJapan2024-05-31Commercial Press RENEWAL29Ioni Bowcher
1022Emily U RimJapan2024-06-07Feltz Printing Service QUALIFIED33Stephen Shaw
1023Smith Z MaletGermany2024-05-30Morlong Associates RENEWAL39Asiya Javayant
1024Wickens B GauchoFrance2024-05-23Buckley Miller Wright PROPOSAL79Amy Elsner
1025Julie F OldroydGermany2024-06-09Chapman, Ross E Esq UNQUALIFIED8Elwin Sharvill
1026Smith N MaletSpain2024-06-11Chapman, Ross E Esq NEGOTIATION2Ioni Bowcher
1027David N PaprockiUnited Kingdom2024-05-25Dorl, James J Esq UNQUALIFIED28Asiya Javayant
1028Jennifer K PoquetteAustralia2024-05-19Feltz Printing Service PROPOSAL34Ivan Magalhaes
1029Clifford D CaudyCanada2024-05-22Buckley Miller Wright NEW50Xuxue Feng
1030Sinclair I NickaSpain2024-06-10Chanay, Jeffrey A Esq NEW5Elwin Sharvill
1031Jennifer E AmigonJapan2024-06-05Rangoni Of Florence NEW99Anna Fali
1032Aditya Y IturbideIndia2024-05-25Printing Dimensions UNQUALIFIED17Anna Fali
1033Smith K NickaGermany2024-05-27King, Christopher A Esq PROPOSAL34Stephen Shaw
1034Murillo N VenereIndia2024-06-12Feltz Printing Service QUALIFIED14Ivan Magalhaes
1035Juan U PaprockiItaly2024-06-08Dorl, James J Esq RENEWAL36Anna Fali
1036Clifford N RoysterCanada2024-06-11Rangoni Of Florence RENEWAL86Stephen Shaw
1037Izzy H BriddickAustralia2024-05-27Feltz Printing Service NEGOTIATION77Onyama Limba
1038Tony W CaldareraCanada2024-05-23Commercial Press RENEWAL11Asiya Javayant
1039Ashley D SlusarskiRussia2024-06-07Rangoni Of Florence PROPOSAL69Asiya Javayant
1040Tony P SergiAustralia2024-05-20Dorl, James J Esq QUALIFIED85Elwin Sharvill
1041Aruna S ButtJapan2024-05-19King, Christopher A Esq PROPOSAL93Ioni Bowcher
1042Juan B FlosiFrance2024-05-31Chanay, Jeffrey A Esq RENEWAL55Ioni Bowcher
1043Deepesh W WieserIndia2024-06-07Morlong Associates RENEWAL64Stephen Shaw
1044Ashley O AmigonFrance2024-05-21Commercial Press RENEWAL66Elwin Sharvill
1045David X GarufiIndia2024-06-02Buckley Miller Wright RENEWAL41Anna Fali
1046Mayumi M KolmetzUnited Kingdom2024-06-01Dorl, James J Esq PROPOSAL13Stephen Shaw
1047Mayumi T DoeAustralia2024-05-26King, Christopher A Esq QUALIFIED77Bernardo Dominic
1048Silvio R RulapaughBrazil2024-06-11Rangoni Of Florence UNQUALIFIED26Ivan Magalhaes
1049Nicolas Y TollnerJapan2024-05-18Rangoni Of Florence UNQUALIFIED15Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Salvatore O MaletBrazilIoni Bowcher QUALIFIED
Claire M SchemmerRussiaAnna Fali PROPOSAL
Alejandro V BowleyUnited KingdomOnyama Limba PROPOSAL
Francesco L MorascaAustraliaAmy Elsner RENEWAL
Clifford Q NickaUnited KingdomIvan Magalhaes NEW
Maisha U AmigonArgentinaStephen Shaw NEGOTIATION
Salvatore T ShinkoCanadaBernardo Dominic NEW
Darci B MaletIndiaAsiya Javayant QUALIFIED
Sinclair R PoquetteSpainIoni Bowcher PROPOSAL
Jeanfrancois N FlosiArgentinaBernardo Dominic QUALIFIED
Jeanfrancois R TollnerAustraliaBernardo Dominic NEGOTIATION
Emily T WieserArgentinaAmy Elsner NEGOTIATION
Francesco A VenereBrazilXuxue Feng PROPOSAL
Jennifer T MaletFranceBernardo Dominic RENEWAL
Munro E TollnerCanadaIvan Magalhaes UNQUALIFIED
Sinclair Z MarrierGermanyXuxue Feng PROPOSAL
Stacey N FigeroaGermanyAsiya Javayant PROPOSAL
Emily N KolmetzItalyIoni Bowcher RENEWAL
Greenwood N KolmetzUnited KingdomOnyama Limba UNQUALIFIED
Octavia E NickaBrazilStephen Shaw NEGOTIATION
Deepesh E ShinkoJapanAsiya Javayant PROPOSAL
Ivar J AmigonGermanyAnna Fali RENEWAL
Greenwood Y KolmetzAustraliaIoni Bowcher PROPOSAL
Leon F ButtSpainAnna Fali NEW
Francesco E FollerUnited KingdomXuxue Feng NEW
Jefferson G NestleBrazilAsiya Javayant QUALIFIED
Francesco T SaylorsItalyIvan Magalhaes NEW
Julie I NickaUnited KingdomBernardo Dominic NEGOTIATION
Leja G RimFranceIvan Magalhaes NEGOTIATION
Wickens E SchemmerCanadaBernardo Dominic UNQUALIFIED
Kadeem G GlickUnited KingdomIoni Bowcher UNQUALIFIED
Nicolas T BriddickCanadaBernardo Dominic NEW
Morrow P SlusarskiAustraliaAsiya Javayant NEGOTIATION
Murillo R WhobreyItalyBernardo Dominic NEGOTIATION
Faith P GauchoUnited KingdomIvan Magalhaes NEGOTIATION
Emily A FollerIndiaAsiya Javayant NEW
Darci Z WhobreyItalyAnna Fali RENEWAL
Francesco E AmigonArgentinaAmy Elsner NEW
Maria A VocelkaFranceElwin Sharvill NEW
Greenwood B PerinAustraliaAsiya Javayant NEGOTIATION
Faith I SchemmerFranceElwin Sharvill QUALIFIED
Maria E StockhamArgentinaIoni Bowcher RENEWAL
Ashley P BriddickSpainAmy Elsner NEGOTIATION
Silvio B CaudyJapanAmy Elsner PROPOSAL
Emily X OldroydUnited KingdomAmy Elsner QUALIFIED
Nicolas O IturbideJapanAnna Fali PROPOSAL
James D PerinJapanBernardo Dominic QUALIFIED
Ivar M AlbaresSpainXuxue Feng UNQUALIFIED
Morrow P RutaAustraliaBernardo Dominic QUALIFIED
Cody E GauchoJapanBernardo Dominic RENEWAL
Frozen Columns
Name
Alejandro D Campain
Sinclair U Whobrey
Darci M Malet
Rodrigues Z Stockham
Ivar O Ruta
Clifford O Maclead
Jeanfrancois Z Shinko
Maisha Y Oldroyd
Octavia L Kolmetz
Kaitlin U Royster
Smith V Paprocki
Sinclair F Schemmer
Jones Z Venere
Arvin P Caldarera
Leja R Paprocki
Arvin T Waycott
Antonio U Iturbide
Greenwood F Stockham
Leon Y Gaucho
Munro D Nestle
Aruna O Darakjy
Rodrigues L Nicka
Jefferson K Morasca
Ashley L Rulapaugh
Octavia Q Gillian
Adams A Malet
Darci Z Perin
Murillo M Royster
Claire L Amigon
Claire B Ferencz
Antonio K Inouye
Mayumi W Kusko
Nicolas O Rim
Jennifer Z Royster
Jefferson Z Vocelka
Aruna O Vocelka
Julie W Chui
Tony W Rim
Leja V Ferencz
Octavia O Marrier
Chavez Z Briddick
Claire H Schemmer
Ricardo K Marrier
Silvio N Tollner
Francesco O Butt
Antonio Z Poquette
Misaki D Sergi
Mujtaba V Rulapaugh
Salvatore F Caldarera
Cody V Oldroyd
IdCountryDate
1000France2024-06-12
1001Brazil2024-05-29
1002Brazil2024-06-10
1003Germany2024-05-18
1004Germany2024-05-28
1005Spain2024-05-19
1006Brazil2024-06-09
1007United Kingdom2024-06-03
1008Australia2024-05-30
1009Australia2024-05-19
1010Australia2024-06-13
1011Russia2024-06-10
1012Germany2024-05-26
1013United Kingdom2024-05-24
1014France2024-06-14
1015Australia2024-05-23
1016Japan2024-05-25
1017Germany2024-05-29
1018India2024-05-26
1019Brazil2024-06-04
1020France2024-06-02
1021Japan2024-06-12
1022India2024-05-27
1023Argentina2024-05-29
1024France2024-05-25
1025Brazil2024-06-15
1026Japan2024-06-13
1027Brazil2024-05-21
1028Brazil2024-06-10
1029India2024-05-29
1030Brazil2024-06-10
1031Australia2024-06-06
1032Canada2024-05-27
1033Canada2024-05-26
1034India2024-05-26
1035Japan2024-05-19
1036France2024-05-23
1037Argentina2024-06-13
1038Argentina2024-06-11
1039France2024-06-06
1040France2024-06-12
1041Italy2024-06-10
1042Russia2024-06-02
1043Brazil2024-05-28
1044Spain2024-05-27
1045United Kingdom2024-05-27
1046Spain2024-05-24
1047Brazil2024-06-06
1048Brazil2024-06-07
1049Australia2024-05-26

On-Demand Data

NameIdCountryDate
Rodrigues Q Inouye1000France2024-06-08
Chavez M Bowley1001Canada2024-05-18
Maria F Chui1002India2024-06-04
Deepesh Q Poquette1003France2024-06-07
Julie L Schemmer1004Argentina2024-06-11
Kadeem W Ostrosky1005Australia2024-06-06
Claire K Gillian1006India2024-05-28
Salvatore H Nestle1007France2024-06-09
Aditya Q Albares1008Canada2024-06-09
Julie G Campain1009Australia2024-05-26
Smith A Iturbide1010India2024-05-31
Salvatore K Flosi1011Argentina2024-05-22
Rodrigues E Darakjy1012Brazil2024-05-25
James Z Morasca1013United Kingdom2024-06-14
Isabel P Amigon1014India2024-05-19
Adams S Foller1015Canada2024-06-12
Clifford I Saylors1016France2024-05-28
Sinclair E Rim1017Brazil2024-05-30
Costa U Vocelka1018Russia2024-06-02
Tony L Wieser1019Russia2024-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel Q StensethFranceXuxue Feng PROPOSAL
Jeanfrancois P RoysterBrazilStephen Shaw UNQUALIFIED
Adams H KolmetzSpainOnyama Limba RENEWAL
Izzy I PerinSpainIvan Magalhaes NEW
Maria V GillianSpainElwin Sharvill PROPOSAL
Aruna X WhobreyCanadaIoni Bowcher UNQUALIFIED
Kadeem L MacleadRussiaElwin Sharvill NEGOTIATION
Ivar Z GillianIndiaBernardo Dominic NEW
Francesco C NickaAustraliaAmy Elsner PROPOSAL
Alejandro O SlusarskiIndiaAsiya Javayant NEW
Jefferson E InouyeSpainAnna Fali NEGOTIATION
Chavez Q WaycottCanadaBernardo Dominic RENEWAL
Maria H NestleCanadaIvan Magalhaes NEW
Aditya Q SergiAustraliaXuxue Feng NEGOTIATION
Maisha K PaprockiUnited KingdomAsiya Javayant PROPOSAL
Salvatore Y PoquetteJapanStephen Shaw PROPOSAL
Morrow C DoeBrazilIvan Magalhaes UNQUALIFIED
Ricardo A DoeAustraliaXuxue Feng NEGOTIATION
Emily K BowleyGermanyAsiya Javayant NEGOTIATION
Mujtaba P CaldareraRussiaStephen Shaw QUALIFIED
Wickens Z RutaBrazilIoni Bowcher NEGOTIATION
James C BriddickFranceAmy Elsner UNQUALIFIED
Julie K IturbideRussiaBernardo Dominic NEGOTIATION
David N ShinkoFranceAsiya Javayant NEW
Aruna U ButtItalyOnyama Limba QUALIFIED
Juan W OstroskyIndiaAnna Fali NEW
James M OldroydFranceElwin Sharvill UNQUALIFIED
Alejandro B SaylorsJapanIoni Bowcher QUALIFIED
Misaki X WaycottGermanyIoni Bowcher NEW
David R IturbideSpainIoni Bowcher RENEWAL
Misaki Z MorascaBrazilIoni Bowcher NEW
Kadeem T MorascaBrazilIvan Magalhaes NEW
Johnson R AlbaresBrazilOnyama Limba QUALIFIED
Chavez K WaycottBrazilAsiya Javayant UNQUALIFIED
Emily F CaudyGermanyStephen Shaw PROPOSAL
Ashley D OstroskyItalyOnyama Limba UNQUALIFIED
Juan T KuskoSpainBernardo Dominic NEW
Chavez B ButtSpainBernardo Dominic RENEWAL
Aruna B OldroydIndiaIoni Bowcher NEW
Ricardo B RimRussiaAmy Elsner 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>