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
Claire B MorascaUnited KingdomOnyama Limba QUALIFIED
Adams R FerenczCanadaAnna Fali QUALIFIED
Misaki E RulapaughUnited KingdomAnna Fali RENEWAL
Sinclair W NestleIndiaStephen Shaw UNQUALIFIED
Ivar M VenereGermanyElwin Sharvill QUALIFIED
Jefferson H KuskoIndiaIoni Bowcher NEGOTIATION
Clifford D BowleyAustraliaStephen Shaw RENEWAL
Octavia P InouyeArgentinaStephen Shaw UNQUALIFIED
Maria P SlusarskiUnited KingdomIvan Magalhaes RENEWAL
Adams J MarrierCanadaXuxue Feng NEW
James B AlbaresRussiaOnyama Limba QUALIFIED
Antonio D DarakjyGermanyIoni Bowcher QUALIFIED
Johnson I MacleadAustraliaAnna Fali PROPOSAL
Chavez X StensethSpainElwin Sharvill UNQUALIFIED
Faith P KuskoAustraliaXuxue Feng NEW
Jefferson P SlusarskiGermanyAsiya Javayant NEW
Nicolas P DarakjyAustraliaAsiya Javayant NEGOTIATION
Julie P SchemmerCanadaAmy Elsner QUALIFIED
Morrow R MorascaAustraliaXuxue Feng UNQUALIFIED
Faith N StensethUnited KingdomIoni Bowcher RENEWAL
Sinclair F BriddickItalyXuxue Feng NEW
Aruna N NickaItalyXuxue Feng PROPOSAL
Jeanfrancois R CaudyAustraliaAmy Elsner NEGOTIATION
Claire M OldroydJapanOnyama Limba NEGOTIATION
Nicolas T OstroskyItalyIoni Bowcher PROPOSAL
James H FlosiGermanyAmy Elsner NEGOTIATION
Jones A PaprockiGermanyElwin Sharvill NEW
Tony N AlbaresGermanyStephen Shaw NEGOTIATION
Julie G CaldareraRussiaXuxue Feng NEW
Jennifer Y VocelkaFranceBernardo Dominic RENEWAL
Smith U ButtIndiaAnna Fali PROPOSAL
Kadeem A FerenczArgentinaBernardo Dominic RENEWAL
Greenwood O NickaRussiaAmy Elsner UNQUALIFIED
Leon G GillianCanadaAsiya Javayant UNQUALIFIED
Leja P FollerFranceAsiya Javayant RENEWAL
Sinclair O RimRussiaBernardo Dominic PROPOSAL
Adams I VocelkaRussiaAmy Elsner QUALIFIED
Mayumi P DilliardArgentinaIvan Magalhaes NEGOTIATION
Jennifer F BriddickSpainIoni Bowcher NEGOTIATION
Claire Q NickaItalyAmy Elsner UNQUALIFIED
Claire Y StensethJapanOnyama Limba NEGOTIATION
David E StensethItalyIoni Bowcher QUALIFIED
Munro L OldroydFranceStephen Shaw PROPOSAL
Greenwood K GlickAustraliaAnna Fali NEW
Leja B BologniaItalyAsiya Javayant NEGOTIATION
Stacey T FigeroaFranceAsiya Javayant UNQUALIFIED
Clifford A SchemmerAustraliaXuxue Feng RENEWAL
Maria X DarakjyItalyAsiya Javayant NEGOTIATION
Darci B GlickSpainAnna Fali RENEWAL
Nicolas Y NestleGermanyStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Julie M DoeCanadaAsiya Javayant QUALIFIED
Misaki X PoquetteCanadaIvan Magalhaes NEGOTIATION
Munro J MacleadCanadaStephen Shaw UNQUALIFIED
James T RutaBrazilElwin Sharvill UNQUALIFIED
Arvin V CampainIndiaBernardo Dominic RENEWAL
David C PoquetteJapanAnna Fali PROPOSAL
Juan R WhobreyArgentinaBernardo Dominic NEGOTIATION
Francesco X OstroskyRussiaIvan Magalhaes PROPOSAL
David X FigeroaIndiaAnna Fali NEGOTIATION
Faith G StensethArgentinaAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony R CaldareraIndia2024-05-25Dorl, James J Esq NEGOTIATION45Ivan Magalhaes
1001Isabel U AmigonJapan2024-06-05Printing Dimensions NEGOTIATION22Bernardo Dominic
1002Smith B SlusarskiIndia2024-05-23Chapman, Ross E Esq NEGOTIATION5Stephen Shaw
1003Mayumi O SaylorsSpain2024-06-05Truhlar And Truhlar Attys NEW86Onyama Limba
1004Arvin B GauchoCanada2024-06-11Chemel, James L Cpa QUALIFIED2Ivan Magalhaes
1005Tony P WhobreySpain2024-06-02Feltz Printing Service PROPOSAL68Stephen Shaw
1006Aika M SergiArgentina2024-05-30Chemel, James L Cpa PROPOSAL43Onyama Limba
1007Costa R RutaItaly2024-05-29Feltz Printing Service NEW74Bernardo Dominic
1008Cody E NestleAustralia2024-06-08Dorl, James J Esq UNQUALIFIED36Elwin Sharvill
1009Wickens G MaletAustralia2024-06-17Commercial Press QUALIFIED14Ivan Magalhaes
1010Leja E RimAustralia2024-06-15Rousseaux, Michael Esq PROPOSAL45Elwin Sharvill
1011David B RulapaughItaly2024-06-03Feiner Bros NEGOTIATION56Stephen Shaw
1012Mujtaba B VocelkaItaly2024-05-26Rousseaux, Michael Esq RENEWAL97Stephen Shaw
1013Antonio N FollerCanada2024-06-12Chemel, James L Cpa NEGOTIATION30Xuxue Feng
1014Alejandro L KolmetzSpain2024-06-01Feiner Bros UNQUALIFIED69Ivan Magalhaes
1015Ricardo E AlbaresItaly2024-05-25Chapman, Ross E Esq NEW21Amy Elsner
1016Darci B SlusarskiBrazil2024-06-11Commercial Press NEGOTIATION86Anna Fali
1017Arvin D CampainIndia2024-06-14Chemel, James L Cpa NEGOTIATION68Anna Fali
1018Aruna U InouyeBrazil2024-06-01Feltz Printing Service UNQUALIFIED94Asiya Javayant
1019Ivar U CaldareraGermany2024-06-04King, Christopher A Esq NEGOTIATION95Ioni Bowcher
1020Darci G FerenczAustralia2024-06-01King, Christopher A Esq QUALIFIED55Asiya Javayant
1021Greenwood J GauchoArgentina2024-06-09Morlong Associates NEW53Xuxue Feng
1022Stacey A VocelkaArgentina2024-06-05Feiner Bros UNQUALIFIED50Onyama Limba
1023Maisha X GlickSpain2024-06-13Rousseaux, Michael Esq PROPOSAL88Asiya Javayant
1024Salvatore Z CaudyItaly2024-06-17Rousseaux, Michael Esq UNQUALIFIED71Stephen Shaw
1025Deepesh X OldroydFrance2024-05-22Commercial Press NEGOTIATION76Stephen Shaw
1026Alejandro S VocelkaCanada2024-05-29Dorl, James J Esq NEGOTIATION79Ioni Bowcher
1027Aruna A GlickJapan2024-06-15Commercial Press RENEWAL85Onyama Limba
1028Emily O ChuiSpain2024-06-09Rousseaux, Michael Esq RENEWAL19Stephen Shaw
1029Munro C PaprockiUnited Kingdom2024-05-24Commercial Press NEGOTIATION31Stephen Shaw
1030Ashley M BologniaArgentina2024-06-10Rangoni Of Florence QUALIFIED13Xuxue Feng
1031Aditya T PaprockiRussia2024-06-09Feiner Bros RENEWAL98Onyama Limba
1032Ricardo M BologniaJapan2024-06-01Printing Dimensions NEW85Elwin Sharvill
1033Morrow I RimBrazil2024-05-23Chanay, Jeffrey A Esq QUALIFIED77Bernardo Dominic
1034Faith Q MorascaFrance2024-05-27Printing Dimensions NEGOTIATION5Onyama Limba
1035Tony E MaletJapan2024-06-10King, Christopher A Esq QUALIFIED94Onyama Limba
1036Munro F StockhamFrance2024-06-06King, Christopher A Esq QUALIFIED86Onyama Limba
1037Izzy W FerenczFrance2024-06-14Dorl, James J Esq NEW18Anna Fali
1038Antonio H InouyeUnited Kingdom2024-05-31Printing Dimensions RENEWAL89Ioni Bowcher
1039Arvin Y RulapaughIndia2024-06-15Feltz Printing Service PROPOSAL79Stephen Shaw
1040Izzy Y PoquetteFrance2024-06-12King, Christopher A Esq RENEWAL7Asiya Javayant
1041Maisha X DarakjyJapan2024-06-11Feiner Bros PROPOSAL18Bernardo Dominic
1042Adams Y StensethFrance2024-06-08Dorl, James J Esq NEW14Elwin Sharvill
1043Kaitlin B RutaAustralia2024-05-25Printing Dimensions NEW78Anna Fali
1044Julie I InouyeUnited Kingdom2024-06-03Morlong Associates QUALIFIED94Stephen Shaw
1045Costa H PaprockiSpain2024-06-07Buckley Miller Wright RENEWAL83Anna Fali
1046Murillo T GillianIndia2024-05-21Buckley Miller Wright QUALIFIED13Xuxue Feng
1047Ivar I OldroydItaly2024-06-01King, Christopher A Esq QUALIFIED8Onyama Limba
1048Smith A KuskoGermany2024-06-07Chemel, James L Cpa NEGOTIATION20Anna Fali
1049Sinclair L PerinJapan2024-05-29Rangoni Of Florence RENEWAL16Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Costa Q GlickFranceElwin Sharvill UNQUALIFIED
Ivar I DarakjyIndiaAmy Elsner RENEWAL
Jennifer H MaletIndiaAsiya Javayant QUALIFIED
Clifford E PerinArgentinaAnna Fali QUALIFIED
Julie I MacleadIndiaOnyama Limba RENEWAL
Antonio H CaudyItalyIoni Bowcher PROPOSAL
Claire X WaycottFranceStephen Shaw RENEWAL
Nicolas K GauchoItalyAmy Elsner QUALIFIED
Mayumi Y WieserSpainOnyama Limba QUALIFIED
Faith E VocelkaGermanyIoni Bowcher NEGOTIATION
Maisha Q WhobreyGermanyOnyama Limba PROPOSAL
Jeanfrancois W NestleFranceOnyama Limba NEW
Mayumi S MorascaJapanIoni Bowcher NEGOTIATION
Aika U AmigonFranceXuxue Feng UNQUALIFIED
Adams I RoysterIndiaIoni Bowcher NEGOTIATION
Ricardo L MacleadIndiaAmy Elsner UNQUALIFIED
Juan G TollnerFranceIvan Magalhaes RENEWAL
Kaitlin H CampainUnited KingdomAmy Elsner NEGOTIATION
Jones G WaycottUnited KingdomAnna Fali UNQUALIFIED
Maria D DoeCanadaAnna Fali QUALIFIED
Sinclair J OstroskyBrazilAsiya Javayant QUALIFIED
Mujtaba G VenereItalyElwin Sharvill UNQUALIFIED
Francesco A GauchoArgentinaIoni Bowcher QUALIFIED
Smith W FigeroaBrazilOnyama Limba UNQUALIFIED
Alejandro M CampainRussiaStephen Shaw NEW
Octavia W VenereGermanyIoni Bowcher NEGOTIATION
Juan K FollerArgentinaXuxue Feng QUALIFIED
Faith X ShinkoRussiaStephen Shaw NEW
Greenwood D DoeUnited KingdomAnna Fali UNQUALIFIED
Francesco F SergiCanadaBernardo Dominic UNQUALIFIED
Greenwood Y CaudyItalyElwin Sharvill PROPOSAL
Rodrigues T MaletArgentinaAmy Elsner UNQUALIFIED
Leja U MacleadIndiaXuxue Feng UNQUALIFIED
Stacey A PerinSpainOnyama Limba UNQUALIFIED
Kadeem J OstroskyBrazilStephen Shaw PROPOSAL
Ivar Y SchemmerUnited KingdomElwin Sharvill PROPOSAL
Tony Z GlickCanadaIoni Bowcher NEGOTIATION
Mujtaba R DilliardSpainAsiya Javayant QUALIFIED
Isabel N CaldareraUnited KingdomIoni Bowcher PROPOSAL
Sinclair D FlosiAustraliaBernardo Dominic RENEWAL
Izzy W PaprockiGermanyStephen Shaw QUALIFIED
Tony V KuskoUnited KingdomStephen Shaw PROPOSAL
Wickens Z BowleyIndiaIvan Magalhaes UNQUALIFIED
David S ChuiUnited KingdomIvan Magalhaes QUALIFIED
Clifford E InouyeAustraliaBernardo Dominic NEW
Octavia D SergiItalyIoni Bowcher NEW
Salvatore H FigeroaAustraliaXuxue Feng UNQUALIFIED
Arvin M FollerBrazilXuxue Feng NEGOTIATION
Chavez N OstroskyFranceOnyama Limba NEW
Aika J WaycottIndiaIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Kadeem C Morasca
Greenwood P Whobrey
Jeanfrancois N Vocelka
Darci K Ferencz
Antonio N Perin
Salvatore G Glick
Aruna E Flosi
Nicolas A Malet
Rodrigues O Waycott
Ricardo F Ferencz
Cody Q Bolognia
Mayumi C Dilliard
Johnson H Paprocki
Sinclair Q Maclead
Tony F Sergi
Sinclair I Darakjy
Kadeem C Kolmetz
Deepesh M Briddick
Murillo H Poquette
Ashley F Oldroyd
Aruna S Schemmer
Alejandro P Garufi
Misaki E Kolmetz
Darci B Dilliard
Sinclair R Kolmetz
Juan J Garufi
Rodrigues F Chui
Johnson M Whobrey
Chavez B Caudy
Izzy K Whobrey
Rodrigues P Maclead
Costa F Poquette
Francesco F Butt
Leon I Sergi
Salvatore X Garufi
Johnson L Venere
Silvio W Nicka
Munro G Shinko
Octavia W Amigon
Nicolas S Gillian
Jennifer U Nicka
Clifford S Malet
Ashley B Butt
David G Waycott
Francesco M Butt
Alejandro Z Schemmer
Leon K Stenseth
Wickens O Poquette
Antonio I Caldarera
Leon D Paprocki
IdCountryDate
1000Canada2024-06-15
1001United Kingdom2024-06-11
1002Brazil2024-05-22
1003Brazil2024-05-20
1004United Kingdom2024-06-18
1005Italy2024-06-05
1006France2024-06-11
1007Argentina2024-06-14
1008Russia2024-05-24
1009Italy2024-05-25
1010Spain2024-06-01
1011Russia2024-06-06
1012Argentina2024-06-10
1013Spain2024-06-18
1014France2024-06-11
1015Canada2024-06-07
1016Italy2024-06-17
1017Japan2024-06-14
1018Australia2024-06-04
1019France2024-05-30
1020Argentina2024-05-23
1021India2024-05-27
1022India2024-05-30
1023Germany2024-05-24
1024France2024-06-10
1025Brazil2024-05-23
1026Russia2024-05-27
1027France2024-05-21
1028Russia2024-06-01
1029Australia2024-05-30
1030Germany2024-06-15
1031Brazil2024-06-07
1032Australia2024-06-18
1033Argentina2024-06-08
1034Australia2024-05-23
1035United Kingdom2024-06-09
1036Australia2024-05-28
1037Australia2024-06-07
1038India2024-06-03
1039Brazil2024-06-14
1040Russia2024-06-15
1041United Kingdom2024-06-01
1042France2024-05-24
1043Canada2024-05-25
1044France2024-05-30
1045Russia2024-05-28
1046Brazil2024-06-11
1047Australia2024-05-28
1048Australia2024-06-14
1049United Kingdom2024-06-06

