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
Aditya M MaletItalyOnyama Limba PROPOSAL
Smith G TollnerJapanAmy Elsner NEW
David R MorascaSpainAmy Elsner NEGOTIATION
Murillo N GarufiRussiaIoni Bowcher NEGOTIATION
Leon Q RulapaughUnited KingdomAmy Elsner QUALIFIED
Cody M GillianIndiaAmy Elsner NEW
Tony E DilliardFranceBernardo Dominic PROPOSAL
Tony Y FollerAustraliaIvan Magalhaes PROPOSAL
Emily G GarufiArgentinaAsiya Javayant QUALIFIED
Izzy U WhobreyCanadaIvan Magalhaes UNQUALIFIED
Jefferson H AmigonGermanyIoni Bowcher NEGOTIATION
Francesco W StockhamGermanyOnyama Limba UNQUALIFIED
Claire W SergiSpainBernardo Dominic NEGOTIATION
Aditya K VocelkaUnited KingdomElwin Sharvill NEW
Ashley Z SchemmerGermanyAnna Fali NEW
Jennifer L CaudyGermanyStephen Shaw NEGOTIATION
Alejandro Q WaycottRussiaIvan Magalhaes PROPOSAL
Isabel B KuskoGermanyAsiya Javayant QUALIFIED
Aruna B VenereRussiaStephen Shaw UNQUALIFIED
Mayumi V CaudyCanadaIvan Magalhaes PROPOSAL
Murillo L AmigonSpainAnna Fali QUALIFIED
James I VocelkaCanadaOnyama Limba NEW
James X BologniaBrazilXuxue Feng NEW
Aika B CaudyUnited KingdomAsiya Javayant NEW
Silvio Z OldroydJapanIvan Magalhaes NEW
Ricardo R MacleadSpainIvan Magalhaes UNQUALIFIED
Darci N OldroydCanadaAsiya Javayant RENEWAL
Murillo T KuskoSpainStephen Shaw NEW
Julie P CampainItalyXuxue Feng PROPOSAL
Ashley M BriddickJapanOnyama Limba NEW
Aditya O DoeJapanElwin Sharvill UNQUALIFIED
David Z GillianAustraliaElwin Sharvill NEW
Jennifer V FerenczGermanyAmy Elsner PROPOSAL
Nicolas L ButtGermanyElwin Sharvill RENEWAL
Claire W PerinIndiaAmy Elsner RENEWAL
Murillo U RoysterSpainBernardo Dominic UNQUALIFIED
Octavia Y SchemmerUnited KingdomStephen Shaw PROPOSAL
Leon R WaycottIndiaOnyama Limba UNQUALIFIED
Smith I KolmetzRussiaAnna Fali NEW
Ivar H CaudyUnited KingdomAsiya Javayant UNQUALIFIED
Leon Q BriddickJapanAmy Elsner QUALIFIED
Ivar X KolmetzSpainAsiya Javayant UNQUALIFIED
Greenwood Z IturbideRussiaStephen Shaw RENEWAL
Ashley I FigeroaArgentinaStephen Shaw NEW
Leon J ButtAustraliaBernardo Dominic RENEWAL
Deepesh T NestleFranceBernardo Dominic QUALIFIED
Ricardo C MorascaAustraliaElwin Sharvill NEGOTIATION
Clifford K MacleadGermanyOnyama Limba RENEWAL
Julie E FlosiCanadaIoni Bowcher PROPOSAL
Claire D CaudyItalyAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Munro R MorascaAustraliaXuxue Feng PROPOSAL
Smith Y NestleSpainBernardo Dominic PROPOSAL
Jones D InouyeIndiaOnyama Limba UNQUALIFIED
Nicolas I WaycottJapanIvan Magalhaes QUALIFIED
Isabel O NestleFranceIoni Bowcher QUALIFIED
Francesco U AmigonJapanElwin Sharvill PROPOSAL
Darci O SergiUnited KingdomXuxue Feng PROPOSAL
Jones N FerenczIndiaAnna Fali QUALIFIED
Izzy R AmigonBrazilElwin Sharvill NEGOTIATION
Murillo V IturbideAustraliaStephen Shaw RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa A WieserItaly2024-06-24Dorl, James J Esq NEGOTIATION50Amy Elsner
1001Jones V CaldareraRussia2024-05-26Commercial Press PROPOSAL17Elwin Sharvill
1002Maria E DarakjyIndia2024-06-04Morlong Associates PROPOSAL37Ioni Bowcher
1003Jefferson P GauchoGermany2024-06-04Printing Dimensions UNQUALIFIED11Bernardo Dominic
1004Jennifer D FerenczJapan2024-06-24Feltz Printing Service NEGOTIATION4Asiya Javayant
1005Mujtaba R ChuiFrance2024-06-22Rousseaux, Michael Esq NEW18Bernardo Dominic
1006Izzy F RoysterSpain2024-06-20Rangoni Of Florence UNQUALIFIED21Amy Elsner
1007Salvatore A WaycottGermany2024-06-08King, Christopher A Esq UNQUALIFIED39Stephen Shaw
1008Wickens N FollerJapan2024-06-21Buckley Miller Wright PROPOSAL99Asiya Javayant
1009Aruna W WhobreyAustralia2024-06-02Buckley Miller Wright PROPOSAL5Amy Elsner
1010Antonio G NickaBrazil2024-06-24Truhlar And Truhlar Attys PROPOSAL42Xuxue Feng
1011Greenwood Q SlusarskiCanada2024-05-28Feiner Bros QUALIFIED10Elwin Sharvill
1012Jennifer O CaldareraCanada2024-06-21Truhlar And Truhlar Attys PROPOSAL65Ivan Magalhaes
1013Leja I CaudySpain2024-05-29Chanay, Jeffrey A Esq NEGOTIATION41Bernardo Dominic
1014Aruna H WhobreyArgentina2024-05-29Morlong Associates QUALIFIED14Ioni Bowcher
1015Kadeem Y SaylorsJapan2024-06-18King, Christopher A Esq PROPOSAL89Elwin Sharvill
1016Leon T NestleFrance2024-05-31Chemel, James L Cpa NEGOTIATION27Ivan Magalhaes
1017Antonio Z MaletSpain2024-05-30Feltz Printing Service RENEWAL14Amy Elsner
1018Kadeem E MaletArgentina2024-06-23Chemel, James L Cpa PROPOSAL70Elwin Sharvill
1019Aditya R NestleUnited Kingdom2024-06-15Benton, John B Jr QUALIFIED29Amy Elsner
1020Mayumi Y PaprockiCanada2024-06-08Rousseaux, Michael Esq RENEWAL23Ivan Magalhaes
1021Munro W FigeroaBrazil2024-06-11Feiner Bros NEW56Bernardo Dominic
1022Julie M StensethCanada2024-05-30Feiner Bros UNQUALIFIED97Elwin Sharvill
1023Silvio Z KuskoGermany2024-06-07Chemel, James L Cpa RENEWAL83Ivan Magalhaes
1024Ivar G WhobreyJapan2024-05-28Morlong Associates NEW55Bernardo Dominic
1025Aditya K NickaIndia2024-05-27Benton, John B Jr QUALIFIED73Ioni Bowcher
1026Aruna L OstroskyUnited Kingdom2024-06-12Commercial Press QUALIFIED97Onyama Limba
1027Murillo T WhobreyIndia2024-05-31Rousseaux, Michael Esq PROPOSAL3Elwin Sharvill
1028Octavia M DilliardArgentina2024-05-30Feltz Printing Service NEW33Asiya Javayant
1029Kadeem H CampainGermany2024-06-24Rousseaux, Michael Esq QUALIFIED22Elwin Sharvill
1030Leja P FigeroaSpain2024-05-29Benton, John B Jr RENEWAL92Onyama Limba
1031Kadeem R SergiIndia2024-06-16Benton, John B Jr UNQUALIFIED71Xuxue Feng
1032Ricardo W ButtFrance2024-06-08Chanay, Jeffrey A Esq RENEWAL64Ioni Bowcher
1033Stacey N KuskoAustralia2024-06-04Chanay, Jeffrey A Esq PROPOSAL82Onyama Limba
1034Cody Q MarrierRussia2024-06-19Commercial Press QUALIFIED33Onyama Limba
1035Salvatore S VenereRussia2024-06-03Buckley Miller Wright RENEWAL86Ivan Magalhaes
1036Costa Q MarrierSpain2024-05-27Rangoni Of Florence PROPOSAL86Anna Fali
1037Mayumi N AmigonSpain2024-05-27Buckley Miller Wright NEW84Elwin Sharvill
1038Aruna U BowleyUnited Kingdom2024-06-14Rangoni Of Florence NEGOTIATION35Elwin Sharvill
1039Alejandro O PerinArgentina2024-06-20Printing Dimensions NEW43Amy Elsner
1040Smith Y MacleadGermany2024-05-29Printing Dimensions RENEWAL82Asiya Javayant
1041Adams L BologniaAustralia2024-06-12Morlong Associates NEW97Asiya Javayant
1042Mayumi R PerinItaly2024-06-01Truhlar And Truhlar Attys QUALIFIED76Stephen Shaw
1043Rodrigues B AlbaresIndia2024-05-28Feiner Bros NEGOTIATION74Anna Fali
1044Izzy L FlosiAustralia2024-06-23Rangoni Of Florence NEW81Bernardo Dominic
1045Cody N FlosiIndia2024-05-27Benton, John B Jr NEW19Amy Elsner
1046Aika X SaylorsAustralia2024-06-21Benton, John B Jr NEW68Ivan Magalhaes
1047Deepesh K SergiIndia2024-06-15Truhlar And Truhlar Attys NEGOTIATION74Amy Elsner
1048Deepesh R SlusarskiSpain2024-05-31Chapman, Ross E Esq PROPOSAL49Xuxue Feng
1049Adams U PoquetteJapan2024-06-19Chapman, Ross E Esq NEGOTIATION63Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Izzy I PaprockiRussiaAnna Fali UNQUALIFIED
James C InouyeFranceAnna Fali PROPOSAL
Octavia O OldroydCanadaAnna Fali NEW
Costa E CampainGermanyIvan Magalhaes NEGOTIATION
Nicolas B AlbaresRussiaXuxue Feng NEGOTIATION
Claire V BologniaUnited KingdomAnna Fali RENEWAL
Mujtaba Z KolmetzItalyIoni Bowcher NEW
Stacey B AmigonItalyIoni Bowcher QUALIFIED
Morrow Y GlickArgentinaIvan Magalhaes RENEWAL
Salvatore S StockhamCanadaElwin Sharvill PROPOSAL
Ricardo I RimSpainBernardo Dominic RENEWAL
Isabel A OstroskyAustraliaAsiya Javayant QUALIFIED
Claire J WhobreyBrazilIoni Bowcher PROPOSAL
Izzy M NickaAustraliaAnna Fali PROPOSAL
Morrow U RutaArgentinaIoni Bowcher NEW
Izzy W OstroskySpainOnyama Limba QUALIFIED
Kaitlin Y MaletCanadaAnna Fali QUALIFIED
Tony D BologniaGermanyStephen Shaw UNQUALIFIED
Murillo M BologniaFranceAsiya Javayant NEGOTIATION
Nicolas G NestleArgentinaIvan Magalhaes QUALIFIED
Stacey Q GarufiFranceIoni Bowcher PROPOSAL
Chavez Q RulapaughItalyIvan Magalhaes PROPOSAL
Rodrigues I StockhamSpainIoni Bowcher RENEWAL
Greenwood S VocelkaIndiaAnna Fali RENEWAL
Kadeem G AmigonJapanOnyama Limba RENEWAL
Morrow L StensethSpainIoni Bowcher PROPOSAL
Arvin T MacleadArgentinaAmy Elsner NEW
Morrow V ShinkoUnited KingdomXuxue Feng UNQUALIFIED
Leja E StensethFranceIoni Bowcher PROPOSAL
Ashley W ButtItalyIoni Bowcher NEW
Jefferson K WieserAustraliaIoni Bowcher NEGOTIATION
Jefferson X VenereAustraliaOnyama Limba RENEWAL
Adams A MarrierJapanElwin Sharvill QUALIFIED
Alejandro N KuskoSpainAsiya Javayant RENEWAL
Alejandro X FigeroaBrazilOnyama Limba PROPOSAL
Wickens D KolmetzSpainIoni Bowcher NEGOTIATION
Alejandro I MaletGermanyOnyama Limba UNQUALIFIED
Alejandro W TollnerItalyAnna Fali RENEWAL
Leon J BriddickItalyIoni Bowcher NEGOTIATION
Adams M MaletIndiaBernardo Dominic UNQUALIFIED
Izzy Z BologniaSpainStephen Shaw QUALIFIED
Ricardo R InouyeFranceOnyama Limba PROPOSAL
Maria M MarrierArgentinaAmy Elsner NEGOTIATION
Rodrigues V FigeroaArgentinaIoni Bowcher RENEWAL
Leon G RulapaughItalyOnyama Limba PROPOSAL
Ashley X MorascaJapanAsiya Javayant RENEWAL
Izzy S IturbideArgentinaIvan Magalhaes RENEWAL
James O BologniaRussiaStephen Shaw NEW
Jennifer A NestleUnited KingdomAnna Fali PROPOSAL
Deepesh P NickaSpainIvan Magalhaes RENEWAL
Frozen Columns
Name
Ivar T Butt
Ricardo L Caudy
Faith G Kusko
Sinclair Z Schemmer
Izzy L Chui
Francesco T Perin
Munro C Kolmetz
Adams K Shinko
Aruna F Whobrey
Jennifer Q Rim
Antonio N Ferencz
Leon J Royster
Claire F Slusarski
David O Gillian
Jennifer O Perin
Deepesh J Dilliard
Mujtaba I Bowley
Deepesh C Bowley
Jennifer H Inouye
Kadeem D Foller
Wickens T Venere
Costa R Malet
Chavez I Kolmetz
Alejandro I Ostrosky
Kadeem C Doe
Antonio C Briddick
Aditya L Nicka
Chavez E Royster
Rodrigues U Gaucho
Johnson E Shinko
Stacey L Briddick
Clifford W Albares
Greenwood G Doe
Wickens L Nicka
Arvin U Marrier
Leon O Figeroa
Mayumi G Foller
Nicolas E Royster
Murillo Z Ferencz
Ivar V Figeroa
Leja H Poquette
Smith T Darakjy
Ivar L Malet
Isabel C Flosi
Isabel G Morasca
Clifford V Rim
Nicolas T Perin
Wickens J Doe
Adams S Morasca
Isabel S Caudy
IdCountryDate
1000Spain2024-06-17
1001Argentina2024-05-27
1002Italy2024-06-04
1003India2024-06-03
1004Australia2024-06-06
1005France2024-06-20
1006Spain2024-06-09
1007Japan2024-06-20
1008United Kingdom2024-05-30
1009Russia2024-06-19
1010Spain2024-06-08
1011France2024-06-17
1012Spain2024-06-03
1013United Kingdom2024-06-04
1014Canada2024-06-11
1015India2024-05-30
1016Italy2024-06-23
1017Germany2024-05-30
1018Spain2024-06-17
1019Australia2024-05-29
1020Spain2024-05-29
1021Brazil2024-05-27
1022Argentina2024-06-09
1023United Kingdom2024-06-16
1024Italy2024-05-28
1025India2024-05-28
1026Russia2024-05-28
1027India2024-06-19
1028Argentina2024-06-01
1029Argentina2024-06-14
1030Spain2024-06-12
1031Argentina2024-06-04
1032Russia2024-06-21
1033Spain2024-06-06
1034India2024-06-15
1035Spain2024-05-31
1036France2024-06-02
1037Spain2024-06-08
1038Italy2024-05-30
1039Argentina2024-05-30
1040Japan2024-05-29
1041United Kingdom2024-05-27
1042Russia2024-06-06
1043Japan2024-06-14
1044Japan2024-06-23
1045France2024-06-21
1046India2024-06-07
1047Australia2024-06-03
1048Spain2024-05-29
1049Italy2024-05-31

