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
Ashley C FigeroaSpainElwin Sharvill NEW
Aruna O CaldareraAustraliaAnna Fali NEGOTIATION
Maria R OldroydSpainAnna Fali PROPOSAL
Emily V DilliardIndiaXuxue Feng QUALIFIED
Deepesh K BriddickArgentinaOnyama Limba UNQUALIFIED
Smith E StensethAustraliaAsiya Javayant UNQUALIFIED
Jones A MaletIndiaBernardo Dominic UNQUALIFIED
Emily L TollnerItalyOnyama Limba UNQUALIFIED
Ricardo C BologniaSpainStephen Shaw PROPOSAL
Antonio A BowleyFranceXuxue Feng RENEWAL
Munro Q ButtFranceAnna Fali QUALIFIED
Kaitlin F RimBrazilIoni Bowcher NEW
Costa J GillianItalyIoni Bowcher NEGOTIATION
Mayumi O GarufiSpainElwin Sharvill PROPOSAL
Morrow C GarufiAustraliaElwin Sharvill NEGOTIATION
Adams T GillianGermanyIoni Bowcher NEW
Mayumi U NestleFranceXuxue Feng NEW
Darci Q WhobreyJapanAmy Elsner RENEWAL
Kadeem T FerenczSpainAsiya Javayant QUALIFIED
Leja V PaprockiCanadaBernardo Dominic UNQUALIFIED
Deepesh Z MaletUnited KingdomOnyama Limba UNQUALIFIED
Murillo O TollnerIndiaAnna Fali QUALIFIED
Clifford D AlbaresRussiaAmy Elsner PROPOSAL
Antonio B BowleyFranceStephen Shaw NEGOTIATION
Mayumi I StockhamUnited KingdomAsiya Javayant RENEWAL
Tony M ChuiJapanAsiya Javayant PROPOSAL
Antonio O OstroskyArgentinaXuxue Feng RENEWAL
Arvin U PerinUnited KingdomAnna Fali QUALIFIED
Isabel T FollerSpainElwin Sharvill NEGOTIATION
Wickens J ChuiCanadaAsiya Javayant NEGOTIATION
Ivar H MarrierCanadaIoni Bowcher PROPOSAL
Antonio N SaylorsAustraliaXuxue Feng NEW
Jeanfrancois Q StensethCanadaAnna Fali UNQUALIFIED
Maria X TollnerSpainBernardo Dominic NEGOTIATION
Deepesh K SergiJapanAsiya Javayant UNQUALIFIED
Johnson N NickaFranceAmy Elsner PROPOSAL
Leja P FerenczGermanyAsiya Javayant QUALIFIED
Claire P GauchoSpainAsiya Javayant RENEWAL
Darci V WieserIndiaAmy Elsner RENEWAL
Kadeem V NickaGermanyIoni Bowcher UNQUALIFIED
Murillo M GauchoRussiaAnna Fali QUALIFIED
Deepesh I InouyeIndiaElwin Sharvill NEGOTIATION
Aditya S SergiArgentinaStephen Shaw NEGOTIATION
Munro D RulapaughBrazilIoni Bowcher QUALIFIED
Isabel E SergiJapanAsiya Javayant RENEWAL
Francesco P MaletBrazilBernardo Dominic QUALIFIED
Deepesh M VenereItalyStephen Shaw UNQUALIFIED
Costa Q WhobreyItalyAmy Elsner NEW
Alejandro M MaletAustraliaStephen Shaw RENEWAL
Sinclair I StockhamItalyXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Emily D PerinCanadaOnyama Limba PROPOSAL
Francesco M GauchoBrazilElwin Sharvill RENEWAL
Maisha O FollerArgentinaXuxue Feng NEW
Kadeem K MarrierFranceElwin Sharvill NEW
Octavia R NickaSpainIoni Bowcher PROPOSAL
David W TollnerGermanyBernardo Dominic NEW
Nicolas P SaylorsBrazilIvan Magalhaes NEW
Maria T MorascaGermanyElwin Sharvill NEW
Octavia E DilliardIndiaBernardo Dominic RENEWAL
Kaitlin V IturbideFranceStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel C FigeroaAustralia2026-07-30Commercial Press PROPOSAL85Xuxue Feng
1001Misaki I RulapaughJapan2026-07-29Dorl, James J Esq NEW64Xuxue Feng
1002Cody J BologniaItaly2026-07-16Rousseaux, Michael Esq RENEWAL91Elwin Sharvill
1003Morrow Q FerenczUnited Kingdom2026-08-01Rangoni Of Florence PROPOSAL73Stephen Shaw
1004Johnson Q VocelkaArgentina2026-08-01Chanay, Jeffrey A Esq UNQUALIFIED12Bernardo Dominic
1005Mujtaba Z FlosiUnited Kingdom2026-07-22Feiner Bros QUALIFIED90Xuxue Feng
1006Greenwood Z GlickCanada2026-07-24Buckley Miller Wright RENEWAL91Ioni Bowcher
1007Adams V PerinRussia2026-07-16Morlong Associates NEW23Stephen Shaw
1008Kadeem T WaycottJapan2026-08-06Morlong Associates NEW48Ioni Bowcher
1009Arvin G VenereItaly2026-08-07Commercial Press PROPOSAL15Ivan Magalhaes
1010Chavez N FigeroaRussia2026-07-15Rangoni Of Florence QUALIFIED12Asiya Javayant
1011Chavez R SergiArgentina2026-08-10Feltz Printing Service NEGOTIATION93Elwin Sharvill
1012Ivar J RutaSpain2026-07-31Commercial Press RENEWAL75Stephen Shaw
1013Octavia U MaletRussia2026-08-04Chemel, James L Cpa UNQUALIFIED60Bernardo Dominic
1014Maisha B ShinkoFrance2026-07-26Feltz Printing Service NEGOTIATION43Ivan Magalhaes
1015Alejandro B MaletIndia2026-07-16Morlong Associates PROPOSAL36Elwin Sharvill
1016Deepesh P RutaItaly2026-07-16Chanay, Jeffrey A Esq RENEWAL96Ivan Magalhaes
1017Deepesh Y SaylorsItaly2026-07-29Rangoni Of Florence PROPOSAL72Anna Fali
1018Faith M GillianJapan2026-08-01Chanay, Jeffrey A Esq NEW38Amy Elsner
1019Deepesh R MarrierItaly2026-07-15Printing Dimensions QUALIFIED66Bernardo Dominic
1020Faith V CampainJapan2026-07-30Rousseaux, Michael Esq UNQUALIFIED40Ivan Magalhaes
1021Johnson P ShinkoAustralia2026-07-26Buckley Miller Wright UNQUALIFIED78Ivan Magalhaes
1022Sinclair E FlosiRussia2026-07-15Rousseaux, Michael Esq NEW10Asiya Javayant
1023Chavez Q SlusarskiAustralia2026-07-18Benton, John B Jr QUALIFIED53Ivan Magalhaes
1024Leja B StensethAustralia2026-07-25Feltz Printing Service RENEWAL75Bernardo Dominic
1025James X RimUnited Kingdom2026-08-02King, Christopher A Esq QUALIFIED64Xuxue Feng
1026Emily I MaletArgentina2026-07-16Dorl, James J Esq QUALIFIED65Elwin Sharvill
1027Munro G VocelkaCanada2026-07-27Feltz Printing Service RENEWAL66Asiya Javayant
1028Julie B RimSpain2026-07-31Feiner Bros PROPOSAL92Onyama Limba
1029Deepesh D SaylorsIndia2026-08-04King, Christopher A Esq PROPOSAL13Stephen Shaw
1030Maria W WhobreyAustralia2026-08-13Feiner Bros RENEWAL23Bernardo Dominic
1031Leja E MarrierUnited Kingdom2026-07-21Printing Dimensions NEW48Stephen Shaw
1032Jennifer L MarrierSpain2026-07-24Chapman, Ross E Esq NEGOTIATION84Stephen Shaw
1033Stacey F GarufiFrance2026-08-12King, Christopher A Esq PROPOSAL57Xuxue Feng
1034Aika Q FollerJapan2026-08-01Morlong Associates QUALIFIED20Amy Elsner
1035Julie Z CampainAustralia2026-07-19Rangoni Of Florence NEW39Ioni Bowcher
1036Ivar R GlickCanada2026-07-22King, Christopher A Esq UNQUALIFIED55Ivan Magalhaes
1037Rodrigues I WieserJapan2026-08-09Dorl, James J Esq NEGOTIATION77Onyama Limba
1038Francesco G RoysterAustralia2026-07-25Chanay, Jeffrey A Esq PROPOSAL6Anna Fali
1039Leon R KuskoGermany2026-08-03Chapman, Ross E Esq PROPOSAL81Bernardo Dominic
1040Silvio H FigeroaItaly2026-08-08Morlong Associates NEW56Ioni Bowcher
1041Aruna D GillianUnited Kingdom2026-07-31Buckley Miller Wright NEW4Onyama Limba
1042David T FollerBrazil2026-07-19Feltz Printing Service PROPOSAL84Stephen Shaw
1043Ivar N NickaIndia2026-07-21Buckley Miller Wright NEW35Anna Fali
1044Juan X RoysterArgentina2026-07-25Morlong Associates NEW3Amy Elsner
1045Wickens G TollnerBrazil2026-07-18Printing Dimensions UNQUALIFIED7Stephen Shaw
1046Jones U RutaItaly2026-08-04Chemel, James L Cpa QUALIFIED65Asiya Javayant
1047Jones Y ShinkoArgentina2026-07-17Commercial Press RENEWAL24Xuxue Feng
1048Clifford M StensethJapan2026-07-25King, Christopher A Esq PROPOSAL43Ivan Magalhaes
1049Clifford P ShinkoItaly2026-07-25Chapman, Ross E Esq QUALIFIED71Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Nicolas S CaudyJapanStephen Shaw NEGOTIATION
Francesco E SlusarskiCanadaElwin Sharvill UNQUALIFIED
Munro L RoysterGermanyAmy Elsner QUALIFIED
Misaki A SchemmerJapanAmy Elsner UNQUALIFIED
Aditya N MorascaFranceAsiya Javayant RENEWAL
Maria A FerenczFranceIvan Magalhaes UNQUALIFIED
Kadeem X RulapaughJapanAnna Fali PROPOSAL
Darci G SlusarskiArgentinaElwin Sharvill RENEWAL
Antonio T OldroydSpainElwin Sharvill NEW
Faith Y TollnerGermanyBernardo Dominic RENEWAL
Rodrigues V StockhamCanadaAsiya Javayant UNQUALIFIED
Chavez X RulapaughJapanIvan Magalhaes RENEWAL
Silvio X FigeroaRussiaStephen Shaw QUALIFIED
Octavia A RutaRussiaBernardo Dominic QUALIFIED
Maria B MarrierArgentinaIoni Bowcher NEW
Morrow M MarrierBrazilBernardo Dominic RENEWAL
Faith R ShinkoBrazilAsiya Javayant NEW
Juan T DarakjyItalyOnyama Limba NEGOTIATION
Kadeem L DoeRussiaBernardo Dominic UNQUALIFIED
Jennifer N PerinJapanAnna Fali NEW
Adams V GarufiFranceBernardo Dominic RENEWAL
Salvatore T SchemmerRussiaElwin Sharvill RENEWAL
Greenwood M BriddickArgentinaOnyama Limba UNQUALIFIED
Isabel M FlosiArgentinaAsiya Javayant UNQUALIFIED
Izzy T ButtUnited KingdomAnna Fali QUALIFIED
Aditya B WhobreySpainElwin Sharvill NEGOTIATION
Aditya D InouyeCanadaBernardo Dominic NEW
Ivar M FlosiSpainStephen Shaw UNQUALIFIED
Darci D FigeroaJapanIoni Bowcher UNQUALIFIED
Ivar P MacleadIndiaAmy Elsner QUALIFIED
Deepesh G MarrierFranceIoni Bowcher UNQUALIFIED
Julie P VenereJapanAmy Elsner NEW
David E GarufiGermanyIoni Bowcher QUALIFIED
Tony S BologniaUnited KingdomAsiya Javayant NEGOTIATION
Darci R DarakjyItalyAmy Elsner NEGOTIATION
Alejandro D ChuiUnited KingdomOnyama Limba QUALIFIED
Smith P VenereAustraliaBernardo Dominic UNQUALIFIED
Tony L SlusarskiUnited KingdomAmy Elsner NEW
Ashley B GarufiFranceAmy Elsner QUALIFIED
Jefferson M PerinBrazilStephen Shaw RENEWAL
Morrow J BologniaRussiaAmy Elsner NEGOTIATION
Ashley C GarufiCanadaElwin Sharvill PROPOSAL
Juan N RutaAustraliaAmy Elsner NEGOTIATION
Isabel A VocelkaIndiaStephen Shaw NEW
Greenwood R GauchoAustraliaAmy Elsner UNQUALIFIED
Maisha L StensethRussiaIvan Magalhaes QUALIFIED
Tony G WieserIndiaBernardo Dominic UNQUALIFIED
Aditya N OstroskyBrazilAsiya Javayant NEGOTIATION
Rodrigues V StockhamItalyStephen Shaw RENEWAL
Juan F AlbaresRussiaXuxue Feng PROPOSAL
Frozen Columns
Name
Murillo I Poquette
Izzy F Butt
Faith V Butt
Salvatore M Stockham
Salvatore Z Kolmetz
Julie T Inouye
Izzy U Marrier
Morrow Q Rim
Kaitlin C Butt
Mayumi Z Bowley
Johnson J Sergi
Kadeem M Doe
Julie Q Ruta
Jones J Doe
Antonio J Morasca
Claire J Ruta
Misaki S Briddick
Julie G Shinko
Juan O Glick
Maria P Sergi
Jennifer K Ferencz
Munro X Kusko
Francesco Z Morasca
Antonio W Saylors
Ivar I Poquette
Nicolas X Amigon
Mujtaba O Whobrey
Jeanfrancois G Wieser
Smith W Gaucho
Ricardo X Albares
Ashley X Venere
Mayumi N Rim
Ricardo L Venere
Clifford R Malet
Maisha X Ruta
Tony H Briddick
Rodrigues E Briddick
Costa O Amigon
Jefferson G Ostrosky
Julie Z Rulapaugh
Leja H Campain
Alejandro L Inouye
Antonio F Garufi
Mujtaba D Nicka
Misaki P Tollner
Salvatore C Morasca
Leja E Dilliard
Silvio G Figeroa
Leon P Chui
James V Stockham
IdCountryDate
1000Japan2026-08-10
1001United Kingdom2026-08-10
1002United Kingdom2026-07-18
1003Canada2026-07-29
1004Argentina2026-08-08
1005Italy2026-07-27
1006United Kingdom2026-07-20
1007Germany2026-07-18
1008Germany2026-08-12
1009Italy2026-08-01
1010United Kingdom2026-07-22
1011United Kingdom2026-07-15
1012India2026-08-09
1013United Kingdom2026-08-02
1014Russia2026-07-15
1015Japan2026-07-31
1016Brazil2026-07-27
1017Spain2026-08-07
1018Russia2026-07-31
1019Russia2026-08-10
1020Italy2026-07-22
1021Russia2026-07-23
1022India2026-07-19
1023Italy2026-07-21
1024Japan2026-07-26
1025Spain2026-07-16
1026Canada2026-07-25
1027Russia2026-07-22
1028Argentina2026-07-21
1029Spain2026-07-19
1030United Kingdom2026-07-16
1031Brazil2026-08-10
1032India2026-08-02
1033Italy2026-07-20
1034Germany2026-07-20
1035Russia2026-08-08
1036Brazil2026-08-11
1037United Kingdom2026-07-18
1038Canada2026-08-13
1039Canada2026-07-20
1040Brazil2026-07-20
1041Argentina2026-07-17
1042Italy2026-08-06
1043India2026-07-24
1044India2026-07-25
1045Canada2026-08-13
1046Argentina2026-07-31
1047Italy2026-07-17
1048Japan2026-08-11
1049Brazil2026-08-10

