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
David J ChuiJapanAsiya Javayant UNQUALIFIED
Julie Y FerenczIndiaIoni Bowcher QUALIFIED
Jones J GauchoRussiaStephen Shaw RENEWAL
Munro K VocelkaArgentinaIvan Magalhaes UNQUALIFIED
Murillo F DilliardCanadaBernardo Dominic RENEWAL
Munro U GarufiJapanStephen Shaw RENEWAL
Munro I VocelkaArgentinaIoni Bowcher NEW
Mujtaba O FollerIndiaBernardo Dominic RENEWAL
Maria N MaletCanadaAsiya Javayant NEW
Smith O ChuiBrazilBernardo Dominic NEGOTIATION
Jefferson X SaylorsJapanAsiya Javayant NEGOTIATION
Smith V MaletIndiaAmy Elsner PROPOSAL
Jones E InouyeJapanAsiya Javayant QUALIFIED
David T ButtFranceIvan Magalhaes NEGOTIATION
Arvin L DarakjyUnited KingdomIvan Magalhaes RENEWAL
Darci J VenereAustraliaAsiya Javayant RENEWAL
Deepesh F BologniaSpainOnyama Limba NEW
Smith S SchemmerSpainIoni Bowcher NEGOTIATION
Antonio B GarufiArgentinaAmy Elsner PROPOSAL
Mayumi K WaycottJapanStephen Shaw RENEWAL
Mayumi I RimUnited KingdomAmy Elsner NEW
Sinclair H StockhamSpainIvan Magalhaes PROPOSAL
David A KolmetzCanadaStephen Shaw QUALIFIED
Tony D OldroydJapanIoni Bowcher RENEWAL
Wickens M WhobreyArgentinaElwin Sharvill QUALIFIED
Maisha H RutaCanadaAnna Fali UNQUALIFIED
Isabel F KolmetzGermanyAnna Fali UNQUALIFIED
Costa B CampainUnited KingdomXuxue Feng QUALIFIED
Darci J BriddickAustraliaAsiya Javayant NEW
Aditya Y InouyeGermanyBernardo Dominic RENEWAL
Ricardo X RimIndiaXuxue Feng NEGOTIATION
Aika S ButtGermanyIoni Bowcher UNQUALIFIED
Leon M DilliardCanadaOnyama Limba RENEWAL
Munro F MaletAustraliaXuxue Feng NEW
Mayumi E GlickIndiaElwin Sharvill NEGOTIATION
Arvin G MarrierJapanBernardo Dominic NEGOTIATION
Rodrigues A NestleCanadaAmy Elsner NEGOTIATION
Smith B DilliardUnited KingdomAnna Fali NEW
Costa M AmigonIndiaAsiya Javayant NEW
Arvin X GillianUnited KingdomBernardo Dominic NEW
Clifford F DarakjySpainIoni Bowcher QUALIFIED
Jefferson O PaprockiArgentinaIvan Magalhaes QUALIFIED
Clifford E AmigonFranceOnyama Limba NEGOTIATION
Adams F DoeFranceIvan Magalhaes PROPOSAL
Johnson Q RimUnited KingdomIvan Magalhaes NEW
Isabel C MacleadArgentinaOnyama Limba PROPOSAL
Darci C AmigonGermanyXuxue Feng UNQUALIFIED
Emily E DilliardGermanyBernardo Dominic NEW
Faith O RutaArgentinaStephen Shaw NEW
Leja F RoysterAustraliaElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maria M NestleGermanyStephen Shaw NEW
David Y WhobreyIndiaStephen Shaw QUALIFIED
Smith K KuskoGermanyElwin Sharvill NEW
Nicolas O TollnerIndiaElwin Sharvill NEGOTIATION
Mayumi J VocelkaIndiaIoni Bowcher QUALIFIED
Ricardo F StockhamRussiaOnyama Limba NEGOTIATION
Ashley I OstroskyAustraliaAmy Elsner PROPOSAL
Arvin L KolmetzJapanAsiya Javayant QUALIFIED
Jefferson G MorascaItalyIvan Magalhaes UNQUALIFIED
James Y FlosiCanadaStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio Z BologniaRussia2024-06-04Chapman, Ross E Esq NEW38Asiya Javayant
1001Arvin Z NestleJapan2024-06-19Chemel, James L Cpa NEW15Ivan Magalhaes
1002Maria L VenereJapan2024-06-17Chapman, Ross E Esq QUALIFIED58Asiya Javayant
1003Mujtaba I ButtArgentina2024-06-11Chemel, James L Cpa QUALIFIED31Ioni Bowcher
1004Rodrigues H StensethFrance2024-06-02Rousseaux, Michael Esq UNQUALIFIED77Bernardo Dominic
1005Wickens Z TollnerItaly2024-05-24Chemel, James L Cpa QUALIFIED5Stephen Shaw
1006Wickens S FigeroaGermany2024-05-24Feiner Bros UNQUALIFIED13Amy Elsner
1007Wickens Y VenereJapan2024-06-06Rousseaux, Michael Esq UNQUALIFIED55Onyama Limba
1008Aika O GillianArgentina2024-06-15Dorl, James J Esq PROPOSAL67Ivan Magalhaes
1009Clifford C SchemmerSpain2024-06-21Chanay, Jeffrey A Esq QUALIFIED99Amy Elsner
1010Smith L CaudyBrazil2024-06-03Dorl, James J Esq NEW70Stephen Shaw
1011Smith D GillianFrance2024-06-18Feiner Bros RENEWAL36Amy Elsner
1012Emily R WhobreyCanada2024-05-27Rousseaux, Michael Esq NEGOTIATION27Stephen Shaw
1013Maisha K ChuiCanada2024-06-04Rousseaux, Michael Esq NEW60Amy Elsner
1014Silvio J SchemmerAustralia2024-06-20Printing Dimensions NEW94Elwin Sharvill
1015Johnson C MacleadJapan2024-05-28Feiner Bros PROPOSAL56Ivan Magalhaes
1016Aditya J AlbaresBrazil2024-05-30Commercial Press NEW37Onyama Limba
1017Wickens Q RoysterBrazil2024-06-03Printing Dimensions RENEWAL29Amy Elsner
1018Ricardo C PerinArgentina2024-05-25Benton, John B Jr NEW55Bernardo Dominic
1019Claire H PerinItaly2024-05-26Printing Dimensions UNQUALIFIED30Onyama Limba
1020David O RutaSpain2024-05-28Printing Dimensions RENEWAL73Ivan Magalhaes
1021Jones J ShinkoSpain2024-05-27Morlong Associates RENEWAL25Xuxue Feng
1022David U BriddickAustralia2024-06-13Morlong Associates UNQUALIFIED31Onyama Limba
1023Julie Z CaudyItaly2024-06-05Benton, John B Jr RENEWAL22Amy Elsner
1024Jennifer J CaudyCanada2024-05-30King, Christopher A Esq NEW79Asiya Javayant
1025Kaitlin P FollerArgentina2024-06-19Rangoni Of Florence PROPOSAL26Bernardo Dominic
1026Octavia S DoeItaly2024-05-27Printing Dimensions NEGOTIATION57Xuxue Feng
1027Munro Z SergiIndia2024-06-18Chanay, Jeffrey A Esq NEW1Bernardo Dominic
1028Julie X FlosiFrance2024-06-09Rangoni Of Florence RENEWAL68Onyama Limba
1029Aika P RutaItaly2024-06-09Feiner Bros RENEWAL95Ivan Magalhaes
1030Wickens F VenereBrazil2024-06-03Feiner Bros NEGOTIATION5Xuxue Feng
1031Kaitlin L RimGermany2024-06-13Printing Dimensions UNQUALIFIED1Anna Fali
1032Ricardo K SlusarskiArgentina2024-06-06Rousseaux, Michael Esq RENEWAL36Anna Fali
1033Rodrigues N MacleadJapan2024-05-27Truhlar And Truhlar Attys RENEWAL58Elwin Sharvill
1034Ivar K FollerIndia2024-05-28Rousseaux, Michael Esq PROPOSAL89Xuxue Feng
1035Salvatore E PoquetteIndia2024-05-26Rousseaux, Michael Esq NEGOTIATION42Ioni Bowcher
1036Octavia R WieserCanada2024-05-28Buckley Miller Wright QUALIFIED91Stephen Shaw
1037Johnson S BowleyAustralia2024-06-15Printing Dimensions PROPOSAL80Elwin Sharvill
1038Clifford F BriddickAustralia2024-05-28Benton, John B Jr NEGOTIATION93Stephen Shaw
1039Rodrigues A WieserFrance2024-06-05Chemel, James L Cpa RENEWAL58Asiya Javayant
1040Arvin B MaletAustralia2024-06-12Commercial Press UNQUALIFIED66Onyama Limba
1041Sinclair E BowleyUnited Kingdom2024-06-16Buckley Miller Wright QUALIFIED51Ivan Magalhaes
1042Maria S SchemmerUnited Kingdom2024-05-25Feiner Bros UNQUALIFIED5Anna Fali
1043Aika M DoeSpain2024-06-11Chanay, Jeffrey A Esq NEGOTIATION24Elwin Sharvill
1044Misaki B FigeroaSpain2024-06-02Dorl, James J Esq PROPOSAL9Stephen Shaw
1045Costa U BriddickIndia2024-06-06Feiner Bros QUALIFIED82Asiya Javayant
1046Emily N SlusarskiSpain2024-05-23Commercial Press UNQUALIFIED92Stephen Shaw
1047Sinclair M TollnerSpain2024-06-02Printing Dimensions NEW99Onyama Limba
1048Faith N GillianArgentina2024-05-23Chemel, James L Cpa RENEWAL54Ioni Bowcher
1049Nicolas S VocelkaIndia2024-05-29Chanay, Jeffrey A Esq PROPOSAL15Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Ricardo V TollnerSpainIoni Bowcher NEW
Darci C RimUnited KingdomOnyama Limba RENEWAL
Maria N CaudyRussiaIvan Magalhaes NEW
Morrow U RulapaughGermanyAnna Fali UNQUALIFIED
Maria J WhobreyAustraliaAsiya Javayant UNQUALIFIED
Greenwood M FlosiBrazilBernardo Dominic PROPOSAL
Sinclair Z StockhamBrazilXuxue Feng UNQUALIFIED
Clifford R CampainRussiaIoni Bowcher NEGOTIATION
Francesco U CaudyBrazilXuxue Feng UNQUALIFIED
Aruna I SlusarskiUnited KingdomIvan Magalhaes QUALIFIED
Alejandro F WaycottFranceElwin Sharvill NEW
Morrow X MarrierGermanyAnna Fali QUALIFIED
Greenwood L WieserCanadaAnna Fali NEW
Francesco K RulapaughBrazilIoni Bowcher NEGOTIATION
Kadeem Q ShinkoRussiaStephen Shaw RENEWAL
Jones J MaletJapanAmy Elsner UNQUALIFIED
Clifford N StockhamUnited KingdomAmy Elsner PROPOSAL
Jefferson O WhobreyRussiaIoni Bowcher UNQUALIFIED
Ricardo W WhobreyRussiaIoni Bowcher UNQUALIFIED
Clifford X FerenczAustraliaXuxue Feng UNQUALIFIED
David C NickaUnited KingdomAsiya Javayant QUALIFIED
Kaitlin X WhobreySpainIoni Bowcher NEGOTIATION
Cody O NickaGermanyAsiya Javayant UNQUALIFIED
Clifford H GarufiItalyBernardo Dominic UNQUALIFIED
Aruna Y ShinkoUnited KingdomBernardo Dominic NEGOTIATION
Francesco V IturbideRussiaAmy Elsner NEW
Kaitlin I OldroydCanadaAsiya Javayant PROPOSAL
Leja M FerenczBrazilIvan Magalhaes QUALIFIED
Julie G StensethItalyOnyama Limba NEW
Izzy C DilliardAustraliaOnyama Limba RENEWAL
Emily H TollnerUnited KingdomAnna Fali NEW
Rodrigues P MacleadGermanyStephen Shaw PROPOSAL
Salvatore F WaycottGermanyAsiya Javayant PROPOSAL
Alejandro H BowleyBrazilIvan Magalhaes NEW
Kadeem L RulapaughAustraliaIoni Bowcher QUALIFIED
Isabel V FigeroaUnited KingdomOnyama Limba PROPOSAL
Kadeem P KolmetzSpainAsiya Javayant NEW
Jennifer A DoeGermanyStephen Shaw RENEWAL
Leon V ChuiGermanyIoni Bowcher PROPOSAL
Tony N FerenczAustraliaXuxue Feng PROPOSAL
Costa G OstroskyJapanXuxue Feng NEGOTIATION
Chavez N PaprockiJapanIvan Magalhaes NEW
Jennifer S WaycottCanadaBernardo Dominic PROPOSAL
Antonio K ButtIndiaOnyama Limba NEW
Jones Y FerenczItalyIvan Magalhaes RENEWAL
James P WhobreyRussiaAnna Fali QUALIFIED
Misaki Q PoquetteIndiaIoni Bowcher NEGOTIATION
Munro O PaprockiRussiaAsiya Javayant UNQUALIFIED
Tony E AlbaresItalyIoni Bowcher QUALIFIED
Jeanfrancois E SlusarskiJapanOnyama Limba NEGOTIATION
Frozen Columns
Name
Claire Y Dilliard
Morrow H Whobrey
Leon P Bolognia
David M Gaucho
Cody C Caudy
Maisha W Foller
Maisha V Darakjy
Munro C Wieser
Antonio C Waycott
Murillo N Poquette
Darci A Morasca
Jeanfrancois E Ferencz
Octavia H Saylors
Arvin H Malet
Smith C Marrier
Chavez G Inouye
Deepesh W Ferencz
Johnson H Vocelka
Ricardo U Caldarera
Chavez L Rulapaugh
Leja P Nestle
Maisha G Kolmetz
Johnson M Gaucho
Jefferson F Gillian
Mayumi K Maclead
James A Saylors
Octavia T Amigon
Rodrigues L Flosi
Izzy H Morasca
Aika Y Sergi
Leja F Perin
Juan V Stenseth
Isabel P Malet
Chavez F Maclead
Murillo J Bowley
Jeanfrancois D Nestle
Sinclair W Nestle
Mayumi M Shinko
Stacey X Royster
Ricardo F Foller
Misaki K Poquette
Emily M Whobrey
Smith K Shinko
Stacey M Rim
Izzy B Poquette
Deepesh R Bolognia
Juan M Nestle
Juan Y Darakjy
Tony L Venere
Jennifer C Saylors
IdCountryDate
1000Germany2024-05-24
1001United Kingdom2024-06-19
1002Argentina2024-06-17
1003Italy2024-06-12
1004Brazil2024-05-28
1005Japan2024-05-24
1006United Kingdom2024-06-05
1007Japan2024-06-20
1008United Kingdom2024-05-25
1009Australia2024-06-01
1010Italy2024-06-07
1011Italy2024-06-03
1012Russia2024-05-27
1013France2024-05-28
1014Argentina2024-06-10
1015Russia2024-06-04
1016United Kingdom2024-06-05
1017France2024-05-29
1018Russia2024-06-09
1019India2024-06-06
1020Russia2024-06-11
1021Canada2024-06-04
1022Australia2024-06-19
1023India2024-06-11
1024Canada2024-06-14
1025Argentina2024-06-14
1026United Kingdom2024-06-15
1027Spain2024-05-28
1028Canada2024-06-20
1029France2024-06-03
1030Spain2024-06-02
1031India2024-06-02
1032Spain2024-05-29
1033Australia2024-06-13
1034United Kingdom2024-05-26
1035United Kingdom2024-06-01
1036Spain2024-05-29
1037Canada2024-06-12
1038Japan2024-06-19
1039Russia2024-05-31
1040France2024-05-31
1041Spain2024-06-09
1042India2024-06-21
1043Canada2024-06-14
1044Argentina2024-06-06
1045Italy2024-06-13
1046Australia2024-06-06
1047Italy2024-06-11
1048Canada2024-06-11
1049Russia2024-05-29

