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
Mujtaba Z RutaBrazilAsiya Javayant QUALIFIED
David E StensethUnited KingdomOnyama Limba RENEWAL
Wickens W FollerRussiaAnna Fali QUALIFIED
Maisha Y MacleadCanadaBernardo Dominic NEGOTIATION
Johnson R PaprockiItalyOnyama Limba PROPOSAL
Kadeem I StensethAustraliaIoni Bowcher RENEWAL
Maria H FlosiSpainStephen Shaw NEGOTIATION
Wickens Q IturbideSpainIoni Bowcher QUALIFIED
Costa W MacleadItalyIoni Bowcher QUALIFIED
Ashley O OldroydGermanyAmy Elsner QUALIFIED
Nicolas N IturbideAustraliaXuxue Feng NEW
Clifford M StensethArgentinaAmy Elsner RENEWAL
Ivar L MaletArgentinaAsiya Javayant NEW
Silvio C StensethGermanyAnna Fali PROPOSAL
Emily A RutaBrazilIoni Bowcher PROPOSAL
Aditya O GlickCanadaIvan Magalhaes UNQUALIFIED
Mujtaba H BowleyBrazilOnyama Limba UNQUALIFIED
Tony C AlbaresArgentinaAnna Fali NEGOTIATION
Tony K BowleyJapanAsiya Javayant UNQUALIFIED
Leon T VocelkaUnited KingdomAmy Elsner QUALIFIED
Jones V DoeRussiaXuxue Feng NEW
Kaitlin K DilliardJapanAnna Fali RENEWAL
Mujtaba C RutaUnited KingdomBernardo Dominic PROPOSAL
Kaitlin S MorascaUnited KingdomElwin Sharvill PROPOSAL
Octavia O ChuiUnited KingdomStephen Shaw RENEWAL
Izzy O StockhamAustraliaIoni Bowcher NEW
James V OldroydGermanyStephen Shaw RENEWAL
Silvio P SchemmerFranceElwin Sharvill NEGOTIATION
Antonio K SergiJapanAsiya Javayant NEW
Arvin P SlusarskiSpainAsiya Javayant PROPOSAL
Rodrigues Q RulapaughUnited KingdomAsiya Javayant QUALIFIED
Chavez R WieserRussiaStephen Shaw PROPOSAL
Tony I IturbideArgentinaIoni Bowcher UNQUALIFIED
Aditya W KuskoSpainIoni Bowcher QUALIFIED
Claire M AmigonIndiaAsiya Javayant RENEWAL
Maria U GillianJapanAsiya Javayant PROPOSAL
Chavez I SergiJapanBernardo Dominic NEGOTIATION
Jennifer Q SergiIndiaIvan Magalhaes PROPOSAL
Sinclair J WhobreyIndiaBernardo Dominic NEW
Smith Y RutaUnited KingdomOnyama Limba NEW
Ricardo D NestleItalyAmy Elsner NEGOTIATION
Maria P RutaAustraliaStephen Shaw NEW
Costa T RimCanadaAsiya Javayant RENEWAL
Costa I RimGermanyAmy Elsner RENEWAL
Chavez R NickaUnited KingdomElwin Sharvill UNQUALIFIED
Aika A DoeRussiaBernardo Dominic QUALIFIED
Chavez O InouyeItalyIoni Bowcher PROPOSAL
Deepesh X GlickRussiaAsiya Javayant QUALIFIED
Juan D NickaSpainIvan Magalhaes UNQUALIFIED
James N FigeroaArgentinaIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Emily Y DilliardIndiaStephen Shaw NEW
Morrow U ButtItalyAnna Fali UNQUALIFIED
Tony H DoeCanadaOnyama Limba NEW
Murillo W SlusarskiJapanIoni Bowcher PROPOSAL
Costa P VocelkaFranceBernardo Dominic NEGOTIATION
David N NestleItalyOnyama Limba RENEWAL
Murillo N BologniaItalyAmy Elsner NEGOTIATION
Aditya E OstroskyBrazilXuxue Feng RENEWAL
Murillo C DilliardUnited KingdomXuxue Feng UNQUALIFIED
Morrow B PerinJapanBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio Y SlusarskiCanada2024-05-22Commercial Press PROPOSAL8Onyama Limba
1001Kaitlin Y MacleadBrazil2024-05-18King, Christopher A Esq QUALIFIED73Stephen Shaw
1002Murillo M MorascaGermany2024-06-08Truhlar And Truhlar Attys UNQUALIFIED81Stephen Shaw
1003Izzy X MaletIndia2024-05-18Chapman, Ross E Esq NEGOTIATION99Ivan Magalhaes
1004Morrow L PoquetteItaly2024-06-06Benton, John B Jr QUALIFIED38Amy Elsner
1005Aruna H FigeroaFrance2024-05-27Benton, John B Jr PROPOSAL41Xuxue Feng
1006Clifford I FlosiUnited Kingdom2024-05-19Printing Dimensions NEW92Amy Elsner
1007Kaitlin X OldroydBrazil2024-06-11Chapman, Ross E Esq QUALIFIED21Stephen Shaw
1008Jeanfrancois Q CaldareraGermany2024-05-28Buckley Miller Wright PROPOSAL92Asiya Javayant
1009Octavia V KuskoUnited Kingdom2024-05-30Commercial Press QUALIFIED14Xuxue Feng
1010Aika D RutaArgentina2024-05-17Dorl, James J Esq UNQUALIFIED76Anna Fali
1011Alejandro Z MarrierArgentina2024-06-04Chemel, James L Cpa RENEWAL45Anna Fali
1012Leon A VenereGermany2024-05-22Chanay, Jeffrey A Esq QUALIFIED46Ivan Magalhaes
1013Murillo J PerinAustralia2024-06-05Benton, John B Jr NEW74Xuxue Feng
1014Octavia F NestleItaly2024-06-14Feiner Bros QUALIFIED81Ivan Magalhaes
1015Arvin P IturbideItaly2024-05-22Printing Dimensions NEW76Onyama Limba
1016Morrow B MacleadSpain2024-06-04Truhlar And Truhlar Attys QUALIFIED3Anna Fali
1017Kadeem Q FollerCanada2024-05-30Benton, John B Jr NEGOTIATION25Onyama Limba
1018Greenwood S FollerUnited Kingdom2024-06-08Feiner Bros PROPOSAL9Bernardo Dominic
1019David R PoquetteArgentina2024-05-19Chanay, Jeffrey A Esq NEGOTIATION26Ioni Bowcher
1020Isabel U KuskoUnited Kingdom2024-06-10Commercial Press QUALIFIED68Xuxue Feng
1021Jones C RutaJapan2024-05-16Feiner Bros NEW52Elwin Sharvill
1022Tony R MaletUnited Kingdom2024-05-30Buckley Miller Wright QUALIFIED64Asiya Javayant
1023Munro L BowleyAustralia2024-06-06Truhlar And Truhlar Attys PROPOSAL95Ioni Bowcher
1024Aruna N GarufiRussia2024-06-11Dorl, James J Esq PROPOSAL40Stephen Shaw
1025Ricardo K WhobreyCanada2024-06-01Morlong Associates UNQUALIFIED79Xuxue Feng
1026Nicolas T VenereUnited Kingdom2024-06-12Rousseaux, Michael Esq RENEWAL83Stephen Shaw
1027Sinclair Y AmigonItaly2024-05-28Commercial Press PROPOSAL60Asiya Javayant
1028Antonio F FlosiFrance2024-05-19Feltz Printing Service RENEWAL93Amy Elsner
1029Emily N WaycottCanada2024-05-25Benton, John B Jr NEGOTIATION9Bernardo Dominic
1030Deepesh P RutaSpain2024-06-13Feiner Bros UNQUALIFIED98Bernardo Dominic
1031Juan T CaudyAustralia2024-05-18King, Christopher A Esq NEW68Onyama Limba
1032Jefferson N SaylorsCanada2024-06-03Chemel, James L Cpa RENEWAL4Anna Fali
1033James M RulapaughBrazil2024-06-08Benton, John B Jr NEW17Xuxue Feng
1034Misaki J CaldareraJapan2024-05-19Printing Dimensions PROPOSAL31Elwin Sharvill
1035Salvatore U SchemmerArgentina2024-05-27Chemel, James L Cpa UNQUALIFIED65Ivan Magalhaes
1036David Q MorascaSpain2024-06-01Chemel, James L Cpa PROPOSAL41Elwin Sharvill
1037Munro O InouyeBrazil2024-05-18Dorl, James J Esq PROPOSAL10Anna Fali
1038Juan E WhobreyJapan2024-06-02Printing Dimensions NEGOTIATION55Xuxue Feng
1039Clifford C AmigonCanada2024-05-31Chanay, Jeffrey A Esq PROPOSAL68Bernardo Dominic
1040Jefferson D MacleadCanada2024-06-12Dorl, James J Esq UNQUALIFIED39Onyama Limba
1041Kadeem X AmigonJapan2024-05-21Morlong Associates NEGOTIATION94Ivan Magalhaes
1042Aika R DarakjyItaly2024-05-22Buckley Miller Wright PROPOSAL17Bernardo Dominic
1043Wickens B RimRussia2024-05-18Morlong Associates PROPOSAL27Elwin Sharvill
1044Silvio L DoeIndia2024-06-10Commercial Press QUALIFIED62Xuxue Feng
1045Greenwood F DoeCanada2024-05-18Morlong Associates NEGOTIATION84Bernardo Dominic
1046Munro P WieserRussia2024-05-21Benton, John B Jr RENEWAL61Onyama Limba
1047Emily S WaycottFrance2024-06-06Chapman, Ross E Esq NEW26Stephen Shaw
1048Jefferson K NickaCanada2024-06-04King, Christopher A Esq QUALIFIED30Asiya Javayant
1049Maisha Z SaylorsGermany2024-06-13Chapman, Ross E Esq PROPOSAL18Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Darci A RulapaughCanadaXuxue Feng RENEWAL
Leon S CampainSpainIvan Magalhaes PROPOSAL
Rodrigues E TollnerJapanElwin Sharvill QUALIFIED
David E StockhamJapanAsiya Javayant RENEWAL
Greenwood C FerenczSpainAmy Elsner NEGOTIATION
Morrow W MacleadRussiaAmy Elsner NEGOTIATION
Juan M CampainIndiaAnna Fali NEGOTIATION
Munro T PerinSpainAsiya Javayant UNQUALIFIED
Izzy U GlickRussiaBernardo Dominic PROPOSAL
Clifford X SlusarskiArgentinaStephen Shaw RENEWAL
Silvio I BologniaAustraliaStephen Shaw NEGOTIATION
Chavez Y KuskoArgentinaAmy Elsner NEW
Ivar X TollnerCanadaAsiya Javayant NEGOTIATION
Darci A GarufiIndiaIvan Magalhaes PROPOSAL
Ashley Y InouyeItalyBernardo Dominic PROPOSAL
Julie I PoquetteArgentinaAnna Fali QUALIFIED
Faith D PerinArgentinaXuxue Feng QUALIFIED
Jennifer T FlosiGermanyXuxue Feng NEGOTIATION
Nicolas V CaldareraIndiaAmy Elsner UNQUALIFIED
Salvatore E ShinkoSpainStephen Shaw QUALIFIED
Tony K InouyeSpainIoni Bowcher NEGOTIATION
Deepesh Z MarrierJapanIvan Magalhaes UNQUALIFIED
Faith N RoysterJapanElwin Sharvill PROPOSAL
Ashley F MarrierIndiaIvan Magalhaes PROPOSAL
Alejandro K NestleAustraliaIvan Magalhaes UNQUALIFIED
Maisha Y SlusarskiItalyIvan Magalhaes NEGOTIATION
Stacey C OldroydItalyAmy Elsner RENEWAL
Emily M CaldareraAustraliaElwin Sharvill NEW
Johnson Q VenereArgentinaElwin Sharvill NEW
Smith M KuskoFranceIvan Magalhaes NEW
Francesco O SlusarskiCanadaBernardo Dominic QUALIFIED
Chavez C BologniaAustraliaStephen Shaw NEW
Maisha Y FollerItalyStephen Shaw PROPOSAL
Aditya D IturbideRussiaIvan Magalhaes NEGOTIATION
Izzy I VocelkaUnited KingdomStephen Shaw QUALIFIED
Maisha M InouyeAustraliaIoni Bowcher UNQUALIFIED
Ivar F FigeroaArgentinaIvan Magalhaes QUALIFIED
Maria D GlickRussiaAmy Elsner UNQUALIFIED
Aruna B InouyeItalyBernardo Dominic UNQUALIFIED
Johnson H TollnerRussiaIvan Magalhaes NEGOTIATION
Salvatore V RutaSpainXuxue Feng PROPOSAL
Faith H OstroskyCanadaXuxue Feng NEW
Aika W RutaArgentinaIoni Bowcher QUALIFIED
Cody K SchemmerFranceStephen Shaw NEGOTIATION
Ivar L BologniaFranceBernardo Dominic QUALIFIED
Chavez A GlickFranceStephen Shaw QUALIFIED
Misaki B KolmetzCanadaIoni Bowcher NEGOTIATION
Greenwood H KuskoGermanyAnna Fali NEW
Stacey V RoysterRussiaAnna Fali PROPOSAL
Francesco F PoquetteCanadaAsiya Javayant NEW
Frozen Columns
Name
Silvio Y Gillian
Darci L Stenseth
Ricardo L Caudy
Darci H Perin
Claire S Inouye
Johnson F Malet
Izzy F Whobrey
Kadeem D Poquette
Johnson Y Glick
Aika F Garufi
Octavia V Caudy
Leon H Shinko
Adams V Doe
Clifford W Kusko
David T Kolmetz
Deepesh T Ostrosky
Francesco V Nestle
David S Ruta
Silvio O Oldroyd
Chavez Y Albares
Faith P Vocelka
Rodrigues Z Caudy
Izzy N Rim
Deepesh I Foller
Alejandro U Bowley
Darci R Glick
Leja X Foller
Alejandro Z Poquette
Leja O Waycott
Jefferson G Wieser
Darci F Stenseth
Jennifer Z Kusko
Faith X Nicka
Nicolas G Tollner
Rodrigues H Caudy
Arvin G Malet
Murillo X Campain
Mayumi C Darakjy
Stacey S Ferencz
Mujtaba W Sergi
Leon Z Royster
Juan Y Oldroyd
Jennifer Q Chui
Rodrigues R Kusko
Faith X Butt
Tony U Albares
James R Albares
Octavia R Bowley
Nicolas B Stockham
Munro V Figeroa
IdCountryDate
1000Australia2024-06-09
1001France2024-05-17
1002India2024-06-14
1003Italy2024-06-11
1004Argentina2024-06-11
1005India2024-05-17
1006Russia2024-06-11
1007Russia2024-05-19
1008Brazil2024-06-14
1009Brazil2024-05-28
1010Russia2024-06-14
1011Japan2024-06-05
1012Canada2024-06-02
1013Spain2024-05-22
1014Germany2024-06-04
1015Germany2024-06-14
1016United Kingdom2024-05-22
1017Canada2024-05-27
1018India2024-05-20
1019Brazil2024-06-12
1020Canada2024-05-26
1021Australia2024-05-31
1022Canada2024-05-31
1023Brazil2024-06-11
1024Australia2024-05-31
1025Italy2024-05-28
1026Russia2024-05-20
1027United Kingdom2024-05-29
1028India2024-05-24
1029United Kingdom2024-06-06
1030Canada2024-05-22
1031Canada2024-06-01
1032Japan2024-05-19
1033Spain2024-05-17
1034Japan2024-06-11
1035Spain2024-06-05
1036France2024-05-18
1037Russia2024-05-22
1038Brazil2024-05-31
1039Argentina2024-06-12
1040Argentina2024-05-27
1041Canada2024-05-19
1042United Kingdom2024-06-04
1043France2024-06-14
1044Canada2024-05-17
1045Germany2024-06-12
1046India2024-05-21
1047Argentina2024-05-22
1048Russia2024-06-12
1049Italy2024-05-18

