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 C NestleJapanIoni Bowcher NEGOTIATION
Salvatore Q PerinCanadaAsiya Javayant UNQUALIFIED
Murillo N SlusarskiBrazilIoni Bowcher QUALIFIED
Ashley M FerenczUnited KingdomBernardo Dominic PROPOSAL
Kaitlin H DarakjyArgentinaElwin Sharvill NEW
Morrow W WaycottAustraliaBernardo Dominic UNQUALIFIED
Emily S NickaFranceIvan Magalhaes PROPOSAL
Juan Y ChuiBrazilIvan Magalhaes PROPOSAL
Julie L FerenczFranceXuxue Feng RENEWAL
Tony M TollnerBrazilIvan Magalhaes NEGOTIATION
Leja B GillianItalyAmy Elsner RENEWAL
Rodrigues P StensethAustraliaBernardo Dominic RENEWAL
Nicolas N BologniaJapanXuxue Feng PROPOSAL
Deepesh A VenereItalyIoni Bowcher RENEWAL
Salvatore L MaletAustraliaAnna Fali NEGOTIATION
Wickens P BriddickFranceXuxue Feng UNQUALIFIED
Adams Q SchemmerFranceAsiya Javayant NEGOTIATION
Aruna A StensethFranceAsiya Javayant NEW
Maisha W FlosiSpainAsiya Javayant UNQUALIFIED
Salvatore G DoeFranceXuxue Feng QUALIFIED
Greenwood F PoquetteAustraliaOnyama Limba NEW
David H CaudyArgentinaIvan Magalhaes QUALIFIED
Murillo M RoysterFranceAsiya Javayant NEGOTIATION
Jones Y WieserCanadaIoni Bowcher NEGOTIATION
Izzy I OldroydGermanyXuxue Feng NEGOTIATION
Alejandro G RoysterRussiaOnyama Limba NEW
Munro H TollnerUnited KingdomAnna Fali PROPOSAL
Costa Q MaletIndiaAnna Fali PROPOSAL
Maisha Z MarrierItalyIvan Magalhaes PROPOSAL
Smith I MaletFranceIoni Bowcher PROPOSAL
Jennifer N NickaIndiaAnna Fali NEW
Jeanfrancois D VocelkaIndiaIvan Magalhaes RENEWAL
Munro O MarrierSpainStephen Shaw UNQUALIFIED
Aika T NickaJapanIoni Bowcher PROPOSAL
Kadeem V NickaRussiaAmy Elsner QUALIFIED
Deepesh U FigeroaSpainAnna Fali PROPOSAL
Aditya O SaylorsGermanyXuxue Feng QUALIFIED
Sinclair Z MorascaGermanyAmy Elsner NEW
Smith W MaletCanadaIoni Bowcher QUALIFIED
Nicolas A PerinCanadaAnna Fali NEW
Leja A KolmetzIndiaAmy Elsner RENEWAL
Emily R CampainUnited KingdomIoni Bowcher QUALIFIED
Greenwood P RoysterCanadaAnna Fali PROPOSAL
Juan W FlosiAustraliaIoni Bowcher PROPOSAL
Alejandro W NestleItalyAmy Elsner NEW
James Z BriddickArgentinaAmy Elsner NEGOTIATION
Wickens T PaprockiItalyIvan Magalhaes RENEWAL
Francesco J PaprockiSpainBernardo Dominic UNQUALIFIED
Rodrigues S VocelkaRussiaAsiya Javayant PROPOSAL
Cody O DarakjySpainOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Misaki I DarakjyCanadaAsiya Javayant NEGOTIATION
Isabel D FollerArgentinaIvan Magalhaes NEW
Kadeem B GlickBrazilAmy Elsner NEGOTIATION
Aruna N ButtItalyOnyama Limba QUALIFIED
Francesco J WaycottArgentinaAsiya Javayant RENEWAL
Johnson A ButtItalyAnna Fali QUALIFIED
Octavia F AmigonRussiaAmy Elsner PROPOSAL
Octavia S MarrierGermanyAmy Elsner UNQUALIFIED
Kaitlin P BologniaJapanIvan Magalhaes QUALIFIED
Isabel Z CaldareraRussiaBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro T MorascaSpain2024-05-15Chemel, James L Cpa PROPOSAL45Asiya Javayant
1001Aika M GlickFrance2024-05-18Benton, John B Jr PROPOSAL38Elwin Sharvill
1002Jefferson I ButtArgentina2024-05-29Chapman, Ross E Esq NEGOTIATION76Elwin Sharvill
1003Cody D IturbideFrance2024-05-21Morlong Associates NEW93Amy Elsner
1004Wickens Q ChuiArgentina2024-05-20Feltz Printing Service UNQUALIFIED52Asiya Javayant
1005Izzy W DoeGermany2024-05-29Printing Dimensions QUALIFIED24Amy Elsner
1006Clifford V CaldareraGermany2024-05-13Rousseaux, Michael Esq NEW68Amy Elsner
1007Misaki S MarrierUnited Kingdom2024-05-05Feltz Printing Service PROPOSAL89Ioni Bowcher
1008Darci K GillianIndia2024-05-29Chemel, James L Cpa NEGOTIATION24Stephen Shaw
1009Aruna N PoquetteAustralia2024-06-02Dorl, James J Esq NEGOTIATION1Elwin Sharvill
1010Aditya X NickaJapan2024-06-02King, Christopher A Esq NEGOTIATION9Asiya Javayant
1011Deepesh V NestleGermany2024-05-15Printing Dimensions RENEWAL1Anna Fali
1012Wickens O FigeroaCanada2024-05-17Buckley Miller Wright UNQUALIFIED11Onyama Limba
1013Antonio R TollnerArgentina2024-05-14Truhlar And Truhlar Attys NEGOTIATION23Ivan Magalhaes
1014Adams F FerenczGermany2024-05-11Feiner Bros PROPOSAL84Ivan Magalhaes
1015Silvio V DilliardArgentina2024-05-18Dorl, James J Esq PROPOSAL62Ivan Magalhaes
1016Kaitlin E RimIndia2024-05-11Printing Dimensions QUALIFIED97Asiya Javayant
1017Aruna S BriddickRussia2024-06-02Printing Dimensions NEGOTIATION47Asiya Javayant
1018Ivar G GarufiItaly2024-05-22Truhlar And Truhlar Attys UNQUALIFIED36Asiya Javayant
1019Clifford Y TollnerJapan2024-05-06Commercial Press UNQUALIFIED28Bernardo Dominic
1020James S SaylorsRussia2024-05-12Morlong Associates NEW40Ioni Bowcher
1021Antonio Z InouyeCanada2024-05-17Benton, John B Jr RENEWAL44Ioni Bowcher
1022Leja G GlickAustralia2024-05-14Dorl, James J Esq NEW34Xuxue Feng
1023Ivar U WhobreyJapan2024-05-30Feiner Bros NEGOTIATION3Elwin Sharvill
1024Greenwood R GlickAustralia2024-06-01Chapman, Ross E Esq QUALIFIED27Elwin Sharvill
1025Stacey M RimUnited Kingdom2024-05-06Commercial Press NEGOTIATION38Ioni Bowcher
1026James B MorascaArgentina2024-05-20Feiner Bros NEW91Ivan Magalhaes
1027Mujtaba J FollerUnited Kingdom2024-05-24Chanay, Jeffrey A Esq UNQUALIFIED96Bernardo Dominic
1028Juan M RulapaughGermany2024-05-06Dorl, James J Esq RENEWAL54Ivan Magalhaes
1029Sinclair T FigeroaUnited Kingdom2024-06-03Truhlar And Truhlar Attys NEGOTIATION97Asiya Javayant
1030Johnson N InouyeBrazil2024-06-03King, Christopher A Esq NEGOTIATION24Asiya Javayant
1031Wickens M NestleUnited Kingdom2024-05-10Commercial Press PROPOSAL41Onyama Limba
1032Johnson F FigeroaIndia2024-05-20Chanay, Jeffrey A Esq NEW56Xuxue Feng
1033Johnson I OldroydJapan2024-05-16Dorl, James J Esq QUALIFIED48Elwin Sharvill
1034Misaki I OldroydArgentina2024-05-10King, Christopher A Esq PROPOSAL71Xuxue Feng
1035Alejandro Q NestleSpain2024-05-05Chapman, Ross E Esq UNQUALIFIED88Ioni Bowcher
1036Salvatore C StensethSpain2024-05-31Morlong Associates PROPOSAL9Onyama Limba
1037Ivar I VenereArgentina2024-05-30Truhlar And Truhlar Attys NEW73Asiya Javayant
1038Isabel U FollerCanada2024-05-25Feiner Bros QUALIFIED60Ioni Bowcher
1039Clifford R ShinkoSpain2024-05-24Dorl, James J Esq PROPOSAL89Amy Elsner
1040Ashley Q ShinkoUnited Kingdom2024-05-22Rangoni Of Florence UNQUALIFIED2Onyama Limba
1041Rodrigues E MacleadBrazil2024-05-23Rangoni Of Florence UNQUALIFIED71Ioni Bowcher
1042Antonio Q KolmetzBrazil2024-05-05Rangoni Of Florence NEGOTIATION31Xuxue Feng
1043Maisha E CampainCanada2024-05-20Truhlar And Truhlar Attys UNQUALIFIED25Amy Elsner
1044Deepesh P OldroydGermany2024-05-27Buckley Miller Wright NEGOTIATION1Anna Fali
1045Antonio Y PoquetteSpain2024-05-10Buckley Miller Wright QUALIFIED97Anna Fali
1046Jeanfrancois I PoquetteIndia2024-05-05Chapman, Ross E Esq UNQUALIFIED46Xuxue Feng
1047Maisha C OstroskyFrance2024-05-08Morlong Associates QUALIFIED1Xuxue Feng
1048Octavia J PerinBrazil2024-05-10Feltz Printing Service NEGOTIATION50Bernardo Dominic
1049Darci T PerinRussia2024-05-05Rousseaux, Michael Esq UNQUALIFIED2Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Munro Q FollerIndiaAsiya Javayant UNQUALIFIED
Maisha Y ButtItalyIvan Magalhaes UNQUALIFIED
Misaki W CampainFranceIoni Bowcher UNQUALIFIED
Julie H WhobreyGermanyBernardo Dominic RENEWAL
Aditya T CaldareraFranceOnyama Limba PROPOSAL
David V DarakjyCanadaIvan Magalhaes UNQUALIFIED
Chavez S FigeroaRussiaIoni Bowcher UNQUALIFIED
Julie T StockhamIndiaAmy Elsner UNQUALIFIED
Leon V OldroydFranceBernardo Dominic NEGOTIATION
Jeanfrancois F DarakjyItalyAmy Elsner NEW
Morrow O StockhamArgentinaXuxue Feng NEGOTIATION
Francesco U StensethRussiaElwin Sharvill NEW
Maisha K FigeroaArgentinaBernardo Dominic NEGOTIATION
Costa K MacleadUnited KingdomOnyama Limba NEW
Greenwood H MaletJapanElwin Sharvill QUALIFIED
Wickens U BowleyGermanyStephen Shaw RENEWAL
Mujtaba Q RulapaughJapanBernardo Dominic QUALIFIED
Alejandro R RutaCanadaAnna Fali QUALIFIED
Kaitlin B StockhamJapanAnna Fali NEW
Claire Z WhobreyRussiaBernardo Dominic QUALIFIED
Jeanfrancois C AlbaresUnited KingdomOnyama Limba PROPOSAL
Jennifer N SchemmerItalyAnna Fali NEGOTIATION
Alejandro X InouyeCanadaStephen Shaw NEW
Ricardo B MaletArgentinaBernardo Dominic UNQUALIFIED
Jennifer S RoysterGermanyAnna Fali QUALIFIED
Ivar M MorascaCanadaIoni Bowcher NEW
Juan A NickaRussiaAsiya Javayant UNQUALIFIED
Julie M NestleSpainAsiya Javayant NEW
Stacey P RimSpainXuxue Feng NEGOTIATION
Jefferson O GarufiArgentinaOnyama Limba NEGOTIATION
Darci M FlosiCanadaBernardo Dominic NEGOTIATION
Munro C AlbaresSpainOnyama Limba NEW
Costa E FollerGermanyIvan Magalhaes UNQUALIFIED
Ricardo P DilliardIndiaAnna Fali NEGOTIATION
Johnson F DoeArgentinaAmy Elsner PROPOSAL
Stacey O GlickBrazilIvan Magalhaes NEW
Ivar Q SergiBrazilOnyama Limba QUALIFIED
Aruna Z SergiCanadaXuxue Feng NEW
Antonio J MaletArgentinaAsiya Javayant NEGOTIATION
Silvio C MaletItalyIvan Magalhaes UNQUALIFIED
Isabel F OldroydArgentinaAsiya Javayant UNQUALIFIED
Wickens P RimGermanyXuxue Feng QUALIFIED
Stacey V SchemmerCanadaIvan Magalhaes UNQUALIFIED
Ricardo Q RulapaughIndiaElwin Sharvill UNQUALIFIED
Octavia W FigeroaFranceIvan Magalhaes PROPOSAL
Mayumi A NickaItalyAmy Elsner QUALIFIED
Clifford Z FollerArgentinaIvan Magalhaes UNQUALIFIED
Claire R BologniaFranceAnna Fali UNQUALIFIED
Claire S AmigonGermanyIvan Magalhaes QUALIFIED
Adams H CampainRussiaAsiya Javayant NEGOTIATION
Frozen Columns
Name
Izzy Q Wieser
Sinclair W Butt
Clifford Z Caldarera
Leja G Bowley
Leon S Flosi
Deepesh F Morasca
Stacey A Caudy
Ivar M Morasca
Leja O Chui
Maria P Oldroyd
Claire C Kolmetz
Izzy P Doe
Johnson N Figeroa
Claire Z Wieser
Kadeem F Vocelka
Ricardo K Darakjy
Adams Y Doe
Aruna U Royster
Misaki D Perin
Salvatore Y Iturbide
Costa C Paprocki
Silvio Y Royster
Octavia U Ferencz
Jones C Foller
Stacey B Dilliard
Juan Z Malet
Ricardo O Paprocki
Maria X Iturbide
Nicolas K Gillian
Leon P Stenseth
Rodrigues O Iturbide
Stacey S Amigon
Costa Z Doe
Jones C Figeroa
Nicolas D Dilliard
Mujtaba T Oldroyd
Isabel O Nestle
Alejandro T Glick
Kadeem P Perin
Isabel Z Iturbide
Julie Q Glick
Smith T Ruta
Ivar A Morasca
Silvio H Venere
Rodrigues N Iturbide
Cody N Royster
David Z Ferencz
Johnson L Oldroyd
Morrow T Darakjy
Mujtaba I Nicka
IdCountryDate
1000India2024-05-18
1001France2024-05-30
1002Australia2024-05-21
1003France2024-06-01
1004Germany2024-05-31
1005Australia2024-06-01
1006Germany2024-05-30
1007Australia2024-05-21
1008Australia2024-05-09
1009Japan2024-05-09
1010Italy2024-05-15
1011Brazil2024-05-29
1012Spain2024-05-16
1013Australia2024-05-17
1014Canada2024-05-05
1015Italy2024-05-20
1016United Kingdom2024-05-31
1017Spain2024-05-21
1018United Kingdom2024-05-25
1019Germany2024-05-09
1020Argentina2024-05-19
1021Germany2024-05-24
1022Brazil2024-05-25
1023Russia2024-05-12
1024Argentina2024-05-24
1025Argentina2024-05-17
1026Brazil2024-05-17
1027Germany2024-05-08
1028Brazil2024-05-20
1029Spain2024-05-26
1030France2024-05-23
1031Germany2024-06-01
1032Germany2024-05-05
1033Germany2024-05-07
1034Russia2024-05-29
1035Australia2024-05-31
1036Italy2024-05-27
1037Japan2024-05-26
1038France2024-05-31
1039Brazil2024-06-02
1040Canada2024-05-17
1041Spain2024-05-08
1042France2024-06-02
1043France2024-05-20
1044India2024-05-20
1045Italy2024-05-21
1046Italy2024-05-05
1047Canada2024-05-18
1048Australia2024-05-13
1049Germany2024-05-27

