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
Murillo F WhobreyIndiaIoni Bowcher RENEWAL
Johnson B CaldareraSpainElwin Sharvill RENEWAL
Claire G GillianArgentinaXuxue Feng RENEWAL
Aditya T PaprockiArgentinaStephen Shaw UNQUALIFIED
Cody V CampainJapanOnyama Limba QUALIFIED
Kadeem K SchemmerIndiaIoni Bowcher NEW
Mujtaba K StensethJapanBernardo Dominic PROPOSAL
Antonio J TollnerItalyXuxue Feng QUALIFIED
Wickens T FollerAustraliaAsiya Javayant PROPOSAL
Aditya B DoeBrazilAnna Fali NEGOTIATION
Morrow H RimAustraliaStephen Shaw RENEWAL
Ivar X OstroskyGermanyXuxue Feng RENEWAL
Ashley P MorascaItalyXuxue Feng UNQUALIFIED
Emily B SlusarskiGermanyAsiya Javayant NEW
Smith D FlosiArgentinaAsiya Javayant NEW
Deepesh K MaletFranceIvan Magalhaes UNQUALIFIED
Darci Y RulapaughJapanAnna Fali RENEWAL
Mujtaba E OstroskyAustraliaIoni Bowcher PROPOSAL
Misaki G GlickCanadaAnna Fali NEGOTIATION
Greenwood T BriddickFranceAmy Elsner NEW
Salvatore K StockhamItalyAmy Elsner NEW
Alejandro R PoquetteGermanyElwin Sharvill RENEWAL
Ricardo G OstroskyIndiaAsiya Javayant UNQUALIFIED
Ivar Z RutaFranceIoni Bowcher NEW
Cody E BriddickFranceOnyama Limba PROPOSAL
Silvio W WhobreyArgentinaOnyama Limba QUALIFIED
Stacey Y StockhamIndiaXuxue Feng NEGOTIATION
Jeanfrancois H GarufiBrazilIvan Magalhaes UNQUALIFIED
Stacey M AlbaresFranceXuxue Feng RENEWAL
Stacey K PaprockiUnited KingdomElwin Sharvill RENEWAL
Jennifer R IturbideBrazilOnyama Limba RENEWAL
Mayumi Q RutaIndiaElwin Sharvill QUALIFIED
Cody K FerenczGermanyStephen Shaw NEGOTIATION
James N MacleadGermanyOnyama Limba NEW
Johnson K RulapaughFranceXuxue Feng PROPOSAL
Adams D StockhamBrazilAnna Fali NEGOTIATION
Kadeem O MacleadItalyStephen Shaw QUALIFIED
Ivar R PerinUnited KingdomIvan Magalhaes NEW
Chavez B MorascaCanadaStephen Shaw QUALIFIED
Cody E AmigonFranceIoni Bowcher UNQUALIFIED
Deepesh J SergiSpainXuxue Feng PROPOSAL
Leon W DoeAustraliaStephen Shaw PROPOSAL
Murillo Y NickaRussiaAsiya Javayant PROPOSAL
Mujtaba H SchemmerCanadaIvan Magalhaes QUALIFIED
Alejandro Y CaudyUnited KingdomIoni Bowcher PROPOSAL
Jones J FollerItalyAsiya Javayant UNQUALIFIED
Costa G BologniaBrazilIoni Bowcher NEGOTIATION
Clifford R GauchoFranceStephen Shaw PROPOSAL
Juan N SergiGermanyStephen Shaw NEW
Adams J GlickJapanAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Alejandro M VenereRussiaXuxue Feng NEGOTIATION
Clifford Z WaycottCanadaXuxue Feng NEW
Wickens H MarrierBrazilElwin Sharvill UNQUALIFIED
Silvio N AmigonSpainXuxue Feng UNQUALIFIED
Aditya H GlickItalyIvan Magalhaes RENEWAL
Greenwood S KolmetzUnited KingdomBernardo Dominic PROPOSAL
Aruna Y BowleyIndiaXuxue Feng QUALIFIED
Murillo U AmigonAustraliaAnna Fali NEW
Izzy N TollnerGermanyXuxue Feng NEGOTIATION
Maisha R GauchoGermanyAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin E CaudyIndia2024-06-23Feiner Bros NEW97Elwin Sharvill
1001Jefferson J DoeSpain2024-06-09Chemel, James L Cpa NEGOTIATION85Ioni Bowcher
1002Maria K CampainGermany2024-06-06Feiner Bros UNQUALIFIED62Asiya Javayant
1003Smith R GauchoBrazil2024-06-15Rousseaux, Michael Esq PROPOSAL61Asiya Javayant
1004Chavez Q SchemmerUnited Kingdom2024-06-14Feiner Bros NEGOTIATION27Xuxue Feng
1005Alejandro J MaletJapan2024-06-14Benton, John B Jr QUALIFIED19Onyama Limba
1006Faith K DarakjyItaly2024-05-30Dorl, James J Esq QUALIFIED67Xuxue Feng
1007Smith W MarrierAustralia2024-05-27King, Christopher A Esq PROPOSAL47Anna Fali
1008Costa X FigeroaCanada2024-06-10Rousseaux, Michael Esq QUALIFIED76Amy Elsner
1009Kaitlin N FigeroaUnited Kingdom2024-06-12Chanay, Jeffrey A Esq PROPOSAL18Amy Elsner
1010Leon Q BologniaUnited Kingdom2024-06-03Commercial Press NEW47Amy Elsner
1011Adams J IturbideJapan2024-06-22Commercial Press NEW35Onyama Limba
1012Alejandro G MacleadIndia2024-06-04Chanay, Jeffrey A Esq PROPOSAL95Ivan Magalhaes
1013Octavia O FigeroaBrazil2024-06-05Truhlar And Truhlar Attys PROPOSAL66Asiya Javayant
1014Misaki W SlusarskiRussia2024-05-27Chemel, James L Cpa RENEWAL7Elwin Sharvill
1015Stacey S GlickGermany2024-06-21Buckley Miller Wright PROPOSAL13Bernardo Dominic
1016Juan Z WieserArgentina2024-06-04Commercial Press NEW64Asiya Javayant
1017Cody I WhobreyJapan2024-06-23Chanay, Jeffrey A Esq NEW32Ioni Bowcher
1018Julie Z AlbaresUnited Kingdom2024-06-09Chanay, Jeffrey A Esq UNQUALIFIED58Amy Elsner
1019Chavez B KuskoArgentina2024-05-26Feiner Bros NEGOTIATION52Amy Elsner
1020Maria O VenereRussia2024-06-20Rangoni Of Florence UNQUALIFIED38Stephen Shaw
1021Arvin A NickaAustralia2024-06-22Chanay, Jeffrey A Esq PROPOSAL15Elwin Sharvill
1022Maria K AmigonGermany2024-06-21Printing Dimensions QUALIFIED35Bernardo Dominic
1023Rodrigues L CaudyGermany2024-05-29Feiner Bros NEW3Onyama Limba
1024Morrow G VenereIndia2024-06-13Feltz Printing Service QUALIFIED26Ivan Magalhaes
1025Emily T VenereJapan2024-06-21Buckley Miller Wright QUALIFIED64Elwin Sharvill
1026Darci J GillianRussia2024-06-16Rousseaux, Michael Esq UNQUALIFIED79Onyama Limba
1027Costa Q NestleSpain2024-05-27Benton, John B Jr QUALIFIED49Asiya Javayant
1028Clifford W GillianArgentina2024-06-24Rousseaux, Michael Esq NEGOTIATION18Elwin Sharvill
1029Antonio L PerinGermany2024-06-17Chemel, James L Cpa RENEWAL1Anna Fali
1030Aika A InouyeArgentina2024-06-13Buckley Miller Wright RENEWAL6Anna Fali
1031Murillo S ShinkoIndia2024-06-18Rangoni Of Florence NEGOTIATION6Xuxue Feng
1032Maisha Q VocelkaArgentina2024-06-17Feltz Printing Service PROPOSAL54Elwin Sharvill
1033Jefferson H TollnerRussia2024-06-19Buckley Miller Wright PROPOSAL84Asiya Javayant
1034Mujtaba T MorascaGermany2024-06-08Chapman, Ross E Esq QUALIFIED48Xuxue Feng
1035Murillo I AmigonIndia2024-05-27Buckley Miller Wright RENEWAL47Amy Elsner
1036Jennifer L SchemmerRussia2024-06-07Dorl, James J Esq NEGOTIATION28Xuxue Feng
1037Smith C OldroydIndia2024-05-29Chanay, Jeffrey A Esq UNQUALIFIED6Ioni Bowcher
1038Octavia P OstroskyIndia2024-06-24Chanay, Jeffrey A Esq PROPOSAL6Anna Fali
1039James G FerenczArgentina2024-06-18Buckley Miller Wright NEGOTIATION86Asiya Javayant
1040Aruna L StensethFrance2024-06-19Benton, John B Jr NEW36Anna Fali
1041Antonio A OldroydSpain2024-06-06Chapman, Ross E Esq QUALIFIED97Stephen Shaw
1042Arvin C TollnerRussia2024-06-03Dorl, James J Esq NEW85Stephen Shaw
1043Jones W MacleadRussia2024-06-22Chanay, Jeffrey A Esq NEW80Xuxue Feng
1044Greenwood Z WieserGermany2024-06-15Chemel, James L Cpa NEGOTIATION97Asiya Javayant
1045Morrow K FigeroaArgentina2024-06-01Printing Dimensions NEW12Ioni Bowcher
1046Morrow S FigeroaIndia2024-06-23Dorl, James J Esq UNQUALIFIED65Anna Fali
1047Francesco B PoquetteFrance2024-06-02Dorl, James J Esq UNQUALIFIED26Elwin Sharvill
1048Jefferson A AlbaresUnited Kingdom2024-06-08Rousseaux, Michael Esq RENEWAL21Xuxue Feng
1049Leon T SchemmerSpain2024-06-05Printing Dimensions NEGOTIATION29Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Sinclair Q MacleadArgentinaAnna Fali RENEWAL
Wickens Q PaprockiAustraliaStephen Shaw PROPOSAL
Francesco F PoquetteRussiaIvan Magalhaes UNQUALIFIED
Juan M PoquetteAustraliaIoni Bowcher NEGOTIATION
Mayumi C CaudyArgentinaIoni Bowcher QUALIFIED
Alejandro U MacleadFranceIoni Bowcher NEW
Ivar M PoquetteArgentinaElwin Sharvill UNQUALIFIED
Morrow R DilliardFranceIvan Magalhaes NEGOTIATION
Jones J FigeroaUnited KingdomStephen Shaw NEW
Kadeem W SchemmerJapanStephen Shaw QUALIFIED
Emily Y MaletRussiaBernardo Dominic QUALIFIED
Silvio W RutaFranceElwin Sharvill PROPOSAL
Murillo W FlosiSpainElwin Sharvill NEGOTIATION
Smith E FollerFranceIoni Bowcher RENEWAL
Faith E FollerAustraliaStephen Shaw UNQUALIFIED
Deepesh A WieserJapanAnna Fali NEGOTIATION
Salvatore A RimAustraliaBernardo Dominic RENEWAL
Rodrigues F StensethJapanAmy Elsner QUALIFIED
Deepesh O RulapaughIndiaIoni Bowcher QUALIFIED
Ivar J DarakjyItalyElwin Sharvill QUALIFIED
Smith R PaprockiAustraliaAsiya Javayant RENEWAL
Cody R MaletRussiaBernardo Dominic RENEWAL
Juan M GauchoUnited KingdomStephen Shaw NEW
Emily S DilliardCanadaOnyama Limba NEW
Faith Z StockhamAustraliaAmy Elsner QUALIFIED
Nicolas T MaletBrazilBernardo Dominic NEGOTIATION
Aditya N OldroydFranceElwin Sharvill UNQUALIFIED
Kadeem H BologniaIndiaIoni Bowcher NEGOTIATION
Johnson M SaylorsItalyIoni Bowcher QUALIFIED
David K BologniaAustraliaAmy Elsner UNQUALIFIED
Jones S IturbideCanadaOnyama Limba UNQUALIFIED
Jones O GlickItalyIoni Bowcher RENEWAL
Morrow A PerinBrazilIvan Magalhaes NEW
Izzy F AlbaresGermanyXuxue Feng PROPOSAL
Costa Y InouyeAustraliaIvan Magalhaes QUALIFIED
Ashley P SergiAustraliaStephen Shaw RENEWAL
Murillo V WaycottUnited KingdomElwin Sharvill NEW
Ricardo O FollerJapanElwin Sharvill UNQUALIFIED
Leja H FollerGermanyAsiya Javayant NEGOTIATION
Johnson S PerinRussiaAsiya Javayant NEW
David A SchemmerRussiaAmy Elsner NEW
Misaki J RoysterAustraliaAsiya Javayant NEGOTIATION
Costa N DilliardFranceIoni Bowcher UNQUALIFIED
Octavia E RoysterRussiaAnna Fali QUALIFIED
Murillo M MacleadJapanAnna Fali UNQUALIFIED
Tony U MorascaAustraliaXuxue Feng NEGOTIATION
Maisha O WhobreyFranceAnna Fali NEGOTIATION
Claire T VocelkaIndiaAsiya Javayant PROPOSAL
Aruna Y RimCanadaAmy Elsner RENEWAL
Mujtaba Q VenereUnited KingdomAsiya Javayant NEGOTIATION
Frozen Columns
Name
Maisha T Iturbide
Antonio I Ruta
Munro A Paprocki
Nicolas L Rim
Ashley N Figeroa
Costa A Tollner
Stacey L Venere
Isabel N Poquette
Ivar B Whobrey
Francesco J Foller
Sinclair X Inouye
Izzy S Kolmetz
Cody M Marrier
Greenwood X Kusko
Claire K Ferencz
Johnson E Oldroyd
Mayumi O Figeroa
Arvin Q Glick
Alejandro U Caldarera
Maisha E Rim
Misaki I Royster
Ashley E Maclead
Izzy S Nestle
Murillo K Ferencz
David C Iturbide
Alejandro O Dilliard
Deepesh N Glick
Maria I Ostrosky
Cody M Whobrey
Antonio M Ferencz
Ashley G Malet
Izzy H Waycott
Jones Q Perin
Julie G Doe
Sinclair J Glick
Faith D Rulapaugh
Alejandro L Perin
Stacey E Caudy
Emily P Caldarera
Jennifer J Paprocki
Adams I Rulapaugh
Costa O Gaucho
Ivar E Malet
Darci A Chui
Silvio Z Ostrosky
Mujtaba Z Briddick
Salvatore V Royster
Kaitlin P Kusko
Kadeem Y Caldarera
Mayumi S Garufi
IdCountryDate
1000Spain2024-06-15
1001Australia2024-06-16
1002Canada2024-06-06
1003Argentina2024-06-17
1004Spain2024-06-21
1005Spain2024-06-18
1006Australia2024-06-20
1007Spain2024-06-22
1008Germany2024-06-18
1009Argentina2024-06-04
1010Spain2024-06-19
1011Brazil2024-06-17
1012Spain2024-06-01
1013France2024-06-24
1014France2024-06-13
1015Australia2024-05-28
1016Japan2024-05-28
1017United Kingdom2024-06-04
1018France2024-06-04
1019France2024-05-30
1020Spain2024-06-22
1021Brazil2024-06-07
1022Argentina2024-06-15
1023France2024-06-13
1024Australia2024-06-13
1025France2024-06-06
1026India2024-05-28
1027Japan2024-05-28
1028Australia2024-06-13
1029Canada2024-06-14
1030Russia2024-06-12
1031France2024-06-05
1032Russia2024-06-04
1033France2024-06-19
1034Germany2024-06-12
1035Japan2024-06-19
1036France2024-06-10
1037France2024-06-20
1038Spain2024-06-18
1039India2024-05-29
1040France2024-06-23
1041Italy2024-05-28
1042Japan2024-05-27
1043France2024-06-12
1044Germany2024-06-09
1045Argentina2024-06-24
1046India2024-05-31
1047Russia2024-06-18
1048France2024-05-26
1049Italy2024-06-02

