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
James S CaudyGermanyBernardo Dominic RENEWAL
Jones X InouyeUnited KingdomAnna Fali NEGOTIATION
James P SergiSpainIoni Bowcher NEGOTIATION
Jennifer E VenereGermanyOnyama Limba NEW
Clifford H KolmetzRussiaElwin Sharvill QUALIFIED
Octavia D StockhamSpainBernardo Dominic RENEWAL
Adams R CaudySpainAmy Elsner NEW
Emily S PaprockiGermanyIoni Bowcher QUALIFIED
Deepesh G SlusarskiFranceIvan Magalhaes PROPOSAL
Salvatore N OldroydSpainXuxue Feng QUALIFIED
Johnson Q ShinkoIndiaOnyama Limba QUALIFIED
Kadeem J GillianItalyOnyama Limba QUALIFIED
Francesco W MorascaCanadaAsiya Javayant NEGOTIATION
Johnson Q FerenczIndiaOnyama Limba RENEWAL
James C DoeGermanyIvan Magalhaes NEGOTIATION
Arvin G FollerIndiaIoni Bowcher NEGOTIATION
Murillo B BriddickIndiaAsiya Javayant UNQUALIFIED
Mujtaba T MacleadItalyOnyama Limba QUALIFIED
Leja P RulapaughItalyStephen Shaw NEW
Misaki Z KuskoCanadaIvan Magalhaes PROPOSAL
Johnson T OstroskyBrazilElwin Sharvill RENEWAL
Johnson F CaudyItalyAmy Elsner NEW
Aika C StockhamSpainAnna Fali NEW
Claire Y CampainIndiaStephen Shaw QUALIFIED
Stacey N DilliardFranceStephen Shaw PROPOSAL
Juan A SergiRussiaXuxue Feng UNQUALIFIED
Octavia O PoquetteIndiaIoni Bowcher NEW
Rodrigues K CaudyGermanyAnna Fali NEW
Munro Z SergiArgentinaAsiya Javayant UNQUALIFIED
Mayumi Z TollnerRussiaStephen Shaw NEW
Wickens R WhobreyFranceAnna Fali NEW
Rodrigues F SergiSpainAnna Fali NEW
Jennifer D DilliardItalyOnyama Limba UNQUALIFIED
Jennifer U FigeroaSpainAsiya Javayant RENEWAL
Tony Z RoysterUnited KingdomXuxue Feng PROPOSAL
Murillo S SergiFranceAnna Fali RENEWAL
Antonio J DilliardItalyStephen Shaw RENEWAL
Kadeem N MorascaRussiaElwin Sharvill UNQUALIFIED
Wickens X PaprockiRussiaIoni Bowcher NEGOTIATION
Morrow S PaprockiBrazilStephen Shaw RENEWAL
Francesco F KolmetzBrazilAmy Elsner PROPOSAL
Francesco U CaldareraGermanyElwin Sharvill RENEWAL
Arvin H DarakjyCanadaAsiya Javayant NEGOTIATION
Nicolas P FollerJapanAmy Elsner QUALIFIED
David J MarrierRussiaAmy Elsner NEW
Johnson L IturbideIndiaStephen Shaw NEGOTIATION
Smith N RutaUnited KingdomStephen Shaw NEW
Clifford E MaletBrazilAmy Elsner RENEWAL
Kadeem G ButtSpainOnyama Limba PROPOSAL
Aditya E ButtAustraliaOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Faith Y FlosiUnited KingdomAsiya Javayant QUALIFIED
Sinclair M SergiAustraliaIoni Bowcher UNQUALIFIED
Arvin I FigeroaSpainXuxue Feng PROPOSAL
Juan U BriddickFranceXuxue Feng NEGOTIATION
Smith A RoysterIndiaStephen Shaw RENEWAL
Morrow F GillianAustraliaAnna Fali QUALIFIED
Maria F PoquetteArgentinaIvan Magalhaes PROPOSAL
Chavez W MorascaArgentinaStephen Shaw PROPOSAL
Tony H KuskoItalyStephen Shaw NEW
Clifford F MaletAustraliaAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams D VenereSpain2024-06-20Rousseaux, Michael Esq PROPOSAL94Bernardo Dominic
1001James F DoeRussia2024-05-31Feiner Bros PROPOSAL2Ioni Bowcher
1002Stacey C AlbaresArgentina2024-06-02Commercial Press PROPOSAL22Onyama Limba
1003Faith X PaprockiGermany2024-06-06Rousseaux, Michael Esq NEW9Elwin Sharvill
1004Darci O RimJapan2024-05-31Truhlar And Truhlar Attys QUALIFIED67Bernardo Dominic
1005Leon F BologniaJapan2024-06-22Buckley Miller Wright UNQUALIFIED35Ioni Bowcher
1006Rodrigues G BriddickUnited Kingdom2024-05-31Printing Dimensions NEGOTIATION98Amy Elsner
1007Izzy D ButtSpain2024-06-10King, Christopher A Esq NEW53Onyama Limba
1008Ashley V VenereJapan2024-05-27Morlong Associates PROPOSAL70Ivan Magalhaes
1009Emily H NestleJapan2024-06-15Chemel, James L Cpa PROPOSAL26Ivan Magalhaes
1010Mayumi Q IturbideAustralia2024-06-02Buckley Miller Wright PROPOSAL26Ivan Magalhaes
1011Costa U BriddickSpain2024-06-14Feiner Bros NEW98Bernardo Dominic
1012Jeanfrancois I PerinBrazil2024-05-28Rousseaux, Michael Esq UNQUALIFIED23Ivan Magalhaes
1013Leja O MaletUnited Kingdom2024-06-14Printing Dimensions UNQUALIFIED16Xuxue Feng
1014Maisha R RulapaughBrazil2024-05-28Chapman, Ross E Esq RENEWAL63Stephen Shaw
1015Smith J GarufiJapan2024-06-13Morlong Associates UNQUALIFIED80Elwin Sharvill
1016Salvatore J RimUnited Kingdom2024-06-08Rousseaux, Michael Esq PROPOSAL63Elwin Sharvill
1017Emily K SergiSpain2024-06-08Dorl, James J Esq NEW67Bernardo Dominic
1018Rodrigues Q SlusarskiGermany2024-06-11Feiner Bros NEW6Onyama Limba
1019Morrow Y MaletRussia2024-06-05Chemel, James L Cpa NEGOTIATION91Onyama Limba
1020Jefferson K DarakjyJapan2024-06-09Feiner Bros RENEWAL32Anna Fali
1021Isabel T RoysterGermany2024-06-22Feiner Bros RENEWAL65Bernardo Dominic
1022Murillo O BowleyAustralia2024-06-09Benton, John B Jr UNQUALIFIED39Stephen Shaw
1023Adams H OstroskyBrazil2024-05-30Chanay, Jeffrey A Esq RENEWAL86Ioni Bowcher
1024Octavia R ChuiJapan2024-06-10Benton, John B Jr NEW66Xuxue Feng
1025Sinclair A WhobreyGermany2024-06-14Buckley Miller Wright NEGOTIATION34Amy Elsner
1026Maria R InouyeAustralia2024-06-22Truhlar And Truhlar Attys QUALIFIED85Asiya Javayant
1027Clifford R CaldareraJapan2024-06-10Commercial Press PROPOSAL76Stephen Shaw
1028Sinclair L CaldareraArgentina2024-05-27Chapman, Ross E Esq NEW31Ivan Magalhaes
1029Wickens Y OldroydFrance2024-06-21Rangoni Of Florence NEW15Asiya Javayant
1030Salvatore F FollerIndia2024-05-28Benton, John B Jr NEGOTIATION95Anna Fali
1031Juan F CampainIndia2024-06-05Benton, John B Jr QUALIFIED27Ivan Magalhaes
1032Murillo H GauchoFrance2024-06-03Rangoni Of Florence PROPOSAL82Stephen Shaw
1033Tony J BologniaItaly2024-06-06King, Christopher A Esq RENEWAL17Ioni Bowcher
1034Wickens T FlosiSpain2024-06-04Truhlar And Truhlar Attys RENEWAL23Elwin Sharvill
1035Faith Y GarufiGermany2024-06-04Benton, John B Jr NEGOTIATION65Onyama Limba
1036Isabel D CampainArgentina2024-06-18Feltz Printing Service QUALIFIED67Xuxue Feng
1037Chavez S RutaRussia2024-06-08Rousseaux, Michael Esq UNQUALIFIED36Elwin Sharvill
1038Jefferson X DarakjyBrazil2024-05-27Morlong Associates NEW42Elwin Sharvill
1039Sinclair A OldroydItaly2024-05-29Dorl, James J Esq NEGOTIATION80Amy Elsner
1040Adams I MaletUnited Kingdom2024-06-05Truhlar And Truhlar Attys PROPOSAL61Anna Fali
1041Nicolas X DilliardSpain2024-05-25Feiner Bros NEGOTIATION69Onyama Limba
1042Nicolas N GauchoUnited Kingdom2024-05-26Chemel, James L Cpa NEW17Amy Elsner
1043Kadeem R SchemmerIndia2024-05-24Feiner Bros NEGOTIATION80Ivan Magalhaes
1044Kaitlin K AlbaresBrazil2024-06-20Printing Dimensions NEGOTIATION29Ioni Bowcher
1045Clifford N ShinkoSpain2024-06-04Rousseaux, Michael Esq QUALIFIED8Stephen Shaw
1046Stacey D ButtAustralia2024-05-26Truhlar And Truhlar Attys PROPOSAL97Bernardo Dominic
1047Aruna M GarufiItaly2024-06-02Feiner Bros QUALIFIED42Bernardo Dominic
1048Cody S MacleadSpain2024-05-25Commercial Press PROPOSAL7Ioni Bowcher
1049Jeanfrancois T FollerUnited Kingdom2024-06-01Truhlar And Truhlar Attys NEGOTIATION1Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Salvatore J VocelkaUnited KingdomXuxue Feng NEGOTIATION
Claire C RimIndiaAnna Fali QUALIFIED
Juan S GarufiGermanyElwin Sharvill QUALIFIED
Darci Y DilliardSpainBernardo Dominic NEW
Francesco L AmigonIndiaAmy Elsner UNQUALIFIED
Clifford J InouyeArgentinaAmy Elsner QUALIFIED
Sinclair G VocelkaAustraliaAsiya Javayant NEGOTIATION
Emily H StensethArgentinaAnna Fali PROPOSAL
Darci P RutaItalyIvan Magalhaes NEW
Sinclair R SchemmerSpainIoni Bowcher UNQUALIFIED
Stacey B PerinBrazilXuxue Feng QUALIFIED
Murillo S RulapaughRussiaAmy Elsner UNQUALIFIED
Antonio S WaycottAustraliaXuxue Feng UNQUALIFIED
Darci G PaprockiAustraliaStephen Shaw NEGOTIATION
Claire V NickaBrazilIvan Magalhaes RENEWAL
Francesco B BowleyCanadaElwin Sharvill PROPOSAL
Cody G OstroskyBrazilXuxue Feng UNQUALIFIED
Antonio B SaylorsFranceOnyama Limba UNQUALIFIED
Antonio G BowleyRussiaXuxue Feng NEGOTIATION
Nicolas T MorascaJapanXuxue Feng QUALIFIED
Rodrigues I CaldareraGermanyAnna Fali UNQUALIFIED
Mujtaba A MorascaUnited KingdomIoni Bowcher UNQUALIFIED
Deepesh J ButtBrazilAnna Fali NEW
Aika X BriddickAustraliaIvan Magalhaes QUALIFIED
Jefferson F RimFranceStephen Shaw NEGOTIATION
Adams P MorascaAustraliaXuxue Feng NEW
Ivar P StockhamJapanIvan Magalhaes PROPOSAL
Aika I MorascaJapanIvan Magalhaes QUALIFIED
Ashley Z BowleyRussiaIoni Bowcher UNQUALIFIED
Salvatore P FollerAustraliaOnyama Limba PROPOSAL
Leja K FerenczGermanyElwin Sharvill PROPOSAL
Darci M WaycottArgentinaIoni Bowcher NEW
David L ShinkoGermanyElwin Sharvill NEW
Julie H OstroskyItalyIvan Magalhaes UNQUALIFIED
Deepesh R StensethAustraliaStephen Shaw NEGOTIATION
Tony K SlusarskiGermanyStephen Shaw NEW
Ivar K SchemmerSpainElwin Sharvill NEGOTIATION
David K RutaJapanElwin Sharvill RENEWAL
Isabel Q NestleIndiaIvan Magalhaes NEW
Ashley X ChuiRussiaAnna Fali PROPOSAL
Octavia I DoeUnited KingdomElwin Sharvill NEGOTIATION
Ashley H BologniaItalyIvan Magalhaes PROPOSAL
Rodrigues Q SchemmerArgentinaIvan Magalhaes NEGOTIATION
Mujtaba C PoquetteArgentinaBernardo Dominic QUALIFIED
Kaitlin U FigeroaBrazilIvan Magalhaes NEW
Silvio I KolmetzItalyStephen Shaw NEW
Adams N GarufiSpainAnna Fali UNQUALIFIED
Aika N WieserItalyXuxue Feng RENEWAL
Morrow H ShinkoBrazilIvan Magalhaes UNQUALIFIED
Murillo O TollnerFranceAnna Fali UNQUALIFIED
Frozen Columns
Name
Francesco A Caudy
Sinclair A Bolognia
Izzy X Darakjy
Maisha P Schemmer
Leja F Tollner
Cody D Flosi
Mujtaba V Kolmetz
Misaki V Bolognia
Aditya X Slusarski
Ivar R Bowley
Murillo V Slusarski
Ivar F Flosi
Deepesh S Oldroyd
Cody A Rulapaugh
Darci P Inouye
Aruna L Perin
David K Garufi
Adams K Malet
Aditya O Glick
James R Campain
Leon M Royster
Salvatore I Foller
David A Wieser
Rodrigues V Whobrey
Johnson L Doe
Deepesh G Albares
Johnson J Briddick
Tony A Gaucho
Maria T Malet
Nicolas J Slusarski
Darci M Inouye
Silvio B Darakjy
Maria J Garufi
Misaki B Schemmer
Clifford Y Venere
Aditya B Slusarski
Maria A Gaucho
Munro A Figeroa
Smith C Doe
Aruna Z Gillian
Ivar A Paprocki
Johnson I Malet
Ivar S Glick
James N Ruta
Julie D Gillian
Isabel L Flosi
Jennifer N Stockham
Stacey G Nestle
Aika D Waycott
Leja M Nestle
IdCountryDate
1000Argentina2024-06-07
1001Italy2024-05-30
1002India2024-06-12
1003Argentina2024-05-28
1004Russia2024-05-31
1005Germany2024-06-21
1006Australia2024-06-02
1007Russia2024-05-30
1008Japan2024-05-27
1009Canada2024-06-10
1010United Kingdom2024-05-24
1011Argentina2024-06-16
1012India2024-06-01
1013Argentina2024-06-16
1014Canada2024-06-01
1015Argentina2024-06-21
1016Russia2024-06-02
1017Canada2024-06-09
1018Australia2024-06-17
1019Italy2024-06-15
1020United Kingdom2024-06-05
1021Brazil2024-06-18
1022Japan2024-06-04
1023Spain2024-06-08
1024Germany2024-06-10
1025Russia2024-06-02
1026Japan2024-05-28
1027Germany2024-06-06
1028India2024-06-10
1029Germany2024-06-01
1030Australia2024-06-11
1031Italy2024-05-28
1032Italy2024-06-22
1033France2024-05-26
1034India2024-06-15
1035Spain2024-05-26
1036Canada2024-06-19
1037India2024-06-12
1038Japan2024-06-07
1039Germany2024-06-10
1040Argentina2024-06-08
1041Japan2024-06-21
1042Australia2024-06-22
1043Spain2024-06-17
1044Canada2024-05-31
1045Italy2024-06-06
1046Argentina2024-06-07
1047United Kingdom2024-06-06
1048Germany2024-06-03
1049Australia2024-06-16

