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
Johnson Q RoysterGermanyStephen Shaw NEW
Morrow T CampainJapanXuxue Feng RENEWAL
Jones W FlosiUnited KingdomAmy Elsner RENEWAL
Munro O NestleJapanAmy Elsner QUALIFIED
Rodrigues K BriddickItalyStephen Shaw RENEWAL
Jones M CaldareraIndiaBernardo Dominic UNQUALIFIED
Faith W RimItalyAnna Fali UNQUALIFIED
Maisha R NickaRussiaXuxue Feng NEW
Kaitlin V MorascaGermanyAnna Fali PROPOSAL
Octavia R ButtJapanElwin Sharvill RENEWAL
Aditya F DilliardIndiaAmy Elsner NEGOTIATION
Rodrigues V RutaArgentinaOnyama Limba NEGOTIATION
Julie T NickaFranceStephen Shaw RENEWAL
Nicolas A AlbaresIndiaIvan Magalhaes UNQUALIFIED
Francesco C SergiFranceBernardo Dominic PROPOSAL
Ashley I AlbaresSpainAsiya Javayant RENEWAL
Johnson G StockhamJapanIvan Magalhaes UNQUALIFIED
Morrow R RutaRussiaElwin Sharvill UNQUALIFIED
Misaki K MaletBrazilXuxue Feng QUALIFIED
Kadeem A OldroydCanadaBernardo Dominic QUALIFIED
Smith P OldroydRussiaBernardo Dominic QUALIFIED
Misaki G MaletCanadaXuxue Feng NEW
Octavia W MaletIndiaIoni Bowcher UNQUALIFIED
Morrow J FollerBrazilOnyama Limba PROPOSAL
Cody I WieserSpainAsiya Javayant NEGOTIATION
Sinclair W GauchoBrazilIvan Magalhaes NEW
Aruna U PerinArgentinaAmy Elsner NEW
Isabel K RoysterAustraliaIvan Magalhaes NEW
Julie N SchemmerArgentinaAsiya Javayant UNQUALIFIED
Kadeem G OldroydJapanAmy Elsner UNQUALIFIED
Rodrigues M OstroskyIndiaAmy Elsner PROPOSAL
Faith W PoquetteFranceAsiya Javayant NEW
Antonio H GillianIndiaAnna Fali NEW
Clifford J DilliardJapanXuxue Feng PROPOSAL
Arvin J StensethRussiaOnyama Limba QUALIFIED
Munro A MarrierSpainAmy Elsner NEW
Munro I MarrierItalyIoni Bowcher NEW
Aruna I AmigonItalyAnna Fali RENEWAL
Leon Y GarufiSpainIvan Magalhaes NEW
Silvio K IturbideFranceIoni Bowcher NEW
Johnson B SchemmerIndiaStephen Shaw PROPOSAL
Silvio Y NestleBrazilAsiya Javayant QUALIFIED
Cody V SlusarskiArgentinaXuxue Feng NEGOTIATION
Arvin L SaylorsArgentinaXuxue Feng NEW
Julie Z NickaIndiaIoni Bowcher PROPOSAL
Wickens J MaletItalyXuxue Feng RENEWAL
Rodrigues U RutaFranceStephen Shaw NEW
Jennifer O NickaGermanyBernardo Dominic NEW
Adams E AmigonRussiaAmy Elsner RENEWAL
David J GillianCanadaStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Wickens M ButtIndiaElwin Sharvill RENEWAL
Clifford I DoeCanadaIvan Magalhaes PROPOSAL
Faith R BologniaUnited KingdomIoni Bowcher PROPOSAL
Kadeem D InouyeItalyBernardo Dominic NEGOTIATION
Izzy S SchemmerCanadaAsiya Javayant UNQUALIFIED
Salvatore Y FlosiArgentinaElwin Sharvill QUALIFIED
Wickens G MorascaRussiaAsiya Javayant NEGOTIATION
Rodrigues S MaletArgentinaXuxue Feng NEW
Silvio D InouyeSpainIoni Bowcher RENEWAL
Aditya G GarufiRussiaAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio L KolmetzAustralia2024-09-10Dorl, James J Esq UNQUALIFIED47Elwin Sharvill
1001David F FlosiCanada2024-09-19Chanay, Jeffrey A Esq NEGOTIATION1Stephen Shaw
1002Smith H RutaRussia2024-09-07Feiner Bros NEW63Asiya Javayant
1003Leon P GlickBrazil2024-09-01Rangoni Of Florence PROPOSAL18Anna Fali
1004Arvin I SlusarskiJapan2024-09-08Chanay, Jeffrey A Esq QUALIFIED61Amy Elsner
1005Sinclair Z PaprockiBrazil2024-09-04Dorl, James J Esq NEGOTIATION43Onyama Limba
1006Claire U StockhamFrance2024-09-02Printing Dimensions QUALIFIED29Amy Elsner
1007Jefferson L DarakjyArgentina2024-09-04King, Christopher A Esq NEW90Onyama Limba
1008Darci J StockhamUnited Kingdom2024-09-08Rousseaux, Michael Esq UNQUALIFIED4Asiya Javayant
1009Aika D BologniaArgentina2024-09-01Dorl, James J Esq NEGOTIATION17Stephen Shaw
1010Salvatore G ButtSpain2024-08-29Chapman, Ross E Esq NEW57Onyama Limba
1011Faith D VenereArgentina2024-09-13Buckley Miller Wright RENEWAL77Elwin Sharvill
1012Alejandro G WhobreySpain2024-08-29Dorl, James J Esq NEGOTIATION27Ivan Magalhaes
1013Francesco D VenereItaly2024-09-13Rousseaux, Michael Esq PROPOSAL32Ioni Bowcher
1014Jefferson M WieserIndia2024-09-25Commercial Press PROPOSAL39Elwin Sharvill
1015Julie C PaprockiJapan2024-09-15Dorl, James J Esq NEW27Ivan Magalhaes
1016Aditya Y PoquetteGermany2024-09-08Benton, John B Jr PROPOSAL38Anna Fali
1017Ricardo S OstroskyItaly2024-09-21Dorl, James J Esq QUALIFIED51Ioni Bowcher
1018Aruna C RulapaughAustralia2024-09-24Morlong Associates RENEWAL91Ivan Magalhaes
1019Ashley T PerinItaly2024-09-12Chanay, Jeffrey A Esq NEGOTIATION83Stephen Shaw
1020Kaitlin W AlbaresJapan2024-08-28Benton, John B Jr PROPOSAL32Elwin Sharvill
1021Ashley N RoysterRussia2024-09-01Rousseaux, Michael Esq UNQUALIFIED6Asiya Javayant
1022Mujtaba R BowleyFrance2024-09-16Truhlar And Truhlar Attys NEGOTIATION26Anna Fali
1023Alejandro Z InouyeArgentina2024-08-31Feltz Printing Service NEW82Stephen Shaw
1024Munro O ShinkoUnited Kingdom2024-09-15Rousseaux, Michael Esq NEGOTIATION58Xuxue Feng
1025James K PerinUnited Kingdom2024-09-24Feltz Printing Service PROPOSAL2Stephen Shaw
1026Leon L FigeroaFrance2024-09-04Commercial Press UNQUALIFIED69Xuxue Feng
1027Leja P RutaUnited Kingdom2024-09-08Benton, John B Jr UNQUALIFIED92Elwin Sharvill
1028Smith E PaprockiAustralia2024-09-16King, Christopher A Esq NEGOTIATION38Anna Fali
1029Emily S StensethItaly2024-09-20Dorl, James J Esq PROPOSAL80Amy Elsner
1030Juan F GauchoCanada2024-09-25Feltz Printing Service QUALIFIED25Anna Fali
1031Jennifer A WaycottArgentina2024-09-01Buckley Miller Wright RENEWAL23Stephen Shaw
1032Julie N VenereBrazil2024-09-20Morlong Associates QUALIFIED82Ioni Bowcher
1033Smith R GauchoFrance2024-09-04Chemel, James L Cpa UNQUALIFIED98Ivan Magalhaes
1034Kaitlin Z WhobreyBrazil2024-09-01Printing Dimensions NEW82Elwin Sharvill
1035David Z OldroydFrance2024-09-23Dorl, James J Esq PROPOSAL49Asiya Javayant
1036Jones N DoeBrazil2024-09-23Chapman, Ross E Esq UNQUALIFIED42Bernardo Dominic
1037Silvio G DoeSpain2024-09-15Printing Dimensions QUALIFIED6Asiya Javayant
1038Octavia J KuskoGermany2024-09-21Chemel, James L Cpa NEGOTIATION56Ioni Bowcher
1039Greenwood E SergiJapan2024-08-30Printing Dimensions QUALIFIED38Ivan Magalhaes
1040Rodrigues S DarakjyFrance2024-09-06Truhlar And Truhlar Attys NEGOTIATION14Amy Elsner
1041Johnson W GillianItaly2024-09-19Chemel, James L Cpa QUALIFIED73Onyama Limba
1042Ashley Z WaycottAustralia2024-09-20Rangoni Of Florence RENEWAL55Elwin Sharvill
1043Isabel O SaylorsFrance2024-09-08Truhlar And Truhlar Attys NEGOTIATION99Amy Elsner
1044Tony X DoeUnited Kingdom2024-09-03Chapman, Ross E Esq NEW6Elwin Sharvill
1045Salvatore T StockhamAustralia2024-09-02Commercial Press NEW51Stephen Shaw
1046Murillo X MorascaIndia2024-09-19Commercial Press UNQUALIFIED78Xuxue Feng
1047Salvatore U PaprockiJapan2024-09-15Feltz Printing Service NEGOTIATION93Elwin Sharvill
1048Maisha A InouyeAustralia2024-09-01Truhlar And Truhlar Attys NEW40Onyama Limba
1049Ricardo M RoysterBrazil2024-09-02Morlong Associates QUALIFIED85Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Salvatore J OstroskyUnited KingdomStephen Shaw UNQUALIFIED
Aditya R RoysterFranceXuxue Feng NEGOTIATION
Jeanfrancois A ButtSpainXuxue Feng UNQUALIFIED
Arvin G PaprockiFranceAnna Fali NEW
Clifford U SergiRussiaAsiya Javayant NEW
Francesco N RimSpainAsiya Javayant QUALIFIED
Izzy K PoquetteRussiaAnna Fali NEW
Maria O RulapaughJapanStephen Shaw PROPOSAL
Jeanfrancois K AlbaresSpainStephen Shaw QUALIFIED
Mujtaba S RutaCanadaElwin Sharvill UNQUALIFIED
Kaitlin M FlosiFranceBernardo Dominic NEW
Deepesh O GillianFranceOnyama Limba NEW
Morrow P RoysterAustraliaIvan Magalhaes NEGOTIATION
Francesco W KuskoCanadaXuxue Feng NEW
Aditya Z ButtRussiaIoni Bowcher NEGOTIATION
Emily P GillianArgentinaOnyama Limba RENEWAL
Morrow C DilliardGermanyAmy Elsner UNQUALIFIED
Isabel Q CaudyArgentinaAmy Elsner PROPOSAL
Johnson L ShinkoSpainIvan Magalhaes QUALIFIED
Sinclair T MaletSpainOnyama Limba NEW
Aika I GauchoBrazilXuxue Feng QUALIFIED
Greenwood H NickaJapanAsiya Javayant PROPOSAL
Aika S VenereCanadaIvan Magalhaes QUALIFIED
Francesco R VocelkaItalyAnna Fali NEGOTIATION
Isabel D KuskoRussiaElwin Sharvill NEW
Aditya B NestleCanadaOnyama Limba QUALIFIED
Tony Z ButtJapanStephen Shaw UNQUALIFIED
Aika J MorascaGermanyAsiya Javayant NEGOTIATION
Tony Q NickaAustraliaIvan Magalhaes RENEWAL
Misaki Y SergiArgentinaIoni Bowcher NEW
Claire U NickaBrazilAmy Elsner NEW
Tony W ChuiAustraliaAsiya Javayant NEW
Arvin E GillianFranceAnna Fali RENEWAL
Ivar D WhobreyFranceBernardo Dominic QUALIFIED
Darci U VocelkaRussiaAnna Fali PROPOSAL
Leja S MacleadJapanOnyama Limba NEGOTIATION
Mujtaba S VocelkaCanadaIvan Magalhaes RENEWAL
Adams U FlosiRussiaXuxue Feng NEW
Clifford W RoysterFranceBernardo Dominic NEW
Aditya A GlickSpainAnna Fali RENEWAL
Kadeem P BologniaItalyAnna Fali PROPOSAL
Wickens U GlickFranceBernardo Dominic NEGOTIATION
Octavia O KolmetzIndiaAsiya Javayant QUALIFIED
Nicolas P AlbaresSpainAsiya Javayant QUALIFIED
Jennifer L BriddickJapanOnyama Limba NEW
Faith M KuskoUnited KingdomStephen Shaw QUALIFIED
Faith K MaletCanadaAsiya Javayant PROPOSAL
Jennifer B StensethRussiaIoni Bowcher PROPOSAL
Leja F RutaBrazilIoni Bowcher QUALIFIED
Jennifer J StensethAustraliaIoni Bowcher PROPOSAL
Frozen Columns
Name
Juan E Dilliard
Costa C Doe
Isabel I Foller
Silvio Y Perin
Salvatore U Caldarera
Clifford R Stockham
Ashley I Caudy
Francesco P Darakjy
Nicolas L Gillian
Maria P Doe
Misaki Y Gaucho
Wickens J Darakjy
Munro G Morasca
Alejandro O Albares
Aruna F Venere
Juan E Gillian
Jones P Perin
Smith B Gillian
Cody F Bowley
Juan R Foller
Rodrigues S Ruta
Salvatore O Stockham
Ricardo M Malet
Maria R Caudy
Smith V Tollner
James P Figeroa
Jennifer E Figeroa
Chavez N Flosi
Kaitlin I Shinko
Clifford G Foller
Salvatore D Inouye
Ricardo R Wieser
Kadeem Q Butt
Adams H Darakjy
Maisha G Inouye
Murillo W Malet
Rodrigues K Oldroyd
Claire N Caldarera
Clifford H Stenseth
Johnson B Gaucho
Sinclair B Campain
Greenwood C Tollner
Aditya Q Whobrey
Murillo Y Slusarski
Mayumi A Whobrey
Greenwood H Vocelka
Jefferson B Inouye
Emily E Nestle
Rodrigues J Tollner
Nicolas H Venere
IdCountryDate
1000Argentina2024-09-16
1001India2024-09-24
1002Australia2024-08-28
1003Argentina2024-09-13
1004India2024-09-22
1005Russia2024-08-28
1006Spain2024-09-15
1007France2024-08-27
1008Germany2024-09-13
1009Russia2024-09-04
1010Australia2024-09-13
1011United Kingdom2024-09-10
1012United Kingdom2024-09-14
1013Brazil2024-08-30
1014United Kingdom2024-09-16
1015Australia2024-09-20
1016Japan2024-09-20
1017Australia2024-09-09
1018Brazil2024-09-23
1019India2024-09-19
1020Australia2024-09-05
1021France2024-09-01
1022United Kingdom2024-08-28
1023Australia2024-09-16
1024Germany2024-08-29
1025Italy2024-09-14
1026Argentina2024-09-14
1027Australia2024-09-12
1028Russia2024-09-03
1029Spain2024-09-24
1030Spain2024-09-11
1031Italy2024-09-22
1032Argentina2024-09-11
1033Australia2024-09-15
1034United Kingdom2024-09-21
1035United Kingdom2024-09-10
1036Australia2024-09-07
1037United Kingdom2024-09-23
1038Italy2024-09-25
1039Australia2024-08-30
1040Japan2024-09-22
1041Brazil2024-09-07
1042France2024-09-14
1043Spain2024-09-25
1044Italy2024-09-04
1045United Kingdom2024-09-04
1046France2024-08-31
1047Australia2024-09-10
1048Brazil2024-09-05
1049Italy2024-09-18

