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 T RutaUnited KingdomAsiya Javayant UNQUALIFIED
Clifford U NickaItalyAmy Elsner PROPOSAL
Costa T DilliardAustraliaIvan Magalhaes RENEWAL
Aika R StockhamGermanyElwin Sharvill NEW
Jennifer Y OldroydArgentinaIoni Bowcher NEGOTIATION
Juan Q RulapaughItalyXuxue Feng RENEWAL
Ricardo Z SergiIndiaBernardo Dominic RENEWAL
Emily H MarrierCanadaAnna Fali QUALIFIED
Murillo J KolmetzFranceElwin Sharvill NEW
James E AmigonSpainIvan Magalhaes NEGOTIATION
Clifford C MaletIndiaIoni Bowcher RENEWAL
Wickens L NickaRussiaOnyama Limba QUALIFIED
Francesco P OstroskyRussiaAmy Elsner NEGOTIATION
Mayumi I StensethArgentinaOnyama Limba UNQUALIFIED
Isabel C NickaRussiaIvan Magalhaes RENEWAL
Aika H FlosiUnited KingdomXuxue Feng UNQUALIFIED
Misaki H PoquetteAustraliaIvan Magalhaes PROPOSAL
Wickens J DilliardFranceXuxue Feng NEW
Greenwood O FollerFranceIoni Bowcher RENEWAL
Leja I IturbideGermanyOnyama Limba NEW
Darci I DoeUnited KingdomAsiya Javayant QUALIFIED
Aika J StensethSpainIoni Bowcher UNQUALIFIED
Jefferson L IturbideArgentinaStephen Shaw NEGOTIATION
Adams F SergiIndiaBernardo Dominic QUALIFIED
Salvatore P FigeroaUnited KingdomAsiya Javayant RENEWAL
Clifford R ShinkoCanadaAsiya Javayant RENEWAL
Kaitlin V NickaIndiaStephen Shaw UNQUALIFIED
Clifford A CaldareraCanadaAsiya Javayant UNQUALIFIED
Mayumi K AmigonUnited KingdomAnna Fali RENEWAL
Rodrigues Z GlickGermanyAsiya Javayant UNQUALIFIED
Wickens N SlusarskiCanadaAsiya Javayant PROPOSAL
Misaki G BologniaSpainOnyama Limba NEGOTIATION
Alejandro R MaletCanadaOnyama Limba QUALIFIED
Octavia B MorascaIndiaIvan Magalhaes PROPOSAL
Mujtaba A ChuiCanadaOnyama Limba NEW
Misaki W GlickIndiaIoni Bowcher NEW
Munro T GlickCanadaAnna Fali PROPOSAL
Kadeem N MacleadBrazilBernardo Dominic NEGOTIATION
Clifford O SaylorsUnited KingdomElwin Sharvill PROPOSAL
Leon G RutaSpainIvan Magalhaes RENEWAL
Aika X FigeroaRussiaIoni Bowcher UNQUALIFIED
Jeanfrancois Q GillianGermanyIoni Bowcher NEW
Francesco E MacleadBrazilXuxue Feng RENEWAL
Faith L FollerCanadaElwin Sharvill RENEWAL
Leja J StensethFranceXuxue Feng NEW
James R FerenczBrazilAnna Fali NEGOTIATION
Kaitlin H PaprockiCanadaOnyama Limba PROPOSAL
Ashley U CampainFranceAnna Fali RENEWAL
Antonio D ChuiAustraliaOnyama Limba UNQUALIFIED
Wickens N FigeroaCanadaBernardo Dominic QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois P GlickUnited KingdomOnyama Limba UNQUALIFIED
Isabel U StockhamCanadaXuxue Feng PROPOSAL
Nicolas O GarufiCanadaAmy Elsner PROPOSAL
Silvio O SlusarskiFranceAsiya Javayant UNQUALIFIED
Jeanfrancois Z WieserUnited KingdomAnna Fali PROPOSAL
Johnson U DilliardAustraliaOnyama Limba PROPOSAL
Ricardo B NestleJapanAsiya Javayant UNQUALIFIED
Clifford Q WaycottJapanOnyama Limba NEGOTIATION
Salvatore E WhobreySpainOnyama Limba QUALIFIED
Juan R WhobreyGermanyIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia P RimJapan2024-09-15Rousseaux, Michael Esq NEGOTIATION88Xuxue Feng
1001Francesco X GillianCanada2024-09-22Printing Dimensions UNQUALIFIED3Onyama Limba
1002Julie U InouyeBrazil2024-09-06Rangoni Of Florence QUALIFIED68Amy Elsner
1003Arvin L MaletBrazil2024-09-04Rousseaux, Michael Esq UNQUALIFIED34Anna Fali
1004Aruna M WhobreyRussia2024-09-01Chapman, Ross E Esq RENEWAL3Ivan Magalhaes
1005Cody S RulapaughIndia2024-08-29Rangoni Of Florence NEW33Onyama Limba
1006Tony T BologniaSpain2024-09-01Commercial Press PROPOSAL34Xuxue Feng
1007Aditya F SlusarskiAustralia2024-09-04Feltz Printing Service NEW50Xuxue Feng
1008Jennifer T CaldareraJapan2024-09-08Morlong Associates UNQUALIFIED76Anna Fali
1009Darci T MaletGermany2024-09-11Feiner Bros UNQUALIFIED63Stephen Shaw
1010Kaitlin W DoeBrazil2024-09-17Chanay, Jeffrey A Esq UNQUALIFIED97Ivan Magalhaes
1011Faith U GarufiFrance2024-08-28Chapman, Ross E Esq RENEWAL81Onyama Limba
1012Isabel J DilliardSpain2024-08-30Buckley Miller Wright QUALIFIED11Elwin Sharvill
1013Arvin S DoeUnited Kingdom2024-09-01Truhlar And Truhlar Attys PROPOSAL19Elwin Sharvill
1014Chavez J WaycottFrance2024-09-07Rangoni Of Florence PROPOSAL8Ioni Bowcher
1015Greenwood T VenereUnited Kingdom2024-09-09Chanay, Jeffrey A Esq PROPOSAL24Ivan Magalhaes
1016Murillo A RulapaughArgentina2024-09-05Commercial Press NEW20Xuxue Feng
1017Aika T SergiUnited Kingdom2024-09-06Morlong Associates NEGOTIATION29Xuxue Feng
1018Adams V MorascaJapan2024-09-11Benton, John B Jr QUALIFIED23Elwin Sharvill
1019Alejandro G ShinkoArgentina2024-09-18Benton, John B Jr QUALIFIED28Asiya Javayant
1020Juan B GauchoUnited Kingdom2024-09-02Printing Dimensions PROPOSAL36Ivan Magalhaes
1021Octavia X MarrierUnited Kingdom2024-09-03Rousseaux, Michael Esq PROPOSAL59Onyama Limba
1022Salvatore Z SaylorsGermany2024-08-29Feiner Bros NEGOTIATION27Asiya Javayant
1023Misaki Z DarakjyCanada2024-08-31Chapman, Ross E Esq PROPOSAL17Amy Elsner
1024Stacey O ChuiCanada2024-09-09Feiner Bros NEGOTIATION28Xuxue Feng
1025Nicolas R PaprockiGermany2024-08-30Feiner Bros NEGOTIATION88Stephen Shaw
1026Mayumi R WieserRussia2024-09-11Truhlar And Truhlar Attys RENEWAL95Ivan Magalhaes
1027Munro K RoysterCanada2024-08-30Buckley Miller Wright UNQUALIFIED94Ioni Bowcher
1028Adams M TollnerSpain2024-09-14Rangoni Of Florence PROPOSAL48Elwin Sharvill
1029Leon D TollnerIndia2024-09-02King, Christopher A Esq UNQUALIFIED5Ivan Magalhaes
1030Leja V WieserItaly2024-09-19Chapman, Ross E Esq NEGOTIATION69Stephen Shaw
1031Aika D PerinJapan2024-09-10King, Christopher A Esq QUALIFIED66Ivan Magalhaes
1032Leon C VenereGermany2024-09-10Feiner Bros QUALIFIED17Ioni Bowcher
1033Rodrigues J RoysterSpain2024-09-12Commercial Press PROPOSAL98Bernardo Dominic
1034Jeanfrancois L WieserAustralia2024-09-12Truhlar And Truhlar Attys NEGOTIATION71Asiya Javayant
1035Rodrigues V CaudyRussia2024-09-14Feiner Bros NEW57Ivan Magalhaes
1036Salvatore V DilliardCanada2024-09-16Morlong Associates NEW36Xuxue Feng
1037Alejandro R AlbaresJapan2024-09-02Benton, John B Jr RENEWAL5Onyama Limba
1038Darci D GauchoRussia2024-08-30Morlong Associates QUALIFIED6Amy Elsner
1039Murillo Z CampainAustralia2024-08-29Commercial Press NEW84Asiya Javayant
1040Alejandro C CampainSpain2024-09-07Dorl, James J Esq UNQUALIFIED27Bernardo Dominic
1041Nicolas K RoysterSpain2024-08-31Feiner Bros NEGOTIATION44Asiya Javayant
1042Mayumi T NickaGermany2024-09-12Printing Dimensions QUALIFIED96Stephen Shaw
1043Nicolas U SaylorsItaly2024-08-27Morlong Associates UNQUALIFIED92Xuxue Feng
1044Adams B PoquetteRussia2024-09-22Morlong Associates QUALIFIED2Asiya Javayant
1045Leja A CampainAustralia2024-09-14Chanay, Jeffrey A Esq NEW20Amy Elsner
1046Jones Z PaprockiArgentina2024-09-07Chapman, Ross E Esq UNQUALIFIED38Onyama Limba
1047Leja U CampainGermany2024-08-25Rangoni Of Florence UNQUALIFIED29Xuxue Feng
1048Chavez X PerinBrazil2024-09-07Commercial Press NEW45Stephen Shaw
1049Faith U PaprockiGermany2024-09-20Benton, John B Jr NEW61Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
David L OstroskyItalyIoni Bowcher PROPOSAL
David B NestleRussiaAmy Elsner QUALIFIED
Leon H MacleadUnited KingdomIvan Magalhaes RENEWAL
Sinclair A ChuiFranceXuxue Feng PROPOSAL
Ivar P CaldareraIndiaAsiya Javayant RENEWAL
Aditya B PerinBrazilElwin Sharvill UNQUALIFIED
Clifford U MorascaGermanyAmy Elsner RENEWAL
David Y ButtArgentinaStephen Shaw RENEWAL
Deepesh T DoeArgentinaElwin Sharvill UNQUALIFIED
Sinclair S ButtAustraliaAmy Elsner NEW
Greenwood C InouyeIndiaBernardo Dominic NEW
Leon E NickaAustraliaIoni Bowcher PROPOSAL
Octavia R MaletSpainIoni Bowcher NEGOTIATION
Johnson B GillianAustraliaAmy Elsner UNQUALIFIED
Leon T MacleadGermanyStephen Shaw NEW
Clifford B ButtRussiaStephen Shaw QUALIFIED
Maria N MorascaJapanStephen Shaw UNQUALIFIED
Ricardo R KolmetzSpainXuxue Feng PROPOSAL
Stacey T MacleadBrazilAsiya Javayant RENEWAL
Jennifer Q WieserIndiaStephen Shaw PROPOSAL
Adams M FigeroaJapanAnna Fali UNQUALIFIED
Salvatore Y OldroydRussiaIvan Magalhaes UNQUALIFIED
Stacey N StensethAustraliaIvan Magalhaes PROPOSAL
Sinclair W IturbideCanadaOnyama Limba NEW
Morrow O NickaArgentinaElwin Sharvill NEW
Chavez R WhobreyCanadaAnna Fali NEW
Leon V PaprockiFranceAsiya Javayant PROPOSAL
Munro O AmigonArgentinaBernardo Dominic NEGOTIATION
Darci Y SergiIndiaBernardo Dominic NEW
Ivar H BologniaJapanAnna Fali NEW
Chavez O SchemmerCanadaStephen Shaw NEW
Wickens I SlusarskiFranceAsiya Javayant NEGOTIATION
Rodrigues Z WaycottUnited KingdomIvan Magalhaes RENEWAL
Morrow Z KolmetzItalyAsiya Javayant PROPOSAL
Ivar J IturbideItalyXuxue Feng PROPOSAL
Wickens S StockhamSpainXuxue Feng RENEWAL
Smith O SaylorsRussiaStephen Shaw NEGOTIATION
Munro I FigeroaSpainAnna Fali NEW
Leon S WieserCanadaXuxue Feng NEW
Octavia H MarrierSpainIvan Magalhaes RENEWAL
Francesco H DarakjyIndiaStephen Shaw QUALIFIED
Aditya I CampainGermanyAsiya Javayant QUALIFIED
Munro F FlosiJapanAmy Elsner NEGOTIATION
Nicolas G RulapaughCanadaStephen Shaw QUALIFIED
Kadeem E RulapaughCanadaOnyama Limba PROPOSAL
Isabel M WhobreyArgentinaIvan Magalhaes NEGOTIATION
Octavia T StensethArgentinaBernardo Dominic UNQUALIFIED
Mayumi F MorascaBrazilAmy Elsner RENEWAL
Jones Z MacleadRussiaStephen Shaw NEW
Antonio N FollerBrazilBernardo Dominic RENEWAL
Frozen Columns
Name
Francesco A Poquette
Jones G Caldarera
Silvio N Rulapaugh
Nicolas N Darakjy
Stacey T Vocelka
Ricardo G Albares
Mujtaba H Kolmetz
Clifford A Tollner
Silvio D Kusko
Misaki J Nestle
Isabel R Paprocki
Silvio Q Schemmer
Jennifer H Perin
Francesco A Glick
Costa Y Garufi
Aika F Foller
Chavez I Poquette
Kadeem I Malet
Chavez O Stenseth
Arvin N Perin
Johnson N Whobrey
Darci U Stockham
Murillo P Royster
Mayumi P Stenseth
Claire A Maclead
Leon I Malet
Jeanfrancois E Whobrey
Aika H Bolognia
David J Inouye
James B Ferencz
Morrow T Nicka
Juan F Venere
Arvin X Iturbide
Greenwood Y Chui
Aika J Ferencz
James M Flosi
Juan V Schemmer
Julie S Butt
Cody K Waycott
Rodrigues D Glick
Antonio Y Slusarski
Adams P Maclead
Francesco I Slusarski
Salvatore N Dilliard
Claire H Schemmer
Murillo M Ferencz
Rodrigues M Doe
Leja E Glick
Kaitlin E Shinko
Faith L Wieser
IdCountryDate
1000Japan2024-08-28
1001Japan2024-09-20
1002France2024-08-28
1003Italy2024-09-07
1004Italy2024-08-28
1005Germany2024-09-12
1006Italy2024-09-02
1007United Kingdom2024-09-07
1008Spain2024-09-06
1009Japan2024-08-31
1010Italy2024-09-20
1011Australia2024-09-04
1012Italy2024-09-15
1013United Kingdom2024-09-21
1014Brazil2024-09-13
1015Japan2024-08-25
1016Canada2024-09-04
1017Brazil2024-09-04
1018Argentina2024-09-11
1019Japan2024-09-14
1020Canada2024-09-01
1021Japan2024-09-11
1022Spain2024-09-17
1023Italy2024-09-06
1024Japan2024-09-16
1025Spain2024-09-15
1026Italy2024-09-07
1027Russia2024-08-25
1028Brazil2024-09-07
1029Germany2024-09-17
1030Brazil2024-09-05
1031France2024-09-09
1032Argentina2024-08-28
1033Italy2024-09-07
1034France2024-08-31
1035Germany2024-09-04
1036India2024-09-19
1037Spain2024-08-30
1038Canada2024-09-16
1039Australia2024-08-28
1040Japan2024-09-13
1041Spain2024-09-19
1042Japan2024-09-14
1043France2024-09-12
1044Spain2024-09-13
1045United Kingdom2024-08-25
1046United Kingdom2024-09-02
1047France2024-08-29
1048France2024-09-14
1049Argentina2024-09-08

