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
Salvatore R CampainUnited KingdomAmy Elsner PROPOSAL
Kaitlin Z CampainCanadaOnyama Limba PROPOSAL
Jones A ShinkoUnited KingdomStephen Shaw RENEWAL
Murillo D PerinItalyOnyama Limba UNQUALIFIED
Leon T MaletFranceStephen Shaw PROPOSAL
Morrow A RulapaughGermanyBernardo Dominic QUALIFIED
Jones C RulapaughRussiaAnna Fali NEW
Cody O GauchoUnited KingdomStephen Shaw NEGOTIATION
Aditya X RimIndiaAsiya Javayant PROPOSAL
Mayumi W FlosiUnited KingdomElwin Sharvill UNQUALIFIED
David M PaprockiCanadaAmy Elsner QUALIFIED
Arvin H InouyeIndiaIvan Magalhaes PROPOSAL
Izzy X SergiBrazilIoni Bowcher NEGOTIATION
Isabel A NestleFranceAnna Fali PROPOSAL
Chavez N IturbideFranceXuxue Feng NEGOTIATION
James R AlbaresIndiaAsiya Javayant NEW
Ricardo I PaprockiAustraliaOnyama Limba UNQUALIFIED
Arvin T DoeRussiaAsiya Javayant NEW
Jones Y GillianBrazilBernardo Dominic PROPOSAL
Jones A GarufiItalyAsiya Javayant NEW
Aruna Q RulapaughIndiaXuxue Feng NEW
Aditya I PoquetteUnited KingdomIvan Magalhaes NEW
Juan H StockhamJapanStephen Shaw RENEWAL
David P WieserGermanyIvan Magalhaes UNQUALIFIED
Mujtaba G DoeUnited KingdomStephen Shaw UNQUALIFIED
Jeanfrancois Q StockhamItalyAsiya Javayant NEW
Ricardo P KolmetzCanadaElwin Sharvill NEGOTIATION
Clifford S AlbaresSpainStephen Shaw NEGOTIATION
Cody V GlickAustraliaElwin Sharvill NEGOTIATION
Nicolas H DarakjyArgentinaStephen Shaw PROPOSAL
Claire A SergiArgentinaAsiya Javayant PROPOSAL
Faith Z CaudyArgentinaStephen Shaw PROPOSAL
Maisha U OstroskyJapanIvan Magalhaes NEGOTIATION
Izzy W CampainJapanAmy Elsner QUALIFIED
Aditya V SergiIndiaIvan Magalhaes NEW
Maria M StensethAustraliaBernardo Dominic UNQUALIFIED
Arvin A ShinkoItalyIvan Magalhaes RENEWAL
Octavia R MaletFranceOnyama Limba RENEWAL
Misaki D KuskoRussiaStephen Shaw QUALIFIED
Ashley G MaletAustraliaOnyama Limba UNQUALIFIED
Antonio X GarufiUnited KingdomIvan Magalhaes NEW
James K AmigonArgentinaElwin Sharvill UNQUALIFIED
Clifford S ChuiIndiaOnyama Limba QUALIFIED
Nicolas N FerenczUnited KingdomIoni Bowcher RENEWAL
Munro D IturbideBrazilAnna Fali PROPOSAL
Costa B SaylorsUnited KingdomAsiya Javayant QUALIFIED
Adams S WieserFranceXuxue Feng NEW
Alejandro A ButtAustraliaStephen Shaw NEGOTIATION
Leon N SchemmerAustraliaIvan Magalhaes QUALIFIED
Clifford Y KuskoArgentinaElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Adams X MaletCanadaElwin Sharvill PROPOSAL
Silvio U OstroskyArgentinaBernardo Dominic QUALIFIED
Mujtaba F DarakjyItalyStephen Shaw QUALIFIED
Mujtaba Q AlbaresUnited KingdomOnyama Limba NEW
Nicolas K RulapaughArgentinaOnyama Limba QUALIFIED
Aruna S NickaItalyIoni Bowcher RENEWAL
Nicolas P CaudyFranceIoni Bowcher NEGOTIATION
Ivar B BriddickBrazilBernardo Dominic NEW
Arvin U MacleadFranceAsiya Javayant NEGOTIATION
Aika D MaletGermanyElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair O ShinkoItaly2024-05-20King, Christopher A Esq RENEWAL15Anna Fali
1001Emily O WhobreyAustralia2024-05-28Chanay, Jeffrey A Esq UNQUALIFIED40Ioni Bowcher
1002Arvin U KuskoCanada2024-06-04Printing Dimensions UNQUALIFIED70Bernardo Dominic
1003Johnson Z WaycottArgentina2024-05-30Feiner Bros NEGOTIATION51Asiya Javayant
1004Emily X VocelkaArgentina2024-05-24Rousseaux, Michael Esq QUALIFIED25Ivan Magalhaes
1005Jefferson R GauchoJapan2024-05-24Benton, John B Jr UNQUALIFIED42Amy Elsner
1006Ashley S WieserGermany2024-06-01Morlong Associates UNQUALIFIED65Amy Elsner
1007Aditya H OstroskyJapan2024-06-05Rousseaux, Michael Esq RENEWAL20Asiya Javayant
1008Misaki J IturbideJapan2024-05-18Benton, John B Jr NEW23Ioni Bowcher
1009Kadeem M KuskoUnited Kingdom2024-05-29Morlong Associates UNQUALIFIED89Onyama Limba
1010David E SergiIndia2024-05-20King, Christopher A Esq RENEWAL45Stephen Shaw
1011Silvio T SlusarskiRussia2024-05-24Rangoni Of Florence RENEWAL98Xuxue Feng
1012Sinclair T CaldareraRussia2024-05-18Commercial Press NEW25Asiya Javayant
1013Deepesh E WieserFrance2024-05-20Printing Dimensions UNQUALIFIED61Ivan Magalhaes
1014Misaki P ShinkoIndia2024-06-11Chapman, Ross E Esq RENEWAL44Ivan Magalhaes
1015Munro F SaylorsAustralia2024-05-18Dorl, James J Esq NEW4Stephen Shaw
1016Kaitlin Y MorascaSpain2024-05-19Benton, John B Jr QUALIFIED13Elwin Sharvill
1017Costa H StockhamRussia2024-06-15Feltz Printing Service QUALIFIED55Elwin Sharvill
1018Misaki E FollerSpain2024-05-27Morlong Associates NEGOTIATION86Anna Fali
1019Wickens N ShinkoIndia2024-05-20King, Christopher A Esq NEGOTIATION40Asiya Javayant
1020Murillo R NestleJapan2024-06-10Rangoni Of Florence UNQUALIFIED61Stephen Shaw
1021Cody Y MorascaCanada2024-05-23Rousseaux, Michael Esq UNQUALIFIED67Anna Fali
1022James R SlusarskiJapan2024-05-25Buckley Miller Wright NEW37Onyama Limba
1023Octavia A PerinAustralia2024-05-18Rangoni Of Florence QUALIFIED34Anna Fali
1024Munro S StensethJapan2024-06-04Rousseaux, Michael Esq NEGOTIATION97Xuxue Feng
1025Murillo A NickaCanada2024-06-10Dorl, James J Esq NEW58Bernardo Dominic
1026Ashley R ShinkoFrance2024-05-25Chapman, Ross E Esq NEW0Bernardo Dominic
1027Adams J PaprockiAustralia2024-06-14Printing Dimensions NEGOTIATION33Ioni Bowcher
1028Leon L TollnerSpain2024-05-19Rangoni Of Florence QUALIFIED12Anna Fali
1029Wickens U FlosiCanada2024-05-22Commercial Press UNQUALIFIED49Xuxue Feng
1030Morrow L BowleyCanada2024-06-15King, Christopher A Esq NEGOTIATION62Ivan Magalhaes
1031Emily I FlosiAustralia2024-06-16King, Christopher A Esq QUALIFIED14Ioni Bowcher
1032Francesco O MarrierSpain2024-05-31Rousseaux, Michael Esq NEW44Ioni Bowcher
1033Johnson M FerenczRussia2024-05-24Benton, John B Jr PROPOSAL99Ioni Bowcher
1034Rodrigues V MaletCanada2024-06-08Chanay, Jeffrey A Esq NEGOTIATION32Anna Fali
1035Faith E GarufiAustralia2024-05-20Printing Dimensions UNQUALIFIED12Ivan Magalhaes
1036Jeanfrancois M PoquetteCanada2024-06-06Feiner Bros UNQUALIFIED1Asiya Javayant
1037Izzy H SaylorsAustralia2024-05-25Chemel, James L Cpa QUALIFIED51Amy Elsner
1038Jones L BowleyItaly2024-06-05Chanay, Jeffrey A Esq UNQUALIFIED80Xuxue Feng
1039Costa I GarufiRussia2024-06-05Chemel, James L Cpa RENEWAL34Ioni Bowcher
1040Mayumi B IturbideRussia2024-05-29Chapman, Ross E Esq NEW71Elwin Sharvill
1041Munro L GillianBrazil2024-06-01Chanay, Jeffrey A Esq NEW93Elwin Sharvill
1042Alejandro B RulapaughArgentina2024-06-15Dorl, James J Esq RENEWAL18Ivan Magalhaes
1043Murillo G MaletJapan2024-06-10Buckley Miller Wright NEW7Bernardo Dominic
1044Johnson N OldroydGermany2024-05-26Dorl, James J Esq NEGOTIATION65Stephen Shaw
1045Maria Q MaletCanada2024-06-01Rangoni Of Florence NEGOTIATION73Onyama Limba
1046Stacey Y PerinUnited Kingdom2024-05-28Commercial Press RENEWAL14Elwin Sharvill
1047Mujtaba X OstroskyRussia2024-06-08Printing Dimensions QUALIFIED10Xuxue Feng
1048Salvatore J BologniaUnited Kingdom2024-06-08Benton, John B Jr NEW64Amy Elsner
1049Ivar S ButtArgentina2024-06-12Commercial Press QUALIFIED20Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Jefferson W KolmetzItalyXuxue Feng PROPOSAL
Jeanfrancois B RulapaughAustraliaXuxue Feng QUALIFIED
Francesco Q MaletJapanAmy Elsner QUALIFIED
Juan Q IturbideCanadaXuxue Feng PROPOSAL
Salvatore O FigeroaUnited KingdomBernardo Dominic NEW
Deepesh G FerenczCanadaIvan Magalhaes QUALIFIED
Adams H StensethRussiaIvan Magalhaes QUALIFIED
Ivar N StockhamUnited KingdomIoni Bowcher RENEWAL
Juan R DarakjySpainXuxue Feng NEGOTIATION
Francesco S BriddickUnited KingdomIvan Magalhaes UNQUALIFIED
Maria A DoeJapanAsiya Javayant NEW
Leon L BriddickUnited KingdomOnyama Limba NEGOTIATION
Antonio I FollerCanadaOnyama Limba NEGOTIATION
Tony T FollerArgentinaAmy Elsner UNQUALIFIED
Leon G IturbideBrazilAmy Elsner RENEWAL
Munro U KuskoItalyAmy Elsner NEGOTIATION
Mayumi W BologniaArgentinaIvan Magalhaes PROPOSAL
Stacey S VenereItalyOnyama Limba RENEWAL
Maisha C WieserSpainAnna Fali RENEWAL
Tony I InouyeArgentinaStephen Shaw NEGOTIATION
James P FollerUnited KingdomAnna Fali QUALIFIED
Clifford V SlusarskiJapanIoni Bowcher UNQUALIFIED
Kaitlin A MaletBrazilElwin Sharvill RENEWAL
Emily S GlickGermanyBernardo Dominic NEGOTIATION
Salvatore F DilliardIndiaIoni Bowcher UNQUALIFIED
Mujtaba K RutaBrazilIoni Bowcher NEGOTIATION
Francesco T OldroydCanadaAmy Elsner NEGOTIATION
Ivar G PerinItalyXuxue Feng NEW
Juan X VocelkaUnited KingdomIoni Bowcher RENEWAL
Faith N NestleRussiaOnyama Limba NEGOTIATION
Chavez S BriddickCanadaAmy Elsner UNQUALIFIED
Ricardo R MaletIndiaIvan Magalhaes PROPOSAL
Wickens F ChuiIndiaIoni Bowcher NEW
Claire O WieserBrazilIvan Magalhaes RENEWAL
Aika N DilliardFranceAsiya Javayant QUALIFIED
Alejandro P IturbideSpainIvan Magalhaes UNQUALIFIED
Morrow X PaprockiUnited KingdomElwin Sharvill UNQUALIFIED
Sinclair C MacleadGermanyXuxue Feng PROPOSAL
Arvin Z AlbaresIndiaXuxue Feng NEGOTIATION
Francesco B RimCanadaIoni Bowcher PROPOSAL
David U PaprockiIndiaStephen Shaw PROPOSAL
Salvatore B InouyeIndiaIoni Bowcher NEGOTIATION
Jennifer W WhobreyItalyAnna Fali RENEWAL
Ivar Q AmigonCanadaIvan Magalhaes PROPOSAL
Juan K RimSpainXuxue Feng QUALIFIED
Nicolas E SchemmerUnited KingdomIoni Bowcher RENEWAL
Tony A OstroskyIndiaStephen Shaw PROPOSAL
Munro B PaprockiJapanStephen Shaw NEGOTIATION
Kaitlin P NestleRussiaIoni Bowcher QUALIFIED
Silvio S RulapaughAustraliaXuxue Feng UNQUALIFIED
Frozen Columns
Name
Chavez O Maclead
Izzy N Vocelka
Jennifer O Malet
James B Vocelka
James O Sergi
Kadeem O Wieser
Ricardo E Shinko
Costa L Vocelka
Sinclair Z Ruta
Nicolas D Bolognia
Ashley C Albares
Darci K Maclead
Deepesh Y Perin
Greenwood X Caudy
Ivar F Stockham
Morrow P Figeroa
Adams S Butt
James K Shinko
Alejandro I Caudy
Smith D Shinko
Julie L Albares
Wickens I Foller
Adams R Kusko
Nicolas O Kolmetz
Arvin W Vocelka
Arvin V Nicka
Izzy N Whobrey
Greenwood I Morasca
Francesco W Maclead
Cody Z Ruta
Morrow O Malet
Jennifer I Stockham
Stacey C Briddick
Juan N Royster
Greenwood X Tollner
Sinclair H Wieser
Octavia E Perin
Emily Z Morasca
Cody N Gillian
Faith F Iturbide
Wickens W Nestle
David R Oldroyd
Ricardo T Rulapaugh
Juan V Schemmer
Emily F Maclead
Wickens E Butt
Greenwood C Vocelka
Emily S Foller
Juan F Chui
Ivar Q Figeroa
IdCountryDate
1000Russia2024-06-15
1001United Kingdom2024-06-01
1002Australia2024-05-31
1003Italy2024-06-06
1004Canada2024-05-27
1005Brazil2024-06-01
1006Spain2024-06-09
1007Spain2024-05-24
1008Japan2024-05-26
1009Italy2024-06-04
1010Brazil2024-06-06
1011Germany2024-06-10
1012Spain2024-06-02
1013Spain2024-05-21
1014United Kingdom2024-06-06
1015Germany2024-05-28
1016Argentina2024-06-03
1017Argentina2024-05-25
1018Canada2024-06-03
1019Spain2024-05-28
1020India2024-05-30
1021Argentina2024-05-21
1022Brazil2024-06-15
1023Japan2024-05-21
1024Argentina2024-05-23
1025France2024-06-14
1026Canada2024-05-21
1027Russia2024-05-18
1028Spain2024-06-06
1029Germany2024-05-28
1030Brazil2024-05-18
1031Argentina2024-06-02
1032Japan2024-05-22
1033France2024-05-31
1034Brazil2024-06-10
1035Argentina2024-05-22
1036Germany2024-05-26
1037Italy2024-05-26
1038Argentina2024-06-08
1039Brazil2024-05-19
1040Brazil2024-05-29
1041Russia2024-06-07
1042Japan2024-05-21
1043United Kingdom2024-06-10
1044Canada2024-05-24
1045Germany2024-06-02
1046Italy2024-06-03
1047Spain2024-05-21
1048Spain2024-06-05
1049Canada2024-06-07

