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
Kadeem K GlickFranceAsiya Javayant UNQUALIFIED
Greenwood W BriddickGermanyStephen Shaw NEW
Aruna U GarufiArgentinaOnyama Limba NEGOTIATION
Arvin G RulapaughArgentinaAsiya Javayant NEW
Claire W VocelkaAustraliaElwin Sharvill NEW
Faith T AlbaresBrazilAsiya Javayant UNQUALIFIED
Juan C MaletArgentinaIoni Bowcher NEW
Jefferson I SergiItalyOnyama Limba RENEWAL
Faith M MaletRussiaAnna Fali QUALIFIED
Claire X RimItalyXuxue Feng UNQUALIFIED
Murillo A GarufiArgentinaIoni Bowcher QUALIFIED
Julie W RulapaughItalyIoni Bowcher NEGOTIATION
Johnson J KolmetzRussiaXuxue Feng QUALIFIED
Greenwood W OldroydUnited KingdomAmy Elsner UNQUALIFIED
James G OstroskyFranceAsiya Javayant NEW
Smith O BologniaRussiaStephen Shaw QUALIFIED
Jennifer Z CampainSpainAsiya Javayant NEW
Faith W TollnerAustraliaAnna Fali UNQUALIFIED
Emily V ChuiArgentinaOnyama Limba NEGOTIATION
Maisha K BowleyIndiaAsiya Javayant PROPOSAL
Murillo Z BologniaAustraliaXuxue Feng PROPOSAL
Antonio A VenereSpainAnna Fali NEW
Tony S RulapaughFranceAnna Fali NEW
Wickens P CampainRussiaAnna Fali UNQUALIFIED
Kaitlin Z FerenczCanadaXuxue Feng NEGOTIATION
Faith S DarakjyArgentinaElwin Sharvill QUALIFIED
Rodrigues R DarakjyBrazilBernardo Dominic UNQUALIFIED
Costa T GauchoCanadaBernardo Dominic UNQUALIFIED
Faith U AmigonAustraliaIvan Magalhaes UNQUALIFIED
Mayumi F MorascaItalyAnna Fali RENEWAL
Jefferson G IturbideBrazilAnna Fali UNQUALIFIED
Sinclair T ChuiItalyOnyama Limba PROPOSAL
Mayumi U WaycottCanadaAmy Elsner NEW
Julie M RoysterItalyAnna Fali NEGOTIATION
Stacey Y VenereRussiaAmy Elsner UNQUALIFIED
Julie G FerenczJapanAsiya Javayant QUALIFIED
Ricardo M CaldareraJapanStephen Shaw NEGOTIATION
Faith F OstroskyArgentinaBernardo Dominic QUALIFIED
Silvio T FerenczUnited KingdomAsiya Javayant NEW
Antonio B WieserRussiaStephen Shaw NEGOTIATION
Salvatore M DoeJapanAsiya Javayant RENEWAL
Maisha I MorascaSpainAmy Elsner QUALIFIED
Ricardo I RulapaughJapanElwin Sharvill RENEWAL
Maria Y WhobreyFranceIoni Bowcher QUALIFIED
Wickens D SergiItalyIoni Bowcher NEGOTIATION
Isabel E NickaGermanyOnyama Limba NEGOTIATION
Tony B OstroskyGermanyAsiya Javayant UNQUALIFIED
Aika S MaletItalyBernardo Dominic QUALIFIED
Jefferson W InouyeArgentinaAnna Fali NEGOTIATION
Munro G DoeArgentinaStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Greenwood C CaudyJapanAsiya Javayant PROPOSAL
Izzy O IturbideJapanXuxue Feng NEGOTIATION
Morrow W DilliardArgentinaXuxue Feng UNQUALIFIED
Ivar U RulapaughAustraliaOnyama Limba UNQUALIFIED
Adams V NickaUnited KingdomAmy Elsner QUALIFIED
Claire T ShinkoSpainIoni Bowcher QUALIFIED
Rodrigues T ShinkoFranceAsiya Javayant RENEWAL
Alejandro R VenereGermanyBernardo Dominic RENEWAL
Leja J DoeIndiaAnna Fali NEGOTIATION
Aruna V InouyeAustraliaBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja L KolmetzBrazil2025-05-27Chemel, James L Cpa QUALIFIED79Anna Fali
1001David X SaylorsJapan2025-06-10Feiner Bros NEGOTIATION55Onyama Limba
1002Mayumi Z SaylorsBrazil2025-06-10Rousseaux, Michael Esq UNQUALIFIED85Bernardo Dominic
1003Faith W PerinCanada2025-05-20Morlong Associates NEGOTIATION86Elwin Sharvill
1004Costa S MorascaAustralia2025-06-02Buckley Miller Wright UNQUALIFIED57Anna Fali
1005Tony M WieserGermany2025-05-22Feltz Printing Service PROPOSAL21Amy Elsner
1006Francesco L GlickSpain2025-05-27Commercial Press UNQUALIFIED29Stephen Shaw
1007Tony T SlusarskiSpain2025-05-22King, Christopher A Esq QUALIFIED83Anna Fali
1008Arvin Z MaletItaly2025-06-04King, Christopher A Esq NEGOTIATION80Anna Fali
1009Aruna E KolmetzFrance2025-06-15Chanay, Jeffrey A Esq NEW40Stephen Shaw
1010Aruna U BowleyRussia2025-05-19Feiner Bros NEGOTIATION47Ioni Bowcher
1011Jones R WaycottFrance2025-05-26Feiner Bros NEW75Anna Fali
1012Murillo Z GillianBrazil2025-06-04Feiner Bros NEW9Ivan Magalhaes
1013Aika L FollerItaly2025-06-04Truhlar And Truhlar Attys QUALIFIED35Onyama Limba
1014Cody U OstroskyArgentina2025-06-12Benton, John B Jr QUALIFIED68Onyama Limba
1015Murillo T NickaRussia2025-06-04King, Christopher A Esq RENEWAL51Stephen Shaw
1016Aruna D CaldareraArgentina2025-06-11Dorl, James J Esq QUALIFIED91Ivan Magalhaes
1017Salvatore U StockhamRussia2025-06-10King, Christopher A Esq NEW97Xuxue Feng
1018Antonio J RoysterUnited Kingdom2025-06-09Chanay, Jeffrey A Esq UNQUALIFIED67Amy Elsner
1019Ivar D ChuiGermany2025-05-31Chemel, James L Cpa QUALIFIED75Asiya Javayant
1020Tony P NickaIndia2025-06-15Truhlar And Truhlar Attys QUALIFIED11Stephen Shaw
1021Ivar G RulapaughJapan2025-06-05Feltz Printing Service NEW65Amy Elsner
1022Antonio B SchemmerAustralia2025-05-17Chemel, James L Cpa RENEWAL33Onyama Limba
1023Aruna T DoeFrance2025-06-15Feltz Printing Service QUALIFIED26Amy Elsner
1024Clifford U FerenczSpain2025-05-22Feltz Printing Service NEGOTIATION50Onyama Limba
1025Aruna D DilliardCanada2025-05-18Commercial Press UNQUALIFIED18Xuxue Feng
1026James E CaudyCanada2025-06-14Truhlar And Truhlar Attys RENEWAL1Anna Fali
1027Stacey D NickaCanada2025-05-28Dorl, James J Esq PROPOSAL37Stephen Shaw
1028Jones X GauchoAustralia2025-06-12Dorl, James J Esq PROPOSAL94Elwin Sharvill
1029Stacey V TollnerGermany2025-06-06King, Christopher A Esq NEW75Ivan Magalhaes
1030Mayumi U MaletRussia2025-06-02Printing Dimensions QUALIFIED96Ivan Magalhaes
1031Cody D StockhamItaly2025-06-06Commercial Press PROPOSAL15Bernardo Dominic
1032Ricardo L CampainArgentina2025-05-27Chanay, Jeffrey A Esq RENEWAL33Amy Elsner
1033Johnson R GillianRussia2025-05-31Dorl, James J Esq QUALIFIED28Anna Fali
1034Juan R NestleBrazil2025-06-04Commercial Press PROPOSAL83Asiya Javayant
1035Tony N GauchoRussia2025-05-30Feltz Printing Service RENEWAL94Amy Elsner
1036Izzy E WhobreyItaly2025-05-21Truhlar And Truhlar Attys NEW36Ioni Bowcher
1037Kadeem P ShinkoGermany2025-05-18Feiner Bros QUALIFIED7Amy Elsner
1038Murillo K WaycottIndia2025-06-14King, Christopher A Esq UNQUALIFIED84Ioni Bowcher
1039Stacey D SlusarskiFrance2025-05-25Buckley Miller Wright QUALIFIED64Bernardo Dominic
1040Arvin E AlbaresItaly2025-05-23Buckley Miller Wright QUALIFIED85Xuxue Feng
1041Aruna A SergiAustralia2025-06-09Commercial Press UNQUALIFIED45Ivan Magalhaes
1042Sinclair G MorascaAustralia2025-05-21Feltz Printing Service UNQUALIFIED10Elwin Sharvill
1043Kaitlin K AlbaresSpain2025-06-01Chemel, James L Cpa PROPOSAL80Onyama Limba
1044Chavez K StensethUnited Kingdom2025-06-01Buckley Miller Wright UNQUALIFIED11Onyama Limba
1045Nicolas J TollnerBrazil2025-06-12Commercial Press PROPOSAL96Asiya Javayant
1046Munro J FollerItaly2025-06-03Chanay, Jeffrey A Esq PROPOSAL38Bernardo Dominic
1047Izzy W MacleadSpain2025-06-05Chapman, Ross E Esq PROPOSAL26Asiya Javayant
1048Clifford E ButtFrance2025-06-12Morlong Associates UNQUALIFIED35Onyama Limba
1049Cody L CaldareraIndia2025-06-13Buckley Miller Wright PROPOSAL37Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Johnson L DarakjySpainXuxue Feng NEW
Antonio X GlickRussiaElwin Sharvill UNQUALIFIED
Leja R AmigonIndiaStephen Shaw RENEWAL
Ashley R WieserBrazilOnyama Limba RENEWAL
Aruna P ChuiFranceBernardo Dominic PROPOSAL
Octavia U MacleadItalyBernardo Dominic NEGOTIATION
Smith R MorascaRussiaAmy Elsner UNQUALIFIED
Isabel E MacleadBrazilIoni Bowcher PROPOSAL
Izzy E VocelkaUnited KingdomAsiya Javayant QUALIFIED
Rodrigues D AmigonArgentinaElwin Sharvill UNQUALIFIED
Maisha G NickaAustraliaIoni Bowcher NEW
Johnson T AlbaresJapanIoni Bowcher UNQUALIFIED
Wickens H RoysterCanadaStephen Shaw RENEWAL
Francesco K FollerIndiaAnna Fali QUALIFIED
Jeanfrancois I RoysterArgentinaAmy Elsner QUALIFIED
Leon X StensethIndiaBernardo Dominic PROPOSAL
Mayumi P SaylorsGermanyAnna Fali RENEWAL
Juan C PoquetteJapanStephen Shaw NEGOTIATION
Kadeem V GarufiBrazilOnyama Limba PROPOSAL
Johnson T FerenczIndiaOnyama Limba NEGOTIATION
Cody O BologniaCanadaOnyama Limba NEW
Darci O DoeBrazilStephen Shaw RENEWAL
Murillo E CampainBrazilIoni Bowcher PROPOSAL
Mayumi O KuskoItalyBernardo Dominic NEW
Izzy P SaylorsSpainBernardo Dominic RENEWAL
Izzy F DarakjyBrazilAsiya Javayant NEW
Faith J RoysterCanadaStephen Shaw PROPOSAL
Emily V AmigonGermanyStephen Shaw QUALIFIED
Tony R OldroydIndiaIvan Magalhaes UNQUALIFIED
Julie W InouyeBrazilBernardo Dominic NEW
Nicolas O GauchoSpainOnyama Limba NEGOTIATION
Arvin H BowleyJapanAnna Fali RENEWAL
Aruna E PoquetteCanadaAnna Fali RENEWAL
Jeanfrancois W SergiItalyAnna Fali QUALIFIED
Darci A FlosiRussiaElwin Sharvill QUALIFIED
Costa I TollnerRussiaStephen Shaw NEGOTIATION
Cody U DoeRussiaIoni Bowcher QUALIFIED
Jennifer V CaudyUnited KingdomAsiya Javayant NEW
Aditya Z PoquetteAustraliaIoni Bowcher PROPOSAL
Wickens X SaylorsSpainStephen Shaw RENEWAL
Aditya N StensethBrazilElwin Sharvill RENEWAL
Ivar E SlusarskiJapanAnna Fali RENEWAL
Octavia Q ChuiAustraliaStephen Shaw PROPOSAL
Kadeem S TollnerCanadaStephen Shaw PROPOSAL
Stacey L BowleyGermanyAnna Fali PROPOSAL
Faith N GlickFranceXuxue Feng NEW
Chavez O InouyeJapanOnyama Limba PROPOSAL
Aika Z CampainAustraliaOnyama Limba NEGOTIATION
Octavia T SaylorsAustraliaElwin Sharvill UNQUALIFIED
Munro P SlusarskiRussiaBernardo Dominic PROPOSAL
Frozen Columns
Name
Aruna L Morasca
Jennifer D Figeroa
Mujtaba S Doe
Alejandro Y Iturbide
Ivar K Slusarski
Munro V Marrier
Francesco L Chui
Jeanfrancois J Schemmer
Nicolas R Royster
Tony K Figeroa
Emily Z Doe
James Z Venere
Murillo P Iturbide
Silvio Z Vocelka
Octavia N Dilliard
Faith A Stockham
Nicolas L Paprocki
Wickens Z Briddick
Aditya Y Marrier
Claire M Nicka
Rodrigues I Poquette
Morrow C Darakjy
Faith C Tollner
Morrow O Garufi
Jennifer I Dilliard
Salvatore H Schemmer
James M Amigon
Francesco H Dilliard
Deepesh F Stockham
Murillo G Whobrey
Francesco H Figeroa
Wickens Z Figeroa
Leja D Caldarera
Jeanfrancois W Stockham
Clifford G Paprocki
Maria S Malet
Mujtaba N Sergi
Alejandro A Poquette
Maria K Waycott
Leon U Venere
Misaki P Perin
Ashley B Malet
Julie M Morasca
Ivar R Tollner
Murillo L Briddick
Isabel H Flosi
Claire U Dilliard
Cody V Figeroa
Jeanfrancois P Amigon
Kaitlin P Chui
IdCountryDate
1000Italy2025-05-18
1001Australia2025-05-24
1002Australia2025-06-12
1003Italy2025-06-06
1004Spain2025-06-05
1005Australia2025-05-21
1006Japan2025-06-15
1007Argentina2025-06-06
1008Italy2025-06-02
1009India2025-05-28
1010Argentina2025-06-07
1011Russia2025-06-02
1012Australia2025-06-03
1013India2025-05-29
1014Russia2025-05-26
1015Spain2025-05-20
1016Australia2025-05-20
1017Russia2025-06-04
1018Japan2025-06-07
1019India2025-06-13
1020Australia2025-05-18
1021Australia2025-05-21
1022Russia2025-05-24
1023France2025-06-03
1024India2025-06-07
1025Russia2025-06-07
1026Australia2025-06-01
1027Italy2025-06-08
1028Italy2025-06-14
1029Argentina2025-06-03
1030Russia2025-05-31
1031Canada2025-06-02
1032United Kingdom2025-05-19
1033Germany2025-05-24
1034Canada2025-06-13
1035India2025-06-03
1036Russia2025-05-17
1037France2025-05-19
1038India2025-05-20
1039France2025-06-06
1040Italy2025-06-05
1041Germany2025-06-14
1042Germany2025-05-23
1043Brazil2025-06-03
1044Brazil2025-06-14
1045Russia2025-05-22
1046Canada2025-06-12
1047Russia2025-06-09
1048Japan2025-06-08
1049Japan2025-05-24

