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
Darci N SlusarskiRussiaStephen Shaw NEGOTIATION
Alejandro Y FigeroaUnited KingdomAmy Elsner PROPOSAL
Maria Z ShinkoRussiaAnna Fali QUALIFIED
Jennifer U OldroydAustraliaAmy Elsner NEGOTIATION
Jones L WhobreyIndiaElwin Sharvill NEGOTIATION
Leja V KolmetzUnited KingdomXuxue Feng NEGOTIATION
Ashley V RimAustraliaIvan Magalhaes NEW
Jennifer Q AlbaresUnited KingdomBernardo Dominic QUALIFIED
Aika I MacleadUnited KingdomElwin Sharvill UNQUALIFIED
Jones O ChuiCanadaAmy Elsner UNQUALIFIED
Chavez J DarakjyFranceXuxue Feng UNQUALIFIED
Nicolas K StockhamBrazilElwin Sharvill UNQUALIFIED
Francesco B PaprockiIndiaAnna Fali RENEWAL
Clifford O BriddickRussiaAmy Elsner NEGOTIATION
Ivar X FerenczJapanStephen Shaw QUALIFIED
Faith K FerenczSpainIoni Bowcher UNQUALIFIED
Arvin G SaylorsGermanyBernardo Dominic NEGOTIATION
Izzy L GlickUnited KingdomElwin Sharvill RENEWAL
James L KolmetzAustraliaOnyama Limba RENEWAL
Francesco W RutaIndiaAmy Elsner QUALIFIED
Francesco Q AmigonFranceElwin Sharvill QUALIFIED
Jones Q SchemmerJapanIoni Bowcher PROPOSAL
Murillo P NestleIndiaXuxue Feng UNQUALIFIED
Maisha J KuskoGermanyIvan Magalhaes UNQUALIFIED
Salvatore V TollnerItalyStephen Shaw RENEWAL
Darci M MaletSpainStephen Shaw NEGOTIATION
Leon K DarakjyArgentinaBernardo Dominic RENEWAL
Morrow G DarakjyJapanBernardo Dominic NEGOTIATION
James R RulapaughFranceStephen Shaw NEGOTIATION
Rodrigues A PoquetteRussiaElwin Sharvill UNQUALIFIED
Smith L CaldareraItalyBernardo Dominic QUALIFIED
Nicolas F PoquetteGermanyStephen Shaw PROPOSAL
Cody Y ShinkoIndiaAmy Elsner PROPOSAL
Juan G NestleItalyIvan Magalhaes UNQUALIFIED
Deepesh N DilliardUnited KingdomIvan Magalhaes NEGOTIATION
Aruna N MacleadAustraliaIoni Bowcher NEW
Greenwood B MorascaRussiaAsiya Javayant NEGOTIATION
Kadeem L FigeroaUnited KingdomIoni Bowcher UNQUALIFIED
Emily M WieserSpainOnyama Limba UNQUALIFIED
Mujtaba U ButtIndiaStephen Shaw UNQUALIFIED
Leon O MarrierArgentinaXuxue Feng NEW
Johnson G StockhamAustraliaXuxue Feng NEGOTIATION
Cody K BologniaItalyIoni Bowcher RENEWAL
Jeanfrancois V PerinRussiaAsiya Javayant RENEWAL
Sinclair J MacleadAustraliaIvan Magalhaes PROPOSAL
Leja C OldroydBrazilXuxue Feng NEGOTIATION
Wickens O MarrierBrazilIvan Magalhaes UNQUALIFIED
Antonio N OstroskySpainOnyama Limba NEGOTIATION
Jennifer P RutaRussiaElwin Sharvill UNQUALIFIED
Jefferson H WhobreyGermanyAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kaitlin W VenereCanadaXuxue Feng RENEWAL
Costa Y MaletJapanIvan Magalhaes UNQUALIFIED
Ashley J ShinkoRussiaOnyama Limba PROPOSAL
Kaitlin O BologniaAustraliaAmy Elsner UNQUALIFIED
Costa I InouyeItalyAmy Elsner QUALIFIED
Stacey J NickaUnited KingdomBernardo Dominic NEGOTIATION
David Y TollnerUnited KingdomAnna Fali RENEWAL
Octavia H NestleBrazilOnyama Limba NEW
Aruna I MaletCanadaIvan Magalhaes NEGOTIATION
Greenwood Y VenereSpainAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo X BologniaJapan2024-05-26Feiner Bros RENEWAL11Elwin Sharvill
1001Aika S MarrierFrance2024-06-09Chanay, Jeffrey A Esq PROPOSAL74Ivan Magalhaes
1002Clifford Q AmigonUnited Kingdom2024-06-08Dorl, James J Esq RENEWAL6Onyama Limba
1003Jefferson S FerenczCanada2024-06-14Feltz Printing Service NEGOTIATION2Asiya Javayant
1004Darci O NestleJapan2024-06-13King, Christopher A Esq PROPOSAL51Elwin Sharvill
1005Aika M CampainIndia2024-05-21Feltz Printing Service QUALIFIED14Amy Elsner
1006Isabel U SchemmerArgentina2024-05-18Chapman, Ross E Esq PROPOSAL40Ivan Magalhaes
1007Isabel C GauchoIndia2024-06-08Chapman, Ross E Esq NEGOTIATION81Anna Fali
1008Costa L KolmetzUnited Kingdom2024-06-06Rangoni Of Florence RENEWAL69Ivan Magalhaes
1009Clifford A RulapaughAustralia2024-05-19Printing Dimensions UNQUALIFIED80Stephen Shaw
1010Maria O IturbideCanada2024-06-06Morlong Associates UNQUALIFIED70Xuxue Feng
1011Clifford P SchemmerRussia2024-05-17Feltz Printing Service RENEWAL17Stephen Shaw
1012Juan V InouyeArgentina2024-05-21Truhlar And Truhlar Attys QUALIFIED73Stephen Shaw
1013Stacey T SaylorsArgentina2024-05-20Chemel, James L Cpa PROPOSAL96Elwin Sharvill
1014Ivar A VocelkaIndia2024-05-27Printing Dimensions UNQUALIFIED15Elwin Sharvill
1015Morrow W DarakjyJapan2024-06-10Morlong Associates PROPOSAL33Bernardo Dominic
1016Leja Y KolmetzCanada2024-06-14Truhlar And Truhlar Attys UNQUALIFIED97Elwin Sharvill
1017Octavia N WieserItaly2024-05-17Chapman, Ross E Esq UNQUALIFIED76Onyama Limba
1018Cody M SlusarskiFrance2024-06-09Rangoni Of Florence QUALIFIED72Elwin Sharvill
1019Nicolas L CaldareraItaly2024-05-27Rangoni Of Florence PROPOSAL49Asiya Javayant
1020Ricardo M DarakjyRussia2024-06-09Feiner Bros UNQUALIFIED27Stephen Shaw
1021Mayumi T PerinIndia2024-05-23Buckley Miller Wright NEGOTIATION48Bernardo Dominic
1022Jeanfrancois P BowleyJapan2024-06-13Morlong Associates NEW41Bernardo Dominic
1023Nicolas K CampainUnited Kingdom2024-06-06Dorl, James J Esq NEW73Stephen Shaw
1024Octavia F KuskoBrazil2024-05-22Rangoni Of Florence QUALIFIED64Elwin Sharvill
1025Jeanfrancois M MorascaCanada2024-06-05Rousseaux, Michael Esq RENEWAL64Onyama Limba
1026Francesco U RulapaughBrazil2024-05-28Morlong Associates NEW50Elwin Sharvill
1027Murillo K MorascaAustralia2024-06-12Rousseaux, Michael Esq RENEWAL17Asiya Javayant
1028Faith P DilliardRussia2024-05-31Benton, John B Jr NEW96Amy Elsner
1029Leon W DarakjyUnited Kingdom2024-05-26Morlong Associates QUALIFIED66Ioni Bowcher
1030Octavia Y MaletAustralia2024-06-14Printing Dimensions QUALIFIED75Anna Fali
1031Francesco A VocelkaCanada2024-06-10Morlong Associates QUALIFIED68Xuxue Feng
1032Mayumi F RimAustralia2024-06-15Chapman, Ross E Esq NEW34Ioni Bowcher
1033Johnson P CaudyIndia2024-06-13Feiner Bros RENEWAL4Bernardo Dominic
1034Stacey I GillianJapan2024-05-26Dorl, James J Esq NEW63Elwin Sharvill
1035Adams A PoquetteBrazil2024-06-06Commercial Press QUALIFIED50Ioni Bowcher
1036Claire G KuskoJapan2024-05-26Feiner Bros NEW19Anna Fali
1037Jennifer U DoeSpain2024-06-12Rousseaux, Michael Esq NEGOTIATION31Elwin Sharvill
1038Aruna E CaudyIndia2024-06-05Feiner Bros UNQUALIFIED35Xuxue Feng
1039Aruna G KolmetzArgentina2024-06-08Chemel, James L Cpa UNQUALIFIED29Asiya Javayant
1040Rodrigues A CampainAustralia2024-05-18Feiner Bros NEGOTIATION80Bernardo Dominic
1041Arvin M CaudyRussia2024-06-15Dorl, James J Esq RENEWAL57Anna Fali
1042Jones P BowleyArgentina2024-05-18Rousseaux, Michael Esq PROPOSAL53Ivan Magalhaes
1043Maisha M GauchoItaly2024-06-05Commercial Press NEGOTIATION75Anna Fali
1044Maisha J InouyeJapan2024-05-20Feltz Printing Service UNQUALIFIED7Bernardo Dominic
1045Greenwood V KolmetzBrazil2024-05-30Buckley Miller Wright NEGOTIATION93Anna Fali
1046Juan X BowleyArgentina2024-05-19Buckley Miller Wright UNQUALIFIED77Bernardo Dominic
1047Juan W SergiJapan2024-05-25Truhlar And Truhlar Attys NEW65Stephen Shaw
1048Salvatore S FigeroaIndia2024-06-05King, Christopher A Esq UNQUALIFIED57Xuxue Feng
1049Aditya V BologniaJapan2024-06-07Truhlar And Truhlar Attys NEW24Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Chavez Q VenereCanadaXuxue Feng NEGOTIATION
Emily U ChuiCanadaOnyama Limba PROPOSAL
Tony Q SergiCanadaOnyama Limba PROPOSAL
Kadeem G MaletUnited KingdomXuxue Feng RENEWAL
Aruna E SaylorsBrazilStephen Shaw QUALIFIED
Misaki B SaylorsRussiaStephen Shaw NEGOTIATION
Antonio P KolmetzFranceXuxue Feng NEW
James R FlosiSpainIoni Bowcher RENEWAL
Murillo M GillianJapanStephen Shaw UNQUALIFIED
Mujtaba S CaldareraGermanyStephen Shaw NEGOTIATION
Jones V FlosiJapanElwin Sharvill RENEWAL
Chavez N BriddickJapanIvan Magalhaes NEGOTIATION
Silvio Q MaletArgentinaIoni Bowcher NEW
Johnson C WaycottIndiaElwin Sharvill NEW
Jeanfrancois U CampainIndiaStephen Shaw QUALIFIED
Ricardo J MaletSpainAnna Fali NEGOTIATION
Smith B BologniaRussiaOnyama Limba PROPOSAL
Aika J FerenczJapanAmy Elsner RENEWAL
Leon T PaprockiRussiaElwin Sharvill NEW
Leja D BologniaAustraliaBernardo Dominic NEGOTIATION
Deepesh R GarufiSpainIvan Magalhaes NEGOTIATION
Maisha R FigeroaFranceAmy Elsner NEW
Ricardo X ChuiGermanyIoni Bowcher PROPOSAL
David U FigeroaIndiaBernardo Dominic UNQUALIFIED
Nicolas Y InouyeArgentinaAnna Fali PROPOSAL
Jennifer E GlickCanadaIvan Magalhaes QUALIFIED
Silvio G ShinkoJapanOnyama Limba UNQUALIFIED
Costa A WieserItalyAsiya Javayant NEGOTIATION
Jeanfrancois M MaletRussiaElwin Sharvill NEGOTIATION
Sinclair P BologniaGermanyOnyama Limba NEW
Jones B SchemmerArgentinaXuxue Feng QUALIFIED
Emily H GarufiFranceAnna Fali UNQUALIFIED
Jones F RimBrazilXuxue Feng QUALIFIED
Leon W FlosiCanadaOnyama Limba RENEWAL
Johnson X CaudyItalyIoni Bowcher RENEWAL
David K BriddickRussiaXuxue Feng NEGOTIATION
Izzy N TollnerGermanyAsiya Javayant RENEWAL
Jennifer E DoeCanadaBernardo Dominic RENEWAL
Wickens L PaprockiBrazilIoni Bowcher PROPOSAL
Jennifer I WaycottJapanAnna Fali UNQUALIFIED
Tony V NickaBrazilXuxue Feng NEGOTIATION
Murillo G VocelkaArgentinaXuxue Feng PROPOSAL
Chavez E GauchoCanadaAmy Elsner PROPOSAL
Francesco M AmigonFranceIoni Bowcher NEW
Juan N FigeroaGermanyStephen Shaw QUALIFIED
Stacey L PoquetteGermanyAmy Elsner NEW
Chavez N DarakjyFranceStephen Shaw QUALIFIED
Ricardo T CaldareraIndiaStephen Shaw NEW
Octavia M SergiSpainAmy Elsner RENEWAL
Maisha D GlickItalyStephen Shaw PROPOSAL
Frozen Columns
Name
Munro C Stenseth
Cody B Poquette
Aruna Y Venere
Aika F Stenseth
Jefferson N Iturbide
Izzy X Glick
Leon G Kusko
Francesco D Nestle
Munro P Amigon
Ivar B Briddick
Stacey I Malet
Izzy Y Malet
Jefferson P Foller
Stacey K Whobrey
James Q Briddick
Misaki V Ostrosky
Claire E Royster
Clifford Y Rim
Leon L Butt
Aditya M Stenseth
Rodrigues E Figeroa
Francesco V Bolognia
Ivar P Kusko
Chavez G Nicka
Jeanfrancois M Bolognia
Ricardo G Rulapaugh
Munro F Saylors
Maria A Morasca
Aika L Malet
Greenwood R Wieser
Clifford O Kusko
Aditya C Paprocki
David Q Kolmetz
Maria X Dilliard
Cody H Schemmer
Misaki S Stenseth
Octavia C Nestle
Misaki R Stockham
Kadeem F Malet
Ricardo T Maclead
Johnson W Rim
Deepesh J Rim
Faith G Bolognia
Juan F Schemmer
Munro I Darakjy
Mayumi L Whobrey
Greenwood B Paprocki
Silvio L Vocelka
Munro O Malet
Maria S Shinko
IdCountryDate
1000Germany2024-05-17
1001Japan2024-05-23
1002Russia2024-05-29
1003Spain2024-06-02
1004Argentina2024-06-02
1005Germany2024-06-09
1006Russia2024-06-08
1007Spain2024-06-02
1008Canada2024-06-04
1009Germany2024-05-21
1010Russia2024-06-13
1011Germany2024-05-17
1012Japan2024-06-10
1013Russia2024-05-21
1014Japan2024-05-22
1015Japan2024-06-11
1016France2024-06-02
1017Brazil2024-05-21
1018Australia2024-06-11
1019Brazil2024-06-13
1020Spain2024-06-08
1021Argentina2024-05-30
1022Argentina2024-06-04
1023Germany2024-05-31
1024France2024-06-09
1025Italy2024-06-13
1026Spain2024-05-22
1027Canada2024-06-08
1028Russia2024-06-12
1029France2024-05-23
1030Argentina2024-06-15
1031Canada2024-05-23
1032India2024-06-14
1033Australia2024-06-13
1034Japan2024-05-24
1035Argentina2024-06-03
1036France2024-06-07
1037Argentina2024-06-15
1038Australia2024-06-11
1039Australia2024-06-09
1040India2024-06-14
1041Australia2024-06-08
1042Argentina2024-05-24
1043Canada2024-05-28
1044Germany2024-05-31
1045Brazil2024-05-24
1046Japan2024-05-29
1047Brazil2024-05-27
1048Germany2024-06-13
1049Russia2024-06-07

