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
Ashley M MorascaFranceBernardo Dominic UNQUALIFIED
Morrow V CaudyIndiaBernardo Dominic RENEWAL
Mayumi T OldroydArgentinaAnna Fali NEGOTIATION
Johnson P GauchoSpainAsiya Javayant PROPOSAL
Mayumi Q FigeroaSpainOnyama Limba RENEWAL
Stacey H KuskoUnited KingdomOnyama Limba QUALIFIED
Munro C SchemmerUnited KingdomIoni Bowcher NEGOTIATION
David V InouyeGermanyIvan Magalhaes UNQUALIFIED
Morrow M GillianItalyOnyama Limba UNQUALIFIED
Francesco I PoquetteItalyAmy Elsner NEGOTIATION
Emily X CampainAustraliaAnna Fali QUALIFIED
Kadeem P AlbaresArgentinaOnyama Limba NEW
Aruna A WieserItalyIoni Bowcher QUALIFIED
Silvio X VocelkaUnited KingdomAnna Fali QUALIFIED
Faith K ButtJapanXuxue Feng RENEWAL
Munro Y CampainBrazilAsiya Javayant NEW
Aika S SlusarskiRussiaBernardo Dominic NEW
Francesco Q InouyeRussiaStephen Shaw NEGOTIATION
Maisha U AmigonBrazilOnyama Limba NEW
Kadeem X StensethRussiaXuxue Feng QUALIFIED
Maisha Z CaldareraCanadaBernardo Dominic NEGOTIATION
Tony S DarakjyCanadaIoni Bowcher PROPOSAL
Ivar Q ShinkoCanadaAnna Fali NEGOTIATION
Smith K FigeroaArgentinaIvan Magalhaes NEGOTIATION
Jeanfrancois S WieserIndiaAmy Elsner NEW
Johnson Z MarrierFranceAmy Elsner UNQUALIFIED
Greenwood T PerinBrazilXuxue Feng QUALIFIED
Smith H StensethSpainStephen Shaw UNQUALIFIED
Francesco K RimFranceAmy Elsner PROPOSAL
Tony R AmigonIndiaBernardo Dominic NEW
Mujtaba Z SchemmerAustraliaElwin Sharvill PROPOSAL
Octavia B GarufiBrazilXuxue Feng RENEWAL
Johnson R InouyeItalyOnyama Limba PROPOSAL
Leon H TollnerUnited KingdomIoni Bowcher NEGOTIATION
Silvio C PerinSpainElwin Sharvill UNQUALIFIED
Mujtaba K FerenczAustraliaIoni Bowcher NEW
Deepesh Q AmigonUnited KingdomBernardo Dominic NEW
Julie X OstroskyBrazilAnna Fali QUALIFIED
Jones Y OldroydJapanAnna Fali NEGOTIATION
Leon E VocelkaJapanElwin Sharvill UNQUALIFIED
Kadeem H ButtUnited KingdomAsiya Javayant NEGOTIATION
Rodrigues Z ChuiUnited KingdomIoni Bowcher UNQUALIFIED
Mayumi L IturbideSpainStephen Shaw UNQUALIFIED
Wickens K CampainIndiaXuxue Feng NEW
Ivar H NestleAustraliaBernardo Dominic NEGOTIATION
Arvin U RimFranceIoni Bowcher RENEWAL
Maisha I CaldareraGermanyOnyama Limba PROPOSAL
Deepesh V CampainIndiaOnyama Limba UNQUALIFIED
Nicolas C WaycottIndiaAsiya Javayant RENEWAL
Wickens G ChuiFranceXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Kadeem H RutaAustraliaIvan Magalhaes NEW
Ivar I StensethRussiaStephen Shaw NEW
Tony S WaycottJapanStephen Shaw NEW
Costa V GarufiJapanOnyama Limba NEGOTIATION
Alejandro E WhobreyItalyAnna Fali QUALIFIED
Adams D MaletArgentinaAmy Elsner NEW
Rodrigues S RulapaughUnited KingdomOnyama Limba NEW
Morrow N MacleadBrazilAmy Elsner PROPOSAL
James W CaldareraFranceIvan Magalhaes PROPOSAL
Rodrigues Z PaprockiRussiaStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Juan G WhobreyGermany2024-06-03Commercial Press QUALIFIED38Ivan Magalhaes
1001Morrow Q InouyeRussia2024-06-14Feltz Printing Service PROPOSAL0Anna Fali
1002Alejandro G FollerAustralia2024-05-27Truhlar And Truhlar Attys QUALIFIED61Asiya Javayant
1003Kaitlin L MaletBrazil2024-05-26Rangoni Of Florence QUALIFIED73Ioni Bowcher
1004Julie D WieserCanada2024-06-13Printing Dimensions RENEWAL5Elwin Sharvill
1005Aika P SchemmerBrazil2024-06-13Dorl, James J Esq RENEWAL41Onyama Limba
1006Isabel T MacleadRussia2024-06-16Chapman, Ross E Esq PROPOSAL6Ioni Bowcher
1007Smith M TollnerJapan2024-06-08Benton, John B Jr QUALIFIED93Ioni Bowcher
1008James O AmigonFrance2024-06-17Rangoni Of Florence PROPOSAL37Bernardo Dominic
1009Maria A FigeroaBrazil2024-06-02Feltz Printing Service UNQUALIFIED19Anna Fali
1010Stacey F BologniaCanada2024-06-08Morlong Associates RENEWAL1Bernardo Dominic
1011Maisha G GlickSpain2024-06-02Chapman, Ross E Esq RENEWAL95Asiya Javayant
1012Alejandro R GlickBrazil2024-06-20Rangoni Of Florence UNQUALIFIED41Bernardo Dominic
1013Sinclair M KuskoBrazil2024-06-04Feltz Printing Service UNQUALIFIED79Ioni Bowcher
1014Adams H WhobreyCanada2024-06-09Commercial Press PROPOSAL89Bernardo Dominic
1015James Z SlusarskiSpain2024-06-03Chanay, Jeffrey A Esq NEGOTIATION91Xuxue Feng
1016Munro I NickaJapan2024-06-12Rangoni Of Florence QUALIFIED19Amy Elsner
1017Deepesh D WieserItaly2024-06-21Rangoni Of Florence RENEWAL45Ivan Magalhaes
1018Juan Y AlbaresBrazil2024-06-06Feiner Bros UNQUALIFIED41Amy Elsner
1019Johnson G FollerIndia2024-06-16Chanay, Jeffrey A Esq UNQUALIFIED9Asiya Javayant
1020Ivar P MorascaIndia2024-06-03Commercial Press NEW41Xuxue Feng
1021Aditya Q FerenczCanada2024-06-04Benton, John B Jr QUALIFIED72Ioni Bowcher
1022Cody E CaldareraAustralia2024-06-19Benton, John B Jr RENEWAL11Elwin Sharvill
1023Isabel N StensethCanada2024-05-25Dorl, James J Esq NEW36Amy Elsner
1024Faith E InouyeFrance2024-05-29Chapman, Ross E Esq NEW3Ivan Magalhaes
1025Kadeem A OldroydItaly2024-05-31Rousseaux, Michael Esq UNQUALIFIED58Bernardo Dominic
1026Chavez F MaletArgentina2024-06-07Printing Dimensions UNQUALIFIED67Amy Elsner
1027Aditya D DarakjyCanada2024-06-17Feltz Printing Service QUALIFIED84Bernardo Dominic
1028Octavia B GlickSpain2024-05-31Benton, John B Jr RENEWAL30Stephen Shaw
1029Sinclair U CampainAustralia2024-05-27Printing Dimensions RENEWAL95Ivan Magalhaes
1030Ricardo P GillianBrazil2024-06-02Buckley Miller Wright PROPOSAL10Onyama Limba
1031Claire P WhobreyUnited Kingdom2024-06-02Rousseaux, Michael Esq NEW23Amy Elsner
1032Juan S MaletSpain2024-06-05Rangoni Of Florence QUALIFIED84Xuxue Feng
1033Cody B StockhamItaly2024-05-30Truhlar And Truhlar Attys NEW48Bernardo Dominic
1034Mayumi O FerenczJapan2024-06-21Dorl, James J Esq NEGOTIATION61Amy Elsner
1035Ashley Q DilliardAustralia2024-06-18Rousseaux, Michael Esq RENEWAL45Onyama Limba
1036Francesco Y RoysterCanada2024-06-18Chapman, Ross E Esq NEW15Ivan Magalhaes
1037Ricardo R AlbaresArgentina2024-05-25Chemel, James L Cpa QUALIFIED98Stephen Shaw
1038Sinclair G WaycottIndia2024-05-30Buckley Miller Wright QUALIFIED78Asiya Javayant
1039Aika W PaprockiCanada2024-06-14Rangoni Of Florence PROPOSAL1Xuxue Feng
1040Munro Z FigeroaJapan2024-06-01Buckley Miller Wright NEW36Ivan Magalhaes
1041Sinclair O CaudyCanada2024-05-25Chemel, James L Cpa RENEWAL81Xuxue Feng
1042Morrow W RoysterRussia2024-06-03King, Christopher A Esq QUALIFIED1Ioni Bowcher
1043Jones K PoquetteCanada2024-05-25Dorl, James J Esq RENEWAL38Xuxue Feng
1044Alejandro B MaletIndia2024-06-10Chapman, Ross E Esq NEGOTIATION86Bernardo Dominic
1045David Y GlickRussia2024-06-02Benton, John B Jr RENEWAL87Stephen Shaw
1046Antonio O BowleyCanada2024-05-25Printing Dimensions NEW3Ivan Magalhaes
1047Leja J NickaSpain2024-06-19Rangoni Of Florence RENEWAL31Onyama Limba
1048Emily H OldroydAustralia2024-06-14Benton, John B Jr RENEWAL99Elwin Sharvill
1049Misaki T OstroskyJapan2024-05-24King, Christopher A Esq PROPOSAL48Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Ashley N RoysterArgentinaAsiya Javayant UNQUALIFIED
Emily D TollnerSpainAsiya Javayant RENEWAL
Chavez I PaprockiUnited KingdomElwin Sharvill NEGOTIATION
Antonio A IturbideJapanStephen Shaw PROPOSAL
Kaitlin W RimJapanOnyama Limba NEGOTIATION
Ricardo Z BowleyGermanyAnna Fali NEW
Aika B KuskoBrazilIoni Bowcher NEGOTIATION
Adams N WieserAustraliaAsiya Javayant RENEWAL
Jefferson U FlosiRussiaAnna Fali PROPOSAL
Misaki C ButtItalyBernardo Dominic NEW
David O WhobreyGermanyAnna Fali QUALIFIED
Jefferson C OstroskyUnited KingdomXuxue Feng NEW
Kaitlin E GarufiFranceOnyama Limba NEW
Alejandro R CaldareraBrazilAsiya Javayant RENEWAL
Adams A BowleyCanadaAnna Fali NEW
Jeanfrancois S OstroskyArgentinaBernardo Dominic NEW
Sinclair U WieserArgentinaXuxue Feng NEW
Izzy A BologniaAustraliaElwin Sharvill NEGOTIATION
Leja R InouyeItalyAmy Elsner UNQUALIFIED
Leon Z StockhamItalyAsiya Javayant NEGOTIATION
Maisha Z VocelkaIndiaXuxue Feng QUALIFIED
Deepesh Y GillianUnited KingdomStephen Shaw NEGOTIATION
Faith W SchemmerSpainBernardo Dominic NEW
Stacey V SlusarskiAustraliaElwin Sharvill PROPOSAL
Jennifer M BriddickRussiaAmy Elsner QUALIFIED
Octavia E TollnerItalyAsiya Javayant QUALIFIED
Arvin G PaprockiFranceIvan Magalhaes UNQUALIFIED
Nicolas B WaycottSpainXuxue Feng PROPOSAL
Misaki U NestleAustraliaStephen Shaw NEGOTIATION
Jones V OstroskyIndiaBernardo Dominic PROPOSAL
Darci P MacleadItalyIoni Bowcher PROPOSAL
Juan U NickaCanadaBernardo Dominic PROPOSAL
Tony S StockhamArgentinaIvan Magalhaes QUALIFIED
Ashley V VocelkaJapanAsiya Javayant UNQUALIFIED
Aditya G TollnerGermanyElwin Sharvill NEGOTIATION
Faith D CaudyUnited KingdomStephen Shaw RENEWAL
Isabel Y KuskoBrazilElwin Sharvill NEW
Leja F ChuiAustraliaAmy Elsner PROPOSAL
Wickens P MaletIndiaAnna Fali UNQUALIFIED
Greenwood I DilliardBrazilAmy Elsner QUALIFIED
David B OstroskyBrazilAsiya Javayant NEW
Jones M NickaIndiaAnna Fali QUALIFIED
Deepesh D OstroskyJapanAnna Fali QUALIFIED
Morrow C OldroydGermanyIvan Magalhaes QUALIFIED
Ivar E NestleItalyStephen Shaw NEW
James A WaycottBrazilAnna Fali NEW
Ivar Z MorascaFranceIoni Bowcher RENEWAL
Silvio I WaycottBrazilAnna Fali QUALIFIED
Adams C FigeroaGermanyIoni Bowcher PROPOSAL
Tony B MarrierUnited KingdomBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Greenwood R Caldarera
Ashley V Briddick
Chavez V Gillian
Misaki V Butt
Tony G Paprocki
David O Bolognia
Kadeem Z Dilliard
Stacey R Inouye
Claire P Poquette
Kaitlin H Ostrosky
Octavia H Caudy
Ivar A Garufi
Leon L Nestle
Chavez O Maclead
Jeanfrancois O Rulapaugh
Murillo K Schemmer
Ashley O Malet
Claire Y Rim
Emily J Doe
Juan G Venere
Maisha O Waycott
Francesco U Whobrey
James J Morasca
Silvio T Marrier
Jennifer R Briddick
Greenwood S Iturbide
Aika Y Marrier
Costa F Perin
Kadeem L Stenseth
Leon V Saylors
Mayumi U Dilliard
Octavia O Paprocki
Cody E Paprocki
Leja X Garufi
Jeanfrancois X Slusarski
Kadeem D Maclead
Antonio H Doe
Maria C Iturbide
Izzy K Nicka
Antonio B Waycott
Francesco K Kusko
Chavez P Nicka
Juan W Poquette
Costa I Figeroa
Silvio S Tollner
Maria W Shinko
Sinclair Y Doe
Sinclair N Gillian
Kadeem S Rulapaugh
Mujtaba S Paprocki
IdCountryDate
1000Canada2024-05-28
1001Argentina2024-05-24
1002Germany2024-06-07
1003Japan2024-06-16
1004Italy2024-06-20
1005Germany2024-06-17
1006Italy2024-06-11
1007Canada2024-06-08
1008Italy2024-05-28
1009Argentina2024-06-06
1010Germany2024-06-03
1011Russia2024-05-24
1012Germany2024-05-23
1013Spain2024-06-17
1014Australia2024-05-24
1015Brazil2024-05-31
1016Spain2024-06-18
1017Australia2024-06-12
1018Argentina2024-06-18
1019Germany2024-06-07
1020Russia2024-06-08
1021Italy2024-06-05
1022India2024-06-19
1023Russia2024-06-17
1024Italy2024-05-29
1025India2024-06-03
1026United Kingdom2024-06-04
1027Italy2024-05-26
1028Spain2024-06-10
1029Spain2024-05-31
1030Spain2024-06-02
1031Brazil2024-05-28
1032Germany2024-05-25
1033Russia2024-06-10
1034United Kingdom2024-06-16
1035Australia2024-06-06
1036United Kingdom2024-06-19
1037Russia2024-05-27
1038Argentina2024-05-24
1039Russia2024-06-14
1040Italy2024-05-30
1041Germany2024-06-02
1042Italy2024-06-01
1043Spain2024-06-14
1044Canada2024-06-12
1045Russia2024-05-28
1046Italy2024-05-23
1047Germany2024-05-29
1048Germany2024-05-28
1049Germany2024-06-04

