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
Antonio Y MorascaGermanyIvan Magalhaes NEGOTIATION
Misaki S WieserFranceXuxue Feng NEW
Munro M WieserUnited KingdomAsiya Javayant QUALIFIED
Cody K PerinIndiaIvan Magalhaes RENEWAL
Leon Y MorascaItalyIoni Bowcher NEGOTIATION
Faith J BriddickBrazilIvan Magalhaes PROPOSAL
Aditya S ChuiBrazilAsiya Javayant RENEWAL
Octavia E OldroydRussiaOnyama Limba RENEWAL
Faith N BowleyJapanIvan Magalhaes PROPOSAL
Kadeem G RutaFranceStephen Shaw QUALIFIED
Mayumi I FollerAustraliaAmy Elsner RENEWAL
Kadeem Q WhobreyIndiaAmy Elsner NEW
Aditya G GarufiFranceAsiya Javayant NEGOTIATION
Francesco X RulapaughIndiaElwin Sharvill RENEWAL
Greenwood G CaudyUnited KingdomAmy Elsner RENEWAL
Ivar K GlickIndiaXuxue Feng RENEWAL
Salvatore I KolmetzSpainAnna Fali NEGOTIATION
Izzy V WieserFranceXuxue Feng NEW
Juan O SlusarskiGermanyBernardo Dominic PROPOSAL
Juan G NestleArgentinaStephen Shaw NEGOTIATION
Octavia A OstroskyItalyAmy Elsner UNQUALIFIED
Jefferson I SergiGermanyAmy Elsner UNQUALIFIED
Stacey C RimUnited KingdomIvan Magalhaes UNQUALIFIED
Johnson Y ChuiItalyIvan Magalhaes RENEWAL
Morrow A GarufiGermanyAnna Fali NEGOTIATION
Costa B KolmetzAustraliaStephen Shaw RENEWAL
Arvin I FerenczItalyAsiya Javayant RENEWAL
Isabel P OldroydArgentinaAsiya Javayant PROPOSAL
Octavia B DarakjySpainIvan Magalhaes NEGOTIATION
Leja A FerenczJapanIvan Magalhaes PROPOSAL
Mujtaba X SaylorsRussiaAmy Elsner QUALIFIED
Mayumi M ChuiRussiaStephen Shaw PROPOSAL
David R PerinItalyAnna Fali RENEWAL
Francesco G RimJapanElwin Sharvill NEW
Antonio L VocelkaSpainAmy Elsner UNQUALIFIED
Jones N IturbideItalyIoni Bowcher UNQUALIFIED
Leja I StensethSpainAmy Elsner NEW
Antonio C AmigonFranceOnyama Limba QUALIFIED
Ashley F SergiFranceAmy Elsner NEW
Juan B OldroydCanadaBernardo Dominic UNQUALIFIED
Nicolas P NestleUnited KingdomIvan Magalhaes PROPOSAL
Maria K MorascaRussiaBernardo Dominic UNQUALIFIED
Stacey P IturbideAustraliaStephen Shaw NEGOTIATION
Deepesh J RimItalyOnyama Limba NEGOTIATION
Nicolas O SergiBrazilStephen Shaw NEGOTIATION
Greenwood P RoysterAustraliaIvan Magalhaes RENEWAL
Maisha B GauchoGermanyBernardo Dominic NEGOTIATION
Leja P StockhamCanadaAmy Elsner PROPOSAL
Johnson L AlbaresUnited KingdomBernardo Dominic RENEWAL
Darci O RoysterAustraliaIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Arvin K FlosiItalyIoni Bowcher NEW
Adams R WhobreyFranceAmy Elsner UNQUALIFIED
Chavez B ChuiSpainAmy Elsner NEW
Francesco R DilliardJapanStephen Shaw UNQUALIFIED
Arvin D DoeFranceIvan Magalhaes QUALIFIED
Antonio X DilliardJapanBernardo Dominic UNQUALIFIED
Clifford G NickaCanadaXuxue Feng PROPOSAL
Aika C FigeroaFranceElwin Sharvill NEGOTIATION
Adams L RoysterCanadaBernardo Dominic UNQUALIFIED
Ashley Y DarakjyItalyIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens X AmigonItaly2024-06-07Rangoni Of Florence QUALIFIED4Asiya Javayant
1001Juan U GlickUnited Kingdom2024-06-21Commercial Press NEGOTIATION35Amy Elsner
1002Ricardo C ShinkoAustralia2024-06-17Dorl, James J Esq UNQUALIFIED35Xuxue Feng
1003Sinclair M MarrierGermany2024-06-05Rousseaux, Michael Esq NEGOTIATION0Onyama Limba
1004Jefferson T PaprockiAustralia2024-06-04Feltz Printing Service NEGOTIATION74Onyama Limba
1005Aruna L ButtRussia2024-05-29Benton, John B Jr NEW38Ivan Magalhaes
1006Jennifer Z CaldareraJapan2024-06-22Commercial Press QUALIFIED26Anna Fali
1007Cody V GarufiItaly2024-06-04Dorl, James J Esq PROPOSAL75Ivan Magalhaes
1008Leja D PoquetteFrance2024-05-25Commercial Press RENEWAL15Elwin Sharvill
1009Ashley U VenereGermany2024-06-10Morlong Associates UNQUALIFIED2Amy Elsner
1010Chavez J VenereSpain2024-06-18Chanay, Jeffrey A Esq NEGOTIATION56Asiya Javayant
1011Stacey E MorascaGermany2024-06-05King, Christopher A Esq NEGOTIATION4Elwin Sharvill
1012Francesco Z MaletArgentina2024-05-28Truhlar And Truhlar Attys QUALIFIED1Stephen Shaw
1013Rodrigues M DarakjyRussia2024-05-30Chanay, Jeffrey A Esq RENEWAL52Bernardo Dominic
1014Nicolas K GarufiJapan2024-06-18Buckley Miller Wright RENEWAL70Bernardo Dominic
1015Maria K CampainBrazil2024-05-27Dorl, James J Esq QUALIFIED61Elwin Sharvill
1016Misaki R RimUnited Kingdom2024-05-27Morlong Associates UNQUALIFIED40Amy Elsner
1017Maria I WaycottIndia2024-06-18Buckley Miller Wright NEGOTIATION49Onyama Limba
1018Faith Q MorascaArgentina2024-06-14Truhlar And Truhlar Attys QUALIFIED66Anna Fali
1019Munro L DilliardBrazil2024-06-12Benton, John B Jr RENEWAL28Onyama Limba
1020Isabel Q IturbideAustralia2024-05-25Chapman, Ross E Esq RENEWAL90Stephen Shaw
1021Maisha S MaletRussia2024-06-15Morlong Associates UNQUALIFIED40Onyama Limba
1022Silvio E GlickUnited Kingdom2024-06-20King, Christopher A Esq QUALIFIED81Stephen Shaw
1023Tony N BowleyArgentina2024-06-16Rousseaux, Michael Esq RENEWAL15Xuxue Feng
1024Kadeem F CampainAustralia2024-06-14Benton, John B Jr RENEWAL0Elwin Sharvill
1025James K MacleadCanada2024-06-15Buckley Miller Wright QUALIFIED82Bernardo Dominic
1026Izzy K OstroskySpain2024-06-08Chemel, James L Cpa RENEWAL86Stephen Shaw
1027James M DilliardCanada2024-06-22Commercial Press QUALIFIED24Bernardo Dominic
1028David Y WhobreyJapan2024-06-21Feiner Bros NEGOTIATION35Elwin Sharvill
1029Kaitlin Z StensethFrance2024-06-05Feltz Printing Service QUALIFIED0Bernardo Dominic
1030Munro F BowleyJapan2024-06-02Rangoni Of Florence NEGOTIATION89Onyama Limba
1031Tony F CaudySpain2024-06-05Chapman, Ross E Esq QUALIFIED71Xuxue Feng
1032Sinclair F FigeroaBrazil2024-06-03Rousseaux, Michael Esq QUALIFIED67Xuxue Feng
1033Silvio J RutaFrance2024-06-06Feiner Bros NEGOTIATION95Stephen Shaw
1034Johnson W PaprockiArgentina2024-05-26Chemel, James L Cpa UNQUALIFIED6Onyama Limba
1035Mayumi S FigeroaUnited Kingdom2024-06-03Feiner Bros QUALIFIED36Xuxue Feng
1036Aika U WieserUnited Kingdom2024-06-16Chanay, Jeffrey A Esq NEW89Elwin Sharvill
1037Stacey Z GarufiArgentina2024-05-28Feltz Printing Service PROPOSAL37Bernardo Dominic
1038Aditya L MacleadIndia2024-06-06Commercial Press RENEWAL91Ioni Bowcher
1039Aika Q GillianFrance2024-06-16Feltz Printing Service PROPOSAL50Asiya Javayant
1040Rodrigues U VenereGermany2024-05-27Rangoni Of Florence UNQUALIFIED49Ivan Magalhaes
1041Jones D MarrierRussia2024-06-07Feltz Printing Service NEGOTIATION61Stephen Shaw
1042Jennifer P RutaSpain2024-06-10Chemel, James L Cpa NEGOTIATION40Asiya Javayant
1043Izzy O AlbaresFrance2024-05-29Rangoni Of Florence NEGOTIATION89Ivan Magalhaes
1044Kadeem V FlosiBrazil2024-06-12Benton, John B Jr PROPOSAL22Amy Elsner
1045Kaitlin H BriddickJapan2024-05-27Buckley Miller Wright NEGOTIATION50Stephen Shaw
1046Stacey Z DarakjyIndia2024-06-15Morlong Associates UNQUALIFIED12Stephen Shaw
1047Maisha D MacleadSpain2024-06-11Feiner Bros UNQUALIFIED68Anna Fali
1048Deepesh G SlusarskiBrazil2024-06-16Buckley Miller Wright NEW29Ivan Magalhaes
1049Kaitlin D GarufiRussia2024-06-10Commercial Press RENEWAL70Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Maria W NickaAustraliaAmy Elsner NEGOTIATION
Johnson E WaycottFranceAnna Fali RENEWAL
Salvatore L ShinkoUnited KingdomAsiya Javayant RENEWAL
Leon S CampainJapanIoni Bowcher NEGOTIATION
Francesco T NestleJapanAmy Elsner NEGOTIATION
Salvatore Z DoeSpainStephen Shaw UNQUALIFIED
Antonio U GauchoCanadaAsiya Javayant NEW
Cody Y StensethRussiaIoni Bowcher NEW
Izzy A OstroskyFranceAnna Fali NEGOTIATION
Claire Y MaletFranceAsiya Javayant NEW
Jefferson A WieserBrazilIoni Bowcher UNQUALIFIED
Munro O FollerJapanElwin Sharvill RENEWAL
Aditya F FlosiJapanAsiya Javayant PROPOSAL
Juan A FlosiGermanyXuxue Feng QUALIFIED
Nicolas R KuskoCanadaAsiya Javayant RENEWAL
Octavia Z VocelkaItalyIoni Bowcher QUALIFIED
Arvin R DarakjyFranceAmy Elsner NEGOTIATION
Wickens W FigeroaUnited KingdomStephen Shaw QUALIFIED
Alejandro A IturbideArgentinaXuxue Feng NEW
Mujtaba W SergiCanadaOnyama Limba UNQUALIFIED
Misaki T IturbideIndiaAmy Elsner PROPOSAL
Silvio Q BologniaCanadaOnyama Limba QUALIFIED
Arvin C InouyeIndiaOnyama Limba PROPOSAL
Kadeem L OstroskyGermanyElwin Sharvill NEW
Emily M BriddickFranceAsiya Javayant PROPOSAL
Octavia C AmigonBrazilBernardo Dominic NEGOTIATION
Ivar L GillianRussiaAnna Fali PROPOSAL
Mujtaba A OstroskyAustraliaIoni Bowcher NEW
David R ShinkoRussiaElwin Sharvill RENEWAL
Sinclair G DarakjyCanadaAmy Elsner NEGOTIATION
Adams Q PaprockiGermanyOnyama Limba NEW
Salvatore Z VocelkaUnited KingdomAmy Elsner UNQUALIFIED
Emily W NickaCanadaIvan Magalhaes NEW
Silvio V MaletCanadaXuxue Feng UNQUALIFIED
Ashley V FerenczFranceAmy Elsner UNQUALIFIED
Antonio E CaudyItalyIoni Bowcher NEGOTIATION
Mujtaba E SaylorsJapanAsiya Javayant UNQUALIFIED
Leja I GauchoGermanyStephen Shaw RENEWAL
Clifford H SergiArgentinaOnyama Limba PROPOSAL
Julie B ShinkoGermanyBernardo Dominic PROPOSAL
Antonio N PerinJapanAnna Fali QUALIFIED
Antonio V ShinkoCanadaAsiya Javayant NEGOTIATION
Tony B CaldareraFranceAsiya Javayant QUALIFIED
Kaitlin Q OldroydAustraliaAmy Elsner NEW
Ricardo D MorascaRussiaStephen Shaw PROPOSAL
Greenwood I ChuiItalyIvan Magalhaes QUALIFIED
Rodrigues O StockhamUnited KingdomStephen Shaw NEGOTIATION
Darci R NickaArgentinaStephen Shaw QUALIFIED
Johnson M SlusarskiRussiaXuxue Feng QUALIFIED
Izzy L MorascaFranceAmy Elsner QUALIFIED
Frozen Columns
Name
Sinclair T Nestle
Leon R Shinko
Arvin V Caldarera
James B Figeroa
Ivar Q Shinko
Tony X Amigon
Julie Y Dilliard
Deepesh Y Figeroa
Aruna E Albares
Darci G Foller
Maisha Y Whobrey
Costa X Gaucho
James Q Nestle
Alejandro V Marrier
Emily M Vocelka
David J Kolmetz
Tony S Glick
Adams Y Bowley
Sinclair Z Ostrosky
Murillo P Nestle
Kadeem Y Nicka
Claire R Figeroa
Antonio C Darakjy
James E Schemmer
Johnson S Briddick
Stacey D Saylors
Leja V Butt
Greenwood J Ferencz
Chavez K Caudy
Nicolas N Saylors
Chavez J Rim
Faith O Kolmetz
Costa X Glick
Leja F Whobrey
Salvatore C Morasca
Nicolas U Darakjy
Aruna C Wieser
Jennifer J Nicka
Faith Q Whobrey
Octavia E Dilliard
Cody N Wieser
Tony O Bowley
Jennifer T Figeroa
Francesco M Marrier
Alejandro B Schemmer
Octavia I Caudy
Mayumi O Gaucho
Leja Q Chui
Deepesh K Glick
Mujtaba B Waycott
IdCountryDate
1000India2024-06-01
1001Japan2024-05-26
1002Italy2024-06-01
1003India2024-06-14
1004Japan2024-06-13
1005India2024-06-20
1006India2024-05-27
1007Brazil2024-06-20
1008Brazil2024-06-04
1009Germany2024-06-18
1010Japan2024-06-17
1011France2024-06-19
1012United Kingdom2024-06-08
1013Brazil2024-06-01
1014India2024-06-18
1015United Kingdom2024-06-10
1016India2024-06-19
1017Australia2024-06-21
1018Brazil2024-06-16
1019United Kingdom2024-05-24
1020France2024-06-16
1021India2024-05-24
1022Australia2024-05-31
1023Germany2024-06-12
1024Australia2024-06-20
1025Argentina2024-06-11
1026Brazil2024-06-01
1027Russia2024-06-10
1028Brazil2024-05-31
1029Russia2024-06-15
1030Argentina2024-06-20
1031Germany2024-06-19
1032Australia2024-06-08
1033India2024-06-04
1034Spain2024-06-07
1035Spain2024-06-21
1036Australia2024-06-18
1037France2024-06-20
1038France2024-06-17
1039Canada2024-05-31
1040Australia2024-05-30
1041Brazil2024-06-20
1042Russia2024-06-15
1043France2024-05-26
1044Russia2024-06-18
1045Russia2024-06-07
1046Spain2024-05-29
1047Australia2024-06-10
1048Japan2024-05-30
1049Russia2024-06-06

