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
Faith K DarakjyBrazilAsiya Javayant QUALIFIED
Aika Y MacleadArgentinaAnna Fali NEGOTIATION
Stacey G WieserGermanyStephen Shaw RENEWAL
Kadeem A RimUnited KingdomOnyama Limba NEGOTIATION
Ivar C GarufiJapanIvan Magalhaes NEGOTIATION
Costa H ChuiIndiaXuxue Feng NEW
Silvio G KuskoItalyBernardo Dominic NEGOTIATION
Maisha O RoysterUnited KingdomXuxue Feng UNQUALIFIED
Kaitlin M MorascaFranceAnna Fali RENEWAL
Johnson S MaletBrazilElwin Sharvill UNQUALIFIED
Silvio Y AlbaresFranceIvan Magalhaes PROPOSAL
Wickens X PoquetteSpainOnyama Limba PROPOSAL
Arvin J VenereFranceBernardo Dominic PROPOSAL
Jefferson H KolmetzBrazilElwin Sharvill NEW
James W DilliardItalyIoni Bowcher NEW
Aruna Z NestleItalyAnna Fali QUALIFIED
Wickens T MacleadFranceStephen Shaw NEW
Rodrigues F MacleadBrazilAnna Fali NEGOTIATION
Silvio B WieserItalyAsiya Javayant QUALIFIED
Aika Y KolmetzBrazilBernardo Dominic PROPOSAL
Arvin Y NickaCanadaIoni Bowcher PROPOSAL
Octavia U StensethIndiaStephen Shaw NEGOTIATION
Juan V OldroydBrazilIvan Magalhaes NEW
Cody T MorascaIndiaOnyama Limba UNQUALIFIED
Faith E SlusarskiIndiaXuxue Feng NEGOTIATION
Jeanfrancois K MaletItalyElwin Sharvill QUALIFIED
Ashley G BologniaAustraliaXuxue Feng NEW
Jefferson N NestleJapanElwin Sharvill NEW
Misaki P VocelkaGermanyAnna Fali NEGOTIATION
Cody M AmigonJapanElwin Sharvill UNQUALIFIED
Aditya U MarrierArgentinaBernardo Dominic QUALIFIED
Kadeem Y StensethBrazilElwin Sharvill RENEWAL
Jefferson Z PaprockiUnited KingdomBernardo Dominic PROPOSAL
Clifford P GauchoJapanAmy Elsner RENEWAL
Leon Q BowleyArgentinaAsiya Javayant RENEWAL
Leja A IturbideFranceAnna Fali NEGOTIATION
Darci R GarufiIndiaAsiya Javayant RENEWAL
James V GillianSpainStephen Shaw QUALIFIED
Claire F StensethAustraliaIoni Bowcher QUALIFIED
Arvin L FlosiCanadaBernardo Dominic NEGOTIATION
Smith K MacleadSpainAnna Fali QUALIFIED
Silvio W AlbaresBrazilBernardo Dominic NEGOTIATION
Wickens J KolmetzRussiaElwin Sharvill QUALIFIED
Leon T WhobreyUnited KingdomOnyama Limba NEGOTIATION
Julie X RutaArgentinaIvan Magalhaes NEGOTIATION
Morrow Y ButtFranceXuxue Feng QUALIFIED
Murillo O FlosiBrazilIoni Bowcher RENEWAL
Tony R SlusarskiBrazilStephen Shaw PROPOSAL
Ivar L MacleadAustraliaStephen Shaw RENEWAL
Aika X SergiCanadaStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Emily C AlbaresCanadaOnyama Limba NEGOTIATION
Munro W FollerIndiaAmy Elsner PROPOSAL
David Q RulapaughSpainStephen Shaw UNQUALIFIED
Kadeem T VenereItalyAnna Fali NEW
Leja A KuskoItalyAsiya Javayant PROPOSAL
Wickens W DilliardRussiaXuxue Feng RENEWAL
Jones P VocelkaUnited KingdomXuxue Feng PROPOSAL
Darci U CaldareraFranceAnna Fali NEW
Clifford J WhobreyFranceStephen Shaw UNQUALIFIED
Chavez Y RutaBrazilXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja Q RutaArgentina2024-06-04Rousseaux, Michael Esq NEGOTIATION20Bernardo Dominic
1001Ashley I StensethArgentina2024-06-04Printing Dimensions PROPOSAL10Elwin Sharvill
1002Aruna J TollnerIndia2024-05-25Feiner Bros NEW71Asiya Javayant
1003Deepesh X FigeroaItaly2024-06-03Buckley Miller Wright NEGOTIATION44Stephen Shaw
1004Tony G DoeUnited Kingdom2024-06-13Benton, John B Jr UNQUALIFIED32Anna Fali
1005Leja M RutaBrazil2024-06-11Truhlar And Truhlar Attys NEGOTIATION39Amy Elsner
1006Leja C OstroskyIndia2024-05-31Buckley Miller Wright QUALIFIED41Ivan Magalhaes
1007Mayumi X RoysterSpain2024-05-24Printing Dimensions RENEWAL92Onyama Limba
1008Juan M RoysterItaly2024-05-29King, Christopher A Esq RENEWAL4Anna Fali
1009Kaitlin W FigeroaItaly2024-05-19Feltz Printing Service RENEWAL53Ioni Bowcher
1010Nicolas R CaldareraAustralia2024-06-03Feltz Printing Service PROPOSAL11Bernardo Dominic
1011Maisha S CaudyGermany2024-06-01King, Christopher A Esq NEGOTIATION12Onyama Limba
1012Darci A MaletGermany2024-05-29Rangoni Of Florence QUALIFIED37Ioni Bowcher
1013Ricardo Q MarrierRussia2024-06-07Dorl, James J Esq QUALIFIED15Asiya Javayant
1014Darci Q MarrierBrazil2024-06-16Chapman, Ross E Esq UNQUALIFIED61Stephen Shaw
1015Greenwood O WaycottArgentina2024-06-02Chemel, James L Cpa QUALIFIED48Stephen Shaw
1016Darci S ChuiGermany2024-05-28Chemel, James L Cpa NEGOTIATION47Onyama Limba
1017Claire K BowleyUnited Kingdom2024-06-15Chapman, Ross E Esq QUALIFIED79Amy Elsner
1018Faith L ButtRussia2024-06-08Dorl, James J Esq NEGOTIATION83Elwin Sharvill
1019James G VenereGermany2024-06-11Morlong Associates PROPOSAL48Asiya Javayant
1020David A MorascaGermany2024-06-01Rousseaux, Michael Esq UNQUALIFIED44Anna Fali
1021Isabel I WaycottUnited Kingdom2024-06-05Chemel, James L Cpa NEGOTIATION56Asiya Javayant
1022Silvio N StensethSpain2024-06-07King, Christopher A Esq UNQUALIFIED68Asiya Javayant
1023Alejandro Q FigeroaBrazil2024-06-03Chapman, Ross E Esq QUALIFIED97Xuxue Feng
1024Jeanfrancois K WaycottCanada2024-05-30Feiner Bros QUALIFIED5Ivan Magalhaes
1025Rodrigues W WaycottAustralia2024-06-09Rangoni Of Florence NEW19Stephen Shaw
1026Maria A IturbideGermany2024-06-09Rangoni Of Florence NEW68Stephen Shaw
1027Sinclair N OstroskySpain2024-06-11Chanay, Jeffrey A Esq NEGOTIATION91Onyama Limba
1028Rodrigues I RoysterArgentina2024-05-27King, Christopher A Esq NEGOTIATION7Ioni Bowcher
1029Leon L RoysterIndia2024-06-06Feiner Bros NEGOTIATION51Asiya Javayant
1030Kadeem C WieserGermany2024-05-21Morlong Associates RENEWAL48Stephen Shaw
1031Stacey B KolmetzItaly2024-05-28Feltz Printing Service PROPOSAL31Bernardo Dominic
1032Adams X MaletBrazil2024-06-08Rousseaux, Michael Esq PROPOSAL93Ivan Magalhaes
1033Deepesh K MarrierSpain2024-05-19Morlong Associates QUALIFIED88Stephen Shaw
1034Ricardo F ChuiJapan2024-05-22King, Christopher A Esq RENEWAL41Ivan Magalhaes
1035Aruna R FigeroaJapan2024-06-10Morlong Associates RENEWAL33Onyama Limba
1036Kaitlin Q WhobreyJapan2024-06-15Chanay, Jeffrey A Esq RENEWAL17Ioni Bowcher
1037Arvin M RutaSpain2024-05-19Printing Dimensions NEGOTIATION16Amy Elsner
1038Kaitlin V NickaSpain2024-05-19Buckley Miller Wright QUALIFIED27Asiya Javayant
1039Juan M GillianUnited Kingdom2024-06-14Feiner Bros QUALIFIED84Ivan Magalhaes
1040Darci G OstroskyRussia2024-05-27Rangoni Of Florence QUALIFIED26Anna Fali
1041Cody X DoeAustralia2024-06-17Feltz Printing Service RENEWAL44Stephen Shaw
1042Wickens O PerinRussia2024-06-03Chemel, James L Cpa QUALIFIED42Xuxue Feng
1043Maisha V VocelkaItaly2024-06-06Chapman, Ross E Esq PROPOSAL88Ioni Bowcher
1044Chavez N ButtItaly2024-05-27Feiner Bros PROPOSAL82Onyama Limba
1045Cody R PaprockiFrance2024-05-23Rousseaux, Michael Esq NEGOTIATION47Amy Elsner
1046Leon G DoeRussia2024-06-07Chemel, James L Cpa NEW95Elwin Sharvill
1047Costa R GarufiFrance2024-05-19Chanay, Jeffrey A Esq RENEWAL1Amy Elsner
1048Adams E OldroydItaly2024-05-29Feltz Printing Service UNQUALIFIED32Xuxue Feng
1049Jones H FerenczItaly2024-05-22Buckley Miller Wright NEW14Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Tony E BriddickBrazilBernardo Dominic PROPOSAL
Octavia U ButtArgentinaIoni Bowcher QUALIFIED
Deepesh P KuskoGermanyAsiya Javayant NEGOTIATION
Leon U VocelkaSpainIoni Bowcher PROPOSAL
Jennifer A OstroskyUnited KingdomXuxue Feng NEGOTIATION
Rodrigues V FlosiAustraliaIvan Magalhaes QUALIFIED
Cody W RimSpainOnyama Limba NEGOTIATION
Morrow M BriddickBrazilIoni Bowcher NEGOTIATION
Izzy A MacleadUnited KingdomElwin Sharvill RENEWAL
Salvatore I MorascaFranceAmy Elsner RENEWAL
Mayumi Q SchemmerCanadaIvan Magalhaes UNQUALIFIED
Smith I DarakjyArgentinaOnyama Limba UNQUALIFIED
Jones Q SaylorsBrazilIvan Magalhaes NEGOTIATION
Jones N WhobreyIndiaElwin Sharvill UNQUALIFIED
Silvio K DilliardRussiaAmy Elsner PROPOSAL
James V KuskoGermanyOnyama Limba NEW
Salvatore H NestleUnited KingdomAnna Fali RENEWAL
Aruna I GauchoSpainAnna Fali QUALIFIED
Salvatore D SlusarskiIndiaOnyama Limba PROPOSAL
Clifford L SlusarskiAustraliaElwin Sharvill RENEWAL
Nicolas U WaycottFranceStephen Shaw RENEWAL
Greenwood W CaldareraGermanyXuxue Feng PROPOSAL
Jeanfrancois N FerenczUnited KingdomAsiya Javayant NEW
Smith K DarakjyRussiaIvan Magalhaes NEGOTIATION
Costa H SchemmerItalyElwin Sharvill QUALIFIED
Julie T GlickArgentinaOnyama Limba RENEWAL
Deepesh R SlusarskiCanadaBernardo Dominic RENEWAL
Munro S BowleyJapanIoni Bowcher QUALIFIED
Jeanfrancois S GlickSpainXuxue Feng QUALIFIED
Johnson Y BowleyRussiaAmy Elsner NEGOTIATION
Izzy E NestleCanadaElwin Sharvill PROPOSAL
Aika T DilliardFranceOnyama Limba PROPOSAL
Emily D RimArgentinaOnyama Limba NEW
Jennifer V MacleadAustraliaXuxue Feng PROPOSAL
Costa C StockhamFranceAsiya Javayant RENEWAL
Juan K DarakjyJapanAnna Fali PROPOSAL
Isabel H MorascaArgentinaIoni Bowcher PROPOSAL
Alejandro X PerinArgentinaIoni Bowcher RENEWAL
Tony U InouyeArgentinaIvan Magalhaes UNQUALIFIED
Murillo I PerinItalyBernardo Dominic UNQUALIFIED
Claire X NickaUnited KingdomAmy Elsner NEW
David Z KolmetzGermanyOnyama Limba NEW
Clifford U GillianJapanAmy Elsner UNQUALIFIED
Kadeem O CampainFranceAnna Fali RENEWAL
Julie H SaylorsAustraliaBernardo Dominic NEW
Jennifer X WieserCanadaBernardo Dominic UNQUALIFIED
Leon K BologniaFranceIoni Bowcher UNQUALIFIED
Aditya S CampainArgentinaAsiya Javayant QUALIFIED
Aika M MarrierUnited KingdomStephen Shaw NEW
Leon T RutaIndiaElwin Sharvill RENEWAL
Frozen Columns
Name
Ivar A Marrier
Ivar I Dilliard
Emily Z Vocelka
Izzy G Butt
Aruna E Schemmer
Rodrigues X Doe
Cody R Poquette
Rodrigues J Chui
Misaki V Glick
Faith Q Vocelka
Salvatore C Albares
Jones Z Caudy
Ashley R Bowley
Morrow T Doe
Mayumi B Caudy
Adams V Inouye
Claire B Flosi
Morrow X Amigon
Izzy Q Foller
Octavia D Schemmer
Clifford V Gillian
Sinclair K Tollner
Faith E Butt
Izzy H Caudy
Darci N Bowley
Ivar S Albares
Nicolas E Tollner
Octavia P Campain
Antonio L Wieser
Faith H Morasca
Leja L Malet
Francesco N Caldarera
Cody N Shinko
Munro Q Iturbide
Kaitlin O Maclead
Smith F Garufi
Tony Z Paprocki
Adams H Poquette
Cody H Poquette
Aditya M Venere
Antonio Y Iturbide
Ivar E Slusarski
Arvin Y Albares
Aruna A Vocelka
Sinclair T Malet
Octavia H Morasca
Leon C Garufi
Juan I Schemmer
Jefferson W Malet
James T Kusko
IdCountryDate
1000India2024-06-13
1001Spain2024-06-05
1002Japan2024-05-27
1003Spain2024-05-29
1004Canada2024-05-24
1005Brazil2024-06-06
1006France2024-06-08
1007Italy2024-06-17
1008United Kingdom2024-05-20
1009France2024-06-11
1010Brazil2024-06-01
1011Brazil2024-06-09
1012Russia2024-05-20
1013Spain2024-05-25
1014Australia2024-05-29
1015Germany2024-06-10
1016Germany2024-05-28
1017Australia2024-06-02
1018Japan2024-06-07
1019Australia2024-05-31
1020Italy2024-05-29
1021Argentina2024-06-13
1022Spain2024-06-13
1023Italy2024-05-22
1024France2024-05-20
1025Russia2024-06-10
1026Japan2024-06-13
1027Spain2024-05-29
1028India2024-06-03
1029Argentina2024-06-14
1030Brazil2024-05-19
1031Argentina2024-05-30
1032India2024-06-05
1033United Kingdom2024-05-31
1034Italy2024-06-03
1035Germany2024-06-08
1036Russia2024-06-06
1037Russia2024-06-14
1038France2024-05-25
1039Germany2024-06-11
1040Australia2024-06-14
1041Brazil2024-05-27
1042Argentina2024-06-06
1043Brazil2024-05-21
1044Russia2024-06-17
1045Japan2024-05-26
1046Canada2024-06-09
1047United Kingdom2024-05-21
1048Canada2024-06-03
1049France2024-06-13

