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
Tony U SchemmerArgentinaIoni Bowcher UNQUALIFIED
Greenwood F NickaJapanElwin Sharvill PROPOSAL
Aika W ChuiItalyStephen Shaw NEGOTIATION
Darci G MorascaCanadaAsiya Javayant PROPOSAL
Stacey A KolmetzAustraliaXuxue Feng NEGOTIATION
Leja L DarakjyUnited KingdomElwin Sharvill RENEWAL
Antonio K InouyeCanadaOnyama Limba UNQUALIFIED
Alejandro N PoquetteJapanElwin Sharvill RENEWAL
Maisha P KolmetzIndiaAmy Elsner NEGOTIATION
Aditya Q CaudyGermanyIvan Magalhaes PROPOSAL
Alejandro Z WieserJapanIvan Magalhaes UNQUALIFIED
Salvatore X RulapaughBrazilIoni Bowcher QUALIFIED
Alejandro J MaletIndiaAnna Fali NEW
Julie K PerinItalyXuxue Feng QUALIFIED
Munro L InouyeRussiaStephen Shaw QUALIFIED
Claire X OldroydGermanyIvan Magalhaes RENEWAL
Sinclair U DarakjySpainBernardo Dominic RENEWAL
Rodrigues A OstroskyUnited KingdomAsiya Javayant PROPOSAL
Emily G MarrierArgentinaAmy Elsner NEW
Izzy V AlbaresGermanyIoni Bowcher NEW
Greenwood J ButtItalyBernardo Dominic QUALIFIED
Octavia R OstroskyJapanAnna Fali NEGOTIATION
Mujtaba N AmigonItalyAnna Fali NEW
Jeanfrancois M IturbideUnited KingdomBernardo Dominic PROPOSAL
Aruna J RimItalyAmy Elsner UNQUALIFIED
Mayumi B StensethRussiaOnyama Limba PROPOSAL
Leja W ShinkoArgentinaIvan Magalhaes QUALIFIED
Greenwood X SlusarskiCanadaAmy Elsner RENEWAL
Maisha D GillianIndiaIvan Magalhaes PROPOSAL
Morrow I KolmetzCanadaXuxue Feng NEGOTIATION
Claire C ButtIndiaAnna Fali QUALIFIED
Rodrigues Z VenereJapanOnyama Limba QUALIFIED
Johnson J TollnerUnited KingdomAsiya Javayant NEW
Clifford I RimCanadaIoni Bowcher NEGOTIATION
Greenwood F TollnerGermanyAmy Elsner NEW
Morrow V SchemmerUnited KingdomElwin Sharvill NEGOTIATION
Salvatore F AlbaresCanadaAsiya Javayant PROPOSAL
Julie Q TollnerBrazilXuxue Feng QUALIFIED
Silvio U MacleadJapanIvan Magalhaes QUALIFIED
Aika Z SchemmerSpainAmy Elsner PROPOSAL
Adams E TollnerCanadaAsiya Javayant RENEWAL
Clifford Q MorascaCanadaIoni Bowcher UNQUALIFIED
Silvio D MarrierCanadaBernardo Dominic QUALIFIED
Johnson D RutaGermanyAmy Elsner NEGOTIATION
Isabel Z NestleJapanBernardo Dominic NEGOTIATION
Emily D AlbaresArgentinaAmy Elsner RENEWAL
Adams C BriddickFranceElwin Sharvill PROPOSAL
Aditya T MacleadJapanOnyama Limba PROPOSAL
Morrow E OldroydArgentinaAsiya Javayant NEW
Kaitlin W GillianIndiaIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Antonio T RimCanadaOnyama Limba PROPOSAL
Deepesh U CaldareraSpainIoni Bowcher RENEWAL
Isabel T FlosiSpainAsiya Javayant RENEWAL
Chavez K AmigonBrazilXuxue Feng NEW
Ashley X WhobreyGermanyIoni Bowcher RENEWAL
Nicolas Q GlickItalyOnyama Limba QUALIFIED
Arvin N SaylorsGermanyStephen Shaw UNQUALIFIED
Johnson B StockhamAustraliaIoni Bowcher QUALIFIED
Stacey F ChuiRussiaAsiya Javayant PROPOSAL
Kadeem J ShinkoAustraliaXuxue Feng UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh O CampainAustralia2024-06-10Morlong Associates RENEWAL28Stephen Shaw
1001Smith Y CaudyBrazil2024-06-02Feiner Bros UNQUALIFIED74Bernardo Dominic
1002Claire P RulapaughRussia2024-06-13Rousseaux, Michael Esq PROPOSAL78Stephen Shaw
1003Costa C CampainAustralia2024-05-27Feiner Bros UNQUALIFIED43Elwin Sharvill
1004Nicolas L IturbideAustralia2024-05-28Rangoni Of Florence NEW92Stephen Shaw
1005Kadeem B AmigonAustralia2024-05-26Feiner Bros QUALIFIED84Stephen Shaw
1006Ashley G IturbideSpain2024-06-03Rousseaux, Michael Esq RENEWAL17Onyama Limba
1007Antonio O WieserIndia2024-06-09Printing Dimensions RENEWAL22Elwin Sharvill
1008Aika A MacleadSpain2024-06-03King, Christopher A Esq PROPOSAL33Bernardo Dominic
1009Ricardo Z BowleySpain2024-05-31Feltz Printing Service NEW29Ivan Magalhaes
1010Misaki N FerenczUnited Kingdom2024-06-05King, Christopher A Esq PROPOSAL17Amy Elsner
1011Misaki U SlusarskiSpain2024-05-24Truhlar And Truhlar Attys NEW93Onyama Limba
1012Ashley N RoysterItaly2024-06-05Commercial Press NEW44Xuxue Feng
1013Kadeem V MaletSpain2024-06-18Feltz Printing Service QUALIFIED60Anna Fali
1014Ashley A RulapaughSpain2024-06-12Chanay, Jeffrey A Esq QUALIFIED8Elwin Sharvill
1015Maisha L VocelkaSpain2024-06-16Buckley Miller Wright NEW88Elwin Sharvill
1016Chavez V ChuiSpain2024-06-18Morlong Associates NEW91Amy Elsner
1017Deepesh E SergiJapan2024-05-26Benton, John B Jr NEW56Xuxue Feng
1018Jennifer M GillianGermany2024-05-24Feiner Bros RENEWAL75Onyama Limba
1019Nicolas K RoysterBrazil2024-06-10Chemel, James L Cpa NEGOTIATION97Ioni Bowcher
1020Morrow Y FerenczJapan2024-06-02Benton, John B Jr NEW59Onyama Limba
1021Adams D PoquetteIndia2024-05-31Printing Dimensions UNQUALIFIED6Ioni Bowcher
1022Adams T NickaAustralia2024-05-24Commercial Press PROPOSAL53Amy Elsner
1023Leja W NestleUnited Kingdom2024-05-30Chemel, James L Cpa UNQUALIFIED49Ivan Magalhaes
1024Silvio F RutaUnited Kingdom2024-05-28King, Christopher A Esq PROPOSAL59Ivan Magalhaes
1025Aditya P IturbideUnited Kingdom2024-06-08King, Christopher A Esq NEGOTIATION72Elwin Sharvill
1026Octavia Q OldroydSpain2024-05-27Rousseaux, Michael Esq RENEWAL73Amy Elsner
1027Chavez F AmigonIndia2024-05-28Printing Dimensions RENEWAL19Ioni Bowcher
1028Mayumi S IturbideIndia2024-06-16Commercial Press UNQUALIFIED33Stephen Shaw
1029Salvatore M WhobreyCanada2024-06-14Truhlar And Truhlar Attys NEW57Ivan Magalhaes
1030Mayumi Y CampainItaly2024-06-06Chanay, Jeffrey A Esq RENEWAL62Bernardo Dominic
1031Sinclair W WieserSpain2024-06-14Chapman, Ross E Esq RENEWAL27Ivan Magalhaes
1032Darci G OstroskyJapan2024-06-21Chemel, James L Cpa NEGOTIATION62Ioni Bowcher
1033Izzy W NickaUnited Kingdom2024-06-03Truhlar And Truhlar Attys NEGOTIATION23Bernardo Dominic
1034Ivar M InouyeGermany2024-06-13Feltz Printing Service UNQUALIFIED55Onyama Limba
1035Costa K InouyeFrance2024-06-16Chemel, James L Cpa RENEWAL8Onyama Limba
1036Greenwood R IturbideJapan2024-06-22Benton, John B Jr UNQUALIFIED58Ivan Magalhaes
1037Aika C AmigonIndia2024-05-24King, Christopher A Esq RENEWAL5Anna Fali
1038Aruna T VenereAustralia2024-05-31Chapman, Ross E Esq UNQUALIFIED31Ioni Bowcher
1039Alejandro G WieserUnited Kingdom2024-06-03Benton, John B Jr QUALIFIED79Xuxue Feng
1040Julie L WieserItaly2024-06-11Feltz Printing Service PROPOSAL1Ivan Magalhaes
1041Isabel N CaudyFrance2024-06-19Commercial Press UNQUALIFIED47Xuxue Feng
1042Adams C ButtGermany2024-06-10Rousseaux, Michael Esq RENEWAL22Elwin Sharvill
1043Stacey J FlosiAustralia2024-06-11Commercial Press NEGOTIATION50Ioni Bowcher
1044Jones S SchemmerFrance2024-05-30Feltz Printing Service UNQUALIFIED18Ioni Bowcher
1045Arvin O FigeroaGermany2024-06-04Rousseaux, Michael Esq PROPOSAL48Anna Fali
1046Smith A AlbaresCanada2024-06-02Benton, John B Jr QUALIFIED65Bernardo Dominic
1047Deepesh U CampainUnited Kingdom2024-06-03Feltz Printing Service RENEWAL58Ioni Bowcher
1048Faith Y AmigonItaly2024-06-02King, Christopher A Esq QUALIFIED8Ivan Magalhaes
1049Sinclair O SaylorsIndia2024-06-20Feiner Bros RENEWAL36Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Kadeem M ShinkoCanadaAmy Elsner NEGOTIATION
Izzy G VocelkaArgentinaXuxue Feng RENEWAL
Mayumi I FerenczFranceOnyama Limba RENEWAL
Tony C TollnerGermanyElwin Sharvill PROPOSAL
Salvatore P ChuiSpainAnna Fali RENEWAL
Nicolas X PoquetteBrazilOnyama Limba RENEWAL
Tony W NickaUnited KingdomBernardo Dominic QUALIFIED
Isabel A TollnerRussiaAnna Fali NEGOTIATION
Maria G FigeroaFranceAnna Fali NEW
Faith M SergiSpainAnna Fali UNQUALIFIED
Maisha H CampainItalyBernardo Dominic UNQUALIFIED
Ashley F InouyeUnited KingdomIvan Magalhaes RENEWAL
Adams G RulapaughRussiaAmy Elsner PROPOSAL
Salvatore I WaycottSpainXuxue Feng RENEWAL
Costa I FerenczItalyAsiya Javayant RENEWAL
Tony X KuskoArgentinaIoni Bowcher PROPOSAL
Faith P ButtIndiaAsiya Javayant PROPOSAL
Leja X IturbideIndiaIoni Bowcher NEW
Aruna T VocelkaIndiaOnyama Limba UNQUALIFIED
Misaki E FigeroaArgentinaStephen Shaw UNQUALIFIED
Rodrigues K GauchoJapanStephen Shaw NEGOTIATION
Greenwood K DoeBrazilBernardo Dominic QUALIFIED
Maria R OstroskyAustraliaIvan Magalhaes NEGOTIATION
Alejandro H SlusarskiUnited KingdomBernardo Dominic PROPOSAL
Isabel R WaycottFranceOnyama Limba UNQUALIFIED
Antonio U ButtSpainElwin Sharvill RENEWAL
Maisha X AlbaresRussiaOnyama Limba PROPOSAL
Ashley P InouyeArgentinaBernardo Dominic QUALIFIED
Nicolas P SaylorsArgentinaIoni Bowcher PROPOSAL
Greenwood O SergiJapanElwin Sharvill NEW
Adams X WieserArgentinaAnna Fali NEGOTIATION
Maria A MarrierBrazilBernardo Dominic UNQUALIFIED
Maria X PerinUnited KingdomBernardo Dominic PROPOSAL
Mujtaba P PaprockiCanadaOnyama Limba UNQUALIFIED
Ricardo M PaprockiSpainElwin Sharvill UNQUALIFIED
Julie F SchemmerUnited KingdomAsiya Javayant NEW
Emily V VocelkaFranceBernardo Dominic PROPOSAL
Nicolas C FollerFranceIvan Magalhaes RENEWAL
Murillo X DilliardIndiaOnyama Limba UNQUALIFIED
Ivar O NestleGermanyOnyama Limba PROPOSAL
Costa R MorascaRussiaAsiya Javayant QUALIFIED
Wickens V KuskoSpainXuxue Feng NEW
Izzy T SchemmerCanadaAsiya Javayant RENEWAL
Adams Z MorascaItalyAmy Elsner NEW
Smith E NestleRussiaAsiya Javayant QUALIFIED
Cody H SergiJapanXuxue Feng RENEWAL
Maisha Z MarrierJapanXuxue Feng UNQUALIFIED
Juan F MaletArgentinaIvan Magalhaes RENEWAL
Misaki R FerenczJapanXuxue Feng QUALIFIED
Aditya A SchemmerItalyElwin Sharvill QUALIFIED
Frozen Columns
Name
Julie Z Stenseth
Julie G Sergi
Morrow U Stockham
Smith Q Slusarski
Tony R Morasca
Antonio F Malet
Jennifer I Gillian
James P Wieser
Jeanfrancois H Tollner
Maisha J Campain
Jeanfrancois K Amigon
Sinclair Y Marrier
Costa Q Sergi
Aika M Oldroyd
Francesco T Saylors
Aika F Iturbide
Aruna I Caldarera
Jeanfrancois U Shinko
Murillo F Saylors
Ricardo G Schemmer
Arvin K Morasca
Smith E Gaucho
Ricardo Y Kusko
Kadeem E Kusko
Arvin V Amigon
Izzy X Slusarski
Julie Q Caudy
Maisha N Stenseth
Aruna B Royster
Wickens G Ostrosky
Deepesh Z Campain
Antonio J Nestle
Salvatore F Schemmer
Deepesh D Amigon
Aika O Poquette
Antonio O Bowley
Octavia X Chui
Ashley I Chui
Misaki L Amigon
Jennifer L Stockham
Ashley P Venere
Mujtaba I Malet
Wickens J Tollner
Aruna U Amigon
Jennifer G Glick
Deepesh B Caldarera
Antonio P Iturbide
Alejandro M Saylors
Leon K Waycott
Francesco J Wieser
IdCountryDate
1000India2024-06-09
1001Spain2024-05-30
1002Argentina2024-06-09
1003Italy2024-06-13
1004Germany2024-06-08
1005India2024-06-14
1006Argentina2024-06-14
1007Spain2024-05-31
1008Canada2024-06-17
1009Russia2024-06-12
1010Germany2024-05-24
1011Australia2024-06-15
1012Canada2024-06-12
1013United Kingdom2024-06-18
1014Russia2024-05-31
1015India2024-06-01
1016Japan2024-06-01
1017India2024-06-01
1018India2024-05-30
1019Russia2024-06-15
1020Japan2024-06-05
1021Italy2024-06-14
1022Canada2024-05-29
1023Canada2024-06-13
1024France2024-05-31
1025Germany2024-05-26
1026France2024-06-07
1027Japan2024-06-02
1028Canada2024-05-31
1029Italy2024-06-02
1030Spain2024-06-08
1031Japan2024-06-17
1032Italy2024-06-05
1033Germany2024-06-07
1034United Kingdom2024-06-20
1035Canada2024-06-19
1036Spain2024-06-03
1037France2024-06-21
1038Argentina2024-06-13
1039Brazil2024-06-07
1040India2024-06-02
1041Argentina2024-05-25
1042Australia2024-06-04
1043Canada2024-06-05
1044Australia2024-05-29
1045United Kingdom2024-05-31
1046Italy2024-05-28
1047Australia2024-06-15
1048Italy2024-06-18
1049Japan2024-06-01

