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
Cody W StockhamCanadaXuxue Feng PROPOSAL
Aruna A PerinFranceIvan Magalhaes NEW
Deepesh W PoquetteCanadaBernardo Dominic NEW
Alejandro W GillianGermanyAmy Elsner QUALIFIED
Nicolas E ShinkoIndiaXuxue Feng PROPOSAL
Ricardo Z NickaJapanAmy Elsner PROPOSAL
Emily K FlosiUnited KingdomOnyama Limba QUALIFIED
Rodrigues W NestleSpainIoni Bowcher PROPOSAL
Julie X AlbaresUnited KingdomXuxue Feng NEW
Arvin D KuskoBrazilIoni Bowcher QUALIFIED
Kaitlin R NestleAustraliaAnna Fali RENEWAL
Faith U AlbaresJapanBernardo Dominic RENEWAL
Cody X BriddickFranceOnyama Limba NEW
Chavez C StensethCanadaAsiya Javayant NEW
Kaitlin K CaldareraAustraliaXuxue Feng QUALIFIED
Rodrigues M FlosiCanadaBernardo Dominic RENEWAL
Kaitlin R SergiFranceIoni Bowcher QUALIFIED
Isabel L StockhamFranceAsiya Javayant UNQUALIFIED
Antonio U KuskoRussiaAsiya Javayant NEGOTIATION
Isabel A GlickJapanBernardo Dominic NEGOTIATION
Juan R WhobreySpainXuxue Feng RENEWAL
Nicolas U WhobreyFranceElwin Sharvill PROPOSAL
Morrow M KolmetzArgentinaStephen Shaw UNQUALIFIED
Greenwood Y MorascaSpainXuxue Feng NEW
Wickens O RoysterSpainIvan Magalhaes PROPOSAL
Julie D GlickGermanyOnyama Limba RENEWAL
Jones S VenereIndiaAmy Elsner PROPOSAL
Julie H CampainCanadaAmy Elsner QUALIFIED
Aruna F ChuiFranceIvan Magalhaes RENEWAL
Antonio X ButtIndiaStephen Shaw RENEWAL
Isabel B OldroydSpainElwin Sharvill NEW
Johnson D MacleadAustraliaElwin Sharvill NEW
Juan W CaudyItalyBernardo Dominic QUALIFIED
Mujtaba Z SchemmerSpainAnna Fali NEW
Aditya X MaletItalyAsiya Javayant PROPOSAL
Jennifer Z PerinBrazilBernardo Dominic UNQUALIFIED
Salvatore C SlusarskiCanadaBernardo Dominic UNQUALIFIED
Jefferson S GauchoCanadaXuxue Feng QUALIFIED
Aruna J SlusarskiRussiaStephen Shaw NEW
Aruna V GlickUnited KingdomIvan Magalhaes QUALIFIED
Maisha H StockhamAustraliaAnna Fali UNQUALIFIED
Jeanfrancois N CaudySpainStephen Shaw QUALIFIED
Wickens Q MaletJapanElwin Sharvill UNQUALIFIED
Cody F RimGermanyElwin Sharvill RENEWAL
Morrow L RutaGermanyIoni Bowcher QUALIFIED
Leja K VenereArgentinaAmy Elsner NEGOTIATION
Leja Z MacleadIndiaOnyama Limba NEGOTIATION
Rodrigues B IturbideAustraliaAnna Fali NEW
Ricardo N PerinJapanBernardo Dominic PROPOSAL
Ricardo O VocelkaAustraliaAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Chavez X RoysterGermanyStephen Shaw NEGOTIATION
Jefferson U InouyeGermanyElwin Sharvill QUALIFIED
Leja H OstroskyItalyAmy Elsner NEW
Chavez W StensethUnited KingdomOnyama Limba UNQUALIFIED
David U InouyeCanadaIvan Magalhaes RENEWAL
Maisha P MorascaBrazilXuxue Feng NEGOTIATION
Murillo N AlbaresIndiaAsiya Javayant NEW
Salvatore P GillianGermanyXuxue Feng QUALIFIED
Aruna I CaldareraIndiaXuxue Feng QUALIFIED
Deepesh W PaprockiFranceBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh I VenereSpain2024-06-16King, Christopher A Esq PROPOSAL94Stephen Shaw
1001Rodrigues B DilliardCanada2024-06-10Truhlar And Truhlar Attys UNQUALIFIED51Bernardo Dominic
1002Rodrigues D StockhamRussia2024-06-16Morlong Associates RENEWAL45Asiya Javayant
1003Jefferson Q CampainUnited Kingdom2024-06-09Rousseaux, Michael Esq UNQUALIFIED78Bernardo Dominic
1004Greenwood R IturbideJapan2024-06-07King, Christopher A Esq UNQUALIFIED2Xuxue Feng
1005Kaitlin F FerenczUnited Kingdom2024-06-18Buckley Miller Wright RENEWAL57Asiya Javayant
1006Tony Z OldroydBrazil2024-06-02King, Christopher A Esq PROPOSAL74Onyama Limba
1007Faith C CampainItaly2024-05-28Morlong Associates NEGOTIATION6Bernardo Dominic
1008Aruna N VenereUnited Kingdom2024-06-19Buckley Miller Wright PROPOSAL58Anna Fali
1009Smith K DoeGermany2024-06-17Printing Dimensions PROPOSAL86Asiya Javayant
1010Deepesh C WieserSpain2024-06-20Buckley Miller Wright QUALIFIED17Anna Fali
1011Cody V TollnerSpain2024-06-11Feltz Printing Service RENEWAL23Anna Fali
1012Aditya R FerenczFrance2024-06-14Feltz Printing Service RENEWAL33Stephen Shaw
1013Rodrigues N KolmetzArgentina2024-06-15Feltz Printing Service PROPOSAL28Xuxue Feng
1014Ricardo B WhobreyGermany2024-06-11Chanay, Jeffrey A Esq NEW51Stephen Shaw
1015Jeanfrancois L NickaBrazil2024-06-14Feiner Bros PROPOSAL42Stephen Shaw
1016Munro O WieserRussia2024-05-25Printing Dimensions NEGOTIATION24Amy Elsner
1017Kaitlin P CampainAustralia2024-06-13Dorl, James J Esq UNQUALIFIED67Onyama Limba
1018Leon D StensethGermany2024-06-12Chapman, Ross E Esq UNQUALIFIED56Onyama Limba
1019Leja Z CaudyFrance2024-05-31Truhlar And Truhlar Attys NEGOTIATION38Bernardo Dominic
1020Adams N MaletBrazil2024-06-22Rangoni Of Florence NEW22Ivan Magalhaes
1021Izzy G CaudyGermany2024-05-27Printing Dimensions NEW37Anna Fali
1022Jeanfrancois R OstroskyIndia2024-06-22Buckley Miller Wright NEGOTIATION36Stephen Shaw
1023Antonio D FerenczUnited Kingdom2024-06-03King, Christopher A Esq PROPOSAL21Elwin Sharvill
1024Chavez E MaletBrazil2024-06-14Feiner Bros NEGOTIATION7Elwin Sharvill
1025Misaki H RulapaughGermany2024-06-10Chanay, Jeffrey A Esq QUALIFIED6Asiya Javayant
1026Clifford I AmigonIndia2024-06-09Benton, John B Jr QUALIFIED6Bernardo Dominic
1027Johnson O SaylorsCanada2024-06-02Dorl, James J Esq NEW45Bernardo Dominic
1028Morrow E BriddickArgentina2024-06-05Printing Dimensions NEGOTIATION15Ioni Bowcher
1029Maria Q PaprockiJapan2024-06-21Chapman, Ross E Esq QUALIFIED46Onyama Limba
1030Johnson C FollerCanada2024-06-23Chanay, Jeffrey A Esq NEGOTIATION35Xuxue Feng
1031David S VenereUnited Kingdom2024-06-21Buckley Miller Wright RENEWAL90Ivan Magalhaes
1032Morrow C BologniaJapan2024-06-02Buckley Miller Wright NEGOTIATION30Asiya Javayant
1033Murillo P NestleUnited Kingdom2024-06-14Printing Dimensions RENEWAL26Anna Fali
1034Mujtaba W IturbideGermany2024-06-01Morlong Associates NEW13Ivan Magalhaes
1035Tony M DilliardRussia2024-05-29Feiner Bros NEW41Ioni Bowcher
1036Deepesh E StockhamFrance2024-06-08King, Christopher A Esq RENEWAL28Xuxue Feng
1037Jones E StockhamRussia2024-06-23Morlong Associates QUALIFIED72Asiya Javayant
1038Aditya O SaylorsFrance2024-06-03Dorl, James J Esq NEW0Asiya Javayant
1039Isabel P OstroskyBrazil2024-05-30Benton, John B Jr PROPOSAL48Elwin Sharvill
1040Faith O KuskoRussia2024-06-01Dorl, James J Esq PROPOSAL45Anna Fali
1041Claire B ButtUnited Kingdom2024-06-12Printing Dimensions RENEWAL44Ioni Bowcher
1042Maria S MaletItaly2024-06-17Printing Dimensions PROPOSAL37Onyama Limba
1043Aruna W WhobreyIndia2024-06-18King, Christopher A Esq UNQUALIFIED44Stephen Shaw
1044Wickens E GillianBrazil2024-06-20Feltz Printing Service NEGOTIATION83Amy Elsner
1045Aditya Q FollerCanada2024-06-14Dorl, James J Esq NEW42Amy Elsner
1046David O MacleadBrazil2024-06-02Commercial Press UNQUALIFIED86Bernardo Dominic
1047Kaitlin V OldroydAustralia2024-05-30Feiner Bros PROPOSAL23Bernardo Dominic
1048Silvio Z DarakjyIndia2024-06-16Chapman, Ross E Esq NEW35Asiya Javayant
1049Antonio Z KolmetzFrance2024-06-06Feiner Bros RENEWAL71Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Juan V FerenczJapanAsiya Javayant UNQUALIFIED
Stacey W PoquetteCanadaAsiya Javayant RENEWAL
Smith Q FerenczGermanyAnna Fali RENEWAL
Ivar E ShinkoFranceElwin Sharvill RENEWAL
Jeanfrancois O WhobreyRussiaAsiya Javayant UNQUALIFIED
Jones L SlusarskiFranceAmy Elsner NEW
Greenwood M InouyeBrazilIoni Bowcher QUALIFIED
Leon H PaprockiGermanyIvan Magalhaes RENEWAL
Ashley Z NickaArgentinaStephen Shaw RENEWAL
Morrow L OstroskyBrazilStephen Shaw NEW
Misaki Y SchemmerBrazilAnna Fali NEW
Aruna L SaylorsItalyElwin Sharvill NEW
Mujtaba K BologniaAustraliaOnyama Limba QUALIFIED
Tony M AlbaresGermanyBernardo Dominic NEGOTIATION
David Q StockhamIndiaStephen Shaw NEGOTIATION
Murillo F KolmetzIndiaIvan Magalhaes NEGOTIATION
Greenwood K ShinkoGermanyAnna Fali NEW
Stacey K AlbaresJapanStephen Shaw QUALIFIED
Adams I SlusarskiSpainAnna Fali NEW
Salvatore O MaletGermanyIvan Magalhaes QUALIFIED
Nicolas G NestleBrazilAsiya Javayant NEGOTIATION
Munro H CampainUnited KingdomIoni Bowcher UNQUALIFIED
Silvio C GarufiRussiaIoni Bowcher QUALIFIED
Izzy P KuskoItalyAmy Elsner UNQUALIFIED
Maisha W PerinFranceAmy Elsner RENEWAL
Ricardo J DarakjyRussiaIvan Magalhaes PROPOSAL
Alejandro A WhobreyRussiaXuxue Feng PROPOSAL
Alejandro Y DarakjyArgentinaXuxue Feng NEW
Darci Z NestleItalyOnyama Limba NEGOTIATION
Salvatore U RoysterCanadaIoni Bowcher UNQUALIFIED
Aika Q RulapaughItalyBernardo Dominic RENEWAL
Adams I SlusarskiJapanIvan Magalhaes RENEWAL
Munro W VenereGermanyStephen Shaw PROPOSAL
Ricardo A MarrierGermanyBernardo Dominic NEGOTIATION
Izzy Z SaylorsArgentinaStephen Shaw QUALIFIED
Leon F MaletUnited KingdomAmy Elsner UNQUALIFIED
Antonio W SchemmerBrazilAsiya Javayant UNQUALIFIED
Ashley G BologniaCanadaElwin Sharvill RENEWAL
Ivar V MacleadGermanyAsiya Javayant UNQUALIFIED
Morrow M ChuiBrazilElwin Sharvill UNQUALIFIED
Juan E VenereItalyXuxue Feng PROPOSAL
Jones E PoquetteSpainBernardo Dominic PROPOSAL
Francesco K BologniaFranceBernardo Dominic RENEWAL
Clifford D OstroskyBrazilAnna Fali NEW
James S StensethItalyOnyama Limba RENEWAL
Ricardo N StockhamUnited KingdomAnna Fali RENEWAL
Claire O NickaItalyAsiya Javayant PROPOSAL
Emily G GarufiItalyIvan Magalhaes NEGOTIATION
Juan S ShinkoUnited KingdomAmy Elsner RENEWAL
Costa Z FollerFranceBernardo Dominic PROPOSAL
Frozen Columns
Name
Tony I Bowley
Isabel N Dilliard
Maria A Maclead
Sinclair S Campain
Adams H Tollner
Costa X Nicka
Jones F Malet
Stacey H Foller
Kadeem A Caldarera
Alejandro H Doe
Johnson I Foller
Isabel G Stenseth
Izzy A Oldroyd
Arvin S Vocelka
Izzy X Nicka
Antonio X Iturbide
Emily Y Garufi
Cody K Bolognia
Costa I Chui
Ricardo K Vocelka
Juan A Vocelka
Nicolas I Glick
Darci X Albares
Francesco H Butt
Jennifer G Tollner
Julie B Iturbide
Maria E Waycott
Claire F Gillian
Munro N Malet
David C Slusarski
James K Stenseth
Jones Z Ruta
Rodrigues O Saylors
Emily W Dilliard
Jennifer R Stenseth
Claire I Malet
Ashley J Figeroa
Murillo G Sergi
Maisha S Marrier
Sinclair M Ruta
Chavez L Kolmetz
Mayumi O Foller
Adams M Sergi
Izzy E Schemmer
Rodrigues U Whobrey
Jefferson O Morasca
Ivar T Figeroa
Ricardo V Malet
Jones P Gaucho
Julie L Sergi
IdCountryDate
1000United Kingdom2024-06-10
1001France2024-06-18
1002Spain2024-06-20
1003Germany2024-06-09
1004Germany2024-06-08
1005United Kingdom2024-06-23
1006Spain2024-06-20
1007Japan2024-06-04
1008Australia2024-06-14
1009Australia2024-05-30
1010Germany2024-06-18
1011Spain2024-06-03
1012Brazil2024-06-01
1013France2024-06-12
1014France2024-06-10
1015Spain2024-05-30
1016Japan2024-06-03
1017Germany2024-05-27
1018Italy2024-06-09
1019Argentina2024-06-16
1020Brazil2024-06-02
1021India2024-05-25
1022Canada2024-06-01
1023India2024-06-23
1024Argentina2024-06-16
1025Argentina2024-06-07
1026France2024-06-19
1027Argentina2024-06-01
1028Germany2024-06-16
1029India2024-06-19
1030India2024-06-13
1031France2024-05-30
1032Italy2024-06-09
1033Canada2024-05-29
1034Germany2024-06-17
1035France2024-06-23
1036United Kingdom2024-06-09
1037France2024-06-05
1038Australia2024-06-04
1039India2024-05-29
1040Italy2024-06-11
1041Russia2024-06-10
1042United Kingdom2024-06-03
1043India2024-06-10
1044United Kingdom2024-05-31
1045Japan2024-06-12
1046Argentina2024-06-05
1047Brazil2024-06-08
1048India2024-06-03
1049Russia2024-06-05

