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
Rodrigues P FigeroaGermanyAmy Elsner UNQUALIFIED
Rodrigues O RimSpainElwin Sharvill NEW
Francesco S VenereBrazilIvan Magalhaes NEW
Rodrigues A MaletItalyIoni Bowcher NEGOTIATION
Aruna O RimIndiaBernardo Dominic RENEWAL
Francesco R OldroydArgentinaIoni Bowcher PROPOSAL
Morrow F BriddickJapanAnna Fali NEGOTIATION
Jennifer E BriddickGermanyElwin Sharvill NEGOTIATION
Misaki A SchemmerItalyIvan Magalhaes PROPOSAL
Kadeem W VenereRussiaIoni Bowcher QUALIFIED
Claire O GillianFranceAsiya Javayant QUALIFIED
Kadeem U SergiCanadaIoni Bowcher PROPOSAL
Sinclair R FerenczGermanyAnna Fali NEGOTIATION
Munro A FlosiGermanyIvan Magalhaes UNQUALIFIED
Sinclair Q NestleUnited KingdomIvan Magalhaes UNQUALIFIED
Greenwood U FollerRussiaAnna Fali QUALIFIED
Darci E SchemmerBrazilBernardo Dominic NEGOTIATION
Tony H StockhamFranceElwin Sharvill RENEWAL
Isabel P DoeBrazilXuxue Feng UNQUALIFIED
Jefferson E MarrierSpainXuxue Feng NEGOTIATION
Wickens C DoeUnited KingdomStephen Shaw UNQUALIFIED
Kadeem F WieserItalyIvan Magalhaes NEGOTIATION
Juan C CaldareraUnited KingdomBernardo Dominic PROPOSAL
Cody C RimCanadaOnyama Limba PROPOSAL
Maria I WhobreyIndiaXuxue Feng NEGOTIATION
Ricardo M OldroydJapanIoni Bowcher NEGOTIATION
Leon X FollerBrazilElwin Sharvill NEW
Aruna A GauchoItalyAsiya Javayant UNQUALIFIED
Mujtaba B GlickJapanAsiya Javayant NEGOTIATION
Morrow Z GauchoJapanAmy Elsner RENEWAL
Jefferson W StensethBrazilElwin Sharvill UNQUALIFIED
Greenwood P RimJapanBernardo Dominic NEGOTIATION
Deepesh B DoeAustraliaAsiya Javayant QUALIFIED
Alejandro W GarufiJapanAsiya Javayant UNQUALIFIED
Jones K WhobreyBrazilAmy Elsner NEGOTIATION
Mujtaba M DarakjyCanadaIoni Bowcher UNQUALIFIED
James U NickaJapanAsiya Javayant NEW
Adams Q WieserJapanIoni Bowcher QUALIFIED
Maria W WhobreyJapanOnyama Limba UNQUALIFIED
Cody W DilliardBrazilAmy Elsner NEW
Clifford M AlbaresAustraliaIvan Magalhaes NEW
Claire V CampainUnited KingdomXuxue Feng NEGOTIATION
Misaki R WaycottFranceAmy Elsner NEGOTIATION
Aika F GauchoAustraliaBernardo Dominic NEGOTIATION
Clifford D MaletFranceAsiya Javayant RENEWAL
Aika W VocelkaGermanyElwin Sharvill RENEWAL
Tony Q CaudyGermanyXuxue Feng NEGOTIATION
Nicolas K RimGermanyStephen Shaw RENEWAL
Aika H KolmetzItalyStephen Shaw UNQUALIFIED
Clifford W FlosiArgentinaAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Rodrigues P SlusarskiGermanyAmy Elsner NEGOTIATION
Ivar M BologniaBrazilAsiya Javayant NEW
Costa M SlusarskiRussiaElwin Sharvill PROPOSAL
Leja A IturbideJapanIoni Bowcher NEGOTIATION
Aika S NickaSpainAsiya Javayant UNQUALIFIED
Maria B PerinArgentinaStephen Shaw RENEWAL
Wickens Y StensethJapanIvan Magalhaes PROPOSAL
Arvin C FerenczCanadaIvan Magalhaes PROPOSAL
Alejandro F IturbideRussiaIvan Magalhaes NEGOTIATION
Deepesh N CampainArgentinaAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens F NestleGermany2024-05-27Commercial Press RENEWAL43Elwin Sharvill
1001Morrow J IturbideIndia2024-06-14Benton, John B Jr PROPOSAL40Bernardo Dominic
1002Ricardo K TollnerIndia2024-06-19Truhlar And Truhlar Attys NEW99Stephen Shaw
1003Sinclair T DoeItaly2024-05-28Rangoni Of Florence PROPOSAL41Elwin Sharvill
1004Aruna E NestleCanada2024-06-15King, Christopher A Esq QUALIFIED90Stephen Shaw
1005Claire J MarrierFrance2024-06-15Rousseaux, Michael Esq PROPOSAL67Anna Fali
1006Leon G DilliardAustralia2024-06-17Commercial Press PROPOSAL41Ivan Magalhaes
1007Morrow V NickaBrazil2024-06-08Rangoni Of Florence RENEWAL78Bernardo Dominic
1008Maria W NickaRussia2024-05-29Commercial Press QUALIFIED44Bernardo Dominic
1009Alejandro J BriddickFrance2024-06-01Rousseaux, Michael Esq NEGOTIATION2Ivan Magalhaes
1010Maria B MarrierArgentina2024-06-19Commercial Press RENEWAL49Ioni Bowcher
1011Claire H GillianUnited Kingdom2024-06-11King, Christopher A Esq PROPOSAL66Asiya Javayant
1012Darci E WieserRussia2024-06-01Rousseaux, Michael Esq PROPOSAL74Ioni Bowcher
1013Aruna G MaletUnited Kingdom2024-06-18Feiner Bros NEW74Onyama Limba
1014Sinclair P WieserSpain2024-06-16Morlong Associates UNQUALIFIED17Onyama Limba
1015Leon C CaldareraUnited Kingdom2024-06-06Buckley Miller Wright QUALIFIED5Ivan Magalhaes
1016Isabel A WaycottIndia2024-06-02King, Christopher A Esq PROPOSAL11Xuxue Feng
1017Ivar P MorascaGermany2024-06-20Feiner Bros PROPOSAL40Bernardo Dominic
1018Mayumi E NestleArgentina2024-06-06Rousseaux, Michael Esq QUALIFIED40Elwin Sharvill
1019Aditya O WhobreyRussia2024-06-16King, Christopher A Esq RENEWAL51Ivan Magalhaes
1020Stacey U FlosiJapan2024-06-23Commercial Press UNQUALIFIED92Stephen Shaw
1021Isabel A BologniaRussia2024-06-16Chanay, Jeffrey A Esq PROPOSAL41Bernardo Dominic
1022Tony E FlosiIndia2024-06-05Feltz Printing Service NEW94Bernardo Dominic
1023Silvio A BowleyUnited Kingdom2024-06-07Chemel, James L Cpa NEW58Elwin Sharvill
1024Sinclair D RimJapan2024-06-09Commercial Press UNQUALIFIED76Asiya Javayant
1025Emily Z BriddickCanada2024-06-05Dorl, James J Esq UNQUALIFIED69Ioni Bowcher
1026Claire E InouyeItaly2024-06-04Chapman, Ross E Esq RENEWAL57Asiya Javayant
1027Nicolas T MorascaUnited Kingdom2024-06-23Benton, John B Jr UNQUALIFIED14Amy Elsner
1028Morrow E BowleyGermany2024-06-07Rangoni Of Florence QUALIFIED78Xuxue Feng
1029Munro P GauchoCanada2024-06-07Rousseaux, Michael Esq NEGOTIATION93Elwin Sharvill
1030Mayumi O MarrierIndia2024-06-20Printing Dimensions NEGOTIATION51Anna Fali
1031Alejandro D WaycottBrazil2024-05-31Truhlar And Truhlar Attys NEGOTIATION6Anna Fali
1032Tony N VocelkaJapan2024-06-13Buckley Miller Wright NEW48Onyama Limba
1033Leja S WieserFrance2024-06-03Rousseaux, Michael Esq UNQUALIFIED35Elwin Sharvill
1034Deepesh I PerinItaly2024-05-26Feltz Printing Service PROPOSAL74Bernardo Dominic
1035Juan S FigeroaJapan2024-05-27Dorl, James J Esq RENEWAL43Amy Elsner
1036Misaki Z RimIndia2024-06-04Chemel, James L Cpa NEGOTIATION94Xuxue Feng
1037Jeanfrancois D CaudyItaly2024-06-19Printing Dimensions NEGOTIATION66Onyama Limba
1038Ricardo T WieserBrazil2024-06-03Commercial Press NEGOTIATION53Xuxue Feng
1039Izzy I CaudyArgentina2024-06-23Feiner Bros PROPOSAL75Xuxue Feng
1040Maisha A GarufiFrance2024-06-02Rangoni Of Florence NEGOTIATION18Onyama Limba
1041Isabel U OldroydSpain2024-05-29Printing Dimensions NEGOTIATION30Ivan Magalhaes
1042Leon P ShinkoUnited Kingdom2024-06-15Printing Dimensions RENEWAL62Asiya Javayant
1043Leja H FigeroaBrazil2024-06-09Chapman, Ross E Esq NEW62Anna Fali
1044Costa U AlbaresCanada2024-06-12Rangoni Of Florence PROPOSAL50Onyama Limba
1045Faith R MaletSpain2024-05-30Chanay, Jeffrey A Esq PROPOSAL13Ivan Magalhaes
1046Rodrigues N ChuiCanada2024-06-05Rangoni Of Florence NEGOTIATION13Stephen Shaw
1047Juan A WhobreyRussia2024-06-07Truhlar And Truhlar Attys PROPOSAL60Ioni Bowcher
1048Leja U DarakjySpain2024-06-20Printing Dimensions NEGOTIATION4Onyama Limba
1049Octavia K PerinFrance2024-06-17Feltz Printing Service PROPOSAL79Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Salvatore Q StockhamFranceAnna Fali UNQUALIFIED
Kaitlin V InouyeFranceIvan Magalhaes UNQUALIFIED
Rodrigues L RoysterJapanStephen Shaw RENEWAL
Faith Q DarakjyAustraliaAmy Elsner NEGOTIATION
Ricardo W IturbideArgentinaAmy Elsner PROPOSAL
Johnson P FollerJapanXuxue Feng NEW
Misaki M ShinkoSpainIvan Magalhaes UNQUALIFIED
Leon L FlosiAustraliaIvan Magalhaes QUALIFIED
Clifford G IturbideJapanStephen Shaw NEGOTIATION
Jeanfrancois F FigeroaRussiaXuxue Feng NEGOTIATION
Aditya D InouyeJapanAnna Fali NEW
Kadeem C AlbaresArgentinaIvan Magalhaes PROPOSAL
Maria S FollerBrazilOnyama Limba PROPOSAL
Antonio G MarrierRussiaIoni Bowcher UNQUALIFIED
Aika K KuskoSpainAsiya Javayant QUALIFIED
Morrow W ShinkoBrazilAsiya Javayant NEGOTIATION
Francesco H FigeroaRussiaOnyama Limba UNQUALIFIED
Ashley Y StockhamBrazilAnna Fali NEW
Ricardo M DoeJapanAsiya Javayant NEGOTIATION
Stacey U FlosiArgentinaIvan Magalhaes RENEWAL
Izzy M CaudyCanadaAsiya Javayant NEGOTIATION
Mujtaba Q PerinSpainAnna Fali NEW
Leja M OstroskyRussiaIvan Magalhaes NEW
Aruna G PerinUnited KingdomIvan Magalhaes PROPOSAL
Maisha A GlickGermanyStephen Shaw UNQUALIFIED
James X WaycottAustraliaAsiya Javayant RENEWAL
Ivar V DoeIndiaBernardo Dominic RENEWAL
Francesco A SchemmerCanadaAsiya Javayant UNQUALIFIED
Cody E VocelkaCanadaOnyama Limba UNQUALIFIED
Aditya I IturbideFranceBernardo Dominic UNQUALIFIED
Morrow V GarufiJapanBernardo Dominic NEW
Jones D MaletArgentinaElwin Sharvill QUALIFIED
Morrow D SlusarskiRussiaIvan Magalhaes RENEWAL
Rodrigues F NickaUnited KingdomXuxue Feng PROPOSAL
Silvio K GarufiAustraliaBernardo Dominic NEGOTIATION
Kaitlin F GlickJapanAnna Fali RENEWAL
Deepesh T RutaIndiaOnyama Limba PROPOSAL
Cody V WieserArgentinaAmy Elsner UNQUALIFIED
Tony D FerenczBrazilAsiya Javayant NEGOTIATION
Faith S ButtItalyOnyama Limba NEW
Ivar Y ButtIndiaBernardo Dominic NEW
Leja W RulapaughGermanyIvan Magalhaes QUALIFIED
Chavez I PoquetteCanadaAnna Fali QUALIFIED
Izzy H NestleBrazilAmy Elsner NEGOTIATION
Francesco A CaldareraBrazilAmy Elsner RENEWAL
Kadeem Q SaylorsRussiaIoni Bowcher UNQUALIFIED
Arvin I CaudyRussiaIvan Magalhaes NEW
Jones E NickaBrazilAmy Elsner NEW
Smith C SlusarskiIndiaOnyama Limba PROPOSAL
Leon C GillianJapanXuxue Feng UNQUALIFIED
Frozen Columns
Name
Alejandro W Wieser
Salvatore Z Foller
James C Albares
Rodrigues R Royster
Chavez A Whobrey
David K Venere
Juan B Nestle
Jeanfrancois P Albares
Murillo Y Malet
Jeanfrancois K Malet
Cody T Gillian
Jones K Ostrosky
Leon K Darakjy
James N Rim
Costa E Ostrosky
Darci N Poquette
Antonio Q Garufi
Adams Q Kolmetz
Emily X Flosi
Maria L Paprocki
Costa Y Kusko
Kaitlin R Rulapaugh
Darci R Gillian
Jennifer I Amigon
Cody I Darakjy
Tony L Ruta
Munro B Maclead
Darci C Amigon
Arvin V Royster
Aruna M Vocelka
Munro H Whobrey
Julie P Albares
Misaki N Poquette
Aruna P Shinko
Ricardo R Ostrosky
Juan I Nestle
Chavez M Iturbide
Izzy E Whobrey
Munro M Vocelka
Mayumi K Campain
Murillo D Nestle
Octavia N Paprocki
Mujtaba I Ferencz
Octavia D Caudy
Julie L Dilliard
Kaitlin K Albares
Aruna K Whobrey
Misaki L Whobrey
Tony V Albares
Jones L Nestle
IdCountryDate
1000Italy2024-06-03
1001Argentina2024-06-23
1002Russia2024-05-29
1003Australia2024-06-23
1004Japan2024-06-18
1005Argentina2024-06-24
1006Argentina2024-06-07
1007India2024-05-30
1008Russia2024-05-31
1009France2024-06-22
1010Australia2024-05-30
1011United Kingdom2024-06-21
1012Japan2024-06-02
1013Australia2024-06-10
1014United Kingdom2024-05-26
1015Japan2024-06-24
1016Australia2024-05-31
1017Germany2024-06-24
1018France2024-06-19
1019Spain2024-06-18
1020Australia2024-06-22
1021Brazil2024-06-14
1022Canada2024-06-22
1023Italy2024-05-26
1024United Kingdom2024-06-10
1025India2024-05-27
1026United Kingdom2024-06-23
1027Spain2024-06-05
1028Italy2024-06-04
1029Japan2024-06-19
1030France2024-06-08
1031Japan2024-06-15
1032Canada2024-06-22
1033Italy2024-05-27
1034Brazil2024-06-11
1035Canada2024-05-27
1036Italy2024-06-07
1037Canada2024-05-29
1038Australia2024-06-06
1039Brazil2024-06-16
1040Canada2024-06-01
1041Italy2024-06-07
1042India2024-06-23
1043Spain2024-06-09
1044Germany2024-06-22
1045Japan2024-06-21
1046India2024-06-04
1047Japan2024-06-10
1048India2024-05-27
1049United Kingdom2024-05-27

