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
Juan M RulapaughCanadaIoni Bowcher NEW
Smith O ShinkoItalyAnna Fali QUALIFIED
Claire Y ChuiSpainIoni Bowcher QUALIFIED
Munro D StensethUnited KingdomAmy Elsner NEGOTIATION
Juan A ButtIndiaAnna Fali UNQUALIFIED
Wickens Z MaletRussiaOnyama Limba NEW
Kaitlin W MarrierItalyXuxue Feng RENEWAL
Rodrigues G RulapaughGermanyIvan Magalhaes QUALIFIED
Francesco W OstroskyJapanXuxue Feng QUALIFIED
Aditya K KuskoIndiaAmy Elsner NEGOTIATION
Chavez S OstroskyGermanyBernardo Dominic QUALIFIED
Darci H InouyeFranceIvan Magalhaes UNQUALIFIED
Maria K MaletArgentinaIvan Magalhaes QUALIFIED
David R FollerCanadaOnyama Limba UNQUALIFIED
Francesco K KuskoGermanyOnyama Limba PROPOSAL
Rodrigues W InouyeJapanXuxue Feng NEW
Wickens C SaylorsBrazilElwin Sharvill UNQUALIFIED
Greenwood B VocelkaCanadaAmy Elsner NEW
Juan F MaletIndiaAsiya Javayant NEW
Mujtaba R MacleadAustraliaBernardo Dominic RENEWAL
Francesco V GarufiItalyXuxue Feng RENEWAL
James Z MarrierFranceAsiya Javayant NEGOTIATION
Misaki F RoysterItalyAnna Fali QUALIFIED
Isabel Z MaletUnited KingdomElwin Sharvill NEGOTIATION
Salvatore F IturbideUnited KingdomAsiya Javayant NEW
Chavez G VenereRussiaAmy Elsner QUALIFIED
James Y SergiRussiaBernardo Dominic PROPOSAL
Adams S ChuiGermanyStephen Shaw UNQUALIFIED
Costa F FigeroaArgentinaIoni Bowcher RENEWAL
Claire M ButtFranceIoni Bowcher UNQUALIFIED
Leja S WhobreyFranceElwin Sharvill NEGOTIATION
Jeanfrancois I GlickBrazilIvan Magalhaes PROPOSAL
Juan V AlbaresItalyIoni Bowcher QUALIFIED
Aika U MacleadRussiaOnyama Limba UNQUALIFIED
Salvatore I SaylorsIndiaAmy Elsner NEW
Francesco B MarrierCanadaAsiya Javayant NEW
Morrow O MaletAustraliaBernardo Dominic RENEWAL
Aditya J MacleadCanadaBernardo Dominic UNQUALIFIED
Smith M AlbaresCanadaAsiya Javayant NEW
Sinclair V WieserUnited KingdomStephen Shaw UNQUALIFIED
Murillo D MacleadJapanOnyama Limba QUALIFIED
Clifford J SaylorsUnited KingdomStephen Shaw NEGOTIATION
Aika B PaprockiIndiaIvan Magalhaes PROPOSAL
Tony B RoysterFranceAnna Fali UNQUALIFIED
Stacey G ShinkoJapanIoni Bowcher NEGOTIATION
Stacey V WieserIndiaAsiya Javayant UNQUALIFIED
Kaitlin K MaletIndiaAmy Elsner NEW
Wickens O AmigonItalyAnna Fali RENEWAL
Jefferson L RutaJapanAnna Fali RENEWAL
Mayumi S CaudyCanadaAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Emily W KuskoRussiaIvan Magalhaes QUALIFIED
Leja N StockhamAustraliaIoni Bowcher RENEWAL
Chavez Q IturbideFranceIoni Bowcher PROPOSAL
Aika V MacleadAustraliaBernardo Dominic QUALIFIED
Isabel P ShinkoItalyIoni Bowcher NEW
Mayumi B DarakjyUnited KingdomIoni Bowcher PROPOSAL
Emily B FollerFranceIvan Magalhaes PROPOSAL
Smith S GauchoCanadaIvan Magalhaes NEGOTIATION
Leon D MaletIndiaAmy Elsner RENEWAL
Octavia L SchemmerCanadaXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith U DilliardArgentina2024-08-29Rousseaux, Michael Esq RENEWAL32Elwin Sharvill
1001Misaki T PaprockiSpain2024-09-04Commercial Press PROPOSAL85Asiya Javayant
1002Emily B DilliardRussia2024-09-05Buckley Miller Wright RENEWAL42Asiya Javayant
1003Arvin A PoquetteUnited Kingdom2024-09-10Morlong Associates RENEWAL11Ivan Magalhaes
1004Mujtaba O SchemmerGermany2024-09-22King, Christopher A Esq RENEWAL47Anna Fali
1005Salvatore R RimRussia2024-08-29Dorl, James J Esq NEW69Xuxue Feng
1006Munro U VocelkaAustralia2024-09-18Chapman, Ross E Esq UNQUALIFIED70Asiya Javayant
1007Isabel J KolmetzCanada2024-09-26Rousseaux, Michael Esq NEW41Asiya Javayant
1008Arvin I DilliardCanada2024-09-07Feiner Bros QUALIFIED62Bernardo Dominic
1009David O OstroskyCanada2024-09-01Truhlar And Truhlar Attys PROPOSAL28Stephen Shaw
1010Nicolas F NickaFrance2024-09-15Printing Dimensions QUALIFIED60Amy Elsner
1011Aruna U MorascaItaly2024-09-25Dorl, James J Esq UNQUALIFIED9Elwin Sharvill
1012Jones P CaldareraFrance2024-09-02Morlong Associates UNQUALIFIED44Xuxue Feng
1013Tony U VocelkaGermany2024-09-02Commercial Press QUALIFIED96Bernardo Dominic
1014Juan X PerinSpain2024-09-20Rousseaux, Michael Esq QUALIFIED74Stephen Shaw
1015Morrow H PoquetteUnited Kingdom2024-09-09Chemel, James L Cpa QUALIFIED6Asiya Javayant
1016Maisha V TollnerItaly2024-09-26Rousseaux, Michael Esq PROPOSAL67Bernardo Dominic
1017Julie H AlbaresRussia2024-09-17Rangoni Of Florence QUALIFIED34Ioni Bowcher
1018Morrow K ShinkoGermany2024-09-13Chemel, James L Cpa NEW59Xuxue Feng
1019Alejandro G PaprockiBrazil2024-09-07Commercial Press NEGOTIATION80Amy Elsner
1020Leja T VocelkaSpain2024-08-31Chapman, Ross E Esq PROPOSAL62Elwin Sharvill
1021Francesco P PoquetteJapan2024-09-22Chemel, James L Cpa NEW40Amy Elsner
1022David I KolmetzAustralia2024-08-30Rousseaux, Michael Esq PROPOSAL62Bernardo Dominic
1023Cody L GarufiCanada2024-09-24Rousseaux, Michael Esq PROPOSAL7Ivan Magalhaes
1024Claire E OstroskyItaly2024-09-19Benton, John B Jr NEW40Ivan Magalhaes
1025Aditya M KuskoAustralia2024-09-23Feiner Bros PROPOSAL2Ivan Magalhaes
1026Izzy E GauchoJapan2024-09-24Rousseaux, Michael Esq NEW84Ioni Bowcher
1027Clifford W SaylorsGermany2024-08-28Truhlar And Truhlar Attys NEGOTIATION11Elwin Sharvill
1028Darci S GillianGermany2024-09-20Buckley Miller Wright PROPOSAL67Elwin Sharvill
1029Aika F InouyeGermany2024-09-21Feiner Bros QUALIFIED33Xuxue Feng
1030Ashley Z OstroskyJapan2024-09-05Feltz Printing Service PROPOSAL37Ivan Magalhaes
1031Tony G StensethSpain2024-09-11Morlong Associates RENEWAL19Ioni Bowcher
1032James Q MorascaFrance2024-09-10Chanay, Jeffrey A Esq RENEWAL11Asiya Javayant
1033Maria K ButtCanada2024-08-28Morlong Associates NEGOTIATION21Xuxue Feng
1034Greenwood K WieserUnited Kingdom2024-09-02Rangoni Of Florence QUALIFIED33Ivan Magalhaes
1035Salvatore X GillianIndia2024-08-28Chanay, Jeffrey A Esq RENEWAL24Onyama Limba
1036Aditya P MorascaGermany2024-08-30Chanay, Jeffrey A Esq NEW38Amy Elsner
1037Munro C DarakjyGermany2024-09-20Benton, John B Jr UNQUALIFIED96Asiya Javayant
1038Antonio V FlosiSpain2024-09-22Printing Dimensions NEGOTIATION22Amy Elsner
1039Emily V SergiGermany2024-09-06Benton, John B Jr QUALIFIED51Stephen Shaw
1040Ricardo N CampainAustralia2024-09-18King, Christopher A Esq NEGOTIATION9Xuxue Feng
1041Costa P WaycottGermany2024-09-02Feiner Bros NEGOTIATION57Stephen Shaw
1042Kadeem Z PerinRussia2024-09-16Benton, John B Jr RENEWAL26Bernardo Dominic
1043Chavez N TollnerSpain2024-09-26Printing Dimensions NEW20Anna Fali
1044Nicolas Y SaylorsSpain2024-09-22Chanay, Jeffrey A Esq NEW24Onyama Limba
1045Ashley E KolmetzItaly2024-09-20Dorl, James J Esq PROPOSAL90Onyama Limba
1046Kadeem O RutaUnited Kingdom2024-09-26Commercial Press NEW27Asiya Javayant
1047Julie Q KolmetzCanada2024-09-21Rangoni Of Florence NEW74Anna Fali
1048Sinclair Z CaudyCanada2024-09-14Buckley Miller Wright QUALIFIED18Ivan Magalhaes
1049Smith W VocelkaSpain2024-09-21Rangoni Of Florence UNQUALIFIED70Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Johnson F GlickCanadaAnna Fali UNQUALIFIED
Maria X ButtFranceXuxue Feng RENEWAL
Rodrigues E InouyeCanadaIoni Bowcher PROPOSAL
Claire M CampainItalyAnna Fali RENEWAL
Clifford V StockhamUnited KingdomXuxue Feng UNQUALIFIED
Smith F WieserIndiaBernardo Dominic QUALIFIED
Ivar R FlosiAustraliaAsiya Javayant UNQUALIFIED
Isabel D StensethSpainBernardo Dominic NEGOTIATION
Jennifer M DilliardItalyXuxue Feng NEW
Munro L VenereGermanyOnyama Limba UNQUALIFIED
Tony W WaycottBrazilAsiya Javayant QUALIFIED
Johnson Z StockhamSpainAsiya Javayant NEW
Wickens F ChuiAustraliaIoni Bowcher PROPOSAL
Aruna O FollerIndiaElwin Sharvill UNQUALIFIED
Aika M BriddickUnited KingdomAnna Fali RENEWAL
Arvin H FerenczSpainAsiya Javayant RENEWAL
Rodrigues Q KuskoFranceElwin Sharvill PROPOSAL
Aika A StockhamGermanyAnna Fali RENEWAL
Salvatore G GillianBrazilXuxue Feng NEW
Julie X ButtGermanyAmy Elsner QUALIFIED
Juan F ButtGermanyElwin Sharvill UNQUALIFIED
Emily B KolmetzRussiaXuxue Feng RENEWAL
Deepesh Y InouyeCanadaIoni Bowcher QUALIFIED
Costa L BowleyJapanAmy Elsner PROPOSAL
Jefferson J CaldareraBrazilAnna Fali NEGOTIATION
Greenwood X InouyeArgentinaElwin Sharvill PROPOSAL
Octavia K FollerItalyAnna Fali PROPOSAL
David L VocelkaCanadaIvan Magalhaes PROPOSAL
Wickens S WaycottItalyIoni Bowcher NEW
Johnson C DilliardFranceElwin Sharvill RENEWAL
Nicolas B VenereIndiaXuxue Feng PROPOSAL
Murillo B MaletIndiaElwin Sharvill UNQUALIFIED
Morrow T SchemmerCanadaBernardo Dominic QUALIFIED
Izzy F SergiArgentinaAmy Elsner QUALIFIED
Costa C IturbideGermanyIoni Bowcher RENEWAL
Izzy L CaudyBrazilStephen Shaw NEGOTIATION
Jennifer G IturbideFranceBernardo Dominic QUALIFIED
Costa Q ShinkoItalyElwin Sharvill NEW
Greenwood V ChuiIndiaIoni Bowcher RENEWAL
Darci L GarufiIndiaBernardo Dominic PROPOSAL
Claire U CaudyCanadaElwin Sharvill RENEWAL
Juan Q KuskoArgentinaXuxue Feng PROPOSAL
Murillo S ButtUnited KingdomStephen Shaw NEW
Aditya S IturbideRussiaIoni Bowcher NEW
Wickens Y BowleyRussiaBernardo Dominic UNQUALIFIED
Maisha J RulapaughAustraliaAsiya Javayant UNQUALIFIED
Ricardo H PerinCanadaOnyama Limba UNQUALIFIED
Leon V IturbideRussiaXuxue Feng PROPOSAL
Salvatore C MarrierGermanyAmy Elsner NEGOTIATION
Salvatore Q OstroskyArgentinaIoni Bowcher NEW
Frozen Columns
Name
Johnson B Vocelka
Emily U Shinko
Jefferson D Iturbide
Julie Q Garufi
Isabel S Ostrosky
Ashley L Gillian
Alejandro O Briddick
Darci A Chui
Nicolas M Briddick
Octavia T Figeroa
Francesco Y Maclead
Emily X Nestle
Maria A Shinko
James S Venere
Ashley J Kolmetz
Aruna F Oldroyd
Aika V Schemmer
Deepesh L Schemmer
Jefferson U Ruta
Maisha G Butt
Jones B Poquette
David P Foller
Jones I Iturbide
Antonio L Perin
Isabel E Glick
Aditya Q Ostrosky
Leon D Dilliard
Aruna X Chui
Greenwood G Bolognia
James O Foller
Faith H Foller
Tony T Inouye
Leon Y Inouye
Kadeem Y Paprocki
Morrow H Darakjy
Jennifer U Glick
Jefferson A Caudy
Costa J Iturbide
Jennifer I Darakjy
Leon Q Slusarski
Octavia A Amigon
Kadeem S Amigon
Cody I Bowley
Ivar J Ruta
Jeanfrancois G Vocelka
Salvatore Y Caudy
Alejandro O Tollner
Claire F Flosi
Smith G Albares
Cody X Venere
IdCountryDate
1000Australia2024-08-29
1001Italy2024-09-04
1002Spain2024-09-23
1003United Kingdom2024-09-25
1004Japan2024-09-18
1005Canada2024-09-20
1006Canada2024-09-09
1007Japan2024-09-26
1008Russia2024-09-11
1009Germany2024-09-14
1010Spain2024-09-24
1011Argentina2024-09-07
1012Russia2024-09-09
1013Germany2024-09-19
1014Argentina2024-09-02
1015Japan2024-09-09
1016United Kingdom2024-09-01
1017India2024-09-20
1018Italy2024-09-17
1019Argentina2024-09-26
1020Germany2024-09-02
1021Brazil2024-09-15
1022India2024-09-15
1023Japan2024-09-18
1024Spain2024-09-17
1025Brazil2024-09-02
1026Australia2024-09-14
1027Spain2024-09-04
1028France2024-09-06
1029United Kingdom2024-08-30
1030Argentina2024-08-28
1031Canada2024-09-15
1032Australia2024-09-16
1033Spain2024-09-07
1034Brazil2024-09-14
1035Argentina2024-08-29
1036Australia2024-09-01
1037United Kingdom2024-09-17
1038United Kingdom2024-09-09
1039United Kingdom2024-09-07
1040Japan2024-09-02
1041Canada2024-09-14
1042Argentina2024-09-21
1043Argentina2024-09-02
1044Argentina2024-09-01
1045Argentina2024-09-08
1046Canada2024-08-30
1047France2024-09-19
1048Australia2024-09-25
1049Russia2024-09-15

