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
Murillo O KolmetzItalyIvan Magalhaes NEGOTIATION
Aika Z FigeroaCanadaIvan Magalhaes QUALIFIED
Octavia M ButtGermanyAmy Elsner PROPOSAL
Maisha U KuskoGermanyAnna Fali QUALIFIED
Jones P MacleadGermanyAnna Fali UNQUALIFIED
Adams U VocelkaAustraliaIoni Bowcher NEW
David N VocelkaAustraliaAmy Elsner NEGOTIATION
Ivar K FerenczSpainStephen Shaw QUALIFIED
Smith N MaletRussiaIvan Magalhaes NEW
Maisha P MorascaArgentinaXuxue Feng QUALIFIED
Ricardo M CaldareraUnited KingdomXuxue Feng PROPOSAL
Clifford A GillianIndiaAsiya Javayant QUALIFIED
Morrow G SaylorsUnited KingdomIvan Magalhaes NEW
Smith C KuskoRussiaAnna Fali QUALIFIED
Izzy G CaudyJapanAsiya Javayant NEGOTIATION
Maria W RimBrazilAmy Elsner NEW
Deepesh Z DilliardItalyAmy Elsner UNQUALIFIED
Leja K FigeroaBrazilBernardo Dominic NEGOTIATION
Chavez E OstroskyIndiaIoni Bowcher UNQUALIFIED
Deepesh A VenereAustraliaIoni Bowcher RENEWAL
Costa V WaycottFranceOnyama Limba NEGOTIATION
Aditya D WhobreyItalyElwin Sharvill NEW
Adams L IturbideGermanyIoni Bowcher RENEWAL
James X BologniaIndiaOnyama Limba NEW
Julie R AmigonRussiaBernardo Dominic NEGOTIATION
Leja P RoysterGermanyBernardo Dominic NEW
Tony O CaldareraBrazilAsiya Javayant NEW
Emily O MacleadUnited KingdomAmy Elsner NEW
Wickens A PerinRussiaAmy Elsner QUALIFIED
Misaki B WieserJapanOnyama Limba RENEWAL
Mayumi T GarufiIndiaIvan Magalhaes QUALIFIED
Kadeem Q MarrierGermanyOnyama Limba RENEWAL
Aruna Y InouyeBrazilXuxue Feng QUALIFIED
Ivar G PoquetteAustraliaIoni Bowcher RENEWAL
Tony S OldroydBrazilIvan Magalhaes QUALIFIED
Maria A OstroskyArgentinaIoni Bowcher NEW
Ricardo N ChuiItalyOnyama Limba QUALIFIED
Ivar Q MaletBrazilIvan Magalhaes PROPOSAL
Sinclair P SergiIndiaXuxue Feng NEGOTIATION
Aruna X NestleBrazilAmy Elsner RENEWAL
Ashley L IturbideItalyOnyama Limba PROPOSAL
Kadeem V RulapaughBrazilOnyama Limba PROPOSAL
Jefferson D SchemmerUnited KingdomAsiya Javayant NEGOTIATION
Jefferson P OldroydArgentinaAsiya Javayant UNQUALIFIED
Aditya P MorascaAustraliaXuxue Feng NEW
Faith Y CaldareraSpainAmy Elsner PROPOSAL
Silvio U PoquetteItalyIvan Magalhaes PROPOSAL
Kaitlin Z InouyeFranceIoni Bowcher RENEWAL
Antonio D CampainIndiaBernardo Dominic PROPOSAL
Isabel I MaletRussiaOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Maisha H FerenczAustraliaAnna Fali PROPOSAL
Aika A FollerSpainBernardo Dominic UNQUALIFIED
James N StockhamItalyAsiya Javayant NEGOTIATION
Arvin L RulapaughRussiaAmy Elsner UNQUALIFIED
Izzy N GarufiArgentinaAmy Elsner RENEWAL
Kadeem B FigeroaAustraliaIvan Magalhaes UNQUALIFIED
Francesco V KuskoUnited KingdomAmy Elsner UNQUALIFIED
Leon T RutaFranceXuxue Feng UNQUALIFIED
Julie B ButtAustraliaIoni Bowcher RENEWAL
Sinclair W TollnerCanadaAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens S MorascaFrance2024-05-18Buckley Miller Wright QUALIFIED82Anna Fali
1001Claire W OstroskyCanada2024-06-03Benton, John B Jr NEW62Amy Elsner
1002Sinclair Q MaletItaly2024-06-02Truhlar And Truhlar Attys NEGOTIATION35Bernardo Dominic
1003Clifford I MorascaIndia2024-05-31Buckley Miller Wright QUALIFIED92Stephen Shaw
1004Alejandro L SlusarskiAustralia2024-05-29Chemel, James L Cpa NEW36Ioni Bowcher
1005Smith F FollerJapan2024-06-03Feiner Bros NEGOTIATION62Amy Elsner
1006Sinclair L GlickItaly2024-05-09Rousseaux, Michael Esq QUALIFIED12Bernardo Dominic
1007Julie Z CampainBrazil2024-05-25Chanay, Jeffrey A Esq NEW59Anna Fali
1008Rodrigues P DarakjyRussia2024-05-17Chemel, James L Cpa PROPOSAL41Bernardo Dominic
1009Silvio I SlusarskiAustralia2024-05-10Truhlar And Truhlar Attys RENEWAL38Stephen Shaw
1010Munro M MaletIndia2024-05-15Dorl, James J Esq NEW90Bernardo Dominic
1011James B WaycottAustralia2024-06-01King, Christopher A Esq RENEWAL20Anna Fali
1012Mayumi L SaylorsArgentina2024-05-14King, Christopher A Esq NEGOTIATION96Ioni Bowcher
1013Nicolas E KolmetzAustralia2024-05-20Printing Dimensions NEGOTIATION87Amy Elsner
1014Mujtaba E GillianRussia2024-05-22Feltz Printing Service QUALIFIED4Amy Elsner
1015Maisha M StockhamUnited Kingdom2024-06-05Buckley Miller Wright RENEWAL22Elwin Sharvill
1016Aditya K RulapaughFrance2024-05-18Feiner Bros QUALIFIED79Ioni Bowcher
1017Misaki U RutaGermany2024-05-18Feiner Bros NEW33Stephen Shaw
1018Jeanfrancois V SaylorsItaly2024-05-18Rangoni Of Florence QUALIFIED20Ioni Bowcher
1019Octavia G WhobreyBrazil2024-05-09Morlong Associates PROPOSAL30Ioni Bowcher
1020Cody Q ButtSpain2024-05-13Feiner Bros RENEWAL11Anna Fali
1021Silvio X RimAustralia2024-05-12Morlong Associates QUALIFIED99Onyama Limba
1022Jeanfrancois X GarufiArgentina2024-06-04Chemel, James L Cpa NEGOTIATION70Bernardo Dominic
1023Tony Z OldroydBrazil2024-05-26King, Christopher A Esq NEW99Bernardo Dominic
1024Salvatore B GauchoItaly2024-05-19Rousseaux, Michael Esq NEW98Stephen Shaw
1025Sinclair T FlosiFrance2024-05-09Feiner Bros QUALIFIED91Bernardo Dominic
1026Leon W ShinkoGermany2024-05-13Feltz Printing Service NEW93Ioni Bowcher
1027Morrow Q KolmetzFrance2024-05-23Buckley Miller Wright UNQUALIFIED98Elwin Sharvill
1028Kadeem X FerenczUnited Kingdom2024-05-22Morlong Associates RENEWAL13Xuxue Feng
1029Emily G KolmetzFrance2024-05-24Commercial Press UNQUALIFIED80Bernardo Dominic
1030Alejandro L CampainAustralia2024-05-14Benton, John B Jr UNQUALIFIED63Anna Fali
1031Jones M ChuiJapan2024-05-22Feiner Bros QUALIFIED75Anna Fali
1032Leon Z PoquetteAustralia2024-05-29Truhlar And Truhlar Attys QUALIFIED56Bernardo Dominic
1033Isabel N StockhamItaly2024-05-16Feiner Bros RENEWAL20Amy Elsner
1034Aruna X ShinkoSpain2024-05-08Chemel, James L Cpa RENEWAL0Asiya Javayant
1035Clifford O SlusarskiItaly2024-05-15Feiner Bros NEW4Stephen Shaw
1036Aika B MarrierFrance2024-05-19Buckley Miller Wright UNQUALIFIED30Ioni Bowcher
1037Murillo O CaudyCanada2024-06-04Chapman, Ross E Esq NEW71Ioni Bowcher
1038Aditya B PerinAustralia2024-05-15Chemel, James L Cpa QUALIFIED51Onyama Limba
1039Stacey X BologniaJapan2024-05-15King, Christopher A Esq QUALIFIED20Stephen Shaw
1040Aditya Z BowleyIndia2024-05-27Benton, John B Jr UNQUALIFIED34Amy Elsner
1041Morrow V DoeRussia2024-05-28Truhlar And Truhlar Attys QUALIFIED11Bernardo Dominic
1042Aika R SlusarskiUnited Kingdom2024-05-20Chemel, James L Cpa UNQUALIFIED84Onyama Limba
1043Aruna E InouyeAustralia2024-05-08Truhlar And Truhlar Attys RENEWAL34Anna Fali
1044Salvatore E ButtRussia2024-06-05Dorl, James J Esq RENEWAL66Elwin Sharvill
1045Mujtaba B NickaUnited Kingdom2024-05-31Feiner Bros QUALIFIED90Ioni Bowcher
1046Jones Z MaletCanada2024-05-13Chapman, Ross E Esq NEW25Xuxue Feng
1047Antonio A FlosiCanada2024-05-27Dorl, James J Esq NEW76Ioni Bowcher
1048Murillo P SaylorsFrance2024-05-10Dorl, James J Esq NEW62Elwin Sharvill
1049Aruna E NickaBrazil2024-05-15Buckley Miller Wright NEW95Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Ivar N FlosiBrazilIvan Magalhaes NEW
Faith V MarrierJapanStephen Shaw NEGOTIATION
Ivar U BologniaCanadaIoni Bowcher PROPOSAL
Leja T KuskoArgentinaAnna Fali RENEWAL
Munro Q CaldareraJapanAnna Fali NEW
James Z FigeroaArgentinaBernardo Dominic NEW
Tony Q RoysterAustraliaStephen Shaw NEGOTIATION
Costa W FollerJapanIvan Magalhaes UNQUALIFIED
Tony L DoeSpainIvan Magalhaes QUALIFIED
Aika I AlbaresRussiaIoni Bowcher PROPOSAL
Kaitlin F PerinSpainAmy Elsner PROPOSAL
Costa V MorascaBrazilAmy Elsner QUALIFIED
Alejandro T WhobreySpainIoni Bowcher PROPOSAL
Aika U AlbaresArgentinaIoni Bowcher PROPOSAL
Juan T NestleIndiaAmy Elsner QUALIFIED
Kaitlin V MacleadAustraliaElwin Sharvill NEW
Mayumi S WieserAustraliaAmy Elsner NEGOTIATION
Jennifer H GarufiAustraliaIvan Magalhaes PROPOSAL
Mayumi M FlosiJapanAnna Fali QUALIFIED
Aika A CampainRussiaAmy Elsner UNQUALIFIED
Sinclair K BologniaAustraliaAmy Elsner RENEWAL
Maria Z SchemmerCanadaAmy Elsner PROPOSAL
Ivar I VenereFranceAnna Fali QUALIFIED
James Y RutaRussiaBernardo Dominic PROPOSAL
Clifford Q KolmetzJapanElwin Sharvill RENEWAL
Jeanfrancois J ButtRussiaStephen Shaw RENEWAL
Isabel X PaprockiIndiaIvan Magalhaes NEGOTIATION
Kadeem U NestleUnited KingdomElwin Sharvill NEGOTIATION
Aruna S CaudyUnited KingdomAmy Elsner QUALIFIED
Deepesh Y OstroskySpainElwin Sharvill NEW
James A ButtGermanyBernardo Dominic QUALIFIED
Greenwood Y StockhamAustraliaElwin Sharvill NEW
Maisha K DoeUnited KingdomIoni Bowcher RENEWAL
Johnson D BologniaArgentinaAmy Elsner NEW
Chavez U NestleRussiaBernardo Dominic NEW
Tony E SaylorsGermanyStephen Shaw NEGOTIATION
Salvatore R ButtUnited KingdomIvan Magalhaes RENEWAL
Mujtaba C RimUnited KingdomIoni Bowcher QUALIFIED
David Y OstroskyGermanyAnna Fali PROPOSAL
Greenwood G GarufiItalyAnna Fali NEW
Faith E KuskoJapanOnyama Limba UNQUALIFIED
Johnson K BowleyFranceOnyama Limba QUALIFIED
Darci W WhobreyGermanyAnna Fali NEW
Antonio Z PaprockiGermanyBernardo Dominic RENEWAL
James Z BowleyBrazilIvan Magalhaes PROPOSAL
Misaki V RutaRussiaBernardo Dominic PROPOSAL
Leon N PoquetteJapanIoni Bowcher QUALIFIED
Emily V RoysterGermanyXuxue Feng UNQUALIFIED
Aditya Z InouyeArgentinaIvan Magalhaes UNQUALIFIED
Jennifer T DilliardSpainIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Leon L Iturbide
Adams V Campain
Aika S Butt
Misaki T Stockham
Ivar E Morasca
Faith Z Sergi
Ashley J Rulapaugh
Maria J Bolognia
Nicolas Y Bolognia
James Y Malet
Ricardo W Butt
Mayumi N Malet
Isabel J Rulapaugh
Emily S Nicka
Mujtaba V Campain
Jennifer F Rulapaugh
Salvatore C Dilliard
Johnson V Stockham
Kaitlin K Bolognia
Morrow T Shinko
Izzy A Bowley
Emily F Amigon
Leja U Caldarera
Alejandro Y Tollner
Izzy A Flosi
Aditya Q Poquette
Emily R Garufi
Darci M Wieser
Mujtaba M Wieser
Julie O Amigon
Clifford M Albares
Aruna N Whobrey
Chavez G Kolmetz
James V Kusko
Wickens Z Briddick
Nicolas T Briddick
Arvin J Morasca
Ivar F Iturbide
Smith Z Stockham
Maisha W Oldroyd
Ivar V Rim
Adams P Venere
Arvin F Ostrosky
Julie G Kusko
Nicolas E Stenseth
Rodrigues J Nestle
Maria P Perin
Jeanfrancois S Oldroyd
Ashley B Shinko
Chavez O Chui
IdCountryDate
1000Canada2024-06-03
1001Russia2024-06-05
1002United Kingdom2024-05-17
1003India2024-05-09
1004Canada2024-05-29
1005Canada2024-06-01
1006India2024-05-16
1007India2024-05-26
1008India2024-05-13
1009Spain2024-06-04
1010United Kingdom2024-05-27
1011Australia2024-05-27
1012France2024-05-08
1013India2024-06-01
1014United Kingdom2024-06-05
1015Japan2024-05-31
1016Canada2024-05-30
1017Australia2024-05-08
1018Germany2024-06-04
1019Australia2024-05-20
1020Italy2024-05-27
1021Brazil2024-05-27
1022India2024-05-21
1023United Kingdom2024-05-29
1024Argentina2024-05-11
1025India2024-05-18
1026India2024-06-04
1027Russia2024-05-31
1028Italy2024-05-20
1029United Kingdom2024-05-10
1030India2024-05-08
1031Russia2024-06-03
1032India2024-05-10
1033Italy2024-05-24
1034Canada2024-05-27
1035Italy2024-05-28
1036Spain2024-05-28
1037Russia2024-05-14
1038Germany2024-05-18
1039Australia2024-06-04
1040France2024-05-30
1041Italy2024-05-18
1042Japan2024-05-29
1043India2024-05-11
1044Japan2024-05-11
1045Canada2024-05-09
1046Brazil2024-06-03
1047Canada2024-05-16
1048Japan2024-05-08
1049Italy2024-06-02

