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
David K MarrierRussiaAmy Elsner UNQUALIFIED
Chavez O SergiSpainBernardo Dominic PROPOSAL
Sinclair K KuskoFranceAsiya Javayant PROPOSAL
Costa L ShinkoArgentinaAnna Fali QUALIFIED
Jones B SlusarskiBrazilIvan Magalhaes RENEWAL
Alejandro K KuskoUnited KingdomElwin Sharvill PROPOSAL
Darci W RutaUnited KingdomElwin Sharvill QUALIFIED
Arvin W AlbaresBrazilStephen Shaw NEGOTIATION
Costa Q GlickSpainOnyama Limba NEGOTIATION
Aruna P SergiFranceOnyama Limba UNQUALIFIED
Sinclair Y StensethUnited KingdomIoni Bowcher UNQUALIFIED
Mujtaba F FlosiCanadaStephen Shaw QUALIFIED
Alejandro R StensethIndiaStephen Shaw QUALIFIED
Johnson U FlosiFranceOnyama Limba RENEWAL
Munro N SergiIndiaAsiya Javayant QUALIFIED
Izzy K AlbaresGermanyAsiya Javayant UNQUALIFIED
Aika L NickaFranceStephen Shaw RENEWAL
Ivar Z CampainFranceOnyama Limba NEGOTIATION
Stacey L IturbideRussiaOnyama Limba NEW
Tony B AmigonGermanyAsiya Javayant QUALIFIED
Misaki C FigeroaArgentinaElwin Sharvill NEGOTIATION
Costa D BriddickSpainStephen Shaw QUALIFIED
Morrow I MarrierUnited KingdomIvan Magalhaes UNQUALIFIED
Munro A WieserCanadaIvan Magalhaes NEGOTIATION
Munro V BriddickAustraliaElwin Sharvill UNQUALIFIED
Misaki R GauchoArgentinaStephen Shaw QUALIFIED
Emily I StockhamBrazilAsiya Javayant PROPOSAL
Leja Y MarrierIndiaIvan Magalhaes NEW
Ashley T AlbaresUnited KingdomXuxue Feng NEGOTIATION
Darci O VocelkaAustraliaAsiya Javayant UNQUALIFIED
Francesco S CaldareraIndiaAnna Fali QUALIFIED
Smith W SlusarskiSpainAmy Elsner NEW
Emily W GarufiSpainIoni Bowcher RENEWAL
Munro J OstroskyUnited KingdomAnna Fali NEW
David O TollnerAustraliaElwin Sharvill QUALIFIED
Faith F DoeAustraliaOnyama Limba RENEWAL
Maria N VenereIndiaIvan Magalhaes NEGOTIATION
Misaki X SergiAustraliaOnyama Limba UNQUALIFIED
Munro E PerinJapanAmy Elsner UNQUALIFIED
Faith P VocelkaAustraliaElwin Sharvill NEW
Rodrigues S AlbaresCanadaXuxue Feng NEW
Chavez B BriddickArgentinaIvan Magalhaes UNQUALIFIED
Tony S IturbideUnited KingdomElwin Sharvill QUALIFIED
Kadeem Q KolmetzCanadaBernardo Dominic PROPOSAL
Ivar C RulapaughRussiaAnna Fali QUALIFIED
Antonio Q WhobreyIndiaAmy Elsner RENEWAL
Murillo U KolmetzFranceBernardo Dominic NEGOTIATION
James G ShinkoCanadaOnyama Limba PROPOSAL
Wickens U SergiFranceIvan Magalhaes NEW
Cody U TollnerUnited KingdomXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Aditya R RimFranceStephen Shaw RENEWAL
Aditya E FlosiGermanyIvan Magalhaes QUALIFIED
Salvatore R StockhamGermanyAnna Fali PROPOSAL
Octavia J RimUnited KingdomBernardo Dominic QUALIFIED
Jones Q RimAustraliaElwin Sharvill PROPOSAL
Darci V SchemmerSpainIoni Bowcher PROPOSAL
Aditya B RimSpainAsiya Javayant PROPOSAL
Juan X MorascaIndiaAmy Elsner PROPOSAL
Leon H OldroydRussiaElwin Sharvill NEGOTIATION
Johnson O MaletBrazilIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro T MorascaUnited Kingdom2024-06-10Feiner Bros QUALIFIED46Asiya Javayant
1001Antonio C BologniaBrazil2024-06-20Buckley Miller Wright UNQUALIFIED60Ioni Bowcher
1002Adams M BologniaJapan2024-05-31Chanay, Jeffrey A Esq NEGOTIATION79Elwin Sharvill
1003Chavez X VocelkaJapan2024-06-10Chanay, Jeffrey A Esq PROPOSAL94Elwin Sharvill
1004Tony U ButtSpain2024-05-27Dorl, James J Esq NEGOTIATION32Ioni Bowcher
1005Greenwood Z KolmetzCanada2024-06-05Commercial Press QUALIFIED1Ioni Bowcher
1006Jones V StensethAustralia2024-05-27Rousseaux, Michael Esq UNQUALIFIED41Bernardo Dominic
1007Aruna U OstroskyArgentina2024-06-08Truhlar And Truhlar Attys QUALIFIED55Bernardo Dominic
1008Darci T StensethUnited Kingdom2024-06-01Rousseaux, Michael Esq RENEWAL73Bernardo Dominic
1009Munro F MorascaAustralia2024-06-12Chapman, Ross E Esq QUALIFIED97Bernardo Dominic
1010Stacey G BologniaSpain2024-06-23King, Christopher A Esq QUALIFIED37Bernardo Dominic
1011Johnson J KolmetzSpain2024-06-17Feiner Bros UNQUALIFIED2Elwin Sharvill
1012Emily P GarufiCanada2024-06-22Chemel, James L Cpa UNQUALIFIED93Asiya Javayant
1013Ashley P ChuiFrance2024-06-17Chanay, Jeffrey A Esq PROPOSAL65Onyama Limba
1014Mayumi M MorascaCanada2024-06-04Rousseaux, Michael Esq RENEWAL10Onyama Limba
1015Maria D InouyeRussia2024-06-15Rousseaux, Michael Esq QUALIFIED87Asiya Javayant
1016Aditya M WhobreyFrance2024-06-06Rangoni Of Florence RENEWAL8Elwin Sharvill
1017Emily A PoquetteSpain2024-06-17Commercial Press NEW75Onyama Limba
1018Misaki T BriddickRussia2024-06-10Chanay, Jeffrey A Esq PROPOSAL24Bernardo Dominic
1019Octavia K FollerItaly2024-05-31Printing Dimensions QUALIFIED60Stephen Shaw
1020Jeanfrancois T SaylorsRussia2024-06-14Chapman, Ross E Esq NEGOTIATION98Onyama Limba
1021Mujtaba X VenereFrance2024-05-27Rangoni Of Florence NEW23Ioni Bowcher
1022Aditya B GlickIndia2024-06-13Rangoni Of Florence NEGOTIATION13Amy Elsner
1023Greenwood U AmigonRussia2024-06-05Chanay, Jeffrey A Esq QUALIFIED14Ivan Magalhaes
1024Kaitlin Z NestleRussia2024-06-18Truhlar And Truhlar Attys PROPOSAL59Onyama Limba
1025Jefferson I GarufiItaly2024-06-13Commercial Press UNQUALIFIED90Asiya Javayant
1026Adams W MaletSpain2024-05-26Printing Dimensions UNQUALIFIED5Bernardo Dominic
1027Ivar C BriddickArgentina2024-06-03Dorl, James J Esq NEGOTIATION68Anna Fali
1028Clifford G AmigonAustralia2024-06-05Buckley Miller Wright UNQUALIFIED37Xuxue Feng
1029Julie F CaldareraFrance2024-06-02Rousseaux, Michael Esq NEW58Bernardo Dominic
1030Clifford I VocelkaUnited Kingdom2024-06-18Buckley Miller Wright NEW79Stephen Shaw
1031Maisha I CaudyIndia2024-06-10Feltz Printing Service QUALIFIED36Ioni Bowcher
1032Izzy M GarufiIndia2024-06-23Benton, John B Jr NEW69Ivan Magalhaes
1033Jennifer Y FerenczRussia2024-06-07King, Christopher A Esq NEW72Xuxue Feng
1034Emily J AmigonGermany2024-06-15Printing Dimensions NEW18Elwin Sharvill
1035David W CampainUnited Kingdom2024-06-06Rangoni Of Florence UNQUALIFIED40Amy Elsner
1036Adams E RoysterRussia2024-06-03Dorl, James J Esq QUALIFIED90Ioni Bowcher
1037Deepesh C MaletIndia2024-06-17Chanay, Jeffrey A Esq UNQUALIFIED11Asiya Javayant
1038Ricardo E MacleadItaly2024-05-28Chapman, Ross E Esq QUALIFIED13Onyama Limba
1039Julie I MorascaIndia2024-06-13Truhlar And Truhlar Attys PROPOSAL17Xuxue Feng
1040Clifford A PoquetteCanada2024-06-05Benton, John B Jr UNQUALIFIED45Anna Fali
1041Maria K WaycottRussia2024-06-21Rousseaux, Michael Esq QUALIFIED36Anna Fali
1042Munro C GlickArgentina2024-05-28Feltz Printing Service QUALIFIED89Stephen Shaw
1043Misaki C FigeroaItaly2024-05-30Commercial Press RENEWAL89Bernardo Dominic
1044Cody I AmigonAustralia2024-06-03Rangoni Of Florence NEGOTIATION57Asiya Javayant
1045Octavia Q GillianSpain2024-06-03Benton, John B Jr UNQUALIFIED18Ioni Bowcher
1046Deepesh P CaudySpain2024-06-10Commercial Press NEW1Xuxue Feng
1047Faith H OldroydFrance2024-06-22Feiner Bros NEW84Stephen Shaw
1048Johnson Q NestleGermany2024-06-19Chapman, Ross E Esq PROPOSAL61Anna Fali
1049Rodrigues B SergiCanada2024-05-26Buckley Miller Wright UNQUALIFIED55Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Ashley G OstroskyRussiaIoni Bowcher NEGOTIATION
Adams P BowleyItalyIvan Magalhaes RENEWAL
Kadeem J FlosiJapanBernardo Dominic UNQUALIFIED
Smith W PaprockiUnited KingdomStephen Shaw NEGOTIATION
Clifford O StensethArgentinaXuxue Feng NEW
Jeanfrancois L SchemmerJapanAsiya Javayant NEGOTIATION
Kadeem J RimIndiaIvan Magalhaes PROPOSAL
Stacey D SlusarskiFranceElwin Sharvill PROPOSAL
Smith F DilliardAustraliaBernardo Dominic NEGOTIATION
Juan W GauchoCanadaIoni Bowcher NEGOTIATION
James U SchemmerFranceIvan Magalhaes UNQUALIFIED
Ricardo J BowleyAustraliaOnyama Limba QUALIFIED
Jennifer V FollerCanadaBernardo Dominic RENEWAL
Aruna F ButtGermanyStephen Shaw RENEWAL
Claire P RutaBrazilOnyama Limba QUALIFIED
Greenwood L SlusarskiAustraliaIvan Magalhaes PROPOSAL
Morrow H SlusarskiRussiaAmy Elsner NEW
Julie J FollerGermanyAmy Elsner RENEWAL
Salvatore O KuskoIndiaAmy Elsner PROPOSAL
Kadeem X OstroskyAustraliaIoni Bowcher NEW
Jennifer Y PoquetteFranceElwin Sharvill UNQUALIFIED
Leja O PerinSpainAsiya Javayant NEW
Faith Y GarufiItalyAsiya Javayant NEW
Johnson Q FerenczAustraliaAmy Elsner QUALIFIED
Deepesh R MarrierAustraliaAmy Elsner UNQUALIFIED
Claire W MacleadJapanIvan Magalhaes QUALIFIED
Jennifer N SlusarskiUnited KingdomElwin Sharvill PROPOSAL
David K FerenczRussiaStephen Shaw QUALIFIED
Ashley Z MaletBrazilStephen Shaw UNQUALIFIED
Izzy A StockhamAustraliaIvan Magalhaes UNQUALIFIED
Francesco Y WaycottRussiaIoni Bowcher UNQUALIFIED
Morrow Q GauchoFranceStephen Shaw UNQUALIFIED
Mujtaba N SergiJapanBernardo Dominic UNQUALIFIED
Stacey L KuskoUnited KingdomIoni Bowcher PROPOSAL
Smith A PoquetteFranceBernardo Dominic UNQUALIFIED
Rodrigues S TollnerGermanyAsiya Javayant NEW
Emily P OstroskyArgentinaIvan Magalhaes PROPOSAL
Emily D WieserItalyBernardo Dominic RENEWAL
Jones A SergiUnited KingdomAmy Elsner NEW
Jefferson S CaudyUnited KingdomOnyama Limba RENEWAL
Kaitlin R VocelkaCanadaStephen Shaw NEGOTIATION
Smith F ChuiCanadaAnna Fali NEGOTIATION
Mayumi X RoysterSpainStephen Shaw QUALIFIED
Ashley L SlusarskiGermanyOnyama Limba PROPOSAL
Maisha J SergiSpainAmy Elsner UNQUALIFIED
Sinclair W WaycottSpainAnna Fali PROPOSAL
Tony S DarakjyGermanyBernardo Dominic UNQUALIFIED
Mujtaba V VenereJapanElwin Sharvill NEW
Maisha B NestleRussiaAsiya Javayant RENEWAL
Salvatore Y FerenczArgentinaAsiya Javayant NEW
Frozen Columns
Name
Silvio R Flosi
Aika H Nestle
Mayumi E Amigon
Jennifer F Caudy
Octavia I Bowley
Tony H Campain
Costa P Gillian
Silvio V Perin
Misaki A Maclead
Claire A Doe
Claire G Darakjy
Kadeem S Foller
Stacey A Darakjy
Chavez U Caldarera
Silvio P Dilliard
Chavez R Ostrosky
Faith A Stenseth
Ivar L Saylors
Jennifer Z Waycott
Ricardo D Marrier
Octavia E Stockham
Cody K Kolmetz
Morrow H Waycott
Maisha E Inouye
Chavez J Bolognia
Nicolas H Caudy
Jefferson R Paprocki
Salvatore B Rulapaugh
Misaki Y Shinko
Salvatore Z Bolognia
Chavez R Bowley
Costa R Rulapaugh
Kaitlin E Gillian
Clifford P Stockham
Jones I Venere
Murillo K Butt
Aika W Ostrosky
Arvin V Rulapaugh
David S Ferencz
Ricardo Z Maclead
Kaitlin F Chui
Claire A Butt
Jones V Gaucho
Deepesh I Wieser
Claire P Gaucho
Aditya Z Figeroa
Claire Y Vocelka
Juan Z Doe
Kaitlin J Inouye
Sinclair Q Whobrey
IdCountryDate
1000France2024-06-06
1001Australia2024-06-15
1002Japan2024-05-25
1003Australia2024-06-13
1004Russia2024-06-02
1005Canada2024-06-23
1006Germany2024-06-16
1007Australia2024-06-20
1008Argentina2024-06-07
1009Italy2024-06-21
1010United Kingdom2024-06-07
1011Japan2024-05-26
1012France2024-05-26
1013Italy2024-06-10
1014United Kingdom2024-06-03
1015Italy2024-06-17
1016United Kingdom2024-06-17
1017Canada2024-06-15
1018India2024-06-21
1019Italy2024-06-18
1020Australia2024-06-15
1021France2024-06-03
1022Spain2024-06-09
1023Japan2024-05-25
1024Canada2024-06-09
1025Spain2024-06-08
1026Germany2024-06-02
1027Australia2024-05-25
1028Canada2024-05-27
1029Australia2024-06-20
1030Russia2024-06-04
1031Germany2024-06-02
1032Spain2024-05-25
1033Spain2024-06-05
1034Russia2024-06-11
1035Australia2024-06-07
1036United Kingdom2024-06-11
1037Brazil2024-06-07
1038Argentina2024-05-26
1039Argentina2024-06-17
1040Argentina2024-06-14
1041India2024-06-08
1042United Kingdom2024-06-02
1043Japan2024-06-04
1044Argentina2024-05-30
1045Russia2024-06-21
1046Australia2024-06-17
1047Italy2024-06-12
1048Spain2024-06-05
1049Russia2024-05-30

