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 W GarufiCanadaAsiya Javayant RENEWAL
David M SaylorsSpainIoni Bowcher QUALIFIED
Deepesh D BologniaUnited KingdomElwin Sharvill QUALIFIED
James V PoquetteGermanyIoni Bowcher PROPOSAL
Wickens S MaletBrazilOnyama Limba PROPOSAL
Kaitlin I GauchoIndiaAnna Fali UNQUALIFIED
Isabel Z SchemmerCanadaStephen Shaw NEGOTIATION
Octavia Y ChuiUnited KingdomXuxue Feng QUALIFIED
Francesco D WaycottCanadaIoni Bowcher RENEWAL
Arvin M SergiRussiaAmy Elsner UNQUALIFIED
Octavia L SchemmerArgentinaIoni Bowcher NEW
Mayumi U PoquetteCanadaXuxue Feng UNQUALIFIED
Misaki B WieserArgentinaAnna Fali NEGOTIATION
Ivar K NestleIndiaElwin Sharvill PROPOSAL
Misaki Z InouyeGermanyBernardo Dominic NEW
Murillo P PoquetteBrazilStephen Shaw UNQUALIFIED
Morrow G PerinGermanyStephen Shaw UNQUALIFIED
Munro D RimItalyAnna Fali NEW
Francesco V KuskoCanadaAsiya Javayant RENEWAL
Mayumi I StensethUnited KingdomXuxue Feng RENEWAL
Leon K CampainItalyAsiya Javayant RENEWAL
Deepesh W ShinkoGermanyIoni Bowcher PROPOSAL
Juan Q ChuiJapanIvan Magalhaes RENEWAL
Ricardo S VenereFranceXuxue Feng NEW
Claire C FlosiArgentinaBernardo Dominic UNQUALIFIED
Smith E WieserAustraliaElwin Sharvill NEGOTIATION
Aditya O BowleySpainBernardo Dominic QUALIFIED
Claire N VenereRussiaBernardo Dominic PROPOSAL
Francesco J MaletIndiaAsiya Javayant NEGOTIATION
Nicolas G AlbaresUnited KingdomIoni Bowcher NEGOTIATION
Maria Z VenereItalyOnyama Limba NEGOTIATION
Smith I SaylorsSpainOnyama Limba QUALIFIED
Silvio A MarrierGermanyAnna Fali PROPOSAL
Rodrigues N DoeIndiaAmy Elsner PROPOSAL
Chavez M TollnerItalyIvan Magalhaes PROPOSAL
Munro T KuskoArgentinaBernardo Dominic NEGOTIATION
Emily Z TollnerIndiaAsiya Javayant PROPOSAL
Mujtaba Q SlusarskiCanadaBernardo Dominic NEGOTIATION
Maria T FlosiArgentinaXuxue Feng QUALIFIED
Murillo A PaprockiItalyAmy Elsner RENEWAL
Morrow K SchemmerUnited KingdomOnyama Limba RENEWAL
Ivar E FerenczItalyAmy Elsner PROPOSAL
Darci M FerenczJapanIoni Bowcher RENEWAL
Isabel T RoysterItalyBernardo Dominic RENEWAL
Misaki E BowleyFranceStephen Shaw NEGOTIATION
Munro T DilliardIndiaIvan Magalhaes RENEWAL
Alejandro H RimUnited KingdomElwin Sharvill PROPOSAL
Julie Y OldroydRussiaBernardo Dominic RENEWAL
Rodrigues K WieserFranceXuxue Feng RENEWAL
Isabel J ButtBrazilOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Julie M FerenczItalyAnna Fali NEW
Kaitlin S SlusarskiCanadaBernardo Dominic RENEWAL
Misaki I OldroydGermanyAsiya Javayant NEW
Silvio K CaudyCanadaElwin Sharvill PROPOSAL
Nicolas P PoquetteJapanIoni Bowcher RENEWAL
Johnson W MacleadItalyAmy Elsner QUALIFIED
Jefferson F SlusarskiGermanyIvan Magalhaes NEW
Ashley U ShinkoAustraliaElwin Sharvill PROPOSAL
Francesco N FlosiItalyIoni Bowcher NEW
Ricardo F MarrierRussiaXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Faith G KuskoIndia2025-05-28Chapman, Ross E Esq NEGOTIATION84Ivan Magalhaes
1001Faith T CaudyIndia2025-06-10Printing Dimensions RENEWAL30Anna Fali
1002Mayumi I OstroskyAustralia2025-05-22Morlong Associates UNQUALIFIED44Onyama Limba
1003Kadeem W DarakjyCanada2025-05-21Feiner Bros UNQUALIFIED65Xuxue Feng
1004Greenwood R VocelkaCanada2025-06-10Chapman, Ross E Esq PROPOSAL66Asiya Javayant
1005Julie C SchemmerUnited Kingdom2025-05-25Chemel, James L Cpa NEGOTIATION31Stephen Shaw
1006Izzy B KolmetzCanada2025-06-02Benton, John B Jr NEGOTIATION60Xuxue Feng
1007Arvin H TollnerArgentina2025-05-27King, Christopher A Esq NEGOTIATION56Anna Fali
1008Isabel B NestleAustralia2025-06-15Rousseaux, Michael Esq NEW85Xuxue Feng
1009Sinclair A DarakjyFrance2025-06-13Chapman, Ross E Esq NEW53Onyama Limba
1010Juan O CampainFrance2025-06-09Dorl, James J Esq RENEWAL74Anna Fali
1011Isabel E CaudyJapan2025-05-29Benton, John B Jr PROPOSAL59Stephen Shaw
1012Cody K ChuiGermany2025-05-27Rangoni Of Florence QUALIFIED37Bernardo Dominic
1013Salvatore E StensethIndia2025-05-30Rousseaux, Michael Esq QUALIFIED40Bernardo Dominic
1014Isabel H RutaArgentina2025-06-06Rangoni Of Florence RENEWAL23Stephen Shaw
1015David H MaletBrazil2025-05-18Dorl, James J Esq NEW19Ivan Magalhaes
1016Murillo C RimItaly2025-06-15Morlong Associates UNQUALIFIED71Ioni Bowcher
1017Deepesh O SchemmerSpain2025-06-07Feltz Printing Service NEGOTIATION57Ioni Bowcher
1018Alejandro C NickaArgentina2025-05-28King, Christopher A Esq QUALIFIED90Onyama Limba
1019Aika A OldroydSpain2025-05-19Rangoni Of Florence NEGOTIATION42Anna Fali
1020Aditya A SaylorsItaly2025-06-12Chapman, Ross E Esq PROPOSAL13Stephen Shaw
1021Maria M StockhamItaly2025-05-25Chapman, Ross E Esq NEGOTIATION7Asiya Javayant
1022Johnson C OstroskyRussia2025-06-11Commercial Press QUALIFIED99Anna Fali
1023Emily L FlosiCanada2025-06-10Feiner Bros NEGOTIATION98Ioni Bowcher
1024Alejandro I RulapaughIndia2025-06-01Feltz Printing Service PROPOSAL72Ioni Bowcher
1025Cody K StockhamGermany2025-05-19Chanay, Jeffrey A Esq RENEWAL12Bernardo Dominic
1026Stacey F FerenczGermany2025-06-02King, Christopher A Esq RENEWAL91Stephen Shaw
1027David C FerenczFrance2025-06-10Rousseaux, Michael Esq NEGOTIATION32Ivan Magalhaes
1028Leon H RoysterItaly2025-06-11Rangoni Of Florence QUALIFIED10Anna Fali
1029Maisha K MarrierFrance2025-05-20Morlong Associates PROPOSAL64Bernardo Dominic
1030Jeanfrancois W MarrierArgentina2025-06-07Printing Dimensions RENEWAL48Bernardo Dominic
1031Greenwood C MarrierAustralia2025-05-31Chapman, Ross E Esq NEW50Ioni Bowcher
1032Alejandro R BologniaAustralia2025-06-09Buckley Miller Wright NEW20Elwin Sharvill
1033Claire R KuskoFrance2025-06-11Feiner Bros NEW77Xuxue Feng
1034Izzy S VocelkaSpain2025-06-11Feiner Bros NEW71Bernardo Dominic
1035Clifford J DoeSpain2025-06-09Dorl, James J Esq NEW44Elwin Sharvill
1036Rodrigues T SergiJapan2025-05-25Benton, John B Jr RENEWAL9Anna Fali
1037Arvin X DoeGermany2025-05-30Printing Dimensions NEW68Elwin Sharvill
1038Aruna A AlbaresGermany2025-06-03Morlong Associates RENEWAL36Onyama Limba
1039Mayumi E KolmetzRussia2025-05-25Morlong Associates UNQUALIFIED81Amy Elsner
1040Izzy Y MarrierIndia2025-05-29Printing Dimensions NEGOTIATION88Onyama Limba
1041Cody X SergiJapan2025-06-11Chanay, Jeffrey A Esq NEW68Asiya Javayant
1042Greenwood D StockhamGermany2025-05-26Morlong Associates NEGOTIATION17Bernardo Dominic
1043Greenwood S GarufiBrazil2025-06-04Truhlar And Truhlar Attys RENEWAL60Ivan Magalhaes
1044Maria Y CampainArgentina2025-05-21King, Christopher A Esq QUALIFIED42Ioni Bowcher
1045Emily Z StockhamJapan2025-05-19Morlong Associates RENEWAL98Xuxue Feng
1046Wickens C ShinkoFrance2025-05-20Morlong Associates RENEWAL28Onyama Limba
1047Ivar R TollnerFrance2025-05-20Morlong Associates UNQUALIFIED7Bernardo Dominic
1048Wickens W AlbaresItaly2025-05-30Dorl, James J Esq PROPOSAL40Ivan Magalhaes
1049Kaitlin H FlosiJapan2025-05-30Morlong Associates NEW45Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Maisha H AmigonIndiaAsiya Javayant NEGOTIATION
Tony G MaletAustraliaIvan Magalhaes NEW
Ricardo H SlusarskiItalyAnna Fali NEGOTIATION
Jeanfrancois T AmigonBrazilBernardo Dominic RENEWAL
Ashley K VenereJapanIvan Magalhaes QUALIFIED
Ricardo V VocelkaFranceBernardo Dominic NEW
Smith B MacleadIndiaXuxue Feng PROPOSAL
Misaki A OldroydIndiaXuxue Feng UNQUALIFIED
Izzy Z AlbaresRussiaIoni Bowcher RENEWAL
Jennifer F MorascaAustraliaStephen Shaw PROPOSAL
Costa Y AmigonCanadaElwin Sharvill PROPOSAL
Silvio H KuskoItalyAnna Fali NEW
Adams C WhobreyCanadaIoni Bowcher PROPOSAL
Misaki B MorascaCanadaXuxue Feng UNQUALIFIED
Stacey S BologniaItalyIoni Bowcher QUALIFIED
Faith C OstroskyArgentinaAmy Elsner NEW
Misaki H RimBrazilElwin Sharvill RENEWAL
Ivar U WaycottGermanyBernardo Dominic NEGOTIATION
Misaki B NestleAustraliaAnna Fali QUALIFIED
Aruna V ShinkoArgentinaStephen Shaw UNQUALIFIED
Antonio J DarakjyJapanBernardo Dominic RENEWAL
Cody E KolmetzSpainIvan Magalhaes NEGOTIATION
Aruna I TollnerBrazilBernardo Dominic RENEWAL
Deepesh N CampainJapanXuxue Feng PROPOSAL
Claire X SaylorsIndiaOnyama Limba RENEWAL
Juan F IturbideFranceBernardo Dominic NEW
Johnson J PoquetteJapanBernardo Dominic PROPOSAL
Deepesh T KolmetzItalyStephen Shaw NEW
Deepesh Z BriddickGermanyIvan Magalhaes QUALIFIED
Costa T MaletGermanyAsiya Javayant NEW
Cody L RulapaughJapanStephen Shaw RENEWAL
Deepesh B VocelkaUnited KingdomBernardo Dominic UNQUALIFIED
Tony G RoysterGermanyAnna Fali UNQUALIFIED
Salvatore D RoysterBrazilAnna Fali RENEWAL
Arvin Y PaprockiArgentinaStephen Shaw RENEWAL
Morrow W ShinkoIndiaStephen Shaw QUALIFIED
Kadeem J VocelkaCanadaAsiya Javayant UNQUALIFIED
Nicolas I InouyeItalyAnna Fali RENEWAL
Isabel I TollnerAustraliaElwin Sharvill NEW
Juan G CaudyAustraliaBernardo Dominic PROPOSAL
Mayumi E VenereFranceBernardo Dominic QUALIFIED
Darci X InouyeUnited KingdomIvan Magalhaes RENEWAL
Maisha Q FigeroaItalyXuxue Feng RENEWAL
Leja S OldroydCanadaBernardo Dominic RENEWAL
Deepesh C SergiRussiaElwin Sharvill UNQUALIFIED
Maria W FollerCanadaElwin Sharvill RENEWAL
Ricardo S KolmetzCanadaIoni Bowcher UNQUALIFIED
Kadeem Y RimJapanXuxue Feng UNQUALIFIED
David P PerinSpainOnyama Limba NEW
Alejandro K PaprockiIndiaIoni Bowcher PROPOSAL
Frozen Columns
Name
Morrow C Bowley
Leon E Darakjy
Octavia C Briddick
James T Figeroa
Izzy P Garufi
Salvatore E Gillian
Salvatore Y Chui
Isabel S Ruta
Kadeem G Doe
Maisha D Maclead
Mujtaba I Doe
Mujtaba B Royster
Murillo E Rim
Adams X Oldroyd
Aika L Doe
Wickens R Glick
Adams R Campain
Aruna A Caudy
Cody B Marrier
Kaitlin D Caldarera
James D Briddick
Isabel B Poquette
Octavia D Tollner
James V Nestle
Leja E Maclead
Jones Z Whobrey
Morrow G Campain
Cody W Kolmetz
Kadeem T Gillian
Chavez B Wieser
Isabel Z Paprocki
Leon G Gaucho
Francesco Y Kolmetz
David A Oldroyd
Antonio U Venere
Silvio Z Bolognia
Tony V Morasca
Ricardo K Darakjy
Deepesh A Dilliard
Leja Q Figeroa
Costa L Gaucho
Deepesh K Rim
Chavez P Malet
Ricardo J Briddick
Jones S Malet
Tony K Stenseth
Emily V Albares
Maria H Malet
Aika U Perin
Claire A Figeroa
IdCountryDate
1000United Kingdom2025-06-08
1001India2025-06-14
1002Japan2025-06-03
1003Italy2025-05-28
1004Russia2025-06-08
1005France2025-06-13
1006Spain2025-06-02
1007Russia2025-05-17
1008France2025-05-30
1009Germany2025-05-20
1010Spain2025-05-20
1011Canada2025-06-10
1012Russia2025-06-01
1013France2025-05-18
1014Spain2025-06-15
1015Australia2025-05-24
1016Argentina2025-05-20
1017Japan2025-06-05
1018Germany2025-06-15
1019Germany2025-05-28
1020Spain2025-06-14
1021Russia2025-06-02
1022Japan2025-06-14
1023Australia2025-05-18
1024Brazil2025-06-05
1025Spain2025-05-24
1026United Kingdom2025-05-17
1027Argentina2025-05-20
1028Canada2025-06-01
1029Canada2025-06-06
1030Germany2025-06-05
1031Russia2025-05-23
1032Spain2025-06-13
1033France2025-05-24
1034United Kingdom2025-05-27
1035Australia2025-05-30
1036France2025-06-03
1037Spain2025-05-23
1038Australia2025-05-22
1039Australia2025-06-15
1040Russia2025-05-25
1041Spain2025-06-14
1042Japan2025-05-21
1043Spain2025-05-22
1044Italy2025-06-03
1045Brazil2025-05-27
1046Spain2025-05-21
1047India2025-06-05
1048Russia2025-06-06
1049United Kingdom2025-05-22

