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
Silvio F AlbaresArgentinaAnna Fali RENEWAL
Ashley E SaylorsCanadaElwin Sharvill PROPOSAL
Jennifer I MaletArgentinaOnyama Limba NEW
Francesco N PoquetteAustraliaBernardo Dominic PROPOSAL
Ivar C GillianJapanAnna Fali NEW
James E GillianJapanAmy Elsner QUALIFIED
Darci B AlbaresRussiaIvan Magalhaes RENEWAL
Tony K DoeSpainAnna Fali UNQUALIFIED
Smith D SaylorsBrazilAmy Elsner QUALIFIED
Kadeem Q StockhamFranceBernardo Dominic QUALIFIED
Claire R SergiBrazilElwin Sharvill NEW
Smith Y MorascaUnited KingdomXuxue Feng NEGOTIATION
Mujtaba P FigeroaSpainOnyama Limba RENEWAL
Greenwood M KolmetzArgentinaAsiya Javayant QUALIFIED
Jennifer D RimCanadaXuxue Feng NEGOTIATION
Octavia U SergiItalyBernardo Dominic UNQUALIFIED
Jones N MarrierIndiaAmy Elsner NEW
Sinclair W CaldareraUnited KingdomXuxue Feng QUALIFIED
Murillo F WieserItalyAnna Fali UNQUALIFIED
Maisha V KuskoFranceStephen Shaw NEGOTIATION
Julie H OldroydBrazilAnna Fali RENEWAL
Antonio L RimRussiaXuxue Feng NEGOTIATION
Greenwood Y RutaUnited KingdomIvan Magalhaes NEGOTIATION
David F FlosiIndiaElwin Sharvill RENEWAL
Wickens K MaletArgentinaIoni Bowcher UNQUALIFIED
Darci A AlbaresItalyIvan Magalhaes QUALIFIED
Silvio O DilliardUnited KingdomIvan Magalhaes NEW
Smith A PaprockiFranceElwin Sharvill RENEWAL
Jennifer O MarrierIndiaBernardo Dominic UNQUALIFIED
Nicolas L PoquetteSpainIvan Magalhaes QUALIFIED
Ashley H FlosiAustraliaAnna Fali QUALIFIED
Maisha J ChuiSpainBernardo Dominic NEW
Stacey J CaldareraAustraliaIvan Magalhaes QUALIFIED
Munro L GlickSpainAnna Fali NEW
Ivar M GillianBrazilAnna Fali NEGOTIATION
Leja T FigeroaCanadaAmy Elsner NEW
Mayumi U AmigonFranceStephen Shaw UNQUALIFIED
Munro R SaylorsJapanOnyama Limba NEGOTIATION
Wickens K StensethBrazilIvan Magalhaes UNQUALIFIED
Antonio B PerinCanadaStephen Shaw UNQUALIFIED
Aruna D PerinGermanyElwin Sharvill NEW
Cody I BowleyJapanXuxue Feng QUALIFIED
Izzy A ButtJapanAsiya Javayant UNQUALIFIED
Julie U NickaUnited KingdomIoni Bowcher PROPOSAL
Aika C GillianAustraliaXuxue Feng UNQUALIFIED
Mujtaba X FollerItalyElwin Sharvill NEW
Izzy D CaldareraIndiaXuxue Feng NEGOTIATION
James T GillianIndiaIoni Bowcher NEW
Costa Y DilliardBrazilOnyama Limba NEGOTIATION
Claire R RoysterItalyIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Aruna O FerenczSpainAnna Fali RENEWAL
Kadeem A FollerIndiaStephen Shaw RENEWAL
Maria L VenereRussiaAmy Elsner QUALIFIED
Adams C RutaCanadaBernardo Dominic NEW
Juan Y FollerSpainBernardo Dominic RENEWAL
Emily Q GillianItalyOnyama Limba PROPOSAL
Smith W MaletCanadaIvan Magalhaes NEGOTIATION
Misaki I MacleadAustraliaIvan Magalhaes QUALIFIED
Johnson Z DoeIndiaStephen Shaw QUALIFIED
Mayumi T WaycottGermanyIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy X CaldareraGermany2025-05-21Chanay, Jeffrey A Esq NEW5Ivan Magalhaes
1001Maria J MacleadUnited Kingdom2025-06-14Feltz Printing Service UNQUALIFIED8Xuxue Feng
1002Alejandro I MorascaAustralia2025-05-18King, Christopher A Esq QUALIFIED18Anna Fali
1003Sinclair M OstroskyIndia2025-05-29Chemel, James L Cpa NEW44Ioni Bowcher
1004David S GarufiBrazil2025-06-11Rangoni Of Florence NEGOTIATION54Ivan Magalhaes
1005Maisha L SergiRussia2025-05-18Chemel, James L Cpa UNQUALIFIED36Xuxue Feng
1006Octavia M MorascaCanada2025-05-18Chanay, Jeffrey A Esq RENEWAL47Stephen Shaw
1007Maisha U VocelkaRussia2025-06-14Truhlar And Truhlar Attys QUALIFIED78Xuxue Feng
1008Juan F RulapaughRussia2025-06-08Feiner Bros NEGOTIATION1Xuxue Feng
1009Cody Q InouyeGermany2025-05-24Chapman, Ross E Esq UNQUALIFIED13Amy Elsner
1010Silvio A PoquetteGermany2025-05-19Chanay, Jeffrey A Esq NEGOTIATION39Onyama Limba
1011Johnson K WieserGermany2025-05-28Feltz Printing Service NEW15Bernardo Dominic
1012Alejandro M CaudyJapan2025-06-03Buckley Miller Wright QUALIFIED87Bernardo Dominic
1013Ashley P VocelkaCanada2025-05-30Printing Dimensions RENEWAL90Ivan Magalhaes
1014Mujtaba M KuskoCanada2025-06-01Rangoni Of Florence NEGOTIATION29Ioni Bowcher
1015Izzy J FlosiIndia2025-06-05Rangoni Of Florence NEGOTIATION80Elwin Sharvill
1016Maria G SaylorsUnited Kingdom2025-05-26Morlong Associates PROPOSAL97Elwin Sharvill
1017Costa F WaycottUnited Kingdom2025-05-26Feiner Bros RENEWAL9Anna Fali
1018Deepesh W KuskoAustralia2025-05-30Truhlar And Truhlar Attys RENEWAL57Onyama Limba
1019Wickens G VocelkaUnited Kingdom2025-06-14Rousseaux, Michael Esq RENEWAL41Asiya Javayant
1020Emily N OldroydSpain2025-05-26Chemel, James L Cpa UNQUALIFIED53Bernardo Dominic
1021Rodrigues V CampainCanada2025-06-13Printing Dimensions NEW24Onyama Limba
1022Silvio U SchemmerCanada2025-05-30Printing Dimensions NEGOTIATION65Amy Elsner
1023Juan E DilliardJapan2025-06-10Morlong Associates QUALIFIED12Asiya Javayant
1024Cody C RulapaughRussia2025-05-30Benton, John B Jr QUALIFIED55Onyama Limba
1025Deepesh G OstroskyJapan2025-06-13Feltz Printing Service PROPOSAL64Elwin Sharvill
1026Antonio S AlbaresArgentina2025-06-16King, Christopher A Esq NEW59Ioni Bowcher
1027Faith D WaycottArgentina2025-06-05Chanay, Jeffrey A Esq RENEWAL3Elwin Sharvill
1028Kadeem O TollnerFrance2025-06-05Benton, John B Jr PROPOSAL93Ivan Magalhaes
1029Claire D RoysterFrance2025-06-05Morlong Associates NEGOTIATION81Ivan Magalhaes
1030Smith W StensethAustralia2025-05-24Chapman, Ross E Esq QUALIFIED53Stephen Shaw
1031Silvio E FigeroaArgentina2025-06-04Printing Dimensions NEW51Stephen Shaw
1032Ricardo S TollnerJapan2025-06-07Feltz Printing Service NEGOTIATION41Stephen Shaw
1033Morrow D FigeroaRussia2025-06-03King, Christopher A Esq RENEWAL97Onyama Limba
1034Izzy U KolmetzCanada2025-06-14Benton, John B Jr PROPOSAL30Bernardo Dominic
1035Smith J WaycottIndia2025-05-31Morlong Associates RENEWAL0Asiya Javayant
1036Jennifer M RulapaughAustralia2025-05-21Commercial Press UNQUALIFIED56Amy Elsner
1037Octavia P KolmetzGermany2025-06-10Commercial Press NEGOTIATION99Bernardo Dominic
1038Jeanfrancois K InouyeBrazil2025-05-26Truhlar And Truhlar Attys RENEWAL69Xuxue Feng
1039Deepesh G WaycottRussia2025-05-20Rousseaux, Michael Esq NEW44Bernardo Dominic
1040Kaitlin F PerinIndia2025-06-13Truhlar And Truhlar Attys RENEWAL60Anna Fali
1041Ashley D CaldareraFrance2025-06-13Rousseaux, Michael Esq NEGOTIATION48Asiya Javayant
1042Julie N BriddickFrance2025-06-05Chanay, Jeffrey A Esq RENEWAL54Bernardo Dominic
1043Emily T SchemmerJapan2025-06-12Printing Dimensions UNQUALIFIED28Elwin Sharvill
1044Jennifer O ChuiUnited Kingdom2025-05-27Benton, John B Jr NEGOTIATION91Onyama Limba
1045Ashley D ShinkoRussia2025-06-05Rousseaux, Michael Esq QUALIFIED13Bernardo Dominic
1046Maisha D FigeroaGermany2025-06-02Commercial Press UNQUALIFIED48Elwin Sharvill
1047Wickens P BologniaJapan2025-06-06Printing Dimensions RENEWAL63Ioni Bowcher
1048Ashley H ChuiIndia2025-06-16King, Christopher A Esq QUALIFIED76Ioni Bowcher
1049Faith H DoeJapan2025-06-15Feiner Bros NEGOTIATION43Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Nicolas O GlickCanadaAmy Elsner NEGOTIATION
Murillo J SlusarskiCanadaXuxue Feng PROPOSAL
Silvio H CaudyAustraliaAmy Elsner PROPOSAL
Faith X MorascaArgentinaElwin Sharvill NEGOTIATION
James L CaudyRussiaStephen Shaw NEW
Jefferson I OstroskyBrazilXuxue Feng NEW
Aika L GillianSpainOnyama Limba RENEWAL
Aruna B MacleadFranceIoni Bowcher NEGOTIATION
Izzy A AlbaresIndiaBernardo Dominic PROPOSAL
Deepesh K StockhamAustraliaStephen Shaw QUALIFIED
Ashley I CaudyJapanOnyama Limba QUALIFIED
David S PoquetteFranceIoni Bowcher QUALIFIED
Juan B OstroskyUnited KingdomIvan Magalhaes UNQUALIFIED
Darci L GauchoGermanyXuxue Feng QUALIFIED
Salvatore B StockhamBrazilBernardo Dominic NEGOTIATION
Octavia M ChuiAustraliaIoni Bowcher QUALIFIED
Kaitlin X CampainGermanyStephen Shaw UNQUALIFIED
Mujtaba X RoysterSpainAsiya Javayant NEGOTIATION
Misaki G SlusarskiFranceIoni Bowcher NEW
Rodrigues O DarakjyAustraliaAsiya Javayant RENEWAL
Ashley X VenereRussiaIvan Magalhaes NEGOTIATION
Claire N RimBrazilAsiya Javayant QUALIFIED
Morrow Z BologniaSpainStephen Shaw UNQUALIFIED
Tony M ChuiAustraliaAmy Elsner QUALIFIED
Nicolas P VenereAustraliaOnyama Limba NEW
Emily B OstroskyFranceStephen Shaw NEW
James Y WhobreySpainBernardo Dominic QUALIFIED
Costa T CaudyRussiaXuxue Feng NEGOTIATION
Darci O VenereUnited KingdomElwin Sharvill RENEWAL
Mujtaba Z RoysterAustraliaAnna Fali UNQUALIFIED
Adams N FigeroaIndiaAmy Elsner RENEWAL
Ivar V StensethItalyOnyama Limba NEGOTIATION
Tony Y IturbideJapanAsiya Javayant RENEWAL
Jennifer N NestleCanadaXuxue Feng RENEWAL
Jeanfrancois J MacleadAustraliaAnna Fali QUALIFIED
Aditya Q MarrierUnited KingdomAnna Fali RENEWAL
Smith Z FigeroaSpainIoni Bowcher NEW
Julie C GillianRussiaXuxue Feng NEGOTIATION
Faith E FerenczGermanyXuxue Feng QUALIFIED
Jeanfrancois E MarrierUnited KingdomAnna Fali UNQUALIFIED
Jennifer I OstroskyBrazilBernardo Dominic NEGOTIATION
Aditya D CampainAustraliaAsiya Javayant RENEWAL
Tony S ShinkoBrazilAmy Elsner QUALIFIED
Mujtaba N MorascaItalyAnna Fali RENEWAL
Octavia D DoeJapanBernardo Dominic RENEWAL
Arvin U TollnerSpainBernardo Dominic UNQUALIFIED
Jennifer S CaudyFranceAsiya Javayant RENEWAL
Cody O BowleyCanadaAnna Fali UNQUALIFIED
Isabel M SlusarskiRussiaBernardo Dominic NEW
Misaki N KuskoFranceBernardo Dominic QUALIFIED
Frozen Columns
Name
Claire E Sergi
Rodrigues P Figeroa
Emily U Bowley
Octavia E Figeroa
Jennifer A Marrier
Arvin I Paprocki
Silvio Y Stockham
Deepesh P Morasca
Silvio P Ruta
Chavez J Chui
Cody Q Flosi
Emily V Bowley
Ashley Y Malet
Juan T Briddick
Munro X Slusarski
Alejandro S Perin
Clifford S Darakjy
Greenwood Z Butt
Munro V Flosi
Ricardo N Darakjy
Maisha B Nestle
Jennifer D Stockham
Costa K Nestle
Ashley D Caldarera
Cody R Doe
Arvin N Amigon
Alejandro H Bowley
Maria W Ferencz
Kadeem W Doe
Alejandro Y Chui
Claire Z Oldroyd
Kaitlin Q Nestle
Julie Y Wieser
Darci S Ruta
Maria M Rim
Ricardo G Malet
Smith Z Doe
Leja J Amigon
Misaki T Briddick
Nicolas I Rim
Costa X Poquette
Stacey I Caudy
Silvio S Malet
Murillo F Bowley
Emily F Royster
Deepesh V Figeroa
Darci M Waycott
Emily L Vocelka
Deepesh S Wieser
Leja U Royster
IdCountryDate
1000Australia2025-06-02
1001Argentina2025-06-09
1002Australia2025-05-29
1003Germany2025-06-06
1004Argentina2025-06-06
1005Brazil2025-05-27
1006United Kingdom2025-06-08
1007Brazil2025-05-29
1008France2025-05-31
1009Japan2025-06-02
1010United Kingdom2025-06-14
1011Germany2025-05-23
1012Italy2025-05-31
1013United Kingdom2025-06-15
1014Canada2025-06-12
1015India2025-05-20
1016Australia2025-06-04
1017Russia2025-06-05
1018France2025-06-12
1019Germany2025-06-08
1020Russia2025-06-12
1021Germany2025-06-11
1022Russia2025-05-24
1023Argentina2025-06-09
1024Russia2025-05-22
1025Japan2025-05-22
1026France2025-06-01
1027France2025-05-25
1028Japan2025-06-16
1029Australia2025-06-12
1030Japan2025-06-08
1031India2025-06-02
1032Italy2025-06-02
1033Argentina2025-05-24
1034Brazil2025-05-18
1035Australia2025-05-18
1036India2025-05-19
1037Australia2025-05-28
1038Canada2025-05-27
1039India2025-05-31
1040India2025-05-27
1041Germany2025-06-07
1042Russia2025-05-20
1043India2025-06-04
1044Brazil2025-05-19
1045Spain2025-06-15
1046Canada2025-05-31
1047Brazil2025-05-26
1048India2025-06-02
1049France2025-06-05

