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
Stacey D InouyeFranceBernardo Dominic UNQUALIFIED
Nicolas B DoeGermanyStephen Shaw RENEWAL
Jeanfrancois T ButtAustraliaOnyama Limba UNQUALIFIED
Johnson Y MacleadFranceStephen Shaw PROPOSAL
Claire J WieserBrazilIvan Magalhaes RENEWAL
Aruna C DarakjyItalyOnyama Limba QUALIFIED
Alejandro K NestleGermanyAmy Elsner RENEWAL
Mayumi B WieserGermanyElwin Sharvill NEW
Jones N IturbideArgentinaStephen Shaw UNQUALIFIED
Murillo S SlusarskiBrazilStephen Shaw RENEWAL
Julie S BologniaAustraliaBernardo Dominic UNQUALIFIED
Aruna D VocelkaArgentinaElwin Sharvill NEW
Smith B RoysterFranceAsiya Javayant NEW
Aditya L MarrierArgentinaBernardo Dominic QUALIFIED
James C FigeroaCanadaStephen Shaw NEW
Isabel I RoysterItalyElwin Sharvill NEW
Izzy M GlickRussiaOnyama Limba UNQUALIFIED
Jennifer K FollerCanadaAnna Fali PROPOSAL
Francesco J GlickFranceIoni Bowcher QUALIFIED
Wickens O SergiAustraliaXuxue Feng UNQUALIFIED
Silvio X MaletBrazilIoni Bowcher PROPOSAL
Kaitlin Z BowleySpainAmy Elsner NEW
Julie X StensethBrazilXuxue Feng QUALIFIED
Stacey Q CaldareraCanadaBernardo Dominic NEW
James U GarufiBrazilElwin Sharvill NEGOTIATION
Rodrigues G PerinSpainAsiya Javayant NEGOTIATION
Greenwood M PerinArgentinaIvan Magalhaes PROPOSAL
Aika F MaletArgentinaElwin Sharvill QUALIFIED
David D BologniaArgentinaXuxue Feng QUALIFIED
Deepesh X TollnerSpainIvan Magalhaes PROPOSAL
Silvio X FollerFranceAsiya Javayant RENEWAL
Rodrigues K GlickSpainOnyama Limba NEGOTIATION
Octavia H MacleadSpainIoni Bowcher RENEWAL
Clifford M GlickRussiaIoni Bowcher NEGOTIATION
David W TollnerRussiaAsiya Javayant RENEWAL
Darci P DarakjyBrazilAnna Fali UNQUALIFIED
Chavez K DilliardGermanyStephen Shaw NEGOTIATION
Ivar D TollnerUnited KingdomElwin Sharvill UNQUALIFIED
Kadeem M ButtItalyOnyama Limba RENEWAL
Izzy U SaylorsAustraliaAnna Fali UNQUALIFIED
Leon Q WhobreyRussiaIoni Bowcher QUALIFIED
Isabel E PaprockiIndiaOnyama Limba NEW
Costa D PaprockiRussiaIoni Bowcher NEGOTIATION
Morrow W GauchoRussiaAsiya Javayant RENEWAL
Faith Y MaletFranceElwin Sharvill QUALIFIED
Ricardo H MacleadFranceAsiya Javayant NEW
Ashley C ChuiAustraliaBernardo Dominic UNQUALIFIED
Clifford X SergiUnited KingdomStephen Shaw PROPOSAL
Mujtaba A InouyeAustraliaIvan Magalhaes RENEWAL
Darci R GlickAustraliaBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Nicolas C RimGermanyAnna Fali PROPOSAL
Ashley G InouyeIndiaOnyama Limba QUALIFIED
Nicolas Z GillianRussiaOnyama Limba NEW
Ricardo C MaletIndiaAmy Elsner UNQUALIFIED
Misaki W KuskoRussiaOnyama Limba PROPOSAL
Leon U CampainBrazilIoni Bowcher UNQUALIFIED
Jeanfrancois B ShinkoRussiaOnyama Limba NEW
Octavia E FollerGermanyIoni Bowcher NEGOTIATION
Francesco C ButtItalyBernardo Dominic RENEWAL
Clifford F OldroydUnited KingdomAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair P GlickCanada2024-06-09King, Christopher A Esq RENEWAL41Onyama Limba
1001Antonio D CampainArgentina2024-05-20Rangoni Of Florence QUALIFIED36Onyama Limba
1002Morrow L MacleadJapan2024-06-07Dorl, James J Esq UNQUALIFIED48Asiya Javayant
1003Costa Q StensethFrance2024-05-29Printing Dimensions UNQUALIFIED39Anna Fali
1004Wickens Z MacleadItaly2024-05-24Chapman, Ross E Esq NEW6Ioni Bowcher
1005Aditya S NickaCanada2024-05-28Benton, John B Jr UNQUALIFIED4Xuxue Feng
1006Salvatore E AlbaresUnited Kingdom2024-05-17Benton, John B Jr NEW29Anna Fali
1007Leon B WhobreyItaly2024-06-02Feltz Printing Service NEW31Elwin Sharvill
1008Darci V KolmetzArgentina2024-06-10Buckley Miller Wright NEGOTIATION0Bernardo Dominic
1009Johnson U VocelkaBrazil2024-06-09Morlong Associates NEW51Elwin Sharvill
1010Aruna Y PerinUnited Kingdom2024-06-06Chemel, James L Cpa NEGOTIATION69Onyama Limba
1011Cody V RulapaughItaly2024-05-24Dorl, James J Esq RENEWAL91Onyama Limba
1012David R GauchoItaly2024-05-28Printing Dimensions NEW24Asiya Javayant
1013Arvin G RutaBrazil2024-06-04Rangoni Of Florence PROPOSAL84Elwin Sharvill
1014Darci E WieserItaly2024-06-08Benton, John B Jr UNQUALIFIED30Anna Fali
1015Mayumi S AmigonAustralia2024-06-01Buckley Miller Wright NEW78Asiya Javayant
1016Ricardo G WaycottCanada2024-05-29Rangoni Of Florence NEGOTIATION95Onyama Limba
1017Juan Q BowleyIndia2024-06-09Chemel, James L Cpa NEGOTIATION69Asiya Javayant
1018Isabel F WaycottIndia2024-05-29Dorl, James J Esq RENEWAL42Amy Elsner
1019Jeanfrancois D PoquetteJapan2024-06-11Feiner Bros RENEWAL53Xuxue Feng
1020Sinclair H GarufiGermany2024-05-22Chanay, Jeffrey A Esq NEGOTIATION82Asiya Javayant
1021Jeanfrancois X CaudyAustralia2024-06-08Feiner Bros QUALIFIED3Xuxue Feng
1022Ricardo J FerenczCanada2024-06-10Buckley Miller Wright RENEWAL94Elwin Sharvill
1023Alejandro N VenereItaly2024-05-23Commercial Press PROPOSAL42Xuxue Feng
1024Maria M ChuiUnited Kingdom2024-05-30Commercial Press NEW19Anna Fali
1025Juan M ChuiAustralia2024-05-21Truhlar And Truhlar Attys QUALIFIED77Elwin Sharvill
1026Kaitlin Y NestleBrazil2024-06-13Rousseaux, Michael Esq QUALIFIED15Onyama Limba
1027Johnson W BowleyBrazil2024-05-22King, Christopher A Esq UNQUALIFIED42Xuxue Feng
1028Cody E GillianArgentina2024-05-27Commercial Press NEW46Elwin Sharvill
1029Claire L AlbaresRussia2024-06-09Chapman, Ross E Esq UNQUALIFIED75Amy Elsner
1030Cody K WaycottRussia2024-06-07Chanay, Jeffrey A Esq RENEWAL15Onyama Limba
1031Kaitlin R InouyeArgentina2024-05-24King, Christopher A Esq NEW17Stephen Shaw
1032Aditya N ShinkoBrazil2024-06-14Chanay, Jeffrey A Esq UNQUALIFIED95Amy Elsner
1033Faith E FigeroaCanada2024-06-02Chapman, Ross E Esq RENEWAL52Bernardo Dominic
1034Faith N NestleItaly2024-05-23Chemel, James L Cpa PROPOSAL6Elwin Sharvill
1035Isabel N BriddickGermany2024-05-20Benton, John B Jr RENEWAL78Elwin Sharvill
1036Jeanfrancois M GarufiSpain2024-06-02Rousseaux, Michael Esq NEW64Elwin Sharvill
1037David K FollerGermany2024-05-27Rangoni Of Florence UNQUALIFIED88Bernardo Dominic
1038Smith V InouyeIndia2024-05-27Chemel, James L Cpa QUALIFIED12Bernardo Dominic
1039Stacey T CampainCanada2024-06-14Rangoni Of Florence RENEWAL92Asiya Javayant
1040Julie S VocelkaGermany2024-05-29Dorl, James J Esq NEW21Anna Fali
1041Smith H WaycottIndia2024-05-18Buckley Miller Wright NEGOTIATION71Bernardo Dominic
1042Salvatore N NickaArgentina2024-05-19Feltz Printing Service QUALIFIED82Xuxue Feng
1043Leja D SlusarskiJapan2024-06-04Feltz Printing Service UNQUALIFIED92Ivan Magalhaes
1044Aruna I RutaSpain2024-06-02Chapman, Ross E Esq NEGOTIATION16Amy Elsner
1045Costa G SlusarskiRussia2024-05-18Feiner Bros QUALIFIED77Amy Elsner
1046Wickens T IturbideGermany2024-06-01Truhlar And Truhlar Attys PROPOSAL4Amy Elsner
1047Jeanfrancois A MacleadSpain2024-05-28Buckley Miller Wright UNQUALIFIED41Stephen Shaw
1048Jones F GillianAustralia2024-05-22Rangoni Of Florence UNQUALIFIED48Onyama Limba
1049Leon N WhobreySpain2024-05-25Morlong Associates NEW27Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Johnson Q NickaJapanAsiya Javayant QUALIFIED
Clifford E RimFranceOnyama Limba UNQUALIFIED
Isabel O FollerGermanyOnyama Limba PROPOSAL
Leon E SaylorsBrazilIvan Magalhaes NEGOTIATION
Misaki A MorascaBrazilIvan Magalhaes RENEWAL
Izzy D WhobreyRussiaAmy Elsner PROPOSAL
Deepesh E PerinIndiaXuxue Feng QUALIFIED
Misaki J NestleGermanyElwin Sharvill PROPOSAL
James J AmigonBrazilIoni Bowcher NEGOTIATION
Francesco F VocelkaIndiaAnna Fali RENEWAL
Silvio U DoeSpainIvan Magalhaes UNQUALIFIED
Smith P FigeroaBrazilOnyama Limba PROPOSAL
Aruna D RutaBrazilAmy Elsner PROPOSAL
Jeanfrancois V RutaSpainAsiya Javayant NEW
Ivar M AlbaresCanadaOnyama Limba PROPOSAL
Clifford T KolmetzJapanBernardo Dominic QUALIFIED
Deepesh Q ChuiUnited KingdomElwin Sharvill RENEWAL
Silvio Y ButtIndiaOnyama Limba NEW
Aruna E TollnerAustraliaAsiya Javayant NEGOTIATION
Wickens Y InouyeSpainXuxue Feng PROPOSAL
Smith A FlosiSpainBernardo Dominic NEGOTIATION
Maria L GarufiRussiaStephen Shaw PROPOSAL
Francesco Z GillianItalyIoni Bowcher UNQUALIFIED
Johnson Q GlickJapanAnna Fali PROPOSAL
Ivar B FigeroaAustraliaXuxue Feng QUALIFIED
Greenwood U DarakjyFranceOnyama Limba QUALIFIED
Aditya A CaldareraCanadaAnna Fali NEGOTIATION
Cody R PerinBrazilStephen Shaw UNQUALIFIED
Chavez K DoeArgentinaIvan Magalhaes NEW
Julie Z FigeroaIndiaIoni Bowcher NEW
Alejandro W StockhamIndiaBernardo Dominic RENEWAL
David Y PaprockiJapanIoni Bowcher NEW
Sinclair O VocelkaIndiaAnna Fali QUALIFIED
Julie J CampainUnited KingdomAnna Fali UNQUALIFIED
Greenwood S SergiItalyIvan Magalhaes RENEWAL
Adams N CampainCanadaAsiya Javayant PROPOSAL
Tony U SergiGermanyOnyama Limba NEW
Maria X DoeSpainAmy Elsner PROPOSAL
Emily T GarufiUnited KingdomAmy Elsner RENEWAL
Smith S FlosiBrazilOnyama Limba RENEWAL
James U MaletUnited KingdomBernardo Dominic PROPOSAL
Alejandro L PoquetteAustraliaIvan Magalhaes QUALIFIED
Rodrigues K FigeroaIndiaIvan Magalhaes RENEWAL
Misaki K GarufiGermanyIvan Magalhaes RENEWAL
Julie E GillianFranceAsiya Javayant QUALIFIED
Tony C TollnerIndiaOnyama Limba NEGOTIATION
Izzy P DilliardIndiaIvan Magalhaes RENEWAL
Alejandro C WaycottJapanAsiya Javayant RENEWAL
Izzy Q FerenczSpainAsiya Javayant RENEWAL
Ricardo U DilliardSpainIoni Bowcher PROPOSAL
Frozen Columns
Name
Ricardo B Glick
James I Gaucho
Kadeem M Schemmer
Ricardo I Wieser
Leja Y Butt
Misaki O Marrier
Claire L Dilliard
Jones T Darakjy
Francesco Z Rulapaugh
Misaki N Wieser
Sinclair G Caudy
Darci S Poquette
Misaki L Briddick
David B Inouye
Darci O Glick
Francesco N Waycott
Munro J Stockham
Juan Y Chui
Jeanfrancois J Rim
Ivar Z Caudy
Ivar A Ostrosky
Juan M Stockham
Munro J Malet
Aruna Z Royster
Juan R Sergi
Juan G Vocelka
Silvio N Rulapaugh
Kadeem M Kolmetz
Salvatore Q Tollner
Sinclair X Bolognia
Morrow U Ostrosky
Johnson E Malet
Kaitlin L Darakjy
Wickens C Ostrosky
Kadeem C Kusko
Costa O Paprocki
Maisha B Sergi
Mayumi F Inouye
Stacey H Foller
Munro I Inouye
Stacey I Kusko
Salvatore M Butt
Smith R Malet
Darci O Inouye
Costa F Inouye
Jeanfrancois M Campain
Jefferson U Glick
Salvatore M Ruta
Ivar A Paprocki
Maisha D Campain
IdCountryDate
1000Australia2024-06-04
1001Germany2024-06-09
1002Japan2024-06-02
1003Argentina2024-06-13
1004Canada2024-05-17
1005India2024-06-05
1006United Kingdom2024-05-30
1007France2024-05-28
1008Canada2024-06-02
1009Russia2024-06-05
1010Canada2024-06-04
1011Italy2024-06-01
1012Brazil2024-05-18
1013France2024-06-01
1014Italy2024-05-29
1015Canada2024-06-08
1016Germany2024-06-05
1017Germany2024-05-24
1018Germany2024-06-04
1019Spain2024-05-18
1020Japan2024-05-22
1021India2024-06-04
1022Italy2024-05-18
1023Spain2024-05-21
1024India2024-06-04
1025Argentina2024-05-24
1026India2024-06-06
1027Canada2024-06-01
1028Australia2024-06-07
1029Argentina2024-05-20
1030Russia2024-06-05
1031India2024-06-13
1032Germany2024-06-02
1033Germany2024-06-04
1034Italy2024-06-10
1035Russia2024-06-04
1036Italy2024-06-02
1037Argentina2024-05-31
1038Spain2024-06-05
1039Brazil2024-05-19
1040Japan2024-05-28
1041France2024-06-01
1042France2024-06-14
1043Spain2024-06-13
1044Spain2024-06-10
1045Japan2024-06-15
1046Spain2024-06-07
1047Argentina2024-05-17
1048Italy2024-05-20
1049Italy2024-05-22

