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
Aruna Z VenereBrazilElwin Sharvill NEGOTIATION
Kaitlin G GillianBrazilAnna Fali NEGOTIATION
Rodrigues L CaudyAustraliaIvan Magalhaes PROPOSAL
Faith C RulapaughFranceBernardo Dominic QUALIFIED
Leon L BriddickRussiaIoni Bowcher RENEWAL
Morrow N FollerFranceAsiya Javayant RENEWAL
Clifford J CampainUnited KingdomIoni Bowcher UNQUALIFIED
Francesco V RoysterSpainIvan Magalhaes NEW
Ivar A WaycottSpainIvan Magalhaes NEGOTIATION
Nicolas S NickaItalyAsiya Javayant PROPOSAL
Aika D MaletJapanAmy Elsner UNQUALIFIED
Stacey N InouyeFranceBernardo Dominic QUALIFIED
Maisha H SergiIndiaAmy Elsner UNQUALIFIED
Emily H VocelkaSpainIoni Bowcher UNQUALIFIED
Sinclair B BriddickGermanyIoni Bowcher NEW
Salvatore E OldroydBrazilIoni Bowcher PROPOSAL
Aika W SchemmerGermanyBernardo Dominic NEW
Wickens H FollerUnited KingdomOnyama Limba UNQUALIFIED
Morrow B FerenczItalyElwin Sharvill NEW
Johnson S OstroskyBrazilIvan Magalhaes UNQUALIFIED
Ivar B VocelkaSpainOnyama Limba RENEWAL
Adams O StockhamGermanyAmy Elsner NEW
Aika C SaylorsCanadaStephen Shaw PROPOSAL
Clifford D KolmetzAustraliaIvan Magalhaes NEW
Johnson B BriddickCanadaBernardo Dominic QUALIFIED
Nicolas K RutaAustraliaBernardo Dominic QUALIFIED
Jeanfrancois C CaldareraCanadaBernardo Dominic NEGOTIATION
Cody P StensethUnited KingdomElwin Sharvill UNQUALIFIED
Leja P NickaFranceAnna Fali RENEWAL
Leja F SergiUnited KingdomOnyama Limba RENEWAL
Clifford A BriddickGermanyXuxue Feng UNQUALIFIED
Ivar C StensethGermanyXuxue Feng RENEWAL
David G FerenczAustraliaIvan Magalhaes QUALIFIED
Aditya S VenereUnited KingdomIoni Bowcher RENEWAL
Alejandro X VenereJapanAmy Elsner RENEWAL
Kaitlin P ChuiBrazilXuxue Feng RENEWAL
Mayumi F KolmetzCanadaBernardo Dominic RENEWAL
Leja O SlusarskiAustraliaAnna Fali RENEWAL
Silvio K RulapaughJapanBernardo Dominic RENEWAL
Adams O StockhamFranceXuxue Feng NEGOTIATION
Leja C RulapaughRussiaAmy Elsner NEGOTIATION
Stacey A FlosiJapanIvan Magalhaes NEW
Tony A OstroskyAustraliaIoni Bowcher NEW
Tony O CaldareraJapanIoni Bowcher UNQUALIFIED
Mujtaba V GillianBrazilBernardo Dominic UNQUALIFIED
Aditya L BowleyUnited KingdomAnna Fali RENEWAL
Costa D BologniaUnited KingdomAmy Elsner PROPOSAL
Jefferson Q RulapaughIndiaOnyama Limba RENEWAL
Silvio H GauchoJapanIoni Bowcher QUALIFIED
Leja I SaylorsJapanElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
Chavez N DilliardCanadaAnna Fali NEGOTIATION
Ashley B NestleGermanyIvan Magalhaes RENEWAL
Murillo M MarrierArgentinaIoni Bowcher UNQUALIFIED
Wickens U FerenczIndiaElwin Sharvill UNQUALIFIED
David V KuskoArgentinaAsiya Javayant PROPOSAL
Claire K StensethSpainElwin Sharvill NEGOTIATION
Isabel K TollnerItalyAmy Elsner QUALIFIED
Silvio G PaprockiIndiaIoni Bowcher RENEWAL
Johnson W RulapaughItalyXuxue Feng NEW
Aditya P MaletFranceAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro B NickaFrance2024-06-09Chemel, James L Cpa RENEWAL35Bernardo Dominic
1001Alejandro G NestleGermany2024-06-14Rousseaux, Michael Esq UNQUALIFIED66Asiya Javayant
1002Ricardo U ButtJapan2024-06-15Chapman, Ross E Esq NEGOTIATION50Elwin Sharvill
1003Nicolas P FollerUnited Kingdom2024-06-11Rousseaux, Michael Esq UNQUALIFIED54Anna Fali
1004Murillo P OldroydItaly2024-06-16Chemel, James L Cpa UNQUALIFIED44Xuxue Feng
1005Jennifer S PerinSpain2024-06-14Chanay, Jeffrey A Esq RENEWAL39Stephen Shaw
1006Mujtaba F TollnerGermany2024-05-29Printing Dimensions QUALIFIED96Bernardo Dominic
1007Leon M InouyeFrance2024-06-14Dorl, James J Esq RENEWAL37Onyama Limba
1008Sinclair W AmigonBrazil2024-06-17Feiner Bros UNQUALIFIED31Bernardo Dominic
1009Morrow L SergiUnited Kingdom2024-06-15Buckley Miller Wright QUALIFIED18Elwin Sharvill
1010Munro S FigeroaAustralia2024-06-03Morlong Associates UNQUALIFIED69Asiya Javayant
1011Aika X PerinSpain2024-06-16King, Christopher A Esq NEW84Stephen Shaw
1012Chavez I MacleadIndia2024-06-05Rangoni Of Florence PROPOSAL48Elwin Sharvill
1013Sinclair L VocelkaAustralia2024-06-09Chapman, Ross E Esq PROPOSAL50Asiya Javayant
1014Mayumi V RulapaughAustralia2024-06-21Feltz Printing Service RENEWAL40Bernardo Dominic
1015Arvin M SchemmerJapan2024-06-19Dorl, James J Esq RENEWAL75Xuxue Feng
1016Mayumi L RimBrazil2024-06-21Buckley Miller Wright QUALIFIED15Onyama Limba
1017Arvin S InouyeAustralia2024-05-27Commercial Press UNQUALIFIED45Ivan Magalhaes
1018Murillo T TollnerUnited Kingdom2024-06-19Chapman, Ross E Esq RENEWAL57Ivan Magalhaes
1019Leja P MarrierIndia2024-06-13Feltz Printing Service NEW78Asiya Javayant
1020Alejandro X WieserIndia2024-06-06Printing Dimensions UNQUALIFIED58Elwin Sharvill
1021Costa K BowleySpain2024-06-17Commercial Press NEW85Elwin Sharvill
1022Ricardo H RoysterJapan2024-06-16Feiner Bros NEGOTIATION39Xuxue Feng
1023Ricardo E FerenczJapan2024-06-20Rangoni Of Florence NEW54Onyama Limba
1024Smith M GlickItaly2024-06-17Benton, John B Jr RENEWAL13Amy Elsner
1025Nicolas M ShinkoGermany2024-06-06Benton, John B Jr NEW81Stephen Shaw
1026Aruna N MaletCanada2024-06-08Buckley Miller Wright UNQUALIFIED11Asiya Javayant
1027Maisha X GarufiAustralia2024-05-24King, Christopher A Esq RENEWAL18Asiya Javayant
1028Sinclair A GauchoAustralia2024-06-11Feltz Printing Service NEW91Stephen Shaw
1029Deepesh J FerenczArgentina2024-06-16Feiner Bros NEW33Anna Fali
1030Misaki T ChuiFrance2024-06-04Rousseaux, Michael Esq QUALIFIED28Ivan Magalhaes
1031Maria P SaylorsBrazil2024-06-09King, Christopher A Esq UNQUALIFIED50Elwin Sharvill
1032Kaitlin H FerenczArgentina2024-06-11Truhlar And Truhlar Attys PROPOSAL71Ivan Magalhaes
1033Maisha Y MaletAustralia2024-06-02Feiner Bros NEGOTIATION0Amy Elsner
1034Misaki Q StensethSpain2024-06-21Morlong Associates UNQUALIFIED3Ioni Bowcher
1035Maisha D PaprockiAustralia2024-05-30Commercial Press NEW99Elwin Sharvill
1036Johnson M GlickCanada2024-05-30King, Christopher A Esq NEW2Ioni Bowcher
1037Jefferson P OstroskyBrazil2024-05-24Truhlar And Truhlar Attys NEW11Ioni Bowcher
1038James V RimItaly2024-06-04Feiner Bros UNQUALIFIED82Elwin Sharvill
1039Ricardo P TollnerSpain2024-06-11King, Christopher A Esq RENEWAL65Onyama Limba
1040Francesco K RutaSpain2024-06-01King, Christopher A Esq UNQUALIFIED22Amy Elsner
1041Stacey N ChuiBrazil2024-06-16Commercial Press NEW97Stephen Shaw
1042Jones P PerinJapan2024-06-11Chemel, James L Cpa RENEWAL16Amy Elsner
1043James J ButtGermany2024-06-18Feltz Printing Service RENEWAL14Xuxue Feng
1044Tony Y TollnerIndia2024-06-04Chemel, James L Cpa UNQUALIFIED12Elwin Sharvill
1045Octavia Q GarufiBrazil2024-05-23Chanay, Jeffrey A Esq RENEWAL43Stephen Shaw
1046Aika Y SchemmerAustralia2024-06-07Chapman, Ross E Esq UNQUALIFIED94Onyama Limba
1047Misaki H WaycottAustralia2024-06-01Dorl, James J Esq UNQUALIFIED17Stephen Shaw
1048Octavia R RoysterCanada2024-05-24Dorl, James J Esq UNQUALIFIED77Onyama Limba
1049James T StockhamSpain2024-06-03Printing Dimensions UNQUALIFIED7Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Leon M GillianAustraliaIvan Magalhaes RENEWAL
Murillo M SlusarskiUnited KingdomElwin Sharvill QUALIFIED
Silvio L FerenczIndiaBernardo Dominic UNQUALIFIED
Kadeem T MarrierFranceElwin Sharvill NEGOTIATION
James L NickaIndiaAmy Elsner RENEWAL
Nicolas Z SergiRussiaIvan Magalhaes UNQUALIFIED
Jones K OldroydCanadaAnna Fali NEW
Clifford B CaldareraRussiaBernardo Dominic PROPOSAL
Aditya L RimFranceXuxue Feng PROPOSAL
Kadeem Z GauchoCanadaAsiya Javayant NEW
Izzy A FlosiUnited KingdomAmy Elsner NEGOTIATION
Francesco N RoysterSpainAsiya Javayant UNQUALIFIED
Deepesh P IturbideItalyBernardo Dominic RENEWAL
Misaki V PerinAustraliaIvan Magalhaes RENEWAL
Mayumi K WaycottFranceStephen Shaw QUALIFIED
Chavez I SergiSpainIvan Magalhaes QUALIFIED
Juan D SaylorsIndiaOnyama Limba PROPOSAL
Silvio M OstroskyBrazilAmy Elsner UNQUALIFIED
Smith C ShinkoIndiaXuxue Feng UNQUALIFIED
Leon T DoeFranceBernardo Dominic RENEWAL
Wickens X GauchoArgentinaAmy Elsner QUALIFIED
Stacey E GarufiItalyOnyama Limba UNQUALIFIED
Arvin Y ShinkoArgentinaAsiya Javayant QUALIFIED
Maisha X SchemmerCanadaBernardo Dominic QUALIFIED
David Q MorascaRussiaXuxue Feng QUALIFIED
Emily W CampainRussiaAmy Elsner RENEWAL
Aruna H SlusarskiJapanAmy Elsner NEGOTIATION
Ricardo V BowleyBrazilElwin Sharvill QUALIFIED
Munro C SergiItalyIvan Magalhaes NEGOTIATION
Maisha N NestleFranceIoni Bowcher NEW
Jefferson V StockhamFranceIvan Magalhaes UNQUALIFIED
Silvio A StockhamRussiaAsiya Javayant PROPOSAL
Wickens C RimJapanIvan Magalhaes NEW
Claire U VocelkaUnited KingdomElwin Sharvill NEW
Chavez Q AmigonUnited KingdomIvan Magalhaes UNQUALIFIED
Jeanfrancois N FerenczFranceElwin Sharvill NEGOTIATION
Isabel J GillianCanadaAsiya Javayant PROPOSAL
Smith S StensethItalyElwin Sharvill QUALIFIED
Claire L OldroydIndiaIvan Magalhaes UNQUALIFIED
Aditya O SaylorsSpainElwin Sharvill RENEWAL
Kaitlin H DoeItalyOnyama Limba PROPOSAL
Greenwood A StockhamFranceBernardo Dominic RENEWAL
Leja E InouyeItalyElwin Sharvill RENEWAL
Stacey G OldroydAustraliaAmy Elsner UNQUALIFIED
Aditya M MacleadItalyElwin Sharvill PROPOSAL
Aruna M NickaAustraliaBernardo Dominic NEW
Julie Y AlbaresArgentinaXuxue Feng NEGOTIATION
James T VenereJapanAsiya Javayant UNQUALIFIED
Salvatore P SlusarskiAustraliaOnyama Limba NEGOTIATION
Claire U InouyeBrazilAsiya Javayant PROPOSAL
Frozen Columns
Name
James E Nicka
Jennifer F Stockham
Wickens J Marrier
Ashley T Foller
Nicolas L Ferencz
Murillo U Iturbide
Ivar F Figeroa
Darci J Waycott
Kadeem D Foller
Deepesh A Kusko
Julie X Campain
Cody Z Inouye
Aika Q Nicka
Nicolas H Gaucho
Wickens F Flosi
Adams B Morasca
Francesco V Kolmetz
Arvin B Venere
David Y Wieser
Isabel F Briddick
Darci C Shinko
James I Foller
Leon G Briddick
Morrow K Amigon
Aruna K Doe
Darci R Royster
Rodrigues Q Caldarera
Aditya A Rim
Tony L Slusarski
Kaitlin I Stockham
Arvin K Nestle
Alejandro N Gaucho
Emily Z Glick
Greenwood I Butt
Faith D Ferencz
Rodrigues I Malet
Antonio W Briddick
Claire D Venere
Sinclair B Gillian
Maria Y Gaucho
Julie I Ostrosky
Johnson H Waycott
Kadeem E Rulapaugh
James Q Schemmer
Alejandro I Kusko
Jones E Rim
David U Ruta
Emily L Ferencz
Johnson N Briddick
Arvin F Foller
IdCountryDate
1000Japan2024-06-07
1001Argentina2024-06-15
1002Germany2024-06-13
1003Germany2024-06-09
1004Spain2024-05-23
1005Argentina2024-05-23
1006Brazil2024-06-04
1007Germany2024-06-06
1008France2024-06-12
1009France2024-05-29
1010Germany2024-06-17
1011Japan2024-05-30
1012Spain2024-06-04
1013Spain2024-06-10
1014Russia2024-06-08
1015Japan2024-05-28
1016Italy2024-06-03
1017Spain2024-05-30
1018Canada2024-06-19
1019Argentina2024-06-16
1020Australia2024-05-25
1021Argentina2024-06-02
1022Germany2024-05-31
1023Italy2024-06-16
1024Germany2024-06-01
1025France2024-06-21
1026Australia2024-06-16
1027France2024-06-15
1028Italy2024-06-07
1029Canada2024-05-25
1030India2024-06-02
1031Argentina2024-05-31
1032Italy2024-06-18
1033Argentina2024-06-07
1034Spain2024-06-03
1035Canada2024-06-02
1036Australia2024-06-11
1037Canada2024-06-02
1038Argentina2024-05-26
1039Canada2024-06-13
1040Canada2024-06-17
1041Spain2024-05-29
1042Canada2024-06-01
1043India2024-06-14
1044Germany2024-06-15
1045Japan2024-05-23
1046Argentina2024-05-28
1047Brazil2024-06-18
1048Germany2024-06-13
1049Canada2024-05-23

