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 U IturbideBrazilElwin Sharvill RENEWAL
Aika S MacleadBrazilXuxue Feng RENEWAL
Misaki N StensethJapanXuxue Feng NEW
Maria P ButtFranceBernardo Dominic NEW
Isabel R SchemmerIndiaBernardo Dominic NEW
Aditya F AlbaresSpainXuxue Feng UNQUALIFIED
Leon R NestleArgentinaOnyama Limba PROPOSAL
Izzy D WhobreyGermanyAmy Elsner RENEWAL
Silvio B RoysterCanadaElwin Sharvill QUALIFIED
Antonio V KuskoArgentinaIvan Magalhaes QUALIFIED
Leja K ChuiIndiaAmy Elsner QUALIFIED
Ashley H GillianGermanyStephen Shaw RENEWAL
Jefferson R StockhamCanadaAnna Fali QUALIFIED
Kaitlin I FigeroaJapanBernardo Dominic NEW
Deepesh S PaprockiArgentinaIvan Magalhaes RENEWAL
Leja I RulapaughBrazilAsiya Javayant NEW
Jefferson A AmigonUnited KingdomAnna Fali NEGOTIATION
Munro D AlbaresGermanyAsiya Javayant RENEWAL
Nicolas R FigeroaRussiaBernardo Dominic NEW
David U FerenczSpainStephen Shaw NEGOTIATION
Claire G ShinkoIndiaIoni Bowcher QUALIFIED
Aditya I AmigonFranceXuxue Feng RENEWAL
Izzy H SchemmerIndiaStephen Shaw NEGOTIATION
Deepesh K BowleySpainElwin Sharvill PROPOSAL
Jennifer T CampainCanadaAmy Elsner UNQUALIFIED
Leon L GarufiJapanIoni Bowcher RENEWAL
Darci H GauchoIndiaIoni Bowcher UNQUALIFIED
Rodrigues V FlosiBrazilOnyama Limba PROPOSAL
Ashley U ChuiRussiaElwin Sharvill QUALIFIED
Aika H PerinUnited KingdomElwin Sharvill PROPOSAL
Maria W FerenczBrazilAnna Fali UNQUALIFIED
Juan Z RoysterAustraliaIoni Bowcher NEGOTIATION
Chavez W FlosiJapanAsiya Javayant RENEWAL
Maisha N CaldareraGermanyBernardo Dominic PROPOSAL
Clifford V NestleAustraliaOnyama Limba PROPOSAL
Jeanfrancois L GarufiRussiaBernardo Dominic UNQUALIFIED
Jeanfrancois G AlbaresArgentinaBernardo Dominic QUALIFIED
Ivar W VocelkaItalyIvan Magalhaes UNQUALIFIED
Julie E BologniaIndiaXuxue Feng UNQUALIFIED
David H WieserCanadaIvan Magalhaes NEW
Mayumi N FollerIndiaElwin Sharvill UNQUALIFIED
Misaki N GillianArgentinaAnna Fali QUALIFIED
Jennifer O SergiJapanElwin Sharvill NEW
Aika W SlusarskiGermanyOnyama Limba QUALIFIED
Leon O FerenczBrazilXuxue Feng NEW
Greenwood Z VocelkaJapanIoni Bowcher UNQUALIFIED
Sinclair W OstroskyIndiaBernardo Dominic QUALIFIED
Leon U AlbaresFranceXuxue Feng UNQUALIFIED
Jeanfrancois J OldroydItalyXuxue Feng QUALIFIED
Octavia O WaycottIndiaOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Juan G MaletUnited KingdomAnna Fali QUALIFIED
Arvin J StockhamFranceAmy Elsner NEW
Faith L RimAustraliaStephen Shaw PROPOSAL
Julie X StockhamCanadaAsiya Javayant NEGOTIATION
Isabel D BriddickItalyAsiya Javayant PROPOSAL
Smith I AmigonAustraliaOnyama Limba UNQUALIFIED
Julie X RimBrazilAmy Elsner UNQUALIFIED
Chavez L VocelkaItalyAsiya Javayant PROPOSAL
James T MacleadAustraliaElwin Sharvill NEW
Jones T FlosiJapanIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens Q SlusarskiFrance2024-05-25Printing Dimensions UNQUALIFIED82Ivan Magalhaes
1001James J MaletRussia2024-05-31Chapman, Ross E Esq RENEWAL7Ivan Magalhaes
1002David W PoquetteArgentina2024-06-14Feltz Printing Service QUALIFIED0Ioni Bowcher
1003Sinclair V PerinFrance2024-06-11King, Christopher A Esq PROPOSAL79Anna Fali
1004Ashley T GauchoSpain2024-05-28King, Christopher A Esq RENEWAL69Ioni Bowcher
1005Jefferson L DarakjyUnited Kingdom2024-05-24Chapman, Ross E Esq PROPOSAL37Amy Elsner
1006Smith P StockhamCanada2024-06-15Benton, John B Jr QUALIFIED87Amy Elsner
1007Salvatore S CaudyRussia2024-05-26Chanay, Jeffrey A Esq RENEWAL77Amy Elsner
1008Alejandro X KuskoArgentina2024-06-21Chemel, James L Cpa PROPOSAL80Ivan Magalhaes
1009Rodrigues N IturbideItaly2024-06-08Feiner Bros QUALIFIED76Onyama Limba
1010Munro Z SergiRussia2024-06-19Chemel, James L Cpa NEGOTIATION20Ivan Magalhaes
1011Costa I FerenczFrance2024-06-17Truhlar And Truhlar Attys NEW8Stephen Shaw
1012Faith I MaletSpain2024-05-31Chemel, James L Cpa PROPOSAL21Onyama Limba
1013Kaitlin S TollnerArgentina2024-06-13Rousseaux, Michael Esq PROPOSAL14Elwin Sharvill
1014Jennifer V StockhamAustralia2024-06-19Feiner Bros NEGOTIATION9Onyama Limba
1015Johnson D CaudyCanada2024-06-15Chanay, Jeffrey A Esq QUALIFIED9Asiya Javayant
1016Nicolas M StensethFrance2024-06-08Truhlar And Truhlar Attys RENEWAL58Amy Elsner
1017Emily G SaylorsJapan2024-05-31Chapman, Ross E Esq QUALIFIED37Xuxue Feng
1018Greenwood F KolmetzSpain2024-06-17Rousseaux, Michael Esq UNQUALIFIED14Amy Elsner
1019Nicolas R PoquetteIndia2024-06-22Truhlar And Truhlar Attys NEW62Ioni Bowcher
1020Adams L MaletArgentina2024-05-29Morlong Associates PROPOSAL42Ivan Magalhaes
1021Arvin S RimJapan2024-06-19Rousseaux, Michael Esq QUALIFIED70Asiya Javayant
1022Octavia V ButtFrance2024-06-21King, Christopher A Esq RENEWAL67Bernardo Dominic
1023Costa U PerinBrazil2024-06-11Rangoni Of Florence NEW90Onyama Limba
1024Juan P SchemmerGermany2024-05-25Chemel, James L Cpa NEGOTIATION90Ivan Magalhaes
1025Alejandro A CaldareraUnited Kingdom2024-05-30Morlong Associates NEW34Onyama Limba
1026Mujtaba Q RulapaughUnited Kingdom2024-06-19Dorl, James J Esq NEGOTIATION72Ioni Bowcher
1027Claire S GarufiJapan2024-06-12King, Christopher A Esq QUALIFIED56Amy Elsner
1028James Y DilliardFrance2024-05-28King, Christopher A Esq NEGOTIATION51Bernardo Dominic
1029Morrow I RoysterIndia2024-05-29Buckley Miller Wright RENEWAL57Anna Fali
1030Munro K TollnerArgentina2024-06-10Buckley Miller Wright NEGOTIATION24Asiya Javayant
1031Kadeem R CampainArgentina2024-05-29Feltz Printing Service QUALIFIED65Amy Elsner
1032Smith N ButtArgentina2024-05-29Morlong Associates PROPOSAL48Ioni Bowcher
1033Stacey K KolmetzUnited Kingdom2024-06-03Benton, John B Jr RENEWAL31Onyama Limba
1034Misaki Q GillianAustralia2024-05-28Rousseaux, Michael Esq NEW83Asiya Javayant
1035Wickens B GlickFrance2024-05-30Buckley Miller Wright NEGOTIATION61Bernardo Dominic
1036Silvio I MaletArgentina2024-06-03Truhlar And Truhlar Attys PROPOSAL8Amy Elsner
1037Maria G ChuiArgentina2024-06-02Rousseaux, Michael Esq NEW56Stephen Shaw
1038Morrow L OstroskyBrazil2024-06-12Rousseaux, Michael Esq RENEWAL26Amy Elsner
1039Maisha D RimGermany2024-06-05Truhlar And Truhlar Attys PROPOSAL58Ioni Bowcher
1040Costa B DilliardCanada2024-06-06Chapman, Ross E Esq NEW35Elwin Sharvill
1041Izzy V KuskoFrance2024-06-01Feiner Bros RENEWAL96Amy Elsner
1042Wickens Q OstroskyIndia2024-05-27Printing Dimensions UNQUALIFIED46Elwin Sharvill
1043Clifford F MaletFrance2024-06-04Rousseaux, Michael Esq NEW40Stephen Shaw
1044Stacey X StensethRussia2024-06-19Chemel, James L Cpa RENEWAL81Onyama Limba
1045Ivar B GillianJapan2024-05-25Chanay, Jeffrey A Esq NEGOTIATION84Anna Fali
1046Faith F OldroydCanada2024-06-01Printing Dimensions NEW15Anna Fali
1047Ashley V RulapaughArgentina2024-06-02Printing Dimensions UNQUALIFIED67Stephen Shaw
1048Johnson A PerinIndia2024-06-21Feiner Bros PROPOSAL78Ivan Magalhaes
1049Mujtaba B GlickBrazil2024-06-06Chemel, James L Cpa NEW18Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Antonio I NestleUnited KingdomOnyama Limba UNQUALIFIED
Misaki A PaprockiIndiaXuxue Feng RENEWAL
Deepesh F InouyeSpainStephen Shaw NEW
Costa X PaprockiIndiaAsiya Javayant UNQUALIFIED
Tony B DoeItalyElwin Sharvill NEGOTIATION
Leon G CaldareraRussiaIoni Bowcher NEGOTIATION
Sinclair Y SlusarskiAustraliaStephen Shaw UNQUALIFIED
Sinclair F FollerUnited KingdomAnna Fali NEGOTIATION
Morrow O PoquetteUnited KingdomElwin Sharvill NEGOTIATION
Octavia Z StensethSpainXuxue Feng PROPOSAL
Alejandro E SchemmerFranceIvan Magalhaes RENEWAL
Stacey M GarufiFranceIoni Bowcher PROPOSAL
Ashley A KuskoCanadaElwin Sharvill QUALIFIED
Maria D BriddickFranceXuxue Feng NEW
Rodrigues F MaletGermanyElwin Sharvill QUALIFIED
Tony V MaletJapanElwin Sharvill RENEWAL
Tony T SchemmerFranceAmy Elsner PROPOSAL
Sinclair U FerenczAustraliaOnyama Limba RENEWAL
Ricardo J MaletJapanStephen Shaw UNQUALIFIED
Jennifer N GauchoIndiaIvan Magalhaes PROPOSAL
Nicolas W RimSpainAnna Fali NEW
Cody C PerinSpainAsiya Javayant RENEWAL
Mayumi N SchemmerBrazilAmy Elsner RENEWAL
Julie O FlosiIndiaIvan Magalhaes NEGOTIATION
Chavez U FollerBrazilAnna Fali QUALIFIED
Stacey F IturbideRussiaIvan Magalhaes QUALIFIED
Aditya W CaudyJapanIvan Magalhaes RENEWAL
Francesco P BologniaArgentinaBernardo Dominic NEW
Leja D GarufiGermanyAnna Fali UNQUALIFIED
Johnson O GlickArgentinaIvan Magalhaes PROPOSAL
Adams Z VenereItalyElwin Sharvill UNQUALIFIED
Emily X CaldareraRussiaBernardo Dominic UNQUALIFIED
Jefferson E DoeSpainAmy Elsner RENEWAL
Misaki G KuskoAustraliaAsiya Javayant PROPOSAL
Nicolas U OldroydBrazilAmy Elsner UNQUALIFIED
Costa U IturbideCanadaIvan Magalhaes RENEWAL
Munro R VocelkaRussiaOnyama Limba PROPOSAL
Clifford O BriddickGermanyStephen Shaw RENEWAL
Adams Y SchemmerJapanAsiya Javayant RENEWAL
David T SergiSpainAmy Elsner NEGOTIATION
Clifford I AlbaresGermanyStephen Shaw RENEWAL
Smith I RutaSpainOnyama Limba QUALIFIED
Sinclair M OldroydJapanAnna Fali NEGOTIATION
Izzy D StensethFranceOnyama Limba NEGOTIATION
Jefferson G ShinkoAustraliaElwin Sharvill NEW
Cody G StensethArgentinaBernardo Dominic NEGOTIATION
Munro G ButtIndiaIvan Magalhaes RENEWAL
Leon U PerinItalyOnyama Limba RENEWAL
Adams A FlosiSpainAmy Elsner NEGOTIATION
Cody V ChuiFranceIoni Bowcher NEGOTIATION
Frozen Columns
Name
Aruna I Paprocki
Jones J Ferencz
Tony Q Vocelka
Isabel J Morasca
Aditya Q Caldarera
Silvio J Whobrey
Kadeem J Perin
Kadeem B Malet
Nicolas V Albares
Kadeem T Maclead
Aruna O Morasca
Cody W Royster
Smith Q Rulapaugh
Johnson G Gillian
Maisha S Caldarera
Maisha Y Bowley
Francesco N Venere
Morrow A Foller
Ivar D Chui
Rodrigues N Chui
Costa O Butt
Arvin J Vocelka
Francesco Q Waycott
Mujtaba H Foller
Arvin X Campain
Isabel P Briddick
Mujtaba S Slusarski
Mujtaba I Rim
Adams E Gaucho
Leon Z Foller
Julie D Stockham
Nicolas W Ostrosky
Misaki T Caldarera
Mujtaba O Shinko
Kadeem S Marrier
Jeanfrancois X Royster
Aditya I Iturbide
Aditya I Ostrosky
Chavez Z Ferencz
Juan E Oldroyd
Julie G Saylors
Jeanfrancois F Stockham
Sinclair U Dilliard
Julie S Rim
Maisha U Stenseth
Isabel E Campain
Aruna R Poquette
Octavia E Stockham
Jennifer B Oldroyd
Jefferson Z Ruta
IdCountryDate
1000Argentina2024-05-31
1001India2024-05-29
1002United Kingdom2024-05-30
1003Argentina2024-06-04
1004Argentina2024-06-06
1005United Kingdom2024-06-13
1006Russia2024-06-19
1007Japan2024-06-10
1008Canada2024-06-03
1009France2024-06-11
1010India2024-06-06
1011Germany2024-05-26
1012Brazil2024-06-18
1013Australia2024-05-31
1014India2024-06-08
1015Germany2024-06-21
1016Russia2024-06-09
1017France2024-05-24
1018France2024-05-31
1019Italy2024-06-16
1020India2024-06-05
1021Canada2024-06-12
1022Italy2024-05-24
1023Australia2024-06-04
1024Germany2024-06-21
1025Japan2024-06-20
1026Spain2024-06-07
1027India2024-05-30
1028Italy2024-05-26
1029Japan2024-06-16
1030France2024-06-01
1031Russia2024-06-05
1032Japan2024-06-16
1033Japan2024-06-21
1034Russia2024-06-22
1035Italy2024-05-27
1036Germany2024-06-18
1037Canada2024-06-11
1038Spain2024-06-12
1039Australia2024-06-05
1040Japan2024-05-27
1041Argentina2024-06-04
1042Canada2024-06-05
1043United Kingdom2024-06-11
1044Russia2024-05-26
1045Australia2024-06-12
1046Russia2024-05-25
1047Spain2024-06-08
1048Spain2024-06-02
1049Germany2024-06-15

