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
Mujtaba P NickaJapanBernardo Dominic QUALIFIED
Morrow N ChuiSpainIvan Magalhaes RENEWAL
Jennifer N StockhamArgentinaAnna Fali PROPOSAL
Murillo A PerinUnited KingdomAnna Fali PROPOSAL
Murillo V ButtFranceBernardo Dominic RENEWAL
Maisha E SaylorsAustraliaStephen Shaw PROPOSAL
Jefferson F BowleyUnited KingdomAnna Fali PROPOSAL
Salvatore E WhobreyUnited KingdomOnyama Limba PROPOSAL
Leja I RimJapanBernardo Dominic QUALIFIED
Francesco Z InouyeRussiaBernardo Dominic UNQUALIFIED
Silvio W SchemmerJapanElwin Sharvill NEGOTIATION
Ivar F MaletUnited KingdomIoni Bowcher RENEWAL
Morrow O FlosiIndiaElwin Sharvill RENEWAL
Emily Q TollnerUnited KingdomXuxue Feng RENEWAL
Maria L NestleSpainIvan Magalhaes UNQUALIFIED
Stacey Y VenereUnited KingdomBernardo Dominic PROPOSAL
Clifford V RimIndiaXuxue Feng RENEWAL
Ashley W GlickUnited KingdomBernardo Dominic NEW
Izzy D KolmetzFranceAmy Elsner QUALIFIED
Isabel E VenereUnited KingdomElwin Sharvill PROPOSAL
Mujtaba C FigeroaJapanBernardo Dominic RENEWAL
Francesco I NestleIndiaIoni Bowcher PROPOSAL
Ivar N FigeroaItalyIvan Magalhaes QUALIFIED
Maisha F BologniaJapanXuxue Feng RENEWAL
Ivar A WaycottGermanyAsiya Javayant NEW
Ashley J MacleadAustraliaStephen Shaw QUALIFIED
Johnson B ChuiFranceAnna Fali RENEWAL
Cody A GauchoSpainBernardo Dominic NEGOTIATION
Antonio O VocelkaJapanXuxue Feng PROPOSAL
Silvio H SaylorsArgentinaIoni Bowcher QUALIFIED
Murillo I SergiAustraliaElwin Sharvill QUALIFIED
Misaki X MarrierSpainXuxue Feng NEGOTIATION
Deepesh Y GarufiGermanyAmy Elsner QUALIFIED
Mayumi M GlickRussiaAnna Fali PROPOSAL
Juan S AmigonItalyBernardo Dominic NEGOTIATION
Silvio O GlickUnited KingdomIvan Magalhaes UNQUALIFIED
Francesco S RutaFranceIoni Bowcher RENEWAL
Kaitlin E SergiGermanyIoni Bowcher NEGOTIATION
Antonio U PerinGermanyIoni Bowcher UNQUALIFIED
Salvatore M DoeCanadaIvan Magalhaes UNQUALIFIED
Faith D SlusarskiSpainAsiya Javayant NEGOTIATION
Deepesh J KuskoAustraliaOnyama Limba PROPOSAL
David C RimGermanyIoni Bowcher PROPOSAL
Jones U SergiFranceElwin Sharvill QUALIFIED
Mujtaba R StockhamBrazilXuxue Feng NEGOTIATION
Juan Q BriddickGermanyStephen Shaw QUALIFIED
James X RulapaughRussiaAnna Fali PROPOSAL
Clifford V CampainCanadaAmy Elsner QUALIFIED
Maria X StensethGermanyAmy Elsner PROPOSAL
Julie M FollerArgentinaOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Sinclair Z RulapaughGermanyAsiya Javayant NEGOTIATION
Rodrigues V AlbaresBrazilBernardo Dominic NEW
Antonio F VenereCanadaAmy Elsner PROPOSAL
Antonio M OstroskyBrazilAsiya Javayant QUALIFIED
Maria J MarrierCanadaStephen Shaw UNQUALIFIED
Deepesh E AmigonGermanyXuxue Feng NEW
Misaki U GarufiUnited KingdomIoni Bowcher PROPOSAL
Juan H WieserAustraliaAnna Fali QUALIFIED
Faith Y ShinkoAustraliaXuxue Feng QUALIFIED
Ashley Q RulapaughSpainStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba F FerenczAustralia2024-05-09Truhlar And Truhlar Attys RENEWAL98Onyama Limba
1001Izzy N DilliardUnited Kingdom2024-05-27Chanay, Jeffrey A Esq NEGOTIATION72Amy Elsner
1002Darci B MaletIndia2024-05-21Buckley Miller Wright QUALIFIED71Ioni Bowcher
1003Maria M OstroskySpain2024-05-20Truhlar And Truhlar Attys NEGOTIATION50Onyama Limba
1004Morrow W TollnerAustralia2024-05-15King, Christopher A Esq NEGOTIATION75Xuxue Feng
1005Emily A InouyeCanada2024-05-22Chapman, Ross E Esq UNQUALIFIED72Ivan Magalhaes
1006Jefferson X WieserGermany2024-05-12King, Christopher A Esq PROPOSAL39Ivan Magalhaes
1007Jeanfrancois J SaylorsSpain2024-05-13Truhlar And Truhlar Attys UNQUALIFIED21Xuxue Feng
1008Arvin V CaldareraAustralia2024-05-08Benton, John B Jr PROPOSAL2Ioni Bowcher
1009Johnson A GlickArgentina2024-05-11Truhlar And Truhlar Attys NEW94Asiya Javayant
1010Costa N VocelkaSpain2024-05-14Benton, John B Jr UNQUALIFIED2Stephen Shaw
1011Tony U VocelkaUnited Kingdom2024-05-16Rousseaux, Michael Esq UNQUALIFIED40Xuxue Feng
1012Greenwood N RoysterFrance2024-05-16Feiner Bros UNQUALIFIED57Xuxue Feng
1013Leon V DoeArgentina2024-05-15Morlong Associates QUALIFIED97Anna Fali
1014Munro G FigeroaFrance2024-05-09Truhlar And Truhlar Attys RENEWAL10Anna Fali
1015Emily P StensethAustralia2024-05-06King, Christopher A Esq NEGOTIATION71Onyama Limba
1016Misaki T MorascaFrance2024-05-23Feiner Bros UNQUALIFIED39Stephen Shaw
1017Tony W CaudyAustralia2024-05-08Feiner Bros PROPOSAL48Bernardo Dominic
1018Leja W WaycottArgentina2024-05-25Benton, John B Jr UNQUALIFIED62Ivan Magalhaes
1019Sinclair D RoysterRussia2024-05-27Printing Dimensions PROPOSAL63Onyama Limba
1020Juan T GauchoArgentina2024-05-15Feltz Printing Service QUALIFIED71Asiya Javayant
1021Isabel Y AlbaresRussia2024-05-04Chapman, Ross E Esq NEW96Asiya Javayant
1022Antonio X KolmetzJapan2024-04-30Dorl, James J Esq NEGOTIATION66Bernardo Dominic
1023David Z SlusarskiCanada2024-05-13Rousseaux, Michael Esq UNQUALIFIED31Ivan Magalhaes
1024James N TollnerSpain2024-05-27Chapman, Ross E Esq NEGOTIATION34Ivan Magalhaes
1025Aruna V VocelkaUnited Kingdom2024-05-01Morlong Associates QUALIFIED8Onyama Limba
1026Smith R PoquetteIndia2024-05-14Rangoni Of Florence RENEWAL13Xuxue Feng
1027Wickens K MaletJapan2024-05-25Morlong Associates PROPOSAL61Amy Elsner
1028Faith U WieserIndia2024-05-13Printing Dimensions UNQUALIFIED2Asiya Javayant
1029Faith Z TollnerFrance2024-05-29Chapman, Ross E Esq PROPOSAL61Anna Fali
1030Jefferson B ButtJapan2024-05-12Benton, John B Jr NEGOTIATION54Ivan Magalhaes
1031Leon D SergiCanada2024-05-06Commercial Press QUALIFIED40Onyama Limba
1032Wickens G MorascaGermany2024-05-01Truhlar And Truhlar Attys PROPOSAL5Asiya Javayant
1033Johnson S CaudyJapan2024-05-27King, Christopher A Esq NEW13Ioni Bowcher
1034Mayumi V DoeArgentina2024-04-30Benton, John B Jr RENEWAL38Bernardo Dominic
1035Munro R FerenczCanada2024-05-06Chanay, Jeffrey A Esq NEGOTIATION99Stephen Shaw
1036Stacey Z RutaJapan2024-05-05Chanay, Jeffrey A Esq NEW7Stephen Shaw
1037Jefferson P DarakjyGermany2024-05-20Chapman, Ross E Esq NEGOTIATION74Ioni Bowcher
1038Ivar K GarufiJapan2024-05-07King, Christopher A Esq NEGOTIATION59Onyama Limba
1039Murillo T GauchoFrance2024-05-27Chapman, Ross E Esq QUALIFIED41Onyama Limba
1040Jones C ChuiCanada2024-05-15Rousseaux, Michael Esq RENEWAL57Elwin Sharvill
1041Julie G ChuiIndia2024-05-25Truhlar And Truhlar Attys PROPOSAL40Asiya Javayant
1042Leja V FlosiSpain2024-05-21Printing Dimensions NEGOTIATION57Amy Elsner
1043Maria C BowleyAustralia2024-05-08Chemel, James L Cpa NEGOTIATION60Onyama Limba
1044Maria H CampainArgentina2024-04-30Chanay, Jeffrey A Esq RENEWAL28Stephen Shaw
1045Silvio H GillianCanada2024-05-02Benton, John B Jr RENEWAL66Bernardo Dominic
1046Maria H OldroydGermany2024-05-28Chanay, Jeffrey A Esq NEW19Ioni Bowcher
1047Adams N WieserItaly2024-05-13Rousseaux, Michael Esq RENEWAL15Xuxue Feng
1048Rodrigues T DilliardAustralia2024-05-24King, Christopher A Esq QUALIFIED57Asiya Javayant
1049Jeanfrancois O MacleadIndia2024-05-13Chapman, Ross E Esq RENEWAL47Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Leon Q StockhamAustraliaIoni Bowcher RENEWAL
Morrow Y SchemmerBrazilAsiya Javayant UNQUALIFIED
Jefferson U SaylorsRussiaIvan Magalhaes UNQUALIFIED
Rodrigues C BowleyIndiaElwin Sharvill UNQUALIFIED
Jefferson X RoysterRussiaAnna Fali NEGOTIATION
Aditya K GarufiBrazilIvan Magalhaes QUALIFIED
Leja N GauchoBrazilBernardo Dominic NEW
Jennifer G VenereRussiaXuxue Feng NEGOTIATION
Faith Y WaycottUnited KingdomAsiya Javayant PROPOSAL
Sinclair K NickaArgentinaOnyama Limba NEW
Johnson N SlusarskiJapanStephen Shaw QUALIFIED
Jones C VocelkaJapanBernardo Dominic NEW
Stacey E OldroydAustraliaAnna Fali UNQUALIFIED
Francesco Y RulapaughCanadaIvan Magalhaes QUALIFIED
Ricardo L SlusarskiCanadaElwin Sharvill PROPOSAL
Claire L SchemmerFranceAsiya Javayant NEGOTIATION
Mayumi I ButtItalyAnna Fali PROPOSAL
Faith H VocelkaUnited KingdomOnyama Limba NEGOTIATION
David F TollnerSpainStephen Shaw NEGOTIATION
Rodrigues K GarufiAustraliaBernardo Dominic RENEWAL
Arvin C RoysterGermanyAnna Fali NEGOTIATION
Jennifer U IturbideSpainElwin Sharvill PROPOSAL
Isabel R MacleadBrazilStephen Shaw UNQUALIFIED
Cody L VenereUnited KingdomIoni Bowcher NEW
Wickens C MaletAustraliaIoni Bowcher PROPOSAL
Ricardo K FigeroaCanadaElwin Sharvill PROPOSAL
Adams N ChuiRussiaOnyama Limba QUALIFIED
Aika M FlosiArgentinaOnyama Limba PROPOSAL
Jones M PoquetteCanadaStephen Shaw NEW
Murillo L PoquetteAustraliaAsiya Javayant PROPOSAL
Kaitlin F AmigonUnited KingdomBernardo Dominic RENEWAL
Johnson R WhobreyItalyBernardo Dominic PROPOSAL
Mayumi U BriddickArgentinaElwin Sharvill NEGOTIATION
Mayumi G FigeroaSpainOnyama Limba NEGOTIATION
Ivar E MaletArgentinaAmy Elsner NEW
Clifford V VenereFranceAmy Elsner UNQUALIFIED
Greenwood B SergiBrazilBernardo Dominic RENEWAL
Alejandro X WaycottUnited KingdomStephen Shaw NEGOTIATION
Jefferson T CaudyArgentinaAnna Fali NEGOTIATION
Adams Q OldroydUnited KingdomOnyama Limba PROPOSAL
Smith D ButtAustraliaElwin Sharvill NEW
Julie F InouyeSpainElwin Sharvill NEGOTIATION
Chavez T DilliardArgentinaIoni Bowcher NEGOTIATION
Rodrigues S VenereArgentinaIoni Bowcher UNQUALIFIED
Faith N TollnerJapanIoni Bowcher NEGOTIATION
Kadeem X MaletArgentinaElwin Sharvill NEW
Aruna C MorascaItalyAsiya Javayant RENEWAL
Cody S WaycottRussiaBernardo Dominic NEW
Julie T PerinUnited KingdomAsiya Javayant NEW
Aruna E PaprockiAustraliaOnyama Limba UNQUALIFIED
Frozen Columns
Name
Misaki J Albares
Wickens A Gillian
Adams R Bowley
Silvio M Inouye
Maisha N Stockham
Ivar G Gaucho
Jefferson N Gillian
Francesco L Maclead
Ashley Z Oldroyd
Faith B Perin
Mujtaba H Gillian
Kaitlin N Sergi
Misaki P Ruta
Leja K Schemmer
Jefferson C Glick
Jennifer F Campain
Clifford Z Royster
Emily I Darakjy
Darci B Vocelka
Antonio E Slusarski
Nicolas Z Kolmetz
Octavia B Glick
Jeanfrancois U Schemmer
Kadeem I Schemmer
Ivar Z Rim
Sinclair M Paprocki
Sinclair B Ostrosky
Morrow F Vocelka
Isabel X Albares
Aika F Stockham
Tony Q Royster
Claire V Malet
Claire M Morasca
Silvio I Flosi
Arvin F Ferencz
Leja C Dilliard
Nicolas U Butt
Johnson T Venere
Stacey A Sergi
Kaitlin U Saylors
Francesco E Malet
Ivar E Kolmetz
Johnson A Stenseth
Rodrigues F Amigon
Maisha U Shinko
Wickens P Morasca
Maria G Schemmer
Adams N Slusarski
Octavia V Albares
Nicolas B Iturbide
IdCountryDate
1000Japan2024-05-03
1001France2024-05-06
1002Argentina2024-05-22
1003Russia2024-05-05
1004Australia2024-05-01
1005Russia2024-05-02
1006Germany2024-05-08
1007India2024-05-11
1008Russia2024-05-03
1009United Kingdom2024-05-09
1010Russia2024-05-11
1011United Kingdom2024-05-11
1012Japan2024-05-11
1013Germany2024-05-23
1014Brazil2024-05-19
1015Australia2024-05-22
1016Japan2024-05-22
1017Canada2024-05-29
1018United Kingdom2024-05-05
1019Germany2024-05-27
1020Spain2024-05-23
1021Spain2024-05-01
1022Germany2024-05-26
1023India2024-05-16
1024Argentina2024-05-09
1025Spain2024-05-12
1026Japan2024-04-30
1027Germany2024-05-18
1028Australia2024-05-03
1029Argentina2024-05-19
1030Russia2024-05-03
1031Spain2024-05-11
1032Canada2024-05-16
1033Japan2024-05-16
1034Spain2024-05-27
1035Canada2024-05-04
1036Canada2024-05-26
1037India2024-05-23
1038Australia2024-05-19
1039Australia2024-05-01
1040Brazil2024-05-19
1041Germany2024-05-19
1042Spain2024-05-10
1043Australia2024-05-25
1044France2024-05-29
1045Canada2024-05-08
1046France2024-05-11
1047Brazil2024-05-03
1048Australia2024-05-21
1049Russia2024-05-04

