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
Antonio H SergiFranceStephen Shaw NEW
Smith N SaylorsBrazilStephen Shaw PROPOSAL
Ivar I StockhamIndiaStephen Shaw NEW
Juan M NickaBrazilBernardo Dominic RENEWAL
Francesco R CaldareraBrazilAnna Fali PROPOSAL
Aika G NestleBrazilXuxue Feng NEW
Emily F CampainGermanyStephen Shaw PROPOSAL
Maisha X NestleBrazilElwin Sharvill PROPOSAL
David T AlbaresJapanAmy Elsner NEGOTIATION
Jeanfrancois T MorascaCanadaOnyama Limba NEW
Izzy Q RulapaughUnited KingdomIvan Magalhaes NEGOTIATION
David B OstroskyGermanyAnna Fali UNQUALIFIED
Tony Q GauchoRussiaIoni Bowcher NEW
Aika L TollnerCanadaAnna Fali NEW
Jefferson K KuskoItalyOnyama Limba UNQUALIFIED
Costa W FerenczArgentinaAmy Elsner PROPOSAL
Jones O KolmetzFranceAmy Elsner RENEWAL
Ivar Q DarakjyJapanOnyama Limba UNQUALIFIED
Maisha X ShinkoArgentinaIvan Magalhaes PROPOSAL
Silvio L GlickRussiaBernardo Dominic QUALIFIED
Leon N PaprockiUnited KingdomElwin Sharvill NEGOTIATION
Silvio V MarrierJapanIoni Bowcher NEW
Munro F MorascaGermanyElwin Sharvill PROPOSAL
Wickens G RutaJapanIvan Magalhaes UNQUALIFIED
Jefferson X CaldareraIndiaAnna Fali UNQUALIFIED
Ivar G RoysterUnited KingdomOnyama Limba NEGOTIATION
Adams C BowleyJapanIoni Bowcher NEW
Maria I GillianItalyAsiya Javayant NEW
James J StensethBrazilXuxue Feng PROPOSAL
Kaitlin F MorascaUnited KingdomIvan Magalhaes NEGOTIATION
Aruna Y AlbaresJapanIvan Magalhaes UNQUALIFIED
Stacey X PoquetteSpainOnyama Limba NEGOTIATION
Maisha R BologniaGermanyAnna Fali UNQUALIFIED
Leon I GillianAustraliaElwin Sharvill NEW
Ricardo X GarufiFranceIoni Bowcher QUALIFIED
Misaki O PaprockiGermanyAmy Elsner RENEWAL
Ricardo S FigeroaCanadaIoni Bowcher NEGOTIATION
Aditya R MorascaIndiaIvan Magalhaes NEGOTIATION
Jeanfrancois S TollnerFranceOnyama Limba NEGOTIATION
Kaitlin R FigeroaIndiaXuxue Feng QUALIFIED
Sinclair C DilliardCanadaAmy Elsner RENEWAL
David A DarakjyArgentinaElwin Sharvill NEGOTIATION
Mujtaba B GillianGermanyIvan Magalhaes QUALIFIED
Deepesh U WaycottBrazilAmy Elsner UNQUALIFIED
Clifford Z GauchoSpainAsiya Javayant UNQUALIFIED
Murillo T SergiArgentinaIoni Bowcher NEW
Arvin U AlbaresCanadaXuxue Feng UNQUALIFIED
Leon T TollnerItalyAmy Elsner PROPOSAL
Maria X ButtFranceIoni Bowcher UNQUALIFIED
Mayumi L MaletAustraliaStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Jones V FerenczUnited KingdomIoni Bowcher UNQUALIFIED
Salvatore K SlusarskiUnited KingdomAsiya Javayant NEGOTIATION
Morrow T NickaGermanyStephen Shaw UNQUALIFIED
Kadeem P RutaJapanAsiya Javayant UNQUALIFIED
Morrow J StockhamJapanElwin Sharvill RENEWAL
Jeanfrancois K BologniaRussiaBernardo Dominic NEGOTIATION
Aditya L VenereIndiaAnna Fali NEW
Tony I FigeroaIndiaBernardo Dominic NEGOTIATION
Adams Z KolmetzIndiaStephen Shaw NEW
Salvatore P CaldareraArgentinaElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore Z CampainJapan2024-05-20Benton, John B Jr UNQUALIFIED63Ioni Bowcher
1001Maria V WaycottJapan2024-05-22Feltz Printing Service QUALIFIED56Ivan Magalhaes
1002Leja M SergiUnited Kingdom2024-06-12Rousseaux, Michael Esq RENEWAL40Asiya Javayant
1003Mujtaba P RulapaughArgentina2024-06-05Printing Dimensions NEW79Xuxue Feng
1004Wickens L StockhamCanada2024-06-08Dorl, James J Esq PROPOSAL80Amy Elsner
1005Mujtaba U MorascaAustralia2024-06-03Buckley Miller Wright RENEWAL36Bernardo Dominic
1006Greenwood Y ChuiFrance2024-06-13Buckley Miller Wright RENEWAL51Ivan Magalhaes
1007Emily I NickaCanada2024-05-20Truhlar And Truhlar Attys NEW20Bernardo Dominic
1008Nicolas X KuskoJapan2024-06-13Printing Dimensions PROPOSAL51Amy Elsner
1009Rodrigues N DarakjyUnited Kingdom2024-06-07Chapman, Ross E Esq NEGOTIATION9Xuxue Feng
1010Mayumi B PerinSpain2024-05-21Rousseaux, Michael Esq NEGOTIATION35Bernardo Dominic
1011Salvatore G PaprockiSpain2024-06-05Chemel, James L Cpa RENEWAL90Asiya Javayant
1012Juan R OstroskyAustralia2024-06-03Rousseaux, Michael Esq QUALIFIED59Xuxue Feng
1013Cody C GarufiArgentina2024-06-15King, Christopher A Esq NEW3Elwin Sharvill
1014Clifford V PaprockiRussia2024-06-14Feiner Bros RENEWAL24Ioni Bowcher
1015Misaki C MaletJapan2024-06-02Buckley Miller Wright RENEWAL13Anna Fali
1016Ricardo Q IturbideArgentina2024-06-06Commercial Press UNQUALIFIED16Ioni Bowcher
1017Antonio F DilliardSpain2024-06-08Rousseaux, Michael Esq PROPOSAL46Stephen Shaw
1018Salvatore S FigeroaCanada2024-06-11Chanay, Jeffrey A Esq NEGOTIATION14Bernardo Dominic
1019Arvin R InouyeAustralia2024-05-28Chanay, Jeffrey A Esq UNQUALIFIED43Elwin Sharvill
1020Cody A FerenczCanada2024-06-16Morlong Associates QUALIFIED99Asiya Javayant
1021Murillo G GarufiAustralia2024-06-15Morlong Associates NEGOTIATION30Bernardo Dominic
1022Antonio U SlusarskiGermany2024-05-28Rousseaux, Michael Esq NEW47Stephen Shaw
1023Nicolas Y InouyeAustralia2024-06-05Commercial Press NEGOTIATION87Bernardo Dominic
1024Jennifer J ButtGermany2024-06-13Printing Dimensions RENEWAL3Onyama Limba
1025Greenwood H MaletJapan2024-06-16Feiner Bros RENEWAL72Ioni Bowcher
1026Silvio Q StockhamSpain2024-05-30Rangoni Of Florence PROPOSAL84Ivan Magalhaes
1027Faith B KuskoAustralia2024-06-03Chanay, Jeffrey A Esq PROPOSAL4Amy Elsner
1028Cody Y GarufiSpain2024-06-07Feiner Bros UNQUALIFIED13Xuxue Feng
1029Mayumi D SergiUnited Kingdom2024-06-06Dorl, James J Esq QUALIFIED14Amy Elsner
1030Johnson Q VocelkaArgentina2024-06-07Benton, John B Jr NEW44Onyama Limba
1031David O BowleyAustralia2024-06-08Chanay, Jeffrey A Esq RENEWAL63Stephen Shaw
1032Misaki R GarufiGermany2024-05-29King, Christopher A Esq QUALIFIED74Ivan Magalhaes
1033David L DoeJapan2024-05-27Chapman, Ross E Esq QUALIFIED63Stephen Shaw
1034Jefferson A GlickAustralia2024-06-06Chemel, James L Cpa UNQUALIFIED25Ivan Magalhaes
1035Salvatore W ButtSpain2024-06-12Rangoni Of Florence PROPOSAL62Bernardo Dominic
1036Ricardo B IturbideAustralia2024-05-20Commercial Press NEW36Bernardo Dominic
1037Kadeem S GauchoUnited Kingdom2024-06-01Printing Dimensions RENEWAL19Anna Fali
1038Misaki Y VocelkaSpain2024-06-16Feltz Printing Service RENEWAL66Asiya Javayant
1039Wickens B NickaUnited Kingdom2024-05-21Commercial Press UNQUALIFIED42Onyama Limba
1040Ricardo M OldroydSpain2024-06-15Chemel, James L Cpa NEW35Amy Elsner
1041Leon B SchemmerArgentina2024-05-27Printing Dimensions RENEWAL48Ivan Magalhaes
1042Johnson T NickaSpain2024-06-01Feiner Bros NEGOTIATION94Anna Fali
1043Deepesh R StensethArgentina2024-05-19Buckley Miller Wright NEW99Ivan Magalhaes
1044Mayumi I NestleUnited Kingdom2024-05-31Chemel, James L Cpa NEGOTIATION3Ioni Bowcher
1045Aika R DarakjyUnited Kingdom2024-06-14Morlong Associates NEGOTIATION20Amy Elsner
1046Mujtaba H GauchoFrance2024-05-31Chemel, James L Cpa PROPOSAL18Ioni Bowcher
1047Morrow X PerinSpain2024-06-09Dorl, James J Esq NEW84Bernardo Dominic
1048Rodrigues T KuskoCanada2024-05-28Truhlar And Truhlar Attys QUALIFIED47Asiya Javayant
1049Kaitlin E PaprockiAustralia2024-05-30Chapman, Ross E Esq QUALIFIED5Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Nicolas O SergiGermanyIoni Bowcher QUALIFIED
Aruna A CaudyRussiaOnyama Limba RENEWAL
Emily Z SergiUnited KingdomAnna Fali NEW
Izzy H FlosiRussiaStephen Shaw UNQUALIFIED
Arvin X DarakjyFranceStephen Shaw UNQUALIFIED
Wickens W PaprockiGermanyAmy Elsner PROPOSAL
Ashley Q RoysterRussiaStephen Shaw NEW
Smith B NestleRussiaXuxue Feng QUALIFIED
Cody O MaletSpainBernardo Dominic RENEWAL
Nicolas N DilliardItalyXuxue Feng RENEWAL
Kadeem F RutaBrazilBernardo Dominic PROPOSAL
Juan P MacleadCanadaAnna Fali UNQUALIFIED
Emily D PoquetteAustraliaAnna Fali QUALIFIED
Izzy A CampainFranceElwin Sharvill UNQUALIFIED
Misaki Z WaycottSpainXuxue Feng QUALIFIED
Ricardo T BowleyFranceIoni Bowcher NEW
Claire H FollerSpainAnna Fali QUALIFIED
Morrow Q GillianGermanyElwin Sharvill QUALIFIED
Tony Y MaletItalyOnyama Limba NEGOTIATION
Jones D SergiItalyIvan Magalhaes PROPOSAL
Francesco C FigeroaUnited KingdomIvan Magalhaes RENEWAL
Jennifer V StockhamBrazilAmy Elsner NEGOTIATION
Nicolas P RoysterArgentinaStephen Shaw UNQUALIFIED
Wickens D WaycottCanadaBernardo Dominic NEW
Julie N SlusarskiRussiaAnna Fali UNQUALIFIED
Ashley R VenereGermanyBernardo Dominic NEGOTIATION
Stacey U MaletFranceStephen Shaw RENEWAL
Smith U AmigonArgentinaStephen Shaw PROPOSAL
Isabel M AmigonUnited KingdomBernardo Dominic NEW
Alejandro S BowleyAustraliaIvan Magalhaes RENEWAL
Chavez U SaylorsItalyIvan Magalhaes NEGOTIATION
Silvio H GlickArgentinaIvan Magalhaes QUALIFIED
Faith H SchemmerAustraliaAnna Fali PROPOSAL
Costa X NestleAustraliaBernardo Dominic UNQUALIFIED
Silvio F WhobreyJapanAmy Elsner UNQUALIFIED
Greenwood J RimUnited KingdomIvan Magalhaes QUALIFIED
Silvio X KolmetzUnited KingdomAnna Fali UNQUALIFIED
Costa F ShinkoBrazilStephen Shaw RENEWAL
Costa S CaldareraFranceAsiya Javayant NEGOTIATION
Izzy V SlusarskiRussiaAmy Elsner RENEWAL
Smith J ChuiSpainStephen Shaw QUALIFIED
Nicolas H RimBrazilElwin Sharvill QUALIFIED
Ashley A GarufiRussiaAsiya Javayant PROPOSAL
Ricardo V RimItalyStephen Shaw NEW
Mujtaba U WhobreyBrazilElwin Sharvill UNQUALIFIED
Murillo S MorascaIndiaStephen Shaw PROPOSAL
Cody U FollerGermanyXuxue Feng PROPOSAL
Ricardo K WaycottRussiaOnyama Limba UNQUALIFIED
Faith Y RulapaughJapanAmy Elsner NEW
Wickens O CaudyAustraliaBernardo Dominic RENEWAL
Frozen Columns
Name
Morrow A Garufi
Wickens Z Marrier
Wickens N Shinko
Claire W Saylors
Emily J Iturbide
Deepesh T Gaucho
Nicolas E Malet
Faith W Albares
Alejandro O Royster
Emily H Campain
Rodrigues Y Butt
Johnson H Gillian
David Q Rulapaugh
Kaitlin I Oldroyd
Smith I Rulapaugh
Jennifer U Glick
Kadeem U Wieser
Leja G Shinko
Jefferson K Royster
Isabel U Maclead
Octavia U Stockham
Alejandro G Caudy
James O Butt
Chavez Y Oldroyd
Mayumi Z Inouye
Kaitlin Q Malet
Darci J Rim
Alejandro L Wieser
Aruna N Oldroyd
Antonio X Poquette
Murillo B Gaucho
Jefferson I Nestle
Silvio L Poquette
Kadeem L Maclead
Jones N Dilliard
Leja J Glick
Leon T Inouye
James H Tollner
Ivar Y Rim
Silvio J Albares
Faith M Nicka
Juan Y Campain
Aditya N Amigon
Isabel I Ferencz
Izzy E Campain
Faith D Dilliard
Smith C Malet
Leja S Gaucho
Arvin B Waycott
Silvio W Wieser
IdCountryDate
1000Canada2024-06-12
1001India2024-06-16
1002Russia2024-06-04
1003Germany2024-06-14
1004Spain2024-05-31
1005Japan2024-05-22
1006Germany2024-05-20
1007Canada2024-05-18
1008Russia2024-06-14
1009Argentina2024-05-19
1010Japan2024-06-02
1011United Kingdom2024-06-15
1012Argentina2024-06-01
1013Canada2024-06-07
1014Canada2024-05-22
1015Canada2024-06-08
1016Brazil2024-06-11
1017France2024-06-11
1018India2024-05-29
1019France2024-05-24
1020Italy2024-05-18
1021Italy2024-05-27
1022Spain2024-06-15
1023Canada2024-05-26
1024Argentina2024-06-16
1025India2024-05-23
1026India2024-06-05
1027Canada2024-05-18
1028Brazil2024-06-11
1029Brazil2024-05-20
1030India2024-06-12
1031Brazil2024-05-29
1032France2024-06-14
1033France2024-05-23
1034Brazil2024-05-19
1035Italy2024-05-25
1036France2024-05-20
1037Spain2024-05-20
1038Spain2024-06-16
1039Argentina2024-06-11
1040Argentina2024-06-12
1041Italy2024-05-29
1042Canada2024-06-02
1043France2024-05-19
1044Spain2024-05-23
1045Italy2024-05-23
1046Argentina2024-06-07
1047Argentina2024-05-19
1048India2024-06-12
1049Russia2024-05-23

