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
Mujtaba F GlickGermanyIoni Bowcher NEW
David D GlickBrazilBernardo Dominic PROPOSAL
Darci R AmigonArgentinaAmy Elsner NEGOTIATION
Octavia U AmigonIndiaAmy Elsner PROPOSAL
Faith D DilliardCanadaIvan Magalhaes NEW
Jennifer V OstroskyBrazilAnna Fali UNQUALIFIED
Isabel D SlusarskiRussiaAsiya Javayant RENEWAL
Jefferson J VenereSpainBernardo Dominic RENEWAL
Leon X SergiSpainXuxue Feng NEGOTIATION
Deepesh I GarufiItalyBernardo Dominic UNQUALIFIED
Johnson Z GauchoItalyIvan Magalhaes RENEWAL
Kadeem D WaycottItalyAsiya Javayant RENEWAL
Adams C BowleyItalyStephen Shaw PROPOSAL
James O PerinArgentinaAmy Elsner PROPOSAL
Darci T RimItalyAmy Elsner NEW
Munro O DarakjyRussiaElwin Sharvill RENEWAL
Juan H AmigonCanadaElwin Sharvill RENEWAL
Murillo J OstroskyFranceBernardo Dominic UNQUALIFIED
Jones M RoysterAustraliaBernardo Dominic NEW
Claire U BologniaSpainOnyama Limba NEW
Emily B KolmetzCanadaIoni Bowcher NEGOTIATION
Francesco Y GlickFranceIvan Magalhaes PROPOSAL
Maria W MarrierGermanyStephen Shaw UNQUALIFIED
Ivar J WieserFranceAnna Fali NEGOTIATION
Kadeem P GillianRussiaOnyama Limba QUALIFIED
Munro A WaycottAustraliaAnna Fali PROPOSAL
Mujtaba J VenereGermanyAsiya Javayant NEW
Izzy O MaletJapanAmy Elsner NEW
Wickens K PoquetteGermanyElwin Sharvill UNQUALIFIED
Leja S VenereSpainAmy Elsner NEW
Francesco R MaletJapanIoni Bowcher PROPOSAL
Wickens E RimBrazilAmy Elsner UNQUALIFIED
Ivar C PerinIndiaBernardo Dominic UNQUALIFIED
Rodrigues N AmigonJapanAmy Elsner NEW
Chavez U BologniaSpainBernardo Dominic UNQUALIFIED
James T RutaFranceElwin Sharvill RENEWAL
Greenwood V SchemmerGermanyXuxue Feng NEW
Wickens J KolmetzUnited KingdomIoni Bowcher PROPOSAL
Jennifer I IturbideItalyAmy Elsner RENEWAL
Wickens D KuskoJapanAsiya Javayant NEW
Izzy N MarrierBrazilAsiya Javayant PROPOSAL
Kaitlin M WaycottRussiaElwin Sharvill NEW
Juan H InouyeFranceIoni Bowcher NEW
Deepesh A AmigonBrazilXuxue Feng RENEWAL
Costa T SergiAustraliaAnna Fali NEGOTIATION
Chavez O RulapaughBrazilIvan Magalhaes RENEWAL
Smith I KuskoRussiaElwin Sharvill PROPOSAL
Deepesh B DilliardArgentinaBernardo Dominic RENEWAL
Isabel P BologniaCanadaIoni Bowcher RENEWAL
Ricardo D PoquetteFranceXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Kaitlin C ShinkoFranceAnna Fali PROPOSAL
Octavia Z WieserJapanAmy Elsner NEW
Isabel L WhobreyJapanXuxue Feng UNQUALIFIED
Adams L BologniaUnited KingdomBernardo Dominic NEGOTIATION
Francesco W ChuiJapanAnna Fali NEGOTIATION
Francesco B DilliardItalyAsiya Javayant NEGOTIATION
Isabel C WieserArgentinaAmy Elsner NEGOTIATION
Jeanfrancois W SchemmerItalyOnyama Limba NEW
Darci W VocelkaGermanyStephen Shaw NEW
Tony G NestleSpainAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois S RulapaughJapan2024-05-05Morlong Associates NEW21Asiya Javayant
1001Juan R OldroydBrazil2024-05-18Rousseaux, Michael Esq PROPOSAL34Ioni Bowcher
1002Darci H RoysterBrazil2024-05-01Rousseaux, Michael Esq QUALIFIED64Amy Elsner
1003Stacey C StensethJapan2024-05-13King, Christopher A Esq UNQUALIFIED37Amy Elsner
1004Ricardo R MorascaFrance2024-05-22Buckley Miller Wright RENEWAL42Asiya Javayant
1005Darci N FerenczUnited Kingdom2024-05-19Truhlar And Truhlar Attys UNQUALIFIED47Ioni Bowcher
1006Kadeem J AlbaresJapan2024-05-18Dorl, James J Esq RENEWAL27Bernardo Dominic
1007Sinclair J BriddickGermany2024-05-03Chanay, Jeffrey A Esq NEGOTIATION3Amy Elsner
1008Munro Z FigeroaJapan2024-05-05Commercial Press NEGOTIATION10Anna Fali
1009Francesco X FollerGermany2024-05-14Buckley Miller Wright PROPOSAL84Asiya Javayant
1010Smith K MaletRussia2024-05-08Dorl, James J Esq NEGOTIATION20Asiya Javayant
1011Rodrigues W FlosiAustralia2024-05-10Feltz Printing Service UNQUALIFIED14Stephen Shaw
1012Sinclair R MorascaItaly2024-05-20Commercial Press PROPOSAL52Ioni Bowcher
1013Munro K IturbideFrance2024-05-26Benton, John B Jr UNQUALIFIED93Xuxue Feng
1014Maisha W GillianArgentina2024-05-13Feiner Bros PROPOSAL27Elwin Sharvill
1015Alejandro I MaletCanada2024-05-16Chapman, Ross E Esq QUALIFIED85Xuxue Feng
1016Octavia K WieserSpain2024-05-01Feiner Bros PROPOSAL9Xuxue Feng
1017Costa A StensethCanada2024-05-12Benton, John B Jr QUALIFIED42Elwin Sharvill
1018Ricardo M StensethBrazil2024-04-28Rangoni Of Florence RENEWAL41Asiya Javayant
1019Stacey V GauchoUnited Kingdom2024-05-05Dorl, James J Esq NEGOTIATION98Bernardo Dominic
1020Adams A FollerUnited Kingdom2024-05-20Rangoni Of Florence NEGOTIATION11Amy Elsner
1021Tony W GlickUnited Kingdom2024-05-08Dorl, James J Esq NEGOTIATION37Amy Elsner
1022Izzy O BriddickArgentina2024-05-17Chanay, Jeffrey A Esq QUALIFIED36Elwin Sharvill
1023Emily Q OldroydRussia2024-05-02Chapman, Ross E Esq QUALIFIED37Stephen Shaw
1024Aditya M IturbideBrazil2024-05-24Buckley Miller Wright UNQUALIFIED16Stephen Shaw
1025Adams G MarrierAustralia2024-05-12Chapman, Ross E Esq QUALIFIED20Asiya Javayant
1026Silvio F NestleBrazil2024-04-29Morlong Associates NEGOTIATION56Ioni Bowcher
1027Maisha I KolmetzGermany2024-05-24Morlong Associates QUALIFIED11Ivan Magalhaes
1028Tony Y ButtCanada2024-05-05Rousseaux, Michael Esq QUALIFIED78Bernardo Dominic
1029Morrow K RimCanada2024-05-19Buckley Miller Wright RENEWAL51Elwin Sharvill
1030Kaitlin X GillianIndia2024-05-10Dorl, James J Esq QUALIFIED55Stephen Shaw
1031Mujtaba N NickaIndia2024-05-20Printing Dimensions NEGOTIATION74Ivan Magalhaes
1032Juan E RulapaughAustralia2024-05-11Commercial Press UNQUALIFIED71Asiya Javayant
1033Chavez M MorascaIndia2024-05-15Chapman, Ross E Esq NEW40Asiya Javayant
1034Aditya R DoeArgentina2024-05-19Truhlar And Truhlar Attys PROPOSAL15Asiya Javayant
1035Adams X FollerBrazil2024-05-03Benton, John B Jr PROPOSAL22Bernardo Dominic
1036Clifford T TollnerGermany2024-05-14Commercial Press UNQUALIFIED7Amy Elsner
1037Jeanfrancois D MaletArgentina2024-05-19Rousseaux, Michael Esq UNQUALIFIED80Asiya Javayant
1038Leon O MaletAustralia2024-04-30Feiner Bros NEGOTIATION89Anna Fali
1039Smith Q BowleyAustralia2024-05-20Chemel, James L Cpa UNQUALIFIED8Anna Fali
1040Cody W MorascaItaly2024-05-18Buckley Miller Wright QUALIFIED93Asiya Javayant
1041Jennifer K InouyeSpain2024-05-27Printing Dimensions NEGOTIATION53Elwin Sharvill
1042Adams O PoquetteFrance2024-05-14Rousseaux, Michael Esq NEW4Onyama Limba
1043Cody Z MaletArgentina2024-05-05Buckley Miller Wright UNQUALIFIED5Stephen Shaw
1044Faith M RulapaughIndia2024-05-12Chapman, Ross E Esq QUALIFIED2Ioni Bowcher
1045Murillo S BowleyIndia2024-05-23Truhlar And Truhlar Attys NEGOTIATION39Anna Fali
1046Octavia B ChuiItaly2024-05-03Commercial Press RENEWAL28Onyama Limba
1047Silvio G CaldareraRussia2024-05-06Commercial Press UNQUALIFIED26Ioni Bowcher
1048Emily I TollnerGermany2024-05-13Feltz Printing Service RENEWAL49Onyama Limba
1049Jennifer X MorascaAustralia2024-05-20Commercial Press NEW18Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Juan E SergiArgentinaXuxue Feng QUALIFIED
David Q PaprockiRussiaBernardo Dominic RENEWAL
Isabel I SaylorsJapanOnyama Limba RENEWAL
Ivar R StockhamArgentinaBernardo Dominic NEW
Mujtaba H DilliardBrazilOnyama Limba RENEWAL
Clifford X WhobreyGermanyAmy Elsner NEW
Cody M MaletItalyAsiya Javayant UNQUALIFIED
Aruna G NestleAustraliaAnna Fali PROPOSAL
Adams X OldroydFranceStephen Shaw NEGOTIATION
Wickens P SlusarskiFranceStephen Shaw UNQUALIFIED
Morrow R RimJapanXuxue Feng NEGOTIATION
Costa Q SergiJapanStephen Shaw RENEWAL
Greenwood L CampainGermanyAmy Elsner RENEWAL
Kaitlin R GauchoArgentinaAmy Elsner UNQUALIFIED
Isabel C StockhamJapanIoni Bowcher RENEWAL
Rodrigues J RutaItalyAnna Fali PROPOSAL
Ashley Z StensethSpainOnyama Limba RENEWAL
Antonio C OldroydAustraliaOnyama Limba PROPOSAL
Arvin V FlosiSpainAmy Elsner NEGOTIATION
Misaki K AmigonSpainElwin Sharvill PROPOSAL
Morrow A ChuiIndiaOnyama Limba QUALIFIED
Antonio K StockhamJapanElwin Sharvill NEGOTIATION
Nicolas Z DarakjyGermanyStephen Shaw UNQUALIFIED
Rodrigues C VenereSpainIoni Bowcher QUALIFIED
Wickens M AlbaresAustraliaIvan Magalhaes RENEWAL
Silvio M ButtFranceIvan Magalhaes NEGOTIATION
Faith F RutaJapanOnyama Limba PROPOSAL
Emily T ChuiSpainAsiya Javayant QUALIFIED
Ashley J MaletUnited KingdomXuxue Feng NEGOTIATION
Jennifer A MarrierBrazilAmy Elsner NEGOTIATION
Leja F PerinBrazilXuxue Feng PROPOSAL
Kadeem U DarakjyGermanyElwin Sharvill NEW
Ivar R OstroskyFranceStephen Shaw NEGOTIATION
Smith O RutaItalyXuxue Feng UNQUALIFIED
Salvatore A VocelkaBrazilXuxue Feng NEGOTIATION
Ivar Z TollnerBrazilAnna Fali NEGOTIATION
Mujtaba P DoeArgentinaStephen Shaw NEW
Morrow O FlosiCanadaXuxue Feng PROPOSAL
Wickens L FollerFranceBernardo Dominic UNQUALIFIED
Maria Y IturbideFranceAsiya Javayant RENEWAL
Jefferson I BriddickJapanOnyama Limba QUALIFIED
Wickens Z OstroskyItalyStephen Shaw UNQUALIFIED
Jefferson Z AmigonCanadaAmy Elsner RENEWAL
Wickens Y CaldareraItalyIvan Magalhaes PROPOSAL
Sinclair F FollerUnited KingdomElwin Sharvill PROPOSAL
Jefferson H ChuiSpainIvan Magalhaes UNQUALIFIED
Mujtaba S NickaGermanyStephen Shaw RENEWAL
Clifford D GillianJapanAmy Elsner NEGOTIATION
Julie C ChuiFranceAsiya Javayant UNQUALIFIED
Ivar H IturbideFranceAmy Elsner PROPOSAL
Frozen Columns
Name
Mujtaba V Bowley
James S Butt
Faith B Malet
Silvio E Venere
Adams D Doe
Claire B Tollner
Ivar O Bowley
Munro V Figeroa
Darci G Slusarski
Jefferson O Ruta
Ricardo L Royster
Silvio N Rim
Tony X Kolmetz
Silvio L Shinko
Isabel O Doe
Nicolas G Foller
David L Kolmetz
Mayumi F Glick
Silvio P Ferencz
Kaitlin W Sergi
Emily U Perin
Tony K Campain
Mayumi A Waycott
Stacey V Rulapaugh
Maisha W Gaucho
Jeanfrancois V Caldarera
Faith N Whobrey
Greenwood C Glick
David Z Morasca
Octavia A Iturbide
Tony B Garufi
Aruna B Malet
Tony R Gaucho
Ricardo T Malet
Deepesh G Butt
Deepesh Z Marrier
Sinclair K Briddick
Alejandro B Vocelka
Leja T Vocelka
Alejandro H Flosi
James W Perin
Tony R Gillian
Aruna X Oldroyd
Leja M Campain
Murillo R Albares
Faith E Slusarski
Kadeem G Garufi
Misaki X Figeroa
Faith P Chui
Juan K Waycott
IdCountryDate
1000Germany2024-04-28
1001Brazil2024-05-26
1002Canada2024-05-05
1003France2024-05-10
1004India2024-05-06
1005Spain2024-05-15
1006Canada2024-05-18
1007Russia2024-05-24
1008India2024-05-15
1009Brazil2024-05-02
1010Canada2024-05-17
1011Germany2024-05-05
1012Argentina2024-05-13
1013Spain2024-05-14
1014Australia2024-05-26
1015Germany2024-04-30
1016Australia2024-05-13
1017France2024-05-17
1018Russia2024-05-15
1019Russia2024-05-27
1020Japan2024-05-23
1021United Kingdom2024-05-25
1022Australia2024-05-17
1023Brazil2024-05-26
1024Spain2024-05-01
1025India2024-04-28
1026France2024-05-01
1027Italy2024-05-02
1028Argentina2024-05-21
1029France2024-05-24
1030Russia2024-05-09
1031Germany2024-05-04
1032Australia2024-05-08
1033Germany2024-05-13
1034Brazil2024-05-22
1035Argentina2024-05-12
1036United Kingdom2024-05-09
1037France2024-05-03
1038Australia2024-05-14
1039France2024-05-25
1040Brazil2024-05-15
1041Italy2024-04-30
1042India2024-05-23
1043Brazil2024-05-10
1044Brazil2024-05-18
1045Russia2024-05-15
1046Japan2024-05-08
1047Germany2024-05-01
1048Russia2024-05-27
1049India2024-05-20

