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
Wickens K SchemmerItalyIoni Bowcher RENEWAL
Ricardo O MaletBrazilAnna Fali NEW
Chavez U CaudyRussiaOnyama Limba NEGOTIATION
Izzy G NestleRussiaXuxue Feng NEGOTIATION
Cody J RutaCanadaElwin Sharvill NEGOTIATION
Mujtaba L KuskoIndiaAsiya Javayant NEW
David K VocelkaCanadaStephen Shaw QUALIFIED
Salvatore D WhobreyJapanOnyama Limba QUALIFIED
Maria X IturbideRussiaAsiya Javayant UNQUALIFIED
Jeanfrancois Z StensethItalyIoni Bowcher QUALIFIED
Silvio R MaletGermanyXuxue Feng UNQUALIFIED
Aika A BologniaAustraliaBernardo Dominic NEGOTIATION
Johnson V GlickJapanBernardo Dominic NEW
Maria P AlbaresFranceOnyama Limba UNQUALIFIED
Alejandro B GillianRussiaOnyama Limba PROPOSAL
Faith A GarufiItalyAsiya Javayant PROPOSAL
Clifford M AmigonItalyXuxue Feng NEGOTIATION
Antonio N NestleUnited KingdomOnyama Limba RENEWAL
Alejandro Z BowleyIndiaIoni Bowcher PROPOSAL
Faith A RulapaughBrazilAnna Fali NEW
Costa I PaprockiItalyOnyama Limba UNQUALIFIED
Aruna V MaletSpainAmy Elsner NEW
Mayumi C FlosiItalyIoni Bowcher QUALIFIED
Silvio G CaudyBrazilAsiya Javayant UNQUALIFIED
Johnson G MorascaUnited KingdomIvan Magalhaes NEW
Jefferson I OstroskyJapanIoni Bowcher QUALIFIED
Izzy A BriddickUnited KingdomAsiya Javayant RENEWAL
Antonio G RutaGermanyOnyama Limba PROPOSAL
Stacey U OstroskyJapanAnna Fali RENEWAL
Johnson G ButtJapanElwin Sharvill NEW
Juan G ShinkoUnited KingdomAmy Elsner NEW
Darci G GillianBrazilStephen Shaw UNQUALIFIED
Stacey C VocelkaJapanIvan Magalhaes QUALIFIED
Isabel F MaletGermanyBernardo Dominic UNQUALIFIED
Octavia B AlbaresSpainAsiya Javayant RENEWAL
Jeanfrancois P FlosiBrazilStephen Shaw QUALIFIED
Costa E PoquetteArgentinaIoni Bowcher NEGOTIATION
Smith B MacleadSpainAnna Fali NEGOTIATION
Adams E ChuiJapanAnna Fali NEW
Morrow A StockhamAustraliaAmy Elsner RENEWAL
Murillo B ShinkoIndiaOnyama Limba UNQUALIFIED
Deepesh C FigeroaArgentinaXuxue Feng NEW
Chavez J PerinBrazilBernardo Dominic RENEWAL
Faith I WieserArgentinaAnna Fali UNQUALIFIED
Izzy Z CaldareraItalyBernardo Dominic RENEWAL
Cody L VocelkaAustraliaOnyama Limba NEGOTIATION
Wickens Q PaprockiArgentinaStephen Shaw QUALIFIED
Jennifer M MacleadBrazilElwin Sharvill PROPOSAL
Silvio Z KolmetzAustraliaIvan Magalhaes QUALIFIED
Aika M OstroskyRussiaStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Jefferson C InouyeRussiaStephen Shaw PROPOSAL
Maria E PerinBrazilStephen Shaw RENEWAL
Juan L StensethJapanAnna Fali PROPOSAL
Adams K DilliardUnited KingdomXuxue Feng NEGOTIATION
Murillo S WieserBrazilIoni Bowcher UNQUALIFIED
Alejandro T ButtSpainOnyama Limba UNQUALIFIED
Morrow J FlosiCanadaBernardo Dominic UNQUALIFIED
Francesco U KuskoJapanOnyama Limba NEW
Julie I MaletSpainAnna Fali UNQUALIFIED
Claire V KuskoIndiaAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore N WaycottRussia2024-05-26Chemel, James L Cpa NEGOTIATION37Ioni Bowcher
1001Jeanfrancois E SlusarskiSpain2024-05-31Chemel, James L Cpa RENEWAL82Bernardo Dominic
1002Mayumi Y RutaSpain2024-06-01King, Christopher A Esq QUALIFIED72Bernardo Dominic
1003Maisha R WieserIndia2024-05-20Printing Dimensions RENEWAL62Ivan Magalhaes
1004Antonio E ChuiIndia2024-06-11Chemel, James L Cpa PROPOSAL18Xuxue Feng
1005Kaitlin A MarrierRussia2024-06-05Feiner Bros QUALIFIED52Stephen Shaw
1006Julie P IturbideRussia2024-06-03Morlong Associates UNQUALIFIED93Bernardo Dominic
1007Tony R OstroskyAustralia2024-05-15Printing Dimensions NEW74Asiya Javayant
1008Silvio V BowleyGermany2024-05-28Rousseaux, Michael Esq NEGOTIATION59Ivan Magalhaes
1009Aruna C TollnerGermany2024-06-01Feltz Printing Service QUALIFIED97Ivan Magalhaes
1010Misaki E FollerGermany2024-06-13Commercial Press QUALIFIED83Ioni Bowcher
1011Octavia A ButtUnited Kingdom2024-06-05King, Christopher A Esq RENEWAL15Onyama Limba
1012Izzy T FerenczFrance2024-06-09Buckley Miller Wright QUALIFIED85Stephen Shaw
1013Salvatore Y SergiJapan2024-05-15Feiner Bros RENEWAL51Asiya Javayant
1014Smith R CampainFrance2024-05-23Benton, John B Jr NEW23Ivan Magalhaes
1015Antonio O AmigonBrazil2024-05-20Commercial Press PROPOSAL23Anna Fali
1016Arvin G OstroskyGermany2024-05-29Chapman, Ross E Esq NEGOTIATION20Onyama Limba
1017Sinclair N StockhamGermany2024-05-29Rousseaux, Michael Esq QUALIFIED10Elwin Sharvill
1018Stacey P GarufiGermany2024-06-09Morlong Associates PROPOSAL8Amy Elsner
1019Ricardo Q KolmetzItaly2024-05-16Chemel, James L Cpa NEW70Amy Elsner
1020Jefferson N PerinCanada2024-06-05Printing Dimensions QUALIFIED24Anna Fali
1021Salvatore E CampainBrazil2024-05-17Dorl, James J Esq NEGOTIATION26Anna Fali
1022Isabel H CaldareraIndia2024-05-31King, Christopher A Esq PROPOSAL91Amy Elsner
1023Kadeem L WhobreyJapan2024-05-17Feiner Bros NEGOTIATION61Xuxue Feng
1024Julie G KolmetzArgentina2024-05-22Printing Dimensions UNQUALIFIED58Onyama Limba
1025Emily N KolmetzUnited Kingdom2024-05-29Dorl, James J Esq RENEWAL61Ioni Bowcher
1026Isabel A RutaIndia2024-05-17Truhlar And Truhlar Attys QUALIFIED84Ivan Magalhaes
1027Stacey U FollerFrance2024-06-02Chanay, Jeffrey A Esq UNQUALIFIED44Ioni Bowcher
1028Octavia N AmigonCanada2024-06-13Feiner Bros RENEWAL91Amy Elsner
1029Juan P CaldareraIndia2024-05-16Commercial Press NEW70Amy Elsner
1030Claire U ChuiCanada2024-06-02Feltz Printing Service RENEWAL28Xuxue Feng
1031Nicolas D SlusarskiItaly2024-06-08Commercial Press NEW20Asiya Javayant
1032Johnson H GlickAustralia2024-06-06Chanay, Jeffrey A Esq RENEWAL5Bernardo Dominic
1033Isabel A MaletArgentina2024-05-18Truhlar And Truhlar Attys QUALIFIED1Asiya Javayant
1034Kaitlin X MaletJapan2024-05-23Printing Dimensions NEGOTIATION52Asiya Javayant
1035Octavia H StensethUnited Kingdom2024-05-16Feltz Printing Service PROPOSAL70Xuxue Feng
1036Emily G AlbaresGermany2024-05-28Chanay, Jeffrey A Esq PROPOSAL91Xuxue Feng
1037Stacey U ButtFrance2024-05-16Chapman, Ross E Esq PROPOSAL67Asiya Javayant
1038Smith S ShinkoCanada2024-06-12Chapman, Ross E Esq NEW84Onyama Limba
1039Aditya J CampainFrance2024-05-20Feltz Printing Service QUALIFIED70Bernardo Dominic
1040Morrow A MaletIndia2024-05-30Rangoni Of Florence NEGOTIATION72Ioni Bowcher
1041Jeanfrancois S SchemmerRussia2024-05-28Chapman, Ross E Esq UNQUALIFIED8Elwin Sharvill
1042David P SergiRussia2024-05-16Chemel, James L Cpa QUALIFIED65Asiya Javayant
1043Johnson S PerinFrance2024-05-27Chanay, Jeffrey A Esq RENEWAL68Elwin Sharvill
1044Mayumi E BowleyIndia2024-05-31Morlong Associates NEW27Onyama Limba
1045Misaki K GauchoSpain2024-06-04Rousseaux, Michael Esq RENEWAL37Asiya Javayant
1046Nicolas R MaletBrazil2024-06-05Rousseaux, Michael Esq UNQUALIFIED13Stephen Shaw
1047Isabel P SergiArgentina2024-05-27Printing Dimensions UNQUALIFIED85Elwin Sharvill
1048James E SchemmerRussia2024-05-17Feiner Bros PROPOSAL22Amy Elsner
1049Aika M DarakjyAustralia2024-05-29Chemel, James L Cpa QUALIFIED67Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Aika A MaletUnited KingdomIoni Bowcher RENEWAL
Costa X VocelkaArgentinaAnna Fali PROPOSAL
Jeanfrancois N WhobreyBrazilBernardo Dominic QUALIFIED
Julie R GarufiRussiaIvan Magalhaes RENEWAL
Clifford G InouyeSpainIoni Bowcher RENEWAL
Francesco V GauchoCanadaIoni Bowcher QUALIFIED
Silvio D MaletRussiaStephen Shaw QUALIFIED
David I WaycottGermanyAnna Fali QUALIFIED
Leon W IturbideJapanXuxue Feng QUALIFIED
Nicolas T NestleCanadaXuxue Feng UNQUALIFIED
Juan O FollerCanadaXuxue Feng PROPOSAL
Darci Z RoysterGermanyIvan Magalhaes PROPOSAL
Chavez U WieserBrazilXuxue Feng RENEWAL
Darci L OstroskyArgentinaAsiya Javayant RENEWAL
Greenwood O SergiCanadaIoni Bowcher RENEWAL
Izzy E TollnerJapanBernardo Dominic PROPOSAL
Aditya P CampainIndiaAsiya Javayant PROPOSAL
Darci Q KuskoJapanIvan Magalhaes QUALIFIED
Emily T KolmetzItalyIvan Magalhaes QUALIFIED
Leja Z BriddickGermanyAsiya Javayant RENEWAL
Leon M StockhamFranceStephen Shaw QUALIFIED
Misaki T BologniaFranceAnna Fali RENEWAL
Greenwood G RoysterArgentinaIvan Magalhaes QUALIFIED
Mayumi A FlosiCanadaIoni Bowcher NEGOTIATION
Kadeem R MacleadArgentinaElwin Sharvill RENEWAL
Julie V TollnerCanadaAmy Elsner NEGOTIATION
Aditya C ShinkoCanadaOnyama Limba NEW
Kaitlin U NickaRussiaBernardo Dominic NEW
Ricardo Y InouyeBrazilAmy Elsner QUALIFIED
Jennifer X SchemmerGermanyElwin Sharvill NEGOTIATION
Murillo X RoysterItalyBernardo Dominic NEGOTIATION
Chavez X SchemmerAustraliaBernardo Dominic PROPOSAL
Juan C CaldareraItalyBernardo Dominic NEW
Leon J GauchoFranceElwin Sharvill QUALIFIED
Leja S CaldareraAustraliaAnna Fali NEGOTIATION
Ivar N ShinkoGermanyIvan Magalhaes RENEWAL
Chavez V IturbideCanadaStephen Shaw RENEWAL
Maria S BowleyCanadaStephen Shaw NEGOTIATION
Smith L AlbaresItalyBernardo Dominic UNQUALIFIED
Isabel S ChuiRussiaIvan Magalhaes NEGOTIATION
Deepesh L AmigonUnited KingdomAsiya Javayant NEW
Murillo O RimGermanyIvan Magalhaes NEW
Jones G VocelkaFranceBernardo Dominic UNQUALIFIED
Julie W SchemmerBrazilOnyama Limba UNQUALIFIED
Octavia B GauchoGermanyAsiya Javayant NEW
Costa L MorascaItalyAnna Fali RENEWAL
Octavia P DilliardUnited KingdomAsiya Javayant RENEWAL
Tony Z AlbaresRussiaElwin Sharvill NEW
Emily I RimIndiaAsiya Javayant PROPOSAL
Mayumi W ChuiUnited KingdomXuxue Feng NEW
Frozen Columns
Name
Maria S Malet
Silvio V Perin
Juan M Glick
Kadeem L Stockham
Izzy L Briddick
Deepesh D Flosi
Munro X Rim
Mujtaba Q Briddick
David X Bolognia
Misaki S Sergi
Ashley K Briddick
Costa U Saylors
Kadeem P Foller
Ricardo H Gaucho
Francesco R Shinko
Maria F Poquette
Faith B Kusko
Maisha B Bolognia
Mayumi A Malet
Adams P Malet
Sinclair T Slusarski
Adams I Amigon
Rodrigues R Doe
Costa S Kolmetz
Juan Y Ostrosky
Munro A Vocelka
Izzy H Campain
Wickens X Ruta
Munro N Flosi
Silvio R Slusarski
Aditya K Figeroa
Stacey Q Albares
Aruna P Gaucho
Jefferson U Stenseth
Silvio X Schemmer
Aruna Q Briddick
Jennifer M Figeroa
Ricardo L Gaucho
Greenwood X Glick
Claire X Wieser
Leon M Stockham
Antonio K Rulapaugh
Julie R Nicka
Maria G Bolognia
Stacey N Rulapaugh
Isabel W Kolmetz
Munro M Albares
Aika Q Slusarski
Claire R Ruta
Jones Q Foller
IdCountryDate
1000United Kingdom2024-06-13
1001United Kingdom2024-06-10
1002Argentina2024-05-22
1003Australia2024-05-20
1004Brazil2024-06-07
1005India2024-05-22
1006India2024-06-13
1007Brazil2024-05-31
1008Brazil2024-06-05
1009Spain2024-06-11
1010Italy2024-05-21
1011Canada2024-05-20
1012Italy2024-05-29
1013India2024-06-04
1014Germany2024-05-17
1015Brazil2024-05-15
1016India2024-05-29
1017Spain2024-05-26
1018Italy2024-05-16
1019Russia2024-05-24
1020Italy2024-06-01
1021Japan2024-06-13
1022Australia2024-06-13
1023Spain2024-05-20
1024France2024-05-26
1025India2024-05-16
1026Spain2024-06-02
1027Canada2024-05-26
1028Russia2024-06-13
1029India2024-05-26
1030Australia2024-06-03
1031Germany2024-06-09
1032Australia2024-05-30
1033United Kingdom2024-06-06
1034Italy2024-06-06
1035Australia2024-06-09
1036India2024-05-21
1037Japan2024-05-24
1038Argentina2024-05-24
1039Germany2024-05-30
1040Argentina2024-05-29
1041Russia2024-06-01
1042United Kingdom2024-05-28
1043Australia2024-05-24
1044Japan2024-06-05
1045Japan2024-05-19
1046Argentina2024-06-06
1047Brazil2024-06-13
1048Australia2024-05-17
1049Japan2024-06-08

