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
Silvio B GillianCanadaElwin Sharvill NEGOTIATION
Kaitlin K FollerIndiaIvan Magalhaes RENEWAL
Smith Z RoysterCanadaAsiya Javayant NEGOTIATION
Kaitlin A KolmetzArgentinaIoni Bowcher NEGOTIATION
Ivar Z ShinkoFranceElwin Sharvill RENEWAL
Kaitlin S VocelkaRussiaBernardo Dominic PROPOSAL
Mujtaba X DoeArgentinaXuxue Feng RENEWAL
Cody X StensethGermanyAnna Fali NEW
Kadeem G VenereJapanOnyama Limba PROPOSAL
Leon U BowleyItalyBernardo Dominic QUALIFIED
Leja D GillianGermanyXuxue Feng PROPOSAL
Morrow Y StockhamJapanXuxue Feng UNQUALIFIED
Aditya W WieserIndiaAnna Fali PROPOSAL
Morrow H SchemmerArgentinaIvan Magalhaes PROPOSAL
Tony E WaycottAustraliaAsiya Javayant QUALIFIED
Chavez F MaletFranceOnyama Limba NEGOTIATION
Cody I TollnerJapanBernardo Dominic NEW
Leon T PerinIndiaIvan Magalhaes NEGOTIATION
Stacey M NickaGermanyStephen Shaw NEGOTIATION
Stacey D GarufiRussiaIvan Magalhaes PROPOSAL
Francesco W IturbideIndiaElwin Sharvill PROPOSAL
Emily O MaletSpainIvan Magalhaes QUALIFIED
Ivar W WhobreyGermanyAsiya Javayant NEGOTIATION
Maisha F ChuiIndiaIvan Magalhaes QUALIFIED
Mujtaba H VocelkaIndiaAmy Elsner QUALIFIED
Emily W WieserRussiaXuxue Feng RENEWAL
Arvin V NestleArgentinaStephen Shaw NEW
Faith B InouyeGermanyAnna Fali PROPOSAL
Munro H ChuiBrazilOnyama Limba RENEWAL
Faith N DilliardJapanElwin Sharvill QUALIFIED
Jefferson U InouyeIndiaBernardo Dominic NEW
Johnson K CampainCanadaIvan Magalhaes NEW
Rodrigues B MaletRussiaAsiya Javayant NEW
David E ButtJapanAmy Elsner NEW
Mujtaba T VocelkaBrazilIoni Bowcher NEGOTIATION
Mujtaba L NickaSpainAnna Fali PROPOSAL
Darci D BriddickJapanAsiya Javayant QUALIFIED
Isabel V FerenczArgentinaAsiya Javayant NEGOTIATION
Tony S GillianFranceAsiya Javayant NEGOTIATION
Stacey T SlusarskiAustraliaIvan Magalhaes PROPOSAL
Aditya Y GlickGermanyOnyama Limba QUALIFIED
Costa J RulapaughCanadaOnyama Limba PROPOSAL
Octavia A FlosiIndiaElwin Sharvill RENEWAL
Antonio G InouyeAustraliaOnyama Limba QUALIFIED
Adams C KolmetzGermanyBernardo Dominic UNQUALIFIED
Smith Y WieserFranceXuxue Feng PROPOSAL
Clifford A KolmetzRussiaAsiya Javayant NEGOTIATION
Sinclair Z SchemmerFranceAnna Fali PROPOSAL
Jennifer B NestleRussiaAnna Fali NEGOTIATION
Johnson U SergiItalyIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Ricardo U CaldareraArgentinaAsiya Javayant PROPOSAL
Antonio I DoeJapanBernardo Dominic QUALIFIED
Greenwood B IturbideFranceOnyama Limba NEGOTIATION
Deepesh Q VenereItalyOnyama Limba PROPOSAL
Ashley G RimArgentinaAmy Elsner NEGOTIATION
Deepesh B CaudyFranceIvan Magalhaes QUALIFIED
Ashley E RutaRussiaIvan Magalhaes RENEWAL
Munro A CampainFranceXuxue Feng PROPOSAL
Chavez U FlosiIndiaBernardo Dominic NEGOTIATION
Tony S MaletSpainElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia A DilliardBrazil2024-05-13Feiner Bros RENEWAL98Asiya Javayant
1001Murillo B RutaJapan2024-05-21King, Christopher A Esq RENEWAL82Ivan Magalhaes
1002Silvio G OstroskySpain2024-05-17Chanay, Jeffrey A Esq RENEWAL98Ioni Bowcher
1003Maisha Q CaldareraArgentina2024-05-12Truhlar And Truhlar Attys NEGOTIATION86Anna Fali
1004Julie M AlbaresIndia2024-05-12Chapman, Ross E Esq NEW63Asiya Javayant
1005Faith O MaletRussia2024-05-20Benton, John B Jr PROPOSAL70Anna Fali
1006Costa T FerenczAustralia2024-05-25Chanay, Jeffrey A Esq NEGOTIATION7Ivan Magalhaes
1007Morrow Y MaletArgentina2024-05-06Chapman, Ross E Esq NEGOTIATION76Stephen Shaw
1008Aditya O SergiJapan2024-05-04Truhlar And Truhlar Attys RENEWAL93Stephen Shaw
1009Kaitlin Q MorascaArgentina2024-05-06Dorl, James J Esq NEGOTIATION68Xuxue Feng
1010Deepesh P DoeCanada2024-05-20Commercial Press RENEWAL21Bernardo Dominic
1011Nicolas L PaprockiItaly2024-05-01Rangoni Of Florence PROPOSAL24Elwin Sharvill
1012Mayumi H CampainUnited Kingdom2024-05-07Benton, John B Jr NEW90Anna Fali
1013Ricardo Z FlosiUnited Kingdom2024-04-26Buckley Miller Wright RENEWAL22Stephen Shaw
1014Jeanfrancois M NickaSpain2024-05-15Buckley Miller Wright NEW48Asiya Javayant
1015Salvatore N MaletArgentina2024-05-10Feiner Bros NEW34Ioni Bowcher
1016Darci O PerinArgentina2024-05-11Benton, John B Jr RENEWAL64Onyama Limba
1017Chavez O StensethFrance2024-05-04Printing Dimensions NEGOTIATION41Onyama Limba
1018Leja R SchemmerArgentina2024-04-27Rangoni Of Florence NEW17Ioni Bowcher
1019Silvio N IturbideArgentina2024-05-02Dorl, James J Esq NEW64Bernardo Dominic
1020Wickens B DilliardJapan2024-05-10Chemel, James L Cpa PROPOSAL85Xuxue Feng
1021Deepesh P InouyeAustralia2024-05-11Chanay, Jeffrey A Esq NEW12Anna Fali
1022Francesco Z OldroydFrance2024-05-14Dorl, James J Esq UNQUALIFIED0Onyama Limba
1023Johnson B DilliardBrazil2024-05-19Feiner Bros RENEWAL85Ivan Magalhaes
1024Jeanfrancois C RutaGermany2024-05-24Morlong Associates RENEWAL63Anna Fali
1025Claire K DilliardArgentina2024-05-05Truhlar And Truhlar Attys NEGOTIATION75Xuxue Feng
1026James D SergiGermany2024-05-15Feltz Printing Service PROPOSAL17Xuxue Feng
1027Darci S SergiUnited Kingdom2024-04-27Feiner Bros NEGOTIATION78Xuxue Feng
1028Alejandro P SchemmerArgentina2024-05-24Printing Dimensions QUALIFIED30Anna Fali
1029Jennifer E WaycottUnited Kingdom2024-04-28Chapman, Ross E Esq RENEWAL36Ioni Bowcher
1030Mujtaba D KolmetzBrazil2024-05-14Morlong Associates RENEWAL46Anna Fali
1031Silvio Z ChuiFrance2024-04-29Feltz Printing Service NEGOTIATION15Asiya Javayant
1032Aika W OstroskySpain2024-05-19Buckley Miller Wright NEGOTIATION54Xuxue Feng
1033Aika R MorascaGermany2024-05-21Benton, John B Jr NEW12Ivan Magalhaes
1034Silvio G VocelkaAustralia2024-05-17Buckley Miller Wright PROPOSAL53Elwin Sharvill
1035Aditya X FerenczSpain2024-05-13Chapman, Ross E Esq QUALIFIED35Anna Fali
1036Sinclair U AmigonItaly2024-05-05Benton, John B Jr NEGOTIATION93Amy Elsner
1037Darci W PaprockiItaly2024-05-03Rousseaux, Michael Esq RENEWAL21Ivan Magalhaes
1038Tony H BowleyBrazil2024-05-16Rangoni Of Florence NEW28Stephen Shaw
1039Juan D MacleadBrazil2024-05-01Feiner Bros NEGOTIATION55Bernardo Dominic
1040Smith G FerenczIndia2024-05-08Truhlar And Truhlar Attys UNQUALIFIED28Anna Fali
1041Kadeem H VenereBrazil2024-05-25Rousseaux, Michael Esq NEW77Xuxue Feng
1042Wickens I RoysterIndia2024-05-25Truhlar And Truhlar Attys QUALIFIED54Ivan Magalhaes
1043Murillo B StockhamIndia2024-05-11Chanay, Jeffrey A Esq RENEWAL69Elwin Sharvill
1044Ricardo Y MaletAustralia2024-05-12King, Christopher A Esq NEW19Asiya Javayant
1045Emily H AlbaresGermany2024-05-24Commercial Press NEW50Ioni Bowcher
1046Jones J FollerUnited Kingdom2024-05-21Chanay, Jeffrey A Esq QUALIFIED1Asiya Javayant
1047Juan W MarrierJapan2024-05-02King, Christopher A Esq RENEWAL96Onyama Limba
1048Costa O AmigonUnited Kingdom2024-04-29Feltz Printing Service NEGOTIATION87Amy Elsner
1049Jeanfrancois F IturbideAustralia2024-05-10Chemel, James L Cpa QUALIFIED77Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Juan M MacleadGermanyAmy Elsner NEW
Antonio K SaylorsCanadaElwin Sharvill UNQUALIFIED
Adams X RimBrazilAsiya Javayant NEW
Leja E PerinIndiaElwin Sharvill NEGOTIATION
Costa C VenereAustraliaStephen Shaw NEGOTIATION
Juan P SchemmerBrazilXuxue Feng UNQUALIFIED
Aditya Z SchemmerBrazilXuxue Feng NEW
Arvin H RutaAustraliaElwin Sharvill RENEWAL
Chavez C VenereCanadaIvan Magalhaes PROPOSAL
Deepesh C KolmetzBrazilXuxue Feng QUALIFIED
Francesco C RoysterFranceAsiya Javayant RENEWAL
Arvin N PaprockiGermanyBernardo Dominic QUALIFIED
Juan X PerinSpainAsiya Javayant UNQUALIFIED
Smith N CaudyRussiaAnna Fali UNQUALIFIED
Maria O SlusarskiIndiaAmy Elsner RENEWAL
Faith L CampainGermanyIvan Magalhaes RENEWAL
Ivar A StockhamSpainAsiya Javayant RENEWAL
Silvio X ButtIndiaAnna Fali QUALIFIED
Sinclair T TollnerJapanIvan Magalhaes NEW
Isabel K WieserGermanyIoni Bowcher NEW
Francesco P BriddickItalyAsiya Javayant QUALIFIED
Murillo A RutaJapanAmy Elsner NEW
Jennifer B OstroskyFranceIvan Magalhaes QUALIFIED
David X BowleyAustraliaXuxue Feng NEW
Tony U PaprockiJapanBernardo Dominic NEGOTIATION
Maria X CaldareraFranceOnyama Limba RENEWAL
Julie A CaudyFranceElwin Sharvill PROPOSAL
Mayumi D SlusarskiIndiaAsiya Javayant NEGOTIATION
Izzy R RoysterSpainAmy Elsner NEGOTIATION
Juan T IturbideSpainElwin Sharvill NEW
Ivar Y DoeUnited KingdomAmy Elsner UNQUALIFIED
James Y PoquetteGermanyAnna Fali NEGOTIATION
Alejandro J MaletCanadaAmy Elsner PROPOSAL
Francesco N RimAustraliaAmy Elsner UNQUALIFIED
Jeanfrancois I WieserIndiaAsiya Javayant NEW
Cody U NickaUnited KingdomBernardo Dominic PROPOSAL
Izzy G InouyeCanadaIoni Bowcher RENEWAL
Jeanfrancois H AmigonCanadaIvan Magalhaes NEW
Juan K KolmetzIndiaOnyama Limba NEW
Aika A IturbideIndiaAnna Fali NEW
Sinclair E StockhamGermanyOnyama Limba NEW
Munro O KuskoIndiaAsiya Javayant UNQUALIFIED
Cody J MacleadSpainIvan Magalhaes PROPOSAL
Misaki G WaycottUnited KingdomXuxue Feng NEGOTIATION
David B TollnerRussiaIvan Magalhaes NEGOTIATION
Claire H SchemmerSpainAmy Elsner QUALIFIED
Ivar E NestleRussiaBernardo Dominic NEW
David E OstroskyUnited KingdomStephen Shaw QUALIFIED
Nicolas C StensethAustraliaIoni Bowcher RENEWAL
Chavez U SaylorsGermanyOnyama Limba RENEWAL
Frozen Columns
Name
Wickens T Nicka
Kadeem B Waycott
Murillo Y Nestle
Wickens D Oldroyd
Mayumi X Perin
Claire Q Schemmer
Kadeem K Butt
Silvio J Butt
Aruna N Briddick
Wickens S Amigon
Murillo N Whobrey
Maria T Wieser
Emily W Marrier
Cody W Malet
Leja A Nicka
Johnson Y Poquette
Rodrigues H Bowley
Silvio Z Inouye
Ashley Z Briddick
Smith I Waycott
Clifford Z Bowley
Kaitlin S Flosi
Antonio Q Dilliard
Ivar P Poquette
Jones W Garufi
Munro K Stenseth
Julie M Shinko
Maisha C Marrier
Munro P Campain
Misaki Q Vocelka
Ashley B Flosi
Stacey H Paprocki
Ricardo Y Foller
Jennifer N Tollner
Aruna P Nestle
Claire C Malet
Antonio P Gaucho
Adams D Saylors
Octavia G Gaucho
Leja B Dilliard
Isabel Y Saylors
James X Doe
Salvatore F Garufi
Smith Z Shinko
Ivar Y Waycott
Octavia Y Amigon
Mayumi Q Glick
Faith Q Stockham
Alejandro V Wieser
Clifford U Caudy
IdCountryDate
1000United Kingdom2024-04-30
1001Italy2024-05-05
1002Canada2024-05-16
1003India2024-04-30
1004Italy2024-04-28
1005Australia2024-05-01
1006United Kingdom2024-05-02
1007Japan2024-05-05
1008United Kingdom2024-05-15
1009Brazil2024-05-08
1010India2024-04-30
1011Italy2024-05-07
1012France2024-05-16
1013Russia2024-05-22
1014Argentina2024-05-21
1015Japan2024-05-14
1016Russia2024-05-07
1017Spain2024-05-09
1018France2024-05-17
1019France2024-05-11
1020United Kingdom2024-05-03
1021India2024-05-11
1022Japan2024-05-12
1023France2024-05-06
1024Australia2024-05-07
1025Brazil2024-05-06
1026Russia2024-05-15
1027Spain2024-05-02
1028Japan2024-05-12
1029Japan2024-05-16
1030Germany2024-05-06
1031Japan2024-05-19
1032Germany2024-05-20
1033India2024-05-16
1034India2024-05-03
1035Japan2024-05-03
1036Germany2024-05-07
1037Spain2024-05-21
1038Argentina2024-05-15
1039France2024-05-20
1040India2024-05-22
1041Spain2024-04-28
1042India2024-05-01
1043France2024-05-09
1044Spain2024-05-24
1045France2024-05-09
1046Australia2024-05-11
1047Spain2024-05-10
1048Canada2024-05-24
1049Australia2024-05-19

