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
Morrow O RutaIndiaStephen Shaw RENEWAL
Antonio X NestleBrazilAnna Fali RENEWAL
Nicolas L VenereIndiaOnyama Limba PROPOSAL
Salvatore V GlickCanadaAnna Fali NEW
Smith W BologniaSpainXuxue Feng NEW
Smith Y PoquetteCanadaElwin Sharvill PROPOSAL
Arvin Y BowleySpainStephen Shaw UNQUALIFIED
Munro K DoeRussiaElwin Sharvill NEW
Jefferson M OldroydUnited KingdomStephen Shaw RENEWAL
Octavia F DilliardSpainElwin Sharvill PROPOSAL
Tony T RoysterArgentinaIvan Magalhaes RENEWAL
Munro C DoeItalyElwin Sharvill UNQUALIFIED
Johnson C SaylorsFranceIvan Magalhaes PROPOSAL
Kadeem T SaylorsBrazilAsiya Javayant NEW
Alejandro O ButtIndiaAnna Fali QUALIFIED
Aditya E ShinkoAustraliaStephen Shaw RENEWAL
Mujtaba E KuskoIndiaIvan Magalhaes NEW
Cody U VenereBrazilElwin Sharvill NEW
Nicolas T VocelkaUnited KingdomElwin Sharvill NEGOTIATION
Isabel O ButtBrazilStephen Shaw QUALIFIED
Faith U BologniaJapanIoni Bowcher NEGOTIATION
Emily U FollerBrazilXuxue Feng NEW
Francesco L MaletRussiaIoni Bowcher PROPOSAL
Jennifer V ShinkoRussiaOnyama Limba NEW
Salvatore C FlosiItalyAnna Fali PROPOSAL
Clifford A FigeroaBrazilIoni Bowcher PROPOSAL
Aika P DilliardSpainBernardo Dominic NEGOTIATION
Aika E CampainJapanElwin Sharvill QUALIFIED
Ashley C RimItalyAmy Elsner UNQUALIFIED
James V OldroydItalyElwin Sharvill QUALIFIED
Silvio Z FigeroaJapanIoni Bowcher NEW
Clifford H MacleadUnited KingdomBernardo Dominic RENEWAL
Ricardo V GauchoIndiaIoni Bowcher NEGOTIATION
Maria G WhobreyCanadaBernardo Dominic PROPOSAL
Smith C GarufiItalyAsiya Javayant UNQUALIFIED
Isabel A MarrierAustraliaStephen Shaw QUALIFIED
Ivar C RutaRussiaBernardo Dominic UNQUALIFIED
Sinclair K MaletBrazilIvan Magalhaes UNQUALIFIED
Aditya H FollerIndiaAsiya Javayant PROPOSAL
Maria D KolmetzGermanyIoni Bowcher RENEWAL
Emily G FollerUnited KingdomAnna Fali NEGOTIATION
Munro F StensethFranceAmy Elsner QUALIFIED
Jones F SlusarskiArgentinaAmy Elsner NEGOTIATION
Kaitlin Z IturbideItalyStephen Shaw NEGOTIATION
Silvio N PoquetteArgentinaXuxue Feng NEGOTIATION
Leon Z SergiSpainAnna Fali NEGOTIATION
Murillo R RoysterIndiaAsiya Javayant NEGOTIATION
Leon L RoysterItalyIvan Magalhaes UNQUALIFIED
Kadeem U KuskoJapanElwin Sharvill PROPOSAL
Johnson P PerinArgentinaAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Kaitlin Y KuskoIndiaStephen Shaw NEGOTIATION
Antonio B WhobreyArgentinaElwin Sharvill RENEWAL
Octavia T DilliardFranceAsiya Javayant NEGOTIATION
Ivar U SchemmerSpainAnna Fali NEW
Julie W DilliardItalyIvan Magalhaes NEGOTIATION
Arvin L RimUnited KingdomAmy Elsner QUALIFIED
Juan X StensethItalyAmy Elsner NEGOTIATION
Emily X KolmetzArgentinaAsiya Javayant PROPOSAL
Deepesh L StensethIndiaOnyama Limba NEGOTIATION
Stacey Y RulapaughIndiaIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika U RimJapan2024-06-03Feiner Bros RENEWAL89Ivan Magalhaes
1001Kadeem L CampainSpain2024-06-07Rangoni Of Florence UNQUALIFIED29Elwin Sharvill
1002Claire T OstroskyFrance2024-05-10Dorl, James J Esq NEW37Amy Elsner
1003Misaki D RulapaughBrazil2024-05-28Benton, John B Jr RENEWAL8Asiya Javayant
1004Ricardo C MorascaUnited Kingdom2024-05-24Morlong Associates RENEWAL90Ioni Bowcher
1005Faith I MaletArgentina2024-05-28Rousseaux, Michael Esq NEGOTIATION73Amy Elsner
1006Smith Y SchemmerCanada2024-05-18Chanay, Jeffrey A Esq NEGOTIATION54Bernardo Dominic
1007Silvio B DoeBrazil2024-06-05Printing Dimensions NEW28Bernardo Dominic
1008Darci D IturbideItaly2024-05-29Feiner Bros NEGOTIATION8Elwin Sharvill
1009Kadeem J SchemmerFrance2024-06-07Feiner Bros UNQUALIFIED35Onyama Limba
1010Octavia A MorascaSpain2024-05-12King, Christopher A Esq NEW80Bernardo Dominic
1011Stacey H MaletGermany2024-05-23Printing Dimensions NEW29Stephen Shaw
1012Jones F PerinCanada2024-05-09Chanay, Jeffrey A Esq QUALIFIED56Amy Elsner
1013Deepesh V StensethAustralia2024-05-30King, Christopher A Esq QUALIFIED75Bernardo Dominic
1014Clifford C ButtIndia2024-05-15Buckley Miller Wright UNQUALIFIED44Ioni Bowcher
1015Jeanfrancois K BowleyIndia2024-06-06Feiner Bros NEW25Xuxue Feng
1016Jennifer G FerenczJapan2024-05-24Printing Dimensions QUALIFIED1Ioni Bowcher
1017Cody K DarakjyIndia2024-05-29Truhlar And Truhlar Attys RENEWAL51Onyama Limba
1018Munro C TollnerFrance2024-05-14Truhlar And Truhlar Attys QUALIFIED4Bernardo Dominic
1019Emily F GarufiGermany2024-05-21Buckley Miller Wright NEGOTIATION23Ioni Bowcher
1020Morrow T FlosiItaly2024-05-28Dorl, James J Esq NEW33Bernardo Dominic
1021Stacey H OldroydItaly2024-05-30Commercial Press PROPOSAL69Amy Elsner
1022Isabel E ButtBrazil2024-06-06Feiner Bros QUALIFIED24Ioni Bowcher
1023Kadeem T OstroskyIndia2024-05-23Feltz Printing Service NEGOTIATION11Onyama Limba
1024Jones Y BologniaFrance2024-05-23Truhlar And Truhlar Attys PROPOSAL83Bernardo Dominic
1025Clifford E PerinGermany2024-05-12Dorl, James J Esq NEW73Bernardo Dominic
1026Smith J GarufiIndia2024-06-01King, Christopher A Esq QUALIFIED25Elwin Sharvill
1027Sinclair T MaletFrance2024-06-04Truhlar And Truhlar Attys QUALIFIED91Elwin Sharvill
1028Adams R CampainAustralia2024-06-03Chapman, Ross E Esq NEW54Anna Fali
1029Aditya H RoysterJapan2024-06-06Chemel, James L Cpa UNQUALIFIED74Anna Fali
1030Isabel R DarakjyItaly2024-05-31Printing Dimensions QUALIFIED53Ioni Bowcher
1031Adams S PoquetteGermany2024-06-06Feiner Bros QUALIFIED6Stephen Shaw
1032Emily L SergiArgentina2024-05-17Feiner Bros PROPOSAL59Asiya Javayant
1033Jones H OldroydAustralia2024-05-31King, Christopher A Esq NEGOTIATION92Ioni Bowcher
1034Stacey W AlbaresFrance2024-05-12Printing Dimensions QUALIFIED86Onyama Limba
1035Octavia Y MaletBrazil2024-05-25Chapman, Ross E Esq UNQUALIFIED36Amy Elsner
1036Leja W MaletGermany2024-05-21King, Christopher A Esq UNQUALIFIED84Bernardo Dominic
1037Morrow T MorascaSpain2024-05-17Printing Dimensions NEGOTIATION70Anna Fali
1038Izzy F FigeroaFrance2024-06-04Benton, John B Jr NEW64Asiya Javayant
1039Misaki P MarrierAustralia2024-05-21Truhlar And Truhlar Attys NEGOTIATION85Asiya Javayant
1040Jeanfrancois D GlickArgentina2024-05-23Printing Dimensions NEW34Anna Fali
1041Leja L AlbaresFrance2024-05-20Chanay, Jeffrey A Esq PROPOSAL24Anna Fali
1042Alejandro U SergiJapan2024-06-02Rousseaux, Michael Esq PROPOSAL85Anna Fali
1043Aika D MarrierGermany2024-05-10Commercial Press RENEWAL7Ioni Bowcher
1044Kadeem R NestleFrance2024-05-16Chemel, James L Cpa PROPOSAL11Onyama Limba
1045Tony C BowleyFrance2024-05-12Commercial Press UNQUALIFIED12Asiya Javayant
1046Maisha A RimBrazil2024-06-05Chanay, Jeffrey A Esq QUALIFIED58Stephen Shaw
1047Jeanfrancois M CaldareraUnited Kingdom2024-05-31Dorl, James J Esq PROPOSAL54Asiya Javayant
1048Jeanfrancois F GillianIndia2024-05-20Rangoni Of Florence QUALIFIED99Asiya Javayant
1049James V KuskoItaly2024-05-17Chapman, Ross E Esq PROPOSAL87Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Leja F DoeBrazilStephen Shaw NEGOTIATION
Tony Y ShinkoUnited KingdomIvan Magalhaes PROPOSAL
Mujtaba E OldroydSpainElwin Sharvill NEGOTIATION
Ricardo G RimJapanAmy Elsner UNQUALIFIED
Juan O InouyeItalyElwin Sharvill RENEWAL
Nicolas F FigeroaJapanXuxue Feng NEW
Johnson C CampainAustraliaBernardo Dominic RENEWAL
Isabel F KuskoGermanyXuxue Feng RENEWAL
Octavia V SergiRussiaElwin Sharvill NEW
Jeanfrancois R PoquetteItalyStephen Shaw NEW
Clifford B StensethSpainAmy Elsner RENEWAL
Juan L WaycottBrazilIvan Magalhaes QUALIFIED
Cody W MacleadItalyStephen Shaw NEW
Emily C RimIndiaOnyama Limba NEW
Claire I PoquetteAustraliaAmy Elsner NEW
Jones Z RoysterFranceBernardo Dominic NEGOTIATION
Cody Q GillianRussiaAsiya Javayant UNQUALIFIED
Murillo P BowleyAustraliaAsiya Javayant UNQUALIFIED
Octavia Z ChuiUnited KingdomBernardo Dominic PROPOSAL
Emily A OstroskyRussiaBernardo Dominic UNQUALIFIED
Ashley P KuskoFranceAmy Elsner UNQUALIFIED
Antonio T WhobreySpainBernardo Dominic PROPOSAL
Jennifer M BowleyBrazilElwin Sharvill RENEWAL
Clifford N RoysterBrazilElwin Sharvill PROPOSAL
Ivar I BriddickRussiaAmy Elsner NEW
Jennifer F NestleIndiaStephen Shaw NEGOTIATION
Arvin B SaylorsSpainIoni Bowcher NEW
Arvin Y DarakjySpainIoni Bowcher UNQUALIFIED
Tony Q DarakjyItalyIoni Bowcher NEGOTIATION
Nicolas A PoquetteBrazilAmy Elsner PROPOSAL
Faith T PoquetteRussiaIoni Bowcher NEW
James V RulapaughArgentinaBernardo Dominic NEW
Deepesh B GarufiGermanyIoni Bowcher QUALIFIED
Aika X NickaJapanAmy Elsner QUALIFIED
Misaki P SchemmerIndiaAnna Fali NEGOTIATION
Deepesh U ChuiFranceXuxue Feng QUALIFIED
David Y ButtFranceStephen Shaw QUALIFIED
Maisha E IturbideUnited KingdomAmy Elsner RENEWAL
Salvatore P StockhamIndiaIvan Magalhaes NEGOTIATION
Clifford R SlusarskiArgentinaBernardo Dominic NEGOTIATION
Francesco A FigeroaRussiaAsiya Javayant NEW
Chavez B FerenczRussiaXuxue Feng UNQUALIFIED
Mujtaba X SergiJapanBernardo Dominic PROPOSAL
Ivar S ButtItalyOnyama Limba RENEWAL
Jones C MacleadSpainAmy Elsner PROPOSAL
Maisha K VenereUnited KingdomXuxue Feng RENEWAL
Silvio C AmigonSpainElwin Sharvill NEGOTIATION
Arvin D RoysterAustraliaStephen Shaw PROPOSAL
Jennifer W RoysterArgentinaIvan Magalhaes NEGOTIATION
Octavia O FollerItalyBernardo Dominic NEW
Frozen Columns
Name
Adams S Glick
Stacey B Figeroa
Leja C Vocelka
Salvatore D Gillian
Maria R Gillian
Julie C Royster
Jefferson C Ostrosky
Francesco R Campain
Rodrigues N Nicka
Izzy W Schemmer
Ricardo S Chui
Smith A Glick
Izzy I Kolmetz
Tony N Morasca
Kaitlin G Ruta
Clifford X Tollner
Chavez Q Campain
Antonio O Amigon
Wickens D Caudy
Nicolas J Rim
Leon N Oldroyd
Clifford C Rim
Murillo B Kolmetz
Stacey K Campain
Kadeem W Caldarera
Deepesh R Nestle
Salvatore X Iturbide
Ashley Z Morasca
Wickens E Inouye
James P Stenseth
Aika F Venere
Nicolas S Briddick
Murillo V Figeroa
Costa J Amigon
Ivar T Garufi
Kaitlin C Malet
Morrow Z Shinko
Chavez L Inouye
Munro O Nestle
Kadeem W Ostrosky
Maisha X Nestle
Izzy I Caudy
Johnson W Waycott
Aruna T Glick
Morrow C Butt
Chavez T Garufi
Silvio J Sergi
Jefferson V Poquette
Cody Z Caldarera
Ivar B Chui
IdCountryDate
1000Germany2024-05-26
1001Japan2024-05-30
1002Brazil2024-05-23
1003Germany2024-05-12
1004Italy2024-05-27
1005Russia2024-05-12
1006Argentina2024-05-14
1007Australia2024-05-17
1008Spain2024-05-17
1009Brazil2024-06-02
1010Australia2024-05-18
1011Germany2024-05-13
1012Argentina2024-05-18
1013India2024-05-24
1014Canada2024-05-29
1015Japan2024-05-14
1016Germany2024-06-07
1017Italy2024-05-18
1018Canada2024-05-28
1019Brazil2024-05-21
1020Germany2024-06-05
1021United Kingdom2024-05-21
1022Australia2024-05-10
1023Italy2024-05-10
1024Spain2024-05-23
1025Argentina2024-06-05
1026Argentina2024-05-11
1027Germany2024-06-07
1028Spain2024-05-30
1029United Kingdom2024-05-13
1030United Kingdom2024-06-01
1031Brazil2024-05-18
1032Argentina2024-05-12
1033Japan2024-05-25
1034India2024-06-07
1035United Kingdom2024-05-10
1036Brazil2024-06-02
1037France2024-06-05
1038Germany2024-05-19
1039Canada2024-05-17
1040Spain2024-06-02
1041Brazil2024-06-07
1042Brazil2024-06-02
1043France2024-06-01
1044Argentina2024-05-10
1045Spain2024-05-27
1046Germany2024-06-01
1047Brazil2024-05-29
1048Japan2024-06-04
1049Brazil2024-06-01

