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
Adams N MaletRussiaAmy Elsner NEW
Mayumi L DilliardAustraliaAnna Fali NEW
Jefferson Q PoquetteFranceXuxue Feng RENEWAL
Juan R BologniaJapanIoni Bowcher NEGOTIATION
Leon M RulapaughBrazilXuxue Feng RENEWAL
Faith I WhobreyJapanAnna Fali RENEWAL
Chavez C WhobreyIndiaAmy Elsner NEGOTIATION
Ivar P BowleyGermanyXuxue Feng RENEWAL
Clifford V MaletSpainAnna Fali UNQUALIFIED
Jeanfrancois Y TollnerItalyElwin Sharvill UNQUALIFIED
Clifford M StensethRussiaStephen Shaw QUALIFIED
Murillo Z MorascaBrazilIvan Magalhaes UNQUALIFIED
Faith B FollerBrazilIvan Magalhaes UNQUALIFIED
Mujtaba A ChuiRussiaOnyama Limba UNQUALIFIED
David B DilliardAustraliaOnyama Limba NEW
Stacey Y DoeBrazilBernardo Dominic QUALIFIED
Aika Q ShinkoUnited KingdomAsiya Javayant RENEWAL
Costa J DarakjyGermanyIvan Magalhaes NEW
Kadeem L SchemmerIndiaIvan Magalhaes NEGOTIATION
Claire B DoeCanadaAmy Elsner NEW
Jennifer X MacleadArgentinaOnyama Limba NEGOTIATION
Deepesh X BowleyAustraliaBernardo Dominic NEW
Antonio D RoysterAustraliaOnyama Limba RENEWAL
Jones D MorascaAustraliaIvan Magalhaes QUALIFIED
Maisha W CaldareraUnited KingdomStephen Shaw RENEWAL
Ashley C SaylorsJapanXuxue Feng UNQUALIFIED
Leon W PoquetteFranceElwin Sharvill UNQUALIFIED
Isabel Z FigeroaBrazilAsiya Javayant RENEWAL
Darci H PaprockiUnited KingdomBernardo Dominic NEW
Francesco D KuskoSpainAnna Fali RENEWAL
Costa J SchemmerJapanIvan Magalhaes NEGOTIATION
Alejandro P PaprockiBrazilOnyama Limba PROPOSAL
Jefferson G CaldareraCanadaAnna Fali NEW
Cody Y OldroydBrazilIoni Bowcher NEGOTIATION
David L OldroydUnited KingdomElwin Sharvill UNQUALIFIED
James N BriddickGermanyBernardo Dominic PROPOSAL
Aika Z KuskoItalyOnyama Limba PROPOSAL
Deepesh G RimGermanyIvan Magalhaes QUALIFIED
Tony Y MaletIndiaElwin Sharvill RENEWAL
Kaitlin M RulapaughItalyXuxue Feng NEW
Jefferson F FlosiRussiaIoni Bowcher NEGOTIATION
Maisha F TollnerBrazilAmy Elsner RENEWAL
Antonio B GillianGermanyAnna Fali NEW
Misaki W PoquetteSpainAnna Fali PROPOSAL
Jones S PerinArgentinaAmy Elsner NEGOTIATION
Cody W SchemmerRussiaIvan Magalhaes NEGOTIATION
Mujtaba G GillianBrazilElwin Sharvill NEW
Johnson C CaldareraFranceAsiya Javayant NEW
Juan V GillianRussiaOnyama Limba RENEWAL
Octavia K BologniaAustraliaBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
David I NickaCanadaOnyama Limba RENEWAL
Morrow U WieserItalyAnna Fali NEGOTIATION
Aruna F FigeroaGermanyElwin Sharvill PROPOSAL
Johnson R StensethIndiaElwin Sharvill NEW
Sinclair I SlusarskiAustraliaStephen Shaw RENEWAL
Ricardo P WaycottFranceAmy Elsner RENEWAL
Rodrigues H SaylorsIndiaAsiya Javayant NEGOTIATION
Francesco I ButtIndiaIoni Bowcher RENEWAL
Salvatore L StensethFranceBernardo Dominic NEW
Aika K MacleadGermanyIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro W DilliardUnited Kingdom2024-09-18Feltz Printing Service NEGOTIATION75Bernardo Dominic
1001Morrow V PoquetteItaly2024-09-17Rousseaux, Michael Esq UNQUALIFIED69Ioni Bowcher
1002Kaitlin E CampainBrazil2024-09-14Dorl, James J Esq NEW35Stephen Shaw
1003Emily S PaprockiItaly2024-09-07Truhlar And Truhlar Attys RENEWAL45Stephen Shaw
1004David R KuskoJapan2024-09-01Chemel, James L Cpa UNQUALIFIED54Bernardo Dominic
1005James J OstroskyBrazil2024-09-16Printing Dimensions NEGOTIATION14Ivan Magalhaes
1006Leon V BriddickRussia2024-09-02Chapman, Ross E Esq QUALIFIED85Onyama Limba
1007Silvio S IturbideUnited Kingdom2024-08-27Benton, John B Jr QUALIFIED45Stephen Shaw
1008Kadeem X FerenczSpain2024-09-17Rangoni Of Florence NEW82Ioni Bowcher
1009Emily W ChuiFrance2024-08-31Printing Dimensions QUALIFIED36Stephen Shaw
1010Morrow F ButtSpain2024-09-18Rousseaux, Michael Esq NEGOTIATION94Ioni Bowcher
1011Mujtaba M FlosiAustralia2024-09-02King, Christopher A Esq NEW59Bernardo Dominic
1012Deepesh Y StockhamArgentina2024-09-23Printing Dimensions PROPOSAL30Ivan Magalhaes
1013Jennifer R StensethJapan2024-09-07Rousseaux, Michael Esq RENEWAL64Elwin Sharvill
1014Maria W FollerArgentina2024-09-14Dorl, James J Esq RENEWAL90Amy Elsner
1015Jones K MacleadItaly2024-09-23Rousseaux, Michael Esq QUALIFIED37Amy Elsner
1016Morrow P NickaBrazil2024-09-13Morlong Associates UNQUALIFIED26Stephen Shaw
1017James E IturbideRussia2024-09-07Chapman, Ross E Esq NEW28Anna Fali
1018Sinclair W VenereIndia2024-08-31Morlong Associates NEGOTIATION90Amy Elsner
1019Isabel P SergiCanada2024-09-07Feltz Printing Service NEGOTIATION54Anna Fali
1020Costa D NickaGermany2024-09-21Dorl, James J Esq NEGOTIATION58Stephen Shaw
1021Ivar O BowleyFrance2024-09-23Chanay, Jeffrey A Esq PROPOSAL2Bernardo Dominic
1022Deepesh L CaudyIndia2024-09-05Morlong Associates NEW37Bernardo Dominic
1023Silvio R IturbideJapan2024-09-07Morlong Associates NEW13Bernardo Dominic
1024Deepesh P PaprockiRussia2024-08-31Buckley Miller Wright PROPOSAL4Asiya Javayant
1025Aruna Z VocelkaAustralia2024-09-18Rousseaux, Michael Esq UNQUALIFIED80Anna Fali
1026Cody H BriddickAustralia2024-09-23Chapman, Ross E Esq UNQUALIFIED16Xuxue Feng
1027Rodrigues U RutaBrazil2024-09-04Rangoni Of Florence NEW94Xuxue Feng
1028Jones X OldroydBrazil2024-08-30King, Christopher A Esq PROPOSAL62Asiya Javayant
1029Tony O ButtCanada2024-09-07Rangoni Of Florence NEW48Asiya Javayant
1030Octavia Y RutaArgentina2024-09-17Rangoni Of Florence QUALIFIED21Ivan Magalhaes
1031Aruna Y GlickSpain2024-09-16Feiner Bros QUALIFIED52Asiya Javayant
1032Juan J StensethAustralia2024-09-01Morlong Associates NEGOTIATION52Onyama Limba
1033Murillo M TollnerAustralia2024-09-07Rangoni Of Florence RENEWAL53Ivan Magalhaes
1034Leon J CaudyRussia2024-09-22Chanay, Jeffrey A Esq NEW1Onyama Limba
1035Munro S GarufiArgentina2024-09-16Dorl, James J Esq PROPOSAL0Xuxue Feng
1036Jefferson Y PerinItaly2024-09-10Benton, John B Jr NEW17Ioni Bowcher
1037Johnson T AmigonUnited Kingdom2024-09-04King, Christopher A Esq PROPOSAL82Ivan Magalhaes
1038Aruna G RimJapan2024-08-30Commercial Press NEGOTIATION71Bernardo Dominic
1039Aika U KuskoUnited Kingdom2024-09-13King, Christopher A Esq NEW41Bernardo Dominic
1040Jefferson A GauchoIndia2024-09-11Benton, John B Jr QUALIFIED21Asiya Javayant
1041Kaitlin O CaudySpain2024-09-09Morlong Associates UNQUALIFIED38Xuxue Feng
1042Nicolas T NickaAustralia2024-09-10Commercial Press UNQUALIFIED4Ioni Bowcher
1043Kaitlin Q FollerSpain2024-09-03Rousseaux, Michael Esq RENEWAL53Xuxue Feng
1044Munro U RutaAustralia2024-09-23Dorl, James J Esq RENEWAL65Amy Elsner
1045James T ShinkoGermany2024-08-31Rangoni Of Florence PROPOSAL31Stephen Shaw
1046Maria J StensethRussia2024-09-18Printing Dimensions UNQUALIFIED30Ivan Magalhaes
1047Misaki S OstroskySpain2024-09-01Morlong Associates NEW82Amy Elsner
1048Stacey I WieserItaly2024-09-23Truhlar And Truhlar Attys RENEWAL60Anna Fali
1049Rodrigues L TollnerRussia2024-09-20Chapman, Ross E Esq RENEWAL11Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Tony D VocelkaCanadaOnyama Limba RENEWAL
Maria E CampainArgentinaBernardo Dominic UNQUALIFIED
Antonio C PerinRussiaIvan Magalhaes NEW
David G MaletCanadaOnyama Limba UNQUALIFIED
Maisha A DilliardJapanIoni Bowcher PROPOSAL
Munro F RimIndiaAmy Elsner PROPOSAL
Emily B AlbaresUnited KingdomAnna Fali NEGOTIATION
Faith E PerinGermanyAmy Elsner NEGOTIATION
Jennifer O ShinkoIndiaAmy Elsner UNQUALIFIED
Jennifer Y OldroydBrazilStephen Shaw UNQUALIFIED
Francesco I RutaBrazilOnyama Limba PROPOSAL
Johnson O WieserSpainIvan Magalhaes NEGOTIATION
Emily U AlbaresRussiaElwin Sharvill NEW
Izzy A SergiGermanyIoni Bowcher NEGOTIATION
Ivar G NickaSpainElwin Sharvill PROPOSAL
Misaki I TollnerArgentinaBernardo Dominic PROPOSAL
Sinclair H DilliardBrazilAnna Fali NEGOTIATION
James B BriddickRussiaBernardo Dominic QUALIFIED
Faith R TollnerJapanBernardo Dominic RENEWAL
Alejandro V MarrierRussiaBernardo Dominic NEW
Kadeem F AmigonArgentinaXuxue Feng UNQUALIFIED
Octavia K VenereArgentinaOnyama Limba NEW
Jones C ButtItalyAnna Fali RENEWAL
Johnson Y FollerItalyElwin Sharvill NEW
Costa G ButtJapanIoni Bowcher NEGOTIATION
Johnson K GlickIndiaAmy Elsner PROPOSAL
Jennifer C CaldareraAustraliaXuxue Feng UNQUALIFIED
Silvio W MacleadSpainAsiya Javayant NEGOTIATION
Aika A NestleUnited KingdomIoni Bowcher QUALIFIED
Stacey E ChuiFranceIoni Bowcher NEGOTIATION
Aditya I CaldareraUnited KingdomOnyama Limba UNQUALIFIED
Ashley V AmigonFranceIoni Bowcher UNQUALIFIED
Darci X TollnerUnited KingdomAsiya Javayant QUALIFIED
Silvio A BowleyCanadaAsiya Javayant NEGOTIATION
Munro N OstroskyAustraliaStephen Shaw PROPOSAL
Maisha Z InouyeFranceIoni Bowcher NEW
Mayumi A FlosiJapanStephen Shaw RENEWAL
Chavez D BriddickAustraliaAnna Fali RENEWAL
Kaitlin Y OstroskyArgentinaElwin Sharvill RENEWAL
Isabel B VocelkaJapanStephen Shaw UNQUALIFIED
Faith Y BowleyJapanXuxue Feng UNQUALIFIED
Adams I NestleBrazilAmy Elsner QUALIFIED
Aika H AmigonArgentinaStephen Shaw UNQUALIFIED
Leja Z DilliardAustraliaAnna Fali RENEWAL
Claire D GlickItalyAnna Fali PROPOSAL
Sinclair B GillianJapanBernardo Dominic NEGOTIATION
Sinclair E ButtRussiaBernardo Dominic RENEWAL
Leja F RutaIndiaBernardo Dominic NEGOTIATION
Silvio G RimSpainIvan Magalhaes UNQUALIFIED
Isabel B SchemmerIndiaBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Costa W Rim
Kaitlin H Chui
Jennifer J Malet
Misaki S Foller
Silvio R Caudy
Arvin Q Wieser
Clifford H Butt
Johnson I Campain
Stacey T Oldroyd
Jennifer N Garufi
Ricardo D Bolognia
Tony W Schemmer
Johnson R Garufi
Claire C Amigon
Kaitlin R Bowley
Julie U Paprocki
Costa C Morasca
Smith N Caldarera
Stacey W Iturbide
Antonio I Rim
David A Waycott
Misaki P Butt
Misaki K Butt
Adams U Glick
Jeanfrancois A Whobrey
Julie Y Venere
Jones G Gaucho
Jeanfrancois Q Albares
Rodrigues N Glick
Francesco E Marrier
Darci K Morasca
Mujtaba W Shinko
Juan U Glick
Kadeem N Ostrosky
Rodrigues V Ferencz
Emily Z Garufi
Rodrigues G Ruta
Ricardo I Bolognia
Isabel W Ferencz
Silvio I Iturbide
Stacey I Slusarski
Jones P Perin
Ashley J Bolognia
Isabel W Flosi
Cody W Dilliard
Francesco V Bolognia
Aditya Z Dilliard
Costa H Iturbide
Antonio C Inouye
Aruna W Butt
IdCountryDate
1000United Kingdom2024-08-27
1001Australia2024-09-05
1002Germany2024-09-21
1003India2024-09-18
1004Japan2024-09-16
1005Australia2024-09-20
1006Canada2024-09-22
1007Brazil2024-08-31
1008Spain2024-09-07
1009Russia2024-09-24
1010Italy2024-09-21
1011Russia2024-09-08
1012Japan2024-09-10
1013Germany2024-09-15
1014Brazil2024-08-31
1015Canada2024-09-11
1016Japan2024-09-07
1017United Kingdom2024-08-31
1018United Kingdom2024-09-16
1019Brazil2024-09-06
1020Germany2024-08-27
1021Argentina2024-09-15
1022India2024-09-15
1023Italy2024-09-10
1024Russia2024-09-02
1025Italy2024-08-28
1026Argentina2024-09-08
1027India2024-09-15
1028India2024-09-11
1029Germany2024-09-15
1030Brazil2024-09-07
1031Russia2024-09-21
1032Russia2024-09-16
1033France2024-08-31
1034Argentina2024-09-10
1035Canada2024-08-27
1036Italy2024-08-30
1037India2024-08-31
1038Russia2024-09-15
1039Argentina2024-09-13
1040France2024-08-31
1041India2024-09-07
1042India2024-09-19
1043India2024-08-28
1044Japan2024-09-03
1045Canada2024-09-10
1046Brazil2024-09-11
1047Germany2024-09-22
1048India2024-09-10
1049Italy2024-08-29

