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
Mayumi X NestleRussiaIvan Magalhaes NEW
Salvatore L StockhamSpainElwin Sharvill NEW
Leon V NickaGermanyIvan Magalhaes NEW
Munro A VenereGermanyOnyama Limba PROPOSAL
Jeanfrancois R RutaSpainAmy Elsner UNQUALIFIED
Tony Z KolmetzAustraliaBernardo Dominic QUALIFIED
Leja E PerinAustraliaIvan Magalhaes RENEWAL
Munro A RoysterGermanyXuxue Feng RENEWAL
Octavia S GlickRussiaElwin Sharvill UNQUALIFIED
Jeanfrancois J CaudyArgentinaOnyama Limba PROPOSAL
James M MarrierRussiaStephen Shaw PROPOSAL
Murillo L TollnerRussiaAmy Elsner QUALIFIED
Antonio A RoysterJapanStephen Shaw QUALIFIED
Jefferson I DoeArgentinaOnyama Limba PROPOSAL
Jefferson X PerinGermanyIoni Bowcher NEW
Jennifer L SchemmerArgentinaIoni Bowcher NEGOTIATION
Aruna F DarakjySpainAnna Fali NEGOTIATION
Juan U FigeroaJapanIoni Bowcher QUALIFIED
Ivar C DarakjyJapanIoni Bowcher NEW
Jeanfrancois F VenereGermanyAnna Fali QUALIFIED
Stacey N GillianFranceIoni Bowcher QUALIFIED
Wickens I WaycottCanadaAmy Elsner NEGOTIATION
Claire N NestleBrazilAmy Elsner PROPOSAL
Cody N StensethSpainAnna Fali UNQUALIFIED
Cody X BriddickFranceIvan Magalhaes RENEWAL
Deepesh L SaylorsBrazilOnyama Limba RENEWAL
Ashley I RimRussiaIoni Bowcher RENEWAL
Greenwood U NestleArgentinaIoni Bowcher QUALIFIED
Octavia N VocelkaCanadaXuxue Feng NEW
Leja S GauchoCanadaElwin Sharvill NEW
Jones P TollnerJapanIvan Magalhaes QUALIFIED
Smith T CampainSpainAmy Elsner NEW
Jefferson S NestleItalyBernardo Dominic PROPOSAL
Clifford U MaletBrazilIvan Magalhaes NEGOTIATION
Maria H SlusarskiUnited KingdomIoni Bowcher QUALIFIED
Julie S OstroskyIndiaIoni Bowcher PROPOSAL
Adams A MaletRussiaXuxue Feng PROPOSAL
Jones O FerenczFranceStephen Shaw UNQUALIFIED
Emily X WhobreyAustraliaBernardo Dominic RENEWAL
Emily A CaudyUnited KingdomBernardo Dominic UNQUALIFIED
Antonio P MaletUnited KingdomAsiya Javayant NEW
Jennifer V GlickItalyAnna Fali UNQUALIFIED
Juan K RoysterGermanyAsiya Javayant PROPOSAL
Stacey V WhobreyGermanyIoni Bowcher PROPOSAL
Mujtaba A BologniaCanadaBernardo Dominic QUALIFIED
James H KolmetzArgentinaIvan Magalhaes UNQUALIFIED
Costa E KolmetzSpainStephen Shaw NEGOTIATION
Cody T VocelkaIndiaIvan Magalhaes QUALIFIED
Aika S DoeRussiaBernardo Dominic RENEWAL
Izzy S BologniaAustraliaOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Aruna L NestleJapanBernardo Dominic RENEWAL
Mayumi R BologniaUnited KingdomOnyama Limba NEW
David P RimFranceAmy Elsner RENEWAL
Darci Y MarrierItalyAmy Elsner RENEWAL
Costa C PaprockiCanadaXuxue Feng UNQUALIFIED
Morrow U MaletIndiaElwin Sharvill UNQUALIFIED
Maria K FollerSpainAnna Fali RENEWAL
Ricardo C WaycottFranceAmy Elsner RENEWAL
Izzy G CaudyUnited KingdomOnyama Limba QUALIFIED
Mujtaba V FollerArgentinaXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones L GillianFrance2024-06-16Commercial Press RENEWAL16Ivan Magalhaes
1001Silvio R SchemmerAustralia2024-05-28Truhlar And Truhlar Attys QUALIFIED2Onyama Limba
1002Morrow Q KolmetzAustralia2024-06-19Rousseaux, Michael Esq NEGOTIATION64Ivan Magalhaes
1003Ivar K GillianRussia2024-06-02Truhlar And Truhlar Attys QUALIFIED39Ioni Bowcher
1004Aika R VocelkaCanada2024-06-02Feiner Bros NEW38Stephen Shaw
1005Johnson E RimAustralia2024-06-20Feiner Bros NEW15Ivan Magalhaes
1006Julie W RoysterJapan2024-06-16Buckley Miller Wright UNQUALIFIED16Ioni Bowcher
1007Ashley O GlickSpain2024-05-29Chanay, Jeffrey A Esq NEGOTIATION56Anna Fali
1008Aruna S OstroskyItaly2024-06-22Chanay, Jeffrey A Esq NEW54Asiya Javayant
1009Claire A PaprockiAustralia2024-06-05Dorl, James J Esq PROPOSAL42Amy Elsner
1010David X DoeGermany2024-05-26Dorl, James J Esq PROPOSAL4Asiya Javayant
1011Misaki Z SaylorsItaly2024-06-02Benton, John B Jr UNQUALIFIED19Ioni Bowcher
1012Claire T BologniaUnited Kingdom2024-06-02Buckley Miller Wright NEGOTIATION61Ioni Bowcher
1013Ricardo I PerinGermany2024-06-15Printing Dimensions NEW29Ivan Magalhaes
1014Antonio F InouyeJapan2024-05-29Rousseaux, Michael Esq NEW57Amy Elsner
1015David S FerenczRussia2024-05-29King, Christopher A Esq NEGOTIATION66Elwin Sharvill
1016Darci Y ChuiArgentina2024-06-09King, Christopher A Esq NEGOTIATION99Amy Elsner
1017Salvatore I WieserFrance2024-06-02Buckley Miller Wright PROPOSAL3Asiya Javayant
1018Murillo J InouyeRussia2024-06-17Commercial Press RENEWAL41Asiya Javayant
1019Stacey E SchemmerSpain2024-06-13Rousseaux, Michael Esq UNQUALIFIED83Asiya Javayant
1020Isabel P KolmetzSpain2024-06-06Commercial Press QUALIFIED45Amy Elsner
1021Ricardo X FollerGermany2024-05-26Chanay, Jeffrey A Esq UNQUALIFIED91Xuxue Feng
1022Stacey R StockhamBrazil2024-05-26Chapman, Ross E Esq QUALIFIED79Stephen Shaw
1023Smith T RutaItaly2024-06-04Chanay, Jeffrey A Esq QUALIFIED3Amy Elsner
1024Kadeem Z InouyeJapan2024-05-26Benton, John B Jr PROPOSAL78Anna Fali
1025Leja C BriddickJapan2024-06-20Rangoni Of Florence UNQUALIFIED29Asiya Javayant
1026Cody P CampainCanada2024-05-28Truhlar And Truhlar Attys UNQUALIFIED40Elwin Sharvill
1027Silvio F OstroskyUnited Kingdom2024-06-17King, Christopher A Esq UNQUALIFIED42Bernardo Dominic
1028Maria Z ChuiJapan2024-06-11Benton, John B Jr NEW47Bernardo Dominic
1029Jones T KuskoFrance2024-06-09Printing Dimensions RENEWAL58Amy Elsner
1030Kaitlin Y RimCanada2024-06-12Printing Dimensions NEW36Elwin Sharvill
1031Claire L ButtUnited Kingdom2024-05-27Feltz Printing Service NEW72Ioni Bowcher
1032Wickens S VocelkaCanada2024-05-31Buckley Miller Wright NEGOTIATION78Stephen Shaw
1033David A PaprockiGermany2024-06-07Dorl, James J Esq RENEWAL22Xuxue Feng
1034Clifford N OldroydIndia2024-06-16Truhlar And Truhlar Attys RENEWAL87Elwin Sharvill
1035Morrow W StensethUnited Kingdom2024-06-02Morlong Associates UNQUALIFIED6Asiya Javayant
1036Juan L TollnerFrance2024-06-04Buckley Miller Wright UNQUALIFIED3Onyama Limba
1037Greenwood G NickaGermany2024-06-01Chapman, Ross E Esq NEW3Ivan Magalhaes
1038Jefferson A WieserArgentina2024-05-31Chapman, Ross E Esq NEW12Bernardo Dominic
1039Claire I RoysterGermany2024-05-25Rangoni Of Florence NEW85Stephen Shaw
1040Rodrigues X StockhamArgentina2024-05-29Feltz Printing Service NEW0Elwin Sharvill
1041Morrow F PoquetteGermany2024-06-12Chemel, James L Cpa NEGOTIATION69Xuxue Feng
1042Misaki Z BowleyBrazil2024-06-06Chemel, James L Cpa NEW96Elwin Sharvill
1043Kadeem O CampainFrance2024-06-01Truhlar And Truhlar Attys PROPOSAL30Elwin Sharvill
1044Mayumi B GillianFrance2024-06-13Truhlar And Truhlar Attys NEW40Ivan Magalhaes
1045Aditya E PerinIndia2024-06-20Truhlar And Truhlar Attys NEW62Asiya Javayant
1046Emily V FollerJapan2024-06-03Truhlar And Truhlar Attys UNQUALIFIED33Amy Elsner
1047Alejandro Y CampainJapan2024-06-08Chanay, Jeffrey A Esq PROPOSAL83Asiya Javayant
1048Isabel P GauchoFrance2024-06-10Commercial Press PROPOSAL86Ivan Magalhaes
1049Stacey H GarufiRussia2024-05-28Feltz Printing Service QUALIFIED23Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Francesco U SergiBrazilIoni Bowcher RENEWAL
Tony G GarufiCanadaAsiya Javayant NEGOTIATION
Johnson X RimGermanyStephen Shaw NEGOTIATION
Chavez C SaylorsCanadaAnna Fali RENEWAL
Emily D FlosiCanadaOnyama Limba RENEWAL
Tony O MaletAustraliaAnna Fali QUALIFIED
Mayumi Z KuskoBrazilIoni Bowcher PROPOSAL
Julie N SergiItalyOnyama Limba RENEWAL
Adams C OstroskyAustraliaIoni Bowcher NEW
Jeanfrancois R BriddickBrazilBernardo Dominic NEGOTIATION
Aika G CampainItalyOnyama Limba RENEWAL
Jennifer Y PerinFranceStephen Shaw PROPOSAL
Ashley P BologniaJapanOnyama Limba NEGOTIATION
Ashley A RutaSpainIvan Magalhaes NEW
Morrow X CaudyGermanyAsiya Javayant UNQUALIFIED
Izzy S ShinkoSpainAsiya Javayant NEGOTIATION
Antonio E InouyeItalyIoni Bowcher PROPOSAL
Isabel M InouyeFranceIvan Magalhaes NEGOTIATION
Octavia A DoeIndiaAsiya Javayant NEGOTIATION
Juan J SlusarskiSpainAmy Elsner QUALIFIED
Johnson C SergiArgentinaAsiya Javayant RENEWAL
Antonio Q GillianIndiaOnyama Limba NEW
James U MaletIndiaAnna Fali PROPOSAL
Smith G VocelkaGermanyStephen Shaw UNQUALIFIED
Deepesh T MarrierSpainOnyama Limba RENEWAL
Octavia O VocelkaAustraliaIvan Magalhaes RENEWAL
Costa M IturbideGermanyAnna Fali NEW
Ivar M WhobreyBrazilAsiya Javayant UNQUALIFIED
Stacey Z CaudyGermanyElwin Sharvill QUALIFIED
David O WhobreyBrazilElwin Sharvill NEW
Francesco K TollnerBrazilAmy Elsner UNQUALIFIED
Emily G WieserIndiaXuxue Feng NEGOTIATION
Munro T IturbideBrazilAsiya Javayant QUALIFIED
Julie F RulapaughFranceOnyama Limba PROPOSAL
Antonio J DilliardUnited KingdomXuxue Feng NEGOTIATION
Ricardo Y FollerFranceAnna Fali NEW
Smith S ShinkoUnited KingdomAsiya Javayant NEGOTIATION
Emily C RoysterItalyElwin Sharvill UNQUALIFIED
Izzy F ChuiIndiaIoni Bowcher UNQUALIFIED
Alejandro T MaletBrazilIvan Magalhaes RENEWAL
Mayumi P OstroskyIndiaIoni Bowcher PROPOSAL
Smith T FerenczArgentinaElwin Sharvill NEW
Faith B WaycottArgentinaXuxue Feng QUALIFIED
Izzy K SaylorsSpainAsiya Javayant UNQUALIFIED
Julie A ChuiRussiaOnyama Limba NEW
Munro X GarufiFranceStephen Shaw RENEWAL
Maisha Y CampainCanadaOnyama Limba RENEWAL
Octavia B FerenczFranceIoni Bowcher UNQUALIFIED
Deepesh A RimSpainIvan Magalhaes RENEWAL
Greenwood W FlosiIndiaAsiya Javayant RENEWAL
Frozen Columns
Name
Octavia B Bowley
Wickens G Iturbide
Johnson V Chui
David X Schemmer
Faith U Bowley
Greenwood Y Kusko
Claire R Nestle
Maisha K Shinko
Adams P Garufi
Alejandro U Rim
Claire O Royster
Aruna O Figeroa
Julie R Schemmer
Isabel Q Poquette
Cody C Perin
Claire C Foller
Sinclair A Malet
David B Maclead
Octavia X Stockham
Kadeem Q Ferencz
Salvatore Y Nicka
Murillo K Caldarera
Arvin Z Vocelka
Salvatore N Gillian
Mujtaba M Malet
Octavia Y Ferencz
Antonio D Sergi
Nicolas L Stockham
Ivar E Oldroyd
Aditya R Caudy
Faith V Perin
Faith Q Stockham
Leon D Dilliard
Johnson B Kusko
Leja Q Butt
Kadeem P Flosi
Juan B Iturbide
Antonio I Perin
Cody C Royster
Jennifer N Poquette
Faith Y Whobrey
Maisha W Campain
Sinclair A Campain
Munro N Dilliard
Claire K Flosi
Juan H Venere
Julie U Bowley
Antonio K Slusarski
Wickens W Oldroyd
Clifford C Garufi
IdCountryDate
1000Russia2024-06-05
1001India2024-06-03
1002Japan2024-06-01
1003Canada2024-06-02
1004Japan2024-06-11
1005Canada2024-06-03
1006Argentina2024-06-07
1007Australia2024-05-28
1008Russia2024-06-01
1009Canada2024-06-08
1010United Kingdom2024-05-28
1011Germany2024-06-15
1012India2024-06-02
1013France2024-06-04
1014France2024-06-12
1015Canada2024-05-26
1016Canada2024-05-30
1017Argentina2024-06-07
1018Canada2024-06-08
1019Brazil2024-06-10
1020Japan2024-05-29
1021Russia2024-06-21
1022Australia2024-06-01
1023Germany2024-06-14
1024United Kingdom2024-05-27
1025Japan2024-05-31
1026Canada2024-06-03
1027India2024-06-01
1028France2024-06-04
1029Russia2024-06-02
1030United Kingdom2024-06-22
1031Germany2024-06-22
1032Argentina2024-06-22
1033Russia2024-05-26
1034India2024-06-14
1035India2024-06-16
1036Spain2024-06-16
1037Canada2024-06-07
1038India2024-06-22
1039India2024-06-08
1040United Kingdom2024-06-06
1041Italy2024-05-24
1042Argentina2024-06-10
1043Spain2024-06-10
1044India2024-06-15
1045India2024-05-28
1046Germany2024-06-17
1047France2024-06-16
1048France2024-06-18
1049Spain2024-05-30