On-Demand Data

NameIdCountryDate
Deepesh S Amigon1000Canada2024-05-27
Arvin Y Campain1001Germany2024-05-28
Aika N Gillian1002Spain2024-05-26
Octavia E Malet1003Argentina2024-06-24
Munro P Ruta1004Brazil2024-06-04
Smith I Garufi1005Canada2024-06-19
Ashley D Royster1006Australia2024-06-05
Maria P Malet1007Spain2024-06-15
Nicolas G Caldarera1008Japan2024-06-19
Costa M Rulapaugh1009Germany2024-06-19
Deepesh V Gillian1010Brazil2024-05-26
Ashley Q Ostrosky1011India2024-06-11
Nicolas X Inouye1012India2024-06-24
Sinclair C Chui1013Japan2024-06-04
David K Royster1014Canada2024-06-24
Ricardo D Gillian1015Germany2024-06-05
Deepesh P Nestle1016Brazil2024-06-14
Morrow M Flosi1017Germany2024-06-14
Maria Z Doe1018Japan2024-05-30
Aika X Foller1019Australia2024-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson N ShinkoCanadaIvan Magalhaes RENEWAL
Mujtaba C MaletFranceXuxue Feng NEGOTIATION
Jennifer W IturbideSpainXuxue Feng NEGOTIATION
Clifford V CaudyGermanyXuxue Feng UNQUALIFIED
Maisha N MaletCanadaAsiya Javayant QUALIFIED
Greenwood T MacleadBrazilAsiya Javayant UNQUALIFIED
Costa S VocelkaUnited KingdomIoni Bowcher PROPOSAL
Mayumi Q InouyeJapanIvan Magalhaes UNQUALIFIED
Jones E SchemmerSpainIvan Magalhaes PROPOSAL
Johnson H OldroydBrazilXuxue Feng NEGOTIATION
Jennifer N TollnerItalyStephen Shaw PROPOSAL
Julie U DoeGermanyXuxue Feng PROPOSAL
Deepesh N KolmetzArgentinaAmy Elsner RENEWAL
Jeanfrancois Q SaylorsUnited KingdomAmy Elsner QUALIFIED
Morrow Q AmigonIndiaOnyama Limba UNQUALIFIED
Adams E SlusarskiBrazilBernardo Dominic RENEWAL
Rodrigues Z CaudyRussiaIoni Bowcher NEGOTIATION
Stacey K InouyeItalyBernardo Dominic NEGOTIATION
Deepesh F GarufiGermanyStephen Shaw PROPOSAL
Francesco T RimFranceXuxue Feng UNQUALIFIED
Leja N SergiIndiaAmy Elsner NEGOTIATION
Costa V BriddickFranceBernardo Dominic PROPOSAL
Costa I WaycottItalyAsiya Javayant NEW
David L NestleGermanyBernardo Dominic RENEWAL
Johnson R GillianIndiaBernardo Dominic PROPOSAL
Antonio W RimFranceAmy Elsner NEW
Emily R RutaCanadaIvan Magalhaes NEW
Kadeem N GauchoAustraliaAmy Elsner NEGOTIATION
Morrow X WieserRussiaIoni Bowcher PROPOSAL
Aditya A IturbideBrazilXuxue Feng NEGOTIATION
Smith O WhobreyAustraliaAnna Fali QUALIFIED
Leon R MaletBrazilIoni Bowcher PROPOSAL
Clifford R AlbaresRussiaXuxue Feng NEW
Morrow R FlosiItalyElwin Sharvill PROPOSAL
Ricardo U BowleyRussiaAnna Fali NEW
Jefferson B MorascaAustraliaElwin Sharvill QUALIFIED
Aruna B PerinGermanyAmy Elsner QUALIFIED
Aika V PaprockiAustraliaAmy Elsner UNQUALIFIED
Kadeem G StensethAustraliaBernardo Dominic UNQUALIFIED
Salvatore J InouyeGermanyAnna Fali 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>