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 K DarakjyArgentinaAmy Elsner UNQUALIFIED
Aika Q CaudySpainAmy Elsner NEW
Jeanfrancois V PoquetteSpainAsiya Javayant NEW
Isabel Y BowleyArgentinaOnyama Limba QUALIFIED
Leon W WhobreyCanadaIoni Bowcher UNQUALIFIED
Costa R RoysterFranceIoni Bowcher NEW
Nicolas V KolmetzJapanIoni Bowcher PROPOSAL
Misaki I SergiFranceElwin Sharvill RENEWAL
Antonio P DarakjyJapanIvan Magalhaes UNQUALIFIED
Emily V GauchoArgentinaElwin Sharvill RENEWAL
Isabel F KolmetzSpainElwin Sharvill QUALIFIED
Costa H SlusarskiSpainAmy Elsner NEW
Murillo O DoeItalyBernardo Dominic UNQUALIFIED
Jeanfrancois C BriddickAustraliaBernardo Dominic UNQUALIFIED
Aruna S BowleyIndiaIoni Bowcher QUALIFIED
Izzy T StensethAustraliaAsiya Javayant UNQUALIFIED
Wickens J WaycottSpainBernardo Dominic NEW
Jones J PerinJapanBernardo Dominic UNQUALIFIED
Ivar L CampainGermanyAnna Fali UNQUALIFIED
Wickens P RutaBrazilBernardo Dominic NEW
Johnson H WhobreyFranceStephen Shaw UNQUALIFIED
Salvatore J IturbideItalyElwin Sharvill PROPOSAL
Maisha G RimUnited KingdomAnna Fali NEW
James J DarakjyFranceAnna Fali RENEWAL
Wickens S MacleadJapanXuxue Feng PROPOSAL
Clifford G MarrierUnited KingdomBernardo Dominic RENEWAL
Izzy O RulapaughItalyStephen Shaw RENEWAL
Emily S MaletCanadaIoni Bowcher QUALIFIED
Mujtaba I MacleadUnited KingdomStephen Shaw RENEWAL
Leja O CaldareraGermanyIoni Bowcher NEGOTIATION
Deepesh S BologniaFranceIoni Bowcher RENEWAL
Maisha F GillianCanadaXuxue Feng RENEWAL
Octavia R WhobreyJapanIvan Magalhaes NEW
Kaitlin U NestleCanadaOnyama Limba RENEWAL
Ivar A NestleGermanyStephen Shaw NEGOTIATION
Faith S NickaGermanyAnna Fali RENEWAL
David H BriddickGermanyAmy Elsner NEW
Mujtaba H CaudyUnited KingdomOnyama Limba PROPOSAL
Jones W KuskoAustraliaXuxue Feng QUALIFIED
Silvio T GlickGermanyBernardo Dominic UNQUALIFIED
Ivar Q KuskoUnited KingdomBernardo Dominic QUALIFIED
Chavez F GlickUnited KingdomIoni Bowcher QUALIFIED
Antonio D ChuiAustraliaXuxue Feng QUALIFIED
Jones C FlosiCanadaIoni Bowcher RENEWAL
Maisha Z BologniaIndiaElwin Sharvill RENEWAL
Sinclair U FollerSpainOnyama Limba UNQUALIFIED
Emily D IturbideSpainXuxue Feng QUALIFIED
Isabel H RoysterGermanyAmy Elsner UNQUALIFIED
Ashley B StockhamAustraliaIoni Bowcher PROPOSAL
Wickens B VocelkaUnited KingdomAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Costa K SchemmerIndiaBernardo Dominic RENEWAL
Murillo U RimFranceIvan Magalhaes QUALIFIED
Leja U ShinkoFranceIoni Bowcher NEGOTIATION
Jefferson P RoysterJapanIvan Magalhaes PROPOSAL
Julie B NestleItalyAsiya Javayant QUALIFIED
David M PoquetteGermanyXuxue Feng QUALIFIED
Salvatore L RulapaughSpainBernardo Dominic NEW
Greenwood O WaycottIndiaBernardo Dominic NEW
Julie V BriddickRussiaIvan Magalhaes NEW
Morrow A TollnerFranceAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer S AlbaresItaly2024-06-07Benton, John B Jr UNQUALIFIED75Xuxue Feng
1001Kadeem H DoeItaly2024-05-28Feltz Printing Service QUALIFIED39Onyama Limba
1002Sinclair F GillianGermany2024-06-11King, Christopher A Esq PROPOSAL5Asiya Javayant
1003Faith V DarakjyGermany2024-06-18Printing Dimensions PROPOSAL5Amy Elsner
1004Claire N GlickBrazil2024-06-08Chemel, James L Cpa NEGOTIATION66Amy Elsner
1005Nicolas J DoeGermany2024-06-07Chemel, James L Cpa PROPOSAL40Anna Fali
1006Ivar Y AlbaresItaly2024-06-12Rangoni Of Florence QUALIFIED39Anna Fali
1007Munro Q ButtArgentina2024-06-09Feiner Bros QUALIFIED64Xuxue Feng
1008Kaitlin E DoeCanada2024-06-01Chapman, Ross E Esq NEGOTIATION48Amy Elsner
1009Smith M MorascaJapan2024-05-28Dorl, James J Esq PROPOSAL49Onyama Limba
1010Darci J RoysterGermany2024-05-25Printing Dimensions UNQUALIFIED2Amy Elsner
1011Arvin E ShinkoSpain2024-05-25Dorl, James J Esq UNQUALIFIED9Anna Fali
1012Smith A SaylorsFrance2024-06-06Chanay, Jeffrey A Esq NEW89Ioni Bowcher
1013Isabel K CaudyBrazil2024-06-08Commercial Press NEW46Xuxue Feng
1014Julie O ShinkoJapan2024-06-01Chemel, James L Cpa QUALIFIED17Bernardo Dominic
1015Mayumi Q GlickFrance2024-06-07Morlong Associates RENEWAL27Ioni Bowcher
1016Isabel F VocelkaGermany2024-06-04King, Christopher A Esq QUALIFIED63Amy Elsner
1017Murillo R IturbideAustralia2024-05-25Commercial Press RENEWAL12Ivan Magalhaes
1018Rodrigues A SaylorsArgentina2024-06-14King, Christopher A Esq NEW31Asiya Javayant
1019Greenwood E MarrierUnited Kingdom2024-06-05Feiner Bros PROPOSAL49Bernardo Dominic
1020Ivar P DilliardArgentina2024-06-04Buckley Miller Wright NEGOTIATION84Amy Elsner
1021Munro Y KolmetzSpain2024-05-26Feiner Bros UNQUALIFIED71Stephen Shaw
1022Leon P FerenczArgentina2024-06-03Buckley Miller Wright UNQUALIFIED88Ioni Bowcher
1023Salvatore H SaylorsFrance2024-06-08Commercial Press NEGOTIATION28Anna Fali
1024Johnson H VocelkaJapan2024-06-04Chanay, Jeffrey A Esq NEGOTIATION97Stephen Shaw
1025Sinclair G RutaBrazil2024-06-15Morlong Associates PROPOSAL86Anna Fali
1026Tony V NickaBrazil2024-06-10Chanay, Jeffrey A Esq NEW34Bernardo Dominic
1027Tony T BriddickItaly2024-06-04Commercial Press RENEWAL64Amy Elsner
1028Alejandro V MaletIndia2024-06-19Chemel, James L Cpa NEGOTIATION7Bernardo Dominic
1029James M KuskoRussia2024-06-10Rangoni Of Florence UNQUALIFIED5Anna Fali
1030Claire X DarakjyIndia2024-06-17Dorl, James J Esq UNQUALIFIED73Asiya Javayant
1031Jeanfrancois S IturbideCanada2024-06-16Rangoni Of Florence RENEWAL3Ioni Bowcher
1032Wickens L WieserCanada2024-05-25Rangoni Of Florence NEGOTIATION23Bernardo Dominic
1033Isabel O ShinkoItaly2024-05-25King, Christopher A Esq NEGOTIATION97Bernardo Dominic
1034Chavez T IturbideBrazil2024-05-28Benton, John B Jr NEW1Xuxue Feng
1035Julie A NestleSpain2024-05-31Benton, John B Jr QUALIFIED85Stephen Shaw
1036Arvin G CampainIndia2024-06-20Printing Dimensions NEW83Elwin Sharvill
1037Munro Y RimArgentina2024-06-10Rangoni Of Florence PROPOSAL18Elwin Sharvill
1038Stacey N CaldareraCanada2024-06-01Dorl, James J Esq RENEWAL30Onyama Limba
1039Chavez L RulapaughGermany2024-06-17Benton, John B Jr QUALIFIED38Amy Elsner
1040Murillo B NestleSpain2024-06-17Buckley Miller Wright NEW54Asiya Javayant
1041Jones L CampainItaly2024-06-11King, Christopher A Esq NEW47Xuxue Feng
1042Kadeem X FigeroaJapan2024-05-26Feiner Bros PROPOSAL68Onyama Limba
1043Morrow K OstroskyJapan2024-06-22Benton, John B Jr UNQUALIFIED82Asiya Javayant
1044Salvatore R SaylorsSpain2024-06-11Morlong Associates QUALIFIED33Stephen Shaw
1045Faith V ChuiAustralia2024-06-22Truhlar And Truhlar Attys RENEWAL77Amy Elsner
1046Wickens G ShinkoItaly2024-06-15Printing Dimensions QUALIFIED15Onyama Limba
1047Mayumi P ChuiGermany2024-06-16Chapman, Ross E Esq NEGOTIATION93Asiya Javayant
1048Misaki O TollnerUnited Kingdom2024-05-28Rousseaux, Michael Esq NEW58Stephen Shaw
1049Ashley A SergiJapan2024-06-12Chapman, Ross E Esq NEW76Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Alejandro X PerinJapanAmy Elsner NEW
Jefferson S RimSpainBernardo Dominic UNQUALIFIED
James U DoeArgentinaStephen Shaw NEW
Sinclair I MacleadBrazilStephen Shaw UNQUALIFIED
Mayumi E SlusarskiSpainAsiya Javayant NEW
Emily V SaylorsRussiaStephen Shaw NEGOTIATION
Morrow E SlusarskiItalyIoni Bowcher RENEWAL
Ricardo O FerenczIndiaXuxue Feng UNQUALIFIED
Deepesh W SlusarskiFranceOnyama Limba NEGOTIATION
Ricardo J VocelkaIndiaIvan Magalhaes NEGOTIATION
Nicolas L RimUnited KingdomXuxue Feng RENEWAL
Ricardo K RulapaughItalyXuxue Feng UNQUALIFIED
Sinclair Z StensethSpainAsiya Javayant UNQUALIFIED
Emily H InouyeAustraliaIoni Bowcher UNQUALIFIED
Misaki U KolmetzFranceBernardo Dominic NEW
Leon Y IturbideCanadaAsiya Javayant PROPOSAL
Mayumi J StockhamSpainBernardo Dominic NEGOTIATION
Claire T GlickJapanXuxue Feng NEW
David F CampainCanadaStephen Shaw NEW
Cody P VenereGermanyXuxue Feng PROPOSAL
Stacey Z StockhamIndiaElwin Sharvill RENEWAL
Aditya F RulapaughIndiaStephen Shaw NEW
Octavia M DoeIndiaAmy Elsner QUALIFIED
Chavez D RoysterGermanyElwin Sharvill RENEWAL
Ashley V FollerSpainXuxue Feng RENEWAL
Sinclair A RoysterCanadaElwin Sharvill NEW
Arvin L SergiIndiaStephen Shaw NEW
Darci Y SlusarskiFranceAsiya Javayant UNQUALIFIED
Greenwood V WhobreySpainStephen Shaw QUALIFIED
Chavez F GillianJapanAsiya Javayant NEGOTIATION
Clifford D WaycottItalyXuxue Feng UNQUALIFIED
Greenwood R StensethArgentinaAsiya Javayant NEW
Deepesh V NestleRussiaAsiya Javayant NEW
Aika Y InouyeIndiaOnyama Limba NEW
Ivar S FlosiBrazilElwin Sharvill NEW
Maisha U AmigonIndiaAsiya Javayant NEGOTIATION
Morrow S OstroskyBrazilElwin Sharvill NEW
Sinclair J MaletArgentinaBernardo Dominic QUALIFIED
Kadeem U BriddickIndiaAnna Fali NEGOTIATION
Jeanfrancois X WaycottRussiaAsiya Javayant QUALIFIED
Greenwood J MaletCanadaIoni Bowcher PROPOSAL
Octavia A AlbaresFranceBernardo Dominic NEW
Tony K MorascaAustraliaAnna Fali QUALIFIED
Francesco C IturbideRussiaElwin Sharvill UNQUALIFIED
Isabel R OldroydSpainElwin Sharvill NEW
Jeanfrancois P RulapaughGermanyIvan Magalhaes NEGOTIATION
Rodrigues D FigeroaJapanIvan Magalhaes QUALIFIED
Maria Y RutaItalyOnyama Limba NEGOTIATION
Tony M BowleyCanadaXuxue Feng UNQUALIFIED
Aika X PerinBrazilAsiya Javayant NEW
Frozen Columns
Name
Murillo Y Nestle
Aditya D Kolmetz
Ivar E Dilliard
Clifford P Poquette
Johnson I Poquette
Deepesh H Campain
James D Marrier
Rodrigues H Ferencz
Rodrigues U Kolmetz
Munro Z Rulapaugh
Juan G Flosi
Misaki I Marrier
Kaitlin F Rim
Johnson P Stockham
Murillo G Dilliard
Maria U Albares
Aruna K Caldarera
Emily H Bowley
Silvio L Darakjy
Arvin Q Wieser
Kaitlin R Amigon
Alejandro D Tollner
Salvatore X Caudy
Francesco Y Vocelka
Jennifer X Caudy
Juan D Malet
Rodrigues L Foller
Jefferson Y Vocelka
Stacey S Butt
David I Kusko
Ricardo O Doe
Clifford E Schemmer
Isabel P Gaucho
David O Nestle
Sinclair F Kolmetz
Francesco E Butt
Alejandro V Ostrosky
Leon R Malet
Johnson R Doe
Cody I Shinko
Smith Y Marrier
Aika H Perin
Stacey P Maclead
Murillo S Schemmer
Ashley S Albares
Juan D Doe
Misaki Y Albares
Arvin C Nestle
Isabel C Schemmer
Greenwood I Maclead
IdCountryDate
1000France2024-06-04
1001Italy2024-06-12
1002Australia2024-05-25
1003Germany2024-06-22
1004Russia2024-06-06
1005Italy2024-06-13
1006Russia2024-06-19
1007Italy2024-06-21
1008Brazil2024-06-07
1009Japan2024-05-29
1010United Kingdom2024-06-16
1011Germany2024-06-04
1012France2024-06-18
1013Argentina2024-06-09
1014Germany2024-06-13
1015France2024-05-29
1016Russia2024-06-11
1017India2024-06-12
1018Brazil2024-06-04
1019Argentina2024-06-12
1020Italy2024-06-16
1021Spain2024-06-04
1022Australia2024-05-31
1023Germany2024-05-29
1024United Kingdom2024-06-21
1025Australia2024-05-25
1026France2024-05-29
1027Japan2024-06-22
1028Australia2024-06-17
1029France2024-05-30
1030Russia2024-05-30
1031Australia2024-06-13
1032Argentina2024-06-11
1033Canada2024-05-26
1034Germany2024-06-08
1035Italy2024-06-18
1036Japan2024-06-03
1037Brazil2024-06-16
1038Russia2024-06-09
1039Canada2024-05-30
1040India2024-05-27
1041Russia2024-06-05
1042France2024-06-11
1043Italy2024-06-01
1044Russia2024-06-22
1045France2024-05-31
1046Japan2024-06-07
1047Russia2024-06-22
1048Germany2024-06-21
1049Russia2024-06-15

