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
Aruna I RoysterSpainIoni Bowcher NEW
Greenwood U StockhamUnited KingdomAmy Elsner RENEWAL
Octavia X AlbaresItalyXuxue Feng NEGOTIATION
Cody Y GlickIndiaBernardo Dominic NEW
Adams S TollnerUnited KingdomAmy Elsner NEGOTIATION
Leon E NickaGermanyElwin Sharvill UNQUALIFIED
Munro F StensethSpainIoni Bowcher RENEWAL
Francesco A KuskoRussiaElwin Sharvill RENEWAL
Costa Y MarrierFranceAmy Elsner UNQUALIFIED
Jones F BriddickSpainStephen Shaw UNQUALIFIED
Nicolas F DarakjyAustraliaBernardo Dominic NEGOTIATION
Jennifer X DarakjyItalyOnyama Limba PROPOSAL
Jones Y AmigonUnited KingdomElwin Sharvill QUALIFIED
Emily R KolmetzAustraliaAnna Fali UNQUALIFIED
Octavia L VenereBrazilXuxue Feng RENEWAL
Jeanfrancois B BriddickArgentinaIoni Bowcher NEW
Rodrigues U GarufiBrazilAnna Fali PROPOSAL
Chavez L GlickIndiaAsiya Javayant RENEWAL
David E IturbideBrazilIoni Bowcher QUALIFIED
Aruna I FigeroaAustraliaIoni Bowcher RENEWAL
Alejandro Y BowleyGermanyIvan Magalhaes QUALIFIED
Smith H IturbideArgentinaIvan Magalhaes UNQUALIFIED
Aditya J ShinkoRussiaStephen Shaw RENEWAL
Misaki A RoysterUnited KingdomElwin Sharvill RENEWAL
Nicolas M BologniaRussiaStephen Shaw NEW
Jeanfrancois T RutaSpainOnyama Limba PROPOSAL
Johnson M DilliardJapanIvan Magalhaes NEW
Francesco F CampainFranceIoni Bowcher QUALIFIED
Clifford A NestleItalyElwin Sharvill RENEWAL
Mayumi Z BowleyBrazilAsiya Javayant UNQUALIFIED
Greenwood D MaletAustraliaXuxue Feng QUALIFIED
Francesco X WhobreyBrazilAmy Elsner QUALIFIED
Alejandro D MarrierRussiaAnna Fali RENEWAL
Smith T TollnerCanadaAsiya Javayant PROPOSAL
Maisha M MacleadRussiaIvan Magalhaes PROPOSAL
Darci Q ChuiArgentinaElwin Sharvill PROPOSAL
Adams M RimGermanyAsiya Javayant RENEWAL
Jones X BriddickGermanyOnyama Limba NEW
Kaitlin K RoysterItalyStephen Shaw UNQUALIFIED
Maisha P GarufiSpainBernardo Dominic QUALIFIED
Julie C KolmetzBrazilBernardo Dominic UNQUALIFIED
Costa C TollnerBrazilStephen Shaw NEGOTIATION
Jeanfrancois H WieserUnited KingdomElwin Sharvill NEGOTIATION
Ricardo X TollnerRussiaXuxue Feng NEGOTIATION
Arvin T DarakjyGermanyBernardo Dominic PROPOSAL
Salvatore V SlusarskiAustraliaXuxue Feng UNQUALIFIED
Claire Y BologniaUnited KingdomElwin Sharvill PROPOSAL
Ricardo J PoquetteIndiaBernardo Dominic NEW
Misaki B GillianCanadaAsiya Javayant NEGOTIATION
Leon J ShinkoBrazilOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Johnson Z SchemmerAustraliaAmy Elsner RENEWAL
Ricardo L VocelkaAustraliaBernardo Dominic NEGOTIATION
Aditya K BriddickArgentinaAmy Elsner QUALIFIED
Darci U AmigonGermanyStephen Shaw NEGOTIATION
Faith F CaudyUnited KingdomAnna Fali QUALIFIED
Aika R FollerFranceAsiya Javayant PROPOSAL
Isabel Z GarufiBrazilAsiya Javayant QUALIFIED
David J GauchoSpainIoni Bowcher RENEWAL
Sinclair S MorascaAustraliaBernardo Dominic PROPOSAL
Ricardo P DoeRussiaBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco I OstroskyAustralia2024-05-26Chapman, Ross E Esq PROPOSAL86Onyama Limba
1001David B InouyeJapan2024-06-18Chanay, Jeffrey A Esq RENEWAL24Amy Elsner
1002Kadeem O TollnerBrazil2024-05-26Morlong Associates PROPOSAL43Amy Elsner
1003Darci G TollnerFrance2024-06-06Morlong Associates PROPOSAL12Elwin Sharvill
1004Octavia J OstroskyGermany2024-05-29Dorl, James J Esq UNQUALIFIED87Ivan Magalhaes
1005Tony F GillianItaly2024-06-20Truhlar And Truhlar Attys NEGOTIATION65Onyama Limba
1006Jefferson P OstroskyBrazil2024-06-22Chemel, James L Cpa RENEWAL15Bernardo Dominic
1007Maisha Y SaylorsSpain2024-06-02Commercial Press NEW40Ivan Magalhaes
1008Maria W PoquetteJapan2024-06-11Morlong Associates PROPOSAL36Ivan Magalhaes
1009Cody Q BriddickFrance2024-06-22Truhlar And Truhlar Attys RENEWAL22Anna Fali
1010Ashley A ButtSpain2024-06-16Morlong Associates PROPOSAL42Elwin Sharvill
1011Mayumi A TollnerAustralia2024-06-12Truhlar And Truhlar Attys PROPOSAL86Anna Fali
1012Morrow R DoeItaly2024-06-02Printing Dimensions RENEWAL71Amy Elsner
1013Tony S VenereArgentina2024-06-23Rangoni Of Florence QUALIFIED39Ioni Bowcher
1014Isabel B PaprockiGermany2024-06-09Benton, John B Jr RENEWAL29Ivan Magalhaes
1015Maisha I RutaAustralia2024-06-09Chanay, Jeffrey A Esq PROPOSAL46Bernardo Dominic
1016Tony R WhobreyBrazil2024-06-19Chapman, Ross E Esq NEW13Ioni Bowcher
1017Misaki F MaletUnited Kingdom2024-05-27Printing Dimensions PROPOSAL70Elwin Sharvill
1018Julie R MacleadItaly2024-06-14Chapman, Ross E Esq NEGOTIATION16Amy Elsner
1019Ricardo X WhobreyAustralia2024-06-16Printing Dimensions PROPOSAL98Ioni Bowcher
1020Clifford Y PerinJapan2024-06-23Chanay, Jeffrey A Esq UNQUALIFIED55Ioni Bowcher
1021Jones M ButtFrance2024-06-15Chanay, Jeffrey A Esq QUALIFIED23Ioni Bowcher
1022Deepesh W StockhamSpain2024-06-06Feiner Bros PROPOSAL48Xuxue Feng
1023Jennifer K MorascaJapan2024-06-02Chemel, James L Cpa NEGOTIATION11Elwin Sharvill
1024James E WhobreyRussia2024-06-16Commercial Press QUALIFIED46Ivan Magalhaes
1025Claire R MacleadBrazil2024-06-12Truhlar And Truhlar Attys NEGOTIATION2Ioni Bowcher
1026Arvin G OstroskyUnited Kingdom2024-06-08Printing Dimensions QUALIFIED12Bernardo Dominic
1027Darci J BologniaUnited Kingdom2024-06-12King, Christopher A Esq NEW35Bernardo Dominic
1028Ivar G RutaFrance2024-06-20King, Christopher A Esq PROPOSAL77Onyama Limba
1029Aika Q GillianBrazil2024-05-29Feiner Bros QUALIFIED8Onyama Limba
1030Emily I NestleUnited Kingdom2024-05-26Feiner Bros NEW82Elwin Sharvill
1031James Z SlusarskiIndia2024-06-24King, Christopher A Esq NEW18Elwin Sharvill
1032Stacey X NestleAustralia2024-06-12Feiner Bros UNQUALIFIED60Bernardo Dominic
1033Aruna X FlosiUnited Kingdom2024-06-20Chemel, James L Cpa UNQUALIFIED43Bernardo Dominic
1034Darci G MarrierJapan2024-06-06Dorl, James J Esq NEGOTIATION2Onyama Limba
1035Salvatore N FollerIndia2024-06-20Chemel, James L Cpa PROPOSAL70Bernardo Dominic
1036Smith Y GarufiCanada2024-06-04Truhlar And Truhlar Attys NEW41Amy Elsner
1037Sinclair G SlusarskiSpain2024-06-12Commercial Press RENEWAL65Asiya Javayant
1038Leon J CaudyGermany2024-06-17Feiner Bros NEGOTIATION61Elwin Sharvill
1039Ricardo Y GlickItaly2024-06-24Rousseaux, Michael Esq NEW12Elwin Sharvill
1040Costa L SlusarskiBrazil2024-06-07Dorl, James J Esq NEGOTIATION8Elwin Sharvill
1041Ivar J SaylorsRussia2024-06-21Rousseaux, Michael Esq NEW63Ivan Magalhaes
1042Murillo H IturbideJapan2024-06-22Printing Dimensions RENEWAL16Ivan Magalhaes
1043Isabel U VenereFrance2024-06-21King, Christopher A Esq NEW84Anna Fali
1044Faith P GarufiBrazil2024-06-08Chemel, James L Cpa UNQUALIFIED68Asiya Javayant
1045Aditya L SlusarskiArgentina2024-06-05Morlong Associates NEW90Ivan Magalhaes
1046Julie N NestleUnited Kingdom2024-06-13Chemel, James L Cpa RENEWAL25Bernardo Dominic
1047Ivar X IturbideGermany2024-05-29Chemel, James L Cpa NEW79Ioni Bowcher
1048Francesco R ButtIndia2024-06-22Dorl, James J Esq NEGOTIATION84Anna Fali
1049Ricardo P MorascaJapan2024-06-03Commercial Press QUALIFIED25Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
James L MorascaRussiaXuxue Feng PROPOSAL
Claire Y PerinArgentinaIvan Magalhaes NEGOTIATION
Murillo M StensethSpainIoni Bowcher QUALIFIED
Nicolas G MaletSpainAnna Fali QUALIFIED
Faith Y AlbaresBrazilStephen Shaw UNQUALIFIED
Izzy O NestleGermanyAnna Fali QUALIFIED
Claire I StockhamAustraliaBernardo Dominic QUALIFIED
Juan J FerenczGermanyIvan Magalhaes NEW
Tony L VocelkaGermanyAsiya Javayant NEGOTIATION
Alejandro G FerenczUnited KingdomIvan Magalhaes PROPOSAL
Johnson P CampainSpainXuxue Feng PROPOSAL
Tony F MacleadRussiaStephen Shaw QUALIFIED
Antonio D PoquetteArgentinaAsiya Javayant UNQUALIFIED
Claire W AmigonItalyBernardo Dominic QUALIFIED
Clifford S InouyeJapanIvan Magalhaes NEGOTIATION
Jefferson X RoysterRussiaIoni Bowcher RENEWAL
Darci X PoquetteCanadaStephen Shaw PROPOSAL
Francesco Y AlbaresCanadaElwin Sharvill UNQUALIFIED
Kaitlin I MaletItalyOnyama Limba UNQUALIFIED
Sinclair B MaletCanadaOnyama Limba PROPOSAL
Murillo C KolmetzRussiaAnna Fali NEGOTIATION
Ricardo S FlosiSpainOnyama Limba QUALIFIED
Leja S PoquetteFranceElwin Sharvill NEW
Jones D AmigonCanadaBernardo Dominic NEW
Stacey S NestleCanadaBernardo Dominic PROPOSAL
Mujtaba G InouyeSpainXuxue Feng UNQUALIFIED
Cody E ButtUnited KingdomBernardo Dominic RENEWAL
Ivar O SchemmerFranceOnyama Limba NEGOTIATION
Wickens Z ButtSpainIoni Bowcher NEGOTIATION
Munro K VocelkaBrazilBernardo Dominic NEGOTIATION
James F WieserAustraliaStephen Shaw NEW
David A TollnerJapanElwin Sharvill PROPOSAL
Morrow L ShinkoCanadaAnna Fali NEGOTIATION
David E WieserSpainIvan Magalhaes UNQUALIFIED
Juan C InouyeArgentinaAsiya Javayant UNQUALIFIED
Leon N BriddickSpainAmy Elsner NEW
Jones I CampainJapanOnyama Limba UNQUALIFIED
Silvio F MaletGermanyIoni Bowcher NEGOTIATION
Isabel R SlusarskiRussiaElwin Sharvill NEGOTIATION
Kaitlin R ShinkoItalyBernardo Dominic QUALIFIED
Greenwood M NickaIndiaOnyama Limba PROPOSAL
Misaki Q SchemmerSpainAsiya Javayant RENEWAL
Jeanfrancois F OldroydItalyStephen Shaw QUALIFIED
Leja S CaudyGermanyIvan Magalhaes RENEWAL
Faith W OldroydFranceElwin Sharvill PROPOSAL
Maria F KuskoAustraliaStephen Shaw NEGOTIATION
Ricardo G SergiIndiaOnyama Limba RENEWAL
Mayumi F NickaUnited KingdomIvan Magalhaes QUALIFIED
Salvatore U TollnerAustraliaElwin Sharvill PROPOSAL
Maisha F NestleItalyBernardo Dominic NEGOTIATION
Frozen Columns
Name
Mayumi G Campain
Mayumi G Nicka
Ricardo X Flosi
Murillo E Oldroyd
Adams Q Caudy
Cody G Caudy
Ricardo T Ruta
Jeanfrancois K Rulapaugh
Stacey J Briddick
James F Chui
Misaki P Ostrosky
Antonio U Figeroa
Wickens C Flosi
Juan U Perin
Claire D Sergi
Juan W Maclead
Arvin E Butt
Claire O Saylors
Costa J Maclead
Antonio S Rulapaugh
Nicolas T Glick
David C Butt
Darci O Foller
Izzy W Oldroyd
Mayumi F Foller
Arvin X Stenseth
Francesco F Nicka
Octavia C Iturbide
Jones L Glick
Kadeem O Waycott
Jeanfrancois I Garufi
Maisha M Inouye
Julie T Kusko
Nicolas Q Malet
Leon T Shinko
Mujtaba G Garufi
Leja V Figeroa
Morrow Q Shinko
James C Stockham
Costa A Morasca
Rodrigues X Saylors
Murillo N Shinko
Jennifer I Iturbide
Ashley F Perin
Alejandro K Foller
Costa U Rim
Octavia D Stockham
Greenwood B Sergi
Maria L Ferencz
Morrow S Morasca
IdCountryDate
1000France2024-05-27
1001Spain2024-05-30
1002Germany2024-06-16
1003Argentina2024-06-09
1004United Kingdom2024-06-01
1005Australia2024-06-13
1006Germany2024-06-07
1007Russia2024-06-18
1008Australia2024-06-24
1009Japan2024-05-28
1010Russia2024-06-10
1011Australia2024-06-21
1012Italy2024-06-10
1013Canada2024-06-24
1014Japan2024-06-16
1015Brazil2024-06-16
1016Argentina2024-06-04
1017Canada2024-06-03
1018Australia2024-05-30
1019Brazil2024-06-17
1020Germany2024-06-17
1021Germany2024-06-23
1022Germany2024-06-10
1023Italy2024-06-04
1024France2024-06-12
1025Germany2024-06-06
1026Argentina2024-06-19
1027Russia2024-06-15
1028Argentina2024-05-28
1029Australia2024-06-08
1030Italy2024-06-02
1031Brazil2024-06-23
1032Germany2024-06-05
1033Japan2024-06-16
1034Japan2024-06-15
1035India2024-06-15
1036Brazil2024-06-08
1037Spain2024-06-22
1038France2024-06-10
1039Argentina2024-06-06
1040Germany2024-06-14
1041Germany2024-06-08
1042Italy2024-06-12
1043Spain2024-06-19
1044Canada2024-05-30
1045Germany2024-06-19
1046Australia2024-06-02
1047Argentina2024-06-17
1048Australia2024-06-22
1049Germany2024-06-08