On-Demand Data

NameIdCountryDate
Jefferson N Nicka1000Australia2024-06-15
Clifford J Gaucho1001Argentina2024-06-01
Cody M Stenseth1002Germany2024-05-17
Munro G Maclead1003Argentina2024-05-25
Misaki G Slusarski1004United Kingdom2024-05-25
Francesco C Garufi1005Japan2024-06-04
David Z Garufi1006Spain2024-05-31
Munro X Stenseth1007France2024-05-19
Claire G Foller1008Germany2024-05-28
Julie T Sergi1009United Kingdom2024-05-28
Octavia P Glick1010Spain2024-05-18
Arvin W Slusarski1011United Kingdom2024-05-30
Claire L Kolmetz1012Canada2024-06-04
Maria U Whobrey1013India2024-05-18
Chavez M Vocelka1014Russia2024-05-18
Jones Z Foller1015Spain2024-06-14
Salvatore Q Chui1016Brazil2024-05-29
Johnson C Nestle1017India2024-06-02
Kadeem I Amigon1018United Kingdom2024-06-07
Arvin B Malet1019Japan2024-05-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams X RimBrazilIvan Magalhaes RENEWAL
Julie U WhobreyArgentinaOnyama Limba UNQUALIFIED
Jones T DarakjyArgentinaAnna Fali PROPOSAL
Octavia R ShinkoJapanAmy Elsner NEW
Ashley F OstroskyCanadaAnna Fali QUALIFIED
Jones M DilliardSpainAnna Fali NEGOTIATION
Juan D StockhamSpainXuxue Feng NEGOTIATION
Izzy I SchemmerBrazilAsiya Javayant RENEWAL
Ricardo O GarufiIndiaStephen Shaw PROPOSAL
Chavez K PerinCanadaAnna Fali UNQUALIFIED
Aditya R StockhamSpainAmy Elsner QUALIFIED
Ashley W OstroskyBrazilElwin Sharvill NEGOTIATION
Mayumi V GauchoItalyIoni Bowcher UNQUALIFIED
Munro I ButtCanadaStephen Shaw UNQUALIFIED
Johnson C RulapaughGermanyIoni Bowcher PROPOSAL
Jeanfrancois X NickaItalyAmy Elsner NEW
Juan Q OldroydFranceIvan Magalhaes PROPOSAL
Jennifer M CaldareraBrazilElwin Sharvill NEW
Wickens G CampainRussiaOnyama Limba QUALIFIED
Julie O InouyeArgentinaBernardo Dominic NEGOTIATION
Tony V DoeUnited KingdomElwin Sharvill UNQUALIFIED
Faith D SchemmerItalyStephen Shaw UNQUALIFIED
Mayumi A MacleadSpainAnna Fali NEW
Maisha D ChuiFranceXuxue Feng RENEWAL
Murillo Q StensethRussiaAsiya Javayant NEW
Adams F KolmetzIndiaOnyama Limba NEGOTIATION
Aruna E VocelkaUnited KingdomAnna Fali NEGOTIATION
Smith J BriddickUnited KingdomStephen Shaw NEW
Faith Y DoeBrazilBernardo Dominic RENEWAL
Jeanfrancois W GarufiIndiaAnna Fali NEW
Wickens W SaylorsIndiaIvan Magalhaes PROPOSAL
Cody C PaprockiArgentinaBernardo Dominic QUALIFIED
Silvio F RimItalyBernardo Dominic NEGOTIATION
Smith D SlusarskiGermanyAmy Elsner NEW
Murillo K DilliardSpainAsiya Javayant PROPOSAL
Maria T MaletAustraliaAsiya Javayant RENEWAL
David M NestleIndiaXuxue Feng NEGOTIATION
Murillo E WaycottCanadaStephen Shaw NEW
Aruna I GauchoFranceStephen Shaw UNQUALIFIED
Mujtaba R GarufiBrazilOnyama Limba 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>