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
Morrow J SergiBrazilAsiya Javayant NEGOTIATION
Sinclair T ButtJapanBernardo Dominic RENEWAL
Francesco C GillianGermanyBernardo Dominic NEW
Cody I SlusarskiUnited KingdomOnyama Limba RENEWAL
Darci C PaprockiItalyBernardo Dominic NEW
Murillo K MaletBrazilAsiya Javayant NEGOTIATION
Cody L IturbideFranceOnyama Limba PROPOSAL
Munro H GauchoBrazilIoni Bowcher RENEWAL
Alejandro R KolmetzAustraliaXuxue Feng NEGOTIATION
Aika R VocelkaCanadaXuxue Feng RENEWAL
Morrow W PaprockiArgentinaIvan Magalhaes UNQUALIFIED
Wickens C MaletFranceIoni Bowcher RENEWAL
Ashley H ChuiRussiaStephen Shaw NEGOTIATION
Wickens V MacleadRussiaOnyama Limba PROPOSAL
Claire V StensethGermanyAnna Fali RENEWAL
Julie U NestleSpainIvan Magalhaes NEGOTIATION
Jones N CaudyItalyIoni Bowcher NEGOTIATION
Ivar B PoquetteIndiaXuxue Feng UNQUALIFIED
Johnson U MaletSpainXuxue Feng QUALIFIED
Faith K WhobreyGermanyXuxue Feng RENEWAL
Kadeem E WhobreySpainOnyama Limba NEGOTIATION
Ashley X WaycottFranceBernardo Dominic NEW
Tony S AlbaresBrazilBernardo Dominic NEW
Arvin K StockhamSpainXuxue Feng UNQUALIFIED
Ricardo K StockhamJapanIvan Magalhaes NEW
Darci E ChuiBrazilAnna Fali PROPOSAL
Jennifer B TollnerFranceBernardo Dominic NEGOTIATION
Leja A SchemmerArgentinaIvan Magalhaes UNQUALIFIED
Sinclair W RimJapanXuxue Feng UNQUALIFIED
Stacey W GlickItalyXuxue Feng QUALIFIED
Chavez P CaldareraGermanyStephen Shaw QUALIFIED
Stacey R CaldareraUnited KingdomStephen Shaw NEGOTIATION
Jeanfrancois C FerenczCanadaIoni Bowcher QUALIFIED
Jeanfrancois W VocelkaCanadaXuxue Feng UNQUALIFIED
Faith Y KolmetzJapanAmy Elsner UNQUALIFIED
Chavez I VenereGermanyOnyama Limba RENEWAL
Izzy O PaprockiFranceBernardo Dominic PROPOSAL
Chavez T SlusarskiBrazilAmy Elsner NEGOTIATION
Julie W KolmetzRussiaAmy Elsner QUALIFIED
Sinclair N WieserCanadaAnna Fali NEGOTIATION
Darci I VocelkaFranceOnyama Limba NEW
Alejandro P VocelkaRussiaIvan Magalhaes NEGOTIATION
Aruna U CaldareraBrazilIoni Bowcher UNQUALIFIED
Ricardo L FerenczRussiaBernardo Dominic NEW
Stacey X DoeIndiaBernardo Dominic NEGOTIATION
Nicolas R SchemmerBrazilAnna Fali UNQUALIFIED
Ivar U NestleIndiaStephen Shaw NEW
Kadeem P RulapaughUnited KingdomIvan Magalhaes NEGOTIATION
Julie A ChuiCanadaAmy Elsner RENEWAL
Wickens A SchemmerAustraliaAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Clifford N TollnerArgentinaOnyama Limba UNQUALIFIED
Maisha T ChuiRussiaStephen Shaw NEGOTIATION
Cody E StensethCanadaIoni Bowcher UNQUALIFIED
Munro P MaletRussiaElwin Sharvill UNQUALIFIED
Greenwood D GauchoJapanAsiya Javayant NEGOTIATION
Cody A DarakjyArgentinaElwin Sharvill UNQUALIFIED
Johnson P AmigonAustraliaStephen Shaw NEGOTIATION
Ivar K PoquetteBrazilIvan Magalhaes NEW
Chavez J GillianRussiaStephen Shaw QUALIFIED
Munro W GlickArgentinaOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith Z CampainGermany2024-05-10Chanay, Jeffrey A Esq NEW38Amy Elsner
1001Antonio U WhobreyFrance2024-04-27Chanay, Jeffrey A Esq NEGOTIATION29Elwin Sharvill
1002Wickens W PoquetteAustralia2024-04-28Buckley Miller Wright RENEWAL43Elwin Sharvill
1003Rodrigues I DilliardRussia2024-04-28Dorl, James J Esq UNQUALIFIED35Anna Fali
1004Francesco F CaldareraAustralia2024-05-13Feltz Printing Service NEW88Onyama Limba
1005Morrow O WaycottUnited Kingdom2024-05-17Printing Dimensions QUALIFIED22Onyama Limba
1006Johnson Z BowleyGermany2024-05-02Buckley Miller Wright NEW32Onyama Limba
1007Ashley M MarrierJapan2024-05-16Benton, John B Jr PROPOSAL87Bernardo Dominic
1008Ashley L FollerFrance2024-05-22Commercial Press UNQUALIFIED27Onyama Limba
1009Clifford Q StockhamSpain2024-05-04Feiner Bros RENEWAL11Ioni Bowcher
1010Darci W PaprockiAustralia2024-05-01Chapman, Ross E Esq NEGOTIATION24Elwin Sharvill
1011Mujtaba V AmigonGermany2024-05-07Rangoni Of Florence NEGOTIATION76Elwin Sharvill
1012Murillo H ChuiRussia2024-05-10Truhlar And Truhlar Attys PROPOSAL14Ivan Magalhaes
1013James K DarakjyRussia2024-05-23Rousseaux, Michael Esq NEGOTIATION67Onyama Limba
1014Stacey O WhobreySpain2024-04-30Dorl, James J Esq RENEWAL9Anna Fali
1015Aruna P MarrierArgentina2024-04-28Chanay, Jeffrey A Esq NEW55Amy Elsner
1016Ricardo Y StockhamFrance2024-05-07Commercial Press PROPOSAL54Stephen Shaw
1017Rodrigues N GauchoRussia2024-04-26Commercial Press RENEWAL85Bernardo Dominic
1018Aditya T WaycottUnited Kingdom2024-04-30Chapman, Ross E Esq QUALIFIED7Bernardo Dominic
1019Leja R RutaGermany2024-05-18Truhlar And Truhlar Attys RENEWAL59Amy Elsner
1020Jeanfrancois O RulapaughCanada2024-04-28Benton, John B Jr QUALIFIED76Amy Elsner
1021Salvatore N OldroydSpain2024-05-08Chanay, Jeffrey A Esq PROPOSAL3Ivan Magalhaes
1022Isabel T ShinkoItaly2024-04-30Chapman, Ross E Esq NEGOTIATION30Stephen Shaw
1023Tony Z NickaUnited Kingdom2024-05-14Printing Dimensions UNQUALIFIED9Xuxue Feng
1024Morrow R TollnerBrazil2024-05-20Printing Dimensions RENEWAL92Asiya Javayant
1025Mujtaba I CampainUnited Kingdom2024-05-04Buckley Miller Wright NEW0Onyama Limba
1026Johnson K MaletUnited Kingdom2024-05-09Chemel, James L Cpa RENEWAL25Ivan Magalhaes
1027David M MarrierSpain2024-05-23Morlong Associates RENEWAL50Bernardo Dominic
1028Aruna I MorascaArgentina2024-05-18Morlong Associates NEGOTIATION59Anna Fali
1029Jennifer S DilliardArgentina2024-05-08King, Christopher A Esq PROPOSAL13Amy Elsner
1030Izzy T RimGermany2024-04-26King, Christopher A Esq QUALIFIED91Asiya Javayant
1031Adams C StockhamUnited Kingdom2024-05-18Dorl, James J Esq NEGOTIATION22Asiya Javayant
1032Johnson O InouyeIndia2024-05-20King, Christopher A Esq QUALIFIED67Ioni Bowcher
1033Francesco C VocelkaArgentina2024-04-26Chanay, Jeffrey A Esq NEGOTIATION5Elwin Sharvill
1034Jeanfrancois R MaletUnited Kingdom2024-05-12Chanay, Jeffrey A Esq NEW85Onyama Limba
1035Kadeem H BologniaIndia2024-04-28Morlong Associates PROPOSAL59Amy Elsner
1036Jennifer U FollerItaly2024-05-21Chanay, Jeffrey A Esq QUALIFIED17Ivan Magalhaes
1037Jones U DilliardUnited Kingdom2024-05-09Printing Dimensions UNQUALIFIED47Ioni Bowcher
1038Darci K FlosiSpain2024-05-11Benton, John B Jr PROPOSAL71Elwin Sharvill
1039Maisha U NestleSpain2024-05-11Rangoni Of Florence PROPOSAL76Stephen Shaw
1040Mayumi A WieserItaly2024-05-10Commercial Press RENEWAL76Onyama Limba
1041Johnson X BriddickAustralia2024-05-14Feiner Bros RENEWAL79Ioni Bowcher
1042Maisha Y OldroydIndia2024-04-24Chemel, James L Cpa RENEWAL89Xuxue Feng
1043Claire A GlickGermany2024-05-17Printing Dimensions UNQUALIFIED68Xuxue Feng
1044Juan Z InouyeAustralia2024-05-17Feltz Printing Service NEW14Bernardo Dominic
1045Munro E FollerGermany2024-04-26Chapman, Ross E Esq QUALIFIED25Anna Fali
1046Aika F NickaSpain2024-05-21Feiner Bros PROPOSAL68Asiya Javayant
1047Julie D PaprockiItaly2024-05-03Chapman, Ross E Esq RENEWAL29Ivan Magalhaes
1048Tony F PerinIndia2024-05-13Benton, John B Jr RENEWAL57Ioni Bowcher
1049Silvio B FlosiGermany2024-04-27King, Christopher A Esq PROPOSAL66Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Kadeem N MarrierAustraliaAmy Elsner NEW
Maisha D MaletArgentinaAsiya Javayant NEW
Munro S FollerFranceStephen Shaw QUALIFIED
Misaki L WhobreyItalyStephen Shaw UNQUALIFIED
Maria R SergiGermanyAnna Fali UNQUALIFIED
Adams E MaletArgentinaIvan Magalhaes NEW
Rodrigues G ButtUnited KingdomBernardo Dominic UNQUALIFIED
Nicolas Q InouyeJapanBernardo Dominic UNQUALIFIED
Jeanfrancois Y AlbaresIndiaElwin Sharvill UNQUALIFIED
Leja P BriddickIndiaIoni Bowcher NEGOTIATION
Smith J FlosiBrazilElwin Sharvill NEW
Maria Z SlusarskiRussiaElwin Sharvill NEGOTIATION
Ivar B FerenczRussiaIoni Bowcher RENEWAL
Chavez B FollerItalyOnyama Limba RENEWAL
David Q OldroydBrazilIvan Magalhaes NEW
Julie D AlbaresSpainBernardo Dominic NEGOTIATION
Leon A PerinJapanBernardo Dominic UNQUALIFIED
Adams L WhobreyUnited KingdomStephen Shaw RENEWAL
Jefferson D BowleyFranceElwin Sharvill UNQUALIFIED
Maisha D FerenczItalyIoni Bowcher UNQUALIFIED
Ricardo S SaylorsGermanyAnna Fali RENEWAL
Izzy S VenereUnited KingdomIvan Magalhaes NEW
Darci F SlusarskiUnited KingdomIvan Magalhaes RENEWAL
Nicolas U SlusarskiFranceAsiya Javayant RENEWAL
Clifford R WaycottCanadaAsiya Javayant NEW
Juan M FollerBrazilIvan Magalhaes NEW
Misaki O VenereIndiaAsiya Javayant NEW
Nicolas Y BriddickItalyXuxue Feng NEW
Aditya Z MorascaUnited KingdomOnyama Limba NEW
Jefferson A CampainSpainBernardo Dominic PROPOSAL
Nicolas M StockhamAustraliaXuxue Feng QUALIFIED
Johnson Q PerinAustraliaStephen Shaw PROPOSAL
Sinclair D BowleyAustraliaAmy Elsner NEGOTIATION
Francesco M VocelkaBrazilStephen Shaw NEGOTIATION
Johnson A PaprockiGermanyIvan Magalhaes RENEWAL
Claire E StockhamAustraliaIvan Magalhaes QUALIFIED
Cody W PaprockiArgentinaAnna Fali NEGOTIATION
Jennifer Y InouyeRussiaAsiya Javayant QUALIFIED
Julie H RimCanadaBernardo Dominic UNQUALIFIED
Mayumi Q InouyeSpainBernardo Dominic QUALIFIED
Stacey S MorascaItalyOnyama Limba RENEWAL
Mayumi S TollnerUnited KingdomElwin Sharvill NEGOTIATION
Antonio O OstroskyAustraliaAsiya Javayant NEGOTIATION
Mujtaba V GarufiArgentinaStephen Shaw UNQUALIFIED
Salvatore W SchemmerFranceAnna Fali PROPOSAL
Costa H RoysterFranceOnyama Limba NEW
Smith U SergiRussiaStephen Shaw RENEWAL
Greenwood G SaylorsSpainStephen Shaw UNQUALIFIED
Ricardo G KolmetzIndiaIoni Bowcher UNQUALIFIED
Isabel J BologniaRussiaIoni Bowcher NEGOTIATION
Frozen Columns
Name
Antonio B Maclead
Mujtaba E Nestle
Greenwood A Amigon
Faith B Kolmetz
Aika O Caldarera
Mujtaba U Amigon
Antonio M Foller
Leon Z Shinko
Claire M Shinko
Costa K Iturbide
Darci Q Sergi
Leja X Stenseth
Leon V Ferencz
Jennifer W Garufi
Leja B Paprocki
Munro C Albares
Cody N Doe
Rodrigues C Vocelka
Ricardo W Malet
Deepesh O Kolmetz
Aika A Waycott
Silvio R Ostrosky
Isabel T Doe
Kadeem P Caudy
Claire G Marrier
Rodrigues D Perin
Ricardo E Perin
Murillo S Poquette
Tony S Garufi
Izzy K Perin
Juan X Sergi
Leja C Figeroa
Emily Q Perin
Antonio Z Amigon
Aruna K Ferencz
Deepesh D Morasca
Faith O Paprocki
Kaitlin S Royster
Faith B Kolmetz
Mujtaba J Amigon
Alejandro R Waycott
Izzy C Bowley
Stacey E Rim
Aditya F Nestle
Isabel N Nestle
Mujtaba F Amigon
Sinclair T Stockham
James I Darakjy
Arvin V Dilliard
Jefferson N Maclead
IdCountryDate
1000Spain2024-05-07
1001Germany2024-05-18
1002Argentina2024-05-09
1003Argentina2024-05-23
1004India2024-05-19
1005Canada2024-04-28
1006Japan2024-05-22
1007Australia2024-05-04
1008Argentina2024-05-22
1009Spain2024-05-22
1010Russia2024-05-12
1011Brazil2024-05-02
1012Argentina2024-05-14
1013Brazil2024-04-30
1014Italy2024-05-10
1015India2024-05-08
1016Brazil2024-04-28
1017Germany2024-04-28
1018United Kingdom2024-05-18
1019Spain2024-05-19
1020United Kingdom2024-05-20
1021Australia2024-05-23
1022Spain2024-04-27
1023Australia2024-05-13
1024Brazil2024-05-14
1025Argentina2024-05-13
1026India2024-05-10
1027Argentina2024-05-20
1028France2024-04-30
1029Spain2024-05-02
1030Spain2024-05-14
1031Germany2024-04-29
1032Italy2024-05-19
1033Canada2024-04-28
1034Germany2024-05-03
1035Japan2024-05-02
1036Brazil2024-05-01
1037Canada2024-05-12
1038United Kingdom2024-05-22
1039Italy2024-05-16
1040Spain2024-05-15
1041Russia2024-04-25
1042Brazil2024-05-07
1043Russia2024-05-10
1044Canada2024-05-12
1045India2024-05-16
1046Argentina2024-05-15
1047United Kingdom2024-04-26
1048France2024-05-06
1049Canada2024-05-01

