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
Salvatore F BowleyCanadaIvan Magalhaes NEGOTIATION
Kadeem T PaprockiIndiaOnyama Limba NEW
Antonio I KolmetzItalyAnna Fali NEW
Izzy Z NickaJapanBernardo Dominic UNQUALIFIED
Antonio D RulapaughIndiaOnyama Limba PROPOSAL
Deepesh C PoquetteAustraliaElwin Sharvill RENEWAL
Ashley U MaletFranceAmy Elsner UNQUALIFIED
Aruna K TollnerAustraliaAnna Fali NEW
Greenwood D VenereItalyAmy Elsner RENEWAL
Nicolas Z StockhamJapanXuxue Feng NEGOTIATION
Octavia O SchemmerJapanXuxue Feng PROPOSAL
Munro I WaycottFranceXuxue Feng NEW
Isabel A FlosiArgentinaIoni Bowcher PROPOSAL
Jones P RulapaughBrazilStephen Shaw NEGOTIATION
Kaitlin H DarakjyJapanAmy Elsner PROPOSAL
Arvin S SergiFranceOnyama Limba UNQUALIFIED
Jefferson A CaldareraIndiaAnna Fali UNQUALIFIED
Darci Y DoeCanadaAsiya Javayant NEGOTIATION
Morrow C SaylorsAustraliaBernardo Dominic QUALIFIED
Tony R SchemmerCanadaIoni Bowcher QUALIFIED
Munro N PerinSpainBernardo Dominic QUALIFIED
Clifford P NickaIndiaStephen Shaw QUALIFIED
Octavia Z GauchoSpainStephen Shaw UNQUALIFIED
Emily G FollerArgentinaOnyama Limba NEW
Kadeem Z GillianSpainIvan Magalhaes PROPOSAL
Greenwood N RimFranceAnna Fali UNQUALIFIED
James P KuskoCanadaElwin Sharvill QUALIFIED
Aditya E WhobreyUnited KingdomIvan Magalhaes RENEWAL
Stacey U SaylorsCanadaOnyama Limba NEGOTIATION
Isabel I AlbaresItalyOnyama Limba UNQUALIFIED
Wickens E IturbideFranceIvan Magalhaes RENEWAL
Leon K RutaIndiaOnyama Limba UNQUALIFIED
Leja I ShinkoSpainBernardo Dominic RENEWAL
Juan N BowleyUnited KingdomAmy Elsner NEGOTIATION
Francesco R PaprockiArgentinaOnyama Limba NEW
Stacey C TollnerJapanOnyama Limba RENEWAL
Misaki F KolmetzRussiaAnna Fali RENEWAL
Kaitlin R PerinBrazilAmy Elsner UNQUALIFIED
Octavia O GauchoIndiaXuxue Feng UNQUALIFIED
Juan B VocelkaIndiaIvan Magalhaes NEW
Aika H PerinAustraliaAnna Fali UNQUALIFIED
Munro U RimIndiaAmy Elsner QUALIFIED
Izzy O DarakjyBrazilIvan Magalhaes RENEWAL
Adams L BologniaBrazilAnna Fali NEGOTIATION
Mujtaba D ChuiIndiaAsiya Javayant UNQUALIFIED
Jeanfrancois L FerenczGermanyIvan Magalhaes PROPOSAL
Aditya T BologniaRussiaBernardo Dominic NEGOTIATION
Claire G SlusarskiArgentinaOnyama Limba PROPOSAL
Kaitlin W PaprockiIndiaAnna Fali UNQUALIFIED
Maria T DoeIndiaIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Greenwood Q SergiAustraliaIoni Bowcher PROPOSAL
Leja K GauchoSpainIoni Bowcher RENEWAL
Misaki L AmigonCanadaElwin Sharvill PROPOSAL
Costa Z MaletUnited KingdomXuxue Feng PROPOSAL
Aditya A PerinItalyAsiya Javayant NEGOTIATION
Octavia P SergiBrazilAsiya Javayant NEGOTIATION
Ashley O InouyeBrazilAsiya Javayant UNQUALIFIED
Julie N VenereGermanyIoni Bowcher NEGOTIATION
Alejandro N SergiCanadaIoni Bowcher QUALIFIED
Ricardo B DilliardSpainXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna O RutaAustralia2024-06-15Benton, John B Jr PROPOSAL42Anna Fali
1001Mayumi J KolmetzRussia2024-05-31Chanay, Jeffrey A Esq NEGOTIATION90Bernardo Dominic
1002Deepesh A ShinkoItaly2024-06-03Feltz Printing Service QUALIFIED95Asiya Javayant
1003Munro B StensethItaly2024-06-04Truhlar And Truhlar Attys PROPOSAL42Ivan Magalhaes
1004Julie B KuskoGermany2024-06-22Rangoni Of Florence QUALIFIED19Elwin Sharvill
1005Chavez N CaudyItaly2024-05-27Chapman, Ross E Esq NEW71Bernardo Dominic
1006Leon H VenereUnited Kingdom2024-06-14Rousseaux, Michael Esq NEW4Ivan Magalhaes
1007Greenwood Q FlosiAustralia2024-06-13Printing Dimensions RENEWAL35Elwin Sharvill
1008Tony J InouyeSpain2024-06-19Chapman, Ross E Esq NEGOTIATION61Xuxue Feng
1009Emily F CaldareraRussia2024-06-20Commercial Press RENEWAL21Amy Elsner
1010Munro G MaletGermany2024-06-07Chapman, Ross E Esq RENEWAL5Bernardo Dominic
1011Aika Z CaudyIndia2024-05-26Feiner Bros UNQUALIFIED19Ivan Magalhaes
1012Antonio N GlickUnited Kingdom2024-06-19Feiner Bros NEGOTIATION8Amy Elsner
1013David H RimCanada2024-06-05Feiner Bros NEGOTIATION0Anna Fali
1014Leja E MorascaFrance2024-06-09Truhlar And Truhlar Attys UNQUALIFIED35Bernardo Dominic
1015Misaki A ButtAustralia2024-06-20Rangoni Of Florence QUALIFIED7Elwin Sharvill
1016Juan J GlickAustralia2024-06-18Chanay, Jeffrey A Esq NEW16Xuxue Feng
1017Aditya X FerenczFrance2024-06-20Chemel, James L Cpa PROPOSAL1Onyama Limba
1018Murillo Y AmigonArgentina2024-06-10Chanay, Jeffrey A Esq UNQUALIFIED94Anna Fali
1019Rodrigues X GauchoUnited Kingdom2024-05-31King, Christopher A Esq NEW59Xuxue Feng
1020Rodrigues H PaprockiRussia2024-06-21Truhlar And Truhlar Attys PROPOSAL33Bernardo Dominic
1021Ivar H VenereSpain2024-05-25Chemel, James L Cpa NEW43Anna Fali
1022Kadeem G CaudyArgentina2024-06-17Commercial Press NEGOTIATION53Anna Fali
1023Alejandro D PerinUnited Kingdom2024-06-06Morlong Associates NEW25Ioni Bowcher
1024Munro U PoquetteAustralia2024-05-28Rangoni Of Florence NEGOTIATION78Onyama Limba
1025Jones P VenereRussia2024-06-10Feiner Bros PROPOSAL9Asiya Javayant
1026Morrow W NickaFrance2024-05-24King, Christopher A Esq QUALIFIED10Bernardo Dominic
1027Costa B GillianIndia2024-06-03Benton, John B Jr RENEWAL7Anna Fali
1028James N CampainFrance2024-05-30Morlong Associates UNQUALIFIED43Ivan Magalhaes
1029Mayumi F NickaJapan2024-06-18Feiner Bros NEGOTIATION34Elwin Sharvill
1030Claire K KolmetzBrazil2024-05-29Printing Dimensions RENEWAL6Amy Elsner
1031Antonio N NickaAustralia2024-06-08Printing Dimensions UNQUALIFIED90Stephen Shaw
1032Smith U StensethRussia2024-05-29Chanay, Jeffrey A Esq UNQUALIFIED69Elwin Sharvill
1033Kadeem Q RoysterArgentina2024-06-22Truhlar And Truhlar Attys RENEWAL54Ivan Magalhaes
1034Nicolas K MorascaUnited Kingdom2024-06-11Buckley Miller Wright UNQUALIFIED67Amy Elsner
1035Emily M MaletBrazil2024-06-13Commercial Press QUALIFIED7Elwin Sharvill
1036Salvatore H DoeFrance2024-06-05Feiner Bros RENEWAL89Asiya Javayant
1037Aika H VocelkaGermany2024-06-11Feiner Bros NEW12Bernardo Dominic
1038Maria T MarrierArgentina2024-06-18Commercial Press UNQUALIFIED20Elwin Sharvill
1039Clifford I SergiIndia2024-05-24King, Christopher A Esq NEGOTIATION55Onyama Limba
1040Sinclair Q StensethJapan2024-06-01Chanay, Jeffrey A Esq NEGOTIATION64Amy Elsner
1041Jefferson Y RulapaughArgentina2024-06-07Feltz Printing Service PROPOSAL96Ivan Magalhaes
1042Mayumi O ShinkoGermany2024-06-08Feltz Printing Service RENEWAL69Xuxue Feng
1043Maisha H PoquetteUnited Kingdom2024-06-08Chanay, Jeffrey A Esq PROPOSAL58Amy Elsner
1044Smith G SergiRussia2024-06-16Feltz Printing Service UNQUALIFIED44Asiya Javayant
1045Leon P PaprockiCanada2024-05-31Chapman, Ross E Esq PROPOSAL25Asiya Javayant
1046Alejandro A BowleySpain2024-06-19Commercial Press QUALIFIED36Xuxue Feng
1047Aditya E GarufiItaly2024-06-21Benton, John B Jr PROPOSAL46Asiya Javayant
1048Ashley S FigeroaRussia2024-06-14Chanay, Jeffrey A Esq NEW80Ivan Magalhaes
1049Wickens O CaldareraItaly2024-06-12Commercial Press QUALIFIED71Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Aditya N PerinArgentinaOnyama Limba RENEWAL
Deepesh E ButtJapanOnyama Limba UNQUALIFIED
Tony P NickaBrazilAnna Fali QUALIFIED
Adams M CaudyBrazilIvan Magalhaes QUALIFIED
Adams N CaudyFranceIoni Bowcher QUALIFIED
Emily C ButtCanadaAsiya Javayant QUALIFIED
Francesco C StensethAustraliaOnyama Limba UNQUALIFIED
Jefferson E FlosiAustraliaIvan Magalhaes NEW
Aditya L KolmetzIndiaStephen Shaw NEGOTIATION
Munro V OstroskyUnited KingdomXuxue Feng UNQUALIFIED
Morrow K ShinkoBrazilAsiya Javayant NEGOTIATION
Jeanfrancois S ShinkoAustraliaIvan Magalhaes NEW
Nicolas N FollerGermanyOnyama Limba RENEWAL
Munro E SchemmerCanadaAnna Fali UNQUALIFIED
Tony P BologniaItalyBernardo Dominic UNQUALIFIED
Stacey N AlbaresItalyStephen Shaw NEW
Clifford Y SergiJapanAsiya Javayant NEGOTIATION
Isabel D TollnerGermanyAsiya Javayant NEGOTIATION
Silvio A MarrierRussiaStephen Shaw QUALIFIED
Aika D BriddickRussiaAmy Elsner RENEWAL
Misaki C StockhamGermanyBernardo Dominic QUALIFIED
Salvatore G CaldareraJapanAsiya Javayant PROPOSAL
Antonio M BowleySpainXuxue Feng NEGOTIATION
Misaki U DarakjyGermanyAnna Fali NEW
Ricardo Q GauchoFranceXuxue Feng RENEWAL
Johnson K TollnerArgentinaBernardo Dominic QUALIFIED
Ivar W WhobreyJapanOnyama Limba UNQUALIFIED
Alejandro D FigeroaIndiaIoni Bowcher NEW
Antonio L FlosiJapanXuxue Feng RENEWAL
Clifford V TollnerCanadaStephen Shaw NEGOTIATION
Leon W OstroskyCanadaXuxue Feng QUALIFIED
Jones I DoeJapanIvan Magalhaes NEW
Ricardo U DoeFranceIvan Magalhaes NEGOTIATION
Silvio Y GarufiAustraliaIvan Magalhaes NEGOTIATION
Salvatore Z NestleSpainAsiya Javayant UNQUALIFIED
Stacey O RulapaughCanadaElwin Sharvill NEGOTIATION
Munro J MaletSpainAnna Fali NEGOTIATION
Jeanfrancois B FigeroaSpainStephen Shaw RENEWAL
Claire M BologniaFranceOnyama Limba UNQUALIFIED
James P FigeroaGermanyXuxue Feng QUALIFIED
Chavez M NickaAustraliaAsiya Javayant UNQUALIFIED
Jennifer I KolmetzItalyBernardo Dominic RENEWAL
Salvatore I MacleadFranceOnyama Limba NEGOTIATION
Tony Y FigeroaUnited KingdomStephen Shaw QUALIFIED
Claire Y FlosiFranceElwin Sharvill UNQUALIFIED
Kadeem D AlbaresItalyBernardo Dominic RENEWAL
Costa J CaldareraGermanyStephen Shaw NEGOTIATION
Leja Z ChuiAustraliaIoni Bowcher QUALIFIED
Salvatore L VenereFranceAmy Elsner QUALIFIED
Claire X VocelkaAustraliaAsiya Javayant NEW
Frozen Columns
Name
Chavez X Waycott
Juan D Venere
Jones H Foller
Aruna M Schemmer
Wickens F Doe
James R Rulapaugh
Mujtaba Q Perin
Antonio C Kusko
Deepesh W Campain
Clifford Z Campain
Salvatore D Caldarera
Francesco P Whobrey
Juan Q Ruta
Isabel D Briddick
Salvatore B Bolognia
Jeanfrancois J Stockham
Arvin Z Nicka
Francesco M Wieser
Leon A Gillian
Wickens G Figeroa
Aika M Malet
Cody A Inouye
Ivar E Slusarski
Salvatore P Malet
Leja A Stenseth
Aditya L Sergi
Octavia G Rim
Wickens N Stenseth
Francesco U Malet
Maisha Z Waycott
Ricardo S Oldroyd
Jones W Nicka
Munro T Waycott
Juan G Schemmer
Isabel I Royster
Darci U Whobrey
Smith U Marrier
Misaki T Marrier
Leja P Inouye
Stacey V Ruta
Munro U Amigon
Ivar M Oldroyd
Isabel M Caldarera
Greenwood E Rulapaugh
Maisha N Butt
Jeanfrancois I Nestle
Arvin X Stockham
Leon C Glick
Maisha E Waycott
Johnson U Royster
IdCountryDate
1000Russia2024-06-02
1001Spain2024-05-30
1002France2024-06-05
1003Canada2024-06-10
1004Argentina2024-06-09
1005Canada2024-06-22
1006Germany2024-05-27
1007Brazil2024-06-11
1008Italy2024-06-04
1009Brazil2024-05-29
1010India2024-06-19
1011Brazil2024-06-15
1012Canada2024-05-29
1013Australia2024-06-02
1014Brazil2024-06-16
1015Canada2024-06-02
1016India2024-06-21
1017France2024-06-05
1018Russia2024-06-04
1019Australia2024-05-31
1020Russia2024-06-14
1021Argentina2024-06-16
1022France2024-06-18
1023Japan2024-06-04
1024Canada2024-06-02
1025Germany2024-06-22
1026Argentina2024-06-01
1027Australia2024-05-30
1028Australia2024-05-30
1029United Kingdom2024-06-19
1030France2024-06-01
1031Japan2024-06-01
1032Germany2024-06-22
1033United Kingdom2024-06-08
1034Brazil2024-05-31
1035Germany2024-06-14
1036India2024-05-24
1037Spain2024-06-22
1038Australia2024-06-06
1039France2024-06-04
1040India2024-06-04
1041India2024-06-14
1042United Kingdom2024-06-22
1043Russia2024-06-14
1044India2024-06-18
1045Russia2024-05-31
1046Italy2024-06-07
1047France2024-06-02
1048France2024-05-27
1049Australia2024-06-03

