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
Kaitlin M RoysterGermanyIoni Bowcher NEW
Johnson A GarufiIndiaXuxue Feng NEW
Greenwood C OstroskyArgentinaAmy Elsner NEGOTIATION
Jefferson F PaprockiCanadaXuxue Feng UNQUALIFIED
Deepesh K IturbideArgentinaElwin Sharvill NEGOTIATION
Chavez Q FerenczFranceIvan Magalhaes RENEWAL
Maisha K ShinkoUnited KingdomBernardo Dominic QUALIFIED
Ashley X BowleyGermanyAmy Elsner NEW
Claire L DoeItalyIoni Bowcher NEW
Ashley A ChuiSpainXuxue Feng UNQUALIFIED
Deepesh R GauchoRussiaStephen Shaw QUALIFIED
Ashley X DoeItalyStephen Shaw PROPOSAL
Maria T BriddickRussiaStephen Shaw PROPOSAL
Misaki T IturbideCanadaBernardo Dominic RENEWAL
Faith E GauchoBrazilElwin Sharvill UNQUALIFIED
Octavia Y ShinkoItalyIvan Magalhaes NEW
Johnson O BologniaRussiaAnna Fali NEW
Ricardo T InouyeJapanIoni Bowcher QUALIFIED
Francesco T MaletRussiaBernardo Dominic QUALIFIED
Julie W FerenczCanadaOnyama Limba NEW
Aruna E FerenczBrazilBernardo Dominic PROPOSAL
Nicolas D SlusarskiJapanAsiya Javayant RENEWAL
Arvin W CampainGermanyStephen Shaw UNQUALIFIED
Leja F GarufiArgentinaStephen Shaw RENEWAL
Mujtaba N KolmetzCanadaBernardo Dominic PROPOSAL
Costa E OstroskyFranceAmy Elsner PROPOSAL
Silvio J KolmetzAustraliaAnna Fali PROPOSAL
Aditya R KuskoGermanyStephen Shaw NEGOTIATION
Emily O SlusarskiItalyAsiya Javayant QUALIFIED
Munro B GauchoCanadaAmy Elsner QUALIFIED
Jones N ButtGermanyElwin Sharvill UNQUALIFIED
Jefferson I AmigonBrazilBernardo Dominic NEGOTIATION
Tony I MacleadSpainElwin Sharvill QUALIFIED
Claire L BowleySpainAsiya Javayant UNQUALIFIED
Jennifer T SergiCanadaAnna Fali PROPOSAL
Aditya I KolmetzBrazilStephen Shaw UNQUALIFIED
Ashley S RutaAustraliaXuxue Feng NEGOTIATION
Murillo K WieserCanadaElwin Sharvill NEW
Murillo L GillianIndiaAnna Fali NEW
Johnson K VenereIndiaIoni Bowcher PROPOSAL
Leja G MorascaGermanyAsiya Javayant QUALIFIED
Morrow R InouyeBrazilStephen Shaw PROPOSAL
Deepesh E DoeCanadaAnna Fali UNQUALIFIED
Aika B FerenczItalyBernardo Dominic RENEWAL
Leon H RimCanadaOnyama Limba UNQUALIFIED
Stacey S PoquetteBrazilAsiya Javayant PROPOSAL
Ashley A BriddickItalyXuxue Feng NEW
Emily S PaprockiIndiaIvan Magalhaes NEGOTIATION
Francesco A DarakjyArgentinaAsiya Javayant UNQUALIFIED
Octavia W RoysterGermanyElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Octavia R FerenczGermanyIoni Bowcher NEW
Jeanfrancois J RulapaughAustraliaXuxue Feng PROPOSAL
Darci X WhobreyIndiaAnna Fali NEW
Isabel B AlbaresAustraliaAsiya Javayant RENEWAL
Francesco I WieserArgentinaIoni Bowcher NEGOTIATION
Isabel E BriddickSpainAmy Elsner QUALIFIED
Maria H BologniaArgentinaBernardo Dominic PROPOSAL
Munro A WieserSpainElwin Sharvill NEGOTIATION
Juan V WieserAustraliaXuxue Feng NEW
Jones S BriddickItalyIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood I StensethJapan2024-05-27Dorl, James J Esq RENEWAL49Stephen Shaw
1001Stacey T GauchoArgentina2024-06-01Benton, John B Jr NEW42Elwin Sharvill
1002Izzy U WhobreyGermany2024-06-22Truhlar And Truhlar Attys UNQUALIFIED15Onyama Limba
1003Johnson O ShinkoFrance2024-06-11King, Christopher A Esq RENEWAL1Asiya Javayant
1004Adams X BriddickRussia2024-06-24Benton, John B Jr UNQUALIFIED16Xuxue Feng
1005Jones Q GlickFrance2024-06-03Benton, John B Jr NEGOTIATION40Onyama Limba
1006Aruna G PaprockiArgentina2024-06-12Morlong Associates NEGOTIATION61Anna Fali
1007Mujtaba M DoeGermany2024-06-08Benton, John B Jr RENEWAL56Bernardo Dominic
1008Morrow O RulapaughAustralia2024-06-10Morlong Associates PROPOSAL27Anna Fali
1009Aika X PoquetteItaly2024-05-30Chemel, James L Cpa RENEWAL84Elwin Sharvill
1010Rodrigues O SchemmerCanada2024-06-11Commercial Press QUALIFIED3Amy Elsner
1011Deepesh K RoysterBrazil2024-06-10Chapman, Ross E Esq UNQUALIFIED97Onyama Limba
1012Aruna C TollnerSpain2024-06-21Buckley Miller Wright NEGOTIATION11Onyama Limba
1013Mayumi U MarrierBrazil2024-06-13Commercial Press NEGOTIATION64Asiya Javayant
1014Arvin H WieserJapan2024-06-06Chapman, Ross E Esq RENEWAL34Ivan Magalhaes
1015Deepesh L CaudyJapan2024-05-29Chemel, James L Cpa NEW81Onyama Limba
1016Johnson I DilliardUnited Kingdom2024-06-15Chemel, James L Cpa NEGOTIATION88Stephen Shaw
1017Deepesh R NestleAustralia2024-05-28Chemel, James L Cpa UNQUALIFIED67Stephen Shaw
1018Salvatore N GlickRussia2024-06-23Rousseaux, Michael Esq PROPOSAL30Ivan Magalhaes
1019Alejandro E CaudyUnited Kingdom2024-06-11Chemel, James L Cpa PROPOSAL9Ivan Magalhaes
1020Smith U DilliardBrazil2024-06-01Benton, John B Jr PROPOSAL87Ivan Magalhaes
1021Leon E MacleadFrance2024-05-29Feiner Bros RENEWAL95Bernardo Dominic
1022Munro C PoquetteRussia2024-06-05Chapman, Ross E Esq PROPOSAL15Ivan Magalhaes
1023Stacey H AmigonUnited Kingdom2024-05-27Dorl, James J Esq QUALIFIED87Elwin Sharvill
1024Jefferson N RimItaly2024-06-09Chanay, Jeffrey A Esq PROPOSAL43Asiya Javayant
1025Sinclair D ChuiAustralia2024-06-07Chanay, Jeffrey A Esq PROPOSAL35Anna Fali
1026Mujtaba S PoquetteRussia2024-05-29Benton, John B Jr RENEWAL35Bernardo Dominic
1027Greenwood E PerinAustralia2024-06-20Buckley Miller Wright PROPOSAL89Ioni Bowcher
1028Wickens Y BowleyRussia2024-05-27Rangoni Of Florence RENEWAL15Anna Fali
1029Nicolas X KolmetzItaly2024-06-09Chemel, James L Cpa RENEWAL70Bernardo Dominic
1030Mujtaba Y WaycottJapan2024-06-16Chapman, Ross E Esq PROPOSAL99Onyama Limba
1031Ricardo B SchemmerJapan2024-05-30Benton, John B Jr RENEWAL86Elwin Sharvill
1032Jennifer D IturbideUnited Kingdom2024-06-22Truhlar And Truhlar Attys NEW18Anna Fali
1033Kadeem T CaudyUnited Kingdom2024-05-29Truhlar And Truhlar Attys UNQUALIFIED12Anna Fali
1034Murillo E FerenczSpain2024-06-02Chemel, James L Cpa QUALIFIED1Onyama Limba
1035Johnson G VenereCanada2024-06-21Commercial Press NEGOTIATION19Elwin Sharvill
1036Claire T BriddickUnited Kingdom2024-06-21Morlong Associates UNQUALIFIED66Onyama Limba
1037Ashley A CaudyRussia2024-06-03King, Christopher A Esq RENEWAL58Ivan Magalhaes
1038Juan F WhobreyAustralia2024-06-17Chemel, James L Cpa QUALIFIED79Amy Elsner
1039Stacey Y CampainAustralia2024-06-04Commercial Press NEW74Stephen Shaw
1040Munro H StockhamFrance2024-06-13Chemel, James L Cpa NEW89Bernardo Dominic
1041Morrow Q OstroskyUnited Kingdom2024-05-27Rangoni Of Florence RENEWAL8Ivan Magalhaes
1042Munro X RulapaughArgentina2024-06-03Feiner Bros QUALIFIED34Bernardo Dominic
1043Mujtaba H MaletAustralia2024-06-10Buckley Miller Wright QUALIFIED81Amy Elsner
1044Sinclair J CaldareraArgentina2024-06-11Feiner Bros NEGOTIATION65Ioni Bowcher
1045Jefferson I FerenczCanada2024-06-03Rousseaux, Michael Esq QUALIFIED38Xuxue Feng
1046Jefferson N WieserArgentina2024-05-29Rangoni Of Florence UNQUALIFIED68Elwin Sharvill
1047Izzy X MacleadSpain2024-06-11Chanay, Jeffrey A Esq NEGOTIATION36Asiya Javayant
1048Aruna O InouyeFrance2024-06-24Truhlar And Truhlar Attys NEW85Ioni Bowcher
1049Deepesh K MorascaItaly2024-05-29Rangoni Of Florence NEGOTIATION58Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Claire E IturbideSpainAmy Elsner QUALIFIED
Tony W GlickBrazilAsiya Javayant QUALIFIED
Octavia G NickaRussiaBernardo Dominic NEW
Julie M IturbideAustraliaBernardo Dominic NEW
Smith W GarufiAustraliaAmy Elsner PROPOSAL
Ashley A FollerUnited KingdomIvan Magalhaes RENEWAL
Emily I MaletSpainXuxue Feng NEGOTIATION
Octavia G PerinUnited KingdomAsiya Javayant RENEWAL
Clifford E GarufiJapanAmy Elsner QUALIFIED
Aruna D IturbideAustraliaOnyama Limba NEGOTIATION
Octavia X RutaArgentinaXuxue Feng UNQUALIFIED
David F MarrierJapanXuxue Feng RENEWAL
Maisha C ButtRussiaIoni Bowcher NEW
Kaitlin E PerinGermanyStephen Shaw PROPOSAL
Ashley J CaudyCanadaAnna Fali RENEWAL
Juan Q PoquetteUnited KingdomIvan Magalhaes RENEWAL
Rodrigues D CampainFranceOnyama Limba QUALIFIED
Jones C DoeRussiaAmy Elsner PROPOSAL
Wickens G StockhamUnited KingdomXuxue Feng NEGOTIATION
Kaitlin H SergiGermanyBernardo Dominic NEW
Ivar W GarufiItalyAsiya Javayant PROPOSAL
Costa P VenereAustraliaIvan Magalhaes QUALIFIED
Morrow R NestleSpainBernardo Dominic NEW
Aika V SchemmerArgentinaAmy Elsner UNQUALIFIED
Julie T SchemmerArgentinaBernardo Dominic QUALIFIED
Nicolas T SlusarskiUnited KingdomIvan Magalhaes PROPOSAL
Faith I TollnerSpainStephen Shaw NEW
Octavia U FerenczAustraliaBernardo Dominic UNQUALIFIED
Cody E FerenczArgentinaElwin Sharvill RENEWAL
Aditya N NestleArgentinaElwin Sharvill UNQUALIFIED
Claire V WaycottSpainBernardo Dominic NEW
Ivar A MaletJapanStephen Shaw UNQUALIFIED
James I MorascaGermanyAnna Fali PROPOSAL
Emily R ButtCanadaOnyama Limba UNQUALIFIED
Murillo V NestleGermanyAnna Fali PROPOSAL
Isabel J StockhamItalyElwin Sharvill NEGOTIATION
Munro G DilliardRussiaAmy Elsner NEW
David Q WaycottGermanyIoni Bowcher QUALIFIED
Alejandro Q StensethJapanAnna Fali RENEWAL
Jones L BologniaBrazilAnna Fali NEW
Aditya E OldroydBrazilElwin Sharvill UNQUALIFIED
Greenwood Z BowleyItalyIvan Magalhaes RENEWAL
Aruna K NestleFranceIoni Bowcher RENEWAL
Tony C MarrierUnited KingdomAnna Fali NEW
Kadeem R OstroskyFranceOnyama Limba NEW
Costa C SaylorsGermanyAmy Elsner NEGOTIATION
Izzy U MaletBrazilOnyama Limba NEW
Juan O StensethSpainStephen Shaw RENEWAL
Mujtaba Y BriddickJapanBernardo Dominic NEGOTIATION
Kaitlin G MaletItalyXuxue Feng PROPOSAL
Frozen Columns
Name
Deepesh Q Whobrey
Faith C Campain
Izzy I Waycott
Jennifer U Kusko
Maria Y Foller
Aruna J Maclead
Greenwood U Morasca
Chavez G Rulapaugh
Misaki B Caldarera
Smith J Campain
Maisha K Campain
Stacey C Stockham
Leon Z Nestle
Arvin T Amigon
Kaitlin A Gillian
Isabel X Malet
Mujtaba T Gillian
Leon K Figeroa
Arvin C Ferencz
Aika G Doe
Cody O Shinko
Salvatore V Albares
Jennifer A Shinko
Juan J Campain
Jennifer X Chui
Kaitlin N Chui
Aruna N Caldarera
Faith A Darakjy
Alejandro I Stockham
Emily N Morasca
Aika X Morasca
Munro D Malet
Faith G Doe
Morrow D Maclead
Maria Y Whobrey
Johnson F Inouye
Leon K Maclead
Mujtaba E Vocelka
Leja Z Foller
Kaitlin M Ferencz
Mujtaba X Stenseth
Francesco H Flosi
Smith J Waycott
Costa M Albares
Kadeem M Schemmer
Johnson G Nestle
Antonio I Darakjy
Morrow T Ostrosky
Greenwood U Gaucho
Adams D Campain
IdCountryDate
1000Italy2024-05-27
1001Russia2024-05-29
1002France2024-06-04
1003Italy2024-06-18
1004Germany2024-05-29
1005Japan2024-06-23
1006Germany2024-06-12
1007Canada2024-06-13
1008Germany2024-06-10
1009Argentina2024-06-14
1010Italy2024-06-11
1011United Kingdom2024-06-12
1012Canada2024-05-29
1013Canada2024-06-22
1014Italy2024-06-15
1015Russia2024-06-23
1016Canada2024-06-21
1017Spain2024-06-05
1018Germany2024-06-19
1019Brazil2024-06-20
1020United Kingdom2024-06-16
1021Japan2024-06-19
1022Australia2024-06-08
1023Australia2024-06-19
1024Germany2024-06-16
1025Germany2024-06-17
1026Germany2024-06-12
1027Germany2024-05-31
1028Italy2024-05-31
1029Russia2024-05-31
1030Canada2024-06-11
1031Brazil2024-05-27
1032Brazil2024-06-18
1033Germany2024-06-08
1034Australia2024-06-02
1035Japan2024-05-31
1036Japan2024-06-04
1037India2024-06-16
1038Australia2024-06-20
1039Australia2024-06-02
1040Spain2024-06-04
1041Germany2024-05-27
1042India2024-06-19
1043Argentina2024-06-04
1044India2024-06-06
1045Canada2024-06-08
1046France2024-06-23
1047Canada2024-06-04
1048Brazil2024-06-01
1049France2024-06-17

