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
Clifford P CampainIndiaIvan Magalhaes QUALIFIED
Faith I BriddickCanadaAmy Elsner UNQUALIFIED
Antonio T SaylorsCanadaIoni Bowcher UNQUALIFIED
Isabel T FollerFranceAnna Fali PROPOSAL
Stacey U MacleadIndiaBernardo Dominic UNQUALIFIED
Maisha O MarrierCanadaAmy Elsner NEW
Misaki V TollnerJapanAmy Elsner QUALIFIED
Jennifer L ShinkoArgentinaAnna Fali RENEWAL
Costa U PerinRussiaElwin Sharvill RENEWAL
Izzy M StensethGermanyStephen Shaw QUALIFIED
Darci M NickaFranceAmy Elsner PROPOSAL
Silvio A NickaAustraliaAsiya Javayant NEW
James F DoeArgentinaAsiya Javayant NEW
Claire B PoquetteJapanElwin Sharvill RENEWAL
Antonio K MarrierCanadaElwin Sharvill PROPOSAL
Aika I CaldareraSpainAnna Fali NEW
Smith B TollnerItalyXuxue Feng UNQUALIFIED
Silvio U SlusarskiUnited KingdomXuxue Feng UNQUALIFIED
Izzy R OldroydJapanBernardo Dominic UNQUALIFIED
Johnson W FlosiFranceIvan Magalhaes NEW
Ricardo B MorascaBrazilAnna Fali NEGOTIATION
Julie Z WaycottItalyBernardo Dominic UNQUALIFIED
Izzy O SergiJapanStephen Shaw UNQUALIFIED
Izzy D SchemmerUnited KingdomElwin Sharvill RENEWAL
Aruna M SchemmerArgentinaOnyama Limba NEW
David V BologniaUnited KingdomIoni Bowcher QUALIFIED
Stacey Z GlickBrazilElwin Sharvill PROPOSAL
Antonio B SchemmerAustraliaAmy Elsner QUALIFIED
Silvio B RutaUnited KingdomElwin Sharvill QUALIFIED
Kadeem J FerenczItalyStephen Shaw RENEWAL
Rodrigues N GarufiGermanyBernardo Dominic QUALIFIED
Octavia Q NickaArgentinaBernardo Dominic NEGOTIATION
Jones N RulapaughIndiaElwin Sharvill PROPOSAL
Ricardo R RutaCanadaIvan Magalhaes QUALIFIED
Aika V AlbaresJapanBernardo Dominic UNQUALIFIED
Alejandro Q TollnerArgentinaStephen Shaw UNQUALIFIED
Cody K VocelkaGermanyBernardo Dominic UNQUALIFIED
Aditya Q FlosiBrazilXuxue Feng QUALIFIED
Isabel W WieserRussiaAsiya Javayant UNQUALIFIED
Adams T StockhamIndiaOnyama Limba PROPOSAL
James F VenereGermanyXuxue Feng NEW
Clifford W OldroydIndiaAsiya Javayant NEW
Ricardo L MacleadBrazilAsiya Javayant UNQUALIFIED
Claire V WieserFranceElwin Sharvill RENEWAL
Octavia W OstroskyAustraliaXuxue Feng PROPOSAL
Izzy I MacleadSpainElwin Sharvill QUALIFIED
Nicolas J WaycottUnited KingdomIoni Bowcher UNQUALIFIED
Leon L NickaItalyElwin Sharvill NEW
Morrow E StensethIndiaOnyama Limba NEGOTIATION
Leon M GlickArgentinaIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Greenwood P FerenczFranceIoni Bowcher QUALIFIED
Tony L OldroydJapanStephen Shaw UNQUALIFIED
Octavia R RoysterAustraliaOnyama Limba RENEWAL
Claire Q StensethGermanyBernardo Dominic NEW
Smith Y NestleAustraliaAmy Elsner NEW
Tony C CaudyItalyAmy Elsner QUALIFIED
Smith L NestleIndiaAmy Elsner QUALIFIED
Alejandro P SlusarskiJapanBernardo Dominic NEGOTIATION
Kadeem K FollerAustraliaOnyama Limba PROPOSAL
Smith N MacleadSpainAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem N DarakjyArgentina2024-06-17Rousseaux, Michael Esq UNQUALIFIED55Ivan Magalhaes
1001Aditya Q MorascaGermany2024-05-31Feiner Bros PROPOSAL46Ioni Bowcher
1002Leon H BriddickUnited Kingdom2024-06-10Rousseaux, Michael Esq NEW70Elwin Sharvill
1003Rodrigues Z SlusarskiCanada2024-06-03Benton, John B Jr PROPOSAL46Bernardo Dominic
1004Salvatore G DilliardItaly2024-06-20Chanay, Jeffrey A Esq UNQUALIFIED88Onyama Limba
1005Jones F FollerArgentina2024-05-31Morlong Associates UNQUALIFIED70Xuxue Feng
1006Aruna D WaycottFrance2024-05-28Feltz Printing Service UNQUALIFIED44Amy Elsner
1007Aditya U GillianItaly2024-05-23Buckley Miller Wright RENEWAL19Ioni Bowcher
1008Clifford Y GillianAustralia2024-06-06Buckley Miller Wright NEGOTIATION26Elwin Sharvill
1009Juan N AlbaresGermany2024-06-21Printing Dimensions PROPOSAL20Onyama Limba
1010Mujtaba F WhobreyArgentina2024-06-13Benton, John B Jr NEGOTIATION12Ivan Magalhaes
1011Adams Y SaylorsAustralia2024-06-16Benton, John B Jr NEGOTIATION40Anna Fali
1012Sinclair K RulapaughUnited Kingdom2024-05-30Benton, John B Jr NEW5Onyama Limba
1013Faith J StockhamJapan2024-06-04Buckley Miller Wright NEGOTIATION16Asiya Javayant
1014Emily J BriddickUnited Kingdom2024-06-05Buckley Miller Wright UNQUALIFIED74Anna Fali
1015Jeanfrancois S VenereAustralia2024-05-26Chapman, Ross E Esq NEW35Elwin Sharvill
1016Izzy U FigeroaArgentina2024-06-21Feltz Printing Service NEGOTIATION38Amy Elsner
1017Maisha A PoquetteJapan2024-06-06Chemel, James L Cpa UNQUALIFIED99Elwin Sharvill
1018Jefferson I InouyeFrance2024-05-30Chapman, Ross E Esq NEW87Asiya Javayant
1019Antonio F ChuiCanada2024-06-14Benton, John B Jr QUALIFIED82Ivan Magalhaes
1020Leja T SchemmerJapan2024-06-18Feltz Printing Service RENEWAL46Anna Fali
1021Ashley O SaylorsJapan2024-06-07Feiner Bros QUALIFIED87Xuxue Feng
1022Aruna D RoysterSpain2024-05-27King, Christopher A Esq UNQUALIFIED90Anna Fali
1023Izzy Y PerinItaly2024-06-08Commercial Press UNQUALIFIED79Ivan Magalhaes
1024Leja J RimArgentina2024-05-28Buckley Miller Wright NEGOTIATION32Asiya Javayant
1025Munro Q DarakjyFrance2024-06-01Truhlar And Truhlar Attys RENEWAL53Ioni Bowcher
1026Sinclair X GillianBrazil2024-05-31Feiner Bros NEW44Bernardo Dominic
1027Greenwood X VocelkaRussia2024-06-14Truhlar And Truhlar Attys RENEWAL86Amy Elsner
1028Jennifer V VenereUnited Kingdom2024-05-23Buckley Miller Wright NEGOTIATION89Xuxue Feng
1029Francesco Z OstroskyUnited Kingdom2024-06-18King, Christopher A Esq NEGOTIATION10Ioni Bowcher
1030Mujtaba T VocelkaJapan2024-05-26Feiner Bros NEGOTIATION7Anna Fali
1031Murillo T MaletJapan2024-05-27Feltz Printing Service UNQUALIFIED82Ivan Magalhaes
1032Morrow H ChuiFrance2024-05-23Commercial Press NEGOTIATION29Ioni Bowcher
1033Cody Q BowleyUnited Kingdom2024-06-18Chapman, Ross E Esq PROPOSAL37Anna Fali
1034Mujtaba B ButtIndia2024-05-27Chapman, Ross E Esq QUALIFIED93Ivan Magalhaes
1035Mujtaba X BriddickSpain2024-06-21Truhlar And Truhlar Attys PROPOSAL98Bernardo Dominic
1036Costa B OstroskyJapan2024-05-25King, Christopher A Esq UNQUALIFIED76Bernardo Dominic
1037Rodrigues U OldroydUnited Kingdom2024-06-16Commercial Press QUALIFIED76Asiya Javayant
1038Tony K WieserSpain2024-06-03Feltz Printing Service RENEWAL48Xuxue Feng
1039Leja M MaletBrazil2024-06-03King, Christopher A Esq UNQUALIFIED16Ivan Magalhaes
1040Ashley I FollerIndia2024-06-13Truhlar And Truhlar Attys PROPOSAL74Anna Fali
1041Cody A VocelkaIndia2024-05-26Dorl, James J Esq QUALIFIED84Bernardo Dominic
1042David O PerinFrance2024-06-04Feiner Bros RENEWAL97Amy Elsner
1043Izzy A TollnerRussia2024-06-15Commercial Press RENEWAL77Elwin Sharvill
1044Juan X MarrierGermany2024-06-21Buckley Miller Wright UNQUALIFIED72Ivan Magalhaes
1045Jennifer N MarrierBrazil2024-06-12Benton, John B Jr NEGOTIATION8Xuxue Feng
1046Johnson X WieserSpain2024-05-29Chemel, James L Cpa QUALIFIED32Onyama Limba
1047Jefferson I RimJapan2024-06-20Chemel, James L Cpa RENEWAL86Ivan Magalhaes
1048David G GauchoRussia2024-06-04Morlong Associates RENEWAL43Onyama Limba
1049Jefferson T SlusarskiAustralia2024-06-11Chanay, Jeffrey A Esq QUALIFIED54Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Greenwood T AlbaresSpainAmy Elsner RENEWAL
Misaki U DilliardJapanIoni Bowcher RENEWAL
Deepesh U CaldareraItalyXuxue Feng NEGOTIATION
Silvio T BologniaAustraliaIvan Magalhaes UNQUALIFIED
James B PaprockiUnited KingdomXuxue Feng UNQUALIFIED
Kadeem I SchemmerRussiaIoni Bowcher UNQUALIFIED
Ricardo W KuskoGermanyIoni Bowcher NEGOTIATION
Cody A GlickRussiaBernardo Dominic NEGOTIATION
Jeanfrancois W BowleyFranceAnna Fali UNQUALIFIED
Izzy A GauchoIndiaAnna Fali RENEWAL
Cody A RulapaughGermanyOnyama Limba NEW
Kaitlin X KolmetzGermanyElwin Sharvill QUALIFIED
Nicolas A MaletRussiaIvan Magalhaes UNQUALIFIED
Izzy X CaudySpainXuxue Feng PROPOSAL
Antonio U BriddickIndiaXuxue Feng QUALIFIED
Cody S CampainBrazilIoni Bowcher QUALIFIED
Deepesh W BriddickCanadaStephen Shaw NEW
Sinclair G RulapaughBrazilAmy Elsner PROPOSAL
Faith F NickaCanadaIoni Bowcher QUALIFIED
Jeanfrancois J MaletJapanIvan Magalhaes UNQUALIFIED
Maisha H GillianJapanAsiya Javayant QUALIFIED
Munro C FollerFranceElwin Sharvill NEGOTIATION
Ricardo V StockhamCanadaBernardo Dominic RENEWAL
Maria F InouyeAustraliaXuxue Feng NEW
Julie G SchemmerFranceIvan Magalhaes RENEWAL
Leon W VocelkaSpainStephen Shaw UNQUALIFIED
Jefferson S InouyeUnited KingdomAmy Elsner QUALIFIED
Leon N StockhamGermanyIvan Magalhaes NEW
Alejandro R SergiUnited KingdomAnna Fali UNQUALIFIED
Aruna G CaldareraAustraliaOnyama Limba PROPOSAL
Emily B RoysterIndiaIvan Magalhaes QUALIFIED
Faith A RoysterArgentinaBernardo Dominic UNQUALIFIED
Juan C FigeroaBrazilAnna Fali RENEWAL
Johnson W KuskoAustraliaBernardo Dominic NEW
Salvatore J TollnerUnited KingdomBernardo Dominic NEGOTIATION
Murillo W SergiIndiaAsiya Javayant QUALIFIED
Alejandro T PoquetteBrazilAnna Fali UNQUALIFIED
Claire P AmigonFranceBernardo Dominic RENEWAL
Salvatore Z PoquetteAustraliaAmy Elsner NEGOTIATION
Sinclair V RimArgentinaXuxue Feng PROPOSAL
Alejandro Y GillianCanadaAsiya Javayant RENEWAL
Jones E CaldareraBrazilOnyama Limba NEGOTIATION
Murillo C InouyeRussiaIoni Bowcher PROPOSAL
Izzy H ChuiCanadaBernardo Dominic UNQUALIFIED
Isabel Z NestleItalyIoni Bowcher NEW
Rodrigues V KolmetzGermanyStephen Shaw PROPOSAL
Maisha S FollerIndiaAsiya Javayant NEW
Ivar S BowleyGermanyOnyama Limba NEW
Aruna Z KuskoSpainIvan Magalhaes NEGOTIATION
Claire A RimSpainAnna Fali NEW
Frozen Columns
Name
Stacey B Ferencz
Costa Y Doe
Wickens X Maclead
Chavez I Dilliard
Smith Q Doe
Deepesh V Venere
Izzy N Campain
Silvio E Maclead
Ivar Z Stenseth
Aika C Malet
Misaki A Foller
Adams T Darakjy
Mujtaba P Bolognia
Mujtaba D Garufi
Francesco F Wieser
Ashley U Perin
Emily I Tollner
Julie W Chui
Jeanfrancois E Rulapaugh
Leja H Stenseth
Darci E Waycott
Ricardo V Flosi
David V Figeroa
Jefferson T Ostrosky
Francesco J Ruta
Misaki N Wieser
Munro T Nicka
Isabel Y Albares
Kadeem P Caudy
Silvio B Stenseth
Clifford V Caudy
Salvatore Y Royster
Alejandro D Venere
Aruna T Stockham
Wickens M Sergi
Octavia U Darakjy
Alejandro B Amigon
Mujtaba D Ruta
Faith T Butt
Claire K Sergi
Kaitlin C Maclead
Misaki I Bolognia
Octavia F Oldroyd
Rodrigues W Venere
Jeanfrancois Z Rulapaugh
Misaki F Ostrosky
Octavia F Briddick
Maisha P Schemmer
Jones O Perin
Wickens K Malet
IdCountryDate
1000Italy2024-06-12
1001Italy2024-06-04
1002Australia2024-06-21
1003United Kingdom2024-05-31
1004Canada2024-05-25
1005Canada2024-06-16
1006Australia2024-06-06
1007Spain2024-05-23
1008Spain2024-06-07
1009Argentina2024-06-14
1010Brazil2024-06-08
1011Argentina2024-06-17
1012Japan2024-06-10
1013United Kingdom2024-05-26
1014Russia2024-05-29
1015Russia2024-06-05
1016Brazil2024-06-05
1017Australia2024-06-14
1018Germany2024-06-19
1019France2024-06-09
1020United Kingdom2024-06-06
1021Italy2024-06-06
1022Brazil2024-06-11
1023Australia2024-06-17
1024Canada2024-06-07
1025Germany2024-06-14
1026France2024-06-20
1027India2024-05-24
1028Japan2024-06-14
1029Japan2024-06-05
1030India2024-06-19
1031Russia2024-06-12
1032United Kingdom2024-06-20
1033Russia2024-05-27
1034United Kingdom2024-06-20
1035Japan2024-06-19
1036Germany2024-06-09
1037India2024-06-19
1038Argentina2024-05-25
1039Argentina2024-06-06
1040Russia2024-06-20
1041France2024-06-03
1042Germany2024-06-21
1043India2024-06-17
1044Canada2024-05-31
1045Russia2024-05-28
1046Russia2024-06-19
1047Australia2024-06-20
1048Germany2024-06-12
1049Italy2024-06-07