On-Demand Data

NameIdCountryDate
Julie F Albares1000France2024-06-05
Cody T Waycott1001Canada2024-05-21
Sinclair T Albares1002Italy2024-05-28
Aditya T Poquette1003Argentina2024-05-31
Darci A Tollner1004Russia2024-06-15
Wickens F Amigon1005India2024-06-12
Aika U Poquette1006France2024-05-21
Aditya J Morasca1007Russia2024-05-23
Maisha U Kusko1008Brazil2024-06-16
Arvin U Glick1009Argentina2024-05-23
Wickens Y Foller1010India2024-05-24
Clifford B Caldarera1011Russia2024-06-01
Salvatore M Glick1012Italy2024-06-11
Isabel L Nestle1013United Kingdom2024-05-20
Ivar O Chui1014Canada2024-06-05
Aditya I Albares1015Australia2024-05-19
Juan Y Figeroa1016Spain2024-05-22
Stacey E Slusarski1017Canada2024-06-08
Silvio I Waycott1018Spain2024-06-10
Aika A Shinko1019Spain2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford Q RoysterJapanBernardo Dominic PROPOSAL
Adams S GauchoGermanyAnna Fali RENEWAL
Costa D MarrierFranceIvan Magalhaes UNQUALIFIED
Salvatore Z SchemmerItalyOnyama Limba QUALIFIED
James H FollerArgentinaAnna Fali QUALIFIED
Francesco F DilliardGermanyXuxue Feng NEW
Jeanfrancois S WhobreyRussiaAnna Fali NEW
Mujtaba D FerenczFranceXuxue Feng NEGOTIATION
Misaki Y KolmetzIndiaAsiya Javayant UNQUALIFIED
David D AlbaresSpainAmy Elsner PROPOSAL
Mayumi G CampainCanadaAnna Fali UNQUALIFIED
Wickens G BowleySpainOnyama Limba QUALIFIED
Aika H DilliardArgentinaIoni Bowcher RENEWAL
Smith R RimUnited KingdomOnyama Limba NEGOTIATION
Maria E BologniaIndiaAsiya Javayant UNQUALIFIED
Chavez O RimGermanyStephen Shaw NEGOTIATION
Juan T MorascaGermanyAmy Elsner QUALIFIED
Johnson T OstroskyBrazilIvan Magalhaes QUALIFIED
Stacey P KolmetzRussiaAnna Fali NEGOTIATION
Alejandro B OldroydIndiaAnna Fali QUALIFIED
Mayumi L CaudyUnited KingdomOnyama Limba NEW
Aika X BriddickUnited KingdomAnna Fali UNQUALIFIED
James Z PaprockiIndiaIvan Magalhaes UNQUALIFIED
Alejandro N OstroskyIndiaOnyama Limba UNQUALIFIED
Alejandro S WhobreyGermanyAmy Elsner UNQUALIFIED
Ivar Y ButtUnited KingdomElwin Sharvill QUALIFIED
Jennifer O WhobreyGermanyBernardo Dominic RENEWAL
Salvatore X VenereRussiaOnyama Limba QUALIFIED
Sinclair X PaprockiGermanyBernardo Dominic QUALIFIED
Leon N BologniaArgentinaIvan Magalhaes PROPOSAL
Silvio J RulapaughAustraliaOnyama Limba NEW
Octavia Q PerinGermanyIvan Magalhaes NEW
Ivar U NestleJapanBernardo Dominic UNQUALIFIED
Jeanfrancois M WhobreyJapanOnyama Limba NEGOTIATION
Jeanfrancois W AlbaresCanadaStephen Shaw NEW
Ivar C SergiFranceIvan Magalhaes NEW
Jeanfrancois E PerinUnited KingdomOnyama Limba QUALIFIED
Munro M GillianIndiaElwin Sharvill RENEWAL
Deepesh V ChuiItalyAmy Elsner NEGOTIATION
Silvio P CaldareraCanadaIvan Magalhaes 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>