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
Maisha O IturbideRussiaElwin Sharvill QUALIFIED
Darci B SaylorsFranceIoni Bowcher NEW
Francesco V PaprockiCanadaAsiya Javayant RENEWAL
Ashley Z AmigonRussiaXuxue Feng NEW
Alejandro T InouyeFranceAmy Elsner UNQUALIFIED
Murillo L MaletGermanyAmy Elsner UNQUALIFIED
Smith O PerinJapanAsiya Javayant QUALIFIED
Adams D DoeGermanyIoni Bowcher NEW
Misaki P SlusarskiUnited KingdomAmy Elsner NEGOTIATION
Leon V DarakjyBrazilElwin Sharvill UNQUALIFIED
Kaitlin Y RimBrazilElwin Sharvill NEGOTIATION
Kaitlin H SchemmerIndiaIoni Bowcher UNQUALIFIED
Deepesh B PerinRussiaOnyama Limba NEW
Adams P PoquetteArgentinaOnyama Limba PROPOSAL
David F IturbideUnited KingdomAsiya Javayant RENEWAL
Mayumi F FlosiSpainAsiya Javayant NEW
Clifford R OstroskySpainOnyama Limba UNQUALIFIED
Ricardo M ShinkoGermanyAsiya Javayant QUALIFIED
Jefferson S StensethArgentinaAnna Fali NEGOTIATION
Kadeem O SergiUnited KingdomElwin Sharvill RENEWAL
Morrow U InouyeItalyElwin Sharvill UNQUALIFIED
Mayumi Q SergiJapanOnyama Limba NEW
Aruna A DilliardJapanIvan Magalhaes RENEWAL
Maisha C BriddickBrazilAmy Elsner RENEWAL
Sinclair V KuskoGermanyElwin Sharvill RENEWAL
Maria L GlickGermanyAnna Fali QUALIFIED
Munro Y GillianRussiaIoni Bowcher NEGOTIATION
Jennifer C KolmetzIndiaAsiya Javayant NEW
Jones W DoeUnited KingdomBernardo Dominic RENEWAL
Aika I FollerGermanyXuxue Feng NEW
Jefferson P MacleadJapanXuxue Feng QUALIFIED
Misaki T SlusarskiJapanAnna Fali PROPOSAL
Antonio W FigeroaRussiaStephen Shaw NEGOTIATION
Johnson F FerenczArgentinaXuxue Feng NEGOTIATION
Emily Y OldroydAustraliaIoni Bowcher NEW
Kadeem H AlbaresBrazilStephen Shaw PROPOSAL
Mujtaba X DoeArgentinaElwin Sharvill NEW
Kaitlin H ChuiGermanyIoni Bowcher RENEWAL
Misaki F BowleyCanadaAnna Fali NEW
Aika G SlusarskiBrazilXuxue Feng PROPOSAL
Adams G IturbideGermanyIvan Magalhaes NEGOTIATION
James C ButtItalyAnna Fali UNQUALIFIED
Octavia P MorascaUnited KingdomAnna Fali RENEWAL
Ricardo F TollnerArgentinaAnna Fali NEW
Johnson F BriddickIndiaIvan Magalhaes PROPOSAL
Rodrigues C MaletSpainAsiya Javayant NEGOTIATION
Smith W ButtRussiaOnyama Limba UNQUALIFIED
Francesco A WaycottJapanXuxue Feng NEW
Emily H FollerItalyIoni Bowcher RENEWAL
Jeanfrancois N OldroydFranceIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Misaki H OldroydFranceBernardo Dominic PROPOSAL
Arvin O BriddickGermanyAnna Fali NEGOTIATION
Adams W CaudyCanadaStephen Shaw RENEWAL
Ashley G MarrierArgentinaStephen Shaw NEW
Mayumi A VocelkaBrazilStephen Shaw PROPOSAL
Stacey X ChuiAustraliaAsiya Javayant RENEWAL
Salvatore N OstroskyAustraliaAsiya Javayant NEW
Tony J FigeroaGermanyIoni Bowcher RENEWAL
Jones C StensethUnited KingdomIvan Magalhaes RENEWAL
Kadeem T DarakjyGermanyElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci M SaylorsBrazil2026-07-08Rousseaux, Michael Esq RENEWAL86Xuxue Feng
1001Tony Q StensethJapan2026-07-21Feltz Printing Service NEW79Anna Fali
1002Chavez F KolmetzAustralia2026-07-01Rousseaux, Michael Esq UNQUALIFIED37Ivan Magalhaes
1003Juan B MaletSpain2026-06-29Chapman, Ross E Esq NEW29Ioni Bowcher
1004Ricardo C CaudyGermany2026-07-08Truhlar And Truhlar Attys QUALIFIED15Amy Elsner
1005Jeanfrancois U MarrierItaly2026-07-06Feiner Bros UNQUALIFIED31Stephen Shaw
1006Clifford T OldroydFrance2026-07-21Buckley Miller Wright RENEWAL65Ioni Bowcher
1007Mujtaba E BowleyFrance2026-06-30Printing Dimensions PROPOSAL36Ivan Magalhaes
1008Munro F StockhamItaly2026-07-23Chapman, Ross E Esq NEGOTIATION71Asiya Javayant
1009Mayumi M PerinGermany2026-07-07Dorl, James J Esq UNQUALIFIED82Ioni Bowcher
1010Alejandro C PoquetteGermany2026-07-02Chemel, James L Cpa NEGOTIATION71Anna Fali
1011Chavez W StockhamBrazil2026-07-14Buckley Miller Wright PROPOSAL22Asiya Javayant
1012Johnson S WhobreyGermany2026-07-11Morlong Associates NEW60Amy Elsner
1013Rodrigues M InouyeRussia2026-07-13Feiner Bros RENEWAL31Ioni Bowcher
1014Mayumi L AmigonSpain2026-07-02Chapman, Ross E Esq PROPOSAL41Stephen Shaw
1015Mujtaba R PoquetteGermany2026-07-07Dorl, James J Esq UNQUALIFIED82Asiya Javayant
1016Clifford C StensethAustralia2026-07-19Truhlar And Truhlar Attys QUALIFIED80Ivan Magalhaes
1017Leon E NestleRussia2026-07-14Truhlar And Truhlar Attys RENEWAL56Anna Fali
1018Kaitlin Z BriddickArgentina2026-07-19Commercial Press QUALIFIED23Bernardo Dominic
1019Ivar N DarakjyFrance2026-07-05Morlong Associates NEW27Xuxue Feng
1020Ricardo C RoysterAustralia2026-07-01Commercial Press PROPOSAL27Onyama Limba
1021Murillo Y PoquetteFrance2026-07-17Rangoni Of Florence NEW48Ioni Bowcher
1022Smith T RoysterItaly2026-07-25King, Christopher A Esq PROPOSAL0Asiya Javayant
1023Ashley F ButtIndia2026-07-20Chanay, Jeffrey A Esq QUALIFIED29Xuxue Feng
1024Smith D WieserGermany2026-07-11Chapman, Ross E Esq PROPOSAL43Amy Elsner
1025Chavez O FigeroaGermany2026-06-27Truhlar And Truhlar Attys UNQUALIFIED78Ioni Bowcher
1026Juan Q StensethCanada2026-07-12Rangoni Of Florence PROPOSAL30Bernardo Dominic
1027Faith R SchemmerIndia2026-06-27Chemel, James L Cpa NEGOTIATION85Ioni Bowcher
1028Morrow Y ShinkoIndia2026-06-30Truhlar And Truhlar Attys UNQUALIFIED65Ioni Bowcher
1029Francesco Y RoysterSpain2026-07-19Feltz Printing Service NEGOTIATION89Onyama Limba
1030Morrow J RimBrazil2026-07-02Dorl, James J Esq UNQUALIFIED17Onyama Limba
1031Mayumi M BriddickIndia2026-07-24Chemel, James L Cpa QUALIFIED89Bernardo Dominic
1032Claire V MaletArgentina2026-07-13King, Christopher A Esq NEW99Ivan Magalhaes
1033Jefferson V SergiItaly2026-07-09Printing Dimensions NEW3Xuxue Feng
1034Darci T WaycottItaly2026-06-29Printing Dimensions NEGOTIATION85Ivan Magalhaes
1035Alejandro K KolmetzCanada2026-07-10Chanay, Jeffrey A Esq NEGOTIATION13Asiya Javayant
1036Greenwood N DilliardUnited Kingdom2026-07-25Morlong Associates RENEWAL70Anna Fali
1037Morrow F PerinBrazil2026-06-29Feiner Bros NEW27Amy Elsner
1038Leja U KolmetzJapan2026-07-22Commercial Press RENEWAL53Ioni Bowcher
1039Chavez O BriddickArgentina2026-07-01Buckley Miller Wright UNQUALIFIED91Ivan Magalhaes
1040Leja V SergiAustralia2026-06-26Rangoni Of Florence QUALIFIED57Onyama Limba
1041Francesco B ButtGermany2026-07-22Buckley Miller Wright QUALIFIED48Onyama Limba
1042Johnson K ButtAustralia2026-06-26Chapman, Ross E Esq NEW13Elwin Sharvill
1043Kadeem X KolmetzUnited Kingdom2026-07-08Chapman, Ross E Esq NEW67Anna Fali
1044Aika H BologniaGermany2026-07-19Morlong Associates UNQUALIFIED13Amy Elsner
1045Aditya G CaldareraUnited Kingdom2026-06-27Rangoni Of Florence UNQUALIFIED77Elwin Sharvill
1046Maisha B MorascaFrance2026-07-09Commercial Press RENEWAL53Asiya Javayant
1047Emily U MarrierCanada2026-07-15Dorl, James J Esq RENEWAL44Asiya Javayant
1048Kadeem L SlusarskiAustralia2026-07-07Chanay, Jeffrey A Esq NEW62Elwin Sharvill
1049Salvatore B FerenczFrance2026-06-28Commercial Press PROPOSAL80Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jennifer H PaprockiAustraliaElwin Sharvill RENEWAL
Jennifer P WhobreyIndiaBernardo Dominic UNQUALIFIED
Mujtaba C MorascaBrazilOnyama Limba NEGOTIATION
Kaitlin E ShinkoBrazilIoni Bowcher QUALIFIED
Jennifer W FlosiAustraliaElwin Sharvill PROPOSAL
Leja Z RulapaughUnited KingdomAnna Fali PROPOSAL
Claire F FigeroaJapanStephen Shaw PROPOSAL
Mujtaba T WieserFranceOnyama Limba UNQUALIFIED
Francesco B BriddickGermanyAnna Fali QUALIFIED
Arvin Z DilliardArgentinaAsiya Javayant NEW
Darci N PaprockiIndiaAmy Elsner NEGOTIATION
Francesco K VenereSpainOnyama Limba RENEWAL
Emily A AmigonArgentinaStephen Shaw NEW
Salvatore D PerinJapanAmy Elsner RENEWAL
Aditya I GillianGermanyIoni Bowcher PROPOSAL
Kaitlin P SaylorsGermanyIvan Magalhaes QUALIFIED
Misaki M WhobreyBrazilOnyama Limba UNQUALIFIED
Costa J FigeroaAustraliaAnna Fali NEGOTIATION
Stacey B GillianSpainAmy Elsner PROPOSAL
Julie W CaudyAustraliaAmy Elsner RENEWAL
Maisha N IturbideSpainBernardo Dominic RENEWAL
James H MacleadItalyAsiya Javayant NEW
Maisha R TollnerJapanIoni Bowcher NEW
David E KolmetzUnited KingdomAsiya Javayant PROPOSAL
Jeanfrancois W CampainItalyXuxue Feng PROPOSAL
Jeanfrancois I SergiUnited KingdomXuxue Feng PROPOSAL
Mujtaba Q StensethRussiaIvan Magalhaes QUALIFIED
Emily K PerinBrazilStephen Shaw PROPOSAL
Aruna U OldroydSpainAmy Elsner NEGOTIATION
Antonio U VocelkaFranceIvan Magalhaes NEW
Salvatore D MarrierCanadaOnyama Limba NEW
Francesco C OldroydItalyOnyama Limba RENEWAL
Munro O FigeroaIndiaStephen Shaw NEW
Antonio L AmigonUnited KingdomIvan Magalhaes NEGOTIATION
Johnson V FerenczGermanyElwin Sharvill PROPOSAL
Ashley K SergiBrazilIvan Magalhaes PROPOSAL
Mujtaba T CaldareraUnited KingdomIoni Bowcher UNQUALIFIED
Aika U AmigonFranceBernardo Dominic NEW
Salvatore N SaylorsArgentinaBernardo Dominic NEGOTIATION
Izzy P KuskoArgentinaXuxue Feng NEGOTIATION
Smith Y ShinkoSpainBernardo Dominic PROPOSAL
Wickens T BologniaGermanyElwin Sharvill PROPOSAL
Maria P BowleyUnited KingdomAmy Elsner PROPOSAL
Stacey G PoquetteBrazilXuxue Feng NEW
Wickens M WieserSpainAmy Elsner UNQUALIFIED
Antonio T DilliardArgentinaAsiya Javayant PROPOSAL
Munro U BologniaJapanStephen Shaw PROPOSAL
Cody B KuskoBrazilAnna Fali PROPOSAL
Salvatore K IturbideAustraliaElwin Sharvill PROPOSAL
Francesco H PaprockiAustraliaAnna Fali UNQUALIFIED
Frozen Columns
Name
Clifford E Kolmetz
Aruna L Stockham
Ivar N Foller
Smith U Nestle
Emily H Schemmer
Aika O Wieser
Munro G Shinko
Adams Y Royster
Jones F Chui
Smith E Whobrey
Deepesh V Amigon
Mujtaba G Sergi
Ivar Y Gillian
Darci B Nestle
Claire K Tollner
Francesco H Briddick
Maria A Ferencz
Munro K Gillian
Octavia Y Doe
Ricardo O Maclead
Arvin Y Vocelka
Mujtaba U Ostrosky
Jefferson P Waycott
Salvatore B Tollner
Leja Q Flosi
Kadeem F Doe
Salvatore A Kusko
Julie C Sergi
James H Gillian
Ashley N Marrier
Jefferson Q Butt
James X Flosi
Ricardo D Gaucho
Wickens A Paprocki
Maria G Nicka
Maria M Marrier
Maria Z Figeroa
Morrow M Malet
Aditya Q Figeroa
Chavez J Wieser
Aika T Nestle
Francesco C Stockham
Juan K Maclead
Jeanfrancois S Stockham
Stacey X Bolognia
Claire K Figeroa
Octavia I Malet
Leon L Slusarski
Faith C Dilliard
Antonio A Perin
IdCountryDate
1000Canada2026-06-28
1001Russia2026-07-21
1002Australia2026-07-24
1003United Kingdom2026-07-09
1004France2026-07-07
1005Russia2026-07-12
1006Germany2026-07-09
1007Spain2026-06-28
1008Australia2026-06-30
1009Russia2026-07-02
1010Australia2026-07-23
1011Argentina2026-07-19
1012Australia2026-07-23
1013Germany2026-07-13
1014India2026-07-15
1015India2026-07-25
1016United Kingdom2026-06-27
1017Argentina2026-07-04
1018United Kingdom2026-07-19
1019Argentina2026-07-14
1020Spain2026-07-20
1021France2026-07-05
1022Argentina2026-06-29
1023Italy2026-07-05
1024Spain2026-07-15
1025Brazil2026-07-07
1026Russia2026-07-07
1027Russia2026-07-03
1028Brazil2026-07-21
1029Argentina2026-07-12
1030India2026-07-18
1031United Kingdom2026-07-03
1032Russia2026-06-29
1033Russia2026-06-29
1034France2026-07-19
1035Japan2026-07-06
1036France2026-07-12
1037Japan2026-07-24
1038Brazil2026-07-08
1039Russia2026-07-04
1040Germany2026-07-11
1041Argentina2026-07-18
1042Italy2026-07-20
1043Brazil2026-07-22
1044Brazil2026-07-10
1045France2026-07-21
1046Japan2026-07-06
1047Japan2026-07-01
1048Italy2026-07-17
1049France2026-07-22

