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
Maisha R StockhamItalyOnyama Limba QUALIFIED
Leon P OstroskyJapanStephen Shaw NEW
Antonio U DoeBrazilAmy Elsner UNQUALIFIED
Izzy E SchemmerAustraliaBernardo Dominic RENEWAL
Darci B BologniaBrazilStephen Shaw UNQUALIFIED
Mayumi S AmigonBrazilXuxue Feng PROPOSAL
Aruna I GauchoAustraliaAnna Fali UNQUALIFIED
Aika H MaletSpainXuxue Feng RENEWAL
Arvin K RutaJapanIoni Bowcher RENEWAL
Misaki P DarakjyBrazilStephen Shaw NEGOTIATION
Ivar S BowleyArgentinaOnyama Limba UNQUALIFIED
Nicolas E RulapaughJapanAsiya Javayant UNQUALIFIED
Isabel M CaldareraUnited KingdomAsiya Javayant QUALIFIED
Emily F NestleAustraliaElwin Sharvill RENEWAL
Alejandro I CaldareraFranceBernardo Dominic RENEWAL
Mujtaba Y AlbaresJapanAsiya Javayant NEW
Jones W ShinkoIndiaIoni Bowcher NEW
Jefferson O PoquetteSpainOnyama Limba UNQUALIFIED
James L SchemmerArgentinaStephen Shaw QUALIFIED
Darci N DoeCanadaAnna Fali QUALIFIED
Mayumi E ButtAustraliaOnyama Limba NEW
Faith I MaletSpainIvan Magalhaes RENEWAL
Misaki P CaudyAustraliaBernardo Dominic RENEWAL
Jeanfrancois A StockhamAustraliaIvan Magalhaes UNQUALIFIED
Smith J NestleFranceAsiya Javayant NEGOTIATION
Francesco V ChuiGermanyOnyama Limba NEGOTIATION
Jefferson L WaycottBrazilXuxue Feng RENEWAL
Arvin C BologniaJapanStephen Shaw PROPOSAL
Alejandro F BriddickIndiaBernardo Dominic UNQUALIFIED
Juan Q FerenczJapanBernardo Dominic NEGOTIATION
Rodrigues F NestleArgentinaXuxue Feng PROPOSAL
Francesco F RulapaughSpainAsiya Javayant NEGOTIATION
Ivar D GauchoItalyAnna Fali NEGOTIATION
Adams K SaylorsGermanyIoni Bowcher UNQUALIFIED
Arvin W StensethRussiaIoni Bowcher UNQUALIFIED
Wickens H DilliardUnited KingdomIvan Magalhaes NEW
Kaitlin X PerinJapanIvan Magalhaes PROPOSAL
Morrow E NickaSpainXuxue Feng UNQUALIFIED
Kaitlin X MaletIndiaIvan Magalhaes NEGOTIATION
Greenwood V MaletSpainAmy Elsner UNQUALIFIED
Leon N MacleadAustraliaOnyama Limba UNQUALIFIED
Julie K OstroskyUnited KingdomElwin Sharvill NEGOTIATION
Darci B GarufiItalyOnyama Limba UNQUALIFIED
Juan W MorascaBrazilOnyama Limba QUALIFIED
Jeanfrancois Z RimArgentinaIvan Magalhaes RENEWAL
Morrow H DoeItalyBernardo Dominic RENEWAL
Aruna K GarufiItalyIvan Magalhaes QUALIFIED
Costa L ShinkoAustraliaStephen Shaw UNQUALIFIED
Francesco W PerinFranceIoni Bowcher PROPOSAL
Ricardo W BowleySpainIoni Bowcher NEW
Horizontal
NameCountryRepresentativeStatus
Costa C PaprockiUnited KingdomIvan Magalhaes UNQUALIFIED
Munro D MarrierBrazilStephen Shaw RENEWAL
Emily A SlusarskiCanadaAnna Fali QUALIFIED
Aditya C ChuiUnited KingdomStephen Shaw NEGOTIATION
Salvatore F VocelkaRussiaAsiya Javayant QUALIFIED
Adams D BologniaBrazilAsiya Javayant QUALIFIED
Antonio Q SergiBrazilIoni Bowcher NEGOTIATION
Maria Y PoquetteGermanyXuxue Feng NEGOTIATION
Alejandro M RimCanadaStephen Shaw RENEWAL
Stacey R SergiItalyStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson C NickaFrance2024-06-08Rangoni Of Florence PROPOSAL25Onyama Limba
1001Johnson N OldroydCanada2024-05-23Buckley Miller Wright PROPOSAL31Ivan Magalhaes
1002Aruna K GarufiRussia2024-06-06Chanay, Jeffrey A Esq NEGOTIATION13Xuxue Feng
1003Francesco K BriddickIndia2024-05-27Chanay, Jeffrey A Esq PROPOSAL67Bernardo Dominic
1004Nicolas S BriddickIndia2024-06-21Feiner Bros UNQUALIFIED77Asiya Javayant
1005Faith W FigeroaIndia2024-05-31Chanay, Jeffrey A Esq RENEWAL56Stephen Shaw
1006Isabel E WaycottFrance2024-06-17Chanay, Jeffrey A Esq QUALIFIED92Bernardo Dominic
1007Nicolas K MacleadCanada2024-05-28Morlong Associates NEW60Elwin Sharvill
1008Maisha W CaudyCanada2024-06-08Truhlar And Truhlar Attys NEGOTIATION25Ioni Bowcher
1009Jones D FollerCanada2024-06-11Feiner Bros NEW76Stephen Shaw
1010Morrow S CaudyJapan2024-06-08Chanay, Jeffrey A Esq QUALIFIED70Ioni Bowcher
1011Murillo Z AmigonRussia2024-05-27Benton, John B Jr NEW66Ivan Magalhaes
1012Jeanfrancois U InouyeJapan2024-06-04Benton, John B Jr RENEWAL56Asiya Javayant
1013Kadeem F PaprockiAustralia2024-06-03Rangoni Of Florence UNQUALIFIED91Ioni Bowcher
1014Mujtaba B OldroydCanada2024-05-24Buckley Miller Wright NEW31Amy Elsner
1015Nicolas P PaprockiAustralia2024-06-06Commercial Press NEW69Stephen Shaw
1016Darci S GillianUnited Kingdom2024-06-16Chemel, James L Cpa RENEWAL25Xuxue Feng
1017Stacey A FollerIndia2024-06-16Benton, John B Jr QUALIFIED53Onyama Limba
1018Murillo E DarakjyJapan2024-06-01Printing Dimensions PROPOSAL96Bernardo Dominic
1019Adams K StensethRussia2024-06-21Commercial Press PROPOSAL39Amy Elsner
1020Isabel D DarakjyCanada2024-06-03Chanay, Jeffrey A Esq NEGOTIATION56Xuxue Feng
1021Tony E CaldareraBrazil2024-06-08Truhlar And Truhlar Attys UNQUALIFIED78Ioni Bowcher
1022Adams U RutaIndia2024-06-13Buckley Miller Wright UNQUALIFIED20Bernardo Dominic
1023Juan F MaletItaly2024-06-20Dorl, James J Esq RENEWAL64Ivan Magalhaes
1024Jefferson B GlickJapan2024-06-08Commercial Press UNQUALIFIED52Elwin Sharvill
1025Johnson N BologniaArgentina2024-06-06Printing Dimensions NEW88Onyama Limba
1026Rodrigues B GillianAustralia2024-05-26Commercial Press UNQUALIFIED55Ioni Bowcher
1027Maisha I ChuiCanada2024-06-04Commercial Press QUALIFIED56Onyama Limba
1028Rodrigues F SlusarskiIndia2024-06-21Chanay, Jeffrey A Esq PROPOSAL37Anna Fali
1029Sinclair A CaldareraCanada2024-06-01Feiner Bros NEGOTIATION40Asiya Javayant
1030Sinclair S RoysterUnited Kingdom2024-06-04Chemel, James L Cpa NEW27Amy Elsner
1031Murillo J CaldareraUnited Kingdom2024-06-12Commercial Press PROPOSAL3Ivan Magalhaes
1032Izzy H ChuiArgentina2024-06-08Feltz Printing Service RENEWAL93Ioni Bowcher
1033Jefferson C VenereCanada2024-06-18Truhlar And Truhlar Attys NEGOTIATION97Bernardo Dominic
1034Ricardo F InouyeAustralia2024-06-07Chanay, Jeffrey A Esq NEGOTIATION11Ioni Bowcher
1035Izzy X OstroskyBrazil2024-05-28Printing Dimensions PROPOSAL76Anna Fali
1036Juan S FerenczCanada2024-06-19Chanay, Jeffrey A Esq NEW43Elwin Sharvill
1037Silvio P SlusarskiSpain2024-05-25King, Christopher A Esq QUALIFIED41Elwin Sharvill
1038Tony Q MorascaArgentina2024-05-24Buckley Miller Wright NEGOTIATION32Ivan Magalhaes
1039Maria S SergiCanada2024-06-16Commercial Press RENEWAL34Amy Elsner
1040Mayumi C WaycottJapan2024-06-10Buckley Miller Wright PROPOSAL89Onyama Limba
1041Cody U RoysterJapan2024-06-20Feltz Printing Service NEW12Stephen Shaw
1042Emily U ShinkoArgentina2024-06-02Truhlar And Truhlar Attys QUALIFIED13Xuxue Feng
1043Murillo G WieserAustralia2024-05-23Truhlar And Truhlar Attys NEW41Bernardo Dominic
1044Clifford H DilliardGermany2024-06-02Truhlar And Truhlar Attys PROPOSAL1Xuxue Feng
1045Ivar O DoeArgentina2024-06-04Truhlar And Truhlar Attys NEGOTIATION34Asiya Javayant
1046Morrow W GauchoUnited Kingdom2024-06-05Feltz Printing Service PROPOSAL41Asiya Javayant
1047Leja K AlbaresSpain2024-05-30Benton, John B Jr NEW64Anna Fali
1048Alejandro V BowleyGermany2024-05-29Buckley Miller Wright NEW30Ioni Bowcher
1049David D BowleyBrazil2024-05-31King, Christopher A Esq UNQUALIFIED89Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Darci E IturbideCanadaStephen Shaw NEGOTIATION
Greenwood J ShinkoAustraliaStephen Shaw NEW
Clifford P DarakjyFranceAmy Elsner PROPOSAL
Cody L MacleadFranceBernardo Dominic QUALIFIED
Misaki O GarufiFranceAnna Fali PROPOSAL
Octavia J StockhamIndiaXuxue Feng NEGOTIATION
Salvatore I OldroydItalyAsiya Javayant UNQUALIFIED
Alejandro L StensethGermanyStephen Shaw RENEWAL
Adams J WhobreyCanadaOnyama Limba UNQUALIFIED
Mayumi W ButtGermanyAsiya Javayant RENEWAL
Cody T TollnerItalyAsiya Javayant NEGOTIATION
James S DoeSpainElwin Sharvill PROPOSAL
Juan X GarufiCanadaAnna Fali RENEWAL
Darci A NestleGermanyXuxue Feng NEGOTIATION
Chavez R RulapaughBrazilStephen Shaw RENEWAL
Nicolas D SlusarskiCanadaStephen Shaw NEGOTIATION
Cody I FerenczBrazilAsiya Javayant QUALIFIED
Antonio A MacleadIndiaBernardo Dominic RENEWAL
Maria V AlbaresJapanElwin Sharvill UNQUALIFIED
Stacey P VocelkaItalyStephen Shaw RENEWAL
Emily U StockhamItalyStephen Shaw NEGOTIATION
Maisha A FollerAustraliaXuxue Feng NEW
Ricardo E AlbaresJapanAmy Elsner NEGOTIATION
Aruna V ShinkoUnited KingdomOnyama Limba NEW
Claire J SchemmerCanadaBernardo Dominic NEGOTIATION
Tony F StensethUnited KingdomAnna Fali QUALIFIED
Morrow L RoysterRussiaStephen Shaw NEGOTIATION
Antonio P RimSpainXuxue Feng PROPOSAL
Jones G BologniaSpainOnyama Limba QUALIFIED
Aruna K RimIndiaStephen Shaw NEW
Aditya U SergiCanadaAsiya Javayant QUALIFIED
Munro L WhobreyJapanOnyama Limba UNQUALIFIED
Salvatore E CaudyJapanStephen Shaw UNQUALIFIED
Jeanfrancois I BologniaArgentinaAnna Fali PROPOSAL
Maisha Q StensethIndiaIvan Magalhaes PROPOSAL
Murillo D BologniaRussiaElwin Sharvill RENEWAL
Arvin L PaprockiItalyAmy Elsner QUALIFIED
Rodrigues M RutaRussiaIoni Bowcher RENEWAL
Deepesh L TollnerGermanyAsiya Javayant NEGOTIATION
Darci F KuskoAustraliaAmy Elsner QUALIFIED
Salvatore F RulapaughBrazilAsiya Javayant UNQUALIFIED
Silvio D SergiArgentinaBernardo Dominic QUALIFIED
Mayumi H RulapaughJapanAnna Fali NEW
Kadeem X SaylorsBrazilIvan Magalhaes RENEWAL
Sinclair A SchemmerCanadaIvan Magalhaes NEW
Greenwood H DoeRussiaIvan Magalhaes UNQUALIFIED
Leon B IturbideAustraliaIoni Bowcher NEGOTIATION
James J OldroydAustraliaStephen Shaw QUALIFIED
Francesco L MarrierJapanElwin Sharvill PROPOSAL
Mayumi A OstroskyUnited KingdomAnna Fali RENEWAL
Frozen Columns
Name
Costa Y Kusko
Silvio K Oldroyd
Adams U Bowley
Kadeem I Stenseth
Faith X Sergi
Julie E Slusarski
Aruna P Maclead
Aditya H Inouye
Clifford L Stenseth
Francesco U Malet
Tony W Inouye
Cody Y Gillian
Johnson M Darakjy
Ivar S Darakjy
Sinclair H Briddick
Ricardo U Perin
Ashley J Amigon
Maria C Glick
Mujtaba I Iturbide
Octavia R Amigon
Silvio B Sergi
Adams S Venere
Johnson C Marrier
Sinclair W Iturbide
David G Albares
Jennifer L Bolognia
Alejandro T Caudy
Silvio D Garufi
Isabel Y Royster
Alejandro N Morasca
Wickens B Whobrey
Izzy I Malet
Tony E Rulapaugh
Kadeem V Royster
Wickens H Iturbide
Darci C Figeroa
Aruna F Bowley
Darci C Stenseth
Octavia U Waycott
Antonio S Flosi
Julie G Caudy
Rodrigues Y Gaucho
Murillo P Stockham
Rodrigues J Ostrosky
Aruna O Figeroa
Arvin I Kolmetz
Jennifer T Albares
Claire R Rulapaugh
Leja A Foller
Greenwood D Ferencz
IdCountryDate
1000Canada2024-05-30
1001Argentina2024-06-10
1002Japan2024-06-09
1003Australia2024-06-05
1004Spain2024-06-10
1005United Kingdom2024-06-16
1006Brazil2024-06-06
1007Brazil2024-06-13
1008Russia2024-05-24
1009Argentina2024-06-06
1010Australia2024-05-27
1011Spain2024-06-13
1012Canada2024-06-10
1013Argentina2024-06-01
1014United Kingdom2024-06-20
1015Argentina2024-06-10
1016Japan2024-06-16
1017Germany2024-05-27
1018Spain2024-05-25
1019France2024-06-10
1020India2024-06-02
1021Italy2024-05-23
1022Germany2024-06-08
1023Canada2024-05-24
1024Japan2024-06-21
1025Australia2024-05-28
1026Australia2024-06-20
1027Argentina2024-06-01
1028Japan2024-06-10
1029Australia2024-05-26
1030Italy2024-06-20
1031Russia2024-05-24
1032Australia2024-06-08
1033Germany2024-06-01
1034Spain2024-05-24
1035France2024-06-06
1036Brazil2024-05-26
1037Russia2024-06-11
1038Brazil2024-06-09
1039Italy2024-05-24
1040France2024-05-31
1041Germany2024-05-25
1042Spain2024-06-21
1043Russia2024-06-19
1044Canada2024-06-12
1045Australia2024-06-15
1046Brazil2024-06-21
1047France2024-05-29
1048Canada2024-06-17
1049Brazil2024-05-29