On-Demand Data

NameIdCountryDate
Kadeem Z Morasca1000United Kingdom2024-05-19
Alejandro T Ferencz1001United Kingdom2024-06-05
Adams G Slusarski1002Germany2024-06-15
Mayumi C Gillian1003Russia2024-05-27
Aditya N Foller1004Canada2024-05-27
Isabel S Campain1005United Kingdom2024-06-16
Salvatore Q Saylors1006Russia2024-06-04
Isabel U Iturbide1007France2024-06-15
Faith U Campain1008Brazil2024-05-23
Cody X Caldarera1009Canada2024-05-29
Greenwood A Stenseth1010Brazil2024-05-30
Ashley O Rulapaugh1011Russia2024-05-28
Mujtaba P Ruta1012United Kingdom2024-05-30
Cody C Rim1013Russia2024-05-21
Isabel G Briddick1014Russia2024-05-31
Misaki G Glick1015Germany2024-05-29
Ashley I Amigon1016Canada2024-06-08
Johnson X Tollner1017Italy2024-05-22
Salvatore H Saylors1018France2024-06-09
Ashley P Rim1019Argentina2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones R WaycottBrazilAnna Fali NEW
Jones K RulapaughJapanElwin Sharvill UNQUALIFIED
Maria W InouyeItalyIoni Bowcher NEW
Costa W VenereBrazilIoni Bowcher NEGOTIATION
Cody R SaylorsJapanAsiya Javayant QUALIFIED
Murillo F BologniaCanadaAmy Elsner RENEWAL
Rodrigues M MarrierUnited KingdomAmy Elsner UNQUALIFIED
Tony Y SchemmerSpainIvan Magalhaes RENEWAL
Alejandro D CaudySpainBernardo Dominic RENEWAL
Sinclair B GillianSpainIvan Magalhaes NEGOTIATION
Morrow T AlbaresArgentinaAsiya Javayant PROPOSAL
Munro X SchemmerCanadaStephen Shaw RENEWAL
Arvin E BowleyJapanIoni Bowcher UNQUALIFIED
Aika T WieserRussiaElwin Sharvill RENEWAL
Faith W BologniaBrazilAsiya Javayant RENEWAL
Kaitlin J RulapaughItalyStephen Shaw NEGOTIATION
Greenwood K MarrierUnited KingdomOnyama Limba PROPOSAL
Jennifer S IturbideJapanIoni Bowcher RENEWAL
Jones U CampainGermanyIoni Bowcher PROPOSAL
Alejandro T DarakjyJapanAnna Fali NEW
Salvatore O BriddickItalyXuxue Feng PROPOSAL
Arvin C NestleAustraliaAmy Elsner UNQUALIFIED
Adams K DarakjyFranceStephen Shaw PROPOSAL
Maisha Z GillianBrazilOnyama Limba NEW
Ivar N MorascaItalyIvan Magalhaes QUALIFIED
Cody W GarufiAustraliaAmy Elsner PROPOSAL
Deepesh W GarufiArgentinaStephen Shaw QUALIFIED
Maisha R PerinJapanElwin Sharvill PROPOSAL
Murillo K KolmetzBrazilAsiya Javayant NEW
Rodrigues H InouyeItalyAnna Fali PROPOSAL
Kaitlin N GlickBrazilOnyama Limba PROPOSAL
Adams K CaudyIndiaElwin Sharvill NEGOTIATION
Faith E MorascaRussiaIvan Magalhaes PROPOSAL
Salvatore G CampainUnited KingdomAmy Elsner NEW
Francesco N PaprockiCanadaXuxue Feng NEGOTIATION
Julie I WieserJapanAnna Fali PROPOSAL
David M SaylorsCanadaAnna Fali RENEWAL
Leja E SlusarskiUnited KingdomStephen Shaw PROPOSAL
Arvin L AlbaresGermanyElwin Sharvill NEGOTIATION
Wickens Y SergiIndiaXuxue Feng UNQUALIFIED

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