On-Demand Data

NameIdCountryDate
Morrow S Slusarski1000Russia2024-06-11
Greenwood T Oldroyd1001France2024-06-21
Maisha C Nestle1002Canada2024-06-14
Isabel H Stockham1003Spain2024-05-31
Chavez W Rim1004Canada2024-06-06
Murillo Y Garufi1005Germany2024-05-25
Julie H Tollner1006Italy2024-06-13
Aika H Doe1007Japan2024-06-10
Isabel J Royster1008Italy2024-06-01
Smith K Nicka1009Brazil2024-06-07
Tony T Chui1010Argentina2024-06-07
Juan R Foller1011Argentina2024-06-08
Aditya V Bolognia1012Argentina2024-06-08
Claire O Rim1013Argentina2024-06-03
Costa M Stenseth1014Spain2024-06-03
Tony P Amigon1015United Kingdom2024-05-29
Antonio X Venere1016Germany2024-05-28
Francesco K Darakjy1017Canada2024-06-21
Adams J Saylors1018Canada2024-06-21
Wickens W Rim1019Australia2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony K MaletItalyStephen Shaw QUALIFIED
Deepesh R SchemmerItalyAmy Elsner UNQUALIFIED
Aditya V RoysterCanadaAnna Fali PROPOSAL
Wickens O GarufiSpainAsiya Javayant PROPOSAL
Kadeem V CampainRussiaStephen Shaw RENEWAL
Jeanfrancois G PaprockiRussiaOnyama Limba UNQUALIFIED
Aika S OldroydUnited KingdomAmy Elsner QUALIFIED
Aruna S WhobreyCanadaAnna Fali QUALIFIED
Kaitlin X PoquetteUnited KingdomElwin Sharvill UNQUALIFIED
Claire C CampainGermanyXuxue Feng UNQUALIFIED
Jeanfrancois V SlusarskiUnited KingdomOnyama Limba UNQUALIFIED
Stacey C MorascaUnited KingdomIvan Magalhaes UNQUALIFIED
Kadeem E SaylorsFranceAmy Elsner UNQUALIFIED
Munro M CampainArgentinaBernardo Dominic UNQUALIFIED
David T RulapaughRussiaStephen Shaw UNQUALIFIED
Ivar K RutaAustraliaBernardo Dominic UNQUALIFIED
Wickens I InouyeJapanAsiya Javayant PROPOSAL
Chavez F ChuiIndiaXuxue Feng QUALIFIED
Faith C WieserUnited KingdomAsiya Javayant RENEWAL
Ricardo U BologniaSpainAmy Elsner PROPOSAL
Leja G InouyeAustraliaAmy Elsner PROPOSAL
Munro O IturbideBrazilIvan Magalhaes UNQUALIFIED
Aditya G GlickItalyXuxue Feng NEGOTIATION
Silvio L IturbideBrazilStephen Shaw UNQUALIFIED
Faith D CampainRussiaAnna Fali UNQUALIFIED
Stacey N VenereJapanXuxue Feng PROPOSAL
Chavez F SergiJapanIoni Bowcher PROPOSAL
Octavia Y CampainCanadaXuxue Feng NEW
Adams W KolmetzIndiaIvan Magalhaes NEW
Arvin B ButtCanadaElwin Sharvill NEGOTIATION
Nicolas V NickaRussiaXuxue Feng PROPOSAL
Sinclair W AmigonJapanAmy Elsner QUALIFIED
Kaitlin M MorascaGermanyStephen Shaw RENEWAL
James L RoysterRussiaOnyama Limba QUALIFIED
David S SergiSpainIvan Magalhaes UNQUALIFIED
Sinclair R RutaGermanyIoni Bowcher NEW
Cody B GauchoCanadaAmy Elsner QUALIFIED
Leja Z MorascaIndiaXuxue Feng PROPOSAL
James T BriddickUnited KingdomAmy Elsner RENEWAL
Ricardo G BologniaArgentinaStephen Shaw 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>