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
Isabel K GlickGermanyIvan Magalhaes NEGOTIATION
Johnson I MacleadRussiaXuxue Feng NEW
Munro E CampainAustraliaAmy Elsner UNQUALIFIED
Izzy G WaycottIndiaStephen Shaw NEGOTIATION
Tony Z WaycottSpainElwin Sharvill RENEWAL
Mujtaba N GlickGermanyXuxue Feng NEGOTIATION
Arvin G ButtItalyAsiya Javayant UNQUALIFIED
Costa V RoysterRussiaStephen Shaw UNQUALIFIED
Kaitlin Q MarrierArgentinaBernardo Dominic QUALIFIED
Costa Z BriddickCanadaXuxue Feng QUALIFIED
Ashley E WieserIndiaAsiya Javayant NEGOTIATION
Mayumi B VenereFranceElwin Sharvill RENEWAL
Clifford G PaprockiUnited KingdomIoni Bowcher NEGOTIATION
Rodrigues W MorascaUnited KingdomBernardo Dominic QUALIFIED
Emily P AmigonAustraliaBernardo Dominic UNQUALIFIED
Greenwood I WhobreyAustraliaElwin Sharvill NEW
Darci Q PerinAustraliaOnyama Limba UNQUALIFIED
Jennifer P CaldareraItalyIoni Bowcher PROPOSAL
Leon G FollerIndiaXuxue Feng UNQUALIFIED
Kaitlin S IturbideSpainStephen Shaw QUALIFIED
Maisha L MaletBrazilAsiya Javayant QUALIFIED
Julie N WaycottArgentinaElwin Sharvill UNQUALIFIED
James R FollerAustraliaAnna Fali NEW
Wickens U WhobreyJapanXuxue Feng PROPOSAL
Leon X StockhamGermanyIvan Magalhaes UNQUALIFIED
Isabel B WieserAustraliaOnyama Limba RENEWAL
Rodrigues P BriddickSpainAmy Elsner NEGOTIATION
Julie N RoysterItalyXuxue Feng NEGOTIATION
Antonio R DoeArgentinaStephen Shaw NEGOTIATION
Mujtaba F StensethCanadaAsiya Javayant UNQUALIFIED
Claire X OldroydSpainXuxue Feng UNQUALIFIED
Antonio G NestleRussiaAsiya Javayant NEW
Ashley E GlickItalyElwin Sharvill NEW
Kaitlin P VenereBrazilXuxue Feng RENEWAL
Julie H SergiBrazilAmy Elsner NEW
Darci B MarrierAustraliaStephen Shaw RENEWAL
Izzy N AmigonItalyAsiya Javayant RENEWAL
Faith R VocelkaSpainStephen Shaw UNQUALIFIED
Maisha W WaycottUnited KingdomBernardo Dominic QUALIFIED
Mayumi F AlbaresRussiaIvan Magalhaes RENEWAL
Murillo M AlbaresUnited KingdomAnna Fali NEGOTIATION
Costa E IturbideBrazilAsiya Javayant PROPOSAL
Claire N KolmetzUnited KingdomBernardo Dominic RENEWAL
Sinclair Z VocelkaCanadaOnyama Limba RENEWAL
Smith C AmigonGermanyBernardo Dominic RENEWAL
Maria U FigeroaBrazilIvan Magalhaes NEGOTIATION
Aruna S InouyeIndiaOnyama Limba NEGOTIATION
Murillo A TollnerCanadaIvan Magalhaes NEGOTIATION
Jones M NestleUnited KingdomAnna Fali RENEWAL
Maisha F GillianRussiaIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Maria Z GillianItalyAnna Fali QUALIFIED
Costa G KuskoUnited KingdomAsiya Javayant NEW
Aditya P BologniaUnited KingdomIoni Bowcher PROPOSAL
Misaki Y ShinkoRussiaBernardo Dominic RENEWAL
Maria I MorascaIndiaOnyama Limba RENEWAL
Maria T MorascaAustraliaXuxue Feng NEW
Rodrigues H FigeroaFranceAmy Elsner PROPOSAL
Leon H DoeArgentinaBernardo Dominic NEW
Octavia B SchemmerJapanAnna Fali UNQUALIFIED
Juan B TollnerUnited KingdomStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Silvio Q VenereItaly2024-06-07Commercial Press RENEWAL8Elwin Sharvill
1001Antonio U OldroydArgentina2024-06-10Morlong Associates QUALIFIED73Ivan Magalhaes
1002Alejandro C SchemmerArgentina2024-06-14Commercial Press NEW95Ivan Magalhaes
1003David X FollerSpain2024-06-20Chemel, James L Cpa QUALIFIED45Stephen Shaw
1004Chavez W SlusarskiCanada2024-06-20Morlong Associates QUALIFIED13Xuxue Feng
1005Maisha D RutaSpain2024-06-11Feiner Bros NEW54Ivan Magalhaes
1006Chavez J SaylorsAustralia2024-06-22Buckley Miller Wright NEGOTIATION33Ivan Magalhaes
1007Nicolas R ShinkoBrazil2024-06-13Rousseaux, Michael Esq RENEWAL83Anna Fali
1008Emily K GarufiUnited Kingdom2024-06-10Chapman, Ross E Esq NEGOTIATION5Anna Fali
1009Juan R StensethSpain2024-06-14Feltz Printing Service UNQUALIFIED71Stephen Shaw
1010Mayumi M DarakjyGermany2024-06-21Feltz Printing Service NEW26Bernardo Dominic
1011Tony C ShinkoIndia2024-05-29Chemel, James L Cpa NEW55Ioni Bowcher
1012Clifford P MacleadJapan2024-06-12Rangoni Of Florence PROPOSAL76Onyama Limba
1013Smith Y SergiCanada2024-06-10Dorl, James J Esq RENEWAL40Ioni Bowcher
1014Emily V KolmetzBrazil2024-06-08Feltz Printing Service QUALIFIED19Asiya Javayant
1015Johnson V PerinCanada2024-05-29Commercial Press NEW58Bernardo Dominic
1016James E AmigonAustralia2024-05-25Commercial Press RENEWAL98Ivan Magalhaes
1017Faith R NestleJapan2024-05-29Chemel, James L Cpa QUALIFIED26Stephen Shaw
1018Jennifer U AmigonFrance2024-06-11Feltz Printing Service PROPOSAL64Anna Fali
1019Stacey U InouyeRussia2024-06-13Chanay, Jeffrey A Esq QUALIFIED54Stephen Shaw
1020Emily F ChuiCanada2024-06-08Feltz Printing Service UNQUALIFIED79Elwin Sharvill
1021Silvio Z MaletCanada2024-06-22Rousseaux, Michael Esq QUALIFIED10Amy Elsner
1022Mayumi A AlbaresJapan2024-06-06Rousseaux, Michael Esq NEW79Elwin Sharvill
1023Mayumi U FlosiAustralia2024-06-16Rousseaux, Michael Esq RENEWAL74Bernardo Dominic
1024James T CaldareraIndia2024-06-22Morlong Associates UNQUALIFIED47Bernardo Dominic
1025Julie I StensethFrance2024-06-14Buckley Miller Wright NEGOTIATION83Elwin Sharvill
1026Misaki W MorascaCanada2024-06-04Printing Dimensions NEGOTIATION73Onyama Limba
1027Deepesh T GlickGermany2024-06-09Printing Dimensions PROPOSAL92Amy Elsner
1028Munro O GillianAustralia2024-06-13Truhlar And Truhlar Attys UNQUALIFIED70Onyama Limba
1029Ashley F BriddickSpain2024-06-01Feiner Bros NEGOTIATION58Ivan Magalhaes
1030Francesco C FigeroaBrazil2024-06-16Truhlar And Truhlar Attys PROPOSAL94Onyama Limba
1031Maisha V DoeRussia2024-06-07Dorl, James J Esq RENEWAL59Ivan Magalhaes
1032Nicolas M StockhamIndia2024-06-11Chapman, Ross E Esq NEGOTIATION40Xuxue Feng
1033Ashley N PaprockiAustralia2024-06-06Feltz Printing Service PROPOSAL46Xuxue Feng
1034Murillo Y WaycottItaly2024-06-10Benton, John B Jr PROPOSAL46Ioni Bowcher
1035Misaki N AmigonGermany2024-06-15Chapman, Ross E Esq NEGOTIATION90Xuxue Feng
1036Jennifer N ButtIndia2024-06-21Buckley Miller Wright UNQUALIFIED60Ioni Bowcher
1037Clifford F StockhamSpain2024-06-04Buckley Miller Wright PROPOSAL20Elwin Sharvill
1038Ashley O MaletAustralia2024-06-11Chemel, James L Cpa QUALIFIED76Asiya Javayant
1039Costa V StockhamAustralia2024-05-28Rousseaux, Michael Esq RENEWAL35Amy Elsner
1040Ivar Z OstroskyItaly2024-06-12Feiner Bros RENEWAL55Onyama Limba
1041Aruna E TollnerFrance2024-05-29Dorl, James J Esq QUALIFIED68Bernardo Dominic
1042Morrow U StensethAustralia2024-06-20King, Christopher A Esq UNQUALIFIED86Amy Elsner
1043Cody G WaycottBrazil2024-06-12Feiner Bros QUALIFIED85Bernardo Dominic
1044Maria D WaycottItaly2024-06-21Feiner Bros RENEWAL34Onyama Limba
1045Costa U AmigonSpain2024-06-21Chanay, Jeffrey A Esq QUALIFIED17Asiya Javayant
1046Faith E RoysterGermany2024-06-21Chemel, James L Cpa UNQUALIFIED44Bernardo Dominic
1047Jones W KolmetzUnited Kingdom2024-05-25Morlong Associates UNQUALIFIED25Bernardo Dominic
1048Maria H VenereAustralia2024-06-11Rousseaux, Michael Esq NEGOTIATION99Amy Elsner
1049Kadeem Z VocelkaAustralia2024-06-22Commercial Press QUALIFIED77Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Wickens X InouyeCanadaIoni Bowcher QUALIFIED
Jones B AmigonCanadaIvan Magalhaes NEW
James N MarrierCanadaAmy Elsner PROPOSAL
Aditya F IturbideCanadaBernardo Dominic RENEWAL
James O DilliardSpainIoni Bowcher NEW
Aika D GlickBrazilIoni Bowcher NEW
Cody D OstroskyGermanyElwin Sharvill NEW
James H RulapaughGermanyBernardo Dominic RENEWAL
Claire L RoysterFranceIvan Magalhaes RENEWAL
Adams Y FigeroaGermanyXuxue Feng UNQUALIFIED
Misaki H FlosiUnited KingdomElwin Sharvill RENEWAL
Julie O NickaGermanyOnyama Limba UNQUALIFIED
Clifford Q SlusarskiBrazilBernardo Dominic NEGOTIATION
Rodrigues G GarufiIndiaOnyama Limba NEGOTIATION
Emily O PerinJapanAmy Elsner RENEWAL
Stacey T DoeRussiaIoni Bowcher RENEWAL
Juan I PaprockiJapanStephen Shaw NEW
Morrow D PoquetteJapanBernardo Dominic NEW
Jefferson W MacleadFranceStephen Shaw RENEWAL
Maria B FigeroaUnited KingdomAnna Fali UNQUALIFIED
Cody S GlickArgentinaAmy Elsner RENEWAL
Deepesh L SaylorsCanadaAsiya Javayant QUALIFIED
Munro R FlosiItalyAsiya Javayant RENEWAL
Aditya A GauchoBrazilAsiya Javayant QUALIFIED
Faith G WaycottJapanBernardo Dominic NEW
Salvatore U BriddickArgentinaXuxue Feng QUALIFIED
Leon P VocelkaGermanyOnyama Limba NEW
Costa S FigeroaFranceIvan Magalhaes QUALIFIED
Kadeem E FollerFranceIoni Bowcher NEGOTIATION
Silvio L InouyeGermanyAmy Elsner UNQUALIFIED
Maisha Y GlickAustraliaAnna Fali PROPOSAL
Murillo H GarufiGermanyElwin Sharvill QUALIFIED
Chavez N NickaRussiaBernardo Dominic NEW
Salvatore G PaprockiFranceAnna Fali NEW
Claire C GarufiItalyAmy Elsner PROPOSAL
James Q ButtItalyOnyama Limba PROPOSAL
Maisha E CaldareraArgentinaIvan Magalhaes QUALIFIED
Stacey V MaletJapanXuxue Feng PROPOSAL
Stacey C SergiUnited KingdomIvan Magalhaes NEW
Misaki S BologniaCanadaBernardo Dominic PROPOSAL
Aika G SergiIndiaAmy Elsner RENEWAL
Silvio S ChuiRussiaStephen Shaw QUALIFIED
Ricardo K CaldareraBrazilBernardo Dominic QUALIFIED
Ivar N BologniaAustraliaBernardo Dominic UNQUALIFIED
Munro V RulapaughFranceBernardo Dominic NEGOTIATION
Izzy I DoeArgentinaBernardo Dominic NEGOTIATION
Chavez B VenereCanadaAmy Elsner NEGOTIATION
Mujtaba O DilliardIndiaIoni Bowcher UNQUALIFIED
Deepesh S FigeroaGermanyIoni Bowcher QUALIFIED
Tony I WieserItalyAsiya Javayant PROPOSAL
Frozen Columns
Name
Munro H Rim
Faith Z Darakjy
Ivar W Ferencz
Cody M Albares
Wickens C Sergi
Leon V Dilliard
Jennifer F Venere
Mayumi P Stenseth
Ricardo G Doe
Nicolas C Maclead
Kaitlin D Oldroyd
Murillo R Waycott
Murillo N Slusarski
Jones H Malet
Ashley W Paprocki
Salvatore N Amigon
James S Whobrey
Misaki S Figeroa
Ricardo B Malet
Leja W Butt
Maisha C Chui
Stacey X Garufi
Ricardo U Doe
Greenwood C Glick
Leja F Darakjy
Sinclair E Darakjy
Misaki W Rim
Rodrigues E Shinko
Mujtaba B Ruta
Salvatore I Albares
Mujtaba T Amigon
David H Caldarera
Johnson B Ferencz
Mayumi P Flosi
James Z Nestle
Stacey N Darakjy
Ivar E Caldarera
Isabel Z Foller
Maisha M Perin
Silvio T Waycott
Leja A Whobrey
Johnson B Garufi
Jefferson N Shinko
Adams M Rulapaugh
Maisha O Tollner
Stacey G Caldarera
David Y Gillian
Jones Q Marrier
Maisha P Kolmetz
Maria D Rulapaugh
IdCountryDate
1000France2024-06-15
1001Russia2024-06-01
1002Argentina2024-06-01
1003United Kingdom2024-06-10
1004India2024-06-13
1005Argentina2024-06-10
1006Brazil2024-06-20
1007Germany2024-06-12
1008Russia2024-05-26
1009Australia2024-06-03
1010Brazil2024-06-03
1011Japan2024-05-26
1012Japan2024-06-10
1013Germany2024-06-23
1014Spain2024-06-13
1015Australia2024-05-26
1016Argentina2024-06-03
1017Russia2024-06-15
1018Canada2024-06-14
1019Australia2024-06-04
1020Japan2024-05-28
1021Germany2024-06-12
1022Russia2024-05-28
1023Spain2024-06-06
1024Brazil2024-06-17
1025France2024-05-26
1026Russia2024-05-28
1027France2024-06-14
1028Russia2024-06-09
1029Germany2024-05-28
1030Germany2024-06-05
1031Brazil2024-06-15
1032Germany2024-06-05
1033Argentina2024-06-15
1034Brazil2024-06-11
1035Australia2024-05-28
1036Germany2024-05-29
1037Brazil2024-06-21
1038Russia2024-05-25
1039Italy2024-06-03
1040United Kingdom2024-06-01
1041Brazil2024-06-14
1042Spain2024-06-01
1043France2024-06-03
1044France2024-06-16
1045Japan2024-05-29
1046Japan2024-06-14
1047India2024-05-31
1048Argentina2024-06-13
1049France2024-06-22

