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
Stacey A FerenczItalyElwin Sharvill NEGOTIATION
Leja I WaycottRussiaElwin Sharvill NEW
Emily N ShinkoRussiaBernardo Dominic PROPOSAL
Emily V DarakjyFranceAsiya Javayant RENEWAL
Leon H SchemmerUnited KingdomIoni Bowcher PROPOSAL
Misaki Q RimArgentinaIvan Magalhaes NEW
Wickens N NestleGermanyStephen Shaw UNQUALIFIED
Stacey H DoeBrazilStephen Shaw QUALIFIED
Nicolas B PoquetteJapanStephen Shaw PROPOSAL
Ricardo E MorascaSpainStephen Shaw RENEWAL
Jefferson S MacleadIndiaElwin Sharvill NEW
Izzy S PaprockiIndiaAsiya Javayant NEW
Mayumi L MacleadJapanAnna Fali PROPOSAL
Maisha G SlusarskiBrazilElwin Sharvill NEGOTIATION
Murillo R AlbaresRussiaXuxue Feng UNQUALIFIED
Ricardo R PerinAustraliaAsiya Javayant NEW
Arvin P MaletIndiaStephen Shaw NEGOTIATION
Jones U DoeRussiaAsiya Javayant RENEWAL
Jefferson O FlosiSpainAnna Fali NEGOTIATION
Stacey O FollerItalyElwin Sharvill QUALIFIED
Silvio L BowleyRussiaXuxue Feng NEGOTIATION
Smith R DarakjyIndiaAnna Fali PROPOSAL
Silvio V GillianItalyIvan Magalhaes PROPOSAL
Isabel L ButtCanadaElwin Sharvill NEGOTIATION
Ricardo Y VenereSpainElwin Sharvill PROPOSAL
Aika W VocelkaCanadaStephen Shaw UNQUALIFIED
Octavia Q ChuiSpainXuxue Feng RENEWAL
Jefferson W KolmetzJapanOnyama Limba NEW
Salvatore X PoquetteItalyAsiya Javayant UNQUALIFIED
Aruna I TollnerJapanOnyama Limba UNQUALIFIED
Clifford O BologniaCanadaAnna Fali NEGOTIATION
Stacey F WieserUnited KingdomOnyama Limba RENEWAL
Antonio W FigeroaSpainElwin Sharvill QUALIFIED
Mujtaba F IturbideIndiaXuxue Feng QUALIFIED
Aditya U ButtArgentinaAnna Fali UNQUALIFIED
Ashley V DilliardGermanyOnyama Limba UNQUALIFIED
Juan T InouyeArgentinaBernardo Dominic NEGOTIATION
Leon N DilliardFranceOnyama Limba NEW
Antonio U FollerUnited KingdomAsiya Javayant RENEWAL
Sinclair S CampainFranceAnna Fali UNQUALIFIED
Sinclair A MarrierGermanyElwin Sharvill RENEWAL
Mujtaba O GlickIndiaAnna Fali PROPOSAL
Misaki E PerinUnited KingdomAmy Elsner PROPOSAL
Rodrigues H BologniaGermanyAnna Fali PROPOSAL
Jones A MacleadGermanyAsiya Javayant UNQUALIFIED
Deepesh G VenereArgentinaStephen Shaw NEGOTIATION
Smith N RoysterAustraliaStephen Shaw UNQUALIFIED
Ricardo D InouyeItalyAmy Elsner NEW
Jennifer M MaletAustraliaElwin Sharvill NEW
Aruna X KuskoIndiaIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Mayumi Y StockhamItalyOnyama Limba PROPOSAL
Aditya Q DarakjyBrazilBernardo Dominic RENEWAL
Deepesh L MacleadIndiaIvan Magalhaes UNQUALIFIED
Wickens L BriddickFranceAnna Fali NEGOTIATION
Johnson N PoquetteJapanElwin Sharvill NEW
Adams N PaprockiJapanIoni Bowcher RENEWAL
Morrow U DoeBrazilOnyama Limba UNQUALIFIED
Darci P FlosiFranceAsiya Javayant PROPOSAL
Kaitlin Y DarakjyItalyOnyama Limba RENEWAL
Morrow G RutaSpainElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez B WieserRussia2025-04-25Chapman, Ross E Esq RENEWAL4Ioni Bowcher
1001Greenwood J GlickFrance2025-04-10Printing Dimensions RENEWAL58Xuxue Feng
1002Jefferson U NickaJapan2025-04-13Rousseaux, Michael Esq QUALIFIED88Elwin Sharvill
1003Maria Q WieserJapan2025-04-22Commercial Press NEW63Anna Fali
1004Francesco C WhobreyGermany2025-04-14Dorl, James J Esq UNQUALIFIED12Anna Fali
1005Jennifer W IturbideAustralia2025-04-22Buckley Miller Wright UNQUALIFIED90Bernardo Dominic
1006Aditya I ChuiItaly2025-04-13Rousseaux, Michael Esq NEGOTIATION43Xuxue Feng
1007Jefferson A VocelkaJapan2025-04-20Commercial Press PROPOSAL50Ioni Bowcher
1008David C RoysterFrance2025-04-24Feiner Bros PROPOSAL65Xuxue Feng
1009Julie S ShinkoAustralia2025-04-22Buckley Miller Wright RENEWAL54Anna Fali
1010Faith I VocelkaItaly2025-04-13King, Christopher A Esq NEW60Asiya Javayant
1011Aditya Z WieserCanada2025-04-12Printing Dimensions RENEWAL36Anna Fali
1012Maria A PaprockiUnited Kingdom2025-04-13Dorl, James J Esq UNQUALIFIED4Elwin Sharvill
1013Kadeem H StensethRussia2025-04-26Buckley Miller Wright QUALIFIED51Xuxue Feng
1014Julie V TollnerGermany2025-05-07Printing Dimensions QUALIFIED45Ioni Bowcher
1015Salvatore V StensethItaly2025-05-04Rangoni Of Florence RENEWAL88Ivan Magalhaes
1016James D ButtItaly2025-04-13Rangoni Of Florence PROPOSAL2Ivan Magalhaes
1017Jennifer F PaprockiCanada2025-05-05Rangoni Of Florence RENEWAL95Ioni Bowcher
1018Jones Q ChuiSpain2025-04-14Rangoni Of Florence PROPOSAL24Ivan Magalhaes
1019Emily U PerinIndia2025-04-10Chemel, James L Cpa UNQUALIFIED23Xuxue Feng
1020Maria E BologniaFrance2025-04-11King, Christopher A Esq NEGOTIATION49Amy Elsner
1021Ashley L DilliardSpain2025-04-17Chemel, James L Cpa QUALIFIED55Anna Fali
1022Murillo B BowleyGermany2025-04-09Buckley Miller Wright UNQUALIFIED56Ivan Magalhaes
1023Jeanfrancois X PerinBrazil2025-04-09Morlong Associates UNQUALIFIED60Bernardo Dominic
1024Greenwood F GillianSpain2025-05-05Buckley Miller Wright QUALIFIED34Asiya Javayant
1025James X StensethUnited Kingdom2025-04-15Commercial Press RENEWAL65Stephen Shaw
1026Leja G WieserArgentina2025-05-08Rangoni Of Florence PROPOSAL24Onyama Limba
1027Kadeem S BologniaItaly2025-04-27Rangoni Of Florence PROPOSAL11Elwin Sharvill
1028Aika R GlickJapan2025-05-03Feiner Bros UNQUALIFIED89Bernardo Dominic
1029Ivar E PoquetteSpain2025-04-30King, Christopher A Esq NEGOTIATION99Ivan Magalhaes
1030Juan D PaprockiBrazil2025-05-01Chapman, Ross E Esq PROPOSAL74Bernardo Dominic
1031Wickens K StockhamBrazil2025-04-24Feiner Bros NEGOTIATION5Ivan Magalhaes
1032Johnson F BriddickItaly2025-04-16Chanay, Jeffrey A Esq UNQUALIFIED36Xuxue Feng
1033Salvatore U GauchoUnited Kingdom2025-05-08King, Christopher A Esq UNQUALIFIED98Asiya Javayant
1034Octavia W OstroskyBrazil2025-04-19Morlong Associates QUALIFIED86Bernardo Dominic
1035Isabel C PerinBrazil2025-05-07Feiner Bros RENEWAL90Bernardo Dominic
1036Silvio Z FerenczIndia2025-04-09Benton, John B Jr NEGOTIATION98Elwin Sharvill
1037Sinclair L SchemmerRussia2025-05-07Feiner Bros QUALIFIED75Stephen Shaw
1038Jennifer O MacleadArgentina2025-04-25Chanay, Jeffrey A Esq UNQUALIFIED6Asiya Javayant
1039Jones S RimIndia2025-04-10Feltz Printing Service UNQUALIFIED81Xuxue Feng
1040Silvio B KolmetzArgentina2025-04-11Chemel, James L Cpa UNQUALIFIED88Bernardo Dominic
1041Smith S DilliardArgentina2025-04-13Morlong Associates NEGOTIATION75Onyama Limba
1042Sinclair E CampainUnited Kingdom2025-04-11Dorl, James J Esq UNQUALIFIED38Amy Elsner
1043Munro D NickaUnited Kingdom2025-04-27Printing Dimensions NEGOTIATION34Elwin Sharvill
1044Munro Z SchemmerItaly2025-04-12King, Christopher A Esq QUALIFIED50Amy Elsner
1045Smith N KuskoArgentina2025-04-20Chanay, Jeffrey A Esq UNQUALIFIED27Bernardo Dominic
1046Morrow W PerinRussia2025-04-23Truhlar And Truhlar Attys NEW69Anna Fali
1047Julie Z VenereRussia2025-05-07Commercial Press RENEWAL90Elwin Sharvill
1048Ashley U GillianBrazil2025-05-05Rangoni Of Florence RENEWAL68Stephen Shaw
1049Izzy U RutaGermany2025-05-05Feltz Printing Service NEGOTIATION56Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Cody Z ShinkoBrazilElwin Sharvill PROPOSAL
David T MarrierCanadaAsiya Javayant NEW
Wickens H VenereAustraliaAnna Fali PROPOSAL
Isabel R SlusarskiSpainIoni Bowcher NEW
Rodrigues Y MaletSpainBernardo Dominic PROPOSAL
Salvatore Z GarufiItalyIvan Magalhaes UNQUALIFIED
Smith D RutaItalyOnyama Limba PROPOSAL
Nicolas P GarufiBrazilAnna Fali UNQUALIFIED
Darci C GlickGermanyStephen Shaw RENEWAL
Sinclair F TollnerIndiaElwin Sharvill NEW
Morrow U SlusarskiJapanStephen Shaw NEGOTIATION
Leja Z IturbideBrazilXuxue Feng RENEWAL
Faith X BologniaUnited KingdomAsiya Javayant UNQUALIFIED
Isabel G FigeroaItalyBernardo Dominic NEW
Stacey L AlbaresSpainAnna Fali QUALIFIED
Kaitlin T DilliardSpainIoni Bowcher PROPOSAL
Emily M SaylorsRussiaStephen Shaw UNQUALIFIED
Izzy H VocelkaItalyAnna Fali UNQUALIFIED
Morrow P WieserJapanElwin Sharvill UNQUALIFIED
Aika J DilliardBrazilIvan Magalhaes NEW
Alejandro Z MorascaRussiaStephen Shaw QUALIFIED
Aruna B MorascaJapanIoni Bowcher NEW
Kaitlin S GarufiGermanyStephen Shaw RENEWAL
Darci V ButtItalyIoni Bowcher NEGOTIATION
Leon H DarakjyAustraliaIvan Magalhaes RENEWAL
Chavez J GarufiJapanAmy Elsner RENEWAL
Isabel O GarufiBrazilStephen Shaw PROPOSAL
Morrow Y InouyeFranceBernardo Dominic RENEWAL
Leon X MaletItalyOnyama Limba NEW
Munro W BologniaArgentinaElwin Sharvill PROPOSAL
Jefferson D IturbideAustraliaStephen Shaw QUALIFIED
Jeanfrancois S CaldareraBrazilIoni Bowcher NEGOTIATION
Ivar V VocelkaRussiaAsiya Javayant NEW
Costa B FollerJapanOnyama Limba UNQUALIFIED
Rodrigues C SergiArgentinaAmy Elsner UNQUALIFIED
Salvatore S RimUnited KingdomAsiya Javayant NEGOTIATION
Misaki P DilliardFranceStephen Shaw QUALIFIED
Mayumi O RutaItalyStephen Shaw NEGOTIATION
David N ButtBrazilAsiya Javayant RENEWAL
Jones D StockhamFranceBernardo Dominic UNQUALIFIED
Jones C WieserGermanyAsiya Javayant NEGOTIATION
Salvatore F ButtAustraliaStephen Shaw RENEWAL
Adams J KuskoRussiaOnyama Limba NEGOTIATION
Chavez B ButtArgentinaOnyama Limba PROPOSAL
Sinclair D OldroydGermanyIoni Bowcher NEGOTIATION
Smith P WieserUnited KingdomXuxue Feng UNQUALIFIED
Chavez C WaycottSpainElwin Sharvill QUALIFIED
Maisha N MacleadCanadaXuxue Feng PROPOSAL
Jones Y StockhamBrazilStephen Shaw NEW
Costa K RulapaughJapanBernardo Dominic NEW
Frozen Columns
Name
Munro U Rim
Ricardo Q Rim
Arvin Z Foller
Izzy W Garufi
Ashley C Garufi
Stacey X Ruta
Adams S Saylors
Darci S Gillian
Kaitlin Q Perin
Tony X Flosi
Aruna Y Butt
Rodrigues F Whobrey
Leon R Saylors
Kadeem U Sergi
Costa Z Maclead
Misaki Z Iturbide
Stacey A Whobrey
Jones R Dilliard
Julie V Darakjy
Cody Z Chui
Leja B Ruta
Antonio R Rulapaugh
Rodrigues G Poquette
Cody O Rulapaugh
Jones N Bolognia
Morrow D Albares
Maria Q Ostrosky
Murillo M Perin
Johnson N Whobrey
Emily F Doe
Silvio H Waycott
Misaki N Bolognia
Chavez J Kolmetz
Munro R Kolmetz
Clifford N Marrier
Clifford N Venere
Isabel T Vocelka
Stacey L Briddick
Mujtaba X Nestle
Stacey J Albares
Isabel L Tollner
Mujtaba Q Whobrey
Cody H Briddick
Kadeem H Whobrey
Ivar I Bolognia
Mayumi S Morasca
Costa A Darakjy
Mayumi K Saylors
Isabel C Nestle
David Q Doe
IdCountryDate
1000United Kingdom2025-04-14
1001India2025-05-02
1002Brazil2025-04-26
1003Spain2025-05-08
1004Japan2025-05-04
1005Canada2025-05-01
1006United Kingdom2025-05-02
1007Japan2025-04-21
1008Spain2025-04-11
1009Germany2025-04-13
1010Japan2025-05-03
1011Argentina2025-05-01
1012Italy2025-05-08
1013Australia2025-04-22
1014France2025-05-05
1015France2025-05-07
1016Brazil2025-04-19
1017Canada2025-04-17
1018Japan2025-04-24
1019United Kingdom2025-04-25
1020Argentina2025-04-18
1021Japan2025-05-02
1022Russia2025-04-14
1023Germany2025-04-14
1024Brazil2025-04-23
1025Japan2025-05-01
1026Spain2025-05-06
1027India2025-05-07
1028Italy2025-04-25
1029United Kingdom2025-04-27
1030Argentina2025-05-01
1031Argentina2025-04-29
1032Germany2025-04-19
1033Spain2025-04-15
1034Canada2025-05-02
1035India2025-04-14
1036Japan2025-04-11
1037Japan2025-05-02
1038Brazil2025-04-28
1039Italy2025-04-25
1040Argentina2025-04-10
1041United Kingdom2025-05-06
1042Brazil2025-04-11
1043France2025-05-02
1044Spain2025-04-10
1045Australia2025-04-11
1046Italy2025-05-07
1047Canada2025-04-26
1048United Kingdom2025-05-03
1049India2025-04-10

