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
Greenwood S FigeroaUnited KingdomAsiya Javayant NEW
Kaitlin P ButtRussiaAmy Elsner NEGOTIATION
Stacey D ChuiFranceBernardo Dominic PROPOSAL
Sinclair R CampainRussiaIvan Magalhaes UNQUALIFIED
Jennifer M GillianRussiaIvan Magalhaes RENEWAL
Jeanfrancois V SaylorsCanadaStephen Shaw UNQUALIFIED
Munro R IturbideJapanAmy Elsner NEGOTIATION
David U MaletCanadaOnyama Limba UNQUALIFIED
Francesco E DarakjyItalyXuxue Feng RENEWAL
Jennifer A RutaItalyIvan Magalhaes PROPOSAL
Alejandro H SchemmerItalyElwin Sharvill NEW
Leon D KolmetzIndiaXuxue Feng QUALIFIED
Misaki F KuskoArgentinaIoni Bowcher NEGOTIATION
Isabel L SchemmerIndiaXuxue Feng QUALIFIED
Nicolas O DarakjySpainIoni Bowcher NEGOTIATION
Maisha K GlickAustraliaAnna Fali PROPOSAL
Ivar F RimIndiaElwin Sharvill PROPOSAL
Kaitlin N PoquetteAustraliaXuxue Feng NEGOTIATION
Maria H ChuiArgentinaAnna Fali PROPOSAL
Faith G SaylorsRussiaElwin Sharvill UNQUALIFIED
Mujtaba S RutaFranceIoni Bowcher QUALIFIED
Faith N MarrierItalyOnyama Limba QUALIFIED
Silvio D WhobreyBrazilElwin Sharvill QUALIFIED
Ivar Q MacleadIndiaBernardo Dominic NEW
Claire R FigeroaItalyIoni Bowcher RENEWAL
Jennifer V InouyeItalyIvan Magalhaes NEGOTIATION
Ashley P ChuiSpainAnna Fali PROPOSAL
Ashley M PerinGermanyAmy Elsner PROPOSAL
Munro H RoysterBrazilAmy Elsner RENEWAL
Jefferson D MacleadArgentinaStephen Shaw RENEWAL
Mujtaba H KolmetzJapanAmy Elsner RENEWAL
Mujtaba I DoeUnited KingdomStephen Shaw QUALIFIED
Munro E BologniaGermanyAmy Elsner NEW
Izzy F GillianGermanyStephen Shaw PROPOSAL
Izzy N GillianItalyElwin Sharvill NEW
Ricardo O ButtUnited KingdomIvan Magalhaes QUALIFIED
Johnson V OstroskyIndiaStephen Shaw UNQUALIFIED
Jones T MaletUnited KingdomAsiya Javayant PROPOSAL
Salvatore A KolmetzUnited KingdomAmy Elsner UNQUALIFIED
Maria Q IturbideSpainStephen Shaw QUALIFIED
Antonio J CaldareraCanadaAsiya Javayant RENEWAL
Kadeem L FigeroaUnited KingdomXuxue Feng PROPOSAL
Ivar I OstroskyItalyAnna Fali UNQUALIFIED
Aditya B NickaBrazilAsiya Javayant UNQUALIFIED
Isabel W StensethRussiaOnyama Limba NEW
Claire S GillianJapanElwin Sharvill PROPOSAL
Sinclair C SergiIndiaAnna Fali QUALIFIED
Izzy F BriddickJapanAnna Fali RENEWAL
Tony S TollnerBrazilBernardo Dominic RENEWAL
Jennifer Q FollerArgentinaAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Adams X CampainRussiaOnyama Limba UNQUALIFIED
Johnson C GlickFranceBernardo Dominic QUALIFIED
Juan G RimIndiaAsiya Javayant NEW
Kadeem O SchemmerBrazilXuxue Feng QUALIFIED
Tony I BowleyCanadaBernardo Dominic UNQUALIFIED
Jennifer F StockhamAustraliaAnna Fali UNQUALIFIED
Maria H RimCanadaAnna Fali QUALIFIED
Juan G VenereRussiaElwin Sharvill UNQUALIFIED
Izzy L FigeroaJapanStephen Shaw RENEWAL
Kaitlin X MarrierJapanBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa N PaprockiFrance2024-06-20Chanay, Jeffrey A Esq PROPOSAL2Asiya Javayant
1001Julie X MaletUnited Kingdom2024-06-02Printing Dimensions PROPOSAL65Elwin Sharvill
1002Nicolas O WaycottItaly2024-06-18Dorl, James J Esq PROPOSAL24Ioni Bowcher
1003James H PerinArgentina2024-06-20Chapman, Ross E Esq PROPOSAL95Anna Fali
1004Morrow R ButtRussia2024-06-06Chemel, James L Cpa UNQUALIFIED29Anna Fali
1005Jennifer N BowleyUnited Kingdom2024-05-29Buckley Miller Wright NEW30Elwin Sharvill
1006Jefferson M FigeroaUnited Kingdom2024-06-15Rousseaux, Michael Esq NEW29Bernardo Dominic
1007Mujtaba W AlbaresFrance2024-06-06Rousseaux, Michael Esq UNQUALIFIED3Onyama Limba
1008Kaitlin O SchemmerItaly2024-06-02Buckley Miller Wright NEW87Stephen Shaw
1009Greenwood R RoysterItaly2024-05-29Dorl, James J Esq NEGOTIATION99Bernardo Dominic
1010Clifford E IturbideRussia2024-06-09Truhlar And Truhlar Attys NEW96Onyama Limba
1011Leja U ButtJapan2024-06-13Chemel, James L Cpa RENEWAL8Amy Elsner
1012Deepesh C IturbideSpain2024-06-22Chemel, James L Cpa NEGOTIATION69Anna Fali
1013Mujtaba I GarufiArgentina2024-06-14Feltz Printing Service UNQUALIFIED14Amy Elsner
1014Ricardo R BowleyFrance2024-05-27Dorl, James J Esq NEGOTIATION46Ivan Magalhaes
1015Johnson K RutaFrance2024-05-30Rousseaux, Michael Esq RENEWAL81Ivan Magalhaes
1016Costa U SlusarskiUnited Kingdom2024-06-11Chanay, Jeffrey A Esq PROPOSAL55Ioni Bowcher
1017Jennifer C GlickAustralia2024-06-08Chapman, Ross E Esq UNQUALIFIED72Elwin Sharvill
1018Jones M SergiUnited Kingdom2024-06-16Morlong Associates PROPOSAL90Bernardo Dominic
1019Jennifer F CaldareraRussia2024-05-30Commercial Press RENEWAL88Bernardo Dominic
1020Claire R SaylorsIndia2024-06-02Rousseaux, Michael Esq NEW64Xuxue Feng
1021Jennifer B NestleFrance2024-05-28Printing Dimensions NEW27Asiya Javayant
1022Murillo M ButtSpain2024-06-12Printing Dimensions PROPOSAL37Onyama Limba
1023Darci T BowleyIndia2024-06-03Feltz Printing Service QUALIFIED24Stephen Shaw
1024Jeanfrancois R ShinkoRussia2024-06-19Commercial Press RENEWAL36Stephen Shaw
1025Johnson B InouyeUnited Kingdom2024-06-16Truhlar And Truhlar Attys NEW4Amy Elsner
1026Francesco Y StockhamSpain2024-06-04Commercial Press PROPOSAL29Ioni Bowcher
1027Octavia T FigeroaUnited Kingdom2024-06-20Rousseaux, Michael Esq QUALIFIED73Bernardo Dominic
1028Maisha D MaletAustralia2024-06-12Chanay, Jeffrey A Esq QUALIFIED4Ioni Bowcher
1029Morrow S BriddickCanada2024-06-24Feiner Bros QUALIFIED18Ivan Magalhaes
1030Francesco S PoquetteFrance2024-06-03Rousseaux, Michael Esq PROPOSAL32Ivan Magalhaes
1031Silvio Y AmigonGermany2024-06-06King, Christopher A Esq RENEWAL30Ioni Bowcher
1032Silvio L MaletUnited Kingdom2024-06-23Rousseaux, Michael Esq RENEWAL47Ivan Magalhaes
1033Aditya N PerinSpain2024-05-31Rangoni Of Florence NEGOTIATION44Anna Fali
1034Nicolas R RimUnited Kingdom2024-06-14Feltz Printing Service QUALIFIED46Onyama Limba
1035Adams E GauchoJapan2024-06-13Dorl, James J Esq PROPOSAL77Elwin Sharvill
1036Costa E GauchoFrance2024-05-27Truhlar And Truhlar Attys NEGOTIATION91Anna Fali
1037Smith X SergiAustralia2024-06-16Chemel, James L Cpa RENEWAL44Xuxue Feng
1038Costa E SchemmerCanada2024-06-05Rousseaux, Michael Esq QUALIFIED73Xuxue Feng
1039Mujtaba O BowleyBrazil2024-06-23Commercial Press UNQUALIFIED6Stephen Shaw
1040Maisha F WieserFrance2024-05-31Chapman, Ross E Esq PROPOSAL81Ivan Magalhaes
1041Mujtaba C CampainItaly2024-06-11Chapman, Ross E Esq NEW57Anna Fali
1042Mayumi R CaudyBrazil2024-06-23Truhlar And Truhlar Attys UNQUALIFIED78Ioni Bowcher
1043Morrow W RoysterSpain2024-05-29King, Christopher A Esq NEW51Onyama Limba
1044Mayumi P ShinkoIndia2024-06-03King, Christopher A Esq RENEWAL85Bernardo Dominic
1045Wickens S VocelkaUnited Kingdom2024-06-04Commercial Press NEGOTIATION56Bernardo Dominic
1046Aika G ButtIndia2024-06-13Chapman, Ross E Esq QUALIFIED64Bernardo Dominic
1047Darci O PoquetteSpain2024-05-29Rousseaux, Michael Esq PROPOSAL48Anna Fali
1048Greenwood P GillianUnited Kingdom2024-06-17Benton, John B Jr QUALIFIED82Elwin Sharvill
1049David G NickaItaly2024-06-21Chanay, Jeffrey A Esq PROPOSAL6Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Nicolas R IturbideRussiaElwin Sharvill PROPOSAL
Deepesh N BowleyItalyAsiya Javayant UNQUALIFIED
Cody R FlosiJapanIoni Bowcher PROPOSAL
Aruna T MaletCanadaBernardo Dominic QUALIFIED
Morrow O ButtItalyIvan Magalhaes RENEWAL
Maisha V BologniaGermanyAnna Fali NEW
Nicolas U DarakjyItalyOnyama Limba UNQUALIFIED
Faith K RutaGermanyElwin Sharvill RENEWAL
Ivar F WieserItalyElwin Sharvill NEGOTIATION
Stacey K SaylorsIndiaStephen Shaw UNQUALIFIED
Stacey O GillianAustraliaXuxue Feng QUALIFIED
Murillo V MorascaArgentinaIvan Magalhaes PROPOSAL
Mujtaba J NestleCanadaOnyama Limba NEGOTIATION
Octavia O FlosiArgentinaAnna Fali NEW
Stacey O PoquetteIndiaXuxue Feng QUALIFIED
Jeanfrancois D ShinkoItalyIvan Magalhaes RENEWAL
Maisha R SaylorsFranceIoni Bowcher NEGOTIATION
Morrow G SaylorsFranceStephen Shaw QUALIFIED
Maisha O NestleCanadaElwin Sharvill PROPOSAL
Misaki R VocelkaRussiaAsiya Javayant UNQUALIFIED
Alejandro X FlosiUnited KingdomIvan Magalhaes UNQUALIFIED
Costa D MarrierJapanAsiya Javayant QUALIFIED
Juan M FollerArgentinaElwin Sharvill NEW
Mayumi Q RulapaughItalyStephen Shaw RENEWAL
Maisha M RoysterArgentinaBernardo Dominic PROPOSAL
Morrow T RulapaughCanadaOnyama Limba NEGOTIATION
Emily Y WhobreyArgentinaAsiya Javayant PROPOSAL
Greenwood S SlusarskiCanadaAnna Fali QUALIFIED
Chavez O InouyeSpainIvan Magalhaes QUALIFIED
Ivar V StockhamUnited KingdomOnyama Limba QUALIFIED
David I PerinGermanyAnna Fali NEW
Salvatore I PerinAustraliaStephen Shaw PROPOSAL
Emily G DarakjyItalyBernardo Dominic QUALIFIED
Claire A OldroydIndiaAnna Fali NEW
Jennifer S MarrierRussiaOnyama Limba RENEWAL
Claire N VenereItalyAnna Fali NEW
Clifford M InouyeJapanElwin Sharvill NEW
Faith W BologniaAustraliaStephen Shaw NEW
Misaki Y IturbideCanadaXuxue Feng QUALIFIED
Aika C CampainItalyAsiya Javayant NEGOTIATION
Johnson D RimCanadaXuxue Feng QUALIFIED
Ashley B RulapaughBrazilStephen Shaw RENEWAL
Leja A SergiCanadaIvan Magalhaes RENEWAL
Leon Z WhobreyCanadaXuxue Feng UNQUALIFIED
Leon E InouyeIndiaIoni Bowcher RENEWAL
Chavez W FigeroaCanadaIoni Bowcher QUALIFIED
Salvatore D RulapaughAustraliaAmy Elsner NEGOTIATION
Silvio X CampainCanadaBernardo Dominic QUALIFIED
Clifford X TollnerIndiaIvan Magalhaes QUALIFIED
Tony O CaldareraCanadaIoni Bowcher QUALIFIED
Frozen Columns
Name
Emily C Slusarski
Jennifer L Royster
Costa Y Campain
Aditya A Malet
Clifford Q Gillian
Izzy T Rulapaugh
James S Morasca
Kadeem D Venere
Maisha Z Maclead
Mayumi L Whobrey
Clifford N Stenseth
Johnson E Garufi
Deepesh M Slusarski
Silvio M Whobrey
Octavia G Inouye
Clifford H Nicka
Jeanfrancois M Perin
Alejandro R Royster
Greenwood F Paprocki
Greenwood D Whobrey
Arvin N Saylors
Mayumi W Campain
Misaki D Marrier
Misaki W Butt
James D Wieser
Jeanfrancois C Bowley
Ivar Q Foller
Francesco U Gaucho
Clifford M Oldroyd
Rodrigues F Wieser
Misaki O Kolmetz
Kaitlin Y Gaucho
Jefferson H Sergi
Nicolas J Kolmetz
Salvatore U Morasca
Silvio A Caudy
Ricardo J Butt
Antonio I Oldroyd
Claire G Oldroyd
Emily F Amigon
Tony Q Albares
Ashley G Bolognia
Juan Q Sergi
Kaitlin W Ostrosky
Cody P Vocelka
Greenwood Z Gillian
Sinclair Y Nestle
Cody G Campain
Silvio S Tollner
Greenwood M Caudy
IdCountryDate
1000Brazil2024-05-31
1001Japan2024-06-01
1002Russia2024-06-21
1003Russia2024-06-17
1004Japan2024-05-30
1005Russia2024-06-05
1006Germany2024-06-09
1007France2024-06-14
1008Spain2024-06-07
1009Germany2024-06-17
1010India2024-06-01
1011Spain2024-05-31
1012France2024-06-23
1013Germany2024-06-15
1014United Kingdom2024-05-27
1015Canada2024-06-01
1016Germany2024-06-04
1017France2024-06-20
1018Italy2024-06-06
1019Germany2024-06-03
1020Brazil2024-06-05
1021Argentina2024-06-04
1022India2024-05-27
1023Brazil2024-06-15
1024Italy2024-06-17
1025Russia2024-05-30
1026Canada2024-06-13
1027Argentina2024-06-07
1028Australia2024-06-14
1029Canada2024-06-05
1030Russia2024-06-11
1031Australia2024-05-29
1032Argentina2024-06-16
1033Russia2024-06-05
1034Italy2024-06-21
1035India2024-06-03
1036Russia2024-06-01
1037Canada2024-06-14
1038Italy2024-06-20
1039Australia2024-06-16
1040India2024-06-22
1041Argentina2024-06-07
1042Spain2024-06-10
1043Japan2024-06-11
1044Spain2024-06-07
1045Australia2024-06-22
1046Italy2024-06-07
1047Germany2024-06-06
1048Canada2024-06-23
1049Brazil2024-06-18

