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
Ivar J RimUnited KingdomAmy Elsner QUALIFIED
Clifford I MaletAustraliaBernardo Dominic RENEWAL
Chavez E FollerGermanyElwin Sharvill UNQUALIFIED
Antonio S SaylorsSpainAsiya Javayant PROPOSAL
Octavia H FlosiArgentinaBernardo Dominic NEW
Emily E BologniaIndiaIoni Bowcher QUALIFIED
Leon B MacleadIndiaElwin Sharvill RENEWAL
Nicolas Q IturbideItalyOnyama Limba QUALIFIED
Cody X RoysterSpainXuxue Feng PROPOSAL
Mayumi T CampainGermanyAsiya Javayant RENEWAL
Kadeem U MacleadBrazilAmy Elsner NEW
Kaitlin B SchemmerFranceAnna Fali NEGOTIATION
Salvatore P BologniaJapanIoni Bowcher RENEWAL
Salvatore C FigeroaUnited KingdomAmy Elsner QUALIFIED
Johnson Q OstroskyIndiaIvan Magalhaes UNQUALIFIED
Munro Z InouyeFranceAsiya Javayant UNQUALIFIED
Emily C SaylorsSpainIoni Bowcher NEW
Silvio I StockhamBrazilBernardo Dominic PROPOSAL
Murillo Z SergiItalyAmy Elsner QUALIFIED
Leja V CampainIndiaIoni Bowcher PROPOSAL
Octavia B DoeAustraliaBernardo Dominic UNQUALIFIED
Mayumi Z RimArgentinaAmy Elsner UNQUALIFIED
Nicolas G BologniaCanadaAnna Fali RENEWAL
Mujtaba X AmigonItalyOnyama Limba UNQUALIFIED
Sinclair X CaudyBrazilStephen Shaw RENEWAL
Wickens P RulapaughRussiaIvan Magalhaes QUALIFIED
Aika Z RulapaughUnited KingdomIvan Magalhaes QUALIFIED
Faith U CaudyItalyBernardo Dominic RENEWAL
Smith B VocelkaGermanyIvan Magalhaes NEW
Rodrigues F PerinAustraliaElwin Sharvill RENEWAL
Leon A SergiUnited KingdomXuxue Feng RENEWAL
Ashley E RoysterCanadaStephen Shaw RENEWAL
Chavez G RoysterAustraliaElwin Sharvill RENEWAL
Emily N FollerBrazilAsiya Javayant RENEWAL
Kadeem C GillianCanadaBernardo Dominic RENEWAL
Julie U ChuiAustraliaIoni Bowcher NEGOTIATION
Greenwood G ChuiSpainOnyama Limba NEW
Octavia X AlbaresFranceIoni Bowcher PROPOSAL
David Q MarrierJapanAsiya Javayant NEGOTIATION
Maria H WhobreyUnited KingdomStephen Shaw PROPOSAL
Claire E MorascaAustraliaAsiya Javayant RENEWAL
Darci M StockhamAustraliaBernardo Dominic NEGOTIATION
Adams K InouyeIndiaStephen Shaw PROPOSAL
Mayumi B MaletRussiaXuxue Feng PROPOSAL
Morrow L RutaCanadaOnyama Limba UNQUALIFIED
Jones F StockhamSpainIvan Magalhaes UNQUALIFIED
Julie P StensethGermanyOnyama Limba RENEWAL
Stacey K IturbideUnited KingdomIoni Bowcher RENEWAL
Jeanfrancois P PerinSpainAmy Elsner UNQUALIFIED
Clifford Q BologniaIndiaAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Smith P MarrierItalyElwin Sharvill UNQUALIFIED
Greenwood W PaprockiItalyXuxue Feng RENEWAL
Ricardo D PaprockiCanadaAsiya Javayant PROPOSAL
Deepesh N MorascaItalyStephen Shaw RENEWAL
Costa R ChuiRussiaXuxue Feng UNQUALIFIED
Izzy E RutaUnited KingdomIoni Bowcher NEW
Morrow A ButtIndiaIvan Magalhaes QUALIFIED
James F KuskoSpainIvan Magalhaes RENEWAL
Jones G VocelkaSpainIoni Bowcher UNQUALIFIED
Johnson V VocelkaJapanIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba I BologniaRussia2024-06-22Buckley Miller Wright NEW91Anna Fali
1001Isabel R OstroskyArgentina2024-06-14Dorl, James J Esq QUALIFIED3Xuxue Feng
1002Johnson R GillianItaly2024-06-12Buckley Miller Wright UNQUALIFIED17Stephen Shaw
1003Leon Z MarrierBrazil2024-06-18Buckley Miller Wright RENEWAL9Asiya Javayant
1004Jennifer Z MaletItaly2024-06-21Commercial Press PROPOSAL32Onyama Limba
1005Costa R MacleadItaly2024-06-05Chemel, James L Cpa RENEWAL81Anna Fali
1006Jones M AlbaresIndia2024-06-12Rangoni Of Florence PROPOSAL17Stephen Shaw
1007Leja L BologniaCanada2024-06-25Benton, John B Jr QUALIFIED34Ioni Bowcher
1008Leon B SlusarskiArgentina2024-06-05Chemel, James L Cpa NEW88Xuxue Feng
1009Chavez L RulapaughAustralia2024-06-10Dorl, James J Esq RENEWAL5Ivan Magalhaes
1010Ashley I StockhamArgentina2024-05-30Printing Dimensions PROPOSAL28Asiya Javayant
1011Alejandro G MaletSpain2024-06-11Chanay, Jeffrey A Esq PROPOSAL53Ioni Bowcher
1012Aruna Z BriddickUnited Kingdom2024-06-08Feiner Bros PROPOSAL61Anna Fali
1013Stacey G NickaFrance2024-06-19Feiner Bros RENEWAL56Amy Elsner
1014Izzy V AlbaresGermany2024-06-25Buckley Miller Wright NEW39Amy Elsner
1015Francesco C FlosiItaly2024-05-28Buckley Miller Wright NEGOTIATION96Bernardo Dominic
1016Alejandro B AmigonCanada2024-06-16Morlong Associates QUALIFIED26Stephen Shaw
1017Maria J NestleItaly2024-06-17Benton, John B Jr NEGOTIATION83Amy Elsner
1018Juan U RutaIndia2024-06-20Chapman, Ross E Esq QUALIFIED26Anna Fali
1019David E VenereIndia2024-06-21Feiner Bros RENEWAL96Ivan Magalhaes
1020Silvio Y StensethRussia2024-05-30Commercial Press PROPOSAL61Xuxue Feng
1021Jefferson X MorascaFrance2024-06-20Chanay, Jeffrey A Esq NEW61Elwin Sharvill
1022Claire P AmigonRussia2024-06-19Printing Dimensions RENEWAL53Asiya Javayant
1023Aditya W MaletUnited Kingdom2024-05-28Chapman, Ross E Esq NEGOTIATION46Ivan Magalhaes
1024Clifford G DoeJapan2024-06-14Commercial Press RENEWAL72Anna Fali
1025Ashley G GauchoItaly2024-06-19Feiner Bros NEW4Xuxue Feng
1026Nicolas G BologniaCanada2024-06-19Printing Dimensions QUALIFIED80Ioni Bowcher
1027Adams O VocelkaGermany2024-06-03King, Christopher A Esq NEW23Elwin Sharvill
1028Mayumi I FollerRussia2024-05-29King, Christopher A Esq PROPOSAL26Amy Elsner
1029Aditya D TollnerIndia2024-05-27Dorl, James J Esq NEGOTIATION83Ioni Bowcher
1030Jeanfrancois Y PerinSpain2024-06-12Commercial Press PROPOSAL42Xuxue Feng
1031Munro B BriddickRussia2024-06-18Dorl, James J Esq QUALIFIED60Ivan Magalhaes
1032Smith G RimIndia2024-06-03Morlong Associates NEW38Bernardo Dominic
1033Jones J GarufiJapan2024-05-31Feiner Bros QUALIFIED33Ivan Magalhaes
1034Maria Q InouyeUnited Kingdom2024-05-28Morlong Associates RENEWAL54Anna Fali
1035James I KuskoSpain2024-05-29Chanay, Jeffrey A Esq NEW31Ioni Bowcher
1036Silvio H GauchoAustralia2024-06-03Rangoni Of Florence UNQUALIFIED97Xuxue Feng
1037Mujtaba Y DarakjyCanada2024-06-23Benton, John B Jr UNQUALIFIED41Amy Elsner
1038Johnson H BriddickGermany2024-06-07Commercial Press PROPOSAL23Bernardo Dominic
1039Izzy U MacleadBrazil2024-06-01Chemel, James L Cpa UNQUALIFIED52Xuxue Feng
1040Morrow Y PoquetteFrance2024-06-05Rousseaux, Michael Esq RENEWAL57Onyama Limba
1041Aika K FigeroaFrance2024-06-13Benton, John B Jr RENEWAL5Onyama Limba
1042Tony E StensethItaly2024-06-03Rangoni Of Florence NEW58Elwin Sharvill
1043Salvatore U StensethGermany2024-05-27Rousseaux, Michael Esq UNQUALIFIED85Ioni Bowcher
1044Isabel X GarufiIndia2024-06-06Dorl, James J Esq RENEWAL77Ioni Bowcher
1045Ricardo U ShinkoItaly2024-06-09King, Christopher A Esq QUALIFIED40Ioni Bowcher
1046Faith A GillianBrazil2024-06-14Feltz Printing Service NEGOTIATION81Ioni Bowcher
1047Kaitlin V RoysterBrazil2024-06-04Morlong Associates QUALIFIED38Amy Elsner
1048Munro D FerenczArgentina2024-06-18Buckley Miller Wright PROPOSAL6Xuxue Feng
1049David I CampainSpain2024-06-09Chapman, Ross E Esq QUALIFIED60Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Adams T VocelkaIndiaStephen Shaw NEW
Sinclair J NestleJapanAnna Fali NEW
Silvio Y RoysterUnited KingdomXuxue Feng NEGOTIATION
Jennifer K KuskoUnited KingdomIoni Bowcher NEGOTIATION
Adams M ShinkoGermanyXuxue Feng QUALIFIED
Adams E KolmetzRussiaAnna Fali QUALIFIED
Murillo C DilliardUnited KingdomIvan Magalhaes UNQUALIFIED
Stacey X NickaItalyOnyama Limba QUALIFIED
Leja Z BriddickFranceAnna Fali PROPOSAL
Emily A RutaFranceAnna Fali UNQUALIFIED
Arvin T OstroskyAustraliaXuxue Feng UNQUALIFIED
Kadeem D MacleadSpainIoni Bowcher PROPOSAL
Francesco B BologniaBrazilBernardo Dominic PROPOSAL
Tony F GarufiSpainIvan Magalhaes NEW
Cody C MaletArgentinaElwin Sharvill PROPOSAL
Aika A CampainBrazilBernardo Dominic QUALIFIED
Arvin O InouyeSpainOnyama Limba NEW
Alejandro Q BologniaArgentinaStephen Shaw NEW
Kadeem Z StockhamJapanStephen Shaw NEGOTIATION
Sinclair O FlosiFranceIvan Magalhaes RENEWAL
David T OldroydRussiaBernardo Dominic PROPOSAL
Mayumi H StockhamAustraliaAsiya Javayant PROPOSAL
Nicolas H WhobreyGermanyAsiya Javayant UNQUALIFIED
Maisha A SaylorsCanadaBernardo Dominic QUALIFIED
Smith I PerinUnited KingdomOnyama Limba PROPOSAL
Izzy S FerenczSpainIoni Bowcher NEGOTIATION
Darci P RimFranceOnyama Limba NEGOTIATION
Octavia N BologniaSpainAmy Elsner RENEWAL
Greenwood X FlosiBrazilIvan Magalhaes UNQUALIFIED
Izzy H PerinSpainAnna Fali QUALIFIED
James W MorascaJapanBernardo Dominic RENEWAL
Aika C WieserBrazilXuxue Feng RENEWAL
Wickens V FerenczFranceAsiya Javayant UNQUALIFIED
Antonio V GarufiIndiaOnyama Limba RENEWAL
Kaitlin N SlusarskiCanadaBernardo Dominic NEW
James B KuskoUnited KingdomIvan Magalhaes NEW
Johnson V GauchoUnited KingdomBernardo Dominic NEW
Smith H WaycottCanadaIoni Bowcher QUALIFIED
Alejandro A TollnerJapanOnyama Limba PROPOSAL
David M PerinJapanAsiya Javayant RENEWAL
Greenwood U BologniaFranceStephen Shaw QUALIFIED
Munro Z MaletSpainXuxue Feng NEGOTIATION
Arvin J SaylorsUnited KingdomAnna Fali QUALIFIED
Aditya C DarakjyAustraliaOnyama Limba NEGOTIATION
Jefferson S NickaAustraliaBernardo Dominic NEW
Arvin H GillianJapanStephen Shaw PROPOSAL
Sinclair H BowleyRussiaIoni Bowcher NEW
Nicolas C PaprockiJapanAnna Fali UNQUALIFIED
Tony X DarakjyFranceXuxue Feng QUALIFIED
Jones I DoeIndiaAmy Elsner RENEWAL
Frozen Columns
Name
Kadeem K Campain
Rodrigues T Morasca
Deepesh P Butt
Adams B Malet
Jennifer J Malet
Jones O Slusarski
Maisha I Glick
Johnson J Butt
Cody B Morasca
Silvio U Poquette
Leon P Garufi
Jefferson B Figeroa
Greenwood W Malet
Clifford A Gillian
Adams O Amigon
Jefferson D Caldarera
Julie V Nicka
Wickens V Vocelka
Cody L Iturbide
Ivar X Figeroa
Antonio O Royster
Darci R Briddick
Aditya F Schemmer
Johnson I Saylors
Claire C Albares
Jefferson R Perin
James M Slusarski
Chavez X Nicka
Leon C Butt
Jennifer W Marrier
Rodrigues I Iturbide
Arvin W Saylors
Isabel G Oldroyd
Silvio Z Schemmer
Darci K Butt
Octavia E Campain
Mayumi D Butt
Ashley C Gaucho
Cody O Figeroa
Adams U Ferencz
Leja I Inouye
Leja N Foller
Octavia N Iturbide
Mayumi I Caldarera
Arvin V Stockham
Juan A Perin
Sinclair Q Marrier
Maria V Bolognia
Kaitlin Z Kolmetz
Maisha B Figeroa
IdCountryDate
1000Japan2024-06-18
1001Japan2024-06-04
1002Brazil2024-05-31
1003United Kingdom2024-06-05
1004France2024-06-13
1005United Kingdom2024-06-10
1006Russia2024-06-18
1007Japan2024-06-17
1008Italy2024-06-02
1009Argentina2024-06-23
1010Australia2024-06-21
1011Argentina2024-06-07
1012Italy2024-06-22
1013India2024-06-03
1014Canada2024-06-09
1015Canada2024-05-28
1016Argentina2024-06-08
1017Japan2024-06-16
1018Germany2024-06-04
1019Russia2024-06-03
1020Germany2024-06-15
1021Germany2024-06-06
1022Russia2024-06-19
1023United Kingdom2024-06-03
1024Italy2024-06-15
1025Russia2024-06-10
1026Japan2024-06-06
1027India2024-06-08
1028Germany2024-06-04
1029Canada2024-06-14
1030India2024-06-18
1031Argentina2024-06-24
1032Germany2024-06-02
1033Russia2024-06-22
1034Japan2024-06-05
1035France2024-06-01
1036Australia2024-06-18
1037France2024-06-04
1038Japan2024-06-08
1039Russia2024-05-28
1040Argentina2024-06-15
1041Russia2024-06-13
1042Japan2024-06-05
1043Russia2024-06-11
1044Brazil2024-06-08
1045France2024-06-17
1046Italy2024-06-18
1047Germany2024-06-17
1048Canada2024-06-03
1049Canada2024-06-03

