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
Jefferson I MacleadUnited KingdomAmy Elsner QUALIFIED
Stacey V FollerUnited KingdomBernardo Dominic NEW
Mayumi Z GlickUnited KingdomAsiya Javayant NEW
Rodrigues X WhobreyUnited KingdomBernardo Dominic UNQUALIFIED
Jeanfrancois R FlosiItalyAmy Elsner NEGOTIATION
Salvatore P NestleGermanyIvan Magalhaes PROPOSAL
Mayumi X CaldareraBrazilAnna Fali NEW
Chavez J SaylorsArgentinaAnna Fali NEW
Mayumi T InouyeCanadaStephen Shaw PROPOSAL
Morrow Y ShinkoJapanStephen Shaw PROPOSAL
Murillo X OldroydFranceAsiya Javayant PROPOSAL
Rodrigues T InouyeFranceIoni Bowcher NEGOTIATION
Johnson L SaylorsRussiaOnyama Limba RENEWAL
Octavia C AmigonRussiaAmy Elsner UNQUALIFIED
Leon D RulapaughCanadaStephen Shaw UNQUALIFIED
Aditya J VocelkaBrazilIoni Bowcher RENEWAL
Jennifer S RutaSpainIoni Bowcher PROPOSAL
Morrow M VocelkaArgentinaAsiya Javayant NEW
Aditya X TollnerBrazilStephen Shaw QUALIFIED
Leon M CaldareraCanadaAnna Fali QUALIFIED
Rodrigues T GarufiItalyOnyama Limba PROPOSAL
Aruna V NickaFranceXuxue Feng QUALIFIED
Antonio C NestleUnited KingdomIoni Bowcher QUALIFIED
Deepesh J NestleAustraliaXuxue Feng RENEWAL
Ashley L KuskoIndiaBernardo Dominic NEW
Faith L CampainBrazilAmy Elsner UNQUALIFIED
Deepesh F TollnerUnited KingdomIoni Bowcher NEW
Cody E GillianGermanyAnna Fali NEGOTIATION
Greenwood K BriddickAustraliaStephen Shaw UNQUALIFIED
Maisha C BriddickFranceBernardo Dominic UNQUALIFIED
Murillo V GauchoArgentinaStephen Shaw NEGOTIATION
Aruna R FollerFranceAnna Fali UNQUALIFIED
Deepesh S WaycottAustraliaAmy Elsner NEW
Julie G CampainGermanyIvan Magalhaes PROPOSAL
Chavez A WhobreyBrazilIvan Magalhaes NEGOTIATION
Johnson V SergiJapanAmy Elsner PROPOSAL
Maria B StockhamBrazilElwin Sharvill PROPOSAL
Darci D BologniaBrazilIvan Magalhaes NEW
Leon R WaycottIndiaIoni Bowcher UNQUALIFIED
Chavez M NestleFranceAsiya Javayant NEGOTIATION
Silvio W BologniaUnited KingdomBernardo Dominic QUALIFIED
Adams N TollnerJapanBernardo Dominic PROPOSAL
Rodrigues R PaprockiJapanElwin Sharvill UNQUALIFIED
Silvio Q RulapaughBrazilBernardo Dominic RENEWAL
Izzy W DilliardItalyXuxue Feng UNQUALIFIED
Stacey V SaylorsRussiaXuxue Feng UNQUALIFIED
Tony Q PerinRussiaElwin Sharvill QUALIFIED
Misaki F MorascaFranceIvan Magalhaes PROPOSAL
Mujtaba R BologniaArgentinaStephen Shaw PROPOSAL
Aditya K GillianBrazilIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jones T BriddickGermanyAnna Fali UNQUALIFIED
Chavez G KuskoGermanyAnna Fali UNQUALIFIED
Wickens Q ShinkoUnited KingdomOnyama Limba NEGOTIATION
Kadeem B BologniaAustraliaAmy Elsner PROPOSAL
Aditya X VocelkaAustraliaStephen Shaw UNQUALIFIED
Adams F BowleyArgentinaOnyama Limba PROPOSAL
Clifford W DarakjyGermanyIoni Bowcher PROPOSAL
James P DarakjyGermanyElwin Sharvill RENEWAL
Isabel X BriddickUnited KingdomBernardo Dominic RENEWAL
Aika E CaudyFranceBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria P SchemmerBrazil2024-05-21King, Christopher A Esq NEW37Asiya Javayant
1001Jefferson W MorascaUnited Kingdom2024-05-20Printing Dimensions NEGOTIATION41Ioni Bowcher
1002Mujtaba O RulapaughItaly2024-06-09Rousseaux, Michael Esq NEGOTIATION34Stephen Shaw
1003Octavia J VocelkaIndia2024-06-16Buckley Miller Wright RENEWAL88Asiya Javayant
1004Clifford Q MaletBrazil2024-06-16Feltz Printing Service UNQUALIFIED14Anna Fali
1005Misaki U StockhamCanada2024-06-03Dorl, James J Esq QUALIFIED22Ioni Bowcher
1006Alejandro K SchemmerBrazil2024-06-12Feiner Bros NEGOTIATION73Bernardo Dominic
1007Mayumi M VocelkaIndia2024-05-30Morlong Associates NEW37Ivan Magalhaes
1008Ivar F DarakjyItaly2024-05-21Buckley Miller Wright RENEWAL39Anna Fali
1009Adams L IturbideBrazil2024-05-22Rousseaux, Michael Esq QUALIFIED11Anna Fali
1010Smith V SchemmerArgentina2024-06-10Printing Dimensions NEGOTIATION8Elwin Sharvill
1011Jeanfrancois M VocelkaArgentina2024-05-21Feltz Printing Service NEW27Xuxue Feng
1012Faith R SchemmerIndia2024-06-05Chapman, Ross E Esq RENEWAL92Ivan Magalhaes
1013Sinclair B SaylorsFrance2024-06-06Chemel, James L Cpa NEGOTIATION18Asiya Javayant
1014Sinclair V NickaArgentina2024-06-11Rousseaux, Michael Esq RENEWAL30Onyama Limba
1015Julie M CaldareraCanada2024-05-20Buckley Miller Wright NEGOTIATION7Stephen Shaw
1016Clifford L PerinRussia2024-06-01Morlong Associates PROPOSAL32Anna Fali
1017Leon X OldroydGermany2024-05-19Rousseaux, Michael Esq PROPOSAL27Xuxue Feng
1018Leon D RoysterGermany2024-05-25Chemel, James L Cpa NEW47Xuxue Feng
1019Francesco K DilliardBrazil2024-06-10Morlong Associates NEW63Amy Elsner
1020Aika S ShinkoSpain2024-06-14Rousseaux, Michael Esq RENEWAL82Anna Fali
1021Leja E DoeJapan2024-06-17King, Christopher A Esq QUALIFIED96Onyama Limba
1022Stacey Z ChuiArgentina2024-06-11Morlong Associates RENEWAL90Xuxue Feng
1023Silvio F SergiBrazil2024-06-06Feiner Bros QUALIFIED92Bernardo Dominic
1024Darci I CaldareraGermany2024-05-28Rangoni Of Florence QUALIFIED18Amy Elsner
1025Clifford N OstroskyBrazil2024-06-01Feltz Printing Service RENEWAL74Xuxue Feng
1026Clifford Y RoysterCanada2024-05-20Chemel, James L Cpa UNQUALIFIED87Amy Elsner
1027Antonio A WaycottUnited Kingdom2024-06-17Commercial Press NEW52Asiya Javayant
1028Maria P MacleadSpain2024-05-23Feltz Printing Service UNQUALIFIED50Asiya Javayant
1029Ricardo X RulapaughAustralia2024-05-21Feltz Printing Service UNQUALIFIED16Amy Elsner
1030Costa D WieserUnited Kingdom2024-05-24Feltz Printing Service PROPOSAL69Ivan Magalhaes
1031Silvio W ButtBrazil2024-05-31Chemel, James L Cpa NEGOTIATION81Ioni Bowcher
1032Arvin Z FollerIndia2024-05-23Buckley Miller Wright UNQUALIFIED16Xuxue Feng
1033Julie F SaylorsGermany2024-05-25Truhlar And Truhlar Attys PROPOSAL68Ivan Magalhaes
1034Mujtaba D FollerItaly2024-05-24Printing Dimensions QUALIFIED38Amy Elsner
1035Wickens W BologniaRussia2024-06-06Rousseaux, Michael Esq RENEWAL40Onyama Limba
1036Izzy P SlusarskiRussia2024-06-11Chanay, Jeffrey A Esq PROPOSAL86Elwin Sharvill
1037Costa E GauchoCanada2024-05-24Morlong Associates QUALIFIED15Anna Fali
1038Morrow O ShinkoJapan2024-06-04Rousseaux, Michael Esq PROPOSAL0Bernardo Dominic
1039Leon A MaletJapan2024-06-14Chapman, Ross E Esq QUALIFIED84Stephen Shaw
1040Munro R FerenczUnited Kingdom2024-06-01Feiner Bros UNQUALIFIED63Ioni Bowcher
1041Kadeem O FerenczJapan2024-05-30King, Christopher A Esq PROPOSAL33Ivan Magalhaes
1042Misaki B KuskoItaly2024-05-31Commercial Press NEGOTIATION38Bernardo Dominic
1043Tony T WieserItaly2024-06-16Morlong Associates PROPOSAL51Bernardo Dominic
1044Tony W StensethIndia2024-05-21Benton, John B Jr NEGOTIATION5Stephen Shaw
1045Silvio G PoquetteSpain2024-06-14Rousseaux, Michael Esq UNQUALIFIED78Asiya Javayant
1046Darci S ButtJapan2024-06-04Rousseaux, Michael Esq PROPOSAL11Stephen Shaw
1047Kadeem L FollerFrance2024-06-15Rousseaux, Michael Esq UNQUALIFIED4Bernardo Dominic
1048Smith F SchemmerAustralia2024-06-10Benton, John B Jr PROPOSAL67Anna Fali
1049Aruna A GauchoArgentina2024-05-30Rangoni Of Florence QUALIFIED9Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Maisha R CampainGermanyAmy Elsner QUALIFIED
Francesco F MarrierGermanyAmy Elsner UNQUALIFIED
Tony K CampainBrazilIoni Bowcher RENEWAL
Alejandro H WhobreyJapanAnna Fali RENEWAL
Emily U OstroskyIndiaAnna Fali NEGOTIATION
Tony H MorascaAustraliaAsiya Javayant QUALIFIED
Smith Z DilliardBrazilIoni Bowcher NEGOTIATION
Sinclair F GillianIndiaStephen Shaw QUALIFIED
Ashley Y FollerBrazilBernardo Dominic QUALIFIED
Johnson R RimArgentinaAsiya Javayant QUALIFIED
Munro E FollerSpainOnyama Limba NEW
Salvatore J SaylorsArgentinaXuxue Feng UNQUALIFIED
Wickens N NestleJapanStephen Shaw RENEWAL
Ivar Y StensethIndiaXuxue Feng PROPOSAL
Jennifer Q BowleyFranceOnyama Limba UNQUALIFIED
Juan K KolmetzIndiaIvan Magalhaes NEW
Francesco O CaudyFranceStephen Shaw PROPOSAL
Jones F VocelkaSpainElwin Sharvill NEW
David I AlbaresRussiaIvan Magalhaes RENEWAL
Antonio D ChuiIndiaElwin Sharvill UNQUALIFIED
Clifford U OstroskyJapanElwin Sharvill QUALIFIED
James O RutaBrazilBernardo Dominic NEW
Wickens G MaletUnited KingdomAsiya Javayant RENEWAL
Maisha O MacleadItalyIoni Bowcher NEW
Jones H MarrierUnited KingdomAmy Elsner NEGOTIATION
Claire E NestleSpainXuxue Feng UNQUALIFIED
Darci N NickaFranceElwin Sharvill RENEWAL
Maisha K MaletUnited KingdomIvan Magalhaes NEGOTIATION
Salvatore A MaletCanadaBernardo Dominic NEGOTIATION
Kadeem Y StockhamAustraliaBernardo Dominic QUALIFIED
Tony F SchemmerUnited KingdomAsiya Javayant PROPOSAL
Adams Y MacleadArgentinaElwin Sharvill RENEWAL
Munro U FerenczIndiaAsiya Javayant NEW
Costa U SergiRussiaAmy Elsner QUALIFIED
Faith O DarakjyBrazilElwin Sharvill UNQUALIFIED
Salvatore D GillianJapanStephen Shaw NEW
Ashley M SchemmerArgentinaIoni Bowcher QUALIFIED
Ashley B KolmetzUnited KingdomXuxue Feng PROPOSAL
Sinclair M IturbideItalyAsiya Javayant NEW
Leon M GlickAustraliaAnna Fali NEGOTIATION
Ricardo H BriddickAustraliaAnna Fali QUALIFIED
Leon X SaylorsJapanBernardo Dominic RENEWAL
Isabel T SergiBrazilAnna Fali QUALIFIED
James S MarrierUnited KingdomAnna Fali NEGOTIATION
Aditya X FlosiCanadaElwin Sharvill NEW
Mujtaba C SaylorsGermanyXuxue Feng NEW
Jones T GarufiSpainOnyama Limba PROPOSAL
Deepesh Y StockhamFranceOnyama Limba RENEWAL
Jefferson I GauchoSpainElwin Sharvill NEW
Aditya O FigeroaCanadaElwin Sharvill NEW
Frozen Columns
Name
Julie R Briddick
Chavez Z Malet
Cody J Slusarski
Izzy X Glick
Munro J Bolognia
Ivar W Rulapaugh
Ricardo L Gaucho
Murillo T Whobrey
Izzy B Schemmer
Greenwood D Iturbide
Francesco L Morasca
Leon N Venere
Kaitlin F Morasca
Wickens W Morasca
Darci J Garufi
Leon T Schemmer
Morrow X Venere
Claire W Sergi
Jones F Morasca
Silvio G Garufi
Isabel W Perin
Adams R Campain
Deepesh A Morasca
Juan M Perin
Octavia P Saylors
Cody G Kolmetz
Emily D Whobrey
Silvio L Gaucho
Tony D Nestle
Maisha L Iturbide
Aditya U Sergi
Maria O Malet
Aika L Briddick
James H Waycott
Sinclair K Maclead
Alejandro S Darakjy
Maisha Y Flosi
Costa I Maclead
Isabel I Bowley
Claire Q Poquette
Maisha L Garufi
Johnson P Oldroyd
Faith U Campain
Izzy N Albares
Johnson G Amigon
Francesco S Wieser
Darci T Whobrey
Juan U Sergi
Salvatore R Bowley
Kaitlin Y Darakjy
IdCountryDate
1000Canada2024-06-10
1001Germany2024-05-31
1002Japan2024-05-23
1003Germany2024-06-04
1004United Kingdom2024-06-01
1005Australia2024-06-05
1006Spain2024-05-27
1007Argentina2024-06-02
1008Russia2024-06-11
1009Italy2024-05-23
1010Japan2024-06-14
1011Spain2024-05-21
1012France2024-05-25
1013Germany2024-06-05
1014United Kingdom2024-06-05
1015Japan2024-05-27
1016Japan2024-05-22
1017Spain2024-06-08
1018India2024-05-30
1019United Kingdom2024-06-16
1020United Kingdom2024-05-19
1021Germany2024-05-28
1022France2024-05-31
1023India2024-05-31
1024India2024-06-12
1025Italy2024-06-14
1026Spain2024-05-30
1027Brazil2024-06-10
1028Brazil2024-05-22
1029Argentina2024-05-29
1030Japan2024-06-11
1031Canada2024-05-30
1032Italy2024-05-22
1033Brazil2024-05-26
1034Brazil2024-06-06
1035Canada2024-06-06
1036Italy2024-06-16
1037Russia2024-06-16
1038Canada2024-06-17
1039Japan2024-05-30
1040France2024-06-14
1041Japan2024-06-09
1042Spain2024-05-22
1043Russia2024-05-19
1044India2024-06-08
1045Japan2024-06-17
1046Russia2024-06-08
1047Australia2024-05-26
1048Canada2024-05-20
1049Australia2024-05-29