On-Demand Data

NameIdCountryDate
Aruna V Saylors1000Australia2024-05-28
Adams P Perin1001Spain2024-05-25
Smith U Wieser1002Australia2024-06-16
Aditya M Saylors1003Russia2024-06-14
Wickens O Malet1004Japan2024-06-04
Leon A Darakjy1005India2024-06-22
Isabel R Nestle1006Japan2024-05-28
Greenwood Y Garufi1007Argentina2024-06-20
Darci L Briddick1008Germany2024-06-04
Ashley H Ruta1009Australia2024-06-13
Aika C Nicka1010France2024-05-30
Misaki U Kusko1011India2024-06-01
Stacey S Nestle1012France2024-06-07
Tony A Venere1013France2024-05-25
Maria P Bolognia1014Germany2024-06-17
Mayumi F Tollner1015France2024-05-31
Aika B Malet1016France2024-06-13
Mayumi M Wieser1017Russia2024-05-25
Emily O Poquette1018Italy2024-06-03
Octavia S Shinko1019Spain2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson E PoquetteJapanAmy Elsner NEW
Cody E CampainBrazilBernardo Dominic QUALIFIED
Tony V NestleArgentinaAsiya Javayant NEW
Nicolas I GillianIndiaAsiya Javayant QUALIFIED
Silvio A OstroskyIndiaXuxue Feng NEW
Misaki X VocelkaSpainOnyama Limba UNQUALIFIED
Aruna E FigeroaJapanAnna Fali NEW
Claire R NickaBrazilXuxue Feng RENEWAL
David T WaycottRussiaIvan Magalhaes RENEWAL
Johnson J KolmetzGermanyBernardo Dominic QUALIFIED
Cody R GillianSpainAsiya Javayant NEGOTIATION
Rodrigues C BowleyArgentinaIoni Bowcher UNQUALIFIED
Salvatore W FigeroaIndiaOnyama Limba NEGOTIATION
Adams A KuskoUnited KingdomAmy Elsner UNQUALIFIED
Julie I GlickIndiaIvan Magalhaes UNQUALIFIED
Leon F OstroskyUnited KingdomAsiya Javayant NEGOTIATION
Tony R RulapaughUnited KingdomElwin Sharvill UNQUALIFIED
Deepesh Q FerenczIndiaAnna Fali NEW
Isabel X DoeSpainIoni Bowcher NEW
Arvin R BowleyBrazilAsiya Javayant NEGOTIATION
Maria T ChuiFranceIvan Magalhaes RENEWAL
Claire V RoysterCanadaXuxue Feng NEGOTIATION
Adams A RimAustraliaXuxue Feng RENEWAL
Darci J NickaBrazilAsiya Javayant QUALIFIED
Aditya Z VenereFranceStephen Shaw NEW
Murillo C ChuiIndiaStephen Shaw NEGOTIATION
Claire Y PaprockiRussiaIoni Bowcher RENEWAL
Jennifer N VenereIndiaAnna Fali PROPOSAL
Mayumi S PaprockiRussiaStephen Shaw NEGOTIATION
Kadeem N PoquetteFranceIvan Magalhaes QUALIFIED
Jones F SergiGermanyElwin Sharvill UNQUALIFIED
Octavia K OstroskyCanadaXuxue Feng PROPOSAL
Jefferson L RimGermanyBernardo Dominic RENEWAL
Aika X GlickCanadaOnyama Limba NEW
Mujtaba J RimJapanBernardo Dominic NEW
Jennifer Y SlusarskiGermanyElwin Sharvill UNQUALIFIED
Clifford I AmigonGermanyIvan Magalhaes UNQUALIFIED
Octavia N RoysterSpainIvan Magalhaes RENEWAL
Leja D OldroydFranceAnna Fali QUALIFIED
Leon Y ChuiItalyXuxue Feng 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>