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
Alejandro Q ShinkoJapanOnyama Limba QUALIFIED
Aika Y FollerRussiaElwin Sharvill UNQUALIFIED
Morrow C WhobreyGermanyAsiya Javayant UNQUALIFIED
Clifford V RulapaughArgentinaElwin Sharvill QUALIFIED
Deepesh P VenereFranceAmy Elsner NEW
Morrow H WaycottFranceAsiya Javayant NEW
Francesco F TollnerArgentinaElwin Sharvill NEW
Morrow T SaylorsArgentinaStephen Shaw RENEWAL
Emily F FigeroaCanadaOnyama Limba NEGOTIATION
Emily E RulapaughIndiaIvan Magalhaes QUALIFIED
Antonio V GillianCanadaAmy Elsner QUALIFIED
Kaitlin X NestleSpainStephen Shaw UNQUALIFIED
Greenwood I DilliardFranceXuxue Feng QUALIFIED
Darci L SaylorsIndiaAnna Fali RENEWAL
Clifford Z PoquetteRussiaIoni Bowcher NEGOTIATION
Claire K CaudyRussiaIoni Bowcher QUALIFIED
Rodrigues N KuskoSpainElwin Sharvill NEGOTIATION
Clifford H WaycottArgentinaIoni Bowcher NEGOTIATION
Faith O VenereSpainAnna Fali QUALIFIED
Izzy D FlosiFranceElwin Sharvill PROPOSAL
Maria E VocelkaBrazilOnyama Limba NEW
James U KuskoArgentinaElwin Sharvill PROPOSAL
Wickens W MaletJapanIvan Magalhaes PROPOSAL
Salvatore U SergiItalyXuxue Feng NEW
Antonio Q DarakjyRussiaAnna Fali QUALIFIED
Stacey L KolmetzAustraliaAmy Elsner NEGOTIATION
Nicolas R WaycottAustraliaAsiya Javayant QUALIFIED
Tony X VocelkaUnited KingdomAmy Elsner NEGOTIATION
Claire Q NestleIndiaIvan Magalhaes PROPOSAL
Chavez M OldroydAustraliaStephen Shaw PROPOSAL
Mujtaba M ChuiJapanStephen Shaw PROPOSAL
Maria I SchemmerGermanyXuxue Feng NEGOTIATION
Francesco X FigeroaArgentinaAmy Elsner RENEWAL
Leja R StensethAustraliaAsiya Javayant UNQUALIFIED
Ivar M ShinkoItalyIoni Bowcher UNQUALIFIED
Johnson Z MaletArgentinaOnyama Limba NEGOTIATION
Darci F GillianSpainIoni Bowcher RENEWAL
Adams L DarakjySpainIoni Bowcher RENEWAL
James I PerinUnited KingdomIvan Magalhaes NEW
Mujtaba C MaletSpainIoni Bowcher UNQUALIFIED
Costa U OstroskyArgentinaAmy Elsner QUALIFIED
Izzy B InouyeRussiaAsiya Javayant PROPOSAL
Francesco Q AmigonBrazilXuxue Feng PROPOSAL
Claire E MaletIndiaIvan Magalhaes QUALIFIED
Munro U StensethAustraliaElwin Sharvill UNQUALIFIED
Stacey N ChuiBrazilXuxue Feng RENEWAL
Cody J WaycottUnited KingdomAsiya Javayant NEGOTIATION
Antonio F IturbideJapanAsiya Javayant NEGOTIATION
Faith A MaletUnited KingdomAmy Elsner NEW
Sinclair K ButtRussiaAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Murillo T RoysterIndiaElwin Sharvill QUALIFIED
Emily P ChuiBrazilIvan Magalhaes QUALIFIED
Leja A FerenczUnited KingdomXuxue Feng UNQUALIFIED
Mujtaba D GillianFranceAmy Elsner RENEWAL
Mayumi F SchemmerUnited KingdomAmy Elsner UNQUALIFIED
Deepesh P MaletCanadaXuxue Feng NEGOTIATION
Maria G TollnerArgentinaAsiya Javayant PROPOSAL
Silvio C PoquetteGermanyXuxue Feng RENEWAL
Greenwood P SergiItalyXuxue Feng NEGOTIATION
Aruna W FigeroaCanadaAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith S SlusarskiIndia2024-06-05Feiner Bros NEW38Anna Fali
1001Nicolas B PoquetteCanada2024-05-25Chemel, James L Cpa NEGOTIATION73Ivan Magalhaes
1002Kadeem M MorascaIndia2024-05-15Feltz Printing Service NEGOTIATION9Amy Elsner
1003Mayumi U ButtItaly2024-06-01Chanay, Jeffrey A Esq UNQUALIFIED70Stephen Shaw
1004Alejandro R KolmetzFrance2024-05-25Morlong Associates QUALIFIED15Ioni Bowcher
1005Izzy K TollnerJapan2024-05-18Printing Dimensions RENEWAL72Ivan Magalhaes
1006Cody O FigeroaGermany2024-05-22Printing Dimensions RENEWAL90Bernardo Dominic
1007Munro H VenereUnited Kingdom2024-06-12Chapman, Ross E Esq PROPOSAL13Xuxue Feng
1008Rodrigues Y NestleIndia2024-06-07Buckley Miller Wright PROPOSAL48Xuxue Feng
1009Mayumi F StockhamFrance2024-06-08Dorl, James J Esq QUALIFIED69Anna Fali
1010Nicolas Y KolmetzCanada2024-06-07Rangoni Of Florence PROPOSAL53Asiya Javayant
1011Maria O OstroskySpain2024-06-07Feiner Bros QUALIFIED84Ivan Magalhaes
1012Isabel V MacleadCanada2024-06-01Printing Dimensions NEGOTIATION82Asiya Javayant
1013Ivar X AlbaresIndia2024-06-05Benton, John B Jr UNQUALIFIED24Onyama Limba
1014Tony D DilliardAustralia2024-05-20King, Christopher A Esq UNQUALIFIED8Asiya Javayant
1015Silvio C BowleyIndia2024-06-04Rangoni Of Florence RENEWAL76Stephen Shaw
1016Jefferson U WhobreySpain2024-05-19King, Christopher A Esq UNQUALIFIED84Ioni Bowcher
1017Murillo X FollerSpain2024-05-30Buckley Miller Wright RENEWAL30Bernardo Dominic
1018Faith G BriddickRussia2024-06-09Chapman, Ross E Esq QUALIFIED13Ivan Magalhaes
1019Murillo Q WieserSpain2024-06-01Buckley Miller Wright QUALIFIED52Ioni Bowcher
1020James K VenereFrance2024-05-19Chemel, James L Cpa NEW67Xuxue Feng
1021Jeanfrancois E CaudyItaly2024-06-03Feiner Bros NEGOTIATION9Xuxue Feng
1022Ivar Q WaycottCanada2024-05-26Feltz Printing Service PROPOSAL65Ioni Bowcher
1023Morrow K CaudyUnited Kingdom2024-06-01Truhlar And Truhlar Attys UNQUALIFIED45Asiya Javayant
1024Leja B AmigonAustralia2024-05-28Dorl, James J Esq QUALIFIED33Asiya Javayant
1025Kadeem Q SlusarskiGermany2024-05-25Chapman, Ross E Esq NEW60Onyama Limba
1026Faith L ChuiIndia2024-06-01Truhlar And Truhlar Attys PROPOSAL47Ioni Bowcher
1027Maisha Z SaylorsAustralia2024-05-17Benton, John B Jr NEW86Bernardo Dominic
1028Chavez G ChuiItaly2024-05-29Dorl, James J Esq QUALIFIED47Elwin Sharvill
1029Smith N StensethCanada2024-06-04Rousseaux, Michael Esq RENEWAL75Stephen Shaw
1030Adams J SergiCanada2024-05-18Chemel, James L Cpa UNQUALIFIED39Stephen Shaw
1031Costa R MorascaJapan2024-05-23Commercial Press PROPOSAL73Asiya Javayant
1032Aruna U RutaAustralia2024-05-26Buckley Miller Wright PROPOSAL66Amy Elsner
1033James Q RoysterBrazil2024-06-02Benton, John B Jr RENEWAL3Ivan Magalhaes
1034Jeanfrancois R RulapaughAustralia2024-06-10Buckley Miller Wright NEGOTIATION50Stephen Shaw
1035Ricardo P AmigonSpain2024-05-21Dorl, James J Esq NEGOTIATION45Elwin Sharvill
1036Mayumi O ButtArgentina2024-06-12Feiner Bros NEGOTIATION95Bernardo Dominic
1037Juan N SaylorsFrance2024-05-28Printing Dimensions NEW40Anna Fali
1038Maisha C BologniaCanada2024-06-10Chapman, Ross E Esq NEGOTIATION60Amy Elsner
1039Jeanfrancois F NestleIndia2024-05-28King, Christopher A Esq NEGOTIATION7Stephen Shaw
1040James N BologniaRussia2024-05-26Dorl, James J Esq QUALIFIED1Anna Fali
1041Ivar R GlickItaly2024-05-21Rousseaux, Michael Esq RENEWAL57Bernardo Dominic
1042Nicolas X GarufiItaly2024-06-11Morlong Associates UNQUALIFIED86Anna Fali
1043Stacey D GlickIndia2024-06-08Chanay, Jeffrey A Esq NEGOTIATION10Ioni Bowcher
1044Darci E ChuiIndia2024-05-29Feiner Bros QUALIFIED38Onyama Limba
1045Adams T MaletItaly2024-05-15Dorl, James J Esq NEGOTIATION30Stephen Shaw
1046Adams X CaldareraRussia2024-06-08Chemel, James L Cpa RENEWAL22Ivan Magalhaes
1047Aruna F GauchoCanada2024-06-10Benton, John B Jr PROPOSAL42Asiya Javayant
1048Antonio U BowleyUnited Kingdom2024-05-28Rousseaux, Michael Esq RENEWAL34Stephen Shaw
1049Maria L OldroydIndia2024-05-18Rangoni Of Florence QUALIFIED46Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Octavia Q CaldareraBrazilAnna Fali NEW
Leon H CaudyUnited KingdomIoni Bowcher NEW
Mujtaba U CaudyRussiaAnna Fali UNQUALIFIED
David Z ChuiSpainAmy Elsner NEGOTIATION
Murillo L FollerSpainStephen Shaw NEGOTIATION
Kaitlin I MorascaIndiaIvan Magalhaes RENEWAL
Costa L NestleItalyAsiya Javayant RENEWAL
James E ShinkoItalyIoni Bowcher PROPOSAL
Clifford L MorascaItalyIoni Bowcher NEGOTIATION
Darci Z KuskoGermanyBernardo Dominic PROPOSAL
Kadeem Q AlbaresRussiaAsiya Javayant UNQUALIFIED
Silvio Z OldroydCanadaStephen Shaw QUALIFIED
Silvio C SchemmerRussiaStephen Shaw QUALIFIED
Jeanfrancois D MorascaSpainIvan Magalhaes PROPOSAL
Emily E DarakjySpainAsiya Javayant NEGOTIATION
Alejandro U RutaJapanAsiya Javayant UNQUALIFIED
Faith N ChuiBrazilXuxue Feng NEW
Juan Z BriddickJapanIvan Magalhaes QUALIFIED
Johnson K KuskoJapanXuxue Feng RENEWAL
Johnson T MaletCanadaIvan Magalhaes UNQUALIFIED
Chavez I CaldareraUnited KingdomIvan Magalhaes NEGOTIATION
Mujtaba O GillianItalyIoni Bowcher UNQUALIFIED
Chavez N TollnerSpainIoni Bowcher RENEWAL
Kaitlin R InouyeFranceXuxue Feng RENEWAL
Francesco A FlosiArgentinaOnyama Limba PROPOSAL
Deepesh Y MorascaItalyElwin Sharvill NEGOTIATION
Antonio N PerinCanadaOnyama Limba NEGOTIATION
Misaki S VenereCanadaBernardo Dominic UNQUALIFIED
Smith Q GillianCanadaIvan Magalhaes PROPOSAL
Munro E NickaCanadaBernardo Dominic QUALIFIED
Maisha W GauchoIndiaOnyama Limba UNQUALIFIED
Greenwood M RulapaughUnited KingdomAmy Elsner NEGOTIATION
Murillo I PerinCanadaAmy Elsner UNQUALIFIED
Isabel L SergiGermanyIoni Bowcher RENEWAL
Julie B RimIndiaIvan Magalhaes QUALIFIED
James V BriddickCanadaOnyama Limba NEW
Aruna Q AlbaresFranceAsiya Javayant NEGOTIATION
Clifford A MaletItalyIoni Bowcher UNQUALIFIED
Nicolas B NickaAustraliaElwin Sharvill UNQUALIFIED
Ricardo R FerenczBrazilOnyama Limba NEGOTIATION
Wickens Y TollnerJapanAnna Fali NEGOTIATION
Tony B ShinkoSpainElwin Sharvill PROPOSAL
Alejandro X PoquetteBrazilIvan Magalhaes QUALIFIED
Isabel E WhobreyCanadaElwin Sharvill PROPOSAL
Aditya G BriddickAustraliaElwin Sharvill NEGOTIATION
Darci A OldroydItalyAsiya Javayant UNQUALIFIED
Emily K BologniaBrazilIvan Magalhaes UNQUALIFIED
Maria D CaldareraRussiaAmy Elsner RENEWAL
Jennifer C KolmetzIndiaXuxue Feng UNQUALIFIED
Julie S WhobreyArgentinaOnyama Limba NEGOTIATION
Frozen Columns
Name
Ashley W Inouye
Juan S Inouye
Maisha N Rulapaugh
Clifford T Figeroa
Jefferson G Wieser
Stacey M Ruta
Adams H Garufi
Smith R Chui
Maria S Kusko
Chavez L Dilliard
Mayumi X Ruta
Kadeem K Perin
Jones U Morasca
Antonio K Rulapaugh
Aditya D Ruta
Maisha S Caudy
Morrow B Schemmer
Nicolas M Figeroa
Jefferson Q Shinko
Darci C Royster
Faith F Venere
Johnson S Perin
Julie P Butt
Isabel T Vocelka
Aika N Stenseth
Salvatore C Whobrey
Costa R Inouye
Mujtaba T Butt
Mayumi H Whobrey
Deepesh Y Waycott
Ashley Q Whobrey
Nicolas S Briddick
Wickens K Garufi
Octavia J Oldroyd
Kaitlin U Oldroyd
Munro F Royster
Kaitlin Z Albares
Alejandro H Iturbide
Aika T Bowley
Stacey X Oldroyd
Nicolas Y Venere
Stacey T Vocelka
Aditya Y Morasca
Emily M Glick
Ashley L Glick
Deepesh L Kolmetz
Adams F Dilliard
Isabel H Stenseth
Leja Y Stockham
Juan E Caudy
IdCountryDate
1000Argentina2024-05-25
1001Japan2024-05-24
1002United Kingdom2024-06-05
1003France2024-06-05
1004Argentina2024-05-29
1005Russia2024-05-21
1006France2024-06-06
1007Brazil2024-06-11
1008France2024-05-19
1009Brazil2024-06-09
1010Australia2024-05-18
1011United Kingdom2024-05-27
1012Canada2024-05-30
1013Spain2024-06-02
1014India2024-05-18
1015Spain2024-06-09
1016Spain2024-05-20
1017Japan2024-05-27
1018Italy2024-06-01
1019Spain2024-06-03
1020Russia2024-05-25
1021Russia2024-05-21
1022France2024-05-25
1023Japan2024-05-15
1024India2024-05-20
1025Canada2024-05-26
1026Germany2024-05-24
1027Germany2024-05-15
1028Germany2024-05-28
1029Spain2024-06-09
1030Russia2024-06-07
1031Australia2024-05-30
1032France2024-05-29
1033Italy2024-05-16
1034United Kingdom2024-05-15
1035Argentina2024-05-18
1036Australia2024-05-31
1037France2024-05-15
1038Canada2024-06-05
1039United Kingdom2024-05-21
1040Germany2024-06-09
1041Russia2024-05-17
1042France2024-06-11
1043Germany2024-06-09
1044Japan2024-06-02
1045Japan2024-05-18
1046Russia2024-05-28
1047India2024-05-26
1048India2024-06-08
1049Italy2024-06-01