On-Demand Data

NameIdCountryDate
Clifford R Ruta1000Spain2024-06-11
Mujtaba A Slusarski1001Italy2024-06-13
Aditya T Paprocki1002India2024-06-19
Jeanfrancois Z Dilliard1003Italy2024-06-16
Leon Z Inouye1004Japan2024-06-22
Mujtaba U Gillian1005United Kingdom2024-05-26
Isabel T Figeroa1006Argentina2024-06-10
Murillo S Bowley1007France2024-06-11
Wickens T Kusko1008Australia2024-06-04
Faith J Paprocki1009Brazil2024-06-07
Emily N Flosi1010Japan2024-06-16
Chavez T Caldarera1011France2024-06-10
Misaki B Amigon1012Brazil2024-06-06
Arvin H Stenseth1013Argentina2024-06-04
Aika I Rim1014France2024-06-09
Nicolas T Doe1015Canada2024-06-13
Isabel M Chui1016India2024-05-31
Kadeem W Flosi1017United Kingdom2024-06-15
Salvatore Z Rulapaugh1018Japan2024-05-27
Leon J Marrier1019Japan2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna E MorascaRussiaBernardo Dominic UNQUALIFIED
Claire A ChuiItalyStephen Shaw UNQUALIFIED
Cody G FlosiJapanIvan Magalhaes NEW
Smith J WaycottUnited KingdomElwin Sharvill RENEWAL
Munro G ChuiJapanAnna Fali PROPOSAL
Jefferson E MaletCanadaElwin Sharvill PROPOSAL
Wickens M VocelkaBrazilAnna Fali QUALIFIED
Kaitlin W ChuiIndiaAmy Elsner RENEWAL
Leja I SergiBrazilIoni Bowcher PROPOSAL
Rodrigues B MaletAustraliaXuxue Feng NEGOTIATION
Costa F DilliardRussiaAsiya Javayant QUALIFIED
Silvio E FigeroaBrazilXuxue Feng PROPOSAL
Francesco E WhobreyArgentinaElwin Sharvill PROPOSAL
Jones H MarrierUnited KingdomAmy Elsner PROPOSAL
Juan G SchemmerArgentinaXuxue Feng NEGOTIATION
Salvatore H RimAustraliaAnna Fali RENEWAL
Leon D SlusarskiIndiaBernardo Dominic PROPOSAL
Smith B TollnerGermanyIoni Bowcher UNQUALIFIED
Salvatore I FlosiAustraliaAnna Fali QUALIFIED
Ashley R GarufiAustraliaOnyama Limba NEW
Alejandro W CampainItalyBernardo Dominic UNQUALIFIED
Leon S GlickBrazilBernardo Dominic UNQUALIFIED
Johnson F ShinkoArgentinaIvan Magalhaes NEW
Kaitlin S GillianAustraliaAnna Fali PROPOSAL
Stacey M ButtCanadaAmy Elsner NEW
James M GillianArgentinaBernardo Dominic PROPOSAL
Isabel H RoysterFranceAmy Elsner NEGOTIATION
Chavez E BowleySpainAnna Fali QUALIFIED
Octavia Y MarrierUnited KingdomAnna Fali UNQUALIFIED
Morrow C PoquetteRussiaBernardo Dominic NEGOTIATION
Jennifer V MacleadArgentinaAmy Elsner RENEWAL
Juan U WaycottSpainOnyama Limba QUALIFIED
Morrow H OstroskyIndiaXuxue Feng PROPOSAL
Smith O NickaBrazilAsiya Javayant RENEWAL
Jeanfrancois O GillianGermanyAsiya Javayant UNQUALIFIED
Ricardo Q VocelkaItalyAnna Fali NEW
Juan N KolmetzIndiaBernardo Dominic NEGOTIATION
Sinclair G NickaAustraliaIvan Magalhaes PROPOSAL
Silvio X GarufiItalyStephen Shaw RENEWAL
Ricardo X NestleRussiaElwin Sharvill 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>