On-Demand Data

NameIdCountryDate
Claire C Rulapaugh1000Canada2024-06-21
Johnson G Marrier1001France2024-06-04
Alejandro P Waycott1002Italy2024-06-21
Salvatore Z Kolmetz1003Canada2024-06-01
James S Venere1004United Kingdom2024-06-21
Ivar R Saylors1005India2024-06-18
Aditya U Schemmer1006Russia2024-06-22
Darci M Glick1007Russia2024-06-09
Adams V Doe1008Japan2024-06-10
Isabel U Caudy1009Italy2024-06-18
Mayumi V Ruta1010United Kingdom2024-06-21
Claire M Gaucho1011United Kingdom2024-06-07
Ivar Q Caldarera1012Brazil2024-06-11
Morrow B Nicka1013Australia2024-06-09
Mujtaba R Flosi1014Australia2024-06-16
Leja D Maclead1015United Kingdom2024-06-22
Johnson H Dilliard1016Canada2024-05-31
Leon F Iturbide1017Spain2024-06-22
Kadeem F Stockham1018India2024-06-05
Nicolas T Wieser1019Italy2024-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson A DoeArgentinaBernardo Dominic PROPOSAL
Adams V SaylorsItalyAmy Elsner NEGOTIATION
Stacey H SlusarskiArgentinaElwin Sharvill PROPOSAL
Nicolas S StensethSpainStephen Shaw PROPOSAL
Juan Y KolmetzGermanyAsiya Javayant UNQUALIFIED
Darci X RulapaughFranceIvan Magalhaes UNQUALIFIED
David I MorascaGermanyXuxue Feng QUALIFIED
Mayumi C FigeroaJapanIoni Bowcher UNQUALIFIED
Maria D BowleyFranceAmy Elsner RENEWAL
Alejandro U RutaCanadaAnna Fali NEGOTIATION
Jefferson R MorascaCanadaBernardo Dominic QUALIFIED
Clifford B NickaUnited KingdomAnna Fali UNQUALIFIED
Jeanfrancois J BowleyCanadaStephen Shaw PROPOSAL
Tony E ChuiAustraliaAnna Fali RENEWAL
Kaitlin H BowleyAustraliaAsiya Javayant UNQUALIFIED
Sinclair A NickaSpainOnyama Limba PROPOSAL
Costa K RutaIndiaStephen Shaw PROPOSAL
Jefferson K RutaJapanOnyama Limba QUALIFIED
James O WieserBrazilBernardo Dominic QUALIFIED
Mayumi A WhobreyIndiaAsiya Javayant RENEWAL
Costa H DilliardItalyBernardo Dominic NEGOTIATION
Aruna T CaldareraArgentinaElwin Sharvill RENEWAL
Claire D AmigonJapanStephen Shaw QUALIFIED
Murillo M VenereFranceBernardo Dominic RENEWAL
Ashley I MacleadBrazilAsiya Javayant NEW
Alejandro Q MarrierJapanIvan Magalhaes QUALIFIED
Chavez I SchemmerUnited KingdomAsiya Javayant UNQUALIFIED
Stacey G AmigonGermanyBernardo Dominic PROPOSAL
Izzy B KuskoFranceAmy Elsner NEGOTIATION
Ashley N RimFranceOnyama Limba PROPOSAL
Smith C InouyeItalyAsiya Javayant PROPOSAL
Morrow A FollerCanadaAmy Elsner NEW
Isabel T DarakjyCanadaAmy Elsner PROPOSAL
Mujtaba I OstroskyIndiaAnna Fali NEGOTIATION
Isabel G FerenczRussiaAmy Elsner NEW
Silvio N CaudyArgentinaOnyama Limba NEGOTIATION
Ricardo C AmigonAustraliaXuxue Feng PROPOSAL
Kadeem Y KolmetzIndiaAmy Elsner NEGOTIATION
Ivar E RimCanadaElwin Sharvill PROPOSAL
Munro Q CaldareraIndiaAmy Elsner 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>