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
Leja Z KolmetzArgentinaXuxue Feng PROPOSAL
Wickens Y RutaIndiaOnyama Limba RENEWAL
Ivar L KolmetzUnited KingdomBernardo Dominic UNQUALIFIED
Maria L MaletArgentinaStephen Shaw QUALIFIED
Faith I MarrierJapanIoni Bowcher RENEWAL
Aika I KuskoAustraliaOnyama Limba PROPOSAL
Wickens B VenereArgentinaXuxue Feng PROPOSAL
Munro C TollnerAustraliaAsiya Javayant UNQUALIFIED
Clifford T RulapaughIndiaIvan Magalhaes NEW
Adams T SlusarskiGermanyIvan Magalhaes UNQUALIFIED
Aruna W BologniaItalyXuxue Feng QUALIFIED
Octavia U BriddickSpainXuxue Feng NEGOTIATION
Sinclair N FlosiUnited KingdomAmy Elsner RENEWAL
Johnson C WhobreyIndiaOnyama Limba NEGOTIATION
Emily H OldroydUnited KingdomXuxue Feng PROPOSAL
Maria N DoeGermanyAnna Fali PROPOSAL
Jennifer I FigeroaFranceOnyama Limba RENEWAL
Johnson R FollerJapanIvan Magalhaes NEGOTIATION
Jennifer H GarufiGermanyXuxue Feng NEGOTIATION
Chavez N PaprockiSpainOnyama Limba QUALIFIED
Johnson Q WieserRussiaElwin Sharvill QUALIFIED
Ashley D SchemmerItalyOnyama Limba QUALIFIED
Maisha V BriddickItalyIoni Bowcher QUALIFIED
Kaitlin J WieserBrazilBernardo Dominic RENEWAL
Nicolas G NickaCanadaBernardo Dominic NEW
Chavez X AlbaresSpainAsiya Javayant PROPOSAL
Leon P FlosiRussiaIoni Bowcher RENEWAL
Faith U KolmetzIndiaAsiya Javayant UNQUALIFIED
Adams E NickaUnited KingdomAnna Fali RENEWAL
Smith A TollnerJapanXuxue Feng RENEWAL
Francesco V FlosiItalyIvan Magalhaes PROPOSAL
Julie I DarakjyRussiaStephen Shaw NEGOTIATION
Costa Z SergiFranceIoni Bowcher RENEWAL
Johnson S StockhamGermanyElwin Sharvill UNQUALIFIED
Costa T NestleSpainStephen Shaw UNQUALIFIED
Clifford U NestleUnited KingdomXuxue Feng NEGOTIATION
Morrow M PerinIndiaAmy Elsner QUALIFIED
Cody A WieserIndiaAmy Elsner UNQUALIFIED
Murillo M CampainFranceAnna Fali UNQUALIFIED
Greenwood C DarakjyArgentinaAmy Elsner RENEWAL
Ashley U ShinkoGermanyElwin Sharvill NEW
Johnson K RulapaughBrazilBernardo Dominic PROPOSAL
Maria T NestleSpainAsiya Javayant QUALIFIED
Kaitlin K KuskoUnited KingdomIvan Magalhaes NEW
Adams X PaprockiIndiaBernardo Dominic NEW
Rodrigues B DilliardItalyBernardo Dominic QUALIFIED
Octavia U StensethBrazilAmy Elsner NEGOTIATION
Aditya D WhobreyRussiaElwin Sharvill RENEWAL
Octavia K FollerBrazilElwin Sharvill RENEWAL
Darci O AlbaresJapanIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Leon S WhobreyIndiaXuxue Feng RENEWAL
Munro L MaletBrazilElwin Sharvill NEW
Aruna X PoquetteItalyStephen Shaw PROPOSAL
Jeanfrancois A WhobreyIndiaAsiya Javayant QUALIFIED
Ivar E GlickSpainStephen Shaw NEW
Mujtaba X OstroskyJapanAsiya Javayant NEW
Munro F MaletJapanAnna Fali RENEWAL
Francesco P SergiRussiaStephen Shaw RENEWAL
Ivar A CampainGermanyStephen Shaw RENEWAL
David K SergiBrazilAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia C GauchoRussia2024-06-06Rangoni Of Florence UNQUALIFIED29Xuxue Feng
1001Leon F DarakjyItaly2024-06-19Chanay, Jeffrey A Esq UNQUALIFIED77Ivan Magalhaes
1002Ivar N GarufiGermany2024-06-20Rousseaux, Michael Esq RENEWAL46Anna Fali
1003Aruna N CaudyItaly2024-06-02Chanay, Jeffrey A Esq PROPOSAL1Ioni Bowcher
1004Kadeem O GlickJapan2024-06-03Chapman, Ross E Esq NEGOTIATION70Elwin Sharvill
1005Adams G GauchoGermany2024-06-02Feltz Printing Service PROPOSAL47Amy Elsner
1006Izzy H SchemmerJapan2024-06-01Printing Dimensions NEW3Xuxue Feng
1007Misaki L MarrierItaly2024-06-02Commercial Press RENEWAL57Bernardo Dominic
1008Deepesh T SlusarskiIndia2024-06-15Feiner Bros UNQUALIFIED16Anna Fali
1009Cody O GlickIndia2024-06-07Printing Dimensions NEW86Ioni Bowcher
1010Ivar S KolmetzUnited Kingdom2024-06-15Feiner Bros PROPOSAL50Anna Fali
1011Julie C VocelkaUnited Kingdom2024-06-03Buckley Miller Wright QUALIFIED30Asiya Javayant
1012Octavia R IturbideBrazil2024-06-18Morlong Associates RENEWAL26Asiya Javayant
1013Munro J ChuiArgentina2024-05-25Rangoni Of Florence NEW97Ivan Magalhaes
1014Adams M FlosiBrazil2024-06-21Chanay, Jeffrey A Esq PROPOSAL43Onyama Limba
1015Sinclair L WieserJapan2024-06-05Printing Dimensions QUALIFIED89Asiya Javayant
1016Aditya W GarufiJapan2024-06-19Morlong Associates RENEWAL10Amy Elsner
1017Murillo N OldroydArgentina2024-05-24Truhlar And Truhlar Attys QUALIFIED7Ivan Magalhaes
1018Greenwood S RoysterFrance2024-06-15Benton, John B Jr NEW69Asiya Javayant
1019Cody T WieserUnited Kingdom2024-06-14Truhlar And Truhlar Attys QUALIFIED97Onyama Limba
1020Murillo Z VocelkaItaly2024-06-04Rousseaux, Michael Esq NEW81Anna Fali
1021Claire N CaldareraItaly2024-05-31King, Christopher A Esq QUALIFIED74Xuxue Feng
1022Juan B RutaFrance2024-05-26Rangoni Of Florence QUALIFIED43Anna Fali
1023Isabel R NickaIndia2024-06-14Dorl, James J Esq NEGOTIATION80Anna Fali
1024Aruna I BologniaSpain2024-06-12Benton, John B Jr PROPOSAL48Xuxue Feng
1025Izzy F RimArgentina2024-06-02Printing Dimensions NEW16Asiya Javayant
1026Kaitlin U DoeBrazil2024-06-08Chanay, Jeffrey A Esq NEW68Elwin Sharvill
1027Chavez P GlickRussia2024-06-05Rousseaux, Michael Esq QUALIFIED8Anna Fali
1028Morrow V FollerArgentina2024-06-06Rousseaux, Michael Esq NEW73Ivan Magalhaes
1029Leon X ButtItaly2024-05-31Rousseaux, Michael Esq QUALIFIED59Xuxue Feng
1030Sinclair S MaletSpain2024-06-01King, Christopher A Esq NEGOTIATION3Ivan Magalhaes
1031Arvin B SchemmerIndia2024-06-15Buckley Miller Wright NEW57Ivan Magalhaes
1032Adams Z MaletJapan2024-06-21Chemel, James L Cpa NEW88Asiya Javayant
1033Octavia J WieserIndia2024-05-30King, Christopher A Esq QUALIFIED73Amy Elsner
1034Ivar T GauchoAustralia2024-05-28Feltz Printing Service NEW54Anna Fali
1035Aditya Z ButtAustralia2024-05-25Commercial Press NEW49Anna Fali
1036Jones M AmigonFrance2024-05-27Printing Dimensions UNQUALIFIED9Ivan Magalhaes
1037David M SchemmerRussia2024-06-12Feiner Bros NEW96Elwin Sharvill
1038Antonio W RoysterJapan2024-06-07King, Christopher A Esq UNQUALIFIED70Ivan Magalhaes
1039Cody W CaudyAustralia2024-06-19Printing Dimensions NEGOTIATION19Anna Fali
1040Morrow M InouyeAustralia2024-06-09Chemel, James L Cpa NEW56Stephen Shaw
1041Smith X OldroydArgentina2024-06-12Chapman, Ross E Esq PROPOSAL54Bernardo Dominic
1042Mayumi Q KuskoAustralia2024-06-08Dorl, James J Esq QUALIFIED68Onyama Limba
1043David N CaldareraItaly2024-05-24Feltz Printing Service NEGOTIATION0Elwin Sharvill
1044Deepesh Y FollerIndia2024-06-09Chanay, Jeffrey A Esq RENEWAL9Anna Fali
1045Misaki S KuskoJapan2024-06-21Dorl, James J Esq UNQUALIFIED14Ioni Bowcher
1046Julie X MorascaSpain2024-06-21Rangoni Of Florence NEW45Bernardo Dominic
1047Kaitlin E GauchoRussia2024-05-25Printing Dimensions QUALIFIED68Elwin Sharvill
1048Antonio Z CaudyBrazil2024-06-17Truhlar And Truhlar Attys UNQUALIFIED5Amy Elsner
1049Adams I BologniaArgentina2024-06-06Chanay, Jeffrey A Esq RENEWAL66Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Julie A PaprockiRussiaIoni Bowcher PROPOSAL
Leon L SchemmerItalyXuxue Feng PROPOSAL
Leja N VocelkaAustraliaIvan Magalhaes PROPOSAL
Deepesh Z PerinAustraliaIvan Magalhaes NEW
Faith N GillianSpainAmy Elsner PROPOSAL
Jennifer S FerenczCanadaIvan Magalhaes NEW
James E KuskoFranceAsiya Javayant PROPOSAL
Morrow C KuskoFranceBernardo Dominic RENEWAL
Claire A MarrierAustraliaAsiya Javayant NEGOTIATION
Chavez Q KolmetzRussiaElwin Sharvill RENEWAL
Claire B DoeRussiaAsiya Javayant RENEWAL
Arvin Q MaletAustraliaOnyama Limba NEW
Adams V SaylorsFranceBernardo Dominic NEW
Emily B VenereJapanAmy Elsner PROPOSAL
Maisha K BologniaCanadaBernardo Dominic NEGOTIATION
Claire C GlickIndiaIoni Bowcher PROPOSAL
Isabel N RimSpainStephen Shaw UNQUALIFIED
Johnson Z RutaSpainXuxue Feng QUALIFIED
Julie W KolmetzIndiaElwin Sharvill NEW
Morrow X DilliardCanadaStephen Shaw PROPOSAL
Murillo S TollnerGermanyStephen Shaw PROPOSAL
Murillo U CaldareraGermanyAnna Fali PROPOSAL
Isabel D DilliardBrazilElwin Sharvill NEW
Claire H SergiSpainStephen Shaw PROPOSAL
Stacey Z FlosiRussiaIvan Magalhaes RENEWAL
Juan O DarakjySpainElwin Sharvill NEW
Mujtaba Q DoeItalyIoni Bowcher QUALIFIED
Isabel U OstroskyBrazilOnyama Limba NEGOTIATION
Antonio T OldroydBrazilIoni Bowcher QUALIFIED
Julie A CaudyAustraliaStephen Shaw RENEWAL
Ivar W AmigonRussiaIvan Magalhaes PROPOSAL
Arvin B SchemmerItalyAnna Fali UNQUALIFIED
Sinclair K CaudyIndiaStephen Shaw PROPOSAL
Mayumi Y BologniaItalyElwin Sharvill RENEWAL
Munro X TollnerUnited KingdomAnna Fali QUALIFIED
Murillo N WhobreyBrazilAsiya Javayant RENEWAL
Kaitlin B WieserItalyStephen Shaw RENEWAL
Antonio O FerenczCanadaIvan Magalhaes PROPOSAL
Rodrigues J BriddickUnited KingdomIoni Bowcher PROPOSAL
Murillo H AmigonSpainAmy Elsner UNQUALIFIED
Claire V CaudyBrazilOnyama Limba QUALIFIED
Munro B VenereBrazilElwin Sharvill PROPOSAL
Aruna T FigeroaJapanOnyama Limba QUALIFIED
Francesco D PerinJapanIvan Magalhaes PROPOSAL
Jones T FollerRussiaElwin Sharvill PROPOSAL
Kadeem J BriddickFranceIoni Bowcher QUALIFIED
Greenwood T AlbaresBrazilStephen Shaw NEGOTIATION
Munro X BriddickCanadaStephen Shaw RENEWAL
Johnson O SaylorsSpainAmy Elsner NEGOTIATION
Ashley A InouyeUnited KingdomElwin Sharvill PROPOSAL
Frozen Columns
Name
Smith U Dilliard
Costa D Dilliard
Leja I Ruta
Alejandro K Oldroyd
Octavia D Campain
Emily Q Bowley
Munro I Gaucho
Chavez E Iturbide
Julie B Garufi
Morrow Y Rulapaugh
Maria V Paprocki
Jeanfrancois D Tollner
Costa W Dilliard
Mujtaba Y Ferencz
Jefferson Q Foller
Mujtaba T Doe
Arvin U Sergi
Mujtaba M Sergi
Julie C Ostrosky
Darci S Royster
Johnson F Inouye
Francesco K Paprocki
Maisha R Flosi
Arvin F Marrier
Munro G Nestle
Jefferson D Whobrey
Munro G Poquette
Darci J Ferencz
Cody F Bowley
Munro L Malet
Clifford I Dilliard
Smith V Chui
Sinclair G Iturbide
Misaki W Slusarski
Izzy A Garufi
Clifford J Saylors
Tony V Kolmetz
Adams M Venere
Deepesh O Campain
Chavez D Ruta
Misaki A Wieser
Kadeem R Venere
Julie I Paprocki
Leon P Foller
Claire H Amigon
Juan X Caldarera
Aruna O Morasca
Smith B Albares
Munro A Royster
Jones N Chui
IdCountryDate
1000Italy2024-06-04
1001Australia2024-05-23
1002Brazil2024-06-18
1003France2024-05-27
1004Japan2024-06-03
1005Canada2024-05-26
1006Spain2024-06-09
1007Brazil2024-05-28
1008United Kingdom2024-05-29
1009Spain2024-06-04
1010Italy2024-05-28
1011Russia2024-06-18
1012Germany2024-05-23
1013Russia2024-05-24
1014Argentina2024-06-15
1015Brazil2024-05-31
1016Russia2024-06-18
1017Japan2024-06-01
1018United Kingdom2024-05-30
1019United Kingdom2024-05-31
1020Spain2024-06-17
1021Germany2024-06-11
1022Brazil2024-06-10
1023Canada2024-06-08
1024United Kingdom2024-05-28
1025United Kingdom2024-06-04
1026Japan2024-06-21
1027India2024-06-21
1028Germany2024-06-02
1029Germany2024-06-20
1030Argentina2024-06-07
1031Australia2024-06-09
1032Australia2024-06-21
1033Italy2024-06-02
1034Japan2024-05-30
1035Australia2024-06-05
1036Spain2024-05-25
1037Japan2024-06-19
1038Japan2024-05-25
1039Canada2024-05-27
1040Germany2024-05-27
1041Japan2024-06-19
1042Argentina2024-06-21
1043United Kingdom2024-06-10
1044Russia2024-06-04
1045France2024-06-21
1046France2024-06-03
1047Argentina2024-05-28
1048Germany2024-06-05
1049Italy2024-06-04

