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
Emily N ShinkoAustraliaBernardo Dominic QUALIFIED
James K BologniaSpainElwin Sharvill NEW
Claire S FlosiSpainIvan Magalhaes NEGOTIATION
Mayumi O MorascaIndiaXuxue Feng PROPOSAL
Isabel X FollerIndiaAmy Elsner NEGOTIATION
Claire P VenereJapanBernardo Dominic QUALIFIED
Salvatore K DarakjyAustraliaAmy Elsner RENEWAL
Darci F BriddickIndiaAsiya Javayant PROPOSAL
Nicolas K DilliardArgentinaAnna Fali NEW
Kadeem K RoysterBrazilAmy Elsner QUALIFIED
Jefferson X NickaArgentinaXuxue Feng PROPOSAL
Ashley L GlickItalyStephen Shaw NEGOTIATION
Rodrigues D VocelkaUnited KingdomAsiya Javayant PROPOSAL
Cody V MarrierRussiaAmy Elsner NEW
Stacey C RoysterBrazilIoni Bowcher PROPOSAL
Izzy V InouyeBrazilStephen Shaw PROPOSAL
Silvio U StensethAustraliaAmy Elsner NEW
Darci T FlosiFranceAnna Fali RENEWAL
Julie E PaprockiAustraliaIoni Bowcher NEGOTIATION
Kadeem X OstroskyRussiaElwin Sharvill RENEWAL
Clifford Y RoysterJapanStephen Shaw UNQUALIFIED
Kadeem G OstroskyUnited KingdomIvan Magalhaes PROPOSAL
Aruna D WaycottGermanyIoni Bowcher PROPOSAL
Deepesh P DoeRussiaAsiya Javayant PROPOSAL
Morrow S BowleyFranceAmy Elsner NEW
Julie X CaudyBrazilAmy Elsner PROPOSAL
Jefferson W MarrierJapanOnyama Limba UNQUALIFIED
Salvatore V VenereIndiaAnna Fali QUALIFIED
Juan Q RutaCanadaIvan Magalhaes NEGOTIATION
Mujtaba F NickaRussiaAsiya Javayant UNQUALIFIED
Silvio N WhobreyRussiaAnna Fali PROPOSAL
Arvin V BowleyUnited KingdomElwin Sharvill UNQUALIFIED
Ivar B IturbideJapanBernardo Dominic NEGOTIATION
Ivar Y MarrierCanadaBernardo Dominic NEGOTIATION
Darci P BologniaItalyAsiya Javayant NEGOTIATION
Ashley Q FerenczRussiaAsiya Javayant NEGOTIATION
Kaitlin L RoysterJapanAmy Elsner NEGOTIATION
Chavez F GlickRussiaElwin Sharvill NEW
Jeanfrancois E MaletCanadaElwin Sharvill UNQUALIFIED
Faith K MarrierUnited KingdomAsiya Javayant NEGOTIATION
Alejandro R StensethJapanIvan Magalhaes RENEWAL
Aika H AlbaresRussiaIvan Magalhaes QUALIFIED
Octavia Z DarakjyFranceXuxue Feng NEGOTIATION
Darci K WieserCanadaAsiya Javayant NEW
Faith G RutaAustraliaXuxue Feng RENEWAL
Murillo B ButtSpainBernardo Dominic PROPOSAL
Kaitlin Q NestleSpainAsiya Javayant QUALIFIED
Mujtaba L MarrierGermanyAnna Fali UNQUALIFIED
Francesco L MacleadAustraliaAmy Elsner RENEWAL
Jefferson B ShinkoFranceAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Murillo R StockhamBrazilAsiya Javayant RENEWAL
Salvatore K KolmetzBrazilIoni Bowcher NEW
Smith O GarufiAustraliaIoni Bowcher NEGOTIATION
Salvatore X ChuiUnited KingdomElwin Sharvill QUALIFIED
Ivar T GillianGermanyStephen Shaw NEW
Aruna K DilliardFranceOnyama Limba NEW
Stacey F BriddickAustraliaXuxue Feng UNQUALIFIED
Isabel Y DarakjyFranceStephen Shaw QUALIFIED
Aditya Q WieserCanadaBernardo Dominic QUALIFIED
Antonio J SaylorsFranceXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey A FollerItaly2024-06-15Truhlar And Truhlar Attys UNQUALIFIED75Asiya Javayant
1001Jefferson I ChuiIndia2024-06-03Benton, John B Jr NEW26Amy Elsner
1002Sinclair J MaletItaly2024-06-15Feltz Printing Service UNQUALIFIED71Stephen Shaw
1003Claire A KolmetzAustralia2024-05-24King, Christopher A Esq RENEWAL17Asiya Javayant
1004Jennifer Z TollnerAustralia2024-06-01Truhlar And Truhlar Attys NEGOTIATION48Amy Elsner
1005Jennifer F FigeroaItaly2024-05-23Rangoni Of Florence QUALIFIED51Ioni Bowcher
1006Stacey N FlosiFrance2024-06-07Rangoni Of Florence QUALIFIED88Ivan Magalhaes
1007Ashley D ChuiAustralia2024-05-31Benton, John B Jr PROPOSAL16Ivan Magalhaes
1008Maisha J StensethIndia2024-06-01Commercial Press QUALIFIED21Amy Elsner
1009Adams W SchemmerIndia2024-06-02Truhlar And Truhlar Attys NEW39Bernardo Dominic
1010Clifford N StensethGermany2024-06-06Chapman, Ross E Esq NEGOTIATION13Bernardo Dominic
1011Costa Y MorascaBrazil2024-06-19Chemel, James L Cpa PROPOSAL88Elwin Sharvill
1012Jefferson V BologniaIndia2024-06-10Truhlar And Truhlar Attys RENEWAL29Bernardo Dominic
1013Clifford W VocelkaAustralia2024-05-25Dorl, James J Esq NEGOTIATION0Ioni Bowcher
1014Maria L RulapaughGermany2024-06-04Chanay, Jeffrey A Esq UNQUALIFIED91Bernardo Dominic
1015Jones O RutaRussia2024-06-14Chemel, James L Cpa UNQUALIFIED14Asiya Javayant
1016Murillo N SlusarskiIndia2024-06-09Printing Dimensions NEW49Anna Fali
1017Octavia V DarakjyBrazil2024-06-12Chanay, Jeffrey A Esq PROPOSAL3Stephen Shaw
1018Faith D CaudyAustralia2024-06-01Rousseaux, Michael Esq UNQUALIFIED95Onyama Limba
1019Chavez E BologniaRussia2024-06-09Chapman, Ross E Esq NEW23Bernardo Dominic
1020Misaki M IturbideIndia2024-06-13Benton, John B Jr NEGOTIATION4Ivan Magalhaes
1021Jennifer C SchemmerJapan2024-06-18Rousseaux, Michael Esq NEW36Amy Elsner
1022Mayumi J FerenczBrazil2024-05-24Buckley Miller Wright QUALIFIED69Stephen Shaw
1023Maria Z NestleUnited Kingdom2024-05-24Rousseaux, Michael Esq RENEWAL56Ivan Magalhaes
1024Jones M CaudyBrazil2024-06-06Buckley Miller Wright RENEWAL65Xuxue Feng
1025Murillo Q MacleadSpain2024-06-17Chapman, Ross E Esq UNQUALIFIED48Anna Fali
1026Kaitlin B StockhamUnited Kingdom2024-05-30Chanay, Jeffrey A Esq QUALIFIED8Asiya Javayant
1027James F VocelkaUnited Kingdom2024-05-30Chapman, Ross E Esq UNQUALIFIED87Ivan Magalhaes
1028Darci E BriddickGermany2024-05-31Chapman, Ross E Esq PROPOSAL3Stephen Shaw
1029Aruna B NickaSpain2024-06-14Morlong Associates QUALIFIED94Ioni Bowcher
1030Emily C RutaArgentina2024-06-19Commercial Press UNQUALIFIED47Ioni Bowcher
1031Nicolas Y RimBrazil2024-05-25Benton, John B Jr NEGOTIATION50Bernardo Dominic
1032Salvatore S GarufiSpain2024-06-09Benton, John B Jr UNQUALIFIED13Elwin Sharvill
1033Isabel S RimIndia2024-05-30Printing Dimensions QUALIFIED79Asiya Javayant
1034Sinclair B PerinRussia2024-05-28Buckley Miller Wright NEGOTIATION16Elwin Sharvill
1035Johnson T GlickCanada2024-06-03Chemel, James L Cpa RENEWAL79Ioni Bowcher
1036Leon M RimBrazil2024-05-31Chapman, Ross E Esq PROPOSAL52Anna Fali
1037Darci K FlosiIndia2024-05-31Chanay, Jeffrey A Esq UNQUALIFIED96Bernardo Dominic
1038Jennifer E FlosiBrazil2024-05-25Chapman, Ross E Esq NEW27Ivan Magalhaes
1039Costa P KuskoGermany2024-06-16Commercial Press QUALIFIED35Asiya Javayant
1040Leon I BowleySpain2024-06-10King, Christopher A Esq NEW79Ioni Bowcher
1041Morrow P RimSpain2024-05-24Truhlar And Truhlar Attys NEGOTIATION93Ioni Bowcher
1042Jefferson D GarufiJapan2024-06-04King, Christopher A Esq PROPOSAL47Xuxue Feng
1043Kadeem L GauchoJapan2024-06-18Rangoni Of Florence NEW40Onyama Limba
1044Deepesh H AlbaresGermany2024-06-17Commercial Press PROPOSAL0Asiya Javayant
1045Jefferson V MorascaAustralia2024-06-04King, Christopher A Esq QUALIFIED62Asiya Javayant
1046Costa Z CaldareraItaly2024-05-29Benton, John B Jr PROPOSAL55Ivan Magalhaes
1047Tony R DilliardGermany2024-06-19Chanay, Jeffrey A Esq QUALIFIED92Anna Fali
1048Maria R DarakjyItaly2024-05-23Chapman, Ross E Esq PROPOSAL31Onyama Limba
1049Tony A NickaArgentina2024-05-23Chapman, Ross E Esq NEGOTIATION18Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Cody H FollerBrazilAsiya Javayant NEGOTIATION
Rodrigues C AmigonAustraliaBernardo Dominic PROPOSAL
Arvin V SaylorsFranceBernardo Dominic UNQUALIFIED
Rodrigues E GlickIndiaAsiya Javayant NEGOTIATION
Isabel O WaycottSpainBernardo Dominic UNQUALIFIED
Juan M GarufiItalyBernardo Dominic NEW
Maria K MaletCanadaAsiya Javayant UNQUALIFIED
Faith B PaprockiRussiaAsiya Javayant PROPOSAL
Murillo Q FigeroaBrazilIvan Magalhaes NEGOTIATION
Cody Q ButtArgentinaIvan Magalhaes NEGOTIATION
Aika P ButtFranceIoni Bowcher NEW
Aruna S WaycottBrazilStephen Shaw UNQUALIFIED
Stacey Y MorascaUnited KingdomIoni Bowcher NEW
Murillo Z FollerSpainIoni Bowcher UNQUALIFIED
Maria Q StensethItalyOnyama Limba PROPOSAL
Kadeem W OstroskyGermanyIvan Magalhaes PROPOSAL
Julie B SergiJapanAsiya Javayant UNQUALIFIED
Arvin V SlusarskiRussiaAsiya Javayant UNQUALIFIED
Adams W NickaGermanyAmy Elsner RENEWAL
Aika J DilliardCanadaIvan Magalhaes NEW
Leja E GarufiRussiaAsiya Javayant QUALIFIED
Stacey E ShinkoCanadaAnna Fali QUALIFIED
Greenwood F KolmetzAustraliaIvan Magalhaes UNQUALIFIED
Murillo L VenereIndiaBernardo Dominic PROPOSAL
Aika B WaycottIndiaElwin Sharvill QUALIFIED
Juan N AmigonUnited KingdomStephen Shaw PROPOSAL
Munro R SergiRussiaStephen Shaw UNQUALIFIED
Francesco R IturbideFranceElwin Sharvill UNQUALIFIED
Clifford L NestleAustraliaAmy Elsner RENEWAL
Octavia V VocelkaSpainBernardo Dominic NEGOTIATION
Julie G WhobreyIndiaElwin Sharvill QUALIFIED
Leon C RutaJapanIvan Magalhaes QUALIFIED
Adams O GauchoUnited KingdomAnna Fali PROPOSAL
Jefferson R ButtArgentinaAnna Fali RENEWAL
Aditya W StensethSpainStephen Shaw PROPOSAL
Mayumi M GlickItalyXuxue Feng UNQUALIFIED
James Q IturbideBrazilAnna Fali NEW
Maria Z MaletRussiaAnna Fali PROPOSAL
Kadeem J DarakjyBrazilOnyama Limba NEGOTIATION
Misaki B RulapaughFranceXuxue Feng RENEWAL
Silvio G InouyeIndiaBernardo Dominic NEW
Aruna C TollnerFranceIvan Magalhaes PROPOSAL
Maisha J RulapaughSpainIoni Bowcher UNQUALIFIED
Clifford G FollerCanadaStephen Shaw RENEWAL
Costa J SchemmerJapanBernardo Dominic NEW
Francesco K ShinkoFranceIvan Magalhaes PROPOSAL
Sinclair F VenereItalyBernardo Dominic UNQUALIFIED
Leja V ButtFranceIoni Bowcher UNQUALIFIED
Kadeem G FigeroaRussiaStephen Shaw QUALIFIED
Johnson G GlickBrazilStephen Shaw PROPOSAL
Frozen Columns
Name
Francesco I Poquette
Jennifer B Stockham
Tony Q Perin
Mayumi W Oldroyd
Darci C Figeroa
Deepesh E Oldroyd
Murillo I Gillian
Cody O Poquette
Johnson W Inouye
Clifford A Rim
Faith H Iturbide
Jones S Foller
Claire Y Waycott
Misaki J Ostrosky
Clifford M Bowley
Wickens V Schemmer
Emily X Oldroyd
Munro S Nicka
Sinclair G Inouye
Aditya M Foller
Tony S Amigon
Cody U Vocelka
Jennifer P Darakjy
Octavia R Stenseth
Ricardo E Doe
Isabel N Amigon
Jeanfrancois W Kusko
Misaki F Shinko
Jeanfrancois Q Schemmer
Greenwood P Nestle
Julie W Rim
Julie F Poquette
Leon Z Wieser
Julie W Inouye
Misaki Z Figeroa
Leja N Doe
Adams C Venere
Emily M Foller
Claire B Kolmetz
Izzy R Gaucho
Kadeem N Tollner
Darci Q Campain
Silvio Y Morasca
Chavez N Poquette
Maria O Figeroa
Emily I Nestle
Greenwood Z Butt
Smith X Paprocki
Jeanfrancois K Stenseth
Murillo K Glick
IdCountryDate
1000France2024-06-01
1001India2024-06-14
1002United Kingdom2024-05-26
1003Germany2024-06-16
1004Spain2024-06-08
1005Italy2024-06-20
1006Spain2024-05-23
1007Canada2024-06-21
1008Argentina2024-06-10
1009India2024-06-18
1010Japan2024-05-31
1011Italy2024-06-09
1012India2024-06-01
1013India2024-06-14
1014United Kingdom2024-06-20
1015Russia2024-06-04
1016United Kingdom2024-05-27
1017Russia2024-06-16
1018France2024-06-10
1019Canada2024-05-31
1020France2024-06-18
1021Canada2024-05-30
1022United Kingdom2024-06-12
1023Argentina2024-05-25
1024India2024-05-28
1025Australia2024-06-08
1026Spain2024-05-23
1027Germany2024-05-29
1028India2024-06-01
1029Spain2024-06-13
1030Spain2024-06-13
1031United Kingdom2024-06-07
1032Italy2024-06-08
1033Japan2024-05-24
1034Italy2024-06-15
1035Spain2024-06-03
1036India2024-06-20
1037Argentina2024-06-13
1038Brazil2024-06-20
1039Australia2024-06-10
1040India2024-05-24
1041Brazil2024-06-17
1042Spain2024-05-26
1043Russia2024-06-10
1044Japan2024-06-06
1045Brazil2024-06-04
1046Germany2024-05-29
1047India2024-06-20
1048India2024-06-20
1049Argentina2024-06-14

