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
Ivar X OldroydItalyElwin Sharvill UNQUALIFIED
Silvio X OstroskyCanadaIoni Bowcher UNQUALIFIED
Jones E MarrierJapanElwin Sharvill NEGOTIATION
Leja C VocelkaJapanIoni Bowcher RENEWAL
Jennifer M SaylorsAustraliaElwin Sharvill PROPOSAL
Silvio Q InouyeItalyStephen Shaw UNQUALIFIED
Jennifer S SaylorsGermanyElwin Sharvill QUALIFIED
Misaki U FerenczCanadaBernardo Dominic UNQUALIFIED
Misaki C OstroskyArgentinaIoni Bowcher RENEWAL
Ivar N WaycottSpainAsiya Javayant NEGOTIATION
Mujtaba S TollnerIndiaAsiya Javayant PROPOSAL
Kadeem G SchemmerJapanOnyama Limba PROPOSAL
Aditya B FerenczBrazilBernardo Dominic NEW
Mayumi B VocelkaGermanyXuxue Feng UNQUALIFIED
Antonio Y BowleyIndiaIvan Magalhaes RENEWAL
Ashley H StensethRussiaStephen Shaw UNQUALIFIED
Darci T WhobreyAustraliaIvan Magalhaes PROPOSAL
Izzy C KuskoCanadaXuxue Feng PROPOSAL
Ricardo A SaylorsUnited KingdomAsiya Javayant NEW
Kaitlin C CaldareraGermanyElwin Sharvill QUALIFIED
Silvio S RulapaughArgentinaAnna Fali QUALIFIED
Maisha L GlickCanadaIoni Bowcher PROPOSAL
Murillo R GauchoArgentinaStephen Shaw UNQUALIFIED
Jennifer L FlosiArgentinaAmy Elsner NEGOTIATION
Arvin O FollerJapanXuxue Feng QUALIFIED
Ricardo V MacleadGermanyBernardo Dominic PROPOSAL
Mayumi B OldroydUnited KingdomIvan Magalhaes NEGOTIATION
Costa M NestleIndiaAsiya Javayant RENEWAL
Izzy V GillianBrazilOnyama Limba PROPOSAL
Munro X SergiJapanBernardo Dominic NEGOTIATION
Francesco V BowleyGermanyAmy Elsner PROPOSAL
Aika T FollerIndiaIoni Bowcher NEW
Aditya N DarakjyAustraliaIvan Magalhaes QUALIFIED
Aditya C SaylorsSpainIvan Magalhaes QUALIFIED
Costa X FerenczArgentinaIvan Magalhaes QUALIFIED
Rodrigues G RulapaughSpainXuxue Feng RENEWAL
Greenwood K GauchoAustraliaElwin Sharvill QUALIFIED
Ashley A MacleadRussiaXuxue Feng PROPOSAL
Wickens S ChuiBrazilAsiya Javayant RENEWAL
Leon X NestleArgentinaElwin Sharvill RENEWAL
David G MaletFranceXuxue Feng RENEWAL
Ricardo F FigeroaArgentinaElwin Sharvill NEGOTIATION
Ashley N NickaSpainIvan Magalhaes UNQUALIFIED
Deepesh O PerinSpainBernardo Dominic PROPOSAL
Adams B GlickItalyAmy Elsner RENEWAL
Murillo M ShinkoRussiaStephen Shaw PROPOSAL
Silvio Y MacleadSpainIvan Magalhaes PROPOSAL
Tony A RutaCanadaAsiya Javayant RENEWAL
Mayumi H WhobreySpainBernardo Dominic PROPOSAL
Sinclair S InouyeRussiaElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Greenwood K SaylorsIndiaIvan Magalhaes RENEWAL
Faith J RutaItalyAsiya Javayant RENEWAL
Jefferson B GlickIndiaIvan Magalhaes RENEWAL
Maisha I FerenczItalyIoni Bowcher NEGOTIATION
Stacey C GauchoJapanAnna Fali RENEWAL
Aika C BriddickItalyIoni Bowcher NEGOTIATION
Clifford B KolmetzIndiaAmy Elsner RENEWAL
Greenwood K GauchoJapanIoni Bowcher UNQUALIFIED
David U BriddickArgentinaIvan Magalhaes PROPOSAL
Octavia O GauchoSpainIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith F KolmetzArgentina2024-06-22Chanay, Jeffrey A Esq QUALIFIED44Xuxue Feng
1001Mujtaba N MarrierAustralia2024-06-10Buckley Miller Wright RENEWAL24Asiya Javayant
1002Clifford N MaletAustralia2024-06-16Printing Dimensions NEGOTIATION3Elwin Sharvill
1003Aruna R BriddickGermany2024-05-30Chapman, Ross E Esq RENEWAL8Onyama Limba
1004Aditya D MorascaFrance2024-06-21Chemel, James L Cpa UNQUALIFIED11Elwin Sharvill
1005Aruna W MarrierFrance2024-06-12Chapman, Ross E Esq NEW63Bernardo Dominic
1006Izzy W StensethIndia2024-06-06Commercial Press QUALIFIED45Ivan Magalhaes
1007Silvio K GillianCanada2024-06-12Chapman, Ross E Esq RENEWAL22Asiya Javayant
1008Emily S RoysterAustralia2024-06-17Benton, John B Jr NEGOTIATION43Elwin Sharvill
1009Mayumi L MarrierItaly2024-06-12Truhlar And Truhlar Attys RENEWAL24Elwin Sharvill
1010Jones U ChuiFrance2024-06-04Rangoni Of Florence RENEWAL71Amy Elsner
1011Maria Y SlusarskiItaly2024-06-18Chanay, Jeffrey A Esq PROPOSAL94Anna Fali
1012Stacey J VocelkaIndia2024-06-15Dorl, James J Esq QUALIFIED79Ioni Bowcher
1013Jefferson J FollerBrazil2024-05-31Truhlar And Truhlar Attys NEW94Xuxue Feng
1014Emily E AmigonAustralia2024-06-09Rangoni Of Florence QUALIFIED93Onyama Limba
1015Jefferson K StensethCanada2024-06-13Buckley Miller Wright NEGOTIATION40Onyama Limba
1016Misaki T BowleyAustralia2024-06-19Truhlar And Truhlar Attys NEW43Onyama Limba
1017Wickens G MarrierBrazil2024-06-06Printing Dimensions RENEWAL22Bernardo Dominic
1018Emily U KuskoJapan2024-06-21Rangoni Of Florence RENEWAL61Xuxue Feng
1019Jeanfrancois P DarakjyFrance2024-06-09Commercial Press QUALIFIED16Ivan Magalhaes
1020Greenwood R KolmetzCanada2024-05-30Truhlar And Truhlar Attys PROPOSAL21Elwin Sharvill
1021Ashley I TollnerRussia2024-06-07Benton, John B Jr QUALIFIED13Anna Fali
1022Aruna T GarufiJapan2024-06-24Morlong Associates PROPOSAL79Onyama Limba
1023Octavia I DilliardIndia2024-06-19Buckley Miller Wright QUALIFIED64Asiya Javayant
1024Chavez I ButtRussia2024-05-29Commercial Press NEW52Ioni Bowcher
1025Jeanfrancois R PerinCanada2024-06-16Benton, John B Jr QUALIFIED8Asiya Javayant
1026Munro K MacleadCanada2024-06-12Benton, John B Jr NEGOTIATION83Ivan Magalhaes
1027Emily S ChuiAustralia2024-06-16Printing Dimensions NEGOTIATION73Bernardo Dominic
1028Ivar G MarrierRussia2024-06-10Truhlar And Truhlar Attys PROPOSAL87Ioni Bowcher
1029Isabel E OstroskyFrance2024-06-05Benton, John B Jr NEGOTIATION66Ivan Magalhaes
1030Wickens F OldroydUnited Kingdom2024-06-17King, Christopher A Esq PROPOSAL23Onyama Limba
1031Izzy D MaletAustralia2024-06-15Truhlar And Truhlar Attys NEW75Asiya Javayant
1032Cody R CampainArgentina2024-06-13Rousseaux, Michael Esq RENEWAL37Onyama Limba
1033Maisha A RutaItaly2024-06-20Feiner Bros QUALIFIED52Xuxue Feng
1034Ivar G WaycottFrance2024-06-01Feltz Printing Service NEGOTIATION98Anna Fali
1035Mujtaba K VocelkaCanada2024-06-03King, Christopher A Esq QUALIFIED59Amy Elsner
1036Adams F WaycottRussia2024-06-17Dorl, James J Esq QUALIFIED11Ioni Bowcher
1037David O MaletJapan2024-05-29Dorl, James J Esq NEGOTIATION73Elwin Sharvill
1038Misaki X OstroskySpain2024-06-08Rousseaux, Michael Esq UNQUALIFIED34Ivan Magalhaes
1039Jones C MacleadArgentina2024-06-06Printing Dimensions QUALIFIED21Asiya Javayant
1040Stacey I OldroydBrazil2024-06-11Chanay, Jeffrey A Esq NEW21Elwin Sharvill
1041Chavez H NickaUnited Kingdom2024-06-11Feiner Bros NEGOTIATION29Ivan Magalhaes
1042Antonio T RimBrazil2024-06-04Rousseaux, Michael Esq NEGOTIATION34Amy Elsner
1043Jeanfrancois Z RulapaughUnited Kingdom2024-05-28Feiner Bros NEGOTIATION21Bernardo Dominic
1044Ivar K CaldareraIndia2024-06-13Printing Dimensions RENEWAL85Amy Elsner
1045Johnson M DarakjyArgentina2024-06-08Feltz Printing Service NEGOTIATION73Ivan Magalhaes
1046Jefferson T StockhamUnited Kingdom2024-06-19King, Christopher A Esq NEGOTIATION48Bernardo Dominic
1047Francesco A FigeroaUnited Kingdom2024-06-20Benton, John B Jr NEGOTIATION11Amy Elsner
1048David Y OstroskyJapan2024-06-03Chanay, Jeffrey A Esq QUALIFIED87Amy Elsner
1049Jefferson I BriddickCanada2024-06-05Truhlar And Truhlar Attys RENEWAL57Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Ashley H VenereUnited KingdomOnyama Limba PROPOSAL
Leon Q StockhamItalyAsiya Javayant RENEWAL
Isabel T WieserItalyXuxue Feng NEW
Ashley Q OldroydUnited KingdomIvan Magalhaes NEW
Faith S FerenczFranceAmy Elsner PROPOSAL
Alejandro V FigeroaItalyIoni Bowcher NEW
Aditya K WaycottCanadaStephen Shaw UNQUALIFIED
Aditya Y MarrierRussiaAmy Elsner UNQUALIFIED
Ricardo S KuskoRussiaIoni Bowcher PROPOSAL
Kadeem T CaudyIndiaIoni Bowcher RENEWAL
David E OldroydCanadaAmy Elsner RENEWAL
Deepesh I BriddickAustraliaOnyama Limba QUALIFIED
David H PerinAustraliaIvan Magalhaes PROPOSAL
Stacey S FerenczItalyIvan Magalhaes NEGOTIATION
Greenwood H GillianBrazilAnna Fali UNQUALIFIED
Misaki B NestleAustraliaAnna Fali PROPOSAL
Francesco K BologniaItalyStephen Shaw QUALIFIED
Jefferson V WaycottSpainAnna Fali QUALIFIED
Emily H SergiIndiaStephen Shaw RENEWAL
Clifford S GauchoFranceBernardo Dominic NEGOTIATION
Izzy L KolmetzAustraliaBernardo Dominic PROPOSAL
Alejandro U DoeJapanStephen Shaw NEW
Faith N SergiRussiaElwin Sharvill NEGOTIATION
Smith T BriddickAustraliaXuxue Feng QUALIFIED
Maisha K ChuiAustraliaElwin Sharvill QUALIFIED
Munro Q FlosiArgentinaAsiya Javayant QUALIFIED
Jefferson Z StockhamSpainIoni Bowcher RENEWAL
Leon Z KuskoGermanyStephen Shaw UNQUALIFIED
Isabel D RimSpainIvan Magalhaes UNQUALIFIED
Deepesh M StockhamArgentinaAmy Elsner UNQUALIFIED
James B FollerCanadaBernardo Dominic PROPOSAL
Sinclair Q MorascaIndiaIvan Magalhaes NEGOTIATION
Leja C RulapaughIndiaStephen Shaw NEW
Chavez F OstroskyBrazilAsiya Javayant RENEWAL
Darci F GillianSpainAsiya Javayant NEW
Costa A BowleySpainXuxue Feng PROPOSAL
Octavia X GauchoJapanBernardo Dominic PROPOSAL
Ivar X FerenczGermanyBernardo Dominic NEGOTIATION
Juan I GlickSpainAnna Fali RENEWAL
Cody J AmigonFranceIoni Bowcher NEW
Costa S DilliardSpainXuxue Feng RENEWAL
Jones E WaycottUnited KingdomAmy Elsner RENEWAL
Juan T GlickAustraliaElwin Sharvill RENEWAL
Ricardo S GillianUnited KingdomElwin Sharvill QUALIFIED
Jones K RutaAustraliaElwin Sharvill NEW
James H MaletCanadaStephen Shaw RENEWAL
Maisha B StensethJapanAmy Elsner QUALIFIED
Jeanfrancois W SergiRussiaElwin Sharvill PROPOSAL
Adams M SergiArgentinaIoni Bowcher PROPOSAL
Morrow U SergiFranceBernardo Dominic RENEWAL
Frozen Columns
Name
Leja O Foller
Cody Q Dilliard
Claire M Butt
Chavez E Amigon
Arvin J Caldarera
Antonio B Chui
Kaitlin Z Albares
Sinclair U Ostrosky
Wickens C Maclead
Cody O Caldarera
James E Darakjy
Johnson G Figeroa
Clifford Z Rulapaugh
Cody W Gaucho
Jones C Garufi
Ricardo Y Ferencz
Nicolas M Glick
Mayumi P Amigon
Mujtaba F Sergi
Ashley I Paprocki
Aditya W Flosi
Tony M Sergi
Faith J Vocelka
Costa S Gillian
Kaitlin R Dilliard
Ricardo R Morasca
Tony Z Saylors
Ivar P Briddick
Smith O Gaucho
David R Rim
Isabel S Morasca
Emily Z Amigon
Misaki G Malet
Aditya M Bolognia
Maria O Foller
Maisha U Sergi
Leja B Bowley
Jones Q Foller
Maria P Schemmer
Rodrigues S Whobrey
Tony Q Rim
Nicolas H Foller
Salvatore T Sergi
Juan O Butt
Juan X Stenseth
Morrow M Sergi
Tony V Malet
Francesco J Nestle
Costa Q Doe
Costa V Wieser
IdCountryDate
1000Brazil2024-06-12
1001Australia2024-05-30
1002India2024-06-18
1003Australia2024-05-31
1004Italy2024-06-06
1005Germany2024-06-24
1006Russia2024-06-02
1007Germany2024-05-28
1008Brazil2024-06-13
1009Italy2024-06-07
1010United Kingdom2024-06-09
1011Spain2024-06-23
1012India2024-06-03
1013Japan2024-06-16
1014Spain2024-06-17
1015France2024-06-06
1016United Kingdom2024-06-12
1017United Kingdom2024-05-31
1018Germany2024-06-04
1019Canada2024-06-23
1020Germany2024-05-29
1021Russia2024-06-06
1022Brazil2024-06-23
1023Italy2024-06-01
1024Brazil2024-06-02
1025France2024-06-14
1026Canada2024-06-23
1027Brazil2024-06-02
1028Italy2024-05-31
1029Italy2024-06-23
1030Argentina2024-05-27
1031France2024-06-19
1032Canada2024-06-16
1033Japan2024-06-18
1034Germany2024-06-06
1035Japan2024-06-17
1036United Kingdom2024-06-08
1037Canada2024-06-22
1038United Kingdom2024-06-07
1039Argentina2024-06-14
1040Italy2024-06-23
1041United Kingdom2024-05-29
1042Japan2024-06-19
1043Japan2024-06-02
1044France2024-06-05
1045Spain2024-06-04
1046Argentina2024-06-18
1047Argentina2024-05-26
1048Italy2024-06-21
1049Russia2024-06-06

