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
Ivar A StockhamIndiaAnna Fali UNQUALIFIED
Emily Q FerenczCanadaElwin Sharvill UNQUALIFIED
Tony N ChuiJapanElwin Sharvill NEGOTIATION
Mayumi X NickaUnited KingdomIoni Bowcher PROPOSAL
Adams V SlusarskiFranceElwin Sharvill NEW
Mayumi Z RoysterCanadaAnna Fali NEW
Antonio Q WaycottRussiaAsiya Javayant NEW
Morrow T StensethGermanyIoni Bowcher UNQUALIFIED
Greenwood V MarrierSpainBernardo Dominic PROPOSAL
David I RimSpainAnna Fali UNQUALIFIED
Silvio F FigeroaRussiaIvan Magalhaes PROPOSAL
Aruna Y CaldareraGermanyAsiya Javayant QUALIFIED
Stacey V ButtCanadaAsiya Javayant UNQUALIFIED
Isabel T SchemmerIndiaAsiya Javayant PROPOSAL
Maria R SergiFranceIvan Magalhaes PROPOSAL
Rodrigues Q MorascaBrazilAsiya Javayant RENEWAL
Jones R FollerFranceAsiya Javayant PROPOSAL
Mujtaba L FerenczJapanStephen Shaw UNQUALIFIED
Jefferson Z GlickAustraliaXuxue Feng QUALIFIED
Izzy L StensethRussiaAsiya Javayant PROPOSAL
Murillo P PerinUnited KingdomElwin Sharvill NEW
Costa E NestleFranceAnna Fali PROPOSAL
Greenwood H MorascaUnited KingdomAsiya Javayant NEW
Silvio S CaldareraBrazilStephen Shaw RENEWAL
Johnson X VocelkaFranceBernardo Dominic NEW
Alejandro V OstroskyRussiaIoni Bowcher UNQUALIFIED
Greenwood G SergiJapanAmy Elsner QUALIFIED
Aruna K VenereGermanyIvan Magalhaes PROPOSAL
Costa A SlusarskiItalyIoni Bowcher QUALIFIED
Johnson V BriddickCanadaIoni Bowcher PROPOSAL
Munro I AlbaresGermanyXuxue Feng UNQUALIFIED
Silvio K StockhamGermanyOnyama Limba PROPOSAL
Cody I FollerItalyIoni Bowcher NEW
Adams H MarrierFranceAmy Elsner RENEWAL
Octavia R BriddickArgentinaOnyama Limba RENEWAL
Aika U WaycottItalyStephen Shaw NEW
Deepesh Y StockhamRussiaAmy Elsner QUALIFIED
Costa Y OldroydCanadaAsiya Javayant NEW
Jeanfrancois X NickaGermanyAmy Elsner QUALIFIED
Claire X BologniaFranceElwin Sharvill NEW
Leja N WhobreyRussiaStephen Shaw RENEWAL
James X FigeroaGermanyXuxue Feng PROPOSAL
Aruna C AlbaresIndiaElwin Sharvill RENEWAL
Juan K MaletAustraliaStephen Shaw PROPOSAL
Mujtaba A PoquetteArgentinaElwin Sharvill UNQUALIFIED
Smith X FerenczArgentinaBernardo Dominic NEW
Maria D MaletIndiaAmy Elsner PROPOSAL
Munro R PoquetteIndiaElwin Sharvill PROPOSAL
James M ShinkoSpainElwin Sharvill NEW
Silvio X KuskoIndiaIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Rodrigues Y CaldareraBrazilIvan Magalhaes QUALIFIED
Kaitlin B MaletRussiaElwin Sharvill UNQUALIFIED
Morrow A VocelkaBrazilBernardo Dominic RENEWAL
Munro S PaprockiGermanyIoni Bowcher NEW
Jeanfrancois K PoquetteCanadaIvan Magalhaes NEGOTIATION
Clifford H SergiItalyStephen Shaw NEW
Maria V KolmetzUnited KingdomOnyama Limba NEW
Nicolas L StensethSpainElwin Sharvill NEGOTIATION
James T RimJapanAnna Fali UNQUALIFIED
Francesco W NickaAustraliaAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues X DilliardIndia2024-06-22Truhlar And Truhlar Attys PROPOSAL80Amy Elsner
1001Murillo P MorascaSpain2024-06-23Chanay, Jeffrey A Esq QUALIFIED85Ioni Bowcher
1002Alejandro U DoeIndia2024-06-22Chemel, James L Cpa RENEWAL20Asiya Javayant
1003Leon M RutaAustralia2024-06-07Feiner Bros RENEWAL24Ivan Magalhaes
1004Aika J KolmetzGermany2024-06-13Truhlar And Truhlar Attys PROPOSAL98Xuxue Feng
1005Francesco X MacleadCanada2024-06-19Morlong Associates NEW23Onyama Limba
1006Cody F WaycottAustralia2024-06-07Truhlar And Truhlar Attys PROPOSAL58Amy Elsner
1007Antonio H WhobreyFrance2024-06-06Feltz Printing Service NEW48Amy Elsner
1008David E TollnerJapan2024-06-13Feltz Printing Service QUALIFIED10Ivan Magalhaes
1009Claire U BriddickItaly2024-06-19Chemel, James L Cpa NEW40Amy Elsner
1010Jennifer J AlbaresItaly2024-06-12Chapman, Ross E Esq PROPOSAL16Asiya Javayant
1011Kadeem B BologniaRussia2024-06-13Benton, John B Jr QUALIFIED41Amy Elsner
1012Aditya U DilliardItaly2024-05-26King, Christopher A Esq UNQUALIFIED36Onyama Limba
1013Jeanfrancois H WhobreyFrance2024-06-14Feltz Printing Service RENEWAL27Stephen Shaw
1014Leja K PoquetteUnited Kingdom2024-06-20Morlong Associates RENEWAL30Stephen Shaw
1015Maria D FlosiSpain2024-05-26Rousseaux, Michael Esq QUALIFIED78Anna Fali
1016Aditya M StensethJapan2024-06-11Printing Dimensions NEW89Ioni Bowcher
1017James W PerinArgentina2024-06-15Chanay, Jeffrey A Esq PROPOSAL39Onyama Limba
1018Silvio M MacleadFrance2024-06-22Morlong Associates QUALIFIED27Elwin Sharvill
1019Aika N WieserIndia2024-05-28Feiner Bros RENEWAL57Ivan Magalhaes
1020Munro G SergiCanada2024-06-19Chapman, Ross E Esq RENEWAL13Anna Fali
1021Jennifer I VenereJapan2024-06-19Truhlar And Truhlar Attys NEGOTIATION44Ivan Magalhaes
1022Murillo T MacleadAustralia2024-06-08Rangoni Of Florence PROPOSAL85Ioni Bowcher
1023David X StockhamIndia2024-06-07Rangoni Of Florence UNQUALIFIED53Bernardo Dominic
1024Aditya C PaprockiGermany2024-06-08Commercial Press RENEWAL75Xuxue Feng
1025James J VenereUnited Kingdom2024-06-14Chanay, Jeffrey A Esq NEW98Onyama Limba
1026Clifford O CaldareraBrazil2024-06-01Buckley Miller Wright PROPOSAL54Asiya Javayant
1027Arvin W RutaCanada2024-06-05Commercial Press NEGOTIATION24Stephen Shaw
1028Ivar P BowleyIndia2024-06-01Buckley Miller Wright QUALIFIED63Amy Elsner
1029Chavez D RutaSpain2024-06-21Printing Dimensions NEW65Ioni Bowcher
1030Julie P GarufiCanada2024-06-17Printing Dimensions UNQUALIFIED65Xuxue Feng
1031Murillo O RutaArgentina2024-06-13Truhlar And Truhlar Attys RENEWAL78Asiya Javayant
1032Juan N MarrierGermany2024-06-11Chanay, Jeffrey A Esq UNQUALIFIED78Elwin Sharvill
1033Morrow X OstroskyGermany2024-05-26Morlong Associates NEW25Ivan Magalhaes
1034Francesco W KolmetzFrance2024-06-15Chapman, Ross E Esq PROPOSAL40Ivan Magalhaes
1035Ivar Z NickaBrazil2024-06-08Feltz Printing Service RENEWAL15Ivan Magalhaes
1036Munro Z PaprockiArgentina2024-06-14Dorl, James J Esq NEW45Onyama Limba
1037Clifford K RimFrance2024-06-16Benton, John B Jr QUALIFIED59Onyama Limba
1038Cody K AlbaresJapan2024-06-02Rangoni Of Florence UNQUALIFIED10Ioni Bowcher
1039Deepesh I MaletArgentina2024-06-05Benton, John B Jr NEGOTIATION13Elwin Sharvill
1040Johnson C ChuiJapan2024-06-07Truhlar And Truhlar Attys PROPOSAL45Onyama Limba
1041Izzy E VenereSpain2024-05-31Commercial Press RENEWAL4Bernardo Dominic
1042Mujtaba F DoeRussia2024-06-17Rangoni Of Florence UNQUALIFIED80Stephen Shaw
1043Deepesh A ChuiRussia2024-06-23Commercial Press PROPOSAL52Bernardo Dominic
1044Leon B DarakjyAustralia2024-06-19Chemel, James L Cpa UNQUALIFIED20Anna Fali
1045Kadeem L DarakjyRussia2024-06-18Chanay, Jeffrey A Esq UNQUALIFIED68Asiya Javayant
1046James Z InouyeIndia2024-06-18Buckley Miller Wright NEW17Bernardo Dominic
1047Ivar N DarakjyFrance2024-06-05Chapman, Ross E Esq RENEWAL37Bernardo Dominic
1048Munro C OstroskyFrance2024-05-29Printing Dimensions PROPOSAL87Elwin Sharvill
1049Claire V IturbideJapan2024-06-03Dorl, James J Esq PROPOSAL86Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Clifford B NickaIndiaElwin Sharvill QUALIFIED
Wickens P PaprockiSpainIvan Magalhaes UNQUALIFIED
Murillo Y ChuiItalyElwin Sharvill UNQUALIFIED
Chavez D SaylorsUnited KingdomElwin Sharvill NEGOTIATION
Kadeem P KuskoIndiaStephen Shaw QUALIFIED
Munro X MaletItalyAsiya Javayant PROPOSAL
Salvatore U OstroskySpainStephen Shaw PROPOSAL
Emily X GillianUnited KingdomStephen Shaw NEGOTIATION
Leon W GillianFranceAnna Fali NEGOTIATION
Nicolas S ChuiFranceIvan Magalhaes RENEWAL
Isabel X CampainItalyXuxue Feng NEGOTIATION
Cody I GillianRussiaElwin Sharvill UNQUALIFIED
Ashley Z GarufiFranceAnna Fali NEGOTIATION
Mayumi R KuskoFranceElwin Sharvill RENEWAL
Munro M VenereFranceIvan Magalhaes RENEWAL
Chavez K SaylorsArgentinaAnna Fali NEW
Kaitlin V GarufiJapanAmy Elsner UNQUALIFIED
Izzy G FollerAustraliaIoni Bowcher NEGOTIATION
Kadeem L AlbaresFranceElwin Sharvill QUALIFIED
Adams I ButtJapanAnna Fali RENEWAL
Kadeem Y GauchoJapanAnna Fali UNQUALIFIED
Ivar N WieserRussiaIvan Magalhaes PROPOSAL
Jennifer B AlbaresArgentinaAnna Fali PROPOSAL
Faith K PerinGermanyElwin Sharvill NEGOTIATION
Aditya W KuskoItalyAsiya Javayant RENEWAL
Munro H KolmetzGermanyAnna Fali NEW
Cody Z SaylorsFranceStephen Shaw RENEWAL
Claire G IturbideSpainStephen Shaw QUALIFIED
Johnson Z GauchoIndiaAnna Fali PROPOSAL
Ricardo A DoeCanadaIvan Magalhaes NEW
Deepesh C ChuiJapanAsiya Javayant NEW
Aruna S CaudyIndiaElwin Sharvill UNQUALIFIED
Chavez H BriddickGermanyAsiya Javayant PROPOSAL
Isabel Z IturbideCanadaIoni Bowcher PROPOSAL
Johnson M VenereAustraliaBernardo Dominic UNQUALIFIED
Aditya H ChuiFranceIoni Bowcher UNQUALIFIED
Octavia Y RimFranceIvan Magalhaes PROPOSAL
Tony S DilliardCanadaAnna Fali NEW
Maisha Q RutaBrazilElwin Sharvill NEW
Mayumi K VocelkaFranceElwin Sharvill NEGOTIATION
Aika H MacleadCanadaIoni Bowcher PROPOSAL
James I StensethRussiaStephen Shaw UNQUALIFIED
Jones N RutaRussiaIvan Magalhaes NEGOTIATION
Tony Y CaldareraUnited KingdomElwin Sharvill RENEWAL
Emily Z RoysterArgentinaStephen Shaw RENEWAL
Costa K DoeCanadaBernardo Dominic NEW
Mujtaba I DarakjyCanadaAnna Fali NEGOTIATION
Alejandro B WhobreyRussiaIvan Magalhaes RENEWAL
Francesco S NickaArgentinaStephen Shaw NEW
Darci Z BriddickItalyAmy Elsner NEGOTIATION
Frozen Columns
Name
Leja D Figeroa
James G Inouye
Ivar A Morasca
Leja E Darakjy
Stacey Y Iturbide
Cody C Garufi
Jennifer L Whobrey
Maria B Darakjy
Smith D Briddick
Julie U Perin
Jennifer O Malet
Darci D Stockham
Izzy Z Tollner
Mayumi H Nicka
Mujtaba Z Saylors
Jones K Bolognia
Stacey I Butt
Julie Z Wieser
Kaitlin P Amigon
Alejandro X Dilliard
Greenwood H Ostrosky
Morrow Q Iturbide
Jennifer X Figeroa
Alejandro A Sergi
Adams S Sergi
Jeanfrancois M Perin
Aruna F Tollner
Stacey Q Wieser
Ashley K Shinko
Aika C Butt
Cody O Sergi
Claire X Glick
Adams H Darakjy
Francesco D Albares
Rodrigues Z Gillian
Smith M Shinko
Mujtaba O Nicka
Juan Z Poquette
Antonio X Marrier
Antonio O Ruta
Aika O Sergi
Jones D Gaucho
Aruna E Bowley
Aruna G Albares
Munro Y Vocelka
Murillo H Bowley
Misaki M Schemmer
Johnson C Figeroa
Jeanfrancois V Ruta
Isabel X Nicka
IdCountryDate
1000Spain2024-06-13
1001Brazil2024-06-23
1002Russia2024-06-06
1003Australia2024-05-27
1004Spain2024-06-23
1005Spain2024-06-15
1006France2024-05-28
1007Australia2024-06-17
1008Japan2024-05-27
1009United Kingdom2024-06-01
1010Argentina2024-06-16
1011India2024-06-23
1012United Kingdom2024-05-25
1013Spain2024-05-26
1014Canada2024-06-16
1015Spain2024-06-14
1016Brazil2024-06-15
1017France2024-06-03
1018Argentina2024-05-31
1019France2024-05-31
1020United Kingdom2024-05-26
1021Spain2024-06-10
1022Argentina2024-06-03
1023Germany2024-06-03
1024Canada2024-05-29
1025Brazil2024-06-04
1026Australia2024-06-21
1027Australia2024-06-08
1028Australia2024-06-06
1029Spain2024-05-26
1030Argentina2024-05-27
1031Argentina2024-06-06
1032Argentina2024-06-05
1033Japan2024-06-22
1034India2024-06-03
1035Germany2024-05-25
1036Australia2024-05-30
1037France2024-05-27
1038Australia2024-06-03
1039France2024-05-28
1040Russia2024-06-07
1041India2024-06-12
1042Japan2024-05-27
1043Germany2024-06-04
1044Australia2024-06-16
1045Japan2024-06-20
1046Italy2024-05-25
1047Australia2024-06-15
1048Australia2024-06-17
1049Brazil2024-06-01

