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
Julie Z ShinkoIndiaElwin Sharvill PROPOSAL
Aika A IturbideUnited KingdomXuxue Feng UNQUALIFIED
Johnson V GarufiArgentinaAsiya Javayant QUALIFIED
Adams I ShinkoItalyBernardo Dominic RENEWAL
James Q WhobreyItalyStephen Shaw NEGOTIATION
Misaki F FerenczGermanyAnna Fali QUALIFIED
Antonio P PaprockiUnited KingdomAmy Elsner PROPOSAL
Ashley L PaprockiIndiaBernardo Dominic PROPOSAL
Sinclair E FollerJapanIoni Bowcher NEGOTIATION
Mujtaba A CaudySpainIvan Magalhaes NEGOTIATION
Leja E PaprockiUnited KingdomXuxue Feng NEGOTIATION
Maria L GillianIndiaAmy Elsner PROPOSAL
Octavia H CaudyAustraliaIoni Bowcher UNQUALIFIED
Emily T DilliardItalyOnyama Limba RENEWAL
Aruna U SchemmerRussiaXuxue Feng UNQUALIFIED
Sinclair D KolmetzArgentinaOnyama Limba RENEWAL
Claire F SchemmerBrazilIoni Bowcher PROPOSAL
Clifford C OldroydSpainXuxue Feng NEW
Aruna C KolmetzUnited KingdomXuxue Feng UNQUALIFIED
Jennifer J CampainRussiaBernardo Dominic NEGOTIATION
Munro Q AlbaresUnited KingdomAmy Elsner QUALIFIED
Emily P DilliardGermanyElwin Sharvill PROPOSAL
Tony Y MacleadRussiaIoni Bowcher QUALIFIED
Jefferson W StensethFranceBernardo Dominic QUALIFIED
Maria O BriddickFranceBernardo Dominic NEW
Francesco R RutaArgentinaOnyama Limba NEGOTIATION
Octavia T AlbaresCanadaBernardo Dominic NEGOTIATION
Smith M VenereCanadaAsiya Javayant PROPOSAL
Greenwood Q ButtUnited KingdomOnyama Limba RENEWAL
Leja V StensethSpainElwin Sharvill NEW
Alejandro H OldroydGermanyStephen Shaw NEW
Tony W SergiCanadaBernardo Dominic NEW
Greenwood X MorascaUnited KingdomAsiya Javayant UNQUALIFIED
Munro F ButtAustraliaAsiya Javayant QUALIFIED
Morrow X WieserIndiaStephen Shaw NEW
Mujtaba Y SchemmerAustraliaAsiya Javayant NEW
Mayumi R KuskoBrazilAsiya Javayant RENEWAL
Octavia O TollnerIndiaIoni Bowcher RENEWAL
Silvio Q VenereArgentinaIvan Magalhaes UNQUALIFIED
Kadeem U NestleIndiaIvan Magalhaes QUALIFIED
Stacey N CaldareraSpainStephen Shaw NEW
Ivar V RulapaughRussiaAsiya Javayant QUALIFIED
Aika N RutaCanadaAnna Fali NEW
Faith E ButtSpainBernardo Dominic NEW
Chavez K IturbideGermanyAsiya Javayant NEW
Aditya O ShinkoArgentinaAnna Fali PROPOSAL
Kaitlin H DoeSpainIvan Magalhaes NEW
Juan A AmigonBrazilXuxue Feng NEW
Jeanfrancois X VenereCanadaXuxue Feng RENEWAL
Morrow Y VocelkaRussiaAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
David Y AmigonJapanStephen Shaw RENEWAL
Salvatore A PoquetteAustraliaIvan Magalhaes QUALIFIED
Cody L SchemmerArgentinaAmy Elsner QUALIFIED
Munro D RutaJapanElwin Sharvill NEGOTIATION
Jeanfrancois F BologniaUnited KingdomAnna Fali RENEWAL
Francesco V SchemmerItalyOnyama Limba PROPOSAL
David C WhobreyGermanyBernardo Dominic NEGOTIATION
Mayumi C MaletArgentinaIoni Bowcher QUALIFIED
Mujtaba D ButtFranceBernardo Dominic QUALIFIED
Isabel H AlbaresSpainXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja Y StockhamArgentina2025-06-15Truhlar And Truhlar Attys RENEWAL95Elwin Sharvill
1001Misaki Z RimFrance2025-06-07Chemel, James L Cpa UNQUALIFIED15Ioni Bowcher
1002Jennifer B BologniaJapan2025-05-25Rousseaux, Michael Esq PROPOSAL85Stephen Shaw
1003Emily X WaycottItaly2025-05-21Chemel, James L Cpa NEGOTIATION62Bernardo Dominic
1004Misaki G BologniaSpain2025-06-11Morlong Associates NEGOTIATION89Bernardo Dominic
1005Johnson E ButtFrance2025-06-12Buckley Miller Wright NEGOTIATION1Ioni Bowcher
1006Chavez W MaletRussia2025-06-05Rangoni Of Florence NEW48Asiya Javayant
1007Izzy Q KuskoAustralia2025-05-19Commercial Press NEGOTIATION67Anna Fali
1008Johnson O MarrierFrance2025-06-08Rangoni Of Florence NEGOTIATION0Stephen Shaw
1009Aika K KuskoAustralia2025-06-16Commercial Press PROPOSAL10Bernardo Dominic
1010Ricardo L NickaUnited Kingdom2025-05-28Chapman, Ross E Esq UNQUALIFIED33Asiya Javayant
1011Aditya H AlbaresItaly2025-05-18Feltz Printing Service QUALIFIED97Ivan Magalhaes
1012Jefferson O BriddickArgentina2025-05-26Rousseaux, Michael Esq UNQUALIFIED80Asiya Javayant
1013Murillo B RutaCanada2025-05-20Benton, John B Jr RENEWAL92Elwin Sharvill
1014Aditya I PerinArgentina2025-05-22Chapman, Ross E Esq RENEWAL38Amy Elsner
1015Deepesh P SchemmerRussia2025-06-11Buckley Miller Wright NEGOTIATION85Onyama Limba
1016Rodrigues B MarrierAustralia2025-06-03Chapman, Ross E Esq QUALIFIED65Ioni Bowcher
1017Juan F OstroskyBrazil2025-06-08Truhlar And Truhlar Attys PROPOSAL67Xuxue Feng
1018Octavia H FigeroaSpain2025-05-26Printing Dimensions NEW84Bernardo Dominic
1019James Q PaprockiIndia2025-06-12Feiner Bros PROPOSAL14Anna Fali
1020Rodrigues X StockhamBrazil2025-05-22Morlong Associates QUALIFIED18Onyama Limba
1021Kadeem S PaprockiItaly2025-05-23Buckley Miller Wright NEGOTIATION71Amy Elsner
1022Clifford Y SergiItaly2025-06-12Chemel, James L Cpa NEGOTIATION59Anna Fali
1023Munro F AmigonAustralia2025-05-31King, Christopher A Esq UNQUALIFIED74Xuxue Feng
1024Johnson S FollerIndia2025-06-01Chapman, Ross E Esq QUALIFIED12Stephen Shaw
1025Wickens K RoysterSpain2025-06-01Printing Dimensions PROPOSAL51Ivan Magalhaes
1026Misaki U DarakjyBrazil2025-05-18Commercial Press NEW68Stephen Shaw
1027Kadeem N MaletGermany2025-05-20Printing Dimensions QUALIFIED56Ivan Magalhaes
1028Wickens B FigeroaGermany2025-06-10Rousseaux, Michael Esq UNQUALIFIED32Anna Fali
1029Kadeem L GauchoAustralia2025-06-06Feltz Printing Service NEGOTIATION50Stephen Shaw
1030Sinclair U GarufiSpain2025-05-27Buckley Miller Wright PROPOSAL55Onyama Limba
1031Stacey D StensethJapan2025-06-14Rangoni Of Florence NEW26Onyama Limba
1032Wickens X PaprockiUnited Kingdom2025-05-20King, Christopher A Esq PROPOSAL5Anna Fali
1033Misaki D RutaArgentina2025-06-11Chapman, Ross E Esq NEW34Bernardo Dominic
1034Murillo S OstroskyGermany2025-06-09Rangoni Of Florence QUALIFIED76Ioni Bowcher
1035Morrow N BowleyUnited Kingdom2025-06-08Chanay, Jeffrey A Esq UNQUALIFIED25Xuxue Feng
1036Clifford Z KolmetzSpain2025-05-19Feltz Printing Service PROPOSAL54Xuxue Feng
1037Faith G StockhamAustralia2025-06-09Rangoni Of Florence NEGOTIATION15Bernardo Dominic
1038Maria R GillianFrance2025-06-12Benton, John B Jr QUALIFIED10Asiya Javayant
1039Rodrigues V FollerCanada2025-05-22Commercial Press PROPOSAL9Stephen Shaw
1040Izzy J PaprockiSpain2025-06-07Chapman, Ross E Esq NEW78Onyama Limba
1041Maria D PoquetteBrazil2025-05-24Morlong Associates NEW79Onyama Limba
1042Francesco Z FigeroaAustralia2025-05-25Chanay, Jeffrey A Esq NEGOTIATION93Ivan Magalhaes
1043Ivar N SchemmerFrance2025-06-06Chapman, Ross E Esq NEGOTIATION82Stephen Shaw
1044Kadeem L IturbideIndia2025-06-15Chemel, James L Cpa UNQUALIFIED5Onyama Limba
1045Alejandro J WieserAustralia2025-06-06Feiner Bros RENEWAL30Bernardo Dominic
1046Emily T GauchoUnited Kingdom2025-06-14Chapman, Ross E Esq UNQUALIFIED69Onyama Limba
1047Jeanfrancois G NickaUnited Kingdom2025-05-23Truhlar And Truhlar Attys QUALIFIED57Ivan Magalhaes
1048Maisha M FlosiArgentina2025-05-22Dorl, James J Esq RENEWAL72Ivan Magalhaes
1049Emily E WhobreyItaly2025-06-04King, Christopher A Esq QUALIFIED81Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Sinclair T GlickAustraliaAnna Fali NEGOTIATION
Aditya Y CaldareraJapanIoni Bowcher NEGOTIATION
Darci I SergiUnited KingdomXuxue Feng UNQUALIFIED
David N MaletBrazilBernardo Dominic PROPOSAL
Costa A AmigonAustraliaIvan Magalhaes RENEWAL
Darci X CaudyGermanyAnna Fali PROPOSAL
Julie K ShinkoAustraliaElwin Sharvill NEW
Costa Y MorascaUnited KingdomIoni Bowcher NEGOTIATION
Izzy Q WaycottRussiaAmy Elsner PROPOSAL
Jones N WhobreyItalyIoni Bowcher QUALIFIED
Mujtaba D VocelkaGermanyXuxue Feng QUALIFIED
Stacey C InouyeRussiaAmy Elsner NEGOTIATION
Silvio P VocelkaBrazilAnna Fali RENEWAL
Aditya W MarrierSpainElwin Sharvill NEW
Faith X StockhamIndiaAmy Elsner NEGOTIATION
Leja E WhobreyFranceAnna Fali NEGOTIATION
Juan W VenereGermanyStephen Shaw NEW
Darci C SergiJapanElwin Sharvill QUALIFIED
Kadeem M GarufiUnited KingdomBernardo Dominic NEGOTIATION
Tony Q GlickItalyAsiya Javayant QUALIFIED
Cody S RoysterSpainStephen Shaw PROPOSAL
Misaki G SchemmerCanadaIoni Bowcher QUALIFIED
Mayumi X CaudyBrazilXuxue Feng PROPOSAL
Leja P ChuiFranceXuxue Feng NEGOTIATION
Claire P IturbideRussiaOnyama Limba NEW
Jennifer O DarakjyFranceAsiya Javayant QUALIFIED
Wickens W MaletSpainBernardo Dominic NEGOTIATION
Jennifer P GauchoBrazilBernardo Dominic UNQUALIFIED
Faith L AlbaresFranceBernardo Dominic NEW
Sinclair I BowleyBrazilIoni Bowcher UNQUALIFIED
Tony C ChuiSpainAnna Fali PROPOSAL
Mayumi C MarrierItalyIvan Magalhaes PROPOSAL
Silvio V KolmetzItalyAmy Elsner PROPOSAL
Wickens W PerinGermanyAmy Elsner UNQUALIFIED
James D PaprockiJapanElwin Sharvill NEW
David D GlickArgentinaBernardo Dominic PROPOSAL
Claire T CampainUnited KingdomIoni Bowcher PROPOSAL
Silvio C PerinAustraliaOnyama Limba NEGOTIATION
Aika U OldroydRussiaOnyama Limba QUALIFIED
Kadeem T SaylorsJapanXuxue Feng PROPOSAL
Murillo P InouyeArgentinaStephen Shaw QUALIFIED
Jeanfrancois U TollnerUnited KingdomElwin Sharvill UNQUALIFIED
Julie G PaprockiItalyStephen Shaw NEW
Kadeem J FollerFranceElwin Sharvill PROPOSAL
Munro B RulapaughBrazilIoni Bowcher NEW
Misaki W CaudyJapanAnna Fali PROPOSAL
Francesco B SaylorsIndiaIoni Bowcher UNQUALIFIED
Aditya X KuskoAustraliaElwin Sharvill NEGOTIATION
Clifford H RulapaughIndiaIoni Bowcher RENEWAL
Ivar B WaycottGermanyIoni Bowcher RENEWAL
Frozen Columns
Name
Jeanfrancois L Darakjy
Isabel Q Bolognia
Jeanfrancois X Ferencz
Julie O Bowley
Maria I Venere
Leja F Rim
Silvio Y Paprocki
Silvio R Wieser
Leja X Kolmetz
Kadeem T Flosi
Murillo Y Bowley
Jeanfrancois M Amigon
Isabel R Chui
Julie S Malet
Rodrigues L Maclead
Antonio P Malet
Clifford A Sergi
Jefferson G Shinko
Emily V Albares
Juan Y Shinko
Antonio W Albares
Darci J Ferencz
Ashley L Butt
Isabel Z Gaucho
Darci Z Foller
Adams J Iturbide
Ashley K Glick
Greenwood L Morasca
Misaki U Stockham
Sinclair U Nestle
Murillo S Kusko
Munro R Kolmetz
Isabel K Inouye
Juan A Doe
Octavia M Schemmer
Ivar C Waycott
James D Bolognia
Juan G Venere
Morrow R Waycott
Aika X Maclead
Ricardo I Perin
Stacey Y Stockham
Adams D Malet
Morrow O Garufi
Ricardo J Malet
Costa D Bolognia
Mujtaba J Kusko
Cody Y Glick
Francesco O Foller
Faith X Nicka
IdCountryDate
1000France2025-06-07
1001Germany2025-06-07
1002India2025-06-05
1003Brazil2025-05-29
1004Italy2025-05-28
1005India2025-06-15
1006Spain2025-06-08
1007Italy2025-06-07
1008Japan2025-06-01
1009France2025-05-26
1010Spain2025-06-16
1011Italy2025-05-19
1012Argentina2025-05-25
1013India2025-05-19
1014Japan2025-05-18
1015Canada2025-05-24
1016Japan2025-05-28
1017Japan2025-05-25
1018France2025-06-02
1019Brazil2025-06-13
1020India2025-06-02
1021Brazil2025-05-28
1022France2025-05-28
1023France2025-05-24
1024Spain2025-05-28
1025United Kingdom2025-06-02
1026Australia2025-05-23
1027France2025-05-25
1028India2025-06-07
1029France2025-06-06
1030Argentina2025-06-04
1031Germany2025-05-26
1032Russia2025-06-14
1033Australia2025-05-27
1034Germany2025-06-11
1035Japan2025-05-25
1036United Kingdom2025-06-01
1037United Kingdom2025-05-22
1038India2025-05-31
1039Argentina2025-06-02
1040Italy2025-05-29
1041United Kingdom2025-05-20
1042United Kingdom2025-06-03
1043United Kingdom2025-06-06
1044Australia2025-06-08
1045Canada2025-06-03
1046Argentina2025-06-16
1047United Kingdom2025-05-21
1048India2025-05-18
1049Argentina2025-06-14

