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
Wickens Y MaletSpainXuxue Feng NEGOTIATION
Misaki A GarufiArgentinaIvan Magalhaes NEGOTIATION
Leon C RulapaughAustraliaStephen Shaw UNQUALIFIED
Ricardo P BowleyBrazilXuxue Feng NEW
Tony D BriddickBrazilIoni Bowcher RENEWAL
Ricardo U AlbaresFranceStephen Shaw NEW
Misaki W BowleyUnited KingdomIvan Magalhaes NEGOTIATION
Adams U DarakjyArgentinaBernardo Dominic NEGOTIATION
Izzy D CaudyAustraliaXuxue Feng QUALIFIED
Jennifer U KuskoJapanIoni Bowcher NEGOTIATION
Nicolas E MarrierRussiaXuxue Feng UNQUALIFIED
Misaki L AmigonCanadaAsiya Javayant QUALIFIED
Stacey Z RoysterCanadaStephen Shaw UNQUALIFIED
Deepesh Q SaylorsFranceIvan Magalhaes PROPOSAL
Rodrigues W InouyeJapanIvan Magalhaes NEGOTIATION
David B PaprockiFranceStephen Shaw UNQUALIFIED
Emily D MaletJapanXuxue Feng UNQUALIFIED
Faith V OldroydBrazilBernardo Dominic UNQUALIFIED
Izzy F RulapaughArgentinaElwin Sharvill NEGOTIATION
Aditya V SaylorsRussiaAsiya Javayant UNQUALIFIED
Kaitlin W BriddickSpainAmy Elsner UNQUALIFIED
Juan A KuskoGermanyXuxue Feng UNQUALIFIED
Isabel R ChuiIndiaOnyama Limba RENEWAL
Misaki T BriddickBrazilIvan Magalhaes QUALIFIED
James F StensethCanadaAmy Elsner NEGOTIATION
Salvatore X RulapaughFranceAsiya Javayant NEW
Greenwood L KolmetzCanadaStephen Shaw PROPOSAL
Mayumi X WaycottBrazilStephen Shaw NEGOTIATION
Kadeem H NestleAustraliaAsiya Javayant RENEWAL
Nicolas Y ButtItalyBernardo Dominic UNQUALIFIED
Murillo Z GarufiJapanXuxue Feng UNQUALIFIED
James D VenereItalyAsiya Javayant RENEWAL
Salvatore X RutaBrazilBernardo Dominic UNQUALIFIED
Faith U GillianArgentinaIvan Magalhaes PROPOSAL
Jennifer X WaycottItalyOnyama Limba RENEWAL
Kadeem U MaletCanadaXuxue Feng PROPOSAL
Leon K RutaUnited KingdomAnna Fali NEW
Faith W BriddickJapanBernardo Dominic PROPOSAL
Izzy H AmigonArgentinaAmy Elsner UNQUALIFIED
Aika J GauchoAustraliaIvan Magalhaes RENEWAL
Kadeem G DoeIndiaIoni Bowcher NEGOTIATION
Jefferson V MaletRussiaIvan Magalhaes NEW
Jeanfrancois Z GauchoSpainOnyama Limba NEGOTIATION
Antonio W BowleyJapanOnyama Limba PROPOSAL
Morrow T ButtFranceStephen Shaw UNQUALIFIED
David L StockhamAustraliaStephen Shaw UNQUALIFIED
Antonio Y BologniaItalyXuxue Feng QUALIFIED
Francesco C DilliardIndiaOnyama Limba UNQUALIFIED
Salvatore Q SchemmerItalyOnyama Limba UNQUALIFIED
Jennifer J MorascaUnited KingdomAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Juan X OstroskyUnited KingdomAsiya Javayant UNQUALIFIED
Kaitlin A NickaGermanyBernardo Dominic QUALIFIED
Costa T SlusarskiSpainXuxue Feng UNQUALIFIED
James V VenereIndiaStephen Shaw PROPOSAL
Johnson Y StockhamAustraliaOnyama Limba UNQUALIFIED
Maisha K DilliardAustraliaElwin Sharvill UNQUALIFIED
Cody R MorascaFranceIvan Magalhaes UNQUALIFIED
Greenwood W OstroskyJapanBernardo Dominic QUALIFIED
Aruna T BriddickBrazilAnna Fali PROPOSAL
Johnson C MarrierItalyElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon U MaletFrance2024-05-08Buckley Miller Wright UNQUALIFIED62Stephen Shaw
1001Aruna Z MorascaJapan2024-05-02Feiner Bros NEW90Stephen Shaw
1002Wickens Z SaylorsIndia2024-05-11Rangoni Of Florence NEW84Anna Fali
1003Maisha H MaletIndia2024-05-20Benton, John B Jr NEGOTIATION96Bernardo Dominic
1004Morrow Z SchemmerCanada2024-05-17Chemel, James L Cpa PROPOSAL40Ivan Magalhaes
1005Faith F PaprockiCanada2024-05-13King, Christopher A Esq NEW52Bernardo Dominic
1006Maisha U CampainFrance2024-04-27Commercial Press PROPOSAL67Ioni Bowcher
1007Leja W KuskoRussia2024-05-08Rangoni Of Florence NEW85Onyama Limba
1008Isabel I CampainArgentina2024-05-14Printing Dimensions PROPOSAL20Amy Elsner
1009Antonio M ShinkoArgentina2024-04-26Feiner Bros RENEWAL19Anna Fali
1010Clifford K ButtGermany2024-04-29Chapman, Ross E Esq RENEWAL48Bernardo Dominic
1011David V RutaSpain2024-05-23Rangoni Of Florence QUALIFIED95Stephen Shaw
1012Juan J FlosiIndia2024-04-27Chanay, Jeffrey A Esq PROPOSAL49Elwin Sharvill
1013Misaki W MarrierRussia2024-05-15Feltz Printing Service NEGOTIATION63Anna Fali
1014Mujtaba M GillianGermany2024-05-11Chemel, James L Cpa PROPOSAL53Ivan Magalhaes
1015Jeanfrancois S NestleJapan2024-05-02Dorl, James J Esq QUALIFIED93Amy Elsner
1016Salvatore R PaprockiFrance2024-05-04Chanay, Jeffrey A Esq UNQUALIFIED31Amy Elsner
1017Clifford S PerinCanada2024-05-08Chemel, James L Cpa UNQUALIFIED26Asiya Javayant
1018Silvio X InouyeSpain2024-04-26Feiner Bros NEGOTIATION26Xuxue Feng
1019Maisha E KuskoArgentina2024-05-19Chapman, Ross E Esq UNQUALIFIED92Asiya Javayant
1020Kadeem G GlickItaly2024-05-01Feiner Bros NEGOTIATION83Xuxue Feng
1021Sinclair P RimRussia2024-04-24Truhlar And Truhlar Attys NEGOTIATION40Ivan Magalhaes
1022Aruna R PoquetteAustralia2024-05-22Commercial Press NEW55Onyama Limba
1023Misaki R TollnerAustralia2024-04-28Morlong Associates NEGOTIATION25Ivan Magalhaes
1024Alejandro W RulapaughUnited Kingdom2024-05-08Feiner Bros NEGOTIATION15Anna Fali
1025Darci Y WieserCanada2024-05-21Truhlar And Truhlar Attys QUALIFIED74Asiya Javayant
1026Kaitlin Z SergiIndia2024-05-08King, Christopher A Esq PROPOSAL0Amy Elsner
1027Julie G SaylorsGermany2024-04-27Truhlar And Truhlar Attys NEW37Stephen Shaw
1028Leja E ShinkoJapan2024-05-17Buckley Miller Wright PROPOSAL45Elwin Sharvill
1029Darci J ButtJapan2024-05-05Printing Dimensions NEW58Ioni Bowcher
1030Mujtaba R RoysterAustralia2024-05-20Commercial Press PROPOSAL14Amy Elsner
1031Maisha O GarufiSpain2024-04-27Feiner Bros RENEWAL0Bernardo Dominic
1032Aditya O StensethRussia2024-05-03Buckley Miller Wright NEW17Bernardo Dominic
1033Alejandro A MacleadItaly2024-05-23Feiner Bros UNQUALIFIED48Elwin Sharvill
1034Octavia J GillianIndia2024-05-10King, Christopher A Esq NEGOTIATION92Ioni Bowcher
1035Costa H VenereSpain2024-05-07Commercial Press NEGOTIATION83Ioni Bowcher
1036Munro F MacleadIndia2024-05-14Printing Dimensions PROPOSAL70Anna Fali
1037Jeanfrancois I PaprockiIndia2024-04-26Chapman, Ross E Esq RENEWAL55Amy Elsner
1038Maria O DarakjyFrance2024-05-09Rangoni Of Florence NEW56Xuxue Feng
1039Salvatore E MacleadRussia2024-05-02Morlong Associates PROPOSAL42Ivan Magalhaes
1040Mujtaba K RutaGermany2024-05-01Rangoni Of Florence PROPOSAL62Ioni Bowcher
1041Rodrigues I VocelkaIndia2024-05-02Chemel, James L Cpa NEGOTIATION16Ioni Bowcher
1042Munro Y OstroskySpain2024-05-22Chapman, Ross E Esq UNQUALIFIED72Bernardo Dominic
1043Faith W DoeArgentina2024-04-30Truhlar And Truhlar Attys QUALIFIED62Ivan Magalhaes
1044Alejandro M NickaUnited Kingdom2024-05-07King, Christopher A Esq UNQUALIFIED88Bernardo Dominic
1045Darci L MacleadItaly2024-05-13Feiner Bros NEGOTIATION52Ioni Bowcher
1046Nicolas B SergiUnited Kingdom2024-05-20Feltz Printing Service PROPOSAL52Ioni Bowcher
1047Aika H CampainAustralia2024-05-18Dorl, James J Esq NEGOTIATION69Amy Elsner
1048Jones B SaylorsArgentina2024-04-29Rousseaux, Michael Esq NEGOTIATION95Amy Elsner
1049Ricardo F RutaJapan2024-05-08Commercial Press NEGOTIATION9Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Clifford I DarakjyJapanStephen Shaw RENEWAL
Leja T DarakjySpainAsiya Javayant RENEWAL
Rodrigues W FollerIndiaAnna Fali UNQUALIFIED
Mujtaba F WieserIndiaBernardo Dominic NEGOTIATION
Julie C FlosiIndiaAmy Elsner NEGOTIATION
Adams P CampainSpainOnyama Limba NEGOTIATION
Maisha S FigeroaUnited KingdomAmy Elsner RENEWAL
Misaki N OldroydSpainElwin Sharvill QUALIFIED
Francesco R StockhamAustraliaIvan Magalhaes PROPOSAL
Wickens M PoquetteFranceAnna Fali UNQUALIFIED
Ricardo X BriddickSpainAmy Elsner PROPOSAL
Jennifer T CampainFranceOnyama Limba NEGOTIATION
Izzy A CaldareraCanadaAnna Fali NEW
Adams L MacleadJapanBernardo Dominic PROPOSAL
Smith O RulapaughAustraliaAnna Fali UNQUALIFIED
Rodrigues U StockhamIndiaIvan Magalhaes RENEWAL
Antonio P MaletArgentinaOnyama Limba UNQUALIFIED
Maisha K WhobreyAustraliaOnyama Limba PROPOSAL
James E RimBrazilStephen Shaw QUALIFIED
Chavez E FlosiRussiaOnyama Limba RENEWAL
Isabel M ShinkoBrazilIoni Bowcher RENEWAL
Jennifer H PaprockiArgentinaXuxue Feng UNQUALIFIED
Claire Q VocelkaAustraliaIoni Bowcher NEW
Faith O PaprockiIndiaAnna Fali RENEWAL
Maisha B SchemmerFranceElwin Sharvill RENEWAL
Leja Z PaprockiItalyAnna Fali UNQUALIFIED
Maria U RulapaughIndiaStephen Shaw NEW
Aditya F WieserAustraliaStephen Shaw UNQUALIFIED
Maria F RoysterBrazilStephen Shaw RENEWAL
Claire I FlosiRussiaElwin Sharvill PROPOSAL
Nicolas W MarrierAustraliaStephen Shaw PROPOSAL
Murillo N WieserAustraliaAnna Fali QUALIFIED
Kadeem B OldroydFranceIoni Bowcher NEW
Jones E BowleyRussiaAmy Elsner RENEWAL
Salvatore C SlusarskiJapanAmy Elsner NEGOTIATION
Jefferson V AmigonAustraliaOnyama Limba QUALIFIED
Ashley M OldroydJapanAnna Fali UNQUALIFIED
Kaitlin C StensethItalyXuxue Feng NEGOTIATION
Francesco I GillianSpainAmy Elsner NEGOTIATION
Cody L PaprockiItalyAmy Elsner NEGOTIATION
Silvio M SlusarskiSpainOnyama Limba PROPOSAL
Arvin Z PaprockiUnited KingdomOnyama Limba UNQUALIFIED
Chavez J FigeroaGermanyXuxue Feng NEGOTIATION
Johnson V PoquetteBrazilAsiya Javayant RENEWAL
Munro P RimJapanXuxue Feng RENEWAL
Mujtaba V WaycottCanadaAmy Elsner NEW
Costa L TollnerSpainIoni Bowcher RENEWAL
Wickens C RutaGermanyAsiya Javayant NEW
Antonio S RulapaughSpainIoni Bowcher NEGOTIATION
Murillo R BowleySpainElwin Sharvill PROPOSAL
Frozen Columns
Name
Adams J Kusko
Mayumi G Gillian
Rodrigues A Dilliard
Aruna O Doe
Nicolas M Amigon
Kaitlin K Saylors
Chavez G Foller
Kadeem V Bolognia
Izzy V Butt
Izzy L Ruta
Kaitlin U Nicka
Silvio Q Dilliard
Stacey A Chui
Kadeem M Bolognia
Adams G Morasca
Johnson X Vocelka
Kadeem H Royster
David W Poquette
Leon Y Foller
Ivar I Morasca
Sinclair V Albares
Jennifer K Rim
Faith R Doe
Wickens T Kusko
Johnson A Gillian
Jefferson G Wieser
Salvatore U Vocelka
David N Bowley
Adams G Royster
Munro M Iturbide
Darci T Saylors
Jennifer M Iturbide
Deepesh O Amigon
Faith Z Nicka
Alejandro L Kusko
Francesco N Vocelka
Julie G Schemmer
Aika M Caudy
Mujtaba O Kolmetz
David S Perin
Alejandro X Glick
Nicolas P Nestle
Jefferson D Butt
Aruna B Kusko
Julie W Iturbide
Faith Q Maclead
Jennifer B Saylors
Leon U Kusko
Ricardo P Maclead
Misaki O Sergi
IdCountryDate
1000France2024-05-19
1001Japan2024-05-05
1002India2024-04-28
1003Russia2024-05-14
1004India2024-05-21
1005Argentina2024-05-07
1006Argentina2024-05-02
1007Canada2024-05-15
1008Brazil2024-05-19
1009United Kingdom2024-05-16
1010Argentina2024-05-08
1011India2024-05-19
1012United Kingdom2024-05-01
1013France2024-05-08
1014Australia2024-04-25
1015Canada2024-05-13
1016Brazil2024-05-12
1017France2024-05-22
1018Argentina2024-05-05
1019Canada2024-04-25
1020Japan2024-05-01
1021Argentina2024-05-11
1022France2024-05-18
1023India2024-05-21
1024Brazil2024-05-09
1025Australia2024-05-18
1026Argentina2024-05-21
1027United Kingdom2024-05-03
1028Japan2024-04-27
1029Russia2024-05-22
1030Argentina2024-04-28
1031India2024-05-03
1032Spain2024-05-03
1033France2024-05-21
1034Australia2024-05-17
1035Russia2024-05-13
1036France2024-04-24
1037Canada2024-05-23
1038Russia2024-04-30
1039Australia2024-05-02
1040United Kingdom2024-05-10
1041Spain2024-04-30
1042Italy2024-04-30
1043Spain2024-04-30
1044Russia2024-05-21
1045Russia2024-05-18
1046United Kingdom2024-04-28
1047Brazil2024-04-30
1048India2024-04-25
1049Italy2024-05-01

