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
Kaitlin M RulapaughArgentinaIvan Magalhaes NEW
James X CaldareraUnited KingdomIoni Bowcher QUALIFIED
Adams I GarufiGermanyOnyama Limba QUALIFIED
Antonio S GillianItalyAmy Elsner UNQUALIFIED
Maisha A NestleAustraliaAsiya Javayant RENEWAL
David T GlickRussiaAsiya Javayant NEW
Aruna U VocelkaFranceStephen Shaw PROPOSAL
Cody F KolmetzRussiaOnyama Limba RENEWAL
Cody O MarrierUnited KingdomAnna Fali NEW
Tony A CaldareraAustraliaAmy Elsner RENEWAL
Silvio U KolmetzRussiaAmy Elsner NEW
Leja K VocelkaItalyAnna Fali NEGOTIATION
Isabel K KolmetzUnited KingdomAmy Elsner QUALIFIED
Salvatore J NickaGermanyAmy Elsner NEW
Murillo O DarakjyGermanyAmy Elsner RENEWAL
Nicolas N AmigonJapanAmy Elsner PROPOSAL
Faith E AmigonAustraliaAsiya Javayant UNQUALIFIED
Aika J ShinkoFranceXuxue Feng RENEWAL
Rodrigues A GauchoRussiaIvan Magalhaes RENEWAL
Clifford A IturbideBrazilIoni Bowcher NEGOTIATION
Murillo L DarakjyArgentinaElwin Sharvill QUALIFIED
Aika U WaycottArgentinaAnna Fali RENEWAL
David E FerenczRussiaAnna Fali NEGOTIATION
Leon A NickaArgentinaBernardo Dominic PROPOSAL
Juan W OldroydJapanStephen Shaw PROPOSAL
Jennifer A FlosiBrazilAmy Elsner RENEWAL
Darci J ChuiRussiaOnyama Limba RENEWAL
Smith J GarufiUnited KingdomXuxue Feng NEGOTIATION
Kadeem F StockhamAustraliaBernardo Dominic NEW
Maria S OstroskyIndiaIoni Bowcher RENEWAL
Munro S OstroskyGermanyAmy Elsner NEW
Mujtaba U RoysterSpainAnna Fali NEGOTIATION
Salvatore M MorascaIndiaIoni Bowcher PROPOSAL
Jennifer Z CaudyFranceElwin Sharvill UNQUALIFIED
Salvatore H NestleIndiaOnyama Limba QUALIFIED
Antonio V PerinGermanyIvan Magalhaes NEW
Kaitlin V SaylorsCanadaIvan Magalhaes PROPOSAL
Deepesh I GauchoCanadaElwin Sharvill NEW
Murillo P InouyeIndiaIoni Bowcher UNQUALIFIED
Leon X RoysterUnited KingdomIvan Magalhaes UNQUALIFIED
Francesco Z StensethIndiaXuxue Feng PROPOSAL
Maria Q ShinkoAustraliaElwin Sharvill QUALIFIED
Aditya Q PaprockiUnited KingdomIoni Bowcher NEW
Mujtaba Y FollerRussiaElwin Sharvill NEGOTIATION
Greenwood T BriddickFranceStephen Shaw UNQUALIFIED
Alejandro B WieserFranceAmy Elsner QUALIFIED
Kaitlin X IturbideRussiaOnyama Limba NEW
Octavia A SaylorsArgentinaXuxue Feng NEGOTIATION
Francesco J SergiBrazilStephen Shaw PROPOSAL
Aruna P KuskoAustraliaAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Deepesh F MorascaItalyAsiya Javayant PROPOSAL
Octavia B WaycottAustraliaIoni Bowcher RENEWAL
Arvin X DoeBrazilAnna Fali UNQUALIFIED
Jefferson O SlusarskiCanadaOnyama Limba QUALIFIED
James R CaudyArgentinaIoni Bowcher NEGOTIATION
Faith R ChuiSpainAsiya Javayant UNQUALIFIED
Leja B KuskoGermanyBernardo Dominic UNQUALIFIED
Claire N FollerRussiaXuxue Feng PROPOSAL
Maria Z SlusarskiCanadaIvan Magalhaes UNQUALIFIED
Aditya G DilliardCanadaIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey W ChuiBrazil2024-06-20Rousseaux, Michael Esq RENEWAL92Stephen Shaw
1001Aditya A RulapaughUnited Kingdom2024-05-29Feltz Printing Service RENEWAL41Asiya Javayant
1002Adams V FlosiJapan2024-06-07King, Christopher A Esq QUALIFIED10Ioni Bowcher
1003Sinclair P WaycottBrazil2024-06-24Chemel, James L Cpa NEGOTIATION32Anna Fali
1004Chavez B FollerFrance2024-06-20Feiner Bros RENEWAL94Ioni Bowcher
1005Isabel I MaletBrazil2024-06-14Rangoni Of Florence NEGOTIATION18Elwin Sharvill
1006Jennifer P FerenczArgentina2024-06-24King, Christopher A Esq QUALIFIED73Ivan Magalhaes
1007Isabel H VocelkaUnited Kingdom2024-06-07Commercial Press RENEWAL90Bernardo Dominic
1008Greenwood J MorascaSpain2024-06-02Commercial Press UNQUALIFIED76Amy Elsner
1009Aruna Q VenereFrance2024-06-21Feiner Bros PROPOSAL88Amy Elsner
1010Sinclair K NickaSpain2024-06-22Benton, John B Jr UNQUALIFIED62Stephen Shaw
1011Claire Q VenereUnited Kingdom2024-06-15Morlong Associates RENEWAL35Amy Elsner
1012Deepesh L PerinFrance2024-05-31Rangoni Of Florence QUALIFIED62Ioni Bowcher
1013Munro G MacleadUnited Kingdom2024-05-26Morlong Associates RENEWAL7Bernardo Dominic
1014Murillo H DilliardCanada2024-05-30Chanay, Jeffrey A Esq QUALIFIED30Asiya Javayant
1015Ashley Q DoeIndia2024-06-24Rousseaux, Michael Esq NEGOTIATION82Amy Elsner
1016Kaitlin G RimIndia2024-06-10King, Christopher A Esq UNQUALIFIED46Anna Fali
1017Jeanfrancois O RoysterJapan2024-06-11Rousseaux, Michael Esq NEGOTIATION54Amy Elsner
1018James M SchemmerSpain2024-06-15Rousseaux, Michael Esq NEGOTIATION76Onyama Limba
1019Jeanfrancois A RulapaughAustralia2024-06-04Commercial Press PROPOSAL17Asiya Javayant
1020Cody H RimBrazil2024-06-07Rousseaux, Michael Esq NEW29Ioni Bowcher
1021Claire A FerenczGermany2024-05-27Buckley Miller Wright QUALIFIED21Ioni Bowcher
1022Faith Q AmigonBrazil2024-06-06Chemel, James L Cpa NEGOTIATION57Onyama Limba
1023Darci X VenereFrance2024-05-26King, Christopher A Esq RENEWAL11Ivan Magalhaes
1024Jones A BologniaItaly2024-06-04Benton, John B Jr NEW66Amy Elsner
1025Morrow K WhobreySpain2024-06-23Commercial Press NEGOTIATION0Onyama Limba
1026Ricardo U InouyeItaly2024-05-30Rangoni Of Florence NEGOTIATION91Anna Fali
1027Juan S SaylorsJapan2024-05-29Rousseaux, Michael Esq NEGOTIATION41Ivan Magalhaes
1028Misaki F GillianIndia2024-05-31Buckley Miller Wright NEW61Xuxue Feng
1029Faith B VocelkaUnited Kingdom2024-06-03Chanay, Jeffrey A Esq PROPOSAL91Ioni Bowcher
1030Sinclair Z CaldareraBrazil2024-06-05Dorl, James J Esq NEGOTIATION94Bernardo Dominic
1031Ashley M PerinAustralia2024-06-20Feltz Printing Service NEGOTIATION24Amy Elsner
1032Maisha L KuskoGermany2024-06-23Chanay, Jeffrey A Esq NEGOTIATION93Asiya Javayant
1033Sinclair E RimIndia2024-06-06Benton, John B Jr NEGOTIATION6Anna Fali
1034Kaitlin Z ButtRussia2024-06-08Rangoni Of Florence UNQUALIFIED84Bernardo Dominic
1035Costa Y SchemmerUnited Kingdom2024-06-20Rangoni Of Florence PROPOSAL75Onyama Limba
1036Isabel Z CaldareraFrance2024-06-17King, Christopher A Esq RENEWAL39Onyama Limba
1037Murillo S ChuiGermany2024-06-08Printing Dimensions PROPOSAL70Stephen Shaw
1038Nicolas B MarrierFrance2024-06-05Commercial Press RENEWAL76Onyama Limba
1039Deepesh N MacleadSpain2024-06-20Chanay, Jeffrey A Esq RENEWAL38Anna Fali
1040Silvio N NickaAustralia2024-05-27Feltz Printing Service RENEWAL76Stephen Shaw
1041Leon P SaylorsFrance2024-06-06Rousseaux, Michael Esq PROPOSAL51Ioni Bowcher
1042Clifford T PoquetteAustralia2024-06-12Printing Dimensions QUALIFIED19Stephen Shaw
1043Johnson L SergiItaly2024-05-30Benton, John B Jr NEGOTIATION33Ioni Bowcher
1044Greenwood C ButtIndia2024-05-28Chapman, Ross E Esq QUALIFIED86Ivan Magalhaes
1045Julie T TollnerGermany2024-06-24Chemel, James L Cpa PROPOSAL84Amy Elsner
1046Ivar Y TollnerArgentina2024-06-11Morlong Associates RENEWAL72Onyama Limba
1047Misaki Q CaldareraIndia2024-06-06Benton, John B Jr QUALIFIED31Anna Fali
1048Claire M ButtItaly2024-05-31Dorl, James J Esq RENEWAL80Anna Fali
1049Mujtaba U IturbideArgentina2024-05-29Truhlar And Truhlar Attys PROPOSAL73Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Jefferson P RoysterItalyXuxue Feng RENEWAL
Johnson F DoeBrazilIvan Magalhaes QUALIFIED
Octavia S FlosiSpainXuxue Feng RENEWAL
Aditya X MacleadArgentinaIoni Bowcher NEW
Kaitlin G RulapaughIndiaIoni Bowcher PROPOSAL
Julie C ShinkoBrazilAsiya Javayant QUALIFIED
Julie C RulapaughRussiaAnna Fali UNQUALIFIED
Leon R KolmetzIndiaElwin Sharvill UNQUALIFIED
Jones A FerenczSpainIoni Bowcher UNQUALIFIED
Chavez E CaldareraJapanIoni Bowcher RENEWAL
Nicolas S RimUnited KingdomXuxue Feng NEGOTIATION
Sinclair I WhobreyItalyIvan Magalhaes QUALIFIED
Wickens O AmigonAustraliaAnna Fali NEGOTIATION
Kadeem D GillianRussiaAsiya Javayant NEW
Johnson W TollnerUnited KingdomStephen Shaw PROPOSAL
Deepesh W VenereItalyOnyama Limba UNQUALIFIED
Greenwood L MacleadRussiaAnna Fali NEW
Kadeem H InouyeAustraliaElwin Sharvill NEW
Smith N VocelkaIndiaXuxue Feng PROPOSAL
Antonio A StockhamCanadaXuxue Feng PROPOSAL
James O IturbideCanadaIoni Bowcher NEGOTIATION
Antonio O KolmetzFranceStephen Shaw NEW
Misaki N SaylorsFranceAnna Fali NEW
Darci C IturbideGermanyBernardo Dominic PROPOSAL
Kaitlin P IturbideArgentinaAsiya Javayant NEGOTIATION
Jones H DilliardJapanAsiya Javayant PROPOSAL
Emily E OstroskyAustraliaAsiya Javayant NEW
Sinclair S GlickItalyBernardo Dominic NEGOTIATION
Misaki L IturbideJapanBernardo Dominic PROPOSAL
Cody Z GauchoFranceStephen Shaw NEGOTIATION
Izzy U SchemmerIndiaOnyama Limba QUALIFIED
Francesco L IturbideUnited KingdomBernardo Dominic RENEWAL
Costa H FigeroaJapanStephen Shaw PROPOSAL
Silvio Y RoysterSpainOnyama Limba NEW
Deepesh F ShinkoItalyIoni Bowcher NEW
Johnson P BowleyCanadaXuxue Feng NEW
Salvatore L AmigonItalyAnna Fali NEGOTIATION
Clifford F DarakjyIndiaXuxue Feng UNQUALIFIED
Maria Z AmigonJapanStephen Shaw RENEWAL
Greenwood H StockhamIndiaElwin Sharvill QUALIFIED
Maisha Z RutaCanadaStephen Shaw RENEWAL
Deepesh V KuskoSpainIoni Bowcher RENEWAL
Ashley R MacleadItalyBernardo Dominic UNQUALIFIED
Aditya W MaletArgentinaOnyama Limba PROPOSAL
Claire E DoeAustraliaXuxue Feng QUALIFIED
Jennifer W VenereCanadaAsiya Javayant NEGOTIATION
Izzy G PaprockiUnited KingdomIvan Magalhaes RENEWAL
Jennifer R PerinUnited KingdomElwin Sharvill NEW
Darci L FlosiFranceXuxue Feng QUALIFIED
Clifford K MacleadFranceAmy Elsner NEW
Frozen Columns
Name
Clifford N Kolmetz
Misaki O Ferencz
Costa Y Dilliard
Murillo U Iturbide
Ricardo A Garufi
Munro O Ferencz
Darci O Stenseth
Deepesh F Perin
Antonio L Ferencz
Smith N Ferencz
Mujtaba P Venere
Julie G Oldroyd
Adams F Royster
Salvatore J Iturbide
Tony W Campain
Silvio Q Vocelka
Johnson L Slusarski
Salvatore B Gillian
Arvin X Poquette
Salvatore N Oldroyd
Wickens P Morasca
Alejandro Q Gillian
Octavia M Briddick
Deepesh I Campain
Jeanfrancois M Iturbide
Murillo A Stenseth
Clifford U Inouye
Silvio K Stenseth
Stacey B Paprocki
Arvin T Butt
Emily X Albares
David G Wieser
Isabel O Ruta
Aika E Paprocki
Izzy A Campain
James C Maclead
Darci T Amigon
Maria A Malet
Aika L Campain
Faith R Sergi
Leja C Butt
Jeanfrancois E Perin
Aditya B Figeroa
Ashley A Garufi
Cody H Stockham
Greenwood J Garufi
Chavez S Bolognia
Jennifer V Darakjy
Smith N Ferencz
Isabel K Ruta
IdCountryDate
1000Germany2024-06-19
1001Japan2024-06-02
1002Japan2024-06-09
1003Australia2024-06-14
1004Spain2024-06-12
1005Spain2024-06-12
1006Argentina2024-06-20
1007Argentina2024-06-24
1008Japan2024-05-29
1009Russia2024-06-23
1010Russia2024-06-21
1011Italy2024-05-28
1012Argentina2024-06-03
1013Italy2024-06-22
1014Brazil2024-06-08
1015India2024-06-24
1016Argentina2024-05-28
1017Spain2024-06-20
1018Brazil2024-06-05
1019Russia2024-06-22
1020Russia2024-06-12
1021Spain2024-06-15
1022Spain2024-06-22
1023Russia2024-05-27
1024India2024-06-22
1025Spain2024-06-14
1026Brazil2024-06-10
1027Germany2024-06-11
1028Japan2024-06-02
1029Canada2024-06-10
1030Russia2024-06-08
1031Spain2024-06-13
1032Australia2024-06-02
1033Japan2024-06-06
1034Australia2024-06-05
1035Italy2024-06-08
1036India2024-05-31
1037Australia2024-06-13
1038Germany2024-06-09
1039India2024-06-12
1040France2024-06-20
1041Australia2024-05-30
1042Germany2024-06-11
1043France2024-05-28
1044Russia2024-06-24
1045Spain2024-06-06
1046Argentina2024-06-02
1047United Kingdom2024-06-02
1048United Kingdom2024-05-26
1049France2024-06-07

