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
Mayumi M DarakjyItalyIoni Bowcher NEW
Kadeem O MaletJapanAsiya Javayant UNQUALIFIED
Munro L GillianItalyAnna Fali PROPOSAL
Morrow P SergiArgentinaAnna Fali PROPOSAL
Octavia Q WieserJapanElwin Sharvill RENEWAL
Deepesh F FerenczRussiaAsiya Javayant NEW
Jeanfrancois T GarufiGermanyIoni Bowcher QUALIFIED
Johnson M ShinkoUnited KingdomBernardo Dominic UNQUALIFIED
David Y BriddickCanadaOnyama Limba QUALIFIED
Jones S GlickFranceElwin Sharvill PROPOSAL
Jones M StensethUnited KingdomXuxue Feng PROPOSAL
Emily O CaldareraUnited KingdomIvan Magalhaes UNQUALIFIED
Darci Z DarakjyUnited KingdomAmy Elsner RENEWAL
Maisha I PaprockiUnited KingdomBernardo Dominic NEW
Aika P KolmetzIndiaIoni Bowcher QUALIFIED
Faith U ChuiArgentinaIvan Magalhaes QUALIFIED
Aditya E ShinkoJapanBernardo Dominic QUALIFIED
Munro Z ChuiIndiaBernardo Dominic NEW
Sinclair F PaprockiCanadaElwin Sharvill QUALIFIED
Antonio V RutaFranceOnyama Limba UNQUALIFIED
Ashley F RutaUnited KingdomIoni Bowcher NEGOTIATION
Kaitlin U SlusarskiSpainXuxue Feng PROPOSAL
Leja H MarrierJapanStephen Shaw RENEWAL
Deepesh L SaylorsBrazilXuxue Feng NEGOTIATION
Misaki M RimFranceElwin Sharvill NEW
Leja Z KuskoItalyXuxue Feng NEGOTIATION
Nicolas A CaldareraUnited KingdomOnyama Limba QUALIFIED
Ashley H OstroskyRussiaIoni Bowcher PROPOSAL
Misaki X MorascaIndiaAmy Elsner UNQUALIFIED
Claire A BriddickIndiaIvan Magalhaes RENEWAL
Arvin H AmigonIndiaIvan Magalhaes NEGOTIATION
David T NestleGermanyBernardo Dominic UNQUALIFIED
Silvio L KuskoBrazilElwin Sharvill QUALIFIED
Adams Y ButtBrazilIoni Bowcher NEGOTIATION
Chavez E WaycottIndiaBernardo Dominic RENEWAL
Jones K FerenczRussiaAmy Elsner NEW
Costa W KolmetzUnited KingdomAmy Elsner UNQUALIFIED
Nicolas J DilliardUnited KingdomIvan Magalhaes UNQUALIFIED
Julie T DoeBrazilStephen Shaw NEW
Misaki H DarakjyBrazilAmy Elsner UNQUALIFIED
Cody D FigeroaGermanyXuxue Feng QUALIFIED
Kadeem M AlbaresItalyAsiya Javayant NEW
Julie F VocelkaItalyAmy Elsner QUALIFIED
Emily G RutaBrazilIvan Magalhaes NEGOTIATION
Morrow Y VenereRussiaStephen Shaw NEW
Costa A MaletArgentinaAsiya Javayant UNQUALIFIED
Francesco I StensethBrazilElwin Sharvill QUALIFIED
Ivar D AlbaresSpainXuxue Feng QUALIFIED
Costa N GarufiAustraliaAnna Fali PROPOSAL
Greenwood E StensethCanadaBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Ivar F RulapaughRussiaAmy Elsner UNQUALIFIED
Cody E FollerFranceAnna Fali NEW
Silvio K MorascaCanadaAmy Elsner NEGOTIATION
Jennifer T KuskoIndiaAnna Fali NEW
Aika A OldroydFranceBernardo Dominic RENEWAL
Stacey N BriddickItalyIvan Magalhaes QUALIFIED
Johnson R InouyeIndiaStephen Shaw UNQUALIFIED
Jefferson R ButtGermanyIvan Magalhaes RENEWAL
Arvin V VocelkaIndiaAnna Fali QUALIFIED
Maria W VocelkaSpainOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith P BriddickJapan2024-06-18Chapman, Ross E Esq QUALIFIED37Onyama Limba
1001Adams D VocelkaFrance2024-06-04Dorl, James J Esq NEGOTIATION23Ivan Magalhaes
1002Arvin C WieserGermany2024-06-24Rangoni Of Florence UNQUALIFIED44Asiya Javayant
1003Costa A ButtAustralia2024-06-06Benton, John B Jr NEW69Xuxue Feng
1004Greenwood K BowleyArgentina2024-06-12Chapman, Ross E Esq QUALIFIED94Amy Elsner
1005Tony F FollerBrazil2024-05-27Chemel, James L Cpa NEGOTIATION28Ivan Magalhaes
1006Isabel U RutaItaly2024-06-06Printing Dimensions NEGOTIATION7Asiya Javayant
1007Ricardo P SaylorsArgentina2024-05-31Feltz Printing Service UNQUALIFIED10Bernardo Dominic
1008Rodrigues K StockhamJapan2024-06-20Rousseaux, Michael Esq PROPOSAL23Ivan Magalhaes
1009Tony H SlusarskiJapan2024-05-30Chemel, James L Cpa RENEWAL6Stephen Shaw
1010Misaki S GlickUnited Kingdom2024-06-15Truhlar And Truhlar Attys QUALIFIED8Ivan Magalhaes
1011Maisha T SaylorsRussia2024-06-06Chemel, James L Cpa UNQUALIFIED31Amy Elsner
1012Mayumi V MacleadArgentina2024-05-31Feiner Bros QUALIFIED16Elwin Sharvill
1013Clifford E RulapaughCanada2024-06-24Truhlar And Truhlar Attys RENEWAL27Ivan Magalhaes
1014Mayumi W RulapaughRussia2024-06-21Feiner Bros NEW72Elwin Sharvill
1015Emily K FollerGermany2024-06-09Chanay, Jeffrey A Esq NEGOTIATION27Ioni Bowcher
1016Antonio R MorascaRussia2024-06-06Chemel, James L Cpa UNQUALIFIED8Stephen Shaw
1017Jones U MaletArgentina2024-06-02Buckley Miller Wright PROPOSAL58Elwin Sharvill
1018Cody P DoeAustralia2024-06-21Chapman, Ross E Esq NEGOTIATION15Stephen Shaw
1019Jones M SchemmerIndia2024-06-13Printing Dimensions PROPOSAL27Bernardo Dominic
1020Tony U FerenczArgentina2024-06-02Benton, John B Jr NEW52Bernardo Dominic
1021Jeanfrancois D BriddickGermany2024-06-10Chanay, Jeffrey A Esq RENEWAL22Asiya Javayant
1022Jefferson A FlosiSpain2024-06-07Benton, John B Jr PROPOSAL96Onyama Limba
1023Jennifer H BriddickUnited Kingdom2024-06-22Dorl, James J Esq NEGOTIATION79Bernardo Dominic
1024Wickens W CampainFrance2024-05-30Benton, John B Jr NEW75Ioni Bowcher
1025Octavia K VocelkaCanada2024-06-17Buckley Miller Wright NEGOTIATION69Ivan Magalhaes
1026Mayumi Z GillianAustralia2024-06-22Buckley Miller Wright PROPOSAL13Xuxue Feng
1027Aditya W RulapaughItaly2024-06-14Dorl, James J Esq NEGOTIATION61Onyama Limba
1028Octavia F RulapaughSpain2024-06-16Chanay, Jeffrey A Esq PROPOSAL4Bernardo Dominic
1029Murillo N VocelkaCanada2024-06-07Benton, John B Jr NEW64Xuxue Feng
1030Nicolas H DilliardArgentina2024-06-07Rousseaux, Michael Esq NEW82Stephen Shaw
1031Adams J VocelkaIndia2024-06-12King, Christopher A Esq PROPOSAL87Stephen Shaw
1032Arvin N NestleSpain2024-05-29Rangoni Of Florence PROPOSAL80Ioni Bowcher
1033Nicolas Z FollerSpain2024-06-17Truhlar And Truhlar Attys NEGOTIATION57Ioni Bowcher
1034Izzy D MacleadUnited Kingdom2024-06-23King, Christopher A Esq RENEWAL20Amy Elsner
1035Faith S AlbaresRussia2024-05-28Chemel, James L Cpa RENEWAL91Ivan Magalhaes
1036Johnson K SlusarskiGermany2024-06-06Commercial Press RENEWAL60Ivan Magalhaes
1037Isabel N WieserGermany2024-06-14Dorl, James J Esq PROPOSAL25Asiya Javayant
1038Tony Y KuskoJapan2024-06-14Benton, John B Jr QUALIFIED64Onyama Limba
1039Murillo G MarrierRussia2024-06-22Printing Dimensions NEW47Bernardo Dominic
1040Rodrigues E BologniaBrazil2024-06-25Commercial Press NEW14Bernardo Dominic
1041Aruna I FerenczSpain2024-06-19Chemel, James L Cpa NEGOTIATION97Asiya Javayant
1042Isabel D MacleadItaly2024-05-28Dorl, James J Esq QUALIFIED97Onyama Limba
1043Emily N MacleadJapan2024-06-12Benton, John B Jr NEW22Ioni Bowcher
1044Francesco Q AmigonFrance2024-05-30Benton, John B Jr UNQUALIFIED56Anna Fali
1045Aika E VocelkaIndia2024-05-27Chemel, James L Cpa NEGOTIATION75Amy Elsner
1046Wickens O BologniaUnited Kingdom2024-06-16Benton, John B Jr UNQUALIFIED59Bernardo Dominic
1047Munro R OldroydItaly2024-05-29King, Christopher A Esq RENEWAL45Asiya Javayant
1048Mujtaba I VenereSpain2024-06-11Chanay, Jeffrey A Esq PROPOSAL79Ioni Bowcher
1049Jeanfrancois B VocelkaAustralia2024-06-02Chemel, James L Cpa QUALIFIED97Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Darci S StensethGermanyAsiya Javayant QUALIFIED
Tony R FlosiCanadaIoni Bowcher UNQUALIFIED
Juan U DilliardAustraliaAnna Fali NEGOTIATION
Mayumi H StockhamArgentinaAsiya Javayant PROPOSAL
Nicolas F InouyeIndiaIvan Magalhaes RENEWAL
Jennifer F TollnerRussiaAsiya Javayant UNQUALIFIED
Kadeem Y SchemmerCanadaIvan Magalhaes UNQUALIFIED
Sinclair Z OldroydFranceAsiya Javayant NEW
Antonio Y DilliardSpainStephen Shaw RENEWAL
Greenwood F RoysterRussiaAsiya Javayant RENEWAL
Jennifer E WieserJapanBernardo Dominic NEW
James T NickaFranceOnyama Limba UNQUALIFIED
Costa H BriddickGermanyBernardo Dominic UNQUALIFIED
Mayumi B MaletGermanyIvan Magalhaes QUALIFIED
Isabel U WieserIndiaStephen Shaw PROPOSAL
Ivar D BologniaBrazilAnna Fali NEGOTIATION
Misaki V BowleyFranceOnyama Limba UNQUALIFIED
Kaitlin T VocelkaItalyOnyama Limba NEGOTIATION
Isabel H FerenczArgentinaAmy Elsner QUALIFIED
Murillo Y GauchoUnited KingdomAsiya Javayant QUALIFIED
Mujtaba T BologniaRussiaElwin Sharvill QUALIFIED
Deepesh F MarrierSpainAsiya Javayant RENEWAL
Deepesh G KolmetzItalyAnna Fali NEW
Mujtaba N ButtGermanyStephen Shaw RENEWAL
Jones U NestleUnited KingdomOnyama Limba QUALIFIED
Ricardo B GillianUnited KingdomAmy Elsner QUALIFIED
Munro W GauchoBrazilAsiya Javayant NEW
Morrow V VenereItalyIvan Magalhaes PROPOSAL
Jeanfrancois T FlosiArgentinaStephen Shaw QUALIFIED
Francesco X DoeUnited KingdomOnyama Limba RENEWAL
Chavez X CaldareraRussiaAsiya Javayant PROPOSAL
Faith C OstroskyUnited KingdomXuxue Feng NEGOTIATION
Jones Z KolmetzAustraliaXuxue Feng PROPOSAL
Maisha H VocelkaUnited KingdomAsiya Javayant RENEWAL
Claire N PaprockiSpainAsiya Javayant PROPOSAL
Stacey M VocelkaItalyStephen Shaw QUALIFIED
Francesco U BologniaJapanIoni Bowcher NEW
Jefferson B TollnerFranceBernardo Dominic RENEWAL
Kadeem L DarakjyFranceAmy Elsner PROPOSAL
Munro H WieserUnited KingdomIoni Bowcher QUALIFIED
Mujtaba Y PaprockiSpainAsiya Javayant NEGOTIATION
Aruna U BowleySpainBernardo Dominic PROPOSAL
David X ButtArgentinaStephen Shaw NEGOTIATION
Aruna H ShinkoItalyOnyama Limba UNQUALIFIED
Deepesh V SlusarskiRussiaBernardo Dominic QUALIFIED
Maria N PaprockiItalyIoni Bowcher PROPOSAL
Greenwood U CampainItalyBernardo Dominic UNQUALIFIED
Jefferson Z MaletFranceAsiya Javayant UNQUALIFIED
Wickens F ChuiArgentinaXuxue Feng NEGOTIATION
Rodrigues S GarufiIndiaXuxue Feng RENEWAL
Frozen Columns
Name
Juan D Gillian
Wickens K Wieser
Octavia F Waycott
Sinclair E Inouye
Munro X Bolognia
Jefferson M Ferencz
Murillo J Inouye
Adams Y Waycott
Jeanfrancois N Oldroyd
Jones L Poquette
Munro V Amigon
Aika P Nicka
Chavez F Malet
Nicolas Y Rulapaugh
Emily G Bolognia
Clifford C Caldarera
Munro K Malet
James G Campain
Faith B Saylors
James F Poquette
Arvin S Gillian
Aruna A Waycott
Emily U Schemmer
Claire S Schemmer
Octavia P Bowley
Leon N Iturbide
Maria L Albares
Aruna R Nicka
Smith Z Perin
Murillo P Ferencz
Aika L Venere
Johnson L Doe
Munro L Tollner
Faith X Dilliard
Emily Z Vocelka
Izzy F Garufi
Johnson Y Iturbide
Aika P Inouye
Wickens U Bolognia
Mujtaba R Morasca
Aruna Q Rulapaugh
Mayumi A Paprocki
Antonio M Butt
Mujtaba T Kolmetz
Morrow I Darakjy
Jeanfrancois K Garufi
Arvin J Doe
Francesco Z Waycott
Julie D Nicka
Deepesh H Royster
IdCountryDate
1000India2024-06-06
1001Italy2024-06-15
1002Germany2024-06-11
1003Brazil2024-05-30
1004Russia2024-05-28
1005Germany2024-06-04
1006India2024-06-01
1007United Kingdom2024-06-13
1008Canada2024-06-10
1009Spain2024-06-23
1010Spain2024-06-08
1011Canada2024-06-25
1012Australia2024-06-05
1013Germany2024-06-08
1014Russia2024-06-11
1015United Kingdom2024-05-27
1016United Kingdom2024-06-19
1017Brazil2024-06-18
1018Canada2024-06-06
1019Italy2024-06-14
1020Japan2024-06-10
1021Australia2024-06-15
1022United Kingdom2024-06-07
1023Canada2024-06-17
1024Japan2024-06-14
1025France2024-06-24
1026Italy2024-06-12
1027Russia2024-06-10
1028Japan2024-06-22
1029Australia2024-06-07
1030United Kingdom2024-06-17
1031Canada2024-06-02
1032Germany2024-06-23
1033Italy2024-06-14
1034Canada2024-06-21
1035Brazil2024-06-05
1036Argentina2024-06-10
1037India2024-06-13
1038France2024-05-30
1039Spain2024-06-20
1040Russia2024-06-21
1041Germany2024-06-01
1042Russia2024-06-19
1043Argentina2024-06-15
1044India2024-05-27
1045India2024-06-15
1046India2024-06-21
1047Australia2024-06-09
1048Russia2024-06-03
1049Russia2024-06-13