On-Demand Data

NameIdCountryDate
Mayumi F Wieser1000Spain2024-05-14
Isabel P Shinko1001Brazil2024-05-21
Munro A Nestle1002Spain2024-05-29
Aruna X Rulapaugh1003Italy2024-05-16
Tony G Amigon1004Italy2024-05-08
Wickens V Shinko1005Spain2024-05-28
Francesco Y Gillian1006Canada2024-05-08
Cody Z Campain1007France2024-05-24
Octavia Z Figeroa1008Italy2024-05-11
Sinclair W Amigon1009India2024-05-16
Jeanfrancois C Morasca1010Russia2024-05-12
Cody Q Caldarera1011Russia2024-05-21
Leja Z Garufi1012Argentina2024-05-20
Salvatore N Darakjy1013Germany2024-05-29
Emily C Garufi1014Italy2024-05-25
Claire P Inouye1015Spain2024-04-30
Alejandro S Bolognia1016United Kingdom2024-05-08
Jones D Albares1017Spain2024-05-14
Clifford N Maclead1018Spain2024-05-26
Maria L Rulapaugh1019France2024-05-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro L WaycottGermanyXuxue Feng PROPOSAL
Mayumi U RulapaughUnited KingdomAsiya Javayant NEGOTIATION
Darci M WhobreyJapanStephen Shaw PROPOSAL
Jefferson A AmigonCanadaOnyama Limba QUALIFIED
Munro A KuskoItalyXuxue Feng QUALIFIED
James S KuskoRussiaAnna Fali PROPOSAL
Emily K DilliardIndiaElwin Sharvill NEW
Juan C BologniaIndiaIoni Bowcher NEGOTIATION
Johnson J CampainGermanyIoni Bowcher QUALIFIED
Munro V RimArgentinaIoni Bowcher NEW
Silvio M DilliardCanadaStephen Shaw NEW
Kaitlin H AlbaresFranceElwin Sharvill UNQUALIFIED
Claire D FlosiSpainBernardo Dominic UNQUALIFIED
Darci L BowleySpainAmy Elsner NEW
Ricardo A GillianUnited KingdomStephen Shaw UNQUALIFIED
Julie G AlbaresSpainAnna Fali UNQUALIFIED
Sinclair R AmigonItalyOnyama Limba QUALIFIED
Maria M PerinBrazilStephen Shaw RENEWAL
Alejandro T DilliardUnited KingdomAmy Elsner PROPOSAL
Morrow D MarrierFranceAmy Elsner NEW
Jefferson W OstroskyJapanElwin Sharvill NEW
Smith F ChuiIndiaBernardo Dominic RENEWAL
Kaitlin R CampainFranceAsiya Javayant PROPOSAL
Maria C RulapaughIndiaIvan Magalhaes PROPOSAL
Mujtaba T FerenczBrazilIvan Magalhaes NEGOTIATION
Smith W FlosiArgentinaOnyama Limba QUALIFIED
Octavia C RutaFranceIvan Magalhaes RENEWAL
Kadeem J MarrierIndiaIvan Magalhaes QUALIFIED
Ricardo Z DoeItalyStephen Shaw NEGOTIATION
Sinclair A CaldareraFranceStephen Shaw QUALIFIED
Emily B WhobreyFranceAmy Elsner PROPOSAL
Adams F WaycottBrazilIvan Magalhaes QUALIFIED
Aditya G RoysterRussiaXuxue Feng UNQUALIFIED
Morrow X AmigonBrazilOnyama Limba QUALIFIED
Cody G GauchoUnited KingdomElwin Sharvill NEW
David T RutaArgentinaIvan Magalhaes NEGOTIATION
James X SaylorsRussiaOnyama Limba QUALIFIED
Nicolas M BowleyItalyAnna Fali RENEWAL
Octavia X GauchoItalyXuxue Feng UNQUALIFIED
Kaitlin J SlusarskiGermanyXuxue Feng NEW

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