On-Demand Data

NameIdCountryDate
Deepesh X Doe1000Germany2024-06-13
Antonio Z Stenseth1001France2024-06-15
Munro K Wieser1002Japan2024-05-24
Ashley D Maclead1003France2024-06-15
Sinclair U Malet1004Russia2024-06-08
Claire W Perin1005Spain2024-06-13
Munro G Darakjy1006India2024-06-21
Tony F Kusko1007Argentina2024-06-08
Wickens J Kolmetz1008United Kingdom2024-05-29
Clifford E Gillian1009Japan2024-06-02
Maria Z Inouye1010Spain2024-06-07
Julie I Gillian1011Australia2024-05-26
Claire L Butt1012Spain2024-05-31
Leon D Wieser1013Australia2024-06-08
Nicolas L Royster1014Spain2024-06-02
Rodrigues G Wieser1015Italy2024-06-06
Adams J Ruta1016Japan2024-06-09
Aruna T Inouye1017Japan2024-05-23
Aditya G Gaucho1018France2024-05-26
Aika E Inouye1019France2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody B WieserIndiaIvan Magalhaes PROPOSAL
Kaitlin Y TollnerCanadaIvan Magalhaes NEGOTIATION
Jones X RulapaughUnited KingdomXuxue Feng NEW
Morrow U OstroskyCanadaAsiya Javayant NEGOTIATION
Nicolas H SlusarskiArgentinaBernardo Dominic QUALIFIED
Maria Q MacleadGermanyAnna Fali QUALIFIED
Julie T VenereFranceBernardo Dominic NEGOTIATION
Silvio Y CaudyIndiaIvan Magalhaes PROPOSAL
Costa J KuskoArgentinaAsiya Javayant QUALIFIED
Aruna I AmigonItalyAsiya Javayant RENEWAL
Murillo D GauchoFranceOnyama Limba NEGOTIATION
Morrow U FlosiItalyElwin Sharvill UNQUALIFIED
Kadeem A WieserUnited KingdomIvan Magalhaes RENEWAL
Izzy Q StensethCanadaIvan Magalhaes RENEWAL
Nicolas A RutaBrazilXuxue Feng RENEWAL
Mujtaba I AmigonAustraliaAsiya Javayant RENEWAL
Ricardo P MorascaItalyElwin Sharvill NEGOTIATION
Leon A WhobreyItalyAmy Elsner RENEWAL
Aika N PaprockiItalyXuxue Feng QUALIFIED
Emily T SlusarskiFranceXuxue Feng QUALIFIED
Silvio M DilliardBrazilXuxue Feng PROPOSAL
Leja F ButtArgentinaElwin Sharvill PROPOSAL
Ivar G KolmetzCanadaIoni Bowcher NEGOTIATION
Antonio R WaycottUnited KingdomIoni Bowcher QUALIFIED
Leja Z VocelkaRussiaXuxue Feng UNQUALIFIED
Kadeem J RulapaughJapanIvan Magalhaes PROPOSAL
Maria L FerenczSpainAnna Fali NEW
Leja Q NickaAustraliaAsiya Javayant NEW
Mayumi J SchemmerRussiaStephen Shaw UNQUALIFIED
Munro V OstroskyBrazilXuxue Feng QUALIFIED
Claire M ChuiItalyBernardo Dominic RENEWAL
Leon H BologniaAustraliaBernardo Dominic RENEWAL
Stacey G KuskoItalyIvan Magalhaes UNQUALIFIED
Mayumi A GlickCanadaXuxue Feng QUALIFIED
Claire O AlbaresRussiaAmy Elsner QUALIFIED
Morrow Y MaletSpainElwin Sharvill QUALIFIED
Izzy M MarrierIndiaAmy Elsner RENEWAL
Adams N VocelkaBrazilAnna Fali UNQUALIFIED
Adams Q GarufiGermanyStephen Shaw QUALIFIED
Ivar W MaletGermanyAnna Fali QUALIFIED

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