On-Demand Data

NameIdCountryDate
Octavia W Foller1000Spain2024-05-27
Kadeem W Maclead1001Germany2024-05-26
Tony T Shinko1002Argentina2024-06-11
Wickens Z Foller1003Argentina2024-06-01
Maisha B Kusko1004Brazil2024-05-17
Salvatore A Caudy1005India2024-06-03
Mayumi R Kusko1006Germany2024-05-16
Johnson L Albares1007Argentina2024-05-31
Cody C Glick1008Australia2024-05-31
Mayumi O Nestle1009India2024-05-26
Isabel B Caldarera1010Russia2024-05-15
Greenwood G Caudy1011Italy2024-05-20
Francesco Q Amigon1012Japan2024-05-28
Mujtaba E Royster1013Argentina2024-05-25
Salvatore H Perin1014Canada2024-05-29
Alejandro G Kusko1015Spain2024-05-24
Munro L Doe1016United Kingdom2024-05-19
Costa E Gillian1017Canada2024-05-31
Silvio Z Dilliard1018Russia2024-05-24
Faith R Malet1019United Kingdom2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore K GlickItalyOnyama Limba QUALIFIED
Maisha D InouyeSpainAsiya Javayant QUALIFIED
Mayumi E CaldareraCanadaIoni Bowcher PROPOSAL
Misaki H ButtFranceAmy Elsner NEW
Misaki H FerenczBrazilBernardo Dominic UNQUALIFIED
Maisha H PaprockiJapanAmy Elsner UNQUALIFIED
Aika Q FlosiRussiaIoni Bowcher NEW
Leja R OldroydRussiaIoni Bowcher NEGOTIATION
Kaitlin B AlbaresIndiaBernardo Dominic RENEWAL
Ashley D CaudyRussiaElwin Sharvill PROPOSAL
Faith T BowleySpainStephen Shaw NEGOTIATION
Ricardo K MacleadJapanStephen Shaw NEW
David N CaudyRussiaElwin Sharvill NEW
Mayumi Z PoquetteAustraliaAnna Fali QUALIFIED
Morrow W SchemmerFranceElwin Sharvill NEGOTIATION
Isabel V AmigonRussiaIoni Bowcher PROPOSAL
Jennifer V WhobreyRussiaOnyama Limba UNQUALIFIED
Jennifer E RoysterArgentinaXuxue Feng RENEWAL
David V PaprockiFranceAsiya Javayant RENEWAL
Kaitlin K RutaArgentinaAnna Fali NEGOTIATION
Deepesh P DarakjyCanadaOnyama Limba NEW
Izzy L StensethFranceAmy Elsner NEW
Chavez J FlosiArgentinaStephen Shaw NEGOTIATION
Johnson C RulapaughRussiaElwin Sharvill RENEWAL
Isabel X MorascaCanadaElwin Sharvill UNQUALIFIED
Costa F OstroskyBrazilBernardo Dominic NEW
Jones S ShinkoRussiaAsiya Javayant NEGOTIATION
Wickens T BriddickSpainIoni Bowcher NEGOTIATION
Rodrigues T DilliardCanadaAmy Elsner NEGOTIATION
Julie N RutaFranceOnyama Limba QUALIFIED
Mayumi R AlbaresBrazilElwin Sharvill QUALIFIED
Silvio A CaldareraUnited KingdomAnna Fali QUALIFIED
Jennifer I CaudyItalyBernardo Dominic QUALIFIED
Antonio F OldroydAustraliaElwin Sharvill NEW
Cody W TollnerArgentinaOnyama Limba NEW
Jones D PerinGermanyAsiya Javayant RENEWAL
Antonio W PoquetteJapanStephen Shaw NEW
Faith O CaldareraAustraliaAmy Elsner RENEWAL
Ashley I RulapaughJapanElwin Sharvill PROPOSAL
David L RimGermanyXuxue Feng NEGOTIATION

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