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
Rodrigues K DarakjyCanadaAmy Elsner PROPOSAL
Cody C AlbaresJapanIvan Magalhaes PROPOSAL
Antonio M RulapaughSpainXuxue Feng NEW
Ivar T IturbideUnited KingdomIvan Magalhaes RENEWAL
Silvio T GauchoCanadaAsiya Javayant QUALIFIED
Maisha B RutaFranceIoni Bowcher UNQUALIFIED
Kadeem G SergiCanadaXuxue Feng NEW
Adams B MorascaRussiaElwin Sharvill NEGOTIATION
Maisha M MarrierUnited KingdomXuxue Feng RENEWAL
Sinclair M RutaCanadaAsiya Javayant UNQUALIFIED
Costa O FlosiArgentinaXuxue Feng RENEWAL
Aruna U WaycottRussiaStephen Shaw NEW
Isabel C WhobreyJapanAmy Elsner PROPOSAL
Smith C BowleyIndiaAsiya Javayant UNQUALIFIED
Clifford Z DoeIndiaIoni Bowcher PROPOSAL
Faith Y MorascaItalyStephen Shaw UNQUALIFIED
Stacey N WieserRussiaBernardo Dominic QUALIFIED
Jeanfrancois Y FigeroaFranceBernardo Dominic NEW
Adams U IturbideCanadaIvan Magalhaes PROPOSAL
Isabel O VenereJapanOnyama Limba NEGOTIATION
Antonio Z MarrierItalyAsiya Javayant PROPOSAL
Aika P StensethItalyXuxue Feng QUALIFIED
Costa X MarrierIndiaAsiya Javayant NEGOTIATION
Murillo C WaycottArgentinaBernardo Dominic PROPOSAL
Francesco I VenereItalyIvan Magalhaes UNQUALIFIED
Morrow S RulapaughSpainIoni Bowcher QUALIFIED
Leja C RulapaughGermanyXuxue Feng PROPOSAL
Smith W FigeroaCanadaAnna Fali QUALIFIED
Deepesh M RimArgentinaBernardo Dominic NEGOTIATION
Faith Q FlosiBrazilElwin Sharvill NEGOTIATION
Murillo V WieserSpainElwin Sharvill RENEWAL
Salvatore S OldroydRussiaAsiya Javayant QUALIFIED
Costa M BriddickBrazilStephen Shaw RENEWAL
Stacey C RoysterAustraliaXuxue Feng NEGOTIATION
Isabel W AlbaresArgentinaAnna Fali NEGOTIATION
Aika Y GlickFranceAnna Fali PROPOSAL
Faith F BologniaFranceElwin Sharvill NEW
Francesco Z OldroydSpainElwin Sharvill QUALIFIED
Clifford D PoquetteIndiaIoni Bowcher UNQUALIFIED
Silvio W SaylorsRussiaIoni Bowcher NEW
Leon R IturbideUnited KingdomStephen Shaw QUALIFIED
Faith T GlickUnited KingdomBernardo Dominic RENEWAL
Maisha W WhobreyUnited KingdomBernardo Dominic NEGOTIATION
Claire K IturbideFranceOnyama Limba NEW
Rodrigues U WieserUnited KingdomBernardo Dominic PROPOSAL
Chavez O DarakjyGermanyIoni Bowcher UNQUALIFIED
Francesco L SergiIndiaStephen Shaw QUALIFIED
Aditya A VocelkaAustraliaXuxue Feng NEGOTIATION
Isabel B FollerBrazilAsiya Javayant UNQUALIFIED
Isabel F SaylorsRussiaAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Maisha D OstroskyJapanStephen Shaw QUALIFIED
Sinclair V TollnerArgentinaAsiya Javayant NEGOTIATION
Nicolas F ShinkoIndiaAmy Elsner NEGOTIATION
Ricardo I FollerBrazilStephen Shaw QUALIFIED
Jefferson Q GauchoIndiaAmy Elsner NEW
Leon C IturbideArgentinaIoni Bowcher QUALIFIED
Nicolas Z ShinkoIndiaXuxue Feng RENEWAL
Emily B CaudyItalyElwin Sharvill NEGOTIATION
Rodrigues Z KolmetzBrazilOnyama Limba NEGOTIATION
Faith P PoquetteJapanOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem L OstroskySpain2024-06-02Truhlar And Truhlar Attys QUALIFIED97Onyama Limba
1001Leon X VocelkaIndia2024-05-30Printing Dimensions UNQUALIFIED49Ivan Magalhaes
1002Arvin X GlickUnited Kingdom2024-05-22Printing Dimensions RENEWAL91Stephen Shaw
1003Morrow L SaylorsIndia2024-06-05Chanay, Jeffrey A Esq QUALIFIED20Asiya Javayant
1004Juan X IturbideCanada2024-05-20Chemel, James L Cpa PROPOSAL60Asiya Javayant
1005Jeanfrancois B ButtBrazil2024-06-05Benton, John B Jr NEW58Anna Fali
1006Aruna X ShinkoRussia2024-06-07Benton, John B Jr PROPOSAL2Ivan Magalhaes
1007Murillo R StockhamJapan2024-06-04Commercial Press QUALIFIED78Asiya Javayant
1008Mayumi B WaycottFrance2024-05-27Feltz Printing Service RENEWAL69Ivan Magalhaes
1009Faith A ChuiArgentina2024-05-31King, Christopher A Esq UNQUALIFIED51Elwin Sharvill
1010Izzy Z BologniaIndia2024-06-05Rousseaux, Michael Esq RENEWAL74Ivan Magalhaes
1011Morrow H GillianItaly2024-06-03Feltz Printing Service QUALIFIED32Onyama Limba
1012Adams Y NestleFrance2024-06-04Printing Dimensions RENEWAL70Anna Fali
1013Murillo W WaycottAustralia2024-05-22Chemel, James L Cpa NEW16Stephen Shaw
1014Kadeem Z RutaItaly2024-06-07Chanay, Jeffrey A Esq NEW95Amy Elsner
1015Francesco R FerenczCanada2024-05-17Morlong Associates UNQUALIFIED71Ioni Bowcher
1016Johnson D GlickCanada2024-05-18Commercial Press QUALIFIED74Stephen Shaw
1017Misaki I PoquetteIndia2024-06-08Truhlar And Truhlar Attys RENEWAL0Elwin Sharvill
1018Silvio F TollnerCanada2024-06-01Dorl, James J Esq NEGOTIATION16Xuxue Feng
1019Sinclair Z DilliardSpain2024-05-18Rangoni Of Florence UNQUALIFIED30Ivan Magalhaes
1020Smith D CaudyBrazil2024-05-17Dorl, James J Esq QUALIFIED79Anna Fali
1021Mujtaba I RimGermany2024-06-14Commercial Press RENEWAL1Asiya Javayant
1022Murillo G OstroskyUnited Kingdom2024-06-08Printing Dimensions RENEWAL87Asiya Javayant
1023Nicolas S GlickBrazil2024-06-10Chanay, Jeffrey A Esq NEW41Amy Elsner
1024Ashley U StensethAustralia2024-05-29Commercial Press QUALIFIED21Xuxue Feng
1025Salvatore H ChuiSpain2024-06-01Feltz Printing Service NEGOTIATION76Anna Fali
1026Jefferson H ShinkoSpain2024-06-04Morlong Associates NEW47Onyama Limba
1027Izzy D AmigonBrazil2024-06-03Feltz Printing Service QUALIFIED72Elwin Sharvill
1028Leja I SergiSpain2024-05-27Chemel, James L Cpa QUALIFIED2Elwin Sharvill
1029Leja F ShinkoCanada2024-05-27Chanay, Jeffrey A Esq NEW18Amy Elsner
1030Silvio T MacleadSpain2024-05-26Truhlar And Truhlar Attys UNQUALIFIED52Stephen Shaw
1031Cody M MorascaSpain2024-06-09Truhlar And Truhlar Attys UNQUALIFIED36Anna Fali
1032Mujtaba C FlosiArgentina2024-05-17Commercial Press QUALIFIED27Anna Fali
1033Isabel G ChuiRussia2024-05-23Benton, John B Jr NEGOTIATION69Asiya Javayant
1034Aditya W MaletSpain2024-05-21Feiner Bros RENEWAL51Ivan Magalhaes
1035Clifford G VocelkaArgentina2024-05-25Chapman, Ross E Esq QUALIFIED0Xuxue Feng
1036Munro Y BologniaSpain2024-06-13Chemel, James L Cpa PROPOSAL2Stephen Shaw
1037Francesco D DilliardUnited Kingdom2024-05-23Chanay, Jeffrey A Esq QUALIFIED85Amy Elsner
1038Smith U WhobreyItaly2024-06-06Feltz Printing Service QUALIFIED68Anna Fali
1039Izzy U CaldareraArgentina2024-05-29Commercial Press NEGOTIATION87Anna Fali
1040Kadeem S BriddickRussia2024-05-18Chemel, James L Cpa NEW51Ioni Bowcher
1041Clifford E PoquetteFrance2024-06-12Morlong Associates QUALIFIED83Bernardo Dominic
1042Cody S SaylorsGermany2024-05-17Chapman, Ross E Esq NEW68Anna Fali
1043Jefferson F VocelkaSpain2024-06-07Rangoni Of Florence PROPOSAL12Onyama Limba
1044Jefferson F VocelkaCanada2024-05-29Rangoni Of Florence PROPOSAL8Bernardo Dominic
1045Ashley O MacleadAustralia2024-06-09Chanay, Jeffrey A Esq NEW62Xuxue Feng
1046Stacey T BologniaRussia2024-06-04Morlong Associates UNQUALIFIED51Bernardo Dominic
1047David K WieserJapan2024-05-23Benton, John B Jr NEGOTIATION26Asiya Javayant
1048James Q DoeUnited Kingdom2024-05-26Commercial Press PROPOSAL66Stephen Shaw
1049Ivar C AlbaresCanada2024-06-10Rangoni Of Florence RENEWAL77Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Kadeem L NickaBrazilElwin Sharvill NEGOTIATION
David U DarakjySpainIoni Bowcher QUALIFIED
Leon R ShinkoAustraliaIoni Bowcher UNQUALIFIED
Arvin Q SlusarskiUnited KingdomBernardo Dominic UNQUALIFIED
Antonio C RutaGermanyAnna Fali UNQUALIFIED
Francesco Z AlbaresSpainElwin Sharvill QUALIFIED
Deepesh K WieserFranceIvan Magalhaes QUALIFIED
Aruna E MacleadGermanyBernardo Dominic NEW
Ricardo J StensethJapanXuxue Feng UNQUALIFIED
Jones K FlosiSpainXuxue Feng NEW
Nicolas B RutaFranceBernardo Dominic PROPOSAL
Morrow Q WaycottRussiaXuxue Feng NEW
Clifford A IturbideArgentinaXuxue Feng PROPOSAL
Silvio L NickaAustraliaBernardo Dominic NEGOTIATION
Mujtaba K FlosiItalyOnyama Limba QUALIFIED
Maisha L GauchoIndiaElwin Sharvill PROPOSAL
Faith E MarrierUnited KingdomIoni Bowcher UNQUALIFIED
Francesco T ChuiBrazilElwin Sharvill NEW
Chavez K PoquetteJapanBernardo Dominic PROPOSAL
Murillo V ShinkoJapanStephen Shaw PROPOSAL
Aruna N VenereRussiaAsiya Javayant QUALIFIED
Jones A InouyeGermanyAnna Fali UNQUALIFIED
Chavez D RimGermanyXuxue Feng PROPOSAL
Isabel O RoysterItalyAsiya Javayant QUALIFIED
Murillo J StockhamCanadaXuxue Feng NEW
Maria C SergiJapanOnyama Limba NEW
Munro B NickaIndiaStephen Shaw NEW
Maria G KolmetzUnited KingdomIvan Magalhaes RENEWAL
Costa U TollnerFranceAmy Elsner UNQUALIFIED
Leon T RutaGermanyBernardo Dominic QUALIFIED
Kaitlin G GlickRussiaBernardo Dominic UNQUALIFIED
Johnson I RutaGermanyAsiya Javayant RENEWAL
Darci W RutaSpainOnyama Limba UNQUALIFIED
Smith H ChuiCanadaStephen Shaw NEW
Aruna J VenereItalyAnna Fali NEGOTIATION
Costa Z StensethIndiaOnyama Limba PROPOSAL
Mayumi N WhobreyAustraliaAnna Fali QUALIFIED
Leja B GillianIndiaElwin Sharvill RENEWAL
Francesco C SergiUnited KingdomAnna Fali RENEWAL
Silvio B InouyeGermanyIvan Magalhaes QUALIFIED
Aruna T DarakjyArgentinaAsiya Javayant RENEWAL
Aika T FigeroaUnited KingdomXuxue Feng NEW
Mayumi E GauchoGermanyAmy Elsner NEW
Munro U ChuiArgentinaAnna Fali QUALIFIED
Mujtaba V DarakjyUnited KingdomElwin Sharvill NEW
Octavia X WieserRussiaAmy Elsner RENEWAL
Wickens Q MarrierAustraliaStephen Shaw PROPOSAL
Salvatore L DoeIndiaStephen Shaw RENEWAL
Claire B OldroydItalyBernardo Dominic UNQUALIFIED
Maria H GillianCanadaOnyama Limba QUALIFIED
Frozen Columns
Name
Juan S Glick
Isabel H Waycott
Emily C Amigon
Chavez H Campain
Isabel D Campain
Munro Y Vocelka
Aika N Kolmetz
Silvio J Morasca
Deepesh Q Gaucho
Misaki F Gaucho
David I Malet
Ashley X Butt
Deepesh Y Stockham
Tony P Poquette
Maisha T Tollner
Claire V Maclead
Leja I Bolognia
Deepesh T Ferencz
Silvio Z Malet
Salvatore P Kolmetz
Morrow O Garufi
Johnson P Albares
Morrow I Nestle
Stacey A Bowley
Aruna T Glick
Jones Z Perin
Aika X Chui
Kaitlin I Tollner
Maria I Amigon
Mayumi A Rulapaugh
Izzy M Ruta
Octavia K Ostrosky
Maria O Gillian
Greenwood O Shinko
Kaitlin U Waycott
Kadeem O Whobrey
Munro Z Glick
Mujtaba P Campain
Aika E Stockham
Murillo V Dilliard
Aditya V Caudy
Rodrigues S Flosi
Emily H Butt
Sinclair V Caldarera
Ashley T Garufi
Darci K Rulapaugh
Morrow Y Waycott
Wickens G Venere
Misaki U Venere
Kaitlin G Tollner
IdCountryDate
1000Australia2024-06-12
1001France2024-05-18
1002Argentina2024-06-10
1003Italy2024-06-01
1004Spain2024-05-16
1005Argentina2024-05-23
1006Russia2024-06-02
1007Canada2024-05-30
1008France2024-06-09
1009Argentina2024-05-18
1010Japan2024-05-17
1011Argentina2024-05-29
1012France2024-06-10
1013India2024-05-19
1014Australia2024-05-30
1015Japan2024-06-12
1016Germany2024-06-07
1017United Kingdom2024-06-11
1018India2024-05-29
1019Brazil2024-06-07
1020Canada2024-06-07
1021Australia2024-06-08
1022India2024-06-12
1023Canada2024-06-04
1024India2024-05-27
1025India2024-05-27
1026Brazil2024-06-08
1027Japan2024-05-25
1028Germany2024-06-08
1029India2024-06-02
1030Germany2024-06-02
1031Japan2024-05-29
1032France2024-06-07
1033Brazil2024-06-01
1034Germany2024-06-07
1035Japan2024-06-01
1036Australia2024-06-14
1037India2024-05-17
1038Germany2024-06-03
1039France2024-05-21
1040Brazil2024-05-23
1041France2024-05-30
1042Spain2024-06-07
1043India2024-05-24
1044France2024-05-20
1045Spain2024-05-30
1046Australia2024-05-30
1047Russia2024-05-30
1048Spain2024-06-06
1049Argentina2024-05-27

