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 W RoysterAustraliaIvan Magalhaes NEGOTIATION
Faith M CaldareraItalyAmy Elsner RENEWAL
Maisha I PaprockiArgentinaElwin Sharvill QUALIFIED
Antonio Q ButtFranceIoni Bowcher QUALIFIED
Aruna U RimUnited KingdomAnna Fali RENEWAL
Octavia F MorascaArgentinaXuxue Feng PROPOSAL
Aditya V GarufiItalyElwin Sharvill NEGOTIATION
Murillo W MorascaJapanElwin Sharvill RENEWAL
Kadeem H RutaJapanXuxue Feng RENEWAL
Salvatore X RutaCanadaStephen Shaw UNQUALIFIED
Ashley Z SaylorsJapanAmy Elsner RENEWAL
Tony Z GillianAustraliaElwin Sharvill RENEWAL
Jeanfrancois D MarrierBrazilXuxue Feng PROPOSAL
Emily S GauchoRussiaElwin Sharvill PROPOSAL
Greenwood T StensethRussiaElwin Sharvill RENEWAL
Kaitlin Y FlosiRussiaIoni Bowcher QUALIFIED
Leon E RoysterJapanElwin Sharvill RENEWAL
Deepesh Y RoysterUnited KingdomOnyama Limba QUALIFIED
Greenwood A RoysterUnited KingdomIvan Magalhaes NEW
Juan E AmigonSpainIvan Magalhaes QUALIFIED
Aika R FollerBrazilElwin Sharvill NEGOTIATION
Izzy H AlbaresRussiaIoni Bowcher UNQUALIFIED
Costa D RimItalyXuxue Feng PROPOSAL
Nicolas W DilliardItalyBernardo Dominic RENEWAL
Mujtaba S SergiGermanyAsiya Javayant QUALIFIED
Maisha L PaprockiCanadaIvan Magalhaes PROPOSAL
Aditya D RutaJapanStephen Shaw PROPOSAL
Emily M CaldareraGermanyIoni Bowcher UNQUALIFIED
Aika W ShinkoUnited KingdomElwin Sharvill NEW
Kadeem Y WaycottIndiaOnyama Limba QUALIFIED
Salvatore A SchemmerJapanBernardo Dominic PROPOSAL
Octavia D NickaAustraliaStephen Shaw QUALIFIED
Alejandro C CampainAustraliaAmy Elsner NEW
Smith J FerenczAustraliaAmy Elsner NEW
Cody L PerinRussiaBernardo Dominic NEW
Aika F FollerSpainStephen Shaw RENEWAL
Emily A SchemmerRussiaAsiya Javayant UNQUALIFIED
Alejandro C MaletGermanyAsiya Javayant UNQUALIFIED
Stacey S SlusarskiCanadaIoni Bowcher NEW
Jeanfrancois T KuskoArgentinaXuxue Feng UNQUALIFIED
Jeanfrancois O VocelkaBrazilAnna Fali RENEWAL
Kadeem S MaletGermanyElwin Sharvill PROPOSAL
James J OstroskyItalyStephen Shaw PROPOSAL
Emily L MaletBrazilElwin Sharvill NEW
Izzy P FollerItalyAsiya Javayant UNQUALIFIED
Clifford H KuskoArgentinaXuxue Feng QUALIFIED
Silvio T StensethJapanAsiya Javayant RENEWAL
Mayumi J MaletFranceIoni Bowcher UNQUALIFIED
Faith P WhobreyRussiaOnyama Limba QUALIFIED
Kaitlin C InouyeBrazilAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Salvatore Y ShinkoSpainElwin Sharvill QUALIFIED
Costa E NestleRussiaIvan Magalhaes PROPOSAL
Emily O VocelkaJapanAmy Elsner PROPOSAL
Stacey A GillianItalyXuxue Feng NEGOTIATION
Aditya D DoeSpainElwin Sharvill QUALIFIED
Antonio T MaletArgentinaAmy Elsner QUALIFIED
Aditya R PoquetteFranceAnna Fali PROPOSAL
Arvin H PoquetteCanadaXuxue Feng NEW
Nicolas I FigeroaUnited KingdomStephen Shaw NEW
Cody P GauchoAustraliaAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez R MacleadFrance2024-05-16Printing Dimensions QUALIFIED35Onyama Limba
1001Jeanfrancois K BowleyAustralia2024-05-11Benton, John B Jr PROPOSAL19Stephen Shaw
1002Maisha B CaudySpain2024-05-21Benton, John B Jr NEGOTIATION45Ioni Bowcher
1003Morrow C VenereBrazil2024-04-27Dorl, James J Esq QUALIFIED12Ivan Magalhaes
1004Rodrigues C GarufiFrance2024-05-09Rangoni Of Florence NEW64Elwin Sharvill
1005Darci X WieserIndia2024-05-12Chapman, Ross E Esq RENEWAL6Xuxue Feng
1006James R SaylorsArgentina2024-05-04Buckley Miller Wright UNQUALIFIED39Onyama Limba
1007Jennifer Z IturbideArgentina2024-05-04Buckley Miller Wright NEGOTIATION26Elwin Sharvill
1008Aika J CampainItaly2024-04-28Printing Dimensions NEGOTIATION60Ivan Magalhaes
1009Emily E VocelkaIndia2024-05-01Commercial Press NEW99Anna Fali
1010Ricardo N SaylorsArgentina2024-04-28Buckley Miller Wright NEGOTIATION11Stephen Shaw
1011Smith Q CampainJapan2024-05-08Dorl, James J Esq QUALIFIED73Anna Fali
1012Izzy J MacleadArgentina2024-05-12Benton, John B Jr NEGOTIATION99Stephen Shaw
1013Salvatore K DarakjyRussia2024-05-18King, Christopher A Esq UNQUALIFIED6Elwin Sharvill
1014Greenwood S GlickJapan2024-04-28King, Christopher A Esq NEW62Ioni Bowcher
1015James O IturbideAustralia2024-05-10Printing Dimensions NEW56Elwin Sharvill
1016Ricardo C VenereUnited Kingdom2024-04-29Chanay, Jeffrey A Esq NEW25Anna Fali
1017Izzy D OstroskyIndia2024-05-02Feiner Bros NEGOTIATION67Anna Fali
1018Murillo M PoquetteIndia2024-05-15Benton, John B Jr NEW4Xuxue Feng
1019Aruna X KuskoGermany2024-05-08Buckley Miller Wright UNQUALIFIED0Anna Fali
1020Clifford V AmigonBrazil2024-04-25Rousseaux, Michael Esq NEW22Ivan Magalhaes
1021Costa P GlickAustralia2024-04-27Commercial Press NEGOTIATION32Anna Fali
1022Aruna M CaudyUnited Kingdom2024-05-24Benton, John B Jr PROPOSAL70Ioni Bowcher
1023Izzy R IturbideRussia2024-05-10King, Christopher A Esq UNQUALIFIED78Ioni Bowcher
1024Salvatore A TollnerIndia2024-05-09Chemel, James L Cpa QUALIFIED11Anna Fali
1025Alejandro V DoeJapan2024-05-19Chemel, James L Cpa UNQUALIFIED87Amy Elsner
1026Wickens D VenereArgentina2024-05-20Morlong Associates NEW78Elwin Sharvill
1027Deepesh O DoeGermany2024-05-22Morlong Associates RENEWAL57Asiya Javayant
1028Ivar L InouyeJapan2024-05-18Rousseaux, Michael Esq NEGOTIATION51Stephen Shaw
1029Maria H IturbideFrance2024-05-01Commercial Press UNQUALIFIED39Elwin Sharvill
1030Aika S WhobreyJapan2024-04-27Buckley Miller Wright UNQUALIFIED53Stephen Shaw
1031Isabel Y FlosiArgentina2024-05-11Feltz Printing Service QUALIFIED27Ivan Magalhaes
1032Greenwood E VenereAustralia2024-05-06Benton, John B Jr PROPOSAL43Ioni Bowcher
1033Sinclair C WieserJapan2024-05-09Chanay, Jeffrey A Esq NEW26Elwin Sharvill
1034Morrow C FollerBrazil2024-05-10Dorl, James J Esq NEGOTIATION95Ivan Magalhaes
1035Izzy F KolmetzCanada2024-05-09Buckley Miller Wright NEGOTIATION79Stephen Shaw
1036Tony A DarakjyRussia2024-05-04King, Christopher A Esq QUALIFIED20Ivan Magalhaes
1037Murillo C MacleadSpain2024-04-30King, Christopher A Esq NEW98Bernardo Dominic
1038Jeanfrancois Y KolmetzBrazil2024-05-03Benton, John B Jr UNQUALIFIED1Onyama Limba
1039Juan T IturbideBrazil2024-05-10Truhlar And Truhlar Attys QUALIFIED22Asiya Javayant
1040Misaki O SergiItaly2024-04-25Dorl, James J Esq RENEWAL84Xuxue Feng
1041Leon U PerinAustralia2024-05-18Rousseaux, Michael Esq UNQUALIFIED80Xuxue Feng
1042Rodrigues A PerinRussia2024-05-17Commercial Press QUALIFIED97Ioni Bowcher
1043Sinclair S PerinGermany2024-05-17King, Christopher A Esq QUALIFIED69Xuxue Feng
1044Maisha I GauchoCanada2024-05-05Feltz Printing Service PROPOSAL67Elwin Sharvill
1045Morrow C StockhamItaly2024-05-20Buckley Miller Wright QUALIFIED22Bernardo Dominic
1046Salvatore E GlickArgentina2024-05-19King, Christopher A Esq NEW11Ioni Bowcher
1047Wickens H TollnerCanada2024-05-22Feiner Bros UNQUALIFIED68Elwin Sharvill
1048Cody W MarrierRussia2024-05-23Chanay, Jeffrey A Esq QUALIFIED17Asiya Javayant
1049Francesco O CaldareraFrance2024-05-08Feltz Printing Service UNQUALIFIED13Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
David B NestleIndiaAmy Elsner NEW
Smith H GillianFranceAsiya Javayant PROPOSAL
Nicolas J WhobreyFranceStephen Shaw QUALIFIED
David B DilliardBrazilAnna Fali NEW
Ashley U NestleSpainOnyama Limba RENEWAL
David B FigeroaUnited KingdomElwin Sharvill NEW
Kaitlin U PoquetteSpainOnyama Limba UNQUALIFIED
Munro L GlickFranceXuxue Feng PROPOSAL
Wickens T CaldareraGermanyIvan Magalhaes NEGOTIATION
Adams F BriddickIndiaStephen Shaw NEGOTIATION
Jeanfrancois A GlickIndiaAmy Elsner UNQUALIFIED
Smith O DarakjyGermanyAnna Fali RENEWAL
Isabel X SlusarskiFranceXuxue Feng PROPOSAL
Sinclair Q SaylorsAustraliaXuxue Feng PROPOSAL
Jeanfrancois P SergiRussiaAnna Fali NEW
Murillo B GauchoRussiaOnyama Limba PROPOSAL
Silvio Y FerenczFranceXuxue Feng PROPOSAL
Aditya E GillianJapanAmy Elsner PROPOSAL
Emily Z FlosiBrazilOnyama Limba RENEWAL
Leja V PerinRussiaAmy Elsner QUALIFIED
Jennifer Z DoeJapanBernardo Dominic UNQUALIFIED
Misaki O SchemmerJapanXuxue Feng QUALIFIED
Aditya F WhobreyBrazilIvan Magalhaes NEW
Claire J GillianCanadaXuxue Feng NEGOTIATION
Alejandro W KolmetzIndiaIvan Magalhaes QUALIFIED
Juan C PaprockiItalyXuxue Feng NEGOTIATION
Izzy Z GlickSpainElwin Sharvill UNQUALIFIED
Izzy K MarrierItalyAsiya Javayant RENEWAL
Aditya G KolmetzArgentinaAsiya Javayant PROPOSAL
Darci V GlickGermanyAnna Fali RENEWAL
Adams B MacleadAustraliaXuxue Feng NEGOTIATION
Juan J BologniaUnited KingdomElwin Sharvill NEW
Isabel S WaycottGermanyIvan Magalhaes NEW
Isabel E AmigonRussiaXuxue Feng NEGOTIATION
Morrow N TollnerJapanAmy Elsner PROPOSAL
Claire M PerinUnited KingdomAmy Elsner QUALIFIED
Darci U ChuiJapanOnyama Limba UNQUALIFIED
Ricardo S DoeArgentinaXuxue Feng PROPOSAL
Murillo Z SchemmerBrazilAnna Fali RENEWAL
Misaki N WaycottJapanAsiya Javayant PROPOSAL
Johnson W VenereFranceBernardo Dominic QUALIFIED
Aditya B CaudyRussiaAmy Elsner RENEWAL
Cody O OstroskyJapanOnyama Limba UNQUALIFIED
Juan D WaycottGermanyAsiya Javayant QUALIFIED
Munro O GillianItalyAsiya Javayant QUALIFIED
Salvatore E IturbideCanadaElwin Sharvill NEGOTIATION
Costa Q CaudyGermanyAnna Fali NEW
Costa N FollerRussiaIvan Magalhaes PROPOSAL
Morrow J AmigonFranceIvan Magalhaes NEW
Claire E PaprockiFranceIoni Bowcher PROPOSAL
Frozen Columns
Name
Nicolas C Saylors
Ricardo O Campain
Smith Z Chui
Stacey G Foller
Jeanfrancois I Caldarera
Aruna X Malet
Adams U Chui
Morrow B Kolmetz
Jefferson Y Schemmer
Munro K Stockham
Darci P Malet
Ashley P Iturbide
Ashley V Saylors
Jeanfrancois G Waycott
Costa Y Oldroyd
Jennifer C Waycott
Jennifer K Figeroa
Leja A Schemmer
Rodrigues E Gaucho
Leon O Amigon
Mayumi K Royster
Murillo N Ruta
Maisha A Rim
Nicolas S Oldroyd
Ashley A Doe
Maria Q Iturbide
Johnson T Sergi
Nicolas X Shinko
Faith F Bolognia
Morrow K Perin
Kaitlin L Chui
Ashley A Caldarera
Greenwood L Whobrey
Sinclair E Paprocki
Kaitlin G Darakjy
Jefferson R Glick
Chavez W Waycott
Morrow B Shinko
Maria H Malet
Munro T Darakjy
Salvatore L Doe
Nicolas O Kusko
Arvin A Iturbide
Adams M Caudy
Maisha Y Briddick
Leja U Malet
Murillo L Inouye
Nicolas F Slusarski
Leon V Malet
Aditya P Kusko
IdCountryDate
1000Australia2024-04-27
1001Germany2024-05-07
1002Australia2024-05-23
1003India2024-05-24
1004Australia2024-04-27
1005Germany2024-05-17
1006India2024-04-29
1007Australia2024-05-12
1008Argentina2024-05-16
1009Australia2024-05-05
1010Argentina2024-05-13
1011Japan2024-05-03
1012France2024-05-15
1013Brazil2024-05-17
1014France2024-05-24
1015Germany2024-05-23
1016Germany2024-05-09
1017Spain2024-05-24
1018Italy2024-04-29
1019India2024-04-30
1020United Kingdom2024-05-12
1021France2024-04-27
1022Australia2024-05-01
1023France2024-05-03
1024Russia2024-04-26
1025United Kingdom2024-05-19
1026Brazil2024-05-12
1027Spain2024-05-03
1028United Kingdom2024-05-21
1029India2024-05-15
1030Brazil2024-05-07
1031Japan2024-05-24
1032Italy2024-05-09
1033United Kingdom2024-04-27
1034Canada2024-05-05
1035Germany2024-05-08
1036Spain2024-05-17
1037France2024-05-10
1038Argentina2024-04-30
1039India2024-04-28
1040Spain2024-05-13
1041United Kingdom2024-05-12
1042Australia2024-05-20
1043France2024-05-19
1044United Kingdom2024-05-11
1045Australia2024-05-01
1046Japan2024-05-13
1047Russia2024-05-19
1048Germany2024-05-03
1049Spain2024-04-25

