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
Ashley K OldroydItalyAnna Fali RENEWAL
Aditya E SlusarskiAustraliaOnyama Limba PROPOSAL
Kadeem R ShinkoArgentinaAnna Fali UNQUALIFIED
Jefferson D ShinkoIndiaIoni Bowcher RENEWAL
Izzy J BriddickIndiaBernardo Dominic PROPOSAL
Maisha S OstroskyCanadaStephen Shaw RENEWAL
Francesco K StockhamBrazilAsiya Javayant UNQUALIFIED
Izzy O RoysterBrazilStephen Shaw RENEWAL
Leon U BriddickBrazilIvan Magalhaes UNQUALIFIED
Claire O WaycottIndiaXuxue Feng QUALIFIED
Ivar F ShinkoRussiaBernardo Dominic PROPOSAL
Alejandro U SchemmerFranceElwin Sharvill PROPOSAL
Sinclair F BologniaFranceAnna Fali PROPOSAL
Kaitlin M RutaIndiaElwin Sharvill QUALIFIED
Murillo O MacleadAustraliaAsiya Javayant UNQUALIFIED
Morrow I GauchoAustraliaBernardo Dominic NEW
Jefferson X PaprockiUnited KingdomElwin Sharvill NEW
Tony T FerenczCanadaElwin Sharvill UNQUALIFIED
Murillo P RulapaughSpainIoni Bowcher PROPOSAL
Rodrigues U KuskoRussiaOnyama Limba NEW
Maria D StensethIndiaIoni Bowcher UNQUALIFIED
Silvio Q MacleadJapanIvan Magalhaes NEGOTIATION
Chavez B SergiCanadaElwin Sharvill NEGOTIATION
Ivar Z RimAustraliaOnyama Limba UNQUALIFIED
Ricardo X KuskoUnited KingdomAsiya Javayant QUALIFIED
Salvatore W SergiIndiaStephen Shaw PROPOSAL
Claire K WhobreyAustraliaIvan Magalhaes UNQUALIFIED
Isabel A DarakjyArgentinaIvan Magalhaes RENEWAL
Emily L DarakjyFranceAsiya Javayant PROPOSAL
Francesco G GillianFranceBernardo Dominic PROPOSAL
Smith S FigeroaUnited KingdomAmy Elsner UNQUALIFIED
Kadeem L SaylorsCanadaAnna Fali NEGOTIATION
Leon W DoeAustraliaAsiya Javayant QUALIFIED
Leon H MaletIndiaBernardo Dominic QUALIFIED
Clifford Z DoeItalyElwin Sharvill UNQUALIFIED
Adams Y RimRussiaElwin Sharvill UNQUALIFIED
Ricardo S PerinFranceXuxue Feng UNQUALIFIED
Antonio F RulapaughAustraliaAmy Elsner RENEWAL
Ashley N AmigonJapanElwin Sharvill QUALIFIED
Isabel J OldroydCanadaIvan Magalhaes PROPOSAL
Juan H ButtBrazilStephen Shaw QUALIFIED
Octavia G PoquetteFranceIvan Magalhaes RENEWAL
Adams Z KuskoGermanyAmy Elsner NEGOTIATION
Mayumi Z StockhamUnited KingdomXuxue Feng UNQUALIFIED
Ivar U SchemmerArgentinaAnna Fali QUALIFIED
Faith W SergiRussiaIvan Magalhaes NEW
Maria N MacleadAustraliaIvan Magalhaes UNQUALIFIED
Clifford Y AmigonIndiaXuxue Feng NEGOTIATION
Cody E ButtIndiaIvan Magalhaes UNQUALIFIED
Murillo S StockhamRussiaStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Ricardo S CaudySpainElwin Sharvill RENEWAL
Morrow W SaylorsCanadaOnyama Limba UNQUALIFIED
Misaki T MaletRussiaIvan Magalhaes RENEWAL
Ashley W MorascaArgentinaElwin Sharvill UNQUALIFIED
Greenwood H StockhamRussiaIvan Magalhaes NEGOTIATION
Maisha I MorascaJapanStephen Shaw NEW
Greenwood U FlosiItalyBernardo Dominic RENEWAL
Greenwood M PerinIndiaOnyama Limba RENEWAL
Isabel D CaudyBrazilElwin Sharvill UNQUALIFIED
Cody M PoquetteIndiaBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem Y AlbaresRussia2024-05-20Benton, John B Jr RENEWAL78Onyama Limba
1001Silvio O GlickAustralia2024-06-08Chapman, Ross E Esq NEW81Bernardo Dominic
1002Munro H CampainUnited Kingdom2024-05-19Buckley Miller Wright QUALIFIED57Ivan Magalhaes
1003James B BriddickRussia2024-05-31Buckley Miller Wright PROPOSAL54Ivan Magalhaes
1004Juan Y SergiItaly2024-05-29Commercial Press NEGOTIATION12Ivan Magalhaes
1005Antonio T GlickJapan2024-05-18Chemel, James L Cpa UNQUALIFIED91Anna Fali
1006Faith T KuskoBrazil2024-06-16Feltz Printing Service UNQUALIFIED69Onyama Limba
1007Munro J WaycottCanada2024-05-23Benton, John B Jr QUALIFIED23Ioni Bowcher
1008Maisha Y MorascaGermany2024-06-16Rangoni Of Florence PROPOSAL11Amy Elsner
1009Jennifer C RutaGermany2024-05-29Rangoni Of Florence RENEWAL23Ioni Bowcher
1010Silvio A KuskoUnited Kingdom2024-05-24Chapman, Ross E Esq NEW79Ivan Magalhaes
1011Deepesh U BologniaBrazil2024-05-23Rangoni Of Florence NEGOTIATION3Ivan Magalhaes
1012Ricardo Y CaldareraIndia2024-05-29Commercial Press NEGOTIATION69Ioni Bowcher
1013James H WaycottCanada2024-06-15Chapman, Ross E Esq NEW67Onyama Limba
1014Francesco C FerenczAustralia2024-06-02Rangoni Of Florence NEGOTIATION92Ioni Bowcher
1015Jeanfrancois J GauchoCanada2024-05-24Truhlar And Truhlar Attys QUALIFIED36Bernardo Dominic
1016Murillo R OstroskySpain2024-06-16Chanay, Jeffrey A Esq QUALIFIED8Onyama Limba
1017Faith Y AlbaresRussia2024-05-19Rousseaux, Michael Esq QUALIFIED0Stephen Shaw
1018Chavez Q FollerArgentina2024-05-31Chemel, James L Cpa UNQUALIFIED73Onyama Limba
1019Misaki P DoeGermany2024-06-06Buckley Miller Wright NEW42Asiya Javayant
1020Julie X PoquetteIndia2024-06-07Feiner Bros UNQUALIFIED87Asiya Javayant
1021Munro C PoquetteRussia2024-05-29Morlong Associates UNQUALIFIED13Elwin Sharvill
1022Isabel R DoeBrazil2024-06-11Commercial Press QUALIFIED87Stephen Shaw
1023Rodrigues H RutaGermany2024-05-18Morlong Associates QUALIFIED60Bernardo Dominic
1024Francesco N InouyeArgentina2024-06-05Chanay, Jeffrey A Esq UNQUALIFIED97Amy Elsner
1025Arvin D KolmetzAustralia2024-05-27Truhlar And Truhlar Attys NEW25Stephen Shaw
1026Costa X DoeBrazil2024-06-13Buckley Miller Wright NEW67Stephen Shaw
1027Ashley L ShinkoRussia2024-05-24Morlong Associates PROPOSAL73Amy Elsner
1028Sinclair X MacleadJapan2024-06-03Buckley Miller Wright RENEWAL41Amy Elsner
1029James A SlusarskiAustralia2024-05-18Chanay, Jeffrey A Esq RENEWAL47Amy Elsner
1030Chavez O SlusarskiUnited Kingdom2024-05-23Feltz Printing Service NEGOTIATION22Onyama Limba
1031Kaitlin B FerenczArgentina2024-06-07Truhlar And Truhlar Attys PROPOSAL49Ivan Magalhaes
1032Clifford K PerinArgentina2024-06-12Chanay, Jeffrey A Esq UNQUALIFIED90Anna Fali
1033Tony P RutaFrance2024-06-16Benton, John B Jr NEW46Ioni Bowcher
1034Kadeem I BowleyBrazil2024-05-31Chanay, Jeffrey A Esq PROPOSAL61Ivan Magalhaes
1035Aditya L RimUnited Kingdom2024-06-03Printing Dimensions NEW95Bernardo Dominic
1036Leon H PoquetteItaly2024-05-25Chanay, Jeffrey A Esq NEW85Bernardo Dominic
1037Juan A GarufiCanada2024-05-28Feiner Bros NEW99Anna Fali
1038Deepesh Z StensethUnited Kingdom2024-06-03Chemel, James L Cpa UNQUALIFIED15Stephen Shaw
1039Antonio V WaycottFrance2024-06-09Dorl, James J Esq QUALIFIED34Stephen Shaw
1040Darci C NickaCanada2024-05-21Buckley Miller Wright RENEWAL48Asiya Javayant
1041Leon G FollerSpain2024-06-05Dorl, James J Esq NEGOTIATION86Asiya Javayant
1042Morrow G WaycottUnited Kingdom2024-06-01Truhlar And Truhlar Attys NEW80Stephen Shaw
1043Maisha Z CampainArgentina2024-06-06Commercial Press QUALIFIED48Stephen Shaw
1044Francesco Y BriddickArgentina2024-06-01Buckley Miller Wright NEGOTIATION19Elwin Sharvill
1045Mayumi Z WhobreyFrance2024-06-08Rangoni Of Florence UNQUALIFIED15Elwin Sharvill
1046Leon N CampainItaly2024-06-15Morlong Associates RENEWAL52Bernardo Dominic
1047Arvin Z BriddickCanada2024-06-13Chapman, Ross E Esq UNQUALIFIED77Amy Elsner
1048Clifford P GauchoFrance2024-06-09Printing Dimensions QUALIFIED12Onyama Limba
1049David U GlickFrance2024-05-30Commercial Press PROPOSAL60Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Silvio B GauchoBrazilAsiya Javayant UNQUALIFIED
Adams Y IturbideIndiaXuxue Feng UNQUALIFIED
Morrow F AmigonArgentinaBernardo Dominic UNQUALIFIED
Octavia H CaudyAustraliaXuxue Feng NEGOTIATION
Mayumi K DoeGermanyStephen Shaw RENEWAL
Maisha I SergiArgentinaIoni Bowcher NEGOTIATION
Mayumi W BologniaBrazilAmy Elsner RENEWAL
Salvatore D ShinkoGermanyElwin Sharvill NEGOTIATION
Nicolas M BologniaArgentinaAnna Fali PROPOSAL
Misaki V AmigonJapanAmy Elsner NEGOTIATION
Alejandro G NestleGermanyXuxue Feng NEGOTIATION
Aditya M OstroskyFranceXuxue Feng NEGOTIATION
Izzy U GlickFranceIvan Magalhaes NEGOTIATION
Murillo P DoeArgentinaStephen Shaw RENEWAL
Antonio W DarakjyAustraliaOnyama Limba UNQUALIFIED
Stacey J InouyeUnited KingdomBernardo Dominic PROPOSAL
Maisha E MaletArgentinaAnna Fali NEW
Maria I OldroydUnited KingdomStephen Shaw QUALIFIED
Cody Z BowleyJapanStephen Shaw QUALIFIED
Maria Q PaprockiItalyBernardo Dominic UNQUALIFIED
Salvatore O StensethSpainAsiya Javayant UNQUALIFIED
Maisha L VenereRussiaOnyama Limba UNQUALIFIED
Jeanfrancois K IturbideRussiaElwin Sharvill RENEWAL
Ashley K DarakjyIndiaXuxue Feng PROPOSAL
Ricardo G NickaJapanIvan Magalhaes PROPOSAL
Jefferson A WieserAustraliaAmy Elsner UNQUALIFIED
Darci A PaprockiItalyXuxue Feng NEW
Jeanfrancois Q SaylorsUnited KingdomAnna Fali PROPOSAL
Maria L KolmetzItalyElwin Sharvill NEGOTIATION
Sinclair A StockhamJapanAnna Fali UNQUALIFIED
Smith O OstroskyUnited KingdomOnyama Limba QUALIFIED
Misaki K VocelkaBrazilXuxue Feng NEW
Silvio N MaletItalyAmy Elsner UNQUALIFIED
Leon X RutaArgentinaAnna Fali QUALIFIED
Deepesh U OstroskyGermanyStephen Shaw NEGOTIATION
Misaki C GillianFranceStephen Shaw NEGOTIATION
Mujtaba I NickaUnited KingdomIoni Bowcher QUALIFIED
Mujtaba B SchemmerSpainIoni Bowcher PROPOSAL
Munro C GlickGermanyOnyama Limba QUALIFIED
Maria B PerinGermanyStephen Shaw QUALIFIED
Isabel I MorascaArgentinaElwin Sharvill NEGOTIATION
Jeanfrancois R GauchoIndiaOnyama Limba QUALIFIED
Costa E CampainAustraliaBernardo Dominic QUALIFIED
Mujtaba I AmigonSpainElwin Sharvill NEGOTIATION
Mujtaba D MaletUnited KingdomIoni Bowcher QUALIFIED
Wickens B CaldareraIndiaIvan Magalhaes QUALIFIED
Nicolas T GarufiAustraliaAsiya Javayant RENEWAL
Jeanfrancois U BologniaJapanIoni Bowcher RENEWAL
Izzy R InouyeSpainIoni Bowcher UNQUALIFIED
Jefferson N NickaJapanElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Misaki U Ostrosky
Leon L Inouye
Silvio K Vocelka
Munro S Sergi
David B Poquette
Jennifer U Bowley
Claire Q Doe
Morrow N Briddick
Mayumi N Wieser
Maria U Albares
Aditya O Perin
Leja J Malet
Ivar B Vocelka
Alejandro V Poquette
Stacey E Wieser
Francesco Q Wieser
Greenwood O Butt
Wickens L Bolognia
Mujtaba C Chui
Aruna E Shinko
James V Saylors
James T Stockham
Smith N Malet
Rodrigues B Rulapaugh
Francesco H Wieser
Deepesh C Waycott
Jones E Stockham
Mayumi J Poquette
Ivar N Rulapaugh
Murillo Y Flosi
Jefferson A Bowley
Jefferson C Slusarski
Johnson U Darakjy
Murillo I Dilliard
Munro O Kusko
Chavez J Rulapaugh
Mayumi X Gillian
Deepesh U Oldroyd
Silvio R Flosi
Alejandro Y Whobrey
Adams J Wieser
Julie T Caudy
Octavia Z Waycott
Deepesh D Kolmetz
Kadeem R Gaucho
Maria U Figeroa
Antonio K Glick
Nicolas M Inouye
Adams L Sergi
Faith F Malet
IdCountryDate
1000Germany2024-06-16
1001India2024-05-29
1002Germany2024-05-22
1003Argentina2024-06-06
1004United Kingdom2024-06-16
1005Italy2024-05-27
1006United Kingdom2024-06-09
1007Russia2024-06-02
1008Brazil2024-05-28
1009Brazil2024-05-25
1010Japan2024-06-16
1011Japan2024-06-14
1012Brazil2024-06-05
1013Spain2024-06-16
1014France2024-06-09
1015Russia2024-05-28
1016Russia2024-06-01
1017Japan2024-06-12
1018Canada2024-06-10
1019Brazil2024-05-18
1020United Kingdom2024-05-25
1021Germany2024-05-22
1022Italy2024-06-11
1023Russia2024-06-05
1024Canada2024-06-03
1025Japan2024-06-11
1026Brazil2024-05-21
1027United Kingdom2024-06-11
1028United Kingdom2024-05-31
1029Australia2024-05-24
1030India2024-05-31
1031United Kingdom2024-06-13
1032Brazil2024-06-06
1033Argentina2024-06-03
1034United Kingdom2024-05-27
1035United Kingdom2024-06-01
1036Australia2024-05-19
1037Italy2024-06-06
1038Spain2024-06-06
1039Germany2024-05-25
1040India2024-05-20
1041United Kingdom2024-06-12
1042Argentina2024-05-26
1043Argentina2024-06-03
1044Canada2024-06-03
1045United Kingdom2024-06-02
1046Spain2024-05-18
1047France2024-06-11
1048France2024-06-10
1049Italy2024-06-14

