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
Francesco T KolmetzArgentinaOnyama Limba RENEWAL
Maria V ShinkoGermanyElwin Sharvill RENEWAL
Jones P SergiCanadaBernardo Dominic NEGOTIATION
James H TollnerAustraliaAnna Fali RENEWAL
Jones P MorascaBrazilIoni Bowcher NEGOTIATION
Octavia T WaycottArgentinaIvan Magalhaes QUALIFIED
Deepesh N RulapaughItalyAsiya Javayant RENEWAL
Francesco I SaylorsBrazilIvan Magalhaes NEW
Claire F DarakjyFranceIvan Magalhaes UNQUALIFIED
Ashley P VenereBrazilElwin Sharvill RENEWAL
James F WhobreyBrazilIoni Bowcher QUALIFIED
Arvin Z NestleFranceIvan Magalhaes RENEWAL
Silvio G SlusarskiBrazilAnna Fali PROPOSAL
James A CaldareraCanadaAmy Elsner RENEWAL
Misaki U GillianRussiaBernardo Dominic QUALIFIED
Maria X BologniaCanadaAnna Fali PROPOSAL
Tony V StockhamJapanBernardo Dominic PROPOSAL
Kaitlin F WhobreyFranceBernardo Dominic RENEWAL
Silvio M OldroydArgentinaBernardo Dominic QUALIFIED
Morrow J NickaAustraliaElwin Sharvill UNQUALIFIED
Francesco R MarrierAustraliaAsiya Javayant QUALIFIED
Cody Y SergiCanadaBernardo Dominic NEGOTIATION
Sinclair F PoquetteArgentinaOnyama Limba UNQUALIFIED
Aika C MaletFranceIvan Magalhaes PROPOSAL
Kaitlin Z BowleySpainXuxue Feng NEW
Ashley E PaprockiFranceAmy Elsner PROPOSAL
Morrow U BologniaArgentinaIoni Bowcher NEW
Antonio C WaycottBrazilIvan Magalhaes QUALIFIED
Antonio F NestleJapanOnyama Limba UNQUALIFIED
Chavez H CaldareraIndiaIoni Bowcher NEGOTIATION
Darci X WieserUnited KingdomBernardo Dominic UNQUALIFIED
David S SaylorsAustraliaXuxue Feng NEGOTIATION
David N RutaJapanIoni Bowcher RENEWAL
Emily Q RutaGermanyOnyama Limba PROPOSAL
Kadeem E AlbaresFranceStephen Shaw NEGOTIATION
Mujtaba V MarrierFranceOnyama Limba NEW
Nicolas E MaletSpainStephen Shaw UNQUALIFIED
Faith R SlusarskiSpainBernardo Dominic NEW
Jeanfrancois Y GlickUnited KingdomAnna Fali QUALIFIED
Morrow L FerenczItalyIvan Magalhaes QUALIFIED
Julie M OldroydSpainAsiya Javayant PROPOSAL
Johnson G GillianCanadaElwin Sharvill NEW
Ashley I WhobreySpainXuxue Feng NEW
Aditya Z KolmetzGermanyElwin Sharvill NEW
Aika E GauchoFranceAmy Elsner NEGOTIATION
Kadeem C VenereSpainIoni Bowcher NEGOTIATION
Johnson G OldroydIndiaIvan Magalhaes NEGOTIATION
Izzy F NickaIndiaOnyama Limba RENEWAL
Isabel C InouyeCanadaAmy Elsner NEW
Jones U NestleArgentinaAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Smith Q GarufiArgentinaAsiya Javayant NEGOTIATION
Faith M KolmetzAustraliaElwin Sharvill NEW
Clifford Q BowleyAustraliaIoni Bowcher QUALIFIED
Jones Z MaletIndiaIoni Bowcher QUALIFIED
Kaitlin H PoquetteRussiaIoni Bowcher NEW
Ashley C GauchoFranceIoni Bowcher RENEWAL
Leja E CampainAustraliaBernardo Dominic QUALIFIED
Kaitlin U RoysterRussiaBernardo Dominic NEW
Greenwood A AlbaresItalyXuxue Feng QUALIFIED
Octavia L KolmetzSpainAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez M GauchoFrance2024-06-13Truhlar And Truhlar Attys RENEWAL31Amy Elsner
1001Jefferson Z DarakjySpain2024-06-10Chanay, Jeffrey A Esq NEGOTIATION8Amy Elsner
1002Jefferson E WieserRussia2024-06-01Chanay, Jeffrey A Esq NEW68Xuxue Feng
1003Maria R IturbideBrazil2024-06-10King, Christopher A Esq NEGOTIATION3Bernardo Dominic
1004Leon V NickaUnited Kingdom2024-06-21Commercial Press PROPOSAL42Asiya Javayant
1005James X MacleadFrance2024-06-15Rangoni Of Florence NEGOTIATION82Bernardo Dominic
1006Salvatore F OstroskyJapan2024-06-09Commercial Press UNQUALIFIED91Asiya Javayant
1007Chavez Z PaprockiFrance2024-06-25Commercial Press PROPOSAL71Ivan Magalhaes
1008Leon J BriddickIndia2024-06-20Commercial Press UNQUALIFIED86Onyama Limba
1009Salvatore V VocelkaArgentina2024-06-23Rangoni Of Florence UNQUALIFIED58Asiya Javayant
1010Misaki U StockhamItaly2024-06-02Feltz Printing Service UNQUALIFIED34Onyama Limba
1011Costa L CampainGermany2024-06-23Feiner Bros NEW80Ioni Bowcher
1012Leon G CaudyIndia2024-06-25Truhlar And Truhlar Attys NEW47Bernardo Dominic
1013Kaitlin F BowleyUnited Kingdom2024-06-09Rousseaux, Michael Esq QUALIFIED88Amy Elsner
1014Darci R CaudyBrazil2024-06-14Feltz Printing Service RENEWAL16Ivan Magalhaes
1015Cody E StockhamSpain2024-06-07Rangoni Of Florence NEW74Stephen Shaw
1016Salvatore T ButtAustralia2024-06-17Benton, John B Jr QUALIFIED76Asiya Javayant
1017Aika T BowleyCanada2024-06-12Feltz Printing Service NEW49Bernardo Dominic
1018Kaitlin Y GillianSpain2024-06-02Printing Dimensions RENEWAL98Onyama Limba
1019Misaki R ShinkoFrance2024-06-20King, Christopher A Esq UNQUALIFIED83Stephen Shaw
1020Deepesh K KuskoIndia2024-06-13Chapman, Ross E Esq UNQUALIFIED74Xuxue Feng
1021Kadeem O MarrierUnited Kingdom2024-06-24Rousseaux, Michael Esq NEGOTIATION64Xuxue Feng
1022Chavez A RimArgentina2024-06-13Feltz Printing Service NEGOTIATION71Onyama Limba
1023Salvatore M WhobreySpain2024-06-24Morlong Associates QUALIFIED60Onyama Limba
1024James F SlusarskiAustralia2024-05-31Truhlar And Truhlar Attys UNQUALIFIED43Elwin Sharvill
1025Deepesh S GillianAustralia2024-06-11Morlong Associates NEW68Amy Elsner
1026Darci C RoysterBrazil2024-06-13Dorl, James J Esq RENEWAL50Xuxue Feng
1027Jefferson J BologniaItaly2024-05-30Benton, John B Jr NEW1Bernardo Dominic
1028Francesco Z GauchoSpain2024-06-20Buckley Miller Wright PROPOSAL20Anna Fali
1029Jennifer Z NestleItaly2024-06-23Feiner Bros UNQUALIFIED59Stephen Shaw
1030Octavia B DoeUnited Kingdom2024-06-14Benton, John B Jr NEGOTIATION65Xuxue Feng
1031Julie Z MaletArgentina2024-06-04Chanay, Jeffrey A Esq QUALIFIED47Xuxue Feng
1032Leon Z ButtGermany2024-06-03Rangoni Of Florence PROPOSAL33Anna Fali
1033Jennifer U AmigonItaly2024-06-16Commercial Press RENEWAL58Onyama Limba
1034Adams Q CampainAustralia2024-06-15Benton, John B Jr NEW14Ioni Bowcher
1035Aditya T CaudyItaly2024-06-07Commercial Press QUALIFIED16Stephen Shaw
1036Smith D BowleyBrazil2024-06-07Buckley Miller Wright PROPOSAL57Amy Elsner
1037Aika O CaudyItaly2024-06-01Benton, John B Jr RENEWAL15Elwin Sharvill
1038Tony B FollerGermany2024-06-03Chapman, Ross E Esq UNQUALIFIED90Anna Fali
1039Munro V SlusarskiArgentina2024-06-22Rangoni Of Florence NEGOTIATION28Bernardo Dominic
1040Rodrigues O GauchoArgentina2024-06-18Rousseaux, Michael Esq PROPOSAL41Xuxue Feng
1041Aruna Z MaletSpain2024-06-06Truhlar And Truhlar Attys UNQUALIFIED75Bernardo Dominic
1042Arvin Y CampainIndia2024-06-12Dorl, James J Esq PROPOSAL85Onyama Limba
1043Claire L FlosiAustralia2024-06-09King, Christopher A Esq NEW54Bernardo Dominic
1044Clifford U MacleadGermany2024-06-03Truhlar And Truhlar Attys UNQUALIFIED74Anna Fali
1045David I DilliardAustralia2024-05-31Truhlar And Truhlar Attys RENEWAL43Elwin Sharvill
1046Cody X RulapaughBrazil2024-06-22Rousseaux, Michael Esq QUALIFIED35Xuxue Feng
1047Tony P FigeroaSpain2024-06-01Feltz Printing Service UNQUALIFIED89Stephen Shaw
1048James N SchemmerFrance2024-06-25Printing Dimensions RENEWAL96Ioni Bowcher
1049James B ShinkoBrazil2024-06-09Rangoni Of Florence PROPOSAL78Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Morrow Y FollerCanadaBernardo Dominic QUALIFIED
Chavez Z ButtRussiaXuxue Feng RENEWAL
Misaki Q CaudyFranceBernardo Dominic PROPOSAL
Chavez U NickaItalyIvan Magalhaes UNQUALIFIED
Ashley T TollnerSpainIvan Magalhaes NEGOTIATION
Tony J VocelkaAustraliaIoni Bowcher PROPOSAL
Antonio R PaprockiAustraliaXuxue Feng NEW
Aika I VocelkaCanadaBernardo Dominic PROPOSAL
Sinclair Q MaletBrazilXuxue Feng QUALIFIED
Emily B GauchoRussiaElwin Sharvill NEGOTIATION
Emily U BowleyIndiaOnyama Limba NEW
Cody N CaudyIndiaAnna Fali NEGOTIATION
Arvin C FlosiArgentinaBernardo Dominic NEW
Kadeem K KuskoArgentinaBernardo Dominic RENEWAL
Jennifer S MarrierSpainIoni Bowcher NEGOTIATION
Clifford V KuskoBrazilBernardo Dominic PROPOSAL
Antonio S IturbideItalyAnna Fali NEW
Faith N CampainArgentinaIoni Bowcher PROPOSAL
Leon I BowleyAustraliaIoni Bowcher PROPOSAL
Adams G RutaFranceIoni Bowcher QUALIFIED
Tony D RulapaughUnited KingdomIvan Magalhaes RENEWAL
Arvin N BriddickGermanyBernardo Dominic UNQUALIFIED
David N WieserJapanBernardo Dominic PROPOSAL
Ashley B ChuiIndiaBernardo Dominic NEW
Aika M WaycottItalyAnna Fali UNQUALIFIED
Ashley Y RutaCanadaAnna Fali RENEWAL
Mayumi W AlbaresBrazilAmy Elsner PROPOSAL
Arvin K FerenczCanadaStephen Shaw NEGOTIATION
Tony C TollnerAustraliaXuxue Feng QUALIFIED
Costa F BriddickArgentinaElwin Sharvill UNQUALIFIED
Ricardo J VocelkaGermanyIvan Magalhaes QUALIFIED
Adams E CaldareraIndiaXuxue Feng UNQUALIFIED
Kadeem Z GillianSpainXuxue Feng PROPOSAL
Ivar V DoeJapanIvan Magalhaes NEGOTIATION
Alejandro J ButtRussiaAsiya Javayant NEGOTIATION
Octavia Q GlickBrazilBernardo Dominic NEW
Emily S AmigonSpainBernardo Dominic NEGOTIATION
Aika X InouyeItalyAmy Elsner UNQUALIFIED
Jeanfrancois Q SaylorsItalyAsiya Javayant NEW
Chavez D FollerSpainXuxue Feng QUALIFIED
David S GauchoItalyXuxue Feng NEGOTIATION
Leja G WieserIndiaAnna Fali PROPOSAL
Aika D MarrierRussiaOnyama Limba QUALIFIED
Sinclair K DoeRussiaBernardo Dominic QUALIFIED
Maria P DarakjyCanadaAnna Fali NEGOTIATION
Wickens E OldroydJapanElwin Sharvill NEW
Aruna D WaycottItalyAsiya Javayant RENEWAL
Francesco F MaletUnited KingdomAsiya Javayant RENEWAL
Julie B DilliardFranceIvan Magalhaes UNQUALIFIED
Wickens D StensethUnited KingdomBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Mayumi N Campain
Ricardo Y Perin
Ashley G Figeroa
Greenwood M Caldarera
Ricardo Y Caldarera
Ricardo L Briddick
Misaki O Glick
Deepesh H Garufi
Costa H Dilliard
Clifford E Dilliard
Francesco E Morasca
Juan T Slusarski
Deepesh R Oldroyd
Chavez A Rim
Jefferson C Maclead
Wickens A Sergi
Silvio U Chui
Kadeem O Paprocki
Antonio V Stockham
David U Foller
Julie J Venere
Arvin V Caldarera
Adams C Figeroa
Morrow J Wieser
Greenwood S Nicka
Stacey Q Glick
Maisha X Tollner
Mujtaba D Nestle
Ashley Z Stockham
Munro P Waycott
Salvatore P Waycott
Smith M Darakjy
Morrow V Amigon
Tony B Nestle
Faith R Whobrey
Clifford O Morasca
Ashley Q Paprocki
Julie O Venere
Salvatore S Tollner
Morrow N Iturbide
Leja V Waycott
Deepesh U Saylors
Deepesh X Bowley
Cody E Stockham
Clifford Q Malet
Kadeem W Poquette
Alejandro E Dilliard
Antonio K Wieser
Murillo F Royster
Isabel X Malet
IdCountryDate
1000Japan2024-06-16
1001Australia2024-06-10
1002Japan2024-05-27
1003France2024-06-20
1004India2024-06-05
1005Japan2024-06-12
1006India2024-05-30
1007Italy2024-06-16
1008France2024-05-30
1009Russia2024-06-05
1010Brazil2024-06-05
1011Spain2024-06-07
1012Australia2024-06-04
1013Germany2024-06-09
1014Spain2024-06-01
1015Russia2024-06-10
1016India2024-06-09
1017Argentina2024-06-19
1018Germany2024-06-24
1019Russia2024-06-04
1020Spain2024-06-03
1021Spain2024-06-22
1022Italy2024-06-11
1023Canada2024-06-08
1024Canada2024-06-02
1025India2024-06-22
1026United Kingdom2024-06-06
1027Germany2024-06-01
1028Spain2024-06-22
1029Canada2024-05-27
1030Canada2024-06-18
1031Argentina2024-06-20
1032Spain2024-06-23
1033France2024-06-13
1034Canada2024-05-29
1035France2024-06-09
1036India2024-06-08
1037Brazil2024-06-19
1038India2024-06-04
1039Japan2024-06-12
1040Italy2024-06-09
1041Germany2024-06-06
1042Brazil2024-06-19
1043Russia2024-05-28
1044Japan2024-06-24
1045Japan2024-06-22
1046United Kingdom2024-06-23
1047Argentina2024-06-14
1048Russia2024-06-17
1049United Kingdom2024-06-06

