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
Aruna V NickaGermanyAmy Elsner UNQUALIFIED
Silvio W StensethArgentinaOnyama Limba UNQUALIFIED
Ricardo F GarufiBrazilAsiya Javayant RENEWAL
Faith P MaletIndiaAnna Fali NEW
Adams J FlosiArgentinaAnna Fali UNQUALIFIED
Nicolas R GlickItalyBernardo Dominic PROPOSAL
Rodrigues N RoysterFranceStephen Shaw NEW
Antonio F SlusarskiAustraliaIvan Magalhaes UNQUALIFIED
Greenwood R GauchoSpainStephen Shaw QUALIFIED
Julie T GarufiIndiaOnyama Limba RENEWAL
Wickens S SlusarskiJapanElwin Sharvill NEW
Isabel A CaldareraUnited KingdomOnyama Limba PROPOSAL
Deepesh I SaylorsSpainIoni Bowcher PROPOSAL
Leon Z BowleyAustraliaAmy Elsner RENEWAL
Mujtaba T MarrierIndiaIoni Bowcher PROPOSAL
Leon N MacleadBrazilAsiya Javayant UNQUALIFIED
Juan N KolmetzArgentinaXuxue Feng UNQUALIFIED
Francesco N ChuiCanadaBernardo Dominic NEW
Chavez C ButtSpainBernardo Dominic NEW
James J RutaJapanIvan Magalhaes RENEWAL
Aika K BriddickIndiaBernardo Dominic NEGOTIATION
Isabel W BologniaBrazilElwin Sharvill NEW
Stacey M DoeCanadaXuxue Feng NEGOTIATION
Ivar G MacleadIndiaOnyama Limba QUALIFIED
Costa G RimJapanElwin Sharvill NEW
Octavia P CaudyUnited KingdomXuxue Feng QUALIFIED
Adams X KuskoRussiaIoni Bowcher UNQUALIFIED
Salvatore I RoysterItalyIoni Bowcher PROPOSAL
Maria N OstroskyArgentinaElwin Sharvill RENEWAL
Tony U ShinkoArgentinaOnyama Limba RENEWAL
Arvin O WaycottAustraliaIvan Magalhaes NEGOTIATION
Aditya L MacleadCanadaOnyama Limba RENEWAL
Juan I SaylorsSpainBernardo Dominic NEW
Kadeem V GillianCanadaIoni Bowcher PROPOSAL
Francesco J PerinItalyElwin Sharvill QUALIFIED
David L MarrierCanadaAsiya Javayant NEW
Morrow A NestleIndiaStephen Shaw NEGOTIATION
Leon G ShinkoBrazilElwin Sharvill NEGOTIATION
Nicolas O SaylorsFranceStephen Shaw UNQUALIFIED
Silvio D RimSpainOnyama Limba UNQUALIFIED
Morrow O BowleyArgentinaAmy Elsner NEGOTIATION
Francesco G MaletUnited KingdomAsiya Javayant NEGOTIATION
Jeanfrancois Q StockhamCanadaXuxue Feng UNQUALIFIED
Jefferson I BriddickFranceBernardo Dominic PROPOSAL
Johnson N SergiFranceAnna Fali RENEWAL
Wickens O IturbideAustraliaAsiya Javayant UNQUALIFIED
Ashley R VocelkaSpainStephen Shaw RENEWAL
Ivar D WieserCanadaAnna Fali PROPOSAL
Misaki Y DarakjyJapanXuxue Feng QUALIFIED
Cody K MaletSpainXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Rodrigues V RutaAustraliaIvan Magalhaes RENEWAL
Izzy I OldroydJapanAmy Elsner RENEWAL
Murillo A MacleadIndiaAmy Elsner UNQUALIFIED
Stacey U CaudyUnited KingdomBernardo Dominic QUALIFIED
Smith T MorascaCanadaAsiya Javayant PROPOSAL
Mayumi A InouyeJapanStephen Shaw QUALIFIED
Isabel T StockhamArgentinaElwin Sharvill PROPOSAL
Morrow V MacleadFranceIvan Magalhaes QUALIFIED
James P MaletCanadaElwin Sharvill PROPOSAL
Murillo A MaletUnited KingdomIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire I ShinkoJapan2024-06-06Buckley Miller Wright NEW22Bernardo Dominic
1001Jefferson Q MaletSpain2024-05-20Truhlar And Truhlar Attys RENEWAL19Ivan Magalhaes
1002Darci T RutaCanada2024-06-07Feltz Printing Service NEW32Amy Elsner
1003Faith L PoquetteBrazil2024-05-31Commercial Press UNQUALIFIED16Elwin Sharvill
1004Adams T StockhamGermany2024-06-10Chemel, James L Cpa NEGOTIATION98Xuxue Feng
1005Julie R CampainAustralia2024-06-10King, Christopher A Esq NEW21Xuxue Feng
1006Stacey A CaudyIndia2024-05-19Benton, John B Jr QUALIFIED25Onyama Limba
1007Misaki A NickaItaly2024-06-12Chapman, Ross E Esq QUALIFIED16Ioni Bowcher
1008Stacey A KuskoRussia2024-05-19Rangoni Of Florence NEGOTIATION38Amy Elsner
1009Isabel Q FigeroaSpain2024-06-16Truhlar And Truhlar Attys PROPOSAL69Bernardo Dominic
1010David W FollerFrance2024-05-27Truhlar And Truhlar Attys QUALIFIED36Xuxue Feng
1011Kaitlin J KolmetzAustralia2024-06-15Benton, John B Jr QUALIFIED60Amy Elsner
1012Morrow X SaylorsArgentina2024-05-26Morlong Associates NEW46Xuxue Feng
1013Maisha R KuskoGermany2024-05-24Chapman, Ross E Esq NEW6Amy Elsner
1014Izzy P AlbaresAustralia2024-05-27King, Christopher A Esq UNQUALIFIED76Ioni Bowcher
1015Ashley G WhobreyAustralia2024-06-01Printing Dimensions QUALIFIED38Ivan Magalhaes
1016Juan E RoysterFrance2024-06-03Rousseaux, Michael Esq PROPOSAL53Asiya Javayant
1017Mayumi J DilliardAustralia2024-06-07Printing Dimensions NEGOTIATION5Anna Fali
1018Jefferson L IturbideSpain2024-06-06Rangoni Of Florence PROPOSAL73Elwin Sharvill
1019Aditya K DoeFrance2024-05-25Feiner Bros RENEWAL41Bernardo Dominic
1020Jefferson X StensethUnited Kingdom2024-06-02Buckley Miller Wright RENEWAL11Ioni Bowcher
1021Emily H CaudyAustralia2024-05-20Buckley Miller Wright NEW0Anna Fali
1022Isabel E WhobreyJapan2024-05-28Rousseaux, Michael Esq PROPOSAL65Bernardo Dominic
1023Costa D MorascaArgentina2024-06-12Dorl, James J Esq PROPOSAL66Stephen Shaw
1024Deepesh V RulapaughArgentina2024-06-09Chanay, Jeffrey A Esq QUALIFIED43Amy Elsner
1025Mujtaba K StensethItaly2024-05-26Morlong Associates NEW13Asiya Javayant
1026Jeanfrancois O BologniaAustralia2024-06-08Dorl, James J Esq NEGOTIATION51Xuxue Feng
1027Juan U SchemmerRussia2024-06-01Feiner Bros UNQUALIFIED33Asiya Javayant
1028Alejandro I RoysterArgentina2024-05-19Dorl, James J Esq QUALIFIED92Onyama Limba
1029Salvatore N MaletUnited Kingdom2024-05-31Morlong Associates NEW91Elwin Sharvill
1030Jefferson D RoysterArgentina2024-06-06Benton, John B Jr QUALIFIED64Asiya Javayant
1031Jones E SchemmerArgentina2024-06-02Morlong Associates QUALIFIED4Ivan Magalhaes
1032Emily M FigeroaAustralia2024-06-16Truhlar And Truhlar Attys QUALIFIED53Ivan Magalhaes
1033Sinclair T RimIndia2024-05-29Feiner Bros NEW97Ivan Magalhaes
1034Julie J DilliardJapan2024-05-23Truhlar And Truhlar Attys RENEWAL60Elwin Sharvill
1035Nicolas R MarrierFrance2024-06-17Chemel, James L Cpa QUALIFIED94Ivan Magalhaes
1036Claire W ChuiGermany2024-06-01Morlong Associates NEGOTIATION68Xuxue Feng
1037Munro Q MaletAustralia2024-05-27Feltz Printing Service NEW99Ivan Magalhaes
1038Julie D GlickBrazil2024-06-08Chapman, Ross E Esq UNQUALIFIED88Ioni Bowcher
1039Salvatore U BowleyGermany2024-05-22Chapman, Ross E Esq PROPOSAL39Xuxue Feng
1040Faith J PoquetteGermany2024-05-24Commercial Press NEW1Elwin Sharvill
1041Costa X WieserBrazil2024-05-20Feltz Printing Service QUALIFIED15Amy Elsner
1042Jennifer X ButtRussia2024-05-19Chapman, Ross E Esq NEGOTIATION37Ivan Magalhaes
1043Smith X TollnerArgentina2024-06-15Morlong Associates RENEWAL24Elwin Sharvill
1044Salvatore T StockhamRussia2024-05-22Benton, John B Jr RENEWAL25Anna Fali
1045Nicolas T FlosiUnited Kingdom2024-05-29Truhlar And Truhlar Attys RENEWAL10Ioni Bowcher
1046Kadeem J InouyeJapan2024-06-12Printing Dimensions UNQUALIFIED74Asiya Javayant
1047Francesco H CaldareraAustralia2024-05-31Feiner Bros NEGOTIATION62Elwin Sharvill
1048Rodrigues X GauchoFrance2024-06-05King, Christopher A Esq QUALIFIED43Xuxue Feng
1049Jennifer E RulapaughGermany2024-06-16Dorl, James J Esq PROPOSAL93Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Tony U IturbideUnited KingdomAsiya Javayant PROPOSAL
Antonio C WieserArgentinaAsiya Javayant QUALIFIED
Arvin F PaprockiAustraliaIvan Magalhaes RENEWAL
Antonio E FlosiRussiaOnyama Limba RENEWAL
Ivar H StensethRussiaAnna Fali UNQUALIFIED
Emily Z PerinCanadaBernardo Dominic NEW
Costa C StensethFranceOnyama Limba UNQUALIFIED
Wickens S PerinJapanOnyama Limba QUALIFIED
Alejandro Y MorascaBrazilXuxue Feng UNQUALIFIED
Jeanfrancois A StensethJapanElwin Sharvill NEGOTIATION
Deepesh H OldroydArgentinaAsiya Javayant QUALIFIED
Julie B SlusarskiSpainStephen Shaw PROPOSAL
Salvatore I StockhamRussiaAnna Fali NEGOTIATION
Adams G MarrierCanadaElwin Sharvill NEGOTIATION
Aika X BologniaUnited KingdomIvan Magalhaes PROPOSAL
David X MarrierAustraliaBernardo Dominic NEGOTIATION
Izzy T SchemmerGermanyIvan Magalhaes QUALIFIED
Ashley E RimJapanAmy Elsner RENEWAL
Kaitlin F VocelkaSpainElwin Sharvill RENEWAL
Misaki F MarrierArgentinaXuxue Feng RENEWAL
Kadeem C BriddickIndiaAnna Fali UNQUALIFIED
Smith V PerinUnited KingdomAnna Fali QUALIFIED
Misaki V MaletAustraliaAmy Elsner NEW
Juan G FerenczItalyBernardo Dominic NEGOTIATION
Kadeem B FlosiIndiaAmy Elsner NEW
Adams U NestleBrazilOnyama Limba RENEWAL
James P DilliardSpainAnna Fali NEGOTIATION
Aruna N OldroydIndiaBernardo Dominic NEW
Wickens D WaycottArgentinaIvan Magalhaes UNQUALIFIED
Cody J ButtItalyStephen Shaw RENEWAL
Emily U PaprockiCanadaIoni Bowcher RENEWAL
Wickens U GlickUnited KingdomOnyama Limba NEW
Kadeem S BowleyCanadaXuxue Feng UNQUALIFIED
Mayumi F TollnerBrazilOnyama Limba UNQUALIFIED
Munro B IturbideRussiaStephen Shaw QUALIFIED
Jefferson F SlusarskiSpainIvan Magalhaes NEGOTIATION
Ivar C GarufiBrazilIvan Magalhaes NEGOTIATION
Darci E IturbideItalyIoni Bowcher QUALIFIED
Maria Q PerinGermanyAnna Fali UNQUALIFIED
Antonio Z WaycottGermanyAnna Fali QUALIFIED
Jones R CampainBrazilElwin Sharvill UNQUALIFIED
Darci Z SergiFranceStephen Shaw NEW
Jeanfrancois U MacleadFranceStephen Shaw PROPOSAL
Sinclair R CaldareraCanadaAsiya Javayant NEGOTIATION
Chavez O FollerItalyStephen Shaw RENEWAL
Rodrigues A TollnerSpainAsiya Javayant NEGOTIATION
Nicolas E InouyeGermanyOnyama Limba NEW
Francesco G GarufiUnited KingdomAsiya Javayant NEGOTIATION
Alejandro Z WhobreyRussiaBernardo Dominic NEGOTIATION
Arvin U BowleyJapanAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Francesco S Malet
Isabel Z Figeroa
Cody Z Amigon
Ivar X Foller
Morrow T Paprocki
Johnson Y Sergi
Octavia K Doe
Costa C Campain
James N Chui
Cody R Maclead
Kadeem P Bolognia
Jefferson E Waycott
Misaki Y Albares
Kaitlin N Gaucho
Stacey X Dilliard
Alejandro E Darakjy
Darci H Gaucho
Aika M Rulapaugh
Ricardo L Bolognia
Juan G Kusko
Deepesh H Dilliard
Johnson O Dilliard
Julie E Ruta
Deepesh Z Doe
Aditya E Gaucho
Maisha S Marrier
Deepesh L Gillian
Izzy N Ferencz
Clifford H Albares
Alejandro L Maclead
Ivar S Kusko
Misaki U Oldroyd
Jefferson X Iturbide
Juan J Glick
Greenwood X Caudy
Maisha P Schemmer
Claire L Whobrey
Murillo K Shinko
Salvatore A Gillian
Johnson T Saylors
Adams I Venere
Deepesh E Amigon
Emily K Maclead
Ivar J Marrier
Murillo G Bolognia
Greenwood N Venere
Ricardo I Rulapaugh
Maria V Paprocki
Octavia F Nestle
Morrow M Slusarski
IdCountryDate
1000Russia2024-05-25
1001France2024-05-31
1002Japan2024-06-05
1003Brazil2024-05-24
1004United Kingdom2024-06-12
1005Italy2024-05-27
1006United Kingdom2024-06-08
1007France2024-05-29
1008Argentina2024-06-13
1009Spain2024-05-29
1010Japan2024-06-11
1011France2024-06-10
1012France2024-05-23
1013Australia2024-06-06
1014Italy2024-06-14
1015Argentina2024-05-19
1016United Kingdom2024-05-29
1017Australia2024-06-14
1018Argentina2024-05-28
1019Russia2024-05-20
1020Russia2024-05-30
1021Argentina2024-05-29
1022Brazil2024-05-19
1023Italy2024-06-02
1024United Kingdom2024-06-10
1025Spain2024-05-29
1026Japan2024-05-22
1027Canada2024-05-27
1028Germany2024-05-23
1029United Kingdom2024-06-12
1030India2024-06-06
1031Argentina2024-05-27
1032Germany2024-05-19
1033Spain2024-06-01
1034Argentina2024-05-27
1035Germany2024-06-01
1036United Kingdom2024-05-28
1037United Kingdom2024-05-21
1038Japan2024-06-02
1039Russia2024-06-15
1040Spain2024-06-13
1041Brazil2024-06-03
1042United Kingdom2024-06-01
1043Japan2024-06-07
1044Canada2024-05-28
1045Japan2024-06-07
1046Japan2024-06-03
1047Russia2024-05-27
1048Germany2024-05-24
1049India2024-05-31

