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
Johnson C FigeroaJapanAnna Fali RENEWAL
Emily R MaletBrazilStephen Shaw PROPOSAL
Rodrigues P MaletUnited KingdomAsiya Javayant RENEWAL
Johnson E RoysterRussiaAsiya Javayant NEW
Jefferson Y RutaSpainAnna Fali NEGOTIATION
Leon Q PoquetteGermanyIoni Bowcher UNQUALIFIED
Costa I PaprockiBrazilElwin Sharvill UNQUALIFIED
Kadeem E StensethUnited KingdomAsiya Javayant RENEWAL
Antonio E InouyeUnited KingdomOnyama Limba UNQUALIFIED
Chavez T GarufiSpainXuxue Feng NEGOTIATION
Arvin M AlbaresJapanOnyama Limba RENEWAL
Clifford Z FollerItalyAnna Fali NEGOTIATION
Izzy G SaylorsFranceAnna Fali QUALIFIED
Clifford A BowleyFranceIoni Bowcher QUALIFIED
Johnson B KuskoRussiaOnyama Limba PROPOSAL
Mayumi V AmigonArgentinaXuxue Feng NEGOTIATION
James G StensethRussiaXuxue Feng NEGOTIATION
Alejandro A NickaIndiaAnna Fali NEW
Jennifer E SaylorsUnited KingdomIvan Magalhaes NEW
Greenwood J CaudyItalyBernardo Dominic NEW
Maisha Q PaprockiRussiaAsiya Javayant NEGOTIATION
Arvin U PerinFranceAsiya Javayant PROPOSAL
David Y WhobreyAustraliaAnna Fali QUALIFIED
Smith K InouyeIndiaAsiya Javayant PROPOSAL
Adams X NickaAustraliaOnyama Limba UNQUALIFIED
Octavia H AlbaresUnited KingdomAmy Elsner QUALIFIED
Jefferson K MaletItalyXuxue Feng RENEWAL
Stacey B ChuiJapanAsiya Javayant NEGOTIATION
Wickens K FerenczCanadaIvan Magalhaes NEW
Cody V DilliardArgentinaAmy Elsner RENEWAL
Leja X BriddickSpainStephen Shaw NEW
Arvin N OldroydCanadaBernardo Dominic NEW
Sinclair X BologniaSpainBernardo Dominic RENEWAL
Ivar K FollerAustraliaOnyama Limba UNQUALIFIED
Jeanfrancois G WieserCanadaOnyama Limba PROPOSAL
Munro G MaletSpainXuxue Feng UNQUALIFIED
Isabel W GillianGermanyOnyama Limba NEGOTIATION
Claire M NestleRussiaIvan Magalhaes NEGOTIATION
Murillo S RutaAustraliaElwin Sharvill PROPOSAL
Deepesh J FlosiSpainAnna Fali NEW
Adams I VenereJapanIvan Magalhaes UNQUALIFIED
Faith V OstroskyRussiaAnna Fali UNQUALIFIED
Stacey O FollerCanadaOnyama Limba RENEWAL
Tony O CaudyItalyIoni Bowcher UNQUALIFIED
Jeanfrancois N RulapaughCanadaAmy Elsner QUALIFIED
Murillo F MaletAustraliaAmy Elsner NEGOTIATION
Aditya K CaldareraRussiaElwin Sharvill PROPOSAL
Ivar X DilliardBrazilAnna Fali NEW
Octavia Q PerinBrazilAnna Fali UNQUALIFIED
Alejandro T BriddickItalyAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Smith D AmigonSpainOnyama Limba NEW
Jennifer N PoquetteArgentinaElwin Sharvill QUALIFIED
Cody C WaycottIndiaElwin Sharvill RENEWAL
Emily E MarrierAustraliaElwin Sharvill NEW
Izzy P VenereAustraliaOnyama Limba PROPOSAL
James Y GauchoFranceIoni Bowcher UNQUALIFIED
Ivar I VenereArgentinaIvan Magalhaes UNQUALIFIED
Faith O FollerArgentinaAmy Elsner NEGOTIATION
Leja M GlickRussiaAsiya Javayant NEW
Wickens M MaletSpainStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco P PaprockiSpain2024-06-13Benton, John B Jr NEW8Ivan Magalhaes
1001Leon J SlusarskiArgentina2024-06-12Printing Dimensions NEW81Bernardo Dominic
1002Aditya M StensethArgentina2024-06-16Printing Dimensions RENEWAL19Onyama Limba
1003Leon U MorascaCanada2024-05-24Buckley Miller Wright UNQUALIFIED90Anna Fali
1004Ivar L ChuiIndia2024-05-30Rousseaux, Michael Esq RENEWAL47Ioni Bowcher
1005Jefferson G DilliardAustralia2024-06-21Buckley Miller Wright NEGOTIATION72Stephen Shaw
1006James N PerinFrance2024-06-21Truhlar And Truhlar Attys RENEWAL84Bernardo Dominic
1007Isabel P FigeroaArgentina2024-05-27Chemel, James L Cpa PROPOSAL8Elwin Sharvill
1008Ashley Z MorascaCanada2024-06-20Printing Dimensions PROPOSAL40Ioni Bowcher
1009Cody W KuskoArgentina2024-06-18Chemel, James L Cpa QUALIFIED46Amy Elsner
1010Ashley I PoquetteSpain2024-06-16Chapman, Ross E Esq PROPOSAL22Amy Elsner
1011Jeanfrancois L StockhamIndia2024-05-28Buckley Miller Wright UNQUALIFIED9Ioni Bowcher
1012Adams E ButtSpain2024-06-09Printing Dimensions UNQUALIFIED67Amy Elsner
1013Emily A SlusarskiJapan2024-06-15Commercial Press NEW29Bernardo Dominic
1014Sinclair B NickaCanada2024-06-07Chemel, James L Cpa NEGOTIATION24Amy Elsner
1015Darci L CaudyUnited Kingdom2024-06-14Chemel, James L Cpa NEW27Elwin Sharvill
1016Aruna I DarakjyCanada2024-06-02King, Christopher A Esq NEGOTIATION45Ioni Bowcher
1017Emily E BologniaSpain2024-06-18Chapman, Ross E Esq UNQUALIFIED88Amy Elsner
1018Ricardo C CampainArgentina2024-06-13Chapman, Ross E Esq UNQUALIFIED45Amy Elsner
1019Darci V DarakjySpain2024-06-13Buckley Miller Wright UNQUALIFIED82Ioni Bowcher
1020Wickens J ButtUnited Kingdom2024-06-02Chanay, Jeffrey A Esq PROPOSAL11Stephen Shaw
1021Stacey D NickaIndia2024-06-14Feiner Bros QUALIFIED22Anna Fali
1022Morrow C MarrierUnited Kingdom2024-06-19Benton, John B Jr NEW89Asiya Javayant
1023Stacey B MaletSpain2024-06-08Benton, John B Jr NEW82Anna Fali
1024Julie I GillianArgentina2024-06-08Chapman, Ross E Esq NEGOTIATION13Onyama Limba
1025Faith M DarakjyFrance2024-05-24Commercial Press PROPOSAL19Amy Elsner
1026Aruna U GlickBrazil2024-05-24King, Christopher A Esq NEGOTIATION75Anna Fali
1027Maisha I WhobreyJapan2024-06-11Dorl, James J Esq UNQUALIFIED40Xuxue Feng
1028Claire N ShinkoIndia2024-06-15Chanay, Jeffrey A Esq NEW42Asiya Javayant
1029Darci Y MaletFrance2024-06-20Rangoni Of Florence NEW65Xuxue Feng
1030Chavez G RulapaughIndia2024-06-18Chapman, Ross E Esq UNQUALIFIED1Ioni Bowcher
1031Ricardo W IturbideAustralia2024-06-18Dorl, James J Esq QUALIFIED71Bernardo Dominic
1032Kadeem P SlusarskiFrance2024-06-21Buckley Miller Wright QUALIFIED92Ioni Bowcher
1033Clifford P PaprockiFrance2024-05-31Feltz Printing Service PROPOSAL50Ivan Magalhaes
1034Aika V FollerCanada2024-05-27Chemel, James L Cpa PROPOSAL91Elwin Sharvill
1035Aditya X FigeroaRussia2024-06-20Morlong Associates NEW41Anna Fali
1036Ivar B SergiJapan2024-06-17Feiner Bros NEGOTIATION98Ioni Bowcher
1037Jennifer A DarakjyCanada2024-06-16Feiner Bros NEW73Elwin Sharvill
1038Mayumi N RimUnited Kingdom2024-06-08Chapman, Ross E Esq UNQUALIFIED98Stephen Shaw
1039Maisha F AmigonIndia2024-06-10Chemel, James L Cpa NEGOTIATION11Stephen Shaw
1040Maisha A FerenczJapan2024-06-07Commercial Press NEW69Asiya Javayant
1041Darci J VenereBrazil2024-06-11Chemel, James L Cpa UNQUALIFIED29Asiya Javayant
1042Cody J SergiSpain2024-06-15Chapman, Ross E Esq UNQUALIFIED66Elwin Sharvill
1043Mujtaba B MarrierItaly2024-06-01Feltz Printing Service UNQUALIFIED1Bernardo Dominic
1044Darci O SaylorsRussia2024-06-17Truhlar And Truhlar Attys PROPOSAL97Elwin Sharvill
1045David B AmigonArgentina2024-06-13Benton, John B Jr QUALIFIED66Onyama Limba
1046Sinclair H CaudyFrance2024-06-17Chanay, Jeffrey A Esq PROPOSAL9Asiya Javayant
1047Jones J IturbideArgentina2024-05-23Morlong Associates PROPOSAL36Anna Fali
1048Mujtaba N OstroskyJapan2024-06-04Commercial Press UNQUALIFIED81Ioni Bowcher
1049Kadeem Q InouyeAustralia2024-05-26Morlong Associates QUALIFIED36Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Aruna N FerenczJapanXuxue Feng RENEWAL
Nicolas W StensethSpainIvan Magalhaes PROPOSAL
Ashley I GillianUnited KingdomAsiya Javayant NEW
Isabel Y VenereBrazilAsiya Javayant RENEWAL
Misaki N SergiUnited KingdomIvan Magalhaes UNQUALIFIED
Kaitlin C SergiAustraliaAmy Elsner NEGOTIATION
Ashley B ShinkoBrazilBernardo Dominic NEGOTIATION
Darci L GauchoArgentinaIoni Bowcher PROPOSAL
Alejandro M AlbaresJapanAmy Elsner NEW
Misaki T StockhamJapanAnna Fali PROPOSAL
Claire R MacleadArgentinaXuxue Feng PROPOSAL
Clifford U InouyeJapanIoni Bowcher NEW
Silvio O FollerUnited KingdomStephen Shaw UNQUALIFIED
Jones J GlickSpainAnna Fali NEGOTIATION
Leja F GillianSpainBernardo Dominic PROPOSAL
James W SergiAustraliaIoni Bowcher PROPOSAL
Rodrigues N OstroskyUnited KingdomAnna Fali NEW
Greenwood F VenereBrazilIvan Magalhaes UNQUALIFIED
Juan B VenereFranceIvan Magalhaes NEGOTIATION
Smith J SaylorsIndiaOnyama Limba UNQUALIFIED
Izzy E InouyeArgentinaAnna Fali NEGOTIATION
Ashley B MacleadFranceIoni Bowcher QUALIFIED
Stacey M BriddickUnited KingdomBernardo Dominic QUALIFIED
Chavez U StensethRussiaBernardo Dominic RENEWAL
Mujtaba S MaletAustraliaXuxue Feng UNQUALIFIED
Stacey S GillianSpainBernardo Dominic NEGOTIATION
Julie B MacleadIndiaAsiya Javayant RENEWAL
Rodrigues Q MaletCanadaBernardo Dominic NEGOTIATION
Ricardo A ShinkoJapanIoni Bowcher NEW
Sinclair D BologniaIndiaIvan Magalhaes NEW
Ashley L RutaUnited KingdomIoni Bowcher RENEWAL
Darci A OstroskyRussiaIoni Bowcher NEW
Silvio S SaylorsBrazilElwin Sharvill PROPOSAL
Ricardo O KuskoArgentinaBernardo Dominic NEW
Antonio P PoquetteRussiaAnna Fali RENEWAL
James B GlickUnited KingdomElwin Sharvill PROPOSAL
Rodrigues I PerinItalyAnna Fali NEGOTIATION
Chavez R CampainCanadaOnyama Limba RENEWAL
Maria T SlusarskiSpainElwin Sharvill UNQUALIFIED
Murillo N WieserRussiaStephen Shaw QUALIFIED
Julie D SaylorsAustraliaOnyama Limba PROPOSAL
Octavia G VocelkaBrazilXuxue Feng PROPOSAL
Leja I FerenczFranceStephen Shaw PROPOSAL
Ivar A MorascaItalyBernardo Dominic PROPOSAL
Chavez Y RoysterBrazilOnyama Limba NEW
Aika U GarufiUnited KingdomAmy Elsner NEW
Chavez B InouyeArgentinaAmy Elsner NEGOTIATION
Ricardo T ChuiJapanAnna Fali NEW
Jefferson T CaldareraUnited KingdomAmy Elsner UNQUALIFIED
Costa A InouyeGermanyXuxue Feng NEGOTIATION
Frozen Columns
Name
Morrow Q Venere
David A Flosi
Sinclair J Stenseth
Rodrigues X Dilliard
Cody U Dilliard
Octavia V Stenseth
Aditya M Butt
Mayumi G Albares
Wickens Z Gaucho
Mujtaba Z Gaucho
Leon Z Ferencz
Antonio L Morasca
Leja T Oldroyd
Tony U Maclead
Sinclair D Nestle
Mujtaba R Waycott
Kadeem S Gillian
Silvio C Doe
Silvio Y Kusko
Ricardo F Campain
Clifford L Ostrosky
Claire M Gillian
Deepesh R Caudy
Leon W Morasca
Juan T Inouye
Aika X Morasca
Mujtaba C Inouye
Octavia U Nicka
Murillo P Foller
Isabel T Rim
Ricardo L Albares
Mujtaba P Shinko
Claire C Albares
Smith Q Saylors
Izzy O Vocelka
Deepesh P Malet
Juan P Saylors
Tony Z Royster
Aruna F Rim
Jennifer G Chui
Jennifer Z Perin
Misaki J Kusko
Murillo H Albares
Antonio E Ruta
Salvatore E Vocelka
Maria H Foller
Munro L Rulapaugh
Aika X Albares
Cody Y Sergi
Chavez I Foller
IdCountryDate
1000Germany2024-05-24
1001Spain2024-06-05
1002Spain2024-06-04
1003Canada2024-06-10
1004Spain2024-06-09
1005Spain2024-05-30
1006France2024-06-06
1007Germany2024-06-15
1008Italy2024-06-14
1009United Kingdom2024-06-11
1010Italy2024-06-21
1011India2024-06-13
1012United Kingdom2024-06-21
1013Spain2024-05-29
1014Brazil2024-05-31
1015Spain2024-06-16
1016Argentina2024-05-25
1017Australia2024-06-15
1018Argentina2024-06-07
1019Australia2024-05-31
1020Russia2024-06-19
1021Spain2024-06-01
1022Japan2024-05-30
1023Argentina2024-06-15
1024Germany2024-05-31
1025Brazil2024-06-13
1026Australia2024-06-15
1027Canada2024-06-21
1028Argentina2024-05-26
1029Brazil2024-06-04
1030Spain2024-05-26
1031India2024-06-20
1032Brazil2024-06-17
1033France2024-06-19
1034Brazil2024-06-21
1035Germany2024-06-21
1036France2024-06-14
1037Russia2024-05-31
1038Australia2024-05-23
1039Italy2024-05-25
1040Japan2024-06-16
1041Australia2024-06-07
1042Russia2024-06-03
1043Argentina2024-06-10
1044Russia2024-06-01
1045India2024-06-02
1046Russia2024-05-27
1047Brazil2024-05-31
1048Spain2024-06-15
1049Argentina2024-05-27

