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
Tony P FigeroaCanadaIoni Bowcher QUALIFIED
Jones L FollerItalyElwin Sharvill QUALIFIED
Chavez V StockhamItalyStephen Shaw QUALIFIED
Alejandro C DarakjyIndiaAmy Elsner PROPOSAL
Salvatore P VocelkaJapanStephen Shaw RENEWAL
Costa L MaletAustraliaAnna Fali NEW
Octavia B CaldareraArgentinaAmy Elsner NEGOTIATION
Mujtaba B BriddickSpainAmy Elsner QUALIFIED
Deepesh V BowleyIndiaStephen Shaw RENEWAL
Salvatore T ChuiUnited KingdomElwin Sharvill PROPOSAL
Jones E OstroskyJapanAmy Elsner PROPOSAL
Rodrigues C ShinkoCanadaAsiya Javayant PROPOSAL
Morrow V OldroydRussiaOnyama Limba PROPOSAL
Ricardo E RulapaughJapanElwin Sharvill NEW
Silvio S VocelkaFranceXuxue Feng RENEWAL
Juan Z PaprockiGermanyXuxue Feng UNQUALIFIED
Adams P GillianGermanyAsiya Javayant UNQUALIFIED
Johnson K NickaSpainOnyama Limba NEGOTIATION
Antonio E WieserAustraliaXuxue Feng RENEWAL
Octavia P WaycottAustraliaAsiya Javayant PROPOSAL
Jefferson C GauchoArgentinaStephen Shaw NEW
Greenwood B ShinkoAustraliaIvan Magalhaes QUALIFIED
Alejandro P CampainAustraliaXuxue Feng PROPOSAL
Kadeem Y VocelkaFranceIoni Bowcher PROPOSAL
Arvin S VocelkaAustraliaIoni Bowcher NEW
Leja F IturbideCanadaAmy Elsner QUALIFIED
Darci D WieserCanadaIvan Magalhaes PROPOSAL
Juan W OstroskyFranceIvan Magalhaes PROPOSAL
Claire P FollerCanadaAnna Fali NEGOTIATION
Murillo I KolmetzItalyAsiya Javayant UNQUALIFIED
Antonio O AlbaresUnited KingdomXuxue Feng PROPOSAL
Alejandro F InouyeArgentinaAsiya Javayant QUALIFIED
Claire G VocelkaCanadaBernardo Dominic RENEWAL
Jefferson T WaycottRussiaAsiya Javayant NEGOTIATION
Jennifer Z InouyeItalyAmy Elsner QUALIFIED
Emily J RulapaughGermanyElwin Sharvill PROPOSAL
David P PoquetteSpainAnna Fali UNQUALIFIED
Juan I KuskoArgentinaAsiya Javayant UNQUALIFIED
Jennifer M ButtArgentinaIoni Bowcher PROPOSAL
Tony K MaletJapanStephen Shaw NEW
Ashley H AlbaresJapanBernardo Dominic UNQUALIFIED
Jones E AmigonUnited KingdomIvan Magalhaes UNQUALIFIED
Costa C MarrierIndiaBernardo Dominic NEGOTIATION
Smith Y VenereRussiaAmy Elsner NEGOTIATION
Morrow C MorascaJapanAnna Fali PROPOSAL
Munro E StensethArgentinaIoni Bowcher UNQUALIFIED
Aika L DarakjyRussiaElwin Sharvill RENEWAL
David P CaldareraItalyAsiya Javayant PROPOSAL
Arvin U NickaBrazilStephen Shaw NEW
Stacey G AmigonBrazilStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Julie M CaudySpainAnna Fali QUALIFIED
Johnson Q RutaFranceBernardo Dominic UNQUALIFIED
Sinclair P ShinkoSpainElwin Sharvill PROPOSAL
Greenwood D MarrierArgentinaBernardo Dominic PROPOSAL
Deepesh L IturbideAustraliaOnyama Limba QUALIFIED
Salvatore I NestleGermanyAmy Elsner PROPOSAL
Mujtaba P WaycottIndiaXuxue Feng NEGOTIATION
Aika I FollerArgentinaAnna Fali NEGOTIATION
James N MaletRussiaAnna Fali QUALIFIED
Alejandro K DilliardGermanyXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily B RimRussia2024-05-15Commercial Press NEW3Amy Elsner
1001Nicolas E CaudyIndia2024-05-25Buckley Miller Wright UNQUALIFIED48Ioni Bowcher
1002Murillo Z BologniaUnited Kingdom2024-05-09Dorl, James J Esq PROPOSAL62Onyama Limba
1003Octavia Y PoquetteItaly2024-05-14Truhlar And Truhlar Attys NEW60Onyama Limba
1004Cody O DarakjyIndia2024-05-03Truhlar And Truhlar Attys PROPOSAL37Ioni Bowcher
1005Misaki Y RutaCanada2024-05-24Benton, John B Jr QUALIFIED44Elwin Sharvill
1006Mayumi B WhobreyJapan2024-05-24Feltz Printing Service UNQUALIFIED88Amy Elsner
1007Misaki D OstroskySpain2024-05-24Truhlar And Truhlar Attys PROPOSAL69Anna Fali
1008Greenwood A WhobreyCanada2024-04-28Printing Dimensions RENEWAL89Xuxue Feng
1009Ashley T PerinGermany2024-05-10Chanay, Jeffrey A Esq NEW87Elwin Sharvill
1010Silvio S DilliardGermany2024-05-06Chanay, Jeffrey A Esq UNQUALIFIED66Bernardo Dominic
1011Salvatore T MacleadJapan2024-05-21Benton, John B Jr RENEWAL88Bernardo Dominic
1012Julie E GillianAustralia2024-05-25Printing Dimensions NEGOTIATION39Xuxue Feng
1013Jefferson W FerenczSpain2024-05-26Dorl, James J Esq PROPOSAL74Anna Fali
1014Adams X GillianItaly2024-05-17Feltz Printing Service QUALIFIED90Amy Elsner
1015Tony G MaletFrance2024-05-11Printing Dimensions NEGOTIATION42Stephen Shaw
1016Antonio L KuskoFrance2024-05-19Dorl, James J Esq UNQUALIFIED78Ioni Bowcher
1017Kadeem J RoysterItaly2024-05-08Rangoni Of Florence RENEWAL26Bernardo Dominic
1018Adams R RulapaughCanada2024-05-11King, Christopher A Esq PROPOSAL0Xuxue Feng
1019Arvin G GillianFrance2024-05-26King, Christopher A Esq RENEWAL7Bernardo Dominic
1020Nicolas L MacleadItaly2024-05-22King, Christopher A Esq PROPOSAL36Amy Elsner
1021Mayumi N OstroskySpain2024-05-05Commercial Press NEW24Bernardo Dominic
1022Ashley Z MaletAustralia2024-04-29Printing Dimensions RENEWAL97Stephen Shaw
1023Antonio K TollnerAustralia2024-04-29Chemel, James L Cpa NEGOTIATION23Stephen Shaw
1024Adams P DarakjyArgentina2024-05-17Rousseaux, Michael Esq PROPOSAL43Anna Fali
1025Aditya F FerenczIndia2024-05-10King, Christopher A Esq QUALIFIED93Onyama Limba
1026Maria T SergiFrance2024-05-03Commercial Press NEW8Ioni Bowcher
1027Maria B BowleyArgentina2024-05-18Rangoni Of Florence RENEWAL24Ioni Bowcher
1028Clifford Q SlusarskiJapan2024-05-22Morlong Associates NEW7Ivan Magalhaes
1029Nicolas H VocelkaFrance2024-05-15Commercial Press NEW95Bernardo Dominic
1030Deepesh F CaudyGermany2024-05-14Commercial Press UNQUALIFIED69Stephen Shaw
1031Deepesh F InouyeAustralia2024-05-17Feiner Bros PROPOSAL5Asiya Javayant
1032Tony Q VenereAustralia2024-05-03Rangoni Of Florence UNQUALIFIED60Elwin Sharvill
1033Morrow K GillianBrazil2024-05-15Buckley Miller Wright RENEWAL6Bernardo Dominic
1034Tony Y WaycottRussia2024-04-29Morlong Associates QUALIFIED20Stephen Shaw
1035Murillo N IturbideAustralia2024-05-12Dorl, James J Esq RENEWAL51Ivan Magalhaes
1036Smith U KuskoRussia2024-05-26King, Christopher A Esq QUALIFIED59Ioni Bowcher
1037Nicolas B MarrierGermany2024-05-13King, Christopher A Esq RENEWAL13Onyama Limba
1038Chavez G RutaIndia2024-05-23Benton, John B Jr PROPOSAL13Ivan Magalhaes
1039Salvatore G GarufiSpain2024-04-29Chemel, James L Cpa UNQUALIFIED31Ioni Bowcher
1040Aditya T OldroydBrazil2024-05-05Buckley Miller Wright PROPOSAL86Amy Elsner
1041Mayumi V VocelkaSpain2024-05-21Truhlar And Truhlar Attys PROPOSAL61Anna Fali
1042Morrow X VenereBrazil2024-05-27Rousseaux, Michael Esq NEGOTIATION18Bernardo Dominic
1043Sinclair I VocelkaAustralia2024-05-11Chemel, James L Cpa NEW62Onyama Limba
1044Tony Z InouyeSpain2024-05-15Benton, John B Jr NEGOTIATION32Amy Elsner
1045Nicolas K VocelkaArgentina2024-05-04Dorl, James J Esq NEW50Bernardo Dominic
1046Maria S MaletBrazil2024-05-20Chapman, Ross E Esq UNQUALIFIED52Amy Elsner
1047Morrow N WhobreySpain2024-05-15Feltz Printing Service RENEWAL47Onyama Limba
1048Nicolas J MacleadItaly2024-05-20Chapman, Ross E Esq NEGOTIATION44Ivan Magalhaes
1049Alejandro P NestleUnited Kingdom2024-05-18Dorl, James J Esq NEGOTIATION99Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Octavia Q GlickGermanyAsiya Javayant NEW
Julie E GillianArgentinaElwin Sharvill NEW
Smith F MaletIndiaBernardo Dominic PROPOSAL
Jones K BologniaArgentinaOnyama Limba PROPOSAL
Arvin F StensethFranceAnna Fali QUALIFIED
Maria N BologniaRussiaAnna Fali RENEWAL
Darci C RulapaughCanadaAnna Fali RENEWAL
Arvin J WaycottArgentinaXuxue Feng NEGOTIATION
Maria B DilliardCanadaIvan Magalhaes UNQUALIFIED
Mayumi N KuskoIndiaAmy Elsner NEW
Aika W FerenczJapanIvan Magalhaes NEGOTIATION
Ricardo O SaylorsRussiaBernardo Dominic RENEWAL
Greenwood U BowleyBrazilStephen Shaw NEGOTIATION
Faith B RulapaughItalyAmy Elsner PROPOSAL
Wickens S SchemmerItalyIvan Magalhaes QUALIFIED
Salvatore P FollerFranceStephen Shaw PROPOSAL
Leon F TollnerGermanyAmy Elsner RENEWAL
Aditya Z MarrierFranceIoni Bowcher NEGOTIATION
Izzy H ChuiRussiaBernardo Dominic NEGOTIATION
Kadeem R RulapaughFranceAmy Elsner QUALIFIED
Izzy C KuskoUnited KingdomIoni Bowcher NEW
Morrow O DarakjyBrazilAsiya Javayant RENEWAL
Emily C SaylorsIndiaXuxue Feng UNQUALIFIED
Faith A AmigonArgentinaAsiya Javayant NEW
Murillo L StockhamCanadaXuxue Feng NEW
Alejandro N StockhamIndiaAnna Fali RENEWAL
Julie R VocelkaCanadaAmy Elsner RENEWAL
Silvio L FlosiSpainIvan Magalhaes NEGOTIATION
Faith K OldroydSpainXuxue Feng PROPOSAL
Ivar H RoysterArgentinaAsiya Javayant NEW
Arvin R AmigonSpainOnyama Limba QUALIFIED
Aruna A OstroskyJapanAmy Elsner NEGOTIATION
Misaki M GillianIndiaIoni Bowcher QUALIFIED
Alejandro W KolmetzJapanIoni Bowcher NEGOTIATION
Arvin T FigeroaArgentinaBernardo Dominic UNQUALIFIED
David I FollerBrazilAnna Fali QUALIFIED
Morrow O MarrierFranceXuxue Feng QUALIFIED
Ashley T SergiAustraliaIoni Bowcher NEW
Maria U MacleadItalyOnyama Limba NEGOTIATION
Jefferson Q MaletUnited KingdomAnna Fali NEW
Murillo O GillianRussiaOnyama Limba NEW
Darci N MorascaArgentinaStephen Shaw UNQUALIFIED
Ivar B StensethIndiaOnyama Limba UNQUALIFIED
Octavia U MaletSpainAnna Fali UNQUALIFIED
Johnson L PerinRussiaOnyama Limba NEGOTIATION
Ashley L BriddickFranceElwin Sharvill NEGOTIATION
Cody I IturbideItalyIvan Magalhaes QUALIFIED
James O PerinIndiaBernardo Dominic RENEWAL
Costa F GarufiRussiaAnna Fali RENEWAL
Aditya M PerinFranceOnyama Limba PROPOSAL
Frozen Columns
Name
Maisha E Slusarski
Emily R Garufi
Francesco R Briddick
Izzy T Venere
Sinclair T Perin
Aditya H Gillian
Kadeem M Caldarera
Salvatore J Tollner
Ivar X Royster
Maisha K Caudy
Clifford W Stockham
David W Sergi
Smith B Rulapaugh
Claire R Whobrey
Claire E Iturbide
Kadeem T Gillian
Maria R Royster
Rodrigues R Ferencz
Leja W Inouye
Mujtaba B Poquette
Chavez G Poquette
Ricardo D Kusko
James E Albares
Francesco B Campain
Jennifer K Royster
Mayumi G Tollner
Maisha C Garufi
Aditya E Gillian
David V Amigon
David L Flosi
David W Flosi
Juan F Whobrey
Julie F Caudy
Clifford A Tollner
Izzy H Inouye
Aika E Caldarera
Wickens F Saylors
Salvatore Q Amigon
Leon K Glick
Munro R Ruta
Julie L Chui
Wickens B Campain
Munro C Amigon
Tony B Dilliard
Claire S Glick
Jennifer Q Stenseth
Jennifer X Malet
Greenwood V Stenseth
Francesco A Schemmer
Emily N Maclead
IdCountryDate
1000Brazil2024-05-21
1001Canada2024-05-14
1002United Kingdom2024-04-30
1003Brazil2024-05-17
1004Canada2024-05-21
1005United Kingdom2024-05-01
1006Russia2024-05-05
1007Japan2024-04-28
1008Japan2024-05-15
1009France2024-05-17
1010France2024-05-23
1011Canada2024-05-15
1012Italy2024-05-22
1013Germany2024-04-30
1014Italy2024-05-14
1015Brazil2024-04-30
1016United Kingdom2024-05-16
1017Argentina2024-05-16
1018Germany2024-05-21
1019Brazil2024-05-03
1020Brazil2024-05-14
1021United Kingdom2024-05-23
1022Argentina2024-05-05
1023Russia2024-05-06
1024Brazil2024-05-08
1025Spain2024-05-21
1026Brazil2024-05-01
1027Spain2024-05-26
1028Spain2024-05-02
1029Russia2024-05-25
1030Brazil2024-05-23
1031Argentina2024-05-05
1032Argentina2024-05-14
1033Australia2024-04-29
1034Brazil2024-05-21
1035Germany2024-05-02
1036Japan2024-05-18
1037Italy2024-05-09
1038Canada2024-05-27
1039Spain2024-05-14
1040India2024-05-26
1041Australia2024-05-15
1042Brazil2024-05-05
1043United Kingdom2024-05-13
1044Spain2024-05-06
1045Russia2024-05-17
1046Brazil2024-05-15
1047Argentina2024-05-09
1048Argentina2024-05-27
1049Spain2024-05-04