On-Demand Data

NameIdCountryDate
Deepesh X Foller1000Russia2024-06-10
Octavia M Caudy1001Argentina2024-06-09
Faith M Campain1002Argentina2024-05-31
Jefferson C Rulapaugh1003Japan2024-06-11
Emily Y Paprocki1004Spain2024-06-06
Emily K Waycott1005Australia2024-05-25
Johnson L Saylors1006India2024-06-22
Leon B Stockham1007Brazil2024-06-14
Misaki C Slusarski1008Canada2024-05-28
Faith J Wieser1009India2024-06-03
Clifford X Paprocki1010Spain2024-05-28
Antonio Q Iturbide1011United Kingdom2024-06-13
Jefferson V Kolmetz1012United Kingdom2024-05-30
Nicolas L Caldarera1013India2024-06-09
Kadeem X Oldroyd1014Canada2024-05-29
Jennifer J Shinko1015Italy2024-06-17
Jeanfrancois L Chui1016India2024-05-31
Cody R Schemmer1017Russia2024-06-02
Aditya T Flosi1018Brazil2024-06-13
David T Nicka1019Canada2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire Q WieserJapanIvan Magalhaes PROPOSAL
Ricardo V RoysterItalyElwin Sharvill NEW
Cody W BologniaFranceAsiya Javayant RENEWAL
Julie L RulapaughBrazilXuxue Feng QUALIFIED
Munro V AlbaresSpainElwin Sharvill QUALIFIED
Cody I GlickIndiaXuxue Feng UNQUALIFIED
Misaki P FigeroaGermanyOnyama Limba NEW
Adams Z MorascaBrazilAnna Fali QUALIFIED
Maisha L IturbideItalyAsiya Javayant PROPOSAL
Emily O AmigonItalyStephen Shaw NEGOTIATION
Leon J SergiIndiaOnyama Limba PROPOSAL
Ricardo T ShinkoCanadaOnyama Limba RENEWAL
Cody T MaletRussiaIoni Bowcher RENEWAL
Silvio U NestleRussiaAmy Elsner PROPOSAL
Isabel I BriddickAustraliaBernardo Dominic QUALIFIED
Maria Z RutaAustraliaAnna Fali NEW
Cody R WhobreyAustraliaXuxue Feng QUALIFIED
Chavez P DilliardItalyIoni Bowcher PROPOSAL
Chavez B WieserBrazilIoni Bowcher NEGOTIATION
Aruna M MacleadBrazilAnna Fali NEGOTIATION
Misaki H GarufiAustraliaAnna Fali RENEWAL
Claire P BowleyItalyIoni Bowcher NEW
Munro U GauchoIndiaBernardo Dominic UNQUALIFIED
Misaki C RulapaughFranceStephen Shaw PROPOSAL
Ivar H VenereFranceAnna Fali QUALIFIED
Greenwood E DilliardJapanIoni Bowcher PROPOSAL
Leon S OstroskyArgentinaIvan Magalhaes UNQUALIFIED
Kadeem T RoysterArgentinaIoni Bowcher NEGOTIATION
Aditya A DilliardGermanyOnyama Limba UNQUALIFIED
Leja Q CaldareraFranceAsiya Javayant UNQUALIFIED
Deepesh Q VenereArgentinaXuxue Feng QUALIFIED
Kaitlin Z SaylorsItalyIoni Bowcher RENEWAL
Greenwood D BriddickSpainOnyama Limba UNQUALIFIED
Maria Z GarufiAustraliaAmy Elsner NEGOTIATION
Deepesh W SergiItalyOnyama Limba PROPOSAL
Ashley I ChuiRussiaXuxue Feng NEW
Claire D NickaUnited KingdomIoni Bowcher PROPOSAL
Salvatore H ShinkoGermanyAmy Elsner NEGOTIATION
Francesco Y OldroydAustraliaBernardo Dominic RENEWAL
Costa U SergiIndiaXuxue Feng 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>