On-Demand Data

NameIdCountryDate
Aika N Glick1000Italy2024-05-23
Rodrigues Y Amigon1001Russia2024-05-18
Adams M Morasca1002Germany2024-06-01
Smith E Ruta1003Argentina2024-05-24
David K Gaucho1004Australia2024-06-02
Munro H Whobrey1005Japan2024-05-20
Darci Y Whobrey1006France2024-05-18
Claire E Waycott1007Spain2024-06-09
Jennifer Y Stenseth1008Spain2024-06-11
Alejandro O Dilliard1009France2024-06-03
Claire V Kolmetz1010France2024-05-28
Ricardo V Glick1011France2024-06-07
David M Garufi1012Australia2024-06-06
Maisha H Briddick1013United Kingdom2024-05-27
Aditya H Slusarski1014Spain2024-05-19
Rodrigues R Campain1015Canada2024-06-10
Octavia E Inouye1016Germany2024-06-10
Wickens X Saylors1017Brazil2024-06-12
Rodrigues V Poquette1018France2024-05-24
Clifford J Briddick1019Russia2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James M PoquetteBrazilStephen Shaw NEW
Antonio D OldroydIndiaIoni Bowcher PROPOSAL
Juan Q StockhamBrazilAsiya Javayant UNQUALIFIED
Octavia E PaprockiAustraliaOnyama Limba PROPOSAL
James J DarakjyBrazilStephen Shaw QUALIFIED
Maisha E ButtItalyBernardo Dominic RENEWAL
David V BowleyFranceOnyama Limba RENEWAL
Leja T RoysterRussiaIvan Magalhaes RENEWAL
Nicolas V BowleyAustraliaStephen Shaw QUALIFIED
Johnson G RimUnited KingdomStephen Shaw RENEWAL
Ivar M FlosiFranceAsiya Javayant QUALIFIED
Mujtaba C MaletJapanIoni Bowcher NEW
Darci A WieserIndiaBernardo Dominic RENEWAL
Aruna O PerinRussiaAnna Fali PROPOSAL
Isabel W GauchoCanadaIvan Magalhaes NEW
Leja E GlickAustraliaAmy Elsner RENEWAL
Tony Q CaldareraRussiaIoni Bowcher RENEWAL
Sinclair A IturbideSpainAmy Elsner UNQUALIFIED
Silvio R BriddickAustraliaStephen Shaw QUALIFIED
Isabel U CaudyCanadaXuxue Feng NEW
Ashley J AmigonIndiaBernardo Dominic NEGOTIATION
Stacey G DoeUnited KingdomElwin Sharvill NEGOTIATION
Juan N AmigonGermanyAnna Fali QUALIFIED
Stacey Y SchemmerIndiaXuxue Feng RENEWAL
Aditya O GillianItalyStephen Shaw UNQUALIFIED
Wickens O GarufiFranceAnna Fali QUALIFIED
Izzy N PoquetteIndiaStephen Shaw RENEWAL
Johnson T MaletBrazilOnyama Limba NEW
Julie T FigeroaIndiaStephen Shaw NEGOTIATION
Clifford A DarakjyGermanyElwin Sharvill PROPOSAL
Maria H RutaJapanIoni Bowcher UNQUALIFIED
Claire K KolmetzAustraliaIoni Bowcher UNQUALIFIED
Antonio N MaletJapanOnyama Limba NEW
Mujtaba J MarrierFranceBernardo Dominic NEGOTIATION
Aditya O MaletArgentinaAnna Fali NEW
Wickens W MarrierAustraliaIvan Magalhaes QUALIFIED
Darci K GlickJapanOnyama Limba QUALIFIED
Ricardo F SchemmerArgentinaIvan Magalhaes RENEWAL
Wickens Y FerenczBrazilBernardo Dominic PROPOSAL
Julie Y AmigonSpainXuxue Feng UNQUALIFIED

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