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
Octavia G WieserArgentinaBernardo Dominic QUALIFIED
Jennifer L TollnerRussiaOnyama Limba NEGOTIATION
Octavia C IturbideRussiaElwin Sharvill PROPOSAL
Jeanfrancois F StensethCanadaIvan Magalhaes UNQUALIFIED
Claire K GauchoBrazilAmy Elsner QUALIFIED
Misaki B IturbideIndiaAmy Elsner UNQUALIFIED
Juan O PaprockiFranceElwin Sharvill PROPOSAL
Clifford G CaudyBrazilAnna Fali UNQUALIFIED
Claire K KolmetzIndiaIoni Bowcher RENEWAL
Aruna W RoysterSpainAsiya Javayant RENEWAL
Aditya W CampainFranceOnyama Limba PROPOSAL
Salvatore T CampainRussiaIvan Magalhaes UNQUALIFIED
Chavez S ButtArgentinaBernardo Dominic RENEWAL
Julie G PoquetteIndiaAnna Fali PROPOSAL
Jefferson I CaudyAustraliaAnna Fali QUALIFIED
Francesco S RoysterArgentinaOnyama Limba PROPOSAL
Silvio V OldroydBrazilAsiya Javayant NEW
Smith M WieserIndiaAmy Elsner NEW
Wickens T WhobreyRussiaBernardo Dominic NEW
Francesco V DarakjySpainAmy Elsner UNQUALIFIED
Clifford D KuskoArgentinaAmy Elsner RENEWAL
Chavez R NestleAustraliaXuxue Feng NEW
Jefferson Y RoysterRussiaStephen Shaw RENEWAL
Jefferson A StockhamFranceStephen Shaw UNQUALIFIED
Salvatore E PerinCanadaAmy Elsner UNQUALIFIED
David P DilliardBrazilAnna Fali PROPOSAL
Rodrigues B AlbaresItalyAnna Fali UNQUALIFIED
Sinclair A PaprockiCanadaAnna Fali UNQUALIFIED
Ricardo L OstroskyArgentinaXuxue Feng UNQUALIFIED
Smith W DarakjyFranceIoni Bowcher PROPOSAL
Leja G RoysterIndiaStephen Shaw UNQUALIFIED
Rodrigues A FollerGermanyAnna Fali QUALIFIED
Deepesh Z CaldareraIndiaAnna Fali UNQUALIFIED
Greenwood C MaletJapanAsiya Javayant UNQUALIFIED
Munro D SergiIndiaAnna Fali PROPOSAL
Jeanfrancois C CaldareraCanadaXuxue Feng NEW
Misaki H RulapaughIndiaOnyama Limba UNQUALIFIED
Faith W DoeJapanIvan Magalhaes UNQUALIFIED
Jennifer D RutaCanadaXuxue Feng RENEWAL
Kaitlin K InouyeArgentinaAnna Fali NEGOTIATION
Ashley Q VenereAustraliaXuxue Feng RENEWAL
Aditya Y BologniaUnited KingdomAsiya Javayant QUALIFIED
Greenwood H BowleyArgentinaBernardo Dominic RENEWAL
Rodrigues F NickaRussiaAmy Elsner QUALIFIED
Arvin Z RoysterGermanyIvan Magalhaes UNQUALIFIED
Arvin U InouyeItalyIoni Bowcher RENEWAL
Jones S FlosiAustraliaStephen Shaw NEGOTIATION
Kaitlin C KolmetzAustraliaAsiya Javayant NEW
Johnson U PerinIndiaAnna Fali QUALIFIED
Deepesh X StockhamBrazilElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Munro Q NickaUnited KingdomAmy Elsner NEGOTIATION
Murillo W SergiJapanOnyama Limba NEGOTIATION
Juan N GillianCanadaElwin Sharvill NEGOTIATION
Antonio T BologniaAustraliaOnyama Limba NEW
Alejandro G PaprockiJapanStephen Shaw UNQUALIFIED
Juan H SchemmerIndiaBernardo Dominic NEGOTIATION
Ivar M WaycottRussiaElwin Sharvill RENEWAL
Munro A GillianGermanyAmy Elsner UNQUALIFIED
Darci S KolmetzAustraliaOnyama Limba RENEWAL
Darci T TollnerRussiaElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas T SergiRussia2024-06-12Rangoni Of Florence PROPOSAL19Anna Fali
1001Ivar Q MarrierCanada2024-05-15Commercial Press UNQUALIFIED29Stephen Shaw
1002Kadeem O IturbideIndia2024-06-11Chanay, Jeffrey A Esq QUALIFIED43Anna Fali
1003Juan O WhobreyBrazil2024-06-02Morlong Associates UNQUALIFIED37Stephen Shaw
1004Adams E AmigonArgentina2024-06-03Buckley Miller Wright PROPOSAL82Bernardo Dominic
1005Ricardo V BologniaItaly2024-06-04Chapman, Ross E Esq NEW93Ioni Bowcher
1006Juan U GauchoRussia2024-05-22Dorl, James J Esq PROPOSAL25Bernardo Dominic
1007Juan V AlbaresAustralia2024-06-07Buckley Miller Wright RENEWAL6Bernardo Dominic
1008Claire W RoysterItaly2024-06-08Rousseaux, Michael Esq NEGOTIATION1Ivan Magalhaes
1009Nicolas L GarufiAustralia2024-05-24Chapman, Ross E Esq PROPOSAL75Ioni Bowcher
1010Aika X NestleSpain2024-05-22Benton, John B Jr PROPOSAL52Xuxue Feng
1011Rodrigues T CaudyItaly2024-05-16Morlong Associates UNQUALIFIED53Onyama Limba
1012Emily P WhobreyArgentina2024-05-26Rangoni Of Florence NEW42Stephen Shaw
1013Morrow F MorascaIndia2024-06-04Truhlar And Truhlar Attys NEGOTIATION77Xuxue Feng
1014Maisha W KuskoArgentina2024-05-16Chemel, James L Cpa RENEWAL91Onyama Limba
1015Ricardo J VenereRussia2024-05-31Commercial Press UNQUALIFIED82Ioni Bowcher
1016Julie Y VocelkaCanada2024-05-28Rousseaux, Michael Esq UNQUALIFIED87Bernardo Dominic
1017Tony H GauchoJapan2024-05-25Feiner Bros RENEWAL79Stephen Shaw
1018Arvin J GlickGermany2024-06-10Feiner Bros QUALIFIED72Onyama Limba
1019Kadeem S ChuiIndia2024-06-07Printing Dimensions QUALIFIED49Amy Elsner
1020Jennifer R NestleRussia2024-05-26Morlong Associates NEGOTIATION49Amy Elsner
1021Smith K TollnerCanada2024-05-15Morlong Associates QUALIFIED34Onyama Limba
1022Darci F CaldareraCanada2024-05-30Buckley Miller Wright NEW73Amy Elsner
1023Isabel F AmigonFrance2024-05-24Dorl, James J Esq PROPOSAL77Amy Elsner
1024Silvio Y WhobreySpain2024-06-13Rousseaux, Michael Esq NEGOTIATION64Anna Fali
1025Maria Y ChuiFrance2024-06-13King, Christopher A Esq PROPOSAL72Ioni Bowcher
1026Octavia S FerenczRussia2024-06-09Commercial Press NEW4Anna Fali
1027Nicolas R ButtAustralia2024-05-18Feiner Bros NEW76Ioni Bowcher
1028Adams T NestleIndia2024-06-13Morlong Associates NEW79Stephen Shaw
1029Chavez A RulapaughJapan2024-06-06Chapman, Ross E Esq UNQUALIFIED85Elwin Sharvill
1030Greenwood P SchemmerFrance2024-06-11Printing Dimensions QUALIFIED29Ivan Magalhaes
1031Aika N ButtIndia2024-05-16King, Christopher A Esq PROPOSAL26Elwin Sharvill
1032Ashley P MacleadAustralia2024-05-26Chanay, Jeffrey A Esq NEGOTIATION39Stephen Shaw
1033Adams A IturbideJapan2024-06-10Feiner Bros PROPOSAL69Stephen Shaw
1034Smith B MaletAustralia2024-05-19Chemel, James L Cpa NEGOTIATION77Xuxue Feng
1035Murillo W BowleyIndia2024-06-06Feltz Printing Service NEGOTIATION0Anna Fali
1036Chavez V IturbideBrazil2024-05-24Rousseaux, Michael Esq PROPOSAL3Ivan Magalhaes
1037Stacey M OldroydFrance2024-06-13Chapman, Ross E Esq NEW66Stephen Shaw
1038Nicolas T PoquetteSpain2024-05-30King, Christopher A Esq RENEWAL13Stephen Shaw
1039Tony P WieserJapan2024-05-26Truhlar And Truhlar Attys NEGOTIATION92Amy Elsner
1040Leja I ShinkoBrazil2024-05-21Chapman, Ross E Esq RENEWAL34Ioni Bowcher
1041Emily E StensethAustralia2024-05-28Feltz Printing Service PROPOSAL9Ioni Bowcher
1042Leja N GauchoIndia2024-05-22Truhlar And Truhlar Attys NEW51Elwin Sharvill
1043Maisha Q StockhamBrazil2024-06-02Chanay, Jeffrey A Esq UNQUALIFIED76Stephen Shaw
1044Ashley B BowleyFrance2024-05-21Benton, John B Jr RENEWAL67Anna Fali
1045Morrow L OldroydIndia2024-06-12Dorl, James J Esq QUALIFIED46Onyama Limba
1046Emily U OstroskyUnited Kingdom2024-06-13Rangoni Of Florence QUALIFIED45Xuxue Feng
1047Kaitlin B MaletArgentina2024-05-31Chemel, James L Cpa RENEWAL42Stephen Shaw
1048Silvio M MaletJapan2024-05-16Truhlar And Truhlar Attys RENEWAL82Bernardo Dominic
1049Aika G CaldareraAustralia2024-06-11Morlong Associates UNQUALIFIED0Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Wickens I RutaJapanAnna Fali PROPOSAL
David Q PerinJapanStephen Shaw QUALIFIED
Isabel V PaprockiJapanIoni Bowcher NEW
Maria F CaldareraItalyIvan Magalhaes RENEWAL
Nicolas I SchemmerFranceStephen Shaw NEGOTIATION
James D BriddickUnited KingdomAsiya Javayant UNQUALIFIED
Darci X FollerArgentinaStephen Shaw NEGOTIATION
Aika D PoquetteAustraliaAnna Fali RENEWAL
Darci T GauchoJapanAmy Elsner RENEWAL
Leon A RimArgentinaElwin Sharvill QUALIFIED
Johnson I WieserAustraliaXuxue Feng NEW
Costa A TollnerIndiaOnyama Limba PROPOSAL
Claire Q SaylorsUnited KingdomIvan Magalhaes QUALIFIED
Claire M DarakjyFranceIoni Bowcher QUALIFIED
Claire F RoysterFranceIoni Bowcher NEGOTIATION
Jones C StensethBrazilIoni Bowcher UNQUALIFIED
Alejandro Y NickaGermanyBernardo Dominic NEGOTIATION
Aditya Y FlosiSpainOnyama Limba UNQUALIFIED
Clifford H FigeroaSpainOnyama Limba NEGOTIATION
Leja Q FollerIndiaIoni Bowcher NEGOTIATION
Julie C ChuiCanadaOnyama Limba NEGOTIATION
Stacey I BologniaIndiaAsiya Javayant NEGOTIATION
Greenwood R MacleadIndiaIoni Bowcher UNQUALIFIED
Adams B TollnerArgentinaIoni Bowcher RENEWAL
Rodrigues U ShinkoItalyIvan Magalhaes UNQUALIFIED
Cody L MacleadRussiaIoni Bowcher NEW
Costa N OldroydItalyAnna Fali QUALIFIED
Aika P SaylorsRussiaAmy Elsner UNQUALIFIED
Claire N MaletAustraliaStephen Shaw NEGOTIATION
Maria M ButtBrazilIvan Magalhaes PROPOSAL
Jefferson H WieserSpainAsiya Javayant PROPOSAL
Munro B VocelkaCanadaXuxue Feng PROPOSAL
Deepesh N RulapaughBrazilOnyama Limba RENEWAL
Leja U VocelkaItalyBernardo Dominic QUALIFIED
Ivar K OstroskyGermanyElwin Sharvill NEW
David Y SaylorsRussiaAmy Elsner PROPOSAL
Juan G CaudyItalyOnyama Limba QUALIFIED
Arvin P OldroydFranceXuxue Feng UNQUALIFIED
Jefferson Z CampainBrazilIoni Bowcher RENEWAL
Maisha G AmigonFranceAmy Elsner PROPOSAL
Misaki U RimFranceOnyama Limba UNQUALIFIED
Emily V FlosiBrazilAnna Fali NEGOTIATION
Clifford T KolmetzBrazilAmy Elsner NEGOTIATION
Maria U AlbaresAustraliaAnna Fali RENEWAL
Clifford K SaylorsCanadaXuxue Feng NEW
Kadeem U KolmetzJapanStephen Shaw PROPOSAL
Juan P InouyeAustraliaIoni Bowcher UNQUALIFIED
Antonio A MarrierAustraliaOnyama Limba QUALIFIED
Izzy A RoysterFranceIvan Magalhaes NEGOTIATION
Aruna K RoysterItalyAsiya Javayant NEGOTIATION
Frozen Columns
Name
Francesco Z Ruta
Jefferson B Malet
Julie N Caldarera
Antonio E Malet
Aditya C Schemmer
Aruna Y Malet
Johnson R Bowley
David Y Schemmer
Chavez V Chui
Izzy K Schemmer
Maria J Glick
Kaitlin Q Stockham
Ashley O Slusarski
Ricardo O Caudy
Faith H Sergi
Murillo J Caudy
Cody B Perin
Cody X Flosi
Ricardo A Kusko
Salvatore Y Doe
Francesco W Slusarski
Murillo Y Stockham
Emily S Royster
Tony A Morasca
Antonio D Maclead
Cody S Foller
Darci B Schemmer
Nicolas S Whobrey
Jefferson V Saylors
Alejandro F Nicka
Maisha C Caudy
Aditya S Flosi
Morrow B Amigon
Jefferson V Darakjy
Jones J Marrier
Mujtaba U Briddick
Claire B Chui
Leon T Nicka
David D Campain
Cody N Nestle
Alejandro I Saylors
Mujtaba Z Caldarera
Claire G Gaucho
Izzy E Rulapaugh
David N Malet
Costa I Kusko
Faith J Bowley
Johnson B Campain
Silvio U Darakjy
Julie O Inouye
IdCountryDate
1000Australia2024-05-18
1001Russia2024-05-22
1002Spain2024-05-22
1003France2024-06-01
1004Brazil2024-05-15
1005Germany2024-06-02
1006Argentina2024-05-31
1007Argentina2024-06-12
1008Australia2024-06-04
1009Italy2024-06-03
1010Russia2024-05-24
1011India2024-06-09
1012United Kingdom2024-05-16
1013Canada2024-05-31
1014Canada2024-06-08
1015Spain2024-05-15
1016Argentina2024-05-17
1017Spain2024-06-06
1018Spain2024-05-30
1019India2024-06-12
1020France2024-06-13
1021Germany2024-05-24
1022Canada2024-06-02
1023Canada2024-05-21
1024United Kingdom2024-06-07
1025India2024-05-28
1026France2024-05-19
1027Germany2024-06-13
1028Canada2024-06-03
1029Russia2024-05-25
1030Japan2024-05-23
1031Canada2024-05-30
1032India2024-05-20
1033India2024-05-25
1034Canada2024-06-08
1035Germany2024-06-08
1036Russia2024-05-23
1037Japan2024-05-30
1038Russia2024-06-09
1039India2024-05-17
1040Japan2024-06-11
1041Australia2024-05-29
1042United Kingdom2024-05-27
1043Canada2024-06-07
1044United Kingdom2024-05-30
1045Germany2024-05-21
1046Spain2024-05-24
1047Germany2024-05-19
1048Spain2024-05-26
1049France2024-06-04

