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
Izzy D RulapaughBrazilIoni Bowcher NEW
Ivar W CaudyBrazilStephen Shaw QUALIFIED
Ashley T KolmetzIndiaXuxue Feng NEGOTIATION
Deepesh O BowleyArgentinaBernardo Dominic NEW
James T GauchoRussiaIvan Magalhaes PROPOSAL
Octavia V MorascaFranceIoni Bowcher RENEWAL
Juan E StockhamSpainBernardo Dominic NEGOTIATION
Murillo R CaudyCanadaIvan Magalhaes NEW
Darci O CampainUnited KingdomIoni Bowcher QUALIFIED
Stacey L GarufiJapanXuxue Feng RENEWAL
Cody I KuskoGermanyAnna Fali QUALIFIED
Greenwood F RoysterBrazilXuxue Feng NEGOTIATION
Munro J IturbideArgentinaIoni Bowcher NEGOTIATION
Aditya Z VocelkaArgentinaAsiya Javayant NEGOTIATION
Wickens V FerenczArgentinaAnna Fali NEW
Smith W VenereFranceIvan Magalhaes RENEWAL
Adams P OstroskyIndiaAnna Fali QUALIFIED
Ashley R AmigonGermanyStephen Shaw UNQUALIFIED
Alejandro A RoysterGermanyAnna Fali PROPOSAL
Salvatore D DarakjyUnited KingdomIoni Bowcher RENEWAL
Silvio M FlosiBrazilBernardo Dominic NEGOTIATION
Maria I CampainFranceIoni Bowcher NEGOTIATION
Aruna D AlbaresGermanyAmy Elsner QUALIFIED
Deepesh E SchemmerRussiaIoni Bowcher NEW
Aruna G AmigonCanadaOnyama Limba UNQUALIFIED
Francesco I MarrierUnited KingdomXuxue Feng NEGOTIATION
Jefferson Q DilliardCanadaAsiya Javayant NEW
Kadeem W FlosiIndiaAsiya Javayant PROPOSAL
Chavez I TollnerUnited KingdomXuxue Feng QUALIFIED
Adams R RoysterGermanyBernardo Dominic NEGOTIATION
Aditya A RulapaughFranceElwin Sharvill UNQUALIFIED
Misaki K MaletAustraliaOnyama Limba UNQUALIFIED
Deepesh R DilliardItalyAsiya Javayant QUALIFIED
Julie G VenereCanadaAnna Fali UNQUALIFIED
Rodrigues S RulapaughAustraliaBernardo Dominic RENEWAL
Kadeem E ShinkoGermanyAsiya Javayant NEW
David Y BriddickJapanXuxue Feng QUALIFIED
Stacey L StensethBrazilXuxue Feng RENEWAL
Mujtaba P InouyeCanadaOnyama Limba RENEWAL
Octavia E VenereArgentinaAmy Elsner QUALIFIED
Chavez A PoquetteJapanOnyama Limba NEGOTIATION
Aditya L RimRussiaIoni Bowcher NEGOTIATION
Maisha W OstroskyGermanyXuxue Feng QUALIFIED
Silvio T WhobreyIndiaIoni Bowcher QUALIFIED
Leon O MaletUnited KingdomBernardo Dominic QUALIFIED
Ivar W DoeGermanyOnyama Limba NEGOTIATION
Kaitlin C BologniaIndiaIoni Bowcher PROPOSAL
Johnson T OldroydFranceIoni Bowcher QUALIFIED
Chavez V OstroskyAustraliaElwin Sharvill RENEWAL
Stacey Z PaprockiFranceStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Mujtaba S RoysterIndiaOnyama Limba PROPOSAL
Smith Z MorascaRussiaIvan Magalhaes QUALIFIED
Leon F DilliardAustraliaAsiya Javayant RENEWAL
Deepesh W CampainSpainXuxue Feng RENEWAL
Juan F GillianFranceAsiya Javayant NEGOTIATION
Smith S AlbaresSpainAmy Elsner RENEWAL
Cody T GauchoJapanElwin Sharvill QUALIFIED
Murillo G PoquetteIndiaXuxue Feng NEW
Faith T StensethRussiaElwin Sharvill RENEWAL
Isabel G GillianAustraliaXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo L OstroskyAustralia2024-06-11Chapman, Ross E Esq RENEWAL26Xuxue Feng
1001Octavia F NestleBrazil2024-06-10Rousseaux, Michael Esq NEGOTIATION81Ioni Bowcher
1002Munro C InouyeIndia2024-06-07Chanay, Jeffrey A Esq NEW25Anna Fali
1003Maisha V DarakjyBrazil2024-06-01Truhlar And Truhlar Attys RENEWAL15Asiya Javayant
1004Aika Q WieserRussia2024-06-14Buckley Miller Wright NEGOTIATION71Anna Fali
1005Ricardo L SchemmerAustralia2024-06-21Feltz Printing Service PROPOSAL3Ioni Bowcher
1006Salvatore H ButtIndia2024-06-22Printing Dimensions QUALIFIED4Ioni Bowcher
1007Isabel V FollerBrazil2024-05-26Truhlar And Truhlar Attys NEGOTIATION44Bernardo Dominic
1008Jennifer Q RulapaughSpain2024-06-02Rousseaux, Michael Esq QUALIFIED85Anna Fali
1009Mujtaba Q FigeroaFrance2024-06-23Printing Dimensions UNQUALIFIED37Asiya Javayant
1010Aruna U SergiAustralia2024-06-21Dorl, James J Esq PROPOSAL85Bernardo Dominic
1011Jeanfrancois M OldroydItaly2024-05-31Feiner Bros NEW43Amy Elsner
1012Juan X FlosiFrance2024-06-18Buckley Miller Wright QUALIFIED7Asiya Javayant
1013Greenwood O DilliardArgentina2024-06-04Feiner Bros PROPOSAL86Asiya Javayant
1014Cody S GlickIndia2024-06-11Feltz Printing Service NEW76Anna Fali
1015Jeanfrancois T PerinUnited Kingdom2024-06-13Dorl, James J Esq UNQUALIFIED77Xuxue Feng
1016Ivar G FigeroaAustralia2024-06-05Rangoni Of Florence NEW88Xuxue Feng
1017Clifford A RoysterJapan2024-06-08Truhlar And Truhlar Attys NEW25Bernardo Dominic
1018Costa K FollerBrazil2024-06-18Dorl, James J Esq PROPOSAL6Ioni Bowcher
1019Jones S FollerItaly2024-06-08Benton, John B Jr UNQUALIFIED3Elwin Sharvill
1020Arvin J PoquetteArgentina2024-06-11Feiner Bros RENEWAL30Stephen Shaw
1021Smith X GlickJapan2024-06-11Truhlar And Truhlar Attys RENEWAL27Bernardo Dominic
1022Maisha C MacleadCanada2024-06-03Rangoni Of Florence NEGOTIATION89Bernardo Dominic
1023Leja C RulapaughRussia2024-06-19Chemel, James L Cpa NEGOTIATION54Anna Fali
1024Leja N GillianCanada2024-05-30Chemel, James L Cpa QUALIFIED81Xuxue Feng
1025Francesco L MaletGermany2024-06-22Benton, John B Jr RENEWAL23Xuxue Feng
1026Ashley G MaletSpain2024-06-18Dorl, James J Esq NEGOTIATION41Amy Elsner
1027Adams E NickaArgentina2024-06-20King, Christopher A Esq RENEWAL21Onyama Limba
1028Antonio R OstroskyCanada2024-05-29Chanay, Jeffrey A Esq QUALIFIED32Elwin Sharvill
1029Sinclair Y KolmetzCanada2024-06-19Printing Dimensions UNQUALIFIED25Xuxue Feng
1030Alejandro K StockhamBrazil2024-06-18Chapman, Ross E Esq UNQUALIFIED20Ioni Bowcher
1031Izzy W NickaAustralia2024-05-29Benton, John B Jr NEW8Amy Elsner
1032James J GlickBrazil2024-06-09Dorl, James J Esq UNQUALIFIED84Stephen Shaw
1033Cody H DilliardGermany2024-05-26Morlong Associates QUALIFIED90Onyama Limba
1034Jennifer W PaprockiIndia2024-06-18Chapman, Ross E Esq NEW5Elwin Sharvill
1035Sinclair E AmigonBrazil2024-06-23Printing Dimensions PROPOSAL9Stephen Shaw
1036Antonio Q RulapaughFrance2024-06-14Dorl, James J Esq UNQUALIFIED77Ioni Bowcher
1037Clifford H CaldareraIndia2024-06-23Chanay, Jeffrey A Esq PROPOSAL78Ioni Bowcher
1038Leon Z FollerAustralia2024-06-19Truhlar And Truhlar Attys RENEWAL29Ioni Bowcher
1039James G MaletJapan2024-06-21Benton, John B Jr QUALIFIED18Ioni Bowcher
1040Mayumi T RimJapan2024-06-01Commercial Press UNQUALIFIED65Bernardo Dominic
1041Isabel D FerenczIndia2024-06-12Commercial Press RENEWAL94Onyama Limba
1042Munro X SaylorsArgentina2024-06-08Buckley Miller Wright UNQUALIFIED97Anna Fali
1043Nicolas Q BriddickSpain2024-06-16Truhlar And Truhlar Attys UNQUALIFIED49Bernardo Dominic
1044Adams T BowleyFrance2024-06-13Benton, John B Jr NEGOTIATION0Asiya Javayant
1045Misaki W WaycottItaly2024-06-10Feiner Bros NEW98Onyama Limba
1046Wickens Q InouyeFrance2024-06-10Rousseaux, Michael Esq NEW9Ivan Magalhaes
1047Isabel D GarufiRussia2024-06-02Morlong Associates NEW10Asiya Javayant
1048Silvio I KolmetzJapan2024-06-20Chemel, James L Cpa NEW83Elwin Sharvill
1049Kaitlin J MaletSpain2024-06-17Chanay, Jeffrey A Esq NEW55Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Smith L ButtCanadaIoni Bowcher PROPOSAL
Francesco Y WhobreyBrazilIoni Bowcher PROPOSAL
Arvin J KuskoRussiaAnna Fali PROPOSAL
Antonio V PaprockiItalyXuxue Feng PROPOSAL
Costa D FigeroaGermanyOnyama Limba NEGOTIATION
Octavia B IturbideArgentinaIvan Magalhaes UNQUALIFIED
Isabel M MorascaGermanyAnna Fali NEW
Misaki X CaudySpainIoni Bowcher NEW
Jones M GarufiJapanBernardo Dominic NEGOTIATION
Murillo W StockhamSpainXuxue Feng UNQUALIFIED
Francesco Q BowleyJapanIvan Magalhaes UNQUALIFIED
Julie R DarakjyCanadaElwin Sharvill RENEWAL
Stacey P NestleArgentinaXuxue Feng NEGOTIATION
Wickens R RutaAustraliaAmy Elsner UNQUALIFIED
Maisha Q GauchoSpainBernardo Dominic QUALIFIED
Alejandro F MacleadArgentinaAsiya Javayant QUALIFIED
Murillo X MarrierBrazilAsiya Javayant NEGOTIATION
Jennifer H DilliardSpainIvan Magalhaes NEW
Sinclair L FerenczBrazilAnna Fali RENEWAL
Salvatore C BologniaIndiaAnna Fali QUALIFIED
Nicolas I DarakjyJapanAsiya Javayant UNQUALIFIED
Sinclair T BologniaItalyIoni Bowcher PROPOSAL
Izzy Q WhobreyBrazilXuxue Feng RENEWAL
Alejandro P FollerGermanyXuxue Feng NEW
Johnson A VocelkaFranceStephen Shaw NEGOTIATION
Stacey M BriddickUnited KingdomAsiya Javayant UNQUALIFIED
Antonio Q DarakjyIndiaElwin Sharvill PROPOSAL
Sinclair Z RulapaughJapanOnyama Limba PROPOSAL
Ricardo Q CaudyUnited KingdomXuxue Feng QUALIFIED
Rodrigues P RutaAustraliaOnyama Limba UNQUALIFIED
Claire Z KuskoItalyAsiya Javayant PROPOSAL
Darci M PaprockiBrazilStephen Shaw NEW
Ricardo M BologniaRussiaElwin Sharvill NEW
Leon T KuskoUnited KingdomXuxue Feng NEGOTIATION
Octavia S DoeIndiaBernardo Dominic RENEWAL
Murillo E MarrierFranceElwin Sharvill PROPOSAL
Aika O BriddickIndiaIoni Bowcher NEW
Tony B KuskoGermanyIvan Magalhaes PROPOSAL
Munro T OstroskyUnited KingdomElwin Sharvill PROPOSAL
Morrow H OldroydFranceIvan Magalhaes QUALIFIED
Morrow Y StensethRussiaIvan Magalhaes PROPOSAL
Mayumi Y BowleyRussiaIvan Magalhaes UNQUALIFIED
Jones L DarakjySpainElwin Sharvill UNQUALIFIED
David K NestleSpainIvan Magalhaes PROPOSAL
Clifford L CaldareraAustraliaXuxue Feng UNQUALIFIED
Aditya M ChuiCanadaStephen Shaw QUALIFIED
Smith H DoeIndiaXuxue Feng RENEWAL
Octavia D CampainCanadaBernardo Dominic PROPOSAL
Sinclair I GauchoBrazilOnyama Limba PROPOSAL
Ashley Y FollerAustraliaIoni Bowcher PROPOSAL
Frozen Columns
Name
Morrow I Figeroa
Ricardo V Amigon
Smith J Butt
Octavia U Paprocki
Julie V Foller
Munro M Malet
David K Gaucho
Jennifer N Ruta
Jefferson H Poquette
Misaki Y Inouye
Jefferson S Morasca
Deepesh R Oldroyd
James L Stockham
Arvin N Poquette
Jennifer W Oldroyd
Deepesh L Perin
Salvatore U Chui
Kadeem S Ruta
Faith F Campain
Misaki V Morasca
Mayumi V Morasca
Kadeem O Gaucho
Aruna M Paprocki
Jennifer E Poquette
Tony C Iturbide
Mujtaba L Wieser
Jennifer D Caudy
Antonio U Ferencz
Misaki D Dilliard
Julie T Campain
Francesco T Caldarera
Chavez T Dilliard
Ashley F Gaucho
Jones S Marrier
Chavez N Whobrey
Rodrigues R Rim
Jeanfrancois H Venere
Julie V Malet
David C Stenseth
Mayumi O Malet
Kadeem F Malet
Izzy A Caudy
Alejandro G Paprocki
Morrow K Darakjy
Jeanfrancois A Albares
Izzy D Sergi
Adams B Glick
Maisha D Ostrosky
Ricardo G Figeroa
Emily Z Poquette
IdCountryDate
1000Canada2024-06-09
1001India2024-06-16
1002Germany2024-05-27
1003India2024-06-18
1004Germany2024-05-26
1005Germany2024-06-20
1006Australia2024-06-18
1007Italy2024-06-01
1008Japan2024-06-24
1009United Kingdom2024-06-11
1010Japan2024-05-30
1011France2024-05-27
1012Spain2024-06-04
1013France2024-05-30
1014Canada2024-05-26
1015Spain2024-06-13
1016Brazil2024-06-13
1017India2024-06-04
1018Canada2024-06-18
1019Canada2024-06-11
1020Japan2024-06-03
1021Italy2024-06-15
1022United Kingdom2024-06-11
1023Spain2024-06-23
1024Spain2024-06-02
1025Brazil2024-06-12
1026Japan2024-05-26
1027Russia2024-05-26
1028Germany2024-06-02
1029India2024-06-10
1030Canada2024-05-30
1031Canada2024-06-11
1032India2024-06-04
1033Spain2024-06-04
1034Argentina2024-05-28
1035Canada2024-06-24
1036Argentina2024-06-17
1037Japan2024-06-20
1038Italy2024-05-30
1039Spain2024-06-24
1040Spain2024-06-06
1041India2024-06-07
1042Canada2024-05-27
1043Japan2024-06-06
1044Russia2024-05-30
1045Germany2024-06-23
1046Canada2024-06-24
1047Russia2024-06-17
1048Japan2024-06-14
1049Germany2024-06-14

