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
Mayumi S MaletBrazilStephen Shaw NEW
Octavia W MorascaUnited KingdomElwin Sharvill NEW
Misaki B TollnerArgentinaAmy Elsner UNQUALIFIED
Tony G MaletJapanAsiya Javayant NEGOTIATION
Wickens S VenereGermanyXuxue Feng QUALIFIED
Aruna P TollnerRussiaIvan Magalhaes NEW
Nicolas Q NickaArgentinaBernardo Dominic UNQUALIFIED
Smith N GarufiGermanyOnyama Limba QUALIFIED
Aika O SaylorsCanadaAnna Fali PROPOSAL
Silvio J SergiCanadaXuxue Feng UNQUALIFIED
Jennifer C OstroskyArgentinaAnna Fali RENEWAL
Greenwood N InouyeItalyAmy Elsner RENEWAL
James C FollerUnited KingdomXuxue Feng UNQUALIFIED
Ashley Q WaycottGermanyAmy Elsner RENEWAL
Emily I FigeroaJapanStephen Shaw PROPOSAL
Jennifer R SlusarskiSpainOnyama Limba UNQUALIFIED
Clifford G ShinkoAustraliaElwin Sharvill RENEWAL
Ashley V RutaRussiaAmy Elsner RENEWAL
Antonio E PaprockiAustraliaIvan Magalhaes NEGOTIATION
Deepesh M RimCanadaAsiya Javayant PROPOSAL
Alejandro V DarakjyCanadaXuxue Feng NEGOTIATION
Aika Z MorascaUnited KingdomStephen Shaw NEGOTIATION
Chavez Y WaycottSpainStephen Shaw NEW
Adams K OstroskyBrazilStephen Shaw NEGOTIATION
Chavez S WhobreyUnited KingdomAmy Elsner QUALIFIED
Maria U NestleJapanXuxue Feng NEW
Julie N GauchoAustraliaStephen Shaw PROPOSAL
Jones A NickaGermanyIvan Magalhaes RENEWAL
Juan Q AlbaresBrazilAmy Elsner QUALIFIED
Clifford V RoysterArgentinaStephen Shaw RENEWAL
Faith Q TollnerCanadaAmy Elsner NEW
Jefferson T RimFranceAsiya Javayant NEW
Juan B FerenczGermanyIvan Magalhaes PROPOSAL
David M VenereAustraliaOnyama Limba PROPOSAL
Ricardo V CampainSpainStephen Shaw RENEWAL
Darci M AlbaresSpainOnyama Limba PROPOSAL
Kadeem P SchemmerSpainAsiya Javayant RENEWAL
Leon M DoeArgentinaOnyama Limba RENEWAL
Juan Q NickaJapanStephen Shaw NEGOTIATION
Misaki S RimAustraliaAnna Fali PROPOSAL
Maria T ChuiCanadaOnyama Limba NEW
Leon W GauchoArgentinaElwin Sharvill NEGOTIATION
Octavia A CampainArgentinaBernardo Dominic NEW
Kadeem Z VenereFranceOnyama Limba NEGOTIATION
David X FigeroaCanadaIvan Magalhaes NEGOTIATION
Faith K KolmetzFranceAsiya Javayant NEW
Faith M AlbaresItalyAmy Elsner QUALIFIED
Mayumi L FigeroaSpainBernardo Dominic NEGOTIATION
Silvio H CampainUnited KingdomAnna Fali QUALIFIED
Misaki M VenereFranceOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Aditya Z FigeroaGermanyAsiya Javayant NEW
Salvatore K WhobreyCanadaIvan Magalhaes RENEWAL
Deepesh N GauchoArgentinaElwin Sharvill PROPOSAL
Octavia G PaprockiFranceBernardo Dominic UNQUALIFIED
Jefferson T GillianIndiaIvan Magalhaes PROPOSAL
Leja A PerinCanadaAmy Elsner PROPOSAL
Jeanfrancois U OldroydIndiaAmy Elsner UNQUALIFIED
Nicolas J OstroskyIndiaIoni Bowcher RENEWAL
Cody N GillianIndiaStephen Shaw PROPOSAL
Aditya V WaycottIndiaBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily S PerinBrazil2024-05-27Truhlar And Truhlar Attys QUALIFIED20Ivan Magalhaes
1001Tony C KolmetzFrance2024-05-31Chapman, Ross E Esq PROPOSAL33Ivan Magalhaes
1002Izzy Y MaletGermany2024-06-23Feltz Printing Service QUALIFIED79Bernardo Dominic
1003Maria O BowleyGermany2024-06-22Rangoni Of Florence NEGOTIATION4Elwin Sharvill
1004Stacey Y StensethAustralia2024-05-25Chanay, Jeffrey A Esq UNQUALIFIED49Amy Elsner
1005Cody W CaudyAustralia2024-05-27Feltz Printing Service QUALIFIED22Asiya Javayant
1006Johnson E TollnerCanada2024-06-22King, Christopher A Esq UNQUALIFIED81Elwin Sharvill
1007Leon B BriddickAustralia2024-06-16King, Christopher A Esq UNQUALIFIED88Amy Elsner
1008Deepesh J SergiAustralia2024-06-03Feiner Bros RENEWAL97Anna Fali
1009David O GillianGermany2024-06-11Chapman, Ross E Esq PROPOSAL99Elwin Sharvill
1010Ricardo W GillianItaly2024-06-14Chanay, Jeffrey A Esq RENEWAL13Xuxue Feng
1011Johnson L BriddickFrance2024-05-25Benton, John B Jr QUALIFIED72Anna Fali
1012Sinclair H WhobreyIndia2024-06-15Buckley Miller Wright PROPOSAL31Onyama Limba
1013Nicolas N KuskoAustralia2024-06-17Commercial Press NEGOTIATION1Anna Fali
1014Munro Z TollnerGermany2024-05-31Dorl, James J Esq QUALIFIED91Asiya Javayant
1015Jeanfrancois P WaycottJapan2024-06-20Morlong Associates UNQUALIFIED52Ioni Bowcher
1016Morrow G StockhamFrance2024-06-23Commercial Press NEGOTIATION34Amy Elsner
1017David P TollnerRussia2024-06-19Rangoni Of Florence PROPOSAL21Onyama Limba
1018Aditya J MaletSpain2024-06-05Feiner Bros RENEWAL26Anna Fali
1019Jeanfrancois T PaprockiFrance2024-06-17Chanay, Jeffrey A Esq QUALIFIED48Anna Fali
1020Nicolas O BriddickFrance2024-06-21Rangoni Of Florence NEW44Xuxue Feng
1021Ivar R WaycottItaly2024-06-19Rousseaux, Michael Esq NEW75Ioni Bowcher
1022Francesco Y BologniaRussia2024-06-18Chapman, Ross E Esq PROPOSAL6Amy Elsner
1023Octavia Z MacleadCanada2024-06-01Truhlar And Truhlar Attys NEGOTIATION78Ivan Magalhaes
1024Misaki C RoysterSpain2024-05-30Printing Dimensions NEGOTIATION46Bernardo Dominic
1025Misaki S RutaArgentina2024-06-08Feltz Printing Service RENEWAL28Asiya Javayant
1026Sinclair Y ChuiGermany2024-05-31Rousseaux, Michael Esq NEGOTIATION2Ivan Magalhaes
1027Greenwood N StockhamItaly2024-05-29Feiner Bros NEW5Elwin Sharvill
1028Johnson J VocelkaUnited Kingdom2024-06-20Chapman, Ross E Esq UNQUALIFIED8Anna Fali
1029Emily Z PerinGermany2024-05-27Chapman, Ross E Esq PROPOSAL13Xuxue Feng
1030Mujtaba Y RulapaughAustralia2024-06-08Benton, John B Jr NEW83Amy Elsner
1031Emily X AmigonCanada2024-06-18Morlong Associates UNQUALIFIED65Ioni Bowcher
1032Nicolas Q ButtJapan2024-06-07Chemel, James L Cpa NEGOTIATION94Stephen Shaw
1033Cody Z FigeroaAustralia2024-06-19Morlong Associates PROPOSAL31Bernardo Dominic
1034Aruna R MorascaFrance2024-06-08Truhlar And Truhlar Attys NEW93Onyama Limba
1035Arvin K DoeSpain2024-06-12Buckley Miller Wright RENEWAL28Elwin Sharvill
1036Costa K BowleyRussia2024-06-20Morlong Associates PROPOSAL77Bernardo Dominic
1037Morrow U CaudyGermany2024-06-11Chanay, Jeffrey A Esq UNQUALIFIED84Anna Fali
1038Aika C RimCanada2024-06-05Printing Dimensions QUALIFIED70Stephen Shaw
1039Julie V SlusarskiItaly2024-06-22Morlong Associates PROPOSAL93Asiya Javayant
1040Jones Y IturbideFrance2024-05-30Rousseaux, Michael Esq UNQUALIFIED71Stephen Shaw
1041Juan A IturbideUnited Kingdom2024-05-31Chanay, Jeffrey A Esq PROPOSAL10Onyama Limba
1042Faith T GlickRussia2024-05-28Feiner Bros NEW75Xuxue Feng
1043Sinclair T GarufiCanada2024-06-03Printing Dimensions NEW51Ioni Bowcher
1044Jones A NickaAustralia2024-05-25Benton, John B Jr UNQUALIFIED22Xuxue Feng
1045Johnson U RulapaughAustralia2024-05-28Truhlar And Truhlar Attys RENEWAL54Asiya Javayant
1046Jefferson N CampainArgentina2024-06-13Rangoni Of Florence RENEWAL60Onyama Limba
1047Johnson Z FigeroaRussia2024-06-03Benton, John B Jr QUALIFIED13Xuxue Feng
1048Mayumi Y RoysterCanada2024-06-11Chemel, James L Cpa RENEWAL96Stephen Shaw
1049Deepesh V VocelkaGermany2024-05-27Chanay, Jeffrey A Esq PROPOSAL31Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Johnson B NestleItalyElwin Sharvill QUALIFIED
Wickens M RimFranceBernardo Dominic NEGOTIATION
Izzy C FigeroaRussiaIoni Bowcher PROPOSAL
Izzy V FlosiRussiaAmy Elsner NEGOTIATION
Kadeem S VenereArgentinaIvan Magalhaes UNQUALIFIED
Julie O FigeroaIndiaOnyama Limba PROPOSAL
Chavez J DilliardGermanyStephen Shaw UNQUALIFIED
Misaki Y ShinkoFranceAsiya Javayant NEGOTIATION
Deepesh W SaylorsArgentinaIvan Magalhaes RENEWAL
Ivar A PerinItalyXuxue Feng PROPOSAL
Murillo V VenereCanadaElwin Sharvill PROPOSAL
Alejandro H FollerRussiaIoni Bowcher NEGOTIATION
Misaki O InouyeUnited KingdomIoni Bowcher PROPOSAL
David C MacleadUnited KingdomAnna Fali NEW
Maria I ShinkoAustraliaElwin Sharvill RENEWAL
Nicolas Z WhobreyJapanAsiya Javayant NEGOTIATION
Arvin M WieserCanadaIvan Magalhaes RENEWAL
Stacey M CaudyJapanXuxue Feng PROPOSAL
Ashley J CaudyArgentinaXuxue Feng UNQUALIFIED
Wickens R AmigonFranceElwin Sharvill QUALIFIED
Misaki I SlusarskiSpainIvan Magalhaes UNQUALIFIED
Salvatore G GillianFranceAmy Elsner NEW
Francesco Q OldroydCanadaAmy Elsner NEW
Mayumi I StensethBrazilIoni Bowcher NEGOTIATION
Jefferson I InouyeJapanAmy Elsner QUALIFIED
Jeanfrancois Q SchemmerCanadaAsiya Javayant PROPOSAL
Kadeem J PaprockiFranceElwin Sharvill UNQUALIFIED
Smith R KolmetzCanadaIvan Magalhaes NEW
Salvatore L FigeroaFranceOnyama Limba RENEWAL
Costa M BologniaCanadaElwin Sharvill PROPOSAL
Francesco D WieserBrazilXuxue Feng UNQUALIFIED
Chavez X GarufiRussiaIvan Magalhaes RENEWAL
Wickens D VocelkaIndiaAsiya Javayant UNQUALIFIED
Jennifer N PoquetteBrazilAsiya Javayant QUALIFIED
Ricardo E BowleyAustraliaOnyama Limba QUALIFIED
Nicolas S VocelkaGermanyBernardo Dominic QUALIFIED
Antonio M KuskoBrazilIoni Bowcher QUALIFIED
Alejandro J BowleyGermanyStephen Shaw NEW
Rodrigues W WieserRussiaAsiya Javayant QUALIFIED
Chavez Y RoysterArgentinaXuxue Feng RENEWAL
Murillo W BriddickCanadaAsiya Javayant UNQUALIFIED
Aika K FerenczAustraliaXuxue Feng RENEWAL
Octavia F FigeroaCanadaAmy Elsner NEW
Jennifer M NickaBrazilOnyama Limba NEW
Izzy Z KuskoCanadaXuxue Feng RENEWAL
Salvatore B OstroskyJapanXuxue Feng UNQUALIFIED
Leon V RimUnited KingdomAsiya Javayant UNQUALIFIED
Kaitlin I BowleyCanadaBernardo Dominic NEW
Adams Z IturbideBrazilAmy Elsner RENEWAL
Julie M RimArgentinaStephen Shaw QUALIFIED
Frozen Columns
Name
Aditya H Gillian
Leja B Briddick
Izzy N Marrier
Mayumi C Waycott
Ivar X Inouye
Rodrigues K Marrier
Jefferson P Flosi
Jeanfrancois V Waycott
Wickens F Maclead
Leon F Rulapaugh
Misaki M Tollner
Arvin L Caudy
Costa F Butt
Misaki L Gillian
Claire K Ruta
Ivar G Figeroa
Kaitlin M Caudy
Clifford C Foller
Izzy G Malet
Francesco M Chui
Kadeem F Whobrey
Alejandro B Kolmetz
Juan B Shinko
Aruna C Venere
Ashley K Ruta
Morrow M Flosi
Jefferson O Sergi
James Z Caudy
Claire Z Maclead
Maria M Glick
Faith N Malet
Wickens V Ruta
David J Albares
Sinclair A Saylors
Tony H Rim
Stacey Q Saylors
Jennifer O Doe
Antonio U Garufi
Leja M Rim
Misaki J Ferencz
Aditya X Ostrosky
Silvio B Stockham
Aruna K Malet
Aika C Gaucho
Adams M Perin
Salvatore G Foller
Jeanfrancois Q Venere
Rodrigues K Ostrosky
Greenwood N Amigon
Mayumi K Iturbide
IdCountryDate
1000Argentina2024-06-01
1001Australia2024-05-31
1002Italy2024-05-31
1003Canada2024-06-13
1004Germany2024-05-27
1005Argentina2024-06-20
1006United Kingdom2024-06-05
1007Germany2024-06-22
1008Japan2024-06-03
1009Italy2024-06-17
1010Russia2024-06-15
1011Canada2024-06-05
1012Argentina2024-06-23
1013France2024-05-28
1014India2024-06-20
1015Japan2024-06-02
1016Spain2024-05-31
1017Argentina2024-06-20
1018Argentina2024-06-05
1019Australia2024-06-21
1020Brazil2024-06-19
1021Brazil2024-05-25
1022Italy2024-06-20
1023Canada2024-06-03
1024United Kingdom2024-06-18
1025Brazil2024-06-15
1026Brazil2024-05-30
1027Brazil2024-05-26
1028Russia2024-05-25
1029Canada2024-06-10
1030France2024-06-10
1031India2024-06-05
1032France2024-06-20
1033India2024-05-27
1034Italy2024-05-29
1035United Kingdom2024-06-07
1036Argentina2024-06-06
1037Germany2024-06-22
1038Japan2024-06-02
1039Russia2024-06-07
1040France2024-05-29
1041Spain2024-06-14
1042Canada2024-06-04
1043Argentina2024-06-01
1044Italy2024-06-18
1045France2024-05-28
1046Russia2024-06-02
1047Russia2024-06-10
1048India2024-06-10
1049Brazil2024-06-16

