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 O KolmetzItalyIvan Magalhaes UNQUALIFIED
Emily Y SergiRussiaIoni Bowcher UNQUALIFIED
Francesco A FerenczGermanyIoni Bowcher NEW
Izzy V ShinkoJapanAnna Fali RENEWAL
Maria V MacleadArgentinaStephen Shaw NEW
Mujtaba X VocelkaFranceAmy Elsner RENEWAL
Leon K OldroydCanadaElwin Sharvill NEGOTIATION
Francesco D RoysterSpainIoni Bowcher PROPOSAL
Smith Q StensethArgentinaBernardo Dominic RENEWAL
Morrow W StockhamJapanIvan Magalhaes QUALIFIED
Claire L KuskoIndiaIoni Bowcher UNQUALIFIED
Tony E FollerGermanyElwin Sharvill NEGOTIATION
Jennifer O NickaItalyAnna Fali UNQUALIFIED
Maisha H DilliardAustraliaAnna Fali NEGOTIATION
Ricardo S PaprockiBrazilIvan Magalhaes UNQUALIFIED
Deepesh F RimRussiaIoni Bowcher RENEWAL
Isabel N DilliardUnited KingdomOnyama Limba UNQUALIFIED
Maria D NickaGermanyAnna Fali NEGOTIATION
Kadeem Z AlbaresCanadaXuxue Feng NEGOTIATION
Sinclair W GauchoSpainIvan Magalhaes QUALIFIED
Rodrigues R CaldareraAustraliaStephen Shaw PROPOSAL
Ricardo C MaletCanadaStephen Shaw NEW
Octavia E MorascaJapanElwin Sharvill RENEWAL
Jennifer F StensethBrazilAsiya Javayant QUALIFIED
Ashley V OstroskyUnited KingdomBernardo Dominic UNQUALIFIED
Faith B InouyeAustraliaIoni Bowcher UNQUALIFIED
Leja G WhobreyFranceOnyama Limba NEW
Clifford U WieserFranceXuxue Feng UNQUALIFIED
Adams G FigeroaJapanAnna Fali UNQUALIFIED
Adams C TollnerSpainAnna Fali RENEWAL
Tony S FlosiUnited KingdomElwin Sharvill NEW
Clifford W GauchoGermanyElwin Sharvill PROPOSAL
Leon F StockhamItalyAnna Fali UNQUALIFIED
Sinclair P WieserFranceAsiya Javayant UNQUALIFIED
Smith X SlusarskiAustraliaElwin Sharvill NEGOTIATION
David K ChuiUnited KingdomIoni Bowcher UNQUALIFIED
Octavia U GarufiSpainElwin Sharvill PROPOSAL
Ashley N FerenczFranceAmy Elsner NEGOTIATION
Kaitlin W IturbideSpainAmy Elsner NEW
Isabel E ShinkoSpainAnna Fali QUALIFIED
Ashley B NestleJapanXuxue Feng NEW
Octavia G MaletFranceAnna Fali PROPOSAL
Ivar P BowleyBrazilAsiya Javayant QUALIFIED
Ashley S KuskoArgentinaAnna Fali PROPOSAL
Octavia Q KuskoAustraliaXuxue Feng UNQUALIFIED
Smith N AmigonRussiaBernardo Dominic NEGOTIATION
Leon K GarufiArgentinaIvan Magalhaes NEGOTIATION
Antonio S OldroydCanadaElwin Sharvill QUALIFIED
Leja P ButtItalyAnna Fali NEGOTIATION
Darci C MaletFranceIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Johnson Y KolmetzGermanyAmy Elsner UNQUALIFIED
Izzy A SchemmerBrazilStephen Shaw NEW
Murillo V ShinkoItalyXuxue Feng RENEWAL
Jeanfrancois H MarrierBrazilAmy Elsner RENEWAL
Ashley U TollnerBrazilAmy Elsner PROPOSAL
Claire M DarakjyArgentinaAsiya Javayant RENEWAL
Emily V GauchoAustraliaXuxue Feng RENEWAL
Munro G IturbideCanadaBernardo Dominic QUALIFIED
Maria Y BologniaRussiaXuxue Feng UNQUALIFIED
Ivar J GarufiArgentinaOnyama Limba NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa L GlickBrazil2024-06-11Chapman, Ross E Esq NEW62Ioni Bowcher
1001Johnson M FlosiRussia2024-06-12Printing Dimensions UNQUALIFIED60Bernardo Dominic
1002Ashley V AmigonRussia2024-06-14Chapman, Ross E Esq QUALIFIED10Anna Fali
1003Faith M SergiItaly2024-06-15Feltz Printing Service RENEWAL93Bernardo Dominic
1004Chavez V ButtAustralia2024-06-14Truhlar And Truhlar Attys PROPOSAL47Xuxue Feng
1005Leon V FollerSpain2024-05-30Commercial Press QUALIFIED76Ivan Magalhaes
1006Sinclair R VenereBrazil2024-06-03Benton, John B Jr RENEWAL34Stephen Shaw
1007Jefferson Q BowleySpain2024-06-02King, Christopher A Esq QUALIFIED1Stephen Shaw
1008Munro W RulapaughJapan2024-05-26Dorl, James J Esq QUALIFIED35Anna Fali
1009Kaitlin G OstroskyFrance2024-06-04Feltz Printing Service RENEWAL41Elwin Sharvill
1010Emily A GillianFrance2024-06-20King, Christopher A Esq NEGOTIATION2Anna Fali
1011Chavez T WaycottArgentina2024-05-31Buckley Miller Wright UNQUALIFIED41Asiya Javayant
1012James W SergiIndia2024-06-02Benton, John B Jr NEGOTIATION17Stephen Shaw
1013Isabel X StensethFrance2024-05-25Buckley Miller Wright QUALIFIED23Elwin Sharvill
1014Silvio S StensethSpain2024-06-10Chemel, James L Cpa QUALIFIED28Onyama Limba
1015Munro V NickaFrance2024-06-02Chanay, Jeffrey A Esq RENEWAL14Amy Elsner
1016Juan J MacleadArgentina2024-06-11Buckley Miller Wright NEGOTIATION73Stephen Shaw
1017Mujtaba T FollerSpain2024-05-28Morlong Associates UNQUALIFIED14Xuxue Feng
1018Kadeem M WhobreyIndia2024-06-12Rousseaux, Michael Esq UNQUALIFIED7Anna Fali
1019Ricardo D CampainSpain2024-05-27Benton, John B Jr NEGOTIATION24Bernardo Dominic
1020Leja H ChuiFrance2024-06-07Printing Dimensions RENEWAL94Asiya Javayant
1021Chavez J KolmetzCanada2024-05-27Commercial Press NEW4Anna Fali
1022Kadeem P AlbaresItaly2024-05-23Printing Dimensions NEGOTIATION34Ioni Bowcher
1023Jennifer B CampainRussia2024-05-31Truhlar And Truhlar Attys QUALIFIED16Bernardo Dominic
1024Izzy P NickaItaly2024-06-02King, Christopher A Esq PROPOSAL70Anna Fali
1025Tony V MaletBrazil2024-05-31Commercial Press PROPOSAL5Anna Fali
1026Alejandro P StockhamArgentina2024-05-30Truhlar And Truhlar Attys NEGOTIATION4Elwin Sharvill
1027Kadeem W MaletIndia2024-05-25Rousseaux, Michael Esq UNQUALIFIED88Ivan Magalhaes
1028Costa S VocelkaCanada2024-06-12Rangoni Of Florence RENEWAL31Asiya Javayant
1029Arvin E ShinkoGermany2024-05-29Dorl, James J Esq NEGOTIATION62Ioni Bowcher
1030Leon R BologniaAustralia2024-05-30Printing Dimensions RENEWAL38Asiya Javayant
1031Smith C IturbideAustralia2024-05-25Morlong Associates UNQUALIFIED50Ivan Magalhaes
1032Julie B DilliardRussia2024-06-20Feltz Printing Service UNQUALIFIED90Stephen Shaw
1033Darci H PoquetteItaly2024-05-23King, Christopher A Esq PROPOSAL56Asiya Javayant
1034Adams F FigeroaSpain2024-06-04Rangoni Of Florence RENEWAL55Onyama Limba
1035Claire N KuskoArgentina2024-05-23Rangoni Of Florence NEW6Xuxue Feng
1036Arvin K FerenczFrance2024-06-10Printing Dimensions RENEWAL10Xuxue Feng
1037Maria Z GlickGermany2024-06-06Rangoni Of Florence NEGOTIATION0Ivan Magalhaes
1038Clifford R CaudyUnited Kingdom2024-05-31Truhlar And Truhlar Attys NEW16Xuxue Feng
1039Jones K OstroskyBrazil2024-06-03Truhlar And Truhlar Attys NEW58Asiya Javayant
1040Deepesh Q MarrierJapan2024-06-08Morlong Associates UNQUALIFIED19Bernardo Dominic
1041Jennifer F FerenczIndia2024-05-27Rangoni Of Florence UNQUALIFIED93Anna Fali
1042Mayumi B AmigonRussia2024-05-26Dorl, James J Esq UNQUALIFIED93Onyama Limba
1043Ricardo C PaprockiCanada2024-06-11Chanay, Jeffrey A Esq NEW70Onyama Limba
1044Kaitlin P RulapaughJapan2024-06-07Commercial Press PROPOSAL94Ivan Magalhaes
1045Nicolas G VenereBrazil2024-06-05Morlong Associates UNQUALIFIED14Stephen Shaw
1046Nicolas G GlickBrazil2024-06-01Truhlar And Truhlar Attys NEW88Onyama Limba
1047Adams Z RutaIndia2024-05-29Feltz Printing Service UNQUALIFIED44Xuxue Feng
1048Jennifer A DoeFrance2024-05-27Feiner Bros PROPOSAL29Ivan Magalhaes
1049Kadeem I ChuiAustralia2024-06-01Rousseaux, Michael Esq UNQUALIFIED9Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Stacey E RutaJapanXuxue Feng QUALIFIED
Jennifer K OldroydFranceAmy Elsner UNQUALIFIED
Kadeem T ButtRussiaIvan Magalhaes UNQUALIFIED
Maria Y SaylorsGermanyAnna Fali NEGOTIATION
Claire Q MacleadAustraliaIvan Magalhaes UNQUALIFIED
Ashley X StockhamIndiaBernardo Dominic NEW
Murillo Z VenereGermanyElwin Sharvill UNQUALIFIED
Kaitlin O PoquetteGermanyAmy Elsner RENEWAL
Emily H WieserRussiaAnna Fali RENEWAL
Tony N ChuiAustraliaAnna Fali NEGOTIATION
Rodrigues U RulapaughAustraliaOnyama Limba RENEWAL
Mayumi V RulapaughCanadaIoni Bowcher NEW
Juan E VenereRussiaAnna Fali RENEWAL
Darci P GillianGermanyIvan Magalhaes UNQUALIFIED
Clifford R RutaUnited KingdomAmy Elsner UNQUALIFIED
Izzy H FerenczSpainElwin Sharvill NEGOTIATION
Kadeem G ChuiBrazilXuxue Feng PROPOSAL
Greenwood K StockhamIndiaIvan Magalhaes NEGOTIATION
Julie O FlosiAustraliaIvan Magalhaes QUALIFIED
Aika U PoquetteUnited KingdomAnna Fali NEW
Jennifer Y PaprockiBrazilIoni Bowcher QUALIFIED
Juan U StensethArgentinaXuxue Feng QUALIFIED
Leja E CaudyArgentinaStephen Shaw NEGOTIATION
Darci U CampainUnited KingdomAnna Fali PROPOSAL
Deepesh V InouyeSpainAsiya Javayant PROPOSAL
Ricardo X BologniaUnited KingdomAmy Elsner NEW
Chavez V PerinFranceElwin Sharvill PROPOSAL
Nicolas W StensethSpainOnyama Limba NEW
Silvio I FerenczGermanyStephen Shaw UNQUALIFIED
Izzy B DoeJapanStephen Shaw RENEWAL
Darci O PerinIndiaStephen Shaw RENEWAL
Costa H ShinkoSpainAmy Elsner NEW
Greenwood G CaudyCanadaIvan Magalhaes QUALIFIED
Morrow B BriddickJapanIvan Magalhaes RENEWAL
Mujtaba A OldroydBrazilAnna Fali QUALIFIED
Cody N FollerRussiaAmy Elsner PROPOSAL
Clifford Z PoquetteJapanOnyama Limba RENEWAL
Salvatore Q FigeroaFranceOnyama Limba PROPOSAL
Ivar M FerenczIndiaElwin Sharvill PROPOSAL
Aditya C CaldareraJapanOnyama Limba PROPOSAL
Darci S DoeCanadaElwin Sharvill UNQUALIFIED
Munro H WhobreyGermanyIoni Bowcher RENEWAL
Darci K RulapaughBrazilIoni Bowcher UNQUALIFIED
Rodrigues X CaldareraItalyAnna Fali NEW
Isabel N PoquetteSpainXuxue Feng PROPOSAL
Jefferson A DoeCanadaAnna Fali PROPOSAL
Maisha K StockhamBrazilAsiya Javayant PROPOSAL
David N RutaFranceStephen Shaw PROPOSAL
Octavia R AmigonJapanAsiya Javayant UNQUALIFIED
Alejandro W BologniaFranceAmy Elsner UNQUALIFIED
Frozen Columns
Name
Kadeem G Ferencz
Jeanfrancois J Albares
Maria H Gaucho
Smith L Poquette
Morrow U Gaucho
Izzy Z Royster
Julie P Rim
Jennifer K Poquette
Munro T Garufi
Jones M Glick
Alejandro P Kusko
Mayumi G Slusarski
Izzy W Kusko
Jennifer L Flosi
Clifford L Flosi
Darci M Royster
Jefferson Z Bowley
Adams W Malet
Aditya S Glick
Costa V Poquette
Francesco O Kolmetz
Octavia Q Paprocki
Munro U Bowley
Smith D Ostrosky
Claire B Caldarera
Greenwood V Tollner
Maisha B Doe
Aditya G Bolognia
Misaki G Butt
Emily K Tollner
Morrow M Marrier
Mujtaba K Sergi
Aditya L Amigon
Jeanfrancois S Saylors
Leon D Garufi
Faith R Bowley
Cody C Caudy
Johnson E Paprocki
Julie V Glick
Clifford B Foller
Morrow T Caudy
Murillo Y Morasca
Ashley A Figeroa
Juan R Nestle
Salvatore W Tollner
Wickens T Bowley
Nicolas B Inouye
Greenwood T Tollner
Rodrigues K Kusko
Mayumi C Inouye
IdCountryDate
1000Italy2024-06-21
1001France2024-06-01
1002Australia2024-06-15
1003Canada2024-05-25
1004Canada2024-06-15
1005Russia2024-06-15
1006Japan2024-06-20
1007Germany2024-06-01
1008Brazil2024-06-09
1009Germany2024-05-25
1010India2024-05-26
1011India2024-06-05
1012Australia2024-06-15
1013Canada2024-06-07
1014Australia2024-06-13
1015Brazil2024-06-20
1016Italy2024-06-14
1017Brazil2024-06-10
1018Australia2024-06-14
1019Spain2024-06-18
1020Russia2024-06-02
1021Spain2024-06-12
1022Japan2024-06-11
1023United Kingdom2024-06-08
1024Germany2024-05-31
1025Argentina2024-06-07
1026United Kingdom2024-06-14
1027Brazil2024-06-08
1028Russia2024-05-26
1029Italy2024-06-18
1030Brazil2024-05-24
1031Japan2024-06-12
1032India2024-06-01
1033Argentina2024-06-07
1034Italy2024-06-11
1035Argentina2024-06-10
1036Germany2024-05-27
1037Japan2024-06-10
1038Australia2024-06-10
1039Germany2024-06-17
1040Canada2024-05-24
1041Spain2024-06-08
1042Germany2024-06-07
1043Germany2024-05-27
1044United Kingdom2024-06-02
1045Japan2024-06-09
1046Australia2024-06-09
1047Germany2024-06-19
1048India2024-06-03
1049Spain2024-06-02

