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
Aika E SlusarskiGermanyStephen Shaw UNQUALIFIED
Cody Q FerenczArgentinaAmy Elsner PROPOSAL
Cody P NickaCanadaElwin Sharvill PROPOSAL
Ivar U RoysterJapanStephen Shaw PROPOSAL
Tony E GarufiUnited KingdomElwin Sharvill NEGOTIATION
Murillo L PaprockiBrazilXuxue Feng PROPOSAL
Ashley I KuskoItalyStephen Shaw QUALIFIED
Leja H SergiAustraliaIvan Magalhaes NEW
Jones G MacleadGermanyBernardo Dominic PROPOSAL
Ivar E GlickIndiaBernardo Dominic QUALIFIED
Francesco U MarrierFranceBernardo Dominic UNQUALIFIED
Alejandro W RoysterIndiaOnyama Limba NEGOTIATION
Rodrigues R AlbaresBrazilStephen Shaw NEW
Chavez X VenereRussiaIvan Magalhaes RENEWAL
Maisha M SchemmerSpainAnna Fali PROPOSAL
Aditya C MacleadGermanyIvan Magalhaes PROPOSAL
Claire T GarufiBrazilOnyama Limba NEGOTIATION
Jefferson X CaldareraBrazilAsiya Javayant NEW
Munro N SchemmerIndiaOnyama Limba PROPOSAL
Faith Y MaletUnited KingdomAnna Fali NEGOTIATION
Deepesh P ButtGermanyAsiya Javayant RENEWAL
Stacey C KolmetzIndiaOnyama Limba NEGOTIATION
Nicolas R BriddickIndiaIvan Magalhaes NEW
Stacey W ChuiItalyIoni Bowcher RENEWAL
Munro H DilliardArgentinaIvan Magalhaes PROPOSAL
Kaitlin A BowleyBrazilElwin Sharvill NEW
Johnson Y CaudySpainAnna Fali QUALIFIED
Octavia Q GauchoUnited KingdomIoni Bowcher PROPOSAL
Aika E BowleyGermanyIoni Bowcher QUALIFIED
Misaki Y RutaArgentinaAmy Elsner UNQUALIFIED
Jefferson Q TollnerFranceIvan Magalhaes RENEWAL
Clifford S GauchoUnited KingdomAmy Elsner NEGOTIATION
Darci S CaldareraSpainAnna Fali QUALIFIED
Jones J ChuiUnited KingdomElwin Sharvill QUALIFIED
Alejandro R FerenczUnited KingdomXuxue Feng RENEWAL
Salvatore I KuskoArgentinaAsiya Javayant RENEWAL
Claire G RutaAustraliaAsiya Javayant UNQUALIFIED
Wickens C GarufiSpainIoni Bowcher RENEWAL
James F SaylorsItalyIvan Magalhaes RENEWAL
Sinclair J IturbideJapanXuxue Feng RENEWAL
James O PaprockiSpainAmy Elsner QUALIFIED
Johnson J NestleIndiaAsiya Javayant NEGOTIATION
Isabel T VocelkaCanadaOnyama Limba PROPOSAL
Clifford D CaldareraArgentinaAnna Fali NEGOTIATION
Deepesh Q GillianIndiaXuxue Feng NEW
Cody R MacleadSpainBernardo Dominic QUALIFIED
James B NestleRussiaOnyama Limba PROPOSAL
Johnson X SlusarskiAustraliaBernardo Dominic PROPOSAL
Adams Y SaylorsJapanStephen Shaw PROPOSAL
Maria D AmigonArgentinaStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Stacey T DilliardAustraliaStephen Shaw NEGOTIATION
Juan W BowleyFranceIoni Bowcher QUALIFIED
Tony M RoysterGermanyElwin Sharvill NEGOTIATION
Tony N KuskoCanadaOnyama Limba UNQUALIFIED
Julie I NestleGermanyElwin Sharvill QUALIFIED
Misaki D BriddickArgentinaIvan Magalhaes PROPOSAL
Darci C OstroskyAustraliaElwin Sharvill PROPOSAL
Emily I KuskoGermanyOnyama Limba UNQUALIFIED
Juan X DoeSpainIoni Bowcher UNQUALIFIED
James U FlosiRussiaIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody U ButtGermany2024-05-06Chapman, Ross E Esq RENEWAL79Bernardo Dominic
1001Morrow K RulapaughJapan2024-05-08Chapman, Ross E Esq UNQUALIFIED3Stephen Shaw
1002Sinclair H VenereUnited Kingdom2024-05-25Morlong Associates RENEWAL94Onyama Limba
1003Nicolas K GillianUnited Kingdom2024-06-01King, Christopher A Esq UNQUALIFIED28Ivan Magalhaes
1004Clifford H SergiCanada2024-05-19Truhlar And Truhlar Attys RENEWAL14Bernardo Dominic
1005Cody E ButtRussia2024-05-15Chemel, James L Cpa UNQUALIFIED96Elwin Sharvill
1006Antonio L RulapaughBrazil2024-05-23Printing Dimensions NEW61Amy Elsner
1007Maria S IturbideJapan2024-05-20Commercial Press NEGOTIATION69Ioni Bowcher
1008Ivar A BologniaItaly2024-06-02King, Christopher A Esq UNQUALIFIED41Stephen Shaw
1009Greenwood Q IturbideAustralia2024-05-19Feiner Bros PROPOSAL46Anna Fali
1010Jennifer I DilliardArgentina2024-05-08Dorl, James J Esq PROPOSAL42Bernardo Dominic
1011Emily P StockhamFrance2024-05-28Feiner Bros RENEWAL25Anna Fali
1012Aruna D BologniaSpain2024-05-30Commercial Press NEW73Bernardo Dominic
1013Ricardo Z StockhamRussia2024-06-04Dorl, James J Esq QUALIFIED47Asiya Javayant
1014Tony D FlosiIndia2024-05-19Buckley Miller Wright QUALIFIED58Ivan Magalhaes
1015Emily S BowleyBrazil2024-05-13Chanay, Jeffrey A Esq RENEWAL25Asiya Javayant
1016Mayumi L FigeroaJapan2024-06-03Chapman, Ross E Esq NEW67Amy Elsner
1017Chavez K RoysterItaly2024-05-25Rousseaux, Michael Esq PROPOSAL66Xuxue Feng
1018Jeanfrancois J DilliardJapan2024-05-29Dorl, James J Esq QUALIFIED60Stephen Shaw
1019Deepesh K WieserRussia2024-05-20Commercial Press PROPOSAL78Ivan Magalhaes
1020Nicolas G FollerIndia2024-05-28Dorl, James J Esq QUALIFIED54Ivan Magalhaes
1021Leja Z SergiAustralia2024-05-08Rangoni Of Florence RENEWAL69Xuxue Feng
1022Clifford P BologniaItaly2024-05-16Benton, John B Jr PROPOSAL70Asiya Javayant
1023Misaki R AlbaresJapan2024-05-25Printing Dimensions RENEWAL89Amy Elsner
1024Julie M StensethJapan2024-05-17Dorl, James J Esq RENEWAL43Stephen Shaw
1025Maria Q SlusarskiFrance2024-05-21King, Christopher A Esq PROPOSAL65Onyama Limba
1026Wickens T FigeroaSpain2024-05-18King, Christopher A Esq PROPOSAL1Anna Fali
1027Isabel A BowleyCanada2024-05-28Feiner Bros NEW77Ioni Bowcher
1028Wickens M GillianSpain2024-05-24Benton, John B Jr RENEWAL77Onyama Limba
1029Aika I SlusarskiCanada2024-05-13Truhlar And Truhlar Attys QUALIFIED4Bernardo Dominic
1030David N CaldareraSpain2024-05-26Rousseaux, Michael Esq PROPOSAL69Stephen Shaw
1031Alejandro J KuskoIndia2024-05-10Rangoni Of Florence PROPOSAL43Stephen Shaw
1032Claire V GarufiBrazil2024-05-10Chemel, James L Cpa UNQUALIFIED66Ioni Bowcher
1033Wickens I KolmetzCanada2024-05-20Rangoni Of Florence RENEWAL31Bernardo Dominic
1034Cody U CaldareraFrance2024-06-02Feiner Bros NEW63Asiya Javayant
1035Mujtaba O SlusarskiRussia2024-05-18Truhlar And Truhlar Attys UNQUALIFIED18Asiya Javayant
1036Antonio R RimSpain2024-05-31Rousseaux, Michael Esq RENEWAL99Asiya Javayant
1037Leon V MaletIndia2024-06-02Printing Dimensions UNQUALIFIED64Elwin Sharvill
1038Arvin V SlusarskiAustralia2024-05-09King, Christopher A Esq NEGOTIATION76Anna Fali
1039Clifford L RulapaughJapan2024-05-29Truhlar And Truhlar Attys QUALIFIED71Amy Elsner
1040Faith H IturbideBrazil2024-05-06Dorl, James J Esq NEGOTIATION14Ioni Bowcher
1041Smith I MaletSpain2024-05-17Chemel, James L Cpa RENEWAL17Ioni Bowcher
1042Murillo T StockhamUnited Kingdom2024-05-29Truhlar And Truhlar Attys PROPOSAL61Stephen Shaw
1043Isabel G AmigonSpain2024-05-14Feiner Bros NEW71Bernardo Dominic
1044Emily Q NestleCanada2024-06-04King, Christopher A Esq QUALIFIED79Amy Elsner
1045Emily M MorascaRussia2024-05-15Truhlar And Truhlar Attys QUALIFIED85Onyama Limba
1046Ivar N NickaItaly2024-05-16Feiner Bros UNQUALIFIED96Stephen Shaw
1047Ashley O IturbideFrance2024-05-24Chemel, James L Cpa QUALIFIED46Asiya Javayant
1048Tony S FollerRussia2024-05-23Buckley Miller Wright RENEWAL87Elwin Sharvill
1049Silvio K StockhamAustralia2024-06-03Dorl, James J Esq PROPOSAL2Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Kadeem C MorascaBrazilElwin Sharvill RENEWAL
Maisha M FigeroaCanadaElwin Sharvill RENEWAL
Francesco I WieserCanadaAmy Elsner RENEWAL
Ricardo O BriddickIndiaAmy Elsner RENEWAL
Wickens R FollerUnited KingdomIoni Bowcher UNQUALIFIED
Smith Z VocelkaUnited KingdomIoni Bowcher NEGOTIATION
Chavez Q DarakjyAustraliaAmy Elsner NEW
Costa Q WhobreyItalyIoni Bowcher UNQUALIFIED
Francesco K PaprockiCanadaAnna Fali QUALIFIED
Greenwood I GlickGermanyAsiya Javayant NEW
Alejandro A WieserAustraliaAmy Elsner QUALIFIED
Leon H BowleyItalyAnna Fali PROPOSAL
Leon D RimItalyElwin Sharvill NEGOTIATION
Juan U PoquetteJapanBernardo Dominic QUALIFIED
Sinclair K PoquetteSpainIoni Bowcher UNQUALIFIED
Silvio X AmigonArgentinaOnyama Limba RENEWAL
Kadeem C FlosiCanadaStephen Shaw UNQUALIFIED
Morrow P GillianArgentinaBernardo Dominic QUALIFIED
Maria U GarufiArgentinaIoni Bowcher QUALIFIED
James F PerinRussiaElwin Sharvill RENEWAL
Maisha E GarufiIndiaBernardo Dominic PROPOSAL
Mujtaba I GlickFranceAmy Elsner NEGOTIATION
Greenwood E AmigonGermanyIvan Magalhaes UNQUALIFIED
Aditya T WaycottBrazilStephen Shaw UNQUALIFIED
Francesco B OldroydItalyIvan Magalhaes UNQUALIFIED
Ricardo X WhobreyCanadaAmy Elsner QUALIFIED
Jennifer N MaletRussiaAmy Elsner NEW
Jefferson A SaylorsSpainIoni Bowcher RENEWAL
Mayumi T BologniaIndiaStephen Shaw NEW
Kadeem O NestleGermanyXuxue Feng PROPOSAL
Juan L FollerRussiaElwin Sharvill NEGOTIATION
Kaitlin P GlickCanadaXuxue Feng UNQUALIFIED
Jeanfrancois B PerinJapanStephen Shaw RENEWAL
Izzy S FollerJapanAsiya Javayant NEW
Munro B DarakjyJapanBernardo Dominic UNQUALIFIED
James Z SaylorsAustraliaIoni Bowcher NEGOTIATION
Smith B SergiFranceBernardo Dominic RENEWAL
Aika O WieserIndiaBernardo Dominic NEW
Murillo B SergiIndiaIoni Bowcher UNQUALIFIED
Jefferson E NickaUnited KingdomElwin Sharvill RENEWAL
Antonio M MacleadJapanStephen Shaw UNQUALIFIED
Munro R IturbideSpainAsiya Javayant NEW
Darci N FollerSpainAmy Elsner UNQUALIFIED
Salvatore T CampainItalyIoni Bowcher RENEWAL
Jefferson V NestleGermanyIoni Bowcher QUALIFIED
Clifford X PoquetteItalyAnna Fali RENEWAL
Chavez O RoysterRussiaXuxue Feng QUALIFIED
Smith L SaylorsRussiaAnna Fali QUALIFIED
Wickens Y SchemmerRussiaStephen Shaw RENEWAL
Greenwood J GauchoAustraliaBernardo Dominic PROPOSAL
Frozen Columns
Name
Misaki F Bowley
Murillo L Ostrosky
Chavez K Gaucho
Stacey Q Wieser
Izzy S Albares
Munro R Tollner
Costa I Caudy
Jeanfrancois N Maclead
David R Ostrosky
Maisha U Darakjy
Isabel S Butt
Juan I Bolognia
Izzy K Schemmer
Aika S Shinko
Antonio S Tollner
Aditya Y Ostrosky
Costa G Kolmetz
Sinclair D Schemmer
Clifford M Paprocki
Munro K Bolognia
Maria J Malet
Aditya M Caudy
Aditya B Wieser
Francesco U Sergi
Jennifer M Kolmetz
Juan X Rulapaugh
Leja C Ferencz
Francesco E Royster
Clifford J Bowley
Mujtaba E Figeroa
Alejandro C Albares
Deepesh V Ostrosky
Mujtaba Y Foller
Stacey D Nicka
Julie S Morasca
Ricardo S Sergi
Stacey E Kolmetz
Maisha U Briddick
Izzy C Gillian
Maisha L Campain
Smith H Albares
Greenwood O Paprocki
Sinclair R Garufi
Rodrigues S Ostrosky
Arvin W Vocelka
Rodrigues G Marrier
Leon M Campain
Johnson J Morasca
Antonio G Foller
Jennifer U Butt
IdCountryDate
1000Canada2024-05-29
1001Japan2024-05-23
1002Brazil2024-05-18
1003Australia2024-05-10
1004France2024-05-29
1005Spain2024-05-08
1006Australia2024-05-13
1007Brazil2024-05-29
1008France2024-05-13
1009Brazil2024-05-28
1010Italy2024-05-27
1011Japan2024-06-04
1012Brazil2024-05-30
1013France2024-06-01
1014Japan2024-06-04
1015Italy2024-05-18
1016France2024-05-18
1017Russia2024-05-06
1018Italy2024-05-23
1019Russia2024-05-12
1020France2024-05-12
1021Brazil2024-05-09
1022France2024-05-24
1023Italy2024-05-25
1024Germany2024-05-09
1025Spain2024-05-25
1026India2024-05-26
1027Italy2024-05-08
1028Canada2024-05-26
1029Brazil2024-06-02
1030Italy2024-05-28
1031Brazil2024-05-11
1032Australia2024-05-13
1033Japan2024-05-13
1034Canada2024-06-02
1035Spain2024-05-08
1036Germany2024-05-25
1037Spain2024-05-13
1038United Kingdom2024-05-22
1039Spain2024-05-09
1040Spain2024-05-11
1041Japan2024-05-12
1042Italy2024-05-08
1043Japan2024-05-24
1044Italy2024-05-30
1045United Kingdom2024-05-15
1046Argentina2024-05-25
1047Japan2024-05-24
1048Russia2024-05-06
1049Argentina2024-05-21