On-Demand Data

NameIdCountryDate
Maisha V Stockham1000Germany2024-06-07
Faith C Morasca1001Brazil2024-05-30
Ivar V Glick1002India2024-06-17
Murillo U Schemmer1003Argentina2024-06-23
Arvin H Nicka1004Brazil2024-06-02
Faith E Shinko1005Russia2024-05-28
Ashley P Ruta1006India2024-06-20
Mujtaba Z Schemmer1007United Kingdom2024-05-28
Alejandro H Iturbide1008France2024-06-17
Aruna J Butt1009Russia2024-06-23
Arvin Y Amigon1010Canada2024-06-11
Antonio A Rulapaugh1011France2024-06-04
Adams E Kusko1012Germany2024-06-04
Mujtaba G Rim1013Canada2024-06-16
Isabel B Glick1014Brazil2024-05-29
Faith S Foller1015Italy2024-06-22
Mayumi G Venere1016United Kingdom2024-06-13
Antonio J Glick1017United Kingdom2024-06-07
Aditya M Campain1018Germany2024-06-12
Francesco Z Wieser1019Argentina2024-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David B KolmetzArgentinaAmy Elsner QUALIFIED
Aruna G FigeroaArgentinaIvan Magalhaes QUALIFIED
Francesco K StockhamFranceIvan Magalhaes NEGOTIATION
Deepesh P MacleadIndiaOnyama Limba UNQUALIFIED
Maria E SchemmerIndiaIoni Bowcher RENEWAL
Mujtaba D PerinFranceStephen Shaw PROPOSAL
Maisha R ButtArgentinaAnna Fali RENEWAL
Izzy K GarufiAustraliaIvan Magalhaes QUALIFIED
Nicolas N DarakjyRussiaIvan Magalhaes QUALIFIED
Jeanfrancois D GlickRussiaAsiya Javayant UNQUALIFIED
Tony F WhobreySpainAmy Elsner NEGOTIATION
Mayumi F ShinkoItalyAnna Fali NEGOTIATION
Misaki O PerinCanadaOnyama Limba QUALIFIED
Darci Y WieserAustraliaBernardo Dominic UNQUALIFIED
Rodrigues Q FigeroaAustraliaAnna Fali UNQUALIFIED
Antonio P SchemmerFranceStephen Shaw NEGOTIATION
Ricardo H DoeRussiaAmy Elsner UNQUALIFIED
Aika N KuskoItalyIoni Bowcher RENEWAL
Kadeem U WieserRussiaIoni Bowcher PROPOSAL
Izzy O MaletSpainStephen Shaw RENEWAL
Aika J DilliardFranceAmy Elsner NEGOTIATION
Jefferson Q NickaBrazilElwin Sharvill NEGOTIATION
Ricardo Y MorascaUnited KingdomAsiya Javayant NEGOTIATION
Munro L FerenczFranceStephen Shaw UNQUALIFIED
Leja O BologniaUnited KingdomIoni Bowcher NEW
Octavia J OldroydBrazilIvan Magalhaes NEGOTIATION
Stacey C ChuiGermanyAmy Elsner NEW
Aruna C FollerItalyOnyama Limba NEW
Salvatore E AlbaresJapanXuxue Feng UNQUALIFIED
Claire O CaudyCanadaXuxue Feng PROPOSAL
Jennifer O SlusarskiAustraliaAsiya Javayant QUALIFIED
Kadeem A WaycottRussiaAnna Fali QUALIFIED
Leja A CampainItalyAnna Fali NEGOTIATION
Deepesh F ButtIndiaIvan Magalhaes UNQUALIFIED
Mujtaba Z OstroskyIndiaIvan Magalhaes PROPOSAL
Darci C NickaGermanyStephen Shaw QUALIFIED
Misaki O OstroskyJapanOnyama Limba QUALIFIED
Chavez U SaylorsSpainIvan Magalhaes PROPOSAL
Aika T RutaAustraliaOnyama Limba RENEWAL
Ivar S BologniaIndiaXuxue Feng 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>