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
Francesco L NestleGermanyStephen Shaw NEGOTIATION
Leon E FlosiUnited KingdomIvan Magalhaes RENEWAL
Rodrigues E OldroydRussiaIvan Magalhaes NEW
Kaitlin X BriddickCanadaAmy Elsner QUALIFIED
James E RimArgentinaStephen Shaw RENEWAL
Jefferson X SlusarskiRussiaIoni Bowcher RENEWAL
David Q OstroskyRussiaXuxue Feng PROPOSAL
Faith T PoquetteJapanAnna Fali NEW
Mujtaba U BowleyJapanElwin Sharvill UNQUALIFIED
Sinclair T DilliardJapanAmy Elsner RENEWAL
Leja F DoeGermanyBernardo Dominic PROPOSAL
Maria F SergiArgentinaBernardo Dominic RENEWAL
Aruna H BowleyAustraliaAmy Elsner RENEWAL
Faith V GillianIndiaAmy Elsner NEGOTIATION
Darci M InouyeBrazilStephen Shaw NEGOTIATION
Costa O BriddickCanadaAsiya Javayant PROPOSAL
David N ChuiFranceBernardo Dominic PROPOSAL
Faith Y KuskoSpainIoni Bowcher UNQUALIFIED
Tony G PoquetteUnited KingdomBernardo Dominic UNQUALIFIED
Juan R NickaRussiaAnna Fali PROPOSAL
Mujtaba U AlbaresGermanyStephen Shaw NEGOTIATION
Juan P NestleSpainBernardo Dominic NEGOTIATION
Jennifer I ChuiUnited KingdomXuxue Feng QUALIFIED
Jones E GauchoUnited KingdomXuxue Feng PROPOSAL
Mayumi I ShinkoUnited KingdomElwin Sharvill PROPOSAL
Juan Q IturbideArgentinaStephen Shaw NEGOTIATION
Rodrigues F GarufiJapanOnyama Limba RENEWAL
Izzy Z RoysterUnited KingdomStephen Shaw NEW
Izzy Y PerinFranceBernardo Dominic QUALIFIED
Jennifer G VocelkaItalyXuxue Feng RENEWAL
Misaki Y WhobreyRussiaAsiya Javayant PROPOSAL
Leja H OstroskyJapanAsiya Javayant QUALIFIED
Greenwood F GillianRussiaAsiya Javayant RENEWAL
Julie S FigeroaBrazilBernardo Dominic NEGOTIATION
Rodrigues T FlosiRussiaAnna Fali UNQUALIFIED
Tony M RutaCanadaAnna Fali UNQUALIFIED
Ricardo D ShinkoItalyElwin Sharvill PROPOSAL
Ivar X StensethGermanyIvan Magalhaes NEW
Arvin E KuskoRussiaBernardo Dominic QUALIFIED
Clifford T FerenczBrazilOnyama Limba RENEWAL
Kadeem E ShinkoCanadaAsiya Javayant UNQUALIFIED
Aruna U SchemmerJapanAmy Elsner UNQUALIFIED
Faith R AlbaresIndiaIvan Magalhaes QUALIFIED
Claire B IturbideJapanOnyama Limba NEGOTIATION
Maria O FlosiItalyOnyama Limba UNQUALIFIED
Nicolas J CaldareraArgentinaIvan Magalhaes PROPOSAL
Leon Y SergiItalyIvan Magalhaes NEW
Munro W ButtUnited KingdomAmy Elsner UNQUALIFIED
Antonio G GauchoBrazilBernardo Dominic UNQUALIFIED
Alejandro U CaudyCanadaOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Ivar J BowleySpainAsiya Javayant NEW
Kaitlin Q KuskoJapanIvan Magalhaes NEGOTIATION
Costa L BriddickBrazilIvan Magalhaes NEGOTIATION
Darci Q KolmetzArgentinaOnyama Limba QUALIFIED
Kadeem W RimIndiaElwin Sharvill NEW
Stacey P VenereRussiaStephen Shaw NEW
Emily Q WaycottIndiaIvan Magalhaes PROPOSAL
Mayumi Q VenereJapanElwin Sharvill QUALIFIED
Adams B StockhamRussiaStephen Shaw QUALIFIED
Misaki X GarufiBrazilXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha R NickaArgentina2024-06-11Chanay, Jeffrey A Esq RENEWAL78Ioni Bowcher
1001Julie Z WieserUnited Kingdom2024-06-12Printing Dimensions NEW26Onyama Limba
1002Ashley P DoeRussia2024-06-15Chemel, James L Cpa QUALIFIED12Ioni Bowcher
1003Mujtaba M GillianCanada2024-06-08Morlong Associates NEW60Bernardo Dominic
1004Cody H WieserJapan2024-05-28Commercial Press UNQUALIFIED36Ivan Magalhaes
1005Emily Y DilliardArgentina2024-06-04Feltz Printing Service UNQUALIFIED90Xuxue Feng
1006Leon R ShinkoFrance2024-06-08King, Christopher A Esq UNQUALIFIED25Xuxue Feng
1007Ricardo V NestleArgentina2024-06-02Morlong Associates PROPOSAL4Anna Fali
1008Kadeem H RoysterUnited Kingdom2024-06-13King, Christopher A Esq UNQUALIFIED8Ivan Magalhaes
1009Octavia E RulapaughArgentina2024-05-24Feltz Printing Service RENEWAL86Stephen Shaw
1010Misaki T MaletRussia2024-05-23Buckley Miller Wright QUALIFIED40Asiya Javayant
1011Leon D FollerFrance2024-06-02Feiner Bros QUALIFIED38Ioni Bowcher
1012David S SlusarskiArgentina2024-05-26Chemel, James L Cpa PROPOSAL75Xuxue Feng
1013Antonio E VenereIndia2024-06-02Commercial Press NEW35Bernardo Dominic
1014Mujtaba R MaletSpain2024-05-31Benton, John B Jr QUALIFIED52Elwin Sharvill
1015Munro E FerenczBrazil2024-06-02Feltz Printing Service UNQUALIFIED17Stephen Shaw
1016Costa H DarakjyJapan2024-06-04Chanay, Jeffrey A Esq NEW84Elwin Sharvill
1017Morrow H OstroskySpain2024-06-12Benton, John B Jr NEW48Asiya Javayant
1018Sinclair Q DoeUnited Kingdom2024-06-19Chapman, Ross E Esq UNQUALIFIED22Amy Elsner
1019Octavia T PaprockiCanada2024-06-01King, Christopher A Esq NEGOTIATION18Stephen Shaw
1020Wickens X PaprockiBrazil2024-06-14Rangoni Of Florence QUALIFIED97Asiya Javayant
1021Jefferson V GarufiGermany2024-06-16Rousseaux, Michael Esq PROPOSAL55Asiya Javayant
1022Jones W PaprockiGermany2024-06-11Chemel, James L Cpa RENEWAL8Amy Elsner
1023Jefferson P DilliardCanada2024-06-17Dorl, James J Esq NEW80Amy Elsner
1024Wickens H AmigonArgentina2024-06-09Chanay, Jeffrey A Esq QUALIFIED37Ivan Magalhaes
1025Stacey N WieserGermany2024-06-15Printing Dimensions UNQUALIFIED44Anna Fali
1026Aditya M PaprockiBrazil2024-05-25Morlong Associates QUALIFIED44Stephen Shaw
1027Kaitlin E CampainAustralia2024-06-08Feltz Printing Service NEW78Anna Fali
1028Nicolas U AlbaresUnited Kingdom2024-06-02Feltz Printing Service PROPOSAL84Asiya Javayant
1029Izzy S FlosiSpain2024-06-06Feiner Bros NEGOTIATION30Amy Elsner
1030James S WhobreyFrance2024-05-28Buckley Miller Wright PROPOSAL17Ivan Magalhaes
1031Smith C StockhamFrance2024-05-24Dorl, James J Esq NEGOTIATION49Xuxue Feng
1032Aditya X GlickBrazil2024-06-19Dorl, James J Esq RENEWAL22Amy Elsner
1033Maisha B ButtJapan2024-06-03Feiner Bros QUALIFIED24Xuxue Feng
1034Ashley R RulapaughSpain2024-06-05Benton, John B Jr NEW43Ioni Bowcher
1035Salvatore Z PerinSpain2024-05-29Truhlar And Truhlar Attys NEW96Onyama Limba
1036Rodrigues I SchemmerJapan2024-06-16Benton, John B Jr NEW92Stephen Shaw
1037Jones V SaylorsCanada2024-06-11Buckley Miller Wright UNQUALIFIED12Xuxue Feng
1038Greenwood O FigeroaArgentina2024-06-02Rousseaux, Michael Esq NEW59Onyama Limba
1039Costa D FigeroaBrazil2024-05-28Chanay, Jeffrey A Esq QUALIFIED48Anna Fali
1040Leon E GauchoArgentina2024-06-04Truhlar And Truhlar Attys RENEWAL78Anna Fali
1041Mujtaba L IturbideAustralia2024-06-14Feiner Bros PROPOSAL11Stephen Shaw
1042Arvin F ChuiArgentina2024-05-27Chemel, James L Cpa RENEWAL75Asiya Javayant
1043Jefferson G IturbideSpain2024-05-27Truhlar And Truhlar Attys QUALIFIED56Anna Fali
1044Nicolas I SchemmerIndia2024-06-16Benton, John B Jr RENEWAL40Xuxue Feng
1045Morrow P AlbaresUnited Kingdom2024-06-01Dorl, James J Esq RENEWAL72Elwin Sharvill
1046Emily F GlickArgentina2024-05-28Morlong Associates UNQUALIFIED7Asiya Javayant
1047Munro F GarufiGermany2024-05-26Chapman, Ross E Esq QUALIFIED94Xuxue Feng
1048Murillo A PaprockiArgentina2024-06-05Morlong Associates NEGOTIATION35Xuxue Feng
1049Tony Q DoeJapan2024-06-13Benton, John B Jr NEW35Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Antonio G VocelkaAustraliaElwin Sharvill PROPOSAL
Silvio K KuskoIndiaElwin Sharvill PROPOSAL
Johnson G SaylorsBrazilOnyama Limba NEGOTIATION
Faith S OstroskyIndiaElwin Sharvill UNQUALIFIED
Francesco V BriddickAustraliaElwin Sharvill NEGOTIATION
Isabel Q CaldareraCanadaIoni Bowcher PROPOSAL
Maria J SaylorsArgentinaBernardo Dominic PROPOSAL
Johnson V MacleadRussiaOnyama Limba NEGOTIATION
Ivar B OstroskyUnited KingdomAsiya Javayant RENEWAL
Faith H PerinBrazilBernardo Dominic PROPOSAL
Wickens V NickaUnited KingdomBernardo Dominic NEW
Adams N VocelkaAustraliaIvan Magalhaes RENEWAL
Murillo V IturbideJapanAnna Fali UNQUALIFIED
Clifford G MorascaJapanAnna Fali QUALIFIED
Greenwood B FerenczGermanyAsiya Javayant RENEWAL
Morrow D MorascaItalyStephen Shaw PROPOSAL
Morrow H SergiArgentinaStephen Shaw PROPOSAL
Aruna A KuskoUnited KingdomXuxue Feng NEW
Adams Q RimCanadaBernardo Dominic PROPOSAL
Maisha A SlusarskiGermanyOnyama Limba QUALIFIED
Kadeem E TollnerUnited KingdomXuxue Feng PROPOSAL
Isabel V KuskoFranceIvan Magalhaes NEGOTIATION
Jones X NestleGermanyOnyama Limba UNQUALIFIED
Costa R FigeroaUnited KingdomOnyama Limba UNQUALIFIED
Rodrigues F DilliardCanadaAsiya Javayant RENEWAL
Clifford Q ShinkoAustraliaOnyama Limba PROPOSAL
Tony D AmigonItalyIoni Bowcher QUALIFIED
Octavia B SchemmerSpainIvan Magalhaes PROPOSAL
Francesco M FerenczItalyBernardo Dominic NEW
Arvin B PaprockiCanadaAnna Fali UNQUALIFIED
Ashley Q MorascaItalyIoni Bowcher NEW
Leja V AmigonAustraliaXuxue Feng RENEWAL
Izzy A SchemmerAustraliaIoni Bowcher NEW
Leon G GauchoBrazilStephen Shaw NEW
Mujtaba W WhobreyFranceStephen Shaw NEGOTIATION
Silvio X CampainJapanIoni Bowcher PROPOSAL
Wickens H KuskoBrazilAmy Elsner NEGOTIATION
Chavez Z PaprockiSpainStephen Shaw NEGOTIATION
Mujtaba T CaudyRussiaStephen Shaw UNQUALIFIED
Emily H OstroskyFranceIvan Magalhaes NEW
Morrow N ButtSpainElwin Sharvill NEW
Salvatore P FigeroaIndiaXuxue Feng NEW
Julie G BowleyArgentinaAnna Fali QUALIFIED
Ashley S RimJapanElwin Sharvill RENEWAL
Ricardo N WieserRussiaOnyama Limba RENEWAL
Tony B PaprockiFranceStephen Shaw QUALIFIED
Greenwood P KolmetzCanadaElwin Sharvill UNQUALIFIED
Rodrigues B GarufiGermanyIvan Magalhaes QUALIFIED
Johnson M MaletAustraliaIvan Magalhaes RENEWAL
Arvin I SlusarskiBrazilElwin Sharvill RENEWAL
Frozen Columns
Name
Clifford Q Malet
Tony Y Nicka
Cody R Schemmer
Sinclair T Shinko
Ashley F Kolmetz
Aditya Z Bolognia
Chavez L Garufi
Jefferson L Darakjy
Aditya O Sergi
Stacey K Saylors
Jefferson L Kolmetz
Costa S Schemmer
Tony O Poquette
Mujtaba Y Perin
Aditya J Royster
Aika O Bolognia
Jeanfrancois K Shinko
Antonio H Ferencz
Maisha O Iturbide
Johnson K Stenseth
Ivar B Maclead
Jennifer E Poquette
Kadeem P Dilliard
Adams C Caudy
Claire F Doe
Murillo T Shinko
Maria M Dilliard
Salvatore J Stockham
Tony C Darakjy
Salvatore J Gillian
Ivar B Stenseth
Ashley S Kolmetz
Jeanfrancois B Ferencz
Nicolas M Chui
Misaki R Inouye
Munro B Briddick
Munro O Stenseth
Ashley R Saylors
Arvin F Saylors
Kadeem N Caldarera
Smith X Figeroa
Jefferson W Darakjy
Rodrigues V Ostrosky
Aditya F Vocelka
David N Saylors
Morrow H Gaucho
Alejandro Z Inouye
Sinclair R Maclead
Johnson L Ruta
Ricardo P Vocelka
IdCountryDate
1000Argentina2024-06-21
1001Brazil2024-06-08
1002India2024-05-24
1003Brazil2024-05-24
1004Germany2024-05-23
1005Japan2024-06-13
1006Italy2024-06-21
1007Canada2024-06-20
1008United Kingdom2024-05-24
1009Canada2024-06-13
1010Germany2024-05-23
1011Russia2024-06-04
1012Brazil2024-06-13
1013India2024-06-15
1014Brazil2024-05-29
1015India2024-06-17
1016India2024-06-15
1017Japan2024-06-08
1018France2024-06-08
1019Spain2024-06-21
1020Russia2024-06-20
1021India2024-06-11
1022France2024-06-03
1023Russia2024-06-11
1024India2024-05-28
1025Russia2024-06-06
1026Japan2024-06-04
1027Australia2024-05-26
1028France2024-06-16
1029Japan2024-06-20
1030Spain2024-06-15
1031Spain2024-05-23
1032France2024-06-08
1033United Kingdom2024-06-18
1034Brazil2024-06-20
1035United Kingdom2024-06-01
1036Brazil2024-06-02
1037India2024-05-23
1038Russia2024-05-23
1039Italy2024-06-08
1040United Kingdom2024-06-18
1041Russia2024-06-13
1042United Kingdom2024-06-06
1043Brazil2024-06-05
1044Canada2024-06-10
1045Germany2024-05-24
1046Australia2024-06-20
1047Australia2024-06-19
1048France2024-05-25
1049France2024-06-21