On-Demand Data

NameIdCountryDate
Misaki N Morasca1000Brazil2024-06-01
Francesco T Glick1001Russia2024-06-08
Juan F Slusarski1002Argentina2024-06-15
David E Caudy1003Australia2024-06-19
Rodrigues L Rim1004Spain2024-06-01
Juan N Foller1005Canada2024-06-13
Kadeem Z Stenseth1006Canada2024-05-28
Arvin T Vocelka1007Canada2024-05-27
James O Bolognia1008Brazil2024-06-16
Octavia J Albares1009Argentina2024-06-05
Smith U Chui1010Brazil2024-06-16
Emily I Caudy1011Spain2024-05-27
Mayumi S Bowley1012Germany2024-06-11
Octavia N Garufi1013Russia2024-06-15
Mayumi G Rim1014Japan2024-06-17
Rodrigues E Whobrey1015Italy2024-06-20
Chavez D Kusko1016Canada2024-05-26
Munro N Darakjy1017Spain2024-06-18
Jefferson W Wieser1018Russia2024-05-24
Chavez F Wieser1019India2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones H NickaUnited KingdomBernardo Dominic QUALIFIED
David O BriddickRussiaElwin Sharvill PROPOSAL
Chavez U DarakjyFranceIvan Magalhaes NEW
Leon X NestleSpainAnna Fali QUALIFIED
Mujtaba T BriddickGermanyAsiya Javayant NEW
Isabel B DarakjyGermanyXuxue Feng PROPOSAL
Maria R OstroskyUnited KingdomBernardo Dominic NEGOTIATION
Faith Y MorascaBrazilXuxue Feng RENEWAL
Emily F NickaJapanIoni Bowcher NEW
Sinclair M SergiRussiaAmy Elsner QUALIFIED
Adams S StensethGermanyOnyama Limba QUALIFIED
Claire D SergiItalyIoni Bowcher QUALIFIED
Morrow J MorascaAustraliaIoni Bowcher QUALIFIED
Chavez N CaldareraArgentinaAsiya Javayant UNQUALIFIED
Alejandro H TollnerAustraliaAnna Fali NEGOTIATION
Tony H RoysterJapanOnyama Limba RENEWAL
Jefferson K RimItalyStephen Shaw NEW
Ivar A MaletBrazilAnna Fali UNQUALIFIED
Smith R NickaSpainOnyama Limba NEGOTIATION
Francesco N MaletUnited KingdomAsiya Javayant NEGOTIATION
Francesco T GlickItalyAnna Fali RENEWAL
Misaki R DarakjyGermanyAsiya Javayant UNQUALIFIED
James W SchemmerItalyXuxue Feng NEW
Silvio E GlickSpainAmy Elsner NEGOTIATION
Smith H PaprockiAustraliaOnyama Limba NEW
Greenwood C PerinBrazilIvan Magalhaes PROPOSAL
Jeanfrancois U FigeroaJapanAnna Fali QUALIFIED
Morrow Y RulapaughCanadaElwin Sharvill UNQUALIFIED
Tony O DarakjyCanadaElwin Sharvill NEW
Johnson A VenereSpainAmy Elsner NEGOTIATION
Darci R SaylorsSpainAmy Elsner NEW
Morrow U BriddickIndiaAmy Elsner QUALIFIED
Misaki U GillianSpainIoni Bowcher QUALIFIED
Maria T RimJapanAnna Fali PROPOSAL
Maria G SaylorsRussiaOnyama Limba RENEWAL
Rodrigues D SlusarskiGermanyStephen Shaw RENEWAL
Sinclair I BologniaArgentinaAmy Elsner NEGOTIATION
Ashley K GillianGermanyAnna Fali QUALIFIED
Chavez C BologniaGermanyBernardo Dominic RENEWAL
Nicolas H OldroydSpainOnyama Limba 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>