On-Demand Data

NameIdCountryDate
Leja B Albares1000Germany2026-06-28
Wickens F Oldroyd1001France2026-07-18
Isabel Q Oldroyd1002Italy2026-06-28
James C Schemmer1003India2026-07-06
Chavez M Rulapaugh1004India2026-07-20
Aditya L Inouye1005Italy2026-07-19
Smith P Royster1006Japan2026-07-20
Stacey S Venere1007Australia2026-07-10
Greenwood W Glick1008Japan2026-07-21
Kadeem Z Stockham1009Spain2026-06-27
Smith B Wieser1010Canada2026-07-15
Octavia O Gaucho1011Italy2026-07-18
Isabel K Rulapaugh1012United Kingdom2026-07-13
Wickens U Shinko1013India2026-07-04
Morrow S Oldroyd1014Canada2026-06-26
Izzy X Bowley1015Argentina2026-07-25
Aika A Morasca1016Japan2026-07-25
Mayumi G Caldarera1017Australia2026-07-22
Sinclair R Figeroa1018Argentina2026-07-24
Octavia X Iturbide1019Japan2026-07-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika X ButtGermanyAsiya Javayant QUALIFIED
Cody I StockhamBrazilIvan Magalhaes UNQUALIFIED
Izzy B FerenczCanadaAmy Elsner PROPOSAL
Murillo J FlosiFranceAmy Elsner RENEWAL
Stacey Z GarufiBrazilElwin Sharvill NEW
Costa P WhobreyFranceElwin Sharvill RENEWAL
Mayumi Q RimSpainBernardo Dominic QUALIFIED
Jeanfrancois H GlickItalyXuxue Feng RENEWAL
Octavia K StockhamJapanElwin Sharvill QUALIFIED
Mujtaba N FerenczSpainBernardo Dominic UNQUALIFIED
Chavez O FlosiJapanIvan Magalhaes UNQUALIFIED
Morrow S PoquetteIndiaElwin Sharvill NEGOTIATION
Jefferson H VocelkaIndiaElwin Sharvill QUALIFIED
Wickens K RoysterCanadaOnyama Limba UNQUALIFIED
Costa B AmigonFranceElwin Sharvill NEGOTIATION
Leja I FlosiGermanyElwin Sharvill UNQUALIFIED
Tony M SaylorsSpainAsiya Javayant NEGOTIATION
Maisha R MarrierJapanAnna Fali NEGOTIATION
Jones B IturbideAustraliaAmy Elsner PROPOSAL
Francesco W RoysterUnited KingdomStephen Shaw PROPOSAL
Ashley R GillianCanadaIoni Bowcher QUALIFIED
Isabel H SergiSpainXuxue Feng RENEWAL
Isabel P OldroydUnited KingdomIoni Bowcher UNQUALIFIED
Juan J AmigonCanadaAsiya Javayant UNQUALIFIED
Cody W PoquetteBrazilOnyama Limba PROPOSAL
Mujtaba A BriddickUnited KingdomAmy Elsner RENEWAL
Adams J OldroydIndiaStephen Shaw QUALIFIED
Rodrigues C WhobreyArgentinaAmy Elsner PROPOSAL
Faith V FigeroaIndiaXuxue Feng QUALIFIED
Murillo N BriddickBrazilStephen Shaw NEGOTIATION
Stacey Q AlbaresAustraliaIvan Magalhaes QUALIFIED
Stacey W CaudySpainAmy Elsner RENEWAL
Octavia U IturbideItalyOnyama Limba NEGOTIATION
Clifford J BowleyUnited KingdomOnyama Limba NEGOTIATION
Clifford E IturbideItalyOnyama Limba NEW
Izzy O MorascaSpainXuxue Feng NEW
Claire Z WieserItalyStephen Shaw NEGOTIATION
James Y WieserAustraliaAnna Fali RENEWAL
Jennifer M OstroskyFranceElwin Sharvill RENEWAL
Smith W FollerFranceBernardo Dominic UNQUALIFIED

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