On-Demand Data

NameIdCountryDate
Jefferson F Rim1000Italy2024-06-13
James W Ostrosky1001Brazil2024-06-10
Adams I Stockham1002Germany2024-05-25
Clifford U Perin1003Canada2024-05-28
Stacey H Oldroyd1004Australia2024-05-24
Morrow J Albares1005India2024-06-21
Greenwood K Wieser1006Brazil2024-05-30
David A Dilliard1007Italy2024-06-08
Jennifer M Briddick1008Argentina2024-06-08
Octavia P Poquette1009United Kingdom2024-06-07
Arvin Q Briddick1010Russia2024-05-25
Jones I Poquette1011France2024-05-30
Silvio C Waycott1012India2024-05-27
Greenwood D Flosi1013Argentina2024-06-05
Claire P Royster1014Argentina2024-06-21
Alejandro M Kusko1015France2024-06-21
Clifford N Albares1016Germany2024-06-21
Isabel Z Rulapaugh1017India2024-05-24
Wickens M Sergi1018Japan2024-06-02
Claire O Tollner1019France2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson Z WhobreyRussiaAsiya Javayant NEW
Isabel M SlusarskiJapanAsiya Javayant NEGOTIATION
Deepesh C MaletRussiaBernardo Dominic RENEWAL
Maria W NickaAustraliaStephen Shaw UNQUALIFIED
Maria F VocelkaGermanyBernardo Dominic UNQUALIFIED
Misaki N PoquetteFranceAnna Fali NEW
Aruna L BologniaSpainAsiya Javayant UNQUALIFIED
Morrow U KolmetzUnited KingdomAnna Fali NEW
Octavia D GarufiGermanyOnyama Limba PROPOSAL
Jefferson X ShinkoJapanElwin Sharvill PROPOSAL
Smith Y NestleCanadaBernardo Dominic UNQUALIFIED
Ashley R WieserJapanBernardo Dominic PROPOSAL
Aika X BologniaCanadaAnna Fali RENEWAL
Izzy O TollnerAustraliaElwin Sharvill QUALIFIED
Mujtaba E VenereGermanyElwin Sharvill QUALIFIED
Wickens S GillianJapanIvan Magalhaes UNQUALIFIED
Deepesh I BologniaItalyIvan Magalhaes RENEWAL
Sinclair V WaycottJapanAsiya Javayant PROPOSAL
Greenwood B MaletGermanyOnyama Limba RENEWAL
Aruna A RoysterBrazilAsiya Javayant PROPOSAL
Ashley O IturbideCanadaXuxue Feng NEGOTIATION
Salvatore N KolmetzUnited KingdomXuxue Feng PROPOSAL
Silvio E SchemmerArgentinaOnyama Limba QUALIFIED
Arvin P VocelkaAustraliaIvan Magalhaes NEGOTIATION
Leon S OldroydGermanyAmy Elsner NEW
Johnson W IturbideFranceXuxue Feng PROPOSAL
Deepesh B RutaItalyOnyama Limba PROPOSAL
Izzy F WaycottGermanyAmy Elsner PROPOSAL
Izzy S KuskoCanadaBernardo Dominic RENEWAL
James V PaprockiItalyElwin Sharvill NEGOTIATION
Adams A GillianFranceXuxue Feng RENEWAL
Deepesh Y GillianBrazilAmy Elsner RENEWAL
Leon Z SaylorsSpainAmy Elsner UNQUALIFIED
Juan R CaudyJapanXuxue Feng NEGOTIATION
Misaki C NestleArgentinaBernardo Dominic RENEWAL
Ricardo V BowleyFranceXuxue Feng UNQUALIFIED
Munro E MaletFranceElwin Sharvill UNQUALIFIED
Rodrigues P RutaArgentinaIoni Bowcher PROPOSAL
Silvio W NickaFranceIoni Bowcher QUALIFIED
Deepesh E ChuiCanadaIoni Bowcher UNQUALIFIED

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