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
Kadeem N PerinBrazilAsiya Javayant NEGOTIATION
Munro F BologniaAustraliaAnna Fali NEW
Leon A WieserJapanXuxue Feng NEW
Salvatore S MacleadRussiaOnyama Limba UNQUALIFIED
Greenwood L GlickIndiaIvan Magalhaes NEGOTIATION
Leon Z VenereSpainAmy Elsner NEW
Leon G KuskoFranceBernardo Dominic RENEWAL
Francesco Z DilliardArgentinaElwin Sharvill PROPOSAL
Clifford V KolmetzJapanElwin Sharvill PROPOSAL
Cody N WaycottJapanAmy Elsner RENEWAL
Aruna L CaldareraAustraliaStephen Shaw RENEWAL
Salvatore Y MorascaBrazilElwin Sharvill NEGOTIATION
Isabel V GarufiItalyAnna Fali PROPOSAL
Kadeem C CaldareraBrazilAmy Elsner UNQUALIFIED
Kaitlin I PoquetteGermanyOnyama Limba RENEWAL
Juan G RimRussiaOnyama Limba UNQUALIFIED
Ricardo U CampainUnited KingdomOnyama Limba NEGOTIATION
Francesco T InouyeItalyAnna Fali NEW
David Q RutaJapanIoni Bowcher NEGOTIATION
Sinclair U RulapaughBrazilAnna Fali RENEWAL
Greenwood Q BriddickItalyBernardo Dominic NEGOTIATION
Jefferson I MacleadIndiaAsiya Javayant UNQUALIFIED
Costa C DarakjyJapanIoni Bowcher PROPOSAL
Ivar Y RoysterCanadaBernardo Dominic NEW
Julie K BowleyIndiaAnna Fali NEGOTIATION
Silvio S DilliardFranceIoni Bowcher PROPOSAL
Leja R RoysterItalyOnyama Limba UNQUALIFIED
Salvatore X MorascaUnited KingdomXuxue Feng NEGOTIATION
Isabel W FigeroaJapanIoni Bowcher NEGOTIATION
Alejandro M MacleadItalyIvan Magalhaes PROPOSAL
Costa P SaylorsCanadaIvan Magalhaes RENEWAL
Nicolas T GlickAustraliaAmy Elsner NEGOTIATION
Alejandro X GlickCanadaAnna Fali RENEWAL
Francesco G MarrierArgentinaElwin Sharvill NEW
Costa W GauchoIndiaAmy Elsner PROPOSAL
Aika F NickaFranceIvan Magalhaes RENEWAL
Jefferson L FollerSpainXuxue Feng NEGOTIATION
James T CampainBrazilAmy Elsner NEGOTIATION
Adams X SchemmerCanadaIvan Magalhaes NEGOTIATION
Aruna J IturbideRussiaOnyama Limba UNQUALIFIED
Chavez K WieserItalyAnna Fali NEGOTIATION
Faith Q VocelkaAustraliaAnna Fali UNQUALIFIED
Alejandro R CampainCanadaAsiya Javayant RENEWAL
Maria X AmigonJapanAnna Fali RENEWAL
Stacey A PerinBrazilOnyama Limba UNQUALIFIED
Aruna T GauchoArgentinaBernardo Dominic RENEWAL
David G MaletIndiaOnyama Limba QUALIFIED
Francesco A MaletFranceXuxue Feng RENEWAL
Leja J CaldareraRussiaIoni Bowcher UNQUALIFIED
Cody X MacleadIndiaXuxue Feng PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Silvio D FlosiBrazilAmy Elsner RENEWAL
Darci O IturbideGermanyBernardo Dominic PROPOSAL
Leja C WieserSpainAmy Elsner UNQUALIFIED
Francesco V KolmetzArgentinaIvan Magalhaes NEGOTIATION
Munro N PerinGermanyOnyama Limba QUALIFIED
Costa T MaletJapanBernardo Dominic NEW
Isabel Q KolmetzIndiaAmy Elsner QUALIFIED
Clifford F CaudyRussiaOnyama Limba UNQUALIFIED
Munro G WaycottIndiaAmy Elsner QUALIFIED
Jones H MaletArgentinaXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi Q WieserGermany2024-06-05Buckley Miller Wright QUALIFIED15Xuxue Feng
1001Munro H VenereItaly2024-06-10Buckley Miller Wright QUALIFIED98Ioni Bowcher
1002Chavez I OldroydItaly2024-06-12Commercial Press QUALIFIED52Anna Fali
1003Adams M DarakjyItaly2024-06-04Dorl, James J Esq PROPOSAL71Asiya Javayant
1004Claire S WieserCanada2024-06-05Buckley Miller Wright RENEWAL12Bernardo Dominic
1005Juan U GauchoJapan2024-06-02Chemel, James L Cpa NEGOTIATION53Ivan Magalhaes
1006Juan R FerenczBrazil2024-06-07Chemel, James L Cpa PROPOSAL20Bernardo Dominic
1007Maria J MaletFrance2024-06-22Morlong Associates UNQUALIFIED92Xuxue Feng
1008Misaki E RoysterRussia2024-06-23Morlong Associates PROPOSAL47Amy Elsner
1009Izzy Q MacleadGermany2024-06-09Chanay, Jeffrey A Esq PROPOSAL28Ivan Magalhaes
1010Aika O MorascaArgentina2024-05-27Truhlar And Truhlar Attys RENEWAL33Amy Elsner
1011Johnson A WaycottGermany2024-05-27Benton, John B Jr QUALIFIED39Bernardo Dominic
1012Mujtaba I SergiIndia2024-05-31Feltz Printing Service NEGOTIATION96Bernardo Dominic
1013Rodrigues W MacleadCanada2024-06-10Feiner Bros RENEWAL86Bernardo Dominic
1014Jeanfrancois H BriddickItaly2024-06-01Benton, John B Jr QUALIFIED98Amy Elsner
1015Darci C AlbaresRussia2024-05-31Printing Dimensions QUALIFIED98Anna Fali
1016Emily N FlosiCanada2024-06-15Buckley Miller Wright PROPOSAL93Bernardo Dominic
1017Claire L BowleyBrazil2024-06-09Truhlar And Truhlar Attys QUALIFIED91Ioni Bowcher
1018Silvio X RimUnited Kingdom2024-06-13Commercial Press QUALIFIED99Bernardo Dominic
1019Deepesh P MaletUnited Kingdom2024-05-25Rangoni Of Florence NEW56Stephen Shaw
1020Johnson J WieserIndia2024-05-27Rousseaux, Michael Esq NEW43Stephen Shaw
1021Maria Q InouyeBrazil2024-05-30Feiner Bros UNQUALIFIED29Onyama Limba
1022Morrow M StockhamUnited Kingdom2024-06-13Printing Dimensions PROPOSAL77Amy Elsner
1023Deepesh A RutaIndia2024-05-25Feltz Printing Service NEW45Bernardo Dominic
1024Maria R RutaAustralia2024-06-20Feiner Bros UNQUALIFIED27Xuxue Feng
1025Emily U PerinBrazil2024-06-13Feiner Bros NEW85Bernardo Dominic
1026Isabel K FerenczRussia2024-06-07Benton, John B Jr UNQUALIFIED83Ivan Magalhaes
1027Francesco F StockhamArgentina2024-06-02Chapman, Ross E Esq NEGOTIATION97Amy Elsner
1028Aika R DoeItaly2024-05-27Feltz Printing Service NEGOTIATION95Elwin Sharvill
1029Chavez R VenereAustralia2024-05-29Chanay, Jeffrey A Esq NEW55Amy Elsner
1030Juan A NickaBrazil2024-06-07Morlong Associates UNQUALIFIED18Elwin Sharvill
1031Aika G StensethUnited Kingdom2024-05-29Chanay, Jeffrey A Esq QUALIFIED46Bernardo Dominic
1032Alejandro E CaldareraSpain2024-06-08Printing Dimensions PROPOSAL49Stephen Shaw
1033Kaitlin G StockhamItaly2024-06-05Chemel, James L Cpa UNQUALIFIED84Bernardo Dominic
1034Juan U GarufiArgentina2024-06-10Morlong Associates QUALIFIED64Bernardo Dominic
1035Deepesh B WhobreyJapan2024-06-07Chemel, James L Cpa UNQUALIFIED83Asiya Javayant
1036Greenwood M SaylorsBrazil2024-05-30Printing Dimensions QUALIFIED97Bernardo Dominic
1037Costa N MacleadJapan2024-05-31Morlong Associates NEGOTIATION56Asiya Javayant
1038Antonio H KolmetzJapan2024-06-05King, Christopher A Esq QUALIFIED73Xuxue Feng
1039Deepesh U PaprockiFrance2024-05-28King, Christopher A Esq PROPOSAL32Asiya Javayant
1040Adams Y KolmetzIndia2024-06-03Chapman, Ross E Esq NEGOTIATION78Stephen Shaw
1041Jeanfrancois R SaylorsCanada2024-06-09Chanay, Jeffrey A Esq QUALIFIED20Xuxue Feng
1042Misaki X InouyeBrazil2024-06-23Rousseaux, Michael Esq RENEWAL64Amy Elsner
1043Izzy K NestleCanada2024-06-23Morlong Associates PROPOSAL34Ioni Bowcher
1044Aika U IturbideSpain2024-06-11Feiner Bros UNQUALIFIED39Elwin Sharvill
1045Tony M StensethBrazil2024-06-22Chanay, Jeffrey A Esq UNQUALIFIED97Asiya Javayant
1046Kadeem H StensethSpain2024-06-23Chapman, Ross E Esq NEGOTIATION91Ioni Bowcher
1047Francesco C MaletRussia2024-06-03King, Christopher A Esq UNQUALIFIED36Anna Fali
1048Ricardo S SchemmerFrance2024-06-01Chapman, Ross E Esq NEW17Asiya Javayant
1049Costa H DilliardFrance2024-06-05Printing Dimensions PROPOSAL72Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues T MaletBrazilStephen Shaw UNQUALIFIED
Clifford E GauchoCanadaElwin Sharvill UNQUALIFIED
Antonio U FlosiIndiaAmy Elsner UNQUALIFIED
Arvin B PoquetteItalyXuxue Feng UNQUALIFIED
Silvio S RulapaughArgentinaBernardo Dominic UNQUALIFIED
Emily E KolmetzRussiaStephen Shaw NEW
Julie Q VenereAustraliaAnna Fali UNQUALIFIED
Aditya V DoeJapanBernardo Dominic UNQUALIFIED
Julie P RutaJapanAnna Fali NEW
Cody Y VocelkaIndiaBernardo Dominic UNQUALIFIED
Jeanfrancois P GarufiRussiaIoni Bowcher PROPOSAL
Mayumi U CaldareraIndiaAsiya Javayant QUALIFIED
Ashley L KolmetzCanadaIoni Bowcher QUALIFIED
Leon B KolmetzArgentinaOnyama Limba NEGOTIATION
Mayumi M GlickJapanElwin Sharvill UNQUALIFIED
Aika I ChuiBrazilAsiya Javayant NEW
Jones D TollnerFranceXuxue Feng NEGOTIATION
Clifford L PoquetteGermanyAsiya Javayant NEGOTIATION
Francesco P CampainArgentinaXuxue Feng UNQUALIFIED
Munro Z PoquetteAustraliaIvan Magalhaes RENEWAL
Juan F WhobreyUnited KingdomAnna Fali RENEWAL
Kaitlin C PaprockiItalyXuxue Feng NEGOTIATION
James W KuskoSpainIoni Bowcher NEW
Ricardo P BowleyIndiaStephen Shaw QUALIFIED
Jeanfrancois R MaletUnited KingdomElwin Sharvill RENEWAL
Salvatore T GillianFranceIvan Magalhaes NEGOTIATION
Darci G StockhamAustraliaElwin Sharvill PROPOSAL
Aika Q CaudyBrazilXuxue Feng UNQUALIFIED
Ashley G RoysterIndiaAnna Fali UNQUALIFIED
Aruna O DarakjyBrazilXuxue Feng RENEWAL
Claire L FigeroaGermanyAmy Elsner NEGOTIATION
Clifford H MaletUnited KingdomOnyama Limba NEGOTIATION
Murillo I FlosiJapanBernardo Dominic QUALIFIED
Jefferson N ChuiAustraliaOnyama Limba RENEWAL
Tony P KuskoIndiaIoni Bowcher UNQUALIFIED
Munro Y SchemmerSpainAmy Elsner PROPOSAL
Salvatore U GauchoCanadaAmy Elsner NEGOTIATION
Sinclair N DoeJapanAmy Elsner PROPOSAL
Izzy J MarrierAustraliaElwin Sharvill RENEWAL
Maria A VenereCanadaBernardo Dominic NEW
Kadeem G MacleadJapanAnna Fali UNQUALIFIED
Clifford D VocelkaBrazilStephen Shaw PROPOSAL
Julie B AmigonCanadaAmy Elsner QUALIFIED
Rodrigues R CaudySpainXuxue Feng UNQUALIFIED
Emily I DarakjyAustraliaAnna Fali NEGOTIATION
Stacey D BologniaCanadaOnyama Limba NEW
Rodrigues N MorascaItalyAnna Fali RENEWAL
Arvin Q VocelkaBrazilOnyama Limba UNQUALIFIED
Alejandro L KuskoCanadaAnna Fali QUALIFIED
Greenwood T RimItalyStephen Shaw NEW
Frozen Columns
Name
Antonio Z Figeroa
Emily G Gillian
Kadeem D Waycott
Tony I Albares
Nicolas D Oldroyd
Isabel Z Dilliard
Claire R Garufi
Greenwood Y Foller
Ricardo V Saylors
Cody O Gillian
Chavez E Tollner
Munro D Venere
Faith F Ruta
David X Waycott
Deepesh J Darakjy
Alejandro E Schemmer
Aruna H Ferencz
Leja L Saylors
Stacey M Ruta
Greenwood O Gaucho
Johnson P Malet
Kaitlin A Butt
David E Kolmetz
Greenwood M Briddick
Tony L Schemmer
Darci V Iturbide
Mayumi W Chui
Ricardo S Dilliard
Leon N Nestle
Faith J Saylors
Antonio F Poquette
Misaki C Ruta
Morrow W Bowley
Julie Z Albares
James M Rim
Claire B Bowley
Morrow K Gillian
Julie I Caldarera
Kadeem J Maclead
Kaitlin I Briddick
David J Figeroa
Julie E Sergi
David Z Marrier
Jones B Gaucho
Smith E Malet
Greenwood V Albares
Jones P Royster
Deepesh L Sergi
Ivar K Oldroyd
Leon O Bowley
IdCountryDate
1000Italy2024-06-17
1001Italy2024-06-23
1002Russia2024-06-06
1003Australia2024-06-23
1004Argentina2024-06-12
1005United Kingdom2024-06-10
1006Canada2024-06-20
1007Italy2024-05-29
1008Italy2024-06-12
1009Japan2024-06-23
1010Australia2024-06-17
1011Japan2024-06-12
1012Russia2024-06-13
1013Germany2024-05-29
1014Italy2024-06-20
1015Australia2024-06-08
1016Japan2024-06-08
1017Brazil2024-06-10
1018Argentina2024-05-30
1019Italy2024-06-07
1020India2024-06-14
1021Japan2024-06-08
1022India2024-05-27
1023India2024-06-09
1024Russia2024-06-15
1025Canada2024-06-03
1026India2024-06-11
1027India2024-06-20
1028Australia2024-06-10
1029Germany2024-06-17
1030India2024-06-05
1031Germany2024-06-16
1032Japan2024-06-04
1033Argentina2024-06-18
1034Italy2024-06-20
1035Russia2024-06-07
1036Australia2024-06-02
1037United Kingdom2024-06-19
1038France2024-05-29
1039Japan2024-06-09
1040Australia2024-05-30
1041United Kingdom2024-06-13
1042India2024-06-14
1043Germany2024-06-22
1044Italy2024-06-09
1045Brazil2024-05-29
1046Italy2024-06-14
1047United Kingdom2024-06-05
1048Russia2024-05-29
1049Brazil2024-06-09

