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
Johnson Y PoquetteItalyOnyama Limba NEW
Isabel N VenereGermanyAsiya Javayant QUALIFIED
Leja S ChuiSpainElwin Sharvill NEW
Stacey F MarrierArgentinaOnyama Limba PROPOSAL
Jefferson V CaudySpainIvan Magalhaes NEW
Stacey L RoysterRussiaIoni Bowcher NEGOTIATION
Stacey C InouyeFranceOnyama Limba RENEWAL
Jefferson N SergiFranceBernardo Dominic QUALIFIED
Nicolas Z CampainJapanOnyama Limba UNQUALIFIED
Kaitlin K MarrierGermanyAmy Elsner RENEWAL
Deepesh T RutaSpainIvan Magalhaes PROPOSAL
Leon M AmigonItalyIvan Magalhaes NEW
Silvio W CaudyGermanyAsiya Javayant UNQUALIFIED
Emily I TollnerCanadaOnyama Limba PROPOSAL
Maria X RutaBrazilIvan Magalhaes PROPOSAL
Claire T CaldareraSpainBernardo Dominic QUALIFIED
Ricardo B FerenczItalyAmy Elsner NEGOTIATION
Faith R ChuiItalyAsiya Javayant QUALIFIED
Kadeem Z CampainCanadaAsiya Javayant NEW
Octavia U RulapaughGermanyIvan Magalhaes QUALIFIED
Octavia N ButtFranceStephen Shaw RENEWAL
Sinclair V StensethGermanyAmy Elsner RENEWAL
Faith V IturbideBrazilOnyama Limba QUALIFIED
Silvio V DilliardRussiaOnyama Limba NEGOTIATION
Morrow M CampainSpainAnna Fali NEGOTIATION
Maria W SlusarskiIndiaElwin Sharvill NEGOTIATION
Arvin D GillianSpainBernardo Dominic PROPOSAL
Johnson E VenereJapanAnna Fali NEW
James X PaprockiArgentinaAmy Elsner NEGOTIATION
Darci K InouyeIndiaAnna Fali RENEWAL
Ivar Z FerenczAustraliaStephen Shaw NEW
Murillo B ChuiRussiaAnna Fali UNQUALIFIED
Leon I WieserJapanElwin Sharvill PROPOSAL
Emily I ShinkoFranceAmy Elsner PROPOSAL
Ricardo R GillianItalyStephen Shaw UNQUALIFIED
Emily C TollnerUnited KingdomIoni Bowcher NEGOTIATION
Darci I FollerItalyXuxue Feng NEGOTIATION
Sinclair S StockhamUnited KingdomOnyama Limba NEW
Greenwood P TollnerIndiaIvan Magalhaes QUALIFIED
Kadeem A ChuiFranceElwin Sharvill NEW
Costa E BowleyJapanStephen Shaw RENEWAL
Jefferson E StockhamItalyStephen Shaw RENEWAL
Maria B ChuiJapanIoni Bowcher UNQUALIFIED
Jennifer I AmigonCanadaAsiya Javayant QUALIFIED
Leon V KolmetzJapanOnyama Limba UNQUALIFIED
Nicolas Q RoysterItalyStephen Shaw NEGOTIATION
Leja K FollerRussiaXuxue Feng RENEWAL
Deepesh I BriddickCanadaIoni Bowcher UNQUALIFIED
Kaitlin Q RoysterAustraliaXuxue Feng PROPOSAL
Jefferson N InouyeArgentinaAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Ashley M ShinkoSpainAmy Elsner NEGOTIATION
Aruna Z SaylorsJapanAsiya Javayant RENEWAL
Chavez P ChuiGermanyAnna Fali QUALIFIED
Jones U TollnerFranceBernardo Dominic UNQUALIFIED
Kadeem W VenereCanadaStephen Shaw QUALIFIED
Francesco I MarrierCanadaIvan Magalhaes RENEWAL
Wickens J SchemmerJapanOnyama Limba RENEWAL
Silvio A BowleyCanadaIoni Bowcher PROPOSAL
Julie O RoysterJapanAmy Elsner RENEWAL
Ashley D VocelkaJapanAnna Fali QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire H PerinArgentina2025-05-05Dorl, James J Esq UNQUALIFIED2Amy Elsner
1001Silvio J NickaJapan2025-04-06Feiner Bros RENEWAL42Anna Fali
1002Rodrigues U ChuiCanada2025-04-08Dorl, James J Esq NEW61Anna Fali
1003Darci T GillianSpain2025-04-27Commercial Press NEW97Elwin Sharvill
1004Leon A ButtSpain2025-05-01Benton, John B Jr PROPOSAL14Onyama Limba
1005Misaki S PoquetteSpain2025-04-11Feiner Bros UNQUALIFIED28Elwin Sharvill
1006Munro B DarakjyArgentina2025-05-03Chemel, James L Cpa UNQUALIFIED24Ivan Magalhaes
1007James D RoysterGermany2025-04-17Chapman, Ross E Esq QUALIFIED87Xuxue Feng
1008Clifford B BologniaAustralia2025-04-14Feiner Bros NEW23Anna Fali
1009Adams Y RoysterItaly2025-04-25King, Christopher A Esq RENEWAL33Asiya Javayant
1010Maisha N PoquetteAustralia2025-04-27Truhlar And Truhlar Attys NEW53Elwin Sharvill
1011David G VenereJapan2025-04-19King, Christopher A Esq QUALIFIED57Bernardo Dominic
1012Mujtaba C WieserAustralia2025-04-10Dorl, James J Esq PROPOSAL77Anna Fali
1013Juan Y ButtIndia2025-04-28Feiner Bros QUALIFIED13Bernardo Dominic
1014Octavia K NestleBrazil2025-04-25Chemel, James L Cpa PROPOSAL81Xuxue Feng
1015Tony V SchemmerGermany2025-04-26Commercial Press PROPOSAL13Bernardo Dominic
1016Ashley U VocelkaIndia2025-04-28Feltz Printing Service UNQUALIFIED21Anna Fali
1017Darci C RutaCanada2025-05-02King, Christopher A Esq NEGOTIATION54Xuxue Feng
1018Leja Q PoquetteRussia2025-04-27Morlong Associates NEW18Ioni Bowcher
1019Ivar O GauchoGermany2025-04-09Chapman, Ross E Esq NEGOTIATION73Elwin Sharvill
1020Francesco O StockhamFrance2025-04-11Chemel, James L Cpa NEGOTIATION48Xuxue Feng
1021Alejandro I OstroskyGermany2025-04-06Chemel, James L Cpa RENEWAL54Onyama Limba
1022Maisha G TollnerFrance2025-05-02Printing Dimensions RENEWAL64Asiya Javayant
1023Isabel K ButtIndia2025-05-01Commercial Press RENEWAL69Ivan Magalhaes
1024Ashley W NestleGermany2025-04-30Chapman, Ross E Esq PROPOSAL91Onyama Limba
1025Salvatore Q FollerAustralia2025-04-27Printing Dimensions NEGOTIATION8Ivan Magalhaes
1026Rodrigues K GlickUnited Kingdom2025-04-21King, Christopher A Esq UNQUALIFIED21Elwin Sharvill
1027Arvin A CaudyIndia2025-04-30Buckley Miller Wright RENEWAL41Ioni Bowcher
1028Maisha B OstroskyRussia2025-04-11Morlong Associates NEGOTIATION97Bernardo Dominic
1029Darci B FlosiSpain2025-04-17Commercial Press UNQUALIFIED65Stephen Shaw
1030Antonio A CampainRussia2025-04-16Chanay, Jeffrey A Esq UNQUALIFIED88Onyama Limba
1031Aika N FigeroaIndia2025-04-09Benton, John B Jr NEGOTIATION92Bernardo Dominic
1032Stacey G RoysterFrance2025-04-08Chemel, James L Cpa PROPOSAL74Stephen Shaw
1033Costa Z VenereAustralia2025-04-07Morlong Associates RENEWAL49Stephen Shaw
1034Salvatore B MacleadGermany2025-04-19Feltz Printing Service PROPOSAL87Onyama Limba
1035Cody T OldroydBrazil2025-04-09Truhlar And Truhlar Attys NEW10Stephen Shaw
1036Kaitlin E BowleyArgentina2025-05-05Dorl, James J Esq NEW52Amy Elsner
1037Stacey B KuskoRussia2025-04-11Commercial Press RENEWAL16Elwin Sharvill
1038Arvin V DoeCanada2025-04-15Morlong Associates NEGOTIATION31Ioni Bowcher
1039Antonio N WhobreyJapan2025-04-28Rousseaux, Michael Esq PROPOSAL94Stephen Shaw
1040Ricardo I ShinkoRussia2025-04-19Benton, John B Jr NEGOTIATION16Asiya Javayant
1041Leja D NickaJapan2025-04-26Morlong Associates UNQUALIFIED13Anna Fali
1042Salvatore P FerenczItaly2025-04-21Morlong Associates NEW95Ivan Magalhaes
1043Costa F ButtAustralia2025-04-18Benton, John B Jr NEGOTIATION91Elwin Sharvill
1044Faith R StensethGermany2025-04-21Chemel, James L Cpa NEGOTIATION93Xuxue Feng
1045Alejandro B SlusarskiUnited Kingdom2025-04-27Rousseaux, Michael Esq QUALIFIED14Anna Fali
1046Alejandro A WaycottUnited Kingdom2025-04-15Truhlar And Truhlar Attys PROPOSAL86Elwin Sharvill
1047Juan C ChuiIndia2025-04-06Chanay, Jeffrey A Esq NEGOTIATION0Elwin Sharvill
1048Stacey C OldroydJapan2025-04-12Chanay, Jeffrey A Esq QUALIFIED82Amy Elsner
1049Leon S VocelkaArgentina2025-04-30King, Christopher A Esq UNQUALIFIED74Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Ricardo S CampainBrazilIoni Bowcher NEGOTIATION
Julie Y CampainBrazilAnna Fali NEW
Octavia R PoquetteArgentinaElwin Sharvill RENEWAL
David X ChuiRussiaOnyama Limba QUALIFIED
Stacey W FlosiBrazilAsiya Javayant UNQUALIFIED
Octavia N BowleyRussiaAmy Elsner PROPOSAL
Aruna K FigeroaGermanyIvan Magalhaes UNQUALIFIED
Emily G TollnerJapanIvan Magalhaes NEW
Munro T VocelkaBrazilStephen Shaw UNQUALIFIED
Francesco F RulapaughItalyAnna Fali RENEWAL
Smith W ButtUnited KingdomStephen Shaw NEGOTIATION
Mujtaba S DilliardFranceOnyama Limba NEW
Wickens S PerinSpainElwin Sharvill NEGOTIATION
Maria H NestleItalyAsiya Javayant QUALIFIED
Francesco H NestleIndiaXuxue Feng RENEWAL
Adams B TollnerJapanAnna Fali NEW
Jefferson S MaletCanadaStephen Shaw NEGOTIATION
Mayumi E SaylorsIndiaAnna Fali UNQUALIFIED
Costa F SaylorsRussiaBernardo Dominic RENEWAL
Nicolas I ShinkoBrazilIvan Magalhaes RENEWAL
Jennifer L SergiItalyElwin Sharvill PROPOSAL
Arvin L GlickUnited KingdomBernardo Dominic NEGOTIATION
Ivar Z InouyeBrazilBernardo Dominic NEGOTIATION
Chavez X PaprockiAustraliaAsiya Javayant QUALIFIED
Greenwood U StockhamAustraliaAmy Elsner NEW
Arvin A MacleadJapanStephen Shaw QUALIFIED
Kadeem N WhobreyGermanyXuxue Feng NEGOTIATION
Ricardo Z OstroskyJapanAnna Fali QUALIFIED
Costa N StensethSpainIoni Bowcher RENEWAL
Maisha L FlosiCanadaStephen Shaw NEW
Wickens G BriddickCanadaOnyama Limba RENEWAL
Tony L OstroskyGermanyOnyama Limba UNQUALIFIED
Isabel U MacleadUnited KingdomElwin Sharvill PROPOSAL
Mujtaba E DarakjyBrazilXuxue Feng RENEWAL
Johnson X StensethItalyStephen Shaw NEW
Morrow M WieserCanadaBernardo Dominic NEW
Isabel J PerinItalyIoni Bowcher QUALIFIED
Deepesh S PerinFranceXuxue Feng NEW
Stacey S CaldareraArgentinaIvan Magalhaes UNQUALIFIED
Ivar D InouyeFranceAmy Elsner NEW
Octavia T AmigonCanadaAmy Elsner QUALIFIED
Maria O RimIndiaIoni Bowcher UNQUALIFIED
Clifford C TollnerArgentinaAmy Elsner NEW
Ricardo G CaldareraSpainStephen Shaw NEGOTIATION
Alejandro Y MaletJapanAmy Elsner NEGOTIATION
Stacey H WhobreyCanadaAmy Elsner NEGOTIATION
Clifford F BologniaGermanyAnna Fali NEW
James J NestleArgentinaIoni Bowcher PROPOSAL
Stacey K SlusarskiGermanyStephen Shaw QUALIFIED
Greenwood M SergiCanadaAsiya Javayant PROPOSAL
Frozen Columns
Name
Aika V Gaucho
Misaki C Kolmetz
Isabel B Whobrey
Deepesh E Caldarera
James C Kolmetz
Arvin M Royster
Ricardo T Perin
Clifford U Oldroyd
Stacey R Perin
Smith D Perin
Rodrigues G Paprocki
James B Glick
Aditya S Venere
Ivar J Sergi
Adams K Shinko
Jefferson J Malet
Jeanfrancois U Stenseth
Nicolas Y Garufi
Darci E Malet
Aditya I Glick
Darci N Stockham
Claire E Stenseth
Smith J Whobrey
Clifford R Ferencz
Isabel J Darakjy
Costa H Oldroyd
Greenwood E Maclead
Costa J Foller
Cody D Amigon
Misaki G Paprocki
Francesco F Sergi
Mujtaba C Wieser
Rodrigues N Kolmetz
Rodrigues F Venere
Wickens O Darakjy
Jennifer C Gillian
Maria V Perin
Clifford H Gaucho
Misaki I Chui
Mayumi J Ruta
Sinclair T Gillian
Jennifer Y Flosi
Cody M Foller
Sinclair K Bowley
Morrow D Bolognia
Maisha N Dilliard
Stacey R Schemmer
Deepesh M Kolmetz
Jeanfrancois Z Caldarera
James Z Kusko
IdCountryDate
1000Brazil2025-05-04
1001Brazil2025-04-11
1002Japan2025-05-02
1003Spain2025-04-19
1004Canada2025-04-18
1005Japan2025-04-13
1006United Kingdom2025-05-02
1007Russia2025-04-08
1008Germany2025-04-07
1009France2025-04-25
1010Argentina2025-04-18
1011Germany2025-04-26
1012Australia2025-04-14
1013Japan2025-04-25
1014Brazil2025-04-08
1015Germany2025-04-15
1016Brazil2025-04-22
1017Russia2025-05-04
1018India2025-04-23
1019France2025-04-26
1020India2025-04-18
1021Spain2025-04-27
1022Argentina2025-05-05
1023Brazil2025-04-13
1024India2025-04-19
1025Spain2025-04-30
1026Italy2025-04-15
1027Italy2025-05-05
1028Brazil2025-04-16
1029Germany2025-04-23
1030Canada2025-04-28
1031India2025-04-22
1032Spain2025-04-09
1033France2025-04-26
1034Argentina2025-05-02
1035Japan2025-04-22
1036Australia2025-04-06
1037Italy2025-04-11
1038Italy2025-04-09
1039Argentina2025-05-05
1040Japan2025-04-24
1041Canada2025-04-11
1042France2025-04-30
1043Brazil2025-04-16
1044United Kingdom2025-04-25
1045France2025-04-21
1046United Kingdom2025-04-26
1047Japan2025-04-13
1048Argentina2025-04-28
1049India2025-04-12

