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
Adams A KuskoArgentinaAmy Elsner NEW
Rodrigues X BriddickFranceIvan Magalhaes RENEWAL
Alejandro W BriddickCanadaAmy Elsner UNQUALIFIED
Greenwood D CaudyRussiaOnyama Limba NEGOTIATION
Claire K NestleAustraliaIoni Bowcher PROPOSAL
Greenwood A RimAustraliaElwin Sharvill NEGOTIATION
Aditya F TollnerFranceOnyama Limba PROPOSAL
Salvatore F CaudyItalyIvan Magalhaes PROPOSAL
Kadeem A DarakjyRussiaIoni Bowcher PROPOSAL
David C FerenczAustraliaOnyama Limba UNQUALIFIED
Ivar U GarufiArgentinaElwin Sharvill NEW
Leon L GillianArgentinaIoni Bowcher PROPOSAL
Adams Z AmigonAustraliaStephen Shaw NEGOTIATION
Emily N PerinSpainOnyama Limba PROPOSAL
Aruna C OstroskyJapanAmy Elsner PROPOSAL
Maisha E MaletBrazilAnna Fali NEW
Murillo O TollnerBrazilOnyama Limba PROPOSAL
Deepesh A AlbaresBrazilAnna Fali UNQUALIFIED
Aruna L BriddickArgentinaIoni Bowcher PROPOSAL
Francesco F SergiFranceElwin Sharvill NEW
Ricardo F MorascaFranceIoni Bowcher UNQUALIFIED
Deepesh F AlbaresJapanBernardo Dominic NEW
Morrow D WaycottCanadaIvan Magalhaes NEGOTIATION
Cody K DarakjyIndiaIvan Magalhaes NEGOTIATION
Wickens P GlickItalyAmy Elsner PROPOSAL
Ricardo S VocelkaAustraliaIoni Bowcher QUALIFIED
Misaki Z StensethAustraliaAnna Fali RENEWAL
Emily T WhobreyBrazilIvan Magalhaes QUALIFIED
Clifford Y GarufiCanadaIvan Magalhaes RENEWAL
Wickens N VocelkaFranceOnyama Limba QUALIFIED
Leja D DarakjySpainXuxue Feng RENEWAL
Isabel L RutaRussiaAmy Elsner QUALIFIED
James R BologniaBrazilIoni Bowcher QUALIFIED
Tony N AmigonCanadaAsiya Javayant NEGOTIATION
Aika P SlusarskiItalyStephen Shaw RENEWAL
Munro U MaletArgentinaXuxue Feng NEW
Emily I BriddickRussiaElwin Sharvill NEGOTIATION
Mayumi H MaletSpainXuxue Feng QUALIFIED
Maisha W IturbideCanadaAsiya Javayant UNQUALIFIED
Smith R IturbideArgentinaAnna Fali UNQUALIFIED
Faith U MacleadUnited KingdomBernardo Dominic NEW
Kadeem Z GarufiFranceAnna Fali UNQUALIFIED
Rodrigues A RimItalyAnna Fali QUALIFIED
Munro S CampainCanadaIvan Magalhaes NEW
Salvatore J RimFranceStephen Shaw NEGOTIATION
Chavez O WieserAustraliaIvan Magalhaes PROPOSAL
Mujtaba B StockhamFranceElwin Sharvill PROPOSAL
Clifford Q RimIndiaAsiya Javayant PROPOSAL
Salvatore Z MorascaJapanStephen Shaw PROPOSAL
Chavez D GillianGermanyIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Salvatore W SergiJapanStephen Shaw UNQUALIFIED
Darci S WaycottArgentinaAmy Elsner UNQUALIFIED
Maria K RoysterFranceXuxue Feng RENEWAL
Aditya M CampainCanadaIoni Bowcher UNQUALIFIED
Clifford F SaylorsIndiaAnna Fali UNQUALIFIED
Johnson Y OstroskyFranceAmy Elsner PROPOSAL
Arvin C FerenczRussiaAmy Elsner PROPOSAL
Aditya N SlusarskiRussiaAnna Fali UNQUALIFIED
Smith Z SaylorsJapanIoni Bowcher NEW
Mayumi X OstroskyBrazilAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Cody P VenereGermany2024-06-04Truhlar And Truhlar Attys NEGOTIATION79Asiya Javayant
1001Jones W WieserSpain2024-06-18Feltz Printing Service UNQUALIFIED5Onyama Limba
1002Julie N SlusarskiGermany2024-05-26Benton, John B Jr NEGOTIATION82Bernardo Dominic
1003Jones S GillianGermany2024-06-07Feiner Bros UNQUALIFIED56Asiya Javayant
1004Munro F WieserBrazil2024-06-09King, Christopher A Esq NEGOTIATION23Bernardo Dominic
1005Emily E FlosiIndia2024-06-20Buckley Miller Wright RENEWAL25Amy Elsner
1006Claire B OstroskyAustralia2024-06-03Feiner Bros NEGOTIATION14Elwin Sharvill
1007Munro G VocelkaJapan2024-05-30Rousseaux, Michael Esq UNQUALIFIED87Onyama Limba
1008Faith R RoysterItaly2024-06-06Buckley Miller Wright PROPOSAL77Xuxue Feng
1009Chavez Q SlusarskiCanada2024-05-24Buckley Miller Wright NEW77Amy Elsner
1010Leon D TollnerRussia2024-06-21Dorl, James J Esq NEGOTIATION59Stephen Shaw
1011Silvio F DarakjyItaly2024-06-21Benton, John B Jr PROPOSAL60Stephen Shaw
1012Aditya Q MaletJapan2024-06-19Printing Dimensions NEW70Ioni Bowcher
1013Jefferson O BowleyBrazil2024-05-30Benton, John B Jr NEW68Amy Elsner
1014Leon G SergiAustralia2024-06-04Benton, John B Jr NEW22Ioni Bowcher
1015Aika G StockhamGermany2024-06-06Feiner Bros NEGOTIATION45Stephen Shaw
1016Adams K DarakjyGermany2024-05-26Benton, John B Jr PROPOSAL44Ivan Magalhaes
1017Johnson F GillianCanada2024-05-29Benton, John B Jr PROPOSAL17Bernardo Dominic
1018Aruna B MaletJapan2024-05-23Rousseaux, Michael Esq RENEWAL81Ioni Bowcher
1019Costa L RoysterBrazil2024-06-12Feiner Bros NEGOTIATION92Anna Fali
1020Francesco Q VenereArgentina2024-06-12Rousseaux, Michael Esq NEW47Stephen Shaw
1021Greenwood S MaletJapan2024-06-08Commercial Press RENEWAL26Anna Fali
1022Aditya A ButtItaly2024-06-20Chanay, Jeffrey A Esq PROPOSAL93Stephen Shaw
1023Cody F FlosiFrance2024-06-12Rousseaux, Michael Esq PROPOSAL8Onyama Limba
1024Deepesh H IturbideAustralia2024-05-25Rangoni Of Florence NEW58Amy Elsner
1025Aruna N ChuiUnited Kingdom2024-06-02Dorl, James J Esq PROPOSAL61Ioni Bowcher
1026Alejandro W DilliardFrance2024-06-10Feltz Printing Service NEW77Stephen Shaw
1027Alejandro H NestleBrazil2024-06-15Morlong Associates QUALIFIED37Amy Elsner
1028Aruna C StensethRussia2024-06-21Benton, John B Jr PROPOSAL58Stephen Shaw
1029Aruna M NestleJapan2024-05-30Chapman, Ross E Esq QUALIFIED68Ioni Bowcher
1030Greenwood L MaletItaly2024-06-18Feltz Printing Service PROPOSAL54Onyama Limba
1031Octavia S BologniaItaly2024-06-21Feltz Printing Service PROPOSAL51Ivan Magalhaes
1032Kaitlin D NestleCanada2024-06-15Feiner Bros UNQUALIFIED6Amy Elsner
1033Clifford B MacleadCanada2024-06-10Rangoni Of Florence PROPOSAL59Onyama Limba
1034Emily N IturbideCanada2024-06-10Benton, John B Jr NEGOTIATION42Xuxue Feng
1035Costa Y DoeUnited Kingdom2024-06-21Commercial Press NEGOTIATION63Amy Elsner
1036Tony H CaldareraRussia2024-05-23Chapman, Ross E Esq UNQUALIFIED38Amy Elsner
1037Smith N BriddickFrance2024-05-24King, Christopher A Esq PROPOSAL65Ioni Bowcher
1038Rodrigues F BowleyGermany2024-06-11Feltz Printing Service QUALIFIED97Bernardo Dominic
1039Ricardo L SergiFrance2024-06-14Buckley Miller Wright PROPOSAL43Elwin Sharvill
1040Wickens C GlickGermany2024-06-07Buckley Miller Wright PROPOSAL62Onyama Limba
1041Ivar Y FollerCanada2024-06-08Chemel, James L Cpa NEGOTIATION30Amy Elsner
1042Ivar B MaletArgentina2024-06-21Rangoni Of Florence UNQUALIFIED23Stephen Shaw
1043Salvatore N MorascaSpain2024-06-01King, Christopher A Esq PROPOSAL80Asiya Javayant
1044Sinclair B NestleRussia2024-05-29Rousseaux, Michael Esq NEGOTIATION58Elwin Sharvill
1045Aika A RimBrazil2024-05-25Chanay, Jeffrey A Esq PROPOSAL1Amy Elsner
1046Leon B SchemmerJapan2024-06-14Chanay, Jeffrey A Esq QUALIFIED56Elwin Sharvill
1047Aika Y WieserUnited Kingdom2024-06-04Benton, John B Jr NEGOTIATION97Ioni Bowcher
1048Jones I WhobreyIndia2024-06-10Printing Dimensions UNQUALIFIED31Bernardo Dominic
1049Costa R MaletAustralia2024-06-10King, Christopher A Esq NEGOTIATION23Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Greenwood F StensethGermanyOnyama Limba UNQUALIFIED
Nicolas U RutaGermanyAmy Elsner RENEWAL
Costa Y IturbideUnited KingdomIoni Bowcher UNQUALIFIED
Maisha U WieserFranceIoni Bowcher PROPOSAL
Octavia D CaldareraFranceAsiya Javayant NEGOTIATION
David D VenereItalyIoni Bowcher QUALIFIED
Kaitlin W IturbideArgentinaElwin Sharvill NEW
Alejandro I OstroskyFranceAnna Fali RENEWAL
Salvatore C FlosiBrazilStephen Shaw NEW
Leja X AmigonJapanAmy Elsner RENEWAL
Tony V InouyeGermanyAsiya Javayant QUALIFIED
Kaitlin Y FerenczCanadaStephen Shaw NEW
Aditya Z InouyeRussiaAsiya Javayant PROPOSAL
Alejandro W CampainSpainAsiya Javayant QUALIFIED
Adams D OstroskyUnited KingdomAnna Fali UNQUALIFIED
Cody O FlosiSpainBernardo Dominic NEGOTIATION
Leja J BowleyArgentinaStephen Shaw NEGOTIATION
Clifford O ShinkoIndiaBernardo Dominic QUALIFIED
Johnson V BologniaGermanyXuxue Feng QUALIFIED
Leja U FerenczRussiaElwin Sharvill QUALIFIED
Faith E SergiBrazilElwin Sharvill QUALIFIED
Antonio L WaycottArgentinaStephen Shaw PROPOSAL
Salvatore H AmigonUnited KingdomXuxue Feng PROPOSAL
Sinclair X GlickJapanAnna Fali QUALIFIED
Leon U IturbideArgentinaIvan Magalhaes NEGOTIATION
Julie Q FollerRussiaBernardo Dominic RENEWAL
Morrow L IturbideBrazilOnyama Limba NEGOTIATION
Murillo R TollnerBrazilXuxue Feng QUALIFIED
Chavez X DoeAustraliaAsiya Javayant NEW
James K SaylorsCanadaAsiya Javayant NEGOTIATION
Ricardo X PerinIndiaStephen Shaw RENEWAL
Nicolas R CampainGermanyStephen Shaw NEW
Maria D GlickArgentinaOnyama Limba QUALIFIED
Ricardo G FerenczItalyAnna Fali PROPOSAL
Costa N KolmetzSpainAnna Fali RENEWAL
Leon V KuskoBrazilXuxue Feng RENEWAL
Maisha S NestleAustraliaElwin Sharvill PROPOSAL
Claire Y KolmetzSpainAmy Elsner UNQUALIFIED
Jeanfrancois U BriddickAustraliaAsiya Javayant QUALIFIED
Claire A FollerItalyElwin Sharvill NEW
Kaitlin F PoquetteRussiaAmy Elsner PROPOSAL
Jones R WieserAustraliaOnyama Limba NEGOTIATION
Kaitlin T MorascaIndiaStephen Shaw QUALIFIED
Leon E BriddickArgentinaIvan Magalhaes UNQUALIFIED
Aditya F StensethJapanAmy Elsner RENEWAL
Juan S TollnerGermanyIvan Magalhaes UNQUALIFIED
Kaitlin V PerinIndiaIvan Magalhaes PROPOSAL
Jones A AmigonCanadaElwin Sharvill NEW
Mayumi P GauchoBrazilIoni Bowcher PROPOSAL
Aruna P MaletArgentinaElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Antonio K Slusarski
Izzy U Perin
Ricardo K Sergi
Maria P Morasca
Juan W Chui
Maisha M Wieser
Antonio P Iturbide
Ivar A Caudy
Rodrigues X Marrier
Francesco Y Foller
James A Chui
David S Malet
Mayumi Q Bowley
Jennifer E Bolognia
Aditya V Nestle
Antonio E Tollner
Arvin T Stenseth
Arvin H Inouye
Jennifer L Glick
Greenwood E Ferencz
Sinclair H Glick
Rodrigues L Saylors
Faith K Morasca
Deepesh X Briddick
Jeanfrancois P Nestle
David P Campain
Aruna W Stenseth
Maisha W Chui
Jennifer B Glick
Jennifer Y Iturbide
Jefferson C Bolognia
Misaki Y Kusko
Clifford C Chui
Darci P Wieser
Izzy J Wieser
Morrow I Schemmer
Cody B Oldroyd
Juan N Bowley
Ricardo X Wieser
Izzy V Amigon
Greenwood U Amigon
Murillo B Glick
Kaitlin S Saylors
Johnson W Vocelka
Mayumi S Butt
Morrow N Nestle
Tony C Garufi
Kadeem J Ferencz
Arvin M Vocelka
Deepesh C Paprocki
IdCountryDate
1000Spain2024-06-11
1001India2024-06-06
1002Spain2024-06-10
1003Argentina2024-05-25
1004Japan2024-05-25
1005Argentina2024-05-23
1006Italy2024-06-18
1007Germany2024-05-24
1008Brazil2024-06-20
1009Japan2024-06-17
1010Italy2024-06-14
1011United Kingdom2024-05-28
1012Italy2024-05-23
1013Japan2024-06-01
1014France2024-06-11
1015Japan2024-05-27
1016Italy2024-06-04
1017Argentina2024-06-21
1018Germany2024-06-20
1019India2024-06-21
1020India2024-06-02
1021Argentina2024-06-12
1022Germany2024-06-05
1023India2024-05-30
1024Spain2024-06-05
1025Argentina2024-06-17
1026Russia2024-06-10
1027Japan2024-06-11
1028Russia2024-05-23
1029Australia2024-06-21
1030France2024-06-19
1031Australia2024-06-10
1032Italy2024-05-28
1033India2024-06-18
1034United Kingdom2024-06-05
1035Spain2024-05-23
1036Brazil2024-05-23
1037France2024-05-30
1038India2024-06-02
1039Spain2024-06-12
1040Italy2024-06-16
1041India2024-06-20
1042India2024-06-20
1043Spain2024-05-29
1044Canada2024-06-20
1045Italy2024-06-09
1046Spain2024-05-28
1047Germany2024-06-04
1048Russia2024-06-09
1049Argentina2024-06-02