On-Demand Data

NameIdCountryDate
Mayumi U Chui1000Germany2024-05-24
Mayumi P Glick1001United Kingdom2024-05-14
Arvin K Bowley1002Germany2024-06-01
Costa H Darakjy1003Brazil2024-05-24
Faith H Wieser1004India2024-05-30
Ivar C Vocelka1005Australia2024-05-20
Emily J Foller1006Italy2024-05-18
Aditya U Campain1007United Kingdom2024-05-12
Juan C Caudy1008Brazil2024-06-05
Faith V Sergi1009Italy2024-05-25
Smith T Caldarera1010United Kingdom2024-05-23
Cody C Darakjy1011Australia2024-05-26
Salvatore W Gaucho1012Japan2024-05-31
Jones Y Stockham1013India2024-05-28
Jefferson Z Dilliard1014Germany2024-05-17
Sinclair T Rulapaugh1015Japan2024-05-13
Johnson D Marrier1016Japan2024-05-11
Smith T Stenseth1017Germany2024-05-21
Kadeem H Gillian1018Italy2024-05-19
Octavia U Schemmer1019Russia2024-05-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie O NickaGermanyIoni Bowcher QUALIFIED
Alejandro G RulapaughUnited KingdomAmy Elsner PROPOSAL
Morrow J MorascaIndiaBernardo Dominic PROPOSAL
Emily Z VocelkaGermanyOnyama Limba UNQUALIFIED
Julie U VocelkaIndiaAmy Elsner PROPOSAL
Nicolas Q ShinkoCanadaIoni Bowcher UNQUALIFIED
Smith B BriddickRussiaBernardo Dominic NEW
Faith M MacleadJapanBernardo Dominic NEGOTIATION
Clifford I GillianIndiaOnyama Limba NEGOTIATION
Aditya J MacleadUnited KingdomBernardo Dominic QUALIFIED
Emily E BologniaAustraliaStephen Shaw QUALIFIED
Sinclair K WieserFranceAmy Elsner PROPOSAL
Julie Y CampainJapanIvan Magalhaes NEGOTIATION
Sinclair N GauchoGermanyOnyama Limba UNQUALIFIED
Kaitlin J OldroydUnited KingdomAmy Elsner NEGOTIATION
Leja J TollnerRussiaBernardo Dominic PROPOSAL
Jennifer E GauchoJapanAnna Fali PROPOSAL
Johnson O FollerArgentinaXuxue Feng NEW
Aika W SchemmerGermanyAsiya Javayant RENEWAL
Munro Y NestleUnited KingdomIvan Magalhaes NEW
Arvin M BologniaJapanAnna Fali PROPOSAL
Smith Z IturbideBrazilElwin Sharvill UNQUALIFIED
Mayumi T FollerBrazilStephen Shaw UNQUALIFIED
Mayumi U GarufiArgentinaIoni Bowcher PROPOSAL
Leja Z TollnerCanadaElwin Sharvill QUALIFIED
Greenwood X SchemmerFranceAmy Elsner RENEWAL
Francesco J CaldareraCanadaBernardo Dominic NEW
Jennifer Y OldroydAustraliaOnyama Limba QUALIFIED
David I MarrierArgentinaXuxue Feng NEW
Leon V GillianArgentinaIvan Magalhaes UNQUALIFIED
Deepesh W TollnerArgentinaIvan Magalhaes PROPOSAL
Octavia I KuskoFranceStephen Shaw PROPOSAL
Costa A SchemmerAustraliaAmy Elsner NEGOTIATION
Julie N InouyeBrazilAsiya Javayant PROPOSAL
Sinclair P SergiRussiaBernardo Dominic UNQUALIFIED
Johnson M MaletFranceXuxue Feng QUALIFIED
Deepesh O KuskoGermanyAnna Fali RENEWAL
Jennifer S NestleCanadaAmy Elsner NEW
Jeanfrancois D RulapaughSpainBernardo Dominic NEW
Leja Q DarakjyRussiaStephen Shaw PROPOSAL

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