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
Leja D GarufiAustraliaAnna Fali RENEWAL
Francesco P AmigonCanadaElwin Sharvill UNQUALIFIED
Tony Z DarakjyRussiaOnyama Limba NEGOTIATION
Murillo D GlickArgentinaXuxue Feng QUALIFIED
Morrow Z CampainItalyXuxue Feng UNQUALIFIED
Aditya R GauchoCanadaOnyama Limba PROPOSAL
Leja I RoysterJapanStephen Shaw QUALIFIED
Stacey N RutaFranceStephen Shaw QUALIFIED
Murillo W KolmetzBrazilOnyama Limba QUALIFIED
Francesco U SchemmerIndiaXuxue Feng QUALIFIED
Wickens H IturbideJapanStephen Shaw RENEWAL
Kaitlin I PerinSpainAsiya Javayant NEW
Deepesh F MarrierItalyBernardo Dominic UNQUALIFIED
Francesco C SlusarskiRussiaElwin Sharvill RENEWAL
Maisha W CaldareraBrazilElwin Sharvill QUALIFIED
Leja D AlbaresItalyIvan Magalhaes NEGOTIATION
James I WaycottBrazilXuxue Feng UNQUALIFIED
David A DarakjyArgentinaAnna Fali NEGOTIATION
Isabel L MarrierJapanXuxue Feng RENEWAL
Johnson I TollnerGermanyIoni Bowcher NEW
Izzy M StensethIndiaBernardo Dominic RENEWAL
Darci H CampainArgentinaStephen Shaw RENEWAL
Kaitlin A RimRussiaAnna Fali RENEWAL
Cody Y BowleyBrazilIoni Bowcher NEGOTIATION
Tony J BologniaBrazilElwin Sharvill UNQUALIFIED
Deepesh K TollnerSpainStephen Shaw PROPOSAL
Jennifer X BriddickJapanStephen Shaw NEW
Sinclair F RutaRussiaAmy Elsner UNQUALIFIED
Mujtaba H NickaItalyStephen Shaw PROPOSAL
Octavia S GillianUnited KingdomStephen Shaw NEGOTIATION
Mayumi T SergiBrazilXuxue Feng RENEWAL
Deepesh Y CaudyUnited KingdomAsiya Javayant UNQUALIFIED
Jefferson Q BriddickBrazilOnyama Limba UNQUALIFIED
Morrow U SergiSpainAmy Elsner QUALIFIED
Maisha G OstroskySpainAmy Elsner NEW
Ashley E WhobreyRussiaIvan Magalhaes NEGOTIATION
Mujtaba V KuskoRussiaIvan Magalhaes UNQUALIFIED
Aditya O TollnerSpainElwin Sharvill QUALIFIED
Stacey N DoeRussiaIvan Magalhaes UNQUALIFIED
Juan G ChuiBrazilIvan Magalhaes NEW
Kadeem L AlbaresCanadaIoni Bowcher QUALIFIED
Aditya K WhobreyJapanStephen Shaw NEW
Sinclair B WhobreyBrazilAmy Elsner UNQUALIFIED
Izzy V DoeGermanyIvan Magalhaes NEGOTIATION
Francesco Q WhobreyArgentinaIvan Magalhaes QUALIFIED
Jeanfrancois R MaletBrazilXuxue Feng UNQUALIFIED
Antonio D ShinkoCanadaIoni Bowcher NEGOTIATION
Octavia T FigeroaAustraliaXuxue Feng UNQUALIFIED
Claire Y MaletCanadaIvan Magalhaes NEGOTIATION
Nicolas Q GlickItalyElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Ashley O RutaAustraliaAmy Elsner UNQUALIFIED
Emily D MaletGermanyAmy Elsner PROPOSAL
Munro D PaprockiCanadaAmy Elsner PROPOSAL
Darci X RimAustraliaAmy Elsner UNQUALIFIED
Octavia I MacleadItalyStephen Shaw NEGOTIATION
Aditya Y AlbaresGermanyAsiya Javayant QUALIFIED
Aditya B CaldareraGermanyElwin Sharvill UNQUALIFIED
Ashley F GarufiBrazilAnna Fali RENEWAL
Ivar F RoysterJapanElwin Sharvill NEW
Mujtaba F VocelkaGermanyIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo U MorascaBrazil2024-06-01Chapman, Ross E Esq RENEWAL65Ioni Bowcher
1001Clifford M MaletIndia2024-06-19Printing Dimensions QUALIFIED81Anna Fali
1002Alejandro N OldroydGermany2024-06-17Rangoni Of Florence RENEWAL76Ivan Magalhaes
1003Julie S GillianIndia2024-06-17Chapman, Ross E Esq NEGOTIATION98Bernardo Dominic
1004Smith X RimAustralia2024-06-15Truhlar And Truhlar Attys NEGOTIATION21Onyama Limba
1005Jones T StockhamUnited Kingdom2024-06-10Feltz Printing Service RENEWAL93Amy Elsner
1006Mayumi T RimRussia2024-05-28Rangoni Of Florence RENEWAL34Asiya Javayant
1007Ricardo L RoysterFrance2024-06-13Truhlar And Truhlar Attys NEGOTIATION20Xuxue Feng
1008Arvin S PaprockiSpain2024-06-14Feltz Printing Service NEGOTIATION23Ioni Bowcher
1009Chavez K PoquetteItaly2024-06-21Feltz Printing Service PROPOSAL52Xuxue Feng
1010Aruna T MarrierAustralia2024-05-31Feiner Bros QUALIFIED82Onyama Limba
1011Antonio M BowleyBrazil2024-05-27Feltz Printing Service QUALIFIED40Onyama Limba
1012Chavez F StockhamFrance2024-06-05Rangoni Of Florence UNQUALIFIED90Ioni Bowcher
1013Darci O PaprockiBrazil2024-06-20Truhlar And Truhlar Attys UNQUALIFIED27Bernardo Dominic
1014Misaki Y DarakjyAustralia2024-06-05Truhlar And Truhlar Attys PROPOSAL9Onyama Limba
1015Emily W DoeAustralia2024-05-31Truhlar And Truhlar Attys PROPOSAL45Amy Elsner
1016Aika K CampainAustralia2024-06-13Commercial Press QUALIFIED39Onyama Limba
1017Aditya D GauchoCanada2024-05-27Feltz Printing Service NEW75Xuxue Feng
1018Mujtaba A AlbaresSpain2024-06-24Chanay, Jeffrey A Esq QUALIFIED19Onyama Limba
1019Chavez U DoeCanada2024-05-26King, Christopher A Esq QUALIFIED99Ivan Magalhaes
1020Aruna I VenereRussia2024-06-23Chapman, Ross E Esq UNQUALIFIED90Anna Fali
1021Tony J StensethItaly2024-06-10Feiner Bros QUALIFIED48Stephen Shaw
1022Octavia U ChuiGermany2024-05-28Chanay, Jeffrey A Esq UNQUALIFIED76Asiya Javayant
1023Ivar Y VenereSpain2024-06-14Buckley Miller Wright NEW27Stephen Shaw
1024Deepesh N RimCanada2024-05-27Morlong Associates NEGOTIATION27Anna Fali
1025Emily Z DilliardJapan2024-06-16Commercial Press QUALIFIED56Amy Elsner
1026Maria Z SergiArgentina2024-05-30Feltz Printing Service NEGOTIATION31Stephen Shaw
1027Mujtaba W MorascaBrazil2024-06-13Chanay, Jeffrey A Esq NEW83Bernardo Dominic
1028Claire G StensethUnited Kingdom2024-06-02Commercial Press RENEWAL50Stephen Shaw
1029Faith T CaldareraGermany2024-06-19Benton, John B Jr UNQUALIFIED35Asiya Javayant
1030Kadeem S OldroydRussia2024-05-29Commercial Press QUALIFIED82Anna Fali
1031Aditya S GillianBrazil2024-06-20Chapman, Ross E Esq PROPOSAL47Ivan Magalhaes
1032Julie D PoquetteFrance2024-06-17Printing Dimensions QUALIFIED11Anna Fali
1033Greenwood J WhobreyFrance2024-06-06Rousseaux, Michael Esq QUALIFIED80Bernardo Dominic
1034Ashley P StockhamGermany2024-06-01Truhlar And Truhlar Attys NEW9Anna Fali
1035Silvio R WieserCanada2024-06-01Commercial Press UNQUALIFIED88Amy Elsner
1036Juan D CampainRussia2024-05-27Chapman, Ross E Esq PROPOSAL42Ivan Magalhaes
1037Emily P RoysterUnited Kingdom2024-06-02Chapman, Ross E Esq QUALIFIED2Stephen Shaw
1038Sinclair X FlosiRussia2024-06-17Benton, John B Jr QUALIFIED9Stephen Shaw
1039Aruna O RutaIndia2024-05-29Benton, John B Jr UNQUALIFIED45Bernardo Dominic
1040Murillo T CaudyGermany2024-06-22Feiner Bros QUALIFIED5Ivan Magalhaes
1041Julie Z SchemmerArgentina2024-06-11Buckley Miller Wright UNQUALIFIED8Xuxue Feng
1042Adams J ButtFrance2024-06-09Commercial Press RENEWAL55Stephen Shaw
1043Clifford U GarufiAustralia2024-06-24Morlong Associates NEW43Onyama Limba
1044Sinclair Q StensethCanada2024-05-29Chemel, James L Cpa QUALIFIED94Elwin Sharvill
1045Antonio G VocelkaFrance2024-06-17Commercial Press NEW76Ivan Magalhaes
1046Mujtaba P GauchoItaly2024-06-07Benton, John B Jr RENEWAL84Xuxue Feng
1047Jefferson G FlosiUnited Kingdom2024-06-24Chanay, Jeffrey A Esq NEGOTIATION3Xuxue Feng
1048Alejandro K WaycottArgentina2024-05-28Rousseaux, Michael Esq QUALIFIED31Elwin Sharvill
1049Claire O ChuiRussia2024-06-17Chemel, James L Cpa NEW75Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Aruna X OldroydUnited KingdomBernardo Dominic PROPOSAL
Emily P PoquetteAustraliaElwin Sharvill PROPOSAL
Clifford O MarrierFranceAmy Elsner NEW
Octavia W WieserAustraliaBernardo Dominic RENEWAL
Antonio E GarufiCanadaBernardo Dominic UNQUALIFIED
Kadeem O AlbaresRussiaAsiya Javayant NEGOTIATION
Isabel G InouyeArgentinaIvan Magalhaes NEW
Antonio G DilliardCanadaXuxue Feng UNQUALIFIED
David L GillianCanadaIoni Bowcher RENEWAL
Maisha R TollnerSpainAnna Fali PROPOSAL
Antonio W CaudyItalyAsiya Javayant RENEWAL
Chavez A RutaFranceIoni Bowcher PROPOSAL
Misaki R FollerItalyXuxue Feng UNQUALIFIED
Maria H GarufiSpainIoni Bowcher QUALIFIED
Maria U PaprockiItalyElwin Sharvill NEGOTIATION
Nicolas R VocelkaCanadaElwin Sharvill NEW
Smith V ChuiCanadaAnna Fali QUALIFIED
Rodrigues E WhobreyArgentinaIoni Bowcher NEW
Jennifer J GillianUnited KingdomOnyama Limba RENEWAL
Smith X ShinkoArgentinaOnyama Limba RENEWAL
Julie M BologniaUnited KingdomIoni Bowcher RENEWAL
Wickens W GarufiSpainOnyama Limba NEGOTIATION
Clifford M PoquetteJapanStephen Shaw NEW
Maisha R BologniaFranceElwin Sharvill RENEWAL
Aika X KuskoGermanyStephen Shaw PROPOSAL
Johnson R CaudyRussiaIvan Magalhaes QUALIFIED
Chavez X TollnerBrazilStephen Shaw UNQUALIFIED
Claire N BologniaCanadaXuxue Feng PROPOSAL
Rodrigues T FollerUnited KingdomElwin Sharvill RENEWAL
Salvatore V ChuiFranceBernardo Dominic QUALIFIED
Octavia Y DoeJapanAnna Fali RENEWAL
James Q NestleFranceIvan Magalhaes QUALIFIED
Arvin O NestleSpainAsiya Javayant QUALIFIED
Ivar V VocelkaAustraliaOnyama Limba NEW
Chavez E FlosiAustraliaAnna Fali UNQUALIFIED
Arvin D NestleAustraliaAnna Fali NEW
Greenwood X BologniaIndiaStephen Shaw RENEWAL
Juan C VenereAustraliaOnyama Limba NEW
Faith O FlosiIndiaAnna Fali QUALIFIED
Francesco R WaycottAustraliaAmy Elsner RENEWAL
Smith X FollerRussiaIvan Magalhaes UNQUALIFIED
Claire B RutaAustraliaAnna Fali QUALIFIED
Johnson L FollerUnited KingdomAsiya Javayant PROPOSAL
Maisha A TollnerCanadaIoni Bowcher RENEWAL
Mujtaba O CaldareraItalyIoni Bowcher RENEWAL
Clifford N OstroskyJapanAnna Fali NEGOTIATION
Mujtaba M PaprockiRussiaXuxue Feng NEGOTIATION
Mayumi T BowleyFranceAmy Elsner UNQUALIFIED
Emily W DarakjyItalyAsiya Javayant NEGOTIATION
Munro M NestleIndiaAnna Fali QUALIFIED
Frozen Columns
Name
Morrow T Chui
Isabel B Inouye
Johnson A Marrier
Alejandro Z Ostrosky
Juan P Rim
Isabel E Rim
Antonio V Bowley
Cody C Stenseth
Jeanfrancois H Marrier
Smith V Perin
Salvatore I Gaucho
Smith S Slusarski
Isabel M Malet
Leja Z Schemmer
Salvatore X Chui
Aditya R Caudy
Aruna Z Figeroa
James E Vocelka
Aruna B Doe
Stacey F Ferencz
Mujtaba J Foller
Faith N Doe
Sinclair G Tollner
Ivar K Perin
Jennifer N Malet
Leja Y Saylors
Tony A Gillian
Ricardo O Darakjy
Maria Q Amigon
Johnson A Darakjy
Kadeem T Royster
Jefferson K Ostrosky
Ashley A Malet
Morrow Z Stockham
Nicolas P Saylors
Clifford N Saylors
Rodrigues G Gillian
Deepesh U Darakjy
Octavia T Nicka
Costa T Malet
Leja Z Ostrosky
Cody V Venere
Adams S Kolmetz
Costa O Shinko
Aditya X Kolmetz
Tony N Chui
Sinclair P Darakjy
Munro G Paprocki
Wickens X Nicka
Nicolas P Maclead
IdCountryDate
1000Russia2024-05-27
1001Russia2024-06-20
1002India2024-05-27
1003Australia2024-06-17
1004Spain2024-05-27
1005United Kingdom2024-06-14
1006Argentina2024-06-10
1007France2024-05-31
1008Germany2024-05-29
1009Brazil2024-06-09
1010Brazil2024-05-29
1011United Kingdom2024-06-05
1012Germany2024-06-21
1013Italy2024-06-14
1014Argentina2024-06-15
1015Spain2024-05-27
1016Italy2024-06-12
1017Brazil2024-06-06
1018United Kingdom2024-06-11
1019India2024-06-21
1020Russia2024-06-10
1021Japan2024-06-09
1022Canada2024-06-11
1023Argentina2024-06-24
1024Argentina2024-06-23
1025Germany2024-06-09
1026Italy2024-06-14
1027Spain2024-06-22
1028Russia2024-05-30
1029India2024-06-01
1030Spain2024-05-31
1031India2024-06-10
1032Canada2024-06-05
1033Germany2024-06-06
1034India2024-06-20
1035Spain2024-05-31
1036Australia2024-06-05
1037France2024-06-06
1038Argentina2024-06-10
1039Brazil2024-06-11
1040United Kingdom2024-06-10
1041Argentina2024-06-15
1042Spain2024-06-23
1043Spain2024-06-24
1044France2024-06-22
1045Italy2024-06-06
1046United Kingdom2024-06-21
1047Germany2024-05-29
1048Germany2024-06-12
1049Italy2024-06-23

