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
Leon X SlusarskiAustraliaOnyama Limba PROPOSAL
James Z BowleyRussiaIvan Magalhaes QUALIFIED
Maria B DarakjySpainIoni Bowcher RENEWAL
Rodrigues N GillianArgentinaXuxue Feng NEGOTIATION
Alejandro E WaycottIndiaElwin Sharvill NEGOTIATION
Jones V DarakjyArgentinaAnna Fali NEGOTIATION
Francesco E AlbaresItalyAnna Fali UNQUALIFIED
Julie C WieserJapanIvan Magalhaes NEW
Antonio K ShinkoUnited KingdomIoni Bowcher UNQUALIFIED
Salvatore C StensethIndiaIoni Bowcher QUALIFIED
Johnson H InouyeUnited KingdomAnna Fali NEW
Wickens U KolmetzAustraliaAnna Fali QUALIFIED
Clifford Y NestleJapanAnna Fali RENEWAL
Francesco S FerenczGermanyIvan Magalhaes PROPOSAL
Silvio D ShinkoAustraliaAnna Fali RENEWAL
Munro P GarufiIndiaBernardo Dominic RENEWAL
Kadeem K MaletFranceIvan Magalhaes RENEWAL
Cody V BriddickBrazilIoni Bowcher NEW
Rodrigues E SlusarskiIndiaIvan Magalhaes NEW
Alejandro D StensethGermanyIoni Bowcher RENEWAL
Emily N GarufiJapanStephen Shaw NEW
James U CampainFranceIoni Bowcher NEW
Munro D VocelkaFranceAsiya Javayant PROPOSAL
Mayumi T BologniaRussiaIoni Bowcher NEGOTIATION
Sinclair J SaylorsGermanyIvan Magalhaes QUALIFIED
Leon G TollnerGermanyOnyama Limba QUALIFIED
Claire A CaudyFranceStephen Shaw PROPOSAL
Wickens E DarakjyIndiaIoni Bowcher QUALIFIED
Arvin D BologniaUnited KingdomOnyama Limba UNQUALIFIED
Salvatore L WaycottIndiaStephen Shaw RENEWAL
Jeanfrancois G BologniaRussiaAnna Fali UNQUALIFIED
Aruna F OstroskyRussiaIoni Bowcher NEGOTIATION
Smith C CaldareraArgentinaIoni Bowcher PROPOSAL
Jennifer B StensethItalyIoni Bowcher PROPOSAL
Cody I MaletCanadaBernardo Dominic NEW
Julie P OstroskyUnited KingdomAnna Fali NEGOTIATION
Stacey I WieserBrazilAsiya Javayant PROPOSAL
Claire F BriddickJapanAsiya Javayant UNQUALIFIED
Ivar S GarufiItalyIoni Bowcher QUALIFIED
David T FlosiGermanyAsiya Javayant UNQUALIFIED
Kaitlin E PerinRussiaOnyama Limba NEW
Izzy V GillianIndiaAmy Elsner QUALIFIED
Ivar N PerinCanadaXuxue Feng QUALIFIED
Juan T CampainFranceAmy Elsner NEGOTIATION
Sinclair T SaylorsJapanAnna Fali RENEWAL
Leja P MaletItalyAnna Fali NEGOTIATION
Antonio Q AmigonArgentinaElwin Sharvill RENEWAL
Murillo G SlusarskiArgentinaBernardo Dominic RENEWAL
Mujtaba O SlusarskiAustraliaElwin Sharvill NEW
Aika L RimArgentinaIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Maria V FerenczGermanyAmy Elsner RENEWAL
Wickens J BologniaBrazilElwin Sharvill UNQUALIFIED
James H BologniaItalyAnna Fali RENEWAL
Isabel R RimItalyStephen Shaw QUALIFIED
Faith D VocelkaItalyElwin Sharvill NEGOTIATION
Stacey X SlusarskiBrazilIoni Bowcher NEW
Claire A ShinkoGermanyIvan Magalhaes UNQUALIFIED
Maria P SlusarskiRussiaIoni Bowcher PROPOSAL
Jeanfrancois M MacleadItalyBernardo Dominic PROPOSAL
Octavia K VenereRussiaIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin F PerinCanada2024-05-27Commercial Press QUALIFIED65Amy Elsner
1001Chavez D DarakjyItaly2024-05-22Benton, John B Jr QUALIFIED28Stephen Shaw
1002Ivar C SaylorsUnited Kingdom2024-05-27Morlong Associates UNQUALIFIED73Amy Elsner
1003Salvatore M KolmetzCanada2024-05-05Feltz Printing Service UNQUALIFIED82Amy Elsner
1004Mayumi O OstroskyCanada2024-05-17Rangoni Of Florence UNQUALIFIED68Ivan Magalhaes
1005Maisha P PaprockiFrance2024-05-11Chanay, Jeffrey A Esq NEGOTIATION12Asiya Javayant
1006Izzy B SergiJapan2024-05-20Rangoni Of Florence QUALIFIED92Stephen Shaw
1007Arvin U VenereJapan2024-05-27Chanay, Jeffrey A Esq NEW40Stephen Shaw
1008David Q SaylorsSpain2024-05-10Chemel, James L Cpa UNQUALIFIED33Onyama Limba
1009Jones I MacleadGermany2024-04-30Truhlar And Truhlar Attys PROPOSAL81Anna Fali
1010Isabel X MacleadIndia2024-05-11Chemel, James L Cpa PROPOSAL50Onyama Limba
1011Kaitlin O OldroydItaly2024-05-07Chemel, James L Cpa NEW96Xuxue Feng
1012Francesco W KolmetzJapan2024-05-20Chapman, Ross E Esq UNQUALIFIED53Onyama Limba
1013Ashley B KolmetzBrazil2024-05-13Chanay, Jeffrey A Esq RENEWAL78Xuxue Feng
1014Juan W NestleArgentina2024-05-07Dorl, James J Esq PROPOSAL64Ivan Magalhaes
1015Greenwood X VenereGermany2024-05-18Commercial Press RENEWAL48Asiya Javayant
1016Antonio L OstroskyBrazil2024-05-12Chanay, Jeffrey A Esq NEW4Xuxue Feng
1017Misaki V DoeGermany2024-05-18Feiner Bros NEGOTIATION7Stephen Shaw
1018Tony W MorascaUnited Kingdom2024-05-14Morlong Associates QUALIFIED99Elwin Sharvill
1019Murillo B StockhamBrazil2024-05-17Rousseaux, Michael Esq QUALIFIED76Stephen Shaw
1020Morrow R FigeroaCanada2024-05-11Chapman, Ross E Esq QUALIFIED46Stephen Shaw
1021Adams R SlusarskiJapan2024-04-28Commercial Press QUALIFIED98Onyama Limba
1022Ricardo M ShinkoSpain2024-05-04Benton, John B Jr NEGOTIATION6Anna Fali
1023Kaitlin N SlusarskiCanada2024-05-19Truhlar And Truhlar Attys NEW55Asiya Javayant
1024Alejandro K StockhamAustralia2024-04-29Feltz Printing Service NEW91Bernardo Dominic
1025Leon W OldroydIndia2024-05-18Rangoni Of Florence QUALIFIED79Stephen Shaw
1026Julie I GauchoRussia2024-05-08Chemel, James L Cpa QUALIFIED49Anna Fali
1027Costa A RoysterCanada2024-05-04Printing Dimensions UNQUALIFIED47Bernardo Dominic
1028Sinclair Z OstroskyUnited Kingdom2024-05-12Chanay, Jeffrey A Esq RENEWAL92Ioni Bowcher
1029Julie I BologniaUnited Kingdom2024-05-24King, Christopher A Esq QUALIFIED76Onyama Limba
1030Kaitlin Y NickaAustralia2024-05-21Feiner Bros NEGOTIATION44Ivan Magalhaes
1031Ashley L BowleySpain2024-05-26Rangoni Of Florence NEGOTIATION37Stephen Shaw
1032Munro C InouyeUnited Kingdom2024-05-06Benton, John B Jr NEW64Onyama Limba
1033Jennifer E VenereGermany2024-05-22Commercial Press RENEWAL3Anna Fali
1034Cody I IturbideRussia2024-05-19Truhlar And Truhlar Attys NEW2Elwin Sharvill
1035Francesco U RutaIndia2024-05-01Rangoni Of Florence NEW7Xuxue Feng
1036Cody H KuskoUnited Kingdom2024-05-25Truhlar And Truhlar Attys PROPOSAL4Xuxue Feng
1037Chavez M DarakjyFrance2024-05-02Buckley Miller Wright NEW26Ivan Magalhaes
1038Murillo O AlbaresFrance2024-05-09Benton, John B Jr PROPOSAL5Stephen Shaw
1039Ashley U NickaSpain2024-05-05Commercial Press QUALIFIED46Stephen Shaw
1040Deepesh Q SergiFrance2024-05-20Rangoni Of Florence RENEWAL23Xuxue Feng
1041Emily W SergiCanada2024-05-05Dorl, James J Esq NEW78Elwin Sharvill
1042Alejandro Z VocelkaCanada2024-05-24King, Christopher A Esq PROPOSAL76Bernardo Dominic
1043Aika N ChuiJapan2024-05-12Morlong Associates UNQUALIFIED11Anna Fali
1044Greenwood O MaletUnited Kingdom2024-05-08Feiner Bros RENEWAL45Ioni Bowcher
1045Leja V IturbideRussia2024-05-26Chanay, Jeffrey A Esq RENEWAL53Anna Fali
1046Arvin G PaprockiCanada2024-04-30Morlong Associates NEW2Anna Fali
1047Smith J AmigonIndia2024-05-25Chapman, Ross E Esq NEGOTIATION71Ioni Bowcher
1048Ivar M ButtItaly2024-05-19King, Christopher A Esq PROPOSAL85Ivan Magalhaes
1049Jennifer C RutaGermany2024-05-05Chemel, James L Cpa RENEWAL22Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Maisha H GillianGermanyOnyama Limba NEW
David E BriddickUnited KingdomBernardo Dominic NEGOTIATION
James V PerinSpainAmy Elsner QUALIFIED
Costa K StockhamJapanIoni Bowcher RENEWAL
Julie L GlickArgentinaIvan Magalhaes PROPOSAL
Clifford W RulapaughIndiaAnna Fali PROPOSAL
Johnson Y WhobreySpainAmy Elsner UNQUALIFIED
Chavez A BriddickBrazilXuxue Feng UNQUALIFIED
Morrow C ChuiAustraliaStephen Shaw QUALIFIED
James J SaylorsArgentinaStephen Shaw RENEWAL
Greenwood D VenereIndiaElwin Sharvill NEW
Silvio S AmigonIndiaOnyama Limba RENEWAL
Julie G CaudyAustraliaAnna Fali RENEWAL
Wickens O WhobreyRussiaIoni Bowcher RENEWAL
Clifford S SaylorsSpainIvan Magalhaes NEGOTIATION
Juan L SaylorsBrazilAmy Elsner PROPOSAL
Antonio D OldroydUnited KingdomAnna Fali PROPOSAL
Adams G NickaGermanyOnyama Limba NEW
Kadeem A FollerJapanAnna Fali NEW
Faith X CaudyItalyAnna Fali QUALIFIED
Jeanfrancois U FigeroaIndiaAsiya Javayant PROPOSAL
Greenwood J GarufiFranceElwin Sharvill PROPOSAL
Kaitlin F GlickCanadaXuxue Feng RENEWAL
Leja E KolmetzJapanBernardo Dominic QUALIFIED
Costa Y KolmetzAustraliaStephen Shaw NEW
Smith B GlickCanadaIoni Bowcher PROPOSAL
Nicolas B SergiJapanXuxue Feng PROPOSAL
Jones S PaprockiSpainXuxue Feng UNQUALIFIED
Ivar S WaycottSpainAmy Elsner UNQUALIFIED
Nicolas O VenereRussiaXuxue Feng QUALIFIED
Adams S ShinkoUnited KingdomOnyama Limba RENEWAL
Morrow V OstroskyCanadaOnyama Limba NEW
Antonio E DoeRussiaIvan Magalhaes UNQUALIFIED
Darci K MorascaJapanIoni Bowcher PROPOSAL
Isabel L ShinkoBrazilAnna Fali NEW
Isabel M InouyeAustraliaAmy Elsner QUALIFIED
Adams R ChuiUnited KingdomIvan Magalhaes QUALIFIED
Leon R ShinkoBrazilIoni Bowcher QUALIFIED
Aika U VocelkaCanadaIvan Magalhaes NEGOTIATION
Smith K InouyeItalyAnna Fali PROPOSAL
Aika K ChuiItalyBernardo Dominic RENEWAL
Jennifer U NestleArgentinaAmy Elsner UNQUALIFIED
Ivar Y ChuiFranceStephen Shaw NEW
Aruna F MacleadJapanAmy Elsner QUALIFIED
Juan I KolmetzBrazilOnyama Limba UNQUALIFIED
Silvio D AmigonUnited KingdomAnna Fali UNQUALIFIED
Tony E GlickFranceElwin Sharvill RENEWAL
Maria Q RimItalyStephen Shaw RENEWAL
Jennifer Z PoquetteFranceXuxue Feng NEW
Chavez G OstroskyJapanOnyama Limba NEW
Frozen Columns
Name
Kadeem D Poquette
Izzy A Perin
Izzy Q Poquette
Smith L Paprocki
David J Shinko
Munro O Albares
Mayumi H Iturbide
Faith J Royster
Juan A Gillian
David H Rulapaugh
Jefferson X Chui
Greenwood A Briddick
Mujtaba A Marrier
Claire Y Glick
Leon C Sergi
Maisha T Perin
Tony Y Ruta
Nicolas M Figeroa
Arvin Z Amigon
Jennifer H Vocelka
Chavez N Dilliard
Francesco O Figeroa
Mujtaba O Campain
Jones T Ruta
Antonio G Marrier
Arvin X Caldarera
Leja Q Inouye
Jefferson M Vocelka
Julie K Gaucho
Stacey X Kusko
Kaitlin R Caudy
Greenwood N Darakjy
Munro B Poquette
Wickens L Caldarera
Maria G Poquette
Ivar Y Wieser
Johnson A Paprocki
Jones X Tollner
Aruna X Gaucho
Francesco V Venere
Izzy F Oldroyd
Nicolas G Waycott
Mayumi H Garufi
Octavia X Oldroyd
Ivar N Dilliard
Ashley L Darakjy
Johnson D Shinko
Jeanfrancois L Malet
Ashley Q Flosi
Misaki H Vocelka
IdCountryDate
1000Japan2024-05-06
1001Italy2024-05-09
1002India2024-05-01
1003Germany2024-05-10
1004Canada2024-05-13
1005Spain2024-05-10
1006Australia2024-05-19
1007Japan2024-05-08
1008Germany2024-04-30
1009France2024-05-12
1010Argentina2024-05-14
1011United Kingdom2024-05-06
1012Russia2024-05-25
1013France2024-05-07
1014India2024-05-13
1015United Kingdom2024-05-15
1016Spain2024-05-05
1017Brazil2024-05-01
1018Canada2024-05-20
1019Italy2024-05-17
1020Japan2024-04-30
1021Italy2024-05-22
1022Brazil2024-05-07
1023France2024-05-05
1024Japan2024-05-07
1025Argentina2024-05-18
1026Germany2024-05-11
1027Italy2024-05-12
1028Canada2024-05-13
1029France2024-05-17
1030Germany2024-05-05
1031France2024-05-09
1032Germany2024-05-11
1033Spain2024-05-13
1034Australia2024-05-20
1035Russia2024-05-25
1036India2024-05-12
1037United Kingdom2024-05-11
1038Germany2024-05-16
1039Russia2024-05-07
1040Italy2024-05-11
1041Canada2024-05-05
1042India2024-05-08
1043Spain2024-05-05
1044Australia2024-05-09
1045India2024-05-08
1046Australia2024-05-26
1047France2024-05-21
1048Brazil2024-05-16
1049India2024-05-18

