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 I PaprockiUnited KingdomStephen Shaw QUALIFIED
Ivar X SergiItalyBernardo Dominic QUALIFIED
Aika E MarrierAustraliaOnyama Limba QUALIFIED
Kadeem P WaycottUnited KingdomAsiya Javayant PROPOSAL
Ricardo Y IturbideCanadaAsiya Javayant RENEWAL
Adams J RutaCanadaBernardo Dominic UNQUALIFIED
Ivar Y FerenczItalyAmy Elsner RENEWAL
Alejandro B ButtItalyBernardo Dominic UNQUALIFIED
Ivar T AlbaresGermanyIvan Magalhaes RENEWAL
Leon V SergiGermanyAsiya Javayant NEW
Salvatore K CaudyGermanyIoni Bowcher UNQUALIFIED
Jefferson J AmigonGermanyXuxue Feng NEW
Cody M PoquetteBrazilIoni Bowcher QUALIFIED
Nicolas U WaycottArgentinaOnyama Limba NEW
Murillo R MarrierJapanElwin Sharvill RENEWAL
Mujtaba K MacleadJapanOnyama Limba QUALIFIED
Claire A BriddickFranceXuxue Feng NEGOTIATION
Mayumi Q StockhamFranceOnyama Limba UNQUALIFIED
Ashley B FollerSpainXuxue Feng RENEWAL
Adams C VocelkaJapanOnyama Limba QUALIFIED
Emily O BowleyArgentinaOnyama Limba NEGOTIATION
Julie Y NickaGermanyIoni Bowcher RENEWAL
Munro N BowleyFranceOnyama Limba UNQUALIFIED
Juan I NestleFranceAnna Fali NEW
Antonio W MaletArgentinaBernardo Dominic RENEWAL
Octavia D SlusarskiItalyIoni Bowcher RENEWAL
Salvatore W WieserArgentinaBernardo Dominic NEW
Aika Q AmigonGermanyAmy Elsner PROPOSAL
Jones T SchemmerRussiaXuxue Feng PROPOSAL
Emily P CampainUnited KingdomElwin Sharvill UNQUALIFIED
Emily I MaletSpainIoni Bowcher QUALIFIED
Wickens Y SchemmerCanadaIoni Bowcher PROPOSAL
Darci F CaldareraRussiaOnyama Limba QUALIFIED
Mujtaba F AlbaresAustraliaElwin Sharvill QUALIFIED
Arvin W MaletGermanyAsiya Javayant RENEWAL
Jennifer G FollerItalyStephen Shaw UNQUALIFIED
Costa W ButtSpainIvan Magalhaes RENEWAL
Julie S SergiArgentinaElwin Sharvill RENEWAL
Kaitlin B WaycottRussiaOnyama Limba RENEWAL
Johnson R WieserGermanyBernardo Dominic PROPOSAL
Murillo X FollerGermanyIoni Bowcher NEW
Faith C OldroydRussiaStephen Shaw QUALIFIED
Maisha M IturbideIndiaIvan Magalhaes PROPOSAL
Nicolas B PaprockiJapanAsiya Javayant NEW
Juan L BowleyCanadaElwin Sharvill QUALIFIED
Adams N CaudyGermanyStephen Shaw QUALIFIED
Sinclair N MarrierUnited KingdomIoni Bowcher NEGOTIATION
David Y RutaRussiaIoni Bowcher NEW
Kaitlin X PoquetteFranceOnyama Limba RENEWAL
Leja X KuskoRussiaIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aruna G GillianSpainStephen Shaw NEGOTIATION
Johnson C KuskoRussiaAmy Elsner PROPOSAL
Isabel A StockhamBrazilBernardo Dominic NEW
Mayumi I FlosiJapanOnyama Limba NEW
James H RoysterFranceBernardo Dominic NEGOTIATION
Darci B VocelkaSpainAmy Elsner NEW
Aditya A FigeroaFranceStephen Shaw RENEWAL
Jeanfrancois V RutaJapanIoni Bowcher NEW
Leon W BowleyCanadaElwin Sharvill UNQUALIFIED
Faith N StensethGermanyAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia W IturbideUnited Kingdom2024-05-29Feiner Bros NEW44Bernardo Dominic
1001Adams D CampainIndia2024-05-25Rangoni Of Florence PROPOSAL41Stephen Shaw
1002Aruna J KuskoBrazil2024-06-02Rangoni Of Florence NEGOTIATION94Xuxue Feng
1003Morrow Q SergiUnited Kingdom2024-05-31Printing Dimensions PROPOSAL71Onyama Limba
1004Greenwood Y StockhamFrance2024-05-29Benton, John B Jr PROPOSAL12Ioni Bowcher
1005Alejandro G BriddickArgentina2024-05-22Chanay, Jeffrey A Esq NEGOTIATION88Ioni Bowcher
1006Faith V MaletIndia2024-05-27Commercial Press NEGOTIATION62Asiya Javayant
1007Silvio M AmigonSpain2024-05-27Dorl, James J Esq NEW52Elwin Sharvill
1008Salvatore C SaylorsFrance2024-05-29Benton, John B Jr RENEWAL41Xuxue Feng
1009Aika C PoquetteCanada2024-05-31Truhlar And Truhlar Attys QUALIFIED42Ivan Magalhaes
1010Silvio K PerinBrazil2024-05-28Chanay, Jeffrey A Esq NEW35Onyama Limba
1011Arvin L BriddickSpain2024-05-24Chapman, Ross E Esq NEW96Elwin Sharvill
1012Mayumi K WieserGermany2024-05-30Printing Dimensions NEGOTIATION85Bernardo Dominic
1013Kaitlin Z WieserUnited Kingdom2024-05-29Dorl, James J Esq UNQUALIFIED36Xuxue Feng
1014Jones F NickaItaly2024-06-17Chanay, Jeffrey A Esq RENEWAL20Bernardo Dominic
1015Jeanfrancois F BowleyJapan2024-05-26Chanay, Jeffrey A Esq NEW25Bernardo Dominic
1016Claire U CampainArgentina2024-05-25Feiner Bros NEGOTIATION15Ioni Bowcher
1017Juan A ButtArgentina2024-06-04Feltz Printing Service QUALIFIED56Amy Elsner
1018Deepesh Y RulapaughArgentina2024-06-14Dorl, James J Esq QUALIFIED30Xuxue Feng
1019Leon A WieserItaly2024-05-25Rangoni Of Florence RENEWAL46Ivan Magalhaes
1020Claire D MarrierUnited Kingdom2024-06-13Benton, John B Jr NEGOTIATION94Stephen Shaw
1021Tony V FigeroaItaly2024-06-04Dorl, James J Esq NEW2Bernardo Dominic
1022Maria Q ButtBrazil2024-06-06Truhlar And Truhlar Attys QUALIFIED48Asiya Javayant
1023Munro Y DoeIndia2024-05-26Benton, John B Jr QUALIFIED92Bernardo Dominic
1024Adams M StensethCanada2024-06-14Chanay, Jeffrey A Esq PROPOSAL1Ivan Magalhaes
1025Claire Y WieserUnited Kingdom2024-06-18Feiner Bros NEW52Stephen Shaw
1026Isabel G RulapaughSpain2024-06-03Benton, John B Jr NEGOTIATION4Ioni Bowcher
1027Jennifer H OldroydBrazil2024-05-21Buckley Miller Wright QUALIFIED1Onyama Limba
1028Costa Z RutaGermany2024-05-22Chapman, Ross E Esq QUALIFIED87Asiya Javayant
1029David Y PerinUnited Kingdom2024-06-02Rangoni Of Florence QUALIFIED79Elwin Sharvill
1030Chavez S ChuiUnited Kingdom2024-05-28Printing Dimensions RENEWAL88Onyama Limba
1031Costa E PaprockiGermany2024-05-24Rangoni Of Florence QUALIFIED26Bernardo Dominic
1032Misaki F VenereAustralia2024-06-13Chanay, Jeffrey A Esq NEGOTIATION92Stephen Shaw
1033Wickens M ButtArgentina2024-05-24Chemel, James L Cpa QUALIFIED1Bernardo Dominic
1034Salvatore Y PoquetteItaly2024-06-16Benton, John B Jr UNQUALIFIED72Bernardo Dominic
1035Ashley H PerinAustralia2024-06-01Feiner Bros NEW56Ioni Bowcher
1036Jefferson T ShinkoUnited Kingdom2024-05-25Chanay, Jeffrey A Esq RENEWAL26Stephen Shaw
1037David L KuskoRussia2024-05-22Printing Dimensions NEGOTIATION83Elwin Sharvill
1038Leja U RimRussia2024-06-05Feltz Printing Service UNQUALIFIED65Bernardo Dominic
1039Leja C FerenczIndia2024-06-17Buckley Miller Wright NEGOTIATION42Anna Fali
1040Leon L SchemmerFrance2024-05-30Dorl, James J Esq PROPOSAL29Anna Fali
1041Misaki F WaycottFrance2024-05-26Commercial Press PROPOSAL84Elwin Sharvill
1042Leja E FlosiAustralia2024-06-13King, Christopher A Esq NEW55Bernardo Dominic
1043Mujtaba U OstroskyIndia2024-06-06Benton, John B Jr QUALIFIED43Anna Fali
1044Murillo Y ChuiBrazil2024-05-20Benton, John B Jr RENEWAL49Amy Elsner
1045Alejandro S TollnerArgentina2024-06-09King, Christopher A Esq NEW48Ioni Bowcher
1046Claire R MaletItaly2024-05-26Chapman, Ross E Esq NEGOTIATION55Xuxue Feng
1047Arvin H PerinCanada2024-06-18Chanay, Jeffrey A Esq NEGOTIATION95Bernardo Dominic
1048Francesco T FigeroaCanada2024-06-03Chanay, Jeffrey A Esq RENEWAL98Onyama Limba
1049Jones J FlosiCanada2024-05-26Feiner Bros QUALIFIED48Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Greenwood Q RimRussiaBernardo Dominic NEGOTIATION
Francesco O ChuiIndiaXuxue Feng UNQUALIFIED
Darci N BriddickJapanAsiya Javayant NEGOTIATION
Nicolas X VocelkaFranceElwin Sharvill NEGOTIATION
Morrow K AlbaresFranceBernardo Dominic PROPOSAL
Cody L CaudyCanadaBernardo Dominic QUALIFIED
Nicolas X PoquetteSpainStephen Shaw RENEWAL
Jones D MaletArgentinaStephen Shaw NEW
Cody L IturbideGermanyIoni Bowcher PROPOSAL
Izzy D ButtJapanIoni Bowcher NEGOTIATION
Deepesh Y KolmetzCanadaXuxue Feng NEGOTIATION
Murillo S VocelkaBrazilXuxue Feng NEW
Wickens J SaylorsGermanyStephen Shaw NEGOTIATION
Faith W ChuiFranceIoni Bowcher NEW
Jeanfrancois J FigeroaFranceIvan Magalhaes RENEWAL
Misaki Y VenereBrazilBernardo Dominic UNQUALIFIED
Mayumi U FollerArgentinaAnna Fali PROPOSAL
Faith J FlosiAustraliaAsiya Javayant NEW
Jones M DoeCanadaAnna Fali NEGOTIATION
Mayumi T RulapaughCanadaOnyama Limba PROPOSAL
Clifford K PoquetteCanadaBernardo Dominic QUALIFIED
Maisha M RimBrazilAnna Fali UNQUALIFIED
Silvio T GauchoRussiaAnna Fali PROPOSAL
Francesco C MaletFranceIvan Magalhaes RENEWAL
Kaitlin I SlusarskiRussiaIvan Magalhaes QUALIFIED
Francesco I FlosiSpainAnna Fali NEW
Izzy H SchemmerGermanyStephen Shaw NEW
Arvin H OstroskyRussiaBernardo Dominic PROPOSAL
Munro K ButtGermanyAsiya Javayant PROPOSAL
Wickens A CaldareraRussiaStephen Shaw PROPOSAL
Smith M KolmetzGermanyXuxue Feng UNQUALIFIED
Izzy S PaprockiFranceAsiya Javayant QUALIFIED
Ricardo J KuskoArgentinaIoni Bowcher RENEWAL
Kadeem I RimUnited KingdomOnyama Limba NEW
Munro J InouyeUnited KingdomIoni Bowcher QUALIFIED
Aditya S SchemmerArgentinaAsiya Javayant NEW
Cody C SchemmerItalyIvan Magalhaes NEW
Kadeem M CaudyItalyAmy Elsner NEW
Johnson V SergiSpainAmy Elsner RENEWAL
Sinclair Q SergiGermanyBernardo Dominic RENEWAL
Jefferson M GillianSpainOnyama Limba UNQUALIFIED
Aditya N BriddickIndiaAnna Fali NEGOTIATION
Aruna L KuskoSpainIoni Bowcher NEGOTIATION
Nicolas M WhobreyBrazilXuxue Feng RENEWAL
Silvio W PaprockiIndiaOnyama Limba NEW
Darci M WaycottSpainBernardo Dominic QUALIFIED
Kaitlin Z AlbaresGermanyXuxue Feng QUALIFIED
Faith V FigeroaBrazilXuxue Feng NEGOTIATION
Greenwood A GillianJapanAsiya Javayant NEW
James V StensethCanadaIvan Magalhaes NEW
Frozen Columns
Name
Aruna S Malet
Leja R Vocelka
Deepesh L Sergi
Juan W Perin
Chavez R Shinko
Misaki I Waycott
Silvio J Saylors
David S Foller
Antonio M Gaucho
Jones A Dilliard
Cody N Stenseth
Cody U Venere
Wickens M Schemmer
Misaki G Foller
Smith O Chui
Emily G Waycott
Rodrigues O Malet
Sinclair E Chui
Faith J Dilliard
Jefferson W Oldroyd
Rodrigues J Perin
Chavez K Doe
Mayumi K Gillian
Jones A Darakjy
Wickens U Caudy
Munro T Garufi
Greenwood Z Saylors
Misaki N Bowley
Leja P Perin
Kaitlin M Nicka
Aruna C Chui
Cody J Stenseth
Sinclair P Figeroa
Costa L Caldarera
Silvio A Foller
Jefferson I Royster
Aika L Bolognia
Murillo H Inouye
Ashley V Rulapaugh
Jefferson O Bolognia
Jennifer R Slusarski
Misaki R Poquette
Jennifer R Vocelka
Francesco S Stenseth
Leja D Bowley
Munro D Morasca
Adams Q Caldarera
Mayumi W Amigon
Morrow F Schemmer
Chavez B Figeroa
IdCountryDate
1000Spain2024-05-20
1001Russia2024-06-03
1002France2024-05-20
1003Brazil2024-05-27
1004India2024-05-20
1005Spain2024-06-14
1006Australia2024-06-17
1007India2024-06-07
1008France2024-06-16
1009India2024-06-06
1010Canada2024-05-20
1011Brazil2024-05-31
1012Italy2024-06-14
1013Brazil2024-06-07
1014Australia2024-06-02
1015France2024-05-30
1016Brazil2024-06-13
1017Germany2024-06-16
1018Russia2024-05-28
1019France2024-05-30
1020Spain2024-06-12
1021Italy2024-06-01
1022Spain2024-06-02
1023Italy2024-05-21
1024Japan2024-05-28
1025Russia2024-05-29
1026Italy2024-06-16
1027United Kingdom2024-05-22
1028Russia2024-06-01
1029Canada2024-06-18
1030Italy2024-06-10
1031Canada2024-05-26
1032Canada2024-06-14
1033Argentina2024-05-25
1034United Kingdom2024-06-10
1035Germany2024-05-27
1036Australia2024-06-13
1037Argentina2024-06-17
1038India2024-06-06
1039Spain2024-06-02
1040Canada2024-06-01
1041Italy2024-05-31
1042Argentina2024-05-31
1043Spain2024-06-02
1044Australia2024-06-15
1045Germany2024-05-26
1046Italy2024-05-31
1047Russia2024-05-20
1048Canada2024-05-21
1049France2024-05-30

