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
Greenwood S ChuiFranceOnyama Limba RENEWAL
Deepesh V NestleRussiaXuxue Feng NEGOTIATION
Murillo X CampainGermanyAsiya Javayant QUALIFIED
Nicolas O VocelkaCanadaElwin Sharvill PROPOSAL
Alejandro N StensethUnited KingdomAsiya Javayant NEW
Emily U BowleyAustraliaIoni Bowcher NEGOTIATION
James R GillianArgentinaBernardo Dominic PROPOSAL
Emily S InouyeRussiaAmy Elsner NEW
Alejandro Z BowleyIndiaXuxue Feng PROPOSAL
Isabel D AmigonJapanAsiya Javayant PROPOSAL
Izzy E RutaIndiaIvan Magalhaes RENEWAL
Smith R BowleyGermanyElwin Sharvill QUALIFIED
Julie H WieserCanadaIoni Bowcher RENEWAL
Jefferson K ShinkoAustraliaIoni Bowcher NEGOTIATION
Ivar Z SlusarskiCanadaAnna Fali UNQUALIFIED
Misaki J AmigonFranceStephen Shaw RENEWAL
Chavez F SaylorsAustraliaElwin Sharvill NEW
Aruna G BologniaRussiaStephen Shaw NEW
Juan X PoquetteCanadaAmy Elsner PROPOSAL
Costa X RimCanadaIvan Magalhaes RENEWAL
Leja L PerinRussiaBernardo Dominic PROPOSAL
Julie C RulapaughArgentinaAnna Fali PROPOSAL
Stacey N WhobreyBrazilAmy Elsner QUALIFIED
Kaitlin L RoysterArgentinaIoni Bowcher PROPOSAL
Kaitlin Z InouyeGermanyStephen Shaw RENEWAL
Isabel M AmigonUnited KingdomIoni Bowcher QUALIFIED
David E RutaSpainXuxue Feng NEGOTIATION
Misaki O SchemmerAustraliaStephen Shaw QUALIFIED
Munro L DilliardArgentinaStephen Shaw QUALIFIED
Clifford V GillianFranceAsiya Javayant NEW
Arvin O FollerJapanOnyama Limba QUALIFIED
David W SaylorsBrazilIvan Magalhaes NEGOTIATION
Deepesh X WaycottIndiaAmy Elsner RENEWAL
Johnson K GillianIndiaElwin Sharvill RENEWAL
Kadeem I DoeRussiaElwin Sharvill NEW
Emily I RulapaughCanadaElwin Sharvill NEGOTIATION
Deepesh N KolmetzJapanAmy Elsner RENEWAL
James S PoquetteJapanAsiya Javayant NEGOTIATION
Cody Z WieserItalyIoni Bowcher RENEWAL
Octavia X VocelkaRussiaOnyama Limba NEW
Murillo G DarakjyFranceElwin Sharvill QUALIFIED
Aruna T RutaCanadaAmy Elsner NEGOTIATION
Silvio I GlickArgentinaElwin Sharvill RENEWAL
Mujtaba T FigeroaFranceStephen Shaw NEGOTIATION
Mayumi X MaletBrazilElwin Sharvill UNQUALIFIED
Jeanfrancois O RoysterJapanIoni Bowcher NEW
Arvin I IturbideJapanXuxue Feng NEGOTIATION
Izzy Q ShinkoBrazilXuxue Feng NEGOTIATION
Leja X OldroydArgentinaElwin Sharvill PROPOSAL
Mujtaba S SlusarskiRussiaIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Cody G MacleadBrazilOnyama Limba QUALIFIED
Rodrigues Z InouyeItalyAnna Fali NEGOTIATION
Clifford R CaudyCanadaXuxue Feng QUALIFIED
Stacey E AmigonAustraliaXuxue Feng RENEWAL
Misaki P TollnerGermanyIoni Bowcher UNQUALIFIED
Maria X RoysterAustraliaAmy Elsner NEGOTIATION
Jefferson Y ButtRussiaStephen Shaw PROPOSAL
Julie O FerenczIndiaIoni Bowcher NEW
Arvin R FollerFranceAnna Fali QUALIFIED
Sinclair A WieserBrazilAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo D BologniaCanada2024-06-21Morlong Associates QUALIFIED22Bernardo Dominic
1001Johnson A GillianIndia2024-05-29Commercial Press QUALIFIED29Stephen Shaw
1002Francesco A FerenczArgentina2024-06-07Rangoni Of Florence NEGOTIATION70Asiya Javayant
1003Jennifer R NickaUnited Kingdom2024-05-28Chapman, Ross E Esq NEGOTIATION66Ivan Magalhaes
1004Faith Y WaycottGermany2024-06-04Truhlar And Truhlar Attys NEGOTIATION1Asiya Javayant
1005Faith X FlosiItaly2024-06-22Chapman, Ross E Esq UNQUALIFIED50Ivan Magalhaes
1006Ashley U InouyeItaly2024-06-03Rousseaux, Michael Esq RENEWAL49Bernardo Dominic
1007Kaitlin C MorascaBrazil2024-06-20Truhlar And Truhlar Attys UNQUALIFIED86Bernardo Dominic
1008Maria X WhobreyRussia2024-06-18Printing Dimensions NEGOTIATION60Xuxue Feng
1009David Y StockhamAustralia2024-05-29Dorl, James J Esq NEGOTIATION71Bernardo Dominic
1010Chavez O PaprockiFrance2024-06-12Truhlar And Truhlar Attys RENEWAL30Anna Fali
1011Smith V ShinkoUnited Kingdom2024-05-29Chemel, James L Cpa NEGOTIATION84Xuxue Feng
1012Wickens Z MorascaBrazil2024-06-07Feiner Bros UNQUALIFIED97Anna Fali
1013Leon F GlickFrance2024-06-24Morlong Associates NEW73Xuxue Feng
1014Kadeem Y ChuiItaly2024-05-27Buckley Miller Wright UNQUALIFIED50Xuxue Feng
1015Antonio H IturbideIndia2024-06-16Printing Dimensions RENEWAL58Amy Elsner
1016Juan O FlosiJapan2024-06-23Buckley Miller Wright RENEWAL96Bernardo Dominic
1017Misaki Q WieserAustralia2024-06-01Dorl, James J Esq NEW83Stephen Shaw
1018Costa R CampainJapan2024-06-06Printing Dimensions UNQUALIFIED87Asiya Javayant
1019Costa U PerinCanada2024-06-07Feiner Bros UNQUALIFIED98Ioni Bowcher
1020Octavia J SergiCanada2024-06-08Buckley Miller Wright NEW85Elwin Sharvill
1021Jefferson B OldroydBrazil2024-06-20Benton, John B Jr NEW60Asiya Javayant
1022Adams O WieserGermany2024-06-07Feltz Printing Service PROPOSAL19Stephen Shaw
1023Juan B RoysterJapan2024-06-21Buckley Miller Wright UNQUALIFIED3Asiya Javayant
1024Jennifer S RoysterGermany2024-06-10Feiner Bros UNQUALIFIED25Bernardo Dominic
1025Antonio N VocelkaJapan2024-06-17Chanay, Jeffrey A Esq NEW51Onyama Limba
1026Tony H ButtBrazil2024-06-03Dorl, James J Esq NEW96Ioni Bowcher
1027Chavez Z CaldareraIndia2024-06-17Commercial Press RENEWAL96Ioni Bowcher
1028Juan J FigeroaGermany2024-06-07Feiner Bros QUALIFIED30Anna Fali
1029Morrow S GlickIndia2024-06-14Buckley Miller Wright NEGOTIATION40Anna Fali
1030Jennifer D DarakjyFrance2024-06-04Truhlar And Truhlar Attys PROPOSAL44Stephen Shaw
1031Maisha V FigeroaIndia2024-06-04Chanay, Jeffrey A Esq QUALIFIED5Ivan Magalhaes
1032Kaitlin Z VenereGermany2024-05-27Dorl, James J Esq NEW86Stephen Shaw
1033Claire N DoeSpain2024-06-02Benton, John B Jr PROPOSAL2Bernardo Dominic
1034Smith T KuskoItaly2024-06-10Rangoni Of Florence UNQUALIFIED75Asiya Javayant
1035Aditya G CampainAustralia2024-06-21Chemel, James L Cpa PROPOSAL19Anna Fali
1036Misaki J GillianAustralia2024-06-23Commercial Press QUALIFIED56Xuxue Feng
1037Jennifer E PaprockiGermany2024-05-29Printing Dimensions UNQUALIFIED80Amy Elsner
1038Costa K BowleyRussia2024-06-06Rangoni Of Florence QUALIFIED25Elwin Sharvill
1039Aditya X RutaGermany2024-06-24Rangoni Of Florence PROPOSAL41Asiya Javayant
1040Faith L DoeIndia2024-06-20Chemel, James L Cpa RENEWAL48Ivan Magalhaes
1041Claire F GillianArgentina2024-06-21Chapman, Ross E Esq UNQUALIFIED11Elwin Sharvill
1042Aditya R DoeArgentina2024-06-01Dorl, James J Esq RENEWAL72Ivan Magalhaes
1043Jennifer B DilliardGermany2024-06-18Feltz Printing Service NEGOTIATION30Amy Elsner
1044Arvin E CampainSpain2024-06-17Benton, John B Jr RENEWAL38Bernardo Dominic
1045Arvin M WhobreyIndia2024-06-02Truhlar And Truhlar Attys UNQUALIFIED47Ivan Magalhaes
1046Arvin G CampainArgentina2024-06-09Chapman, Ross E Esq RENEWAL50Bernardo Dominic
1047Nicolas T StockhamSpain2024-05-31Chapman, Ross E Esq NEW23Ivan Magalhaes
1048Cody D CampainFrance2024-06-05Benton, John B Jr NEW0Stephen Shaw
1049Silvio S GauchoArgentina2024-06-23Commercial Press NEGOTIATION23Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Sinclair P StockhamGermanyAsiya Javayant QUALIFIED
Stacey V RimUnited KingdomIoni Bowcher UNQUALIFIED
Costa S RulapaughJapanIoni Bowcher RENEWAL
Costa N SergiIndiaXuxue Feng NEGOTIATION
Octavia E WaycottRussiaOnyama Limba PROPOSAL
Clifford U MacleadSpainXuxue Feng NEGOTIATION
Cody P BriddickFranceAnna Fali NEGOTIATION
Clifford J WaycottArgentinaXuxue Feng RENEWAL
Deepesh M SergiRussiaBernardo Dominic RENEWAL
Wickens S ButtSpainStephen Shaw UNQUALIFIED
Greenwood T CaldareraUnited KingdomAnna Fali QUALIFIED
Kaitlin B KuskoItalyAsiya Javayant PROPOSAL
Nicolas D ShinkoArgentinaIvan Magalhaes UNQUALIFIED
Munro I PerinGermanyIoni Bowcher RENEWAL
Silvio T VocelkaItalyElwin Sharvill UNQUALIFIED
Chavez A MarrierIndiaIvan Magalhaes UNQUALIFIED
Stacey W MorascaBrazilStephen Shaw UNQUALIFIED
Mayumi I FerenczRussiaOnyama Limba PROPOSAL
Maisha Q TollnerAustraliaOnyama Limba NEW
Aika Y GarufiFranceXuxue Feng NEGOTIATION
Claire I WieserSpainAmy Elsner UNQUALIFIED
Leon K FerenczRussiaAsiya Javayant UNQUALIFIED
Morrow A SchemmerGermanyAmy Elsner NEW
Silvio G AmigonItalyElwin Sharvill RENEWAL
Arvin K ButtJapanXuxue Feng UNQUALIFIED
Antonio F MacleadItalyAmy Elsner QUALIFIED
Juan R VenereGermanyElwin Sharvill NEGOTIATION
Alejandro J ShinkoIndiaIvan Magalhaes RENEWAL
Kaitlin D PoquetteSpainOnyama Limba PROPOSAL
Kadeem O StockhamItalyAmy Elsner PROPOSAL
Wickens I DilliardSpainXuxue Feng NEGOTIATION
Octavia E MarrierArgentinaAnna Fali NEGOTIATION
Leon O AmigonArgentinaXuxue Feng PROPOSAL
Murillo D KolmetzItalyAsiya Javayant QUALIFIED
Ricardo S FerenczBrazilXuxue Feng RENEWAL
Jones K GlickCanadaStephen Shaw QUALIFIED
Sinclair W RoysterArgentinaIoni Bowcher RENEWAL
Jefferson H PerinArgentinaElwin Sharvill UNQUALIFIED
Faith O MacleadIndiaStephen Shaw RENEWAL
Misaki L BowleyFranceAsiya Javayant NEW
Izzy K GlickArgentinaIvan Magalhaes PROPOSAL
Adams N BologniaJapanAsiya Javayant QUALIFIED
Misaki Q FigeroaUnited KingdomOnyama Limba RENEWAL
Jones G ShinkoGermanyAnna Fali PROPOSAL
Alejandro B SaylorsFranceOnyama Limba NEW
Leon M SaylorsUnited KingdomAmy Elsner NEW
Aditya U SergiArgentinaStephen Shaw UNQUALIFIED
Jefferson S VocelkaJapanAmy Elsner RENEWAL
Nicolas M SaylorsSpainIoni Bowcher NEGOTIATION
Clifford G OstroskyItalyOnyama Limba NEW
Frozen Columns
Name
Mujtaba D Butt
Jefferson N Garufi
Nicolas S Butt
Munro U Whobrey
Cody J Slusarski
Murillo U Malet
Izzy M Sergi
Smith I Inouye
Maria A Doe
Leon W Darakjy
Claire E Perin
Rodrigues H Iturbide
Clifford E Gaucho
Isabel T Flosi
Aika S Ostrosky
Tony U Chui
David D Figeroa
Claire E Malet
Greenwood Q Morasca
Faith S Kusko
Maria D Inouye
Julie D Perin
Francesco D Briddick
Leja S Royster
Tony X Stenseth
David N Slusarski
Mayumi J Foller
Nicolas E Tollner
Mayumi T Malet
Munro S Ferencz
Murillo P Venere
Aruna A Figeroa
Smith A Glick
Rodrigues X Waycott
Costa T Marrier
Murillo A Butt
Clifford Z Whobrey
Alejandro S Oldroyd
Arvin F Saylors
Claire X Briddick
Deepesh T Nicka
Rodrigues V Flosi
Misaki Q Iturbide
David X Glick
Antonio Q Malet
Emily D Poquette
Costa U Albares
Tony Q Nicka
Juan S Sergi
Munro O Paprocki
IdCountryDate
1000Canada2024-06-07
1001United Kingdom2024-06-04
1002United Kingdom2024-06-07
1003Italy2024-06-13
1004Japan2024-06-16
1005Australia2024-06-05
1006France2024-06-23
1007Australia2024-05-28
1008United Kingdom2024-06-04
1009United Kingdom2024-06-21
1010Canada2024-06-10
1011Argentina2024-06-21
1012Russia2024-06-04
1013Brazil2024-06-07
1014Canada2024-05-27
1015Japan2024-06-10
1016Germany2024-05-28
1017Spain2024-06-12
1018Russia2024-06-11
1019Russia2024-06-12
1020Germany2024-06-12
1021Italy2024-06-16
1022United Kingdom2024-06-15
1023Brazil2024-06-20
1024Brazil2024-06-11
1025Brazil2024-06-12
1026France2024-06-12
1027India2024-05-29
1028Germany2024-05-31
1029Argentina2024-05-31
1030Argentina2024-06-10
1031Russia2024-06-01
1032Spain2024-05-29
1033Argentina2024-06-06
1034Brazil2024-06-11
1035Canada2024-06-13
1036United Kingdom2024-05-28
1037Russia2024-06-11
1038Argentina2024-06-11
1039Australia2024-06-19
1040Russia2024-06-19
1041Italy2024-06-10
1042Brazil2024-06-12
1043United Kingdom2024-06-07
1044Spain2024-06-18
1045Spain2024-05-28
1046France2024-06-10
1047Spain2024-06-15
1048Australia2024-06-21
1049Italy2024-05-29

