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
James X RimCanadaOnyama Limba RENEWAL
Ivar B ButtCanadaIoni Bowcher QUALIFIED
Ivar J RoysterArgentinaAmy Elsner PROPOSAL
Jones F CampainIndiaAnna Fali PROPOSAL
Faith V WaycottCanadaAsiya Javayant PROPOSAL
Antonio O BologniaAustraliaElwin Sharvill PROPOSAL
Costa B BriddickUnited KingdomOnyama Limba NEGOTIATION
Kadeem W MarrierBrazilBernardo Dominic NEGOTIATION
Mayumi I RoysterBrazilBernardo Dominic RENEWAL
Francesco K NickaGermanyBernardo Dominic RENEWAL
Emily J StensethCanadaAnna Fali QUALIFIED
Antonio W AmigonRussiaIvan Magalhaes RENEWAL
Kadeem A ChuiBrazilIoni Bowcher UNQUALIFIED
Silvio Z SchemmerCanadaElwin Sharvill PROPOSAL
Sinclair D FigeroaAustraliaStephen Shaw NEGOTIATION
Julie V CaldareraIndiaAmy Elsner PROPOSAL
Arvin Q FigeroaArgentinaAmy Elsner NEW
Jeanfrancois O NestleJapanAmy Elsner NEW
Antonio X MaletJapanXuxue Feng RENEWAL
Stacey X MaletAustraliaIvan Magalhaes QUALIFIED
Kaitlin O PaprockiJapanAmy Elsner UNQUALIFIED
Clifford U SlusarskiGermanyIvan Magalhaes QUALIFIED
Aruna K PaprockiJapanAmy Elsner NEW
Wickens R VenereUnited KingdomIoni Bowcher QUALIFIED
Aruna M RutaItalyOnyama Limba NEW
Rodrigues N MaletRussiaElwin Sharvill UNQUALIFIED
Deepesh O KolmetzArgentinaBernardo Dominic UNQUALIFIED
Leon W BologniaItalyBernardo Dominic QUALIFIED
Munro K ShinkoCanadaOnyama Limba PROPOSAL
Maria Y DoeJapanIvan Magalhaes RENEWAL
Jeanfrancois C OldroydUnited KingdomElwin Sharvill UNQUALIFIED
Jefferson E MaletBrazilXuxue Feng UNQUALIFIED
Johnson Q IturbideArgentinaIvan Magalhaes QUALIFIED
Jones Z MaletAustraliaOnyama Limba UNQUALIFIED
Faith J MacleadFranceIoni Bowcher NEW
Maria M GauchoSpainOnyama Limba QUALIFIED
Jennifer O BriddickItalyElwin Sharvill NEW
Alejandro R KuskoArgentinaElwin Sharvill PROPOSAL
Greenwood I PoquetteFranceIvan Magalhaes RENEWAL
Aditya Q StockhamIndiaAnna Fali RENEWAL
Mujtaba N TollnerCanadaBernardo Dominic NEGOTIATION
Ivar I GauchoAustraliaIvan Magalhaes NEW
Juan R ChuiBrazilAsiya Javayant RENEWAL
Salvatore O CaldareraRussiaIoni Bowcher UNQUALIFIED
Maria R FigeroaArgentinaStephen Shaw NEGOTIATION
Adams P BologniaIndiaStephen Shaw NEGOTIATION
Julie M WieserJapanIvan Magalhaes RENEWAL
David M ButtArgentinaAsiya Javayant QUALIFIED
Francesco A TollnerCanadaIoni Bowcher QUALIFIED
Adams B RimUnited KingdomXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Aruna O InouyeIndiaElwin Sharvill NEGOTIATION
Morrow I RulapaughArgentinaAsiya Javayant NEGOTIATION
Sinclair K RoysterUnited KingdomAnna Fali PROPOSAL
Aruna O BriddickSpainElwin Sharvill NEW
Jones W BologniaItalyIvan Magalhaes QUALIFIED
Maisha R PoquetteBrazilOnyama Limba NEW
Kadeem V AmigonJapanAmy Elsner QUALIFIED
Tony U BologniaFranceAsiya Javayant UNQUALIFIED
Stacey K FlosiFranceAsiya Javayant NEW
Ashley X RutaIndiaAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki N SchemmerBrazil2025-06-02Feltz Printing Service NEGOTIATION35Onyama Limba
1001Francesco K WaycottBrazil2025-05-16Dorl, James J Esq PROPOSAL79Xuxue Feng
1002Jefferson D InouyeSpain2025-06-06Benton, John B Jr PROPOSAL99Bernardo Dominic
1003Francesco B CampainRussia2025-05-22Rangoni Of Florence QUALIFIED63Asiya Javayant
1004Leon K MarrierIndia2025-06-02Chapman, Ross E Esq PROPOSAL10Stephen Shaw
1005Jennifer Q TollnerUnited Kingdom2025-05-16King, Christopher A Esq QUALIFIED51Stephen Shaw
1006Isabel O KuskoItaly2025-05-18Commercial Press NEW36Ivan Magalhaes
1007James K SaylorsCanada2025-06-01Commercial Press QUALIFIED62Onyama Limba
1008Misaki C RoysterSpain2025-05-30Feiner Bros NEGOTIATION55Elwin Sharvill
1009Octavia B MaletSpain2025-05-23Buckley Miller Wright QUALIFIED22Ioni Bowcher
1010Aika E RutaIndia2025-05-16Dorl, James J Esq PROPOSAL21Onyama Limba
1011Faith Q SaylorsBrazil2025-06-11Feiner Bros QUALIFIED92Anna Fali
1012Maria O StockhamAustralia2025-05-30Chemel, James L Cpa RENEWAL55Ivan Magalhaes
1013Jeanfrancois I FlosiFrance2025-05-18Buckley Miller Wright PROPOSAL60Anna Fali
1014Darci U RutaGermany2025-05-23Truhlar And Truhlar Attys PROPOSAL60Amy Elsner
1015Sinclair Y ButtCanada2025-05-18Benton, John B Jr QUALIFIED49Anna Fali
1016Francesco B RutaIndia2025-06-10Printing Dimensions RENEWAL32Asiya Javayant
1017Mujtaba C NestleUnited Kingdom2025-06-13Benton, John B Jr NEW60Onyama Limba
1018Tony W PerinRussia2025-06-13Feiner Bros NEW45Asiya Javayant
1019Francesco H BologniaFrance2025-05-18Chapman, Ross E Esq NEW45Stephen Shaw
1020Isabel S GarufiCanada2025-05-30Feiner Bros PROPOSAL34Bernardo Dominic
1021Jennifer L RulapaughIndia2025-05-24Chemel, James L Cpa NEGOTIATION53Ioni Bowcher
1022Nicolas J StockhamArgentina2025-06-05Morlong Associates UNQUALIFIED52Ioni Bowcher
1023Mayumi W GauchoItaly2025-06-04Chemel, James L Cpa NEW89Xuxue Feng
1024Stacey N PoquetteAustralia2025-05-21Truhlar And Truhlar Attys NEW13Amy Elsner
1025Mayumi L PoquetteArgentina2025-05-16Morlong Associates PROPOSAL62Elwin Sharvill
1026Silvio R SergiCanada2025-06-02King, Christopher A Esq QUALIFIED86Elwin Sharvill
1027Jeanfrancois F WhobreySpain2025-06-02Chemel, James L Cpa NEW0Asiya Javayant
1028Leon N GillianArgentina2025-06-08Chapman, Ross E Esq QUALIFIED82Stephen Shaw
1029Mayumi M NickaBrazil2025-05-18Printing Dimensions PROPOSAL69Xuxue Feng
1030Aika P RutaRussia2025-05-27Chanay, Jeffrey A Esq RENEWAL30Amy Elsner
1031Juan X RoysterRussia2025-05-22Morlong Associates PROPOSAL56Asiya Javayant
1032Costa H MorascaGermany2025-05-31Printing Dimensions PROPOSAL29Xuxue Feng
1033Aika D SlusarskiGermany2025-05-16Feltz Printing Service PROPOSAL68Anna Fali
1034Maisha B WhobreyBrazil2025-06-02Buckley Miller Wright QUALIFIED96Bernardo Dominic
1035Kaitlin I CampainIndia2025-05-20Dorl, James J Esq NEW3Anna Fali
1036Kadeem P FigeroaGermany2025-06-11Commercial Press RENEWAL91Anna Fali
1037Stacey L KolmetzArgentina2025-05-23Truhlar And Truhlar Attys PROPOSAL73Bernardo Dominic
1038Munro R SergiGermany2025-06-01Rangoni Of Florence NEW29Onyama Limba
1039Sinclair V FollerFrance2025-06-12Chemel, James L Cpa RENEWAL19Ivan Magalhaes
1040Morrow L MacleadFrance2025-06-04Truhlar And Truhlar Attys NEW59Anna Fali
1041Misaki M RutaItaly2025-05-28Benton, John B Jr PROPOSAL46Asiya Javayant
1042Maria L GlickUnited Kingdom2025-06-04Chapman, Ross E Esq RENEWAL46Ioni Bowcher
1043Mujtaba T StensethRussia2025-06-13Rousseaux, Michael Esq RENEWAL71Elwin Sharvill
1044Antonio K SergiBrazil2025-05-31Truhlar And Truhlar Attys PROPOSAL75Onyama Limba
1045Juan M PaprockiFrance2025-05-24Printing Dimensions NEGOTIATION86Stephen Shaw
1046Sinclair H FigeroaUnited Kingdom2025-06-14Chanay, Jeffrey A Esq RENEWAL72Anna Fali
1047Mayumi D BriddickArgentina2025-05-21Chapman, Ross E Esq RENEWAL65Ioni Bowcher
1048Costa F MaletArgentina2025-06-05Feltz Printing Service PROPOSAL67Xuxue Feng
1049Emily B ChuiUnited Kingdom2025-06-11Rangoni Of Florence UNQUALIFIED15Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Maria Y GauchoBrazilIvan Magalhaes PROPOSAL
Juan E RutaUnited KingdomIoni Bowcher NEGOTIATION
Leja I StockhamJapanAnna Fali RENEWAL
Jefferson E BologniaUnited KingdomStephen Shaw UNQUALIFIED
Ashley O SergiFranceAnna Fali NEW
James X NestleCanadaElwin Sharvill RENEWAL
Munro B RimCanadaXuxue Feng NEGOTIATION
Johnson L GauchoBrazilStephen Shaw NEGOTIATION
Murillo K MaletUnited KingdomElwin Sharvill PROPOSAL
Nicolas U CaldareraArgentinaOnyama Limba NEGOTIATION
Jennifer A FlosiItalyAsiya Javayant NEW
Smith P ShinkoFranceBernardo Dominic RENEWAL
Izzy I FigeroaFranceAnna Fali NEGOTIATION
Claire T FigeroaIndiaBernardo Dominic NEW
Maria Y StockhamSpainAmy Elsner NEW
Greenwood E DilliardItalyElwin Sharvill NEGOTIATION
Claire R SlusarskiRussiaStephen Shaw UNQUALIFIED
Johnson M MaletIndiaElwin Sharvill NEGOTIATION
Clifford B FollerUnited KingdomAsiya Javayant QUALIFIED
Sinclair U BriddickItalyXuxue Feng UNQUALIFIED
Faith B DoeRussiaIoni Bowcher PROPOSAL
Misaki F ShinkoFranceStephen Shaw PROPOSAL
Kadeem U CampainSpainBernardo Dominic NEW
Costa O WaycottRussiaStephen Shaw PROPOSAL
Wickens A CampainArgentinaElwin Sharvill QUALIFIED
Antonio L DoeAustraliaBernardo Dominic PROPOSAL
Ricardo K RoysterCanadaBernardo Dominic QUALIFIED
Maria X InouyeAustraliaAsiya Javayant NEGOTIATION
Aditya M RimJapanAmy Elsner UNQUALIFIED
Morrow B SergiIndiaAnna Fali QUALIFIED
Wickens L MaletJapanBernardo Dominic UNQUALIFIED
Smith G PaprockiGermanyBernardo Dominic PROPOSAL
Smith D BriddickAustraliaXuxue Feng UNQUALIFIED
Jennifer W StensethFranceAmy Elsner RENEWAL
James R FerenczCanadaAnna Fali NEGOTIATION
Rodrigues R BologniaArgentinaAnna Fali QUALIFIED
Kadeem K RoysterCanadaAsiya Javayant NEGOTIATION
Nicolas Y RimSpainXuxue Feng QUALIFIED
Tony G WieserCanadaIoni Bowcher RENEWAL
Wickens W InouyeFranceAsiya Javayant QUALIFIED
Emily J GarufiRussiaAmy Elsner NEGOTIATION
Jefferson U DoeArgentinaOnyama Limba QUALIFIED
Darci E DoeCanadaAnna Fali NEW
Kadeem L MaletJapanBernardo Dominic NEW
Mujtaba J BriddickAustraliaAmy Elsner NEGOTIATION
Jones F WaycottCanadaOnyama Limba PROPOSAL
Jefferson C MaletAustraliaIvan Magalhaes UNQUALIFIED
Greenwood V DilliardIndiaOnyama Limba PROPOSAL
Julie K BriddickAustraliaAnna Fali RENEWAL
Rodrigues G PoquetteBrazilAnna Fali PROPOSAL
Frozen Columns
Name
Faith N Slusarski
Claire S Ruta
Nicolas I Garufi
Faith X Rim
Adams D Chui
Salvatore Q Caldarera
Sinclair X Bolognia
Leja B Campain
Maisha F Paprocki
Ricardo A Shinko
Wickens H Nicka
Greenwood V Ruta
Emily V Caudy
Ashley E Rulapaugh
Faith F Schemmer
Wickens U Bolognia
James Y Malet
Antonio F Flosi
Nicolas K Oldroyd
Stacey J Schemmer
Aditya T Ferencz
Arvin V Flosi
Leon P Foller
Jones I Gillian
Aruna E Saylors
Smith M Maclead
Antonio Z Paprocki
Cody Y Waycott
Tony U Ostrosky
Kadeem N Poquette
Jennifer I Morasca
Murillo N Foller
Leja G Iturbide
Jeanfrancois T Kusko
Claire J Shinko
Leon Y Stockham
Leon L Wieser
Faith G Foller
Chavez Q Ferencz
Salvatore M Vocelka
Aditya M Maclead
Alejandro Y Glick
Jennifer N Maclead
Emily V Nicka
Ashley D Inouye
Leja X Tollner
Costa P Rulapaugh
Sinclair J Caudy
Nicolas H Stenseth
James Z Sergi
IdCountryDate
1000Italy2025-05-27
1001Canada2025-05-24
1002Russia2025-06-03
1003Spain2025-06-13
1004Germany2025-06-07
1005Brazil2025-05-29
1006Brazil2025-06-14
1007Argentina2025-05-26
1008France2025-05-31
1009Argentina2025-06-08
1010United Kingdom2025-06-14
1011Spain2025-05-18
1012India2025-05-23
1013Spain2025-05-26
1014Canada2025-06-07
1015India2025-06-04
1016Japan2025-05-18
1017Russia2025-05-24
1018United Kingdom2025-05-16
1019Germany2025-05-22
1020Canada2025-05-28
1021Brazil2025-05-29
1022Germany2025-05-29
1023Russia2025-05-19
1024Spain2025-06-07
1025Argentina2025-05-22
1026Argentina2025-06-05
1027Brazil2025-05-19
1028France2025-05-19
1029Germany2025-05-29
1030Brazil2025-05-24
1031Canada2025-05-26
1032Brazil2025-06-13
1033Canada2025-05-26
1034Canada2025-05-25
1035United Kingdom2025-05-25
1036United Kingdom2025-06-11
1037Japan2025-05-16
1038Brazil2025-06-12
1039Russia2025-05-17
1040Russia2025-05-24
1041Argentina2025-06-11
1042India2025-06-05
1043Spain2025-05-30
1044Canada2025-06-08
1045United Kingdom2025-05-25
1046Australia2025-06-07
1047United Kingdom2025-05-31
1048Argentina2025-05-24
1049Brazil2025-06-12