On-Demand Data

NameIdCountryDate
Kadeem V Chui1000Germany2024-09-15
Francesco G Marrier1001Germany2024-09-03
Misaki L Perin1002France2024-09-01
Cody K Rim1003Canada2024-09-14
Aika E Waycott1004Russia2024-09-23
Tony E Waycott1005France2024-08-27
Silvio D Bowley1006India2024-08-27
Sinclair C Oldroyd1007Australia2024-09-20
Greenwood J Wieser1008Canada2024-09-04
Ricardo R Malet1009Russia2024-09-10
Emily A Vocelka1010Russia2024-09-25
David U Shinko1011United Kingdom2024-09-25
Emily I Morasca1012Australia2024-09-24
Cody F Stenseth1013Australia2024-09-08
Smith R Kolmetz1014Australia2024-09-15
Izzy A Gillian1015Germany2024-08-31
Isabel B Saylors1016Canada2024-09-15
Deepesh L Gillian1017India2024-09-01
David M Figeroa1018Brazil2024-09-18
Jones G Malet1019Canada2024-09-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki S VenereCanadaIvan Magalhaes NEW
Aditya G FollerIndiaXuxue Feng PROPOSAL
Leon W VenereItalyIoni Bowcher RENEWAL
Kaitlin R SaylorsAustraliaIvan Magalhaes NEGOTIATION
Arvin L CaudyUnited KingdomXuxue Feng UNQUALIFIED
Maisha S SergiFranceXuxue Feng PROPOSAL
Leja U SchemmerCanadaOnyama Limba PROPOSAL
Leja U GarufiItalyIvan Magalhaes PROPOSAL
Johnson L MacleadAustraliaAmy Elsner UNQUALIFIED
Misaki L AlbaresCanadaIoni Bowcher RENEWAL
Octavia I SchemmerJapanAnna Fali NEW
Maria W RutaItalyBernardo Dominic NEW
Jennifer B DilliardAustraliaIvan Magalhaes UNQUALIFIED
Munro R MacleadItalyAsiya Javayant NEW
Smith H PerinGermanyIvan Magalhaes UNQUALIFIED
Salvatore V KuskoArgentinaIoni Bowcher QUALIFIED
Ivar B PerinIndiaAnna Fali PROPOSAL
Deepesh E NestleCanadaIoni Bowcher QUALIFIED
Deepesh Z DilliardUnited KingdomIvan Magalhaes NEW
Ivar P FlosiArgentinaIoni Bowcher RENEWAL
Rodrigues H ShinkoGermanyOnyama Limba UNQUALIFIED
Jefferson U BologniaUnited KingdomAnna Fali NEW
Rodrigues J RulapaughAustraliaAnna Fali NEW
Maria K CaldareraSpainOnyama Limba RENEWAL
Ashley T MaletBrazilIvan Magalhaes UNQUALIFIED
Ricardo S StockhamUnited KingdomAsiya Javayant QUALIFIED
Kadeem Q RutaAustraliaAnna Fali UNQUALIFIED
Faith Y RutaSpainIvan Magalhaes PROPOSAL
Smith G MarrierIndiaBernardo Dominic QUALIFIED
Francesco H OldroydUnited KingdomAmy Elsner NEGOTIATION
Munro R TollnerIndiaOnyama Limba QUALIFIED
Maria W MarrierIndiaXuxue Feng PROPOSAL
Jennifer J MorascaSpainIvan Magalhaes NEW
Izzy B AmigonBrazilAmy Elsner RENEWAL
Wickens F WaycottUnited KingdomStephen Shaw RENEWAL
Ricardo R PerinRussiaBernardo Dominic RENEWAL
Sinclair O ButtAustraliaXuxue Feng PROPOSAL
Aika B RulapaughItalyAsiya Javayant NEGOTIATION
Mujtaba Q RoysterItalyAmy Elsner UNQUALIFIED
Nicolas I AmigonSpainElwin Sharvill 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>