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
Maria S NestleArgentinaIoni Bowcher PROPOSAL
Mujtaba G FigeroaJapanAnna Fali UNQUALIFIED
Munro P GauchoUnited KingdomAmy Elsner RENEWAL
Salvatore K GillianJapanStephen Shaw RENEWAL
Ivar E TollnerCanadaBernardo Dominic NEGOTIATION
Faith X MaletIndiaIoni Bowcher PROPOSAL
Arvin D WieserArgentinaBernardo Dominic QUALIFIED
Ricardo B CampainJapanElwin Sharvill NEGOTIATION
Sinclair G BriddickIndiaOnyama Limba PROPOSAL
Tony E VenereAustraliaIoni Bowcher QUALIFIED
Maria M WhobreyItalyAmy Elsner NEGOTIATION
Darci H FollerAustraliaOnyama Limba RENEWAL
Leon D IturbideIndiaXuxue Feng RENEWAL
Maisha G NickaSpainAnna Fali UNQUALIFIED
David X MacleadAustraliaOnyama Limba NEW
Ashley Q MorascaAustraliaElwin Sharvill NEW
Silvio H CaldareraAustraliaStephen Shaw RENEWAL
Julie R FigeroaItalyAnna Fali NEW
Aika S StensethUnited KingdomIvan Magalhaes QUALIFIED
Ricardo T WhobreyCanadaOnyama Limba QUALIFIED
Silvio E WaycottArgentinaAsiya Javayant NEGOTIATION
Silvio L RutaAustraliaAnna Fali RENEWAL
Ashley A ChuiItalyIvan Magalhaes UNQUALIFIED
Adams P NickaCanadaIoni Bowcher PROPOSAL
Wickens Z NestleCanadaIoni Bowcher UNQUALIFIED
Maria M BriddickItalyStephen Shaw NEW
Rodrigues B WaycottSpainIvan Magalhaes PROPOSAL
Wickens I BowleyUnited KingdomIoni Bowcher NEW
Claire W RimItalyIoni Bowcher NEGOTIATION
Izzy M OstroskyCanadaOnyama Limba QUALIFIED
Leja O GarufiItalyOnyama Limba UNQUALIFIED
David F GillianGermanyAsiya Javayant UNQUALIFIED
Mayumi C SergiAustraliaIvan Magalhaes NEW
Jeanfrancois P RutaUnited KingdomAnna Fali NEW
Cody J SlusarskiSpainAsiya Javayant NEW
David K CaldareraUnited KingdomStephen Shaw RENEWAL
Murillo W AlbaresArgentinaAmy Elsner QUALIFIED
Alejandro E MaletCanadaOnyama Limba QUALIFIED
Alejandro L VocelkaCanadaElwin Sharvill PROPOSAL
Isabel Z KolmetzUnited KingdomOnyama Limba NEGOTIATION
Aruna B ShinkoGermanyXuxue Feng RENEWAL
Silvio H WieserIndiaIvan Magalhaes QUALIFIED
Kadeem N SlusarskiRussiaXuxue Feng UNQUALIFIED
Costa A OstroskyItalyXuxue Feng NEGOTIATION
Tony H WieserArgentinaIoni Bowcher QUALIFIED
David A MarrierIndiaAmy Elsner UNQUALIFIED
Cody Q StockhamGermanyElwin Sharvill NEGOTIATION
Maria Q FollerFranceIoni Bowcher RENEWAL
Ivar H MorascaIndiaIoni Bowcher PROPOSAL
Ivar J PerinGermanyAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Kaitlin M VenereArgentinaIoni Bowcher RENEWAL
Maisha A MaletRussiaIvan Magalhaes RENEWAL
Adams L KolmetzJapanOnyama Limba NEGOTIATION
Ricardo S OldroydGermanyOnyama Limba PROPOSAL
Misaki Z MaletItalyAnna Fali RENEWAL
Mujtaba G PoquetteAustraliaBernardo Dominic RENEWAL
Nicolas N DilliardJapanAnna Fali RENEWAL
Aruna A ChuiArgentinaAnna Fali NEGOTIATION
Aika Q AlbaresSpainAnna Fali QUALIFIED
Aditya G AmigonAustraliaBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin B CampainUnited Kingdom2024-06-18Buckley Miller Wright UNQUALIFIED25Ioni Bowcher
1001Leon B ShinkoGermany2024-06-13Commercial Press NEGOTIATION13Ivan Magalhaes
1002Kaitlin C VocelkaIndia2024-06-03Dorl, James J Esq NEW85Asiya Javayant
1003Stacey T CaudyGermany2024-06-02Feiner Bros NEGOTIATION79Amy Elsner
1004Alejandro M DilliardBrazil2024-05-31Truhlar And Truhlar Attys QUALIFIED97Onyama Limba
1005Costa Z PaprockiFrance2024-06-11Chemel, James L Cpa UNQUALIFIED98Amy Elsner
1006Cody T AmigonItaly2024-05-28Benton, John B Jr RENEWAL18Bernardo Dominic
1007Darci F AmigonJapan2024-06-18Commercial Press UNQUALIFIED43Onyama Limba
1008Ashley I MarrierFrance2024-06-04Chapman, Ross E Esq PROPOSAL10Onyama Limba
1009Ivar K PerinAustralia2024-06-15Feiner Bros NEGOTIATION19Asiya Javayant
1010Murillo U IturbideArgentina2024-06-07Truhlar And Truhlar Attys UNQUALIFIED25Asiya Javayant
1011Faith B FigeroaArgentina2024-05-27Feiner Bros PROPOSAL52Bernardo Dominic
1012Jefferson X RulapaughArgentina2024-06-24Chemel, James L Cpa PROPOSAL47Ioni Bowcher
1013Maisha U RulapaughCanada2024-06-10Rangoni Of Florence UNQUALIFIED5Asiya Javayant
1014Morrow K IturbideSpain2024-06-14Chanay, Jeffrey A Esq PROPOSAL92Anna Fali
1015Kadeem X BologniaItaly2024-06-17Benton, John B Jr QUALIFIED27Amy Elsner
1016Stacey C KolmetzRussia2024-06-14Morlong Associates NEW46Onyama Limba
1017Costa G NestleBrazil2024-06-08Truhlar And Truhlar Attys NEW1Asiya Javayant
1018Darci V GauchoBrazil2024-06-05Morlong Associates PROPOSAL36Stephen Shaw
1019Silvio T MacleadAustralia2024-05-31Commercial Press RENEWAL91Amy Elsner
1020Ivar G GillianGermany2024-06-08Feiner Bros PROPOSAL80Bernardo Dominic
1021Emily D GarufiBrazil2024-05-26Rangoni Of Florence NEW75Anna Fali
1022Wickens Z OldroydBrazil2024-06-16Chapman, Ross E Esq UNQUALIFIED58Elwin Sharvill
1023Aditya P PoquetteIndia2024-06-19Feiner Bros QUALIFIED26Ivan Magalhaes
1024Munro V AmigonJapan2024-06-20Chanay, Jeffrey A Esq QUALIFIED58Amy Elsner
1025Jefferson V BriddickRussia2024-05-26Dorl, James J Esq UNQUALIFIED22Ioni Bowcher
1026Cody R CaudyRussia2024-06-03Chapman, Ross E Esq QUALIFIED96Asiya Javayant
1027Mayumi M GillianJapan2024-06-24Rousseaux, Michael Esq PROPOSAL60Xuxue Feng
1028Salvatore J WhobreyJapan2024-06-19Rangoni Of Florence RENEWAL32Anna Fali
1029Faith A CaudyRussia2024-06-10Dorl, James J Esq RENEWAL66Xuxue Feng
1030Kadeem N BriddickIndia2024-06-10Commercial Press QUALIFIED57Ioni Bowcher
1031Smith U PoquetteCanada2024-06-08Chemel, James L Cpa NEW93Asiya Javayant
1032Julie X ButtIndia2024-06-12Dorl, James J Esq PROPOSAL40Amy Elsner
1033Claire J BriddickBrazil2024-06-21Morlong Associates RENEWAL72Elwin Sharvill
1034Octavia S GauchoAustralia2024-06-01Printing Dimensions NEGOTIATION61Anna Fali
1035Maria A RimAustralia2024-05-27Rangoni Of Florence UNQUALIFIED36Stephen Shaw
1036Morrow G KolmetzUnited Kingdom2024-06-13Feiner Bros NEW20Onyama Limba
1037Clifford J MaletAustralia2024-06-18Chanay, Jeffrey A Esq RENEWAL32Anna Fali
1038Claire D ButtUnited Kingdom2024-06-03Chemel, James L Cpa PROPOSAL24Ioni Bowcher
1039Francesco R GarufiFrance2024-06-03King, Christopher A Esq QUALIFIED4Xuxue Feng
1040Claire U ChuiUnited Kingdom2024-06-22Commercial Press NEW83Elwin Sharvill
1041Alejandro W PaprockiCanada2024-06-15King, Christopher A Esq PROPOSAL5Xuxue Feng
1042Mayumi U MaletAustralia2024-06-01King, Christopher A Esq PROPOSAL49Ivan Magalhaes
1043Morrow W NestleCanada2024-06-04Rangoni Of Florence NEGOTIATION38Ioni Bowcher
1044Smith J AmigonBrazil2024-06-24Rangoni Of Florence QUALIFIED55Anna Fali
1045Maria F MaletUnited Kingdom2024-06-12Printing Dimensions QUALIFIED94Xuxue Feng
1046Munro B SchemmerFrance2024-06-04Chemel, James L Cpa RENEWAL27Ioni Bowcher
1047Isabel S ButtRussia2024-06-13Rousseaux, Michael Esq NEGOTIATION46Asiya Javayant
1048Maisha F GillianRussia2024-06-04Chapman, Ross E Esq RENEWAL62Onyama Limba
1049Jeanfrancois A PerinItaly2024-06-03Chanay, Jeffrey A Esq NEW1Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
James A SlusarskiSpainAnna Fali UNQUALIFIED
Arvin B StockhamItalyAsiya Javayant NEGOTIATION
Ashley Q StensethSpainIvan Magalhaes UNQUALIFIED
Costa T RimBrazilIoni Bowcher QUALIFIED
Silvio L KolmetzSpainBernardo Dominic PROPOSAL
Murillo S WhobreyIndiaIvan Magalhaes UNQUALIFIED
Nicolas K TollnerIndiaBernardo Dominic UNQUALIFIED
Maria R PaprockiArgentinaAsiya Javayant UNQUALIFIED
Leja M FollerIndiaStephen Shaw NEGOTIATION
Francesco L PaprockiFranceAsiya Javayant QUALIFIED
Leon R WhobreyCanadaIvan Magalhaes PROPOSAL
Johnson R DoeBrazilStephen Shaw RENEWAL
Silvio S CaldareraGermanyIoni Bowcher NEGOTIATION
Ricardo P PoquetteSpainStephen Shaw QUALIFIED
Mujtaba A AmigonFranceAnna Fali NEW
Adams V SaylorsJapanBernardo Dominic PROPOSAL
Darci V MaletCanadaOnyama Limba QUALIFIED
Costa F RutaGermanyAnna Fali QUALIFIED
Arvin V CaudyArgentinaAnna Fali PROPOSAL
Maria U GillianGermanyBernardo Dominic NEGOTIATION
Claire S MacleadGermanyElwin Sharvill RENEWAL
James I FlosiSpainBernardo Dominic NEW
Sinclair Q RutaBrazilXuxue Feng NEW
Deepesh Y WaycottFranceAsiya Javayant PROPOSAL
Johnson K BowleyItalyStephen Shaw UNQUALIFIED
Leon I RimSpainBernardo Dominic NEW
Mayumi Y BologniaAustraliaBernardo Dominic QUALIFIED
Jones M RulapaughUnited KingdomIoni Bowcher NEGOTIATION
Juan M VocelkaRussiaAmy Elsner RENEWAL
Jeanfrancois Y BriddickSpainAnna Fali NEGOTIATION
Sinclair E FlosiAustraliaAnna Fali NEGOTIATION
Misaki A NestleAustraliaIoni Bowcher PROPOSAL
Sinclair G DilliardSpainAnna Fali UNQUALIFIED
Leon I StensethSpainAnna Fali PROPOSAL
Maria R CaudyFranceXuxue Feng UNQUALIFIED
Maria S KuskoCanadaStephen Shaw NEGOTIATION
Leon W BologniaRussiaIoni Bowcher RENEWAL
Leon B SchemmerIndiaAnna Fali UNQUALIFIED
Jeanfrancois R MacleadSpainIvan Magalhaes RENEWAL
Emily V FigeroaCanadaXuxue Feng RENEWAL
Alejandro G GauchoGermanyAmy Elsner NEW
Aruna D TollnerCanadaAsiya Javayant RENEWAL
Octavia N ShinkoBrazilBernardo Dominic QUALIFIED
Aditya M KuskoGermanyBernardo Dominic NEW
Kaitlin B ButtItalyBernardo Dominic PROPOSAL
Arvin Q MacleadCanadaOnyama Limba RENEWAL
Jones J MarrierCanadaBernardo Dominic UNQUALIFIED
Darci M AlbaresJapanOnyama Limba NEGOTIATION
Julie H CampainJapanAnna Fali UNQUALIFIED
Kaitlin Z PaprockiBrazilXuxue Feng NEW
Frozen Columns
Name
Wickens P Schemmer
Aditya V Nicka
Juan J Saylors
Morrow D Venere
Adams I Stockham
Munro I Marrier
Murillo K Doe
Nicolas Q Kusko
Rodrigues V Oldroyd
Stacey O Ruta
Deepesh L Gillian
Nicolas L Campain
Jennifer P Albares
Mujtaba J Malet
Maisha B Shinko
Stacey F Rulapaugh
Wickens S Doe
Leon F Caldarera
Johnson J Kolmetz
Mayumi R Ruta
Aditya Y Paprocki
Antonio L Vocelka
Smith J Darakjy
Francesco E Malet
Julie P Ruta
Mujtaba L Gillian
Antonio W Campain
Francesco H Rim
Arvin H Caldarera
Johnson T Chui
Nicolas F Schemmer
Maria D Morasca
Mujtaba E Figeroa
Johnson P Marrier
Kadeem I Darakjy
Antonio L Flosi
Rodrigues D Chui
Rodrigues I Gillian
Cody W Rim
Octavia V Iturbide
Kaitlin U Stockham
Nicolas Y Paprocki
Jones P Doe
Greenwood E Malet
David S Whobrey
Morrow J Saylors
Greenwood B Darakjy
Clifford G Iturbide
Leja T Bolognia
Alejandro H Doe
IdCountryDate
1000Spain2024-06-17
1001Brazil2024-06-03
1002France2024-05-26
1003Germany2024-05-29
1004Germany2024-06-14
1005Brazil2024-06-03
1006Canada2024-06-01
1007Brazil2024-06-15
1008Spain2024-06-13
1009Australia2024-06-01
1010Brazil2024-06-04
1011Russia2024-06-12
1012Germany2024-06-05
1013France2024-06-22
1014Russia2024-06-17
1015Spain2024-06-23
1016Italy2024-06-18
1017Australia2024-06-12
1018Brazil2024-06-22
1019Japan2024-06-02
1020India2024-06-20
1021France2024-06-24
1022Russia2024-06-05
1023France2024-06-22
1024United Kingdom2024-06-16
1025Argentina2024-06-03
1026Italy2024-06-07
1027Germany2024-06-18
1028Spain2024-06-24
1029Canada2024-06-23
1030Japan2024-06-24
1031United Kingdom2024-06-07
1032Spain2024-05-31
1033Argentina2024-05-28
1034Russia2024-06-08
1035Russia2024-05-31
1036Italy2024-06-02
1037United Kingdom2024-05-29
1038France2024-06-10
1039Australia2024-06-12
1040Germany2024-06-12
1041Canada2024-06-20
1042United Kingdom2024-05-30
1043France2024-05-31
1044Russia2024-06-13
1045France2024-06-10
1046Argentina2024-06-12
1047Canada2024-06-12
1048Italy2024-05-29
1049Spain2024-06-04