On-Demand Data

NameIdCountryDate
Aruna L Schemmer1000Germany2024-06-05
Aditya B Gillian1001Canada2024-06-08
Rodrigues L Dilliard1002France2024-06-02
Costa K Garufi1003Italy2024-06-12
Juan C Darakjy1004Canada2024-05-24
Claire E Butt1005Brazil2024-06-13
Juan Q Whobrey1006France2024-06-09
Emily V Albares1007Russia2024-06-07
Silvio B Chui1008Russia2024-06-18
Francesco I Saylors1009Argentina2024-05-28
Sinclair D Rim1010Russia2024-05-24
Jones Q Sergi1011United Kingdom2024-05-31
Isabel Y Kolmetz1012Russia2024-06-21
Chavez J Gillian1013Italy2024-05-27
Silvio J Chui1014India2024-06-02
Stacey T Caldarera1015Italy2024-06-09
Sinclair W Oldroyd1016France2024-06-22
Cody Z Chui1017Russia2024-05-29
Maria A Morasca1018Germany2024-06-07
Stacey T Albares1019France2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore G WieserItalyIvan Magalhaes NEGOTIATION
Mujtaba O GlickArgentinaStephen Shaw RENEWAL
Chavez B ButtItalyOnyama Limba UNQUALIFIED
Morrow I MorascaGermanyAnna Fali NEW
Arvin F PoquetteGermanyIoni Bowcher NEGOTIATION
Deepesh I BologniaFranceAsiya Javayant PROPOSAL
Leja O GlickFranceIoni Bowcher QUALIFIED
Francesco C ButtCanadaAsiya Javayant QUALIFIED
Mayumi O KolmetzIndiaStephen Shaw UNQUALIFIED
Francesco J MaletUnited KingdomIvan Magalhaes UNQUALIFIED
Johnson H FlosiFranceAmy Elsner UNQUALIFIED
Maria U AmigonFranceAnna Fali NEGOTIATION
Alejandro N FlosiIndiaAnna Fali QUALIFIED
Wickens Z PoquetteGermanyAsiya Javayant PROPOSAL
Leja S WaycottRussiaAnna Fali QUALIFIED
David K WieserGermanyAnna Fali PROPOSAL
Munro I FlosiGermanyBernardo Dominic RENEWAL
Stacey T NestleSpainAmy Elsner PROPOSAL
Sinclair L MacleadIndiaIoni Bowcher RENEWAL
Costa U FollerCanadaBernardo Dominic QUALIFIED
Alejandro R SergiRussiaStephen Shaw RENEWAL
Adams K VenereFranceElwin Sharvill NEW
Ivar B MaletCanadaIoni Bowcher NEW
Johnson K FigeroaBrazilAnna Fali UNQUALIFIED
Juan T SchemmerFranceAmy Elsner NEGOTIATION
Jefferson M KolmetzRussiaBernardo Dominic UNQUALIFIED
Octavia S GillianItalyIvan Magalhaes QUALIFIED
Ricardo O TollnerItalyOnyama Limba PROPOSAL
Johnson U InouyeBrazilIvan Magalhaes NEGOTIATION
Ashley O StensethUnited KingdomAsiya Javayant QUALIFIED
Jennifer I FlosiArgentinaAnna Fali PROPOSAL
Julie Z VenereRussiaAnna Fali UNQUALIFIED
Alejandro L CaldareraSpainOnyama Limba PROPOSAL
Isabel N MarrierArgentinaAnna Fali NEW
Maisha R ChuiItalyStephen Shaw NEGOTIATION
Deepesh X CampainBrazilAsiya Javayant NEW
Jennifer B PerinItalyOnyama Limba QUALIFIED
Sinclair I GillianCanadaBernardo Dominic PROPOSAL
Aika U RutaItalyAsiya Javayant RENEWAL
Isabel W BriddickArgentinaAnna Fali 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>