On-Demand Data

NameIdCountryDate
Sinclair Q Foller1000Brazil2025-05-02
Greenwood B Ferencz1001Italy2025-04-21
Jefferson P Foller1002India2025-04-11
David I Malet1003Italy2025-05-07
Jefferson M Saylors1004Italy2025-04-25
Kadeem J Albares1005India2025-04-24
Emily J Marrier1006Spain2025-04-12
Faith X Gaucho1007Japan2025-04-12
Munro R Tollner1008Spain2025-05-07
Johnson I Foller1009Canada2025-04-26
Isabel S Amigon1010India2025-04-14
Ashley A Glick1011Italy2025-04-18
Ricardo F Malet1012Russia2025-04-28
Aika M Nicka1013Australia2025-04-23
Juan X Maclead1014Brazil2025-04-26
Munro U Marrier1015India2025-05-02
Leja Q Vocelka1016India2025-04-22
Ashley B Wieser1017Russia2025-04-14
David P Perin1018Brazil2025-04-30
Mujtaba B Wieser1019Brazil2025-04-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David B GlickGermanyIvan Magalhaes NEW
Jefferson E StockhamFranceAsiya Javayant QUALIFIED
Chavez Q BologniaGermanyIoni Bowcher UNQUALIFIED
Smith Z ButtRussiaAmy Elsner PROPOSAL
Smith B AmigonItalyAmy Elsner RENEWAL
Kadeem H BriddickArgentinaAmy Elsner NEGOTIATION
Wickens J IturbideSpainOnyama Limba UNQUALIFIED
Claire O ChuiItalyXuxue Feng NEW
Julie S CaudyGermanyXuxue Feng QUALIFIED
Aruna F ShinkoUnited KingdomAsiya Javayant QUALIFIED
Claire B CampainItalyAsiya Javayant QUALIFIED
Smith S FlosiGermanyStephen Shaw QUALIFIED
Ricardo U FlosiIndiaElwin Sharvill NEGOTIATION
Leon H NickaAustraliaXuxue Feng UNQUALIFIED
Jefferson X WieserSpainXuxue Feng NEGOTIATION
Rodrigues V FerenczItalyStephen Shaw QUALIFIED
Smith C RoysterUnited KingdomAmy Elsner PROPOSAL
Jefferson K RutaUnited KingdomOnyama Limba NEW
Deepesh J BologniaArgentinaBernardo Dominic RENEWAL
Jones G SergiIndiaXuxue Feng QUALIFIED
Sinclair H ChuiIndiaOnyama Limba QUALIFIED
Faith B DarakjyArgentinaAmy Elsner RENEWAL
Claire P SaylorsArgentinaElwin Sharvill RENEWAL
Nicolas B GauchoSpainAnna Fali NEW
Johnson P KuskoJapanAsiya Javayant NEW
Jones P CaldareraUnited KingdomXuxue Feng PROPOSAL
Maisha J DilliardItalyBernardo Dominic QUALIFIED
Maria I NickaRussiaXuxue Feng UNQUALIFIED
Sinclair M ButtRussiaBernardo Dominic NEW
Juan G GarufiBrazilXuxue Feng PROPOSAL
Mujtaba E PaprockiFranceAnna Fali RENEWAL
Leon M PaprockiAustraliaAmy Elsner QUALIFIED
Costa O OldroydUnited KingdomElwin Sharvill RENEWAL
Sinclair G GlickFranceAmy Elsner NEGOTIATION
Maria R SlusarskiJapanElwin Sharvill NEGOTIATION
Jefferson M MacleadAustraliaStephen Shaw QUALIFIED
Leja A TollnerAustraliaIvan Magalhaes RENEWAL
Johnson D BriddickArgentinaAsiya Javayant NEW
Misaki G RoysterUnited KingdomOnyama Limba NEGOTIATION
Deepesh K SergiIndiaStephen Shaw NEGOTIATION

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