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
Stacey U FollerCanadaIoni Bowcher NEW
James T NickaGermanyElwin Sharvill PROPOSAL
Rodrigues J BologniaItalyBernardo Dominic QUALIFIED
David A BologniaGermanyOnyama Limba RENEWAL
Nicolas B NickaBrazilElwin Sharvill QUALIFIED
Aruna A DarakjyRussiaIvan Magalhaes PROPOSAL
Stacey G CaldareraRussiaBernardo Dominic RENEWAL
Munro S RimRussiaXuxue Feng RENEWAL
Sinclair Z GauchoJapanIvan Magalhaes NEGOTIATION
Jeanfrancois Z StockhamIndiaAsiya Javayant NEW
Isabel Z SlusarskiIndiaAsiya Javayant RENEWAL
Julie R MorascaItalyAmy Elsner PROPOSAL
Munro P BriddickBrazilIoni Bowcher NEW
Octavia U FollerIndiaAnna Fali QUALIFIED
Maisha F WhobreyJapanAsiya Javayant UNQUALIFIED
Salvatore Q GarufiSpainStephen Shaw PROPOSAL
Alejandro N DarakjyItalyElwin Sharvill PROPOSAL
Izzy P KuskoItalyXuxue Feng PROPOSAL
Smith D GauchoGermanyIvan Magalhaes RENEWAL
Jeanfrancois X WhobreyUnited KingdomOnyama Limba PROPOSAL
Aruna D VenereIndiaAnna Fali UNQUALIFIED
Alejandro Z FlosiItalyXuxue Feng PROPOSAL
Costa J NickaItalyAnna Fali RENEWAL
Ivar F WhobreyArgentinaIvan Magalhaes NEW
Tony W DilliardArgentinaAsiya Javayant RENEWAL
Arvin T SergiAustraliaIvan Magalhaes UNQUALIFIED
Clifford J KuskoIndiaAnna Fali PROPOSAL
Ivar B FigeroaJapanXuxue Feng QUALIFIED
Leja I DarakjyCanadaStephen Shaw RENEWAL
Darci G AmigonItalyXuxue Feng RENEWAL
Jefferson C PoquetteAustraliaAsiya Javayant QUALIFIED
Kaitlin W BologniaIndiaAnna Fali NEW
Leja J DarakjyAustraliaAsiya Javayant UNQUALIFIED
Antonio G CampainBrazilAsiya Javayant NEGOTIATION
Maria K IturbideBrazilAmy Elsner QUALIFIED
Stacey Z StensethCanadaXuxue Feng NEW
Sinclair C FerenczFranceAnna Fali NEGOTIATION
Jones T RoysterArgentinaBernardo Dominic UNQUALIFIED
Jeanfrancois I FerenczGermanyXuxue Feng RENEWAL
Mayumi K KolmetzUnited KingdomStephen Shaw PROPOSAL
Arvin C ButtGermanyIoni Bowcher RENEWAL
Chavez C ShinkoSpainXuxue Feng RENEWAL
Ivar X SlusarskiSpainXuxue Feng NEW
Ivar M PerinSpainAnna Fali UNQUALIFIED
Chavez P CaldareraCanadaBernardo Dominic UNQUALIFIED
Wickens Y MaletJapanElwin Sharvill NEW
Smith K GauchoIndiaOnyama Limba PROPOSAL
David S GauchoUnited KingdomBernardo Dominic UNQUALIFIED
Wickens N BowleyItalyBernardo Dominic UNQUALIFIED
Ivar E FerenczGermanyIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Morrow R WhobreyRussiaAnna Fali PROPOSAL
Maisha Y RoysterCanadaElwin Sharvill RENEWAL
Kaitlin M DilliardCanadaElwin Sharvill RENEWAL
Johnson H MaletUnited KingdomOnyama Limba QUALIFIED
Ivar G KuskoJapanElwin Sharvill RENEWAL
Arvin I GarufiBrazilBernardo Dominic UNQUALIFIED
Jeanfrancois K FlosiArgentinaBernardo Dominic QUALIFIED
Aika E ChuiJapanBernardo Dominic RENEWAL
Aika O OstroskyItalyOnyama Limba PROPOSAL
Misaki B GauchoUnited KingdomXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro O FigeroaArgentina2024-05-21Printing Dimensions NEW83Stephen Shaw
1001Arvin A WhobreyGermany2024-05-20Commercial Press NEGOTIATION61Ivan Magalhaes
1002Smith C WhobreyBrazil2024-05-18Benton, John B Jr RENEWAL21Amy Elsner
1003Maisha N FlosiBrazil2024-04-28Commercial Press PROPOSAL13Ivan Magalhaes
1004Tony R IturbideCanada2024-05-15Chanay, Jeffrey A Esq RENEWAL75Xuxue Feng
1005Kadeem U DarakjyBrazil2024-05-18Feiner Bros RENEWAL52Xuxue Feng
1006Julie I SchemmerArgentina2024-05-23Commercial Press NEGOTIATION46Ioni Bowcher
1007Faith N IturbideUnited Kingdom2024-05-23Chapman, Ross E Esq NEGOTIATION97Xuxue Feng
1008Costa P BowleyCanada2024-05-01Rousseaux, Michael Esq NEW82Xuxue Feng
1009Darci S GillianSpain2024-05-24Commercial Press NEW78Ivan Magalhaes
1010Antonio H GauchoSpain2024-05-16Feltz Printing Service RENEWAL18Asiya Javayant
1011Jones B MacleadFrance2024-05-25Benton, John B Jr RENEWAL32Amy Elsner
1012Jefferson R RutaJapan2024-05-01Morlong Associates RENEWAL20Anna Fali
1013Misaki S RulapaughItaly2024-05-08Morlong Associates NEW61Elwin Sharvill
1014Jennifer J VenereJapan2024-05-20Printing Dimensions PROPOSAL76Bernardo Dominic
1015Juan W PerinGermany2024-05-20Dorl, James J Esq UNQUALIFIED49Xuxue Feng
1016Murillo B KolmetzJapan2024-05-23Dorl, James J Esq PROPOSAL33Elwin Sharvill
1017Darci V BowleyGermany2024-05-25Feltz Printing Service PROPOSAL4Elwin Sharvill
1018Jefferson R MarrierAustralia2024-05-06Rangoni Of Florence NEW43Ioni Bowcher
1019Johnson C BologniaFrance2024-04-29Rousseaux, Michael Esq NEW32Anna Fali
1020Kadeem I PerinRussia2024-04-29Printing Dimensions UNQUALIFIED31Anna Fali
1021Ashley L PaprockiIndia2024-05-07Printing Dimensions RENEWAL66Ivan Magalhaes
1022Mujtaba D AlbaresFrance2024-05-10Buckley Miller Wright RENEWAL5Stephen Shaw
1023Alejandro S IturbideCanada2024-05-16Rangoni Of Florence NEW21Xuxue Feng
1024Silvio B DoeBrazil2024-05-18Chapman, Ross E Esq NEW64Stephen Shaw
1025Deepesh I PaprockiBrazil2024-05-12Printing Dimensions PROPOSAL12Ioni Bowcher
1026Johnson G MarrierBrazil2024-05-17Rousseaux, Michael Esq UNQUALIFIED19Ioni Bowcher
1027David W PaprockiGermany2024-04-29Benton, John B Jr NEGOTIATION70Ivan Magalhaes
1028Emily W MacleadRussia2024-05-21Rangoni Of Florence UNQUALIFIED92Amy Elsner
1029Kaitlin D InouyeUnited Kingdom2024-05-04Chanay, Jeffrey A Esq PROPOSAL90Asiya Javayant
1030Rodrigues D AmigonRussia2024-05-02Chemel, James L Cpa NEW41Anna Fali
1031Darci E ShinkoBrazil2024-05-21Benton, John B Jr PROPOSAL89Asiya Javayant
1032Mujtaba O DilliardRussia2024-05-15Morlong Associates NEW15Bernardo Dominic
1033Kadeem D VenereAustralia2024-05-27Truhlar And Truhlar Attys NEW72Ioni Bowcher
1034Silvio T FerenczIndia2024-05-02Dorl, James J Esq UNQUALIFIED85Ioni Bowcher
1035Leon W RulapaughItaly2024-05-16Rousseaux, Michael Esq PROPOSAL79Ioni Bowcher
1036Salvatore L RutaArgentina2024-05-27Feltz Printing Service RENEWAL21Ioni Bowcher
1037Antonio U PaprockiArgentina2024-05-08Dorl, James J Esq PROPOSAL63Amy Elsner
1038Cody N MacleadBrazil2024-05-14Chapman, Ross E Esq NEGOTIATION66Asiya Javayant
1039Johnson Y DilliardSpain2024-05-25Feiner Bros QUALIFIED39Ivan Magalhaes
1040Darci A NestleJapan2024-05-14King, Christopher A Esq NEGOTIATION38Xuxue Feng
1041Johnson Y StensethJapan2024-05-06Morlong Associates QUALIFIED0Onyama Limba
1042David V NickaBrazil2024-05-20Dorl, James J Esq UNQUALIFIED74Stephen Shaw
1043Jennifer J ChuiArgentina2024-05-06Benton, John B Jr PROPOSAL0Xuxue Feng
1044Chavez E GlickRussia2024-05-11Feltz Printing Service UNQUALIFIED45Amy Elsner
1045Maisha I MacleadCanada2024-05-27Dorl, James J Esq QUALIFIED30Elwin Sharvill
1046Murillo X PaprockiUnited Kingdom2024-05-05Feiner Bros PROPOSAL9Stephen Shaw
1047Munro P DilliardArgentina2024-05-03King, Christopher A Esq UNQUALIFIED28Elwin Sharvill
1048Jones Z RutaGermany2024-05-15Truhlar And Truhlar Attys RENEWAL92Bernardo Dominic
1049Johnson X SchemmerRussia2024-05-19Benton, John B Jr UNQUALIFIED85Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Antonio S TollnerCanadaIoni Bowcher QUALIFIED
Maisha W MorascaAustraliaAnna Fali UNQUALIFIED
Francesco T OstroskyUnited KingdomAsiya Javayant NEW
Ricardo D SergiUnited KingdomIvan Magalhaes QUALIFIED
Octavia C NestleRussiaBernardo Dominic NEW
Johnson W PaprockiFranceAsiya Javayant NEW
Sinclair O OldroydJapanAmy Elsner PROPOSAL
Jennifer M GillianSpainXuxue Feng PROPOSAL
Silvio G DilliardArgentinaAmy Elsner NEGOTIATION
Kaitlin L FlosiAustraliaIoni Bowcher RENEWAL
Tony O IturbideItalyAmy Elsner PROPOSAL
Ashley L CampainUnited KingdomStephen Shaw NEW
Adams I MorascaJapanIoni Bowcher QUALIFIED
Jones W DilliardAustraliaOnyama Limba NEW
Arvin T CaudyUnited KingdomStephen Shaw PROPOSAL
Cody M ButtFranceAmy Elsner UNQUALIFIED
Aruna W IturbideBrazilAmy Elsner RENEWAL
Rodrigues N CampainCanadaIvan Magalhaes NEW
Sinclair A VocelkaGermanyXuxue Feng RENEWAL
Johnson A SlusarskiRussiaStephen Shaw NEW
Darci Y RutaArgentinaAmy Elsner NEW
Cody S OldroydItalyIvan Magalhaes NEW
Isabel G GlickUnited KingdomBernardo Dominic NEGOTIATION
Aruna V GarufiItalyBernardo Dominic QUALIFIED
Chavez V PaprockiUnited KingdomXuxue Feng NEW
Francesco M WhobreyFranceAsiya Javayant PROPOSAL
Adams L FlosiJapanStephen Shaw RENEWAL
Jennifer F NestleArgentinaAmy Elsner RENEWAL
Jefferson N BriddickBrazilElwin Sharvill UNQUALIFIED
James Y SlusarskiJapanBernardo Dominic NEGOTIATION
Mayumi Q NickaSpainAsiya Javayant NEW
Mayumi B StockhamBrazilElwin Sharvill PROPOSAL
Tony K TollnerCanadaBernardo Dominic NEW
Wickens G FigeroaFranceIoni Bowcher NEW
Jeanfrancois Z NestleBrazilBernardo Dominic PROPOSAL
Johnson Z MaletArgentinaBernardo Dominic PROPOSAL
Maria Z OstroskySpainElwin Sharvill QUALIFIED
Julie V NestleGermanyElwin Sharvill PROPOSAL
Wickens Q StockhamUnited KingdomAnna Fali UNQUALIFIED
Smith J NickaBrazilAmy Elsner PROPOSAL
Greenwood R BologniaItalyOnyama Limba UNQUALIFIED
Leja I MaletArgentinaOnyama Limba PROPOSAL
Jennifer P BologniaFranceIoni Bowcher RENEWAL
Jeanfrancois I BriddickGermanyBernardo Dominic QUALIFIED
Mayumi E AlbaresGermanyAsiya Javayant UNQUALIFIED
Maisha Z ButtArgentinaElwin Sharvill QUALIFIED
Leon P WaycottGermanyElwin Sharvill UNQUALIFIED
Arvin H GarufiBrazilAnna Fali UNQUALIFIED
Salvatore G GlickAustraliaIoni Bowcher NEW
Ashley H MaletBrazilElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Jones H Caldarera
Deepesh F Amigon
David R Rulapaugh
Darci P Tollner
Faith Y Marrier
Mujtaba Q Gaucho
Clifford X Bowley
Nicolas Y Rulapaugh
Chavez K Marrier
Wickens Y Royster
Deepesh U Tollner
Ivar K Oldroyd
Greenwood W Venere
Stacey T Briddick
David V Bowley
David F Morasca
Nicolas W Bolognia
Cody G Bowley
Nicolas V Gaucho
Arvin O Venere
Tony O Slusarski
Mujtaba Y Dilliard
Claire Q Iturbide
Leja I Shinko
Octavia K Nestle
Jones J Paprocki
Darci H Darakjy
Murillo O Rim
Ricardo O Rim
Costa C Iturbide
Sinclair S Rim
Kadeem V Waycott
Octavia T Bolognia
Adams N Albares
Faith E Bowley
Emily S Malet
Leon E Chui
Deepesh F Rim
Costa G Sergi
Aditya F Kusko
Darci L Perin
Jefferson I Wieser
Kadeem K Maclead
Nicolas U Foller
Aika T Inouye
Aruna P Foller
Francesco K Royster
Kaitlin I Slusarski
James B Malet
Jefferson R Ferencz
IdCountryDate
1000Germany2024-05-13
1001Spain2024-05-04
1002Brazil2024-05-19
1003Italy2024-05-26
1004Canada2024-05-11
1005Russia2024-04-28
1006Italy2024-05-08
1007India2024-05-24
1008Japan2024-05-27
1009Australia2024-05-17
1010Italy2024-05-17
1011United Kingdom2024-05-19
1012Brazil2024-05-08
1013Germany2024-05-25
1014Germany2024-05-03
1015Russia2024-05-21
1016Australia2024-05-08
1017Australia2024-05-04
1018Japan2024-05-08
1019Germany2024-05-24
1020Brazil2024-05-11
1021Australia2024-05-25
1022Japan2024-05-19
1023Canada2024-05-13
1024Italy2024-05-27
1025France2024-05-16
1026Italy2024-05-18
1027Spain2024-04-28
1028United Kingdom2024-05-17
1029Brazil2024-05-21
1030India2024-04-29
1031India2024-05-21
1032Germany2024-05-07
1033United Kingdom2024-05-20
1034Canada2024-05-20
1035India2024-05-25
1036France2024-05-15
1037Russia2024-05-03
1038Japan2024-05-04
1039Australia2024-05-07
1040Spain2024-05-02
1041Italy2024-05-04
1042Germany2024-05-21
1043Canada2024-05-05
1044France2024-05-10
1045Australia2024-05-19
1046Germany2024-05-02
1047Brazil2024-05-03
1048Germany2024-05-09
1049Spain2024-05-20

