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
Mayumi J CaudyAustraliaIvan Magalhaes QUALIFIED
Isabel T PaprockiIndiaIvan Magalhaes UNQUALIFIED
Clifford M PerinIndiaOnyama Limba NEGOTIATION
Arvin O MaletCanadaIvan Magalhaes PROPOSAL
Greenwood E NickaGermanyAnna Fali NEGOTIATION
Wickens Z OstroskyRussiaBernardo Dominic NEW
Darci Q BriddickUnited KingdomBernardo Dominic PROPOSAL
Jeanfrancois W DarakjyUnited KingdomBernardo Dominic QUALIFIED
Wickens L SergiJapanIvan Magalhaes UNQUALIFIED
Aruna Q GauchoGermanyAmy Elsner PROPOSAL
Munro Q GillianRussiaElwin Sharvill PROPOSAL
Ashley P IturbideRussiaOnyama Limba PROPOSAL
Sinclair L WaycottArgentinaIoni Bowcher NEGOTIATION
Maisha H MacleadSpainOnyama Limba NEGOTIATION
Izzy K DilliardCanadaAnna Fali UNQUALIFIED
Aika F WhobreySpainBernardo Dominic NEW
Aruna V StensethAustraliaAnna Fali QUALIFIED
Isabel I ChuiArgentinaAmy Elsner UNQUALIFIED
Aruna J PaprockiFranceElwin Sharvill QUALIFIED
Julie Y RimArgentinaElwin Sharvill NEW
Juan W MacleadArgentinaIoni Bowcher UNQUALIFIED
Francesco M SaylorsCanadaXuxue Feng PROPOSAL
James P GillianGermanyOnyama Limba NEW
Johnson X ChuiAustraliaElwin Sharvill PROPOSAL
Jefferson C PaprockiRussiaStephen Shaw UNQUALIFIED
Kadeem C AlbaresItalyElwin Sharvill QUALIFIED
Isabel V DoeFranceIvan Magalhaes RENEWAL
Isabel S DoeArgentinaAsiya Javayant PROPOSAL
Alejandro W CampainCanadaElwin Sharvill NEGOTIATION
Antonio E IturbideRussiaBernardo Dominic PROPOSAL
Adams E GarufiArgentinaIvan Magalhaes RENEWAL
James N KolmetzJapanOnyama Limba NEW
Darci E GarufiItalyBernardo Dominic NEGOTIATION
Salvatore N BriddickUnited KingdomBernardo Dominic PROPOSAL
Deepesh F SchemmerRussiaAmy Elsner NEGOTIATION
Arvin D BriddickUnited KingdomElwin Sharvill NEW
Jennifer U MaletAustraliaBernardo Dominic PROPOSAL
Smith P PoquetteGermanyBernardo Dominic NEGOTIATION
Aruna W BriddickUnited KingdomAmy Elsner PROPOSAL
Claire S BowleyFranceElwin Sharvill PROPOSAL
Ashley O MarrierJapanXuxue Feng NEW
Clifford K FerenczJapanAmy Elsner UNQUALIFIED
Mujtaba G CampainCanadaAmy Elsner UNQUALIFIED
Murillo G TollnerGermanyBernardo Dominic PROPOSAL
Kadeem W RoysterJapanXuxue Feng NEW
Silvio N KuskoItalyAnna Fali UNQUALIFIED
Faith Z StensethGermanyElwin Sharvill NEGOTIATION
Stacey P GlickUnited KingdomAsiya Javayant QUALIFIED
Arvin R GlickItalyElwin Sharvill NEW
Nicolas K CampainSpainStephen Shaw QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ashley D FollerIndiaBernardo Dominic NEGOTIATION
Leja U InouyeGermanyIoni Bowcher RENEWAL
Sinclair E StensethBrazilXuxue Feng NEW
Jeanfrancois C SlusarskiGermanyAmy Elsner QUALIFIED
Octavia V StockhamBrazilXuxue Feng UNQUALIFIED
Maisha Y KuskoArgentinaOnyama Limba QUALIFIED
Adams L SlusarskiBrazilAsiya Javayant NEGOTIATION
Johnson A TollnerAustraliaAnna Fali UNQUALIFIED
Juan X WieserJapanElwin Sharvill UNQUALIFIED
Maisha C MaletSpainAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin J AmigonRussia2025-04-07Chapman, Ross E Esq QUALIFIED0Anna Fali
1001Izzy J WieserCanada2025-04-25Buckley Miller Wright RENEWAL86Stephen Shaw
1002Ricardo E MorascaFrance2025-04-19Dorl, James J Esq NEW44Bernardo Dominic
1003Salvatore K SergiFrance2025-04-13Chapman, Ross E Esq NEW42Bernardo Dominic
1004Nicolas G MaletAustralia2025-04-07Rangoni Of Florence RENEWAL51Stephen Shaw
1005Greenwood I VenereCanada2025-04-17Feiner Bros PROPOSAL44Elwin Sharvill
1006Izzy D SaylorsIndia2025-04-07Benton, John B Jr NEW70Xuxue Feng
1007Cody D MacleadBrazil2025-04-20Chapman, Ross E Esq PROPOSAL83Ivan Magalhaes
1008Maria C GarufiRussia2025-04-28Buckley Miller Wright NEGOTIATION85Asiya Javayant
1009Chavez L SaylorsArgentina2025-04-22Chapman, Ross E Esq RENEWAL93Anna Fali
1010Claire F MarrierAustralia2025-04-11Chemel, James L Cpa QUALIFIED53Xuxue Feng
1011Maria A KuskoUnited Kingdom2025-04-08Commercial Press RENEWAL25Onyama Limba
1012Johnson T RutaJapan2025-04-02Chanay, Jeffrey A Esq QUALIFIED45Anna Fali
1013James Z PaprockiJapan2025-03-31Dorl, James J Esq RENEWAL16Bernardo Dominic
1014Leja L BowleyGermany2025-04-10King, Christopher A Esq NEW18Asiya Javayant
1015Rodrigues B GarufiRussia2025-04-07King, Christopher A Esq NEGOTIATION28Ivan Magalhaes
1016Salvatore K BologniaItaly2025-04-18Printing Dimensions QUALIFIED24Bernardo Dominic
1017Cody L BologniaRussia2025-04-16Dorl, James J Esq RENEWAL60Ioni Bowcher
1018Isabel V FigeroaFrance2025-04-06King, Christopher A Esq NEW95Elwin Sharvill
1019Cody M MarrierRussia2025-04-20Printing Dimensions PROPOSAL39Stephen Shaw
1020Rodrigues M SchemmerGermany2025-04-17Morlong Associates RENEWAL1Ioni Bowcher
1021Antonio A NickaIndia2025-04-02Printing Dimensions NEGOTIATION28Onyama Limba
1022Darci R FlosiArgentina2025-04-03Chapman, Ross E Esq PROPOSAL64Bernardo Dominic
1023Octavia E PoquetteJapan2025-03-31Chapman, Ross E Esq PROPOSAL26Bernardo Dominic
1024Izzy X ShinkoRussia2025-04-01Buckley Miller Wright NEW89Anna Fali
1025James S WieserFrance2025-04-26King, Christopher A Esq PROPOSAL35Elwin Sharvill
1026Isabel V InouyeSpain2025-04-27Feltz Printing Service PROPOSAL54Elwin Sharvill
1027Leon K MaletGermany2025-03-31Truhlar And Truhlar Attys RENEWAL76Bernardo Dominic
1028Adams D PerinAustralia2025-04-25Chemel, James L Cpa RENEWAL67Stephen Shaw
1029Misaki A StensethRussia2025-04-11King, Christopher A Esq PROPOSAL73Ioni Bowcher
1030Silvio I ButtArgentina2025-04-16Rousseaux, Michael Esq NEW13Stephen Shaw
1031Nicolas F GauchoIndia2025-04-25Dorl, James J Esq RENEWAL57Anna Fali
1032James L FlosiFrance2025-04-01Rangoni Of Florence QUALIFIED28Xuxue Feng
1033Sinclair L MacleadCanada2025-04-23Chanay, Jeffrey A Esq NEGOTIATION53Ivan Magalhaes
1034Juan A DilliardAustralia2025-04-19Printing Dimensions UNQUALIFIED30Onyama Limba
1035Kaitlin F InouyeUnited Kingdom2025-04-23Rousseaux, Michael Esq NEGOTIATION1Amy Elsner
1036Mayumi N ShinkoSpain2025-04-15Commercial Press PROPOSAL26Anna Fali
1037Izzy T FollerIndia2025-04-26Commercial Press UNQUALIFIED26Bernardo Dominic
1038Stacey E MaletItaly2025-04-16Truhlar And Truhlar Attys RENEWAL7Anna Fali
1039Stacey N MorascaRussia2025-04-16Rangoni Of Florence UNQUALIFIED62Bernardo Dominic
1040Aditya L PoquetteAustralia2025-03-31Rangoni Of Florence PROPOSAL91Xuxue Feng
1041Darci V WaycottSpain2025-04-01Commercial Press QUALIFIED6Ioni Bowcher
1042Octavia Z KolmetzItaly2025-04-17Rangoni Of Florence RENEWAL5Ivan Magalhaes
1043Aruna L FigeroaFrance2025-04-29Buckley Miller Wright RENEWAL88Ioni Bowcher
1044Leja P SchemmerItaly2025-04-10Dorl, James J Esq UNQUALIFIED56Ivan Magalhaes
1045Darci M MaletRussia2025-04-21Rangoni Of Florence QUALIFIED79Elwin Sharvill
1046Aditya B SlusarskiFrance2025-04-29Rangoni Of Florence PROPOSAL39Ivan Magalhaes
1047Maisha B GarufiRussia2025-04-16King, Christopher A Esq NEGOTIATION85Ivan Magalhaes
1048Aditya B VenereRussia2025-04-27Morlong Associates NEGOTIATION92Elwin Sharvill
1049Smith P NickaJapan2025-04-17Chapman, Ross E Esq NEGOTIATION44Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Sinclair H DilliardItalyXuxue Feng NEW
Chavez P GauchoSpainElwin Sharvill QUALIFIED
Salvatore R SergiCanadaIoni Bowcher QUALIFIED
Cody Z PoquetteBrazilOnyama Limba NEW
Kadeem W PoquetteRussiaElwin Sharvill NEW
Emily W MacleadSpainXuxue Feng RENEWAL
Maria R SergiAustraliaElwin Sharvill NEGOTIATION
Juan M RutaRussiaStephen Shaw RENEWAL
Adams D ShinkoCanadaAnna Fali NEGOTIATION
James P WieserSpainBernardo Dominic NEW
Kadeem C VenereGermanyElwin Sharvill RENEWAL
Isabel C MaletCanadaBernardo Dominic QUALIFIED
Aika J VocelkaJapanAsiya Javayant UNQUALIFIED
Darci I PoquetteAustraliaBernardo Dominic QUALIFIED
Leja A SlusarskiArgentinaXuxue Feng RENEWAL
Maisha E IturbideItalyIvan Magalhaes NEGOTIATION
Julie L NickaCanadaAmy Elsner NEGOTIATION
Aruna D BriddickBrazilElwin Sharvill QUALIFIED
Jones K StensethCanadaElwin Sharvill QUALIFIED
Ivar C NickaGermanyStephen Shaw UNQUALIFIED
David O SaylorsSpainXuxue Feng NEGOTIATION
Smith T FlosiCanadaXuxue Feng RENEWAL
Darci K VocelkaAustraliaAsiya Javayant RENEWAL
Maisha L WieserItalyBernardo Dominic RENEWAL
Misaki S RulapaughIndiaStephen Shaw UNQUALIFIED
Faith V CaldareraAustraliaStephen Shaw PROPOSAL
Maria Q BriddickGermanyOnyama Limba PROPOSAL
Emily A KuskoArgentinaIvan Magalhaes RENEWAL
Isabel J ChuiRussiaStephen Shaw PROPOSAL
Chavez J CaldareraItalyStephen Shaw NEW
Jennifer X VocelkaUnited KingdomXuxue Feng NEW
Cody G ButtRussiaBernardo Dominic NEW
James O BowleyItalyXuxue Feng UNQUALIFIED
Aruna A MaletBrazilStephen Shaw NEW
Aika N GauchoRussiaXuxue Feng RENEWAL
Jennifer K ShinkoIndiaElwin Sharvill PROPOSAL
Jeanfrancois X MacleadGermanyAnna Fali NEW
David C SchemmerUnited KingdomIoni Bowcher RENEWAL
Maria H BologniaSpainAnna Fali NEGOTIATION
Smith O MarrierCanadaIoni Bowcher RENEWAL
Johnson N StockhamAustraliaAnna Fali UNQUALIFIED
Aruna G MaletGermanyStephen Shaw NEGOTIATION
Maisha V KolmetzItalyAsiya Javayant RENEWAL
Faith A BowleyGermanyElwin Sharvill RENEWAL
Kadeem Z SergiFranceAnna Fali PROPOSAL
Antonio N GillianFranceAnna Fali NEGOTIATION
Octavia G WaycottUnited KingdomIvan Magalhaes UNQUALIFIED
Isabel T MaletJapanIoni Bowcher NEW
Maria S TollnerSpainIvan Magalhaes QUALIFIED
David D OstroskyJapanIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Mayumi N Whobrey
Aditya S Shinko
Smith D Ostrosky
Mayumi U Iturbide
Costa I Waycott
Darci I Royster
Jeanfrancois O Albares
Sinclair Y Campain
Adams H Caldarera
Francesco L Flosi
James Z Whobrey
Kaitlin H Royster
Mayumi L Campain
Antonio M Royster
Julie N Gaucho
Wickens H Venere
Leon G Stockham
Octavia R Dilliard
Ashley U Paprocki
Emily X Nicka
Antonio Q Butt
Murillo L Dilliard
James N Bolognia
Rodrigues P Shinko
Costa L Caudy
Francesco L Paprocki
Jefferson M Glick
Salvatore V Bolognia
Sinclair N Rulapaugh
Nicolas E Perin
Aika Q Maclead
Juan F Oldroyd
Nicolas V Stockham
Clifford Z Maclead
Deepesh M Darakjy
Silvio T Poquette
Aruna V Darakjy
Jones W Bowley
Jennifer J Kolmetz
Wickens N Slusarski
Mayumi X Glick
Maria C Darakjy
Jones U Malet
Emily Z Flosi
Jeanfrancois X Schemmer
Izzy R Campain
Tony V Dilliard
Greenwood D Malet
Ricardo O Glick
Mujtaba U Perin
IdCountryDate
1000Italy2025-04-25
1001Spain2025-04-10
1002Russia2025-04-16
1003Brazil2025-04-01
1004Spain2025-04-04
1005Japan2025-04-29
1006Spain2025-04-02
1007Japan2025-04-19
1008Germany2025-04-29
1009Russia2025-04-10
1010Italy2025-04-12
1011United Kingdom2025-04-25
1012Australia2025-04-07
1013Argentina2025-04-21
1014Australia2025-04-03
1015United Kingdom2025-04-12
1016India2025-04-01
1017Canada2025-04-25
1018France2025-04-24
1019Japan2025-04-18
1020India2025-04-18
1021Russia2025-03-31
1022Spain2025-04-19
1023Italy2025-04-01
1024India2025-04-25
1025Russia2025-04-07
1026United Kingdom2025-04-19
1027Japan2025-04-21
1028India2025-04-18
1029India2025-04-27
1030Germany2025-04-23
1031United Kingdom2025-03-31
1032Australia2025-04-24
1033Russia2025-04-01
1034France2025-04-24
1035Germany2025-04-27
1036India2025-04-02
1037Argentina2025-04-12
1038Italy2025-04-17
1039United Kingdom2025-04-29
1040Russia2025-03-31
1041Australia2025-04-22
1042India2025-04-23
1043India2025-04-11
1044India2025-04-24
1045Japan2025-04-27
1046Italy2025-04-14
1047United Kingdom2025-04-29
1048Russia2025-04-04
1049Russia2025-04-25

