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
Sinclair T InouyeSpainXuxue Feng RENEWAL
Tony P TollnerJapanBernardo Dominic QUALIFIED
Isabel V BowleyRussiaIvan Magalhaes RENEWAL
Aditya G ButtJapanOnyama Limba NEW
Claire B AmigonJapanIvan Magalhaes PROPOSAL
David D VocelkaIndiaXuxue Feng NEGOTIATION
Johnson N VocelkaArgentinaAsiya Javayant QUALIFIED
Morrow D RoysterUnited KingdomAnna Fali NEGOTIATION
Costa U SaylorsGermanyStephen Shaw NEGOTIATION
Maria A AlbaresJapanXuxue Feng NEGOTIATION
Ricardo U TollnerAustraliaOnyama Limba QUALIFIED
Jones J SaylorsRussiaIvan Magalhaes NEGOTIATION
Juan M ButtCanadaXuxue Feng RENEWAL
Misaki D AlbaresCanadaOnyama Limba RENEWAL
James Y DarakjyRussiaIoni Bowcher NEW
Aruna L PoquetteGermanyAmy Elsner NEGOTIATION
Octavia Y GauchoIndiaAmy Elsner UNQUALIFIED
Munro Z IturbideRussiaElwin Sharvill RENEWAL
Tony I PerinArgentinaAnna Fali RENEWAL
Aika V KuskoAustraliaBernardo Dominic UNQUALIFIED
Kaitlin K DoeJapanAmy Elsner PROPOSAL
David Y RoysterJapanStephen Shaw NEW
Deepesh Z OstroskyFranceOnyama Limba QUALIFIED
David Y OldroydIndiaIoni Bowcher UNQUALIFIED
Wickens W ButtArgentinaStephen Shaw NEGOTIATION
Wickens Y ShinkoItalyAnna Fali NEGOTIATION
Mayumi S FlosiIndiaIvan Magalhaes NEGOTIATION
James F SchemmerArgentinaAsiya Javayant NEW
Antonio I OstroskyUnited KingdomIvan Magalhaes NEW
Alejandro T RutaAustraliaAmy Elsner NEGOTIATION
Jennifer S AlbaresAustraliaAsiya Javayant PROPOSAL
Mujtaba B CaldareraBrazilBernardo Dominic NEW
Sinclair O GillianUnited KingdomOnyama Limba RENEWAL
Mayumi X SergiIndiaIvan Magalhaes RENEWAL
Isabel N KuskoCanadaAsiya Javayant UNQUALIFIED
Aruna O VocelkaArgentinaIoni Bowcher PROPOSAL
Jeanfrancois O PaprockiFranceAnna Fali PROPOSAL
Morrow C GlickBrazilElwin Sharvill QUALIFIED
David U SlusarskiRussiaXuxue Feng RENEWAL
Chavez U WhobreyCanadaStephen Shaw UNQUALIFIED
Maisha X AlbaresUnited KingdomElwin Sharvill NEW
Nicolas T KolmetzCanadaOnyama Limba RENEWAL
Clifford K AmigonIndiaElwin Sharvill NEGOTIATION
James V GarufiCanadaIvan Magalhaes QUALIFIED
Leja C VocelkaBrazilXuxue Feng QUALIFIED
Cody W NestleUnited KingdomIoni Bowcher NEW
Aika X BologniaBrazilOnyama Limba QUALIFIED
Salvatore I GauchoIndiaAsiya Javayant UNQUALIFIED
Clifford U DilliardUnited KingdomStephen Shaw UNQUALIFIED
Aditya R PerinGermanyElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ivar O FlosiRussiaElwin Sharvill NEGOTIATION
Chavez D IturbideJapanStephen Shaw RENEWAL
Adams G NickaIndiaAnna Fali RENEWAL
Jennifer F FigeroaBrazilAnna Fali UNQUALIFIED
Ricardo N GillianItalyOnyama Limba PROPOSAL
Stacey J AmigonUnited KingdomStephen Shaw QUALIFIED
Aika V DarakjyItalyAmy Elsner NEW
Ashley F MarrierFranceOnyama Limba QUALIFIED
Ricardo E TollnerArgentinaAmy Elsner NEW
Darci Q CampainSpainOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio C RoysterUnited Kingdom2024-05-22Morlong Associates RENEWAL42Stephen Shaw
1001Juan N FlosiGermany2024-06-11Rangoni Of Florence RENEWAL42Ioni Bowcher
1002Aditya Z ButtRussia2024-05-26Chapman, Ross E Esq NEGOTIATION5Amy Elsner
1003Greenwood N SaylorsItaly2024-06-08Commercial Press NEGOTIATION78Ioni Bowcher
1004Francesco H MaletUnited Kingdom2024-05-26Buckley Miller Wright UNQUALIFIED27Asiya Javayant
1005Tony H MorascaJapan2024-06-07Rangoni Of Florence PROPOSAL18Xuxue Feng
1006Cody O BologniaCanada2024-06-11Rousseaux, Michael Esq NEW8Xuxue Feng
1007Emily W RulapaughAustralia2024-05-15Benton, John B Jr UNQUALIFIED82Xuxue Feng
1008Misaki T AmigonAustralia2024-05-25Chapman, Ross E Esq UNQUALIFIED56Ivan Magalhaes
1009Julie Q AlbaresItaly2024-06-11Chemel, James L Cpa NEGOTIATION78Onyama Limba
1010Jennifer R FollerUnited Kingdom2024-05-25Feiner Bros UNQUALIFIED89Asiya Javayant
1011Aruna S FerenczAustralia2024-05-30Buckley Miller Wright NEW81Asiya Javayant
1012David U CampainUnited Kingdom2024-06-10Feltz Printing Service UNQUALIFIED12Onyama Limba
1013Leon F CaudySpain2024-05-15Printing Dimensions QUALIFIED17Bernardo Dominic
1014Adams V FollerSpain2024-06-13Buckley Miller Wright UNQUALIFIED31Stephen Shaw
1015Maria C KolmetzItaly2024-05-20Commercial Press NEW9Elwin Sharvill
1016Chavez A WhobreyArgentina2024-06-07King, Christopher A Esq PROPOSAL80Stephen Shaw
1017Jennifer R RutaCanada2024-05-15Commercial Press PROPOSAL55Bernardo Dominic
1018Silvio L StockhamItaly2024-06-09Feltz Printing Service NEGOTIATION49Elwin Sharvill
1019Ricardo G WieserFrance2024-05-25Chapman, Ross E Esq RENEWAL74Bernardo Dominic
1020Antonio K RutaJapan2024-06-05Chapman, Ross E Esq NEW40Stephen Shaw
1021Aruna X WieserJapan2024-05-30Chanay, Jeffrey A Esq NEW81Bernardo Dominic
1022Aika Y GauchoRussia2024-06-07Chanay, Jeffrey A Esq NEGOTIATION95Bernardo Dominic
1023Ashley A NestleSpain2024-05-22Morlong Associates QUALIFIED10Xuxue Feng
1024Smith R OldroydJapan2024-05-25Rousseaux, Michael Esq NEGOTIATION79Ioni Bowcher
1025Maria J NickaGermany2024-05-16Chapman, Ross E Esq UNQUALIFIED45Amy Elsner
1026Kaitlin Y FerenczFrance2024-06-12Rangoni Of Florence QUALIFIED65Ivan Magalhaes
1027Maria P GarufiIndia2024-06-03Benton, John B Jr PROPOSAL44Onyama Limba
1028Emily C GauchoGermany2024-06-09Chanay, Jeffrey A Esq RENEWAL67Onyama Limba
1029Maisha B NestleAustralia2024-06-12Feltz Printing Service PROPOSAL93Elwin Sharvill
1030Nicolas N StockhamCanada2024-05-26Benton, John B Jr PROPOSAL40Stephen Shaw
1031Julie A BriddickAustralia2024-05-24Feiner Bros PROPOSAL24Onyama Limba
1032Jones F GillianUnited Kingdom2024-05-15Chapman, Ross E Esq UNQUALIFIED29Stephen Shaw
1033Morrow F DarakjyCanada2024-05-29Buckley Miller Wright QUALIFIED5Elwin Sharvill
1034Juan N KolmetzGermany2024-06-12Rousseaux, Michael Esq NEGOTIATION92Bernardo Dominic
1035Greenwood W RoysterSpain2024-05-23Dorl, James J Esq NEW41Amy Elsner
1036Izzy P TollnerSpain2024-05-31Commercial Press NEW41Amy Elsner
1037Jones V CampainBrazil2024-06-04Commercial Press UNQUALIFIED6Onyama Limba
1038Costa M FerenczRussia2024-06-03King, Christopher A Esq QUALIFIED95Stephen Shaw
1039Jefferson H WieserGermany2024-05-18Feltz Printing Service QUALIFIED99Elwin Sharvill
1040James R WhobreySpain2024-06-04King, Christopher A Esq PROPOSAL47Onyama Limba
1041Nicolas A AmigonUnited Kingdom2024-05-15Benton, John B Jr RENEWAL14Elwin Sharvill
1042Salvatore Y CaldareraIndia2024-05-24Commercial Press UNQUALIFIED55Elwin Sharvill
1043Greenwood Q WieserGermany2024-06-11King, Christopher A Esq NEGOTIATION17Elwin Sharvill
1044Smith V GillianArgentina2024-06-10Feltz Printing Service NEW59Amy Elsner
1045Alejandro D WaycottUnited Kingdom2024-06-06Commercial Press NEW36Ioni Bowcher
1046Johnson B RulapaughBrazil2024-05-19Rousseaux, Michael Esq UNQUALIFIED77Stephen Shaw
1047Silvio Q StockhamGermany2024-05-22Benton, John B Jr PROPOSAL1Amy Elsner
1048Munro V BriddickCanada2024-05-15Morlong Associates UNQUALIFIED35Elwin Sharvill
1049Kaitlin E MorascaGermany2024-05-17Rousseaux, Michael Esq NEW54Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Jefferson H PerinItalyAmy Elsner UNQUALIFIED
Octavia D PaprockiRussiaElwin Sharvill PROPOSAL
Maisha E VenereRussiaXuxue Feng PROPOSAL
Julie I GarufiCanadaIoni Bowcher NEW
Nicolas L BriddickUnited KingdomAmy Elsner PROPOSAL
David X RutaFranceIoni Bowcher NEGOTIATION
Costa W CaldareraArgentinaOnyama Limba NEGOTIATION
Kaitlin Z FlosiRussiaAsiya Javayant QUALIFIED
Rodrigues I CaudyIndiaAmy Elsner NEGOTIATION
Murillo S IturbideFranceAsiya Javayant NEGOTIATION
Nicolas M RimUnited KingdomIoni Bowcher PROPOSAL
Aika Z BowleySpainAnna Fali QUALIFIED
Faith C AlbaresIndiaAnna Fali UNQUALIFIED
Jones N DarakjySpainOnyama Limba NEW
Maisha D SchemmerJapanAmy Elsner RENEWAL
Aika M WaycottCanadaElwin Sharvill UNQUALIFIED
Greenwood V WhobreySpainXuxue Feng UNQUALIFIED
Adams H AlbaresRussiaAnna Fali RENEWAL
Jeanfrancois L ChuiItalyAnna Fali QUALIFIED
Sinclair F BriddickSpainIvan Magalhaes NEGOTIATION
Darci T VocelkaGermanyXuxue Feng PROPOSAL
Arvin D ShinkoItalyOnyama Limba QUALIFIED
Aruna T StensethRussiaAsiya Javayant UNQUALIFIED
Silvio P InouyeIndiaOnyama Limba UNQUALIFIED
Alejandro G FlosiArgentinaAsiya Javayant PROPOSAL
Silvio U FigeroaGermanyStephen Shaw UNQUALIFIED
Clifford R OstroskyFranceBernardo Dominic PROPOSAL
Ivar C FollerRussiaAmy Elsner NEGOTIATION
Nicolas J RoysterAustraliaBernardo Dominic PROPOSAL
Maria Y GillianRussiaAsiya Javayant PROPOSAL
Juan J WieserSpainAsiya Javayant NEW
Clifford H DoeJapanAsiya Javayant QUALIFIED
Jennifer Q PaprockiIndiaAnna Fali NEW
Murillo G ChuiBrazilAmy Elsner UNQUALIFIED
Morrow U PoquetteRussiaBernardo Dominic RENEWAL
Juan K AlbaresBrazilAsiya Javayant QUALIFIED
Aruna M KolmetzSpainAsiya Javayant NEW
James O MaletArgentinaAsiya Javayant NEW
Jeanfrancois Q TollnerBrazilBernardo Dominic QUALIFIED
Adams K WaycottJapanIoni Bowcher NEW
Jones N RimJapanIvan Magalhaes QUALIFIED
Emily J OldroydUnited KingdomAsiya Javayant PROPOSAL
David O GauchoFranceIoni Bowcher RENEWAL
Mayumi V AmigonAustraliaAnna Fali QUALIFIED
Maria D MacleadIndiaOnyama Limba NEGOTIATION
Mujtaba Z VenereFranceAmy Elsner RENEWAL
Aruna O PoquetteGermanyAmy Elsner RENEWAL
Johnson P RulapaughAustraliaIvan Magalhaes UNQUALIFIED
Kadeem H GarufiRussiaAmy Elsner NEGOTIATION
Salvatore O FollerIndiaIoni Bowcher NEGOTIATION
Frozen Columns
Name
Leon M Slusarski
Aika K Poquette
James B Doe
Costa V Caldarera
Smith F Saylors
Antonio S Inouye
Adams N Bowley
Clifford F Figeroa
Chavez N Bowley
Stacey C Bolognia
Aika W Briddick
Emily W Poquette
Stacey H Wieser
Darci U Kolmetz
Juan R Rulapaugh
Stacey K Ferencz
Ricardo V Vocelka
Johnson G Darakjy
Chavez B Malet
Misaki S Vocelka
Rodrigues Z Tollner
James E Bowley
Adams A Butt
Clifford E Paprocki
Silvio B Perin
Kadeem A Morasca
Chavez L Schemmer
Mayumi X Nicka
Smith M Ruta
Aika R Perin
Aika Z Vocelka
Juan C Doe
Claire K Gillian
James N Darakjy
Tony F Tollner
Leon S Maclead
Sinclair O Ostrosky
Aruna L Rulapaugh
James H Caudy
Leon K Morasca
Emily W Albares
Wickens O Oldroyd
Claire E Vocelka
Rodrigues S Amigon
Alejandro M Doe
Rodrigues D Malet
Rodrigues E Rulapaugh
Leja G Caldarera
Octavia C Maclead
Nicolas K Foller
IdCountryDate
1000Brazil2024-06-03
1001Argentina2024-06-11
1002Brazil2024-05-26
1003Canada2024-05-19
1004Australia2024-06-11
1005Spain2024-05-23
1006Canada2024-05-22
1007Italy2024-05-28
1008Spain2024-06-09
1009Spain2024-06-07
1010Australia2024-05-18
1011India2024-06-04
1012India2024-05-22
1013Australia2024-05-21
1014Spain2024-06-13
1015Australia2024-05-20
1016United Kingdom2024-05-16
1017Japan2024-05-18
1018Japan2024-05-27
1019India2024-06-04
1020Italy2024-06-09
1021Brazil2024-06-12
1022United Kingdom2024-05-20
1023Italy2024-05-28
1024France2024-06-06
1025Australia2024-05-25
1026Australia2024-05-22
1027India2024-05-15
1028United Kingdom2024-06-07
1029Spain2024-05-28
1030Brazil2024-06-05
1031India2024-06-09
1032France2024-06-12
1033United Kingdom2024-06-09
1034Russia2024-06-10
1035Russia2024-05-17
1036Canada2024-05-24
1037Russia2024-06-04
1038France2024-06-13
1039United Kingdom2024-06-13
1040Germany2024-06-10
1041France2024-06-03
1042Spain2024-06-10
1043Australia2024-05-26
1044United Kingdom2024-05-22
1045Argentina2024-05-29
1046Spain2024-05-30
1047Russia2024-05-27
1048India2024-05-21
1049Brazil2024-06-06