On-Demand Data

NameIdCountryDate
Adams V Kusko1000Brazil2025-05-01
Francesco F Gillian1001Australia2025-04-07
Leja V Rim1002Argentina2025-04-25
Jennifer G Bowley1003Argentina2025-04-27
Isabel O Slusarski1004Argentina2025-05-03
Tony W Gaucho1005Spain2025-04-26
Salvatore T Venere1006Russia2025-04-09
Salvatore T Darakjy1007Italy2025-05-03
Juan Z Rulapaugh1008Russia2025-04-06
Tony Y Chui1009Brazil2025-04-19
Octavia E Vocelka1010India2025-04-15
Chavez L Albares1011Spain2025-04-12
Aruna W Paprocki1012Australia2025-04-16
Faith O Whobrey1013Italy2025-04-18
Murillo I Doe1014Russia2025-04-21
Clifford O Whobrey1015Argentina2025-04-28
Francesco X Tollner1016France2025-04-08
Morrow K Albares1017France2025-04-16
Costa D Poquette1018Australia2025-04-24
Jefferson U Garufi1019Russia2025-04-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci N GillianItalyIoni Bowcher QUALIFIED
Stacey Y AmigonBrazilAnna Fali PROPOSAL
Juan W PoquetteIndiaOnyama Limba NEW
Sinclair O BowleyArgentinaAmy Elsner NEW
Mujtaba A AlbaresGermanyOnyama Limba NEW
Jefferson B WieserAustraliaAsiya Javayant PROPOSAL
Mujtaba D WaycottRussiaElwin Sharvill QUALIFIED
James D GlickCanadaOnyama Limba NEW
Aika R TollnerArgentinaAsiya Javayant PROPOSAL
Aruna W CampainSpainAnna Fali RENEWAL
Mujtaba B SaylorsGermanyElwin Sharvill PROPOSAL
Greenwood R SaylorsGermanyIvan Magalhaes NEGOTIATION
Aruna Q VocelkaFranceBernardo Dominic NEW
Wickens W CaudyIndiaAmy Elsner PROPOSAL
Alejandro T AmigonIndiaIoni Bowcher NEW
Maisha P PoquetteBrazilIvan Magalhaes NEGOTIATION
Misaki L SlusarskiIndiaXuxue Feng NEGOTIATION
Munro J FlosiItalyAsiya Javayant NEW
Aika Y FlosiGermanyAmy Elsner QUALIFIED
Darci Z KolmetzSpainStephen Shaw NEGOTIATION
Silvio X RutaRussiaXuxue Feng QUALIFIED
Aruna U CampainGermanyAsiya Javayant PROPOSAL
Jeanfrancois C DilliardSpainIoni Bowcher RENEWAL
Munro F KuskoGermanyAnna Fali UNQUALIFIED
Faith T MorascaGermanyAmy Elsner NEGOTIATION
Aditya K VocelkaAustraliaElwin Sharvill PROPOSAL
Johnson G PaprockiSpainAsiya Javayant UNQUALIFIED
Salvatore A ButtUnited KingdomElwin Sharvill NEGOTIATION
Maisha S KolmetzIndiaStephen Shaw PROPOSAL
Alejandro Q BowleyUnited KingdomXuxue Feng QUALIFIED
Cody U PaprockiUnited KingdomIvan Magalhaes NEGOTIATION
Ricardo T ShinkoSpainAnna Fali NEGOTIATION
Ricardo V StockhamCanadaOnyama Limba UNQUALIFIED
Smith Q StockhamCanadaAsiya Javayant NEGOTIATION
Mujtaba X StensethJapanIoni Bowcher NEW
Jefferson M BriddickItalyAmy Elsner NEGOTIATION
Murillo M VocelkaRussiaElwin Sharvill QUALIFIED
Smith Z FlosiCanadaElwin Sharvill RENEWAL
Deepesh G FollerFranceBernardo Dominic UNQUALIFIED
Claire F ButtUnited KingdomElwin Sharvill 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>