On-Demand Data

NameIdCountryDate
Jennifer K Saylors1000Australia2024-06-17
Aditya P Caldarera1001Japan2024-05-24
Smith F Kusko1002Spain2024-06-19
Aditya F Campain1003France2024-06-13
Deepesh M Briddick1004Italy2024-05-28
Morrow F Butt1005Argentina2024-06-05
Munro G Doe1006Germany2024-06-08
Juan W Wieser1007India2024-06-12
David C Paprocki1008Spain2024-06-18
Juan Z Malet1009Russia2024-06-08
Deepesh T Albares1010Spain2024-05-26
Maria X Tollner1011United Kingdom2024-06-11
Alejandro E Darakjy1012India2024-06-06
Ivar D Marrier1013Italy2024-05-31
Izzy A Campain1014India2024-05-29
Ashley O Bowley1015India2024-05-25
Kaitlin K Sergi1016Argentina2024-06-12
Morrow V Malet1017Spain2024-06-07
Wickens Q Butt1018India2024-05-24
Jones R Sergi1019Brazil2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kadeem U OldroydCanadaBernardo Dominic RENEWAL
James P InouyeSpainAnna Fali NEW
Clifford K NickaCanadaStephen Shaw PROPOSAL
Ivar I NickaItalyIvan Magalhaes UNQUALIFIED
Claire K CampainJapanXuxue Feng RENEWAL
Deepesh S GauchoUnited KingdomIoni Bowcher QUALIFIED
Misaki R InouyeAustraliaOnyama Limba NEGOTIATION
Claire M KolmetzBrazilXuxue Feng PROPOSAL
Ivar Q WaycottIndiaAnna Fali NEW
Munro U SaylorsCanadaBernardo Dominic UNQUALIFIED
Isabel R BowleyGermanyXuxue Feng UNQUALIFIED
Aika F SergiGermanyOnyama Limba RENEWAL
Costa U CaldareraIndiaXuxue Feng UNQUALIFIED
Juan H BologniaArgentinaOnyama Limba RENEWAL
Nicolas M GarufiCanadaOnyama Limba UNQUALIFIED
Francesco Z ChuiUnited KingdomOnyama Limba RENEWAL
Deepesh V PerinAustraliaXuxue Feng PROPOSAL
Maria Q NestleSpainOnyama Limba NEW
Greenwood F FerenczFranceIoni Bowcher NEGOTIATION
Misaki G GillianSpainXuxue Feng QUALIFIED
Johnson B FigeroaItalyAsiya Javayant UNQUALIFIED
Claire K NestleRussiaBernardo Dominic UNQUALIFIED
Kadeem B GarufiItalyXuxue Feng RENEWAL
Johnson T FlosiItalyIvan Magalhaes UNQUALIFIED
Deepesh U KolmetzArgentinaBernardo Dominic UNQUALIFIED
Tony E NestleItalyBernardo Dominic QUALIFIED
Aditya S GlickUnited KingdomIvan Magalhaes RENEWAL
Sinclair V FollerBrazilOnyama Limba QUALIFIED
Jones W FollerCanadaAnna Fali QUALIFIED
Adams C GauchoUnited KingdomIoni Bowcher RENEWAL
Emily L ChuiItalyAsiya Javayant PROPOSAL
Nicolas F SaylorsAustraliaOnyama Limba RENEWAL
Nicolas X MaletUnited KingdomIoni Bowcher UNQUALIFIED
Aruna Y ShinkoRussiaStephen Shaw PROPOSAL
Wickens L WhobreyJapanIvan Magalhaes NEW
Smith Z CaudyAustraliaIvan Magalhaes PROPOSAL
Greenwood W MorascaArgentinaBernardo Dominic RENEWAL
Faith S GillianBrazilXuxue Feng RENEWAL
Chavez S DoeJapanIoni Bowcher NEGOTIATION
Rodrigues X WhobreyFranceElwin Sharvill QUALIFIED

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