On-Demand Data

NameIdCountryDate
Murillo K Ostrosky1000Russia2024-05-27
Nicolas Y Campain1001Brazil2024-05-20
Alejandro X Stockham1002Germany2024-05-21
Misaki G Campain1003Spain2024-06-09
Morrow Q Malet1004Japan2024-06-17
Chavez Z Figeroa1005Germany2024-05-21
Kaitlin G Perin1006Italy2024-05-24
Izzy A Flosi1007Russia2024-06-15
Deepesh I Gillian1008Australia2024-06-09
Leja C Paprocki1009Spain2024-05-27
Mujtaba X Nestle1010Spain2024-05-27
Faith Y Royster1011Canada2024-06-16
Isabel N Rim1012Argentina2024-06-03
Ricardo J Wieser1013France2024-05-30
Smith S Doe1014Argentina2024-05-25
Mujtaba R Glick1015Spain2024-06-09
Tony K Briddick1016Italy2024-05-19
Smith F Butt1017Germany2024-06-08
Ivar L Inouye1018United Kingdom2024-06-11
Silvio V Malet1019Russia2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco Z SaylorsCanadaElwin Sharvill PROPOSAL
Maria F InouyeIndiaOnyama Limba UNQUALIFIED
Rodrigues H CaudyRussiaOnyama Limba RENEWAL
Antonio M MacleadRussiaAmy Elsner QUALIFIED
Leon D SlusarskiArgentinaAnna Fali NEW
Deepesh U RutaArgentinaElwin Sharvill UNQUALIFIED
Johnson M NestleArgentinaBernardo Dominic UNQUALIFIED
Aditya W MarrierGermanyAnna Fali UNQUALIFIED
Jones J FollerRussiaStephen Shaw NEGOTIATION
Maisha M VocelkaSpainOnyama Limba NEGOTIATION
Maria N BriddickJapanAsiya Javayant NEGOTIATION
Jeanfrancois L InouyeArgentinaOnyama Limba UNQUALIFIED
Murillo S WieserCanadaElwin Sharvill NEGOTIATION
Kadeem T GarufiGermanyAsiya Javayant NEW
Jones R InouyeAustraliaIoni Bowcher UNQUALIFIED
Isabel P MaletSpainIoni Bowcher NEGOTIATION
Arvin A BowleyGermanyBernardo Dominic PROPOSAL
Sinclair R CaldareraBrazilBernardo Dominic UNQUALIFIED
Tony B TollnerArgentinaIvan Magalhaes NEGOTIATION
Chavez R FigeroaSpainElwin Sharvill RENEWAL
Tony I BriddickSpainIvan Magalhaes NEW
Mayumi K SchemmerJapanAnna Fali UNQUALIFIED
Salvatore S KolmetzItalyBernardo Dominic PROPOSAL
Chavez C RulapaughItalyAsiya Javayant NEGOTIATION
Alejandro C AmigonBrazilBernardo Dominic NEW
Jennifer Y VenereBrazilAmy Elsner QUALIFIED
Silvio M KuskoAustraliaElwin Sharvill QUALIFIED
Emily K PoquetteIndiaXuxue Feng PROPOSAL
Julie S MorascaArgentinaStephen Shaw NEW
Alejandro F ChuiBrazilElwin Sharvill UNQUALIFIED
Antonio B OstroskyAustraliaXuxue Feng PROPOSAL
Izzy N CampainIndiaAsiya Javayant NEW
Aditya F AlbaresGermanyElwin Sharvill NEGOTIATION
Aruna B DoeFranceAnna Fali QUALIFIED
David M CaudyBrazilIvan Magalhaes UNQUALIFIED
Ricardo W OldroydAustraliaBernardo Dominic NEGOTIATION
Mujtaba A BriddickSpainIvan Magalhaes RENEWAL
Francesco I DarakjyUnited KingdomOnyama Limba PROPOSAL
Faith Q NestleUnited KingdomBernardo Dominic UNQUALIFIED
Ivar C MarrierArgentinaAsiya Javayant 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>