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
Misaki A RimSpainIvan Magalhaes UNQUALIFIED
Darci R PoquetteUnited KingdomOnyama Limba RENEWAL
Alejandro N BologniaGermanyBernardo Dominic NEW
Mujtaba E CaudyRussiaElwin Sharvill RENEWAL
Clifford S PerinIndiaElwin Sharvill NEW
Claire X BowleyGermanyXuxue Feng NEW
Adams Y KuskoItalyStephen Shaw NEW
Arvin O WhobreyIndiaXuxue Feng QUALIFIED
Francesco I CaudySpainAnna Fali NEGOTIATION
Jefferson Z OldroydItalyOnyama Limba QUALIFIED
Nicolas S RutaAustraliaBernardo Dominic RENEWAL
Kaitlin A OldroydSpainXuxue Feng NEW
Deepesh K RulapaughIndiaOnyama Limba RENEWAL
Julie K SchemmerGermanyStephen Shaw NEW
Darci R GarufiAustraliaAsiya Javayant NEW
Faith B FigeroaArgentinaAsiya Javayant NEW
Salvatore F MarrierUnited KingdomElwin Sharvill QUALIFIED
Jennifer S PaprockiGermanyIvan Magalhaes QUALIFIED
Adams E SergiBrazilAnna Fali UNQUALIFIED
Faith R OstroskyBrazilAnna Fali RENEWAL
Mayumi A NickaJapanIvan Magalhaes PROPOSAL
Misaki T OldroydJapanIvan Magalhaes NEGOTIATION
Smith F CampainAustraliaXuxue Feng NEGOTIATION
Aruna V CampainItalyXuxue Feng PROPOSAL
Aika Q BriddickCanadaBernardo Dominic PROPOSAL
Mujtaba V NickaJapanIvan Magalhaes RENEWAL
Aika B MaletBrazilBernardo Dominic RENEWAL
James V RoysterBrazilAsiya Javayant QUALIFIED
Rodrigues T FollerIndiaAmy Elsner QUALIFIED
Chavez O FerenczUnited KingdomElwin Sharvill PROPOSAL
Wickens T WaycottCanadaIvan Magalhaes RENEWAL
Wickens J BologniaRussiaXuxue Feng RENEWAL
Salvatore V MarrierRussiaElwin Sharvill QUALIFIED
Cody Y IturbideItalyAmy Elsner QUALIFIED
Stacey F RimCanadaIoni Bowcher PROPOSAL
Aika G CampainCanadaStephen Shaw QUALIFIED
Arvin C MarrierJapanAmy Elsner PROPOSAL
Salvatore J PoquetteCanadaStephen Shaw NEGOTIATION
Izzy Y GillianItalyAmy Elsner QUALIFIED
Maisha B CaudyBrazilOnyama Limba PROPOSAL
Costa K MorascaCanadaAmy Elsner PROPOSAL
Ivar S CaldareraRussiaXuxue Feng QUALIFIED
Johnson Q ChuiIndiaAnna Fali QUALIFIED
Faith G SergiJapanAsiya Javayant UNQUALIFIED
Clifford Q InouyeCanadaAsiya Javayant RENEWAL
Jones G MaletArgentinaBernardo Dominic PROPOSAL
Mayumi W MorascaSpainXuxue Feng QUALIFIED
Greenwood L InouyeItalyElwin Sharvill PROPOSAL
Jefferson Z InouyeFranceAmy Elsner PROPOSAL
Cody N ShinkoRussiaIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Julie C RulapaughFranceAsiya Javayant PROPOSAL
Mujtaba V FlosiAustraliaAnna Fali RENEWAL
Salvatore X ShinkoRussiaIoni Bowcher QUALIFIED
Clifford O MacleadAustraliaBernardo Dominic UNQUALIFIED
Ricardo T GauchoJapanStephen Shaw RENEWAL
Rodrigues Z GlickRussiaIoni Bowcher QUALIFIED
Cody T GauchoJapanIvan Magalhaes NEGOTIATION
Chavez A PoquetteAustraliaAnna Fali RENEWAL
Cody B MarrierRussiaAsiya Javayant UNQUALIFIED
Silvio W CaudyUnited KingdomAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson D NickaUnited Kingdom2024-06-12Commercial Press UNQUALIFIED52Anna Fali
1001Leon H ShinkoFrance2024-06-01Chanay, Jeffrey A Esq NEGOTIATION83Anna Fali
1002Salvatore L DoeJapan2024-06-05Chapman, Ross E Esq RENEWAL90Stephen Shaw
1003Chavez X RoysterSpain2024-06-03Printing Dimensions NEW92Asiya Javayant
1004Morrow M DilliardBrazil2024-06-15King, Christopher A Esq NEGOTIATION53Amy Elsner
1005Aruna I ShinkoGermany2024-06-14Chanay, Jeffrey A Esq UNQUALIFIED32Elwin Sharvill
1006Octavia A RutaItaly2024-06-22Commercial Press UNQUALIFIED59Ioni Bowcher
1007Sinclair W MarrierGermany2024-05-25Dorl, James J Esq PROPOSAL16Bernardo Dominic
1008Ivar C CaudyArgentina2024-06-12Commercial Press NEW94Amy Elsner
1009Octavia J GauchoAustralia2024-06-20Rangoni Of Florence NEW38Elwin Sharvill
1010Ashley D SlusarskiArgentina2024-05-25Buckley Miller Wright UNQUALIFIED0Amy Elsner
1011Murillo J StensethCanada2024-05-27Rangoni Of Florence NEW64Asiya Javayant
1012Nicolas L RimIndia2024-05-30King, Christopher A Esq QUALIFIED37Stephen Shaw
1013Jennifer R KolmetzCanada2024-06-06Rangoni Of Florence UNQUALIFIED91Ioni Bowcher
1014Ivar O CampainUnited Kingdom2024-05-30Rangoni Of Florence RENEWAL11Amy Elsner
1015Smith M StensethAustralia2024-06-17Benton, John B Jr UNQUALIFIED89Onyama Limba
1016Maisha F PerinUnited Kingdom2024-06-06Chemel, James L Cpa NEGOTIATION90Stephen Shaw
1017Maisha X ButtIndia2024-06-22Morlong Associates RENEWAL11Ioni Bowcher
1018Jennifer L SlusarskiFrance2024-06-03Commercial Press NEW81Anna Fali
1019Wickens K MorascaItaly2024-06-11Feiner Bros RENEWAL89Stephen Shaw
1020Leja R RutaGermany2024-06-10Chapman, Ross E Esq UNQUALIFIED91Elwin Sharvill
1021Faith R ButtCanada2024-06-12Feltz Printing Service PROPOSAL7Bernardo Dominic
1022Octavia N AmigonSpain2024-05-28Printing Dimensions RENEWAL24Anna Fali
1023Emily I MaletArgentina2024-05-27Chapman, Ross E Esq NEGOTIATION68Amy Elsner
1024Johnson X SergiFrance2024-06-13Buckley Miller Wright RENEWAL27Stephen Shaw
1025Jones O MorascaCanada2024-06-06Commercial Press UNQUALIFIED99Asiya Javayant
1026Wickens F IturbideCanada2024-06-05Feiner Bros PROPOSAL98Bernardo Dominic
1027Murillo S GarufiItaly2024-06-19Feltz Printing Service NEGOTIATION51Stephen Shaw
1028Kaitlin B DarakjyUnited Kingdom2024-06-09Feiner Bros RENEWAL41Stephen Shaw
1029Leja W NestleArgentina2024-06-16King, Christopher A Esq NEGOTIATION18Asiya Javayant
1030Ricardo E GillianSpain2024-05-30Truhlar And Truhlar Attys QUALIFIED36Asiya Javayant
1031Aditya Z FollerFrance2024-06-04Dorl, James J Esq UNQUALIFIED92Xuxue Feng
1032Greenwood K WieserFrance2024-06-03Chapman, Ross E Esq PROPOSAL7Ioni Bowcher
1033Jennifer Q BriddickIndia2024-06-05Dorl, James J Esq RENEWAL91Elwin Sharvill
1034David C ChuiGermany2024-06-03Feltz Printing Service NEGOTIATION4Amy Elsner
1035Munro C BowleyBrazil2024-06-11Chapman, Ross E Esq NEW25Asiya Javayant
1036Ashley H WaycottIndia2024-06-14Benton, John B Jr UNQUALIFIED71Asiya Javayant
1037Julie Q VenereGermany2024-06-14Rousseaux, Michael Esq PROPOSAL68Asiya Javayant
1038Darci X PoquetteFrance2024-06-10Morlong Associates RENEWAL67Stephen Shaw
1039Aruna K CaudyIndia2024-06-01Printing Dimensions UNQUALIFIED74Stephen Shaw
1040Stacey I WieserFrance2024-05-27Chemel, James L Cpa PROPOSAL1Anna Fali
1041Cody Q DoeJapan2024-06-03Chapman, Ross E Esq RENEWAL36Ivan Magalhaes
1042Smith M OldroydGermany2024-05-31Printing Dimensions QUALIFIED24Xuxue Feng
1043Adams Y BowleyAustralia2024-06-11King, Christopher A Esq QUALIFIED4Stephen Shaw
1044Wickens N RoysterIndia2024-06-01Truhlar And Truhlar Attys PROPOSAL16Anna Fali
1045Maria E AmigonJapan2024-06-15King, Christopher A Esq NEW48Ioni Bowcher
1046Francesco H OldroydCanada2024-06-22Printing Dimensions NEGOTIATION22Stephen Shaw
1047Ivar V SchemmerRussia2024-05-30Rangoni Of Florence PROPOSAL62Ioni Bowcher
1048Greenwood S BriddickFrance2024-06-22Chapman, Ross E Esq UNQUALIFIED7Ioni Bowcher
1049Smith L FigeroaItaly2024-06-04Truhlar And Truhlar Attys QUALIFIED90Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba F FigeroaSpainElwin Sharvill QUALIFIED
Ricardo N GarufiRussiaIvan Magalhaes PROPOSAL
Kaitlin V MaletItalyIvan Magalhaes RENEWAL
Isabel E RulapaughCanadaElwin Sharvill PROPOSAL
Kadeem L MarrierUnited KingdomBernardo Dominic QUALIFIED
Misaki Y WaycottUnited KingdomElwin Sharvill NEGOTIATION
James L KolmetzCanadaAnna Fali RENEWAL
David X MaletBrazilXuxue Feng RENEWAL
Julie K TollnerCanadaIvan Magalhaes NEGOTIATION
Faith J DarakjyBrazilElwin Sharvill QUALIFIED
David S CampainFranceBernardo Dominic PROPOSAL
Rodrigues V RutaItalyAnna Fali UNQUALIFIED
Wickens X KuskoGermanyIoni Bowcher RENEWAL
Greenwood W AmigonFranceAmy Elsner NEGOTIATION
Maisha L RimRussiaAnna Fali RENEWAL
Ricardo L MaletGermanyElwin Sharvill PROPOSAL
Munro P NickaItalyAsiya Javayant QUALIFIED
Aruna X GarufiIndiaOnyama Limba QUALIFIED
Clifford L VocelkaJapanElwin Sharvill PROPOSAL
Aruna B RimSpainIvan Magalhaes UNQUALIFIED
Jennifer G NestleAustraliaAmy Elsner RENEWAL
Kadeem Z VocelkaArgentinaIoni Bowcher NEGOTIATION
Mayumi K MaletGermanyOnyama Limba QUALIFIED
Sinclair I WhobreyUnited KingdomXuxue Feng PROPOSAL
Claire O ShinkoGermanyIvan Magalhaes UNQUALIFIED
Costa M ButtItalyIoni Bowcher PROPOSAL
Kadeem F BologniaGermanyAnna Fali UNQUALIFIED
Tony Q GarufiFranceAsiya Javayant NEW
Antonio P GauchoItalyAmy Elsner NEW
Wickens W MaletIndiaElwin Sharvill QUALIFIED
Leja T AlbaresSpainStephen Shaw NEGOTIATION
Antonio E MorascaCanadaIvan Magalhaes UNQUALIFIED
Deepesh Y GauchoFranceAnna Fali PROPOSAL
Kaitlin M MaletGermanyAsiya Javayant PROPOSAL
Ricardo R SlusarskiRussiaIoni Bowcher UNQUALIFIED
Izzy V TollnerJapanBernardo Dominic NEGOTIATION
James K StockhamAustraliaElwin Sharvill QUALIFIED
Maisha G PerinFranceElwin Sharvill UNQUALIFIED
Costa O RoysterArgentinaElwin Sharvill NEW
Emily G GauchoIndiaAnna Fali NEW
Faith J RutaBrazilOnyama Limba RENEWAL
Maria A CaudyArgentinaElwin Sharvill NEGOTIATION
Smith U TollnerGermanyBernardo Dominic RENEWAL
Juan N SchemmerBrazilStephen Shaw RENEWAL
Ashley D FigeroaIndiaBernardo Dominic UNQUALIFIED
Smith K WaycottCanadaXuxue Feng PROPOSAL
Juan Q BriddickBrazilIoni Bowcher UNQUALIFIED
Antonio I StensethArgentinaOnyama Limba NEGOTIATION
Sinclair S GlickArgentinaIvan Magalhaes RENEWAL
Cody F WieserJapanIoni Bowcher QUALIFIED
Frozen Columns
Name
Maisha X Inouye
Jeanfrancois G Wieser
Arvin C Doe
Izzy E Venere
Julie Q Rim
Leja J Poquette
Deepesh X Nestle
Nicolas S Malet
Jones Y Schemmer
Cody A Nicka
Leja Q Malet
Sinclair Q Chui
Maisha O Royster
Leon X Caldarera
James F Slusarski
Arvin A Saylors
Mujtaba I Royster
Arvin M Royster
Mujtaba D Kolmetz
Cody N Butt
Kaitlin V Wieser
Ricardo E Gaucho
Costa G Campain
Aika C Iturbide
Mayumi E Nestle
Silvio Q Iturbide
Ashley E Waycott
Arvin N Maclead
Aruna N Venere
Nicolas G Flosi
Jeanfrancois O Nestle
Arvin U Caldarera
Antonio C Garufi
Stacey G Ostrosky
Costa F Rim
Maisha X Sergi
Munro J Gillian
Aruna Z Bowley
Aruna R Wieser
Johnson D Stenseth
David T Butt
Leon K Malet
Jeanfrancois Q Glick
Johnson Z Iturbide
Chavez S Caudy
James Y Malet
Ashley S Iturbide
Costa L Foller
Izzy T Perin
Munro C Whobrey
IdCountryDate
1000United Kingdom2024-06-07
1001Italy2024-06-14
1002Brazil2024-05-31
1003Brazil2024-05-28
1004France2024-06-01
1005Germany2024-06-01
1006Germany2024-06-23
1007Canada2024-06-19
1008Brazil2024-06-22
1009Canada2024-06-13
1010India2024-05-27
1011Brazil2024-05-31
1012India2024-06-06
1013Brazil2024-06-05
1014Canada2024-06-11
1015Canada2024-06-18
1016Canada2024-06-22
1017United Kingdom2024-06-17
1018Brazil2024-06-12
1019Italy2024-05-30
1020Germany2024-05-26
1021Italy2024-06-23
1022Germany2024-06-13
1023France2024-06-14
1024Germany2024-06-21
1025Japan2024-06-21
1026Canada2024-05-27
1027Australia2024-06-18
1028Canada2024-06-20
1029Spain2024-06-09
1030India2024-06-07
1031Brazil2024-06-21
1032United Kingdom2024-06-14
1033Australia2024-06-23
1034Brazil2024-05-25
1035Germany2024-06-19
1036Japan2024-06-01
1037Russia2024-05-31
1038Germany2024-05-25
1039Brazil2024-06-12
1040Italy2024-06-02
1041Argentina2024-06-02
1042Australia2024-06-15
1043Canada2024-06-23
1044Brazil2024-06-14
1045Australia2024-06-13
1046Germany2024-06-05
1047United Kingdom2024-06-22
1048Spain2024-06-10
1049India2024-06-13

