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
Deepesh F FerenczIndiaStephen Shaw PROPOSAL
Mujtaba V DilliardBrazilXuxue Feng NEGOTIATION
Ivar X FlosiUnited KingdomIoni Bowcher UNQUALIFIED
Izzy W ButtBrazilOnyama Limba UNQUALIFIED
Adams Q FigeroaAustraliaIoni Bowcher QUALIFIED
Smith E GarufiItalyStephen Shaw PROPOSAL
Clifford H CaldareraSpainIoni Bowcher RENEWAL
Darci Q KuskoUnited KingdomAsiya Javayant NEGOTIATION
Octavia H MaletAustraliaAsiya Javayant NEW
Maisha K VenereCanadaXuxue Feng NEW
Nicolas U CaudyCanadaBernardo Dominic UNQUALIFIED
Adams N ShinkoBrazilBernardo Dominic QUALIFIED
Adams Q ChuiRussiaIvan Magalhaes QUALIFIED
Morrow Y MorascaFranceAmy Elsner PROPOSAL
Misaki A MacleadUnited KingdomAnna Fali RENEWAL
Arvin C IturbideSpainAmy Elsner NEGOTIATION
Smith V ButtArgentinaAsiya Javayant RENEWAL
Juan F MorascaRussiaElwin Sharvill RENEWAL
Isabel X DilliardArgentinaElwin Sharvill PROPOSAL
Morrow L SergiAustraliaIvan Magalhaes QUALIFIED
Clifford A IturbideAustraliaElwin Sharvill UNQUALIFIED
Morrow V MorascaFranceIvan Magalhaes NEW
Kaitlin B ButtAustraliaAmy Elsner NEW
Stacey X RoysterItalyAmy Elsner UNQUALIFIED
Greenwood G DilliardBrazilIvan Magalhaes PROPOSAL
Morrow C InouyeGermanyAmy Elsner NEW
Greenwood K OstroskyGermanyXuxue Feng UNQUALIFIED
Isabel K WaycottArgentinaElwin Sharvill PROPOSAL
Nicolas D BriddickGermanyAmy Elsner NEW
Juan J ShinkoAustraliaAnna Fali NEW
Smith X BriddickBrazilIoni Bowcher RENEWAL
Nicolas V SchemmerArgentinaIoni Bowcher UNQUALIFIED
Ricardo K WhobreyCanadaIoni Bowcher RENEWAL
Nicolas S MaletGermanyIoni Bowcher NEGOTIATION
Isabel C InouyeSpainBernardo Dominic RENEWAL
Leja R BowleySpainAsiya Javayant PROPOSAL
Octavia F AlbaresArgentinaAnna Fali PROPOSAL
Jeanfrancois U GauchoJapanStephen Shaw NEGOTIATION
Juan Y GlickItalyStephen Shaw RENEWAL
Aruna X TollnerGermanyOnyama Limba NEGOTIATION
James D MaletRussiaAsiya Javayant RENEWAL
Nicolas Y WaycottIndiaOnyama Limba RENEWAL
Octavia U MacleadAustraliaElwin Sharvill NEW
Aditya I SchemmerBrazilBernardo Dominic RENEWAL
Emily D CampainGermanyAnna Fali PROPOSAL
Isabel B MaletItalyAmy Elsner NEW
Costa S BowleyGermanyBernardo Dominic UNQUALIFIED
Juan J CaudyIndiaAmy Elsner PROPOSAL
Misaki I ChuiFranceAmy Elsner RENEWAL
Aditya W GillianCanadaOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Juan S BologniaSpainIoni Bowcher RENEWAL
Jones I MarrierRussiaOnyama Limba RENEWAL
Silvio I SchemmerRussiaAsiya Javayant PROPOSAL
Murillo W WieserRussiaXuxue Feng UNQUALIFIED
Mayumi I KolmetzAustraliaIoni Bowcher NEGOTIATION
Silvio C DoeJapanOnyama Limba RENEWAL
Jones X MaletJapanStephen Shaw UNQUALIFIED
Francesco O GauchoUnited KingdomIoni Bowcher RENEWAL
Silvio G ShinkoCanadaAnna Fali UNQUALIFIED
Costa F MaletIndiaIvan Magalhaes UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon Y FollerItaly2024-05-31Chapman, Ross E Esq QUALIFIED96Anna Fali
1001Jefferson C DoeUnited Kingdom2024-06-20Dorl, James J Esq UNQUALIFIED39Ivan Magalhaes
1002Munro R DoeRussia2024-06-18Rousseaux, Michael Esq PROPOSAL90Elwin Sharvill
1003Nicolas V RulapaughItaly2024-06-21Commercial Press NEGOTIATION89Onyama Limba
1004Wickens Y PerinArgentina2024-06-02Morlong Associates PROPOSAL71Ioni Bowcher
1005Tony O OldroydCanada2024-05-26Commercial Press RENEWAL91Ioni Bowcher
1006Mayumi V SergiCanada2024-05-29Truhlar And Truhlar Attys PROPOSAL34Ioni Bowcher
1007Smith U CampainRussia2024-06-22Chanay, Jeffrey A Esq PROPOSAL42Onyama Limba
1008James L SchemmerAustralia2024-05-24Chapman, Ross E Esq QUALIFIED41Bernardo Dominic
1009Juan A PaprockiItaly2024-06-11Feltz Printing Service QUALIFIED80Bernardo Dominic
1010Ashley I InouyeItaly2024-06-13Chanay, Jeffrey A Esq NEW38Xuxue Feng
1011Sinclair Q FerenczSpain2024-06-16Printing Dimensions QUALIFIED53Asiya Javayant
1012Aditya P StockhamJapan2024-06-16Rangoni Of Florence NEW62Stephen Shaw
1013Deepesh E GarufiIndia2024-06-16King, Christopher A Esq RENEWAL78Onyama Limba
1014Deepesh S InouyeCanada2024-05-27Chemel, James L Cpa UNQUALIFIED92Stephen Shaw
1015Munro C KolmetzBrazil2024-06-03Feltz Printing Service PROPOSAL14Stephen Shaw
1016Silvio V TollnerFrance2024-06-08Chanay, Jeffrey A Esq NEGOTIATION28Bernardo Dominic
1017Maria Q GarufiUnited Kingdom2024-05-28Feiner Bros NEGOTIATION12Asiya Javayant
1018Salvatore X AmigonAustralia2024-06-04Chanay, Jeffrey A Esq UNQUALIFIED63Anna Fali
1019Claire Y WieserSpain2024-05-25Chemel, James L Cpa PROPOSAL0Ioni Bowcher
1020Aika K SlusarskiIndia2024-06-02Truhlar And Truhlar Attys UNQUALIFIED88Anna Fali
1021Kaitlin Z WieserSpain2024-05-28Feiner Bros PROPOSAL64Anna Fali
1022Wickens G PaprockiUnited Kingdom2024-06-14Benton, John B Jr UNQUALIFIED23Anna Fali
1023Costa T OldroydJapan2024-06-22Benton, John B Jr UNQUALIFIED72Anna Fali
1024Chavez M StockhamFrance2024-06-14Rangoni Of Florence RENEWAL51Bernardo Dominic
1025Chavez J WhobreyCanada2024-06-22Buckley Miller Wright PROPOSAL76Bernardo Dominic
1026Leja I CaldareraJapan2024-06-17Benton, John B Jr QUALIFIED98Stephen Shaw
1027Maisha Z MaletUnited Kingdom2024-06-14Benton, John B Jr PROPOSAL0Amy Elsner
1028Arvin M RoysterGermany2024-05-31Truhlar And Truhlar Attys UNQUALIFIED23Amy Elsner
1029Tony M AlbaresJapan2024-06-22King, Christopher A Esq QUALIFIED69Elwin Sharvill
1030Juan D TollnerSpain2024-06-01Chapman, Ross E Esq PROPOSAL84Ioni Bowcher
1031Octavia I RoysterIndia2024-05-30Printing Dimensions QUALIFIED97Ivan Magalhaes
1032Antonio B GauchoIndia2024-06-03Rousseaux, Michael Esq RENEWAL15Asiya Javayant
1033Nicolas V NestleFrance2024-06-14Chapman, Ross E Esq NEW7Bernardo Dominic
1034Deepesh T VenereItaly2024-06-06Printing Dimensions NEGOTIATION64Onyama Limba
1035Tony A OstroskyAustralia2024-06-20Morlong Associates PROPOSAL87Bernardo Dominic
1036Smith I GlickJapan2024-05-28Printing Dimensions RENEWAL78Stephen Shaw
1037Adams P GlickSpain2024-06-07Chemel, James L Cpa RENEWAL21Anna Fali
1038Tony N IturbideItaly2024-06-08Rousseaux, Michael Esq NEW73Ivan Magalhaes
1039Faith A GillianUnited Kingdom2024-06-02Benton, John B Jr PROPOSAL69Asiya Javayant
1040Murillo M FlosiFrance2024-05-27Printing Dimensions RENEWAL27Stephen Shaw
1041Kadeem W ButtIndia2024-06-14Chanay, Jeffrey A Esq NEGOTIATION2Amy Elsner
1042Francesco G CaldareraItaly2024-05-24Dorl, James J Esq QUALIFIED38Ioni Bowcher
1043Stacey B IturbideIndia2024-05-31Chemel, James L Cpa UNQUALIFIED42Asiya Javayant
1044Jefferson W GarufiRussia2024-06-13Commercial Press NEGOTIATION39Stephen Shaw
1045Jones P FlosiArgentina2024-05-30Morlong Associates NEW50Bernardo Dominic
1046Aika Z StensethFrance2024-06-08Commercial Press UNQUALIFIED36Onyama Limba
1047Jones B GarufiArgentina2024-06-12King, Christopher A Esq NEGOTIATION2Ivan Magalhaes
1048Silvio H SergiUnited Kingdom2024-06-12Chapman, Ross E Esq UNQUALIFIED49Elwin Sharvill
1049Jeanfrancois L CaudyBrazil2024-06-08Feltz Printing Service PROPOSAL57Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Kadeem L NickaSpainAsiya Javayant PROPOSAL
Silvio U StockhamIndiaStephen Shaw NEGOTIATION
Sinclair R MaletFranceBernardo Dominic QUALIFIED
Maisha E KolmetzRussiaXuxue Feng NEGOTIATION
Rodrigues O MarrierGermanyXuxue Feng UNQUALIFIED
Murillo D AlbaresGermanyAmy Elsner RENEWAL
Leon X MacleadGermanyAmy Elsner PROPOSAL
Wickens O AmigonGermanyAsiya Javayant NEW
Morrow L NestleCanadaAmy Elsner NEW
Jefferson P MacleadIndiaElwin Sharvill QUALIFIED
Costa T WaycottSpainAmy Elsner RENEWAL
Octavia B KuskoIndiaAmy Elsner PROPOSAL
Jefferson M GarufiBrazilIoni Bowcher NEGOTIATION
Salvatore N NestleRussiaBernardo Dominic PROPOSAL
David D BriddickAustraliaOnyama Limba NEGOTIATION
Jennifer X GlickUnited KingdomBernardo Dominic QUALIFIED
Aika V DoeArgentinaAmy Elsner RENEWAL
Jeanfrancois R MarrierArgentinaAsiya Javayant PROPOSAL
Faith H ShinkoUnited KingdomStephen Shaw RENEWAL
Juan P SergiArgentinaAsiya Javayant RENEWAL
Stacey T OldroydUnited KingdomIvan Magalhaes UNQUALIFIED
Clifford G GillianArgentinaOnyama Limba NEGOTIATION
Faith L SchemmerCanadaXuxue Feng NEGOTIATION
Johnson N SaylorsAustraliaElwin Sharvill RENEWAL
Faith O SlusarskiGermanyAmy Elsner PROPOSAL
Faith N ButtGermanyXuxue Feng NEGOTIATION
Maria C DoeArgentinaIoni Bowcher PROPOSAL
Cody L WhobreyUnited KingdomOnyama Limba RENEWAL
Izzy F StensethSpainElwin Sharvill RENEWAL
James M BriddickBrazilIoni Bowcher NEW
Izzy K StockhamGermanyStephen Shaw UNQUALIFIED
Johnson D GarufiSpainAsiya Javayant UNQUALIFIED
Julie G MaletGermanyStephen Shaw QUALIFIED
Izzy P StockhamItalyOnyama Limba NEW
Izzy N MaletAustraliaAmy Elsner RENEWAL
Deepesh V DarakjyCanadaAmy Elsner NEW
Ivar G NickaItalyIoni Bowcher PROPOSAL
Misaki I VenereRussiaIvan Magalhaes QUALIFIED
Octavia M SchemmerFranceXuxue Feng NEW
Alejandro L OldroydSpainElwin Sharvill NEW
Mayumi S ShinkoCanadaBernardo Dominic NEW
Cody G WaycottArgentinaAsiya Javayant QUALIFIED
Isabel F MarrierItalyIoni Bowcher NEW
Alejandro L CampainArgentinaIoni Bowcher PROPOSAL
Juan J VenereRussiaBernardo Dominic PROPOSAL
Clifford M GauchoUnited KingdomStephen Shaw NEW
Francesco M GarufiRussiaOnyama Limba PROPOSAL
Stacey K GauchoRussiaIvan Magalhaes PROPOSAL
Chavez R InouyeFranceIvan Magalhaes RENEWAL
Nicolas M RulapaughBrazilIoni Bowcher NEGOTIATION
Frozen Columns
Name
Jeanfrancois L Sergi
David G Kusko
Murillo F Sergi
David A Caldarera
Salvatore Z Ostrosky
Adams K Rim
Julie E Schemmer
Maria C Ruta
Izzy K Caldarera
Adams R Saylors
Alejandro G Waycott
Aika B Chui
Costa L Glick
Antonio N Gaucho
Cody P Marrier
Munro Z Amigon
Francesco V Bolognia
Costa A Morasca
David B Whobrey
Johnson L Butt
Leon K Darakjy
Morrow T Whobrey
Mayumi T Paprocki
Kaitlin J Stockham
Aditya U Nicka
Kaitlin K Oldroyd
Kadeem H Tollner
Wickens E Paprocki
Aruna G Garufi
Izzy M Poquette
Ivar R Stockham
Munro G Rulapaugh
Greenwood M Kusko
Juan W Gaucho
Antonio T Caldarera
Deepesh I Caudy
Greenwood R Vocelka
Clifford Y Marrier
Leja M Amigon
Maisha V Oldroyd
Julie N Venere
Salvatore O Campain
Leja H Sergi
Jefferson Z Glick
Juan T Inouye
Ivar T Gaucho
Cody R Doe
James P Rulapaugh
Chavez Z Rim
Isabel L Shinko
IdCountryDate
1000Brazil2024-06-18
1001Spain2024-05-27
1002Brazil2024-05-25
1003Brazil2024-05-29
1004Germany2024-06-12
1005Italy2024-06-18
1006Canada2024-05-24
1007Germany2024-05-31
1008Russia2024-06-17
1009Australia2024-06-03
1010United Kingdom2024-06-07
1011Canada2024-05-26
1012Germany2024-06-06
1013United Kingdom2024-06-22
1014Russia2024-06-02
1015Argentina2024-06-16
1016Italy2024-05-28
1017Brazil2024-06-13
1018Canada2024-06-02
1019France2024-06-19
1020Australia2024-05-31
1021Brazil2024-06-04
1022Brazil2024-06-18
1023Canada2024-06-17
1024United Kingdom2024-06-15
1025Russia2024-06-20
1026Russia2024-05-30
1027Brazil2024-06-14
1028Germany2024-06-04
1029Italy2024-06-04
1030United Kingdom2024-06-10
1031Russia2024-06-15
1032Germany2024-05-25
1033Australia2024-06-06
1034Canada2024-06-20
1035France2024-06-03
1036Brazil2024-06-22
1037Italy2024-06-14
1038Argentina2024-06-08
1039Brazil2024-06-04
1040Russia2024-05-28
1041Spain2024-06-10
1042Australia2024-06-18
1043Russia2024-05-27
1044India2024-06-03
1045Brazil2024-06-16
1046Italy2024-05-27
1047Argentina2024-06-14
1048Canada2024-06-04
1049Spain2024-06-12

