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
Sinclair W VocelkaRussiaOnyama Limba NEW
Jefferson A DoeRussiaXuxue Feng QUALIFIED
Maria E ChuiIndiaIoni Bowcher RENEWAL
Mujtaba L MarrierIndiaAmy Elsner PROPOSAL
Jefferson G GillianAustraliaXuxue Feng PROPOSAL
Munro G AmigonSpainAnna Fali NEGOTIATION
Maria D RimSpainIvan Magalhaes NEGOTIATION
Adams F OstroskyItalyBernardo Dominic PROPOSAL
Mujtaba H MorascaJapanIoni Bowcher QUALIFIED
Salvatore F PerinBrazilStephen Shaw PROPOSAL
Aika S IturbideJapanOnyama Limba UNQUALIFIED
Munro T CampainFranceAmy Elsner UNQUALIFIED
Antonio Z CampainFranceAnna Fali NEGOTIATION
James A MarrierJapanOnyama Limba RENEWAL
Julie G CampainArgentinaStephen Shaw NEW
Aika J IturbideArgentinaIoni Bowcher RENEWAL
Jennifer C DarakjyJapanAsiya Javayant NEGOTIATION
Izzy C SaylorsIndiaOnyama Limba RENEWAL
Ricardo S AmigonIndiaAsiya Javayant QUALIFIED
Sinclair E FlosiItalyBernardo Dominic QUALIFIED
Kaitlin L WhobreySpainOnyama Limba PROPOSAL
Jennifer V PaprockiJapanIoni Bowcher NEGOTIATION
Emily U CaudyUnited KingdomBernardo Dominic NEGOTIATION
Jefferson C BologniaItalyOnyama Limba PROPOSAL
Julie G ShinkoGermanyBernardo Dominic NEGOTIATION
Jones N FlosiFranceBernardo Dominic PROPOSAL
Ashley N OstroskyRussiaIoni Bowcher UNQUALIFIED
Leon Z MacleadArgentinaIoni Bowcher QUALIFIED
Mayumi B SaylorsRussiaIvan Magalhaes NEW
Murillo H KuskoBrazilElwin Sharvill UNQUALIFIED
Sinclair V AlbaresAustraliaAsiya Javayant UNQUALIFIED
Rodrigues E SergiFranceIoni Bowcher QUALIFIED
Tony H WaycottGermanyIvan Magalhaes PROPOSAL
Faith Q KolmetzSpainOnyama Limba QUALIFIED
Jones M NickaItalyOnyama Limba NEW
Murillo F StockhamGermanyIoni Bowcher NEGOTIATION
Kaitlin Z PaprockiCanadaAnna Fali NEGOTIATION
Clifford J CaudyFranceAsiya Javayant PROPOSAL
Kadeem F BologniaIndiaAmy Elsner QUALIFIED
Rodrigues D MacleadUnited KingdomOnyama Limba QUALIFIED
Arvin D MaletGermanyAsiya Javayant QUALIFIED
Costa U PerinUnited KingdomOnyama Limba RENEWAL
Salvatore U ChuiJapanBernardo Dominic QUALIFIED
Wickens B DilliardItalyOnyama Limba PROPOSAL
Aruna Z FollerRussiaStephen Shaw PROPOSAL
Jeanfrancois K FerenczArgentinaBernardo Dominic NEGOTIATION
Misaki U BriddickArgentinaIoni Bowcher PROPOSAL
Maisha X VocelkaGermanyStephen Shaw PROPOSAL
Jeanfrancois O AlbaresJapanStephen Shaw PROPOSAL
Salvatore I DarakjyFranceIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Julie A WaycottArgentinaIvan Magalhaes QUALIFIED
Octavia F RimItalyAnna Fali RENEWAL
Morrow J DilliardUnited KingdomBernardo Dominic PROPOSAL
Juan W WhobreyArgentinaXuxue Feng NEGOTIATION
Octavia T WhobreyRussiaAsiya Javayant QUALIFIED
Aruna L FerenczRussiaAnna Fali NEGOTIATION
Kaitlin R GauchoGermanyBernardo Dominic UNQUALIFIED
Aditya L SergiSpainAmy Elsner PROPOSAL
Misaki P GlickSpainAsiya Javayant QUALIFIED
Kaitlin V BologniaAustraliaAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco T ChuiUnited Kingdom2025-04-11Printing Dimensions UNQUALIFIED38Elwin Sharvill
1001Isabel N KuskoBrazil2025-04-22Benton, John B Jr NEW67Asiya Javayant
1002Aditya U BowleyAustralia2025-04-25Chapman, Ross E Esq NEGOTIATION41Bernardo Dominic
1003Murillo F StockhamJapan2025-04-16Feiner Bros NEW14Elwin Sharvill
1004Mayumi G GarufiItaly2025-04-26Printing Dimensions NEW23Anna Fali
1005Isabel A RutaFrance2025-04-28Truhlar And Truhlar Attys QUALIFIED96Ivan Magalhaes
1006Leon U AmigonRussia2025-04-04Benton, John B Jr UNQUALIFIED87Stephen Shaw
1007Rodrigues V PerinGermany2025-04-02Rangoni Of Florence NEW69Asiya Javayant
1008Emily V NestleIndia2025-04-22Buckley Miller Wright NEW0Xuxue Feng
1009Jones B StensethArgentina2025-04-11Chapman, Ross E Esq QUALIFIED41Asiya Javayant
1010Clifford Y CaldareraRussia2025-04-17Commercial Press QUALIFIED33Amy Elsner
1011Isabel C SaylorsItaly2025-04-25Commercial Press QUALIFIED65Bernardo Dominic
1012Jennifer F BriddickCanada2025-04-01Buckley Miller Wright PROPOSAL34Amy Elsner
1013Clifford M WaycottCanada2025-04-03Morlong Associates QUALIFIED3Onyama Limba
1014Leja S RimJapan2025-04-15Morlong Associates UNQUALIFIED93Bernardo Dominic
1015Leon I BowleyGermany2025-04-18Feiner Bros PROPOSAL87Ivan Magalhaes
1016Tony T FerenczJapan2025-04-05Chemel, James L Cpa QUALIFIED36Asiya Javayant
1017Izzy Z BologniaAustralia2025-04-28Benton, John B Jr RENEWAL7Ioni Bowcher
1018Adams V GlickUnited Kingdom2025-04-12King, Christopher A Esq QUALIFIED39Anna Fali
1019Rodrigues D FollerArgentina2025-04-14Chapman, Ross E Esq RENEWAL0Onyama Limba
1020Greenwood T RutaAustralia2025-04-19Feiner Bros NEW8Elwin Sharvill
1021Jefferson L StensethCanada2025-04-30Rangoni Of Florence NEGOTIATION34Stephen Shaw
1022Emily W MaletCanada2025-04-30Feiner Bros PROPOSAL20Stephen Shaw
1023Aruna S WieserBrazil2025-04-30Feltz Printing Service QUALIFIED47Asiya Javayant
1024Faith Y PaprockiSpain2025-04-18Feltz Printing Service QUALIFIED7Stephen Shaw
1025Wickens B BologniaFrance2025-04-07Printing Dimensions PROPOSAL6Ivan Magalhaes
1026Deepesh H SaylorsBrazil2025-04-15Rousseaux, Michael Esq RENEWAL39Xuxue Feng
1027Jeanfrancois C WieserBrazil2025-04-03Chapman, Ross E Esq NEW69Amy Elsner
1028James Y ShinkoGermany2025-04-01Feltz Printing Service PROPOSAL53Asiya Javayant
1029Alejandro R FollerItaly2025-04-05Feiner Bros RENEWAL73Ivan Magalhaes
1030Mujtaba X SchemmerGermany2025-04-29Chapman, Ross E Esq NEGOTIATION56Asiya Javayant
1031Isabel V KolmetzArgentina2025-04-05Printing Dimensions NEGOTIATION73Asiya Javayant
1032Antonio F PaprockiFrance2025-04-12Rangoni Of Florence UNQUALIFIED88Xuxue Feng
1033Claire P ButtGermany2025-04-19Buckley Miller Wright NEGOTIATION83Xuxue Feng
1034Francesco E VocelkaSpain2025-04-09Benton, John B Jr NEW41Ivan Magalhaes
1035Leon U CaldareraUnited Kingdom2025-04-17Chanay, Jeffrey A Esq NEGOTIATION86Bernardo Dominic
1036Kadeem D BowleyJapan2025-04-18Chanay, Jeffrey A Esq QUALIFIED81Amy Elsner
1037Arvin W NickaAustralia2025-04-30Morlong Associates QUALIFIED33Asiya Javayant
1038Emily F MacleadJapan2025-04-23Rangoni Of Florence NEW13Asiya Javayant
1039Deepesh B SaylorsFrance2025-04-06Feiner Bros QUALIFIED13Amy Elsner
1040Juan M SaylorsRussia2025-04-30Morlong Associates QUALIFIED30Anna Fali
1041Faith G KuskoArgentina2025-04-22Rousseaux, Michael Esq UNQUALIFIED40Stephen Shaw
1042Emily X MaletSpain2025-04-13Chemel, James L Cpa NEGOTIATION73Xuxue Feng
1043Claire Z RutaBrazil2025-04-15Morlong Associates QUALIFIED73Onyama Limba
1044Faith Q FigeroaGermany2025-04-24Truhlar And Truhlar Attys UNQUALIFIED66Ioni Bowcher
1045Mayumi Q GlickIndia2025-04-13Chemel, James L Cpa PROPOSAL26Elwin Sharvill
1046Leon I CaudyIndia2025-04-02Chanay, Jeffrey A Esq RENEWAL20Asiya Javayant
1047Kadeem Q SergiJapan2025-04-14Buckley Miller Wright RENEWAL42Asiya Javayant
1048Jones Y MaletFrance2025-04-18Buckley Miller Wright UNQUALIFIED80Stephen Shaw
1049Aika V MacleadIndia2025-04-27Benton, John B Jr NEW69Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Jefferson T OldroydBrazilIoni Bowcher NEW
Aruna R MaletJapanBernardo Dominic PROPOSAL
Adams P FlosiRussiaStephen Shaw NEW
Chavez E RoysterSpainOnyama Limba PROPOSAL
Rodrigues B NestleItalyElwin Sharvill RENEWAL
Wickens B TollnerGermanyIoni Bowcher NEW
Antonio Z StensethGermanyStephen Shaw PROPOSAL
Leja N GlickAustraliaIvan Magalhaes UNQUALIFIED
Nicolas Q WieserItalyOnyama Limba PROPOSAL
David W ButtJapanXuxue Feng NEW
Cody B MacleadCanadaAnna Fali UNQUALIFIED
Octavia A GauchoGermanyIoni Bowcher UNQUALIFIED
James K WhobreyCanadaXuxue Feng QUALIFIED
Maria S OstroskyRussiaIvan Magalhaes NEGOTIATION
Jennifer B BologniaIndiaBernardo Dominic PROPOSAL
Clifford J WieserUnited KingdomStephen Shaw QUALIFIED
Mujtaba W BriddickGermanyAmy Elsner NEW
Jefferson Z OldroydGermanyAsiya Javayant NEGOTIATION
Jennifer U GillianAustraliaStephen Shaw NEW
Greenwood O AmigonUnited KingdomAmy Elsner NEGOTIATION
Adams N PaprockiItalyOnyama Limba UNQUALIFIED
Deepesh Z IturbideRussiaElwin Sharvill UNQUALIFIED
Mujtaba C NickaItalyBernardo Dominic NEW
Murillo L InouyeAustraliaStephen Shaw UNQUALIFIED
Jefferson G WhobreyRussiaAsiya Javayant PROPOSAL
Misaki N BriddickFranceIoni Bowcher NEW
Munro E FollerIndiaIoni Bowcher RENEWAL
Salvatore E KuskoUnited KingdomAsiya Javayant NEGOTIATION
Kaitlin Q MorascaCanadaAmy Elsner NEW
Sinclair I BologniaRussiaAsiya Javayant UNQUALIFIED
Sinclair X BologniaUnited KingdomOnyama Limba QUALIFIED
Izzy S VocelkaCanadaElwin Sharvill NEW
Greenwood R ChuiIndiaIoni Bowcher NEGOTIATION
Francesco Y PoquetteBrazilIoni Bowcher NEW
Clifford D RimGermanyAnna Fali NEGOTIATION
Sinclair O FerenczCanadaBernardo Dominic QUALIFIED
Octavia P PaprockiCanadaStephen Shaw PROPOSAL
Ivar B FollerUnited KingdomIvan Magalhaes UNQUALIFIED
Juan F ButtRussiaStephen Shaw NEGOTIATION
Julie P GauchoUnited KingdomBernardo Dominic NEW
Antonio K InouyeArgentinaBernardo Dominic QUALIFIED
Morrow I PaprockiItalyAmy Elsner NEGOTIATION
Chavez N RimRussiaXuxue Feng NEGOTIATION
Ashley L MacleadIndiaStephen Shaw PROPOSAL
Jefferson Z AmigonRussiaStephen Shaw PROPOSAL
David A FollerBrazilIoni Bowcher QUALIFIED
Izzy R FollerJapanElwin Sharvill UNQUALIFIED
Tony Z RimCanadaIvan Magalhaes RENEWAL
Jones T TollnerUnited KingdomAnna Fali NEGOTIATION
Aruna G RutaArgentinaIvan Magalhaes RENEWAL
Frozen Columns
Name
Ricardo Q Wieser
Rodrigues A Gaucho
Silvio H Kusko
Mujtaba N Garufi
Murillo P Venere
Aika T Amigon
Aditya T Slusarski
Rodrigues K Malet
Wickens K Maclead
Darci J Chui
Arvin C Saylors
Aruna R Paprocki
Mujtaba Z Ostrosky
Silvio Y Kusko
Faith V Ferencz
Claire X Doe
Alejandro O Perin
Jeanfrancois W Nestle
Maria L Perin
Clifford H Vocelka
Francesco X Albares
Leja G Saylors
Ashley N Rim
Rodrigues X Butt
Nicolas W Kusko
Ashley J Malet
Aditya E Glick
Mujtaba R Kusko
Deepesh Z Ostrosky
Jefferson K Nicka
Misaki R Glick
Faith L Ostrosky
Juan O Royster
Wickens N Figeroa
Cody V Maclead
Munro E Waycott
Chavez G Marrier
Izzy Z Flosi
James F Slusarski
Chavez V Nicka
Cody J Tollner
Jeanfrancois E Rim
Izzy I Shinko
David O Campain
Ricardo F Slusarski
Kadeem W Oldroyd
Jefferson Y Darakjy
Mayumi W Sergi
Morrow F Saylors
Sinclair W Rulapaugh
IdCountryDate
1000Spain2025-04-23
1001Argentina2025-04-17
1002Australia2025-04-06
1003United Kingdom2025-04-15
1004Russia2025-04-10
1005Argentina2025-04-05
1006Spain2025-04-04
1007Canada2025-04-21
1008India2025-04-26
1009United Kingdom2025-04-26
1010United Kingdom2025-04-25
1011Russia2025-04-07
1012Japan2025-04-01
1013Australia2025-04-04
1014Italy2025-04-17
1015Australia2025-04-29
1016Italy2025-04-23
1017Brazil2025-04-22
1018Germany2025-04-11
1019Australia2025-04-27
1020India2025-04-11
1021Germany2025-04-02
1022Canada2025-04-03
1023India2025-04-05
1024France2025-04-23
1025Spain2025-04-18
1026Russia2025-04-10
1027Argentina2025-04-21
1028Italy2025-04-26
1029Canada2025-04-30
1030Italy2025-04-16
1031Australia2025-04-16
1032Brazil2025-04-13
1033Argentina2025-04-01
1034Germany2025-04-26
1035Australia2025-04-08
1036India2025-04-10
1037Russia2025-04-28
1038Japan2025-04-02
1039Germany2025-04-19
1040Germany2025-04-12
1041Brazil2025-04-05
1042Canada2025-04-10
1043United Kingdom2025-04-22
1044Russia2025-04-05
1045Brazil2025-04-23
1046Brazil2025-04-28
1047Japan2025-04-23
1048United Kingdom2025-04-02
1049Brazil2025-04-09