On-Demand Data

NameIdCountryDate
Emily R Wieser1000Japan2024-09-21
Smith L Schemmer1001Canada2024-09-19
Aditya Q Dilliard1002United Kingdom2024-09-13
Stacey U Darakjy1003France2024-08-28
Izzy K Glick1004Brazil2024-09-11
Mayumi N Caldarera1005India2024-09-06
Arvin A Bowley1006Italy2024-08-25
Isabel V Ferencz1007Brazil2024-09-21
Faith H Caldarera1008Argentina2024-09-08
Sinclair A Tollner1009Canada2024-08-25
Alejandro X Nicka1010Brazil2024-09-14
Emily O Foller1011Australia2024-09-15
Ivar B Ostrosky1012Russia2024-09-21
Julie U Paprocki1013Japan2024-09-11
Izzy L Schemmer1014Canada2024-08-30
Wickens A Kolmetz1015France2024-08-31
Johnson H Stenseth1016Germany2024-09-21
Isabel X Maclead1017Russia2024-09-01
Jones O Flosi1018France2024-08-30
Stacey Q Ostrosky1019Spain2024-08-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith W BowleyJapanAnna Fali NEGOTIATION
Arvin M IturbideIndiaAnna Fali RENEWAL
Nicolas N DarakjyBrazilIoni Bowcher QUALIFIED
Jones U GlickCanadaElwin Sharvill NEW
Salvatore W OstroskyArgentinaBernardo Dominic QUALIFIED
Greenwood Q ButtCanadaAsiya Javayant NEW
David B CaudyBrazilOnyama Limba RENEWAL
Julie O NestleAustraliaElwin Sharvill PROPOSAL
Misaki O KolmetzIndiaStephen Shaw UNQUALIFIED
Leja C NickaJapanAsiya Javayant NEW
Misaki U NestleJapanXuxue Feng QUALIFIED
Francesco J RimIndiaStephen Shaw NEW
Costa I ShinkoIndiaAsiya Javayant PROPOSAL
Cody A AmigonItalyIoni Bowcher NEW
Greenwood A FerenczBrazilAmy Elsner NEGOTIATION
Stacey F NestleSpainIoni Bowcher NEGOTIATION
Salvatore M MorascaFranceOnyama Limba RENEWAL
Kaitlin U InouyeRussiaElwin Sharvill QUALIFIED
Kaitlin B GillianFranceAmy Elsner NEGOTIATION
Clifford K InouyeUnited KingdomAmy Elsner QUALIFIED
Jones Z VocelkaBrazilAmy Elsner NEGOTIATION
Darci Y StockhamJapanOnyama Limba QUALIFIED
Aruna V ShinkoItalyIoni Bowcher QUALIFIED
Kadeem Q PerinItalyBernardo Dominic NEGOTIATION
Leon F DoeSpainAsiya Javayant PROPOSAL
Ricardo L MarrierJapanAmy Elsner RENEWAL
Izzy N ShinkoArgentinaIvan Magalhaes RENEWAL
Kaitlin R ButtItalyAsiya Javayant RENEWAL
Aruna Q ChuiCanadaIvan Magalhaes RENEWAL
Jennifer S SlusarskiIndiaAmy Elsner NEGOTIATION
David T MacleadRussiaXuxue Feng NEW
Izzy J GillianFranceBernardo Dominic PROPOSAL
Nicolas R SergiUnited KingdomStephen Shaw NEGOTIATION
Aditya M WhobreyItalyXuxue Feng NEGOTIATION
Faith D VocelkaItalyAnna Fali NEW
Murillo U BologniaArgentinaOnyama Limba RENEWAL
Claire O MarrierSpainBernardo Dominic RENEWAL
Jennifer F PoquetteSpainXuxue Feng NEW
Kadeem B WhobreySpainAnna Fali NEW
Wickens K WhobreyUnited KingdomOnyama Limba 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>