On-Demand Data

NameIdCountryDate
Francesco M Malet1000France2024-09-07
Aika N Marrier1001Germany2024-09-21
Chavez D Ostrosky1002United Kingdom2024-09-18
Octavia J Nicka1003Italy2024-09-07
Antonio X Whobrey1004Japan2024-09-09
Leja I Ostrosky1005France2024-09-23
Jennifer S Nicka1006Italy2024-08-28
Aika O Whobrey1007Spain2024-09-14
Jennifer J Bowley1008France2024-09-08
Clifford V Ferencz1009Brazil2024-08-31
Jefferson C Butt1010Russia2024-09-20
Johnson J Chui1011Italy2024-09-15
Salvatore J Ferencz1012Argentina2024-09-15
Nicolas V Stenseth1013Spain2024-08-31
James U Rim1014United Kingdom2024-09-04
Munro F Bolognia1015Brazil2024-09-04
Adams N Marrier1016Russia2024-08-29
Leon D Caldarera1017France2024-09-05
Leja Y Royster1018Argentina2024-08-29
Maria R Gillian1019Spain2024-09-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh Y CampainItalyAnna Fali PROPOSAL
David N AlbaresRussiaAnna Fali NEW
Sinclair R GlickGermanyAnna Fali QUALIFIED
Jeanfrancois M KuskoBrazilIoni Bowcher QUALIFIED
Ricardo M VocelkaIndiaAsiya Javayant NEW
Sinclair J RimItalyAsiya Javayant RENEWAL
Faith I AlbaresGermanyIvan Magalhaes PROPOSAL
James S TollnerArgentinaAsiya Javayant NEW
Salvatore O RimSpainIoni Bowcher NEGOTIATION
Isabel Z BriddickUnited KingdomAmy Elsner PROPOSAL
Aika N ChuiUnited KingdomAnna Fali QUALIFIED
Alejandro P TollnerJapanStephen Shaw UNQUALIFIED
Octavia J StockhamGermanyIoni Bowcher QUALIFIED
Octavia V WaycottUnited KingdomAnna Fali QUALIFIED
Emily C StensethArgentinaAmy Elsner NEGOTIATION
Costa H GauchoGermanyAmy Elsner PROPOSAL
Costa M SaylorsRussiaAsiya Javayant NEGOTIATION
Leon U GarufiBrazilAnna Fali PROPOSAL
Emily I CaudyCanadaBernardo Dominic PROPOSAL
Costa S RoysterGermanyBernardo Dominic RENEWAL
Francesco S StensethArgentinaIoni Bowcher PROPOSAL
Kaitlin Q SchemmerBrazilAnna Fali PROPOSAL
Jennifer A AmigonSpainXuxue Feng RENEWAL
Murillo C RulapaughArgentinaAnna Fali UNQUALIFIED
Johnson E BologniaAustraliaStephen Shaw RENEWAL
Cody M CaldareraBrazilAmy Elsner NEGOTIATION
Alejandro F CaldareraBrazilBernardo Dominic RENEWAL
Smith Q PoquetteUnited KingdomElwin Sharvill NEGOTIATION
Greenwood T PerinCanadaIoni Bowcher PROPOSAL
Emily S MacleadIndiaOnyama Limba PROPOSAL
Alejandro X CaldareraArgentinaIoni Bowcher UNQUALIFIED
Francesco O KolmetzAustraliaIoni Bowcher NEW
Juan B MorascaArgentinaAnna Fali RENEWAL
Nicolas B MacleadCanadaAmy Elsner QUALIFIED
Aika B MarrierFranceIvan Magalhaes NEW
Misaki H SlusarskiIndiaElwin Sharvill RENEWAL
Costa P DilliardCanadaStephen Shaw UNQUALIFIED
Isabel Q GarufiArgentinaBernardo Dominic RENEWAL
Sinclair N WaycottItalyXuxue Feng NEW
Arvin K ShinkoFranceAnna Fali 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>