On-Demand Data

NameIdCountryDate
Maria P Sergi1000Argentina2024-06-05
Johnson V Malet1001Germany2024-06-22
Ivar D Malet1002Germany2024-06-09
Costa K Albares1003Australia2024-06-03
Smith D Garufi1004Italy2024-06-12
Murillo I Shinko1005Canada2024-06-23
Chavez J Waycott1006United Kingdom2024-06-16
Mujtaba Y Butt1007Australia2024-05-29
Aruna O Ostrosky1008Argentina2024-05-31
Tony R Whobrey1009Japan2024-06-14
Wickens E Foller1010Russia2024-06-13
Mujtaba F Caldarera1011Australia2024-06-03
Jones G Amigon1012Italy2024-05-31
Silvio S Briddick1013Argentina2024-06-25
Salvatore R Bolognia1014Japan2024-06-14
Leja D Caldarera1015Australia2024-06-16
Cody W Iturbide1016Brazil2024-06-06
Aruna G Dilliard1017France2024-06-18
Isabel Q Shinko1018United Kingdom2024-06-10
Ivar H Morasca1019Canada2024-06-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin B CaudyJapanAnna Fali UNQUALIFIED
Octavia C ShinkoRussiaIoni Bowcher RENEWAL
Wickens W KuskoIndiaXuxue Feng UNQUALIFIED
Murillo J DoeItalyIvan Magalhaes QUALIFIED
Alejandro Y MaletItalyIoni Bowcher NEW
Ashley P GlickIndiaIoni Bowcher UNQUALIFIED
Johnson K SaylorsJapanOnyama Limba NEW
Izzy W GauchoRussiaOnyama Limba UNQUALIFIED
Murillo N BriddickUnited KingdomAnna Fali QUALIFIED
Ivar M TollnerBrazilIoni Bowcher PROPOSAL
Arvin I ShinkoAustraliaElwin Sharvill NEGOTIATION
Sinclair U KolmetzItalyAmy Elsner NEW
Chavez Z GauchoSpainXuxue Feng PROPOSAL
Maria Q WhobreyUnited KingdomElwin Sharvill UNQUALIFIED
Aika C ShinkoCanadaBernardo Dominic UNQUALIFIED
Ashley A WieserItalyAsiya Javayant QUALIFIED
Murillo J KolmetzBrazilIoni Bowcher QUALIFIED
Ricardo R StensethSpainAnna Fali UNQUALIFIED
Silvio Q GillianItalyAmy Elsner NEW
Morrow B SergiItalyAmy Elsner QUALIFIED
Ricardo F AlbaresItalyAsiya Javayant PROPOSAL
Leja C OstroskyFranceStephen Shaw NEW
Emily J PaprockiJapanIvan Magalhaes RENEWAL
Kaitlin T CaldareraBrazilIvan Magalhaes RENEWAL
Silvio V WhobreyItalyAmy Elsner QUALIFIED
Maisha N StensethArgentinaAmy Elsner UNQUALIFIED
Silvio V AlbaresUnited KingdomAsiya Javayant QUALIFIED
Mayumi V GlickSpainIvan Magalhaes NEGOTIATION
Isabel Q OldroydFranceAnna Fali NEGOTIATION
Aika K FerenczRussiaAsiya Javayant NEW
Kaitlin F InouyeUnited KingdomXuxue Feng UNQUALIFIED
Cody W OstroskyRussiaBernardo Dominic UNQUALIFIED
Jones Z AlbaresIndiaBernardo Dominic NEW
Clifford D MorascaUnited KingdomAsiya Javayant QUALIFIED
Tony M VocelkaSpainIvan Magalhaes NEGOTIATION
Stacey E FlosiIndiaBernardo Dominic UNQUALIFIED
Costa F GlickFranceStephen Shaw QUALIFIED
Ricardo G StockhamFranceAsiya Javayant NEGOTIATION
James J SchemmerAustraliaOnyama Limba NEGOTIATION
Aditya Q DoeAustraliaElwin Sharvill 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>