On-Demand Data

NameIdCountryDate
Mujtaba H Bowley1000India2024-06-02
Wickens V Chui1001France2024-06-10
Smith I Rim1002Russia2024-06-04
Antonio K Marrier1003Japan2024-06-08
Silvio M Butt1004Argentina2024-06-15
Wickens Y Bowley1005Argentina2024-06-16
Tony O Shinko1006United Kingdom2024-05-30
Aruna Y Inouye1007France2024-06-01
Jeanfrancois J Amigon1008Japan2024-06-15
Kaitlin G Caudy1009France2024-05-29
Octavia Z Glick1010Brazil2024-06-16
Greenwood A Briddick1011Italy2024-06-10
David X Paprocki1012Germany2024-06-20
Kadeem K Butt1013India2024-05-30
Mayumi A Albares1014Brazil2024-06-18
Tony O Flosi1015India2024-05-31
Arvin S Oldroyd1016France2024-06-04
Stacey I Ostrosky1017Russia2024-06-19
Ashley B Shinko1018India2024-05-30
Mujtaba X Caudy1019Brazil2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez N CampainUnited KingdomElwin Sharvill PROPOSAL
Leja T CaudyGermanyAsiya Javayant RENEWAL
Ricardo U FerenczSpainXuxue Feng QUALIFIED
Julie P NestleJapanStephen Shaw NEGOTIATION
Jefferson T CampainJapanAmy Elsner PROPOSAL
Ricardo R FlosiAustraliaAmy Elsner RENEWAL
Adams P RulapaughBrazilXuxue Feng NEW
Ivar C FlosiGermanyAmy Elsner NEGOTIATION
Ricardo W FlosiArgentinaBernardo Dominic NEW
Tony Z VocelkaRussiaStephen Shaw UNQUALIFIED
Murillo T GlickSpainXuxue Feng NEW
Emily D SergiItalyXuxue Feng UNQUALIFIED
Misaki M DarakjyUnited KingdomIvan Magalhaes NEW
Octavia H RimJapanAnna Fali QUALIFIED
Maria Z SergiGermanyStephen Shaw PROPOSAL
Clifford A RoysterRussiaStephen Shaw PROPOSAL
Jefferson G RulapaughAustraliaAnna Fali RENEWAL
Izzy L KolmetzArgentinaIvan Magalhaes NEW
Claire V WieserSpainElwin Sharvill NEGOTIATION
Izzy Y RimSpainAsiya Javayant UNQUALIFIED
Maisha X MarrierFranceIvan Magalhaes NEGOTIATION
Isabel X MaletFranceAmy Elsner PROPOSAL
Faith K CaudySpainAmy Elsner NEW
Murillo S NickaItalyStephen Shaw PROPOSAL
Mayumi J DoeFranceXuxue Feng QUALIFIED
Claire X PoquetteSpainXuxue Feng UNQUALIFIED
Nicolas O DarakjyFranceOnyama Limba QUALIFIED
Arvin O VenereCanadaBernardo Dominic RENEWAL
Aika N WieserBrazilIoni Bowcher NEW
Salvatore A MaletIndiaAsiya Javayant RENEWAL
Rodrigues M CampainAustraliaIvan Magalhaes RENEWAL
Kaitlin P OldroydRussiaAnna Fali UNQUALIFIED
Salvatore Z PaprockiArgentinaIvan Magalhaes NEW
Sinclair A KolmetzBrazilBernardo Dominic RENEWAL
Rodrigues M PaprockiIndiaIvan Magalhaes RENEWAL
Adams S BologniaArgentinaStephen Shaw PROPOSAL
Munro X BowleyJapanIvan Magalhaes NEW
Salvatore E GarufiIndiaElwin Sharvill PROPOSAL
Faith I PaprockiJapanXuxue Feng RENEWAL
Francesco M GauchoIndiaAnna Fali NEGOTIATION

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