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
Claire F RutaArgentinaElwin Sharvill PROPOSAL
Clifford I WaycottCanadaAsiya Javayant NEW
Arvin D CaldareraBrazilElwin Sharvill PROPOSAL
Antonio C RulapaughFranceAsiya Javayant QUALIFIED
Francesco S InouyeJapanAsiya Javayant NEGOTIATION
Silvio S PaprockiAustraliaStephen Shaw UNQUALIFIED
Aika B DarakjyRussiaAsiya Javayant PROPOSAL
Antonio H FlosiCanadaOnyama Limba UNQUALIFIED
Aditya L RutaCanadaAmy Elsner NEGOTIATION
Arvin J NickaAustraliaElwin Sharvill PROPOSAL
Stacey J VenereArgentinaElwin Sharvill UNQUALIFIED
Izzy W BologniaIndiaIoni Bowcher QUALIFIED
Nicolas Y WieserAustraliaOnyama Limba UNQUALIFIED
Costa H MarrierUnited KingdomStephen Shaw NEW
Johnson M GauchoArgentinaElwin Sharvill NEGOTIATION
Jeanfrancois D SlusarskiRussiaIoni Bowcher PROPOSAL
Clifford K NickaBrazilOnyama Limba NEW
Faith S CampainAustraliaXuxue Feng QUALIFIED
Ricardo A SaylorsIndiaIvan Magalhaes RENEWAL
Jennifer I DoeAustraliaIoni Bowcher QUALIFIED
Octavia W KolmetzGermanyIoni Bowcher RENEWAL
Antonio N DilliardIndiaAnna Fali PROPOSAL
Salvatore A MorascaUnited KingdomStephen Shaw NEGOTIATION
Costa E FlosiGermanyIoni Bowcher RENEWAL
Deepesh X FigeroaJapanStephen Shaw RENEWAL
David J TollnerGermanyBernardo Dominic NEGOTIATION
Rodrigues S PaprockiBrazilIvan Magalhaes PROPOSAL
Ivar E MacleadAustraliaIoni Bowcher QUALIFIED
Murillo A OldroydGermanyStephen Shaw PROPOSAL
Adams E WaycottAustraliaIvan Magalhaes PROPOSAL
James F StensethBrazilIvan Magalhaes RENEWAL
Emily L StensethAustraliaIvan Magalhaes NEGOTIATION
Deepesh E WhobreyAustraliaIvan Magalhaes UNQUALIFIED
Mayumi L CaudyItalyOnyama Limba UNQUALIFIED
Munro R VocelkaSpainIvan Magalhaes QUALIFIED
Aika P GillianFranceElwin Sharvill RENEWAL
Ashley U WaycottIndiaOnyama Limba UNQUALIFIED
Smith O CampainArgentinaIoni Bowcher NEGOTIATION
Jennifer J WieserArgentinaElwin Sharvill QUALIFIED
Ashley B RutaJapanOnyama Limba PROPOSAL
Kadeem I RulapaughGermanyAmy Elsner NEGOTIATION
Ricardo O AmigonSpainElwin Sharvill PROPOSAL
Sinclair X SergiGermanyStephen Shaw PROPOSAL
James X OldroydArgentinaXuxue Feng UNQUALIFIED
Costa A DarakjyJapanIvan Magalhaes NEW
Jennifer J VocelkaRussiaOnyama Limba QUALIFIED
Wickens N StockhamIndiaAnna Fali UNQUALIFIED
David N ChuiJapanBernardo Dominic NEGOTIATION
Maisha L KuskoUnited KingdomOnyama Limba NEW
Mayumi E CampainBrazilIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Deepesh I VocelkaArgentinaAnna Fali NEGOTIATION
Maria D DoeSpainElwin Sharvill RENEWAL
Munro U ShinkoCanadaStephen Shaw UNQUALIFIED
Aika C CaldareraCanadaStephen Shaw NEGOTIATION
Chavez P RimAustraliaBernardo Dominic NEW
Rodrigues E PerinIndiaAsiya Javayant QUALIFIED
Arvin V RulapaughArgentinaXuxue Feng PROPOSAL
Alejandro A NestleFranceStephen Shaw NEW
Jefferson M FlosiCanadaAsiya Javayant NEW
Clifford W MarrierGermanyIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria Y SlusarskiCanada2024-06-13Feiner Bros PROPOSAL21Anna Fali
1001Faith G AmigonRussia2024-05-17Printing Dimensions PROPOSAL70Onyama Limba
1002Claire L SaylorsArgentina2024-06-11Dorl, James J Esq QUALIFIED73Asiya Javayant
1003Aika M ShinkoGermany2024-05-18Chanay, Jeffrey A Esq QUALIFIED21Ioni Bowcher
1004Aika P FlosiIndia2024-06-15King, Christopher A Esq UNQUALIFIED39Asiya Javayant
1005Nicolas R MarrierBrazil2024-05-21King, Christopher A Esq NEGOTIATION90Ivan Magalhaes
1006Ashley D StockhamItaly2024-05-20Chemel, James L Cpa NEGOTIATION10Bernardo Dominic
1007Clifford Q WaycottIndia2024-06-10Dorl, James J Esq PROPOSAL11Asiya Javayant
1008Octavia I GlickUnited Kingdom2024-06-06Benton, John B Jr QUALIFIED19Bernardo Dominic
1009Stacey U VocelkaGermany2024-06-08Buckley Miller Wright NEGOTIATION17Onyama Limba
1010Kadeem N PerinJapan2024-06-13Truhlar And Truhlar Attys QUALIFIED58Amy Elsner
1011Morrow X BriddickCanada2024-06-02Chanay, Jeffrey A Esq PROPOSAL71Asiya Javayant
1012Ivar O TollnerBrazil2024-06-14King, Christopher A Esq NEW43Onyama Limba
1013Cody I MaletArgentina2024-05-31Feiner Bros PROPOSAL2Elwin Sharvill
1014Ashley H WhobreyRussia2024-06-06Commercial Press NEGOTIATION6Elwin Sharvill
1015Juan B AmigonAustralia2024-05-30Printing Dimensions PROPOSAL60Xuxue Feng
1016Jones Z MaletUnited Kingdom2024-05-21Chapman, Ross E Esq NEGOTIATION79Xuxue Feng
1017Rodrigues Q WhobreyItaly2024-06-10King, Christopher A Esq QUALIFIED67Amy Elsner
1018Juan J CaudyGermany2024-05-20Buckley Miller Wright QUALIFIED52Elwin Sharvill
1019Silvio D ChuiBrazil2024-06-13Rousseaux, Michael Esq PROPOSAL61Amy Elsner
1020Chavez E BriddickIndia2024-06-12Buckley Miller Wright PROPOSAL98Xuxue Feng
1021Aika E AmigonCanada2024-06-14Chapman, Ross E Esq RENEWAL62Asiya Javayant
1022Deepesh V PaprockiIndia2024-06-04Dorl, James J Esq RENEWAL80Xuxue Feng
1023Ivar C ButtCanada2024-06-11Benton, John B Jr NEW70Anna Fali
1024Arvin Q IturbideUnited Kingdom2024-06-11Rousseaux, Michael Esq UNQUALIFIED39Stephen Shaw
1025Isabel T InouyeSpain2024-05-28Feltz Printing Service QUALIFIED6Ioni Bowcher
1026James S FigeroaUnited Kingdom2024-06-01Rangoni Of Florence QUALIFIED15Elwin Sharvill
1027Salvatore F RoysterAustralia2024-05-24Feiner Bros UNQUALIFIED4Bernardo Dominic
1028Murillo H StockhamGermany2024-05-31Rangoni Of Florence NEGOTIATION26Asiya Javayant
1029Arvin D SergiFrance2024-05-22Dorl, James J Esq QUALIFIED32Asiya Javayant
1030Chavez Y FerenczCanada2024-05-19Commercial Press UNQUALIFIED93Asiya Javayant
1031Ricardo K ChuiArgentina2024-05-19Benton, John B Jr UNQUALIFIED36Asiya Javayant
1032Ashley E OstroskyArgentina2024-05-22Feltz Printing Service UNQUALIFIED84Stephen Shaw
1033Emily J ChuiItaly2024-06-05Truhlar And Truhlar Attys QUALIFIED30Ioni Bowcher
1034Mayumi T SaylorsSpain2024-06-12Rousseaux, Michael Esq RENEWAL43Bernardo Dominic
1035Maisha A WhobreyFrance2024-06-03Feiner Bros QUALIFIED88Anna Fali
1036Jones A GauchoSpain2024-06-03Chapman, Ross E Esq PROPOSAL13Amy Elsner
1037Juan D FerenczAustralia2024-06-14Truhlar And Truhlar Attys QUALIFIED91Ioni Bowcher
1038Aika B OldroydGermany2024-05-20Rousseaux, Michael Esq NEW21Onyama Limba
1039Alejandro B GillianAustralia2024-05-31Chapman, Ross E Esq QUALIFIED77Amy Elsner
1040Kadeem O NestleAustralia2024-05-21Benton, John B Jr NEGOTIATION35Stephen Shaw
1041Octavia D OldroydRussia2024-06-10Feiner Bros UNQUALIFIED94Bernardo Dominic
1042Clifford F DilliardUnited Kingdom2024-05-17Chemel, James L Cpa RENEWAL15Bernardo Dominic
1043Jones R SlusarskiAustralia2024-05-20Buckley Miller Wright NEW8Amy Elsner
1044Costa F ButtGermany2024-06-10Feltz Printing Service QUALIFIED94Onyama Limba
1045Silvio S ButtSpain2024-06-08Feiner Bros NEW2Bernardo Dominic
1046Aditya P RimFrance2024-05-20Buckley Miller Wright NEGOTIATION38Elwin Sharvill
1047Johnson W GarufiRussia2024-06-04Chemel, James L Cpa UNQUALIFIED55Elwin Sharvill
1048Jeanfrancois Y InouyeJapan2024-06-05Feltz Printing Service NEW59Xuxue Feng
1049Faith S PaprockiJapan2024-05-24Chapman, Ross E Esq RENEWAL27Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Julie W OstroskyJapanIoni Bowcher NEW
Jones M GillianGermanyIvan Magalhaes NEW
Isabel A DilliardRussiaAsiya Javayant UNQUALIFIED
Jones W SaylorsBrazilElwin Sharvill NEGOTIATION
Tony Z KuskoJapanIvan Magalhaes NEW
Darci D TollnerGermanyElwin Sharvill PROPOSAL
Darci Z BowleyBrazilIvan Magalhaes RENEWAL
Izzy A MorascaAustraliaAnna Fali QUALIFIED
Maisha O GauchoIndiaElwin Sharvill UNQUALIFIED
Tony M ChuiAustraliaOnyama Limba QUALIFIED
Antonio X SaylorsItalyAnna Fali QUALIFIED
Aika H PerinItalyOnyama Limba PROPOSAL
Costa M IturbideSpainBernardo Dominic NEW
Kaitlin O GarufiGermanyStephen Shaw RENEWAL
Leon N ShinkoRussiaXuxue Feng NEGOTIATION
Salvatore P KolmetzCanadaAmy Elsner NEGOTIATION
Morrow O DilliardItalyAnna Fali NEGOTIATION
Aditya I MaletItalyElwin Sharvill NEGOTIATION
Mayumi F MaletItalyBernardo Dominic NEGOTIATION
Chavez N RimIndiaIvan Magalhaes UNQUALIFIED
Darci R MorascaAustraliaElwin Sharvill NEGOTIATION
Jeanfrancois D OstroskyFranceElwin Sharvill RENEWAL
Mujtaba Y FlosiUnited KingdomXuxue Feng NEGOTIATION
David U TollnerIndiaIoni Bowcher QUALIFIED
Rodrigues N BologniaFranceStephen Shaw PROPOSAL
Izzy Z MaletArgentinaIvan Magalhaes NEGOTIATION
Leja T OldroydGermanyStephen Shaw RENEWAL
Aruna P OldroydAustraliaStephen Shaw NEW
Kadeem P RoysterUnited KingdomXuxue Feng PROPOSAL
Faith L BriddickIndiaOnyama Limba QUALIFIED
Cody H FlosiItalyBernardo Dominic PROPOSAL
Jefferson G GlickCanadaIvan Magalhaes UNQUALIFIED
Rodrigues O InouyeGermanyBernardo Dominic NEW
Kadeem A FollerIndiaXuxue Feng QUALIFIED
Julie W FigeroaGermanyXuxue Feng RENEWAL
Ashley M BriddickAustraliaXuxue Feng NEGOTIATION
Leja E ButtFranceAsiya Javayant RENEWAL
Claire T MorascaJapanIvan Magalhaes QUALIFIED
Jeanfrancois H PoquetteIndiaBernardo Dominic QUALIFIED
Isabel Y RutaGermanyBernardo Dominic QUALIFIED
Silvio Q RoysterArgentinaStephen Shaw QUALIFIED
Stacey A MacleadAustraliaStephen Shaw NEGOTIATION
Leja R BologniaCanadaXuxue Feng PROPOSAL
Deepesh T PerinRussiaAnna Fali QUALIFIED
Cody M WieserJapanBernardo Dominic UNQUALIFIED
Morrow J SchemmerBrazilElwin Sharvill QUALIFIED
Salvatore Y GauchoItalyStephen Shaw QUALIFIED
Aruna P RimJapanAnna Fali UNQUALIFIED
Francesco H GauchoRussiaXuxue Feng QUALIFIED
Johnson W DarakjyUnited KingdomAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Darci D Kusko
Rodrigues J Kolmetz
Clifford T Bowley
Smith W Marrier
Kaitlin K Dilliard
Leon N Dilliard
Costa S Ostrosky
Claire S Darakjy
Munro X Gillian
David H Ostrosky
Ashley G Rulapaugh
Ricardo M Gaucho
Nicolas W Nestle
Faith X Butt
Jones J Butt
Murillo I Sergi
Leja T Wieser
Smith N Stockham
Alejandro S Morasca
Smith P Kusko
Mayumi X Maclead
Stacey G Rim
Greenwood L Perin
Cody N Inouye
Aditya C Nicka
Francesco X Amigon
Julie L Saylors
Misaki C Flosi
Emily Z Butt
Izzy X Paprocki
Leon S Flosi
Johnson D Ferencz
Clifford R Shinko
Izzy R Poquette
Clifford V Oldroyd
James G Malet
Juan M Butt
Leon L Schemmer
Kadeem B Doe
Antonio E Stenseth
Morrow K Waycott
Munro V Royster
Antonio G Kusko
Faith H Glick
Costa Z Kusko
Munro A Nicka
Darci C Slusarski
Sinclair H Oldroyd
David D Vocelka
Deepesh X Slusarski
IdCountryDate
1000Argentina2024-06-13
1001Argentina2024-05-21
1002France2024-05-25
1003Italy2024-05-22
1004Germany2024-05-27
1005Spain2024-05-31
1006Japan2024-06-07
1007Spain2024-06-06
1008Russia2024-06-05
1009Argentina2024-05-25
1010France2024-05-29
1011Russia2024-05-24
1012Brazil2024-05-29
1013Italy2024-06-07
1014Argentina2024-06-15
1015Germany2024-05-28
1016Germany2024-05-17
1017Japan2024-05-17
1018India2024-05-19
1019France2024-06-03
1020Argentina2024-05-30
1021United Kingdom2024-05-27
1022France2024-06-11
1023Brazil2024-06-01
1024France2024-05-29
1025Argentina2024-05-24
1026France2024-05-31
1027Canada2024-05-21
1028Canada2024-05-21
1029India2024-06-01
1030Spain2024-06-04
1031Australia2024-06-07
1032India2024-06-01
1033Brazil2024-05-22
1034Australia2024-06-12
1035Spain2024-06-13
1036Japan2024-05-31
1037Italy2024-05-23
1038Spain2024-05-21
1039India2024-05-24
1040India2024-05-18
1041Spain2024-06-08
1042Argentina2024-06-08
1043Spain2024-05-19
1044Brazil2024-06-14
1045France2024-06-02
1046Brazil2024-06-01
1047Germany2024-05-19
1048Canada2024-06-09
1049United Kingdom2024-05-18

