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
Ivar D WaycottSpainBernardo Dominic NEW
Jefferson F FerenczIndiaAnna Fali NEGOTIATION
Francesco B ShinkoJapanIvan Magalhaes RENEWAL
Darci L VocelkaFranceBernardo Dominic RENEWAL
Maria G DoeSpainXuxue Feng RENEWAL
Francesco S BowleyGermanyAsiya Javayant NEGOTIATION
Maria M StensethAustraliaIvan Magalhaes PROPOSAL
Stacey D BologniaIndiaAsiya Javayant PROPOSAL
Adams H BowleyGermanyAmy Elsner UNQUALIFIED
Ricardo F DilliardUnited KingdomIvan Magalhaes RENEWAL
Deepesh A CampainFranceIvan Magalhaes UNQUALIFIED
Jones P NestleFranceIoni Bowcher QUALIFIED
Jones L SlusarskiItalyOnyama Limba NEW
Ashley H BriddickCanadaElwin Sharvill QUALIFIED
Ivar B PaprockiArgentinaIvan Magalhaes RENEWAL
Smith V KuskoCanadaOnyama Limba PROPOSAL
Darci Y PoquetteItalyAsiya Javayant NEW
Arvin B GarufiSpainElwin Sharvill NEW
Rodrigues H SlusarskiIndiaAmy Elsner RENEWAL
Aruna D ButtGermanyOnyama Limba NEW
Silvio E StockhamBrazilAnna Fali PROPOSAL
Jones S GillianAustraliaAnna Fali PROPOSAL
Antonio X KuskoUnited KingdomOnyama Limba QUALIFIED
Octavia W SaylorsCanadaOnyama Limba NEGOTIATION
Nicolas N OstroskyUnited KingdomAmy Elsner UNQUALIFIED
Smith Z ShinkoFranceElwin Sharvill QUALIFIED
Wickens V GlickFranceStephen Shaw NEGOTIATION
Misaki V StensethFranceOnyama Limba RENEWAL
Chavez F KolmetzFranceElwin Sharvill PROPOSAL
Jones S ShinkoCanadaBernardo Dominic QUALIFIED
Murillo R MarrierRussiaXuxue Feng NEGOTIATION
Greenwood C WieserFranceIoni Bowcher QUALIFIED
Costa T OstroskyGermanyAnna Fali NEW
David I RimJapanOnyama Limba NEGOTIATION
Johnson X SchemmerGermanyStephen Shaw QUALIFIED
Costa R OldroydArgentinaStephen Shaw QUALIFIED
Jeanfrancois C RimAustraliaAsiya Javayant NEW
Wickens Y ChuiRussiaAnna Fali NEW
Claire I FollerArgentinaAsiya Javayant UNQUALIFIED
Ricardo B VocelkaIndiaStephen Shaw UNQUALIFIED
Kaitlin R IturbideItalyAsiya Javayant QUALIFIED
Aditya U SergiFranceAsiya Javayant RENEWAL
Costa A SchemmerJapanStephen Shaw NEW
Kadeem I FlosiUnited KingdomAnna Fali QUALIFIED
Misaki S KuskoArgentinaElwin Sharvill NEW
Misaki V DilliardCanadaBernardo Dominic NEGOTIATION
Deepesh N MarrierAustraliaIvan Magalhaes UNQUALIFIED
Misaki W MaletUnited KingdomOnyama Limba NEGOTIATION
Jennifer N DarakjyFranceAnna Fali QUALIFIED
Cody U BowleyRussiaXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Adams F SergiBrazilIoni Bowcher NEGOTIATION
Deepesh N BologniaIndiaXuxue Feng NEGOTIATION
Cody D GillianRussiaOnyama Limba NEW
Misaki Q StockhamArgentinaIvan Magalhaes NEGOTIATION
Mujtaba N DilliardRussiaIvan Magalhaes UNQUALIFIED
Mayumi J SaylorsFranceOnyama Limba PROPOSAL
Emily K MacleadSpainAsiya Javayant NEGOTIATION
Isabel R WaycottJapanIoni Bowcher NEW
Nicolas S GillianGermanyXuxue Feng NEW
Octavia L TollnerJapanAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson Y BowleyFrance2024-05-24Feiner Bros RENEWAL22Stephen Shaw
1001Jones V SergiFrance2024-06-05Truhlar And Truhlar Attys PROPOSAL26Elwin Sharvill
1002Mujtaba Q KolmetzIndia2024-05-26Dorl, James J Esq NEW82Elwin Sharvill
1003Aruna E KuskoCanada2024-05-28King, Christopher A Esq PROPOSAL55Onyama Limba
1004Jeanfrancois O ButtArgentina2024-05-25Truhlar And Truhlar Attys PROPOSAL18Ioni Bowcher
1005David C InouyeArgentina2024-06-22Chapman, Ross E Esq RENEWAL85Ivan Magalhaes
1006Izzy H FerenczJapan2024-06-13Printing Dimensions NEW87Asiya Javayant
1007Wickens E ShinkoItaly2024-06-22Commercial Press UNQUALIFIED21Anna Fali
1008Juan U KolmetzGermany2024-06-20Dorl, James J Esq NEW56Bernardo Dominic
1009Costa V StockhamFrance2024-05-31King, Christopher A Esq PROPOSAL49Bernardo Dominic
1010Smith P ChuiCanada2024-05-29Chanay, Jeffrey A Esq QUALIFIED14Ioni Bowcher
1011Morrow D DoeArgentina2024-05-24Truhlar And Truhlar Attys PROPOSAL57Ioni Bowcher
1012Chavez R BriddickBrazil2024-06-21Feiner Bros QUALIFIED86Bernardo Dominic
1013Maisha H DarakjyRussia2024-06-12Rousseaux, Michael Esq PROPOSAL48Asiya Javayant
1014Kadeem M PoquetteArgentina2024-05-24Feiner Bros NEGOTIATION70Asiya Javayant
1015Jefferson L AmigonAustralia2024-05-29Feiner Bros QUALIFIED3Xuxue Feng
1016Ivar L PoquetteSpain2024-06-02Morlong Associates RENEWAL86Stephen Shaw
1017Misaki P CampainBrazil2024-05-30Feiner Bros UNQUALIFIED79Onyama Limba
1018David P OstroskyCanada2024-06-08Chanay, Jeffrey A Esq NEW45Bernardo Dominic
1019Silvio A WaycottItaly2024-06-11Commercial Press UNQUALIFIED46Xuxue Feng
1020Jefferson U BriddickAustralia2024-06-10Feiner Bros QUALIFIED26Elwin Sharvill
1021Arvin D CampainFrance2024-06-21King, Christopher A Esq UNQUALIFIED18Stephen Shaw
1022Claire Q MorascaSpain2024-06-03Chemel, James L Cpa UNQUALIFIED37Elwin Sharvill
1023Faith U PaprockiIndia2024-06-05Feltz Printing Service RENEWAL41Ivan Magalhaes
1024Kadeem Q CampainSpain2024-05-27Buckley Miller Wright NEGOTIATION9Xuxue Feng
1025Ricardo H GarufiAustralia2024-05-27Chemel, James L Cpa PROPOSAL86Stephen Shaw
1026Izzy R WieserItaly2024-06-14Printing Dimensions PROPOSAL18Ivan Magalhaes
1027Deepesh Z GarufiAustralia2024-06-10Truhlar And Truhlar Attys NEW81Xuxue Feng
1028Deepesh X WaycottSpain2024-05-30Chapman, Ross E Esq UNQUALIFIED76Stephen Shaw
1029Nicolas K DilliardFrance2024-06-05Chanay, Jeffrey A Esq NEW17Ioni Bowcher
1030Nicolas Z DarakjyGermany2024-05-28King, Christopher A Esq NEGOTIATION46Bernardo Dominic
1031Aruna F RulapaughItaly2024-05-29Dorl, James J Esq NEGOTIATION32Xuxue Feng
1032Wickens X PaprockiRussia2024-06-20Commercial Press QUALIFIED98Bernardo Dominic
1033Leja S KolmetzUnited Kingdom2024-06-04Feiner Bros PROPOSAL41Ivan Magalhaes
1034Arvin V InouyeSpain2024-06-11Chapman, Ross E Esq NEGOTIATION0Ivan Magalhaes
1035Jefferson Q BriddickSpain2024-06-20Chemel, James L Cpa QUALIFIED59Stephen Shaw
1036Chavez F GarufiIndia2024-06-11Rousseaux, Michael Esq PROPOSAL28Bernardo Dominic
1037James U SchemmerBrazil2024-06-11Printing Dimensions NEGOTIATION40Asiya Javayant
1038Clifford M PoquetteUnited Kingdom2024-06-06Benton, John B Jr QUALIFIED49Ivan Magalhaes
1039Chavez X GarufiIndia2024-05-26Buckley Miller Wright QUALIFIED4Stephen Shaw
1040Jeanfrancois W WieserIndia2024-06-14Chemel, James L Cpa PROPOSAL67Ivan Magalhaes
1041Costa X KuskoFrance2024-06-05Chemel, James L Cpa NEW28Xuxue Feng
1042Aika O DoeIndia2024-06-19Benton, John B Jr RENEWAL83Amy Elsner
1043Isabel U RulapaughArgentina2024-06-04Rousseaux, Michael Esq QUALIFIED25Stephen Shaw
1044Ivar G DarakjyFrance2024-06-03Chanay, Jeffrey A Esq UNQUALIFIED70Xuxue Feng
1045Jeanfrancois W BriddickBrazil2024-06-05Feltz Printing Service NEW15Ivan Magalhaes
1046Kaitlin E DarakjyRussia2024-06-06Rangoni Of Florence RENEWAL96Elwin Sharvill
1047Smith I NestleCanada2024-06-04Printing Dimensions QUALIFIED81Stephen Shaw
1048Chavez E NestleCanada2024-05-25Feltz Printing Service NEGOTIATION33Elwin Sharvill
1049Kaitlin V OldroydItaly2024-06-12Truhlar And Truhlar Attys NEGOTIATION31Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Salvatore K RulapaughGermanyAmy Elsner QUALIFIED
Alejandro N FollerBrazilBernardo Dominic QUALIFIED
Sinclair M BologniaBrazilXuxue Feng NEGOTIATION
Antonio Y DoeUnited KingdomBernardo Dominic NEW
Maria B BowleyItalyAmy Elsner NEW
Emily T KuskoAustraliaXuxue Feng PROPOSAL
Ivar E CaudyIndiaBernardo Dominic UNQUALIFIED
Jefferson O KolmetzSpainStephen Shaw NEGOTIATION
Deepesh X DarakjyAustraliaStephen Shaw NEGOTIATION
Ricardo Q FlosiRussiaAnna Fali PROPOSAL
Murillo S BowleyJapanElwin Sharvill UNQUALIFIED
Alejandro H OldroydAustraliaXuxue Feng NEW
Jefferson Q KuskoIndiaOnyama Limba PROPOSAL
Izzy Q MorascaAustraliaBernardo Dominic NEGOTIATION
Claire C SergiGermanyBernardo Dominic PROPOSAL
Tony H BowleyRussiaBernardo Dominic NEW
Isabel K CaldareraUnited KingdomOnyama Limba UNQUALIFIED
Morrow T RoysterRussiaOnyama Limba RENEWAL
Murillo U MaletJapanStephen Shaw QUALIFIED
Ashley Y KolmetzBrazilAsiya Javayant RENEWAL
Silvio C PoquetteGermanyXuxue Feng RENEWAL
Ivar Q AlbaresUnited KingdomOnyama Limba NEW
Kadeem F SlusarskiSpainIoni Bowcher PROPOSAL
Wickens D PerinCanadaIvan Magalhaes PROPOSAL
Ashley X RoysterFranceIoni Bowcher RENEWAL
Antonio F GauchoFranceBernardo Dominic PROPOSAL
Costa Z KuskoRussiaStephen Shaw RENEWAL
Kadeem X SaylorsAustraliaAsiya Javayant NEW
Clifford Y CaudyAustraliaOnyama Limba PROPOSAL
Emily Y WieserUnited KingdomBernardo Dominic PROPOSAL
Tony G DilliardItalyIvan Magalhaes RENEWAL
James Q IturbideUnited KingdomAnna Fali RENEWAL
Ivar R FigeroaSpainAmy Elsner PROPOSAL
Sinclair D FerenczSpainStephen Shaw QUALIFIED
Smith W OldroydIndiaOnyama Limba UNQUALIFIED
Jeanfrancois I CampainBrazilElwin Sharvill RENEWAL
Stacey A FerenczItalyXuxue Feng NEW
Greenwood I SchemmerRussiaOnyama Limba UNQUALIFIED
Murillo S AmigonFranceAsiya Javayant RENEWAL
Johnson G PoquetteAustraliaIvan Magalhaes PROPOSAL
Cody I FollerArgentinaStephen Shaw PROPOSAL
Costa E FigeroaJapanAsiya Javayant NEW
David P RutaArgentinaIoni Bowcher QUALIFIED
Tony U KuskoFranceXuxue Feng RENEWAL
Silvio O GlickFranceOnyama Limba QUALIFIED
Jeanfrancois N OldroydJapanIvan Magalhaes QUALIFIED
Izzy T AlbaresArgentinaAsiya Javayant NEGOTIATION
Munro B GarufiUnited KingdomIvan Magalhaes PROPOSAL
Morrow U RulapaughIndiaOnyama Limba RENEWAL
Julie R GauchoSpainAmy Elsner PROPOSAL
Frozen Columns
Name
Munro A Glick
Isabel W Stockham
Alejandro X Shinko
Emily U Garufi
Maisha O Garufi
Rodrigues F Waycott
Mayumi D Doe
Mujtaba X Perin
Deepesh B Kusko
Maria L Whobrey
Kadeem B Sergi
Darci E Ostrosky
Kadeem X Vocelka
Jennifer C Wieser
James Y Rulapaugh
Octavia C Doe
Jennifer M Butt
Juan U Rim
Sinclair P Bolognia
Jones M Butt
Claire H Iturbide
Adams T Royster
Leja Z Bowley
Aruna X Schemmer
Faith C Gaucho
Izzy B Flosi
Alejandro I Waycott
Chavez I Rim
Clifford Q Glick
Morrow X Sergi
Ivar V Rulapaugh
Johnson F Figeroa
Chavez A Briddick
Sinclair M Royster
Mayumi L Saylors
Smith M Waycott
Emily A Caudy
Octavia E Nicka
Adams V Saylors
Ivar C Malet
Mujtaba V Inouye
David L Marrier
Antonio X Garufi
James T Morasca
Maria J Malet
Tony M Butt
Adams Z Figeroa
Maria B Perin
Morrow U Bolognia
Aditya H Ferencz
IdCountryDate
1000India2024-06-02
1001Japan2024-06-17
1002Japan2024-05-27
1003Australia2024-06-21
1004Germany2024-06-03
1005Canada2024-05-31
1006Russia2024-05-27
1007France2024-05-29
1008Canada2024-06-12
1009Australia2024-06-13
1010Italy2024-06-14
1011Brazil2024-05-30
1012India2024-05-27
1013Russia2024-06-21
1014Spain2024-06-06
1015Canada2024-06-02
1016France2024-06-01
1017Germany2024-06-20
1018India2024-06-21
1019Russia2024-06-11
1020Brazil2024-06-16
1021India2024-05-29
1022United Kingdom2024-05-25
1023Germany2024-06-04
1024Japan2024-05-30
1025Russia2024-05-24
1026Canada2024-05-28
1027Germany2024-05-26
1028Brazil2024-06-19
1029India2024-05-25
1030Canada2024-06-03
1031Canada2024-05-31
1032Russia2024-06-20
1033Argentina2024-05-25
1034Australia2024-05-27
1035France2024-05-27
1036France2024-06-05
1037Russia2024-05-31
1038Italy2024-06-05
1039Italy2024-06-17
1040Brazil2024-06-16
1041Spain2024-06-19
1042Canada2024-06-05
1043Argentina2024-06-13
1044Canada2024-06-14
1045Argentina2024-06-02
1046Australia2024-06-13
1047Germany2024-06-19
1048Australia2024-06-10
1049Germany2024-05-29

