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
Nicolas W GarufiSpainAnna Fali NEGOTIATION
Ivar D MorascaBrazilIvan Magalhaes UNQUALIFIED
Cody B DilliardGermanyAnna Fali QUALIFIED
Sinclair O NestleIndiaIvan Magalhaes NEW
Jeanfrancois W ChuiArgentinaElwin Sharvill UNQUALIFIED
Jennifer A IturbideBrazilXuxue Feng QUALIFIED
Tony B FerenczJapanBernardo Dominic NEGOTIATION
Faith L FerenczCanadaBernardo Dominic RENEWAL
Johnson W BriddickGermanyIvan Magalhaes QUALIFIED
Jones P BologniaArgentinaElwin Sharvill QUALIFIED
Jones W PaprockiJapanIoni Bowcher QUALIFIED
Maisha D AlbaresGermanyXuxue Feng UNQUALIFIED
Ashley O MorascaIndiaIoni Bowcher PROPOSAL
Kaitlin D RulapaughRussiaIvan Magalhaes UNQUALIFIED
Julie R GillianItalyAnna Fali RENEWAL
Misaki L OldroydItalyAmy Elsner PROPOSAL
Julie U WaycottItalyElwin Sharvill UNQUALIFIED
Stacey J RutaItalyOnyama Limba QUALIFIED
Octavia G DilliardBrazilBernardo Dominic NEW
Jennifer J WieserSpainIoni Bowcher RENEWAL
Aruna X WaycottIndiaIoni Bowcher UNQUALIFIED
Ivar H NestleGermanyAsiya Javayant RENEWAL
Costa R ButtIndiaAsiya Javayant UNQUALIFIED
Kaitlin K SlusarskiCanadaXuxue Feng NEW
Jefferson S CampainAustraliaAmy Elsner RENEWAL
Kaitlin F NickaGermanyElwin Sharvill RENEWAL
Ashley D GlickArgentinaElwin Sharvill NEGOTIATION
Darci X SlusarskiBrazilIoni Bowcher NEGOTIATION
Nicolas G InouyeSpainOnyama Limba RENEWAL
Aruna E CaudyJapanAmy Elsner QUALIFIED
Jefferson Q RulapaughIndiaAnna Fali NEGOTIATION
Nicolas R VocelkaJapanAnna Fali RENEWAL
Antonio W GillianItalyAmy Elsner QUALIFIED
Wickens H RoysterFranceOnyama Limba RENEWAL
Greenwood Y RoysterRussiaXuxue Feng RENEWAL
Faith Q StockhamCanadaAmy Elsner RENEWAL
Greenwood O WieserJapanXuxue Feng RENEWAL
Jeanfrancois B MorascaJapanStephen Shaw QUALIFIED
Ricardo F NestleAustraliaOnyama Limba RENEWAL
Mujtaba P CaldareraRussiaAnna Fali NEGOTIATION
Alejandro B InouyeItalyOnyama Limba UNQUALIFIED
Murillo U NestleArgentinaIoni Bowcher UNQUALIFIED
David P NickaIndiaStephen Shaw NEW
Antonio P KolmetzJapanIvan Magalhaes RENEWAL
Isabel D RutaUnited KingdomBernardo Dominic NEGOTIATION
Johnson Y SlusarskiIndiaXuxue Feng NEGOTIATION
Leja Y SchemmerRussiaIvan Magalhaes PROPOSAL
Murillo A SlusarskiIndiaOnyama Limba PROPOSAL
Rodrigues R SchemmerUnited KingdomXuxue Feng PROPOSAL
Darci Q CaudyAustraliaAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Chavez B DarakjyAustraliaStephen Shaw RENEWAL
Costa H FollerUnited KingdomAsiya Javayant RENEWAL
Nicolas Y RimArgentinaStephen Shaw NEGOTIATION
Costa O OstroskyGermanyOnyama Limba NEW
Silvio Q PerinCanadaIoni Bowcher UNQUALIFIED
Murillo H PoquetteSpainXuxue Feng UNQUALIFIED
Aika N ShinkoRussiaAsiya Javayant NEW
James K WaycottGermanyIvan Magalhaes UNQUALIFIED
Wickens I CaudyRussiaAnna Fali RENEWAL
Aditya N BowleyIndiaBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore T GarufiAustralia2024-05-24Commercial Press PROPOSAL42Anna Fali
1001Maria K StockhamSpain2024-06-14Truhlar And Truhlar Attys UNQUALIFIED90Elwin Sharvill
1002Chavez X MaletArgentina2024-06-10Chanay, Jeffrey A Esq PROPOSAL98Amy Elsner
1003Julie M PerinFrance2024-06-18Rangoni Of Florence NEW17Anna Fali
1004Nicolas D IturbideGermany2024-06-02Rousseaux, Michael Esq NEW78Stephen Shaw
1005Morrow O OldroydCanada2024-06-14Buckley Miller Wright PROPOSAL73Anna Fali
1006Wickens M WaycottSpain2024-06-11Chapman, Ross E Esq NEW6Ivan Magalhaes
1007Greenwood Z GauchoUnited Kingdom2024-05-24Rousseaux, Michael Esq QUALIFIED76Ivan Magalhaes
1008Ashley A AmigonGermany2024-06-01Truhlar And Truhlar Attys RENEWAL48Ioni Bowcher
1009Faith I BowleyUnited Kingdom2024-06-17Truhlar And Truhlar Attys NEGOTIATION72Asiya Javayant
1010Julie W FigeroaCanada2024-06-17Morlong Associates PROPOSAL7Elwin Sharvill
1011Maria P PoquetteArgentina2024-06-17Rousseaux, Michael Esq NEGOTIATION33Anna Fali
1012Jeanfrancois J VenereCanada2024-06-20Printing Dimensions PROPOSAL27Bernardo Dominic
1013Aika A GillianUnited Kingdom2024-06-21Chapman, Ross E Esq UNQUALIFIED57Elwin Sharvill
1014Johnson K PerinRussia2024-06-18Truhlar And Truhlar Attys QUALIFIED81Ioni Bowcher
1015Greenwood G KuskoFrance2024-06-09Printing Dimensions RENEWAL7Bernardo Dominic
1016Clifford R NestleJapan2024-06-05Feiner Bros NEW37Anna Fali
1017Aika Z SaylorsFrance2024-06-07Dorl, James J Esq QUALIFIED81Asiya Javayant
1018Mujtaba B ChuiFrance2024-06-16Printing Dimensions UNQUALIFIED7Ioni Bowcher
1019Maria H InouyeArgentina2024-05-29Rangoni Of Florence UNQUALIFIED71Asiya Javayant
1020Francesco X GillianCanada2024-06-14Benton, John B Jr QUALIFIED98Ivan Magalhaes
1021Sinclair S MaletJapan2024-06-03Dorl, James J Esq NEW33Asiya Javayant
1022Isabel Q SaylorsJapan2024-05-29Benton, John B Jr PROPOSAL44Onyama Limba
1023Kaitlin D RutaBrazil2024-06-05Morlong Associates QUALIFIED29Ivan Magalhaes
1024Arvin M IturbideSpain2024-05-31Chanay, Jeffrey A Esq QUALIFIED79Onyama Limba
1025Claire P FlosiItaly2024-05-26Commercial Press PROPOSAL62Anna Fali
1026Isabel E StensethAustralia2024-05-31Morlong Associates NEGOTIATION57Bernardo Dominic
1027Aruna T GauchoCanada2024-05-27Truhlar And Truhlar Attys NEW1Anna Fali
1028Mayumi L PoquetteAustralia2024-06-18Benton, John B Jr PROPOSAL34Xuxue Feng
1029Johnson V GauchoCanada2024-06-14Benton, John B Jr PROPOSAL9Ivan Magalhaes
1030Silvio P IturbideArgentina2024-05-30Chanay, Jeffrey A Esq UNQUALIFIED50Anna Fali
1031Claire Q BowleySpain2024-06-07Rangoni Of Florence NEGOTIATION62Elwin Sharvill
1032Isabel D DoeUnited Kingdom2024-06-21Chapman, Ross E Esq NEGOTIATION40Ioni Bowcher
1033Jennifer T TollnerSpain2024-06-14Dorl, James J Esq UNQUALIFIED56Ioni Bowcher
1034Salvatore R OstroskyIndia2024-06-12Chapman, Ross E Esq RENEWAL67Onyama Limba
1035Nicolas E PaprockiUnited Kingdom2024-05-30Buckley Miller Wright QUALIFIED7Anna Fali
1036Maisha R SergiGermany2024-06-08Feiner Bros PROPOSAL68Onyama Limba
1037Aruna C ShinkoFrance2024-05-26Chemel, James L Cpa PROPOSAL20Elwin Sharvill
1038Francesco W CaldareraBrazil2024-06-16Rangoni Of Florence UNQUALIFIED28Elwin Sharvill
1039Emily I BriddickFrance2024-06-01Buckley Miller Wright QUALIFIED63Amy Elsner
1040Munro Z StockhamFrance2024-05-27Feltz Printing Service PROPOSAL88Bernardo Dominic
1041Misaki A CampainJapan2024-05-29Feiner Bros RENEWAL68Asiya Javayant
1042Murillo Y BologniaCanada2024-05-28Printing Dimensions RENEWAL99Bernardo Dominic
1043Francesco Y WieserGermany2024-06-05Truhlar And Truhlar Attys UNQUALIFIED80Stephen Shaw
1044Alejandro O RoysterGermany2024-06-13Chemel, James L Cpa QUALIFIED50Xuxue Feng
1045Silvio W CampainJapan2024-06-02King, Christopher A Esq PROPOSAL79Stephen Shaw
1046Leja Z RimArgentina2024-05-25King, Christopher A Esq UNQUALIFIED40Asiya Javayant
1047Ivar G TollnerAustralia2024-06-06Chapman, Ross E Esq QUALIFIED86Onyama Limba
1048Murillo U GlickFrance2024-06-16Rangoni Of Florence PROPOSAL63Bernardo Dominic
1049Rodrigues W SlusarskiRussia2024-05-29Commercial Press RENEWAL39Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jennifer Y CampainSpainAnna Fali RENEWAL
Aditya M NickaUnited KingdomElwin Sharvill NEGOTIATION
Rodrigues K NestleItalyStephen Shaw PROPOSAL
Wickens S PerinFranceStephen Shaw RENEWAL
Juan E GauchoBrazilIoni Bowcher NEW
Izzy W DilliardBrazilBernardo Dominic RENEWAL
Isabel Q StensethFranceBernardo Dominic RENEWAL
Claire I RulapaughCanadaAsiya Javayant PROPOSAL
Ricardo L ChuiAustraliaOnyama Limba NEGOTIATION
Chavez B PerinItalyXuxue Feng RENEWAL
Ricardo N FigeroaRussiaIoni Bowcher PROPOSAL
Darci L RoysterRussiaIvan Magalhaes RENEWAL
James G RulapaughFranceAnna Fali NEGOTIATION
Jeanfrancois I DilliardFranceAsiya Javayant NEGOTIATION
James G WieserUnited KingdomIoni Bowcher RENEWAL
Nicolas Z FerenczFranceOnyama Limba NEGOTIATION
Darci M MaletFranceAmy Elsner NEW
Julie E NestleIndiaBernardo Dominic QUALIFIED
Mujtaba K CampainCanadaBernardo Dominic UNQUALIFIED
Julie E BowleyCanadaXuxue Feng UNQUALIFIED
Rodrigues L MaletArgentinaElwin Sharvill NEGOTIATION
Munro D DarakjyAustraliaIoni Bowcher NEW
Misaki T ChuiUnited KingdomIoni Bowcher NEGOTIATION
Morrow F AlbaresJapanElwin Sharvill UNQUALIFIED
Munro X DilliardBrazilAsiya Javayant PROPOSAL
Smith P StockhamRussiaXuxue Feng RENEWAL
Darci E ShinkoSpainAnna Fali NEGOTIATION
Johnson C GarufiFranceIoni Bowcher RENEWAL
Juan K CampainAustraliaAnna Fali NEGOTIATION
Chavez O RoysterItalyStephen Shaw RENEWAL
Maisha R FerenczArgentinaElwin Sharvill QUALIFIED
Tony E PerinUnited KingdomAnna Fali NEGOTIATION
Rodrigues J BriddickSpainXuxue Feng NEGOTIATION
Clifford D OstroskyItalyBernardo Dominic NEGOTIATION
Juan Q SaylorsArgentinaAnna Fali RENEWAL
Maria I KolmetzFranceIvan Magalhaes UNQUALIFIED
Tony R StensethIndiaElwin Sharvill RENEWAL
David L ChuiCanadaBernardo Dominic QUALIFIED
Arvin U IturbideRussiaAnna Fali QUALIFIED
Murillo D KolmetzUnited KingdomXuxue Feng NEW
Misaki V StensethRussiaElwin Sharvill PROPOSAL
Julie V WaycottSpainBernardo Dominic UNQUALIFIED
Alejandro Z OstroskyJapanXuxue Feng NEW
Kaitlin H AlbaresGermanyAmy Elsner RENEWAL
Mayumi Q OstroskyItalyIvan Magalhaes NEW
David C StensethArgentinaAsiya Javayant NEGOTIATION
Emily J SlusarskiUnited KingdomIoni Bowcher RENEWAL
Aika G BologniaJapanAmy Elsner NEW
Jefferson V FollerGermanyAnna Fali QUALIFIED
Silvio R AlbaresUnited KingdomAnna Fali PROPOSAL
Frozen Columns
Name
Emily Y Marrier
Tony G Caudy
Silvio Q Maclead
Claire Q Inouye
Kaitlin E Royster
Ricardo P Oldroyd
Clifford C Nestle
David D Schemmer
Izzy U Whobrey
Leja U Glick
Costa H Ostrosky
Jennifer B Glick
Mayumi D Sergi
Salvatore P Iturbide
Julie C Tollner
Julie H Iturbide
Leon A Inouye
Francesco R Tollner
Mayumi Q Tollner
Faith F Bolognia
Mujtaba Y Schemmer
Leon O Shinko
Jennifer Q Nestle
Deepesh U Inouye
Mujtaba O Albares
Alejandro V Briddick
Arvin N Nicka
Murillo E Albares
Ivar H Amigon
Clifford I Figeroa
Emily G Inouye
James C Malet
Munro T Inouye
Maria E Caldarera
Maria G Campain
Mayumi X Wieser
Aditya J Shinko
Misaki X Inouye
Maisha M Marrier
Tony L Inouye
Jennifer P Kusko
Maisha X Wieser
Costa T Nicka
Izzy H Sergi
Chavez F Nestle
Aika T Perin
Octavia F Kolmetz
Jennifer P Poquette
Smith X Bowley
David G Kusko
IdCountryDate
1000France2024-05-27
1001Japan2024-06-20
1002United Kingdom2024-06-11
1003Japan2024-06-22
1004Italy2024-05-30
1005Russia2024-05-26
1006Canada2024-06-20
1007Canada2024-05-31
1008Argentina2024-06-17
1009Brazil2024-06-11
1010United Kingdom2024-06-21
1011Spain2024-05-26
1012Germany2024-06-04
1013Canada2024-06-20
1014France2024-05-24
1015Argentina2024-06-19
1016Brazil2024-06-05
1017Spain2024-06-09
1018United Kingdom2024-06-11
1019India2024-05-27
1020Argentina2024-06-08
1021Spain2024-06-08
1022Russia2024-06-07
1023Canada2024-05-29
1024Russia2024-06-13
1025Russia2024-06-21
1026Canada2024-05-24
1027France2024-05-28
1028United Kingdom2024-06-21
1029United Kingdom2024-06-07
1030United Kingdom2024-06-02
1031France2024-06-12
1032Canada2024-06-22
1033India2024-06-07
1034France2024-06-22
1035Argentina2024-06-16
1036Canada2024-06-17
1037United Kingdom2024-05-30
1038United Kingdom2024-06-19
1039Australia2024-06-15
1040France2024-06-13
1041Germany2024-06-13
1042Spain2024-06-04
1043India2024-06-13
1044Japan2024-06-10
1045Spain2024-06-04
1046Russia2024-06-19
1047Australia2024-05-29
1048Russia2024-06-01
1049United Kingdom2024-05-31