On-Demand Data

NameIdCountryDate
Greenwood H Venere1000Japan2024-06-03
Sinclair E Gaucho1001Canada2024-06-07
Misaki Y Paprocki1002Argentina2024-06-02
Wickens H Bowley1003Italy2024-06-04
Ivar B Doe1004France2024-06-01
Silvio Z Stockham1005Germany2024-05-30
Salvatore Y Briddick1006Germany2024-06-25
Aruna O Albares1007Spain2024-06-07
Jefferson I Ruta1008Italy2024-06-06
Ashley V Stenseth1009Italy2024-06-25
Morrow U Rulapaugh1010Japan2024-06-11
Nicolas L Saylors1011Australia2024-06-19
Smith H Tollner1012Canada2024-06-17
Alejandro W Stockham1013United Kingdom2024-06-24
Isabel R Venere1014Russia2024-06-03
Ashley H Nicka1015France2024-06-10
Stacey J Flosi1016Argentina2024-06-15
Jennifer N Venere1017India2024-06-23
Leon M Dilliard1018India2024-06-10
Stacey I Whobrey1019India2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Juan Z RoysterFranceOnyama Limba NEW
Sinclair R SchemmerRussiaOnyama Limba UNQUALIFIED
Leon O RulapaughRussiaIvan Magalhaes PROPOSAL
Rodrigues N StockhamSpainIoni Bowcher RENEWAL
Clifford J RulapaughItalyOnyama Limba RENEWAL
Silvio A BriddickJapanElwin Sharvill NEGOTIATION
Nicolas V GlickBrazilStephen Shaw NEW
Salvatore N RulapaughSpainAmy Elsner NEW
Kaitlin Z SchemmerGermanyIoni Bowcher NEGOTIATION
Misaki Y StockhamCanadaIoni Bowcher PROPOSAL
Jeanfrancois Z RutaJapanIoni Bowcher PROPOSAL
Jones Y BologniaRussiaBernardo Dominic RENEWAL
Maisha R CaldareraAustraliaAsiya Javayant NEGOTIATION
Ivar C WhobreyGermanyIvan Magalhaes NEW
Costa R DarakjyIndiaBernardo Dominic NEGOTIATION
Morrow R PoquetteAustraliaIoni Bowcher NEGOTIATION
Ashley E RoysterCanadaXuxue Feng UNQUALIFIED
Ivar A DoeCanadaIoni Bowcher NEGOTIATION
Claire O SlusarskiGermanyIvan Magalhaes UNQUALIFIED
Johnson H PaprockiCanadaAsiya Javayant NEGOTIATION
Wickens Y PoquetteBrazilAmy Elsner NEGOTIATION
Ivar L WieserIndiaElwin Sharvill QUALIFIED
Murillo J SchemmerAustraliaIoni Bowcher UNQUALIFIED
Rodrigues N VenereCanadaIvan Magalhaes NEW
Kaitlin N MorascaUnited KingdomElwin Sharvill UNQUALIFIED
Kaitlin M DoeAustraliaIoni Bowcher PROPOSAL
James K SlusarskiArgentinaAmy Elsner QUALIFIED
Jones V ChuiFranceStephen Shaw NEGOTIATION
Mujtaba L KuskoBrazilOnyama Limba NEW
Antonio U FlosiBrazilAnna Fali UNQUALIFIED
Aruna I WaycottAustraliaAnna Fali RENEWAL
Kadeem V MorascaItalyOnyama Limba PROPOSAL
Rodrigues I SchemmerIndiaAmy Elsner RENEWAL
Antonio W WieserGermanyXuxue Feng NEGOTIATION
Leon Q StensethItalyAnna Fali NEW
Nicolas H IturbideAustraliaStephen Shaw QUALIFIED
Sinclair S IturbideAustraliaAmy Elsner PROPOSAL
Smith X WhobreyCanadaBernardo Dominic RENEWAL
Clifford O DarakjyAustraliaStephen Shaw NEW
Claire K SlusarskiRussiaAmy Elsner 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>