On-Demand Data

NameIdCountryDate
Faith O Marrier1000Japan2024-06-17
Leja T Tollner1001France2024-05-30
Isabel V Darakjy1002United Kingdom2024-06-01
Rodrigues I Figeroa1003Argentina2024-06-19
Wickens O Bolognia1004Germany2024-06-18
Rodrigues Z Nestle1005Germany2024-05-29
Faith H Glick1006Australia2024-06-02
Tony A Briddick1007Australia2024-06-17
Octavia S Malet1008Germany2024-05-26
Mujtaba V Morasca1009France2024-05-25
Claire V Ostrosky1010Canada2024-06-07
Faith V Schemmer1011Spain2024-06-21
Jennifer A Schemmer1012Canada2024-05-31
Emily S Briddick1013India2024-06-04
Murillo P Ostrosky1014Brazil2024-06-12
Arvin O Saylors1015India2024-05-26
Misaki X Wieser1016Italy2024-06-15
Juan R Albares1017France2024-06-11
Mayumi C Darakjy1018India2024-05-28
Cody C Shinko1019Argentina2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood S ShinkoRussiaElwin Sharvill PROPOSAL
Jeanfrancois W GlickJapanIoni Bowcher RENEWAL
Johnson D OstroskyRussiaAmy Elsner UNQUALIFIED
Izzy K CampainItalyBernardo Dominic NEGOTIATION
Kaitlin S WhobreyGermanyXuxue Feng UNQUALIFIED
Cody Q MaletBrazilAsiya Javayant PROPOSAL
Jones R RulapaughCanadaAnna Fali RENEWAL
Adams Y ButtJapanBernardo Dominic NEW
Misaki P CampainItalyAmy Elsner UNQUALIFIED
Izzy Q DarakjyFranceBernardo Dominic NEGOTIATION
Tony F WieserArgentinaIvan Magalhaes PROPOSAL
Munro W ChuiCanadaIoni Bowcher QUALIFIED
Juan Z GlickSpainIvan Magalhaes RENEWAL
Ivar T PaprockiBrazilAmy Elsner NEW
Aika I CaldareraArgentinaStephen Shaw NEGOTIATION
Chavez K GarufiBrazilStephen Shaw QUALIFIED
Aruna W PerinArgentinaAsiya Javayant NEGOTIATION
Salvatore R StensethItalyAsiya Javayant UNQUALIFIED
Tony M WhobreyIndiaBernardo Dominic NEGOTIATION
Emily W OstroskyArgentinaXuxue Feng NEGOTIATION
David K RoysterSpainAmy Elsner RENEWAL
Silvio Y MaletCanadaAsiya Javayant RENEWAL
Alejandro C ChuiSpainStephen Shaw RENEWAL
Morrow J GillianFranceIoni Bowcher UNQUALIFIED
Wickens N WaycottUnited KingdomIoni Bowcher PROPOSAL
Munro I MaletArgentinaElwin Sharvill UNQUALIFIED
Mujtaba T RimGermanyIvan Magalhaes UNQUALIFIED
Izzy U DarakjyUnited KingdomBernardo Dominic NEGOTIATION
Antonio H RoysterAustraliaAnna Fali PROPOSAL
Murillo W FlosiItalyAnna Fali NEGOTIATION
Alejandro K MaletIndiaElwin Sharvill NEW
Juan X SaylorsSpainIvan Magalhaes NEGOTIATION
Alejandro Q MaletSpainIoni Bowcher PROPOSAL
Faith R PerinJapanStephen Shaw NEW
Antonio E AmigonJapanBernardo Dominic UNQUALIFIED
Murillo S VenereUnited KingdomIoni Bowcher QUALIFIED
David X GlickGermanyAmy Elsner PROPOSAL
Antonio D GauchoBrazilAsiya Javayant NEGOTIATION
Faith U MacleadItalyAmy Elsner RENEWAL
Mujtaba N ChuiCanadaAsiya Javayant 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>