On-Demand Data

NameIdCountryDate
Ivar F Poquette1000United Kingdom2025-05-18
Misaki E Morasca1001France2025-06-16
Jefferson Q Morasca1002United Kingdom2025-05-28
Tony H Briddick1003France2025-05-23
Claire J Kolmetz1004Australia2025-05-28
Maisha X Briddick1005Argentina2025-06-08
Izzy B Wieser1006Germany2025-05-31
Claire D Stenseth1007Brazil2025-05-24
Greenwood X Perin1008India2025-05-30
Kaitlin O Kusko1009India2025-05-22
Murillo D Gillian1010Germany2025-06-05
Smith U Oldroyd1011Japan2025-06-02
Jones L Slusarski1012Canada2025-05-27
Maisha B Slusarski1013India2025-06-10
Misaki P Saylors1014Canada2025-05-29
Misaki L Butt1015Germany2025-06-04
Jeanfrancois J Garufi1016France2025-05-23
Smith D Gaucho1017Italy2025-05-24
Julie Z Albares1018France2025-05-25
Nicolas S Morasca1019Argentina2025-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin V WhobreyIndiaIoni Bowcher NEGOTIATION
Ashley H KuskoJapanBernardo Dominic NEW
Faith Y FollerFranceAmy Elsner PROPOSAL
Jefferson S KolmetzFranceIvan Magalhaes RENEWAL
Kaitlin A GlickJapanAmy Elsner NEW
Murillo Y InouyeJapanAnna Fali QUALIFIED
Mujtaba R NickaFranceOnyama Limba QUALIFIED
Isabel T SaylorsRussiaAnna Fali PROPOSAL
Nicolas W RutaFranceStephen Shaw PROPOSAL
Mujtaba Z MarrierArgentinaIvan Magalhaes UNQUALIFIED
Tony R KuskoSpainBernardo Dominic QUALIFIED
Costa E FigeroaRussiaStephen Shaw RENEWAL
Jeanfrancois M ButtFranceOnyama Limba NEW
Antonio M MaletSpainIvan Magalhaes QUALIFIED
Tony Q StensethUnited KingdomXuxue Feng UNQUALIFIED
Aruna Y KolmetzBrazilElwin Sharvill NEW
Misaki M AlbaresCanadaAsiya Javayant NEW
Aditya M StensethGermanyXuxue Feng NEW
Jones Q ShinkoItalyOnyama Limba PROPOSAL
Alejandro K FlosiFranceIoni Bowcher UNQUALIFIED
Tony C PaprockiCanadaAsiya Javayant NEW
Jennifer S NestleArgentinaBernardo Dominic UNQUALIFIED
Chavez N AlbaresGermanyAsiya Javayant QUALIFIED
Munro C MorascaRussiaElwin Sharvill UNQUALIFIED
Rodrigues F PoquetteUnited KingdomIvan Magalhaes RENEWAL
Julie C GauchoUnited KingdomAsiya Javayant UNQUALIFIED
Murillo S CaudyCanadaXuxue Feng UNQUALIFIED
Jefferson J AlbaresSpainOnyama Limba RENEWAL
Greenwood D BologniaAustraliaIoni Bowcher PROPOSAL
Claire H InouyeGermanyAsiya Javayant NEGOTIATION
Misaki A RimUnited KingdomElwin Sharvill RENEWAL
Adams P ShinkoBrazilAmy Elsner RENEWAL
Julie E IturbideUnited KingdomAnna Fali QUALIFIED
Greenwood Y OstroskyItalyIvan Magalhaes PROPOSAL
Leja H OstroskyIndiaIvan Magalhaes UNQUALIFIED
Costa E InouyeSpainAsiya Javayant QUALIFIED
Rodrigues Q KolmetzFranceIoni Bowcher PROPOSAL
Rodrigues F SlusarskiJapanAsiya Javayant UNQUALIFIED
Sinclair B FigeroaItalyXuxue Feng UNQUALIFIED
Aika J DarakjySpainAnna 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>