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
Jefferson O MorascaAustraliaAsiya Javayant QUALIFIED
Salvatore T VocelkaArgentinaBernardo Dominic UNQUALIFIED
Maisha H BologniaUnited KingdomStephen Shaw NEGOTIATION
Munro B DarakjyJapanXuxue Feng NEGOTIATION
Antonio J WieserCanadaBernardo Dominic NEW
Munro Q FerenczFranceStephen Shaw UNQUALIFIED
Sinclair K FollerRussiaElwin Sharvill QUALIFIED
Adams T GillianJapanIoni Bowcher RENEWAL
Leon J PerinSpainIvan Magalhaes NEGOTIATION
Cody D GarufiIndiaAsiya Javayant NEW
Tony U AlbaresIndiaBernardo Dominic QUALIFIED
Johnson T VenereSpainElwin Sharvill PROPOSAL
Tony S SergiRussiaOnyama Limba RENEWAL
Misaki Z FerenczUnited KingdomAnna Fali UNQUALIFIED
Mujtaba T DilliardGermanyAnna Fali NEW
Jones E BriddickCanadaOnyama Limba PROPOSAL
Morrow N FerenczUnited KingdomAsiya Javayant NEW
Alejandro Y ButtJapanAnna Fali PROPOSAL
Smith E OldroydIndiaElwin Sharvill RENEWAL
Alejandro Y WaycottFranceStephen Shaw QUALIFIED
Murillo L TollnerRussiaOnyama Limba UNQUALIFIED
Nicolas G KolmetzCanadaAnna Fali QUALIFIED
Rodrigues C GauchoBrazilAmy Elsner NEGOTIATION
Nicolas C RimJapanXuxue Feng NEW
Claire C RoysterArgentinaIoni Bowcher NEGOTIATION
Arvin D TollnerUnited KingdomStephen Shaw NEGOTIATION
Mujtaba M AlbaresArgentinaElwin Sharvill PROPOSAL
Chavez D KuskoGermanyStephen Shaw NEW
Kaitlin E CaudyJapanAsiya Javayant RENEWAL
Francesco G GillianJapanAsiya Javayant PROPOSAL
Emily E FlosiArgentinaOnyama Limba RENEWAL
Kadeem G ShinkoGermanyAsiya Javayant QUALIFIED
David P SaylorsArgentinaAnna Fali QUALIFIED
Antonio X PaprockiFranceAmy Elsner UNQUALIFIED
James U RimAustraliaIoni Bowcher NEGOTIATION
Ivar I DarakjyArgentinaIoni Bowcher RENEWAL
Maisha J SaylorsItalyAsiya Javayant NEGOTIATION
Chavez P InouyeFranceXuxue Feng PROPOSAL
Jeanfrancois C NickaCanadaOnyama Limba NEGOTIATION
Alejandro G RoysterUnited KingdomXuxue Feng QUALIFIED
Aruna B RutaFranceIvan Magalhaes NEW
Antonio C WaycottRussiaIvan Magalhaes QUALIFIED
Antonio O InouyeBrazilElwin Sharvill PROPOSAL
Ivar S SlusarskiJapanAnna Fali NEGOTIATION
Emily W SchemmerRussiaElwin Sharvill NEW
Izzy C FollerCanadaIoni Bowcher NEGOTIATION
Greenwood T VocelkaCanadaOnyama Limba NEW
Deepesh M InouyeBrazilAnna Fali PROPOSAL
Sinclair D WhobreyCanadaStephen Shaw NEW
Munro Q MorascaJapanOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Deepesh W BologniaAustraliaIoni Bowcher NEW
Alejandro C WaycottFranceOnyama Limba NEW
Silvio V MacleadSpainAsiya Javayant PROPOSAL
Rodrigues C FerenczFranceAsiya Javayant QUALIFIED
Mujtaba D PaprockiCanadaElwin Sharvill RENEWAL
Alejandro I MaletGermanyIvan Magalhaes NEGOTIATION
Emily B ButtArgentinaAnna Fali QUALIFIED
Darci P DilliardJapanAnna Fali NEW
Julie Z KolmetzRussiaIvan Magalhaes PROPOSAL
Arvin P RoysterIndiaBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire S MaletAustralia2024-06-13Chapman, Ross E Esq QUALIFIED41Bernardo Dominic
1001Antonio W AlbaresSpain2024-05-31Buckley Miller Wright QUALIFIED72Bernardo Dominic
1002Tony U ButtSpain2024-05-27Benton, John B Jr RENEWAL86Anna Fali
1003Isabel M PerinItaly2024-06-07Dorl, James J Esq NEW30Stephen Shaw
1004Deepesh C StensethSpain2024-05-29Chapman, Ross E Esq PROPOSAL56Amy Elsner
1005Mujtaba Y PaprockiJapan2024-06-07Feiner Bros PROPOSAL44Xuxue Feng
1006Morrow C WaycottIndia2024-06-01Dorl, James J Esq NEW83Onyama Limba
1007Jeanfrancois S SlusarskiItaly2024-05-25Feltz Printing Service NEW87Elwin Sharvill
1008Francesco T RulapaughAustralia2024-06-12Chapman, Ross E Esq UNQUALIFIED15Bernardo Dominic
1009Ashley B StensethUnited Kingdom2024-05-30Feiner Bros PROPOSAL40Anna Fali
1010Claire S WaycottCanada2024-05-26Feiner Bros RENEWAL8Onyama Limba
1011Costa R VocelkaRussia2024-05-17Rangoni Of Florence NEW1Onyama Limba
1012Deepesh Z FigeroaCanada2024-05-17Commercial Press NEGOTIATION97Elwin Sharvill
1013Cody S StockhamGermany2024-06-09Printing Dimensions NEW36Elwin Sharvill
1014Julie U MarrierRussia2024-06-01Printing Dimensions NEGOTIATION29Bernardo Dominic
1015Antonio V FigeroaAustralia2024-05-31Truhlar And Truhlar Attys PROPOSAL25Asiya Javayant
1016Adams V PerinArgentina2024-05-26Chapman, Ross E Esq NEW34Stephen Shaw
1017Ashley H FollerAustralia2024-06-08Buckley Miller Wright PROPOSAL4Amy Elsner
1018Smith H ButtUnited Kingdom2024-05-18Rangoni Of Florence NEGOTIATION80Elwin Sharvill
1019Izzy H SaylorsArgentina2024-06-11King, Christopher A Esq NEW91Asiya Javayant
1020Darci Q BologniaRussia2024-05-21Chanay, Jeffrey A Esq PROPOSAL51Xuxue Feng
1021Isabel R SergiGermany2024-05-21Dorl, James J Esq RENEWAL59Ivan Magalhaes
1022Costa P MaletRussia2024-06-04Chapman, Ross E Esq UNQUALIFIED80Bernardo Dominic
1023Ivar D MacleadRussia2024-06-15Truhlar And Truhlar Attys PROPOSAL56Ioni Bowcher
1024Juan K VenereGermany2024-06-07Benton, John B Jr UNQUALIFIED74Stephen Shaw
1025Arvin B GauchoGermany2024-05-21Chemel, James L Cpa NEW82Bernardo Dominic
1026Juan S RimRussia2024-05-24Benton, John B Jr NEW51Ivan Magalhaes
1027Ashley P WhobreyAustralia2024-05-24King, Christopher A Esq UNQUALIFIED21Amy Elsner
1028Costa O NickaItaly2024-06-07Feltz Printing Service UNQUALIFIED96Elwin Sharvill
1029Johnson X VenereBrazil2024-05-17Rangoni Of Florence RENEWAL41Amy Elsner
1030Isabel T DoeRussia2024-06-13Feiner Bros QUALIFIED62Elwin Sharvill
1031Murillo V SergiArgentina2024-06-14Dorl, James J Esq PROPOSAL61Xuxue Feng
1032Izzy E SlusarskiIndia2024-05-31Feiner Bros NEGOTIATION24Ioni Bowcher
1033Darci F PerinUnited Kingdom2024-05-25King, Christopher A Esq PROPOSAL89Onyama Limba
1034Greenwood T RoysterCanada2024-06-11Morlong Associates RENEWAL59Amy Elsner
1035Adams H BriddickJapan2024-05-22Commercial Press PROPOSAL6Elwin Sharvill
1036Alejandro S RulapaughUnited Kingdom2024-06-11Chanay, Jeffrey A Esq NEW96Ivan Magalhaes
1037Morrow G RoysterIndia2024-05-25Commercial Press QUALIFIED61Xuxue Feng
1038Ricardo Y PoquetteFrance2024-06-12Benton, John B Jr NEW80Onyama Limba
1039Misaki R StockhamGermany2024-06-13Feltz Printing Service NEGOTIATION78Bernardo Dominic
1040Chavez X ButtSpain2024-05-27Benton, John B Jr NEGOTIATION89Onyama Limba
1041Jones K InouyeFrance2024-06-05Buckley Miller Wright UNQUALIFIED41Onyama Limba
1042Maria M MaletUnited Kingdom2024-06-10Chemel, James L Cpa NEGOTIATION11Amy Elsner
1043Antonio O AmigonGermany2024-05-24Benton, John B Jr NEGOTIATION57Bernardo Dominic
1044Aditya P StensethAustralia2024-06-09Commercial Press NEGOTIATION10Amy Elsner
1045Sinclair N DilliardSpain2024-05-20Benton, John B Jr UNQUALIFIED79Amy Elsner
1046Ashley F TollnerAustralia2024-06-15Printing Dimensions UNQUALIFIED9Ivan Magalhaes
1047Isabel L DoeRussia2024-05-28Benton, John B Jr UNQUALIFIED36Ivan Magalhaes
1048Maisha S DilliardIndia2024-05-20Feltz Printing Service NEGOTIATION18Onyama Limba
1049Sinclair S TollnerJapan2024-05-22King, Christopher A Esq RENEWAL60Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Nicolas I NickaFranceAmy Elsner NEW
Aruna P IturbideJapanIoni Bowcher QUALIFIED
Izzy A CampainItalyElwin Sharvill PROPOSAL
Faith T ChuiFranceXuxue Feng NEGOTIATION
Johnson C PerinRussiaIoni Bowcher QUALIFIED
Wickens O GlickSpainOnyama Limba NEGOTIATION
Arvin O InouyeGermanyXuxue Feng QUALIFIED
James E SaylorsBrazilAmy Elsner UNQUALIFIED
Salvatore G SergiItalyElwin Sharvill PROPOSAL
Alejandro O NestleJapanOnyama Limba RENEWAL
Chavez B GauchoUnited KingdomOnyama Limba UNQUALIFIED
Deepesh E PaprockiCanadaElwin Sharvill UNQUALIFIED
Francesco Q MaletGermanyIvan Magalhaes QUALIFIED
Nicolas A RoysterAustraliaIvan Magalhaes NEW
Misaki G MaletArgentinaOnyama Limba PROPOSAL
Munro A SchemmerCanadaOnyama Limba QUALIFIED
Leon Z RimJapanElwin Sharvill UNQUALIFIED
Morrow P FerenczItalyOnyama Limba NEGOTIATION
Faith R FlosiRussiaOnyama Limba PROPOSAL
Nicolas T MaletGermanyAsiya Javayant UNQUALIFIED
Morrow I GillianFranceXuxue Feng UNQUALIFIED
Aditya M GarufiItalyStephen Shaw RENEWAL
Stacey F RulapaughJapanAsiya Javayant NEW
Juan T BriddickItalyXuxue Feng RENEWAL
Izzy Z MaletArgentinaAnna Fali NEW
Ricardo W WaycottFranceIvan Magalhaes RENEWAL
Kadeem E CaudyCanadaIvan Magalhaes NEW
Jeanfrancois B SergiUnited KingdomAnna Fali PROPOSAL
Ricardo F ShinkoRussiaStephen Shaw UNQUALIFIED
Stacey F SaylorsRussiaIvan Magalhaes QUALIFIED
Julie K SergiBrazilAnna Fali RENEWAL
Emily Z GillianRussiaAsiya Javayant RENEWAL
Ivar G OldroydUnited KingdomBernardo Dominic UNQUALIFIED
Emily E DilliardSpainBernardo Dominic QUALIFIED
Emily A FollerArgentinaOnyama Limba NEGOTIATION
Izzy S SlusarskiFranceStephen Shaw QUALIFIED
Aruna T GlickUnited KingdomIvan Magalhaes NEGOTIATION
Stacey V DilliardCanadaIoni Bowcher UNQUALIFIED
Rodrigues H MarrierSpainAmy Elsner NEW
Leon H FigeroaRussiaAnna Fali NEW
Wickens U WaycottRussiaAsiya Javayant NEW
Costa Y WieserAustraliaStephen Shaw QUALIFIED
Johnson T RoysterGermanyXuxue Feng NEW
Silvio D MaletItalyXuxue Feng NEGOTIATION
Maria W WieserFranceElwin Sharvill QUALIFIED
Silvio L RimUnited KingdomAsiya Javayant PROPOSAL
Morrow Z FlosiSpainIoni Bowcher QUALIFIED
Mujtaba D FerenczFranceXuxue Feng NEGOTIATION
Aditya G CaudyBrazilOnyama Limba NEGOTIATION
Maria M SchemmerItalyIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Ivar D Kusko
Sinclair H Rim
Octavia P Rim
Costa Z Doe
Juan C Wieser
Deepesh P Darakjy
Jennifer Z Kusko
Aruna T Stockham
James X Caldarera
Smith Y Whobrey
Alejandro U Amigon
Darci L Ruta
Ashley D Tollner
Octavia G Sergi
Tony I Saylors
Julie Q Nicka
Rodrigues C Morasca
Misaki U Rulapaugh
Izzy G Sergi
Leja C Maclead
Johnson N Foller
Murillo F Caldarera
Kaitlin F Darakjy
Silvio F Kolmetz
Tony P Saylors
Murillo U Doe
Stacey R Shinko
Johnson E Albares
Stacey T Whobrey
Stacey A Wieser
Jeanfrancois U Royster
Nicolas R Figeroa
Aika Y Caldarera
James Q Bolognia
Stacey U Garufi
Faith V Saylors
Jefferson G Sergi
Misaki Z Waycott
Tony M Saylors
Arvin R Perin
Smith L Marrier
Smith E Ruta
Wickens F Maclead
Murillo G Dilliard
Jones I Oldroyd
Murillo S Stockham
Ricardo O Royster
Murillo V Maclead
Smith V Chui
Clifford R Flosi
IdCountryDate
1000Italy2024-05-19
1001Japan2024-05-20
1002Germany2024-06-02
1003Germany2024-06-09
1004Canada2024-06-09
1005Germany2024-05-18
1006Australia2024-05-23
1007Japan2024-06-14
1008Brazil2024-06-12
1009Russia2024-05-23
1010United Kingdom2024-05-20
1011Russia2024-06-05
1012Argentina2024-06-09
1013Australia2024-06-01
1014Germany2024-05-29
1015Japan2024-05-18
1016France2024-05-26
1017Brazil2024-05-30
1018Italy2024-05-29
1019India2024-06-15
1020France2024-06-13
1021Brazil2024-06-03
1022United Kingdom2024-06-04
1023Germany2024-06-05
1024Australia2024-05-20
1025France2024-06-15
1026United Kingdom2024-05-27
1027India2024-06-14
1028Russia2024-06-07
1029Japan2024-06-02
1030France2024-05-28
1031Canada2024-06-14
1032Spain2024-05-28
1033Japan2024-05-22
1034Australia2024-06-09
1035Canada2024-05-28
1036Germany2024-06-10
1037Russia2024-05-20
1038Canada2024-05-17
1039Brazil2024-05-28
1040Italy2024-05-20
1041Spain2024-06-14
1042Italy2024-05-25
1043Italy2024-06-05
1044Russia2024-05-17
1045Argentina2024-06-04
1046United Kingdom2024-06-03
1047Spain2024-05-18
1048Australia2024-06-10
1049India2024-06-15

