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
Ricardo B RulapaughFranceBernardo Dominic QUALIFIED
Julie G MarrierFranceIvan Magalhaes UNQUALIFIED
Octavia L AmigonRussiaAsiya Javayant NEW
Deepesh V IturbideAustraliaAmy Elsner NEGOTIATION
Tony R SaylorsArgentinaBernardo Dominic PROPOSAL
Greenwood O SergiIndiaIoni Bowcher RENEWAL
Juan M IturbideIndiaBernardo Dominic UNQUALIFIED
Julie F FerenczCanadaOnyama Limba NEW
Aruna I MarrierJapanAsiya Javayant NEW
Maria A MorascaIndiaOnyama Limba NEW
Ricardo S MarrierUnited KingdomBernardo Dominic UNQUALIFIED
Salvatore H NestleItalyBernardo Dominic PROPOSAL
Maisha I VocelkaSpainAsiya Javayant NEW
Ashley O CaldareraFranceStephen Shaw QUALIFIED
Julie F StockhamUnited KingdomIoni Bowcher QUALIFIED
Adams M NestleAustraliaXuxue Feng QUALIFIED
David Z MaletBrazilXuxue Feng RENEWAL
Isabel N TollnerUnited KingdomIoni Bowcher UNQUALIFIED
Alejandro U AmigonAustraliaIvan Magalhaes RENEWAL
Claire M NickaRussiaOnyama Limba QUALIFIED
Leon R SchemmerFranceIoni Bowcher QUALIFIED
Mujtaba K MarrierJapanStephen Shaw QUALIFIED
Jefferson W WieserRussiaAnna Fali QUALIFIED
Claire V FlosiUnited KingdomStephen Shaw NEW
Leon H MorascaAustraliaStephen Shaw NEW
Stacey F RutaRussiaAmy Elsner UNQUALIFIED
Francesco R FerenczCanadaIoni Bowcher NEW
Darci O GarufiIndiaElwin Sharvill PROPOSAL
Tony J GarufiArgentinaAsiya Javayant NEGOTIATION
Nicolas U BriddickJapanXuxue Feng NEGOTIATION
Maisha U VocelkaItalyAsiya Javayant QUALIFIED
Jones J FigeroaCanadaAsiya Javayant QUALIFIED
Jefferson Y KolmetzJapanAsiya Javayant QUALIFIED
Clifford G AmigonAustraliaAsiya Javayant RENEWAL
Kadeem O PoquetteBrazilElwin Sharvill NEGOTIATION
Adams W TollnerSpainOnyama Limba NEW
Arvin W BriddickGermanyStephen Shaw RENEWAL
Octavia O ChuiSpainIvan Magalhaes NEW
Silvio S MacleadRussiaXuxue Feng RENEWAL
Izzy O FigeroaSpainXuxue Feng QUALIFIED
Stacey T SaylorsGermanyXuxue Feng RENEWAL
Adams U NestleIndiaIoni Bowcher NEW
Cody F WaycottUnited KingdomAnna Fali UNQUALIFIED
Leon C RimItalyStephen Shaw NEGOTIATION
Stacey J MarrierFranceOnyama Limba NEW
Munro Z MacleadGermanyAnna Fali PROPOSAL
Misaki T WaycottFranceBernardo Dominic QUALIFIED
Clifford T MaletJapanAsiya Javayant PROPOSAL
Antonio S StockhamRussiaAmy Elsner NEGOTIATION
Ashley R OldroydGermanyElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jones K ChuiRussiaAmy Elsner NEW
Leon R VocelkaGermanyOnyama Limba NEGOTIATION
Mayumi V InouyeAustraliaAsiya Javayant QUALIFIED
Aika I ChuiGermanyElwin Sharvill QUALIFIED
Leja R RutaItalyStephen Shaw QUALIFIED
Munro I NickaItalyBernardo Dominic RENEWAL
Izzy C GillianRussiaElwin Sharvill UNQUALIFIED
Jeanfrancois Y MaletSpainAnna Fali PROPOSAL
Munro E RimRussiaElwin Sharvill PROPOSAL
Greenwood U NickaSpainXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci E CaldareraAustralia2024-05-27Commercial Press NEGOTIATION88Bernardo Dominic
1001Jefferson Q DilliardJapan2024-05-16Dorl, James J Esq RENEWAL55Xuxue Feng
1002Smith N SlusarskiItaly2024-06-05Printing Dimensions NEGOTIATION39Ioni Bowcher
1003Faith F MacleadCanada2024-05-21Commercial Press NEGOTIATION75Stephen Shaw
1004Misaki A BologniaItaly2024-05-23Dorl, James J Esq UNQUALIFIED29Ivan Magalhaes
1005Morrow F OstroskyFrance2024-05-24Buckley Miller Wright UNQUALIFIED49Ioni Bowcher
1006Tony Q WieserGermany2024-05-19Truhlar And Truhlar Attys PROPOSAL41Asiya Javayant
1007Isabel O GauchoUnited Kingdom2024-05-27Benton, John B Jr RENEWAL32Stephen Shaw
1008Mayumi S RulapaughCanada2024-05-24Printing Dimensions UNQUALIFIED21Xuxue Feng
1009Nicolas E GarufiSpain2024-05-29Chanay, Jeffrey A Esq NEGOTIATION22Ivan Magalhaes
1010Greenwood H AmigonRussia2024-06-02Rangoni Of Florence PROPOSAL25Asiya Javayant
1011Francesco L FollerSpain2024-06-04Truhlar And Truhlar Attys NEGOTIATION5Elwin Sharvill
1012Deepesh R RimIndia2024-05-22Chapman, Ross E Esq RENEWAL31Stephen Shaw
1013Jeanfrancois W GarufiItaly2024-06-07Feltz Printing Service PROPOSAL43Ivan Magalhaes
1014Julie N OldroydItaly2024-06-14Benton, John B Jr RENEWAL88Bernardo Dominic
1015Greenwood Y GauchoJapan2024-05-22Feiner Bros QUALIFIED84Onyama Limba
1016Juan I VocelkaJapan2024-05-19Chapman, Ross E Esq RENEWAL32Onyama Limba
1017Rodrigues O DilliardArgentina2024-05-28Morlong Associates NEW72Bernardo Dominic
1018Faith B PerinUnited Kingdom2024-05-18Rousseaux, Michael Esq UNQUALIFIED57Bernardo Dominic
1019Cody F KolmetzUnited Kingdom2024-05-16Printing Dimensions NEGOTIATION64Onyama Limba
1020Nicolas P AlbaresUnited Kingdom2024-05-25Feltz Printing Service UNQUALIFIED41Elwin Sharvill
1021Jeanfrancois Z TollnerAustralia2024-06-07King, Christopher A Esq UNQUALIFIED22Onyama Limba
1022Leja U GarufiItaly2024-06-11Chemel, James L Cpa UNQUALIFIED6Xuxue Feng
1023James E BriddickIndia2024-06-02Buckley Miller Wright RENEWAL91Ioni Bowcher
1024Juan A FlosiSpain2024-06-02Truhlar And Truhlar Attys QUALIFIED0Onyama Limba
1025Stacey I WieserFrance2024-06-09Commercial Press RENEWAL14Onyama Limba
1026Kadeem I NickaAustralia2024-05-23Feiner Bros NEGOTIATION23Bernardo Dominic
1027Sinclair Y FlosiArgentina2024-05-23Buckley Miller Wright QUALIFIED92Onyama Limba
1028Jennifer Y SergiFrance2024-06-03Commercial Press RENEWAL19Xuxue Feng
1029Cody A BowleyFrance2024-05-18Chanay, Jeffrey A Esq RENEWAL15Amy Elsner
1030Murillo C RutaUnited Kingdom2024-06-05Feltz Printing Service NEGOTIATION75Anna Fali
1031Aika Y FlosiRussia2024-06-06Commercial Press UNQUALIFIED26Anna Fali
1032Wickens M MarrierItaly2024-06-07Chapman, Ross E Esq QUALIFIED21Elwin Sharvill
1033Salvatore J CaudyFrance2024-06-06Rousseaux, Michael Esq QUALIFIED96Ioni Bowcher
1034Izzy E OldroydItaly2024-05-30Chanay, Jeffrey A Esq UNQUALIFIED81Onyama Limba
1035Octavia Y FlosiArgentina2024-05-26Feiner Bros NEGOTIATION10Anna Fali
1036Jennifer X WaycottAustralia2024-06-04King, Christopher A Esq NEW18Ivan Magalhaes
1037Maria D FerenczAustralia2024-05-24Commercial Press NEW61Stephen Shaw
1038Ricardo P MaletJapan2024-06-12Chemel, James L Cpa RENEWAL16Anna Fali
1039Faith G CaldareraIndia2024-06-01Printing Dimensions NEGOTIATION70Stephen Shaw
1040Cody Z NickaArgentina2024-05-20Dorl, James J Esq QUALIFIED65Onyama Limba
1041Misaki A StensethArgentina2024-06-12Chapman, Ross E Esq UNQUALIFIED0Anna Fali
1042James W VocelkaCanada2024-05-21Chanay, Jeffrey A Esq PROPOSAL58Ioni Bowcher
1043Emily S ShinkoRussia2024-05-17Chemel, James L Cpa PROPOSAL41Onyama Limba
1044Julie K SlusarskiBrazil2024-06-05Chanay, Jeffrey A Esq QUALIFIED79Elwin Sharvill
1045Wickens F StensethGermany2024-06-07Chapman, Ross E Esq RENEWAL58Bernardo Dominic
1046Jones C KuskoFrance2024-05-27Feltz Printing Service QUALIFIED65Asiya Javayant
1047Smith M TollnerJapan2024-05-23Rousseaux, Michael Esq QUALIFIED99Xuxue Feng
1048Maria L RulapaughJapan2024-05-23Buckley Miller Wright UNQUALIFIED81Stephen Shaw
1049Antonio R DarakjyIndia2024-06-05Truhlar And Truhlar Attys PROPOSAL51Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Julie T GlickFranceOnyama Limba NEW
Rodrigues M MacleadGermanyAsiya Javayant NEW
Salvatore F AmigonIndiaIvan Magalhaes NEW
Misaki L InouyeAustraliaAsiya Javayant NEGOTIATION
Sinclair I StockhamCanadaIvan Magalhaes QUALIFIED
Jennifer J TollnerFranceAnna Fali QUALIFIED
Arvin S SergiFranceBernardo Dominic UNQUALIFIED
Maisha C PaprockiIndiaIoni Bowcher PROPOSAL
Kaitlin W RulapaughArgentinaAsiya Javayant RENEWAL
Mujtaba B IturbideItalyAnna Fali NEGOTIATION
Jones I GlickAustraliaXuxue Feng PROPOSAL
Isabel C AmigonRussiaOnyama Limba QUALIFIED
Rodrigues L SergiAustraliaAsiya Javayant RENEWAL
Wickens X MorascaRussiaIoni Bowcher QUALIFIED
Izzy T StensethGermanyIoni Bowcher NEGOTIATION
Darci I PerinIndiaAmy Elsner RENEWAL
Deepesh N GillianItalyOnyama Limba RENEWAL
Tony P RutaAustraliaElwin Sharvill PROPOSAL
Aika O CampainAustraliaAmy Elsner UNQUALIFIED
Wickens F ShinkoCanadaAmy Elsner NEW
Aika Q BriddickArgentinaOnyama Limba NEW
Jennifer P SaylorsCanadaAmy Elsner RENEWAL
Alejandro X RoysterBrazilOnyama Limba PROPOSAL
Darci G MorascaIndiaAsiya Javayant UNQUALIFIED
Leja U FigeroaBrazilXuxue Feng PROPOSAL
Ricardo D StensethFranceAnna Fali UNQUALIFIED
Chavez O AmigonFranceIoni Bowcher PROPOSAL
Emily Z VenereCanadaIoni Bowcher PROPOSAL
Adams A MorascaCanadaAsiya Javayant UNQUALIFIED
Mujtaba N KolmetzArgentinaStephen Shaw RENEWAL
Munro I BowleyAustraliaOnyama Limba QUALIFIED
Darci K ButtItalyStephen Shaw NEGOTIATION
Deepesh C GillianRussiaXuxue Feng PROPOSAL
Cody N AlbaresBrazilIvan Magalhaes RENEWAL
Claire Q DarakjyBrazilIoni Bowcher NEW
James C WaycottRussiaIoni Bowcher RENEWAL
Claire N PerinFranceXuxue Feng UNQUALIFIED
Murillo A SaylorsJapanAsiya Javayant NEGOTIATION
Costa J PaprockiRussiaAnna Fali NEGOTIATION
Leon I RulapaughRussiaAsiya Javayant QUALIFIED
Munro Q GarufiUnited KingdomBernardo Dominic RENEWAL
Octavia W MacleadCanadaAmy Elsner UNQUALIFIED
Jennifer Z BologniaArgentinaAmy Elsner NEW
Mujtaba K KolmetzJapanAsiya Javayant RENEWAL
Misaki J VocelkaIndiaElwin Sharvill UNQUALIFIED
Alejandro F NestleBrazilBernardo Dominic RENEWAL
Jeanfrancois S AmigonFranceOnyama Limba NEW
Cody X FigeroaFranceElwin Sharvill NEGOTIATION
Jennifer F BologniaItalyOnyama Limba NEGOTIATION
Smith H FlosiUnited KingdomAmy Elsner RENEWAL
Frozen Columns
Name
Claire H Foller
Octavia F Venere
Stacey K Bowley
Izzy O Saylors
Jefferson Z Slusarski
Arvin D Chui
Wickens U Figeroa
Sinclair O Perin
Maisha Y Briddick
David D Stockham
Faith H Nicka
Aruna R Rulapaugh
Greenwood C Chui
Jones H Vocelka
Jennifer B Darakjy
Jefferson I Albares
Greenwood H Slusarski
Greenwood S Morasca
Ivar M Malet
Murillo C Chui
Sinclair S Morasca
Leja V Dilliard
Leja S Royster
Costa B Gillian
Aditya Y Sergi
Isabel R Tollner
Julie U Rim
Misaki W Nestle
Ivar Z Royster
Silvio F Chui
Smith W Inouye
Juan M Amigon
Jeanfrancois G Maclead
Leon O Albares
Leon T Whobrey
Mayumi V Glick
Misaki D Perin
Munro K Saylors
Stacey O Albares
Cody B Malet
Juan A Paprocki
Salvatore A Doe
Ashley X Ruta
Darci Q Marrier
Jefferson E Caudy
Sinclair Q Kusko
Jennifer A Oldroyd
Aruna Y Foller
Murillo L Doe
Darci P Maclead
IdCountryDate
1000Russia2024-05-18
1001India2024-05-25
1002Argentina2024-05-23
1003Japan2024-06-11
1004Japan2024-06-06
1005Argentina2024-06-14
1006Russia2024-06-09
1007France2024-06-12
1008Italy2024-06-10
1009Brazil2024-05-25
1010Japan2024-05-17
1011Spain2024-05-27
1012Argentina2024-05-17
1013Argentina2024-06-05
1014Italy2024-06-04
1015Germany2024-05-23
1016United Kingdom2024-05-16
1017Argentina2024-06-01
1018Australia2024-06-09
1019Canada2024-05-29
1020Argentina2024-05-17
1021India2024-05-27
1022Italy2024-06-05
1023Germany2024-06-05
1024Spain2024-06-13
1025Russia2024-05-22
1026Canada2024-06-01
1027Russia2024-06-11
1028Canada2024-06-03
1029Australia2024-05-17
1030France2024-05-21
1031Australia2024-06-01
1032Brazil2024-05-16
1033France2024-05-27
1034Russia2024-06-11
1035Germany2024-06-05
1036Australia2024-05-20
1037Germany2024-06-08
1038Argentina2024-06-06
1039Brazil2024-05-20
1040Spain2024-05-23
1041Argentina2024-05-25
1042Argentina2024-06-06
1043Argentina2024-06-09
1044Japan2024-06-08
1045France2024-05-31
1046France2024-06-10
1047Russia2024-05-27
1048Italy2024-06-13
1049Brazil2024-06-11