On-Demand Data

NameIdCountryDate
Claire H Marrier1000France2024-05-19
David G Nestle1001Brazil2024-05-22
Clifford F Figeroa1002Canada2024-05-31
Aika Q Saylors1003France2024-06-15
Tony U Ruta1004India2024-06-15
Misaki T Dilliard1005Spain2024-05-22
Maisha G Stockham1006India2024-06-15
Octavia V Figeroa1007India2024-05-24
Sinclair R Iturbide1008Brazil2024-06-13
Octavia E Dilliard1009Canada2024-06-13
Ashley F Wieser1010Spain2024-05-22
Clifford P Nicka1011India2024-06-03
James Q Ruta1012United Kingdom2024-06-02
Jefferson A Caudy1013Germany2024-05-28
Sinclair D Tollner1014Germany2024-06-03
Julie F Stenseth1015Germany2024-05-31
Murillo R Ferencz1016France2024-06-16
Alejandro A Vocelka1017India2024-05-25
Cody M Perin1018Spain2024-05-24
Octavia J Inouye1019Canada2024-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford C FlosiCanadaXuxue Feng RENEWAL
Jeanfrancois Z AlbaresJapanElwin Sharvill UNQUALIFIED
Tony I VenereJapanIvan Magalhaes PROPOSAL
Smith M KolmetzItalyAnna Fali NEW
Alejandro U VenereFranceElwin Sharvill NEW
Stacey E FlosiArgentinaElwin Sharvill NEGOTIATION
Costa A RulapaughRussiaIvan Magalhaes UNQUALIFIED
Deepesh T StockhamAustraliaStephen Shaw NEGOTIATION
Stacey F InouyeJapanBernardo Dominic PROPOSAL
Jeanfrancois Y ChuiRussiaStephen Shaw QUALIFIED
Izzy A RulapaughFranceAmy Elsner QUALIFIED
Kaitlin R NickaCanadaXuxue Feng NEW
Leon M WaycottFranceIvan Magalhaes NEGOTIATION
Smith J BriddickCanadaAsiya Javayant NEW
Chavez V WieserSpainIoni Bowcher NEW
Clifford Z SergiCanadaXuxue Feng UNQUALIFIED
David J AmigonBrazilXuxue Feng QUALIFIED
Sinclair K MacleadBrazilAnna Fali RENEWAL
Aruna I StensethItalyOnyama Limba QUALIFIED
James V SergiBrazilIoni Bowcher NEGOTIATION
Costa T InouyeArgentinaStephen Shaw UNQUALIFIED
Silvio P GarufiCanadaStephen Shaw PROPOSAL
Julie Z RimBrazilElwin Sharvill NEW
Deepesh K GillianBrazilElwin Sharvill RENEWAL
Jennifer N GarufiAustraliaOnyama Limba NEGOTIATION
Maria L WhobreySpainXuxue Feng PROPOSAL
Ashley J BologniaFranceElwin Sharvill NEGOTIATION
Jeanfrancois D SergiArgentinaOnyama Limba NEW
Mujtaba E FigeroaIndiaOnyama Limba PROPOSAL
Deepesh J CaudyArgentinaElwin Sharvill UNQUALIFIED
Aditya G DarakjyAustraliaIvan Magalhaes QUALIFIED
Jeanfrancois G WhobreySpainBernardo Dominic UNQUALIFIED
Juan P SaylorsBrazilElwin Sharvill NEW
Antonio V GillianGermanyAmy Elsner NEW
Wickens I OldroydUnited KingdomOnyama Limba RENEWAL
Maisha Z GillianGermanyAmy Elsner NEGOTIATION
Maisha N DoeAustraliaElwin Sharvill UNQUALIFIED
Juan R NestleSpainIoni Bowcher UNQUALIFIED
Johnson T GarufiItalyIvan Magalhaes NEW
Johnson G PaprockiJapanXuxue Feng 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>