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
Smith G WhobreyRussiaOnyama Limba UNQUALIFIED
Claire E MaletIndiaOnyama Limba PROPOSAL
Leon H WaycottGermanyAnna Fali RENEWAL
James U FerenczItalyAsiya Javayant RENEWAL
Chavez E PaprockiArgentinaIoni Bowcher RENEWAL
Chavez D KuskoBrazilBernardo Dominic PROPOSAL
Jefferson N RulapaughFranceStephen Shaw RENEWAL
Mujtaba X PerinUnited KingdomAmy Elsner UNQUALIFIED
Chavez T IturbideUnited KingdomElwin Sharvill NEGOTIATION
Aika Z MacleadItalyStephen Shaw NEW
Chavez A RoysterIndiaIoni Bowcher NEGOTIATION
Jeanfrancois X NickaIndiaAnna Fali UNQUALIFIED
Costa G WhobreyItalyIoni Bowcher UNQUALIFIED
Aditya D TollnerBrazilAnna Fali QUALIFIED
Adams T KuskoUnited KingdomXuxue Feng QUALIFIED
Ivar N AmigonAustraliaBernardo Dominic PROPOSAL
Greenwood W GlickJapanAsiya Javayant QUALIFIED
Ashley W MorascaSpainIvan Magalhaes NEW
Adams E KolmetzCanadaAsiya Javayant UNQUALIFIED
Stacey I DarakjyItalyOnyama Limba RENEWAL
Chavez C OldroydAustraliaOnyama Limba RENEWAL
Kaitlin B RutaAustraliaBernardo Dominic PROPOSAL
Aika H FerenczIndiaOnyama Limba RENEWAL
Ivar A FlosiGermanyStephen Shaw RENEWAL
Maria U VocelkaAustraliaIoni Bowcher RENEWAL
Deepesh G NestleFranceStephen Shaw NEGOTIATION
Smith F CampainSpainBernardo Dominic NEW
Silvio D StensethIndiaAmy Elsner UNQUALIFIED
James C SergiArgentinaIvan Magalhaes NEGOTIATION
Misaki J FollerSpainOnyama Limba RENEWAL
Alejandro D KuskoFranceXuxue Feng UNQUALIFIED
Maria H GlickIndiaAmy Elsner NEGOTIATION
Chavez A NestleUnited KingdomAsiya Javayant NEGOTIATION
Silvio Q ShinkoArgentinaBernardo Dominic PROPOSAL
Izzy C WaycottCanadaIvan Magalhaes PROPOSAL
Ashley D BologniaSpainOnyama Limba QUALIFIED
Greenwood A MacleadCanadaOnyama Limba QUALIFIED
Stacey Z ShinkoRussiaBernardo Dominic UNQUALIFIED
Mayumi A WaycottIndiaAsiya Javayant NEGOTIATION
Mayumi Y MaletJapanAmy Elsner QUALIFIED
Faith N WieserArgentinaIoni Bowcher PROPOSAL
Isabel H SlusarskiItalyAsiya Javayant QUALIFIED
Sinclair P WaycottAustraliaIvan Magalhaes UNQUALIFIED
Leja F MaletArgentinaAsiya Javayant RENEWAL
Ashley T StockhamBrazilAmy Elsner NEW
Greenwood P CampainJapanXuxue Feng NEGOTIATION
Silvio Q ShinkoCanadaElwin Sharvill RENEWAL
Costa B BologniaSpainBernardo Dominic NEW
Smith Q VocelkaGermanyOnyama Limba NEGOTIATION
Leja G MarrierCanadaIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Aruna P CaudyUnited KingdomAnna Fali QUALIFIED
Silvio D WhobreyItalyXuxue Feng NEGOTIATION
Isabel B RimSpainOnyama Limba QUALIFIED
Alejandro X ButtAustraliaOnyama Limba UNQUALIFIED
Murillo X RimIndiaStephen Shaw NEGOTIATION
Arvin Y GillianRussiaElwin Sharvill NEW
Adams R PerinFranceStephen Shaw QUALIFIED
Stacey C KuskoArgentinaAmy Elsner PROPOSAL
Emily O WaycottArgentinaIvan Magalhaes NEGOTIATION
Johnson O FlosiGermanyBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Chavez Y DoeAustralia2024-05-02Rousseaux, Michael Esq RENEWAL38Ivan Magalhaes
1001Ivar U FigeroaUnited Kingdom2024-05-19Feiner Bros PROPOSAL53Xuxue Feng
1002Stacey B AmigonArgentina2024-05-05Buckley Miller Wright NEW78Ivan Magalhaes
1003Jefferson K RoysterItaly2024-05-19Feltz Printing Service NEGOTIATION71Onyama Limba
1004Costa V VenereRussia2024-05-05Chemel, James L Cpa NEW89Onyama Limba
1005Francesco S DarakjyGermany2024-05-07Chemel, James L Cpa NEW33Xuxue Feng
1006Stacey M SergiCanada2024-05-13Truhlar And Truhlar Attys UNQUALIFIED99Ioni Bowcher
1007Jeanfrancois X AlbaresGermany2024-04-28Rangoni Of Florence NEW40Asiya Javayant
1008Rodrigues W GillianAustralia2024-05-22Chanay, Jeffrey A Esq RENEWAL86Onyama Limba
1009Johnson V KolmetzAustralia2024-05-01Buckley Miller Wright NEW22Amy Elsner
1010Leon L MarrierSpain2024-05-12Rangoni Of Florence QUALIFIED81Amy Elsner
1011Greenwood T DilliardArgentina2024-05-11Commercial Press PROPOSAL73Ivan Magalhaes
1012Smith W VocelkaGermany2024-05-16Chapman, Ross E Esq QUALIFIED32Onyama Limba
1013Greenwood K GillianFrance2024-04-28Rangoni Of Florence PROPOSAL4Ivan Magalhaes
1014Costa F SchemmerCanada2024-05-14Truhlar And Truhlar Attys PROPOSAL27Elwin Sharvill
1015Chavez Z KuskoItaly2024-05-03Feiner Bros NEGOTIATION23Bernardo Dominic
1016Alejandro M FerenczBrazil2024-05-08Rousseaux, Michael Esq NEGOTIATION12Onyama Limba
1017Mujtaba Y KolmetzCanada2024-05-13Benton, John B Jr RENEWAL68Xuxue Feng
1018Leon T SlusarskiFrance2024-05-10Feltz Printing Service QUALIFIED45Stephen Shaw
1019Alejandro D DarakjyFrance2024-05-16Printing Dimensions NEW89Onyama Limba
1020Sinclair H AlbaresBrazil2024-05-27Printing Dimensions UNQUALIFIED33Ivan Magalhaes
1021Octavia U BriddickSpain2024-05-08Feltz Printing Service QUALIFIED85Ivan Magalhaes
1022Tony X GauchoCanada2024-05-27Commercial Press PROPOSAL69Stephen Shaw
1023Costa Y MorascaItaly2024-05-22Truhlar And Truhlar Attys NEGOTIATION33Xuxue Feng
1024Wickens V IturbideFrance2024-05-04Commercial Press NEGOTIATION94Ivan Magalhaes
1025Jennifer W VocelkaJapan2024-05-07Chapman, Ross E Esq PROPOSAL6Elwin Sharvill
1026Stacey V NestleFrance2024-05-25Chanay, Jeffrey A Esq QUALIFIED74Xuxue Feng
1027Maria X DilliardFrance2024-05-02Feltz Printing Service UNQUALIFIED28Xuxue Feng
1028Smith P RulapaughIndia2024-05-10Feltz Printing Service RENEWAL26Onyama Limba
1029Mujtaba G TollnerSpain2024-05-17Rousseaux, Michael Esq RENEWAL96Xuxue Feng
1030Greenwood T OstroskyAustralia2024-05-19Feltz Printing Service QUALIFIED85Onyama Limba
1031Darci O FollerItaly2024-05-01Feltz Printing Service QUALIFIED84Asiya Javayant
1032Faith M StockhamCanada2024-05-16Morlong Associates PROPOSAL36Anna Fali
1033Greenwood L RulapaughIndia2024-05-07Commercial Press PROPOSAL8Ivan Magalhaes
1034James L MaletArgentina2024-05-21Chanay, Jeffrey A Esq PROPOSAL24Onyama Limba
1035Antonio U BowleyAustralia2024-05-03Chemel, James L Cpa PROPOSAL35Bernardo Dominic
1036Claire B VenereIndia2024-05-13Chapman, Ross E Esq NEW30Stephen Shaw
1037Leon R GauchoCanada2024-05-13Feltz Printing Service NEGOTIATION43Bernardo Dominic
1038Costa M RulapaughFrance2024-05-06Morlong Associates UNQUALIFIED41Asiya Javayant
1039Faith B NestleSpain2024-05-26Chapman, Ross E Esq NEGOTIATION14Anna Fali
1040Jeanfrancois J ChuiFrance2024-05-15Rangoni Of Florence PROPOSAL76Bernardo Dominic
1041Darci A CaldareraGermany2024-05-06King, Christopher A Esq QUALIFIED53Elwin Sharvill
1042Salvatore W InouyeRussia2024-05-12Truhlar And Truhlar Attys RENEWAL91Stephen Shaw
1043Darci U CampainArgentina2024-05-12Feiner Bros PROPOSAL30Stephen Shaw
1044Leon I CampainRussia2024-04-30Dorl, James J Esq NEGOTIATION75Elwin Sharvill
1045Ricardo F PaprockiAustralia2024-04-29Benton, John B Jr PROPOSAL4Bernardo Dominic
1046Juan A RutaAustralia2024-05-18Benton, John B Jr NEGOTIATION84Onyama Limba
1047Antonio R PoquetteAustralia2024-04-30Truhlar And Truhlar Attys NEW12Ivan Magalhaes
1048Chavez I BologniaJapan2024-05-25Chemel, James L Cpa NEW16Onyama Limba
1049Munro T StockhamBrazil2024-05-19Rangoni Of Florence NEGOTIATION79Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Misaki Z StockhamGermanyIoni Bowcher QUALIFIED
Wickens B PaprockiUnited KingdomIvan Magalhaes RENEWAL
Maisha P MaletSpainBernardo Dominic PROPOSAL
Deepesh H IturbideRussiaIvan Magalhaes RENEWAL
Aika Z MorascaIndiaElwin Sharvill RENEWAL
Julie I AlbaresBrazilXuxue Feng NEW
Chavez H InouyeAustraliaXuxue Feng QUALIFIED
Jones I ButtUnited KingdomAnna Fali NEGOTIATION
Chavez C FerenczSpainAsiya Javayant RENEWAL
Cody W PaprockiArgentinaIoni Bowcher UNQUALIFIED
Arvin S MacleadBrazilBernardo Dominic RENEWAL
Jennifer G ButtSpainAsiya Javayant RENEWAL
Murillo D InouyeUnited KingdomAnna Fali UNQUALIFIED
Johnson K RulapaughRussiaStephen Shaw NEW
Ivar X MaletArgentinaOnyama Limba UNQUALIFIED
Emily P BologniaFranceOnyama Limba UNQUALIFIED
Cody C StensethIndiaXuxue Feng NEGOTIATION
Jefferson G ChuiSpainAnna Fali QUALIFIED
Aruna B KolmetzItalyAnna Fali RENEWAL
Darci W RimBrazilElwin Sharvill PROPOSAL
Octavia C FlosiAustraliaAnna Fali RENEWAL
Jennifer G ShinkoBrazilIoni Bowcher NEW
Jefferson U TollnerFranceAsiya Javayant RENEWAL
Rodrigues K AlbaresJapanAmy Elsner UNQUALIFIED
Cody U SlusarskiBrazilIvan Magalhaes NEGOTIATION
Kadeem X OldroydRussiaIvan Magalhaes PROPOSAL
Jennifer C CaldareraAustraliaOnyama Limba QUALIFIED
Juan X MacleadItalyIvan Magalhaes RENEWAL
Kaitlin P WieserAustraliaOnyama Limba PROPOSAL
Johnson V StensethGermanyIoni Bowcher NEGOTIATION
Mujtaba W DarakjyUnited KingdomAmy Elsner NEW
Kaitlin X ButtFranceBernardo Dominic QUALIFIED
Jones F CaldareraItalyAmy Elsner NEW
Leja S AlbaresGermanyStephen Shaw PROPOSAL
Aika X WieserArgentinaElwin Sharvill UNQUALIFIED
Wickens G CaudyJapanXuxue Feng QUALIFIED
Ivar R NestleUnited KingdomIoni Bowcher NEGOTIATION
Isabel P ShinkoItalyAnna Fali RENEWAL
Leja L AmigonItalyIvan Magalhaes PROPOSAL
Aditya V GauchoIndiaElwin Sharvill NEW
Darci B ShinkoBrazilXuxue Feng NEGOTIATION
Smith G SaylorsCanadaStephen Shaw PROPOSAL
Jones F StockhamIndiaElwin Sharvill QUALIFIED
Ricardo U DarakjyJapanOnyama Limba RENEWAL
Jones D NestleCanadaIvan Magalhaes UNQUALIFIED
Leja Q DoeIndiaAnna Fali UNQUALIFIED
Antonio J MacleadJapanBernardo Dominic NEW
Munro P ChuiFranceOnyama Limba NEW
Rodrigues L GillianIndiaElwin Sharvill UNQUALIFIED
Jones Q SergiAustraliaIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Aruna H Oldroyd
Julie W Wieser
Silvio M Oldroyd
Salvatore N Royster
Jefferson L Vocelka
Kaitlin U Caudy
Aditya M Gillian
Wickens C Amigon
David T Doe
James K Malet
Johnson H Glick
Maisha J Ostrosky
Darci M Stenseth
Jeanfrancois I Figeroa
Munro E Malet
Maria C Morasca
Stacey Y Whobrey
Antonio S Sergi
Leja A Dilliard
Costa V Marrier
Isabel M Royster
Deepesh H Morasca
Leja N Garufi
Izzy X Malet
Johnson N Nicka
Misaki R Ostrosky
Julie D Ruta
Smith Y Wieser
Ashley G Malet
Adams C Maclead
Ricardo X Shinko
Claire K Stockham
Tony K Campain
Wickens B Caldarera
Antonio G Bolognia
Juan Z Rim
Chavez W Glick
Johnson V Albares
Tony F Garufi
Jeanfrancois F Figeroa
Jennifer M Kolmetz
Murillo I Rulapaugh
Misaki V Maclead
Kadeem L Perin
Smith K Rim
David D Bolognia
Alejandro P Ferencz
Leon X Amigon
Clifford Q Wieser
Darci M Caldarera
IdCountryDate
1000Germany2024-05-04
1001Brazil2024-05-20
1002Japan2024-05-06
1003Canada2024-05-06
1004Japan2024-05-17
1005Brazil2024-05-12
1006United Kingdom2024-05-25
1007Russia2024-05-27
1008Argentina2024-05-26
1009Germany2024-05-27
1010Japan2024-04-30
1011Brazil2024-05-13
1012Germany2024-04-29
1013France2024-05-25
1014Canada2024-05-21
1015Brazil2024-05-01
1016Canada2024-05-01
1017United Kingdom2024-05-16
1018Germany2024-05-20
1019Canada2024-05-05
1020Japan2024-05-03
1021India2024-04-30
1022Canada2024-05-07
1023Japan2024-05-27
1024France2024-05-08
1025Russia2024-05-19
1026Japan2024-05-19
1027Russia2024-04-29
1028Spain2024-05-18
1029Canada2024-05-05
1030Japan2024-05-19
1031Italy2024-05-26
1032Australia2024-04-29
1033Canada2024-05-17
1034Spain2024-05-14
1035United Kingdom2024-05-22
1036Japan2024-05-18
1037France2024-05-09
1038Australia2024-05-08
1039Spain2024-05-24
1040Germany2024-05-22
1041United Kingdom2024-05-24
1042United Kingdom2024-05-01
1043Italy2024-05-02
1044France2024-05-11
1045Japan2024-05-16
1046France2024-05-07
1047Canada2024-05-14
1048France2024-05-12
1049Russia2024-05-27

