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
Kadeem K PoquetteJapanIoni Bowcher PROPOSAL
Emily H MacleadCanadaElwin Sharvill NEW
Nicolas T MaletJapanStephen Shaw PROPOSAL
David Q MarrierRussiaIvan Magalhaes NEW
Jones K MacleadItalyOnyama Limba NEGOTIATION
Faith P BologniaRussiaIoni Bowcher RENEWAL
Alejandro U BriddickAustraliaIvan Magalhaes PROPOSAL
Morrow S InouyeJapanIvan Magalhaes QUALIFIED
Jones K MaletFranceStephen Shaw NEGOTIATION
Antonio Q KuskoUnited KingdomAsiya Javayant NEGOTIATION
Tony I RutaAustraliaElwin Sharvill NEW
Izzy S BologniaItalyOnyama Limba NEW
Costa N KolmetzItalyStephen Shaw NEW
Kadeem V VenereFranceOnyama Limba QUALIFIED
Alejandro C DilliardArgentinaIvan Magalhaes RENEWAL
Jeanfrancois C MacleadItalyIoni Bowcher PROPOSAL
Emily V FlosiFranceAsiya Javayant QUALIFIED
Aruna B SchemmerBrazilBernardo Dominic RENEWAL
Misaki M IturbideJapanIoni Bowcher RENEWAL
Claire C VocelkaCanadaAsiya Javayant PROPOSAL
Silvio G MaletBrazilBernardo Dominic NEW
Morrow S IturbideSpainXuxue Feng UNQUALIFIED
Deepesh H ChuiAustraliaOnyama Limba NEGOTIATION
Aruna D GarufiGermanyOnyama Limba RENEWAL
Faith S RoysterArgentinaAsiya Javayant PROPOSAL
Deepesh U FigeroaCanadaIvan Magalhaes QUALIFIED
Aruna N OstroskyCanadaStephen Shaw QUALIFIED
Octavia Q MorascaIndiaElwin Sharvill UNQUALIFIED
Johnson E RulapaughArgentinaAsiya Javayant UNQUALIFIED
Darci Z CampainFranceAnna Fali NEGOTIATION
Jennifer X OstroskyRussiaAsiya Javayant RENEWAL
Deepesh B FerenczItalyAmy Elsner PROPOSAL
Wickens L PoquetteSpainStephen Shaw UNQUALIFIED
Octavia R OstroskyFranceIoni Bowcher NEGOTIATION
Deepesh N KolmetzAustraliaIoni Bowcher NEGOTIATION
Rodrigues X FollerSpainBernardo Dominic NEGOTIATION
Murillo E StockhamJapanOnyama Limba RENEWAL
Sinclair T IturbideAustraliaElwin Sharvill NEW
Costa V VenereFranceBernardo Dominic RENEWAL
Antonio N PerinArgentinaIoni Bowcher QUALIFIED
Greenwood U GlickAustraliaIvan Magalhaes RENEWAL
Mayumi A PaprockiFranceAnna Fali QUALIFIED
Smith P WaycottAustraliaXuxue Feng NEW
Cody Q WaycottIndiaIoni Bowcher QUALIFIED
Leja T InouyeIndiaXuxue Feng UNQUALIFIED
David W OldroydItalyBernardo Dominic PROPOSAL
Sinclair Z DoeIndiaOnyama Limba UNQUALIFIED
Misaki V MaletItalyXuxue Feng RENEWAL
Juan R FigeroaJapanStephen Shaw NEW
Isabel D WhobreyFranceStephen Shaw PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Ricardo W WhobreyUnited KingdomAmy Elsner PROPOSAL
Smith O IturbideJapanAsiya Javayant RENEWAL
Nicolas L GauchoSpainIvan Magalhaes UNQUALIFIED
Julie U DilliardBrazilXuxue Feng UNQUALIFIED
Greenwood S OldroydGermanyAmy Elsner NEGOTIATION
Darci E FlosiRussiaXuxue Feng NEW
Antonio B SaylorsIndiaXuxue Feng NEGOTIATION
Mayumi H VenereCanadaBernardo Dominic NEGOTIATION
Mayumi Y NestleUnited KingdomIoni Bowcher NEGOTIATION
Aditya Q GarufiAustraliaIvan Magalhaes QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo M DoeBrazil2024-06-21Chanay, Jeffrey A Esq PROPOSAL40Stephen Shaw
1001Adams Z GauchoBrazil2024-05-27Rangoni Of Florence NEGOTIATION50Xuxue Feng
1002Aruna N VenereArgentina2024-06-22Commercial Press RENEWAL28Onyama Limba
1003Juan G FollerFrance2024-05-25Truhlar And Truhlar Attys NEW59Onyama Limba
1004Leon X GauchoCanada2024-05-26Morlong Associates NEW31Onyama Limba
1005Mayumi F DarakjyAustralia2024-06-03Dorl, James J Esq QUALIFIED41Amy Elsner
1006Smith C ShinkoUnited Kingdom2024-05-27King, Christopher A Esq QUALIFIED9Asiya Javayant
1007Jeanfrancois K WhobreySpain2024-06-05Chapman, Ross E Esq PROPOSAL30Bernardo Dominic
1008Stacey H GarufiUnited Kingdom2024-06-08Chapman, Ross E Esq NEW28Asiya Javayant
1009Johnson T StensethAustralia2024-06-07Morlong Associates UNQUALIFIED12Onyama Limba
1010Mayumi M StensethItaly2024-06-05Benton, John B Jr QUALIFIED21Xuxue Feng
1011Misaki F DarakjyCanada2024-06-12Buckley Miller Wright QUALIFIED4Ivan Magalhaes
1012James Y TollnerItaly2024-06-03Chapman, Ross E Esq NEGOTIATION28Asiya Javayant
1013Misaki R NickaArgentina2024-06-10Rangoni Of Florence NEW20Asiya Javayant
1014Kadeem J OstroskyGermany2024-05-25Chemel, James L Cpa NEGOTIATION58Ioni Bowcher
1015Jefferson M FlosiItaly2024-06-06Feltz Printing Service NEGOTIATION95Asiya Javayant
1016Aruna A MacleadArgentina2024-06-02Feiner Bros QUALIFIED61Elwin Sharvill
1017Rodrigues B KolmetzJapan2024-06-15Buckley Miller Wright UNQUALIFIED87Stephen Shaw
1018Julie S FerenczCanada2024-06-12Chemel, James L Cpa NEW59Elwin Sharvill
1019Adams A FollerFrance2024-06-15Dorl, James J Esq NEW45Asiya Javayant
1020Misaki F BologniaBrazil2024-05-25Feiner Bros NEGOTIATION59Asiya Javayant
1021Morrow W DarakjyRussia2024-05-25King, Christopher A Esq NEW59Bernardo Dominic
1022James M RoysterBrazil2024-06-06Chapman, Ross E Esq NEW14Ioni Bowcher
1023Ashley M RulapaughUnited Kingdom2024-05-30King, Christopher A Esq NEGOTIATION38Onyama Limba
1024Ivar R GillianJapan2024-06-17Morlong Associates PROPOSAL91Anna Fali
1025Maisha P PoquetteItaly2024-06-13Benton, John B Jr PROPOSAL24Anna Fali
1026Aruna N StensethAustralia2024-06-07Rangoni Of Florence NEW28Onyama Limba
1027Antonio L FerenczGermany2024-05-31Morlong Associates UNQUALIFIED89Amy Elsner
1028Maisha E ShinkoSpain2024-06-19Feltz Printing Service UNQUALIFIED23Stephen Shaw
1029Mayumi Y MacleadBrazil2024-06-21Commercial Press PROPOSAL13Xuxue Feng
1030Stacey Y PoquetteArgentina2024-05-27Chemel, James L Cpa QUALIFIED69Stephen Shaw
1031Jeanfrancois W KuskoIndia2024-06-09Printing Dimensions NEGOTIATION2Ioni Bowcher
1032Maria J NickaFrance2024-06-10Buckley Miller Wright PROPOSAL46Stephen Shaw
1033Jefferson K KolmetzArgentina2024-06-06Chapman, Ross E Esq UNQUALIFIED51Anna Fali
1034Isabel E FigeroaIndia2024-06-06Benton, John B Jr PROPOSAL24Bernardo Dominic
1035Leon H PerinIndia2024-06-05Chemel, James L Cpa UNQUALIFIED63Amy Elsner
1036Nicolas K MaletSpain2024-05-26Buckley Miller Wright UNQUALIFIED25Ioni Bowcher
1037Murillo E AmigonRussia2024-05-25Morlong Associates RENEWAL16Bernardo Dominic
1038Claire X PoquetteArgentina2024-06-14Printing Dimensions QUALIFIED73Ivan Magalhaes
1039David P AmigonFrance2024-06-14Truhlar And Truhlar Attys NEW14Stephen Shaw
1040Salvatore A PoquetteSpain2024-06-14Morlong Associates PROPOSAL18Xuxue Feng
1041Francesco M NestleGermany2024-06-04Truhlar And Truhlar Attys QUALIFIED16Elwin Sharvill
1042Adams G DilliardRussia2024-06-11Chapman, Ross E Esq PROPOSAL79Elwin Sharvill
1043Ashley A BriddickItaly2024-05-26Morlong Associates UNQUALIFIED52Xuxue Feng
1044Kaitlin Y FollerItaly2024-05-24Feltz Printing Service NEW97Xuxue Feng
1045Chavez M StockhamUnited Kingdom2024-06-09Chemel, James L Cpa NEW83Ioni Bowcher
1046Arvin C RimJapan2024-06-01Truhlar And Truhlar Attys NEW15Asiya Javayant
1047Alejandro E ShinkoArgentina2024-06-16King, Christopher A Esq NEGOTIATION21Amy Elsner
1048Johnson U FerenczSpain2024-06-06King, Christopher A Esq PROPOSAL46Bernardo Dominic
1049Murillo B IturbideJapan2024-06-04Benton, John B Jr NEW24Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Leon B FollerIndiaBernardo Dominic PROPOSAL
Deepesh N RutaSpainOnyama Limba QUALIFIED
Aika Y ChuiAustraliaElwin Sharvill PROPOSAL
Arvin Z SergiJapanElwin Sharvill NEW
Salvatore J FlosiRussiaIvan Magalhaes NEW
Mujtaba K DoeSpainAmy Elsner RENEWAL
Johnson A WieserFranceElwin Sharvill UNQUALIFIED
Jennifer P MacleadIndiaIvan Magalhaes NEW
Nicolas F CaldareraAustraliaElwin Sharvill UNQUALIFIED
Clifford G StensethSpainOnyama Limba UNQUALIFIED
Faith Z BriddickGermanyAnna Fali PROPOSAL
Deepesh O NestleSpainAnna Fali QUALIFIED
Maria B StockhamBrazilIoni Bowcher UNQUALIFIED
James B DoeItalyBernardo Dominic QUALIFIED
Johnson F MaletUnited KingdomIvan Magalhaes RENEWAL
Isabel N GillianIndiaStephen Shaw UNQUALIFIED
Clifford Y CaldareraBrazilIvan Magalhaes NEW
Silvio F VocelkaFranceAmy Elsner NEW
Ricardo J AmigonArgentinaElwin Sharvill RENEWAL
Octavia A SlusarskiSpainAmy Elsner PROPOSAL
Darci F BriddickRussiaXuxue Feng QUALIFIED
Juan A MaletRussiaXuxue Feng QUALIFIED
Misaki C WieserSpainAnna Fali UNQUALIFIED
Cody V ButtIndiaAsiya Javayant RENEWAL
Darci I MorascaSpainAnna Fali PROPOSAL
Wickens Y VocelkaFranceAnna Fali QUALIFIED
David P ShinkoAustraliaStephen Shaw NEGOTIATION
Izzy J GillianArgentinaAsiya Javayant UNQUALIFIED
Maisha Z WhobreyFranceAnna Fali RENEWAL
Maisha N StockhamArgentinaStephen Shaw UNQUALIFIED
Johnson V KuskoCanadaIvan Magalhaes NEW
Tony U KolmetzSpainBernardo Dominic NEGOTIATION
Salvatore T RimSpainStephen Shaw QUALIFIED
Munro W BowleyIndiaOnyama Limba QUALIFIED
Rodrigues S NickaFranceAsiya Javayant RENEWAL
Stacey S PaprockiAustraliaOnyama Limba RENEWAL
Jefferson Q FigeroaFranceIoni Bowcher NEW
Kaitlin G KuskoItalyBernardo Dominic UNQUALIFIED
Wickens L FigeroaIndiaOnyama Limba NEW
Misaki A MacleadJapanElwin Sharvill QUALIFIED
Salvatore N GarufiIndiaAsiya Javayant UNQUALIFIED
Munro G InouyeFranceStephen Shaw PROPOSAL
Aruna Y CaldareraAustraliaStephen Shaw NEGOTIATION
Maisha J WaycottSpainIvan Magalhaes QUALIFIED
Clifford L AmigonIndiaAnna Fali NEW
Munro O WieserUnited KingdomAsiya Javayant UNQUALIFIED
Salvatore G RutaUnited KingdomAsiya Javayant NEW
Mayumi L CaudyArgentinaAsiya Javayant QUALIFIED
Sinclair Y BowleyAustraliaAnna Fali NEW
Misaki Y MaletSpainElwin Sharvill NEGOTIATION
Frozen Columns
Name
Jones B Briddick
Wickens H Nicka
Adams X Bolognia
Maria H Morasca
Tony C Campain
Leon J Dilliard
Leja A Albares
Leja Z Wieser
Ricardo Y Campain
Sinclair G Slusarski
Greenwood N Malet
Maria T Marrier
Francesco V Inouye
Arvin T Rim
Aruna T Doe
Adams Q Flosi
Faith G Perin
Murillo X Nicka
Jones A Amigon
Arvin K Waycott
Izzy N Garufi
Rodrigues W Maclead
Jefferson L Albares
Emily D Poquette
Wickens W Dilliard
Alejandro Y Foller
Deepesh T Briddick
Izzy Q Vocelka
Darci L Tollner
Maria A Stockham
Darci M Royster
Aruna M Dilliard
Greenwood B Inouye
Maria O Albares
Ricardo B Marrier
Antonio E Shinko
Jennifer A Albares
Salvatore A Shinko
Tony Z Amigon
Wickens P Iturbide
Deepesh J Venere
Octavia D Marrier
Munro D Venere
Ivar O Vocelka
Jones G Sergi
Clifford Q Nicka
Smith V Albares
Morrow U Flosi
Aruna Z Ferencz
Arvin V Slusarski
IdCountryDate
1000Brazil2024-05-27
1001Japan2024-06-03
1002Russia2024-05-28
1003Brazil2024-06-15
1004Australia2024-06-08
1005Italy2024-06-07
1006Spain2024-06-22
1007Canada2024-06-07
1008Australia2024-05-28
1009France2024-06-08
1010Germany2024-06-16
1011Canada2024-06-04
1012United Kingdom2024-06-07
1013Spain2024-06-17
1014Japan2024-06-11
1015Japan2024-05-27
1016Japan2024-05-26
1017India2024-05-31
1018Brazil2024-06-22
1019Italy2024-06-21
1020France2024-06-08
1021Spain2024-06-01
1022Argentina2024-06-02
1023Spain2024-05-29
1024Australia2024-06-15
1025Argentina2024-05-24
1026India2024-05-29
1027Germany2024-06-02
1028India2024-06-13
1029Argentina2024-06-10
1030Russia2024-06-10
1031United Kingdom2024-06-12
1032Brazil2024-06-07
1033Australia2024-05-30
1034Canada2024-06-03
1035Argentina2024-06-09
1036Japan2024-06-12
1037Canada2024-06-04
1038Australia2024-05-31
1039Japan2024-06-14
1040Brazil2024-05-29
1041Spain2024-06-05
1042India2024-06-01
1043France2024-06-16
1044Argentina2024-06-10
1045Brazil2024-06-18
1046Argentina2024-06-09
1047Australia2024-06-09
1048Brazil2024-06-06
1049Australia2024-06-10