On-Demand Data

NameIdCountryDate
Mujtaba K Stenseth1000India2024-09-20
Faith B Briddick1001Argentina2024-09-18
Aika O Flosi1002Italy2024-09-12
Mayumi Z Ferencz1003Brazil2024-09-10
Darci Q Gillian1004Argentina2024-09-05
Jones T Caudy1005India2024-09-01
Maria N Caudy1006Argentina2024-08-30
Arvin J Gaucho1007Argentina2024-09-18
Sinclair F Perin1008Canada2024-09-03
Faith H Paprocki1009United Kingdom2024-09-24
Alejandro M Inouye1010Italy2024-09-17
Antonio U Inouye1011Brazil2024-09-05
Chavez Z Tollner1012Argentina2024-09-07
Aruna X Venere1013Italy2024-09-03
Deepesh T Malet1014France2024-09-02
Kaitlin J Garufi1015India2024-08-31
Jennifer M Foller1016France2024-09-02
Aditya L Vocelka1017Canada2024-09-06
Misaki O Inouye1018India2024-09-22
Kaitlin V Garufi1019Germany2024-09-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika B DarakjyRussiaXuxue Feng NEGOTIATION
Mayumi X ButtGermanyBernardo Dominic PROPOSAL
Arvin U IturbideAustraliaXuxue Feng NEW
Nicolas P MacleadRussiaElwin Sharvill QUALIFIED
Johnson O RoysterRussiaBernardo Dominic NEW
Aika Q MarrierCanadaAnna Fali NEGOTIATION
Adams C RoysterAustraliaOnyama Limba NEW
Mayumi M CampainCanadaBernardo Dominic QUALIFIED
Silvio A RutaFranceIoni Bowcher NEGOTIATION
Nicolas S IturbideCanadaStephen Shaw NEGOTIATION
David X CampainFranceAmy Elsner NEW
Octavia Y RoysterBrazilIoni Bowcher RENEWAL
Aika I AmigonUnited KingdomAnna Fali PROPOSAL
Salvatore W DilliardBrazilIoni Bowcher PROPOSAL
Mayumi L NickaUnited KingdomStephen Shaw PROPOSAL
Claire C OldroydIndiaElwin Sharvill PROPOSAL
Leja I KuskoBrazilStephen Shaw UNQUALIFIED
Aika W RoysterUnited KingdomXuxue Feng NEW
Jefferson V KolmetzItalyStephen Shaw NEW
Wickens U PerinUnited KingdomElwin Sharvill NEW
Sinclair M AlbaresFranceElwin Sharvill NEW
Mayumi P CaudyItalyOnyama Limba NEW
Kadeem Z CaldareraSpainAmy Elsner PROPOSAL
Costa Y SchemmerBrazilStephen Shaw UNQUALIFIED
Octavia G IturbideArgentinaOnyama Limba PROPOSAL
Izzy J RimJapanXuxue Feng RENEWAL
Clifford I GlickBrazilIoni Bowcher NEGOTIATION
Aruna J StensethJapanAsiya Javayant UNQUALIFIED
Jefferson A RimBrazilElwin Sharvill NEGOTIATION
Munro Z MaletGermanyAsiya Javayant NEGOTIATION
Munro L PaprockiGermanyAsiya Javayant QUALIFIED
Greenwood P PaprockiIndiaXuxue Feng NEW
Jones P IturbideAustraliaAsiya Javayant NEGOTIATION
Mujtaba F GarufiFranceElwin Sharvill NEW
Alejandro G KuskoSpainAmy Elsner RENEWAL
Maisha K CaldareraRussiaBernardo Dominic UNQUALIFIED
Sinclair A FerenczIndiaIvan Magalhaes QUALIFIED
Octavia N IturbideUnited KingdomAnna Fali NEW
Faith Q GlickFranceElwin Sharvill PROPOSAL
Misaki J VocelkaSpainIvan Magalhaes 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>