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
Tony M GarufiUnited KingdomAsiya Javayant UNQUALIFIED
Octavia R MacleadRussiaAsiya Javayant UNQUALIFIED
Arvin H IturbideRussiaElwin Sharvill UNQUALIFIED
Isabel R BologniaFranceBernardo Dominic RENEWAL
Mujtaba Y DilliardArgentinaAnna Fali RENEWAL
Mayumi O FerenczAustraliaXuxue Feng NEGOTIATION
Leja G WieserJapanAmy Elsner PROPOSAL
Jefferson R CaldareraSpainXuxue Feng PROPOSAL
Aika O CaldareraIndiaStephen Shaw NEGOTIATION
Aruna Z OldroydCanadaOnyama Limba RENEWAL
Jones G AlbaresUnited KingdomOnyama Limba QUALIFIED
Jeanfrancois X GlickArgentinaStephen Shaw PROPOSAL
Darci K VenereGermanyXuxue Feng UNQUALIFIED
Julie N RutaBrazilBernardo Dominic PROPOSAL
Salvatore V WhobreyRussiaAsiya Javayant NEGOTIATION
Morrow Q BriddickBrazilElwin Sharvill RENEWAL
Costa D WieserItalyStephen Shaw QUALIFIED
Juan O NestleFranceElwin Sharvill UNQUALIFIED
James C GillianCanadaIvan Magalhaes NEGOTIATION
Ashley X VocelkaUnited KingdomXuxue Feng NEGOTIATION
Ashley H StensethJapanXuxue Feng NEGOTIATION
Claire B GillianRussiaIvan Magalhaes QUALIFIED
Kadeem C ButtSpainStephen Shaw RENEWAL
Mujtaba B CaudyBrazilIoni Bowcher RENEWAL
Chavez C AmigonItalyAsiya Javayant PROPOSAL
Munro A MorascaItalyBernardo Dominic UNQUALIFIED
Maisha J MorascaFranceBernardo Dominic NEGOTIATION
Izzy M WieserAustraliaAmy Elsner NEW
Morrow T RulapaughSpainIoni Bowcher PROPOSAL
Ricardo U PerinAustraliaElwin Sharvill QUALIFIED
Murillo B DarakjyItalyBernardo Dominic PROPOSAL
Morrow Q VenereSpainAnna Fali UNQUALIFIED
Faith U DilliardRussiaElwin Sharvill NEW
Cody Y IturbideFranceXuxue Feng PROPOSAL
Jefferson S WieserUnited KingdomAmy Elsner PROPOSAL
Chavez G GarufiGermanyAmy Elsner NEW
Aditya Y CampainUnited KingdomIvan Magalhaes NEW
Mujtaba M CampainJapanOnyama Limba NEW
Aika V NickaUnited KingdomElwin Sharvill RENEWAL
Isabel J CaldareraSpainAmy Elsner QUALIFIED
Jones U RutaIndiaAsiya Javayant QUALIFIED
Silvio P MacleadCanadaStephen Shaw RENEWAL
Nicolas L RimGermanyIoni Bowcher QUALIFIED
Jennifer E MacleadAustraliaXuxue Feng UNQUALIFIED
Kadeem D AlbaresBrazilIvan Magalhaes RENEWAL
Leja G BologniaCanadaElwin Sharvill QUALIFIED
Antonio E PoquetteArgentinaStephen Shaw PROPOSAL
Isabel B FollerArgentinaIvan Magalhaes QUALIFIED
Misaki H OstroskyBrazilAnna Fali UNQUALIFIED
Ivar S CaldareraSpainOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Silvio Z CaldareraIndiaAnna Fali NEW
James S WieserBrazilIvan Magalhaes QUALIFIED
Tony L PerinSpainAnna Fali UNQUALIFIED
Ricardo U SaylorsSpainXuxue Feng PROPOSAL
Antonio H DilliardArgentinaOnyama Limba UNQUALIFIED
Smith K CaldareraSpainOnyama Limba QUALIFIED
Ashley K VocelkaFranceAsiya Javayant PROPOSAL
Deepesh B VocelkaItalyIvan Magalhaes QUALIFIED
Maria N AmigonArgentinaAnna Fali UNQUALIFIED
Emily F OstroskyArgentinaIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia Z SchemmerUnited Kingdom2024-06-15Printing Dimensions NEW47Anna Fali
1001Kaitlin T FollerCanada2024-06-04Morlong Associates NEGOTIATION69Asiya Javayant
1002Maisha E CaudyUnited Kingdom2024-05-31Rousseaux, Michael Esq UNQUALIFIED98Anna Fali
1003Chavez J RimFrance2024-06-05Feltz Printing Service RENEWAL25Bernardo Dominic
1004Costa L FollerBrazil2024-06-09Printing Dimensions QUALIFIED56Asiya Javayant
1005Mayumi I KolmetzUnited Kingdom2024-06-15Rousseaux, Michael Esq NEW8Xuxue Feng
1006Kadeem U OstroskyCanada2024-06-04Printing Dimensions QUALIFIED54Stephen Shaw
1007Ashley B GlickRussia2024-06-10Rangoni Of Florence QUALIFIED11Ivan Magalhaes
1008Alejandro C GlickUnited Kingdom2024-06-04Feltz Printing Service RENEWAL99Onyama Limba
1009Leon C GarufiItaly2024-05-24Morlong Associates NEGOTIATION48Elwin Sharvill
1010Maria P SlusarskiArgentina2024-05-28Printing Dimensions UNQUALIFIED94Stephen Shaw
1011Aditya W SlusarskiCanada2024-06-18Rousseaux, Michael Esq RENEWAL88Asiya Javayant
1012Munro K MarrierJapan2024-06-08Rousseaux, Michael Esq UNQUALIFIED96Asiya Javayant
1013Kaitlin I RoysterGermany2024-06-09Chanay, Jeffrey A Esq QUALIFIED24Asiya Javayant
1014Aika N BowleyItaly2024-05-23Benton, John B Jr NEGOTIATION63Ivan Magalhaes
1015Antonio X GillianUnited Kingdom2024-06-05King, Christopher A Esq UNQUALIFIED39Asiya Javayant
1016Adams G DilliardCanada2024-05-27Morlong Associates NEGOTIATION73Bernardo Dominic
1017Sinclair I WaycottAustralia2024-06-21Feiner Bros QUALIFIED60Stephen Shaw
1018Smith H GillianGermany2024-06-19Chapman, Ross E Esq QUALIFIED97Anna Fali
1019Kaitlin R WhobreyAustralia2024-06-12Rousseaux, Michael Esq NEW6Bernardo Dominic
1020Juan M SlusarskiFrance2024-06-12Morlong Associates PROPOSAL58Anna Fali
1021Nicolas T ButtJapan2024-05-23Chanay, Jeffrey A Esq NEW40Amy Elsner
1022Izzy G WaycottIndia2024-06-03Feltz Printing Service RENEWAL71Anna Fali
1023Silvio D OstroskyIndia2024-06-08Dorl, James J Esq PROPOSAL21Elwin Sharvill
1024Silvio U SlusarskiGermany2024-06-18Chemel, James L Cpa NEW44Bernardo Dominic
1025Kadeem G SchemmerFrance2024-06-02Rousseaux, Michael Esq QUALIFIED16Ivan Magalhaes
1026Faith O SlusarskiGermany2024-06-01Benton, John B Jr RENEWAL11Elwin Sharvill
1027Mujtaba R FerenczAustralia2024-06-09Commercial Press RENEWAL38Xuxue Feng
1028Silvio P SlusarskiIndia2024-06-19Feltz Printing Service RENEWAL9Ioni Bowcher
1029Sinclair Q ShinkoCanada2024-05-27Feltz Printing Service NEGOTIATION77Onyama Limba
1030Greenwood J NickaAustralia2024-05-30Dorl, James J Esq UNQUALIFIED28Onyama Limba
1031Mujtaba N GlickArgentina2024-06-06Commercial Press UNQUALIFIED23Elwin Sharvill
1032Ashley Z CampainGermany2024-05-28Chapman, Ross E Esq PROPOSAL76Stephen Shaw
1033Antonio L MorascaItaly2024-06-19Truhlar And Truhlar Attys PROPOSAL90Stephen Shaw
1034Jones G BowleyGermany2024-06-06Commercial Press RENEWAL78Bernardo Dominic
1035Jennifer C RoysterArgentina2024-06-10Feiner Bros RENEWAL61Onyama Limba
1036Murillo U PerinRussia2024-06-16Printing Dimensions RENEWAL11Elwin Sharvill
1037Jennifer C BriddickJapan2024-05-25Chemel, James L Cpa NEGOTIATION7Elwin Sharvill
1038Mayumi N KolmetzIndia2024-05-31King, Christopher A Esq UNQUALIFIED24Amy Elsner
1039Adams S BowleyJapan2024-06-11Printing Dimensions QUALIFIED41Ivan Magalhaes
1040Ivar M KolmetzBrazil2024-06-11Morlong Associates RENEWAL32Stephen Shaw
1041Sinclair V FlosiUnited Kingdom2024-05-26Feiner Bros UNQUALIFIED88Anna Fali
1042James N ShinkoArgentina2024-05-31Printing Dimensions RENEWAL85Ioni Bowcher
1043Costa X ChuiFrance2024-06-04Printing Dimensions NEW18Onyama Limba
1044Faith Y DilliardArgentina2024-06-15Rangoni Of Florence QUALIFIED90Asiya Javayant
1045David P FollerCanada2024-06-14Commercial Press RENEWAL37Asiya Javayant
1046Alejandro C SchemmerJapan2024-05-24Buckley Miller Wright PROPOSAL76Asiya Javayant
1047Darci S SchemmerBrazil2024-06-08Truhlar And Truhlar Attys QUALIFIED16Stephen Shaw
1048Smith Y CaldareraJapan2024-06-11Chanay, Jeffrey A Esq NEGOTIATION62Stephen Shaw
1049Isabel F RoysterRussia2024-06-11Buckley Miller Wright NEW95Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Silvio O MorascaGermanyAmy Elsner QUALIFIED
Mayumi Z RimArgentinaStephen Shaw UNQUALIFIED
Aruna V OldroydFranceIvan Magalhaes UNQUALIFIED
Salvatore W IturbideArgentinaBernardo Dominic NEGOTIATION
Costa M MarrierUnited KingdomElwin Sharvill RENEWAL
Mujtaba P MaletGermanyXuxue Feng QUALIFIED
Faith Z CaldareraBrazilElwin Sharvill UNQUALIFIED
Maisha B AlbaresCanadaElwin Sharvill RENEWAL
Francesco A MaletBrazilAnna Fali RENEWAL
Francesco U SaylorsBrazilAsiya Javayant NEGOTIATION
Murillo U GillianItalyAmy Elsner PROPOSAL
Jeanfrancois E CaldareraItalyAnna Fali NEW
Ashley W OldroydAustraliaStephen Shaw QUALIFIED
Ashley H WaycottRussiaIoni Bowcher UNQUALIFIED
Leon X FerenczAustraliaIvan Magalhaes QUALIFIED
Stacey C DoeJapanAmy Elsner NEGOTIATION
Aika F SchemmerIndiaStephen Shaw PROPOSAL
Maria E FigeroaBrazilBernardo Dominic PROPOSAL
Jones R VocelkaArgentinaStephen Shaw RENEWAL
Leon O RimGermanyIoni Bowcher NEW
Claire H PaprockiSpainXuxue Feng RENEWAL
James R OldroydGermanyXuxue Feng RENEWAL
James X KuskoRussiaAsiya Javayant UNQUALIFIED
Jefferson H BowleyUnited KingdomIoni Bowcher UNQUALIFIED
Antonio P RoysterAustraliaElwin Sharvill UNQUALIFIED
Faith E MarrierAustraliaIvan Magalhaes NEW
Leja S OldroydBrazilElwin Sharvill RENEWAL
David M ShinkoBrazilElwin Sharvill RENEWAL
Francesco U WhobreyJapanIvan Magalhaes PROPOSAL
Tony Q DilliardUnited KingdomIoni Bowcher NEW
Ricardo V WieserBrazilIoni Bowcher RENEWAL
Aditya C RulapaughItalyElwin Sharvill PROPOSAL
Clifford O OstroskyIndiaXuxue Feng RENEWAL
James E InouyeFranceXuxue Feng RENEWAL
Sinclair H BriddickItalyAmy Elsner PROPOSAL
Aditya B WhobreyGermanyBernardo Dominic NEW
Aruna Y CaudyItalyOnyama Limba UNQUALIFIED
Johnson F StockhamSpainBernardo Dominic UNQUALIFIED
Maria R InouyeJapanElwin Sharvill NEGOTIATION
Salvatore B KolmetzBrazilOnyama Limba UNQUALIFIED
Aruna W SlusarskiJapanOnyama Limba RENEWAL
Faith Z BowleyItalyIvan Magalhaes NEGOTIATION
Jefferson W NickaAustraliaAsiya Javayant UNQUALIFIED
Ashley B MaletGermanyStephen Shaw PROPOSAL
Aditya V InouyeRussiaElwin Sharvill NEGOTIATION
Kaitlin W ButtFranceAsiya Javayant RENEWAL
Clifford K SlusarskiUnited KingdomAsiya Javayant NEW
Octavia T PerinBrazilIoni Bowcher PROPOSAL
Alejandro U VenereIndiaStephen Shaw NEGOTIATION
Adams F SchemmerGermanyIvan Magalhaes RENEWAL
Frozen Columns
Name
Adams J Garufi
Arvin A Rim
Antonio P Inouye
Aruna Q Maclead
Maria N Malet
Antonio X Kusko
Johnson E Rulapaugh
Leon A Stockham
Izzy F Figeroa
Munro H Doe
Misaki K Wieser
Salvatore Y Ferencz
Aika N Bowley
Arvin Z Venere
Octavia E Venere
Clifford H Foller
Jennifer C Campain
Adams J Gillian
Murillo I Venere
Isabel L Wieser
Juan M Slusarski
Mujtaba R Ferencz
Ashley B Maclead
Clifford E Garufi
Sinclair B Kusko
Mayumi U Venere
Kadeem S Briddick
Claire Q Malet
Juan J Chui
Faith D Ruta
Rodrigues S Darakjy
Sinclair M Perin
Smith G Vocelka
Aika Y Inouye
Smith H Flosi
Stacey B Malet
Adams I Iturbide
Clifford W Gaucho
Stacey S Caudy
Aika J Malet
Smith S Nestle
Rodrigues N Kusko
Alejandro F Nicka
Johnson Z Figeroa
Claire N Bolognia
Mujtaba X Slusarski
Francesco W Slusarski
James F Perin
Francesco D Kolmetz
Munro Q Foller
IdCountryDate
1000Australia2024-06-17
1001Brazil2024-06-05
1002France2024-06-19
1003Canada2024-06-09
1004Argentina2024-05-29
1005Canada2024-06-18
1006Australia2024-05-25
1007Argentina2024-06-08
1008Russia2024-05-24
1009Argentina2024-06-10
1010Russia2024-06-06
1011India2024-06-09
1012Germany2024-05-27
1013Canada2024-05-26
1014Italy2024-05-31
1015Australia2024-05-26
1016Canada2024-06-21
1017Russia2024-06-04
1018United Kingdom2024-05-25
1019Italy2024-06-01
1020Canada2024-06-05
1021Brazil2024-06-01
1022Italy2024-06-08
1023India2024-06-09
1024Spain2024-06-08
1025Argentina2024-06-14
1026France2024-05-23
1027United Kingdom2024-06-09
1028Russia2024-06-07
1029Brazil2024-06-09
1030United Kingdom2024-06-06
1031France2024-06-06
1032Spain2024-05-31
1033Australia2024-05-31
1034United Kingdom2024-06-19
1035Argentina2024-05-23
1036United Kingdom2024-05-29
1037United Kingdom2024-05-27
1038Germany2024-05-27
1039Australia2024-05-30
1040Brazil2024-06-18
1041Spain2024-06-07
1042Australia2024-06-12
1043Brazil2024-06-11
1044Argentina2024-06-11
1045Spain2024-06-20
1046Russia2024-06-15
1047Spain2024-06-19
1048Spain2024-05-31
1049Japan2024-06-13