On-Demand Data

NameIdCountryDate
Silvio A Rulapaugh1000Brazil2024-05-20
Julie Q Shinko1001France2024-05-20
Emily L Vocelka1002Spain2024-05-07
Darci P Glick1003Italy2024-05-16
Deepesh H Kolmetz1004Canada2024-05-01
Izzy K Glick1005Brazil2024-05-24
Darci B Ostrosky1006Italy2024-05-19
Tony D Stockham1007Canada2024-04-29
Claire G Butt1008United Kingdom2024-05-24
Aika E Glick1009Brazil2024-05-15
Munro M Vocelka1010United Kingdom2024-05-19
Leja G Shinko1011Brazil2024-05-10
Alejandro N Flosi1012Italy2024-04-25
Faith N Butt1013Japan2024-05-21
Cody N Garufi1014France2024-05-16
Alejandro G Glick1015Japan2024-05-11
Alejandro L Kusko1016Italy2024-05-19
Francesco S Schemmer1017Spain2024-05-21
Silvio N Tollner1018Brazil2024-05-21
Ivar B Stenseth1019Spain2024-04-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Smith K RoysterFranceOnyama Limba UNQUALIFIED
Chavez O DilliardIndiaIvan Magalhaes UNQUALIFIED
Jones V RutaItalyOnyama Limba UNQUALIFIED
Julie S StensethSpainIoni Bowcher NEW
Wickens Q FlosiItalyXuxue Feng RENEWAL
Jones Z NickaItalyAsiya Javayant NEW
David A ChuiRussiaIoni Bowcher NEGOTIATION
Octavia C IturbideIndiaIvan Magalhaes NEW
Misaki J NestleCanadaStephen Shaw QUALIFIED
Clifford X NickaSpainIvan Magalhaes NEW
Nicolas N NickaSpainAsiya Javayant QUALIFIED
Leja Y RimCanadaOnyama Limba NEGOTIATION
Smith I CaldareraItalyIvan Magalhaes NEW
Clifford G PerinRussiaElwin Sharvill UNQUALIFIED
Greenwood A VenereArgentinaXuxue Feng NEW
Julie Y RulapaughItalyBernardo Dominic NEGOTIATION
Stacey F FollerRussiaAsiya Javayant UNQUALIFIED
Aruna A PaprockiSpainAmy Elsner QUALIFIED
Clifford V SergiFranceIoni Bowcher NEW
Jones A MarrierBrazilAnna Fali PROPOSAL
Kaitlin R KuskoRussiaAmy Elsner NEW
Arvin B WaycottBrazilAmy Elsner NEW
Faith T ButtItalyIoni Bowcher RENEWAL
Clifford Q SaylorsRussiaBernardo Dominic NEGOTIATION
Ashley O AlbaresCanadaAmy Elsner NEGOTIATION
Munro L SaylorsGermanyAsiya Javayant UNQUALIFIED
Ashley Q BowleyIndiaXuxue Feng PROPOSAL
Chavez N MarrierCanadaIoni Bowcher NEW
Mujtaba L VocelkaJapanIvan Magalhaes QUALIFIED
Johnson B ShinkoItalyOnyama Limba NEGOTIATION
Murillo Y ShinkoBrazilStephen Shaw PROPOSAL
Munro C ChuiFranceAmy Elsner NEW
Chavez D WieserFranceStephen Shaw PROPOSAL
Maisha Y RimIndiaIoni Bowcher NEGOTIATION
Arvin Z RoysterBrazilElwin Sharvill PROPOSAL
Ivar R MaletIndiaBernardo Dominic RENEWAL
Jefferson S PoquetteAustraliaElwin Sharvill NEW
Johnson T GarufiRussiaAsiya Javayant UNQUALIFIED
Salvatore R FerenczArgentinaAsiya Javayant NEW
Greenwood W GarufiJapanIoni Bowcher 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>