On-Demand Data

NameIdCountryDate
Silvio N Ferencz1000Russia2024-05-30
Alejandro Y Kolmetz1001Australia2024-05-23
Isabel E Paprocki1002Germany2024-06-13
Clifford Q Garufi1003Argentina2024-06-17
Greenwood G Saylors1004Argentina2024-06-06
Jeanfrancois M Ferencz1005Russia2024-05-29
Jefferson S Tollner1006Brazil2024-05-23
Costa A Paprocki1007Australia2024-06-15
David A Ostrosky1008United Kingdom2024-05-27
Isabel Y Whobrey1009Brazil2024-06-18
Adams Z Shinko1010Italy2024-05-25
Ivar E Marrier1011Italy2024-06-13
Isabel L Foller1012France2024-06-03
Salvatore N Maclead1013Russia2024-06-01
Chavez M Oldroyd1014Russia2024-06-08
Ricardo C Caldarera1015Japan2024-06-08
Stacey C Iturbide1016France2024-06-20
Silvio T Gaucho1017Argentina2024-05-24
Leja E Whobrey1018Russia2024-06-19
Mujtaba E Flosi1019Japan2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams A BologniaArgentinaIoni Bowcher RENEWAL
Jefferson S PoquetteSpainIoni Bowcher RENEWAL
Morrow O StensethJapanAnna Fali PROPOSAL
Clifford G FollerIndiaXuxue Feng NEGOTIATION
Tony E FlosiArgentinaIvan Magalhaes UNQUALIFIED
Rodrigues P RulapaughArgentinaAnna Fali UNQUALIFIED
Costa I ChuiSpainXuxue Feng RENEWAL
Emily S AmigonArgentinaBernardo Dominic QUALIFIED
Munro U VenereCanadaAmy Elsner PROPOSAL
Juan G FlosiBrazilXuxue Feng QUALIFIED
Antonio A SlusarskiRussiaElwin Sharvill RENEWAL
Francesco N InouyeSpainStephen Shaw RENEWAL
Arvin P DoeCanadaBernardo Dominic RENEWAL
Greenwood T WhobreyUnited KingdomBernardo Dominic UNQUALIFIED
Misaki U GillianSpainIoni Bowcher QUALIFIED
Antonio Q PoquetteArgentinaXuxue Feng UNQUALIFIED
Isabel F StockhamGermanyAsiya Javayant RENEWAL
Adams E SchemmerCanadaBernardo Dominic NEW
Juan B BriddickFranceIvan Magalhaes UNQUALIFIED
Ricardo S OldroydFranceElwin Sharvill QUALIFIED
Jefferson B KuskoRussiaElwin Sharvill PROPOSAL
Francesco I KolmetzAustraliaAnna Fali UNQUALIFIED
Leon A VocelkaSpainStephen Shaw QUALIFIED
Nicolas S SchemmerJapanStephen Shaw NEGOTIATION
James B AlbaresGermanyBernardo Dominic PROPOSAL
Jefferson E GarufiJapanIoni Bowcher NEW
Murillo H GarufiIndiaStephen Shaw NEW
Morrow R SlusarskiJapanIvan Magalhaes QUALIFIED
Misaki L BologniaCanadaBernardo Dominic NEW
Jefferson G GauchoSpainXuxue Feng PROPOSAL
Costa X MorascaAustraliaAnna Fali PROPOSAL
James W BowleySpainAsiya Javayant UNQUALIFIED
Deepesh E RulapaughBrazilIvan Magalhaes NEW
Morrow H KolmetzIndiaIvan Magalhaes NEW
Juan U TollnerGermanyXuxue Feng PROPOSAL
Costa X OldroydSpainAsiya Javayant NEW
Adams B MacleadSpainBernardo Dominic UNQUALIFIED
Aruna P RimRussiaIvan Magalhaes RENEWAL
Claire H IturbideCanadaAsiya Javayant NEGOTIATION
Claire Q RulapaughBrazilIoni Bowcher 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>