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
Aruna A SaylorsCanadaXuxue Feng RENEWAL
Adams R FerenczJapanIoni Bowcher NEW
Julie L ChuiItalyOnyama Limba RENEWAL
Costa B FigeroaItalyAnna Fali UNQUALIFIED
Maisha N NickaCanadaOnyama Limba RENEWAL
Octavia K DilliardArgentinaIvan Magalhaes PROPOSAL
Jones X OldroydIndiaAsiya Javayant PROPOSAL
Morrow R DilliardGermanyBernardo Dominic PROPOSAL
Morrow W SlusarskiAustraliaXuxue Feng NEW
Clifford O MaletAustraliaStephen Shaw RENEWAL
Jefferson G GarufiGermanyIoni Bowcher NEGOTIATION
Claire K KolmetzAustraliaXuxue Feng NEW
Aditya Q KolmetzRussiaElwin Sharvill UNQUALIFIED
Greenwood J VocelkaGermanyAsiya Javayant RENEWAL
Silvio O KolmetzRussiaElwin Sharvill RENEWAL
Jones F MorascaArgentinaOnyama Limba UNQUALIFIED
Deepesh J ChuiCanadaIoni Bowcher UNQUALIFIED
Maisha J VenereIndiaOnyama Limba NEW
Costa A GauchoAustraliaIoni Bowcher QUALIFIED
Wickens M ButtGermanyStephen Shaw UNQUALIFIED
Maisha B ButtUnited KingdomIvan Magalhaes NEGOTIATION
Isabel J NickaJapanXuxue Feng RENEWAL
Faith I InouyeFranceBernardo Dominic UNQUALIFIED
Leja T GarufiUnited KingdomIoni Bowcher NEGOTIATION
Cody W ChuiBrazilOnyama Limba NEGOTIATION
Mujtaba H WieserJapanIvan Magalhaes NEW
Rodrigues A SlusarskiBrazilAsiya Javayant QUALIFIED
Rodrigues N WaycottRussiaXuxue Feng NEW
Smith G IturbideSpainAmy Elsner UNQUALIFIED
Darci A TollnerJapanAnna Fali NEGOTIATION
Arvin N TollnerRussiaIoni Bowcher RENEWAL
Claire F FerenczArgentinaStephen Shaw UNQUALIFIED
Silvio T ChuiItalyBernardo Dominic PROPOSAL
Maisha H BowleyCanadaAmy Elsner RENEWAL
James G GauchoArgentinaElwin Sharvill NEW
Stacey T ChuiAustraliaAnna Fali NEW
Chavez Q NestleAustraliaBernardo Dominic UNQUALIFIED
Deepesh X ShinkoIndiaElwin Sharvill NEW
Leja Y MarrierSpainElwin Sharvill PROPOSAL
Ricardo M ButtCanadaXuxue Feng PROPOSAL
Maria A NickaSpainBernardo Dominic PROPOSAL
Aruna I DilliardItalyAmy Elsner PROPOSAL
Murillo V SaylorsItalyElwin Sharvill NEW
David Y StensethBrazilElwin Sharvill QUALIFIED
Maisha L BowleyIndiaBernardo Dominic UNQUALIFIED
Salvatore Q FigeroaAustraliaXuxue Feng QUALIFIED
Deepesh F DarakjyIndiaIoni Bowcher QUALIFIED
Emily R WaycottIndiaBernardo Dominic RENEWAL
Stacey T BologniaSpainIvan Magalhaes NEGOTIATION
Julie F MaletCanadaAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Munro I FerenczBrazilIvan Magalhaes RENEWAL
Leja W DoeAustraliaOnyama Limba NEGOTIATION
Stacey V RoysterIndiaBernardo Dominic NEGOTIATION
Aditya Q IturbideSpainXuxue Feng NEGOTIATION
Antonio C WaycottGermanyElwin Sharvill NEGOTIATION
Deepesh C OldroydIndiaAmy Elsner NEGOTIATION
Kaitlin Y InouyeBrazilStephen Shaw RENEWAL
Faith B CampainGermanyIvan Magalhaes NEGOTIATION
Smith J GarufiCanadaXuxue Feng QUALIFIED
Jennifer Z AmigonAustraliaAmy Elsner NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar V BowleyGermany2024-06-01Feiner Bros NEGOTIATION49Anna Fali
1001Stacey K RimArgentina2024-06-12Feltz Printing Service RENEWAL23Anna Fali
1002Sinclair Z ChuiGermany2024-06-22Printing Dimensions NEW72Elwin Sharvill
1003Munro H PaprockiRussia2024-06-24Feltz Printing Service PROPOSAL73Ioni Bowcher
1004Jeanfrancois W PoquetteGermany2024-06-10King, Christopher A Esq RENEWAL45Ioni Bowcher
1005Faith C OstroskyAustralia2024-06-24Benton, John B Jr RENEWAL50Bernardo Dominic
1006Ivar G NickaUnited Kingdom2024-06-08Chapman, Ross E Esq QUALIFIED21Ioni Bowcher
1007Cody I PoquetteRussia2024-06-09Morlong Associates NEGOTIATION38Asiya Javayant
1008Aika Y PerinAustralia2024-06-11Feltz Printing Service NEW20Elwin Sharvill
1009Jeanfrancois J FigeroaJapan2024-06-23Chanay, Jeffrey A Esq PROPOSAL15Anna Fali
1010Morrow I WaycottItaly2024-06-06King, Christopher A Esq PROPOSAL28Onyama Limba
1011Isabel F StockhamJapan2024-06-02Chemel, James L Cpa NEW1Bernardo Dominic
1012Munro H SlusarskiBrazil2024-06-09Chanay, Jeffrey A Esq NEGOTIATION81Bernardo Dominic
1013Greenwood B KuskoFrance2024-06-13Chapman, Ross E Esq RENEWAL15Asiya Javayant
1014Jeanfrancois V MacleadBrazil2024-06-03King, Christopher A Esq UNQUALIFIED49Ioni Bowcher
1015Sinclair S NickaUnited Kingdom2024-06-11Chanay, Jeffrey A Esq PROPOSAL42Asiya Javayant
1016Rodrigues B SlusarskiAustralia2024-06-13Feiner Bros NEGOTIATION8Xuxue Feng
1017Johnson T OstroskyCanada2024-06-06King, Christopher A Esq UNQUALIFIED6Elwin Sharvill
1018Mayumi V SaylorsIndia2024-06-04Commercial Press NEW57Ivan Magalhaes
1019Salvatore R RoysterFrance2024-06-08Chapman, Ross E Esq QUALIFIED57Stephen Shaw
1020Ashley W RulapaughCanada2024-06-23Rousseaux, Michael Esq NEGOTIATION98Amy Elsner
1021Octavia L FigeroaItaly2024-06-14Rangoni Of Florence PROPOSAL70Elwin Sharvill
1022Stacey A MaletGermany2024-06-22Benton, John B Jr UNQUALIFIED64Ioni Bowcher
1023Smith N SlusarskiJapan2024-06-15Printing Dimensions NEGOTIATION35Ioni Bowcher
1024Mayumi D WhobreyArgentina2024-05-26Printing Dimensions UNQUALIFIED58Bernardo Dominic
1025Greenwood N VocelkaSpain2024-06-16Chemel, James L Cpa UNQUALIFIED10Xuxue Feng
1026Ivar I GauchoArgentina2024-06-18King, Christopher A Esq RENEWAL91Anna Fali
1027Aditya K VocelkaFrance2024-06-20Chapman, Ross E Esq NEW55Ivan Magalhaes
1028Mayumi W NickaRussia2024-06-12Chapman, Ross E Esq QUALIFIED72Bernardo Dominic
1029Murillo F ChuiArgentina2024-06-19Truhlar And Truhlar Attys NEGOTIATION62Anna Fali
1030Jennifer Q SchemmerCanada2024-05-27Benton, John B Jr NEW56Bernardo Dominic
1031Misaki W StensethUnited Kingdom2024-06-07Feiner Bros NEW92Stephen Shaw
1032Silvio M GillianItaly2024-06-14Morlong Associates RENEWAL14Asiya Javayant
1033Francesco I FlosiSpain2024-06-17Chapman, Ross E Esq PROPOSAL9Onyama Limba
1034Jeanfrancois F KuskoUnited Kingdom2024-06-08Benton, John B Jr UNQUALIFIED53Anna Fali
1035Munro Q IturbideAustralia2024-06-11Chemel, James L Cpa RENEWAL48Ioni Bowcher
1036Mayumi Z AmigonFrance2024-06-06Chemel, James L Cpa QUALIFIED59Stephen Shaw
1037Claire K MarrierUnited Kingdom2024-06-14Chanay, Jeffrey A Esq NEW45Stephen Shaw
1038Mujtaba F KolmetzUnited Kingdom2024-05-28Commercial Press QUALIFIED90Amy Elsner
1039Arvin L SaylorsGermany2024-06-23Printing Dimensions QUALIFIED76Amy Elsner
1040Juan F FigeroaBrazil2024-05-29Buckley Miller Wright NEGOTIATION57Anna Fali
1041Jefferson A GarufiCanada2024-06-12Rangoni Of Florence NEGOTIATION34Bernardo Dominic
1042Stacey N RimArgentina2024-06-04Rangoni Of Florence UNQUALIFIED18Anna Fali
1043Deepesh O FollerCanada2024-06-24King, Christopher A Esq NEW47Ivan Magalhaes
1044Claire B MaletRussia2024-05-27Truhlar And Truhlar Attys UNQUALIFIED48Asiya Javayant
1045Alejandro X GauchoIndia2024-06-16Rousseaux, Michael Esq RENEWAL40Ioni Bowcher
1046Alejandro P CampainFrance2024-06-06Morlong Associates RENEWAL79Asiya Javayant
1047Ivar V SlusarskiAustralia2024-06-02Benton, John B Jr PROPOSAL4Ioni Bowcher
1048Jeanfrancois R ButtAustralia2024-06-11Buckley Miller Wright QUALIFIED60Ivan Magalhaes
1049Jefferson X BologniaArgentina2024-06-04Printing Dimensions QUALIFIED75Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Kaitlin U WieserJapanIvan Magalhaes QUALIFIED
Silvio P NickaIndiaAmy Elsner NEGOTIATION
Isabel K MorascaRussiaElwin Sharvill NEW
Chavez B SergiFranceBernardo Dominic NEW
David N OstroskyBrazilStephen Shaw UNQUALIFIED
Morrow K RutaIndiaAsiya Javayant PROPOSAL
Misaki D KuskoJapanStephen Shaw RENEWAL
Aruna U WaycottFranceAmy Elsner NEGOTIATION
Francesco M FigeroaAustraliaOnyama Limba UNQUALIFIED
Kadeem D SaylorsIndiaAmy Elsner RENEWAL
Costa D FerenczGermanyAmy Elsner NEW
Morrow K StockhamFranceXuxue Feng NEGOTIATION
Silvio K MaletAustraliaIoni Bowcher NEW
Chavez I ShinkoCanadaOnyama Limba UNQUALIFIED
Jones T BowleyCanadaIvan Magalhaes RENEWAL
Maisha P PerinGermanyIvan Magalhaes PROPOSAL
Jefferson G GillianIndiaIoni Bowcher UNQUALIFIED
Sinclair B PaprockiGermanyBernardo Dominic RENEWAL
Adams L GlickRussiaIvan Magalhaes QUALIFIED
Chavez B CampainIndiaElwin Sharvill PROPOSAL
Juan P FlosiCanadaXuxue Feng NEGOTIATION
Octavia H SergiAustraliaAsiya Javayant NEGOTIATION
Darci F GillianBrazilStephen Shaw RENEWAL
Clifford H SaylorsGermanyAmy Elsner UNQUALIFIED
Arvin N ChuiIndiaIoni Bowcher PROPOSAL
Jeanfrancois T FlosiItalyBernardo Dominic NEW
Nicolas Z GillianJapanStephen Shaw UNQUALIFIED
Izzy I TollnerCanadaOnyama Limba RENEWAL
Jefferson V CaudyBrazilAmy Elsner NEGOTIATION
Maria P VocelkaIndiaAnna Fali RENEWAL
Adams T StockhamBrazilAmy Elsner QUALIFIED
Adams V KolmetzItalyAmy Elsner NEW
Kadeem P IturbideUnited KingdomXuxue Feng NEGOTIATION
Leja E AlbaresRussiaAsiya Javayant NEW
Greenwood H BriddickArgentinaBernardo Dominic PROPOSAL
Misaki T CampainUnited KingdomBernardo Dominic NEW
Alejandro Z PaprockiSpainStephen Shaw UNQUALIFIED
Aditya M KuskoBrazilOnyama Limba UNQUALIFIED
Aditya W AlbaresFranceOnyama Limba NEW
Leon J FlosiCanadaIvan Magalhaes UNQUALIFIED
Faith K GlickAustraliaOnyama Limba NEGOTIATION
Munro M MacleadRussiaElwin Sharvill PROPOSAL
Greenwood Q RimItalyOnyama Limba NEW
Munro F WaycottItalyXuxue Feng NEGOTIATION
Sinclair U RulapaughSpainAnna Fali NEGOTIATION
Silvio R WieserUnited KingdomAmy Elsner RENEWAL
Darci O BowleyJapanXuxue Feng NEGOTIATION
Clifford Y AlbaresFranceAmy Elsner PROPOSAL
Wickens V BriddickSpainBernardo Dominic UNQUALIFIED
Rodrigues R GauchoItalyXuxue Feng NEGOTIATION
Frozen Columns
Name
Sinclair A Venere
Nicolas C Malet
James D Morasca
Maria E Garufi
Emily T Perin
Jefferson K Figeroa
Kaitlin S Caldarera
Claire X Glick
Mayumi N Caldarera
Murillo U Ostrosky
Darci T Sergi
Stacey N Bowley
Wickens F Tollner
Isabel R Bowley
Antonio Z Venere
Stacey Q Ruta
Cody O Slusarski
Morrow M Ostrosky
Chavez N Nestle
Greenwood Z Garufi
Murillo L Inouye
Jennifer L Poquette
Stacey Y Nicka
Wickens N Inouye
David J Bolognia
Leja G Venere
Chavez Y Campain
Izzy Q Dilliard
Munro S Royster
Stacey S Butt
Arvin J Bowley
Maria W Maclead
Ricardo W Malet
David K Chui
Jeanfrancois B Stenseth
Murillo V Stockham
Munro X Vocelka
James E Briddick
Arvin Y Bowley
Aika A Vocelka
Murillo Z Bolognia
Antonio G Inouye
Jeanfrancois S Stenseth
Faith Y Nicka
David X Shinko
Leja J Flosi
Deepesh Q Doe
Sinclair H Caudy
Costa I Inouye
Maria B Vocelka
IdCountryDate
1000Argentina2024-05-31
1001Canada2024-06-05
1002Australia2024-06-03
1003India2024-06-09
1004Japan2024-06-15
1005Germany2024-06-01
1006Canada2024-06-08
1007France2024-06-04
1008Brazil2024-05-26
1009Italy2024-06-18
1010France2024-06-24
1011Argentina2024-06-10
1012United Kingdom2024-06-17
1013Australia2024-06-07
1014Brazil2024-06-02
1015Russia2024-06-14
1016Canada2024-06-08
1017Argentina2024-06-09
1018India2024-06-09
1019Canada2024-05-31
1020Spain2024-06-11
1021United Kingdom2024-06-07
1022Russia2024-05-26
1023Australia2024-06-12
1024Canada2024-06-04
1025Argentina2024-06-23
1026Canada2024-06-15
1027Spain2024-06-01
1028India2024-06-17
1029India2024-06-10
1030Japan2024-06-15
1031Germany2024-05-31
1032Australia2024-06-02
1033Canada2024-06-16
1034Japan2024-06-03
1035Russia2024-05-26
1036Russia2024-06-04
1037France2024-06-18
1038Brazil2024-06-15
1039Brazil2024-06-22
1040Italy2024-06-24
1041Italy2024-06-18
1042India2024-05-31
1043United Kingdom2024-06-10
1044India2024-06-13
1045Brazil2024-06-17
1046Italy2024-05-26
1047Canada2024-06-11
1048Russia2024-06-06
1049France2024-05-26