On-Demand Data

NameIdCountryDate
Misaki Q Oldroyd1000Australia2024-06-02
Cody X Malet1001Canada2024-06-19
Deepesh N Butt1002Italy2024-06-10
Sinclair W Campain1003Italy2024-06-07
Julie I Shinko1004France2024-06-17
Mujtaba S Wieser1005France2024-06-12
Mayumi I Sergi1006Spain2024-06-13
Jeanfrancois E Darakjy1007Spain2024-06-06
Mujtaba K Caldarera1008Argentina2024-06-21
Claire A Saylors1009United Kingdom2024-06-03
Maria D Paprocki1010France2024-06-06
Francesco P Nicka1011Japan2024-06-03
Darci U Kusko1012Russia2024-06-06
Antonio N Doe1013Russia2024-06-14
Aika R Schemmer1014Brazil2024-05-26
Silvio X Gaucho1015Germany2024-06-01
Maisha I Marrier1016United Kingdom2024-06-07
Greenwood W Morasca1017United Kingdom2024-06-12
Jones J Tollner1018Italy2024-06-18
Aditya Q Schemmer1019France2024-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer P RutaItalyIoni Bowcher NEGOTIATION
Juan Z InouyeRussiaStephen Shaw PROPOSAL
Ricardo E RoysterRussiaAnna Fali RENEWAL
Costa G OldroydRussiaBernardo Dominic QUALIFIED
Francesco O MaletUnited KingdomAnna Fali NEW
Alejandro W InouyeJapanElwin Sharvill QUALIFIED
Deepesh M MaletFranceAmy Elsner NEW
Jefferson J KuskoRussiaAnna Fali PROPOSAL
Darci T StensethArgentinaIvan Magalhaes UNQUALIFIED
Johnson J CampainRussiaAmy Elsner PROPOSAL
Clifford M GlickCanadaAmy Elsner UNQUALIFIED
Maria I FlosiUnited KingdomElwin Sharvill QUALIFIED
Chavez B WhobreyAustraliaBernardo Dominic NEW
Aruna U StensethUnited KingdomStephen Shaw QUALIFIED
Darci G AlbaresItalyAsiya Javayant NEGOTIATION
Jeanfrancois D ShinkoGermanyIoni Bowcher QUALIFIED
Claire W ChuiAustraliaBernardo Dominic NEGOTIATION
Nicolas M FollerCanadaElwin Sharvill NEGOTIATION
Salvatore E DilliardRussiaOnyama Limba UNQUALIFIED
Julie I VenereSpainStephen Shaw QUALIFIED
Wickens R MorascaGermanyOnyama Limba QUALIFIED
Juan J RoysterAustraliaAnna Fali RENEWAL
Leon N PoquetteJapanOnyama Limba NEW
Silvio T VenereAustraliaIoni Bowcher NEW
Jennifer C AmigonBrazilIoni Bowcher NEW
Salvatore H NestleCanadaIvan Magalhaes RENEWAL
Maisha Q WieserJapanAsiya Javayant NEGOTIATION
Nicolas M CampainItalyElwin Sharvill QUALIFIED
Juan E CaudyBrazilIvan Magalhaes UNQUALIFIED
Aruna V MaletRussiaIoni Bowcher UNQUALIFIED
Cody Q ShinkoGermanyIvan Magalhaes UNQUALIFIED
Tony P AmigonSpainXuxue Feng PROPOSAL
Julie K GauchoCanadaIoni Bowcher UNQUALIFIED
Arvin Z WieserCanadaAmy Elsner NEW
Deepesh H MorascaArgentinaAmy Elsner NEW
Claire U MorascaIndiaIoni Bowcher NEGOTIATION
Darci G MarrierRussiaBernardo Dominic NEW
Alejandro K NestleUnited KingdomXuxue Feng PROPOSAL
Emily P GarufiSpainStephen Shaw PROPOSAL
Claire I FerenczItalyElwin Sharvill 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>