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
Emily L BowleyRussiaIvan Magalhaes NEGOTIATION
Aruna L DilliardRussiaAsiya Javayant RENEWAL
Tony I KolmetzCanadaAmy Elsner NEGOTIATION
Tony D AlbaresIndiaAsiya Javayant QUALIFIED
Tony D WieserAustraliaIvan Magalhaes NEW
Mayumi O GlickAustraliaAmy Elsner RENEWAL
Aruna R NickaBrazilStephen Shaw PROPOSAL
Arvin S FigeroaBrazilAmy Elsner RENEWAL
Wickens U PerinItalyElwin Sharvill NEGOTIATION
Julie A FigeroaAustraliaAnna Fali NEW
Aditya F ButtJapanIoni Bowcher NEW
Tony B MaletAustraliaElwin Sharvill RENEWAL
Aditya S RulapaughUnited KingdomOnyama Limba UNQUALIFIED
Leja N MaletAustraliaElwin Sharvill UNQUALIFIED
Rodrigues J GlickBrazilIoni Bowcher UNQUALIFIED
Ivar X FlosiItalyStephen Shaw NEW
Deepesh T DoeSpainOnyama Limba QUALIFIED
Silvio X StockhamItalyBernardo Dominic NEGOTIATION
Maisha E BowleyAustraliaOnyama Limba RENEWAL
Faith A CaldareraSpainBernardo Dominic RENEWAL
Clifford B SaylorsAustraliaAsiya Javayant NEW
Mayumi A DarakjySpainElwin Sharvill NEW
Mujtaba I WieserRussiaOnyama Limba NEW
Jones O RimCanadaIvan Magalhaes PROPOSAL
Tony Q StockhamUnited KingdomAnna Fali RENEWAL
Mujtaba Q RoysterBrazilIoni Bowcher QUALIFIED
Sinclair F RutaRussiaElwin Sharvill PROPOSAL
Kadeem J ButtAustraliaIoni Bowcher UNQUALIFIED
Rodrigues L AmigonCanadaXuxue Feng QUALIFIED
Costa F CampainBrazilAnna Fali UNQUALIFIED
Tony P WieserAustraliaAsiya Javayant PROPOSAL
Faith J RulapaughArgentinaIoni Bowcher QUALIFIED
Ashley J NickaGermanyIoni Bowcher RENEWAL
Izzy Q CaudyAustraliaAsiya Javayant NEGOTIATION
Emily X DoeAustraliaAmy Elsner UNQUALIFIED
Emily W CaldareraSpainIvan Magalhaes QUALIFIED
David F CaldareraCanadaAsiya Javayant QUALIFIED
Nicolas V FerenczAustraliaIoni Bowcher UNQUALIFIED
Clifford Z AlbaresJapanStephen Shaw PROPOSAL
Claire P SaylorsItalyElwin Sharvill PROPOSAL
Clifford N RutaAustraliaAsiya Javayant QUALIFIED
Isabel S CaldareraIndiaOnyama Limba QUALIFIED
Misaki W PerinRussiaAsiya Javayant NEW
Aika C BologniaGermanyIoni Bowcher UNQUALIFIED
Chavez K MaletIndiaStephen Shaw NEW
Silvio A SaylorsFranceElwin Sharvill RENEWAL
Ashley M KolmetzJapanBernardo Dominic NEW
Salvatore P CaudyCanadaElwin Sharvill NEGOTIATION
Ricardo J VocelkaFranceElwin Sharvill UNQUALIFIED
Murillo X FigeroaArgentinaAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Greenwood Y SchemmerGermanyElwin Sharvill RENEWAL
Cody S OldroydSpainAnna Fali RENEWAL
Rodrigues N MarrierItalyAnna Fali NEW
James T AmigonJapanAmy Elsner NEGOTIATION
Julie Z BologniaFranceAsiya Javayant PROPOSAL
Nicolas E PerinJapanAnna Fali PROPOSAL
Kadeem T ShinkoFranceStephen Shaw NEGOTIATION
Mujtaba U RutaBrazilIoni Bowcher QUALIFIED
Cody G AmigonRussiaIoni Bowcher NEW
Deepesh X AlbaresRussiaIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba C OldroydRussia2024-05-22Benton, John B Jr UNQUALIFIED50Ioni Bowcher
1001Murillo K KuskoIndia2024-06-08Feiner Bros NEGOTIATION73Elwin Sharvill
1002Mayumi K WieserFrance2024-05-18Morlong Associates NEW4Amy Elsner
1003Faith N OstroskyFrance2024-05-27Feltz Printing Service QUALIFIED42Asiya Javayant
1004Ricardo O KolmetzRussia2024-06-05Feltz Printing Service QUALIFIED2Elwin Sharvill
1005Mayumi X SergiRussia2024-05-23Truhlar And Truhlar Attys UNQUALIFIED79Bernardo Dominic
1006Arvin T GarufiSpain2024-06-05Chapman, Ross E Esq PROPOSAL57Stephen Shaw
1007David L KolmetzItaly2024-06-02Rangoni Of Florence RENEWAL12Asiya Javayant
1008Nicolas Q RulapaughArgentina2024-05-30Feltz Printing Service NEW91Xuxue Feng
1009Misaki Y PaprockiBrazil2024-06-12Chapman, Ross E Esq NEW20Bernardo Dominic
1010Smith M FlosiFrance2024-05-19Feiner Bros RENEWAL7Ivan Magalhaes
1011Francesco H TollnerBrazil2024-05-22Dorl, James J Esq PROPOSAL2Elwin Sharvill
1012Izzy N RoysterIndia2024-06-02Morlong Associates QUALIFIED62Xuxue Feng
1013Salvatore Z StensethRussia2024-06-01Chemel, James L Cpa PROPOSAL59Ivan Magalhaes
1014Smith X ButtBrazil2024-05-18Dorl, James J Esq NEGOTIATION34Ivan Magalhaes
1015Izzy Y BologniaItaly2024-05-29Chemel, James L Cpa NEW66Ioni Bowcher
1016Octavia J PaprockiAustralia2024-05-25Dorl, James J Esq PROPOSAL18Onyama Limba
1017Izzy E RutaGermany2024-06-12Buckley Miller Wright RENEWAL76Xuxue Feng
1018Aruna T OstroskyJapan2024-06-10Rangoni Of Florence NEGOTIATION39Elwin Sharvill
1019Maisha V BologniaSpain2024-06-06Rangoni Of Florence UNQUALIFIED98Asiya Javayant
1020Francesco B SchemmerBrazil2024-05-20Chapman, Ross E Esq NEGOTIATION71Anna Fali
1021Cody F GauchoAustralia2024-05-25Morlong Associates UNQUALIFIED77Xuxue Feng
1022Silvio W GarufiArgentina2024-06-13Feiner Bros RENEWAL49Onyama Limba
1023Octavia R RoysterCanada2024-05-15Truhlar And Truhlar Attys NEW73Onyama Limba
1024Francesco K CampainAustralia2024-05-18Printing Dimensions PROPOSAL68Ioni Bowcher
1025Jones K WaycottUnited Kingdom2024-06-03Chapman, Ross E Esq PROPOSAL31Xuxue Feng
1026Faith M OldroydItaly2024-06-08Rangoni Of Florence NEGOTIATION75Xuxue Feng
1027Murillo Y KolmetzGermany2024-06-02Chapman, Ross E Esq QUALIFIED45Amy Elsner
1028Cody F StockhamCanada2024-05-18Printing Dimensions NEW42Stephen Shaw
1029Jefferson U BriddickJapan2024-06-04Feiner Bros NEW69Amy Elsner
1030Arvin Z FlosiRussia2024-05-25Commercial Press NEGOTIATION72Anna Fali
1031Costa Y GlickBrazil2024-05-25Feiner Bros NEW17Anna Fali
1032James S SergiGermany2024-05-25Morlong Associates RENEWAL6Xuxue Feng
1033Clifford D AlbaresBrazil2024-05-22King, Christopher A Esq NEGOTIATION32Onyama Limba
1034David B SergiSpain2024-06-04Chemel, James L Cpa QUALIFIED47Amy Elsner
1035Murillo V MorascaGermany2024-05-29Rousseaux, Michael Esq QUALIFIED87Onyama Limba
1036Ivar E MaletRussia2024-05-23Feltz Printing Service PROPOSAL58Stephen Shaw
1037Jones A OldroydUnited Kingdom2024-05-22Benton, John B Jr PROPOSAL9Stephen Shaw
1038Costa K SlusarskiJapan2024-05-18Dorl, James J Esq NEGOTIATION15Xuxue Feng
1039Mayumi C NestleArgentina2024-06-01Rangoni Of Florence NEW6Anna Fali
1040Clifford F OstroskyArgentina2024-05-18Dorl, James J Esq RENEWAL50Onyama Limba
1041Arvin K NestleBrazil2024-05-15Chapman, Ross E Esq UNQUALIFIED95Amy Elsner
1042Cody P RulapaughFrance2024-05-18King, Christopher A Esq NEW24Ivan Magalhaes
1043Aruna U ButtSpain2024-05-28Chanay, Jeffrey A Esq UNQUALIFIED10Xuxue Feng
1044Jeanfrancois J CaldareraGermany2024-06-07Feiner Bros NEW61Stephen Shaw
1045Leja D SaylorsUnited Kingdom2024-05-17Chanay, Jeffrey A Esq RENEWAL31Stephen Shaw
1046Wickens N FigeroaFrance2024-06-01Buckley Miller Wright NEW6Bernardo Dominic
1047Emily G WieserIndia2024-05-29Buckley Miller Wright QUALIFIED57Xuxue Feng
1048Tony S RulapaughRussia2024-06-03Rangoni Of Florence NEW40Anna Fali
1049Izzy W FollerFrance2024-05-15Morlong Associates NEGOTIATION97Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Juan J ButtJapanAnna Fali PROPOSAL
Ricardo X MaletItalyIvan Magalhaes NEW
Aditya F DilliardJapanAmy Elsner RENEWAL
Cody Y NickaIndiaElwin Sharvill NEW
Mujtaba I CampainRussiaAmy Elsner UNQUALIFIED
Cody W AmigonFranceOnyama Limba PROPOSAL
Deepesh Q InouyeCanadaIoni Bowcher RENEWAL
Jennifer S PerinSpainAnna Fali QUALIFIED
Claire E SaylorsArgentinaIvan Magalhaes NEW
Greenwood A SaylorsItalyIvan Magalhaes UNQUALIFIED
Costa X WaycottFranceAnna Fali QUALIFIED
Juan J DarakjyFranceStephen Shaw QUALIFIED
Ricardo K OldroydCanadaAsiya Javayant RENEWAL
Antonio M OstroskyRussiaBernardo Dominic RENEWAL
Greenwood B RutaUnited KingdomXuxue Feng NEW
Maisha I BriddickRussiaIvan Magalhaes NEW
Octavia L KuskoIndiaAmy Elsner UNQUALIFIED
Faith M CampainUnited KingdomOnyama Limba RENEWAL
Clifford X FlosiJapanIvan Magalhaes NEW
Clifford L WaycottGermanyOnyama Limba PROPOSAL
Faith S GarufiJapanBernardo Dominic UNQUALIFIED
Leja W InouyeSpainIvan Magalhaes RENEWAL
Chavez D RimBrazilElwin Sharvill QUALIFIED
Silvio U SlusarskiGermanyIoni Bowcher UNQUALIFIED
Clifford P NestleGermanyAsiya Javayant RENEWAL
Nicolas B NickaCanadaAmy Elsner RENEWAL
Maisha T InouyeBrazilElwin Sharvill QUALIFIED
Costa B PaprockiRussiaAnna Fali NEW
Octavia A VenereAustraliaAnna Fali QUALIFIED
James K ButtAustraliaXuxue Feng QUALIFIED
Aruna G VenereUnited KingdomAmy Elsner PROPOSAL
Faith V OstroskyFranceAnna Fali NEGOTIATION
Jennifer L ChuiUnited KingdomIvan Magalhaes PROPOSAL
Clifford W WhobreyRussiaAsiya Javayant NEGOTIATION
Johnson O RimArgentinaIvan Magalhaes QUALIFIED
Munro K BowleyIndiaIvan Magalhaes NEW
Mayumi A GlickJapanStephen Shaw NEGOTIATION
Ashley O VocelkaBrazilStephen Shaw PROPOSAL
Johnson R MarrierIndiaElwin Sharvill PROPOSAL
Aika D BologniaBrazilAnna Fali UNQUALIFIED
Jones O DarakjyGermanyIvan Magalhaes QUALIFIED
Cody H FlosiAustraliaOnyama Limba QUALIFIED
Smith M MaletRussiaBernardo Dominic UNQUALIFIED
Juan H ShinkoArgentinaElwin Sharvill QUALIFIED
Chavez X MacleadFranceAsiya Javayant PROPOSAL
Izzy Q WhobreyArgentinaAsiya Javayant RENEWAL
Morrow W SchemmerAustraliaBernardo Dominic UNQUALIFIED
Kaitlin T OldroydIndiaIoni Bowcher NEW
Jefferson X DilliardUnited KingdomIvan Magalhaes QUALIFIED
Wickens Q PoquetteSpainStephen Shaw UNQUALIFIED
Frozen Columns
Name
Murillo S Wieser
Octavia R Darakjy
Julie K Kusko
Arvin M Gillian
Darci G Dilliard
Munro U Doe
Stacey C Poquette
Jennifer I Whobrey
Munro V Campain
Costa U Maclead
Aditya H Briddick
David I Maclead
Francesco L Stenseth
Munro W Doe
Johnson F Flosi
Deepesh K Sergi
Alejandro G Inouye
Aditya U Campain
Octavia J Nestle
David X Flosi
Leja C Flosi
Faith H Paprocki
Munro Q Venere
David V Tollner
Costa E Foller
Claire X Shinko
Mujtaba O Perin
Murillo T Caudy
Kadeem T Schemmer
James Z Glick
Murillo Y Rim
Chavez C Paprocki
Emily G Rulapaugh
Aditya S Wieser
Isabel A Foller
Mayumi K Gaucho
Aika J Malet
Johnson W Kusko
Misaki B Slusarski
Clifford I Iturbide
Costa Z Kolmetz
Kadeem G Gaucho
Claire P Foller
Chavez Y Gillian
Octavia H Sergi
Jeanfrancois F Kusko
Clifford F Darakjy
Johnson I Kolmetz
Kadeem B Schemmer
Silvio O Inouye
IdCountryDate
1000France2024-06-11
1001Germany2024-05-16
1002Japan2024-06-01
1003Argentina2024-05-28
1004Japan2024-06-07
1005Australia2024-06-12
1006Italy2024-05-25
1007United Kingdom2024-05-25
1008Brazil2024-06-05
1009Brazil2024-06-11
1010India2024-05-31
1011France2024-05-20
1012Canada2024-06-11
1013India2024-06-13
1014Argentina2024-06-02
1015Japan2024-05-21
1016Argentina2024-05-19
1017Germany2024-06-13
1018Japan2024-06-10
1019Germany2024-05-24
1020Brazil2024-05-19
1021France2024-05-21
1022Australia2024-05-27
1023Russia2024-05-31
1024Australia2024-05-16
1025Russia2024-06-03
1026Brazil2024-05-16
1027Germany2024-05-17
1028Brazil2024-05-18
1029United Kingdom2024-06-08
1030India2024-05-21
1031Australia2024-05-22
1032Canada2024-06-13
1033Russia2024-05-27
1034Brazil2024-06-07
1035Germany2024-05-26
1036Canada2024-06-12
1037Germany2024-06-07
1038Australia2024-06-08
1039Japan2024-05-28
1040Brazil2024-05-26
1041Argentina2024-06-12
1042United Kingdom2024-06-01
1043Brazil2024-06-06
1044India2024-05-28
1045Canada2024-05-17
1046United Kingdom2024-05-30
1047Italy2024-06-04
1048Japan2024-05-24
1049Argentina2024-05-20

