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
David E ButtBrazilBernardo Dominic QUALIFIED
Kaitlin I NickaJapanBernardo Dominic PROPOSAL
Sinclair Y KuskoItalyAsiya Javayant NEW
Darci W MarrierSpainAnna Fali QUALIFIED
Francesco E SergiJapanIoni Bowcher PROPOSAL
Wickens X SergiJapanStephen Shaw QUALIFIED
Aruna C InouyeIndiaOnyama Limba NEGOTIATION
Jennifer M RoysterFranceAsiya Javayant NEGOTIATION
Deepesh A GlickGermanyBernardo Dominic PROPOSAL
Mayumi G TollnerArgentinaBernardo Dominic QUALIFIED
Deepesh Y GillianFranceBernardo Dominic RENEWAL
Darci Y GillianRussiaAsiya Javayant NEGOTIATION
Salvatore P PerinItalyStephen Shaw RENEWAL
Claire C MorascaArgentinaStephen Shaw RENEWAL
Darci M KuskoItalyElwin Sharvill UNQUALIFIED
Ashley F CampainGermanyElwin Sharvill NEGOTIATION
Francesco J CaldareraFranceAsiya Javayant PROPOSAL
Kaitlin L SchemmerJapanAmy Elsner RENEWAL
Juan K CaudyFranceAsiya Javayant NEGOTIATION
Nicolas E MacleadFranceIvan Magalhaes RENEWAL
Ashley K CaudyFranceOnyama Limba QUALIFIED
Aditya M VenereAustraliaIvan Magalhaes NEGOTIATION
Izzy Q GillianJapanAnna Fali PROPOSAL
Mayumi B MorascaArgentinaAsiya Javayant RENEWAL
Stacey R MorascaArgentinaStephen Shaw QUALIFIED
Ivar P RoysterArgentinaAmy Elsner NEW
Munro E RulapaughIndiaElwin Sharvill QUALIFIED
Octavia S ShinkoSpainIoni Bowcher UNQUALIFIED
Clifford U BowleyBrazilXuxue Feng QUALIFIED
Jennifer N KolmetzUnited KingdomOnyama Limba NEW
Stacey Z AlbaresRussiaElwin Sharvill NEGOTIATION
Clifford B PerinRussiaAnna Fali QUALIFIED
Greenwood N WaycottCanadaAmy Elsner RENEWAL
Kadeem U RoysterBrazilAsiya Javayant PROPOSAL
Ashley P OldroydFranceIoni Bowcher RENEWAL
Francesco L OstroskyIndiaAmy Elsner NEW
Cody Q FigeroaJapanXuxue Feng QUALIFIED
Antonio T PaprockiFranceAsiya Javayant NEGOTIATION
Rodrigues U InouyeBrazilAnna Fali QUALIFIED
Aruna T MarrierJapanElwin Sharvill QUALIFIED
Mujtaba S WhobreyIndiaAmy Elsner QUALIFIED
Aruna A VocelkaCanadaAmy Elsner UNQUALIFIED
Emily M SchemmerItalyAsiya Javayant UNQUALIFIED
Greenwood E OldroydJapanAmy Elsner RENEWAL
Julie S RutaFranceElwin Sharvill NEW
Mayumi O CampainRussiaAmy Elsner UNQUALIFIED
Aditya H InouyeCanadaStephen Shaw NEGOTIATION
Costa P MacleadAustraliaXuxue Feng NEW
Chavez F MacleadJapanElwin Sharvill RENEWAL
Munro F BologniaAustraliaAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Silvio K GillianSpainBernardo Dominic PROPOSAL
Leja T DarakjyGermanyStephen Shaw NEW
Maisha S BriddickFranceBernardo Dominic RENEWAL
Munro N MorascaAustraliaStephen Shaw RENEWAL
Kaitlin Q RoysterBrazilAsiya Javayant PROPOSAL
Ricardo S RoysterJapanIvan Magalhaes UNQUALIFIED
Leon Q FlosiUnited KingdomIoni Bowcher QUALIFIED
Clifford Z GillianGermanyIoni Bowcher UNQUALIFIED
Faith Z FigeroaJapanAmy Elsner QUALIFIED
Emily L WieserSpainIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair B FerenczAustralia2024-09-18Rousseaux, Michael Esq NEW94Anna Fali
1001Arvin H WieserAustralia2024-09-13Chapman, Ross E Esq PROPOSAL51Amy Elsner
1002Antonio E MacleadItaly2024-08-26Commercial Press PROPOSAL41Anna Fali
1003Antonio H CaudyBrazil2024-09-09Buckley Miller Wright RENEWAL63Bernardo Dominic
1004David C SchemmerBrazil2024-09-14Printing Dimensions NEGOTIATION88Stephen Shaw
1005Nicolas M RulapaughSpain2024-09-14Printing Dimensions PROPOSAL96Onyama Limba
1006Jefferson S KolmetzCanada2024-08-24Rousseaux, Michael Esq PROPOSAL20Bernardo Dominic
1007Johnson T BowleyUnited Kingdom2024-09-09Benton, John B Jr UNQUALIFIED39Elwin Sharvill
1008Antonio Y BowleyFrance2024-09-07Dorl, James J Esq PROPOSAL61Xuxue Feng
1009Misaki F RulapaughAustralia2024-08-30Rangoni Of Florence UNQUALIFIED47Anna Fali
1010Darci A GlickIndia2024-08-27Commercial Press UNQUALIFIED64Bernardo Dominic
1011Aika A VocelkaAustralia2024-09-03King, Christopher A Esq NEGOTIATION15Bernardo Dominic
1012James G WieserUnited Kingdom2024-09-09Feltz Printing Service PROPOSAL32Amy Elsner
1013Jennifer A SaylorsIndia2024-08-30Chemel, James L Cpa NEW21Anna Fali
1014Jones Z GarufiUnited Kingdom2024-09-15Feltz Printing Service NEGOTIATION24Ioni Bowcher
1015Adams V GarufiAustralia2024-08-29Truhlar And Truhlar Attys NEW24Amy Elsner
1016Morrow I SlusarskiBrazil2024-08-27Chanay, Jeffrey A Esq UNQUALIFIED41Onyama Limba
1017Munro L BowleyRussia2024-09-12Buckley Miller Wright UNQUALIFIED21Ivan Magalhaes
1018Cody Q AlbaresJapan2024-09-13Dorl, James J Esq UNQUALIFIED37Anna Fali
1019Izzy W FollerIndia2024-09-10Commercial Press RENEWAL78Onyama Limba
1020Chavez Z DilliardSpain2024-09-12Commercial Press QUALIFIED40Xuxue Feng
1021Darci P AlbaresIndia2024-09-19Chapman, Ross E Esq QUALIFIED44Stephen Shaw
1022Misaki V SergiUnited Kingdom2024-09-03Dorl, James J Esq RENEWAL4Ivan Magalhaes
1023Emily R GauchoSpain2024-09-22Truhlar And Truhlar Attys UNQUALIFIED28Asiya Javayant
1024Nicolas N PoquetteBrazil2024-08-30Truhlar And Truhlar Attys UNQUALIFIED24Amy Elsner
1025Alejandro E SergiJapan2024-09-20Feltz Printing Service PROPOSAL26Amy Elsner
1026Jeanfrancois W KuskoCanada2024-09-21Benton, John B Jr UNQUALIFIED38Amy Elsner
1027Maisha I BologniaFrance2024-09-21Dorl, James J Esq NEW37Amy Elsner
1028Kadeem J ChuiCanada2024-09-22Buckley Miller Wright RENEWAL14Amy Elsner
1029Maisha F FollerItaly2024-08-27Rousseaux, Michael Esq NEW88Stephen Shaw
1030Kaitlin X RoysterAustralia2024-08-27Rousseaux, Michael Esq NEW5Amy Elsner
1031Darci B FlosiBrazil2024-08-29Feltz Printing Service QUALIFIED50Ioni Bowcher
1032Nicolas M CaldareraGermany2024-08-29Truhlar And Truhlar Attys QUALIFIED7Ioni Bowcher
1033Jeanfrancois J OldroydRussia2024-09-09Truhlar And Truhlar Attys PROPOSAL19Ioni Bowcher
1034Jefferson S DoeAustralia2024-09-20Buckley Miller Wright NEGOTIATION86Anna Fali
1035Ashley W StockhamJapan2024-09-18Feltz Printing Service UNQUALIFIED11Amy Elsner
1036Jefferson M MacleadUnited Kingdom2024-08-28Dorl, James J Esq PROPOSAL2Ioni Bowcher
1037Emily F GauchoItaly2024-09-09Truhlar And Truhlar Attys PROPOSAL71Stephen Shaw
1038Kaitlin N TollnerItaly2024-09-02Commercial Press UNQUALIFIED86Elwin Sharvill
1039Jones Z SaylorsIndia2024-09-19Buckley Miller Wright QUALIFIED52Elwin Sharvill
1040Johnson T GillianAustralia2024-09-21Morlong Associates NEGOTIATION45Amy Elsner
1041Aika T WieserBrazil2024-09-04Buckley Miller Wright NEGOTIATION1Ioni Bowcher
1042Wickens V KuskoGermany2024-09-10Chemel, James L Cpa PROPOSAL86Ivan Magalhaes
1043Morrow X NickaArgentina2024-09-01Chemel, James L Cpa NEW66Ioni Bowcher
1044Emily B ChuiRussia2024-09-12Rousseaux, Michael Esq NEGOTIATION18Stephen Shaw
1045Cody Z SlusarskiRussia2024-09-16Printing Dimensions NEGOTIATION4Onyama Limba
1046Cody Y FigeroaFrance2024-08-29Truhlar And Truhlar Attys RENEWAL45Ivan Magalhaes
1047Ricardo C KuskoAustralia2024-08-27Benton, John B Jr UNQUALIFIED84Ivan Magalhaes
1048Ashley T AmigonJapan2024-08-30Truhlar And Truhlar Attys QUALIFIED63Asiya Javayant
1049Murillo D NestleSpain2024-09-11Buckley Miller Wright UNQUALIFIED23Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Emily O RutaArgentinaStephen Shaw NEW
Octavia U BriddickUnited KingdomStephen Shaw PROPOSAL
Darci U MaletGermanyElwin Sharvill NEGOTIATION
Murillo R AlbaresCanadaXuxue Feng QUALIFIED
Octavia X CampainIndiaOnyama Limba NEGOTIATION
Adams S RimJapanAmy Elsner RENEWAL
Smith T BowleyBrazilIvan Magalhaes PROPOSAL
Arvin T InouyeFranceOnyama Limba NEW
Aruna W MorascaFranceStephen Shaw PROPOSAL
Tony A OstroskyFranceStephen Shaw PROPOSAL
Tony Y FollerItalyElwin Sharvill PROPOSAL
Clifford Y DilliardUnited KingdomXuxue Feng RENEWAL
Johnson G KolmetzSpainStephen Shaw NEW
Stacey L GauchoArgentinaAnna Fali QUALIFIED
Ricardo I GarufiIndiaBernardo Dominic QUALIFIED
Maisha O StensethCanadaIoni Bowcher UNQUALIFIED
Izzy M FerenczAustraliaElwin Sharvill RENEWAL
Leon Y CampainCanadaOnyama Limba UNQUALIFIED
Greenwood J ChuiArgentinaAnna Fali NEGOTIATION
Smith K WieserFranceIvan Magalhaes QUALIFIED
Maria S ShinkoAustraliaAmy Elsner RENEWAL
Salvatore R OstroskyGermanyAnna Fali UNQUALIFIED
Aruna M CampainAustraliaIoni Bowcher NEGOTIATION
Kaitlin S MarrierSpainStephen Shaw UNQUALIFIED
Leja W ButtSpainIoni Bowcher UNQUALIFIED
David R CaldareraRussiaBernardo Dominic RENEWAL
Izzy C CampainSpainOnyama Limba UNQUALIFIED
Wickens U MorascaGermanyOnyama Limba QUALIFIED
Wickens I CaldareraFranceAnna Fali NEGOTIATION
Aditya N FigeroaUnited KingdomIoni Bowcher NEW
Faith G GlickItalyIvan Magalhaes RENEWAL
Morrow T GlickGermanyAmy Elsner NEW
James B MacleadUnited KingdomIvan Magalhaes NEGOTIATION
Costa F RimIndiaAsiya Javayant UNQUALIFIED
Morrow J NickaIndiaAmy Elsner QUALIFIED
Tony W BologniaUnited KingdomAsiya Javayant PROPOSAL
Tony L RimUnited KingdomXuxue Feng PROPOSAL
Alejandro D FerenczJapanBernardo Dominic NEW
Deepesh Z SchemmerCanadaAmy Elsner UNQUALIFIED
Munro A BologniaBrazilBernardo Dominic NEGOTIATION
Octavia F ButtFranceIvan Magalhaes NEGOTIATION
Clifford W ShinkoIndiaBernardo Dominic UNQUALIFIED
Salvatore A SaylorsUnited KingdomIvan Magalhaes QUALIFIED
Francesco Q PaprockiFranceIvan Magalhaes QUALIFIED
Isabel D FollerIndiaElwin Sharvill RENEWAL
Aika U AlbaresFranceOnyama Limba NEGOTIATION
Wickens H CampainBrazilStephen Shaw RENEWAL
Antonio Y MarrierIndiaAsiya Javayant RENEWAL
Leja L SergiAustraliaOnyama Limba UNQUALIFIED
Cody E DarakjyUnited KingdomAnna Fali NEW
Frozen Columns
Name
Rodrigues H Tollner
Juan B Shinko
Johnson X Inouye
Mayumi C Rulapaugh
Maisha C Saylors
Chavez Y Ferencz
Juan S Gaucho
Arvin F Glick
Octavia G Ruta
Jennifer P Maclead
Deepesh Q Darakjy
James I Amigon
Alejandro R Glick
Munro S Amigon
Ashley X Caudy
Faith F Foller
Leja Q Saylors
Faith L Paprocki
Maisha D Rulapaugh
Salvatore F Perin
Maisha V Bolognia
Nicolas G Garufi
Costa S Albares
Munro O Gillian
Leon N Venere
Misaki W Nestle
Chavez D Marrier
Kaitlin M Kusko
Leon Z Perin
Sinclair J Wieser
Aika Q Dilliard
Aika D Inouye
Silvio S Paprocki
Mujtaba L Tollner
Faith V Stockham
Darci R Perin
Antonio F Figeroa
Sinclair K Perin
Darci D Stockham
Costa W Inouye
Tony W Marrier
Izzy J Shinko
Costa S Stockham
Jefferson M Ostrosky
Isabel V Kolmetz
Jeanfrancois Q Ruta
Jeanfrancois Y Figeroa
Kadeem R Vocelka
Adams N Whobrey
Aruna H Morasca
IdCountryDate
1000France2024-09-02
1001Australia2024-09-20
1002United Kingdom2024-09-17
1003Canada2024-09-05
1004India2024-09-21
1005Brazil2024-09-16
1006Italy2024-08-28
1007Brazil2024-09-11
1008Italy2024-08-31
1009India2024-08-26
1010Canada2024-08-25
1011Canada2024-08-24
1012Spain2024-09-09
1013Canada2024-09-07
1014Italy2024-09-14
1015Russia2024-09-03
1016Germany2024-08-26
1017Australia2024-09-15
1018Italy2024-09-09
1019Australia2024-09-04
1020Japan2024-08-24
1021India2024-08-24
1022Italy2024-09-03
1023Germany2024-09-22
1024United Kingdom2024-09-02
1025Russia2024-09-10
1026Australia2024-09-19
1027Brazil2024-08-25
1028India2024-09-18
1029India2024-09-13
1030Spain2024-09-11
1031India2024-09-06
1032United Kingdom2024-09-01
1033France2024-09-10
1034Argentina2024-09-21
1035Argentina2024-09-03
1036India2024-09-07
1037Germany2024-09-19
1038Japan2024-09-12
1039Brazil2024-09-10
1040Canada2024-09-21
1041Argentina2024-09-10
1042United Kingdom2024-09-08
1043Japan2024-09-07
1044Russia2024-08-29
1045Brazil2024-08-27
1046United Kingdom2024-08-29
1047India2024-09-19
1048Canada2024-08-29
1049United Kingdom2024-09-18