On-Demand Data

NameIdCountryDate
Cody P Gaucho1000Italy2024-04-26
Rodrigues H Poquette1001Spain2024-05-15
Ivar K Maclead1002India2024-04-29
Munro T Wieser1003Russia2024-04-28
Clifford L Malet1004Brazil2024-05-10
Antonio P Maclead1005Australia2024-05-14
Ivar J Poquette1006Argentina2024-05-17
Ivar P Ferencz1007Spain2024-05-12
Rodrigues L Ruta1008Germany2024-04-29
Octavia I Ostrosky1009Japan2024-04-26
Deepesh G Rulapaugh1010Canada2024-04-24
Nicolas R Royster1011France2024-05-02
Stacey A Malet1012Italy2024-05-08
Claire R Malet1013Argentina2024-05-12
David D Gillian1014United Kingdom2024-05-16
Julie O Ferencz1015India2024-04-27
Aditya X Malet1016Argentina2024-04-28
Octavia S Iturbide1017Brazil2024-05-13
Costa S Schemmer1018Australia2024-04-27
Rodrigues E Albares1019Brazil2024-05-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro M VenereAustraliaAnna Fali RENEWAL
Jeanfrancois V MaletAustraliaAnna Fali QUALIFIED
Jeanfrancois E StensethBrazilStephen Shaw UNQUALIFIED
Claire O ButtRussiaAmy Elsner RENEWAL
Mujtaba U GauchoJapanAsiya Javayant NEGOTIATION
Cody K ShinkoCanadaBernardo Dominic NEW
Mujtaba L TollnerCanadaBernardo Dominic QUALIFIED
Ricardo L TollnerGermanyIvan Magalhaes PROPOSAL
Leja T SergiSpainAmy Elsner QUALIFIED
Nicolas J SlusarskiBrazilOnyama Limba NEGOTIATION
Silvio W SchemmerArgentinaAnna Fali RENEWAL
Arvin J StockhamRussiaStephen Shaw RENEWAL
Jones V FlosiAustraliaOnyama Limba NEGOTIATION
Izzy T WhobreySpainIoni Bowcher NEW
Murillo W PerinAustraliaAnna Fali NEW
Sinclair V SlusarskiJapanOnyama Limba PROPOSAL
Ashley V FigeroaCanadaAsiya Javayant NEGOTIATION
Salvatore M OldroydItalyAmy Elsner NEW
Munro D TollnerJapanIoni Bowcher UNQUALIFIED
Mujtaba V WaycottGermanyAsiya Javayant NEGOTIATION
Aruna D WieserArgentinaStephen Shaw UNQUALIFIED
Smith L MacleadIndiaAmy Elsner QUALIFIED
Jeanfrancois T AmigonRussiaBernardo Dominic RENEWAL
Aika I FollerItalyStephen Shaw NEW
Stacey D SaylorsSpainIoni Bowcher UNQUALIFIED
Tony W MorascaAustraliaIoni Bowcher UNQUALIFIED
Emily R VocelkaRussiaBernardo Dominic NEGOTIATION
Tony O IturbideGermanyIoni Bowcher UNQUALIFIED
Mayumi P FerenczCanadaStephen Shaw PROPOSAL
Ivar A IturbideUnited KingdomIvan Magalhaes RENEWAL
Claire M GauchoArgentinaIvan Magalhaes PROPOSAL
Costa G FigeroaItalyAsiya Javayant NEW
Jeanfrancois B FollerJapanElwin Sharvill NEGOTIATION
Kaitlin W SlusarskiFranceElwin Sharvill PROPOSAL
Greenwood A ButtArgentinaOnyama Limba RENEWAL
Aditya E GarufiJapanBernardo Dominic PROPOSAL
Cody K CaldareraAustraliaBernardo Dominic RENEWAL
Ashley L RulapaughRussiaStephen Shaw PROPOSAL
Kaitlin N RulapaughIndiaAsiya Javayant NEW
Stacey U ChuiArgentinaAsiya Javayant 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>