On-Demand Data

NameIdCountryDate
Mujtaba O Venere1000Italy2025-06-01
Costa P Kusko1001Argentina2025-06-01
Mujtaba S Darakjy1002France2025-05-20
Misaki V Stenseth1003Germany2025-05-19
Wickens P Perin1004India2025-06-16
Aditya H Bowley1005Brazil2025-06-02
Johnson Q Chui1006Italy2025-06-04
Clifford H Iturbide1007Japan2025-06-06
Johnson E Briddick1008Spain2025-06-14
Nicolas R Schemmer1009India2025-06-14
Rodrigues E Stenseth1010Spain2025-05-30
Octavia D Rulapaugh1011France2025-05-20
Julie T Maclead1012Japan2025-05-26
Murillo S Ferencz1013France2025-05-23
Maisha A Flosi1014Russia2025-06-03
Alejandro W Campain1015Brazil2025-06-02
Leon V Dilliard1016Spain2025-05-28
Ivar X Gillian1017Italy2025-05-25
Wickens O Stockham1018India2025-06-08
Ashley K Wieser1019France2025-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson V FerenczJapanIoni Bowcher NEGOTIATION
Jennifer J SlusarskiFranceXuxue Feng NEW
Antonio T ButtCanadaStephen Shaw NEGOTIATION
Jeanfrancois Q AlbaresRussiaAmy Elsner UNQUALIFIED
Cody A PerinIndiaAsiya Javayant UNQUALIFIED
Emily K PaprockiCanadaIoni Bowcher PROPOSAL
Faith L VenereItalyAnna Fali PROPOSAL
Antonio P MacleadFranceAmy Elsner PROPOSAL
Munro S SchemmerIndiaAsiya Javayant NEGOTIATION
Claire D GarufiRussiaStephen Shaw NEW
Leja I CampainArgentinaStephen Shaw NEW
Mujtaba S MarrierItalyIvan Magalhaes RENEWAL
Kadeem M BowleyArgentinaIvan Magalhaes RENEWAL
Misaki K WieserCanadaXuxue Feng NEW
Jefferson Q WaycottAustraliaIoni Bowcher PROPOSAL
Murillo Z FerenczCanadaStephen Shaw PROPOSAL
Costa P WieserBrazilIoni Bowcher NEGOTIATION
Johnson Y BologniaFranceXuxue Feng NEW
Nicolas J GauchoUnited KingdomAmy Elsner NEGOTIATION
Nicolas A IturbideCanadaBernardo Dominic QUALIFIED
Jones P DilliardFranceXuxue Feng RENEWAL
Deepesh V FigeroaRussiaIoni Bowcher NEW
Sinclair I GauchoArgentinaIoni Bowcher RENEWAL
Francesco J DarakjyFranceStephen Shaw NEGOTIATION
Francesco U FerenczIndiaAnna Fali NEW
Alejandro J BologniaItalyElwin Sharvill UNQUALIFIED
Sinclair Z PaprockiRussiaXuxue Feng QUALIFIED
Murillo C PaprockiSpainAmy Elsner NEGOTIATION
Arvin X AlbaresGermanyIvan Magalhaes UNQUALIFIED
Maria S DoeArgentinaIvan Magalhaes PROPOSAL
Cody C ShinkoGermanyAnna Fali RENEWAL
David S WaycottSpainAmy Elsner QUALIFIED
Kaitlin S ChuiArgentinaStephen Shaw PROPOSAL
Alejandro U MorascaCanadaXuxue Feng PROPOSAL
James W BowleyArgentinaOnyama Limba QUALIFIED
Jefferson U RimFranceAsiya Javayant RENEWAL
Misaki U ShinkoFranceAmy Elsner NEW
Munro O GillianIndiaIvan Magalhaes QUALIFIED
Mayumi U RulapaughUnited KingdomAmy Elsner NEW
James M FigeroaJapanAmy Elsner 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>