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
Sinclair B AmigonSpainXuxue Feng NEW
Nicolas K NestleUnited KingdomElwin Sharvill NEGOTIATION
Aika A WhobreyFranceIvan Magalhaes PROPOSAL
Octavia E VenereArgentinaIoni Bowcher QUALIFIED
Salvatore Y ShinkoArgentinaStephen Shaw NEGOTIATION
Tony L StockhamIndiaOnyama Limba UNQUALIFIED
Stacey E GillianCanadaBernardo Dominic NEW
Smith C TollnerItalyBernardo Dominic NEW
Izzy N MaletBrazilStephen Shaw RENEWAL
Salvatore Z PerinFranceOnyama Limba PROPOSAL
Misaki O FerenczUnited KingdomElwin Sharvill PROPOSAL
Ricardo Y DoeAustraliaStephen Shaw NEW
Jones S TollnerBrazilAmy Elsner NEW
Silvio P KuskoGermanyOnyama Limba UNQUALIFIED
Mayumi S ButtRussiaElwin Sharvill QUALIFIED
Octavia Z InouyeItalyAnna Fali NEW
Nicolas Y NestleJapanOnyama Limba UNQUALIFIED
Izzy L MarrierArgentinaElwin Sharvill UNQUALIFIED
Stacey Y BologniaFranceBernardo Dominic UNQUALIFIED
Johnson F TollnerBrazilElwin Sharvill QUALIFIED
Silvio O MaletJapanXuxue Feng PROPOSAL
Morrow D NickaFranceStephen Shaw NEW
Smith P CampainIndiaAmy Elsner PROPOSAL
Aika O DilliardIndiaBernardo Dominic PROPOSAL
Maisha W AlbaresSpainAnna Fali QUALIFIED
Cody G NickaSpainStephen Shaw PROPOSAL
Jones T MaletJapanIvan Magalhaes UNQUALIFIED
Chavez B StensethGermanyAmy Elsner QUALIFIED
James M VocelkaArgentinaElwin Sharvill NEW
Mayumi C GarufiCanadaXuxue Feng PROPOSAL
Izzy C SlusarskiItalyXuxue Feng RENEWAL
Ashley A PerinIndiaBernardo Dominic NEGOTIATION
Murillo V VocelkaArgentinaAmy Elsner UNQUALIFIED
Faith V DilliardSpainAsiya Javayant RENEWAL
Deepesh B MaletRussiaBernardo Dominic NEW
Mujtaba H IturbideSpainOnyama Limba NEGOTIATION
Silvio Q InouyeRussiaAmy Elsner NEW
Munro H MacleadBrazilXuxue Feng RENEWAL
Mujtaba D PerinItalyIvan Magalhaes NEGOTIATION
Jennifer H IturbideAustraliaIvan Magalhaes NEW
Ashley V MaletGermanyBernardo Dominic NEGOTIATION
Alejandro X ButtBrazilBernardo Dominic RENEWAL
Leja U StensethIndiaElwin Sharvill RENEWAL
Maisha V KolmetzUnited KingdomAnna Fali NEW
Ricardo Z InouyeFranceElwin Sharvill NEGOTIATION
Johnson N SlusarskiUnited KingdomBernardo Dominic UNQUALIFIED
Smith R BowleyAustraliaIoni Bowcher UNQUALIFIED
Morrow H PaprockiUnited KingdomAnna Fali RENEWAL
Clifford F FigeroaFranceAnna Fali UNQUALIFIED
Morrow U WaycottArgentinaAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Antonio P CaldareraAustraliaOnyama Limba QUALIFIED
Jefferson L RutaUnited KingdomOnyama Limba RENEWAL
Octavia I DoeGermanyXuxue Feng NEGOTIATION
James K WaycottRussiaXuxue Feng NEW
David D RulapaughSpainElwin Sharvill UNQUALIFIED
James V PaprockiItalyAmy Elsner UNQUALIFIED
Nicolas U CaudyBrazilElwin Sharvill PROPOSAL
Arvin O ChuiBrazilIoni Bowcher NEW
Murillo Z NestleSpainElwin Sharvill NEGOTIATION
Izzy S PerinFranceStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem K FerenczAustralia2024-06-16Chanay, Jeffrey A Esq PROPOSAL59Onyama Limba
1001Adams T IturbideAustralia2024-06-17Rousseaux, Michael Esq QUALIFIED94Ivan Magalhaes
1002Mayumi Q DoeArgentina2024-06-18Benton, John B Jr PROPOSAL91Elwin Sharvill
1003Clifford N IturbideCanada2024-06-07Benton, John B Jr NEW87Amy Elsner
1004Leja B ShinkoCanada2024-06-16Rousseaux, Michael Esq PROPOSAL44Xuxue Feng
1005Kadeem A GauchoFrance2024-06-02King, Christopher A Esq RENEWAL70Xuxue Feng
1006James B VocelkaJapan2024-06-21Feltz Printing Service NEW55Amy Elsner
1007Darci U VenereFrance2024-05-31Chanay, Jeffrey A Esq PROPOSAL30Bernardo Dominic
1008Izzy C TollnerIndia2024-06-10Dorl, James J Esq NEGOTIATION92Ivan Magalhaes
1009Faith X AmigonCanada2024-06-15Feiner Bros NEGOTIATION43Anna Fali
1010Rodrigues N DilliardRussia2024-06-20Commercial Press UNQUALIFIED19Asiya Javayant
1011Rodrigues F SaylorsArgentina2024-06-03Chanay, Jeffrey A Esq QUALIFIED58Ioni Bowcher
1012Cody L FerenczJapan2024-06-21Rousseaux, Michael Esq PROPOSAL97Elwin Sharvill
1013Nicolas F AmigonJapan2024-06-17Printing Dimensions NEW93Amy Elsner
1014Deepesh R ButtIndia2024-06-12Chapman, Ross E Esq RENEWAL75Xuxue Feng
1015Tony B PerinAustralia2024-06-10Morlong Associates RENEWAL21Anna Fali
1016Isabel T BologniaUnited Kingdom2024-06-23Dorl, James J Esq NEW9Ivan Magalhaes
1017Isabel B FigeroaBrazil2024-06-14Benton, John B Jr RENEWAL25Anna Fali
1018Ricardo S CaldareraJapan2024-06-17Benton, John B Jr NEW33Stephen Shaw
1019Tony Q SergiSpain2024-06-10Rousseaux, Michael Esq UNQUALIFIED7Ivan Magalhaes
1020Jefferson U IturbideGermany2024-06-19Rangoni Of Florence PROPOSAL77Anna Fali
1021Nicolas R PerinFrance2024-05-27Buckley Miller Wright NEGOTIATION32Onyama Limba
1022Chavez T NestleRussia2024-05-30Rangoni Of Florence UNQUALIFIED92Bernardo Dominic
1023Rodrigues P AmigonJapan2024-06-15Truhlar And Truhlar Attys RENEWAL60Ivan Magalhaes
1024Aditya P FollerRussia2024-06-06Chapman, Ross E Esq RENEWAL92Anna Fali
1025Kaitlin T KolmetzGermany2024-06-01Chanay, Jeffrey A Esq PROPOSAL61Ioni Bowcher
1026Chavez S AmigonItaly2024-06-20Truhlar And Truhlar Attys UNQUALIFIED73Bernardo Dominic
1027Jeanfrancois T CaudyAustralia2024-05-27Feiner Bros UNQUALIFIED11Ioni Bowcher
1028Morrow U RulapaughAustralia2024-06-16Commercial Press RENEWAL67Bernardo Dominic
1029Antonio P MaletSpain2024-05-26Feltz Printing Service PROPOSAL7Amy Elsner
1030Adams X BologniaRussia2024-06-13Benton, John B Jr NEGOTIATION18Stephen Shaw
1031Ricardo E FollerGermany2024-06-05Feiner Bros PROPOSAL25Asiya Javayant
1032Arvin M StensethBrazil2024-06-10Feltz Printing Service PROPOSAL82Ivan Magalhaes
1033Aditya K FerenczIndia2024-06-19Benton, John B Jr UNQUALIFIED29Bernardo Dominic
1034Nicolas N TollnerAustralia2024-05-25Dorl, James J Esq QUALIFIED39Anna Fali
1035Ivar C KolmetzJapan2024-05-29Feltz Printing Service UNQUALIFIED0Stephen Shaw
1036Wickens E OstroskyJapan2024-05-31Buckley Miller Wright UNQUALIFIED62Asiya Javayant
1037Deepesh A FigeroaAustralia2024-06-09Dorl, James J Esq NEGOTIATION41Asiya Javayant
1038Jefferson U RimArgentina2024-06-16Truhlar And Truhlar Attys NEGOTIATION7Amy Elsner
1039Izzy E SchemmerItaly2024-06-06Chemel, James L Cpa NEW53Anna Fali
1040Aika V SaylorsBrazil2024-06-05Chemel, James L Cpa RENEWAL79Amy Elsner
1041Nicolas F KolmetzFrance2024-06-03Feltz Printing Service UNQUALIFIED93Xuxue Feng
1042Claire V KolmetzJapan2024-06-04Chanay, Jeffrey A Esq RENEWAL11Asiya Javayant
1043Isabel S SlusarskiSpain2024-06-22Rousseaux, Michael Esq NEGOTIATION41Stephen Shaw
1044Nicolas P SergiCanada2024-06-18Buckley Miller Wright NEGOTIATION86Bernardo Dominic
1045Ashley G BriddickItaly2024-06-03King, Christopher A Esq QUALIFIED24Asiya Javayant
1046Arvin P AlbaresAustralia2024-05-28Chapman, Ross E Esq RENEWAL51Anna Fali
1047Silvio I KolmetzBrazil2024-06-19Feiner Bros UNQUALIFIED32Bernardo Dominic
1048Jennifer Q AmigonGermany2024-06-22King, Christopher A Esq NEW44Ioni Bowcher
1049Cody B MorascaSpain2024-06-04Benton, John B Jr NEW37Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Nicolas V BriddickRussiaXuxue Feng UNQUALIFIED
Izzy G MacleadFranceAsiya Javayant NEW
Jennifer G RoysterFranceBernardo Dominic QUALIFIED
Aika F OstroskyFranceAmy Elsner NEW
Kadeem P InouyeArgentinaAmy Elsner UNQUALIFIED
Morrow G RoysterUnited KingdomAnna Fali NEGOTIATION
Munro Y FlosiJapanElwin Sharvill RENEWAL
Morrow F SaylorsSpainElwin Sharvill UNQUALIFIED
Mujtaba R RutaIndiaOnyama Limba UNQUALIFIED
Alejandro N RulapaughJapanIvan Magalhaes UNQUALIFIED
Sinclair V InouyeCanadaAsiya Javayant QUALIFIED
Misaki H FlosiRussiaAsiya Javayant RENEWAL
Deepesh J CampainIndiaAsiya Javayant QUALIFIED
Aika W RulapaughRussiaStephen Shaw QUALIFIED
James V GarufiGermanyBernardo Dominic NEGOTIATION
Alejandro I BowleyJapanAnna Fali QUALIFIED
David G GauchoRussiaIvan Magalhaes QUALIFIED
Greenwood X FerenczArgentinaAmy Elsner NEW
Clifford M RimIndiaAmy Elsner NEW
Leja K GillianGermanyElwin Sharvill PROPOSAL
Clifford N MaletJapanStephen Shaw RENEWAL
Rodrigues C FollerAustraliaIvan Magalhaes NEGOTIATION
Greenwood H ButtFranceAnna Fali RENEWAL
Alejandro V FigeroaFranceOnyama Limba UNQUALIFIED
Clifford P MaletCanadaIvan Magalhaes PROPOSAL
Cody Q BriddickRussiaElwin Sharvill NEGOTIATION
Ivar D GauchoUnited KingdomAsiya Javayant NEW
Morrow C DoeFranceAnna Fali UNQUALIFIED
Jeanfrancois P SaylorsIndiaAsiya Javayant PROPOSAL
Julie J RoysterIndiaIoni Bowcher RENEWAL
Greenwood A MaletFranceAmy Elsner PROPOSAL
Maria M VocelkaJapanBernardo Dominic NEGOTIATION
Mujtaba U GlickJapanOnyama Limba PROPOSAL
Aruna N RutaCanadaXuxue Feng QUALIFIED
Stacey D SergiJapanBernardo Dominic PROPOSAL
Francesco P TollnerFranceStephen Shaw UNQUALIFIED
Kadeem O RoysterSpainBernardo Dominic QUALIFIED
Ivar T RimBrazilOnyama Limba UNQUALIFIED
Isabel V InouyeCanadaAsiya Javayant PROPOSAL
Nicolas X ShinkoItalyStephen Shaw QUALIFIED
Chavez B AmigonArgentinaAmy Elsner UNQUALIFIED
Jeanfrancois F MaletIndiaXuxue Feng UNQUALIFIED
Mujtaba Z OstroskyFranceIoni Bowcher NEGOTIATION
Jennifer T CaudyAustraliaElwin Sharvill QUALIFIED
Ivar Z RulapaughBrazilOnyama Limba PROPOSAL
Salvatore H GlickArgentinaIvan Magalhaes NEW
Adams B ButtSpainElwin Sharvill RENEWAL
Misaki M DarakjyRussiaStephen Shaw NEW
Isabel Q NickaAustraliaOnyama Limba NEGOTIATION
David N DilliardCanadaOnyama Limba UNQUALIFIED
Frozen Columns
Name
Wickens A Schemmer
James K Sergi
Izzy R Vocelka
Sinclair X Albares
Jefferson C Waycott
Leja O Butt
Jennifer Z Ferencz
Greenwood O Ferencz
Francesco R Figeroa
Antonio S Nestle
Leon D Whobrey
David C Nicka
Jeanfrancois B Kolmetz
Juan B Kolmetz
Arvin Z Rim
Francesco P Nicka
Sinclair Z Rulapaugh
Deepesh E Ferencz
Aditya K Malet
Octavia F Gillian
Misaki Y Sergi
Mayumi P Gillian
Juan Y Whobrey
Arvin A Nestle
Kadeem F Malet
Morrow J Malet
Ricardo O Wieser
Mayumi Q Briddick
Sinclair K Caldarera
Antonio T Bolognia
Clifford R Nicka
Faith P Kolmetz
Rodrigues X Saylors
Aditya B Darakjy
Wickens L Gaucho
Leon N Nestle
Nicolas E Tollner
Johnson R Whobrey
Adams S Campain
Leon N Bolognia
Alejandro B Venere
Faith Y Albares
Aika K Figeroa
Izzy C Ruta
Jeanfrancois A Doe
Greenwood L Stenseth
Nicolas D Chui
James C Glick
Ivar X Kolmetz
Aika Z Figeroa
IdCountryDate
1000Australia2024-06-12
1001Italy2024-06-09
1002United Kingdom2024-06-10
1003Russia2024-06-10
1004Spain2024-06-08
1005France2024-06-21
1006Germany2024-06-19
1007Argentina2024-05-27
1008Russia2024-06-12
1009India2024-06-22
1010Canada2024-06-03
1011Argentina2024-05-28
1012Spain2024-06-18
1013Brazil2024-06-17
1014Brazil2024-06-03
1015Argentina2024-06-08
1016United Kingdom2024-05-26
1017United Kingdom2024-05-30
1018Japan2024-06-13
1019Spain2024-05-28
1020Argentina2024-05-26
1021Russia2024-06-23
1022Germany2024-06-02
1023France2024-06-04
1024France2024-06-02
1025Russia2024-05-25
1026Spain2024-06-10
1027Canada2024-05-26
1028Japan2024-06-23
1029Japan2024-06-16
1030Argentina2024-05-30
1031Russia2024-06-02
1032United Kingdom2024-06-20
1033Argentina2024-06-23
1034Argentina2024-06-23
1035Russia2024-06-08
1036Argentina2024-06-09
1037India2024-06-07
1038Argentina2024-06-19
1039Russia2024-06-16
1040Canada2024-06-14
1041France2024-06-20
1042Italy2024-05-25
1043India2024-05-31
1044Germany2024-06-19
1045Australia2024-06-21
1046Japan2024-06-15
1047United Kingdom2024-06-11
1048Italy2024-05-29
1049Russia2024-05-27

