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
Ricardo S GarufiSpainBernardo Dominic NEW
Jennifer W WhobreyGermanyBernardo Dominic QUALIFIED
Ivar I BriddickRussiaIvan Magalhaes UNQUALIFIED
Munro Y CampainCanadaOnyama Limba NEW
Maisha T BologniaItalyOnyama Limba QUALIFIED
David B PaprockiAustraliaAmy Elsner NEW
Jennifer R PerinFranceBernardo Dominic UNQUALIFIED
Izzy D KuskoJapanOnyama Limba RENEWAL
Kadeem A OstroskyUnited KingdomIvan Magalhaes RENEWAL
Ivar Z AmigonGermanyIoni Bowcher NEGOTIATION
Mayumi Y ChuiRussiaAmy Elsner NEGOTIATION
Misaki H CaldareraIndiaStephen Shaw NEW
Juan S ButtGermanyXuxue Feng PROPOSAL
Chavez A WaycottFranceIvan Magalhaes NEW
Munro M BowleyAustraliaAnna Fali QUALIFIED
Silvio P SchemmerAustraliaXuxue Feng UNQUALIFIED
Mujtaba S VenereItalyBernardo Dominic QUALIFIED
Wickens N OstroskyArgentinaBernardo Dominic NEW
Ashley L IturbideRussiaIoni Bowcher QUALIFIED
David P PoquetteRussiaStephen Shaw NEGOTIATION
Francesco K FlosiIndiaAsiya Javayant RENEWAL
Adams M NestleCanadaIoni Bowcher RENEWAL
Julie E MorascaArgentinaElwin Sharvill UNQUALIFIED
James G AlbaresCanadaIoni Bowcher RENEWAL
Mujtaba X PoquetteIndiaIvan Magalhaes QUALIFIED
Leon T WieserAustraliaAnna Fali RENEWAL
Alejandro U SlusarskiIndiaAsiya Javayant QUALIFIED
Leon I SergiArgentinaBernardo Dominic PROPOSAL
Salvatore Z DilliardItalyStephen Shaw NEW
Mayumi V CaldareraSpainXuxue Feng PROPOSAL
Antonio O FollerArgentinaBernardo Dominic NEW
Morrow Q WaycottSpainBernardo Dominic NEGOTIATION
Costa V GauchoIndiaBernardo Dominic NEW
Jones C GillianItalyXuxue Feng PROPOSAL
Faith Q PerinItalyElwin Sharvill RENEWAL
Tony A FollerSpainBernardo Dominic NEW
Tony D FerenczGermanyIoni Bowcher QUALIFIED
Aruna Y RoysterGermanyOnyama Limba RENEWAL
Mujtaba T NickaRussiaStephen Shaw PROPOSAL
Leja L DoeGermanyIvan Magalhaes UNQUALIFIED
Smith P CaldareraRussiaIoni Bowcher UNQUALIFIED
Leon F DarakjyArgentinaXuxue Feng QUALIFIED
Salvatore B VocelkaBrazilAnna Fali NEW
Aditya E PoquetteFranceXuxue Feng UNQUALIFIED
Chavez M SlusarskiItalyIvan Magalhaes UNQUALIFIED
Misaki H InouyeAustraliaBernardo Dominic NEGOTIATION
Deepesh P AlbaresItalyAmy Elsner NEGOTIATION
Antonio Z RoysterIndiaIvan Magalhaes RENEWAL
Chavez Q StockhamJapanAmy Elsner NEW
Leon I DoeFranceAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Izzy M KuskoItalyAmy Elsner NEGOTIATION
Misaki D AmigonItalyIvan Magalhaes NEGOTIATION
Faith U RutaFranceOnyama Limba QUALIFIED
Faith U RutaSpainElwin Sharvill QUALIFIED
Maisha O FigeroaJapanAnna Fali QUALIFIED
David M IturbideCanadaXuxue Feng RENEWAL
Emily P MaletFranceOnyama Limba NEW
Izzy V PoquetteBrazilAmy Elsner PROPOSAL
Kaitlin M VenereItalyAsiya Javayant NEW
Arvin A ShinkoArgentinaOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith W KuskoFrance2025-04-23Benton, John B Jr PROPOSAL40Elwin Sharvill
1001Nicolas L KuskoGermany2025-04-19Morlong Associates RENEWAL81Onyama Limba
1002Cody B OstroskyIndia2025-04-19Dorl, James J Esq RENEWAL83Elwin Sharvill
1003Silvio O FerenczFrance2025-04-23Dorl, James J Esq RENEWAL5Ioni Bowcher
1004Arvin C StockhamIndia2025-04-20Feltz Printing Service RENEWAL88Elwin Sharvill
1005Antonio J GlickArgentina2025-04-15Commercial Press RENEWAL73Anna Fali
1006Misaki Z RutaCanada2025-04-16Morlong Associates PROPOSAL77Onyama Limba
1007Nicolas D GauchoRussia2025-04-23Rousseaux, Michael Esq QUALIFIED99Ivan Magalhaes
1008Nicolas V SchemmerIndia2025-04-29Commercial Press PROPOSAL83Stephen Shaw
1009Ricardo S SaylorsSpain2025-04-19Benton, John B Jr UNQUALIFIED3Anna Fali
1010Leja G RoysterIndia2025-04-07Chanay, Jeffrey A Esq QUALIFIED49Anna Fali
1011Maisha E ButtJapan2025-04-22Chemel, James L Cpa QUALIFIED33Onyama Limba
1012Cody P ShinkoRussia2025-04-02Chemel, James L Cpa UNQUALIFIED1Bernardo Dominic
1013Kadeem N VocelkaJapan2025-04-03Rousseaux, Michael Esq PROPOSAL30Onyama Limba
1014Sinclair M FlosiBrazil2025-04-24Rousseaux, Michael Esq PROPOSAL84Onyama Limba
1015Smith V NestleItaly2025-04-25Feiner Bros QUALIFIED83Xuxue Feng
1016Antonio W WhobreyAustralia2025-04-26Feiner Bros PROPOSAL98Xuxue Feng
1017Wickens S PaprockiSpain2025-04-29Feiner Bros RENEWAL28Anna Fali
1018Adams K StockhamAustralia2025-04-18Chemel, James L Cpa NEGOTIATION98Onyama Limba
1019Isabel K MorascaUnited Kingdom2025-04-22Chanay, Jeffrey A Esq PROPOSAL59Onyama Limba
1020Greenwood U KolmetzJapan2025-04-24Benton, John B Jr UNQUALIFIED1Bernardo Dominic
1021Tony X ChuiFrance2025-04-26Dorl, James J Esq NEW33Ivan Magalhaes
1022Jennifer N SaylorsRussia2025-04-02King, Christopher A Esq QUALIFIED59Onyama Limba
1023Jeanfrancois H CampainAustralia2025-04-12Printing Dimensions NEW23Anna Fali
1024Kadeem X BowleyFrance2025-04-28Truhlar And Truhlar Attys PROPOSAL76Anna Fali
1025Octavia O AlbaresSpain2025-04-11Feltz Printing Service NEW91Ivan Magalhaes
1026Adams G MacleadIndia2025-04-04Commercial Press RENEWAL68Xuxue Feng
1027Stacey R MarrierGermany2025-04-16Truhlar And Truhlar Attys QUALIFIED28Ivan Magalhaes
1028Costa G VenereUnited Kingdom2025-04-22Chapman, Ross E Esq NEGOTIATION64Ioni Bowcher
1029Maria K TollnerUnited Kingdom2025-04-03Chemel, James L Cpa NEGOTIATION99Asiya Javayant
1030Silvio C FerenczJapan2025-04-17Truhlar And Truhlar Attys NEGOTIATION69Asiya Javayant
1031Johnson W OstroskyGermany2025-04-30Chapman, Ross E Esq NEGOTIATION80Ioni Bowcher
1032David U FollerUnited Kingdom2025-04-26Rousseaux, Michael Esq UNQUALIFIED69Amy Elsner
1033Isabel N SlusarskiArgentina2025-04-16Rousseaux, Michael Esq QUALIFIED77Onyama Limba
1034Smith W AmigonUnited Kingdom2025-04-27Benton, John B Jr PROPOSAL6Ioni Bowcher
1035Silvio W StockhamUnited Kingdom2025-04-24Buckley Miller Wright UNQUALIFIED58Asiya Javayant
1036Leja I WhobreyJapan2025-04-03Chemel, James L Cpa NEGOTIATION29Amy Elsner
1037Kadeem B WieserJapan2025-04-22Benton, John B Jr NEW48Amy Elsner
1038Kaitlin U InouyeRussia2025-04-10Truhlar And Truhlar Attys QUALIFIED41Xuxue Feng
1039Aika Q StensethFrance2025-04-22Benton, John B Jr RENEWAL56Asiya Javayant
1040Octavia J NestleJapan2025-04-10Truhlar And Truhlar Attys NEW25Ioni Bowcher
1041Jefferson H MarrierItaly2025-04-27Rousseaux, Michael Esq UNQUALIFIED49Ivan Magalhaes
1042Salvatore T ShinkoItaly2025-04-24Chemel, James L Cpa QUALIFIED42Onyama Limba
1043Cody S BriddickAustralia2025-04-09Chemel, James L Cpa RENEWAL20Ioni Bowcher
1044Adams I PoquetteArgentina2025-04-20Buckley Miller Wright NEW50Onyama Limba
1045Stacey S MacleadJapan2025-04-18Chemel, James L Cpa UNQUALIFIED74Onyama Limba
1046Antonio J CaudyItaly2025-04-22Chapman, Ross E Esq NEW46Amy Elsner
1047Faith H MaletUnited Kingdom2025-04-25Commercial Press RENEWAL39Ivan Magalhaes
1048Silvio L ButtGermany2025-04-30Chemel, James L Cpa PROPOSAL2Ivan Magalhaes
1049Greenwood M NestleUnited Kingdom2025-04-20Chanay, Jeffrey A Esq NEW47Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Adams X DoeAustraliaIvan Magalhaes NEW
Clifford X WhobreyItalyElwin Sharvill NEW
Smith X AmigonBrazilElwin Sharvill NEGOTIATION
Leja M MarrierCanadaAmy Elsner UNQUALIFIED
Cody C RutaRussiaOnyama Limba UNQUALIFIED
Jennifer J VenereIndiaIvan Magalhaes RENEWAL
Izzy A ButtBrazilOnyama Limba PROPOSAL
Aika A BowleyRussiaOnyama Limba PROPOSAL
Arvin I OstroskyGermanyStephen Shaw QUALIFIED
Wickens L MaletCanadaElwin Sharvill NEGOTIATION
Stacey Q ButtRussiaStephen Shaw NEW
Adams P MaletAustraliaStephen Shaw QUALIFIED
Greenwood O FlosiGermanyAsiya Javayant RENEWAL
David O SchemmerBrazilAmy Elsner RENEWAL
Nicolas Y SergiUnited KingdomAsiya Javayant NEGOTIATION
Octavia E RutaJapanOnyama Limba QUALIFIED
Cody S RimUnited KingdomElwin Sharvill QUALIFIED
Antonio N SchemmerArgentinaIoni Bowcher UNQUALIFIED
Leon E MarrierJapanOnyama Limba RENEWAL
Juan I FlosiCanadaXuxue Feng NEW
David F RimUnited KingdomStephen Shaw NEW
Ricardo R InouyeIndiaIvan Magalhaes PROPOSAL
Alejandro R FerenczIndiaIvan Magalhaes NEGOTIATION
Darci A SergiRussiaAnna Fali PROPOSAL
Wickens P WieserSpainXuxue Feng QUALIFIED
Ashley J ChuiFranceAmy Elsner UNQUALIFIED
Smith J VocelkaIndiaElwin Sharvill NEW
Francesco Z StensethUnited KingdomOnyama Limba PROPOSAL
Antonio J RutaGermanyElwin Sharvill NEW
Jeanfrancois O RoysterCanadaOnyama Limba QUALIFIED
Murillo C RimUnited KingdomIvan Magalhaes RENEWAL
Aika L AlbaresCanadaElwin Sharvill RENEWAL
Silvio N KolmetzItalyOnyama Limba RENEWAL
Mujtaba F AlbaresCanadaOnyama Limba PROPOSAL
Cody N MorascaIndiaAnna Fali NEGOTIATION
Ashley W SchemmerBrazilOnyama Limba RENEWAL
Greenwood M KolmetzIndiaElwin Sharvill PROPOSAL
Claire P WieserUnited KingdomIoni Bowcher QUALIFIED
Aika W WaycottFranceIvan Magalhaes NEGOTIATION
Ivar P RoysterUnited KingdomElwin Sharvill UNQUALIFIED
Johnson V FlosiJapanOnyama Limba QUALIFIED
Clifford A TollnerFranceAnna Fali NEGOTIATION
Greenwood F MarrierArgentinaElwin Sharvill UNQUALIFIED
Johnson Y WieserItalyAsiya Javayant UNQUALIFIED
Stacey D NickaIndiaIvan Magalhaes NEW
Johnson P ShinkoItalyAsiya Javayant PROPOSAL
Adams E MacleadIndiaXuxue Feng NEGOTIATION
Ashley V MaletAustraliaAmy Elsner UNQUALIFIED
Silvio I RutaUnited KingdomOnyama Limba NEGOTIATION
Johnson L PerinArgentinaElwin Sharvill PROPOSAL
Frozen Columns
Name
Tony X Inouye
Sinclair P Foller
Kaitlin B Dilliard
Murillo C Gillian
Alejandro F Oldroyd
Antonio Y Campain
Jeanfrancois O Malet
Adams S Doe
Ricardo B Doe
Ivar T Stockham
Clifford K Stockham
Sinclair C Schemmer
Stacey S Figeroa
Ashley A Stenseth
Arvin D Darakjy
Munro F Nestle
Darci S Inouye
Rodrigues G Royster
Alejandro S Campain
Claire O Caudy
Rodrigues Q Marrier
Julie Y Shinko
Ivar Z Gillian
Jennifer K Dilliard
Jefferson K Inouye
Cody J Bowley
Mujtaba N Glick
Cody S Figeroa
Arvin N Kolmetz
Francesco H Wieser
David C Whobrey
Jeanfrancois D Foller
Isabel Z Waycott
Jones J Paprocki
Maisha J Malet
Emily H Paprocki
Costa B Darakjy
Ivar Z Doe
Cody U Chui
Arvin V Glick
Greenwood E Ruta
Jeanfrancois O Ferencz
Aika K Foller
Sinclair P Malet
Nicolas J Waycott
Deepesh R Amigon
Munro X Maclead
Mujtaba C Poquette
Antonio G Darakjy
Octavia F Nicka
IdCountryDate
1000Japan2025-04-19
1001France2025-04-02
1002Italy2025-04-05
1003Spain2025-04-29
1004Canada2025-04-02
1005United Kingdom2025-04-21
1006Australia2025-04-03
1007Argentina2025-04-02
1008United Kingdom2025-04-25
1009Japan2025-04-02
1010Spain2025-04-21
1011Brazil2025-04-05
1012Spain2025-04-17
1013Canada2025-04-02
1014Australia2025-04-25
1015Russia2025-04-26
1016Germany2025-04-06
1017Japan2025-04-21
1018United Kingdom2025-04-17
1019Australia2025-04-02
1020Australia2025-04-17
1021Germany2025-04-24
1022Brazil2025-04-08
1023Canada2025-04-02
1024United Kingdom2025-04-14
1025India2025-04-10
1026Brazil2025-04-10
1027France2025-04-26
1028Italy2025-04-07
1029Germany2025-04-26
1030Japan2025-04-14
1031United Kingdom2025-04-06
1032India2025-04-13
1033Argentina2025-04-21
1034Brazil2025-04-19
1035Japan2025-04-13
1036Canada2025-04-15
1037Japan2025-04-16
1038Australia2025-04-29
1039Canada2025-04-01
1040Spain2025-04-01
1041India2025-04-22
1042Brazil2025-04-06
1043Japan2025-04-18
1044Brazil2025-04-21
1045Brazil2025-04-03
1046Germany2025-04-24
1047Italy2025-04-06
1048Australia2025-04-17
1049Germany2025-04-21

