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
Mayumi X AlbaresAustraliaIoni Bowcher PROPOSAL
Nicolas I MaletRussiaOnyama Limba PROPOSAL
Silvio P ShinkoRussiaStephen Shaw NEGOTIATION
Adams S VenereRussiaElwin Sharvill QUALIFIED
Johnson U NestleJapanIvan Magalhaes UNQUALIFIED
Claire Z TollnerArgentinaAmy Elsner PROPOSAL
Stacey S FigeroaCanadaBernardo Dominic NEGOTIATION
Kadeem K MacleadItalyAmy Elsner NEGOTIATION
Faith Z DilliardUnited KingdomOnyama Limba NEGOTIATION
Arvin F RutaUnited KingdomAmy Elsner NEW
James C KolmetzRussiaOnyama Limba QUALIFIED
Izzy O ShinkoAustraliaIvan Magalhaes UNQUALIFIED
Smith F PaprockiArgentinaElwin Sharvill QUALIFIED
Aditya B TollnerBrazilAnna Fali PROPOSAL
Jones O CaudyAustraliaAmy Elsner NEW
Arvin K MaletGermanyIvan Magalhaes QUALIFIED
Aika N AlbaresBrazilIoni Bowcher RENEWAL
Izzy Z DoeGermanyBernardo Dominic PROPOSAL
Leja U SergiSpainOnyama Limba NEGOTIATION
Morrow R IturbideJapanAsiya Javayant PROPOSAL
Misaki I MaletCanadaOnyama Limba UNQUALIFIED
Aika H ShinkoJapanElwin Sharvill QUALIFIED
Tony A SchemmerItalyElwin Sharvill QUALIFIED
Isabel E BriddickItalyAmy Elsner NEGOTIATION
Darci Y BologniaAustraliaXuxue Feng NEGOTIATION
Aika D MaletJapanElwin Sharvill QUALIFIED
Deepesh Y NestleCanadaAsiya Javayant QUALIFIED
Faith F MarrierItalyIoni Bowcher PROPOSAL
David C RulapaughArgentinaBernardo Dominic PROPOSAL
Jeanfrancois J DoeAustraliaAsiya Javayant QUALIFIED
Francesco R MaletFranceXuxue Feng UNQUALIFIED
Jennifer L GarufiGermanyOnyama Limba PROPOSAL
Jeanfrancois D ShinkoUnited KingdomAsiya Javayant RENEWAL
Salvatore S IturbideGermanyStephen Shaw NEW
Stacey W KolmetzUnited KingdomAsiya Javayant NEW
Juan I StockhamJapanElwin Sharvill PROPOSAL
Aditya N NestleBrazilStephen Shaw PROPOSAL
Alejandro V SergiGermanyXuxue Feng QUALIFIED
Isabel C RulapaughGermanyElwin Sharvill NEGOTIATION
Darci T GarufiArgentinaIoni Bowcher NEGOTIATION
Mujtaba B FlosiSpainBernardo Dominic NEGOTIATION
Wickens M MaletIndiaIoni Bowcher RENEWAL
Jones X SergiCanadaAmy Elsner NEW
Aika N StensethSpainStephen Shaw PROPOSAL
Cody N ShinkoAustraliaAsiya Javayant RENEWAL
Leon S TollnerSpainAmy Elsner NEGOTIATION
Emily T MaletCanadaXuxue Feng PROPOSAL
Aruna R ButtSpainAnna Fali UNQUALIFIED
Octavia T RoysterGermanyBernardo Dominic NEGOTIATION
Stacey A DilliardItalyElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Isabel F VenereGermanyOnyama Limba PROPOSAL
Tony I DilliardUnited KingdomIvan Magalhaes NEW
Johnson R NestleGermanyAsiya Javayant QUALIFIED
Morrow E FlosiJapanAnna Fali NEW
Maria V FollerCanadaOnyama Limba NEGOTIATION
Aruna C MaletItalyBernardo Dominic PROPOSAL
Jefferson M FigeroaIndiaIvan Magalhaes RENEWAL
Kadeem B RulapaughArgentinaAnna Fali NEW
Sinclair I BowleyArgentinaAsiya Javayant NEGOTIATION
Kaitlin D RimArgentinaAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem V RoysterFrance2024-11-06Commercial Press UNQUALIFIED69Bernardo Dominic
1001David T GauchoRussia2024-10-26Rousseaux, Michael Esq UNQUALIFIED87Onyama Limba
1002Faith Y BologniaRussia2024-11-04Rangoni Of Florence NEW57Stephen Shaw
1003Juan U PaprockiArgentina2024-10-29Buckley Miller Wright PROPOSAL85Asiya Javayant
1004Claire E RutaArgentina2024-10-11Feltz Printing Service QUALIFIED88Asiya Javayant
1005Tony Z PaprockiAustralia2024-10-14Feiner Bros NEGOTIATION44Asiya Javayant
1006Jones C CaldareraRussia2024-10-22Rousseaux, Michael Esq UNQUALIFIED49Onyama Limba
1007Adams Y FerenczAustralia2024-10-18Chemel, James L Cpa NEGOTIATION96Ivan Magalhaes
1008Mayumi V GarufiJapan2024-11-08Benton, John B Jr NEGOTIATION30Ioni Bowcher
1009Octavia R ShinkoFrance2024-11-03Rousseaux, Michael Esq UNQUALIFIED0Ioni Bowcher
1010Jefferson R ChuiSpain2024-10-21Buckley Miller Wright PROPOSAL34Ivan Magalhaes
1011James G VocelkaIndia2024-10-17Chanay, Jeffrey A Esq UNQUALIFIED47Onyama Limba
1012Julie O FigeroaAustralia2024-10-25King, Christopher A Esq NEGOTIATION80Amy Elsner
1013Jennifer E ButtItaly2024-11-01Commercial Press RENEWAL95Ioni Bowcher
1014Rodrigues L BriddickIndia2024-10-12Benton, John B Jr UNQUALIFIED78Anna Fali
1015Jeanfrancois Y NestleArgentina2024-11-05Chapman, Ross E Esq PROPOSAL67Ioni Bowcher
1016Chavez F SchemmerUnited Kingdom2024-11-04Feiner Bros QUALIFIED20Stephen Shaw
1017Juan A ShinkoGermany2024-10-20Feiner Bros UNQUALIFIED12Amy Elsner
1018Izzy M ShinkoFrance2024-10-15Rangoni Of Florence QUALIFIED38Ivan Magalhaes
1019Cody L AmigonFrance2024-11-06Rangoni Of Florence PROPOSAL55Amy Elsner
1020Leon C BologniaCanada2024-10-26Buckley Miller Wright NEW89Elwin Sharvill
1021Jennifer D IturbideUnited Kingdom2024-11-04Dorl, James J Esq PROPOSAL1Bernardo Dominic
1022Jefferson C CampainItaly2024-10-11Truhlar And Truhlar Attys NEGOTIATION77Ioni Bowcher
1023Sinclair G TollnerIndia2024-10-22Chanay, Jeffrey A Esq UNQUALIFIED27Ivan Magalhaes
1024Mujtaba R GlickJapan2024-10-29Morlong Associates NEGOTIATION91Ioni Bowcher
1025Maria A ShinkoGermany2024-10-30Morlong Associates NEGOTIATION3Ivan Magalhaes
1026Arvin A BriddickArgentina2024-10-16Truhlar And Truhlar Attys RENEWAL40Elwin Sharvill
1027Jones G CampainSpain2024-10-20Commercial Press NEW48Elwin Sharvill
1028Darci H GillianBrazil2024-11-03Morlong Associates NEGOTIATION93Bernardo Dominic
1029Octavia C TollnerItaly2024-10-14Benton, John B Jr QUALIFIED53Onyama Limba
1030Ivar B NickaItaly2024-10-15Benton, John B Jr UNQUALIFIED10Anna Fali
1031Murillo A ButtAustralia2024-10-31Truhlar And Truhlar Attys NEGOTIATION83Asiya Javayant
1032Claire N FlosiUnited Kingdom2024-10-30Truhlar And Truhlar Attys RENEWAL16Asiya Javayant
1033Jeanfrancois I VocelkaItaly2024-10-21Truhlar And Truhlar Attys PROPOSAL5Ivan Magalhaes
1034Mujtaba A CaudyArgentina2024-10-11Truhlar And Truhlar Attys NEGOTIATION25Amy Elsner
1035Deepesh A MorascaFrance2024-10-11Feltz Printing Service RENEWAL83Onyama Limba
1036Misaki D RimCanada2024-10-21Dorl, James J Esq RENEWAL44Xuxue Feng
1037Kadeem G GillianRussia2024-10-23Morlong Associates QUALIFIED0Stephen Shaw
1038Ashley K MarrierIndia2024-10-24Rangoni Of Florence UNQUALIFIED78Asiya Javayant
1039Kaitlin T NestleIndia2024-10-11Chapman, Ross E Esq NEGOTIATION92Ivan Magalhaes
1040Tony Z StensethCanada2024-10-14Chemel, James L Cpa NEGOTIATION96Bernardo Dominic
1041Emily H CaldareraArgentina2024-10-20Feltz Printing Service NEW28Ioni Bowcher
1042Kaitlin I RimRussia2024-10-26Chemel, James L Cpa QUALIFIED42Onyama Limba
1043Stacey L StockhamSpain2024-10-31Dorl, James J Esq RENEWAL57Onyama Limba
1044Arvin K MorascaAustralia2024-10-21Commercial Press QUALIFIED15Elwin Sharvill
1045Munro K KolmetzItaly2024-10-28Buckley Miller Wright RENEWAL71Ioni Bowcher
1046Mayumi P ShinkoFrance2024-11-01Rangoni Of Florence NEGOTIATION86Ivan Magalhaes
1047Morrow W SaylorsJapan2024-10-30Chanay, Jeffrey A Esq NEGOTIATION62Ivan Magalhaes
1048Nicolas Y MorascaFrance2024-10-26Dorl, James J Esq RENEWAL60Onyama Limba
1049Costa A PerinGermany2024-10-22King, Christopher A Esq QUALIFIED26Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Chavez Z WieserFranceXuxue Feng RENEWAL
Clifford T StockhamArgentinaOnyama Limba UNQUALIFIED
Greenwood L FerenczSpainOnyama Limba NEW
Arvin Z GauchoCanadaBernardo Dominic QUALIFIED
Julie O FerenczCanadaXuxue Feng NEGOTIATION
Alejandro G SaylorsIndiaIoni Bowcher RENEWAL
Alejandro B DilliardArgentinaBernardo Dominic NEGOTIATION
Jefferson Y CaudyCanadaAmy Elsner QUALIFIED
Jeanfrancois M CampainSpainAnna Fali NEGOTIATION
Jennifer Z MaletRussiaIvan Magalhaes RENEWAL
Antonio Y OstroskySpainIvan Magalhaes RENEWAL
Jones A RoysterSpainXuxue Feng UNQUALIFIED
Isabel S VenereCanadaAmy Elsner NEGOTIATION
Arvin H BologniaJapanIoni Bowcher QUALIFIED
Izzy S TollnerJapanStephen Shaw NEW
James C TollnerFranceAmy Elsner QUALIFIED
Clifford Q ChuiUnited KingdomAnna Fali PROPOSAL
Antonio W OstroskyJapanElwin Sharvill PROPOSAL
Mujtaba C StensethCanadaAmy Elsner UNQUALIFIED
Jones H BologniaItalyBernardo Dominic NEW
Maisha J GarufiArgentinaOnyama Limba RENEWAL
Maisha T KuskoUnited KingdomIoni Bowcher NEW
Nicolas K WieserJapanXuxue Feng NEGOTIATION
Darci Z GlickFranceOnyama Limba NEW
Greenwood J MaletGermanyIvan Magalhaes NEW
Aruna E PerinIndiaOnyama Limba UNQUALIFIED
Tony A RoysterRussiaOnyama Limba NEGOTIATION
Faith O PoquetteItalyAnna Fali NEW
Silvio A CaldareraItalyAnna Fali UNQUALIFIED
Darci H BologniaFranceAsiya Javayant PROPOSAL
Aika W CampainUnited KingdomBernardo Dominic UNQUALIFIED
Julie P FerenczUnited KingdomAmy Elsner QUALIFIED
Leon X GauchoCanadaXuxue Feng QUALIFIED
Cody O MorascaAustraliaBernardo Dominic QUALIFIED
Izzy E RimRussiaAnna Fali QUALIFIED
Claire G PaprockiFranceStephen Shaw QUALIFIED
Arvin A BowleyFranceStephen Shaw NEW
Silvio Y MaletAustraliaXuxue Feng NEGOTIATION
Ricardo A RimIndiaStephen Shaw UNQUALIFIED
Isabel W IturbideIndiaAmy Elsner RENEWAL
Izzy A VocelkaBrazilXuxue Feng QUALIFIED
Johnson P FerenczBrazilAnna Fali NEW
Tony B CampainJapanElwin Sharvill RENEWAL
Munro Q StensethUnited KingdomAnna Fali PROPOSAL
Nicolas Y SchemmerFranceXuxue Feng QUALIFIED
Cody Z DilliardRussiaStephen Shaw NEGOTIATION
Kadeem H FollerUnited KingdomIoni Bowcher RENEWAL
Kaitlin D CaudyArgentinaElwin Sharvill UNQUALIFIED
Claire Y BowleyCanadaAmy Elsner QUALIFIED
Tony J WieserAustraliaXuxue Feng NEW
Frozen Columns
Name
Antonio M Gillian
Munro F Tollner
Jeanfrancois L Caudy
Jones M Oldroyd
Arvin T Nicka
Sinclair X Malet
Ivar W Morasca
Alejandro F Rim
Mayumi B Waycott
Sinclair H Glick
Murillo U Slusarski
Silvio Y Ostrosky
Mujtaba X Malet
Leja J Gaucho
Kaitlin T Nestle
Nicolas N Figeroa
Arvin E Caldarera
Jennifer Z Ostrosky
Murillo O Malet
Clifford O Paprocki
Misaki X Marrier
Clifford I Kusko
Adams Y Stenseth
Nicolas C Campain
Mayumi B Amigon
Maisha C Shinko
Silvio L Campain
Stacey U Briddick
Emily C Slusarski
Ashley V Waycott
Alejandro R Glick
Aditya Q Briddick
Mayumi V Inouye
Smith F Caldarera
Chavez C Stockham
Maisha B Campain
Ricardo M Caudy
Salvatore R Campain
Misaki D Royster
Greenwood Z Whobrey
Cody C Gaucho
Mayumi Z Rim
Morrow U Caldarera
Salvatore O Iturbide
Mayumi N Saylors
Izzy Y Stenseth
Claire F Gaucho
James X Iturbide
Kadeem G Darakjy
Darci H Venere
IdCountryDate
1000Canada2024-10-30
1001United Kingdom2024-10-19
1002Australia2024-10-18
1003Italy2024-10-21
1004France2024-10-23
1005India2024-11-03
1006Argentina2024-10-25
1007Canada2024-10-12
1008United Kingdom2024-10-21
1009Argentina2024-10-23
1010United Kingdom2024-10-12
1011Italy2024-11-07
1012Argentina2024-10-11
1013India2024-11-01
1014Japan2024-10-21
1015Russia2024-10-25
1016United Kingdom2024-11-05
1017Germany2024-11-04
1018Canada2024-10-20
1019France2024-10-29
1020Italy2024-10-16
1021France2024-10-20
1022Japan2024-10-12
1023Italy2024-10-26
1024Germany2024-11-07
1025Japan2024-10-27
1026Spain2024-11-09
1027Russia2024-10-17
1028Australia2024-11-04
1029Spain2024-10-31
1030Australia2024-10-16
1031Brazil2024-10-14
1032Canada2024-10-20
1033Italy2024-10-13
1034Japan2024-10-13
1035Germany2024-10-19
1036Italy2024-10-27
1037Spain2024-10-30
1038Russia2024-11-07
1039Canada2024-10-26
1040France2024-10-25
1041Spain2024-10-14
1042United Kingdom2024-10-12
1043Spain2024-11-04
1044Canada2024-10-31
1045Argentina2024-10-29
1046Italy2024-10-14
1047India2024-10-17
1048Argentina2024-11-07
1049Canada2024-10-23

