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
Chavez T FigeroaRussiaElwin Sharvill NEGOTIATION
Misaki P NestleItalyIvan Magalhaes QUALIFIED
Ashley G GarufiGermanyElwin Sharvill UNQUALIFIED
Juan L GauchoRussiaOnyama Limba QUALIFIED
Aika N PerinArgentinaAnna Fali RENEWAL
Aruna R ButtArgentinaAsiya Javayant NEW
Maria I FollerItalyXuxue Feng RENEWAL
Sinclair F PaprockiArgentinaElwin Sharvill QUALIFIED
Julie I GarufiSpainAnna Fali PROPOSAL
Munro X RulapaughItalyIoni Bowcher NEGOTIATION
Aditya J DilliardGermanyAsiya Javayant QUALIFIED
James B StensethIndiaIvan Magalhaes QUALIFIED
Leon Q WhobreyItalyXuxue Feng NEW
Juan P BriddickUnited KingdomXuxue Feng NEW
Isabel T RutaArgentinaAmy Elsner NEW
Claire L FlosiRussiaElwin Sharvill QUALIFIED
Ivar X BowleyGermanyAnna Fali QUALIFIED
Faith Q ChuiRussiaIvan Magalhaes QUALIFIED
Jones T StockhamIndiaOnyama Limba NEGOTIATION
Silvio T MorascaArgentinaOnyama Limba QUALIFIED
Ivar T RoysterCanadaXuxue Feng NEW
Faith Z BriddickFranceStephen Shaw NEGOTIATION
Juan C DilliardIndiaStephen Shaw PROPOSAL
Mayumi F DarakjyJapanAmy Elsner PROPOSAL
Leon P WhobreyFranceXuxue Feng QUALIFIED
David N BologniaAustraliaBernardo Dominic PROPOSAL
Alejandro E RoysterSpainStephen Shaw PROPOSAL
Tony S StockhamUnited KingdomStephen Shaw QUALIFIED
Greenwood C DoeSpainIoni Bowcher NEW
James V PerinIndiaAnna Fali NEGOTIATION
Jones B ChuiUnited KingdomOnyama Limba UNQUALIFIED
Aruna F RimRussiaIvan Magalhaes NEGOTIATION
Alejandro T DarakjyBrazilOnyama Limba NEGOTIATION
Kaitlin J MaletArgentinaXuxue Feng PROPOSAL
Smith N StensethArgentinaStephen Shaw NEGOTIATION
Rodrigues M MaletSpainOnyama Limba PROPOSAL
Jefferson F BowleyRussiaIvan Magalhaes QUALIFIED
Adams H GarufiJapanAnna Fali PROPOSAL
Aruna K DoeArgentinaStephen Shaw NEGOTIATION
Munro F BriddickIndiaElwin Sharvill PROPOSAL
Leja T SchemmerItalyAsiya Javayant RENEWAL
Murillo D FigeroaArgentinaStephen Shaw NEGOTIATION
Ricardo Q AlbaresBrazilAmy Elsner NEW
Ashley O StensethAustraliaIoni Bowcher NEGOTIATION
Tony I PaprockiBrazilXuxue Feng NEW
Ricardo V RutaRussiaOnyama Limba UNQUALIFIED
Julie P GauchoGermanyStephen Shaw RENEWAL
Mujtaba J KolmetzSpainIvan Magalhaes RENEWAL
Kadeem V StensethArgentinaXuxue Feng NEGOTIATION
James T ShinkoArgentinaOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mujtaba H ButtFranceAmy Elsner QUALIFIED
Stacey N FerenczItalyElwin Sharvill PROPOSAL
Johnson V FollerSpainAsiya Javayant NEW
Faith O MacleadArgentinaElwin Sharvill UNQUALIFIED
Antonio C GillianCanadaIoni Bowcher PROPOSAL
Arvin A OldroydSpainBernardo Dominic NEW
Kaitlin R InouyeIndiaBernardo Dominic NEW
Munro D BowleyAustraliaOnyama Limba RENEWAL
Francesco L SergiRussiaOnyama Limba UNQUALIFIED
Kaitlin N BowleyArgentinaElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba R SlusarskiAustralia2024-05-22Commercial Press QUALIFIED81Stephen Shaw
1001Smith W TollnerIndia2024-05-16Commercial Press UNQUALIFIED55Anna Fali
1002Nicolas H ChuiIndia2024-04-28Benton, John B Jr PROPOSAL34Elwin Sharvill
1003Ashley T BologniaIndia2024-05-24Truhlar And Truhlar Attys RENEWAL42Amy Elsner
1004James L GillianArgentina2024-05-07King, Christopher A Esq PROPOSAL86Stephen Shaw
1005Misaki R PaprockiCanada2024-05-20Rangoni Of Florence PROPOSAL82Stephen Shaw
1006Greenwood O ShinkoArgentina2024-05-02Dorl, James J Esq NEW67Ioni Bowcher
1007Silvio D AmigonFrance2024-05-08Dorl, James J Esq UNQUALIFIED97Anna Fali
1008Murillo Q MaletRussia2024-05-14Morlong Associates RENEWAL71Anna Fali
1009Stacey X DilliardIndia2024-05-23Chapman, Ross E Esq QUALIFIED19Asiya Javayant
1010Alejandro L GauchoUnited Kingdom2024-05-23Rousseaux, Michael Esq RENEWAL74Stephen Shaw
1011Ashley S ShinkoRussia2024-05-16Printing Dimensions UNQUALIFIED20Elwin Sharvill
1012Darci F RutaCanada2024-05-07King, Christopher A Esq NEW3Stephen Shaw
1013Ashley U VocelkaJapan2024-05-06Rousseaux, Michael Esq QUALIFIED96Anna Fali
1014Greenwood J ButtArgentina2024-05-18Rangoni Of Florence NEW43Elwin Sharvill
1015Smith Y DoeAustralia2024-05-19Morlong Associates UNQUALIFIED48Amy Elsner
1016Jefferson X PaprockiAustralia2024-05-23Rangoni Of Florence NEGOTIATION86Ioni Bowcher
1017Darci U VenereItaly2024-05-14Truhlar And Truhlar Attys UNQUALIFIED11Ioni Bowcher
1018Ricardo V BowleyCanada2024-05-03Rousseaux, Michael Esq PROPOSAL18Ivan Magalhaes
1019Misaki G OldroydUnited Kingdom2024-05-07Rousseaux, Michael Esq RENEWAL33Stephen Shaw
1020Silvio M AlbaresIndia2024-05-21Feiner Bros UNQUALIFIED33Xuxue Feng
1021Salvatore T VenereSpain2024-05-25Rangoni Of Florence NEGOTIATION61Ivan Magalhaes
1022Smith Y GillianGermany2024-05-05Chemel, James L Cpa UNQUALIFIED49Asiya Javayant
1023Sinclair B DilliardSpain2024-05-12Chapman, Ross E Esq NEW94Elwin Sharvill
1024Ivar N FlosiGermany2024-04-30Buckley Miller Wright NEW4Bernardo Dominic
1025Juan F SchemmerRussia2024-04-28Printing Dimensions NEGOTIATION11Onyama Limba
1026Munro S KolmetzRussia2024-04-27Chanay, Jeffrey A Esq NEGOTIATION49Ivan Magalhaes
1027Faith M SaylorsSpain2024-05-11Feiner Bros RENEWAL89Ivan Magalhaes
1028Morrow O BowleyCanada2024-05-06Truhlar And Truhlar Attys RENEWAL14Xuxue Feng
1029Isabel G NickaIndia2024-05-06Chanay, Jeffrey A Esq RENEWAL29Onyama Limba
1030Ivar R CampainGermany2024-05-17Dorl, James J Esq NEW12Bernardo Dominic
1031Isabel U FollerFrance2024-05-09Chemel, James L Cpa UNQUALIFIED1Anna Fali
1032Greenwood R WieserCanada2024-05-03Chanay, Jeffrey A Esq QUALIFIED21Amy Elsner
1033Smith Y MorascaGermany2024-05-20Feiner Bros QUALIFIED56Xuxue Feng
1034Octavia K AlbaresUnited Kingdom2024-05-05Dorl, James J Esq NEW92Amy Elsner
1035Adams Z StockhamUnited Kingdom2024-05-24Benton, John B Jr NEW83Stephen Shaw
1036Francesco F RutaRussia2024-05-25Chemel, James L Cpa QUALIFIED39Stephen Shaw
1037Octavia R MaletJapan2024-05-04Printing Dimensions NEW13Amy Elsner
1038Deepesh G GlickSpain2024-05-06King, Christopher A Esq NEGOTIATION31Xuxue Feng
1039Murillo N RutaBrazil2024-05-26Chemel, James L Cpa PROPOSAL45Elwin Sharvill
1040Claire O AlbaresJapan2024-05-15Feltz Printing Service UNQUALIFIED71Asiya Javayant
1041Alejandro T PaprockiFrance2024-05-13Printing Dimensions RENEWAL7Asiya Javayant
1042Faith C DarakjyArgentina2024-05-22King, Christopher A Esq NEGOTIATION42Stephen Shaw
1043Mayumi F ShinkoIndia2024-05-13Benton, John B Jr PROPOSAL5Ioni Bowcher
1044Leja Q SlusarskiBrazil2024-05-12Feiner Bros QUALIFIED30Anna Fali
1045Kadeem M SlusarskiCanada2024-04-29Feltz Printing Service NEGOTIATION56Xuxue Feng
1046Izzy R RoysterFrance2024-05-04Truhlar And Truhlar Attys RENEWAL35Ivan Magalhaes
1047Izzy W MaletBrazil2024-05-04Commercial Press NEGOTIATION18Ivan Magalhaes
1048Antonio F MaletAustralia2024-05-08Benton, John B Jr NEW2Onyama Limba
1049Misaki Z AlbaresGermany2024-05-04Rangoni Of Florence RENEWAL46Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Leja J CaldareraBrazilAsiya Javayant NEW
Aika Y FigeroaUnited KingdomIoni Bowcher UNQUALIFIED
Octavia Y NickaGermanyIvan Magalhaes QUALIFIED
Cody K MarrierFranceXuxue Feng PROPOSAL
Jones E CaudyJapanElwin Sharvill NEW
Leja L DilliardFranceOnyama Limba NEW
Smith Y NestleAustraliaOnyama Limba QUALIFIED
Maria O VenereItalyOnyama Limba QUALIFIED
Maisha I AlbaresCanadaXuxue Feng RENEWAL
Alejandro G WaycottSpainElwin Sharvill UNQUALIFIED
Deepesh E AmigonSpainAsiya Javayant PROPOSAL
Cody F VenereBrazilStephen Shaw NEW
Arvin P OstroskySpainBernardo Dominic PROPOSAL
Mujtaba M StockhamUnited KingdomBernardo Dominic PROPOSAL
Claire E TollnerSpainAnna Fali NEGOTIATION
Leja I RimBrazilXuxue Feng NEW
Adams M KolmetzAustraliaXuxue Feng UNQUALIFIED
Claire H MorascaJapanIvan Magalhaes NEW
Mayumi E OldroydBrazilBernardo Dominic RENEWAL
Deepesh F MorascaJapanXuxue Feng QUALIFIED
Salvatore V SaylorsJapanIvan Magalhaes NEW
Jefferson Z DoeGermanyIoni Bowcher NEGOTIATION
Ricardo B OstroskyArgentinaAsiya Javayant UNQUALIFIED
Ivar H IturbideAustraliaBernardo Dominic RENEWAL
Johnson G ShinkoUnited KingdomOnyama Limba NEGOTIATION
Munro Z FlosiGermanyStephen Shaw NEW
Costa J TollnerFranceElwin Sharvill PROPOSAL
Kaitlin R SlusarskiGermanyAnna Fali NEW
Aruna G WaycottArgentinaBernardo Dominic RENEWAL
Maisha W DoeBrazilStephen Shaw QUALIFIED
Francesco V WaycottSpainOnyama Limba NEW
Adams S DarakjyBrazilBernardo Dominic NEGOTIATION
Arvin Y CaudyItalyIoni Bowcher QUALIFIED
Octavia J DoeGermanyOnyama Limba RENEWAL
Murillo K PerinItalyAnna Fali NEW
Octavia D RoysterBrazilStephen Shaw NEGOTIATION
Nicolas B AlbaresRussiaAsiya Javayant UNQUALIFIED
Octavia N VenereGermanyXuxue Feng QUALIFIED
Jennifer S BowleyGermanyOnyama Limba NEW
Juan J GauchoIndiaAsiya Javayant NEW
Nicolas Z StockhamUnited KingdomIoni Bowcher NEGOTIATION
Murillo Z KolmetzIndiaXuxue Feng RENEWAL
Ashley W NestleRussiaXuxue Feng UNQUALIFIED
Cody Q SergiAustraliaIvan Magalhaes NEGOTIATION
Antonio T WaycottGermanyIoni Bowcher PROPOSAL
Tony I CaldareraArgentinaAmy Elsner RENEWAL
Ivar B MacleadRussiaAsiya Javayant NEW
Francesco O SaylorsCanadaIvan Magalhaes PROPOSAL
Costa Y PaprockiFranceStephen Shaw UNQUALIFIED
Stacey C BologniaGermanyBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Ricardo P Caudy
Jefferson X Morasca
Aditya V Venere
Maria H Glick
Johnson G Slusarski
Misaki J Royster
Rodrigues U Vocelka
Julie R Ferencz
Maisha P Caldarera
Arvin X Slusarski
Mujtaba D Briddick
Wickens L Amigon
Claire D Bowley
Aditya O Slusarski
Maisha N Perin
Aika R Maclead
Leja U Stockham
Mujtaba G Rim
Octavia Z Saylors
Maisha K Stockham
Misaki B Oldroyd
Murillo D Caldarera
Leja M Oldroyd
James H Bolognia
Antonio E Paprocki
Arvin S Tollner
Stacey N Kusko
Ricardo T Garufi
Rodrigues F Bowley
Emily T Venere
Faith I Schemmer
Emily H Caudy
Darci H Chui
Antonio J Bowley
Leon T Nicka
Alejandro Z Rim
Salvatore I Bolognia
Isabel Y Caldarera
Johnson E Ruta
Salvatore I Tollner
Deepesh B Glick
Emily I Doe
Octavia Z Tollner
Mayumi K Amigon
Costa O Saylors
Alejandro D Slusarski
Stacey E Albares
Wickens N Tollner
Smith Z Nicka
Leja Q Stockham
IdCountryDate
1000Australia2024-05-12
1001Argentina2024-05-19
1002Japan2024-05-22
1003Argentina2024-05-25
1004Brazil2024-05-11
1005Spain2024-04-30
1006United Kingdom2024-05-07
1007Japan2024-05-22
1008Japan2024-05-08
1009India2024-05-19
1010Canada2024-05-12
1011Brazil2024-05-21
1012United Kingdom2024-05-12
1013Canada2024-04-28
1014Argentina2024-05-20
1015Germany2024-05-13
1016United Kingdom2024-05-14
1017Canada2024-05-16
1018Canada2024-05-02
1019India2024-05-12
1020United Kingdom2024-05-24
1021Japan2024-05-14
1022Argentina2024-05-10
1023Italy2024-05-21
1024Russia2024-05-03
1025Russia2024-05-03
1026Spain2024-05-08
1027Italy2024-04-29
1028India2024-05-12
1029Italy2024-04-27
1030Germany2024-05-05
1031Japan2024-05-08
1032Italy2024-05-17
1033Brazil2024-05-12
1034Italy2024-05-04
1035Japan2024-05-02
1036Spain2024-04-28
1037Canada2024-05-24
1038India2024-05-18
1039Russia2024-05-08
1040Spain2024-05-03
1041Australia2024-04-27
1042Italy2024-05-07
1043France2024-05-13
1044Argentina2024-05-08
1045France2024-05-14
1046Russia2024-04-29
1047India2024-05-12
1048Brazil2024-05-19
1049United Kingdom2024-05-14