On-Demand Data

NameIdCountryDate
Smith H Flosi1000Japan2025-05-20
Wickens W Stockham1001Russia2025-06-03
Clifford T Caudy1002Argentina2025-06-01
Leon W Vocelka1003Argentina2025-06-13
Octavia Z Slusarski1004Italy2025-06-01
Isabel X Glick1005India2025-05-29
Aruna Q Caldarera1006Germany2025-05-19
Costa L Oldroyd1007India2025-05-21
Mujtaba P Briddick1008France2025-05-31
Johnson C Figeroa1009Australia2025-06-12
Mayumi U Sergi1010India2025-06-14
Chavez E Poquette1011Italy2025-05-27
Aditya Z Bowley1012Argentina2025-05-26
Nicolas M Foller1013India2025-05-25
Stacey K Saylors1014United Kingdom2025-06-01
Adams V Rim1015Russia2025-06-08
Jones U Poquette1016United Kingdom2025-06-11
Leon W Chui1017Australia2025-06-05
Mayumi A Campain1018Canada2025-05-17
Clifford B Wieser1019Australia2025-05-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio Z WaycottFranceBernardo Dominic UNQUALIFIED
Emily N NestleUnited KingdomXuxue Feng PROPOSAL
Aika R FerenczAustraliaOnyama Limba PROPOSAL
Jennifer W ChuiJapanXuxue Feng UNQUALIFIED
Deepesh O BologniaGermanyIvan Magalhaes RENEWAL
Chavez O KolmetzCanadaAnna Fali RENEWAL
Leon J MaletAustraliaAnna Fali QUALIFIED
Aruna T AmigonFranceIoni Bowcher NEGOTIATION
Morrow G BowleyAustraliaIoni Bowcher RENEWAL
Ricardo W WhobreyUnited KingdomElwin Sharvill QUALIFIED
Misaki X GillianBrazilAmy Elsner NEW
Aditya B RulapaughFranceIvan Magalhaes UNQUALIFIED
Costa C VocelkaIndiaStephen Shaw QUALIFIED
Leja U StensethIndiaIoni Bowcher RENEWAL
Deepesh H SlusarskiBrazilAnna Fali PROPOSAL
Deepesh G GlickUnited KingdomOnyama Limba QUALIFIED
Kaitlin E SaylorsSpainElwin Sharvill RENEWAL
Wickens B PoquetteIndiaElwin Sharvill RENEWAL
Antonio J VenereIndiaStephen Shaw UNQUALIFIED
Francesco I BowleyRussiaStephen Shaw PROPOSAL
Octavia P KolmetzAustraliaStephen Shaw QUALIFIED
Maria Q SchemmerJapanAmy Elsner RENEWAL
Alejandro E OldroydCanadaIoni Bowcher NEW
Kadeem Y GlickGermanyAsiya Javayant PROPOSAL
Mujtaba W DarakjyUnited KingdomAnna Fali RENEWAL
Antonio Q DarakjyGermanyXuxue Feng NEW
Leja X RulapaughIndiaAmy Elsner NEGOTIATION
Kadeem I GarufiAustraliaOnyama Limba NEW
Jeanfrancois R CaldareraSpainAmy Elsner RENEWAL
Faith V StockhamArgentinaAmy Elsner QUALIFIED
Jennifer U SaylorsUnited KingdomElwin Sharvill UNQUALIFIED
Morrow A SergiItalyIvan Magalhaes UNQUALIFIED
Mayumi H GillianJapanAnna Fali PROPOSAL
David S RulapaughSpainAsiya Javayant PROPOSAL
Silvio Y MaletUnited KingdomAsiya Javayant NEW
Alejandro O BowleyGermanyElwin Sharvill NEGOTIATION
Antonio B FollerJapanAnna Fali QUALIFIED
Antonio H SchemmerFranceAsiya Javayant UNQUALIFIED
Antonio S GauchoJapanElwin Sharvill NEW
James S WhobreyAustraliaElwin Sharvill 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>