On-Demand Data

NameIdCountryDate
Misaki Z Kolmetz1000United Kingdom2024-06-12
Faith B Slusarski1001Germany2024-05-30
Salvatore P Gillian1002Argentina2024-06-09
Kaitlin G Garufi1003United Kingdom2024-06-19
Chavez F Amigon1004Australia2024-05-23
Munro P Kusko1005Argentina2024-06-01
Jones B Butt1006Spain2024-06-14
Rodrigues C Inouye1007Spain2024-06-20
Aruna H Chui1008France2024-06-17
Rodrigues R Malet1009India2024-06-08
Deepesh D Albares1010Russia2024-06-02
Wickens A Tollner1011Argentina2024-05-26
Deepesh C Nicka1012Australia2024-05-27
Leon G Ruta1013Russia2024-06-08
Johnson F Garufi1014Germany2024-06-14
Emily J Flosi1015Argentina2024-06-17
Aika M Briddick1016Brazil2024-06-04
Tony D Malet1017Argentina2024-05-31
Adams P Nestle1018Canada2024-06-19
Murillo P Malet1019Canada2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith X OstroskyAustraliaAmy Elsner NEW
Misaki I GillianGermanyIoni Bowcher QUALIFIED
Emily E ChuiAustraliaAnna Fali NEGOTIATION
Isabel D KuskoUnited KingdomAnna Fali PROPOSAL
Nicolas X FollerItalyStephen Shaw PROPOSAL
Murillo K ButtSpainXuxue Feng UNQUALIFIED
Leja Y SaylorsBrazilAmy Elsner UNQUALIFIED
Cody U NestleCanadaIoni Bowcher PROPOSAL
Jeanfrancois D SergiBrazilElwin Sharvill UNQUALIFIED
Misaki C FollerIndiaIvan Magalhaes RENEWAL
Ivar Y BriddickSpainAnna Fali PROPOSAL
Murillo M StensethFranceBernardo Dominic QUALIFIED
Costa C BowleyCanadaXuxue Feng NEGOTIATION
Ashley F NestleRussiaOnyama Limba NEGOTIATION
Munro L CaudyAustraliaAmy Elsner QUALIFIED
Jennifer Q WhobreyUnited KingdomAsiya Javayant NEW
Octavia L MarrierCanadaAmy Elsner NEW
James R RoysterBrazilOnyama Limba UNQUALIFIED
Aika G DoeRussiaElwin Sharvill QUALIFIED
Chavez P DilliardSpainAmy Elsner NEW
Leon Y WhobreyAustraliaAmy Elsner NEW
Julie M OldroydSpainOnyama Limba NEGOTIATION
Maisha R GauchoGermanyAsiya Javayant NEGOTIATION
Murillo C CaudyGermanyBernardo Dominic RENEWAL
Octavia K GauchoFranceBernardo Dominic QUALIFIED
Aruna N WieserGermanyXuxue Feng QUALIFIED
Deepesh L RutaArgentinaAmy Elsner NEW
Faith N PaprockiArgentinaElwin Sharvill NEW
Costa Y FlosiFranceAmy Elsner NEGOTIATION
Costa B OstroskyBrazilElwin Sharvill NEGOTIATION
Morrow X RimUnited KingdomIvan Magalhaes QUALIFIED
Jeanfrancois M FigeroaArgentinaIvan Magalhaes QUALIFIED
Wickens K ShinkoUnited KingdomXuxue Feng QUALIFIED
Tony G FlosiAustraliaBernardo Dominic UNQUALIFIED
Darci M WhobreyUnited KingdomAnna Fali NEGOTIATION
Ricardo Y NickaCanadaOnyama Limba PROPOSAL
Stacey Y ShinkoJapanAsiya Javayant NEW
Nicolas C GlickAustraliaBernardo Dominic PROPOSAL
Rodrigues P IturbideBrazilElwin Sharvill QUALIFIED
David X MacleadIndiaIvan Magalhaes RENEWAL

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