On-Demand Data

NameIdCountryDate
Aditya C Ferencz1000Russia2024-05-13
Salvatore Z Venere1001Brazil2024-05-02
Darci J Bolognia1002Japan2024-05-10
Izzy K Stenseth1003India2024-05-23
Misaki W Oldroyd1004Germany2024-05-15
Johnson X Glick1005Italy2024-05-12
Murillo M Butt1006Argentina2024-05-09
Antonio C Doe1007Argentina2024-05-13
Mujtaba X Wieser1008United Kingdom2024-05-21
Chavez Y Stockham1009Russia2024-05-14
Emily Y Malet1010Russia2024-05-13
Adams F Briddick1011Australia2024-05-25
Aruna V Rulapaugh1012Australia2024-05-05
Chavez R Kolmetz1013Italy2024-05-01
Claire V Tollner1014United Kingdom2024-05-25
Kadeem G Whobrey1015Russia2024-05-26
Aditya M Bolognia1016Brazil2024-05-19
Maisha X Sergi1017United Kingdom2024-05-04
Salvatore V Wieser1018Argentina2024-05-14
Sinclair H Malet1019Brazil2024-05-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna T GlickUnited KingdomIvan Magalhaes NEGOTIATION
Aika W AlbaresSpainAmy Elsner UNQUALIFIED
Ricardo H ShinkoIndiaIoni Bowcher UNQUALIFIED
Leon K MarrierCanadaBernardo Dominic NEW
Johnson E FerenczBrazilIoni Bowcher RENEWAL
Mayumi T InouyeAustraliaAmy Elsner QUALIFIED
Darci G SlusarskiArgentinaAnna Fali RENEWAL
Silvio V DoeAustraliaXuxue Feng QUALIFIED
James Q MorascaJapanElwin Sharvill QUALIFIED
Ricardo P SaylorsAustraliaIvan Magalhaes QUALIFIED
Darci Y PaprockiIndiaAsiya Javayant NEW
Antonio N BologniaArgentinaAsiya Javayant PROPOSAL
Kaitlin M RoysterAustraliaIoni Bowcher NEGOTIATION
Faith G VocelkaBrazilStephen Shaw NEW
Smith J ShinkoSpainBernardo Dominic QUALIFIED
Alejandro B CaldareraJapanIvan Magalhaes QUALIFIED
Cody T AmigonCanadaAsiya Javayant PROPOSAL
Chavez X BriddickFranceIoni Bowcher PROPOSAL
Costa Z BologniaArgentinaXuxue Feng UNQUALIFIED
Deepesh E PaprockiRussiaXuxue Feng QUALIFIED
David A StensethCanadaIvan Magalhaes NEW
Jennifer P StensethSpainElwin Sharvill QUALIFIED
Mujtaba M FigeroaItalyElwin Sharvill UNQUALIFIED
Rodrigues V PoquetteCanadaXuxue Feng NEGOTIATION
Silvio J FollerArgentinaAnna Fali PROPOSAL
Morrow C IturbideUnited KingdomAmy Elsner UNQUALIFIED
Stacey G TollnerItalyIoni Bowcher UNQUALIFIED
Tony N CaudyCanadaOnyama Limba PROPOSAL
Misaki R RulapaughCanadaIoni Bowcher NEW
Leon P ButtFranceAmy Elsner QUALIFIED
Jones C VocelkaCanadaIoni Bowcher NEGOTIATION
Costa F WaycottSpainIoni Bowcher NEGOTIATION
Aditya N WhobreyFranceElwin Sharvill NEGOTIATION
Cody N AlbaresRussiaIvan Magalhaes RENEWAL
Johnson S RulapaughRussiaOnyama Limba UNQUALIFIED
Arvin A ShinkoFranceIoni Bowcher PROPOSAL
Juan T GarufiUnited KingdomIvan Magalhaes UNQUALIFIED
Octavia T BowleyArgentinaBernardo Dominic NEW
Antonio O CaudyGermanyBernardo Dominic NEGOTIATION
Isabel D BriddickCanadaAmy Elsner NEW

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