On-Demand Data

NameIdCountryDate
Deepesh C Ostrosky1000Spain2024-05-25
Silvio M Bolognia1001India2024-06-02
Maria X Gillian1002Canada2024-06-02
Ricardo E Nestle1003Germany2024-05-25
Francesco Z Schemmer1004India2024-05-25
Francesco D Waycott1005Brazil2024-06-01
Darci A Iturbide1006France2024-05-25
Tony A Whobrey1007Australia2024-06-22
Darci I Maclead1008France2024-06-18
Leja E Gillian1009Brazil2024-06-06
Greenwood Q Stockham1010Japan2024-06-18
Cody R Ferencz1011Russia2024-06-09
Ivar I Flosi1012Germany2024-06-06
Greenwood A Paprocki1013Japan2024-06-03
Juan A Morasca1014Japan2024-05-31
Emily W Flosi1015Germany2024-06-14
Kadeem R Sergi1016Australia2024-06-13
Arvin U Inouye1017Canada2024-06-07
Julie E Wieser1018Japan2024-06-12
Emily W Foller1019United Kingdom2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin F VenereRussiaElwin Sharvill PROPOSAL
Alejandro N NestleAustraliaBernardo Dominic UNQUALIFIED
Mayumi W RulapaughBrazilStephen Shaw QUALIFIED
Sinclair B GauchoArgentinaAsiya Javayant NEW
Clifford L WhobreyFranceXuxue Feng NEW
Jennifer D KuskoIndiaStephen Shaw RENEWAL
Greenwood M SergiIndiaOnyama Limba PROPOSAL
Emily I WieserRussiaXuxue Feng UNQUALIFIED
Adams J BowleyItalyElwin Sharvill PROPOSAL
James R AmigonArgentinaIoni Bowcher RENEWAL
Maisha R DoeArgentinaStephen Shaw NEGOTIATION
Misaki J RutaJapanAsiya Javayant NEGOTIATION
Alejandro O KuskoRussiaAsiya Javayant NEW
Chavez Y CaldareraRussiaIvan Magalhaes NEGOTIATION
Octavia D PaprockiUnited KingdomIoni Bowcher QUALIFIED
Misaki H OstroskySpainOnyama Limba NEW
Kadeem D GlickFranceOnyama Limba QUALIFIED
Mayumi Q StensethAustraliaStephen Shaw NEW
Claire Y GauchoAustraliaBernardo Dominic NEW
Deepesh M CaudyGermanyAsiya Javayant PROPOSAL
Johnson C DoeUnited KingdomIvan Magalhaes RENEWAL
Mujtaba K DilliardBrazilIoni Bowcher PROPOSAL
Misaki C MaletJapanAnna Fali PROPOSAL
Murillo D BriddickSpainElwin Sharvill PROPOSAL
Francesco I DarakjyItalyAnna Fali QUALIFIED
Smith R FerenczRussiaAsiya Javayant NEW
Jefferson L FerenczAustraliaIoni Bowcher RENEWAL
Claire P MaletItalyIoni Bowcher RENEWAL
Emily L VenereItalyXuxue Feng QUALIFIED
Alejandro S TollnerRussiaElwin Sharvill PROPOSAL
Clifford R PoquetteJapanXuxue Feng RENEWAL
Greenwood E CampainSpainIvan Magalhaes NEGOTIATION
Aika O PaprockiCanadaIoni Bowcher QUALIFIED
Emily D PoquetteJapanElwin Sharvill RENEWAL
Tony O GillianItalyAmy Elsner RENEWAL
Costa M FigeroaIndiaAmy Elsner RENEWAL
Emily P WieserSpainIvan Magalhaes QUALIFIED
Cody W VocelkaSpainIoni Bowcher UNQUALIFIED
Adams C CaldareraIndiaElwin Sharvill NEW
Wickens E CaldareraSpainIoni Bowcher PROPOSAL

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