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
Jennifer Z GillianBrazilElwin Sharvill PROPOSAL
Jennifer C SaylorsRussiaStephen Shaw RENEWAL
Antonio J AlbaresUnited KingdomElwin Sharvill NEW
Arvin A WaycottItalyIoni Bowcher PROPOSAL
Ivar J WieserBrazilAsiya Javayant UNQUALIFIED
Ricardo Q NickaSpainAsiya Javayant UNQUALIFIED
Clifford S WhobreySpainAnna Fali UNQUALIFIED
Darci Q ChuiJapanStephen Shaw NEW
Misaki D BriddickArgentinaElwin Sharvill RENEWAL
Johnson D GillianIndiaAnna Fali PROPOSAL
Salvatore A RimAustraliaOnyama Limba RENEWAL
Mayumi G GillianSpainAnna Fali RENEWAL
Tony R DilliardGermanyBernardo Dominic NEGOTIATION
Deepesh F MacleadCanadaIoni Bowcher QUALIFIED
James R PaprockiAustraliaXuxue Feng NEGOTIATION
Munro E ShinkoUnited KingdomOnyama Limba NEW
Sinclair P IturbideBrazilOnyama Limba RENEWAL
Clifford B KuskoIndiaAnna Fali RENEWAL
Arvin X MacleadSpainIoni Bowcher NEGOTIATION
Aditya E OstroskyAustraliaIoni Bowcher QUALIFIED
David T WhobreySpainIoni Bowcher RENEWAL
Faith B DilliardJapanOnyama Limba UNQUALIFIED
Morrow E MaletJapanOnyama Limba UNQUALIFIED
Wickens F InouyeBrazilIvan Magalhaes NEW
Faith D RimIndiaBernardo Dominic NEGOTIATION
Sinclair L FerenczGermanyIvan Magalhaes QUALIFIED
Ricardo I IturbideIndiaIoni Bowcher RENEWAL
Mujtaba V WhobreyFranceIoni Bowcher NEGOTIATION
Jennifer D ShinkoArgentinaAnna Fali NEW
Greenwood L CaldareraArgentinaBernardo Dominic QUALIFIED
Kaitlin F KuskoIndiaOnyama Limba NEW
Greenwood E DilliardCanadaAsiya Javayant NEGOTIATION
Antonio Q GlickRussiaAsiya Javayant QUALIFIED
Claire T FigeroaRussiaOnyama Limba UNQUALIFIED
Sinclair I PerinBrazilIoni Bowcher RENEWAL
Jefferson B CampainFranceAsiya Javayant RENEWAL
Aruna G SergiAustraliaAsiya Javayant NEGOTIATION
Claire V FollerArgentinaIvan Magalhaes NEW
Ricardo P WieserArgentinaStephen Shaw PROPOSAL
Juan F SergiItalyIvan Magalhaes QUALIFIED
Francesco W CaudyGermanyAsiya Javayant RENEWAL
Chavez V RulapaughBrazilStephen Shaw UNQUALIFIED
Mujtaba Z GlickArgentinaAmy Elsner RENEWAL
Leja I MaletBrazilStephen Shaw QUALIFIED
Costa E MaletIndiaStephen Shaw PROPOSAL
Arvin K TollnerBrazilAsiya Javayant NEGOTIATION
Maria Q WaycottIndiaIoni Bowcher UNQUALIFIED
James X DoeArgentinaOnyama Limba QUALIFIED
Isabel M RoysterItalyStephen Shaw UNQUALIFIED
Chavez U DilliardUnited KingdomBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Isabel N BologniaSpainBernardo Dominic QUALIFIED
Silvio A RoysterFranceBernardo Dominic QUALIFIED
Ashley R AlbaresArgentinaAsiya Javayant QUALIFIED
Murillo O RutaFranceAnna Fali NEW
Chavez U VenereUnited KingdomIoni Bowcher PROPOSAL
Misaki U MarrierUnited KingdomAnna Fali PROPOSAL
Isabel L StockhamArgentinaOnyama Limba NEGOTIATION
Jefferson O FerenczSpainAmy Elsner PROPOSAL
Leon Y KolmetzFranceOnyama Limba QUALIFIED
Jeanfrancois V DilliardGermanyElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson T RoysterUnited Kingdom2025-05-16Dorl, James J Esq QUALIFIED35Stephen Shaw
1001Julie U MacleadCanada2025-04-24Chanay, Jeffrey A Esq QUALIFIED53Xuxue Feng
1002Kadeem M MarrierUnited Kingdom2025-05-07King, Christopher A Esq NEGOTIATION54Ivan Magalhaes
1003Misaki C DoeSpain2025-05-14Chapman, Ross E Esq UNQUALIFIED18Elwin Sharvill
1004Costa A FigeroaFrance2025-05-03Truhlar And Truhlar Attys PROPOSAL33Onyama Limba
1005Jennifer R SaylorsGermany2025-05-05Truhlar And Truhlar Attys UNQUALIFIED80Ioni Bowcher
1006Salvatore P InouyeUnited Kingdom2025-05-11Chanay, Jeffrey A Esq QUALIFIED89Ioni Bowcher
1007Aruna X WhobreyRussia2025-04-29Commercial Press NEGOTIATION61Anna Fali
1008Wickens M DarakjyJapan2025-05-04Commercial Press QUALIFIED48Ioni Bowcher
1009Cody H GauchoJapan2025-05-18Benton, John B Jr NEW13Bernardo Dominic
1010Johnson Q IturbideFrance2025-04-25Feiner Bros UNQUALIFIED56Onyama Limba
1011Darci P MaletArgentina2025-05-08Feiner Bros RENEWAL41Stephen Shaw
1012Rodrigues S FlosiSpain2025-05-10Buckley Miller Wright UNQUALIFIED69Ioni Bowcher
1013David Y FlosiUnited Kingdom2025-04-26Feiner Bros RENEWAL67Bernardo Dominic
1014Ricardo F KuskoIndia2025-04-26Feiner Bros NEGOTIATION88Anna Fali
1015Darci X BologniaBrazil2025-05-06Morlong Associates QUALIFIED91Asiya Javayant
1016Wickens Q BowleyItaly2025-05-03Chapman, Ross E Esq NEW43Anna Fali
1017Cody F MarrierIndia2025-04-25Feltz Printing Service UNQUALIFIED33Xuxue Feng
1018Greenwood S CaudyUnited Kingdom2025-05-17Feiner Bros QUALIFIED64Elwin Sharvill
1019Emily E MacleadGermany2025-05-02Chemel, James L Cpa QUALIFIED37Anna Fali
1020Aika J DilliardCanada2025-05-01Feiner Bros QUALIFIED4Asiya Javayant
1021Antonio V ButtSpain2025-05-03Dorl, James J Esq RENEWAL11Onyama Limba
1022Ivar C CaudySpain2025-04-25Buckley Miller Wright QUALIFIED51Onyama Limba
1023Cody Z FollerRussia2025-05-16Feiner Bros UNQUALIFIED25Onyama Limba
1024Jeanfrancois Z NickaSpain2025-05-09Commercial Press RENEWAL58Elwin Sharvill
1025Aditya S FlosiCanada2025-05-09King, Christopher A Esq QUALIFIED77Anna Fali
1026Smith X OldroydItaly2025-05-13Morlong Associates QUALIFIED62Ioni Bowcher
1027Aika E MorascaGermany2025-05-12Benton, John B Jr PROPOSAL98Onyama Limba
1028Costa Q RoysterIndia2025-05-08Feltz Printing Service QUALIFIED56Asiya Javayant
1029Darci X CaldareraFrance2025-04-24Chanay, Jeffrey A Esq NEW66Ioni Bowcher
1030Rodrigues D KuskoGermany2025-05-07Benton, John B Jr UNQUALIFIED40Stephen Shaw
1031Munro V FlosiCanada2025-04-26Morlong Associates QUALIFIED88Anna Fali
1032Mujtaba V TollnerGermany2025-05-05Rangoni Of Florence RENEWAL2Bernardo Dominic
1033Stacey L StockhamUnited Kingdom2025-05-08Printing Dimensions QUALIFIED41Amy Elsner
1034Isabel C ButtRussia2025-04-30Rousseaux, Michael Esq PROPOSAL28Ioni Bowcher
1035Cody J SergiFrance2025-05-12Rangoni Of Florence RENEWAL49Ioni Bowcher
1036Salvatore W InouyeBrazil2025-04-28Dorl, James J Esq UNQUALIFIED49Anna Fali
1037David R CampainCanada2025-05-09Rousseaux, Michael Esq NEW9Ivan Magalhaes
1038Munro X CampainFrance2025-04-23Morlong Associates UNQUALIFIED26Elwin Sharvill
1039Darci L DilliardBrazil2025-04-20Feltz Printing Service PROPOSAL59Amy Elsner
1040Leon K AmigonIndia2025-05-02Chapman, Ross E Esq UNQUALIFIED95Ivan Magalhaes
1041Maria I AmigonArgentina2025-04-20Morlong Associates PROPOSAL57Asiya Javayant
1042Jones R OldroydGermany2025-05-06Commercial Press NEW42Amy Elsner
1043Darci P FollerSpain2025-05-14Chanay, Jeffrey A Esq NEGOTIATION79Bernardo Dominic
1044Maria N MorascaGermany2025-05-18Chapman, Ross E Esq NEW12Xuxue Feng
1045Murillo S AlbaresJapan2025-04-30Chanay, Jeffrey A Esq RENEWAL41Amy Elsner
1046Nicolas O BriddickFrance2025-05-08Feltz Printing Service PROPOSAL44Stephen Shaw
1047Munro G BowleyCanada2025-04-21Feiner Bros NEW8Bernardo Dominic
1048Cody L SchemmerFrance2025-05-10Commercial Press NEGOTIATION33Stephen Shaw
1049Clifford G DarakjyAustralia2025-05-14Feltz Printing Service NEW51Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Maisha E TollnerSpainElwin Sharvill NEW
Munro M RutaCanadaIvan Magalhaes NEGOTIATION
Maria N MorascaItalyStephen Shaw UNQUALIFIED
Emily M KolmetzItalyOnyama Limba NEW
Munro X RoysterJapanStephen Shaw PROPOSAL
Jennifer I WaycottJapanOnyama Limba PROPOSAL
Arvin O StensethBrazilOnyama Limba NEW
Octavia M PerinUnited KingdomOnyama Limba PROPOSAL
Aruna W OldroydAustraliaXuxue Feng PROPOSAL
Clifford Q VocelkaSpainXuxue Feng RENEWAL
Faith T AlbaresIndiaIvan Magalhaes RENEWAL
Mayumi P MaletAustraliaBernardo Dominic PROPOSAL
Antonio G DilliardCanadaElwin Sharvill NEW
Adams Q RutaRussiaAsiya Javayant UNQUALIFIED
Darci T RoysterBrazilStephen Shaw UNQUALIFIED
Juan M GillianRussiaStephen Shaw UNQUALIFIED
Chavez B OldroydBrazilIvan Magalhaes UNQUALIFIED
Juan A CaudyFranceBernardo Dominic PROPOSAL
Jones V StensethFranceStephen Shaw NEW
Kaitlin Z DarakjyIndiaXuxue Feng NEW
Alejandro K MorascaJapanIvan Magalhaes NEW
Isabel K MaletItalyElwin Sharvill NEW
Mayumi G RoysterAustraliaIoni Bowcher QUALIFIED
Isabel S GlickGermanyBernardo Dominic QUALIFIED
Ashley M RulapaughIndiaBernardo Dominic NEGOTIATION
Morrow J IturbideFranceIvan Magalhaes NEW
Isabel Z MaletArgentinaElwin Sharvill NEGOTIATION
Silvio N MacleadBrazilAsiya Javayant NEGOTIATION
Maria M RoysterFranceBernardo Dominic QUALIFIED
Ricardo T DarakjyUnited KingdomAnna Fali QUALIFIED
Kaitlin U FlosiAustraliaIoni Bowcher QUALIFIED
Aditya Y PaprockiFranceIvan Magalhaes RENEWAL
Julie G FigeroaItalyElwin Sharvill QUALIFIED
Costa G BriddickItalyAmy Elsner PROPOSAL
Adams T CaldareraFranceElwin Sharvill NEW
Johnson S ShinkoArgentinaAmy Elsner RENEWAL
Ivar E KuskoFranceBernardo Dominic PROPOSAL
Juan H PerinIndiaXuxue Feng RENEWAL
Arvin W CaldareraRussiaAsiya Javayant RENEWAL
Jennifer Q SaylorsGermanyXuxue Feng RENEWAL
Octavia L CaldareraItalyAnna Fali NEGOTIATION
Stacey F DoeIndiaStephen Shaw PROPOSAL
Francesco R GillianGermanyBernardo Dominic NEGOTIATION
Julie E ButtIndiaStephen Shaw NEW
Munro T CampainBrazilAnna Fali PROPOSAL
Cody I StensethJapanAsiya Javayant NEW
Morrow V SlusarskiCanadaOnyama Limba UNQUALIFIED
Francesco M MarrierBrazilIvan Magalhaes UNQUALIFIED
Jones A FerenczFranceAmy Elsner RENEWAL
Rodrigues V ShinkoSpainXuxue Feng RENEWAL
Frozen Columns
Name
Jennifer W Nestle
Murillo T Darakjy
Smith I Nestle
Salvatore U Foller
James J Darakjy
Aditya N Bolognia
Francesco Q Inouye
Cody D Briddick
Octavia H Shinko
Julie W Bolognia
Rodrigues D Paprocki
Rodrigues E Gillian
David Q Tollner
Clifford S Venere
Rodrigues X Dilliard
Misaki Y Wieser
Ashley M Glick
Aruna K Amigon
Kadeem S Nestle
Nicolas E Figeroa
Sinclair Z Kolmetz
Aika C Bowley
Isabel M Paprocki
Costa W Stenseth
Emily R Kolmetz
Greenwood U Venere
Arvin S Kolmetz
Tony K Briddick
Antonio P Chui
James K Marrier
Ashley H Albares
Mayumi Y Dilliard
Jefferson C Vocelka
Faith W Marrier
Deepesh M Garufi
Johnson K Amigon
Nicolas L Bolognia
Silvio Z Shinko
Deepesh P Kusko
Claire K Kusko
Stacey F Malet
Aika T Wieser
Deepesh I Marrier
Jefferson Q Ostrosky
Stacey L Marrier
Faith A Marrier
Chavez Y Amigon
Salvatore S Rulapaugh
Jones S Albares
Greenwood Z Bolognia
IdCountryDate
1000Russia2025-05-01
1001Australia2025-04-21
1002Germany2025-05-16
1003Argentina2025-04-30
1004Australia2025-05-15
1005France2025-05-02
1006Russia2025-05-02
1007Italy2025-05-03
1008Canada2025-04-29
1009Italy2025-04-28
1010Japan2025-04-19
1011Canada2025-05-04
1012United Kingdom2025-05-18
1013United Kingdom2025-05-14
1014United Kingdom2025-04-30
1015Canada2025-05-08
1016Argentina2025-04-27
1017Brazil2025-04-23
1018United Kingdom2025-05-01
1019Russia2025-05-12
1020Argentina2025-04-20
1021Canada2025-05-11
1022Argentina2025-04-30
1023Spain2025-04-21
1024Italy2025-05-11
1025Spain2025-04-27
1026Japan2025-04-24
1027Russia2025-04-24
1028Germany2025-04-23
1029Brazil2025-04-28
1030Italy2025-04-24
1031Australia2025-05-11
1032Italy2025-04-22
1033Canada2025-04-20
1034Japan2025-05-03
1035Brazil2025-05-03
1036Japan2025-05-07
1037Australia2025-04-21
1038Australia2025-05-06
1039Russia2025-04-23
1040Argentina2025-04-22
1041Argentina2025-04-19
1042Canada2025-05-02
1043India2025-05-14
1044India2025-04-27
1045United Kingdom2025-05-03
1046Brazil2025-05-15
1047Argentina2025-05-10
1048Australia2025-05-10
1049Australia2025-05-05