On-Demand Data

NameIdCountryDate
Adams Q Rulapaugh1000Canada2024-05-18
Darci N Campain1001Canada2024-04-29
Munro T Nicka1002United Kingdom2024-05-09
Misaki Z Stenseth1003Argentina2024-05-16
Wickens C Slusarski1004Australia2024-05-12
Octavia Z Perin1005Australia2024-05-22
Nicolas E Tollner1006India2024-05-03
Sinclair Q Amigon1007Argentina2024-05-05
Octavia H Morasca1008Spain2024-04-24
Ashley B Wieser1009India2024-04-28
Ricardo D Doe1010Italy2024-05-16
Cody E Saylors1011Japan2024-05-14
Leja H Venere1012United Kingdom2024-05-17
Faith H Saylors1013Brazil2024-05-20
Clifford H Malet1014Italy2024-05-05
Maisha F Royster1015Japan2024-04-25
Rodrigues V Oldroyd1016France2024-05-21
Mayumi T Nestle1017Japan2024-05-16
David Y Kolmetz1018Brazil2024-04-28
Tony V Gillian1019France2024-05-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas C VocelkaRussiaAmy Elsner NEW
Wickens C StockhamIndiaIoni Bowcher UNQUALIFIED
Johnson J FollerSpainStephen Shaw PROPOSAL
Misaki T ShinkoSpainIvan Magalhaes UNQUALIFIED
Jefferson W SchemmerIndiaOnyama Limba UNQUALIFIED
Salvatore O BologniaIndiaXuxue Feng RENEWAL
Mayumi M FerenczCanadaIvan Magalhaes PROPOSAL
David S DilliardBrazilIvan Magalhaes QUALIFIED
Darci C StensethIndiaAnna Fali UNQUALIFIED
Johnson N TollnerAustraliaAmy Elsner QUALIFIED
Cody Q OldroydArgentinaIvan Magalhaes RENEWAL
Antonio Y DoeCanadaOnyama Limba UNQUALIFIED
Morrow B SlusarskiCanadaIvan Magalhaes PROPOSAL
Juan A GarufiBrazilBernardo Dominic UNQUALIFIED
Kaitlin F FollerBrazilOnyama Limba RENEWAL
Rodrigues A BologniaCanadaBernardo Dominic RENEWAL
Murillo E StockhamRussiaStephen Shaw QUALIFIED
Arvin O IturbideSpainOnyama Limba UNQUALIFIED
David I RulapaughItalyAmy Elsner PROPOSAL
Clifford I NestleAustraliaIvan Magalhaes QUALIFIED
Chavez F SchemmerJapanAnna Fali QUALIFIED
Greenwood K FlosiItalyAmy Elsner UNQUALIFIED
Aika K BriddickCanadaXuxue Feng RENEWAL
Darci Y GarufiItalyOnyama Limba NEW
Morrow C CaudyJapanBernardo Dominic PROPOSAL
James S MaletSpainIvan Magalhaes QUALIFIED
Rodrigues E MacleadArgentinaStephen Shaw UNQUALIFIED
Nicolas P AmigonArgentinaElwin Sharvill RENEWAL
Nicolas V KolmetzRussiaAsiya Javayant QUALIFIED
Maisha U WhobreyJapanAmy Elsner PROPOSAL
Faith Y BriddickCanadaAsiya Javayant NEW
Sinclair O DilliardGermanyAsiya Javayant PROPOSAL
Mujtaba D PaprockiIndiaIvan Magalhaes RENEWAL
Faith T BowleyBrazilBernardo Dominic RENEWAL
Octavia F StockhamSpainElwin Sharvill UNQUALIFIED
Jones W GauchoGermanyAmy Elsner NEGOTIATION
Arvin I OldroydJapanAsiya Javayant PROPOSAL
Kaitlin I TollnerFranceAnna Fali NEW
Julie L KuskoUnited KingdomAmy Elsner PROPOSAL
Kaitlin E AlbaresSpainIvan Magalhaes 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>