On-Demand Data

NameIdCountryDate
Juan K Ostrosky1000Brazil2024-06-09
Deepesh V Briddick1001Canada2024-06-08
Ricardo Q Dilliard1002Canada2024-06-15
Rodrigues S Amigon1003Russia2024-06-14
Greenwood N Ruta1004Russia2024-06-09
Kaitlin O Rim1005Australia2024-06-06
Aditya S Slusarski1006Canada2024-06-17
Adams B Figeroa1007France2024-05-31
Adams W Dilliard1008France2024-06-20
Sinclair R Schemmer1009Spain2024-05-31
Maria G Caldarera1010United Kingdom2024-06-17
Jeanfrancois U Figeroa1011India2024-05-23
Costa X Flosi1012Russia2024-06-12
Aika Z Garufi1013Canada2024-06-15
Juan A Caldarera1014Germany2024-05-25
Ivar O Nestle1015Spain2024-06-01
David Q Dilliard1016France2024-06-12
Silvio N Darakjy1017Japan2024-06-03
Mujtaba L Malet1018United Kingdom2024-06-14
Izzy V Wieser1019France2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika A RoysterRussiaAsiya Javayant PROPOSAL
Kadeem S MacleadFranceAnna Fali QUALIFIED
Aditya V WaycottAustraliaIoni Bowcher NEW
Wickens T MacleadItalyStephen Shaw QUALIFIED
Mujtaba J MaletArgentinaElwin Sharvill NEGOTIATION
Deepesh Z OstroskyGermanyBernardo Dominic RENEWAL
Mayumi C InouyeAustraliaAsiya Javayant RENEWAL
Leon Z MorascaJapanAmy Elsner QUALIFIED
Clifford V RoysterRussiaXuxue Feng NEGOTIATION
Jefferson Q IturbideAustraliaStephen Shaw PROPOSAL
Aruna Y BowleyIndiaElwin Sharvill NEW
Aditya D VenereRussiaBernardo Dominic QUALIFIED
Antonio U BowleyAustraliaAmy Elsner PROPOSAL
Francesco O CaldareraJapanAmy Elsner PROPOSAL
Juan Y DilliardRussiaAmy Elsner NEW
Faith Y PoquetteGermanyAnna Fali QUALIFIED
Francesco Q FerenczAustraliaIoni Bowcher NEW
Chavez W CampainRussiaAnna Fali UNQUALIFIED
Aruna K GlickJapanElwin Sharvill NEGOTIATION
Julie F StensethAustraliaIoni Bowcher NEGOTIATION
Leon J DilliardArgentinaStephen Shaw NEW
David R GlickIndiaBernardo Dominic NEW
Izzy N GillianCanadaAmy Elsner UNQUALIFIED
Francesco Q CaudyFranceOnyama Limba RENEWAL
Leja N KuskoItalyAnna Fali UNQUALIFIED
Alejandro C MaletJapanBernardo Dominic QUALIFIED
Salvatore D IturbideUnited KingdomXuxue Feng QUALIFIED
Julie E DilliardItalyBernardo Dominic RENEWAL
James N StensethSpainIoni Bowcher QUALIFIED
Faith J SlusarskiBrazilAmy Elsner RENEWAL
Deepesh R BriddickCanadaAmy Elsner PROPOSAL
David I FlosiJapanElwin Sharvill UNQUALIFIED
Ashley R FigeroaArgentinaIvan Magalhaes NEGOTIATION
Leon P VenereIndiaIoni Bowcher NEW
Cody K VocelkaCanadaBernardo Dominic RENEWAL
Julie C VenereItalyXuxue Feng NEW
Antonio J TollnerGermanyBernardo Dominic UNQUALIFIED
Adams A SaylorsCanadaAmy Elsner NEGOTIATION
Mujtaba J IturbideSpainIvan Magalhaes NEGOTIATION
Mujtaba V MacleadBrazilBernardo 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>