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
Aditya L BologniaAustraliaStephen Shaw RENEWAL
Julie D SlusarskiItalyAnna Fali NEGOTIATION
Adams A KolmetzFranceIvan Magalhaes UNQUALIFIED
Leja E SaylorsFranceAsiya Javayant RENEWAL
Nicolas H ShinkoUnited KingdomXuxue Feng NEGOTIATION
Adams A MacleadUnited KingdomOnyama Limba QUALIFIED
Ricardo Q AmigonRussiaAsiya Javayant NEW
Julie W BologniaFranceOnyama Limba PROPOSAL
Ricardo N CaldareraArgentinaOnyama Limba RENEWAL
James T FerenczFranceAsiya Javayant NEW
Jefferson L VocelkaCanadaAnna Fali NEGOTIATION
Claire O BologniaJapanAmy Elsner NEW
Rodrigues W RulapaughBrazilXuxue Feng NEGOTIATION
Leja K BriddickIndiaAmy Elsner RENEWAL
Wickens N AlbaresArgentinaAnna Fali QUALIFIED
David F RulapaughGermanyAnna Fali RENEWAL
Octavia T ShinkoGermanyStephen Shaw PROPOSAL
Francesco P FerenczFranceAmy Elsner RENEWAL
Nicolas T CampainIndiaAmy Elsner PROPOSAL
Kaitlin J BowleyCanadaOnyama Limba PROPOSAL
Jefferson R SergiAustraliaIoni Bowcher PROPOSAL
Aruna C GillianRussiaOnyama Limba UNQUALIFIED
Greenwood P StockhamBrazilBernardo Dominic QUALIFIED
Jones O AmigonItalyStephen Shaw RENEWAL
Aruna S StensethAustraliaStephen Shaw UNQUALIFIED
Chavez Y MaletCanadaIoni Bowcher RENEWAL
Alejandro O RoysterFranceAsiya Javayant NEGOTIATION
Mujtaba H NestleAustraliaXuxue Feng QUALIFIED
Arvin Y ButtAustraliaElwin Sharvill PROPOSAL
Mujtaba D SlusarskiJapanIoni Bowcher QUALIFIED
Alejandro F StockhamIndiaElwin Sharvill PROPOSAL
Greenwood T InouyeArgentinaAmy Elsner UNQUALIFIED
Aditya C DarakjyCanadaAmy Elsner NEGOTIATION
Nicolas O GarufiGermanyOnyama Limba NEGOTIATION
Alejandro D ButtSpainAsiya Javayant NEGOTIATION
Ashley H WaycottAustraliaBernardo Dominic RENEWAL
Kadeem R SchemmerItalyIvan Magalhaes UNQUALIFIED
Munro X IturbideArgentinaAmy Elsner NEGOTIATION
James F ButtAustraliaIvan Magalhaes UNQUALIFIED
Arvin G NestleItalyXuxue Feng UNQUALIFIED
Ashley X WieserBrazilBernardo Dominic NEW
Jefferson Y WieserSpainAmy Elsner RENEWAL
Leon K BologniaSpainOnyama Limba NEGOTIATION
Munro X IturbideItalyOnyama Limba QUALIFIED
Ashley L FollerArgentinaAnna Fali NEGOTIATION
Maisha P KuskoFranceAmy Elsner NEW
Deepesh V FlosiRussiaAnna Fali UNQUALIFIED
Izzy B FigeroaCanadaIvan Magalhaes NEW
Wickens U RoysterIndiaElwin Sharvill UNQUALIFIED
Ricardo Q VenereCanadaAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Kaitlin W RimBrazilIoni Bowcher NEW
Maisha H SergiBrazilOnyama Limba RENEWAL
Wickens I BologniaIndiaAsiya Javayant NEW
Ivar L InouyeFranceAmy Elsner RENEWAL
Tony T RulapaughRussiaStephen Shaw NEW
Tony O NestleBrazilElwin Sharvill RENEWAL
James Z FollerGermanyOnyama Limba NEW
Isabel Q FerenczFranceAsiya Javayant RENEWAL
Alejandro D MaletGermanyBernardo Dominic PROPOSAL
Kadeem P PaprockiCanadaStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer R GillianArgentina2024-05-24Commercial Press NEW27Xuxue Feng
1001Smith K FlosiIndia2024-05-17Feiner Bros QUALIFIED61Xuxue Feng
1002Antonio C PerinCanada2024-05-15Commercial Press QUALIFIED4Xuxue Feng
1003Isabel V PoquetteItaly2024-05-01Feltz Printing Service NEW75Elwin Sharvill
1004Antonio U KuskoGermany2024-05-18Dorl, James J Esq NEGOTIATION71Ioni Bowcher
1005Ricardo T VocelkaItaly2024-05-26King, Christopher A Esq QUALIFIED16Onyama Limba
1006Cody T RulapaughUnited Kingdom2024-05-01Chemel, James L Cpa UNQUALIFIED86Asiya Javayant
1007Murillo K StockhamIndia2024-05-07Chemel, James L Cpa QUALIFIED4Asiya Javayant
1008Kaitlin L NickaArgentina2024-05-03Chemel, James L Cpa NEW30Bernardo Dominic
1009Antonio A OstroskyGermany2024-05-23Chanay, Jeffrey A Esq UNQUALIFIED5Xuxue Feng
1010Claire N SergiSpain2024-05-09King, Christopher A Esq NEW60Elwin Sharvill
1011Jeanfrancois N CaldareraItaly2024-05-01Buckley Miller Wright UNQUALIFIED73Ioni Bowcher
1012Aruna X FlosiItaly2024-05-22Chanay, Jeffrey A Esq RENEWAL62Bernardo Dominic
1013Maria M ShinkoGermany2024-05-03Feltz Printing Service PROPOSAL70Onyama Limba
1014Sinclair H IturbideBrazil2024-05-06Feiner Bros NEGOTIATION9Ivan Magalhaes
1015Isabel L BriddickBrazil2024-05-10Rangoni Of Florence NEW50Elwin Sharvill
1016Darci O NickaUnited Kingdom2024-05-18Benton, John B Jr PROPOSAL31Elwin Sharvill
1017Aditya H DarakjyAustralia2024-05-06Benton, John B Jr UNQUALIFIED13Asiya Javayant
1018Aika V DoeRussia2024-05-11Rangoni Of Florence UNQUALIFIED30Xuxue Feng
1019Clifford Y MarrierSpain2024-05-30Benton, John B Jr PROPOSAL95Stephen Shaw
1020Ricardo P RulapaughSpain2024-05-26Rangoni Of Florence RENEWAL29Ivan Magalhaes
1021Smith E SaylorsUnited Kingdom2024-05-04Chapman, Ross E Esq RENEWAL88Ioni Bowcher
1022Tony A SchemmerSpain2024-05-17Feiner Bros NEW77Ivan Magalhaes
1023Silvio Z RutaRussia2024-05-11King, Christopher A Esq QUALIFIED71Xuxue Feng
1024Silvio J IturbideBrazil2024-05-13Dorl, James J Esq QUALIFIED99Onyama Limba
1025Jennifer M GauchoAustralia2024-05-24Feiner Bros PROPOSAL70Ioni Bowcher
1026Jennifer S FigeroaRussia2024-05-09Truhlar And Truhlar Attys PROPOSAL6Elwin Sharvill
1027Jones Z StensethGermany2024-05-30Commercial Press UNQUALIFIED81Amy Elsner
1028Rodrigues K NickaRussia2024-05-19Rangoni Of Florence NEGOTIATION2Stephen Shaw
1029Aika N IturbideArgentina2024-05-14Buckley Miller Wright NEGOTIATION23Asiya Javayant
1030Silvio W CaldareraFrance2024-05-28Chapman, Ross E Esq QUALIFIED85Asiya Javayant
1031James P ChuiArgentina2024-05-18Truhlar And Truhlar Attys PROPOSAL56Xuxue Feng
1032Darci C MorascaCanada2024-05-13Buckley Miller Wright UNQUALIFIED80Bernardo Dominic
1033Arvin O MacleadIndia2024-05-06Chemel, James L Cpa NEW46Amy Elsner
1034Cody C BologniaBrazil2024-05-05Rousseaux, Michael Esq NEW37Amy Elsner
1035Johnson N NestleCanada2024-05-26Truhlar And Truhlar Attys RENEWAL27Stephen Shaw
1036Salvatore L GarufiCanada2024-05-03Benton, John B Jr RENEWAL93Stephen Shaw
1037Jones K NestleUnited Kingdom2024-05-02Rousseaux, Michael Esq RENEWAL89Stephen Shaw
1038Ivar H CaudyIndia2024-05-06Rousseaux, Michael Esq RENEWAL62Amy Elsner
1039Chavez O ShinkoArgentina2024-05-14Feltz Printing Service UNQUALIFIED40Amy Elsner
1040Greenwood V KolmetzSpain2024-05-19Commercial Press PROPOSAL51Ioni Bowcher
1041Jeanfrancois M DoeAustralia2024-05-01Feltz Printing Service NEW18Stephen Shaw
1042Jennifer W RimItaly2024-05-30King, Christopher A Esq NEGOTIATION15Elwin Sharvill
1043Claire T RimRussia2024-05-08King, Christopher A Esq QUALIFIED62Onyama Limba
1044Claire Y FigeroaGermany2024-05-25Chapman, Ross E Esq RENEWAL75Bernardo Dominic
1045Juan J RulapaughJapan2024-05-09Commercial Press QUALIFIED99Elwin Sharvill
1046Costa R NestleBrazil2024-05-15Rousseaux, Michael Esq UNQUALIFIED73Onyama Limba
1047Sinclair G GarufiSpain2024-05-25Morlong Associates NEGOTIATION2Ivan Magalhaes
1048Antonio G KuskoJapan2024-05-16Chemel, James L Cpa NEGOTIATION61Amy Elsner
1049Juan A FollerArgentina2024-05-14Rangoni Of Florence RENEWAL25Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois H GillianIndiaStephen Shaw NEGOTIATION
Maisha H KuskoAustraliaAmy Elsner UNQUALIFIED
Emily S AmigonItalyXuxue Feng NEGOTIATION
Francesco I TollnerArgentinaBernardo Dominic RENEWAL
Nicolas N GauchoJapanAmy Elsner UNQUALIFIED
Silvio P CaudyItalyAsiya Javayant UNQUALIFIED
Nicolas Q RimIndiaIoni Bowcher PROPOSAL
Chavez O FollerGermanyIvan Magalhaes NEGOTIATION
Darci S CaldareraBrazilAsiya Javayant NEGOTIATION
Arvin Z FigeroaRussiaIvan Magalhaes RENEWAL
Claire O KolmetzGermanyAnna Fali PROPOSAL
Wickens V OstroskyRussiaOnyama Limba RENEWAL
Greenwood X KuskoCanadaOnyama Limba QUALIFIED
Faith M RutaFranceAmy Elsner NEGOTIATION
Morrow L ChuiAustraliaStephen Shaw QUALIFIED
Mayumi G RoysterJapanIoni Bowcher QUALIFIED
Wickens W SlusarskiAustraliaElwin Sharvill RENEWAL
Adams Z NestleIndiaOnyama Limba NEGOTIATION
Murillo Q WhobreyAustraliaXuxue Feng RENEWAL
Leja O BologniaBrazilAnna Fali NEGOTIATION
Jones H BologniaItalyBernardo Dominic RENEWAL
Juan C SergiItalyElwin Sharvill RENEWAL
Ricardo Q CaudyCanadaXuxue Feng UNQUALIFIED
Munro O AmigonUnited KingdomAmy Elsner QUALIFIED
Morrow F SchemmerBrazilIvan Magalhaes QUALIFIED
Murillo S VenereBrazilIvan Magalhaes UNQUALIFIED
Johnson Q VocelkaGermanyBernardo Dominic QUALIFIED
Jones R RutaAustraliaAsiya Javayant NEGOTIATION
Maria S FollerJapanXuxue Feng NEGOTIATION
Tony W NickaCanadaIoni Bowcher UNQUALIFIED
Mayumi V CaldareraUnited KingdomElwin Sharvill NEW
Clifford L MacleadJapanAsiya Javayant NEGOTIATION
Mujtaba A MaletArgentinaBernardo Dominic RENEWAL
Munro I StensethArgentinaIoni Bowcher RENEWAL
Sinclair E NickaCanadaXuxue Feng UNQUALIFIED
Murillo T CampainArgentinaIoni Bowcher QUALIFIED
Alejandro M ButtRussiaAnna Fali NEGOTIATION
Silvio W ChuiCanadaStephen Shaw PROPOSAL
Emily L CaudyArgentinaIoni Bowcher NEGOTIATION
Antonio B MorascaFranceOnyama Limba PROPOSAL
Stacey X VenereAustraliaOnyama Limba PROPOSAL
Mujtaba L VocelkaRussiaIvan Magalhaes UNQUALIFIED
Kaitlin T KolmetzIndiaOnyama Limba UNQUALIFIED
Maria F ChuiBrazilStephen Shaw PROPOSAL
Leja L PaprockiGermanyXuxue Feng NEW
Claire C SlusarskiBrazilBernardo Dominic RENEWAL
Munro N OstroskyAustraliaBernardo Dominic NEGOTIATION
Nicolas A WieserAustraliaElwin Sharvill QUALIFIED
Faith G AmigonIndiaAsiya Javayant NEW
Ricardo W ChuiAustraliaElwin Sharvill QUALIFIED
Frozen Columns
Name
Mujtaba X Darakjy
Greenwood W Sergi
Munro D Nestle
James N Ferencz
Maria V Morasca
Leja L Flosi
Leon O Wieser
Arvin I Foller
Morrow C Bolognia
Jennifer M Darakjy
Chavez O Iturbide
Costa V Paprocki
Leon G Doe
Izzy P Dilliard
Kaitlin S Stockham
Julie L Maclead
Octavia S Shinko
Nicolas T Campain
Maisha N Gaucho
Izzy C Venere
Salvatore B Whobrey
Ricardo L Garufi
Jefferson E Caldarera
Francesco W Kusko
Greenwood Y Wieser
Leon O Maclead
Mayumi A Rulapaugh
Antonio B Malet
Aditya K Royster
Antonio M Malet
Darci F Doe
Salvatore W Flosi
Munro I Kolmetz
Isabel U Dilliard
Misaki S Glick
Francesco Y Bolognia
Mujtaba V Sergi
Emily U Ruta
Munro L Rulapaugh
Octavia X Doe
Greenwood G Iturbide
Chavez X Kolmetz
Tony E Waycott
Claire W Vocelka
Ivar Q Doe
Izzy J Chui
Juan X Dilliard
Alejandro J Paprocki
Maisha F Bolognia
Stacey U Doe
IdCountryDate
1000Canada2024-05-10
1001France2024-05-08
1002Russia2024-05-14
1003Canada2024-05-20
1004France2024-05-15
1005Japan2024-05-16
1006France2024-05-21
1007Russia2024-05-08
1008India2024-05-03
1009France2024-05-04
1010Argentina2024-05-02
1011Argentina2024-05-13
1012Argentina2024-05-18
1013United Kingdom2024-05-23
1014Germany2024-05-01
1015United Kingdom2024-05-10
1016India2024-05-02
1017Japan2024-05-17
1018Germany2024-05-21
1019France2024-05-25
1020Germany2024-05-16
1021Germany2024-05-26
1022Australia2024-05-26
1023Spain2024-05-13
1024Australia2024-05-15
1025Australia2024-05-25
1026Germany2024-05-19
1027Australia2024-05-07
1028United Kingdom2024-05-14
1029Italy2024-05-01
1030Russia2024-05-17
1031Spain2024-05-29
1032Argentina2024-05-11
1033India2024-05-15
1034Australia2024-05-18
1035Australia2024-05-20
1036Germany2024-05-25
1037Australia2024-05-16
1038Canada2024-05-09
1039India2024-05-14
1040Italy2024-05-12
1041Japan2024-05-04
1042Australia2024-05-24
1043Brazil2024-05-05
1044Russia2024-05-08
1045Japan2024-05-13
1046Italy2024-05-01
1047India2024-05-12
1048Argentina2024-05-10
1049Japan2024-05-02