On-Demand Data

NameIdCountryDate
Faith T Ferencz1000France2024-06-16
Claire F Foller1001Germany2024-05-31
Izzy A Malet1002France2024-05-30
Octavia S Tollner1003Canada2024-06-09
Clifford S Paprocki1004Spain2024-06-22
Octavia W Kolmetz1005Russia2024-06-04
Maisha O Iturbide1006Germany2024-06-06
Rodrigues X Waycott1007Japan2024-06-04
Tony H Malet1008France2024-06-09
Salvatore U Perin1009India2024-05-29
Aditya I Flosi1010United Kingdom2024-06-13
Maisha Q Tollner1011France2024-06-01
Jennifer Z Stenseth1012Argentina2024-06-08
Mayumi C Marrier1013Italy2024-06-19
Tony E Whobrey1014Italy2024-06-15
Arvin S Iturbide1015United Kingdom2024-06-08
Claire D Rulapaugh1016India2024-06-04
Munro Y Malet1017Canada2024-05-29
Antonio V Doe1018Russia2024-06-16
Johnson M Figeroa1019Germany2024-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James U GarufiIndiaIoni Bowcher QUALIFIED
Murillo U TollnerGermanyAnna Fali QUALIFIED
Ivar K DilliardIndiaAmy Elsner RENEWAL
Murillo X BriddickItalyElwin Sharvill UNQUALIFIED
Aika M MacleadArgentinaAnna Fali UNQUALIFIED
Adams T StockhamSpainIoni Bowcher NEW
Darci A CampainUnited KingdomIoni Bowcher RENEWAL
Ivar N ButtGermanyXuxue Feng PROPOSAL
Costa K WaycottUnited KingdomElwin Sharvill NEW
Johnson J WaycottRussiaIvan Magalhaes RENEWAL
Aditya M DilliardCanadaElwin Sharvill NEGOTIATION
Murillo Q RimAustraliaIoni Bowcher PROPOSAL
Leja T ButtSpainOnyama Limba PROPOSAL
Sinclair I AmigonJapanStephen Shaw NEW
Clifford A ButtAustraliaOnyama Limba UNQUALIFIED
Maria D InouyeGermanyElwin Sharvill NEGOTIATION
Nicolas D RutaAustraliaOnyama Limba NEGOTIATION
Claire B PoquetteFranceBernardo Dominic UNQUALIFIED
Ricardo R BriddickFranceXuxue Feng UNQUALIFIED
Misaki W KuskoAustraliaAsiya Javayant NEW
Darci L WieserIndiaXuxue Feng PROPOSAL
Leja X FerenczRussiaElwin Sharvill PROPOSAL
Stacey E PerinItalyIoni Bowcher NEW
Faith T SchemmerJapanIoni Bowcher PROPOSAL
Kadeem J DarakjyArgentinaAnna Fali PROPOSAL
Sinclair L CaudySpainAsiya Javayant PROPOSAL
Francesco Y ShinkoItalyBernardo Dominic PROPOSAL
Aika H TollnerItalyAnna Fali UNQUALIFIED
Tony U GarufiBrazilIvan Magalhaes QUALIFIED
Stacey N GauchoRussiaBernardo Dominic QUALIFIED
Darci U RoysterArgentinaBernardo Dominic NEGOTIATION
Smith W BologniaRussiaIvan Magalhaes QUALIFIED
David V SchemmerAustraliaElwin Sharvill NEW
Aditya Q RimAustraliaAsiya Javayant NEW
Ivar Q ChuiGermanyStephen Shaw QUALIFIED
Munro K SaylorsJapanIoni Bowcher PROPOSAL
Kadeem I GlickArgentinaAsiya Javayant PROPOSAL
Wickens R PoquetteFranceOnyama Limba RENEWAL
Isabel A PerinJapanAsiya Javayant QUALIFIED
Jefferson H StensethBrazilIoni Bowcher 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>