On-Demand Data

NameIdCountryDate
David P Bolognia1000Spain2024-06-09
Juan B Vocelka1001Japan2024-06-18
Jones S Campain1002Japan2024-06-13
Smith R Kusko1003United Kingdom2024-06-24
Greenwood D Bowley1004India2024-06-16
Darci A Dilliard1005Japan2024-06-10
Mayumi G Bowley1006Italy2024-06-17
Izzy S Saylors1007India2024-06-24
Leon T Malet1008Russia2024-05-30
Antonio S Schemmer1009Brazil2024-06-04
Adams C Briddick1010Argentina2024-05-27
Sinclair F Albares1011India2024-06-19
Maisha G Rulapaugh1012Spain2024-06-14
Ivar A Rulapaugh1013United Kingdom2024-05-30
Stacey G Slusarski1014Brazil2024-06-01
Juan E Butt1015Brazil2024-06-12
Claire V Rim1016Germany2024-06-23
Johnson M Ruta1017Italy2024-06-25
Claire Z Gillian1018Canada2024-06-08
Mujtaba L Gaucho1019India2024-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba B InouyeItalyIoni Bowcher RENEWAL
Munro I VocelkaItalyIoni Bowcher QUALIFIED
Mujtaba I FollerSpainStephen Shaw RENEWAL
Darci L RoysterFranceStephen Shaw RENEWAL
Isabel P BologniaJapanIvan Magalhaes NEGOTIATION
Rodrigues F RoysterAustraliaXuxue Feng PROPOSAL
Munro F CampainGermanyOnyama Limba QUALIFIED
Munro D RutaUnited KingdomBernardo Dominic PROPOSAL
Aruna B GillianSpainStephen Shaw PROPOSAL
Chavez O MaletItalyXuxue Feng QUALIFIED
Rodrigues X BowleySpainElwin Sharvill PROPOSAL
Jefferson J NickaGermanyAnna Fali NEW
Ricardo N OstroskyItalyIoni Bowcher QUALIFIED
Stacey Q PerinSpainAmy Elsner RENEWAL
Leja C MorascaBrazilStephen Shaw QUALIFIED
Sinclair N FlosiFranceElwin Sharvill QUALIFIED
Leja X SlusarskiRussiaAmy Elsner UNQUALIFIED
Ricardo I TollnerRussiaAsiya Javayant PROPOSAL
Sinclair U KolmetzFranceBernardo Dominic NEGOTIATION
Munro D DoeIndiaElwin Sharvill NEW
Stacey H OstroskyCanadaAsiya Javayant NEGOTIATION
Chavez A GillianFranceElwin Sharvill UNQUALIFIED
Aruna C CampainAustraliaBernardo Dominic RENEWAL
Aika H MarrierArgentinaIvan Magalhaes NEW
Ashley F KuskoRussiaAmy Elsner NEW
Misaki B IturbideGermanyOnyama Limba RENEWAL
Greenwood R SlusarskiFranceIoni Bowcher QUALIFIED
Arvin W RulapaughRussiaBernardo Dominic RENEWAL
Misaki J FollerAustraliaIoni Bowcher NEGOTIATION
Munro D SaylorsSpainStephen Shaw NEW
Octavia M MaletArgentinaElwin Sharvill QUALIFIED
Leon U StensethRussiaIvan Magalhaes UNQUALIFIED
Ashley D RulapaughFranceIoni Bowcher QUALIFIED
Kadeem L CampainItalyXuxue Feng PROPOSAL
Isabel D MarrierArgentinaIoni Bowcher QUALIFIED
Misaki E WieserArgentinaOnyama Limba QUALIFIED
Maria P CampainUnited KingdomXuxue Feng RENEWAL
Aditya W DarakjyArgentinaBernardo Dominic UNQUALIFIED
Kadeem E AlbaresItalyStephen Shaw UNQUALIFIED
Claire M RutaItalyBernardo Dominic 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>