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
Ashley S SlusarskiAustraliaAmy Elsner UNQUALIFIED
Aika I PerinSpainStephen Shaw RENEWAL
Kadeem Q WieserArgentinaElwin Sharvill NEW
Stacey Y PoquetteAustraliaOnyama Limba QUALIFIED
Salvatore Y SergiBrazilAnna Fali UNQUALIFIED
Leja Q BriddickUnited KingdomIoni Bowcher NEGOTIATION
Alejandro O BriddickGermanyOnyama Limba PROPOSAL
Greenwood F BriddickGermanyOnyama Limba NEGOTIATION
Francesco O WaycottBrazilBernardo Dominic RENEWAL
Rodrigues D RutaRussiaXuxue Feng UNQUALIFIED
Costa J FerenczAustraliaIoni Bowcher UNQUALIFIED
Cody U TollnerUnited KingdomElwin Sharvill NEGOTIATION
Izzy Q FollerIndiaAsiya Javayant NEW
Nicolas H VenereItalyOnyama Limba NEGOTIATION
Aditya Q FerenczItalyIvan Magalhaes UNQUALIFIED
Murillo M WhobreyAustraliaAnna Fali UNQUALIFIED
Claire Q SchemmerGermanyIoni Bowcher UNQUALIFIED
Ashley B CampainIndiaIoni Bowcher NEGOTIATION
Alejandro X RulapaughBrazilAnna Fali QUALIFIED
Kadeem O SlusarskiRussiaStephen Shaw QUALIFIED
Maria A RoysterJapanAnna Fali RENEWAL
Aika F AlbaresIndiaXuxue Feng UNQUALIFIED
Misaki T RimJapanIvan Magalhaes NEW
Tony N RimItalyIvan Magalhaes NEW
Smith J TollnerItalyAnna Fali NEW
Cody A VenereSpainStephen Shaw NEW
Rodrigues X DilliardFranceStephen Shaw PROPOSAL
Antonio I BriddickArgentinaAmy Elsner QUALIFIED
Murillo R NickaCanadaAsiya Javayant RENEWAL
Jefferson N CampainRussiaAnna Fali UNQUALIFIED
James Y RutaUnited KingdomIvan Magalhaes PROPOSAL
Salvatore S DilliardFranceAmy Elsner UNQUALIFIED
Rodrigues K VenereAustraliaStephen Shaw PROPOSAL
Claire T OldroydGermanyStephen Shaw QUALIFIED
Salvatore C BowleyCanadaIvan Magalhaes QUALIFIED
Morrow G BowleyItalyElwin Sharvill QUALIFIED
Isabel P RutaSpainAmy Elsner NEW
Mayumi Q SchemmerItalyAnna Fali RENEWAL
Misaki K BowleyUnited KingdomIoni Bowcher QUALIFIED
Smith Y PoquetteGermanyOnyama Limba RENEWAL
David O MaletUnited KingdomAnna Fali NEW
Kaitlin F MacleadRussiaXuxue Feng RENEWAL
Aruna X ButtRussiaAnna Fali RENEWAL
Arvin K IturbideUnited KingdomOnyama Limba UNQUALIFIED
Jones D NestleCanadaAmy Elsner UNQUALIFIED
Izzy N SaylorsFranceIoni Bowcher NEGOTIATION
Julie G MaletItalyBernardo Dominic PROPOSAL
Johnson X KolmetzRussiaAsiya Javayant QUALIFIED
Adams J FlosiArgentinaIoni Bowcher NEW
Munro W BowleyItalyAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Greenwood V GlickSpainOnyama Limba UNQUALIFIED
Isabel S WaycottArgentinaXuxue Feng NEGOTIATION
Cody Z VocelkaFranceIoni Bowcher NEW
Jeanfrancois F RulapaughIndiaAsiya Javayant UNQUALIFIED
Jones V CaudyBrazilIvan Magalhaes PROPOSAL
Leon A ShinkoBrazilOnyama Limba NEGOTIATION
Murillo R OstroskyIndiaAmy Elsner PROPOSAL
Adams L CaldareraGermanyElwin Sharvill NEGOTIATION
Ivar H GlickItalyXuxue Feng PROPOSAL
Aika A StensethGermanyXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem X KuskoBrazil2024-06-11Feltz Printing Service NEW86Anna Fali
1001Antonio Y OstroskyIndia2024-05-31Commercial Press NEW21Anna Fali
1002Deepesh V NestleJapan2024-06-21Truhlar And Truhlar Attys RENEWAL58Asiya Javayant
1003Kaitlin R ButtBrazil2024-06-04Feltz Printing Service NEW7Onyama Limba
1004Darci S ShinkoItaly2024-06-10Truhlar And Truhlar Attys UNQUALIFIED78Anna Fali
1005Jefferson A WieserGermany2024-06-07Feltz Printing Service NEGOTIATION16Onyama Limba
1006Maria L BriddickItaly2024-06-01Rangoni Of Florence NEGOTIATION78Anna Fali
1007Faith J WhobreyIndia2024-06-12Commercial Press RENEWAL57Amy Elsner
1008Stacey Q KolmetzGermany2024-05-25Benton, John B Jr NEGOTIATION88Asiya Javayant
1009Ashley P CaudyArgentina2024-06-22Buckley Miller Wright NEW10Elwin Sharvill
1010Claire O MarrierJapan2024-06-14Morlong Associates RENEWAL8Ioni Bowcher
1011Greenwood E GauchoIndia2024-06-22Benton, John B Jr NEW5Xuxue Feng
1012David N ChuiUnited Kingdom2024-06-14Commercial Press NEGOTIATION83Anna Fali
1013Cody B SchemmerAustralia2024-06-07King, Christopher A Esq UNQUALIFIED57Bernardo Dominic
1014Jeanfrancois F DarakjyArgentina2024-05-28Benton, John B Jr PROPOSAL46Ioni Bowcher
1015Cody S DarakjyBrazil2024-06-04Rousseaux, Michael Esq UNQUALIFIED63Anna Fali
1016Sinclair S TollnerUnited Kingdom2024-06-07Truhlar And Truhlar Attys PROPOSAL53Xuxue Feng
1017Jefferson A InouyeAustralia2024-06-09Rangoni Of Florence PROPOSAL42Elwin Sharvill
1018James Z FlosiBrazil2024-06-16Feiner Bros NEGOTIATION46Stephen Shaw
1019Morrow J ShinkoRussia2024-06-10Rangoni Of Florence NEGOTIATION19Amy Elsner
1020Adams V VocelkaSpain2024-05-26King, Christopher A Esq RENEWAL19Ivan Magalhaes
1021Darci K DilliardSpain2024-06-02Dorl, James J Esq UNQUALIFIED99Asiya Javayant
1022Ricardo W ButtGermany2024-06-22Rangoni Of Florence UNQUALIFIED63Xuxue Feng
1023Tony A MorascaBrazil2024-06-20Feltz Printing Service UNQUALIFIED64Ivan Magalhaes
1024Murillo C KuskoGermany2024-06-03Chanay, Jeffrey A Esq NEGOTIATION61Ivan Magalhaes
1025Jeanfrancois L TollnerFrance2024-06-01Buckley Miller Wright NEW59Onyama Limba
1026Francesco Q ShinkoSpain2024-05-28King, Christopher A Esq NEW25Elwin Sharvill
1027Wickens M SergiItaly2024-06-04Commercial Press PROPOSAL47Ivan Magalhaes
1028James H RoysterRussia2024-06-11Benton, John B Jr PROPOSAL10Ivan Magalhaes
1029Adams J RimUnited Kingdom2024-05-31Printing Dimensions RENEWAL76Anna Fali
1030Maria S ButtBrazil2024-06-04Chanay, Jeffrey A Esq UNQUALIFIED56Anna Fali
1031Wickens Z RulapaughUnited Kingdom2024-06-15Morlong Associates PROPOSAL79Stephen Shaw
1032Jeanfrancois L PaprockiIndia2024-06-14Buckley Miller Wright QUALIFIED1Ivan Magalhaes
1033Leja B NestleBrazil2024-06-12Printing Dimensions RENEWAL98Onyama Limba
1034Jennifer C InouyeItaly2024-06-06Dorl, James J Esq RENEWAL12Elwin Sharvill
1035Ivar V AmigonItaly2024-06-15Chanay, Jeffrey A Esq QUALIFIED67Asiya Javayant
1036Murillo J SaylorsBrazil2024-06-20Printing Dimensions QUALIFIED21Onyama Limba
1037Smith Q KuskoIndia2024-06-17Printing Dimensions UNQUALIFIED31Onyama Limba
1038Faith O MorascaCanada2024-05-27Rousseaux, Michael Esq NEW27Xuxue Feng
1039Isabel F GillianJapan2024-06-11Morlong Associates QUALIFIED67Asiya Javayant
1040Aditya N SlusarskiSpain2024-05-29Printing Dimensions NEW91Ioni Bowcher
1041James L SergiCanada2024-05-24Dorl, James J Esq QUALIFIED33Amy Elsner
1042Sinclair K CaudyBrazil2024-05-25Printing Dimensions UNQUALIFIED46Ioni Bowcher
1043Chavez L PerinSpain2024-06-22Buckley Miller Wright NEGOTIATION84Asiya Javayant
1044Cody Z ChuiArgentina2024-05-28Feiner Bros NEW78Anna Fali
1045Jefferson N MorascaFrance2024-06-16Commercial Press PROPOSAL50Anna Fali
1046Emily X InouyeArgentina2024-05-27Commercial Press NEGOTIATION77Xuxue Feng
1047Adams E DilliardItaly2024-06-11Chanay, Jeffrey A Esq UNQUALIFIED98Stephen Shaw
1048Clifford F WaycottIndia2024-05-24Dorl, James J Esq QUALIFIED57Bernardo Dominic
1049David U SchemmerAustralia2024-06-14Truhlar And Truhlar Attys UNQUALIFIED82Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Deepesh N ButtRussiaAnna Fali RENEWAL
Jeanfrancois E BologniaCanadaStephen Shaw NEW
Cody S ShinkoRussiaAnna Fali QUALIFIED
Murillo Q AmigonGermanyOnyama Limba NEGOTIATION
Stacey D BowleyRussiaAmy Elsner RENEWAL
Wickens G RulapaughItalyXuxue Feng PROPOSAL
Emily B BologniaAustraliaAnna Fali RENEWAL
Claire K MaletFranceIvan Magalhaes RENEWAL
Kadeem E ChuiSpainStephen Shaw QUALIFIED
Munro L SchemmerCanadaBernardo Dominic UNQUALIFIED
Maria W AlbaresBrazilIvan Magalhaes PROPOSAL
Aruna B AlbaresUnited KingdomIoni Bowcher RENEWAL
Clifford C MaletCanadaAmy Elsner UNQUALIFIED
Jeanfrancois C InouyeUnited KingdomAsiya Javayant UNQUALIFIED
Aika Y StockhamBrazilOnyama Limba PROPOSAL
Ricardo U SergiCanadaElwin Sharvill NEGOTIATION
Juan T KuskoRussiaBernardo Dominic NEGOTIATION
Misaki H MaletItalyAsiya Javayant RENEWAL
Deepesh A OstroskySpainOnyama Limba UNQUALIFIED
Wickens K CaudyFranceXuxue Feng QUALIFIED
Jeanfrancois M DarakjyItalyIoni Bowcher NEGOTIATION
Antonio G StockhamJapanOnyama Limba NEW
Nicolas S GauchoArgentinaXuxue Feng NEW
Clifford W AlbaresSpainBernardo Dominic UNQUALIFIED
Leja P CaudyCanadaAmy Elsner RENEWAL
Ivar Q VocelkaItalyAmy Elsner PROPOSAL
Leja X AmigonFranceOnyama Limba NEW
Aruna C RimRussiaOnyama Limba NEGOTIATION
Aditya V MorascaArgentinaStephen Shaw UNQUALIFIED
Faith N WhobreySpainStephen Shaw UNQUALIFIED
Mujtaba R KuskoBrazilAnna Fali RENEWAL
Murillo M MaletIndiaAmy Elsner NEGOTIATION
Cody E AmigonRussiaElwin Sharvill UNQUALIFIED
Aruna B KuskoBrazilAsiya Javayant QUALIFIED
Faith J AlbaresBrazilIvan Magalhaes NEW
Tony B BowleyAustraliaAnna Fali NEGOTIATION
Francesco Q FigeroaBrazilAnna Fali NEW
Stacey M VocelkaArgentinaElwin Sharvill NEW
Murillo F KolmetzBrazilStephen Shaw RENEWAL
Claire I FollerUnited KingdomBernardo Dominic QUALIFIED
Misaki K NickaFranceOnyama Limba QUALIFIED
Misaki D GillianJapanOnyama Limba NEGOTIATION
Claire Q TollnerJapanStephen Shaw RENEWAL
Nicolas M DilliardArgentinaStephen Shaw RENEWAL
Octavia H OldroydFranceAmy Elsner PROPOSAL
Maria X NickaArgentinaAnna Fali RENEWAL
Greenwood J NestleFranceAnna Fali UNQUALIFIED
Maisha U OstroskyIndiaStephen Shaw NEW
Isabel D SchemmerRussiaIvan Magalhaes RENEWAL
Cody F GlickFranceBernardo Dominic QUALIFIED
Frozen Columns
Name
Maria A Glick
Stacey W Figeroa
Aruna D Nestle
Morrow Q Briddick
Murillo W Shinko
Kaitlin D Garufi
Clifford L Waycott
Adams N Poquette
Arvin T Shinko
Sinclair F Rim
Leon G Rulapaugh
Johnson Y Albares
Stacey C Wieser
Julie C Doe
Arvin Y Malet
Isabel J Royster
Kadeem U Stockham
Ricardo Z Glick
Stacey G Albares
Nicolas K Malet
Ivar B Gaucho
Deepesh I Shinko
Misaki J Doe
Maisha E Paprocki
Jefferson A Amigon
Juan Y Wieser
Morrow F Garufi
Costa E Campain
Smith M Stenseth
Claire D Dilliard
James F Whobrey
Maria E Amigon
David T Saylors
Juan H Malet
Leon F Whobrey
Emily V Malet
Claire G Perin
Arvin B Figeroa
Johnson M Malet
Munro Q Stockham
Adams T Chui
Ricardo H Iturbide
Adams D Saylors
Jones B Venere
Jones G Whobrey
James G Ferencz
Jeanfrancois C Campain
Mujtaba Z Ostrosky
Antonio J Ruta
Johnson J Malet
IdCountryDate
1000Canada2024-05-29
1001France2024-06-05
1002Italy2024-06-20
1003Canada2024-05-29
1004France2024-06-10
1005Spain2024-06-05
1006Brazil2024-06-05
1007Japan2024-06-12
1008Argentina2024-06-03
1009United Kingdom2024-06-12
1010France2024-06-18
1011India2024-06-10
1012United Kingdom2024-06-04
1013Germany2024-06-09
1014Spain2024-06-15
1015India2024-05-24
1016Japan2024-06-16
1017Germany2024-05-24
1018France2024-06-17
1019Argentina2024-06-03
1020Russia2024-05-24
1021Italy2024-06-19
1022Spain2024-06-15
1023United Kingdom2024-05-31
1024Germany2024-06-05
1025Germany2024-06-17
1026France2024-06-12
1027India2024-06-19
1028Italy2024-06-18
1029Japan2024-06-08
1030Canada2024-05-25
1031Argentina2024-05-27
1032Brazil2024-05-24
1033Italy2024-06-20
1034Brazil2024-06-01
1035India2024-06-11
1036Brazil2024-05-28
1037Australia2024-06-15
1038India2024-05-29
1039Australia2024-06-02
1040Germany2024-06-20
1041Argentina2024-05-27
1042Spain2024-05-29
1043Canada2024-06-09
1044Japan2024-05-31
1045India2024-05-26
1046Japan2024-06-05
1047India2024-06-02
1048France2024-05-25
1049Russia2024-06-12