On-Demand Data

NameIdCountryDate
Isabel S Ostrosky1000Spain2024-06-06
Aditya C Briddick1001Italy2024-05-29
Leja Z Shinko1002Germany2024-06-19
Alejandro L Wieser1003Italy2024-06-07
Sinclair H Malet1004United Kingdom2024-06-13
Octavia K Gaucho1005France2024-06-20
Mujtaba M Butt1006Canada2024-06-05
Octavia F Ruta1007France2024-06-02
Francesco F Oldroyd1008India2024-06-03
Salvatore R Dilliard1009Australia2024-05-31
Greenwood G Venere1010Australia2024-06-10
Jennifer H Dilliard1011Argentina2024-06-20
Izzy H Morasca1012Spain2024-06-12
Jefferson S Figeroa1013France2024-06-13
Cody O Darakjy1014Spain2024-06-19
David Q Ferencz1015Germany2024-06-14
Murillo H Butt1016India2024-06-12
Jeanfrancois L Doe1017United Kingdom2024-06-08
Morrow T Royster1018Brazil2024-06-04
Izzy R Sergi1019Brazil2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues Q NickaIndiaOnyama Limba NEW
Leja U InouyeJapanIoni Bowcher PROPOSAL
Faith W CampainRussiaXuxue Feng QUALIFIED
Clifford R MaletIndiaAsiya Javayant RENEWAL
Juan A StensethGermanyBernardo Dominic NEGOTIATION
Emily Y VenereFranceAsiya Javayant RENEWAL
Leja O OstroskyFranceStephen Shaw NEW
Costa T RutaSpainIvan Magalhaes QUALIFIED
Francesco F GauchoUnited KingdomElwin Sharvill PROPOSAL
Antonio H MorascaJapanElwin Sharvill UNQUALIFIED
Jones M GillianItalyIoni Bowcher NEW
Stacey R DilliardCanadaXuxue Feng QUALIFIED
Salvatore U BriddickUnited KingdomIoni Bowcher NEGOTIATION
Aditya Q SergiGermanyElwin Sharvill UNQUALIFIED
Greenwood I MaletRussiaAnna Fali NEGOTIATION
Emily P MacleadJapanStephen Shaw PROPOSAL
Emily H FigeroaBrazilAnna Fali UNQUALIFIED
Izzy O OstroskyArgentinaXuxue Feng NEGOTIATION
Aruna R IturbideGermanyIoni Bowcher NEW
Stacey U ButtFranceAnna Fali UNQUALIFIED
Leja Z SlusarskiIndiaElwin Sharvill UNQUALIFIED
Antonio B AlbaresSpainAsiya Javayant PROPOSAL
Ivar B FollerGermanyIoni Bowcher PROPOSAL
Sinclair N FigeroaRussiaBernardo Dominic UNQUALIFIED
Costa L PoquetteRussiaAsiya Javayant UNQUALIFIED
Silvio A BriddickUnited KingdomElwin Sharvill UNQUALIFIED
Ashley J StensethAustraliaAnna Fali UNQUALIFIED
Misaki R RulapaughGermanyAnna Fali NEW
Nicolas O MaletGermanyXuxue Feng UNQUALIFIED
Cody N VocelkaFranceOnyama Limba NEGOTIATION
Tony Q GlickBrazilStephen Shaw NEW
Octavia R BriddickBrazilAmy Elsner NEGOTIATION
Mujtaba R StensethJapanIvan Magalhaes QUALIFIED
Alejandro Z KuskoItalyXuxue Feng UNQUALIFIED
Francesco Y FerenczArgentinaStephen Shaw RENEWAL
Arvin F BowleyItalyStephen Shaw UNQUALIFIED
Kadeem Z PerinRussiaXuxue Feng RENEWAL
Salvatore H CaudyBrazilIvan Magalhaes RENEWAL
Aika R DarakjyArgentinaAnna Fali PROPOSAL
Munro U RoysterAustraliaXuxue Feng 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>