On-Demand Data

NameIdCountryDate
Octavia X Malet1000France2024-05-24
Ashley C Garufi1001Russia2024-06-11
Adams V Tollner1002Japan2024-05-27
Antonio I Chui1003United Kingdom2024-06-12
Julie A Foller1004Russia2024-05-25
Octavia H Tollner1005Spain2024-05-26
James E Poquette1006Russia2024-06-12
Sinclair O Kusko1007Japan2024-05-24
Izzy I Chui1008Australia2024-06-16
Jennifer Y Whobrey1009Germany2024-06-06
Faith N Rim1010Russia2024-06-10
Chavez B Caudy1011Germany2024-06-06
Juan B Foller1012Brazil2024-06-13
Octavia I Ruta1013Japan2024-06-09
Ivar B Venere1014Russia2024-06-08
Claire O Malet1015Russia2024-06-22
Rodrigues L Kusko1016Australia2024-05-30
Ashley I Wieser1017Canada2024-06-12
Murillo O Stockham1018Canada2024-06-11
Maisha Q Perin1019Germany2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio S KolmetzArgentinaIoni Bowcher QUALIFIED
Leja N BologniaArgentinaElwin Sharvill UNQUALIFIED
Jones H SaylorsSpainAnna Fali QUALIFIED
Isabel P KolmetzGermanyBernardo Dominic PROPOSAL
Aika U DilliardCanadaStephen Shaw NEGOTIATION
Salvatore W RimSpainOnyama Limba QUALIFIED
James V GauchoCanadaAsiya Javayant RENEWAL
Tony J InouyeFranceIvan Magalhaes RENEWAL
Johnson Q AlbaresRussiaElwin Sharvill UNQUALIFIED
Murillo S AmigonCanadaOnyama Limba UNQUALIFIED
Jennifer C DilliardAustraliaAmy Elsner NEGOTIATION
Alejandro I ButtJapanOnyama Limba NEGOTIATION
Munro D VocelkaSpainAnna Fali PROPOSAL
Misaki F VenereAustraliaXuxue Feng NEW
Murillo H StensethUnited KingdomIoni Bowcher PROPOSAL
Munro E GillianIndiaIoni Bowcher NEGOTIATION
Nicolas A RoysterFranceOnyama Limba UNQUALIFIED
Jefferson D BriddickRussiaXuxue Feng QUALIFIED
David E ButtGermanyAnna Fali QUALIFIED
Salvatore S CampainCanadaOnyama Limba NEGOTIATION
Adams J SlusarskiSpainStephen Shaw RENEWAL
Izzy N GarufiUnited KingdomOnyama Limba UNQUALIFIED
Claire H SlusarskiItalyElwin Sharvill QUALIFIED
Alejandro U TollnerFranceOnyama Limba QUALIFIED
Izzy V CampainIndiaElwin Sharvill RENEWAL
Johnson B SchemmerBrazilIoni Bowcher PROPOSAL
Rodrigues U OstroskyRussiaBernardo Dominic UNQUALIFIED
Isabel C KolmetzSpainAsiya Javayant UNQUALIFIED
Francesco V DarakjyCanadaIvan Magalhaes UNQUALIFIED
Aditya A BologniaItalyElwin Sharvill QUALIFIED
Cody Y KolmetzIndiaBernardo Dominic UNQUALIFIED
Julie R DarakjyUnited KingdomIoni Bowcher RENEWAL
Tony T MarrierCanadaStephen Shaw RENEWAL
Emily V BowleyGermanyBernardo Dominic NEGOTIATION
Mujtaba T WaycottItalyElwin Sharvill QUALIFIED
Costa L VenereJapanIvan Magalhaes QUALIFIED
Juan H MaletSpainIvan Magalhaes QUALIFIED
Mujtaba U VocelkaSpainAsiya Javayant NEW
Leja A MacleadGermanyXuxue Feng NEGOTIATION
Antonio W GillianJapanStephen Shaw QUALIFIED

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