On-Demand Data

NameIdCountryDate
Arvin A Poquette1000Spain2025-04-21
Juan J Stenseth1001France2025-04-08
Deepesh Q Shinko1002Canada2025-04-13
Ashley V Butt1003United Kingdom2025-04-16
Emily I Garufi1004France2025-04-11
Costa G Whobrey1005Japan2025-04-24
Chavez M Darakjy1006Australia2025-04-29
Ricardo Z Wieser1007Spain2025-04-06
Clifford S Oldroyd1008Russia2025-04-26
Francesco A Campain1009Japan2025-04-16
Silvio A Stenseth1010France2025-04-14
David H Royster1011Brazil2025-04-06
Murillo D Kusko1012Russia2025-04-18
Faith V Bowley1013India2025-04-27
Cody J Saylors1014France2025-04-18
Aika L Garufi1015Spain2025-04-14
Stacey M Rulapaugh1016Australia2025-04-01
Salvatore A Inouye1017France2025-04-11
Johnson I Gaucho1018Australia2025-04-02
Kaitlin E Kusko1019Russia2025-04-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem Z FigeroaRussiaOnyama Limba NEW
Izzy P WhobreyCanadaAnna Fali UNQUALIFIED
Kadeem Q DarakjyBrazilElwin Sharvill QUALIFIED
Munro C StensethBrazilXuxue Feng NEGOTIATION
Morrow B MarrierJapanXuxue Feng QUALIFIED
Maria H WhobreyIndiaOnyama Limba RENEWAL
Jeanfrancois Q WaycottUnited KingdomOnyama Limba RENEWAL
Silvio S SchemmerFranceElwin Sharvill UNQUALIFIED
James A RimArgentinaAmy Elsner NEW
Kadeem P GillianRussiaAnna Fali UNQUALIFIED
Murillo Z FollerAustraliaAsiya Javayant QUALIFIED
Aditya M SergiItalyAsiya Javayant NEGOTIATION
Greenwood A SchemmerGermanyAnna Fali RENEWAL
Murillo D FlosiJapanBernardo Dominic UNQUALIFIED
Mayumi P TollnerRussiaIoni Bowcher NEW
Leon X RoysterCanadaOnyama Limba RENEWAL
Emily S OstroskyAustraliaElwin Sharvill RENEWAL
Leon G BriddickIndiaIvan Magalhaes RENEWAL
Faith I WhobreyUnited KingdomIvan Magalhaes NEGOTIATION
Maisha N KuskoUnited KingdomStephen Shaw QUALIFIED
Stacey D BowleyBrazilIoni Bowcher QUALIFIED
Arvin C KolmetzAustraliaAnna Fali NEGOTIATION
Mayumi Z OstroskyCanadaIvan Magalhaes RENEWAL
Octavia G GillianFranceIvan Magalhaes UNQUALIFIED
Greenwood K CaudyArgentinaBernardo Dominic UNQUALIFIED
Rodrigues D PoquetteAustraliaAnna Fali NEW
Aditya T DilliardBrazilOnyama Limba UNQUALIFIED
Cody J ButtGermanyIoni Bowcher UNQUALIFIED
David P KuskoGermanyXuxue Feng UNQUALIFIED
Jones G TollnerAustraliaBernardo Dominic QUALIFIED
Misaki S DilliardArgentinaAsiya Javayant QUALIFIED
Ashley Q MacleadBrazilIvan Magalhaes QUALIFIED
Faith S KuskoIndiaStephen Shaw NEW
Leja C StockhamGermanyAnna Fali PROPOSAL
Smith H GlickCanadaIvan Magalhaes UNQUALIFIED
Leja Y PoquetteJapanAsiya Javayant PROPOSAL
Francesco U ButtCanadaAnna Fali NEW
Emily Q KuskoArgentinaAnna Fali UNQUALIFIED
Adams V AmigonUnited KingdomIoni Bowcher NEGOTIATION
Ricardo W FlosiJapanOnyama Limba 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>