On-Demand Data

NameIdCountryDate
Chavez M Morasca1000France2024-05-26
Ivar S Sergi1001Spain2024-06-18
Kaitlin F Stockham1002United Kingdom2024-06-13
Munro F Oldroyd1003Spain2024-05-27
Silvio F Ruta1004Spain2024-05-28
Munro J Malet1005Spain2024-06-08
Adams Q Figeroa1006Russia2024-05-31
Johnson Z Figeroa1007Brazil2024-06-12
Nicolas K Schemmer1008United Kingdom2024-06-17
Cody J Nicka1009Italy2024-06-13
Cody U Gaucho1010Germany2024-06-14
Leon I Malet1011Canada2024-06-16
Antonio H Garufi1012Russia2024-06-01
Izzy Q Royster1013Australia2024-06-03
Morrow O Caldarera1014Russia2024-06-13
Leon F Rim1015Italy2024-05-28
Jeanfrancois C Albares1016Canada2024-05-26
David E Maclead1017Spain2024-06-14
Izzy J Kusko1018India2024-06-07
Silvio Y Ferencz1019France2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones Z FerenczJapanAsiya Javayant NEW
Juan W RutaSpainElwin Sharvill QUALIFIED
Ivar E InouyeRussiaAnna Fali RENEWAL
Salvatore J PoquetteAustraliaAnna Fali QUALIFIED
Maria Z SergiAustraliaXuxue Feng NEW
Octavia S AlbaresUnited KingdomXuxue Feng NEW
Murillo O SaylorsJapanStephen Shaw QUALIFIED
Kaitlin X AlbaresBrazilOnyama Limba UNQUALIFIED
Wickens U MacleadFranceStephen Shaw NEGOTIATION
Smith X GlickCanadaElwin Sharvill NEW
Morrow Q AlbaresItalyXuxue Feng NEGOTIATION
Leon R SaylorsIndiaAmy Elsner UNQUALIFIED
Juan E PerinRussiaAmy Elsner NEW
Darci Q RutaRussiaXuxue Feng UNQUALIFIED
Salvatore Y WhobreyGermanyAnna Fali NEGOTIATION
Aditya A KolmetzAustraliaIoni Bowcher NEGOTIATION
Cody V SergiAustraliaOnyama Limba RENEWAL
Julie N GarufiItalyIvan Magalhaes PROPOSAL
Johnson S TollnerCanadaAsiya Javayant PROPOSAL
James D PerinAustraliaBernardo Dominic UNQUALIFIED
James O StockhamUnited KingdomOnyama Limba PROPOSAL
Greenwood Y WieserFranceBernardo Dominic QUALIFIED
Jeanfrancois A RimAustraliaAmy Elsner NEW
Morrow T KolmetzIndiaAsiya Javayant UNQUALIFIED
Misaki C AlbaresIndiaAnna Fali RENEWAL
Maisha I OstroskyFranceIoni Bowcher UNQUALIFIED
Rodrigues H BologniaSpainStephen Shaw UNQUALIFIED
Aika N GillianItalyOnyama Limba NEW
Ivar A AmigonItalyBernardo Dominic NEW
Faith Q SchemmerCanadaAnna Fali QUALIFIED
Jeanfrancois S RimRussiaAsiya Javayant UNQUALIFIED
Octavia K PoquetteGermanyXuxue Feng NEW
Claire G MaletArgentinaAmy Elsner NEGOTIATION
James J MorascaIndiaIoni Bowcher QUALIFIED
Murillo O RimArgentinaAmy Elsner RENEWAL
Munro I PoquetteGermanyIvan Magalhaes UNQUALIFIED
Wickens C OstroskyGermanyBernardo Dominic RENEWAL
Mujtaba Y AmigonJapanStephen Shaw PROPOSAL
Kadeem F StockhamUnited KingdomXuxue Feng QUALIFIED
Kadeem I FerenczFranceAsiya Javayant 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>