On-Demand Data

NameIdCountryDate
Nicolas L Perin1000Spain2024-06-04
Misaki I Malet1001Australia2024-06-01
Adams A Caldarera1002Italy2024-05-17
Darci W Marrier1003Canada2024-06-15
Deepesh Q Malet1004Spain2024-05-28
Jones I Whobrey1005Russia2024-06-09
Silvio V Morasca1006Italy2024-06-04
Tony T Vocelka1007India2024-05-31
Izzy Q Schemmer1008France2024-05-31
Cody M Gaucho1009Canada2024-05-28
Ricardo P Ruta1010Spain2024-06-08
Julie V Ruta1011Spain2024-06-02
Francesco Z Schemmer1012Canada2024-05-30
David A Bolognia1013Germany2024-06-11
Maria B Glick1014Australia2024-05-22
Julie D Briddick1015Italy2024-06-13
Ivar N Caudy1016Japan2024-05-21
Kadeem C Slusarski1017Australia2024-05-20
Clifford D Paprocki1018Canada2024-06-01
Mayumi J Butt1019Germany2024-05-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro Z NickaSpainAnna Fali UNQUALIFIED
Octavia Q BriddickAustraliaBernardo Dominic QUALIFIED
Misaki G MaletFranceXuxue Feng UNQUALIFIED
Izzy L GlickJapanElwin Sharvill NEGOTIATION
Ashley G DoeJapanAmy Elsner PROPOSAL
Antonio B OstroskyAustraliaXuxue Feng QUALIFIED
Julie I MarrierFranceIoni Bowcher UNQUALIFIED
Morrow A CaldareraArgentinaOnyama Limba NEW
Cody B PaprockiArgentinaXuxue Feng UNQUALIFIED
Aika P BriddickIndiaAmy Elsner NEW
Rodrigues F CampainGermanyXuxue Feng PROPOSAL
Ivar Z VenereItalyXuxue Feng RENEWAL
Jeanfrancois V CaudyRussiaIoni Bowcher NEGOTIATION
Wickens I FerenczArgentinaAnna Fali PROPOSAL
Claire R AlbaresUnited KingdomIvan Magalhaes NEGOTIATION
Salvatore R VenereAustraliaElwin Sharvill QUALIFIED
Faith B VocelkaIndiaAsiya Javayant PROPOSAL
David G FigeroaIndiaElwin Sharvill NEGOTIATION
Octavia Y VocelkaJapanAsiya Javayant UNQUALIFIED
Darci N GarufiFranceAmy Elsner RENEWAL
Wickens Z OldroydArgentinaBernardo Dominic NEGOTIATION
Jefferson L WaycottRussiaIvan Magalhaes UNQUALIFIED
Adams P VenereIndiaIvan Magalhaes QUALIFIED
Faith X FlosiCanadaStephen Shaw RENEWAL
Deepesh W BologniaFranceAnna Fali RENEWAL
Juan N IturbideFranceOnyama Limba UNQUALIFIED
Jeanfrancois E RutaGermanyXuxue Feng NEGOTIATION
Antonio W PerinGermanyStephen Shaw RENEWAL
Ricardo S FigeroaArgentinaElwin Sharvill QUALIFIED
Aditya Q CampainIndiaElwin Sharvill QUALIFIED
Wickens G SaylorsAustraliaBernardo Dominic NEGOTIATION
Munro T StensethFranceAsiya Javayant QUALIFIED
Jennifer N CaldareraBrazilAmy Elsner NEW
Jennifer X WaycottCanadaIoni Bowcher QUALIFIED
Arvin L BriddickFranceIvan Magalhaes NEGOTIATION
Ivar B IturbideBrazilElwin Sharvill NEGOTIATION
Smith J WieserGermanyXuxue Feng UNQUALIFIED
Aika V SlusarskiAustraliaBernardo Dominic NEGOTIATION
Leja P ChuiCanadaIvan Magalhaes RENEWAL
Maria O GlickFranceOnyama Limba 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>