On-Demand Data

NameIdCountryDate
Aika J Malet1000India2024-06-10
Sinclair H Nestle1001Argentina2024-05-26
Aruna A Figeroa1002Australia2024-06-08
Deepesh M Saylors1003Italy2024-05-30
Mayumi P Malet1004Spain2024-06-01
Nicolas F Kusko1005Argentina2024-06-03
Jones S Albares1006Italy2024-06-08
Cody Z Royster1007United Kingdom2024-06-09
Ashley J Waycott1008Australia2024-05-28
Mayumi V Maclead1009Canada2024-05-28
Nicolas Q Malet1010United Kingdom2024-06-20
Nicolas D Rim1011Germany2024-06-11
Maisha K Foller1012Canada2024-06-03
Johnson Q Nicka1013India2024-06-16
Rodrigues W Inouye1014Australia2024-05-29
Adams K Foller1015India2024-06-05
Izzy T Nestle1016Japan2024-06-06
Izzy L Poquette1017Spain2024-06-16
Alejandro I Chui1018Russia2024-06-15
Kaitlin Q Inouye1019Japan2024-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh W ButtJapanAsiya Javayant NEW
Cody G AmigonFranceAmy Elsner PROPOSAL
Rodrigues E GarufiBrazilStephen Shaw RENEWAL
Costa X OstroskyCanadaXuxue Feng UNQUALIFIED
Aika Q FigeroaArgentinaIvan Magalhaes UNQUALIFIED
Jefferson V CaldareraRussiaXuxue Feng QUALIFIED
Aruna E PoquetteIndiaStephen Shaw NEGOTIATION
Cody C BologniaItalyAnna Fali NEW
Chavez J InouyeCanadaIoni Bowcher NEGOTIATION
Ivar X GillianFranceStephen Shaw QUALIFIED
Faith V VocelkaSpainIoni Bowcher NEW
Murillo Q AmigonJapanAsiya Javayant PROPOSAL
Misaki A SlusarskiRussiaAmy Elsner RENEWAL
Antonio W CampainUnited KingdomIoni Bowcher QUALIFIED
Jefferson R GillianSpainAnna Fali QUALIFIED
Aditya D GarufiJapanAnna Fali QUALIFIED
Jones Q CampainItalyAnna Fali PROPOSAL
Nicolas T IturbideJapanXuxue Feng RENEWAL
Isabel U StensethItalyElwin Sharvill NEGOTIATION
Kaitlin J SchemmerBrazilIvan Magalhaes UNQUALIFIED
Stacey W PoquetteItalyElwin Sharvill RENEWAL
Salvatore N ChuiRussiaElwin Sharvill QUALIFIED
Stacey G GarufiIndiaOnyama Limba NEW
Ivar H NickaJapanAsiya Javayant NEW
Morrow W MaletArgentinaAmy Elsner UNQUALIFIED
Stacey V CaldareraArgentinaStephen Shaw PROPOSAL
Kadeem O StensethCanadaAnna Fali RENEWAL
Jennifer M RulapaughSpainElwin Sharvill RENEWAL
Aditya C GauchoGermanyStephen Shaw PROPOSAL
Jones D SaylorsAustraliaBernardo Dominic NEW
Faith E BriddickJapanAmy Elsner NEGOTIATION
Emily H BologniaJapanAmy Elsner NEGOTIATION
Aditya L CaldareraCanadaBernardo Dominic NEW
Jefferson Z KuskoRussiaAmy Elsner NEW
Claire T GauchoJapanIvan Magalhaes PROPOSAL
Costa Q PerinAustraliaIvan Magalhaes UNQUALIFIED
James T SlusarskiRussiaAmy Elsner NEW
Smith P VocelkaAustraliaStephen Shaw NEW
Maria Y CaldareraCanadaBernardo Dominic UNQUALIFIED
Ivar Z OstroskyArgentinaXuxue Feng PROPOSAL

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