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
Darci M FlosiArgentinaAsiya Javayant PROPOSAL
Cody B CaudyAustraliaOnyama Limba NEW
Mayumi J PerinRussiaElwin Sharvill QUALIFIED
Morrow C VocelkaJapanStephen Shaw QUALIFIED
Alejandro R MacleadJapanOnyama Limba RENEWAL
Nicolas H MaletBrazilXuxue Feng PROPOSAL
Nicolas G WaycottBrazilIvan Magalhaes PROPOSAL
Aika R GarufiJapanOnyama Limba RENEWAL
Aika O MaletRussiaAsiya Javayant NEW
Arvin S SchemmerBrazilIoni Bowcher UNQUALIFIED
Johnson H SaylorsArgentinaIvan Magalhaes UNQUALIFIED
Ricardo Z ShinkoRussiaAmy Elsner UNQUALIFIED
Clifford Z AmigonSpainOnyama Limba RENEWAL
James H WaycottBrazilOnyama Limba PROPOSAL
Octavia Y DarakjyItalyAnna Fali PROPOSAL
Leja Z WaycottCanadaElwin Sharvill RENEWAL
Kaitlin I ChuiJapanElwin Sharvill PROPOSAL
Claire V CaudyBrazilElwin Sharvill NEW
Leon E SaylorsCanadaBernardo Dominic PROPOSAL
Francesco F FollerFranceIvan Magalhaes QUALIFIED
Morrow E RoysterCanadaBernardo Dominic QUALIFIED
Adams D InouyeRussiaBernardo Dominic RENEWAL
Mujtaba P FlosiItalyIvan Magalhaes QUALIFIED
Wickens T CampainUnited KingdomIvan Magalhaes NEW
Claire H CampainCanadaAsiya Javayant UNQUALIFIED
Jefferson E WieserSpainStephen Shaw UNQUALIFIED
Leja X SergiJapanAnna Fali NEGOTIATION
Sinclair M ChuiSpainOnyama Limba UNQUALIFIED
Arvin C NestleGermanyXuxue Feng RENEWAL
Jones F NestleBrazilAnna Fali QUALIFIED
Johnson A PerinFranceBernardo Dominic QUALIFIED
Mayumi R TollnerCanadaStephen Shaw PROPOSAL
Deepesh V MaletRussiaIoni Bowcher PROPOSAL
Chavez L SergiGermanyBernardo Dominic NEGOTIATION
Alejandro S NickaCanadaXuxue Feng QUALIFIED
Octavia F PerinAustraliaAmy Elsner PROPOSAL
Ashley U RimSpainOnyama Limba PROPOSAL
Antonio W BologniaUnited KingdomOnyama Limba RENEWAL
David T FerenczUnited KingdomIvan Magalhaes RENEWAL
Tony G GarufiCanadaOnyama Limba UNQUALIFIED
Faith U RutaRussiaBernardo Dominic RENEWAL
Smith U BriddickCanadaElwin Sharvill QUALIFIED
Faith P TollnerFranceBernardo Dominic UNQUALIFIED
Jefferson Q NickaSpainBernardo Dominic NEW
Antonio W CaldareraRussiaOnyama Limba UNQUALIFIED
Isabel O RoysterBrazilElwin Sharvill RENEWAL
Ashley K NestleSpainAsiya Javayant PROPOSAL
Tony G ChuiGermanyOnyama Limba RENEWAL
Ricardo K GillianCanadaStephen Shaw NEW
Juan B MorascaCanadaAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Leon N PoquetteFranceAnna Fali QUALIFIED
Octavia W PerinSpainAnna Fali QUALIFIED
Leja V SergiGermanyAnna Fali PROPOSAL
Antonio P IturbideArgentinaOnyama Limba UNQUALIFIED
Isabel P VenereCanadaOnyama Limba NEW
Ashley A NickaBrazilOnyama Limba NEGOTIATION
Maisha F InouyeGermanyAnna Fali NEGOTIATION
Clifford N MaletIndiaIvan Magalhaes NEGOTIATION
Aruna G ShinkoArgentinaBernardo Dominic NEGOTIATION
Tony O SergiArgentinaAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa O MarrierUnited Kingdom2024-05-25Chemel, James L Cpa QUALIFIED80Anna Fali
1001Aditya U ButtIndia2024-06-04Feiner Bros PROPOSAL25Ioni Bowcher
1002Aika F KuskoArgentina2024-06-09Feiner Bros NEGOTIATION70Onyama Limba
1003Jennifer A RulapaughAustralia2024-06-04Benton, John B Jr NEGOTIATION42Stephen Shaw
1004Ivar X RoysterUnited Kingdom2024-06-05Rangoni Of Florence NEGOTIATION31Anna Fali
1005Kadeem K GillianJapan2024-06-06Rangoni Of Florence NEGOTIATION68Anna Fali
1006Smith V BowleyBrazil2024-06-09Dorl, James J Esq UNQUALIFIED73Ivan Magalhaes
1007Clifford M GauchoFrance2024-06-03Chemel, James L Cpa QUALIFIED71Ivan Magalhaes
1008Costa Z SlusarskiSpain2024-05-27Chapman, Ross E Esq QUALIFIED95Amy Elsner
1009Cody X TollnerBrazil2024-06-12Buckley Miller Wright RENEWAL80Amy Elsner
1010Jennifer U SlusarskiItaly2024-06-18Chapman, Ross E Esq QUALIFIED44Xuxue Feng
1011David F PaprockiArgentina2024-06-01Feltz Printing Service NEGOTIATION98Amy Elsner
1012Deepesh I MarrierUnited Kingdom2024-06-12Morlong Associates NEGOTIATION1Anna Fali
1013Silvio A VocelkaFrance2024-06-17Feltz Printing Service UNQUALIFIED12Amy Elsner
1014Aruna O GarufiRussia2024-06-16Truhlar And Truhlar Attys RENEWAL2Onyama Limba
1015Emily Q DilliardItaly2024-06-03Morlong Associates NEGOTIATION3Asiya Javayant
1016Murillo K OldroydIndia2024-06-22Chemel, James L Cpa NEW28Elwin Sharvill
1017Aika Y PaprockiGermany2024-05-29Morlong Associates UNQUALIFIED22Ivan Magalhaes
1018Costa K RulapaughItaly2024-06-10King, Christopher A Esq NEW40Anna Fali
1019Costa Y VenereSpain2024-06-22Commercial Press NEW37Stephen Shaw
1020Clifford D StockhamItaly2024-06-11Feiner Bros RENEWAL80Elwin Sharvill
1021Claire I StockhamAustralia2024-06-12Commercial Press QUALIFIED39Elwin Sharvill
1022Kadeem K BowleySpain2024-06-09Chemel, James L Cpa PROPOSAL19Onyama Limba
1023Leja W BologniaJapan2024-06-14Rousseaux, Michael Esq NEW52Ioni Bowcher
1024Chavez D PerinIndia2024-06-19Chanay, Jeffrey A Esq NEW11Bernardo Dominic
1025Maisha D GillianItaly2024-06-16Benton, John B Jr PROPOSAL40Ivan Magalhaes
1026Misaki W OldroydJapan2024-06-02Rousseaux, Michael Esq RENEWAL66Ioni Bowcher
1027Salvatore U PerinUnited Kingdom2024-06-13Rangoni Of Florence QUALIFIED43Ioni Bowcher
1028Francesco V AmigonJapan2024-06-01Chemel, James L Cpa PROPOSAL65Ivan Magalhaes
1029Adams U SchemmerJapan2024-06-06King, Christopher A Esq PROPOSAL42Xuxue Feng
1030Wickens A GarufiGermany2024-05-28Feiner Bros QUALIFIED87Amy Elsner
1031Claire F DilliardCanada2024-05-28Benton, John B Jr NEW64Ivan Magalhaes
1032Tony W SchemmerCanada2024-06-08Rousseaux, Michael Esq QUALIFIED75Ioni Bowcher
1033Aika G CaudyFrance2024-06-21King, Christopher A Esq QUALIFIED44Anna Fali
1034Munro I BologniaRussia2024-05-29Feltz Printing Service RENEWAL71Xuxue Feng
1035Jones U GlickIndia2024-06-10Buckley Miller Wright NEGOTIATION11Asiya Javayant
1036Emily W PerinRussia2024-06-16Benton, John B Jr UNQUALIFIED43Amy Elsner
1037Leon P CampainItaly2024-06-03Rangoni Of Florence PROPOSAL92Asiya Javayant
1038Murillo S CampainUnited Kingdom2024-06-15Chapman, Ross E Esq UNQUALIFIED52Ivan Magalhaes
1039Costa L RutaSpain2024-06-21Commercial Press PROPOSAL73Bernardo Dominic
1040Mayumi F KolmetzAustralia2024-05-29Printing Dimensions UNQUALIFIED62Asiya Javayant
1041Leon T GarufiIndia2024-06-02Feltz Printing Service NEW98Xuxue Feng
1042Costa P InouyeIndia2024-06-14Rangoni Of Florence PROPOSAL44Amy Elsner
1043Nicolas N WhobreyFrance2024-05-29Printing Dimensions QUALIFIED16Elwin Sharvill
1044Ivar J GarufiSpain2024-06-14Chapman, Ross E Esq PROPOSAL75Stephen Shaw
1045Mayumi J FigeroaRussia2024-05-24Chanay, Jeffrey A Esq NEW18Bernardo Dominic
1046Emily E GarufiSpain2024-06-16Feltz Printing Service PROPOSAL0Asiya Javayant
1047Faith Y RoysterRussia2024-05-30Chapman, Ross E Esq NEGOTIATION71Stephen Shaw
1048Juan P WhobreySpain2024-05-26Morlong Associates RENEWAL33Ivan Magalhaes
1049Izzy P PoquetteGermany2024-06-19Commercial Press UNQUALIFIED51Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Kadeem P KolmetzJapanStephen Shaw QUALIFIED
Aruna N BologniaRussiaAnna Fali NEW
Silvio C KolmetzRussiaOnyama Limba NEW
Antonio P InouyeCanadaOnyama Limba UNQUALIFIED
Adams N RutaItalyAnna Fali NEGOTIATION
Isabel V MaletSpainIoni Bowcher NEW
Juan M InouyeSpainAmy Elsner PROPOSAL
Ricardo H MaletFranceOnyama Limba UNQUALIFIED
Antonio B StensethJapanElwin Sharvill PROPOSAL
Rodrigues T SaylorsUnited KingdomIoni Bowcher NEGOTIATION
Aruna N FerenczItalyIvan Magalhaes QUALIFIED
Stacey A BriddickJapanIvan Magalhaes QUALIFIED
Juan B CaldareraGermanyAnna Fali NEW
Mujtaba O IturbideFranceBernardo Dominic NEW
Arvin T AlbaresFranceBernardo Dominic NEW
Ivar L InouyeUnited KingdomAmy Elsner NEW
Jennifer D MaletArgentinaIoni Bowcher RENEWAL
Isabel Z PerinIndiaAsiya Javayant UNQUALIFIED
Aika L SergiItalyAnna Fali NEGOTIATION
Chavez V MarrierBrazilIoni Bowcher RENEWAL
Leon D WieserSpainXuxue Feng PROPOSAL
Octavia O AmigonFranceOnyama Limba NEGOTIATION
Arvin N StensethAustraliaXuxue Feng QUALIFIED
Ivar V VocelkaAustraliaAmy Elsner UNQUALIFIED
Leon K RutaItalyStephen Shaw RENEWAL
Misaki D DoeIndiaXuxue Feng PROPOSAL
Kadeem I DilliardAustraliaAnna Fali NEW
Ricardo U MacleadItalyIoni Bowcher QUALIFIED
Salvatore A DoeRussiaAmy Elsner UNQUALIFIED
Kaitlin G PaprockiFranceXuxue Feng NEW
James L WieserUnited KingdomAmy Elsner QUALIFIED
Silvio B ButtSpainAnna Fali UNQUALIFIED
Darci U GarufiUnited KingdomIvan Magalhaes NEGOTIATION
Misaki Y WaycottUnited KingdomBernardo Dominic QUALIFIED
Ricardo M RoysterBrazilBernardo Dominic RENEWAL
Leja W DoeFranceBernardo Dominic UNQUALIFIED
Mayumi P MorascaArgentinaBernardo Dominic NEW
Clifford K SaylorsSpainAnna Fali NEGOTIATION
Mayumi E StockhamSpainAmy Elsner PROPOSAL
Isabel Z WaycottFranceXuxue Feng UNQUALIFIED
Darci S FigeroaSpainIvan Magalhaes QUALIFIED
Darci X AmigonRussiaAmy Elsner RENEWAL
Julie N CaudyAustraliaXuxue Feng NEW
Maria N MaletFranceIvan Magalhaes QUALIFIED
Claire K SlusarskiArgentinaAnna Fali NEW
Tony H FollerAustraliaStephen Shaw UNQUALIFIED
Jeanfrancois V FerenczGermanyXuxue Feng UNQUALIFIED
Maria W PerinJapanStephen Shaw NEGOTIATION
Jennifer R PoquetteRussiaAsiya Javayant RENEWAL
Izzy B FigeroaCanadaXuxue Feng PROPOSAL
Frozen Columns
Name
Chavez X Rim
Adams A Amigon
Sinclair X Kolmetz
Kadeem S Marrier
Chavez S Royster
Salvatore Y Vocelka
Kaitlin I Slusarski
Jennifer L Iturbide
Deepesh G Foller
Jeanfrancois Y Kolmetz
Rodrigues T Gaucho
Morrow U Saylors
Aruna R Chui
Morrow G Dilliard
Chavez E Malet
Clifford N Chui
Leja R Glick
Rodrigues T Campain
Ashley E Flosi
Clifford V Rim
Cody U Oldroyd
Juan A Paprocki
Octavia T Caudy
Smith X Wieser
Jennifer W Venere
Murillo A Poquette
Aika O Waycott
Clifford A Kusko
Arvin E Morasca
Salvatore C Tollner
Francesco S Campain
Ricardo Y Shinko
Maisha I Stenseth
Aditya K Albares
Aditya J Amigon
Clifford I Bowley
Kadeem H Shinko
Jennifer K Shinko
Aruna U Iturbide
Julie X Garufi
Claire C Tollner
Ricardo Y Bowley
Costa W Oldroyd
Arvin W Garufi
Deepesh O Iturbide
Claire V Bolognia
Jeanfrancois W Foller
Emily S Tollner
James T Venere
Morrow A Darakjy
IdCountryDate
1000Argentina2024-06-07
1001India2024-06-10
1002Argentina2024-05-28
1003Spain2024-06-12
1004Russia2024-05-26
1005Japan2024-06-19
1006Argentina2024-05-29
1007Spain2024-06-18
1008Brazil2024-06-07
1009Australia2024-06-03
1010Italy2024-06-05
1011Germany2024-06-06
1012Australia2024-05-31
1013Argentina2024-06-01
1014Argentina2024-06-17
1015India2024-06-12
1016Canada2024-05-30
1017Germany2024-06-06
1018Canada2024-06-10
1019France2024-06-08
1020Spain2024-06-14
1021Canada2024-06-05
1022Argentina2024-06-09
1023Russia2024-05-25
1024Italy2024-06-08
1025Japan2024-06-13
1026Argentina2024-05-29
1027Italy2024-06-05
1028India2024-06-15
1029France2024-06-02
1030Argentina2024-06-12
1031Russia2024-06-05
1032Australia2024-06-21
1033Germany2024-06-20
1034Brazil2024-06-03
1035Argentina2024-05-29
1036India2024-06-19
1037Italy2024-06-17
1038Canada2024-06-05
1039Japan2024-06-08
1040United Kingdom2024-06-16
1041Japan2024-06-20
1042United Kingdom2024-06-11
1043India2024-06-08
1044Germany2024-06-17
1045France2024-06-11
1046United Kingdom2024-05-29
1047Canada2024-06-07
1048Japan2024-05-30
1049Brazil2024-06-18

