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
Darci L ButtArgentinaElwin Sharvill PROPOSAL
Arvin D AlbaresRussiaAsiya Javayant UNQUALIFIED
Arvin B InouyeCanadaStephen Shaw UNQUALIFIED
Maisha P WieserIndiaAnna Fali PROPOSAL
Faith M SlusarskiUnited KingdomAnna Fali PROPOSAL
Murillo T PaprockiGermanyIoni Bowcher NEW
Mujtaba P DoeBrazilAmy Elsner NEGOTIATION
James C SchemmerIndiaStephen Shaw PROPOSAL
Izzy H MorascaRussiaIoni Bowcher QUALIFIED
Francesco K CampainRussiaXuxue Feng QUALIFIED
Salvatore F FollerIndiaElwin Sharvill QUALIFIED
Morrow T KuskoSpainXuxue Feng NEW
Adams B KuskoCanadaAsiya Javayant QUALIFIED
James U TollnerRussiaBernardo Dominic NEW
Maria D StensethGermanyAnna Fali UNQUALIFIED
Nicolas O StockhamFranceBernardo Dominic UNQUALIFIED
David K NestleSpainIvan Magalhaes UNQUALIFIED
Isabel B VocelkaGermanyOnyama Limba RENEWAL
Munro N WieserRussiaIoni Bowcher QUALIFIED
Mujtaba J VenereSpainIvan Magalhaes RENEWAL
Ivar M FerenczRussiaAsiya Javayant UNQUALIFIED
Salvatore P WaycottItalyAmy Elsner NEW
Rodrigues W SergiArgentinaStephen Shaw NEW
Stacey C PerinCanadaAmy Elsner PROPOSAL
Arvin P RutaIndiaOnyama Limba UNQUALIFIED
Costa U AlbaresGermanyAmy Elsner PROPOSAL
Mujtaba K PerinBrazilIvan Magalhaes UNQUALIFIED
Isabel B VenereIndiaOnyama Limba PROPOSAL
Ivar B GlickBrazilIvan Magalhaes UNQUALIFIED
Jennifer N MorascaCanadaBernardo Dominic QUALIFIED
Maria Y WhobreyBrazilIvan Magalhaes QUALIFIED
Kaitlin J PoquetteIndiaIoni Bowcher UNQUALIFIED
Salvatore R StensethArgentinaAsiya Javayant NEGOTIATION
Aika W WaycottIndiaXuxue Feng UNQUALIFIED
Smith N DarakjyRussiaXuxue Feng NEW
Adams P GillianFranceIvan Magalhaes UNQUALIFIED
Emily D StockhamGermanyIvan Magalhaes UNQUALIFIED
Rodrigues L VocelkaBrazilIvan Magalhaes QUALIFIED
Jefferson F BowleyIndiaBernardo Dominic PROPOSAL
Aruna L FollerFranceElwin Sharvill PROPOSAL
Francesco O InouyeItalyStephen Shaw PROPOSAL
Chavez C StensethArgentinaStephen Shaw RENEWAL
Tony A CampainIndiaOnyama Limba PROPOSAL
Claire R MaletRussiaIvan Magalhaes PROPOSAL
Francesco C FigeroaArgentinaAmy Elsner UNQUALIFIED
Deepesh S DilliardBrazilAsiya Javayant RENEWAL
Jefferson Q ShinkoFranceIoni Bowcher RENEWAL
Costa V BriddickAustraliaElwin Sharvill RENEWAL
Kaitlin X CampainItalyAsiya Javayant NEGOTIATION
Wickens X CaldareraUnited KingdomIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Costa Q SergiJapanBernardo Dominic PROPOSAL
Darci S IturbideFranceAsiya Javayant PROPOSAL
Tony M FerenczSpainElwin Sharvill PROPOSAL
Ricardo E AmigonJapanStephen Shaw NEGOTIATION
Ricardo J KolmetzIndiaIvan Magalhaes NEW
David G WaycottRussiaBernardo Dominic UNQUALIFIED
Antonio M GillianSpainXuxue Feng NEW
Faith T VocelkaCanadaXuxue Feng QUALIFIED
Octavia G KolmetzArgentinaAsiya Javayant QUALIFIED
Ivar J RoysterItalyOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh G FigeroaCanada2024-06-04Commercial Press RENEWAL73Xuxue Feng
1001Jeanfrancois V SlusarskiAustralia2024-05-24Rangoni Of Florence QUALIFIED58Amy Elsner
1002Clifford E DarakjySpain2024-06-10Morlong Associates NEGOTIATION76Elwin Sharvill
1003Deepesh V FigeroaCanada2024-06-13Chanay, Jeffrey A Esq QUALIFIED77Elwin Sharvill
1004Costa L NickaSpain2024-05-26Chapman, Ross E Esq PROPOSAL94Stephen Shaw
1005James I DoeAustralia2024-06-14Truhlar And Truhlar Attys NEGOTIATION29Elwin Sharvill
1006Ricardo W RimAustralia2024-06-11Feltz Printing Service NEW83Anna Fali
1007Leja M ChuiIndia2024-05-28Truhlar And Truhlar Attys PROPOSAL56Stephen Shaw
1008Antonio F BologniaSpain2024-05-25Buckley Miller Wright QUALIFIED92Ivan Magalhaes
1009Greenwood L TollnerFrance2024-06-02Buckley Miller Wright QUALIFIED37Asiya Javayant
1010Sinclair K DoeBrazil2024-05-27Morlong Associates PROPOSAL29Asiya Javayant
1011Smith H GarufiCanada2024-06-05Chapman, Ross E Esq RENEWAL71Anna Fali
1012Arvin Y KuskoSpain2024-05-28Dorl, James J Esq NEGOTIATION14Amy Elsner
1013Clifford Y MaletUnited Kingdom2024-06-14King, Christopher A Esq QUALIFIED75Anna Fali
1014Jennifer S OstroskyBrazil2024-05-22Dorl, James J Esq QUALIFIED8Onyama Limba
1015Silvio O RutaUnited Kingdom2024-06-12Dorl, James J Esq NEW92Ivan Magalhaes
1016Darci Z PerinBrazil2024-05-20Benton, John B Jr QUALIFIED44Onyama Limba
1017Francesco D VenereCanada2024-06-03Truhlar And Truhlar Attys UNQUALIFIED95Onyama Limba
1018Mayumi F RimArgentina2024-06-11Printing Dimensions QUALIFIED19Stephen Shaw
1019Leon H OstroskyJapan2024-06-02Printing Dimensions NEW38Elwin Sharvill
1020Juan Y AmigonArgentina2024-06-05Chanay, Jeffrey A Esq NEW99Ivan Magalhaes
1021James W RimArgentina2024-05-28Chanay, Jeffrey A Esq UNQUALIFIED38Stephen Shaw
1022Silvio G GauchoArgentina2024-06-11Buckley Miller Wright PROPOSAL39Ivan Magalhaes
1023Rodrigues T DoeBrazil2024-05-19Chemel, James L Cpa PROPOSAL26Bernardo Dominic
1024Morrow G PerinFrance2024-05-28Feiner Bros RENEWAL76Anna Fali
1025Jennifer Q MaletAustralia2024-06-15Dorl, James J Esq NEGOTIATION77Amy Elsner
1026Deepesh A CampainCanada2024-05-23Feiner Bros NEW82Elwin Sharvill
1027Smith C MaletUnited Kingdom2024-05-29Chanay, Jeffrey A Esq QUALIFIED84Onyama Limba
1028Octavia L ChuiAustralia2024-06-08Dorl, James J Esq QUALIFIED79Amy Elsner
1029Francesco T ChuiRussia2024-05-27Rousseaux, Michael Esq NEW75Amy Elsner
1030Johnson Z StensethUnited Kingdom2024-05-21Feltz Printing Service NEW44Stephen Shaw
1031James L WhobreyGermany2024-05-28Dorl, James J Esq NEGOTIATION14Anna Fali
1032Costa A RimRussia2024-05-18King, Christopher A Esq NEW17Onyama Limba
1033Francesco S InouyeArgentina2024-05-19Morlong Associates NEW82Amy Elsner
1034Cody C CaldareraItaly2024-06-11Rousseaux, Michael Esq PROPOSAL46Asiya Javayant
1035Morrow Y BowleyItaly2024-06-06Benton, John B Jr NEGOTIATION18Stephen Shaw
1036Claire V MacleadRussia2024-06-08Morlong Associates NEGOTIATION17Anna Fali
1037James F SchemmerItaly2024-06-14Dorl, James J Esq UNQUALIFIED33Amy Elsner
1038David P StockhamJapan2024-06-01Rangoni Of Florence RENEWAL35Ivan Magalhaes
1039Emily J InouyeAustralia2024-06-07Chemel, James L Cpa NEGOTIATION75Onyama Limba
1040Aditya N WhobreyBrazil2024-06-06Feiner Bros PROPOSAL21Xuxue Feng
1041Munro M DarakjyGermany2024-06-11Feiner Bros NEW38Ioni Bowcher
1042Misaki P AlbaresUnited Kingdom2024-06-03Chanay, Jeffrey A Esq QUALIFIED1Amy Elsner
1043Mujtaba K DoeFrance2024-05-27Benton, John B Jr NEGOTIATION99Anna Fali
1044Maisha R BologniaIndia2024-06-11Printing Dimensions RENEWAL17Ivan Magalhaes
1045Francesco Z PaprockiSpain2024-05-19Morlong Associates QUALIFIED71Amy Elsner
1046Juan Q RutaJapan2024-05-19Rangoni Of Florence QUALIFIED14Amy Elsner
1047Kadeem A MaletArgentina2024-05-31Rousseaux, Michael Esq PROPOSAL95Anna Fali
1048Juan R MarrierAustralia2024-06-11Rangoni Of Florence RENEWAL87Xuxue Feng
1049Julie R ButtSpain2024-06-06Feiner Bros NEW3Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Isabel S AmigonJapanAmy Elsner UNQUALIFIED
Costa G WieserBrazilOnyama Limba UNQUALIFIED
Maisha U PoquetteJapanAsiya Javayant RENEWAL
Ricardo U StockhamAustraliaAnna Fali RENEWAL
Antonio D AmigonCanadaOnyama Limba RENEWAL
Costa M WhobreyGermanyAnna Fali NEW
Faith F SlusarskiIndiaAmy Elsner QUALIFIED
Izzy N ShinkoJapanIvan Magalhaes PROPOSAL
Kadeem Q BologniaRussiaAsiya Javayant PROPOSAL
Jefferson V AlbaresAustraliaIoni Bowcher PROPOSAL
Aruna K ButtGermanyIvan Magalhaes QUALIFIED
Julie F KolmetzGermanyIvan Magalhaes RENEWAL
Ivar M SlusarskiUnited KingdomXuxue Feng NEW
David C ButtArgentinaElwin Sharvill RENEWAL
Darci C RulapaughUnited KingdomBernardo Dominic RENEWAL
James R MacleadFranceOnyama Limba QUALIFIED
Emily U MaletItalyStephen Shaw RENEWAL
Ivar E FollerItalyOnyama Limba NEGOTIATION
Mayumi V FlosiRussiaBernardo Dominic UNQUALIFIED
Jeanfrancois Y RimItalyStephen Shaw NEW
Aruna N SlusarskiSpainOnyama Limba UNQUALIFIED
Misaki T SlusarskiBrazilBernardo Dominic NEGOTIATION
Mujtaba R BowleyItalyXuxue Feng PROPOSAL
Greenwood U SchemmerAustraliaAsiya Javayant UNQUALIFIED
Greenwood E PerinArgentinaAnna Fali QUALIFIED
Aditya C KuskoUnited KingdomStephen Shaw NEW
Darci A CampainBrazilAsiya Javayant NEGOTIATION
Wickens J OldroydUnited KingdomElwin Sharvill NEW
Ricardo B KuskoJapanXuxue Feng QUALIFIED
Morrow Q BriddickCanadaElwin Sharvill UNQUALIFIED
Ricardo F FollerIndiaAnna Fali UNQUALIFIED
Leja M WieserFranceStephen Shaw RENEWAL
Stacey I CampainRussiaIvan Magalhaes QUALIFIED
Isabel C OstroskyJapanIvan Magalhaes PROPOSAL
Clifford Q VenereGermanyXuxue Feng RENEWAL
Kaitlin O KuskoFranceIoni Bowcher QUALIFIED
Ricardo D FollerSpainXuxue Feng NEGOTIATION
Wickens T WieserItalyAsiya Javayant RENEWAL
Juan Z PaprockiAustraliaElwin Sharvill NEW
Kadeem R DoeFranceIvan Magalhaes PROPOSAL
David J RutaJapanOnyama Limba UNQUALIFIED
Greenwood J AmigonSpainOnyama Limba RENEWAL
Johnson V FerenczJapanIvan Magalhaes UNQUALIFIED
Darci B VocelkaRussiaIvan Magalhaes RENEWAL
Jefferson E BowleyCanadaAmy Elsner PROPOSAL
Kadeem G NestleUnited KingdomElwin Sharvill NEGOTIATION
Deepesh S KuskoSpainAmy Elsner UNQUALIFIED
Murillo Y PerinArgentinaBernardo Dominic RENEWAL
Adams S DilliardIndiaAsiya Javayant RENEWAL
Octavia H MaletUnited KingdomBernardo Dominic PROPOSAL
Frozen Columns
Name
Kaitlin A Perin
David A Shinko
Kadeem G Kusko
Isabel J Garufi
Antonio S Butt
David G Slusarski
Sinclair M Poquette
Morrow I Marrier
Aika Q Venere
Wickens W Shinko
Rodrigues V Flosi
Emily G Garufi
Francesco D Butt
Izzy M Saylors
Silvio Q Schemmer
Mujtaba Z Bowley
Ricardo W Gaucho
David N Chui
Adams M Shinko
Aditya Z Slusarski
Salvatore Y Dilliard
Mayumi V Caldarera
Ricardo F Ruta
Antonio U Morasca
Tony O Venere
Clifford O Stockham
Wickens X Royster
Adams T Caldarera
Smith A Nicka
Emily H Butt
Octavia O Doe
Ivar Z Kolmetz
Kadeem L Tollner
Nicolas L Kolmetz
Emily G Garufi
Murillo O Rulapaugh
Maria A Gaucho
Leja H Butt
Sinclair I Saylors
Jones X Kusko
Aditya K Oldroyd
Rodrigues G Slusarski
Cody R Sergi
Silvio D Garufi
Leon U Slusarski
Jennifer B Inouye
Morrow O Stenseth
Alejandro O Royster
Jefferson V Venere
Julie Z Maclead
IdCountryDate
1000India2024-05-24
1001Italy2024-05-20
1002France2024-05-22
1003Japan2024-05-30
1004Canada2024-05-24
1005Brazil2024-05-27
1006India2024-05-25
1007Brazil2024-06-15
1008Brazil2024-06-05
1009Germany2024-06-04
1010Germany2024-06-11
1011Russia2024-06-01
1012Germany2024-06-07
1013Spain2024-06-16
1014France2024-06-13
1015France2024-05-19
1016Russia2024-05-28
1017Canada2024-05-25
1018France2024-06-10
1019United Kingdom2024-06-01
1020Russia2024-06-03
1021Germany2024-06-12
1022Australia2024-06-14
1023Italy2024-05-23
1024United Kingdom2024-06-15
1025Italy2024-05-27
1026India2024-05-30
1027Germany2024-06-11
1028Italy2024-06-01
1029Russia2024-06-16
1030Italy2024-05-21
1031Australia2024-05-29
1032Spain2024-05-20
1033Japan2024-05-29
1034Canada2024-06-05
1035Canada2024-06-14
1036Russia2024-05-23
1037Australia2024-05-18
1038Canada2024-06-02
1039France2024-06-04
1040Australia2024-06-15
1041Russia2024-05-27
1042Brazil2024-05-19
1043Canada2024-05-30
1044France2024-06-15
1045Brazil2024-05-20
1046Spain2024-05-29
1047United Kingdom2024-05-30
1048United Kingdom2024-06-11
1049Spain2024-05-18