On-Demand Data

NameIdCountryDate
Isabel F Morasca1000Australia2024-06-24
Faith V Oldroyd1001France2024-06-02
Isabel C Tollner1002Australia2024-05-30
Octavia B Maclead1003Italy2024-06-18
Jones V Ferencz1004Germany2024-06-06
Cody T Morasca1005Argentina2024-06-19
Izzy P Inouye1006Canada2024-05-29
Sinclair N Dilliard1007France2024-06-03
Kadeem D Figeroa1008Japan2024-06-21
Francesco S Kolmetz1009Argentina2024-05-28
Alejandro Y Sergi1010United Kingdom2024-06-14
Silvio X Marrier1011Spain2024-06-16
Antonio P Ruta1012Japan2024-06-17
Wickens G Foller1013Germany2024-06-21
Claire A Butt1014Argentina2024-06-15
Mayumi B Sergi1015Germany2024-06-06
Morrow R Amigon1016Australia2024-06-23
Faith O Kusko1017Japan2024-06-20
Jennifer K Venere1018Argentina2024-06-20
Maisha Y Garufi1019Canada2024-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha Z PoquetteGermanyAnna Fali NEGOTIATION
Isabel R RimRussiaXuxue Feng NEW
Isabel S NestleUnited KingdomAsiya Javayant NEW
Emily F CampainCanadaAsiya Javayant PROPOSAL
Maisha B DoeBrazilBernardo Dominic PROPOSAL
Ivar S RoysterSpainAmy Elsner QUALIFIED
Isabel B SaylorsFranceBernardo Dominic PROPOSAL
Darci F KolmetzUnited KingdomOnyama Limba QUALIFIED
Wickens T CaldareraUnited KingdomAsiya Javayant RENEWAL
Claire A NestleSpainStephen Shaw UNQUALIFIED
Aditya Z ShinkoIndiaBernardo Dominic NEGOTIATION
Murillo L RulapaughSpainAnna Fali NEW
Chavez L KuskoGermanyIoni Bowcher UNQUALIFIED
Kaitlin Q StensethBrazilElwin Sharvill NEW
David G CaudyBrazilAsiya Javayant RENEWAL
Silvio Y RoysterFranceAnna Fali QUALIFIED
Faith T RimGermanyStephen Shaw UNQUALIFIED
Smith T PoquetteGermanyBernardo Dominic QUALIFIED
Mujtaba E FollerFranceIvan Magalhaes UNQUALIFIED
Salvatore R PaprockiSpainXuxue Feng NEW
Maria A WieserIndiaIvan Magalhaes RENEWAL
Octavia I ButtFranceOnyama Limba PROPOSAL
Maria K AmigonIndiaXuxue Feng PROPOSAL
Leja U VenereJapanAmy Elsner PROPOSAL
Jennifer E PoquetteBrazilAnna Fali PROPOSAL
Stacey R ChuiSpainOnyama Limba RENEWAL
Smith R ButtItalyAnna Fali PROPOSAL
Silvio U RutaItalyBernardo Dominic RENEWAL
David J AmigonArgentinaXuxue Feng RENEWAL
Johnson C DoeRussiaIoni Bowcher PROPOSAL
Julie K ShinkoFranceXuxue Feng RENEWAL
Ivar G AlbaresGermanyIvan Magalhaes NEW
Silvio B FollerSpainIvan Magalhaes PROPOSAL
David U ShinkoSpainXuxue Feng RENEWAL
Isabel L KolmetzFranceOnyama Limba NEW
Maria P FlosiAustraliaBernardo Dominic NEGOTIATION
Aditya B AlbaresItalyXuxue Feng RENEWAL
Nicolas F CampainIndiaStephen Shaw RENEWAL
Ashley O PoquetteArgentinaAmy Elsner RENEWAL
Mayumi A WhobreyUnited KingdomIoni Bowcher RENEWAL

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