On-Demand Data

NameIdCountryDate
Arvin C Malet1000India2025-04-01
Francesco U Marrier1001India2025-04-10
Aditya G Venere1002Canada2025-04-06
Cody V Saylors1003Italy2025-04-02
Maria N Stockham1004United Kingdom2025-04-15
Octavia W Albares1005Argentina2025-04-17
Alejandro R Campain1006Spain2025-04-16
Alejandro G Caldarera1007Italy2025-04-11
Alejandro I Bowley1008Italy2025-04-13
Jones Q Caudy1009France2025-04-15
Smith W Morasca1010Spain2025-04-11
Jefferson S Malet1011India2025-04-22
Cody S Paprocki1012Brazil2025-04-14
Darci J Stockham1013Italy2025-04-14
Cody C Marrier1014India2025-04-02
Ivar B Darakjy1015India2025-04-11
Nicolas N Marrier1016Australia2025-04-01
Tony Q Royster1017Italy2025-04-24
Murillo O Saylors1018Argentina2025-04-25
Aika N Caudy1019Argentina2025-04-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi E AmigonArgentinaAnna Fali NEGOTIATION
Adams A VocelkaGermanyStephen Shaw QUALIFIED
Murillo N CaudyFranceBernardo Dominic RENEWAL
Salvatore Z StockhamIndiaStephen Shaw PROPOSAL
Mujtaba N TollnerAustraliaStephen Shaw UNQUALIFIED
Darci J KolmetzAustraliaStephen Shaw PROPOSAL
Sinclair S ShinkoJapanElwin Sharvill QUALIFIED
Kaitlin O MarrierJapanAmy Elsner QUALIFIED
Antonio C StensethBrazilIvan Magalhaes QUALIFIED
Tony P MaletUnited KingdomAnna Fali RENEWAL
Darci A FerenczCanadaIvan Magalhaes UNQUALIFIED
James U BowleyFranceElwin Sharvill UNQUALIFIED
Izzy H MaletItalyOnyama Limba PROPOSAL
Deepesh E VenereItalyAsiya Javayant UNQUALIFIED
Octavia P BriddickBrazilStephen Shaw NEW
Maria E RulapaughBrazilElwin Sharvill PROPOSAL
Deepesh I OstroskyGermanyXuxue Feng NEGOTIATION
James E RoysterItalyXuxue Feng QUALIFIED
Rodrigues U MaletSpainOnyama Limba QUALIFIED
Deepesh L VenereAustraliaXuxue Feng PROPOSAL
Jennifer N CaldareraRussiaElwin Sharvill QUALIFIED
Salvatore K WaycottIndiaAsiya Javayant QUALIFIED
Greenwood J VenereUnited KingdomStephen Shaw RENEWAL
Misaki R GauchoGermanyAsiya Javayant NEW
Isabel B FerenczCanadaOnyama Limba NEW
Octavia D SlusarskiGermanyElwin Sharvill PROPOSAL
Misaki T BologniaItalyAmy Elsner PROPOSAL
Leon I WhobreyAustraliaIvan Magalhaes NEW
Faith P GillianRussiaOnyama Limba UNQUALIFIED
Kadeem I CaldareraFranceAsiya Javayant PROPOSAL
Sinclair P PoquetteItalyElwin Sharvill NEW
Rodrigues D SlusarskiSpainAsiya Javayant QUALIFIED
Rodrigues F RutaGermanyAnna Fali PROPOSAL
Mujtaba L BriddickUnited KingdomXuxue Feng QUALIFIED
Salvatore L FigeroaGermanyStephen Shaw QUALIFIED
Ricardo R OstroskyFranceElwin Sharvill UNQUALIFIED
Arvin U SchemmerGermanyIoni Bowcher QUALIFIED
Tony Z WhobreyAustraliaIvan Magalhaes NEGOTIATION
Jennifer Y BriddickCanadaXuxue Feng RENEWAL
David S SergiItalyElwin Sharvill 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>