On-Demand Data

NameIdCountryDate
Faith F Shinko1000Germany2024-06-23
Maria E Bowley1001Spain2024-06-06
Claire W Stenseth1002Brazil2024-05-30
Kaitlin U Foller1003India2024-05-25
David C Albares1004Australia2024-06-08
Juan I Paprocki1005Germany2024-06-13
Isabel D Albares1006Russia2024-05-28
Misaki C Ferencz1007Japan2024-06-03
Salvatore P Maclead1008Argentina2024-06-03
Francesco H Inouye1009United Kingdom2024-06-21
Deepesh T Ruta1010India2024-06-16
Ivar B Kusko1011Australia2024-06-11
Chavez C Slusarski1012Russia2024-06-23
Darci Z Perin1013Germany2024-05-29
Munro W Stenseth1014Brazil2024-05-30
Antonio V Foller1015Argentina2024-05-25
Deepesh H Rim1016France2024-06-10
Emily Z Slusarski1017Spain2024-06-15
Johnson E Bolognia1018Canada2024-06-09
Munro K Doe1019United Kingdom2024-06-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh P CaudyUnited KingdomStephen Shaw NEW
Francesco W MorascaArgentinaStephen Shaw RENEWAL
Ivar A StensethSpainIoni Bowcher RENEWAL
Arvin O AmigonIndiaAsiya Javayant QUALIFIED
Clifford Q MacleadGermanyStephen Shaw PROPOSAL
Francesco M VocelkaCanadaAnna Fali PROPOSAL
David A OstroskySpainAsiya Javayant RENEWAL
Costa B GlickRussiaStephen Shaw QUALIFIED
Maisha K TollnerArgentinaIoni Bowcher NEGOTIATION
Kaitlin R DilliardBrazilElwin Sharvill NEW
Silvio M IturbideGermanyIvan Magalhaes QUALIFIED
Munro A AlbaresArgentinaElwin Sharvill QUALIFIED
Morrow A GlickRussiaIvan Magalhaes NEW
Rodrigues H NickaUnited KingdomBernardo Dominic NEW
Aditya R InouyeGermanyXuxue Feng NEGOTIATION
Kadeem S VenereJapanBernardo Dominic NEGOTIATION
Julie B TollnerRussiaStephen Shaw QUALIFIED
Ivar O DilliardIndiaAmy Elsner NEW
Deepesh T ChuiIndiaAsiya Javayant UNQUALIFIED
Aditya H ChuiGermanyAnna Fali QUALIFIED
Silvio J RutaArgentinaAsiya Javayant NEGOTIATION
Isabel H StockhamArgentinaAnna Fali NEGOTIATION
Faith T CaldareraArgentinaStephen Shaw UNQUALIFIED
Costa Z GillianIndiaIoni Bowcher PROPOSAL
Adams Q GarufiJapanElwin Sharvill RENEWAL
Alejandro Q AmigonIndiaAsiya Javayant RENEWAL
Isabel M SaylorsSpainIvan Magalhaes NEGOTIATION
Aditya V PaprockiIndiaXuxue Feng UNQUALIFIED
Izzy J SergiArgentinaOnyama Limba RENEWAL
Claire H FollerGermanyAnna Fali RENEWAL
Leon M KolmetzArgentinaOnyama Limba QUALIFIED
Murillo A DoeItalyStephen Shaw UNQUALIFIED
Jones A KolmetzBrazilOnyama Limba QUALIFIED
Wickens W AlbaresGermanyOnyama Limba NEGOTIATION
Chavez P BriddickSpainIoni Bowcher QUALIFIED
Darci W FollerAustraliaAsiya Javayant NEW
Jefferson V ButtItalyStephen Shaw RENEWAL
Aika C OstroskyBrazilAmy Elsner NEW
Sinclair K StockhamRussiaAnna Fali NEW
Kaitlin I MacleadBrazilStephen Shaw QUALIFIED

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