On-Demand Data

NameIdCountryDate
Aika P Vocelka1000Germany2024-06-07
Munro U Rulapaugh1001Italy2024-06-06
Maria E Waycott1002Japan2024-06-04
Mayumi X Nicka1003Germany2024-05-30
Ricardo P Ferencz1004Canada2024-05-30
Arvin E Tollner1005Australia2024-05-27
Jefferson J Sergi1006Argentina2024-05-31
Nicolas M Stenseth1007Japan2024-06-19
Adams B Butt1008France2024-06-08
Jeanfrancois B Tollner1009Japan2024-06-09
Leon T Poquette1010Argentina2024-06-10
Stacey F Sergi1011Canada2024-06-01
Leja S Inouye1012India2024-06-19
Aruna W Morasca1013United Kingdom2024-06-15
Rodrigues X Caldarera1014Russia2024-06-11
Mayumi D Ostrosky1015Argentina2024-06-18
Chavez S Ferencz1016India2024-06-01
Sinclair C Doe1017Australia2024-05-29
Kaitlin X Albares1018Spain2024-06-11
Aika X Kusko1019Italy2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar C MaletCanadaIvan Magalhaes NEGOTIATION
Ivar K PoquetteAustraliaIvan Magalhaes UNQUALIFIED
Francesco L FerenczJapanAsiya Javayant UNQUALIFIED
Faith J ButtIndiaBernardo Dominic UNQUALIFIED
Cody U RulapaughCanadaAmy Elsner NEGOTIATION
Ricardo E FlosiAustraliaIvan Magalhaes RENEWAL
Costa J StockhamGermanyAnna Fali PROPOSAL
Faith Q InouyeCanadaStephen Shaw NEW
Wickens A ButtItalyAnna Fali RENEWAL
Jefferson M StensethCanadaAnna Fali NEGOTIATION
Kaitlin E GauchoGermanyXuxue Feng UNQUALIFIED
Salvatore M StockhamArgentinaAsiya Javayant PROPOSAL
Ricardo S StensethBrazilXuxue Feng QUALIFIED
Costa A KolmetzGermanyAnna Fali PROPOSAL
Misaki E CampainIndiaElwin Sharvill RENEWAL
Wickens I AmigonUnited KingdomBernardo Dominic NEGOTIATION
Costa H DilliardCanadaBernardo Dominic NEW
Mayumi D OstroskySpainAnna Fali UNQUALIFIED
Julie M SlusarskiJapanXuxue Feng NEW
Nicolas N GillianJapanAsiya Javayant PROPOSAL
Adams Z DarakjySpainStephen Shaw NEW
Ivar A StensethBrazilElwin Sharvill QUALIFIED
Costa G PoquetteBrazilAnna Fali NEW
Morrow O GauchoBrazilStephen Shaw NEW
Murillo G FlosiGermanyAsiya Javayant PROPOSAL
Adams A BologniaArgentinaIoni Bowcher PROPOSAL
Faith U DarakjyItalyXuxue Feng PROPOSAL
Wickens N MacleadIndiaOnyama Limba QUALIFIED
Antonio V BriddickIndiaAsiya Javayant NEW
Ashley L FerenczRussiaAsiya Javayant UNQUALIFIED
Jennifer R ShinkoUnited KingdomElwin Sharvill RENEWAL
Cody Y DoeArgentinaAnna Fali NEGOTIATION
Jefferson J VocelkaAustraliaIvan Magalhaes UNQUALIFIED
Claire M ButtAustraliaOnyama Limba UNQUALIFIED
Chavez P NestleArgentinaBernardo Dominic UNQUALIFIED
Stacey A GarufiItalyIvan Magalhaes PROPOSAL
Mujtaba J OldroydUnited KingdomOnyama Limba UNQUALIFIED
Deepesh X DarakjyGermanyIoni Bowcher PROPOSAL
Murillo D NickaAustraliaOnyama Limba QUALIFIED
Antonio W FigeroaIndiaIvan Magalhaes 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>