On-Demand Data

NameIdCountryDate
Octavia K Garufi1000India2024-05-23
Deepesh F Kusko1001India2024-06-13
Murillo X Rim1002Brazil2024-06-07
Leon I Malet1003France2024-06-14
Clifford R Caudy1004Spain2024-06-08
Murillo W Ferencz1005Spain2024-05-17
Stacey D Albares1006Spain2024-06-04
Murillo G Royster1007Italy2024-05-27
Claire X Oldroyd1008Australia2024-05-17
Murillo Y Bolognia1009Germany2024-05-29
Emily I Flosi1010Japan2024-06-06
Chavez T Poquette1011Spain2024-06-13
Costa E Perin1012France2024-05-24
Misaki W Kolmetz1013Germany2024-06-08
Juan M Tollner1014Germany2024-06-07
Greenwood T Waycott1015United Kingdom2024-05-16
Maisha T Perin1016India2024-05-17
Jeanfrancois A Stockham1017Brazil2024-06-11
Silvio C Kusko1018Canada2024-06-11
Jennifer E Caudy1019United Kingdom2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci D VenereUnited KingdomOnyama Limba NEGOTIATION
Arvin G MorascaAustraliaBernardo Dominic UNQUALIFIED
Cody C AmigonBrazilBernardo Dominic NEW
Faith N FlosiIndiaIoni Bowcher RENEWAL
Greenwood N ButtFranceIoni Bowcher RENEWAL
Cody G WieserUnited KingdomXuxue Feng NEW
Claire R OstroskyRussiaBernardo Dominic QUALIFIED
Deepesh M FlosiRussiaIvan Magalhaes RENEWAL
Aruna Y GillianFranceIvan Magalhaes UNQUALIFIED
Murillo H ChuiGermanyIvan Magalhaes QUALIFIED
Claire N VocelkaGermanyIoni Bowcher PROPOSAL
Leon T IturbideArgentinaStephen Shaw QUALIFIED
Clifford A StockhamAustraliaOnyama Limba UNQUALIFIED
Kaitlin Q VocelkaUnited KingdomBernardo Dominic UNQUALIFIED
Nicolas M NickaCanadaIvan Magalhaes PROPOSAL
Aika N PerinJapanStephen Shaw UNQUALIFIED
Johnson X VenereIndiaAsiya Javayant QUALIFIED
Maria L WieserCanadaOnyama Limba PROPOSAL
Morrow P MaletItalyStephen Shaw PROPOSAL
Izzy D SaylorsCanadaIoni Bowcher NEGOTIATION
Mujtaba R OldroydGermanyBernardo Dominic NEGOTIATION
Rodrigues H ChuiFranceIoni Bowcher NEW
Mujtaba S WieserIndiaOnyama Limba UNQUALIFIED
Faith M NestleGermanyAsiya Javayant NEGOTIATION
Chavez W FerenczFranceAmy Elsner UNQUALIFIED
Leon S BowleyArgentinaAsiya Javayant QUALIFIED
Francesco V WhobreySpainAnna Fali QUALIFIED
Munro A RimRussiaXuxue Feng UNQUALIFIED
Darci Q MorascaBrazilStephen Shaw QUALIFIED
Isabel Z VocelkaSpainAmy Elsner RENEWAL
Mujtaba N FollerRussiaAsiya Javayant UNQUALIFIED
Deepesh L FigeroaFranceElwin Sharvill PROPOSAL
Kaitlin L PerinGermanyStephen Shaw QUALIFIED
Aruna F ButtJapanAmy Elsner PROPOSAL
Julie J CampainSpainBernardo Dominic QUALIFIED
Juan C DilliardFranceOnyama Limba PROPOSAL
Arvin M VenereFranceAsiya Javayant NEW
Chavez L OstroskyRussiaIoni Bowcher RENEWAL
Murillo G VenereGermanyAsiya Javayant NEW
Leja B MorascaUnited KingdomAnna 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>