On-Demand Data

NameIdCountryDate
Greenwood U Caldarera1000Argentina2024-05-24
Arvin L Malet1001Germany2024-06-13
Cody I Gillian1002Argentina2024-05-26
Smith J Glick1003Germany2024-06-13
Cody W Figeroa1004Canada2024-05-27
Isabel I Foller1005Argentina2024-06-16
James U Campain1006Canada2024-06-14
Greenwood S Inouye1007Spain2024-06-13
Juan Y Briddick1008Canada2024-05-31
Mayumi C Gaucho1009Germany2024-06-10
Munro R Albares1010India2024-06-22
Nicolas I Inouye1011Spain2024-06-03
Tony E Chui1012Australia2024-06-04
Faith M Vocelka1013Japan2024-05-24
Salvatore R Rim1014India2024-06-19
Aditya Z Caudy1015Canada2024-05-30
Juan J Wieser1016Russia2024-06-07
Ivar X Vocelka1017India2024-06-06
Antonio N Figeroa1018India2024-06-20
Munro C Kolmetz1019Italy2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya K RimAustraliaBernardo Dominic QUALIFIED
Francesco A PoquetteUnited KingdomIoni Bowcher PROPOSAL
Jeanfrancois G ChuiAustraliaAsiya Javayant UNQUALIFIED
Isabel W ButtItalyElwin Sharvill UNQUALIFIED
Kaitlin V FigeroaRussiaStephen Shaw PROPOSAL
Nicolas Z GarufiItalyBernardo Dominic RENEWAL
Deepesh L StockhamFranceIvan Magalhaes UNQUALIFIED
Clifford L FigeroaRussiaAsiya Javayant UNQUALIFIED
Morrow N RimArgentinaStephen Shaw RENEWAL
David Q SaylorsAustraliaStephen Shaw UNQUALIFIED
Costa Q MacleadCanadaAmy Elsner NEGOTIATION
Murillo Y WhobreyJapanIoni Bowcher UNQUALIFIED
Jones K RoysterGermanyAmy Elsner QUALIFIED
Isabel M KuskoItalyOnyama Limba NEGOTIATION
Aditya F CaudyAustraliaIoni Bowcher QUALIFIED
Jeanfrancois B VenereFranceStephen Shaw UNQUALIFIED
Jones C MarrierSpainElwin Sharvill PROPOSAL
Mujtaba Y MorascaUnited KingdomStephen Shaw QUALIFIED
Ivar O BologniaJapanOnyama Limba RENEWAL
Octavia T PaprockiUnited KingdomElwin Sharvill PROPOSAL
Wickens D IturbideGermanyElwin Sharvill RENEWAL
Jeanfrancois N CaudyFranceAmy Elsner PROPOSAL
Emily S ShinkoIndiaIvan Magalhaes UNQUALIFIED
Kaitlin H OldroydJapanXuxue Feng NEGOTIATION
Darci N OldroydGermanyIvan Magalhaes UNQUALIFIED
Munro P SlusarskiItalyElwin Sharvill QUALIFIED
Francesco P ShinkoFranceIvan Magalhaes NEGOTIATION
Ivar N AlbaresFranceOnyama Limba NEW
Darci H BriddickCanadaBernardo Dominic RENEWAL
Deepesh K DoeCanadaIvan Magalhaes PROPOSAL
Jefferson M VenereFranceXuxue Feng NEGOTIATION
Maisha R InouyeItalyStephen Shaw UNQUALIFIED
Antonio Z DilliardCanadaAmy Elsner QUALIFIED
Chavez O InouyeGermanyAmy Elsner PROPOSAL
Adams S FlosiGermanyIvan Magalhaes RENEWAL
Izzy F NickaGermanyAnna Fali RENEWAL
Munro N BologniaBrazilOnyama Limba UNQUALIFIED
Cody I WieserItalyStephen Shaw NEW
Kaitlin Y RoysterCanadaAsiya Javayant QUALIFIED
Jeanfrancois H KuskoFranceElwin Sharvill UNQUALIFIED

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