On-Demand Data

NameIdCountryDate
Jeanfrancois R Royster1000Germany2024-06-04
Mayumi H Nicka1001India2024-06-17
Arvin N Royster1002Canada2024-06-17
Johnson G Bolognia1003Germany2024-05-29
Kadeem B Vocelka1004Argentina2024-06-07
Adams B Sergi1005India2024-05-30
Wickens E Vocelka1006United Kingdom2024-06-01
Salvatore U Poquette1007Brazil2024-06-20
Smith T Flosi1008Japan2024-06-07
Antonio X Paprocki1009Italy2024-06-02
Murillo X Dilliard1010Germany2024-06-02
Cody H Stockham1011Brazil2024-06-22
Juan X Wieser1012Canada2024-05-28
Nicolas M Glick1013India2024-05-25
Greenwood G Perin1014France2024-06-21
Mujtaba B Venere1015Japan2024-06-21
Murillo F Caudy1016Italy2024-05-27
Ivar Q Saylors1017Italy2024-06-13
Kadeem J Darakjy1018Japan2024-06-01
Ashley M Ruta1019Japan2024-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy Q VenereCanadaIvan Magalhaes UNQUALIFIED
Misaki I MorascaCanadaElwin Sharvill QUALIFIED
Julie G TollnerItalyIoni Bowcher QUALIFIED
Greenwood W NickaSpainOnyama Limba NEGOTIATION
James Y MorascaUnited KingdomIoni Bowcher UNQUALIFIED
Francesco L SergiIndiaXuxue Feng NEW
Tony P NestleSpainBernardo Dominic PROPOSAL
Aditya A OstroskyFranceIoni Bowcher QUALIFIED
Wickens U OstroskyRussiaOnyama Limba RENEWAL
Smith D NestleRussiaAnna Fali NEGOTIATION
Ricardo C KuskoCanadaAmy Elsner RENEWAL
Aika P SaylorsUnited KingdomElwin Sharvill NEGOTIATION
Stacey Z FerenczAustraliaAmy Elsner QUALIFIED
Clifford I SlusarskiUnited KingdomAnna Fali NEW
Cody B GauchoGermanyAmy Elsner PROPOSAL
Mujtaba P TollnerAustraliaAmy Elsner QUALIFIED
Nicolas O RimSpainAsiya Javayant NEGOTIATION
Octavia R KolmetzArgentinaIvan Magalhaes UNQUALIFIED
Stacey T AmigonBrazilAsiya Javayant RENEWAL
Sinclair C VocelkaJapanAnna Fali NEGOTIATION
Greenwood K SlusarskiUnited KingdomAnna Fali UNQUALIFIED
Tony Z MaletUnited KingdomIoni Bowcher RENEWAL
Silvio B ButtGermanyIoni Bowcher NEW
Maria Y NestleJapanAsiya Javayant QUALIFIED
Jeanfrancois L WieserAustraliaOnyama Limba PROPOSAL
Johnson U BriddickBrazilAsiya Javayant NEW
Nicolas R PoquetteBrazilXuxue Feng PROPOSAL
Maisha M RoysterGermanyOnyama Limba RENEWAL
Morrow Y StockhamJapanAmy Elsner PROPOSAL
Juan Z StockhamItalyIvan Magalhaes QUALIFIED
Costa Y ChuiRussiaIvan Magalhaes UNQUALIFIED
Jones D RutaSpainAnna Fali UNQUALIFIED
Alejandro F ShinkoFranceBernardo Dominic PROPOSAL
Darci O OstroskyFranceElwin Sharvill NEW
Izzy O GarufiCanadaXuxue Feng UNQUALIFIED
Juan Y AmigonBrazilIoni Bowcher PROPOSAL
Ashley W SergiAustraliaStephen Shaw NEGOTIATION
Chavez J CaldareraItalyIvan Magalhaes NEGOTIATION
Jeanfrancois H MarrierCanadaIoni Bowcher PROPOSAL
Francesco L AlbaresUnited KingdomStephen Shaw 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>