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
Cody B FlosiBrazilAsiya Javayant PROPOSAL
Aditya L FlosiFranceIvan Magalhaes PROPOSAL
Mujtaba O KuskoArgentinaIoni Bowcher RENEWAL
David Y WieserAustraliaOnyama Limba QUALIFIED
Chavez T AlbaresAustraliaBernardo Dominic NEW
Antonio L BologniaArgentinaAmy Elsner UNQUALIFIED
Ivar T BowleyIndiaAnna Fali QUALIFIED
Murillo P FerenczSpainXuxue Feng UNQUALIFIED
Costa I DilliardFranceAsiya Javayant NEW
Emily T RoysterCanadaXuxue Feng RENEWAL
Costa Z MarrierUnited KingdomAmy Elsner QUALIFIED
Emily E GarufiUnited KingdomOnyama Limba QUALIFIED
Greenwood V KolmetzCanadaIoni Bowcher PROPOSAL
Ivar Q BologniaSpainAnna Fali UNQUALIFIED
Maria Y MarrierUnited KingdomBernardo Dominic NEW
Greenwood Z BriddickRussiaOnyama Limba QUALIFIED
Leja N MacleadIndiaOnyama Limba QUALIFIED
Izzy Z GarufiSpainElwin Sharvill PROPOSAL
Silvio Z OstroskyRussiaElwin Sharvill PROPOSAL
David H AmigonUnited KingdomXuxue Feng UNQUALIFIED
Morrow K StensethGermanyIoni Bowcher QUALIFIED
Misaki K OstroskyGermanyOnyama Limba UNQUALIFIED
Salvatore K FollerSpainAnna Fali NEGOTIATION
Leon Q GillianGermanyIoni Bowcher PROPOSAL
Arvin Z SergiItalyOnyama Limba UNQUALIFIED
Ricardo K FigeroaIndiaAnna Fali RENEWAL
Sinclair X SlusarskiGermanyIoni Bowcher PROPOSAL
Deepesh Y FerenczCanadaXuxue Feng NEW
Darci F ChuiArgentinaOnyama Limba RENEWAL
Wickens X MorascaCanadaBernardo Dominic NEGOTIATION
Alejandro X GarufiArgentinaAsiya Javayant PROPOSAL
Claire Z PoquetteBrazilBernardo Dominic PROPOSAL
Misaki M DarakjyRussiaIoni Bowcher QUALIFIED
Jones D WaycottSpainIvan Magalhaes NEW
Emily G BriddickArgentinaElwin Sharvill PROPOSAL
Jones Y WieserSpainIoni Bowcher PROPOSAL
Mujtaba L MaletFranceXuxue Feng NEW
Silvio L ChuiSpainElwin Sharvill NEGOTIATION
Emily P AmigonFranceAnna Fali PROPOSAL
Aditya W StensethRussiaXuxue Feng UNQUALIFIED
Aditya N DarakjyRussiaStephen Shaw PROPOSAL
Nicolas N GlickCanadaAnna Fali RENEWAL
Misaki D GillianItalyIvan Magalhaes NEGOTIATION
Antonio C MarrierRussiaStephen Shaw QUALIFIED
Mujtaba G MacleadFranceStephen Shaw UNQUALIFIED
Nicolas M VenereIndiaAsiya Javayant NEGOTIATION
Cody I OstroskyItalyAnna Fali RENEWAL
Stacey S AmigonItalyXuxue Feng RENEWAL
Arvin H FigeroaGermanyOnyama Limba QUALIFIED
Stacey E GarufiBrazilIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Leja O NestleJapanBernardo Dominic RENEWAL
Isabel F PaprockiArgentinaIoni Bowcher UNQUALIFIED
Aika S GillianArgentinaBernardo Dominic PROPOSAL
Aika X KuskoFranceOnyama Limba PROPOSAL
Kaitlin O StockhamFranceStephen Shaw QUALIFIED
Johnson L BowleyJapanAmy Elsner NEW
Aditya G NickaBrazilAnna Fali NEGOTIATION
Mujtaba Z GauchoItalyBernardo Dominic PROPOSAL
Maisha W SaylorsFranceAnna Fali QUALIFIED
Deepesh L RoysterArgentinaOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Rodrigues Y NestleJapan2024-06-23Printing Dimensions RENEWAL69Ioni Bowcher
1001Emily U PoquetteBrazil2024-05-27Printing Dimensions PROPOSAL89Amy Elsner
1002Jefferson N KolmetzAustralia2024-06-13Rousseaux, Michael Esq QUALIFIED34Asiya Javayant
1003Ricardo I PerinRussia2024-06-14Buckley Miller Wright RENEWAL2Onyama Limba
1004David E MorascaSpain2024-06-04Rangoni Of Florence NEGOTIATION66Anna Fali
1005David I NestleJapan2024-06-21Rangoni Of Florence NEGOTIATION49Xuxue Feng
1006Jefferson I TollnerUnited Kingdom2024-06-19Printing Dimensions NEGOTIATION64Onyama Limba
1007Aditya Z SlusarskiIndia2024-06-02Chapman, Ross E Esq NEW26Onyama Limba
1008Leja R NickaGermany2024-05-27Commercial Press QUALIFIED98Stephen Shaw
1009Costa X GarufiIndia2024-06-22Rousseaux, Michael Esq NEGOTIATION61Elwin Sharvill
1010Octavia S MorascaGermany2024-06-08Commercial Press NEW99Onyama Limba
1011Chavez Z WhobreyFrance2024-06-06Commercial Press QUALIFIED60Xuxue Feng
1012Aika O BriddickGermany2024-06-08Feltz Printing Service NEW69Elwin Sharvill
1013Juan D FigeroaIndia2024-05-31Buckley Miller Wright UNQUALIFIED67Xuxue Feng
1014Jeanfrancois R KolmetzCanada2024-06-06Chemel, James L Cpa NEGOTIATION91Stephen Shaw
1015Kadeem W DilliardCanada2024-06-17Dorl, James J Esq RENEWAL36Asiya Javayant
1016Silvio K MacleadUnited Kingdom2024-05-30Printing Dimensions NEGOTIATION94Ioni Bowcher
1017Greenwood Y DoeRussia2024-06-02Buckley Miller Wright NEGOTIATION5Stephen Shaw
1018Sinclair O OldroydItaly2024-06-23Chapman, Ross E Esq PROPOSAL28Elwin Sharvill
1019Sinclair E PoquetteRussia2024-05-30Truhlar And Truhlar Attys RENEWAL81Ioni Bowcher
1020Francesco S VenereRussia2024-06-21Chanay, Jeffrey A Esq QUALIFIED60Asiya Javayant
1021Adams U SaylorsAustralia2024-05-31Rousseaux, Michael Esq PROPOSAL2Anna Fali
1022Emily L ChuiItaly2024-05-26Rousseaux, Michael Esq PROPOSAL7Anna Fali
1023Juan H BologniaGermany2024-06-07Rousseaux, Michael Esq NEGOTIATION9Anna Fali
1024Julie N GillianBrazil2024-06-24Chapman, Ross E Esq UNQUALIFIED18Onyama Limba
1025Emily C SergiBrazil2024-06-22Rousseaux, Michael Esq NEW77Asiya Javayant
1026David H InouyeAustralia2024-06-21Truhlar And Truhlar Attys PROPOSAL25Elwin Sharvill
1027Faith J CampainItaly2024-06-19Chapman, Ross E Esq QUALIFIED68Ivan Magalhaes
1028Stacey E BriddickItaly2024-06-09Dorl, James J Esq NEGOTIATION74Ioni Bowcher
1029Misaki O GauchoRussia2024-06-18Benton, John B Jr RENEWAL43Onyama Limba
1030Octavia Y BriddickGermany2024-06-14Printing Dimensions UNQUALIFIED48Anna Fali
1031Kadeem A ChuiBrazil2024-05-31Chemel, James L Cpa RENEWAL43Onyama Limba
1032Claire D DoeRussia2024-06-19Rangoni Of Florence NEW18Xuxue Feng
1033Ivar D MorascaBrazil2024-06-08Commercial Press NEGOTIATION26Elwin Sharvill
1034Juan W CampainItaly2024-06-01Feltz Printing Service RENEWAL42Onyama Limba
1035Johnson X GillianRussia2024-06-08King, Christopher A Esq UNQUALIFIED99Bernardo Dominic
1036Ashley W KuskoSpain2024-06-13Feiner Bros QUALIFIED77Onyama Limba
1037Deepesh U MorascaItaly2024-06-03Truhlar And Truhlar Attys PROPOSAL67Amy Elsner
1038Ricardo R MarrierItaly2024-05-29Rousseaux, Michael Esq QUALIFIED38Xuxue Feng
1039Jennifer J RimGermany2024-06-14Printing Dimensions QUALIFIED54Bernardo Dominic
1040Nicolas L GarufiJapan2024-06-14Feiner Bros NEGOTIATION38Xuxue Feng
1041Tony V ChuiAustralia2024-05-30Dorl, James J Esq RENEWAL19Amy Elsner
1042Leon G ChuiSpain2024-06-08Dorl, James J Esq PROPOSAL49Xuxue Feng
1043Jennifer L NestleGermany2024-06-17Printing Dimensions NEW77Ivan Magalhaes
1044Alejandro J FlosiArgentina2024-06-14King, Christopher A Esq NEW84Xuxue Feng
1045Antonio U PaprockiIndia2024-06-07Chemel, James L Cpa UNQUALIFIED75Amy Elsner
1046Cody E DilliardSpain2024-06-20Chanay, Jeffrey A Esq QUALIFIED16Amy Elsner
1047Leon D NickaIndia2024-06-03Benton, John B Jr NEW20Anna Fali
1048Aruna D BriddickJapan2024-05-28Feltz Printing Service UNQUALIFIED88Ivan Magalhaes
1049Deepesh E AlbaresArgentina2024-06-11Morlong Associates NEGOTIATION21Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Antonio H KolmetzItalyAmy Elsner PROPOSAL
Jefferson I FerenczGermanyElwin Sharvill NEGOTIATION
Maria X ShinkoAustraliaElwin Sharvill NEGOTIATION
Leja U SlusarskiAustraliaIvan Magalhaes NEW
Emily Q MorascaArgentinaIvan Magalhaes PROPOSAL
James P SergiArgentinaIoni Bowcher UNQUALIFIED
Johnson A OldroydRussiaAsiya Javayant QUALIFIED
James G SlusarskiSpainAsiya Javayant PROPOSAL
Maisha M BriddickArgentinaAsiya Javayant NEGOTIATION
Ricardo Y DarakjyArgentinaAnna Fali NEW
Deepesh B CampainJapanOnyama Limba QUALIFIED
David K PerinCanadaStephen Shaw NEW
Munro N WaycottAustraliaAsiya Javayant RENEWAL
Sinclair X GlickFranceAnna Fali UNQUALIFIED
Aditya Y SlusarskiRussiaBernardo Dominic UNQUALIFIED
Tony R GillianRussiaXuxue Feng QUALIFIED
Sinclair Q CaudyCanadaElwin Sharvill RENEWAL
Misaki X AlbaresUnited KingdomIvan Magalhaes RENEWAL
Salvatore H RoysterItalyXuxue Feng PROPOSAL
Arvin P DoeFranceAmy Elsner QUALIFIED
Izzy U WieserCanadaIvan Magalhaes PROPOSAL
Misaki X FollerFranceAsiya Javayant QUALIFIED
Alejandro D FlosiIndiaElwin Sharvill QUALIFIED
Mujtaba S IturbideUnited KingdomOnyama Limba QUALIFIED
Isabel Q ShinkoBrazilOnyama Limba RENEWAL
Julie G SergiBrazilXuxue Feng PROPOSAL
James L KolmetzIndiaStephen Shaw UNQUALIFIED
Greenwood Q SchemmerItalyAnna Fali RENEWAL
Murillo P ShinkoCanadaXuxue Feng QUALIFIED
Maisha S GarufiArgentinaIvan Magalhaes NEGOTIATION
Leon E NickaAustraliaOnyama Limba QUALIFIED
Faith R GillianJapanBernardo Dominic UNQUALIFIED
Ivar G SchemmerFranceElwin Sharvill NEGOTIATION
Claire C FlosiGermanyIvan Magalhaes NEW
Octavia F DilliardCanadaIoni Bowcher NEW
Faith V BriddickItalyXuxue Feng PROPOSAL
Mujtaba W PaprockiRussiaStephen Shaw RENEWAL
Ashley D AlbaresBrazilIvan Magalhaes NEW
Faith L MaletFranceAnna Fali RENEWAL
Faith J VocelkaCanadaAsiya Javayant PROPOSAL
Cody P AmigonFranceAmy Elsner QUALIFIED
Sinclair R GillianIndiaStephen Shaw RENEWAL
Misaki Y NestleFranceOnyama Limba NEGOTIATION
Morrow U FollerJapanElwin Sharvill NEGOTIATION
Kadeem W ChuiBrazilXuxue Feng NEGOTIATION
Izzy Q InouyeIndiaAnna Fali NEGOTIATION
Aditya Q PoquetteRussiaAnna Fali NEW
Izzy C GlickBrazilIoni Bowcher NEGOTIATION
Wickens Y MarrierIndiaAnna Fali UNQUALIFIED
Ricardo U RutaAustraliaOnyama Limba NEGOTIATION
Frozen Columns
Name
Octavia S Tollner
Costa G Kolmetz
Kadeem N Saylors
Rodrigues C Stockham
Isabel C Sergi
Jeanfrancois Y Oldroyd
Smith I Poquette
Misaki Q Rulapaugh
Sinclair F Stenseth
Costa I Amigon
Cody B Figeroa
Nicolas I Bowley
Costa O Morasca
Octavia W Kolmetz
Smith M Rim
Aruna Z Shinko
Adams V Wieser
Kaitlin A Wieser
Jeanfrancois Q Malet
Izzy Q Malet
James G Darakjy
Aika Y Foller
Smith U Royster
Isabel X Butt
Morrow I Nestle
James R Kusko
Kaitlin O Vocelka
Julie S Dilliard
Morrow C Oldroyd
Mujtaba S Campain
James T Flosi
Wickens Z Dilliard
Claire D Poquette
Chavez R Albares
Maisha R Malet
Munro R Malet
Leon N Gaucho
Mujtaba P Foller
Chavez L Kolmetz
Mujtaba J Maclead
Deepesh Q Albares
Arvin O Rim
Misaki L Slusarski
Aditya D Doe
Johnson P Rim
Maisha W Albares
Nicolas Y Stenseth
Misaki S Flosi
Maria R Royster
Julie M Shinko
IdCountryDate
1000Australia2024-06-11
1001India2024-05-28
1002Italy2024-06-21
1003Italy2024-06-20
1004Japan2024-05-31
1005Japan2024-06-21
1006Japan2024-06-12
1007Japan2024-06-17
1008India2024-06-24
1009Australia2024-06-21
1010Germany2024-06-01
1011Spain2024-06-14
1012Australia2024-06-12
1013France2024-06-08
1014United Kingdom2024-05-26
1015Germany2024-05-29
1016Italy2024-05-28
1017Germany2024-06-06
1018Canada2024-05-26
1019Japan2024-06-14
1020Canada2024-06-02
1021Russia2024-06-05
1022France2024-06-23
1023Germany2024-06-05
1024Japan2024-05-31
1025Russia2024-06-14
1026Argentina2024-05-30
1027Russia2024-06-15
1028Russia2024-05-28
1029Canada2024-06-08
1030Spain2024-06-15
1031India2024-06-05
1032Spain2024-05-31
1033Italy2024-06-01
1034Australia2024-06-11
1035Canada2024-06-03
1036India2024-06-03
1037Australia2024-06-10
1038Japan2024-06-15
1039Argentina2024-06-04
1040Germany2024-05-28
1041Brazil2024-06-09
1042Australia2024-06-02
1043Brazil2024-06-18
1044France2024-05-27
1045Spain2024-06-10
1046Japan2024-06-10
1047India2024-06-08
1048Argentina2024-05-29
1049Spain2024-06-04