On-Demand Data

NameIdCountryDate
Ivar H Glick1000Australia2025-06-02
James K Stenseth1001Argentina2025-06-06
Octavia S Royster1002Italy2025-06-06
Emily S Foller1003Italy2025-05-19
Faith S Gaucho1004Germany2025-05-18
Deepesh L Oldroyd1005United Kingdom2025-05-20
Costa K Campain1006India2025-05-18
Kaitlin G Perin1007India2025-06-11
Mujtaba L Butt1008France2025-06-11
Mayumi A Chui1009India2025-05-18
Maisha D Waycott1010France2025-05-22
Johnson A Malet1011France2025-05-22
Munro O Wieser1012Russia2025-06-07
Aditya L Wieser1013Japan2025-06-09
Faith R Briddick1014India2025-05-27
Jones N Garufi1015Argentina2025-06-12
Chavez C Kolmetz1016Italy2025-05-19
Aditya I Kolmetz1017Italy2025-06-08
Clifford L Butt1018Australia2025-06-01
Jones Q Butt1019India2025-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya W PoquetteArgentinaIoni Bowcher PROPOSAL
Morrow J ShinkoSpainAsiya Javayant QUALIFIED
Deepesh Z RulapaughBrazilStephen Shaw PROPOSAL
Murillo I SaylorsCanadaOnyama Limba RENEWAL
Aditya V StensethFranceIvan Magalhaes UNQUALIFIED
Chavez V KuskoArgentinaElwin Sharvill NEGOTIATION
Cody W FlosiSpainIoni Bowcher RENEWAL
Aruna K GarufiItalyAsiya Javayant QUALIFIED
Ivar L TollnerJapanOnyama Limba NEW
Misaki K GlickBrazilIoni Bowcher PROPOSAL
Deepesh H StensethArgentinaXuxue Feng QUALIFIED
Silvio S WhobreyItalyAnna Fali PROPOSAL
Nicolas O CaldareraArgentinaIvan Magalhaes NEW
Sinclair W MaletAustraliaStephen Shaw RENEWAL
Cody I FlosiFranceStephen Shaw RENEWAL
Deepesh R SlusarskiFranceXuxue Feng NEW
Salvatore R GlickIndiaIoni Bowcher RENEWAL
Aditya L FlosiSpainAnna Fali PROPOSAL
Alejandro P SlusarskiSpainElwin Sharvill NEGOTIATION
Izzy A CaudySpainOnyama Limba NEGOTIATION
Clifford F AlbaresSpainIvan Magalhaes NEGOTIATION
Emily Y BowleyCanadaOnyama Limba RENEWAL
Adams S CaldareraIndiaIoni Bowcher UNQUALIFIED
Johnson L VocelkaFranceIoni Bowcher NEW
Stacey B BowleyBrazilAmy Elsner UNQUALIFIED
Wickens L GauchoSpainIvan Magalhaes RENEWAL
Izzy M WieserFranceBernardo Dominic NEGOTIATION
Isabel U BologniaAustraliaStephen Shaw RENEWAL
Emily T MaletGermanyIoni Bowcher NEW
Cody A MaletBrazilAsiya Javayant RENEWAL
Maria H FigeroaUnited KingdomOnyama Limba NEW
Ashley O CampainItalyElwin Sharvill NEW
Sinclair Y SlusarskiAustraliaAnna Fali NEGOTIATION
James E KuskoGermanyAnna Fali PROPOSAL
Jefferson C GillianSpainBernardo Dominic RENEWAL
Murillo O PerinRussiaOnyama Limba RENEWAL
Sinclair B RoysterSpainIoni Bowcher NEW
Nicolas S ButtFranceAmy Elsner NEW
Julie V BriddickIndiaAmy Elsner QUALIFIED
Misaki N AmigonItalyOnyama Limba RENEWAL

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