On-Demand Data

NameIdCountryDate
Adams Q Campain1000Japan2024-05-20
Nicolas B Nicka1001Japan2024-06-12
Rodrigues K Briddick1002Italy2024-06-07
Aditya I Nicka1003Australia2024-06-13
Emily H Caldarera1004Russia2024-06-10
David S Wieser1005India2024-05-28
Morrow U Garufi1006Brazil2024-06-01
Jefferson L Iturbide1007Germany2024-05-27
Munro L Malet1008Brazil2024-05-24
Jeanfrancois S Briddick1009Germany2024-06-14
Maria N Tollner1010Germany2024-06-10
Maisha S Doe1011Brazil2024-05-20
Mayumi P Albares1012Australia2024-05-20
Faith K Stockham1013United Kingdom2024-06-13
Stacey A Royster1014India2024-06-06
Claire Y Darakjy1015India2024-05-22
Nicolas B Chui1016France2024-05-28
Leon O Inouye1017Russia2024-06-15
Johnson A Maclead1018Brazil2024-06-07
Aruna E Amigon1019Australia2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro H FollerArgentinaBernardo Dominic NEW
Maisha S MorascaJapanStephen Shaw QUALIFIED
Chavez H FerenczIndiaXuxue Feng UNQUALIFIED
Alejandro B TollnerArgentinaXuxue Feng RENEWAL
Antonio K AmigonBrazilXuxue Feng NEW
Jefferson Y NestleRussiaIvan Magalhaes UNQUALIFIED
Misaki A WaycottArgentinaAsiya Javayant PROPOSAL
Smith X SaylorsJapanIvan Magalhaes NEGOTIATION
Jeanfrancois Z TollnerUnited KingdomAsiya Javayant NEGOTIATION
Greenwood T SlusarskiArgentinaIoni Bowcher PROPOSAL
Misaki C StockhamArgentinaAsiya Javayant UNQUALIFIED
Jones S MaletIndiaOnyama Limba PROPOSAL
Jefferson H PoquetteRussiaXuxue Feng UNQUALIFIED
Sinclair F ButtBrazilAnna Fali NEGOTIATION
Mujtaba Q InouyeAustraliaIvan Magalhaes NEW
Mujtaba B WhobreyIndiaXuxue Feng QUALIFIED
Murillo L FollerItalyIoni Bowcher PROPOSAL
Faith D PerinIndiaElwin Sharvill NEW
David I RulapaughBrazilAsiya Javayant NEW
Maria J CaudyGermanyOnyama Limba PROPOSAL
Jennifer N OstroskyJapanBernardo Dominic PROPOSAL
Stacey B OstroskyCanadaOnyama Limba NEGOTIATION
Ivar X WieserJapanElwin Sharvill QUALIFIED
Antonio G VocelkaSpainAmy Elsner PROPOSAL
Sinclair E NickaGermanyIoni Bowcher UNQUALIFIED
Jennifer R MarrierRussiaElwin Sharvill NEW
James G GillianIndiaOnyama Limba QUALIFIED
Darci H CaldareraBrazilElwin Sharvill QUALIFIED
Antonio J GillianGermanyIoni Bowcher PROPOSAL
Kaitlin K WaycottArgentinaAsiya Javayant NEGOTIATION
Jennifer E AmigonRussiaIoni Bowcher QUALIFIED
Tony O PaprockiIndiaOnyama Limba RENEWAL
Izzy C ShinkoAustraliaAmy Elsner PROPOSAL
Francesco B OldroydFranceOnyama Limba QUALIFIED
Wickens D SlusarskiJapanElwin Sharvill NEGOTIATION
Arvin E RutaBrazilIoni Bowcher UNQUALIFIED
Costa S BowleyBrazilAmy Elsner UNQUALIFIED
Tony N ChuiFranceXuxue Feng UNQUALIFIED
Wickens B WhobreyArgentinaXuxue Feng PROPOSAL
Murillo U DarakjyIndiaOnyama Limba PROPOSAL

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