On-Demand Data

NameIdCountryDate
Aika C Vocelka1000Australia2024-06-13
Sinclair L Schemmer1001United Kingdom2024-05-24
Aditya F Iturbide1002Spain2024-06-04
Mayumi X Gaucho1003Italy2024-05-30
Deepesh M Kusko1004Germany2024-06-18
Costa W Caldarera1005Australia2024-05-27
Murillo T Gaucho1006India2024-06-13
Julie J Kolmetz1007Australia2024-06-09
Jeanfrancois O Rim1008Australia2024-06-02
Arvin U Waycott1009Argentina2024-06-14
Jones D Caldarera1010Brazil2024-06-12
Munro T Morasca1011Japan2024-06-01
Izzy S Poquette1012Brazil2024-06-05
Misaki O Caldarera1013Canada2024-06-02
Tony U Albares1014Argentina2024-06-14
Jefferson M Slusarski1015Brazil2024-06-19
Isabel D Poquette1016Australia2024-05-28
Octavia F Chui1017United Kingdom2024-06-06
Kadeem S Gaucho1018United Kingdom2024-06-09
Johnson Z Glick1019Spain2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Rodrigues O SaylorsAustraliaStephen Shaw RENEWAL
Kaitlin J RoysterSpainStephen Shaw NEW
Murillo K RimRussiaElwin Sharvill UNQUALIFIED
Stacey M IturbideItalyStephen Shaw NEGOTIATION
Leon O AmigonAustraliaAnna Fali NEGOTIATION
Juan U RulapaughFranceIvan Magalhaes UNQUALIFIED
Rodrigues E RoysterIndiaOnyama Limba PROPOSAL
Mujtaba X GillianFranceOnyama Limba UNQUALIFIED
Maisha N WhobreyAustraliaIoni Bowcher NEGOTIATION
Ashley K DarakjyIndiaIoni Bowcher RENEWAL
Maisha D PaprockiAustraliaOnyama Limba NEW
Francesco I TollnerJapanIoni Bowcher QUALIFIED
Cody P PoquetteAustraliaIoni Bowcher QUALIFIED
Octavia O GlickJapanBernardo Dominic PROPOSAL
Octavia E PerinRussiaAmy Elsner QUALIFIED
Rodrigues P KuskoJapanAsiya Javayant RENEWAL
Alejandro B BologniaIndiaAsiya Javayant PROPOSAL
Smith F RulapaughRussiaOnyama Limba PROPOSAL
Murillo N WieserBrazilIvan Magalhaes NEGOTIATION
Isabel J StensethBrazilIvan Magalhaes QUALIFIED
Faith K OldroydRussiaOnyama Limba NEW
Kaitlin U PaprockiFranceOnyama Limba UNQUALIFIED
Stacey D SlusarskiCanadaIoni Bowcher NEW
Misaki A KolmetzUnited KingdomAsiya Javayant UNQUALIFIED
Faith F TollnerIndiaIoni Bowcher NEW
Faith T GillianBrazilIvan Magalhaes QUALIFIED
Leja T FigeroaArgentinaAnna Fali NEW
Maisha I BologniaCanadaBernardo Dominic UNQUALIFIED
Leja A GauchoJapanIoni Bowcher UNQUALIFIED
James Z MorascaIndiaBernardo Dominic UNQUALIFIED
Tony W FigeroaBrazilXuxue Feng NEGOTIATION
Stacey N DoeUnited KingdomAsiya Javayant RENEWAL
Johnson D FigeroaAustraliaBernardo Dominic QUALIFIED
Smith L CaudyUnited KingdomIoni Bowcher NEGOTIATION
Misaki M VocelkaGermanyAmy Elsner PROPOSAL
Murillo N CampainFranceElwin Sharvill NEGOTIATION
Ivar D StensethJapanOnyama Limba NEW
Mayumi Y MaletAustraliaAmy Elsner QUALIFIED
Silvio R BologniaSpainStephen Shaw NEGOTIATION
Octavia S NestleBrazilIoni Bowcher 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>