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
Jeanfrancois L MarrierBrazilStephen Shaw RENEWAL
Silvio H RimCanadaIoni Bowcher UNQUALIFIED
Antonio Y OstroskySpainAnna Fali UNQUALIFIED
Rodrigues V TollnerSpainOnyama Limba RENEWAL
Sinclair Q NickaGermanyXuxue Feng NEGOTIATION
Mujtaba Q AlbaresFranceIvan Magalhaes QUALIFIED
Stacey K GarufiUnited KingdomAnna Fali UNQUALIFIED
Stacey E CampainIndiaAmy Elsner QUALIFIED
Julie Q SlusarskiAustraliaElwin Sharvill RENEWAL
Murillo S AlbaresJapanIvan Magalhaes RENEWAL
Jeanfrancois G PaprockiSpainIoni Bowcher NEW
Johnson S DilliardArgentinaAmy Elsner NEGOTIATION
Izzy D BowleyRussiaBernardo Dominic NEW
Stacey I BologniaBrazilXuxue Feng RENEWAL
Antonio D ChuiAustraliaAmy Elsner UNQUALIFIED
Emily C CaudyCanadaIoni Bowcher PROPOSAL
Munro K ShinkoCanadaBernardo Dominic NEW
Ricardo J GillianItalyAsiya Javayant UNQUALIFIED
Claire V StockhamCanadaAsiya Javayant RENEWAL
Deepesh K AlbaresUnited KingdomBernardo Dominic NEW
Munro V RoysterFranceAmy Elsner NEGOTIATION
Jones E KolmetzBrazilBernardo Dominic QUALIFIED
Stacey L OldroydJapanIvan Magalhaes QUALIFIED
Adams W PaprockiIndiaIvan Magalhaes RENEWAL
Leja G WaycottAustraliaIoni Bowcher QUALIFIED
Claire P RulapaughIndiaStephen Shaw QUALIFIED
Faith B RutaArgentinaIoni Bowcher RENEWAL
Arvin U FollerIndiaXuxue Feng NEGOTIATION
Arvin K StockhamFranceStephen Shaw UNQUALIFIED
James A AlbaresUnited KingdomIoni Bowcher NEGOTIATION
Salvatore M StockhamGermanyOnyama Limba NEW
James F SaylorsGermanyStephen Shaw PROPOSAL
Silvio J PerinCanadaIvan Magalhaes PROPOSAL
Jeanfrancois Z WhobreyRussiaAsiya Javayant RENEWAL
Aditya L CaudyAustraliaIoni Bowcher NEGOTIATION
Jefferson W WhobreyJapanAmy Elsner NEGOTIATION
Smith D PerinCanadaAmy Elsner UNQUALIFIED
Jones N RutaBrazilAmy Elsner NEW
Greenwood J CaudyCanadaIvan Magalhaes NEW
Izzy J WaycottAustraliaAmy Elsner UNQUALIFIED
Leja N TollnerRussiaIoni Bowcher PROPOSAL
Izzy T GillianUnited KingdomElwin Sharvill NEW
Clifford R VenereItalyElwin Sharvill QUALIFIED
Isabel Y RoysterGermanyIoni Bowcher NEW
Antonio J PaprockiRussiaXuxue Feng QUALIFIED
Morrow S WhobreyJapanXuxue Feng RENEWAL
Leja L RoysterAustraliaXuxue Feng RENEWAL
James I DarakjySpainOnyama Limba UNQUALIFIED
Claire U BowleyItalyIoni Bowcher QUALIFIED
Cody Y NickaJapanBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois I TollnerRussiaAmy Elsner QUALIFIED
Cody X DilliardRussiaIoni Bowcher QUALIFIED
Mujtaba W FigeroaArgentinaBernardo Dominic NEW
Misaki J MorascaFranceStephen Shaw NEGOTIATION
Maria R GillianAustraliaOnyama Limba PROPOSAL
Antonio F RimCanadaAnna Fali QUALIFIED
Nicolas G NickaAustraliaAnna Fali NEW
Jones S GlickJapanAnna Fali NEW
Mayumi Z KolmetzArgentinaElwin Sharvill PROPOSAL
Ricardo S VocelkaRussiaAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Wickens R DoeGermany2024-06-14Chapman, Ross E Esq RENEWAL87Ivan Magalhaes
1001Deepesh G CampainAustralia2024-05-29Chapman, Ross E Esq NEGOTIATION75Asiya Javayant
1002Kaitlin M ButtFrance2024-06-06Truhlar And Truhlar Attys NEGOTIATION34Anna Fali
1003Izzy C IturbideItaly2024-06-16Truhlar And Truhlar Attys QUALIFIED4Anna Fali
1004Sinclair P InouyeSpain2024-06-14Chanay, Jeffrey A Esq NEGOTIATION87Stephen Shaw
1005Julie C AlbaresRussia2024-06-15Feiner Bros NEW22Onyama Limba
1006David V DilliardSpain2024-06-15Chanay, Jeffrey A Esq NEGOTIATION47Asiya Javayant
1007Tony Q MaletFrance2024-06-21Rousseaux, Michael Esq RENEWAL76Anna Fali
1008Alejandro L KolmetzFrance2024-06-11Rousseaux, Michael Esq NEW90Xuxue Feng
1009Chavez T DilliardAustralia2024-06-05Chemel, James L Cpa NEGOTIATION65Amy Elsner
1010Adams U SchemmerGermany2024-06-21Benton, John B Jr NEW70Anna Fali
1011Chavez O OldroydBrazil2024-06-23Rousseaux, Michael Esq RENEWAL56Ioni Bowcher
1012Deepesh W WaycottCanada2024-06-16Chemel, James L Cpa PROPOSAL60Onyama Limba
1013Misaki G RoysterGermany2024-06-03Chemel, James L Cpa NEGOTIATION95Xuxue Feng
1014Cody N NickaRussia2024-06-22Benton, John B Jr PROPOSAL39Stephen Shaw
1015Claire U MaletGermany2024-06-05Feltz Printing Service UNQUALIFIED35Ioni Bowcher
1016Chavez H MacleadFrance2024-06-03Rousseaux, Michael Esq PROPOSAL92Stephen Shaw
1017Sinclair Q SergiFrance2024-05-27Commercial Press UNQUALIFIED32Onyama Limba
1018Salvatore E MarrierArgentina2024-05-26Truhlar And Truhlar Attys NEW7Ioni Bowcher
1019Isabel K MorascaCanada2024-05-30Chemel, James L Cpa NEGOTIATION57Elwin Sharvill
1020Wickens J BologniaGermany2024-06-06Rousseaux, Michael Esq NEW53Onyama Limba
1021David C DilliardAustralia2024-05-26Feiner Bros NEW96Ioni Bowcher
1022Jennifer E FollerFrance2024-06-12Rangoni Of Florence UNQUALIFIED54Amy Elsner
1023Misaki R AlbaresIndia2024-06-02King, Christopher A Esq QUALIFIED1Amy Elsner
1024Aruna T MaletAustralia2024-05-30Chapman, Ross E Esq RENEWAL41Xuxue Feng
1025Murillo O GlickItaly2024-06-09Buckley Miller Wright NEGOTIATION5Onyama Limba
1026David N AmigonSpain2024-06-20Chanay, Jeffrey A Esq PROPOSAL76Stephen Shaw
1027Deepesh B CaldareraIndia2024-06-17Rangoni Of Florence RENEWAL51Anna Fali
1028James F CaldareraSpain2024-06-07Chapman, Ross E Esq RENEWAL64Anna Fali
1029Aruna D StensethRussia2024-05-28Chanay, Jeffrey A Esq RENEWAL48Xuxue Feng
1030Aika I BologniaUnited Kingdom2024-06-22Rangoni Of Florence RENEWAL2Bernardo Dominic
1031Isabel M ShinkoGermany2024-06-04Chemel, James L Cpa NEW65Xuxue Feng
1032Leja X StensethBrazil2024-06-22Commercial Press PROPOSAL29Onyama Limba
1033Arvin W PaprockiItaly2024-06-12Chemel, James L Cpa NEW21Ivan Magalhaes
1034David M ShinkoIndia2024-06-08Printing Dimensions QUALIFIED57Onyama Limba
1035Misaki P BologniaSpain2024-06-21Rousseaux, Michael Esq UNQUALIFIED2Onyama Limba
1036Leon P CaldareraItaly2024-06-21Chemel, James L Cpa NEGOTIATION95Onyama Limba
1037Jefferson T PaprockiBrazil2024-06-23Morlong Associates QUALIFIED25Bernardo Dominic
1038Ricardo I StensethCanada2024-06-12Buckley Miller Wright RENEWAL99Xuxue Feng
1039Costa Y KuskoGermany2024-06-05Dorl, James J Esq NEGOTIATION7Asiya Javayant
1040Smith X IturbideIndia2024-06-21Printing Dimensions PROPOSAL60Anna Fali
1041Jefferson W PaprockiItaly2024-06-23Chanay, Jeffrey A Esq UNQUALIFIED20Anna Fali
1042Jefferson G PaprockiCanada2024-06-20Rousseaux, Michael Esq RENEWAL45Amy Elsner
1043Aruna E ChuiSpain2024-06-12Commercial Press QUALIFIED72Anna Fali
1044Kaitlin L StockhamFrance2024-06-22Buckley Miller Wright NEGOTIATION44Stephen Shaw
1045Murillo T DarakjyBrazil2024-06-23Commercial Press UNQUALIFIED0Onyama Limba
1046Nicolas T MacleadFrance2024-06-20Benton, John B Jr QUALIFIED57Ioni Bowcher
1047Silvio E DoeBrazil2024-06-13Benton, John B Jr PROPOSAL3Ivan Magalhaes
1048Costa N MaletRussia2024-06-11Chemel, James L Cpa QUALIFIED7Ivan Magalhaes
1049Mujtaba W AlbaresBrazil2024-06-14Commercial Press NEW84Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Faith O SergiArgentinaIoni Bowcher RENEWAL
Jeanfrancois D ShinkoCanadaAmy Elsner NEGOTIATION
Claire Q MaletAustraliaXuxue Feng PROPOSAL
Smith A AmigonSpainBernardo Dominic PROPOSAL
Deepesh X VenereSpainOnyama Limba UNQUALIFIED
Jeanfrancois T OstroskyRussiaElwin Sharvill NEGOTIATION
Isabel Y OldroydItalyStephen Shaw UNQUALIFIED
Ricardo S NickaFranceBernardo Dominic RENEWAL
Leja X SergiGermanyOnyama Limba PROPOSAL
Arvin Z GlickAustraliaAnna Fali PROPOSAL
Sinclair B DoeFranceAsiya Javayant UNQUALIFIED
Julie C CaudyJapanBernardo Dominic UNQUALIFIED
Costa H RimCanadaAsiya Javayant NEW
Greenwood C WhobreyArgentinaStephen Shaw UNQUALIFIED
Aika B OstroskyJapanIvan Magalhaes PROPOSAL
Ricardo K VenereUnited KingdomAmy Elsner UNQUALIFIED
Antonio E DilliardCanadaIoni Bowcher PROPOSAL
Tony A MarrierGermanyBernardo Dominic UNQUALIFIED
Claire R OldroydBrazilBernardo Dominic PROPOSAL
Julie S MacleadCanadaAnna Fali NEGOTIATION
Jennifer B MaletCanadaOnyama Limba RENEWAL
Morrow Y DilliardFranceIvan Magalhaes NEW
Faith D OstroskySpainIvan Magalhaes QUALIFIED
Deepesh E WieserUnited KingdomOnyama Limba QUALIFIED
Deepesh I NickaBrazilOnyama Limba NEGOTIATION
Jeanfrancois S SergiGermanyOnyama Limba NEGOTIATION
Aika N GauchoUnited KingdomIoni Bowcher QUALIFIED
Silvio W MaletGermanyAsiya Javayant NEGOTIATION
Ivar L ButtItalyBernardo Dominic NEGOTIATION
Deepesh O RulapaughAustraliaXuxue Feng UNQUALIFIED
Rodrigues F PoquetteSpainBernardo Dominic NEW
Darci F PaprockiCanadaOnyama Limba PROPOSAL
Isabel D SchemmerItalyAmy Elsner PROPOSAL
Jeanfrancois M WaycottGermanyIvan Magalhaes NEW
Maisha C RulapaughGermanyStephen Shaw PROPOSAL
Kaitlin Y CaldareraGermanyOnyama Limba QUALIFIED
Clifford X DarakjyFranceBernardo Dominic UNQUALIFIED
Aditya L SlusarskiRussiaAmy Elsner RENEWAL
Ashley K FollerIndiaIvan Magalhaes PROPOSAL
Aditya D MaletArgentinaIvan Magalhaes NEW
Faith N IturbideJapanIoni Bowcher QUALIFIED
Cody K FlosiGermanyIoni Bowcher NEW
Clifford M WhobreyAustraliaIoni Bowcher QUALIFIED
Leon N DarakjyGermanyIoni Bowcher PROPOSAL
Jefferson L DarakjyAustraliaAsiya Javayant NEGOTIATION
Jones B RimBrazilIvan Magalhaes QUALIFIED
Julie E GauchoGermanyAmy Elsner UNQUALIFIED
Mayumi A IturbideBrazilAnna Fali NEGOTIATION
Jefferson W InouyeUnited KingdomAsiya Javayant QUALIFIED
Munro H WieserSpainAsiya Javayant PROPOSAL
Frozen Columns
Name
Antonio J Bowley
Murillo I Ferencz
Julie Q Flosi
Mujtaba C Flosi
Antonio C Waycott
Murillo Z Foller
Aruna X Darakjy
Deepesh E Campain
Kadeem A Malet
Claire N Stockham
Isabel O Poquette
Ivar H Tollner
Tony A Paprocki
Morrow U Briddick
Misaki M Maclead
Silvio M Dilliard
Claire Q Doe
Jennifer V Inouye
Antonio H Saylors
Jefferson O Iturbide
Isabel A Waycott
Adams U Stockham
Cody S Maclead
Rodrigues G Maclead
Morrow R Schemmer
Emily W Foller
Jones X Kolmetz
Leon M Perin
Mayumi D Slusarski
Jefferson S Nicka
Francesco T Nicka
Kadeem K Oldroyd
Mujtaba T Garufi
Salvatore S Kolmetz
Arvin N Foller
Arvin V Royster
Leja H Tollner
Leja A Figeroa
Maria F Caudy
Chavez W Kolmetz
Greenwood L Bolognia
Izzy A Maclead
Maria Z Venere
Alejandro L Royster
Julie T Ferencz
Ricardo F Dilliard
Izzy B Rim
Ashley K Gillian
Silvio C Chui
Nicolas M Sergi
IdCountryDate
1000Italy2024-06-10
1001India2024-06-05
1002Italy2024-06-13
1003Australia2024-06-06
1004Russia2024-06-05
1005France2024-06-14
1006Spain2024-06-08
1007United Kingdom2024-06-14
1008India2024-06-21
1009Australia2024-06-10
1010Canada2024-06-07
1011Argentina2024-06-19
1012India2024-06-05
1013Canada2024-06-20
1014India2024-06-16
1015Germany2024-06-22
1016Canada2024-05-26
1017Spain2024-06-22
1018Russia2024-06-09
1019Spain2024-06-14
1020Brazil2024-06-02
1021United Kingdom2024-05-25
1022Spain2024-05-29
1023Canada2024-05-27
1024Australia2024-06-07
1025United Kingdom2024-06-16
1026Russia2024-06-09
1027Brazil2024-06-12
1028Spain2024-06-02
1029Russia2024-06-15
1030Argentina2024-06-13
1031Russia2024-06-09
1032India2024-06-23
1033Russia2024-06-15
1034Spain2024-06-04
1035Australia2024-05-28
1036Argentina2024-06-22
1037Canada2024-06-19
1038Japan2024-06-23
1039India2024-05-30
1040Germany2024-05-31
1041Spain2024-05-31
1042Argentina2024-06-21
1043Canada2024-06-10
1044Argentina2024-05-31
1045Japan2024-05-27
1046Canada2024-06-16
1047India2024-06-13
1048Italy2024-06-20
1049Japan2024-06-04