On-Demand Data

NameIdCountryDate
Maisha U Flosi1000Italy2024-06-02
Silvio V Sergi1001France2024-05-21
Greenwood R Venere1002Spain2024-05-19
Octavia E Doe1003United Kingdom2024-06-08
Jefferson V Whobrey1004Australia2024-06-11
Izzy N Perin1005United Kingdom2024-06-01
Francesco R Rim1006Brazil2024-06-12
Leon G Butt1007Australia2024-05-26
Salvatore M Bolognia1008France2024-06-13
Smith H Foller1009France2024-06-13
David G Sergi1010Spain2024-05-19
Costa C Doe1011Australia2024-05-21
Juan X Amigon1012Canada2024-06-13
Antonio B Inouye1013India2024-06-03
Jennifer I Amigon1014France2024-05-29
Isabel P Darakjy1015Germany2024-05-18
Morrow P Flosi1016Germany2024-05-20
Aditya C Darakjy1017Brazil2024-06-05
Ashley F Maclead1018Canada2024-06-11
Morrow O Marrier1019Germany2024-05-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Costa T ShinkoIndiaXuxue Feng NEGOTIATION
Jennifer X GillianItalyElwin Sharvill NEW
Ashley V KolmetzGermanyIvan Magalhaes NEGOTIATION
Kadeem O ButtUnited KingdomOnyama Limba NEW
Alejandro C WaycottGermanyAnna Fali QUALIFIED
Aika P SaylorsGermanyAmy Elsner PROPOSAL
Aika Z DilliardJapanAmy Elsner NEW
Johnson A ShinkoRussiaIoni Bowcher UNQUALIFIED
Rodrigues T DilliardRussiaAsiya Javayant UNQUALIFIED
Nicolas Y VocelkaArgentinaAsiya Javayant NEW
Julie B BriddickAustraliaAsiya Javayant PROPOSAL
Nicolas Y FlosiArgentinaAnna Fali NEW
Darci N GauchoJapanAsiya Javayant NEW
Darci O CaudyCanadaAmy Elsner UNQUALIFIED
Adams R MaletSpainIvan Magalhaes UNQUALIFIED
Jefferson C SchemmerBrazilAnna Fali NEW
Silvio G ChuiSpainXuxue Feng RENEWAL
Jennifer J ShinkoJapanXuxue Feng QUALIFIED
Antonio N ShinkoCanadaIoni Bowcher PROPOSAL
Johnson B MaletIndiaIvan Magalhaes RENEWAL
Isabel C VocelkaFranceOnyama Limba QUALIFIED
Clifford B SaylorsFranceAnna Fali RENEWAL
Morrow Q KuskoRussiaXuxue Feng NEW
Faith B GauchoSpainElwin Sharvill NEW
Clifford P VenereUnited KingdomOnyama Limba PROPOSAL
Chavez I VocelkaIndiaXuxue Feng PROPOSAL
Alejandro T StensethSpainElwin Sharvill NEGOTIATION
Ashley O OldroydFranceElwin Sharvill QUALIFIED
Francesco P RulapaughAustraliaElwin Sharvill RENEWAL
Isabel W ChuiItalyBernardo Dominic QUALIFIED
Jeanfrancois O WaycottArgentinaBernardo Dominic PROPOSAL
Rodrigues H SaylorsIndiaAsiya Javayant QUALIFIED
Aika R MaletArgentinaXuxue Feng UNQUALIFIED
Murillo P RimCanadaBernardo Dominic PROPOSAL
Smith M ShinkoItalyAmy Elsner UNQUALIFIED
Julie O MaletAustraliaElwin Sharvill RENEWAL
Ashley W FollerArgentinaIvan Magalhaes NEGOTIATION
Jefferson S GillianItalyIoni Bowcher UNQUALIFIED
Darci S RulapaughJapanStephen Shaw RENEWAL
Cody F MaletRussiaAsiya Javayant PROPOSAL

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