On-Demand Data

NameIdCountryDate
Ricardo B Malet1000Argentina2024-06-01
Mayumi X Amigon1001Canada2024-05-17
Sinclair E Shinko1002Russia2024-06-09
Emily U Albares1003Canada2024-06-01
Chavez N Gillian1004Argentina2024-05-21
Maisha O Ruta1005Italy2024-06-02
Adams I Nestle1006Argentina2024-05-17
Ivar R Wieser1007Japan2024-06-01
Wickens Y Ruta1008Canada2024-06-05
Leja L Slusarski1009Russia2024-06-02
Maisha A Dilliard1010Australia2024-06-10
Kadeem M Caldarera1011Japan2024-05-27
Antonio C Perin1012Canada2024-06-08
James Q Gillian1013Australia2024-06-05
Darci T Figeroa1014France2024-06-11
Jefferson Q Schemmer1015Spain2024-05-19
Sinclair X Poquette1016Japan2024-05-24
Morrow C Briddick1017Russia2024-05-16
Mujtaba Q Bowley1018Germany2024-05-21
Aruna C Rim1019Spain2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Misaki U StockhamUnited KingdomXuxue Feng UNQUALIFIED
Ivar B MaletIndiaAsiya Javayant QUALIFIED
Izzy W KolmetzSpainOnyama Limba QUALIFIED
Kaitlin W NickaJapanOnyama Limba NEGOTIATION
Ivar U GarufiRussiaAsiya Javayant QUALIFIED
Ivar P InouyeGermanyXuxue Feng UNQUALIFIED
Ashley L ButtBrazilOnyama Limba QUALIFIED
Leon E FollerJapanXuxue Feng UNQUALIFIED
Johnson L TollnerJapanBernardo Dominic RENEWAL
Aditya D SlusarskiRussiaElwin Sharvill PROPOSAL
Darci Z PerinBrazilOnyama Limba NEGOTIATION
Ricardo C TollnerAustraliaStephen Shaw QUALIFIED
Leja G SergiBrazilOnyama Limba PROPOSAL
Alejandro N WaycottArgentinaElwin Sharvill UNQUALIFIED
Johnson T StockhamBrazilIvan Magalhaes UNQUALIFIED
Chavez P GarufiUnited KingdomXuxue Feng PROPOSAL
Deepesh P WieserRussiaBernardo Dominic PROPOSAL
Kaitlin J OstroskyItalyAsiya Javayant NEW
Maisha E CaldareraFranceAmy Elsner UNQUALIFIED
Mujtaba A DoeAustraliaXuxue Feng PROPOSAL
Ricardo F RimBrazilAmy Elsner NEW
Aika Y DoeJapanOnyama Limba UNQUALIFIED
Sinclair O SergiGermanyBernardo Dominic QUALIFIED
Maisha Y VocelkaIndiaAmy Elsner QUALIFIED
Aruna T SlusarskiSpainAnna Fali RENEWAL
Jefferson V ShinkoBrazilIvan Magalhaes NEGOTIATION
Chavez N GlickBrazilAnna Fali NEGOTIATION
Alejandro E CaudyArgentinaIoni Bowcher NEW
Mujtaba X GarufiFranceOnyama Limba UNQUALIFIED
Jones N PoquetteSpainIvan Magalhaes UNQUALIFIED
Stacey X BriddickRussiaStephen Shaw PROPOSAL
Johnson R RoysterAustraliaIvan Magalhaes RENEWAL
Silvio S WieserGermanyAnna Fali NEGOTIATION
Faith X AmigonFranceIvan Magalhaes QUALIFIED
Wickens X SergiBrazilAnna Fali RENEWAL
Mayumi K SaylorsUnited KingdomAnna Fali RENEWAL
Rodrigues O StockhamItalyIvan Magalhaes QUALIFIED
James E CaldareraFranceAnna Fali UNQUALIFIED
Kadeem Y WhobreyAustraliaIoni Bowcher PROPOSAL
Francesco R TollnerCanadaXuxue Feng NEW

<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>