On-Demand Data

NameIdCountryDate
Johnson K Royster1000Germany2024-06-07
Arvin X Amigon1001Germany2024-06-05
Clifford H Sergi1002India2024-05-29
Emily Q Amigon1003Italy2024-05-25
Aditya A Caldarera1004France2024-05-31
Tony X Oldroyd1005Canada2024-06-17
Cody B Nestle1006India2024-06-09
Jefferson P Flosi1007Spain2024-06-22
Maria D Gaucho1008United Kingdom2024-05-27
Alejandro A Rulapaugh1009United Kingdom2024-06-08
Claire N Saylors1010Russia2024-06-04
Nicolas B Garufi1011United Kingdom2024-05-30
Chavez G Shinko1012Brazil2024-06-07
Morrow H Kolmetz1013France2024-06-16
Clifford C Rim1014Canada2024-05-30
Ashley K Inouye1015Japan2024-06-18
Sinclair B Darakjy1016Italy2024-06-04
Johnson Z Paprocki1017Spain2024-06-04
Deepesh D Kusko1018United Kingdom2024-05-31
David S Albares1019Spain2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio H StockhamCanadaIoni Bowcher QUALIFIED
Wickens G GlickFranceElwin Sharvill QUALIFIED
Jeanfrancois V DarakjyItalyIvan Magalhaes RENEWAL
Silvio C GlickBrazilElwin Sharvill RENEWAL
Jefferson C ChuiFranceIvan Magalhaes NEW
Chavez H KuskoItalyAnna Fali NEGOTIATION
Mayumi L KuskoArgentinaIoni Bowcher RENEWAL
James F OstroskyIndiaAmy Elsner PROPOSAL
Ashley Z CaldareraSpainIoni Bowcher QUALIFIED
Greenwood B NestleItalyAsiya Javayant RENEWAL
Ivar N MaletCanadaXuxue Feng PROPOSAL
Jeanfrancois B MarrierSpainXuxue Feng RENEWAL
Faith Z MaletIndiaAnna Fali UNQUALIFIED
Ashley L DilliardRussiaAmy Elsner QUALIFIED
Izzy G VenereRussiaIvan Magalhaes PROPOSAL
Cody B PerinCanadaElwin Sharvill NEW
Julie G NickaRussiaAnna Fali QUALIFIED
Leon H IturbideCanadaIvan Magalhaes UNQUALIFIED
Leja O NestleRussiaXuxue Feng UNQUALIFIED
Kadeem Z RoysterArgentinaXuxue Feng PROPOSAL
Misaki P BowleySpainIoni Bowcher QUALIFIED
Juan D CampainJapanIoni Bowcher NEW
Aika U NickaCanadaAnna Fali PROPOSAL
Morrow Z FollerRussiaOnyama Limba NEW
Aruna T BologniaRussiaIoni Bowcher UNQUALIFIED
Ashley Q MaletSpainStephen Shaw UNQUALIFIED
Jones J GillianSpainAmy Elsner PROPOSAL
Greenwood W CaldareraGermanyAnna Fali RENEWAL
Maria E DarakjyGermanyElwin Sharvill NEW
Misaki Z FollerArgentinaIoni Bowcher PROPOSAL
Greenwood Y KolmetzItalyOnyama Limba PROPOSAL
Aditya O DoeIndiaAsiya Javayant PROPOSAL
David S PaprockiArgentinaIoni Bowcher RENEWAL
Johnson Z NickaUnited KingdomIoni Bowcher QUALIFIED
Maria O FerenczFranceStephen Shaw NEGOTIATION
Johnson N GauchoCanadaAsiya Javayant UNQUALIFIED
Francesco T GauchoJapanBernardo Dominic QUALIFIED
Smith L RoysterArgentinaAmy Elsner RENEWAL
Salvatore Z FlosiUnited KingdomIvan Magalhaes NEW
David I PoquetteBrazilAnna Fali PROPOSAL

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