On-Demand Data

NameIdCountryDate
Misaki O Ruta1000United Kingdom2024-05-22
Maria K Caudy1001France2024-05-25
Izzy K Glick1002Russia2024-05-22
Octavia G Bowley1003Argentina2024-05-23
Johnson E Perin1004Australia2024-05-28
Mayumi D Caldarera1005India2024-06-14
Adams C Figeroa1006Argentina2024-06-16
Emily K Morasca1007Germany2024-05-19
Tony H Wieser1008Russia2024-06-12
Aika E Malet1009Italy2024-05-18
James O Darakjy1010France2024-06-03
Murillo I Maclead1011Germany2024-06-07
Darci E Figeroa1012Italy2024-06-08
Claire T Garufi1013India2024-05-28
Johnson J Briddick1014Canada2024-05-18
Maria O Nestle1015Italy2024-05-26
Munro U Tollner1016Argentina2024-06-07
Julie V Schemmer1017Argentina2024-06-01
Julie C Maclead1018France2024-05-28
Deepesh C Garufi1019Russia2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer X MarrierFranceAmy Elsner PROPOSAL
James B IturbideJapanAmy Elsner RENEWAL
Misaki H GlickAustraliaStephen Shaw QUALIFIED
Leja O MaletUnited KingdomAmy Elsner QUALIFIED
Ricardo B ShinkoFranceStephen Shaw RENEWAL
Aika I SaylorsJapanElwin Sharvill NEW
Murillo O CampainFranceXuxue Feng PROPOSAL
Maisha W IturbideBrazilOnyama Limba NEW
Alejandro K BologniaItalyIvan Magalhaes QUALIFIED
Aruna U VenereIndiaOnyama Limba PROPOSAL
Juan V GauchoCanadaXuxue Feng UNQUALIFIED
Deepesh V RimIndiaIoni Bowcher UNQUALIFIED
Johnson T CaldareraIndiaAnna Fali QUALIFIED
Leon O RimIndiaBernardo Dominic UNQUALIFIED
Cody E GarufiCanadaIoni Bowcher PROPOSAL
Deepesh I GauchoJapanElwin Sharvill RENEWAL
Izzy D TollnerSpainOnyama Limba QUALIFIED
Aruna C SlusarskiBrazilOnyama Limba NEGOTIATION
Aruna M ButtIndiaStephen Shaw RENEWAL
Juan Q MaletGermanyBernardo Dominic NEW
Alejandro Z MaletUnited KingdomBernardo Dominic QUALIFIED
David R VocelkaItalyBernardo Dominic NEW
Wickens Z ChuiRussiaOnyama Limba QUALIFIED
Darci P DarakjyCanadaAnna Fali NEGOTIATION
Mujtaba K NestleBrazilIoni Bowcher PROPOSAL
Ashley Z AmigonGermanyAnna Fali NEW
Jennifer B CaldareraSpainAsiya Javayant RENEWAL
Murillo C MorascaItalyOnyama Limba UNQUALIFIED
Jennifer C MorascaAustraliaAnna Fali RENEWAL
Misaki Q RoysterCanadaAsiya Javayant QUALIFIED
Tony O OstroskyFranceOnyama Limba RENEWAL
Juan A WaycottRussiaIvan Magalhaes NEW
Maisha M KuskoItalyOnyama Limba PROPOSAL
Silvio H GarufiFranceBernardo Dominic UNQUALIFIED
Izzy U PerinUnited KingdomStephen Shaw PROPOSAL
Faith Z IturbideRussiaXuxue Feng NEGOTIATION
Jefferson H DilliardItalyAmy Elsner UNQUALIFIED
Faith L ChuiSpainAmy Elsner UNQUALIFIED
Misaki E FigeroaAustraliaBernardo Dominic QUALIFIED
Nicolas M ChuiFranceOnyama Limba RENEWAL

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