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 V FlosiGermanyIvan Magalhaes NEGOTIATION
Francesco C VenereIndiaAnna Fali NEW
Mayumi D NestleJapanAsiya Javayant QUALIFIED
Silvio V CaudyCanadaIvan Magalhaes NEW
Salvatore D ChuiJapanAnna Fali RENEWAL
Silvio S VocelkaAustraliaElwin Sharvill PROPOSAL
Aika F SlusarskiUnited KingdomXuxue Feng NEGOTIATION
Francesco M MarrierJapanAmy Elsner RENEWAL
Jeanfrancois O AmigonItalyOnyama Limba UNQUALIFIED
Maria B FlosiArgentinaElwin Sharvill NEGOTIATION
Maisha H MarrierIndiaStephen Shaw QUALIFIED
David O AlbaresItalyStephen Shaw UNQUALIFIED
Deepesh R ShinkoUnited KingdomIoni Bowcher PROPOSAL
Silvio A ChuiBrazilIoni Bowcher PROPOSAL
Clifford P FollerBrazilOnyama Limba UNQUALIFIED
Isabel Z FerenczBrazilElwin Sharvill NEW
Silvio G RoysterUnited KingdomBernardo Dominic QUALIFIED
Jefferson R MarrierArgentinaStephen Shaw QUALIFIED
Maisha H CaldareraGermanyOnyama Limba QUALIFIED
Emily B RimIndiaAsiya Javayant UNQUALIFIED
Aika E StockhamArgentinaBernardo Dominic NEW
Leon X PoquetteUnited KingdomAmy Elsner QUALIFIED
Kaitlin P MorascaArgentinaElwin Sharvill QUALIFIED
Kaitlin C ShinkoUnited KingdomStephen Shaw NEGOTIATION
Kadeem E GlickAustraliaElwin Sharvill RENEWAL
Cody N NestleFranceIvan Magalhaes PROPOSAL
Costa M CaudyJapanBernardo Dominic NEW
Ricardo V OstroskyIndiaAnna Fali NEGOTIATION
Johnson P GauchoGermanyXuxue Feng UNQUALIFIED
Murillo T GlickArgentinaElwin Sharvill UNQUALIFIED
Munro U FerenczGermanyIoni Bowcher NEGOTIATION
Murillo Z StockhamIndiaXuxue Feng QUALIFIED
Adams H NickaRussiaAnna Fali UNQUALIFIED
Costa A GauchoGermanyAsiya Javayant PROPOSAL
Isabel I InouyeAustraliaOnyama Limba QUALIFIED
Stacey P BriddickFranceAmy Elsner RENEWAL
Johnson Q OstroskyGermanyOnyama Limba PROPOSAL
Aditya S KolmetzJapanIoni Bowcher PROPOSAL
Juan R OldroydAustraliaElwin Sharvill NEGOTIATION
Maria D CampainUnited KingdomAsiya Javayant RENEWAL
Arvin Y ChuiBrazilAmy Elsner NEGOTIATION
Mujtaba C MacleadFranceXuxue Feng NEGOTIATION
Clifford Z VenereFranceElwin Sharvill RENEWAL
Aruna K RutaItalyOnyama Limba UNQUALIFIED
Aditya X RimIndiaIvan Magalhaes QUALIFIED
Morrow P NickaJapanIoni Bowcher QUALIFIED
Ivar E IturbideGermanyBernardo Dominic RENEWAL
Silvio L InouyeRussiaAsiya Javayant PROPOSAL
Jeanfrancois V OldroydGermanyOnyama Limba QUALIFIED
Tony Y NickaFranceIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Salvatore Y SlusarskiUnited KingdomBernardo Dominic NEGOTIATION
Alejandro R KolmetzSpainStephen Shaw PROPOSAL
Jeanfrancois P CampainSpainBernardo Dominic NEGOTIATION
Emily C GarufiJapanIoni Bowcher RENEWAL
Stacey Z DarakjyIndiaAsiya Javayant PROPOSAL
Johnson A NestleItalyXuxue Feng PROPOSAL
Sinclair N MaletRussiaAsiya Javayant QUALIFIED
Costa B ButtGermanyAsiya Javayant PROPOSAL
Smith G MaletSpainXuxue Feng RENEWAL
Kadeem L GillianRussiaStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin T TollnerBrazil2024-05-29Commercial Press NEW84Ioni Bowcher
1001Nicolas J StensethRussia2024-06-07Printing Dimensions RENEWAL29Onyama Limba
1002Kaitlin I RulapaughItaly2024-06-11Feltz Printing Service NEGOTIATION8Ivan Magalhaes
1003Isabel U VenereAustralia2024-06-08Chanay, Jeffrey A Esq PROPOSAL6Anna Fali
1004Clifford N MaletIndia2024-05-23Feiner Bros QUALIFIED45Bernardo Dominic
1005Wickens B MorascaUnited Kingdom2024-06-19Benton, John B Jr UNQUALIFIED16Amy Elsner
1006Wickens I VenereBrazil2024-06-08Dorl, James J Esq PROPOSAL80Asiya Javayant
1007James X GarufiGermany2024-05-24Chapman, Ross E Esq UNQUALIFIED79Xuxue Feng
1008Deepesh C WieserFrance2024-06-17Feltz Printing Service NEW40Stephen Shaw
1009Nicolas L MarrierIndia2024-06-17Feiner Bros NEW72Elwin Sharvill
1010Murillo P PaprockiCanada2024-05-27King, Christopher A Esq QUALIFIED0Xuxue Feng
1011Murillo Y GlickJapan2024-05-27Truhlar And Truhlar Attys NEW54Elwin Sharvill
1012Cody H DarakjyCanada2024-05-27Rangoni Of Florence PROPOSAL18Amy Elsner
1013Salvatore W ButtSpain2024-05-23Commercial Press NEW21Anna Fali
1014Juan C PerinBrazil2024-05-26Buckley Miller Wright PROPOSAL88Xuxue Feng
1015Jones C RulapaughItaly2024-05-26Feiner Bros RENEWAL49Amy Elsner
1016Antonio U MaletAustralia2024-05-23Commercial Press RENEWAL84Amy Elsner
1017Nicolas M OldroydSpain2024-05-31Truhlar And Truhlar Attys QUALIFIED78Anna Fali
1018Antonio X BriddickFrance2024-06-14Printing Dimensions RENEWAL90Ioni Bowcher
1019Morrow S StensethRussia2024-06-02Benton, John B Jr RENEWAL2Elwin Sharvill
1020Johnson L ShinkoUnited Kingdom2024-06-02Chanay, Jeffrey A Esq RENEWAL92Ivan Magalhaes
1021Rodrigues L PerinItaly2024-06-08Buckley Miller Wright RENEWAL52Ioni Bowcher
1022Arvin Y FigeroaCanada2024-06-13Chapman, Ross E Esq NEW14Xuxue Feng
1023Isabel P SergiRussia2024-06-19Truhlar And Truhlar Attys QUALIFIED22Xuxue Feng
1024Leon W TollnerAustralia2024-06-01Feltz Printing Service NEGOTIATION0Anna Fali
1025Johnson A PoquetteBrazil2024-06-14Feiner Bros PROPOSAL95Ioni Bowcher
1026Aika I RimRussia2024-05-31Rousseaux, Michael Esq QUALIFIED36Stephen Shaw
1027Greenwood O NickaCanada2024-05-25Printing Dimensions UNQUALIFIED97Asiya Javayant
1028Kadeem U WaycottFrance2024-06-08Feltz Printing Service NEW57Stephen Shaw
1029Costa M SchemmerAustralia2024-05-26Printing Dimensions RENEWAL87Anna Fali
1030Julie Z InouyeJapan2024-05-25Rangoni Of Florence NEW88Onyama Limba
1031Aika L DarakjyRussia2024-05-24Rousseaux, Michael Esq PROPOSAL6Stephen Shaw
1032Ricardo X GillianJapan2024-05-27Rousseaux, Michael Esq UNQUALIFIED98Anna Fali
1033Murillo A WhobreyRussia2024-05-26Feltz Printing Service UNQUALIFIED63Amy Elsner
1034Julie A MorascaRussia2024-05-26Truhlar And Truhlar Attys QUALIFIED95Onyama Limba
1035Wickens D MacleadCanada2024-06-12King, Christopher A Esq RENEWAL63Bernardo Dominic
1036Cody A FollerAustralia2024-05-23Chemel, James L Cpa RENEWAL86Asiya Javayant
1037Munro F DilliardFrance2024-06-04Benton, John B Jr RENEWAL43Xuxue Feng
1038Ashley R KolmetzArgentina2024-05-28Feiner Bros RENEWAL38Elwin Sharvill
1039James V BologniaSpain2024-06-21Rangoni Of Florence NEGOTIATION28Xuxue Feng
1040Arvin N RimFrance2024-06-18Chapman, Ross E Esq RENEWAL25Amy Elsner
1041Rodrigues Q DarakjyAustralia2024-06-08Buckley Miller Wright UNQUALIFIED4Stephen Shaw
1042Jeanfrancois Z StensethArgentina2024-06-15Feiner Bros RENEWAL37Bernardo Dominic
1043Leja D OstroskyIndia2024-05-31Rousseaux, Michael Esq QUALIFIED31Stephen Shaw
1044David R StensethItaly2024-05-31Chanay, Jeffrey A Esq QUALIFIED71Amy Elsner
1045Maria Q FerenczRussia2024-06-04Chapman, Ross E Esq UNQUALIFIED4Elwin Sharvill
1046Misaki S RulapaughCanada2024-05-27Chemel, James L Cpa NEW71Bernardo Dominic
1047Ashley K KolmetzBrazil2024-06-11Truhlar And Truhlar Attys RENEWAL37Amy Elsner
1048Arvin S MorascaCanada2024-06-16Buckley Miller Wright QUALIFIED93Elwin Sharvill
1049Clifford A SaylorsJapan2024-06-12Chapman, Ross E Esq QUALIFIED63Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Aditya D RimItalyAnna Fali UNQUALIFIED
Kadeem Z WaycottFranceBernardo Dominic UNQUALIFIED
Leja P VocelkaFranceIoni Bowcher QUALIFIED
Wickens B FerenczArgentinaOnyama Limba NEW
Antonio J FlosiFranceElwin Sharvill QUALIFIED
David T GauchoSpainOnyama Limba UNQUALIFIED
Kaitlin C ButtRussiaAnna Fali QUALIFIED
Chavez K StockhamCanadaStephen Shaw NEGOTIATION
Johnson J CaudyArgentinaXuxue Feng NEW
Mujtaba Q OstroskyAustraliaXuxue Feng NEGOTIATION
Leon L WaycottGermanyBernardo Dominic RENEWAL
Maria W BriddickItalyAsiya Javayant PROPOSAL
Emily L RulapaughGermanyAnna Fali RENEWAL
Adams Y DilliardJapanAsiya Javayant UNQUALIFIED
Darci Y RulapaughUnited KingdomAsiya Javayant NEGOTIATION
Octavia S PaprockiAustraliaIoni Bowcher PROPOSAL
Clifford V MorascaIndiaElwin Sharvill NEGOTIATION
Julie W FerenczUnited KingdomAsiya Javayant PROPOSAL
Johnson V ButtIndiaIvan Magalhaes NEW
Isabel R OldroydGermanyIoni Bowcher NEW
Claire M InouyeItalyAmy Elsner PROPOSAL
Isabel A IturbideSpainOnyama Limba UNQUALIFIED
Jeanfrancois X VocelkaCanadaAnna Fali PROPOSAL
Kadeem I AlbaresFranceAsiya Javayant NEW
Cody I ButtFranceBernardo Dominic UNQUALIFIED
Clifford D PaprockiArgentinaElwin Sharvill UNQUALIFIED
Ricardo T GarufiUnited KingdomBernardo Dominic RENEWAL
Aditya W FigeroaBrazilAsiya Javayant NEW
Chavez V VenereCanadaStephen Shaw UNQUALIFIED
Maisha C SlusarskiSpainAnna Fali QUALIFIED
Julie M DarakjyJapanBernardo Dominic NEW
Kadeem D FollerCanadaAsiya Javayant RENEWAL
Antonio L FigeroaCanadaStephen Shaw QUALIFIED
Ivar L NickaFranceElwin Sharvill NEW
Mujtaba Q StensethArgentinaElwin Sharvill NEW
Chavez T CaldareraUnited KingdomXuxue Feng UNQUALIFIED
Rodrigues I FerenczGermanyIoni Bowcher NEW
Leon K BriddickArgentinaAmy Elsner RENEWAL
Maria L NickaJapanAsiya Javayant UNQUALIFIED
Wickens M SchemmerIndiaOnyama Limba RENEWAL
Claire Z SchemmerCanadaAsiya Javayant NEW
David F StockhamAustraliaOnyama Limba NEGOTIATION
Costa M DilliardArgentinaIoni Bowcher NEGOTIATION
Sinclair X KolmetzUnited KingdomOnyama Limba RENEWAL
Ricardo Z BowleyIndiaOnyama Limba NEGOTIATION
Adams D KolmetzCanadaAmy Elsner NEW
Johnson I StensethIndiaElwin Sharvill NEGOTIATION
Ricardo S OstroskyCanadaBernardo Dominic NEW
Maisha I SchemmerFranceElwin Sharvill QUALIFIED
Murillo P DarakjyIndiaBernardo Dominic NEGOTIATION
Frozen Columns
Name
Aruna T Wieser
Isabel Q Dilliard
Nicolas R Morasca
Rodrigues H Amigon
Emily E Dilliard
Faith O Stockham
Johnson I Gaucho
Aruna G Ostrosky
Francesco Z Royster
Jeanfrancois H Ruta
Claire Q Albares
Tony X Oldroyd
Ashley M Venere
Greenwood R Perin
Claire H Shinko
Alejandro W Stockham
Deepesh Z Chui
Leja M Oldroyd
Ashley I Ruta
Octavia U Flosi
Jennifer U Schemmer
Leon V Shinko
Stacey F Darakjy
Jennifer K Stenseth
Juan C Paprocki
Munro N Darakjy
Arvin V Schemmer
Ivar M Waycott
Cody Q Shinko
Sinclair V Royster
Munro E Briddick
Ashley G Marrier
Cody E Garufi
James N Perin
Sinclair I Rim
Aika J Inouye
Maisha U Doe
Faith Z Dilliard
Silvio K Sergi
Murillo W Stenseth
Ricardo T Ruta
Juan J Malet
Leon B Caldarera
Clifford L Briddick
Cody W Vocelka
Aditya S Inouye
Maria M Butt
Greenwood L Maclead
Smith J Marrier
James W Figeroa
IdCountryDate
1000Canada2024-06-13
1001Australia2024-06-06
1002France2024-05-30
1003Italy2024-05-28
1004India2024-06-05
1005India2024-06-18
1006Australia2024-06-14
1007Japan2024-06-02
1008Russia2024-06-05
1009United Kingdom2024-05-26
1010France2024-06-03
1011United Kingdom2024-05-25
1012Japan2024-06-10
1013Brazil2024-05-23
1014Germany2024-06-16
1015United Kingdom2024-06-20
1016Japan2024-06-10
1017Japan2024-06-13
1018Australia2024-05-30
1019France2024-06-12
1020Argentina2024-06-08
1021Italy2024-06-04
1022Russia2024-05-29
1023France2024-06-01
1024Russia2024-06-01
1025Italy2024-05-24
1026Argentina2024-05-30
1027Australia2024-05-24
1028Brazil2024-06-05
1029Japan2024-06-06
1030Italy2024-06-20
1031Canada2024-06-07
1032Russia2024-06-01
1033Brazil2024-06-14
1034Spain2024-06-19
1035Russia2024-06-10
1036Australia2024-06-06
1037Italy2024-06-06
1038United Kingdom2024-05-26
1039United Kingdom2024-06-05
1040Japan2024-05-29
1041Russia2024-06-15
1042Canada2024-05-25
1043France2024-06-18
1044Spain2024-05-23
1045Brazil2024-06-21
1046Japan2024-06-12
1047Japan2024-06-15
1048Japan2024-06-20
1049Canada2024-06-17