On-Demand Data

NameIdCountryDate
Costa J Kolmetz1000Spain2024-06-14
Rodrigues O Gillian1001Italy2024-06-14
Maisha W Stockham1002Spain2024-06-10
Chavez H Darakjy1003Germany2024-05-20
Clifford T Schemmer1004India2024-06-11
Jennifer R Stenseth1005Italy2024-06-06
Rodrigues I Figeroa1006Spain2024-06-12
Julie I Venere1007Australia2024-06-04
Wickens S Oldroyd1008United Kingdom2024-05-19
Ricardo J Marrier1009Japan2024-05-21
Aruna Q Nestle1010France2024-06-05
Aditya G Shinko1011Germany2024-06-09
Ivar B Bowley1012Brazil2024-06-14
Munro P Whobrey1013Japan2024-05-20
Chavez J Doe1014Italy2024-05-23
Clifford C Gillian1015France2024-05-23
Aika L Gaucho1016Italy2024-06-12
Jones S Royster1017United Kingdom2024-05-29
Ricardo T Glick1018Japan2024-05-20
Munro D Glick1019France2024-05-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro B RoysterRussiaIvan Magalhaes PROPOSAL
Francesco W PerinSpainXuxue Feng RENEWAL
Cody F MaletArgentinaBernardo Dominic UNQUALIFIED
Ivar N RimJapanBernardo Dominic QUALIFIED
Faith U NickaSpainIvan Magalhaes PROPOSAL
Julie I GarufiUnited KingdomBernardo Dominic UNQUALIFIED
Emily E FigeroaAustraliaIoni Bowcher QUALIFIED
Salvatore R DarakjyUnited KingdomOnyama Limba NEW
Leon W AlbaresAustraliaXuxue Feng QUALIFIED
Jones I RoysterSpainAsiya Javayant NEW
Francesco R TollnerRussiaStephen Shaw RENEWAL
Octavia P GlickSpainBernardo Dominic RENEWAL
Leon C KolmetzItalyAnna Fali UNQUALIFIED
Murillo J PaprockiArgentinaStephen Shaw PROPOSAL
Claire D ChuiRussiaElwin Sharvill NEW
Jefferson S VocelkaGermanyIvan Magalhaes PROPOSAL
Salvatore N DoeBrazilOnyama Limba NEW
Izzy Z AmigonFranceAnna Fali RENEWAL
Mayumi O FollerIndiaBernardo Dominic NEGOTIATION
Jeanfrancois F DilliardJapanIoni Bowcher NEGOTIATION
Johnson D VenereBrazilIvan Magalhaes PROPOSAL
Ricardo D IturbideCanadaAmy Elsner NEGOTIATION
Munro N RoysterFranceAsiya Javayant QUALIFIED
Leon R DilliardArgentinaAsiya Javayant NEGOTIATION
Maria U BowleyIndiaXuxue Feng PROPOSAL
Maria E ChuiIndiaBernardo Dominic UNQUALIFIED
Mujtaba Q FollerGermanyStephen Shaw UNQUALIFIED
Juan E OstroskyCanadaIoni Bowcher RENEWAL
Ashley H KolmetzAustraliaAmy Elsner NEW
Ricardo Q MaletJapanXuxue Feng QUALIFIED
Jeanfrancois O CaldareraBrazilAmy Elsner NEGOTIATION
Morrow A KolmetzIndiaOnyama Limba NEGOTIATION
Mujtaba B SchemmerUnited KingdomElwin Sharvill NEW
Ashley W KolmetzItalyAsiya Javayant NEW
Cody Z MorascaJapanAmy Elsner UNQUALIFIED
Octavia R IturbideArgentinaIoni Bowcher NEGOTIATION
Clifford J DilliardGermanyIvan Magalhaes QUALIFIED
Jones W GillianAustraliaIvan Magalhaes NEGOTIATION
James P BowleyUnited KingdomIoni Bowcher UNQUALIFIED
Alejandro K FerenczBrazilAsiya Javayant 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>