On-Demand Data

NameIdCountryDate
Mujtaba Y Campain1000Canada2024-05-01
Leon N Marrier1001Germany2024-05-06
Greenwood M Bolognia1002Argentina2024-05-27
Kaitlin Y Glick1003Italy2024-05-21
Maria E Chui1004Australia2024-05-03
David W Inouye1005Italy2024-05-03
Tony L Bowley1006Russia2024-05-01
Francesco G Campain1007India2024-05-21
Kadeem D Maclead1008India2024-05-27
Alejandro V Waycott1009Germany2024-05-16
Antonio W Rim1010India2024-05-05
Tony I Glick1011Japan2024-05-17
Isabel J Caudy1012Argentina2024-05-15
Sinclair S Malet1013Brazil2024-05-16
Jones A Butt1014Germany2024-05-23
Mayumi U Stenseth1015United Kingdom2024-05-03
Aditya M Foller1016Brazil2024-05-25
Morrow Z Wieser1017Spain2024-05-25
Adams H Iturbide1018Japan2024-05-20
Munro R Nestle1019Spain2024-05-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan I AmigonCanadaAnna Fali RENEWAL
Leon U GillianItalyBernardo Dominic NEW
Arvin T WieserJapanOnyama Limba UNQUALIFIED
Morrow E GauchoSpainBernardo Dominic QUALIFIED
Darci G WhobreyBrazilElwin Sharvill NEW
Kadeem Y GillianJapanBernardo Dominic UNQUALIFIED
Tony D PaprockiJapanAsiya Javayant PROPOSAL
Leja I KuskoItalyElwin Sharvill QUALIFIED
Wickens C OldroydGermanyAsiya Javayant UNQUALIFIED
Chavez A BowleyAustraliaIvan Magalhaes RENEWAL
Jeanfrancois C GlickJapanAmy Elsner QUALIFIED
Smith D BowleyUnited KingdomBernardo Dominic PROPOSAL
Ricardo T BriddickAustraliaXuxue Feng NEGOTIATION
Salvatore U KuskoJapanIvan Magalhaes NEW
Kadeem Q KolmetzUnited KingdomStephen Shaw NEW
Arvin U MaletGermanyIoni Bowcher PROPOSAL
Mayumi E WieserRussiaIoni Bowcher NEGOTIATION
Maria C VocelkaItalyStephen Shaw NEW
Deepesh G GauchoCanadaIoni Bowcher UNQUALIFIED
Wickens M ShinkoUnited KingdomAnna Fali NEW
Mayumi F MaletAustraliaElwin Sharvill NEW
Salvatore B NestleGermanyIvan Magalhaes QUALIFIED
Chavez L SaylorsBrazilAnna Fali RENEWAL
David R PaprockiRussiaXuxue Feng RENEWAL
Alejandro C OldroydItalyXuxue Feng PROPOSAL
Jefferson Z KolmetzJapanAmy Elsner QUALIFIED
David Y SergiIndiaAmy Elsner RENEWAL
Mayumi R NestleSpainElwin Sharvill NEW
Leja P VocelkaArgentinaBernardo Dominic RENEWAL
Nicolas N PerinIndiaIoni Bowcher NEGOTIATION
Isabel E FerenczBrazilXuxue Feng PROPOSAL
Morrow W RutaBrazilXuxue Feng NEGOTIATION
Darci C StensethItalyIoni Bowcher UNQUALIFIED
Darci T RoysterItalyAsiya Javayant NEW
Jeanfrancois Y MorascaFranceIvan Magalhaes RENEWAL
Aika R OldroydBrazilAsiya Javayant PROPOSAL
Leon U FollerAustraliaStephen Shaw UNQUALIFIED
Munro O DoeSpainStephen Shaw NEGOTIATION
Aruna Z WhobreyCanadaAsiya Javayant QUALIFIED
Silvio A PaprockiAustraliaStephen Shaw 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>