On-Demand Data

NameIdCountryDate
Maria X Saylors1000France2025-04-24
Jefferson K Slusarski1001Italy2025-05-12
Maisha N Royster1002Canada2025-05-11
Kaitlin A Darakjy1003Spain2025-05-12
Salvatore C Ferencz1004Brazil2025-05-02
Ashley C Campain1005Italy2025-05-04
Tony R Amigon1006Canada2025-05-11
Juan E Paprocki1007Argentina2025-05-11
Greenwood B Iturbide1008Australia2025-05-06
Mujtaba U Chui1009United Kingdom2025-04-21
Mayumi Z Morasca1010Russia2025-05-10
Kadeem E Glick1011Argentina2025-05-11
Juan F Gaucho1012Spain2025-05-04
Jeanfrancois W Schemmer1013Russia2025-04-28
Aruna T Figeroa1014Germany2025-05-08
Isabel L Inouye1015Russia2025-05-16
Aika A Shinko1016Japan2025-05-01
David Z Garufi1017Russia2025-05-11
Sinclair H Stenseth1018United Kingdom2025-05-08
Aditya K Ruta1019France2025-05-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin Q DoeGermanyStephen Shaw NEW
Rodrigues M GarufiBrazilStephen Shaw NEW
Aika Z ShinkoSpainAnna Fali RENEWAL
Aruna A OstroskyFranceAmy Elsner NEW
Johnson W PerinJapanAmy Elsner UNQUALIFIED
James D CampainFranceBernardo Dominic QUALIFIED
Cody H SchemmerSpainIoni Bowcher NEGOTIATION
Sinclair N NickaSpainAmy Elsner UNQUALIFIED
Clifford F DoeItalyAnna Fali NEW
David C PerinRussiaAsiya Javayant NEGOTIATION
Kaitlin E MaletFranceBernardo Dominic UNQUALIFIED
Misaki E AmigonGermanyXuxue Feng UNQUALIFIED
Rodrigues H FigeroaRussiaAnna Fali NEW
Octavia K DilliardItalyIoni Bowcher UNQUALIFIED
David O WhobreyRussiaBernardo Dominic PROPOSAL
Kadeem J ButtJapanAmy Elsner NEW
Kadeem D GlickArgentinaBernardo Dominic PROPOSAL
Silvio O VenereBrazilAmy Elsner NEGOTIATION
Leon X VenereSpainBernardo Dominic RENEWAL
Tony X StockhamCanadaOnyama Limba NEGOTIATION
Maisha Q RutaJapanIoni Bowcher UNQUALIFIED
Jeanfrancois X MacleadBrazilIoni Bowcher UNQUALIFIED
Jennifer T CaldareraArgentinaBernardo Dominic NEW
Aika B OldroydSpainXuxue Feng QUALIFIED
Aruna W CampainAustraliaIvan Magalhaes RENEWAL
James P RutaBrazilXuxue Feng NEGOTIATION
Kadeem Q OldroydArgentinaXuxue Feng PROPOSAL
Mujtaba Y BologniaJapanAmy Elsner UNQUALIFIED
Juan Z ButtArgentinaAnna Fali NEGOTIATION
Chavez M BriddickSpainAnna Fali UNQUALIFIED
Kaitlin S SaylorsAustraliaElwin Sharvill PROPOSAL
Adams O FollerAustraliaAnna Fali QUALIFIED
Deepesh H TollnerFranceBernardo Dominic NEW
Ivar N GlickFranceIvan Magalhaes RENEWAL
James M MacleadGermanyElwin Sharvill NEW
Faith N SlusarskiAustraliaAnna Fali NEGOTIATION
Aruna R FerenczJapanBernardo Dominic PROPOSAL
Darci E VocelkaFranceXuxue Feng UNQUALIFIED
David P BriddickFranceOnyama Limba QUALIFIED
Isabel T NickaAustraliaOnyama Limba 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>