On-Demand Data

NameIdCountryDate
Aruna F Whobrey1000United Kingdom2024-06-18
Smith H Marrier1001Russia2024-06-10
Jefferson D Bolognia1002United Kingdom2024-05-27
Misaki A Nestle1003Japan2024-06-07
Chavez R Flosi1004Japan2024-06-11
David P Gillian1005Germany2024-05-30
Jones Q Rulapaugh1006Argentina2024-06-14
Murillo A Amigon1007Canada2024-06-04
Maria I Malet1008France2024-06-24
Adams V Amigon1009Italy2024-06-17
Izzy I Kolmetz1010Spain2024-06-16
James P Rim1011Germany2024-05-31
Mujtaba O Maclead1012France2024-06-11
Nicolas B Figeroa1013Spain2024-06-21
Costa S Rulapaugh1014Australia2024-06-02
Maria Q Dilliard1015Russia2024-06-11
Jefferson D Maclead1016Brazil2024-05-27
Smith I Waycott1017Canada2024-06-04
Deepesh Q Bowley1018Canada2024-06-18
Aika I Dilliard1019Germany2024-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar T OldroydAustraliaAsiya Javayant RENEWAL
Ricardo L BologniaItalyAnna Fali QUALIFIED
Murillo R MaletJapanStephen Shaw QUALIFIED
Stacey Z FollerGermanyOnyama Limba NEW
Emily V MorascaBrazilOnyama Limba NEW
Claire V CampainFranceIvan Magalhaes RENEWAL
Kadeem K ChuiUnited KingdomStephen Shaw PROPOSAL
Salvatore U BowleyItalyAmy Elsner RENEWAL
Rodrigues M SaylorsIndiaAnna Fali PROPOSAL
Stacey M RimRussiaAnna Fali QUALIFIED
Maria K NestleItalyIoni Bowcher QUALIFIED
Johnson T ChuiItalyOnyama Limba NEGOTIATION
Jefferson K FlosiBrazilIoni Bowcher NEGOTIATION
Aditya G ButtFranceOnyama Limba UNQUALIFIED
Costa V SchemmerIndiaStephen Shaw UNQUALIFIED
Murillo W ShinkoCanadaAnna Fali PROPOSAL
Juan I NickaJapanOnyama Limba PROPOSAL
Rodrigues J CaldareraJapanBernardo Dominic PROPOSAL
Murillo X RimArgentinaAsiya Javayant RENEWAL
Kaitlin F OstroskyIndiaIoni Bowcher RENEWAL
Emily O AlbaresArgentinaIoni Bowcher PROPOSAL
Chavez L FigeroaCanadaAsiya Javayant RENEWAL
Greenwood L InouyeBrazilAnna Fali QUALIFIED
Aditya W WaycottUnited KingdomBernardo Dominic RENEWAL
Jeanfrancois I NickaRussiaIvan Magalhaes NEGOTIATION
Jefferson J ShinkoCanadaXuxue Feng QUALIFIED
Jeanfrancois P NickaUnited KingdomBernardo Dominic RENEWAL
Silvio E NickaUnited KingdomIoni Bowcher NEGOTIATION
Mujtaba T NestleCanadaIvan Magalhaes QUALIFIED
Murillo P FlosiGermanyAmy Elsner RENEWAL
Cody D TollnerFranceXuxue Feng NEW
Claire I NickaSpainIoni Bowcher NEW
Maria L FigeroaAustraliaIvan Magalhaes PROPOSAL
Wickens W MaletCanadaAnna Fali UNQUALIFIED
Stacey K CaudyArgentinaBernardo Dominic QUALIFIED
James U MarrierArgentinaAnna Fali UNQUALIFIED
Kaitlin V VenereIndiaBernardo Dominic PROPOSAL
Deepesh Y ChuiBrazilIoni Bowcher QUALIFIED
Costa O MorascaGermanyAnna Fali RENEWAL
Greenwood G BologniaFranceOnyama Limba NEW

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