On-Demand Data

NameIdCountryDate
Salvatore A Flosi1000Brazil2024-06-01
Misaki D Royster1001Argentina2024-05-07
Sinclair D Rulapaugh1002India2024-05-16
David J Schemmer1003Brazil2024-05-16
Munro G Oldroyd1004France2024-05-19
Kadeem N Kusko1005Spain2024-05-28
Tony K Malet1006Russia2024-05-22
Rodrigues F Albares1007Canada2024-05-12
Cody V Figeroa1008Japan2024-06-03
Morrow Q Tollner1009Argentina2024-05-20
Leja W Ferencz1010Argentina2024-05-25
Aruna S Morasca1011France2024-05-17
Juan H Butt1012Germany2024-05-31
Chavez Y Rim1013France2024-05-22
Munro N Kolmetz1014Russia2024-05-15
Juan M Malet1015Brazil2024-06-04
Juan L Malet1016Australia2024-05-19
Munro H Royster1017Argentina2024-05-18
Leja B Ruta1018Germany2024-05-26
Greenwood I Glick1019Russia2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford Z MaletSpainAnna Fali PROPOSAL
Arvin G FollerGermanyBernardo Dominic RENEWAL
Leja E OldroydJapanOnyama Limba QUALIFIED
Misaki Y FollerItalyAnna Fali UNQUALIFIED
Silvio N GauchoJapanIoni Bowcher PROPOSAL
Stacey U BologniaIndiaStephen Shaw NEGOTIATION
Jones Q KolmetzJapanIvan Magalhaes PROPOSAL
Izzy Q RoysterGermanyOnyama Limba RENEWAL
Darci R TollnerItalyOnyama Limba NEW
Izzy F CaudyArgentinaXuxue Feng UNQUALIFIED
Costa D WaycottItalyXuxue Feng QUALIFIED
Tony U BriddickItalyBernardo Dominic QUALIFIED
Darci Y KolmetzGermanyXuxue Feng NEGOTIATION
Wickens H WaycottAustraliaOnyama Limba QUALIFIED
Claire W TollnerRussiaAnna Fali UNQUALIFIED
Chavez E BowleyJapanIoni Bowcher UNQUALIFIED
Murillo I MaletJapanXuxue Feng QUALIFIED
Ashley T BowleyAustraliaIvan Magalhaes PROPOSAL
Tony R WieserItalyBernardo Dominic NEGOTIATION
Maria Z CaldareraIndiaElwin Sharvill RENEWAL
Rodrigues L MaletFranceXuxue Feng NEW
Octavia I FerenczIndiaAsiya Javayant RENEWAL
Alejandro S RoysterJapanOnyama Limba NEGOTIATION
Munro U VenereIndiaBernardo Dominic NEW
Kaitlin G NestleCanadaOnyama Limba PROPOSAL
Kaitlin W WieserIndiaElwin Sharvill PROPOSAL
Costa I ButtGermanyOnyama Limba PROPOSAL
Jones C KolmetzBrazilAsiya Javayant UNQUALIFIED
Salvatore Z KolmetzSpainAnna Fali RENEWAL
Maisha Z CampainItalyBernardo Dominic NEW
Silvio B PaprockiGermanyIoni Bowcher PROPOSAL
Johnson Q RulapaughFranceXuxue Feng PROPOSAL
Alejandro G CampainJapanAmy Elsner NEW
Morrow T MacleadUnited KingdomAmy Elsner QUALIFIED
David M StockhamSpainBernardo Dominic NEGOTIATION
Wickens X ChuiJapanBernardo Dominic UNQUALIFIED
Emily I OstroskyUnited KingdomIoni Bowcher UNQUALIFIED
Kaitlin K OldroydItalyXuxue Feng RENEWAL
Julie W FollerRussiaAsiya Javayant RENEWAL
Aditya R WhobreyItalyElwin Sharvill 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>