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
Arvin X StensethBrazilStephen Shaw NEGOTIATION
Aika X WieserRussiaXuxue Feng NEW
Francesco E MarrierBrazilXuxue Feng PROPOSAL
Jefferson M DarakjyGermanyElwin Sharvill UNQUALIFIED
Greenwood Y NestleFranceBernardo Dominic UNQUALIFIED
Ivar Q OldroydAustraliaAnna Fali NEGOTIATION
Jennifer F SlusarskiCanadaElwin Sharvill RENEWAL
Mayumi J KuskoItalyBernardo Dominic PROPOSAL
Emily V CampainAustraliaAmy Elsner NEW
Costa V RoysterJapanIoni Bowcher QUALIFIED
Murillo C DoeRussiaStephen Shaw UNQUALIFIED
Maisha X MorascaFranceXuxue Feng NEGOTIATION
Sinclair F ChuiCanadaOnyama Limba UNQUALIFIED
Arvin S NickaUnited KingdomElwin Sharvill NEGOTIATION
Faith G VenereAustraliaBernardo Dominic NEGOTIATION
Greenwood R FollerArgentinaXuxue Feng QUALIFIED
Misaki I InouyeItalyIoni Bowcher RENEWAL
Silvio N PoquetteArgentinaIoni Bowcher RENEWAL
Leja F GlickGermanyAnna Fali NEGOTIATION
Ashley H VocelkaRussiaAsiya Javayant PROPOSAL
Jennifer W WhobreySpainAsiya Javayant PROPOSAL
Salvatore W ChuiFranceXuxue Feng UNQUALIFIED
Ivar S OstroskyUnited KingdomIoni Bowcher UNQUALIFIED
Costa P StockhamArgentinaElwin Sharvill NEGOTIATION
Jones J VenereSpainXuxue Feng NEGOTIATION
Silvio F SchemmerGermanyIoni Bowcher PROPOSAL
Francesco P InouyeRussiaOnyama Limba PROPOSAL
Jennifer Y SlusarskiItalyOnyama Limba UNQUALIFIED
Johnson X PerinUnited KingdomIoni Bowcher NEW
Juan K DoeFranceAmy Elsner PROPOSAL
Faith L GauchoFranceOnyama Limba NEGOTIATION
Greenwood U AmigonIndiaBernardo Dominic NEGOTIATION
Adams R VocelkaUnited KingdomIvan Magalhaes PROPOSAL
Sinclair K MaletItalyIoni Bowcher PROPOSAL
Maria G GauchoItalyXuxue Feng UNQUALIFIED
Greenwood U KuskoSpainBernardo Dominic NEW
Stacey F InouyeItalyOnyama Limba NEGOTIATION
Ricardo R WhobreyItalyStephen Shaw NEGOTIATION
Emily V SchemmerFranceIvan Magalhaes QUALIFIED
Ashley W ButtJapanStephen Shaw NEW
Kaitlin P FlosiCanadaIoni Bowcher QUALIFIED
Isabel L SlusarskiArgentinaBernardo Dominic PROPOSAL
Ashley E MacleadItalyOnyama Limba RENEWAL
Jeanfrancois V StockhamFranceAnna Fali NEGOTIATION
Aditya D StensethSpainIvan Magalhaes RENEWAL
Kadeem Q NickaBrazilOnyama Limba QUALIFIED
Wickens Q IturbideItalyElwin Sharvill NEW
Francesco K MarrierArgentinaBernardo Dominic RENEWAL
Salvatore F CampainIndiaXuxue Feng QUALIFIED
Clifford U MaletJapanStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Faith K MaletArgentinaXuxue Feng QUALIFIED
Francesco W DilliardRussiaAmy Elsner QUALIFIED
Deepesh G ChuiSpainXuxue Feng PROPOSAL
Tony W WaycottSpainAmy Elsner QUALIFIED
Kaitlin U DoeBrazilStephen Shaw UNQUALIFIED
Mujtaba R ChuiSpainAmy Elsner PROPOSAL
Misaki I CampainArgentinaElwin Sharvill NEGOTIATION
Arvin T DilliardRussiaAnna Fali UNQUALIFIED
Arvin M PaprockiSpainIoni Bowcher NEGOTIATION
Deepesh E SlusarskiJapanIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo M SaylorsJapan2024-06-12Dorl, James J Esq UNQUALIFIED26Amy Elsner
1001Deepesh K WhobreyIndia2024-05-27Dorl, James J Esq NEW11Bernardo Dominic
1002Darci U WieserJapan2024-05-26Rousseaux, Michael Esq PROPOSAL2Amy Elsner
1003Rodrigues I DoeItaly2024-06-02Truhlar And Truhlar Attys QUALIFIED0Ivan Magalhaes
1004Jeanfrancois C BriddickCanada2024-06-14Truhlar And Truhlar Attys QUALIFIED92Stephen Shaw
1005Tony R ShinkoCanada2024-06-21Commercial Press PROPOSAL7Elwin Sharvill
1006Rodrigues G MorascaSpain2024-05-28Buckley Miller Wright PROPOSAL46Bernardo Dominic
1007Julie K KolmetzSpain2024-06-13King, Christopher A Esq NEW18Bernardo Dominic
1008Claire B StockhamJapan2024-06-19Dorl, James J Esq QUALIFIED3Ioni Bowcher
1009Rodrigues B ButtBrazil2024-05-27Chapman, Ross E Esq NEGOTIATION89Ivan Magalhaes
1010Clifford K PoquetteGermany2024-06-10Commercial Press QUALIFIED33Amy Elsner
1011Costa Q PerinUnited Kingdom2024-06-16Rousseaux, Michael Esq PROPOSAL75Xuxue Feng
1012Nicolas I NestleFrance2024-06-09King, Christopher A Esq RENEWAL49Anna Fali
1013Izzy O MacleadIndia2024-06-17Rangoni Of Florence NEW6Onyama Limba
1014Kadeem K MaletGermany2024-05-25Rangoni Of Florence NEGOTIATION59Amy Elsner
1015Octavia J IturbideSpain2024-06-10Chemel, James L Cpa NEW84Elwin Sharvill
1016Alejandro V GlickSpain2024-06-23Chanay, Jeffrey A Esq PROPOSAL48Stephen Shaw
1017Morrow Y BologniaArgentina2024-06-10Buckley Miller Wright NEGOTIATION18Onyama Limba
1018Silvio T FigeroaRussia2024-06-06Rangoni Of Florence RENEWAL83Bernardo Dominic
1019Adams W CaldareraRussia2024-06-02Rousseaux, Michael Esq NEGOTIATION41Stephen Shaw
1020Arvin X GillianUnited Kingdom2024-05-27Chapman, Ross E Esq NEGOTIATION7Bernardo Dominic
1021Mujtaba O DoeAustralia2024-06-11Truhlar And Truhlar Attys NEGOTIATION92Ioni Bowcher
1022Julie U ShinkoSpain2024-05-31Commercial Press PROPOSAL99Stephen Shaw
1023Mayumi A FlosiGermany2024-05-26King, Christopher A Esq NEW41Onyama Limba
1024Emily E GauchoJapan2024-06-17Dorl, James J Esq QUALIFIED5Onyama Limba
1025Aditya N PaprockiItaly2024-06-06Printing Dimensions RENEWAL28Xuxue Feng
1026Ivar Z SlusarskiJapan2024-06-04Rousseaux, Michael Esq PROPOSAL60Xuxue Feng
1027Greenwood R FlosiSpain2024-06-03Chanay, Jeffrey A Esq RENEWAL32Amy Elsner
1028Tony D PerinIndia2024-06-05Feiner Bros NEW32Elwin Sharvill
1029Alejandro J MorascaArgentina2024-05-29Feiner Bros UNQUALIFIED4Ioni Bowcher
1030Tony E WaycottGermany2024-06-18Dorl, James J Esq NEW88Ioni Bowcher
1031Mayumi X WaycottUnited Kingdom2024-06-02King, Christopher A Esq NEGOTIATION31Anna Fali
1032Isabel S NickaUnited Kingdom2024-06-22Rangoni Of Florence NEW11Asiya Javayant
1033Alejandro D KuskoBrazil2024-06-03King, Christopher A Esq NEW22Stephen Shaw
1034Nicolas R StensethArgentina2024-06-04Morlong Associates QUALIFIED45Anna Fali
1035Leon D CaldareraRussia2024-06-11Commercial Press UNQUALIFIED28Xuxue Feng
1036Jennifer C DoeIndia2024-05-29Rangoni Of Florence RENEWAL7Onyama Limba
1037Faith K DarakjyRussia2024-06-09Commercial Press UNQUALIFIED9Asiya Javayant
1038Munro G MaletItaly2024-06-06Truhlar And Truhlar Attys QUALIFIED74Asiya Javayant
1039James B PerinFrance2024-05-27Morlong Associates NEGOTIATION85Onyama Limba
1040Stacey P TollnerUnited Kingdom2024-06-06King, Christopher A Esq NEGOTIATION15Elwin Sharvill
1041Faith C BowleyUnited Kingdom2024-06-11Feiner Bros UNQUALIFIED41Amy Elsner
1042David Z AmigonIndia2024-06-11Dorl, James J Esq NEW20Stephen Shaw
1043Tony I CaudyRussia2024-06-04Rousseaux, Michael Esq QUALIFIED21Amy Elsner
1044Izzy Y VenereIndia2024-06-07Dorl, James J Esq NEW15Amy Elsner
1045Johnson E DoeRussia2024-06-15Buckley Miller Wright NEW59Amy Elsner
1046Arvin Y BriddickSpain2024-06-19Rangoni Of Florence QUALIFIED53Amy Elsner
1047Cody D ButtFrance2024-06-02Commercial Press RENEWAL23Ioni Bowcher
1048Jefferson L DarakjySpain2024-06-20Printing Dimensions RENEWAL7Ivan Magalhaes
1049Nicolas I DarakjyCanada2024-06-11Chemel, James L Cpa QUALIFIED66Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Emily H FigeroaGermanyAmy Elsner UNQUALIFIED
Nicolas I PaprockiCanadaAnna Fali NEW
Stacey P IturbideSpainAsiya Javayant QUALIFIED
Tony F SlusarskiJapanAsiya Javayant RENEWAL
Salvatore R StensethIndiaAmy Elsner PROPOSAL
Chavez B SaylorsItalyIoni Bowcher PROPOSAL
Leon I BowleyFranceAnna Fali NEGOTIATION
Stacey F FerenczSpainBernardo Dominic RENEWAL
Jefferson F KolmetzRussiaXuxue Feng NEGOTIATION
Jones L SaylorsAustraliaAsiya Javayant NEW
Emily O GauchoCanadaXuxue Feng PROPOSAL
Alejandro X WaycottIndiaAmy Elsner QUALIFIED
Octavia I BologniaIndiaOnyama Limba UNQUALIFIED
Aruna J CaldareraGermanyAmy Elsner RENEWAL
Deepesh E AmigonSpainOnyama Limba NEW
James K BriddickUnited KingdomOnyama Limba NEGOTIATION
Maria I VocelkaRussiaIvan Magalhaes NEGOTIATION
Julie J KuskoJapanOnyama Limba PROPOSAL
Silvio R SchemmerArgentinaStephen Shaw PROPOSAL
Maisha Q BowleyJapanAnna Fali NEGOTIATION
David B WaycottJapanAsiya Javayant RENEWAL
Cody J RimAustraliaStephen Shaw NEW
Johnson E PoquetteAustraliaStephen Shaw UNQUALIFIED
Alejandro T DilliardBrazilBernardo Dominic RENEWAL
Tony I GillianFranceOnyama Limba UNQUALIFIED
Salvatore X PoquetteAustraliaXuxue Feng PROPOSAL
Rodrigues V FollerJapanAmy Elsner NEW
Johnson Q RimArgentinaIvan Magalhaes NEGOTIATION
Darci T GauchoFranceElwin Sharvill PROPOSAL
Ivar A BologniaSpainBernardo Dominic UNQUALIFIED
Mujtaba J GarufiUnited KingdomElwin Sharvill NEGOTIATION
Nicolas T MarrierBrazilIoni Bowcher NEW
Jennifer I TollnerUnited KingdomIvan Magalhaes QUALIFIED
Alejandro G ButtUnited KingdomIvan Magalhaes NEW
Munro K PaprockiIndiaOnyama Limba NEGOTIATION
Octavia E RutaUnited KingdomAsiya Javayant NEGOTIATION
Munro N SchemmerRussiaXuxue Feng NEW
Jones E SchemmerFranceBernardo Dominic RENEWAL
Deepesh U BologniaItalyIvan Magalhaes PROPOSAL
Mayumi J WieserUnited KingdomIvan Magalhaes UNQUALIFIED
Deepesh A TollnerFranceIvan Magalhaes PROPOSAL
Nicolas R InouyeFranceXuxue Feng NEGOTIATION
Munro A SchemmerSpainElwin Sharvill PROPOSAL
Salvatore G NickaIndiaElwin Sharvill NEW
Smith C VocelkaAustraliaOnyama Limba QUALIFIED
Antonio V CaudyCanadaAmy Elsner RENEWAL
Jennifer G NickaBrazilIvan Magalhaes PROPOSAL
Salvatore Q SchemmerGermanyIvan Magalhaes QUALIFIED
Johnson A PaprockiJapanAsiya Javayant NEGOTIATION
Silvio Y RimItalyIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Aika I Butt
Ivar H Albares
Murillo G Ostrosky
Julie M Wieser
Silvio I Rim
Costa Q Vocelka
Faith Y Marrier
Ashley F Ferencz
Francesco E Gaucho
Sinclair J Darakjy
Murillo L Gillian
Darci H Flosi
Tony O Caldarera
Darci C Glick
David V Campain
Darci R Doe
Aditya L Caudy
Misaki U Slusarski
Ivar K Paprocki
Jeanfrancois L Butt
Greenwood K Ostrosky
Jennifer D Ruta
Isabel Y Kusko
Aika C Bowley
Aditya E Slusarski
Leon J Shinko
Cody U Doe
Silvio V Venere
Izzy L Rim
Ricardo L Glick
Greenwood E Maclead
Julie U Kolmetz
Munro S Whobrey
Arvin Q Kusko
Greenwood O Morasca
Ivar L Wieser
Tony B Briddick
Morrow W Flosi
Morrow V Ruta
Jennifer Y Malet
Misaki A Glick
Greenwood A Paprocki
Jefferson J Venere
Jeanfrancois V Sergi
Izzy H Doe
Murillo O Briddick
Arvin G Shinko
Aruna I Butt
Jefferson X Slusarski
Aruna N Darakjy
IdCountryDate
1000Germany2024-06-20
1001Japan2024-06-19
1002Japan2024-05-25
1003France2024-05-26
1004United Kingdom2024-05-26
1005United Kingdom2024-06-07
1006United Kingdom2024-06-13
1007Argentina2024-06-15
1008France2024-06-13
1009Russia2024-06-13
1010Russia2024-06-08
1011Japan2024-06-09
1012Canada2024-06-01
1013Australia2024-06-19
1014Canada2024-05-26
1015Australia2024-06-19
1016Italy2024-06-22
1017United Kingdom2024-06-15
1018Brazil2024-06-05
1019Japan2024-06-21
1020United Kingdom2024-06-11
1021Germany2024-06-09
1022Australia2024-06-05
1023France2024-05-28
1024Argentina2024-06-12
1025Australia2024-06-15
1026France2024-06-13
1027Russia2024-06-09
1028Brazil2024-06-16
1029Brazil2024-06-03
1030Germany2024-05-25
1031Russia2024-06-21
1032United Kingdom2024-06-21
1033Argentina2024-05-30
1034India2024-05-29
1035Canada2024-06-17
1036Italy2024-06-15
1037Italy2024-06-15
1038Canada2024-06-23
1039Spain2024-05-29
1040Brazil2024-06-07
1041Brazil2024-06-07
1042Australia2024-06-21
1043Australia2024-06-22
1044France2024-06-21
1045Canada2024-06-04
1046India2024-06-07
1047Spain2024-06-14
1048Brazil2024-06-06
1049Canada2024-06-14