On-Demand Data

NameIdCountryDate
Arvin X Kolmetz1000Australia2025-06-06
Aika B Gaucho1001Germany2025-06-01
David Q Ferencz1002India2025-05-19
David X Kusko1003Spain2025-05-29
Maisha Y Vocelka1004Russia2025-06-05
Clifford P Tollner1005India2025-06-01
David H Slusarski1006Russia2025-06-01
Juan U Maclead1007Japan2025-06-07
Ricardo Q Slusarski1008Japan2025-05-28
Aruna S Slusarski1009Argentina2025-06-06
Ricardo H Caudy1010Argentina2025-05-20
Ricardo C Kolmetz1011India2025-05-24
Ivar T Morasca1012Germany2025-05-31
Stacey K Rim1013Spain2025-06-05
Leon X Glick1014Russia2025-06-07
Faith P Whobrey1015France2025-05-26
Clifford N Butt1016Italy2025-06-03
Mujtaba Q Wieser1017Spain2025-06-10
Faith H Briddick1018Germany2025-05-22
Clifford Y Caldarera1019Japan2025-05-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey S PaprockiArgentinaStephen Shaw UNQUALIFIED
Wickens Z StockhamGermanyStephen Shaw NEW
Claire R DilliardIndiaIvan Magalhaes UNQUALIFIED
Murillo I FlosiBrazilAsiya Javayant QUALIFIED
Morrow R FlosiUnited KingdomIvan Magalhaes QUALIFIED
Antonio H WieserRussiaStephen Shaw QUALIFIED
Nicolas A SlusarskiBrazilAnna Fali UNQUALIFIED
Misaki X VocelkaRussiaBernardo Dominic UNQUALIFIED
Nicolas V FlosiCanadaOnyama Limba RENEWAL
Ivar Z CampainUnited KingdomBernardo Dominic PROPOSAL
Octavia J GillianJapanElwin Sharvill PROPOSAL
Arvin B RutaCanadaIvan Magalhaes NEW
Ivar E VocelkaAustraliaAnna Fali RENEWAL
Murillo P BologniaRussiaXuxue Feng UNQUALIFIED
Clifford Y MacleadCanadaBernardo Dominic PROPOSAL
Ashley S GlickIndiaAnna Fali PROPOSAL
Claire M CaldareraIndiaOnyama Limba QUALIFIED
Aruna H WaycottAustraliaBernardo Dominic RENEWAL
Faith W DoeArgentinaBernardo Dominic QUALIFIED
Clifford T SergiArgentinaAsiya Javayant NEW
Smith A WieserRussiaIvan Magalhaes NEGOTIATION
Murillo U WaycottArgentinaStephen Shaw PROPOSAL
Nicolas Z BriddickBrazilOnyama Limba UNQUALIFIED
Silvio T SchemmerJapanAmy Elsner UNQUALIFIED
Maisha N CaldareraRussiaIoni Bowcher NEW
Octavia W SchemmerAustraliaElwin Sharvill RENEWAL
Isabel W BologniaBrazilOnyama Limba NEW
Jeanfrancois O FigeroaIndiaElwin Sharvill NEW
Misaki G CaldareraSpainElwin Sharvill RENEWAL
Maisha M SlusarskiRussiaIoni Bowcher QUALIFIED
David K CaldareraJapanElwin Sharvill PROPOSAL
Munro V WhobreyGermanyIoni Bowcher QUALIFIED
Arvin O MorascaGermanyOnyama Limba RENEWAL
Kadeem A SergiUnited KingdomStephen Shaw RENEWAL
Costa D ChuiGermanyStephen Shaw QUALIFIED
Cody L CampainCanadaOnyama Limba NEW
Arvin L FerenczGermanyOnyama Limba UNQUALIFIED
Maria N FerenczRussiaElwin Sharvill UNQUALIFIED
Wickens P DoeArgentinaStephen Shaw UNQUALIFIED
Claire H MarrierAustraliaAnna Fali NEGOTIATION

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