On-Demand Data

NameIdCountryDate
Alejandro T Glick1000India2024-10-17
Sinclair Y Briddick1001Italy2024-10-19
James J Stockham1002Spain2024-10-23
Wickens N Ostrosky1003Brazil2024-10-26
Adams I Oldroyd1004United Kingdom2024-10-28
Octavia Y Ruta1005Argentina2024-10-30
Jennifer I Gaucho1006United Kingdom2024-11-04
Jones X Gaucho1007Canada2024-11-02
Chavez W Tollner1008United Kingdom2024-10-29
Faith H Inouye1009Spain2024-10-12
Francesco E Perin1010United Kingdom2024-10-26
Aditya N Morasca1011Italy2024-10-21
Jennifer P Whobrey1012Brazil2024-10-14
Misaki Y Morasca1013Canada2024-10-29
David E Albares1014Japan2024-10-28
Cody M Wieser1015Spain2024-11-08
Octavia H Caudy1016Australia2024-10-16
Adams K Ostrosky1017Canada2024-10-24
Faith O Paprocki1018Germany2024-10-14
Kaitlin H Bowley1019Spain2024-10-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire F ButtSpainAmy Elsner QUALIFIED
Ricardo O ButtIndiaAsiya Javayant NEGOTIATION
Tony Q WieserUnited KingdomAnna Fali NEW
Darci A AlbaresAustraliaAnna Fali NEW
Mayumi T SaylorsRussiaIvan Magalhaes RENEWAL
Clifford M WhobreyCanadaAsiya Javayant RENEWAL
Emily M AlbaresItalyBernardo Dominic NEW
Costa A VenereCanadaOnyama Limba QUALIFIED
Darci W ButtSpainXuxue Feng PROPOSAL
Mujtaba O ButtJapanElwin Sharvill NEW
Jones U GlickIndiaAmy Elsner RENEWAL
Adams E RutaAustraliaAsiya Javayant NEW
Morrow A CampainCanadaAsiya Javayant RENEWAL
Maisha M StockhamItalyAnna Fali NEGOTIATION
Faith A FollerFranceStephen Shaw RENEWAL
Antonio K RoysterIndiaElwin Sharvill UNQUALIFIED
Octavia W SlusarskiBrazilIoni Bowcher RENEWAL
Leja T ButtItalyOnyama Limba RENEWAL
Aika X SchemmerCanadaAmy Elsner RENEWAL
Chavez L MaletGermanyAsiya Javayant UNQUALIFIED
Juan W RimFranceElwin Sharvill UNQUALIFIED
Juan D FerenczJapanElwin Sharvill QUALIFIED
Wickens W AmigonFranceStephen Shaw RENEWAL
David U SergiFranceAsiya Javayant QUALIFIED
David V PerinUnited KingdomStephen Shaw PROPOSAL
Isabel P WieserSpainAsiya Javayant NEGOTIATION
Leja U GillianIndiaAnna Fali PROPOSAL
Emily J RulapaughCanadaAmy Elsner UNQUALIFIED
Izzy X AlbaresAustraliaStephen Shaw UNQUALIFIED
Darci S DilliardItalyAsiya Javayant QUALIFIED
Jefferson R IturbideIndiaIoni Bowcher NEW
Emily P SlusarskiBrazilOnyama Limba QUALIFIED
Leon C PaprockiIndiaElwin Sharvill QUALIFIED
Johnson B ShinkoUnited KingdomElwin Sharvill UNQUALIFIED
Salvatore J NestleArgentinaOnyama Limba QUALIFIED
Nicolas I CampainBrazilIoni Bowcher NEW
Claire J PerinCanadaAmy Elsner UNQUALIFIED
Mujtaba J MacleadIndiaAmy Elsner NEGOTIATION
Johnson T CampainSpainIvan Magalhaes NEGOTIATION
Ivar B AlbaresSpainIoni Bowcher RENEWAL

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