On-Demand Data

NameIdCountryDate
Isabel G Tollner1000Spain2024-05-21
Izzy S Nestle1001Canada2024-05-02
Stacey N Venere1002Germany2024-05-14
Aika Q Ruta1003France2024-05-15
Chavez G Venere1004Japan2024-05-03
Claire B Caldarera1005Brazil2024-05-30
Rodrigues N Saylors1006France2024-05-22
Nicolas J Butt1007Brazil2024-05-25
Alejandro A Iturbide1008France2024-05-24
Leja Z Venere1009Spain2024-05-02
Chavez I Nicka1010Germany2024-05-01
Isabel R Garufi1011Russia2024-05-03
David K Nestle1012Germany2024-05-19
Wickens T Caldarera1013Argentina2024-05-13
Adams P Stockham1014Germany2024-05-08
Octavia J Albares1015Argentina2024-05-07
Murillo R Poquette1016Canada2024-05-28
Munro L Stockham1017Germany2024-05-24
Aruna Q Shinko1018Canada2024-05-06
Salvatore S Marrier1019Brazil2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi H MorascaAustraliaStephen Shaw PROPOSAL
Aika G KuskoIndiaAsiya Javayant NEW
Aika V NestleIndiaXuxue Feng RENEWAL
Alejandro K FollerIndiaStephen Shaw RENEWAL
Johnson L FlosiUnited KingdomOnyama Limba PROPOSAL
Aruna K ChuiIndiaStephen Shaw NEW
Kadeem X DilliardJapanAnna Fali PROPOSAL
Costa U FollerJapanOnyama Limba RENEWAL
David Z StensethGermanyOnyama Limba PROPOSAL
Mujtaba H RutaArgentinaOnyama Limba UNQUALIFIED
Nicolas Q NickaJapanBernardo Dominic NEGOTIATION
Octavia O TollnerFranceAnna Fali UNQUALIFIED
Maria A WhobreyItalyStephen Shaw PROPOSAL
Clifford Q PaprockiArgentinaElwin Sharvill PROPOSAL
Claire U OstroskyAustraliaIoni Bowcher UNQUALIFIED
Tony G CampainItalyAsiya Javayant NEGOTIATION
Greenwood J DarakjyBrazilBernardo Dominic UNQUALIFIED
Jefferson S GauchoArgentinaIoni Bowcher NEGOTIATION
Clifford D WaycottRussiaXuxue Feng PROPOSAL
Mujtaba A GlickItalyIoni Bowcher UNQUALIFIED
Johnson X DoeSpainAsiya Javayant QUALIFIED
Juan N PaprockiFranceOnyama Limba NEW
Julie I SlusarskiItalyElwin Sharvill UNQUALIFIED
Alejandro O SaylorsItalyElwin Sharvill QUALIFIED
Jones R GillianRussiaAnna Fali UNQUALIFIED
Smith S MaletArgentinaAmy Elsner QUALIFIED
Isabel I CaudyIndiaIoni Bowcher NEGOTIATION
Juan H GillianSpainOnyama Limba NEGOTIATION
Nicolas Y AlbaresIndiaOnyama Limba RENEWAL
Cody T StockhamFranceBernardo Dominic QUALIFIED
Izzy N DarakjyItalyBernardo Dominic PROPOSAL
Maisha E GarufiUnited KingdomAnna Fali QUALIFIED
Octavia Q VocelkaRussiaAnna Fali NEW
Maisha N SlusarskiFranceXuxue Feng PROPOSAL
Izzy A WhobreyGermanyAsiya Javayant UNQUALIFIED
Sinclair X VenereGermanyBernardo Dominic UNQUALIFIED
Tony G FlosiCanadaElwin Sharvill UNQUALIFIED
Claire R RulapaughIndiaBernardo Dominic UNQUALIFIED
Leon J BriddickBrazilAnna Fali NEGOTIATION
Jeanfrancois K MarrierArgentinaElwin Sharvill 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>