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
Jennifer O GillianIndiaAmy Elsner UNQUALIFIED
Jeanfrancois Q CampainArgentinaIoni Bowcher NEGOTIATION
Deepesh C GarufiAustraliaIvan Magalhaes QUALIFIED
Maisha Y KolmetzItalyAmy Elsner PROPOSAL
Julie C MorascaBrazilOnyama Limba UNQUALIFIED
Smith R SchemmerAustraliaBernardo Dominic QUALIFIED
Mayumi N KolmetzSpainStephen Shaw UNQUALIFIED
Izzy I ChuiGermanyStephen Shaw RENEWAL
Johnson W KuskoAustraliaAnna Fali UNQUALIFIED
Wickens P WhobreyItalyAnna Fali NEGOTIATION
Chavez G DoeBrazilElwin Sharvill NEGOTIATION
Tony L FerenczCanadaAnna Fali NEGOTIATION
Deepesh N OldroydUnited KingdomAmy Elsner PROPOSAL
Johnson M ShinkoIndiaStephen Shaw UNQUALIFIED
Deepesh Q PerinSpainIvan Magalhaes QUALIFIED
Jefferson K MaletGermanyAmy Elsner NEW
Salvatore Z ButtGermanyIvan Magalhaes RENEWAL
Nicolas U MaletBrazilIvan Magalhaes PROPOSAL
Leon S RimSpainOnyama Limba NEW
Antonio W WhobreyRussiaIvan Magalhaes RENEWAL
Sinclair K SchemmerBrazilIoni Bowcher PROPOSAL
Chavez W WaycottJapanIoni Bowcher RENEWAL
Deepesh Q DoeRussiaBernardo Dominic PROPOSAL
Smith W CaudyCanadaAsiya Javayant UNQUALIFIED
Aika F StockhamArgentinaOnyama Limba PROPOSAL
Misaki Y BowleyGermanyAsiya Javayant PROPOSAL
Ashley A RoysterBrazilAnna Fali UNQUALIFIED
Tony L BowleyGermanyStephen Shaw PROPOSAL
Salvatore H SergiBrazilStephen Shaw QUALIFIED
Johnson V BriddickItalyBernardo Dominic PROPOSAL
Emily M RimArgentinaOnyama Limba PROPOSAL
Tony G CaudyIndiaElwin Sharvill QUALIFIED
Misaki F MarrierSpainElwin Sharvill PROPOSAL
Aruna T WieserArgentinaAsiya Javayant RENEWAL
Tony N VenereUnited KingdomAmy Elsner UNQUALIFIED
Salvatore E ButtGermanyBernardo Dominic QUALIFIED
Wickens L SlusarskiSpainAsiya Javayant NEGOTIATION
Kaitlin L GauchoBrazilXuxue Feng NEW
Jennifer X CaudyIndiaIvan Magalhaes NEW
Kaitlin V RimAustraliaElwin Sharvill PROPOSAL
Antonio R TollnerJapanOnyama Limba RENEWAL
Claire J GillianJapanAnna Fali NEGOTIATION
Wickens J GauchoArgentinaStephen Shaw RENEWAL
Mujtaba G WaycottItalyAmy Elsner QUALIFIED
Adams N BriddickRussiaAsiya Javayant QUALIFIED
Octavia N AmigonJapanIoni Bowcher UNQUALIFIED
Aditya S GlickJapanIoni Bowcher NEW
Cody Q FlosiIndiaIoni Bowcher PROPOSAL
Ashley N GlickSpainIvan Magalhaes RENEWAL
Sinclair W ButtAustraliaBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
David P KolmetzRussiaStephen Shaw RENEWAL
Munro B WieserCanadaStephen Shaw NEW
Adams O VenereRussiaIoni Bowcher PROPOSAL
Jeanfrancois R ButtGermanyBernardo Dominic NEGOTIATION
Francesco R SchemmerIndiaBernardo Dominic NEW
Clifford S StensethRussiaAsiya Javayant NEGOTIATION
Juan I GillianUnited KingdomAmy Elsner NEGOTIATION
Emily X KolmetzUnited KingdomIoni Bowcher QUALIFIED
Aditya V FigeroaBrazilElwin Sharvill NEGOTIATION
Mayumi E OstroskyUnited KingdomAnna Fali UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily F DoeCanada2024-06-12King, Christopher A Esq NEGOTIATION62Stephen Shaw
1001Wickens G FlosiItaly2024-06-14Printing Dimensions PROPOSAL16Bernardo Dominic
1002James Q DilliardRussia2024-06-21Chemel, James L Cpa RENEWAL80Ivan Magalhaes
1003David Q DarakjyAustralia2024-05-24Rangoni Of Florence UNQUALIFIED23Anna Fali
1004Wickens K RoysterFrance2024-05-31Rousseaux, Michael Esq NEGOTIATION36Stephen Shaw
1005Wickens T PerinItaly2024-06-22Chemel, James L Cpa NEGOTIATION79Amy Elsner
1006Silvio Z SchemmerIndia2024-05-26Benton, John B Jr NEW29Bernardo Dominic
1007Jefferson G MaletSpain2024-06-07King, Christopher A Esq NEGOTIATION5Onyama Limba
1008Antonio Q NickaBrazil2024-06-21Morlong Associates RENEWAL7Ioni Bowcher
1009Tony Y WhobreyFrance2024-06-17Morlong Associates NEGOTIATION43Onyama Limba
1010Faith F MorascaUnited Kingdom2024-06-01Commercial Press PROPOSAL10Anna Fali
1011Darci Y VenereAustralia2024-06-19Feiner Bros NEW42Anna Fali
1012Cody L WaycottSpain2024-05-29Rangoni Of Florence QUALIFIED15Ioni Bowcher
1013Ashley V DarakjyAustralia2024-05-27Chemel, James L Cpa RENEWAL77Stephen Shaw
1014Murillo W TollnerFrance2024-05-30Rangoni Of Florence UNQUALIFIED44Elwin Sharvill
1015Emily L StensethIndia2024-06-14Commercial Press UNQUALIFIED45Asiya Javayant
1016Faith E StensethBrazil2024-05-25Chemel, James L Cpa UNQUALIFIED98Ivan Magalhaes
1017James H GarufiAustralia2024-05-24Benton, John B Jr NEGOTIATION95Amy Elsner
1018Aditya U KuskoCanada2024-06-04Dorl, James J Esq NEGOTIATION57Amy Elsner
1019Adams H DoeRussia2024-06-11Feltz Printing Service UNQUALIFIED64Stephen Shaw
1020Aruna O ShinkoItaly2024-06-19Dorl, James J Esq PROPOSAL52Ivan Magalhaes
1021Faith J AlbaresGermany2024-05-27Morlong Associates RENEWAL51Bernardo Dominic
1022Wickens G CaldareraArgentina2024-06-05Dorl, James J Esq PROPOSAL22Ivan Magalhaes
1023Jennifer T GillianRussia2024-05-25Morlong Associates NEGOTIATION94Anna Fali
1024Darci P CampainItaly2024-06-01Chemel, James L Cpa NEW3Anna Fali
1025Aika K TollnerArgentina2024-06-02Chemel, James L Cpa QUALIFIED2Onyama Limba
1026Octavia T MaletJapan2024-06-19Printing Dimensions UNQUALIFIED66Ioni Bowcher
1027Octavia P KuskoItaly2024-06-21Feiner Bros NEW52Xuxue Feng
1028Kaitlin K SaylorsCanada2024-06-17Rangoni Of Florence NEW74Ivan Magalhaes
1029Antonio B GlickItaly2024-06-07Buckley Miller Wright QUALIFIED83Ivan Magalhaes
1030Mujtaba S InouyeAustralia2024-05-29Feiner Bros NEW18Elwin Sharvill
1031Morrow I WhobreyAustralia2024-06-16Buckley Miller Wright PROPOSAL44Elwin Sharvill
1032Aika D SchemmerItaly2024-06-22Buckley Miller Wright NEGOTIATION98Ivan Magalhaes
1033Leja A BowleySpain2024-06-14Rangoni Of Florence NEW34Elwin Sharvill
1034Aika E BriddickSpain2024-06-16Feltz Printing Service UNQUALIFIED78Anna Fali
1035Sinclair V AmigonCanada2024-05-31Rangoni Of Florence RENEWAL43Anna Fali
1036Deepesh D SaylorsSpain2024-06-18Rousseaux, Michael Esq NEW75Stephen Shaw
1037Arvin I WaycottGermany2024-05-31Chemel, James L Cpa UNQUALIFIED71Asiya Javayant
1038Rodrigues B ButtIndia2024-06-11King, Christopher A Esq QUALIFIED26Ivan Magalhaes
1039Julie N AlbaresUnited Kingdom2024-06-02Feiner Bros NEW3Stephen Shaw
1040Deepesh Z OstroskyCanada2024-06-13Printing Dimensions UNQUALIFIED4Xuxue Feng
1041Darci X OstroskyIndia2024-06-06Feiner Bros QUALIFIED53Onyama Limba
1042Kaitlin T StensethJapan2024-05-26Chanay, Jeffrey A Esq NEGOTIATION15Amy Elsner
1043Rodrigues O DarakjyGermany2024-06-08Printing Dimensions NEGOTIATION77Amy Elsner
1044Misaki Z RutaRussia2024-05-26Feiner Bros RENEWAL2Onyama Limba
1045Salvatore X MaletJapan2024-06-11Morlong Associates NEW27Xuxue Feng
1046Salvatore S TollnerFrance2024-06-17Chapman, Ross E Esq RENEWAL78Elwin Sharvill
1047Deepesh R MorascaRussia2024-06-13Rangoni Of Florence NEGOTIATION1Amy Elsner
1048Salvatore B GauchoSpain2024-06-15Chanay, Jeffrey A Esq PROPOSAL91Anna Fali
1049Maisha T PoquetteJapan2024-05-31Chanay, Jeffrey A Esq RENEWAL68Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Leja N OldroydFranceBernardo Dominic UNQUALIFIED
Aruna H GillianUnited KingdomXuxue Feng NEGOTIATION
Salvatore M SergiJapanBernardo Dominic QUALIFIED
Faith T NickaAustraliaAnna Fali NEW
Munro N CaldareraCanadaAsiya Javayant QUALIFIED
Jefferson K ButtUnited KingdomIoni Bowcher NEGOTIATION
Kaitlin J ChuiAustraliaAsiya Javayant NEW
Juan H AmigonUnited KingdomAmy Elsner NEGOTIATION
Claire X AlbaresFranceOnyama Limba RENEWAL
Mujtaba B FollerUnited KingdomStephen Shaw NEW
Kaitlin W KuskoCanadaOnyama Limba NEW
Ashley C MaletJapanAmy Elsner PROPOSAL
Aika C AmigonArgentinaOnyama Limba NEGOTIATION
Jennifer M BologniaAustraliaBernardo Dominic QUALIFIED
Izzy N DoeItalyStephen Shaw NEGOTIATION
Alejandro K RutaItalyAsiya Javayant NEW
Ivar A MarrierAustraliaAnna Fali UNQUALIFIED
Faith Y MarrierBrazilXuxue Feng QUALIFIED
Tony U CaudyGermanyIvan Magalhaes UNQUALIFIED
Murillo A CaudyBrazilStephen Shaw NEGOTIATION
Emily B SaylorsRussiaStephen Shaw PROPOSAL
Rodrigues A WieserIndiaIoni Bowcher QUALIFIED
Darci I TollnerUnited KingdomAsiya Javayant UNQUALIFIED
David Z AmigonSpainAsiya Javayant QUALIFIED
Ricardo X StensethArgentinaAmy Elsner UNQUALIFIED
Julie M ButtGermanyIvan Magalhaes QUALIFIED
Ivar S CaudyJapanXuxue Feng QUALIFIED
Misaki N PaprockiBrazilIvan Magalhaes NEGOTIATION
Misaki V PerinIndiaIoni Bowcher NEGOTIATION
Tony J NestleUnited KingdomIvan Magalhaes PROPOSAL
Wickens N SaylorsArgentinaStephen Shaw UNQUALIFIED
Claire Y RutaCanadaAnna Fali NEGOTIATION
Silvio B GillianGermanyStephen Shaw RENEWAL
Aditya B SaylorsItalyAnna Fali UNQUALIFIED
Tony F SlusarskiCanadaOnyama Limba PROPOSAL
Antonio Z KolmetzGermanyBernardo Dominic RENEWAL
Costa E NickaFranceOnyama Limba NEGOTIATION
Stacey Q CampainArgentinaOnyama Limba NEW
Maisha H DarakjyArgentinaOnyama Limba QUALIFIED
Munro G PerinSpainAsiya Javayant QUALIFIED
Francesco G NickaGermanyAmy Elsner NEW
Deepesh O OldroydRussiaIvan Magalhaes NEW
Greenwood A DilliardArgentinaIoni Bowcher RENEWAL
Maisha V StensethCanadaAmy Elsner RENEWAL
Deepesh H RulapaughFranceElwin Sharvill NEW
Juan A PoquetteAustraliaXuxue Feng QUALIFIED
Johnson V BologniaIndiaOnyama Limba NEW
Aika V StensethUnited KingdomAsiya Javayant NEGOTIATION
Kadeem F WhobreyBrazilBernardo Dominic NEW
Adams Y DoeSpainAnna Fali QUALIFIED
Frozen Columns
Name
Tony S Caldarera
David T Slusarski
Izzy Y Bowley
Claire S Perin
Ashley N Darakjy
Mujtaba A Slusarski
Aruna F Slusarski
Isabel S Maclead
Leja N Paprocki
Jefferson R Gaucho
Clifford D Rim
Silvio H Stockham
Francesco P Perin
Mayumi E Venere
Claire Z Briddick
Jefferson L Ferencz
Emily U Morasca
Cody Y Dilliard
Munro F Nicka
Faith M Rulapaugh
Misaki B Inouye
Silvio U Stockham
Octavia D Flosi
Jones I Ostrosky
Aditya L Kolmetz
James L Rim
Smith W Kusko
Silvio R Doe
Faith I Royster
Jones E Waycott
Maisha A Maclead
Wickens F Ostrosky
Darci C Gaucho
Aditya D Venere
Leja D Ruta
Aditya U Rulapaugh
Julie H Oldroyd
Chavez P Garufi
Arvin K Venere
Ashley J Royster
Jennifer B Waycott
Jeanfrancois Z Venere
Isabel F Poquette
Jones G Malet
Aruna L Shinko
Sinclair H Rulapaugh
Adams N Gillian
Morrow D Darakjy
Arvin X Garufi
Costa V Caldarera
IdCountryDate
1000Russia2024-06-16
1001Argentina2024-06-19
1002Russia2024-06-10
1003Spain2024-06-10
1004France2024-06-07
1005United Kingdom2024-06-20
1006Italy2024-06-01
1007Brazil2024-06-08
1008France2024-06-11
1009Japan2024-06-22
1010Brazil2024-05-25
1011Germany2024-06-06
1012Italy2024-06-12
1013France2024-06-16
1014Germany2024-06-03
1015Canada2024-06-06
1016Russia2024-06-08
1017India2024-06-15
1018Argentina2024-05-31
1019Japan2024-06-08
1020Japan2024-05-25
1021Argentina2024-06-15
1022Italy2024-06-06
1023France2024-05-30
1024India2024-06-18
1025United Kingdom2024-05-27
1026Spain2024-05-29
1027Germany2024-05-28
1028Spain2024-05-26
1029Spain2024-05-30
1030France2024-06-07
1031Argentina2024-06-11
1032Japan2024-06-22
1033Japan2024-06-20
1034Argentina2024-05-24
1035Russia2024-05-24
1036Brazil2024-06-09
1037United Kingdom2024-06-17
1038Argentina2024-06-15
1039France2024-05-31
1040Spain2024-06-09
1041Argentina2024-06-07
1042Spain2024-06-08
1043Spain2024-06-10
1044Germany2024-06-07
1045Argentina2024-05-31
1046Italy2024-06-13
1047India2024-05-31
1048France2024-06-13
1049France2024-06-19