On-Demand Data

NameIdCountryDate
Ivar S Slusarski1000United Kingdom2024-06-07
Darci V Saylors1001Germany2024-05-31
Cody X Ostrosky1002Australia2024-06-14
Jennifer J Foller1003Spain2024-06-11
Costa U Shinko1004India2024-06-09
Leja P Wieser1005Australia2024-05-31
Kadeem K Caudy1006Spain2024-05-23
Leon O Ostrosky1007Canada2024-06-08
Misaki R Slusarski1008Italy2024-05-20
Antonio N Vocelka1009Russia2024-06-16
Johnson P Gillian1010Australia2024-05-25
Johnson T Poquette1011Japan2024-06-13
Rodrigues Q Albares1012Italy2024-06-03
James Z Waycott1013Brazil2024-06-10
Morrow Y Nicka1014Japan2024-05-27
Greenwood J Malet1015France2024-06-11
Ricardo I Perin1016Australia2024-05-20
Johnson S Whobrey1017Brazil2024-05-21
Aditya E Malet1018Germany2024-05-25
Murillo L Malet1019Brazil2024-05-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar H BriddickIndiaAsiya Javayant NEW
Tony I OldroydGermanyBernardo Dominic NEGOTIATION
Julie Y GlickArgentinaStephen Shaw UNQUALIFIED
Darci J MacleadCanadaOnyama Limba QUALIFIED
Rodrigues I AlbaresSpainIoni Bowcher RENEWAL
Smith J BriddickGermanyAmy Elsner NEGOTIATION
Aika G IturbideAustraliaIvan Magalhaes NEGOTIATION
Emily B SchemmerUnited KingdomIoni Bowcher NEW
Kadeem C VocelkaItalyElwin Sharvill PROPOSAL
Silvio X TollnerSpainOnyama Limba PROPOSAL
Wickens B PerinIndiaAsiya Javayant RENEWAL
Francesco F WhobreySpainAnna Fali RENEWAL
Clifford L SlusarskiFranceAnna Fali NEW
Aruna N AmigonSpainAnna Fali NEW
Jennifer B SaylorsGermanyBernardo Dominic NEGOTIATION
Adams E KolmetzBrazilAnna Fali UNQUALIFIED
Aditya A AlbaresSpainBernardo Dominic UNQUALIFIED
Maria K BologniaRussiaAsiya Javayant RENEWAL
Ricardo F MacleadFranceBernardo Dominic PROPOSAL
Johnson T GauchoFranceIvan Magalhaes UNQUALIFIED
David I CaudyItalyAmy Elsner PROPOSAL
Juan X MacleadGermanyElwin Sharvill NEGOTIATION
Kadeem Q DarakjyFranceXuxue Feng RENEWAL
Silvio A SergiArgentinaIvan Magalhaes NEGOTIATION
Isabel Q MorascaRussiaIoni Bowcher UNQUALIFIED
Jones Y ButtSpainAmy Elsner PROPOSAL
Kadeem G FerenczArgentinaAsiya Javayant QUALIFIED
Tony G ShinkoCanadaXuxue Feng UNQUALIFIED
Deepesh A RimIndiaBernardo Dominic RENEWAL
Aika D WaycottAustraliaBernardo Dominic NEW
Jefferson L CaudyRussiaAsiya Javayant NEGOTIATION
Darci N ButtIndiaAsiya Javayant RENEWAL
Antonio X KolmetzCanadaAnna Fali NEGOTIATION
Greenwood X RutaRussiaAmy Elsner UNQUALIFIED
Jennifer W WieserBrazilAsiya Javayant UNQUALIFIED
Isabel D WhobreyJapanAmy Elsner NEW
Wickens P RoysterRussiaOnyama Limba NEW
Chavez Q SchemmerFranceStephen Shaw NEW
Wickens T NestleCanadaBernardo Dominic RENEWAL
Murillo Y SaylorsGermanyAsiya Javayant 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>