On-Demand Data

NameIdCountryDate
Juan V Tollner1000Russia2024-06-05
Isabel N Darakjy1001India2024-06-20
James O Saylors1002Japan2024-06-17
Kadeem Q Maclead1003Japan2024-06-02
Adams R Butt1004Italy2024-06-01
Murillo V Glick1005Canada2024-05-26
Jefferson D Maclead1006France2024-05-26
Maria U Saylors1007Spain2024-06-19
Claire T Morasca1008Russia2024-06-03
Kadeem U Whobrey1009Australia2024-06-22
Jeanfrancois V Bowley1010Spain2024-06-02
Kadeem U Stenseth1011Germany2024-06-01
Morrow R Ruta1012Australia2024-06-15
Kadeem O Waycott1013Canada2024-06-10
David Q Iturbide1014Russia2024-06-14
Misaki X Kusko1015Argentina2024-06-17
Johnson Y Flosi1016Italy2024-06-14
Deepesh I Saylors1017India2024-05-27
Aditya G Paprocki1018Australia2024-06-12
Ricardo Q Stockham1019Brazil2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin Y SlusarskiJapanIoni Bowcher RENEWAL
Darci N KuskoIndiaBernardo Dominic QUALIFIED
Ricardo Y MorascaUnited KingdomElwin Sharvill UNQUALIFIED
Faith I KolmetzArgentinaIoni Bowcher NEGOTIATION
Kaitlin D MorascaGermanyIoni Bowcher NEGOTIATION
Ashley P CaudyJapanAmy Elsner QUALIFIED
Octavia A MaletIndiaIoni Bowcher PROPOSAL
Alejandro A DoeArgentinaElwin Sharvill NEGOTIATION
Tony G NestleItalyOnyama Limba NEGOTIATION
Sinclair F AmigonUnited KingdomStephen Shaw QUALIFIED
Aditya I KolmetzBrazilAsiya Javayant NEGOTIATION
Antonio K ChuiCanadaElwin Sharvill QUALIFIED
Rodrigues K KolmetzGermanyElwin Sharvill QUALIFIED
Wickens O RimIndiaIvan Magalhaes PROPOSAL
Johnson O RimRussiaAmy Elsner QUALIFIED
Adams K RimJapanAmy Elsner UNQUALIFIED
Aruna S OldroydArgentinaIoni Bowcher QUALIFIED
Smith S VenereIndiaStephen Shaw UNQUALIFIED
Misaki A GlickCanadaIvan Magalhaes UNQUALIFIED
Octavia G AmigonIndiaIoni Bowcher RENEWAL
Mayumi R WieserSpainOnyama Limba QUALIFIED
Stacey G OldroydItalyElwin Sharvill NEW
Wickens D FigeroaIndiaAsiya Javayant NEW
Francesco C WaycottBrazilIvan Magalhaes NEGOTIATION
Sinclair M DoeBrazilIvan Magalhaes RENEWAL
Leon O RimCanadaBernardo Dominic QUALIFIED
Smith K NestleItalyElwin Sharvill QUALIFIED
Leon C OldroydUnited KingdomAsiya Javayant UNQUALIFIED
Wickens D CampainJapanOnyama Limba RENEWAL
David D VocelkaUnited KingdomAmy Elsner NEGOTIATION
Octavia T MaletBrazilAmy Elsner NEGOTIATION
Murillo L InouyeJapanIvan Magalhaes UNQUALIFIED
Francesco S MaletIndiaElwin Sharvill NEW
Jones Y StockhamItalyAsiya Javayant PROPOSAL
Greenwood B MacleadBrazilAmy Elsner PROPOSAL
Maisha F FerenczArgentinaStephen Shaw RENEWAL
Aditya G NickaIndiaBernardo Dominic NEGOTIATION
Octavia N WhobreyCanadaOnyama Limba QUALIFIED
Arvin D NickaArgentinaOnyama Limba RENEWAL
Leon O FlosiCanadaOnyama Limba PROPOSAL

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