On-Demand Data

NameIdCountryDate
Jones B Kusko1000Canada2024-06-14
Silvio D Ferencz1001Germany2024-06-11
Aika C Rulapaugh1002Italy2024-06-10
Clifford R Doe1003Russia2024-05-25
Kadeem D Wieser1004Germany2024-06-23
Tony X Campain1005Brazil2024-06-21
Stacey F Amigon1006Russia2024-05-27
Adams G Ostrosky1007Spain2024-06-12
Johnson V Briddick1008Australia2024-06-17
Arvin O Gaucho1009Spain2024-06-09
Tony T Perin1010Canada2024-06-11
Silvio Y Poquette1011Japan2024-06-21
Deepesh V Gillian1012Russia2024-05-26
Arvin Z Marrier1013India2024-06-10
Smith I Malet1014Japan2024-06-13
Darci T Iturbide1015Italy2024-06-12
Darci L Gaucho1016Brazil2024-05-27
Julie A Garufi1017Germany2024-05-31
Greenwood D Malet1018Australia2024-06-10
Kaitlin W Oldroyd1019Australia2024-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow K CaudyCanadaAnna Fali NEW
Misaki H WhobreyArgentinaAnna Fali QUALIFIED
Kaitlin X FerenczRussiaElwin Sharvill NEGOTIATION
Antonio C AmigonGermanyIvan Magalhaes UNQUALIFIED
Emily U SergiIndiaElwin Sharvill NEW
Cody K CaldareraArgentinaElwin Sharvill PROPOSAL
James T RimGermanyIvan Magalhaes QUALIFIED
Cody R VenereAustraliaAsiya Javayant NEW
Maria S TollnerRussiaBernardo Dominic NEW
Emily L MacleadCanadaIoni Bowcher PROPOSAL
Julie Q WhobreyAustraliaAmy Elsner QUALIFIED
Antonio C DoeItalyAnna Fali UNQUALIFIED
Greenwood T RoysterBrazilBernardo Dominic NEGOTIATION
Murillo F CampainUnited KingdomIvan Magalhaes NEGOTIATION
Claire Q AmigonFranceStephen Shaw NEW
Darci Y MaletCanadaOnyama Limba NEW
Mujtaba S FollerJapanAmy Elsner RENEWAL
Johnson T VocelkaBrazilAmy Elsner NEGOTIATION
Leja Q MacleadUnited KingdomAsiya Javayant RENEWAL
Faith S SaylorsRussiaAsiya Javayant NEGOTIATION
Mayumi N TollnerRussiaXuxue Feng NEGOTIATION
Mayumi U KolmetzItalyOnyama Limba PROPOSAL
Mayumi D NickaRussiaBernardo Dominic PROPOSAL
Murillo I NestleArgentinaOnyama Limba RENEWAL
Alejandro W AmigonJapanIoni Bowcher PROPOSAL
Nicolas E StensethFranceIoni Bowcher NEW
Adams H KolmetzArgentinaAsiya Javayant QUALIFIED
Darci H RutaSpainStephen Shaw QUALIFIED
Antonio W FigeroaItalyIoni Bowcher UNQUALIFIED
Maria B FollerBrazilAmy Elsner UNQUALIFIED
Salvatore Q VenereIndiaAmy Elsner UNQUALIFIED
Jefferson P RulapaughIndiaStephen Shaw UNQUALIFIED
Ricardo H BriddickIndiaAsiya Javayant PROPOSAL
Aika Y VenereUnited KingdomBernardo Dominic QUALIFIED
Cody Y FigeroaSpainStephen Shaw NEGOTIATION
Tony R WhobreySpainStephen Shaw NEGOTIATION
Izzy D CaldareraIndiaOnyama Limba QUALIFIED
Jennifer R AlbaresIndiaBernardo Dominic NEGOTIATION
Stacey Q DilliardArgentinaAsiya Javayant QUALIFIED
Misaki Y DoeSpainOnyama Limba NEW

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