On-Demand Data

NameIdCountryDate
Misaki O Kusko1000Brazil2024-09-16
Greenwood B Rulapaugh1001Germany2024-09-12
Octavia R Ruta1002Italy2024-09-16
Morrow A Perin1003Italy2024-09-02
Emily Y Paprocki1004Australia2024-09-01
Smith W Caudy1005Japan2024-09-14
Leja A Figeroa1006Russia2024-09-13
Octavia V Bowley1007Argentina2024-08-29
Leja O Ruta1008Italy2024-09-09
Izzy G Albares1009Spain2024-08-24
David N Amigon1010Japan2024-09-16
Jeanfrancois C Royster1011United Kingdom2024-09-16
Octavia N Gillian1012Germany2024-08-27
Maria H Chui1013France2024-09-21
Rodrigues R Bowley1014Australia2024-09-10
Kadeem V Caudy1015Argentina2024-09-06
Isabel V Glick1016Italy2024-09-17
Kadeem T Tollner1017India2024-08-27
Misaki M Chui1018Germany2024-09-07
Sinclair V Caldarera1019Russia2024-08-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford U RulapaughArgentinaXuxue Feng NEW
Leja P FigeroaJapanOnyama Limba NEW
Adams Q BologniaCanadaOnyama Limba RENEWAL
Alejandro R StensethSpainStephen Shaw NEW
David Y StockhamGermanyAnna Fali NEW
Claire Q GlickBrazilOnyama Limba RENEWAL
Aika O BowleyArgentinaOnyama Limba RENEWAL
Wickens W DilliardGermanyIvan Magalhaes NEW
Aika L CaldareraJapanIoni Bowcher UNQUALIFIED
Adams Y FollerCanadaAsiya Javayant NEW
Rodrigues Q MorascaJapanElwin Sharvill NEGOTIATION
Maisha J CampainGermanyXuxue Feng RENEWAL
Emily X MacleadCanadaAnna Fali QUALIFIED
Octavia R RimFranceOnyama Limba QUALIFIED
Silvio O SergiSpainIoni Bowcher UNQUALIFIED
Ivar Z DilliardIndiaOnyama Limba QUALIFIED
Claire U FigeroaUnited KingdomStephen Shaw PROPOSAL
Faith S MarrierJapanAsiya Javayant QUALIFIED
Darci N MarrierSpainXuxue Feng RENEWAL
Arvin Y SaylorsFranceOnyama Limba UNQUALIFIED
Francesco I GauchoArgentinaAsiya Javayant NEW
Adams L GarufiFranceAmy Elsner UNQUALIFIED
Kadeem E RimJapanIoni Bowcher NEW
Munro V PoquetteFranceBernardo Dominic RENEWAL
Smith R PerinArgentinaElwin Sharvill PROPOSAL
Kaitlin Y OstroskyCanadaAsiya Javayant NEW
Silvio T FerenczFranceAsiya Javayant NEGOTIATION
Jefferson A NickaItalyAsiya Javayant NEGOTIATION
Morrow Q RulapaughUnited KingdomAsiya Javayant RENEWAL
Stacey X AlbaresFranceIoni Bowcher UNQUALIFIED
Kaitlin Y FollerSpainIoni Bowcher NEW
Ricardo H GillianAustraliaAmy Elsner QUALIFIED
Jeanfrancois U NickaBrazilXuxue Feng PROPOSAL
Jones M ButtItalyElwin Sharvill NEGOTIATION
Clifford R SlusarskiJapanBernardo Dominic RENEWAL
Alejandro Z SchemmerFranceIvan Magalhaes QUALIFIED
Mujtaba N MaletJapanXuxue Feng NEW
Kadeem Y CaudySpainAmy Elsner PROPOSAL
Emily P DoeIndiaAnna Fali PROPOSAL
Morrow B OstroskyAustraliaAsiya Javayant 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>