On-Demand Data

NameIdCountryDate
Antonio B Darakjy1000Germany2024-05-24
Ricardo B Butt1001Argentina2024-06-06
Morrow Z Maclead1002France2024-06-08
Jones E Marrier1003France2024-05-20
Salvatore Y Paprocki1004Argentina2024-06-17
Rodrigues A Glick1005Italy2024-05-31
Costa J Malet1006Russia2024-05-27
Clifford Y Caudy1007Argentina2024-06-04
Silvio C Shinko1008Argentina2024-06-05
Clifford K Marrier1009Australia2024-05-25
Kaitlin Y Dilliard1010France2024-06-06
Mayumi X Shinko1011Argentina2024-06-10
Izzy Y Darakjy1012India2024-06-02
James C Glick1013Brazil2024-05-24
Mujtaba I Gaucho1014Japan2024-06-13
Jones A Doe1015Japan2024-05-25
Deepesh O Kusko1016India2024-05-28
Clifford V Doe1017Argentina2024-06-15
Aika W Doe1018United Kingdom2024-05-25
Kaitlin P Whobrey1019Japan2024-05-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson Z StockhamAustraliaXuxue Feng NEGOTIATION
Julie W NestleAustraliaElwin Sharvill RENEWAL
Ivar T ShinkoArgentinaAmy Elsner PROPOSAL
Jefferson Q AlbaresBrazilStephen Shaw QUALIFIED
Francesco A RutaGermanyOnyama Limba PROPOSAL
Cody C WaycottItalyBernardo Dominic NEGOTIATION
Juan Y StockhamFranceAnna Fali PROPOSAL
Antonio U RulapaughJapanAnna Fali NEW
Maria Z MaletJapanAmy Elsner NEW
Jeanfrancois E VocelkaItalyBernardo Dominic NEGOTIATION
Izzy J SchemmerCanadaElwin Sharvill PROPOSAL
Deepesh X StockhamIndiaAnna Fali RENEWAL
Costa S OstroskySpainElwin Sharvill NEW
Kadeem N RulapaughItalyAsiya Javayant NEW
Isabel F RimItalyElwin Sharvill NEGOTIATION
Clifford Y NestleGermanyAsiya Javayant QUALIFIED
Kadeem C TollnerJapanIvan Magalhaes NEW
Francesco F KolmetzCanadaOnyama Limba UNQUALIFIED
Francesco N NestleRussiaOnyama Limba NEGOTIATION
Adams B SlusarskiCanadaBernardo Dominic RENEWAL
Antonio T RoysterIndiaAnna Fali NEW
Jefferson V WieserIndiaAnna Fali PROPOSAL
Emily A IturbideAustraliaIvan Magalhaes PROPOSAL
Jennifer S MaletJapanOnyama Limba RENEWAL
Emily V DoeCanadaXuxue Feng RENEWAL
Adams R GlickGermanyAnna Fali NEGOTIATION
Silvio R VenereCanadaIoni Bowcher UNQUALIFIED
Wickens B GlickIndiaElwin Sharvill UNQUALIFIED
Izzy R ShinkoIndiaOnyama Limba UNQUALIFIED
Isabel I NickaBrazilXuxue Feng PROPOSAL
Alejandro R RoysterGermanyIoni Bowcher PROPOSAL
Misaki E MorascaIndiaAmy Elsner NEGOTIATION
Izzy M RimJapanOnyama Limba NEW
Leon F GillianUnited KingdomAsiya Javayant UNQUALIFIED
Clifford V RoysterFranceBernardo Dominic UNQUALIFIED
Morrow Z CaldareraIndiaBernardo Dominic PROPOSAL
Antonio G IturbideAustraliaOnyama Limba PROPOSAL
Chavez E PaprockiArgentinaIoni Bowcher RENEWAL
Misaki R BowleyArgentinaAsiya Javayant UNQUALIFIED
Ashley D StockhamAustraliaOnyama Limba RENEWAL

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