On-Demand Data

NameIdCountryDate
Clifford Z Wieser1000Germany2024-05-28
Nicolas E Caldarera1001Canada2024-06-21
Wickens M Inouye1002France2024-06-14
Ashley K Schemmer1003United Kingdom2024-06-20
Izzy C Poquette1004Argentina2024-05-23
Francesco R Caldarera1005Italy2024-06-10
Deepesh M Wieser1006United Kingdom2024-05-26
Morrow C Inouye1007India2024-06-19
Ashley J Malet1008Italy2024-05-28
Alejandro Y Garufi1009United Kingdom2024-06-19
Wickens C Stockham1010Canada2024-06-05
Mujtaba J Gillian1011United Kingdom2024-05-29
Francesco T Ruta1012United Kingdom2024-05-25
Aruna O Marrier1013Spain2024-05-25
Chavez I Butt1014Argentina2024-06-07
Chavez Y Venere1015Brazil2024-06-18
Rodrigues Z Kusko1016Brazil2024-06-12
Silvio F Schemmer1017Canada2024-06-02
Tony P Ferencz1018Canada2024-06-03
Deepesh P Darakjy1019Spain2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley L CaudyAustraliaAsiya Javayant NEGOTIATION
David X FlosiBrazilElwin Sharvill NEGOTIATION
Alejandro Q SergiUnited KingdomIvan Magalhaes NEW
Misaki E RoysterArgentinaIvan Magalhaes QUALIFIED
Nicolas R PerinFranceStephen Shaw NEGOTIATION
Francesco E FigeroaItalyAnna Fali QUALIFIED
Jefferson K NickaGermanyAsiya Javayant UNQUALIFIED
Octavia Y KuskoUnited KingdomAsiya Javayant PROPOSAL
Aditya P FigeroaBrazilIoni Bowcher PROPOSAL
James B SchemmerFranceBernardo Dominic QUALIFIED
Jefferson N GillianBrazilIoni Bowcher RENEWAL
Misaki F IturbideCanadaStephen Shaw QUALIFIED
Juan E RutaAustraliaIvan Magalhaes QUALIFIED
Munro E OldroydFranceBernardo Dominic UNQUALIFIED
Nicolas I ChuiUnited KingdomElwin Sharvill RENEWAL
Mujtaba J MaletFranceXuxue Feng UNQUALIFIED
Misaki M GillianRussiaAsiya Javayant QUALIFIED
Alejandro R FlosiArgentinaAnna Fali UNQUALIFIED
Faith L SaylorsGermanyAsiya Javayant QUALIFIED
Julie Y GarufiAustraliaElwin Sharvill QUALIFIED
Ivar B DarakjyUnited KingdomAnna Fali RENEWAL
Smith K OldroydAustraliaAnna Fali NEW
Octavia Y GarufiBrazilXuxue Feng PROPOSAL
James Y SaylorsArgentinaElwin Sharvill QUALIFIED
Aditya K CaudyBrazilElwin Sharvill NEW
Ivar Z AlbaresFranceStephen Shaw NEW
Antonio B ButtRussiaIvan Magalhaes NEW
Antonio J MaletItalyIoni Bowcher UNQUALIFIED
Costa T MacleadJapanOnyama Limba NEGOTIATION
Greenwood S RimCanadaAnna Fali NEW
Leon M GarufiFranceXuxue Feng NEGOTIATION
Alejandro T FlosiIndiaAnna Fali UNQUALIFIED
Kadeem U PaprockiGermanyAsiya Javayant NEGOTIATION
Leja M BowleySpainIoni Bowcher NEGOTIATION
Chavez P BologniaUnited KingdomAnna Fali NEW
Julie J MaletSpainAsiya Javayant QUALIFIED
Aika I CaudyRussiaAnna Fali RENEWAL
James H MarrierArgentinaIoni Bowcher PROPOSAL
Aruna P StensethItalyBernardo Dominic NEGOTIATION
Izzy R FerenczIndiaElwin 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>