On-Demand Data

NameIdCountryDate
Arvin V Foller1000Brazil2024-06-19
Greenwood R Marrier1001India2024-06-22
Salvatore N Albares1002Germany2024-06-06
Kadeem W Caudy1003Argentina2024-06-23
Darci V Inouye1004Australia2024-06-20
James N Tollner1005Spain2024-06-02
Nicolas Q Nicka1006Japan2024-06-12
Arvin T Whobrey1007Russia2024-06-18
Rodrigues S Malet1008Spain2024-06-12
David Z Gillian1009France2024-06-19
Misaki W Bowley1010Canada2024-06-13
James N Gaucho1011United Kingdom2024-06-23
Arvin I Vocelka1012Germany2024-06-16
Leon S Iturbide1013Australia2024-06-14
Aruna E Poquette1014Italy2024-06-16
Maria Q Morasca1015Germany2024-06-06
Aika Y Wieser1016United Kingdom2024-06-03
David V Wieser1017Brazil2024-06-22
Arvin A Amigon1018Spain2024-06-11
Adams J Morasca1019Spain2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio V SlusarskiBrazilAnna Fali UNQUALIFIED
David I OstroskyItalyElwin Sharvill QUALIFIED
Smith W AmigonUnited KingdomElwin Sharvill RENEWAL
Juan C CampainSpainAmy Elsner NEGOTIATION
Maria J AlbaresUnited KingdomStephen Shaw PROPOSAL
Maria H StockhamGermanyIvan Magalhaes RENEWAL
Salvatore N BriddickUnited KingdomAmy Elsner NEGOTIATION
Maisha X GauchoUnited KingdomBernardo Dominic RENEWAL
Wickens F GillianJapanIoni Bowcher UNQUALIFIED
Isabel H GlickFranceOnyama Limba NEGOTIATION
Isabel N VocelkaFranceIvan Magalhaes PROPOSAL
Silvio V FigeroaCanadaXuxue Feng RENEWAL
Jennifer C WhobreyRussiaAnna Fali QUALIFIED
Aditya X FigeroaAustraliaAsiya Javayant UNQUALIFIED
Leon Q ShinkoAustraliaIoni Bowcher PROPOSAL
Stacey A StensethSpainAsiya Javayant NEW
Sinclair Y DarakjyRussiaStephen Shaw QUALIFIED
Nicolas C SlusarskiSpainIoni Bowcher NEW
Emily W SergiUnited KingdomElwin Sharvill QUALIFIED
Claire B DarakjyCanadaIvan Magalhaes NEW
Morrow A KuskoGermanyBernardo Dominic PROPOSAL
Aditya Z RimJapanXuxue Feng PROPOSAL
Kaitlin M TollnerIndiaAmy Elsner QUALIFIED
Chavez V AmigonJapanIoni Bowcher NEW
Stacey K SergiSpainAmy Elsner QUALIFIED
Maria G RulapaughAustraliaAsiya Javayant NEW
James A ChuiBrazilElwin Sharvill QUALIFIED
Jennifer D ChuiBrazilElwin Sharvill NEGOTIATION
Chavez K KolmetzGermanyStephen Shaw RENEWAL
Octavia B DarakjySpainElwin Sharvill UNQUALIFIED
Octavia D BowleySpainOnyama Limba PROPOSAL
Tony O KolmetzIndiaElwin Sharvill NEW
Leja U MorascaFranceAnna Fali NEW
Kadeem T SergiCanadaXuxue Feng NEGOTIATION
Clifford U FigeroaGermanyElwin Sharvill QUALIFIED
Mujtaba J DoeUnited KingdomIvan Magalhaes NEW
Smith A FigeroaIndiaXuxue Feng RENEWAL
Alejandro Y RulapaughIndiaAnna Fali QUALIFIED
Murillo Y PoquetteIndiaAmy Elsner QUALIFIED
Deepesh B FlosiUnited KingdomIvan 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>