On-Demand Data

NameIdCountryDate
Julie D Amigon1000Italy2024-06-16
Isabel U Darakjy1001United Kingdom2024-06-23
Julie B Bowley1002Russia2024-06-19
Jones A Ostrosky1003United Kingdom2024-06-14
Faith I Stockham1004France2024-06-03
Tony C Albares1005Germany2024-05-27
Jefferson O Bolognia1006United Kingdom2024-06-15
Faith N Albares1007Canada2024-06-02
Ricardo Z Maclead1008France2024-05-30
Claire V Rim1009Japan2024-06-21
Claire J Malet1010Russia2024-06-20
Jones Y Ostrosky1011Argentina2024-06-23
Octavia R Foller1012Spain2024-06-10
Aruna L Schemmer1013United Kingdom2024-05-26
Claire W Nicka1014Canada2024-06-24
Mujtaba G Nestle1015Australia2024-05-26
Izzy D Whobrey1016Germany2024-06-04
Tony X Bowley1017Canada2024-06-08
Ricardo R Whobrey1018Italy2024-06-19
Leja M Wieser1019Spain2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem F NickaIndiaBernardo Dominic UNQUALIFIED
Jennifer R DoeAustraliaStephen Shaw UNQUALIFIED
Julie P CaudyFranceIvan Magalhaes RENEWAL
Rodrigues C PerinArgentinaStephen Shaw RENEWAL
Arvin Q MarrierAustraliaStephen Shaw PROPOSAL
Rodrigues D NestleIndiaAmy Elsner UNQUALIFIED
Emily B KolmetzRussiaBernardo Dominic NEW
Aditya V WaycottGermanyStephen Shaw PROPOSAL
Wickens I AlbaresSpainAsiya Javayant QUALIFIED
Tony E CaudyUnited KingdomAsiya Javayant NEGOTIATION
Mayumi V OstroskyUnited KingdomAsiya Javayant NEGOTIATION
Aditya H FlosiAustraliaAsiya Javayant NEGOTIATION
Claire Q RutaBrazilBernardo Dominic RENEWAL
Clifford S MaletFranceStephen Shaw PROPOSAL
Octavia H ChuiGermanyAnna Fali QUALIFIED
Maria M PoquetteRussiaIvan Magalhaes QUALIFIED
Aditya I ShinkoUnited KingdomIvan Magalhaes PROPOSAL
Leon M InouyeItalyElwin Sharvill QUALIFIED
Misaki X ButtIndiaIvan Magalhaes NEW
Johnson Y OstroskyItalyOnyama Limba NEGOTIATION
Rodrigues L AlbaresJapanIoni Bowcher NEGOTIATION
Greenwood Z WhobreyAustraliaStephen Shaw RENEWAL
Ashley J GauchoGermanyXuxue Feng UNQUALIFIED
Alejandro W MacleadAustraliaAnna Fali NEW
Aruna W TollnerRussiaAmy Elsner PROPOSAL
Claire D BowleyAustraliaBernardo Dominic QUALIFIED
Morrow M FlosiArgentinaIvan Magalhaes NEGOTIATION
Sinclair V ButtCanadaElwin Sharvill PROPOSAL
Mujtaba D WieserItalyAsiya Javayant NEGOTIATION
Ashley Q AlbaresFranceIoni Bowcher PROPOSAL
Kadeem S BowleyArgentinaAsiya Javayant NEW
Maisha Y GauchoItalyIoni Bowcher RENEWAL
Emily F FerenczBrazilIoni Bowcher PROPOSAL
Smith T StockhamAustraliaOnyama Limba NEGOTIATION
Aruna E KolmetzGermanyOnyama Limba NEW
Munro N ShinkoGermanyIvan Magalhaes RENEWAL
Faith W SlusarskiIndiaBernardo Dominic UNQUALIFIED
Ricardo I CaldareraArgentinaBernardo Dominic QUALIFIED
Leja Q WaycottRussiaIoni Bowcher UNQUALIFIED
Kadeem V OldroydUnited KingdomElwin Sharvill 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>