On-Demand Data

NameIdCountryDate
Kadeem H Bolognia1000France2024-06-11
Deepesh P Malet1001France2024-06-05
Jeanfrancois C Wieser1002Germany2024-06-17
Izzy F Glick1003Germany2024-05-21
Leon W Kolmetz1004France2024-05-20
Rodrigues J Glick1005Spain2024-05-29
Silvio M Waycott1006Italy2024-05-27
Murillo P Iturbide1007Germany2024-06-05
Greenwood I Morasca1008France2024-06-16
Murillo F Caudy1009Russia2024-06-04
Silvio E Iturbide1010Canada2024-06-14
Juan Q Briddick1011Australia2024-06-01
Isabel X Gaucho1012Russia2024-06-08
Julie C Darakjy1013United Kingdom2024-06-06
Johnson K Marrier1014Germany2024-06-05
Munro P Perin1015Germany2024-06-15
Greenwood L Rulapaugh1016India2024-06-14
Munro T Amigon1017United Kingdom2024-05-23
Ashley P Wieser1018France2024-06-14
Ashley G Iturbide1019Russia2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony A WieserFranceIoni Bowcher UNQUALIFIED
Cody H SergiSpainXuxue Feng QUALIFIED
Faith C StensethAustraliaAnna Fali NEGOTIATION
Claire I WhobreyIndiaIoni Bowcher UNQUALIFIED
Juan E CampainArgentinaOnyama Limba RENEWAL
Stacey B ButtIndiaAsiya Javayant PROPOSAL
Maria D ShinkoSpainStephen Shaw UNQUALIFIED
Leja P FerenczArgentinaIvan Magalhaes RENEWAL
Greenwood A RoysterGermanyIoni Bowcher NEGOTIATION
Faith L DoeItalyIoni Bowcher NEW
Alejandro V VocelkaAustraliaXuxue Feng NEW
Julie N RulapaughUnited KingdomIvan Magalhaes NEW
Julie Q CaudyAustraliaIvan Magalhaes RENEWAL
Morrow G RimFranceElwin Sharvill NEGOTIATION
Nicolas L GillianBrazilAmy Elsner PROPOSAL
Juan M GarufiJapanAmy Elsner UNQUALIFIED
Munro N OldroydUnited KingdomIvan Magalhaes UNQUALIFIED
Octavia F SlusarskiGermanyAmy Elsner RENEWAL
Morrow E BriddickJapanOnyama Limba QUALIFIED
James L IturbideGermanyIoni Bowcher RENEWAL
David Y FigeroaBrazilAsiya Javayant PROPOSAL
Jeanfrancois P BriddickItalyAsiya Javayant QUALIFIED
James I MacleadBrazilAnna Fali NEW
Mayumi Y IturbideIndiaStephen Shaw PROPOSAL
Clifford C OldroydRussiaBernardo Dominic UNQUALIFIED
James R GarufiArgentinaXuxue Feng QUALIFIED
Alejandro S GarufiItalyOnyama Limba NEW
Ashley M NestleItalyAmy Elsner NEGOTIATION
Kadeem U RulapaughBrazilBernardo Dominic QUALIFIED
Mayumi O VocelkaSpainBernardo Dominic UNQUALIFIED
David C SergiItalyOnyama Limba QUALIFIED
Deepesh Q NestleIndiaElwin Sharvill QUALIFIED
Misaki Q ButtGermanyAmy Elsner PROPOSAL
Francesco O SergiGermanyAmy Elsner QUALIFIED
Maria G AlbaresSpainAnna Fali PROPOSAL
Juan V RoysterFranceAsiya Javayant QUALIFIED
Jefferson D VocelkaRussiaXuxue Feng PROPOSAL
James J InouyeIndiaAsiya Javayant UNQUALIFIED
Costa U InouyeSpainOnyama Limba NEW
Leja B ShinkoArgentinaStephen Shaw 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>