On-Demand Data

NameIdCountryDate
David T Butt1000Italy2024-06-08
Misaki O Wieser1001Canada2024-06-14
Izzy W Iturbide1002Italy2024-06-21
Kadeem N Caudy1003Brazil2024-06-22
Alejandro R Oldroyd1004Italy2024-05-31
Smith G Saylors1005Germany2024-06-06
Clifford V Ostrosky1006Italy2024-06-06
Jeanfrancois X Dilliard1007Argentina2024-06-06
Kadeem P Inouye1008France2024-05-27
Leja G Doe1009United Kingdom2024-06-21
Clifford L Foller1010Russia2024-06-21
Misaki G Ferencz1011Japan2024-06-18
Murillo Y Chui1012Canada2024-06-16
Arvin X Doe1013France2024-06-16
Leja Z Whobrey1014Italy2024-06-15
Mujtaba E Chui1015Germany2024-05-31
Kadeem F Inouye1016Italy2024-06-17
Morrow D Iturbide1017India2024-06-12
Jefferson B Morasca1018Argentina2024-06-18
Francesco X Garufi1019Russia2024-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika I CampainRussiaAsiya Javayant RENEWAL
Alejandro H RutaJapanAnna Fali NEGOTIATION
Munro I OstroskyGermanyIoni Bowcher NEGOTIATION
Costa L VocelkaGermanyXuxue Feng NEW
Juan X WaycottArgentinaElwin Sharvill UNQUALIFIED
Chavez Q BologniaArgentinaAmy Elsner NEGOTIATION
Antonio V OstroskySpainXuxue Feng NEGOTIATION
Kadeem Q FollerUnited KingdomAsiya Javayant QUALIFIED
Maisha P RimUnited KingdomElwin Sharvill NEW
Aruna Y BriddickAustraliaIvan Magalhaes RENEWAL
Jennifer J MarrierAustraliaIoni Bowcher UNQUALIFIED
Faith M CaudyCanadaIvan Magalhaes UNQUALIFIED
Johnson A AlbaresAustraliaXuxue Feng NEW
Chavez E PoquetteIndiaIvan Magalhaes UNQUALIFIED
Rodrigues I SergiSpainXuxue Feng UNQUALIFIED
Mayumi L KolmetzCanadaAsiya Javayant PROPOSAL
Wickens J KuskoUnited KingdomBernardo Dominic NEW
Aika E RulapaughIndiaElwin Sharvill RENEWAL
Juan M CampainIndiaAsiya Javayant QUALIFIED
Isabel K FerenczSpainAsiya Javayant PROPOSAL
James U FlosiItalyElwin Sharvill QUALIFIED
Darci O MarrierCanadaBernardo Dominic NEGOTIATION
Murillo P CampainUnited KingdomElwin Sharvill QUALIFIED
Aruna V FlosiGermanyXuxue Feng NEGOTIATION
Ivar V GlickItalyStephen Shaw NEW
Murillo B VocelkaAustraliaStephen Shaw PROPOSAL
Munro C BologniaItalyAmy Elsner NEGOTIATION
Rodrigues J InouyeItalyAsiya Javayant NEW
Sinclair F ButtFranceBernardo Dominic NEGOTIATION
Maisha S SaylorsSpainElwin Sharvill UNQUALIFIED
James Y OldroydBrazilIoni Bowcher PROPOSAL
Leon R FerenczCanadaElwin Sharvill QUALIFIED
James J FigeroaUnited KingdomAsiya Javayant PROPOSAL
Aika C TollnerItalyStephen Shaw NEW
Tony M AmigonArgentinaElwin Sharvill RENEWAL
Aditya T PerinFranceStephen Shaw QUALIFIED
Costa E FigeroaUnited KingdomAnna Fali PROPOSAL
Tony U DarakjyRussiaBernardo Dominic UNQUALIFIED
Rodrigues K RutaItalyAmy Elsner UNQUALIFIED
Darci M SergiArgentinaOnyama Limba QUALIFIED

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