On-Demand Data

NameIdCountryDate
Alejandro F Rulapaugh1000Canada2024-06-09
Kaitlin J Oldroyd1001Russia2024-06-07
Ashley X Slusarski1002United Kingdom2024-05-23
Sinclair K Venere1003Argentina2024-05-20
Mujtaba K Inouye1004Argentina2024-05-17
Kaitlin Y Venere1005Italy2024-05-17
Leja P Glick1006Australia2024-05-20
Jones O Campain1007Spain2024-05-29
Greenwood B Ostrosky1008India2024-06-06
Claire M Sergi1009Japan2024-05-30
Francesco E Poquette1010Brazil2024-05-22
Francesco Z Poquette1011India2024-06-08
Aruna H Oldroyd1012France2024-06-07
Antonio O Perin1013France2024-05-25
Darci U Bolognia1014India2024-06-04
Wickens T Sergi1015United Kingdom2024-05-20
Clifford U Whobrey1016Australia2024-06-06
Murillo F Poquette1017India2024-06-06
Costa M Chui1018Canada2024-05-31
Aditya I Rim1019India2024-05-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa Z WieserGermanyXuxue Feng UNQUALIFIED
Faith M PaprockiCanadaAsiya Javayant PROPOSAL
Juan I VenereArgentinaOnyama Limba NEW
Aruna V NickaCanadaStephen Shaw NEW
Costa X MarrierUnited KingdomXuxue Feng PROPOSAL
Darci G OldroydAustraliaOnyama Limba NEW
Darci G StensethCanadaOnyama Limba NEW
Tony O BowleyRussiaXuxue Feng PROPOSAL
Wickens B NestleItalyAsiya Javayant PROPOSAL
Aruna A FigeroaGermanyBernardo Dominic NEW
Octavia H FlosiJapanAnna Fali RENEWAL
Emily X KolmetzArgentinaBernardo Dominic QUALIFIED
Adams L DoeAustraliaIoni Bowcher RENEWAL
Stacey A RoysterSpainBernardo Dominic RENEWAL
Antonio U CampainUnited KingdomAnna Fali NEGOTIATION
Murillo E OldroydIndiaIoni Bowcher NEGOTIATION
Rodrigues G MaletCanadaXuxue Feng NEGOTIATION
Jennifer L SaylorsFranceXuxue Feng QUALIFIED
Jeanfrancois H MorascaFranceAnna Fali UNQUALIFIED
Chavez S WaycottUnited KingdomBernardo Dominic NEGOTIATION
Emily V DarakjyUnited KingdomXuxue Feng PROPOSAL
Aditya F RutaJapanOnyama Limba QUALIFIED
Adams X ShinkoArgentinaAsiya Javayant RENEWAL
Munro P RulapaughFranceElwin Sharvill RENEWAL
Silvio N OldroydSpainAsiya Javayant RENEWAL
Kaitlin H RutaUnited KingdomAmy Elsner PROPOSAL
Ricardo R CampainGermanyAmy Elsner UNQUALIFIED
Clifford Y CaldareraSpainAmy Elsner NEW
Faith R SergiFranceIvan Magalhaes NEGOTIATION
Smith C FerenczCanadaElwin Sharvill UNQUALIFIED
Aruna Y DilliardFranceXuxue Feng NEGOTIATION
Ashley Y NickaCanadaAmy Elsner NEGOTIATION
Izzy P MarrierGermanyXuxue Feng RENEWAL
Faith T StockhamAustraliaOnyama Limba UNQUALIFIED
Kaitlin J FerenczFranceXuxue Feng UNQUALIFIED
David K OstroskyCanadaAnna Fali RENEWAL
Stacey R PoquetteUnited KingdomOnyama Limba RENEWAL
Ivar V SchemmerFranceAmy Elsner QUALIFIED
James W VocelkaRussiaOnyama Limba PROPOSAL
Maisha V GauchoRussiaAmy Elsner 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>