On-Demand Data

NameIdCountryDate
Julie W Flosi1000Germany2024-06-14
Jeanfrancois F Morasca1001Brazil2024-06-03
Wickens J Bowley1002Russia2024-06-20
Ashley X Nestle1003Argentina2024-06-23
Rodrigues U Shinko1004Brazil2024-05-29
Misaki O Sergi1005India2024-06-06
Morrow F Gaucho1006Japan2024-06-14
Nicolas E Bolognia1007United Kingdom2024-06-12
Sinclair E Morasca1008Canada2024-06-12
Chavez T Butt1009Canada2024-06-03
Emily F Whobrey1010Argentina2024-05-28
Rodrigues X Slusarski1011Spain2024-06-11
Munro O Darakjy1012Australia2024-06-13
Maria C Paprocki1013Australia2024-06-10
Salvatore Q Figeroa1014Argentina2024-06-21
Silvio V Sergi1015Germany2024-06-11
Silvio S Kusko1016Brazil2024-06-21
Mayumi U Waycott1017Italy2024-06-01
Claire W Amigon1018Brazil2024-06-06
Jefferson X Saylors1019Japan2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria U RutaCanadaAnna Fali NEGOTIATION
Ivar G PerinFranceXuxue Feng QUALIFIED
Mujtaba L GlickSpainAnna Fali NEGOTIATION
Izzy X FigeroaUnited KingdomElwin Sharvill NEW
Costa B SlusarskiAustraliaBernardo Dominic RENEWAL
James A RutaBrazilIvan Magalhaes QUALIFIED
Leon K DilliardJapanIvan Magalhaes QUALIFIED
Deepesh N KuskoCanadaAnna Fali QUALIFIED
Kaitlin V FigeroaUnited KingdomStephen Shaw UNQUALIFIED
Ivar M KolmetzArgentinaAmy Elsner QUALIFIED
Smith C RimSpainOnyama Limba RENEWAL
Costa W RulapaughBrazilAsiya Javayant PROPOSAL
Isabel I MorascaGermanyStephen Shaw RENEWAL
James S SchemmerFranceIvan Magalhaes QUALIFIED
Alejandro E RoysterGermanyIvan Magalhaes NEGOTIATION
Wickens X GillianSpainAsiya Javayant PROPOSAL
Nicolas J PoquetteJapanXuxue Feng NEW
Deepesh I RoysterCanadaAnna Fali NEGOTIATION
Kaitlin D PoquetteJapanOnyama Limba QUALIFIED
Wickens M BologniaJapanStephen Shaw NEW
Maisha I WieserItalyStephen Shaw NEW
Johnson I StensethSpainOnyama Limba UNQUALIFIED
Deepesh D OstroskyAustraliaXuxue Feng UNQUALIFIED
Alejandro O SchemmerIndiaIvan Magalhaes NEW
Greenwood Q CaudyRussiaAmy Elsner NEW
Francesco R GarufiGermanyIoni Bowcher QUALIFIED
Jefferson K KolmetzCanadaXuxue Feng PROPOSAL
Nicolas T ShinkoAustraliaElwin Sharvill NEW
Greenwood W PaprockiJapanOnyama Limba QUALIFIED
Isabel F WhobreyIndiaAnna Fali UNQUALIFIED
Morrow I SchemmerCanadaElwin Sharvill PROPOSAL
Munro S ButtFranceBernardo Dominic QUALIFIED
Clifford H DoeItalyStephen Shaw RENEWAL
Munro M WieserArgentinaElwin Sharvill NEW
Kaitlin H GarufiAustraliaIoni Bowcher NEW
Aditya D CaudyArgentinaAnna Fali NEW
Darci Z ShinkoJapanIoni Bowcher NEGOTIATION
Mujtaba W WhobreyCanadaAsiya Javayant QUALIFIED
Octavia F MaletCanadaAmy Elsner NEW
Tony O WaycottSpainAmy Elsner RENEWAL

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