On-Demand Data

NameIdCountryDate
Leja U Bowley1000France2024-05-28
Rodrigues I Morasca1001France2024-06-22
Leon G Nestle1002United Kingdom2024-06-21
Mayumi C Ruta1003Brazil2024-06-17
Leja D Foller1004Brazil2024-06-05
Costa E Vocelka1005India2024-06-19
Jennifer A Shinko1006Argentina2024-06-04
Faith E Albares1007Russia2024-06-01
Leja Z Sergi1008Japan2024-06-15
Greenwood X Poquette1009Spain2024-06-12
Antonio V Flosi1010Russia2024-06-11
Leja T Tollner1011Italy2024-05-30
Deepesh D Ferencz1012Spain2024-06-12
Faith D Wieser1013France2024-06-05
Darci M Stenseth1014Germany2024-05-27
Kaitlin O Doe1015Germany2024-06-01
Stacey Y Poquette1016France2024-06-16
Salvatore M Maclead1017Brazil2024-06-06
Claire E Kusko1018Australia2024-06-01
Salvatore V Campain1019Canada2024-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones C FlosiBrazilStephen Shaw UNQUALIFIED
Kadeem M WhobreyArgentinaIoni Bowcher UNQUALIFIED
Rodrigues X InouyeSpainBernardo Dominic PROPOSAL
Morrow D GillianRussiaAmy Elsner UNQUALIFIED
Arvin C RulapaughJapanAnna Fali UNQUALIFIED
Aruna S AmigonCanadaElwin Sharvill RENEWAL
Kadeem Z DilliardGermanyAnna Fali UNQUALIFIED
Aditya A StockhamFranceIvan Magalhaes UNQUALIFIED
Deepesh A BologniaIndiaXuxue Feng RENEWAL
Leja Z DoeJapanXuxue Feng UNQUALIFIED
Chavez R VocelkaRussiaAmy Elsner UNQUALIFIED
Smith T RimRussiaIoni Bowcher NEW
Misaki W WaycottGermanyAsiya Javayant RENEWAL
Tony I ButtSpainBernardo Dominic UNQUALIFIED
Misaki O MaletFranceStephen Shaw UNQUALIFIED
Aditya R DarakjyFranceAmy Elsner NEGOTIATION
Sinclair B SlusarskiFranceIoni Bowcher RENEWAL
Aruna X WaycottIndiaOnyama Limba NEW
Aruna M GillianGermanyStephen Shaw PROPOSAL
Aruna C DarakjyJapanElwin Sharvill QUALIFIED
Maria L GarufiItalyAsiya Javayant UNQUALIFIED
Mujtaba B WieserIndiaAsiya Javayant NEW
Aditya D FerenczSpainIoni Bowcher NEW
Claire K WaycottItalyIvan Magalhaes NEW
Leja S MorascaAustraliaXuxue Feng UNQUALIFIED
Johnson M SchemmerArgentinaXuxue Feng RENEWAL
Salvatore V BowleyAustraliaOnyama Limba QUALIFIED
Jones C CaudyFranceXuxue Feng NEGOTIATION
Arvin E WhobreyAustraliaElwin Sharvill NEW
Mayumi F IturbideFranceBernardo Dominic RENEWAL
Arvin D VocelkaArgentinaBernardo Dominic UNQUALIFIED
Darci W WhobreyUnited KingdomAmy Elsner PROPOSAL
Darci H CaudyRussiaElwin Sharvill PROPOSAL
Octavia J FlosiUnited KingdomElwin Sharvill QUALIFIED
Aditya K OldroydJapanIvan Magalhaes RENEWAL
Sinclair D NickaJapanAnna Fali QUALIFIED
Costa T PoquetteJapanBernardo Dominic PROPOSAL
Cody S NickaCanadaOnyama Limba QUALIFIED
Ricardo E WaycottArgentinaAsiya Javayant PROPOSAL
Morrow V SchemmerSpainIvan Magalhaes NEW

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