On-Demand Data

NameIdCountryDate
Claire O Nicka1000France2024-06-06
Misaki K Stenseth1001Spain2024-06-10
Nicolas N Ferencz1002Germany2024-05-27
Emily H Rim1003Russia2024-05-25
Izzy U Inouye1004Russia2024-05-25
Darci D Butt1005Argentina2024-06-03
Aruna T Tollner1006Australia2024-06-12
Munro L Saylors1007Germany2024-06-01
Emily P Butt1008Russia2024-05-29
Chavez P Ruta1009United Kingdom2024-05-25
Claire R Kolmetz1010Canada2024-06-13
Aditya S Flosi1011France2024-05-30
Costa W Inouye1012Japan2024-06-02
Aika V Saylors1013United Kingdom2024-05-28
Cody F Butt1014Russia2024-05-29
Johnson Y Saylors1015United Kingdom2024-06-09
Stacey D Ostrosky1016Australia2024-05-22
Ricardo L Amigon1017United Kingdom2024-06-13
Juan V Inouye1018Canada2024-05-28
Tony B Doe1019Spain2024-05-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas O ShinkoArgentinaBernardo Dominic UNQUALIFIED
Ashley G OldroydUnited KingdomOnyama Limba QUALIFIED
Maisha G SlusarskiItalyIvan Magalhaes QUALIFIED
Rodrigues Z AlbaresGermanyBernardo Dominic NEW
Murillo K FollerRussiaBernardo Dominic NEW
Deepesh N RulapaughSpainIvan Magalhaes PROPOSAL
Jennifer E SchemmerIndiaIvan Magalhaes QUALIFIED
Emily R KolmetzCanadaAnna Fali NEW
Emily N PoquetteItalyIoni Bowcher RENEWAL
Leon E SlusarskiArgentinaXuxue Feng RENEWAL
Arvin Q WieserBrazilElwin Sharvill NEW
Claire D PaprockiItalyIvan Magalhaes RENEWAL
David M NestleCanadaOnyama Limba NEW
Aditya V RoysterAustraliaStephen Shaw RENEWAL
Ricardo O FigeroaCanadaOnyama Limba UNQUALIFIED
Stacey B ButtFranceOnyama Limba RENEWAL
Ricardo V MarrierJapanAsiya Javayant UNQUALIFIED
Juan Y PaprockiCanadaXuxue Feng QUALIFIED
Emily V VocelkaBrazilXuxue Feng UNQUALIFIED
Murillo Y RutaCanadaStephen Shaw UNQUALIFIED
Izzy Y CampainRussiaXuxue Feng UNQUALIFIED
Costa C BriddickGermanyXuxue Feng QUALIFIED
Emily X BowleyAustraliaAsiya Javayant UNQUALIFIED
Antonio Q PoquetteItalyAsiya Javayant PROPOSAL
Cody F FerenczUnited KingdomAmy Elsner RENEWAL
Julie D ButtItalyAsiya Javayant NEGOTIATION
Misaki S RimSpainOnyama Limba UNQUALIFIED
Greenwood Y RulapaughUnited KingdomAnna Fali QUALIFIED
Clifford G RoysterUnited KingdomIoni Bowcher QUALIFIED
Ashley G MaletGermanyIoni Bowcher PROPOSAL
Darci C OldroydAustraliaAsiya Javayant UNQUALIFIED
Munro E RutaArgentinaOnyama Limba QUALIFIED
Johnson P VocelkaUnited KingdomOnyama Limba QUALIFIED
Aika M MacleadFranceBernardo Dominic QUALIFIED
Tony V GlickArgentinaXuxue Feng NEW
Faith H FollerBrazilOnyama Limba UNQUALIFIED
Faith O SergiUnited KingdomAsiya Javayant RENEWAL
Darci V RoysterFranceIoni Bowcher QUALIFIED
Costa W InouyeBrazilElwin Sharvill NEW
David V VenereJapanAmy Elsner UNQUALIFIED

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