On-Demand Data

NameIdCountryDate
Nicolas R Ferencz1000India2024-06-23
Stacey Z Nicka1001Canada2024-06-08
Rodrigues D Kolmetz1002Italy2024-06-22
Murillo P Campain1003Canada2024-06-21
Salvatore K Caudy1004Canada2024-06-03
Smith W Wieser1005Australia2024-05-28
Tony I Albares1006Australia2024-05-31
Maisha P Ostrosky1007Australia2024-06-05
Jefferson H Shinko1008Australia2024-06-04
Alejandro J Maclead1009Australia2024-06-20
Nicolas Z Stockham1010United Kingdom2024-05-26
Claire F Amigon1011France2024-06-21
Chavez L Garufi1012Canada2024-06-17
Mujtaba P Stenseth1013Australia2024-06-10
Jefferson I Butt1014Argentina2024-05-28
Kaitlin I Shinko1015Spain2024-06-10
Aika C Shinko1016Argentina2024-05-30
Kaitlin W Paprocki1017Canada2024-06-06
Silvio T Dilliard1018France2024-06-19
Costa Z Iturbide1019Canada2024-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams O WhobreySpainIvan Magalhaes QUALIFIED
Octavia M AmigonRussiaOnyama Limba NEW
Alejandro C VocelkaAustraliaXuxue Feng PROPOSAL
Rodrigues B SaylorsItalyIoni Bowcher NEGOTIATION
Alejandro A MacleadUnited KingdomIvan Magalhaes NEW
Juan S SergiSpainBernardo Dominic RENEWAL
Leon V SlusarskiArgentinaElwin Sharvill RENEWAL
Cody W RulapaughFranceElwin Sharvill NEGOTIATION
Julie V RulapaughBrazilIoni Bowcher NEGOTIATION
Mayumi Z KolmetzGermanyOnyama Limba NEGOTIATION
Kadeem O KolmetzItalyAsiya Javayant NEW
Aika L ShinkoCanadaBernardo Dominic PROPOSAL
Greenwood J KolmetzUnited KingdomAmy Elsner NEGOTIATION
Tony W BriddickUnited KingdomStephen Shaw NEW
Mujtaba G SchemmerFranceStephen Shaw RENEWAL
Johnson S VenereFranceIvan Magalhaes UNQUALIFIED
Costa Q GauchoRussiaAnna Fali QUALIFIED
Munro F MorascaItalyOnyama Limba PROPOSAL
Faith C ButtItalyXuxue Feng QUALIFIED
Stacey O PoquetteJapanOnyama Limba NEGOTIATION
Nicolas E GauchoArgentinaAsiya Javayant NEGOTIATION
Stacey T StensethItalyIvan Magalhaes PROPOSAL
Johnson F InouyeIndiaAmy Elsner QUALIFIED
Jones E CaldareraUnited KingdomOnyama Limba QUALIFIED
Salvatore J FlosiArgentinaStephen Shaw QUALIFIED
Mujtaba L RimIndiaIoni Bowcher NEGOTIATION
Misaki X MaletItalyXuxue Feng PROPOSAL
Julie G BologniaArgentinaIvan Magalhaes UNQUALIFIED
Murillo W GauchoSpainOnyama Limba NEGOTIATION
Mayumi V ShinkoSpainXuxue Feng UNQUALIFIED
Misaki J DilliardJapanStephen Shaw RENEWAL
Antonio M WaycottCanadaIoni Bowcher PROPOSAL
Costa T NestleCanadaElwin Sharvill UNQUALIFIED
Jennifer B IturbideJapanBernardo Dominic PROPOSAL
Munro J BriddickSpainOnyama Limba NEW
Jennifer A ShinkoJapanIoni Bowcher QUALIFIED
Jones N KolmetzGermanyAsiya Javayant NEW
Octavia F DarakjyCanadaAsiya Javayant NEGOTIATION
Johnson V PaprockiUnited KingdomBernardo Dominic UNQUALIFIED
Aruna M AlbaresArgentinaAmy Elsner PROPOSAL

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