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
Kadeem V SergiCanadaElwin Sharvill QUALIFIED
Wickens C InouyeBrazilElwin Sharvill QUALIFIED
Leon I PaprockiAustraliaXuxue Feng UNQUALIFIED
Mayumi H WieserGermanyBernardo Dominic QUALIFIED
Johnson N WaycottCanadaAsiya Javayant NEW
Deepesh H AlbaresUnited KingdomXuxue Feng QUALIFIED
Ivar F DarakjyUnited KingdomXuxue Feng UNQUALIFIED
Sinclair O MarrierUnited KingdomAsiya Javayant PROPOSAL
Ricardo U CaudyGermanyAnna Fali RENEWAL
Kadeem J DilliardUnited KingdomAsiya Javayant NEW
Adams R MorascaArgentinaOnyama Limba UNQUALIFIED
Chavez J RutaIndiaIoni Bowcher UNQUALIFIED
Octavia O SchemmerBrazilStephen Shaw QUALIFIED
Kaitlin V FerenczJapanIoni Bowcher NEW
Morrow A CaldareraRussiaAnna Fali QUALIFIED
Wickens Y ChuiAustraliaIvan Magalhaes RENEWAL
Silvio L MaletIndiaOnyama Limba RENEWAL
Emily W ShinkoRussiaIvan Magalhaes NEW
Tony L SaylorsBrazilXuxue Feng NEW
Kadeem B ButtJapanXuxue Feng UNQUALIFIED
Leon V VenereSpainElwin Sharvill RENEWAL
Mujtaba Q VenereFranceXuxue Feng QUALIFIED
Jefferson Q WaycottUnited KingdomStephen Shaw NEW
Jennifer S GlickBrazilXuxue Feng PROPOSAL
Maisha O ButtCanadaXuxue Feng UNQUALIFIED
Alejandro J DilliardUnited KingdomAnna Fali RENEWAL
Clifford G RutaFranceAsiya Javayant NEGOTIATION
Adams D WhobreyAustraliaStephen Shaw NEW
Darci K WaycottUnited KingdomAnna Fali UNQUALIFIED
Kadeem E KolmetzAustraliaStephen Shaw PROPOSAL
Deepesh R VenereGermanyStephen Shaw UNQUALIFIED
David C MarrierGermanyOnyama Limba UNQUALIFIED
Julie T GlickSpainIoni Bowcher QUALIFIED
Darci U AmigonCanadaAmy Elsner QUALIFIED
Murillo E PerinItalyIoni Bowcher NEW
Cody F BologniaAustraliaIvan Magalhaes PROPOSAL
Ricardo C IturbideCanadaStephen Shaw RENEWAL
Darci M OstroskyRussiaIoni Bowcher NEW
Salvatore R OstroskyGermanyAmy Elsner UNQUALIFIED
Aika Q WhobreyRussiaAnna Fali PROPOSAL
Darci Y RoysterGermanyIoni Bowcher RENEWAL
Clifford N GillianSpainIvan Magalhaes UNQUALIFIED
James B FlosiBrazilOnyama Limba NEW
Ashley Y AlbaresFranceElwin Sharvill UNQUALIFIED
Adams Z SaylorsArgentinaXuxue Feng NEGOTIATION
Jones A SlusarskiIndiaAnna Fali PROPOSAL
Salvatore P KolmetzGermanyOnyama Limba NEGOTIATION
Greenwood U GarufiCanadaIvan Magalhaes PROPOSAL
Octavia I VenereAustraliaStephen Shaw NEGOTIATION
Kadeem G DarakjyFranceStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Jennifer K SlusarskiSpainBernardo Dominic NEGOTIATION
Johnson O InouyeFranceXuxue Feng QUALIFIED
Cody A VenereItalyIvan Magalhaes QUALIFIED
Faith N MacleadAustraliaAsiya Javayant QUALIFIED
Aditya O DilliardArgentinaIoni Bowcher PROPOSAL
Darci A VenereUnited KingdomIoni Bowcher RENEWAL
Murillo A SergiRussiaIvan Magalhaes NEW
Jones C SergiIndiaIoni Bowcher PROPOSAL
Ivar X PerinRussiaIvan Magalhaes QUALIFIED
Emily L WieserFranceBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo G FlosiFrance2024-05-31King, Christopher A Esq PROPOSAL59Stephen Shaw
1001Johnson R OstroskyJapan2024-06-19Rousseaux, Michael Esq RENEWAL27Xuxue Feng
1002Antonio Z DarakjyArgentina2024-06-10Rangoni Of Florence NEGOTIATION67Xuxue Feng
1003Jennifer Q AmigonArgentina2024-06-05Rangoni Of Florence QUALIFIED32Ioni Bowcher
1004Aruna J RimRussia2024-06-04Benton, John B Jr NEW4Ivan Magalhaes
1005Kadeem O MaletFrance2024-06-02Printing Dimensions NEW86Elwin Sharvill
1006Mayumi R FlosiFrance2024-06-11Printing Dimensions UNQUALIFIED14Stephen Shaw
1007Adams I GlickArgentina2024-06-02Chapman, Ross E Esq NEW99Onyama Limba
1008Maria Y FerenczIndia2024-06-08Commercial Press RENEWAL37Ioni Bowcher
1009Stacey L WieserArgentina2024-05-25Buckley Miller Wright QUALIFIED70Amy Elsner
1010Jones E KolmetzRussia2024-06-11Chapman, Ross E Esq NEW91Xuxue Feng
1011Jeanfrancois Q MorascaFrance2024-06-02Chapman, Ross E Esq NEW77Onyama Limba
1012Murillo H RoysterItaly2024-06-07Chanay, Jeffrey A Esq QUALIFIED80Onyama Limba
1013Ivar Y NestleBrazil2024-06-06Rousseaux, Michael Esq NEGOTIATION49Onyama Limba
1014Munro E FlosiAustralia2024-06-16Printing Dimensions RENEWAL69Elwin Sharvill
1015Chavez H GlickArgentina2024-06-07Feiner Bros PROPOSAL79Bernardo Dominic
1016Arvin O SchemmerJapan2024-06-19Chapman, Ross E Esq NEGOTIATION79Ioni Bowcher
1017Alejandro M SchemmerBrazil2024-06-16Chanay, Jeffrey A Esq UNQUALIFIED38Anna Fali
1018Greenwood T RimBrazil2024-06-12Truhlar And Truhlar Attys PROPOSAL75Amy Elsner
1019Jennifer H IturbideBrazil2024-06-17Printing Dimensions NEGOTIATION10Ivan Magalhaes
1020Wickens E SlusarskiUnited Kingdom2024-06-11Chemel, James L Cpa RENEWAL67Elwin Sharvill
1021Octavia G TollnerFrance2024-05-25Chanay, Jeffrey A Esq PROPOSAL23Stephen Shaw
1022Jennifer V FlosiItaly2024-06-22King, Christopher A Esq PROPOSAL86Asiya Javayant
1023Francesco J BologniaFrance2024-06-02Morlong Associates UNQUALIFIED17Amy Elsner
1024Alejandro B FigeroaJapan2024-06-09Dorl, James J Esq RENEWAL47Asiya Javayant
1025Morrow N FerenczArgentina2024-06-12Buckley Miller Wright RENEWAL93Asiya Javayant
1026Deepesh D MorascaBrazil2024-06-20Chanay, Jeffrey A Esq QUALIFIED62Amy Elsner
1027James C ShinkoUnited Kingdom2024-06-06Buckley Miller Wright NEGOTIATION83Ioni Bowcher
1028Costa I DarakjyRussia2024-06-11Morlong Associates NEGOTIATION28Amy Elsner
1029Greenwood U MaletCanada2024-06-22Buckley Miller Wright RENEWAL52Ivan Magalhaes
1030Sinclair X MarrierFrance2024-05-30Feltz Printing Service QUALIFIED10Ioni Bowcher
1031Tony F KuskoArgentina2024-05-30Feiner Bros QUALIFIED80Asiya Javayant
1032David O SchemmerRussia2024-06-21Feiner Bros RENEWAL28Anna Fali
1033Kadeem K RimRussia2024-06-13Feiner Bros NEW17Amy Elsner
1034Mayumi Q StensethFrance2024-06-20Chemel, James L Cpa NEGOTIATION87Anna Fali
1035Kadeem T GarufiIndia2024-05-29Truhlar And Truhlar Attys NEGOTIATION25Stephen Shaw
1036Isabel F TollnerSpain2024-06-10Printing Dimensions UNQUALIFIED16Stephen Shaw
1037Misaki C DoeUnited Kingdom2024-06-05Chanay, Jeffrey A Esq PROPOSAL34Anna Fali
1038Leja B FigeroaFrance2024-06-06Chapman, Ross E Esq UNQUALIFIED19Amy Elsner
1039Alejandro L FlosiArgentina2024-06-13Rousseaux, Michael Esq RENEWAL89Bernardo Dominic
1040Cody L RulapaughCanada2024-06-04Chemel, James L Cpa QUALIFIED72Amy Elsner
1041Salvatore J WaycottBrazil2024-05-30Chanay, Jeffrey A Esq NEW45Onyama Limba
1042David J PerinCanada2024-06-15Buckley Miller Wright NEW48Xuxue Feng
1043Maria R AmigonGermany2024-05-28Commercial Press QUALIFIED96Anna Fali
1044Octavia W NickaRussia2024-05-29Dorl, James J Esq PROPOSAL18Bernardo Dominic
1045Kaitlin Q GarufiUnited Kingdom2024-05-26Chapman, Ross E Esq RENEWAL5Elwin Sharvill
1046Ashley K DilliardGermany2024-06-06Rousseaux, Michael Esq QUALIFIED75Onyama Limba
1047Chavez L MaletJapan2024-06-19Buckley Miller Wright PROPOSAL97Onyama Limba
1048Adams N GauchoCanada2024-05-24Feiner Bros NEGOTIATION39Onyama Limba
1049Jones M RoysterBrazil2024-06-18Benton, John B Jr UNQUALIFIED95Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Costa Y FerenczJapanOnyama Limba QUALIFIED
David Y RoysterJapanAsiya Javayant UNQUALIFIED
Jennifer I BologniaFranceOnyama Limba NEGOTIATION
James L KolmetzRussiaOnyama Limba UNQUALIFIED
Mujtaba J OldroydIndiaAsiya Javayant NEGOTIATION
Johnson U MacleadCanadaIvan Magalhaes NEGOTIATION
Claire M SaylorsAustraliaAmy Elsner RENEWAL
Sinclair I BologniaGermanyAmy Elsner QUALIFIED
Mayumi D SlusarskiUnited KingdomAsiya Javayant QUALIFIED
Silvio X BowleyBrazilAnna Fali NEGOTIATION
James J SergiCanadaOnyama Limba QUALIFIED
Murillo G CampainCanadaXuxue Feng NEGOTIATION
Kaitlin S FollerUnited KingdomAmy Elsner NEGOTIATION
James C AmigonGermanyOnyama Limba NEW
Darci S MaletIndiaXuxue Feng RENEWAL
Morrow C AlbaresGermanyBernardo Dominic NEGOTIATION
Nicolas T BriddickBrazilIoni Bowcher NEGOTIATION
Chavez U MaletGermanyOnyama Limba RENEWAL
Deepesh N ShinkoJapanElwin Sharvill NEGOTIATION
Aika R GauchoGermanyXuxue Feng UNQUALIFIED
Jones X OstroskyIndiaIoni Bowcher NEGOTIATION
Jefferson C StockhamArgentinaStephen Shaw RENEWAL
Kaitlin Q RoysterUnited KingdomAsiya Javayant PROPOSAL
Aditya V KolmetzArgentinaOnyama Limba RENEWAL
Silvio W StensethFranceXuxue Feng NEW
Clifford I SchemmerAustraliaIoni Bowcher PROPOSAL
Ricardo C FollerSpainAmy Elsner UNQUALIFIED
Wickens H BriddickJapanIvan Magalhaes NEGOTIATION
Jennifer G AlbaresGermanyStephen Shaw NEW
Misaki Y DarakjyRussiaAmy Elsner QUALIFIED
Antonio A CaudyCanadaOnyama Limba RENEWAL
James E InouyeCanadaBernardo Dominic NEW
Greenwood F ShinkoUnited KingdomIoni Bowcher NEW
Jones S ChuiItalyBernardo Dominic NEGOTIATION
Ivar S BologniaFranceStephen Shaw NEGOTIATION
Misaki S FerenczRussiaAnna Fali UNQUALIFIED
Morrow I RutaRussiaAsiya Javayant RENEWAL
Emily O SergiGermanyIoni Bowcher UNQUALIFIED
Juan Y OldroydRussiaXuxue Feng QUALIFIED
Kadeem Q SaylorsItalyAnna Fali UNQUALIFIED
Emily G AlbaresArgentinaIoni Bowcher PROPOSAL
Chavez O VocelkaCanadaBernardo Dominic NEGOTIATION
Leja R MorascaRussiaAnna Fali UNQUALIFIED
Jefferson L GarufiBrazilIoni Bowcher QUALIFIED
James W MacleadIndiaBernardo Dominic NEGOTIATION
Juan V WieserRussiaAmy Elsner RENEWAL
Murillo Q WieserItalyIvan Magalhaes RENEWAL
Leja R ButtIndiaXuxue Feng NEW
Arvin R MacleadFranceIvan Magalhaes UNQUALIFIED
Jennifer H OldroydSpainAsiya Javayant RENEWAL
Frozen Columns
Name
Jeanfrancois K Stenseth
Jeanfrancois I Ruta
Ivar F Doe
Isabel S Darakjy
Stacey J Oldroyd
Adams Y Glick
Stacey K Garufi
Silvio N Ruta
Emily P Whobrey
Julie K Caudy
Johnson V Marrier
Francesco R Whobrey
Tony V Royster
Sinclair X Iturbide
Francesco A Slusarski
Kaitlin U Gaucho
Antonio Z Stenseth
Jefferson W Saylors
Murillo C Bolognia
Darci X Kolmetz
Stacey E Poquette
Chavez N Slusarski
Emily M Foller
Ricardo N Sergi
Silvio E Darakjy
Maria Z Malet
Darci H Bowley
Wickens D Doe
Rodrigues C Maclead
Nicolas O Garufi
Aditya U Glick
Mujtaba J Perin
Silvio F Venere
Octavia I Inouye
Octavia F Inouye
Juan J Chui
Smith T Rulapaugh
Jones O Darakjy
Ashley P Stenseth
Darci I Caudy
Aditya H Doe
Tony G Iturbide
Greenwood P Kusko
Jeanfrancois Y Chui
Rodrigues R Morasca
Kaitlin G Gaucho
Aika D Ferencz
Adams W Glick
Leon S Slusarski
Costa N Poquette
IdCountryDate
1000Brazil2024-05-27
1001United Kingdom2024-06-06
1002United Kingdom2024-05-30
1003Italy2024-05-29
1004France2024-06-19
1005Argentina2024-06-04
1006India2024-06-19
1007Germany2024-06-03
1008Brazil2024-06-17
1009France2024-05-31
1010Russia2024-05-26
1011United Kingdom2024-05-28
1012United Kingdom2024-06-19
1013Russia2024-06-15
1014Argentina2024-06-07
1015Japan2024-06-14
1016Argentina2024-06-12
1017Canada2024-06-15
1018Russia2024-06-18
1019Canada2024-06-18
1020Germany2024-06-02
1021Italy2024-06-02
1022Brazil2024-06-16
1023Germany2024-05-26
1024India2024-06-07
1025United Kingdom2024-06-09
1026France2024-06-04
1027Australia2024-06-19
1028Canada2024-05-30
1029United Kingdom2024-06-02
1030Japan2024-06-21
1031France2024-06-12
1032Spain2024-06-03
1033Japan2024-06-05
1034Canada2024-05-24
1035Russia2024-05-25
1036Canada2024-05-24
1037France2024-06-12
1038Australia2024-06-22
1039Canada2024-05-29
1040Spain2024-05-31
1041Brazil2024-06-12
1042Germany2024-06-03
1043Spain2024-05-28
1044Spain2024-05-25
1045Spain2024-06-09
1046Spain2024-06-14
1047Brazil2024-06-18
1048Argentina2024-06-02
1049Brazil2024-06-02