On-Demand Data

NameIdCountryDate
Jennifer O Campain1000Argentina2024-04-29
Isabel U Royster1001Japan2024-05-17
James W Gillian1002India2024-05-26
Julie A Ostrosky1003United Kingdom2024-05-18
Octavia Z Flosi1004Argentina2024-05-10
Julie I Tollner1005Australia2024-05-10
Wickens K Saylors1006Australia2024-05-18
Jefferson O Campain1007Spain2024-05-10
James B Albares1008Australia2024-04-29
Julie W Schemmer1009India2024-05-25
Ashley E Poquette1010Spain2024-05-05
Salvatore E Oldroyd1011United Kingdom2024-05-20
Ashley D Iturbide1012Canada2024-04-29
Aditya E Poquette1013Argentina2024-05-07
Ricardo C Inouye1014Canada2024-05-10
Murillo N Chui1015Argentina2024-05-01
Salvatore L Waycott1016Argentina2024-05-15
Morrow B Malet1017Germany2024-05-24
Francesco Y Darakjy1018United Kingdom2024-05-12
Jeanfrancois S Poquette1019Russia2024-05-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia L SlusarskiFranceElwin Sharvill NEW
Rodrigues P AlbaresUnited KingdomAnna Fali UNQUALIFIED
Aika C WieserRussiaIoni Bowcher UNQUALIFIED
Munro K MorascaGermanyAsiya Javayant UNQUALIFIED
Ashley R PerinUnited KingdomIoni Bowcher PROPOSAL
Ivar M VenereBrazilAnna Fali NEGOTIATION
Juan I TollnerCanadaIvan Magalhaes NEGOTIATION
Costa I InouyeCanadaIvan Magalhaes PROPOSAL
Leja P AlbaresItalyXuxue Feng PROPOSAL
Ashley Z NickaCanadaOnyama Limba RENEWAL
Faith R BowleyRussiaIoni Bowcher NEGOTIATION
Mujtaba J VenereIndiaStephen Shaw UNQUALIFIED
Octavia Y SergiCanadaAsiya Javayant UNQUALIFIED
Arvin B CaudyArgentinaAmy Elsner NEW
David J DilliardItalyXuxue Feng UNQUALIFIED
Kaitlin D FerenczCanadaIvan Magalhaes NEW
David C FlosiFranceStephen Shaw QUALIFIED
Juan J MacleadAustraliaIvan Magalhaes NEW
David K ShinkoAustraliaAmy Elsner UNQUALIFIED
Salvatore T WieserJapanElwin Sharvill NEGOTIATION
Faith T WhobreySpainAsiya Javayant QUALIFIED
Deepesh O PaprockiRussiaAsiya Javayant UNQUALIFIED
Smith T KuskoGermanyIvan Magalhaes QUALIFIED
David H BowleySpainStephen Shaw NEGOTIATION
James K GarufiGermanyIoni Bowcher PROPOSAL
Ricardo P IturbideIndiaStephen Shaw NEGOTIATION
James V CampainBrazilStephen Shaw PROPOSAL
Wickens V ShinkoBrazilElwin Sharvill NEGOTIATION
Ricardo Y ShinkoFranceXuxue Feng NEGOTIATION
Darci C GauchoBrazilAnna Fali NEW
Morrow I WieserItalyElwin Sharvill UNQUALIFIED
David W MaletRussiaXuxue Feng QUALIFIED
Smith J MaletJapanIoni Bowcher NEGOTIATION
Kaitlin E FollerAustraliaIoni Bowcher RENEWAL
Aditya L KolmetzArgentinaXuxue Feng RENEWAL
Alejandro U TollnerFranceElwin Sharvill NEGOTIATION
Maisha O RimAustraliaAsiya Javayant PROPOSAL
Jefferson K WhobreyAustraliaOnyama Limba UNQUALIFIED
Leon S DarakjyItalyStephen Shaw PROPOSAL
Aruna I StockhamGermanyElwin Sharvill 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>