On-Demand Data

NameIdCountryDate
Cody X Ostrosky1000Japan2024-06-18
Silvio I Malet1001Spain2024-05-27
Arvin S Rim1002Australia2024-05-29
Clifford Q Gillian1003Japan2024-06-03
Mujtaba K Bowley1004United Kingdom2024-06-21
Sinclair G Chui1005Japan2024-05-25
Kaitlin X Butt1006Russia2024-06-19
Mujtaba D Caldarera1007Canada2024-06-19
Rodrigues F Bowley1008France2024-06-07
Darci D Iturbide1009Germany2024-05-28
Darci B Slusarski1010Japan2024-06-11
Aika Y Garufi1011United Kingdom2024-06-09
Julie D Sergi1012Japan2024-06-01
Arvin A Garufi1013Japan2024-06-01
Antonio O Campain1014Australia2024-06-15
Ashley D Campain1015Canada2024-06-14
Greenwood C Schemmer1016India2024-06-19
Octavia X Dilliard1017Argentina2024-06-22
Ashley Y Wieser1018France2024-06-03
Ricardo D Butt1019Japan2024-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin K FerenczRussiaIoni Bowcher RENEWAL
Rodrigues L PerinGermanyAmy Elsner NEGOTIATION
Rodrigues R SaylorsBrazilBernardo Dominic NEW
Adams O CaudyJapanOnyama Limba PROPOSAL
Adams N GarufiRussiaAnna Fali PROPOSAL
Chavez P MorascaCanadaIoni Bowcher PROPOSAL
Kadeem E FollerUnited KingdomXuxue Feng UNQUALIFIED
Arvin K ShinkoGermanyBernardo Dominic NEGOTIATION
Johnson T NestleUnited KingdomIoni Bowcher RENEWAL
Deepesh S FollerRussiaAmy Elsner UNQUALIFIED
Faith V KuskoSpainOnyama Limba NEGOTIATION
Mayumi K GauchoRussiaAmy Elsner QUALIFIED
Tony R OstroskyCanadaElwin Sharvill NEW
Mujtaba S FollerRussiaBernardo Dominic QUALIFIED
Maisha G StockhamCanadaBernardo Dominic QUALIFIED
Morrow L PaprockiGermanyAsiya Javayant UNQUALIFIED
Maria H BowleyArgentinaStephen Shaw PROPOSAL
Mayumi Q FlosiFranceStephen Shaw NEW
Misaki C CaldareraJapanElwin Sharvill QUALIFIED
Deepesh S MorascaIndiaStephen Shaw NEGOTIATION
Costa U GarufiItalyXuxue Feng NEGOTIATION
Claire X FlosiGermanyAsiya Javayant UNQUALIFIED
Tony T RutaUnited KingdomAnna Fali NEGOTIATION
Rodrigues G PaprockiItalyStephen Shaw PROPOSAL
James E WhobreyJapanXuxue Feng QUALIFIED
Aruna P BriddickSpainAsiya Javayant QUALIFIED
Murillo Z DilliardJapanElwin Sharvill PROPOSAL
Jeanfrancois X MaletSpainElwin Sharvill PROPOSAL
Smith A BowleySpainIvan Magalhaes RENEWAL
Sinclair U StensethCanadaOnyama Limba RENEWAL
Clifford W WieserUnited KingdomAnna Fali UNQUALIFIED
Isabel J MarrierArgentinaXuxue Feng RENEWAL
Chavez V OstroskyArgentinaStephen Shaw NEGOTIATION
Darci X GarufiFranceElwin Sharvill NEW
James U RutaJapanOnyama Limba PROPOSAL
Ashley H WhobreyIndiaElwin Sharvill UNQUALIFIED
Arvin P FerenczRussiaXuxue Feng RENEWAL
Jennifer Z RutaIndiaIvan Magalhaes UNQUALIFIED
Jefferson T FerenczUnited KingdomElwin Sharvill QUALIFIED
Isabel F GillianCanadaBernardo Dominic 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>