On-Demand Data

NameIdCountryDate
Kaitlin R Vocelka1000Russia2024-06-04
David W Morasca1001Canada2024-06-07
Octavia A Briddick1002Italy2024-06-06
Deepesh E Shinko1003United Kingdom2024-05-29
Arvin S Sergi1004Italy2024-06-21
Wickens K Poquette1005India2024-06-03
Jeanfrancois V Poquette1006Australia2024-05-26
Isabel R Shinko1007Australia2024-06-10
Deepesh W Bolognia1008Russia2024-05-24
Aika R Figeroa1009Canada2024-06-16
Julie X Nestle1010Japan2024-05-31
Deepesh L Gillian1011France2024-06-04
Cody U Nicka1012Russia2024-06-09
Maisha L Royster1013Spain2024-06-19
Emily G Gillian1014Germany2024-05-24
Munro H Bolognia1015Brazil2024-06-11
Maria J Caldarera1016Spain2024-05-29
Darci G Kolmetz1017India2024-05-23
Cody S Iturbide1018Brazil2024-06-15
Misaki T Wieser1019India2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois S DoeUnited KingdomElwin Sharvill UNQUALIFIED
Kadeem L TollnerBrazilIvan Magalhaes PROPOSAL
Misaki X KolmetzAustraliaStephen Shaw UNQUALIFIED
Ivar C MorascaGermanyOnyama Limba PROPOSAL
Smith M FollerCanadaElwin Sharvill QUALIFIED
Deepesh V WhobreyJapanBernardo Dominic UNQUALIFIED
Johnson V OstroskyJapanAnna Fali NEW
Aika O WieserArgentinaIvan Magalhaes NEW
Juan O GlickSpainAnna Fali NEGOTIATION
Darci J CaldareraUnited KingdomStephen Shaw PROPOSAL
Octavia A StockhamSpainElwin Sharvill QUALIFIED
Murillo N RulapaughFranceIoni Bowcher NEGOTIATION
Alejandro X SchemmerUnited KingdomAsiya Javayant PROPOSAL
Wickens L FerenczSpainIoni Bowcher PROPOSAL
Ashley W ChuiArgentinaOnyama Limba NEGOTIATION
Cody E SchemmerRussiaXuxue Feng NEGOTIATION
Darci F BriddickRussiaXuxue Feng RENEWAL
Tony N MorascaAustraliaAmy Elsner NEW
Mujtaba E GauchoSpainElwin Sharvill NEGOTIATION
Ricardo F PaprockiItalyAnna Fali NEW
Jeanfrancois M FollerArgentinaBernardo Dominic PROPOSAL
Emily F ChuiItalyOnyama Limba QUALIFIED
Mayumi O MaletSpainStephen Shaw RENEWAL
Tony M WieserItalyElwin Sharvill NEW
Antonio C RulapaughCanadaAnna Fali NEW
Isabel L ButtItalyIvan Magalhaes PROPOSAL
Maria B DarakjyArgentinaOnyama Limba QUALIFIED
Sinclair W RulapaughFranceXuxue Feng RENEWAL
Claire K FlosiUnited KingdomXuxue Feng PROPOSAL
Maisha B AmigonRussiaStephen Shaw PROPOSAL
Sinclair A VenereJapanXuxue Feng RENEWAL
Jennifer F MaletIndiaIvan Magalhaes RENEWAL
Octavia F SlusarskiFranceOnyama Limba UNQUALIFIED
Leon E BologniaJapanOnyama Limba UNQUALIFIED
Mayumi A MaletAustraliaAmy Elsner NEW
Antonio X ChuiBrazilBernardo Dominic NEW
Aruna T SchemmerAustraliaAmy Elsner PROPOSAL
Francesco S MaletIndiaBernardo Dominic RENEWAL
Cody Q ChuiFranceAsiya Javayant UNQUALIFIED
Morrow S RutaItalyElwin Sharvill NEGOTIATION

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