On-Demand Data

NameIdCountryDate
Clifford Y Amigon1000India2024-05-10
Jeanfrancois G Chui1001Spain2024-05-05
Wickens J Wieser1002United Kingdom2024-05-08
Costa Y Inouye1003Australia2024-05-22
Murillo C Caldarera1004France2024-04-30
Jefferson V Ostrosky1005United Kingdom2024-04-29
Tony I Vocelka1006Russia2024-05-14
Silvio P Wieser1007France2024-05-09
David Q Campain1008Brazil2024-05-08
Chavez Y Doe1009India2024-05-17
Julie I Glick1010Australia2024-05-19
Mayumi J Stockham1011Japan2024-05-05
Julie K Ostrosky1012Canada2024-05-10
Clifford Y Stockham1013Argentina2024-05-06
Deepesh Q Malet1014Germany2024-04-28
Ashley S Marrier1015Canada2024-05-04
Aruna G Rim1016Spain2024-05-10
Sinclair J Tollner1017France2024-04-28
Costa T Perin1018Italy2024-05-26
Antonio N Paprocki1019Brazil2024-05-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David X DarakjyIndiaAsiya Javayant NEW
Julie V RulapaughUnited KingdomStephen Shaw QUALIFIED
Chavez K WaycottSpainAnna Fali UNQUALIFIED
Alejandro P DilliardIndiaBernardo Dominic UNQUALIFIED
Mayumi C DarakjyAustraliaIvan Magalhaes RENEWAL
Aruna Q BologniaIndiaAmy Elsner NEW
Mujtaba H PerinBrazilElwin Sharvill UNQUALIFIED
Antonio W GlickSpainIvan Magalhaes QUALIFIED
Claire K WieserBrazilIvan Magalhaes NEGOTIATION
Aditya M VocelkaBrazilXuxue Feng RENEWAL
Ricardo C MacleadCanadaAnna Fali NEGOTIATION
Silvio G TollnerBrazilOnyama Limba NEGOTIATION
Rodrigues B SchemmerGermanyElwin Sharvill QUALIFIED
Tony E FerenczUnited KingdomOnyama Limba PROPOSAL
Salvatore F PaprockiBrazilAsiya Javayant UNQUALIFIED
Misaki C KuskoJapanAsiya Javayant RENEWAL
Kaitlin L DilliardFranceXuxue Feng RENEWAL
Murillo L VocelkaUnited KingdomXuxue Feng QUALIFIED
Ivar D DarakjyJapanIoni Bowcher RENEWAL
Claire R IturbideCanadaIvan Magalhaes PROPOSAL
Arvin X FlosiGermanyIoni Bowcher NEGOTIATION
Deepesh N SlusarskiItalyAsiya Javayant NEW
Julie W IturbideItalyBernardo Dominic UNQUALIFIED
Stacey H GlickCanadaBernardo Dominic QUALIFIED
Wickens X StockhamJapanAnna Fali UNQUALIFIED
Leja L RoysterRussiaAsiya Javayant PROPOSAL
Chavez Q MarrierItalyOnyama Limba PROPOSAL
Julie S PoquetteArgentinaAnna Fali RENEWAL
Claire D WhobreyGermanyIvan Magalhaes UNQUALIFIED
Julie H RulapaughItalyBernardo Dominic UNQUALIFIED
Misaki S GauchoGermanyIvan Magalhaes RENEWAL
Alejandro I CampainAustraliaElwin Sharvill NEW
Salvatore Q RutaGermanyXuxue Feng NEW
Costa A ButtAustraliaStephen Shaw NEW
Maria D OldroydGermanyIvan Magalhaes NEGOTIATION
Tony B PerinRussiaStephen Shaw UNQUALIFIED
Costa O OstroskyRussiaAsiya Javayant QUALIFIED
Sinclair W FerenczIndiaIoni Bowcher PROPOSAL
Antonio S SaylorsJapanIoni Bowcher QUALIFIED
Stacey D GlickSpainElwin Sharvill 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>