On-Demand Data

NameIdCountryDate
Johnson V Stenseth1000Australia2024-06-14
Cody K Shinko1001United Kingdom2024-06-10
Juan D Waycott1002United Kingdom2024-06-09
Jeanfrancois E Sergi1003India2024-06-01
Mayumi J Rulapaugh1004Australia2024-06-15
Costa K Glick1005Argentina2024-06-06
Isabel G Inouye1006Spain2024-06-17
Salvatore C Vocelka1007Canada2024-06-17
Greenwood A Dilliard1008Japan2024-06-03
Aika S Slusarski1009Japan2024-06-13
Julie M Albares1010Germany2024-05-26
Tony C Rulapaugh1011France2024-05-23
Ashley B Slusarski1012Italy2024-06-15
Salvatore V Chui1013Japan2024-06-14
Jones V Doe1014Argentina2024-06-02
Clifford G Schemmer1015Australia2024-06-21
Johnson G Rulapaugh1016Russia2024-05-26
Aditya K Doe1017Italy2024-05-23
Jefferson H Iturbide1018Australia2024-06-04
Julie G Figeroa1019France2024-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow C RoysterJapanBernardo Dominic RENEWAL
Costa A GauchoItalyIvan Magalhaes RENEWAL
Chavez F DoeGermanyXuxue Feng QUALIFIED
Antonio M SergiGermanyOnyama Limba QUALIFIED
Ashley R IturbideSpainOnyama Limba QUALIFIED
Tony Y DoeArgentinaAmy Elsner UNQUALIFIED
Julie O MarrierGermanyOnyama Limba NEGOTIATION
Alejandro Q RoysterBrazilOnyama Limba UNQUALIFIED
Sinclair A RulapaughBrazilIoni Bowcher PROPOSAL
Kadeem Z NickaArgentinaAmy Elsner UNQUALIFIED
Stacey A GlickRussiaIoni Bowcher UNQUALIFIED
Mayumi U OldroydGermanyBernardo Dominic PROPOSAL
Kaitlin F WieserSpainIoni Bowcher UNQUALIFIED
Arvin Z BowleyGermanyBernardo Dominic NEGOTIATION
Antonio Q FerenczAustraliaOnyama Limba UNQUALIFIED
Deepesh J CampainIndiaElwin Sharvill UNQUALIFIED
Claire X GlickRussiaElwin Sharvill PROPOSAL
Ricardo P MaletItalyIvan Magalhaes UNQUALIFIED
Izzy G BowleySpainBernardo Dominic PROPOSAL
Wickens I GlickBrazilStephen Shaw RENEWAL
Izzy J PoquetteJapanXuxue Feng PROPOSAL
Ashley S OstroskyJapanStephen Shaw QUALIFIED
Chavez H OldroydGermanyOnyama Limba NEGOTIATION
Clifford O FerenczFranceOnyama Limba RENEWAL
Chavez A AmigonRussiaIvan Magalhaes QUALIFIED
Smith E WhobreyBrazilIvan Magalhaes NEW
Murillo T CaudyIndiaIvan Magalhaes NEW
David C GarufiJapanAsiya Javayant UNQUALIFIED
Maria M MaletItalyElwin Sharvill QUALIFIED
Wickens N BologniaRussiaXuxue Feng NEGOTIATION
Maria Z CaldareraItalyIoni Bowcher UNQUALIFIED
Ashley Y WhobreySpainAmy Elsner UNQUALIFIED
Rodrigues F StockhamJapanAsiya Javayant PROPOSAL
Deepesh F VocelkaFranceAmy Elsner UNQUALIFIED
Jones X KuskoIndiaAnna Fali PROPOSAL
Murillo Z BriddickUnited KingdomAsiya Javayant QUALIFIED
Costa X BowleyArgentinaStephen Shaw QUALIFIED
Izzy R MorascaItalyBernardo Dominic NEGOTIATION
Rodrigues G KuskoUnited KingdomAsiya Javayant QUALIFIED
Jones R SergiSpainAnna Fali 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>