On-Demand Data

NameIdCountryDate
Maria F Kusko1000Australia2024-06-24
Kaitlin Z Albares1001Canada2024-06-19
Clifford Q Marrier1002Argentina2024-06-21
Julie Z Iturbide1003Germany2024-06-02
Leja X Caudy1004Canada2024-06-24
Rodrigues Y Gaucho1005France2024-06-02
Salvatore P Ferencz1006Spain2024-06-18
Clifford E Schemmer1007Russia2024-06-15
Antonio L Malet1008Italy2024-06-07
Silvio Y Tollner1009India2024-06-10
Alejandro Z Garufi1010Brazil2024-05-31
Nicolas T Gaucho1011France2024-06-04
Jefferson N Nicka1012Australia2024-06-17
Octavia I Darakjy1013Russia2024-06-22
Misaki R Sergi1014Brazil2024-06-24
Mayumi E Amigon1015Brazil2024-06-19
Claire O Oldroyd1016India2024-05-29
Octavia B Butt1017India2024-06-05
Claire X Wieser1018Spain2024-06-01
Smith X Poquette1019Germany2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria H KolmetzIndiaElwin Sharvill NEW
Costa E GillianSpainXuxue Feng UNQUALIFIED
Cody I FigeroaBrazilAmy Elsner UNQUALIFIED
Leon W CaudyGermanyIoni Bowcher UNQUALIFIED
Tony K CaldareraUnited KingdomAsiya Javayant QUALIFIED
Darci X PaprockiAustraliaElwin Sharvill UNQUALIFIED
Munro Q FollerIndiaStephen Shaw NEW
James A NickaRussiaIvan Magalhaes NEGOTIATION
Wickens K BologniaIndiaAsiya Javayant NEW
Maisha P DoeBrazilBernardo Dominic UNQUALIFIED
Mayumi E GauchoArgentinaIvan Magalhaes NEW
Ivar Y FerenczCanadaBernardo Dominic QUALIFIED
Greenwood N PoquetteFranceIvan Magalhaes UNQUALIFIED
Chavez F GillianBrazilIvan Magalhaes UNQUALIFIED
Tony S OldroydGermanyIoni Bowcher RENEWAL
Francesco L FollerUnited KingdomIoni Bowcher NEW
Kaitlin J CampainJapanStephen Shaw NEGOTIATION
Emily H FlosiFranceBernardo Dominic QUALIFIED
David Q WaycottIndiaBernardo Dominic NEGOTIATION
Julie T CampainAustraliaElwin Sharvill UNQUALIFIED
Ivar X SaylorsAustraliaElwin Sharvill QUALIFIED
Munro M RutaCanadaXuxue Feng PROPOSAL
Munro L ShinkoArgentinaStephen Shaw NEGOTIATION
Rodrigues J KuskoFranceBernardo Dominic PROPOSAL
Claire I CaudyAustraliaOnyama Limba PROPOSAL
Tony Q BologniaBrazilBernardo Dominic RENEWAL
Darci V VenereCanadaIoni Bowcher NEW
Aditya L BologniaItalyBernardo Dominic NEGOTIATION
Deepesh A SergiSpainOnyama Limba NEW
Darci G MaletItalyBernardo Dominic RENEWAL
Murillo Z DilliardSpainBernardo Dominic RENEWAL
Adams I SergiItalyAsiya Javayant NEW
Kadeem F SchemmerCanadaBernardo Dominic UNQUALIFIED
Juan T SchemmerArgentinaIvan Magalhaes PROPOSAL
Leon N WhobreySpainBernardo Dominic RENEWAL
David M BowleySpainIvan Magalhaes RENEWAL
Misaki O MorascaJapanElwin Sharvill PROPOSAL
Leja I GauchoArgentinaIoni Bowcher PROPOSAL
Jeanfrancois E GillianGermanyStephen Shaw RENEWAL
Mayumi L CaudyFranceAmy Elsner 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>