On-Demand Data

NameIdCountryDate
Jennifer E Vocelka1000Italy2024-05-18
Claire X Figeroa1001Russia2024-05-14
Silvio E Marrier1002United Kingdom2024-05-13
Jones Y Stenseth1003United Kingdom2024-05-21
Leon Q Waycott1004Italy2024-05-17
Johnson R Figeroa1005India2024-05-11
Aruna S Schemmer1006India2024-06-01
Costa Q Albares1007Argentina2024-05-15
Kaitlin G Ferencz1008Brazil2024-05-16
Greenwood J Saylors1009Brazil2024-05-31
Francesco B Tollner1010Canada2024-05-17
Claire T Garufi1011Spain2024-06-02
Mayumi Q Doe1012Spain2024-05-24
Maisha Y Malet1013Spain2024-05-09
Kaitlin P Flosi1014Spain2024-05-21
Jones Y Glick1015France2024-05-24
Jones B Paprocki1016Russia2024-05-12
Costa R Inouye1017Argentina2024-05-08
David A Chui1018Argentina2024-05-15
Octavia U Waycott1019Brazil2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon U NestleArgentinaIoni Bowcher UNQUALIFIED
Maisha D InouyeIndiaAsiya Javayant PROPOSAL
Mujtaba Y FollerBrazilAsiya Javayant PROPOSAL
Misaki K ShinkoUnited KingdomStephen Shaw NEW
Ivar H KolmetzGermanyAsiya Javayant PROPOSAL
Smith S GillianAustraliaAmy Elsner QUALIFIED
Jones A StensethJapanElwin Sharvill PROPOSAL
David X WhobreyJapanBernardo Dominic NEGOTIATION
Maria G AmigonCanadaAsiya Javayant UNQUALIFIED
David K KuskoArgentinaAsiya Javayant UNQUALIFIED
Chavez L BologniaUnited KingdomIvan Magalhaes NEW
Nicolas K GillianIndiaIoni Bowcher UNQUALIFIED
Stacey U StockhamCanadaXuxue Feng QUALIFIED
Isabel K KolmetzAustraliaXuxue Feng RENEWAL
Tony L MorascaFranceIoni Bowcher RENEWAL
Maria L TollnerCanadaBernardo Dominic PROPOSAL
Chavez R PerinUnited KingdomBernardo Dominic RENEWAL
Julie F WaycottItalyAmy Elsner NEW
Aditya S StensethArgentinaBernardo Dominic NEGOTIATION
Alejandro H RulapaughSpainOnyama Limba NEGOTIATION
Costa J AlbaresSpainBernardo Dominic RENEWAL
Isabel A FollerRussiaXuxue Feng UNQUALIFIED
Aika I GillianUnited KingdomElwin Sharvill NEW
Jefferson M FerenczUnited KingdomIvan Magalhaes PROPOSAL
Wickens M DilliardSpainXuxue Feng NEGOTIATION
Octavia C KuskoFranceAnna Fali RENEWAL
Faith P WaycottArgentinaAnna Fali RENEWAL
Ricardo P IturbideUnited KingdomXuxue Feng NEGOTIATION
Emily O PaprockiIndiaIoni Bowcher UNQUALIFIED
Izzy L OldroydArgentinaAmy Elsner UNQUALIFIED
Darci M VenereIndiaAsiya Javayant RENEWAL
Johnson V SchemmerArgentinaBernardo Dominic QUALIFIED
Antonio T BriddickSpainBernardo Dominic NEGOTIATION
Nicolas N RutaBrazilIvan Magalhaes QUALIFIED
Munro A GlickArgentinaOnyama Limba RENEWAL
Aditya Y KolmetzBrazilStephen Shaw QUALIFIED
Salvatore J PaprockiUnited KingdomAnna Fali NEGOTIATION
Emily R OstroskyRussiaStephen Shaw RENEWAL
Stacey S NickaSpainAmy Elsner NEGOTIATION
Costa P WaycottUnited KingdomAmy Elsner 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>