On-Demand Data

NameIdCountryDate
Maisha I Rim1000United Kingdom2024-06-20
Jeanfrancois R Wieser1001Spain2024-06-03
Chavez A Iturbide1002Australia2024-06-04
Isabel K Chui1003France2024-05-30
Julie C Perin1004Russia2024-06-21
Mayumi Q Stenseth1005Germany2024-06-17
Francesco Q Gillian1006Italy2024-06-03
Izzy N Poquette1007Italy2024-06-05
Clifford O Kolmetz1008India2024-06-18
Stacey X Kolmetz1009Argentina2024-06-09
Greenwood N Vocelka1010France2024-06-18
Silvio P Kusko1011France2024-06-04
David Q Marrier1012Brazil2024-06-16
Ivar Z Sergi1013United Kingdom2024-06-02
Deepesh S Ruta1014Russia2024-06-11
Greenwood B Flosi1015Spain2024-05-25
Sinclair H Morasca1016Canada2024-06-03
Silvio Z Bolognia1017India2024-06-10
Clifford I Nestle1018Argentina2024-06-13
Maria E Sergi1019Russia2024-05-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya V CaudyCanadaOnyama Limba RENEWAL
Deepesh Z WhobreyBrazilIoni Bowcher UNQUALIFIED
Mujtaba E CampainBrazilAmy Elsner NEW
Leon B PerinFranceBernardo Dominic NEGOTIATION
Cody A VenereIndiaAnna Fali UNQUALIFIED
Ricardo M SlusarskiArgentinaAmy Elsner NEGOTIATION
Isabel B KolmetzBrazilIvan Magalhaes UNQUALIFIED
Ashley T MacleadUnited KingdomOnyama Limba PROPOSAL
David Y SchemmerGermanyAmy Elsner QUALIFIED
Kaitlin R FollerAustraliaStephen Shaw RENEWAL
Francesco Y PoquetteIndiaIvan Magalhaes PROPOSAL
Arvin Q FigeroaRussiaAsiya Javayant NEW
Aditya E StockhamSpainElwin Sharvill NEGOTIATION
Cody R FigeroaFranceOnyama Limba NEW
Mujtaba W WhobreyArgentinaElwin Sharvill NEGOTIATION
Octavia Q CampainJapanBernardo Dominic QUALIFIED
Rodrigues W MacleadSpainElwin Sharvill PROPOSAL
Isabel Y VocelkaFranceAsiya Javayant RENEWAL
Stacey O MorascaAustraliaAnna Fali NEGOTIATION
Clifford Q RulapaughBrazilAsiya Javayant RENEWAL
James T FollerBrazilElwin Sharvill NEGOTIATION
Mujtaba Y RutaArgentinaBernardo Dominic NEGOTIATION
Ashley G CaudyItalyAmy Elsner QUALIFIED
Antonio W BowleyFranceXuxue Feng QUALIFIED
Aruna M AmigonGermanyOnyama Limba PROPOSAL
Misaki O PoquetteAustraliaIvan Magalhaes UNQUALIFIED
Antonio L MorascaArgentinaAsiya Javayant QUALIFIED
Julie Y OstroskyArgentinaAnna Fali PROPOSAL
Morrow Y SlusarskiArgentinaBernardo Dominic NEW
Costa U KuskoJapanAmy Elsner NEW
Julie P ShinkoIndiaAsiya Javayant RENEWAL
Kaitlin Q GauchoArgentinaAsiya Javayant NEW
Kadeem J RoysterRussiaXuxue Feng NEW
Ashley U InouyeJapanStephen Shaw PROPOSAL
Jennifer G TollnerIndiaAnna Fali NEGOTIATION
Darci L InouyeAustraliaAsiya Javayant QUALIFIED
Arvin O FigeroaSpainAmy Elsner NEW
Munro G VenereUnited KingdomBernardo Dominic PROPOSAL
Stacey K SaylorsAustraliaOnyama Limba QUALIFIED
Tony V BriddickArgentinaBernardo Dominic 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>