On-Demand Data

NameIdCountryDate
Chavez T Waycott1000Australia2024-06-03
Darci Z Malet1001Brazil2024-06-03
Nicolas D Bolognia1002Argentina2024-06-17
Munro B Stenseth1003Russia2024-06-20
James F Gaucho1004Australia2024-06-06
Jefferson H Amigon1005Japan2024-06-01
Aditya B Amigon1006Spain2024-06-15
Francesco S Vocelka1007Brazil2024-06-15
Leja R Malet1008Japan2024-06-18
Faith L Oldroyd1009Spain2024-05-31
Greenwood S Venere1010Brazil2024-06-19
Mayumi O Briddick1011United Kingdom2024-06-12
Jones Y Malet1012Germany2024-06-07
Ricardo I Gaucho1013United Kingdom2024-05-28
Nicolas J Garufi1014France2024-06-06
Smith B Ostrosky1015France2024-06-09
Ivar L Stockham1016United Kingdom2024-05-29
Alejandro C Doe1017Russia2024-06-18
Morrow F Campain1018Australia2024-05-25
Salvatore F Venere1019Russia2024-06-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair J PerinUnited KingdomAsiya Javayant PROPOSAL
Antonio R DilliardJapanAsiya Javayant UNQUALIFIED
Greenwood P CaldareraSpainElwin Sharvill RENEWAL
Johnson N VocelkaGermanyAnna Fali RENEWAL
Misaki L ShinkoUnited KingdomAmy Elsner QUALIFIED
Maisha D FerenczFranceXuxue Feng UNQUALIFIED
Maisha D BriddickRussiaAsiya Javayant PROPOSAL
Morrow W PaprockiJapanIvan Magalhaes RENEWAL
Alejandro L OldroydJapanElwin Sharvill PROPOSAL
Darci P StensethFranceAmy Elsner PROPOSAL
Nicolas Y RoysterFranceOnyama Limba RENEWAL
Mayumi X SergiAustraliaAsiya Javayant QUALIFIED
Antonio R CampainBrazilAsiya Javayant NEGOTIATION
James Z ShinkoIndiaAsiya Javayant QUALIFIED
Julie N GauchoArgentinaIvan Magalhaes NEW
Ashley A TollnerItalyOnyama Limba QUALIFIED
Kaitlin W PaprockiCanadaAmy Elsner UNQUALIFIED
Juan E SchemmerArgentinaOnyama Limba NEGOTIATION
Maisha C CaudyIndiaXuxue Feng UNQUALIFIED
Tony B BowleyArgentinaBernardo Dominic QUALIFIED
Munro Q MaletBrazilOnyama Limba RENEWAL
Clifford B OstroskyItalyXuxue Feng QUALIFIED
Aika P RutaJapanAmy Elsner UNQUALIFIED
Jefferson T VenereBrazilAnna Fali NEW
Mayumi Y MorascaRussiaIvan Magalhaes UNQUALIFIED
David A RutaItalyBernardo Dominic NEW
Smith Y BriddickFranceAmy Elsner RENEWAL
Isabel Q RimGermanyOnyama Limba NEW
Cody R MorascaJapanIoni Bowcher NEW
Costa J InouyeUnited KingdomStephen Shaw RENEWAL
Maisha B DarakjyIndiaIoni Bowcher PROPOSAL
Wickens S PoquetteArgentinaStephen Shaw NEW
Jeanfrancois M MarrierRussiaXuxue Feng NEGOTIATION
Ashley L NickaArgentinaAsiya Javayant UNQUALIFIED
Mayumi P WhobreyGermanyBernardo Dominic PROPOSAL
Maria R SaylorsRussiaStephen Shaw QUALIFIED
Cody D MaletFranceElwin Sharvill NEGOTIATION
Deepesh B BologniaGermanyElwin Sharvill NEGOTIATION
Clifford C GauchoAustraliaOnyama Limba NEW
Claire A RoysterItalyElwin Sharvill 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>