On-Demand Data

NameIdCountryDate
Maria V Kusko1000France2026-08-12
Mujtaba Q Gillian1001Germany2026-07-27
Arvin M Wieser1002India2026-08-07
Kadeem V Whobrey1003United Kingdom2026-07-31
Claire N Ruta1004India2026-08-07
Salvatore V Kusko1005Germany2026-08-02
Clifford J Maclead1006Australia2026-08-03
Greenwood A Kusko1007Argentina2026-08-07
David S Waycott1008Canada2026-07-25
Costa Q Ruta1009United Kingdom2026-08-03
Francesco E Nestle1010Australia2026-07-28
Nicolas K Royster1011Germany2026-07-27
Aruna K Iturbide1012Germany2026-07-23
Mayumi L Glick1013Canada2026-08-02
Ivar T Whobrey1014Australia2026-07-30
Ricardo U Kolmetz1015Canada2026-08-01
Maisha P Ruta1016Italy2026-07-29
Sinclair A Gaucho1017Japan2026-08-01
Murillo X Morasca1018Argentina2026-07-23
Tony E Chui1019Argentina2026-08-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie K GlickUnited KingdomAsiya Javayant NEGOTIATION
Maria N AmigonArgentinaStephen Shaw PROPOSAL
Munro P MarrierAustraliaAnna Fali RENEWAL
Rodrigues D MarrierArgentinaAnna Fali QUALIFIED
Alejandro Z WaycottAustraliaStephen Shaw NEW
James D ShinkoIndiaXuxue Feng NEGOTIATION
Silvio Q KuskoUnited KingdomStephen Shaw NEGOTIATION
Emily V ChuiFranceOnyama Limba RENEWAL
Tony D ShinkoAustraliaStephen Shaw UNQUALIFIED
Leon R GlickSpainIvan Magalhaes UNQUALIFIED
Silvio O RulapaughCanadaElwin Sharvill RENEWAL
Julie X NestleSpainAnna Fali NEW
Alejandro R PoquetteRussiaOnyama Limba RENEWAL
Sinclair G VocelkaSpainBernardo Dominic QUALIFIED
Maria A BologniaItalyAsiya Javayant QUALIFIED
Antonio Q MorascaItalyBernardo Dominic PROPOSAL
Antonio S StockhamCanadaBernardo Dominic UNQUALIFIED
Claire H ShinkoJapanXuxue Feng RENEWAL
Tony D SlusarskiGermanyAnna Fali RENEWAL
Claire W BowleyCanadaAsiya Javayant RENEWAL
Juan Z CampainRussiaIvan Magalhaes QUALIFIED
Ashley M DilliardSpainElwin Sharvill QUALIFIED
Aditya J OstroskyItalyIvan Magalhaes PROPOSAL
Antonio R AlbaresCanadaAnna Fali QUALIFIED
Mayumi R PaprockiRussiaAmy Elsner UNQUALIFIED
Arvin F BowleyUnited KingdomXuxue Feng NEGOTIATION
David K AmigonIndiaAmy Elsner RENEWAL
Isabel P ButtGermanyIvan Magalhaes RENEWAL
Misaki Z SchemmerUnited KingdomAmy Elsner PROPOSAL
Aruna E KuskoCanadaElwin Sharvill NEGOTIATION
Emily P OldroydGermanyAnna Fali RENEWAL
Costa Z DoeBrazilBernardo Dominic UNQUALIFIED
Claire D ChuiArgentinaIoni Bowcher NEGOTIATION
Leon S InouyeFranceXuxue Feng UNQUALIFIED
Isabel G VenereUnited KingdomAnna Fali RENEWAL
Emily P FollerArgentinaBernardo Dominic RENEWAL
Aruna G DilliardIndiaXuxue Feng NEW
Sinclair C SaylorsJapanAsiya Javayant QUALIFIED
Salvatore V SergiIndiaAmy Elsner UNQUALIFIED
Salvatore H TollnerCanadaXuxue Feng 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>