On-Demand Data

NameIdCountryDate
Faith X Stenseth1000Brazil2025-04-04
Silvio X Wieser1001Australia2025-04-05
Arvin L Venere1002Brazil2025-04-12
Tony V Bolognia1003United Kingdom2025-04-02
Deepesh G Butt1004Germany2025-04-10
Ivar M Bowley1005Japan2025-04-20
Sinclair I Ruta1006United Kingdom2025-04-19
Juan Q Flosi1007Brazil2025-04-13
Jeanfrancois J Briddick1008India2025-04-20
Jones I Doe1009United Kingdom2025-04-10
Maisha K Tollner1010Spain2025-04-14
Leon H Dilliard1011Russia2025-04-27
Greenwood S Ruta1012Russia2025-04-01
Jefferson X Iturbide1013Spain2025-04-08
Salvatore P Sergi1014United Kingdom2025-04-01
Rodrigues R Campain1015Brazil2025-04-22
Faith X Vocelka1016Germany2025-04-03
Aditya G Butt1017Germany2025-04-10
Octavia Q Whobrey1018India2025-04-15
Stacey T Stenseth1019Germany2025-04-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas L FigeroaItalyStephen Shaw NEW
Leja Z KuskoUnited KingdomOnyama Limba NEW
Aika J KolmetzBrazilAmy Elsner PROPOSAL
Darci O KolmetzUnited KingdomAmy Elsner RENEWAL
Jefferson C TollnerCanadaIoni Bowcher PROPOSAL
Leon D VocelkaRussiaIoni Bowcher QUALIFIED
Smith D MarrierGermanyBernardo Dominic RENEWAL
Claire N SlusarskiCanadaOnyama Limba PROPOSAL
Stacey P KolmetzIndiaIvan Magalhaes QUALIFIED
Stacey K ButtSpainAsiya Javayant NEGOTIATION
Emily B StockhamRussiaIvan Magalhaes NEGOTIATION
Maria Y SaylorsAustraliaStephen Shaw QUALIFIED
Aditya X CaldareraRussiaBernardo Dominic QUALIFIED
Emily M AlbaresRussiaElwin Sharvill QUALIFIED
Ricardo G VocelkaItalyIvan Magalhaes UNQUALIFIED
Wickens Y ShinkoCanadaAnna Fali NEGOTIATION
Costa Y GillianFranceOnyama Limba QUALIFIED
Leon S MarrierItalyBernardo Dominic RENEWAL
Antonio E StockhamCanadaStephen Shaw RENEWAL
Misaki P WhobreyCanadaBernardo Dominic UNQUALIFIED
Ricardo C SlusarskiRussiaOnyama Limba UNQUALIFIED
Octavia G TollnerGermanyElwin Sharvill PROPOSAL
Arvin T BriddickIndiaBernardo Dominic NEGOTIATION
Costa H MaletArgentinaStephen Shaw QUALIFIED
Aditya B DarakjyAustraliaAmy Elsner NEW
Ashley Q CampainBrazilBernardo Dominic RENEWAL
Francesco B RulapaughItalyOnyama Limba UNQUALIFIED
Aditya L GauchoRussiaAmy Elsner UNQUALIFIED
James L MarrierArgentinaStephen Shaw PROPOSAL
Julie T DoeAustraliaIvan Magalhaes UNQUALIFIED
Munro J CaudyCanadaAnna Fali PROPOSAL
Juan A RulapaughFranceOnyama Limba PROPOSAL
Clifford K MorascaRussiaIvan Magalhaes RENEWAL
Tony W AlbaresRussiaAmy Elsner RENEWAL
Ivar L KuskoIndiaElwin Sharvill RENEWAL
Jefferson B PaprockiArgentinaOnyama Limba QUALIFIED
Wickens M RutaArgentinaIvan Magalhaes RENEWAL
Salvatore Q GlickCanadaStephen Shaw NEW
Julie A StensethIndiaIoni Bowcher QUALIFIED
Chavez N BriddickSpainIoni Bowcher UNQUALIFIED

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