On-Demand Data

NameIdCountryDate
Adams Z Oldroyd1000United Kingdom2024-06-14
David X Malet1001Germany2024-05-27
Claire Z Royster1002United Kingdom2024-05-31
Leon I Maclead1003Brazil2024-05-18
Aika T Chui1004Russia2024-05-27
Munro N Campain1005Russia2024-05-30
Wickens C Ruta1006Italy2024-06-07
Aika T Darakjy1007Japan2024-05-22
Rodrigues A Bowley1008Argentina2024-06-09
Jennifer W Maclead1009France2024-05-27
Kaitlin S Butt1010Russia2024-05-21
Jennifer M Poquette1011Brazil2024-05-18
Isabel O Campain1012Brazil2024-05-28
Wickens M Bowley1013France2024-05-21
Claire U Slusarski1014Brazil2024-06-09
Leon U Shinko1015Spain2024-06-02
Misaki V Figeroa1016Australia2024-05-30
James V Flosi1017Argentina2024-05-20
Murillo N Bolognia1018Australia2024-05-17
Isabel Q Garufi1019United Kingdom2024-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow M StockhamIndiaStephen Shaw QUALIFIED
Aruna V FerenczGermanyAsiya Javayant PROPOSAL
Sinclair J GlickCanadaBernardo Dominic QUALIFIED
Aruna I SergiGermanyStephen Shaw NEGOTIATION
Ivar M SlusarskiUnited KingdomOnyama Limba NEGOTIATION
Morrow V CaldareraItalyStephen Shaw QUALIFIED
Octavia O WhobreyBrazilAmy Elsner NEW
Salvatore W MorascaAustraliaAsiya Javayant PROPOSAL
Jennifer Z PoquetteFranceAsiya Javayant NEGOTIATION
Ashley B CaudyIndiaBernardo Dominic NEW
Aruna M SchemmerJapanAmy Elsner RENEWAL
Aditya V CaudyRussiaStephen Shaw UNQUALIFIED
Antonio R PerinItalyStephen Shaw RENEWAL
Adams G DarakjyFranceAsiya Javayant UNQUALIFIED
Francesco E DoeGermanyAnna Fali NEW
Rodrigues L GillianUnited KingdomAsiya Javayant QUALIFIED
Sinclair S ChuiSpainXuxue Feng PROPOSAL
Munro P FlosiItalyStephen Shaw NEGOTIATION
Mayumi H FollerFranceIvan Magalhaes UNQUALIFIED
Silvio R GlickItalyElwin Sharvill UNQUALIFIED
Mujtaba X FlosiArgentinaOnyama Limba PROPOSAL
Arvin Q NestleIndiaElwin Sharvill RENEWAL
Izzy B WaycottArgentinaIoni Bowcher PROPOSAL
Cody W MacleadSpainXuxue Feng NEW
Jeanfrancois U CaudyIndiaAsiya Javayant UNQUALIFIED
Silvio W FigeroaCanadaAnna Fali UNQUALIFIED
Clifford B SaylorsAustraliaIoni Bowcher PROPOSAL
Jennifer H StensethRussiaXuxue Feng PROPOSAL
Johnson L KolmetzGermanyOnyama Limba NEGOTIATION
Rodrigues T RutaFranceXuxue Feng NEW
Leon J AmigonIndiaIvan Magalhaes QUALIFIED
Emily G MorascaArgentinaBernardo Dominic RENEWAL
Faith I CaldareraArgentinaAmy Elsner NEGOTIATION
Izzy E VenereItalyIvan Magalhaes QUALIFIED
Jones D GauchoSpainAnna Fali PROPOSAL
Leon G FlosiJapanIvan Magalhaes NEGOTIATION
Francesco E VenereSpainStephen Shaw NEGOTIATION
Misaki W AmigonCanadaIoni Bowcher QUALIFIED
Aditya O GauchoJapanElwin Sharvill PROPOSAL
Munro K FlosiUnited KingdomXuxue Feng RENEWAL

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