On-Demand Data

NameIdCountryDate
Smith E Stenseth1000Australia2024-06-16
Claire L Marrier1001Japan2024-06-16
Juan O Rim1002Australia2024-05-28
Clifford N Poquette1003India2024-06-19
Octavia R Ruta1004Australia2024-06-01
Salvatore T Kusko1005Russia2024-05-31
Julie O Maclead1006India2024-06-21
Ashley H Flosi1007Italy2024-05-31
Morrow E Maclead1008Canada2024-05-28
Maisha O Nicka1009Canada2024-05-27
Adams K Saylors1010Russia2024-06-20
Salvatore T Ferencz1011Spain2024-06-01
Silvio D Shinko1012Germany2024-06-16
Leja Y Royster1013India2024-06-04
Maisha R Ostrosky1014Germany2024-05-27
Darci R Stockham1015Brazil2024-06-18
Ashley M Royster1016Canada2024-06-12
Kadeem I Paprocki1017Argentina2024-06-07
Juan X Figeroa1018Japan2024-06-05
Chavez C Rim1019Canada2024-06-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody L GillianBrazilAsiya Javayant QUALIFIED
Misaki S KolmetzAustraliaAmy Elsner NEW
Morrow Z SchemmerFranceIoni Bowcher UNQUALIFIED
Isabel U FlosiAustraliaAnna Fali NEW
Ivar I VocelkaIndiaOnyama Limba NEGOTIATION
Jones W ChuiFranceStephen Shaw NEGOTIATION
Faith C BowleyIndiaStephen Shaw PROPOSAL
Alejandro A ChuiAustraliaAmy Elsner NEGOTIATION
Leon N VocelkaCanadaElwin Sharvill NEW
Stacey V KuskoIndiaElwin Sharvill NEGOTIATION
Rodrigues L CampainGermanyElwin Sharvill PROPOSAL
Silvio C PoquetteIndiaAmy Elsner QUALIFIED
Nicolas Z KuskoAustraliaIoni Bowcher NEGOTIATION
Tony I NestleSpainElwin Sharvill RENEWAL
Salvatore L MacleadArgentinaElwin Sharvill UNQUALIFIED
Octavia G FlosiBrazilBernardo Dominic PROPOSAL
Wickens F DarakjyBrazilElwin Sharvill UNQUALIFIED
Adams H GillianItalyBernardo Dominic NEGOTIATION
Deepesh U DarakjyIndiaAmy Elsner UNQUALIFIED
Francesco Z CaudyBrazilStephen Shaw PROPOSAL
Munro R ShinkoJapanAmy Elsner QUALIFIED
Francesco E BowleyCanadaAsiya Javayant RENEWAL
Mujtaba D FlosiItalyAmy Elsner NEGOTIATION
James H AmigonSpainIvan Magalhaes QUALIFIED
Maria C IturbideGermanyOnyama Limba NEW
Isabel C VenereSpainElwin Sharvill PROPOSAL
Misaki Q AmigonArgentinaAnna Fali UNQUALIFIED
Munro A RutaArgentinaIoni Bowcher QUALIFIED
Adams Z DarakjySpainIvan Magalhaes QUALIFIED
Stacey P StensethCanadaIvan Magalhaes NEGOTIATION
Antonio P MarrierArgentinaXuxue Feng UNQUALIFIED
Deepesh L ButtFranceXuxue Feng NEGOTIATION
Ricardo F AmigonBrazilIoni Bowcher NEGOTIATION
Jennifer I VenereFranceOnyama Limba NEGOTIATION
Morrow W ButtGermanyStephen Shaw NEGOTIATION
Jefferson P MorascaSpainElwin Sharvill RENEWAL
Adams O ShinkoSpainBernardo Dominic UNQUALIFIED
Jefferson W SergiUnited KingdomElwin Sharvill UNQUALIFIED
Ricardo P RutaBrazilBernardo Dominic NEW
Morrow A NickaItalyElwin Sharvill QUALIFIED

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