On-Demand Data

NameIdCountryDate
Ricardo J Darakjy1000France2024-05-06
Deepesh C Campain1001Japan2024-05-20
Misaki Q Paprocki1002Canada2024-04-27
Ricardo T Perin1003France2024-05-04
Silvio M Paprocki1004Italy2024-04-28
Aruna E Caldarera1005Spain2024-05-17
Deepesh X Stockham1006Australia2024-05-02
Juan I Whobrey1007Japan2024-05-22
Ashley I Saylors1008Russia2024-04-28
Octavia G Dilliard1009Russia2024-05-24
Leja Y Darakjy1010Australia2024-05-13
Faith Q Maclead1011Italy2024-05-17
Jones S Malet1012Brazil2024-05-06
Greenwood K Chui1013Spain2024-05-01
Leja S Caudy1014United Kingdom2024-05-03
Leon N Darakjy1015Spain2024-05-04
Cody O Caldarera1016Spain2024-05-20
Rodrigues Z Perin1017France2024-05-25
Nicolas J Caldarera1018Germany2024-05-24
Leja Z Maclead1019Italy2024-04-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna Z GlickGermanyAmy Elsner NEW
Clifford I AmigonIndiaAnna Fali NEW
Mujtaba F PoquetteBrazilStephen Shaw QUALIFIED
Octavia I SlusarskiJapanAsiya Javayant NEGOTIATION
Darci U WaycottArgentinaIoni Bowcher NEW
Greenwood U BriddickIndiaAmy Elsner NEW
Silvio L KuskoRussiaElwin Sharvill UNQUALIFIED
Ashley O AlbaresCanadaXuxue Feng NEW
Julie G GauchoBrazilIvan Magalhaes QUALIFIED
Johnson Y KolmetzFranceXuxue Feng PROPOSAL
Ricardo H RulapaughUnited KingdomIoni Bowcher NEGOTIATION
Jeanfrancois E NickaRussiaElwin Sharvill NEW
Alejandro M ShinkoJapanStephen Shaw NEGOTIATION
Chavez S CaldareraBrazilIvan Magalhaes NEGOTIATION
Jones M MaletUnited KingdomStephen Shaw RENEWAL
Adams R CaudyIndiaOnyama Limba UNQUALIFIED
Murillo W PaprockiJapanBernardo Dominic RENEWAL
Jefferson S GillianUnited KingdomIvan Magalhaes QUALIFIED
Octavia G MorascaItalyAsiya Javayant NEGOTIATION
Leon O GarufiUnited KingdomIvan Magalhaes NEGOTIATION
Leja C CaudyIndiaAsiya Javayant NEGOTIATION
Arvin D GauchoAustraliaAnna Fali UNQUALIFIED
Nicolas B GlickJapanIoni Bowcher NEW
Aditya N InouyeFranceOnyama Limba NEGOTIATION
Jennifer O TollnerCanadaStephen Shaw PROPOSAL
Leon D StensethSpainAmy Elsner NEW
David Z StensethRussiaXuxue Feng NEW
Darci D KuskoCanadaElwin Sharvill PROPOSAL
Wickens X ChuiGermanyAmy Elsner NEGOTIATION
Faith L SaylorsGermanyBernardo Dominic UNQUALIFIED
Aruna B GarufiSpainBernardo Dominic NEGOTIATION
Morrow N NestleJapanOnyama Limba PROPOSAL
Tony J BowleyItalyIoni Bowcher UNQUALIFIED
Ricardo S PaprockiCanadaBernardo Dominic UNQUALIFIED
Silvio M ShinkoAustraliaStephen Shaw QUALIFIED
Adams O RutaFranceElwin Sharvill NEW
Alejandro C FollerRussiaAnna Fali UNQUALIFIED
Arvin N GauchoJapanBernardo Dominic NEW
Maisha P RimCanadaAsiya Javayant NEGOTIATION
Maisha R DoeFranceAsiya Javayant 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>