On-Demand Data

NameIdCountryDate
Murillo S Iturbide1000France2024-06-09
James K Flosi1001India2024-05-17
Leon Z Waycott1002United Kingdom2024-06-03
David I Rulapaugh1003Argentina2024-06-02
Aruna T Oldroyd1004India2024-06-09
Salvatore R Albares1005United Kingdom2024-05-21
Deepesh E Amigon1006Argentina2024-05-22
Chavez P Venere1007Japan2024-06-07
Adams R Perin1008Russia2024-05-28
Chavez M Bowley1009United Kingdom2024-06-08
Julie C Rulapaugh1010France2024-05-24
Leja F Glick1011Australia2024-06-03
Darci L Campain1012Argentina2024-05-28
Misaki W Ferencz1013Brazil2024-06-08
Wickens Z Figeroa1014Brazil2024-05-22
Emily N Rulapaugh1015Spain2024-05-27
Jeanfrancois B Wieser1016France2024-06-07
Faith U Whobrey1017Canada2024-05-25
Morrow T Tollner1018Canada2024-05-24
Rodrigues L Marrier1019Russia2024-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer J ShinkoCanadaAnna Fali NEGOTIATION
Maria D FollerIndiaOnyama Limba UNQUALIFIED
Juan N FerenczSpainXuxue Feng NEGOTIATION
Mujtaba V VenereCanadaAmy Elsner RENEWAL
Leja V DilliardCanadaOnyama Limba QUALIFIED
James P WaycottRussiaAsiya Javayant UNQUALIFIED
Claire C FerenczArgentinaBernardo Dominic NEGOTIATION
Murillo O InouyeGermanyIoni Bowcher NEW
Johnson F MorascaIndiaAnna Fali NEGOTIATION
Aditya Z KolmetzAustraliaAmy Elsner UNQUALIFIED
Sinclair T DilliardAustraliaElwin Sharvill NEGOTIATION
Aika Z OstroskyIndiaOnyama Limba NEW
Aika G WieserCanadaAmy Elsner NEGOTIATION
Alejandro A CampainIndiaElwin Sharvill UNQUALIFIED
Jones G RutaCanadaAnna Fali RENEWAL
James F TollnerSpainIoni Bowcher NEGOTIATION
Arvin C FlosiItalyXuxue Feng RENEWAL
Jefferson J RulapaughGermanyAsiya Javayant NEGOTIATION
Costa W KuskoArgentinaAnna Fali QUALIFIED
Jennifer M RulapaughArgentinaOnyama Limba PROPOSAL
Greenwood B KuskoItalyStephen Shaw UNQUALIFIED
Costa G SergiJapanAmy Elsner RENEWAL
Izzy C FollerSpainElwin Sharvill PROPOSAL
Costa Y WieserArgentinaXuxue Feng NEGOTIATION
Leon S GauchoUnited KingdomXuxue Feng NEW
Faith Y PerinAustraliaIvan Magalhaes NEW
Misaki A PaprockiUnited KingdomIvan Magalhaes RENEWAL
David S WieserAustraliaXuxue Feng UNQUALIFIED
Tony U BologniaGermanyAmy Elsner NEW
Nicolas J FerenczAustraliaXuxue Feng NEGOTIATION
Jeanfrancois R GauchoIndiaXuxue Feng NEW
Munro R RutaItalyElwin Sharvill PROPOSAL
Leja Y InouyeItalyIoni Bowcher NEGOTIATION
Arvin T GlickIndiaOnyama Limba UNQUALIFIED
Jeanfrancois J GlickSpainBernardo Dominic NEGOTIATION
David F IturbideJapanAsiya Javayant NEGOTIATION
David A DilliardCanadaAsiya Javayant UNQUALIFIED
Deepesh E FerenczIndiaAmy Elsner QUALIFIED
Jennifer C MarrierAustraliaIoni Bowcher QUALIFIED
Darci Q MacleadSpainAmy Elsner 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>