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
Clifford I VenereFranceIoni Bowcher QUALIFIED
Silvio F FlosiArgentinaIvan Magalhaes QUALIFIED
Jones L DoeAustraliaElwin Sharvill UNQUALIFIED
Leon F TollnerCanadaIoni Bowcher NEW
Cody L CaldareraAustraliaBernardo Dominic NEGOTIATION
Alejandro F AmigonBrazilStephen Shaw QUALIFIED
Kadeem X RoysterJapanIoni Bowcher PROPOSAL
Clifford Z KuskoItalyIvan Magalhaes UNQUALIFIED
Tony N WieserIndiaStephen Shaw NEW
Johnson D DilliardFranceIoni Bowcher QUALIFIED
Leon A TollnerJapanIoni Bowcher QUALIFIED
Wickens T FlosiSpainXuxue Feng PROPOSAL
Ricardo W GarufiArgentinaAsiya Javayant QUALIFIED
Faith D RutaItalyAmy Elsner NEGOTIATION
James Y NickaFranceStephen Shaw UNQUALIFIED
Smith W FerenczAustraliaAsiya Javayant UNQUALIFIED
Stacey B RoysterItalyAsiya Javayant RENEWAL
David Q GauchoItalyXuxue Feng NEGOTIATION
Izzy Q MacleadBrazilIvan Magalhaes NEGOTIATION
Kaitlin G ButtSpainOnyama Limba NEGOTIATION
Aditya W MacleadIndiaAnna Fali NEW
Murillo M BriddickItalyXuxue Feng NEGOTIATION
Misaki Z ShinkoBrazilXuxue Feng RENEWAL
Leja E ShinkoItalyStephen Shaw NEW
Antonio J StockhamBrazilAnna Fali PROPOSAL
Misaki A BologniaIndiaStephen Shaw NEW
Stacey A NestleArgentinaBernardo Dominic UNQUALIFIED
Darci A FollerCanadaOnyama Limba RENEWAL
Maria D MorascaFranceStephen Shaw RENEWAL
Antonio A BologniaRussiaAsiya Javayant RENEWAL
Rodrigues W SaylorsGermanyElwin Sharvill NEW
Kadeem G CaldareraIndiaStephen Shaw NEW
Darci F RimRussiaIoni Bowcher RENEWAL
Greenwood R CaudyBrazilAmy Elsner NEGOTIATION
Chavez B VocelkaRussiaIoni Bowcher PROPOSAL
Emily D IturbideIndiaBernardo Dominic NEW
Smith N KuskoFranceIvan Magalhaes NEW
Smith Q NickaGermanyOnyama Limba NEGOTIATION
Kaitlin A AmigonRussiaElwin Sharvill QUALIFIED
Isabel I FlosiItalyStephen Shaw UNQUALIFIED
Silvio P GauchoFranceAsiya Javayant NEGOTIATION
Faith C MorascaFranceBernardo Dominic UNQUALIFIED
Jennifer G OstroskyBrazilAsiya Javayant PROPOSAL
Salvatore S WhobreyItalyAsiya Javayant NEW
Claire U GarufiCanadaAmy Elsner UNQUALIFIED
Leja O RutaItalyBernardo Dominic RENEWAL
Isabel A MaletSpainElwin Sharvill RENEWAL
Nicolas X InouyeItalyAsiya Javayant UNQUALIFIED
Antonio D VenereIndiaAnna Fali NEW
Ricardo N CampainCanadaIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Octavia X AlbaresJapanXuxue Feng RENEWAL
Ashley D WaycottCanadaAmy Elsner NEGOTIATION
Jefferson N RimJapanAsiya Javayant QUALIFIED
James O CaldareraBrazilBernardo Dominic NEW
Leon Y MorascaAustraliaIvan Magalhaes NEW
Octavia C SaylorsIndiaAmy Elsner PROPOSAL
Morrow A GillianRussiaAmy Elsner NEW
Tony V PerinIndiaIvan Magalhaes RENEWAL
Kadeem S BologniaCanadaElwin Sharvill UNQUALIFIED
Johnson T WhobreySpainAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy C ShinkoArgentina2024-05-29King, Christopher A Esq QUALIFIED49Amy Elsner
1001Nicolas M RoysterAustralia2024-05-12King, Christopher A Esq QUALIFIED93Elwin Sharvill
1002Claire R AmigonBrazil2024-05-27Feltz Printing Service RENEWAL57Ioni Bowcher
1003Johnson H SaylorsArgentina2024-05-15Truhlar And Truhlar Attys UNQUALIFIED75Bernardo Dominic
1004Darci W SaylorsUnited Kingdom2024-05-22Morlong Associates UNQUALIFIED13Elwin Sharvill
1005Jennifer F IturbideRussia2024-05-01Printing Dimensions NEW94Bernardo Dominic
1006Jennifer L BowleyItaly2024-05-05Feltz Printing Service NEW4Amy Elsner
1007Leon O WaycottUnited Kingdom2024-05-20Rangoni Of Florence QUALIFIED14Amy Elsner
1008Julie N StockhamGermany2024-05-03Morlong Associates NEGOTIATION84Onyama Limba
1009Aditya Q CampainAustralia2024-05-24Benton, John B Jr NEW29Ioni Bowcher
1010Octavia R SergiSpain2024-05-07Chanay, Jeffrey A Esq QUALIFIED87Onyama Limba
1011Salvatore C ShinkoCanada2024-05-04Feiner Bros QUALIFIED48Amy Elsner
1012Ashley C BowleySpain2024-05-02Dorl, James J Esq NEGOTIATION52Anna Fali
1013Darci A NickaCanada2024-05-20Feltz Printing Service PROPOSAL64Bernardo Dominic
1014Darci H FlosiArgentina2024-05-14Chapman, Ross E Esq QUALIFIED22Xuxue Feng
1015Misaki M AlbaresSpain2024-05-14Benton, John B Jr UNQUALIFIED98Asiya Javayant
1016David Q InouyeRussia2024-05-22Morlong Associates NEW94Elwin Sharvill
1017Silvio Y DoeFrance2024-05-19Commercial Press QUALIFIED45Anna Fali
1018Munro G InouyeCanada2024-05-20Morlong Associates QUALIFIED47Xuxue Feng
1019Clifford H InouyeUnited Kingdom2024-05-28Chapman, Ross E Esq NEGOTIATION74Ioni Bowcher
1020Costa V BowleyFrance2024-05-19Feltz Printing Service PROPOSAL12Onyama Limba
1021Nicolas P WhobreyJapan2024-05-02Feltz Printing Service PROPOSAL4Onyama Limba
1022Nicolas F MaletCanada2024-05-14Morlong Associates NEW68Elwin Sharvill
1023Isabel E RoysterItaly2024-05-29Feiner Bros NEW85Elwin Sharvill
1024Maria N SchemmerGermany2024-05-08Truhlar And Truhlar Attys QUALIFIED1Asiya Javayant
1025Aruna U StensethIndia2024-05-25Feltz Printing Service NEGOTIATION96Ivan Magalhaes
1026Johnson D DilliardCanada2024-05-22Chanay, Jeffrey A Esq QUALIFIED45Anna Fali
1027Isabel K MorascaItaly2024-05-15Morlong Associates RENEWAL54Xuxue Feng
1028Leon U AmigonArgentina2024-05-13Benton, John B Jr QUALIFIED30Ioni Bowcher
1029Clifford K BologniaBrazil2024-05-17King, Christopher A Esq NEW21Onyama Limba
1030Ivar K DilliardBrazil2024-05-27Buckley Miller Wright UNQUALIFIED19Onyama Limba
1031Leja T FollerJapan2024-05-06Chanay, Jeffrey A Esq NEW43Stephen Shaw
1032Antonio Q NickaSpain2024-05-07Chapman, Ross E Esq QUALIFIED7Amy Elsner
1033Arvin W RimBrazil2024-05-17Rangoni Of Florence NEW18Onyama Limba
1034Tony E CaudySpain2024-05-09Feiner Bros RENEWAL87Amy Elsner
1035Morrow C KuskoJapan2024-05-28Truhlar And Truhlar Attys UNQUALIFIED58Onyama Limba
1036Salvatore U FollerUnited Kingdom2024-05-29Printing Dimensions QUALIFIED40Elwin Sharvill
1037Izzy O PaprockiSpain2024-05-28Benton, John B Jr PROPOSAL20Amy Elsner
1038Mujtaba D MacleadCanada2024-05-19Feltz Printing Service UNQUALIFIED76Stephen Shaw
1039Costa K GillianAustralia2024-05-24Morlong Associates NEW13Onyama Limba
1040Deepesh V GauchoGermany2024-05-16Rangoni Of Florence NEW54Xuxue Feng
1041Maria V ChuiFrance2024-05-18Chapman, Ross E Esq UNQUALIFIED69Amy Elsner
1042Octavia K RutaSpain2024-05-11Feltz Printing Service PROPOSAL75Ivan Magalhaes
1043Izzy E TollnerSpain2024-05-18King, Christopher A Esq UNQUALIFIED27Xuxue Feng
1044David R VocelkaSpain2024-05-14Rousseaux, Michael Esq RENEWAL13Bernardo Dominic
1045Aruna Z GarufiJapan2024-05-21Chapman, Ross E Esq NEW32Anna Fali
1046Adams M MarrierAustralia2024-05-16King, Christopher A Esq NEGOTIATION45Ivan Magalhaes
1047Morrow I TollnerIndia2024-05-10Feltz Printing Service PROPOSAL88Bernardo Dominic
1048Ivar G DoeBrazil2024-05-15Chapman, Ross E Esq NEW20Xuxue Feng
1049Maria P KolmetzCanada2024-05-12Feltz Printing Service NEGOTIATION43Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Jones A GauchoGermanyElwin Sharvill UNQUALIFIED
Cody U RoysterAustraliaXuxue Feng NEW
Ivar L PoquetteArgentinaAsiya Javayant RENEWAL
Kaitlin E DilliardItalyAsiya Javayant PROPOSAL
Sinclair X RutaAustraliaBernardo Dominic RENEWAL
Jeanfrancois P RoysterGermanyStephen Shaw UNQUALIFIED
Mujtaba F OstroskyUnited KingdomAmy Elsner NEW
Aika D SergiAustraliaAsiya Javayant PROPOSAL
Sinclair C PerinIndiaElwin Sharvill QUALIFIED
Izzy D MaletFranceIvan Magalhaes RENEWAL
Nicolas Z KuskoSpainIoni Bowcher UNQUALIFIED
Jones B KolmetzFranceAnna Fali RENEWAL
Salvatore V TollnerCanadaAnna Fali QUALIFIED
Jeanfrancois W DarakjyJapanIvan Magalhaes NEW
Kaitlin D OstroskyGermanyAsiya Javayant RENEWAL
Claire Y RutaIndiaIvan Magalhaes RENEWAL
Darci J WaycottJapanAnna Fali RENEWAL
Smith G ShinkoFranceStephen Shaw NEW
Rodrigues N MacleadItalyAsiya Javayant NEW
Maria H VenereGermanyStephen Shaw QUALIFIED
Misaki J RimItalyOnyama Limba PROPOSAL
Darci Y CampainSpainAmy Elsner NEGOTIATION
Aruna Y ChuiCanadaIvan Magalhaes NEW
Johnson J VenereItalyElwin Sharvill NEGOTIATION
Leon X OstroskyArgentinaAmy Elsner PROPOSAL
Nicolas B IturbideSpainElwin Sharvill PROPOSAL
Ashley L DilliardIndiaAsiya Javayant RENEWAL
Misaki V FlosiRussiaIoni Bowcher UNQUALIFIED
Misaki G RulapaughSpainElwin Sharvill NEW
Jennifer V GauchoJapanAnna Fali RENEWAL
Aika A GauchoSpainAmy Elsner NEW
Kadeem G NestleIndiaAnna Fali NEW
Julie V AlbaresBrazilBernardo Dominic PROPOSAL
Mayumi Z DarakjyCanadaXuxue Feng NEGOTIATION
Mujtaba U PerinRussiaStephen Shaw NEW
Leon Z SergiCanadaElwin Sharvill RENEWAL
David S BriddickAustraliaAnna Fali RENEWAL
Juan K GlickUnited KingdomIoni Bowcher RENEWAL
Murillo A DilliardAustraliaAsiya Javayant NEW
Cody P MaletFranceStephen Shaw PROPOSAL
Octavia W DarakjyBrazilAnna Fali NEW
Rodrigues N BologniaRussiaStephen Shaw NEW
Silvio Y SaylorsIndiaIoni Bowcher UNQUALIFIED
Leja X ShinkoCanadaAmy Elsner NEGOTIATION
Arvin V AlbaresCanadaAmy Elsner NEW
Ricardo D PaprockiItalyBernardo Dominic UNQUALIFIED
Munro B AmigonIndiaElwin Sharvill RENEWAL
Wickens K NestleFranceOnyama Limba PROPOSAL
Johnson N VocelkaRussiaOnyama Limba NEGOTIATION
Murillo S SergiSpainStephen Shaw PROPOSAL
Frozen Columns
Name
Kadeem U Ruta
Deepesh Y Kolmetz
Octavia N Iturbide
Munro J Dilliard
Ivar J Whobrey
Aika Y Perin
Aditya P Dilliard
Aruna P Malet
Antonio R Schemmer
Julie F Royster
Arvin L Foller
Smith H Rim
Maisha D Caudy
Jeanfrancois F Garufi
Mayumi A Butt
Aruna R Marrier
Aruna M Ostrosky
Francesco O Doe
Munro C Malet
Cody U Nestle
Jones O Iturbide
Arvin K Rim
Deepesh C Bolognia
Juan Y Albares
Faith C Waycott
David R Campain
Adams L Paprocki
Jefferson V Nestle
Deepesh Y Iturbide
Cody H Darakjy
Misaki C Albares
Greenwood N Iturbide
Silvio I Shinko
Isabel E Amigon
Maisha B Shinko
Darci W Briddick
Aika O Darakjy
Chavez H Morasca
Ivar X Royster
Aruna M Chui
Isabel J Foller
Murillo R Amigon
Deepesh I Malet
Alejandro M Stenseth
Silvio W Paprocki
Costa G Venere
Claire Z Flosi
Jones G Nicka
Munro V Caldarera
James M Perin
IdCountryDate
1000Australia2024-05-11
1001Japan2024-05-15
1002Australia2024-05-12
1003United Kingdom2024-05-08
1004Germany2024-05-07
1005France2024-05-07
1006Australia2024-05-12
1007Brazil2024-05-30
1008France2024-05-28
1009United Kingdom2024-05-23
1010Canada2024-05-05
1011Spain2024-05-06
1012Russia2024-05-23
1013Italy2024-05-14
1014Japan2024-05-28
1015Argentina2024-05-10
1016Brazil2024-05-18
1017Japan2024-05-29
1018India2024-05-11
1019France2024-05-04
1020Brazil2024-05-20
1021Italy2024-05-01
1022Italy2024-05-18
1023Japan2024-05-13
1024India2024-05-28
1025Spain2024-05-23
1026United Kingdom2024-05-19
1027Brazil2024-05-02
1028United Kingdom2024-05-08
1029France2024-05-20
1030Germany2024-05-05
1031Australia2024-05-18
1032Argentina2024-05-07
1033Spain2024-05-26
1034Canada2024-05-28
1035Brazil2024-05-10
1036United Kingdom2024-05-19
1037Brazil2024-05-16
1038Germany2024-05-25
1039Spain2024-05-05
1040Brazil2024-05-17
1041United Kingdom2024-05-19
1042Brazil2024-05-29
1043Spain2024-05-10
1044Italy2024-05-26
1045Brazil2024-05-22
1046United Kingdom2024-05-29
1047Russia2024-05-02
1048Russia2024-05-27
1049Japan2024-05-18