On-Demand Data

NameIdCountryDate
Jeanfrancois N Sergi1000Italy2024-05-20
Arvin U Schemmer1001France2024-05-20
Greenwood G Sergi1002Brazil2024-05-20
Izzy I Inouye1003Italy2024-05-08
David B Doe1004United Kingdom2024-05-16
Faith T Malet1005Russia2024-05-23
Isabel I Waycott1006Japan2024-05-01
Aditya F Figeroa1007India2024-05-17
Julie O Campain1008Germany2024-05-19
Munro H Ostrosky1009Japan2024-05-12
Adams P Kusko1010Germany2024-05-08
Silvio P Morasca1011Canada2024-04-28
Ashley K Stenseth1012Russia2024-05-18
Leon K Doe1013Argentina2024-05-18
Juan O Butt1014Germany2024-05-09
Salvatore O Malet1015Australia2024-04-29
Rodrigues A Poquette1016Canada2024-04-30
Antonio M Vocelka1017Australia2024-04-29
Julie V Paprocki1018France2024-05-27
Aika D Oldroyd1019United Kingdom2024-05-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily J MorascaGermanyXuxue Feng PROPOSAL
Antonio M OldroydAustraliaIvan Magalhaes PROPOSAL
Alejandro K RimGermanyBernardo Dominic NEGOTIATION
Deepesh Q CampainBrazilAmy Elsner QUALIFIED
Sinclair Q MaletFranceAnna Fali RENEWAL
Juan B RimIndiaBernardo Dominic NEW
Adams J ShinkoUnited KingdomXuxue Feng UNQUALIFIED
Murillo Z WhobreyIndiaAmy Elsner PROPOSAL
Murillo J OldroydFranceElwin Sharvill NEW
Ivar C StockhamIndiaIvan Magalhaes PROPOSAL
Ashley O DoeItalyXuxue Feng NEW
Murillo Z DilliardGermanyStephen Shaw PROPOSAL
Leon M WaycottBrazilAsiya Javayant NEGOTIATION
Aika K DilliardIndiaAsiya Javayant NEW
Johnson V CaldareraCanadaAnna Fali NEGOTIATION
Octavia R GillianSpainBernardo Dominic PROPOSAL
Isabel F InouyeGermanyIvan Magalhaes NEW
Francesco A PerinAustraliaOnyama Limba NEGOTIATION
Izzy M PoquetteBrazilOnyama Limba NEW
Jennifer P ChuiBrazilStephen Shaw RENEWAL
Kadeem A DarakjyAustraliaElwin Sharvill QUALIFIED
Emily S BologniaGermanyIoni Bowcher NEW
Jefferson H PerinAustraliaBernardo Dominic RENEWAL
Nicolas S PoquetteBrazilIvan Magalhaes NEW
Arvin Y FerenczFranceElwin Sharvill QUALIFIED
Francesco M KuskoArgentinaAmy Elsner NEGOTIATION
Cody V AlbaresFranceOnyama Limba UNQUALIFIED
Clifford R RutaIndiaElwin Sharvill NEW
Mayumi R OstroskyArgentinaAsiya Javayant PROPOSAL
Faith Z SchemmerFranceAsiya Javayant QUALIFIED
Murillo K RoysterCanadaIoni Bowcher NEGOTIATION
Murillo I TollnerSpainAmy Elsner NEW
Francesco G CampainSpainXuxue Feng RENEWAL
Smith J RoysterArgentinaXuxue Feng UNQUALIFIED
Silvio X MarrierBrazilOnyama Limba NEGOTIATION
Stacey A NickaItalyAmy Elsner NEW
Emily Y SlusarskiAustraliaAsiya Javayant QUALIFIED
Wickens D SchemmerBrazilAnna Fali RENEWAL
Chavez J FollerUnited KingdomOnyama Limba QUALIFIED
Jones F RulapaughSpainAmy Elsner QUALIFIED

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