On-Demand Data

NameIdCountryDate
Emily G Tollner1000Australia2024-05-09
Emily L Poquette1001Brazil2024-05-23
Antonio O Campain1002India2024-05-04
Claire M Bowley1003Spain2024-05-13
Faith C Slusarski1004Australia2024-04-30
Antonio F Gaucho1005France2024-05-14
Salvatore M Doe1006Argentina2024-04-27
Francesco P Rulapaugh1007Spain2024-05-02
Nicolas A Briddick1008Australia2024-05-24
Izzy B Schemmer1009Germany2024-05-01
Arvin B Butt1010Spain2024-05-12
Adams D Figeroa1011Brazil2024-05-01
Kadeem F Foller1012Australia2024-05-11
Costa B Kusko1013Japan2024-05-23
Claire G Whobrey1014Spain2024-04-27
Francesco G Stenseth1015Spain2024-05-08
Maisha V Caldarera1016France2024-05-08
Clifford P Slusarski1017Russia2024-05-02
Darci Z Marrier1018Japan2024-05-14
Kadeem Y Gaucho1019Argentina2024-05-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia O NickaRussiaStephen Shaw NEW
Aika G RutaItalyIvan Magalhaes PROPOSAL
Ashley Y RutaItalyIoni Bowcher UNQUALIFIED
Greenwood V VenereIndiaAmy Elsner RENEWAL
Jefferson A AmigonAustraliaIoni Bowcher UNQUALIFIED
James W WaycottIndiaIoni Bowcher QUALIFIED
Rodrigues B MaletFranceXuxue Feng UNQUALIFIED
Rodrigues F PoquetteSpainBernardo Dominic QUALIFIED
Jefferson J MacleadIndiaAsiya Javayant NEW
Misaki D RimSpainBernardo Dominic PROPOSAL
Aruna C InouyeFranceElwin Sharvill QUALIFIED
Kadeem I RoysterBrazilStephen Shaw PROPOSAL
Nicolas Y SaylorsCanadaIvan Magalhaes RENEWAL
Antonio B CaldareraAustraliaAsiya Javayant QUALIFIED
Jennifer G SchemmerSpainIvan Magalhaes QUALIFIED
Adams I TollnerRussiaOnyama Limba RENEWAL
Salvatore G VenereArgentinaElwin Sharvill NEGOTIATION
Tony M FollerBrazilXuxue Feng UNQUALIFIED
Claire H VocelkaJapanElwin Sharvill NEW
Julie D FlosiCanadaIoni Bowcher UNQUALIFIED
Aika J MacleadAustraliaXuxue Feng PROPOSAL
Sinclair O OldroydSpainXuxue Feng NEGOTIATION
Antonio G IturbideRussiaElwin Sharvill UNQUALIFIED
Wickens T GlickBrazilIoni Bowcher RENEWAL
Isabel Y InouyeItalyAmy Elsner NEGOTIATION
Chavez P FollerGermanyOnyama Limba UNQUALIFIED
Chavez P FigeroaGermanyXuxue Feng QUALIFIED
Kadeem O FlosiJapanIvan Magalhaes RENEWAL
Juan M MacleadFranceIoni Bowcher NEW
Jefferson M NestleJapanBernardo Dominic NEGOTIATION
Aika B RutaIndiaAmy Elsner NEGOTIATION
Salvatore X BowleyCanadaStephen Shaw UNQUALIFIED
Emily J CampainArgentinaOnyama Limba NEGOTIATION
Jefferson W FlosiArgentinaElwin Sharvill QUALIFIED
Alejandro E MarrierGermanyIoni Bowcher UNQUALIFIED
Julie G GauchoSpainAsiya Javayant UNQUALIFIED
Cody R MaletItalyElwin Sharvill NEW
Kaitlin U RulapaughIndiaOnyama Limba PROPOSAL
Leja C GauchoArgentinaIvan Magalhaes RENEWAL
Ricardo F OldroydFranceXuxue Feng 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>