On-Demand Data

NameIdCountryDate
Faith F Iturbide1000Germany2024-06-15
Aika D Butt1001Italy2024-06-12
Emily T Ruta1002Spain2024-06-12
Salvatore F Morasca1003United Kingdom2024-06-04
Jennifer F Flosi1004Canada2024-06-11
Greenwood R Ruta1005Argentina2024-06-10
Jefferson R Tollner1006Brazil2024-05-28
Ricardo N Caudy1007Australia2024-06-13
Aruna N Tollner1008Germany2024-06-20
Morrow Y Bolognia1009Brazil2024-06-20
Aruna J Ruta1010Brazil2024-06-13
Rodrigues I Ferencz1011United Kingdom2024-06-24
Salvatore I Stenseth1012Italy2024-06-02
Deepesh V Rim1013Argentina2024-06-15
Adams C Oldroyd1014France2024-06-14
Morrow D Nestle1015Germany2024-06-06
Jennifer E Waycott1016France2024-06-02
Claire C Morasca1017Brazil2024-05-31
Jones W Nicka1018Italy2024-06-07
Antonio V Dilliard1019Argentina2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas R FerenczCanadaIvan Magalhaes NEGOTIATION
Greenwood E RulapaughAustraliaAsiya Javayant PROPOSAL
Deepesh M IturbideUnited KingdomAsiya Javayant NEGOTIATION
James F AmigonItalyXuxue Feng QUALIFIED
Chavez Z DarakjyRussiaIvan Magalhaes RENEWAL
Arvin O FerenczFranceBernardo Dominic PROPOSAL
Antonio G PaprockiCanadaAnna Fali PROPOSAL
Emily N VenereSpainIvan Magalhaes RENEWAL
Juan R DilliardCanadaIvan Magalhaes RENEWAL
Antonio X DilliardAustraliaOnyama Limba NEGOTIATION
Misaki F VocelkaFranceBernardo Dominic NEGOTIATION
Francesco H PoquetteItalyAnna Fali QUALIFIED
Tony D MaletItalyAnna Fali PROPOSAL
Jones H PoquetteArgentinaAnna Fali UNQUALIFIED
David D WhobreyGermanyXuxue Feng PROPOSAL
Isabel U BriddickSpainIvan Magalhaes UNQUALIFIED
Julie E ChuiJapanIoni Bowcher QUALIFIED
Ricardo S FerenczRussiaStephen Shaw PROPOSAL
Ivar L FerenczCanadaIvan Magalhaes NEW
Clifford J PoquetteSpainAsiya Javayant NEW
Ivar A RulapaughFranceAnna Fali RENEWAL
Deepesh L ShinkoFranceOnyama Limba UNQUALIFIED
Maisha R StockhamAustraliaXuxue Feng NEW
David B FollerCanadaAnna Fali UNQUALIFIED
David U KuskoItalyAmy Elsner NEGOTIATION
Silvio X GillianArgentinaAsiya Javayant QUALIFIED
Adams E NickaGermanyElwin Sharvill UNQUALIFIED
Darci Q GlickBrazilAmy Elsner RENEWAL
David E ButtFranceStephen Shaw UNQUALIFIED
Octavia P RutaGermanyIoni Bowcher QUALIFIED
Adams Z FollerSpainAmy Elsner NEGOTIATION
Munro P GauchoUnited KingdomAsiya Javayant NEGOTIATION
Ivar A IturbideFranceAsiya Javayant NEGOTIATION
Darci V WaycottJapanElwin Sharvill QUALIFIED
Misaki E IturbideArgentinaAsiya Javayant PROPOSAL
Kaitlin M ButtRussiaAnna Fali RENEWAL
Adams X PerinSpainXuxue Feng QUALIFIED
Munro I BriddickJapanOnyama Limba RENEWAL
Jennifer D RoysterAustraliaOnyama Limba PROPOSAL
Greenwood X OldroydCanadaBernardo Dominic NEW

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