On-Demand Data

NameIdCountryDate
Emily E Sergi1000Brazil2024-05-25
Murillo L Malet1001Italy2024-06-13
Izzy G Flosi1002United Kingdom2024-06-12
Chavez T Caldarera1003France2024-06-03
Clifford G Ostrosky1004United Kingdom2024-05-27
Rodrigues T Shinko1005Russia2024-06-06
Chavez I Amigon1006Brazil2024-06-19
Mujtaba X Bowley1007Japan2024-05-28
Nicolas I Kolmetz1008Russia2024-06-15
Izzy G Morasca1009Italy2024-06-04
Wickens F Rulapaugh1010Japan2024-05-24
Salvatore K Nicka1011Russia2024-06-14
Leja L Malet1012Australia2024-06-08
Ivar U Royster1013France2024-06-06
Misaki U Gillian1014United Kingdom2024-06-14
Maisha D Rulapaugh1015Italy2024-06-20
Darci G Schemmer1016Germany2024-06-22
Smith T Figeroa1017India2024-06-09
Leja E Gillian1018Japan2024-06-16
Emily Q Gillian1019Brazil2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem R AmigonFranceAnna Fali RENEWAL
Mayumi R WieserSpainIoni Bowcher QUALIFIED
Stacey K GillianItalyElwin Sharvill QUALIFIED
Jeanfrancois K StensethGermanyIoni Bowcher NEGOTIATION
Clifford Q MaletAustraliaElwin Sharvill NEGOTIATION
Mayumi V FerenczFranceAmy Elsner NEW
Julie P WhobreyGermanyIoni Bowcher NEW
Leja Y RimAustraliaAsiya Javayant NEW
Jeanfrancois K MorascaCanadaIvan Magalhaes PROPOSAL
Julie H MaletItalyXuxue Feng UNQUALIFIED
Deepesh V DarakjySpainBernardo Dominic RENEWAL
Octavia R PerinBrazilIvan Magalhaes UNQUALIFIED
Aruna M AmigonGermanyAsiya Javayant PROPOSAL
Wickens B AlbaresFranceAnna Fali PROPOSAL
Ashley S MaletFranceOnyama Limba NEW
James H NestleFranceXuxue Feng NEGOTIATION
Ivar K FlosiAustraliaIoni Bowcher QUALIFIED
Smith O WaycottArgentinaStephen Shaw QUALIFIED
Darci T RulapaughItalyAnna Fali RENEWAL
Darci N FollerJapanStephen Shaw QUALIFIED
Morrow G WhobreyFranceAsiya Javayant NEGOTIATION
Emily G CampainRussiaStephen Shaw NEW
Adams S TollnerIndiaBernardo Dominic PROPOSAL
Faith B MaletUnited KingdomElwin Sharvill NEW
Mujtaba Z ButtJapanAnna Fali NEGOTIATION
Tony V AmigonSpainStephen Shaw NEW
Jones I MorascaCanadaIvan Magalhaes UNQUALIFIED
Rodrigues T MarrierBrazilStephen Shaw UNQUALIFIED
Tony K StockhamArgentinaElwin Sharvill PROPOSAL
Rodrigues E PerinAustraliaXuxue Feng UNQUALIFIED
Antonio N BowleyCanadaElwin Sharvill NEW
James W NestleItalyOnyama Limba UNQUALIFIED
Juan J SchemmerSpainIoni Bowcher NEW
Munro L RulapaughBrazilIvan Magalhaes RENEWAL
Ashley P NickaUnited KingdomAnna Fali RENEWAL
Faith B NestleFranceAnna Fali QUALIFIED
Wickens Y OldroydBrazilIoni Bowcher NEW
Johnson D NickaGermanyAmy Elsner UNQUALIFIED
Kaitlin P SchemmerCanadaStephen Shaw UNQUALIFIED
Izzy V FigeroaArgentinaOnyama Limba UNQUALIFIED

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