On-Demand Data

NameIdCountryDate
Faith L Vocelka1000Japan2024-05-06
Arvin Y Nicka1001Brazil2024-05-23
Maisha S Iturbide1002Australia2024-05-29
Clifford G Whobrey1003Japan2024-05-18
Mujtaba Z Oldroyd1004Italy2024-05-12
Mujtaba D Stockham1005Russia2024-06-01
Octavia O Inouye1006Germany2024-05-31
Rodrigues L Oldroyd1007Australia2024-05-23
Octavia F Waycott1008Australia2024-06-03
Jones I Whobrey1009India2024-05-29
Jones X Rulapaugh1010Spain2024-05-06
Jennifer O Gaucho1011United Kingdom2024-05-24
Emily D Campain1012Brazil2024-05-21
Ricardo A Vocelka1013Brazil2024-05-11
Deepesh L Nicka1014Russia2024-05-20
Tony B Garufi1015Canada2024-05-28
Kadeem L Stockham1016Japan2024-05-22
Tony F Flosi1017India2024-05-31
Misaki Z Rulapaugh1018United Kingdom2024-06-01
Alejandro W Flosi1019Russia2024-05-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Alejandro K TollnerSpainIvan Magalhaes NEGOTIATION
Alejandro Q CampainSpainIvan Magalhaes UNQUALIFIED
Francesco F PoquetteAustraliaAmy Elsner QUALIFIED
Salvatore O ShinkoAustraliaAsiya Javayant QUALIFIED
Sinclair I RimIndiaIoni Bowcher QUALIFIED
Misaki D GlickRussiaAsiya Javayant RENEWAL
Francesco R WhobreySpainAsiya Javayant PROPOSAL
Adams U MaletBrazilIoni Bowcher RENEWAL
Julie N MacleadIndiaElwin Sharvill RENEWAL
Ricardo J CaudyJapanStephen Shaw RENEWAL
Jennifer A BriddickAustraliaIoni Bowcher NEW
Salvatore T ChuiRussiaAsiya Javayant QUALIFIED
Johnson V RutaGermanyAnna Fali QUALIFIED
Johnson Y AmigonArgentinaXuxue Feng PROPOSAL
Darci B IturbideGermanyAmy Elsner PROPOSAL
Munro F RimIndiaElwin Sharvill NEGOTIATION
Antonio E WaycottArgentinaIoni Bowcher NEW
Jennifer U DarakjyCanadaIoni Bowcher NEW
Munro H RoysterCanadaElwin Sharvill NEW
Jeanfrancois Y GillianArgentinaXuxue Feng PROPOSAL
Misaki L VocelkaAustraliaXuxue Feng RENEWAL
Munro Y ButtBrazilAsiya Javayant QUALIFIED
Francesco C BologniaRussiaAsiya Javayant UNQUALIFIED
Mujtaba J OldroydJapanIvan Magalhaes NEGOTIATION
Cody D AmigonUnited KingdomXuxue Feng UNQUALIFIED
Mayumi L IturbideAustraliaAnna Fali RENEWAL
Jones T MaletSpainAnna Fali RENEWAL
Ricardo X ShinkoItalyBernardo Dominic NEGOTIATION
James D MaletIndiaBernardo Dominic QUALIFIED
Munro T ButtArgentinaXuxue Feng UNQUALIFIED
David R InouyeSpainElwin Sharvill PROPOSAL
Maisha O KolmetzBrazilStephen Shaw UNQUALIFIED
Chavez W MorascaFranceAnna Fali NEW
Jones E SchemmerSpainStephen Shaw NEW
Jennifer G OstroskyIndiaXuxue Feng NEGOTIATION
Juan A VenereArgentinaStephen Shaw UNQUALIFIED
Morrow P KolmetzArgentinaAsiya Javayant PROPOSAL
Mayumi U ShinkoAustraliaXuxue Feng QUALIFIED
Greenwood I MarrierAustraliaElwin Sharvill RENEWAL
Salvatore Q GarufiSpainXuxue Feng 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>