On-Demand Data

NameIdCountryDate
Kadeem S Ostrosky1000Canada2024-05-29
Ivar J Gaucho1001Germany2024-05-12
Jones W Maclead1002India2024-05-12
Adams R Saylors1003Argentina2024-05-09
Aruna H Doe1004France2024-05-14
Adams G Nestle1005Canada2024-05-10
Leon P Kusko1006Argentina2024-05-22
Ivar F Inouye1007France2024-05-12
Sinclair O Foller1008Australia2024-05-19
Smith O Albares1009Italy2024-05-01
Morrow S Waycott1010Spain2024-05-05
Cody Z Gillian1011Russia2024-05-04
Morrow E Saylors1012Brazil2024-05-01
Darci X Venere1013Italy2024-05-13
Claire W Marrier1014Japan2024-05-11
Salvatore U Chui1015Brazil2024-05-28
Stacey C Ruta1016France2024-05-14
Kadeem P Iturbide1017Italy2024-05-02
Juan W Rim1018Germany2024-05-14
Clifford A Inouye1019Japan2024-05-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba O RoysterItalyAnna Fali NEGOTIATION
Aika F RoysterItalyXuxue Feng PROPOSAL
Costa X CampainCanadaAnna Fali NEW
Ivar I NestleGermanyElwin Sharvill NEW
Murillo V DilliardAustraliaBernardo Dominic UNQUALIFIED
Rodrigues D RulapaughItalyOnyama Limba NEGOTIATION
Clifford P RimArgentinaAnna Fali UNQUALIFIED
Faith U CaudyItalyIoni Bowcher QUALIFIED
Murillo Q BologniaItalyElwin Sharvill QUALIFIED
Octavia W KuskoIndiaOnyama Limba QUALIFIED
Stacey H OldroydCanadaAnna Fali QUALIFIED
Ivar A StensethRussiaIvan Magalhaes UNQUALIFIED
Nicolas E SlusarskiCanadaStephen Shaw NEW
Maisha G KolmetzBrazilStephen Shaw UNQUALIFIED
Silvio W NickaCanadaOnyama Limba NEGOTIATION
Aditya U RulapaughItalyOnyama Limba NEW
Jennifer O RulapaughFranceStephen Shaw NEW
Leon N SlusarskiAustraliaIvan Magalhaes NEW
Kaitlin M BologniaGermanyOnyama Limba NEGOTIATION
Clifford F CaudyAustraliaAsiya Javayant NEW
Aditya D MaletUnited KingdomAnna Fali NEW
Silvio K BowleyFranceAmy Elsner QUALIFIED
Misaki T CaldareraJapanElwin Sharvill NEGOTIATION
Sinclair T NickaArgentinaAsiya Javayant PROPOSAL
Leja U RoysterItalyOnyama Limba NEGOTIATION
Antonio D OstroskyGermanyAmy Elsner QUALIFIED
Rodrigues H MorascaJapanElwin Sharvill QUALIFIED
James C AlbaresCanadaIvan Magalhaes UNQUALIFIED
Isabel V VenereBrazilAmy Elsner NEGOTIATION
Mayumi F DarakjyArgentinaAsiya Javayant RENEWAL
Tony X KolmetzArgentinaXuxue Feng NEGOTIATION
Antonio T DoeGermanyIvan Magalhaes NEW
Ivar P PoquetteItalyAsiya Javayant NEGOTIATION
Tony M BologniaRussiaIvan Magalhaes RENEWAL
Leon B OstroskyGermanyStephen Shaw RENEWAL
Stacey Y BriddickIndiaAsiya Javayant RENEWAL
Adams N WhobreyRussiaXuxue Feng PROPOSAL
Emily Y InouyeIndiaIoni Bowcher NEW
Adams V GlickAustraliaXuxue Feng QUALIFIED
Darci T NestleBrazilAnna 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>