On-Demand Data

NameIdCountryDate
Maria C Whobrey1000Russia2024-06-22
Aditya B Foller1001Italy2024-06-16
Wickens V Morasca1002Italy2024-06-08
Jefferson I Rim1003Australia2024-05-28
Mujtaba C Perin1004Brazil2024-06-14
Jefferson A Saylors1005Russia2024-06-19
Clifford G Kusko1006Spain2024-05-25
Claire Z Flosi1007Italy2024-06-03
Alejandro F Morasca1008Spain2024-06-12
Darci L Poquette1009Russia2024-06-10
Cody B Maclead1010Argentina2024-06-07
Francesco M Dilliard1011Italy2024-06-22
Clifford J Caldarera1012Russia2024-05-28
Leja Z Gillian1013United Kingdom2024-06-01
Adams U Inouye1014France2024-06-17
Darci L Amigon1015Germany2024-06-05
Tony Q Bolognia1016Spain2024-06-10
Misaki R Nestle1017Canada2024-06-12
Wickens V Sergi1018India2024-06-19
Munro Z Wieser1019Italy2024-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy N IturbideUnited KingdomAsiya Javayant RENEWAL
Kaitlin I OldroydFranceIoni Bowcher NEGOTIATION
Misaki T WieserUnited KingdomStephen Shaw QUALIFIED
Tony M KolmetzSpainXuxue Feng RENEWAL
Salvatore T WaycottCanadaBernardo Dominic NEW
Mujtaba V InouyeBrazilBernardo Dominic QUALIFIED
Claire K OstroskyIndiaIvan Magalhaes QUALIFIED
Sinclair W PoquetteItalyAnna Fali NEGOTIATION
Claire P BriddickArgentinaAsiya Javayant UNQUALIFIED
Chavez W RimGermanyStephen Shaw NEGOTIATION
Adams F RoysterRussiaAsiya Javayant PROPOSAL
David L FlosiIndiaOnyama Limba NEW
Alejandro M TollnerGermanyIoni Bowcher NEW
Misaki L KuskoJapanAmy Elsner NEGOTIATION
Sinclair G BriddickFranceOnyama Limba NEW
Silvio T WieserUnited KingdomAmy Elsner RENEWAL
Misaki Q RulapaughItalyXuxue Feng PROPOSAL
Antonio E DarakjyAustraliaBernardo Dominic NEGOTIATION
Silvio S OldroydRussiaXuxue Feng UNQUALIFIED
Deepesh I GlickJapanBernardo Dominic NEW
Cody N WaycottSpainStephen Shaw QUALIFIED
Chavez M OldroydCanadaStephen Shaw RENEWAL
Alejandro A KuskoGermanyAnna Fali RENEWAL
Ashley I FlosiRussiaElwin Sharvill NEGOTIATION
Jennifer V PoquetteItalyAnna Fali NEGOTIATION
Misaki X IturbideCanadaIvan Magalhaes UNQUALIFIED
Maria G PerinRussiaAsiya Javayant RENEWAL
Mayumi K PoquetteIndiaBernardo Dominic UNQUALIFIED
Johnson V FlosiGermanyBernardo Dominic RENEWAL
Faith Z GarufiAustraliaIoni Bowcher RENEWAL
Juan Y TollnerCanadaStephen Shaw QUALIFIED
Morrow R TollnerCanadaStephen Shaw NEW
Leja L GarufiArgentinaStephen Shaw RENEWAL
Claire F WhobreyJapanElwin Sharvill QUALIFIED
Emily N MarrierItalyOnyama Limba PROPOSAL
Aika J PoquetteItalyAsiya Javayant NEGOTIATION
Darci B PaprockiFranceBernardo Dominic NEGOTIATION
Maria Q WhobreyUnited KingdomAnna Fali UNQUALIFIED
Izzy Q OldroydSpainBernardo Dominic NEGOTIATION
Smith X OldroydGermanyXuxue Feng UNQUALIFIED

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