On-Demand Data

NameIdCountryDate
Jennifer G Figeroa1000Italy2024-06-22
Salvatore P Bolognia1001Japan2024-06-01
Kadeem X Butt1002Spain2024-05-30
Salvatore F Dilliard1003Japan2024-06-17
Misaki J Shinko1004India2024-06-17
Maria W Stockham1005France2024-06-16
Misaki I Nicka1006Italy2024-05-31
Claire L Darakjy1007Canada2024-06-16
Leon R Nicka1008Russia2024-06-03
David E Shinko1009Russia2024-05-29
Aditya R Sergi1010Argentina2024-06-10
Wickens H Gillian1011Australia2024-05-25
Maisha X Amigon1012Brazil2024-06-07
Antonio U Figeroa1013Canada2024-06-21
Maria A Ferencz1014Argentina2024-05-28
Francesco E Flosi1015Canada2024-06-05
Francesco C Malet1016Spain2024-05-30
Jeanfrancois H Venere1017Japan2024-06-16
Alejandro P Malet1018Italy2024-06-10
Ashley G Marrier1019France2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna W SaylorsRussiaAmy Elsner PROPOSAL
Leon Z SchemmerJapanElwin Sharvill UNQUALIFIED
Mujtaba O DilliardIndiaOnyama Limba NEGOTIATION
Izzy D GlickUnited KingdomOnyama Limba RENEWAL
Mayumi G NestleAustraliaAmy Elsner RENEWAL
Maisha L OldroydFranceStephen Shaw PROPOSAL
Johnson Q BowleyIndiaXuxue Feng QUALIFIED
Jefferson A MarrierBrazilXuxue Feng RENEWAL
Julie A DoeArgentinaXuxue Feng UNQUALIFIED
Arvin A ChuiJapanBernardo Dominic RENEWAL
James R FlosiGermanyBernardo Dominic UNQUALIFIED
David U VenereRussiaAsiya Javayant PROPOSAL
Juan A PoquetteBrazilOnyama Limba NEW
Stacey C ChuiItalyAnna Fali RENEWAL
Stacey X KuskoCanadaAnna Fali NEW
Chavez K GauchoIndiaOnyama Limba NEW
Ivar K FigeroaCanadaStephen Shaw QUALIFIED
Antonio A InouyeIndiaStephen Shaw QUALIFIED
Chavez S NestleGermanyIoni Bowcher UNQUALIFIED
Misaki V TollnerCanadaAnna Fali NEW
Deepesh O RulapaughAustraliaAnna Fali UNQUALIFIED
James A InouyeFranceAmy Elsner NEGOTIATION
Smith D WaycottGermanyXuxue Feng RENEWAL
Francesco J DoeBrazilAsiya Javayant NEGOTIATION
Isabel Z InouyeJapanAmy Elsner NEGOTIATION
Maria G OstroskyArgentinaIoni Bowcher UNQUALIFIED
Munro M IturbideArgentinaOnyama Limba QUALIFIED
Mayumi T CaudyItalyOnyama Limba QUALIFIED
Aruna O SlusarskiItalyBernardo Dominic QUALIFIED
Misaki Q MacleadArgentinaAmy Elsner UNQUALIFIED
Aika G RimFranceAnna Fali NEGOTIATION
Kadeem H FigeroaArgentinaStephen Shaw PROPOSAL
Rodrigues T PaprockiJapanStephen Shaw UNQUALIFIED
Aruna U FollerJapanXuxue Feng RENEWAL
Jones U AmigonUnited KingdomIoni Bowcher QUALIFIED
Maria W ShinkoBrazilStephen Shaw RENEWAL
Jeanfrancois O ChuiIndiaBernardo Dominic RENEWAL
Maria W PaprockiArgentinaBernardo Dominic PROPOSAL
Isabel X StensethGermanyIvan Magalhaes NEGOTIATION
Jennifer O StockhamJapanIoni Bowcher NEGOTIATION

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